From a7b6ef08881b7731f5c892ec64a96182dd0fb2a2 Mon Sep 17 00:00:00 2001 From: Seven Du Date: Wed, 29 Aug 2012 11:35:32 +0800 Subject: [PATCH 001/629] FS-7500: [mod_fsv] fix fsv sample_count and mux of channels --- src/mod/applications/mod_fsv/mod_fsv.c | 29 +++++++++++++++++++++----- 1 file changed, 24 insertions(+), 5 deletions(-) diff --git a/src/mod/applications/mod_fsv/mod_fsv.c b/src/mod/applications/mod_fsv/mod_fsv.c index f95db036a2..78b61297a5 100644 --- a/src/mod/applications/mod_fsv/mod_fsv.c +++ b/src/mod/applications/mod_fsv/mod_fsv.c @@ -561,8 +561,8 @@ static switch_status_t fsv_file_open(switch_file_handle_t *handle, const char *p } handle->samples = 0; - handle->samplerate = 8000; - handle->channels = 1; + // handle->samplerate = 8000; + // handle->channels = 1; handle->format = 0; handle->sections = 0; handle->seekable = 0; @@ -690,19 +690,33 @@ end: static switch_status_t fsv_file_write(switch_file_handle_t *handle, void *data, size_t *len) { - size_t datalen = *len * 2; + uint32_t datalen = *len * sizeof(int16_t); size_t size; switch_status_t status; + int16_t *xdata = data; + int max_datasize = handle->samplerate / 8000 * 160; fsv_file_context *context = handle->private_info; - /* switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_ERROR, "writing: %ld\n", (long)(*len)); */ + /* switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_ERROR, "writing: %ld %d %x\n", (long)(*len), handle->channels, handle->flags); */ - if (*len > 160) { /* when sample rate is 8000 */ + if (*len > max_datasize) { switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_ERROR, "You are asking to write %d bytes of data which is not supported. Please set enable_file_write_buffering=false to use .fsv format\n", (int)(*len)); return SWITCH_STATUS_GENERR; } + if (handle->channels > 1) { + int i, j; + int32_t mixed = 0; + for (i=0; i<*len; i++) { + for (j = 0; j < handle->channels; j++) { + mixed += xdata[i * handle->channels + j]; + } + switch_normalize_to_16bit(mixed); + xdata[i] = (uint16_t)mixed; + } + } + switch_mutex_lock(context->mutex); size = sizeof(datalen); @@ -715,6 +729,8 @@ static switch_status_t fsv_file_write(switch_file_handle_t *handle, void *data, status = switch_file_write(context->fd, data, len); switch_mutex_unlock(context->mutex); + handle->sample_count += *len / sizeof(int16_t); + return status; } @@ -740,6 +756,9 @@ static switch_status_t fsv_file_write_video(switch_file_handle_t *handle, void * status = switch_file_write(context->fd, data, len); switch_mutex_unlock(context->mutex); + *len /= 2; + handle->sample_count += *len; + return status; } From 67334bea270a0d1646534731854d6c6eec311753 Mon Sep 17 00:00:00 2001 From: Seven Du Date: Fri, 10 Aug 2012 15:35:29 +0800 Subject: [PATCH 002/629] FS-7513: [mod_conference] video recording in conference conference 3000 record /tmp/testrecord.fsv call 9194 try to playback mp4 should also work with the mp4 file format, will be available soon --- .../mod_conference/mod_conference.c | 50 +++++++++++++++++-- 1 file changed, 46 insertions(+), 4 deletions(-) diff --git a/src/mod/applications/mod_conference/mod_conference.c b/src/mod/applications/mod_conference/mod_conference.c index cf08f0da43..a8d31b56c8 100644 --- a/src/mod/applications/mod_conference/mod_conference.c +++ b/src/mod/applications/mod_conference/mod_conference.c @@ -448,6 +448,8 @@ typedef struct conference_obj { struct vid_helper mh; conference_record_t *rec_node_head; int last_speech_channels; + switch_file_handle_t *record_fh; + int video_recording; } conference_obj_t; /* Relationship with another member */ @@ -2412,7 +2414,7 @@ static switch_status_t conference_add_member(conference_obj_t *conference, confe //switch_live_array_add_alias(conference->la, switch_core_session_get_uuid(member->session), "conference"); adv_la(conference, member, SWITCH_TRUE); switch_live_array_add(conference->la, switch_core_session_get_uuid(member->session), -1, &member->json, SWITCH_FALSE); - + } @@ -2427,7 +2429,7 @@ static switch_status_t conference_add_member(conference_obj_t *conference, confe switch_mutex_unlock(conference->mutex); status = SWITCH_STATUS_SUCCESS; - + return status; @@ -2452,7 +2454,7 @@ static void conference_set_video_floor_holder(conference_obj_t *conference, conf return; } else { old_member = conference->video_floor_holder; - switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_DEBUG1, "Dropping video floor %s\n", + switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_DEBUG1, "Dropping video floor %s\n", switch_channel_get_name(old_member->channel)); } } @@ -2469,7 +2471,7 @@ static void conference_set_video_floor_holder(conference_obj_t *conference, conf } if (member) { - switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_DEBUG1, "Adding video floor %s\n", + switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_DEBUG1, "Adding video floor %s\n", switch_channel_get_name(member->channel)); //switch_channel_set_flag(member->channel, CF_VIDEO_PASSIVE); switch_core_session_refresh_video(member->session); @@ -2994,6 +2996,23 @@ static void *SWITCH_THREAD_FUNC conference_video_thread_run(switch_thread_t *thr switch_core_session_rwunlock(isession); } + /* seems we are recording a video file */ + switch_mutex_lock(conference->mutex); + if (conference->record_fh) { + switch_size_t len = vid_frame->packetlen; + if (!conference->video_recording) { + want_refresh++; + conference->video_recording++; + } else { + if (len > 14) { // 14 = 12(rtp) + 2(cng?) + switch_core_file_write_video(conference->record_fh, vid_frame->packet, &len); + } + } + } else { + conference->video_recording = 0; + } + switch_mutex_unlock(conference->mutex); + if (want_refresh && session) { switch_core_session_refresh_video(session); want_refresh = 0; @@ -5079,6 +5098,11 @@ static void *SWITCH_THREAD_FUNC conference_record_thread_run(switch_thread_t *th switch_size_t data_buf_len; switch_event_t *event; switch_size_t len = 0; + char *ext; + + data_buf_len = samples * sizeof(int16_t); + + switch_zmalloc(data_buf, data_buf_len); if (switch_thread_rwlock_tryrdlock(conference->rwlock) != SWITCH_STATUS_SUCCESS) { switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_CRIT, "Read Lock Fail\n"); @@ -5137,6 +5161,15 @@ static void *SWITCH_THREAD_FUNC conference_record_thread_run(switch_thread_t *th fh.pre_buffer_datalen = SWITCH_DEFAULT_FILE_BUFFER_LEN; + /* video recording, only for testing at this time*/ + if ((ext = strrchr(rec->path, '.')) != NULL) { + ext++; + if (!strncasecmp(ext, "fsv", 3) || !strncasecmp(ext, "mp4", 3)) { + switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_WARNING, "Disable buffer for video recording\n"); + fh.pre_buffer_datalen = 0; + } + } + if (switch_core_file_open(&fh, rec->path, (uint8_t) conference->channels, conference->rate, SWITCH_FILE_FLAG_WRITE | SWITCH_FILE_DATA_SHORT, rec->pool) != SWITCH_STATUS_SUCCESS) { @@ -5155,6 +5188,12 @@ static void *SWITCH_THREAD_FUNC conference_record_thread_run(switch_thread_t *th goto end; } + switch_mutex_lock(conference->mutex); + if (!conference->record_fh) conference->record_fh = &fh; + if (conference->video_floor_holder) { + switch_core_session_refresh_video(conference->video_floor_holder->session); + } + switch_mutex_unlock(conference->mutex); if (switch_core_timer_init(&timer, conference->timer_name, conference->interval, samples, rec->pool) == SWITCH_STATUS_SUCCESS) { switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_DEBUG, "Setup timer success interval: %u samples: %u\n", conference->interval, samples); @@ -5258,6 +5297,9 @@ static void *SWITCH_THREAD_FUNC conference_record_thread_run(switch_thread_t *th switch_buffer_destroy(&member->mux_buffer); switch_clear_flag_locked(member, MFLAG_RUNNING); if (switch_test_flag((&fh), SWITCH_FILE_OPEN)) { + switch_mutex_lock(conference->mutex); + conference->record_fh = NULL; + switch_mutex_unlock(conference->mutex); switch_core_file_close(&fh); } switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_DEBUG, "Recording of %s Stopped\n", rec->path); From 90b654e923f321349d03779f4c8b402f5f6df869 Mon Sep 17 00:00:00 2001 From: Seven Du Date: Tue, 28 Aug 2012 16:12:12 +0800 Subject: [PATCH 003/629] FS-7502: add simple video media bug implementation, should work with .fsv, be sure to set enable_file_write_buffering=false Conflicts: src/include/switch_types.h --- src/include/switch_types.h | 3 ++- src/switch_core_io.c | 43 ++++++++++++++++++++++++++++++++++++++ src/switch_ivr_async.c | 18 ++++++++++++++++ 3 files changed, 63 insertions(+), 1 deletion(-) diff --git a/src/include/switch_types.h b/src/include/switch_types.h index e0d11ca934..adedb0b1be 100644 --- a/src/include/switch_types.h +++ b/src/include/switch_types.h @@ -483,7 +483,8 @@ typedef enum { SWITCH_ABC_TYPE_READ_PING, SWITCH_ABC_TYPE_TAP_NATIVE_READ, SWITCH_ABC_TYPE_TAP_NATIVE_WRITE, - SWITCH_ABC_TYPE_CLOSE + SWITCH_ABC_TYPE_CLOSE, + SWITCH_ABC_TYPE_READ_VIDEO_PING } switch_abc_type_t; typedef struct { diff --git a/src/switch_core_io.c b/src/switch_core_io.c index 4c39bbbb42..35d348e751 100644 --- a/src/switch_core_io.c +++ b/src/switch_core_io.c @@ -111,6 +111,49 @@ SWITCH_DECLARE(switch_status_t) switch_core_session_read_video_frame(switch_core goto done; } + if (session->bugs) { + switch_media_bug_t *bp; + switch_bool_t ok = SWITCH_TRUE; + int prune = 0; + switch_thread_rwlock_rdlock(session->bug_rwlock); + for (bp = session->bugs; bp; bp = bp->next) { + if (switch_channel_test_flag(session->channel, CF_PAUSE_BUGS) && !switch_core_media_bug_test_flag(bp, SMBF_NO_PAUSE)) { + continue; + } + + if (!switch_channel_test_flag(session->channel, CF_ANSWERED) && switch_core_media_bug_test_flag(bp, SMBF_ANSWER_REQ)) { + continue; + } + + if (switch_test_flag(bp, SMBF_PRUNE)) { + prune++; + continue; + } + + if (bp->ready && switch_test_flag(bp, SMBF_READ_PING)) { + switch_mutex_lock(bp->read_mutex); + bp->ping_frame = *frame; + if (bp->callback) { + if (bp->callback(bp, bp->user_data, SWITCH_ABC_TYPE_READ_VIDEO_PING) == SWITCH_FALSE + || (bp->stop_time && bp->stop_time <= switch_epoch_time_now(NULL))) { + ok = SWITCH_FALSE; + } + } + bp->ping_frame = NULL;; + switch_mutex_unlock(bp->read_mutex); + } + + if (ok == SWITCH_FALSE) { + switch_set_flag(bp, SMBF_PRUNE); + prune++; + } + } + switch_thread_rwlock_unlock(session->bug_rwlock); + if (prune) { + switch_core_media_bug_prune(session); + } + } + done: return status; diff --git a/src/switch_ivr_async.c b/src/switch_ivr_async.c index bc4d724a50..a8244076a8 100644 --- a/src/switch_ivr_async.c +++ b/src/switch_ivr_async.c @@ -34,6 +34,7 @@ */ #include +#include "private/switch_core_pvt.h" #include #include @@ -1478,6 +1479,23 @@ static switch_bool_t record_callback(switch_media_bug_t *bug, void *user_data, s } } break; + case SWITCH_ABC_TYPE_READ_VIDEO_PING: + + if (rh->fh) { + switch_size_t len; + + if (!bug->ping_frame) break; + + len = bug->ping_frame->packetlen; + + if (len && switch_core_file_write_video(rh->fh, bug->ping_frame->packet, &len) != SWITCH_STATUS_SUCCESS && rh->hangup_on_error) { + switch_log_printf(SWITCH_CHANNEL_SESSION_LOG(session), SWITCH_LOG_ERROR, "Error writing video to %s\n", rh->file); + switch_channel_hangup(channel, SWITCH_CAUSE_DESTINATION_OUT_OF_ORDER); + switch_core_session_reset(session, SWITCH_TRUE, SWITCH_TRUE); + return SWITCH_FALSE; + } + } + break; case SWITCH_ABC_TYPE_WRITE: default: break; From b23ba52807a8e641d26b2ca3ea1daec2d69a9d10 Mon Sep 17 00:00:00 2001 From: Seven Du Date: Wed, 29 Aug 2012 12:59:21 +0800 Subject: [PATCH 004/629] FS-7502: video eavesdrop --- src/switch_ivr_async.c | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/src/switch_ivr_async.c b/src/switch_ivr_async.c index a8244076a8..e2705f3614 100644 --- a/src/switch_ivr_async.c +++ b/src/switch_ivr_async.c @@ -1651,7 +1651,17 @@ static switch_bool_t eavesdrop_callback(switch_media_bug_t *bug, void *user_data } } break; + case SWITCH_ABC_TYPE_READ_VIDEO_PING: + if (!bug->ping_frame) break; + if (ep->eavesdropper && switch_core_session_read_lock(ep->eavesdropper) == SWITCH_STATUS_SUCCESS) { + switch_channel_t *channel = switch_core_session_get_channel(ep->eavesdropper); + if (switch_channel_test_flag(channel, CF_VIDEO)) { + switch_core_session_write_video_frame(ep->eavesdropper, bug->ping_frame, SWITCH_IO_FLAG_NONE, 0); + } + switch_core_session_rwunlock(ep->eavesdropper); + } + break; default: break; } From dcca71d97d745d527cad72a2ee0a4d518b516947 Mon Sep 17 00:00:00 2001 From: Seven Du Date: Wed, 17 Oct 2012 09:02:31 +0800 Subject: [PATCH 005/629] FS-7502: refresh video on video record or eavesdrop --- src/switch_ivr_async.c | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/src/switch_ivr_async.c b/src/switch_ivr_async.c index e2705f3614..85dcc66ad5 100644 --- a/src/switch_ivr_async.c +++ b/src/switch_ivr_async.c @@ -1943,6 +1943,13 @@ SWITCH_DECLARE(switch_status_t) switch_ivr_eavesdrop_session(switch_core_session msg.message_id = SWITCH_MESSAGE_INDICATE_DISPLAY; switch_core_session_receive_message(session, &msg); + if (switch_channel_test_flag(tchannel, CF_VIDEO)) { + + msg.message_id = SWITCH_MESSAGE_INDICATE_VIDEO_REFRESH_REQ; + + switch_core_session_receive_message(tsession, &msg); + } + while (switch_channel_up_nosig(tchannel) && switch_channel_ready(channel)) { uint32_t len = sizeof(buf); switch_event_t *event = NULL; @@ -2435,6 +2442,15 @@ SWITCH_DECLARE(switch_status_t) switch_ivr_record_session(switch_core_session_t switch_channel_set_private(channel, file, bug); + if (switch_channel_test_flag(channel, CF_VIDEO)) { + switch_core_session_message_t msg = { 0 }; + + msg.from = __FILE__; + msg.message_id = SWITCH_MESSAGE_INDICATE_VIDEO_REFRESH_REQ; + + switch_core_session_receive_message(session, &msg); + } + return SWITCH_STATUS_SUCCESS; } From 416745e2cd8b6ab44c08488fb85b1114f66a7f2f Mon Sep 17 00:00:00 2001 From: Seven Du Date: Fri, 10 Jan 2014 12:00:01 +0800 Subject: [PATCH 006/629] FS-7500: move video bridge logic to switch_core_media so possible to do transcoding --- src/include/switch_types.h | 1 + src/switch_core_media.c | 125 ++++++++++++++++++++++++++++++++++++- src/switch_ivr_bridge.c | 15 +++++ 3 files changed, 140 insertions(+), 1 deletion(-) diff --git a/src/include/switch_types.h b/src/include/switch_types.h index adedb0b1be..2b19038907 100644 --- a/src/include/switch_types.h +++ b/src/include/switch_types.h @@ -1446,6 +1446,7 @@ typedef enum { CF_VIDEO_BREAK, CF_AUDIO_PAUSE, CF_VIDEO_PAUSE, + CF_VIDEO_BRIDGE, CF_BYPASS_MEDIA_AFTER_HOLD, CF_HANGUP_HELD, CF_CONFERENCE_RESET_MEDIA, diff --git a/src/switch_core_media.c b/src/switch_core_media.c index 4128b50f69..f4f970ed4a 100644 --- a/src/switch_core_media.c +++ b/src/switch_core_media.c @@ -4344,6 +4344,121 @@ SWITCH_DECLARE(int) switch_core_media_toggle_hold(switch_core_session_t *session return changed; } +#define BUF_SIZE (352 * 288 * 3 / 2 * 4) // big enough for 4CIF, looks like C doesn't like huge array +#define FPS 15 +#define WIDTH 352 +#define HEIGHT 288 +#define SIZE WIDTH * HEIGHT + +static switch_status_t video_bridge_callback(switch_core_session_t *session, switch_bool_t video_transcoding, uint32_t *ts) +{ + switch_frame_t *read_frame; + switch_status_t status = SWITCH_STATUS_SUCCESS; + switch_core_session_t *session_b = switch_channel_get_private(session->channel, "_video_bridged_session_"); + switch_codec_t *codec, *other_codec; + + status = switch_core_session_read_video_frame(session, &read_frame, SWITCH_IO_FLAG_NONE, 0); + + if (!SWITCH_READ_ACCEPTABLE(status)) { + switch_cond_next(); + return status; + } + + if (switch_channel_test_flag(session->channel, CF_VIDEO_REFRESH_REQ)) { + switch_core_session_refresh_video(session); + switch_channel_clear_flag(session->channel, CF_VIDEO_REFRESH_REQ); + } + + if (switch_test_flag(read_frame, SFF_CNG)) { + return status; + } + + if (!session_b || !switch_channel_up_nosig(session_b->channel)) { // echo and return + switch_core_session_write_video_frame(session, read_frame, SWITCH_IO_FLAG_NONE, 0); + return status; + } + + codec = read_frame->codec; + other_codec = session_b->video_write_codec; + + if (codec->implementation->impl_id == other_codec->implementation->impl_id) { + switch_core_session_write_video_frame(session_b, read_frame, SWITCH_IO_FLAG_NONE, 0); + return status; + } + + if (!video_transcoding) { // echo back + switch_core_session_write_video_frame(session, read_frame, SWITCH_IO_FLAG_NONE, 0); + return status; + } else { + uint8_t raw_buff[BUF_SIZE]; + uint8_t rtp_buff[1500] = { 0 }; + uint32_t decoded_rate = 0; + uint32_t decoded_data_len = BUF_SIZE; + uint32_t flag = 0; + uint32_t encoded_data_len = 1500; + uint32_t encoded_rate = 0; + switch_frame_t write_frame; + +#if 0 + switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_ERROR, "%d/%s != %d/%s need transcoding!!!\n", + codec->implementation->impl_id, codec->implementation->iananame, + other_codec->implementation->impl_id, other_codec->implementation->iananame); +#endif + // uncomment to test only one leg + // if (!strcmp(codec->implementation->iananame, "VP8")) return status; + // if (!strcmp(codec->implementation->iananame, "H264")) return status; + + codec->cur_frame = read_frame; + switch_core_codec_decode(codec, NULL, read_frame->data, read_frame->datalen, 0, raw_buff, &decoded_data_len, &decoded_rate, &flag); + + if (decoded_data_len < 3) return SWITCH_STATUS_SUCCESS; + + decoded_data_len = 152064; + + switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_ERROR, "decoded_data_len: %d %s\n", decoded_data_len, codec->implementation->iananame); + + write_frame.packet = rtp_buff; + write_frame.data = rtp_buff + 12; + + encoded_data_len = 1500; + switch_core_codec_encode(other_codec, NULL, raw_buff, decoded_data_len, 0, rtp_buff+12, &encoded_data_len, &encoded_rate, &flag); + + while(encoded_data_len) { + switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_ERROR, "encoded: %s [%d] flag=%d ts=%u\n", other_codec->implementation->iananame, encoded_data_len, flag, *ts); + + write_frame.datalen = encoded_data_len; + write_frame.packetlen = write_frame.datalen + 12; + write_frame.m = flag; + write_frame.timestamp = *ts; + if (write_frame.m) *ts += 90000 / FPS; + + if (1) { + /* set correct mark and ts */ + switch_rtp_hdr_t *rtp = (switch_rtp_hdr_t *)write_frame.packet; + + memset(rtp, 0, 12); + rtp->version = 2; + rtp->m = write_frame.m; + rtp->ts = htonl(write_frame.timestamp); + rtp->ssrc = (uint32_t) ((intptr_t) rtp + (uint32_t) switch_epoch_time_now(NULL)); + + switch_set_flag(&write_frame, SFF_RAW_RTP); + } + + // switch_rtp_set_flag(session_b->media_handle->engines[SWITCH_MEDIA_TYPE_VIDEO].rtp_session, SWITCH_RTP_FLAG_DEBUG_RTP_WRITE); + switch_rtp_set_flag(session_b->media_handle->engines[SWITCH_MEDIA_TYPE_VIDEO].rtp_session, SWITCH_RTP_FLAG_RAW_WRITE); + + switch_core_session_write_video_frame(session_b, &write_frame, SWITCH_IO_FLAG_NONE, 0); + + encoded_data_len = 1500; + switch_core_codec_encode(other_codec, NULL, NULL, 0, 0, rtp_buff+12, &encoded_data_len, &encoded_rate, &flag); + } + } + + return status; +} + + static void *SWITCH_THREAD_FUNC video_helper_thread(switch_thread_t *thread, void *obj) { struct media_helper *mh = obj; @@ -4352,6 +4467,8 @@ static void *SWITCH_THREAD_FUNC video_helper_thread(switch_thread_t *thread, voi switch_status_t status; switch_frame_t *read_frame; switch_media_handle_t *smh; + uint32_t rtp_ts = 0; + switch_bool_t video_transcoding = SWITCH_FALSE; if (!(smh = session->media_handle)) { return NULL; @@ -4365,6 +4482,7 @@ static void *SWITCH_THREAD_FUNC video_helper_thread(switch_thread_t *thread, voi switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_DEBUG, "%s Video thread started. Echo is %s\n", switch_channel_get_name(session->channel), switch_channel_test_flag(channel, CF_VIDEO_ECHO) ? "on" : "off"); switch_core_session_refresh_video(session); + video_transcoding = switch_true(switch_channel_get_variable(channel, "video_transcoding")); while (switch_channel_up_nosig(channel)) { @@ -4375,6 +4493,7 @@ static void *SWITCH_THREAD_FUNC video_helper_thread(switch_thread_t *thread, voi switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_DEBUG, "%s Video thread resumed Echo is %s\n", switch_channel_get_name(session->channel), switch_channel_test_flag(channel, CF_VIDEO_ECHO) ? "on" : "off"); switch_core_session_refresh_video(session); + video_transcoding = switch_true(switch_channel_get_variable(channel, "video_transcoding")); } if (switch_channel_test_flag(channel, CF_VIDEO_PASSIVE)) { @@ -4386,7 +4505,11 @@ static void *SWITCH_THREAD_FUNC video_helper_thread(switch_thread_t *thread, voi continue; } - + if (switch_channel_test_flag(channel, CF_VIDEO_BRIDGE)) { + video_bridge_callback(session, video_transcoding, &rtp_ts); + continue; + } + status = switch_core_session_read_video_frame(session, &read_frame, SWITCH_IO_FLAG_NONE, 0); if (!SWITCH_READ_ACCEPTABLE(status)) { diff --git a/src/switch_ivr_bridge.c b/src/switch_ivr_bridge.c index 360223c30f..51f0d365b2 100644 --- a/src/switch_ivr_bridge.c +++ b/src/switch_ivr_bridge.c @@ -46,6 +46,7 @@ struct vid_helper { int up; }; +#if 0 static void *SWITCH_THREAD_FUNC video_bridge_thread(switch_thread_t *thread, void *obj) { struct vid_helper *vh = obj; @@ -108,9 +109,17 @@ static void *SWITCH_THREAD_FUNC video_bridge_thread(switch_thread_t *thread, voi vh->up = 0; return NULL; } +#endif static switch_thread_t *launch_video(struct vid_helper *vh) { + switch_channel_t *channel = switch_core_session_get_channel(vh->session_a); + + switch_channel_set_private(channel, "_video_bridged_session_", vh->session_b); + switch_channel_set_flag(channel, CF_VIDEO_BRIDGE); + return NULL; + +#if 0 switch_thread_t *thread; switch_threadattr_t *thd_attr = NULL; @@ -118,6 +127,8 @@ static switch_thread_t *launch_video(struct vid_helper *vh) switch_threadattr_stacksize_set(thd_attr, SWITCH_THREAD_STACKSIZE); switch_thread_create(&thread, thd_attr, video_bridge_thread, vh, switch_core_session_get_pool(vh->session_a)); return thread; +#endif + } #endif @@ -590,6 +601,10 @@ static void *audio_bridge_thread(switch_thread_t *thread, void *obj) end_of_bridge_loop: #ifdef SWITCH_VIDEO_IN_THREADS + + switch_channel_clear_flag(chan_a, CF_VIDEO_BRIDGE); + switch_channel_clear_flag(chan_b, CF_VIDEO_BRIDGE); + if (vid_thread) { vh.up = -1; switch_channel_set_flag(chan_a, CF_NOT_READY); From 998d933671b709acbe0d76add1da9403871c98f1 Mon Sep 17 00:00:00 2001 From: Seven Du Date: Wed, 25 Sep 2013 02:39:29 +0800 Subject: [PATCH 007/629] FS-7500: initial idea to decode video in core --- src/include/private/switch_core_pvt.h | 12 ++++++++++++ src/include/switch_module_interfaces.h | 11 +++++++++++ src/include/switch_types.h | 16 +++++++++++----- src/switch_core_io.c | 2 -- src/switch_core_media.c | 13 +++++-------- src/switch_core_session.c | 13 +++++++++++++ 6 files changed, 52 insertions(+), 15 deletions(-) diff --git a/src/include/private/switch_core_pvt.h b/src/include/private/switch_core_pvt.h index 4b8be156b8..9acc2a2741 100644 --- a/src/include/private/switch_core_pvt.h +++ b/src/include/private/switch_core_pvt.h @@ -134,6 +134,8 @@ struct switch_core_session { switch_mutex_t *resample_mutex; switch_mutex_t *codec_read_mutex; switch_mutex_t *codec_write_mutex; + switch_mutex_t *video_codec_read_mutex; + switch_mutex_t *video_codec_write_mutex; switch_thread_cond_t *cond; switch_mutex_t *frame_read_mutex; @@ -166,6 +168,16 @@ struct switch_core_session { switch_frame_t enc_read_frame; uint8_t raw_read_buf[SWITCH_RECOMMENDED_BUFFER_SIZE]; uint8_t enc_read_buf[SWITCH_RECOMMENDED_BUFFER_SIZE]; + + /* video frame.data being trated differently than audio, allocate a dynamic data buffer if necessary*/ + switch_buffer_t *video_raw_write_buffer; + switch_frame_t video_raw_write_frame; + // switch_frame_t video_enc_write_frame; + + switch_buffer_t *video_raw_read_buffer; + switch_frame_t video_raw_read_frame; + // switch_frame_t video_enc_read_frame; + switch_codec_t bug_codec; uint32_t read_frame_count; uint32_t track_duration; diff --git a/src/include/switch_module_interfaces.h b/src/include/switch_module_interfaces.h index e70e663dd9..84c4b135d6 100644 --- a/src/include/switch_module_interfaces.h +++ b/src/include/switch_module_interfaces.h @@ -611,6 +611,13 @@ struct switch_codec_fmtp { }; +struct switch_picture { + uint32_t width; /* the picture width */ + uint32_t height; /* the picture height */ + uint8_t *planes[4]; /* pointer to the top left pixel for each plane */ + uint32_t stride[4]; /* stride between rows for each plane */ +}; + /*! an abstract handle to a codec module */ struct switch_codec { /*! the codec interface table this handle uses */ @@ -632,6 +639,10 @@ struct switch_codec { struct switch_codec *next; switch_core_session_t *session; switch_frame_t *cur_frame; + /*! raw picture for encode */ + switch_picture_t enc_picture; + /*! decoded picture */ + switch_picture_t dec_picture; }; /*! \brief A table of settings and callbacks that define a paticular implementation of a codec */ diff --git a/src/include/switch_types.h b/src/include/switch_types.h index 2b19038907..50c841ae44 100644 --- a/src/include/switch_types.h +++ b/src/include/switch_types.h @@ -541,6 +541,7 @@ SWITCH_DECLARE_DATA extern switch_filenames SWITCH_GLOBAL_filenames; #define SWITCH_MAX_SAMPLE_LEN 48 #define SWITCH_BYTES_PER_SAMPLE 2 /* slin is 2 bytes per sample */ #define SWITCH_RECOMMENDED_BUFFER_SIZE 8192 +#define SWITCH_RECOMMENDED_VIDEO_BUFFER_SIZE 4096 * 1024 /* Fixme: Just Make sure it's big enough for now */ #define SWITCH_MAX_CODECS 50 #define SWITCH_MAX_STATE_HANDLERS 30 #define SWITCH_CORE_QUEUE_LEN 100000 @@ -1472,10 +1473,12 @@ typedef enum {
 SFF_CNG        = (1 <<  0) - Frame represents comfort noise
 SFF_RAW_RTP    = (1 <<  1) - Frame has raw rtp accessible
-SFF_RTP_HEADER = (1 << 2)  - Get the rtp header from the frame header
-SFF_PLC        = (1 << 3)  - Frame has generated PLC data
-SFF_RFC2833    = (1 << 4)  - Frame has rfc2833 dtmf data
-SFF_DYNAMIC    = (1 << 5)  - Frame is dynamic and should be freed
+SFF_RTP_HEADER = (1 <<  2) - Get the rtp header from the frame header
+SFF_PLC        = (1 <<  3) - Frame has generated PLC data
+SFF_RFC2833    = (1 <<  4) - Frame has rfc2833 dtmf data
+SFF_DYNAMIC    = (1 <<  5) - Frame is dynamic and should be freed
+SFF_MARKER     = (1 << 11) - Frame flag has Marker set, only set by encoder
+SFF_WAIT_KEY_FRAME = (1 << 12) - Need a key from before could decode
 
*/ typedef enum { @@ -1490,7 +1493,9 @@ typedef enum { SFF_ZRTP = (1 << 7), SFF_UDPTL_PACKET = (1 << 8), SFF_NOT_AUDIO = (1 << 9), - SFF_RTCP = (1 << 10) + SFF_RTCP = (1 << 10), + SFF_MARKER = (1 << 11), + SFF_WAIT_KEY_FRAME = (1 << 12) } switch_frame_flag_enum_t; typedef uint32_t switch_frame_flag_t; @@ -2090,6 +2095,7 @@ typedef struct switch_caller_extension switch_caller_extension_t; typedef struct switch_caller_application switch_caller_application_t; typedef struct switch_state_handler_table switch_state_handler_table_t; typedef struct switch_timer switch_timer_t; +typedef struct switch_picture switch_picture_t; typedef struct switch_codec switch_codec_t; typedef struct switch_core_thread_session switch_core_thread_session_t; typedef struct switch_codec_implementation switch_codec_implementation_t; diff --git a/src/switch_core_io.c b/src/switch_core_io.c index 35d348e751..7bda3d05d3 100644 --- a/src/switch_core_io.c +++ b/src/switch_core_io.c @@ -104,8 +104,6 @@ SWITCH_DECLARE(switch_status_t) switch_core_session_read_video_frame(switch_core goto done; } - switch_assert(*frame != NULL); - if (switch_test_flag(*frame, SFF_CNG)) { status = SWITCH_STATUS_SUCCESS; goto done; diff --git a/src/switch_core_media.c b/src/switch_core_media.c index f4f970ed4a..de57966395 100644 --- a/src/switch_core_media.c +++ b/src/switch_core_media.c @@ -4346,9 +4346,6 @@ SWITCH_DECLARE(int) switch_core_media_toggle_hold(switch_core_session_t *session #define BUF_SIZE (352 * 288 * 3 / 2 * 4) // big enough for 4CIF, looks like C doesn't like huge array #define FPS 15 -#define WIDTH 352 -#define HEIGHT 288 -#define SIZE WIDTH * HEIGHT static switch_status_t video_bridge_callback(switch_core_session_t *session, switch_bool_t video_transcoding, uint32_t *ts) { @@ -4397,7 +4394,7 @@ static switch_status_t video_bridge_callback(switch_core_session_t *session, swi uint32_t flag = 0; uint32_t encoded_data_len = 1500; uint32_t encoded_rate = 0; - switch_frame_t write_frame; + switch_frame_t write_frame = { 0 }; #if 0 switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_ERROR, "%d/%s != %d/%s need transcoding!!!\n", @@ -4413,13 +4410,13 @@ static switch_status_t video_bridge_callback(switch_core_session_t *session, swi if (decoded_data_len < 3) return SWITCH_STATUS_SUCCESS; - decoded_data_len = 152064; - - switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_ERROR, "decoded_data_len: %d %s\n", decoded_data_len, codec->implementation->iananame); + switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_ERROR, "%s decoded_data_len: %d size: %dx%d\n", codec->implementation->iananame, decoded_data_len, codec->dec_picture.width, codec->dec_picture.height); write_frame.packet = rtp_buff; write_frame.data = rtp_buff + 12; + other_codec->enc_picture.width = codec->dec_picture.width; + other_codec->enc_picture.height = codec->dec_picture.height; encoded_data_len = 1500; switch_core_codec_encode(other_codec, NULL, raw_buff, decoded_data_len, 0, rtp_buff+12, &encoded_data_len, &encoded_rate, &flag); @@ -4428,7 +4425,7 @@ static switch_status_t video_bridge_callback(switch_core_session_t *session, swi write_frame.datalen = encoded_data_len; write_frame.packetlen = write_frame.datalen + 12; - write_frame.m = flag; + write_frame.m = flag & SFF_MARKER ? 1 : 0; write_frame.timestamp = *ts; if (write_frame.m) *ts += 90000 / FPS; diff --git a/src/switch_core_session.c b/src/switch_core_session.c index 4e02b735c7..8d77bd4433 100644 --- a/src/switch_core_session.c +++ b/src/switch_core_session.c @@ -1317,6 +1317,17 @@ SWITCH_DECLARE(void) switch_core_session_reset(switch_core_session_t *session, s switch_buffer_destroy(&session->raw_read_buffer); switch_mutex_unlock(session->codec_read_mutex); + switch_mutex_lock(session->video_codec_write_mutex); + switch_buffer_destroy(&session->video_raw_write_buffer); + switch_mutex_unlock(session->video_codec_write_mutex); + + switch_mutex_lock(session->video_codec_read_mutex); + switch_buffer_destroy(&session->video_raw_read_buffer); + switch_mutex_unlock(session->video_codec_read_mutex); + + //video_raw_read_frame.data is dynamically allocated if necessary, so wipe this also + switch_safe_free(session->video_raw_read_frame.data); + if (flush_dtmf) { while ((has = switch_channel_has_dtmf(channel))) { switch_channel_flush_dtmf(channel); @@ -2419,6 +2430,8 @@ SWITCH_DECLARE(switch_core_session_t *) switch_core_session_request_uuid(switch_ switch_mutex_init(&session->resample_mutex, SWITCH_MUTEX_NESTED, session->pool); switch_mutex_init(&session->codec_read_mutex, SWITCH_MUTEX_NESTED, session->pool); switch_mutex_init(&session->codec_write_mutex, SWITCH_MUTEX_NESTED, session->pool); + switch_mutex_init(&session->video_codec_read_mutex, SWITCH_MUTEX_NESTED, session->pool); + switch_mutex_init(&session->video_codec_write_mutex, SWITCH_MUTEX_NESTED, session->pool); switch_mutex_init(&session->frame_read_mutex, SWITCH_MUTEX_NESTED, session->pool); switch_thread_rwlock_create(&session->bug_rwlock, session->pool); switch_thread_cond_create(&session->cond, session->pool); From e80b40f9f152af0e83da3782a8c8da5e22fe2e14 Mon Sep 17 00:00:00 2001 From: Seven Du Date: Sun, 16 Feb 2014 11:28:28 +0800 Subject: [PATCH 008/629] FS-7500: add raw video codec yuv I420 --- src/mod/codecs/mod_yuv/Makefile | 2 + src/mod/codecs/mod_yuv/mod_yuv.c | 110 +++++++++++++++++++++++++++++++ 2 files changed, 112 insertions(+) create mode 100644 src/mod/codecs/mod_yuv/Makefile create mode 100644 src/mod/codecs/mod_yuv/mod_yuv.c diff --git a/src/mod/codecs/mod_yuv/Makefile b/src/mod/codecs/mod_yuv/Makefile new file mode 100644 index 0000000000..2c35e6e98f --- /dev/null +++ b/src/mod/codecs/mod_yuv/Makefile @@ -0,0 +1,2 @@ +BASE=../../../.. +include $(BASE)/build/modmake.rules diff --git a/src/mod/codecs/mod_yuv/mod_yuv.c b/src/mod/codecs/mod_yuv/mod_yuv.c new file mode 100644 index 0000000000..db8d9718e6 --- /dev/null +++ b/src/mod/codecs/mod_yuv/mod_yuv.c @@ -0,0 +1,110 @@ +/* + * FreeSWITCH Modular Media Switching Software Library / Soft-Switch Application + * Copyright (C) 2005-2014, Anthony Minessale II + * + * Version: MPL 1.1 + * + * The contents of this file are subject to the Mozilla Public License Version + * 1.1 (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * http://www.mozilla.org/MPL/ + * + * Software distributed under the License is distributed on an "AS IS" basis, + * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License + * for the specific language governing rights and limitations under the + * License. + * + * The Original Code is FreeSWITCH Modular Media Switching Software Library / Soft-Switch Application + * + * The Initial Developer of the Original Code is + * Seven Du + * Portions created by the Initial Developer are Copyright (C) + * the Initial Developer. All Rights Reserved. + * + * Contributor(s): + * + * + * mod_yuv.c -- YUV (raw) Video Codec + * + */ + +#include + +SWITCH_MODULE_LOAD_FUNCTION(mod_yuv_load); +SWITCH_MODULE_DEFINITION(mod_yuv, mod_yuv_load, NULL, NULL); + +static switch_status_t switch_yuv_init(switch_codec_t *codec, switch_codec_flag_t flags, const switch_codec_settings_t *codec_settings) +{ + int encoding, decoding; + + encoding = (flags & SWITCH_CODEC_FLAG_ENCODE); + decoding = (flags & SWITCH_CODEC_FLAG_DECODE); + + if (!(encoding || decoding)) { + return SWITCH_STATUS_FALSE; + } else { + if (codec->fmtp_in) { + codec->fmtp_out = switch_core_strdup(codec->memory_pool, codec->fmtp_in); + } + return SWITCH_STATUS_SUCCESS; + } +} + +static switch_status_t switch_yuv_encode(switch_codec_t *codec, + switch_codec_t *other_codec, + void *decoded_data, + uint32_t decoded_data_len, + uint32_t decoded_rate, void *encoded_data, uint32_t *encoded_data_len, uint32_t *encoded_rate, + unsigned int *flag) +{ + /* yuv encode is unclear, so return 0 for now */ + *encoded_data_len = 0; + *flag |= SFF_MARKER; + return SWITCH_STATUS_SUCCESS; +} + +static switch_status_t switch_yuv_decode(switch_codec_t *codec, + switch_codec_t *other_codec, + void *encoded_data, + uint32_t encoded_data_len, + uint32_t encoded_rate, void *decoded_data, uint32_t *decoded_data_len, uint32_t *decoded_rate, + unsigned int *flag) +{ + if (*decoded_data_len < encoded_data_len) return SWITCH_STATUS_FALSE; + + codec->dec_picture.width = codec->enc_picture.width; + codec->dec_picture.height = codec->enc_picture.height; + memcpy(decoded_data, encoded_data, encoded_data_len); + *decoded_data_len = encoded_data_len; + return SWITCH_STATUS_SUCCESS; +} + +static switch_status_t switch_yuv_destroy(switch_codec_t *codec) +{ + return SWITCH_STATUS_SUCCESS; +} + +SWITCH_MODULE_LOAD_FUNCTION(mod_yuv_load) +{ + switch_codec_interface_t *codec_interface; + /* connect my internal structure to the blank pointer passed to me */ + *module_interface = switch_loadable_module_create_module_interface(pool, modname); + SWITCH_ADD_CODEC(codec_interface, "YUV I420 Video (raw)"); + + switch_core_codec_add_video_implementation(pool, codec_interface, 99, "I420", NULL, + switch_yuv_init, switch_yuv_encode, switch_yuv_decode, switch_yuv_destroy); + + /* indicate that the module should continue to be loaded */ + return SWITCH_STATUS_SUCCESS; +} + +/* For Emacs: + * Local Variables: + * mode:c + * indent-tabs-mode:t + * tab-width:4 + * c-basic-offset:4 + * End: + * For VIM: + * vim:set softtabstop=4 shiftwidth=4 tabstop=4 noet: + */ From 90818f137ed30cb29df0348110747cbc2e3c4a14 Mon Sep 17 00:00:00 2001 From: liyang Date: Thu, 13 Feb 2014 14:56:07 +0800 Subject: [PATCH 009/629] FS-7500: allow using the video thread externally - e.g. non rtp based video --- src/include/switch_core_media.h | 6 ++++++ src/switch_core_media.c | 15 +++++---------- 2 files changed, 11 insertions(+), 10 deletions(-) diff --git a/src/include/switch_core_media.h b/src/include/switch_core_media.h index 808e22fc10..6e9f3b282a 100644 --- a/src/include/switch_core_media.h +++ b/src/include/switch_core_media.h @@ -146,6 +146,7 @@ typedef struct switch_core_media_params_s { switch_core_media_dtmf_t dtmf_type; switch_payload_t cng_pt; + /* a core_video_thread will be started automatically when uses rtp based media, external_video_source should be set to SWITCH_TRUE and @@ -153,6 +154,7 @@ typedef struct switch_core_media_params_s { should be explicitly called to start the video thread if uses the media handle for non-rtp based media */ + switch_bool_t external_video_source; } switch_core_media_params_t; @@ -261,7 +263,11 @@ SWITCH_DECLARE(void) switch_core_media_deinit(void); SWITCH_DECLARE(void) switch_core_media_set_stats(switch_core_session_t *session); SWITCH_DECLARE(void) switch_core_session_wake_video_thread(switch_core_session_t *session); SWITCH_DECLARE(void) switch_core_session_clear_crypto(switch_core_session_t *session); +<<<<<<< HEAD SWITCH_DECLARE(switch_status_t) switch_core_media_start_video_thread(switch_core_session_t *session); +======= +SWITCH_DECLARE(switch_status_t) start_core_video_thread(switch_core_session_t *session); +>>>>>>> allow using the video thread externally - e.g. non rtp based video SWITCH_DECLARE(switch_status_t) switch_core_session_get_payload_code(switch_core_session_t *session, switch_media_type_t type, diff --git a/src/switch_core_media.c b/src/switch_core_media.c index de57966395..d4e46673be 100644 --- a/src/switch_core_media.c +++ b/src/switch_core_media.c @@ -4541,7 +4541,7 @@ static void *SWITCH_THREAD_FUNC video_helper_thread(switch_thread_t *thread, voi } -static switch_status_t start_video_thread(switch_core_session_t *session) +SWITCH_DECLARE(switch_status_t) switch_core_media_start_video_thread(switch_core_session_t *session) { switch_threadattr_t *thd_attr = NULL; switch_memory_pool_t *pool = switch_core_session_get_pool(session); @@ -4576,11 +4576,6 @@ static switch_status_t start_video_thread(switch_core_session_t *session) return SWITCH_STATUS_SUCCESS; } -SWITCH_DECLARE(switch_status_t) switch_core_media_start_video_thread(switch_core_session_t *session) -{ - return start_video_thread(session); -} - //? #define RA_PTR_LEN 512 SWITCH_DECLARE(switch_status_t) switch_core_media_proxy_remote_addr(switch_core_session_t *session, const char *sdp_str) @@ -4712,7 +4707,7 @@ SWITCH_DECLARE(switch_status_t) switch_core_media_proxy_remote_addr(switch_core_ !switch_channel_test_flag(session->channel, CF_WEBRTC)) { /* Reactivate the NAT buster flag. */ switch_rtp_set_flag(v_engine->rtp_session, SWITCH_RTP_FLAG_AUTOADJ); - start_video_thread(session); + switch_core_media_start_video_thread(session); } if (switch_media_handle_test_media_flag(smh, SCMF_AUTOFIX_TIMING)) { @@ -5686,7 +5681,7 @@ SWITCH_DECLARE(switch_status_t) switch_core_media_activate_rtp(switch_core_sessi v_engine->cur_payload_map->remote_sdp_port, v_engine->cur_payload_map->agreed_pt); - start_video_thread(session); + switch_core_media_start_video_thread(session); switch_rtp_set_default_payload(v_engine->rtp_session, v_engine->cur_payload_map->agreed_pt); } } @@ -5719,7 +5714,7 @@ SWITCH_DECLARE(switch_status_t) switch_core_media_activate_rtp(switch_core_sessi !((val = switch_channel_get_variable(session->channel, "disable_rtp_auto_adjust")) && switch_true(val))) { /* Reactivate the NAT buster flag. */ switch_rtp_set_flag(v_engine->rtp_session, SWITCH_RTP_FLAG_AUTOADJ); - start_video_thread(session); + switch_core_media_start_video_thread(session); } } @@ -5819,7 +5814,7 @@ SWITCH_DECLARE(switch_status_t) switch_core_media_activate_rtp(switch_core_sessi switch_rtp_set_payload_map(v_engine->rtp_session, &v_engine->payload_map); - start_video_thread(session); + switch_core_media_start_video_thread(session); switch_channel_set_flag(session->channel, CF_VIDEO); if ((ssrc = switch_channel_get_variable(session->channel, "rtp_use_video_ssrc"))) { From 4af7e7c68d58e903e4081311a88581994e7a37aa Mon Sep 17 00:00:00 2001 From: Seven Du Date: Thu, 24 Jul 2014 08:45:39 +0800 Subject: [PATCH 010/629] FS-7514: vlc video --- src/mod/formats/mod_vlc/mod_vlc.c | 1226 ++++++++++++++++++++++++++++- 1 file changed, 1195 insertions(+), 31 deletions(-) diff --git a/src/mod/formats/mod_vlc/mod_vlc.c b/src/mod/formats/mod_vlc/mod_vlc.c index 51996686dc..6c2c4b9a3d 100644 --- a/src/mod/formats/mod_vlc/mod_vlc.c +++ b/src/mod/formats/mod_vlc/mod_vlc.c @@ -1,4 +1,4 @@ -/* +/* * FreeSWITCH Modular Media Switching Software Library / Soft-Switch Application * Copyright (C) 2005-2014, Anthony Minessale II * @@ -22,8 +22,9 @@ * the Initial Developer. All Rights Reserved. * * Contributor(s): - * + * * William King william.king@quentustech.com + * Seven Du * * mod_vlc.c -- VLC streaming module * @@ -37,9 +38,13 @@ * To stream from a call(channel) out to a remote destination: * vlc://#transcode{acodec=vorb,channels=1,samplerate=16000}:standard{access=http,mux=ogg,dst=:8080/thing.ogg} * + * To playback a video file + * play_video /tmp/test.mp4 + * * Notes: * - * Requires at least libvlc version 1.2 + * Audio Requires at least libvlc version 1.2 + * Video Requires at least libvlc 2.0.2 * */ #include @@ -56,10 +61,12 @@ typedef int (*imem_get_t)(void *data, const char *cookie, size_t *, void **); typedef void (*imem_release_t)(void *data, const char *cookie, size_t, void *); -/* Change valud to -vvv for vlc related debug. Be careful since vlc is at least as verbose as FS about logging */ -const char *vlc_args = ""; +/* Change value to -vvv for vlc related debug. Be careful since vlc is at least as verbose as FS about logging */ +const char *vlc_args[] = {""}; +// const char *vlc_args[] = {"--network-caching", "500"}; libvlc_instance_t *read_inst; +switch_endpoint_interface_t *vlc_endpoint_interface = NULL; struct vlc_file_context { libvlc_media_player_t *mp; @@ -81,10 +88,92 @@ struct vlc_file_context { typedef struct vlc_file_context vlc_file_context_t; +struct vlc_video_context { + libvlc_media_player_t *mp; + libvlc_media_t *m; + switch_mutex_t *audio_mutex; + switch_file_handle_t fh; + switch_memory_pool_t *pool; + switch_thread_cond_t *started; + switch_buffer_t *audio_buffer; + switch_buffer_t *video_buffer; + int playing; + + switch_mutex_t *video_mutex; + + switch_core_session_t *session; + switch_frame_t *aud_frame; + switch_frame_t *vid_frame; + uint8_t video_packet[1500 + 12]; + void *raw_yuyv_data; + void *raw_i420_data; + uint32_t last_video_ts; + switch_payload_t pt; + uint32_t seq; + int width; + int height; + int force_width; + int force_height; + int new_frame; // next frame is a new frame(new timestamp) +}; + +typedef struct vlc_video_context vlc_video_context_t; + SWITCH_MODULE_SHUTDOWN_FUNCTION(mod_vlc_shutdown); SWITCH_MODULE_LOAD_FUNCTION(mod_vlc_load); SWITCH_MODULE_DEFINITION(mod_vlc, mod_vlc_load, mod_vlc_shutdown, NULL); +void yuyv_to_i420(uint8_t *pixels, void *out_buffer, int src_width, int src_height) +{ + uint8_t *Y, *U, *V; + int h, w; + + Y = out_buffer; + U = Y + src_width * src_height; + V = U + (src_width * src_height>>2); + + if (0) {//split + uint8_t *p, *q, *k; + p = pixels; + q = pixels; + k = pixels; + for (h = 0; h < src_height / 2; ++h) + { + for (w=0; w> 1); + V = V + (src_width >> 1); + } + } +} + static void vlc_mediaplayer_error_callback(const libvlc_event_t * event, void * data) { vlc_file_context_t *context = (vlc_file_context_t *) data; @@ -111,7 +200,7 @@ static void vlc_media_state_callback(const libvlc_event_t * event, void * data) void vlc_auto_play_callback(void *data, const void *samples, unsigned count, int64_t pts) { vlc_file_context_t *context = (vlc_file_context_t *) data; - + switch_mutex_lock(context->audio_mutex); if (context->audio_buffer) { if (!switch_buffer_write(context->audio_buffer, samples, count * 2 * context->channels)) { @@ -119,13 +208,276 @@ void vlc_auto_play_callback(void *data, const void *samples, unsigned count, int } } - if(! context->playing ) { + if(!context->playing ) { context->playing = 1; switch_thread_cond_signal(context->started); - } + } switch_mutex_unlock(context->audio_mutex); } +#define FORCE_SPLIT 1 + +void vlc_play_audio_callback(void *data, const void *samples, unsigned count, int64_t pts) { + vlc_video_context_t *context = (vlc_video_context_t *) data; + switch_size_t bytes; + + switch_mutex_lock(context->audio_mutex); + + bytes = switch_buffer_inuse(context->audio_buffer); + if ( bytes > VLC_BUFFER_SIZE * 4) { + switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_WARNING, "Buffer overflow %d\n", (int)bytes); + switch_buffer_toss(context->audio_buffer, bytes - VLC_BUFFER_SIZE); + } + + switch_buffer_write(context->audio_buffer, samples, count * 2); + + if (!context->playing) { + context->playing = 1; + if (context->started) switch_thread_cond_signal(context->started); + } + + switch_mutex_unlock(context->audio_mutex); + + // switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_WARNING, "VLC callback, play audio: %d \n", count); +} + +static void *vlc_video_lock_callback(void *data, void **p_pixels) +{ + vlc_video_context_t *context = (vlc_video_context_t *)data; + + switch_mutex_lock(context->video_mutex); + if (!context->raw_yuyv_data) { + switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_ERROR, "no yuyv data\n"); + return NULL; + } + *p_pixels = context->raw_yuyv_data; + + return NULL; /* picture identifier, not needed here */ +} + +/* dummy callback so it should be good when no video on channel */ +static void vlc_video_unlock_dummy_callback(void *data, void *id, void *const *p_pixels) +{ + vlc_video_context_t *context = (vlc_video_context_t *)data; + assert(id == NULL); /* picture identifier, not needed here */ + switch_mutex_unlock(context->video_mutex); +} + +static void vlc_video_unlock_callback(void *data, void *id, void *const *p_pixels) +{ + vlc_video_context_t *context = (vlc_video_context_t *)data; + switch_frame_t *frame = context->vid_frame; + uint32_t decoded_data_len; + uint32_t flag = 0; + uint32_t encoded_data_len = 1500; + uint32_t encoded_rate = 0; + switch_codec_t *codec = switch_core_session_get_video_write_codec(context->session); + + switch_assert(id == NULL); /* picture identifier, not needed here */ + switch_assert(codec); + + yuyv_to_i420(*p_pixels, context->raw_i420_data, context->width, context->height); + + codec->enc_picture.width = context->width; + codec->enc_picture.height = context->height; + decoded_data_len = context->width * context->height * 3 / 2; + switch_core_codec_encode(codec, NULL, context->raw_i420_data, decoded_data_len, 0, frame->data, &encoded_data_len, &encoded_rate, &flag); + + while(encoded_data_len) { + // switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_ERROR, "encoded: %s [%d] flag=%d ts=%u\n", codec->implementation->iananame, encoded_data_len, flag, context->last_video_ts); + + frame->datalen = encoded_data_len; + frame->packetlen = frame->datalen + 12; + frame->m = flag & SFF_MARKER ? 1 : 0; + // frame->timestamp = context->ts; + // if (frame->m) context->ts += 90000 / FPS; + if (!context->last_video_ts) { + context->last_video_ts = switch_micro_time_now() / 1000; + frame->timestamp = context->last_video_ts; + } + + if (context->new_frame) { + int delta = switch_micro_time_now() / 1000 - context->last_video_ts; + frame->timestamp += delta * 90; + context->last_video_ts = switch_micro_time_now() / 1000; + context->new_frame = 0; + } + + if (frame->m) { // next frame is a new frame + context->new_frame = 1; + } + + if (1) { + /* set correct mark and ts */ + switch_rtp_hdr_t *rtp = (switch_rtp_hdr_t *)frame->packet; + + memset(rtp, 0, 12); + rtp->version = 2; + rtp->m = frame->m; + rtp->ts = htonl(frame->timestamp); + rtp->ssrc = (uint32_t) ((intptr_t) rtp + (uint32_t) switch_epoch_time_now(NULL)); + + switch_set_flag(frame, SFF_RAW_RTP); + } + + switch_set_flag(frame, SFF_RAW_RTP); + switch_set_flag(frame, SFF_PROXY_PACKET); + + switch_core_session_write_video_frame(context->session, frame, SWITCH_IO_FLAG_NONE, 0); + + encoded_data_len = 1500; + switch_core_codec_encode(codec, NULL, NULL, 0, 0, frame->data, &encoded_data_len, &encoded_rate, &flag); + } + + switch_mutex_unlock(context->video_mutex); +} + +static void do_buffer_frame(vlc_video_context_t *context) +{ + switch_frame_t *frame = context->vid_frame; + uint32_t size = sizeof(*frame) + frame->packetlen; + + switch_mutex_lock(context->video_mutex); + + if (switch_buffer_inuse(context->video_buffer) > VLC_BUFFER_SIZE * 10) { + switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_ERROR, "buffer overflow %d\n", (int)switch_buffer_inuse(context->video_buffer)); + switch_buffer_zero(context->video_buffer); + } + switch_buffer_write(context->video_buffer, &size, sizeof(uint32_t)); + switch_buffer_write(context->video_buffer, frame, sizeof(*frame)); + switch_buffer_write(context->video_buffer, frame->packet, frame->packetlen); + switch_mutex_unlock(context->video_mutex); +} + +static void vlc_video_channel_unlock_callback(void *data, void *id, void *const *p_pixels) +{ + vlc_video_context_t *context = (vlc_video_context_t *)data; + uint32_t decoded_data_len; + uint32_t flag = 0; + uint32_t encoded_data_len = 1500; + uint32_t encoded_rate = 0; + switch_codec_t *codec = switch_core_session_get_video_write_codec(context->session); + switch_frame_t *frame = context->vid_frame; + + switch_assert(id == NULL); /* picture identifier, not needed here */ + switch_assert(codec); + + yuyv_to_i420(*p_pixels, context->raw_i420_data, context->width, context->height); + + codec->enc_picture.width = context->width; + codec->enc_picture.height = context->height; + encoded_data_len = 1500; + decoded_data_len = context->width * context->height * 3 / 2; + + frame->packet = context->video_packet; + frame->data = context->video_packet + 12; + + switch_core_codec_encode(codec, NULL, context->raw_i420_data, decoded_data_len, 0, frame->data, &encoded_data_len, &encoded_rate, &flag); + + while(encoded_data_len) { + // switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_ERROR, "encoded: %s [%d] flag=%d ts=%u\n", codec->implementation->iananame, encoded_data_len, flag, context->ts); + + frame->datalen = encoded_data_len; + frame->packetlen = frame->datalen + 12; + frame->m = flag & SFF_MARKER ? 1 : 0; + if (!context->last_video_ts) { + context->last_video_ts = switch_micro_time_now() / 1000; + frame->timestamp = context->last_video_ts; + } + + if (context->new_frame) { + int delta = switch_micro_time_now() / 1000 - context->last_video_ts; + frame->timestamp += delta * 90; + context->last_video_ts = switch_micro_time_now() / 1000; + context->new_frame = 0; + } + + if (frame->m) { // next frame is a new frame + context->new_frame = 1; + } + + if (1) { + /* set correct mark and ts */ + switch_rtp_hdr_t *rtp = (switch_rtp_hdr_t *)frame->packet; + + memset(rtp, 0, 12); + rtp->version = 2; + rtp->m = frame->m; + rtp->ts = htonl(frame->timestamp); + rtp->ssrc = (uint32_t) ((intptr_t) rtp + (uint32_t) switch_epoch_time_now(NULL)); + + switch_set_flag(frame, SFF_RAW_RTP); + } + + switch_set_flag(frame, SFF_RAW_RTP); + switch_set_flag(frame, SFF_PROXY_PACKET); + + do_buffer_frame(context); + + encoded_data_len = 1500; + switch_core_codec_encode(codec, NULL, NULL, 0, 0, frame->data, &encoded_data_len, &encoded_rate, &flag); + } + + switch_mutex_unlock(context->video_mutex); +} + +static void vlc_video_display_callback(void *data, void *id) +{ + /* VLC wants to display the video */ + (void) data; + assert(id == NULL); +} + +unsigned video_format_setup_callback(void **opaque, char *chroma, unsigned *width, unsigned *height, unsigned *pitches, unsigned *lines) +{ + + vlc_video_context_t *context = (vlc_video_context_t *) (*opaque); + unsigned frame_size; + + switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_INFO, "chroma: %s, width: %u, height: %u, pitches: %u, lines: %u\n", chroma, *width, *height, *pitches, *lines); + + /* You have to use YUYV here or it will crash */ + switch_set_string(chroma, "YUYV"); + + if (context->force_width && context->force_height) { /* resize */ + *width = context->force_width; + *height = context->force_height; + } + + *pitches = (*width) * 2; + *lines = (*height); + + context->width = *width; + context->height = *height; + + frame_size = (*width) * (*height) * 4 * 2; + context->raw_yuyv_data = malloc(frame_size); + if (context->raw_yuyv_data == NULL) { + switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_ERROR, "memory error\n"); + return 0; + } + + context->raw_i420_data = malloc(frame_size); + if (context->raw_i420_data == NULL) { + switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_ERROR, "memory error\n"); + free(context->raw_yuyv_data); + return 0; + } + + switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_INFO, "chroma: %s, width: %u, height: %u, pitches: %u, lines: %u\n", chroma, *width, *height, *pitches, *lines); + + return 1; +} + +void video_format_clean_callback(void *opaque) +{ + + vlc_video_context_t *context = (vlc_video_context_t *)opaque; + switch_safe_free(context->raw_yuyv_data); + switch_safe_free(context->raw_i420_data); + switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_INFO, "cleanup\n"); +} + int vlc_imem_get_callback(void *data, const char *cookie, int64_t *dts, int64_t *pts, unsigned *flags, size_t *size, void **output) { vlc_file_context_t *context = (vlc_file_context_t *) data; @@ -182,14 +534,17 @@ static switch_status_t vlc_file_open(switch_file_handle_t *handle, const char *p switch_thread_cond_create(&(context->started), context->pool); if (switch_test_flag(handle, SWITCH_FILE_FLAG_READ)) { - + switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_DEBUG, "VLC open %s for reading\n", path); - + /* Determine if this is a url or a path */ /* TODO: Change this so that it tries local files first, and then if it fails try location. */ if(! strncmp(context->path, "http", 4)){ context->m = libvlc_media_new_location(read_inst, context->path); switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_NOTICE, "VLC Path is http %s\n", context->path); + } else if (! strncmp(context->path, "rtp", 3)){ + context->m = libvlc_media_new_path(read_inst, context->path); + switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_NOTICE, "VLC Path is rtp %s\n", context->path); } else if (! strncmp(context->path, "mms", 3)){ context->m = libvlc_media_new_path(read_inst, context->path); switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_NOTICE, "VLC Path is mms %s\n", context->path); @@ -205,12 +560,12 @@ static switch_status_t vlc_file_open(switch_file_handle_t *handle, const char *p switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_ERROR, "VLC error opening %s for reading\n", path); return SWITCH_STATUS_GENERR; } - + context->playing = 0; context->err = 0; - + context->mp = libvlc_media_player_new_from_media(context->m); - + if (!handle->samplerate) { handle->samplerate = 16000; } @@ -229,10 +584,10 @@ static switch_status_t vlc_file_open(switch_file_handle_t *handle, const char *p libvlc_audio_set_callbacks(context->mp, vlc_auto_play_callback, NULL,NULL,NULL,NULL, (void *) context); libvlc_media_player_play(context->mp); - + } else if (switch_test_flag(handle, SWITCH_FILE_FLAG_WRITE)) { const char * opts[10] = { - vlc_args, + *vlc_args, switch_mprintf("--sout=%s", path) }; int opts_count = 10; @@ -241,6 +596,7 @@ static switch_status_t vlc_file_open(switch_file_handle_t *handle, const char *p handle->samplerate = 16000; context->samplerate = handle->samplerate; + context->channels = handle->channels; opts[2] = switch_mprintf("--imem-get=%ld", vlc_imem_get_callback); opts[3] = switch_mprintf("--imem-release=%ld", vlc_imem_release_callback); @@ -270,7 +626,7 @@ static switch_status_t vlc_file_open(switch_file_handle_t *handle, const char *p } handle->private_info = context; - + return SWITCH_STATUS_SUCCESS; } @@ -279,7 +635,7 @@ static switch_status_t vlc_file_read(switch_file_handle_t *handle, void *data, s vlc_file_context_t *context = handle->private_info; size_t bytes = *len * sizeof(int16_t) * handle->channels, read; libvlc_state_t status; - + if (!context) { switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_ERROR, "VLC read handle context is NULL\n"); return SWITCH_STATUS_GENERR; @@ -308,12 +664,12 @@ static switch_status_t vlc_file_read(switch_file_handle_t *handle, void *data, s } switch_mutex_unlock(context->audio_mutex); - + switch_mutex_lock(context->audio_mutex); read = switch_buffer_read(context->audio_buffer, data, bytes); switch_mutex_unlock(context->audio_mutex); - status = libvlc_media_get_state(context->m); + status = libvlc_media_get_state(context->m); if (!read && (status == libvlc_Stopped || status == libvlc_Ended || status == libvlc_Error)) { return SWITCH_STATUS_FALSE; @@ -321,18 +677,17 @@ static switch_status_t vlc_file_read(switch_file_handle_t *handle, void *data, s read = 2; memset(data, 0, read); } - - if (read) { - *len = read / 2 / handle->channels; - } - + + if (read) + *len = read/2; + return SWITCH_STATUS_SUCCESS; } static switch_status_t vlc_file_write(switch_file_handle_t *handle, void *data, size_t *len) { vlc_file_context_t *context = handle->private_info; - size_t bytes = *len * sizeof(int16_t) * handle->channels; + size_t bytes = *len * sizeof(int16_t); switch_mutex_lock(context->audio_mutex); context->samples += *len; @@ -372,8 +727,8 @@ static switch_status_t vlc_file_close(switch_file_handle_t *handle) if( context->mp ) libvlc_media_player_stop(context->mp); - - if( context->m ) + + if( context->m ) libvlc_media_release(context->m); if ( context->inst_out != NULL ) @@ -382,11 +737,813 @@ static switch_status_t vlc_file_close(switch_file_handle_t *handle) return SWITCH_STATUS_SUCCESS; } + +SWITCH_STANDARD_APP(play_video_function) +{ + switch_channel_t *channel = switch_core_session_get_channel(session); + switch_memory_pool_t *pool = switch_core_session_get_pool(session); + switch_frame_t audio_frame = { 0 }, video_frame = { 0 }; + switch_codec_t codec = { 0 }, vid_codec = { 0 }, *read_vid_codec; + switch_timer_t timer = { 0 }; + switch_payload_t pt = 0; + switch_dtmf_t dtmf = { 0 }; + switch_frame_t *read_frame; + switch_codec_implementation_t read_impl = { 0 }; + switch_core_session_message_t msg = { 0 }; + vlc_video_context_t *context; + char *path = (char *)data; + const char *tmp; + + switch_size_t audio_datalen; + + switch_channel_set_flag(channel, CF_VIDEO_PASSIVE); + + context = switch_core_session_alloc(session, sizeof(vlc_video_context_t)); + switch_assert(context); + memset(context, 0, sizeof(vlc_file_context_t)); + + if ((tmp = switch_channel_get_variable(channel, "vlc_force_width"))) { + context->force_width = atoi(tmp); + } + + if ((tmp = switch_channel_get_variable(channel, "vlc_force_height"))) { + context->force_height = atoi(tmp); + } + + switch_buffer_create_dynamic(&(context->audio_buffer), VLC_BUFFER_SIZE, VLC_BUFFER_SIZE * 8, 0); + +/* + if (0) { // SPS PPS + unsigned char outbuf[1024] = { 0 }; + unsigned char *in, *out = outbuf; + switch_size_t ilen, olen = 0; + + sprintf((char *)out, "packetization-mode=1;profile-level-id=42c01f;sprop-parameter-sets="); + out += strlen((char *)out); + + for (int i = 0; i < nal_count; ++i) { + switch (nals[i].i_type) { + case NAL_SPS: + switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_ERROR, "sps %d: %d %d %d %d %x\n", nals[i].i_payload, nals[i].p_payload[0], nals[i].p_payload[1], nals[i].p_payload[2], nals[i].p_payload[3], nals[i].p_payload[4]); + in = nals[i].p_payload + 4; // skipe 00 00 00 01 + ilen = nals[i].i_payload - 4; + switch_b64_encode(in, ilen, out, 512); + break; + case NAL_PPS: + switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_ERROR, "pps %d: %d %d %d %d %x\n", nals[i].i_payload, nals[i].p_payload[0], nals[i].p_payload[1], nals[i].p_payload[2], nals[i].p_payload[3], nals[i].p_payload[4]); + in = nals[i].p_payload + 4; // skip 00 00 00 01 + ilen = nals[i].i_payload - 4; + olen = (switch_size_t)strlen((char *)out); + switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_ERROR, "%d\n", 512); + + if (olen > 0) { + out += olen; + *out++ = ','; + } + switch_b64_encode(in, ilen, out, olen); + switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_ERROR, "props:%s\n", outbuf); + break; + default: + break; + } + } + + switch_channel_set_variable(channel, "sip_force_video_fmtp", (char *)outbuf); + } +*/ + + switch_channel_answer(channel); + switch_core_session_get_read_impl(session, &read_impl); + switch_core_session_receive_message(session, &msg); + + if ((read_vid_codec = switch_core_session_get_video_read_codec(session))) { + pt = read_vid_codec->agreed_pt; + } + + context->pt = pt; + audio_frame.codec = &codec; + video_frame.codec = read_vid_codec; + video_frame.packet = context->video_packet; + video_frame.data = context->video_packet + 12; + + switch_channel_set_variable(channel, SWITCH_PLAYBACK_TERMINATOR_USED, ""); + + if (switch_core_timer_init(&timer, "soft", read_impl.microseconds_per_packet / 1000, + read_impl.samples_per_packet, pool) != SWITCH_STATUS_SUCCESS) { + switch_log_printf(SWITCH_CHANNEL_SESSION_LOG(session), SWITCH_LOG_ERROR, "Timer Activation Fail\n"); + switch_channel_set_variable(channel, SWITCH_CURRENT_APPLICATION_RESPONSE_VARIABLE, "Timer activation failed!"); + goto end; + } + + if (switch_core_codec_init(&codec, + "L16", + NULL, + read_impl.actual_samples_per_second, + read_impl.microseconds_per_packet/1000, + 1, SWITCH_CODEC_FLAG_ENCODE | SWITCH_CODEC_FLAG_DECODE, + NULL, switch_core_session_get_pool(session)) == SWITCH_STATUS_SUCCESS) { + switch_log_printf(SWITCH_CHANNEL_SESSION_LOG(session), SWITCH_LOG_DEBUG, "Audio Codec Activation Success\n"); + } else { + switch_log_printf(SWITCH_CHANNEL_SESSION_LOG(session), SWITCH_LOG_ERROR, "Audio Codec Activation Fail\n"); + switch_channel_set_variable(channel, SWITCH_CURRENT_APPLICATION_RESPONSE_VARIABLE, "Audio codec activation failed"); + goto end; + } + + if (switch_core_codec_init(&vid_codec, + "H264", + NULL, + 0, + 0, + 1, SWITCH_CODEC_FLAG_ENCODE | SWITCH_CODEC_FLAG_DECODE, + NULL, switch_core_session_get_pool(session)) == SWITCH_STATUS_SUCCESS) { + switch_log_printf(SWITCH_CHANNEL_SESSION_LOG(session), SWITCH_LOG_DEBUG, "Video Codec Activation Success\n"); + } else { + switch_log_printf(SWITCH_CHANNEL_SESSION_LOG(session), SWITCH_LOG_ERROR, "Video Codec Activation Fail\n"); + switch_channel_set_variable(channel, SWITCH_CURRENT_APPLICATION_RESPONSE_VARIABLE, "Video codec activation failed"); + goto end; + } + + audio_datalen = codec.implementation->actual_samples_per_second / 1000 * (read_impl.microseconds_per_packet / 1000); + + context->session = session; + context->pool = pool; + context->aud_frame = &audio_frame; + context->vid_frame = &video_frame; + context->playing = 0; + // context->err = 0; + + switch_mutex_init(&context->audio_mutex, SWITCH_MUTEX_NESTED, context->pool); + switch_mutex_init(&context->video_mutex, SWITCH_MUTEX_NESTED, context->pool); + + switch_thread_cond_create(&(context->started), context->pool); + + switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_DEBUG, "VLC open %s for reading\n", path); + + /* Determine if this is a url or a path */ + /* TODO: Change this so that it tries local files first, and then if it fails try location. */ + if(! strncmp(path, "http", 4)){ + context->m = libvlc_media_new_location(read_inst, path); + switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_NOTICE, "VLC Path is http %s\n", path); + } else if (! strncmp(path, "rtp", 3)){ + context->m = libvlc_media_new_path(read_inst, path); + switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_NOTICE, "VLC Path is rtp %s\n", path); + } else if (! strncmp(path, "mms", 3)){ + context->m = libvlc_media_new_path(read_inst, path); + switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_NOTICE, "VLC Path is mms %s\n", path); + } else if (! strncmp(path, "rtsp", 3)){ + context->m = libvlc_media_new_path(read_inst, path); + switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_NOTICE, "VLC Path is rtsp %s\n", path); + } else if (! strncmp(path, "/", 1)){ + context->m = libvlc_media_new_path(read_inst, path); + switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_NOTICE, "VLC Path is file %s\n", path); + } else { + context->m = libvlc_media_new_location(read_inst, path); + switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_NOTICE, "VLC Path is unknown type %s\n", path); + } + + if ( context->m == NULL ) { + switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_ERROR, "VLC error opening %s for reading\n", data); + switch_channel_hangup(channel, SWITCH_CAUSE_DESTINATION_OUT_OF_ORDER); + return ; + } + + context->mp = libvlc_media_player_new_from_media(context->m); + + libvlc_audio_set_format(context->mp, "S16N", read_impl.actual_samples_per_second, 1); + libvlc_audio_set_callbacks(context->mp, vlc_play_audio_callback, NULL,NULL,NULL,NULL, (void *) context); + + if (switch_channel_test_flag(channel, CF_VIDEO)) { + // libvlc_video_set_format(context->mp, "YUYV", VIDEOWIDTH, VIDEOHEIGHT, VIDEOWIDTH * 2); + libvlc_video_set_format_callbacks(context->mp, video_format_setup_callback, video_format_clean_callback); + libvlc_video_set_callbacks(context->mp, vlc_video_lock_callback, vlc_video_unlock_callback, vlc_video_display_callback, context); + } else { + libvlc_video_set_format_callbacks(context->mp, video_format_setup_callback, video_format_clean_callback); + libvlc_video_set_callbacks(context->mp, vlc_video_lock_callback, vlc_video_unlock_dummy_callback, vlc_video_display_callback, context); + } + + // start play + if (-1 == libvlc_media_player_play(context->mp)) { + switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_ERROR, "VLC error playing %s\n", path); + switch_channel_hangup(channel, SWITCH_CAUSE_DESTINATION_OUT_OF_ORDER); + }; + + // switch_core_service_session_av(session, SWITCH_FALSE, SWITCH_TRUE); + + while (switch_channel_ready(channel)) { + + switch_core_timer_next(&timer); + + switch_core_session_read_frame(session, &read_frame, SWITCH_IO_FLAG_NONE, 0); + + if (switch_channel_test_flag(channel, CF_BREAK)) { + switch_channel_clear_flag(channel, CF_BREAK); + break; + } + + switch_ivr_parse_all_events(session); + + //check for dtmf interrupts + if (switch_channel_has_dtmf(channel)) { + const char * terminators = switch_channel_get_variable(channel, SWITCH_PLAYBACK_TERMINATORS_VARIABLE); + switch_channel_dequeue_dtmf(channel, &dtmf); + + if (terminators && !strcasecmp(terminators, "none")) + { + terminators = NULL; + } + + if (terminators && strchr(terminators, dtmf.digit)) { + + char sbuf[2] = {dtmf.digit, '\0'}; + switch_channel_set_variable(channel, SWITCH_PLAYBACK_TERMINATOR_USED, sbuf); + break; + } + + } + + { + libvlc_state_t status = libvlc_media_get_state(context->m); + if (status == libvlc_Ended || status == libvlc_Error || status == libvlc_Stopped ) { + switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_INFO, "VLC done. status = %d\n", status); + break; + } + } + + if (switch_buffer_inuse(context->audio_buffer) >= audio_datalen * 2) { + const void *decoded_data; + // switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_ERROR, "%d %d\n", (int)switch_buffer_inuse(context->audio_buffer), (int)audio_datalen * 2); + switch_buffer_peek_zerocopy(context->audio_buffer, &decoded_data); + audio_frame.data = (void *)decoded_data; + audio_frame.datalen = audio_datalen*2; + audio_frame.buflen = audio_datalen*2; + switch_core_session_write_frame(context->session, &audio_frame, SWITCH_IO_FLAG_NONE, 0); + switch_buffer_toss(context->audio_buffer, audio_datalen * 2); + } + + } + + switch_yield(50000); + + if( context->mp ) libvlc_media_player_stop(context->mp); + if( context->m ) libvlc_media_release(context->m); + + context->playing = 0; + + switch_core_thread_session_end(session); + switch_channel_set_variable(channel, SWITCH_CURRENT_APPLICATION_RESPONSE_VARIABLE, "OK"); + +end: + + if (context->audio_buffer) { + switch_buffer_destroy(&context->audio_buffer); + } + + if (timer.interval) { + switch_core_timer_destroy(&timer); + } + + if (switch_core_codec_ready(&codec)) { + switch_core_codec_destroy(&codec); + } + + if (switch_core_codec_ready(&vid_codec)) { + switch_core_codec_destroy(&vid_codec); + } + + switch_channel_clear_flag(channel, CF_VIDEO_PASSIVE); +} + +static switch_status_t channel_on_init(switch_core_session_t *session); +static switch_status_t channel_on_consume_media(switch_core_session_t *session); +static switch_status_t channel_on_destroy(switch_core_session_t *session); + +static switch_call_cause_t vlc_outgoing_channel(switch_core_session_t *session, switch_event_t *var_event, + switch_caller_profile_t *outbound_profile, + switch_core_session_t **new_session, + switch_memory_pool_t **pool, + switch_originate_flag_t flags, switch_call_cause_t *cancel_cause); +static switch_status_t vlc_read_frame(switch_core_session_t *session, switch_frame_t **frame, switch_io_flag_t flags, int stream_id); +static switch_status_t vlc_write_frame(switch_core_session_t *session, switch_frame_t *frame, switch_io_flag_t flags, int stream_id); +static switch_status_t vlc_read_video_frame(switch_core_session_t *session, switch_frame_t **frame, switch_io_flag_t flags, int stream_id); +static switch_status_t vlc_receive_message(switch_core_session_t *session, switch_core_session_message_t *msg); +static switch_status_t vlc_kill_channel(switch_core_session_t *session, int sig); + +typedef struct { + switch_core_session_t *session; + switch_channel_t *channel; + switch_codec_t read_codec, write_codec; + switch_codec_t video_codec; + switch_frame_t read_frame; + switch_frame_t read_video_frame; + void *audio_data[SWITCH_RECOMMENDED_BUFFER_SIZE]; + void *video_data[SWITCH_RECOMMENDED_BUFFER_SIZE * 20]; + const char *destination_number; + vlc_video_context_t *context; + switch_timer_t timer; +} vlc_private_t; + +switch_state_handler_table_t vlc_state_handlers = { + /*on_init */ channel_on_init, + /*on_routing */ NULL, + /*on_execute */ NULL, + /*on_hangup*/ NULL, + /*on_exchange_media*/ NULL, + /*on_soft_execute*/ NULL, + /*on_consume_media*/ channel_on_consume_media, + /*on_hibernate*/ NULL, + /*on_reset*/ NULL, + /*on_park*/ NULL, + /*on_reporting*/ NULL, + /*on_destroy*/ channel_on_destroy +}; + +switch_io_routines_t vlc_io_routines = { + /*outgoing_channel*/ vlc_outgoing_channel, + /*read_frame*/ vlc_read_frame, + /*write_frame*/ vlc_write_frame, + /*kill_channel*/ vlc_kill_channel, + /*send_dtmf*/ NULL, + /*receive_message*/ vlc_receive_message, + /*receive_event*/ NULL, + /*state_change*/ NULL, + /*read_video_frame*/ vlc_read_video_frame, + /*write_video_frame*/ NULL, + /*state_run*/ NULL +}; + +static switch_status_t setup_tech_pvt(switch_core_session_t *session, const char *path) +{ + switch_channel_t *channel = switch_core_session_get_channel(session); + switch_memory_pool_t *pool = switch_core_session_get_pool(session); + // switch_dtmf_t dtmf = { 0 }; + vlc_video_context_t *context; + vlc_private_t *tech_pvt; + switch_status_t status = SWITCH_STATUS_SUCCESS; + + tech_pvt = switch_core_session_alloc(session, sizeof *tech_pvt); + switch_assert(tech_pvt); + tech_pvt->session = session; + tech_pvt->channel = channel; + tech_pvt->destination_number = switch_core_session_strdup(session, path); + switch_core_session_set_private(session, tech_pvt); + + context = switch_core_session_alloc(session, sizeof(vlc_video_context_t)); + switch_assert(context); + memset(context, 0, sizeof(vlc_file_context_t)); + tech_pvt->context = context; + + switch_buffer_create_dynamic(&(context->audio_buffer), VLC_BUFFER_SIZE, VLC_BUFFER_SIZE * 8, 0); + + if (switch_channel_test_flag(channel, CF_VIDEO)) { + switch_buffer_create_dynamic(&(context->video_buffer), VLC_BUFFER_SIZE * 2, VLC_BUFFER_SIZE * 16, 0); + } + + if (switch_core_timer_init(&tech_pvt->timer, "soft", 20, + 8000 / (1000 / 20), pool) != SWITCH_STATUS_SUCCESS) { + switch_log_printf(SWITCH_CHANNEL_SESSION_LOG(session), SWITCH_LOG_ERROR, "Timer Activation Fail\n"); + status = SWITCH_STATUS_FALSE; + goto fail; + } + + context->session = session; + context->pool = pool; + context->aud_frame = &tech_pvt->read_frame; + context->vid_frame = &tech_pvt->read_video_frame; + context->playing = 0; + // context->err = 0; + + switch_mutex_init(&context->audio_mutex, SWITCH_MUTEX_NESTED, context->pool); + switch_mutex_init(&context->video_mutex, SWITCH_MUTEX_NESTED, context->pool); + + switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_NOTICE, "VLC open %s for reading\n", path); + + /* Determine if this is a url or a path */ + /* TODO: Change this so that it tries local files first, and then if it fails try location. */ + if(! strncmp(path, "http", 4)){ + context->m = libvlc_media_new_location(read_inst, path); + switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_NOTICE, "VLC Path is http %s\n", path); + } else if (! strncmp(path, "rtp", 3)){ + context->m = libvlc_media_new_path(read_inst, path); + switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_NOTICE, "VLC Path is rtp %s\n", path); + } else if (! strncmp(path, "mms", 3)){ + context->m = libvlc_media_new_path(read_inst, path); + switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_NOTICE, "VLC Path is mms %s\n", path); + } else if (! strncmp(path, "rtsp", 3)){ + context->m = libvlc_media_new_path(read_inst, path); + switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_NOTICE, "VLC Path is rtsp %s\n", path); + } else if (! strncmp(path, "/", 1)){ + context->m = libvlc_media_new_path(read_inst, path); + switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_NOTICE, "VLC Path is file %s\n", path); + } else { + context->m = libvlc_media_new_location(read_inst, path); + switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_NOTICE, "VLC Path is unknown type %s\n", path); + } + + if ( context->m == NULL ) { + switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_ERROR, "VLC error opening %s for reading\n", path); + switch_channel_hangup(channel, SWITCH_CAUSE_DESTINATION_OUT_OF_ORDER); + goto fail; + } + + context->mp = libvlc_media_player_new_from_media(context->m); + + libvlc_audio_set_format(context->mp, "S16N", 8000, 1); + libvlc_audio_set_callbacks(context->mp, vlc_play_audio_callback, NULL,NULL,NULL,NULL, (void *) context); + + if (switch_channel_test_flag(channel, CF_VIDEO)) { + // libvlc_video_set_format(context->mp, "YUYV", VIDEOWIDTH, VIDEOHEIGHT, VIDEOWIDTH * 2); + libvlc_video_set_format_callbacks(context->mp, video_format_setup_callback, video_format_clean_callback); + libvlc_video_set_callbacks(context->mp, vlc_video_lock_callback, vlc_video_channel_unlock_callback, vlc_video_display_callback, context); + } else { + libvlc_video_set_format_callbacks(context->mp, video_format_setup_callback, video_format_clean_callback); + libvlc_video_set_callbacks(context->mp, vlc_video_lock_callback, vlc_video_unlock_dummy_callback, vlc_video_display_callback, context); + } + + return SWITCH_STATUS_SUCCESS; + +fail: + + return SWITCH_STATUS_FALSE; +} + +static switch_status_t channel_on_init(switch_core_session_t *session) +{ + switch_channel_t *channel = switch_core_session_get_channel(session); + + switch_channel_set_state(channel, CS_CONSUME_MEDIA); + + return SWITCH_STATUS_SUCCESS; +} + +static switch_status_t channel_on_consume_media(switch_core_session_t *session) +{ + // switch_channel_t *channel = switch_core_session_get_channel(session); + vlc_private_t *tech_pvt = switch_core_session_get_private(session); + + // return SWITCH_STATUS_SUCCESS; + + switch_assert(tech_pvt && tech_pvt->context); + + // // start play + // if (-1 == libvlc_media_player_play(tech_pvt->context->mp)) { + // switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_ERROR, "VLC error playing %s\n", tech_pvt->destination_number); + // return SWITCH_STATUS_FALSE; + // }; + + return SWITCH_STATUS_SUCCESS; +} + +static switch_status_t channel_on_destroy(switch_core_session_t *session) +{ + vlc_private_t *tech_pvt = switch_core_session_get_private(session); + + switch_assert(tech_pvt && tech_pvt->context); + + if ((tech_pvt = switch_core_session_get_private(session))) { + + if (tech_pvt->read_codec.implementation) { + switch_core_codec_destroy(&tech_pvt->read_codec); + } + + if (tech_pvt->write_codec.implementation) { + switch_core_codec_destroy(&tech_pvt->write_codec); + } + } + + switch_yield(50000); + + if (tech_pvt->context->mp) libvlc_media_player_stop(tech_pvt->context->mp); + if (tech_pvt->context->m) libvlc_media_release(tech_pvt->context->m); + + tech_pvt->context->playing = 0; + + if (tech_pvt->context->audio_buffer) { + switch_buffer_destroy(&tech_pvt->context->audio_buffer); + } + + if (tech_pvt->timer.interval) { + switch_core_timer_destroy(&tech_pvt->timer); + } + + return SWITCH_STATUS_SUCCESS; +} + +static switch_call_cause_t vlc_outgoing_channel(switch_core_session_t *session, switch_event_t *var_event, + switch_caller_profile_t *outbound_profile, + switch_core_session_t **new_session, + switch_memory_pool_t **pool, + switch_originate_flag_t flags, switch_call_cause_t *cancel_cause) +{ + switch_channel_t *channel; + char name[256]; + vlc_private_t *tech_pvt = NULL; + switch_caller_profile_t *caller_profile; + // const char *err; + + switch_assert(vlc_endpoint_interface); + + if (session) { + switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_ERROR, "session: %s\n", switch_core_session_get_uuid(session)); + } + + if (!(*new_session = switch_core_session_request(vlc_endpoint_interface, SWITCH_CALL_DIRECTION_OUTBOUND, 0, pool))) { + switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_ERROR, "Couldn't request session.\n"); + goto fail; + } + + channel = switch_core_session_get_channel(*new_session); + snprintf(name, sizeof(name), "vlc/%s", outbound_profile->destination_number); + switch_channel_set_name(channel, name); + switch_channel_set_flag(channel, CF_VIDEO); + + if (setup_tech_pvt(*new_session, outbound_profile->destination_number) != SWITCH_STATUS_SUCCESS) { + switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_ERROR, "Error steup tech_pvt!\n"); + goto fail; + } + + tech_pvt = switch_core_session_get_private(*new_session); + caller_profile = switch_caller_profile_clone(*new_session, outbound_profile); + switch_channel_set_caller_profile(channel, caller_profile); + + + if (switch_core_codec_init(&tech_pvt->read_codec, + "L16", + NULL, + 8000, + 20, + 1, + /*SWITCH_CODEC_FLAG_ENCODE |*/ SWITCH_CODEC_FLAG_DECODE, + NULL, switch_core_session_get_pool(tech_pvt->session)) != SWITCH_STATUS_SUCCESS) { + switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_ERROR, "Can't load codec?\n"); + goto fail; + } + + if (switch_core_codec_init(&tech_pvt->write_codec, + "L16", + NULL, + 8000, + 20, + 1, + SWITCH_CODEC_FLAG_ENCODE /*| SWITCH_CODEC_FLAG_DECODE*/, + NULL, switch_core_session_get_pool(tech_pvt->session)) != SWITCH_STATUS_SUCCESS) { + switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_ERROR, "Can't load codec?\n"); + goto fail; + } + + if (switch_core_codec_init(&tech_pvt->video_codec, + "H264", + NULL, + 90000, + 0, + 1, SWITCH_CODEC_FLAG_ENCODE | SWITCH_CODEC_FLAG_DECODE, + NULL, switch_core_session_get_pool(tech_pvt->session)) == SWITCH_STATUS_SUCCESS) { + switch_log_printf(SWITCH_CHANNEL_SESSION_LOG(*new_session), SWITCH_LOG_DEBUG, "Video Codec Activation Success\n"); + } else { + switch_log_printf(SWITCH_CHANNEL_SESSION_LOG(*new_session), SWITCH_LOG_ERROR, "Video Codec Activation Fail\n"); + goto fail; + } + + if (switch_core_session_set_read_codec(*new_session, &tech_pvt->read_codec) != SWITCH_STATUS_SUCCESS) { + switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_ERROR, "Can't set read codec?\n"); + goto fail; + } + + if (switch_core_session_set_write_codec(*new_session, &tech_pvt->write_codec) != SWITCH_STATUS_SUCCESS) { + switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_ERROR, "Can't set write codec?\n"); + goto fail; + } + + if (switch_core_session_set_video_read_codec(*new_session, &tech_pvt->video_codec) != SWITCH_STATUS_SUCCESS) { + switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_ERROR, "Can't set read codec?\n"); + goto fail; + } + + if (switch_core_session_set_video_write_codec(*new_session, &tech_pvt->video_codec) != SWITCH_STATUS_SUCCESS) { + switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_ERROR, "Can't set write codec?\n"); + goto fail; + } + + switch_channel_set_state(channel, CS_INIT); + + if (switch_core_session_thread_launch(*new_session) != SWITCH_STATUS_SUCCESS) { + switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_ERROR, "Couldn't start session thread.\n"); + goto fail; + } + + switch_channel_mark_answered(channel); + + // start play + if (-1 == libvlc_media_player_play(tech_pvt->context->mp)) { + switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_ERROR, "VLC error playing %s\n", tech_pvt->destination_number); + goto fail; + }; + + return SWITCH_CAUSE_SUCCESS; + +fail: + if (tech_pvt) { + if (tech_pvt->read_codec.implementation) { + switch_core_codec_destroy(&tech_pvt->read_codec); + } + + if (tech_pvt->write_codec.implementation) { + switch_core_codec_destroy(&tech_pvt->write_codec); + } + + if (tech_pvt->video_codec.implementation) { + switch_core_codec_destroy(&tech_pvt->video_codec); + } + } + + if (*new_session) { + switch_core_session_destroy(new_session); + } + + return SWITCH_CAUSE_DESTINATION_OUT_OF_ORDER; +} + +static switch_status_t vlc_read_frame(switch_core_session_t *session, switch_frame_t **frame, switch_io_flag_t flags, int stream_id) +{ + vlc_private_t *tech_pvt; + switch_channel_t *channel; + switch_status_t status = SWITCH_STATUS_SUCCESS; + libvlc_state_t vlc_status; + vlc_video_context_t *context; + switch_size_t audio_datalen = 160; + + channel = switch_core_session_get_channel(session); + assert(channel != NULL); + + tech_pvt = switch_core_session_get_private(session); + assert(tech_pvt != NULL); + + switch_yield(20000); + + // goto cng; + + context = tech_pvt->context; + assert(context); + + vlc_status = libvlc_media_get_state(context->m); + + if (vlc_status == libvlc_Ended || vlc_status == libvlc_Error || vlc_status == libvlc_Stopped ) { + switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_INFO, "VLC done. status = %d\n", status); + switch_channel_hangup(channel, SWITCH_CAUSE_SUCCESS); + return SWITCH_STATUS_SUCCESS; + } + + switch_mutex_lock(context->audio_mutex); + + if (switch_buffer_inuse(context->audio_buffer) >= audio_datalen * 2) { + tech_pvt->read_frame.data = tech_pvt->audio_data; + // switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_ERROR, "%d %d\n", (int)switch_buffer_inuse(context->audio_buffer), (int)audio_datalen * 2); + switch_buffer_read(context->audio_buffer, tech_pvt->read_frame.data, audio_datalen * 2); + tech_pvt->read_frame.datalen = audio_datalen * 2; + tech_pvt->read_frame.buflen = audio_datalen * 2; + tech_pvt->read_frame.flags &= ~SFF_CNG; + tech_pvt->read_frame.codec = &tech_pvt->read_codec; + *frame = &tech_pvt->read_frame; + switch_mutex_unlock(context->audio_mutex); + return SWITCH_STATUS_SUCCESS; + } + + switch_mutex_unlock(context->audio_mutex); + goto cng; + +cng: + *frame = &tech_pvt->read_frame; + tech_pvt->read_frame.codec = &tech_pvt->read_codec; + tech_pvt->read_frame.flags |= SFF_CNG; + tech_pvt->read_frame.datalen = 0; + + // switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_ERROR, "read cng frame\n"); + return SWITCH_STATUS_SUCCESS; +} + +static switch_status_t vlc_write_frame(switch_core_session_t *session, switch_frame_t *frame, switch_io_flag_t flags, int stream_id) +{ + return SWITCH_STATUS_SUCCESS; +} + +static switch_status_t vlc_read_video_frame(switch_core_session_t *session, switch_frame_t **frame, switch_io_flag_t flags, int stream_id) +{ + switch_channel_t *channel; + vlc_private_t *tech_pvt; + vlc_video_context_t *context; + uint32_t size; + + channel = switch_core_session_get_channel(session); + switch_assert(channel != NULL); + + tech_pvt = switch_core_session_get_private(session); + switch_assert(tech_pvt != NULL); + + context = tech_pvt->context; + switch_assert(tech_pvt->context); + + switch_mutex_lock(context->video_mutex); + + while (switch_buffer_inuse(context->video_buffer) < sizeof(uint32_t)) { + switch_mutex_unlock(context->video_mutex); + switch_yield(10000); + // switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_ERROR, "waiting for video\n"); + switch_mutex_lock(context->video_mutex); + } + + switch_buffer_read(context->video_buffer, &size, sizeof(uint32_t)); + + if (size == 0) { + goto unlock; + } + + if (switch_buffer_inuse(context->video_buffer) < sizeof(switch_frame_t)) { + goto unlock; + } + + switch_buffer_read(context->video_buffer, &tech_pvt->read_video_frame, sizeof(switch_frame_t)); + + if (switch_buffer_inuse(context->video_buffer) < tech_pvt->read_video_frame.packetlen) { + goto unlock; + } + + switch_buffer_read(context->video_buffer, tech_pvt->video_data, tech_pvt->read_video_frame.packetlen); + + tech_pvt->read_video_frame.packet = tech_pvt->video_data; + tech_pvt->read_video_frame.data = tech_pvt->video_data + 12; + + switch_mutex_unlock(context->video_mutex); + + *frame = &tech_pvt->read_video_frame; + switch_set_flag(*frame, SFF_RAW_RTP); + switch_clear_flag(*frame, SFF_CNG); + + // switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_ERROR, "read video %d\n", (*frame)->packetlen); + return SWITCH_STATUS_SUCCESS; + + goto cng; + +unlock: + + switch_mutex_unlock(context->video_mutex); + +cng: + *frame = &tech_pvt->read_frame; + tech_pvt->read_frame.codec = &tech_pvt->read_codec; + tech_pvt->read_frame.flags |= SFF_CNG; + tech_pvt->read_frame.datalen = 0; + + return SWITCH_STATUS_SUCCESS; +} + +static switch_status_t vlc_receive_message(switch_core_session_t *session, switch_core_session_message_t *msg) +{ + vlc_private_t *tech_pvt = switch_core_session_get_private(session); + + assert(tech_pvt != NULL); + + switch (msg->message_id) { + case SWITCH_MESSAGE_INDICATE_DEBUG_MEDIA: + break; + case SWITCH_MESSAGE_INDICATE_AUDIO_SYNC: + break; + case SWITCH_MESSAGE_INDICATE_JITTER_BUFFER: + break; + default: + break; + } + return SWITCH_STATUS_SUCCESS; +} + +static switch_status_t vlc_kill_channel(switch_core_session_t *session, int sig) +{ + vlc_private_t *tech_pvt = switch_core_session_get_private(session); + switch_channel_t *channel = switch_core_session_get_channel(session); + + if (!tech_pvt) return SWITCH_STATUS_FALSE; + + if (!tech_pvt->context) return SWITCH_STATUS_FALSE; + + switch (sig) { + case SWITCH_SIG_BREAK: + case SWITCH_SIG_KILL: + if (switch_channel_test_flag(channel, CF_VIDEO)) { + uint32_t size = 0; + switch_buffer_write(tech_pvt->context->video_buffer, &size, sizeof(size)); + } + break; + default: + break; + } + + return SWITCH_STATUS_SUCCESS; +} + /* Macro expands to: switch_status_t mod_vlc_load(switch_loadable_module_interface_t **module_interface, switch_memory_pool_t *pool) */ SWITCH_MODULE_LOAD_FUNCTION(mod_vlc_load) { switch_file_interface_t *file_interface; - + switch_application_interface_t *app_interface; + /* connect my internal structure to the blank pointer passed to me */ *module_interface = switch_loadable_module_create_module_interface(pool, modname); @@ -400,14 +1557,21 @@ SWITCH_MODULE_LOAD_FUNCTION(mod_vlc_load) file_interface->file_read = vlc_file_read; file_interface->file_write = vlc_file_write; + vlc_endpoint_interface = switch_loadable_module_create_interface(*module_interface, SWITCH_ENDPOINT_INTERFACE); + vlc_endpoint_interface->interface_name = "vlc"; + vlc_endpoint_interface->io_routines = &vlc_io_routines; + vlc_endpoint_interface->state_handler = &vlc_state_handlers; + /* load the vlc engine. */ - read_inst = libvlc_new(1, &vlc_args); + read_inst = libvlc_new(sizeof(vlc_args)/sizeof(char *), vlc_args); if ( ! read_inst ) { - switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_CRIT, "FAILED TO LOAD\n"); - return SWITCH_STATUS_GENERR; + switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_CRIT, "FAILED TO LOAD\n"); + return SWITCH_STATUS_GENERR; } + SWITCH_ADD_APP(app_interface, "play_video", "play an videofile", "play an video file", play_video_function, "", SAF_SUPPORT_NOMEDIA); + switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_DEBUG, "Initialized VLC instance\n"); /* indicate that the module should continue to be loaded */ From 6dec4de2fe34d4473c2658703543e14c7c4dbea0 Mon Sep 17 00:00:00 2001 From: William King Date: Thu, 24 Jul 2014 21:53:35 -0700 Subject: [PATCH 011/629] FS-7508 FS-7517: [build] Convert the build over to automake, though there is still room to fix the autoconf portion to detect the correct location of libopenh264 Basic conversion for vpx too. Borrowing from ldns handling, setup mod_vpx to prompt for the required library when the module is enabled --- configure.ac | 14 ++++++++++++++ src/mod/codecs/mod_openh264/Makefile.am | 10 ++++++++++ src/mod/codecs/mod_vpx/Makefile.am | 14 ++++++++++++++ 3 files changed, 38 insertions(+) create mode 100644 src/mod/codecs/mod_openh264/Makefile.am create mode 100644 src/mod/codecs/mod_vpx/Makefile.am diff --git a/configure.ac b/configure.ac index 110e0974ea..7f87ef07d1 100644 --- a/configure.ac +++ b/configure.ac @@ -1211,6 +1211,18 @@ PKG_CHECK_MODULES([LDNS], [libldns >= 1.6.6],[ fi],[ AM_CONDITIONAL([HAVE_LDNS],[true])])]) +PKG_CHECK_MODULES([VPX], [vpx >= 1.3.0],[ + AM_CONDITIONAL([HAVE_VPX],[true])],[ + if module_enabled mod_vpx; then + AC_MSG_ERROR([You need to either install libvpx-dev or disable mod_vpx in modules.conf]) + else + AC_MSG_RESULT([no]); AM_CONDITIONAL([HAVE_VPX],[false]) + fi],[ + AM_CONDITIONAL([HAVE_VPX],[true])]) + +#PKG_CHECK_MODULES([AVCODEC], [avcodec >= 53.35.0]) +#PKG_CHECK_MODULES([AVFORMAT], [avformat >= 53.21.1]) + PKG_CHECK_MODULES([MEMCACHED], [libmemcached >= 0.31],[ AM_CONDITIONAL([HAVE_MEMCACHED],[true]) MEMCACHED_LIBS="${MEMCACHED_LIBS} -lpthread" @@ -1550,12 +1562,14 @@ AC_CONFIG_FILES([Makefile src/mod/codecs/mod_isac/Makefile src/mod/codecs/mod_mp4v/Makefile src/mod/codecs/mod_opus/Makefile + src/mod/codecs/mod_openh264/Makefile src/mod/codecs/mod_sangoma_codec/Makefile src/mod/codecs/mod_silk/Makefile src/mod/codecs/mod_siren/Makefile src/mod/codecs/mod_skel_codec/Makefile src/mod/codecs/mod_theora/Makefile src/mod/codecs/mod_vp8/Makefile + src/mod/codecs/mod_vpx/Makefile src/mod/dialplans/mod_dialplan_asterisk/Makefile src/mod/dialplans/mod_dialplan_directory/Makefile src/mod/dialplans/mod_dialplan_xml/Makefile diff --git a/src/mod/codecs/mod_openh264/Makefile.am b/src/mod/codecs/mod_openh264/Makefile.am new file mode 100644 index 0000000000..c541e9563f --- /dev/null +++ b/src/mod/codecs/mod_openh264/Makefile.am @@ -0,0 +1,10 @@ +include $(top_srcdir)/build/modmake.rulesam +MODNAME=mod_openh264 + +OPENH264_DIR=/usr/local/ + +mod_LTLIBRARIES = mod_openh264.la +mod_openh264_la_SOURCES = mod_openh264.cpp +mod_openh264_la_CXXFLAGS = $(AM_CXXFLAGS) -I$(OPENH264_DIR)/include/wels +mod_openh264_la_LIBADD = $(switch_builddir)/libfreeswitch.la +mod_openh264_la_LDFLAGS = -L$(OPENH264_DIR)/lib/ -lopenh264 -avoid-version -module -no-undefined -shared diff --git a/src/mod/codecs/mod_vpx/Makefile.am b/src/mod/codecs/mod_vpx/Makefile.am new file mode 100644 index 0000000000..05d91a1712 --- /dev/null +++ b/src/mod/codecs/mod_vpx/Makefile.am @@ -0,0 +1,14 @@ +include $(top_srcdir)/build/modmake.rulesam +MODNAME=mod_vpx + +if HAVE_VPX +mod_LTLIBRARIES = mod_vpx.la +mod_vpx_la_SOURCES = mod_vpx.c +mod_vpx_la_LIBADD = $(switch_builddir)/libfreeswitch.la +mod_vpx_la_LDFLAGS = -lvpx -avoid-version -module -no-undefined -shared +else +install: error +all: error +error: + $(error You must install your distros libvpx-dev to build mod_vpx) +endif From c9a13474a47d5190d92836f754a3e2026f8f724c Mon Sep 17 00:00:00 2001 From: Seven Du Date: Sat, 26 Jul 2014 08:36:02 +0800 Subject: [PATCH 012/629] FS-7517: add play_yuv to test encoder --- src/mod/applications/mod_fsv/freeswitch.yuv | 1 + src/mod/applications/mod_fsv/mod_fsv.c | 233 +++++++++++++++++++- 2 files changed, 233 insertions(+), 1 deletion(-) create mode 100644 src/mod/applications/mod_fsv/freeswitch.yuv diff --git a/src/mod/applications/mod_fsv/freeswitch.yuv b/src/mod/applications/mod_fsv/freeswitch.yuv new file mode 100644 index 0000000000..ca2d7a12b3 --- /dev/null +++ b/src/mod/applications/mod_fsv/freeswitch.yuv @@ -0,0 +1 @@ +]^]]^]]]]^^^]^]^^]]]^]^]^]^]^^^^^^^^]^]]^]]^]]]^]]]]^^]]^]^]^]^]]]^]^]]]^]^]]]]]]]]^^]]]]]^^]]^]^^]^]^^]]]]^]]]^]^]]]]]]]^]]]]]^]^^^^]]^^]]]^^^^]^^]^]]^^]]]]]]]]^]]]]]^]^]^]^]^^]]^^^]]]^]]^]^]]^^]]^]]]^^]]^]]]]]^]]]]]]]]^]]]]^]^]^^^]]]^^^]]^]]^]]^^^]^]^^]]]]]^]^]]]^]^^]^^^]^]]]^]^]]^]]]]^^]]]]]^^]^^^^^]^^^]^^]]]]]^^]]]^]^]]]]]^]^^]]]^]^]^]]]]]^^]]^^^]^^]]^^^^^^]^]]^]]]^]]^^]^]]^^]]]^^^^^^^^]^]]^^]^]]^]^]^^]]^^^]]]]]^^^^^]]]^]]]^^^]]]]]]]^]]]]^]^]]^]]^]^^^^]]]^^]]]^]^]^^]^^]]^^]]^]]^]]^^]]]]^^^]]^^]^]]^^]]]]^]]]]]]^]]]^]^]]]^^^]^]]]]]^^^^]^]^]]]]^]^]]]]]]]]]^^]]^]]^^]]^^^^^]^]]]]]]]]^^]]]^]]]]]^]]]]]]]^^^^]^^]]^]]]^^]]^^^]]]^]]^^^]]]]]]]]^^]]]^^]]^]]]]^]^^]^^^]]^]]^^]]]]^]]]]]^^]]]^]^^^^^^^^^]^^^^]]]^^]^^^^]]^^^]]]^]^]^^^^]]]]]^]^]]]^]]^]]^^^^^^^]^]]^^]^^]^^]^^]]]]^^]]^]^]]]^^^^^^^^^]]]]]]^]^^^]^]]^^^]^]^]^]]^^]]]^]]]^]^]]]^]^^^]]]^]^^]]]]^]]^^]]]]]]^]^]^]]]]]^]]]^^]]^^^^]]]]^]]^^]]]]]^]^^^^]^]]]^]]^]^]]]]]^^]^]^]^]^^]]^^]]]]]^^]^^]]]]]^^]]]]]]]]]^]^^]]]]^]^^]]^^]]^^^^]]]^]]^]]]]]^^]^^]]^]^^]^^^]]]^]]^^]]^^^^^^]^]^^]^^]^]]^^^]]]^]]]]^]]]]^^]^]^]^]]^]]^]]]^^]]]]^]]^]^]]]^^]^]]]]^]]]]]]]^^]]]^]]]]^]^]]]^]^]]^^^]]]]]^^]^^]]^]]]]]]]]^]^^]]^^^^^^]^]^^]^^]^]]]]]]]^^]^]]]^]^]]^]]^^^^]^]^]]^]]]^^]]^]]^^]]]^]]^^]^]]]]]^^^^^]]]^]]]^^]^^]]^^^^^]]^]]^]^]^]]^^]]^]]^^^^]]]^^]]^]^^]^]^^^]]]^^^^]]^]]^^^]]]^]^]]^]]^^]]^^]^^]]]^]]]]^^]]]^^]]]]]]^^^]]^^^^]^]]]^^]]]^^]]^^]]^]^^^^]^]]]]]^]^]^^]]]^]^^]^]^]]^]^]^^]^^^]]]^]]]]]]]]^]^]]^^^^^^]^]^]^^^^^^]]]]^^]^]]]]]^]^]]^]]^]]^^]^]]]]]]]^^]]]]]^]^^]]]]^]^^^]]]]]^]^]]]]^^]]]^^]^]^^^]^]^^^^^^]^^]]]]]^^]]]]^]]^]]]]^^]^^^]^^^^]]^]^^]^]]^^^]]]]]]]]]]^^^]]]^^]]^]^]^^]]^^^]^]^^]]]^]]^]]]]^]]^^]^^]]]]^^^^]]]]^^]]^^]^]^^^^]]]]]^]]]^^]^^]^^^]^^^]]^^^]^]]]]]]^]^^^^]]^^]]^^^^]]]]]]^^]^]]]^^]^]]^]]^]^]^]]^]]]^^]]]^]^]]]^]^^^^^^]^]^]^]]]]]^^]]^^^]^^^]^^^^^]]]^]^^]]^^]^]]^]^^]^]]]^^^^]^]]^]]^]]]^]]]^]^^^]^]]]]]^^^^]^]^]]^]]^]]^^]^^^]]^]]]^]^^]]^]]^^]]^^]^]]^]]^^^^]]^]]^]]]^^]]]]^]^]^]]^]^^^]]^^]^]^^^]]]]]^]^^]]^^]]]^^]]]]^^^^]]]^]^^]^]]]^]]]^^^]^]]^]]]]^^^]]]]^^^]^^^^^^]^]^]]]]]]]^^]^^]]]^]^]]^]]^]^^^^]^]]]^]]]^]]]^^^]]^^]]^^]]]]]]]^^^^^]^^]]]]^]]^^^^^]]^]]]^]]^^]^]]^]]]^]^^]]]]]^]]]]^^^]^^]]^^]]]^]]^]^]^]]]]]^^^^]^^^]]]]]]]]^]]]^^]^]]^]^]^]^]]]]^^]^^]^^^]]]^]]^^]^^^]]^^]^]^]^]^^]]]^^^]^^]^^]^]]^^^^]^]]]]^^]]^]^]^]]^^]]]]]]]]]]^^^]]^]]^^]^^]]]]]]^]^]^^]]]^^]]]^]]^^^]^]^^]]]]]^]]]]]]]]^^]]]]]]^]]^]]]^]]^^]]]^^^^]^]]]]]]]]]]]^^^^]^]]]^^]]]]^]]]]]]^^]]]]^]^^]]^^]^^]^]]]]^]]^]]]]]^^]^^^]^]^]]^^]]]^]^^^^^]]^]]^]]^]^]]^^^^]^]^]^]]]]]]^^]]]]^^^^]^^^^]^^]]]^]]^]^^]]]]^]^]^^]^]^]^^^^]^^]^]^^^^]^^]]^]]]]]^]^^^]]]^^]]]]]^^]^^]^^]^]]]]]]^]^]]]^^^]^^]]]]]]^]]]^]]]]]]^^]]]]]]]^]^^]]^]^^]^]^]]^]]^^^]]]]]^^]]]^]^]^]]]]]]]^^]^^]]]^]]]]^^]]^^^]]^^]]^^^]]^]^]]^^]]^]]^^^^]^^^^]^^^^]]^]^]^]]^]^^^]]^]]^^]]^]]]]]]^]^^]]]]^^^^]]]^]]]^]^^]]^^^]]]]]^^^]]^^]^]^]]]^^^^]^^]]^]]^]]]]]^]^^^]]]^]^]^]]]]]]^]]^]^]]^]]]^]^]]]^]^]]]]]]^^]^^^]^]^]^]]^^]^]^]^]^^^]]^]^]^]]]]^]]^^]]]]]]]^^]]]]]^^]^^]]]]]]]^]^^^]]]^]^^]]]^]^]^]]^]]]]]]^]^]]^]^^^]]]]]^^]^]]^^]]]^]]^]]]]^]]^]^^^^^]]^^^^]^^^]]^^^^^^^]]]]]]]^]]]^^]]]]^]]^^^]]]^^^]]^^^]^]^]]^^]]]^]^]]]]]^^]^]]^^^^^^^]]]]]^^^^]^^]]^]]^]^]]]^^]]]]]]]]]]]^]^^^]]]^]]]^^]^^]]]^^^^]^^]^^^]]]]]^]^]]]^]^^]]]]^^]^^^]]^]]]^^^]^^]]]]]^^^^^^^^]^]]]^]]]]]^^^]]^^]^^^]]]]]^]]]^^]]]]^^^^^^^]]]]^]]]^^]^]^]]]]]^]]]]]]]^]]^^^^]]^]]^^]]]^]^^^]]]^]]]^]^^]]]]]]]^]]^]]^]]]^]^^]]^]^^]]^^^]^]]^]]]]]]]^]]]]]^]^]]^^]]]^]]^]^]^^]]]]]]^^^^]]]^^]]^]]]^^]^^]^]]^^]^^^]]^]^]]^^^^^]]^]]^]^]^^^^]^^]]^^]^^^]]]^^]]]]]]^]]^]]]^^]^]]^^]]^^^^]]^]]]^]]]]^^]^^]]]^^]^]]]]]^]^]^^]]^]^]^]]]^]]]]]^^^]^]]^]^^]^^^^]]]^^^]]]]^]^]^]^^]^]]]^^]]]^^]^^]]^^]^]^]]]^^^^^^]^^]^^]]^^]^]]^]^]]^]]]^]]]^]]]]^]]^]^^]^]]]^]]]^]^^^]]^]]]]]]^^^^]]^^^]^^^]]^]^]^^^^^^^]^]]]^]]^^^]^^]^^]]^]^]]]]]^^]^^^]]^^^]]]]]]]^^]^]^^]^^]^^]]^]^^^^^]]^^^]]]]]]]]]^]]^^]]]]^]]]^]^]]]^^]^]]^]^^^]]^]]]]^]]]^]]]^^]]^]]]^]]^^]^]]]]^^^^]^]^]]]]^^^]]^^]^]^]]]]^^^]]]]^]^]]^^]]^]]]^]^]^]^^]^^^^^^]]^^^]]^^]]^]]^]]]^]^]]]]^]^]]]^^^]]]^^^]^^]]^^^^]^^^^]]]]^^]^^]^]]]]^^]^^^]^]]^]^]^^]^^]]]]]^^^^]]]]^]]]^]^^]]^]^^^]^]]]^]]^]]]]]]^^]^^]^]]^]^]^]^]^^^]]]^^^]^]]]^]^]^]^]]]^]]]]^^]^]^]]]]]]]]]^]]]^]^]]]^]]^^^]^]^]]]^]]]^]^^^]]]^^]]]]]^]]^^^]]^^]^^^]]^^^]^^^]]^^^]]^^]^]]]]^]^^]]]]]]^]]]]]]^]]]^]^]]^^^]^^]]]^^^]]^]^^]]^]^]]]]]^]^^]^^]^]^]]]^^]^^]]^]]]^]]]]^^]]]^^]^^^^]]^^]]]]^^]^]]]]]]]^]]]^]^]^]^]]]]]^^^]]^^]^]^]^^^^^]]]]]]]^]^]]^^^]^]]]]^]^]^]]^]]]]]]]]^]^^^]^]]^]]]]]^]]^^]^]^]^^]]]^]^]]]]^]]]]]]]]^^]]]^^^^]]^]^^]]]^^^]]^^]^^]]^^]^]^]]^^^]]^^]]^]]]^]]^]^^]^^^^]^]^]^]]]^]]^]]]]]^^^]]]^^]^^^]^]]^^]]^^]]^]^]]]^^^]^^^]^]^^^^^^]]]^]^^^^^^^]^^^]^]^]]]]^^]]^]]]^]]]^]]^^]]^^]]^^^]]^]]^^]]]]]^^^^^]]]]]]^^]^^^]^^]]]^]]]^]^]]^]^]^^^^^^]]]]]]^]^]^^^^^]]]]^]]^]]^^]^]]]^^^^^^^]]^]]]^]^]]]^^^^^^]^]]^]]]]^]]^]]^]]]]]]]]]]^^]]^^^^]]^]]]]^]]^]^^^^]]^]^^^]]]]]]]]]]]]^^]^]]]]]]^^^]^]^]]]]]^^^^]^]^]]^]^^]^]]]]]^]^^^]]^^^]^]]]]^]^^^]]]^^]^]]]^]]^]^]^^^]^]^]]^^]^^^]]^]^]]^^]^]]^^]]^]]^^]^^^^]]]]^]^]]^^^^^]]]^]]^^]]]^]^]]]]]]^^]^]]^]]^^]]^^]^^^^]^]]]]]^]^]]^]^^]^]]^]]]^]]^]]^]]]]^^]^^^]^]^^^^]^]]^]]^^]^^]]]^]^^^^^^]]]^]]]^^^]^]^]]]]]]^^^]]]^]^^]]]^^]^^]]]]]]^^^]]]]^]^]^]^]]^^^]]]]^]^]]^]]^^]]]]]]^^]]^]]]^^]]]^^]]^^^^]]^]]^]]]^]^]^^^^]]]]]]]]]]]^^^^]]]^]^]]^]]]^]^^]]]^]]^]]]]]]]^]^]^^]^^]]]^]^]^]]^]]]^]^]]]^]]]]]^]^^^]]]]^]]]^]]^^]]^]]]]^]]^^]]^]]]]^]]^]]]^^^]]^]]^]^]^^]^]^]^^^^^^^]^^]]]^^^^^^]]^]^^^]]^]^]^]^^]^^^]^]]^]^]]]^]]]^]]]]^]^^^]^^^^]^^]]]^^]]]]]]^]]^]]^^^^^]^]^]]^]]]^^]]]^^^^^]]^]]]]^]]^]]^]]]^]^]^^]]]]]^]^]]^]^^]]]]]]^]]]^]]^^]]]]^^]^]]]^^]]]]]^]]^]]]]]]^^]^]]^^]^^^]^]]^^^^]]]]^]^^]]]^]^]^]^]]]^^^]]^^]^]^]]^]]]]]]^^]^]]^]]]^]^^^^]^]^]]]^]]]]]]^]]]]^^]^]]]^]]^^^]]^^^^]^]^^^]]]^^^]^^]^]^]]]]]]]]]^]^]]]]]]]]]]^]^^]]^]]^]^^^]]^^^]]]^^]]^^^^]^^]]^]]^]]]^]]]]^]]]]^]^^]^]]^^^^^]]]]^^]]]]]]]^]^]]^^^]]]^^]^]]^]]]]^^]]]]^]^]^^]]^]]^^]]^^^]^^]^^^]^^^]^]]]^^]]]]^]^^]]]]]^^]^]]^]]]]^]]]^^]]^]]]]^]]^^]]]]]]^^]]^]]]]]^]^]]]^]]^^]^]]^^^]]]]]]^]^]]^^]]^^^]]]]^]^]]^^^]^]]]]]^]^]]]]]^]]]]]]^]^]^^]]^]^^^^^]^]^]]]]^]]]^]^]]]^^]^^]]^^]^^]]^^]]^]^]]^^^^^^^]]^]^^^]^]]^]^]^^]]^^]^^]]]]]]]]]]^^]^]^^^^]]^]^]^]]^]^]^^]^]]^]^^]^]]]]]^^^^]]^^]]^]]^^]]^]]]]^]]^]]^^]^]^^^^]^]^]]]^]]^]^^]^]^]^^]]^]]]]]]]]^^]]^]]^^^^]]^]]^]]^]]]^]]^]]]^]]]]]]]^^]]]]^]^^]]]]]]]^]]^]^]^]]^]]]]]^]^^^]]^]^^]^^]^]]]^]^]]^]]^^]^]]]^]]]]^]^]]^]^]]^^^^^]^^]^^^^^]^]]]^^]]^]]]^^^^]^]^]^]^^^^^]]]^]^]]^^^]^]^]]^^]^^^]]]^]^]]]]^]]^]^^^]]]^^^^^]]^^]]]^^]^]]]]^]]^^^^]^^]^]]^^]]]^^^]]]^]]]^]^]]]]]]^^]]^]^^]^]]]]]]]^]^^]^^^]]]]]^^]]^^]]]]^]]]]^^]]^^]^^^^]^]]]^^]]^^^^^]]]^^]]^^]]^]]^]]^^]^]]]^]^]]]]^^]]]]^^^^]^]]]]]]]]^]]^^^]]^]]^]]]^]^^]^]^]]]^]^]^^^]]^^]]^]^]^^^]^]]]^^]^]]]]]]]^^^]]]]^]]^]^^]^^]^]^]]]^^]]]]^]^]]]]]]]]]^^]]]]]]^]]^]]^^]]]^]]]]]]]^]^^^]^^]^]]]]^]^]]]]^^]^]]^^]]]^]^^]]]]]^^]]]^^]]]]]^]]]]^]]^^]]]^]]^]^]]^^^]]]]]^]^]]]]^]^]^]^]]^^]^^]]^]^]^^]]]^]]^^]^^]^]]]^^]^^^^]]]^]^]^]]]^]^^^]]]]^^^]]]]^]^^]]]^^]]]]]]]]]^]]^^^^^^^]^]]^]]]]^]]]^]^^]]^^]]]]^]]]]]]]]]^]]]]^]]^]]^]^]]^^]^]]]]]^^]]]^]]]^]]]^^^]^]]]]^]]]]]]]^^]^]^]]^]]^^]^^]^^]]^]]^^^]]]^]]]^]]]]]]^]^]^^]]^^^]]]^^]]^]]]^]^]]]]^]^^^^]^]]]^]^]^^^^^]]]]]]]^]^^]^^^]]^]^^^]]^^^]]]^^]^]]^]^]]]^]^^]^^^^]^]]]]^]]^^^^^]]]^^^]]^^^]^^]^^]^^]]]]]^^^]]]^]]^^^^^]]^]^^^]^^]]^]]^^^^]]^^]]^^]^^]^^^^]]]]]]]]]]]]^^]]]]^]^]]]^]]]]^^]]^]^]^^]]^^]]^^]^^]^]^]]^]^]^]]]^]]^^^^^]]]^^]]]]]]^]]^^]]^^^^]^]]]]^^^]^^^^]]^^^]]]]^^]]^]]^^]]^^]]]]]]]^]]]^]^^]^^^]^^^]]]^]]^^^^]]]]]^]]]^]]^^^]^^^^]^]]]]]^^^]^]]^^^]]^]^]]]]^]^]]^^^]]^^^^^]]]^^]]]^^^^^]]^]]^^^^^]^^]^^^]]^]]]^^^^^^^]]]]]]^]]]]^^^^^^^]^]]]^]]]]]^^]]]]^^]^]^^^^]]^]^]]]]^]^]^^^^^]^^^]]^]]]^]^^^^]]^]]]]]]^]]]^]]]]^^]]]^]^]^]]^]^]^]^]^]^]]^]^^]]]]]^^^]^^]]]]]]]]]]^]^]]^]^]^^]]^]]]]]]]]]^^]]^]]]^]]]^^]]]^]]^^]]]^]]]]]]^]^]^^]^^]^]]^^]^^]]]]^]]^^]^]]]^]^]]^]]]^]^]^]^]]^]]]^^]^]^]]]^^]^]^]]^]]^^^]]]^^^^^]]^]^^]]^^]]^^]^]]]^]]]]]^^]^^^]]]^]]^]]]^]]]^]]^]]]^^]]^^^]]^]]]]^^^^^]^]]]^^]]]]]^]^]]^^^]^]]^]]]^^]]^^^^]]]^^]]]]]]]]]]^^]]]]]]]^^^]^]]]]]^^]]]^]^]]]]^]]^^]^^]]]]]]]]^]^]]^^^^^^]]]^]^]^^^]]]]^^^]]]^]^^]]^]]^^]^]]]]]]]^^^^^^]]^^]]]^^]^]]]]]]^]]^^^]]^]]^]]^^]^^]^^^^]^^^^]^^^]]^^]]^]^^]^^^^]^^]^^^^]]^^]]^]^]]]^^]]^^^^^^^^^^^]^]^^]]]]^^^]]^]^]^]]^^]]^]]]^^]^]]]]]^]^]^]]]]]^^^^^]^]]]]^]^^]^]]^]^]]^]]^^]]]]]^^]^]^^^^^]]^^^]]^]^]]]^^^^]^^]]^]]^]]]]]]^]]]]]^]]^^^^]]^^^]]^]^^]^^^]^]]^^]]]^^]]]]^^^^^]^]^^]]]]^^]^^]]]]]]]^^]^]]]^^]^^]]]]]^^]]]]^^]]^]]^]]]^^]^]]^^]^]^^^^]]^]]]^]]^^]]]^^]^]^^^]]]]^]]]]^]^]]]]]]^^^^]^^^]]^]]^^]]^]]^]]^^]]]^]^^^]]^]^]]]]]]^^^]^]^^^]]]^]]]]]^^]]]]^^]^]^]^]^]]]]^]]]]]]]]^]]]^]^]]]^]]^^^^^]^]^]]^]]^^^^^]]]]]^]^^^]^]^]]]]]^]^^]^]^]]]]^^^]]]]]^]^]^]^]]^]]^]]^]]^^^^^^]^]]^]^]]^^^]]]]^^^^^]^^^^^^]]^^]^^]]]]]]^]]]]^^^^]^]]]]]^]^^^]^]^]^^^]^^]^]]^]^]]^]]^]]]^^]^]]^]]^]^]]]]^^]]]]]^]^^^^^]]^]^]^^]]]^]]]^]^]^^^^]^^]]]^]^^^^^^]^^]]^^^^^]]]]]^]]^]^]^]^]]^^^]^]]^]^^]^]^]^^]]^]]]]^^]]^^]]^^]^]]]^^^]]^]]]^^^]]]]^]^^]^]]]^]^^]]^]^]^]^]]]^^]^]^]^]]]^]^]^]]^]^^^]^]^^]]]]^]]^]]]]^^^]^]^]]]]^^]]^^^^]^]^^]^^^^]]]^^]^^^]]^^]]]^^^]]^^]]]]]^]]]]]^^^^]^^]]]^^]]]]^]^]]]]]]]]^^]]^]^^]]]]]]]^^]^^^^]]]^^]]]]^]^]]^]^]^^^^]]]]^]]^^]^^]^^]]^^]^]^^]]^^]^]^]^]^]]]]^]^^]^^^^^]^^]]]]]]]^]^^]^^]]^^]^^]]]]]]]]]^]^^^^]^]]^^]]]^]]]^^^]^]^]]^^^^^]^^]^]^^^^^^^]]]^^^]]^^]]^]^^^]]]]]]^]]]^]^]^]^]]^]^^]]]]^^^^]^]^^]]]^]]]^]]^]^]^^^^]^^]]^]^^]^^^]]^^]^]]^]]]]^]]]]^^]]^]^^]^]]]]]]]^]^^]]]^]]^]^^^]^]]]^]^]^^^^]]]]^]]]]]^^^]^]]^]^]]^^^]^]]]^]]^]^^]^]]]]]]]]]]]]^]]^]^]]^^]^]]]^]^]]]]^]^]]^^]^]^^]^^]]]]]^]]^]]]^]^^^^]]]]^]^]^^^]]]]]^]]^]^]^]]]]^]]]]^]]^^]]]^^^]^^]]^^]^^^^]^^]]]]]]]]]]^^]]^^]]]]]^^]]]^^^]^^^^]]]^]]^]]]^]^^]]]^^]]^]^^^^]^^^]]]^^^]]^]]^]^^]^]]^^]]^^]^]]^]]^^^]^^^^]]]]]]]]]]^]]^^]]]]]]^]^^^]]^^]^^^]]]^]]]]^^^]]]]]^]^^^]]]]]]]]]]^]]^^^^^]^]]^^]]]]]^^]]^^^^^^^^]]^]]^]]]]^]]^^]]]]]^^^^]]^^^^]^]]^]^^]]]]]^^]^]^^]^]]^^]^]]^]]]]]]]]^^^]]^]]]]^]^^^]]]]^]]^]]]]^^^]^]]^^^]]^]^]^^^^^^]]^]^^]^^]^]]^^^]^]]^^]]]^]]^^^^^^]]^^^]]]^]^]]^]]^]]]^]^]^]]^^]^^]^^]]^]^^]]]]^^]^]]^^]^]]]^]]^^]^^]^^^]]]^^]^]]^]]^^]^^]^]^]]]^]^]]^]]^]]]^]^^]]^^^]]^]]]]]^]]]^^^]]^^]^]^^^]]]^^^]^]]^^^^]]]^]^]^]^]]]^^^^]]^]^]^]^]^]^^^]]^]^^]^]]^^^^^^^]]^]^]^^]]^]^]]]]^]^^]^^]^^^]^^^]^]]]]]]^^]^^^^^^]]^^]]^]]]]^^]^]^]^]^]]^]^]]^]^]]]]]^^]]^^]]^]^]]^]^^]^]^^^]]^]^]^^^^^]]]]^]]]]]]^]^]^]]]^]]]]^^]]^^]^^]^^]]]]]]]^]]^]^]]]]^^]]^^]]^^^^]^]^]]]]]]]]^^^^^]]^]]]]^]^]]^]^]]^^]]]^^^]]^^]]^^]]^]^]]^^]^]]]^]^^]]^]^]^^]]^^^]^^]]^^]]^^^^]^]]]]^^^^^]]^^]^]^]]]^]^^^^^^]]^]^]]^]]]^^^]^^]]^]^]]]]]]]^^]^]]^]^]]^^^^^]^^]]]^]^]]]]]^^]^]]^]^]^^]]^]^]^]]]]]^]^^^]^]]^^]]]^^]]^^]]^^^]]]]^]]]]^^]]^^]]]^^^^]]^]^]]^^]^^]]]]]^^]^]]^]]]^]^]^]]^^]]]^^^^^^^^^^^]^^^]]]]^]^]^^]]^]^]^]^^]]]]^]]]]^]^^]^]]]]^]]]^^]]^]]^]]]^]^^^^^^]^^]^^^^^]^]]^]]]^]^]^^]]^]]]^]^]]^^]]]^^]^]^]^^]]]^^^]^]]^]^]^]^]^]]^]]]^]^^]^]^^]^^]]]]^^]]^^]^]^]]]^]]]^^]]]]]]]^^]]^]^^]]]]]]]]]]]^^]]^]]^^]]^^]]^]]^]^]]^^^]]]]^^]]^]]^^]^]]^]^^]^^^]]^^]]]^]]^^]]]]]^]^]]]]]]^^]^]]^]]^]^]]]^]]]]^]^]^]]^^]^]^^]]]^]^]]^]]]]^]]]^]^^]]]]^]^^^]^]]]]]^]]^]^^]^^^]^]]]]^^]^^]]^^]^]]]^]^^^^^]^^]^]]^]]^]]^^^^^]^]]]^]]^^]]]^]^]]^]^]]^]]]]^]^^^^^]^]^]]^]^]]^]]^]]]^]^^^]^]]]]]]^^^^]^]^^^]]^^^^^]]^^^^]^^^^]^]]]]]^^]]^^]]]]^]]^]^^]]^^]^]]]]]^^]]]]^]]]]]]^]]^]^^]]]]]^]]]]]]^]^^]]]]^^]]]]]^^]^^^]]]]]^^^]]]^^]]^^^]]^^]]]]]^^]]]^]^^^]]]^]^^]^]^]^]]^]]^]]]]]^]^^]]]^]^]^^]]^]]]^]]]]]]^^^]]]]]]]]]]]]^^]]^^]]]^]^^]]]^]]^]^]]^]^^]]^]]]]^^^]^]^^]]^^^]]]^]]^^]^^]^]^^]]^]]^^]^]]^^]^^^]]]^]]]]^^]]]^^^]]]]]^]^]]^]^^^]]^]]]]]^^]]]^]]^]^]^]^^^]^^]^]]^^]]]^]]^]^^]]^^]]^^]^^]^^]^^^^]]^]]]^]^^^]^^^^]]^]^^^]^^^]^]^^^]]]]]^]^]]]^^]^^^^^]]^]^]^]^]^]^^^^]^]^^]^]]]^]]^^^]^^]^]^^]]^]^]^^]]]^]]]^]]]^]^]]]]]]]]^]^^]^^^]^^]]^^]]^]]]^]]]]]]]^]^]]]]]]]]]^]]^]]^^^]]]]]^]^]]]]]^]^^^]^]]]]^]]^^^^]^]]^^^]]^^^]^]^]]^^]^^]^]]^^]]^^]]]]]]]]^]]]]]^^]^]]^^^]]^]^]]]]]]]]]]]]]]]]^]^^^]]]]]]^^^^]]]^^]]^]]]]]^^^]]^]]^^]^^]^]]^]]^^]]^^]^]^]]]]^^]]^^]^^^^^^^]]^]^]]^]]]^^^]^^]^^^^^^]]]]^^^^^^]^]]]]^]^]]^]]^]]^^]]^]^]^]]]]]^^^]^]^]]]]^^^^^]]]]]]^^]]]]]]^^]^]]^]^^]]]]^]^]^^^]]^^]^]^^^]]]]^]]^]]]^]]^^^^]^]]]]]]]]]]^^]]]]]^]]]]^]]]]]]^^]]]^]]]]]]]]^]^^^]^]]^]^]]]]^^]]]^^^]]^]]]^]^^]^]]^]]]]]]]]]^]^^]^]^]^^]^]^^]^]]]^^^]]^^^^^]]]]^]]]^]]]^]^]]]^]^^^]^]]^^^]^]^]^]]^^]^]^]^]^^]]^]^]]^]]]^^]]]]^]]^]^]]]]]]]]]^]^]]^]^^]]^]]^]]^^]]^^]]]]^^]]]]]]]]]]^]^]^]]]]^^^^^^]^^]^^]]]]]]]]^]^^]]^]^]^]]]^]^^^]]]]]]]^]]]^]]^^]]]^]]]]]^]^^]^]]^^]]^^^]]]]]]]^]]^]]]^]]]]]]^]^^]]]^]]^]]]]]^]]^^]]]^^^]]]]^]^]^^]^]]^^^]]]]]]]]^]]]^^^]]^]]]^]]^^]^^]]^^^]]]^^]^^^]]]]^^]^]^]^^^^^]]]^^]]]]^]^^]]^^]^^^^]^]^]]]]]]]^]^^]]]]]^^]]]]^]^]^^]^^^^^]^]^]]]]]^]]]^^]^]]^]]^]]]]^^^]^]^^]]]^]^]^]^]^^^^^^^^]^]]^]]^]]]^]]]]^^]]^]^]^]^]]]^]^]]]^]^]]]]]]]]^^]]]]]^^]]^]^^]^]^^]]]]^]]]^]^]]]]]]]^]]]]]^]^^^^]]^^]]]^^^^]^^]^]]^^]]]]]]]]^]]]]]^]^]^]^]^^]]^^^]]]^]]^]^]]^^]]^]]]^^]]^]]]]]^]]]]]]]]^]]]]^]^]^^^]]]^^^]]^]]^]]^^^]^]^^]]]]]^]^]]]^]^^]^^^]^]]]^]^]]^]]]]^^]]]]]^^]^^^^^]^^^]^^]]]]]^^]]]^]^]]]]]^]^^]]]^]^]^]]]]]^^]]^^^]^^]]^^^^^^]^]]^]]]^]]^^]^]]^^]]]^^^^^^^]]]^]^]]^^^]^]^]]^^]^^^]]]^]^]]]]^]]^]^^^]]]^^^^^]]^^]]]^^]^]]]]^]]^^^^]^^]^]]^^]]]^^^]]]^]]]^]^]]]]]]^^]]^]^^]^]]]]]]]^]^^]^^^]]]]]^^]]^^]]]]^]]]]^^]]^^]^^^^]^]]]^^]]^^^^^]]]^^]]^^]]^]]^]]^^]^]]]^]^]]]]^^]]]]^^^^]^]]]]]]]]^]]^^^]]^]]^]]]^]^^]^]^]]]^]^]^^^]]^^]]^]^]^^^]^]]]^^]^]]]]]]]^^^]]]]^]]^]^^]^^]^]^]]]^^]]]]^]^]]]]]]]]]^^]]]]]]^]]^]]^^]]]^]]]]]]]^]^^^]^^]^]]]]^]^]]]]^^]^]]^^]]]^]^^]]]]]^^]]]^^]]]]]^]]]]^]]^^]]]^]]^]^]]^^^]]]]]^]^]]]]^]^]^]^]]^^]^^]]^]^]^^]]]^]]^^]^^]^]]]^^]^^^^]]]^]^]^]]]^]^^^]]]]^^^]]]]^]^^]]]^^]]]]]]]]]^]]^^^^^^^]^]]^]]]]^]]]^]^^]]^^]]]]^]]]]]]]]]^]]]]^]]^]]^]^]]^^]^]]]]]^^]]]^]]]^]]]^^^]^]]]]^]]]]]]]^^]^]^]]^]]^^]^^]^^]]^]]^^^]]]^]]]^]]]]]]^]^]^^]]^^^]]]^^]]^]]]^]^]]]]^]^^^^]^]]]^]^]^^^^^]]]]]]]^]^^]^^^]]^]^^^]]^^^]]]^^]^]]^]^]]]^]^^]^^^^]^]]]]^]]^^^^^]]]^^^]]^^^]^^]^^]^^]]]]]^^^]]]^]]^^^^^]]^]^^^]^^]]^]]^^^^]]^^]]^^]^^]^^^^]]]]]]]]]]]]^^]]]]^]^]]]^]]]]^^]]^]^]^^]]^^]]^^]^^]^]^]]^]^]^]]]^]]^^^^^]]]^^]]]]]]^]]^^]]^^^^]^]]]]^^^]^^^^]]^^^]]]]^^]]^]]^^]]^^]]]]]]]^]]]^]^^]^^^]^^^]]]^]]^^^^]]]]]^]]]^]]^^^]^^^^]^]]]]]^^^]^]]^^^]]^]^]]]]^]^]]^^^]]^^^^^]]]^^]]]^^^^^]]^]]^^^^^]^^]^^^]]^]]]^^^^^^^]]]]]]^]]]]^^^^^^^]^]]]^]]]]]^^]]]]^^]^]^^^^]]^]^]]]]^]^]^^^^^]^^^]]^]]]^]^^^^]]^]]]]]]^]]]^]]]]^^]]]^]^]^]]^]^]^]^]^]^]]^]^^]]]]]^^^]^^]]]]]]]]]]^]^]]^]^]^^]]^]]]]]]]]]^^]]^]]]^]]]^^]]]^]]^^]]]^]]]]]]^]^]^^]^^]^]]^^]^^]]]]^]]^^]^]]]^]^]]^]]]^]^]^]^]]^]]]^^]^]^]]]^^]^]^]]^]]^^^]]]^^^^^]]^]^^]]^^]]^^]^]]]^]]]]]^^]^^^]]]^]]^]]]^]]]^]]^]]]^^]]^^^]]^]]]]^^^^^]^]]]^^]]]]]^]^]]^^^]^]]^]]]^^]]^^^^]]]^^]]]]]]]]]]^^]]]]]]]^^^]^]]]]]^^]]]^]^]]]]^]]^^]^^]]]]]]]]^]^]]^^^^^^]]]^]^]^^^]]]]^^^]]]^]^^]]^]]^^]^]]]]]]]^^^^^^]]^^]]]^^]^]]]]]]^]]^^^]]^]]^]]^^]^^]^^^^]^^^^]^^^]]^^]]^]^^]^^^^]^^]^^^^]]^^]]^]^]]]^^]]^^^^^^^^^^^]^]^^]]]]^^^]]^]^]^]]^^]]^]]]^^]^]]]]]^]^]^]]]]]^^^^^]^]]]]^]^^]^]]^]^]]^]]^^]]]]]^^]^]^^^^^]]^^^]]^]^]]]^^^^]^^]]^]]^]]]]]]^]]]]]^]]^^^^]]^^^]]^]^^]^^^]^]]^^]]]^^]]]]^^^^^]^]^^]]]]^^]^^]]]]]]]^^]^]]]^^]^^]]]]]^^]]]]^^]]^]]^]]]^^]^]]^^]^]^^^^]]^]]]^]]^^]]]^^]^]^^^]]]]^]]]]^]^]]]]]]^^^^]^^^]]^]]^^]]^]]^]]^^]]]^]^^^]]^]^]]]]]]^^^]^]^^^]]]^]]]]]^^]]]]^^]^]^]^]^]]]]^]]]]]]]]^]]]^]^]]]^]]^^^^^]^]^]]^]]^^^^^]]]]]^]^^^]^]^]]]]]^]^^]^]^]]]]^^^]]]]]^]^]^]^]]^]]^]]^]]^^^^^^]^]]^]^]]^^^]]]]^^^^^]^^^^^^]]^^]^^]]]]]]^]]]]^^^^]^]]]]]^]^^^]^]^]^^^]^^]^]]^]^]]^]]^]]]^^]^]]^]]^]^]]]]^^]]]]]^]^^^^^]]^]^]^^]]]^]]]^]^]^^^^]^^]]]^]^^^^^^]^^]]^^^^^]]]]]^]]^]^]^]^]]^^^]^]]^]^^]^]^]^^]]^]]]]^^]]^^]]^^]^]]]^^^]]^]]]^^^]]]]^]^^]^]]]^]^^]]^]^]^]^]]]^^]^]^]^]]]^]^]^]]^]^^^]^]^^]]]]^]]^]]]]^^^]^]^]]]]^^]]^^^^]^]^^]^^^^]]]^^]^^^]]^^]]]^^^]]^^]]]]]^]]]]]^^^^]^^]]]^^]]]]^]^]]]]]]]]^^]]^]^^]]]]]]]^^]^^^^]]]^^]]]]^]^]]^]^]^^^^]]]]^]]^^]^^]^^]]^^]^]^^]]^^]^]^]^]^]]]]^]^^]^^^^^]^^]]]]]]]^]^^]^^]]^^]^^]]]]]]]]]^]^^^^]^]]^^]]]^]]]^^^]^]^]]^^^^^]^^]^]^^^^^^^]]]^^^]]^^]]^]^^^]]]]]]^]]]^]^]^]^]]^]^^]]]]^^^^]^]^^]]]^]]]^]]^]^]^^^^]^^]]^]^^]^^^]]^^]^]]^]]]]^]]]]^^]]^]^^]^]]]]]]]^]^^]]]^]]^]^^^]^]]]^]^]^^^^]]]]^]]]]]^^^]^]]^]^]]^^^]^]]]^]]^]^^]^]]]]]]]]]]]]^]]^]^]]^^]^]]]^]^]]]]^]^]]^^]^]^^]^^]]]]]^]]^]]]^]^^^^]]]]^]^]^^^]]]]]^]]^]^]^]]]]^]]]]^]]^^]]]^^^]^^]]^^]^^^^]^^]]]]]]]]]]^^]]^^]]]]]^^]]]^^^]^^^^]]]^]]^]]]^]^^]]]^^]]^]^^^^]^^^]]]^^^]]^]]^]^^]^]]^^]]^^]^]]^]]^^^]^^^^]]]]]]]]]]^]]^^]]]]]]^]^^^]]^^]^^^]]]^]]]]^^^]]]]]^]^^^]]]]]]]]]]^]]^^^^^]^]]^^]]]]]^^]]^^^^^^^^]]^]]^]]]]^]]^^]]]]]^^^^]]^^^^]^]]^]^^]]]]]^^]^]^^]^]]^^]^]]^]]]]]]]]^^^]]^]]]]^]^^^]]]]^]]^]]]]^^^]^]]^^^]]^]^]^^^^^^]]^]^^]^^]^]]^^^]^]]^^]]]^]]^^^^^^]]^^^]]]^]^]]^]]^]]]^]^]^]]^^]^^]^^]]^]^^]]]]^^]^]]^^]^]]]^]]^^]^^]^^^]]]^^]^]]^]]^^]^^]^]^]]]^]^]]^]]^]]]^]^^]]^^^]]^]]]]]^]]]^^^]]^^]^]^^^]]]^^^]^]]^^^^]]]^]^]^]^]]]^^^^]]^]^]^]^]^]^^^]]^]^^]^]]^^^^^^^]]^]^]^^]]^]^]]]]^]^^]^^]^^^]^^^]^]]]]]]^^]^^^^^^]]^^]]^]]]]^^]^]^]^]^]]^]^]]^]^]]]]]^^]]^^]]^]^]]^]^^]^]^^^]]^]^]^^^^^]]]]^]]]]]]^]^]^]]]^]]]]^^]]^^]^^]^^]]]]]]]^]]^]^]]]]^^]]^^]]^^^^]^]^]]]]]]]]^^^^^]]^]]]]^]^]]^]^]]^^]]]^^^]]^^]]^^]]^]^]]^^]^]]]^]^^]]^]^]^^]]^^^]^^]]^^]]^^^^]^]]]]^^^^^]]^^]^]^]]]^]^^^^^^]]^]^]]^]]]^^^]^^]]^]^]]]]]]]^^]^]]^]^]]^^^^^]^^]]]^]^]]]]]^^]^]]^]^]^^]]^]^]^]]]]]^]^^^]^]]^^]]]^^]]^^]]^^^]]]]^]]]]^^]]^^]]]^^^^]]^]^]]^^]^^]]]]]^^]^]]^]]]^]^]^]]^^]]]^^^^^^^^^^^]^^^]]]]^]^]^^]]^]^]^]^^]]]]^]]]]^]^^]^]]]]^]]]^^]]^]]^]]]^]^^^^^^]^^]^^^^^]^]]^]]]^]^]^^]]^]]]^]^]^]]^^]]^]^]^]^]]^^^]^]^]]^]^]^^^]]]]^]]]^]]^]]]^^]^^^]]^^]]]]^]^]^]]]^^]]^]^]]]]]]^^]]^]^^]]]]]]]]]]]^^]]^]]^^]]^^]]^]]^]^]]^^^]]]]^^]]^]]^^]^]]^]^^]^^^]]^^]]]^]]^^]]]]]^]^]]]]]]^^]^]]^]]^]^]]]^]]]]^]^]^]]^^]^]^^]]]^]^]]^]]]]^]]]^]^^]]]]^]^^^]^]]]]]^]]^]^^]^^^]^]]]]^^]^^]]^^]^]]]^]^^^^^]^^]^]]^]]^]]^^^^^]^]]]^]]^^]]]^]^]]^]^]]^]]]]^]^^^^^]^]^]]^]^]]^]]^]]]^]^^^]^]]]]]]^^^^]^]^^^]]^^^^^]]^^^^]^^^^]^]]]]]^^]]^^]]]]^]]^]^^]]^^]^]]]]]^^]]]]^]]]]]]^]]^]^^]]]]]^]]]]]]^]^^]]]]^^]]]]]^^]^^^]]]]]^^^]]]^^]]^^^]]^^]]]]]^^]]]^]^^^]]]^]^^]^]^]^]]^]]^]]]]]^]^^]]]^]^]^^]]^]]]^]]]]]]^^^]]]]]]]]]]]]^^]]^^]]]^]^^]]]^]]^]^]]^]^^]]^]]]]^^^]^]^^]]^^^]]]^]]^^]^^]^]^^]]^]]^^]^]]^^]^^^]]]^]]]]^^]]]^^^]]]]]^]^]]^]^^^]]^]]]]]^^]]]^]]^]^]^]^^^]^^]^]]^^]]]^]]^]^^]]^^]]^^]^^]^^]^^^^]]^]]]^]^^^]^^^^]]^]^^^]^^^]^]^^^]]]]]^]^]]]^^]^^^^^]]^]^]^]^]^]^^^^]^]^^]^]]]^]]^^^]^^]^]^^]]^]^]^^]]]^]]]^]]]^]^]]]]]]]]^]^^]^^^]^^]]^^]]^]]]^]]]]]]]^]^]]]]]]]]]^]]^]]^^^]]]]]^]^]]]]]^]^^^]^]]]]^]]^^^^]^]]^^^]]^^^]^]^]]^^]^^]^]]^^]]^^]]]]]]]]^]]]]]^^]^]]^^^]]^]^]]]]]]]]]]]]]]]]^]^^^]]]]]]^^^^]]]^^]]^]]]]]^^^]]^]]^^]^^]^]]^]]^^]]^^]^]^]]]]^^]]^^]^^^^^^^]]^]^]]^]]]^^^]^^]^^^^^^]]]]^^^^^^]^]]]]^]^]]^]]^]]^^]]^]^]^]]]]]^^^]^]^]]]]^^^^^]]]]]]^^]]]]]]^^]^]]^]^^]]]]^]^]^^^]]^^]^]^^^]]]]^]]^]]]^]]^^^^]^]]]]]]]]]]^^]]]]]^]]]]^]]]]]]^^]]]^]]]]]]]]^]^^^]^]]^]^]]]]^^]]]^^^]]^]]]^]^^]^]]^]]]]]]]]]^]^^]^]^]^^]^]^^]^]]]^^^]]^^^^^]]]]^]]]^]]]^]^^]]^]^]]]^^]]^^]^]]]^]]^^]^]^]^]^]]^^]]]]^]]]^^]^^]]^]^]^^]]]]]]]]^]^]]^^^]^]^]]^]]^^]]^^]]]]^^]]]]]]]]]]^]^]^]]]]^^^^^^]^^]^^]]]]]]]]^]^^]]^]^]^]]]^]^^^]]]]]]]^]]]^]]^^]]]^]]]]]^]^^]^]]^^]]^^^]]]]]]]^]]^]]]^]]]]]]^]^^]]]^]]^]]]]]^]]^^]]]^^^]]]]^]^]^^]^]]^^^]]]]]]]]^]]]^^^]]^]]]^]]^^]^^]]^^^]]]^^]^^^]]]]^^]^]^]^^^^^]]]^^]]]]^]^^]]^^]^^^^]^]^]]]]]]]^]^^]]]]]^^]]]]^]^]^^]^^^^^]^]^]]]]]^]]]^^]^]]^]]^]]]]^^^]^]^^]]]^]^]^]^]^^^^^^^^]^]]^]]^]]]^]]]]^^]]^]^]^]^]]]^]^]]]^]^]]]]]]]]^^]]]]]^^]]^]^^]^]^^]]]]^]]]^]^]]]]]]]^]]]]]^]^^^^]]^^]]]^^^^]^^]^]]^^]]]]]]]]^]]]]]^]^]^]^]^^]]^^^]]]^]]^]^]]^^]]^]]]^^]]^]]]]]^]]]]]]]]^]]]]^]^]^^^]]]^^^]]^]]^]]^^^]^]^^]]]]]^]^]]]^]^^]^^^]^]]]^]^]]^]]]]^^]]]]]^^]^^^^^]^^^]^^]]]]]^^]]]^]^]]]]]^]^^]]]^]^]^]]]]]^^]]^^^]^^]]^^^^^^]^]]^]]]^]]^^]^]]^^]]]^^^^^^^^]^]]^^]^]]^]^]^^]]^^^]]]]]^^^^^]]]^]]]^^^]]]]]]]^]]]]^]^]]^]]^]^^^^]]]^^]]]^]^]^^]^^]]^^]]^]]^]]^^]]]]^^^]]^^]^]]^^]]]]^]]]]]]^]]]^]^]]]^^^]^]]]]]^^^^]^]^]]]]^]^]]]]]]]]]^^]]^]]^^]]^^^^^]^]]]]]]]]^^]]]^]]]]]^]]]]]]]^^^^]^^]]^]]]^^]]^^^]]]^]]^^^]]]]]]]]^^]]]^^]]^]]]]^]^^]^^^]]^]]^^]]]]^]]]]]^^]]]^]^^^^^^^^^]^^^^]]]^^]^^^^]]^^^]]]^]^]^^^^]]]]]^]^]]]^]]^]]^^^^^^^]^]]^^]^^]^^]^^]]]]^^]]^]^]]]^^^^^^^^^]]]]]]^]^^^]^]]^^^]^]^]^]]^^]]]^]]]^]^]]]^]^^^]]]^]^^]]]]^]]^^]]]]]]^]^]^]]]]]^]]]^^]]^^^^]]]]^]]^^]]]]]^]^^^^]]]]]^]]]]^]]]]]^^]]]]]^]^]]]^^]]]]]]^]^^]]]]]^^]]]]]]]]]]]^]]]]]^]^^]]^]]]^^]^]]]]]]^]]]]]^^]^^]]^]^^]^]^]]]^]]^^]]^^^^^^]^]^^]^^]^]]^]^]]]^]]]]^]]]]^^]^]^]^]]^]]^]]]^^]]]]]]]^]^]]]^^]]]]]]^]]]]]]]]]]]]^]]]]^]^]]]^]]]]]^^]]]]]]^]^]]]^]]]]]]]]]]^^]]^^^^^^]^]^^]^^]]]]]]]]]^^]]]]]^]]]]^]]^^^]]]]^]]^]]]^]]]^]]]^]]]]]]]^]]]]]]]]]^^]]]]]]]]^]]]]]]^]]^]]]]]]]]^]^]]^]]]]]]]]^]]]]^^]]]]]^]]]^^]]]]]]]]]]]]]]]^]]]^]^]]]]]]^]]^]]^^]]]]]]]]^^]]]^]]]]]]]]]^]]^]^]]]]]]]]]]]^^]]^]]]^]^^]^]]]]]]]]]^]^]]]]]]^^]]]]]]]]^]]^]^^^]]]^]]]]]]]]]]]]]]]^]]]]]]]]]]]]]^]]]]^]]]]]]]]^]^]]^]]^]]^]]]]]]]]]]]]]]]]]^]^]]]]]^]^]]]]]]]]]]]]]]^]]]]]]]^]]^]]]]^]]^]]]]^]]]]]^]]]]]]]]]]]]]^]]]]^]]^^]]]^]^^]^]]^]]]]]]]]]]]]]]]]]]^]]]]]]]^^]]^^]]]]]]]]]]]]^]]]]]]]^]]]]]]]]]^]]]]]]]]]]]]]]]]]^^]]]]]^]]]^]]^]]]]]]]]]]]]]]]^]]]]]]]]]]^^]]^]]]^]]]]]]]]]^]]]]]]^^]^]]]]]]]^]^]]]]]]]^]]]]]]]]]]]]]^]]]]]]^]]]]]]]]]]]^^]]]]]]^]^^]]]]]]^]]]]]]]]]]]]^]]]]]^^^]]^]]]]]]]]]]]]]]]]]]]^]]]]]]]^^]]]]]]^]]]]]^]]]]]]]^]]]]]]^]]]]]]]]]^]]]]]]]]]]]]]]]]]^]]]]]]]]]]]]]^]]]]^^]]]]]]^]]]]]]]]]]]]]]]]]]]]]^]]]]]]]]]]]]]]]]]]]]^]]]]]]]]]]]]]]]]]^]]]]]]]]]]]^^]]]]]]]]]]]]^]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]^]]]]^]]]]]]]^]]]]]]]]]]^]]]]]]]]]]]]]]]]^]]]]]]]]]^]]]]]]]]]]]]]]]]]]^]]]]^]]]]^]]]]]]]]]]^]^]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]^]^]^]]]]^]]^]]^]]]]]]]]]]]]]]]]]]]^]]]^]]]]]]]]]]]]]]]]]]]]]]]]^]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]^]]]]]]]]]]]]]]]]]^]]]]]]]]]^]]]]]]]]]]]]]]]]]^]]]]]]]]]]]]]]]]]]]]]]]^]^]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]^]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]^]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]^]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]\]]]]]]]]]]]]]]\]]]]]]]]]]]]]]]]]]]\]]]]]]]]]]]\]]]]]\\\]]]]]]\\]]]]\]]]]]]]]]]]]]]]]]]\]]]]]]]\]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]\]]]]]]]]]]]]]]]]]]]]]\]]]]]]]]]]]]]\]]]]]]]]]]]]]]]]\]]]]]]]]]]]\]\]]\]]]]]]]\\]\]]]]]]]]\\]]]]]]]]]]\]\\]]]\]\]\]]]\]]]]]]]\]]\]]]]\]]]]]]]]]\]\\]\\]\]\]\]]]]]]\]]\]]]]\]]]\]]\]\\]]]]]]]\\\]]]\\]\\\]]\]]\\\]]\]]]\\]\]\\]\]]]]\]]]]\\\\\]]]]]\]]]]\]]]]]\]]\]]\]\]]\\\]\]]]\]]]]]]]\]]]]]\]]]]]]]]]]\\]\]\\]\\]\]]\]\]]]]]]]]\]]]\]]]]\]]]]]]\]]]\]]]]\\]]]]]]]]]\]]]]]]\\]\]]]]]]]]]]]]]]]]]]]]\]]]\]]]]]]]\\]]]\]]]]\\]]]]]]]]]]]]]]]]\]]\]]\]\]]\]]\]]]]\\\]]]]\]]]\]]]\\]]]]]\\]\]]]]\]]]]]\\]]]]]\\]\]\\\]]]]\\]]]]]\]]\]\\\]]]]]]]]]\]\]\\\]\]]]]\]]\]]]\\\\]]]\]]]\]]\]]\\\\]]]]\]\]\]]]]\]]\]\]\\]]\\]]]\\\\\\]]\]\\]\\\\\]\\\]\\\\]\]\\\]]\\]]\]]\\]\]]\]]\\\\]\\]\\\\\\]]\\\\]]]]]]\]\]]]]]]]\\\]\\]\]\\]]]\]]\]]\]]\\\]\\\\\\\\]\\\]\\\\]]\]\\]]]\\]]\]]]\\\\\\]]\\]\\]]\]\\]\\\\]]\\]\\\]]]]\]\\]\\\\]\\]\\]\\]\\]\]]\\\\\\\]\]]\]]\\\\\\]\]\]\\]\\\]]]]\]\\]\\\\\\\]]\]\\\\\\]]\]\\]\\]\]\\\\\]]]\\\\]\\]\\\]\\\]\]\\\]\\\\]\\]\]\\\\\\\\\]\\\\\\\\\]\\]]\\]\]\\\]\\\\\\]\\\\]\\\\\\\\\\\]\\]\\]\]\\\\\\\\\\\]\\\\]\\\\\\\\\\\\\\\\\\\\\\\\]\\\\\\\\]]]\\\\\\]\]\\\\]\\\]\\\\\\\\\\]\\\\\\\\\\\]\\]\\]\\\]\\\\]]\\\\\\\]\]\\]]\\\\\]\]\\\\\\\\\\\\\\\]\\\\\\\\]]\\]\\\\]\]]\\\\\\\\\\\\\\\\\\\\\\\\\\\\]\\\\\\\\\\\]\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\]\\\\\\\\\\\\\\\]\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\[\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\[\\\\\\\[\\\\\\\\\\\[\\\\\\\\\\\\\\\\\\\\\\\[\\\[\\\\\\\\\\\\\\\\\\\\\\\[\\\\\\\\\\\\\\\\\\\\\\\\\\\[\\\\\\\\\[\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\[\\\\\\\\\\\[\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\[\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\[\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\[\\\\\[\\[\\\\\\\\\\\\\\\\\\[\\\\\\\\\\[\\\\\\\\\\\\\\[\\\\\[\[\\\\\\\[\\\\\\\\\\\\\\\\\[\\\\\\\\\[\\[\\\\\\[[[\\\\\\\\\\[\\\\[\\\\\[\\\\\\\\\\\[\\\\\\\\\\\\\\\\\\\\\\\\\\\[\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\[\\[[\\\\\\\[\\\\\\[\\\\\\\\\\\\[\\\\\\\\\[\\\\\\\\\\\\\\\\\\\\\\\\\\\\\[\\\\[\\\\\[[\\\\\[\\\\[\\\\\\\\\\\\[\\\\[\\\\[\\[[\\\\\\\[[\\[\\\\\\[\\\\\[[\\[\[\\\\\\\\\[\\\\\\\[[\\\\\[\[\\\\\\\\[[\\\[[[\\[\\\[[[\[\\\\[\\\[[[[[[\\\\\\\\[[[[[[[[\\\\[[[[\\[\\[[[[[\[\\\[\[\\\[\[[\[\\[[\\\\\[\[\[\\\[[\\\[[\\\[\\\\\[\\\[\\\\[\\\\\\\\\\\[\[\\\\\\\\\[\\\\[[\\\\\[\[[\[\\\\[\[\\[\\[[[\[\\[[[[[\\\\\\\\\\[\[\[[\[\\\\\[\\[[\[\[[\[\\\\[[[\[\[[[\\\[\\\[\\\[[[[\\\[[[\\[\\\[\\\[\[\[[[\[[[[[[[\[\[\[[\[[\[[\\[[\\\\[[\[[[[\[\[[\[[\[\[\[[\[[\[[[\\[[\[[\[\\\[[\\\\\\[\[[[\[\[\[[\[[[[[[[[[\\[\[[[[\\[[[[[\[[[[[[[[[\[[[[[[[[[[[\[[[[\\[[[[[[[[[[[[[[[[[[\[\[[[[\[[[[\\\\\[\[[\\[\[[\[[\[\[[[\\[\\[[\[[[[[\[\[\[\[[\[\[\[[\[[[\[[[[[[\\[\[[\\\\[\[[[\[[[[[[\[[[[[\[[\\[[[[\[[[[[[[[\\\[[[\\[[[[[[[[[[[[[\[[[\[[[[\[[[[[[\[[[[[[[[[[[[[[\\[[[[[[[[[[[[[\[[\\[\\[[[[[[[[[[[[[[\[\[[[[[[[[[[[[\[[[[[[[[[[[[[[[\[[[[[[\[[[[[\[[[[[[[[[[[[[[[[\[[[[[[[\[[[[[[[\[[[[[\[[[[[[[[[[[[[[[[[[[[[[[[[[[[\[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[\[[[[\[[\\\[\[[[[\[\\[[\[[[[[[[[\[[[[\[[[[[[[[[[[\[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[\[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[\[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[\[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[Z[[[[[[[[[[[[[[[[Z[[[[[[[[[[[[[Z[[Z[[[[[[[[[[[[[[[[[Z[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[Z[[[[[[[[[[[[[[[[[[[[[ZZ[[[[[[[[[[[[[[[[[[[[Z[[[[[[[[[[[[[Z[Z[[[[[[[[[[[[[[[[[Z[[[[[[[[[[[Z[[[[[[[[[[Z[Z[[Z[[[[[[[[[[[Z[[[[[Z[[[Z[[[[[[[[[[ZZ[Z[[[[Z[[Z[[[Z[[[[Z[[[[Z[ZZ[Z[[[[[[Z[Z[[[Z[Z[[[Z[ZZ[Z[[[Z[[ZZZ[ZZZ[[Z[[ZZ[[[[[Z[Z[ZZ[[[[[Z[[[[[[[[[[[Z[Z[[[Z[[Z[[[Z[[[[[[[[[Z[[Z[[Z[Z[[Z[[ZZ[[[Z[Z[[ZZZ[[Z[ZZ[[[Z[[[[[Z[[Z[Z[[Z[Z[[Z[[[[Z[[[Z[Z[[Z[Z[[[Z[[[[[[Z[Z[[[[Z[ZZ[Z[[[[[[Z[[[[[[ZZZ[[[[Z[[[[Z[[[Z[[Z[[[ZZZ[[ZZ[Z[[Z[[ZZZ[ZZZZ[ZZZ[[Z[[[Z[[[ZZZZ[[[[Z[[[[ZZZ[Z[ZZ[Z[ZZZ[[ZZZZ[ZZZZZ[ZZ[ZZZZ[ZZ[ZZ[ZZZZZ[ZZ[ZZ[ZZ[Z[Z[ZZ[ZZ[[[ZZZZZ[[ZZZ[ZZ[[Z[ZZZZZ[[Z[[ZZZ[ZZZZ[ZZ[ZZ[[[[[ZZ[ZZZZ[Z[ZZ[[ZZ[ZZ[[Z[ZZZZ[ZZ[Z[[Z[Z[[[Z[ZZ[[[ZZ[[[[[[ZZ[ZZ[ZZ[ZZ[ZZZZ[ZZ[ZZZ[ZZZZZZZZZ[[ZZZZZZZ[ZZ[[Z[[Z[ZZZ[[ZZ[[ZZZ[[Z[ZZ[Z[[Z[ZZZZZ[Z[Z[ZZZZ[ZZZZ[Z[ZZ[ZZZ[ZZZZZZZZZZZZZZZZZ[ZZZZ[[Z[[[Z[Z[Z[Z[Z[[ZZZZZ[Z[ZZZZZZZ[ZZZZZZZZZ[ZZZZZZZZZ[ZZZZZZZZZ[ZZZZZZZ[[ZZZZZ[ZZZZZZZZZZZ[ZZZZ[Z[ZZZZZZZZ[Z[ZZZZZZZ[ZZZZZZZZZZZZZ[Z[ZZZZZZZZZZZZZZ[ZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZ[ZZZZZ[ZZZZZ[Z[[ZZZZZZZZ[[ZZZ[[ZZZZZZZ[ZZZ[[ZZZZZZZZZZZZZ[[ZZZZZZZZZ[Z[ZZZZZ[ZZZZ[ZZZZZZZZZZZ[ZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZ[ZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZYZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZYZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZYZZZZZZZZZZZZZZZZZZZYZZZZZZZZZZZZZZZZZZZZZYZZYZZYZYZYZYZZZZYZZZYZZYZZZYYZZZZZZZZYZZZZZZYZZZZYZZYZZYZZZZZZZZZYZZZZZYZZYZZZYZZZZZYZYZZZZYZYYZZZZZZZYZYZZZZZYZZYZZYZZZYYZZZYZZYZZZYZYYZYZZYYZZZZZZZZZZYZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZYZZZZZZYZZZZZZZZYZZZYYZZZZZZYZZZZZZZZYZZZZZZZZZYZZZZZZZZZZZYZZZZZZZYYZZZYZZZZZZZZYZZZZZZZYZYZYZYZYZYZZZZZZZZZYZZZYYZYZZZZZYYYZYYZZZYYYYYZZYZYZZZZZZYZZYZYZYZZZYZZYZZZYYYYZYZYYZZYZYYZZZYZZZZZZYZZZYYYYZZYZZZZYYYZYYYZZYYYZZYZZZYZZYYZYYZYYZZZYYZYYZYYZYZYZZYZZYZYZZZZYZZYZYYYYZZYZZYYZYZZYYZYYYZZZYYZZYYYYYYYYYYYZYYYYZZZYZZZZZYZYZZZZZZZZYZYYZYZZYZZZYYZYYZZZZZYYZZZZYZYZZZYZZYYYZZZZYYYYZZZYZZZYZZYZYYZYZYZYZZZYZYYZZYYZZZZYZYZZYZYZZYZYYYYYYZZYZYYYYYYZYZYYYYYYZYYYZYYYZZYYZZYYYYYYZYZYYZZZZYYYZYYZYYYYYYYZZYZZYYYZYYYYYYYYZYYYYYYZYYYYYYYZYZYZZYYYZYYYYYYZYYYZYYZYYYZYYYYYYYYYYYYZYZYYZYYYYYYZYYZYYYYYYYYYZYYYZYYYYYYYYYYYYYZYYYYYYYYYYZYYYYYYYYYYYYYZYYZYYYYYYYYYYYYYYYYYYYYZYZYYZZYYYYYYYYYYZYYYYYYZYZYYYYYYYYYZYZYYYYYYYYYYYZZYZYZYYYZYYYZYYZYZYYYYYYYYZYYYYYZYZYYYYYYYYZZZYYZYYYYYYYYYYYZYYYYYZYZYYYYYYYYYZYYYZYYYYYYYYYYYYZYZYYYYYYYYYYYYYYYYYYYZYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYZYYYYYYYZYYYYYZYZZYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYZYYYYYYYYYYYYYYYYYYYYYYYYZYYYYYYYZYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYZYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYZZYYYYYYYZYYYYYYYYYYYZYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYXYYYYYYYYYYYYYYYYYYYYYYXYYYYYYYYYYYYYYYYYYYYYYXYYYXYYYYYYYXYYYYYYXYYYXYYYYYXXYYXYYXYYYYYYXYYYYYYYYYYYYYYYYXYYYYYYXYYYXYYXYYYYXYXYXYYXXXXYYYYXXYYYXXYYYYYYYYYYYXXYYYYYYYYYYYXYYYYYYYYYXXYYYYYYYYYYYYYYYYYYYYYYYYYYYYYXYYYYYYXYYYXXYYYYYYYYYXYYYYYYYYXYYYYYYXYYYYYYXYYYYYXYYYXYXXYYYYYYYYXYYYYXYYYYYYXYYXYXYYXYYYYYXXYYXYYYYXYYYYYYYYYXYXYYYXYXYXXXYXYXYYYYYYYYYYYXXYYXYYYYYYYYYYYXXXYYYYYXXYYYXYXXXYYXYXYYXYXYXYXXXXYXYYYXYYXYYXXYXYXXYYXYYYXYYXXXYXYXXXXYXXYXYXXXYYYXXYYYYXXYXYYXXXYYYXXYYXYYXXYYXYXYXYXYYXXYYXXYXXYYXXYXYYXYYYYYYXYYYXYXYXYYXXYYYYYYXXXYYYYYYXYXYYYYXYYYXYXYYXXYYYXYYYYYXYYYYYYXXYYXYYYYYYYXYYYYYXYXXXXYYXXYXXYYXXXYXXYYXXYYXXYYYXXYXXYYYXXXXYYYYYXXXXXXYYXYYYXYYYXXYXXXXXYXXYXYXYYYYYYXXXXXXYXXXXYXYXXXXXYXXXXXYXXYXXXXYXYYYXXXYXXXYXYXXXYYYYXXXYXXXXXXXYXXXXXXXXXXXXXXXXXYXXXXYYXXXXXXXXXXYXXYXXXXYXXXXXXXXXXXXXXXXXXXXXXXXXXYXXXXXXXXXXXXXYXXXXXXXXXXXXXXXXXXXXYYYXXYYYXYXXXXYXYYYXXXXYXYXXXYXXYXYXXYXXXXYXXXYXYYXXXXXXXXYXXYXXYYXXYXXXYXYXXXXXXXXXYXXXXXYXXXXXXXXYXXXXXYXXXXXXYXXYXXXXXXXXXYXXXXXYXXXXXXXXXYXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXYXXXXXXXXXXXXXXXXXXXXXXXXXXXXXYXYXXXXXXXXYXXXYXXXXXXYXXXXXXXXXXXXXXXXXYXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXYXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXYXXXYXXXXXXXXXXXXXa||||||}|||||||||||aXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXjֻaXXXXXXXXa||||jXXXXXXXXXXXXXXXa|||||jXXXXXXXXXXXXXXX`||||jXXXXa||||aXXXXj|||||||||||||||||||||||||||sXXXXXXXXXXXXXsğsXXXXXXXXXXXXXX||||`XXXXXXXXXXXXXXXXXXXs|||sXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX||XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXj`XXXXXXsXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX||XXXXXXXXXXXXXX`֎XXXXXXXXXXXX|XXXXXXXWXXXXXWXWXXXXXWXXXXXXXXXXXXXXXXXXXXXXXXXXXWXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX||XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXWXXXXXXXXXXssXXXXXXXXXXXXXXXXXXXXXWXXXWXXXXXXXXWXiXXXW||XXXXXXXXXXXWWsXXXXXXXXXX|XXXXWXXWWWXWWWXWXXWWXWXWXXXWWWXWWWXXXXWXWXWWXXWWXWXWXWWXXXWXXXXWXWXWWXXXXXXWXXWXXXXXXXXXWXX||XXXXXWWXXXXXXXWWWXXWXWXXXXWXXXXWXXWXWXXXXXXXXXWXXXXXXWWXXWWWXXWXXXXXWXWXWWjß`XXXWWiWWWWWXWXXWWXX`XXWXWWWWWWWWXWWXWWX||WXWXWWWWXWWWߍWXWWXWWWX|WWWWWWWXWXXXWWWXWWXXWXWWWWXWXWWWWWWWWWWWWWWWWWWWWWWWWWWWWXXWXXWXWWXWWWWWWWWWWWXXWWWWXWXWWXW|rXWXWWWWWXWXWWWWXXWXXWXXWWWWWXXWWWWWXXWWWXWWWWWWWWWWWXWWWXWWWXWWXWWWWWWWWWWiWWWXW`XWWWWWWWWWWWWXXWXWWWWXWWWWWWWWWrWWWWW{|WWWWèWWWWWWW躍iWVVWW||WWWWWVWV|WWVWWWWWVWVWWWVVWVWWWWWWWWWWWWWVWWWWWWVVWVWVWWWVWWWVWWWVWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWW|WWWWWWWWWWWWWWWWVWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWVWWWWVWWWWWWWWWWWWWWWWWWVWWiWWVWWWWWW`WWVWiWWWVWWWWVWWWWVVWWWWWVVWVWWVWWWWW||WVVWWVWWVVVVWVVVWVWWWVWWWWWVWWWWVWhVWWWVVVWVWW`WWVVWVV|WWVVWWWVVWVWVVWVWVWWWWVVVWVWVVWVVWWWVWWVVVVVVVWVVVVVWWVWWWVWWWVVWWVWWWVWVWWVWWVWVWVWVWWWWWW|WVWWWWWWWVWWWWVWWWWWVVVWWVWWWWVVWWVWWVVVWWWVWWWWWWWVWWVWWWWVVWWWWWWVVWVVVWWWWWWWVVVWVVVVWWVWVWVVVVVVVWVVVWWVVWVVVVVVVWqWVVVVVVVWVVV_VVVVV|{VVVWWVVVWVVVWVVVWVWVVVVVVWVVVVVVWVVVVVVVVWVVVVVVVVVVVV{VVVVVVVVVVVVVVVVVVWVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVWVVVVVVVVVVWVWVVWVVVVWVWVVVVVWVV{VVVVVWVVVWVVWVVVWVVWVVVVVVWVVVVVVVVVVVVVVVVWVVVVVVVWVVVVVVVWVVVVVVWVVVVWVVVVVVVVVVVVVVVVVVVVVVVVVVWiVVVVVhVVVVVVVVVVVVqVVVVVVVVVVVVVVVVVV{zVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVViVVVVVVVVVVVVVVVVVVVVVVV{VVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVzVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVV{VVVVVVVVVVVVVVVVVzVVVVVVVVVVV_VVVVVVVVVVVVVqVVVVVV{{VVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVzVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVV{VVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVhVVVVVVVVVVqVVVVVV{zVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVV_zVVVVVVVVVVVVVVVVUVqzzzzhVVVVVVzVVVVVVVVVUVVVUVVVVVVVVVUVVVUVVVVVVUVUVUVVVVVVVUVVVUVVVVUVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVzVVVVVVVVVVVVVVVVVVVhzzzhVVVVVzVVVVVVVVhÖhVVVVVVVVVVVUVVVqߺ_VVVVVVVVVV_VVVVVVVUVVVVVUUVUUVUUVVUVVVVVVVUqVUVVVVVVVUVVVUVVUUVUzzUUUVVVUVVVVUVVVVVUUVVVVVVVUVVVVVVVUVVUVUVUUUVUVVVVVVVUUVUVVVUUzUVVUUVVUVVUVUUUVUUUVUUVUUVUVUUVUVUUVVUVUUUVUUVUUVVUVUUVUVVVVVVVVVVUVUVVVVVVVVVUVVVVUUVVVVVVzVVUVUVUVVVVUVVVUVUVUUU_UVVUVV__VUVVUVUVVVVgޕUUUVUVUUU_VUUVVUUVUUVUVUUVVVUUUqUUVUUVUUVqVVUUUUUUUUUUUUUUUUUUUzzUVUUUUUUUVUUUUUUUVUVVUUUUUUUUVUUUUVVUUUUVUUUVUUUUUUUUUUUUVUUUUyUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUVUUUUUUUUUUUUUUUUUUUUUUVUVUVUUVUVVUUUVUUVUUUUUVUVUUUUUzUUUUUUUUUUUVUUUVUUVUVqUUUUU_^UUVUUUVUVqUUUUUUUU_qUUUUUUVUUUUUUUUUUUUUhUUUUUUUUUUUUUU_UUUUUUUUzTUUUUUUyzUUTUUUUUUUUUUUUUUUUUUUTUUUUUUUT^UUUUUUUUTUUUUUTUUUUTUUTUUUUUUUUyUUUUUUUUUUUTUUUUUTTUUUUUUUUUUUUUUTUTUUUUUUUUUUUTUUUUUUUUUUUUUUUUUTUUUUUUUUUUUUUUUUUUUUUTUUUzTUUUUUUUUUUUTUUUUUUUqUUUU_ߕ^UUTUz^UUUUUUUqՃUUUUTUUUTUUUUhTUUTUTUUUUUUUUUUUUUUUUUUUUUgUUUUTUUUUUUUUgUUUUUUUyzTUUUUUUUTUUTUUTTUUUTUUUTUUTUTUgTTUUTUUUUUUTUUUUUUUUUUUUUUTUTUTUyTTTUTTTTTTUTUTUTUUUUTTUUTUUUUUTTTTTTUUTUUTUTTUTTUTTUUTTTUUUUUUUUTTUUTTUUUUUUTUUTTTTUTUTUUUUyyzzzyyyzyyyzzpUUTUU^UUUUqUTUUTTUUUTUTTUT^UUUTUTU^UUUUUTTUÂTUUTUUTUTUUTTTTUUTUUTUUUUTUUTU^UUTUTUUTTUTUTUTUzyUUTUUTUUTTTTTTTUUTTTTUTTTTUTTUyUTUTTTTUTTUUTUUTUTTTUUTUTTUTTTUTyyyyyyyzzzyzzyzyyzzTTTTUUTTUTTUUTTTTTTTTTTTTUTUTTUTTUTUTUTTUTTUUTUTTTUTTUUUUUTUUTUTUUUTUUTUyTTTTTÌfUTUTTTgTUTUUTTTU]gUTTTTgTTUTUTTUTpTUUTUTTT^Օ^TTTTTTTTTTTUTTzTTTTTTUUTTTTTTTTTTTTUTTTTTUUUTyyTTTUUTTTTTTTTTTTTUTTTTTUTUTTTTTTTTTUTTUTTUTTTTTTTTUTTTTTTTTTTTUTTTTUTTTTTTTTTTTTTTTUTTTTTTTTTTTTTTTTTUTUTTTUTTTTTTTTUTUTTTTTTTUTTTTTUTzTTUTTތTTTUTTTTTTTTTUTTUTTTUTTTTTTTTTTUTTTTTTTTTTTTTްfTTTTTTTTTTTT]TTTTTTfTUTTTTTTTTTTTyTTTTTTTTyyTTTUTTTTTTTTTTTTTTTTTTTUTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTSTTTTTTTTTSTTTTSTTTTTTSSTTTTTTTTTTTTTTTTTTTTTTTUTTTTTTTTTTTTTTTzTTTTTyTTTTTUTTTTTTTTTTTTTTTyTTTTpfTTTTTTTTTTTTTTTTTTTTT]]TTTTTTTTTTTTTTTTTTTTTTTTpTTTTTTSTTSTSSTTyyTTSTTSTTTSTSTTSSTSTTTTTTTSSSSTSSTTTSSTTTTTTTSTSTSTTSSTTSTSTTTTTTSTSSTTTSSTTSSSTSSSTTSTTSSSTTTTSTTSSSSSSTTTTTTTSTTTTTTTTTSSTSTTTSTTTTTSyçTTTSSTSTTTTTTTSp]TTTTTTTTSTTS]TTTTTSTTTTTTTTTxSSTSSTTTSSTT]yTTSTTSSSSTSSTTST]SSTSSSSSTSTSSSTSSSSSTSTxxTTSSTSSSTTSSSSSSSSTTSTSTTSTSSSSSSSTSTSSTSSSSSSSSSSTSSSSSSTSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSTSSSSSSSSSTSTTSSTSTSTTTTSSSTTSSSSSTTTSSSSTTTSxTSSSSSTSTSSSTSTSSST]TSTTTSSTSSSTSSSTSSSSTSSxSSSSSSSSSSSSTSSxSSSTSSSSSSSSSSSSSSSSSSSToySSSS]SSSSSSSSSxSSSS]SSSSSSSSSxxSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSxSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSxSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSxSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSxSSSSSSSSSSSSSSSSSSSSffSSSSSSSSSSSSSSSSSSSSSSSSSSeSSSSSSSSSxxSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSxSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSxSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSxSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSxSSSSSSSSSSSSSSSSSSeSSSSSSSSSSSSSoSSSSSSSSSSSSSSSSSSSSSSSSxxSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSeSSSSSSSSSSSSSSSSSSSSSSSSSSSSSRSSxSSSSSSSSSSRSSSSRSSSSSSSSSRRSRSRSSSSSSSSSSRRRSSSSRRSSRRSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSxSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSËSSSoSSSSSSRRSSSSSSSSSSSS\SRSSSRSS\SSSSRSSSRRSSRSnRSRSRRSSSSRSRxxRSRSRRRRRSSSSRSRRSSSRSSSRRSRSRR\SRSRRRSSRRRRSSRSSSRRRRRRRRRSSRRxRRRRRRRRRRRRRRRRRSRRSRRRSSRRSRRSRRRRRRRRRRSRRRSRRRRRSRRRSSRRRRSSRSSSSRSSRSRSRRSSRSRRRRSSRSRxSRSSSSRSSRRRSSRRRRRRRSRRSRRRSRRSSSRRRRSRSSRRRSRRRRRRSRRRSSRRRRSRRSRRRSRSRRRRSRRRRRRSRRRRRSwRRRRRRRReRRRRRRRRRRRSRRReRRRRRRSRRRwxRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRxRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRQRRRRRRRRQRRSRRSRRRRRRRRRRRRRRRRRRRRRRRRRRRRRxRRRSRSRRRSSRRRRRRRRRRRRRRRRRRRRRRRSRRRRSRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRReRR\RRRRRRRRQRxwRRRRQRRRRRQRQRQRRRRQRRRQRQRQRRRQRQRQRQRRRQRRQRQQQQQRQRRRQRRQRRwRRQQQRQQQRRRQRQRQQQQRRQRQRQQQRRQRQRQQQQRQRQRRQRRQRQQRQQRRRRRRRQRRRRRRRRRRRRRRRRRRRRQQRRQRRRxQRRQRQQRQQRRQRQQQQRRQQRRQRRRQRRQQRQRRRRRRQQRQRRRRRQRQQRQRRQRQQRRRQQQQQQRRRRRQRQRRQRRQQRQQRQRRQQRQRQQQRQRRQRQQRQQQQRdQRRQQRRQQRQRwwQQRQQQQQQRQRQQQQQQQQRRQQRQQRQQQ[nQQQQQQQQQQQQQQQRRQewwwwwQQQQQRwQQQQQQQRRQQQQQQQQQQQRQQQQQQQRQQQRQQQQQQQQQQQQQQQQQQQQQQQQRQQQQRRRRQRRRQRQQQRRQQRQQRRQQQQQRQwQRQQRQQQQRQRRRQRRRQQRRQQQQQRQQwRQRRRRQQRRQQQQQQQQRQQQQQRQQQQRQQQQQQQRQRQQmQQQQQQQQQQQQQQQQQQQQQQdnQQQQQQQQQQQQQQQQQQQQQQQQQwwQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQwQQQQQQQQQQQQQQQQQQQQQQQQQPQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQwQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQdQQQQQQQQQQQQQQQQQQQQwQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQmQQQQQQQQQQ艜QQQQQQQQPQQQQmdnQQQQQQQQQQQwwQQQQQPQQQQQQQQQQQQQQQQQQQQQQQQQQdPQQQQQQQQQQQQQQQwQPQQQQwQQQQQQQQQQQPQPQQPQPQQQQQQQQQQQPQQQQQQQQPPQQPPQQQPQQQQQQPQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQPQwQQQQPQQQQQQQQQQQQQPQQPQQQQQQQQQQPQQQQPPQQQ“PQQQQvQQQQQQQPQQPvQQQQ[PQQQQQQQQQQQQPQQQQQQQQZPQQQQPQQQQPPQQPQQQQQQQPQQQwvQQQPQQPPQPPQQQQQPQPPQPPPQQPQQQQQPPPPQQPPQQQPPPQmPPPPPPQvPPPQPQPPPPPQPPPPPQPPPPPQPPPQPPPQQPPQPQPPPPQPQQPPQPPPQPPPQQPQQQPPQQQQQPQQQQQQQPQQQQQQQPQPPQQvQPQQPQQQQQQQPQPPQQPQPQQPQPQPPQPvcPPPQQQQQPdvPQQPPQPPQPPPQQQZQPQQZPPPPQQPQPPvPPQQQPQPQPPPPQQQPPPQPPQQPPQPPPPQQPPPPPvvQPPPQQPPQPPQQPPQPPQQQPPPPPPPPQPPPPZPPPPPPPPPPPvPPPPPPPvPPPPPPPPQPQPPPPPPPPPPQQPPPQQPPPPPPPPPPPPPPPPPPPQQPPPPQPPPPPPPPQPQQQPQPPPQPPPPQPPPPPPPQPPPPPvPPQPPPQQQPPQPPQPPPPPPQPPPPPPQPQQcQPPPPPQZPPPQPPPZPPPQPPPmPPPPPPˀQPPPPPlZPPQPQPPPPPPmQPPPPPPPPPPQPPPPPPPPPPPPPPPvvPPPPPPPPPPPPPPPQPPPPPPPPPPPPPPPPPPYޥlPPPPPPPPPPPPPPOvPOPPPPPPPOPPPPPPPPPPPPPPPPPPPOPPPPPPPOPPPPPPPPPPPPPPOPPPPQPPPPQPPPPPPPPPPPQPPQPPQPPPPPPPPPPvPPPPPPPPPPPPPPPPPPPPPQPPPPPPPPPPZޥvPPPvcPPPPPPPlՒlPPZPPOPOPPPvPPPPOPOPPPPPPlOOOPPPPOPPPPPPPPbPPPPOPOOPPPPvvPPPPPPPPPPPOPPOPPPPPPPPPPPPOPPPPPPPYPPPOPPPPPvPOOPOPPOPPPPPPOOPPOPPPOPOPOPPPOOPOPOOPOPOOOOOPPOPPPOPPOPPPPPPPPPPPPPPPPPPPPPPPPPPOOPPPPPOPPvPPPPPOPPPPOPPOPPPPPOPPOPPOPOOPOPPYlPPOOPPPPPlYOPPOOPPPYvOOOPOPPOPPPPPPPPOOPPOOPPPPOPOOPPPPOPOPOOOPPPvvOPOPOOPPOOPPPOOPOOPOOOOPOOPOOOOPOOOPOމOPOOPPPOOOvOPOOOOOPPOOOOPPOOOOOOPOPOOOOOOOOOPOOOOPOOOPPOPOOOOPOOPPOPPPPPOOPPOPOOPOOPPOOOOPOOPOOOOOPPPOvOPPOOOOPPOPOPPPPPOOOOOOOPOOOPOPOOPOYPOOOPOOPPPPYމOOOOPOOOPPOOYPOPOPOOPOPOOOOOPPOOOPOOOPOOPOOOOOOOPOOPOOOOOOvvOOOOOOOOOOOOPOOPOOOOOOPOOOOOOOPOOOOOOOlbOOOOOOOOOOOvOOOOOOOOOOPOOOOOOOOOOOOOPOOOOOPOOOOOOOPOOOOOOOOOOOOOOOOOOOOOOOOPOOOOOOPOPPOOOOOOPOPOOOOOOOOOOOOPOOOOOOOOPOOOOPOOOOOOOOOOOOOOOOPOOOPPOOOOOYոYOOOOOOOOOOOOOOObˮOOOOOOPOPOOOOOOYbOOPOOOOOOOOOOOOOOPOOOOOOPOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOObոYOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOONOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOPOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOXuuuubOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOONOOOOOOOOOOOOONOONOOOONOONOOONONONOOOONOOOOOOOOONOOOXuuuuuOOOOOOOOONONOONNONNONNNNNONONOOONNONNNNNONONNNNNNNNONOOOOOOONNNNNNNONNONNOONNNNNNOOOONONOOOOONOONONOOOOOONOOOOOOOOOOOOOOOONOOONNONOOOONOOOOOONOOOONNOOOOOONOOONOOOOOOOONNNNNNNOOOONNNOOOOONOOONNNNONONONONONNNOONNONONOONNONONOOOONNOONNNONNNONNNOONNNNOONONNONNOONOONNOONOOOONNNNONNNOOOONOOOONNONNNNONNNOONNNNNONOONONNNNNONNONNONNNNNNONNONNONNOONNNNNNONNNNNNNONNNONNNNNONOONNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNONNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNONNNONNONNNNNNONNNNOONNNONONNONNNONOONNNNNONNONNNNNNNNNONNNNNNNNNOONONNNNNNNNNNNNONNONNNNNOONNNONNNNNNNNNNNNNONNNNNNONNNNNNNNNONNNONNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNMNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNMNMNNMNNNNMNNMMNNNMNNNNNNNNNNNNNNNNNNNNNNNNNMMMNNNNNNMNNNNMNNMNNNNNNNNMNMNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNMMNMNNMNNNNNNNNNNNNNNNNNNNNMNNNNNNMNNNMNNNMMNNNNNNNNNNNNNNNNNMNNNNMNNMMMNMNNMNNNNNNNMNNNMNNNNNNNMNNMNNNNMNNNNNNNMMMNNMNMNNMNMNNMMNMNMNNNNNMNNMMNMNNMMMNMMNNNMNMMNMNMNNMNNMNMNNMMNNNMMNNMNMMMNMMMNNMMMMNNMMMNMMNMMNMNMNMNNMMNMMNMMNMMNNMMMMMMMMNMMMMMMMNNNMNNNNMNNNNMNNMNNNMNMMNNNNNMNMNNNNNNMMNNMMMNMNMNNMMMNNNNMMMNNMMNNNNNMNNNNNMNMNMMMNNMMMNMNMMNMNNMMNMMMNMMMNNMMMNNMMMMNMNNMNMMNMMNMNNNMMMMMMMNMMMMMMMMMMNMMMMMNMMMNMMMMMMMMMMMMMMMMMMMMNMMNMMMMNMMMMMMMNMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMNMMNMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMLMMMLMMMMLMMMMMMMMMLMMMMMLMMMMLMMMLMMLMLMMLMMLMLMLMMMMLMMMLMLLMMMLMMLLMLLLLLMLMMLLMMMMLMLMLMMMLMMMLMMLLLMMMMMLLMMMMMMLLMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMLMLLMMMMMMMMMMMMLMMMMLMMMMMMLMMMMMMMLLMLMMLMMLMMMMMMMMMLMMMMMMLMMMMMMMMMLLMLMMLLMMLLMMMMMMMMLLMMMLMMMMMLMMLLMLMMMLMMLMLMLLLMLMLLMLLLLLLMLMLMMLMLLMMMLMLMMMMMMMMMLLMMLLMLLLLLLLMMLLLLLLLLLLMLLMLLLMMLLLMLLLLLMLLLLLLLMLLLLMLMLMMLLLLLLLLMMLLLMLMLLLLMLLMMLMLLLLLLLMLLLLLLLMLLLLMMLMMLLLLLMLLLLLLLMLLMMMLLMLLLMLLLLMMLLMLMLLMMMMMLMMMLMMMLMLLMMLLLLMLLLMMMMLLMLLLLLMLMMLLMLMLLLMMLLLMLMLLLLLLMMLLMLLMMLLLLLLLLLLLLLLLLLLLLLMLMMLLLLMMLLMMLMLLLLLLLLLMLLLLLLLLLLLLMLLLLLLLLLLLLLLLLLLLLLLLMMMLLLLLLLLLLLLLLLLLLLLMLLLMLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLKLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLKLLLLLLLLKLLLLLLLLLLLLMLLLLLLLLLMLLLLLLLLLLLLLLLMLLLLLMLLLLLLLLLLLLLMLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLKLLLLLLKLLLKLLLLLLLKKLKKLLLLLLLLLLLLKLLLLLLLLLLLLLLLLLLLLLLLLKLLLLLLLLLLLKLLKKLLKLLLLLLLLKLLLLKLLLLKKLLLKLLLLLLKLKLLLLLLLLLLKLLLLLLLLLLLLKLLLLKLLKLLKLKKLLLLLLLKKLLLKKLLLLLKKLLKKKKLLLKKLLLLKKLLLLLKLLLLLLLKLLLLLLLLLLLLLLLLLLLLKLKLLKLLLLLLKLKLLLKLLKLLKKLLLLLKLLLKLLLLLLLLLLKLLLLLLLLLKLLLLLLKLLLLLLKLKLLLLKLLKLLLLKKLLLLKLLLLLLKLKKKKLLKLKKLKKLLLLLLKLLLLKLLKLKLLLLLLLKLLLKLKLLKLKLLLLLKLLLLLLKKLLLKLKKLKLLLLLLLLLLLLLKKKLLLLKLLLLKLLLKLLKLKLKKKLLKKLKLLKLLKKKLKKKKLKKKLLKLLLKLLLKKKKLLKLKLKLLKKKKLLKKLKLKKKLLKKKKLKLKKKKKKLKKLLLKLLKKLKKKKKLKLKKKLKKKKLKLKKLLKLLLKKLKKLLKLKLKLLLLLLLLKLLLLLLLKLLLKLLLKLLKKLLLLLKLLKKLKLKLKKLLKKLLKLLLLKKKKLKKLKLLKLKLLLKLKKLLKKKLKLLLLKKLLKLKKLKKLKKKKKLKKKKKLKKKKLKKKKLLLKKKKKKLKKKLKLLKLKKKLKKKKLKLKKKKLKLKLLLKKKKKKKLKLLLKKKKLKKKKLKKKLKKKKKKKKLKLKKLKKKKKKLKKKLKKKLKKKKKLKKLLKLKLKLKKLLKKKKKKKKKKKLKKKKKLKKLKKKKKKKKLKKKKKKKLKKKKKKLKKKLLKKKLKKKLKKKKKKKKKKKKKKLKKLKKKKKKKKKLKKKLKKKLKKKKKKKLLKKKLLKLLKKLKLLKKKKKKKLLKKLKKKKKKKKKKKKLKLKKKLKKKLLLLKLLLKKLKKLKKLLKKKKKKKKKKKKKKLKKKKKKKKLKKLKKKKKLKKKKLLKKLKKKKLKKLLKKLLKKKKKKKKLKKLLKKKKKKKKLKKLKKKLLKLKKLKKKKKKKKKKKLKKKKKKLKKKKKKKKKKKKKKKKKKKKLLKKKKKKKKLKKLLKKKKKKKKKKKKKKKKKKKLKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKJKKKKKKKJKKKKKKKKKJKKKKKJKKKKKKKKKKKKJKKKKKKKJKKKJKKKKJJKKKKKKKKKKKKKKKKKKKKKKLLKKKLKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKLKKKKKKKKLKKKKKKKKKKKLKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKJKKKKKKKKKKKKKKKKKKKJKKKKKKKKKKKJKKKJKKKKJJKKKKKKKKKJKKKKKKKJKKKKKKKKKKKKKKKKKKKKKKJKKKKKKKKKKKKJKKKKJKKJKJKKKKKKKKKKKKKKKKJKKJKKKKJKKJKKJKKKKKJJKJKKJKKJJKJJJJKJJKJJJKJKKJJJKJKKKJJJKKKJJJKJKJKJKKKKJJKKJJKJKJJKJJJKKKJKKKJKJKJKJJJKKKKKKKKKJKKKKJJKKKKKKKKJKKKKKJJJJKKKKJKJKKKKKKKKKJKKKKKKKJKKKKKKJKJJKKJKJJKKKJJJKKKJKKJJJKKKJKKKKJJKKJKKJKKJKKJKKJJKKKJJKKJKKJKKKJKKJJJKKKKJKJKJKJJKKJJJKJJKJKJJJJKKKKJJJJJKJJKKJJJJJJJJKJJJKJJJKKJJKJJKJKJJKJKJJJJJJJJJJJJJJJJJKJJJJKJJJJKJJJKJJJJJKKJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJKKJKJJJKJJJKJKJJJKJJJJKKJKJKJJJJJJJJJKJJJJJJJJJJJJKKJJKJKJJJKJJJJJJKJJJJKJJJJJJJJJJJJJJJJJKJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJIJJJJJJJJJJJJJJJJJJJIJIJJJJJJIJJJIJJJJJJJJJIJJJJJJJJJJJJJJJJIIJJJJJJJIJJIJIJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJIJJJJJJJIIJJJIJJJJJJIJJIIIIJJJJJJJJJIJJJJJJIJIJJJJJJIJJJJIJIIJJJJJJIJIIJIIIIIIIJJJJIIIJIIJIJJIIIJIIIJIIJIJIJJIJIJJIIIIIJIJJIJIIIJIIIIIIIJIJIJIIIJIJIJIIIJJIIIJJIIIIIJIIIJJIJIIIIIIIIJIIIIIIIIIIIIIIIJJIJJIIIIIIIIIIIIIJIIIIIIIIJIIIIJJJJIJIJJIIJIJIJIIJIIIIIIIJIJIJJIJJIIIJJJIJIIIIJJJIJIIIIIJIIJIIIIIJJIJIIIIIIJJIJJIIIJJJJIJJIIJJJIIJIIIJIJIIIIIIIIIIIIIIIJIJIIIIIJIIJIIIIIIIIJIIIJIIIIIIJIIJIJIIIIJJJIIIIIJIIIIIIIJIJIIIIIIIJIIIIIIIJIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIJIIIIIIIIIIIIIIIIIIIIIIIIIIJIIIIJIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIHIIIIIIIIIIIIIIIIIIIIIIIIIIHHHHIIIIIIIIIIIIJIIIIIIIJIIIIIIIIIIIIIIIIIIIIIIIIIJIIIJIIIIIIIIIIIIIIIIIIIIJIIIIIIIIIIJIIIIIIJIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIHIIIIIIIIHIIIIIHIIIHIIIIIIIIIHIHIIIIIIIHIHIIHHHIIIIIIIHIIIIIIHIHIHHIHIIIIIHIHIIIIIHIIIIIIIIIIHHIIIIHIIHHHIIIIIHHHHHHIIIIIHHIIIIIIIHIHHHIIHHHIHHIHHHHHHIHIIIHHIHIHIHIHIIHHIHIHHHIHIIHHHHHHIHHHIIIIIHIIIIHIIIIIIIIHIIIIHIIIIIIIIIHIIIHIIIIIIIIIIHHIIIHIIIIHIIHIIIHIIIIIIHHIIIIHIIHIHIIIIIIIIIIIIHHIHIHIHIHHHHIHHIHHIIHIIIHHIHHHIIIIIIIIIIHIHHIHIIHIHHIHIHIHHHHHHIHHHHHHHHHHHIIHIHIIIIHHIHIHHHHIHIHIIHIHHIHIHHIHIHHHIIIHHHIIHHHHHHHHHIHHHHHHHHHHHIHHHHIHIHHHHHHHIHHIHHIHHHHHHHHHHHHHHHHHHHHHHHHHHIHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHIHHIIHHIHIHIHIIIHHHIHIHHIIIHIHIHHHIHHHHHHIHHIHIHHHHIHIHIHHIHHIIHHHHHIIHHHHHHIHHHHHHHHIHIHHHIHHHHHHHHHHIHHHHHHHHHHIHHHHHHHHHHHIHHHHHHHHHHHHHIHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHGHHGHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHGGHHHHHHHHHHHHHHHHHHGHHHHHHHHHHHHHHHHHHHHHHHHHHHGHHGHGHHHHGGHHHHHHGHHHHHHGHHGHHHHHGHGHGHHHHHGHHHHHHHGHGHHHHHHHHHGHHGHHHHHHGHGGHGGHGHHHHHHHHGGHGGHHGGHGGHHHHGHHHHGHGHHGGGHGGHHHGGHGHGGHHHHGGHGHGGGHHHGHHGHHGHHHHHHHGHHHHHGHHHHHHHHHGHHHGHHHHHHHHHHGHHGHHHHHHHGHHHGHGHGGHHHHGHGGHHHHGHHHGHGHHHGHGHHHGHHGGGHHHGHHGGGHGGGHHGGGGGGHHHGGHGHGGHHHGHGHGHGHHGGHHGGHGHHHGHHGHGHGGHGHGGHHGGHGGGHGHGGHGGHGGGHHGGGHGGGGHGGGGGHGGGHGHHGGHGGGGHHGHGHHGGHHHGHHHGGGGHGGGGHHGHGGGHGGGGGGGGGGGGGGGHGHGHGHGGHGGGGGGGGGGGGGGGGGGGGGGHGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGHGHGGGHGGGGGHGGGGGHGGHGGGGHGGHGGHGGGGGHGGHGGHGGHGHGGGGHGGHHHGGGGGGHGGGHGGGHGHGGGGGHHGHHGGGGGGGGGGGGGGHGGHGGGHGGGGHGGGGGGGGGGGGHGHGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGFGGGGGGGGGGGGGGGGGGGGGGGGGGGFGGGGGGGGGGGGGGGGGGGGGGGGGGFGGGGGGGGGGGGGGFGGGGGGGGGGGFGGGGFGGFGGGGGGGGGFGGGGGGGGFFGFGFGGGFGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGFGGGGGGGGGGGGGGGGGGGFGGGGGFGGGGGGGGGGGGGGGGGGGGGGFGGGGGGGGGGGGGGGGGGGGGGFGGGGGGGGGGGGGGGGGGGGGGGGFGFGGGGGGGGGGGFGGGGGFGFGGGFGGFGGGGGGGFGGFGGFGGGGGGFGGGGGGGGGGGGGGGGGGFGGFGGGGFGGGGFGGGGFGFFGGGGGGGFFGGFGGGGGFGGGGGGGGGGFGGGGGGGGGFFGGGGGGGGGGGGFGFFGFFGGFFGGGFGGGGGGGGGFGFGFGFGGGGGGFFGFGGGFFFGGGGFGFFGGGGGFFFFGFFGFGGFFFGGGGGGGGGFGGGGFGFGGGFGGGGGGFFGGGGGFGGGFGGGGGGGGGGGGGGGFGGGGGGGGGGGFGGGFFFFGGGGGFFGGGGGFGGGFGGGGGGFGFFGGGGFFGGFGGGGFFFFGGGGFFGGGGFGGFGGGGFFGGGGGGGGGFFFGGGFFGGGFGFGGGGGGFFFGFFFFGGFGFFFGGFFFGGGFGFFGFFFGGFFGFFGFFFGFFGGGGFFFFFFGGFFFFFFFGFGGGFFGGFGFFGFFGGGGFFGFFFFFGFFFFFFFFFGGFFGFFGGFGFFFFFGFFFGFFGFFFFFGFGFGFFFFFFFGFFFFFFGFFGFFFFFFGFFFGFFFFFFFFFFFFFFFFFFFFFFFGFGFFGFGGFFGGGFFFGFGGFFGGGFFGFGGFGGFFFFFFFFGFFGGGFFFGGFFFGFFFFFFGFFFFGGFFFGFFGFFFGFGGFFFFFFFFFFFFGFFFFFFFFFFFFFFFGFGFFFFFGFFFFFFFFFFFGFFGFFFFFFFGFFFFFFFFFGGFFFFFFFFFGFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFGFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFGFFFFFFFFGFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFGFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFFFFFFFFFEEFFEFEFFFFFFFFEFFFFFFEFEFFFFFFFEEFFFEFFFFFFFFFEFFFEFEEFFFEFFEFEFEEEEFFFEFFEFEFEFFFFFEEEEFFEFEEFFEEEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFFFFFFFFFFFFFFFFFFFFFEFFFFFFFFFFFFFFEFFFFEFFEFFFFEFFFFFFFFFFFFFFFFEFFFFEFFFFFEEEFFFFFFEFFFFFFEEFFFFEFFFEEFEFFEEFFEFFEFFFEEFFEEEFFFFEEEFEFFFFEEEEFFEFFFFFEFFFFFEFEEFFEEFFEEEFEEEEFEFFFEEEFFEEFFFEFEEEFFEFEFFEEFFEEEEEEEFEFEFEFFEEEEFEEFFFEEEEEEEFFEFFEEEEEEFEFEFFFEFEEEEEEEEEEFFEEEEEFFEEEEEEEEEEEFEEEEEEFFEEFEEEEEEEEEEFFEFEFEEEEFEFEFEFFEEFFFEFEFEFEEEEFFEFFFFFEEEFEFEEFEEFEEEFEFFEFEFEEFEEFFEEEEFEFEEFEEFEEFEFFEEEEFFEEEEEEFEEFFEEEFEEFEFEEFEEEEEEEFEEEEEEFEEEEEEFFEEEEFEEEFEEFEEEFEFEEFEEFEEEEEEFEEEEEFEEEEEEEEEEEEEEEFFEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEFEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEDEEEEEEEEEEEDEEEEDEEEEEEEDEEEEEDDEEEEEEEEEEEEDDEEDEEDEEDDEEEEEEEEEEEEEEEEEEDEEEEEEEEEDEEDEDDEEDEEDEDEEEEEEDDDEDEEEEEEDEEDEDDDEDEDEEDEDDDEEEEDEDDDDDDDEDEEDDEDDDEDDEEDEDDEEDEEEDEEDDEEEDEDDEEEEEEEEEEEEEEEEDEEEEEEEEEDEEEEEDEDEEEEEEEEEDDDEEEEEEEEEEDEDEDEDDEEEEEDDEEEEEEDDDEEEEEEEEDEEEDDEDDDDEEDEEEDDDEDDEDEDEDDEEEDDEDDEDDDEEDEDDEEDEDDEEEEEDEEDEDDDDDEEEEDEDDDDDDEDEDEEDDDDDDDDEDEDDEDDEDDDEDDDDDEEDDEDDDEDDEDEDDEEDEDDEDDDDDDDEDDDDDDDEDDDDDDDDDDDDDDDDDDDEDDDDDDDDDDDDDEDDDDDDEDDDDDDDDEDDDDDDDDDDDEDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDEDEEDDEDDDDEDEDDDDDEDEDDDEDDEDDDEDEEDDDDDDEDDDDDDEDDDDDDDEDDDDDDDDDDDDDDDDDDDDEDDDDEDEDDDDDDDEDDEEDDDDDDDDDDDDDDDDDDDDDDDDDDDEDDDDDDDDDDDDDEDDDDDDDEDDDDDDDDDDDEDDDDDDDDDDDDDDDDDDDDDDDDDDDDEDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDCDDDDDDDDDCDDDDDCDDDCCDCDCDDCDDDDDDDDDDDDDCDDDDDDDDDCDDDDDDCDDDDDCDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDCCDDDDDDDCDDDDDCCCDDDDDDDDDDDDCDDDDCCDDDDCCDDDDDDDDCCDDDDDCDDDDCDDDDDDDDCDDDCDDCCCDDDDCDDDDCDCCDDDCCDDDCCCDCDDCDCDDDCCDCDDDDDDCDDCCDDDDCDCCDDDDDCCCCDDCCDDCCCDDDDCDDCCCDDCCDDDCDCDDCDDDCDCCDCDCCCCCCDDCCCCCCDDDCCDDDCDDCCCDDCDCCDCCDCDCDDDDDDCDCDCCDCCCCDDDCDDDDDDDDCDDCDDDDDDDDCDDCCCDDDDDCCDDDDDCCDDDDCCCCDDCCDDDCDCCDDDCCDDCCDDCCCCCCDCDDCCCCCDDDDCCDDCCDDDDDCDDCCCCCCDDDCCDDCCDCDCDCCCDDDCCDDCCCCCCDCCCCCCCDCDCCDCCCCCDDDCCCCDCCCCCCCCCCCCCCCCCCDCCCDCCDDDCCCDDCCCCCCDCCCCCDCCDCCCCCCCCCCCCCCCCCCCCCCCCCCCCCDCCCCCDCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCDDCCDCCCCCCCDDCDCCCDCCDDDCDCCCCDCCCCCCDCCCCCCDCCDCCCCCCCDCCCCDCCCCCCCCCCDDCCCCCCCCCCDCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCBCCCCCCCCCCCCCCCCCCCBCCCCCCCCCCCCCCCCCCCCCCCCCCBCCCCCCCCCBCCCCCCCCCCCCCCCCCCCCCCCCCBCCCCBCCCCCCCCCCBCCCCCCCCCCCCCCCCCCCCCCCCCCCBCBCCCCCCBCCCCCCCCCCCCCCBCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCBCCCBCCCCCCCCCCCCCCCCCCCCCBCCCCCCCCCCCCCCCCCCCCCCCBCCCCCCCCCCCCCCBCCCCCCCBCCCCCCCCBBCCCCCCCCCCBCCCCCBCBCBCBCCCCBCBCCBCCCCCCBCCCBCCCBCCCCCCCCCBCCCCCCCCCCCCCCCCCCCBCCCCBCCCCBCCCCBCCCCBBCCCCCCCCCBCCCCCCCCCCCCCCCCCCCCBBCCBBCCCBBCCCCBCBCCCBCCCBCBCCBCCBCCBBBBBCBCCBCBCCCCCBCCCCCBCCCCCCCCCBCCCCCCCCCCCCBCCCCCCCCCCBBCCBCCCCCCCBCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCBCCCCCCCCCCCCCCCBCCCCBCCCCCCCCCCCCCCBCBBCCCCBCCBBBCCBCBCBCCCCCBBBCCCBCCCCCCCCBCBBBBBCBCCBBBCBCBCCCBBCCCCCBCCCCBCBCCCBCCBBCCBCCBBBCCCCBBBCBBCBBBCCBBCBBBBBCBCCBCBCBCBBCBBCBCBCBCCBCBCBBBBBBCCCBCBCBCCCBCCCBCBCBBCBCBCBBCBBCCBCCBBCCCBBBCCBBCBBBCBBBCBBBCBBBBCCCBBBBBBCBBBBBCBBBCCBBCBCBCCCCBCBCBCBBCBCCCCCBBCBCCCCCCBBCBCBBCCCBBBBCBBBCCCBCBBCBCBBBCBCBBBBBBBCBBCBBBCBBCCCCCCBBBCCBBBBBBBCCCCBBBBCBBBBBBBBCCBCCCBBBCBCBCBBBCBBBBBCBBBBBBBCBCCBBBBBBBCBBBCBBBBBBCBCBBCBBBBBBBCBCBBCBBBBBBBBBBCBBCBCBBBBBBCBBBBBBBBBCBBBBCBBBBBCBBCBBCCBBBBBBBBBBCBCBBBBBBBBBBBCCBBCBBBBBBBBBBBBBBBBBBBBBCBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBCBCBBCBBBBBCBCCBBCBBBBBBCBBBBCBBCBCBBBBBCBBCBCCBBBBCBBBBBBBCBBBBBBCBCBBBBBBBBBCBBCBBBBBCCBBBBBBBBBBBBBBBBBBBBBBBBCBBBBBBBBBBBBBCBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBABBBBABBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBABBBBBBBBBBBBBBBBBBBBABBBBBBABBBBBBBBBBBBABBBBABBBBBBBBBBBBABABABBBABABBBABBBBBBBBBBBBABBBBAABBABABBBBBBBBBABBBBBBBBBBBABBBAAAABBBABBBAABBBABABBBBBBBBBBBBBBBBBBBBBBBBBABBBBBBABBBBBBBABBBABBBBBBBBBBBBBBBBABBBBBBBBBBBBBBBBBBBBBBBBBBBBBBABBABBBBBABBBBBBBABBABBABBBABBBBBBBBBBABBBBBBBBBBBBBBBBBBABABABBABBBBAABBBBABAABBBBBBABBBBBBBBBBBBBABBBABBBBBAAABBAAABBBABBBABABBABAABBABABBBBABBBBABBBBABBAAAAABBBBABAAABBBBBAABABAABBBABBABABABAABBBBBAABABABABAAAAABABBBAAAAAABBABAAAAABBAAABBAABAAABAABAAAAAAABAABBABAABBBBBBBAABBBABBBBBAABBBABABABBBBBBABBABABBABBABBBBBBABBBBABBBABABABAABBABBBAAAABBAABBABBBBBBBABBBAAABBAABBBBBABAABBBBAABBBAABAABBAABABBAABBAABAABABABAABBBABBABAABAAAAAAAAAAABBABAABAAAAABAAAAAABAAAAAAABAABBABAAAAAAAAABABAABAABBBABAAAAAAAAAABABAAAAAAAAAAABAAAAAAAABAAAAAAAAAAAAABABAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAABAAABBAAAAAAABBBABAAAABAAAAAAAAAAAAAAAAAABAAAABAABBAAABAAAAAAAABAAABBAAAAAAAAAAAAAAAAAABABAAAABABAAABAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAVAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAVKAAAjAAAAAAAAAAAAAAAAjAAVAVAAAAAA`VAAAAAAVA@AAAAAAAjAAAAA@AAAAAAAAAA@AAAAA@@A@@A@@@@@AAAA@AAAAAAA@AAAA@A@AAAA@AAAAAAA@AAAAA@A@@AA@@A@A@A@AA@@@AAA@AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA@AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA@AAA@AAA@AA@AAAAAAAAAAAA@A@A@AAAAA@AAjAAAAAAAAAAAAAA@A@AAAAAAAAA@AAAA@@AAAA_A@``AA@AAAU`@A@A@@KuA@kAkA@@A_@@@A@jAAAA@@@@A@@A@@A@A@@A@@AA@@A@@A@A@@AAA@@@@A@@@@@@A@@A@@A@@@@@AA@@@@@@@@@@AA@@@@@@@@@@@@@@A@@A@@@@@A@@@@@@AAAAA@@A@@AAAAA@AAA@@@@A@@A@A@@@AA@AAAA@AA@A@AAA@@@@AAAAA@A@A@A@@@@AA@@AA@@AA@@@@@@@A@@@AA@A@AA@@A@@A@@@@@A@AA@@@A@@@Ⱦ`@@A@A@@@A@@@@@@A@AA@@@A@@@@@@@@@@A@@juAKt@@@@@@@@@@A@@@@uK@@j@_达@@@_ݞjjj@@@@j@@@@@@@?@@@@@@@?@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@?@@?@@@@@@@@@@@@?@@@@@@@@@?@@@@?@@@@@@@@@A@@@@@@@@@@@@A@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@A@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@?@@@?@@@@@@j?@@@@@@@@@@@@@@@@@@@?@@@@@@@@@@@@@@@@@?@@@?K@@??_@@@@@?@@T?@@@@@?@?j@@@??@@k@???@?@?TT??@@@@?@@j?@?@@@@@@?@@@?@???@@@@?@@?@?@?@???@@@??@?@@?@@?@@@?@@@??@?@?@@????@????@?@??@@?@@@?@@@?@??????@@?@@@?@@?@@@@@@?@@@@@@@@@@@@@?@@?@??@?@@@@?@@@??@@@?@@@@@@?@@@@@@?@?@@@@???@@@@@?@@@??@?@@@@?@@??@@@??@@??@@?@@?@@?@?@??????@?j??@@??@@@?@@@???@@???????@@@@@@??@????@?@????@???j@???@@?J@`??@??@??j??@@???j?@???@??T?@????@@??@j?@???@?@@?????@??????@?????????@????????????????????????@@?????@???????????@?????????@????????????????@???????@?@????@@@?@@??@@@??@?@??@@@@???@@???@???@??????T??@??j???@?TT??@??j@??@?Ttj????@?????j??????j?@??????T??j???TJ??????TJ????T??@???????T_@????????T^???j???????j???????T???????????????i??????????????????TJ????jj??^???TJTj?????????@????????????????????????????????????????????????????????@??????????????????????????@??@???????????@????t????TJ????t????TJ????J?????t??????i????????i???辝^????辞^???i??????????????^?T????????j???????i???????_???????????????i?????????????????达^???Ji??Ҿt???????????????????????????????????????>?????????????????????????????????????????????????????????????????????t?????????t?????????JJ???^???^???????訓T?i输Ҿ?^^???i>??^^???i????~>??????????????T???????i?????>?i>?>??????????????>?????訓???????T??>tT??蓾Ⱦ^>hh??J???????>???>?>?>>???????>>>?>??>>?>>?>>>>>?>?>???>>?>>>??????????????????????>?>>??>????????>?????????>?>??>??T>?>ҳti?>>~??T???ҳth???~>>~>?>J?????????>i>ih>>>?>>>??~>?>>>?>~>?>>ғI>?>??s>>>t?>>~>>?~?>>>h>>>??>?h>>??>???>?>>?>>>>?>>>?>>>>??>>T?>>?>>>T>>?>h>>?>>?>>?>>>>>>>?>>>>>>>?>>>>>>>>>?>??>>>>>>>>>>>>>>>>>>>>>>??>>>>>>?>>??????>?>??>?>>>?>>??>>>???>?>??>>>>>>>>>>?>~>>^~I>?II??~?>^~I>>II>>~>>>ݨ>>>>s>>>>>>>Ƚ^>hh>>?>>S>>>?>?>T>>>>>>>>>>Th>>>>>h>>s>>>^>>TT>>>>h>>>>>>>h>>>>>>>>>>>>>>>>>>>>>>>Ƚ>>=>>>s>>>>>=S>>H>>>>T>>=>>>>>>>>>=>>>=>>>>>>>>>>>>>>>>>=>>>>>>>>>>==>=>=>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>s>>T>>>~>>>s>>S>>>~>>>I>>^~>S>T>>>>>>>=h>>=>>>>>h>>>>>T轾>T载>>>>>>>>~^>>>>>=>>>>>I>>>>>>h>>>=>>>h>>>>>>==>>>>>>>>>>>>>=>h>>>>>>>>>>>>>=>>>=>>>>I>>>=>>h>>>>>>s>>>>>>=>>>>>>=>>>>=>>>>>>>>>>=>>>>>>>>>>=>>=>=>>>>>>>>>>>>>>>>>==>>>>>>>>=>>>>>==>>>>>>>>>>>>>>>=>>>>>>>>>>>>=>I>>>S>s>>>>H>>>S>s>>>>s>I>^~=~>>>>=>=>h>>>>>>=>h>>>==h载>h载=>===>>>>>>>>=>^>>>=>~=>>>>>h>=>==>>h>>=>==>s^=>>>>>>>>>==>=>h>>>>>>>>>>>>>>===>>>>=h>>>>=>h>>>>>>h=>>=>>>>=>>=>>>===>=>>>>=>>>>=>>>>=>>>=>=>>>>>>>>>>>>>>=>>==>==>>=>>>>>>=>>>=>>=>=>=>=>>==>>==>>=>>>>>>>====>>=sH>>S>>>>>=sH==S>>>>=>~>Ƚ==>Ҳ=^>==>>>==h>>>=>===h>>>>=^=>>>=>>>==]>>>>========>>>===>>==>>^H~==>>>s=s===>=h=>=>=>=h=>>>>==H>>>>>=>==>==>=>h>>=>==>===>==>>=>>>=>=H====>=h===>==~==>===>=>=>>=>>====>===========>==========>===>=====>====>>>=>===>>>=>>>=>>>>>>=>====>=>>>>>>>=>>>==>>>==>==>>=r}^>==Dzh====>r}^=>=Ȳh===>=HS=============h=>=====>h======H=====>====H===>=====^]=>===>>===>rR======]======h===>>==h======>=G===========h==============>r======S>======S==================================================<==============>>=>==>===>======>========>=>========================ݧ====s======ݧ====s======S===r===]===h========h======}=====}]==}=====}]=H=====H======<====<======h==<=<==h======< 13) return; + + for(i=0; i<8; i++) { + for (j=0; j<16; j++) { + *( p + (y + j) * w + (x + i)) = (art[n][j] & 0x80 >> i) ? 0xFF : 0x00; + } + } +} + +void text(void *buffer, int w, int x, int y, char *s) +{ + while (*s) { + int index; + + if (x > w - 8) break; + + switch (*s) { + case '.': index = 10; break; + case ':': index = 11; break; + case '-': index = 12; break; + case ' ': index = 13; break; + default: + index = *s - 0x30; + } + + tag(buffer, w, x, y, index); + x += 8; + s++; + } +} + +/* + \brief play YUV file in I420 (YV12) format +*/ +SWITCH_STANDARD_APP(play_yuv_function) +{ + switch_channel_t *channel = switch_core_session_get_channel(session); + switch_frame_t vid_frame = { 0 }; + int fd = -1; + switch_codec_t *codec = NULL; + unsigned char *vid_buffer; + // switch_timer_t timer = { 0 }; + switch_dtmf_t dtmf = { 0 }; + switch_frame_t *read_frame; + uint32_t width = 0, height = 0, size; + switch_byte_t *yuv; + uint32_t last_video_ts; + int argc; + char *argv[3] = { 0 }; + char *mydata = switch_core_session_strdup(session, data); + + argc = switch_separate_string(mydata, ' ', argv, (sizeof(argv) / sizeof(argv[0]))); + + if (argc == 0) { + switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_ERROR, "No file present\n"); + goto done; + } + + if (argc > 1) width = atoi(argv[1]); + if (argc > 2) height = atoi(argv[2]); + + width = width ? width : 352; + height = height ? height : 288; + size = width * height * 3 / 2; + switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_ERROR, "%d %d\n", width, height); + yuv = malloc(size); + + if (!yuv) { + switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_ERROR, "Memory Error\n"); + goto end; + } + + // switch_channel_set_flag(channel, CF_VIDEO_PASSIVE); + switch_channel_clear_flag(channel, CF_VIDEO_ECHO); + + vid_buffer = switch_core_session_alloc(session, SWITCH_RECOMMENDED_BUFFER_SIZE); + + switch_channel_set_variable(channel, SWITCH_PLAYBACK_TERMINATOR_USED, ""); + + if ((fd = open(argv[0], O_RDONLY | O_BINARY)) < 0) { + switch_log_printf(SWITCH_CHANNEL_SESSION_LOG(session), SWITCH_LOG_CRIT, "Error opening file %s\n", (char *) data); + switch_channel_set_variable(channel, SWITCH_CURRENT_APPLICATION_RESPONSE_VARIABLE, "Got error while opening file"); + goto end; + } + + if (read(fd, yuv, size) != size) { + switch_log_printf(SWITCH_CHANNEL_SESSION_LOG(session), SWITCH_LOG_CRIT, "Error reading file\n"); + switch_channel_set_variable(channel, SWITCH_CURRENT_APPLICATION_RESPONSE_VARIABLE, "Got error reading file"); + goto end; + } + + close(fd); + fd = -1; + + switch_channel_answer(channel); + + codec = switch_core_session_get_video_write_codec(session); + switch_assert(codec); + + vid_frame.codec = codec; + vid_frame.packet = vid_buffer; + vid_frame.data = vid_buffer + 12; + vid_frame.buflen = SWITCH_RECOMMENDED_BUFFER_SIZE - 12; + switch_set_flag((&vid_frame), SFF_RAW_RTP); + // switch_set_flag((&vid_frame), SFF_PROXY_PACKET); + + while (switch_channel_ready(channel)) { + switch_core_session_read_frame(session, &read_frame, SWITCH_IO_FLAG_NONE, 0); + + if (switch_channel_test_flag(channel, CF_BREAK)) { + switch_channel_clear_flag(channel, CF_BREAK); + break; + } + + switch_ivr_parse_all_events(session); + + //check for dtmf interrupts + if (switch_channel_has_dtmf(channel)) { + const char * terminators = switch_channel_get_variable(channel, SWITCH_PLAYBACK_TERMINATORS_VARIABLE); + switch_channel_dequeue_dtmf(channel, &dtmf); + + if (terminators && !strcasecmp(terminators, "none")) { + terminators = NULL; + } + + if (terminators && strchr(terminators, dtmf.digit)) { + char sbuf[2] = {dtmf.digit, '\0'}; + + switch_channel_set_variable(channel, SWITCH_PLAYBACK_TERMINATOR_USED, sbuf); + break; + } + } + + if (read_frame) switch_core_session_write_frame(session, read_frame, SWITCH_IO_FLAG_NONE, 0); + + { /* video part */ + uint32_t decoded_data_len; + uint32_t flag = 0; + uint32_t encoded_data_len = 1500; + uint32_t encoded_rate = 0; + switch_frame_t *frame = &vid_frame; + uint32_t now; + char ts_str[33]; + + codec->enc_picture.width = width; + codec->enc_picture.height = height; + decoded_data_len = width * height * 3 / 2; + + now = switch_micro_time_now() / 1000; + + if (!last_video_ts) { + last_video_ts = now; + frame->timestamp = last_video_ts; + } else { + int delta = now - last_video_ts; + if (delta > 0) { + frame->timestamp += delta * 90; + last_video_ts = now; + } + } + + sprintf(ts_str, "%u", (uint32_t)frame->timestamp); + text(yuv, width, 20, 20, ts_str); + switch_core_codec_encode(codec, NULL, yuv, decoded_data_len, 0, vid_frame.data, &encoded_data_len, &encoded_rate, &flag); + + while(encoded_data_len) { + // switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_ERROR, "encoded: %s [%d] flag=%d ts=%u\n", codec->implementation->iananame, encoded_data_len, flag, context->last_video_ts); + + frame->datalen = encoded_data_len; + frame->packetlen = frame->datalen + 12; + frame->m = flag & SFF_MARKER ? 1 : 0; + + if (1) { // we can remove this when ts and marker full passed in core + /* set correct mark and ts */ + switch_rtp_hdr_t *rtp = (switch_rtp_hdr_t *)frame->packet; + + memset(rtp, 0, 12); + rtp->version = 2; + rtp->m = frame->m; + rtp->ts = htonl(frame->timestamp); + rtp->ssrc = (uint32_t) ((intptr_t) rtp + (uint32_t) switch_epoch_time_now(NULL)); + // rtp->ssrc = 0x11223344; + } + + switch_core_session_write_video_frame(session, frame, SWITCH_IO_FLAG_NONE, 0); + + encoded_data_len = 1500; + switch_core_codec_encode(codec, NULL, NULL, 0, 0, frame->data, &encoded_data_len, &encoded_rate, &flag); + } + } + } + + switch_core_thread_session_end(session); + switch_channel_set_variable(channel, SWITCH_CURRENT_APPLICATION_RESPONSE_VARIABLE, "OK"); + + end: + + if (fd > -1) { + close(fd); + } + + switch_safe_free(yuv); + + done: + // switch_channel_clear_flag(channel, CF_VIDEO_PASSIVE); + switch_channel_set_flag(channel, CF_VIDEO_ECHO); +} + struct fsv_file_context { switch_file_t *fd; char *path; @@ -799,7 +1029,8 @@ SWITCH_MODULE_LOAD_FUNCTION(mod_fsv_load) file_interface->file_set_string = fsv_file_set_string; file_interface->file_get_string = fsv_file_get_string; - SWITCH_ADD_APP(app_interface, "play_fsv", "play an fsv file", "play an fsv file", play_fsv_function, "", SAF_NONE); + SWITCH_ADD_APP(app_interface, "play_fsv", "play a fsv file", "play a fsv file", play_fsv_function, "", SAF_NONE); + SWITCH_ADD_APP(app_interface, "play_yuv", "play a yvv file", "play a yvv file in I420 format", play_yuv_function, " [width] [height]", SAF_NONE); SWITCH_ADD_APP(app_interface, "record_fsv", "record an fsv file", "record an fsv file", record_fsv_function, "", SAF_NONE); /* indicate that the module should continue to be loaded */ From 74d6db8809a6635982de783758e08ffd1b11d019 Mon Sep 17 00:00:00 2001 From: Seven Du Date: Sat, 26 Jul 2014 18:39:30 +0800 Subject: [PATCH 013/629] FS-7514: refactor timestamp code --- src/mod/applications/mod_fsv/mod_fsv.c | 20 ++++----- src/mod/formats/mod_vlc/mod_vlc.c | 57 ++++++++++---------------- 2 files changed, 29 insertions(+), 48 deletions(-) diff --git a/src/mod/applications/mod_fsv/mod_fsv.c b/src/mod/applications/mod_fsv/mod_fsv.c index 9a9ae8ee0a..cd43395d80 100644 --- a/src/mod/applications/mod_fsv/mod_fsv.c +++ b/src/mod/applications/mod_fsv/mod_fsv.c @@ -575,7 +575,7 @@ SWITCH_STANDARD_APP(play_yuv_function) switch_frame_t *read_frame; uint32_t width = 0, height = 0, size; switch_byte_t *yuv; - uint32_t last_video_ts; + switch_time_t last_video_ts = 0; int argc; char *argv[3] = { 0 }; char *mydata = switch_core_session_strdup(session, data); @@ -670,24 +670,18 @@ SWITCH_STANDARD_APP(play_yuv_function) uint32_t encoded_data_len = 1500; uint32_t encoded_rate = 0; switch_frame_t *frame = &vid_frame; - uint32_t now; + switch_time_t now = switch_micro_time_now() / 1000; char ts_str[33]; + int delta; codec->enc_picture.width = width; codec->enc_picture.height = height; decoded_data_len = width * height * 3 / 2; + delta = now - last_video_ts; - now = switch_micro_time_now() / 1000; - - if (!last_video_ts) { + if (delta > 0) { + frame->timestamp += delta * 90; last_video_ts = now; - frame->timestamp = last_video_ts; - } else { - int delta = now - last_video_ts; - if (delta > 0) { - frame->timestamp += delta * 90; - last_video_ts = now; - } } sprintf(ts_str, "%u", (uint32_t)frame->timestamp); @@ -695,7 +689,7 @@ SWITCH_STANDARD_APP(play_yuv_function) switch_core_codec_encode(codec, NULL, yuv, decoded_data_len, 0, vid_frame.data, &encoded_data_len, &encoded_rate, &flag); while(encoded_data_len) { - // switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_ERROR, "encoded: %s [%d] flag=%d ts=%u\n", codec->implementation->iananame, encoded_data_len, flag, context->last_video_ts); + // switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_ERROR, "encoded: %s [%d] flag=%d ts=%u\n", codec->implementation->iananame, encoded_data_len, flag, last_video_ts); frame->datalen = encoded_data_len; frame->packetlen = frame->datalen + 12; diff --git a/src/mod/formats/mod_vlc/mod_vlc.c b/src/mod/formats/mod_vlc/mod_vlc.c index 6c2c4b9a3d..4852d84d92 100644 --- a/src/mod/formats/mod_vlc/mod_vlc.c +++ b/src/mod/formats/mod_vlc/mod_vlc.c @@ -107,14 +107,13 @@ struct vlc_video_context { uint8_t video_packet[1500 + 12]; void *raw_yuyv_data; void *raw_i420_data; - uint32_t last_video_ts; + switch_time_t last_video_ts; switch_payload_t pt; uint32_t seq; int width; int height; int force_width; int force_height; - int new_frame; // next frame is a new frame(new timestamp) }; typedef struct vlc_video_context vlc_video_context_t; @@ -271,16 +270,27 @@ static void vlc_video_unlock_callback(void *data, void *id, void *const *p_pixel uint32_t flag = 0; uint32_t encoded_data_len = 1500; uint32_t encoded_rate = 0; + switch_time_t now = (switch_time_t)(switch_micro_time_now() / 1000); switch_codec_t *codec = switch_core_session_get_video_write_codec(context->session); + int delta; switch_assert(id == NULL); /* picture identifier, not needed here */ switch_assert(codec); + if (now - context->last_video_ts < 60) goto end; + yuyv_to_i420(*p_pixels, context->raw_i420_data, context->width, context->height); codec->enc_picture.width = context->width; codec->enc_picture.height = context->height; decoded_data_len = context->width * context->height * 3 / 2; + delta = now - context->last_video_ts; + + if (delta > 0) { + frame->timestamp += delta * 90; + context->last_video_ts = now; + } + switch_core_codec_encode(codec, NULL, context->raw_i420_data, decoded_data_len, 0, frame->data, &encoded_data_len, &encoded_rate, &flag); while(encoded_data_len) { @@ -289,23 +299,6 @@ static void vlc_video_unlock_callback(void *data, void *id, void *const *p_pixel frame->datalen = encoded_data_len; frame->packetlen = frame->datalen + 12; frame->m = flag & SFF_MARKER ? 1 : 0; - // frame->timestamp = context->ts; - // if (frame->m) context->ts += 90000 / FPS; - if (!context->last_video_ts) { - context->last_video_ts = switch_micro_time_now() / 1000; - frame->timestamp = context->last_video_ts; - } - - if (context->new_frame) { - int delta = switch_micro_time_now() / 1000 - context->last_video_ts; - frame->timestamp += delta * 90; - context->last_video_ts = switch_micro_time_now() / 1000; - context->new_frame = 0; - } - - if (frame->m) { // next frame is a new frame - context->new_frame = 1; - } if (1) { /* set correct mark and ts */ @@ -329,6 +322,7 @@ static void vlc_video_unlock_callback(void *data, void *id, void *const *p_pixel switch_core_codec_encode(codec, NULL, NULL, 0, 0, frame->data, &encoded_data_len, &encoded_rate, &flag); } +end: switch_mutex_unlock(context->video_mutex); } @@ -358,6 +352,8 @@ static void vlc_video_channel_unlock_callback(void *data, void *id, void *const uint32_t encoded_rate = 0; switch_codec_t *codec = switch_core_session_get_video_write_codec(context->session); switch_frame_t *frame = context->vid_frame; + switch_time_t now = (switch_time_t)(switch_micro_time_now() / 1000); + int delta; switch_assert(id == NULL); /* picture identifier, not needed here */ switch_assert(codec); @@ -371,6 +367,12 @@ static void vlc_video_channel_unlock_callback(void *data, void *id, void *const frame->packet = context->video_packet; frame->data = context->video_packet + 12; + delta = now - context->last_video_ts; + + if (delta > 0) { + frame->timestamp += delta * 90; + context->last_video_ts = now; + } switch_core_codec_encode(codec, NULL, context->raw_i420_data, decoded_data_len, 0, frame->data, &encoded_data_len, &encoded_rate, &flag); @@ -380,21 +382,6 @@ static void vlc_video_channel_unlock_callback(void *data, void *id, void *const frame->datalen = encoded_data_len; frame->packetlen = frame->datalen + 12; frame->m = flag & SFF_MARKER ? 1 : 0; - if (!context->last_video_ts) { - context->last_video_ts = switch_micro_time_now() / 1000; - frame->timestamp = context->last_video_ts; - } - - if (context->new_frame) { - int delta = switch_micro_time_now() / 1000 - context->last_video_ts; - frame->timestamp += delta * 90; - context->last_video_ts = switch_micro_time_now() / 1000; - context->new_frame = 0; - } - - if (frame->m) { // next frame is a new frame - context->new_frame = 1; - } if (1) { /* set correct mark and ts */ @@ -1163,7 +1150,7 @@ static switch_status_t setup_tech_pvt(switch_core_session_t *session, const char fail: - return SWITCH_STATUS_FALSE; + return status; } static switch_status_t channel_on_init(switch_core_session_t *session) From 71cafe536b4afe33422aa10d1d0c7629b5b57fa0 Mon Sep 17 00:00:00 2001 From: Seven Du Date: Mon, 28 Jul 2014 06:41:58 +0800 Subject: [PATCH 014/629] FS-7500: add decode_video App --- src/mod/applications/mod_fsv/mod_fsv.c | 145 ++++++++++++++++++++++++- 1 file changed, 143 insertions(+), 2 deletions(-) diff --git a/src/mod/applications/mod_fsv/mod_fsv.c b/src/mod/applications/mod_fsv/mod_fsv.c index cd43395d80..c569de1c0e 100644 --- a/src/mod/applications/mod_fsv/mod_fsv.c +++ b/src/mod/applications/mod_fsv/mod_fsv.c @@ -593,7 +593,6 @@ SWITCH_STANDARD_APP(play_yuv_function) width = width ? width : 352; height = height ? height : 288; size = width * height * 3 / 2; - switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_ERROR, "%d %d\n", width, height); yuv = malloc(size); if (!yuv) { @@ -731,6 +730,147 @@ SWITCH_STANDARD_APP(play_yuv_function) switch_channel_set_flag(channel, CF_VIDEO_ECHO); } + +SWITCH_STANDARD_APP(decode_video_function) +{ + switch_channel_t *channel = switch_core_session_get_channel(session); + switch_codec_t *codec = NULL; + switch_dtmf_t dtmf = { 0 }; + switch_frame_t *frame; + uint32_t size; + uint32_t width = 0, height = 0; + switch_byte_t *yuv; + switch_time_t last = switch_micro_time_now(); + uint32_t max_pictures = 0; + uint32_t decoded_pictures = 0; + + if (!zstr(data)) max_pictures = atoi(data); + + switch_channel_set_flag(channel, CF_VIDEO_PASSIVE); + switch_channel_clear_flag(channel, CF_VIDEO_ECHO); + switch_channel_answer(channel); + + if (!switch_channel_test_flag(channel, CF_VIDEO)) { + switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_WARNING, "Channel %s has no video\n", switch_channel_get_name(channel)); + goto done; + } + + switch_core_session_refresh_video(session); + + size = 1920 * 1080 * 3 / 2; + yuv = malloc(size); + + if (!yuv) { + switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_ERROR, "Memory Error\n"); + goto done; + } + + switch_channel_set_variable(channel, SWITCH_PLAYBACK_TERMINATOR_USED, ""); + + + codec = switch_core_session_get_video_read_codec(session); + if (!codec) { + switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_ERROR, "Channel has no video read codec\n"); + goto done; + } + + while (switch_channel_ready(channel)) { + switch_core_session_read_video_frame(session, &frame, SWITCH_IO_FLAG_NONE, 0); + + if (switch_channel_test_flag(channel, CF_BREAK)) { + switch_channel_clear_flag(channel, CF_BREAK); + break; + } + + switch_ivr_parse_all_events(session); + + //check for dtmf interrupts + if (switch_channel_has_dtmf(channel)) { + const char * terminators = switch_channel_get_variable(channel, SWITCH_PLAYBACK_TERMINATORS_VARIABLE); + switch_channel_dequeue_dtmf(channel, &dtmf); + + if (terminators && !strcasecmp(terminators, "none")) { + terminators = NULL; + } + + if (terminators && strchr(terminators, dtmf.digit)) { + char sbuf[2] = {dtmf.digit, '\0'}; + + switch_channel_set_variable(channel, SWITCH_PLAYBACK_TERMINATOR_USED, sbuf); + break; + } + } + + if (frame) { + switch_core_session_write_video_frame(session, frame, SWITCH_IO_FLAG_NONE, 0); + } else { + continue; + } + + switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_INFO, "seq: %d ts: %ld len: %4d %02x %02x %02x %02x %02x %02x %02x %02x %02x %02x %02x mark: %d %s\n", + frame->seq, frame->timestamp, frame->datalen, + *((uint8_t *)frame->data), *((uint8_t *)frame->data + 1), + *((uint8_t *)frame->data + 2), *((uint8_t *)frame->data + 3), + *((uint8_t *)frame->data + 4), *((uint8_t *)frame->data + 5), + *((uint8_t *)frame->data + 6), *((uint8_t *)frame->data + 7), + *((uint8_t *)frame->data + 8), *((uint8_t *)frame->data + 9), + *((uint8_t *)frame->data + 10), frame->m, switch_test_flag(frame, SFF_CNG) ? " CNG" : ""); + + if (switch_test_flag(frame, SFF_CNG)) { + continue; + } + + if ( 1 ) { /* video part */ + uint32_t decoded_rate = 0; + uint32_t decoded_data_len = size; + uint32_t flag = 0; + + codec->cur_frame = frame; + switch_core_codec_decode(codec, NULL, frame->data, frame->datalen, 0, yuv, &decoded_data_len, &decoded_rate, &flag); + + if (switch_test_flag(codec->cur_frame, SFF_WAIT_KEY_FRAME)) { + switch_time_t now = switch_micro_time_now(); + if (now - last > 3000000) { + switch_core_session_refresh_video(session); + last = now; + } + continue; + } + + if (decoded_data_len > 0) { + if (codec->dec_picture.width > 0 && !width) { + width = codec->dec_picture.width; + switch_channel_set_variable_printf(channel, "video_width", "%d", width); + } + + if (codec->dec_picture.height > 0 && !height) { + height = codec->dec_picture.height; + switch_channel_set_variable_printf(channel, "video_height", "%d", height); + } + + decoded_pictures++; + switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_NOTICE, "picture#%d %dx%d len: %d \n", decoded_pictures, codec->dec_picture.width, codec->dec_picture.height, decoded_data_len); + + if (max_pictures && (decoded_pictures >= max_pictures)) { + break; + } + } + } + } + + switch_core_thread_session_end(session); + switch_channel_set_variable(channel, SWITCH_CURRENT_APPLICATION_RESPONSE_VARIABLE, "OK"); + + switch_safe_free(yuv); + + done: + switch_channel_clear_flag(channel, CF_VIDEO_PASSIVE); + switch_channel_set_flag(channel, CF_VIDEO_ECHO); +} + + +/* File Interface*/ + struct fsv_file_context { switch_file_t *fd; char *path; @@ -1024,8 +1164,9 @@ SWITCH_MODULE_LOAD_FUNCTION(mod_fsv_load) file_interface->file_get_string = fsv_file_get_string; SWITCH_ADD_APP(app_interface, "play_fsv", "play a fsv file", "play a fsv file", play_fsv_function, "", SAF_NONE); - SWITCH_ADD_APP(app_interface, "play_yuv", "play a yvv file", "play a yvv file in I420 format", play_yuv_function, " [width] [height]", SAF_NONE); SWITCH_ADD_APP(app_interface, "record_fsv", "record an fsv file", "record an fsv file", record_fsv_function, "", SAF_NONE); + SWITCH_ADD_APP(app_interface, "play_yuv", "play a yvv file", "play a yvv file in I420 format", play_yuv_function, " [width] [height]", SAF_NONE); + SWITCH_ADD_APP(app_interface, "decode_video", "decode picture", "decode picture and dump to log", decode_video_function, "[max_pictures]", SAF_NONE); /* indicate that the module should continue to be loaded */ return SWITCH_STATUS_SUCCESS; From bcbdf8a347834961c60eed05fc1c3a3cb6290bba Mon Sep 17 00:00:00 2001 From: Seven Du Date: Mon, 4 Aug 2014 03:13:24 +0800 Subject: [PATCH 015/629] FS-7500: add switch_core_video code --- src/include/switch_core_video.h | 237 ++++++++++++++++++++++++++++++++ src/switch_core_video.c | 81 +++++++++++ 2 files changed, 318 insertions(+) create mode 100644 src/include/switch_core_video.h create mode 100644 src/switch_core_video.c diff --git a/src/include/switch_core_video.h b/src/include/switch_core_video.h new file mode 100644 index 0000000000..2534f3d17f --- /dev/null +++ b/src/include/switch_core_video.h @@ -0,0 +1,237 @@ +/* + * FreeSWITCH Modular Media Switching Software Library / Soft-Switch Application + * Copyright (C) 2005-2014, Anthony Minessale II + * + * Version: MPL 1.1 + * + * The contents of this file are subject to the Mozilla Public License Version + * 1.1 (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * http://www.mozilla.org/MPL/ + * + * Software distributed under the License is distributed on an "AS IS" basis, + * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License + * for the specific language governing rights and limitations under the + * License. + * + * The Original Code is FreeSWITCH Modular Media Switching Software Library / Soft-Switch Application + * + * The Initial Developer of the Original Code is + * Seven Du + * Portions created by the Initial Developer are Copyright (C) + * the Initial Developer. All Rights Reserved. + * + * Contributor(s): + * + * + * switch_core_video.h -- Core Video header + * + */ +/*! \file switch_core_video.h + \brief video includes header + + The things powered by libvpx are renamed into the switch_ namespace to provide a cleaner + look to things and helps me to document what parts of video I am using I'd like to take this + opportunity to thank libvpx for all the awesome stuff it does and for making my life much easier. + +*/ +#ifndef SWITCH_VIDEO_H +#define SWITCH_VIDEO_H + +#include "vpx/vpx_image.h" +#include "vpx/vpx_integer.h" + +SWITCH_BEGIN_EXTERN_C + +#define SWITCH_IMG_FMT_PLANAR VPX_IMG_FMT_PLANAR +#define SWITCH_IMG_FMT_UV_FLIP VPX_IMG_FMT_UV_FLIP +#define SWITCH_IMG_FMT_HAS_ALPHA VPX_IMG_FMT_HAS_ALPHA + +#ifndef VPX_IMG_FMT_HIGH /* not available in libvpx 1.3.0 (see commit hash e97aea28) */ +#define VPX_IMG_FMT_HIGH 0x800 /**< Image uses 16bit framebuffer */ +#endif + +#define SWITCH_IMG_FMT_HIGH VPX_IMG_FMT_HIGH + +/*!\brief List of supported image formats */ +typedef enum switch_img_fmt { + SWITCH_IMG_FMT_NONE, + SWITCH_IMG_FMT_RGB24, /**< 24 bit per pixel packed RGB */ + SWITCH_IMG_FMT_RGB32, /**< 32 bit per pixel packed 0RGB */ + SWITCH_IMG_FMT_RGB565, /**< 16 bit per pixel, 565 */ + SWITCH_IMG_FMT_RGB555, /**< 16 bit per pixel, 555 */ + SWITCH_IMG_FMT_UYVY, /**< UYVY packed YUV */ + SWITCH_IMG_FMT_YUY2, /**< YUYV packed YUV */ + SWITCH_IMG_FMT_YVYU, /**< YVYU packed YUV */ + SWITCH_IMG_FMT_BGR24, /**< 24 bit per pixel packed BGR */ + SWITCH_IMG_FMT_RGB32_LE, /**< 32 bit packed BGR0 */ + SWITCH_IMG_FMT_ARGB, /**< 32 bit packed ARGB, alpha=255 */ + SWITCH_IMG_FMT_ARGB_LE, /**< 32 bit packed BGRA, alpha=255 */ + SWITCH_IMG_FMT_RGB565_LE, /**< 16 bit per pixel, gggbbbbb rrrrrggg */ + SWITCH_IMG_FMT_RGB555_LE, /**< 16 bit per pixel, gggbbbbb 0rrrrrgg */ + SWITCH_IMG_FMT_YV12 = SWITCH_IMG_FMT_PLANAR | SWITCH_IMG_FMT_UV_FLIP | 1, /**< planar YVU */ + SWITCH_IMG_FMT_I420 = SWITCH_IMG_FMT_PLANAR | 2, + SWITCH_IMG_FMT_VPXYV12 = SWITCH_IMG_FMT_PLANAR | SWITCH_IMG_FMT_UV_FLIP | 3, /** < planar 4:2:0 format with vpx color space */ + SWITCH_IMG_FMT_VPXI420 = SWITCH_IMG_FMT_PLANAR | 4, + SWITCH_IMG_FMT_I422 = SWITCH_IMG_FMT_PLANAR | 5, + SWITCH_IMG_FMT_I444 = SWITCH_IMG_FMT_PLANAR | 6, + SWITCH_IMG_FMT_444A = SWITCH_IMG_FMT_PLANAR | SWITCH_IMG_FMT_HAS_ALPHA | 7, + SWITCH_IMG_FMT_I42016 = SWITCH_IMG_FMT_I420 | SWITCH_IMG_FMT_HIGH, + SWITCH_IMG_FMT_I42216 = SWITCH_IMG_FMT_I422 | SWITCH_IMG_FMT_HIGH, + SWITCH_IMG_FMT_I44416 = SWITCH_IMG_FMT_I444 | SWITCH_IMG_FMT_HIGH +} switch_img_fmt_t; /**< alias for enum vpx_img_fmt */ + + /**\brief Image Descriptor */ +struct switch_image { + switch_img_fmt_t fmt; /**< Image Format */ + + /* Image storage dimensions */ + unsigned int w; /**< Stored image width */ + unsigned int h; /**< Stored image height */ + unsigned int bit_depth; /**< Stored image bit-depth */ + + /* Image display dimensions */ + unsigned int d_w; /**< Displayed image width */ + unsigned int d_h; /**< Displayed image height */ + + /* Chroma subsampling info */ + unsigned int x_chroma_shift; /**< subsampling order, X */ + unsigned int y_chroma_shift; /**< subsampling order, Y */ + + /* Image data pointers. */ +#define SWITCH_PLANE_PACKED VPX_PLANE_PACKED +#define SWITCH_PLANE_Y VPX_PLANE_Y +#define SWITCH_PLANE_U VPX_PLANE_U +#define SWITCH_PLANE_V VPX_PLANE_V +#define SWITCH_PLANE_ALPHA VPX_PLANE_ALPHA + + unsigned char *planes[4]; /**< pointer to the top left pixel for each plane */ + int stride[4]; /**< stride between rows for each plane */ + + int bps; /**< bits per sample (for packed formats) */ + + /* The following member may be set by the application to associate data + * with this image. + */ + void *user_priv; /**< may be set by the application to associate data + * with this image. */ + + /* The following members should be treated as private. */ + unsigned char *img_data; /**< private */ + int img_data_owner; /**< private */ + int self_allocd; /**< private */ + + void *fb_priv; /**< Frame buffer data associated with the image. */ +}; + +/**\brief Representation of a rectangle on a surface */ +typedef struct switch_image_rect { + unsigned int x; /**< leftmost column */ + unsigned int y; /**< topmost row */ + unsigned int w; /**< width */ + unsigned int h; /**< height */ +} switch_image_rect_t; + +/*!\brief Open a descriptor, allocating storage for the underlying image +* +* Returns a descriptor for storing an image of the given format. The +* storage for the descriptor is allocated on the heap. +* +* \param[in] img Pointer to storage for descriptor. If this parameter +* is NULL, the storage for the descriptor will be +* allocated on the heap. +* \param[in] fmt Format for the image +* \param[in] d_w Width of the image +* \param[in] d_h Height of the image +* \param[in] align Alignment, in bytes, of the image buffer and +* each row in the image(stride). +* +* \return Returns a pointer to the initialized image descriptor. If the img +* parameter is non-null, the value of the img parameter will be +* returned. +*/ +SWITCH_DECLARE(switch_image_t *)switch_img_alloc(switch_image_t *img, + switch_img_fmt_t fmt, + unsigned int d_w, + unsigned int d_h, + unsigned int align); + +/*!\brief Open a descriptor, using existing storage for the underlying image +* +* Returns a descriptor for storing an image of the given format. The +* storage for descriptor has been allocated elsewhere, and a descriptor is +* desired to "wrap" that storage. +* +* \param[in] img Pointer to storage for descriptor. If this parameter +* is NULL, the storage for the descriptor will be +* allocated on the heap. +* \param[in] fmt Format for the image +* \param[in] d_w Width of the image +* \param[in] d_h Height of the image +* \param[in] align Alignment, in bytes, of each row in the image. +* \param[in] img_data Storage to use for the image +* +* \return Returns a pointer to the initialized image descriptor. If the img +* parameter is non-null, the value of the img parameter will be +* returned. +*/ +SWITCH_DECLARE(switch_image_t *)switch_img_wrap(switch_image_t *img, + switch_img_fmt_t fmt, + unsigned int d_w, + unsigned int d_h, + unsigned int align, + unsigned char *img_data); + + +/*!\brief Set the rectangle identifying the displayed portion of the image +* +* Updates the displayed rectangle (aka viewport) on the image surface to +* match the specified coordinates and size. +* +* \param[in] img Image descriptor +* \param[in] x leftmost column +* \param[in] y topmost row +* \param[in] w width +* \param[in] h height +* +* \return 0 if the requested rectangle is valid, nonzero otherwise. +*/ +SWITCH_DECLARE(int) switch_img_set_rect(switch_image_t *img, + unsigned int x, + unsigned int y, + unsigned int w, + unsigned int h); + + +/*!\brief Flip the image vertically (top for bottom) +* +* Adjusts the image descriptor's pointers and strides to make the image +* be referenced upside-down. +* +* \param[in] img Image descriptor +*/ +SWITCH_DECLARE(void) switch_img_flip(switch_image_t *img); + +/*!\brief Close an image descriptor +* +* Frees all allocated storage associated with an image descriptor. +* +* \param[in] img Image descriptor +*/ +SWITCH_DECLARE(void) switch_img_free(switch_image_t *img); + + +/** @} */ + +SWITCH_END_EXTERN_C +#endif +/* For Emacs: + * Local Variables: + * mode:c + * indent-tabs-mode:t + * tab-width:4 + * c-basic-offset:4 + * End: + * For VIM: + * vim:set softtabstop=4 shiftwidth=4 tabstop=4 noet: + */ diff --git a/src/switch_core_video.c b/src/switch_core_video.c new file mode 100644 index 0000000000..885b24a377 --- /dev/null +++ b/src/switch_core_video.c @@ -0,0 +1,81 @@ +/* + * FreeSWITCH Modular Media Switching Software Library / Soft-Switch Application + * Copyright (C) 2005-2014, Anthony Minessale II + * + * Version: MPL 1.1 + * + * The contents of this file are subject to the Mozilla Public License Version + * 1.1 (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * http://www.mozilla.org/MPL/ + * + * Software distributed under the License is distributed on an "AS IS" basis, + * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License + * for the specific language governing rights and limitations under the + * License. + * + * The Original Code is FreeSWITCH Modular Media Switching Software Library / Soft-Switch Application + * + * The Initial Developer of the Original Code is + * Seven Du + * Portions created by the Initial Developer are Copyright (C) + * the Initial Developer. All Rights Reserved. + * + * Contributor(s): + * + * + * switch_core_video.c -- Core Video + * + */ + +#include + + +SWITCH_DECLARE(switch_image_t *)switch_img_alloc(switch_image_t *img, + switch_img_fmt_t fmt, + unsigned int d_w, + unsigned int d_h, + unsigned int align) +{ + return (switch_image_t *)vpx_img_alloc((vpx_image_t *)img, (vpx_img_fmt_t)fmt, d_w, d_h, align); +} + +SWITCH_DECLARE(switch_image_t *)switch_img_wrap(switch_image_t *img, + switch_img_fmt_t fmt, + unsigned int d_w, + unsigned int d_h, + unsigned int align, + unsigned char *img_data) +{ + return (switch_image_t *)vpx_img_wrap((vpx_image_t *)img, (vpx_img_fmt_t)fmt, d_w, d_h, align, img_data); +} + +SWITCH_DECLARE(int) switch_img_set_rect(switch_image_t *img, + unsigned int x, + unsigned int y, + unsigned int w, + unsigned int h) +{ + return vpx_img_set_rect((vpx_image_t *)img, x, y, w, h); +} + +SWITCH_DECLARE(void) switch_img_flip(switch_image_t *img) +{ + vpx_img_flip((vpx_image_t *)img); +} + +SWITCH_DECLARE(void) switch_img_free(switch_image_t *img) +{ + vpx_img_free((vpx_image_t *)img); +} + +/* For Emacs: + * Local Variables: + * mode:c + * indent-tabs-mode:t + * tab-width:4 + * c-basic-offset:4 + * End: + * For VIM: + * vim:set softtabstop=4 shiftwidth=4 tabstop=4 noet: + */ From ea2f00b3d9152e54259b212051e21f1f3380ccd0 Mon Sep 17 00:00:00 2001 From: Seven Du Date: Mon, 4 Aug 2014 03:15:26 +0800 Subject: [PATCH 016/629] FS-7500: refactor to use switch_core_video added switch_core_codec_encode_video and switch_core_codec_decode video and add separate video implementations the switch_core_video code depends on libvpx, wraped into the switch_ namespace like switch_apr, need to figure out how to find the correct libvpx lib in autotools --- Makefile.am | 2 + src/include/switch.h | 1 + src/include/switch_core.h | 27 +++++++++ src/include/switch_loadable_module.h | 39 +++++++++++++ src/include/switch_module_interfaces.h | 8 +-- src/include/switch_types.h | 11 +++- src/mod/applications/mod_fsv/mod_fsv.c | 76 +++++++++++--------------- src/switch_core_codec.c | 59 ++++++++++++++++++++ src/switch_core_media.c | 20 +++---- 9 files changed, 180 insertions(+), 63 deletions(-) diff --git a/Makefile.am b/Makefile.am index 8f681a58e5..c8d07eab09 100644 --- a/Makefile.am +++ b/Makefile.am @@ -188,6 +188,7 @@ library_include_HEADERS = \ src/include/switch_scheduler.h \ src/include/switch_core.h \ src/include/switch_core_media.h \ + src/include/switch_core_video.h \ src/include/switch_core_db.h \ src/include/switch_mprintf.h \ src/include/switch_config.h \ @@ -254,6 +255,7 @@ libfreeswitch_la_SOURCES = \ src/switch_core.c \ src/switch_version.c \ src/switch_core_media.c \ + src/switch_core_video.c \ src/switch_sdp.c \ src/switch_scheduler.c \ src/switch_core_db.c \ diff --git a/src/include/switch.h b/src/include/switch.h index ca95045248..2c9245da1b 100644 --- a/src/include/switch.h +++ b/src/include/switch.h @@ -143,6 +143,7 @@ #include "switch_json.h" #include "switch_limit.h" #include "switch_core_media.h" +#include "switch_core_video.h" #include diff --git a/src/include/switch_core.h b/src/include/switch_core.h index c3b31d42a2..b123284670 100644 --- a/src/include/switch_core.h +++ b/src/include/switch_core.h @@ -1621,6 +1621,33 @@ SWITCH_DECLARE(switch_status_t) switch_core_codec_decode(switch_codec_t *codec, uint32_t encoded_rate, void *decoded_data, uint32_t *decoded_data_len, uint32_t *decoded_rate, unsigned int *flag); +/*! + \brief Encode video data using a codec handle + \param codec the codec handle to use + \param img the img in I420 format + \param encoded_data the buffer to write the encoded data to + \param encoded_data_len the size of the encoded_data buffer + \param flag flags to exchange + \return SWITCH_STATUS_SUCCESS if the data was encoded + \note encoded_data_len will be rewritten to the in-use size of encoded_data +*/ +SWITCH_DECLARE(switch_status_t) switch_core_codec_encode_video(switch_codec_t *codec, + switch_image_t *img, + void *encoded_data, uint32_t *encoded_data_len, unsigned int *flag); + +/*! + \brief Decode video data using a codec handle + \param codec the codec handle to use + \param frame the frame to be decoded + \param img the new image in I420 format, allocated by the codec + \param flag flags to exchange + \return SWITCH_STATUS_SUCCESS if the data was decoded, and a non-NULL img +*/ +SWITCH_DECLARE(switch_status_t) switch_core_codec_decode_video(switch_codec_t *codec, + switch_frame_t *frame, + switch_image_t **img, unsigned int *flag); + + /*! \brief Destroy an initalized codec handle \param codec the codec handle to destroy diff --git a/src/include/switch_loadable_module.h b/src/include/switch_loadable_module.h index 1dd8fb7b55..514ad45534 100644 --- a/src/include/switch_loadable_module.h +++ b/src/include/switch_loadable_module.h @@ -532,6 +532,45 @@ static inline void switch_core_codec_add_implementation(switch_memory_pool_t *po ///\} +static inline void switch_core_codec_add_video_implementation(switch_memory_pool_t *pool, switch_codec_interface_t *codec_interface, + /*! the IANA code number */ + switch_payload_t ianacode, + /*! the IANA code name */ + const char *iananame, + /*! default fmtp to send (can be overridden by the init function) */ + char *fmtp, + switch_core_codec_init_func_t init, + /*! function to encode raw data into encoded data */ + switch_core_codec_video_encode_func_t encode, + /*! function to decode encoded data into raw data */ + switch_core_codec_video_decode_func_t decode, + /*! deinitalize a codec handle using this implementation */ + switch_core_codec_destroy_func_t destroy) +{ + + switch_codec_implementation_t *impl = (switch_codec_implementation_t *) switch_core_alloc(pool, sizeof(*impl)); + memset(impl, 0, sizeof(*impl)); + impl->codec_type = SWITCH_CODEC_TYPE_VIDEO; + impl->ianacode = ianacode; + impl->iananame = switch_core_strdup(pool, iananame); + impl->fmtp = switch_core_strdup(pool, fmtp); + impl->samples_per_second = 90000; + impl->actual_samples_per_second = 90000; + impl->bits_per_second = 0; + impl->microseconds_per_packet = 0; + impl->samples_per_packet = 0; + impl->number_of_channels = 1; + impl->codec_frames_per_packet = 1; + impl->init = init; + impl->encode_video = encode; + impl->decode_video = decode; + impl->destroy = destroy; + impl->codec_id = codec_interface->codec_id; + impl->next = codec_interface->implementations; + impl->impl_id = switch_core_codec_next_id(); + codec_interface->implementations = impl; +} + #define SWITCH_DECLARE_STATIC_MODULE(init, load, run, shut) void init(void) { \ switch_loadable_module_build_dynamic(__FILE__, load, run, shut, SWITCH_FALSE); \ } diff --git a/src/include/switch_module_interfaces.h b/src/include/switch_module_interfaces.h index 84c4b135d6..20f110ab5f 100644 --- a/src/include/switch_module_interfaces.h +++ b/src/include/switch_module_interfaces.h @@ -639,10 +639,6 @@ struct switch_codec { struct switch_codec *next; switch_core_session_t *session; switch_frame_t *cur_frame; - /*! raw picture for encode */ - switch_picture_t enc_picture; - /*! decoded picture */ - switch_picture_t dec_picture; }; /*! \brief A table of settings and callbacks that define a paticular implementation of a codec */ @@ -679,6 +675,10 @@ struct switch_codec_implementation { switch_core_codec_encode_func_t encode; /*! function to decode encoded data into raw data */ switch_core_codec_decode_func_t decode; + /*! function to encode video raw data into encoded data */ + switch_core_codec_video_encode_func_t encode_video; + /*! function to decode video encoded data into raw data */ + switch_core_codec_video_decode_func_t decode_video; /*! deinitalize a codec handle using this implementation */ switch_core_codec_destroy_func_t destroy; uint32_t codec_id; diff --git a/src/include/switch_types.h b/src/include/switch_types.h index 50c841ae44..65d25d1188 100644 --- a/src/include/switch_types.h +++ b/src/include/switch_types.h @@ -541,7 +541,6 @@ SWITCH_DECLARE_DATA extern switch_filenames SWITCH_GLOBAL_filenames; #define SWITCH_MAX_SAMPLE_LEN 48 #define SWITCH_BYTES_PER_SAMPLE 2 /* slin is 2 bytes per sample */ #define SWITCH_RECOMMENDED_BUFFER_SIZE 8192 -#define SWITCH_RECOMMENDED_VIDEO_BUFFER_SIZE 4096 * 1024 /* Fixme: Just Make sure it's big enough for now */ #define SWITCH_MAX_CODECS 50 #define SWITCH_MAX_STATE_HANDLERS 30 #define SWITCH_CORE_QUEUE_LEN 100000 @@ -2095,7 +2094,7 @@ typedef struct switch_caller_extension switch_caller_extension_t; typedef struct switch_caller_application switch_caller_application_t; typedef struct switch_state_handler_table switch_state_handler_table_t; typedef struct switch_timer switch_timer_t; -typedef struct switch_picture switch_picture_t; +typedef struct switch_image switch_image_t; typedef struct switch_codec switch_codec_t; typedef struct switch_core_thread_session switch_core_thread_session_t; typedef struct switch_codec_implementation switch_codec_implementation_t; @@ -2168,6 +2167,14 @@ typedef switch_status_t (*switch_core_codec_decode_func_t) (switch_codec_t *code uint32_t encoded_rate, void *decoded_data, uint32_t *decoded_data_len, uint32_t *decoded_rate, unsigned int *flag); +typedef switch_status_t (*switch_core_codec_video_encode_func_t) (switch_codec_t *codec, + switch_image_t *img, + void *encoded_data, uint32_t *encoded_data_len, unsigned int *flag); + +typedef switch_status_t (*switch_core_codec_video_decode_func_t) (switch_codec_t *codec, + switch_frame_t *frame, + switch_image_t **img, unsigned int *flag); + typedef switch_status_t (*switch_core_codec_init_func_t) (switch_codec_t *, switch_codec_flag_t, const switch_codec_settings_t *codec_settings); typedef switch_status_t (*switch_core_codec_fmtp_parse_func_t) (const char *fmtp, switch_codec_fmtp_t *codec_fmtp); typedef switch_status_t (*switch_core_codec_destroy_func_t) (switch_codec_t *); diff --git a/src/mod/applications/mod_fsv/mod_fsv.c b/src/mod/applications/mod_fsv/mod_fsv.c index c569de1c0e..589ff32a31 100644 --- a/src/mod/applications/mod_fsv/mod_fsv.c +++ b/src/mod/applications/mod_fsv/mod_fsv.c @@ -574,12 +574,18 @@ SWITCH_STANDARD_APP(play_yuv_function) switch_dtmf_t dtmf = { 0 }; switch_frame_t *read_frame; uint32_t width = 0, height = 0, size; - switch_byte_t *yuv; + switch_image_t *img = NULL; + switch_byte_t *yuv = NULL; switch_time_t last_video_ts = 0; int argc; char *argv[3] = { 0 }; char *mydata = switch_core_session_strdup(session, data); + if (!switch_channel_test_flag(channel, CF_VIDEO)) { + switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_WARNING, "Channel %s has no video\n", switch_channel_get_name(channel)); + goto done; + } + argc = switch_separate_string(mydata, ' ', argv, (sizeof(argv) / sizeof(argv[0]))); if (argc == 0) { @@ -593,13 +599,16 @@ SWITCH_STANDARD_APP(play_yuv_function) width = width ? width : 352; height = height ? height : 288; size = width * height * 3 / 2; - yuv = malloc(size); - if (!yuv) { + img = switch_img_alloc(NULL, SWITCH_IMG_FMT_I420, width, height, 0); + + if (!img) { switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_ERROR, "Memory Error\n"); goto end; } + yuv = img->planes[SWITCH_PLANE_PACKED]; + // switch_channel_set_flag(channel, CF_VIDEO_PASSIVE); switch_channel_clear_flag(channel, CF_VIDEO_ECHO); @@ -625,7 +634,6 @@ SWITCH_STANDARD_APP(play_yuv_function) switch_channel_answer(channel); codec = switch_core_session_get_video_write_codec(session); - switch_assert(codec); vid_frame.codec = codec; vid_frame.packet = vid_buffer; @@ -664,18 +672,13 @@ SWITCH_STANDARD_APP(play_yuv_function) if (read_frame) switch_core_session_write_frame(session, read_frame, SWITCH_IO_FLAG_NONE, 0); { /* video part */ - uint32_t decoded_data_len; uint32_t flag = 0; uint32_t encoded_data_len = 1500; - uint32_t encoded_rate = 0; switch_frame_t *frame = &vid_frame; switch_time_t now = switch_micro_time_now() / 1000; char ts_str[33]; - int delta; + long delta; - codec->enc_picture.width = width; - codec->enc_picture.height = height; - decoded_data_len = width * height * 3 / 2; delta = now - last_video_ts; if (delta > 0) { @@ -684,11 +687,11 @@ SWITCH_STANDARD_APP(play_yuv_function) } sprintf(ts_str, "%u", (uint32_t)frame->timestamp); - text(yuv, width, 20, 20, ts_str); - switch_core_codec_encode(codec, NULL, yuv, decoded_data_len, 0, vid_frame.data, &encoded_data_len, &encoded_rate, &flag); + text(img->planes[SWITCH_PLANE_PACKED], width, 20, 20, ts_str); + switch_core_codec_encode_video(codec, img, vid_frame.data, &encoded_data_len, &flag); while(encoded_data_len) { - // switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_ERROR, "encoded: %s [%d] flag=%d ts=%u\n", codec->implementation->iananame, encoded_data_len, flag, last_video_ts); + // switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_ERROR, "encoded: %s [%d] flag=%d ts=%lld\n", codec->implementation->iananame, encoded_data_len, flag, last_video_ts); frame->datalen = encoded_data_len; frame->packetlen = frame->datalen + 12; @@ -709,7 +712,7 @@ SWITCH_STANDARD_APP(play_yuv_function) switch_core_session_write_video_frame(session, frame, SWITCH_IO_FLAG_NONE, 0); encoded_data_len = 1500; - switch_core_codec_encode(codec, NULL, NULL, 0, 0, frame->data, &encoded_data_len, &encoded_rate, &flag); + switch_core_codec_encode_video(codec, NULL, vid_frame.data, &encoded_data_len, &flag); } } } @@ -723,7 +726,7 @@ SWITCH_STANDARD_APP(play_yuv_function) close(fd); } - switch_safe_free(yuv); + switch_img_free(img); done: // switch_channel_clear_flag(channel, CF_VIDEO_PASSIVE); @@ -737,34 +740,23 @@ SWITCH_STANDARD_APP(decode_video_function) switch_codec_t *codec = NULL; switch_dtmf_t dtmf = { 0 }; switch_frame_t *frame; - uint32_t size; uint32_t width = 0, height = 0; - switch_byte_t *yuv; switch_time_t last = switch_micro_time_now(); uint32_t max_pictures = 0; uint32_t decoded_pictures = 0; if (!zstr(data)) max_pictures = atoi(data); - switch_channel_set_flag(channel, CF_VIDEO_PASSIVE); - switch_channel_clear_flag(channel, CF_VIDEO_ECHO); - switch_channel_answer(channel); - if (!switch_channel_test_flag(channel, CF_VIDEO)) { switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_WARNING, "Channel %s has no video\n", switch_channel_get_name(channel)); goto done; } + switch_channel_set_flag(channel, CF_VIDEO_PASSIVE); + switch_channel_clear_flag(channel, CF_VIDEO_ECHO); + switch_channel_answer(channel); switch_core_session_refresh_video(session); - size = 1920 * 1080 * 3 / 2; - yuv = malloc(size); - - if (!yuv) { - switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_ERROR, "Memory Error\n"); - goto done; - } - switch_channel_set_variable(channel, SWITCH_PLAYBACK_TERMINATOR_USED, ""); @@ -801,7 +793,7 @@ SWITCH_STANDARD_APP(decode_video_function) } } - if (frame) { + if (frame && frame->datalen > 0) { switch_core_session_write_video_frame(session, frame, SWITCH_IO_FLAG_NONE, 0); } else { continue; @@ -816,19 +808,17 @@ SWITCH_STANDARD_APP(decode_video_function) *((uint8_t *)frame->data + 8), *((uint8_t *)frame->data + 9), *((uint8_t *)frame->data + 10), frame->m, switch_test_flag(frame, SFF_CNG) ? " CNG" : ""); - if (switch_test_flag(frame, SFF_CNG)) { + if (switch_test_flag(frame, SFF_CNG) || frame->datalen < 3) { continue; } if ( 1 ) { /* video part */ - uint32_t decoded_rate = 0; - uint32_t decoded_data_len = size; uint32_t flag = 0; + switch_image_t *img = NULL; - codec->cur_frame = frame; - switch_core_codec_decode(codec, NULL, frame->data, frame->datalen, 0, yuv, &decoded_data_len, &decoded_rate, &flag); + switch_core_codec_decode_video(codec, frame, &img, &flag); - if (switch_test_flag(codec->cur_frame, SFF_WAIT_KEY_FRAME)) { + if ((switch_test_flag(frame, SFF_WAIT_KEY_FRAME))) { switch_time_t now = switch_micro_time_now(); if (now - last > 3000000) { switch_core_session_refresh_video(session); @@ -837,19 +827,19 @@ SWITCH_STANDARD_APP(decode_video_function) continue; } - if (decoded_data_len > 0) { - if (codec->dec_picture.width > 0 && !width) { - width = codec->dec_picture.width; + if (img) { + if (img->d_w > 0 && !width) { + width = img->d_w; switch_channel_set_variable_printf(channel, "video_width", "%d", width); } - if (codec->dec_picture.height > 0 && !height) { - height = codec->dec_picture.height; + if (img->d_h > 0 && !height) { + height = img->d_h; switch_channel_set_variable_printf(channel, "video_height", "%d", height); } decoded_pictures++; - switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_NOTICE, "picture#%d %dx%d len: %d \n", decoded_pictures, codec->dec_picture.width, codec->dec_picture.height, decoded_data_len); + switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_NOTICE, "picture#%d %dx%d\n", decoded_pictures, img->d_w, img->d_h); if (max_pictures && (decoded_pictures >= max_pictures)) { break; @@ -861,8 +851,6 @@ SWITCH_STANDARD_APP(decode_video_function) switch_core_thread_session_end(session); switch_channel_set_variable(channel, SWITCH_CURRENT_APPLICATION_RESPONSE_VARIABLE, "OK"); - switch_safe_free(yuv); - done: switch_channel_clear_flag(channel, CF_VIDEO_PASSIVE); switch_channel_set_flag(channel, CF_VIDEO_ECHO); diff --git a/src/switch_core_codec.c b/src/switch_core_codec.c index 20fdaf2bd1..0800db506c 100644 --- a/src/switch_core_codec.c +++ b/src/switch_core_codec.c @@ -784,6 +784,65 @@ SWITCH_DECLARE(switch_status_t) switch_core_codec_decode(switch_codec_t *codec, return status; } +SWITCH_DECLARE(switch_status_t) switch_core_codec_encode_video(switch_codec_t *codec, + switch_image_t *img, + void *encoded_data, uint32_t *encoded_data_len, unsigned int *flag) +{ + switch_status_t status = SWITCH_STATUS_FALSE; + + switch_assert(codec != NULL); + + if (!codec->implementation || !switch_core_codec_ready(codec)) { + switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_ERROR, "Codec is not initialized!\n"); + return SWITCH_STATUS_NOT_INITALIZED; + } + + if (!switch_test_flag(codec, SWITCH_CODEC_FLAG_ENCODE)) { + switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_ERROR, "Codec encoder is not initialized!\n"); + return SWITCH_STATUS_NOT_INITALIZED; + } + + if (codec->mutex) switch_mutex_lock(codec->mutex); + + if (codec->implementation->encode_video) { + status = codec->implementation->encode_video(codec, img, encoded_data, encoded_data_len, flag); + } + + if (codec->mutex) switch_mutex_unlock(codec->mutex); + + return status; + +} + +SWITCH_DECLARE(switch_status_t) switch_core_codec_decode_video(switch_codec_t *codec, + switch_frame_t *frame, + switch_image_t **img, unsigned int *flag) +{ + switch_status_t status = SWITCH_STATUS_FALSE; + + switch_assert(codec != NULL); + switch_assert(frame != NULL); + + if (!codec->implementation || !switch_core_codec_ready(codec)) { + switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_ERROR, "Decode Codec is not initialized!\n"); + return SWITCH_STATUS_NOT_INITALIZED; + } + + if (!switch_test_flag(codec, SWITCH_CODEC_FLAG_DECODE)) { + switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_ERROR, "Codec decoder is not initialized!\n"); + return SWITCH_STATUS_NOT_INITALIZED; + } + + if (codec->mutex) switch_mutex_lock(codec->mutex); + + if (codec->implementation->decode_video) { + status = codec->implementation->decode_video(codec, frame, img, flag); + } + if (codec->mutex) switch_mutex_unlock(codec->mutex); + + return status; +} + SWITCH_DECLARE(switch_status_t) switch_core_codec_destroy(switch_codec_t *codec) { switch_mutex_t *mutex = codec->mutex; diff --git a/src/switch_core_media.c b/src/switch_core_media.c index d4e46673be..b8ceaffc01 100644 --- a/src/switch_core_media.c +++ b/src/switch_core_media.c @@ -4387,14 +4387,11 @@ static switch_status_t video_bridge_callback(switch_core_session_t *session, swi switch_core_session_write_video_frame(session, read_frame, SWITCH_IO_FLAG_NONE, 0); return status; } else { - uint8_t raw_buff[BUF_SIZE]; uint8_t rtp_buff[1500] = { 0 }; - uint32_t decoded_rate = 0; - uint32_t decoded_data_len = BUF_SIZE; uint32_t flag = 0; uint32_t encoded_data_len = 1500; - uint32_t encoded_rate = 0; switch_frame_t write_frame = { 0 }; + switch_image_t *img = NULL; #if 0 switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_ERROR, "%d/%s != %d/%s need transcoding!!!\n", @@ -4405,23 +4402,20 @@ static switch_status_t video_bridge_callback(switch_core_session_t *session, swi // if (!strcmp(codec->implementation->iananame, "VP8")) return status; // if (!strcmp(codec->implementation->iananame, "H264")) return status; - codec->cur_frame = read_frame; - switch_core_codec_decode(codec, NULL, read_frame->data, read_frame->datalen, 0, raw_buff, &decoded_data_len, &decoded_rate, &flag); + switch_core_codec_decode_video(codec, read_frame, &img, &flag); - if (decoded_data_len < 3) return SWITCH_STATUS_SUCCESS; + if (!img) return SWITCH_STATUS_SUCCESS; - switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_ERROR, "%s decoded_data_len: %d size: %dx%d\n", codec->implementation->iananame, decoded_data_len, codec->dec_picture.width, codec->dec_picture.height); + // switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_ERROR, "%s decoded_data_len: %d size: %dx%d\n", codec->implementation->iananame, decoded_data_len, codec->dec_picture.width, codec->dec_picture.height); write_frame.packet = rtp_buff; write_frame.data = rtp_buff + 12; - other_codec->enc_picture.width = codec->dec_picture.width; - other_codec->enc_picture.height = codec->dec_picture.height; encoded_data_len = 1500; - switch_core_codec_encode(other_codec, NULL, raw_buff, decoded_data_len, 0, rtp_buff+12, &encoded_data_len, &encoded_rate, &flag); + switch_core_codec_encode_video(other_codec, img, rtp_buff+12, &encoded_data_len, &flag); while(encoded_data_len) { - switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_ERROR, "encoded: %s [%d] flag=%d ts=%u\n", other_codec->implementation->iananame, encoded_data_len, flag, *ts); + // switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_ERROR, "encoded: %s [%d] flag=%d ts=%u\n", other_codec->implementation->iananame, encoded_data_len, flag, *ts); write_frame.datalen = encoded_data_len; write_frame.packetlen = write_frame.datalen + 12; @@ -4448,7 +4442,7 @@ static switch_status_t video_bridge_callback(switch_core_session_t *session, swi switch_core_session_write_video_frame(session_b, &write_frame, SWITCH_IO_FLAG_NONE, 0); encoded_data_len = 1500; - switch_core_codec_encode(other_codec, NULL, NULL, 0, 0, rtp_buff+12, &encoded_data_len, &encoded_rate, &flag); + switch_core_codec_encode_video(other_codec, NULL, rtp_buff+12, &encoded_data_len, &flag); } } From f3ad699526c00cd2d83e85d5d716ae0bf0565e98 Mon Sep 17 00:00:00 2001 From: Seven Du Date: Mon, 4 Aug 2014 15:23:12 +0800 Subject: [PATCH 017/629] FS-7500: update yuv codec --- src/mod/codecs/mod_yuv/mod_yuv.c | 19 ++++++------------- 1 file changed, 6 insertions(+), 13 deletions(-) diff --git a/src/mod/codecs/mod_yuv/mod_yuv.c b/src/mod/codecs/mod_yuv/mod_yuv.c index db8d9718e6..6748e61f12 100644 --- a/src/mod/codecs/mod_yuv/mod_yuv.c +++ b/src/mod/codecs/mod_yuv/mod_yuv.c @@ -51,10 +51,8 @@ static switch_status_t switch_yuv_init(switch_codec_t *codec, switch_codec_flag_ } static switch_status_t switch_yuv_encode(switch_codec_t *codec, - switch_codec_t *other_codec, - void *decoded_data, - uint32_t decoded_data_len, - uint32_t decoded_rate, void *encoded_data, uint32_t *encoded_data_len, uint32_t *encoded_rate, + switch_image_t *img, + void *encoded_data, uint32_t *encoded_data_len, unsigned int *flag) { /* yuv encode is unclear, so return 0 for now */ @@ -64,18 +62,13 @@ static switch_status_t switch_yuv_encode(switch_codec_t *codec, } static switch_status_t switch_yuv_decode(switch_codec_t *codec, - switch_codec_t *other_codec, - void *encoded_data, - uint32_t encoded_data_len, - uint32_t encoded_rate, void *decoded_data, uint32_t *decoded_data_len, uint32_t *decoded_rate, + switch_frame_t *frame, + switch_image_t **img, unsigned int *flag) { - if (*decoded_data_len < encoded_data_len) return SWITCH_STATUS_FALSE; + switch_assert(frame); - codec->dec_picture.width = codec->enc_picture.width; - codec->dec_picture.height = codec->enc_picture.height; - memcpy(decoded_data, encoded_data, encoded_data_len); - *decoded_data_len = encoded_data_len; + *img = (switch_image_t *)frame->user_data; return SWITCH_STATUS_SUCCESS; } From 8e5cbb0e2677fb0dfae7238469c8c4f69dbc2209 Mon Sep 17 00:00:00 2001 From: Seven Du Date: Tue, 5 Aug 2014 01:01:57 +0800 Subject: [PATCH 018/629] FS-7514: follow the last core_video refactor --- src/mod/formats/mod_vlc/mod_vlc.c | 38 +++++++++++++++---------------- 1 file changed, 18 insertions(+), 20 deletions(-) diff --git a/src/mod/formats/mod_vlc/mod_vlc.c b/src/mod/formats/mod_vlc/mod_vlc.c index 4852d84d92..edf1dca090 100644 --- a/src/mod/formats/mod_vlc/mod_vlc.c +++ b/src/mod/formats/mod_vlc/mod_vlc.c @@ -107,6 +107,7 @@ struct vlc_video_context { uint8_t video_packet[1500 + 12]; void *raw_yuyv_data; void *raw_i420_data; + switch_image_t *img; switch_time_t last_video_ts; switch_payload_t pt; uint32_t seq; @@ -266,24 +267,22 @@ static void vlc_video_unlock_callback(void *data, void *id, void *const *p_pixel { vlc_video_context_t *context = (vlc_video_context_t *)data; switch_frame_t *frame = context->vid_frame; - uint32_t decoded_data_len; uint32_t flag = 0; uint32_t encoded_data_len = 1500; - uint32_t encoded_rate = 0; switch_time_t now = (switch_time_t)(switch_micro_time_now() / 1000); switch_codec_t *codec = switch_core_session_get_video_write_codec(context->session); - int delta; + long delta; switch_assert(id == NULL); /* picture identifier, not needed here */ switch_assert(codec); if (now - context->last_video_ts < 60) goto end; - yuyv_to_i420(*p_pixels, context->raw_i420_data, context->width, context->height); + if (!context->img) context->img = switch_img_alloc(NULL, SWITCH_IMG_FMT_I420, context->width, context->height, 0); + if (!context->img) goto end; + + yuyv_to_i420(*p_pixels, context->img->img_data, context->width, context->height); - codec->enc_picture.width = context->width; - codec->enc_picture.height = context->height; - decoded_data_len = context->width * context->height * 3 / 2; delta = now - context->last_video_ts; if (delta > 0) { @@ -291,10 +290,10 @@ static void vlc_video_unlock_callback(void *data, void *id, void *const *p_pixel context->last_video_ts = now; } - switch_core_codec_encode(codec, NULL, context->raw_i420_data, decoded_data_len, 0, frame->data, &encoded_data_len, &encoded_rate, &flag); + switch_core_codec_encode_video(codec, context->img, frame->data, &encoded_data_len, &flag); while(encoded_data_len) { - // switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_ERROR, "encoded: %s [%d] flag=%d ts=%u\n", codec->implementation->iananame, encoded_data_len, flag, context->last_video_ts); + // switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_ERROR, "encoded: %s [%d] flag=%d ts=%lld\n", codec->implementation->iananame, encoded_data_len, flag, context->last_video_ts); frame->datalen = encoded_data_len; frame->packetlen = frame->datalen + 12; @@ -314,12 +313,12 @@ static void vlc_video_unlock_callback(void *data, void *id, void *const *p_pixel } switch_set_flag(frame, SFF_RAW_RTP); - switch_set_flag(frame, SFF_PROXY_PACKET); + // switch_set_flag(frame, SFF_PROXY_PACKET); switch_core_session_write_video_frame(context->session, frame, SWITCH_IO_FLAG_NONE, 0); encoded_data_len = 1500; - switch_core_codec_encode(codec, NULL, NULL, 0, 0, frame->data, &encoded_data_len, &encoded_rate, &flag); + switch_core_codec_encode_video(codec, NULL, frame->data, &encoded_data_len, &flag); } end: @@ -346,24 +345,22 @@ static void do_buffer_frame(vlc_video_context_t *context) static void vlc_video_channel_unlock_callback(void *data, void *id, void *const *p_pixels) { vlc_video_context_t *context = (vlc_video_context_t *)data; - uint32_t decoded_data_len; uint32_t flag = 0; uint32_t encoded_data_len = 1500; - uint32_t encoded_rate = 0; switch_codec_t *codec = switch_core_session_get_video_write_codec(context->session); switch_frame_t *frame = context->vid_frame; switch_time_t now = (switch_time_t)(switch_micro_time_now() / 1000); - int delta; + long delta; switch_assert(id == NULL); /* picture identifier, not needed here */ switch_assert(codec); - yuyv_to_i420(*p_pixels, context->raw_i420_data, context->width, context->height); + if (!context->img) context->img = switch_img_alloc(NULL, SWITCH_IMG_FMT_I420, context->width, context->height, 0); + if (!context->img) goto end; + + yuyv_to_i420(*p_pixels, context->img->img_data, context->width, context->height); - codec->enc_picture.width = context->width; - codec->enc_picture.height = context->height; encoded_data_len = 1500; - decoded_data_len = context->width * context->height * 3 / 2; frame->packet = context->video_packet; frame->data = context->video_packet + 12; @@ -374,7 +371,7 @@ static void vlc_video_channel_unlock_callback(void *data, void *id, void *const context->last_video_ts = now; } - switch_core_codec_encode(codec, NULL, context->raw_i420_data, decoded_data_len, 0, frame->data, &encoded_data_len, &encoded_rate, &flag); + switch_core_codec_encode_video(codec, context->img, frame->data, &encoded_data_len, &flag); while(encoded_data_len) { // switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_ERROR, "encoded: %s [%d] flag=%d ts=%u\n", codec->implementation->iananame, encoded_data_len, flag, context->ts); @@ -402,9 +399,10 @@ static void vlc_video_channel_unlock_callback(void *data, void *id, void *const do_buffer_frame(context); encoded_data_len = 1500; - switch_core_codec_encode(codec, NULL, NULL, 0, 0, frame->data, &encoded_data_len, &encoded_rate, &flag); + switch_core_codec_encode_video(codec, NULL, frame->data, &encoded_data_len, &flag); } +end: switch_mutex_unlock(context->video_mutex); } From 240ec72fa44007a3724fb090e9c0ac4c8338098b Mon Sep 17 00:00:00 2001 From: Seven Du Date: Tue, 5 Aug 2014 01:23:09 +0800 Subject: [PATCH 019/629] FS-7514: allows the core video thread to read from the vlc endpoint --- src/mod/formats/mod_vlc/mod_vlc.c | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/src/mod/formats/mod_vlc/mod_vlc.c b/src/mod/formats/mod_vlc/mod_vlc.c index edf1dca090..f59d528021 100644 --- a/src/mod/formats/mod_vlc/mod_vlc.c +++ b/src/mod/formats/mod_vlc/mod_vlc.c @@ -1025,6 +1025,8 @@ typedef struct { const char *destination_number; vlc_video_context_t *context; switch_timer_t timer; + switch_core_media_params_t mparams; + switch_media_handle_t *media_handle; } vlc_private_t; switch_state_handler_table_t vlc_state_handlers = { @@ -1067,9 +1069,12 @@ static switch_status_t setup_tech_pvt(switch_core_session_t *session, const char tech_pvt = switch_core_session_alloc(session, sizeof *tech_pvt); switch_assert(tech_pvt); + memset(tech_pvt, 0, sizeof(*tech_pvt)); tech_pvt->session = session; tech_pvt->channel = channel; tech_pvt->destination_number = switch_core_session_strdup(session, path); + tech_pvt->mparams.external_video_source = SWITCH_TRUE; + switch_media_handle_create(&tech_pvt->media_handle, session, &tech_pvt->mparams); switch_core_session_set_private(session, tech_pvt); context = switch_core_session_alloc(session, sizeof(vlc_video_context_t)); @@ -1193,6 +1198,8 @@ static switch_status_t channel_on_destroy(switch_core_session_t *session) if (tech_pvt->write_codec.implementation) { switch_core_codec_destroy(&tech_pvt->write_codec); } + + switch_media_handle_destroy(session); } switch_yield(50000); @@ -1308,6 +1315,7 @@ static switch_call_cause_t vlc_outgoing_channel(switch_core_session_t *session, goto fail; } + start_core_video_thread(*new_session); switch_channel_set_state(channel, CS_INIT); if (switch_core_session_thread_launch(*new_session) != SWITCH_STATUS_SUCCESS) { @@ -1338,6 +1346,8 @@ fail: if (tech_pvt->video_codec.implementation) { switch_core_codec_destroy(&tech_pvt->video_codec); } + + switch_media_handle_destroy(*new_session); } if (*new_session) { @@ -1461,6 +1471,7 @@ static switch_status_t vlc_read_video_frame(switch_core_session_t *session, swit *frame = &tech_pvt->read_video_frame; switch_set_flag(*frame, SFF_RAW_RTP); switch_clear_flag(*frame, SFF_CNG); + (*frame)->codec = &tech_pvt->video_codec; // switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_ERROR, "read video %d\n", (*frame)->packetlen); return SWITCH_STATUS_SUCCESS; From 282b04a8805d3271b4901e26a4673d010c1fb99b Mon Sep 17 00:00:00 2001 From: Seven Du Date: Tue, 5 Aug 2014 01:46:55 +0800 Subject: [PATCH 020/629] FS-7514: cleanup --- src/mod/formats/mod_vlc/mod_vlc.c | 38 ++----------------------------- 1 file changed, 2 insertions(+), 36 deletions(-) diff --git a/src/mod/formats/mod_vlc/mod_vlc.c b/src/mod/formats/mod_vlc/mod_vlc.c index f59d528021..622eed629e 100644 --- a/src/mod/formats/mod_vlc/mod_vlc.c +++ b/src/mod/formats/mod_vlc/mod_vlc.c @@ -106,7 +106,6 @@ struct vlc_video_context { switch_frame_t *vid_frame; uint8_t video_packet[1500 + 12]; void *raw_yuyv_data; - void *raw_i420_data; switch_image_t *img; switch_time_t last_video_ts; switch_payload_t pt; @@ -132,33 +131,8 @@ void yuyv_to_i420(uint8_t *pixels, void *out_buffer, int src_width, int src_heig U = Y + src_width * src_height; V = U + (src_width * src_height>>2); - if (0) {//split - uint8_t *p, *q, *k; - p = pixels; - q = pixels; - k = pixels; - for (h = 0; h < src_height / 2; ++h) - { - for (w=0; wraw_i420_data = malloc(frame_size); - if (context->raw_i420_data == NULL) { - switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_ERROR, "memory error\n"); - free(context->raw_yuyv_data); - return 0; - } - switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_INFO, "chroma: %s, width: %u, height: %u, pitches: %u, lines: %u\n", chroma, *width, *height, *pitches, *lines); return 1; @@ -459,7 +426,6 @@ void video_format_clean_callback(void *opaque) vlc_video_context_t *context = (vlc_video_context_t *)opaque; switch_safe_free(context->raw_yuyv_data); - switch_safe_free(context->raw_i420_data); switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_INFO, "cleanup\n"); } From 78efac81548fd9fe22644b5245db74cc1f30c00b Mon Sep 17 00:00:00 2001 From: Seven Du Date: Fri, 22 Aug 2014 13:01:20 +0800 Subject: [PATCH 021/629] FS-7514: not hardcoded H264 anymore --- src/mod/formats/mod_vlc/mod_vlc.c | 39 ++++++++++++++----------------- 1 file changed, 17 insertions(+), 22 deletions(-) diff --git a/src/mod/formats/mod_vlc/mod_vlc.c b/src/mod/formats/mod_vlc/mod_vlc.c index 622eed629e..8c0d14e255 100644 --- a/src/mod/formats/mod_vlc/mod_vlc.c +++ b/src/mod/formats/mod_vlc/mod_vlc.c @@ -694,7 +694,7 @@ SWITCH_STANDARD_APP(play_video_function) switch_channel_t *channel = switch_core_session_get_channel(session); switch_memory_pool_t *pool = switch_core_session_get_pool(session); switch_frame_t audio_frame = { 0 }, video_frame = { 0 }; - switch_codec_t codec = { 0 }, vid_codec = { 0 }, *read_vid_codec; + switch_codec_t codec = { 0 }, *read_vid_codec; switch_timer_t timer = { 0 }; switch_payload_t pt = 0; switch_dtmf_t dtmf = { 0 }; @@ -800,20 +800,6 @@ SWITCH_STANDARD_APP(play_video_function) goto end; } - if (switch_core_codec_init(&vid_codec, - "H264", - NULL, - 0, - 0, - 1, SWITCH_CODEC_FLAG_ENCODE | SWITCH_CODEC_FLAG_DECODE, - NULL, switch_core_session_get_pool(session)) == SWITCH_STATUS_SUCCESS) { - switch_log_printf(SWITCH_CHANNEL_SESSION_LOG(session), SWITCH_LOG_DEBUG, "Video Codec Activation Success\n"); - } else { - switch_log_printf(SWITCH_CHANNEL_SESSION_LOG(session), SWITCH_LOG_ERROR, "Video Codec Activation Fail\n"); - switch_channel_set_variable(channel, SWITCH_CURRENT_APPLICATION_RESPONSE_VARIABLE, "Video codec activation failed"); - goto end; - } - audio_datalen = codec.implementation->actual_samples_per_second / 1000 * (read_impl.microseconds_per_packet / 1000); context->session = session; @@ -957,10 +943,6 @@ end: switch_core_codec_destroy(&codec); } - if (switch_core_codec_ready(&vid_codec)) { - switch_core_codec_destroy(&vid_codec); - } - switch_channel_clear_flag(channel, CF_VIDEO_PASSIVE); } @@ -1196,7 +1178,7 @@ static switch_call_cause_t vlc_outgoing_channel(switch_core_session_t *session, char name[256]; vlc_private_t *tech_pvt = NULL; switch_caller_profile_t *caller_profile; - // const char *err; + const char *codec_str = NULL; switch_assert(vlc_endpoint_interface); @@ -1223,7 +1205,6 @@ static switch_call_cause_t vlc_outgoing_channel(switch_core_session_t *session, caller_profile = switch_caller_profile_clone(*new_session, outbound_profile); switch_channel_set_caller_profile(channel, caller_profile); - if (switch_core_codec_init(&tech_pvt->read_codec, "L16", NULL, @@ -1248,8 +1229,22 @@ static switch_call_cause_t vlc_outgoing_channel(switch_core_session_t *session, goto fail; } + codec_str = switch_event_get_header(var_event, "absolute_codec_string"); + + if (!codec_str && session) { + switch_codec_t *codec = switch_core_session_get_video_read_codec(session); + if (codec) { + codec_str = codec->implementation->iananame; + } + } + + if (!codec_str) { + switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_ERROR, "No video codec?\n"); + goto fail; + } + if (switch_core_codec_init(&tech_pvt->video_codec, - "H264", + codec_str, NULL, 90000, 0, From d33e5659f6d9debdc363be28ecb8cda439e72e83 Mon Sep 17 00:00:00 2001 From: Seven Du Date: Wed, 27 Aug 2014 07:11:08 +0800 Subject: [PATCH 022/629] FS-7514: refresh req on vlc channel --- src/mod/formats/mod_vlc/mod_vlc.c | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/src/mod/formats/mod_vlc/mod_vlc.c b/src/mod/formats/mod_vlc/mod_vlc.c index 8c0d14e255..12bdb2d888 100644 --- a/src/mod/formats/mod_vlc/mod_vlc.c +++ b/src/mod/formats/mod_vlc/mod_vlc.c @@ -114,6 +114,7 @@ struct vlc_video_context { int height; int force_width; int force_height; + int video_refresh_req; }; typedef struct vlc_video_context vlc_video_context_t; @@ -345,6 +346,11 @@ static void vlc_video_channel_unlock_callback(void *data, void *id, void *const context->last_video_ts = now; } + if (context->video_refresh_req > 0) { + flag |= SFF_WAIT_KEY_FRAME; + context->video_refresh_req--; + } + switch_core_codec_encode_video(codec, context->img, frame->data, &encoded_data_len, &flag); while(encoded_data_len) { @@ -1465,6 +1471,9 @@ static switch_status_t vlc_receive_message(switch_core_session_t *session, switc break; case SWITCH_MESSAGE_INDICATE_JITTER_BUFFER: break; + case SWITCH_MESSAGE_INDICATE_VIDEO_REFRESH_REQ: + tech_pvt->context->video_refresh_req = 1; + break; default: break; } From 48c1363476cff7dd2cdd8d5cc10adb40be9a4632 Mon Sep 17 00:00:00 2001 From: Seven Du Date: Fri, 22 Aug 2014 14:28:31 +0800 Subject: [PATCH 023/629] FS-7513: force floor on member join --- .../mod_conference/mod_conference.c | 23 +++++++++++++++++-- 1 file changed, 21 insertions(+), 2 deletions(-) diff --git a/src/mod/applications/mod_conference/mod_conference.c b/src/mod/applications/mod_conference/mod_conference.c index a8d31b56c8..e6259401bd 100644 --- a/src/mod/applications/mod_conference/mod_conference.c +++ b/src/mod/applications/mod_conference/mod_conference.c @@ -197,7 +197,8 @@ typedef enum { MFLAG_GHOST = (1 << 24), MFLAG_JOIN_ONLY = (1 << 25), MFLAG_POSITIONAL = (1 << 26), - MFLAG_NO_POSITIONAL = (1 << 27) + MFLAG_NO_POSITIONAL = (1 << 27), + MFLAG_JOIN_VID_FLOOR = (1 << 28) } member_flag_t; typedef enum { @@ -563,6 +564,7 @@ static void conference_list(conference_obj_t *conference, switch_stream_handle_t static conference_obj_t *conference_find(char *name, char *domain); static void member_bind_controls(conference_member_t *member, const char *controls); static void conference_send_presence(conference_obj_t *conference); +static void conference_set_video_floor_holder(conference_obj_t *conference, conference_member_t *member, switch_bool_t force); SWITCH_STANDARD_API(conf_api_main); @@ -2262,6 +2264,8 @@ static switch_status_t conference_add_member(conference_obj_t *conference, confe switch_mutex_lock(conference->mutex); if (conference->video_floor_holder) { switch_core_session_refresh_video(conference->video_floor_holder->session); + // there's already someone hold the floor, tell the core thread start to read video + switch_channel_clear_flag(member->channel, CF_VIDEO_PASSIVE); } switch_mutex_unlock(conference->mutex); } @@ -2387,6 +2391,7 @@ static switch_status_t conference_add_member(conference_obj_t *conference, confe } } + unlock_member(member); switch_mutex_unlock(member->audio_out_mutex); switch_mutex_unlock(member->audio_in_mutex); @@ -2429,8 +2434,15 @@ static switch_status_t conference_add_member(conference_obj_t *conference, confe switch_mutex_unlock(conference->mutex); status = SWITCH_STATUS_SUCCESS; + if (switch_test_flag(member, MFLAG_JOIN_VID_FLOOR)) { + conference_set_video_floor_holder(conference, member, SWITCH_TRUE); + switch_set_flag(member->conference, CFLAG_VID_FLOOR_LOCK); - + if (test_eflag(conference, EFLAG_FLOOR_CHANGE)) { + switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_INFO, "conference %s OK video floor %d %s\n", + conference->name, member->id, switch_channel_get_name(member->channel)); + } + } return status; } @@ -6153,6 +6165,11 @@ static void conference_list(conference_obj_t *conference, switch_stream_handle_t count++; } + if (member == member->conference->video_floor_holder) { + stream->write_function(stream, "%s%s", count ? "|" : "", "vid-floor"); + count++; + } + if (switch_test_flag(member, MFLAG_MOD)) { stream->write_function(stream, "%s%s", count ? "|" : "", "moderator"); count++; @@ -8843,6 +8860,8 @@ static void set_mflags(const char *flags, member_flag_t *f) *f |= MFLAG_POSITIONAL; } else if (!strcasecmp(argv[i], "no-positional")) { *f |= MFLAG_NO_POSITIONAL; + } else if (!strcasecmp(argv[i], "join-vid-floor")) { + *f |= MFLAG_JOIN_VID_FLOOR; } } From 422a1f04197c71a4918c1a4822fc5d468cbe307c Mon Sep 17 00:00:00 2001 From: Seven Du Date: Sat, 23 Aug 2014 11:21:08 +0800 Subject: [PATCH 024/629] FS-7513: show relationships --- .../mod_conference/mod_conference.c | 28 +++++++++++++++++++ 1 file changed, 28 insertions(+) diff --git a/src/mod/applications/mod_conference/mod_conference.c b/src/mod/applications/mod_conference/mod_conference.c index e6259401bd..3787f107ec 100644 --- a/src/mod/applications/mod_conference/mod_conference.c +++ b/src/mod/applications/mod_conference/mod_conference.c @@ -7532,6 +7532,34 @@ static switch_status_t conf_api_sub_relate(conference_obj_t *conference, switch_ switch_assert(conference != NULL); switch_assert(stream != NULL); + if (argc <= 3) { + conference_member_t *member; + + switch_mutex_unlock(conference->mutex); + + if (conference->relationship_total) { + int member_id = 0; + + if (argc == 3) member_id = atoi(argv[2]); + + for (member = conference->members; member; member = member->next) { + conference_relationship_t *rel; + + if (member_id > 0 && member->id != member_id) continue; + + for (rel = member->relationships; rel; rel = rel->next) { + stream->write_function(stream, "%d -> %d %s%s\n", member->id, rel->id, + (rel->flags & RFLAG_CAN_SPEAK) ? "SPEAK " : "NOSPEAK ", + (rel->flags & RFLAG_CAN_HEAR) ? "HEAR" : "NOHEAR"); + } + } + } else { + stream->write_function(stream, "No relationships\n"); + } + switch_mutex_unlock(conference->mutex); + return SWITCH_STATUS_SUCCESS; + } + if (argc <= 4) return SWITCH_STATUS_GENERR; From 35ff4b5cdaf2f25c3c73be8a841e7f1d3baf6c15 Mon Sep 17 00:00:00 2001 From: Seven Du Date: Sat, 23 Aug 2014 16:54:50 +0800 Subject: [PATCH 025/629] FS-7500: add ability to insert a custom callback to the core video thread the callback will be called on each loop on read video frame, or the callback function call run it's own loop to take over the core loop so it can read video from session by itself. the callback function can - return SWITCH_STATUS_SUCCESS to wait another loop return SWITCH_STATUS_CONTINUE to continue use the default behaviour return anything else will break the core video loop and end the core thread --- src/include/private/switch_core_pvt.h | 3 +++ src/include/switch_core.h | 29 +++++++++++++++++++++++++++ src/include/switch_types.h | 2 +- src/switch_core_media.c | 8 ++++++++ src/switch_core_session.c | 25 +++++++++++++++++++++++ 5 files changed, 66 insertions(+), 1 deletion(-) diff --git a/src/include/private/switch_core_pvt.h b/src/include/private/switch_core_pvt.h index 9acc2a2741..f1d7dfed12 100644 --- a/src/include/private/switch_core_pvt.h +++ b/src/include/private/switch_core_pvt.h @@ -103,6 +103,7 @@ typedef enum { SSF_MEDIA_BUG_TAP_ONLY = (1 << 10) } switch_session_flag_t; +typedef switch_status_t (switch_core_video_thread_callback_func_t) (switch_core_session_t *session, switch_frame_t *frame, void *user_data); struct switch_core_session { switch_memory_pool_t *pool; @@ -189,6 +190,8 @@ struct switch_core_session { switch_media_handle_t *media_handle; uint32_t decoder_errors; + switch_core_video_thread_callback_func_t *_video_thread_callback; + void *_video_thread_user_data; }; struct switch_media_bug { diff --git a/src/include/switch_core.h b/src/include/switch_core.h index b123284670..0ace87d288 100644 --- a/src/include/switch_core.h +++ b/src/include/switch_core.h @@ -2303,6 +2303,35 @@ SWITCH_DECLARE(uint8_t) switch_core_session_compare(switch_core_session_t *a, sw \return TRUE or FALSE */ SWITCH_DECLARE(uint8_t) switch_core_session_check_interface(switch_core_session_t *session, const switch_endpoint_interface_t *endpoint_interface); + +/*! + \brief Set a callback to let the core video thread call us + \param session the session + \param func to callback + \param private user data + \return SWITCH_STATUS_CONTINUE | SWITCH_STATUS_SUCCESS | SWITCH_STATUS_BREAK | SWITCH_STATUS_* + + If returns SWITCH_STATUS_CONTINUE, it will continues to run furthur code (read/write) in the core video thread, + that is to say, if the callback func to nothing and just returns SWITCH_STATUS_CONTINUE, it remains the default behaviour, + Return SWITCH_STATUS_SUCCESS to skip the default behaviour + Return SWITCH_STATUS_BREAK will break the loop and end the video thread +*/ + +SWITCH_DECLARE(switch_status_t) switch_core_session_set_video_thread_callback(switch_core_session_t *session, void *func, void *user_data); + +/*! + \brief Set a callback to let the core video thread call us + \param session the session + \param the current video frame + \param private user data + \return SWITCH_STATUS_CONTINUE or SWITCH_STATUS_SUCCESS + + If returns SWITCH_STATUS_CONTINUE, it will continues to run furthur code (read/write) in the core video thread, + that is to say, if the callback func to nothing and just returns SWITCH_STATUS_CONTINUE, it remains the default behaviour, + Return SWITCH_STATUS_SUCCESS to skip the default behaviour +*/ +SWITCH_DECLARE(switch_status_t) switch_core_session_video_thread_callback(switch_core_session_t *session, switch_frame_t *frame); + SWITCH_DECLARE(switch_hash_index_t *) switch_core_mime_index(void); SWITCH_DECLARE(const char *) switch_core_mime_ext2type(const char *ext); SWITCH_DECLARE(const char *) switch_core_mime_type2ext(const char *type); diff --git a/src/include/switch_types.h b/src/include/switch_types.h index 65d25d1188..dd6a979a62 100644 --- a/src/include/switch_types.h +++ b/src/include/switch_types.h @@ -1477,7 +1477,7 @@ SFF_PLC = (1 << 3) - Frame has generated PLC data SFF_RFC2833 = (1 << 4) - Frame has rfc2833 dtmf data SFF_DYNAMIC = (1 << 5) - Frame is dynamic and should be freed SFF_MARKER = (1 << 11) - Frame flag has Marker set, only set by encoder -SFF_WAIT_KEY_FRAME = (1 << 12) - Need a key from before could decode +SFF_WAIT_KEY_FRAME = (1 << 12) - Need a key from before could decode, or force generate a key frame on encode */ typedef enum { diff --git a/src/switch_core_media.c b/src/switch_core_media.c index b8ceaffc01..9dcedfbd9b 100644 --- a/src/switch_core_media.c +++ b/src/switch_core_media.c @@ -4518,6 +4518,14 @@ static void *SWITCH_THREAD_FUNC video_helper_thread(switch_thread_t *thread, voi continue; } + status = switch_core_session_video_thread_callback(session, read_frame); + + if (status != SWITCH_STATUS_CONTINUE) { + if (status == SWITCH_STATUS_SUCCESS) continue; + + break; + } + if (switch_channel_test_flag(channel, CF_VIDEO_ECHO)) { switch_core_session_write_video_frame(session, read_frame, SWITCH_IO_FLAG_NONE, 0); } diff --git a/src/switch_core_session.c b/src/switch_core_session.c index 8d77bd4433..8bf3c710b6 100644 --- a/src/switch_core_session.c +++ b/src/switch_core_session.c @@ -3063,6 +3063,31 @@ SWITCH_DECLARE(void) switch_core_session_debug_pool(switch_stream_handle_t *stre session_manager.running, session_manager.busy, session_manager.popping); } +SWITCH_DECLARE(switch_status_t) switch_core_session_set_video_thread_callback(switch_core_session_t *session, void *func, void *user_data) +{ + if (!func) { + session->_video_thread_callback = NULL; + session->_video_thread_user_data = NULL; + return SWITCH_STATUS_SUCCESS; + } else if (session->_video_thread_callback) { + return SWITCH_STATUS_FALSE; + } else { + session->_video_thread_callback = func; + session->_video_thread_user_data = user_data; + return SWITCH_STATUS_SUCCESS; + } +} + +SWITCH_DECLARE(switch_status_t) switch_core_session_video_thread_callback(switch_core_session_t *session, switch_frame_t *frame) +{ + if (session->_video_thread_callback) { + return session->_video_thread_callback(session, frame, session->_video_thread_user_data); + } + + return SWITCH_STATUS_CONTINUE; +} + + /* For Emacs: * Local Variables: * mode:c From 99ed41a4bd3f158f5693342e9434642b70311900 Mon Sep 17 00:00:00 2001 From: Seven Du Date: Sat, 23 Aug 2014 16:59:52 +0800 Subject: [PATCH 026/629] FS-7513: Example code to use the core video thread with a custom callback It by default remains the default behaviour However, you can setup a relationship between members to let the member choose to see anyone else but the floor, e.g.: conference 3000 relate 1 2 sendvideo In the above command member 2 will see member 1's video regardless member 1 has video floor or not --- .../mod_conference/mod_conference.c | 80 ++++++++++++++++--- 1 file changed, 69 insertions(+), 11 deletions(-) diff --git a/src/mod/applications/mod_conference/mod_conference.c b/src/mod/applications/mod_conference/mod_conference.c index 3787f107ec..53a240a1b4 100644 --- a/src/mod/applications/mod_conference/mod_conference.c +++ b/src/mod/applications/mod_conference/mod_conference.c @@ -198,7 +198,8 @@ typedef enum { MFLAG_JOIN_ONLY = (1 << 25), MFLAG_POSITIONAL = (1 << 26), MFLAG_NO_POSITIONAL = (1 << 27), - MFLAG_JOIN_VID_FLOOR = (1 << 28) + MFLAG_JOIN_VID_FLOOR = (1 << 28), + MFLAG_RECEIVING_VIDEO = (1 << 29) } member_flag_t; typedef enum { @@ -230,7 +231,8 @@ typedef enum { typedef enum { RFLAG_CAN_SPEAK = (1 << 0), - RFLAG_CAN_HEAR = (1 << 1) + RFLAG_CAN_HEAR = (1 << 1), + RFLAG_CAN_SEND_VIDEO = (1 << 2) } relation_flag_t; typedef enum { @@ -2910,6 +2912,29 @@ static void *SWITCH_THREAD_FUNC conference_video_bridge_thread_run(switch_thread return NULL; } +switch_status_t video_thread_callback(switch_core_session_t *session, switch_frame_t *frame, void *user_data) +{ + switch_channel_t *channel = switch_core_session_get_channel(session); + char *name = switch_channel_get_name(channel); + conference_member_t *member = (conference_member_t *)user_data; + conference_relationship_t *rel = NULL; + + if (!member || member->relationships == NULL) return SWITCH_STATUS_SUCCESS; + + lock_member(member); + + for (rel = member->relationships; rel; rel = rel->next) { + conference_member_t *imember = conference_member_get(member->conference, rel->id); + if (imember && switch_test_flag(imember, MFLAG_RECEIVING_VIDEO)) { + switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_ERROR, "%s %d->%d %d\n", name, member->id, imember->id, frame->datalen); + switch_core_session_write_video_frame(imember->session, frame, SWITCH_IO_FLAG_NONE, 0); + switch_thread_rwlock_unlock(imember->rwlock); + } + } + + unlock_member(member); + return SWITCH_STATUS_SUCCESS; +} /* Main video monitor thread (1 per distinct conference room) */ static void *SWITCH_THREAD_FUNC conference_video_thread_run(switch_thread_t *thread, void *obj) @@ -3001,8 +3026,10 @@ static void *SWITCH_THREAD_FUNC conference_video_thread_run(switch_thread_t *thr } if (isession && switch_channel_test_flag(ichannel, CF_VIDEO)) { - memcpy(vid_frame->packet, buf, vid_frame->packetlen); - switch_core_session_write_video_frame(imember->session, vid_frame, SWITCH_IO_FLAG_NONE, 0); + if (!switch_test_flag(imember, MFLAG_RECEIVING_VIDEO)) { + memcpy(vid_frame->packet, buf, vid_frame->packetlen); + switch_core_session_write_video_frame(imember->session, vid_frame, SWITCH_IO_FLAG_NONE, 0); + } } switch_core_session_rwunlock(isession); @@ -7527,7 +7554,7 @@ static switch_status_t conf_api_sub_stop(conference_obj_t *conference, switch_st static switch_status_t conf_api_sub_relate(conference_obj_t *conference, switch_stream_handle_t *stream, int argc, char **argv) { - uint8_t nospeak = 0, nohear = 0, clear = 0; + uint8_t nospeak = 0, nohear = 0, sendvideo = 0, clear = 0; switch_assert(conference != NULL); switch_assert(stream != NULL); @@ -7548,9 +7575,10 @@ static switch_status_t conf_api_sub_relate(conference_obj_t *conference, switch_ if (member_id > 0 && member->id != member_id) continue; for (rel = member->relationships; rel; rel = rel->next) { - stream->write_function(stream, "%d -> %d %s%s\n", member->id, rel->id, + stream->write_function(stream, "%d -> %d %s%s%s\n", member->id, rel->id, (rel->flags & RFLAG_CAN_SPEAK) ? "SPEAK " : "NOSPEAK ", - (rel->flags & RFLAG_CAN_HEAR) ? "HEAR" : "NOHEAR"); + (rel->flags & RFLAG_CAN_HEAR) ? "HEAR " : "NOHEAR ", + (rel->flags & RFLAG_CAN_SEND_VIDEO) ? "SENDVIDEO " : "NOSENDVIDEO "); } } } else { @@ -7565,22 +7593,35 @@ static switch_status_t conf_api_sub_relate(conference_obj_t *conference, switch_ nospeak = strstr(argv[4], "nospeak") ? 1 : 0; nohear = strstr(argv[4], "nohear") ? 1 : 0; + sendvideo = strstr(argv[4], "sendvideo") ? 1 : 0; if (!strcasecmp(argv[4], "clear")) { clear = 1; } - if (!(clear || nospeak || nohear)) { + if (!(clear || nospeak || nohear || sendvideo)) { return SWITCH_STATUS_GENERR; } if (clear) { - conference_member_t *member = NULL; + conference_member_t *member = NULL, *other_member = NULL; uint32_t id = atoi(argv[2]); uint32_t oid = atoi(argv[3]); if ((member = conference_member_get(conference, id))) { member_del_relationship(member, oid); + other_member = conference_member_get(conference, oid); + + if (other_member) { + if (switch_test_flag(other_member, MFLAG_RECEIVING_VIDEO)) { + switch_clear_flag(other_member, MFLAG_RECEIVING_VIDEO); + if (conference->floor_holder) { + switch_core_session_refresh_video(conference->floor_holder->session); + } + } + switch_thread_rwlock_unlock(other_member->rwlock); + } + stream->write_function(stream, "relationship %u->%u cleared.\n", id, oid); switch_thread_rwlock_unlock(member->rwlock); } else { @@ -7589,7 +7630,7 @@ static switch_status_t conf_api_sub_relate(conference_obj_t *conference, switch_ return SWITCH_STATUS_SUCCESS; } - if (nospeak || nohear) { + if (nospeak || nohear || sendvideo) { conference_member_t *member = NULL, *other_member = NULL; uint32_t id = atoi(argv[2]); uint32_t oid = atoi(argv[3]); @@ -7601,6 +7642,11 @@ static switch_status_t conf_api_sub_relate(conference_obj_t *conference, switch_ if (member && other_member) { conference_relationship_t *rel = NULL; + if (sendvideo && switch_test_flag(other_member, MFLAG_RECEIVING_VIDEO) && (! (nospeak || nohear))) { + stream->write_function(stream, "member %d already receiving video", oid); + goto skip; + } + if ((rel = member_get_relationship(member, other_member))) { rel->flags = 0; } else { @@ -7616,7 +7662,13 @@ static switch_status_t conf_api_sub_relate(conference_obj_t *conference, switch_ if (nohear) { switch_clear_flag(rel, RFLAG_CAN_HEAR); } - stream->write_function(stream, "ok %u->%u set\n", id, oid); + if (sendvideo) { + switch_set_flag(rel, RFLAG_CAN_SEND_VIDEO); + switch_set_flag(other_member, MFLAG_RECEIVING_VIDEO); + switch_core_session_refresh_video(member->session); + } + + stream->write_function(stream, "ok %u->%u %s set\n", id, oid, argv[4]); } else { stream->write_function(stream, "error!\n"); } @@ -7624,6 +7676,7 @@ static switch_status_t conf_api_sub_relate(conference_obj_t *conference, switch_ stream->write_function(stream, "relationship %u->%u not found.\n", id, oid); } +skip: if (member) { switch_thread_rwlock_unlock(member->rwlock); } @@ -9727,11 +9780,16 @@ SWITCH_STANDARD_APP(conference_function) msg.message_id = SWITCH_MESSAGE_INDICATE_BRIDGE; switch_core_session_receive_message(session, &msg); + /* Chime in the core video thread */ + switch_core_session_set_video_thread_callback(session, (void *)video_thread_callback, (void *)&member); + /* Run the conference loop */ do { conference_loop_output(&member); } while (member.loop_loop); + switch_core_session_set_video_thread_callback(session, NULL, NULL); + switch_channel_set_private(channel, "_conference_autocall_list_", NULL); /* Tell the channel we are no longer going to be in a bridge */ From 4fc94e390768fda8d7989fdadae0bc2b413489d3 Mon Sep 17 00:00:00 2001 From: William King Date: Wed, 27 Aug 2014 22:31:52 -0700 Subject: [PATCH 027/629] FS-7500 S-7513: Few build fixes --- Makefile.am | 2 +- configure.ac | 4 +++- src/include/private/switch_core_pvt.h | 2 -- src/include/switch_core.h | 5 ++--- src/mod/applications/mod_conference/mod_conference.c | 2 +- src/switch_core_session.c | 2 +- 6 files changed, 8 insertions(+), 9 deletions(-) diff --git a/Makefile.am b/Makefile.am index c8d07eab09..c658fc0715 100644 --- a/Makefile.am +++ b/Makefile.am @@ -155,7 +155,7 @@ CORE_LIBS+=libfreeswitch_spandsp.la lib_LTLIBRARIES = libfreeswitch.la libfreeswitch_la_CFLAGS = $(CORE_CFLAGS) $(SQLITE_CFLAGS) $(CURL_CFLAGS) $(PCRE_CFLAGS) $(SPEEX_CFLAGS) $(LIBEDIT_CFLAGS) $(openssl_CFLAGS) $(AM_CFLAGS) libfreeswitch_la_LDFLAGS = -version-info 1:0:0 $(AM_LDFLAGS) $(PLATFORM_CORE_LDFLAGS) -no-undefined -libfreeswitch_la_LIBADD = $(CORE_LIBS) $(APR_LIBS) $(SQLITE_LIBS) $(CURL_LIBS) $(PCRE_LIBS) $(SPEEX_LIBS) $(LIBEDIT_LIBS) $(openssl_LIBS) $(PLATFORM_CORE_LIBS) +libfreeswitch_la_LIBADD = $(CORE_LIBS) $(APR_LIBS) $(SQLITE_LIBS) $(CURL_LIBS) $(PCRE_LIBS) $(SPEEX_LIBS) $(LIBEDIT_LIBS) $(openssl_LIBS) $(VPX_LIBS) $(PLATFORM_CORE_LIBS) libfreeswitch_la_DEPENDENCIES = $(BUILT_SOURCES) if HAVE_ODBC diff --git a/configure.ac b/configure.ac index 7f87ef07d1..35dfb58af2 100644 --- a/configure.ac +++ b/configure.ac @@ -1213,12 +1213,14 @@ PKG_CHECK_MODULES([LDNS], [libldns >= 1.6.6],[ PKG_CHECK_MODULES([VPX], [vpx >= 1.3.0],[ AM_CONDITIONAL([HAVE_VPX],[true])],[ + AC_CHECK_LIB([vpx], [vpx_codec_vp9_cx_algo], [VPX_LIBS=-lvpx]) + AS_IF([test -z "$VPX_LIBS"],[ if module_enabled mod_vpx; then AC_MSG_ERROR([You need to either install libvpx-dev or disable mod_vpx in modules.conf]) else AC_MSG_RESULT([no]); AM_CONDITIONAL([HAVE_VPX],[false]) fi],[ - AM_CONDITIONAL([HAVE_VPX],[true])]) + AM_CONDITIONAL([HAVE_VPX],[true])])]) #PKG_CHECK_MODULES([AVCODEC], [avcodec >= 53.35.0]) #PKG_CHECK_MODULES([AVFORMAT], [avformat >= 53.21.1]) diff --git a/src/include/private/switch_core_pvt.h b/src/include/private/switch_core_pvt.h index f1d7dfed12..3ff631453b 100644 --- a/src/include/private/switch_core_pvt.h +++ b/src/include/private/switch_core_pvt.h @@ -103,8 +103,6 @@ typedef enum { SSF_MEDIA_BUG_TAP_ONLY = (1 << 10) } switch_session_flag_t; -typedef switch_status_t (switch_core_video_thread_callback_func_t) (switch_core_session_t *session, switch_frame_t *frame, void *user_data); - struct switch_core_session { switch_memory_pool_t *pool; switch_thread_t *thread; diff --git a/src/include/switch_core.h b/src/include/switch_core.h index 0ace87d288..330b6c9e9c 100644 --- a/src/include/switch_core.h +++ b/src/include/switch_core.h @@ -169,8 +169,7 @@ typedef enum { DS_INVALID, } dtls_state_t; - - +typedef switch_status_t (switch_core_video_thread_callback_func_t) (switch_core_session_t *session, switch_frame_t *frame, void *user_data); @@ -2317,7 +2316,7 @@ SWITCH_DECLARE(uint8_t) switch_core_session_check_interface(switch_core_session_ Return SWITCH_STATUS_BREAK will break the loop and end the video thread */ -SWITCH_DECLARE(switch_status_t) switch_core_session_set_video_thread_callback(switch_core_session_t *session, void *func, void *user_data); +SWITCH_DECLARE(switch_status_t) switch_core_session_set_video_thread_callback(switch_core_session_t *session, switch_core_video_thread_callback_func_t *func, void *user_data); /*! \brief Set a callback to let the core video thread call us diff --git a/src/mod/applications/mod_conference/mod_conference.c b/src/mod/applications/mod_conference/mod_conference.c index 53a240a1b4..802f7a27b6 100644 --- a/src/mod/applications/mod_conference/mod_conference.c +++ b/src/mod/applications/mod_conference/mod_conference.c @@ -9781,7 +9781,7 @@ SWITCH_STANDARD_APP(conference_function) switch_core_session_receive_message(session, &msg); /* Chime in the core video thread */ - switch_core_session_set_video_thread_callback(session, (void *)video_thread_callback, (void *)&member); + switch_core_session_set_video_thread_callback(session, video_thread_callback, (void *)&member); /* Run the conference loop */ do { diff --git a/src/switch_core_session.c b/src/switch_core_session.c index 8bf3c710b6..76ca5a9e81 100644 --- a/src/switch_core_session.c +++ b/src/switch_core_session.c @@ -3063,7 +3063,7 @@ SWITCH_DECLARE(void) switch_core_session_debug_pool(switch_stream_handle_t *stre session_manager.running, session_manager.busy, session_manager.popping); } -SWITCH_DECLARE(switch_status_t) switch_core_session_set_video_thread_callback(switch_core_session_t *session, void *func, void *user_data) +SWITCH_DECLARE(switch_status_t) switch_core_session_set_video_thread_callback(switch_core_session_t *session, switch_core_video_thread_callback_func_t *func, void *user_data) { if (!func) { session->_video_thread_callback = NULL; From 055de414845e494a226322e212cfeb9ddf8d2de0 Mon Sep 17 00:00:00 2001 From: Seven Du Date: Tue, 16 Sep 2014 12:56:19 +0800 Subject: [PATCH 028/629] FS-7513: let the core thread to read video if vid-floor in conference already locked-hold by someone else --- src/mod/applications/mod_conference/mod_conference.c | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/src/mod/applications/mod_conference/mod_conference.c b/src/mod/applications/mod_conference/mod_conference.c index 802f7a27b6..46a3707c28 100644 --- a/src/mod/applications/mod_conference/mod_conference.c +++ b/src/mod/applications/mod_conference/mod_conference.c @@ -2394,6 +2394,11 @@ static switch_status_t conference_add_member(conference_obj_t *conference, confe } + if (member->conference->video_floor_holder && member->conference->video_floor_holder != member && member->channel) { + // there's already someone hold the floor, tell the core thread start to read video + switch_channel_clear_flag(member->channel, CF_VIDEO_PASSIVE); + } + unlock_member(member); switch_mutex_unlock(member->audio_out_mutex); switch_mutex_unlock(member->audio_in_mutex); From 3466a2e46896dac3ae6fb927ede3c3e3c9a44832 Mon Sep 17 00:00:00 2001 From: Seven Du Date: Sat, 27 Sep 2014 17:06:55 +0800 Subject: [PATCH 029/629] FS-7500: fix and use 32bit timestamp, frame->timestamp is defined as switch_size_t and not always 32bit --- src/mod/applications/mod_fsv/mod_fsv.c | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/src/mod/applications/mod_fsv/mod_fsv.c b/src/mod/applications/mod_fsv/mod_fsv.c index 589ff32a31..f3a807c065 100644 --- a/src/mod/applications/mod_fsv/mod_fsv.c +++ b/src/mod/applications/mod_fsv/mod_fsv.c @@ -577,6 +577,7 @@ SWITCH_STANDARD_APP(play_yuv_function) switch_image_t *img = NULL; switch_byte_t *yuv = NULL; switch_time_t last_video_ts = 0; + uint32_t timestamp = 0; int argc; char *argv[3] = { 0 }; char *mydata = switch_core_session_strdup(session, data); @@ -679,14 +680,16 @@ SWITCH_STANDARD_APP(play_yuv_function) char ts_str[33]; long delta; + if (last_video_ts == 0) last_video_ts = now; + delta = now - last_video_ts; if (delta > 0) { - frame->timestamp += delta * 90; + timestamp += delta * 90; last_video_ts = now; } - sprintf(ts_str, "%u", (uint32_t)frame->timestamp); + sprintf(ts_str, "%u", timestamp); text(img->planes[SWITCH_PLANE_PACKED], width, 20, 20, ts_str); switch_core_codec_encode_video(codec, img, vid_frame.data, &encoded_data_len, &flag); @@ -696,6 +699,7 @@ SWITCH_STANDARD_APP(play_yuv_function) frame->datalen = encoded_data_len; frame->packetlen = frame->datalen + 12; frame->m = flag & SFF_MARKER ? 1 : 0; + frame->timestamp = timestamp; if (1) { // we can remove this when ts and marker full passed in core /* set correct mark and ts */ @@ -704,7 +708,7 @@ SWITCH_STANDARD_APP(play_yuv_function) memset(rtp, 0, 12); rtp->version = 2; rtp->m = frame->m; - rtp->ts = htonl(frame->timestamp); + rtp->ts = htonl(timestamp); rtp->ssrc = (uint32_t) ((intptr_t) rtp + (uint32_t) switch_epoch_time_now(NULL)); // rtp->ssrc = 0x11223344; } From cd98ec85e2193aa0390059003c76f1841850665f Mon Sep 17 00:00:00 2001 From: Brian West Date: Mon, 22 Sep 2014 15:00:19 -0500 Subject: [PATCH 030/629] fix line endings --- libs/esl/managed/esl_wrap.2010.cpp | 409 +++++++++--------- libs/freetdm/src/isdn/5ESSStateNT.c | 48 +- libs/freetdm/src/isdn/5ESSStateTE.c | 56 +-- libs/freetdm/src/isdn/5ESSmes.c | 48 +- libs/ilbc/localtests/iLBC_test.txt | 1 - libs/libzrtp/include/zrtp_config_win.h | 4 +- libs/libzrtp/projects/symbian/DelayRuner.h | 2 +- .../projects/symbian/zrtp_iface_symb.cpp | 68 +-- libs/silk/interface/SKP_Silk_SDK_API.h | 42 +- libs/silk/interface/SKP_Silk_control.h | 36 +- libs/silk/interface/SKP_Silk_errors.h | 32 +- libs/silk/interface/SKP_Silk_typedef.h | 38 +- libs/silk/readme.txt | 18 +- libs/silk/src/SKP_Silk_A2NLSF.c | 64 +-- libs/silk/src/SKP_Silk_CNG.c | 40 +- .../src/SKP_Silk_HP_variable_cutoff_FIX.c | 42 +- libs/silk/src/SKP_Silk_Inlines.h | 34 +- libs/silk/src/SKP_Silk_LBRR_reset.c | 34 +- libs/silk/src/SKP_Silk_LPC_inv_pred_gain.c | 39 +- libs/silk/src/SKP_Silk_LPC_synthesis_filter.c | 32 +- .../silk/src/SKP_Silk_LPC_synthesis_order16.c | 34 +- libs/silk/src/SKP_Silk_LP_variable_cutoff.c | 58 +-- libs/silk/src/SKP_Silk_LSF_cos_table.c | 96 ++-- .../src/SKP_Silk_LTP_analysis_filter_FIX.c | 37 +- libs/silk/src/SKP_Silk_LTP_scale_ctrl_FIX.c | 44 +- libs/silk/src/SKP_Silk_MA.c | 34 +- libs/silk/src/SKP_Silk_NLSF2A.c | 56 +-- libs/silk/src/SKP_Silk_NLSF2A_stable.c | 34 +- libs/silk/src/SKP_Silk_NLSF_MSVQ_decode.c | 36 +- libs/silk/src/SKP_Silk_NLSF_MSVQ_encode_FIX.c | 48 +- .../SKP_Silk_NLSF_VQ_rate_distortion_FIX.c | 34 +- .../silk/src/SKP_Silk_NLSF_VQ_sum_error_FIX.c | 34 +- .../src/SKP_Silk_NLSF_VQ_weights_laroia.c | 44 +- libs/silk/src/SKP_Silk_NLSF_stabilize.c | 45 +- libs/silk/src/SKP_Silk_NSQ.c | 60 +-- libs/silk/src/SKP_Silk_NSQ_del_dec.c | 76 ++-- libs/silk/src/SKP_Silk_PLC.c | 63 ++- libs/silk/src/SKP_Silk_PLC.h | 33 +- libs/silk/src/SKP_Silk_SigProc_FIX.h | 92 ++-- libs/silk/src/SKP_Silk_VAD.c | 64 +-- .../src/SKP_Silk_VQ_nearest_neighbor_FIX.c | 40 +- libs/silk/src/SKP_Silk_ana_filt_bank_1.c | 32 +- .../silk/src/SKP_Silk_apply_sine_window_new.c | 35 +- libs/silk/src/SKP_Silk_array_maxabs.c | 34 +- libs/silk/src/SKP_Silk_autocorr.c | 34 +- libs/silk/src/SKP_Silk_biquad.c | 32 +- libs/silk/src/SKP_Silk_biquad_alt.c | 34 +- libs/silk/src/SKP_Silk_burg_modified.c | 44 +- libs/silk/src/SKP_Silk_bwexpander.c | 34 +- libs/silk/src/SKP_Silk_bwexpander_32.c | 34 +- libs/silk/src/SKP_Silk_code_signs.c | 37 +- .../src/SKP_Silk_common_pitch_est_defines.h | 33 +- .../src/SKP_Silk_control_audio_bandwidth.c | 50 +-- libs/silk/src/SKP_Silk_control_codec_FIX.c | 54 +-- libs/silk/src/SKP_Silk_corrMatrix_FIX.c | 37 +- libs/silk/src/SKP_Silk_create_init_destroy.c | 35 +- libs/silk/src/SKP_Silk_dec_API.c | 62 +-- libs/silk/src/SKP_Silk_decode_core.c | 65 ++- libs/silk/src/SKP_Silk_decode_frame.c | 38 +- libs/silk/src/SKP_Silk_decode_parameters.c | 56 +-- libs/silk/src/SKP_Silk_decode_pitch.c | 32 +- libs/silk/src/SKP_Silk_decode_pulses.c | 46 +- libs/silk/src/SKP_Silk_decoder_set_fs.c | 35 +- libs/silk/src/SKP_Silk_define.h | 44 +- libs/silk/src/SKP_Silk_detect_SWB_input.c | 38 +- libs/silk/src/SKP_Silk_enc_API.c | 58 ++- libs/silk/src/SKP_Silk_encode_frame_FIX.c | 90 ++-- libs/silk/src/SKP_Silk_encode_parameters.c | 32 +- libs/silk/src/SKP_Silk_encode_pulses.c | 38 +- libs/silk/src/SKP_Silk_find_LPC_FIX.c | 46 +- libs/silk/src/SKP_Silk_find_LTP_FIX.c | 54 +-- libs/silk/src/SKP_Silk_find_pitch_lags_FIX.c | 48 +- libs/silk/src/SKP_Silk_find_pred_coefs_FIX.c | 51 ++- libs/silk/src/SKP_Silk_gain_quant.c | 32 +- libs/silk/src/SKP_Silk_init_encoder_FIX.c | 32 +- libs/silk/src/SKP_Silk_inner_prod_aligned.c | 38 +- libs/silk/src/SKP_Silk_interpolate.c | 32 +- libs/silk/src/SKP_Silk_k2a.c | 32 +- libs/silk/src/SKP_Silk_k2a_Q16.c | 32 +- libs/silk/src/SKP_Silk_lin2log.c | 35 +- libs/silk/src/SKP_Silk_log2lin.c | 36 +- libs/silk/src/SKP_Silk_macros.h | 35 +- libs/silk/src/SKP_Silk_main.h | 46 +- libs/silk/src/SKP_Silk_main_FIX.h | 38 +- .../src/SKP_Silk_noise_shape_analysis_FIX.c | 108 ++--- libs/silk/src/SKP_Silk_pitch_analysis_core.c | 78 ++-- libs/silk/src/SKP_Silk_pitch_est_defines.h | 33 +- libs/silk/src/SKP_Silk_pitch_est_tables.c | 39 +- libs/silk/src/SKP_Silk_prefilter_FIX.c | 38 +- libs/silk/src/SKP_Silk_process_NLSFs_FIX.c | 46 +- libs/silk/src/SKP_Silk_process_gains_FIX.c | 36 +- libs/silk/src/SKP_Silk_quant_LTP_gains_FIX.c | 35 +- libs/silk/src/SKP_Silk_range_coder.c | 42 +- .../SKP_Silk_regularize_correlations_FIX.c | 32 +- libs/silk/src/SKP_Silk_resampler.c | 116 ++--- libs/silk/src/SKP_Silk_resampler_down2.c | 32 +- libs/silk/src/SKP_Silk_resampler_down2_3.c | 36 +- libs/silk/src/SKP_Silk_resampler_down3.c | 36 +- libs/silk/src/SKP_Silk_resampler_private.h | 33 +- .../silk/src/SKP_Silk_resampler_private_AR2.c | 32 +- .../src/SKP_Silk_resampler_private_ARMA4.c | 33 +- .../src/SKP_Silk_resampler_private_IIR_FIR.c | 47 +- .../src/SKP_Silk_resampler_private_copy.c | 32 +- .../src/SKP_Silk_resampler_private_down4.c | 32 +- .../src/SKP_Silk_resampler_private_down_FIR.c | 45 +- .../src/SKP_Silk_resampler_private_up2_HQ.c | 42 +- .../silk/src/SKP_Silk_resampler_private_up4.c | 32 +- libs/silk/src/SKP_Silk_resampler_rom.c | 32 +- libs/silk/src/SKP_Silk_resampler_rom.h | 32 +- libs/silk/src/SKP_Silk_resampler_structs.h | 33 +- libs/silk/src/SKP_Silk_resampler_up2.c | 32 +- .../silk/src/SKP_Silk_residual_energy16_FIX.c | 34 +- libs/silk/src/SKP_Silk_residual_energy_FIX.c | 46 +- libs/silk/src/SKP_Silk_scale_copy_vector16.c | 38 +- libs/silk/src/SKP_Silk_scale_vector.c | 35 +- libs/silk/src/SKP_Silk_schur.c | 38 +- libs/silk/src/SKP_Silk_schur64.c | 38 +- libs/silk/src/SKP_Silk_setup_complexity.h | 34 +- libs/silk/src/SKP_Silk_shell_coder.c | 32 +- libs/silk/src/SKP_Silk_sigm_Q15.c | 35 +- libs/silk/src/SKP_Silk_solve_LS_FIX.c | 52 +-- libs/silk/src/SKP_Silk_sort.c | 37 +- libs/silk/src/SKP_Silk_structs.h | 38 +- libs/silk/src/SKP_Silk_structs_FIX.h | 34 +- libs/silk/src/SKP_Silk_sum_sqr_shift.c | 33 +- libs/silk/src/SKP_Silk_tables.h | 32 +- libs/silk/src/SKP_Silk_tables_LTP.c | 42 +- libs/silk/src/SKP_Silk_tables_NLSF_CB0_10.c | 33 +- libs/silk/src/SKP_Silk_tables_NLSF_CB0_10.h | 33 +- libs/silk/src/SKP_Silk_tables_NLSF_CB0_16.c | 33 +- libs/silk/src/SKP_Silk_tables_NLSF_CB0_16.h | 33 +- libs/silk/src/SKP_Silk_tables_NLSF_CB1_10.c | 33 +- libs/silk/src/SKP_Silk_tables_NLSF_CB1_10.h | 33 +- libs/silk/src/SKP_Silk_tables_NLSF_CB1_16.c | 33 +- libs/silk/src/SKP_Silk_tables_NLSF_CB1_16.h | 33 +- libs/silk/src/SKP_Silk_tables_gain.c | 34 +- libs/silk/src/SKP_Silk_tables_other.c | 41 +- libs/silk/src/SKP_Silk_tables_pitch_lag.c | 32 +- .../src/SKP_Silk_tables_pulses_per_block.c | 41 +- libs/silk/src/SKP_Silk_tables_sign.c | 35 +- libs/silk/src/SKP_Silk_tables_type_offset.c | 35 +- libs/silk/src/SKP_Silk_tuning_parameters.h | 36 +- .../src/SKP_Silk_warped_autocorrelation_FIX.c | 37 +- libs/silk/test/Decoder.c | 50 +-- libs/silk/test/Encoder.c | 50 +-- libs/silk/test/signalCompare.c | 70 +-- .../How to use the test vectors.txt | 16 +- .../libsofia-sip-ua/sip/tests/own6.txt | 5 +- .../libsofia-sip-ua/sip/tests/test1.txt | 4 +- .../libsofia-sip-ua/sip/tests/test1a.txt | 4 +- .../libsofia-sip-ua/sip/tests/test27.txt | 2 - .../libsofia-sip-ua/sip/tests/test28.txt | 2 - .../libsofia-sip-ua/sip/tests/test32.txt | 2 - .../libsofia-sip-ua/sip/tests/test33.txt | 2 - .../libsofia-sip-ua/sip/tests/test34.txt | 2 - .../libsofia-sip-ua/sip/tests/test35.txt | 2 - .../libsofia-sip-ua/sip/tests/test37.txt | 2 - .../libsofia-sip-ua/sip/tests/test38.txt | 2 - .../libsofia-sip-ua/sip/tests/test39.txt | 2 - .../libsofia-sip-ua/sip/tests/test40.txt | 2 - .../libsofia-sip-ua/sip/tests/test41.txt | 1 - .../libsofia-sip-ua/sip/tests/test42.txt | 5 - libs/win32/celt/config.h | 5 +- libs/win32/celt/float_cast.h | 10 +- libs/win32/libshout/shout/shout.h | 4 +- libs/win32/openssl/opensslconf.h | 2 +- libs/xmlrpc-c/Windows/ReadMeOld.txt | 1 - libs/xmlrpc-c/Windows/UsingCURLinWin32.txt | 2 +- libs/xmlrpc-c/Windows/UsingProxyDSP.txt | 4 +- src/mod/applications/mod_expr/license.txt | 1 - src/mod/applications/mod_expr/readme.txt | 30 +- 171 files changed, 3225 insertions(+), 3305 deletions(-) diff --git a/libs/esl/managed/esl_wrap.2010.cpp b/libs/esl/managed/esl_wrap.2010.cpp index ae06c6ea57..69a777a1e3 100644 --- a/libs/esl/managed/esl_wrap.2010.cpp +++ b/libs/esl/managed/esl_wrap.2010.cpp @@ -1,11 +1,11 @@ /* ---------------------------------------------------------------------------- * This file was automatically generated by SWIG (http://www.swig.org). * Version 2.0.1 - * - * This file is not intended to be easily readable and contains a number of + * + * This file is not intended to be easily readable and contains a number of * coding conventions designed to improve portability and efficiency. Do not make - * changes to this file unless you know what you are doing--modify the SWIG - * interface file instead. + * changes to this file unless you know what you are doing--modify the SWIG + * interface file instead. * ----------------------------------------------------------------------------- */ #define SWIGCSHARP @@ -65,28 +65,28 @@ template T SwigValueInit() { #ifndef SWIGUNUSED # if defined(__GNUC__) # if !(defined(__cplusplus)) || (__GNUC__ > 3 || (__GNUC__ == 3 && __GNUC_MINOR__ >= 4)) -# define SWIGUNUSED __attribute__ ((__unused__)) +# define SWIGUNUSED __attribute__ ((__unused__)) # else # define SWIGUNUSED # endif # elif defined(__ICC) -# define SWIGUNUSED __attribute__ ((__unused__)) +# define SWIGUNUSED __attribute__ ((__unused__)) # else -# define SWIGUNUSED +# define SWIGUNUSED # endif #endif #ifndef SWIG_MSC_UNSUPPRESS_4505 # if defined(_MSC_VER) # pragma warning(disable : 4505) /* unreferenced local function has been removed */ -# endif +# endif #endif #ifndef SWIGUNUSEDPARM # ifdef __cplusplus # define SWIGUNUSEDPARM(p) # else -# define SWIGUNUSEDPARM(p) p SWIGUNUSED +# define SWIGUNUSEDPARM(p) p SWIGUNUSED # endif #endif @@ -129,7 +129,7 @@ template T SwigValueInit() { # define SWIGSTDCALL __stdcall # else # define SWIGSTDCALL -# endif +# endif #endif /* Deal with Microsoft's attempt at deprecating C standard runtime functions */ @@ -149,7 +149,7 @@ template T SwigValueInit() { #include -/* Support for throwing C# exceptions from C/C++. There are two types: +/* Support for throwing C# exceptions from C/C++. There are two types: * Exceptions that take a message and ArgumentExceptions that take a message and a parameter name. */ typedef enum { SWIG_CSharpApplicationException, @@ -222,19 +222,19 @@ static void SWIGUNUSED SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpExcepti #ifdef __cplusplus -extern "C" +extern "C" #endif SWIGEXPORT void SWIGSTDCALL SWIGRegisterExceptionCallbacks_ESL( SWIG_CSharpExceptionCallback_t applicationCallback, SWIG_CSharpExceptionCallback_t arithmeticCallback, - SWIG_CSharpExceptionCallback_t divideByZeroCallback, - SWIG_CSharpExceptionCallback_t indexOutOfRangeCallback, + SWIG_CSharpExceptionCallback_t divideByZeroCallback, + SWIG_CSharpExceptionCallback_t indexOutOfRangeCallback, SWIG_CSharpExceptionCallback_t invalidCastCallback, SWIG_CSharpExceptionCallback_t invalidOperationCallback, SWIG_CSharpExceptionCallback_t ioCallback, SWIG_CSharpExceptionCallback_t nullReferenceCallback, - SWIG_CSharpExceptionCallback_t outOfMemoryCallback, - SWIG_CSharpExceptionCallback_t overflowCallback, + SWIG_CSharpExceptionCallback_t outOfMemoryCallback, + SWIG_CSharpExceptionCallback_t overflowCallback, SWIG_CSharpExceptionCallback_t systemCallback) { SWIG_csharp_exceptions[SWIG_CSharpApplicationException].callback = applicationCallback; SWIG_csharp_exceptions[SWIG_CSharpArithmeticException].callback = arithmeticCallback; @@ -250,7 +250,7 @@ SWIGEXPORT void SWIGSTDCALL SWIGRegisterExceptionCallbacks_ESL( } #ifdef __cplusplus -extern "C" +extern "C" #endif SWIGEXPORT void SWIGSTDCALL SWIGRegisterExceptionArgumentCallbacks_ESL( SWIG_CSharpExceptionArgumentCallback_t argumentCallback, @@ -268,7 +268,7 @@ static SWIG_CSharpStringHelperCallback SWIG_csharp_string_callback = NULL; #ifdef __cplusplus -extern "C" +extern "C" #endif SWIGEXPORT void SWIGSTDCALL SWIGRegisterStringCallback_ESL(SWIG_CSharpStringHelperCallback callback) { SWIG_csharp_string_callback = callback; @@ -291,9 +291,9 @@ extern "C" { SWIGEXPORT void SWIGSTDCALL CSharp_ESLevent_Event_set(void * jarg1, void * jarg2) { ESLevent *arg1 = (ESLevent *) 0 ; esl_event_t *arg2 = (esl_event_t *) 0 ; - - arg1 = (ESLevent *)jarg1; - arg2 = (esl_event_t *)jarg2; + + arg1 = (ESLevent *)jarg1; + arg2 = (esl_event_t *)jarg2; if (arg1) (arg1)->event = arg2; } @@ -302,10 +302,10 @@ SWIGEXPORT void * SWIGSTDCALL CSharp_ESLevent_Event_get(void * jarg1) { void * jresult ; ESLevent *arg1 = (ESLevent *) 0 ; esl_event_t *result = 0 ; - - arg1 = (ESLevent *)jarg1; + + arg1 = (ESLevent *)jarg1; result = (esl_event_t *) ((arg1)->event); - jresult = (void *)result; + jresult = (void *)result; return jresult; } @@ -313,9 +313,9 @@ SWIGEXPORT void * SWIGSTDCALL CSharp_ESLevent_Event_get(void * jarg1) { SWIGEXPORT void SWIGSTDCALL CSharp_ESLevent_SerializedString_set(void * jarg1, char * jarg2) { ESLevent *arg1 = (ESLevent *) 0 ; char *arg2 = (char *) 0 ; - - arg1 = (ESLevent *)jarg1; - arg2 = (char *)jarg2; + + arg1 = (ESLevent *)jarg1; + arg2 = (char *)jarg2; { if (arg1->serialized_string) delete [] arg1->serialized_string; if (arg2) { @@ -332,10 +332,10 @@ SWIGEXPORT char * SWIGSTDCALL CSharp_ESLevent_SerializedString_get(void * jarg1) char * jresult ; ESLevent *arg1 = (ESLevent *) 0 ; char *result = 0 ; - - arg1 = (ESLevent *)jarg1; + + arg1 = (ESLevent *)jarg1; result = (char *) ((arg1)->serialized_string); - jresult = SWIG_csharp_string_callback((const char *)result); + jresult = SWIG_csharp_string_callback((const char *)result); return jresult; } @@ -343,9 +343,9 @@ SWIGEXPORT char * SWIGSTDCALL CSharp_ESLevent_SerializedString_get(void * jarg1) SWIGEXPORT void SWIGSTDCALL CSharp_ESLevent_Mine_set(void * jarg1, int jarg2) { ESLevent *arg1 = (ESLevent *) 0 ; int arg2 ; - - arg1 = (ESLevent *)jarg1; - arg2 = (int)jarg2; + + arg1 = (ESLevent *)jarg1; + arg2 = (int)jarg2; if (arg1) (arg1)->mine = arg2; } @@ -354,10 +354,10 @@ SWIGEXPORT int SWIGSTDCALL CSharp_ESLevent_Mine_get(void * jarg1) { int jresult ; ESLevent *arg1 = (ESLevent *) 0 ; int result; - - arg1 = (ESLevent *)jarg1; + + arg1 = (ESLevent *)jarg1; result = (int) ((arg1)->mine); - jresult = result; + jresult = result; return jresult; } @@ -367,11 +367,11 @@ SWIGEXPORT void * SWIGSTDCALL CSharp_new_ESLevent__SWIG_0(char * jarg1, char * j char *arg1 = (char *) 0 ; char *arg2 = (char *) NULL ; ESLevent *result = 0 ; - - arg1 = (char *)jarg1; - arg2 = (char *)jarg2; + + arg1 = (char *)jarg1; + arg2 = (char *)jarg2; result = (ESLevent *)new ESLevent((char const *)arg1,(char const *)arg2); - jresult = (void *)result; + jresult = (void *)result; return jresult; } @@ -381,11 +381,11 @@ SWIGEXPORT void * SWIGSTDCALL CSharp_new_ESLevent__SWIG_1(void * jarg1, int jarg esl_event_t *arg1 = (esl_event_t *) 0 ; int arg2 = (int) 0 ; ESLevent *result = 0 ; - - arg1 = (esl_event_t *)jarg1; - arg2 = (int)jarg2; + + arg1 = (esl_event_t *)jarg1; + arg2 = (int)jarg2; result = (ESLevent *)new ESLevent(arg1,arg2); - jresult = (void *)result; + jresult = (void *)result; return jresult; } @@ -394,18 +394,18 @@ SWIGEXPORT void * SWIGSTDCALL CSharp_new_ESLevent__SWIG_2(void * jarg1) { void * jresult ; ESLevent *arg1 = (ESLevent *) 0 ; ESLevent *result = 0 ; - - arg1 = (ESLevent *)jarg1; + + arg1 = (ESLevent *)jarg1; result = (ESLevent *)new ESLevent(arg1); - jresult = (void *)result; + jresult = (void *)result; return jresult; } SWIGEXPORT void SWIGSTDCALL CSharp_delete_ESLevent(void * jarg1) { ESLevent *arg1 = (ESLevent *) 0 ; - - arg1 = (ESLevent *)jarg1; + + arg1 = (ESLevent *)jarg1; delete arg1; } @@ -415,11 +415,11 @@ SWIGEXPORT char * SWIGSTDCALL CSharp_ESLevent_Serialize(void * jarg1, char * jar ESLevent *arg1 = (ESLevent *) 0 ; char *arg2 = (char *) NULL ; char *result = 0 ; - - arg1 = (ESLevent *)jarg1; - arg2 = (char *)jarg2; + + arg1 = (ESLevent *)jarg1; + arg2 = (char *)jarg2; result = (char *)(arg1)->serialize((char const *)arg2); - jresult = SWIG_csharp_string_callback((const char *)result); + jresult = SWIG_csharp_string_callback((const char *)result); return jresult; } @@ -430,16 +430,16 @@ SWIGEXPORT unsigned int SWIGSTDCALL CSharp_ESLevent_SetPriority(void * jarg1, vo esl_priority_t arg2 = (esl_priority_t) ESL_PRIORITY_NORMAL ; esl_priority_t *argp2 ; bool result; - - arg1 = (ESLevent *)jarg1; - argp2 = (esl_priority_t *)jarg2; + + arg1 = (ESLevent *)jarg1; + argp2 = (esl_priority_t *)jarg2; if (!argp2) { SWIG_CSharpSetPendingExceptionArgument(SWIG_CSharpArgumentNullException, "Attempt to dereference null esl_priority_t", 0); return 0; } - arg2 = *argp2; + arg2 = *argp2; result = (bool)(arg1)->setPriority(arg2); - jresult = result; + jresult = result; return jresult; } @@ -450,12 +450,12 @@ SWIGEXPORT char * SWIGSTDCALL CSharp_ESLevent_GetHeader(void * jarg1, char * jar char *arg2 = (char *) 0 ; int arg3 = (int) -1 ; char *result = 0 ; - - arg1 = (ESLevent *)jarg1; - arg2 = (char *)jarg2; - arg3 = (int)jarg3; + + arg1 = (ESLevent *)jarg1; + arg2 = (char *)jarg2; + arg3 = (int)jarg3; result = (char *)(arg1)->getHeader((char const *)arg2,arg3); - jresult = SWIG_csharp_string_callback((const char *)result); + jresult = SWIG_csharp_string_callback((const char *)result); return jresult; } @@ -464,10 +464,10 @@ SWIGEXPORT char * SWIGSTDCALL CSharp_ESLevent_GetBody(void * jarg1) { char * jresult ; ESLevent *arg1 = (ESLevent *) 0 ; char *result = 0 ; - - arg1 = (ESLevent *)jarg1; + + arg1 = (ESLevent *)jarg1; result = (char *)(arg1)->getBody(); - jresult = SWIG_csharp_string_callback((const char *)result); + jresult = SWIG_csharp_string_callback((const char *)result); return jresult; } @@ -476,10 +476,10 @@ SWIGEXPORT char * SWIGSTDCALL CSharp_ESLevent_getType(void * jarg1) { char * jresult ; ESLevent *arg1 = (ESLevent *) 0 ; char *result = 0 ; - - arg1 = (ESLevent *)jarg1; + + arg1 = (ESLevent *)jarg1; result = (char *)(arg1)->getType(); - jresult = SWIG_csharp_string_callback((const char *)result); + jresult = SWIG_csharp_string_callback((const char *)result); return jresult; } @@ -489,11 +489,11 @@ SWIGEXPORT unsigned int SWIGSTDCALL CSharp_ESLevent_AddBody(void * jarg1, char * ESLevent *arg1 = (ESLevent *) 0 ; char *arg2 = (char *) 0 ; bool result; - - arg1 = (ESLevent *)jarg1; - arg2 = (char *)jarg2; + + arg1 = (ESLevent *)jarg1; + arg2 = (char *)jarg2; result = (bool)(arg1)->addBody((char const *)arg2); - jresult = result; + jresult = result; return jresult; } @@ -504,12 +504,12 @@ SWIGEXPORT unsigned int SWIGSTDCALL CSharp_ESLevent_AddHeader(void * jarg1, char char *arg2 = (char *) 0 ; char *arg3 = (char *) 0 ; bool result; - - arg1 = (ESLevent *)jarg1; - arg2 = (char *)jarg2; - arg3 = (char *)jarg3; + + arg1 = (ESLevent *)jarg1; + arg2 = (char *)jarg2; + arg3 = (char *)jarg3; result = (bool)(arg1)->addHeader((char const *)arg2,(char const *)arg3); - jresult = result; + jresult = result; return jresult; } @@ -520,12 +520,12 @@ SWIGEXPORT unsigned int SWIGSTDCALL CSharp_ESLevent_pushHeader(void * jarg1, cha char *arg2 = (char *) 0 ; char *arg3 = (char *) 0 ; bool result; - - arg1 = (ESLevent *)jarg1; - arg2 = (char *)jarg2; - arg3 = (char *)jarg3; + + arg1 = (ESLevent *)jarg1; + arg2 = (char *)jarg2; + arg3 = (char *)jarg3; result = (bool)(arg1)->pushHeader((char const *)arg2,(char const *)arg3); - jresult = result; + jresult = result; return jresult; } @@ -536,12 +536,12 @@ SWIGEXPORT unsigned int SWIGSTDCALL CSharp_ESLevent_unshiftHeader(void * jarg1, char *arg2 = (char *) 0 ; char *arg3 = (char *) 0 ; bool result; - - arg1 = (ESLevent *)jarg1; - arg2 = (char *)jarg2; - arg3 = (char *)jarg3; + + arg1 = (ESLevent *)jarg1; + arg2 = (char *)jarg2; + arg3 = (char *)jarg3; result = (bool)(arg1)->unshiftHeader((char const *)arg2,(char const *)arg3); - jresult = result; + jresult = result; return jresult; } @@ -551,11 +551,11 @@ SWIGEXPORT unsigned int SWIGSTDCALL CSharp_ESLevent_DelHeader(void * jarg1, char ESLevent *arg1 = (ESLevent *) 0 ; char *arg2 = (char *) 0 ; bool result; - - arg1 = (ESLevent *)jarg1; - arg2 = (char *)jarg2; + + arg1 = (ESLevent *)jarg1; + arg2 = (char *)jarg2; result = (bool)(arg1)->delHeader((char const *)arg2); - jresult = result; + jresult = result; return jresult; } @@ -564,10 +564,10 @@ SWIGEXPORT char * SWIGSTDCALL CSharp_ESLevent_FirstHeader(void * jarg1) { char * jresult ; ESLevent *arg1 = (ESLevent *) 0 ; char *result = 0 ; - - arg1 = (ESLevent *)jarg1; + + arg1 = (ESLevent *)jarg1; result = (char *)(arg1)->firstHeader(); - jresult = SWIG_csharp_string_callback((const char *)result); + jresult = SWIG_csharp_string_callback((const char *)result); return jresult; } @@ -576,10 +576,10 @@ SWIGEXPORT char * SWIGSTDCALL CSharp_ESLevent_NextHeader(void * jarg1) { char * jresult ; ESLevent *arg1 = (ESLevent *) 0 ; char *result = 0 ; - - arg1 = (ESLevent *)jarg1; + + arg1 = (ESLevent *)jarg1; result = (char *)(arg1)->nextHeader(); - jresult = SWIG_csharp_string_callback((const char *)result); + jresult = SWIG_csharp_string_callback((const char *)result); return jresult; } @@ -591,13 +591,13 @@ SWIGEXPORT void * SWIGSTDCALL CSharp_new_ESLconnection__SWIG_0(char * jarg1, int char *arg3 = (char *) 0 ; char *arg4 = (char *) 0 ; ESLconnection *result = 0 ; - - arg1 = (char *)jarg1; - arg2 = (int)jarg2; - arg3 = (char *)jarg3; - arg4 = (char *)jarg4; + + arg1 = (char *)jarg1; + arg2 = (int)jarg2; + arg3 = (char *)jarg3; + arg4 = (char *)jarg4; result = (ESLconnection *)new ESLconnection((char const *)arg1,arg2,(char const *)arg3,(char const *)arg4); - jresult = (void *)result; + jresult = (void *)result; return jresult; } @@ -608,12 +608,12 @@ SWIGEXPORT void * SWIGSTDCALL CSharp_new_ESLconnection__SWIG_1(char * jarg1, int int arg2 ; char *arg3 = (char *) 0 ; ESLconnection *result = 0 ; - - arg1 = (char *)jarg1; - arg2 = (int)jarg2; - arg3 = (char *)jarg3; + + arg1 = (char *)jarg1; + arg2 = (int)jarg2; + arg3 = (char *)jarg3; result = (ESLconnection *)new ESLconnection((char const *)arg1,arg2,(char const *)arg3); - jresult = (void *)result; + jresult = (void *)result; return jresult; } @@ -625,13 +625,13 @@ SWIGEXPORT void * SWIGSTDCALL CSharp_new_ESLconnection__SWIG_2(char * jarg1, cha char *arg3 = (char *) 0 ; char *arg4 = (char *) 0 ; ESLconnection *result = 0 ; - - arg1 = (char *)jarg1; - arg2 = (char *)jarg2; - arg3 = (char *)jarg3; - arg4 = (char *)jarg4; + + arg1 = (char *)jarg1; + arg2 = (char *)jarg2; + arg3 = (char *)jarg3; + arg4 = (char *)jarg4; result = (ESLconnection *)new ESLconnection((char const *)arg1,(char const *)arg2,(char const *)arg3,(char const *)arg4); - jresult = (void *)result; + jresult = (void *)result; return jresult; } @@ -642,12 +642,12 @@ SWIGEXPORT void * SWIGSTDCALL CSharp_new_ESLconnection__SWIG_3(char * jarg1, cha char *arg2 = (char *) 0 ; char *arg3 = (char *) 0 ; ESLconnection *result = 0 ; - - arg1 = (char *)jarg1; - arg2 = (char *)jarg2; - arg3 = (char *)jarg3; + + arg1 = (char *)jarg1; + arg2 = (char *)jarg2; + arg3 = (char *)jarg3; result = (ESLconnection *)new ESLconnection((char const *)arg1,(char const *)arg2,(char const *)arg3); - jresult = (void *)result; + jresult = (void *)result; return jresult; } @@ -656,18 +656,18 @@ SWIGEXPORT void * SWIGSTDCALL CSharp_new_ESLconnection__SWIG_4(int jarg1) { void * jresult ; int arg1 ; ESLconnection *result = 0 ; - - arg1 = (int)jarg1; + + arg1 = (int)jarg1; result = (ESLconnection *)new ESLconnection(arg1); - jresult = (void *)result; + jresult = (void *)result; return jresult; } SWIGEXPORT void SWIGSTDCALL CSharp_delete_ESLconnection(void * jarg1) { ESLconnection *arg1 = (ESLconnection *) 0 ; - - arg1 = (ESLconnection *)jarg1; + + arg1 = (ESLconnection *)jarg1; delete arg1; } @@ -676,10 +676,10 @@ SWIGEXPORT int SWIGSTDCALL CSharp_ESLconnection_SocketDescriptor(void * jarg1) { int jresult ; ESLconnection *arg1 = (ESLconnection *) 0 ; int result; - - arg1 = (ESLconnection *)jarg1; + + arg1 = (ESLconnection *)jarg1; result = (int)(arg1)->socketDescriptor(); - jresult = result; + jresult = result; return jresult; } @@ -688,10 +688,10 @@ SWIGEXPORT int SWIGSTDCALL CSharp_ESLconnection_Connected(void * jarg1) { int jresult ; ESLconnection *arg1 = (ESLconnection *) 0 ; int result; - - arg1 = (ESLconnection *)jarg1; + + arg1 = (ESLconnection *)jarg1; result = (int)(arg1)->connected(); - jresult = result; + jresult = result; return jresult; } @@ -700,10 +700,10 @@ SWIGEXPORT void * SWIGSTDCALL CSharp_ESLconnection_GetInfo(void * jarg1) { void * jresult ; ESLconnection *arg1 = (ESLconnection *) 0 ; ESLevent *result = 0 ; - - arg1 = (ESLconnection *)jarg1; + + arg1 = (ESLconnection *)jarg1; result = (ESLevent *)(arg1)->getInfo(); - jresult = (void *)result; + jresult = (void *)result; return jresult; } @@ -713,11 +713,11 @@ SWIGEXPORT int SWIGSTDCALL CSharp_ESLconnection_Send(void * jarg1, char * jarg2) ESLconnection *arg1 = (ESLconnection *) 0 ; char *arg2 = (char *) 0 ; int result; - - arg1 = (ESLconnection *)jarg1; - arg2 = (char *)jarg2; + + arg1 = (ESLconnection *)jarg1; + arg2 = (char *)jarg2; result = (int)(arg1)->send((char const *)arg2); - jresult = result; + jresult = result; return jresult; } @@ -727,11 +727,11 @@ SWIGEXPORT void * SWIGSTDCALL CSharp_ESLconnection_SendRecv(void * jarg1, char * ESLconnection *arg1 = (ESLconnection *) 0 ; char *arg2 = (char *) 0 ; ESLevent *result = 0 ; - - arg1 = (ESLconnection *)jarg1; - arg2 = (char *)jarg2; + + arg1 = (ESLconnection *)jarg1; + arg2 = (char *)jarg2; result = (ESLevent *)(arg1)->sendRecv((char const *)arg2); - jresult = (void *)result; + jresult = (void *)result; return jresult; } @@ -742,12 +742,12 @@ SWIGEXPORT void * SWIGSTDCALL CSharp_ESLconnection_Api(void * jarg1, char * jarg char *arg2 = (char *) 0 ; char *arg3 = (char *) NULL ; ESLevent *result = 0 ; - - arg1 = (ESLconnection *)jarg1; - arg2 = (char *)jarg2; - arg3 = (char *)jarg3; + + arg1 = (ESLconnection *)jarg1; + arg2 = (char *)jarg2; + arg3 = (char *)jarg3; result = (ESLevent *)(arg1)->api((char const *)arg2,(char const *)arg3); - jresult = (void *)result; + jresult = (void *)result; return jresult; } @@ -759,13 +759,13 @@ SWIGEXPORT void * SWIGSTDCALL CSharp_ESLconnection_Bgapi(void * jarg1, char * ja char *arg3 = (char *) NULL ; char *arg4 = (char *) NULL ; ESLevent *result = 0 ; - - arg1 = (ESLconnection *)jarg1; - arg2 = (char *)jarg2; - arg3 = (char *)jarg3; - arg4 = (char *)jarg4; + + arg1 = (ESLconnection *)jarg1; + arg2 = (char *)jarg2; + arg3 = (char *)jarg3; + arg4 = (char *)jarg4; result = (ESLevent *)(arg1)->bgapi((char const *)arg2,(char const *)arg3,(char const *)arg4); - jresult = (void *)result; + jresult = (void *)result; return jresult; } @@ -775,11 +775,11 @@ SWIGEXPORT void * SWIGSTDCALL CSharp_ESLconnection_SendEvent(void * jarg1, void ESLconnection *arg1 = (ESLconnection *) 0 ; ESLevent *arg2 = (ESLevent *) 0 ; ESLevent *result = 0 ; - - arg1 = (ESLconnection *)jarg1; - arg2 = (ESLevent *)jarg2; + + arg1 = (ESLconnection *)jarg1; + arg2 = (ESLevent *)jarg2; result = (ESLevent *)(arg1)->sendEvent(arg2); - jresult = (void *)result; + jresult = (void *)result; return jresult; } @@ -790,12 +790,12 @@ SWIGEXPORT int SWIGSTDCALL CSharp_ESLconnection_sendMSG(void * jarg1, void * jar ESLevent *arg2 = (ESLevent *) 0 ; char *arg3 = (char *) NULL ; int result; - - arg1 = (ESLconnection *)jarg1; - arg2 = (ESLevent *)jarg2; - arg3 = (char *)jarg3; + + arg1 = (ESLconnection *)jarg1; + arg2 = (ESLevent *)jarg2; + arg3 = (char *)jarg3; result = (int)(arg1)->sendMSG(arg2,(char const *)arg3); - jresult = result; + jresult = result; return jresult; } @@ -804,10 +804,10 @@ SWIGEXPORT void * SWIGSTDCALL CSharp_ESLconnection_RecvEvent(void * jarg1) { void * jresult ; ESLconnection *arg1 = (ESLconnection *) 0 ; ESLevent *result = 0 ; - - arg1 = (ESLconnection *)jarg1; + + arg1 = (ESLconnection *)jarg1; result = (ESLevent *)(arg1)->recvEvent(); - jresult = (void *)result; + jresult = (void *)result; return jresult; } @@ -817,11 +817,11 @@ SWIGEXPORT void * SWIGSTDCALL CSharp_ESLconnection_RecvEventTimed(void * jarg1, ESLconnection *arg1 = (ESLconnection *) 0 ; int arg2 ; ESLevent *result = 0 ; - - arg1 = (ESLconnection *)jarg1; - arg2 = (int)jarg2; + + arg1 = (ESLconnection *)jarg1; + arg2 = (int)jarg2; result = (ESLevent *)(arg1)->recvEventTimed(arg2); - jresult = (void *)result; + jresult = (void *)result; return jresult; } @@ -832,12 +832,12 @@ SWIGEXPORT void * SWIGSTDCALL CSharp_ESLconnection_Filter(void * jarg1, char * j char *arg2 = (char *) 0 ; char *arg3 = (char *) 0 ; ESLevent *result = 0 ; - - arg1 = (ESLconnection *)jarg1; - arg2 = (char *)jarg2; - arg3 = (char *)jarg3; + + arg1 = (ESLconnection *)jarg1; + arg2 = (char *)jarg2; + arg3 = (char *)jarg3; result = (ESLevent *)(arg1)->filter((char const *)arg2,(char const *)arg3); - jresult = (void *)result; + jresult = (void *)result; return jresult; } @@ -848,12 +848,12 @@ SWIGEXPORT int SWIGSTDCALL CSharp_ESLconnection_Events(void * jarg1, char * jarg char *arg2 = (char *) 0 ; char *arg3 = (char *) 0 ; int result; - - arg1 = (ESLconnection *)jarg1; - arg2 = (char *)jarg2; - arg3 = (char *)jarg3; + + arg1 = (ESLconnection *)jarg1; + arg2 = (char *)jarg2; + arg3 = (char *)jarg3; result = (int)(arg1)->events((char const *)arg2,(char const *)arg3); - jresult = result; + jresult = result; return jresult; } @@ -865,13 +865,13 @@ SWIGEXPORT void * SWIGSTDCALL CSharp_ESLconnection_Execute(void * jarg1, char * char *arg3 = (char *) NULL ; char *arg4 = (char *) NULL ; ESLevent *result = 0 ; - - arg1 = (ESLconnection *)jarg1; - arg2 = (char *)jarg2; - arg3 = (char *)jarg3; - arg4 = (char *)jarg4; + + arg1 = (ESLconnection *)jarg1; + arg2 = (char *)jarg2; + arg3 = (char *)jarg3; + arg4 = (char *)jarg4; result = (ESLevent *)(arg1)->execute((char const *)arg2,(char const *)arg3,(char const *)arg4); - jresult = (void *)result; + jresult = (void *)result; return jresult; } @@ -883,13 +883,13 @@ SWIGEXPORT void * SWIGSTDCALL CSharp_ESLconnection_ExecuteAsync(void * jarg1, ch char *arg3 = (char *) NULL ; char *arg4 = (char *) NULL ; ESLevent *result = 0 ; - - arg1 = (ESLconnection *)jarg1; - arg2 = (char *)jarg2; - arg3 = (char *)jarg3; - arg4 = (char *)jarg4; + + arg1 = (ESLconnection *)jarg1; + arg2 = (char *)jarg2; + arg3 = (char *)jarg3; + arg4 = (char *)jarg4; result = (ESLevent *)(arg1)->executeAsync((char const *)arg2,(char const *)arg3,(char const *)arg4); - jresult = (void *)result; + jresult = (void *)result; return jresult; } @@ -899,11 +899,11 @@ SWIGEXPORT int SWIGSTDCALL CSharp_ESLconnection_SetAsyncExecute(void * jarg1, ch ESLconnection *arg1 = (ESLconnection *) 0 ; char *arg2 = (char *) 0 ; int result; - - arg1 = (ESLconnection *)jarg1; - arg2 = (char *)jarg2; + + arg1 = (ESLconnection *)jarg1; + arg2 = (char *)jarg2; result = (int)(arg1)->setAsyncExecute((char const *)arg2); - jresult = result; + jresult = result; return jresult; } @@ -913,11 +913,11 @@ SWIGEXPORT int SWIGSTDCALL CSharp_ESLconnection_SetEventLock(void * jarg1, char ESLconnection *arg1 = (ESLconnection *) 0 ; char *arg2 = (char *) 0 ; int result; - - arg1 = (ESLconnection *)jarg1; - arg2 = (char *)jarg2; + + arg1 = (ESLconnection *)jarg1; + arg2 = (char *)jarg2; result = (int)(arg1)->setEventLock((char const *)arg2); - jresult = result; + jresult = result; return jresult; } @@ -926,18 +926,18 @@ SWIGEXPORT int SWIGSTDCALL CSharp_ESLconnection_Disconnect(void * jarg1) { int jresult ; ESLconnection *arg1 = (ESLconnection *) 0 ; int result; - - arg1 = (ESLconnection *)jarg1; + + arg1 = (ESLconnection *)jarg1; result = (int)(arg1)->disconnect(); - jresult = result; + jresult = result; return jresult; } SWIGEXPORT void SWIGSTDCALL CSharp_eslSetLogLevel(int jarg1) { int arg1 ; - - arg1 = (int)jarg1; + + arg1 = (int)jarg1; eslSetLogLevel(arg1); } @@ -945,4 +945,3 @@ SWIGEXPORT void SWIGSTDCALL CSharp_eslSetLogLevel(int jarg1) { #ifdef __cplusplus } #endif - diff --git a/libs/freetdm/src/isdn/5ESSStateNT.c b/libs/freetdm/src/isdn/5ESSStateNT.c index 6795a94a76..6d38f4582e 100644 --- a/libs/freetdm/src/isdn/5ESSStateNT.c +++ b/libs/freetdm/src/isdn/5ESSStateNT.c @@ -5,45 +5,45 @@ Contents: AT&T 5ESS ISDN State Engine for NT (Network Mode). The controlling state engine for Q.931 is the state engine - on the NT side. The state engine on the TE side is a slave + on the NT side. The state engine on the TE side is a slave of this. The TE side maintain it's own states as described in - ITU-T Q931, but will in raise conditions be overridden by + ITU-T Q931, but will in raise conditions be overridden by the NT side. License/Copyright: Copyright (c) 2007, Jan Vidar Berger, Case Labs, Ltd. All rights reserved. - email:janvb@caselaboratories.com + email:janvb@caselaboratories.com Copyright (c) 2007, Michael Jerris. All rights reserved. - email:mike@jerris.com - + email:mike@jerris.com + Copyright (c) 2007, Michael S. Collins, All rights reserved. email:mcollins@fcnetwork.com - - Redistribution and use in source and binary forms, with or without - modification, are permitted provided that the following conditions are + + Redistribution and use in source and binary forms, with or without + modification, are permitted provided that the following conditions are met: - * Redistributions of source code must retain the above copyright notice, + * Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. - * Redistributions in binary form must reproduce the above copyright notice, - this list of conditions and the following disclaimer in the documentation + * Redistributions in binary form must reproduce the above copyright notice, + this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. - * Neither the name of the Case Labs, Ltd nor the names of its contributors - may be used to endorse or promote products derived from this software + * Neither the name of the Case Labs, Ltd nor the names of its contributors + may be used to endorse or promote products derived from this software without specific prior written permission. - THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" - AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE - ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE - LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR - CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF - SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS - INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN - CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE + THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF + SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN + CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. *****************************************************************************/ @@ -95,7 +95,7 @@ void ATT5ESSCreateNT(L3UCHAR i) Q931SetMesProc(Q932mes_RETRIEVE_ACKNOWLEDGE, i, Q932ProcRetrieveAckNT, Q932Umes_RetrieveAck, Q932Pmes_RetrieveAck); Q931SetMesProc(Q932mes_RETRIEVE_REJECT, i, Q932ProcRetrieveRejectNT, Q932Umes_RetrieveReject, Q932Pmes_RetrieveReject); - /* Set up the IE encoder/decoder handle table.*/ + /* Set up the IE encoder/decoder handle table.*/ Q931SetIEProc(Q931ie_SEGMENTED_MESSAGE, i, Q931Pie_Segment, Q931Uie_Segment); Q931SetIEProc(Q931ie_BEARER_CAPABILITY, i, Q931Pie_BearerCap, Q931Uie_BearerCap); Q931SetIEProc(Q931ie_CAUSE, i, Q931Pie_Cause, Q931Uie_Cause); diff --git a/libs/freetdm/src/isdn/5ESSStateTE.c b/libs/freetdm/src/isdn/5ESSStateTE.c index 5a7ed0e21b..6c31df88c7 100644 --- a/libs/freetdm/src/isdn/5ESSStateTE.c +++ b/libs/freetdm/src/isdn/5ESSStateTE.c @@ -5,12 +5,12 @@ Contents: AT&T 5ESS ISDN State Engine for TE (User Mode). The controlling state engine for Q.931 is the state engine - on the NT side. The state engine on the TE side is a slave + on the NT side. The state engine on the TE side is a slave of this. The TE side maintain it's own states as described in - ITU-T Q931, but will in raise conditions be overridden by + ITU-T Q931, but will in raise conditions be overridden by the NT side. - This reference implementation uses a process per message, + This reference implementation uses a process per message, meaning that each message must check call states. This is easier for dialect maintenance as each message proc can be replaced individually. A new TE variant only @@ -20,37 +20,37 @@ License/Copyright: Copyright (c) 2007, Jan Vidar Berger, Case Labs, Ltd. All rights reserved. - email:janvb@caselaboratories.com + email:janvb@caselaboratories.com Copyright (c) 2007, Michael Jerris. All rights reserved. - email:mike@jerris.com - + email:mike@jerris.com + Copyright (c) 2007, Michael S. Collins, All rights reserved. email:mcollins@fcnetwork.com - - Redistribution and use in source and binary forms, with or without - modification, are permitted provided that the following conditions are + + Redistribution and use in source and binary forms, with or without + modification, are permitted provided that the following conditions are met: - * Redistributions of source code must retain the above copyright notice, + * Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. - * Redistributions in binary form must reproduce the above copyright notice, - this list of conditions and the following disclaimer in the documentation + * Redistributions in binary form must reproduce the above copyright notice, + this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. - * Neither the name of the Case Labs, Ltd nor the names of its contributors - may be used to endorse or promote products derived from this software + * Neither the name of the Case Labs, Ltd nor the names of its contributors + may be used to endorse or promote products derived from this software without specific prior written permission. - THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" - AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE - ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE - LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR - CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF - SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS - INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN - CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE + THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF + SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN + CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. *****************************************************************************/ @@ -103,7 +103,7 @@ void ATT5ESSCreateTE(L3UCHAR i) Q931SetMesProc(Q932mes_RETRIEVE_ACKNOWLEDGE, i, Q932ProcRetrieveAckTE, Q932Umes_RetrieveAck, Q932Pmes_RetrieveAck); Q931SetMesProc(Q932mes_RETRIEVE_REJECT, i, Q932ProcRetrieveRejectTE, Q932Umes_RetrieveReject, Q932Pmes_RetrieveReject); - /* Set up the IE encoder/decoder handle table.*/ + /* Set up the IE encoder/decoder handle table.*/ Q931SetIEProc(Q931ie_SEGMENTED_MESSAGE, i, Q931Pie_Segment, Q931Uie_Segment); Q931SetIEProc(Q931ie_BEARER_CAPABILITY, i, Q931Pie_BearerCap, Q931Uie_BearerCap); Q931SetIEProc(Q931ie_CAUSE, i, Q931Pie_Cause, Q931Uie_Cause); @@ -211,9 +211,9 @@ void ATT5ESSCreateTE(L3UCHAR i) Q931AddStateEntry(i, Q931_U15, Q931mes_RELEASE, 4); /* TODO - Q931AddStateEntry(i, Q931_U17, - Q931AddStateEntry(i, Q931_U19, - Q931AddStateEntry(i, Q931_U25, + Q931AddStateEntry(i, Q931_U17, + Q931AddStateEntry(i, Q931_U19, + Q931AddStateEntry(i, Q931_U25, */ } diff --git a/libs/freetdm/src/isdn/5ESSmes.c b/libs/freetdm/src/isdn/5ESSmes.c index 488d1a4853..9d7e3b9030 100644 --- a/libs/freetdm/src/isdn/5ESSmes.c +++ b/libs/freetdm/src/isdn/5ESSmes.c @@ -7,42 +7,42 @@ that contains variables sized by the user. It will also pack the struct back into a Q.931 message as required. - See 5ESS.h for description. + See 5ESS.h for description. License/Copyright: Copyright (c) 2007, Jan Vidar Berger, Case Labs, Ltd. All rights reserved. - email:janvb@caselaboratories.com + email:janvb@caselaboratories.com Copyright (c) 2007, Michael Jerris. All rights reserved. email:mike@jerris.com - + Copyright (c) 2007, Michael S. Collins, All rights reserved. email:mcollins@fcnetwork.com - Redistribution and use in source and binary forms, with or without - modification, are permitted provided that the following conditions are + Redistribution and use in source and binary forms, with or without + modification, are permitted provided that the following conditions are met: - * Redistributions of source code must retain the above copyright notice, + * Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. - * Redistributions in binary form must reproduce the above copyright notice, - this list of conditions and the following disclaimer in the documentation + * Redistributions in binary form must reproduce the above copyright notice, + this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. - * Neither the name of the Case Labs, Ltd nor the names of its contributors - may be used to endorse or promote products derived from this software + * Neither the name of the Case Labs, Ltd nor the names of its contributors + may be used to endorse or promote products derived from this software without specific prior written permission. - THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" - AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE - ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE - LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR - CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF - SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS - INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN - CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE + THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE + LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR + CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF + SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS + INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN + CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. *****************************************************************************/ @@ -98,7 +98,7 @@ L3INT ATT5ESSUmes_Setup(Q931_TrunkInfo_t *pTrunk, L3UCHAR *IBuf, Q931mes_Generic case Q931ie_HIGH_LAYER_COMPATIBILITY: case Q931ie_FACILITY: rc = Q931Uie[pTrunk->Dialect][IBuf[IOff]](pTrunk, mes, &IBuf[IOff], &mes->buf[OOff], &IOff, &OOff); - if (rc != Q931E_NO_ERROR) + if (rc != Q931E_NO_ERROR) return rc; break; case Q931ie_REPEAT_INDICATOR: @@ -118,7 +118,7 @@ L3INT ATT5ESSUmes_Setup(Q931_TrunkInfo_t *pTrunk, L3UCHAR *IBuf, Q931mes_Generic { case Q931ie_GENERIC_DIGITS: rc = Q931Uie[pTrunk->Dialect][IBuf[IOff]](pTrunk, mes, &IBuf[IOff], &mes->buf[OOff], &IOff, &OOff); - if (rc != Q931E_NO_ERROR) + if (rc != Q931E_NO_ERROR) return rc; break; default: @@ -130,7 +130,7 @@ L3INT ATT5ESSUmes_Setup(Q931_TrunkInfo_t *pTrunk, L3UCHAR *IBuf, Q931mes_Generic { case Q931ie_DISPLAY: rc = Q931Uie[pTrunk->Dialect][IBuf[IOff]](pTrunk, mes, &IBuf[IOff], &mes->buf[OOff], &IOff, &OOff); - if (rc != Q931E_NO_ERROR) + if (rc != Q931E_NO_ERROR) return rc; break; default: @@ -171,7 +171,7 @@ L3INT ATT5ESSPmes_Setup(Q931_TrunkInfo_t *pTrunk, Q931mes_Generic *IBuf, L3INT I /* Q931 Message Header */ Q931MesgHeader(pTrunk, pMes, OBuf, *OSize, &Octet); - + /* Sending Complete */ if (Q931IsIEPresent(pMes->SendComplete)) { OBuf[Octet++] = (L3UCHAR)(pMes->SendComplete & 0x00ff); diff --git a/libs/ilbc/localtests/iLBC_test.txt b/libs/ilbc/localtests/iLBC_test.txt index 2f3a129293..1eef70cebc 100644 --- a/libs/ilbc/localtests/iLBC_test.txt +++ b/libs/ilbc/localtests/iLBC_test.txt @@ -8,4 +8,3 @@ ./iLBC_test 20 iLBC.INP tmp.BIT iLBC_20ms_tlm05.OUT tlm05.chn ./iLBC_test 30 iLBC.INP tmp.BIT iLBC_30ms_tlm05.OUT tlm05.chn - diff --git a/libs/libzrtp/include/zrtp_config_win.h b/libs/libzrtp/include/zrtp_config_win.h index e8c5f6232c..15135a50bd 100644 --- a/libs/libzrtp/include/zrtp_config_win.h +++ b/libs/libzrtp/include/zrtp_config_win.h @@ -3,8 +3,8 @@ * Copyright (c) 2006-2009 Philip R. Zimmermann. All rights reserved. * Contact: http://philzimmermann.com * For licensing and other legal details, see the file zrtp_legal.c. - * - * Viktor Krykun + * + * Viktor Krykun */ #ifndef ZRTP_WIN_CONFIG_H__ diff --git a/libs/libzrtp/projects/symbian/DelayRuner.h b/libs/libzrtp/projects/symbian/DelayRuner.h index 58fa5ddc9b..ae19f3a4e6 100644 --- a/libs/libzrtp/projects/symbian/DelayRuner.h +++ b/libs/libzrtp/projects/symbian/DelayRuner.h @@ -63,7 +63,7 @@ private: private: TInt iState; // State of the active object RTimer iTimer; // Provides async timing service - + zrtp_stream_t *iCtx; zrtp_retry_task_t * iZTask; diff --git a/libs/libzrtp/projects/symbian/zrtp_iface_symb.cpp b/libs/libzrtp/projects/symbian/zrtp_iface_symb.cpp index af49c77d49..bfbe93770b 100644 --- a/libs/libzrtp/projects/symbian/zrtp_iface_symb.cpp +++ b/libs/libzrtp/projects/symbian/zrtp_iface_symb.cpp @@ -26,7 +26,7 @@ extern "C" uint32_t zrtp_symbian_kernel_random(); /** - * @brief Pseudo random number: sum of pid's shifted and xored by number of precceses + * @brief Pseudo random number: sum of pid's shifted and xored by number of precceses * @return */ uint32_t zrtp_sum_of_pid_and_number_of_poccesses(); @@ -59,19 +59,19 @@ zrtp_status_t zrtp_mutex_init(zrtp_mutex_t **mutex) { //rmutex->CreateLocal(); was before rmutex->CreateGlobal(KNullDesC); *mutex = (zrtp_mutex_t*) rmutex; - return zrtp_status_ok; + return zrtp_status_ok; } zrtp_status_t zrtp_mutex_lock(zrtp_mutex_t* mutex) { RMutex *rmutex = (RMutex *) mutex; rmutex->Wait(); - return zrtp_status_ok; + return zrtp_status_ok; } zrtp_status_t zrtp_mutex_unlock(zrtp_mutex_t* mutex) { RMutex *rmutex = (RMutex *) mutex; rmutex->Signal(); - return zrtp_status_ok; + return zrtp_status_ok; } zrtp_status_t zrtp_mutex_destroy(zrtp_mutex_t* mutex) { @@ -80,7 +80,7 @@ zrtp_status_t zrtp_mutex_destroy(zrtp_mutex_t* mutex) { rmutex->Close(); delete rmutex; } - return zrtp_status_ok; + return zrtp_status_ok; } //----------------------------------------------------------------------------- @@ -89,7 +89,7 @@ zrtp_status_t zrtp_sem_init(zrtp_sem_t** sem, uint32_t value, uint32_t limit) { //rsem->CreateLocal(value); rsem->CreateGlobal(KNullDesC,value); *sem = (zrtp_sem_t*) rsem; - return zrtp_status_ok; + return zrtp_status_ok; } zrtp_status_t zrtp_sem_destroy(zrtp_sem_t* sem) { @@ -98,25 +98,25 @@ zrtp_status_t zrtp_sem_destroy(zrtp_sem_t* sem) { rsem->Close(); delete rsem; } - return zrtp_status_ok; + return zrtp_status_ok; } zrtp_status_t zrtp_sem_wait(zrtp_sem_t* sem) { RSemaphore *rsem = (RSemaphore *) sem; rsem->Wait(); - return zrtp_status_ok; + return zrtp_status_ok; } zrtp_status_t zrtp_sem_trtwait(zrtp_sem_t* sem) { RSemaphore *rsem = (RSemaphore *) sem; rsem->Wait(1000); - return zrtp_status_ok; + return zrtp_status_ok; } zrtp_status_t zrtp_sem_post(zrtp_sem_t* sem) { RSemaphore *rsem = (RSemaphore *) sem; rsem->Signal(); - return zrtp_status_ok; + return zrtp_status_ok; } //----------------------------------------------------------------------------- @@ -126,14 +126,14 @@ int zrtp_sleep(unsigned int msec) { return 0; } -int zrtp_thread_create(zrtp_thread_routine_t start_routine, void *arg) { +int zrtp_thread_create(zrtp_thread_routine_t start_routine, void *arg) { RThread h; TBuf<64> thName=_L("zrtp_thread"); - h.Create(thName, start_routine, KDefaultStackSize*2, NULL, arg) ; + h.Create(thName, start_routine, KDefaultStackSize*2, NULL, arg) ; h.Resume(); h.Close(); - + return NULL; } //----------------------------------------------------------------------------- @@ -146,7 +146,7 @@ mlist_t tasks_head_s; static uint8_t inited = 0 ; static uint8_t is_running = 0; -typedef struct { +typedef struct { zrtp_stream_t *ctx; /** ZRTP stream context associated with the task */ zrtp_retry_task_t *ztask; /** ZRTP stream associated with the task */ mlist_t _mlist; @@ -154,9 +154,9 @@ typedef struct { } zrtp_sched_task_s_t; zrtp_status_t zrtp_def_scheduler_init(zrtp_global_t* zrtp) -{ +{ zrtp_status_t status = zrtp_status_ok; - ZRTP_LOG(3,("symbian","Init start")); + ZRTP_LOG(3,("symbian","Init start")); if (inited) { return zrtp_status_ok; } @@ -172,18 +172,18 @@ zrtp_status_t zrtp_def_scheduler_init(zrtp_global_t* zrtp) } void zrtp_def_scheduler_down() -{ +{ ZRTP_LOG(3,("symbian","Down start")); mlist_t *node = 0, *tmp = 0; - + if (!inited) { return; } - /* Stop main thread */ - is_running = 0; + /* Stop main thread */ + is_running = 0; // zrtp_sem_post(count); - + /* Then destroy tasks queue and realease all other resources */ //zrtp_mutex_lock(protector); @@ -198,7 +198,7 @@ void zrtp_def_scheduler_down() init_mlist(&tasks_head_s); // zrtp_mutex_unlock(protector); - + // zrtp_mutex_destroy(protector); // zrtp_sem_destroy(count); @@ -208,9 +208,9 @@ void zrtp_def_scheduler_down() void zrtp_def_scheduler_call_later(zrtp_stream_t *ctx, zrtp_retry_task_t* ztask) -{ +{ // ZRTP_LOG(3,("symbian","CallLater start")); - //mlist_t *node=0, *tmp=0; + //mlist_t *node=0, *tmp=0; mlist_t* last = &tasks_head_s; //zrtp_mutex_lock(protector); @@ -227,17 +227,17 @@ void zrtp_def_scheduler_call_later(zrtp_stream_t *ctx, zrtp_retry_task_t* ztask) } new_task->ctx = ctx; - new_task->ztask = ztask; + new_task->ztask = ztask; new_task->ao = CDelayRuner::NewL(); - - mlist_insert(last, &new_task->_mlist); - + + mlist_insert(last, &new_task->_mlist); + new_task->ao->StartL(ctx,ztask); //zrtp_sem_post(count); } while (0); //ZRTP_LOG(3,("symbian","CallLater end")); - //zrtp_mutex_unlock(protector); + //zrtp_mutex_unlock(protector); } void zrtp_def_scheduler_cancel_call_later(zrtp_stream_t* ctx, zrtp_retry_task_t* ztask) @@ -260,24 +260,24 @@ void zrtp_def_scheduler_cancel_call_later(zrtp_stream_t* ctx, zrtp_retry_task_t* } } ZRTP_LOG(3,("symbian","CancelCallLater done")); -// zrtp_mutex_unlock(protector); +// zrtp_mutex_unlock(protector); } void zrtp_internal_delete_task_from_list(zrtp_stream_t* ctx, zrtp_retry_task_t* ztask) { mlist_t *node=0, *tmp=0; ZRTP_LOG(3,("symbian","DelTask begin")); - mlist_for_each_safe(node, tmp, &tasks_head_s) + mlist_for_each_safe(node, tmp, &tasks_head_s) { zrtp_sched_task_s_t* task = mlist_get_struct(zrtp_sched_task_s_t, _mlist, node); - if ((task->ctx == ctx) && ((task->ztask == ztask) || !ztask)) + if ((task->ctx == ctx) && ((task->ztask == ztask) || !ztask)) { delete task->ao; // Cancel and delete task mlist_del(&task->_mlist); zrtp_sys_free(task); ZRTP_LOG(3,("symbian","DelTask Del")); //zrtp_sem_trtwait(count); - if (ztask) + if (ztask) { break; } @@ -300,7 +300,7 @@ unsigned int zrtp_get_pid() uint64_t zrtp_get_system_time_crazy() { TTime time; - + return time.MicroSecondsFrom(TTime(TDateTime (491,EAugust,7,3,37,17,347))).Int64(); } diff --git a/libs/silk/interface/SKP_Silk_SDK_API.h b/libs/silk/interface/SKP_Silk_SDK_API.h index 93020a6241..6800a8dfae 100644 --- a/libs/silk/interface/SKP_Silk_SDK_API.h +++ b/libs/silk/interface/SKP_Silk_SDK_API.h @@ -1,27 +1,27 @@ /*********************************************************************** -Copyright (c) 2006-2011, Skype Limited. All rights reserved. -Redistribution and use in source and binary forms, with or without -modification, (subject to the limitations in the disclaimer below) +Copyright (c) 2006-2011, Skype Limited. All rights reserved. +Redistribution and use in source and binary forms, with or without +modification, (subject to the limitations in the disclaimer below) are permitted provided that the following conditions are met: - Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. -- Redistributions in binary form must reproduce the above copyright -notice, this list of conditions and the following disclaimer in the +- Redistributions in binary form must reproduce the above copyright +notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. -- Neither the name of Skype Limited, nor the names of specific -contributors, may be used to endorse or promote products derived from +- Neither the name of Skype Limited, nor the names of specific +contributors, may be used to endorse or promote products derived from this software without specific prior written permission. -NO EXPRESS OR IMPLIED LICENSES TO ANY PARTY'S PATENT RIGHTS ARE GRANTED -BY THIS LICENSE. THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND +NO EXPRESS OR IMPLIED LICENSES TO ANY PARTY'S PATENT RIGHTS ARE GRANTED +BY THIS LICENSE. THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS ''AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, -BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND -FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE -COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND +FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT -NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF -USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON -ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF +USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON +ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ***********************************************************************/ @@ -56,7 +56,7 @@ typedef struct { /***********************************************/ /* Get size in bytes of the Silk encoder state */ /***********************************************/ -SKP_int SKP_Silk_SDK_Get_Encoder_Size( +SKP_int SKP_Silk_SDK_Get_Encoder_Size( SKP_int32 *encSizeBytes /* O: Number of bytes in SILK encoder state */ ); @@ -79,7 +79,7 @@ SKP_int SKP_Silk_SDK_QueryEncoder( /**************************/ /* Encode frame with Silk */ /**************************/ -SKP_int SKP_Silk_SDK_Encode( +SKP_int SKP_Silk_SDK_Encode( void *encState, /* I/O: State */ const SKP_SILK_SDK_EncControlStruct *encControl, /* I: Control status */ const SKP_int16 *samplesIn, /* I: Speech sample input vector */ @@ -95,14 +95,14 @@ SKP_int SKP_Silk_SDK_Encode( /***********************************************/ /* Get size in bytes of the Silk decoder state */ /***********************************************/ -SKP_int SKP_Silk_SDK_Get_Decoder_Size( +SKP_int SKP_Silk_SDK_Get_Decoder_Size( SKP_int32 *decSizeBytes /* O: Number of bytes in SILK decoder state */ ); /*************************/ /* Init or Reset decoder */ /*************************/ -SKP_int SKP_Silk_SDK_InitDecoder( +SKP_int SKP_Silk_SDK_InitDecoder( void *decState /* I/O: State */ ); @@ -142,7 +142,7 @@ void SKP_Silk_SDK_get_TOC( /**************************/ /* Get the version number */ /**************************/ -/* Return a pointer to string specifying the version */ +/* Return a pointer to string specifying the version */ const char *SKP_Silk_SDK_get_version(); #ifdef __cplusplus diff --git a/libs/silk/interface/SKP_Silk_control.h b/libs/silk/interface/SKP_Silk_control.h index d469991caa..3cbf2dee1c 100644 --- a/libs/silk/interface/SKP_Silk_control.h +++ b/libs/silk/interface/SKP_Silk_control.h @@ -1,27 +1,27 @@ /*********************************************************************** -Copyright (c) 2006-2011, Skype Limited. All rights reserved. -Redistribution and use in source and binary forms, with or without -modification, (subject to the limitations in the disclaimer below) +Copyright (c) 2006-2011, Skype Limited. All rights reserved. +Redistribution and use in source and binary forms, with or without +modification, (subject to the limitations in the disclaimer below) are permitted provided that the following conditions are met: - Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. -- Redistributions in binary form must reproduce the above copyright -notice, this list of conditions and the following disclaimer in the +- Redistributions in binary form must reproduce the above copyright +notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. -- Neither the name of Skype Limited, nor the names of specific -contributors, may be used to endorse or promote products derived from +- Neither the name of Skype Limited, nor the names of specific +contributors, may be used to endorse or promote products derived from this software without specific prior written permission. -NO EXPRESS OR IMPLIED LICENSES TO ANY PARTY'S PATENT RIGHTS ARE GRANTED -BY THIS LICENSE. THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND +NO EXPRESS OR IMPLIED LICENSES TO ANY PARTY'S PATENT RIGHTS ARE GRANTED +BY THIS LICENSE. THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS ''AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, -BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND -FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE -COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND +FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT -NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF -USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON -ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF +USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON +ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ***********************************************************************/ @@ -49,11 +49,11 @@ typedef struct { SKP_int packetSize; /* I: Bitrate during active speech in bits/second; internally limited */ - SKP_int32 bitRate; + SKP_int32 bitRate; /* I: Uplink packet loss in percent (0-100) */ SKP_int packetLossPercentage; - + /* I: Complexity mode; 0 is lowest; 1 is medium and 2 is highest complexity */ SKP_int complexity; diff --git a/libs/silk/interface/SKP_Silk_errors.h b/libs/silk/interface/SKP_Silk_errors.h index a7f62e453e..e6943146b6 100644 --- a/libs/silk/interface/SKP_Silk_errors.h +++ b/libs/silk/interface/SKP_Silk_errors.h @@ -1,27 +1,27 @@ /*********************************************************************** -Copyright (c) 2006-2011, Skype Limited. All rights reserved. -Redistribution and use in source and binary forms, with or without -modification, (subject to the limitations in the disclaimer below) +Copyright (c) 2006-2011, Skype Limited. All rights reserved. +Redistribution and use in source and binary forms, with or without +modification, (subject to the limitations in the disclaimer below) are permitted provided that the following conditions are met: - Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. -- Redistributions in binary form must reproduce the above copyright -notice, this list of conditions and the following disclaimer in the +- Redistributions in binary form must reproduce the above copyright +notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. -- Neither the name of Skype Limited, nor the names of specific -contributors, may be used to endorse or promote products derived from +- Neither the name of Skype Limited, nor the names of specific +contributors, may be used to endorse or promote products derived from this software without specific prior written permission. -NO EXPRESS OR IMPLIED LICENSES TO ANY PARTY'S PATENT RIGHTS ARE GRANTED -BY THIS LICENSE. THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND +NO EXPRESS OR IMPLIED LICENSES TO ANY PARTY'S PATENT RIGHTS ARE GRANTED +BY THIS LICENSE. THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS ''AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, -BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND -FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE -COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND +FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT -NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF -USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON -ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF +USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON +ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ***********************************************************************/ diff --git a/libs/silk/interface/SKP_Silk_typedef.h b/libs/silk/interface/SKP_Silk_typedef.h index bcc8021acc..b0a8cf6217 100644 --- a/libs/silk/interface/SKP_Silk_typedef.h +++ b/libs/silk/interface/SKP_Silk_typedef.h @@ -1,27 +1,27 @@ /*********************************************************************** -Copyright (c) 2006-2011, Skype Limited. All rights reserved. -Redistribution and use in source and binary forms, with or without -modification, (subject to the limitations in the disclaimer below) +Copyright (c) 2006-2011, Skype Limited. All rights reserved. +Redistribution and use in source and binary forms, with or without +modification, (subject to the limitations in the disclaimer below) are permitted provided that the following conditions are met: - Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. -- Redistributions in binary form must reproduce the above copyright -notice, this list of conditions and the following disclaimer in the +- Redistributions in binary form must reproduce the above copyright +notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. -- Neither the name of Skype Limited, nor the names of specific -contributors, may be used to endorse or promote products derived from +- Neither the name of Skype Limited, nor the names of specific +contributors, may be used to endorse or promote products derived from this software without specific prior written permission. -NO EXPRESS OR IMPLIED LICENSES TO ANY PARTY'S PATENT RIGHTS ARE GRANTED -BY THIS LICENSE. THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND +NO EXPRESS OR IMPLIED LICENSES TO ANY PARTY'S PATENT RIGHTS ARE GRANTED +BY THIS LICENSE. THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS ''AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, -BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND -FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE -COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND +FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT -NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF -USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON -ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF +USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON +ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ***********************************************************************/ @@ -65,10 +65,10 @@ OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. # define SKP_STR_CASEINSENSITIVE_COMPARE(x, y) _stricmp(x, y) #else # define SKP_STR_CASEINSENSITIVE_COMPARE(x, y) strcasecmp(x, y) -#endif +#endif -#define SKP_int64_MAX ((SKP_int64)0x7FFFFFFFFFFFFFFFLL) // 2^63 - 1 -#define SKP_int64_MIN ((SKP_int64)0x8000000000000000LL) // -2^63 +#define SKP_int64_MAX ((SKP_int64)0x7FFFFFFFFFFFFFFFLL) // 2^63 - 1 +#define SKP_int64_MIN ((SKP_int64)0x8000000000000000LL) // -2^63 #define SKP_int32_MAX 0x7FFFFFFF // 2^31 - 1 = 2147483647 #define SKP_int32_MIN ((SKP_int32)0x80000000) // -2^31 = -2147483648 #define SKP_int16_MAX 0x7FFF // 2^15 - 1 = 32767 diff --git a/libs/silk/readme.txt b/libs/silk/readme.txt index 5ebf155f62..66a445c199 100644 --- a/libs/silk/readme.txt +++ b/libs/silk/readme.txt @@ -17,14 +17,14 @@ point SILK SDK library. The following is included in this package: o Comparison tool o Microsoft Visual Studio solution and project files o Makefile for GNU C-compiler (GCC) - + II. Files and Folders o doc/ - contains more information about the SILK SDK o interface/ - contains API header files o src/ - contains all SILK SDK library source files o test/ - contains source files for testing the SILK SDK - o test_vectors/ - contains test vectors + o test_vectors/ - contains test vectors o Makefile - Makefile for compiling with GCC o readme.txt - this file o Silk_SDK.sln - Visual Studio solution for all SILK SDK code @@ -32,9 +32,9 @@ II. Files and Folders III. How to use the Makefile 1. How to clean and compile the SILK SDK library: - + make clean lib - + 2. How to compile an encoder executable: make encoder @@ -55,12 +55,12 @@ III. How to use the Makefile Make clean all ADDED_DEFINES+=_SYSTEM_IS_BIG_ENDIAN To be able to use the test vectors with big endian CPU's the test programs - need to be compiled in a different way. Note that the 16 bit input and output - from the test programs will have the upper and lower bytes swapped with this setting. + need to be compiled in a different way. Note that the 16 bit input and output + from the test programs will have the upper and lower bytes swapped with this setting. 7. How to use the comparison tool: - See 'How to use the test vectors.txt' in the test_vectors folder. + See 'How to use the test vectors.txt' in the test_vectors folder. IV. History @@ -74,7 +74,7 @@ IV. History Version 1.0.3 - Updated with various bugfixes and improvements Version 1.0.2 - Updated with various bugfixes and improvements Version 1.0.1 - First beta source code release - + V. Compatibility This package has been tested on the following platforms: @@ -83,7 +83,7 @@ V. Compatibility Windows Vista, 32-bit version Mac OSX intel Mac OSX ppc - Ubuntu Linux 9.10, 64-bit version + Ubuntu Linux 9.10, 64-bit version VI. Known Issues diff --git a/libs/silk/src/SKP_Silk_A2NLSF.c b/libs/silk/src/SKP_Silk_A2NLSF.c index b6cba8995e..210e3e1842 100644 --- a/libs/silk/src/SKP_Silk_A2NLSF.c +++ b/libs/silk/src/SKP_Silk_A2NLSF.c @@ -1,27 +1,27 @@ /*********************************************************************** -Copyright (c) 2006-2011, Skype Limited. All rights reserved. -Redistribution and use in source and binary forms, with or without -modification, (subject to the limitations in the disclaimer below) +Copyright (c) 2006-2011, Skype Limited. All rights reserved. +Redistribution and use in source and binary forms, with or without +modification, (subject to the limitations in the disclaimer below) are permitted provided that the following conditions are met: - Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. -- Redistributions in binary form must reproduce the above copyright -notice, this list of conditions and the following disclaimer in the +- Redistributions in binary form must reproduce the above copyright +notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. -- Neither the name of Skype Limited, nor the names of specific -contributors, may be used to endorse or promote products derived from +- Neither the name of Skype Limited, nor the names of specific +contributors, may be used to endorse or promote products derived from this software without specific prior written permission. -NO EXPRESS OR IMPLIED LICENSES TO ANY PARTY'S PATENT RIGHTS ARE GRANTED -BY THIS LICENSE. THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND +NO EXPRESS OR IMPLIED LICENSES TO ANY PARTY'S PATENT RIGHTS ARE GRANTED +BY THIS LICENSE. THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS ''AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, -BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND -FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE -COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND +FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT -NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF -USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON -ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF +USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON +ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ***********************************************************************/ @@ -49,14 +49,14 @@ SKP_INLINE void SKP_Silk_A2NLSF_trans_poly( ) { SKP_int k, n; - + for( k = 2; k <= dd; k++ ) { for( n = dd; n > k; n-- ) { p[ n - 2 ] -= p[ n ]; } p[ k - 2 ] -= SKP_LSHIFT( p[ k ], 1 ); } -} +} /* Helper function for A2NLSF(..) */ /* Polynomial evaluation */ SKP_INLINE SKP_int32 SKP_Silk_A2NLSF_eval_poly( /* return the polynomial evaluation, in QPoly */ @@ -78,10 +78,10 @@ SKP_INLINE SKP_int32 SKP_Silk_A2NLSF_eval_poly( /* return the polynomial eval SKP_INLINE void SKP_Silk_A2NLSF_init( const SKP_int32 *a_Q16, - SKP_int32 *P, - SKP_int32 *Q, + SKP_int32 *P, + SKP_int32 *Q, const SKP_int dd -) +) { SKP_int k; @@ -105,8 +105,8 @@ SKP_INLINE void SKP_Silk_A2NLSF_init( /* z = 1 is always a root in Q, and */ /* z = -1 is always a root in P */ for( k = dd; k > 0; k-- ) { - P[ k - 1 ] -= P[ k ]; - Q[ k - 1 ] += Q[ k ]; + P[ k - 1 ] -= P[ k ]; + Q[ k - 1 ] += Q[ k ]; } /* Transform polynomials from cos(n*f) to cos(f)^n */ @@ -141,7 +141,7 @@ void SKP_Silk_A2NLSF( /* Find roots, alternating between P and Q */ p = P; /* Pointer to polynomial */ - + xlo = SKP_Silk_LSFCosTab_FIX_Q12[ 0 ]; // Q12 ylo = SKP_Silk_A2NLSF_eval_poly( p, xlo, dd ); @@ -160,13 +160,13 @@ void SKP_Silk_A2NLSF( /* Evaluate polynomial */ #if OVERSAMPLE_COSINE_TABLE xhi = SKP_Silk_LSFCosTab_FIX_Q12[ k >> 1 ] + - ( ( SKP_Silk_LSFCosTab_FIX_Q12[ ( k + 1 ) >> 1 ] - + ( ( SKP_Silk_LSFCosTab_FIX_Q12[ ( k + 1 ) >> 1 ] - SKP_Silk_LSFCosTab_FIX_Q12[ k >> 1 ] ) >> 1 ); /* Q12 */ #else xhi = SKP_Silk_LSFCosTab_FIX_Q12[ k ]; /* Q12 */ #endif yhi = SKP_Silk_A2NLSF_eval_poly( p, xhi, dd ); - + /* Detect zero crossing */ if( ( ylo <= 0 && yhi >= 0 ) || ( ylo >= 0 && yhi <= 0 ) ) { /* Binary division */ @@ -196,7 +196,7 @@ void SKP_Silk_A2NLSF( #endif } } - + /* Interpolate */ if( SKP_abs( ylo ) < 65536 ) { /* Avoid dividing by zero */ @@ -210,9 +210,9 @@ void SKP_Silk_A2NLSF( ffrac += SKP_DIV32( ylo, SKP_RSHIFT( ylo - yhi, 8 - BIN_DIV_STEPS_A2NLSF_FIX ) ); } #if OVERSAMPLE_COSINE_TABLE - NLSF[ root_ix ] = (SKP_int)SKP_min_32( SKP_LSHIFT( (SKP_int32)k, 7 ) + ffrac, SKP_int16_MAX ); + NLSF[ root_ix ] = (SKP_int)SKP_min_32( SKP_LSHIFT( (SKP_int32)k, 7 ) + ffrac, SKP_int16_MAX ); #else - NLSF[ root_ix ] = (SKP_int)SKP_min_32( SKP_LSHIFT( (SKP_int32)k, 8 ) + ffrac, SKP_int16_MAX ); + NLSF[ root_ix ] = (SKP_int)SKP_min_32( SKP_LSHIFT( (SKP_int32)k, 8 ) + ffrac, SKP_int16_MAX ); #endif SKP_assert( NLSF[ root_ix ] >= 0 ); @@ -225,11 +225,11 @@ void SKP_Silk_A2NLSF( } /* Alternate pointer to polynomial */ p = PQ[ root_ix & 1 ]; - + /* Evaluate polynomial */ #if OVERSAMPLE_COSINE_TABLE xlo = SKP_Silk_LSFCosTab_FIX_Q12[ ( k - 1 ) >> 1 ] + - ( ( SKP_Silk_LSFCosTab_FIX_Q12[ k >> 1 ] - + ( ( SKP_Silk_LSFCosTab_FIX_Q12[ k >> 1 ] - SKP_Silk_LSFCosTab_FIX_Q12[ ( k - 1 ) >> 1 ] ) >> 1 ); // Q12 #else xlo = SKP_Silk_LSFCosTab_FIX_Q12[ k - 1 ]; // Q12 @@ -240,7 +240,7 @@ void SKP_Silk_A2NLSF( k++; xlo = xhi; ylo = yhi; - + #if OVERSAMPLE_COSINE_TABLE if( k > 2 * LSF_COS_TAB_SZ_FIX ) { #else diff --git a/libs/silk/src/SKP_Silk_CNG.c b/libs/silk/src/SKP_Silk_CNG.c index 33c774ad88..797e1b3069 100644 --- a/libs/silk/src/SKP_Silk_CNG.c +++ b/libs/silk/src/SKP_Silk_CNG.c @@ -1,27 +1,27 @@ /*********************************************************************** -Copyright (c) 2006-2011, Skype Limited. All rights reserved. -Redistribution and use in source and binary forms, with or without -modification, (subject to the limitations in the disclaimer below) +Copyright (c) 2006-2011, Skype Limited. All rights reserved. +Redistribution and use in source and binary forms, with or without +modification, (subject to the limitations in the disclaimer below) are permitted provided that the following conditions are met: - Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. -- Redistributions in binary form must reproduce the above copyright -notice, this list of conditions and the following disclaimer in the +- Redistributions in binary form must reproduce the above copyright +notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. -- Neither the name of Skype Limited, nor the names of specific -contributors, may be used to endorse or promote products derived from +- Neither the name of Skype Limited, nor the names of specific +contributors, may be used to endorse or promote products derived from this software without specific prior written permission. -NO EXPRESS OR IMPLIED LICENSES TO ANY PARTY'S PATENT RIGHTS ARE GRANTED -BY THIS LICENSE. THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND +NO EXPRESS OR IMPLIED LICENSES TO ANY PARTY'S PATENT RIGHTS ARE GRANTED +BY THIS LICENSE. THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS ''AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, -BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND -FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE -COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND +FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT -NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF -USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON -ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF +USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON +ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ***********************************************************************/ @@ -122,20 +122,20 @@ void SKP_Silk_CNG( if( psDec->lossCnt ) {//|| psDec->vadFlag == NO_VOICE_ACTIVITY ) { /* Generate CNG excitation */ - SKP_Silk_CNG_exc( CNG_sig, psCNG->CNG_exc_buf_Q10, + SKP_Silk_CNG_exc( CNG_sig, psCNG->CNG_exc_buf_Q10, psCNG->CNG_smth_Gain_Q16, length, &psCNG->rand_seed ); /* Convert CNG NLSF to filter representation */ SKP_Silk_NLSF2A_stable( LPC_buf, psCNG->CNG_smth_NLSF_Q15, psDec->LPC_order ); Gain_Q26 = ( SKP_int32 )1 << 26; /* 1.0 */ - + /* Generate CNG signal, by synthesis filtering */ if( psDec->LPC_order == 16 ) { - SKP_Silk_LPC_synthesis_order16( CNG_sig, LPC_buf, + SKP_Silk_LPC_synthesis_order16( CNG_sig, LPC_buf, Gain_Q26, psCNG->CNG_synth_state, CNG_sig, length ); } else { - SKP_Silk_LPC_synthesis_filter( CNG_sig, LPC_buf, + SKP_Silk_LPC_synthesis_filter( CNG_sig, LPC_buf, Gain_Q26, psCNG->CNG_synth_state, CNG_sig, length, psDec->LPC_order ); } /* Mix with signal */ diff --git a/libs/silk/src/SKP_Silk_HP_variable_cutoff_FIX.c b/libs/silk/src/SKP_Silk_HP_variable_cutoff_FIX.c index 22298b3496..30eeec510f 100644 --- a/libs/silk/src/SKP_Silk_HP_variable_cutoff_FIX.c +++ b/libs/silk/src/SKP_Silk_HP_variable_cutoff_FIX.c @@ -1,27 +1,27 @@ /*********************************************************************** -Copyright (c) 2006-2011, Skype Limited. All rights reserved. -Redistribution and use in source and binary forms, with or without -modification, (subject to the limitations in the disclaimer below) +Copyright (c) 2006-2011, Skype Limited. All rights reserved. +Redistribution and use in source and binary forms, with or without +modification, (subject to the limitations in the disclaimer below) are permitted provided that the following conditions are met: - Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. -- Redistributions in binary form must reproduce the above copyright -notice, this list of conditions and the following disclaimer in the +- Redistributions in binary form must reproduce the above copyright +notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. -- Neither the name of Skype Limited, nor the names of specific -contributors, may be used to endorse or promote products derived from +- Neither the name of Skype Limited, nor the names of specific +contributors, may be used to endorse or promote products derived from this software without specific prior written permission. -NO EXPRESS OR IMPLIED LICENSES TO ANY PARTY'S PATENT RIGHTS ARE GRANTED -BY THIS LICENSE. THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND +NO EXPRESS OR IMPLIED LICENSES TO ANY PARTY'S PATENT RIGHTS ARE GRANTED +BY THIS LICENSE. THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS ''AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, -BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND -FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE -COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND +FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT -NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF -USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON -ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF +USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON +ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ***********************************************************************/ @@ -56,7 +56,7 @@ void SKP_Silk_HP_variable_cutoff_FIX( /* adjustment based on quality */ quality_Q15 = psEncCtrl->input_quality_bands_Q15[ 0 ]; - pitch_freq_log_Q7 = SKP_SUB32( pitch_freq_log_Q7, SKP_SMULWB( SKP_SMULWB( SKP_LSHIFT( quality_Q15, 2 ), quality_Q15 ), + pitch_freq_log_Q7 = SKP_SUB32( pitch_freq_log_Q7, SKP_SMULWB( SKP_SMULWB( SKP_LSHIFT( quality_Q15, 2 ), quality_Q15 ), pitch_freq_log_Q7 - SKP_LOG2_VARIABLE_HP_MIN_FREQ_Q7 ) ); pitch_freq_log_Q7 = SKP_ADD32( pitch_freq_log_Q7, SKP_RSHIFT( SKP_FIX_CONST( 0.6, 15 ) - quality_Q15, 9 ) ); @@ -71,18 +71,18 @@ void SKP_Silk_HP_variable_cutoff_FIX( delta_freq_Q7 = SKP_LIMIT_32( delta_freq_Q7, -SKP_FIX_CONST( VARIABLE_HP_MAX_DELTA_FREQ, 7 ), SKP_FIX_CONST( VARIABLE_HP_MAX_DELTA_FREQ, 7 ) ); /* update smoother */ - psEnc->variable_HP_smth1_Q15 = SKP_SMLAWB( psEnc->variable_HP_smth1_Q15, + psEnc->variable_HP_smth1_Q15 = SKP_SMLAWB( psEnc->variable_HP_smth1_Q15, SKP_MUL( SKP_LSHIFT( psEnc->speech_activity_Q8, 1 ), delta_freq_Q7 ), SKP_FIX_CONST( VARIABLE_HP_SMTH_COEF1, 16 ) ); } /* second smoother */ - psEnc->variable_HP_smth2_Q15 = SKP_SMLAWB( psEnc->variable_HP_smth2_Q15, + psEnc->variable_HP_smth2_Q15 = SKP_SMLAWB( psEnc->variable_HP_smth2_Q15, psEnc->variable_HP_smth1_Q15 - psEnc->variable_HP_smth2_Q15, SKP_FIX_CONST( VARIABLE_HP_SMTH_COEF2, 16 ) ); /* convert from log scale to Hertz */ psEncCtrl->pitch_freq_low_Hz = SKP_Silk_log2lin( SKP_RSHIFT( psEnc->variable_HP_smth2_Q15, 8 ) ); /* limit frequency range */ - psEncCtrl->pitch_freq_low_Hz = SKP_LIMIT_32( psEncCtrl->pitch_freq_low_Hz, + psEncCtrl->pitch_freq_low_Hz = SKP_LIMIT_32( psEncCtrl->pitch_freq_low_Hz, SKP_FIX_CONST( VARIABLE_HP_MIN_FREQ, 0 ), SKP_FIX_CONST( VARIABLE_HP_MAX_FREQ, 0 ) ); /********************************/ @@ -105,7 +105,7 @@ void SKP_Silk_HP_variable_cutoff_FIX( B_Q28[ 0 ] = r_Q28; B_Q28[ 1 ] = SKP_LSHIFT( -r_Q28, 1 ); B_Q28[ 2 ] = r_Q28; - + // -r * ( 2 - Fc * Fc ); r_Q22 = SKP_RSHIFT( r_Q28, 6 ); A_Q28[ 0 ] = SKP_SMULWW( r_Q22, SKP_SMULWW( Fc_Q19, Fc_Q19 ) - SKP_FIX_CONST( 2.0, 22 ) ); diff --git a/libs/silk/src/SKP_Silk_Inlines.h b/libs/silk/src/SKP_Silk_Inlines.h index 2f4700fab7..a2ad452ef8 100644 --- a/libs/silk/src/SKP_Silk_Inlines.h +++ b/libs/silk/src/SKP_Silk_Inlines.h @@ -1,27 +1,27 @@ /*********************************************************************** -Copyright (c) 2006-2011, Skype Limited. All rights reserved. -Redistribution and use in source and binary forms, with or without -modification, (subject to the limitations in the disclaimer below) +Copyright (c) 2006-2011, Skype Limited. All rights reserved. +Redistribution and use in source and binary forms, with or without +modification, (subject to the limitations in the disclaimer below) are permitted provided that the following conditions are met: - Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. -- Redistributions in binary form must reproduce the above copyright -notice, this list of conditions and the following disclaimer in the +- Redistributions in binary form must reproduce the above copyright +notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. -- Neither the name of Skype Limited, nor the names of specific -contributors, may be used to endorse or promote products derived from +- Neither the name of Skype Limited, nor the names of specific +contributors, may be used to endorse or promote products derived from this software without specific prior written permission. -NO EXPRESS OR IMPLIED LICENSES TO ANY PARTY'S PATENT RIGHTS ARE GRANTED -BY THIS LICENSE. THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND +NO EXPRESS OR IMPLIED LICENSES TO ANY PARTY'S PATENT RIGHTS ARE GRANTED +BY THIS LICENSE. THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS ''AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, -BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND -FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE -COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND +FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT -NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF -USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON -ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF +USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON +ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ***********************************************************************/ @@ -108,7 +108,7 @@ SKP_INLINE SKP_int32 SKP_Silk_norm16(SKP_int16 a) { /* returns the number of left shifts before overflow for a 32 bit number (ITU definition with norm(0)=0) */ SKP_INLINE SKP_int32 SKP_Silk_norm32(SKP_int32 a) { - + /* if ((a == 0) || (a == SKP_int32_MIN)) return(0); */ if ((a << 1) == 0) return(0); diff --git a/libs/silk/src/SKP_Silk_LBRR_reset.c b/libs/silk/src/SKP_Silk_LBRR_reset.c index 380a4543ce..c50477c0fe 100644 --- a/libs/silk/src/SKP_Silk_LBRR_reset.c +++ b/libs/silk/src/SKP_Silk_LBRR_reset.c @@ -1,34 +1,34 @@ /*********************************************************************** -Copyright (c) 2006-2011, Skype Limited. All rights reserved. -Redistribution and use in source and binary forms, with or without -modification, (subject to the limitations in the disclaimer below) +Copyright (c) 2006-2011, Skype Limited. All rights reserved. +Redistribution and use in source and binary forms, with or without +modification, (subject to the limitations in the disclaimer below) are permitted provided that the following conditions are met: - Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. -- Redistributions in binary form must reproduce the above copyright -notice, this list of conditions and the following disclaimer in the +- Redistributions in binary form must reproduce the above copyright +notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. -- Neither the name of Skype Limited, nor the names of specific -contributors, may be used to endorse or promote products derived from +- Neither the name of Skype Limited, nor the names of specific +contributors, may be used to endorse or promote products derived from this software without specific prior written permission. -NO EXPRESS OR IMPLIED LICENSES TO ANY PARTY'S PATENT RIGHTS ARE GRANTED -BY THIS LICENSE. THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND +NO EXPRESS OR IMPLIED LICENSES TO ANY PARTY'S PATENT RIGHTS ARE GRANTED +BY THIS LICENSE. THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS ''AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, -BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND -FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE -COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND +FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT -NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF -USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON -ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF +USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON +ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ***********************************************************************/ #include "SKP_Silk_main.h" /* Resets LBRR buffer, used if packet size changes */ -void SKP_Silk_LBRR_reset( +void SKP_Silk_LBRR_reset( SKP_Silk_encoder_state *psEncC /* I/O state */ ) { diff --git a/libs/silk/src/SKP_Silk_LPC_inv_pred_gain.c b/libs/silk/src/SKP_Silk_LPC_inv_pred_gain.c index 4a4f3f0317..8858f9a139 100644 --- a/libs/silk/src/SKP_Silk_LPC_inv_pred_gain.c +++ b/libs/silk/src/SKP_Silk_LPC_inv_pred_gain.c @@ -1,27 +1,27 @@ /*********************************************************************** -Copyright (c) 2006-2011, Skype Limited. All rights reserved. -Redistribution and use in source and binary forms, with or without -modification, (subject to the limitations in the disclaimer below) +Copyright (c) 2006-2011, Skype Limited. All rights reserved. +Redistribution and use in source and binary forms, with or without +modification, (subject to the limitations in the disclaimer below) are permitted provided that the following conditions are met: - Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. -- Redistributions in binary form must reproduce the above copyright -notice, this list of conditions and the following disclaimer in the +- Redistributions in binary form must reproduce the above copyright +notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. -- Neither the name of Skype Limited, nor the names of specific -contributors, may be used to endorse or promote products derived from +- Neither the name of Skype Limited, nor the names of specific +contributors, may be used to endorse or promote products derived from this software without specific prior written permission. -NO EXPRESS OR IMPLIED LICENSES TO ANY PARTY'S PATENT RIGHTS ARE GRANTED -BY THIS LICENSE. THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND +NO EXPRESS OR IMPLIED LICENSES TO ANY PARTY'S PATENT RIGHTS ARE GRANTED +BY THIS LICENSE. THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS ''AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, -BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND -FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE -COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND +FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT -NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF -USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON -ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF +USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON +ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ***********************************************************************/ @@ -42,7 +42,7 @@ OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. /* test if LPC coefficients are stable (all poles within unit circle) */ static SKP_int LPC_inverse_pred_gain_QA( /* O: Returns 1 if unstable, otherwise 0 */ SKP_int32 *invGain_Q30, /* O: Inverse prediction gain, Q30 energy domain */ - SKP_int32 A_QA[ 2 ][ SKP_Silk_MAX_ORDER_LPC ], + SKP_int32 A_QA[ 2 ][ SKP_Silk_MAX_ORDER_LPC ], /* I: Prediction coefficients */ const SKP_int order /* I: Prediction order */ ) @@ -62,7 +62,7 @@ static SKP_int LPC_inverse_pred_gain_QA( /* O: Returns 1 if unstable, o /* Set RC equal to negated AR coef */ rc_Q31 = -SKP_LSHIFT( Anew_QA[ k ], 31 - QA ); - + /* rc_mult1_Q30 range: [ 1 : 2^30-1 ] */ rc_mult1_Q30 = ( SKP_int32_MAX >> 1 ) - SKP_SMMUL( rc_Q31, rc_Q31 ); SKP_assert( rc_mult1_Q30 > ( 1 << 15 ) ); /* reduce A_LIMIT if fails */ @@ -80,7 +80,7 @@ static SKP_int LPC_inverse_pred_gain_QA( /* O: Returns 1 if unstable, o /* Swap pointers */ Aold_QA = Anew_QA; Anew_QA = A_QA[ k & 1 ]; - + /* Update AR coefficient */ headrm = SKP_Silk_CLZ32( rc_mult2_Q16 ) - 1; rc_mult2_Q16 = SKP_LSHIFT( rc_mult2_Q16, headrm ); /* Q: 16 + headrm */ @@ -150,4 +150,3 @@ SKP_int SKP_Silk_LPC_inverse_pred_gain_Q24( /* O: Returns 1 if unstable, oth return LPC_inverse_pred_gain_QA( invGain_Q30, Atmp_QA, order ); } - diff --git a/libs/silk/src/SKP_Silk_LPC_synthesis_filter.c b/libs/silk/src/SKP_Silk_LPC_synthesis_filter.c index 5559bf5441..59d7d53fe9 100644 --- a/libs/silk/src/SKP_Silk_LPC_synthesis_filter.c +++ b/libs/silk/src/SKP_Silk_LPC_synthesis_filter.c @@ -1,27 +1,27 @@ /*********************************************************************** -Copyright (c) 2006-2011, Skype Limited. All rights reserved. -Redistribution and use in source and binary forms, with or without -modification, (subject to the limitations in the disclaimer below) +Copyright (c) 2006-2011, Skype Limited. All rights reserved. +Redistribution and use in source and binary forms, with or without +modification, (subject to the limitations in the disclaimer below) are permitted provided that the following conditions are met: - Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. -- Redistributions in binary form must reproduce the above copyright -notice, this list of conditions and the following disclaimer in the +- Redistributions in binary form must reproduce the above copyright +notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. -- Neither the name of Skype Limited, nor the names of specific -contributors, may be used to endorse or promote products derived from +- Neither the name of Skype Limited, nor the names of specific +contributors, may be used to endorse or promote products derived from this software without specific prior written permission. -NO EXPRESS OR IMPLIED LICENSES TO ANY PARTY'S PATENT RIGHTS ARE GRANTED -BY THIS LICENSE. THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND +NO EXPRESS OR IMPLIED LICENSES TO ANY PARTY'S PATENT RIGHTS ARE GRANTED +BY THIS LICENSE. THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS ''AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, -BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND -FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE -COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND +FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT -NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF -USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON -ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF +USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON +ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ***********************************************************************/ diff --git a/libs/silk/src/SKP_Silk_LPC_synthesis_order16.c b/libs/silk/src/SKP_Silk_LPC_synthesis_order16.c index 3dafaadafa..c2ff3a7e47 100644 --- a/libs/silk/src/SKP_Silk_LPC_synthesis_order16.c +++ b/libs/silk/src/SKP_Silk_LPC_synthesis_order16.c @@ -1,27 +1,27 @@ /*********************************************************************** -Copyright (c) 2006-2011, Skype Limited. All rights reserved. -Redistribution and use in source and binary forms, with or without -modification, (subject to the limitations in the disclaimer below) +Copyright (c) 2006-2011, Skype Limited. All rights reserved. +Redistribution and use in source and binary forms, with or without +modification, (subject to the limitations in the disclaimer below) are permitted provided that the following conditions are met: - Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. -- Redistributions in binary form must reproduce the above copyright -notice, this list of conditions and the following disclaimer in the +- Redistributions in binary form must reproduce the above copyright +notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. -- Neither the name of Skype Limited, nor the names of specific -contributors, may be used to endorse or promote products derived from +- Neither the name of Skype Limited, nor the names of specific +contributors, may be used to endorse or promote products derived from this software without specific prior written permission. -NO EXPRESS OR IMPLIED LICENSES TO ANY PARTY'S PATENT RIGHTS ARE GRANTED -BY THIS LICENSE. THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND +NO EXPRESS OR IMPLIED LICENSES TO ANY PARTY'S PATENT RIGHTS ARE GRANTED +BY THIS LICENSE. THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS ''AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, -BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND -FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE -COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND +FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT -NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF -USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON -ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF +USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON +ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ***********************************************************************/ @@ -118,5 +118,3 @@ void SKP_Silk_LPC_synthesis_order16(const SKP_int16 *in, /* I: excita S[ 15 ] = SKP_LSHIFT_SAT32( out32_Q10, 4 ); } } - - diff --git a/libs/silk/src/SKP_Silk_LP_variable_cutoff.c b/libs/silk/src/SKP_Silk_LP_variable_cutoff.c index a05388dcc1..d29ce2a3a0 100644 --- a/libs/silk/src/SKP_Silk_LP_variable_cutoff.c +++ b/libs/silk/src/SKP_Silk_LP_variable_cutoff.c @@ -1,33 +1,33 @@ /*********************************************************************** -Copyright (c) 2006-2011, Skype Limited. All rights reserved. -Redistribution and use in source and binary forms, with or without -modification, (subject to the limitations in the disclaimer below) +Copyright (c) 2006-2011, Skype Limited. All rights reserved. +Redistribution and use in source and binary forms, with or without +modification, (subject to the limitations in the disclaimer below) are permitted provided that the following conditions are met: - Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. -- Redistributions in binary form must reproduce the above copyright -notice, this list of conditions and the following disclaimer in the +- Redistributions in binary form must reproduce the above copyright +notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. -- Neither the name of Skype Limited, nor the names of specific -contributors, may be used to endorse or promote products derived from +- Neither the name of Skype Limited, nor the names of specific +contributors, may be used to endorse or promote products derived from this software without specific prior written permission. -NO EXPRESS OR IMPLIED LICENSES TO ANY PARTY'S PATENT RIGHTS ARE GRANTED -BY THIS LICENSE. THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND +NO EXPRESS OR IMPLIED LICENSES TO ANY PARTY'S PATENT RIGHTS ARE GRANTED +BY THIS LICENSE. THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS ''AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, -BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND -FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE -COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND +FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT -NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF -USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON -ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF +USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON +ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ***********************************************************************/ -/* +/* - Elliptic/Cauer filters designed with 0.1 dB passband ripple, + Elliptic/Cauer filters designed with 0.1 dB passband ripple, 80 dB minimum stopband attenuation, and [0.95 : 0.15 : 0.35] normalized cut off frequencies. @@ -37,8 +37,8 @@ OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. #if SWITCH_TRANSITION_FILTERING /* Helper function, that interpolates the filter taps */ -SKP_INLINE void SKP_Silk_LP_interpolate_filter_taps( - SKP_int32 B_Q28[ TRANSITION_NB ], +SKP_INLINE void SKP_Silk_LP_interpolate_filter_taps( + SKP_int32 B_Q28[ TRANSITION_NB ], SKP_int32 A_Q28[ TRANSITION_NA ], const SKP_int ind, const SKP_int32 fac_Q16 @@ -68,19 +68,19 @@ SKP_INLINE void SKP_Silk_LP_interpolate_filter_taps( /* Piece-wise linear interpolation of B and A */ for( nb = 0; nb < TRANSITION_NB; nb++ ) { - B_Q28[ nb ] = SKP_RSHIFT( + B_Q28[ nb ] = SKP_RSHIFT( SKP_Silk_Transition_LP_B_Q28[ ind ][ nb ] + SKP_Silk_Transition_LP_B_Q28[ ind + 1 ][ nb ], 1 ); } for( na = 0; na < TRANSITION_NA; na++ ) { - A_Q28[ na ] = SKP_RSHIFT( - SKP_Silk_Transition_LP_A_Q28[ ind ][ na ] + - SKP_Silk_Transition_LP_A_Q28[ ind + 1 ][ na ], + A_Q28[ na ] = SKP_RSHIFT( + SKP_Silk_Transition_LP_A_Q28[ ind ][ na ] + + SKP_Silk_Transition_LP_A_Q28[ ind + 1 ][ na ], 1 ); } } else { /* ( ( 1 << 16 ) - fac_Q16 ) is in range of a 16-bit int */ - + SKP_assert( ( ( 1 << 16 ) - fac_Q16 ) == SKP_SAT16( ( ( 1 << 16 ) - fac_Q16) ) ); /* Piece-wise linear interpolation of B and A */ for( nb = 0; nb < TRANSITION_NB; nb++ ) { @@ -123,7 +123,7 @@ void SKP_Silk_LP_variable_cutoff( SKP_int ind = 0; SKP_assert( psLP->transition_frame_no >= 0 ); - SKP_assert( ( ( ( psLP->transition_frame_no <= TRANSITION_FRAMES_DOWN ) && ( psLP->mode == 0 ) ) || + SKP_assert( ( ( ( psLP->transition_frame_no <= TRANSITION_FRAMES_DOWN ) && ( psLP->mode == 0 ) ) || ( ( psLP->transition_frame_no <= TRANSITION_FRAMES_UP ) && ( psLP->mode == 1 ) ) ) ); /* Interpolate filter coefficients if needed */ @@ -173,15 +173,15 @@ void SKP_Silk_LP_variable_cutoff( /* Increment transition frame number for next frame */ psLP->transition_frame_no++; - + } else { SKP_assert( psLP->transition_frame_no == TRANSITION_FRAMES_UP ); /* End of transition phase */ SKP_Silk_LP_interpolate_filter_taps( B_Q28, A_Q28, 0, 0 ); } } - } - + } + if( psLP->transition_frame_no > 0 ) { /* ARMA low-pass filtering */ SKP_assert( TRANSITION_NB == 3 && TRANSITION_NA == 2 ); diff --git a/libs/silk/src/SKP_Silk_LSF_cos_table.c b/libs/silk/src/SKP_Silk_LSF_cos_table.c index 01398e26c3..6f7140ec1b 100644 --- a/libs/silk/src/SKP_Silk_LSF_cos_table.c +++ b/libs/silk/src/SKP_Silk_LSF_cos_table.c @@ -1,27 +1,27 @@ /*********************************************************************** -Copyright (c) 2006-2011, Skype Limited. All rights reserved. -Redistribution and use in source and binary forms, with or without -modification, (subject to the limitations in the disclaimer below) +Copyright (c) 2006-2011, Skype Limited. All rights reserved. +Redistribution and use in source and binary forms, with or without +modification, (subject to the limitations in the disclaimer below) are permitted provided that the following conditions are met: - Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. -- Redistributions in binary form must reproduce the above copyright -notice, this list of conditions and the following disclaimer in the +- Redistributions in binary form must reproduce the above copyright +notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. -- Neither the name of Skype Limited, nor the names of specific -contributors, may be used to endorse or promote products derived from +- Neither the name of Skype Limited, nor the names of specific +contributors, may be used to endorse or promote products derived from this software without specific prior written permission. -NO EXPRESS OR IMPLIED LICENSES TO ANY PARTY'S PATENT RIGHTS ARE GRANTED -BY THIS LICENSE. THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND +NO EXPRESS OR IMPLIED LICENSES TO ANY PARTY'S PATENT RIGHTS ARE GRANTED +BY THIS LICENSE. THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS ''AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, -BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND -FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE -COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND +FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT -NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF -USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON -ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF +USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON +ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ***********************************************************************/ @@ -29,37 +29,37 @@ OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. // Q12 values (even) const SKP_int SKP_Silk_LSFCosTab_FIX_Q12[LSF_COS_TAB_SZ_FIX + 1] = { - 8192, 8190, 8182, 8170, - 8152, 8130, 8104, 8072, - 8034, 7994, 7946, 7896, - 7840, 7778, 7714, 7644, - 7568, 7490, 7406, 7318, - 7226, 7128, 7026, 6922, - 6812, 6698, 6580, 6458, - 6332, 6204, 6070, 5934, - 5792, 5648, 5502, 5352, - 5198, 5040, 4880, 4718, - 4552, 4382, 4212, 4038, - 3862, 3684, 3502, 3320, - 3136, 2948, 2760, 2570, - 2378, 2186, 1990, 1794, - 1598, 1400, 1202, 1002, - 802, 602, 402, 202, - 0, -202, -402, -602, - -802, -1002, -1202, -1400, - -1598, -1794, -1990, -2186, - -2378, -2570, -2760, -2948, - -3136, -3320, -3502, -3684, - -3862, -4038, -4212, -4382, - -4552, -4718, -4880, -5040, - -5198, -5352, -5502, -5648, - -5792, -5934, -6070, -6204, - -6332, -6458, -6580, -6698, - -6812, -6922, -7026, -7128, - -7226, -7318, -7406, -7490, - -7568, -7644, -7714, -7778, - -7840, -7896, -7946, -7994, - -8034, -8072, -8104, -8130, - -8152, -8170, -8182, -8190, + 8192, 8190, 8182, 8170, + 8152, 8130, 8104, 8072, + 8034, 7994, 7946, 7896, + 7840, 7778, 7714, 7644, + 7568, 7490, 7406, 7318, + 7226, 7128, 7026, 6922, + 6812, 6698, 6580, 6458, + 6332, 6204, 6070, 5934, + 5792, 5648, 5502, 5352, + 5198, 5040, 4880, 4718, + 4552, 4382, 4212, 4038, + 3862, 3684, 3502, 3320, + 3136, 2948, 2760, 2570, + 2378, 2186, 1990, 1794, + 1598, 1400, 1202, 1002, + 802, 602, 402, 202, + 0, -202, -402, -602, + -802, -1002, -1202, -1400, + -1598, -1794, -1990, -2186, + -2378, -2570, -2760, -2948, + -3136, -3320, -3502, -3684, + -3862, -4038, -4212, -4382, + -4552, -4718, -4880, -5040, + -5198, -5352, -5502, -5648, + -5792, -5934, -6070, -6204, + -6332, -6458, -6580, -6698, + -6812, -6922, -7026, -7128, + -7226, -7318, -7406, -7490, + -7568, -7644, -7714, -7778, + -7840, -7896, -7946, -7994, + -8034, -8072, -8104, -8130, + -8152, -8170, -8182, -8190, -8192 }; diff --git a/libs/silk/src/SKP_Silk_LTP_analysis_filter_FIX.c b/libs/silk/src/SKP_Silk_LTP_analysis_filter_FIX.c index 9717d6b46e..b7d211430d 100644 --- a/libs/silk/src/SKP_Silk_LTP_analysis_filter_FIX.c +++ b/libs/silk/src/SKP_Silk_LTP_analysis_filter_FIX.c @@ -1,27 +1,27 @@ /*********************************************************************** -Copyright (c) 2006-2011, Skype Limited. All rights reserved. -Redistribution and use in source and binary forms, with or without -modification, (subject to the limitations in the disclaimer below) +Copyright (c) 2006-2011, Skype Limited. All rights reserved. +Redistribution and use in source and binary forms, with or without +modification, (subject to the limitations in the disclaimer below) are permitted provided that the following conditions are met: - Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. -- Redistributions in binary form must reproduce the above copyright -notice, this list of conditions and the following disclaimer in the +- Redistributions in binary form must reproduce the above copyright +notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. -- Neither the name of Skype Limited, nor the names of specific -contributors, may be used to endorse or promote products derived from +- Neither the name of Skype Limited, nor the names of specific +contributors, may be used to endorse or promote products derived from this software without specific prior written permission. -NO EXPRESS OR IMPLIED LICENSES TO ANY PARTY'S PATENT RIGHTS ARE GRANTED -BY THIS LICENSE. THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND +NO EXPRESS OR IMPLIED LICENSES TO ANY PARTY'S PATENT RIGHTS ARE GRANTED +BY THIS LICENSE. THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS ''AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, -BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND -FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE -COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND +FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT -NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF -USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON -ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF +USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON +ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ***********************************************************************/ @@ -55,7 +55,7 @@ void SKP_Silk_LTP_analysis_filter_FIX( /* LTP analysis FIR filter */ for( i = 0; i < subfr_length + pre_length; i++ ) { LTP_res_ptr[ i ] = x_ptr[ i ]; - + /* Long-term prediction */ LTP_est = SKP_SMULBB( x_lag_ptr[ LTP_ORDER / 2 ], Btmp_Q14[ 0 ] ); for( j = 1; j < LTP_ORDER; j++ ) { @@ -73,8 +73,7 @@ void SKP_Silk_LTP_analysis_filter_FIX( } /* Update pointers */ - LTP_res_ptr += subfr_length + pre_length; + LTP_res_ptr += subfr_length + pre_length; x_ptr += subfr_length; } } - diff --git a/libs/silk/src/SKP_Silk_LTP_scale_ctrl_FIX.c b/libs/silk/src/SKP_Silk_LTP_scale_ctrl_FIX.c index a17d0ae41d..dced005a33 100644 --- a/libs/silk/src/SKP_Silk_LTP_scale_ctrl_FIX.c +++ b/libs/silk/src/SKP_Silk_LTP_scale_ctrl_FIX.c @@ -1,27 +1,27 @@ /*********************************************************************** -Copyright (c) 2006-2011, Skype Limited. All rights reserved. -Redistribution and use in source and binary forms, with or without -modification, (subject to the limitations in the disclaimer below) +Copyright (c) 2006-2011, Skype Limited. All rights reserved. +Redistribution and use in source and binary forms, with or without +modification, (subject to the limitations in the disclaimer below) are permitted provided that the following conditions are met: - Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. -- Redistributions in binary form must reproduce the above copyright -notice, this list of conditions and the following disclaimer in the +- Redistributions in binary form must reproduce the above copyright +notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. -- Neither the name of Skype Limited, nor the names of specific -contributors, may be used to endorse or promote products derived from +- Neither the name of Skype Limited, nor the names of specific +contributors, may be used to endorse or promote products derived from this software without specific prior written permission. -NO EXPRESS OR IMPLIED LICENSES TO ANY PARTY'S PATENT RIGHTS ARE GRANTED -BY THIS LICENSE. THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND +NO EXPRESS OR IMPLIED LICENSES TO ANY PARTY'S PATENT RIGHTS ARE GRANTED +BY THIS LICENSE. THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS ''AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, -BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND -FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE -COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND +FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT -NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF -USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON -ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF +USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON +ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ***********************************************************************/ @@ -30,7 +30,7 @@ OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. #define NB_THRESHOLDS 11 /* Table containing trained thresholds for LTP scaling */ -static const SKP_int16 LTPScaleThresholds_Q15[ NB_THRESHOLDS ] = +static const SKP_int16 LTPScaleThresholds_Q15[ NB_THRESHOLDS ] = { 31129, 26214, 16384, 13107, 9830, 6554, 4915, 3276, 2621, 2458, 0 @@ -45,15 +45,15 @@ void SKP_Silk_LTP_scale_ctrl_FIX( SKP_int g_out_Q5, g_limit_Q15, thrld1_Q15, thrld2_Q15; /* 1st order high-pass filter */ - psEnc->HPLTPredCodGain_Q7 = SKP_max_int( psEncCtrl->LTPredCodGain_Q7 - psEnc->prevLTPredCodGain_Q7, 0 ) + psEnc->HPLTPredCodGain_Q7 = SKP_max_int( psEncCtrl->LTPredCodGain_Q7 - psEnc->prevLTPredCodGain_Q7, 0 ) + SKP_RSHIFT_ROUND( psEnc->HPLTPredCodGain_Q7, 1 ); - + psEnc->prevLTPredCodGain_Q7 = psEncCtrl->LTPredCodGain_Q7; /* combine input and filtered input */ g_out_Q5 = SKP_RSHIFT_ROUND( SKP_RSHIFT( psEncCtrl->LTPredCodGain_Q7, 1 ) + SKP_RSHIFT( psEnc->HPLTPredCodGain_Q7, 1 ), 3 ); g_limit_Q15 = SKP_Silk_sigm_Q15( g_out_Q5 - ( 3 << 5 ) ); - + /* Default is minimum scaling */ psEncCtrl->sCmn.LTP_scaleIndex = 0; @@ -62,13 +62,13 @@ void SKP_Silk_LTP_scale_ctrl_FIX( /* Only scale if first frame in packet 0% */ if( psEnc->sCmn.nFramesInPayloadBuf == 0 ) { - + frames_per_packet = SKP_DIV32_16( psEnc->sCmn.PacketSize_ms, FRAME_LENGTH_MS ); round_loss += frames_per_packet - 1; thrld1_Q15 = LTPScaleThresholds_Q15[ SKP_min_int( round_loss, NB_THRESHOLDS - 1 ) ]; thrld2_Q15 = LTPScaleThresholds_Q15[ SKP_min_int( round_loss + 1, NB_THRESHOLDS - 1 ) ]; - + if( g_limit_Q15 > thrld1_Q15 ) { /* Maximum scaling */ psEncCtrl->sCmn.LTP_scaleIndex = 2; diff --git a/libs/silk/src/SKP_Silk_MA.c b/libs/silk/src/SKP_Silk_MA.c index 9f3c74e25b..aea88d4605 100644 --- a/libs/silk/src/SKP_Silk_MA.c +++ b/libs/silk/src/SKP_Silk_MA.c @@ -1,27 +1,27 @@ /*********************************************************************** -Copyright (c) 2006-2011, Skype Limited. All rights reserved. -Redistribution and use in source and binary forms, with or without -modification, (subject to the limitations in the disclaimer below) +Copyright (c) 2006-2011, Skype Limited. All rights reserved. +Redistribution and use in source and binary forms, with or without +modification, (subject to the limitations in the disclaimer below) are permitted provided that the following conditions are met: - Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. -- Redistributions in binary form must reproduce the above copyright -notice, this list of conditions and the following disclaimer in the +- Redistributions in binary form must reproduce the above copyright +notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. -- Neither the name of Skype Limited, nor the names of specific -contributors, may be used to endorse or promote products derived from +- Neither the name of Skype Limited, nor the names of specific +contributors, may be used to endorse or promote products derived from this software without specific prior written permission. -NO EXPRESS OR IMPLIED LICENSES TO ANY PARTY'S PATENT RIGHTS ARE GRANTED -BY THIS LICENSE. THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND +NO EXPRESS OR IMPLIED LICENSES TO ANY PARTY'S PATENT RIGHTS ARE GRANTED +BY THIS LICENSE. THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS ''AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, -BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND -FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE -COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND +FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT -NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF -USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON -ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF +USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON +ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ***********************************************************************/ @@ -52,7 +52,7 @@ void SKP_Silk_MA_Prediction( in16 = in[ k ]; out32 = SKP_LSHIFT( in16, 12 ) - S[ 0 ]; out32 = SKP_RSHIFT_ROUND( out32, 12 ); - + for( d = 0; d < order - 1; d++ ) { S[ d ] = SKP_SMLABB_ovflw( S[ d + 1 ], in16, B[ d ] ); } diff --git a/libs/silk/src/SKP_Silk_NLSF2A.c b/libs/silk/src/SKP_Silk_NLSF2A.c index dca157dff9..cf305c8542 100644 --- a/libs/silk/src/SKP_Silk_NLSF2A.c +++ b/libs/silk/src/SKP_Silk_NLSF2A.c @@ -1,27 +1,27 @@ /*********************************************************************** -Copyright (c) 2006-2011, Skype Limited. All rights reserved. -Redistribution and use in source and binary forms, with or without -modification, (subject to the limitations in the disclaimer below) +Copyright (c) 2006-2011, Skype Limited. All rights reserved. +Redistribution and use in source and binary forms, with or without +modification, (subject to the limitations in the disclaimer below) are permitted provided that the following conditions are met: - Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. -- Redistributions in binary form must reproduce the above copyright -notice, this list of conditions and the following disclaimer in the +- Redistributions in binary form must reproduce the above copyright +notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. -- Neither the name of Skype Limited, nor the names of specific -contributors, may be used to endorse or promote products derived from +- Neither the name of Skype Limited, nor the names of specific +contributors, may be used to endorse or promote products derived from this software without specific prior written permission. -NO EXPRESS OR IMPLIED LICENSES TO ANY PARTY'S PATENT RIGHTS ARE GRANTED -BY THIS LICENSE. THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND +NO EXPRESS OR IMPLIED LICENSES TO ANY PARTY'S PATENT RIGHTS ARE GRANTED +BY THIS LICENSE. THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS ''AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, -BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND -FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE -COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND +FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT -NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF -USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON -ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF +USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON +ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ***********************************************************************/ @@ -70,7 +70,7 @@ void SKP_Silk_NLSF2A( SKP_int32 f_frac; SKP_int32 cos_val, delta; SKP_int32 a_int32[SKP_Silk_MAX_ORDER_LPC]; - SKP_int32 maxabs, absval, idx=0, sc_Q16; + SKP_int32 maxabs, absval, idx=0, sc_Q16; SKP_assert(LSF_COS_TAB_SZ_FIX == 128); @@ -80,10 +80,10 @@ void SKP_Silk_NLSF2A( SKP_assert(NLSF[k] <= 32767 ); /* f_int on a scale 0-127 (rounded down) */ - f_int = SKP_RSHIFT( NLSF[k], 15 - 7 ); - + f_int = SKP_RSHIFT( NLSF[k], 15 - 7 ); + /* f_frac, range: 0..255 */ - f_frac = NLSF[k] - SKP_LSHIFT( f_int, 15 - 7 ); + f_frac = NLSF[k] - SKP_LSHIFT( f_int, 15 - 7 ); SKP_assert(f_int >= 0); SKP_assert(f_int < LSF_COS_TAB_SZ_FIX ); @@ -95,7 +95,7 @@ void SKP_Silk_NLSF2A( /* Linear interpolation */ cos_LSF_Q20[k] = SKP_LSHIFT( cos_val, 8 ) + SKP_MUL( delta, f_frac ); /* Q20 */ } - + dd = SKP_RSHIFT( d, 1 ); /* generate even and odd polynomials using convolution */ @@ -122,25 +122,25 @@ void SKP_Silk_NLSF2A( if( absval > maxabs ) { maxabs = absval; idx = k; - } + } } - - if( maxabs > SKP_int16_MAX ) { + + if( maxabs > SKP_int16_MAX ) { /* Reduce magnitude of prediction coefficients */ - maxabs = SKP_min( maxabs, 98369 ); // ( SKP_int32_MAX / ( 65470 >> 2 ) ) + SKP_int16_MAX = 98369 - sc_Q16 = 65470 - SKP_DIV32( SKP_MUL( 65470 >> 2, maxabs - SKP_int16_MAX ), + maxabs = SKP_min( maxabs, 98369 ); // ( SKP_int32_MAX / ( 65470 >> 2 ) ) + SKP_int16_MAX = 98369 + sc_Q16 = 65470 - SKP_DIV32( SKP_MUL( 65470 >> 2, maxabs - SKP_int16_MAX ), SKP_RSHIFT32( SKP_MUL( maxabs, idx + 1), 2 ) ); SKP_Silk_bwexpander_32( a_int32, d, sc_Q16 ); } else { break; } - } + } /* Reached the last iteration */ if( i == 10 ) { SKP_assert(0); for( k = 0; k < d; k++ ) { - a_int32[k] = SKP_SAT16( a_int32[k] ); + a_int32[k] = SKP_SAT16( a_int32[k] ); } } diff --git a/libs/silk/src/SKP_Silk_NLSF2A_stable.c b/libs/silk/src/SKP_Silk_NLSF2A_stable.c index b295891b54..9a66d02711 100644 --- a/libs/silk/src/SKP_Silk_NLSF2A_stable.c +++ b/libs/silk/src/SKP_Silk_NLSF2A_stable.c @@ -1,27 +1,27 @@ /*********************************************************************** -Copyright (c) 2006-2011, Skype Limited. All rights reserved. -Redistribution and use in source and binary forms, with or without -modification, (subject to the limitations in the disclaimer below) +Copyright (c) 2006-2011, Skype Limited. All rights reserved. +Redistribution and use in source and binary forms, with or without +modification, (subject to the limitations in the disclaimer below) are permitted provided that the following conditions are met: - Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. -- Redistributions in binary form must reproduce the above copyright -notice, this list of conditions and the following disclaimer in the +- Redistributions in binary form must reproduce the above copyright +notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. -- Neither the name of Skype Limited, nor the names of specific -contributors, may be used to endorse or promote products derived from +- Neither the name of Skype Limited, nor the names of specific +contributors, may be used to endorse or promote products derived from this software without specific prior written permission. -NO EXPRESS OR IMPLIED LICENSES TO ANY PARTY'S PATENT RIGHTS ARE GRANTED -BY THIS LICENSE. THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND +NO EXPRESS OR IMPLIED LICENSES TO ANY PARTY'S PATENT RIGHTS ARE GRANTED +BY THIS LICENSE. THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS ''AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, -BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND -FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE -COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND +FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT -NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF -USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON -ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF +USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON +ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ***********************************************************************/ @@ -29,7 +29,7 @@ OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. /* Convert NLSF parameters to stable AR prediction filter coefficients */ void SKP_Silk_NLSF2A_stable( - SKP_int16 pAR_Q12[ MAX_LPC_ORDER ], /* O Stabilized AR coefs [LPC_order] */ + SKP_int16 pAR_Q12[ MAX_LPC_ORDER ], /* O Stabilized AR coefs [LPC_order] */ const SKP_int pNLSF[ MAX_LPC_ORDER ], /* I NLSF vector [LPC_order] */ const SKP_int LPC_order /* I LPC/LSF order */ ) diff --git a/libs/silk/src/SKP_Silk_NLSF_MSVQ_decode.c b/libs/silk/src/SKP_Silk_NLSF_MSVQ_decode.c index 6422877b89..9e5ef6d97c 100644 --- a/libs/silk/src/SKP_Silk_NLSF_MSVQ_decode.c +++ b/libs/silk/src/SKP_Silk_NLSF_MSVQ_decode.c @@ -1,27 +1,27 @@ /*********************************************************************** -Copyright (c) 2006-2011, Skype Limited. All rights reserved. -Redistribution and use in source and binary forms, with or without -modification, (subject to the limitations in the disclaimer below) +Copyright (c) 2006-2011, Skype Limited. All rights reserved. +Redistribution and use in source and binary forms, with or without +modification, (subject to the limitations in the disclaimer below) are permitted provided that the following conditions are met: - Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. -- Redistributions in binary form must reproduce the above copyright -notice, this list of conditions and the following disclaimer in the +- Redistributions in binary form must reproduce the above copyright +notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. -- Neither the name of Skype Limited, nor the names of specific -contributors, may be used to endorse or promote products derived from +- Neither the name of Skype Limited, nor the names of specific +contributors, may be used to endorse or promote products derived from this software without specific prior written permission. -NO EXPRESS OR IMPLIED LICENSES TO ANY PARTY'S PATENT RIGHTS ARE GRANTED -BY THIS LICENSE. THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND +NO EXPRESS OR IMPLIED LICENSES TO ANY PARTY'S PATENT RIGHTS ARE GRANTED +BY THIS LICENSE. THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS ''AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, -BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND -FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE -COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND +FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT -NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF -USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON -ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF +USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON +ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ***********************************************************************/ @@ -33,7 +33,7 @@ void SKP_Silk_NLSF_MSVQ_decode( const SKP_Silk_NLSF_CB_struct *psNLSF_CB, /* I Pointer to NLSF codebook struct */ const SKP_int *NLSFIndices, /* I Pointer to NLSF indices [nStages x 1] */ const SKP_int LPC_order /* I LPC order used */ -) +) { const SKP_int16 *pCB_element; SKP_int s; @@ -49,7 +49,7 @@ void SKP_Silk_NLSF_MSVQ_decode( for( i = 0; i < LPC_order; i++ ) { pNLSF_Q15[ i ] = ( SKP_int )pCB_element[ i ]; } - + for( s = 1; s < psNLSF_CB->nStages; s++ ) { /* Check that each index is within valid range */ SKP_assert( 0 <= NLSFIndices[ s ] && NLSFIndices[ s ] < psNLSF_CB->CBStages[ s ].nVectors ); diff --git a/libs/silk/src/SKP_Silk_NLSF_MSVQ_encode_FIX.c b/libs/silk/src/SKP_Silk_NLSF_MSVQ_encode_FIX.c index 41b5b2cdda..1ab7299dc2 100644 --- a/libs/silk/src/SKP_Silk_NLSF_MSVQ_encode_FIX.c +++ b/libs/silk/src/SKP_Silk_NLSF_MSVQ_encode_FIX.c @@ -1,27 +1,27 @@ /*********************************************************************** -Copyright (c) 2006-2011, Skype Limited. All rights reserved. -Redistribution and use in source and binary forms, with or without -modification, (subject to the limitations in the disclaimer below) +Copyright (c) 2006-2011, Skype Limited. All rights reserved. +Redistribution and use in source and binary forms, with or without +modification, (subject to the limitations in the disclaimer below) are permitted provided that the following conditions are met: - Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. -- Redistributions in binary form must reproduce the above copyright -notice, this list of conditions and the following disclaimer in the +- Redistributions in binary form must reproduce the above copyright +notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. -- Neither the name of Skype Limited, nor the names of specific -contributors, may be used to endorse or promote products derived from +- Neither the name of Skype Limited, nor the names of specific +contributors, may be used to endorse or promote products derived from this software without specific prior written permission. -NO EXPRESS OR IMPLIED LICENSES TO ANY PARTY'S PATENT RIGHTS ARE GRANTED -BY THIS LICENSE. THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND +NO EXPRESS OR IMPLIED LICENSES TO ANY PARTY'S PATENT RIGHTS ARE GRANTED +BY THIS LICENSE. THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS ''AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, -BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND -FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE -COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND +FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT -NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF -USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON -ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF +USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON +ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ***********************************************************************/ @@ -89,7 +89,7 @@ void SKP_Silk_NLSF_MSVQ_encode_FIX( /* Clear accumulated rates */ SKP_memset( pRate_Q5, 0, NLSF_MSVQ_Survivors * sizeof( SKP_int32 ) ); - + /* Copy NLSFs into residual signal vector */ for( i = 0; i < LPC_order; i++ ) { pRes_Q15[ i ] = pNLSF_Q15[ i ]; @@ -119,30 +119,30 @@ void SKP_Silk_NLSF_MSVQ_encode_FIX( #endif /* Nearest neighbor clustering for multiple input data vectors */ - SKP_Silk_NLSF_VQ_rate_distortion_FIX( pRateDist_Q18, pCurrentCBStage, pRes_Q15, pW_Q6, + SKP_Silk_NLSF_VQ_rate_distortion_FIX( pRateDist_Q18, pCurrentCBStage, pRes_Q15, pW_Q6, pRate_Q5, NLSF_mu_Q15, prev_survivors, LPC_order ); /* Sort the rate-distortion errors */ - SKP_Silk_insertion_sort_increasing( pRateDist_Q18, pTempIndices, + SKP_Silk_insertion_sort_increasing( pRateDist_Q18, pTempIndices, prev_survivors * pCurrentCBStage->nVectors, cur_survivors ); /* Discard survivors with rate-distortion values too far above the best one */ if( pRateDist_Q18[ 0 ] < SKP_int32_MAX / MAX_NLSF_MSVQ_SURVIVORS ) { - rateDistThreshold_Q18 = SKP_SMLAWB( pRateDist_Q18[ 0 ], + rateDistThreshold_Q18 = SKP_SMLAWB( pRateDist_Q18[ 0 ], SKP_MUL( NLSF_MSVQ_Survivors, pRateDist_Q18[ 0 ] ), SKP_FIX_CONST( NLSF_MSVQ_SURV_MAX_REL_RD, 16 ) ); while( pRateDist_Q18[ cur_survivors - 1 ] > rateDistThreshold_Q18 && cur_survivors > min_survivors ) { cur_survivors--; } } /* Update accumulated codebook contributions for the 'cur_survivors' best codebook indices */ - for( k = 0; k < cur_survivors; k++ ) { + for( k = 0; k < cur_survivors; k++ ) { if( s > 0 ) { /* Find the indices of the input and the codebook vector */ if( pCurrentCBStage->nVectors == 8 ) { input_index = SKP_RSHIFT( pTempIndices[ k ], 3 ); cb_index = pTempIndices[ k ] & 7; } else { - input_index = SKP_DIV32_16( pTempIndices[ k ], pCurrentCBStage->nVectors ); + input_index = SKP_DIV32_16( pTempIndices[ k ], pCurrentCBStage->nVectors ); cb_index = pTempIndices[ k ] - SKP_SMULBB( input_index, pCurrentCBStage->nVectors ); } } else { @@ -194,14 +194,14 @@ void SKP_Silk_NLSF_MSVQ_encode_FIX( /* NLSF fluctuation reduction */ /******************************/ if( deactivate_fluc_red != 1 ) { - + /* Search among all survivors, now taking also weighted fluctuation errors into account */ bestRateDist_Q20 = SKP_int32_MAX; for( s = 0; s < cur_survivors; s++ ) { /* Decode survivor to compare with previous quantized NLSF vector */ SKP_Silk_NLSF_MSVQ_decode( pNLSF_Q15, psNLSF_CB, &pPath_new[ SKP_SMULBB( s, psNLSF_CB->nStages ) ], LPC_order ); - /* Compare decoded NLSF vector with the previously quantized vector */ + /* Compare decoded NLSF vector with the previously quantized vector */ wsse_Q20 = 0; for( i = 0; i < LPC_order; i += 2 ) { /* Compute weighted squared quantization error for index i */ diff --git a/libs/silk/src/SKP_Silk_NLSF_VQ_rate_distortion_FIX.c b/libs/silk/src/SKP_Silk_NLSF_VQ_rate_distortion_FIX.c index c26b2da4e7..46492a08c8 100644 --- a/libs/silk/src/SKP_Silk_NLSF_VQ_rate_distortion_FIX.c +++ b/libs/silk/src/SKP_Silk_NLSF_VQ_rate_distortion_FIX.c @@ -1,27 +1,27 @@ /*********************************************************************** -Copyright (c) 2006-2011, Skype Limited. All rights reserved. -Redistribution and use in source and binary forms, with or without -modification, (subject to the limitations in the disclaimer below) +Copyright (c) 2006-2011, Skype Limited. All rights reserved. +Redistribution and use in source and binary forms, with or without +modification, (subject to the limitations in the disclaimer below) are permitted provided that the following conditions are met: - Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. -- Redistributions in binary form must reproduce the above copyright -notice, this list of conditions and the following disclaimer in the +- Redistributions in binary form must reproduce the above copyright +notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. -- Neither the name of Skype Limited, nor the names of specific -contributors, may be used to endorse or promote products derived from +- Neither the name of Skype Limited, nor the names of specific +contributors, may be used to endorse or promote products derived from this software without specific prior written permission. -NO EXPRESS OR IMPLIED LICENSES TO ANY PARTY'S PATENT RIGHTS ARE GRANTED -BY THIS LICENSE. THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND +NO EXPRESS OR IMPLIED LICENSES TO ANY PARTY'S PATENT RIGHTS ARE GRANTED +BY THIS LICENSE. THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS ''AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, -BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND -FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE -COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND +FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT -NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF -USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON -ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF +USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON +ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ***********************************************************************/ @@ -43,7 +43,7 @@ void SKP_Silk_NLSF_VQ_rate_distortion_FIX( SKP_int32 *pRD_vec_Q20; /* Compute weighted quantization errors for all input vectors over one codebook stage */ - SKP_Silk_NLSF_VQ_sum_error_FIX( pRD_Q20, in_Q15, w_Q6, psNLSF_CBS->CB_NLSF_Q15, + SKP_Silk_NLSF_VQ_sum_error_FIX( pRD_Q20, in_Q15, w_Q6, psNLSF_CBS->CB_NLSF_Q15, N, psNLSF_CBS->nVectors, LPC_order ); /* Loop over input vectors */ diff --git a/libs/silk/src/SKP_Silk_NLSF_VQ_sum_error_FIX.c b/libs/silk/src/SKP_Silk_NLSF_VQ_sum_error_FIX.c index 1aee617fdd..93cb54da35 100644 --- a/libs/silk/src/SKP_Silk_NLSF_VQ_sum_error_FIX.c +++ b/libs/silk/src/SKP_Silk_NLSF_VQ_sum_error_FIX.c @@ -1,27 +1,27 @@ /*********************************************************************** -Copyright (c) 2006-2011, Skype Limited. All rights reserved. -Redistribution and use in source and binary forms, with or without -modification, (subject to the limitations in the disclaimer below) +Copyright (c) 2006-2011, Skype Limited. All rights reserved. +Redistribution and use in source and binary forms, with or without +modification, (subject to the limitations in the disclaimer below) are permitted provided that the following conditions are met: - Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. -- Redistributions in binary form must reproduce the above copyright -notice, this list of conditions and the following disclaimer in the +- Redistributions in binary form must reproduce the above copyright +notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. -- Neither the name of Skype Limited, nor the names of specific -contributors, may be used to endorse or promote products derived from +- Neither the name of Skype Limited, nor the names of specific +contributors, may be used to endorse or promote products derived from this software without specific prior written permission. -NO EXPRESS OR IMPLIED LICENSES TO ANY PARTY'S PATENT RIGHTS ARE GRANTED -BY THIS LICENSE. THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND +NO EXPRESS OR IMPLIED LICENSES TO ANY PARTY'S PATENT RIGHTS ARE GRANTED +BY THIS LICENSE. THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS ''AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, -BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND -FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE -COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND +FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT -NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF -USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON -ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF +USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON +ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ***********************************************************************/ @@ -77,5 +77,3 @@ void SKP_Silk_NLSF_VQ_sum_error_FIX( in_Q15 += LPC_order; } } - - diff --git a/libs/silk/src/SKP_Silk_NLSF_VQ_weights_laroia.c b/libs/silk/src/SKP_Silk_NLSF_VQ_weights_laroia.c index e306d5615a..441a7e68cb 100644 --- a/libs/silk/src/SKP_Silk_NLSF_VQ_weights_laroia.c +++ b/libs/silk/src/SKP_Silk_NLSF_VQ_weights_laroia.c @@ -1,33 +1,33 @@ /*********************************************************************** -Copyright (c) 2006-2011, Skype Limited. All rights reserved. -Redistribution and use in source and binary forms, with or without -modification, (subject to the limitations in the disclaimer below) +Copyright (c) 2006-2011, Skype Limited. All rights reserved. +Redistribution and use in source and binary forms, with or without +modification, (subject to the limitations in the disclaimer below) are permitted provided that the following conditions are met: - Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. -- Redistributions in binary form must reproduce the above copyright -notice, this list of conditions and the following disclaimer in the +- Redistributions in binary form must reproduce the above copyright +notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. -- Neither the name of Skype Limited, nor the names of specific -contributors, may be used to endorse or promote products derived from +- Neither the name of Skype Limited, nor the names of specific +contributors, may be used to endorse or promote products derived from this software without specific prior written permission. -NO EXPRESS OR IMPLIED LICENSES TO ANY PARTY'S PATENT RIGHTS ARE GRANTED -BY THIS LICENSE. THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND +NO EXPRESS OR IMPLIED LICENSES TO ANY PARTY'S PATENT RIGHTS ARE GRANTED +BY THIS LICENSE. THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS ''AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, -BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND -FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE -COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND +FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT -NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF -USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON -ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF +USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON +ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ***********************************************************************/ #include "SKP_Silk_SigProc_FIX.h" -/* +/* R. Laroia, N. Phamdo and N. Farvardin, "Robust and Efficient Quantization of Speech LSP Parameters Using Structured Vector Quantization", Proc. IEEE Int. Conf. Acoust., Speech, Signal Processing, pp. 641-644, 1991. @@ -39,17 +39,17 @@ Signal Processing, pp. 641-644, 1991. /* Laroia low complexity NLSF weights */ void SKP_Silk_NLSF_VQ_weights_laroia( SKP_int *pNLSFW_Q6, /* O: Pointer to input vector weights [D x 1] */ - const SKP_int *pNLSF_Q15, /* I: Pointer to input vector [D x 1] */ + const SKP_int *pNLSF_Q15, /* I: Pointer to input vector [D x 1] */ const SKP_int D /* I: Input vector dimension (even) */ ) { SKP_int k; SKP_int32 tmp1_int, tmp2_int; - + /* Check that we are guaranteed to end up within the required range */ SKP_assert( D > 0 ); SKP_assert( ( D & 1 ) == 0 ); - + /* First value */ tmp1_int = SKP_max_int( pNLSF_Q15[ 0 ], MIN_NDELTA ); tmp1_int = SKP_DIV32_16( 1 << ( 15 + Q_OUT ), tmp1_int ); @@ -57,7 +57,7 @@ void SKP_Silk_NLSF_VQ_weights_laroia( tmp2_int = SKP_DIV32_16( 1 << ( 15 + Q_OUT ), tmp2_int ); pNLSFW_Q6[ 0 ] = (SKP_int)SKP_min_int( tmp1_int + tmp2_int, SKP_int16_MAX ); SKP_assert( pNLSFW_Q6[ 0 ] > 0 ); - + /* Main loop */ for( k = 1; k < D - 1; k += 2 ) { tmp1_int = SKP_max_int( pNLSF_Q15[ k + 1 ] - pNLSF_Q15[ k ], MIN_NDELTA ); @@ -70,7 +70,7 @@ void SKP_Silk_NLSF_VQ_weights_laroia( pNLSFW_Q6[ k + 1 ] = (SKP_int)SKP_min_int( tmp1_int + tmp2_int, SKP_int16_MAX ); SKP_assert( pNLSFW_Q6[ k + 1 ] > 0 ); } - + /* Last value */ tmp1_int = SKP_max_int( ( 1 << 15 ) - pNLSF_Q15[ D - 1 ], MIN_NDELTA ); tmp1_int = SKP_DIV32_16( 1 << ( 15 + Q_OUT ), tmp1_int ); diff --git a/libs/silk/src/SKP_Silk_NLSF_stabilize.c b/libs/silk/src/SKP_Silk_NLSF_stabilize.c index 10dc9c9864..da0ea232da 100644 --- a/libs/silk/src/SKP_Silk_NLSF_stabilize.c +++ b/libs/silk/src/SKP_Silk_NLSF_stabilize.c @@ -1,27 +1,27 @@ /*********************************************************************** -Copyright (c) 2006-2011, Skype Limited. All rights reserved. -Redistribution and use in source and binary forms, with or without -modification, (subject to the limitations in the disclaimer below) +Copyright (c) 2006-2011, Skype Limited. All rights reserved. +Redistribution and use in source and binary forms, with or without +modification, (subject to the limitations in the disclaimer below) are permitted provided that the following conditions are met: - Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. -- Redistributions in binary form must reproduce the above copyright -notice, this list of conditions and the following disclaimer in the +- Redistributions in binary form must reproduce the above copyright +notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. -- Neither the name of Skype Limited, nor the names of specific -contributors, may be used to endorse or promote products derived from +- Neither the name of Skype Limited, nor the names of specific +contributors, may be used to endorse or promote products derived from this software without specific prior written permission. -NO EXPRESS OR IMPLIED LICENSES TO ANY PARTY'S PATENT RIGHTS ARE GRANTED -BY THIS LICENSE. THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND +NO EXPRESS OR IMPLIED LICENSES TO ANY PARTY'S PATENT RIGHTS ARE GRANTED +BY THIS LICENSE. THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS ''AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, -BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND -FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE -COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND +FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT -NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF -USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON -ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF +USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON +ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ***********************************************************************/ @@ -85,13 +85,13 @@ void SKP_Silk_NLSF_stabilize( if( I == 0 ) { /* Move away from lower limit */ NLSF_Q15[0] = NDeltaMin_Q15[0]; - + } else if( I == L) { /* Move away from higher limit */ NLSF_Q15[L-1] = (1<<15) - NDeltaMin_Q15[L]; - + } else { - /* Find the lower extreme for the location of the current center frequency */ + /* Find the lower extreme for the location of the current center frequency */ min_center_Q15 = 0; for( k = 0; k < I; k++ ) { min_center_Q15 += NDeltaMin_Q15[k]; @@ -120,10 +120,10 @@ void SKP_Silk_NLSF_stabilize( /* Best case: O(n) for an already sorted array */ /* Worst case: O(n^2) for an inversely sorted array */ SKP_Silk_insertion_sort_increasing_all_values(&NLSF_Q15[0], L); - + /* First NLSF should be no less than NDeltaMin[0] */ NLSF_Q15[0] = SKP_max_int( NLSF_Q15[0], NDeltaMin_Q15[0] ); - + /* Keep delta_min distance between the NLSFs */ for( i = 1; i < L; i++ ) NLSF_Q15[i] = SKP_max_int( NLSF_Q15[i], NLSF_Q15[i-1] + NDeltaMin_Q15[i] ); @@ -132,8 +132,7 @@ void SKP_Silk_NLSF_stabilize( NLSF_Q15[L-1] = SKP_min_int( NLSF_Q15[L-1], (1<<15) - NDeltaMin_Q15[L] ); /* Keep NDeltaMin distance between the NLSFs */ - for( i = L-2; i >= 0; i-- ) + for( i = L-2; i >= 0; i-- ) NLSF_Q15[i] = SKP_min_int( NLSF_Q15[i], NLSF_Q15[i+1] - NDeltaMin_Q15[i+1] ); } } - diff --git a/libs/silk/src/SKP_Silk_NSQ.c b/libs/silk/src/SKP_Silk_NSQ.c index 316de1a9fd..61b010ba07 100644 --- a/libs/silk/src/SKP_Silk_NSQ.c +++ b/libs/silk/src/SKP_Silk_NSQ.c @@ -1,27 +1,27 @@ /*********************************************************************** -Copyright (c) 2006-2011, Skype Limited. All rights reserved. -Redistribution and use in source and binary forms, with or without -modification, (subject to the limitations in the disclaimer below) +Copyright (c) 2006-2011, Skype Limited. All rights reserved. +Redistribution and use in source and binary forms, with or without +modification, (subject to the limitations in the disclaimer below) are permitted provided that the following conditions are met: - Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. -- Redistributions in binary form must reproduce the above copyright -notice, this list of conditions and the following disclaimer in the +- Redistributions in binary form must reproduce the above copyright +notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. -- Neither the name of Skype Limited, nor the names of specific -contributors, may be used to endorse or promote products derived from +- Neither the name of Skype Limited, nor the names of specific +contributors, may be used to endorse or promote products derived from this software without specific prior written permission. -NO EXPRESS OR IMPLIED LICENSES TO ANY PARTY'S PATENT RIGHTS ARE GRANTED -BY THIS LICENSE. THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND +NO EXPRESS OR IMPLIED LICENSES TO ANY PARTY'S PATENT RIGHTS ARE GRANTED +BY THIS LICENSE. THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS ''AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, -BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND -FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE -COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND +FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT -NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF -USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON -ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF +USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON +ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ***********************************************************************/ @@ -134,19 +134,19 @@ void SKP_Silk_NSQ( SKP_assert( start_idx <= psEncC->frame_length - psEncC->predictLPCOrder ); SKP_memset( FiltState, 0, psEncC->predictLPCOrder * sizeof( SKP_int32 ) ); - SKP_Silk_MA_Prediction( &NSQ->xq[ start_idx + k * ( psEncC->frame_length >> 2 ) ], + SKP_Silk_MA_Prediction( &NSQ->xq[ start_idx + k * ( psEncC->frame_length >> 2 ) ], A_Q12, FiltState, sLTP + start_idx, psEncC->frame_length - start_idx, psEncC->predictLPCOrder ); NSQ->rewhite_flag = 1; NSQ->sLTP_buf_idx = psEncC->frame_length; } } - - SKP_Silk_nsq_scale_states( NSQ, x, x_sc_Q10, psEncC->subfr_length, sLTP, + + SKP_Silk_nsq_scale_states( NSQ, x, x_sc_Q10, psEncC->subfr_length, sLTP, sLTP_Q16, k, LTP_scale_Q14, Gains_Q16, psEncCtrlC->pitchL ); - SKP_Silk_noise_shape_quantizer( NSQ, psEncCtrlC->sigtype, x_sc_Q10, q, pxq, sLTP_Q16, A_Q12, B_Q14, - AR_shp_Q13, lag, HarmShapeFIRPacked_Q14, Tilt_Q14[ k ], LF_shp_Q14[ k ], Gains_Q16[ k ], Lambda_Q10, + SKP_Silk_noise_shape_quantizer( NSQ, psEncCtrlC->sigtype, x_sc_Q10, q, pxq, sLTP_Q16, A_Q12, B_Q14, + AR_shp_Q13, lag, HarmShapeFIRPacked_Q14, Tilt_Q14[ k ], LF_shp_Q14[ k ], Gains_Q16[ k ], Lambda_Q10, offset_Q10, psEncC->subfr_length, psEncC->shapingLPCOrder, psEncC->predictLPCOrder ); @@ -203,7 +203,7 @@ SKP_INLINE void SKP_Silk_noise_shape_quantizer( shp_lag_ptr = &NSQ->sLTP_shp_Q10[ NSQ->sLTP_shp_buf_idx - lag + HARM_SHAPE_FIR_TAPS / 2 ]; pred_lag_ptr = &sLTP_Q16[ NSQ->sLTP_buf_idx - lag + LTP_ORDER / 2 ]; - + /* Setup short term AR state */ psLPC_Q14 = &NSQ->sLPC_Q14[ NSQ_LPC_BUF_LENGTH - 1 ]; @@ -219,7 +219,7 @@ SKP_INLINE void SKP_Silk_noise_shape_quantizer( /* dither = rand_seed < 0 ? 0xFFFFFFFF : 0; */ dither = SKP_RSHIFT( NSQ->rand_seed, 31 ); - + /* Short-term prediction */ SKP_assert( ( predictLPCOrder & 1 ) == 0 ); /* check that order is even */ /* check that array starts at 4-byte aligned address */ @@ -272,7 +272,7 @@ SKP_INLINE void SKP_Silk_noise_shape_quantizer( n_AR_Q10 = SKP_RSHIFT( n_AR_Q10, 1 ); /* Q11 -> Q10 */ n_AR_Q10 = SKP_SMLAWB( n_AR_Q10, NSQ->sLF_AR_shp_Q12, Tilt_Q14 ); - n_LF_Q10 = SKP_LSHIFT( SKP_SMULWB( NSQ->sLTP_shp_Q10[ NSQ->sLTP_shp_buf_idx - 1 ], LF_shp_Q14 ), 2 ); + n_LF_Q10 = SKP_LSHIFT( SKP_SMULWB( NSQ->sLTP_shp_Q10[ NSQ->sLTP_shp_buf_idx - 1 ], LF_shp_Q14 ), 2 ); n_LF_Q10 = SKP_SMLAWT( n_LF_Q10, NSQ->sLF_AR_shp_Q12, LF_shp_Q14 ); SKP_assert( lag > 0 || sigtype == SIG_TYPE_UNVOICED ); @@ -292,9 +292,9 @@ SKP_INLINE void SKP_Silk_noise_shape_quantizer( //r = x[ i ] - LTP_pred - LPC_pred + n_AR + n_Tilt + n_LF + n_LTP; tmp1 = SKP_SUB32( LTP_pred_Q14, n_LTP_Q14 ); /* Add Q14 stuff */ tmp1 = SKP_RSHIFT( tmp1, 4 ); /* convert to Q10 */ - tmp1 = SKP_ADD32( tmp1, LPC_pred_Q10 ); /* add Q10 stuff */ - tmp1 = SKP_SUB32( tmp1, n_AR_Q10 ); /* subtract Q10 stuff */ - tmp1 = SKP_SUB32( tmp1, n_LF_Q10 ); /* subtract Q10 stuff */ + tmp1 = SKP_ADD32( tmp1, LPC_pred_Q10 ); /* add Q10 stuff */ + tmp1 = SKP_SUB32( tmp1, n_AR_Q10 ); /* subtract Q10 stuff */ + tmp1 = SKP_SUB32( tmp1, n_LF_Q10 ); /* subtract Q10 stuff */ r_Q10 = SKP_SUB32( x_sc_Q10[ i ], tmp1 ); /* Flip sign depending on dither */ @@ -328,11 +328,11 @@ SKP_INLINE void SKP_Silk_noise_shape_quantizer( /* Add predictions */ LPC_exc_Q10 = SKP_ADD32( exc_Q10, SKP_RSHIFT_ROUND( LTP_pred_Q14, 4 ) ); xq_Q10 = SKP_ADD32( LPC_exc_Q10, LPC_pred_Q10 ); - + /* Scale XQ back to normal level before saving */ xq[ i ] = ( SKP_int16 )SKP_SAT16( SKP_RSHIFT_ROUND( SKP_SMULWW( xq_Q10, Gain_Q16 ), 10 ) ); - - + + /* Update states */ psLPC_Q14++; *psLPC_Q14 = SKP_LSHIFT( xq_Q10, 4 ); diff --git a/libs/silk/src/SKP_Silk_NSQ_del_dec.c b/libs/silk/src/SKP_Silk_NSQ_del_dec.c index 198b4f5726..087c772795 100644 --- a/libs/silk/src/SKP_Silk_NSQ_del_dec.c +++ b/libs/silk/src/SKP_Silk_NSQ_del_dec.c @@ -1,27 +1,27 @@ /*********************************************************************** -Copyright (c) 2006-2011, Skype Limited. All rights reserved. -Redistribution and use in source and binary forms, with or without -modification, (subject to the limitations in the disclaimer below) +Copyright (c) 2006-2011, Skype Limited. All rights reserved. +Redistribution and use in source and binary forms, with or without +modification, (subject to the limitations in the disclaimer below) are permitted provided that the following conditions are met: - Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. -- Redistributions in binary form must reproduce the above copyright -notice, this list of conditions and the following disclaimer in the +- Redistributions in binary form must reproduce the above copyright +notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. -- Neither the name of Skype Limited, nor the names of specific -contributors, may be used to endorse or promote products derived from +- Neither the name of Skype Limited, nor the names of specific +contributors, may be used to endorse or promote products derived from this software without specific prior written permission. -NO EXPRESS OR IMPLIED LICENSES TO ANY PARTY'S PATENT RIGHTS ARE GRANTED -BY THIS LICENSE. THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND +NO EXPRESS OR IMPLIED LICENSES TO ANY PARTY'S PATENT RIGHTS ARE GRANTED +BY THIS LICENSE. THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS ''AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, -BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND -FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE -COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND +FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT -NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF -USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON -ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF +USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON +ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ***********************************************************************/ @@ -216,15 +216,15 @@ void SKP_Silk_NSQ_del_dec( SKP_assert( psDelDec[ i ].RD_Q10 >= 0 ); } } - + /* Copy final part of signals from winner state to output and long-term filter states */ psDD = &psDelDec[ Winner_ind ]; last_smple_idx = smpl_buf_idx + decisionDelay; for( i = 0; i < decisionDelay; i++ ) { last_smple_idx = ( last_smple_idx - 1 ) & DECISION_DELAY_MASK; q[ i - decisionDelay ] = ( SKP_int8 )SKP_RSHIFT( psDD->Q_Q10[ last_smple_idx ], 10 ); - pxq[ i - decisionDelay ] = ( SKP_int16 )SKP_SAT16( SKP_RSHIFT_ROUND( - SKP_SMULWW( psDD->Xq_Q10[ last_smple_idx ], + pxq[ i - decisionDelay ] = ( SKP_int16 )SKP_SAT16( SKP_RSHIFT_ROUND( + SKP_SMULWW( psDD->Xq_Q10[ last_smple_idx ], psDD->Gain_Q16[ last_smple_idx ] ), 10 ) ); NSQ->sLTP_shp_Q10[ NSQ->sLTP_shp_buf_idx - decisionDelay + i ] = psDD->Shape_Q10[ last_smple_idx ]; } @@ -238,7 +238,7 @@ void SKP_Silk_NSQ_del_dec( SKP_assert( start_idx <= psEncC->frame_length - psEncC->predictLPCOrder ); SKP_memset( FiltState, 0, psEncC->predictLPCOrder * sizeof( SKP_int32 ) ); - SKP_Silk_MA_Prediction( &NSQ->xq[ start_idx + k * psEncC->subfr_length ], + SKP_Silk_MA_Prediction( &NSQ->xq[ start_idx + k * psEncC->subfr_length ], A_Q12, FiltState, sLTP + start_idx, psEncC->frame_length - start_idx, psEncC->predictLPCOrder ); NSQ->sLTP_buf_idx = psEncC->frame_length; @@ -246,15 +246,15 @@ void SKP_Silk_NSQ_del_dec( } } - SKP_Silk_nsq_del_dec_scale_states( NSQ, psDelDec, x, x_sc_Q10, + SKP_Silk_nsq_del_dec_scale_states( NSQ, psDelDec, x, x_sc_Q10, subfr_length, sLTP, sLTP_Q16, k, psEncC->nStatesDelayedDecision, smpl_buf_idx, LTP_scale_Q14, Gains_Q16, psEncCtrlC->pitchL ); SKP_Silk_noise_shape_quantizer_del_dec( NSQ, psDelDec, psEncCtrlC->sigtype, x_sc_Q10, q, pxq, sLTP_Q16, - A_Q12, B_Q14, AR_shp_Q13, lag, HarmShapeFIRPacked_Q14, Tilt_Q14[ k ], LF_shp_Q14[ k ], Gains_Q16[ k ], - Lambda_Q10, offset_Q10, psEncC->subfr_length, subfr++, psEncC->shapingLPCOrder, psEncC->predictLPCOrder, + A_Q12, B_Q14, AR_shp_Q13, lag, HarmShapeFIRPacked_Q14, Tilt_Q14[ k ], LF_shp_Q14[ k ], Gains_Q16[ k ], + Lambda_Q10, offset_Q10, psEncC->subfr_length, subfr++, psEncC->shapingLPCOrder, psEncC->predictLPCOrder, psEncC->warping_Q16, psEncC->nStatesDelayedDecision, &smpl_buf_idx, decisionDelay ); - + x += psEncC->subfr_length; q += psEncC->subfr_length; pxq += psEncC->subfr_length; @@ -269,7 +269,7 @@ void SKP_Silk_NSQ_del_dec( Winner_ind = k; } } - + /* Copy final part of signals from winner state to output and long-term filter states */ psDD = &psDelDec[ Winner_ind ]; psEncCtrlC->Seed = psDD->SeedInit; @@ -277,7 +277,7 @@ void SKP_Silk_NSQ_del_dec( for( i = 0; i < decisionDelay; i++ ) { last_smple_idx = ( last_smple_idx - 1 ) & DECISION_DELAY_MASK; q[ i - decisionDelay ] = ( SKP_int8 )SKP_RSHIFT( psDD->Q_Q10[ last_smple_idx ], 10 ); - pxq[ i - decisionDelay ] = ( SKP_int16 )SKP_SAT16( SKP_RSHIFT_ROUND( + pxq[ i - decisionDelay ] = ( SKP_int16 )SKP_SAT16( SKP_RSHIFT_ROUND( SKP_SMULWW( psDD->Xq_Q10[ last_smple_idx ], psDD->Gain_Q16[ last_smple_idx ] ), 10 ) ); NSQ->sLTP_shp_Q10[ NSQ->sLTP_shp_buf_idx - decisionDelay + i ] = psDD->Shape_Q10[ last_smple_idx ]; sLTP_Q16[ NSQ->sLTP_buf_idx - decisionDelay + i ] = psDD->Pred_Q16[ last_smple_idx ]; @@ -383,7 +383,7 @@ SKP_INLINE void SKP_Silk_noise_shape_quantizer_del_dec( /* dither = rand_seed < 0 ? 0xFFFFFFFF : 0; */ dither = SKP_RSHIFT( psDD->Seed, 31 ); - + /* Pointer used in short term prediction and shaping */ psLPC_Q14 = &psDD->sLPC_Q14[ NSQ_LPC_BUF_LENGTH - 1 + i ]; /* Short-term prediction */ @@ -430,18 +430,18 @@ SKP_INLINE void SKP_Silk_noise_shape_quantizer_del_dec( n_AR_Q10 = SKP_RSHIFT( n_AR_Q10, 1 ); /* Q11 -> Q10 */ n_AR_Q10 = SKP_SMLAWB( n_AR_Q10, psDD->LF_AR_Q12, Tilt_Q14 ); - n_LF_Q10 = SKP_LSHIFT( SKP_SMULWB( psDD->Shape_Q10[ *smpl_buf_idx ], LF_shp_Q14 ), 2 ); - n_LF_Q10 = SKP_SMLAWT( n_LF_Q10, psDD->LF_AR_Q12, LF_shp_Q14 ); + n_LF_Q10 = SKP_LSHIFT( SKP_SMULWB( psDD->Shape_Q10[ *smpl_buf_idx ], LF_shp_Q14 ), 2 ); + n_LF_Q10 = SKP_SMLAWT( n_LF_Q10, psDD->LF_AR_Q12, LF_shp_Q14 ); /* Input minus prediction plus noise feedback */ /* r = x[ i ] - LTP_pred - LPC_pred + n_AR + n_Tilt + n_LF + n_LTP */ tmp1 = SKP_SUB32( LTP_pred_Q14, n_LTP_Q14 ); /* Add Q14 stuff */ tmp1 = SKP_RSHIFT( tmp1, 4 ); /* convert to Q10 */ - tmp1 = SKP_ADD32( tmp1, LPC_pred_Q10 ); /* add Q10 stuff */ - tmp1 = SKP_SUB32( tmp1, n_AR_Q10 ); /* subtract Q10 stuff */ - tmp1 = SKP_SUB32( tmp1, n_LF_Q10 ); /* subtract Q10 stuff */ + tmp1 = SKP_ADD32( tmp1, LPC_pred_Q10 ); /* add Q10 stuff */ + tmp1 = SKP_SUB32( tmp1, n_AR_Q10 ); /* subtract Q10 stuff */ + tmp1 = SKP_SUB32( tmp1, n_LF_Q10 ); /* subtract Q10 stuff */ r_Q10 = SKP_SUB32( x_Q10[ i ], tmp1 ); /* residual error Q10 */ - + /* Flip sign depending on dither */ r_Q10 = ( r_Q10 ^ dither ) - dither; r_Q10 = SKP_SUB32( r_Q10, offset_Q10 ); @@ -472,7 +472,7 @@ SKP_INLINE void SKP_Silk_noise_shape_quantizer_del_dec( } if( rd1_Q10 < rd2_Q10 ) { - psSS[ 0 ].RD_Q10 = SKP_ADD32( psDD->RD_Q10, rd1_Q10 ); + psSS[ 0 ].RD_Q10 = SKP_ADD32( psDD->RD_Q10, rd1_Q10 ); psSS[ 1 ].RD_Q10 = SKP_ADD32( psDD->RD_Q10, rd2_Q10 ); psSS[ 0 ].Q_Q10 = q1_Q10; psSS[ 1 ].Q_Q10 = q2_Q10; @@ -561,7 +561,7 @@ SKP_INLINE void SKP_Silk_noise_shape_quantizer_del_dec( /* Replace a state if best from second set outperforms worst in first set */ if( RDmin_Q10 < RDmax_Q10 ) { - SKP_Silk_copy_del_dec_state( &psDelDec[ RDmax_ind ], &psDelDec[ RDmin_ind ], i ); + SKP_Silk_copy_del_dec_state( &psDelDec[ RDmax_ind ], &psDelDec[ RDmin_ind ], i ); SKP_memcpy( &psSampleState[ RDmax_ind ][ 0 ], &psSampleState[ RDmin_ind ][ 1 ], sizeof( NSQ_sample_struct ) ); } @@ -569,7 +569,7 @@ SKP_INLINE void SKP_Silk_noise_shape_quantizer_del_dec( psDD = &psDelDec[ Winner_ind ]; if( subfr > 0 || i >= decisionDelay ) { q[ i - decisionDelay ] = ( SKP_int8 )SKP_RSHIFT( psDD->Q_Q10[ last_smple_idx ], 10 ); - xq[ i - decisionDelay ] = ( SKP_int16 )SKP_SAT16( SKP_RSHIFT_ROUND( + xq[ i - decisionDelay ] = ( SKP_int16 )SKP_SAT16( SKP_RSHIFT_ROUND( SKP_SMULWW( psDD->Xq_Q10[ last_smple_idx ], psDD->Gain_Q16[ last_smple_idx ] ), 10 ) ); NSQ->sLTP_shp_Q10[ NSQ->sLTP_shp_buf_idx - decisionDelay ] = psDD->Shape_Q10[ last_smple_idx ]; sLTP_Q16[ NSQ->sLTP_buf_idx - decisionDelay ] = psDD->Pred_Q16[ last_smple_idx ]; @@ -655,10 +655,10 @@ SKP_INLINE void SKP_Silk_nsq_del_dec_scale_states( for( k = 0; k < nStatesDelayedDecision; k++ ) { psDD = &psDelDec[ k ]; - + /* Scale scalar states */ psDD->LF_AR_Q12 = SKP_SMULWW( gain_adj_Q16, psDD->LF_AR_Q12 ); - + /* Scale short-term prediction and shaping states */ for( i = 0; i < NSQ_LPC_BUF_LENGTH; i++ ) { psDD->sLPC_Q14[ i ] = SKP_SMULWW( gain_adj_Q16, psDD->sLPC_Q14[ i ] ); diff --git a/libs/silk/src/SKP_Silk_PLC.c b/libs/silk/src/SKP_Silk_PLC.c index 61d0b9646a..3ee7ee0cdb 100644 --- a/libs/silk/src/SKP_Silk_PLC.c +++ b/libs/silk/src/SKP_Silk_PLC.c @@ -1,27 +1,27 @@ /*********************************************************************** -Copyright (c) 2006-2011, Skype Limited. All rights reserved. -Redistribution and use in source and binary forms, with or without -modification, (subject to the limitations in the disclaimer below) +Copyright (c) 2006-2011, Skype Limited. All rights reserved. +Redistribution and use in source and binary forms, with or without +modification, (subject to the limitations in the disclaimer below) are permitted provided that the following conditions are met: - Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. -- Redistributions in binary form must reproduce the above copyright -notice, this list of conditions and the following disclaimer in the +- Redistributions in binary form must reproduce the above copyright +notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. -- Neither the name of Skype Limited, nor the names of specific -contributors, may be used to endorse or promote products derived from +- Neither the name of Skype Limited, nor the names of specific +contributors, may be used to endorse or promote products derived from this software without specific prior written permission. -NO EXPRESS OR IMPLIED LICENSES TO ANY PARTY'S PATENT RIGHTS ARE GRANTED -BY THIS LICENSE. THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND +NO EXPRESS OR IMPLIED LICENSES TO ANY PARTY'S PATENT RIGHTS ARE GRANTED +BY THIS LICENSE. THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS ''AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, -BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND -FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE -COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND +FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT -NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF -USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON -ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF +USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON +ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ***********************************************************************/ @@ -175,15 +175,15 @@ void SKP_Silk_PLC_conceal( exc_buf_ptr = exc_buf; for( k = ( NB_SUBFR >> 1 ); k < NB_SUBFR; k++ ) { for( i = 0; i < psDec->subfr_length; i++ ) { - exc_buf_ptr[ i ] = ( SKP_int16 )SKP_RSHIFT( + exc_buf_ptr[ i ] = ( SKP_int16 )SKP_RSHIFT( SKP_SMULWW( psDec->exc_Q10[ i + k * psDec->subfr_length ], psPLC->prevGain_Q16[ k ] ), 10 ); } exc_buf_ptr += psDec->subfr_length; } - /* Find the subframe with lowest energy of the last two and use that as random noise generator */ + /* Find the subframe with lowest energy of the last two and use that as random noise generator */ SKP_Silk_sum_sqr_shift( &energy1, &shift1, exc_buf, psDec->subfr_length ); SKP_Silk_sum_sqr_shift( &energy2, &shift2, &exc_buf[ psDec->subfr_length ], psDec->subfr_length ); - + if( SKP_RSHIFT( energy1, shift2 ) < SKP_RSHIFT( energy2, shift1 ) ) { /* First sub-frame has lowest energy */ rand_ptr = &psDec->exc_Q10[ SKP_max_int( 0, 3 * psDec->subfr_length - RAND_BUF_SIZE ) ]; @@ -192,7 +192,7 @@ void SKP_Silk_PLC_conceal( rand_ptr = &psDec->exc_Q10[ SKP_max_int( 0, psDec->frame_length - RAND_BUF_SIZE ) ]; } - /* Setup Gain to random noise component */ + /* Setup Gain to random noise component */ B_Q14 = psPLC->LTPCoef_Q14; rand_scale_Q14 = psPLC->randScale_Q14; @@ -207,7 +207,7 @@ void SKP_Silk_PLC_conceal( /* First Lost frame */ if( psDec->lossCnt == 0 ) { rand_scale_Q14 = (1 << 14 ); - + /* Reduce random noise Gain for voiced frames */ if( psDec->prev_sigtype == SIG_TYPE_VOICED ) { for( i = 0; i < LTP_ORDER; i++ ) { @@ -220,13 +220,13 @@ void SKP_Silk_PLC_conceal( /* Reduce random noise for unvoiced frames with high LPC gain */ if( psDec->prev_sigtype == SIG_TYPE_UNVOICED ) { SKP_int32 invGain_Q30, down_scale_Q30; - + SKP_Silk_LPC_inverse_pred_gain( &invGain_Q30, psPLC->prevLPC_Q12, psDec->LPC_order ); - + down_scale_Q30 = SKP_min_32( SKP_RSHIFT( ( 1 << 30 ), LOG2_INV_LPC_GAIN_HIGH_THRES ), invGain_Q30 ); down_scale_Q30 = SKP_max_32( SKP_RSHIFT( ( 1 << 30 ), LOG2_INV_LPC_GAIN_LOW_THRES ), down_scale_Q30 ); down_scale_Q30 = SKP_LSHIFT( down_scale_Q30, LOG2_INV_LPC_GAIN_HIGH_THRES ); - + rand_Gain_Q15 = SKP_RSHIFT( SKP_SMULWB( down_scale_Q30, rand_Gain_Q15 ), 14 ); } } @@ -253,15 +253,15 @@ void SKP_Silk_PLC_conceal( LTP_pred_Q14 = SKP_SMLAWB( LTP_pred_Q14, pred_lag_ptr[ -3 ], B_Q14[ 3 ] ); LTP_pred_Q14 = SKP_SMLAWB( LTP_pred_Q14, pred_lag_ptr[ -4 ], B_Q14[ 4 ] ); pred_lag_ptr++; - + /* Generate LPC residual */ LPC_exc_Q10 = SKP_LSHIFT( SKP_SMULWB( rand_ptr[ idx ], rand_scale_Q14 ), 2 ); /* Random noise part */ LPC_exc_Q10 = SKP_ADD32( LPC_exc_Q10, SKP_RSHIFT_ROUND( LTP_pred_Q14, 4 ) ); /* Harmonic part */ - + /* Update states */ psDec->sLTP_Q16[ sLTP_buf_idx ] = SKP_LSHIFT( LPC_exc_Q10, 6 ); sLTP_buf_idx++; - + /* Save LPC residual */ sig_Q10_ptr[ i ] = LPC_exc_Q10; } @@ -305,7 +305,7 @@ void SKP_Silk_PLC_conceal( } /* Add prediction to LPC residual */ sig_Q10_ptr[ i ] = SKP_ADD32( sig_Q10_ptr[ i ], LPC_pred_Q10 ); - + /* Update states */ psDec->sLPC_Q14[ MAX_LPC_ORDER + i ] = SKP_LSHIFT( sig_Q10_ptr[ i ], 4 ); } @@ -345,7 +345,7 @@ void SKP_Silk_PLC_glue_frames( if( psDec->lossCnt ) { /* Calculate energy in concealed residual */ SKP_Silk_sum_sqr_shift( &psPLC->conc_energy, &psPLC->conc_energy_shift, signal, length ); - + psPLC->last_frame_lost = 1; } else { if( psDec->sPLC.last_frame_lost ) { @@ -368,9 +368,9 @@ void SKP_Silk_PLC_glue_frames( LZ = LZ - 1; psPLC->conc_energy = SKP_LSHIFT( psPLC->conc_energy, LZ ); energy = SKP_RSHIFT( energy, SKP_max_32( 24 - LZ, 0 ) ); - + frac_Q24 = SKP_DIV32( psPLC->conc_energy, SKP_max( energy, 1 ) ); - + gain_Q12 = SKP_Silk_SQRT_APPROX( frac_Q24 ); slope_Q12 = SKP_DIV32_16( ( 1 << 12 ) - gain_Q12, length ); @@ -385,4 +385,3 @@ void SKP_Silk_PLC_glue_frames( } } - diff --git a/libs/silk/src/SKP_Silk_PLC.h b/libs/silk/src/SKP_Silk_PLC.h index 49a6fb283d..33b3d2b4ff 100644 --- a/libs/silk/src/SKP_Silk_PLC.h +++ b/libs/silk/src/SKP_Silk_PLC.h @@ -1,27 +1,27 @@ /*********************************************************************** -Copyright (c) 2006-2011, Skype Limited. All rights reserved. -Redistribution and use in source and binary forms, with or without -modification, (subject to the limitations in the disclaimer below) +Copyright (c) 2006-2011, Skype Limited. All rights reserved. +Redistribution and use in source and binary forms, with or without +modification, (subject to the limitations in the disclaimer below) are permitted provided that the following conditions are met: - Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. -- Redistributions in binary form must reproduce the above copyright -notice, this list of conditions and the following disclaimer in the +- Redistributions in binary form must reproduce the above copyright +notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. -- Neither the name of Skype Limited, nor the names of specific -contributors, may be used to endorse or promote products derived from +- Neither the name of Skype Limited, nor the names of specific +contributors, may be used to endorse or promote products derived from this software without specific prior written permission. -NO EXPRESS OR IMPLIED LICENSES TO ANY PARTY'S PATENT RIGHTS ARE GRANTED -BY THIS LICENSE. THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND +NO EXPRESS OR IMPLIED LICENSES TO ANY PARTY'S PATENT RIGHTS ARE GRANTED +BY THIS LICENSE. THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS ''AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, -BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND -FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE -COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND +FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT -NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF -USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON -ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF +USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON +ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ***********************************************************************/ @@ -76,4 +76,3 @@ void SKP_Silk_PLC_glue_frames( ); #endif - diff --git a/libs/silk/src/SKP_Silk_SigProc_FIX.h b/libs/silk/src/SKP_Silk_SigProc_FIX.h index 755e77dfa7..a6ab3e1fea 100644 --- a/libs/silk/src/SKP_Silk_SigProc_FIX.h +++ b/libs/silk/src/SKP_Silk_SigProc_FIX.h @@ -1,27 +1,27 @@ /*********************************************************************** -Copyright (c) 2006-2011, Skype Limited. All rights reserved. -Redistribution and use in source and binary forms, with or without -modification, (subject to the limitations in the disclaimer below) +Copyright (c) 2006-2011, Skype Limited. All rights reserved. +Redistribution and use in source and binary forms, with or without +modification, (subject to the limitations in the disclaimer below) are permitted provided that the following conditions are met: - Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. -- Redistributions in binary form must reproduce the above copyright -notice, this list of conditions and the following disclaimer in the +- Redistributions in binary form must reproduce the above copyright +notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. -- Neither the name of Skype Limited, nor the names of specific -contributors, may be used to endorse or promote products derived from +- Neither the name of Skype Limited, nor the names of specific +contributors, may be used to endorse or promote products derived from this software without specific prior written permission. -NO EXPRESS OR IMPLIED LICENSES TO ANY PARTY'S PATENT RIGHTS ARE GRANTED -BY THIS LICENSE. THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND +NO EXPRESS OR IMPLIED LICENSES TO ANY PARTY'S PATENT RIGHTS ARE GRANTED +BY THIS LICENSE. THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS ''AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, -BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND -FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE -COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND +FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT -NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF -USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON -ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF +USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON +ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ***********************************************************************/ @@ -49,9 +49,9 @@ extern "C" /********************************************************************/ /*! - * Initialize/reset the resampler state for a given pair of input/output sampling rates + * Initialize/reset the resampler state for a given pair of input/output sampling rates */ -SKP_int SKP_Silk_resampler_init( +SKP_int SKP_Silk_resampler_init( SKP_Silk_resampler_state_struct *S, /* I/O: Resampler state */ SKP_int32 Fs_Hz_in, /* I: Input sampling rate (Hz) */ SKP_int32 Fs_Hz_out /* I: Output sampling rate (Hz) */ @@ -59,16 +59,16 @@ SKP_int SKP_Silk_resampler_init( /*! - * Clear the states of all resampling filters, without resetting sampling rate ratio + * Clear the states of all resampling filters, without resetting sampling rate ratio */ -SKP_int SKP_Silk_resampler_clear( +SKP_int SKP_Silk_resampler_clear( SKP_Silk_resampler_state_struct *S /* I/O: Resampler state */ ); /*! * Resampler: convert from one sampling rate to another */ -SKP_int SKP_Silk_resampler( +SKP_int SKP_Silk_resampler( SKP_Silk_resampler_state_struct *S, /* I/O: Resampler state */ SKP_int16 out[], /* O: Output signal */ const SKP_int16 in[], /* I: Input signal */ @@ -76,7 +76,7 @@ SKP_int SKP_Silk_resampler( ); /*! - Upsample 2x, low quality + Upsample 2x, low quality */ void SKP_Silk_resampler_up2( SKP_int32 *S, /* I/O: State vector [ 2 ] */ @@ -86,7 +86,7 @@ void SKP_Silk_resampler_up2( ); /*! -* Downsample 2x, mediocre quality +* Downsample 2x, mediocre quality */ void SKP_Silk_resampler_down2( SKP_int32 *S, /* I/O: State vector [ 2 ] */ @@ -116,9 +116,9 @@ void SKP_Silk_resampler_down3( SKP_int32 inLen /* I: Number of input samples */ ); -/*! +/*! * second order ARMA filter - * can handle (slowly) varying coefficients + * can handle (slowly) varying coefficients */ void SKP_Silk_biquad( const SKP_int16 *in, /* I: input signal */ @@ -129,9 +129,9 @@ void SKP_Silk_biquad( const SKP_int32 len /* I: signal length */ ); /*! - * second order ARMA filter; + * second order ARMA filter; * slower than biquad() but uses more precise coefficients - * can handle (slowly) varying coefficients + * can handle (slowly) varying coefficients */ void SKP_Silk_biquad_alt( const SKP_int16 *in, /* I: input signal */ @@ -142,7 +142,7 @@ void SKP_Silk_biquad_alt( const SKP_int32 len /* I: signal length (must be even) */ ); -/*! +/*! * variable order MA filter. Prediction error filter implementation. Coeficients negated and starting with coef to x[n - 1] */ void SKP_Silk_MA_Prediction( @@ -189,14 +189,14 @@ void SKP_Silk_LPC_synthesis_filter( ); /* Chirp (bandwidth expand) LP AR filter */ -void SKP_Silk_bwexpander( +void SKP_Silk_bwexpander( SKP_int16 *ar, /* I/O AR filter to be expanded (without leading 1) */ const SKP_int d, /* I Length of ar */ SKP_int32 chirp_Q16 /* I Chirp factor (typically in the range 0 to 1) */ ); /* Chirp (bandwidth expand) LP AR filter */ -void SKP_Silk_bwexpander_32( +void SKP_Silk_bwexpander_32( SKP_int32 *ar, /* I/O AR filter to be expanded (without leading 1) */ const SKP_int d, /* I Length of ar */ SKP_int32 chirp_Q16 /* I Chirp factor in Q16 */ @@ -238,12 +238,12 @@ SKP_int32 SKP_Silk_lin2log(const SKP_int32 inLin); /* I: input in linear SKP_int SKP_Silk_sigm_Q15(SKP_int in_Q5); /* approximation of 2^() (exact inverse of approx log2() above) */ -/* convert input to a linear scale */ -SKP_int32 SKP_Silk_log2lin(const SKP_int32 inLog_Q7); /* I: input on log scale */ +/* convert input to a linear scale */ +SKP_int32 SKP_Silk_log2lin(const SKP_int32 inLog_Q7); /* I: input on log scale */ /* Function that returns the maximum absolut value of the input vector */ SKP_int16 SKP_Silk_int16_array_maxabs( /* O Maximum absolute value, max: 2^15-1 */ - const SKP_int16 *vec, /* I Input vector [len] */ + const SKP_int16 *vec, /* I Input vector [len] */ const SKP_int32 len /* I Length of input vector */ ); @@ -258,7 +258,7 @@ void SKP_Silk_sum_sqr_shift( /* Calculates the reflection coefficients from the correlation sequence */ /* Faster than schur64(), but much less accurate. */ -/* uses SMLAWB(), requiring armv5E and higher. */ +/* uses SMLAWB(), requiring armv5E and higher. */ SKP_int32 SKP_Silk_schur( /* O: Returns residual energy */ SKP_int16 *rc_Q15, /* O: reflection coefficients [order] Q15 */ const SKP_int32 *c, /* I: correlations [order+1] */ @@ -302,7 +302,7 @@ void SKP_Silk_apply_sine_window_new( ); /* Compute autocorrelation */ -void SKP_Silk_autocorr( +void SKP_Silk_autocorr( SKP_int32 *results, /* O Result (length correlationCount) */ SKP_int *scale, /* O Scaling of the correlation vector */ const SKP_int16 *inputData, /* I Input data to correlate */ @@ -392,7 +392,7 @@ void SKP_Silk_NLSF_VQ_weights_laroia( ); /* Compute reflection coefficients from input signal */ -void SKP_Silk_burg_modified( +void SKP_Silk_burg_modified( SKP_int32 *res_nrg, /* O residual energy */ SKP_int *res_nrgQ, /* O residual energy Q value */ SKP_int32 A_Q16[], /* O prediction coefficients (length order) */ @@ -404,15 +404,15 @@ void SKP_Silk_burg_modified( ); /* Copy and multiply a vector by a constant */ -void SKP_Silk_scale_copy_vector16( - SKP_int16 *data_out, - const SKP_int16 *data_in, +void SKP_Silk_scale_copy_vector16( + SKP_int16 *data_out, + const SKP_int16 *data_in, SKP_int32 gain_Q16, /* I: gain in Q16 */ const SKP_int dataSize /* I: length */ ); /* Some for the LTP related function requires Q26 to work.*/ -void SKP_Silk_scale_vector32_Q26_lshift_18( +void SKP_Silk_scale_vector32_Q26_lshift_18( SKP_int32 *data1, /* I/O: Q0/Q18 */ SKP_int32 gain_Q26, /* I: Q26 */ SKP_int dataSize /* I: length */ @@ -425,7 +425,7 @@ void SKP_Silk_scale_vector32_Q26_lshift_18( /* return sum(inVec1[i]*inVec2[i]) */ /* inVec1 and inVec2 should be increasing ordered, and starting address should be 4 byte aligned. (a factor of 4)*/ SKP_int32 SKP_Silk_inner_prod_aligned( - const SKP_int16* const inVec1, /* I input vector 1 */ + const SKP_int16* const inVec1, /* I input vector 1 */ const SKP_int16* const inVec2, /* I input vector 2 */ const SKP_int len /* I vector lengths */ ); @@ -507,7 +507,7 @@ SKP_INLINE SKP_int32 SKP_ROR32( SKP_int32 a32, SKP_int rot ) #define SKP_ADD_SAT16(a, b) (SKP_int16)SKP_SAT16( SKP_ADD32( (SKP_int32)(a), (b) ) ) -/* Add with saturation for positive input values */ +/* Add with saturation for positive input values */ #define SKP_ADD_POS_SAT32(a, b) ((((a)+(b)) & 0x80000000) ? SKP_int32_MAX : ((a)+(b))) #define SKP_LSHIFT32(a, shift) ((a)<<(shift)) // shift >= 0, shift < 32 @@ -541,7 +541,7 @@ SKP_INLINE SKP_int32 SKP_ROR32( SKP_int32 a32, SKP_int rot ) /* Number of rightshift required to fit the multiplication */ #define SKP_NSHIFT_MUL_32_32(a, b) ( -(31- (32-SKP_Silk_CLZ32(SKP_abs(a)) + (32-SKP_Silk_CLZ32(SKP_abs(b))))) ) -#define SKP_min(a, b) (((a) < (b)) ? (a) : (b)) +#define SKP_min(a, b) (((a) < (b)) ? (a) : (b)) #define SKP_max(a, b) (((a) > (b)) ? (a) : (b)) /* Macro to convert floating-point constants to fixed-point */ @@ -592,9 +592,9 @@ SKP_INLINE SKP_int32 SKP_max_32(SKP_int32 a, SKP_int32 b) // Add some multiplication functions that can be easily mapped to ARM. -// SKP_SMMUL: Signed top word multiply. -// ARMv6 2 instruction cycles. -// ARMv3M+ 3 instruction cycles. use SMULL and ignore LSB registers.(except xM) +// SKP_SMMUL: Signed top word multiply. +// ARMv6 2 instruction cycles. +// ARMv3M+ 3 instruction cycles. use SMULL and ignore LSB registers.(except xM) //#define SKP_SMMUL(a32, b32) (SKP_int32)SKP_RSHIFT(SKP_SMLAL(SKP_SMULWB((a32), (b32)), (a32), SKP_RSHIFT_ROUND((b32), 16)), 16) // the following seems faster on x86 #define SKP_SMMUL(a32, b32) (SKP_int32)SKP_RSHIFT64(SKP_SMULL((a32), (b32)), 32) diff --git a/libs/silk/src/SKP_Silk_VAD.c b/libs/silk/src/SKP_Silk_VAD.c index b583c4336b..ecf2ba15db 100644 --- a/libs/silk/src/SKP_Silk_VAD.c +++ b/libs/silk/src/SKP_Silk_VAD.c @@ -1,27 +1,27 @@ /*********************************************************************** -Copyright (c) 2006-2011, Skype Limited. All rights reserved. -Redistribution and use in source and binary forms, with or without -modification, (subject to the limitations in the disclaimer below) +Copyright (c) 2006-2011, Skype Limited. All rights reserved. +Redistribution and use in source and binary forms, with or without +modification, (subject to the limitations in the disclaimer below) are permitted provided that the following conditions are met: - Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. -- Redistributions in binary form must reproduce the above copyright -notice, this list of conditions and the following disclaimer in the +- Redistributions in binary form must reproduce the above copyright +notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. -- Neither the name of Skype Limited, nor the names of specific -contributors, may be used to endorse or promote products derived from +- Neither the name of Skype Limited, nor the names of specific +contributors, may be used to endorse or promote products derived from this software without specific prior written permission. -NO EXPRESS OR IMPLIED LICENSES TO ANY PARTY'S PATENT RIGHTS ARE GRANTED -BY THIS LICENSE. THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND +NO EXPRESS OR IMPLIED LICENSES TO ANY PARTY'S PATENT RIGHTS ARE GRANTED +BY THIS LICENSE. THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS ''AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, -BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND -FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE -COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND +FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT -NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF -USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON -ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF +USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON +ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ***********************************************************************/ @@ -36,8 +36,8 @@ OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. /**********************************/ /* Initialization of the Silk VAD */ /**********************************/ -SKP_int SKP_Silk_VAD_Init( /* O Return value, 0 if success */ - SKP_Silk_VAD_state *psSilk_VAD /* I/O Pointer to Silk VAD state */ +SKP_int SKP_Silk_VAD_Init( /* O Return value, 0 if success */ + SKP_Silk_VAD_state *psSilk_VAD /* I/O Pointer to Silk VAD state */ ) { SKP_int b, ret = 0; @@ -103,11 +103,11 @@ SKP_int SKP_Silk_VAD_GetSA_Q8( /* O Retu /* Filter and Decimate */ /***********************/ /* 0-8 kHz to 0-4 kHz and 4-8 kHz */ - SKP_Silk_ana_filt_bank_1( pIn, &psSilk_VAD->AnaState[ 0 ], &X[ 0 ][ 0 ], &X[ 3 ][ 0 ], &scratch[ 0 ], framelength ); - + SKP_Silk_ana_filt_bank_1( pIn, &psSilk_VAD->AnaState[ 0 ], &X[ 0 ][ 0 ], &X[ 3 ][ 0 ], &scratch[ 0 ], framelength ); + /* 0-4 kHz to 0-2 kHz and 2-4 kHz */ SKP_Silk_ana_filt_bank_1( &X[ 0 ][ 0 ], &psSilk_VAD->AnaState1[ 0 ], &X[ 0 ][ 0 ], &X[ 2 ][ 0 ], &scratch[ 0 ], SKP_RSHIFT( framelength, 1 ) ); - + /* 0-2 kHz to 0-1 kHz and 1-2 kHz */ SKP_Silk_ana_filt_bank_1( &X[ 0 ][ 0 ], &psSilk_VAD->AnaState2[ 0 ], &X[ 0 ][ 0 ], &X[ 1 ][ 0 ], &scratch[ 0 ], SKP_RSHIFT( framelength, 2 ) ); @@ -127,7 +127,7 @@ SKP_int SKP_Silk_VAD_GetSA_Q8( /* O Retu /*************************************/ /* Calculate the energy in each band */ /*************************************/ - for( b = 0; b < VAD_N_BANDS; b++ ) { + for( b = 0; b < VAD_N_BANDS; b++ ) { /* Find the decimated framelength in the non-uniformly divided bands */ decimated_framelength = SKP_RSHIFT( framelength, SKP_min_int( VAD_N_BANDS - b, VAD_N_BANDS - 1 ) ); @@ -160,7 +160,7 @@ SKP_int SKP_Silk_VAD_GetSA_Q8( /* O Retu dec_subframe_offset += dec_subframe_length; } - psSilk_VAD->XnrgSubfr[ b ] = sumSquared; + psSilk_VAD->XnrgSubfr[ b ] = sumSquared; } /********************/ @@ -227,11 +227,11 @@ SKP_int SKP_Silk_VAD_GetSA_Q8( /* O Retu /* Power scaling */ if( speech_nrg <= 0 ) { - SA_Q15 = SKP_RSHIFT( SA_Q15, 1 ); + SA_Q15 = SKP_RSHIFT( SA_Q15, 1 ); } else if( speech_nrg < 32768 ) { /* square-root */ speech_nrg = SKP_Silk_SQRT_APPROX( SKP_LSHIFT( speech_nrg, 15 ) ); - SA_Q15 = SKP_SMULWB( 32768 + speech_nrg, SA_Q15 ); + SA_Q15 = SKP_SMULWB( 32768 + speech_nrg, SA_Q15 ); } /* Copy the resulting speech activity in Q8 to *pSA_Q8 */ @@ -244,7 +244,7 @@ SKP_int SKP_Silk_VAD_GetSA_Q8( /* O Retu smooth_coef_Q16 = SKP_SMULWB( VAD_SNR_SMOOTH_COEF_Q18, SKP_SMULWB( SA_Q15, SA_Q15 ) ); for( b = 0; b < VAD_N_BANDS; b++ ) { /* compute smoothed energy-to-noise ratio per band */ - psSilk_VAD->NrgRatioSmth_Q8[ b ] = SKP_SMLAWB( psSilk_VAD->NrgRatioSmth_Q8[ b ], + psSilk_VAD->NrgRatioSmth_Q8[ b ] = SKP_SMLAWB( psSilk_VAD->NrgRatioSmth_Q8[ b ], NrgToNoiseRatio_Q8[ b ] - psSilk_VAD->NrgRatioSmth_Q8[ b ], smooth_coef_Q16 ); /* signal to noise ratio in dB per band */ @@ -261,7 +261,7 @@ SKP_int SKP_Silk_VAD_GetSA_Q8( /* O Retu /**************************/ void SKP_Silk_VAD_GetNoiseLevels( const SKP_int32 pX[ VAD_N_BANDS ], /* I subband energies */ - SKP_Silk_VAD_state *psSilk_VAD /* I/O Pointer to Silk VAD state */ + SKP_Silk_VAD_state *psSilk_VAD /* I/O Pointer to Silk VAD state */ ) { SKP_int k; @@ -270,7 +270,7 @@ void SKP_Silk_VAD_GetNoiseLevels( /* Initially faster smoothing */ if( psSilk_VAD->counter < 1000 ) { /* 1000 = 20 sec */ - min_coef = SKP_DIV32_16( SKP_int16_MAX, SKP_RSHIFT( psSilk_VAD->counter, 4 ) + 1 ); + min_coef = SKP_DIV32_16( SKP_int16_MAX, SKP_RSHIFT( psSilk_VAD->counter, 4 ) + 1 ); } else { min_coef = 0; } @@ -279,15 +279,15 @@ void SKP_Silk_VAD_GetNoiseLevels( /* Get old noise level estimate for current band */ nl = psSilk_VAD->NL[ k ]; SKP_assert( nl >= 0 ); - + /* Add bias */ - nrg = SKP_ADD_POS_SAT32( pX[ k ], psSilk_VAD->NoiseLevelBias[ k ] ); + nrg = SKP_ADD_POS_SAT32( pX[ k ], psSilk_VAD->NoiseLevelBias[ k ] ); SKP_assert( nrg > 0 ); - + /* Invert energies */ inv_nrg = SKP_DIV32( SKP_int32_MAX, nrg ); SKP_assert( inv_nrg >= 0 ); - + /* Less update when subband energy is high */ if( nrg > SKP_LSHIFT( nl, 3 ) ) { coef = VAD_NOISE_LEVEL_SMOOTH_COEF_Q16 >> 3; diff --git a/libs/silk/src/SKP_Silk_VQ_nearest_neighbor_FIX.c b/libs/silk/src/SKP_Silk_VQ_nearest_neighbor_FIX.c index 58c9806066..254823ed21 100644 --- a/libs/silk/src/SKP_Silk_VQ_nearest_neighbor_FIX.c +++ b/libs/silk/src/SKP_Silk_VQ_nearest_neighbor_FIX.c @@ -1,27 +1,27 @@ /*********************************************************************** -Copyright (c) 2006-2011, Skype Limited. All rights reserved. -Redistribution and use in source and binary forms, with or without -modification, (subject to the limitations in the disclaimer below) +Copyright (c) 2006-2011, Skype Limited. All rights reserved. +Redistribution and use in source and binary forms, with or without +modification, (subject to the limitations in the disclaimer below) are permitted provided that the following conditions are met: - Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. -- Redistributions in binary form must reproduce the above copyright -notice, this list of conditions and the following disclaimer in the +- Redistributions in binary form must reproduce the above copyright +notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. -- Neither the name of Skype Limited, nor the names of specific -contributors, may be used to endorse or promote products derived from +- Neither the name of Skype Limited, nor the names of specific +contributors, may be used to endorse or promote products derived from this software without specific prior written permission. -NO EXPRESS OR IMPLIED LICENSES TO ANY PARTY'S PATENT RIGHTS ARE GRANTED -BY THIS LICENSE. THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND +NO EXPRESS OR IMPLIED LICENSES TO ANY PARTY'S PATENT RIGHTS ARE GRANTED +BY THIS LICENSE. THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS ''AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, -BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND -FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE -COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND +FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT -NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF -USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON -ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF +USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON +ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ***********************************************************************/ @@ -69,7 +69,7 @@ void SKP_Silk_VQ_WMat_EC_FIX( sum1_Q14 = SKP_SMLAWB( sum1_Q14, sum2_Q16, diff_Q14[ 0 ] ); /* second row of W_Q18 */ - sum2_Q16 = SKP_SMULWB( W_Q18[ 7 ], diff_Q14[ 2 ] ); + sum2_Q16 = SKP_SMULWB( W_Q18[ 7 ], diff_Q14[ 2 ] ); sum2_Q16 = SKP_SMLAWB( sum2_Q16, W_Q18[ 8 ], diff_Q14[ 3 ] ); sum2_Q16 = SKP_SMLAWB( sum2_Q16, W_Q18[ 9 ], diff_Q14[ 4 ] ); sum2_Q16 = SKP_LSHIFT( sum2_Q16, 1 ); @@ -77,20 +77,20 @@ void SKP_Silk_VQ_WMat_EC_FIX( sum1_Q14 = SKP_SMLAWB( sum1_Q14, sum2_Q16, diff_Q14[ 1 ] ); /* third row of W_Q18 */ - sum2_Q16 = SKP_SMULWB( W_Q18[ 13 ], diff_Q14[ 3 ] ); + sum2_Q16 = SKP_SMULWB( W_Q18[ 13 ], diff_Q14[ 3 ] ); sum2_Q16 = SKP_SMLAWB( sum2_Q16, W_Q18[ 14 ], diff_Q14[ 4 ] ); sum2_Q16 = SKP_LSHIFT( sum2_Q16, 1 ); sum2_Q16 = SKP_SMLAWB( sum2_Q16, W_Q18[ 12 ], diff_Q14[ 2 ] ); sum1_Q14 = SKP_SMLAWB( sum1_Q14, sum2_Q16, diff_Q14[ 2 ] ); /* fourth row of W_Q18 */ - sum2_Q16 = SKP_SMULWB( W_Q18[ 19 ], diff_Q14[ 4 ] ); + sum2_Q16 = SKP_SMULWB( W_Q18[ 19 ], diff_Q14[ 4 ] ); sum2_Q16 = SKP_LSHIFT( sum2_Q16, 1 ); sum2_Q16 = SKP_SMLAWB( sum2_Q16, W_Q18[ 18 ], diff_Q14[ 3 ] ); sum1_Q14 = SKP_SMLAWB( sum1_Q14, sum2_Q16, diff_Q14[ 3 ] ); /* last row of W_Q18 */ - sum2_Q16 = SKP_SMULWB( W_Q18[ 24 ], diff_Q14[ 4 ] ); + sum2_Q16 = SKP_SMULWB( W_Q18[ 24 ], diff_Q14[ 4 ] ); sum1_Q14 = SKP_SMLAWB( sum1_Q14, sum2_Q16, diff_Q14[ 4 ] ); SKP_assert( sum1_Q14 >= 0 ); diff --git a/libs/silk/src/SKP_Silk_ana_filt_bank_1.c b/libs/silk/src/SKP_Silk_ana_filt_bank_1.c index 2e9ac6bbb1..0912a7b5f5 100644 --- a/libs/silk/src/SKP_Silk_ana_filt_bank_1.c +++ b/libs/silk/src/SKP_Silk_ana_filt_bank_1.c @@ -1,27 +1,27 @@ /*********************************************************************** -Copyright (c) 2006-2011, Skype Limited. All rights reserved. -Redistribution and use in source and binary forms, with or without -modification, (subject to the limitations in the disclaimer below) +Copyright (c) 2006-2011, Skype Limited. All rights reserved. +Redistribution and use in source and binary forms, with or without +modification, (subject to the limitations in the disclaimer below) are permitted provided that the following conditions are met: - Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. -- Redistributions in binary form must reproduce the above copyright -notice, this list of conditions and the following disclaimer in the +- Redistributions in binary form must reproduce the above copyright +notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. -- Neither the name of Skype Limited, nor the names of specific -contributors, may be used to endorse or promote products derived from +- Neither the name of Skype Limited, nor the names of specific +contributors, may be used to endorse or promote products derived from this software without specific prior written permission. -NO EXPRESS OR IMPLIED LICENSES TO ANY PARTY'S PATENT RIGHTS ARE GRANTED -BY THIS LICENSE. THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND +NO EXPRESS OR IMPLIED LICENSES TO ANY PARTY'S PATENT RIGHTS ARE GRANTED +BY THIS LICENSE. THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS ''AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, -BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND -FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE -COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND +FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT -NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF -USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON -ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF +USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON +ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ***********************************************************************/ diff --git a/libs/silk/src/SKP_Silk_apply_sine_window_new.c b/libs/silk/src/SKP_Silk_apply_sine_window_new.c index 3c99099c75..2d07a9f3a9 100644 --- a/libs/silk/src/SKP_Silk_apply_sine_window_new.c +++ b/libs/silk/src/SKP_Silk_apply_sine_window_new.c @@ -1,27 +1,27 @@ /*********************************************************************** -Copyright (c) 2006-2011, Skype Limited. All rights reserved. -Redistribution and use in source and binary forms, with or without -modification, (subject to the limitations in the disclaimer below) +Copyright (c) 2006-2011, Skype Limited. All rights reserved. +Redistribution and use in source and binary forms, with or without +modification, (subject to the limitations in the disclaimer below) are permitted provided that the following conditions are met: - Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. -- Redistributions in binary form must reproduce the above copyright -notice, this list of conditions and the following disclaimer in the +- Redistributions in binary form must reproduce the above copyright +notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. -- Neither the name of Skype Limited, nor the names of specific -contributors, may be used to endorse or promote products derived from +- Neither the name of Skype Limited, nor the names of specific +contributors, may be used to endorse or promote products derived from this software without specific prior written permission. -NO EXPRESS OR IMPLIED LICENSES TO ANY PARTY'S PATENT RIGHTS ARE GRANTED -BY THIS LICENSE. THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND +NO EXPRESS OR IMPLIED LICENSES TO ANY PARTY'S PATENT RIGHTS ARE GRANTED +BY THIS LICENSE. THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS ''AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, -BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND -FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE -COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND +FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT -NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF -USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON -ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF +USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON +ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ***********************************************************************/ @@ -34,7 +34,7 @@ OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. /* Every other sample is linearly interpolated, for speed. */ /* Window length must be between 16 and 120 (incl) and a multiple of 4. */ -/* Matlab code for table: +/* Matlab code for table: for k=16:9*4:16+2*9*4, fprintf(' %7.d,', -round(65536*pi ./ (k:4:k+8*4))); fprintf('\n'); end */ static SKP_int16 freq_table_Q16[ 27 ] = { @@ -98,4 +98,3 @@ void SKP_Silk_apply_sine_window_new( S1_Q16 = SKP_min( S1_Q16, ( 1 << 16 ) ); } } - diff --git a/libs/silk/src/SKP_Silk_array_maxabs.c b/libs/silk/src/SKP_Silk_array_maxabs.c index 3dfa6f99ee..092019e72a 100644 --- a/libs/silk/src/SKP_Silk_array_maxabs.c +++ b/libs/silk/src/SKP_Silk_array_maxabs.c @@ -1,27 +1,27 @@ /*********************************************************************** -Copyright (c) 2006-2011, Skype Limited. All rights reserved. -Redistribution and use in source and binary forms, with or without -modification, (subject to the limitations in the disclaimer below) +Copyright (c) 2006-2011, Skype Limited. All rights reserved. +Redistribution and use in source and binary forms, with or without +modification, (subject to the limitations in the disclaimer below) are permitted provided that the following conditions are met: - Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. -- Redistributions in binary form must reproduce the above copyright -notice, this list of conditions and the following disclaimer in the +- Redistributions in binary form must reproduce the above copyright +notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. -- Neither the name of Skype Limited, nor the names of specific -contributors, may be used to endorse or promote products derived from +- Neither the name of Skype Limited, nor the names of specific +contributors, may be used to endorse or promote products derived from this software without specific prior written permission. -NO EXPRESS OR IMPLIED LICENSES TO ANY PARTY'S PATENT RIGHTS ARE GRANTED -BY THIS LICENSE. THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND +NO EXPRESS OR IMPLIED LICENSES TO ANY PARTY'S PATENT RIGHTS ARE GRANTED +BY THIS LICENSE. THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS ''AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, -BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND -FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE -COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND +FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT -NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF -USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON -ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF +USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON +ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ***********************************************************************/ @@ -40,7 +40,7 @@ OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. SKP_int16 SKP_Silk_int16_array_maxabs( /* O Maximum absolute value, max: 2^15-1 */ const SKP_int16 *vec, /* I Input vector [len] */ const SKP_int32 len /* I Length of input vector */ -) +) { SKP_int32 max = 0, i, lvl = 0, ind; if( len == 0 ) return 0; diff --git a/libs/silk/src/SKP_Silk_autocorr.c b/libs/silk/src/SKP_Silk_autocorr.c index 7da6f986d5..2be899c812 100644 --- a/libs/silk/src/SKP_Silk_autocorr.c +++ b/libs/silk/src/SKP_Silk_autocorr.c @@ -1,27 +1,27 @@ /*********************************************************************** -Copyright (c) 2006-2011, Skype Limited. All rights reserved. -Redistribution and use in source and binary forms, with or without -modification, (subject to the limitations in the disclaimer below) +Copyright (c) 2006-2011, Skype Limited. All rights reserved. +Redistribution and use in source and binary forms, with or without +modification, (subject to the limitations in the disclaimer below) are permitted provided that the following conditions are met: - Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. -- Redistributions in binary form must reproduce the above copyright -notice, this list of conditions and the following disclaimer in the +- Redistributions in binary form must reproduce the above copyright +notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. -- Neither the name of Skype Limited, nor the names of specific -contributors, may be used to endorse or promote products derived from +- Neither the name of Skype Limited, nor the names of specific +contributors, may be used to endorse or promote products derived from this software without specific prior written permission. -NO EXPRESS OR IMPLIED LICENSES TO ANY PARTY'S PATENT RIGHTS ARE GRANTED -BY THIS LICENSE. THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND +NO EXPRESS OR IMPLIED LICENSES TO ANY PARTY'S PATENT RIGHTS ARE GRANTED +BY THIS LICENSE. THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS ''AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, -BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND -FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE -COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND +FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT -NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF -USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON -ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF +USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON +ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ***********************************************************************/ @@ -37,7 +37,7 @@ OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. #include "SKP_Silk_SigProc_FIX.h" /* Compute autocorrelation */ -void SKP_Silk_autocorr( +void SKP_Silk_autocorr( SKP_int32 *results, /* O Result (length correlationCount) */ SKP_int *scale, /* O Scaling of the correlation vector */ const SKP_int16 *inputData, /* I Input data to correlate */ diff --git a/libs/silk/src/SKP_Silk_biquad.c b/libs/silk/src/SKP_Silk_biquad.c index f634e77e49..8cbe0f062f 100644 --- a/libs/silk/src/SKP_Silk_biquad.c +++ b/libs/silk/src/SKP_Silk_biquad.c @@ -1,27 +1,27 @@ /*********************************************************************** -Copyright (c) 2006-2011, Skype Limited. All rights reserved. -Redistribution and use in source and binary forms, with or without -modification, (subject to the limitations in the disclaimer below) +Copyright (c) 2006-2011, Skype Limited. All rights reserved. +Redistribution and use in source and binary forms, with or without +modification, (subject to the limitations in the disclaimer below) are permitted provided that the following conditions are met: - Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. -- Redistributions in binary form must reproduce the above copyright -notice, this list of conditions and the following disclaimer in the +- Redistributions in binary form must reproduce the above copyright +notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. -- Neither the name of Skype Limited, nor the names of specific -contributors, may be used to endorse or promote products derived from +- Neither the name of Skype Limited, nor the names of specific +contributors, may be used to endorse or promote products derived from this software without specific prior written permission. -NO EXPRESS OR IMPLIED LICENSES TO ANY PARTY'S PATENT RIGHTS ARE GRANTED -BY THIS LICENSE. THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND +NO EXPRESS OR IMPLIED LICENSES TO ANY PARTY'S PATENT RIGHTS ARE GRANTED +BY THIS LICENSE. THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS ''AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, -BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND -FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE -COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND +FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT -NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF -USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON -ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF +USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON +ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ***********************************************************************/ diff --git a/libs/silk/src/SKP_Silk_biquad_alt.c b/libs/silk/src/SKP_Silk_biquad_alt.c index 9fb0590166..5b6508bf16 100644 --- a/libs/silk/src/SKP_Silk_biquad_alt.c +++ b/libs/silk/src/SKP_Silk_biquad_alt.c @@ -1,27 +1,27 @@ /*********************************************************************** -Copyright (c) 2006-2011, Skype Limited. All rights reserved. -Redistribution and use in source and binary forms, with or without -modification, (subject to the limitations in the disclaimer below) +Copyright (c) 2006-2011, Skype Limited. All rights reserved. +Redistribution and use in source and binary forms, with or without +modification, (subject to the limitations in the disclaimer below) are permitted provided that the following conditions are met: - Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. -- Redistributions in binary form must reproduce the above copyright -notice, this list of conditions and the following disclaimer in the +- Redistributions in binary form must reproduce the above copyright +notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. -- Neither the name of Skype Limited, nor the names of specific -contributors, may be used to endorse or promote products derived from +- Neither the name of Skype Limited, nor the names of specific +contributors, may be used to endorse or promote products derived from this software without specific prior written permission. -NO EXPRESS OR IMPLIED LICENSES TO ANY PARTY'S PATENT RIGHTS ARE GRANTED -BY THIS LICENSE. THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND +NO EXPRESS OR IMPLIED LICENSES TO ANY PARTY'S PATENT RIGHTS ARE GRANTED +BY THIS LICENSE. THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS ''AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, -BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND -FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE -COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND +FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT -NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF -USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON -ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF +USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON +ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ***********************************************************************/ @@ -53,7 +53,7 @@ void SKP_Silk_biquad_alt( A0_U_Q28 = SKP_RSHIFT( -A_Q28[ 0 ], 14 ); /* upper part */ A1_L_Q28 = ( -A_Q28[ 1 ] ) & 0x00003FFF; /* lower part */ A1_U_Q28 = SKP_RSHIFT( -A_Q28[ 1 ], 14 ); /* upper part */ - + for( k = 0; k < len; k++ ) { /* S[ 0 ], S[ 1 ]: Q12 */ inval = in[ k ]; diff --git a/libs/silk/src/SKP_Silk_burg_modified.c b/libs/silk/src/SKP_Silk_burg_modified.c index 7e7d306f8a..f61f536312 100644 --- a/libs/silk/src/SKP_Silk_burg_modified.c +++ b/libs/silk/src/SKP_Silk_burg_modified.c @@ -1,27 +1,27 @@ /*********************************************************************** -Copyright (c) 2006-2011, Skype Limited. All rights reserved. -Redistribution and use in source and binary forms, with or without -modification, (subject to the limitations in the disclaimer below) +Copyright (c) 2006-2011, Skype Limited. All rights reserved. +Redistribution and use in source and binary forms, with or without +modification, (subject to the limitations in the disclaimer below) are permitted provided that the following conditions are met: - Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. -- Redistributions in binary form must reproduce the above copyright -notice, this list of conditions and the following disclaimer in the +- Redistributions in binary form must reproduce the above copyright +notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. -- Neither the name of Skype Limited, nor the names of specific -contributors, may be used to endorse or promote products derived from +- Neither the name of Skype Limited, nor the names of specific +contributors, may be used to endorse or promote products derived from this software without specific prior written permission. -NO EXPRESS OR IMPLIED LICENSES TO ANY PARTY'S PATENT RIGHTS ARE GRANTED -BY THIS LICENSE. THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND +NO EXPRESS OR IMPLIED LICENSES TO ANY PARTY'S PATENT RIGHTS ARE GRANTED +BY THIS LICENSE. THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS ''AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, -BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND -FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE -COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND +FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT -NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF -USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON -ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF +USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON +ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ***********************************************************************/ @@ -95,7 +95,7 @@ void SKP_Silk_burg_modified( for( s = 0; s < nb_subfr; s++ ) { x_ptr = x + s * subfr_length; for( n = 1; n < D + 1; n++ ) { - C_first_row[ n - 1 ] += (SKP_int32)SKP_RSHIFT64( + C_first_row[ n - 1 ] += (SKP_int32)SKP_RSHIFT64( SKP_Silk_inner_prod16_aligned_64( x_ptr, x_ptr + n, subfr_length - n ), rshifts ); } } @@ -103,13 +103,13 @@ void SKP_Silk_burg_modified( for( s = 0; s < nb_subfr; s++ ) { x_ptr = x + s * subfr_length; for( n = 1; n < D + 1; n++ ) { - C_first_row[ n - 1 ] += SKP_LSHIFT32( + C_first_row[ n - 1 ] += SKP_LSHIFT32( SKP_Silk_inner_prod_aligned( x_ptr, x_ptr + n, subfr_length - n ), -rshifts ); } } } SKP_memcpy( C_last_row, C_first_row, SKP_Silk_MAX_ORDER_LPC * sizeof( SKP_int32 ) ); - + /* Initialize */ CAb[ 0 ] = CAf[ 0 ] = C0 + SKP_SMMUL( WhiteNoiseFrac_Q32, C0 ) + 1; // Q(-rshifts) @@ -156,9 +156,9 @@ void SKP_Silk_burg_modified( tmp1 = -tmp1; // Q17 tmp2 = -tmp2; // Q17 for( k = 0; k <= n; k++ ) { - CAf[ k ] = SKP_SMLAWW( CAf[ k ], tmp1, + CAf[ k ] = SKP_SMLAWW( CAf[ k ], tmp1, SKP_LSHIFT32( (SKP_int32)x_ptr[ n - k ], -rshifts - 1 ) ); // Q( -rshift ) - CAb[ k ] = SKP_SMLAWW( CAb[ k ], tmp2, + CAb[ k ] = SKP_SMLAWW( CAb[ k ], tmp2, SKP_LSHIFT32( (SKP_int32)x_ptr[ subfr_length - n + k - 1 ], -rshifts - 1 ) );// Q( -rshift ) } } @@ -178,7 +178,7 @@ void SKP_Silk_burg_modified( tmp1 = SKP_ADD_LSHIFT32( tmp1, SKP_SMMUL( C_last_row[ n - k - 1 ], Atmp1 ), 32 - QA - lz ); // Q( -rshifts ) tmp2 = SKP_ADD_LSHIFT32( tmp2, SKP_SMMUL( C_first_row[ n - k - 1 ], Atmp1 ), 32 - QA - lz ); // Q( -rshifts ) num = SKP_ADD_LSHIFT32( num, SKP_SMMUL( CAb[ n - k ], Atmp1 ), 32 - QA - lz ); // Q( -rshifts ) - nrg = SKP_ADD_LSHIFT32( nrg, SKP_SMMUL( SKP_ADD32( CAb[ k + 1 ], CAf[ k + 1 ] ), + nrg = SKP_ADD_LSHIFT32( nrg, SKP_SMMUL( SKP_ADD32( CAb[ k + 1 ], CAf[ k + 1 ] ), Atmp1 ), 32 - QA - lz ); // Q( 1-rshifts ) } CAf[ n + 1 ] = tmp1; // Q( -rshifts ) diff --git a/libs/silk/src/SKP_Silk_bwexpander.c b/libs/silk/src/SKP_Silk_bwexpander.c index 0d38b0806d..4558efa273 100644 --- a/libs/silk/src/SKP_Silk_bwexpander.c +++ b/libs/silk/src/SKP_Silk_bwexpander.c @@ -1,34 +1,34 @@ /*********************************************************************** -Copyright (c) 2006-2011, Skype Limited. All rights reserved. -Redistribution and use in source and binary forms, with or without -modification, (subject to the limitations in the disclaimer below) +Copyright (c) 2006-2011, Skype Limited. All rights reserved. +Redistribution and use in source and binary forms, with or without +modification, (subject to the limitations in the disclaimer below) are permitted provided that the following conditions are met: - Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. -- Redistributions in binary form must reproduce the above copyright -notice, this list of conditions and the following disclaimer in the +- Redistributions in binary form must reproduce the above copyright +notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. -- Neither the name of Skype Limited, nor the names of specific -contributors, may be used to endorse or promote products derived from +- Neither the name of Skype Limited, nor the names of specific +contributors, may be used to endorse or promote products derived from this software without specific prior written permission. -NO EXPRESS OR IMPLIED LICENSES TO ANY PARTY'S PATENT RIGHTS ARE GRANTED -BY THIS LICENSE. THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND +NO EXPRESS OR IMPLIED LICENSES TO ANY PARTY'S PATENT RIGHTS ARE GRANTED +BY THIS LICENSE. THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS ''AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, -BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND -FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE -COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND +FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT -NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF -USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON -ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF +USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON +ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ***********************************************************************/ #include "SKP_Silk_SigProc_FIX.h" /* Chirp (bandwidth expand) LP AR filter */ -void SKP_Silk_bwexpander( +void SKP_Silk_bwexpander( SKP_int16 *ar, /* I/O AR filter to be expanded (without leading 1) */ const SKP_int d, /* I Length of ar */ SKP_int32 chirp_Q16 /* I Chirp factor (typically in the range 0 to 1) */ diff --git a/libs/silk/src/SKP_Silk_bwexpander_32.c b/libs/silk/src/SKP_Silk_bwexpander_32.c index 785d20dc04..6b74ca482c 100644 --- a/libs/silk/src/SKP_Silk_bwexpander_32.c +++ b/libs/silk/src/SKP_Silk_bwexpander_32.c @@ -1,34 +1,34 @@ /*********************************************************************** -Copyright (c) 2006-2011, Skype Limited. All rights reserved. -Redistribution and use in source and binary forms, with or without -modification, (subject to the limitations in the disclaimer below) +Copyright (c) 2006-2011, Skype Limited. All rights reserved. +Redistribution and use in source and binary forms, with or without +modification, (subject to the limitations in the disclaimer below) are permitted provided that the following conditions are met: - Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. -- Redistributions in binary form must reproduce the above copyright -notice, this list of conditions and the following disclaimer in the +- Redistributions in binary form must reproduce the above copyright +notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. -- Neither the name of Skype Limited, nor the names of specific -contributors, may be used to endorse or promote products derived from +- Neither the name of Skype Limited, nor the names of specific +contributors, may be used to endorse or promote products derived from this software without specific prior written permission. -NO EXPRESS OR IMPLIED LICENSES TO ANY PARTY'S PATENT RIGHTS ARE GRANTED -BY THIS LICENSE. THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND +NO EXPRESS OR IMPLIED LICENSES TO ANY PARTY'S PATENT RIGHTS ARE GRANTED +BY THIS LICENSE. THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS ''AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, -BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND -FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE -COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND +FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT -NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF -USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON -ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF +USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON +ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ***********************************************************************/ #include "SKP_Silk_SigProc_FIX.h" /* Chirp (bandwidth expand) LP AR filter */ -void SKP_Silk_bwexpander_32( +void SKP_Silk_bwexpander_32( SKP_int32 *ar, /* I/O AR filter to be expanded (without leading 1) */ const SKP_int d, /* I Length of ar */ SKP_int32 chirp_Q16 /* I Chirp factor in Q16 */ diff --git a/libs/silk/src/SKP_Silk_code_signs.c b/libs/silk/src/SKP_Silk_code_signs.c index 04ae830369..ba724172a2 100644 --- a/libs/silk/src/SKP_Silk_code_signs.c +++ b/libs/silk/src/SKP_Silk_code_signs.c @@ -1,27 +1,27 @@ /*********************************************************************** -Copyright (c) 2006-2011, Skype Limited. All rights reserved. -Redistribution and use in source and binary forms, with or without -modification, (subject to the limitations in the disclaimer below) +Copyright (c) 2006-2011, Skype Limited. All rights reserved. +Redistribution and use in source and binary forms, with or without +modification, (subject to the limitations in the disclaimer below) are permitted provided that the following conditions are met: - Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. -- Redistributions in binary form must reproduce the above copyright -notice, this list of conditions and the following disclaimer in the +- Redistributions in binary form must reproduce the above copyright +notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. -- Neither the name of Skype Limited, nor the names of specific -contributors, may be used to endorse or promote products derived from +- Neither the name of Skype Limited, nor the names of specific +contributors, may be used to endorse or promote products derived from this software without specific prior written permission. -NO EXPRESS OR IMPLIED LICENSES TO ANY PARTY'S PATENT RIGHTS ARE GRANTED -BY THIS LICENSE. THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND +NO EXPRESS OR IMPLIED LICENSES TO ANY PARTY'S PATENT RIGHTS ARE GRANTED +BY THIS LICENSE. THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS ''AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, -BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND -FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE -COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND +FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT -NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF -USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON -ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF +USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON +ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ***********************************************************************/ @@ -51,7 +51,7 @@ void SKP_Silk_encode_signs( cdf[ 0 ] = 0; cdf[ 1 ] = SKP_Silk_sign_CDF[ i ]; cdf[ 2 ] = 65535; - + for( i = 0; i < length; i++ ) { if( q[ i ] != 0 ) { inData = SKP_enc_map( q[ i ] ); /* - = 0, + = 1 */ @@ -78,7 +78,7 @@ void SKP_Silk_decode_signs( cdf[ 0 ] = 0; cdf[ 1 ] = SKP_Silk_sign_CDF[ i ]; cdf[ 2 ] = 65535; - + for( i = 0; i < length; i++ ) { if( q[ i ] > 0 ) { SKP_Silk_range_decoder( &data, sRC, cdf, 1 ); @@ -88,4 +88,3 @@ void SKP_Silk_decode_signs( } } } - diff --git a/libs/silk/src/SKP_Silk_common_pitch_est_defines.h b/libs/silk/src/SKP_Silk_common_pitch_est_defines.h index f5708ebb94..5a08a7710f 100644 --- a/libs/silk/src/SKP_Silk_common_pitch_est_defines.h +++ b/libs/silk/src/SKP_Silk_common_pitch_est_defines.h @@ -1,27 +1,27 @@ /*********************************************************************** -Copyright (c) 2006-2011, Skype Limited. All rights reserved. -Redistribution and use in source and binary forms, with or without -modification, (subject to the limitations in the disclaimer below) +Copyright (c) 2006-2011, Skype Limited. All rights reserved. +Redistribution and use in source and binary forms, with or without +modification, (subject to the limitations in the disclaimer below) are permitted provided that the following conditions are met: - Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. -- Redistributions in binary form must reproduce the above copyright -notice, this list of conditions and the following disclaimer in the +- Redistributions in binary form must reproduce the above copyright +notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. -- Neither the name of Skype Limited, nor the names of specific -contributors, may be used to endorse or promote products derived from +- Neither the name of Skype Limited, nor the names of specific +contributors, may be used to endorse or promote products derived from this software without specific prior written permission. -NO EXPRESS OR IMPLIED LICENSES TO ANY PARTY'S PATENT RIGHTS ARE GRANTED -BY THIS LICENSE. THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND +NO EXPRESS OR IMPLIED LICENSES TO ANY PARTY'S PATENT RIGHTS ARE GRANTED +BY THIS LICENSE. THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS ''AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, -BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND -FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE -COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND +FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT -NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF -USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON -ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF +USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON +ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ***********************************************************************/ @@ -73,4 +73,3 @@ extern const SKP_int16 SKP_Silk_cbk_sizes_stage3[ SKP_Silk_PITCH_EST_MAX_COMPLEX extern const SKP_int16 SKP_Silk_cbk_offsets_stage3[ SKP_Silk_PITCH_EST_MAX_COMPLEX + 1 ]; #endif - diff --git a/libs/silk/src/SKP_Silk_control_audio_bandwidth.c b/libs/silk/src/SKP_Silk_control_audio_bandwidth.c index 2ee426431a..e977475569 100644 --- a/libs/silk/src/SKP_Silk_control_audio_bandwidth.c +++ b/libs/silk/src/SKP_Silk_control_audio_bandwidth.c @@ -1,27 +1,27 @@ /*********************************************************************** -Copyright (c) 2006-2011, Skype Limited. All rights reserved. -Redistribution and use in source and binary forms, with or without -modification, (subject to the limitations in the disclaimer below) +Copyright (c) 2006-2011, Skype Limited. All rights reserved. +Redistribution and use in source and binary forms, with or without +modification, (subject to the limitations in the disclaimer below) are permitted provided that the following conditions are met: - Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. -- Redistributions in binary form must reproduce the above copyright -notice, this list of conditions and the following disclaimer in the +- Redistributions in binary form must reproduce the above copyright +notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. -- Neither the name of Skype Limited, nor the names of specific -contributors, may be used to endorse or promote products derived from +- Neither the name of Skype Limited, nor the names of specific +contributors, may be used to endorse or promote products derived from this software without specific prior written permission. -NO EXPRESS OR IMPLIED LICENSES TO ANY PARTY'S PATENT RIGHTS ARE GRANTED -BY THIS LICENSE. THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND +NO EXPRESS OR IMPLIED LICENSES TO ANY PARTY'S PATENT RIGHTS ARE GRANTED +BY THIS LICENSE. THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS ''AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, -BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND -FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE -COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND +FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT -NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF -USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON -ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF +USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON +ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ***********************************************************************/ @@ -63,19 +63,19 @@ SKP_int SKP_Silk_control_audio_bandwidth( if( psEncC->vadFlag == NO_VOICE_ACTIVITY ) { /* Low speech activity */ /* Check if we should switch down */ -#if SWITCH_TRANSITION_FILTERING +#if SWITCH_TRANSITION_FILTERING if( ( psEncC->sLP.transition_frame_no == 0 ) && /* Transition phase not active */ ( psEncC->bitrateDiff <= -ACCUM_BITS_DIFF_THRESHOLD || /* Bitrate threshold is met */ ( psEncC->sSWBdetect.WB_detected * psEncC->fs_kHz == 24 ) ) ) { /* Forced down-switching due to WB input */ psEncC->sLP.transition_frame_no = 1; /* Begin transition phase */ psEncC->sLP.mode = 0; /* Switch down */ - } else if( + } else if( ( psEncC->sLP.transition_frame_no >= TRANSITION_FRAMES_DOWN ) && /* Transition phase complete */ ( psEncC->sLP.mode == 0 ) ) { /* Ready to switch down */ psEncC->sLP.transition_frame_no = 0; /* Ready for new transition phase */ #else - if( psEncC->bitrateDiff <= -ACCUM_BITS_DIFF_THRESHOLD ) { /* Bitrate threshold is met */ -#endif + if( psEncC->bitrateDiff <= -ACCUM_BITS_DIFF_THRESHOLD ) { /* Bitrate threshold is met */ +#endif psEncC->bitrateDiff = 0; /* Switch to a lower sample frequency */ @@ -91,11 +91,11 @@ SKP_int SKP_Silk_control_audio_bandwidth( /* Check if we should switch up */ if( ( ( psEncC->fs_kHz * 1000 < psEncC->API_fs_Hz ) && - ( psEncC->TargetRate_bps >= psEncC->bitrate_threshold_up ) && - ( psEncC->sSWBdetect.WB_detected * psEncC->fs_kHz < 16 ) ) && - ( ( ( psEncC->fs_kHz == 16 ) && ( psEncC->maxInternal_fs_kHz >= 24 ) ) || + ( psEncC->TargetRate_bps >= psEncC->bitrate_threshold_up ) && + ( psEncC->sSWBdetect.WB_detected * psEncC->fs_kHz < 16 ) ) && + ( ( ( psEncC->fs_kHz == 16 ) && ( psEncC->maxInternal_fs_kHz >= 24 ) ) || ( ( psEncC->fs_kHz == 12 ) && ( psEncC->maxInternal_fs_kHz >= 16 ) ) || - ( ( psEncC->fs_kHz == 8 ) && ( psEncC->maxInternal_fs_kHz >= 12 ) ) ) + ( ( psEncC->fs_kHz == 8 ) && ( psEncC->maxInternal_fs_kHz >= 12 ) ) ) #if SWITCH_TRANSITION_FILTERING && ( psEncC->sLP.transition_frame_no == 0 ) ) { /* No transition phase running, ready to switch */ psEncC->sLP.mode = 1; /* Switch up */ @@ -120,7 +120,7 @@ SKP_int SKP_Silk_control_audio_bandwidth( #if SWITCH_TRANSITION_FILTERING /* After switching up, stop transition filter during speech inactivity */ if( ( psEncC->sLP.mode == 1 ) && - ( psEncC->sLP.transition_frame_no >= TRANSITION_FRAMES_UP ) && + ( psEncC->sLP.transition_frame_no >= TRANSITION_FRAMES_UP ) && ( psEncC->vadFlag == NO_VOICE_ACTIVITY ) ) { psEncC->sLP.transition_frame_no = 0; diff --git a/libs/silk/src/SKP_Silk_control_codec_FIX.c b/libs/silk/src/SKP_Silk_control_codec_FIX.c index 496a228b9c..3a9f1744a6 100644 --- a/libs/silk/src/SKP_Silk_control_codec_FIX.c +++ b/libs/silk/src/SKP_Silk_control_codec_FIX.c @@ -1,27 +1,27 @@ /*********************************************************************** -Copyright (c) 2006-2011, Skype Limited. All rights reserved. -Redistribution and use in source and binary forms, with or without -modification, (subject to the limitations in the disclaimer below) +Copyright (c) 2006-2011, Skype Limited. All rights reserved. +Redistribution and use in source and binary forms, with or without +modification, (subject to the limitations in the disclaimer below) are permitted provided that the following conditions are met: - Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. -- Redistributions in binary form must reproduce the above copyright -notice, this list of conditions and the following disclaimer in the +- Redistributions in binary form must reproduce the above copyright +notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. -- Neither the name of Skype Limited, nor the names of specific -contributors, may be used to endorse or promote products derived from +- Neither the name of Skype Limited, nor the names of specific +contributors, may be used to endorse or promote products derived from this software without specific prior written permission. -NO EXPRESS OR IMPLIED LICENSES TO ANY PARTY'S PATENT RIGHTS ARE GRANTED -BY THIS LICENSE. THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND +NO EXPRESS OR IMPLIED LICENSES TO ANY PARTY'S PATENT RIGHTS ARE GRANTED +BY THIS LICENSE. THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS ''AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, -BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND -FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE -COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND +FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT -NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF -USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON -ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF +USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON +ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ***********************************************************************/ @@ -53,7 +53,7 @@ SKP_INLINE SKP_int SKP_Silk_setup_LBRR_FIX( ); /* Control encoder */ -SKP_int SKP_Silk_control_encoder_FIX( +SKP_int SKP_Silk_control_encoder_FIX( SKP_Silk_encoder_state_FIX *psEnc, /* I/O Pointer to Silk encoder state */ const SKP_int PacketSize_ms, /* I Packet length (ms) */ const SKP_int32 TargetRate_bps, /* I Target max bitrate (bps) */ @@ -143,7 +143,7 @@ void SKP_Silk_LBRR_ctrl_FIX( /* Usage Control based on sensitivity and packet loss caracteristics */ /* For now only enable adding to next for active frames. Make more complex later */ LBRR_usage = SKP_SILK_NO_LBRR; - if( psEnc->speech_activity_Q8 > SKP_FIX_CONST( LBRR_SPEECH_ACTIVITY_THRES, 8 ) && psEnc->sCmn.PacketLoss_perc > LBRR_LOSS_THRES ) { // nb! maybe multiply loss prob and speech activity + if( psEnc->speech_activity_Q8 > SKP_FIX_CONST( LBRR_SPEECH_ACTIVITY_THRES, 8 ) && psEnc->sCmn.PacketLoss_perc > LBRR_LOSS_THRES ) { // nb! maybe multiply loss prob and speech activity LBRR_usage = SKP_SILK_ADD_LBRR_TO_PLUS1; } psEncCtrlC->LBRR_usage = LBRR_usage; @@ -158,7 +158,7 @@ SKP_INLINE SKP_int SKP_Silk_setup_resamplers_FIX( ) { SKP_int ret = SKP_SILK_NO_ERROR; - + if( psEnc->sCmn.fs_kHz != fs_kHz || psEnc->sCmn.prev_API_fs_Hz != psEnc->sCmn.API_fs_Hz ) { if( psEnc->sCmn.fs_kHz == 0 ) { @@ -212,10 +212,10 @@ SKP_INLINE SKP_int SKP_Silk_setup_packetsize_FIX( SKP_int ret = SKP_SILK_NO_ERROR; /* Set packet size */ - if( ( PacketSize_ms != 20 ) && - ( PacketSize_ms != 40 ) && - ( PacketSize_ms != 60 ) && - ( PacketSize_ms != 80 ) && + if( ( PacketSize_ms != 20 ) && + ( PacketSize_ms != 40 ) && + ( PacketSize_ms != 60 ) && + ( PacketSize_ms != 80 ) && ( PacketSize_ms != 100 ) ) { ret = SKP_SILK_ENC_PACKET_SIZE_NOT_SUPPORTED; } else { @@ -293,11 +293,11 @@ SKP_INLINE SKP_int SKP_Silk_setup_fs_FIX( if( psEnc->sCmn.fs_kHz == 24 ) { psEnc->mu_LTP_Q8 = SKP_FIX_CONST( MU_LTP_QUANT_SWB, 8 ); psEnc->sCmn.bitrate_threshold_up = SKP_int32_MAX; - psEnc->sCmn.bitrate_threshold_down = SWB2WB_BITRATE_BPS; + psEnc->sCmn.bitrate_threshold_down = SWB2WB_BITRATE_BPS; } else if( psEnc->sCmn.fs_kHz == 16 ) { psEnc->mu_LTP_Q8 = SKP_FIX_CONST( MU_LTP_QUANT_WB, 8 ); psEnc->sCmn.bitrate_threshold_up = WB2SWB_BITRATE_BPS; - psEnc->sCmn.bitrate_threshold_down = WB2MB_BITRATE_BPS; + psEnc->sCmn.bitrate_threshold_down = WB2MB_BITRATE_BPS; } else if( psEnc->sCmn.fs_kHz == 12 ) { psEnc->mu_LTP_Q8 = SKP_FIX_CONST( MU_LTP_QUANT_MB, 8 ); psEnc->sCmn.bitrate_threshold_up = MB2WB_BITRATE_BPS; @@ -341,7 +341,7 @@ SKP_INLINE SKP_int SKP_Silk_setup_rate_FIX( for( k = 1; k < TARGET_RATE_TAB_SZ; k++ ) { /* Find bitrate interval in table and interpolate */ if( TargetRate_bps < rateTable[ k ] ) { - frac_Q6 = SKP_DIV32( SKP_LSHIFT( TargetRate_bps - rateTable[ k - 1 ], 6 ), + frac_Q6 = SKP_DIV32( SKP_LSHIFT( TargetRate_bps - rateTable[ k - 1 ], 6 ), rateTable[ k ] - rateTable[ k - 1 ] ); psEnc->SNR_dB_Q7 = SKP_LSHIFT( SNR_table_Q1[ k - 1 ], 6 ) + SKP_MUL( frac_Q6, SNR_table_Q1[ k ] - SNR_table_Q1[ k - 1 ] ); break; @@ -362,7 +362,7 @@ SKP_INLINE SKP_int SKP_Silk_setup_LBRR_FIX( if( psEnc->sCmn.useInBandFEC < 0 || psEnc->sCmn.useInBandFEC > 1 ) { ret = SKP_SILK_ENC_INVALID_INBAND_FEC_SETTING; } - + psEnc->sCmn.LBRR_enabled = psEnc->sCmn.useInBandFEC; if( psEnc->sCmn.fs_kHz == 8 ) { LBRRRate_thres_bps = INBAND_FEC_MIN_RATE_BPS - 9000; diff --git a/libs/silk/src/SKP_Silk_corrMatrix_FIX.c b/libs/silk/src/SKP_Silk_corrMatrix_FIX.c index c359061602..5d907f20f5 100644 --- a/libs/silk/src/SKP_Silk_corrMatrix_FIX.c +++ b/libs/silk/src/SKP_Silk_corrMatrix_FIX.c @@ -1,32 +1,32 @@ /*********************************************************************** -Copyright (c) 2006-2011, Skype Limited. All rights reserved. -Redistribution and use in source and binary forms, with or without -modification, (subject to the limitations in the disclaimer below) +Copyright (c) 2006-2011, Skype Limited. All rights reserved. +Redistribution and use in source and binary forms, with or without +modification, (subject to the limitations in the disclaimer below) are permitted provided that the following conditions are met: - Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. -- Redistributions in binary form must reproduce the above copyright -notice, this list of conditions and the following disclaimer in the +- Redistributions in binary form must reproduce the above copyright +notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. -- Neither the name of Skype Limited, nor the names of specific -contributors, may be used to endorse or promote products derived from +- Neither the name of Skype Limited, nor the names of specific +contributors, may be used to endorse or promote products derived from this software without specific prior written permission. -NO EXPRESS OR IMPLIED LICENSES TO ANY PARTY'S PATENT RIGHTS ARE GRANTED -BY THIS LICENSE. THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND +NO EXPRESS OR IMPLIED LICENSES TO ANY PARTY'S PATENT RIGHTS ARE GRANTED +BY THIS LICENSE. THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS ''AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, -BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND -FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE -COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND +FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT -NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF -USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON -ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF +USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON +ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ***********************************************************************/ /********************************************************************** - * Correlation Matrix Computations for LS estimate. + * Correlation Matrix Computations for LS estimate. **********************************************************************/ #include "SKP_Silk_main_FIX.h" @@ -86,7 +86,7 @@ void SKP_Silk_corrMatrix_FIX( /* Add shifts to get the desired head room */ head_room_rshifts = SKP_max( head_room - SKP_Silk_CLZ32( energy ), 0 ); - + energy = SKP_RSHIFT32( energy, head_room_rshifts ); rshifts_local += head_room_rshifts; @@ -150,4 +150,3 @@ void SKP_Silk_corrMatrix_FIX( } *rshifts = rshifts_local; } - diff --git a/libs/silk/src/SKP_Silk_create_init_destroy.c b/libs/silk/src/SKP_Silk_create_init_destroy.c index 5d2bd3f701..5d119dcc9e 100644 --- a/libs/silk/src/SKP_Silk_create_init_destroy.c +++ b/libs/silk/src/SKP_Silk_create_init_destroy.c @@ -1,27 +1,27 @@ /*********************************************************************** -Copyright (c) 2006-2011, Skype Limited. All rights reserved. -Redistribution and use in source and binary forms, with or without -modification, (subject to the limitations in the disclaimer below) +Copyright (c) 2006-2011, Skype Limited. All rights reserved. +Redistribution and use in source and binary forms, with or without +modification, (subject to the limitations in the disclaimer below) are permitted provided that the following conditions are met: - Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. -- Redistributions in binary form must reproduce the above copyright -notice, this list of conditions and the following disclaimer in the +- Redistributions in binary form must reproduce the above copyright +notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. -- Neither the name of Skype Limited, nor the names of specific -contributors, may be used to endorse or promote products derived from +- Neither the name of Skype Limited, nor the names of specific +contributors, may be used to endorse or promote products derived from this software without specific prior written permission. -NO EXPRESS OR IMPLIED LICENSES TO ANY PARTY'S PATENT RIGHTS ARE GRANTED -BY THIS LICENSE. THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND +NO EXPRESS OR IMPLIED LICENSES TO ANY PARTY'S PATENT RIGHTS ARE GRANTED +BY THIS LICENSE. THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS ''AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, -BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND -FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE -COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND +FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT -NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF -USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON -ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF +USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON +ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ***********************************************************************/ @@ -47,7 +47,6 @@ SKP_int SKP_Silk_init_decoder( SKP_Silk_CNG_Reset( psDec ); SKP_Silk_PLC_Reset( psDec ); - + return(0); } - diff --git a/libs/silk/src/SKP_Silk_dec_API.c b/libs/silk/src/SKP_Silk_dec_API.c index 31d31526d6..006a17ab15 100644 --- a/libs/silk/src/SKP_Silk_dec_API.c +++ b/libs/silk/src/SKP_Silk_dec_API.c @@ -1,27 +1,27 @@ /*********************************************************************** -Copyright (c) 2006-2011, Skype Limited. All rights reserved. -Redistribution and use in source and binary forms, with or without -modification, (subject to the limitations in the disclaimer below) +Copyright (c) 2006-2011, Skype Limited. All rights reserved. +Redistribution and use in source and binary forms, with or without +modification, (subject to the limitations in the disclaimer below) are permitted provided that the following conditions are met: - Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. -- Redistributions in binary form must reproduce the above copyright -notice, this list of conditions and the following disclaimer in the +- Redistributions in binary form must reproduce the above copyright +notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. -- Neither the name of Skype Limited, nor the names of specific -contributors, may be used to endorse or promote products derived from +- Neither the name of Skype Limited, nor the names of specific +contributors, may be used to endorse or promote products derived from this software without specific prior written permission. -NO EXPRESS OR IMPLIED LICENSES TO ANY PARTY'S PATENT RIGHTS ARE GRANTED -BY THIS LICENSE. THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND +NO EXPRESS OR IMPLIED LICENSES TO ANY PARTY'S PATENT RIGHTS ARE GRANTED +BY THIS LICENSE. THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS ''AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, -BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND -FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE -COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND +FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT -NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF -USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON -ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF +USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON +ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ***********************************************************************/ @@ -32,7 +32,7 @@ OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. /* Decoder functions */ /*********************/ -SKP_int SKP_Silk_SDK_Get_Decoder_Size( SKP_int32 *decSizeBytes ) +SKP_int SKP_Silk_SDK_Get_Decoder_Size( SKP_int32 *decSizeBytes ) { SKP_int ret = 0; @@ -95,14 +95,14 @@ SKP_int SKP_Silk_SDK_Decode( lostFlag = 1; ret = SKP_SILK_DEC_PAYLOAD_TOO_LARGE; } - + /* Save previous sample frequency */ prev_fs_kHz = psDec->fs_kHz; - + /* Call decoder for one frame */ - ret += SKP_Silk_decode_frame( psDec, pSamplesOutInternal, nSamplesOut, inData, nBytesIn, + ret += SKP_Silk_decode_frame( psDec, pSamplesOutInternal, nSamplesOut, inData, nBytesIn, lostFlag, &used_bytes ); - + if( used_bytes ) { /* Only Call if not a packet loss */ if( psDec->nBytesLeft > 0 && psDec->FrameTermination == SKP_SILK_MORE_FRAMES && psDec->nFramesDecoded < 5 ) { /* We have more frames in the Payload */ @@ -111,7 +111,7 @@ SKP_int SKP_Silk_SDK_Decode( /* Last frame in Payload */ psDec->moreInternalDecoderFrames = 0; psDec->nFramesInPacket = psDec->nFramesDecoded; - + /* Track inband FEC usage */ if( psDec->vadFlag == VOICE_ACTIVITY ) { if( psDec->FrameTermination == SKP_SILK_LAST_FRAME ) { @@ -137,7 +137,7 @@ SKP_int SKP_Silk_SDK_Decode( } /* Resample if needed */ - if( psDec->fs_kHz * 1000 != decControl->API_sampleRate ) { + if( psDec->fs_kHz * 1000 != decControl->API_sampleRate ) { SKP_int16 samplesOut_tmp[ MAX_API_FS_KHZ * FRAME_LENGTH_MS ]; SKP_assert( psDec->fs_kHz <= MAX_API_FS_KHZ ); @@ -154,7 +154,7 @@ SKP_int SKP_Silk_SDK_Decode( /* Update the number of output samples */ *nSamplesOut = SKP_DIV32( ( SKP_int32 )*nSamplesOut * decControl->API_sampleRate, psDec->fs_kHz * 1000 ); - } else if( prev_fs_kHz * 1000 > decControl->API_sampleRate ) { + } else if( prev_fs_kHz * 1000 > decControl->API_sampleRate ) { SKP_memcpy( samplesOut, pSamplesOutInternal, *nSamplesOut * sizeof( SKP_int16 ) ); } @@ -193,10 +193,10 @@ void SKP_Silk_SDK_search_for_LBRR( sDec.lossCnt = 0; /* Avoid running bw expansion of the LPC parameters when searching for LBRR data */ SKP_memset( sDec.prevNLSF_Q15, 0, MAX_LPC_ORDER * sizeof( SKP_int ) ); SKP_Silk_range_dec_init( &sDec.sRC, inData, ( SKP_int32 )nBytesIn ); - + while(1) { SKP_Silk_decode_parameters( &sDec, &sDecCtrl, TempQ, 0 ); - + if( sDec.sRC.error ) { /* Corrupt stream */ *nLBRRBytes = 0; @@ -236,23 +236,23 @@ void SKP_Silk_SDK_get_TOC( Silk_TOC->corrupt = 0; while( 1 ) { SKP_Silk_decode_parameters( &sDec, &sDecCtrl, TempQ, 0 ); - + Silk_TOC->vadFlags[ sDec.nFramesDecoded ] = sDec.vadFlag; Silk_TOC->sigtypeFlags[ sDec.nFramesDecoded ] = sDecCtrl.sigtype; - + if( sDec.sRC.error ) { /* Corrupt stream */ Silk_TOC->corrupt = 1; break; }; - + if( sDec.nBytesLeft > 0 && sDec.FrameTermination == SKP_SILK_MORE_FRAMES ) { sDec.nFramesDecoded++; } else { break; } } - if( Silk_TOC->corrupt || sDec.FrameTermination == SKP_SILK_MORE_FRAMES || + if( Silk_TOC->corrupt || sDec.FrameTermination == SKP_SILK_MORE_FRAMES || sDec.nFramesInPacket > SILK_MAX_FRAMES_PER_PACKET ) { /* Corrupt packet */ SKP_memset( Silk_TOC, 0, sizeof( SKP_Silk_TOC_struct ) ); @@ -271,7 +271,7 @@ void SKP_Silk_SDK_get_TOC( /**************************/ /* Get the version number */ /**************************/ -/* Return a pointer to string specifying the version */ +/* Return a pointer to string specifying the version */ const char *SKP_Silk_SDK_get_version() { static const char version[] = "1.0.8"; diff --git a/libs/silk/src/SKP_Silk_decode_core.c b/libs/silk/src/SKP_Silk_decode_core.c index 0384f3fc49..53b405dbd6 100644 --- a/libs/silk/src/SKP_Silk_decode_core.c +++ b/libs/silk/src/SKP_Silk_decode_core.c @@ -1,27 +1,27 @@ /*********************************************************************** -Copyright (c) 2006-2011, Skype Limited. All rights reserved. -Redistribution and use in source and binary forms, with or without -modification, (subject to the limitations in the disclaimer below) +Copyright (c) 2006-2011, Skype Limited. All rights reserved. +Redistribution and use in source and binary forms, with or without +modification, (subject to the limitations in the disclaimer below) are permitted provided that the following conditions are met: - Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. -- Redistributions in binary form must reproduce the above copyright -notice, this list of conditions and the following disclaimer in the +- Redistributions in binary form must reproduce the above copyright +notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. -- Neither the name of Skype Limited, nor the names of specific -contributors, may be used to endorse or promote products derived from +- Neither the name of Skype Limited, nor the names of specific +contributors, may be used to endorse or promote products derived from this software without specific prior written permission. -NO EXPRESS OR IMPLIED LICENSES TO ANY PARTY'S PATENT RIGHTS ARE GRANTED -BY THIS LICENSE. THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND +NO EXPRESS OR IMPLIED LICENSES TO ANY PARTY'S PATENT RIGHTS ARE GRANTED +BY THIS LICENSE. THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS ''AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, -BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND -FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE -COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND +FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT -NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF -USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON -ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF +USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON +ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ***********************************************************************/ @@ -32,7 +32,7 @@ void SKP_Silk_decode_short_term_prediction( SKP_int32 *vec_Q10, SKP_int32 *pres_Q10, SKP_int32 *sLPC_Q14, -SKP_int16 *A_Q12_tmp, +SKP_int16 *A_Q12_tmp, SKP_int LPC_order, SKP_int subfr_length ); @@ -57,7 +57,7 @@ void SKP_Silk_decode_core( SKP_int32 FiltState[ MAX_LPC_ORDER ]; SKP_assert( psDec->prev_inv_gain_Q16 != 0 ); - + offset_Q10 = SKP_Silk_Quantization_Offsets_Q10[ psDecCtrl->sigtype ][ psDecCtrl->QuantOffsetType ]; if( psDecCtrl->NLSFInterpCoef_Q2 < ( 1 << 2 ) ) { @@ -89,8 +89,8 @@ void SKP_Silk_decode_core( for( k = 0; k < NB_SUBFR; k++ ) { A_Q12 = psDecCtrl->PredCoef_Q12[ k >> 1 ]; - /* Preload LPC coeficients to array on stack. Gives small performance gain */ - SKP_memcpy( A_Q12_tmp, A_Q12, psDec->LPC_order * sizeof( SKP_int16 ) ); + /* Preload LPC coeficients to array on stack. Gives small performance gain */ + SKP_memcpy( A_Q12_tmp, A_Q12, psDec->LPC_order * sizeof( SKP_int16 ) ); B_Q14 = &psDecCtrl->LTPCoef_Q14[ k * LTP_ORDER ]; Gain_Q16 = psDecCtrl->Gains_Q16[ k ]; LTP_scale_Q14 = psDecCtrl->LTP_scale_Q14; @@ -108,10 +108,10 @@ void SKP_Silk_decode_core( /* Avoid abrupt transition from voiced PLC to unvoiced normal decoding */ if( psDec->lossCnt && psDec->prev_sigtype == SIG_TYPE_VOICED && psDecCtrl->sigtype == SIG_TYPE_UNVOICED && k < ( NB_SUBFR >> 1 ) ) { - + SKP_memset( B_Q14, 0, LTP_ORDER * sizeof( SKP_int16 ) ); B_Q14[ LTP_ORDER/2 ] = ( SKP_int16 )1 << 12; /* 0.25 */ - + sigtype = SIG_TYPE_VOICED; psDecCtrl->pitchL[ k ] = psDec->lagPrev; LTP_scale_Q14 = ( SKP_int )1 << 14; @@ -119,7 +119,7 @@ void SKP_Silk_decode_core( if( sigtype == SIG_TYPE_VOICED ) { /* Voiced */ - + lag = psDecCtrl->pitchL[ k ]; /* Re-whitening */ if( ( k & ( 3 - SKP_LSHIFT( NLSF_interpolation_flag, 1 ) ) ) == 0 ) { @@ -129,7 +129,7 @@ void SKP_Silk_decode_core( SKP_assert( start_idx <= psDec->frame_length - psDec->LPC_order ); SKP_memset( FiltState, 0, psDec->LPC_order * sizeof( SKP_int32 ) ); /* Not really necessary, but Valgrind and Coverity will complain otherwise */ - SKP_Silk_MA_Prediction( &psDec->outBuf[ start_idx + k * ( psDec->frame_length >> 2 ) ], + SKP_Silk_MA_Prediction( &psDec->outBuf[ start_idx + k * ( psDec->frame_length >> 2 ) ], A_Q12, FiltState, sLTP + start_idx, psDec->frame_length - start_idx, psDec->LPC_order ); /* After rewhitening the LTP state is unscaled */ @@ -150,7 +150,7 @@ void SKP_Silk_decode_core( } } } - + /* Scale short term state */ for( i = 0; i < MAX_LPC_ORDER; i++ ) { psDec->sLPC_Q14[ i ] = SKP_SMULWW( gain_adj_Q16, psDec->sLPC_Q14[ i ] ); @@ -172,10 +172,10 @@ void SKP_Silk_decode_core( LTP_pred_Q14 = SKP_SMLAWB( LTP_pred_Q14, pred_lag_ptr[ -3 ], B_Q14[ 3 ] ); LTP_pred_Q14 = SKP_SMLAWB( LTP_pred_Q14, pred_lag_ptr[ -4 ], B_Q14[ 4 ] ); pred_lag_ptr++; - - /* Generate LPC residual */ + + /* Generate LPC residual */ pres_Q10[ i ] = SKP_ADD32( pexc_Q10[ i ], SKP_RSHIFT_ROUND( LTP_pred_Q14, 4 ) ); - + /* Update states */ psDec->sLTP_Q16[ sLTP_buf_idx ] = SKP_LSHIFT( pres_Q10[ i ], 6 ); sLTP_buf_idx++; @@ -197,7 +197,7 @@ void SKP_Silk_decode_core( pres_Q10 += psDec->subfr_length; pxq += psDec->subfr_length; } - + /* Copy to output */ SKP_memcpy( xq, &psDec->outBuf[ psDec->frame_length ], psDec->frame_length * sizeof( SKP_int16 ) ); @@ -207,7 +207,7 @@ void SKP_Silk_decode_short_term_prediction( SKP_int32 *vec_Q10, SKP_int32 *pres_Q10, SKP_int32 *sLPC_Q14, -SKP_int16 *A_Q12_tmp, +SKP_int16 *A_Q12_tmp, SKP_int LPC_order, SKP_int subfr_length ) @@ -234,11 +234,8 @@ SKP_int subfr_length /* Add prediction to LPC residual */ vec_Q10[ i ] = SKP_ADD32( pres_Q10[ i ], LPC_pred_Q10 ); - + /* Update states */ sLPC_Q14[ MAX_LPC_ORDER + i ] = SKP_LSHIFT( vec_Q10[ i ], 4 ); } } - - - diff --git a/libs/silk/src/SKP_Silk_decode_frame.c b/libs/silk/src/SKP_Silk_decode_frame.c index 52a7a843e2..8b5c3b55cf 100644 --- a/libs/silk/src/SKP_Silk_decode_frame.c +++ b/libs/silk/src/SKP_Silk_decode_frame.c @@ -1,27 +1,27 @@ /*********************************************************************** -Copyright (c) 2006-2011, Skype Limited. All rights reserved. -Redistribution and use in source and binary forms, with or without -modification, (subject to the limitations in the disclaimer below) +Copyright (c) 2006-2011, Skype Limited. All rights reserved. +Redistribution and use in source and binary forms, with or without +modification, (subject to the limitations in the disclaimer below) are permitted provided that the following conditions are met: - Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. -- Redistributions in binary form must reproduce the above copyright -notice, this list of conditions and the following disclaimer in the +- Redistributions in binary form must reproduce the above copyright +notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. -- Neither the name of Skype Limited, nor the names of specific -contributors, may be used to endorse or promote products derived from +- Neither the name of Skype Limited, nor the names of specific +contributors, may be used to endorse or promote products derived from this software without specific prior written permission. -NO EXPRESS OR IMPLIED LICENSES TO ANY PARTY'S PATENT RIGHTS ARE GRANTED -BY THIS LICENSE. THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND +NO EXPRESS OR IMPLIED LICENSES TO ANY PARTY'S PATENT RIGHTS ARE GRANTED +BY THIS LICENSE. THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS ''AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, -BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND -FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE -COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND +FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT -NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF -USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON -ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF +USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON +ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ***********************************************************************/ @@ -49,7 +49,7 @@ SKP_int SKP_Silk_decode_frame( L = psDec->frame_length; sDecCtrl.LTP_scale_Q14 = 0; - + /* Safety checks */ SKP_assert( L > 0 && L <= MAX_FRAME_LENGTH ); @@ -92,7 +92,7 @@ SKP_int SKP_Silk_decode_frame( } else { *decBytes = psDec->sRC.bufferLength - psDec->nBytesLeft; psDec->nFramesDecoded++; - + /* Update lengths. Sampling frequency could have changed */ L = psDec->frame_length; @@ -139,7 +139,7 @@ SKP_int SKP_Silk_decode_frame( /********************************************/ /* HP filter output */ /********************************************/ - SKP_assert( ( ( psDec->fs_kHz == 12 ) && ( L % 3 ) == 0 ) || + SKP_assert( ( ( psDec->fs_kHz == 12 ) && ( L % 3 ) == 0 ) || ( ( psDec->fs_kHz != 12 ) && ( L % 2 ) == 0 ) ); SKP_Silk_biquad( pOut, psDec->HP_B, psDec->HP_A, psDec->HPState, pOut, L ); diff --git a/libs/silk/src/SKP_Silk_decode_parameters.c b/libs/silk/src/SKP_Silk_decode_parameters.c index 60690b4a93..21bc08a6ca 100644 --- a/libs/silk/src/SKP_Silk_decode_parameters.c +++ b/libs/silk/src/SKP_Silk_decode_parameters.c @@ -1,27 +1,27 @@ /*********************************************************************** -Copyright (c) 2006-2011, Skype Limited. All rights reserved. -Redistribution and use in source and binary forms, with or without -modification, (subject to the limitations in the disclaimer below) +Copyright (c) 2006-2011, Skype Limited. All rights reserved. +Redistribution and use in source and binary forms, with or without +modification, (subject to the limitations in the disclaimer below) are permitted provided that the following conditions are met: - Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. -- Redistributions in binary form must reproduce the above copyright -notice, this list of conditions and the following disclaimer in the +- Redistributions in binary form must reproduce the above copyright +notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. -- Neither the name of Skype Limited, nor the names of specific -contributors, may be used to endorse or promote products derived from +- Neither the name of Skype Limited, nor the names of specific +contributors, may be used to endorse or promote products derived from this software without specific prior written permission. -NO EXPRESS OR IMPLIED LICENSES TO ANY PARTY'S PATENT RIGHTS ARE GRANTED -BY THIS LICENSE. THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND +NO EXPRESS OR IMPLIED LICENSES TO ANY PARTY'S PATENT RIGHTS ARE GRANTED +BY THIS LICENSE. THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS ''AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, -BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND -FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE -COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND +FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT -NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF -USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON -ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF +USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON +ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ***********************************************************************/ @@ -68,7 +68,7 @@ void SKP_Silk_decode_parameters( SKP_Silk_range_decoder( &Ix, psRC, SKP_Silk_type_offset_CDF, SKP_Silk_type_offset_CDF_offset ); } else { /* condidtional coding */ - SKP_Silk_range_decoder( &Ix, psRC, SKP_Silk_type_offset_joint_CDF[ psDec->typeOffsetPrev ], + SKP_Silk_range_decoder( &Ix, psRC, SKP_Silk_type_offset_joint_CDF[ psDec->typeOffsetPrev ], SKP_Silk_type_offset_CDF_offset ); } psDecCtrl->sigtype = SKP_RSHIFT( Ix, 1 ); @@ -78,7 +78,7 @@ void SKP_Silk_decode_parameters( /****************/ /* Decode gains */ /****************/ - /* first subframe */ + /* first subframe */ if( psDec->nFramesDecoded == 0 ) { /* first frame in packet: independent coding */ SKP_Silk_range_decoder( &GainsIndices[ 0 ], psRC, SKP_Silk_gain_CDF[ psDecCtrl->sigtype ], SKP_Silk_gain_CDF_offset ); @@ -91,7 +91,7 @@ void SKP_Silk_decode_parameters( for( i = 1; i < NB_SUBFR; i++ ) { SKP_Silk_range_decoder( &GainsIndices[ i ], psRC, SKP_Silk_delta_gain_CDF, SKP_Silk_delta_gain_CDF_offset ); } - + /* Dequant Gains */ SKP_Silk_gains_dequant( psDecCtrl->Gains_Q16, GainsIndices, &psDec->LastGainIndex, psDec->nFramesDecoded ); /****************/ @@ -109,9 +109,9 @@ void SKP_Silk_decode_parameters( /************************************/ /* Decode NLSF interpolation factor */ /************************************/ - SKP_Silk_range_decoder( &psDecCtrl->NLSFInterpCoef_Q2, psRC, SKP_Silk_NLSF_interpolation_factor_CDF, + SKP_Silk_range_decoder( &psDecCtrl->NLSFInterpCoef_Q2, psRC, SKP_Silk_NLSF_interpolation_factor_CDF, SKP_Silk_NLSF_interpolation_factor_offset ); - + /* If just reset, e.g., because internal Fs changed, do not allow interpolation */ /* improves the case of packet loss in the first frame after a switch */ if( psDec->first_frame_after_reset == 1 ) { @@ -123,10 +123,10 @@ void SKP_Silk_decode_parameters( SKP_Silk_NLSF2A_stable( psDecCtrl->PredCoef_Q12[ 1 ], pNLSF_Q15, psDec->LPC_order ); if( psDecCtrl->NLSFInterpCoef_Q2 < 4 ) { - /* Calculation of the interpolated NLSF0 vector from the interpolation factor, */ + /* Calculation of the interpolated NLSF0 vector from the interpolation factor, */ /* the previous NLSF1, and the current NLSF1 */ for( i = 0; i < psDec->LPC_order; i++ ) { - pNLSF0_Q15[ i ] = psDec->prevNLSF_Q15[ i ] + SKP_RSHIFT( SKP_MUL( psDecCtrl->NLSFInterpCoef_Q2, + pNLSF0_Q15[ i ] = psDec->prevNLSF_Q15[ i ] + SKP_RSHIFT( SKP_MUL( psDecCtrl->NLSFInterpCoef_Q2, ( pNLSF_Q15[ i ] - psDec->prevNLSF_Q15[ i ] ) ), 2 ); } @@ -134,7 +134,7 @@ void SKP_Silk_decode_parameters( SKP_Silk_NLSF2A_stable( psDecCtrl->PredCoef_Q12[ 0 ], pNLSF0_Q15, psDec->LPC_order ); } else { /* Copy LPC coefficients for first half from second half */ - SKP_memcpy( psDecCtrl->PredCoef_Q12[ 0 ], psDecCtrl->PredCoef_Q12[ 1 ], + SKP_memcpy( psDecCtrl->PredCoef_Q12[ 0 ], psDecCtrl->PredCoef_Q12[ 1 ], psDec->LPC_order * sizeof( SKP_int16 ) ); } } @@ -161,7 +161,7 @@ void SKP_Silk_decode_parameters( } else { SKP_Silk_range_decoder( &Ixs[ 0 ], psRC, SKP_Silk_pitch_lag_SWB_CDF, SKP_Silk_pitch_lag_SWB_CDF_offset ); } - + /* Get countour index */ if( psDec->fs_kHz == 8 ) { /* Less codevectors used in 8 khz mode */ @@ -170,7 +170,7 @@ void SKP_Silk_decode_parameters( /* Joint for 12, 16, and 24 khz */ SKP_Silk_range_decoder( &Ixs[ 1 ], psRC, SKP_Silk_pitch_contour_CDF, SKP_Silk_pitch_contour_CDF_offset ); } - + /* Decode pitch values */ SKP_Silk_decode_pitch( Ixs[ 0 ], Ixs[ 1 ], psDecCtrl->pitchL, psDec->fs_kHz ); @@ -178,14 +178,14 @@ void SKP_Silk_decode_parameters( /* Decode LTP gains */ /********************/ /* Decode PERIndex value */ - SKP_Silk_range_decoder( &psDecCtrl->PERIndex, psRC, SKP_Silk_LTP_per_index_CDF, + SKP_Silk_range_decoder( &psDecCtrl->PERIndex, psRC, SKP_Silk_LTP_per_index_CDF, SKP_Silk_LTP_per_index_CDF_offset ); /* Decode Codebook Index */ cbk_ptr_Q14 = SKP_Silk_LTP_vq_ptrs_Q14[ psDecCtrl->PERIndex ]; /* set pointer to start of codebook */ for( k = 0; k < NB_SUBFR; k++ ) { - SKP_Silk_range_decoder( &Ix, psRC, SKP_Silk_LTP_gain_CDF_ptrs[ psDecCtrl->PERIndex ], + SKP_Silk_range_decoder( &Ix, psRC, SKP_Silk_LTP_gain_CDF_ptrs[ psDecCtrl->PERIndex ], SKP_Silk_LTP_gain_CDF_offsets[ psDecCtrl->PERIndex ] ); for( i = 0; i < LTP_ORDER; i++ ) { diff --git a/libs/silk/src/SKP_Silk_decode_pitch.c b/libs/silk/src/SKP_Silk_decode_pitch.c index f95266457b..bde1581e26 100644 --- a/libs/silk/src/SKP_Silk_decode_pitch.c +++ b/libs/silk/src/SKP_Silk_decode_pitch.c @@ -1,27 +1,27 @@ /*********************************************************************** -Copyright (c) 2006-2011, Skype Limited. All rights reserved. -Redistribution and use in source and binary forms, with or without -modification, (subject to the limitations in the disclaimer below) +Copyright (c) 2006-2011, Skype Limited. All rights reserved. +Redistribution and use in source and binary forms, with or without +modification, (subject to the limitations in the disclaimer below) are permitted provided that the following conditions are met: - Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. -- Redistributions in binary form must reproduce the above copyright -notice, this list of conditions and the following disclaimer in the +- Redistributions in binary form must reproduce the above copyright +notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. -- Neither the name of Skype Limited, nor the names of specific -contributors, may be used to endorse or promote products derived from +- Neither the name of Skype Limited, nor the names of specific +contributors, may be used to endorse or promote products derived from this software without specific prior written permission. -NO EXPRESS OR IMPLIED LICENSES TO ANY PARTY'S PATENT RIGHTS ARE GRANTED -BY THIS LICENSE. THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND +NO EXPRESS OR IMPLIED LICENSES TO ANY PARTY'S PATENT RIGHTS ARE GRANTED +BY THIS LICENSE. THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS ''AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, -BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND -FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE -COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND +FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT -NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF -USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON -ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF +USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON +ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ***********************************************************************/ diff --git a/libs/silk/src/SKP_Silk_decode_pulses.c b/libs/silk/src/SKP_Silk_decode_pulses.c index ce2927f763..22bbab2079 100644 --- a/libs/silk/src/SKP_Silk_decode_pulses.c +++ b/libs/silk/src/SKP_Silk_decode_pulses.c @@ -1,27 +1,27 @@ /*********************************************************************** -Copyright (c) 2006-2011, Skype Limited. All rights reserved. -Redistribution and use in source and binary forms, with or without -modification, (subject to the limitations in the disclaimer below) +Copyright (c) 2006-2011, Skype Limited. All rights reserved. +Redistribution and use in source and binary forms, with or without +modification, (subject to the limitations in the disclaimer below) are permitted provided that the following conditions are met: - Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. -- Redistributions in binary form must reproduce the above copyright -notice, this list of conditions and the following disclaimer in the +- Redistributions in binary form must reproduce the above copyright +notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. -- Neither the name of Skype Limited, nor the names of specific -contributors, may be used to endorse or promote products derived from +- Neither the name of Skype Limited, nor the names of specific +contributors, may be used to endorse or promote products derived from this software without specific prior written permission. -NO EXPRESS OR IMPLIED LICENSES TO ANY PARTY'S PATENT RIGHTS ARE GRANTED -BY THIS LICENSE. THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND +NO EXPRESS OR IMPLIED LICENSES TO ANY PARTY'S PATENT RIGHTS ARE GRANTED +BY THIS LICENSE. THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS ''AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, -BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND -FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE -COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND +FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT -NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF -USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON -ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF +USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON +ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ***********************************************************************/ @@ -41,16 +41,16 @@ void SKP_Silk_decode_pulses( SKP_int sum_pulses[ MAX_NB_SHELL_BLOCKS ], nLshifts[ MAX_NB_SHELL_BLOCKS ]; SKP_int *pulses_ptr; const SKP_uint16 *cdf_ptr; - + /*********************/ /* Decode rate level */ /*********************/ - SKP_Silk_range_decoder( &psDecCtrl->RateLevelIndex, psRC, + SKP_Silk_range_decoder( &psDecCtrl->RateLevelIndex, psRC, SKP_Silk_rate_levels_CDF[ psDecCtrl->sigtype ], SKP_Silk_rate_levels_CDF_offset ); /* Calculate number of shell blocks */ iter = frame_length / SHELL_CODEC_FRAME_LENGTH; - + /***************************************************/ /* Sum-Weighted-Pulses Decoding */ /***************************************************/ @@ -62,11 +62,11 @@ void SKP_Silk_decode_pulses( /* LSB indication */ while( sum_pulses[ i ] == ( MAX_PULSES + 1 ) ) { nLshifts[ i ]++; - SKP_Silk_range_decoder( &sum_pulses[ i ], psRC, + SKP_Silk_range_decoder( &sum_pulses[ i ], psRC, SKP_Silk_pulses_per_block_CDF[ N_RATE_LEVELS - 1 ], SKP_Silk_pulses_per_block_CDF_offset ); } } - + /***************************************************/ /* Shell decoding */ /***************************************************/ @@ -88,7 +88,7 @@ void SKP_Silk_decode_pulses( for( k = 0; k < SHELL_CODEC_FRAME_LENGTH; k++ ) { abs_q = pulses_ptr[ k ]; for( j = 0; j < nLS; j++ ) { - abs_q = SKP_LSHIFT( abs_q, 1 ); + abs_q = SKP_LSHIFT( abs_q, 1 ); SKP_Silk_range_decoder( &bit, psRC, SKP_Silk_lsb_CDF, 1 ); abs_q += bit; } @@ -100,6 +100,6 @@ void SKP_Silk_decode_pulses( /****************************************/ /* Decode and add signs to pulse signal */ /****************************************/ - SKP_Silk_decode_signs( psRC, q, frame_length, psDecCtrl->sigtype, + SKP_Silk_decode_signs( psRC, q, frame_length, psDecCtrl->sigtype, psDecCtrl->QuantOffsetType, psDecCtrl->RateLevelIndex); } diff --git a/libs/silk/src/SKP_Silk_decoder_set_fs.c b/libs/silk/src/SKP_Silk_decoder_set_fs.c index 0afeed3904..0a8ce03c69 100644 --- a/libs/silk/src/SKP_Silk_decoder_set_fs.c +++ b/libs/silk/src/SKP_Silk_decoder_set_fs.c @@ -1,27 +1,27 @@ /*********************************************************************** -Copyright (c) 2006-2011, Skype Limited. All rights reserved. -Redistribution and use in source and binary forms, with or without -modification, (subject to the limitations in the disclaimer below) +Copyright (c) 2006-2011, Skype Limited. All rights reserved. +Redistribution and use in source and binary forms, with or without +modification, (subject to the limitations in the disclaimer below) are permitted provided that the following conditions are met: - Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. -- Redistributions in binary form must reproduce the above copyright -notice, this list of conditions and the following disclaimer in the +- Redistributions in binary form must reproduce the above copyright +notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. -- Neither the name of Skype Limited, nor the names of specific -contributors, may be used to endorse or promote products derived from +- Neither the name of Skype Limited, nor the names of specific +contributors, may be used to endorse or promote products derived from this software without specific prior written permission. -NO EXPRESS OR IMPLIED LICENSES TO ANY PARTY'S PATENT RIGHTS ARE GRANTED -BY THIS LICENSE. THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND +NO EXPRESS OR IMPLIED LICENSES TO ANY PARTY'S PATENT RIGHTS ARE GRANTED +BY THIS LICENSE. THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS ''AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, -BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND -FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE -COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND +FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT -NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF -USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON -ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF +USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON +ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ***********************************************************************/ @@ -72,9 +72,8 @@ void SKP_Silk_decoder_set_fs( /* unsupported sampling rate */ SKP_assert( 0 ); } - } + } /* Check that settings are valid */ SKP_assert( psDec->frame_length > 0 && psDec->frame_length <= MAX_FRAME_LENGTH ); } - diff --git a/libs/silk/src/SKP_Silk_define.h b/libs/silk/src/SKP_Silk_define.h index 84cb98000a..281d4fb20e 100644 --- a/libs/silk/src/SKP_Silk_define.h +++ b/libs/silk/src/SKP_Silk_define.h @@ -1,27 +1,27 @@ /*********************************************************************** -Copyright (c) 2006-2011, Skype Limited. All rights reserved. -Redistribution and use in source and binary forms, with or without -modification, (subject to the limitations in the disclaimer below) +Copyright (c) 2006-2011, Skype Limited. All rights reserved. +Redistribution and use in source and binary forms, with or without +modification, (subject to the limitations in the disclaimer below) are permitted provided that the following conditions are met: - Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. -- Redistributions in binary form must reproduce the above copyright -notice, this list of conditions and the following disclaimer in the +- Redistributions in binary form must reproduce the above copyright +notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. -- Neither the name of Skype Limited, nor the names of specific -contributors, may be used to endorse or promote products derived from +- Neither the name of Skype Limited, nor the names of specific +contributors, may be used to endorse or promote products derived from this software without specific prior written permission. -NO EXPRESS OR IMPLIED LICENSES TO ANY PARTY'S PATENT RIGHTS ARE GRANTED -BY THIS LICENSE. THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND +NO EXPRESS OR IMPLIED LICENSES TO ANY PARTY'S PATENT RIGHTS ARE GRANTED +BY THIS LICENSE. THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS ''AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, -BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND -FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE -COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND +FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT -NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF -USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON -ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF +USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON +ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ***********************************************************************/ @@ -55,7 +55,7 @@ extern "C" /* Integration/hysteresis threshold for lowering internal sample frequency */ /* 30000000 -> 6 sec if bitrate is 5000 bps below limit; 3 sec if bitrate is 10000 bps below limit */ -#define ACCUM_BITS_DIFF_THRESHOLD 30000000 +#define ACCUM_BITS_DIFF_THRESHOLD 30000000 #define TARGET_RATE_TAB_SZ 8 /* DTX settings */ @@ -102,7 +102,7 @@ extern "C" #define DEC_HP_ORDER 2 /* Maximum sampling frequency, should be 16 for some embedded platforms */ -#define MAX_FS_KHZ 24 +#define MAX_FS_KHZ 24 #define MAX_API_FS_KHZ 48 /* Signal Types used by silk */ @@ -113,7 +113,7 @@ extern "C" #define NO_VOICE_ACTIVITY 0 #define VOICE_ACTIVITY 1 -/* Number of samples per frame */ +/* Number of samples per frame */ #define FRAME_LENGTH_MS 20 #define MAX_FRAME_LENGTH ( FRAME_LENGTH_MS * MAX_FS_KHZ ) @@ -230,13 +230,13 @@ extern "C" #define VAD_INTERNAL_SUBFRAMES_LOG2 2 #define VAD_INTERNAL_SUBFRAMES (1 << VAD_INTERNAL_SUBFRAMES_LOG2) - + #define VAD_NOISE_LEVEL_SMOOTH_COEF_Q16 1024 /* Must be < 4096 */ -#define VAD_NOISE_LEVELS_BIAS 50 +#define VAD_NOISE_LEVELS_BIAS 50 /* Sigmoid settings */ #define VAD_NEGATIVE_OFFSET_Q5 128 /* sigmoid is 0 at -128 */ -#define VAD_SNR_FACTOR_Q16 45000 +#define VAD_SNR_FACTOR_Q16 45000 /* smoothing for SNR measurement */ #define VAD_SNR_SMOOTH_COEF_Q18 4096 diff --git a/libs/silk/src/SKP_Silk_detect_SWB_input.c b/libs/silk/src/SKP_Silk_detect_SWB_input.c index 71b69eb85a..ea64888004 100644 --- a/libs/silk/src/SKP_Silk_detect_SWB_input.c +++ b/libs/silk/src/SKP_Silk_detect_SWB_input.c @@ -1,27 +1,27 @@ /*********************************************************************** -Copyright (c) 2006-2011, Skype Limited. All rights reserved. -Redistribution and use in source and binary forms, with or without -modification, (subject to the limitations in the disclaimer below) +Copyright (c) 2006-2011, Skype Limited. All rights reserved. +Redistribution and use in source and binary forms, with or without +modification, (subject to the limitations in the disclaimer below) are permitted provided that the following conditions are met: - Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. -- Redistributions in binary form must reproduce the above copyright -notice, this list of conditions and the following disclaimer in the +- Redistributions in binary form must reproduce the above copyright +notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. -- Neither the name of Skype Limited, nor the names of specific -contributors, may be used to endorse or promote products derived from +- Neither the name of Skype Limited, nor the names of specific +contributors, may be used to endorse or promote products derived from this software without specific prior written permission. -NO EXPRESS OR IMPLIED LICENSES TO ANY PARTY'S PATENT RIGHTS ARE GRANTED -BY THIS LICENSE. THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND +NO EXPRESS OR IMPLIED LICENSES TO ANY PARTY'S PATENT RIGHTS ARE GRANTED +BY THIS LICENSE. THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS ''AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, -BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND -FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE -COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND +FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT -NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF -USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON -ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF +USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON +ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ***********************************************************************/ @@ -40,7 +40,7 @@ void SKP_Silk_detect_SWB_input( SKP_int HP_8_kHz_len, i, shift; SKP_int16 in_HP_8_kHz[ MAX_FRAME_LENGTH ]; SKP_int32 energy_32; - + /* High pass filter with cutoff at 8 khz */ HP_8_kHz_len = SKP_min_int( nSamplesIn, MAX_FRAME_LENGTH ); HP_8_kHz_len = SKP_max_int( HP_8_kHz_len, 0 ); @@ -48,10 +48,10 @@ void SKP_Silk_detect_SWB_input( /* Cutoff around 9 khz */ /* A = conv(conv([8192,14613, 6868], [8192,12883, 7337]), [8192,11586, 7911]); */ /* B = conv(conv([575, -948, 575], [575, -221, 575]), [575, 104, 575]); */ - SKP_Silk_biquad( samplesIn, SKP_Silk_SWB_detect_B_HP_Q13[ 0 ], SKP_Silk_SWB_detect_A_HP_Q13[ 0 ], + SKP_Silk_biquad( samplesIn, SKP_Silk_SWB_detect_B_HP_Q13[ 0 ], SKP_Silk_SWB_detect_A_HP_Q13[ 0 ], psSWBdetect->S_HP_8_kHz[ 0 ], in_HP_8_kHz, HP_8_kHz_len ); for( i = 1; i < NB_SOS; i++ ) { - SKP_Silk_biquad( in_HP_8_kHz, SKP_Silk_SWB_detect_B_HP_Q13[ i ], SKP_Silk_SWB_detect_A_HP_Q13[ i ], + SKP_Silk_biquad( in_HP_8_kHz, SKP_Silk_SWB_detect_B_HP_Q13[ i ], SKP_Silk_SWB_detect_A_HP_Q13[ i ], psSWBdetect->S_HP_8_kHz[ i ], in_HP_8_kHz, HP_8_kHz_len ); } diff --git a/libs/silk/src/SKP_Silk_enc_API.c b/libs/silk/src/SKP_Silk_enc_API.c index 32b86f6815..bab0688b8b 100644 --- a/libs/silk/src/SKP_Silk_enc_API.c +++ b/libs/silk/src/SKP_Silk_enc_API.c @@ -1,27 +1,27 @@ /*********************************************************************** -Copyright (c) 2006-2011, Skype Limited. All rights reserved. -Redistribution and use in source and binary forms, with or without -modification, (subject to the limitations in the disclaimer below) +Copyright (c) 2006-2011, Skype Limited. All rights reserved. +Redistribution and use in source and binary forms, with or without +modification, (subject to the limitations in the disclaimer below) are permitted provided that the following conditions are met: - Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. -- Redistributions in binary form must reproduce the above copyright -notice, this list of conditions and the following disclaimer in the +- Redistributions in binary form must reproduce the above copyright +notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. -- Neither the name of Skype Limited, nor the names of specific -contributors, may be used to endorse or promote products derived from +- Neither the name of Skype Limited, nor the names of specific +contributors, may be used to endorse or promote products derived from this software without specific prior written permission. -NO EXPRESS OR IMPLIED LICENSES TO ANY PARTY'S PATENT RIGHTS ARE GRANTED -BY THIS LICENSE. THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND +NO EXPRESS OR IMPLIED LICENSES TO ANY PARTY'S PATENT RIGHTS ARE GRANTED +BY THIS LICENSE. THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS ''AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, -BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND -FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE -COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND +FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT -NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF -USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON -ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF +USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON +ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ***********************************************************************/ @@ -41,9 +41,9 @@ OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. SKP_int SKP_Silk_SDK_Get_Encoder_Size( SKP_int32 *encSizeBytes ) { SKP_int ret = 0; - + *encSizeBytes = sizeof( SKP_Silk_encoder_state_FIX ); - + return ret; } @@ -83,7 +83,7 @@ SKP_int SKP_Silk_SDK_InitEncoder( SKP_Silk_encoder_state_FIX *psEnc; SKP_int ret = 0; - + psEnc = ( SKP_Silk_encoder_state_FIX* )encState; /* Reset Encoder */ @@ -103,7 +103,7 @@ SKP_int SKP_Silk_SDK_InitEncoder( /**************************/ /* Encode frame with Silk */ /**************************/ -SKP_int SKP_Silk_SDK_Encode( +SKP_int SKP_Silk_SDK_Encode( void *encState, /* I/O: State */ const SKP_Silk_EncodeControlStruct *encControl, /* I: Control structure */ const SKP_int16 *samplesIn, /* I: Speech sample input vector */ @@ -124,7 +124,7 @@ SKP_int SKP_Silk_SDK_Encode( if( ( ( encControl->API_sampleRate != 8000 ) && ( encControl->API_sampleRate != 12000 ) && ( encControl->API_sampleRate != 16000 ) && - ( encControl->API_sampleRate != 24000 ) && + ( encControl->API_sampleRate != 24000 ) && ( encControl->API_sampleRate != 32000 ) && ( encControl->API_sampleRate != 44100 ) && ( encControl->API_sampleRate != 48000 ) ) || @@ -161,7 +161,7 @@ SKP_int SKP_Silk_SDK_Encode( } TargetRate_bps = SKP_LIMIT( TargetRate_bps, MIN_TARGET_RATE_BPS, MAX_TARGET_RATE_BPS ); - if( ( ret = SKP_Silk_control_encoder_FIX( psEnc, PacketSize_ms, TargetRate_bps, + if( ( ret = SKP_Silk_control_encoder_FIX( psEnc, PacketSize_ms, TargetRate_bps, PacketLoss_perc, UseDTX, Complexity) ) != 0 ) { SKP_assert( 0 ); return( ret ); @@ -176,8 +176,8 @@ SKP_int SKP_Silk_SDK_Encode( #if MAX_FS_KHZ > 16 /* Detect energy above 8 kHz */ - if( SKP_min( API_fs_Hz, 1000 * max_internal_fs_kHz ) == 24000 && - psEnc->sCmn.sSWBdetect.SWB_detected == 0 && + if( SKP_min( API_fs_Hz, 1000 * max_internal_fs_kHz ) == 24000 && + psEnc->sCmn.sSWBdetect.SWB_detected == 0 && psEnc->sCmn.sSWBdetect.WB_detected == 0 ) { SKP_Silk_detect_SWB_input( &psEnc->sCmn.sSWBdetect, samplesIn, ( SKP_int )nSamplesIn ); } @@ -187,18 +187,18 @@ SKP_int SKP_Silk_SDK_Encode( MaxBytesOut = 0; /* return 0 output bytes if no encoder called */ while( 1 ) { nSamplesToBuffer = psEnc->sCmn.frame_length - psEnc->sCmn.inputBufIx; - if( API_fs_Hz == SKP_SMULBB( 1000, psEnc->sCmn.fs_kHz ) ) { + if( API_fs_Hz == SKP_SMULBB( 1000, psEnc->sCmn.fs_kHz ) ) { nSamplesToBuffer = SKP_min_int( nSamplesToBuffer, nSamplesIn ); nSamplesFromInput = nSamplesToBuffer; /* Copy to buffer */ SKP_memcpy( &psEnc->sCmn.inputBuf[ psEnc->sCmn.inputBufIx ], samplesIn, nSamplesFromInput * sizeof( SKP_int16 ) ); - } else { + } else { nSamplesToBuffer = SKP_min( nSamplesToBuffer, 10 * input_10ms * psEnc->sCmn.fs_kHz ); nSamplesFromInput = SKP_DIV32_16( nSamplesToBuffer * API_fs_Hz, psEnc->sCmn.fs_kHz * 1000 ); /* Resample and write to buffer */ - ret += SKP_Silk_resampler( &psEnc->sCmn.resampler_state, + ret += SKP_Silk_resampler( &psEnc->sCmn.resampler_state, &psEnc->sCmn.inputBuf[ psEnc->sCmn.inputBufIx ], samplesIn, nSamplesFromInput ); - } + } samplesIn += nSamplesFromInput; nSamplesIn -= nSamplesFromInput; psEnc->sCmn.inputBufIx += nSamplesToBuffer; @@ -242,5 +242,3 @@ SKP_int SKP_Silk_SDK_Encode( return ret; } - - diff --git a/libs/silk/src/SKP_Silk_encode_frame_FIX.c b/libs/silk/src/SKP_Silk_encode_frame_FIX.c index e6706ac392..3e77fb18cb 100644 --- a/libs/silk/src/SKP_Silk_encode_frame_FIX.c +++ b/libs/silk/src/SKP_Silk_encode_frame_FIX.c @@ -1,27 +1,27 @@ /*********************************************************************** -Copyright (c) 2006-2011, Skype Limited. All rights reserved. -Redistribution and use in source and binary forms, with or without -modification, (subject to the limitations in the disclaimer below) +Copyright (c) 2006-2011, Skype Limited. All rights reserved. +Redistribution and use in source and binary forms, with or without +modification, (subject to the limitations in the disclaimer below) are permitted provided that the following conditions are met: - Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. -- Redistributions in binary form must reproduce the above copyright -notice, this list of conditions and the following disclaimer in the +- Redistributions in binary form must reproduce the above copyright +notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. -- Neither the name of Skype Limited, nor the names of specific -contributors, may be used to endorse or promote products derived from +- Neither the name of Skype Limited, nor the names of specific +contributors, may be used to endorse or promote products derived from this software without specific prior written permission. -NO EXPRESS OR IMPLIED LICENSES TO ANY PARTY'S PATENT RIGHTS ARE GRANTED -BY THIS LICENSE. THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND +NO EXPRESS OR IMPLIED LICENSES TO ANY PARTY'S PATENT RIGHTS ARE GRANTED +BY THIS LICENSE. THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS ''AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, -BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND -FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE -COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND +FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT -NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF -USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON -ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF +USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON +ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ***********************************************************************/ @@ -31,7 +31,7 @@ OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. /****************/ /* Encode frame */ /****************/ -SKP_int SKP_Silk_encode_frame_FIX( +SKP_int SKP_Silk_encode_frame_FIX( SKP_Silk_encoder_state_FIX *psEnc, /* I/O Pointer to Silk FIX encoder state */ SKP_uint8 *pCode, /* O Pointer to payload */ SKP_int16 *pnBytesOut, /* I/O Pointer to number of payload bytes */ @@ -62,7 +62,7 @@ SKP_int SKP_Silk_encode_frame_FIX( /****************************/ /* Voice Activity Detection */ /****************************/ - ret = SKP_Silk_VAD_GetSA_Q8( &psEnc->sCmn.sVAD, &psEnc->speech_activity_Q8, &SNR_dB_Q7, + ret = SKP_Silk_VAD_GetSA_Q8( &psEnc->sCmn.sVAD, &psEnc->speech_activity_Q8, &SNR_dB_Q7, sEncCtrl.input_quality_bands_Q15, &sEncCtrl.input_tilt_Q15, pIn,psEnc->sCmn.frame_length ); @@ -82,7 +82,7 @@ SKP_int SKP_Silk_encode_frame_FIX( #else SKP_memcpy( x_frame + LA_SHAPE_MS * psEnc->sCmn.fs_kHz, pIn_HP,psEnc->sCmn.frame_length * sizeof( SKP_int16 ) ); #endif - + /*****************************************/ /* Find pitch lags, initial LPC analysis */ /*****************************************/ @@ -107,8 +107,8 @@ SKP_int SKP_Silk_encode_frame_FIX( /* Process gains */ /****************************************/ SKP_Silk_process_gains_FIX( psEnc, &sEncCtrl ); - - + + /****************************************/ /* Low Bitrate Redundant Encoding */ /****************************************/ @@ -120,15 +120,15 @@ SKP_int SKP_Silk_encode_frame_FIX( /*****************************************/ if( psEnc->sCmn.nStatesDelayedDecision > 1 || psEnc->sCmn.warping_Q16 > 0 ) { SKP_Silk_NSQ_del_dec( &psEnc->sCmn, &sEncCtrl.sCmn, &psEnc->sNSQ, xfw, - psEnc->sCmn.q, sEncCtrl.sCmn.NLSFInterpCoef_Q2, - sEncCtrl.PredCoef_Q12[ 0 ], sEncCtrl.LTPCoef_Q14, sEncCtrl.AR2_Q13, sEncCtrl.HarmShapeGain_Q14, - sEncCtrl.Tilt_Q14, sEncCtrl.LF_shp_Q14, sEncCtrl.Gains_Q16, sEncCtrl.Lambda_Q10, + psEnc->sCmn.q, sEncCtrl.sCmn.NLSFInterpCoef_Q2, + sEncCtrl.PredCoef_Q12[ 0 ], sEncCtrl.LTPCoef_Q14, sEncCtrl.AR2_Q13, sEncCtrl.HarmShapeGain_Q14, + sEncCtrl.Tilt_Q14, sEncCtrl.LF_shp_Q14, sEncCtrl.Gains_Q16, sEncCtrl.Lambda_Q10, sEncCtrl.LTP_scale_Q14 ); } else { - SKP_Silk_NSQ( &psEnc->sCmn, &sEncCtrl.sCmn, &psEnc->sNSQ, xfw, - psEnc->sCmn.q, sEncCtrl.sCmn.NLSFInterpCoef_Q2, - sEncCtrl.PredCoef_Q12[ 0 ], sEncCtrl.LTPCoef_Q14, sEncCtrl.AR2_Q13, sEncCtrl.HarmShapeGain_Q14, - sEncCtrl.Tilt_Q14, sEncCtrl.LF_shp_Q14, sEncCtrl.Gains_Q16, sEncCtrl.Lambda_Q10, + SKP_Silk_NSQ( &psEnc->sCmn, &sEncCtrl.sCmn, &psEnc->sNSQ, xfw, + psEnc->sCmn.q, sEncCtrl.sCmn.NLSFInterpCoef_Q2, + sEncCtrl.PredCoef_Q12[ 0 ], sEncCtrl.LTPCoef_Q14, sEncCtrl.AR2_Q13, sEncCtrl.HarmShapeGain_Q14, + sEncCtrl.Tilt_Q14, sEncCtrl.LF_shp_Q14, sEncCtrl.Gains_Q16, sEncCtrl.Lambda_Q10, sEncCtrl.LTP_scale_Q14 ); } @@ -169,9 +169,9 @@ SKP_int SKP_Silk_encode_frame_FIX( /* Update Buffers and State */ /****************************************/ /* Update input buffer */ - SKP_memmove( psEnc->x_buf, &psEnc->x_buf[ psEnc->sCmn.frame_length ], + SKP_memmove( psEnc->x_buf, &psEnc->x_buf[ psEnc->sCmn.frame_length ], ( psEnc->sCmn.frame_length + LA_SHAPE_MS * psEnc->sCmn.fs_kHz ) * sizeof( SKP_int16 ) ); - + /* Parameters needed for next frame */ psEnc->sCmn.prev_sigtype = sEncCtrl.sCmn.sigtype; psEnc->sCmn.prevLag = sEncCtrl.sCmn.pitchL[ NB_SUBFR - 1]; @@ -211,8 +211,8 @@ SKP_int SKP_Silk_encode_frame_FIX( if( *pnBytesOut >= nBytes ) { SKP_Silk_range_enc_wrap_up( &psEnc->sCmn.sRC ); SKP_memcpy( pCode, psEnc->sCmn.sRC.buffer, nBytes * sizeof( SKP_uint8 ) ); - - if( frame_terminator > SKP_SILK_MORE_FRAMES && + + if( frame_terminator > SKP_SILK_MORE_FRAMES && *pnBytesOut >= nBytes + psEnc->sCmn.LBRR_buffer[ LBRR_idx ].nBytes ) { /* Get old packet and add to payload. */ SKP_memcpy( &pCode[ nBytes ], @@ -224,7 +224,7 @@ SKP_int SKP_Silk_encode_frame_FIX( *pnBytesOut = nBytes; /* Update FEC buffer */ - SKP_memcpy( psEnc->sCmn.LBRR_buffer[ psEnc->sCmn.oldest_LBRR_idx ].payload, LBRRpayload, + SKP_memcpy( psEnc->sCmn.LBRR_buffer[ psEnc->sCmn.oldest_LBRR_idx ].payload, LBRRpayload, nBytesLBRR * sizeof( SKP_uint8 ) ); psEnc->sCmn.LBRR_buffer[ psEnc->sCmn.oldest_LBRR_idx ].nBytes = nBytesLBRR; /* The line below describes how FEC should be used */ @@ -250,7 +250,7 @@ SKP_int SKP_Silk_encode_frame_FIX( /* Payload length so far */ SKP_Silk_range_coder_get_length( &psEnc->sCmn.sRC, &nBytes ); - + } /* Check for arithmetic coder errors */ @@ -259,7 +259,7 @@ SKP_int SKP_Silk_encode_frame_FIX( } /* Simulate number of ms buffered in channel because of exceeding TargetRate */ - SKP_assert( ( 8 * 1000 * ( (SKP_int64)nBytes - (SKP_int64)psEnc->sCmn.nBytesInPayloadBuf ) ) == + SKP_assert( ( 8 * 1000 * ( (SKP_int64)nBytes - (SKP_int64)psEnc->sCmn.nBytesInPayloadBuf ) ) == SKP_SAT32( 8 * 1000 * ( (SKP_int64)nBytes - (SKP_int64)psEnc->sCmn.nBytesInPayloadBuf ) ) ); SKP_assert( psEnc->sCmn.TargetRate_bps > 0 ); psEnc->BufferedInChannel_ms += SKP_DIV32( 8 * 1000 * ( nBytes - psEnc->sCmn.nBytesInPayloadBuf ), psEnc->sCmn.TargetRate_bps ); @@ -268,7 +268,7 @@ SKP_int SKP_Silk_encode_frame_FIX( psEnc->sCmn.nBytesInPayloadBuf = nBytes; if( psEnc->speech_activity_Q8 > SKP_FIX_CONST( WB_DETECT_ACTIVE_SPEECH_LEVEL_THRES, 8 ) ) { - psEnc->sCmn.sSWBdetect.ActiveSpeech_ms = SKP_ADD_POS_SAT32( psEnc->sCmn.sSWBdetect.ActiveSpeech_ms, FRAME_LENGTH_MS ); + psEnc->sCmn.sSWBdetect.ActiveSpeech_ms = SKP_ADD_POS_SAT32( psEnc->sCmn.sSWBdetect.ActiveSpeech_ms, FRAME_LENGTH_MS ); } @@ -326,21 +326,21 @@ void SKP_Silk_LBRR_encode_FIX( } /* Decode to get gains in sync with decoder */ /* Overwrite unquantized gains with quantized gains */ - SKP_Silk_gains_dequant( psEncCtrl->Gains_Q16, psEncCtrl->sCmn.GainsIndices, + SKP_Silk_gains_dequant( psEncCtrl->Gains_Q16, psEncCtrl->sCmn.GainsIndices, &psEnc->sCmn.LBRRprevLastGainIndex, psEnc->sCmn.nFramesInPayloadBuf ); /*****************************************/ /* Noise shaping quantization */ /*****************************************/ if( psEnc->sCmn.nStatesDelayedDecision > 1 || psEnc->sCmn.warping_Q16 > 0 ) { - SKP_Silk_NSQ_del_dec( &psEnc->sCmn, &psEncCtrl->sCmn, &psEnc->sNSQ_LBRR, xfw, psEnc->sCmn.q_LBRR, - psEncCtrl->sCmn.NLSFInterpCoef_Q2, psEncCtrl->PredCoef_Q12[ 0 ], psEncCtrl->LTPCoef_Q14, - psEncCtrl->AR2_Q13, psEncCtrl->HarmShapeGain_Q14, psEncCtrl->Tilt_Q14, psEncCtrl->LF_shp_Q14, + SKP_Silk_NSQ_del_dec( &psEnc->sCmn, &psEncCtrl->sCmn, &psEnc->sNSQ_LBRR, xfw, psEnc->sCmn.q_LBRR, + psEncCtrl->sCmn.NLSFInterpCoef_Q2, psEncCtrl->PredCoef_Q12[ 0 ], psEncCtrl->LTPCoef_Q14, + psEncCtrl->AR2_Q13, psEncCtrl->HarmShapeGain_Q14, psEncCtrl->Tilt_Q14, psEncCtrl->LF_shp_Q14, psEncCtrl->Gains_Q16, psEncCtrl->Lambda_Q10, psEncCtrl->LTP_scale_Q14 ); } else { - SKP_Silk_NSQ( &psEnc->sCmn, &psEncCtrl->sCmn, &psEnc->sNSQ_LBRR, xfw, psEnc->sCmn.q_LBRR, - psEncCtrl->sCmn.NLSFInterpCoef_Q2, psEncCtrl->PredCoef_Q12[ 0 ], psEncCtrl->LTPCoef_Q14, - psEncCtrl->AR2_Q13, psEncCtrl->HarmShapeGain_Q14, psEncCtrl->Tilt_Q14, psEncCtrl->LF_shp_Q14, + SKP_Silk_NSQ( &psEnc->sCmn, &psEncCtrl->sCmn, &psEnc->sNSQ_LBRR, xfw, psEnc->sCmn.q_LBRR, + psEncCtrl->sCmn.NLSFInterpCoef_Q2, psEncCtrl->PredCoef_Q12[ 0 ], psEncCtrl->LTPCoef_Q14, + psEncCtrl->AR2_Q13, psEncCtrl->HarmShapeGain_Q14, psEncCtrl->Tilt_Q14, psEncCtrl->LF_shp_Q14, psEncCtrl->Gains_Q16, psEncCtrl->Lambda_Q10, psEncCtrl->LTP_scale_Q14 ); } } else { @@ -358,7 +358,7 @@ void SKP_Silk_LBRR_encode_FIX( /****************************************/ /* Encode Parameters */ /****************************************/ - SKP_Silk_encode_parameters( &psEnc->sCmn, &psEncCtrl->sCmn, + SKP_Silk_encode_parameters( &psEnc->sCmn, &psEncCtrl->sCmn, &psEnc->sCmn.sRC_LBRR, psEnc->sCmn.q_LBRR ); if( psEnc->sCmn.sRC_LBRR.error ) { @@ -405,7 +405,7 @@ void SKP_Silk_LBRR_encode_FIX( /* Restore original Gains */ SKP_memcpy( psEncCtrl->sCmn.GainsIndices, TempGainsIndices, NB_SUBFR * sizeof( SKP_int ) ); SKP_memcpy( psEncCtrl->Gains_Q16, TempGains_Q16, NB_SUBFR * sizeof( SKP_int32 ) ); - + /* Restore LTP scale index and typeoffset */ psEncCtrl->sCmn.LTP_scaleIndex = LTP_scaleIndex; psEnc->sCmn.typeOffsetPrev = typeOffset; diff --git a/libs/silk/src/SKP_Silk_encode_parameters.c b/libs/silk/src/SKP_Silk_encode_parameters.c index 7ebc7332b3..c55a30f5c3 100644 --- a/libs/silk/src/SKP_Silk_encode_parameters.c +++ b/libs/silk/src/SKP_Silk_encode_parameters.c @@ -1,27 +1,27 @@ /*********************************************************************** -Copyright (c) 2006-2011, Skype Limited. All rights reserved. -Redistribution and use in source and binary forms, with or without -modification, (subject to the limitations in the disclaimer below) +Copyright (c) 2006-2011, Skype Limited. All rights reserved. +Redistribution and use in source and binary forms, with or without +modification, (subject to the limitations in the disclaimer below) are permitted provided that the following conditions are met: - Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. -- Redistributions in binary form must reproduce the above copyright -notice, this list of conditions and the following disclaimer in the +- Redistributions in binary form must reproduce the above copyright +notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. -- Neither the name of Skype Limited, nor the names of specific -contributors, may be used to endorse or promote products derived from +- Neither the name of Skype Limited, nor the names of specific +contributors, may be used to endorse or promote products derived from this software without specific prior written permission. -NO EXPRESS OR IMPLIED LICENSES TO ANY PARTY'S PATENT RIGHTS ARE GRANTED -BY THIS LICENSE. THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND +NO EXPRESS OR IMPLIED LICENSES TO ANY PARTY'S PATENT RIGHTS ARE GRANTED +BY THIS LICENSE. THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS ''AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, -BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND -FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE -COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND +FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT -NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF -USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON -ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF +USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON +ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ***********************************************************************/ diff --git a/libs/silk/src/SKP_Silk_encode_pulses.c b/libs/silk/src/SKP_Silk_encode_pulses.c index 3a61ee195e..b76b805da0 100644 --- a/libs/silk/src/SKP_Silk_encode_pulses.c +++ b/libs/silk/src/SKP_Silk_encode_pulses.c @@ -1,27 +1,27 @@ /*********************************************************************** -Copyright (c) 2006-2011, Skype Limited. All rights reserved. -Redistribution and use in source and binary forms, with or without -modification, (subject to the limitations in the disclaimer below) +Copyright (c) 2006-2011, Skype Limited. All rights reserved. +Redistribution and use in source and binary forms, with or without +modification, (subject to the limitations in the disclaimer below) are permitted provided that the following conditions are met: - Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. -- Redistributions in binary form must reproduce the above copyright -notice, this list of conditions and the following disclaimer in the +- Redistributions in binary form must reproduce the above copyright +notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. -- Neither the name of Skype Limited, nor the names of specific -contributors, may be used to endorse or promote products derived from +- Neither the name of Skype Limited, nor the names of specific +contributors, may be used to endorse or promote products derived from this software without specific prior written permission. -NO EXPRESS OR IMPLIED LICENSES TO ANY PARTY'S PATENT RIGHTS ARE GRANTED -BY THIS LICENSE. THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND +NO EXPRESS OR IMPLIED LICENSES TO ANY PARTY'S PATENT RIGHTS ARE GRANTED +BY THIS LICENSE. THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS ''AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, -BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND -FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE -COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND +FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT -NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF -USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON -ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF +USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON +ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ***********************************************************************/ @@ -36,7 +36,7 @@ SKP_INLINE SKP_int combine_and_check( /* return ok */ const SKP_int *pulses_in, /* I */ SKP_int max_pulses, /* I max value for sum of pulses */ SKP_int len /* I number of output values */ -) +) { SKP_int k, sum; @@ -78,7 +78,7 @@ void SKP_Silk_encode_pulses( /****************************/ /* Calculate number of shell blocks */ iter = frame_length / SHELL_CODEC_FRAME_LENGTH; - + /* Take the absolute value of the pulses */ for( i = 0; i < frame_length; i+=4 ) { abs_pulses[i+0] = ( SKP_int )SKP_abs( q[ i + 0 ] ); @@ -110,7 +110,7 @@ void SKP_Silk_encode_pulses( if( scale_down ) { /* We need to down scale the quantization signal */ - nRshifts[ i ]++; + nRshifts[ i ]++; for( k = 0; k < SHELL_CODEC_FRAME_LENGTH; k++ ) { abs_pulses_ptr[ k ] = SKP_RSHIFT( abs_pulses_ptr[ k ], 1 ); } diff --git a/libs/silk/src/SKP_Silk_find_LPC_FIX.c b/libs/silk/src/SKP_Silk_find_LPC_FIX.c index 0d2ef58d34..8df126e05c 100644 --- a/libs/silk/src/SKP_Silk_find_LPC_FIX.c +++ b/libs/silk/src/SKP_Silk_find_LPC_FIX.c @@ -1,27 +1,27 @@ /*********************************************************************** -Copyright (c) 2006-2011, Skype Limited. All rights reserved. -Redistribution and use in source and binary forms, with or without -modification, (subject to the limitations in the disclaimer below) +Copyright (c) 2006-2011, Skype Limited. All rights reserved. +Redistribution and use in source and binary forms, with or without +modification, (subject to the limitations in the disclaimer below) are permitted provided that the following conditions are met: - Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. -- Redistributions in binary form must reproduce the above copyright -notice, this list of conditions and the following disclaimer in the +- Redistributions in binary form must reproduce the above copyright +notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. -- Neither the name of Skype Limited, nor the names of specific -contributors, may be used to endorse or promote products derived from +- Neither the name of Skype Limited, nor the names of specific +contributors, may be used to endorse or promote products derived from this software without specific prior written permission. -NO EXPRESS OR IMPLIED LICENSES TO ANY PARTY'S PATENT RIGHTS ARE GRANTED -BY THIS LICENSE. THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND +NO EXPRESS OR IMPLIED LICENSES TO ANY PARTY'S PATENT RIGHTS ARE GRANTED +BY THIS LICENSE. THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS ''AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, -BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND -FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE -COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND +FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT -NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF -USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON -ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF +USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON +ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ***********************************************************************/ @@ -44,7 +44,7 @@ void SKP_Silk_find_LPC_FIX( SKP_int isInterpLower, shift; SKP_int16 S[ MAX_LPC_ORDER ]; SKP_int32 res_nrg0, res_nrg1; - SKP_int rshift0, rshift1; + SKP_int rshift0, rshift1; /* Used only for LSF interpolation */ SKP_int32 a_tmp_Q16[ MAX_LPC_ORDER ], res_nrg_interp, res_nrg, res_tmp_nrg, res_nrg_2nd; @@ -64,7 +64,7 @@ void SKP_Silk_find_LPC_FIX( if( useInterpolatedNLSFs == 1 ) { /* Optimal solution for last 10 ms */ - SKP_Silk_burg_modified( &res_tmp_nrg, &res_tmp_nrg_Q, a_tmp_Q16, x + ( NB_SUBFR >> 1 ) * subfr_length, + SKP_Silk_burg_modified( &res_tmp_nrg, &res_tmp_nrg_Q, a_tmp_Q16, x + ( NB_SUBFR >> 1 ) * subfr_length, subfr_length, ( NB_SUBFR >> 1 ), SKP_FIX_CONST( FIND_LPC_COND_FAC, 32 ), LPC_order ); SKP_Silk_bwexpander_32( a_tmp_Q16, LPC_order, SKP_FIX_CONST( FIND_LPC_CHIRP, 16 ) ); @@ -73,15 +73,15 @@ void SKP_Silk_find_LPC_FIX( /* residual energy of the first 10 ms in each iteration of the search below */ shift = res_tmp_nrg_Q - res_nrg_Q; if( shift >= 0 ) { - if( shift < 32 ) { + if( shift < 32 ) { res_nrg = res_nrg - SKP_RSHIFT( res_tmp_nrg, shift ); } } else { - SKP_assert( shift > -32 ); + SKP_assert( shift > -32 ); res_nrg = SKP_RSHIFT( res_nrg, -shift ) - res_tmp_nrg; - res_nrg_Q = res_tmp_nrg_Q; + res_nrg_Q = res_tmp_nrg_Q; } - + /* Convert to NLSFs */ SKP_Silk_A2NLSF( NLSF_Q15, a_tmp_Q16, LPC_order ); @@ -121,7 +121,7 @@ void SKP_Silk_find_LPC_FIX( isInterpLower = SKP_FALSE; } } else { - if( -shift < 32 ) { + if( -shift < 32 ) { if( res_nrg_interp < SKP_RSHIFT( res_nrg, -shift ) ) { isInterpLower = SKP_TRUE; } else { diff --git a/libs/silk/src/SKP_Silk_find_LTP_FIX.c b/libs/silk/src/SKP_Silk_find_LTP_FIX.c index f119b1a4fe..366b655847 100644 --- a/libs/silk/src/SKP_Silk_find_LTP_FIX.c +++ b/libs/silk/src/SKP_Silk_find_LTP_FIX.c @@ -1,27 +1,27 @@ /*********************************************************************** -Copyright (c) 2006-2011, Skype Limited. All rights reserved. -Redistribution and use in source and binary forms, with or without -modification, (subject to the limitations in the disclaimer below) +Copyright (c) 2006-2011, Skype Limited. All rights reserved. +Redistribution and use in source and binary forms, with or without +modification, (subject to the limitations in the disclaimer below) are permitted provided that the following conditions are met: - Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. -- Redistributions in binary form must reproduce the above copyright -notice, this list of conditions and the following disclaimer in the +- Redistributions in binary form must reproduce the above copyright +notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. -- Neither the name of Skype Limited, nor the names of specific -contributors, may be used to endorse or promote products derived from +- Neither the name of Skype Limited, nor the names of specific +contributors, may be used to endorse or promote products derived from this software without specific prior written permission. -NO EXPRESS OR IMPLIED LICENSES TO ANY PARTY'S PATENT RIGHTS ARE GRANTED -BY THIS LICENSE. THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND +NO EXPRESS OR IMPLIED LICENSES TO ANY PARTY'S PATENT RIGHTS ARE GRANTED +BY THIS LICENSE. THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS ''AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, -BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND -FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE -COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND +FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT -NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF -USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON -ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF +USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON +ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ***********************************************************************/ @@ -64,7 +64,7 @@ void SKP_Silk_find_LTP_FIX( SKP_int32 LPC_res_nrg, LPC_LTP_res_nrg, div_Q16; SKP_int32 Rr[ LTP_ORDER ], rr[ NB_SUBFR ]; SKP_int32 wd, m_Q12; - + b_Q14_ptr = b_Q14; WLTP_ptr = WLTP; r_ptr = &r_first[ mem_offset ]; @@ -114,7 +114,7 @@ void SKP_Silk_find_LTP_FIX( SKP_assert( ((SKP_int64)Wght_Q15[ k ] << 16 ) < SKP_int32_MAX ); /* Wght always < 0.5 in Q0 */ temp32 = SKP_DIV32( SKP_LSHIFT( ( SKP_int32 )Wght_Q15[ k ], 16 ), denom32 ); /* Q( 15 + 16 + corr_rshifts[k] - extra_shifts ) */ temp32 = SKP_RSHIFT( temp32, 31 + corr_rshifts[ k ] - extra_shifts - 26 ); /* Q26 */ - + /* Limit temp such that the below scaling never wraps around */ WLTP_max = 0; for( i = 0; i < LTP_ORDER * LTP_ORDER; i++ ) { @@ -127,7 +127,7 @@ void SKP_Silk_find_LTP_FIX( } SKP_Silk_scale_vector32_Q26_lshift_18( WLTP_ptr, temp32, LTP_ORDER * LTP_ORDER ); /* WLTP_ptr in Q( 18 - corr_rshifts[ k ] ) */ - + w[ k ] = matrix_ptr( WLTP_ptr, ( LTP_ORDER >> 1 ), ( LTP_ORDER >> 1 ), LTP_ORDER ); /* w in Q( 18 - corr_rshifts[ k ] ) */ SKP_assert( w[k] >= 0 ); @@ -170,7 +170,7 @@ void SKP_Silk_find_LTP_FIX( } /* m = ( w * d' ) / ( sum( w ) + 1e-3 ); */ - + /* Find maximum absolute value of d_Q14 and the bits used by w in Q0 */ max_abs_d_Q14 = 0; max_w_bits = 0; @@ -178,7 +178,7 @@ void SKP_Silk_find_LTP_FIX( max_abs_d_Q14 = SKP_max_32( max_abs_d_Q14, SKP_abs( d_Q14[ k ] ) ); /* w[ k ] is in Q( 18 - corr_rshifts[ k ] ) */ /* Find bits needed in Q( 18 - maxRshifts ) */ - max_w_bits = SKP_max_32( max_w_bits, 32 - SKP_Silk_CLZ32( w[ k ] ) + corr_rshifts[ k ] - maxRshifts ); + max_w_bits = SKP_max_32( max_w_bits, 32 - SKP_Silk_CLZ32( w[ k ] ) + corr_rshifts[ k ] - maxRshifts ); } /* max_abs_d_Q14 = (5 << 15); worst case, i.e. LTP_ORDER * -SKP_int16_MIN */ @@ -186,13 +186,13 @@ void SKP_Silk_find_LTP_FIX( /* How many bits is needed for w*d' in Q( 18 - maxRshifts ) in the worst case, of all d_Q14's being equal to max_abs_d_Q14 */ extra_shifts = max_w_bits + 32 - SKP_Silk_CLZ32( max_abs_d_Q14 ) - 14; - + /* Subtract what we got available; bits in output var plus maxRshifts */ extra_shifts -= ( 32 - 1 - 2 + maxRshifts ); /* Keep sign bit free as well as 2 bits for accumulation */ extra_shifts = SKP_max_int( extra_shifts, 0 ); maxRshifts_wxtra = maxRshifts + extra_shifts; - + temp32 = SKP_RSHIFT( 262, maxRshifts + extra_shifts ) + 1; /* 1e-3f in Q( 18 - (maxRshifts + extra_shifts) ) */ wd = 0; for( k = 0; k < NB_SUBFR; k++ ) { @@ -211,10 +211,10 @@ void SKP_Silk_find_LTP_FIX( temp32 = SKP_LSHIFT_SAT32( w[ k ], corr_rshifts[ k ] - 2 ); } - g_Q26 = SKP_MUL( - SKP_DIV32( - SKP_FIX_CONST( LTP_SMOOTHING, 26 ), - SKP_RSHIFT( SKP_FIX_CONST( LTP_SMOOTHING, 26 ), 10 ) + temp32 ), /* Q10 */ + g_Q26 = SKP_MUL( + SKP_DIV32( + SKP_FIX_CONST( LTP_SMOOTHING, 26 ), + SKP_RSHIFT( SKP_FIX_CONST( LTP_SMOOTHING, 26 ), 10 ) + temp32 ), /* Q10 */ SKP_LSHIFT_SAT32( SKP_SUB_SAT32( ( SKP_int32 )m_Q12, SKP_RSHIFT( d_Q14[ k ], 2 ) ), 4 ) ); /* Q16 */ temp32 = 0; diff --git a/libs/silk/src/SKP_Silk_find_pitch_lags_FIX.c b/libs/silk/src/SKP_Silk_find_pitch_lags_FIX.c index ab9c43bb30..810cd5355c 100644 --- a/libs/silk/src/SKP_Silk_find_pitch_lags_FIX.c +++ b/libs/silk/src/SKP_Silk_find_pitch_lags_FIX.c @@ -1,27 +1,27 @@ /*********************************************************************** -Copyright (c) 2006-2011, Skype Limited. All rights reserved. -Redistribution and use in source and binary forms, with or without -modification, (subject to the limitations in the disclaimer below) +Copyright (c) 2006-2011, Skype Limited. All rights reserved. +Redistribution and use in source and binary forms, with or without +modification, (subject to the limitations in the disclaimer below) are permitted provided that the following conditions are met: - Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. -- Redistributions in binary form must reproduce the above copyright -notice, this list of conditions and the following disclaimer in the +- Redistributions in binary form must reproduce the above copyright +notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. -- Neither the name of Skype Limited, nor the names of specific -contributors, may be used to endorse or promote products derived from +- Neither the name of Skype Limited, nor the names of specific +contributors, may be used to endorse or promote products derived from this software without specific prior written permission. -NO EXPRESS OR IMPLIED LICENSES TO ANY PARTY'S PATENT RIGHTS ARE GRANTED -BY THIS LICENSE. THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND +NO EXPRESS OR IMPLIED LICENSES TO ANY PARTY'S PATENT RIGHTS ARE GRANTED +BY THIS LICENSE. THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS ''AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, -BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND -FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE -COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND +FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT -NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF -USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON -ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF +USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON +ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ***********************************************************************/ @@ -60,9 +60,9 @@ void SKP_Silk_find_pitch_lags_FIX( /*************************************/ /* Estimate LPC AR coefficients */ /*************************************/ - + /* Calculate windowed signal */ - + /* First LA_LTP samples */ x_buf_ptr = x_buf + buf_len - psPredSt->pitch_LPC_win_length; Wsig_ptr = Wsig; @@ -79,8 +79,8 @@ void SKP_Silk_find_pitch_lags_FIX( SKP_Silk_apply_sine_window_new( Wsig_ptr, x_buf_ptr, 2, psEnc->sCmn.la_pitch ); /* Calculate autocorrelation sequence */ - SKP_Silk_autocorr( auto_corr, &scale, Wsig, psPredSt->pitch_LPC_win_length, psEnc->sCmn.pitchEstimationLPCOrder + 1 ); - + SKP_Silk_autocorr( auto_corr, &scale, Wsig, psPredSt->pitch_LPC_win_length, psEnc->sCmn.pitchEstimationLPCOrder + 1 ); + /* Add white noise, as fraction of energy */ auto_corr[ 0 ] = SKP_SMLAWB( auto_corr[ 0 ], auto_corr[ 0 ], SKP_FIX_CONST( FIND_PITCH_WHITE_NOISE_FRACTION, 16 ) ); @@ -92,7 +92,7 @@ void SKP_Silk_find_pitch_lags_FIX( /* Convert reflection coefficients to prediction coefficients */ SKP_Silk_k2a( A_Q24, rc_Q15, psEnc->sCmn.pitchEstimationLPCOrder ); - + /* Convert From 32 bit Q24 to 16 bit Q12 coefs */ for( i = 0; i < psEnc->sCmn.pitchEstimationLPCOrder; i++ ) { A_Q12[ i ] = ( SKP_int16 )SKP_SAT16( SKP_RSHIFT( A_Q24[ i ], 12 ) ); @@ -100,7 +100,7 @@ void SKP_Silk_find_pitch_lags_FIX( /* Do BWE */ SKP_Silk_bwexpander( A_Q12, psEnc->sCmn.pitchEstimationLPCOrder, SKP_FIX_CONST( FIND_PITCH_BANDWITH_EXPANSION, 16 ) ); - + /*****************************************/ /* LPC analysis filtering */ /*****************************************/ @@ -119,7 +119,7 @@ void SKP_Silk_find_pitch_lags_FIX( /*****************************************/ /* Call pitch estimator */ /*****************************************/ - psEncCtrl->sCmn.sigtype = SKP_Silk_pitch_analysis_core( res, psEncCtrl->sCmn.pitchL, &psEncCtrl->sCmn.lagIndex, - &psEncCtrl->sCmn.contourIndex, &psEnc->LTPCorr_Q15, psEnc->sCmn.prevLag, psEnc->sCmn.pitchEstimationThreshold_Q16, + psEncCtrl->sCmn.sigtype = SKP_Silk_pitch_analysis_core( res, psEncCtrl->sCmn.pitchL, &psEncCtrl->sCmn.lagIndex, + &psEncCtrl->sCmn.contourIndex, &psEnc->LTPCorr_Q15, psEnc->sCmn.prevLag, psEnc->sCmn.pitchEstimationThreshold_Q16, ( SKP_int16 )thrhld_Q15, psEnc->sCmn.fs_kHz, psEnc->sCmn.pitchEstimationComplexity, SKP_FALSE ); } diff --git a/libs/silk/src/SKP_Silk_find_pred_coefs_FIX.c b/libs/silk/src/SKP_Silk_find_pred_coefs_FIX.c index 73d9842bd4..f076be86d4 100644 --- a/libs/silk/src/SKP_Silk_find_pred_coefs_FIX.c +++ b/libs/silk/src/SKP_Silk_find_pred_coefs_FIX.c @@ -1,27 +1,27 @@ /*********************************************************************** -Copyright (c) 2006-2011, Skype Limited. All rights reserved. -Redistribution and use in source and binary forms, with or without -modification, (subject to the limitations in the disclaimer below) +Copyright (c) 2006-2011, Skype Limited. All rights reserved. +Redistribution and use in source and binary forms, with or without +modification, (subject to the limitations in the disclaimer below) are permitted provided that the following conditions are met: - Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. -- Redistributions in binary form must reproduce the above copyright -notice, this list of conditions and the following disclaimer in the +- Redistributions in binary form must reproduce the above copyright +notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. -- Neither the name of Skype Limited, nor the names of specific -contributors, may be used to endorse or promote products derived from +- Neither the name of Skype Limited, nor the names of specific +contributors, may be used to endorse or promote products derived from this software without specific prior written permission. -NO EXPRESS OR IMPLIED LICENSES TO ANY PARTY'S PATENT RIGHTS ARE GRANTED -BY THIS LICENSE. THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND +NO EXPRESS OR IMPLIED LICENSES TO ANY PARTY'S PATENT RIGHTS ARE GRANTED +BY THIS LICENSE. THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS ''AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, -BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND -FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE -COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND +FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT -NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF -USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON -ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF +USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON +ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ***********************************************************************/ @@ -56,8 +56,8 @@ void SKP_Silk_find_pred_coefs_FIX( invGains_Q16[ i ] = SKP_DIV32_varQ( min_gain_Q16, psEncCtrl->Gains_Q16[ i ], 16 - 2 ); /* Ensure Wght_Q15 a minimum value 1 */ - invGains_Q16[ i ] = SKP_max( invGains_Q16[ i ], 363 ); - + invGains_Q16[ i ] = SKP_max( invGains_Q16[ i ], 363 ); + /* Square the inverted gains */ SKP_assert( invGains_Q16[ i ] == SKP_SAT16( invGains_Q16[ i ] ) ); tmp = SKP_SMULWB( invGains_Q16[ i ], invGains_Q16[ i ] ); @@ -74,20 +74,20 @@ void SKP_Silk_find_pred_coefs_FIX( SKP_assert( psEnc->sCmn.frame_length - psEnc->sCmn.predictLPCOrder >= psEncCtrl->sCmn.pitchL[ 0 ] + LTP_ORDER / 2 ); /* LTP analysis */ - SKP_Silk_find_LTP_FIX( psEncCtrl->LTPCoef_Q14, WLTP, &psEncCtrl->LTPredCodGain_Q7, res_pitch, - res_pitch + SKP_RSHIFT( psEnc->sCmn.frame_length, 1 ), psEncCtrl->sCmn.pitchL, Wght_Q15, + SKP_Silk_find_LTP_FIX( psEncCtrl->LTPCoef_Q14, WLTP, &psEncCtrl->LTPredCodGain_Q7, res_pitch, + res_pitch + SKP_RSHIFT( psEnc->sCmn.frame_length, 1 ), psEncCtrl->sCmn.pitchL, Wght_Q15, psEnc->sCmn.subfr_length, psEnc->sCmn.frame_length, LTP_corrs_rshift ); /* Quantize LTP gain parameters */ - SKP_Silk_quant_LTP_gains_FIX( psEncCtrl->LTPCoef_Q14, psEncCtrl->sCmn.LTPIndex, &psEncCtrl->sCmn.PERIndex, + SKP_Silk_quant_LTP_gains_FIX( psEncCtrl->LTPCoef_Q14, psEncCtrl->sCmn.LTPIndex, &psEncCtrl->sCmn.PERIndex, WLTP, psEnc->mu_LTP_Q8, psEnc->sCmn.LTPQuantLowComplexity ); /* Control LTP scaling */ SKP_Silk_LTP_scale_ctrl_FIX( psEnc, psEncCtrl ); /* Create LTP residual */ - SKP_Silk_LTP_analysis_filter_FIX( LPC_in_pre, psEnc->x_buf + psEnc->sCmn.frame_length - psEnc->sCmn.predictLPCOrder, + SKP_Silk_LTP_analysis_filter_FIX( LPC_in_pre, psEnc->x_buf + psEnc->sCmn.frame_length - psEnc->sCmn.predictLPCOrder, psEncCtrl->LTPCoef_Q14, psEncCtrl->sCmn.pitchL, invGains_Q16, psEnc->sCmn.subfr_length, psEnc->sCmn.predictLPCOrder ); } else { @@ -98,7 +98,7 @@ void SKP_Silk_find_pred_coefs_FIX( x_ptr = psEnc->x_buf + psEnc->sCmn.frame_length - psEnc->sCmn.predictLPCOrder; x_pre_ptr = LPC_in_pre; for( i = 0; i < NB_SUBFR; i++ ) { - SKP_Silk_scale_copy_vector16( x_pre_ptr, x_ptr, invGains_Q16[ i ], + SKP_Silk_scale_copy_vector16( x_pre_ptr, x_ptr, invGains_Q16[ i ], psEnc->sCmn.subfr_length + psEnc->sCmn.predictLPCOrder ); x_pre_ptr += psEnc->sCmn.subfr_length + psEnc->sCmn.predictLPCOrder; x_ptr += psEnc->sCmn.subfr_length; @@ -110,8 +110,8 @@ void SKP_Silk_find_pred_coefs_FIX( /* LPC_in_pre contains the LTP-filtered input for voiced, and the unfiltered input for unvoiced */ TIC(FIND_LPC) - SKP_Silk_find_LPC_FIX( NLSF_Q15, &psEncCtrl->sCmn.NLSFInterpCoef_Q2, psEnc->sPred.prev_NLSFq_Q15, - psEnc->sCmn.useInterpolatedNLSFs * ( 1 - psEnc->sCmn.first_frame_after_reset ), psEnc->sCmn.predictLPCOrder, + SKP_Silk_find_LPC_FIX( NLSF_Q15, &psEncCtrl->sCmn.NLSFInterpCoef_Q2, psEnc->sPred.prev_NLSFq_Q15, + psEnc->sCmn.useInterpolatedNLSFs * ( 1 - psEnc->sCmn.first_frame_after_reset ), psEnc->sCmn.predictLPCOrder, LPC_in_pre, psEnc->sCmn.subfr_length + psEnc->sCmn.predictLPCOrder ); TOC(FIND_LPC) @@ -129,4 +129,3 @@ void SKP_Silk_find_pred_coefs_FIX( SKP_memcpy( psEnc->sPred.prev_NLSFq_Q15, NLSF_Q15, psEnc->sCmn.predictLPCOrder * sizeof( SKP_int ) ); } - diff --git a/libs/silk/src/SKP_Silk_gain_quant.c b/libs/silk/src/SKP_Silk_gain_quant.c index 170d091619..c9b032e888 100644 --- a/libs/silk/src/SKP_Silk_gain_quant.c +++ b/libs/silk/src/SKP_Silk_gain_quant.c @@ -1,27 +1,27 @@ /*********************************************************************** -Copyright (c) 2006-2011, Skype Limited. All rights reserved. -Redistribution and use in source and binary forms, with or without -modification, (subject to the limitations in the disclaimer below) +Copyright (c) 2006-2011, Skype Limited. All rights reserved. +Redistribution and use in source and binary forms, with or without +modification, (subject to the limitations in the disclaimer below) are permitted provided that the following conditions are met: - Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. -- Redistributions in binary form must reproduce the above copyright -notice, this list of conditions and the following disclaimer in the +- Redistributions in binary form must reproduce the above copyright +notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. -- Neither the name of Skype Limited, nor the names of specific -contributors, may be used to endorse or promote products derived from +- Neither the name of Skype Limited, nor the names of specific +contributors, may be used to endorse or promote products derived from this software without specific prior written permission. -NO EXPRESS OR IMPLIED LICENSES TO ANY PARTY'S PATENT RIGHTS ARE GRANTED -BY THIS LICENSE. THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND +NO EXPRESS OR IMPLIED LICENSES TO ANY PARTY'S PATENT RIGHTS ARE GRANTED +BY THIS LICENSE. THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS ''AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, -BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND -FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE -COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND +FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT -NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF -USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON -ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF +USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON +ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ***********************************************************************/ diff --git a/libs/silk/src/SKP_Silk_init_encoder_FIX.c b/libs/silk/src/SKP_Silk_init_encoder_FIX.c index 67959e46ae..54874411a6 100644 --- a/libs/silk/src/SKP_Silk_init_encoder_FIX.c +++ b/libs/silk/src/SKP_Silk_init_encoder_FIX.c @@ -1,27 +1,27 @@ /*********************************************************************** -Copyright (c) 2006-2011, Skype Limited. All rights reserved. -Redistribution and use in source and binary forms, with or without -modification, (subject to the limitations in the disclaimer below) +Copyright (c) 2006-2011, Skype Limited. All rights reserved. +Redistribution and use in source and binary forms, with or without +modification, (subject to the limitations in the disclaimer below) are permitted provided that the following conditions are met: - Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. -- Redistributions in binary form must reproduce the above copyright -notice, this list of conditions and the following disclaimer in the +- Redistributions in binary form must reproduce the above copyright +notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. -- Neither the name of Skype Limited, nor the names of specific -contributors, may be used to endorse or promote products derived from +- Neither the name of Skype Limited, nor the names of specific +contributors, may be used to endorse or promote products derived from this software without specific prior written permission. -NO EXPRESS OR IMPLIED LICENSES TO ANY PARTY'S PATENT RIGHTS ARE GRANTED -BY THIS LICENSE. THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND +NO EXPRESS OR IMPLIED LICENSES TO ANY PARTY'S PATENT RIGHTS ARE GRANTED +BY THIS LICENSE. THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS ''AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, -BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND -FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE -COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND +FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT -NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF -USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON -ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF +USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON +ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ***********************************************************************/ diff --git a/libs/silk/src/SKP_Silk_inner_prod_aligned.c b/libs/silk/src/SKP_Silk_inner_prod_aligned.c index 7535630d92..2d0efe13ec 100644 --- a/libs/silk/src/SKP_Silk_inner_prod_aligned.c +++ b/libs/silk/src/SKP_Silk_inner_prod_aligned.c @@ -1,27 +1,27 @@ /*********************************************************************** -Copyright (c) 2006-2011, Skype Limited. All rights reserved. -Redistribution and use in source and binary forms, with or without -modification, (subject to the limitations in the disclaimer below) +Copyright (c) 2006-2011, Skype Limited. All rights reserved. +Redistribution and use in source and binary forms, with or without +modification, (subject to the limitations in the disclaimer below) are permitted provided that the following conditions are met: - Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. -- Redistributions in binary form must reproduce the above copyright -notice, this list of conditions and the following disclaimer in the +- Redistributions in binary form must reproduce the above copyright +notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. -- Neither the name of Skype Limited, nor the names of specific -contributors, may be used to endorse or promote products derived from +- Neither the name of Skype Limited, nor the names of specific +contributors, may be used to endorse or promote products derived from this software without specific prior written permission. -NO EXPRESS OR IMPLIED LICENSES TO ANY PARTY'S PATENT RIGHTS ARE GRANTED -BY THIS LICENSE. THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND +NO EXPRESS OR IMPLIED LICENSES TO ANY PARTY'S PATENT RIGHTS ARE GRANTED +BY THIS LICENSE. THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS ''AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, -BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND -FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE -COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND +FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT -NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF -USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON -ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF +USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON +ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ***********************************************************************/ @@ -46,7 +46,7 @@ SKP_int32 SKP_Silk_inner_prod_aligned( const SKP_int len /* I vector lengths */ ) { - SKP_int i; + SKP_int i; SKP_int32 sum = 0; for( i = 0; i < len; i++ ) { sum = SKP_SMLABB( sum, inVec1[ i ], inVec2[ i ] ); @@ -55,12 +55,12 @@ SKP_int32 SKP_Silk_inner_prod_aligned( } SKP_int64 SKP_Silk_inner_prod16_aligned_64( - const SKP_int16 *inVec1, /* I input vector 1 */ + const SKP_int16 *inVec1, /* I input vector 1 */ const SKP_int16 *inVec2, /* I input vector 2 */ const SKP_int len /* I vector lengths */ ) { - SKP_int i; + SKP_int i; SKP_int64 sum = 0; for( i = 0; i < len; i++ ) { sum = SKP_SMLALBB( sum, inVec1[ i ], inVec2[ i ] ); diff --git a/libs/silk/src/SKP_Silk_interpolate.c b/libs/silk/src/SKP_Silk_interpolate.c index e3d5cacda3..38e00c8fd1 100644 --- a/libs/silk/src/SKP_Silk_interpolate.c +++ b/libs/silk/src/SKP_Silk_interpolate.c @@ -1,27 +1,27 @@ /*********************************************************************** -Copyright (c) 2006-2011, Skype Limited. All rights reserved. -Redistribution and use in source and binary forms, with or without -modification, (subject to the limitations in the disclaimer below) +Copyright (c) 2006-2011, Skype Limited. All rights reserved. +Redistribution and use in source and binary forms, with or without +modification, (subject to the limitations in the disclaimer below) are permitted provided that the following conditions are met: - Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. -- Redistributions in binary form must reproduce the above copyright -notice, this list of conditions and the following disclaimer in the +- Redistributions in binary form must reproduce the above copyright +notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. -- Neither the name of Skype Limited, nor the names of specific -contributors, may be used to endorse or promote products derived from +- Neither the name of Skype Limited, nor the names of specific +contributors, may be used to endorse or promote products derived from this software without specific prior written permission. -NO EXPRESS OR IMPLIED LICENSES TO ANY PARTY'S PATENT RIGHTS ARE GRANTED -BY THIS LICENSE. THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND +NO EXPRESS OR IMPLIED LICENSES TO ANY PARTY'S PATENT RIGHTS ARE GRANTED +BY THIS LICENSE. THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS ''AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, -BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND -FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE -COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND +FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT -NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF -USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON -ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF +USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON +ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ***********************************************************************/ diff --git a/libs/silk/src/SKP_Silk_k2a.c b/libs/silk/src/SKP_Silk_k2a.c index 972c464df1..e7b67b8316 100644 --- a/libs/silk/src/SKP_Silk_k2a.c +++ b/libs/silk/src/SKP_Silk_k2a.c @@ -1,27 +1,27 @@ /*********************************************************************** -Copyright (c) 2006-2011, Skype Limited. All rights reserved. -Redistribution and use in source and binary forms, with or without -modification, (subject to the limitations in the disclaimer below) +Copyright (c) 2006-2011, Skype Limited. All rights reserved. +Redistribution and use in source and binary forms, with or without +modification, (subject to the limitations in the disclaimer below) are permitted provided that the following conditions are met: - Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. -- Redistributions in binary form must reproduce the above copyright -notice, this list of conditions and the following disclaimer in the +- Redistributions in binary form must reproduce the above copyright +notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. -- Neither the name of Skype Limited, nor the names of specific -contributors, may be used to endorse or promote products derived from +- Neither the name of Skype Limited, nor the names of specific +contributors, may be used to endorse or promote products derived from this software without specific prior written permission. -NO EXPRESS OR IMPLIED LICENSES TO ANY PARTY'S PATENT RIGHTS ARE GRANTED -BY THIS LICENSE. THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND +NO EXPRESS OR IMPLIED LICENSES TO ANY PARTY'S PATENT RIGHTS ARE GRANTED +BY THIS LICENSE. THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS ''AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, -BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND -FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE -COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND +FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT -NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF -USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON -ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF +USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON +ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ***********************************************************************/ diff --git a/libs/silk/src/SKP_Silk_k2a_Q16.c b/libs/silk/src/SKP_Silk_k2a_Q16.c index 2671a1a3c0..97dd2114ff 100644 --- a/libs/silk/src/SKP_Silk_k2a_Q16.c +++ b/libs/silk/src/SKP_Silk_k2a_Q16.c @@ -1,27 +1,27 @@ /*********************************************************************** -Copyright (c) 2006-2011, Skype Limited. All rights reserved. -Redistribution and use in source and binary forms, with or without -modification, (subject to the limitations in the disclaimer below) +Copyright (c) 2006-2011, Skype Limited. All rights reserved. +Redistribution and use in source and binary forms, with or without +modification, (subject to the limitations in the disclaimer below) are permitted provided that the following conditions are met: - Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. -- Redistributions in binary form must reproduce the above copyright -notice, this list of conditions and the following disclaimer in the +- Redistributions in binary form must reproduce the above copyright +notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. -- Neither the name of Skype Limited, nor the names of specific -contributors, may be used to endorse or promote products derived from +- Neither the name of Skype Limited, nor the names of specific +contributors, may be used to endorse or promote products derived from this software without specific prior written permission. -NO EXPRESS OR IMPLIED LICENSES TO ANY PARTY'S PATENT RIGHTS ARE GRANTED -BY THIS LICENSE. THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND +NO EXPRESS OR IMPLIED LICENSES TO ANY PARTY'S PATENT RIGHTS ARE GRANTED +BY THIS LICENSE. THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS ''AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, -BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND -FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE -COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND +FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT -NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF -USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON -ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF +USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON +ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ***********************************************************************/ diff --git a/libs/silk/src/SKP_Silk_lin2log.c b/libs/silk/src/SKP_Silk_lin2log.c index db3f08aa16..bf8ad0b96b 100644 --- a/libs/silk/src/SKP_Silk_lin2log.c +++ b/libs/silk/src/SKP_Silk_lin2log.c @@ -1,27 +1,27 @@ /*********************************************************************** -Copyright (c) 2006-2011, Skype Limited. All rights reserved. -Redistribution and use in source and binary forms, with or without -modification, (subject to the limitations in the disclaimer below) +Copyright (c) 2006-2011, Skype Limited. All rights reserved. +Redistribution and use in source and binary forms, with or without +modification, (subject to the limitations in the disclaimer below) are permitted provided that the following conditions are met: - Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. -- Redistributions in binary form must reproduce the above copyright -notice, this list of conditions and the following disclaimer in the +- Redistributions in binary form must reproduce the above copyright +notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. -- Neither the name of Skype Limited, nor the names of specific -contributors, may be used to endorse or promote products derived from +- Neither the name of Skype Limited, nor the names of specific +contributors, may be used to endorse or promote products derived from this software without specific prior written permission. -NO EXPRESS OR IMPLIED LICENSES TO ANY PARTY'S PATENT RIGHTS ARE GRANTED -BY THIS LICENSE. THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND +NO EXPRESS OR IMPLIED LICENSES TO ANY PARTY'S PATENT RIGHTS ARE GRANTED +BY THIS LICENSE. THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS ''AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, -BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND -FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE -COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND +FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT -NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF -USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON -ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF +USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON +ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ***********************************************************************/ @@ -36,7 +36,7 @@ OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. * */ #include "SKP_Silk_SigProc_FIX.h" /* Approximation of 128 * log2() (very close inverse of approx 2^() below) */ -/* Convert input to a log scale */ +/* Convert input to a log scale */ SKP_int32 SKP_Silk_lin2log( const SKP_int32 inLin ) /* I: Input in linear scale */ { SKP_int32 lz, frac_Q7; @@ -46,4 +46,3 @@ SKP_int32 SKP_Silk_lin2log( const SKP_int32 inLin ) /* I: Input in linear /* Piece-wise parabolic approximation */ return( SKP_LSHIFT( 31 - lz, 7 ) + SKP_SMLAWB( frac_Q7, SKP_MUL( frac_Q7, 128 - frac_Q7 ), 179 ) ); } - diff --git a/libs/silk/src/SKP_Silk_log2lin.c b/libs/silk/src/SKP_Silk_log2lin.c index 33db15b521..86a73ffec6 100644 --- a/libs/silk/src/SKP_Silk_log2lin.c +++ b/libs/silk/src/SKP_Silk_log2lin.c @@ -1,27 +1,27 @@ /*********************************************************************** -Copyright (c) 2006-2011, Skype Limited. All rights reserved. -Redistribution and use in source and binary forms, with or without -modification, (subject to the limitations in the disclaimer below) +Copyright (c) 2006-2011, Skype Limited. All rights reserved. +Redistribution and use in source and binary forms, with or without +modification, (subject to the limitations in the disclaimer below) are permitted provided that the following conditions are met: - Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. -- Redistributions in binary form must reproduce the above copyright -notice, this list of conditions and the following disclaimer in the +- Redistributions in binary form must reproduce the above copyright +notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. -- Neither the name of Skype Limited, nor the names of specific -contributors, may be used to endorse or promote products derived from +- Neither the name of Skype Limited, nor the names of specific +contributors, may be used to endorse or promote products derived from this software without specific prior written permission. -NO EXPRESS OR IMPLIED LICENSES TO ANY PARTY'S PATENT RIGHTS ARE GRANTED -BY THIS LICENSE. THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND +NO EXPRESS OR IMPLIED LICENSES TO ANY PARTY'S PATENT RIGHTS ARE GRANTED +BY THIS LICENSE. THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS ''AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, -BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND -FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE -COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND +FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT -NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF -USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON -ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF +USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON +ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ***********************************************************************/ @@ -36,8 +36,8 @@ OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. #include "SKP_Silk_SigProc_FIX.h" /* Approximation of 2^() (very close inverse of SKP_Silk_lin2log()) */ -/* Convert input to a linear scale */ -SKP_int32 SKP_Silk_log2lin( const SKP_int32 inLog_Q7 ) /* I: Input on log scale */ +/* Convert input to a linear scale */ +SKP_int32 SKP_Silk_log2lin( const SKP_int32 inLog_Q7 ) /* I: Input on log scale */ { SKP_int32 out, frac_Q7; diff --git a/libs/silk/src/SKP_Silk_macros.h b/libs/silk/src/SKP_Silk_macros.h index b2d5e94d6e..00311c548d 100644 --- a/libs/silk/src/SKP_Silk_macros.h +++ b/libs/silk/src/SKP_Silk_macros.h @@ -1,27 +1,27 @@ /*********************************************************************** -Copyright (c) 2006-2011, Skype Limited. All rights reserved. -Redistribution and use in source and binary forms, with or without -modification, (subject to the limitations in the disclaimer below) +Copyright (c) 2006-2011, Skype Limited. All rights reserved. +Redistribution and use in source and binary forms, with or without +modification, (subject to the limitations in the disclaimer below) are permitted provided that the following conditions are met: - Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. -- Redistributions in binary form must reproduce the above copyright -notice, this list of conditions and the following disclaimer in the +- Redistributions in binary form must reproduce the above copyright +notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. -- Neither the name of Skype Limited, nor the names of specific -contributors, may be used to endorse or promote products derived from +- Neither the name of Skype Limited, nor the names of specific +contributors, may be used to endorse or promote products derived from this software without specific prior written permission. -NO EXPRESS OR IMPLIED LICENSES TO ANY PARTY'S PATENT RIGHTS ARE GRANTED -BY THIS LICENSE. THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND +NO EXPRESS OR IMPLIED LICENSES TO ANY PARTY'S PATENT RIGHTS ARE GRANTED +BY THIS LICENSE. THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS ''AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, -BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND -FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE -COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND +FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT -NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF -USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON -ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF +USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON +ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ***********************************************************************/ @@ -71,7 +71,7 @@ OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. #define SKP_SUB_SAT32(a, b) ((((a)-(b)) & 0x80000000) == 0 ? \ (( (a) & ((b)^0x80000000) & 0x80000000) ? SKP_int32_MIN : (a)-(b)) : \ ((((a)^0x80000000) & (b) & 0x80000000) ? SKP_int32_MAX : (a)-(b)) ) - + SKP_INLINE SKP_int32 SKP_Silk_CLZ16(SKP_int16 in16) { SKP_int32 out32 = 0; @@ -119,4 +119,3 @@ SKP_INLINE SKP_int32 SKP_Silk_CLZ32(SKP_int32 in32) } #endif //_SKP_SILK_API_C_H_ - diff --git a/libs/silk/src/SKP_Silk_main.h b/libs/silk/src/SKP_Silk_main.h index 3984782f20..5f31953e0f 100644 --- a/libs/silk/src/SKP_Silk_main.h +++ b/libs/silk/src/SKP_Silk_main.h @@ -1,27 +1,27 @@ /*********************************************************************** -Copyright (c) 2006-2011, Skype Limited. All rights reserved. -Redistribution and use in source and binary forms, with or without -modification, (subject to the limitations in the disclaimer below) +Copyright (c) 2006-2011, Skype Limited. All rights reserved. +Redistribution and use in source and binary forms, with or without +modification, (subject to the limitations in the disclaimer below) are permitted provided that the following conditions are met: - Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. -- Redistributions in binary form must reproduce the above copyright -notice, this list of conditions and the following disclaimer in the +- Redistributions in binary form must reproduce the above copyright +notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. -- Neither the name of Skype Limited, nor the names of specific -contributors, may be used to endorse or promote products derived from +- Neither the name of Skype Limited, nor the names of specific +contributors, may be used to endorse or promote products derived from this software without specific prior written permission. -NO EXPRESS OR IMPLIED LICENSES TO ANY PARTY'S PATENT RIGHTS ARE GRANTED -BY THIS LICENSE. THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND +NO EXPRESS OR IMPLIED LICENSES TO ANY PARTY'S PATENT RIGHTS ARE GRANTED +BY THIS LICENSE. THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS ''AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, -BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND -FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE -COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND +FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT -NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF -USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON -ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF +USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON +ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ***********************************************************************/ @@ -101,7 +101,7 @@ void SKP_Silk_range_encoder( const SKP_int data, /* I uncompressed data */ const SKP_uint16 prob[] /* I cumulative density functions */ ); - + /* Range encoder for multiple symbols */ void SKP_Silk_range_encoder_multi( SKP_Silk_range_coder_state *psRC, /* I/O compressor data structure */ @@ -173,7 +173,7 @@ void SKP_Silk_gains_dequant( /* Convert NLSF parameters to stable AR prediction filter coefficients */ void SKP_Silk_NLSF2A_stable( - SKP_int16 pAR_Q12[ MAX_LPC_ORDER ], /* O Stabilized AR coefs [LPC_order] */ + SKP_int16 pAR_Q12[ MAX_LPC_ORDER ], /* O Stabilized AR coefs [LPC_order] */ const SKP_int pNLSF[ MAX_LPC_ORDER ], /* I NLSF vector [LPC_order] */ const SKP_int LPC_order /* I LPC/LSF order */ ); @@ -231,14 +231,14 @@ void SKP_Silk_NSQ_del_dec( /* Silk VAD */ /************/ /* Initialize the Silk VAD */ -SKP_int SKP_Silk_VAD_Init( /* O Return value, 0 if success */ - SKP_Silk_VAD_state *psSilk_VAD /* I/O Pointer to Silk VAD state */ -); +SKP_int SKP_Silk_VAD_Init( /* O Return value, 0 if success */ + SKP_Silk_VAD_state *psSilk_VAD /* I/O Pointer to Silk VAD state */ +); /* Silk VAD noise level estimation */ void SKP_Silk_VAD_GetNoiseLevels( const SKP_int32 pX[ VAD_N_BANDS ], /* I subband energies */ - SKP_Silk_VAD_state *psSilk_VAD /* I/O Pointer to Silk VAD state */ + SKP_Silk_VAD_state *psSilk_VAD /* I/O Pointer to Silk VAD state */ ); /* Get speech activity level in Q8 */ @@ -375,7 +375,7 @@ void SKP_Silk_get_low_layer_internal( ); /* Resets LBRR buffer, used if packet size changes */ -void SKP_Silk_LBRR_reset( +void SKP_Silk_LBRR_reset( SKP_Silk_encoder_state *psEncC /* I/O Pointer to Silk encoder state */ ); diff --git a/libs/silk/src/SKP_Silk_main_FIX.h b/libs/silk/src/SKP_Silk_main_FIX.h index 37d554645c..7578b3ac72 100644 --- a/libs/silk/src/SKP_Silk_main_FIX.h +++ b/libs/silk/src/SKP_Silk_main_FIX.h @@ -1,27 +1,27 @@ /*********************************************************************** -Copyright (c) 2006-2011, Skype Limited. All rights reserved. -Redistribution and use in source and binary forms, with or without -modification, (subject to the limitations in the disclaimer below) +Copyright (c) 2006-2011, Skype Limited. All rights reserved. +Redistribution and use in source and binary forms, with or without +modification, (subject to the limitations in the disclaimer below) are permitted provided that the following conditions are met: - Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. -- Redistributions in binary form must reproduce the above copyright -notice, this list of conditions and the following disclaimer in the +- Redistributions in binary form must reproduce the above copyright +notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. -- Neither the name of Skype Limited, nor the names of specific -contributors, may be used to endorse or promote products derived from +- Neither the name of Skype Limited, nor the names of specific +contributors, may be used to endorse or promote products derived from this software without specific prior written permission. -NO EXPRESS OR IMPLIED LICENSES TO ANY PARTY'S PATENT RIGHTS ARE GRANTED -BY THIS LICENSE. THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND +NO EXPRESS OR IMPLIED LICENSES TO ANY PARTY'S PATENT RIGHTS ARE GRANTED +BY THIS LICENSE. THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS ''AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, -BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND -FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE -COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND +FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT -NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF -USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON -ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF +USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON +ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ***********************************************************************/ @@ -53,7 +53,7 @@ SKP_int SKP_Silk_init_encoder_FIX( ); /* Control the Silk encoder */ -SKP_int SKP_Silk_control_encoder_FIX( +SKP_int SKP_Silk_control_encoder_FIX( SKP_Silk_encoder_state_FIX *psEnc, /* I/O Pointer to Silk encoder state */ const SKP_int PacketSize_ms, /* I Packet length (ms) */ const SKP_int32 TargetRate_bps, /* I Target max bitrate (bps) */ @@ -63,7 +63,7 @@ SKP_int SKP_Silk_control_encoder_FIX( ); /* Encoder main function */ -SKP_int SKP_Silk_encode_frame_FIX( +SKP_int SKP_Silk_encode_frame_FIX( SKP_Silk_encoder_state_FIX *psEnc, /* I/O Pointer to Silk FIX encoder state */ SKP_uint8 *pCode, /* O Pointer to payload */ SKP_int16 *pnBytesOut, /* I/O Pointer to number of payload bytes; */ @@ -202,7 +202,7 @@ void SKP_Silk_quant_LTP_gains_FIX( /* NLSF Quantizer */ /******************/ -/* Limit, stabilize, convert and quantize NLSFs. */ +/* Limit, stabilize, convert and quantize NLSFs. */ void SKP_Silk_process_NLSFs_FIX( SKP_Silk_encoder_state_FIX *psEnc, /* I/O encoder state */ SKP_Silk_encoder_control_FIX *psEncCtrl, /* I/O encoder control */ diff --git a/libs/silk/src/SKP_Silk_noise_shape_analysis_FIX.c b/libs/silk/src/SKP_Silk_noise_shape_analysis_FIX.c index 76df7cd901..847d4ad3c0 100644 --- a/libs/silk/src/SKP_Silk_noise_shape_analysis_FIX.c +++ b/libs/silk/src/SKP_Silk_noise_shape_analysis_FIX.c @@ -1,27 +1,27 @@ /*********************************************************************** -Copyright (c) 2006-2011, Skype Limited. All rights reserved. -Redistribution and use in source and binary forms, with or without -modification, (subject to the limitations in the disclaimer below) +Copyright (c) 2006-2011, Skype Limited. All rights reserved. +Redistribution and use in source and binary forms, with or without +modification, (subject to the limitations in the disclaimer below) are permitted provided that the following conditions are met: - Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. -- Redistributions in binary form must reproduce the above copyright -notice, this list of conditions and the following disclaimer in the +- Redistributions in binary form must reproduce the above copyright +notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. -- Neither the name of Skype Limited, nor the names of specific -contributors, may be used to endorse or promote products derived from +- Neither the name of Skype Limited, nor the names of specific +contributors, may be used to endorse or promote products derived from this software without specific prior written permission. -NO EXPRESS OR IMPLIED LICENSES TO ANY PARTY'S PATENT RIGHTS ARE GRANTED -BY THIS LICENSE. THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND +NO EXPRESS OR IMPLIED LICENSES TO ANY PARTY'S PATENT RIGHTS ARE GRANTED +BY THIS LICENSE. THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS ''AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, -BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND -FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE -COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND +FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT -NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF -USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON -ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF +USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON +ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ***********************************************************************/ @@ -31,9 +31,9 @@ OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. /* Compute gain to make warped filter coefficients have a zero mean log frequency response on a */ /* non-warped frequency scale. (So that it can be implemented with a minimum-phase monic filter.) */ SKP_INLINE SKP_int32 warped_gain( // gain in Q16 - const SKP_int32 *coefs_Q24, - SKP_int lambda_Q16, - SKP_int order + const SKP_int32 *coefs_Q24, + SKP_int lambda_Q16, + SKP_int order ) { SKP_int i; SKP_int32 gain_Q24; @@ -49,7 +49,7 @@ SKP_INLINE SKP_int32 warped_gain( // gain in Q16 /* Convert warped filter coefficients to monic pseudo-warped coefficients and limit maximum */ /* amplitude of monic warped coefficients by using bandwidth expansion on the true coefficients */ -SKP_INLINE void limit_warped_coefs( +SKP_INLINE void limit_warped_coefs( SKP_int32 *coefs_syn_Q24, SKP_int32 *coefs_ana_Q24, SKP_int lambda_Q16, @@ -106,7 +106,7 @@ SKP_INLINE void limit_warped_coefs( /* Apply bandwidth expansion */ chirp_Q16 = SKP_FIX_CONST( 0.99, 16 ) - SKP_DIV32_varQ( - SKP_SMULWB( maxabs_Q24 - limit_Q24, SKP_SMLABB( SKP_FIX_CONST( 0.8, 10 ), SKP_FIX_CONST( 0.1, 10 ), iter ) ), + SKP_SMULWB( maxabs_Q24 - limit_Q24, SKP_SMLABB( SKP_FIX_CONST( 0.8, 10 ), SKP_FIX_CONST( 0.1, 10 ), iter ) ), SKP_MUL( maxabs_Q24, ind + 1 ), 22 ); SKP_Silk_bwexpander_32( coefs_syn_Q24, order, chirp_Q16 ); SKP_Silk_bwexpander_32( coefs_ana_Q24, order, chirp_Q16 ); @@ -162,7 +162,7 @@ void SKP_Silk_noise_shape_analysis_FIX( /* CONTROL SNR */ /****************/ /* Reduce SNR_dB values if recent bitstream has exceeded TargetRate */ - psEncCtrl->current_SNR_dB_Q7 = psEnc->SNR_dB_Q7 - SKP_SMULWB( SKP_LSHIFT( ( SKP_int32 )psEnc->BufferedInChannel_ms, 7 ), + psEncCtrl->current_SNR_dB_Q7 = psEnc->SNR_dB_Q7 - SKP_SMULWB( SKP_LSHIFT( ( SKP_int32 )psEnc->BufferedInChannel_ms, 7 ), SKP_FIX_CONST( 0.05, 16 ) ); /* Reduce SNR_dB if inband FEC used */ @@ -174,11 +174,11 @@ void SKP_Silk_noise_shape_analysis_FIX( /* GAIN CONTROL */ /****************/ /* Input quality is the average of the quality in the lowest two VAD bands */ - psEncCtrl->input_quality_Q14 = ( SKP_int )SKP_RSHIFT( ( SKP_int32 )psEncCtrl->input_quality_bands_Q15[ 0 ] + psEncCtrl->input_quality_Q14 = ( SKP_int )SKP_RSHIFT( ( SKP_int32 )psEncCtrl->input_quality_bands_Q15[ 0 ] + psEncCtrl->input_quality_bands_Q15[ 1 ], 2 ); /* Coding quality level, between 0.0_Q0 and 1.0_Q0, but in Q14 */ - psEncCtrl->coding_quality_Q14 = SKP_RSHIFT( SKP_Silk_sigm_Q15( SKP_RSHIFT_ROUND( psEncCtrl->current_SNR_dB_Q7 - + psEncCtrl->coding_quality_Q14 = SKP_RSHIFT( SKP_Silk_sigm_Q15( SKP_RSHIFT_ROUND( psEncCtrl->current_SNR_dB_Q7 - SKP_FIX_CONST( 18.0, 7 ), 4 ) ), 1 ); /* Reduce coding SNR during low speech activity */ @@ -191,9 +191,9 @@ void SKP_Silk_noise_shape_analysis_FIX( if( psEncCtrl->sCmn.sigtype == SIG_TYPE_VOICED ) { /* Reduce gains for periodic signals */ SNR_adj_dB_Q7 = SKP_SMLAWB( SNR_adj_dB_Q7, SKP_FIX_CONST( HARM_SNR_INCR_dB, 8 ), psEnc->LTPCorr_Q15 ); - } else { + } else { /* For unvoiced signals and low-quality input, adjust the quality slower than SNR_dB setting */ - SNR_adj_dB_Q7 = SKP_SMLAWB( SNR_adj_dB_Q7, + SNR_adj_dB_Q7 = SKP_SMLAWB( SNR_adj_dB_Q7, SKP_SMLAWB( SKP_FIX_CONST( 6.0, 9 ), -SKP_FIX_CONST( 0.4, 18 ), psEncCtrl->current_SNR_dB_Q7 ), SKP_FIX_CONST( 1.0, 14 ) - psEncCtrl->input_quality_Q14 ); } @@ -212,10 +212,10 @@ void SKP_Silk_noise_shape_analysis_FIX( energy_variation_Q7 = 0; log_energy_prev_Q7 = 0; pitch_res_ptr = pitch_res; - for( k = 0; k < FRAME_LENGTH_MS / 2; k++ ) { + for( k = 0; k < FRAME_LENGTH_MS / 2; k++ ) { SKP_Silk_sum_sqr_shift( &nrg, &scale, pitch_res_ptr, nSamples ); nrg += SKP_RSHIFT( nSamples, scale ); // Q(-scale) - + log_energy_Q7 = SKP_Silk_lin2log( nrg ); if( k > 0 ) { energy_variation_Q7 += SKP_abs( log_energy_Q7 - log_energy_prev_Q7 ); @@ -224,7 +224,7 @@ void SKP_Silk_noise_shape_analysis_FIX( pitch_res_ptr += nSamples; } - psEncCtrl->sparseness_Q8 = SKP_RSHIFT( SKP_Silk_sigm_Q15( SKP_SMULWB( energy_variation_Q7 - + psEncCtrl->sparseness_Q8 = SKP_RSHIFT( SKP_Silk_sigm_Q15( SKP_SMULWB( energy_variation_Q7 - SKP_FIX_CONST( 5.0, 7 ), SKP_FIX_CONST( 0.1, 16 ) ) ), 7 ); /* Set quantization offset depending on sparseness measure */ @@ -233,7 +233,7 @@ void SKP_Silk_noise_shape_analysis_FIX( } else { psEncCtrl->sCmn.QuantOffsetType = 1; } - + /* Increase coding SNR for sparse signals */ SNR_adj_dB_Q7 = SKP_SMLAWB( SNR_adj_dB_Q7, SKP_FIX_CONST( SPARSE_SNR_INCR_dB, 15 ), psEncCtrl->sparseness_Q8 - SKP_FIX_CONST( 0.5, 8 ) ); } @@ -243,9 +243,9 @@ void SKP_Silk_noise_shape_analysis_FIX( /*******************************/ /* More BWE for signals with high prediction gain */ strength_Q16 = SKP_SMULWB( psEncCtrl->predGain_Q16, SKP_FIX_CONST( FIND_PITCH_WHITE_NOISE_FRACTION, 16 ) ); - BWExp1_Q16 = BWExp2_Q16 = SKP_DIV32_varQ( SKP_FIX_CONST( BANDWIDTH_EXPANSION, 16 ), + BWExp1_Q16 = BWExp2_Q16 = SKP_DIV32_varQ( SKP_FIX_CONST( BANDWIDTH_EXPANSION, 16 ), SKP_SMLAWW( SKP_FIX_CONST( 1.0, 16 ), strength_Q16, strength_Q16 ), 16 ); - delta_Q16 = SKP_SMULWB( SKP_FIX_CONST( 1.0, 16 ) - SKP_SMULBB( 3, psEncCtrl->coding_quality_Q14 ), + delta_Q16 = SKP_SMULWB( SKP_FIX_CONST( 1.0, 16 ) - SKP_SMULBB( 3, psEncCtrl->coding_quality_Q14 ), SKP_FIX_CONST( LOW_RATE_BANDWIDTH_EXPANSION_DELTA, 16 ) ); BWExp1_Q16 = SKP_SUB32( BWExp1_Q16, delta_Q16 ); BWExp2_Q16 = SKP_ADD32( BWExp2_Q16, delta_Q16 ); @@ -273,21 +273,21 @@ void SKP_Silk_noise_shape_analysis_FIX( SKP_memcpy( x_windowed + shift, x_ptr + shift, flat_part * sizeof(SKP_int16) ); shift += flat_part; SKP_Silk_apply_sine_window_new( x_windowed + shift, x_ptr + shift, 2, slope_part ); - + /* Update pointer: next LPC analysis block */ x_ptr += psEnc->sCmn.subfr_length; if( psEnc->sCmn.warping_Q16 > 0 ) { /* Calculate warped auto correlation */ - SKP_Silk_warped_autocorrelation_FIX( auto_corr, &scale, x_windowed, warping_Q16, psEnc->sCmn.shapeWinLength, psEnc->sCmn.shapingLPCOrder ); + SKP_Silk_warped_autocorrelation_FIX( auto_corr, &scale, x_windowed, warping_Q16, psEnc->sCmn.shapeWinLength, psEnc->sCmn.shapingLPCOrder ); } else { /* Calculate regular auto correlation */ SKP_Silk_autocorr( auto_corr, &scale, x_windowed, psEnc->sCmn.shapeWinLength, psEnc->sCmn.shapingLPCOrder + 1 ); } /* Add white noise, as a fraction of energy */ - auto_corr[0] = SKP_ADD32( auto_corr[0], SKP_max_32( SKP_SMULWB( SKP_RSHIFT( auto_corr[ 0 ], 4 ), - SKP_FIX_CONST( SHAPE_WHITE_NOISE_FRACTION, 20 ) ), 1 ) ); + auto_corr[0] = SKP_ADD32( auto_corr[0], SKP_max_32( SKP_SMULWB( SKP_RSHIFT( auto_corr[ 0 ], 4 ), + SKP_FIX_CONST( SHAPE_WHITE_NOISE_FRACTION, 20 ) ), 1 ) ); /* Calculate the reflection coefficients using schur */ nrg = SKP_Silk_schur64( refl_coef_Q16, auto_corr, psEnc->sCmn.shapingLPCOrder ); @@ -372,31 +372,31 @@ void SKP_Silk_noise_shape_analysis_FIX( for( k = 0; k < NB_SUBFR; k++ ) { psEncCtrl->Gains_Q16[ k ] = SKP_ADD_POS_SAT32( psEncCtrl->Gains_Q16[ k ], gain_add_Q16 ); - psEnc->avgGain_Q16 = SKP_ADD_SAT32( - psEnc->avgGain_Q16, + psEnc->avgGain_Q16 = SKP_ADD_SAT32( + psEnc->avgGain_Q16, SKP_SMULWB( - psEncCtrl->Gains_Q16[ k ] - psEnc->avgGain_Q16, - SKP_RSHIFT_ROUND( SKP_SMULBB( psEnc->speech_activity_Q8, SKP_FIX_CONST( GAIN_SMOOTHING_COEF, 10 ) ), 2 ) + psEncCtrl->Gains_Q16[ k ] - psEnc->avgGain_Q16, + SKP_RSHIFT_ROUND( SKP_SMULBB( psEnc->speech_activity_Q8, SKP_FIX_CONST( GAIN_SMOOTHING_COEF, 10 ) ), 2 ) ) ); } /************************************************/ /* Decrease level during fricatives (de-essing) */ /************************************************/ - gain_mult_Q16 = SKP_FIX_CONST( 1.0, 16 ) + SKP_RSHIFT_ROUND( SKP_MLA( SKP_FIX_CONST( INPUT_TILT, 26 ), + gain_mult_Q16 = SKP_FIX_CONST( 1.0, 16 ) + SKP_RSHIFT_ROUND( SKP_MLA( SKP_FIX_CONST( INPUT_TILT, 26 ), psEncCtrl->coding_quality_Q14, SKP_FIX_CONST( HIGH_RATE_INPUT_TILT, 12 ) ), 10 ); if( psEncCtrl->input_tilt_Q15 <= 0 && psEncCtrl->sCmn.sigtype == SIG_TYPE_UNVOICED ) { if( psEnc->sCmn.fs_kHz == 24 ) { - SKP_int32 essStrength_Q15 = SKP_SMULWW( -psEncCtrl->input_tilt_Q15, + SKP_int32 essStrength_Q15 = SKP_SMULWW( -psEncCtrl->input_tilt_Q15, SKP_SMULBB( psEnc->speech_activity_Q8, SKP_FIX_CONST( 1.0, 8 ) - psEncCtrl->sparseness_Q8 ) ); - tmp32 = SKP_Silk_log2lin( SKP_FIX_CONST( 16.0, 7 ) - SKP_SMULWB( essStrength_Q15, + tmp32 = SKP_Silk_log2lin( SKP_FIX_CONST( 16.0, 7 ) - SKP_SMULWB( essStrength_Q15, SKP_SMULWB( SKP_FIX_CONST( DE_ESSER_COEF_SWB_dB, 7 ), SKP_FIX_CONST( 0.16, 17 ) ) ) ); gain_mult_Q16 = SKP_SMULWW( gain_mult_Q16, tmp32 ); } else if( psEnc->sCmn.fs_kHz == 16 ) { - SKP_int32 essStrength_Q15 = SKP_SMULWW(-psEncCtrl->input_tilt_Q15, + SKP_int32 essStrength_Q15 = SKP_SMULWW(-psEncCtrl->input_tilt_Q15, SKP_SMULBB( psEnc->speech_activity_Q8, SKP_FIX_CONST( 1.0, 8 ) - psEncCtrl->sparseness_Q8 )); - tmp32 = SKP_Silk_log2lin( SKP_FIX_CONST( 16.0, 7 ) - SKP_SMULWB( essStrength_Q15, + tmp32 = SKP_Silk_log2lin( SKP_FIX_CONST( 16.0, 7 ) - SKP_SMULWB( essStrength_Q15, SKP_SMULWB( SKP_FIX_CONST( DE_ESSER_COEF_WB_dB, 7 ), SKP_FIX_CONST( 0.16, 17 ) ) ) ); gain_mult_Q16 = SKP_SMULWW( gain_mult_Q16, tmp32 ); } else { @@ -412,26 +412,26 @@ void SKP_Silk_noise_shape_analysis_FIX( /* Control low-frequency shaping and noise tilt */ /************************************************/ /* Less low frequency shaping for noisy inputs */ - strength_Q16 = SKP_MUL( SKP_FIX_CONST( LOW_FREQ_SHAPING, 0 ), SKP_FIX_CONST( 1.0, 16 ) + + strength_Q16 = SKP_MUL( SKP_FIX_CONST( LOW_FREQ_SHAPING, 0 ), SKP_FIX_CONST( 1.0, 16 ) + SKP_SMULBB( SKP_FIX_CONST( LOW_QUALITY_LOW_FREQ_SHAPING_DECR, 1 ), psEncCtrl->input_quality_bands_Q15[ 0 ] - SKP_FIX_CONST( 1.0, 15 ) ) ); if( psEncCtrl->sCmn.sigtype == SIG_TYPE_VOICED ) { /* Reduce low frequencies quantization noise for periodic signals, depending on pitch lag */ /*f = 400; freqz([1, -0.98 + 2e-4 * f], [1, -0.97 + 7e-4 * f], 2^12, Fs); axis([0, 1000, -10, 1])*/ SKP_int fs_kHz_inv = SKP_DIV32_16( SKP_FIX_CONST( 0.2, 14 ), psEnc->sCmn.fs_kHz ); for( k = 0; k < NB_SUBFR; k++ ) { - b_Q14 = fs_kHz_inv + SKP_DIV32_16( SKP_FIX_CONST( 3.0, 14 ), psEncCtrl->sCmn.pitchL[ k ] ); + b_Q14 = fs_kHz_inv + SKP_DIV32_16( SKP_FIX_CONST( 3.0, 14 ), psEncCtrl->sCmn.pitchL[ k ] ); /* Pack two coefficients in one int32 */ psEncCtrl->LF_shp_Q14[ k ] = SKP_LSHIFT( SKP_FIX_CONST( 1.0, 14 ) - b_Q14 - SKP_SMULWB( strength_Q16, b_Q14 ), 16 ); psEncCtrl->LF_shp_Q14[ k ] |= (SKP_uint16)( b_Q14 - SKP_FIX_CONST( 1.0, 14 ) ); } SKP_assert( SKP_FIX_CONST( HARM_HP_NOISE_COEF, 24 ) < SKP_FIX_CONST( 0.5, 24 ) ); // Guarantees that second argument to SMULWB() is within range of an SKP_int16 - Tilt_Q16 = - SKP_FIX_CONST( HP_NOISE_COEF, 16 ) - - SKP_SMULWB( SKP_FIX_CONST( 1.0, 16 ) - SKP_FIX_CONST( HP_NOISE_COEF, 16 ), + Tilt_Q16 = - SKP_FIX_CONST( HP_NOISE_COEF, 16 ) - + SKP_SMULWB( SKP_FIX_CONST( 1.0, 16 ) - SKP_FIX_CONST( HP_NOISE_COEF, 16 ), SKP_SMULWB( SKP_FIX_CONST( HARM_HP_NOISE_COEF, 24 ), psEnc->speech_activity_Q8 ) ); } else { b_Q14 = SKP_DIV32_16( 21299, psEnc->sCmn.fs_kHz ); // 1.3_Q0 = 21299_Q14 /* Pack two coefficients in one int32 */ - psEncCtrl->LF_shp_Q14[ 0 ] = SKP_LSHIFT( SKP_FIX_CONST( 1.0, 14 ) - b_Q14 - + psEncCtrl->LF_shp_Q14[ 0 ] = SKP_LSHIFT( SKP_FIX_CONST( 1.0, 14 ) - b_Q14 - SKP_SMULWB( strength_Q16, SKP_SMULWB( SKP_FIX_CONST( 0.6, 16 ), b_Q14 ) ), 16 ); psEncCtrl->LF_shp_Q14[ 0 ] |= (SKP_uint16)( b_Q14 - SKP_FIX_CONST( 1.0, 14 ) ); for( k = 1; k < NB_SUBFR; k++ ) { @@ -444,21 +444,21 @@ void SKP_Silk_noise_shape_analysis_FIX( /* HARMONIC SHAPING CONTROL */ /****************************/ /* Control boosting of harmonic frequencies */ - HarmBoost_Q16 = SKP_SMULWB( SKP_SMULWB( SKP_FIX_CONST( 1.0, 17 ) - SKP_LSHIFT( psEncCtrl->coding_quality_Q14, 3 ), + HarmBoost_Q16 = SKP_SMULWB( SKP_SMULWB( SKP_FIX_CONST( 1.0, 17 ) - SKP_LSHIFT( psEncCtrl->coding_quality_Q14, 3 ), psEnc->LTPCorr_Q15 ), SKP_FIX_CONST( LOW_RATE_HARMONIC_BOOST, 16 ) ); /* More harmonic boost for noisy input signals */ - HarmBoost_Q16 = SKP_SMLAWB( HarmBoost_Q16, + HarmBoost_Q16 = SKP_SMLAWB( HarmBoost_Q16, SKP_FIX_CONST( 1.0, 16 ) - SKP_LSHIFT( psEncCtrl->input_quality_Q14, 2 ), SKP_FIX_CONST( LOW_INPUT_QUALITY_HARMONIC_BOOST, 16 ) ); if( USE_HARM_SHAPING && psEncCtrl->sCmn.sigtype == SIG_TYPE_VOICED ) { /* More harmonic noise shaping for high bitrates or noisy input */ - HarmShapeGain_Q16 = SKP_SMLAWB( SKP_FIX_CONST( HARMONIC_SHAPING, 16 ), + HarmShapeGain_Q16 = SKP_SMLAWB( SKP_FIX_CONST( HARMONIC_SHAPING, 16 ), SKP_FIX_CONST( 1.0, 16 ) - SKP_SMULWB( SKP_FIX_CONST( 1.0, 18 ) - SKP_LSHIFT( psEncCtrl->coding_quality_Q14, 4 ), psEncCtrl->input_quality_Q14 ), SKP_FIX_CONST( HIGH_RATE_OR_LOW_QUALITY_HARMONIC_SHAPING, 16 ) ); /* Less harmonic noise shaping for less periodic signals */ - HarmShapeGain_Q16 = SKP_SMULWB( SKP_LSHIFT( HarmShapeGain_Q16, 1 ), + HarmShapeGain_Q16 = SKP_SMULWB( SKP_LSHIFT( HarmShapeGain_Q16, 1 ), SKP_Silk_SQRT_APPROX( SKP_LSHIFT( psEnc->LTPCorr_Q15, 15 ) ) ); } else { HarmShapeGain_Q16 = 0; diff --git a/libs/silk/src/SKP_Silk_pitch_analysis_core.c b/libs/silk/src/SKP_Silk_pitch_analysis_core.c index 1e9fbf3459..50bd1499ae 100644 --- a/libs/silk/src/SKP_Silk_pitch_analysis_core.c +++ b/libs/silk/src/SKP_Silk_pitch_analysis_core.c @@ -1,27 +1,27 @@ /*********************************************************************** -Copyright (c) 2006-2011, Skype Limited. All rights reserved. -Redistribution and use in source and binary forms, with or without -modification, (subject to the limitations in the disclaimer below) +Copyright (c) 2006-2011, Skype Limited. All rights reserved. +Redistribution and use in source and binary forms, with or without +modification, (subject to the limitations in the disclaimer below) are permitted provided that the following conditions are met: - Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. -- Redistributions in binary form must reproduce the above copyright -notice, this list of conditions and the following disclaimer in the +- Redistributions in binary form must reproduce the above copyright +notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. -- Neither the name of Skype Limited, nor the names of specific -contributors, may be used to endorse or promote products derived from +- Neither the name of Skype Limited, nor the names of specific +contributors, may be used to endorse or promote products derived from this software without specific prior written permission. -NO EXPRESS OR IMPLIED LICENSES TO ANY PARTY'S PATENT RIGHTS ARE GRANTED -BY THIS LICENSE. THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND +NO EXPRESS OR IMPLIED LICENSES TO ANY PARTY'S PATENT RIGHTS ARE GRANTED +BY THIS LICENSE. THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS ''AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, -BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND -FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE -COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND +FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT -NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF -USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON -ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF +USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON +ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ***********************************************************************/ @@ -55,7 +55,7 @@ void SKP_FIX_P_Ana_calc_energy_st3( SKP_int32 SKP_FIX_P_Ana_find_scaling( const SKP_int16 *signal, - const SKP_int signal_length, + const SKP_int signal_length, const SKP_int sum_sqr_len ); @@ -128,7 +128,7 @@ SKP_int SKP_Silk_pitch_analysis_core( /* O Voicing estimate: 0 voiced, 1 unv max_lag_8kHz = PITCH_EST_MAX_LAG_MS * 8; SKP_memset( C, 0, sizeof( SKP_int16 ) * PITCH_EST_NB_SUBFR * ( ( PITCH_EST_MAX_LAG >> 1 ) + 5) ); - + /* Resample from input sampled at Fs_kHz to 8 kHz */ if( Fs_kHz == 16 ) { SKP_memset( filt_state, 0, 2 * sizeof( SKP_int32 ) ); @@ -158,7 +158,7 @@ SKP_int SKP_Silk_pitch_analysis_core( /* O Voicing estimate: 0 voiced, 1 unv ** Scale 4 kHz signal down to prevent correlations measures from overflowing ** find scaling as max scaling for each 8kHz(?) subframe *******************************************************************************/ - + /* Inner product is calculated with different lengths, so scale for the worst case */ max_sum_sq_length = SKP_max_32( sf_length_8kHz, SKP_RSHIFT( frame_length_4kHz, 1 ) ); shift = SKP_FIX_P_Ana_find_scaling( signal_4kHz, frame_length_4kHz, max_sum_sq_length ); @@ -205,9 +205,9 @@ SKP_int SKP_Silk_pitch_analysis_core( /* O Voicing estimate: 0 voiced, 1 unv /* Add contribution of new sample and remove contribution from oldest sample */ normalizer += - SKP_SMULBB( basis_ptr[ 0 ], basis_ptr[ 0 ] ) - - SKP_SMULBB( basis_ptr[ sf_length_8kHz ], basis_ptr[ sf_length_8kHz ] ); - + SKP_SMULBB( basis_ptr[ 0 ], basis_ptr[ 0 ] ) - + SKP_SMULBB( basis_ptr[ sf_length_8kHz ], basis_ptr[ sf_length_8kHz ] ); + temp32 = SKP_DIV32( cross_corr, SKP_Silk_SQRT_APPROX( normalizer ) + 1 ); C[ k ][ d ] = (SKP_int16)SKP_SAT16( temp32 ); /* Q0 */ } @@ -238,7 +238,7 @@ SKP_int SKP_Silk_pitch_analysis_core( /* O Voicing estimate: 0 voiced, 1 unv Cmax = (SKP_int)C[ 0 ][ min_lag_4kHz ]; /* Q-1 */ threshold = SKP_SMULBB( Cmax, Cmax ); /* Q-2 */ /* Compare in Q-2 domain */ - if( SKP_RSHIFT( energy, 4 + 2 ) > threshold ) { + if( SKP_RSHIFT( energy, 4 + 2 ) > threshold ) { SKP_memset( pitch_out, 0, PITCH_EST_NB_SUBFR * sizeof( SKP_int ) ); *LTPCorr_Q15 = 0; *lagIndex = 0; @@ -271,7 +271,7 @@ SKP_int SKP_Silk_pitch_analysis_core( /* O Voicing estimate: 0 voiced, 1 unv } length_d_srch = 0; - for( i = min_lag_8kHz; i < max_lag_8kHz + 1; i++ ) { + for( i = min_lag_8kHz; i < max_lag_8kHz + 1; i++ ) { if( d_comp[ i + 1 ] > 0 ) { d_srch[ length_d_srch ] = i; length_d_srch++; @@ -284,7 +284,7 @@ SKP_int SKP_Silk_pitch_analysis_core( /* O Voicing estimate: 0 voiced, 1 unv } length_d_comp = 0; - for( i = min_lag_8kHz; i < max_lag_8kHz + 4; i++ ) { + for( i = min_lag_8kHz; i < max_lag_8kHz + 4; i++ ) { if( d_comp[ i ] > 0 ) { d_comp[ length_d_comp ] = i - 2; length_d_comp++; @@ -306,11 +306,11 @@ SKP_int SKP_Silk_pitch_analysis_core( /* O Voicing estimate: 0 voiced, 1 unv } } - /********************************************************************************* + /********************************************************************************* * Find energy of each subframe projected onto its history, for a range of delays *********************************************************************************/ SKP_memset( C, 0, PITCH_EST_NB_SUBFR * ( ( PITCH_EST_MAX_LAG >> 1 ) + 5 ) * sizeof( SKP_int16 ) ); - + target_ptr = &signal_8kHz[ frame_length_4kHz ]; /* point to middle of frame */ for( k = 0; k < PITCH_EST_NB_SUBFR; k++ ) { @@ -327,7 +327,7 @@ SKP_int SKP_Silk_pitch_analysis_core( /* O Voicing estimate: 0 voiced, 1 unv /* Check that we are within range of the array */ SKP_assert( basis_ptr >= signal_8kHz ); SKP_assert( basis_ptr + sf_length_8kHz <= signal_8kHz + frame_length_8kHz ); - + cross_corr = SKP_Silk_inner_prod_aligned( target_ptr, basis_ptr, sf_length_8kHz ); energy_basis = SKP_Silk_inner_prod_aligned( basis_ptr, basis_ptr, sf_length_8kHz ); if( cross_corr > 0 ) { @@ -375,7 +375,7 @@ SKP_int SKP_Silk_pitch_analysis_core( /* O Voicing estimate: 0 voiced, 1 unv /* If input is 8 khz use a larger codebook here because it is last stage */ if( Fs_kHz == 8 && complexity > SKP_Silk_PITCH_EST_MIN_COMPLEX ) { - nb_cbks_stage2 = PITCH_EST_NB_CBKS_STAGE2_EXT; + nb_cbks_stage2 = PITCH_EST_NB_CBKS_STAGE2_EXT; } else { nb_cbks_stage2 = PITCH_EST_NB_CBKS_STAGE2; } @@ -409,7 +409,7 @@ SKP_int SKP_Silk_pitch_analysis_core( /* O Voicing estimate: 0 voiced, 1 unv } else { CCmax_new_b = CCmax_new - SKP_RSHIFT( SKP_SMULBB( PITCH_EST_NB_SUBFR * PITCH_EST_SHORTLAG_BIAS_Q15, lag_log2_Q7 ), 7 ); /* Q15 */ } - + /* Bias towards previous lag */ SKP_assert( PITCH_EST_NB_SUBFR * PITCH_EST_PREVLAG_BIAS_Q15 == SKP_SAT16( PITCH_EST_NB_SUBFR * PITCH_EST_PREVLAG_BIAS_Q15 ) ); if( prevLag > 0 ) { @@ -461,7 +461,7 @@ SKP_int SKP_Silk_pitch_analysis_core( /* O Voicing estimate: 0 voiced, 1 unv /*********************************************************************************/ /* Search in original signal */ - + CBimax_old = CBimax; /* Compensate for decimation */ SKP_assert( lag == SKP_SAT16( lag ) ); @@ -478,7 +478,7 @@ SKP_int SKP_Silk_pitch_analysis_core( /* O Voicing estimate: 0 voiced, 1 unv end_lag = SKP_min_int( lag + 2, max_lag ); lag_new = lag; /* to avoid undefined lag */ CBimax = 0; /* to avoid undefined lag */ - SKP_assert( SKP_LSHIFT( CCmax, 13 ) >= 0 ); + SKP_assert( SKP_LSHIFT( CCmax, 13 ) >= 0 ); *LTPCorr_Q15 = (SKP_int)SKP_Silk_SQRT_APPROX( SKP_LSHIFT( CCmax, 13 ) ); /* Output normalized correlation */ CCmax = SKP_int32_MIN; @@ -532,8 +532,8 @@ SKP_int SKP_Silk_pitch_analysis_core( /* O Voicing estimate: 0 voiced, 1 unv CCmax_new = 0; } - if( CCmax_new > CCmax && - ( d + (SKP_int)SKP_Silk_CB_lags_stage3[ 0 ][ j ] ) <= max_lag + if( CCmax_new > CCmax && + ( d + (SKP_int)SKP_Silk_CB_lags_stage3[ 0 ][ j ] ) <= max_lag ) { CCmax = CCmax_new; lag_new = d; @@ -601,7 +601,7 @@ void SKP_FIX_P_Ana_calc_corr_st3( } delta = SKP_Silk_Lag_range_stage3[ complexity ][ k ][ 0 ]; - for( i = cbk_offset; i < ( cbk_offset + cbk_size ); i++ ) { + for( i = cbk_offset; i < ( cbk_offset + cbk_size ); i++ ) { /* Fill out the 3 dim array that stores the correlations for */ /* each code_book vector for each start lag */ idx = SKP_Silk_CB_lags_stage3[ k ][ i ] - delta; @@ -664,7 +664,7 @@ void SKP_FIX_P_Ana_calc_energy_st3( } delta = SKP_Silk_Lag_range_stage3[ complexity ][ k ][ 0 ]; - for( i = cbk_offset; i < ( cbk_offset + cbk_size ); i++ ) { + for( i = cbk_offset; i < ( cbk_offset + cbk_size ); i++ ) { /* Fill out the 3 dim array that stores the correlations for */ /* each code_book vector for each start lag */ idx = SKP_Silk_CB_lags_stage3[ k ][ i ] - delta; @@ -681,17 +681,17 @@ void SKP_FIX_P_Ana_calc_energy_st3( SKP_int32 SKP_FIX_P_Ana_find_scaling( const SKP_int16 *signal, - const SKP_int signal_length, + const SKP_int signal_length, const SKP_int sum_sqr_len ) { SKP_int32 nbits, x_max; - + x_max = SKP_Silk_int16_array_maxabs( signal, signal_length ); if( x_max < SKP_int16_MAX ) { /* Number of bits needed for the sum of the squares */ - nbits = 32 - SKP_Silk_CLZ32( SKP_SMULBB( x_max, x_max ) ); + nbits = 32 - SKP_Silk_CLZ32( SKP_SMULBB( x_max, x_max ) ); } else { /* Here we don't know if x_max should have been SKP_int16_MAX + 1, so we expect the worst case */ nbits = 30; diff --git a/libs/silk/src/SKP_Silk_pitch_est_defines.h b/libs/silk/src/SKP_Silk_pitch_est_defines.h index 5397ce2745..208c22d5c1 100644 --- a/libs/silk/src/SKP_Silk_pitch_est_defines.h +++ b/libs/silk/src/SKP_Silk_pitch_est_defines.h @@ -1,27 +1,27 @@ /*********************************************************************** -Copyright (c) 2006-2011, Skype Limited. All rights reserved. -Redistribution and use in source and binary forms, with or without -modification, (subject to the limitations in the disclaimer below) +Copyright (c) 2006-2011, Skype Limited. All rights reserved. +Redistribution and use in source and binary forms, with or without +modification, (subject to the limitations in the disclaimer below) are permitted provided that the following conditions are met: - Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. -- Redistributions in binary form must reproduce the above copyright -notice, this list of conditions and the following disclaimer in the +- Redistributions in binary form must reproduce the above copyright +notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. -- Neither the name of Skype Limited, nor the names of specific -contributors, may be used to endorse or promote products derived from +- Neither the name of Skype Limited, nor the names of specific +contributors, may be used to endorse or promote products derived from this software without specific prior written permission. -NO EXPRESS OR IMPLIED LICENSES TO ANY PARTY'S PATENT RIGHTS ARE GRANTED -BY THIS LICENSE. THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND +NO EXPRESS OR IMPLIED LICENSES TO ANY PARTY'S PATENT RIGHTS ARE GRANTED +BY THIS LICENSE. THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS ''AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, -BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND -FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE -COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND +FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT -NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF -USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON -ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF +USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON +ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ***********************************************************************/ @@ -37,4 +37,3 @@ OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. #define PITCH_EST_FLATCONTOUR_BIAS_Q20 52429 /* 0.05f */ #endif - diff --git a/libs/silk/src/SKP_Silk_pitch_est_tables.c b/libs/silk/src/SKP_Silk_pitch_est_tables.c index d281849aae..7609d77025 100644 --- a/libs/silk/src/SKP_Silk_pitch_est_tables.c +++ b/libs/silk/src/SKP_Silk_pitch_est_tables.c @@ -1,27 +1,27 @@ /*********************************************************************** -Copyright (c) 2006-2011, Skype Limited. All rights reserved. -Redistribution and use in source and binary forms, with or without -modification, (subject to the limitations in the disclaimer below) +Copyright (c) 2006-2011, Skype Limited. All rights reserved. +Redistribution and use in source and binary forms, with or without +modification, (subject to the limitations in the disclaimer below) are permitted provided that the following conditions are met: - Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. -- Redistributions in binary form must reproduce the above copyright -notice, this list of conditions and the following disclaimer in the +- Redistributions in binary form must reproduce the above copyright +notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. -- Neither the name of Skype Limited, nor the names of specific -contributors, may be used to endorse or promote products derived from +- Neither the name of Skype Limited, nor the names of specific +contributors, may be used to endorse or promote products derived from this software without specific prior written permission. -NO EXPRESS OR IMPLIED LICENSES TO ANY PARTY'S PATENT RIGHTS ARE GRANTED -BY THIS LICENSE. THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND +NO EXPRESS OR IMPLIED LICENSES TO ANY PARTY'S PATENT RIGHTS ARE GRANTED +BY THIS LICENSE. THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS ''AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, -BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND -FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE -COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND +FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT -NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF -USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON -ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF +USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON +ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ***********************************************************************/ @@ -37,7 +37,7 @@ const SKP_int16 SKP_Silk_CB_lags_stage2[PITCH_EST_NB_SUBFR][PITCH_EST_NB_CBKS_ST {0, 2,-1,-1,-1, 0, 0, 1, 1, 0, 1}, {0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0}, {0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0}, - {0,-1, 2, 1, 0, 1, 1, 0, 0,-1,-1} + {0,-1, 2, 1, 0, 1, 1, 0, 0,-1,-1} }; const SKP_int16 SKP_Silk_CB_lags_stage3[PITCH_EST_NB_SUBFR][PITCH_EST_NB_CBKS_STAGE3_MAX] = @@ -73,17 +73,16 @@ const SKP_int16 SKP_Silk_Lag_range_stage3[ SKP_Silk_PITCH_EST_MAX_COMPLEX + 1 ] } }; -const SKP_int16 SKP_Silk_cbk_sizes_stage3[SKP_Silk_PITCH_EST_MAX_COMPLEX + 1] = +const SKP_int16 SKP_Silk_cbk_sizes_stage3[SKP_Silk_PITCH_EST_MAX_COMPLEX + 1] = { PITCH_EST_NB_CBKS_STAGE3_MIN, PITCH_EST_NB_CBKS_STAGE3_MID, PITCH_EST_NB_CBKS_STAGE3_MAX }; -const SKP_int16 SKP_Silk_cbk_offsets_stage3[SKP_Silk_PITCH_EST_MAX_COMPLEX + 1] = +const SKP_int16 SKP_Silk_cbk_offsets_stage3[SKP_Silk_PITCH_EST_MAX_COMPLEX + 1] = { ((PITCH_EST_NB_CBKS_STAGE3_MAX - PITCH_EST_NB_CBKS_STAGE3_MIN) >> 1), ((PITCH_EST_NB_CBKS_STAGE3_MAX - PITCH_EST_NB_CBKS_STAGE3_MID) >> 1), 0 }; - diff --git a/libs/silk/src/SKP_Silk_prefilter_FIX.c b/libs/silk/src/SKP_Silk_prefilter_FIX.c index 772278d754..03de564da0 100644 --- a/libs/silk/src/SKP_Silk_prefilter_FIX.c +++ b/libs/silk/src/SKP_Silk_prefilter_FIX.c @@ -1,27 +1,27 @@ /*********************************************************************** -Copyright (c) 2006-2011, Skype Limited. All rights reserved. -Redistribution and use in source and binary forms, with or without -modification, (subject to the limitations in the disclaimer below) +Copyright (c) 2006-2011, Skype Limited. All rights reserved. +Redistribution and use in source and binary forms, with or without +modification, (subject to the limitations in the disclaimer below) are permitted provided that the following conditions are met: - Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. -- Redistributions in binary form must reproduce the above copyright -notice, this list of conditions and the following disclaimer in the +- Redistributions in binary form must reproduce the above copyright +notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. -- Neither the name of Skype Limited, nor the names of specific -contributors, may be used to endorse or promote products derived from +- Neither the name of Skype Limited, nor the names of specific +contributors, may be used to endorse or promote products derived from this software without specific prior written permission. -NO EXPRESS OR IMPLIED LICENSES TO ANY PARTY'S PATENT RIGHTS ARE GRANTED -BY THIS LICENSE. THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND +NO EXPRESS OR IMPLIED LICENSES TO ANY PARTY'S PATENT RIGHTS ARE GRANTED +BY THIS LICENSE. THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS ''AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, -BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND -FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE -COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND +FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT -NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF -USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON -ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF +USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON +ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ***********************************************************************/ @@ -56,7 +56,7 @@ void SKP_Silk_warped_LPC_analysis_filter_FIX( SKP_assert( ( order & 1 ) == 0 ); for( n = 0; n < length; n++ ) { - /* Output of lowpass section */ + /* Output of lowpass section */ tmp2 = SKP_SMLAWB( state[ 0 ], state[ 1 ], lambda_Q16 ); state[ 0 ] = SKP_LSHIFT( input[ n ], 14 ); /* Output of allpass section */ @@ -119,7 +119,7 @@ void SKP_Silk_prefilter_FIX( AR1_shp_Q13 = &psEncCtrl->AR1_Q13[ k * MAX_SHAPE_LPC_ORDER ]; /* Short term FIR filtering*/ - SKP_Silk_warped_LPC_analysis_filter_FIX( P->sAR_shp, st_res, AR1_shp_Q13, px, + SKP_Silk_warped_LPC_analysis_filter_FIX( P->sAR_shp, st_res, AR1_shp_Q13, px, psEnc->sCmn.warping_Q16, psEnc->sCmn.subfr_length, psEnc->sCmn.shapingLPCOrder ); /* reduce (mainly) low frequencies during harmonic emphasis */ @@ -136,7 +136,7 @@ void SKP_Silk_prefilter_FIX( } P->sHarmHP = st_res[ psEnc->sCmn.subfr_length - 1 ]; - SKP_Silk_prefilt_FIX( P, x_filt_Q12, pxw, HarmShapeFIRPacked_Q12, Tilt_Q14, + SKP_Silk_prefilt_FIX( P, x_filt_Q12, pxw, HarmShapeFIRPacked_Q12, Tilt_Q14, LF_shp_Q14, lag, psEnc->sCmn.subfr_length ); px += psEnc->sCmn.subfr_length; diff --git a/libs/silk/src/SKP_Silk_process_NLSFs_FIX.c b/libs/silk/src/SKP_Silk_process_NLSFs_FIX.c index 7f1708c19e..51c2c980f3 100644 --- a/libs/silk/src/SKP_Silk_process_NLSFs_FIX.c +++ b/libs/silk/src/SKP_Silk_process_NLSFs_FIX.c @@ -1,33 +1,33 @@ /*********************************************************************** -Copyright (c) 2006-2011, Skype Limited. All rights reserved. -Redistribution and use in source and binary forms, with or without -modification, (subject to the limitations in the disclaimer below) +Copyright (c) 2006-2011, Skype Limited. All rights reserved. +Redistribution and use in source and binary forms, with or without +modification, (subject to the limitations in the disclaimer below) are permitted provided that the following conditions are met: - Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. -- Redistributions in binary form must reproduce the above copyright -notice, this list of conditions and the following disclaimer in the +- Redistributions in binary form must reproduce the above copyright +notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. -- Neither the name of Skype Limited, nor the names of specific -contributors, may be used to endorse or promote products derived from +- Neither the name of Skype Limited, nor the names of specific +contributors, may be used to endorse or promote products derived from this software without specific prior written permission. -NO EXPRESS OR IMPLIED LICENSES TO ANY PARTY'S PATENT RIGHTS ARE GRANTED -BY THIS LICENSE. THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND +NO EXPRESS OR IMPLIED LICENSES TO ANY PARTY'S PATENT RIGHTS ARE GRANTED +BY THIS LICENSE. THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS ''AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, -BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND -FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE -COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND +FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT -NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF -USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON -ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF +USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON +ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ***********************************************************************/ #include "SKP_Silk_main_FIX.h" -/* Limit, stabilize, convert and quantize NLSFs. */ +/* Limit, stabilize, convert and quantize NLSFs. */ void SKP_Silk_process_NLSFs_FIX( SKP_Silk_encoder_state_FIX *psEnc, /* I/O Encoder state FIX */ SKP_Silk_encoder_control_FIX *psEncCtrl, /* I/O Encoder control FIX */ @@ -59,11 +59,11 @@ void SKP_Silk_process_NLSFs_FIX( /* NLSF_mu_fluc_red = 0.1f - 0.05f * psEnc->speech_activity; */ NLSF_mu_Q15 = SKP_SMLAWB( 66, -8388, psEnc->speech_activity_Q8 ); NLSF_mu_fluc_red_Q16 = SKP_SMLAWB( 6554, -838848, psEnc->speech_activity_Q8 ); - } else { + } else { /* NLSF_mu = 0.005f - 0.004f * psEnc->speech_activity; */ /* NLSF_mu_fluc_red = 0.2f - 0.1f * psEnc->speech_activity - 0.1f * psEncCtrl->sparseness; */ NLSF_mu_Q15 = SKP_SMLAWB( 164, -33554, psEnc->speech_activity_Q8 ); - NLSF_mu_fluc_red_Q16 = SKP_SMLAWB( 13107, -1677696, psEnc->speech_activity_Q8 + psEncCtrl->sparseness_Q8 ); + NLSF_mu_fluc_red_Q16 = SKP_SMLAWB( 13107, -1677696, psEnc->speech_activity_Q8 + psEncCtrl->sparseness_Q8 ); } SKP_assert( NLSF_mu_Q15 >= 0 ); SKP_assert( NLSF_mu_Q15 <= 164 ); @@ -82,7 +82,7 @@ void SKP_Silk_process_NLSFs_FIX( if( doInterpolate ) { /* Calculate the interpolated NLSF vector for the first half */ - SKP_Silk_interpolate( pNLSF0_temp_Q15, psEnc->sPred.prev_NLSFq_Q15, pNLSF_Q15, + SKP_Silk_interpolate( pNLSF0_temp_Q15, psEnc->sPred.prev_NLSFq_Q15, pNLSF_Q15, psEncCtrl->sCmn.NLSFInterpCoef_Q2, psEnc->sCmn.predictLPCOrder ); /* Calculate first half NLSF weights for the interpolated NLSFs */ @@ -104,8 +104,8 @@ void SKP_Silk_process_NLSFs_FIX( /* Quantize NLSF parameters given the trained NLSF codebooks */ TIC(MSVQ_encode_FIX) - SKP_Silk_NLSF_MSVQ_encode_FIX( psEncCtrl->sCmn.NLSFIndices, pNLSF_Q15, psNLSF_CB, - psEnc->sPred.prev_NLSFq_Q15, pNLSFW_Q6, NLSF_mu_Q15, NLSF_mu_fluc_red_Q16, + SKP_Silk_NLSF_MSVQ_encode_FIX( psEncCtrl->sCmn.NLSFIndices, pNLSF_Q15, psNLSF_CB, + psEnc->sPred.prev_NLSFq_Q15, pNLSFW_Q6, NLSF_mu_Q15, NLSF_mu_fluc_red_Q16, psEnc->sCmn.NLSF_MSVQ_Survivors, psEnc->sCmn.predictLPCOrder, psEnc->sCmn.first_frame_after_reset ); TOC(MSVQ_encode_FIX) @@ -114,7 +114,7 @@ void SKP_Silk_process_NLSFs_FIX( if( doInterpolate ) { /* Calculate the interpolated, quantized LSF vector for the first half */ - SKP_Silk_interpolate( pNLSF0_temp_Q15, psEnc->sPred.prev_NLSFq_Q15, pNLSF_Q15, + SKP_Silk_interpolate( pNLSF0_temp_Q15, psEnc->sPred.prev_NLSFq_Q15, pNLSF_Q15, psEncCtrl->sCmn.NLSFInterpCoef_Q2, psEnc->sCmn.predictLPCOrder ); /* Convert back to LPC coefficients */ diff --git a/libs/silk/src/SKP_Silk_process_gains_FIX.c b/libs/silk/src/SKP_Silk_process_gains_FIX.c index 10c9869fec..f2f532b35c 100644 --- a/libs/silk/src/SKP_Silk_process_gains_FIX.c +++ b/libs/silk/src/SKP_Silk_process_gains_FIX.c @@ -1,27 +1,27 @@ /*********************************************************************** -Copyright (c) 2006-2011, Skype Limited. All rights reserved. -Redistribution and use in source and binary forms, with or without -modification, (subject to the limitations in the disclaimer below) +Copyright (c) 2006-2011, Skype Limited. All rights reserved. +Redistribution and use in source and binary forms, with or without +modification, (subject to the limitations in the disclaimer below) are permitted provided that the following conditions are met: - Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. -- Redistributions in binary form must reproduce the above copyright -notice, this list of conditions and the following disclaimer in the +- Redistributions in binary form must reproduce the above copyright +notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. -- Neither the name of Skype Limited, nor the names of specific -contributors, may be used to endorse or promote products derived from +- Neither the name of Skype Limited, nor the names of specific +contributors, may be used to endorse or promote products derived from this software without specific prior written permission. -NO EXPRESS OR IMPLIED LICENSES TO ANY PARTY'S PATENT RIGHTS ARE GRANTED -BY THIS LICENSE. THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND +NO EXPRESS OR IMPLIED LICENSES TO ANY PARTY'S PATENT RIGHTS ARE GRANTED +BY THIS LICENSE. THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS ''AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, -BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND -FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE -COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND +FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT -NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF -USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON -ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF +USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON +ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ***********************************************************************/ @@ -48,7 +48,7 @@ void SKP_Silk_process_gains_FIX( } /* Limit the quantized signal */ - InvMaxSqrVal_Q16 = SKP_DIV32_16( SKP_Silk_log2lin( + InvMaxSqrVal_Q16 = SKP_DIV32_16( SKP_Silk_log2lin( SKP_SMULWB( SKP_FIX_CONST( 70.0, 7 ) - psEncCtrl->current_SNR_dB_Q7, SKP_FIX_CONST( 0.33, 16 ) ) ), psEnc->sCmn.subfr_length ); for( k = 0; k < NB_SUBFR; k++ ) { @@ -83,7 +83,7 @@ void SKP_Silk_process_gains_FIX( } /* Noise shaping quantization */ - SKP_Silk_gains_quant( psEncCtrl->sCmn.GainsIndices, psEncCtrl->Gains_Q16, + SKP_Silk_gains_quant( psEncCtrl->sCmn.GainsIndices, psEncCtrl->Gains_Q16, &psShapeSt->LastGainIndex, psEnc->sCmn.nFramesInPayloadBuf ); /* Set quantizer offset for voiced signals. Larger offset when LTP coding gain is low or tilt is high (ie low-pass) */ if( psEncCtrl->sCmn.sigtype == SIG_TYPE_VOICED ) { diff --git a/libs/silk/src/SKP_Silk_quant_LTP_gains_FIX.c b/libs/silk/src/SKP_Silk_quant_LTP_gains_FIX.c index cc2742b215..944ffbc20f 100644 --- a/libs/silk/src/SKP_Silk_quant_LTP_gains_FIX.c +++ b/libs/silk/src/SKP_Silk_quant_LTP_gains_FIX.c @@ -1,27 +1,27 @@ /*********************************************************************** -Copyright (c) 2006-2011, Skype Limited. All rights reserved. -Redistribution and use in source and binary forms, with or without -modification, (subject to the limitations in the disclaimer below) +Copyright (c) 2006-2011, Skype Limited. All rights reserved. +Redistribution and use in source and binary forms, with or without +modification, (subject to the limitations in the disclaimer below) are permitted provided that the following conditions are met: - Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. -- Redistributions in binary form must reproduce the above copyright -notice, this list of conditions and the following disclaimer in the +- Redistributions in binary form must reproduce the above copyright +notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. -- Neither the name of Skype Limited, nor the names of specific -contributors, may be used to endorse or promote products derived from +- Neither the name of Skype Limited, nor the names of specific +contributors, may be used to endorse or promote products derived from this software without specific prior written permission. -NO EXPRESS OR IMPLIED LICENSES TO ANY PARTY'S PATENT RIGHTS ARE GRANTED -BY THIS LICENSE. THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND +NO EXPRESS OR IMPLIED LICENSES TO ANY PARTY'S PATENT RIGHTS ARE GRANTED +BY THIS LICENSE. THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS ''AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, -BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND -FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE -COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND +FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT -NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF -USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON -ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF +USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON +ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ***********************************************************************/ @@ -98,9 +98,8 @@ void SKP_Silk_quant_LTP_gains_FIX( cbk_ptr_Q14 = SKP_Silk_LTP_vq_ptrs_Q14[ *periodicity_index ]; for( j = 0; j < NB_SUBFR; j++ ) { - for( k = 0; k < LTP_ORDER; k++ ) { + for( k = 0; k < LTP_ORDER; k++ ) { B_Q14[ j * LTP_ORDER + k ] = cbk_ptr_Q14[ SKP_MLA( k, cbk_index[ j ], LTP_ORDER ) ]; } } } - diff --git a/libs/silk/src/SKP_Silk_range_coder.c b/libs/silk/src/SKP_Silk_range_coder.c index b33400d5da..9d7fdc2de4 100644 --- a/libs/silk/src/SKP_Silk_range_coder.c +++ b/libs/silk/src/SKP_Silk_range_coder.c @@ -1,27 +1,27 @@ /*********************************************************************** -Copyright (c) 2006-2011, Skype Limited. All rights reserved. -Redistribution and use in source and binary forms, with or without -modification, (subject to the limitations in the disclaimer below) +Copyright (c) 2006-2011, Skype Limited. All rights reserved. +Redistribution and use in source and binary forms, with or without +modification, (subject to the limitations in the disclaimer below) are permitted provided that the following conditions are met: - Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. -- Redistributions in binary form must reproduce the above copyright -notice, this list of conditions and the following disclaimer in the +- Redistributions in binary form must reproduce the above copyright +notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. -- Neither the name of Skype Limited, nor the names of specific -contributors, may be used to endorse or promote products derived from +- Neither the name of Skype Limited, nor the names of specific +contributors, may be used to endorse or promote products derived from this software without specific prior written permission. -NO EXPRESS OR IMPLIED LICENSES TO ANY PARTY'S PATENT RIGHTS ARE GRANTED -BY THIS LICENSE. THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND +NO EXPRESS OR IMPLIED LICENSES TO ANY PARTY'S PATENT RIGHTS ARE GRANTED +BY THIS LICENSE. THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS ''AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, -BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND -FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE -COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND +FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT -NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF -USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON -ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF +USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON +ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ***********************************************************************/ @@ -272,13 +272,13 @@ void SKP_Silk_range_dec_init( } /* Initialize structure */ /* Copy to internal buffer */ - SKP_memcpy( psRC->buffer, buffer, bufferLength * sizeof( SKP_uint8 ) ); + SKP_memcpy( psRC->buffer, buffer, bufferLength * sizeof( SKP_uint8 ) ); psRC->bufferLength = bufferLength; psRC->bufferIx = 0; - psRC->base_Q32 = - SKP_LSHIFT_uint( (SKP_uint32)buffer[ 0 ], 24 ) | - SKP_LSHIFT_uint( (SKP_uint32)buffer[ 1 ], 16 ) | - SKP_LSHIFT_uint( (SKP_uint32)buffer[ 2 ], 8 ) | + psRC->base_Q32 = + SKP_LSHIFT_uint( (SKP_uint32)buffer[ 0 ], 24 ) | + SKP_LSHIFT_uint( (SKP_uint32)buffer[ 1 ], 16 ) | + SKP_LSHIFT_uint( (SKP_uint32)buffer[ 2 ], 8 ) | (SKP_uint32)buffer[ 3 ]; psRC->range_Q16 = 0x0000FFFF; psRC->error = 0; diff --git a/libs/silk/src/SKP_Silk_regularize_correlations_FIX.c b/libs/silk/src/SKP_Silk_regularize_correlations_FIX.c index 3c168e971a..38d72b0e4a 100644 --- a/libs/silk/src/SKP_Silk_regularize_correlations_FIX.c +++ b/libs/silk/src/SKP_Silk_regularize_correlations_FIX.c @@ -1,27 +1,27 @@ /*********************************************************************** -Copyright (c) 2006-2011, Skype Limited. All rights reserved. -Redistribution and use in source and binary forms, with or without -modification, (subject to the limitations in the disclaimer below) +Copyright (c) 2006-2011, Skype Limited. All rights reserved. +Redistribution and use in source and binary forms, with or without +modification, (subject to the limitations in the disclaimer below) are permitted provided that the following conditions are met: - Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. -- Redistributions in binary form must reproduce the above copyright -notice, this list of conditions and the following disclaimer in the +- Redistributions in binary form must reproduce the above copyright +notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. -- Neither the name of Skype Limited, nor the names of specific -contributors, may be used to endorse or promote products derived from +- Neither the name of Skype Limited, nor the names of specific +contributors, may be used to endorse or promote products derived from this software without specific prior written permission. -NO EXPRESS OR IMPLIED LICENSES TO ANY PARTY'S PATENT RIGHTS ARE GRANTED -BY THIS LICENSE. THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND +NO EXPRESS OR IMPLIED LICENSES TO ANY PARTY'S PATENT RIGHTS ARE GRANTED +BY THIS LICENSE. THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS ''AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, -BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND -FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE -COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND +FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT -NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF -USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON -ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF +USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON +ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ***********************************************************************/ diff --git a/libs/silk/src/SKP_Silk_resampler.c b/libs/silk/src/SKP_Silk_resampler.c index 40a1b1a0ca..2b58ef10d6 100644 --- a/libs/silk/src/SKP_Silk_resampler.c +++ b/libs/silk/src/SKP_Silk_resampler.c @@ -1,27 +1,27 @@ /*********************************************************************** -Copyright (c) 2006-2011, Skype Limited. All rights reserved. -Redistribution and use in source and binary forms, with or without -modification, (subject to the limitations in the disclaimer below) +Copyright (c) 2006-2011, Skype Limited. All rights reserved. +Redistribution and use in source and binary forms, with or without +modification, (subject to the limitations in the disclaimer below) are permitted provided that the following conditions are met: - Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. -- Redistributions in binary form must reproduce the above copyright -notice, this list of conditions and the following disclaimer in the +- Redistributions in binary form must reproduce the above copyright +notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. -- Neither the name of Skype Limited, nor the names of specific -contributors, may be used to endorse or promote products derived from +- Neither the name of Skype Limited, nor the names of specific +contributors, may be used to endorse or promote products derived from this software without specific prior written permission. -NO EXPRESS OR IMPLIED LICENSES TO ANY PARTY'S PATENT RIGHTS ARE GRANTED -BY THIS LICENSE. THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND +NO EXPRESS OR IMPLIED LICENSES TO ANY PARTY'S PATENT RIGHTS ARE GRANTED +BY THIS LICENSE. THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS ''AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, -BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND -FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE -COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND +FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT -NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF -USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON -ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF +USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON +ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ***********************************************************************/ @@ -78,7 +78,7 @@ static SKP_int32 gcd( } /* Initialize/reset the resampler state for a given pair of input/output sampling rates */ -SKP_int SKP_Silk_resampler_init( +SKP_int SKP_Silk_resampler_init( SKP_Silk_resampler_state_struct *S, /* I/O: Resampler state */ SKP_int32 Fs_Hz_in, /* I: Input sampling rate (Hz) */ SKP_int32 Fs_Hz_out /* I: Output sampling rate (Hz) */ @@ -160,7 +160,7 @@ SKP_int SKP_Silk_resampler_init( /* Upsample */ if( Fs_Hz_out == SKP_MUL( Fs_Hz_in, 2 ) ) { /* Fs_out : Fs_in = 2 : 1 */ /* Special case: directly use 2x upsampler */ - S->resampler_function = SKP_Silk_resampler_private_up2_HQ_wrapper; + S->resampler_function = SKP_Silk_resampler_private_up2_HQ_wrapper; } else { /* Default resampler */ S->resampler_function = SKP_Silk_resampler_private_IIR_FIR; @@ -176,50 +176,50 @@ SKP_int SKP_Silk_resampler_init( } else if ( Fs_Hz_out < Fs_Hz_in ) { /* Downsample */ if( SKP_MUL( Fs_Hz_out, 4 ) == SKP_MUL( Fs_Hz_in, 3 ) ) { /* Fs_out : Fs_in = 3 : 4 */ - S->FIR_Fracs = 3; - S->Coefs = SKP_Silk_Resampler_3_4_COEFS; - S->resampler_function = SKP_Silk_resampler_private_down_FIR; + S->FIR_Fracs = 3; + S->Coefs = SKP_Silk_Resampler_3_4_COEFS; + S->resampler_function = SKP_Silk_resampler_private_down_FIR; } else if( SKP_MUL( Fs_Hz_out, 3 ) == SKP_MUL( Fs_Hz_in, 2 ) ) { /* Fs_out : Fs_in = 2 : 3 */ - S->FIR_Fracs = 2; - S->Coefs = SKP_Silk_Resampler_2_3_COEFS; - S->resampler_function = SKP_Silk_resampler_private_down_FIR; + S->FIR_Fracs = 2; + S->Coefs = SKP_Silk_Resampler_2_3_COEFS; + S->resampler_function = SKP_Silk_resampler_private_down_FIR; } else if( SKP_MUL( Fs_Hz_out, 2 ) == Fs_Hz_in ) { /* Fs_out : Fs_in = 1 : 2 */ - S->FIR_Fracs = 1; - S->Coefs = SKP_Silk_Resampler_1_2_COEFS; - S->resampler_function = SKP_Silk_resampler_private_down_FIR; + S->FIR_Fracs = 1; + S->Coefs = SKP_Silk_Resampler_1_2_COEFS; + S->resampler_function = SKP_Silk_resampler_private_down_FIR; } else if( SKP_MUL( Fs_Hz_out, 8 ) == SKP_MUL( Fs_Hz_in, 3 ) ) { /* Fs_out : Fs_in = 3 : 8 */ - S->FIR_Fracs = 3; - S->Coefs = SKP_Silk_Resampler_3_8_COEFS; - S->resampler_function = SKP_Silk_resampler_private_down_FIR; + S->FIR_Fracs = 3; + S->Coefs = SKP_Silk_Resampler_3_8_COEFS; + S->resampler_function = SKP_Silk_resampler_private_down_FIR; } else if( SKP_MUL( Fs_Hz_out, 3 ) == Fs_Hz_in ) { /* Fs_out : Fs_in = 1 : 3 */ - S->FIR_Fracs = 1; - S->Coefs = SKP_Silk_Resampler_1_3_COEFS; - S->resampler_function = SKP_Silk_resampler_private_down_FIR; + S->FIR_Fracs = 1; + S->Coefs = SKP_Silk_Resampler_1_3_COEFS; + S->resampler_function = SKP_Silk_resampler_private_down_FIR; } else if( SKP_MUL( Fs_Hz_out, 4 ) == Fs_Hz_in ) { /* Fs_out : Fs_in = 1 : 4 */ - S->FIR_Fracs = 1; + S->FIR_Fracs = 1; down2 = 1; - S->Coefs = SKP_Silk_Resampler_1_2_COEFS; + S->Coefs = SKP_Silk_Resampler_1_2_COEFS; S->resampler_function = SKP_Silk_resampler_private_down_FIR; } else if( SKP_MUL( Fs_Hz_out, 6 ) == Fs_Hz_in ) { /* Fs_out : Fs_in = 1 : 6 */ - S->FIR_Fracs = 1; + S->FIR_Fracs = 1; down2 = 1; - S->Coefs = SKP_Silk_Resampler_1_3_COEFS; + S->Coefs = SKP_Silk_Resampler_1_3_COEFS; S->resampler_function = SKP_Silk_resampler_private_down_FIR; } else if( SKP_MUL( Fs_Hz_out, 441 ) == SKP_MUL( Fs_Hz_in, 80 ) ) { /* Fs_out : Fs_in = 80 : 441 */ - S->Coefs = SKP_Silk_Resampler_80_441_ARMA4_COEFS; - S->resampler_function = SKP_Silk_resampler_private_IIR_FIR; + S->Coefs = SKP_Silk_Resampler_80_441_ARMA4_COEFS; + S->resampler_function = SKP_Silk_resampler_private_IIR_FIR; } else if( SKP_MUL( Fs_Hz_out, 441 ) == SKP_MUL( Fs_Hz_in, 120 ) ) { /* Fs_out : Fs_in = 120 : 441 */ - S->Coefs = SKP_Silk_Resampler_120_441_ARMA4_COEFS; - S->resampler_function = SKP_Silk_resampler_private_IIR_FIR; + S->Coefs = SKP_Silk_Resampler_120_441_ARMA4_COEFS; + S->resampler_function = SKP_Silk_resampler_private_IIR_FIR; } else if( SKP_MUL( Fs_Hz_out, 441 ) == SKP_MUL( Fs_Hz_in, 160 ) ) { /* Fs_out : Fs_in = 160 : 441 */ - S->Coefs = SKP_Silk_Resampler_160_441_ARMA4_COEFS; - S->resampler_function = SKP_Silk_resampler_private_IIR_FIR; + S->Coefs = SKP_Silk_Resampler_160_441_ARMA4_COEFS; + S->resampler_function = SKP_Silk_resampler_private_IIR_FIR; } else if( SKP_MUL( Fs_Hz_out, 441 ) == SKP_MUL( Fs_Hz_in, 240 ) ) { /* Fs_out : Fs_in = 240 : 441 */ - S->Coefs = SKP_Silk_Resampler_240_441_ARMA4_COEFS; - S->resampler_function = SKP_Silk_resampler_private_IIR_FIR; + S->Coefs = SKP_Silk_Resampler_240_441_ARMA4_COEFS; + S->resampler_function = SKP_Silk_resampler_private_IIR_FIR; } else if( SKP_MUL( Fs_Hz_out, 441 ) == SKP_MUL( Fs_Hz_in, 320 ) ) { /* Fs_out : Fs_in = 320 : 441 */ - S->Coefs = SKP_Silk_Resampler_320_441_ARMA4_COEFS; - S->resampler_function = SKP_Silk_resampler_private_IIR_FIR; + S->Coefs = SKP_Silk_Resampler_320_441_ARMA4_COEFS; + S->resampler_function = SKP_Silk_resampler_private_IIR_FIR; } else { /* Default resampler */ S->resampler_function = SKP_Silk_resampler_private_IIR_FIR; @@ -252,7 +252,7 @@ SKP_int SKP_Silk_resampler_init( } /* Clear the states of all resampling filters, without resetting sampling rate ratio */ -SKP_int SKP_Silk_resampler_clear( +SKP_int SKP_Silk_resampler_clear( SKP_Silk_resampler_state_struct *S /* I/O: Resampler state */ ) { @@ -268,7 +268,7 @@ SKP_int SKP_Silk_resampler_clear( } /* Resampler: convert from one sampling rate to another */ -SKP_int SKP_Silk_resampler( +SKP_int SKP_Silk_resampler( SKP_Silk_resampler_state_struct *S, /* I/O: Resampler state */ SKP_int16 out[], /* O: Output signal */ const SKP_int16 in[], /* I: Input signal */ @@ -289,30 +289,30 @@ SKP_int SKP_Silk_resampler( while( inLen > 0 ) { /* Number of input and output samples to process */ - nSamplesIn = SKP_min( inLen, S->batchSizePrePost ); + nSamplesIn = SKP_min( inLen, S->batchSizePrePost ); nSamplesOut = SKP_SMULWB( S->ratio_Q16, nSamplesIn ); SKP_assert( SKP_RSHIFT32( nSamplesIn, S->nPreDownsamplers ) <= 480 ); SKP_assert( SKP_RSHIFT32( nSamplesOut, S->nPostUpsamplers ) <= 480 ); - if( S->nPreDownsamplers > 0 ) { + if( S->nPreDownsamplers > 0 ) { S->down_pre_function( S->sDownPre, in_buf, in, nSamplesIn ); - if( S->nPostUpsamplers > 0 ) { - S->resampler_function( S, out_buf, in_buf, SKP_RSHIFT32( nSamplesIn, S->nPreDownsamplers ) ); + if( S->nPostUpsamplers > 0 ) { + S->resampler_function( S, out_buf, in_buf, SKP_RSHIFT32( nSamplesIn, S->nPreDownsamplers ) ); S->up_post_function( S->sUpPost, out, out_buf, SKP_RSHIFT32( nSamplesOut, S->nPostUpsamplers ) ); } else { - S->resampler_function( S, out, in_buf, SKP_RSHIFT32( nSamplesIn, S->nPreDownsamplers ) ); + S->resampler_function( S, out, in_buf, SKP_RSHIFT32( nSamplesIn, S->nPreDownsamplers ) ); } } else { - S->resampler_function( S, out_buf, in, SKP_RSHIFT32( nSamplesIn, S->nPreDownsamplers ) ); + S->resampler_function( S, out_buf, in, SKP_RSHIFT32( nSamplesIn, S->nPreDownsamplers ) ); S->up_post_function( S->sUpPost, out, out_buf, SKP_RSHIFT32( nSamplesOut, S->nPostUpsamplers ) ); } - in += nSamplesIn; + in += nSamplesIn; out += nSamplesOut; - inLen -= nSamplesIn; + inLen -= nSamplesIn; } - } else + } else #endif { /* Input and output sampling rate are at most 48000 Hz */ diff --git a/libs/silk/src/SKP_Silk_resampler_down2.c b/libs/silk/src/SKP_Silk_resampler_down2.c index 08dd18fbb7..c11c799e49 100644 --- a/libs/silk/src/SKP_Silk_resampler_down2.c +++ b/libs/silk/src/SKP_Silk_resampler_down2.c @@ -1,27 +1,27 @@ /*********************************************************************** -Copyright (c) 2006-2011, Skype Limited. All rights reserved. -Redistribution and use in source and binary forms, with or without -modification, (subject to the limitations in the disclaimer below) +Copyright (c) 2006-2011, Skype Limited. All rights reserved. +Redistribution and use in source and binary forms, with or without +modification, (subject to the limitations in the disclaimer below) are permitted provided that the following conditions are met: - Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. -- Redistributions in binary form must reproduce the above copyright -notice, this list of conditions and the following disclaimer in the +- Redistributions in binary form must reproduce the above copyright +notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. -- Neither the name of Skype Limited, nor the names of specific -contributors, may be used to endorse or promote products derived from +- Neither the name of Skype Limited, nor the names of specific +contributors, may be used to endorse or promote products derived from this software without specific prior written permission. -NO EXPRESS OR IMPLIED LICENSES TO ANY PARTY'S PATENT RIGHTS ARE GRANTED -BY THIS LICENSE. THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND +NO EXPRESS OR IMPLIED LICENSES TO ANY PARTY'S PATENT RIGHTS ARE GRANTED +BY THIS LICENSE. THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS ''AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, -BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND -FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE -COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND +FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT -NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF -USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON -ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF +USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON +ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ***********************************************************************/ diff --git a/libs/silk/src/SKP_Silk_resampler_down2_3.c b/libs/silk/src/SKP_Silk_resampler_down2_3.c index d233e14457..b7ffbcd188 100644 --- a/libs/silk/src/SKP_Silk_resampler_down2_3.c +++ b/libs/silk/src/SKP_Silk_resampler_down2_3.c @@ -1,27 +1,27 @@ /*********************************************************************** -Copyright (c) 2006-2011, Skype Limited. All rights reserved. -Redistribution and use in source and binary forms, with or without -modification, (subject to the limitations in the disclaimer below) +Copyright (c) 2006-2011, Skype Limited. All rights reserved. +Redistribution and use in source and binary forms, with or without +modification, (subject to the limitations in the disclaimer below) are permitted provided that the following conditions are met: - Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. -- Redistributions in binary form must reproduce the above copyright -notice, this list of conditions and the following disclaimer in the +- Redistributions in binary form must reproduce the above copyright +notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. -- Neither the name of Skype Limited, nor the names of specific -contributors, may be used to endorse or promote products derived from +- Neither the name of Skype Limited, nor the names of specific +contributors, may be used to endorse or promote products derived from this software without specific prior written permission. -NO EXPRESS OR IMPLIED LICENSES TO ANY PARTY'S PATENT RIGHTS ARE GRANTED -BY THIS LICENSE. THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND +NO EXPRESS OR IMPLIED LICENSES TO ANY PARTY'S PATENT RIGHTS ARE GRANTED +BY THIS LICENSE. THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS ''AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, -BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND -FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE -COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND +FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT -NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF -USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON -ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF +USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON +ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ***********************************************************************/ @@ -50,7 +50,7 @@ void SKP_Silk_resampler_down2_3( SKP_int32 buf[ RESAMPLER_MAX_BATCH_SIZE_IN + ORDER_FIR ]; SKP_int32 *buf_ptr; - /* Copy buffered samples to start of buffer */ + /* Copy buffered samples to start of buffer */ SKP_memcpy( buf, S, ORDER_FIR * sizeof( SKP_int32 ) ); /* Iterate over blocks of frameSizeIn input samples */ @@ -58,7 +58,7 @@ void SKP_Silk_resampler_down2_3( nSamplesIn = SKP_min( inLen, RESAMPLER_MAX_BATCH_SIZE_IN ); /* Second-order AR filter (output in Q8) */ - SKP_Silk_resampler_private_AR2( &S[ ORDER_FIR ], &buf[ ORDER_FIR ], in, + SKP_Silk_resampler_private_AR2( &S[ ORDER_FIR ], &buf[ ORDER_FIR ], in, SKP_Silk_Resampler_2_3_COEFS_LQ, nSamplesIn ); /* Interpolate filtered signal */ diff --git a/libs/silk/src/SKP_Silk_resampler_down3.c b/libs/silk/src/SKP_Silk_resampler_down3.c index 93ba5f6fcc..ff73e96b50 100644 --- a/libs/silk/src/SKP_Silk_resampler_down3.c +++ b/libs/silk/src/SKP_Silk_resampler_down3.c @@ -1,27 +1,27 @@ /*********************************************************************** -Copyright (c) 2006-2011, Skype Limited. All rights reserved. -Redistribution and use in source and binary forms, with or without -modification, (subject to the limitations in the disclaimer below) +Copyright (c) 2006-2011, Skype Limited. All rights reserved. +Redistribution and use in source and binary forms, with or without +modification, (subject to the limitations in the disclaimer below) are permitted provided that the following conditions are met: - Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. -- Redistributions in binary form must reproduce the above copyright -notice, this list of conditions and the following disclaimer in the +- Redistributions in binary form must reproduce the above copyright +notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. -- Neither the name of Skype Limited, nor the names of specific -contributors, may be used to endorse or promote products derived from +- Neither the name of Skype Limited, nor the names of specific +contributors, may be used to endorse or promote products derived from this software without specific prior written permission. -NO EXPRESS OR IMPLIED LICENSES TO ANY PARTY'S PATENT RIGHTS ARE GRANTED -BY THIS LICENSE. THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND +NO EXPRESS OR IMPLIED LICENSES TO ANY PARTY'S PATENT RIGHTS ARE GRANTED +BY THIS LICENSE. THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS ''AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, -BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND -FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE -COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND +FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT -NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF -USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON -ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF +USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON +ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ***********************************************************************/ @@ -50,7 +50,7 @@ void SKP_Silk_resampler_down3( SKP_int32 buf[ RESAMPLER_MAX_BATCH_SIZE_IN + ORDER_FIR ]; SKP_int32 *buf_ptr; - /* Copy buffered samples to start of buffer */ + /* Copy buffered samples to start of buffer */ SKP_memcpy( buf, S, ORDER_FIR * sizeof( SKP_int32 ) ); /* Iterate over blocks of frameSizeIn input samples */ @@ -58,7 +58,7 @@ void SKP_Silk_resampler_down3( nSamplesIn = SKP_min( inLen, RESAMPLER_MAX_BATCH_SIZE_IN ); /* Second-order AR filter (output in Q8) */ - SKP_Silk_resampler_private_AR2( &S[ ORDER_FIR ], &buf[ ORDER_FIR ], in, + SKP_Silk_resampler_private_AR2( &S[ ORDER_FIR ], &buf[ ORDER_FIR ], in, SKP_Silk_Resampler_1_3_COEFS_LQ, nSamplesIn ); /* Interpolate filtered signal */ diff --git a/libs/silk/src/SKP_Silk_resampler_private.h b/libs/silk/src/SKP_Silk_resampler_private.h index 2a5d7d779f..2beaa4b21f 100644 --- a/libs/silk/src/SKP_Silk_resampler_private.h +++ b/libs/silk/src/SKP_Silk_resampler_private.h @@ -1,27 +1,27 @@ /*********************************************************************** -Copyright (c) 2006-2011, Skype Limited. All rights reserved. -Redistribution and use in source and binary forms, with or without -modification, (subject to the limitations in the disclaimer below) +Copyright (c) 2006-2011, Skype Limited. All rights reserved. +Redistribution and use in source and binary forms, with or without +modification, (subject to the limitations in the disclaimer below) are permitted provided that the following conditions are met: - Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. -- Redistributions in binary form must reproduce the above copyright -notice, this list of conditions and the following disclaimer in the +- Redistributions in binary form must reproduce the above copyright +notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. -- Neither the name of Skype Limited, nor the names of specific -contributors, may be used to endorse or promote products derived from +- Neither the name of Skype Limited, nor the names of specific +contributors, may be used to endorse or promote products derived from this software without specific prior written permission. -NO EXPRESS OR IMPLIED LICENSES TO ANY PARTY'S PATENT RIGHTS ARE GRANTED -BY THIS LICENSE. THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND +NO EXPRESS OR IMPLIED LICENSES TO ANY PARTY'S PATENT RIGHTS ARE GRANTED +BY THIS LICENSE. THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS ''AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, -BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND -FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE -COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND +FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT -NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF -USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON -ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF +USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON +ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ***********************************************************************/ @@ -128,4 +128,3 @@ void SKP_Silk_resampler_private_ARMA4( } #endif #endif // SKP_Silk_RESAMPLER_H - diff --git a/libs/silk/src/SKP_Silk_resampler_private_AR2.c b/libs/silk/src/SKP_Silk_resampler_private_AR2.c index 8aaef7f4ae..d7d53ea956 100644 --- a/libs/silk/src/SKP_Silk_resampler_private_AR2.c +++ b/libs/silk/src/SKP_Silk_resampler_private_AR2.c @@ -1,27 +1,27 @@ /*********************************************************************** -Copyright (c) 2006-2011, Skype Limited. All rights reserved. -Redistribution and use in source and binary forms, with or without -modification, (subject to the limitations in the disclaimer below) +Copyright (c) 2006-2011, Skype Limited. All rights reserved. +Redistribution and use in source and binary forms, with or without +modification, (subject to the limitations in the disclaimer below) are permitted provided that the following conditions are met: - Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. -- Redistributions in binary form must reproduce the above copyright -notice, this list of conditions and the following disclaimer in the +- Redistributions in binary form must reproduce the above copyright +notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. -- Neither the name of Skype Limited, nor the names of specific -contributors, may be used to endorse or promote products derived from +- Neither the name of Skype Limited, nor the names of specific +contributors, may be used to endorse or promote products derived from this software without specific prior written permission. -NO EXPRESS OR IMPLIED LICENSES TO ANY PARTY'S PATENT RIGHTS ARE GRANTED -BY THIS LICENSE. THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND +NO EXPRESS OR IMPLIED LICENSES TO ANY PARTY'S PATENT RIGHTS ARE GRANTED +BY THIS LICENSE. THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS ''AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, -BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND -FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE -COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND +FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT -NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF -USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON -ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF +USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON +ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ***********************************************************************/ diff --git a/libs/silk/src/SKP_Silk_resampler_private_ARMA4.c b/libs/silk/src/SKP_Silk_resampler_private_ARMA4.c index 5a96b7a3ed..87eeed55b5 100644 --- a/libs/silk/src/SKP_Silk_resampler_private_ARMA4.c +++ b/libs/silk/src/SKP_Silk_resampler_private_ARMA4.c @@ -1,27 +1,27 @@ /*********************************************************************** -Copyright (c) 2006-2011, Skype Limited. All rights reserved. -Redistribution and use in source and binary forms, with or without -modification, (subject to the limitations in the disclaimer below) +Copyright (c) 2006-2011, Skype Limited. All rights reserved. +Redistribution and use in source and binary forms, with or without +modification, (subject to the limitations in the disclaimer below) are permitted provided that the following conditions are met: - Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. -- Redistributions in binary form must reproduce the above copyright -notice, this list of conditions and the following disclaimer in the +- Redistributions in binary form must reproduce the above copyright +notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. -- Neither the name of Skype Limited, nor the names of specific -contributors, may be used to endorse or promote products derived from +- Neither the name of Skype Limited, nor the names of specific +contributors, may be used to endorse or promote products derived from this software without specific prior written permission. -NO EXPRESS OR IMPLIED LICENSES TO ANY PARTY'S PATENT RIGHTS ARE GRANTED -BY THIS LICENSE. THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND +NO EXPRESS OR IMPLIED LICENSES TO ANY PARTY'S PATENT RIGHTS ARE GRANTED +BY THIS LICENSE. THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS ''AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, -BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND -FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE -COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND +FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT -NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF -USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON -ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF +USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON +ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ***********************************************************************/ @@ -74,4 +74,3 @@ void SKP_Silk_resampler_private_ARMA4( out[ k ] = (SKP_int16)SKP_SAT16( SKP_RSHIFT32( SKP_SMLAWB( 128, out2_Q8, Coef[ 6 ] ), 8 ) ); } } - diff --git a/libs/silk/src/SKP_Silk_resampler_private_IIR_FIR.c b/libs/silk/src/SKP_Silk_resampler_private_IIR_FIR.c index 85cb08358c..c625f2c5e8 100644 --- a/libs/silk/src/SKP_Silk_resampler_private_IIR_FIR.c +++ b/libs/silk/src/SKP_Silk_resampler_private_IIR_FIR.c @@ -1,27 +1,27 @@ /*********************************************************************** -Copyright (c) 2006-2011, Skype Limited. All rights reserved. -Redistribution and use in source and binary forms, with or without -modification, (subject to the limitations in the disclaimer below) +Copyright (c) 2006-2011, Skype Limited. All rights reserved. +Redistribution and use in source and binary forms, with or without +modification, (subject to the limitations in the disclaimer below) are permitted provided that the following conditions are met: - Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. -- Redistributions in binary form must reproduce the above copyright -notice, this list of conditions and the following disclaimer in the +- Redistributions in binary form must reproduce the above copyright +notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. -- Neither the name of Skype Limited, nor the names of specific -contributors, may be used to endorse or promote products derived from +- Neither the name of Skype Limited, nor the names of specific +contributors, may be used to endorse or promote products derived from this software without specific prior written permission. -NO EXPRESS OR IMPLIED LICENSES TO ANY PARTY'S PATENT RIGHTS ARE GRANTED -BY THIS LICENSE. THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND +NO EXPRESS OR IMPLIED LICENSES TO ANY PARTY'S PATENT RIGHTS ARE GRANTED +BY THIS LICENSE. THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS ''AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, -BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND -FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE -COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND +FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT -NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF -USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON -ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF +USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON +ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ***********************************************************************/ @@ -36,7 +36,7 @@ OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. #include "SKP_Silk_SigProc_FIX.h" #include "SKP_Silk_resampler_private.h" -SKP_INLINE SKP_int16 *SKP_Silk_resampler_private_IIR_FIR_INTERPOL( +SKP_INLINE SKP_int16 *SKP_Silk_resampler_private_IIR_FIR_INTERPOL( SKP_int16 * out, SKP_int16 * buf, SKP_int32 max_index_Q16 , SKP_int32 index_increment_Q16 ){ SKP_int32 index_Q16, res_Q15; SKP_int16 *buf_ptr; @@ -45,16 +45,16 @@ SKP_INLINE SKP_int16 *SKP_Silk_resampler_private_IIR_FIR_INTERPOL( for( index_Q16 = 0; index_Q16 < max_index_Q16; index_Q16 += index_increment_Q16 ) { table_index = SKP_SMULWB( index_Q16 & 0xFFFF, 144 ); buf_ptr = &buf[ index_Q16 >> 16 ]; - + res_Q15 = SKP_SMULBB( buf_ptr[ 0 ], SKP_Silk_resampler_frac_FIR_144[ table_index ][ 0 ] ); res_Q15 = SKP_SMLABB( res_Q15, buf_ptr[ 1 ], SKP_Silk_resampler_frac_FIR_144[ table_index ][ 1 ] ); res_Q15 = SKP_SMLABB( res_Q15, buf_ptr[ 2 ], SKP_Silk_resampler_frac_FIR_144[ table_index ][ 2 ] ); res_Q15 = SKP_SMLABB( res_Q15, buf_ptr[ 3 ], SKP_Silk_resampler_frac_FIR_144[ 143 - table_index ][ 2 ] ); res_Q15 = SKP_SMLABB( res_Q15, buf_ptr[ 4 ], SKP_Silk_resampler_frac_FIR_144[ 143 - table_index ][ 1 ] ); - res_Q15 = SKP_SMLABB( res_Q15, buf_ptr[ 5 ], SKP_Silk_resampler_frac_FIR_144[ 143 - table_index ][ 0 ] ); + res_Q15 = SKP_SMLABB( res_Q15, buf_ptr[ 5 ], SKP_Silk_resampler_frac_FIR_144[ 143 - table_index ][ 0 ] ); *out++ = (SKP_int16)SKP_SAT16( SKP_RSHIFT_ROUND( res_Q15, 15 ) ); } - return out; + return out; } /* Upsample using a combination of allpass-based 2x upsampling and FIR interpolation */ void SKP_Silk_resampler_private_IIR_FIR( @@ -68,9 +68,9 @@ void SKP_Silk_resampler_private_IIR_FIR( SKP_int32 nSamplesIn; SKP_int32 max_index_Q16, index_increment_Q16; SKP_int16 buf[ 2 * RESAMPLER_MAX_BATCH_SIZE_IN + RESAMPLER_ORDER_FIR_144 ]; - - /* Copy buffered samples to start of buffer */ + + /* Copy buffered samples to start of buffer */ SKP_memcpy( buf, S->sFIR, RESAMPLER_ORDER_FIR_144 * sizeof( SKP_int32 ) ); /* Iterate over blocks of frameSizeIn input samples */ @@ -87,7 +87,7 @@ void SKP_Silk_resampler_private_IIR_FIR( } max_index_Q16 = SKP_LSHIFT32( nSamplesIn, 16 + S->input2x ); /* +1 if 2x upsampling */ - out = SKP_Silk_resampler_private_IIR_FIR_INTERPOL(out, buf, max_index_Q16, index_increment_Q16); + out = SKP_Silk_resampler_private_IIR_FIR_INTERPOL(out, buf, max_index_Q16, index_increment_Q16); in += nSamplesIn; inLen -= nSamplesIn; @@ -102,4 +102,3 @@ void SKP_Silk_resampler_private_IIR_FIR( /* Copy last part of filtered signal to the state for the next call */ SKP_memcpy( S->sFIR, &buf[nSamplesIn << S->input2x ], RESAMPLER_ORDER_FIR_144 * sizeof( SKP_int32 ) ); } - diff --git a/libs/silk/src/SKP_Silk_resampler_private_copy.c b/libs/silk/src/SKP_Silk_resampler_private_copy.c index 071e210a79..8915a995a2 100644 --- a/libs/silk/src/SKP_Silk_resampler_private_copy.c +++ b/libs/silk/src/SKP_Silk_resampler_private_copy.c @@ -1,27 +1,27 @@ /*********************************************************************** -Copyright (c) 2006-2011, Skype Limited. All rights reserved. -Redistribution and use in source and binary forms, with or without -modification, (subject to the limitations in the disclaimer below) +Copyright (c) 2006-2011, Skype Limited. All rights reserved. +Redistribution and use in source and binary forms, with or without +modification, (subject to the limitations in the disclaimer below) are permitted provided that the following conditions are met: - Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. -- Redistributions in binary form must reproduce the above copyright -notice, this list of conditions and the following disclaimer in the +- Redistributions in binary form must reproduce the above copyright +notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. -- Neither the name of Skype Limited, nor the names of specific -contributors, may be used to endorse or promote products derived from +- Neither the name of Skype Limited, nor the names of specific +contributors, may be used to endorse or promote products derived from this software without specific prior written permission. -NO EXPRESS OR IMPLIED LICENSES TO ANY PARTY'S PATENT RIGHTS ARE GRANTED -BY THIS LICENSE. THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND +NO EXPRESS OR IMPLIED LICENSES TO ANY PARTY'S PATENT RIGHTS ARE GRANTED +BY THIS LICENSE. THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS ''AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, -BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND -FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE -COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND +FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT -NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF -USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON -ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF +USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON +ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ***********************************************************************/ diff --git a/libs/silk/src/SKP_Silk_resampler_private_down4.c b/libs/silk/src/SKP_Silk_resampler_private_down4.c index 54e56f53d4..43c14ac927 100644 --- a/libs/silk/src/SKP_Silk_resampler_private_down4.c +++ b/libs/silk/src/SKP_Silk_resampler_private_down4.c @@ -1,27 +1,27 @@ /*********************************************************************** -Copyright (c) 2006-2011, Skype Limited. All rights reserved. -Redistribution and use in source and binary forms, with or without -modification, (subject to the limitations in the disclaimer below) +Copyright (c) 2006-2011, Skype Limited. All rights reserved. +Redistribution and use in source and binary forms, with or without +modification, (subject to the limitations in the disclaimer below) are permitted provided that the following conditions are met: - Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. -- Redistributions in binary form must reproduce the above copyright -notice, this list of conditions and the following disclaimer in the +- Redistributions in binary form must reproduce the above copyright +notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. -- Neither the name of Skype Limited, nor the names of specific -contributors, may be used to endorse or promote products derived from +- Neither the name of Skype Limited, nor the names of specific +contributors, may be used to endorse or promote products derived from this software without specific prior written permission. -NO EXPRESS OR IMPLIED LICENSES TO ANY PARTY'S PATENT RIGHTS ARE GRANTED -BY THIS LICENSE. THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND +NO EXPRESS OR IMPLIED LICENSES TO ANY PARTY'S PATENT RIGHTS ARE GRANTED +BY THIS LICENSE. THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS ''AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, -BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND -FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE -COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND +FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT -NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF -USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON -ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF +USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON +ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ***********************************************************************/ diff --git a/libs/silk/src/SKP_Silk_resampler_private_down_FIR.c b/libs/silk/src/SKP_Silk_resampler_private_down_FIR.c index 61da218efd..00d8f9cafe 100644 --- a/libs/silk/src/SKP_Silk_resampler_private_down_FIR.c +++ b/libs/silk/src/SKP_Silk_resampler_private_down_FIR.c @@ -1,27 +1,27 @@ /*********************************************************************** -Copyright (c) 2006-2011, Skype Limited. All rights reserved. -Redistribution and use in source and binary forms, with or without -modification, (subject to the limitations in the disclaimer below) +Copyright (c) 2006-2011, Skype Limited. All rights reserved. +Redistribution and use in source and binary forms, with or without +modification, (subject to the limitations in the disclaimer below) are permitted provided that the following conditions are met: - Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. -- Redistributions in binary form must reproduce the above copyright -notice, this list of conditions and the following disclaimer in the +- Redistributions in binary form must reproduce the above copyright +notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. -- Neither the name of Skype Limited, nor the names of specific -contributors, may be used to endorse or promote products derived from +- Neither the name of Skype Limited, nor the names of specific +contributors, may be used to endorse or promote products derived from this software without specific prior written permission. -NO EXPRESS OR IMPLIED LICENSES TO ANY PARTY'S PATENT RIGHTS ARE GRANTED -BY THIS LICENSE. THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND +NO EXPRESS OR IMPLIED LICENSES TO ANY PARTY'S PATENT RIGHTS ARE GRANTED +BY THIS LICENSE. THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS ''AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, -BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND -FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE -COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND +FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT -NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF -USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON -ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF +USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON +ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ***********************************************************************/ @@ -38,7 +38,7 @@ OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. #include "SKP_Silk_resampler_private.h" SKP_INLINE SKP_int16 *SKP_Silk_resampler_private_down_FIR_INTERPOL0( SKP_int16 *out, SKP_int32 *buf2, const SKP_int16 *FIR_Coefs, SKP_int32 max_index_Q16, SKP_int32 index_increment_Q16){ - + SKP_int32 index_Q16, res_Q6; SKP_int32 *buf_ptr; for( index_Q16 = 0; index_Q16 < max_index_Q16; index_Q16 += index_increment_Q16 ) { @@ -61,7 +61,7 @@ SKP_INLINE SKP_int16 *SKP_Silk_resampler_private_down_FIR_INTERPOL0( SKP_INLINE SKP_int16 *SKP_Silk_resampler_private_down_FIR_INTERPOL1( SKP_int16 *out, SKP_int32 *buf2, const SKP_int16 *FIR_Coefs, SKP_int32 max_index_Q16, SKP_int32 index_increment_Q16, SKP_int32 FIR_Fracs){ - + SKP_int32 index_Q16, res_Q6; SKP_int32 *buf_ptr; SKP_int32 interpol_ind; @@ -111,7 +111,7 @@ void SKP_Silk_resampler_private_down_FIR( SKP_int32 buf2[ RESAMPLER_MAX_BATCH_SIZE_IN + RESAMPLER_DOWN_ORDER_FIR ]; const SKP_int16 *FIR_Coefs; - /* Copy buffered samples to start of buffer */ + /* Copy buffered samples to start of buffer */ SKP_memcpy( buf2, S->sFIR, RESAMPLER_DOWN_ORDER_FIR * sizeof( SKP_int32 ) ); FIR_Coefs = &S->Coefs[ 2 ]; @@ -138,11 +138,11 @@ void SKP_Silk_resampler_private_down_FIR( /* Interpolate filtered signal */ if( S->FIR_Fracs == 1 ) { - out = SKP_Silk_resampler_private_down_FIR_INTERPOL0(out, buf2, FIR_Coefs, max_index_Q16, index_increment_Q16); + out = SKP_Silk_resampler_private_down_FIR_INTERPOL0(out, buf2, FIR_Coefs, max_index_Q16, index_increment_Q16); } else { - out = SKP_Silk_resampler_private_down_FIR_INTERPOL1(out, buf2, FIR_Coefs, max_index_Q16, index_increment_Q16, S->FIR_Fracs); + out = SKP_Silk_resampler_private_down_FIR_INTERPOL1(out, buf2, FIR_Coefs, max_index_Q16, index_increment_Q16, S->FIR_Fracs); } - + in += nSamplesIn << S->input2x; inLen -= nSamplesIn << S->input2x; @@ -157,4 +157,3 @@ void SKP_Silk_resampler_private_down_FIR( /* Copy last part of filtered signal to the state for the next call */ SKP_memcpy( S->sFIR, &buf2[ nSamplesIn ], RESAMPLER_DOWN_ORDER_FIR * sizeof( SKP_int32 ) ); } - diff --git a/libs/silk/src/SKP_Silk_resampler_private_up2_HQ.c b/libs/silk/src/SKP_Silk_resampler_private_up2_HQ.c index 1d755174fe..d8e27efed0 100644 --- a/libs/silk/src/SKP_Silk_resampler_private_up2_HQ.c +++ b/libs/silk/src/SKP_Silk_resampler_private_up2_HQ.c @@ -1,27 +1,27 @@ /*********************************************************************** -Copyright (c) 2006-2011, Skype Limited. All rights reserved. -Redistribution and use in source and binary forms, with or without -modification, (subject to the limitations in the disclaimer below) +Copyright (c) 2006-2011, Skype Limited. All rights reserved. +Redistribution and use in source and binary forms, with or without +modification, (subject to the limitations in the disclaimer below) are permitted provided that the following conditions are met: - Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. -- Redistributions in binary form must reproduce the above copyright -notice, this list of conditions and the following disclaimer in the +- Redistributions in binary form must reproduce the above copyright +notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. -- Neither the name of Skype Limited, nor the names of specific -contributors, may be used to endorse or promote products derived from +- Neither the name of Skype Limited, nor the names of specific +contributors, may be used to endorse or promote products derived from this software without specific prior written permission. -NO EXPRESS OR IMPLIED LICENSES TO ANY PARTY'S PATENT RIGHTS ARE GRANTED -BY THIS LICENSE. THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND +NO EXPRESS OR IMPLIED LICENSES TO ANY PARTY'S PATENT RIGHTS ARE GRANTED +BY THIS LICENSE. THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS ''AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, -BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND -FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE -COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND +FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT -NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF -USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON -ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF +USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON +ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ***********************************************************************/ @@ -53,7 +53,7 @@ void SKP_Silk_resampler_private_up2_HQ( SKP_assert( SKP_Silk_resampler_up2_hq_0[ 1 ] < 0 ); SKP_assert( SKP_Silk_resampler_up2_hq_1[ 0 ] > 0 ); SKP_assert( SKP_Silk_resampler_up2_hq_1[ 1 ] < 0 ); - + /* Internal variables and state are in Q10 format */ for( k = 0; k < len; k++ ) { /* Convert to Q10 */ @@ -76,9 +76,9 @@ void SKP_Silk_resampler_private_up2_HQ( out32_2 = SKP_SMLAWB( out32_2, S[ 4 ], SKP_Silk_resampler_up2_hq_notch[ 1 ] ); out32_1 = SKP_SMLAWB( out32_2, S[ 4 ], SKP_Silk_resampler_up2_hq_notch[ 0 ] ); S[ 5 ] = SKP_SUB32( out32_2, S[ 5 ] ); - + /* Apply gain in Q15, convert back to int16 and store to output */ - out[ 2 * k ] = (SKP_int16)SKP_SAT16( SKP_RSHIFT32( + out[ 2 * k ] = (SKP_int16)SKP_SAT16( SKP_RSHIFT32( SKP_SMLAWB( 256, out32_1, SKP_Silk_resampler_up2_hq_notch[ 3 ] ), 9 ) ); /* First all-pass section for odd output sample */ @@ -98,9 +98,9 @@ void SKP_Silk_resampler_private_up2_HQ( out32_2 = SKP_SMLAWB( out32_2, S[ 5 ], SKP_Silk_resampler_up2_hq_notch[ 1 ] ); out32_1 = SKP_SMLAWB( out32_2, S[ 5 ], SKP_Silk_resampler_up2_hq_notch[ 0 ] ); S[ 4 ] = SKP_SUB32( out32_2, S[ 4 ] ); - + /* Apply gain in Q15, convert back to int16 and store to output */ - out[ 2 * k + 1 ] = (SKP_int16)SKP_SAT16( SKP_RSHIFT32( + out[ 2 * k + 1 ] = (SKP_int16)SKP_SAT16( SKP_RSHIFT32( SKP_SMLAWB( 256, out32_1, SKP_Silk_resampler_up2_hq_notch[ 3 ] ), 9 ) ); } } diff --git a/libs/silk/src/SKP_Silk_resampler_private_up4.c b/libs/silk/src/SKP_Silk_resampler_private_up4.c index 96b4e2a186..763b7dae2d 100644 --- a/libs/silk/src/SKP_Silk_resampler_private_up4.c +++ b/libs/silk/src/SKP_Silk_resampler_private_up4.c @@ -1,27 +1,27 @@ /*********************************************************************** -Copyright (c) 2006-2011, Skype Limited. All rights reserved. -Redistribution and use in source and binary forms, with or without -modification, (subject to the limitations in the disclaimer below) +Copyright (c) 2006-2011, Skype Limited. All rights reserved. +Redistribution and use in source and binary forms, with or without +modification, (subject to the limitations in the disclaimer below) are permitted provided that the following conditions are met: - Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. -- Redistributions in binary form must reproduce the above copyright -notice, this list of conditions and the following disclaimer in the +- Redistributions in binary form must reproduce the above copyright +notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. -- Neither the name of Skype Limited, nor the names of specific -contributors, may be used to endorse or promote products derived from +- Neither the name of Skype Limited, nor the names of specific +contributors, may be used to endorse or promote products derived from this software without specific prior written permission. -NO EXPRESS OR IMPLIED LICENSES TO ANY PARTY'S PATENT RIGHTS ARE GRANTED -BY THIS LICENSE. THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND +NO EXPRESS OR IMPLIED LICENSES TO ANY PARTY'S PATENT RIGHTS ARE GRANTED +BY THIS LICENSE. THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS ''AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, -BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND -FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE -COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND +FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT -NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF -USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON -ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF +USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON +ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ***********************************************************************/ diff --git a/libs/silk/src/SKP_Silk_resampler_rom.c b/libs/silk/src/SKP_Silk_resampler_rom.c index 2589547fbf..a27fcae6a3 100644 --- a/libs/silk/src/SKP_Silk_resampler_rom.c +++ b/libs/silk/src/SKP_Silk_resampler_rom.c @@ -1,27 +1,27 @@ /*********************************************************************** -Copyright (c) 2006-2011, Skype Limited. All rights reserved. -Redistribution and use in source and binary forms, with or without -modification, (subject to the limitations in the disclaimer below) +Copyright (c) 2006-2011, Skype Limited. All rights reserved. +Redistribution and use in source and binary forms, with or without +modification, (subject to the limitations in the disclaimer below) are permitted provided that the following conditions are met: - Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. -- Redistributions in binary form must reproduce the above copyright -notice, this list of conditions and the following disclaimer in the +- Redistributions in binary form must reproduce the above copyright +notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. -- Neither the name of Skype Limited, nor the names of specific -contributors, may be used to endorse or promote products derived from +- Neither the name of Skype Limited, nor the names of specific +contributors, may be used to endorse or promote products derived from this software without specific prior written permission. -NO EXPRESS OR IMPLIED LICENSES TO ANY PARTY'S PATENT RIGHTS ARE GRANTED -BY THIS LICENSE. THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND +NO EXPRESS OR IMPLIED LICENSES TO ANY PARTY'S PATENT RIGHTS ARE GRANTED +BY THIS LICENSE. THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS ''AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, -BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND -FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE -COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND +FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT -NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF -USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON -ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF +USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON +ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ***********************************************************************/ diff --git a/libs/silk/src/SKP_Silk_resampler_rom.h b/libs/silk/src/SKP_Silk_resampler_rom.h index 04701178e9..cd3e58f928 100644 --- a/libs/silk/src/SKP_Silk_resampler_rom.h +++ b/libs/silk/src/SKP_Silk_resampler_rom.h @@ -1,27 +1,27 @@ /*********************************************************************** -Copyright (c) 2006-2011, Skype Limited. All rights reserved. -Redistribution and use in source and binary forms, with or without -modification, (subject to the limitations in the disclaimer below) +Copyright (c) 2006-2011, Skype Limited. All rights reserved. +Redistribution and use in source and binary forms, with or without +modification, (subject to the limitations in the disclaimer below) are permitted provided that the following conditions are met: - Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. -- Redistributions in binary form must reproduce the above copyright -notice, this list of conditions and the following disclaimer in the +- Redistributions in binary form must reproduce the above copyright +notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. -- Neither the name of Skype Limited, nor the names of specific -contributors, may be used to endorse or promote products derived from +- Neither the name of Skype Limited, nor the names of specific +contributors, may be used to endorse or promote products derived from this software without specific prior written permission. -NO EXPRESS OR IMPLIED LICENSES TO ANY PARTY'S PATENT RIGHTS ARE GRANTED -BY THIS LICENSE. THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND +NO EXPRESS OR IMPLIED LICENSES TO ANY PARTY'S PATENT RIGHTS ARE GRANTED +BY THIS LICENSE. THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS ''AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, -BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND -FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE -COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND +FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT -NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF -USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON -ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF +USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON +ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ***********************************************************************/ diff --git a/libs/silk/src/SKP_Silk_resampler_structs.h b/libs/silk/src/SKP_Silk_resampler_structs.h index 6e32084795..7e8992a9f3 100644 --- a/libs/silk/src/SKP_Silk_resampler_structs.h +++ b/libs/silk/src/SKP_Silk_resampler_structs.h @@ -1,27 +1,27 @@ /*********************************************************************** -Copyright (c) 2006-2011, Skype Limited. All rights reserved. -Redistribution and use in source and binary forms, with or without -modification, (subject to the limitations in the disclaimer below) +Copyright (c) 2006-2011, Skype Limited. All rights reserved. +Redistribution and use in source and binary forms, with or without +modification, (subject to the limitations in the disclaimer below) are permitted provided that the following conditions are met: - Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. -- Redistributions in binary form must reproduce the above copyright -notice, this list of conditions and the following disclaimer in the +- Redistributions in binary form must reproduce the above copyright +notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. -- Neither the name of Skype Limited, nor the names of specific -contributors, may be used to endorse or promote products derived from +- Neither the name of Skype Limited, nor the names of specific +contributors, may be used to endorse or promote products derived from this software without specific prior written permission. -NO EXPRESS OR IMPLIED LICENSES TO ANY PARTY'S PATENT RIGHTS ARE GRANTED -BY THIS LICENSE. THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND +NO EXPRESS OR IMPLIED LICENSES TO ANY PARTY'S PATENT RIGHTS ARE GRANTED +BY THIS LICENSE. THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS ''AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, -BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND -FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE -COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND +FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT -NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF -USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON -ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF +USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON +ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ***********************************************************************/ @@ -77,4 +77,3 @@ typedef struct _SKP_Silk_resampler_state_struct{ } #endif #endif /* SKP_Silk_RESAMPLER_STRUCTS_H */ - diff --git a/libs/silk/src/SKP_Silk_resampler_up2.c b/libs/silk/src/SKP_Silk_resampler_up2.c index 1e0fa38c83..4393b5020b 100644 --- a/libs/silk/src/SKP_Silk_resampler_up2.c +++ b/libs/silk/src/SKP_Silk_resampler_up2.c @@ -1,27 +1,27 @@ /*********************************************************************** -Copyright (c) 2006-2011, Skype Limited. All rights reserved. -Redistribution and use in source and binary forms, with or without -modification, (subject to the limitations in the disclaimer below) +Copyright (c) 2006-2011, Skype Limited. All rights reserved. +Redistribution and use in source and binary forms, with or without +modification, (subject to the limitations in the disclaimer below) are permitted provided that the following conditions are met: - Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. -- Redistributions in binary form must reproduce the above copyright -notice, this list of conditions and the following disclaimer in the +- Redistributions in binary form must reproduce the above copyright +notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. -- Neither the name of Skype Limited, nor the names of specific -contributors, may be used to endorse or promote products derived from +- Neither the name of Skype Limited, nor the names of specific +contributors, may be used to endorse or promote products derived from this software without specific prior written permission. -NO EXPRESS OR IMPLIED LICENSES TO ANY PARTY'S PATENT RIGHTS ARE GRANTED -BY THIS LICENSE. THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND +NO EXPRESS OR IMPLIED LICENSES TO ANY PARTY'S PATENT RIGHTS ARE GRANTED +BY THIS LICENSE. THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS ''AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, -BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND -FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE -COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND +FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT -NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF -USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON -ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF +USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON +ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ***********************************************************************/ diff --git a/libs/silk/src/SKP_Silk_residual_energy16_FIX.c b/libs/silk/src/SKP_Silk_residual_energy16_FIX.c index a3c83978de..84eb72cf7f 100644 --- a/libs/silk/src/SKP_Silk_residual_energy16_FIX.c +++ b/libs/silk/src/SKP_Silk_residual_energy16_FIX.c @@ -1,27 +1,27 @@ /*********************************************************************** -Copyright (c) 2006-2011, Skype Limited. All rights reserved. -Redistribution and use in source and binary forms, with or without -modification, (subject to the limitations in the disclaimer below) +Copyright (c) 2006-2011, Skype Limited. All rights reserved. +Redistribution and use in source and binary forms, with or without +modification, (subject to the limitations in the disclaimer below) are permitted provided that the following conditions are met: - Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. -- Redistributions in binary form must reproduce the above copyright -notice, this list of conditions and the following disclaimer in the +- Redistributions in binary form must reproduce the above copyright +notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. -- Neither the name of Skype Limited, nor the names of specific -contributors, may be used to endorse or promote products derived from +- Neither the name of Skype Limited, nor the names of specific +contributors, may be used to endorse or promote products derived from this software without specific prior written permission. -NO EXPRESS OR IMPLIED LICENSES TO ANY PARTY'S PATENT RIGHTS ARE GRANTED -BY THIS LICENSE. THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND +NO EXPRESS OR IMPLIED LICENSES TO ANY PARTY'S PATENT RIGHTS ARE GRANTED +BY THIS LICENSE. THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS ''AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, -BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND -FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE -COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND +FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT -NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF -USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON -ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF +USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON +ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ***********************************************************************/ @@ -39,7 +39,7 @@ SKP_int32 SKP_Silk_residual_energy16_covar_FIX( { SKP_int i, j, lshifts, Qxtra; SKP_int32 c_max, w_max, tmp, tmp2, nrg; - SKP_int cn[ MAX_MATRIX_SIZE ]; + SKP_int cn[ MAX_MATRIX_SIZE ]; const SKP_int32 *pRow; /* Safety checks */ diff --git a/libs/silk/src/SKP_Silk_residual_energy_FIX.c b/libs/silk/src/SKP_Silk_residual_energy_FIX.c index b6b1ce6ce7..1912a09411 100644 --- a/libs/silk/src/SKP_Silk_residual_energy_FIX.c +++ b/libs/silk/src/SKP_Silk_residual_energy_FIX.c @@ -1,27 +1,27 @@ /*********************************************************************** -Copyright (c) 2006-2011, Skype Limited. All rights reserved. -Redistribution and use in source and binary forms, with or without -modification, (subject to the limitations in the disclaimer below) +Copyright (c) 2006-2011, Skype Limited. All rights reserved. +Redistribution and use in source and binary forms, with or without +modification, (subject to the limitations in the disclaimer below) are permitted provided that the following conditions are met: - Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. -- Redistributions in binary form must reproduce the above copyright -notice, this list of conditions and the following disclaimer in the +- Redistributions in binary form must reproduce the above copyright +notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. -- Neither the name of Skype Limited, nor the names of specific -contributors, may be used to endorse or promote products derived from +- Neither the name of Skype Limited, nor the names of specific +contributors, may be used to endorse or promote products derived from this software without specific prior written permission. -NO EXPRESS OR IMPLIED LICENSES TO ANY PARTY'S PATENT RIGHTS ARE GRANTED -BY THIS LICENSE. THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND +NO EXPRESS OR IMPLIED LICENSES TO ANY PARTY'S PATENT RIGHTS ARE GRANTED +BY THIS LICENSE. THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS ''AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, -BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND -FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE -COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND +FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT -NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF -USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON -ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF +USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON +ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ***********************************************************************/ @@ -47,7 +47,7 @@ void SKP_Silk_residual_energy_FIX( x_ptr = x; offset = LPC_order + subfr_length; - + /* Filter input to create the LPC residual for each frame half, and measure subframe energies */ for( i = 0; i < 2; i++ ) { /* Calculate half frame LPC residual signal including preceeding samples */ @@ -58,11 +58,11 @@ void SKP_Silk_residual_energy_FIX( LPC_res_ptr = LPC_res + LPC_order; for( j = 0; j < ( NB_SUBFR >> 1 ); j++ ) { /* Measure subframe energy */ - SKP_Silk_sum_sqr_shift( &nrgs[ i * ( NB_SUBFR >> 1 ) + j ], &rshift, LPC_res_ptr, subfr_length ); - + SKP_Silk_sum_sqr_shift( &nrgs[ i * ( NB_SUBFR >> 1 ) + j ], &rshift, LPC_res_ptr, subfr_length ); + /* Set Q values for the measured energy */ nrgsQ[ i * ( NB_SUBFR >> 1 ) + j ] = -rshift; - + /* Move to next subframe */ LPC_res_ptr += offset; } @@ -73,9 +73,9 @@ void SKP_Silk_residual_energy_FIX( /* Apply the squared subframe gains */ for( i = 0; i < NB_SUBFR; i++ ) { /* Fully upscale gains and energies */ - lz1 = SKP_Silk_CLZ32( nrgs[ i ] ) - 1; - lz2 = SKP_Silk_CLZ32( gains[ i ] ) - 1; - + lz1 = SKP_Silk_CLZ32( nrgs[ i ] ) - 1; + lz2 = SKP_Silk_CLZ32( gains[ i ] ) - 1; + tmp32 = SKP_LSHIFT32( gains[ i ], lz2 ); /* Find squared gains */ diff --git a/libs/silk/src/SKP_Silk_scale_copy_vector16.c b/libs/silk/src/SKP_Silk_scale_copy_vector16.c index 37d4facb3e..27e5154680 100644 --- a/libs/silk/src/SKP_Silk_scale_copy_vector16.c +++ b/libs/silk/src/SKP_Silk_scale_copy_vector16.c @@ -1,36 +1,36 @@ /*********************************************************************** -Copyright (c) 2006-2011, Skype Limited. All rights reserved. -Redistribution and use in source and binary forms, with or without -modification, (subject to the limitations in the disclaimer below) +Copyright (c) 2006-2011, Skype Limited. All rights reserved. +Redistribution and use in source and binary forms, with or without +modification, (subject to the limitations in the disclaimer below) are permitted provided that the following conditions are met: - Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. -- Redistributions in binary form must reproduce the above copyright -notice, this list of conditions and the following disclaimer in the +- Redistributions in binary form must reproduce the above copyright +notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. -- Neither the name of Skype Limited, nor the names of specific -contributors, may be used to endorse or promote products derived from +- Neither the name of Skype Limited, nor the names of specific +contributors, may be used to endorse or promote products derived from this software without specific prior written permission. -NO EXPRESS OR IMPLIED LICENSES TO ANY PARTY'S PATENT RIGHTS ARE GRANTED -BY THIS LICENSE. THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND +NO EXPRESS OR IMPLIED LICENSES TO ANY PARTY'S PATENT RIGHTS ARE GRANTED +BY THIS LICENSE. THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS ''AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, -BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND -FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE -COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND +FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT -NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF -USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON -ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF +USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON +ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ***********************************************************************/ #include "SKP_Silk_SigProc_FIX.h" /* Copy and multiply a vector by a constant */ -void SKP_Silk_scale_copy_vector16( - SKP_int16 *data_out, - const SKP_int16 *data_in, +void SKP_Silk_scale_copy_vector16( + SKP_int16 *data_out, + const SKP_int16 *data_in, SKP_int32 gain_Q16, /* (I): gain in Q16 */ const SKP_int dataSize /* (I): length */ ) diff --git a/libs/silk/src/SKP_Silk_scale_vector.c b/libs/silk/src/SKP_Silk_scale_vector.c index acfc55a045..d95d4f6a8a 100644 --- a/libs/silk/src/SKP_Silk_scale_vector.c +++ b/libs/silk/src/SKP_Silk_scale_vector.c @@ -1,34 +1,34 @@ /*********************************************************************** -Copyright (c) 2006-2011, Skype Limited. All rights reserved. -Redistribution and use in source and binary forms, with or without -modification, (subject to the limitations in the disclaimer below) +Copyright (c) 2006-2011, Skype Limited. All rights reserved. +Redistribution and use in source and binary forms, with or without +modification, (subject to the limitations in the disclaimer below) are permitted provided that the following conditions are met: - Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. -- Redistributions in binary form must reproduce the above copyright -notice, this list of conditions and the following disclaimer in the +- Redistributions in binary form must reproduce the above copyright +notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. -- Neither the name of Skype Limited, nor the names of specific -contributors, may be used to endorse or promote products derived from +- Neither the name of Skype Limited, nor the names of specific +contributors, may be used to endorse or promote products derived from this software without specific prior written permission. -NO EXPRESS OR IMPLIED LICENSES TO ANY PARTY'S PATENT RIGHTS ARE GRANTED -BY THIS LICENSE. THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND +NO EXPRESS OR IMPLIED LICENSES TO ANY PARTY'S PATENT RIGHTS ARE GRANTED +BY THIS LICENSE. THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS ''AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, -BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND -FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE -COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND +FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT -NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF -USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON -ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF +USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON +ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ***********************************************************************/ #include "SKP_Silk_SigProc_FIX.h" /* Multiply a vector by a constant */ -void SKP_Silk_scale_vector32_Q26_lshift_18( +void SKP_Silk_scale_vector32_Q26_lshift_18( SKP_int32 *data1, /* (I/O): Q0/Q18 */ SKP_int32 gain_Q26, /* (I): Q26 */ SKP_int dataSize /* (I): length */ @@ -40,4 +40,3 @@ void SKP_Silk_scale_vector32_Q26_lshift_18( data1[ i ] = (SKP_int32)SKP_CHECK_FIT32( SKP_RSHIFT64( SKP_SMULL( data1[ i ], gain_Q26 ), 8 ) );// OUTPUT: Q18 } } - diff --git a/libs/silk/src/SKP_Silk_schur.c b/libs/silk/src/SKP_Silk_schur.c index 4b6384f915..03d1f91a6d 100644 --- a/libs/silk/src/SKP_Silk_schur.c +++ b/libs/silk/src/SKP_Silk_schur.c @@ -1,27 +1,27 @@ /*********************************************************************** -Copyright (c) 2006-2011, Skype Limited. All rights reserved. -Redistribution and use in source and binary forms, with or without -modification, (subject to the limitations in the disclaimer below) +Copyright (c) 2006-2011, Skype Limited. All rights reserved. +Redistribution and use in source and binary forms, with or without +modification, (subject to the limitations in the disclaimer below) are permitted provided that the following conditions are met: - Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. -- Redistributions in binary form must reproduce the above copyright -notice, this list of conditions and the following disclaimer in the +- Redistributions in binary form must reproduce the above copyright +notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. -- Neither the name of Skype Limited, nor the names of specific -contributors, may be used to endorse or promote products derived from +- Neither the name of Skype Limited, nor the names of specific +contributors, may be used to endorse or promote products derived from this software without specific prior written permission. -NO EXPRESS OR IMPLIED LICENSES TO ANY PARTY'S PATENT RIGHTS ARE GRANTED -BY THIS LICENSE. THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND +NO EXPRESS OR IMPLIED LICENSES TO ANY PARTY'S PATENT RIGHTS ARE GRANTED +BY THIS LICENSE. THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS ''AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, -BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND -FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE -COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND +FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT -NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF -USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON -ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF +USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON +ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ***********************************************************************/ @@ -36,7 +36,7 @@ OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. #include "SKP_Silk_SigProc_FIX.h" /* Faster than schur64(), but much less accurate. */ -/* uses SMLAWB(), requiring armv5E and higher. */ +/* uses SMLAWB(), requiring armv5E and higher. */ SKP_int32 SKP_Silk_schur( /* O: Returns residual energy */ SKP_int16 *rc_Q15, /* O: reflection coefficients [order] Q15 */ const SKP_int32 *c, /* I: correlations [order+1] */ @@ -58,7 +58,7 @@ SKP_int32 SKP_Silk_schur( /* O: Returns residual energy } } else if( lz > 2 ) { /* Shift to the left */ - lz -= 2; + lz -= 2; for( k = 0; k < order + 1; k++ ) { C[ k ][ 0 ] = C[ k ][ 1 ] = SKP_LSHIFT( c[k], lz ); } @@ -70,7 +70,7 @@ SKP_int32 SKP_Silk_schur( /* O: Returns residual energy } for( k = 0; k < order; k++ ) { - + /* Get reflection coefficient */ rc_tmp_Q15 = -SKP_DIV32_16( C[ k + 1 ][ 0 ], SKP_max_32( SKP_RSHIFT( C[ 0 ][ 1 ], 15 ), 1 ) ); diff --git a/libs/silk/src/SKP_Silk_schur64.c b/libs/silk/src/SKP_Silk_schur64.c index d74da765d8..5078d154de 100644 --- a/libs/silk/src/SKP_Silk_schur64.c +++ b/libs/silk/src/SKP_Silk_schur64.c @@ -1,27 +1,27 @@ /*********************************************************************** -Copyright (c) 2006-2011, Skype Limited. All rights reserved. -Redistribution and use in source and binary forms, with or without -modification, (subject to the limitations in the disclaimer below) +Copyright (c) 2006-2011, Skype Limited. All rights reserved. +Redistribution and use in source and binary forms, with or without +modification, (subject to the limitations in the disclaimer below) are permitted provided that the following conditions are met: - Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. -- Redistributions in binary form must reproduce the above copyright -notice, this list of conditions and the following disclaimer in the +- Redistributions in binary form must reproduce the above copyright +notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. -- Neither the name of Skype Limited, nor the names of specific -contributors, may be used to endorse or promote products derived from +- Neither the name of Skype Limited, nor the names of specific +contributors, may be used to endorse or promote products derived from this software without specific prior written permission. -NO EXPRESS OR IMPLIED LICENSES TO ANY PARTY'S PATENT RIGHTS ARE GRANTED -BY THIS LICENSE. THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND +NO EXPRESS OR IMPLIED LICENSES TO ANY PARTY'S PATENT RIGHTS ARE GRANTED +BY THIS LICENSE. THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS ''AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, -BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND -FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE -COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND +FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT -NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF -USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON -ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF +USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON +ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ***********************************************************************/ @@ -37,7 +37,7 @@ OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. #include "SKP_Silk_SigProc_FIX.h" /* Slower than schur(), but more accurate. */ -/* Uses SMULL(), available on armv4 */ +/* Uses SMULL(), available on armv4 */ SKP_int32 SKP_Silk_schur64( /* O: Returns residual energy */ SKP_int32 rc_Q16[], /* O: Reflection coefficients [order] Q16 */ const SKP_int32 c[], /* I: Correlations [order+1] */ @@ -53,7 +53,7 @@ SKP_int32 SKP_Silk_schur64( /* O: Returns residual energy SKP_memset( rc_Q16, 0, order * sizeof( SKP_int32 ) ); return 0; } - + for( k = 0; k < order + 1; k++ ) { C[ k ][ 0 ] = C[ k ][ 1 ] = c[ k ]; } @@ -69,7 +69,7 @@ SKP_int32 SKP_Silk_schur64( /* O: Returns residual energy for( n = 0; n < order - k; n++ ) { Ctmp1_Q30 = C[ n + k + 1 ][ 0 ]; Ctmp2_Q30 = C[ n ][ 1 ]; - + /* Multiply and add the highest int32 */ C[ n + k + 1 ][ 0 ] = Ctmp1_Q30 + SKP_SMMUL( SKP_LSHIFT( Ctmp2_Q30, 1 ), rc_tmp_Q31 ); C[ n ][ 1 ] = Ctmp2_Q30 + SKP_SMMUL( SKP_LSHIFT( Ctmp1_Q30, 1 ), rc_tmp_Q31 ); diff --git a/libs/silk/src/SKP_Silk_setup_complexity.h b/libs/silk/src/SKP_Silk_setup_complexity.h index 3477fd6f52..86f845bed7 100644 --- a/libs/silk/src/SKP_Silk_setup_complexity.h +++ b/libs/silk/src/SKP_Silk_setup_complexity.h @@ -1,27 +1,27 @@ /*********************************************************************** -Copyright (c) 2006-2011, Skype Limited. All rights reserved. -Redistribution and use in source and binary forms, with or without -modification, (subject to the limitations in the disclaimer below) +Copyright (c) 2006-2011, Skype Limited. All rights reserved. +Redistribution and use in source and binary forms, with or without +modification, (subject to the limitations in the disclaimer below) are permitted provided that the following conditions are met: - Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. -- Redistributions in binary form must reproduce the above copyright -notice, this list of conditions and the following disclaimer in the +- Redistributions in binary form must reproduce the above copyright +notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. -- Neither the name of Skype Limited, nor the names of specific -contributors, may be used to endorse or promote products derived from +- Neither the name of Skype Limited, nor the names of specific +contributors, may be used to endorse or promote products derived from this software without specific prior written permission. -NO EXPRESS OR IMPLIED LICENSES TO ANY PARTY'S PATENT RIGHTS ARE GRANTED -BY THIS LICENSE. THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND +NO EXPRESS OR IMPLIED LICENSES TO ANY PARTY'S PATENT RIGHTS ARE GRANTED +BY THIS LICENSE. THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS ''AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, -BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND -FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE -COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND +FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT -NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF -USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON -ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF +USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON +ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ***********************************************************************/ @@ -36,7 +36,7 @@ SKP_INLINE SKP_int SKP_Silk_setup_complexity( SKP_int ret = SKP_SILK_NO_ERROR; /* Check that settings are valid */ - if( LOW_COMPLEXITY_ONLY && Complexity != 0 ) { + if( LOW_COMPLEXITY_ONLY && Complexity != 0 ) { ret = SKP_SILK_ENC_INVALID_COMPLEXITY_SETTING; } diff --git a/libs/silk/src/SKP_Silk_shell_coder.c b/libs/silk/src/SKP_Silk_shell_coder.c index 230718c5a3..f315149957 100644 --- a/libs/silk/src/SKP_Silk_shell_coder.c +++ b/libs/silk/src/SKP_Silk_shell_coder.c @@ -1,27 +1,27 @@ /*********************************************************************** -Copyright (c) 2006-2011, Skype Limited. All rights reserved. -Redistribution and use in source and binary forms, with or without -modification, (subject to the limitations in the disclaimer below) +Copyright (c) 2006-2011, Skype Limited. All rights reserved. +Redistribution and use in source and binary forms, with or without +modification, (subject to the limitations in the disclaimer below) are permitted provided that the following conditions are met: - Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. -- Redistributions in binary form must reproduce the above copyright -notice, this list of conditions and the following disclaimer in the +- Redistributions in binary form must reproduce the above copyright +notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. -- Neither the name of Skype Limited, nor the names of specific -contributors, may be used to endorse or promote products derived from +- Neither the name of Skype Limited, nor the names of specific +contributors, may be used to endorse or promote products derived from this software without specific prior written permission. -NO EXPRESS OR IMPLIED LICENSES TO ANY PARTY'S PATENT RIGHTS ARE GRANTED -BY THIS LICENSE. THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND +NO EXPRESS OR IMPLIED LICENSES TO ANY PARTY'S PATENT RIGHTS ARE GRANTED +BY THIS LICENSE. THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS ''AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, -BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND -FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE -COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND +FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT -NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF -USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON -ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF +USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON +ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ***********************************************************************/ diff --git a/libs/silk/src/SKP_Silk_sigm_Q15.c b/libs/silk/src/SKP_Silk_sigm_Q15.c index b42476e38e..0dbcc1883c 100644 --- a/libs/silk/src/SKP_Silk_sigm_Q15.c +++ b/libs/silk/src/SKP_Silk_sigm_Q15.c @@ -1,27 +1,27 @@ /*********************************************************************** -Copyright (c) 2006-2011, Skype Limited. All rights reserved. -Redistribution and use in source and binary forms, with or without -modification, (subject to the limitations in the disclaimer below) +Copyright (c) 2006-2011, Skype Limited. All rights reserved. +Redistribution and use in source and binary forms, with or without +modification, (subject to the limitations in the disclaimer below) are permitted provided that the following conditions are met: - Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. -- Redistributions in binary form must reproduce the above copyright -notice, this list of conditions and the following disclaimer in the +- Redistributions in binary form must reproduce the above copyright +notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. -- Neither the name of Skype Limited, nor the names of specific -contributors, may be used to endorse or promote products derived from +- Neither the name of Skype Limited, nor the names of specific +contributors, may be used to endorse or promote products derived from this software without specific prior written permission. -NO EXPRESS OR IMPLIED LICENSES TO ANY PARTY'S PATENT RIGHTS ARE GRANTED -BY THIS LICENSE. THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND +NO EXPRESS OR IMPLIED LICENSES TO ANY PARTY'S PATENT RIGHTS ARE GRANTED +BY THIS LICENSE. THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS ''AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, -BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND -FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE -COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND +FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT -NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF -USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON -ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF +USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON +ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ***********************************************************************/ @@ -50,7 +50,7 @@ static const SKP_int32 sigm_LUT_neg_Q15[ 6 ] = { 16384, 8812, 3906, 1554, 589, 219 }; -SKP_int SKP_Silk_sigm_Q15( SKP_int in_Q5 ) +SKP_int SKP_Silk_sigm_Q15( SKP_int in_Q5 ) { SKP_int ind; @@ -75,4 +75,3 @@ SKP_int SKP_Silk_sigm_Q15( SKP_int in_Q5 ) } } } - diff --git a/libs/silk/src/SKP_Silk_solve_LS_FIX.c b/libs/silk/src/SKP_Silk_solve_LS_FIX.c index 3374eccbad..1e51c53536 100644 --- a/libs/silk/src/SKP_Silk_solve_LS_FIX.c +++ b/libs/silk/src/SKP_Silk_solve_LS_FIX.c @@ -1,27 +1,27 @@ /*********************************************************************** -Copyright (c) 2006-2011, Skype Limited. All rights reserved. -Redistribution and use in source and binary forms, with or without -modification, (subject to the limitations in the disclaimer below) +Copyright (c) 2006-2011, Skype Limited. All rights reserved. +Redistribution and use in source and binary forms, with or without +modification, (subject to the limitations in the disclaimer below) are permitted provided that the following conditions are met: - Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. -- Redistributions in binary form must reproduce the above copyright -notice, this list of conditions and the following disclaimer in the +- Redistributions in binary form must reproduce the above copyright +notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. -- Neither the name of Skype Limited, nor the names of specific -contributors, may be used to endorse or promote products derived from +- Neither the name of Skype Limited, nor the names of specific +contributors, may be used to endorse or promote products derived from this software without specific prior written permission. -NO EXPRESS OR IMPLIED LICENSES TO ANY PARTY'S PATENT RIGHTS ARE GRANTED -BY THIS LICENSE. THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND +NO EXPRESS OR IMPLIED LICENSES TO ANY PARTY'S PATENT RIGHTS ARE GRANTED +BY THIS LICENSE. THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS ''AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, -BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND -FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE -COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND +FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT -NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF -USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON -ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF +USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON +ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ***********************************************************************/ @@ -50,7 +50,7 @@ SKP_INLINE void SKP_Silk_LS_SolveFirst_FIX( const SKP_int32 *L_Q16, /* I Pointer to Lower Triangular Matrix */ SKP_int M, /* I Dim of Matrix equation */ const SKP_int32 *b, /* I b Vector */ - SKP_int32 *x_Q16 /* O x Vector */ + SKP_int32 *x_Q16 /* O x Vector */ ); /* Solve L^t*x = b, where L is lower triangular with ones on the diagonal */ @@ -58,7 +58,7 @@ SKP_INLINE void SKP_Silk_LS_SolveLast_FIX( const SKP_int32 *L_Q16, /* I Pointer to Lower Triangular Matrix */ const SKP_int M, /* I Dim of Matrix equation */ const SKP_int32 *b, /* I b Vector */ - SKP_int32 *x_Q16 /* O x Vector */ + SKP_int32 *x_Q16 /* O x Vector */ ); SKP_INLINE void SKP_Silk_LS_divide_Q16_FIX( @@ -75,7 +75,7 @@ void SKP_Silk_solve_LDL_FIX( SKP_int32 *x_Q16 /* O Pointer to x solution vector */ ) { - SKP_int32 L_Q16[ MAX_MATRIX_SIZE * MAX_MATRIX_SIZE ]; + SKP_int32 L_Q16[ MAX_MATRIX_SIZE * MAX_MATRIX_SIZE ]; SKP_int32 Y[ MAX_MATRIX_SIZE ]; inv_D_t inv_D[ MAX_MATRIX_SIZE ]; @@ -86,7 +86,7 @@ void SKP_Silk_solve_LDL_FIX( where L is lower triangular with ones on diagonal ****************************************************/ SKP_Silk_LDL_factorize_FIX( A, M, L_Q16, inv_D ); - + /**************************************************** * substitute D*L'*x = Y. ie: L*D*L'*x = b => L*Y = b <=> Y = inv(L)*b @@ -94,7 +94,7 @@ void SKP_Silk_solve_LDL_FIX( SKP_Silk_LS_SolveFirst_FIX( L_Q16, M, b, Y ); /**************************************************** - D*L'*x = Y <=> L'*x = inv(D)*Y, because D is + D*L'*x = Y <=> L'*x = inv(D)*Y, because D is diagonal just multiply with 1/d_i ****************************************************/ SKP_Silk_LS_divide_Q16_FIX( Y, inv_D, M ); @@ -143,7 +143,7 @@ SKP_INLINE void SKP_Silk_LDL_factorize_FIX( break; } D_Q0[ j ] = tmp_32; /* always < max(Correlation) */ - + /* two-step division */ one_div_diag_Q36 = SKP_INVERSE32_varQ( tmp_32, 36 ); /* Q36 */ one_div_diag_Q40 = SKP_LSHIFT( one_div_diag_Q36, 4 ); /* Q40 */ @@ -157,7 +157,7 @@ SKP_INLINE void SKP_Silk_LDL_factorize_FIX( matrix_ptr( L_Q16, j, j, M ) = 65536; /* 1.0 in Q16 */ ptr1 = matrix_adr( A, j, 0, M ); ptr2 = matrix_adr( L_Q16, j + 1, 0, M ); - for( i = j + 1; i < M; i++ ) { + for( i = j + 1; i < M; i++ ) { tmp_32 = 0; for( k = 0; k < j; k++ ) { tmp_32 = SKP_SMLAWW( tmp_32, v_Q0[ k ], ptr2[ k ] ); /* Q0 */ @@ -169,7 +169,7 @@ SKP_INLINE void SKP_Silk_LDL_factorize_FIX( SKP_RSHIFT( SKP_SMULWW( tmp_32, one_div_diag_Q36 ), 4 ) ); /* go to next column */ - ptr2 += M; + ptr2 += M; } } } @@ -201,7 +201,7 @@ SKP_INLINE void SKP_Silk_LS_SolveFirst_FIX( const SKP_int32 *L_Q16, /* I Pointer to Lower Triangular Matrix */ SKP_int M, /* I Dim of Matrix equation */ const SKP_int32 *b, /* I b Vector */ - SKP_int32 *x_Q16 /* O x Vector */ + SKP_int32 *x_Q16 /* O x Vector */ ) { SKP_int i, j; @@ -223,7 +223,7 @@ SKP_INLINE void SKP_Silk_LS_SolveLast_FIX( const SKP_int32 *L_Q16, /* I Pointer to Lower Triangular Matrix */ const SKP_int M, /* I Dim of Matrix equation */ const SKP_int32 *b, /* I b Vector */ - SKP_int32 *x_Q16 /* O x Vector */ + SKP_int32 *x_Q16 /* O x Vector */ ) { SKP_int i, j; diff --git a/libs/silk/src/SKP_Silk_sort.c b/libs/silk/src/SKP_Silk_sort.c index 3bfeed16c5..d4dde6ef1c 100644 --- a/libs/silk/src/SKP_Silk_sort.c +++ b/libs/silk/src/SKP_Silk_sort.c @@ -1,27 +1,27 @@ /*********************************************************************** -Copyright (c) 2006-2011, Skype Limited. All rights reserved. -Redistribution and use in source and binary forms, with or without -modification, (subject to the limitations in the disclaimer below) +Copyright (c) 2006-2011, Skype Limited. All rights reserved. +Redistribution and use in source and binary forms, with or without +modification, (subject to the limitations in the disclaimer below) are permitted provided that the following conditions are met: - Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. -- Redistributions in binary form must reproduce the above copyright -notice, this list of conditions and the following disclaimer in the +- Redistributions in binary form must reproduce the above copyright +notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. -- Neither the name of Skype Limited, nor the names of specific -contributors, may be used to endorse or promote products derived from +- Neither the name of Skype Limited, nor the names of specific +contributors, may be used to endorse or promote products derived from this software without specific prior written permission. -NO EXPRESS OR IMPLIED LICENSES TO ANY PARTY'S PATENT RIGHTS ARE GRANTED -BY THIS LICENSE. THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND +NO EXPRESS OR IMPLIED LICENSES TO ANY PARTY'S PATENT RIGHTS ARE GRANTED +BY THIS LICENSE. THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS ''AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, -BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND -FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE -COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND +FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT -NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF -USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON -ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF +USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON +ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ***********************************************************************/ @@ -102,7 +102,7 @@ void SKP_Silk_insertion_sort_decreasing_int16( /* Sort vector elements by value, decreasing order */ for( i = 1; i < K; i++ ) { value = a[ i ]; - for( j = i - 1; ( j >= 0 ) && ( value > a[ j ] ); j-- ) { + for( j = i - 1; ( j >= 0 ) && ( value > a[ j ] ); j-- ) { a[ j + 1 ] = a[ j ]; /* Shift value */ index[ j + 1 ] = index[ j ]; /* Shift index */ } @@ -115,7 +115,7 @@ void SKP_Silk_insertion_sort_decreasing_int16( for( i = K; i < L; i++ ) { value = a[ i ]; if( value > a[ K - 1 ] ) { - for( j = K - 2; ( j >= 0 ) && ( value > a[ j ] ); j-- ) { + for( j = K - 2; ( j >= 0 ) && ( value > a[ j ] ); j-- ) { a[ j + 1 ] = a[ j ]; /* Shift value */ index[ j + 1 ] = index[ j ]; /* Shift index */ } @@ -145,4 +145,3 @@ void SKP_Silk_insertion_sort_increasing_all_values( a[ j + 1 ] = value; /* Write value */ } } - diff --git a/libs/silk/src/SKP_Silk_structs.h b/libs/silk/src/SKP_Silk_structs.h index c81196e033..3b3b0d394b 100644 --- a/libs/silk/src/SKP_Silk_structs.h +++ b/libs/silk/src/SKP_Silk_structs.h @@ -1,27 +1,27 @@ /*********************************************************************** -Copyright (c) 2006-2011, Skype Limited. All rights reserved. -Redistribution and use in source and binary forms, with or without -modification, (subject to the limitations in the disclaimer below) +Copyright (c) 2006-2011, Skype Limited. All rights reserved. +Redistribution and use in source and binary forms, with or without +modification, (subject to the limitations in the disclaimer below) are permitted provided that the following conditions are met: - Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. -- Redistributions in binary form must reproduce the above copyright -notice, this list of conditions and the following disclaimer in the +- Redistributions in binary form must reproduce the above copyright +notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. -- Neither the name of Skype Limited, nor the names of specific -contributors, may be used to endorse or promote products derived from +- Neither the name of Skype Limited, nor the names of specific +contributors, may be used to endorse or promote products derived from this software without specific prior written permission. -NO EXPRESS OR IMPLIED LICENSES TO ANY PARTY'S PATENT RIGHTS ARE GRANTED -BY THIS LICENSE. THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND +NO EXPRESS OR IMPLIED LICENSES TO ANY PARTY'S PATENT RIGHTS ARE GRANTED +BY THIS LICENSE. THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS ''AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, -BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND -FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE -COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND +FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT -NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF -USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON -ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF +USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON +ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ***********************************************************************/ @@ -57,7 +57,7 @@ typedef struct { /* Struct for Low BitRate Redundant (LBRR) information */ typedef struct { - SKP_uint8 payload[ MAX_ARITHM_BYTES ]; + SKP_uint8 payload[ MAX_ARITHM_BYTES ]; SKP_int nBytes; /* Number of bytes in payload */ SKP_int usage; /* Tells how the payload should be used as FEC */ } SKP_SILK_LBRR_struct; @@ -187,7 +187,7 @@ typedef struct { const SKP_Silk_NLSF_CB_struct *psNLSF_CB[ 2 ]; /* Pointers to voiced/unvoiced NLSF codebooks */ - /* Struct for Inband LBRR */ + /* Struct for Inband LBRR */ SKP_SILK_LBRR_struct LBRR_buffer[ MAX_LBRR_DELAY ]; SKP_int oldest_LBRR_idx; SKP_int useInBandFEC; /* Saves the API setting for query */ @@ -307,7 +307,7 @@ typedef struct { /* Parameters used to investigate if inband FEC is used */ SKP_int vadFlag; SKP_int no_FEC_counter; /* Counts number of frames wo inband FEC */ - SKP_int inband_FEC_offset; /* 0: no FEC, 1: FEC with 1 packet offset, 2: FEC w 2 packets offset */ + SKP_int inband_FEC_offset; /* 0: no FEC, 1: FEC with 1 packet offset, 2: FEC w 2 packets offset */ /* CNG state */ SKP_Silk_CNG_struct sCNG; diff --git a/libs/silk/src/SKP_Silk_structs_FIX.h b/libs/silk/src/SKP_Silk_structs_FIX.h index 8140dc8eb4..09dcdc5055 100644 --- a/libs/silk/src/SKP_Silk_structs_FIX.h +++ b/libs/silk/src/SKP_Silk_structs_FIX.h @@ -1,27 +1,27 @@ /*********************************************************************** -Copyright (c) 2006-2011, Skype Limited. All rights reserved. -Redistribution and use in source and binary forms, with or without -modification, (subject to the limitations in the disclaimer below) +Copyright (c) 2006-2011, Skype Limited. All rights reserved. +Redistribution and use in source and binary forms, with or without +modification, (subject to the limitations in the disclaimer below) are permitted provided that the following conditions are met: - Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. -- Redistributions in binary form must reproduce the above copyright -notice, this list of conditions and the following disclaimer in the +- Redistributions in binary form must reproduce the above copyright +notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. -- Neither the name of Skype Limited, nor the names of specific -contributors, may be used to endorse or promote products derived from +- Neither the name of Skype Limited, nor the names of specific +contributors, may be used to endorse or promote products derived from this software without specific prior written permission. -NO EXPRESS OR IMPLIED LICENSES TO ANY PARTY'S PATENT RIGHTS ARE GRANTED -BY THIS LICENSE. THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND +NO EXPRESS OR IMPLIED LICENSES TO ANY PARTY'S PATENT RIGHTS ARE GRANTED +BY THIS LICENSE. THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS ''AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, -BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND -FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE -COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND +FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT -NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF -USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON -ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF +USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON +ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ***********************************************************************/ @@ -142,7 +142,7 @@ typedef struct { SKP_int input_tilt_Q15; SKP_int32 ResNrg[ NB_SUBFR ]; /* Residual energy per subframe */ SKP_int ResNrgQ[ NB_SUBFR ]; /* Q domain for the residual energy > 0 */ - + } SKP_Silk_encoder_control_FIX; diff --git a/libs/silk/src/SKP_Silk_sum_sqr_shift.c b/libs/silk/src/SKP_Silk_sum_sqr_shift.c index f918d3df51..129f705c94 100644 --- a/libs/silk/src/SKP_Silk_sum_sqr_shift.c +++ b/libs/silk/src/SKP_Silk_sum_sqr_shift.c @@ -1,27 +1,27 @@ /*********************************************************************** -Copyright (c) 2006-2011, Skype Limited. All rights reserved. -Redistribution and use in source and binary forms, with or without -modification, (subject to the limitations in the disclaimer below) +Copyright (c) 2006-2011, Skype Limited. All rights reserved. +Redistribution and use in source and binary forms, with or without +modification, (subject to the limitations in the disclaimer below) are permitted provided that the following conditions are met: - Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. -- Redistributions in binary form must reproduce the above copyright -notice, this list of conditions and the following disclaimer in the +- Redistributions in binary form must reproduce the above copyright +notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. -- Neither the name of Skype Limited, nor the names of specific -contributors, may be used to endorse or promote products derived from +- Neither the name of Skype Limited, nor the names of specific +contributors, may be used to endorse or promote products derived from this software without specific prior written permission. -NO EXPRESS OR IMPLIED LICENSES TO ANY PARTY'S PATENT RIGHTS ARE GRANTED -BY THIS LICENSE. THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND +NO EXPRESS OR IMPLIED LICENSES TO ANY PARTY'S PATENT RIGHTS ARE GRANTED +BY THIS LICENSE. THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS ''AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, -BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND -FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE -COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND +FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT -NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF -USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON -ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF +USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON +ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ***********************************************************************/ @@ -97,4 +97,3 @@ void SKP_Silk_sum_sqr_shift( *shift = shft; *energy = nrg; } - diff --git a/libs/silk/src/SKP_Silk_tables.h b/libs/silk/src/SKP_Silk_tables.h index 956221eaf3..46abc640f8 100644 --- a/libs/silk/src/SKP_Silk_tables.h +++ b/libs/silk/src/SKP_Silk_tables.h @@ -1,27 +1,27 @@ /*********************************************************************** -Copyright (c) 2006-2011, Skype Limited. All rights reserved. -Redistribution and use in source and binary forms, with or without -modification, (subject to the limitations in the disclaimer below) +Copyright (c) 2006-2011, Skype Limited. All rights reserved. +Redistribution and use in source and binary forms, with or without +modification, (subject to the limitations in the disclaimer below) are permitted provided that the following conditions are met: - Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. -- Redistributions in binary form must reproduce the above copyright -notice, this list of conditions and the following disclaimer in the +- Redistributions in binary form must reproduce the above copyright +notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. -- Neither the name of Skype Limited, nor the names of specific -contributors, may be used to endorse or promote products derived from +- Neither the name of Skype Limited, nor the names of specific +contributors, may be used to endorse or promote products derived from this software without specific prior written permission. -NO EXPRESS OR IMPLIED LICENSES TO ANY PARTY'S PATENT RIGHTS ARE GRANTED -BY THIS LICENSE. THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND +NO EXPRESS OR IMPLIED LICENSES TO ANY PARTY'S PATENT RIGHTS ARE GRANTED +BY THIS LICENSE. THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS ''AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, -BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND -FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE -COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND +FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT -NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF -USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON -ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF +USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON +ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ***********************************************************************/ diff --git a/libs/silk/src/SKP_Silk_tables_LTP.c b/libs/silk/src/SKP_Silk_tables_LTP.c index f4db5cf397..fefef03034 100644 --- a/libs/silk/src/SKP_Silk_tables_LTP.c +++ b/libs/silk/src/SKP_Silk_tables_LTP.c @@ -1,27 +1,27 @@ /*********************************************************************** -Copyright (c) 2006-2011, Skype Limited. All rights reserved. -Redistribution and use in source and binary forms, with or without -modification, (subject to the limitations in the disclaimer below) +Copyright (c) 2006-2011, Skype Limited. All rights reserved. +Redistribution and use in source and binary forms, with or without +modification, (subject to the limitations in the disclaimer below) are permitted provided that the following conditions are met: - Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. -- Redistributions in binary form must reproduce the above copyright -notice, this list of conditions and the following disclaimer in the +- Redistributions in binary form must reproduce the above copyright +notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. -- Neither the name of Skype Limited, nor the names of specific -contributors, may be used to endorse or promote products derived from +- Neither the name of Skype Limited, nor the names of specific +contributors, may be used to endorse or promote products derived from this software without specific prior written permission. -NO EXPRESS OR IMPLIED LICENSES TO ANY PARTY'S PATENT RIGHTS ARE GRANTED -BY THIS LICENSE. THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND +NO EXPRESS OR IMPLIED LICENSES TO ANY PARTY'S PATENT RIGHTS ARE GRANTED +BY THIS LICENSE. THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS ''AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, -BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND -FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE -COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND +FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT -NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF -USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON -ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF +USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON +ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ***********************************************************************/ @@ -91,7 +91,7 @@ const SKP_int16 * const SKP_Silk_LTP_gain_BITS_Q6_ptrs[ NB_LTP_CBKS ] = { SKP_Silk_LTP_gain_BITS_Q6_2 }; -const SKP_int16 SKP_Silk_LTP_gain_vq_0_Q14[ 10 ][ 5 ] = +const SKP_int16 SKP_Silk_LTP_gain_vq_0_Q14[ 10 ][ 5 ] = { { 594, 984, 2840, 1021, 669 @@ -125,7 +125,7 @@ const SKP_int16 SKP_Silk_LTP_gain_vq_0_Q14[ 10 ][ 5 ] = } }; -const SKP_int16 SKP_Silk_LTP_gain_vq_1_Q14[ 20 ][ 5 ] = +const SKP_int16 SKP_Silk_LTP_gain_vq_1_Q14[ 20 ][ 5 ] = { { 1655, 2918, 5001, 3010, 1775 @@ -189,7 +189,7 @@ const SKP_int16 SKP_Silk_LTP_gain_vq_1_Q14[ 20 ][ 5 ] = } }; -const SKP_int16 SKP_Silk_LTP_gain_vq_2_Q14[ 40 ][ 5 ] = +const SKP_int16 SKP_Silk_LTP_gain_vq_2_Q14[ 40 ][ 5 ] = { { -278, 415, 9345, 7106, -431 @@ -318,7 +318,7 @@ const SKP_int16 * const SKP_Silk_LTP_vq_ptrs_Q14[ NB_LTP_CBKS ] = { &SKP_Silk_LTP_gain_vq_1_Q14[ 0 ][ 0 ], &SKP_Silk_LTP_gain_vq_2_Q14[ 0 ][ 0 ] }; - + const SKP_int SKP_Silk_LTP_vq_sizes[ NB_LTP_CBKS ] = { - 10, 20, 40 + 10, 20, 40 }; diff --git a/libs/silk/src/SKP_Silk_tables_NLSF_CB0_10.c b/libs/silk/src/SKP_Silk_tables_NLSF_CB0_10.c index 79db311e49..c3caca3aaf 100644 --- a/libs/silk/src/SKP_Silk_tables_NLSF_CB0_10.c +++ b/libs/silk/src/SKP_Silk_tables_NLSF_CB0_10.c @@ -1,27 +1,27 @@ /*********************************************************************** -Copyright (c) 2006-2011, Skype Limited. All rights reserved. -Redistribution and use in source and binary forms, with or without -modification, (subject to the limitations in the disclaimer below) +Copyright (c) 2006-2011, Skype Limited. All rights reserved. +Redistribution and use in source and binary forms, with or without +modification, (subject to the limitations in the disclaimer below) are permitted provided that the following conditions are met: - Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. -- Redistributions in binary form must reproduce the above copyright -notice, this list of conditions and the following disclaimer in the +- Redistributions in binary form must reproduce the above copyright +notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. -- Neither the name of Skype Limited, nor the names of specific -contributors, may be used to endorse or promote products derived from +- Neither the name of Skype Limited, nor the names of specific +contributors, may be used to endorse or promote products derived from this software without specific prior written permission. -NO EXPRESS OR IMPLIED LICENSES TO ANY PARTY'S PATENT RIGHTS ARE GRANTED -BY THIS LICENSE. THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND +NO EXPRESS OR IMPLIED LICENSES TO ANY PARTY'S PATENT RIGHTS ARE GRANTED +BY THIS LICENSE. THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS ''AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, -BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND -FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE -COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND +FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT -NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF -USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON -ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF +USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON +ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ***********************************************************************/ @@ -887,4 +887,3 @@ const SKP_Silk_NLSF_CB_struct SKP_Silk_NLSF_CB0_10 = SKP_Silk_NLSF_MSVQ_CB0_10_CDF_start_ptr, SKP_Silk_NLSF_MSVQ_CB0_10_CDF_middle_idx }; - diff --git a/libs/silk/src/SKP_Silk_tables_NLSF_CB0_10.h b/libs/silk/src/SKP_Silk_tables_NLSF_CB0_10.h index f2b51b2e2e..8455e33bec 100644 --- a/libs/silk/src/SKP_Silk_tables_NLSF_CB0_10.h +++ b/libs/silk/src/SKP_Silk_tables_NLSF_CB0_10.h @@ -1,27 +1,27 @@ /*********************************************************************** -Copyright (c) 2006-2011, Skype Limited. All rights reserved. -Redistribution and use in source and binary forms, with or without -modification, (subject to the limitations in the disclaimer below) +Copyright (c) 2006-2011, Skype Limited. All rights reserved. +Redistribution and use in source and binary forms, with or without +modification, (subject to the limitations in the disclaimer below) are permitted provided that the following conditions are met: - Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. -- Redistributions in binary form must reproduce the above copyright -notice, this list of conditions and the following disclaimer in the +- Redistributions in binary form must reproduce the above copyright +notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. -- Neither the name of Skype Limited, nor the names of specific -contributors, may be used to endorse or promote products derived from +- Neither the name of Skype Limited, nor the names of specific +contributors, may be used to endorse or promote products derived from this software without specific prior written permission. -NO EXPRESS OR IMPLIED LICENSES TO ANY PARTY'S PATENT RIGHTS ARE GRANTED -BY THIS LICENSE. THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND +NO EXPRESS OR IMPLIED LICENSES TO ANY PARTY'S PATENT RIGHTS ARE GRANTED +BY THIS LICENSE. THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS ''AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, -BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND -FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE -COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND +FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT -NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF -USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON -ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF +USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON +ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ***********************************************************************/ @@ -48,4 +48,3 @@ extern const SKP_int SKP_Silk_NLSF_MSVQ_CB0_10_CDF_middle_idx[ #endif #endif - diff --git a/libs/silk/src/SKP_Silk_tables_NLSF_CB0_16.c b/libs/silk/src/SKP_Silk_tables_NLSF_CB0_16.c index 1825d71563..d7423719e3 100644 --- a/libs/silk/src/SKP_Silk_tables_NLSF_CB0_16.c +++ b/libs/silk/src/SKP_Silk_tables_NLSF_CB0_16.c @@ -1,27 +1,27 @@ /*********************************************************************** -Copyright (c) 2006-2011, Skype Limited. All rights reserved. -Redistribution and use in source and binary forms, with or without -modification, (subject to the limitations in the disclaimer below) +Copyright (c) 2006-2011, Skype Limited. All rights reserved. +Redistribution and use in source and binary forms, with or without +modification, (subject to the limitations in the disclaimer below) are permitted provided that the following conditions are met: - Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. -- Redistributions in binary form must reproduce the above copyright -notice, this list of conditions and the following disclaimer in the +- Redistributions in binary form must reproduce the above copyright +notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. -- Neither the name of Skype Limited, nor the names of specific -contributors, may be used to endorse or promote products derived from +- Neither the name of Skype Limited, nor the names of specific +contributors, may be used to endorse or promote products derived from this software without specific prior written permission. -NO EXPRESS OR IMPLIED LICENSES TO ANY PARTY'S PATENT RIGHTS ARE GRANTED -BY THIS LICENSE. THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND +NO EXPRESS OR IMPLIED LICENSES TO ANY PARTY'S PATENT RIGHTS ARE GRANTED +BY THIS LICENSE. THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS ''AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, -BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND -FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE -COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND +FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT -NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF -USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON -ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF +USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON +ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ***********************************************************************/ @@ -1317,4 +1317,3 @@ const SKP_Silk_NLSF_CB_struct SKP_Silk_NLSF_CB0_16 = SKP_Silk_NLSF_MSVQ_CB0_16_CDF_start_ptr, SKP_Silk_NLSF_MSVQ_CB0_16_CDF_middle_idx }; - diff --git a/libs/silk/src/SKP_Silk_tables_NLSF_CB0_16.h b/libs/silk/src/SKP_Silk_tables_NLSF_CB0_16.h index 180c461490..a4114e0982 100644 --- a/libs/silk/src/SKP_Silk_tables_NLSF_CB0_16.h +++ b/libs/silk/src/SKP_Silk_tables_NLSF_CB0_16.h @@ -1,27 +1,27 @@ /*********************************************************************** -Copyright (c) 2006-2011, Skype Limited. All rights reserved. -Redistribution and use in source and binary forms, with or without -modification, (subject to the limitations in the disclaimer below) +Copyright (c) 2006-2011, Skype Limited. All rights reserved. +Redistribution and use in source and binary forms, with or without +modification, (subject to the limitations in the disclaimer below) are permitted provided that the following conditions are met: - Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. -- Redistributions in binary form must reproduce the above copyright -notice, this list of conditions and the following disclaimer in the +- Redistributions in binary form must reproduce the above copyright +notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. -- Neither the name of Skype Limited, nor the names of specific -contributors, may be used to endorse or promote products derived from +- Neither the name of Skype Limited, nor the names of specific +contributors, may be used to endorse or promote products derived from this software without specific prior written permission. -NO EXPRESS OR IMPLIED LICENSES TO ANY PARTY'S PATENT RIGHTS ARE GRANTED -BY THIS LICENSE. THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND +NO EXPRESS OR IMPLIED LICENSES TO ANY PARTY'S PATENT RIGHTS ARE GRANTED +BY THIS LICENSE. THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS ''AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, -BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND -FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE -COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND +FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT -NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF -USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON -ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF +USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON +ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ***********************************************************************/ @@ -48,4 +48,3 @@ extern const SKP_int SKP_Silk_NLSF_MSVQ_CB0_16_CDF_middle_idx[ #endif #endif - diff --git a/libs/silk/src/SKP_Silk_tables_NLSF_CB1_10.c b/libs/silk/src/SKP_Silk_tables_NLSF_CB1_10.c index 5d897e0b05..dc84073eee 100644 --- a/libs/silk/src/SKP_Silk_tables_NLSF_CB1_10.c +++ b/libs/silk/src/SKP_Silk_tables_NLSF_CB1_10.c @@ -1,27 +1,27 @@ /*********************************************************************** -Copyright (c) 2006-2011, Skype Limited. All rights reserved. -Redistribution and use in source and binary forms, with or without -modification, (subject to the limitations in the disclaimer below) +Copyright (c) 2006-2011, Skype Limited. All rights reserved. +Redistribution and use in source and binary forms, with or without +modification, (subject to the limitations in the disclaimer below) are permitted provided that the following conditions are met: - Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. -- Redistributions in binary form must reproduce the above copyright -notice, this list of conditions and the following disclaimer in the +- Redistributions in binary form must reproduce the above copyright +notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. -- Neither the name of Skype Limited, nor the names of specific -contributors, may be used to endorse or promote products derived from +- Neither the name of Skype Limited, nor the names of specific +contributors, may be used to endorse or promote products derived from this software without specific prior written permission. -NO EXPRESS OR IMPLIED LICENSES TO ANY PARTY'S PATENT RIGHTS ARE GRANTED -BY THIS LICENSE. THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND +NO EXPRESS OR IMPLIED LICENSES TO ANY PARTY'S PATENT RIGHTS ARE GRANTED +BY THIS LICENSE. THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS ''AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, -BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND -FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE -COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND +FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT -NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF -USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON -ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF +USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON +ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ***********************************************************************/ @@ -575,4 +575,3 @@ const SKP_Silk_NLSF_CB_struct SKP_Silk_NLSF_CB1_10 = SKP_Silk_NLSF_MSVQ_CB1_10_CDF_start_ptr, SKP_Silk_NLSF_MSVQ_CB1_10_CDF_middle_idx }; - diff --git a/libs/silk/src/SKP_Silk_tables_NLSF_CB1_10.h b/libs/silk/src/SKP_Silk_tables_NLSF_CB1_10.h index b70e3e3c64..c46968b491 100644 --- a/libs/silk/src/SKP_Silk_tables_NLSF_CB1_10.h +++ b/libs/silk/src/SKP_Silk_tables_NLSF_CB1_10.h @@ -1,27 +1,27 @@ /*********************************************************************** -Copyright (c) 2006-2011, Skype Limited. All rights reserved. -Redistribution and use in source and binary forms, with or without -modification, (subject to the limitations in the disclaimer below) +Copyright (c) 2006-2011, Skype Limited. All rights reserved. +Redistribution and use in source and binary forms, with or without +modification, (subject to the limitations in the disclaimer below) are permitted provided that the following conditions are met: - Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. -- Redistributions in binary form must reproduce the above copyright -notice, this list of conditions and the following disclaimer in the +- Redistributions in binary form must reproduce the above copyright +notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. -- Neither the name of Skype Limited, nor the names of specific -contributors, may be used to endorse or promote products derived from +- Neither the name of Skype Limited, nor the names of specific +contributors, may be used to endorse or promote products derived from this software without specific prior written permission. -NO EXPRESS OR IMPLIED LICENSES TO ANY PARTY'S PATENT RIGHTS ARE GRANTED -BY THIS LICENSE. THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND +NO EXPRESS OR IMPLIED LICENSES TO ANY PARTY'S PATENT RIGHTS ARE GRANTED +BY THIS LICENSE. THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS ''AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, -BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND -FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE -COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND +FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT -NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF -USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON -ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF +USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON +ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ***********************************************************************/ @@ -48,4 +48,3 @@ extern const SKP_int SKP_Silk_NLSF_MSVQ_CB1_10_CDF_middle_idx[ #endif #endif - diff --git a/libs/silk/src/SKP_Silk_tables_NLSF_CB1_16.c b/libs/silk/src/SKP_Silk_tables_NLSF_CB1_16.c index 5db144f4b6..413c1879b4 100644 --- a/libs/silk/src/SKP_Silk_tables_NLSF_CB1_16.c +++ b/libs/silk/src/SKP_Silk_tables_NLSF_CB1_16.c @@ -1,27 +1,27 @@ /*********************************************************************** -Copyright (c) 2006-2011, Skype Limited. All rights reserved. -Redistribution and use in source and binary forms, with or without -modification, (subject to the limitations in the disclaimer below) +Copyright (c) 2006-2011, Skype Limited. All rights reserved. +Redistribution and use in source and binary forms, with or without +modification, (subject to the limitations in the disclaimer below) are permitted provided that the following conditions are met: - Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. -- Redistributions in binary form must reproduce the above copyright -notice, this list of conditions and the following disclaimer in the +- Redistributions in binary form must reproduce the above copyright +notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. -- Neither the name of Skype Limited, nor the names of specific -contributors, may be used to endorse or promote products derived from +- Neither the name of Skype Limited, nor the names of specific +contributors, may be used to endorse or promote products derived from this software without specific prior written permission. -NO EXPRESS OR IMPLIED LICENSES TO ANY PARTY'S PATENT RIGHTS ARE GRANTED -BY THIS LICENSE. THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND +NO EXPRESS OR IMPLIED LICENSES TO ANY PARTY'S PATENT RIGHTS ARE GRANTED +BY THIS LICENSE. THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS ''AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, -BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND -FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE -COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND +FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT -NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF -USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON -ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF +USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON +ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ***********************************************************************/ @@ -701,4 +701,3 @@ const SKP_Silk_NLSF_CB_struct SKP_Silk_NLSF_CB1_16 = SKP_Silk_NLSF_MSVQ_CB1_16_CDF_start_ptr, SKP_Silk_NLSF_MSVQ_CB1_16_CDF_middle_idx }; - diff --git a/libs/silk/src/SKP_Silk_tables_NLSF_CB1_16.h b/libs/silk/src/SKP_Silk_tables_NLSF_CB1_16.h index 3187be4b61..31efe0b42a 100644 --- a/libs/silk/src/SKP_Silk_tables_NLSF_CB1_16.h +++ b/libs/silk/src/SKP_Silk_tables_NLSF_CB1_16.h @@ -1,27 +1,27 @@ /*********************************************************************** -Copyright (c) 2006-2011, Skype Limited. All rights reserved. -Redistribution and use in source and binary forms, with or without -modification, (subject to the limitations in the disclaimer below) +Copyright (c) 2006-2011, Skype Limited. All rights reserved. +Redistribution and use in source and binary forms, with or without +modification, (subject to the limitations in the disclaimer below) are permitted provided that the following conditions are met: - Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. -- Redistributions in binary form must reproduce the above copyright -notice, this list of conditions and the following disclaimer in the +- Redistributions in binary form must reproduce the above copyright +notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. -- Neither the name of Skype Limited, nor the names of specific -contributors, may be used to endorse or promote products derived from +- Neither the name of Skype Limited, nor the names of specific +contributors, may be used to endorse or promote products derived from this software without specific prior written permission. -NO EXPRESS OR IMPLIED LICENSES TO ANY PARTY'S PATENT RIGHTS ARE GRANTED -BY THIS LICENSE. THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND +NO EXPRESS OR IMPLIED LICENSES TO ANY PARTY'S PATENT RIGHTS ARE GRANTED +BY THIS LICENSE. THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS ''AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, -BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND -FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE -COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND +FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT -NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF -USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON -ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF +USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON +ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ***********************************************************************/ @@ -48,4 +48,3 @@ extern const SKP_int SKP_Silk_NLSF_MSVQ_CB1_16_CDF_middle_idx[ #endif #endif - diff --git a/libs/silk/src/SKP_Silk_tables_gain.c b/libs/silk/src/SKP_Silk_tables_gain.c index 74128fd04c..37cbb348b4 100644 --- a/libs/silk/src/SKP_Silk_tables_gain.c +++ b/libs/silk/src/SKP_Silk_tables_gain.c @@ -1,27 +1,27 @@ /*********************************************************************** -Copyright (c) 2006-2011, Skype Limited. All rights reserved. -Redistribution and use in source and binary forms, with or without -modification, (subject to the limitations in the disclaimer below) +Copyright (c) 2006-2011, Skype Limited. All rights reserved. +Redistribution and use in source and binary forms, with or without +modification, (subject to the limitations in the disclaimer below) are permitted provided that the following conditions are met: - Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. -- Redistributions in binary form must reproduce the above copyright -notice, this list of conditions and the following disclaimer in the +- Redistributions in binary form must reproduce the above copyright +notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. -- Neither the name of Skype Limited, nor the names of specific -contributors, may be used to endorse or promote products derived from +- Neither the name of Skype Limited, nor the names of specific +contributors, may be used to endorse or promote products derived from this software without specific prior written permission. -NO EXPRESS OR IMPLIED LICENSES TO ANY PARTY'S PATENT RIGHTS ARE GRANTED -BY THIS LICENSE. THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND +NO EXPRESS OR IMPLIED LICENSES TO ANY PARTY'S PATENT RIGHTS ARE GRANTED +BY THIS LICENSE. THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS ''AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, -BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND -FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE -COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND +FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT -NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF -USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON -ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF +USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON +ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ***********************************************************************/ @@ -32,7 +32,7 @@ extern "C" { #endif -const SKP_uint16 SKP_Silk_gain_CDF[ 2 ][ 65 ] = +const SKP_uint16 SKP_Silk_gain_CDF[ 2 ][ 65 ] = { { 0, 18, 45, 94, 181, 320, 519, 777, diff --git a/libs/silk/src/SKP_Silk_tables_other.c b/libs/silk/src/SKP_Silk_tables_other.c index 057782120a..a386416576 100644 --- a/libs/silk/src/SKP_Silk_tables_other.c +++ b/libs/silk/src/SKP_Silk_tables_other.c @@ -1,27 +1,27 @@ /*********************************************************************** -Copyright (c) 2006-2011, Skype Limited. All rights reserved. -Redistribution and use in source and binary forms, with or without -modification, (subject to the limitations in the disclaimer below) +Copyright (c) 2006-2011, Skype Limited. All rights reserved. +Redistribution and use in source and binary forms, with or without +modification, (subject to the limitations in the disclaimer below) are permitted provided that the following conditions are met: - Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. -- Redistributions in binary form must reproduce the above copyright -notice, this list of conditions and the following disclaimer in the +- Redistributions in binary form must reproduce the above copyright +notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. -- Neither the name of Skype Limited, nor the names of specific -contributors, may be used to endorse or promote products derived from +- Neither the name of Skype Limited, nor the names of specific +contributors, may be used to endorse or promote products derived from this software without specific prior written permission. -NO EXPRESS OR IMPLIED LICENSES TO ANY PARTY'S PATENT RIGHTS ARE GRANTED -BY THIS LICENSE. THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND +NO EXPRESS OR IMPLIED LICENSES TO ANY PARTY'S PATENT RIGHTS ARE GRANTED +BY THIS LICENSE. THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS ''AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, -BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND -FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE -COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND +FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT -NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF -USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON -ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF +USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON +ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ***********************************************************************/ @@ -57,7 +57,7 @@ const SKP_int32 SNR_table_one_bit_per_sample_Q7[ 4 ] = { /* Filter coeficicnts for HP filter: 4. Order filter implementad as two biquad filters */ const SKP_int16 SKP_Silk_SWB_detect_B_HP_Q13[ NB_SOS ][ 3 ] = { //{400, -550, 400}, {400, 130, 400}, {400, 390, 400} - {575, -948, 575}, {575, -221, 575}, {575, 104, 575} + {575, -948, 575}, {575, -221, 575}, {575, 104, 575} }; const SKP_int16 SKP_Silk_SWB_detect_A_HP_Q13[ NB_SOS ][ 2 ] = { {14613, 6868}, {12883, 7337}, {11586, 7911} @@ -117,12 +117,12 @@ const SKP_int16 SKP_Silk_Quantization_Offsets_Q10[ 2 ][ 2 ] = { const SKP_int16 SKP_Silk_LTPScales_table_Q14[ 3 ] = { 15565, 11469, 8192 }; #if SWITCH_TRANSITION_FILTERING -/* Elliptic/Cauer filters designed with 0.1 dB passband ripple, +/* Elliptic/Cauer filters designed with 0.1 dB passband ripple, 80 dB minimum stopband attenuation, and [0.95 : 0.15 : 0.35] normalized cut off frequencies. */ /* Interpolation points for filter coefficients used in the bandwidth transition smoother */ -const SKP_int32 SKP_Silk_Transition_LP_B_Q28[ TRANSITION_INT_NUM ][ TRANSITION_NB ] = +const SKP_int32 SKP_Silk_Transition_LP_B_Q28[ TRANSITION_INT_NUM ][ TRANSITION_NB ] = { { 250767114, 501534038, 250767114 }, { 209867381, 419732057, 209867381 }, @@ -132,7 +132,7 @@ const SKP_int32 SKP_Silk_Transition_LP_B_Q28[ TRANSITION_INT_NUM ][ TRANSITION_N }; /* Interpolation points for filter coefficients used in the bandwidth transition smoother */ -const SKP_int32 SKP_Silk_Transition_LP_A_Q28[ TRANSITION_INT_NUM ][ TRANSITION_NA ] = +const SKP_int32 SKP_Silk_Transition_LP_A_Q28[ TRANSITION_INT_NUM ][ TRANSITION_NA ] = { { 506393414, 239854379 }, { 411067935, 169683996 }, @@ -145,4 +145,3 @@ const SKP_int32 SKP_Silk_Transition_LP_A_Q28[ TRANSITION_INT_NUM ][ TRANSITION_N #ifdef __cplusplus } #endif - diff --git a/libs/silk/src/SKP_Silk_tables_pitch_lag.c b/libs/silk/src/SKP_Silk_tables_pitch_lag.c index 6d08d0aa9f..b5dc298537 100644 --- a/libs/silk/src/SKP_Silk_tables_pitch_lag.c +++ b/libs/silk/src/SKP_Silk_tables_pitch_lag.c @@ -1,27 +1,27 @@ /*********************************************************************** -Copyright (c) 2006-2011, Skype Limited. All rights reserved. -Redistribution and use in source and binary forms, with or without -modification, (subject to the limitations in the disclaimer below) +Copyright (c) 2006-2011, Skype Limited. All rights reserved. +Redistribution and use in source and binary forms, with or without +modification, (subject to the limitations in the disclaimer below) are permitted provided that the following conditions are met: - Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. -- Redistributions in binary form must reproduce the above copyright -notice, this list of conditions and the following disclaimer in the +- Redistributions in binary form must reproduce the above copyright +notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. -- Neither the name of Skype Limited, nor the names of specific -contributors, may be used to endorse or promote products derived from +- Neither the name of Skype Limited, nor the names of specific +contributors, may be used to endorse or promote products derived from this software without specific prior written permission. -NO EXPRESS OR IMPLIED LICENSES TO ANY PARTY'S PATENT RIGHTS ARE GRANTED -BY THIS LICENSE. THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND +NO EXPRESS OR IMPLIED LICENSES TO ANY PARTY'S PATENT RIGHTS ARE GRANTED +BY THIS LICENSE. THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS ''AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, -BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND -FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE -COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND +FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT -NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF -USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON -ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF +USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON +ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ***********************************************************************/ diff --git a/libs/silk/src/SKP_Silk_tables_pulses_per_block.c b/libs/silk/src/SKP_Silk_tables_pulses_per_block.c index a45dc17e03..6b150458c4 100644 --- a/libs/silk/src/SKP_Silk_tables_pulses_per_block.c +++ b/libs/silk/src/SKP_Silk_tables_pulses_per_block.c @@ -1,27 +1,27 @@ /*********************************************************************** -Copyright (c) 2006-2011, Skype Limited. All rights reserved. -Redistribution and use in source and binary forms, with or without -modification, (subject to the limitations in the disclaimer below) +Copyright (c) 2006-2011, Skype Limited. All rights reserved. +Redistribution and use in source and binary forms, with or without +modification, (subject to the limitations in the disclaimer below) are permitted provided that the following conditions are met: - Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. -- Redistributions in binary form must reproduce the above copyright -notice, this list of conditions and the following disclaimer in the +- Redistributions in binary form must reproduce the above copyright +notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. -- Neither the name of Skype Limited, nor the names of specific -contributors, may be used to endorse or promote products derived from +- Neither the name of Skype Limited, nor the names of specific +contributors, may be used to endorse or promote products derived from this software without specific prior written permission. -NO EXPRESS OR IMPLIED LICENSES TO ANY PARTY'S PATENT RIGHTS ARE GRANTED -BY THIS LICENSE. THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND +NO EXPRESS OR IMPLIED LICENSES TO ANY PARTY'S PATENT RIGHTS ARE GRANTED +BY THIS LICENSE. THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS ''AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, -BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND -FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE -COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND +FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT -NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF -USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON -ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF +USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON +ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ***********************************************************************/ @@ -31,7 +31,7 @@ const SKP_int SKP_Silk_max_pulses_table[ 4 ] = { 6, 8, 12, 18 }; -const SKP_uint16 SKP_Silk_pulses_per_block_CDF[ 10 ][ 21 ] = +const SKP_uint16 SKP_Silk_pulses_per_block_CDF[ 10 ][ 21 ] = { { 0, 47113, 61501, 64590, 65125, 65277, 65352, 65407, @@ -88,7 +88,7 @@ const SKP_uint16 SKP_Silk_pulses_per_block_CDF[ 10 ][ 21 ] = const SKP_int SKP_Silk_pulses_per_block_CDF_offset = 6; -const SKP_int16 SKP_Silk_pulses_per_block_BITS_Q6[ 9 ][ 20 ] = +const SKP_int16 SKP_Silk_pulses_per_block_BITS_Q6[ 9 ][ 20 ] = { { 30, 140, 282, 444, 560, 625, 654, 677, @@ -137,7 +137,7 @@ const SKP_int16 SKP_Silk_pulses_per_block_BITS_Q6[ 9 ][ 20 ] = } }; -const SKP_uint16 SKP_Silk_rate_levels_CDF[ 2 ][ 10 ] = +const SKP_uint16 SKP_Silk_rate_levels_CDF[ 2 ][ 10 ] = { { 0, 2005, 12717, 20281, 31328, 36234, 45816, 57753, @@ -152,7 +152,7 @@ const SKP_uint16 SKP_Silk_rate_levels_CDF[ 2 ][ 10 ] = const SKP_int SKP_Silk_rate_levels_CDF_offset = 4; -const SKP_int16 SKP_Silk_rate_levels_BITS_Q6[ 2 ][ 9 ] = +const SKP_int16 SKP_Silk_rate_levels_BITS_Q6[ 2 ][ 9 ] = { { 322, 167, 199, 164, 239, 178, 157, 231, @@ -232,4 +232,3 @@ const SKP_uint16 SKP_Silk_shell_code_table_offsets[ 19 ] = { 42, 52, 63, 75, 88, 102, 117, 133, 150, 168, 187 }; - diff --git a/libs/silk/src/SKP_Silk_tables_sign.c b/libs/silk/src/SKP_Silk_tables_sign.c index 16bd5a3775..d5dba17a0a 100644 --- a/libs/silk/src/SKP_Silk_tables_sign.c +++ b/libs/silk/src/SKP_Silk_tables_sign.c @@ -1,33 +1,33 @@ /*********************************************************************** -Copyright (c) 2006-2011, Skype Limited. All rights reserved. -Redistribution and use in source and binary forms, with or without -modification, (subject to the limitations in the disclaimer below) +Copyright (c) 2006-2011, Skype Limited. All rights reserved. +Redistribution and use in source and binary forms, with or without +modification, (subject to the limitations in the disclaimer below) are permitted provided that the following conditions are met: - Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. -- Redistributions in binary form must reproduce the above copyright -notice, this list of conditions and the following disclaimer in the +- Redistributions in binary form must reproduce the above copyright +notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. -- Neither the name of Skype Limited, nor the names of specific -contributors, may be used to endorse or promote products derived from +- Neither the name of Skype Limited, nor the names of specific +contributors, may be used to endorse or promote products derived from this software without specific prior written permission. -NO EXPRESS OR IMPLIED LICENSES TO ANY PARTY'S PATENT RIGHTS ARE GRANTED -BY THIS LICENSE. THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND +NO EXPRESS OR IMPLIED LICENSES TO ANY PARTY'S PATENT RIGHTS ARE GRANTED +BY THIS LICENSE. THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS ''AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, -BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND -FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE -COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND +FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT -NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF -USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON -ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF +USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON +ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ***********************************************************************/ #include "SKP_Silk_tables.h" -const SKP_uint16 SKP_Silk_sign_CDF[ 36 ] = +const SKP_uint16 SKP_Silk_sign_CDF[ 36 ] = { 37840, 36944, 36251, 35304, 34715, 35503, 34529, 34296, @@ -39,4 +39,3 @@ const SKP_uint16 SKP_Silk_sign_CDF[ 36 ] = 55630, 51806, 48073, 45036, 48416, 43857, 42678, 41146, }; - diff --git a/libs/silk/src/SKP_Silk_tables_type_offset.c b/libs/silk/src/SKP_Silk_tables_type_offset.c index 5b3deb4bb3..19990174e8 100644 --- a/libs/silk/src/SKP_Silk_tables_type_offset.c +++ b/libs/silk/src/SKP_Silk_tables_type_offset.c @@ -1,27 +1,27 @@ /*********************************************************************** -Copyright (c) 2006-2011, Skype Limited. All rights reserved. -Redistribution and use in source and binary forms, with or without -modification, (subject to the limitations in the disclaimer below) +Copyright (c) 2006-2011, Skype Limited. All rights reserved. +Redistribution and use in source and binary forms, with or without +modification, (subject to the limitations in the disclaimer below) are permitted provided that the following conditions are met: - Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. -- Redistributions in binary form must reproduce the above copyright -notice, this list of conditions and the following disclaimer in the +- Redistributions in binary form must reproduce the above copyright +notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. -- Neither the name of Skype Limited, nor the names of specific -contributors, may be used to endorse or promote products derived from +- Neither the name of Skype Limited, nor the names of specific +contributors, may be used to endorse or promote products derived from this software without specific prior written permission. -NO EXPRESS OR IMPLIED LICENSES TO ANY PARTY'S PATENT RIGHTS ARE GRANTED -BY THIS LICENSE. THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND +NO EXPRESS OR IMPLIED LICENSES TO ANY PARTY'S PATENT RIGHTS ARE GRANTED +BY THIS LICENSE. THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS ''AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, -BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND -FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE -COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND +FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT -NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF -USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON -ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF +USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON +ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ***********************************************************************/ @@ -34,7 +34,7 @@ const SKP_uint16 SKP_Silk_type_offset_CDF[ 5 ] = { const SKP_int SKP_Silk_type_offset_CDF_offset = 2; -const SKP_uint16 SKP_Silk_type_offset_joint_CDF[ 4 ][ 5 ] = +const SKP_uint16 SKP_Silk_type_offset_joint_CDF[ 4 ][ 5 ] = { { 0, 57686, 61230, 62358, 65535 @@ -49,4 +49,3 @@ const SKP_uint16 SKP_Silk_type_offset_joint_CDF[ 4 ][ 5 ] = 0, 6067, 7215, 13010, 65535 } }; - diff --git a/libs/silk/src/SKP_Silk_tuning_parameters.h b/libs/silk/src/SKP_Silk_tuning_parameters.h index aa0cae9cf6..87def86f42 100644 --- a/libs/silk/src/SKP_Silk_tuning_parameters.h +++ b/libs/silk/src/SKP_Silk_tuning_parameters.h @@ -1,27 +1,27 @@ /*********************************************************************** -Copyright (c) 2006-2011, Skype Limited. All rights reserved. -Redistribution and use in source and binary forms, with or without -modification, (subject to the limitations in the disclaimer below) +Copyright (c) 2006-2011, Skype Limited. All rights reserved. +Redistribution and use in source and binary forms, with or without +modification, (subject to the limitations in the disclaimer below) are permitted provided that the following conditions are met: - Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. -- Redistributions in binary form must reproduce the above copyright -notice, this list of conditions and the following disclaimer in the +- Redistributions in binary form must reproduce the above copyright +notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. -- Neither the name of Skype Limited, nor the names of specific -contributors, may be used to endorse or promote products derived from +- Neither the name of Skype Limited, nor the names of specific +contributors, may be used to endorse or promote products derived from this software without specific prior written permission. -NO EXPRESS OR IMPLIED LICENSES TO ANY PARTY'S PATENT RIGHTS ARE GRANTED -BY THIS LICENSE. THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND +NO EXPRESS OR IMPLIED LICENSES TO ANY PARTY'S PATENT RIGHTS ARE GRANTED +BY THIS LICENSE. THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS ''AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, -BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND -FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE -COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND +FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT -NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF -USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON -ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF +USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON +ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ***********************************************************************/ @@ -87,12 +87,12 @@ extern "C" /***********/ /* Required speech activity for counting frame as active */ -#define WB_DETECT_ACTIVE_SPEECH_LEVEL_THRES 0.7f +#define WB_DETECT_ACTIVE_SPEECH_LEVEL_THRES 0.7f #define SPEECH_ACTIVITY_DTX_THRES 0.1f /* Speech Activity LBRR enable threshold (needs tuning) */ -#define LBRR_SPEECH_ACTIVITY_THRES 0.5f +#define LBRR_SPEECH_ACTIVITY_THRES 0.5f /*************************/ /* Perceptual parameters */ diff --git a/libs/silk/src/SKP_Silk_warped_autocorrelation_FIX.c b/libs/silk/src/SKP_Silk_warped_autocorrelation_FIX.c index 84851d23dc..4d4f2243d0 100644 --- a/libs/silk/src/SKP_Silk_warped_autocorrelation_FIX.c +++ b/libs/silk/src/SKP_Silk_warped_autocorrelation_FIX.c @@ -1,27 +1,27 @@ /*********************************************************************** -Copyright (c) 2006-2011, Skype Limited. All rights reserved. -Redistribution and use in source and binary forms, with or without -modification, (subject to the limitations in the disclaimer below) +Copyright (c) 2006-2011, Skype Limited. All rights reserved. +Redistribution and use in source and binary forms, with or without +modification, (subject to the limitations in the disclaimer below) are permitted provided that the following conditions are met: - Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. -- Redistributions in binary form must reproduce the above copyright -notice, this list of conditions and the following disclaimer in the +- Redistributions in binary form must reproduce the above copyright +notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. -- Neither the name of Skype Limited, nor the names of specific -contributors, may be used to endorse or promote products derived from +- Neither the name of Skype Limited, nor the names of specific +contributors, may be used to endorse or promote products derived from this software without specific prior written permission. -NO EXPRESS OR IMPLIED LICENSES TO ANY PARTY'S PATENT RIGHTS ARE GRANTED -BY THIS LICENSE. THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND +NO EXPRESS OR IMPLIED LICENSES TO ANY PARTY'S PATENT RIGHTS ARE GRANTED +BY THIS LICENSE. THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS ''AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, -BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND -FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE -COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND +FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT -NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF -USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON -ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF +USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON +ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ***********************************************************************/ @@ -70,7 +70,7 @@ void SKP_Silk_warped_autocorrelation_FIX( lsh = SKP_Silk_CLZ64( corr_QC[ 0 ] ) - 35; lsh = SKP_LIMIT( lsh, -12 - QC, 30 - QC ); - *scale = -( QC + lsh ); + *scale = -( QC + lsh ); SKP_assert( *scale >= -30 && *scale <= 12 ); if( lsh >= 0 ) { for( i = 0; i < order + 1; i++ ) { @@ -79,8 +79,7 @@ void SKP_Silk_warped_autocorrelation_FIX( } else { for( i = 0; i < order + 1; i++ ) { corr[ i ] = ( SKP_int32 )SKP_CHECK_FIT32( SKP_RSHIFT64( corr_QC[ i ], -lsh ) ); - } + } } SKP_assert( corr_QC[ 0 ] >= 0 ); // If breaking, decrease QC } - diff --git a/libs/silk/test/Decoder.c b/libs/silk/test/Decoder.c index 072fb77d40..c3c55f2609 100644 --- a/libs/silk/test/Decoder.c +++ b/libs/silk/test/Decoder.c @@ -1,27 +1,27 @@ /*********************************************************************** -Copyright (c) 2006-2011, Skype Limited. All rights reserved. -Redistribution and use in source and binary forms, with or without -modification, (subject to the limitations in the disclaimer below) +Copyright (c) 2006-2011, Skype Limited. All rights reserved. +Redistribution and use in source and binary forms, with or without +modification, (subject to the limitations in the disclaimer below) are permitted provided that the following conditions are met: - Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. -- Redistributions in binary form must reproduce the above copyright -notice, this list of conditions and the following disclaimer in the +- Redistributions in binary form must reproduce the above copyright +notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. -- Neither the name of Skype Limited, nor the names of specific -contributors, may be used to endorse or promote products derived from +- Neither the name of Skype Limited, nor the names of specific +contributors, may be used to endorse or promote products derived from this software without specific prior written permission. -NO EXPRESS OR IMPLIED LICENSES TO ANY PARTY'S PATENT RIGHTS ARE GRANTED -BY THIS LICENSE. THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND +NO EXPRESS OR IMPLIED LICENSES TO ANY PARTY'S PATENT RIGHTS ARE GRANTED +BY THIS LICENSE. THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS ''AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, -BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND -FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE -COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND +FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT -NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF -USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON -ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF +USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON +ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ***********************************************************************/ @@ -105,7 +105,7 @@ int main( int argc, char* argv[] ) if( argc < 3 ) { print_usage( argv ); exit( 0 ); - } + } /* default settings */ quiet = 0; @@ -146,14 +146,14 @@ int main( int argc, char* argv[] ) if( bitInFile == NULL ) { printf( "Error: could not open input file %s\n", bitInFileName ); exit( 0 ); - } + } /* Check Silk header */ { char header_buf[ 50 ]; counter = fread( header_buf, sizeof( char ), strlen( "#!SILK_V3" ), bitInFile ); header_buf[ strlen( "#!SILK_V3" ) ] = ( char )0; /* Terminate with a null character */ - if( strcmp( header_buf, "#!SILK_V3" ) != 0 ) { + if( strcmp( header_buf, "#!SILK_V3" ) != 0 ) { /* Non-equal strings */ printf( "Error: Wrong Header %s\n", header_buf ); exit( 0 ); @@ -218,7 +218,7 @@ int main( int argc, char* argv[] ) if( nBytes < 0 || counter < 1 ) { break; } - + /* Read payload */ counter = fread( payloadEnd, sizeof( SKP_uint8 ), nBytes, bitInFile ); if( ( SKP_int16 )counter < nBytes ) { @@ -282,8 +282,8 @@ int main( int argc, char* argv[] ) frames = 0; } /* Until last 20 ms frame of packet has been decoded */ - } while( DecControl.moreInternalDecoderFrames ); - } else { + } while( DecControl.moreInternalDecoderFrames ); + } else { /* Loss: Decode enough frames to cover one packet duration */ for( i = 0; i < DecControl.framesPerPacket; i++ ) { /* Generate 20 ms */ @@ -298,7 +298,7 @@ int main( int argc, char* argv[] ) totPackets++; /* Write output to file */ -#ifdef _SYSTEM_IS_BIG_ENDIAN +#ifdef _SYSTEM_IS_BIG_ENDIAN swap_endian( out, tot_len ); #endif fwrite( out, sizeof( SKP_int16 ), tot_len, speechOutFile ); @@ -368,7 +368,7 @@ int main( int argc, char* argv[] ) } /* Until last 20 ms frame of packet has been decoded */ } while( DecControl.moreInternalDecoderFrames ); - } else { + } else { /* Loss: Decode enough frames to cover one packet duration */ /* Generate 20 ms */ @@ -384,7 +384,7 @@ int main( int argc, char* argv[] ) totPackets++; /* Write output to file */ -#ifdef _SYSTEM_IS_BIG_ENDIAN +#ifdef _SYSTEM_IS_BIG_ENDIAN swap_endian( out, tot_len ); #endif fwrite( out, sizeof( SKP_int16 ), tot_len, speechOutFile ); diff --git a/libs/silk/test/Encoder.c b/libs/silk/test/Encoder.c index 97cc1ecd99..8a788dd1a7 100644 --- a/libs/silk/test/Encoder.c +++ b/libs/silk/test/Encoder.c @@ -1,27 +1,27 @@ /*********************************************************************** -Copyright (c) 2006-2011, Skype Limited. All rights reserved. -Redistribution and use in source and binary forms, with or without -modification, (subject to the limitations in the disclaimer below) +Copyright (c) 2006-2011, Skype Limited. All rights reserved. +Redistribution and use in source and binary forms, with or without +modification, (subject to the limitations in the disclaimer below) are permitted provided that the following conditions are met: - Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. -- Redistributions in binary form must reproduce the above copyright -notice, this list of conditions and the following disclaimer in the +- Redistributions in binary form must reproduce the above copyright +notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. -- Neither the name of Skype Limited, nor the names of specific -contributors, may be used to endorse or promote products derived from +- Neither the name of Skype Limited, nor the names of specific +contributors, may be used to endorse or promote products derived from this software without specific prior written permission. -NO EXPRESS OR IMPLIED LICENSES TO ANY PARTY'S PATENT RIGHTS ARE GRANTED -BY THIS LICENSE. THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND +NO EXPRESS OR IMPLIED LICENSES TO ANY PARTY'S PATENT RIGHTS ARE GRANTED +BY THIS LICENSE. THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS ''AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, -BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND -FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE -COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND +FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT -NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF -USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON -ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF +USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON +ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ***********************************************************************/ @@ -41,7 +41,7 @@ OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. #include "SKP_Silk_SDK_API.h" /* Define codec specific settings */ -#define MAX_BYTES_PER_FRAME 250 // Equals peak bitrate of 100 kbps +#define MAX_BYTES_PER_FRAME 250 // Equals peak bitrate of 100 kbps #define MAX_INPUT_FRAMES 5 #define MAX_LBRR_DELAY 2 #define MAX_FRAME_LENGTH 480 @@ -74,7 +74,7 @@ static void print_usage( char* argv[] ) { printf( "\nstream.bit : Bitstream output from encoder" ); printf( "\n settings:" ); printf( "\n-Fs_API : API sampling rate in Hz, default: 24000" ); - printf( "\n-Fs_maxInternal : Maximum internal sampling rate in Hz, default: 24000" ); + printf( "\n-Fs_maxInternal : Maximum internal sampling rate in Hz, default: 24000" ); printf( "\n-packetlength : Packet interval in ms, default: 20" ); printf( "\n-rate : Target bitrate; default: 25000" ); printf( "\n-loss : Uplink loss estimate, in percent (0-100); default: 0" ); @@ -110,12 +110,12 @@ int main( int argc, char* argv[] ) SKP_int32 packetLoss_perc = 0, complexity_mode = 2, smplsSinceLastPacket; SKP_int32 INBandFEC_enabled = 0, DTX_enabled = 0, quiet = 0; SKP_SILK_SDK_EncControlStruct encControl; // Struct for input to encoder - + if( argc < 3 ) { print_usage( argv ); exit( 0 ); - } - + } + /* get arguments */ args = 1; strcpy( speechInFileName, argv[ args ] ); @@ -211,7 +211,7 @@ int main( int argc, char* argv[] ) if( ret ) { printf( "\nSKP_Silk_reset_encoder returned %d", ret ); } - + /* Set Encoder parameters */ encControl.API_sampleRate = API_fs_Hz; encControl.maxInternalSampleRate = max_internal_fs_Hz; @@ -232,7 +232,7 @@ int main( int argc, char* argv[] ) smplsSinceLastPacket = 0; sumBytes = 0.0; sumActBytes = 0.0; - + while( 1 ) { /* Read input from file */ counter = fread( in, sizeof( SKP_int16 ), ( frameSizeReadFromFile_ms * API_fs_Hz ) / 1000, speechInFile ); @@ -257,7 +257,7 @@ int main( int argc, char* argv[] ) packetSize_ms = ( SKP_int )( ( 1000 * ( SKP_int32 )encControl.packetSize ) / encControl.API_sampleRate ); smplsSinceLastPacket += ( SKP_int )counter; - + if( ( ( 1000 * smplsSinceLastPacket ) / API_fs_Hz ) == packetSize_ms ) { /* Sends a dummy zero size packet in case of DTX period */ /* to make it work with the decoder test program. */ @@ -284,7 +284,7 @@ int main( int argc, char* argv[] ) /* Write payload */ fwrite( payload, sizeof( SKP_uint8 ), nBytes, bitOutFile ); - + if( !quiet ) { fprintf( stderr, "\rPackets encoded: %d", totPackets ); } diff --git a/libs/silk/test/signalCompare.c b/libs/silk/test/signalCompare.c index 41073fb86c..6c5486799f 100644 --- a/libs/silk/test/signalCompare.c +++ b/libs/silk/test/signalCompare.c @@ -1,27 +1,27 @@ /*********************************************************************** -Copyright (c) 2006-2011, Skype Limited. All rights reserved. -Redistribution and use in source and binary forms, with or without -modification, (subject to the limitations in the disclaimer below) +Copyright (c) 2006-2011, Skype Limited. All rights reserved. +Redistribution and use in source and binary forms, with or without +modification, (subject to the limitations in the disclaimer below) are permitted provided that the following conditions are met: - Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. -- Redistributions in binary form must reproduce the above copyright -notice, this list of conditions and the following disclaimer in the +- Redistributions in binary form must reproduce the above copyright +notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. -- Neither the name of Skype Limited, nor the names of specific -contributors, may be used to endorse or promote products derived from +- Neither the name of Skype Limited, nor the names of specific +contributors, may be used to endorse or promote products derived from this software without specific prior written permission. -NO EXPRESS OR IMPLIED LICENSES TO ANY PARTY'S PATENT RIGHTS ARE GRANTED -BY THIS LICENSE. THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND +NO EXPRESS OR IMPLIED LICENSES TO ANY PARTY'S PATENT RIGHTS ARE GRANTED +BY THIS LICENSE. THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS ''AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, -BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND -FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE -COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, +BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND +FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE +COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT -NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF -USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON -ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF +USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON +ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. ***********************************************************************/ @@ -53,7 +53,7 @@ extern "C" { #endif /* Internally used functions */ -void Autocorrelation( +void Autocorrelation( SKP_float *results, /* o result (length correlationCount) */ const SKP_float *inputData, /* i input data to correlate */ SKP_int inputDataSize, /* i length of input */ @@ -61,9 +61,9 @@ void Autocorrelation( ); /* inner product of two SKP_float arrays, with result as double */ -double Inner_product( - const SKP_float *data1, - const SKP_float *data2, +double Inner_product( + const SKP_float *data1, + const SKP_float *data2, SKP_int dataSize ); /* Solve the normal equations using the Levinson-Durbin recursion */ @@ -74,7 +74,7 @@ SKP_float Levinsondurbin( /* O prediction error energy ); /* Chirp (bw expand) LP AR filter */ -void Bwexpander( +void Bwexpander( SKP_float *ar, /* io AR filter to be expanded (without leading 1) */ const SKP_int d, /* i length of ar */ const SKP_float chirp /* i chirp factor (typically in range (0..1) ) */ @@ -112,7 +112,7 @@ int main(int argc, char* argv[]) if (argc < 3) { print_usage(argv); exit(0); - } + } /* get arguments */ args = 1; @@ -150,7 +150,7 @@ int main(int argc, char* argv[]) if (refInFile==NULL) { printf("Error: could not open input file %s\n", refInFileName); exit(0); - } + } testInFile = fopen(testInFileName, "rb"); if (testInFile==NULL) { printf("Error: could not open input file %s\n", testInFileName); @@ -162,9 +162,9 @@ int main(int argc, char* argv[]) while(1) { /* Read inputs */ - counterRef = (SKP_int)fread(&refIn[(WIN_LENGTH_MS - FRAME_LENGTH_MS) * Fs_kHz], + counterRef = (SKP_int)fread(&refIn[(WIN_LENGTH_MS - FRAME_LENGTH_MS) * Fs_kHz], sizeof(SKP_int16), FRAME_LENGTH_MS * Fs_kHz, refInFile); - counterTest = (SKP_int)fread(&testIn[(WIN_LENGTH_MS - FRAME_LENGTH_MS) * Fs_kHz], + counterTest = (SKP_int)fread(&testIn[(WIN_LENGTH_MS - FRAME_LENGTH_MS) * Fs_kHz], sizeof(SKP_int16), FRAME_LENGTH_MS * Fs_kHz, testInFile); if(counterRef != FRAME_LENGTH_MS * Fs_kHz || counterTest != FRAME_LENGTH_MS * Fs_kHz){ break; @@ -172,7 +172,7 @@ int main(int argc, char* argv[]) /* test for bit-exactness */ for( n = 0; n < FRAME_LENGTH_MS * Fs_kHz; n++ ) { - if( refIn[(WIN_LENGTH_MS - FRAME_LENGTH_MS) * Fs_kHz + n] != + if( refIn[(WIN_LENGTH_MS - FRAME_LENGTH_MS) * Fs_kHz + n] != testIn[(WIN_LENGTH_MS - FRAME_LENGTH_MS) * Fs_kHz + n] ) { isUnequal = 1; break; @@ -192,7 +192,7 @@ int main(int argc, char* argv[]) Autocorrelation(autoCorr, refWin, WIN_LENGTH_MS * Fs_kHz, LPC_ORDER + 1); /* Add white noise */ - autoCorr[ 0 ] += autoCorr[ 0 ] * 1e-6f + 1.0f; + autoCorr[ 0 ] += autoCorr[ 0 ] * 1e-6f + 1.0f; /* Convert correlations to prediction coefficients */ Levinsondurbin(LPC_Coef, autoCorr, LPC_ORDER); @@ -203,7 +203,7 @@ int main(int argc, char* argv[]) /* Filter both signals */ refNrg = 1.0f; diffNrg = 1e-10f; - for( n = (WIN_LENGTH_MS - FRAME_LENGTH_MS) / 2 * Fs_kHz; + for( n = (WIN_LENGTH_MS - FRAME_LENGTH_MS) / 2 * Fs_kHz; n < (WIN_LENGTH_MS + FRAME_LENGTH_MS) / 2 * Fs_kHz; n++ ) { refWhtnd = refIn[n]; testWhtnd = testIn[n]; @@ -264,7 +264,7 @@ int main(int argc, char* argv[]) } /* compute autocorrelation */ -void Autocorrelation( +void Autocorrelation( SKP_float *results, /* o result (length correlationCount) */ const SKP_float *inputData, /* i input data to correlate */ SKP_int inputDataSize, /* i length of input */ @@ -283,9 +283,9 @@ void Autocorrelation( } /* inner product of two SKP_float arrays, with result as double */ -double Inner_product( - const SKP_float *data1, - const SKP_float *data2, +double Inner_product( + const SKP_float *data1, + const SKP_float *data2, SKP_int dataSize ) { @@ -296,7 +296,7 @@ double Inner_product( result = 0.0f; dataSize4 = dataSize & 0xFFFC; for( i = 0; i < dataSize4; i += 4 ) { - result += data1[ i + 0 ] * data2[ i + 0 ] + + result += data1[ i + 0 ] * data2[ i + 0 ] + data1[ i + 1 ] * data2[ i + 1 ] + data1[ i + 2 ] * data2[ i + 2 ] + data1[ i + 3 ] * data2[ i + 3 ]; @@ -319,7 +319,7 @@ SKP_float Levinsondurbin( /* O prediction error energy { SKP_int i, mHalf, m; SKP_float min_nrg, nrg, t, km, Atmp1, Atmp2; - + min_nrg = 1e-12f * corr[ 0 ] + 1e-9f; nrg = corr[ 0 ]; nrg = SKP_max(min_nrg, nrg); @@ -359,7 +359,7 @@ SKP_float Levinsondurbin( /* O prediction error energy } /* Chirp (bw expand) LP AR filter */ -void Bwexpander( +void Bwexpander( SKP_float *ar, /* io AR filter to be expanded (without leading 1) */ const SKP_int d, /* i length of ar */ const SKP_float chirp /* i chirp factor (typically in range (0..1) ) */ diff --git a/libs/silk/test_vectors/How to use the test vectors.txt b/libs/silk/test_vectors/How to use the test vectors.txt index 141531b96a..43160c5b55 100644 --- a/libs/silk/test_vectors/How to use the test vectors.txt +++ b/libs/silk/test_vectors/How to use the test vectors.txt @@ -2,21 +2,21 @@ Use the following scripts to verify the decoder implementation: o test_encoder.bat / test_encoder.sh - Make sure the encoder executable to be tested exists in the parent directory, and run - test_encoder.bat (win) or test_encoder.sh (linux/mac). This will run the encoder - and compare the output bitstream with the reference bitstream files. The result is + Make sure the encoder executable to be tested exists in the parent directory, and run + test_encoder.bat (win) or test_encoder.sh (linux/mac). This will run the encoder + and compare the output bitstream with the reference bitstream files. The result is written to test_encoder_report.txt. - For each file, the bitstreams are either bit-exact or they differ. The compatibility + For each file, the bitstreams are either bit-exact or they differ. The compatibility test is passed if each file is reported as "PASS". o test_decoder.bat / test_decoder.sh - Make sure the decoder executable to be tested exists in the parent directory, and run - test_decoder.bat (win) or test_decoder.sh (linux/mac). This will run the decoder - and compare the output audio file with the reference audio files. The result is + Make sure the decoder executable to be tested exists in the parent directory, and run + test_decoder.bat (win) or test_decoder.sh (linux/mac). This will run the decoder + and compare the output audio file with the reference audio files. The result is written to test_decoder_report.txt. For each file, the bitstreams are either bit-exact or they match up to a certain - average weighted SNR. The compatibility test is passed if each file is reported as + average weighted SNR. The compatibility test is passed if each file is reported as "PASS". diff --git a/libs/sofia-sip/libsofia-sip-ua/sip/tests/own6.txt b/libs/sofia-sip/libsofia-sip-ua/sip/tests/own6.txt index de5eec558d..9c4f012f2f 100644 --- a/libs/sofia-sip/libsofia-sip-ua/sip/tests/own6.txt +++ b/libs/sofia-sip/libsofia-sip-ua/sip/tests/own6.txt @@ -12,6 +12,5 @@ Call-ID: f3359e42-5109-11d6-998d-0010a47e1c0f CSeq: 1 OPTIONS Contact: Content-Length: 0 -Accept: -Allow: - +Accept: +Allow: diff --git a/libs/sofia-sip/libsofia-sip-ua/sip/tests/test1.txt b/libs/sofia-sip/libsofia-sip-ua/sip/tests/test1.txt index 22bf3dabc9..0af721c16b 100644 --- a/libs/sofia-sip/libsofia-sip-ua/sip/tests/test1.txt +++ b/libs/sofia-sip/libsofia-sip-ua/sip/tests/test1.txt @@ -7,7 +7,7 @@ From : "J Rosenberg \\\"" CaLl-Id : 0ha0isndaksdj@10.1.1.1 cseq: 8 INVITE -Via : SIP / 2.0/ UDP +Via : SIP / 2.0/ UDP 135.180.130.133 Subject : NewFangledHeader: newfangled value @@ -15,7 +15,7 @@ NewFangledHeader: newfangled value Content-Type: application/sdp v: SIP / 2.0 / TCP 12.3.4.5 ; branch = 9ikj8 , - SIP / 2.0 / UDP 1.2.3.4 ; hidden + SIP / 2.0 / UDP 1.2.3.4 ; hidden m:"Quoted string \"\"" ; newparam = newvalue ; secondparam = secondvalue ; q = 0.33 (((nested comments) and (more))) , diff --git a/libs/sofia-sip/libsofia-sip-ua/sip/tests/test1a.txt b/libs/sofia-sip/libsofia-sip-ua/sip/tests/test1a.txt index 8ff032c137..8b7d17a691 100644 --- a/libs/sofia-sip/libsofia-sip-ua/sip/tests/test1a.txt +++ b/libs/sofia-sip/libsofia-sip-ua/sip/tests/test1a.txt @@ -7,14 +7,14 @@ From : "J Rosenberg \\\"" CaLl-Id : 0ha0isndaksdj@10.1.1.1 cseq: 8 INVITE -Via : SIP / 2.0/ UDP +Via : SIP / 2.0/ UDP 135.180.130.133 Subject : Content-Type: application/sdp v: SIP / 2.0 / TCP 12.3.4.5 ; branch = 9ikj8 , - SIP / 2.0 / UDP 1.2.3.4 ; hidden + SIP / 2.0 / UDP 1.2.3.4 ; hidden m:"Quoted string \"\"" ; newparam = newvalue ; secondparam = secondvalue ; q = 0.33 (((nested comments) and (more))) , diff --git a/libs/sofia-sip/libsofia-sip-ua/sip/tests/test27.txt b/libs/sofia-sip/libsofia-sip-ua/sip/tests/test27.txt index fecca76d27..ba97e673af 100644 --- a/libs/sofia-sip/libsofia-sip-ua/sip/tests/test27.txt +++ b/libs/sofia-sip/libsofia-sip-ua/sip/tests/test27.txt @@ -4,5 +4,3 @@ From: "caller" Call-ID: 1234abcd@10.0.0.1 CSeq: 1 OPTIONS Via: SIP/2.0/UDP 135.180.130.133 - - diff --git a/libs/sofia-sip/libsofia-sip-ua/sip/tests/test28.txt b/libs/sofia-sip/libsofia-sip-ua/sip/tests/test28.txt index 7709777e92..9907805344 100644 --- a/libs/sofia-sip/libsofia-sip-ua/sip/tests/test28.txt +++ b/libs/sofia-sip/libsofia-sip-ua/sip/tests/test28.txt @@ -4,5 +4,3 @@ From: "caller" Call-ID: 1234abcd@10.0.0.1 CSeq: 2 OPTIONS Via: SIP/2.0/UDP 135.180.130.133 - - diff --git a/libs/sofia-sip/libsofia-sip-ua/sip/tests/test32.txt b/libs/sofia-sip/libsofia-sip-ua/sip/tests/test32.txt index d3e4a1f8cb..f83b653162 100644 --- a/libs/sofia-sip/libsofia-sip-ua/sip/tests/test32.txt +++ b/libs/sofia-sip/libsofia-sip-ua/sip/tests/test32.txt @@ -6,5 +6,3 @@ Call-ID: k345asrl3fdbv@10.0.0.1 CSeq: 1 REGISTER Via: SIP/2.0/UDP 135.180.130.133 Contact: - - diff --git a/libs/sofia-sip/libsofia-sip-ua/sip/tests/test33.txt b/libs/sofia-sip/libsofia-sip-ua/sip/tests/test33.txt index be0ea6a68f..95de6f4fed 100644 --- a/libs/sofia-sip/libsofia-sip-ua/sip/tests/test33.txt +++ b/libs/sofia-sip/libsofia-sip-ua/sip/tests/test33.txt @@ -6,5 +6,3 @@ Call-ID: k345asrl3fdbv@10.0.0.1 CSeq: 1 REGISTER Via: SIP/2.0/UDP 135.180.130.133 Contact: sip:user@example.com?Route=%3Csip:sip.example.com%3E - - diff --git a/libs/sofia-sip/libsofia-sip-ua/sip/tests/test34.txt b/libs/sofia-sip/libsofia-sip-ua/sip/tests/test34.txt index 4c2af44a86..4dd5483704 100644 --- a/libs/sofia-sip/libsofia-sip-ua/sip/tests/test34.txt +++ b/libs/sofia-sip/libsofia-sip-ua/sip/tests/test34.txt @@ -48,5 +48,3 @@ c=IN IP4 135.180.130.88 m=audio 492170 RTP/AVP 0 12 m=video 3227 RTP/AVP 31 a=rtpmap:31 LPC - - diff --git a/libs/sofia-sip/libsofia-sip-ua/sip/tests/test35.txt b/libs/sofia-sip/libsofia-sip-ua/sip/tests/test35.txt index ff3c07dde0..1694777660 100644 --- a/libs/sofia-sip/libsofia-sip-ua/sip/tests/test35.txt +++ b/libs/sofia-sip/libsofia-sip-ua/sip/tests/test35.txt @@ -12,5 +12,3 @@ Contact: sip:host.company.com Expires: 0xpires: 0sip:host.company.com Expires: 0 Contact: sip:host.company.com - - diff --git a/libs/sofia-sip/libsofia-sip-ua/sip/tests/test37.txt b/libs/sofia-sip/libsofia-sip-ua/sip/tests/test37.txt index 821e4004a0..96deefaa76 100644 --- a/libs/sofia-sip/libsofia-sip-ua/sip/tests/test37.txt +++ b/libs/sofia-sip/libsofia-sip-ua/sip/tests/test37.txt @@ -5,5 +5,3 @@ To: sip:watson@bell-tel.com Call-ID: 70710@saturn.bell-tel.com CSeq: 2 REGISTER Contact: sip:+1-972-555-2222@gw1.wcom.com;user=phone - - diff --git a/libs/sofia-sip/libsofia-sip-ua/sip/tests/test38.txt b/libs/sofia-sip/libsofia-sip-ua/sip/tests/test38.txt index b80c18f507..a3946de226 100644 --- a/libs/sofia-sip/libsofia-sip-ua/sip/tests/test38.txt +++ b/libs/sofia-sip/libsofia-sip-ua/sip/tests/test38.txt @@ -5,5 +5,3 @@ To: sip:watson@bell-tel.com Call-ID: 70710@saturn.bell-tel.com CSeq: 3 REGISTER Contact: - - diff --git a/libs/sofia-sip/libsofia-sip-ua/sip/tests/test39.txt b/libs/sofia-sip/libsofia-sip-ua/sip/tests/test39.txt index 3214684f0e..e9ac9ecba0 100644 --- a/libs/sofia-sip/libsofia-sip-ua/sip/tests/test39.txt +++ b/libs/sofia-sip/libsofia-sip-ua/sip/tests/test39.txt @@ -4,5 +4,3 @@ From: A. Bell To: T. Watson Call-ID: 31414@c.bell-tel.com CSeq: 1 INVITE - - diff --git a/libs/sofia-sip/libsofia-sip-ua/sip/tests/test40.txt b/libs/sofia-sip/libsofia-sip-ua/sip/tests/test40.txt index 7a8d0ecda6..566ad8b57b 100644 --- a/libs/sofia-sip/libsofia-sip-ua/sip/tests/test40.txt +++ b/libs/sofia-sip/libsofia-sip-ua/sip/tests/test40.txt @@ -4,5 +4,3 @@ From: Bell, Alexander To: Watson, Thomas Call-ID: 31415@c.bell-tel.com CSeq: 1 INVITE - - diff --git a/libs/sofia-sip/libsofia-sip-ua/sip/tests/test41.txt b/libs/sofia-sip/libsofia-sip-ua/sip/tests/test41.txt index c54c9933fe..0246e18a52 100644 --- a/libs/sofia-sip/libsofia-sip-ua/sip/tests/test41.txt +++ b/libs/sofia-sip/libsofia-sip-ua/sip/tests/test41.txt @@ -5,4 +5,3 @@ From: A. Bell To: T. Watson Call-ID: 31416@c.bell-tel.com CSeq: 1 INVITE - diff --git a/libs/sofia-sip/libsofia-sip-ua/sip/tests/test42.txt b/libs/sofia-sip/libsofia-sip-ua/sip/tests/test42.txt index 5aa080b046..d3003322c5 100644 --- a/libs/sofia-sip/libsofia-sip-ua/sip/tests/test42.txt +++ b/libs/sofia-sip/libsofia-sip-ua/sip/tests/test42.txt @@ -4,8 +4,3 @@ From: A. Bell To: T. Watson Call-ID: 31417@c.bell-tel.com CSeq: 1 INVITE - - - - - diff --git a/libs/win32/celt/config.h b/libs/win32/celt/config.h index 8f354870f8..2eeb58d4a5 100644 --- a/libs/win32/celt/config.h +++ b/libs/win32/celt/config.h @@ -1,5 +1,5 @@ /* This is a build of CELT */ -#define CELT_BUILD +#define CELT_BUILD /* Version extra */ #define CELT_EXTRA_VERSION "-1" @@ -20,7 +20,7 @@ /* #undef FIXED_POINT */ /* Compile as floating-point */ -#define FLOATING_POINT +#define FLOATING_POINT /* Make use of alloca */ /* #undef USE_ALLOCA */ @@ -32,4 +32,3 @@ // Microsoft version of 'inline' #define inline __inline - diff --git a/libs/win32/celt/float_cast.h b/libs/win32/celt/float_cast.h index 483082e593..9caa39b4b3 100644 --- a/libs/win32/celt/float_cast.h +++ b/libs/win32/celt/float_cast.h @@ -89,13 +89,13 @@ { fld flt fistp intgr } ; - + return intgr ; } -#else -#define float2int -#endif - +#else +#define float2int +#endif + #else diff --git a/libs/win32/libshout/shout/shout.h b/libs/win32/libshout/shout/shout.h index 84c56423c7..1c2b4c7f63 100644 --- a/libs/win32/libshout/shout/shout.h +++ b/libs/win32/libshout/shout/shout.h @@ -170,7 +170,7 @@ int shout_close(shout_t *self); int shout_send(shout_t *self, const unsigned char *data, size_t len); /* Send unparsed data to the server. Do not use this unless you know - * what you are doing. + * what you are doing. * Returns the number of bytes written, or < 0 on error. */ ssize_t shout_send_raw(shout_t *self, const unsigned char *data, size_t len); @@ -178,7 +178,7 @@ ssize_t shout_send_raw(shout_t *self, const unsigned char *data, size_t len); /* return the number of bytes currently on the write queue (only makes sense in * nonblocking mode). */ ssize_t shout_queuelen(shout_t *self); - + /* Puts caller to sleep until it is time to send more data to the server */ void shout_sync(shout_t *self); diff --git a/libs/win32/openssl/opensslconf.h b/libs/win32/openssl/opensslconf.h index 9a4d26baa8..c6b382f8f3 100644 --- a/libs/win32/openssl/opensslconf.h +++ b/libs/win32/openssl/opensslconf.h @@ -189,7 +189,7 @@ YOU SHOULD NOT HAVE BOTH DES_RISC1 AND DES_RISC2 DEFINED!!!!! even newer MIPS CPU's, but at the moment one size fits all for optimization options. Older Sparc's work better with only UNROLL, but there's no way to tell at compile time what it is you're running on */ - + #if defined( sun ) /* Newer Sparc's */ # define DES_PTR # define DES_RISC1 diff --git a/libs/xmlrpc-c/Windows/ReadMeOld.txt b/libs/xmlrpc-c/Windows/ReadMeOld.txt index b976b2a734..4f3b5c60cd 100644 --- a/libs/xmlrpc-c/Windows/ReadMeOld.txt +++ b/libs/xmlrpc-c/Windows/ReadMeOld.txt @@ -122,4 +122,3 @@ Changes from the 1.00 -> 1.01 release for Win32: to the output directory 4) Major refactoring of the Wininet Transport. - diff --git a/libs/xmlrpc-c/Windows/UsingCURLinWin32.txt b/libs/xmlrpc-c/Windows/UsingCURLinWin32.txt index 4c1c47af6d..260ea45b42 100644 --- a/libs/xmlrpc-c/Windows/UsingCURLinWin32.txt +++ b/libs/xmlrpc-c/Windows/UsingCURLinWin32.txt @@ -84,7 +84,7 @@ you own VCPROJ file for CURL, if you want to use MSVC. It does provide a Makefile.vc6 as mentioned above. To build all the CURL library variations, use -> nmake /nologo vc-all +> nmake /nologo vc-all but note this will use the /MD[d] DLL runtime. Only by adding RTCFGLIB=static to each of the makefile commands will /MT[d] be used. diff --git a/libs/xmlrpc-c/Windows/UsingProxyDSP.txt b/libs/xmlrpc-c/Windows/UsingProxyDSP.txt index 25e93ef811..50db5720ac 100644 --- a/libs/xmlrpc-c/Windows/UsingProxyDSP.txt +++ b/libs/xmlrpc-c/Windows/UsingProxyDSP.txt @@ -6,7 +6,7 @@ xmlrpc_cpp_proxy.dsp, if added as a project to the xmlrpc solution, will build bin\xmlrpc_cpp_proxy.exe and xmlrpc_cpp_proxyD.exe, for testing using the default WinINET transport. -After you have loaded the xmlrpc_cpp_proxy.dsp, which adds an +After you have loaded the xmlrpc_cpp_proxy.dsp, which adds an xmlrpc_cpp_proxy project, it is necessary to ADD a dependance on the xmlrpc library, to complete the link. @@ -43,7 +43,7 @@ and implementation file. If this functions, for a bigger example, try - bin>xmlrpc_cpp_proxyD http://localhost:8080/RPC2 system systemProxy -and you should see a better example of a class header, and the +and you should see a better example of a class header, and the implementation code ... 20 December, 2007 diff --git a/src/mod/applications/mod_expr/license.txt b/src/mod/applications/mod_expr/license.txt index 4d73d07018..b1e2a9c136 100644 --- a/src/mod/applications/mod_expr/license.txt +++ b/src/mod/applications/mod_expr/license.txt @@ -18,4 +18,3 @@ freely, subject to the following restrictions: 2. Altered source versions must be plainly marked as such, and must not be misrepresented as being the original software. 3. This notice may not be removed or altered from any source distribution. - diff --git a/src/mod/applications/mod_expr/readme.txt b/src/mod/applications/mod_expr/readme.txt index 50047e7643..cfb243d668 100644 --- a/src/mod/applications/mod_expr/readme.txt +++ b/src/mod/applications/mod_expr/readme.txt @@ -35,18 +35,18 @@ Version 2.6 * Added a new value list function 'exprValListGetNext' that can be used to enumerate the items in a value list. Any of the items not needed (name, value, or address) can be NULL. For example: - + char *name; EXPRTYPE val; void *cookie; - + cookie = exprValListGetNext(vlist, &name, &value, NULL, NULL); while(cookie) { /* Do something with name and value */ cookie = exprValListGetNext(vlist, &name, &value, NULL, cookie); } - + You must make sure not to actually edit the returned name, because it is a pointer into the value list to the name. This can also be used to have one value list store globals. Global variables can be added to a value list, then @@ -57,17 +57,17 @@ Version 2.6 on each expression through the global list. This is useful especially if the globals are not known at compile time, but can be adjusted by the user. For example: - + exprValList *globals; exprValList *v1; exprValList *v2; char *name; EXPRTYPE *addr; void *cookie; - + exprValListCreate(&globals); /* Add variables to the list, perhaps read from a user file or something */ - + exprValListCreate(&v1); cookie = exprValListGetNext(globals, &name, NULL, &addr, NULL); while(cookie) @@ -75,7 +75,7 @@ Version 2.6 exprValListAddAddress(v1, name, addr); cookie = exprValListGetNext(globals, &name, NULL, &addr, cookie); } - + Friday, June 30, 2006 --------------------- @@ -87,20 +87,20 @@ Version 2.5 value. You must ensure that the stack variable exists as long as it is used by the expression. This can permit, for example, a value name to be shared with two different value lists like such: - + EXPRTYPE global_value; exprValListAddAddress(vlist, "global", &global_value); exprValListAddAddress(vlist2, "global", &global_value); - + Like this, the value can be directly accessed by the application, and each value list will share it. This can also be used to replace code from this: - + EXPRTYPE *a; exprValListAdd(vlist, "var", 0.0); exprValListGetAddress(vlist, "var", &a); - + To look like this: - + EXPRTYPE a; exprValListAddAddress(vlist, "var", &a); * Added a value list function exprValListSet to set the value of a variable @@ -109,8 +109,8 @@ Version 2.5 value of the item. You can still use the fast direct access method. * Changed internal lists for function and value lists from binary trees to linked lists. - - + + Thursday, May 4, 2006 @@ -140,7 +140,7 @@ Tuesday, November 22, 2005 -------------------------- I still haven't been keeping up with history much. -* Removed < and > as comments. Instead use # as a +* Removed < and > as comments. Instead use # as a comment to the end of the line * Added function exprGetErrorPosition to get start and end position of parse error. From 8cda93eac00997cba335ce0e879ce961c8c32850 Mon Sep 17 00:00:00 2001 From: Anthony Minessale Date: Mon, 10 Nov 2014 21:38:14 -0600 Subject: [PATCH 031/629] FS-7508: add autoconf for vpx lib --- configure.ac | 2 ++ 1 file changed, 2 insertions(+) diff --git a/configure.ac b/configure.ac index 35dfb58af2..eb3eb2b467 100644 --- a/configure.ac +++ b/configure.ac @@ -854,6 +854,8 @@ CPPFLAGS="$save_CPPFLAGS" AX_HAVE_CPU_SET +AC_CHECK_LIB(vpx, vpx_img_alloc, [AC_DEFINE(HAVE_VPX, 1, [Define if you have vpx()])]) + AC_CHECK_LIB(rt, clock_gettime, [AC_DEFINE(HAVE_CLOCK_GETTIME, 1, [Define if you have clock_gettime()])]) AC_CHECK_LIB(rt, clock_getres, [AC_DEFINE(HAVE_CLOCK_GETRES, 1, [Define if you have clock_getres()])]) AC_CHECK_LIB(rt, clock_nanosleep, [AC_DEFINE(HAVE_CLOCK_NANOSLEEP, 1, [Define if you have clock_nanosleep()])]) From d0d2e03672b9576521f258865051a1951b0d39a5 Mon Sep 17 00:00:00 2001 From: Anthony Minessale Date: Mon, 10 Nov 2014 21:38:37 -0600 Subject: [PATCH 032/629] FS-7514: [mod_vlc] temp workaround --- src/mod/formats/mod_vlc/mod_vlc.c | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/src/mod/formats/mod_vlc/mod_vlc.c b/src/mod/formats/mod_vlc/mod_vlc.c index 12bdb2d888..8435d1ff60 100644 --- a/src/mod/formats/mod_vlc/mod_vlc.c +++ b/src/mod/formats/mod_vlc/mod_vlc.c @@ -264,11 +264,15 @@ static void vlc_video_unlock_callback(void *data, void *id, void *const *p_pixel frame->timestamp += delta * 90; context->last_video_ts = now; } + //printf("WTF VLC d_w=%d d_h=%d w=%d h=%d\n", context->img->d_w, context->img->d_h, context->img->w, context->img->h); + + context->img->d_w = context->img->w; + context->img->d_h = context->img->h; switch_core_codec_encode_video(codec, context->img, frame->data, &encoded_data_len, &flag); while(encoded_data_len) { - // switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_ERROR, "encoded: %s [%d] flag=%d ts=%lld\n", codec->implementation->iananame, encoded_data_len, flag, context->last_video_ts); + //switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_ERROR, "encoded: %s [%d] flag=%d ts=%ld\n", codec->implementation->iananame, encoded_data_len, flag, context->last_video_ts); frame->datalen = encoded_data_len; frame->packetlen = frame->datalen + 12; @@ -293,6 +297,7 @@ static void vlc_video_unlock_callback(void *data, void *id, void *const *p_pixel switch_core_session_write_video_frame(context->session, frame, SWITCH_IO_FLAG_NONE, 0); encoded_data_len = 1500; + switch_core_codec_encode_video(codec, NULL, frame->data, &encoded_data_len, &flag); } From 9fdb54766ce6adc718a70302e4b04c11469787c5 Mon Sep 17 00:00:00 2001 From: Anthony Minessale Date: Mon, 10 Nov 2014 21:38:56 -0600 Subject: [PATCH 033/629] FS-7508 FS-7517: import h264 and vpx codec files --- src/mod/codecs/mod_openh264/Makefile.am | 1 + src/mod/codecs/mod_openh264/mod_openh264.cpp | 582 +++++++++++++++++++ src/mod/codecs/mod_vpx/Makefile.am | 2 +- src/mod/codecs/mod_vpx/README | 9 + src/mod/codecs/mod_vpx/mod_vpx.c | 556 ++++++++++++++++++ 5 files changed, 1149 insertions(+), 1 deletion(-) create mode 100644 src/mod/codecs/mod_openh264/mod_openh264.cpp create mode 100644 src/mod/codecs/mod_vpx/README create mode 100644 src/mod/codecs/mod_vpx/mod_vpx.c diff --git a/src/mod/codecs/mod_openh264/Makefile.am b/src/mod/codecs/mod_openh264/Makefile.am index c541e9563f..058f5bebb7 100644 --- a/src/mod/codecs/mod_openh264/Makefile.am +++ b/src/mod/codecs/mod_openh264/Makefile.am @@ -8,3 +8,4 @@ mod_openh264_la_SOURCES = mod_openh264.cpp mod_openh264_la_CXXFLAGS = $(AM_CXXFLAGS) -I$(OPENH264_DIR)/include/wels mod_openh264_la_LIBADD = $(switch_builddir)/libfreeswitch.la mod_openh264_la_LDFLAGS = -L$(OPENH264_DIR)/lib/ -lopenh264 -avoid-version -module -no-undefined -shared + diff --git a/src/mod/codecs/mod_openh264/mod_openh264.cpp b/src/mod/codecs/mod_openh264/mod_openh264.cpp new file mode 100644 index 0000000000..9a98776d4f --- /dev/null +++ b/src/mod/codecs/mod_openh264/mod_openh264.cpp @@ -0,0 +1,582 @@ +/* + * FreeSWITCH Modular Media Switching Software Library / Soft-Switch Application + * Copyright (C) 2005-2013, Anthony Minessale II + * + * Version: MPL 1.1 + * + * The contents of this file are subject to the Mozilla Public License Version + * 1.1 (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * http://www.mozilla.org/MPL/ + * + * Software distributed under the License is distributed on an "AS IS" basis, + * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License + * for the specific language governing rights and limitations under the + * License. + * + * The Original Code is FreeSWITCH Modular Media Switching Software Library / Soft-Switch Application + * + * The Initial Developer of the Original Code is + * Seven Du + * Portions created by the Initial Developer are Copyright (C) + * the Initial Developer. All Rights Reserved. + * + * Contributor(s): + * + * Seven Du + * + * mod_openh264 -- H264 Coded Using Cisco OpenH264 + * + */ + +// #define DEBUG_H264 +#include + +#define EPSN (0.000001f) // (1e-6) // desired float precision +#define PESN (0.000001f) // (1e-6) // desired float precision +#define MT_ENABLED + +#include "codec_api.h" +//#include "inc/logging.h" // for debug + +#define FPS 15.0f // frame rate +#define H264_NALU_BUFFER_SIZE 65536 +#define MAX_NALUS 100 +#define SLICE_SIZE 1200 //NALU Slice Size + +SWITCH_MODULE_LOAD_FUNCTION(mod_openh264_load); +SWITCH_MODULE_DEFINITION(mod_openh264, mod_openh264_load, NULL, NULL); + +typedef struct h264_codec_context_s { + ISVCEncoder *encoder; + switch_bool_t encoder_initialized; + SEncParamExt encoder_params; + SFrameBSInfo bit_stream_info; + EVideoFrameType last_frame_type; + int cur_layer; + int cur_nalu_index; + uint8_t last_nalu_type; + uint8_t last_nri; + int last_nalu_data_pos; + int nalu_eat; + + ISVCDecoder *decoder; + SDecodingParam decoder_params; + switch_buffer_t *nalu_buffer; + switch_image_t *img; + int got_sps; + int64_t pts; + switch_size_t last_received_timestamp; + switch_bool_t last_received_complete_picture; +} h264_codec_context_t; + +int FillSpecificParameters(SEncParamExt& param) { + /* Test for temporal, spatial, SNR scalability */ + param.iPicWidth = 352; // width of picture in samples + param.iPicHeight = 288; // height of picture in samples + param.iTargetBitrate = 384000; // target bitrate desired + param.iRCMode = RC_QUALITY_MODE; // rc mode control + param.uiMaxNalSize = SLICE_SIZE * 20; + param.iTemporalLayerNum = 1; // layer number at temporal level + param.iSpatialLayerNum = 1; // layer number at spatial level + param.bEnableDenoise = 0; // denoise control + param.bEnableBackgroundDetection = 1; // background detection control + param.bEnableAdaptiveQuant = 1; // adaptive quantization control + param.bEnableLongTermReference = 0; // long term reference control + param.iLtrMarkPeriod = 30; + + param.iComplexityMode = MEDIUM_COMPLEXITY; + param.uiIntraPeriod = FPS * 3; // period of Intra frame + param.bEnableSpsPpsIdAddition = 0; + param.bPrefixNalAddingCtrl = 0; + + int iIndexLayer = 0; + param.sSpatialLayers[iIndexLayer].iVideoWidth = 352; + param.sSpatialLayers[iIndexLayer].iVideoHeight = 288; + param.sSpatialLayers[iIndexLayer].fFrameRate = 15.0f; + // param.sSpatialLayers[iIndexLayer].iQualityLayerNum = 1; + param.sSpatialLayers[iIndexLayer].iSpatialBitrate = 384000; + +#ifdef MT_ENABLED + param.sSpatialLayers[iIndexLayer].sSliceCfg.uiSliceMode = SM_DYN_SLICE; + param.sSpatialLayers[iIndexLayer].sSliceCfg.sSliceArgument.uiSliceSizeConstraint = SLICE_SIZE; + +#endif + + float fMaxFr = param.sSpatialLayers[param.iSpatialLayerNum - 1].fFrameRate; + for (int32_t i = param.iSpatialLayerNum - 2; i >= 0; --i) { + if (param.sSpatialLayers[i].fFrameRate > fMaxFr + EPSN) { + fMaxFr = param.sSpatialLayers[i].fFrameRate; + } + } + param.fMaxFrameRate = fMaxFr; + + return 0; +} + +// return none-zero on error +long set_decoder_options(ISVCDecoder *decoder) +{ + int32_t iColorFormat = videoFormatI420; + // EBufferProperty eOutputProperty = BUFFER_HOST; + long ret = 0; + + ret += decoder->SetOption(DECODER_OPTION_DATAFORMAT, &iColorFormat); + // ret += decoder->SetOption(DECODER_OPTION_OUTPUT_PROPERTY, &eOutputProperty); + + return ret; +} + +static switch_size_t buffer_h264_nalu(h264_codec_context_t *context, switch_frame_t *frame) +{ + uint8_t nalu_idc = 0; + uint8_t nalu_type = 0; + uint8_t *data = (uint8_t *)frame->data; + uint8_t nalu_hdr = *data; + uint8_t sync_bytes[] = {0, 0, 0, 1}; + switch_buffer_t *buffer = context->nalu_buffer; + switch_size_t size = 0; + + if (!frame) { + switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_ERROR, "No frame in codec!!\n"); + return size; + } + + nalu_idc = (nalu_hdr & 0x60) >> 5; + nalu_type = nalu_hdr & 0x1f; + + if (!context->got_sps && nalu_type != 7) { + switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_WARNING, "Waiting SPS/PPS\n"); + switch_set_flag(frame, SFF_WAIT_KEY_FRAME); + return size; + } + + if (!context->got_sps) context->got_sps = 1; + + size = switch_buffer_write(buffer, sync_bytes, sizeof(sync_bytes)); + if (size == 0 ) switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_ERROR, "Buffer Memory Error!\n"); + + size = switch_buffer_write(buffer, frame->data, frame->datalen); + if (size == 0 ) switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_ERROR, "Buffer Memory Error!\n"); + +#ifdef DEBUG_H264 + switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_INFO, "ts: %ld len: %4d %02x %02x %02x %02x %02x %02x %02x %02x %02x %02x %02x mark=%d size=%d\n", + (frame)->timestamp, (frame)->datalen, + *((uint8_t *)(frame)->data), *((uint8_t *)(frame)->data + 1), + *((uint8_t *)(frame)->data + 2), *((uint8_t *)(frame)->data + 3), + *((uint8_t *)(frame)->data + 4), *((uint8_t *)(frame)->data + 5), + *((uint8_t *)(frame)->data + 6), *((uint8_t *)(frame)->data + 7), + *((uint8_t *)(frame)->data + 8), *((uint8_t *)(frame)->data + 9), + *((uint8_t *)(frame)->data + 10), (frame)->m, size); +#endif + + return size; +} + +static switch_status_t nalu_slice(h264_codec_context_t *context, void *data, uint32_t *len, uint32_t *flag) +{ + int nalu_len; + uint8_t *buffer; + switch_status_t status = SWITCH_STATUS_SUCCESS; + + *flag &= ~SFF_MARKER; + + if (context->cur_nalu_index >= context->bit_stream_info.sLayerInfo[context->cur_layer].iNalCount) { + context->cur_nalu_index = 0; + context->cur_layer++; + context->last_nalu_data_pos = 0; + } + +#if 0 + switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_ERROR, "uiTemporalId:%d uiSpatialId:%d uiQualityId:%d uiLayerType:%d FrameType: %d\n", + context->bit_stream_info.sLayerInfo[context->cur_layer].uiTemporalId, + context->bit_stream_info.sLayerInfo[context->cur_layer].uiSpatialId, + context->bit_stream_info.sLayerInfo[context->cur_layer].uiQualityId, + context->bit_stream_info.sLayerInfo[context->cur_layer].uiLayerType, + context->last_frame_type); +#endif + + if (context->last_frame_type == videoFrameTypeSkip || + context->cur_layer >= context->bit_stream_info.iLayerNum) { + *len = 0; + *flag |= SFF_MARKER; + context->cur_layer = 0; + context->cur_nalu_index = 0; + return status; + } + + nalu_len = context->bit_stream_info.sLayerInfo[context->cur_layer].pNalLengthInByte[context->cur_nalu_index] - 4; // NALU w/o sync bits + buffer = context->bit_stream_info.sLayerInfo[context->cur_layer].pBsBuf; + +#if 0 + switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_ERROR, "layer: %d/%d nalu:%d/%d nalu_len:%d/%d\n", + context->cur_layer, context->bit_stream_info.iLayerNum, + context->cur_nalu_index, context->bit_stream_info.sLayerInfo[context->cur_layer].iNalCount, + nalu_len, context->last_nalu_data_pos); +#endif + + switch_assert(nalu_len > 0); + + if (nalu_len <= SLICE_SIZE) { + uint8_t nalu_type; + + context->last_nalu_data_pos += 4; + nalu_type = *(buffer + context->last_nalu_data_pos) & 0x1f; + + // if (nalu_type == 7) switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_CRIT, "Got SPS\n"); + + memcpy(data, (buffer + context->last_nalu_data_pos), nalu_len); + *len = nalu_len; + // *flag |= (nalu_type == 6 || nalu_type == 7 || nalu_type == 8 || (nalu_type == 0xe && context->last_nalu_type == 8)) ? 0 : SFF_MARKER; + if ((context->cur_nalu_index == context->bit_stream_info.sLayerInfo[context->cur_layer].iNalCount - 1) && + (context->cur_layer == context->bit_stream_info.iLayerNum - 1)) { + *flag |= SFF_MARKER; + } else { + status = SWITCH_STATUS_MORE_DATA; + } + context->cur_nalu_index++; + context->last_nalu_data_pos += nalu_len; + context->last_nalu_type = nalu_type; + goto end; + } else { + int left = nalu_len; + uint8_t *p = (uint8_t *)data; + + if (context->nalu_eat) { + left = nalu_len + 4 - context->nalu_eat; + switch_assert(left > 0); + } + + if (left > (SLICE_SIZE - 2)) { + uint8_t start_bit; + + if (context->nalu_eat) { + start_bit = 0; + } else { + start_bit = 0x80; + context->last_nalu_data_pos += 4; + context->last_nalu_type = *(buffer + context->last_nalu_data_pos) & 0x1f; + context->last_nri = context->last_nalu_type & 0x60; + context->last_nalu_data_pos++; + context->nalu_eat = 5; + } + + p[0] = context->last_nri | 28; // FU-A + p[1] = start_bit | context->last_nalu_type; + + memcpy(p + 2, buffer + context->last_nalu_data_pos, SLICE_SIZE - 2); + context->last_nalu_data_pos += (SLICE_SIZE - 2); + context->nalu_eat += (SLICE_SIZE - 2); + *len = SLICE_SIZE; + status = SWITCH_STATUS_MORE_DATA; + goto end; + } else { + p[0] = context->last_nri | 28; // FU-A + p[1] = 0x40 | context->last_nalu_type; + memcpy(p + 2, buffer + context->last_nalu_data_pos, left); + context->last_nalu_data_pos += left; + *len = left + 2; + *flag |= SFF_MARKER; + context->nalu_eat = 0; + context->cur_nalu_index++; + status = SWITCH_STATUS_MORE_DATA; + goto end; + } + } + +end: + return status; +} + +static switch_status_t switch_h264_init(switch_codec_t *codec, switch_codec_flag_t flags, const switch_codec_settings_t *codec_settings) +{ + h264_codec_context_t *context = NULL; + int encoding, decoding; + int ret; + + encoding = (flags & SWITCH_CODEC_FLAG_ENCODE); + decoding = (flags & SWITCH_CODEC_FLAG_DECODE); + + if (!(encoding || decoding)) { + return SWITCH_STATUS_FALSE; + } + + if (codec->fmtp_in) { + codec->fmtp_out = switch_core_strdup(codec->memory_pool, codec->fmtp_in); + } + + context = (h264_codec_context_t*)switch_core_alloc(codec->memory_pool, sizeof(h264_codec_context_t)); + memset(context, 0, sizeof(*context)); + + if (decoding) { + WelsCreateDecoder(&context->decoder); + + if (!context->decoder) { + switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_ERROR, "CreateDecoder Error\n"); + return SWITCH_STATUS_FALSE; + } + + context->decoder_params.eOutputColorFormat = videoFormatI420; + context->decoder_params.uiTargetDqLayer = (uint8_t) -1; + context->decoder_params.eEcActiveIdc = ERROR_CON_SLICE_COPY; + context->decoder_params.sVideoProperty.eVideoBsType = VIDEO_BITSTREAM_AVC; + context->decoder_params.sVideoProperty.size = sizeof(context->decoder_params.sVideoProperty); + + if (context->decoder->Initialize(&context->decoder_params)) { + switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_ERROR, "Decoder Initialize failed\n"); + goto error; + } + + if (set_decoder_options(context->decoder)) { + switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_WARNING, "Set Decoder Option Error\n"); + } + } + + if (encoding) { + ret = WelsCreateSVCEncoder(&context->encoder); + if (ret) { + switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_ERROR, "Cannot create encoder, error: %d\n", ret); + goto error; + } + + FillSpecificParameters(context->encoder_params); + } + + //if (encoding | decoding) WelsStderrSetTraceLevel(10); + + switch_buffer_create_dynamic(&(context->nalu_buffer), H264_NALU_BUFFER_SIZE, H264_NALU_BUFFER_SIZE * 8, 0); + codec->private_info = context; + + return SWITCH_STATUS_SUCCESS; + +error: + // TODO, do some proper clean up + return SWITCH_STATUS_FALSE; +} + + +static switch_status_t init_encoder(h264_codec_context_t *context, uint32_t width, uint32_t height) +{ + int i; + + context->encoder_params.iPicWidth = width; + context->encoder_params.iPicHeight = height; + for (int i=0; iencoder_params.iSpatialLayerNum; i++) { + context->encoder_params.sSpatialLayers[i].iVideoWidth = width; + context->encoder_params.sSpatialLayers[i].iVideoHeight = height; + } + + /* just do it, the encoder will Uninitialize first by itself if already initialized */ + if (cmResultSuccess != context->encoder->InitializeExt(&context->encoder_params)) { + switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_ERROR, "Encoder Init Error\n"); + return SWITCH_STATUS_FALSE; + } + context->encoder_initialized = SWITCH_TRUE; + return SWITCH_STATUS_SUCCESS; +} + +static switch_status_t switch_h264_encode(switch_codec_t *codec, + switch_image_t *img, + void *encoded_data, uint32_t *encoded_data_len, + unsigned int *flag) +{ + h264_codec_context_t *context = (h264_codec_context_t *)codec->private_info; + int width = 0; + int height = 0; + long enc_ret; + SSourcePicture* pic = NULL; + long result; + + if (*flag & SFF_WAIT_KEY_FRAME) { + context->encoder->ForceIntraFrame(1); + } + + if (img == NULL) { + return nalu_slice(context, encoded_data, encoded_data_len, flag); + } + + width = img->d_w; + height = img->d_h; + + //switch_assert(width > 0 && (width % 2 == 0)); + //switch_assert(height > 0 && (height % 2 == 0)); + + if (!context->encoder_initialized) { + switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_INFO, "initializing encoder %dx%d\n", width, height); + init_encoder(context, width, height); + } + + if (width != context->encoder_params.iPicWidth || height != context->encoder_params.iPicHeight ) { + switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_INFO, "picture size changed from %dx%d to %dx%d, reinitializing encoder", + context->encoder_params.iPicWidth, context->encoder_params.iPicHeight, width, height); + init_encoder(context, width, height); + } + + pic = new SSourcePicture; + if (pic == NULL) goto error; + + pic->iColorFormat = videoFormatI420; + pic->iPicHeight = height; + pic->iPicWidth = width; + pic->iStride[0] = img->stride[0]; + pic->iStride[1] = img->stride[1]; // = img->stride[2]; + + pic->pData[0] = img->planes[0]; + pic->pData[1] = img->planes[1]; + pic->pData[2] = img->planes[2]; + + result = (EVideoFrameType)context->encoder->EncodeFrame(pic, &context->bit_stream_info); + if (result != cmResultSuccess ) { + switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_ERROR, "EncodeFrame() failed, result = %ld\n", result); + goto error; + } + + context->cur_layer = 0; + context->cur_nalu_index = 0; + context->last_nalu_data_pos = 0; + + if(pic){ + delete pic; + pic = NULL; + } + return nalu_slice(context, encoded_data, encoded_data_len, flag); + +error: + if(pic){ + delete pic; + pic = NULL; + } + + *encoded_data_len = 0; + *flag |= SFF_MARKER; + return SWITCH_STATUS_FALSE; +} + +static switch_status_t switch_h264_decode(switch_codec_t *codec, + switch_frame_t *frame, + switch_image_t **img, + unsigned int *flag) +{ + h264_codec_context_t *context = (h264_codec_context_t *)codec->private_info; + switch_size_t size = 0; + uint32_t error_code; + + // switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_INFO, "len: %d ts: %u mark:%d\n", frame->datalen, ntohl(frame->timestamp), frame->m); + + if (context->last_received_timestamp && context->last_received_timestamp != frame->timestamp && + (!frame->m) && (!context->last_received_complete_picture)) { + // possible packet loss + switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_WARNING, "Packet Loss, skip privousely received packets\n"); + switch_buffer_zero(context->nalu_buffer); + } + + context->last_received_timestamp = frame->timestamp; + context->last_received_complete_picture = frame->m ? SWITCH_TRUE : SWITCH_FALSE; + + size = buffer_h264_nalu(context, frame); + + if (frame->m && size) { + int got_picture = 0; + int decoded_len; + int i; + const void *nalu = NULL; + int width, height; + SBufferInfo dest_buffer_info; + switch_buffer_peek_zerocopy(context->nalu_buffer, &nalu); + uint8_t* pData[3] = { 0 }; + + pData[0] = NULL; + pData[1] = NULL; + pData[2] = NULL; + memset(&dest_buffer_info, 0, sizeof(dest_buffer_info)); + + error_code = context->decoder->DecodeFrame2((uint8_t *)nalu, size, (uint8_t **)pData, &dest_buffer_info); + + if (error_code == dsErrorFree && dest_buffer_info.iBufferStatus == 1) { + width = dest_buffer_info.UsrData.sSystemBuffer.iWidth; + height = dest_buffer_info.UsrData.sSystemBuffer.iHeight; + + // switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_ERROR, "got pic: [%dx%d]\n", width, height); + + if (!context->img) { + context->img = switch_img_wrap(NULL, SWITCH_IMG_FMT_I420, width, height, 0, pData[0]); + assert(context->img); + } + + context->img->w = dest_buffer_info.UsrData.sSystemBuffer.iStride[0]; + context->img->h = dest_buffer_info.UsrData.sSystemBuffer.iStride[1]; + context->img->d_w = width; + context->img->d_h = height; + context->img->planes[0] = pData[0]; + context->img->planes[1] = pData[1]; + context->img->planes[2] = pData[2]; + context->img->stride[0] = dest_buffer_info.UsrData.sSystemBuffer.iStride[0]; + context->img->stride[1] = dest_buffer_info.UsrData.sSystemBuffer.iStride[1]; + context->img->stride[2] = dest_buffer_info.UsrData.sSystemBuffer.iStride[1]; + + *img = context->img; + // TODO: keep going and see if more picture available + // pDecoder->DecodeFrame (NULL, 0, pData, &sDstBufInfo); + } else { + if (error_code) { + switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_ERROR, "Decode error: 0x%x\n", error_code); + context->got_sps = 0; + } + } + + switch_buffer_zero(context->nalu_buffer); + return SWITCH_STATUS_SUCCESS; + } + +end: + return SWITCH_STATUS_SUCCESS; +} + +static switch_status_t switch_h264_destroy(switch_codec_t *codec) +{ + h264_codec_context_t *context = (h264_codec_context_t *)codec->private_info; + + if (!context) return SWITCH_STATUS_SUCCESS; + + if (context->nalu_buffer) switch_buffer_destroy(&context->nalu_buffer); + + if (context->encoder) { + context->encoder->Uninitialize(); + WelsDestroySVCEncoder(context->encoder); + } + + if (context->decoder) { + if (context->img) switch_img_free(context->img); + context->decoder->Uninitialize(); + WelsDestroyDecoder(context->decoder); + } + + return SWITCH_STATUS_SUCCESS; +} + + +SWITCH_MODULE_LOAD_FUNCTION(mod_openh264_load) +{ + switch_codec_interface_t *codec_interface; + + /* connect my internal structure to the blank pointer passed to me */ + *module_interface = switch_loadable_module_create_module_interface(pool, modname); + + SWITCH_ADD_CODEC(codec_interface, "H264 Video (with Cisco OpenH264)"); + switch_core_codec_add_video_implementation(pool, codec_interface, 99, "H264", NULL, + switch_h264_init, switch_h264_encode, switch_h264_decode, switch_h264_destroy); + + /* indicate that the module should continue to be loaded */ + return SWITCH_STATUS_SUCCESS; +} + +/* For Emacs: + * Local Variables: + * mode:c + * indent-tabs-mode:t + * tab-width:4 + * c-basic-offset:4 + * End: + * For VIM: + * vim:set softtabstop=4 shiftwidth=4 tabstop=4: + */ diff --git a/src/mod/codecs/mod_vpx/Makefile.am b/src/mod/codecs/mod_vpx/Makefile.am index 05d91a1712..becb0c5641 100644 --- a/src/mod/codecs/mod_vpx/Makefile.am +++ b/src/mod/codecs/mod_vpx/Makefile.am @@ -4,7 +4,7 @@ MODNAME=mod_vpx if HAVE_VPX mod_LTLIBRARIES = mod_vpx.la mod_vpx_la_SOURCES = mod_vpx.c -mod_vpx_la_LIBADD = $(switch_builddir)/libfreeswitch.la +mod_vpx_la_LIBADD = $(switch_builddir)/libfreeswitch.la -L/usr/local/lib/ mod_vpx_la_LDFLAGS = -lvpx -avoid-version -module -no-undefined -shared else install: error diff --git a/src/mod/codecs/mod_vpx/README b/src/mod/codecs/mod_vpx/README new file mode 100644 index 0000000000..d2ee1f88a8 --- /dev/null +++ b/src/mod/codecs/mod_vpx/README @@ -0,0 +1,9 @@ +To build this module I used the following steps: + +apt-get install yasm +git /usr/local/src/ +git clone https://chromium.googlesource.com/webm/libvpx +cd libvpx/build/ +../configure --enable-pic --enable-shared +make +make install diff --git a/src/mod/codecs/mod_vpx/mod_vpx.c b/src/mod/codecs/mod_vpx/mod_vpx.c new file mode 100644 index 0000000000..9e96f6f98f --- /dev/null +++ b/src/mod/codecs/mod_vpx/mod_vpx.c @@ -0,0 +1,556 @@ +/* + * FreeSWITCH Modular Media Switching Software Library / Soft-Switch Application + * Copyright (C) 2005-2012, Anthony Minessale II + * + * Version: MPL 1.1 + * + * The contents of this file are subject to the Mozilla Public License Version + * 1.1 (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * http://www.mozilla.org/MPL/ + * + * Software distributed under the License is distributed on an "AS IS" basis, + * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License + * for the specific language governing rights and limitations under the + * License. + * + * The Original Code is FreeSWITCH Modular Media Switching Software Library / Soft-Switch Application + * + * The Initial Developer of the Original Code is + * Seven Du + * Portions created by the Initial Developer are Copyright (C) + * the Initial Developer. All Rights Reserved. + * + * Contributor(s): + * + * Anthony Minessale II + * Seven Du + * Sam Russell + * + * mod_vpx.c -- VP8/9 Video Codec, with transcoding + * + */ + +#include +#include +#include +#include +#include +#include + +#define FPS 15 +#define SLICE_SIZE 1200 + +SWITCH_MODULE_LOAD_FUNCTION(mod_vpx_load); +SWITCH_MODULE_DEFINITION(mod_vpx, mod_vpx_load, NULL, NULL); + +struct vpx_context { + switch_codec_t *codec; + unsigned int flags; + + vpx_codec_enc_cfg_t config; + + vpx_codec_ctx_t encoder; + vpx_image_t *pic; + switch_bool_t force_key_frame; + int width; + int height; + int bitrate; + int fps; + int format; + int intra_period; + int pts; + int num; + int partition_index; + const vpx_codec_cx_pkt_t *pkt; + int pkt_pos; + vpx_codec_iter_t iter; + switch_time_t last_ts; + + vpx_codec_ctx_t decoder; + switch_buffer_t *vpx_packet_buffer; + int got_key_frame; + switch_size_t last_received_timestamp; + switch_bool_t last_received_complete_picture; + int need_key_frame; +}; +typedef struct vpx_context vpx_context_t; + +static switch_status_t switch_vpx_init(switch_codec_t *codec, switch_codec_flag_t flags, const switch_codec_settings_t *codec_settings) +{ + vpx_context_t *context = NULL; + int encoding, decoding; + vpx_codec_ctx_t *encoder = NULL; + vpx_codec_ctx_t *decoder = NULL; + vpx_codec_enc_cfg_t *config; + const vpx_codec_iface_t* encoder_interface = vpx_codec_vp8_cx(); + const vpx_codec_iface_t* decoder_interface = vpx_codec_vp8_dx(); + + + encoding = (flags & SWITCH_CODEC_FLAG_ENCODE); + decoding = (flags & SWITCH_CODEC_FLAG_DECODE); + + if (!(encoding || decoding) || ((context = switch_core_alloc(codec->memory_pool, sizeof(*context))) == 0)) { + return SWITCH_STATUS_FALSE; + } + memset(context, 0, sizeof(*context)); + context->flags = flags; + codec->private_info = context; + + if (codec->fmtp_in) { + codec->fmtp_out = switch_core_strdup(codec->memory_pool, codec->fmtp_in); + } + + config = &context->config; + + if (vpx_codec_enc_config_default(encoder_interface, config, 0) != VPX_CODEC_OK) { + switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_ERROR, "Encoder config Error\n"); + return SWITCH_STATUS_FALSE; + } + + context->width = 352; + context->height = 288; + context->bitrate = 38400; + + // settings + config->g_profile = 1; + config->g_w = context->width; + config->g_h = context->height; + config->rc_target_bitrate = context->bitrate; + config->g_timebase.num = 1; + config->g_timebase.den = 1000; + config->g_error_resilient = VPX_ERROR_RESILIENT_PARTITIONS; + config->g_lag_in_frames = 0; // 0- no frame lagging + config->g_threads = 1; + // rate control settings + config->rc_dropframe_thresh = 0; + config->rc_end_usage = VPX_CBR; + config->g_pass = VPX_RC_ONE_PASS; + // config->kf_mode = VPX_KF_DISABLED; + config->kf_mode = VPX_KF_AUTO; + // config->kf_min_dist = FPS;// Intra Period 3 seconds; + // config->kf_max_dist = FPS * 3; + config->rc_resize_allowed = 0; + config->rc_min_quantizer = 2; + config->rc_max_quantizer = 56; + //Rate control adaptation undershoot control. + // This value, expressed as a percentage of the target bitrate, + // controls the maximum allowed adaptation speed of the codec. + // This factor controls the maximum amount of bits that can be + // subtracted from the target bitrate in order to compensate for + // prior overshoot. + // Valid values in the range 0-1000. + config->rc_undershoot_pct = 100; + //Rate control adaptation overshoot control. + // This value, expressed as a percentage of the target bitrate, + // controls the maximum allowed adaptation speed of the codec. + // This factor controls the maximum amount of bits that can be + // added to the target bitrate in order to compensate for prior + // undershoot. + // Valid values in the range 0-1000. + config->rc_overshoot_pct = 15; + //Decoder Buffer Size. + // This value indicates the amount of data that may be buffered + // by the decoding application. Note that this value is expressed + // in units of time (milliseconds). For example, a value of 5000 + // indicates that the client will buffer (at least) 5000ms worth + // of encoded data. Use the target bitrate (rc_target_bitrate) to + // convert to bits/bytes, if necessary. + config->rc_buf_sz = 1000; + //Decoder Buffer Initial Size. + // This value indicates the amount of data that will be buffered + // by the decoding application prior to beginning playback. + // This value is expressed in units of time (milliseconds). + // Use the target bitrate (rc_target_bitrate) to convert to + // bits/bytes, if necessary. + config->rc_buf_initial_sz = 500; + //Decoder Buffer Optimal Size. + // This value indicates the amount of data that the encoder should + // try to maintain in the decoder's buffer. This value is expressed + // in units of time (milliseconds). + // Use the target bitrate (rc_target_bitrate) to convert to + // bits/bytes, if necessary. + config->rc_buf_optimal_sz = 600; + + if (encoding) { + if (vpx_codec_enc_init(&context->encoder, encoder_interface, config, 0 & VPX_CODEC_USE_OUTPUT_PARTITION) != VPX_CODEC_OK) { + switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_ERROR, "Codec init error: [%d:%s]\n", encoder->err, encoder->err_detail); + return SWITCH_STATUS_FALSE; + } + + // The static threshold imposes a change threshold on blocks below which they will be skipped by the encoder. + vpx_codec_control(encoder, VP8E_SET_STATIC_THRESHOLD, 100); + //Set cpu usage, a bit lower than normal (-6) but higher than android (-12) + vpx_codec_control(encoder, VP8E_SET_CPUUSED, -8); + // Only one partition + // vpx_codec_control(encoder, VP8E_SET_TOKEN_PARTITIONS, VP8_ONE_TOKENPARTITION); + // Enable noise reduction + vpx_codec_control(encoder, VP8E_SET_NOISE_SENSITIVITY, 0); + //Set max data rate for Intra frames. + // This value controls additional clamping on the maximum size of a keyframe. + // It is expressed as a percentage of the average per-frame bitrate, with the + // special (and default) value 0 meaning unlimited, or no additional clamping + // beyond the codec's built-in algorithm. + // For example, to allocate no more than 4.5 frames worth of bitrate to a keyframe, set this to 450. + vpx_codec_control(encoder, VP8E_SET_MAX_INTRA_BITRATE_PCT, 0); + } + + if (decoding) { + vp8_postproc_cfg_t ppcfg; + + if (vpx_codec_dec_init(&context->decoder, decoder_interface, NULL, VPX_CODEC_USE_POSTPROC) != VPX_CODEC_OK) { + switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_ERROR, "Codec init error: [%d:%s]\n", encoder->err, encoder->err_detail); + return SWITCH_STATUS_FALSE; + } + + // the types of post processing to be done, should be combination of "vp8_postproc_level" + ppcfg.post_proc_flag = VP8_DEMACROBLOCK | VP8_DEBLOCK; + // the strength of deblocking, valid range [0, 16] + ppcfg.deblocking_level = 3; + // Set deblocking settings + vpx_codec_control(decoder, VP8_SET_POSTPROC, &ppcfg); + + switch_buffer_create_dynamic(&context->vpx_packet_buffer, 512, 512, 1024000); + } + + return SWITCH_STATUS_SUCCESS; +} + +/* http://tools.ietf.org/html/draft-ietf-payload-vp8-10 + + The first octets after the RTP header are the VP8 payload descriptor, with the following structure. + + 0 1 2 3 4 5 6 7 + +-+-+-+-+-+-+-+-+ + |X|R|N|S|R| PID | (REQUIRED) + +-+-+-+-+-+-+-+-+ + X: |I|L|T|K| RSV | (OPTIONAL) + +-+-+-+-+-+-+-+-+ + I: |M| PictureID | (OPTIONAL) + +-+-+-+-+-+-+-+-+ + L: | TL0PICIDX | (OPTIONAL) + +-+-+-+-+-+-+-+-+ + T/K:|TID|Y| KEYIDX | (OPTIONAL) + +-+-+-+-+-+-+-+-+ + + + VP8 Payload Header + + 0 1 2 3 4 5 6 7 + +-+-+-+-+-+-+-+-+ + |Size0|H| VER |P| + +-+-+-+-+-+-+-+-+ + | Size1 | + +-+-+-+-+-+-+-+-+ + | Size2 | + +-+-+-+-+-+-+-+-+ + | Bytes 4..N of | + | VP8 payload | + : : + +-+-+-+-+-+-+-+-+ + | OPTIONAL RTP | + | padding | + : : + +-+-+-+-+-+-+-+-+ +*/ + +static switch_status_t consume_partition(vpx_context_t *context, void *data, uint32_t *len, uint32_t *flag) +{ + if (!context->pkt) context->pkt = vpx_codec_get_cx_data(&context->encoder, &context->iter); + + *flag &= ~SFF_MARKER; + + if (context->pkt) { + // if (context->pkt->kind == VPX_CODEC_CX_FRAME_PKT && (context->pkt->data.frame.flags & VPX_FRAME_IS_KEY) && context->pkt_pos == 0) { + // switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_ERROR, "============================Got a VP8 Key Frame size:[%d]===================================\n", (int)context->pkt->data.frame.sz); + // } + + // switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_ERROR, "size:%d flag: %x part_id: %d pts: %lld duration:%ld\n", + // (int)context->pkt->data.frame.sz, context->pkt->data.frame.flags, context->pkt->data.frame.partition_id, context->pkt->data.frame.pts, context->pkt->data.frame.duration); + } + + if (!context->pkt || context->pkt_pos >= context->pkt->data.frame.sz - 1 || context->pkt->kind != VPX_CODEC_CX_FRAME_PKT) { + *len = 0; + *flag |= SFF_MARKER; + context->pkt_pos = 0; + context->pkt = NULL; + return SWITCH_STATUS_SUCCESS; + } + + if (context->pkt->data.frame.sz < SLICE_SIZE) { + uint8_t hdr = 0x10; + + memcpy(data, &hdr, 1); + memcpy((uint8_t *)data + 1, context->pkt->data.frame.buf, context->pkt->data.frame.sz); + *len = context->pkt->data.frame.sz + 1; + *flag |= SFF_MARKER; + context->pkt = NULL; + context->pkt_pos = 0; + return SWITCH_STATUS_SUCCESS; + } else { + int left = context->pkt->data.frame.sz - context->pkt_pos; + uint8_t *p = data; + + if (left < SLICE_SIZE) { + p[0] = 0; + memcpy(p+1, (uint8_t *)context->pkt->data.frame.buf + context->pkt_pos, left); + context->pkt_pos = 0; + context->pkt = NULL; + *len = left + 1; + *flag |= SFF_MARKER; + return SWITCH_STATUS_SUCCESS; + } else { + uint8_t hdr = context->pkt_pos == 0 ? 0x10 : 0; + + p[0] = hdr; + memcpy(p+1, (uint8_t *)context->pkt->data.frame.buf + context->pkt_pos, SLICE_SIZE - 1); + context->pkt_pos += (SLICE_SIZE - 1); + *len = SLICE_SIZE; + return SWITCH_STATUS_MORE_DATA; + } + } +} + +static switch_status_t switch_vpx_encode(switch_codec_t *codec, switch_image_t *img, + void *encoded_data, uint32_t *encoded_data_len, + unsigned int *flag) +{ + vpx_context_t *context = (vpx_context_t *)codec->private_info; + uint32_t duration = 90000 / FPS; + int width = 0; + int height = 0; + vpx_enc_frame_flags_t vpx_flags = 0; + + if (*flag & SFF_WAIT_KEY_FRAME) { + context->need_key_frame = 1; + } + + if (img == NULL) { + return consume_partition(context, encoded_data, encoded_data_len, flag); + } + + width = img->d_w; + height = img->d_h; + + //switch_assert(width > 0 && (width % 4 == 0)); + //switch_assert(height > 0 && (height % 4 == 0)); + + if (context->config.g_w != width || context->config.g_h != height) { + switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_NOTICE, "VPX reset encoder picture from %dx%d to %dx%d\n", context->config.g_w, context->config.g_h, width, height); + context->config.g_w = width; + context->config.g_h = height; + if (vpx_codec_enc_config_set(&context->encoder, &context->config) != VPX_CODEC_OK) { + switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_WARNING, "VPX reset config error!"); + } + } + + if (context->last_ts == 0) context->last_ts = switch_micro_time_now(); + + if ((switch_micro_time_now() - context->last_ts) > 2 * 1000000) { + // the config params doesn't seems work for generate regular key frames, + // so we do some trick here to force a key frame every 2 sec + // vpx_flags = VPX_EFLAG_FORCE_KF; + context->last_ts = switch_micro_time_now(); + } + + if (context->need_key_frame > 0) { + // force generate a key frame + vpx_flags |= VPX_EFLAG_FORCE_KF; + context->last_ts = switch_micro_time_now(); + context->need_key_frame--; + } + + if (vpx_codec_encode(&context->encoder, (vpx_image_t *)img, context->pts, duration, vpx_flags, VPX_DL_REALTIME) != VPX_CODEC_OK) { + switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_ERROR, "VP8 encode error %d:%s\n", + context->encoder.err, context->encoder.err_detail); + return SWITCH_STATUS_FALSE; + } + + context->pts += duration; + context->iter = NULL; + + return consume_partition(context, encoded_data, encoded_data_len, flag); +} + +static void buffer_vpx_packets(vpx_context_t *context, switch_frame_t *frame) +{ + uint8_t *data = frame->data; + uint8_t S; + uint8_t DES; + uint8_t PID; + int len; + + if (!frame) { + switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_ERROR, "no frame in codec!!\n"); + return; + } + + DES = *data; + data++; + S = DES & 0x10; + PID = DES & 0x07; + + if (DES & 0x80) { // X + uint8_t X = *data; + data++; + if (X & 0x80) { // I + uint8_t M = (*data) & 0x80; + data++; + if (M) data++; + } + if (X & 0x40) data++; // L + if (X & 0x30) data++; // T/K + } + + len = frame->datalen - (data - (uint8_t *)frame->data); + if (len <= 0) { + switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_ERROR, "Invalid packet %d\n", len); + switch_buffer_zero(context->vpx_packet_buffer); + return; + } + + if (S && (PID == 0)) { + uint8_t keyframe; + + keyframe = ((*data) & 0x01) ? 0 : 1; + + // switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_ERROR, "[%d] PID: %d K:%d P:%d Inv:%d len: %d size:%d\n", frame->datalen, PID, keyframe, profile, invisible, len, size); + + if (keyframe) { + if (!context->got_key_frame) context->got_key_frame = 1; + } + } + + if (!context->got_key_frame) { + switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_WARNING, "Waiting for key frame\n"); + switch_set_flag(frame, SFF_WAIT_KEY_FRAME); + return; + } + + switch_buffer_write(context->vpx_packet_buffer, data, len); +} + +static switch_status_t switch_vpx_decode(switch_codec_t *codec, switch_frame_t *frame, switch_image_t **img, unsigned int *flag) +{ + vpx_context_t *context = (vpx_context_t *)codec->private_info; + vpx_codec_ctx_t *decoder = &context->decoder; + switch_size_t len; + + if (!decoder) { + switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_WARNING, "VPX decoder is not initialized!\n"); + return SWITCH_STATUS_FALSE; + } + + // switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_INFO, "len: %d ts: %" SWITCH_SIZE_T_FMT " mark:%d\n", frame->datalen, frame->timestamp, frame->m); + + if (context->last_received_timestamp && context->last_received_timestamp != frame->timestamp && + (!frame->m) && (!context->last_received_complete_picture)) { + // possible packet loss + switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_WARNING, "Packet Loss, skip previouse received frame (to avoid crash?)\n"); + switch_buffer_zero(context->vpx_packet_buffer); + } + + context->last_received_timestamp = frame->timestamp; + context->last_received_complete_picture = frame->m ? SWITCH_TRUE : SWITCH_FALSE; + + buffer_vpx_packets(context, frame); + + len = switch_buffer_inuse(context->vpx_packet_buffer); + + if (frame->m && len) { + uint8_t *data; + vpx_codec_iter_t iter = NULL; + int corrupted = 0; + int err; + // int keyframe = 0; + + switch_buffer_peek_zerocopy(context->vpx_packet_buffer, (void *)&data); + // keyframe = (*data & 0x01) ? 0 : 1; + + // switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_ERROR, "buffered: %" SWITCH_SIZE_T_FMT ", key: %d\n", len, keyframe); + + err = vpx_codec_decode(decoder, data, (unsigned int)len, NULL, 0); + + if (err != VPX_CODEC_OK) { + switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_ERROR, "Error decoding %" SWITCH_SIZE_T_FMT " bytes, [%d:%d:%s]\n", len, err, decoder->err, decoder->err_detail); + switch_set_flag(frame, SFF_WAIT_KEY_FRAME); + context->got_key_frame = 0; + switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_ERROR, "require key frame %d\n", context->got_key_frame); + goto error; + } + + if (vpx_codec_control(decoder, VP8D_GET_FRAME_CORRUPTED, &corrupted) != VPX_CODEC_OK) { + switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_WARNING, "VPX control error!\n"); + goto error; + } + + *img = (switch_image_t *)vpx_codec_get_frame(decoder, &iter); + + if (!(*img) || corrupted) { + switch_buffer_zero(context->vpx_packet_buffer); + goto ok; + } + + switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_ERROR, "%dx%d %dx%d\n", (*img)->w,(*img)->h, (*img)->d_w, (*img)->d_h); + + switch_buffer_zero(context->vpx_packet_buffer); + } + +ok: + return SWITCH_STATUS_SUCCESS; + +error: + switch_buffer_zero(context->vpx_packet_buffer); + + return SWITCH_STATUS_FALSE; +} + +static switch_status_t switch_vpx_destroy(switch_codec_t *codec) +{ + vpx_context_t *context = (vpx_context_t *)codec->private_info; + + if (context) { + if ((codec->flags & SWITCH_CODEC_FLAG_ENCODE)) { + vpx_codec_destroy(&context->encoder); // TODO fix crash + } + + if ((codec->flags & SWITCH_CODEC_FLAG_DECODE)) { + vpx_codec_destroy(&context->decoder); + } + + if (context->pic) { + vpx_img_free(context->pic); + context->pic = NULL; + } + if (context->vpx_packet_buffer) { + switch_buffer_destroy(&context->vpx_packet_buffer); + context->vpx_packet_buffer = NULL; + } + } + return SWITCH_STATUS_SUCCESS; +} + +SWITCH_MODULE_LOAD_FUNCTION(mod_vpx_load) +{ + switch_codec_interface_t *codec_interface; + + /* connect my internal structure to the blank pointer passed to me */ + *module_interface = switch_loadable_module_create_module_interface(pool, modname); + SWITCH_ADD_CODEC(codec_interface, "VP8 Video"); + switch_core_codec_add_video_implementation(pool, codec_interface, 99, "VP8", NULL, + switch_vpx_init, switch_vpx_encode, switch_vpx_decode, switch_vpx_destroy); + + /* indicate that the module should continue to be loaded */ + return SWITCH_STATUS_SUCCESS; +} + +/* For Emacs: + * Local Variables: + * mode:c + * indent-tabs-mode:t + * tab-width:4 + * c-basic-offset:4 + * End: + * For VIM: + * vim:set softtabstop=4 shiftwidth=4 tabstop=4 noet: + */ From d4a5ebf97dd957722e7ff0b008cecf810c10333b Mon Sep 17 00:00:00 2001 From: Anthony Minessale Date: Tue, 11 Nov 2014 19:10:45 -0600 Subject: [PATCH 034/629] FS-7500 FS-7517 FS-7508 FS-7514: chrome working on most, bria working on some --- src/mod/codecs/mod_openh264/mod_openh264.cpp | 5 +-- src/mod/codecs/mod_vpx/mod_vpx.c | 13 +++++--- src/mod/formats/mod_vlc/mod_vlc.c | 35 +++++++++++--------- 3 files changed, 30 insertions(+), 23 deletions(-) diff --git a/src/mod/codecs/mod_openh264/mod_openh264.cpp b/src/mod/codecs/mod_openh264/mod_openh264.cpp index 9a98776d4f..c17f8af078 100644 --- a/src/mod/codecs/mod_openh264/mod_openh264.cpp +++ b/src/mod/codecs/mod_openh264/mod_openh264.cpp @@ -395,8 +395,9 @@ static switch_status_t switch_h264_encode(switch_codec_t *codec, return nalu_slice(context, encoded_data, encoded_data_len, flag); } - width = img->d_w; - height = img->d_h; + //d_w and d_h are corrupt + width = img->w; + height = img->h; //switch_assert(width > 0 && (width % 2 == 0)); //switch_assert(height > 0 && (height % 2 == 0)); diff --git a/src/mod/codecs/mod_vpx/mod_vpx.c b/src/mod/codecs/mod_vpx/mod_vpx.c index 9e96f6f98f..185b977bbf 100644 --- a/src/mod/codecs/mod_vpx/mod_vpx.c +++ b/src/mod/codecs/mod_vpx/mod_vpx.c @@ -108,9 +108,10 @@ static switch_status_t switch_vpx_init(switch_codec_t *codec, switch_codec_flag_ return SWITCH_STATUS_FALSE; } - context->width = 352; - context->height = 288; - context->bitrate = 38400; + // very big defaults till we know why scaling segs it + context->width = 3840; + context->height = 2160; + context->bitrate = 3840000; // settings config->g_profile = 1; @@ -329,8 +330,10 @@ static switch_status_t switch_vpx_encode(switch_codec_t *codec, switch_image_t * return consume_partition(context, encoded_data, encoded_data_len, flag); } - width = img->d_w; - height = img->d_h; + //d_w and d_h are messed up + + width = img->w; + height = img->h; //switch_assert(width > 0 && (width % 4 == 0)); //switch_assert(height > 0 && (height % 4 == 0)); diff --git a/src/mod/formats/mod_vlc/mod_vlc.c b/src/mod/formats/mod_vlc/mod_vlc.c index 8435d1ff60..ea760f1838 100644 --- a/src/mod/formats/mod_vlc/mod_vlc.c +++ b/src/mod/formats/mod_vlc/mod_vlc.c @@ -115,6 +115,7 @@ struct vlc_video_context { int force_width; int force_height; int video_refresh_req; + int channels; }; typedef struct vlc_video_context vlc_video_context_t; @@ -204,7 +205,7 @@ void vlc_play_audio_callback(void *data, const void *samples, unsigned count, in switch_buffer_toss(context->audio_buffer, bytes - VLC_BUFFER_SIZE); } - switch_buffer_write(context->audio_buffer, samples, count * 2); + switch_buffer_write(context->audio_buffer, samples, count * 2 * context->channels); if (!context->playing) { context->playing = 1; @@ -266,8 +267,8 @@ static void vlc_video_unlock_callback(void *data, void *id, void *const *p_pixel } //printf("WTF VLC d_w=%d d_h=%d w=%d h=%d\n", context->img->d_w, context->img->d_h, context->img->w, context->img->h); - context->img->d_w = context->img->w; - context->img->d_h = context->img->h; + //context->img->d_w = context->img->w; + //context->img->d_h = context->img->h; switch_core_codec_encode_video(codec, context->img, frame->data, &encoded_data_len, &flag); @@ -640,8 +641,9 @@ static switch_status_t vlc_file_read(switch_file_handle_t *handle, void *data, s memset(data, 0, read); } - if (read) - *len = read/2; + if (read) { + *len = read / 2 / handle->channels; + } return SWITCH_STATUS_SUCCESS; } @@ -649,7 +651,7 @@ static switch_status_t vlc_file_read(switch_file_handle_t *handle, void *data, s static switch_status_t vlc_file_write(switch_file_handle_t *handle, void *data, size_t *len) { vlc_file_context_t *context = handle->private_info; - size_t bytes = *len * sizeof(int16_t); + size_t bytes = *len * sizeof(int16_t) * handle->channels; switch_mutex_lock(context->audio_mutex); context->samples += *len; @@ -718,7 +720,7 @@ SWITCH_STANDARD_APP(play_video_function) switch_size_t audio_datalen; - switch_channel_set_flag(channel, CF_VIDEO_PASSIVE); + switch_channel_clear_flag(channel, CF_VIDEO_ECHO); context = switch_core_session_alloc(session, sizeof(vlc_video_context_t)); switch_assert(context); @@ -783,6 +785,7 @@ SWITCH_STANDARD_APP(play_video_function) } context->pt = pt; + context->channels = read_impl.number_of_channels; audio_frame.codec = &codec; video_frame.codec = read_vid_codec; video_frame.packet = context->video_packet; @@ -802,7 +805,7 @@ SWITCH_STANDARD_APP(play_video_function) NULL, read_impl.actual_samples_per_second, read_impl.microseconds_per_packet/1000, - 1, SWITCH_CODEC_FLAG_ENCODE | SWITCH_CODEC_FLAG_DECODE, + read_impl.number_of_channels, SWITCH_CODEC_FLAG_ENCODE | SWITCH_CODEC_FLAG_DECODE, NULL, switch_core_session_get_pool(session)) == SWITCH_STATUS_SUCCESS) { switch_log_printf(SWITCH_CHANNEL_SESSION_LOG(session), SWITCH_LOG_DEBUG, "Audio Codec Activation Success\n"); } else { @@ -811,7 +814,7 @@ SWITCH_STANDARD_APP(play_video_function) goto end; } - audio_datalen = codec.implementation->actual_samples_per_second / 1000 * (read_impl.microseconds_per_packet / 1000); + audio_datalen = read_impl.decoded_bytes_per_packet; //codec.implementation->actual_samples_per_second / 1000 * (read_impl.microseconds_per_packet / 1000); context->session = session; context->pool = pool; @@ -857,7 +860,7 @@ SWITCH_STANDARD_APP(play_video_function) context->mp = libvlc_media_player_new_from_media(context->m); - libvlc_audio_set_format(context->mp, "S16N", read_impl.actual_samples_per_second, 1); + libvlc_audio_set_format(context->mp, "S16N", read_impl.actual_samples_per_second, read_impl.number_of_channels); libvlc_audio_set_callbacks(context->mp, vlc_play_audio_callback, NULL,NULL,NULL,NULL, (void *) context); if (switch_channel_test_flag(channel, CF_VIDEO)) { @@ -917,15 +920,15 @@ SWITCH_STANDARD_APP(play_video_function) } } - if (switch_buffer_inuse(context->audio_buffer) >= audio_datalen * 2) { + if (switch_buffer_inuse(context->audio_buffer) >= audio_datalen) { const void *decoded_data; - // switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_ERROR, "%d %d\n", (int)switch_buffer_inuse(context->audio_buffer), (int)audio_datalen * 2); + //switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_ERROR, "%d %d\n", (int)switch_buffer_inuse(context->audio_buffer), (int)audio_datalen); switch_buffer_peek_zerocopy(context->audio_buffer, &decoded_data); audio_frame.data = (void *)decoded_data; - audio_frame.datalen = audio_datalen*2; - audio_frame.buflen = audio_datalen*2; + audio_frame.datalen = audio_datalen;; + audio_frame.buflen = audio_datalen; switch_core_session_write_frame(context->session, &audio_frame, SWITCH_IO_FLAG_NONE, 0); - switch_buffer_toss(context->audio_buffer, audio_datalen * 2); + switch_buffer_toss(context->audio_buffer, audio_datalen); } } @@ -954,7 +957,7 @@ end: switch_core_codec_destroy(&codec); } - switch_channel_clear_flag(channel, CF_VIDEO_PASSIVE); + switch_core_session_video_reset(session); } static switch_status_t channel_on_init(switch_core_session_t *session); From 765fff3d75243e59f82a42fb6191630dea8d3b0f Mon Sep 17 00:00:00 2001 From: Anthony Minessale Date: Wed, 12 Nov 2014 21:30:39 -0600 Subject: [PATCH 035/629] FS-7500: add support for codec control and use it to pass messages down to the codec and use it to implement keyframe reset for fir, pli and nack. Later we will expand to handle nack correctly. --- src/include/switch_core.h | 17 +++ src/include/switch_core_media.h | 11 ++ src/include/switch_loadable_module.h | 29 +++-- src/include/switch_module_interfaces.h | 2 + src/include/switch_types.h | 29 ++++- src/mod/codecs/mod_openh264/mod_openh264.cpp | 12 +- src/mod/codecs/mod_vpx/mod_vpx.c | 27 +++- src/mod/codecs/mod_yuv/mod_yuv.c | 2 +- src/switch_core_codec.c | 33 +++++ src/switch_core_media.c | 129 +++++++++++++------ src/switch_rtp.c | 32 +++-- 11 files changed, 258 insertions(+), 65 deletions(-) diff --git a/src/include/switch_core.h b/src/include/switch_core.h index 330b6c9e9c..83cc10aa4d 100644 --- a/src/include/switch_core.h +++ b/src/include/switch_core.h @@ -1634,6 +1634,23 @@ SWITCH_DECLARE(switch_status_t) switch_core_codec_encode_video(switch_codec_t *c switch_image_t *img, void *encoded_data, uint32_t *encoded_data_len, unsigned int *flag); +/*! + \brief send control data using a codec handle + \param codec the codec handle to use + \param cmd the command to send + \param ctype the type of the arguement + \param cmd_data a void pointer to the data matching the passed type + \param rtype the type of the response if any + \param ret_data a void pointer to a pointer of return data + \return SWITCH_STATUS_SUCCESS if the command was received +*/ +SWITCH_DECLARE(switch_status_t) switch_core_codec_control(switch_codec_t *codec, + switch_codec_control_command_t cmd, + switch_codec_control_type_t ctype, + void *cmd_data, + switch_codec_control_type_t *rtype, + void **ret_data); + /*! \brief Decode video data using a codec handle \param codec the codec handle to use diff --git a/src/include/switch_core_media.h b/src/include/switch_core_media.h index 6e9f3b282a..056a5abfce 100644 --- a/src/include/switch_core_media.h +++ b/src/include/switch_core_media.h @@ -294,6 +294,17 @@ SWITCH_DECLARE(const char *) switch_core_media_crypto_type2str(switch_rtp_crypto SWITCH_DECLARE(int) switch_core_media_crypto_keylen(switch_rtp_crypto_key_type_t type); SWITCH_DECLARE(char *) switch_core_media_filter_sdp(const char *sdp, const char *cmd, const char *arg); SWITCH_DECLARE(char *) switch_core_media_process_sdp_filter(const char *sdp, const char *cmd_buf, switch_core_session_t *session); + + +SWITCH_DECLARE(switch_status_t) switch_core_media_codec_control(switch_core_session_t *session, + switch_media_type_t mtype, + switch_io_type_t iotype, + switch_codec_control_command_t cmd, + switch_codec_control_type_t ctype, + void *cmd_data, + switch_codec_control_type_t *rtype, + void **ret_data); + SWITCH_END_EXTERN_C #endif /* For Emacs: diff --git a/src/include/switch_loadable_module.h b/src/include/switch_loadable_module.h index 514ad45534..89549241f7 100644 --- a/src/include/switch_loadable_module.h +++ b/src/include/switch_loadable_module.h @@ -533,19 +533,21 @@ static inline void switch_core_codec_add_implementation(switch_memory_pool_t *po ///\} static inline void switch_core_codec_add_video_implementation(switch_memory_pool_t *pool, switch_codec_interface_t *codec_interface, - /*! the IANA code number */ - switch_payload_t ianacode, - /*! the IANA code name */ - const char *iananame, - /*! default fmtp to send (can be overridden by the init function) */ - char *fmtp, - switch_core_codec_init_func_t init, - /*! function to encode raw data into encoded data */ - switch_core_codec_video_encode_func_t encode, - /*! function to decode encoded data into raw data */ - switch_core_codec_video_decode_func_t decode, - /*! deinitalize a codec handle using this implementation */ - switch_core_codec_destroy_func_t destroy) + /*! the IANA code number */ + switch_payload_t ianacode, + /*! the IANA code name */ + const char *iananame, + /*! default fmtp to send (can be overridden by the init function) */ + char *fmtp, + switch_core_codec_init_func_t init, + /*! function to encode raw data into encoded data */ + switch_core_codec_video_encode_func_t encode, + /*! function to decode encoded data into raw data */ + switch_core_codec_video_decode_func_t decode, + /*! function to send control messages to the codec */ + switch_core_codec_control_func_t control, + /*! deinitalize a codec handle using this implementation */ + switch_core_codec_destroy_func_t destroy) { switch_codec_implementation_t *impl = (switch_codec_implementation_t *) switch_core_alloc(pool, sizeof(*impl)); @@ -564,6 +566,7 @@ static inline void switch_core_codec_add_video_implementation(switch_memory_pool impl->init = init; impl->encode_video = encode; impl->decode_video = decode; + impl->codec_control = control; impl->destroy = destroy; impl->codec_id = codec_interface->codec_id; impl->next = codec_interface->implementations; diff --git a/src/include/switch_module_interfaces.h b/src/include/switch_module_interfaces.h index 20f110ab5f..60298f0f66 100644 --- a/src/include/switch_module_interfaces.h +++ b/src/include/switch_module_interfaces.h @@ -679,6 +679,8 @@ struct switch_codec_implementation { switch_core_codec_video_encode_func_t encode_video; /*! function to decode video encoded data into raw data */ switch_core_codec_video_decode_func_t decode_video; + /*! function to send control messages to the codec */ + switch_core_codec_control_func_t codec_control; /*! deinitalize a codec handle using this implementation */ switch_core_codec_destroy_func_t destroy; uint32_t codec_id; diff --git a/src/include/switch_types.h b/src/include/switch_types.h index dd6a979a62..56093011c3 100644 --- a/src/include/switch_types.h +++ b/src/include/switch_types.h @@ -2168,12 +2168,33 @@ typedef switch_status_t (*switch_core_codec_decode_func_t) (switch_codec_t *code void *decoded_data, uint32_t *decoded_data_len, uint32_t *decoded_rate, unsigned int *flag); typedef switch_status_t (*switch_core_codec_video_encode_func_t) (switch_codec_t *codec, - switch_image_t *img, - void *encoded_data, uint32_t *encoded_data_len, unsigned int *flag); + switch_image_t *img, + void *encoded_data, uint32_t *encoded_data_len, unsigned int *flag); typedef switch_status_t (*switch_core_codec_video_decode_func_t) (switch_codec_t *codec, - switch_frame_t *frame, - switch_image_t **img, unsigned int *flag); + switch_frame_t *frame, + switch_image_t **img, unsigned int *flag); + +typedef enum { + SCC_VIDEO_REFRESH = 0 +} switch_codec_control_command_t; + +typedef enum { + SCCT_NONE = 0 +} switch_codec_control_type_t; + +typedef enum { + SWITCH_IO_READ, + SWITCH_IO_WRITE +} switch_io_type_t; + +typedef switch_status_t (*switch_core_codec_control_func_t) (switch_codec_t *codec, + switch_codec_control_command_t cmd, + switch_codec_control_type_t ctype, + void *cmd_data, + switch_codec_control_type_t *rtype, + void **ret_data); + typedef switch_status_t (*switch_core_codec_init_func_t) (switch_codec_t *, switch_codec_flag_t, const switch_codec_settings_t *codec_settings); typedef switch_status_t (*switch_core_codec_fmtp_parse_func_t) (const char *fmtp, switch_codec_fmtp_t *codec_fmtp); diff --git a/src/mod/codecs/mod_openh264/mod_openh264.cpp b/src/mod/codecs/mod_openh264/mod_openh264.cpp index c17f8af078..1b88dbce6c 100644 --- a/src/mod/codecs/mod_openh264/mod_openh264.cpp +++ b/src/mod/codecs/mod_openh264/mod_openh264.cpp @@ -533,6 +533,16 @@ end: return SWITCH_STATUS_SUCCESS; } +static switch_status_t switch_h264_control(switch_codec_t *codec, + switch_codec_control_command_t cmd, + switch_codec_control_type_t ctype, + void *cmd_data, + switch_codec_control_type_t *rtype, + void **ret_data) { + + return SWITCH_STATUS_SUCCESS; +} + static switch_status_t switch_h264_destroy(switch_codec_t *codec) { h264_codec_context_t *context = (h264_codec_context_t *)codec->private_info; @@ -565,7 +575,7 @@ SWITCH_MODULE_LOAD_FUNCTION(mod_openh264_load) SWITCH_ADD_CODEC(codec_interface, "H264 Video (with Cisco OpenH264)"); switch_core_codec_add_video_implementation(pool, codec_interface, 99, "H264", NULL, - switch_h264_init, switch_h264_encode, switch_h264_decode, switch_h264_destroy); + switch_h264_init, switch_h264_encode, switch_h264_decode, switch_h264_control, switch_h264_destroy); /* indicate that the module should continue to be loaded */ return SWITCH_STATUS_SUCCESS; diff --git a/src/mod/codecs/mod_vpx/mod_vpx.c b/src/mod/codecs/mod_vpx/mod_vpx.c index 185b977bbf..0fe2b0a139 100644 --- a/src/mod/codecs/mod_vpx/mod_vpx.c +++ b/src/mod/codecs/mod_vpx/mod_vpx.c @@ -358,6 +358,7 @@ static switch_status_t switch_vpx_encode(switch_codec_t *codec, switch_image_t * if (context->need_key_frame > 0) { // force generate a key frame + switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_NOTICE, "VPX KEYFRAME REQ\n"); vpx_flags |= VPX_EFLAG_FORCE_KF; context->last_ts = switch_micro_time_now(); context->need_key_frame--; @@ -508,6 +509,30 @@ error: return SWITCH_STATUS_FALSE; } + +static switch_status_t switch_vpx_control(switch_codec_t *codec, + switch_codec_control_command_t cmd, + switch_codec_control_type_t ctype, + void *cmd_data, + switch_codec_control_type_t *rtype, + void **ret_data) +{ + + vpx_context_t *context = (vpx_context_t *)codec->private_info; + + switch(cmd) { + case SCC_VIDEO_REFRESH: + context->need_key_frame = 1; + break; + default: + break; + } + + + return SWITCH_STATUS_SUCCESS; +} + + static switch_status_t switch_vpx_destroy(switch_codec_t *codec) { vpx_context_t *context = (vpx_context_t *)codec->private_info; @@ -541,7 +566,7 @@ SWITCH_MODULE_LOAD_FUNCTION(mod_vpx_load) *module_interface = switch_loadable_module_create_module_interface(pool, modname); SWITCH_ADD_CODEC(codec_interface, "VP8 Video"); switch_core_codec_add_video_implementation(pool, codec_interface, 99, "VP8", NULL, - switch_vpx_init, switch_vpx_encode, switch_vpx_decode, switch_vpx_destroy); + switch_vpx_init, switch_vpx_encode, switch_vpx_decode, switch_vpx_control, switch_vpx_destroy); /* indicate that the module should continue to be loaded */ return SWITCH_STATUS_SUCCESS; diff --git a/src/mod/codecs/mod_yuv/mod_yuv.c b/src/mod/codecs/mod_yuv/mod_yuv.c index 6748e61f12..a1f38a929b 100644 --- a/src/mod/codecs/mod_yuv/mod_yuv.c +++ b/src/mod/codecs/mod_yuv/mod_yuv.c @@ -85,7 +85,7 @@ SWITCH_MODULE_LOAD_FUNCTION(mod_yuv_load) SWITCH_ADD_CODEC(codec_interface, "YUV I420 Video (raw)"); switch_core_codec_add_video_implementation(pool, codec_interface, 99, "I420", NULL, - switch_yuv_init, switch_yuv_encode, switch_yuv_decode, switch_yuv_destroy); + switch_yuv_init, switch_yuv_encode, switch_yuv_decode, NULL, switch_yuv_destroy); /* indicate that the module should continue to be loaded */ return SWITCH_STATUS_SUCCESS; diff --git a/src/switch_core_codec.c b/src/switch_core_codec.c index 0800db506c..ef776c790f 100644 --- a/src/switch_core_codec.c +++ b/src/switch_core_codec.c @@ -843,6 +843,39 @@ SWITCH_DECLARE(switch_status_t) switch_core_codec_decode_video(switch_codec_t *c return status; } + +SWITCH_DECLARE(switch_status_t) switch_core_codec_control(switch_codec_t *codec, + switch_codec_control_command_t cmd, + switch_codec_control_type_t ctype, + void *cmd_data, + switch_codec_control_type_t *rtype, + void **ret_data) +{ + + switch_status_t status = SWITCH_STATUS_FALSE; + + + switch_assert(codec != NULL); + + + if (!codec->implementation || !switch_core_codec_ready(codec)) { + switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_ERROR, "Codec is not initialized!\n"); + return SWITCH_STATUS_NOT_INITALIZED; + } + + + if (codec->mutex) switch_mutex_lock(codec->mutex); + + if (codec->implementation->codec_control) { + status = codec->implementation->codec_control(codec, cmd, ctype, cmd_data, rtype, ret_data); + } + + if (codec->mutex) switch_mutex_unlock(codec->mutex); + + + return status; +} + SWITCH_DECLARE(switch_status_t) switch_core_codec_destroy(switch_codec_t *codec) { switch_mutex_t *mutex = codec->mutex; diff --git a/src/switch_core_media.c b/src/switch_core_media.c index 9dcedfbd9b..8387eaf372 100644 --- a/src/switch_core_media.c +++ b/src/switch_core_media.c @@ -152,6 +152,7 @@ typedef struct switch_rtp_engine_s { uint8_t fir; uint8_t pli; + uint8_t nack; uint8_t no_crypto; } switch_rtp_engine_t; @@ -4006,9 +4007,13 @@ SWITCH_DECLARE(uint8_t) switch_core_media_negotiate_sdp(switch_core_session_t *s v_engine->fir++; } - //if (switch_stristr("pli", attr->a_value)) { - // v_engine->pli++; - //} + if (switch_stristr("pli", attr->a_value)) { + v_engine->pli++; + } + + if (switch_stristr("nack", attr->a_value)) { + v_engine->nack++; + } smh->mparams->rtcp_video_interval_msec = "10000"; } @@ -6429,9 +6434,12 @@ SWITCH_DECLARE(void) switch_core_media_gen_local_sdp(switch_core_session_t *sess switch_media_handle_t *smh; ice_t *ice_out; int vp8 = 0; - int red = 0; + //int red = 0; payload_map_t *pmap; int is_outbound = switch_channel_direction(session->channel) == SWITCH_CALL_DIRECTION_OUTBOUND; + const char *vbw; + int bw = 256; + uint8_t fir = 0, nack = 0, pli = 0; switch_assert(session); @@ -7041,9 +7049,9 @@ SWITCH_DECLARE(void) switch_core_media_gen_local_sdp(switch_core_session_t *sess vp8 = v_engine->cur_payload_map->pt; } - if (!strcasecmp(v_engine->cur_payload_map->rm_encoding, "red")) { - red = v_engine->cur_payload_map->pt; - } + //if (!strcasecmp(v_engine->cur_payload_map->rm_encoding, "red")) { + // red = v_engine->cur_payload_map->pt; + //} rate = v_engine->cur_payload_map->rm_rate; switch_snprintf(buf + strlen(buf), SDPBUFLEN - strlen(buf), "a=rtpmap:%d %s/%ld\n", @@ -7129,9 +7137,9 @@ SWITCH_DECLARE(void) switch_core_media_gen_local_sdp(switch_core_session_t *sess vp8 = ianacode; } - if (!strcasecmp(imp->iananame, "red")) { - red = ianacode; - } + //if (!strcasecmp(imp->iananame, "red")) { + // red = ianacode; + //} if (channels > 1) { switch_snprintf(buf + strlen(buf), SDPBUFLEN - strlen(buf), "a=rtpmap:%d %s/%d/%d\n", ianacode, imp->iananame, @@ -7187,10 +7195,40 @@ SWITCH_DECLARE(void) switch_core_media_gen_local_sdp(switch_core_session_t *sess } - if (v_engine->fir || v_engine->pli) { - switch_snprintf(buf + strlen(buf), SDPBUFLEN - strlen(buf), - "a=rtcp-fb:* %s%s\n", v_engine->fir ? "fir " : "", v_engine->pli ? "pli" : ""); + if ((vbw = switch_channel_get_variable(smh->session->channel, "rtp_video_max_bandwidth"))) { + int v = atoi(vbw); + bw = v; } + + if (bw > 0) { + switch_snprintf(buf + strlen(buf), SDPBUFLEN - strlen(buf), "b=AS:%d\n", bw); + } + + + if (sdp_type == SDP_TYPE_REQUEST) { + fir++; + pli++; + nack++; + } + + if (vp8) { + + if (v_engine->fir || fir) { + switch_snprintf(buf + strlen(buf), SDPBUFLEN - strlen(buf), + "a=rtcp-fb:%d ccm fir\n", vp8); + } + + if (v_engine->nack || nack) { + switch_snprintf(buf + strlen(buf), SDPBUFLEN - strlen(buf), + "a=rtcp-fb:%d nack\n", vp8); + } + + if (v_engine->pli || pli) { + switch_snprintf(buf + strlen(buf), SDPBUFLEN - strlen(buf), + "a=rtcp-fb:%d nack pli\n", vp8); + } + } + //switch_snprintf(buf + strlen(buf), SDPBUFLEN - strlen(buf), "a=ssrc:%u\n", v_engine->ssrc); @@ -7201,8 +7239,7 @@ SWITCH_DECLARE(void) switch_core_media_gen_local_sdp(switch_core_session_t *sess uint32_t c2 = (2^24)*126 + (2^8)*65535 + (2^0)*(256 - 2); uint32_t c3 = (2^24)*126 + (2^8)*65534 + (2^0)*(256 - 1); uint32_t c4 = (2^24)*126 + (2^8)*65534 + (2^0)*(256 - 2); - const char *vbw; - int bw = 256; + tmp1[10] = '\0'; tmp2[10] = '\0'; @@ -7210,27 +7247,8 @@ SWITCH_DECLARE(void) switch_core_media_gen_local_sdp(switch_core_session_t *sess switch_stun_random_string(tmp2, 10, "0123456789"); ice_out = &v_engine->ice_out; - - - if ((vbw = switch_channel_get_variable(smh->session->channel, "rtp_video_max_bandwidth"))) { - int v = atoi(vbw); - bw = v; - } - - if (bw > 0) { - switch_snprintf(buf + strlen(buf), SDPBUFLEN - strlen(buf), "b=AS:%d\n", bw); - } - - if (vp8 && switch_channel_test_flag(session->channel, CF_WEBRTC)) { - switch_snprintf(buf + strlen(buf), SDPBUFLEN - strlen(buf), - "a=rtcp-fb:%d ccm fir\n", vp8); - } - - if (red) { - switch_snprintf(buf + strlen(buf), SDPBUFLEN - strlen(buf), - "a=rtcp-fb:%d nack\n", vp8); - } - + + switch_snprintf(buf + strlen(buf), SDPBUFLEN - strlen(buf), "a=ssrc:%u cname:%s\n", v_engine->ssrc, smh->cname); switch_snprintf(buf + strlen(buf), SDPBUFLEN - strlen(buf), "a=ssrc:%u msid:%s v0\n", v_engine->ssrc, smh->msid); switch_snprintf(buf + strlen(buf), SDPBUFLEN - strlen(buf), "a=ssrc:%u mslabel:%s\n", v_engine->ssrc, smh->msid); @@ -9426,6 +9444,45 @@ SWITCH_DECLARE(char *) switch_core_media_process_sdp_filter(const char *sdp, con } + +SWITCH_DECLARE(switch_status_t) switch_core_media_codec_control(switch_core_session_t *session, + switch_media_type_t mtype, + switch_io_type_t iotype, + switch_codec_control_command_t cmd, + switch_codec_control_type_t ctype, + void *cmd_data, + switch_codec_control_type_t *rtype, + void **ret_data) +{ + switch_rtp_engine_t *engine = NULL; + switch_media_handle_t *smh = NULL; + switch_codec_t *codec = NULL; + + switch_assert(session); + + if (!(smh = session->media_handle)) { + return SWITCH_STATUS_FALSE; + } + + if (!(engine = &smh->engines[mtype])) { + return SWITCH_STATUS_NOTIMPL; + } + + if (iotype == SWITCH_IO_READ) { + codec = &engine->read_codec; + } else { + codec = &engine->write_codec; + } + + if (codec) { + return switch_core_codec_control(codec, cmd, ctype, cmd_data, rtype, ret_data); + } + + return SWITCH_STATUS_FALSE; +} + + + /* For Emacs: * Local Variables: * mode:c diff --git a/src/switch_rtp.c b/src/switch_rtp.c index 0416d153d3..d7b46ac213 100644 --- a/src/switch_rtp.c +++ b/src/switch_rtp.c @@ -5652,8 +5652,28 @@ static int rtp_common_read(switch_rtp_t *rtp_session, switch_payload_t *payload_ if (rtcp_status == SWITCH_STATUS_SUCCESS) { switch_rtp_reset_media_timer(rtp_session); - - if (rtp_session->flags[SWITCH_RTP_FLAG_RTCP_PASSTHRU] || rtp_session->rtcp_recv_msg_p->header.type == 206) { + + if (rtp_session->flags[SWITCH_RTP_FLAG_VIDEO] && (rtp_session->rtcp_recv_msg_p->header.type == 205 || //RTPFB + rtp_session->rtcp_recv_msg_p->header.type == 206)) {//PSFB + rtcp_ext_msg_t *extp = (rtcp_ext_msg_t *) rtp_session->rtcp_recv_msg_p; + + switch_log_printf(SWITCH_CHANNEL_SESSION_LOG(rtp_session->session), SWITCH_LOG_DEBUG, "PICKED UP XRTCP type: %d fmt: %d\n", + rtp_session->rtcp_recv_msg_p->header.type, extp->header.fmt); + + if ((extp->header.fmt == 4) || (extp->header.fmt == 1)) { /* FIR || PLI */ + + switch_core_media_codec_control(rtp_session->session, + SWITCH_MEDIA_TYPE_VIDEO, + SWITCH_IO_WRITE, + SCC_VIDEO_REFRESH, + SCCT_NONE, + NULL, + NULL, + NULL); + } + } + + if (rtp_session->flags[SWITCH_RTP_FLAG_RTCP_PASSTHRU]) { switch_channel_t *channel = switch_core_session_get_channel(rtp_session->session); const char *uuid = switch_channel_get_partner_uuid(channel); @@ -5667,13 +5687,7 @@ static int rtp_common_read(switch_rtp_t *rtp_session, switch_payload_t *payload_ other_rtp_session->rtcp_sock_output && switch_rtp_test_flag(other_rtp_session, SWITCH_RTP_FLAG_ENABLE_RTCP)) { other_rtp_session->rtcp_send_msg = rtp_session->rtcp_recv_msg; - - if (rtp_session->rtcp_recv_msg_p->header.type == 206) { - rtcp_ext_msg_t *extp = (rtcp_ext_msg_t *) rtp_session->rtcp_recv_msg_p; - extp->header.recv_ssrc = htonl(other_rtp_session->stats.rtcp.peer_ssrc); - } - - + #ifdef ENABLE_SRTP if (switch_rtp_test_flag(other_rtp_session, SWITCH_RTP_FLAG_SECURE_SEND)) { int sbytes = (int) rtcp_bytes; From 365a5dd8201d0cc1ef3fd620e6e2693f74d99cfa Mon Sep 17 00:00:00 2001 From: Anthony Minessale Date: Thu, 13 Nov 2014 20:52:57 -0600 Subject: [PATCH 036/629] FS-7500: major refactoring pass. Push concepts from mod_vlc as deep as possible and flesh out api to use everywhere else. Round 2 will be to convert the bridge and other places using the same code --- src/include/private/switch_core_pvt.h | 4 + src/include/switch_core.h | 20 ++++ src/include/switch_core_media.h | 2 + src/include/switch_module_interfaces.h | 1 + src/include/switch_rtp.h | 6 ++ src/include/switch_types.h | 6 +- src/mod/formats/mod_vlc/mod_vlc.c | 138 +++++++------------------ src/switch_core_io.c | 47 +++++++++ src/switch_core_media.c | 23 ++++- src/switch_core_session.c | 2 + src/switch_rtp.c | 36 ++++++- 11 files changed, 175 insertions(+), 110 deletions(-) diff --git a/src/include/private/switch_core_pvt.h b/src/include/private/switch_core_pvt.h index 3ff631453b..e166f9fa5a 100644 --- a/src/include/private/switch_core_pvt.h +++ b/src/include/private/switch_core_pvt.h @@ -190,6 +190,10 @@ struct switch_core_session { uint32_t decoder_errors; switch_core_video_thread_callback_func_t *_video_thread_callback; void *_video_thread_user_data; + //switch_time_t last_video_write_time; + + switch_image_write_callback_t image_write_callback; + void *image_write_callback_user_data; }; struct switch_media_bug { diff --git a/src/include/switch_core.h b/src/include/switch_core.h index 83cc10aa4d..ca48d8118c 100644 --- a/src/include/switch_core.h +++ b/src/include/switch_core.h @@ -1275,6 +1275,26 @@ SWITCH_DECLARE(switch_status_t) switch_core_session_read_frame(_In_ switch_core_ SWITCH_DECLARE(switch_status_t) switch_core_session_read_video_frame(_In_ switch_core_session_t *session, switch_frame_t **frame, switch_io_flag_t flags, int stream_id); +/*! + \brief Write a video image to a session using a video frame + \param session the session to write to + \param frame a pointer to a frame to use for write with proper codec + \param img the image structure with the image data + \param the size for packetization + \param flag pointer to frame flags to pass in / out + \return SWITCH_STATUS_SUCCESS a if the image was written +*/ +SWITCH_DECLARE(switch_status_t) switch_core_session_write_video_image(switch_core_session_t *session, switch_frame_t *frame, + switch_image_t *img, switch_size_t size, uint32_t *flag); +/*! + \brief set a callback to be called after each frame of an image is written + \param session the session to write to + \param callback the function to call + \param user_data the user data pointer to pass as an arguement to the callback + \return void +*/ +SWITCH_DECLARE(void) switch_core_session_set_image_write_callback(switch_core_session_t *session, switch_image_write_callback_t callback, void *user_data); + /*! \brief Write a video frame to a session \param session the session to write to diff --git a/src/include/switch_core_media.h b/src/include/switch_core_media.h index 056a5abfce..b0f88acf49 100644 --- a/src/include/switch_core_media.h +++ b/src/include/switch_core_media.h @@ -305,6 +305,8 @@ SWITCH_DECLARE(switch_status_t) switch_core_media_codec_control(switch_core_sess switch_codec_control_type_t *rtype, void **ret_data); +SWITCH_DECLARE(switch_timer_t *) switch_core_media_get_timer(switch_core_session_t *session, switch_media_type_t mtype); + SWITCH_END_EXTERN_C #endif /* For Emacs: diff --git a/src/include/switch_module_interfaces.h b/src/include/switch_module_interfaces.h index 60298f0f66..f989b2808c 100644 --- a/src/include/switch_module_interfaces.h +++ b/src/include/switch_module_interfaces.h @@ -217,6 +217,7 @@ struct switch_timer { switch_size_t diff; switch_time_t start; uint64_t tick; + }; typedef enum { diff --git a/src/include/switch_rtp.h b/src/include/switch_rtp.h index 0c2002d506..3046946657 100644 --- a/src/include/switch_rtp.h +++ b/src/include/switch_rtp.h @@ -268,6 +268,9 @@ SWITCH_DECLARE(switch_status_t) switch_rtp_activate_ice(switch_rtp_t *rtp_sessio */ SWITCH_DECLARE(switch_status_t) switch_rtp_activate_rtcp(switch_rtp_t *rtp_session, int send_rate, switch_port_t remote_port, switch_bool_t mux); + +SWITCH_DECLARE(switch_timer_t *) switch_rtp_get_media_timer(switch_rtp_t *rtp_session); + /*! \brief Acvite a jitter buffer on an RTP session \param rtp_session the rtp session @@ -285,6 +288,9 @@ SWITCH_DECLARE(switch_status_t) switch_rtp_deactivate_jitter_buffer(switch_rtp_t SWITCH_DECLARE(switch_status_t) switch_rtp_pause_jitter_buffer(switch_rtp_t *rtp_session, switch_bool_t pause); SWITCH_DECLARE(stfu_instance_t *) switch_rtp_get_jitter_buffer(switch_rtp_t *rtp_session); + + + /*! \brief Set an RTP Flag \param rtp_session the RTP session diff --git a/src/include/switch_types.h b/src/include/switch_types.h index 56093011c3..2dbc4a20a6 100644 --- a/src/include/switch_types.h +++ b/src/include/switch_types.h @@ -226,6 +226,7 @@ SWITCH_BEGIN_EXTERN_C #define SWITCH_DTMF_LOG_LEN 1000 #define SWITCH_MAX_TRANS 2000 #define SWITCH_CORE_SESSION_MAX_PRIVATES 2 +#define SWITCH_DEFAULT_VIDEO_SIZE 1500 /* Jitter */ #define JITTER_VARIANCE_THRESHOLD 400.0 @@ -1494,7 +1495,8 @@ typedef enum { SFF_NOT_AUDIO = (1 << 9), SFF_RTCP = (1 << 10), SFF_MARKER = (1 << 11), - SFF_WAIT_KEY_FRAME = (1 << 12) + SFF_WAIT_KEY_FRAME = (1 << 12), + SFF_RAW_RTP_PARSE_FRAME = (1 << 13) } switch_frame_flag_enum_t; typedef uint32_t switch_frame_flag_t; @@ -2196,6 +2198,8 @@ typedef switch_status_t (*switch_core_codec_control_func_t) (switch_codec_t *cod void **ret_data); +typedef switch_status_t (*switch_image_write_callback_t) (switch_core_session_t *session, switch_frame_t *frame, switch_image_t *img, void *user_data); + typedef switch_status_t (*switch_core_codec_init_func_t) (switch_codec_t *, switch_codec_flag_t, const switch_codec_settings_t *codec_settings); typedef switch_status_t (*switch_core_codec_fmtp_parse_func_t) (const char *fmtp, switch_codec_fmtp_t *codec_fmtp); typedef switch_status_t (*switch_core_codec_destroy_func_t) (switch_codec_t *); diff --git a/src/mod/formats/mod_vlc/mod_vlc.c b/src/mod/formats/mod_vlc/mod_vlc.c index ea760f1838..9c50f6de92 100644 --- a/src/mod/formats/mod_vlc/mod_vlc.c +++ b/src/mod/formats/mod_vlc/mod_vlc.c @@ -107,7 +107,6 @@ struct vlc_video_context { uint8_t video_packet[1500 + 12]; void *raw_yuyv_data; switch_image_t *img; - switch_time_t last_video_ts; switch_payload_t pt; uint32_t seq; int width; @@ -241,68 +240,19 @@ static void vlc_video_unlock_dummy_callback(void *data, void *id, void *const *p static void vlc_video_unlock_callback(void *data, void *id, void *const *p_pixels) { - vlc_video_context_t *context = (vlc_video_context_t *)data; + vlc_video_context_t *context = (vlc_video_context_t *) data; switch_frame_t *frame = context->vid_frame; - uint32_t flag = 0; - uint32_t encoded_data_len = 1500; - switch_time_t now = (switch_time_t)(switch_micro_time_now() / 1000); - switch_codec_t *codec = switch_core_session_get_video_write_codec(context->session); - long delta; switch_assert(id == NULL); /* picture identifier, not needed here */ - switch_assert(codec); - - if (now - context->last_video_ts < 60) goto end; if (!context->img) context->img = switch_img_alloc(NULL, SWITCH_IMG_FMT_I420, context->width, context->height, 0); - if (!context->img) goto end; + + switch_assert(context->img); yuyv_to_i420(*p_pixels, context->img->img_data, context->width, context->height); - delta = now - context->last_video_ts; + switch_core_session_write_video_image(context->session, frame, context->img, SWITCH_DEFAULT_VIDEO_SIZE, NULL); - if (delta > 0) { - frame->timestamp += delta * 90; - context->last_video_ts = now; - } - //printf("WTF VLC d_w=%d d_h=%d w=%d h=%d\n", context->img->d_w, context->img->d_h, context->img->w, context->img->h); - - //context->img->d_w = context->img->w; - //context->img->d_h = context->img->h; - - switch_core_codec_encode_video(codec, context->img, frame->data, &encoded_data_len, &flag); - - while(encoded_data_len) { - //switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_ERROR, "encoded: %s [%d] flag=%d ts=%ld\n", codec->implementation->iananame, encoded_data_len, flag, context->last_video_ts); - - frame->datalen = encoded_data_len; - frame->packetlen = frame->datalen + 12; - frame->m = flag & SFF_MARKER ? 1 : 0; - - if (1) { - /* set correct mark and ts */ - switch_rtp_hdr_t *rtp = (switch_rtp_hdr_t *)frame->packet; - - memset(rtp, 0, 12); - rtp->version = 2; - rtp->m = frame->m; - rtp->ts = htonl(frame->timestamp); - rtp->ssrc = (uint32_t) ((intptr_t) rtp + (uint32_t) switch_epoch_time_now(NULL)); - - switch_set_flag(frame, SFF_RAW_RTP); - } - - switch_set_flag(frame, SFF_RAW_RTP); - // switch_set_flag(frame, SFF_PROXY_PACKET); - - switch_core_session_write_video_frame(context->session, frame, SWITCH_IO_FLAG_NONE, 0); - - encoded_data_len = 1500; - - switch_core_codec_encode_video(codec, NULL, frame->data, &encoded_data_len, &flag); - } - -end: switch_mutex_unlock(context->video_mutex); } @@ -323,72 +273,28 @@ static void do_buffer_frame(vlc_video_context_t *context) switch_mutex_unlock(context->video_mutex); } + static void vlc_video_channel_unlock_callback(void *data, void *id, void *const *p_pixels) { vlc_video_context_t *context = (vlc_video_context_t *)data; uint32_t flag = 0; - uint32_t encoded_data_len = 1500; - switch_codec_t *codec = switch_core_session_get_video_write_codec(context->session); switch_frame_t *frame = context->vid_frame; - switch_time_t now = (switch_time_t)(switch_micro_time_now() / 1000); - long delta; switch_assert(id == NULL); /* picture identifier, not needed here */ - switch_assert(codec); if (!context->img) context->img = switch_img_alloc(NULL, SWITCH_IMG_FMT_I420, context->width, context->height, 0); - if (!context->img) goto end; + switch_assert(context->img); yuyv_to_i420(*p_pixels, context->img->img_data, context->width, context->height); - encoded_data_len = 1500; - - frame->packet = context->video_packet; - frame->data = context->video_packet + 12; - delta = now - context->last_video_ts; - - if (delta > 0) { - frame->timestamp += delta * 90; - context->last_video_ts = now; - } if (context->video_refresh_req > 0) { flag |= SFF_WAIT_KEY_FRAME; context->video_refresh_req--; } - switch_core_codec_encode_video(codec, context->img, frame->data, &encoded_data_len, &flag); + switch_core_session_write_video_image(context->session, frame, context->img, SWITCH_DEFAULT_VIDEO_SIZE, &flag); - while(encoded_data_len) { - // switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_ERROR, "encoded: %s [%d] flag=%d ts=%u\n", codec->implementation->iananame, encoded_data_len, flag, context->ts); - - frame->datalen = encoded_data_len; - frame->packetlen = frame->datalen + 12; - frame->m = flag & SFF_MARKER ? 1 : 0; - - if (1) { - /* set correct mark and ts */ - switch_rtp_hdr_t *rtp = (switch_rtp_hdr_t *)frame->packet; - - memset(rtp, 0, 12); - rtp->version = 2; - rtp->m = frame->m; - rtp->ts = htonl(frame->timestamp); - rtp->ssrc = (uint32_t) ((intptr_t) rtp + (uint32_t) switch_epoch_time_now(NULL)); - - switch_set_flag(frame, SFF_RAW_RTP); - } - - switch_set_flag(frame, SFF_RAW_RTP); - switch_set_flag(frame, SFF_PROXY_PACKET); - - do_buffer_frame(context); - - encoded_data_len = 1500; - switch_core_codec_encode_video(codec, NULL, frame->data, &encoded_data_len, &flag); - } - -end: switch_mutex_unlock(context->video_mutex); } @@ -720,6 +626,7 @@ SWITCH_STANDARD_APP(play_video_function) switch_size_t audio_datalen; + switch_channel_clear_flag(channel, CF_VIDEO_ECHO); context = switch_core_session_alloc(session, sizeof(vlc_video_context_t)); @@ -974,6 +881,7 @@ static switch_status_t vlc_write_frame(switch_core_session_t *session, switch_fr static switch_status_t vlc_read_video_frame(switch_core_session_t *session, switch_frame_t **frame, switch_io_flag_t flags, int stream_id); static switch_status_t vlc_receive_message(switch_core_session_t *session, switch_core_session_message_t *msg); static switch_status_t vlc_kill_channel(switch_core_session_t *session, int sig); +static switch_status_t vlc_state_change(switch_core_session_t *session); typedef struct { switch_core_session_t *session; @@ -1014,7 +922,7 @@ switch_io_routines_t vlc_io_routines = { /*send_dtmf*/ NULL, /*receive_message*/ vlc_receive_message, /*receive_event*/ NULL, - /*state_change*/ NULL, + /*state_change*/ vlc_state_change, /*read_video_frame*/ vlc_read_video_frame, /*write_video_frame*/ NULL, /*state_run*/ NULL @@ -1118,12 +1026,25 @@ fail: return status; } +static switch_status_t vlc_channel_img_callback(switch_core_session_t *session, switch_frame_t *frame, switch_image_t *img, void *user_data) +{ + vlc_video_context_t *context = (vlc_video_context_t *) user_data; + + do_buffer_frame(context); + + return SWITCH_STATUS_SUCCESS; +} + + static switch_status_t channel_on_init(switch_core_session_t *session) { switch_channel_t *channel = switch_core_session_get_channel(session); + vlc_private_t *tech_pvt = switch_core_session_get_private(session); switch_channel_set_state(channel, CS_CONSUME_MEDIA); + switch_core_session_set_image_write_callback(session, vlc_channel_img_callback, tech_pvt->context); + return SWITCH_STATUS_SUCCESS; } @@ -1488,6 +1409,19 @@ static switch_status_t vlc_receive_message(switch_core_session_t *session, switc return SWITCH_STATUS_SUCCESS; } +static switch_status_t vlc_state_change(switch_core_session_t *session) +{ + switch_channel_t *channel = switch_core_session_get_channel(session); + switch_channel_state_t state = switch_channel_get_state(channel); + + if (state == CS_HANGUP || state == CS_ROUTING) { + switch_core_session_video_reset(session); + } + + return SWITCH_STATUS_SUCCESS; +} + + static switch_status_t vlc_kill_channel(switch_core_session_t *session, int sig) { vlc_private_t *tech_pvt = switch_core_session_get_private(session); diff --git a/src/switch_core_io.c b/src/switch_core_io.c index 7bda3d05d3..f7515b9264 100644 --- a/src/switch_core_io.c +++ b/src/switch_core_io.c @@ -36,6 +36,53 @@ #include #include "private/switch_core_pvt.h" +SWITCH_DECLARE(void) switch_core_session_set_image_write_callback(switch_core_session_t *session, switch_image_write_callback_t callback, void *user_data) +{ + session->image_write_callback = callback; + session->image_write_callback_user_data = user_data; +} + +SWITCH_DECLARE(switch_status_t) switch_core_session_write_video_image(switch_core_session_t *session, switch_frame_t *frame, + switch_image_t *img, switch_size_t size, uint32_t *flag) +{ + uint32_t encoded_data_len = size, lflag = 0, *flagp = flag; + switch_codec_t *codec = switch_core_session_get_video_write_codec(session); + switch_timer_t *timer; + + switch_assert(session); + + if (!flag) { + flagp = &lflag; + } + + timer = switch_core_media_get_timer(session, SWITCH_MEDIA_TYPE_VIDEO); + switch_assert(timer); + + switch_core_codec_encode_video(codec, img, frame->data, &encoded_data_len, flagp); + + while(encoded_data_len) { + + frame->datalen = encoded_data_len; + frame->packetlen = frame->datalen + 12; + frame->m = (*flagp & SFF_MARKER) ? 1 : 0; + frame->timestamp = timer->samplecount; + + switch_set_flag(frame, SFF_RAW_RTP_PARSE_FRAME); + + switch_core_session_write_video_frame(session, frame, SWITCH_IO_FLAG_NONE, 0); + + if (session->image_write_callback) { + session->image_write_callback(session, frame, img, session->image_write_callback_user_data); + } + + encoded_data_len = size; + switch_core_codec_encode_video(codec, NULL, frame->data, &encoded_data_len, flagp); + } + + return SWITCH_STATUS_SUCCESS; +} + + SWITCH_DECLARE(switch_status_t) switch_core_session_write_video_frame(switch_core_session_t *session, switch_frame_t *frame, switch_io_flag_t flags, int stream_id) { diff --git a/src/switch_core_media.c b/src/switch_core_media.c index 8387eaf372..5b620548c1 100644 --- a/src/switch_core_media.c +++ b/src/switch_core_media.c @@ -7211,6 +7211,8 @@ SWITCH_DECLARE(void) switch_core_media_gen_local_sdp(switch_core_session_t *sess nack++; } + nack = v_engine->nack = pli = v_engine->pli = 0; + if (vp8) { if (v_engine->fir || fir) { @@ -9445,6 +9447,25 @@ SWITCH_DECLARE(char *) switch_core_media_process_sdp_filter(const char *sdp, con } +SWITCH_DECLARE(switch_timer_t *) switch_core_media_get_timer(switch_core_session_t *session, switch_media_type_t mtype) +{ + switch_rtp_engine_t *engine = NULL; + switch_media_handle_t *smh = NULL; + + switch_assert(session); + + if (!(smh = session->media_handle)) { + return NULL; + } + + if (!(engine = &smh->engines[mtype])) { + return NULL; + } + + return switch_rtp_get_media_timer(engine->rtp_session); + +} + SWITCH_DECLARE(switch_status_t) switch_core_media_codec_control(switch_core_session_t *session, switch_media_type_t mtype, switch_io_type_t iotype, @@ -9481,8 +9502,6 @@ SWITCH_DECLARE(switch_status_t) switch_core_media_codec_control(switch_core_sess return SWITCH_STATUS_FALSE; } - - /* For Emacs: * Local Variables: * mode:c diff --git a/src/switch_core_session.c b/src/switch_core_session.c index 76ca5a9e81..3381852565 100644 --- a/src/switch_core_session.c +++ b/src/switch_core_session.c @@ -2677,6 +2677,8 @@ SWITCH_DECLARE(void) switch_core_session_video_reset(switch_core_session_t *sess switch_channel_set_flag(session->channel, CF_VIDEO_ECHO); switch_channel_clear_flag(session->channel, CF_VIDEO_PASSIVE); switch_core_session_refresh_video(session); + session->image_write_callback = NULL; + session->image_write_callback_user_data = NULL; } SWITCH_DECLARE(switch_status_t) switch_core_session_execute_application_get_flags(switch_core_session_t *session, const char *app, diff --git a/src/switch_rtp.c b/src/switch_rtp.c index d7b46ac213..f272eecd15 100644 --- a/src/switch_rtp.c +++ b/src/switch_rtp.c @@ -3575,7 +3575,14 @@ SWITCH_DECLARE(switch_status_t) switch_rtp_create(switch_rtp_t **new_rtp_session switch_rtp_clear_flag(rtp_session, SWITCH_RTP_FLAG_USE_TIMER); } } else { - switch_log_printf(SWITCH_CHANNEL_SESSION_LOG(rtp_session->session), SWITCH_LOG_DEBUG, "Not using a timer\n"); + if (rtp_session->flags[SWITCH_RTP_FLAG_VIDEO]) { + if (switch_core_timer_init(&rtp_session->timer, "soft", 1, 90, pool) == SWITCH_STATUS_SUCCESS) { + switch_log_printf(SWITCH_CHANNEL_SESSION_LOG(rtp_session->session), SWITCH_LOG_DEBUG, "Starting video timer.\n"); + } + } else { + switch_log_printf(SWITCH_CHANNEL_SESSION_LOG(rtp_session->session), SWITCH_LOG_DEBUG, "Not using a timer\n"); + } + switch_rtp_clear_flag(rtp_session, SWITCH_RTP_FLAG_USE_TIMER); switch_rtp_clear_flag(rtp_session, SWITCH_RTP_FLAG_NOBLOCK); } @@ -3781,6 +3788,19 @@ static void jb_callback(stfu_instance_t *i, void *udata) } +SWITCH_DECLARE(switch_timer_t *) switch_rtp_get_media_timer(switch_rtp_t *rtp_session) +{ + if (rtp_session->timer.timer_interface) { + if (rtp_session->flags[SWITCH_RTP_FLAG_VIDEO]) { + switch_core_timer_sync(&rtp_session->timer); + } + return &rtp_session->timer; + } + + return NULL; +} + + SWITCH_DECLARE(stfu_instance_t *) switch_rtp_get_jitter_buffer(switch_rtp_t *rtp_session) { if (!switch_rtp_ready(rtp_session) || !rtp_session->jb) { @@ -6953,7 +6973,8 @@ SWITCH_DECLARE(int) switch_rtp_write_frame(switch_rtp_t *rtp_session, switch_fra } #endif - fwd = (rtp_session->flags[SWITCH_RTP_FLAG_RAW_WRITE] && switch_test_flag(frame, SFF_RAW_RTP)) ? 1 : 0; + fwd = (rtp_session->flags[SWITCH_RTP_FLAG_RAW_WRITE] && + (switch_test_flag(frame, SFF_RAW_RTP) || switch_test_flag(frame, SFF_RAW_RTP_PARSE_FRAME))) ? 1 : 0; if (!fwd && !rtp_session->sending_dtmf && !rtp_session->queue_delay && rtp_session->flags[SWITCH_RTP_FLAG_RAW_WRITE] && (rtp_session->rtp_bugs & RTP_BUG_GEN_ONE_GEN_ALL)) { @@ -7012,11 +7033,16 @@ SWITCH_DECLARE(int) switch_rtp_write_frame(switch_rtp_t *rtp_session, switch_fra send_msg = frame->packet; len = frame->packetlen; ts = 0; - // Trying this based on http://jira.freeswitch.org/browse/MODSOFIA-90 - //if (frame->codec && frame->codec->agreed_pt == frame->payload) { send_msg->header.pt = payload; - //} + + if (switch_test_flag(frame, SFF_RAW_RTP_PARSE_FRAME)) { + send_msg->header.version = 2; + send_msg->header.m = frame->m; + send_msg->header.ts = htonl(frame->timestamp); + send_msg->header.ssrc = htonl(rtp_session->ssrc); + } + } else { data = frame->data; len = frame->datalen; From 659c1e474e6a3c13890806af8ec0d3761485ca35 Mon Sep 17 00:00:00 2001 From: Anthony Minessale Date: Fri, 14 Nov 2014 19:01:56 -0600 Subject: [PATCH 037/629] FS-7500: Work in progress. Added codec config params that can be set from session and made vpx codec re-init on size change. Also add periodic key frame timer --- src/include/switch_core_media.h | 8 + src/include/switch_module_interfaces.h | 15 +- src/include/switch_rtp.h | 1 + src/include/switch_types.h | 5 +- src/mod/codecs/mod_vpx/mod_vpx.c | 180 ++++++++------- src/mod/formats/mod_vlc/mod_vlc.c | 105 ++++----- src/switch_core_codec.c | 4 + src/switch_core_io.c | 168 -------------- src/switch_core_media.c | 291 ++++++++++++++++++++++++- src/switch_rtp.c | 133 ++++++----- 10 files changed, 536 insertions(+), 374 deletions(-) diff --git a/src/include/switch_core_media.h b/src/include/switch_core_media.h index b0f88acf49..8e4f0b74a1 100644 --- a/src/include/switch_core_media.h +++ b/src/include/switch_core_media.h @@ -157,6 +157,9 @@ typedef struct switch_core_media_params_s { switch_bool_t external_video_source; + uint32_t video_key_freq; + uint32_t video_key_first; + } switch_core_media_params_t; static inline const char *switch_media_type2str(switch_media_type_t type) @@ -305,6 +308,11 @@ SWITCH_DECLARE(switch_status_t) switch_core_media_codec_control(switch_core_sess switch_codec_control_type_t *rtype, void **ret_data); + +#define switch_core_media_gen_key_frame(_session) switch_core_media_codec_control(_session, SWITCH_MEDIA_TYPE_VIDEO, SWITCH_IO_WRITE, \ + SCC_VIDEO_REFRESH, SCCT_NONE, NULL, NULL, NULL) \ + + SWITCH_DECLARE(switch_timer_t *) switch_core_media_get_timer(switch_core_session_t *session, switch_media_type_t mtype); SWITCH_END_EXTERN_C diff --git a/src/include/switch_module_interfaces.h b/src/include/switch_module_interfaces.h index f989b2808c..0a2dc0946a 100644 --- a/src/include/switch_module_interfaces.h +++ b/src/include/switch_module_interfaces.h @@ -591,12 +591,21 @@ struct switch_directory_handle { void *private_info; }; -/* nobody has more setting than speex so we will let them set the standard */ -/*! \brief Various codec settings (currently only relevant to speex) */ -struct switch_codec_settings { +struct switch_audio_codec_settings { int unused; }; +struct switch_video_codec_settings { + uint32_t bandwidth; + int32_t width; + int32_t height; +}; + +union switch_codec_settings { + struct switch_audio_codec_settings audio; + struct switch_video_codec_settings video; +}; + /*! an abstract handle of a fmtp parsed by codec */ struct switch_codec_fmtp { /*! actual samples transferred per second for those who are not moron g722 RFC writers */ diff --git a/src/include/switch_rtp.h b/src/include/switch_rtp.h index 3046946657..9e7f9198d8 100644 --- a/src/include/switch_rtp.h +++ b/src/include/switch_rtp.h @@ -517,6 +517,7 @@ SWITCH_DECLARE(switch_status_t) switch_rtp_del_dtls(switch_rtp_t *rtp_session, d SWITCH_DECLARE(int) switch_rtp_has_dtls(void); SWITCH_DECLARE(void) switch_rtp_video_refresh(switch_rtp_t *rtp_session); +SWITCH_DECLARE(void) switch_rtp_video_loss(switch_rtp_t *rtp_session); /*! \} diff --git a/src/include/switch_types.h b/src/include/switch_types.h index 2dbc4a20a6..783ed02220 100644 --- a/src/include/switch_types.h +++ b/src/include/switch_types.h @@ -1496,7 +1496,8 @@ typedef enum { SFF_RTCP = (1 << 10), SFF_MARKER = (1 << 11), SFF_WAIT_KEY_FRAME = (1 << 12), - SFF_RAW_RTP_PARSE_FRAME = (1 << 13) + SFF_RAW_RTP_PARSE_FRAME = (1 << 13), + SFF_PICTURE_RESET = (1 << 14) } switch_frame_flag_enum_t; typedef uint32_t switch_frame_flag_t; @@ -2101,7 +2102,7 @@ typedef struct switch_codec switch_codec_t; typedef struct switch_core_thread_session switch_core_thread_session_t; typedef struct switch_codec_implementation switch_codec_implementation_t; typedef struct switch_buffer switch_buffer_t; -typedef struct switch_codec_settings switch_codec_settings_t; +typedef union switch_codec_settings switch_codec_settings_t; typedef struct switch_codec_fmtp switch_codec_fmtp_t; typedef struct switch_odbc_handle switch_odbc_handle_t; typedef struct switch_pgsql_handle switch_pgsql_handle_t; diff --git a/src/mod/codecs/mod_vpx/mod_vpx.c b/src/mod/codecs/mod_vpx/mod_vpx.c index 0fe2b0a139..2c0028cde5 100644 --- a/src/mod/codecs/mod_vpx/mod_vpx.c +++ b/src/mod/codecs/mod_vpx/mod_vpx.c @@ -44,18 +44,21 @@ SWITCH_MODULE_LOAD_FUNCTION(mod_vpx_load); SWITCH_MODULE_DEFINITION(mod_vpx, mod_vpx_load, NULL, NULL); + +#define encoder_interface (vpx_codec_vp8_cx()) +#define decoder_interface (vpx_codec_vp8_dx()) + struct vpx_context { switch_codec_t *codec; unsigned int flags; - + switch_codec_settings_t codec_settings; + unsigned int bandwidth; vpx_codec_enc_cfg_t config; vpx_codec_ctx_t encoder; + uint8_t encoder_init; vpx_image_t *pic; switch_bool_t force_key_frame; - int width; - int height; - int bitrate; int fps; int format; int intra_period; @@ -65,9 +68,8 @@ struct vpx_context { const vpx_codec_cx_pkt_t *pkt; int pkt_pos; vpx_codec_iter_t iter; - switch_time_t last_ts; - vpx_codec_ctx_t decoder; + uint8_t decoder_init; switch_buffer_t *vpx_packet_buffer; int got_key_frame; switch_size_t last_received_timestamp; @@ -76,48 +78,17 @@ struct vpx_context { }; typedef struct vpx_context vpx_context_t; -static switch_status_t switch_vpx_init(switch_codec_t *codec, switch_codec_flag_t flags, const switch_codec_settings_t *codec_settings) + +static switch_status_t init_codec(switch_codec_t *codec) { - vpx_context_t *context = NULL; - int encoding, decoding; - vpx_codec_ctx_t *encoder = NULL; - vpx_codec_ctx_t *decoder = NULL; - vpx_codec_enc_cfg_t *config; - const vpx_codec_iface_t* encoder_interface = vpx_codec_vp8_cx(); - const vpx_codec_iface_t* decoder_interface = vpx_codec_vp8_dx(); - - - encoding = (flags & SWITCH_CODEC_FLAG_ENCODE); - decoding = (flags & SWITCH_CODEC_FLAG_DECODE); - - if (!(encoding || decoding) || ((context = switch_core_alloc(codec->memory_pool, sizeof(*context))) == 0)) { - return SWITCH_STATUS_FALSE; - } - memset(context, 0, sizeof(*context)); - context->flags = flags; - codec->private_info = context; - - if (codec->fmtp_in) { - codec->fmtp_out = switch_core_strdup(codec->memory_pool, codec->fmtp_in); - } - - config = &context->config; - - if (vpx_codec_enc_config_default(encoder_interface, config, 0) != VPX_CODEC_OK) { - switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_ERROR, "Encoder config Error\n"); - return SWITCH_STATUS_FALSE; - } - - // very big defaults till we know why scaling segs it - context->width = 3840; - context->height = 2160; - context->bitrate = 3840000; + vpx_context_t *context = (vpx_context_t *)codec->private_info; + vpx_codec_enc_cfg_t *config = &context->config; // settings config->g_profile = 1; - config->g_w = context->width; - config->g_h = context->height; - config->rc_target_bitrate = context->bitrate; + config->g_w = context->codec_settings.video.width; + config->g_h = context->codec_settings.video.height; + config->rc_target_bitrate = context->bandwidth; config->g_timebase.num = 1; config->g_timebase.den = 1000; config->g_error_resilient = VPX_ERROR_RESILIENT_PARTITIONS; @@ -127,11 +98,11 @@ static switch_status_t switch_vpx_init(switch_codec_t *codec, switch_codec_flag_ config->rc_dropframe_thresh = 0; config->rc_end_usage = VPX_CBR; config->g_pass = VPX_RC_ONE_PASS; - // config->kf_mode = VPX_KF_DISABLED; - config->kf_mode = VPX_KF_AUTO; - // config->kf_min_dist = FPS;// Intra Period 3 seconds; - // config->kf_max_dist = FPS * 3; - config->rc_resize_allowed = 0; + config->kf_mode = VPX_KF_DISABLED; + //config->kf_mode = VPX_KF_AUTO; + //config->kf_min_dist = FPS;// Intra Period 3 seconds; + //config->kf_max_dist = FPS; + config->rc_resize_allowed = 1; config->rc_min_quantizer = 2; config->rc_max_quantizer = 56; //Rate control adaptation undershoot control. @@ -157,59 +128,74 @@ static switch_status_t switch_vpx_init(switch_codec_t *codec, switch_codec_flag_ // indicates that the client will buffer (at least) 5000ms worth // of encoded data. Use the target bitrate (rc_target_bitrate) to // convert to bits/bytes, if necessary. - config->rc_buf_sz = 1000; + config->rc_buf_sz = 5000; //Decoder Buffer Initial Size. // This value indicates the amount of data that will be buffered // by the decoding application prior to beginning playback. // This value is expressed in units of time (milliseconds). // Use the target bitrate (rc_target_bitrate) to convert to // bits/bytes, if necessary. - config->rc_buf_initial_sz = 500; + config->rc_buf_initial_sz = 1000; //Decoder Buffer Optimal Size. // This value indicates the amount of data that the encoder should // try to maintain in the decoder's buffer. This value is expressed // in units of time (milliseconds). // Use the target bitrate (rc_target_bitrate) to convert to // bits/bytes, if necessary. - config->rc_buf_optimal_sz = 600; + config->rc_buf_optimal_sz = 1000; + + if (context->flags & SWITCH_CODEC_FLAG_ENCODE) { + + if (context->encoder_init) { + vpx_codec_destroy(&context->encoder); + context->encoder_init = 0; + } - if (encoding) { if (vpx_codec_enc_init(&context->encoder, encoder_interface, config, 0 & VPX_CODEC_USE_OUTPUT_PARTITION) != VPX_CODEC_OK) { - switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_ERROR, "Codec init error: [%d:%s]\n", encoder->err, encoder->err_detail); + switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_ERROR, "Codec init error: [%d:%s]\n", context->encoder.err, context->encoder.err_detail); return SWITCH_STATUS_FALSE; } + context->encoder_init = 1; + // The static threshold imposes a change threshold on blocks below which they will be skipped by the encoder. - vpx_codec_control(encoder, VP8E_SET_STATIC_THRESHOLD, 100); + vpx_codec_control(&context->encoder, VP8E_SET_STATIC_THRESHOLD, 100); //Set cpu usage, a bit lower than normal (-6) but higher than android (-12) - vpx_codec_control(encoder, VP8E_SET_CPUUSED, -8); + vpx_codec_control(&context->encoder, VP8E_SET_CPUUSED, -6); // Only one partition - // vpx_codec_control(encoder, VP8E_SET_TOKEN_PARTITIONS, VP8_ONE_TOKENPARTITION); + // vpx_codec_control(&context->encoder, VP8E_SET_TOKEN_PARTITIONS, VP8_ONE_TOKENPARTITION); // Enable noise reduction - vpx_codec_control(encoder, VP8E_SET_NOISE_SENSITIVITY, 0); + vpx_codec_control(&context->encoder, VP8E_SET_NOISE_SENSITIVITY, 1); //Set max data rate for Intra frames. // This value controls additional clamping on the maximum size of a keyframe. // It is expressed as a percentage of the average per-frame bitrate, with the // special (and default) value 0 meaning unlimited, or no additional clamping // beyond the codec's built-in algorithm. // For example, to allocate no more than 4.5 frames worth of bitrate to a keyframe, set this to 450. - vpx_codec_control(encoder, VP8E_SET_MAX_INTRA_BITRATE_PCT, 0); + vpx_codec_control(&context->encoder, VP8E_SET_MAX_INTRA_BITRATE_PCT, 0); } - if (decoding) { + if (context->flags & SWITCH_CODEC_FLAG_DECODE) { vp8_postproc_cfg_t ppcfg; + if (context->decoder_init) { + vpx_codec_destroy(&context->decoder); + context->decoder_init = 0; + } + if (vpx_codec_dec_init(&context->decoder, decoder_interface, NULL, VPX_CODEC_USE_POSTPROC) != VPX_CODEC_OK) { - switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_ERROR, "Codec init error: [%d:%s]\n", encoder->err, encoder->err_detail); + switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_ERROR, "Codec init error: [%d:%s]\n", context->encoder.err, context->encoder.err_detail); return SWITCH_STATUS_FALSE; } + context->decoder_init = 1; + // the types of post processing to be done, should be combination of "vp8_postproc_level" ppcfg.post_proc_flag = VP8_DEMACROBLOCK | VP8_DEBLOCK; // the strength of deblocking, valid range [0, 16] ppcfg.deblocking_level = 3; // Set deblocking settings - vpx_codec_control(decoder, VP8_SET_POSTPROC, &ppcfg); + vpx_codec_control(&context->decoder, VP8_SET_POSTPROC, &ppcfg); switch_buffer_create_dynamic(&context->vpx_packet_buffer, 512, 512, 1024000); } @@ -217,6 +203,39 @@ static switch_status_t switch_vpx_init(switch_codec_t *codec, switch_codec_flag_ return SWITCH_STATUS_SUCCESS; } +static switch_status_t switch_vpx_init(switch_codec_t *codec, switch_codec_flag_t flags, const switch_codec_settings_t *codec_settings) +{ + vpx_context_t *context = NULL; + int encoding, decoding; + + + encoding = (flags & SWITCH_CODEC_FLAG_ENCODE); + decoding = (flags & SWITCH_CODEC_FLAG_DECODE); + + if (!(encoding || decoding) || ((context = switch_core_alloc(codec->memory_pool, sizeof(*context))) == 0)) { + return SWITCH_STATUS_FALSE; + } + + memset(context, 0, sizeof(*context)); + context->flags = flags; + codec->private_info = context; + + if (codec_settings) { + context->codec_settings = *codec_settings; + } + + if (codec->fmtp_in) { + codec->fmtp_out = switch_core_strdup(codec->memory_pool, codec->fmtp_in); + } + + if (vpx_codec_enc_config_default(encoder_interface, &context->config, 0) != VPX_CODEC_OK) { + switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_ERROR, "Encoder config Error\n"); + return SWITCH_STATUS_FALSE; + } + + return SWITCH_STATUS_SUCCESS; +} + /* http://tools.ietf.org/html/draft-ietf-payload-vp8-10 The first octets after the RTP header are the VP8 payload descriptor, with the following structure. @@ -313,8 +332,8 @@ static switch_status_t consume_partition(vpx_context_t *context, void *data, uin } static switch_status_t switch_vpx_encode(switch_codec_t *codec, switch_image_t *img, - void *encoded_data, uint32_t *encoded_data_len, - unsigned int *flag) + void *encoded_data, uint32_t *encoded_data_len, + unsigned int *flag) { vpx_context_t *context = (vpx_context_t *)codec->private_info; uint32_t duration = 90000 / FPS; @@ -332,6 +351,8 @@ static switch_status_t switch_vpx_encode(switch_codec_t *codec, switch_image_t * //d_w and d_h are messed up + //printf("WTF %d %d\n", img->d_w, img->d_h); + width = img->w; height = img->h; @@ -339,28 +360,31 @@ static switch_status_t switch_vpx_encode(switch_codec_t *codec, switch_image_t * //switch_assert(height > 0 && (height % 4 == 0)); if (context->config.g_w != width || context->config.g_h != height) { - switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_NOTICE, "VPX reset encoder picture from %dx%d to %dx%d\n", context->config.g_w, context->config.g_h, width, height); - context->config.g_w = width; - context->config.g_h = height; - if (vpx_codec_enc_config_set(&context->encoder, &context->config) != VPX_CODEC_OK) { - switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_WARNING, "VPX reset config error!"); + context->codec_settings.video.width = width; + context->codec_settings.video.height = height; + if (context->codec_settings.video.bandwidth) { + context->bandwidth = context->codec_settings.video.bandwidth; + } else { + context->bandwidth = width * height * 8; } - } - if (context->last_ts == 0) context->last_ts = switch_micro_time_now(); + if (context->bandwidth > 1250000) { + context->bandwidth = 1250000; + } - if ((switch_micro_time_now() - context->last_ts) > 2 * 1000000) { - // the config params doesn't seems work for generate regular key frames, - // so we do some trick here to force a key frame every 2 sec - // vpx_flags = VPX_EFLAG_FORCE_KF; - context->last_ts = switch_micro_time_now(); + switch_log_printf(SWITCH_CHANNEL_SESSION_LOG(codec->session), SWITCH_LOG_NOTICE, + "VPX reset encoder picture from %dx%d to %dx%d %u BW\n", + context->config.g_w, context->config.g_h, width, height, context->bandwidth); + + init_codec(codec); + *flag |= SFF_PICTURE_RESET; + context->need_key_frame = 1; } if (context->need_key_frame > 0) { // force generate a key frame switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_NOTICE, "VPX KEYFRAME REQ\n"); vpx_flags |= VPX_EFLAG_FORCE_KF; - context->last_ts = switch_micro_time_now(); context->need_key_frame--; } @@ -539,7 +563,7 @@ static switch_status_t switch_vpx_destroy(switch_codec_t *codec) if (context) { if ((codec->flags & SWITCH_CODEC_FLAG_ENCODE)) { - vpx_codec_destroy(&context->encoder); // TODO fix crash + vpx_codec_destroy(&context->encoder); } if ((codec->flags & SWITCH_CODEC_FLAG_DECODE)) { diff --git a/src/mod/formats/mod_vlc/mod_vlc.c b/src/mod/formats/mod_vlc/mod_vlc.c index 9c50f6de92..28c5e576b8 100644 --- a/src/mod/formats/mod_vlc/mod_vlc.c +++ b/src/mod/formats/mod_vlc/mod_vlc.c @@ -102,6 +102,7 @@ struct vlc_video_context { switch_mutex_t *video_mutex; switch_core_session_t *session; + switch_channel_t *channel; switch_frame_t *aud_frame; switch_frame_t *vid_frame; uint8_t video_packet[1500 + 12]; @@ -230,20 +231,11 @@ static void *vlc_video_lock_callback(void *data, void **p_pixels) return NULL; /* picture identifier, not needed here */ } -/* dummy callback so it should be good when no video on channel */ -static void vlc_video_unlock_dummy_callback(void *data, void *id, void *const *p_pixels) -{ - vlc_video_context_t *context = (vlc_video_context_t *)data; - assert(id == NULL); /* picture identifier, not needed here */ - switch_mutex_unlock(context->video_mutex); -} - static void vlc_video_unlock_callback(void *data, void *id, void *const *p_pixels) { vlc_video_context_t *context = (vlc_video_context_t *) data; - switch_frame_t *frame = context->vid_frame; - switch_assert(id == NULL); /* picture identifier, not needed here */ + if (context->channel && !switch_channel_test_flag(context->channel, CF_VIDEO)) return; if (!context->img) context->img = switch_img_alloc(NULL, SWITCH_IMG_FMT_I420, context->width, context->height, 0); @@ -251,14 +243,11 @@ static void vlc_video_unlock_callback(void *data, void *id, void *const *p_pixel yuyv_to_i420(*p_pixels, context->img->img_data, context->width, context->height); - switch_core_session_write_video_image(context->session, frame, context->img, SWITCH_DEFAULT_VIDEO_SIZE, NULL); - switch_mutex_unlock(context->video_mutex); } -static void do_buffer_frame(vlc_video_context_t *context) +static void do_buffer_frame(vlc_video_context_t *context, switch_frame_t *frame) { - switch_frame_t *frame = context->vid_frame; uint32_t size = sizeof(*frame) + frame->packetlen; switch_mutex_lock(context->video_mutex); @@ -277,32 +266,35 @@ static void do_buffer_frame(vlc_video_context_t *context) static void vlc_video_channel_unlock_callback(void *data, void *id, void *const *p_pixels) { vlc_video_context_t *context = (vlc_video_context_t *)data; - uint32_t flag = 0; - switch_frame_t *frame = context->vid_frame; + switch_assert(id == NULL); /* picture identifier, not needed here */ + if (context->channel && !switch_channel_test_flag(context->channel, CF_VIDEO)) return; + if (!context->img) context->img = switch_img_alloc(NULL, SWITCH_IMG_FMT_I420, context->width, context->height, 0); switch_assert(context->img); yuyv_to_i420(*p_pixels, context->img->img_data, context->width, context->height); + switch_mutex_unlock(context->video_mutex); +} + +static void vlc_video_display_callback(void *data, void *id) +{ + vlc_video_context_t *context = (vlc_video_context_t *) data; + int32_t flag = 0; + + /* VLC wants to display the video */ + + if (context->channel && !switch_channel_test_flag(context->channel, CF_VIDEO)) return; if (context->video_refresh_req > 0) { flag |= SFF_WAIT_KEY_FRAME; context->video_refresh_req--; } - switch_core_session_write_video_image(context->session, frame, context->img, SWITCH_DEFAULT_VIDEO_SIZE, &flag); - - switch_mutex_unlock(context->video_mutex); -} - -static void vlc_video_display_callback(void *data, void *id) -{ - /* VLC wants to display the video */ - (void) data; - assert(id == NULL); + switch_core_session_write_video_image(context->session, context->vid_frame, context->img, SWITCH_DEFAULT_VIDEO_SIZE, NULL); } unsigned video_format_setup_callback(void **opaque, char *chroma, unsigned *width, unsigned *height, unsigned *pitches, unsigned *lines) @@ -723,7 +715,9 @@ SWITCH_STANDARD_APP(play_video_function) audio_datalen = read_impl.decoded_bytes_per_packet; //codec.implementation->actual_samples_per_second / 1000 * (read_impl.microseconds_per_packet / 1000); + context->session = session; + context->channel = channel; context->pool = pool; context->aud_frame = &audio_frame; context->vid_frame = &video_frame; @@ -770,14 +764,8 @@ SWITCH_STANDARD_APP(play_video_function) libvlc_audio_set_format(context->mp, "S16N", read_impl.actual_samples_per_second, read_impl.number_of_channels); libvlc_audio_set_callbacks(context->mp, vlc_play_audio_callback, NULL,NULL,NULL,NULL, (void *) context); - if (switch_channel_test_flag(channel, CF_VIDEO)) { - // libvlc_video_set_format(context->mp, "YUYV", VIDEOWIDTH, VIDEOHEIGHT, VIDEOWIDTH * 2); - libvlc_video_set_format_callbacks(context->mp, video_format_setup_callback, video_format_clean_callback); - libvlc_video_set_callbacks(context->mp, vlc_video_lock_callback, vlc_video_unlock_callback, vlc_video_display_callback, context); - } else { - libvlc_video_set_format_callbacks(context->mp, video_format_setup_callback, video_format_clean_callback); - libvlc_video_set_callbacks(context->mp, vlc_video_lock_callback, vlc_video_unlock_dummy_callback, vlc_video_display_callback, context); - } + libvlc_video_set_format_callbacks(context->mp, video_format_setup_callback, video_format_clean_callback); + libvlc_video_set_callbacks(context->mp, vlc_video_lock_callback, vlc_video_unlock_callback, vlc_video_display_callback, context); // start play if (-1 == libvlc_media_player_play(context->mp)) { @@ -928,6 +916,15 @@ switch_io_routines_t vlc_io_routines = { /*state_run*/ NULL }; +static switch_status_t vlc_channel_img_callback(switch_core_session_t *session, switch_frame_t *frame, switch_image_t *img, void *user_data) +{ + vlc_video_context_t *context = (vlc_video_context_t *) user_data; + + do_buffer_frame(context, frame); + + return SWITCH_STATUS_SUCCESS; +} + static switch_status_t setup_tech_pvt(switch_core_session_t *session, const char *path) { switch_channel_t *channel = switch_core_session_get_channel(session); @@ -952,11 +949,12 @@ static switch_status_t setup_tech_pvt(switch_core_session_t *session, const char memset(context, 0, sizeof(vlc_file_context_t)); tech_pvt->context = context; + switch_buffer_create_dynamic(&(context->audio_buffer), VLC_BUFFER_SIZE, VLC_BUFFER_SIZE * 8, 0); - if (switch_channel_test_flag(channel, CF_VIDEO)) { - switch_buffer_create_dynamic(&(context->video_buffer), VLC_BUFFER_SIZE * 2, VLC_BUFFER_SIZE * 16, 0); - } + switch_buffer_create_dynamic(&(context->video_buffer), VLC_BUFFER_SIZE * 2, VLC_BUFFER_SIZE * 16, 0); + + switch_core_session_set_image_write_callback(session, vlc_channel_img_callback, tech_pvt->context); if (switch_core_timer_init(&tech_pvt->timer, "soft", 20, 8000 / (1000 / 20), pool) != SWITCH_STATUS_SUCCESS) { @@ -969,6 +967,9 @@ static switch_status_t setup_tech_pvt(switch_core_session_t *session, const char context->pool = pool; context->aud_frame = &tech_pvt->read_frame; context->vid_frame = &tech_pvt->read_video_frame; + context->vid_frame->packet = context->video_packet; + context->vid_frame->data = context->video_packet + 12; + context->playing = 0; // context->err = 0; @@ -1010,14 +1011,10 @@ static switch_status_t setup_tech_pvt(switch_core_session_t *session, const char libvlc_audio_set_format(context->mp, "S16N", 8000, 1); libvlc_audio_set_callbacks(context->mp, vlc_play_audio_callback, NULL,NULL,NULL,NULL, (void *) context); - if (switch_channel_test_flag(channel, CF_VIDEO)) { - // libvlc_video_set_format(context->mp, "YUYV", VIDEOWIDTH, VIDEOHEIGHT, VIDEOWIDTH * 2); - libvlc_video_set_format_callbacks(context->mp, video_format_setup_callback, video_format_clean_callback); - libvlc_video_set_callbacks(context->mp, vlc_video_lock_callback, vlc_video_channel_unlock_callback, vlc_video_display_callback, context); - } else { - libvlc_video_set_format_callbacks(context->mp, video_format_setup_callback, video_format_clean_callback); - libvlc_video_set_callbacks(context->mp, vlc_video_lock_callback, vlc_video_unlock_dummy_callback, vlc_video_display_callback, context); - } + + libvlc_video_set_format_callbacks(context->mp, video_format_setup_callback, video_format_clean_callback); + libvlc_video_set_callbacks(context->mp, vlc_video_lock_callback, vlc_video_channel_unlock_callback, vlc_video_display_callback, context); + return SWITCH_STATUS_SUCCESS; @@ -1026,25 +1023,13 @@ fail: return status; } -static switch_status_t vlc_channel_img_callback(switch_core_session_t *session, switch_frame_t *frame, switch_image_t *img, void *user_data) -{ - vlc_video_context_t *context = (vlc_video_context_t *) user_data; - - do_buffer_frame(context); - - return SWITCH_STATUS_SUCCESS; -} - - static switch_status_t channel_on_init(switch_core_session_t *session) { switch_channel_t *channel = switch_core_session_get_channel(session); - vlc_private_t *tech_pvt = switch_core_session_get_private(session); + //vlc_private_t *tech_pvt = switch_core_session_get_private(session); switch_channel_set_state(channel, CS_CONSUME_MEDIA); - switch_core_session_set_image_write_callback(session, vlc_channel_img_callback, tech_pvt->context); - return SWITCH_STATUS_SUCCESS; } @@ -1096,6 +1081,10 @@ static switch_status_t channel_on_destroy(switch_core_session_t *session) switch_buffer_destroy(&tech_pvt->context->audio_buffer); } + if (tech_pvt->context->video_buffer) { + switch_buffer_destroy(&tech_pvt->context->video_buffer); + } + if (tech_pvt->timer.interval) { switch_core_timer_destroy(&tech_pvt->timer); } diff --git a/src/switch_core_codec.c b/src/switch_core_codec.c index ef776c790f..0e392edcbb 100644 --- a/src/switch_core_codec.c +++ b/src/switch_core_codec.c @@ -646,6 +646,10 @@ SWITCH_DECLARE(switch_status_t) switch_core_codec_init_with_bitrate(switch_codec memset(codec, 0, sizeof(*codec)); + if (pool) { + codec->session = switch_core_memory_pool_get_data(pool, "__session"); + } + if ((codec_interface = switch_loadable_module_get_codec_interface(codec_name)) == 0) { switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_ERROR, "Invalid codec %s!\n", codec_name); return SWITCH_STATUS_GENERR; diff --git a/src/switch_core_io.c b/src/switch_core_io.c index f7515b9264..85e6b8ce0e 100644 --- a/src/switch_core_io.c +++ b/src/switch_core_io.c @@ -36,174 +36,6 @@ #include #include "private/switch_core_pvt.h" -SWITCH_DECLARE(void) switch_core_session_set_image_write_callback(switch_core_session_t *session, switch_image_write_callback_t callback, void *user_data) -{ - session->image_write_callback = callback; - session->image_write_callback_user_data = user_data; -} - -SWITCH_DECLARE(switch_status_t) switch_core_session_write_video_image(switch_core_session_t *session, switch_frame_t *frame, - switch_image_t *img, switch_size_t size, uint32_t *flag) -{ - uint32_t encoded_data_len = size, lflag = 0, *flagp = flag; - switch_codec_t *codec = switch_core_session_get_video_write_codec(session); - switch_timer_t *timer; - - switch_assert(session); - - if (!flag) { - flagp = &lflag; - } - - timer = switch_core_media_get_timer(session, SWITCH_MEDIA_TYPE_VIDEO); - switch_assert(timer); - - switch_core_codec_encode_video(codec, img, frame->data, &encoded_data_len, flagp); - - while(encoded_data_len) { - - frame->datalen = encoded_data_len; - frame->packetlen = frame->datalen + 12; - frame->m = (*flagp & SFF_MARKER) ? 1 : 0; - frame->timestamp = timer->samplecount; - - switch_set_flag(frame, SFF_RAW_RTP_PARSE_FRAME); - - switch_core_session_write_video_frame(session, frame, SWITCH_IO_FLAG_NONE, 0); - - if (session->image_write_callback) { - session->image_write_callback(session, frame, img, session->image_write_callback_user_data); - } - - encoded_data_len = size; - switch_core_codec_encode_video(codec, NULL, frame->data, &encoded_data_len, flagp); - } - - return SWITCH_STATUS_SUCCESS; -} - - -SWITCH_DECLARE(switch_status_t) switch_core_session_write_video_frame(switch_core_session_t *session, switch_frame_t *frame, switch_io_flag_t flags, - int stream_id) -{ - switch_io_event_hook_video_write_frame_t *ptr; - switch_status_t status = SWITCH_STATUS_FALSE; - - if (switch_channel_down(session->channel)) { - return SWITCH_STATUS_FALSE; - } - - if (switch_channel_test_flag(session->channel, CF_VIDEO_PAUSE)) { - return SWITCH_STATUS_SUCCESS; - } - - if (session->endpoint_interface->io_routines->write_video_frame) { - if ((status = session->endpoint_interface->io_routines->write_video_frame(session, frame, flags, stream_id)) == SWITCH_STATUS_SUCCESS) { - for (ptr = session->event_hooks.video_write_frame; ptr; ptr = ptr->next) { - if ((status = ptr->video_write_frame(session, frame, flags, stream_id)) != SWITCH_STATUS_SUCCESS) { - break; - } - } - } - } - return status; -} - -SWITCH_DECLARE(switch_status_t) switch_core_session_read_video_frame(switch_core_session_t *session, switch_frame_t **frame, switch_io_flag_t flags, - int stream_id) -{ - switch_status_t status = SWITCH_STATUS_FALSE; - switch_io_event_hook_video_read_frame_t *ptr; - - switch_assert(session != NULL); - - if (switch_channel_down(session->channel)) { - return SWITCH_STATUS_FALSE; - } - - if (switch_channel_test_flag(session->channel, CF_VIDEO_PAUSE)) { - *frame = &runtime.dummy_cng_frame; - switch_yield(20000); - return SWITCH_STATUS_SUCCESS; - } - - if (session->endpoint_interface->io_routines->read_video_frame) { - if ((status = session->endpoint_interface->io_routines->read_video_frame(session, frame, flags, stream_id)) == SWITCH_STATUS_SUCCESS) { - for (ptr = session->event_hooks.video_read_frame; ptr; ptr = ptr->next) { - if ((status = ptr->video_read_frame(session, frame, flags, stream_id)) != SWITCH_STATUS_SUCCESS) { - break; - } - } - } - } - - if (status == SWITCH_STATUS_INUSE) { - *frame = &runtime.dummy_cng_frame; - switch_yield(20000); - return SWITCH_STATUS_SUCCESS; - } - - if (status != SWITCH_STATUS_SUCCESS) { - goto done; - } - - if (!(*frame)) { - goto done; - } - - if (switch_test_flag(*frame, SFF_CNG)) { - status = SWITCH_STATUS_SUCCESS; - goto done; - } - - if (session->bugs) { - switch_media_bug_t *bp; - switch_bool_t ok = SWITCH_TRUE; - int prune = 0; - switch_thread_rwlock_rdlock(session->bug_rwlock); - for (bp = session->bugs; bp; bp = bp->next) { - if (switch_channel_test_flag(session->channel, CF_PAUSE_BUGS) && !switch_core_media_bug_test_flag(bp, SMBF_NO_PAUSE)) { - continue; - } - - if (!switch_channel_test_flag(session->channel, CF_ANSWERED) && switch_core_media_bug_test_flag(bp, SMBF_ANSWER_REQ)) { - continue; - } - - if (switch_test_flag(bp, SMBF_PRUNE)) { - prune++; - continue; - } - - if (bp->ready && switch_test_flag(bp, SMBF_READ_PING)) { - switch_mutex_lock(bp->read_mutex); - bp->ping_frame = *frame; - if (bp->callback) { - if (bp->callback(bp, bp->user_data, SWITCH_ABC_TYPE_READ_VIDEO_PING) == SWITCH_FALSE - || (bp->stop_time && bp->stop_time <= switch_epoch_time_now(NULL))) { - ok = SWITCH_FALSE; - } - } - bp->ping_frame = NULL;; - switch_mutex_unlock(bp->read_mutex); - } - - if (ok == SWITCH_FALSE) { - switch_set_flag(bp, SMBF_PRUNE); - prune++; - } - } - switch_thread_rwlock_unlock(session->bug_rwlock); - if (prune) { - switch_core_media_bug_prune(session); - } - } - - done: - - return status; -} - SWITCH_DECLARE(void) switch_core_gen_encoded_silence(unsigned char *data, const switch_codec_implementation_t *read_impl, switch_size_t len) { unsigned char g729_filler[] = { diff --git a/src/switch_core_media.c b/src/switch_core_media.c index 5b620548c1..99a9620c34 100644 --- a/src/switch_core_media.c +++ b/src/switch_core_media.c @@ -154,6 +154,9 @@ typedef struct switch_rtp_engine_s { uint8_t pli; uint8_t nack; uint8_t no_crypto; + + switch_codec_settings_t codec_settings; + } switch_rtp_engine_t; @@ -190,6 +193,9 @@ struct switch_media_handle_s { switch_rtp_crypto_mode_t crypto_mode; switch_rtp_crypto_key_type_t crypto_suite_order[CRYPTO_INVALID+1]; + switch_time_t video_last_key_time; + switch_time_t video_init; + switch_timer_t video_timer; }; @@ -1436,6 +1442,10 @@ SWITCH_DECLARE(void) switch_media_handle_destroy(switch_core_session_t *session) v_engine = &smh->engines[SWITCH_MEDIA_TYPE_VIDEO]; + if (smh->video_timer.timer_interface) { + switch_core_timer_destroy(&smh->video_timer); + } + if (switch_core_codec_ready(&a_engine->read_codec)) { switch_core_codec_destroy(&a_engine->read_codec); } @@ -1498,6 +1508,15 @@ SWITCH_DECLARE(switch_status_t) switch_media_handle_create(switch_media_handle_t } session->media_handle->mparams = params; + + if (!session->media_handle->mparams->video_key_freq) { + session->media_handle->mparams->video_key_freq = 15000000; + } + + if (!session->media_handle->mparams->video_key_first) { + session->media_handle->mparams->video_key_first = 1000000; + } + for (i = 0; i <= CRYPTO_INVALID; i++) { session->media_handle->crypto_suite_order[i] = CRYPTO_INVALID; @@ -2262,6 +2281,43 @@ SWITCH_DECLARE(switch_status_t) switch_core_media_get_offered_pt(switch_core_ses return SWITCH_STATUS_FALSE; } +//#define get_int_value(_var, _set) { const char *__v = switch_channel_get_variable(session->channel, _var); if (__v) { _set = atol(__v);} } +//? +static void switch_core_session_parse_codec_settings(switch_core_session_t *session, switch_media_type_t type) +{ + switch_media_handle_t *smh; + switch_rtp_engine_t *engine; + + switch_assert(session); + + if (!(smh = session->media_handle)) { + return; + } + + if ((engine = &smh->engines[type])); + + switch(type) { + case SWITCH_MEDIA_TYPE_AUDIO: + break; + case SWITCH_MEDIA_TYPE_VIDEO: + { + const char *bwv = switch_channel_get_variable(session->channel, "video_codec_bandwidth"); + uint32_t bw = 0; + + if (bwv && (bw = (uint32_t) atol(bwv))) { + if (switch_stristr("kb", bwv)) { + bw *= 125; + } else if (switch_stristr("mb", bwv)) { + bw *= 125000; + } + engine->codec_settings.video.bandwidth = bw; + } + } + break; + default: + break; + } +} //? @@ -2300,7 +2356,7 @@ SWITCH_DECLARE(switch_status_t) switch_core_media_set_video_codec(switch_core_se } } - + switch_core_session_parse_codec_settings(session, SWITCH_MEDIA_TYPE_VIDEO); if (switch_core_codec_init(&v_engine->read_codec, v_engine->cur_payload_map->rm_encoding, @@ -2309,7 +2365,7 @@ SWITCH_DECLARE(switch_status_t) switch_core_media_set_video_codec(switch_core_se 0, 1, SWITCH_CODEC_FLAG_ENCODE | SWITCH_CODEC_FLAG_DECODE, - NULL, switch_core_session_get_pool(session)) != SWITCH_STATUS_SUCCESS) { + &v_engine->codec_settings, switch_core_session_get_pool(session)) != SWITCH_STATUS_SUCCESS) { switch_log_printf(SWITCH_CHANNEL_SESSION_LOG(session), SWITCH_LOG_ERROR, "Can't load codec?\n"); return SWITCH_STATUS_FALSE; } else { @@ -2320,7 +2376,7 @@ SWITCH_DECLARE(switch_status_t) switch_core_media_set_video_codec(switch_core_se 0, 1, SWITCH_CODEC_FLAG_ENCODE | SWITCH_CODEC_FLAG_DECODE, - NULL, switch_core_session_get_pool(session)) != SWITCH_STATUS_SUCCESS) { + &v_engine->codec_settings, switch_core_session_get_pool(session)) != SWITCH_STATUS_SUCCESS) { switch_log_printf(SWITCH_CHANNEL_SESSION_LOG(session), SWITCH_LOG_ERROR, "Can't load codec?\n"); return SWITCH_STATUS_FALSE; } else { @@ -2361,7 +2417,6 @@ SWITCH_DECLARE(switch_status_t) switch_core_media_set_video_codec(switch_core_se switch_channel_set_variable(session->channel, "rtp_use_video_codec_fmtp", v_engine->cur_payload_map->rm_fmtp); switch_channel_set_variable_printf(session->channel, "rtp_use_video_codec_rate", "%d", v_engine->cur_payload_map->rm_rate); switch_channel_set_variable_printf(session->channel, "rtp_use_video_codec_ptime", "%d", 0); - } } return SWITCH_STATUS_SUCCESS; @@ -2437,6 +2492,9 @@ SWITCH_DECLARE(switch_status_t) switch_core_media_set_codec(switch_core_session_ } } + + switch_core_session_parse_codec_settings(session, SWITCH_MEDIA_TYPE_AUDIO); + if (switch_core_codec_init_with_bitrate(&a_engine->read_codec, a_engine->cur_payload_map->iananame, a_engine->cur_payload_map->rm_fmtp, @@ -2445,7 +2503,7 @@ SWITCH_DECLARE(switch_status_t) switch_core_media_set_codec(switch_core_session_ a_engine->cur_payload_map->channels, a_engine->cur_payload_map->bitrate, SWITCH_CODEC_FLAG_ENCODE | SWITCH_CODEC_FLAG_DECODE | codec_flags, - NULL, switch_core_session_get_pool(session)) != SWITCH_STATUS_SUCCESS) { + &a_engine->codec_settings, switch_core_session_get_pool(session)) != SWITCH_STATUS_SUCCESS) { switch_log_printf(SWITCH_CHANNEL_SESSION_LOG(session), SWITCH_LOG_ERROR, "Can't load codec?\n"); switch_channel_hangup(session->channel, SWITCH_CAUSE_INCOMPATIBLE_DESTINATION); switch_goto_status(SWITCH_STATUS_FALSE, end); @@ -2462,7 +2520,7 @@ SWITCH_DECLARE(switch_status_t) switch_core_media_set_codec(switch_core_session_ a_engine->cur_payload_map->channels, a_engine->cur_payload_map->bitrate, SWITCH_CODEC_FLAG_ENCODE | SWITCH_CODEC_FLAG_DECODE | codec_flags, - NULL, switch_core_session_get_pool(session)) != SWITCH_STATUS_SUCCESS) { + &a_engine->codec_settings, switch_core_session_get_pool(session)) != SWITCH_STATUS_SUCCESS) { switch_log_printf(SWITCH_CHANNEL_SESSION_LOG(session), SWITCH_LOG_ERROR, "Can't load codec?\n"); switch_channel_hangup(session->channel, SWITCH_CAUSE_INCOMPATIBLE_DESTINATION); switch_goto_status(SWITCH_STATUS_FALSE, end); @@ -7210,8 +7268,8 @@ SWITCH_DECLARE(void) switch_core_media_gen_local_sdp(switch_core_session_t *sess pli++; nack++; } - - nack = v_engine->nack = pli = v_engine->pli = 0; + + nack = v_engine->nack = 0;//pli = v_engine->pli = 0; if (vp8) { @@ -9502,6 +9560,223 @@ SWITCH_DECLARE(switch_status_t) switch_core_media_codec_control(switch_core_sess return SWITCH_STATUS_FALSE; } + +SWITCH_DECLARE(void) switch_core_session_set_image_write_callback(switch_core_session_t *session, switch_image_write_callback_t callback, void *user_data) +{ + session->image_write_callback = callback; + session->image_write_callback_user_data = user_data; +} + +SWITCH_DECLARE(switch_status_t) switch_core_session_write_video_image(switch_core_session_t *session, switch_frame_t *frame, + switch_image_t *img, switch_size_t size, uint32_t *flag) +{ + uint32_t encoded_data_len = size, lflag = 0, *flagp = flag; + switch_codec_t *codec = switch_core_session_get_video_write_codec(session); + switch_timer_t *timer; + switch_media_handle_t *smh; + //switch_rtp_engine_t *v_engine; + + switch_assert(session); + + if (!(smh = session->media_handle)) { + return SWITCH_STATUS_FALSE; + } + + //v_engine = &smh->engines[SWITCH_MEDIA_TYPE_VIDEO]; + + + if (!flag) { + flagp = &lflag; + } + + if (!(timer = switch_core_media_get_timer(session, SWITCH_MEDIA_TYPE_VIDEO))) { + + if (!smh->video_timer.timer_interface) { + switch_core_timer_init(&smh->video_timer, "soft", 1, 90, switch_core_session_get_pool(session)); + } + + timer = &smh->video_timer; + } + + + do { + encoded_data_len = size; + switch_core_codec_encode_video(codec, img, frame->data, &encoded_data_len, flagp); + + if (*flagp & SFF_PICTURE_RESET) { + smh->video_init = 0; + smh->video_last_key_time = 0; + *flagp &= ~SFF_PICTURE_RESET; + } + + frame->datalen = encoded_data_len; + frame->packetlen = frame->datalen + 12; + frame->m = (*flagp & SFF_MARKER) ? 1 : 0; + frame->timestamp = timer->samplecount; + + switch_set_flag(frame, SFF_RAW_RTP_PARSE_FRAME); + + switch_core_session_write_video_frame(session, frame, SWITCH_IO_FLAG_NONE, 0); + + if (session->image_write_callback) { + session->image_write_callback(session, frame, img, session->image_write_callback_user_data); + } + + img = NULL; + + } while(encoded_data_len); + + return SWITCH_STATUS_SUCCESS; +} + + +SWITCH_DECLARE(switch_status_t) switch_core_session_write_video_frame(switch_core_session_t *session, switch_frame_t *frame, switch_io_flag_t flags, + int stream_id) +{ + switch_io_event_hook_video_write_frame_t *ptr; + switch_status_t status = SWITCH_STATUS_FALSE; + switch_media_handle_t *smh; + + switch_time_t now = switch_micro_time_now(); + + switch_assert(session); + + if (!(smh = session->media_handle)) { + return SWITCH_STATUS_FALSE; + } + + if (switch_channel_down(session->channel)) { + return SWITCH_STATUS_FALSE; + } + + if (switch_channel_test_flag(session->channel, CF_VIDEO_PAUSE)) { + return SWITCH_STATUS_SUCCESS; + } + + if (!smh->video_init && smh->mparams->video_key_first && (now - smh->video_last_key_time) > smh->mparams->video_key_first) { + switch_core_media_gen_key_frame(smh->session); + + if (smh->video_last_key_time) { + smh->video_init = 1; + } + + smh->video_last_key_time = now; + } + + if (smh->mparams->video_key_freq && (now - smh->video_last_key_time) > smh->mparams->video_key_freq) { + switch_core_media_gen_key_frame(smh->session); + smh->video_last_key_time = now; + } + + if (session->endpoint_interface->io_routines->write_video_frame) { + if ((status = session->endpoint_interface->io_routines->write_video_frame(session, frame, flags, stream_id)) == SWITCH_STATUS_SUCCESS) { + for (ptr = session->event_hooks.video_write_frame; ptr; ptr = ptr->next) { + if ((status = ptr->video_write_frame(session, frame, flags, stream_id)) != SWITCH_STATUS_SUCCESS) { + break; + } + } + } + } + return status; +} + +SWITCH_DECLARE(switch_status_t) switch_core_session_read_video_frame(switch_core_session_t *session, switch_frame_t **frame, switch_io_flag_t flags, + int stream_id) +{ + switch_status_t status = SWITCH_STATUS_FALSE; + switch_io_event_hook_video_read_frame_t *ptr; + + switch_assert(session != NULL); + + if (switch_channel_down(session->channel)) { + return SWITCH_STATUS_FALSE; + } + + if (switch_channel_test_flag(session->channel, CF_VIDEO_PAUSE)) { + *frame = &runtime.dummy_cng_frame; + switch_yield(20000); + return SWITCH_STATUS_SUCCESS; + } + + if (session->endpoint_interface->io_routines->read_video_frame) { + if ((status = session->endpoint_interface->io_routines->read_video_frame(session, frame, flags, stream_id)) == SWITCH_STATUS_SUCCESS) { + for (ptr = session->event_hooks.video_read_frame; ptr; ptr = ptr->next) { + if ((status = ptr->video_read_frame(session, frame, flags, stream_id)) != SWITCH_STATUS_SUCCESS) { + break; + } + } + } + } + + if (status == SWITCH_STATUS_INUSE) { + *frame = &runtime.dummy_cng_frame; + switch_yield(20000); + return SWITCH_STATUS_SUCCESS; + } + + if (status != SWITCH_STATUS_SUCCESS) { + goto done; + } + + if (!(*frame)) { + goto done; + } + + if (switch_test_flag(*frame, SFF_CNG)) { + status = SWITCH_STATUS_SUCCESS; + goto done; + } + + if (session->bugs) { + switch_media_bug_t *bp; + switch_bool_t ok = SWITCH_TRUE; + int prune = 0; + switch_thread_rwlock_rdlock(session->bug_rwlock); + for (bp = session->bugs; bp; bp = bp->next) { + if (switch_channel_test_flag(session->channel, CF_PAUSE_BUGS) && !switch_core_media_bug_test_flag(bp, SMBF_NO_PAUSE)) { + continue; + } + + if (!switch_channel_test_flag(session->channel, CF_ANSWERED) && switch_core_media_bug_test_flag(bp, SMBF_ANSWER_REQ)) { + continue; + } + + if (switch_test_flag(bp, SMBF_PRUNE)) { + prune++; + continue; + } + + if (bp->ready && switch_test_flag(bp, SMBF_READ_PING)) { + switch_mutex_lock(bp->read_mutex); + bp->ping_frame = *frame; + if (bp->callback) { + if (bp->callback(bp, bp->user_data, SWITCH_ABC_TYPE_READ_VIDEO_PING) == SWITCH_FALSE + || (bp->stop_time && bp->stop_time <= switch_epoch_time_now(NULL))) { + ok = SWITCH_FALSE; + } + } + bp->ping_frame = NULL;; + switch_mutex_unlock(bp->read_mutex); + } + + if (ok == SWITCH_FALSE) { + switch_set_flag(bp, SMBF_PRUNE); + prune++; + } + } + switch_thread_rwlock_unlock(session->bug_rwlock); + if (prune) { + switch_core_media_bug_prune(session); + } + } + + done: + + return status; +} + + + /* For Emacs: * Local Variables: * mode:c diff --git a/src/switch_rtp.c b/src/switch_rtp.c index f272eecd15..a4db12ae59 100644 --- a/src/switch_rtp.c +++ b/src/switch_rtp.c @@ -56,6 +56,7 @@ #include #define FIR_COUNTDOWN 50 +#define PLI_COUNTDOWN 50 #define JITTER_LEAD_FRAMES 10 #define READ_INC(rtp_session) switch_mutex_lock(rtp_session->read_mutex); rtp_session->reading++ #define READ_DEC(rtp_session) switch_mutex_unlock(rtp_session->read_mutex); rtp_session->reading-- @@ -299,6 +300,7 @@ struct switch_rtp { rtcp_ext_msg_t rtcp_ext_send_msg; uint8_t fir_seq; uint16_t fir_countdown; + uint16_t pli_countdown; ts_normalize_t ts_norm; switch_sockaddr_t *remote_addr, *rtcp_remote_addr; rtp_msg_t recv_msg; @@ -360,6 +362,7 @@ struct switch_rtp { uint32_t samples_per_second; uint32_t conf_samples_per_interval; uint16_t rtcp_send_rate; + switch_time_t rtcp_last_sent; uint32_t rsamples_per_interval; uint32_t ms_per_packet; uint32_t one_second; @@ -948,7 +951,10 @@ static void handle_ice(switch_rtp_t *rtp_session, switch_rtp_ice_t *ice, void *d } else { ice->rready = 1; } - + + if (rtp_session->flags[SWITCH_RTP_FLAG_VIDEO]) { + switch_core_media_gen_key_frame(rtp_session->session); + } switch_rtp_set_flag(rtp_session, SWITCH_RTP_FLAG_FLUSH); } } @@ -1097,6 +1103,9 @@ static void handle_ice(switch_rtp_t *rtp_session, switch_rtp_ice_t *ice, void *d if (!ice->ready) { ice->ready = 1; + if (rtp_session->flags[SWITCH_RTP_FLAG_VIDEO]) { + switch_core_media_gen_key_frame(rtp_session->session); + } switch_rtp_set_flag(rtp_session, SWITCH_RTP_FLAG_FLUSH); } @@ -2017,21 +2026,23 @@ static int check_rtcp_and_ice(switch_rtp_t *rtp_session) switch_time_t now = switch_micro_time_now(); if (rtp_session->fir_countdown) { - //if (rtp_session->fir_countdown == FIR_COUNTDOWN) { - // do_flush(rtp_session, SWITCH_TRUE); - //} if (rtp_session->fir_countdown == FIR_COUNTDOWN || (rtp_session->fir_countdown == FIR_COUNTDOWN / 2) || rtp_session->fir_countdown == 1) { - if (rtp_session->flags[SWITCH_RTP_FLAG_PLI]) { - send_pli(rtp_session); - } else { - send_fir(rtp_session); - } + send_fir(rtp_session); } rtp_session->fir_countdown--; } + if (rtp_session->pli_countdown) { + + if (rtp_session->pli_countdown == PLI_COUNTDOWN || (rtp_session->pli_countdown == PLI_COUNTDOWN / 2) || rtp_session->pli_countdown == 1) { + send_pli(rtp_session); + } + + rtp_session->pli_countdown--; + } + if (rtp_session->flags[SWITCH_RTP_FLAG_AUTO_CNG] && rtp_session->send_msg.header.ts && rtp_session->cng_pt && rtp_session->timer.samplecount >= (rtp_session->last_write_samplecount + (rtp_session->samples_per_interval * 60))) { uint8_t data[10] = { 0 }; @@ -2059,17 +2070,16 @@ static int check_rtcp_and_ice(switch_rtp_t *rtp_session) rtcp_ok = 0; } + if (rtp_session->rtcp_sock_output && rtp_session->flags[SWITCH_RTP_FLAG_ENABLE_RTCP] && - !rtp_session->flags[SWITCH_RTP_FLAG_RTCP_PASSTHRU] && - (rtp_session->timer.samplecount - rtp_session->stats.rtcp.last_rpt_ts >= rtp_session->samples_per_second * rtp_session->rtcp_send_rate) ) { - + !rtp_session->flags[SWITCH_RTP_FLAG_RTCP_PASSTHRU] && (now - rtp_session->rtcp_last_sent) > rtp_session->rtcp_send_rate * 1000000) { switch_rtcp_numbers_t * stats = &rtp_session->stats.rtcp; struct switch_rtcp_receiver_report *rr; struct switch_rtcp_sender_report *sr; struct switch_rtcp_report_block *rtcp_report_block; - switch_size_t rtcp_bytes = sizeof(struct switch_rtcp_hdr_s)+sizeof(uint32_t); /* add size of the packet header and the ssrc */ + rtp_session->rtcp_last_sent = now; rtp_session->rtcp_send_msg.header.version = 2; rtp_session->rtcp_send_msg.header.p = 0; rtp_session->rtcp_send_msg.header.count = 1; @@ -3548,6 +3558,7 @@ SWITCH_DECLARE(switch_status_t) switch_rtp_create(switch_rtp_t **new_rtp_session rtp_session->recv_msg.header.cc = 0; rtp_session->payload = payload; + rtp_session->rtcp_last_sent = switch_micro_time_now(); switch_rtp_set_interval(rtp_session, ms_per_packet, samples_per_interval); rtp_session->conf_samples_per_interval = samples_per_interval; @@ -3790,7 +3801,8 @@ static void jb_callback(stfu_instance_t *i, void *udata) SWITCH_DECLARE(switch_timer_t *) switch_rtp_get_media_timer(switch_rtp_t *rtp_session) { - if (rtp_session->timer.timer_interface) { + + if (rtp_session && rtp_session->timer.timer_interface) { if (rtp_session->flags[SWITCH_RTP_FLAG_VIDEO]) { switch_core_timer_sync(&rtp_session->timer); } @@ -4066,13 +4078,23 @@ SWITCH_DECLARE(void) switch_rtp_flush(switch_rtp_t *rtp_session) SWITCH_DECLARE(void) switch_rtp_video_refresh(switch_rtp_t *rtp_session) { if (rtp_session->flags[SWITCH_RTP_FLAG_VIDEO] && - (rtp_session->ice.ice_user || rtp_session->flags[SWITCH_RTP_FLAG_FIR] || rtp_session->flags[SWITCH_RTP_FLAG_PLI])) { + (rtp_session->ice.ice_user || rtp_session->flags[SWITCH_RTP_FLAG_FIR])) { if (!rtp_session->fir_countdown) { rtp_session->fir_countdown = FIR_COUNTDOWN; } } } +SWITCH_DECLARE(void) switch_rtp_video_loss(switch_rtp_t *rtp_session) +{ + if (rtp_session->flags[SWITCH_RTP_FLAG_VIDEO] && + (rtp_session->ice.ice_user || rtp_session->flags[SWITCH_RTP_FLAG_PLI])) { + if (!rtp_session->pli_countdown) { + rtp_session->pli_countdown = PLI_COUNTDOWN; + } + } +} + SWITCH_DECLARE(void) switch_rtp_break(switch_rtp_t *rtp_session) { if (!switch_rtp_ready(rtp_session)) { @@ -5159,12 +5181,29 @@ static switch_status_t read_rtp_packet(switch_rtp_t *rtp_session, switch_size_t static switch_status_t process_rtcp_packet(switch_rtp_t *rtp_session, switch_size_t *bytes) { switch_status_t status = SWITCH_STATUS_FALSE; - switch_core_session_t *session = switch_core_memory_pool_get_data(rtp_session->pool, "__session"); - switch_log_printf(SWITCH_CHANNEL_SESSION_LOG(session), SWITCH_LOG_DEBUG10,"Received an RTCP packet of length %" SWITCH_SIZE_T_FMT " bytes\n", *bytes); - if (rtp_session->rtcp_recv_msg.header.version == 2) { - switch_log_printf(SWITCH_CHANNEL_SESSION_LOG(session), SWITCH_LOG_DEBUG10,"RTCP packet type is %d\n", rtp_session->rtcp_recv_msg.header.type); - if (rtp_session->rtcp_recv_msg.header.type == 200 || rtp_session->rtcp_recv_msg.header.type == 201) { + if (rtp_session->rtcp_recv_msg_p->header.version == 2) { + + + switch_log_printf(SWITCH_CHANNEL_SESSION_LOG(rtp_session->session), SWITCH_LOG_DEBUG, + "RTCP packet bytes %" SWITCH_SIZE_T_FMT " type %d\n", *bytes, rtp_session->rtcp_recv_msg_p->header.type); + + + + if (rtp_session->flags[SWITCH_RTP_FLAG_VIDEO] && *bytes > 94) { + //(rtp_session->rtcp_recv_msg_p->header.type == 205 || //RTPFB + //rtp_session->rtcp_recv_msg_p->header.type == 206)) {//PSFB + + rtcp_ext_msg_t *extp = (rtcp_ext_msg_t *) rtp_session->rtcp_recv_msg_p; + switch_log_printf(SWITCH_CHANNEL_SESSION_LOG(rtp_session->session), SWITCH_LOG_DEBUG, "PICKED UP XRTCP type: %d fmt: %d\n", + rtp_session->rtcp_recv_msg_p->header.type, extp->header.fmt); + + if ((extp->header.fmt == 4) || (extp->header.fmt == 1)) { /* FIR || PLI */ + switch_core_media_gen_key_frame(rtp_session->session); + } + } else + + if (rtp_session->rtcp_recv_msg_p->header.type == 200 || rtp_session->rtcp_recv_msg_p->header.type == 201) { struct switch_rtcp_report_block *report_block; switch_time_t now; switch_time_exp_t now_hr; @@ -5177,8 +5216,9 @@ static switch_status_t process_rtcp_packet(switch_rtp_t *rtp_session, switch_siz ntp_usec = (uint32_t)(now - (sec*1000000)); /* micro seconds */ lsr_now = (uint32_t)(ntp_usec*0.065536) | (ntp_sec&0x0000ffff)<<16; // 0.065536 is used for convertion from useconds - if (rtp_session->rtcp_recv_msg.header.type == 200) { /* Sender report */ - struct switch_rtcp_sender_report* sr = (struct switch_rtcp_sender_report*)rtp_session->rtcp_recv_msg.body; + if (rtp_session->rtcp_recv_msg_p->header.type == 200) { /* Sender report */ + struct switch_rtcp_sender_report* sr = (struct switch_rtcp_sender_report*)rtp_session->rtcp_recv_msg_p->body; + report_block = &sr->report_block; rtp_session->stats.rtcp.packet_count += ntohl(sr->sender_info.pc); rtp_session->stats.rtcp.octet_count += ntohl(sr->sender_info.oc); @@ -5187,7 +5227,7 @@ static switch_status_t process_rtcp_packet(switch_rtp_t *rtp_session, switch_siz lsr = (ntohl(sr->sender_info.ntp_lsw)&0xffff0000)>>16 | (ntohl(sr->sender_info.ntp_msw)&0x0000ffff)<<16; /* The middle 32 bits out of 64 in the NTP timestamp */ rtp_session->stats.rtcp.last_recv_lsr_peer = htonl(lsr); /* Save it include it in the next SR */ rtp_session->stats.rtcp.last_recv_lsr_local = lsr_now; /* Save it to calculate DLSR when generating next SR */ - switch_log_printf(SWITCH_CHANNEL_SESSION_LOG(session), SWITCH_LOG_DEBUG10,"Received a SR with %d report blocks, " \ + switch_log_printf(SWITCH_CHANNEL_SESSION_LOG(rtp_session->session), SWITCH_LOG_DEBUG10,"Received a SR with %d report blocks, " \ "length in words = %d, " \ "SSRC = 0x%X, " \ "NTP MSW = %u, " \ @@ -5195,8 +5235,8 @@ static switch_status_t process_rtcp_packet(switch_rtp_t *rtp_session, switch_siz "RTP timestamp = %u, " \ "Sender Packet Count = %u, " \ "Sender Octet Count = %u\n", - rtp_session->rtcp_recv_msg.header.count, - ntohs((uint16_t)rtp_session->rtcp_recv_msg.header.length), + rtp_session->rtcp_recv_msg_p->header.count, + ntohs((uint16_t)rtp_session->rtcp_recv_msg_p->header.length), ntohl(sr->ssrc), ntohl(sr->sender_info.ntp_msw), ntohl(sr->sender_info.ntp_lsw), @@ -5204,7 +5244,7 @@ static switch_status_t process_rtcp_packet(switch_rtp_t *rtp_session, switch_siz ntohl(sr->sender_info.pc), ntohl(sr->sender_info.oc)); } else { /* Receiver report */ - struct switch_rtcp_receiver_report* rr = (struct switch_rtcp_receiver_report*)rtp_session->rtcp_recv_msg.body; + struct switch_rtcp_receiver_report* rr = (struct switch_rtcp_receiver_report*)rtp_session->rtcp_recv_msg_p->body; report_block = &rr->report_block; packet_ssrc = rr->ssrc; } @@ -5213,12 +5253,12 @@ static switch_status_t process_rtcp_packet(switch_rtp_t *rtp_session, switch_siz if (report_block->lsr && !rtp_session->flags[SWITCH_RTP_FLAG_RTCP_PASSTHRU]) { switch_time_exp_gmt(&now_hr,now); /* Calculating RTT = A - DLSR - LSR */ - switch_log_printf(SWITCH_CHANNEL_SESSION_LOG(session), SWITCH_LOG_NOTICE, - "Receiving an RTCP packet[%04d-%02d-%02d %02d:%02d:%02d.%d] SSRC[%u]" - "RTT[%f] A[%u] - DLSR[%u] - LSR[%u]\n", - 1900 + now_hr.tm_year, now_hr.tm_mday, now_hr.tm_mon, now_hr.tm_hour, now_hr.tm_min, now_hr.tm_sec, now_hr.tm_usec, - ntohl(packet_ssrc), (double)(lsr_now - ntohl(report_block->dlsr) - ntohl(report_block->lsr))/65536, - lsr_now, ntohl(report_block->dlsr), ntohl(report_block->lsr)); + switch_log_printf(SWITCH_CHANNEL_SESSION_LOG(rtp_session->session), SWITCH_LOG_DEBUG, + "Receiving an RTCP packet\n[%04d-%02d-%02d %02d:%02d:%02d.%d] SSRC[%u]\n" + "RTT[%f] A[%u] - DLSR[%u] - LSR[%u]\n", + 1900 + now_hr.tm_year, now_hr.tm_mday, now_hr.tm_mon, now_hr.tm_hour, now_hr.tm_min, now_hr.tm_sec, now_hr.tm_usec, + ntohl(packet_ssrc), (double)(lsr_now - ntohl(report_block->dlsr) - ntohl(report_block->lsr))/65536, + lsr_now, ntohl(report_block->dlsr), ntohl(report_block->lsr)); } rtp_session->rtcp_fresh_frame = 1; @@ -5673,26 +5713,6 @@ static int rtp_common_read(switch_rtp_t *rtp_session, switch_payload_t *payload_ if (rtcp_status == SWITCH_STATUS_SUCCESS) { switch_rtp_reset_media_timer(rtp_session); - if (rtp_session->flags[SWITCH_RTP_FLAG_VIDEO] && (rtp_session->rtcp_recv_msg_p->header.type == 205 || //RTPFB - rtp_session->rtcp_recv_msg_p->header.type == 206)) {//PSFB - rtcp_ext_msg_t *extp = (rtcp_ext_msg_t *) rtp_session->rtcp_recv_msg_p; - - switch_log_printf(SWITCH_CHANNEL_SESSION_LOG(rtp_session->session), SWITCH_LOG_DEBUG, "PICKED UP XRTCP type: %d fmt: %d\n", - rtp_session->rtcp_recv_msg_p->header.type, extp->header.fmt); - - if ((extp->header.fmt == 4) || (extp->header.fmt == 1)) { /* FIR || PLI */ - - switch_core_media_codec_control(rtp_session->session, - SWITCH_MEDIA_TYPE_VIDEO, - SWITCH_IO_WRITE, - SCC_VIDEO_REFRESH, - SCCT_NONE, - NULL, - NULL, - NULL); - } - } - if (rtp_session->flags[SWITCH_RTP_FLAG_RTCP_PASSTHRU]) { switch_channel_t *channel = switch_core_session_get_channel(rtp_session->session); const char *uuid = switch_channel_get_partner_uuid(channel); @@ -6235,14 +6255,14 @@ SWITCH_DECLARE(switch_status_t) switch_rtcp_zerocopy_read_frame(switch_rtp_t *rt /* A fresh frame has been found! */ if (rtp_session->rtcp_fresh_frame) { - struct switch_rtcp_sender_report* sr = (struct switch_rtcp_sender_report*)rtp_session->rtcp_recv_msg.body; + struct switch_rtcp_sender_report* sr = (struct switch_rtcp_sender_report*)rtp_session->rtcp_recv_msg_p->body; int i = 0; /* turn the flag off! */ rtp_session->rtcp_fresh_frame = 0; frame->ssrc = ntohl(sr->ssrc); - frame->packet_type = (uint16_t)rtp_session->rtcp_recv_msg.header.type; + frame->packet_type = (uint16_t)rtp_session->rtcp_recv_msg_p->header.type; frame->ntp_msw = ntohl(sr->sender_info.ntp_msw); frame->ntp_lsw = ntohl(sr->sender_info.ntp_lsw); frame->timestamp = ntohl(sr->sender_info.ts); @@ -6787,10 +6807,9 @@ static int rtp_common_write(switch_rtp_t *rtp_session, if (rtp_session->flags[SWITCH_RTP_FLAG_USE_TIMER]) { rtp_session->last_write_samplecount = rtp_session->timer.samplecount; - } else { - rtp_session->last_write_timestamp = switch_micro_time_now(); } - + + rtp_session->last_write_timestamp = switch_micro_time_now(); } ret = (int) bytes; From 3c29d4e8a72473427efc5bbf34a10241858c2d6a Mon Sep 17 00:00:00 2001 From: Anthony Minessale Date: Sat, 15 Nov 2014 10:34:26 -0600 Subject: [PATCH 038/629] FS-7500: mark places to fix later --- src/switch_core_media.c | 3 ++- src/switch_rtp.c | 4 ++-- 2 files changed, 4 insertions(+), 3 deletions(-) diff --git a/src/switch_core_media.c b/src/switch_core_media.c index 99a9620c34..cc69a9a3db 100644 --- a/src/switch_core_media.c +++ b/src/switch_core_media.c @@ -7268,7 +7268,8 @@ SWITCH_DECLARE(void) switch_core_media_gen_local_sdp(switch_core_session_t *sess pli++; nack++; } - + + /* DFF nack pli etc */ nack = v_engine->nack = 0;//pli = v_engine->pli = 0; if (vp8) { diff --git a/src/switch_rtp.c b/src/switch_rtp.c index a4db12ae59..19cd856428 100644 --- a/src/switch_rtp.c +++ b/src/switch_rtp.c @@ -6518,8 +6518,8 @@ static int rtp_common_write(switch_rtp_t *rtp_session, } } - - if (switch_rtp_test_flag(rtp_session, SWITCH_RTP_FLAG_VIDEO)) { + /* TMP DISABLE DFF */ + if (0 && switch_rtp_test_flag(rtp_session, SWITCH_RTP_FLAG_VIDEO)) { /* Normalize the timestamps to our own base by generating a made up starting point then adding the measured deltas to that base so if the timestamps and ssrc of the source change, it will not break the other end's jitter bufffer / decoder etc *cough* CHROME *cough* */ From 44e79295071b2ca4ddfacdfb93b8275987177ec6 Mon Sep 17 00:00:00 2001 From: Anthony Minessale Date: Sat, 15 Nov 2014 11:44:48 -0600 Subject: [PATCH 039/629] FS-7500: revert earlier bridge change --- src/include/switch_types.h | 1 - src/switch_core_media.c | 116 +------------------------------------ src/switch_ivr_bridge.c | 15 ----- 3 files changed, 1 insertion(+), 131 deletions(-) diff --git a/src/include/switch_types.h b/src/include/switch_types.h index 783ed02220..508170239e 100644 --- a/src/include/switch_types.h +++ b/src/include/switch_types.h @@ -1447,7 +1447,6 @@ typedef enum { CF_VIDEO_BREAK, CF_AUDIO_PAUSE, CF_VIDEO_PAUSE, - CF_VIDEO_BRIDGE, CF_BYPASS_MEDIA_AFTER_HOLD, CF_HANGUP_HELD, CF_CONFERENCE_RESET_MEDIA, diff --git a/src/switch_core_media.c b/src/switch_core_media.c index cc69a9a3db..b5f356f256 100644 --- a/src/switch_core_media.c +++ b/src/switch_core_media.c @@ -4407,112 +4407,6 @@ SWITCH_DECLARE(int) switch_core_media_toggle_hold(switch_core_session_t *session return changed; } -#define BUF_SIZE (352 * 288 * 3 / 2 * 4) // big enough for 4CIF, looks like C doesn't like huge array -#define FPS 15 - -static switch_status_t video_bridge_callback(switch_core_session_t *session, switch_bool_t video_transcoding, uint32_t *ts) -{ - switch_frame_t *read_frame; - switch_status_t status = SWITCH_STATUS_SUCCESS; - switch_core_session_t *session_b = switch_channel_get_private(session->channel, "_video_bridged_session_"); - switch_codec_t *codec, *other_codec; - - status = switch_core_session_read_video_frame(session, &read_frame, SWITCH_IO_FLAG_NONE, 0); - - if (!SWITCH_READ_ACCEPTABLE(status)) { - switch_cond_next(); - return status; - } - - if (switch_channel_test_flag(session->channel, CF_VIDEO_REFRESH_REQ)) { - switch_core_session_refresh_video(session); - switch_channel_clear_flag(session->channel, CF_VIDEO_REFRESH_REQ); - } - - if (switch_test_flag(read_frame, SFF_CNG)) { - return status; - } - - if (!session_b || !switch_channel_up_nosig(session_b->channel)) { // echo and return - switch_core_session_write_video_frame(session, read_frame, SWITCH_IO_FLAG_NONE, 0); - return status; - } - - codec = read_frame->codec; - other_codec = session_b->video_write_codec; - - if (codec->implementation->impl_id == other_codec->implementation->impl_id) { - switch_core_session_write_video_frame(session_b, read_frame, SWITCH_IO_FLAG_NONE, 0); - return status; - } - - if (!video_transcoding) { // echo back - switch_core_session_write_video_frame(session, read_frame, SWITCH_IO_FLAG_NONE, 0); - return status; - } else { - uint8_t rtp_buff[1500] = { 0 }; - uint32_t flag = 0; - uint32_t encoded_data_len = 1500; - switch_frame_t write_frame = { 0 }; - switch_image_t *img = NULL; - -#if 0 - switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_ERROR, "%d/%s != %d/%s need transcoding!!!\n", - codec->implementation->impl_id, codec->implementation->iananame, - other_codec->implementation->impl_id, other_codec->implementation->iananame); -#endif - // uncomment to test only one leg - // if (!strcmp(codec->implementation->iananame, "VP8")) return status; - // if (!strcmp(codec->implementation->iananame, "H264")) return status; - - switch_core_codec_decode_video(codec, read_frame, &img, &flag); - - if (!img) return SWITCH_STATUS_SUCCESS; - - // switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_ERROR, "%s decoded_data_len: %d size: %dx%d\n", codec->implementation->iananame, decoded_data_len, codec->dec_picture.width, codec->dec_picture.height); - - write_frame.packet = rtp_buff; - write_frame.data = rtp_buff + 12; - - encoded_data_len = 1500; - switch_core_codec_encode_video(other_codec, img, rtp_buff+12, &encoded_data_len, &flag); - - while(encoded_data_len) { - // switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_ERROR, "encoded: %s [%d] flag=%d ts=%u\n", other_codec->implementation->iananame, encoded_data_len, flag, *ts); - - write_frame.datalen = encoded_data_len; - write_frame.packetlen = write_frame.datalen + 12; - write_frame.m = flag & SFF_MARKER ? 1 : 0; - write_frame.timestamp = *ts; - if (write_frame.m) *ts += 90000 / FPS; - - if (1) { - /* set correct mark and ts */ - switch_rtp_hdr_t *rtp = (switch_rtp_hdr_t *)write_frame.packet; - - memset(rtp, 0, 12); - rtp->version = 2; - rtp->m = write_frame.m; - rtp->ts = htonl(write_frame.timestamp); - rtp->ssrc = (uint32_t) ((intptr_t) rtp + (uint32_t) switch_epoch_time_now(NULL)); - - switch_set_flag(&write_frame, SFF_RAW_RTP); - } - - // switch_rtp_set_flag(session_b->media_handle->engines[SWITCH_MEDIA_TYPE_VIDEO].rtp_session, SWITCH_RTP_FLAG_DEBUG_RTP_WRITE); - switch_rtp_set_flag(session_b->media_handle->engines[SWITCH_MEDIA_TYPE_VIDEO].rtp_session, SWITCH_RTP_FLAG_RAW_WRITE); - - switch_core_session_write_video_frame(session_b, &write_frame, SWITCH_IO_FLAG_NONE, 0); - - encoded_data_len = 1500; - switch_core_codec_encode_video(other_codec, NULL, rtp_buff+12, &encoded_data_len, &flag); - } - } - - return status; -} - - static void *SWITCH_THREAD_FUNC video_helper_thread(switch_thread_t *thread, void *obj) { struct media_helper *mh = obj; @@ -4521,8 +4415,6 @@ static void *SWITCH_THREAD_FUNC video_helper_thread(switch_thread_t *thread, voi switch_status_t status; switch_frame_t *read_frame; switch_media_handle_t *smh; - uint32_t rtp_ts = 0; - switch_bool_t video_transcoding = SWITCH_FALSE; if (!(smh = session->media_handle)) { return NULL; @@ -4536,7 +4428,6 @@ static void *SWITCH_THREAD_FUNC video_helper_thread(switch_thread_t *thread, voi switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_DEBUG, "%s Video thread started. Echo is %s\n", switch_channel_get_name(session->channel), switch_channel_test_flag(channel, CF_VIDEO_ECHO) ? "on" : "off"); switch_core_session_refresh_video(session); - video_transcoding = switch_true(switch_channel_get_variable(channel, "video_transcoding")); while (switch_channel_up_nosig(channel)) { @@ -4547,7 +4438,6 @@ static void *SWITCH_THREAD_FUNC video_helper_thread(switch_thread_t *thread, voi switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_DEBUG, "%s Video thread resumed Echo is %s\n", switch_channel_get_name(session->channel), switch_channel_test_flag(channel, CF_VIDEO_ECHO) ? "on" : "off"); switch_core_session_refresh_video(session); - video_transcoding = switch_true(switch_channel_get_variable(channel, "video_transcoding")); } if (switch_channel_test_flag(channel, CF_VIDEO_PASSIVE)) { @@ -4559,11 +4449,7 @@ static void *SWITCH_THREAD_FUNC video_helper_thread(switch_thread_t *thread, voi continue; } - if (switch_channel_test_flag(channel, CF_VIDEO_BRIDGE)) { - video_bridge_callback(session, video_transcoding, &rtp_ts); - continue; - } - + status = switch_core_session_read_video_frame(session, &read_frame, SWITCH_IO_FLAG_NONE, 0); if (!SWITCH_READ_ACCEPTABLE(status)) { diff --git a/src/switch_ivr_bridge.c b/src/switch_ivr_bridge.c index 51f0d365b2..360223c30f 100644 --- a/src/switch_ivr_bridge.c +++ b/src/switch_ivr_bridge.c @@ -46,7 +46,6 @@ struct vid_helper { int up; }; -#if 0 static void *SWITCH_THREAD_FUNC video_bridge_thread(switch_thread_t *thread, void *obj) { struct vid_helper *vh = obj; @@ -109,17 +108,9 @@ static void *SWITCH_THREAD_FUNC video_bridge_thread(switch_thread_t *thread, voi vh->up = 0; return NULL; } -#endif static switch_thread_t *launch_video(struct vid_helper *vh) { - switch_channel_t *channel = switch_core_session_get_channel(vh->session_a); - - switch_channel_set_private(channel, "_video_bridged_session_", vh->session_b); - switch_channel_set_flag(channel, CF_VIDEO_BRIDGE); - return NULL; - -#if 0 switch_thread_t *thread; switch_threadattr_t *thd_attr = NULL; @@ -127,8 +118,6 @@ static switch_thread_t *launch_video(struct vid_helper *vh) switch_threadattr_stacksize_set(thd_attr, SWITCH_THREAD_STACKSIZE); switch_thread_create(&thread, thd_attr, video_bridge_thread, vh, switch_core_session_get_pool(vh->session_a)); return thread; -#endif - } #endif @@ -601,10 +590,6 @@ static void *audio_bridge_thread(switch_thread_t *thread, void *obj) end_of_bridge_loop: #ifdef SWITCH_VIDEO_IN_THREADS - - switch_channel_clear_flag(chan_a, CF_VIDEO_BRIDGE); - switch_channel_clear_flag(chan_b, CF_VIDEO_BRIDGE); - if (vid_thread) { vh.up = -1; switch_channel_set_flag(chan_a, CF_NOT_READY); From 258dacc742ce70dfb8c96508470d2079877718ac Mon Sep 17 00:00:00 2001 From: Seven Du Date: Sun, 16 Nov 2014 09:27:30 +0800 Subject: [PATCH 040/629] FS-7500: fix if statement --- src/switch_core_media.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/switch_core_media.c b/src/switch_core_media.c index b5f356f256..683fab8073 100644 --- a/src/switch_core_media.c +++ b/src/switch_core_media.c @@ -2294,12 +2294,12 @@ static void switch_core_session_parse_codec_settings(switch_core_session_t *sess return; } - if ((engine = &smh->engines[type])); + if (!(engine = &smh->engines[type])) return; switch(type) { case SWITCH_MEDIA_TYPE_AUDIO: break; - case SWITCH_MEDIA_TYPE_VIDEO: + case SWITCH_MEDIA_TYPE_VIDEO: { const char *bwv = switch_channel_get_variable(session->channel, "video_codec_bandwidth"); uint32_t bw = 0; From 0cd5658caab8ef8161214b71f60c454daffe42b9 Mon Sep 17 00:00:00 2001 From: Anthony Minessale Date: Tue, 18 Nov 2014 16:39:32 -0600 Subject: [PATCH 041/629] FS-7500: another refactoring pass, temp code still in place, WORK IN PROGRESS --- src/include/private/switch_core_pvt.h | 2 +- src/include/switch_core.h | 61 +--- src/include/switch_core_media.h | 12 +- src/include/switch_frame.h | 1 + src/include/switch_types.h | 14 +- .../mod_conference/mod_conference.c | 85 +----- src/mod/applications/mod_fsv/mod_fsv.c | 28 +- src/mod/codecs/mod_openh264/mod_openh264.cpp | 155 +++++++---- src/mod/codecs/mod_vpx/mod_vpx.c | 197 +++++++------ src/mod/codecs/mod_yuv/mod_yuv.c | 16 +- src/mod/formats/mod_vlc/mod_vlc.c | 25 +- src/switch_core_codec.c | 19 +- src/switch_core_media.c | 261 ++++++++++++------ src/switch_core_session.c | 26 +- src/switch_ivr_bridge.c | 60 ++-- src/switch_rtp.c | 5 +- 16 files changed, 482 insertions(+), 485 deletions(-) diff --git a/src/include/private/switch_core_pvt.h b/src/include/private/switch_core_pvt.h index e166f9fa5a..8beb502f87 100644 --- a/src/include/private/switch_core_pvt.h +++ b/src/include/private/switch_core_pvt.h @@ -191,7 +191,7 @@ struct switch_core_session { switch_core_video_thread_callback_func_t *_video_thread_callback; void *_video_thread_user_data; //switch_time_t last_video_write_time; - + switch_image_write_callback_t image_write_callback; void *image_write_callback_user_data; }; diff --git a/src/include/switch_core.h b/src/include/switch_core.h index ca48d8118c..ba1c877919 100644 --- a/src/include/switch_core.h +++ b/src/include/switch_core.h @@ -169,10 +169,6 @@ typedef enum { DS_INVALID, } dtls_state_t; -typedef switch_status_t (switch_core_video_thread_callback_func_t) (switch_core_session_t *session, switch_frame_t *frame, void *user_data); - - - #define MESSAGE_STAMP_FFL(_m) _m->_file = __FILE__; _m->_func = __SWITCH_FUNC__; _m->_line = __LINE__ #define MESSAGE_STRING_ARG_MAX 10 @@ -1274,18 +1270,6 @@ SWITCH_DECLARE(switch_status_t) switch_core_session_read_frame(_In_ switch_core_ */ SWITCH_DECLARE(switch_status_t) switch_core_session_read_video_frame(_In_ switch_core_session_t *session, switch_frame_t **frame, switch_io_flag_t flags, int stream_id); - -/*! - \brief Write a video image to a session using a video frame - \param session the session to write to - \param frame a pointer to a frame to use for write with proper codec - \param img the image structure with the image data - \param the size for packetization - \param flag pointer to frame flags to pass in / out - \return SWITCH_STATUS_SUCCESS a if the image was written -*/ -SWITCH_DECLARE(switch_status_t) switch_core_session_write_video_image(switch_core_session_t *session, switch_frame_t *frame, - switch_image_t *img, switch_size_t size, uint32_t *flag); /*! \brief set a callback to be called after each frame of an image is written \param session the session to write to @@ -1643,16 +1627,10 @@ SWITCH_DECLARE(switch_status_t) switch_core_codec_decode(switch_codec_t *codec, /*! \brief Encode video data using a codec handle \param codec the codec handle to use - \param img the img in I420 format - \param encoded_data the buffer to write the encoded data to - \param encoded_data_len the size of the encoded_data buffer - \param flag flags to exchange - \return SWITCH_STATUS_SUCCESS if the data was encoded - \note encoded_data_len will be rewritten to the in-use size of encoded_data + \param frame the frame to encode */ -SWITCH_DECLARE(switch_status_t) switch_core_codec_encode_video(switch_codec_t *codec, - switch_image_t *img, - void *encoded_data, uint32_t *encoded_data_len, unsigned int *flag); +SWITCH_DECLARE(switch_status_t) switch_core_codec_encode_video(switch_codec_t *codec, switch_frame_t *frame); + /*! \brief send control data using a codec handle @@ -1679,10 +1657,7 @@ SWITCH_DECLARE(switch_status_t) switch_core_codec_control(switch_codec_t *codec, \param flag flags to exchange \return SWITCH_STATUS_SUCCESS if the data was decoded, and a non-NULL img */ -SWITCH_DECLARE(switch_status_t) switch_core_codec_decode_video(switch_codec_t *codec, - switch_frame_t *frame, - switch_image_t **img, unsigned int *flag); - +SWITCH_DECLARE(switch_status_t) switch_core_codec_decode_video(switch_codec_t *codec, switch_frame_t *frame); /*! \brief Destroy an initalized codec handle @@ -2340,34 +2315,6 @@ SWITCH_DECLARE(uint8_t) switch_core_session_compare(switch_core_session_t *a, sw */ SWITCH_DECLARE(uint8_t) switch_core_session_check_interface(switch_core_session_t *session, const switch_endpoint_interface_t *endpoint_interface); -/*! - \brief Set a callback to let the core video thread call us - \param session the session - \param func to callback - \param private user data - \return SWITCH_STATUS_CONTINUE | SWITCH_STATUS_SUCCESS | SWITCH_STATUS_BREAK | SWITCH_STATUS_* - - If returns SWITCH_STATUS_CONTINUE, it will continues to run furthur code (read/write) in the core video thread, - that is to say, if the callback func to nothing and just returns SWITCH_STATUS_CONTINUE, it remains the default behaviour, - Return SWITCH_STATUS_SUCCESS to skip the default behaviour - Return SWITCH_STATUS_BREAK will break the loop and end the video thread -*/ - -SWITCH_DECLARE(switch_status_t) switch_core_session_set_video_thread_callback(switch_core_session_t *session, switch_core_video_thread_callback_func_t *func, void *user_data); - -/*! - \brief Set a callback to let the core video thread call us - \param session the session - \param the current video frame - \param private user data - \return SWITCH_STATUS_CONTINUE or SWITCH_STATUS_SUCCESS - - If returns SWITCH_STATUS_CONTINUE, it will continues to run furthur code (read/write) in the core video thread, - that is to say, if the callback func to nothing and just returns SWITCH_STATUS_CONTINUE, it remains the default behaviour, - Return SWITCH_STATUS_SUCCESS to skip the default behaviour -*/ -SWITCH_DECLARE(switch_status_t) switch_core_session_video_thread_callback(switch_core_session_t *session, switch_frame_t *frame); - SWITCH_DECLARE(switch_hash_index_t *) switch_core_mime_index(void); SWITCH_DECLARE(const char *) switch_core_mime_ext2type(const char *ext); SWITCH_DECLARE(const char *) switch_core_mime_type2ext(const char *type); diff --git a/src/include/switch_core_media.h b/src/include/switch_core_media.h index 8e4f0b74a1..f193482063 100644 --- a/src/include/switch_core_media.h +++ b/src/include/switch_core_media.h @@ -150,7 +150,7 @@ typedef struct switch_core_media_params_s { /* a core_video_thread will be started automatically when uses rtp based media, external_video_source should be set to SWITCH_TRUE and - switch_core_media_start_video_thread() + switch_core_session_start_video_thread() should be explicitly called to start the video thread if uses the media handle for non-rtp based media */ @@ -266,11 +266,6 @@ SWITCH_DECLARE(void) switch_core_media_deinit(void); SWITCH_DECLARE(void) switch_core_media_set_stats(switch_core_session_t *session); SWITCH_DECLARE(void) switch_core_session_wake_video_thread(switch_core_session_t *session); SWITCH_DECLARE(void) switch_core_session_clear_crypto(switch_core_session_t *session); -<<<<<<< HEAD -SWITCH_DECLARE(switch_status_t) switch_core_media_start_video_thread(switch_core_session_t *session); -======= -SWITCH_DECLARE(switch_status_t) start_core_video_thread(switch_core_session_t *session); ->>>>>>> allow using the video thread externally - e.g. non rtp based video SWITCH_DECLARE(switch_status_t) switch_core_session_get_payload_code(switch_core_session_t *session, switch_media_type_t type, @@ -314,7 +309,10 @@ SWITCH_DECLARE(switch_status_t) switch_core_media_codec_control(switch_core_sess SWITCH_DECLARE(switch_timer_t *) switch_core_media_get_timer(switch_core_session_t *session, switch_media_type_t mtype); - +SWITCH_DECLARE(void) switch_core_media_start_video_function(switch_core_session_t *session, switch_video_function_t video_function, void *user_data); +SWITCH_DECLARE(void) switch_core_media_end_video_function(switch_core_session_t *session); +SWITCH_DECLARE(switch_status_t) switch_core_session_start_video_thread(switch_core_session_t *session); +SWITCH_DECLARE(int) switch_core_media_check_video_function(switch_core_session_t *session); SWITCH_END_EXTERN_C #endif /* For Emacs: diff --git a/src/include/switch_frame.h b/src/include/switch_frame.h index 51800df6c1..b264e51de6 100644 --- a/src/include/switch_frame.h +++ b/src/include/switch_frame.h @@ -74,6 +74,7 @@ SWITCH_BEGIN_EXTERN_C switch_frame_flag_t flags; void *user_data; payload_map_t *pmap; + switch_image_t *img; }; SWITCH_END_EXTERN_C diff --git a/src/include/switch_types.h b/src/include/switch_types.h index 508170239e..93071b8406 100644 --- a/src/include/switch_types.h +++ b/src/include/switch_types.h @@ -1450,6 +1450,7 @@ typedef enum { CF_BYPASS_MEDIA_AFTER_HOLD, CF_HANGUP_HELD, CF_CONFERENCE_RESET_MEDIA, + CF_VIDEO_DECODED_READ, /* WARNING: DO NOT ADD ANY FLAGS BELOW THIS LINE */ /* IF YOU ADD NEW ONES CHECK IF THEY SHOULD PERSIST OR ZERO THEM IN switch_core_session.c switch_core_session_request_xml() */ CF_FLAG_MAX @@ -1496,7 +1497,8 @@ typedef enum { SFF_MARKER = (1 << 11), SFF_WAIT_KEY_FRAME = (1 << 12), SFF_RAW_RTP_PARSE_FRAME = (1 << 13), - SFF_PICTURE_RESET = (1 << 14) + SFF_PICTURE_RESET = (1 << 14), + SFF_SAME_IMAGE = (1 << 15) } switch_frame_flag_enum_t; typedef uint32_t switch_frame_flag_t; @@ -2154,6 +2156,8 @@ typedef switch_bool_t (*switch_media_bug_callback_t) (switch_media_bug_t *, void typedef switch_bool_t (*switch_tone_detect_callback_t) (switch_core_session_t *, const char *, const char *); typedef struct switch_xml_binding switch_xml_binding_t; +typedef void (*switch_video_function_t) (switch_core_session_t *session, void *user_data); + typedef switch_status_t (*switch_core_codec_encode_func_t) (switch_codec_t *codec, switch_codec_t *other_codec, void *decoded_data, @@ -2169,13 +2173,9 @@ typedef switch_status_t (*switch_core_codec_decode_func_t) (switch_codec_t *code uint32_t encoded_rate, void *decoded_data, uint32_t *decoded_data_len, uint32_t *decoded_rate, unsigned int *flag); -typedef switch_status_t (*switch_core_codec_video_encode_func_t) (switch_codec_t *codec, - switch_image_t *img, - void *encoded_data, uint32_t *encoded_data_len, unsigned int *flag); +typedef switch_status_t (*switch_core_codec_video_encode_func_t) (switch_codec_t *codec, switch_frame_t *frame); -typedef switch_status_t (*switch_core_codec_video_decode_func_t) (switch_codec_t *codec, - switch_frame_t *frame, - switch_image_t **img, unsigned int *flag); +typedef switch_status_t (*switch_core_codec_video_decode_func_t) (switch_codec_t *codec, switch_frame_t *frame); typedef enum { SCC_VIDEO_REFRESH = 0 diff --git a/src/mod/applications/mod_conference/mod_conference.c b/src/mod/applications/mod_conference/mod_conference.c index 46a3707c28..3787f107ec 100644 --- a/src/mod/applications/mod_conference/mod_conference.c +++ b/src/mod/applications/mod_conference/mod_conference.c @@ -198,8 +198,7 @@ typedef enum { MFLAG_JOIN_ONLY = (1 << 25), MFLAG_POSITIONAL = (1 << 26), MFLAG_NO_POSITIONAL = (1 << 27), - MFLAG_JOIN_VID_FLOOR = (1 << 28), - MFLAG_RECEIVING_VIDEO = (1 << 29) + MFLAG_JOIN_VID_FLOOR = (1 << 28) } member_flag_t; typedef enum { @@ -231,8 +230,7 @@ typedef enum { typedef enum { RFLAG_CAN_SPEAK = (1 << 0), - RFLAG_CAN_HEAR = (1 << 1), - RFLAG_CAN_SEND_VIDEO = (1 << 2) + RFLAG_CAN_HEAR = (1 << 1) } relation_flag_t; typedef enum { @@ -2394,11 +2392,6 @@ static switch_status_t conference_add_member(conference_obj_t *conference, confe } - if (member->conference->video_floor_holder && member->conference->video_floor_holder != member && member->channel) { - // there's already someone hold the floor, tell the core thread start to read video - switch_channel_clear_flag(member->channel, CF_VIDEO_PASSIVE); - } - unlock_member(member); switch_mutex_unlock(member->audio_out_mutex); switch_mutex_unlock(member->audio_in_mutex); @@ -2917,29 +2910,6 @@ static void *SWITCH_THREAD_FUNC conference_video_bridge_thread_run(switch_thread return NULL; } -switch_status_t video_thread_callback(switch_core_session_t *session, switch_frame_t *frame, void *user_data) -{ - switch_channel_t *channel = switch_core_session_get_channel(session); - char *name = switch_channel_get_name(channel); - conference_member_t *member = (conference_member_t *)user_data; - conference_relationship_t *rel = NULL; - - if (!member || member->relationships == NULL) return SWITCH_STATUS_SUCCESS; - - lock_member(member); - - for (rel = member->relationships; rel; rel = rel->next) { - conference_member_t *imember = conference_member_get(member->conference, rel->id); - if (imember && switch_test_flag(imember, MFLAG_RECEIVING_VIDEO)) { - switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_ERROR, "%s %d->%d %d\n", name, member->id, imember->id, frame->datalen); - switch_core_session_write_video_frame(imember->session, frame, SWITCH_IO_FLAG_NONE, 0); - switch_thread_rwlock_unlock(imember->rwlock); - } - } - - unlock_member(member); - return SWITCH_STATUS_SUCCESS; -} /* Main video monitor thread (1 per distinct conference room) */ static void *SWITCH_THREAD_FUNC conference_video_thread_run(switch_thread_t *thread, void *obj) @@ -3031,10 +3001,8 @@ static void *SWITCH_THREAD_FUNC conference_video_thread_run(switch_thread_t *thr } if (isession && switch_channel_test_flag(ichannel, CF_VIDEO)) { - if (!switch_test_flag(imember, MFLAG_RECEIVING_VIDEO)) { - memcpy(vid_frame->packet, buf, vid_frame->packetlen); - switch_core_session_write_video_frame(imember->session, vid_frame, SWITCH_IO_FLAG_NONE, 0); - } + memcpy(vid_frame->packet, buf, vid_frame->packetlen); + switch_core_session_write_video_frame(imember->session, vid_frame, SWITCH_IO_FLAG_NONE, 0); } switch_core_session_rwunlock(isession); @@ -7559,7 +7527,7 @@ static switch_status_t conf_api_sub_stop(conference_obj_t *conference, switch_st static switch_status_t conf_api_sub_relate(conference_obj_t *conference, switch_stream_handle_t *stream, int argc, char **argv) { - uint8_t nospeak = 0, nohear = 0, sendvideo = 0, clear = 0; + uint8_t nospeak = 0, nohear = 0, clear = 0; switch_assert(conference != NULL); switch_assert(stream != NULL); @@ -7580,10 +7548,9 @@ static switch_status_t conf_api_sub_relate(conference_obj_t *conference, switch_ if (member_id > 0 && member->id != member_id) continue; for (rel = member->relationships; rel; rel = rel->next) { - stream->write_function(stream, "%d -> %d %s%s%s\n", member->id, rel->id, + stream->write_function(stream, "%d -> %d %s%s\n", member->id, rel->id, (rel->flags & RFLAG_CAN_SPEAK) ? "SPEAK " : "NOSPEAK ", - (rel->flags & RFLAG_CAN_HEAR) ? "HEAR " : "NOHEAR ", - (rel->flags & RFLAG_CAN_SEND_VIDEO) ? "SENDVIDEO " : "NOSENDVIDEO "); + (rel->flags & RFLAG_CAN_HEAR) ? "HEAR" : "NOHEAR"); } } } else { @@ -7598,35 +7565,22 @@ static switch_status_t conf_api_sub_relate(conference_obj_t *conference, switch_ nospeak = strstr(argv[4], "nospeak") ? 1 : 0; nohear = strstr(argv[4], "nohear") ? 1 : 0; - sendvideo = strstr(argv[4], "sendvideo") ? 1 : 0; if (!strcasecmp(argv[4], "clear")) { clear = 1; } - if (!(clear || nospeak || nohear || sendvideo)) { + if (!(clear || nospeak || nohear)) { return SWITCH_STATUS_GENERR; } if (clear) { - conference_member_t *member = NULL, *other_member = NULL; + conference_member_t *member = NULL; uint32_t id = atoi(argv[2]); uint32_t oid = atoi(argv[3]); if ((member = conference_member_get(conference, id))) { member_del_relationship(member, oid); - other_member = conference_member_get(conference, oid); - - if (other_member) { - if (switch_test_flag(other_member, MFLAG_RECEIVING_VIDEO)) { - switch_clear_flag(other_member, MFLAG_RECEIVING_VIDEO); - if (conference->floor_holder) { - switch_core_session_refresh_video(conference->floor_holder->session); - } - } - switch_thread_rwlock_unlock(other_member->rwlock); - } - stream->write_function(stream, "relationship %u->%u cleared.\n", id, oid); switch_thread_rwlock_unlock(member->rwlock); } else { @@ -7635,7 +7589,7 @@ static switch_status_t conf_api_sub_relate(conference_obj_t *conference, switch_ return SWITCH_STATUS_SUCCESS; } - if (nospeak || nohear || sendvideo) { + if (nospeak || nohear) { conference_member_t *member = NULL, *other_member = NULL; uint32_t id = atoi(argv[2]); uint32_t oid = atoi(argv[3]); @@ -7647,11 +7601,6 @@ static switch_status_t conf_api_sub_relate(conference_obj_t *conference, switch_ if (member && other_member) { conference_relationship_t *rel = NULL; - if (sendvideo && switch_test_flag(other_member, MFLAG_RECEIVING_VIDEO) && (! (nospeak || nohear))) { - stream->write_function(stream, "member %d already receiving video", oid); - goto skip; - } - if ((rel = member_get_relationship(member, other_member))) { rel->flags = 0; } else { @@ -7667,13 +7616,7 @@ static switch_status_t conf_api_sub_relate(conference_obj_t *conference, switch_ if (nohear) { switch_clear_flag(rel, RFLAG_CAN_HEAR); } - if (sendvideo) { - switch_set_flag(rel, RFLAG_CAN_SEND_VIDEO); - switch_set_flag(other_member, MFLAG_RECEIVING_VIDEO); - switch_core_session_refresh_video(member->session); - } - - stream->write_function(stream, "ok %u->%u %s set\n", id, oid, argv[4]); + stream->write_function(stream, "ok %u->%u set\n", id, oid); } else { stream->write_function(stream, "error!\n"); } @@ -7681,7 +7624,6 @@ static switch_status_t conf_api_sub_relate(conference_obj_t *conference, switch_ stream->write_function(stream, "relationship %u->%u not found.\n", id, oid); } -skip: if (member) { switch_thread_rwlock_unlock(member->rwlock); } @@ -9785,16 +9727,11 @@ SWITCH_STANDARD_APP(conference_function) msg.message_id = SWITCH_MESSAGE_INDICATE_BRIDGE; switch_core_session_receive_message(session, &msg); - /* Chime in the core video thread */ - switch_core_session_set_video_thread_callback(session, video_thread_callback, (void *)&member); - /* Run the conference loop */ do { conference_loop_output(&member); } while (member.loop_loop); - switch_core_session_set_video_thread_callback(session, NULL, NULL); - switch_channel_set_private(channel, "_conference_autocall_list_", NULL); /* Tell the channel we are no longer going to be in a bridge */ diff --git a/src/mod/applications/mod_fsv/mod_fsv.c b/src/mod/applications/mod_fsv/mod_fsv.c index f3a807c065..e49c517fae 100644 --- a/src/mod/applications/mod_fsv/mod_fsv.c +++ b/src/mod/applications/mod_fsv/mod_fsv.c @@ -673,7 +673,6 @@ SWITCH_STANDARD_APP(play_yuv_function) if (read_frame) switch_core_session_write_frame(session, read_frame, SWITCH_IO_FLAG_NONE, 0); { /* video part */ - uint32_t flag = 0; uint32_t encoded_data_len = 1500; switch_frame_t *frame = &vid_frame; switch_time_t now = switch_micro_time_now() / 1000; @@ -691,14 +690,12 @@ SWITCH_STANDARD_APP(play_yuv_function) sprintf(ts_str, "%u", timestamp); text(img->planes[SWITCH_PLANE_PACKED], width, 20, 20, ts_str); - switch_core_codec_encode_video(codec, img, vid_frame.data, &encoded_data_len, &flag); + vid_frame.img = img; + switch_core_codec_encode_video(codec, &vid_frame); while(encoded_data_len) { // switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_ERROR, "encoded: %s [%d] flag=%d ts=%lld\n", codec->implementation->iananame, encoded_data_len, flag, last_video_ts); - frame->datalen = encoded_data_len; - frame->packetlen = frame->datalen + 12; - frame->m = flag & SFF_MARKER ? 1 : 0; frame->timestamp = timestamp; if (1) { // we can remove this when ts and marker full passed in core @@ -715,8 +712,8 @@ SWITCH_STANDARD_APP(play_yuv_function) switch_core_session_write_video_frame(session, frame, SWITCH_IO_FLAG_NONE, 0); - encoded_data_len = 1500; - switch_core_codec_encode_video(codec, NULL, vid_frame.data, &encoded_data_len, &flag); + vid_frame.datalen = 1500; + switch_core_codec_encode_video(codec, &vid_frame); } } } @@ -817,10 +814,7 @@ SWITCH_STANDARD_APP(decode_video_function) } if ( 1 ) { /* video part */ - uint32_t flag = 0; - switch_image_t *img = NULL; - - switch_core_codec_decode_video(codec, frame, &img, &flag); + switch_core_codec_decode_video(codec, frame); if ((switch_test_flag(frame, SFF_WAIT_KEY_FRAME))) { switch_time_t now = switch_micro_time_now(); @@ -831,19 +825,19 @@ SWITCH_STANDARD_APP(decode_video_function) continue; } - if (img) { - if (img->d_w > 0 && !width) { - width = img->d_w; + if (frame->img) { + if (frame->img->d_w > 0 && !width) { + width = frame->img->d_w; switch_channel_set_variable_printf(channel, "video_width", "%d", width); } - if (img->d_h > 0 && !height) { - height = img->d_h; + if (frame->img->d_h > 0 && !height) { + height = frame->img->d_h; switch_channel_set_variable_printf(channel, "video_height", "%d", height); } decoded_pictures++; - switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_NOTICE, "picture#%d %dx%d\n", decoded_pictures, img->d_w, img->d_h); + switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_NOTICE, "picture#%d %dx%d\n", decoded_pictures, frame->img->d_w, frame->img->d_h); if (max_pictures && (decoded_pictures >= max_pictures)) { break; diff --git a/src/mod/codecs/mod_openh264/mod_openh264.cpp b/src/mod/codecs/mod_openh264/mod_openh264.cpp index 1b88dbce6c..b561eb2466 100644 --- a/src/mod/codecs/mod_openh264/mod_openh264.cpp +++ b/src/mod/codecs/mod_openh264/mod_openh264.cpp @@ -39,7 +39,7 @@ #include "codec_api.h" //#include "inc/logging.h" // for debug -#define FPS 15.0f // frame rate +#define FPS 20.0f // frame rate #define H264_NALU_BUFFER_SIZE 65536 #define MAX_NALUS 100 #define SLICE_SIZE 1200 //NALU Slice Size @@ -66,15 +66,16 @@ typedef struct h264_codec_context_s { switch_image_t *img; int got_sps; int64_t pts; + int need_key_frame; switch_size_t last_received_timestamp; switch_bool_t last_received_complete_picture; } h264_codec_context_t; int FillSpecificParameters(SEncParamExt& param) { /* Test for temporal, spatial, SNR scalability */ - param.iPicWidth = 352; // width of picture in samples - param.iPicHeight = 288; // height of picture in samples - param.iTargetBitrate = 384000; // target bitrate desired + param.iPicWidth = 1280; // width of picture in samples + param.iPicHeight = 720; // height of picture in samples + param.iTargetBitrate = 1280 * 720 * 8; // target bitrate desired param.iRCMode = RC_QUALITY_MODE; // rc mode control param.uiMaxNalSize = SLICE_SIZE * 20; param.iTemporalLayerNum = 1; // layer number at temporal level @@ -91,11 +92,11 @@ int FillSpecificParameters(SEncParamExt& param) { param.bPrefixNalAddingCtrl = 0; int iIndexLayer = 0; - param.sSpatialLayers[iIndexLayer].iVideoWidth = 352; - param.sSpatialLayers[iIndexLayer].iVideoHeight = 288; - param.sSpatialLayers[iIndexLayer].fFrameRate = 15.0f; + param.sSpatialLayers[iIndexLayer].iVideoWidth = 1280; + param.sSpatialLayers[iIndexLayer].iVideoHeight = 720; + param.sSpatialLayers[iIndexLayer].fFrameRate = (double) (FPS * 1.0f); // param.sSpatialLayers[iIndexLayer].iQualityLayerNum = 1; - param.sSpatialLayers[iIndexLayer].iSpatialBitrate = 384000; + param.sSpatialLayers[iIndexLayer].iSpatialBitrate = 1280 * 720 * 8; #ifdef MT_ENABLED param.sSpatialLayers[iIndexLayer].sSliceCfg.uiSliceMode = SM_DYN_SLICE; @@ -137,27 +138,21 @@ static switch_size_t buffer_h264_nalu(h264_codec_context_t *context, switch_fram switch_buffer_t *buffer = context->nalu_buffer; switch_size_t size = 0; - if (!frame) { - switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_ERROR, "No frame in codec!!\n"); - return size; - } - + switch_assert(frame); + nalu_idc = (nalu_hdr & 0x60) >> 5; nalu_type = nalu_hdr & 0x1f; if (!context->got_sps && nalu_type != 7) { switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_WARNING, "Waiting SPS/PPS\n"); - switch_set_flag(frame, SFF_WAIT_KEY_FRAME); - return size; + return 0; } if (!context->got_sps) context->got_sps = 1; size = switch_buffer_write(buffer, sync_bytes, sizeof(sync_bytes)); - if (size == 0 ) switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_ERROR, "Buffer Memory Error!\n"); - size = switch_buffer_write(buffer, frame->data, frame->datalen); - if (size == 0 ) switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_ERROR, "Buffer Memory Error!\n"); + #ifdef DEBUG_H264 switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_INFO, "ts: %ld len: %4d %02x %02x %02x %02x %02x %02x %02x %02x %02x %02x %02x mark=%d size=%d\n", @@ -173,13 +168,13 @@ static switch_size_t buffer_h264_nalu(h264_codec_context_t *context, switch_fram return size; } -static switch_status_t nalu_slice(h264_codec_context_t *context, void *data, uint32_t *len, uint32_t *flag) +static switch_status_t nalu_slice(h264_codec_context_t *context, switch_frame_t *frame) { int nalu_len; uint8_t *buffer; switch_status_t status = SWITCH_STATUS_SUCCESS; - *flag &= ~SFF_MARKER; + frame->m = SWITCH_FALSE; if (context->cur_nalu_index >= context->bit_stream_info.sLayerInfo[context->cur_layer].iNalCount) { context->cur_nalu_index = 0; @@ -198,8 +193,8 @@ static switch_status_t nalu_slice(h264_codec_context_t *context, void *data, uin if (context->last_frame_type == videoFrameTypeSkip || context->cur_layer >= context->bit_stream_info.iLayerNum) { - *len = 0; - *flag |= SFF_MARKER; + frame->datalen = 0; + frame->m = SWITCH_TRUE; context->cur_layer = 0; context->cur_nalu_index = 0; return status; @@ -225,12 +220,12 @@ static switch_status_t nalu_slice(h264_codec_context_t *context, void *data, uin // if (nalu_type == 7) switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_CRIT, "Got SPS\n"); - memcpy(data, (buffer + context->last_nalu_data_pos), nalu_len); - *len = nalu_len; + memcpy(frame->data, (buffer + context->last_nalu_data_pos), nalu_len); + frame->datalen = nalu_len; // *flag |= (nalu_type == 6 || nalu_type == 7 || nalu_type == 8 || (nalu_type == 0xe && context->last_nalu_type == 8)) ? 0 : SFF_MARKER; if ((context->cur_nalu_index == context->bit_stream_info.sLayerInfo[context->cur_layer].iNalCount - 1) && (context->cur_layer == context->bit_stream_info.iLayerNum - 1)) { - *flag |= SFF_MARKER; + frame->m = SWITCH_TRUE; } else { status = SWITCH_STATUS_MORE_DATA; } @@ -240,7 +235,7 @@ static switch_status_t nalu_slice(h264_codec_context_t *context, void *data, uin goto end; } else { int left = nalu_len; - uint8_t *p = (uint8_t *)data; + uint8_t *p = (uint8_t *) frame->data; if (context->nalu_eat) { left = nalu_len + 4 - context->nalu_eat; @@ -267,7 +262,7 @@ static switch_status_t nalu_slice(h264_codec_context_t *context, void *data, uin memcpy(p + 2, buffer + context->last_nalu_data_pos, SLICE_SIZE - 2); context->last_nalu_data_pos += (SLICE_SIZE - 2); context->nalu_eat += (SLICE_SIZE - 2); - *len = SLICE_SIZE; + frame->datalen = SLICE_SIZE; status = SWITCH_STATUS_MORE_DATA; goto end; } else { @@ -275,8 +270,8 @@ static switch_status_t nalu_slice(h264_codec_context_t *context, void *data, uin p[1] = 0x40 | context->last_nalu_type; memcpy(p + 2, buffer + context->last_nalu_data_pos, left); context->last_nalu_data_pos += left; - *len = left + 2; - *flag |= SFF_MARKER; + frame->datalen = left + 2; + frame->m = SWITCH_TRUE; context->nalu_eat = 0; context->cur_nalu_index++; status = SWITCH_STATUS_MORE_DATA; @@ -361,6 +356,7 @@ static switch_status_t init_encoder(h264_codec_context_t *context, uint32_t widt context->encoder_params.iPicWidth = width; context->encoder_params.iPicHeight = height; + for (int i=0; iencoder_params.iSpatialLayerNum; i++) { context->encoder_params.sSpatialLayers[i].iVideoWidth = width; context->encoder_params.sSpatialLayers[i].iVideoHeight = height; @@ -371,14 +367,12 @@ static switch_status_t init_encoder(h264_codec_context_t *context, uint32_t widt switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_ERROR, "Encoder Init Error\n"); return SWITCH_STATUS_FALSE; } + context->encoder_initialized = SWITCH_TRUE; return SWITCH_STATUS_SUCCESS; } -static switch_status_t switch_h264_encode(switch_codec_t *codec, - switch_image_t *img, - void *encoded_data, uint32_t *encoded_data_len, - unsigned int *flag) +static switch_status_t switch_h264_encode(switch_codec_t *codec, switch_frame_t *frame) { h264_codec_context_t *context = (h264_codec_context_t *)codec->private_info; int width = 0; @@ -387,17 +381,24 @@ static switch_status_t switch_h264_encode(switch_codec_t *codec, SSourcePicture* pic = NULL; long result; - if (*flag & SFF_WAIT_KEY_FRAME) { + if (context->need_key_frame) { + switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_NOTICE, "H264 KEYFRAME GENERATED\n"); context->encoder->ForceIntraFrame(1); + context->need_key_frame = 0; } - if (img == NULL) { - return nalu_slice(context, encoded_data, encoded_data_len, flag); + if (frame->flags & SFF_SAME_IMAGE) { + return nalu_slice(context, frame); } - //d_w and d_h are corrupt - width = img->w; - height = img->h; + + if (frame->img->d_h > 1) { + width = frame->img->d_w; + height = frame->img->d_h; + } else { + width = frame->img->w; + height = frame->img->h; + } //switch_assert(width > 0 && (width % 2 == 0)); //switch_assert(height > 0 && (height % 2 == 0)); @@ -419,12 +420,12 @@ static switch_status_t switch_h264_encode(switch_codec_t *codec, pic->iColorFormat = videoFormatI420; pic->iPicHeight = height; pic->iPicWidth = width; - pic->iStride[0] = img->stride[0]; - pic->iStride[1] = img->stride[1]; // = img->stride[2]; + pic->iStride[0] = frame->img->stride[0]; + pic->iStride[1] = frame->img->stride[1]; // = frame->img->stride[2]; - pic->pData[0] = img->planes[0]; - pic->pData[1] = img->planes[1]; - pic->pData[2] = img->planes[2]; + pic->pData[0] = frame->img->planes[0]; + pic->pData[1] = frame->img->planes[1]; + pic->pData[2] = frame->img->planes[2]; result = (EVideoFrameType)context->encoder->EncodeFrame(pic, &context->bit_stream_info); if (result != cmResultSuccess ) { @@ -436,45 +437,48 @@ static switch_status_t switch_h264_encode(switch_codec_t *codec, context->cur_nalu_index = 0; context->last_nalu_data_pos = 0; - if(pic){ + if (pic){ delete pic; pic = NULL; } - return nalu_slice(context, encoded_data, encoded_data_len, flag); + + return nalu_slice(context, frame); error: + if(pic){ delete pic; pic = NULL; } - *encoded_data_len = 0; - *flag |= SFF_MARKER; + frame->datalen = 0; + frame->m = SWITCH_TRUE; + return SWITCH_STATUS_FALSE; } -static switch_status_t switch_h264_decode(switch_codec_t *codec, - switch_frame_t *frame, - switch_image_t **img, - unsigned int *flag) +static switch_status_t switch_h264_decode(switch_codec_t *codec, switch_frame_t *frame) { h264_codec_context_t *context = (h264_codec_context_t *)codec->private_info; switch_size_t size = 0; uint32_t error_code; + switch_status_t status = SWITCH_STATUS_SUCCESS; // switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_INFO, "len: %d ts: %u mark:%d\n", frame->datalen, ntohl(frame->timestamp), frame->m); - if (context->last_received_timestamp && context->last_received_timestamp != frame->timestamp && + if (0 && context->last_received_timestamp && context->last_received_timestamp != frame->timestamp && (!frame->m) && (!context->last_received_complete_picture)) { // possible packet loss switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_WARNING, "Packet Loss, skip privousely received packets\n"); - switch_buffer_zero(context->nalu_buffer); + switch_goto_status(SWITCH_STATUS_RESTART, end); } context->last_received_timestamp = frame->timestamp; context->last_received_complete_picture = frame->m ? SWITCH_TRUE : SWITCH_FALSE; size = buffer_h264_nalu(context, frame); + printf("READ buf:%ld got_key:%d st:%d m:%d\n", size, context->got_sps, status, frame->m); + if (frame->m && size) { int got_picture = 0; @@ -485,6 +489,11 @@ static switch_status_t switch_h264_decode(switch_codec_t *codec, SBufferInfo dest_buffer_info; switch_buffer_peek_zerocopy(context->nalu_buffer, &nalu); uint8_t* pData[3] = { 0 }; + + + frame->m = SWITCH_FALSE; + frame->flags = 0; + pData[0] = NULL; pData[1] = NULL; @@ -515,22 +524,40 @@ static switch_status_t switch_h264_decode(switch_codec_t *codec, context->img->stride[1] = dest_buffer_info.UsrData.sSystemBuffer.iStride[1]; context->img->stride[2] = dest_buffer_info.UsrData.sSystemBuffer.iStride[1]; - *img = context->img; + frame->img = context->img; // TODO: keep going and see if more picture available // pDecoder->DecodeFrame (NULL, 0, pData, &sDstBufInfo); } else { if (error_code) { switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_ERROR, "Decode error: 0x%x\n", error_code); - context->got_sps = 0; + switch_goto_status(SWITCH_STATUS_RESTART, end); } } switch_buffer_zero(context->nalu_buffer); - return SWITCH_STATUS_SUCCESS; + status = SWITCH_STATUS_SUCCESS; } end: - return SWITCH_STATUS_SUCCESS; + + if (size == 0) { + status == SWITCH_STATUS_MORE_DATA; + } + + if (status == SWITCH_STATUS_RESTART) { + context->got_sps = 0; + switch_buffer_zero(context->nalu_buffer); + } + + if (!context->got_sps) { + switch_set_flag(frame, SFF_WAIT_KEY_FRAME); + } + + if (!frame->img) { + status = SWITCH_STATUS_MORE_DATA; + } + + return status; } static switch_status_t switch_h264_control(switch_codec_t *codec, @@ -540,6 +567,18 @@ static switch_status_t switch_h264_control(switch_codec_t *codec, switch_codec_control_type_t *rtype, void **ret_data) { + + + h264_codec_context_t *context = (h264_codec_context_t *)codec->private_info; + + switch(cmd) { + case SCC_VIDEO_REFRESH: + context->need_key_frame = 1; + break; + default: + break; + } + return SWITCH_STATUS_SUCCESS; } diff --git a/src/mod/codecs/mod_vpx/mod_vpx.c b/src/mod/codecs/mod_vpx/mod_vpx.c index 2c0028cde5..7806ecfe46 100644 --- a/src/mod/codecs/mod_vpx/mod_vpx.c +++ b/src/mod/codecs/mod_vpx/mod_vpx.c @@ -38,7 +38,7 @@ #include #include -#define FPS 15 +#define FPS 20 #define SLICE_SIZE 1200 SWITCH_MODULE_LOAD_FUNCTION(mod_vpx_load); @@ -84,6 +84,24 @@ static switch_status_t init_codec(switch_codec_t *codec) vpx_context_t *context = (vpx_context_t *)codec->private_info; vpx_codec_enc_cfg_t *config = &context->config; + if (!context->codec_settings.video.width) { + context->codec_settings.video.width = 1280; + } + + if (!context->codec_settings.video.height) { + context->codec_settings.video.height = 720; + } + + if (context->codec_settings.video.bandwidth) { + context->bandwidth = context->codec_settings.video.bandwidth; + } else { + context->bandwidth = context->codec_settings.video.width * context->codec_settings.video.height * 8; + } + + if (context->bandwidth > 1250000) { + context->bandwidth = 1250000; + } + // settings config->g_profile = 1; config->g_w = context->codec_settings.video.width; @@ -93,7 +111,8 @@ static switch_status_t init_codec(switch_codec_t *codec) config->g_timebase.den = 1000; config->g_error_resilient = VPX_ERROR_RESILIENT_PARTITIONS; config->g_lag_in_frames = 0; // 0- no frame lagging - config->g_threads = 1; + config->g_threads = (switch_core_cpu_count() > 1) ? 2 : 1; + // rate control settings config->rc_dropframe_thresh = 0; config->rc_end_usage = VPX_CBR; @@ -198,6 +217,8 @@ static switch_status_t init_codec(switch_codec_t *codec) vpx_codec_control(&context->decoder, VP8_SET_POSTPROC, &ppcfg); switch_buffer_create_dynamic(&context->vpx_packet_buffer, 512, 512, 1024000); + + printf("WTF CREATE ??? %p\n", (void *)context->vpx_packet_buffer); } return SWITCH_STATUS_SUCCESS; @@ -274,11 +295,11 @@ static switch_status_t switch_vpx_init(switch_codec_t *codec, switch_codec_flag_ +-+-+-+-+-+-+-+-+ */ -static switch_status_t consume_partition(vpx_context_t *context, void *data, uint32_t *len, uint32_t *flag) +static switch_status_t consume_partition(vpx_context_t *context, switch_frame_t *frame) { if (!context->pkt) context->pkt = vpx_codec_get_cx_data(&context->encoder, &context->iter); - *flag &= ~SFF_MARKER; + frame->m = 0; if (context->pkt) { // if (context->pkt->kind == VPX_CODEC_CX_FRAME_PKT && (context->pkt->data.frame.flags & VPX_FRAME_IS_KEY) && context->pkt_pos == 0) { @@ -290,8 +311,8 @@ static switch_status_t consume_partition(vpx_context_t *context, void *data, uin } if (!context->pkt || context->pkt_pos >= context->pkt->data.frame.sz - 1 || context->pkt->kind != VPX_CODEC_CX_FRAME_PKT) { - *len = 0; - *flag |= SFF_MARKER; + frame->datalen = 0; + frame->m = 1; context->pkt_pos = 0; context->pkt = NULL; return SWITCH_STATUS_SUCCESS; @@ -300,24 +321,24 @@ static switch_status_t consume_partition(vpx_context_t *context, void *data, uin if (context->pkt->data.frame.sz < SLICE_SIZE) { uint8_t hdr = 0x10; - memcpy(data, &hdr, 1); - memcpy((uint8_t *)data + 1, context->pkt->data.frame.buf, context->pkt->data.frame.sz); - *len = context->pkt->data.frame.sz + 1; - *flag |= SFF_MARKER; + memcpy(frame->data, &hdr, 1); + memcpy((uint8_t *)frame->data + 1, context->pkt->data.frame.buf, context->pkt->data.frame.sz); + frame->datalen = context->pkt->data.frame.sz + 1; + frame->m = 1; context->pkt = NULL; context->pkt_pos = 0; return SWITCH_STATUS_SUCCESS; } else { int left = context->pkt->data.frame.sz - context->pkt_pos; - uint8_t *p = data; + uint8_t *p = frame->data; if (left < SLICE_SIZE) { p[0] = 0; memcpy(p+1, (uint8_t *)context->pkt->data.frame.buf + context->pkt_pos, left); context->pkt_pos = 0; context->pkt = NULL; - *len = left + 1; - *flag |= SFF_MARKER; + frame->datalen = left + 1; + frame->m = 1; return SWITCH_STATUS_SUCCESS; } else { uint8_t hdr = context->pkt_pos == 0 ? 0x10 : 0; @@ -325,15 +346,13 @@ static switch_status_t consume_partition(vpx_context_t *context, void *data, uin p[0] = hdr; memcpy(p+1, (uint8_t *)context->pkt->data.frame.buf + context->pkt_pos, SLICE_SIZE - 1); context->pkt_pos += (SLICE_SIZE - 1); - *len = SLICE_SIZE; + frame->datalen = SLICE_SIZE; return SWITCH_STATUS_MORE_DATA; } } } -static switch_status_t switch_vpx_encode(switch_codec_t *codec, switch_image_t *img, - void *encoded_data, uint32_t *encoded_data_len, - unsigned int *flag) +static switch_status_t switch_vpx_encode(switch_codec_t *codec, switch_frame_t *frame) { vpx_context_t *context = (vpx_context_t *)codec->private_info; uint32_t duration = 90000 / FPS; @@ -341,20 +360,21 @@ static switch_status_t switch_vpx_encode(switch_codec_t *codec, switch_image_t * int height = 0; vpx_enc_frame_flags_t vpx_flags = 0; - if (*flag & SFF_WAIT_KEY_FRAME) { - context->need_key_frame = 1; - } - if (img == NULL) { - return consume_partition(context, encoded_data, encoded_data_len, flag); + if (frame->flags & SFF_SAME_IMAGE) { + return consume_partition(context, frame); } //d_w and d_h are messed up + //printf("WTF %d %d\n", frame->img->d_w, frame->img->d_h); - //printf("WTF %d %d\n", img->d_w, img->d_h); - - width = img->w; - height = img->h; + if (frame->img->d_h > 1) { + width = frame->img->d_w; + height = frame->img->d_h; + } else { + width = frame->img->w; + height = frame->img->h; + } //switch_assert(width > 0 && (width % 4 == 0)); //switch_assert(height > 0 && (height % 4 == 0)); @@ -362,45 +382,43 @@ static switch_status_t switch_vpx_encode(switch_codec_t *codec, switch_image_t * if (context->config.g_w != width || context->config.g_h != height) { context->codec_settings.video.width = width; context->codec_settings.video.height = height; - if (context->codec_settings.video.bandwidth) { - context->bandwidth = context->codec_settings.video.bandwidth; - } else { - context->bandwidth = width * height * 8; - } - - if (context->bandwidth > 1250000) { - context->bandwidth = 1250000; - } switch_log_printf(SWITCH_CHANNEL_SESSION_LOG(codec->session), SWITCH_LOG_NOTICE, "VPX reset encoder picture from %dx%d to %dx%d %u BW\n", context->config.g_w, context->config.g_h, width, height, context->bandwidth); init_codec(codec); - *flag |= SFF_PICTURE_RESET; + frame->flags |= SFF_PICTURE_RESET; context->need_key_frame = 1; } - if (context->need_key_frame > 0) { - // force generate a key frame - switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_NOTICE, "VPX KEYFRAME REQ\n"); - vpx_flags |= VPX_EFLAG_FORCE_KF; - context->need_key_frame--; + + if (!context->encoder_init) { + init_codec(codec); } - if (vpx_codec_encode(&context->encoder, (vpx_image_t *)img, context->pts, duration, vpx_flags, VPX_DL_REALTIME) != VPX_CODEC_OK) { + if (context->need_key_frame != 0) { + // force generate a key frame + switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_NOTICE, "VPX KEYFRAME GENERATED\n"); + vpx_flags |= VPX_EFLAG_FORCE_KF; + context->need_key_frame = 0; + } + + if (vpx_codec_encode(&context->encoder, (vpx_image_t *) frame->img, context->pts, duration, vpx_flags, VPX_DL_REALTIME) != VPX_CODEC_OK) { switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_ERROR, "VP8 encode error %d:%s\n", context->encoder.err, context->encoder.err_detail); + + frame->datalen = 0; return SWITCH_STATUS_FALSE; } context->pts += duration; context->iter = NULL; - return consume_partition(context, encoded_data, encoded_data_len, flag); + return consume_partition(context, frame); } -static void buffer_vpx_packets(vpx_context_t *context, switch_frame_t *frame) +static switch_status_t buffer_vpx_packets(vpx_context_t *context, switch_frame_t *frame) { uint8_t *data = frame->data; uint8_t S; @@ -410,7 +428,7 @@ static void buffer_vpx_packets(vpx_context_t *context, switch_frame_t *frame) if (!frame) { switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_ERROR, "no frame in codec!!\n"); - return; + return SWITCH_STATUS_RESTART; } DES = *data; @@ -431,106 +449,119 @@ static void buffer_vpx_packets(vpx_context_t *context, switch_frame_t *frame) } len = frame->datalen - (data - (uint8_t *)frame->data); + if (len <= 0) { switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_ERROR, "Invalid packet %d\n", len); - switch_buffer_zero(context->vpx_packet_buffer); - return; + return SWITCH_STATUS_RESTART; } - + if (S && (PID == 0)) { - uint8_t keyframe; + int is_keyframe = ((*data) & 0x01) ? 0 : 1; - keyframe = ((*data) & 0x01) ? 0 : 1; - - // switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_ERROR, "[%d] PID: %d K:%d P:%d Inv:%d len: %d size:%d\n", frame->datalen, PID, keyframe, profile, invisible, len, size); - - if (keyframe) { - if (!context->got_key_frame) context->got_key_frame = 1; + if (is_keyframe && !context->got_key_frame) { + context->got_key_frame = 1; } } if (!context->got_key_frame) { switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_WARNING, "Waiting for key frame\n"); - switch_set_flag(frame, SFF_WAIT_KEY_FRAME); - return; + return SWITCH_STATUS_RESTART; } switch_buffer_write(context->vpx_packet_buffer, data, len); + + return SWITCH_STATUS_SUCCESS; + } -static switch_status_t switch_vpx_decode(switch_codec_t *codec, switch_frame_t *frame, switch_image_t **img, unsigned int *flag) +static switch_status_t switch_vpx_decode(switch_codec_t *codec, switch_frame_t *frame) { vpx_context_t *context = (vpx_context_t *)codec->private_info; - vpx_codec_ctx_t *decoder = &context->decoder; switch_size_t len; + vpx_codec_ctx_t *decoder = NULL; + switch_status_t status = SWITCH_STATUS_SUCCESS; - if (!decoder) { + if (!context->decoder_init) { + init_codec(codec); + } + + if (!context->decoder_init) { switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_WARNING, "VPX decoder is not initialized!\n"); return SWITCH_STATUS_FALSE; } + decoder = &context->decoder; + // switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_INFO, "len: %d ts: %" SWITCH_SIZE_T_FMT " mark:%d\n", frame->datalen, frame->timestamp, frame->m); - if (context->last_received_timestamp && context->last_received_timestamp != frame->timestamp && + if (context->last_received_timestamp && context->last_received_timestamp != frame->timestamp && (!frame->m) && (!context->last_received_complete_picture)) { // possible packet loss - switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_WARNING, "Packet Loss, skip previouse received frame (to avoid crash?)\n"); - switch_buffer_zero(context->vpx_packet_buffer); + switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_WARNING, "Packet Loss, skip previous received frame (to avoid crash?)\n"); + switch_goto_status(SWITCH_STATUS_RESTART, end); } context->last_received_timestamp = frame->timestamp; context->last_received_complete_picture = frame->m ? SWITCH_TRUE : SWITCH_FALSE; - buffer_vpx_packets(context, frame); + status = buffer_vpx_packets(context, frame); - len = switch_buffer_inuse(context->vpx_packet_buffer); + printf("READ buf:%ld got_key:%d st:%d m:%d\n", switch_buffer_inuse(context->vpx_packet_buffer), context->got_key_frame, status, frame->m); - if (frame->m && len) { + if (status == SWITCH_STATUS_SUCCESS && frame->m && (len = switch_buffer_inuse(context->vpx_packet_buffer))) { uint8_t *data; vpx_codec_iter_t iter = NULL; int corrupted = 0; int err; - // int keyframe = 0; + //int keyframe = 0; + + printf("WTF %d %ld\n", frame->m, len); switch_buffer_peek_zerocopy(context->vpx_packet_buffer, (void *)&data); - // keyframe = (*data & 0x01) ? 0 : 1; + //keyframe = (*data & 0x01) ? 0 : 1; - // switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_ERROR, "buffered: %" SWITCH_SIZE_T_FMT ", key: %d\n", len, keyframe); + //switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_ERROR, "buffered: %" SWITCH_SIZE_T_FMT ", key: %d\n", len, keyframe); err = vpx_codec_decode(decoder, data, (unsigned int)len, NULL, 0); if (err != VPX_CODEC_OK) { switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_ERROR, "Error decoding %" SWITCH_SIZE_T_FMT " bytes, [%d:%d:%s]\n", len, err, decoder->err, decoder->err_detail); - switch_set_flag(frame, SFF_WAIT_KEY_FRAME); - context->got_key_frame = 0; - switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_ERROR, "require key frame %d\n", context->got_key_frame); - goto error; + switch_goto_status(SWITCH_STATUS_RESTART, end); } if (vpx_codec_control(decoder, VP8D_GET_FRAME_CORRUPTED, &corrupted) != VPX_CODEC_OK) { switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_WARNING, "VPX control error!\n"); - goto error; + switch_goto_status(SWITCH_STATUS_RESTART, end); } - *img = (switch_image_t *)vpx_codec_get_frame(decoder, &iter); + frame->img = (switch_image_t *) vpx_codec_get_frame(decoder, &iter); - if (!(*img) || corrupted) { + if (!(frame->img) || corrupted) { switch_buffer_zero(context->vpx_packet_buffer); - goto ok; + switch_goto_status(SWITCH_STATUS_SUCCESS, end); } - switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_ERROR, "%dx%d %dx%d\n", (*img)->w,(*img)->h, (*img)->d_w, (*img)->d_h); + switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_ERROR, "%dx%d %dx%d\n", frame->img->w,frame->img->h, frame->img->d_w, frame->img->d_h); switch_buffer_zero(context->vpx_packet_buffer); } -ok: - return SWITCH_STATUS_SUCCESS; +end: -error: - switch_buffer_zero(context->vpx_packet_buffer); + if (status == SWITCH_STATUS_RESTART) { + context->got_key_frame = 0; + switch_buffer_zero(context->vpx_packet_buffer); + } - return SWITCH_STATUS_FALSE; + if (!frame->img) { + status = SWITCH_STATUS_MORE_DATA; + } + + if (!context->got_key_frame) { + switch_set_flag(frame, SFF_WAIT_KEY_FRAME); + } + + return status; } diff --git a/src/mod/codecs/mod_yuv/mod_yuv.c b/src/mod/codecs/mod_yuv/mod_yuv.c index a1f38a929b..a9026d697b 100644 --- a/src/mod/codecs/mod_yuv/mod_yuv.c +++ b/src/mod/codecs/mod_yuv/mod_yuv.c @@ -50,25 +50,19 @@ static switch_status_t switch_yuv_init(switch_codec_t *codec, switch_codec_flag_ } } -static switch_status_t switch_yuv_encode(switch_codec_t *codec, - switch_image_t *img, - void *encoded_data, uint32_t *encoded_data_len, - unsigned int *flag) +static switch_status_t switch_yuv_encode(switch_codec_t *codec, switch_frame_t *frame) { /* yuv encode is unclear, so return 0 for now */ - *encoded_data_len = 0; - *flag |= SFF_MARKER; + frame->datalen = 0; + frame->m = 1; return SWITCH_STATUS_SUCCESS; } -static switch_status_t switch_yuv_decode(switch_codec_t *codec, - switch_frame_t *frame, - switch_image_t **img, - unsigned int *flag) +static switch_status_t switch_yuv_decode(switch_codec_t *codec, switch_frame_t *frame) { switch_assert(frame); - *img = (switch_image_t *)frame->user_data; + frame->img = (switch_image_t *)frame->user_data; return SWITCH_STATUS_SUCCESS; } diff --git a/src/mod/formats/mod_vlc/mod_vlc.c b/src/mod/formats/mod_vlc/mod_vlc.c index 28c5e576b8..ce1f9bd553 100644 --- a/src/mod/formats/mod_vlc/mod_vlc.c +++ b/src/mod/formats/mod_vlc/mod_vlc.c @@ -114,7 +114,6 @@ struct vlc_video_context { int height; int force_width; int force_height; - int video_refresh_req; int channels; }; @@ -242,6 +241,7 @@ static void vlc_video_unlock_callback(void *data, void *id, void *const *p_pixel switch_assert(context->img); yuyv_to_i420(*p_pixels, context->img->img_data, context->width, context->height); + switch_mutex_unlock(context->video_mutex); } @@ -267,14 +267,12 @@ static void vlc_video_channel_unlock_callback(void *data, void *id, void *const { vlc_video_context_t *context = (vlc_video_context_t *)data; - switch_assert(id == NULL); /* picture identifier, not needed here */ if (context->channel && !switch_channel_test_flag(context->channel, CF_VIDEO)) return; - if (!context->img) context->img = switch_img_alloc(NULL, SWITCH_IMG_FMT_I420, context->width, context->height, 0); - switch_assert(context->img); - + if (!context->img) context->img = switch_img_alloc(NULL, SWITCH_IMG_FMT_I420, context->width, context->height, 0); switch_assert(context->img); + yuyv_to_i420(*p_pixels, context->img->img_data, context->width, context->height); switch_mutex_unlock(context->video_mutex); @@ -282,19 +280,15 @@ static void vlc_video_channel_unlock_callback(void *data, void *id, void *const static void vlc_video_display_callback(void *data, void *id) { - vlc_video_context_t *context = (vlc_video_context_t *) data; - int32_t flag = 0; - /* VLC wants to display the video */ + vlc_video_context_t *context = (vlc_video_context_t *) data; + if (context->channel && !switch_channel_test_flag(context->channel, CF_VIDEO)) return; - if (context->video_refresh_req > 0) { - flag |= SFF_WAIT_KEY_FRAME; - context->video_refresh_req--; - } + context->vid_frame->img = context->img; - switch_core_session_write_video_image(context->session, context->vid_frame, context->img, SWITCH_DEFAULT_VIDEO_SIZE, NULL); + switch_core_session_write_video_frame(context->session, context->vid_frame, SWITCH_IO_FLAG_NONE, 0); } unsigned video_format_setup_callback(void **opaque, char *chroma, unsigned *width, unsigned *height, unsigned *pitches, unsigned *lines) @@ -321,6 +315,7 @@ unsigned video_format_setup_callback(void **opaque, char *chroma, unsigned *widt frame_size = (*width) * (*height) * 4 * 2; context->raw_yuyv_data = malloc(frame_size); + if (context->raw_yuyv_data == NULL) { switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_ERROR, "memory error\n"); return 0; @@ -1200,7 +1195,7 @@ static switch_call_cause_t vlc_outgoing_channel(switch_core_session_t *session, goto fail; } - start_core_video_thread(*new_session); + switch_core_session_start_video_thread(*new_session); switch_channel_set_state(channel, CS_INIT); if (switch_core_session_thread_launch(*new_session) != SWITCH_STATUS_SUCCESS) { @@ -1390,7 +1385,7 @@ static switch_status_t vlc_receive_message(switch_core_session_t *session, switc case SWITCH_MESSAGE_INDICATE_JITTER_BUFFER: break; case SWITCH_MESSAGE_INDICATE_VIDEO_REFRESH_REQ: - tech_pvt->context->video_refresh_req = 1; + switch_core_media_gen_key_frame(session); break; default: break; diff --git a/src/switch_core_codec.c b/src/switch_core_codec.c index 0e392edcbb..480a5a046f 100644 --- a/src/switch_core_codec.c +++ b/src/switch_core_codec.c @@ -788,9 +788,7 @@ SWITCH_DECLARE(switch_status_t) switch_core_codec_decode(switch_codec_t *codec, return status; } -SWITCH_DECLARE(switch_status_t) switch_core_codec_encode_video(switch_codec_t *codec, - switch_image_t *img, - void *encoded_data, uint32_t *encoded_data_len, unsigned int *flag) +SWITCH_DECLARE(switch_status_t) switch_core_codec_encode_video(switch_codec_t *codec, switch_frame_t *frame) { switch_status_t status = SWITCH_STATUS_FALSE; @@ -809,7 +807,14 @@ SWITCH_DECLARE(switch_status_t) switch_core_codec_encode_video(switch_codec_t *c if (codec->mutex) switch_mutex_lock(codec->mutex); if (codec->implementation->encode_video) { - status = codec->implementation->encode_video(codec, img, encoded_data, encoded_data_len, flag); + status = codec->implementation->encode_video(codec, frame); + + if (frame->datalen) { + frame->packetlen = frame->datalen + 12; + frame->flags |= SFF_SAME_IMAGE; + } else { + frame->flags &= ~SFF_SAME_IMAGE; + } } if (codec->mutex) switch_mutex_unlock(codec->mutex); @@ -818,9 +823,7 @@ SWITCH_DECLARE(switch_status_t) switch_core_codec_encode_video(switch_codec_t *c } -SWITCH_DECLARE(switch_status_t) switch_core_codec_decode_video(switch_codec_t *codec, - switch_frame_t *frame, - switch_image_t **img, unsigned int *flag) +SWITCH_DECLARE(switch_status_t) switch_core_codec_decode_video(switch_codec_t *codec, switch_frame_t *frame) { switch_status_t status = SWITCH_STATUS_FALSE; @@ -840,7 +843,7 @@ SWITCH_DECLARE(switch_status_t) switch_core_codec_decode_video(switch_codec_t *c if (codec->mutex) switch_mutex_lock(codec->mutex); if (codec->implementation->decode_video) { - status = codec->implementation->decode_video(codec, frame, img, flag); + status = codec->implementation->decode_video(codec, frame); } if (codec->mutex) switch_mutex_unlock(codec->mutex); diff --git a/src/switch_core_media.c b/src/switch_core_media.c index 683fab8073..2df5d3b5ec 100644 --- a/src/switch_core_media.c +++ b/src/switch_core_media.c @@ -176,6 +176,7 @@ struct switch_media_handle_s { switch_mutex_t *mutex; switch_mutex_t *sdp_mutex; + switch_mutex_t *control_mutex; const switch_codec_implementation_t *negotiated_codecs[SWITCH_MAX_CODECS]; int num_negotiated_codecs; @@ -196,6 +197,9 @@ struct switch_media_handle_s { switch_time_t video_last_key_time; switch_time_t video_init; switch_timer_t video_timer; + switch_video_function_t video_function; + void *video_user_data; + int8_t video_function_running; }; @@ -1510,7 +1514,7 @@ SWITCH_DECLARE(switch_status_t) switch_media_handle_create(switch_media_handle_t session->media_handle->mparams = params; if (!session->media_handle->mparams->video_key_freq) { - session->media_handle->mparams->video_key_freq = 15000000; + session->media_handle->mparams->video_key_freq = 30000000; } if (!session->media_handle->mparams->video_key_first) { @@ -1524,6 +1528,7 @@ SWITCH_DECLARE(switch_status_t) switch_media_handle_create(switch_media_handle_t switch_mutex_init(&session->media_handle->mutex, SWITCH_MUTEX_NESTED, switch_core_session_get_pool(session)); switch_mutex_init(&session->media_handle->sdp_mutex, SWITCH_MUTEX_NESTED, switch_core_session_get_pool(session)); + switch_mutex_init(&session->media_handle->control_mutex, SWITCH_MUTEX_NESTED, switch_core_session_get_pool(session)); session->media_handle->engines[SWITCH_MEDIA_TYPE_AUDIO].ssrc = (uint32_t) ((intptr_t) &session->media_handle->engines[SWITCH_MEDIA_TYPE_AUDIO] + (uint32_t) time(NULL)); @@ -1804,14 +1809,12 @@ SWITCH_DECLARE(switch_status_t) switch_core_media_read_frame(switch_core_session engine = &smh->engines[type]; - engine->read_frame.datalen = 0; - if (!engine->read_codec.implementation || !switch_core_codec_ready(&engine->read_codec)) { return SWITCH_STATUS_FALSE; } switch_assert(engine->rtp_session != NULL); - engine->read_frame.datalen = 0; + if (!switch_channel_up_nosig(session->channel) || !switch_rtp_ready(engine->rtp_session) || switch_channel_test_flag(session->channel, CF_NOT_READY)) { return SWITCH_STATUS_FALSE; @@ -1824,7 +1827,12 @@ SWITCH_DECLARE(switch_status_t) switch_core_media_read_frame(switch_core_session return SWITCH_STATUS_INUSE; } - + + engine->read_frame.datalen = 0; + engine->read_frame.flags = SFF_NONE; + engine->read_frame.m = SWITCH_FALSE; + engine->read_frame.img = NULL; + while (smh->media_flags[SCMF_RUNNING] && engine->read_frame.datalen == 0) { engine->read_frame.flags = SFF_NONE; @@ -4449,6 +4457,25 @@ static void *SWITCH_THREAD_FUNC video_helper_thread(switch_thread_t *thread, voi continue; } + if (smh->video_function) { + int run = 0; + + switch_mutex_lock(smh->control_mutex); + if (smh->video_function_running == 0) { + smh->video_function_running = 1; + run = 1; + } + switch_mutex_unlock(smh->control_mutex); + + if (run) { + smh->video_function(session, smh->video_user_data); + switch_mutex_lock(smh->control_mutex); + smh->video_function = NULL; + smh->video_user_data = NULL; + smh->video_function_running = 0; + switch_mutex_unlock(smh->control_mutex); + } + } status = switch_core_session_read_video_frame(session, &read_frame, SWITCH_IO_FLAG_NONE, 0); @@ -4456,7 +4483,6 @@ static void *SWITCH_THREAD_FUNC video_helper_thread(switch_thread_t *thread, voi switch_cond_next(); continue; } - if (switch_channel_test_flag(channel, CF_VIDEO_REFRESH_REQ)) { switch_core_session_refresh_video(session); @@ -4467,14 +4493,6 @@ static void *SWITCH_THREAD_FUNC video_helper_thread(switch_thread_t *thread, voi continue; } - status = switch_core_session_video_thread_callback(session, read_frame); - - if (status != SWITCH_STATUS_CONTINUE) { - if (status == SWITCH_STATUS_SUCCESS) continue; - - break; - } - if (switch_channel_test_flag(channel, CF_VIDEO_ECHO)) { switch_core_session_write_video_frame(session, read_frame, SWITCH_IO_FLAG_NONE, 0); } @@ -4491,8 +4509,7 @@ static void *SWITCH_THREAD_FUNC video_helper_thread(switch_thread_t *thread, voi return NULL; } - -SWITCH_DECLARE(switch_status_t) switch_core_media_start_video_thread(switch_core_session_t *session) +SWITCH_DECLARE(switch_status_t) switch_core_session_start_video_thread(switch_core_session_t *session) { switch_threadattr_t *thd_attr = NULL; switch_memory_pool_t *pool = switch_core_session_get_pool(session); @@ -4527,6 +4544,61 @@ SWITCH_DECLARE(switch_status_t) switch_core_media_start_video_thread(switch_core return SWITCH_STATUS_SUCCESS; } +SWITCH_DECLARE(void) switch_core_media_start_video_function(switch_core_session_t *session, switch_video_function_t video_function, void *user_data) +{ + switch_media_handle_t *smh; + + if (!(smh = session->media_handle)) { + return; + } + + switch_mutex_lock(smh->control_mutex); + if (!smh->video_function_running) { + smh->video_function = video_function; + smh->video_user_data = user_data; + switch_core_session_video_reset(session); + switch_core_session_start_video_thread(session); + } + switch_mutex_unlock(smh->control_mutex); +} + +SWITCH_DECLARE(int) switch_core_media_check_video_function(switch_core_session_t *session) +{ + switch_media_handle_t *smh; + int r; + + if (!(smh = session->media_handle)) { + return 0; + } + + switch_mutex_lock(smh->control_mutex); + r = (smh->video_function_running > 0); + switch_mutex_unlock(smh->control_mutex); + + return r; +} + +SWITCH_DECLARE(void) switch_core_media_end_video_function(switch_core_session_t *session) +{ + switch_media_handle_t *smh; + + if (!(smh = session->media_handle)) { + return; + } + + switch_mutex_lock(smh->control_mutex); + if (smh->video_function_running > 0) { + smh->video_function_running = -1; + } + switch_mutex_unlock(smh->control_mutex); + + while(smh->video_function_running != 0) { + switch_yield(10000); + } +} + + +>>>>>>> another refactoring pass, temp code still in place, WORK IN PROGRESS //? #define RA_PTR_LEN 512 SWITCH_DECLARE(switch_status_t) switch_core_media_proxy_remote_addr(switch_core_session_t *session, const char *sdp_str) @@ -4658,8 +4730,7 @@ SWITCH_DECLARE(switch_status_t) switch_core_media_proxy_remote_addr(switch_core_ !switch_channel_test_flag(session->channel, CF_WEBRTC)) { /* Reactivate the NAT buster flag. */ switch_rtp_set_flag(v_engine->rtp_session, SWITCH_RTP_FLAG_AUTOADJ); - switch_core_media_start_video_thread(session); - + switch_core_session_start_video_thread(session); } if (switch_media_handle_test_media_flag(smh, SCMF_AUTOFIX_TIMING)) { v_engine->check_frames = 0; @@ -5631,8 +5702,7 @@ SWITCH_DECLARE(switch_status_t) switch_core_media_activate_rtp(switch_core_sessi v_engine->local_sdp_ip, v_engine->local_sdp_port, v_engine->cur_payload_map->remote_sdp_ip, v_engine->cur_payload_map->remote_sdp_port, v_engine->cur_payload_map->agreed_pt); - - switch_core_media_start_video_thread(session); + switch_core_session_start_video_thread(session); switch_rtp_set_default_payload(v_engine->rtp_session, v_engine->cur_payload_map->agreed_pt); } } @@ -5665,7 +5735,7 @@ SWITCH_DECLARE(switch_status_t) switch_core_media_activate_rtp(switch_core_sessi !((val = switch_channel_get_variable(session->channel, "disable_rtp_auto_adjust")) && switch_true(val))) { /* Reactivate the NAT buster flag. */ switch_rtp_set_flag(v_engine->rtp_session, SWITCH_RTP_FLAG_AUTOADJ); - switch_core_media_start_video_thread(session); + switch_core_session_start_video_thread(session); } } @@ -5764,8 +5834,7 @@ SWITCH_DECLARE(switch_status_t) switch_core_media_activate_rtp(switch_core_sessi } switch_rtp_set_payload_map(v_engine->rtp_session, &v_engine->payload_map); - - switch_core_media_start_video_thread(session); + switch_core_session_start_video_thread(session); switch_channel_set_flag(session->channel, CF_VIDEO); if ((ssrc = switch_channel_get_variable(session->channel, "rtp_use_video_ssrc"))) { @@ -7911,7 +7980,11 @@ SWITCH_DECLARE(switch_status_t) switch_core_media_receive_message(switch_core_se case SWITCH_MESSAGE_INDICATE_VIDEO_REFRESH_REQ: { if (v_engine->rtp_session) { - switch_rtp_video_refresh(v_engine->rtp_session); + if (switch_rtp_test_flag(v_engine->rtp_session, SWITCH_RTP_FLAG_FIR)) { + switch_rtp_video_refresh(v_engine->rtp_session); + } else if (switch_rtp_test_flag(v_engine->rtp_session, SWITCH_RTP_FLAG_PLI)) { + switch_rtp_video_loss(v_engine->rtp_session); + } } } @@ -9454,77 +9527,34 @@ SWITCH_DECLARE(void) switch_core_session_set_image_write_callback(switch_core_se session->image_write_callback_user_data = user_data; } -SWITCH_DECLARE(switch_status_t) switch_core_session_write_video_image(switch_core_session_t *session, switch_frame_t *frame, - switch_image_t *img, switch_size_t size, uint32_t *flag) +static switch_status_t raw_write_video(switch_core_session_t *session, switch_frame_t *frame, switch_io_flag_t flags, int stream_id) { - uint32_t encoded_data_len = size, lflag = 0, *flagp = flag; - switch_codec_t *codec = switch_core_session_get_video_write_codec(session); - switch_timer_t *timer; - switch_media_handle_t *smh; - //switch_rtp_engine_t *v_engine; + switch_io_event_hook_video_write_frame_t *ptr; + switch_status_t status = SWITCH_STATUS_FALSE; - switch_assert(session); - - if (!(smh = session->media_handle)) { - return SWITCH_STATUS_FALSE; + if (session->endpoint_interface->io_routines->write_video_frame) { + if ((status = session->endpoint_interface->io_routines->write_video_frame(session, frame, flags, stream_id)) == SWITCH_STATUS_SUCCESS) { + for (ptr = session->event_hooks.video_write_frame; ptr; ptr = ptr->next) { + if ((status = ptr->video_write_frame(session, frame, flags, stream_id)) != SWITCH_STATUS_SUCCESS) { + break; + } + } + } } - //v_engine = &smh->engines[SWITCH_MEDIA_TYPE_VIDEO]; - - - if (!flag) { - flagp = &lflag; - } - - if (!(timer = switch_core_media_get_timer(session, SWITCH_MEDIA_TYPE_VIDEO))) { - - if (!smh->video_timer.timer_interface) { - switch_core_timer_init(&smh->video_timer, "soft", 1, 90, switch_core_session_get_pool(session)); - } - - timer = &smh->video_timer; - } - - - do { - encoded_data_len = size; - switch_core_codec_encode_video(codec, img, frame->data, &encoded_data_len, flagp); - - if (*flagp & SFF_PICTURE_RESET) { - smh->video_init = 0; - smh->video_last_key_time = 0; - *flagp &= ~SFF_PICTURE_RESET; - } - - frame->datalen = encoded_data_len; - frame->packetlen = frame->datalen + 12; - frame->m = (*flagp & SFF_MARKER) ? 1 : 0; - frame->timestamp = timer->samplecount; - - switch_set_flag(frame, SFF_RAW_RTP_PARSE_FRAME); - - switch_core_session_write_video_frame(session, frame, SWITCH_IO_FLAG_NONE, 0); - - if (session->image_write_callback) { - session->image_write_callback(session, frame, img, session->image_write_callback_user_data); - } - - img = NULL; - - } while(encoded_data_len); - - return SWITCH_STATUS_SUCCESS; + return status; } SWITCH_DECLARE(switch_status_t) switch_core_session_write_video_frame(switch_core_session_t *session, switch_frame_t *frame, switch_io_flag_t flags, int stream_id) { - switch_io_event_hook_video_write_frame_t *ptr; switch_status_t status = SWITCH_STATUS_FALSE; - switch_media_handle_t *smh; - switch_time_t now = switch_micro_time_now(); + switch_codec_t *codec = switch_core_session_get_video_write_codec(session); + switch_timer_t *timer; + switch_media_handle_t *smh; + switch_image_t *img = frame->img; switch_assert(session); @@ -9555,15 +9585,43 @@ SWITCH_DECLARE(switch_status_t) switch_core_session_write_video_frame(switch_cor smh->video_last_key_time = now; } - if (session->endpoint_interface->io_routines->write_video_frame) { - if ((status = session->endpoint_interface->io_routines->write_video_frame(session, frame, flags, stream_id)) == SWITCH_STATUS_SUCCESS) { - for (ptr = session->event_hooks.video_write_frame; ptr; ptr = ptr->next) { - if ((status = ptr->video_write_frame(session, frame, flags, stream_id)) != SWITCH_STATUS_SUCCESS) { - break; - } - } - } + if (!img) { + return raw_write_video(session, frame, flags, stream_id); } + + if (!(timer = switch_core_media_get_timer(session, SWITCH_MEDIA_TYPE_VIDEO))) { + + if (!smh->video_timer.timer_interface) { + switch_core_timer_init(&smh->video_timer, "soft", 1, 90, switch_core_session_get_pool(session)); + } + + timer = &smh->video_timer; + } + + frame->timestamp = timer->samplecount; + frame->flags &= ~SFF_SAME_IMAGE; + + do { + frame->datalen = SWITCH_DEFAULT_VIDEO_SIZE; + switch_core_codec_encode_video(codec, frame); + + if (frame->flags & SFF_PICTURE_RESET) { + smh->video_init = 0; + smh->video_last_key_time = 0; + frame->flags &= ~SFF_PICTURE_RESET; + } + + switch_set_flag(frame, SFF_RAW_RTP_PARSE_FRAME); + + status = raw_write_video(session, frame, flags, stream_id); + + if (status == SWITCH_STATUS_SUCCESS && session->image_write_callback) { + session->image_write_callback(session, frame, img, session->image_write_callback_user_data); + } + + } while(frame->datalen); + + return status; } @@ -9572,10 +9630,15 @@ SWITCH_DECLARE(switch_status_t) switch_core_session_read_video_frame(switch_core { switch_status_t status = SWITCH_STATUS_FALSE; switch_io_event_hook_video_read_frame_t *ptr; + uint32_t loops = 0; switch_assert(session != NULL); - if (switch_channel_down(session->channel)) { + top: + + loops++; + + if (switch_channel_down_nosig(session->channel)) { return SWITCH_STATUS_FALSE; } @@ -9657,6 +9720,20 @@ SWITCH_DECLARE(switch_status_t) switch_core_session_read_video_frame(switch_core } } + if (switch_channel_test_flag(session->channel, CF_VIDEO_DECODED_READ)) { + switch_status_t decode_status = switch_core_codec_decode_video((*frame)->codec, *frame); + + if (switch_test_flag((*frame), SFF_WAIT_KEY_FRAME)) { + switch_core_session_refresh_video(session); + switch_clear_flag((*frame), SFF_WAIT_KEY_FRAME); + } + + if (decode_status == SWITCH_STATUS_MORE_DATA) { + printf("mo data\n"); + goto top; + } + } + done: return status; diff --git a/src/switch_core_session.c b/src/switch_core_session.c index 3381852565..44aff99849 100644 --- a/src/switch_core_session.c +++ b/src/switch_core_session.c @@ -2676,6 +2676,7 @@ SWITCH_DECLARE(void) switch_core_session_video_reset(switch_core_session_t *sess { switch_channel_set_flag(session->channel, CF_VIDEO_ECHO); switch_channel_clear_flag(session->channel, CF_VIDEO_PASSIVE); + switch_channel_clear_flag(session->channel, CF_VIDEO_DECODED_READ); switch_core_session_refresh_video(session); session->image_write_callback = NULL; session->image_write_callback_user_data = NULL; @@ -3065,31 +3066,6 @@ SWITCH_DECLARE(void) switch_core_session_debug_pool(switch_stream_handle_t *stre session_manager.running, session_manager.busy, session_manager.popping); } -SWITCH_DECLARE(switch_status_t) switch_core_session_set_video_thread_callback(switch_core_session_t *session, switch_core_video_thread_callback_func_t *func, void *user_data) -{ - if (!func) { - session->_video_thread_callback = NULL; - session->_video_thread_user_data = NULL; - return SWITCH_STATUS_SUCCESS; - } else if (session->_video_thread_callback) { - return SWITCH_STATUS_FALSE; - } else { - session->_video_thread_callback = func; - session->_video_thread_user_data = user_data; - return SWITCH_STATUS_SUCCESS; - } -} - -SWITCH_DECLARE(switch_status_t) switch_core_session_video_thread_callback(switch_core_session_t *session, switch_frame_t *frame) -{ - if (session->_video_thread_callback) { - return session->_video_thread_callback(session, frame, session->_video_thread_user_data); - } - - return SWITCH_STATUS_CONTINUE; -} - - /* For Emacs: * Local Variables: * mode:c diff --git a/src/switch_ivr_bridge.c b/src/switch_ivr_bridge.c index 360223c30f..5f68032120 100644 --- a/src/switch_ivr_bridge.c +++ b/src/switch_ivr_bridge.c @@ -46,38 +46,47 @@ struct vid_helper { int up; }; -static void *SWITCH_THREAD_FUNC video_bridge_thread(switch_thread_t *thread, void *obj) +static void video_bridge_thread(switch_core_session_t *session, void *obj) { struct vid_helper *vh = obj; switch_channel_t *channel = switch_core_session_get_channel(vh->session_a); switch_channel_t *b_channel = switch_core_session_get_channel(vh->session_b); switch_status_t status; switch_frame_t *read_frame = 0; - const char *source = switch_channel_get_variable(channel, "source"); - const char *b_source = switch_channel_get_variable(b_channel, "source"); vh->up = 1; switch_core_session_read_lock(vh->session_a); switch_core_session_read_lock(vh->session_b); - if (!switch_stristr("loopback", source) && !switch_stristr("loopback", b_source)) { - switch_channel_set_flag(channel, CF_VIDEO_PASSIVE); - //switch_channel_set_flag(b_channel, CF_VIDEO_PASSIVE); - } - switch_core_session_refresh_video(vh->session_a); switch_core_session_refresh_video(vh->session_b); while (switch_channel_up_nosig(channel) && switch_channel_up_nosig(b_channel) && vh->up == 1) { if (switch_channel_media_up(channel)) { + switch_codec_t *a_codec = switch_core_session_get_video_read_codec(vh->session_a); + switch_codec_t *b_codec = switch_core_session_get_video_write_codec(vh->session_b); + + if (!b_codec || !a_codec || a_codec->implementation->impl_id == b_codec->implementation->impl_id) { + //switch_channel_clear_flag(channel, CF_VIDEO_DECODED_READ); + } else { + //switch_channel_set_flag(channel, CF_VIDEO_DECODED_READ); + } + + switch_channel_set_flag(channel, CF_VIDEO_DECODED_READ); + status = switch_core_session_read_video_frame(vh->session_a, &read_frame, SWITCH_IO_FLAG_NONE, 0); if (!SWITCH_READ_ACCEPTABLE(status)) { switch_cond_next(); continue; } + + if (!switch_test_flag(read_frame, SFF_CNG)) { + switch_core_session_write_video_frame(vh->session_a, read_frame, SWITCH_IO_FLAG_NONE, 0); + continue; + } } if (switch_test_flag(read_frame, SFF_CNG)) { @@ -93,9 +102,6 @@ static void *SWITCH_THREAD_FUNC video_bridge_thread(switch_thread_t *thread, voi } - switch_channel_clear_flag(channel, CF_VIDEO_PASSIVE); - //switch_channel_clear_flag(b_channel, CF_VIDEO_PASSIVE); - switch_core_session_kill_channel(vh->session_b, SWITCH_SIG_BREAK); switch_log_printf(SWITCH_CHANNEL_SESSION_LOG(vh->session_a), SWITCH_LOG_DEBUG, "%s video thread ended.\n", switch_channel_get_name(channel)); @@ -106,18 +112,12 @@ static void *SWITCH_THREAD_FUNC video_bridge_thread(switch_thread_t *thread, voi switch_core_session_rwunlock(vh->session_b); vh->up = 0; - return NULL; + return; } -static switch_thread_t *launch_video(struct vid_helper *vh) +static void launch_video(struct vid_helper *vh) { - switch_thread_t *thread; - switch_threadattr_t *thd_attr = NULL; - - switch_threadattr_create(&thd_attr, switch_core_session_get_pool(vh->session_a)); - switch_threadattr_stacksize_set(thd_attr, SWITCH_THREAD_STACKSIZE); - switch_thread_create(&thread, thd_attr, video_bridge_thread, vh, switch_core_session_get_pool(vh->session_a)); - return thread; + switch_core_media_start_video_function(vh->session_a, video_bridge_thread, vh); } #endif @@ -229,7 +229,6 @@ static void *audio_bridge_thread(switch_thread_t *thread, void *obj) const char *exec_data = NULL; #ifdef SWITCH_VIDEO_IN_THREADS - switch_thread_t *vid_thread = NULL; struct vid_helper vh = { 0 }; uint32_t vid_launch = 0; #endif @@ -246,6 +245,9 @@ static void *audio_bridge_thread(switch_thread_t *thread, void *obj) chan_a = switch_core_session_get_channel(session_a); chan_b = switch_core_session_get_channel(session_b); + + switch_channel_clear_flag(chan_a, CF_VIDEO_ECHO); + switch_channel_clear_flag(chan_b, CF_VIDEO_ECHO); if ((exec_app = switch_channel_get_variable(chan_a, "bridge_pre_execute_app"))) { @@ -410,7 +412,10 @@ static void *audio_bridge_thread(switch_thread_t *thread, void *obj) vid_launch++; vh.session_a = session_a; vh.session_b = session_b; - vid_thread = launch_video(&vh); + //DFF TEMP + if (switch_channel_test_flag(chan_a, CF_BRIDGE_ORIGINATOR)) { + launch_video(&vh); + } } #endif @@ -590,7 +595,7 @@ static void *audio_bridge_thread(switch_thread_t *thread, void *obj) end_of_bridge_loop: #ifdef SWITCH_VIDEO_IN_THREADS - if (vid_thread) { + if (vh.up > 0) { vh.up = -1; switch_channel_set_flag(chan_a, CF_NOT_READY); //switch_channel_set_flag(chan_b, CF_NOT_READY); @@ -634,9 +639,7 @@ static void *audio_bridge_thread(switch_thread_t *thread, void *obj) end: #ifdef SWITCH_VIDEO_IN_THREADS - if (vid_thread) { - switch_status_t st; - + if (switch_core_media_check_video_function(session_a)) { if (vh.up == 1) { vh.up = -1; } @@ -647,7 +650,7 @@ static void *audio_bridge_thread(switch_thread_t *thread, void *obj) switch_core_session_kill_channel(session_b, SWITCH_SIG_BREAK); switch_log_printf(SWITCH_CHANNEL_SESSION_LOG(session_a), SWITCH_LOG_DEBUG, "Ending video thread.\n"); - switch_thread_join(&st, vid_thread); + switch_core_media_end_video_function(session_a); switch_channel_clear_flag(chan_a, CF_NOT_READY); switch_channel_clear_flag(chan_b, CF_NOT_READY); } @@ -689,6 +692,9 @@ static void *audio_bridge_thread(switch_thread_t *thread, void *obj) switch_core_session_kill_channel(session_b, SWITCH_SIG_BREAK); data->done = 1; + switch_core_session_video_reset(session_a); + switch_core_session_video_reset(session_b); + switch_core_session_rwunlock(session_b); return NULL; } diff --git a/src/switch_rtp.c b/src/switch_rtp.c index 19cd856428..57cc417cf4 100644 --- a/src/switch_rtp.c +++ b/src/switch_rtp.c @@ -1444,7 +1444,7 @@ static uint8_t get_next_write_ts(switch_rtp_t *rtp_session, uint32_t timestamp) static void send_fir(switch_rtp_t *rtp_session) { - if (!rtp_session->flags[SWITCH_RTP_FLAG_VIDEO] && rtp_session->ice.ice_user) { + if (!rtp_session->flags[SWITCH_RTP_FLAG_VIDEO]) { return; } @@ -1557,7 +1557,7 @@ static void send_fir(switch_rtp_t *rtp_session) static void send_pli(switch_rtp_t *rtp_session) { - if (!rtp_session->flags[SWITCH_RTP_FLAG_VIDEO] && rtp_session->ice.ice_user) { + if (!rtp_session->flags[SWITCH_RTP_FLAG_VIDEO]) { return; } @@ -2035,7 +2035,6 @@ static int check_rtcp_and_ice(switch_rtp_t *rtp_session) } if (rtp_session->pli_countdown) { - if (rtp_session->pli_countdown == PLI_COUNTDOWN || (rtp_session->pli_countdown == PLI_COUNTDOWN / 2) || rtp_session->pli_countdown == 1) { send_pli(rtp_session); } From 22020c86cb3897d73ce58544b8ea8afe5c4daf2b Mon Sep 17 00:00:00 2001 From: Anthony Minessale Date: Tue, 18 Nov 2014 17:36:55 -0600 Subject: [PATCH 042/629] FS-7500: add SFF_USE_VIDEO_TIMESTAMP to tell video write frame if it needs to use a timer or not for timestamps --- src/include/switch_types.h | 3 ++- src/mod/codecs/mod_openh264/mod_openh264.cpp | 4 +++- src/mod/codecs/mod_vpx/mod_vpx.c | 4 +++- src/switch_core_media.c | 18 ++++++++++-------- 4 files changed, 18 insertions(+), 11 deletions(-) diff --git a/src/include/switch_types.h b/src/include/switch_types.h index 93071b8406..bc544a3426 100644 --- a/src/include/switch_types.h +++ b/src/include/switch_types.h @@ -1498,7 +1498,8 @@ typedef enum { SFF_WAIT_KEY_FRAME = (1 << 12), SFF_RAW_RTP_PARSE_FRAME = (1 << 13), SFF_PICTURE_RESET = (1 << 14), - SFF_SAME_IMAGE = (1 << 15) + SFF_SAME_IMAGE = (1 << 15), + SFF_USE_VIDEO_TIMESTAMP = (1 << 16) } switch_frame_flag_enum_t; typedef uint32_t switch_frame_flag_t; diff --git a/src/mod/codecs/mod_openh264/mod_openh264.cpp b/src/mod/codecs/mod_openh264/mod_openh264.cpp index b561eb2466..7d2deb8f3d 100644 --- a/src/mod/codecs/mod_openh264/mod_openh264.cpp +++ b/src/mod/codecs/mod_openh264/mod_openh264.cpp @@ -553,7 +553,9 @@ end: switch_set_flag(frame, SFF_WAIT_KEY_FRAME); } - if (!frame->img) { + if (frame->img) { + switch_set_flag(frame, SFF_USE_VIDEO_TIMESTAMP); + } else { status = SWITCH_STATUS_MORE_DATA; } diff --git a/src/mod/codecs/mod_vpx/mod_vpx.c b/src/mod/codecs/mod_vpx/mod_vpx.c index 7806ecfe46..ee7f7f63f7 100644 --- a/src/mod/codecs/mod_vpx/mod_vpx.c +++ b/src/mod/codecs/mod_vpx/mod_vpx.c @@ -553,7 +553,9 @@ end: switch_buffer_zero(context->vpx_packet_buffer); } - if (!frame->img) { + if (frame->img) { + switch_set_flag(frame, SFF_USE_VIDEO_TIMESTAMP); + } else { status = SWITCH_STATUS_MORE_DATA; } diff --git a/src/switch_core_media.c b/src/switch_core_media.c index 2df5d3b5ec..0a3866f580 100644 --- a/src/switch_core_media.c +++ b/src/switch_core_media.c @@ -4597,8 +4597,6 @@ SWITCH_DECLARE(void) switch_core_media_end_video_function(switch_core_session_t } } - ->>>>>>> another refactoring pass, temp code still in place, WORK IN PROGRESS //? #define RA_PTR_LEN 512 SWITCH_DECLARE(switch_status_t) switch_core_media_proxy_remote_addr(switch_core_session_t *session, const char *sdp_str) @@ -9589,17 +9587,21 @@ SWITCH_DECLARE(switch_status_t) switch_core_session_write_video_frame(switch_cor return raw_write_video(session, frame, flags, stream_id); } - if (!(timer = switch_core_media_get_timer(session, SWITCH_MEDIA_TYPE_VIDEO))) { + if (!switch_test_flag(frame, SFF_USE_VIDEO_TIMESTAMP)) { - if (!smh->video_timer.timer_interface) { - switch_core_timer_init(&smh->video_timer, "soft", 1, 90, switch_core_session_get_pool(session)); + if (!(timer = switch_core_media_get_timer(session, SWITCH_MEDIA_TYPE_VIDEO))) { + + if (!smh->video_timer.timer_interface) { + switch_core_timer_init(&smh->video_timer, "soft", 1, 90, switch_core_session_get_pool(session)); + } + + timer = &smh->video_timer; } - timer = &smh->video_timer; + frame->timestamp = timer->samplecount; } - frame->timestamp = timer->samplecount; - frame->flags &= ~SFF_SAME_IMAGE; + switch_clear_flag(frame, SFF_SAME_IMAGE); do { frame->datalen = SWITCH_DEFAULT_VIDEO_SIZE; From 73b2a5ea87649a96e3c850380f8a52eac71d5207 Mon Sep 17 00:00:00 2001 From: Anthony Minessale Date: Tue, 18 Nov 2014 17:50:01 -0600 Subject: [PATCH 043/629] FS-7500: tmp comment --- src/switch_rtp.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/switch_rtp.c b/src/switch_rtp.c index 57cc417cf4..db0f487384 100644 --- a/src/switch_rtp.c +++ b/src/switch_rtp.c @@ -5188,8 +5188,8 @@ static switch_status_t process_rtcp_packet(switch_rtp_t *rtp_session, switch_siz "RTCP packet bytes %" SWITCH_SIZE_T_FMT " type %d\n", *bytes, rtp_session->rtcp_recv_msg_p->header.type); - - if (rtp_session->flags[SWITCH_RTP_FLAG_VIDEO] && *bytes > 94) { + //DFF + if (0 && rtp_session->flags[SWITCH_RTP_FLAG_VIDEO] && *bytes > 94) { //(rtp_session->rtcp_recv_msg_p->header.type == 205 || //RTPFB //rtp_session->rtcp_recv_msg_p->header.type == 206)) {//PSFB From 2d49b3300212d5e618234ae1a45eea877c34b2fb Mon Sep 17 00:00:00 2001 From: Seven Du Date: Wed, 19 Nov 2014 18:59:53 +0800 Subject: [PATCH 044/629] FS-7500: fix follows the last refactor of core code --- src/mod/applications/mod_fsv/mod_fsv.c | 52 +++----------------------- 1 file changed, 6 insertions(+), 46 deletions(-) diff --git a/src/mod/applications/mod_fsv/mod_fsv.c b/src/mod/applications/mod_fsv/mod_fsv.c index e49c517fae..640045b0a9 100644 --- a/src/mod/applications/mod_fsv/mod_fsv.c +++ b/src/mod/applications/mod_fsv/mod_fsv.c @@ -576,8 +576,6 @@ SWITCH_STANDARD_APP(play_yuv_function) uint32_t width = 0, height = 0, size; switch_image_t *img = NULL; switch_byte_t *yuv = NULL; - switch_time_t last_video_ts = 0; - uint32_t timestamp = 0; int argc; char *argv[3] = { 0 }; char *mydata = switch_core_session_strdup(session, data); @@ -644,6 +642,8 @@ SWITCH_STANDARD_APP(play_yuv_function) // switch_set_flag((&vid_frame), SFF_PROXY_PACKET); while (switch_channel_ready(channel)) { + char ts_str[64]; + switch_core_session_read_frame(session, &read_frame, SWITCH_IO_FLAG_NONE, 0); if (switch_channel_test_flag(channel, CF_BREAK)) { @@ -672,50 +672,10 @@ SWITCH_STANDARD_APP(play_yuv_function) if (read_frame) switch_core_session_write_frame(session, read_frame, SWITCH_IO_FLAG_NONE, 0); - { /* video part */ - uint32_t encoded_data_len = 1500; - switch_frame_t *frame = &vid_frame; - switch_time_t now = switch_micro_time_now() / 1000; - char ts_str[33]; - long delta; - - if (last_video_ts == 0) last_video_ts = now; - - delta = now - last_video_ts; - - if (delta > 0) { - timestamp += delta * 90; - last_video_ts = now; - } - - sprintf(ts_str, "%u", timestamp); - text(img->planes[SWITCH_PLANE_PACKED], width, 20, 20, ts_str); - vid_frame.img = img; - switch_core_codec_encode_video(codec, &vid_frame); - - while(encoded_data_len) { - // switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_ERROR, "encoded: %s [%d] flag=%d ts=%lld\n", codec->implementation->iananame, encoded_data_len, flag, last_video_ts); - - frame->timestamp = timestamp; - - if (1) { // we can remove this when ts and marker full passed in core - /* set correct mark and ts */ - switch_rtp_hdr_t *rtp = (switch_rtp_hdr_t *)frame->packet; - - memset(rtp, 0, 12); - rtp->version = 2; - rtp->m = frame->m; - rtp->ts = htonl(timestamp); - rtp->ssrc = (uint32_t) ((intptr_t) rtp + (uint32_t) switch_epoch_time_now(NULL)); - // rtp->ssrc = 0x11223344; - } - - switch_core_session_write_video_frame(session, frame, SWITCH_IO_FLAG_NONE, 0); - - vid_frame.datalen = 1500; - switch_core_codec_encode_video(codec, &vid_frame); - } - } + sprintf(ts_str, "%" SWITCH_TIME_T_FMT, switch_micro_time_now() / 1000); + text(img->planes[SWITCH_PLANE_PACKED], width, 20, 20, ts_str); + vid_frame.img = img; + switch_core_session_write_video_frame(session, &vid_frame, SWITCH_IO_FLAG_NONE, 0); } switch_core_thread_session_end(session); From ec9b7c049975e889d0a15220bc2f6c880dc245f4 Mon Sep 17 00:00:00 2001 From: Anthony Minessale Date: Wed, 19 Nov 2014 14:47:26 -0600 Subject: [PATCH 045/629] FS-7500: add video_decoded_echo var to make the echo app decode and re-encode video frames for testing --- src/switch_ivr_async.c | 13 +++++-------- 1 file changed, 5 insertions(+), 8 deletions(-) diff --git a/src/switch_ivr_async.c b/src/switch_ivr_async.c index 85dcc66ad5..9fa11c9f78 100644 --- a/src/switch_ivr_async.c +++ b/src/switch_ivr_async.c @@ -637,7 +637,6 @@ SWITCH_DECLARE(switch_status_t) switch_ivr_session_echo(switch_core_session_t *s switch_status_t status; switch_frame_t *read_frame; switch_channel_t *channel = switch_core_session_get_channel(session); - int orig_vid = switch_channel_test_flag(channel, CF_VIDEO); if (switch_channel_pre_answer(channel) != SWITCH_STATUS_SUCCESS) { return SWITCH_STATUS_FALSE; @@ -645,7 +644,9 @@ SWITCH_DECLARE(switch_status_t) switch_ivr_session_echo(switch_core_session_t *s arg_recursion_check_start(args); - restart: + if (switch_true(switch_channel_get_variable(channel, "video_decoded_echo"))) { + switch_channel_set_flag(channel, CF_VIDEO_DECODED_READ); + } while (switch_channel_ready(channel)) { status = switch_core_session_read_frame(session, &read_frame, SWITCH_IO_FLAG_NONE, 0); @@ -653,12 +654,6 @@ SWITCH_DECLARE(switch_status_t) switch_ivr_session_echo(switch_core_session_t *s break; } - if (!orig_vid && switch_channel_test_flag(channel, CF_VIDEO)) { - orig_vid = 1; - goto restart; - } - - switch_ivr_parse_all_events(session); if (args && (args->input_callback || args->buf || args->buflen)) { @@ -719,6 +714,8 @@ SWITCH_DECLARE(switch_status_t) switch_ivr_session_echo(switch_core_session_t *s } } + switch_core_session_video_reset(session); + return SWITCH_STATUS_SUCCESS; } From d7af2b128cbabbad8f38bba6cb9c9058b898e0bb Mon Sep 17 00:00:00 2001 From: Anthony Minessale Date: Wed, 19 Nov 2014 14:48:14 -0600 Subject: [PATCH 046/629] FS-7500: clean up logic of encoder flow and set rules on return values and tweak some codec settings on vp8 --- src/mod/codecs/mod_vpx/mod_vpx.c | 34 ++++++++++++++++++-------------- src/switch_core_codec.c | 5 +++-- src/switch_core_media.c | 33 +++++++++++++++++++------------ 3 files changed, 42 insertions(+), 30 deletions(-) diff --git a/src/mod/codecs/mod_vpx/mod_vpx.c b/src/mod/codecs/mod_vpx/mod_vpx.c index ee7f7f63f7..979357ecd5 100644 --- a/src/mod/codecs/mod_vpx/mod_vpx.c +++ b/src/mod/codecs/mod_vpx/mod_vpx.c @@ -83,6 +83,8 @@ static switch_status_t init_codec(switch_codec_t *codec) { vpx_context_t *context = (vpx_context_t *)codec->private_info; vpx_codec_enc_cfg_t *config = &context->config; + int token_parts = 0; + int cpus = switch_core_cpu_count(); if (!context->codec_settings.video.width) { context->codec_settings.video.width = 1280; @@ -95,7 +97,8 @@ static switch_status_t init_codec(switch_codec_t *codec) if (context->codec_settings.video.bandwidth) { context->bandwidth = context->codec_settings.video.bandwidth; } else { - context->bandwidth = context->codec_settings.video.width * context->codec_settings.video.height * 8; + int x = (context->codec_settings.video.width / 1000) + 1; + context->bandwidth = context->codec_settings.video.width * context->codec_settings.video.height * x; } if (context->bandwidth > 1250000) { @@ -103,7 +106,7 @@ static switch_status_t init_codec(switch_codec_t *codec) } // settings - config->g_profile = 1; + config->g_profile = 0; config->g_w = context->codec_settings.video.width; config->g_h = context->codec_settings.video.height; config->rc_target_bitrate = context->bandwidth; @@ -111,19 +114,22 @@ static switch_status_t init_codec(switch_codec_t *codec) config->g_timebase.den = 1000; config->g_error_resilient = VPX_ERROR_RESILIENT_PARTITIONS; config->g_lag_in_frames = 0; // 0- no frame lagging - config->g_threads = (switch_core_cpu_count() > 1) ? 2 : 1; + + + + config->g_threads = (cpus > 1) ? 2 : 1; + token_parts = (cpus > 1) ? 3 : 0; // rate control settings config->rc_dropframe_thresh = 0; config->rc_end_usage = VPX_CBR; config->g_pass = VPX_RC_ONE_PASS; - config->kf_mode = VPX_KF_DISABLED; - //config->kf_mode = VPX_KF_AUTO; - //config->kf_min_dist = FPS;// Intra Period 3 seconds; - //config->kf_max_dist = FPS; + config->kf_mode = VPX_KF_AUTO; + config->kf_max_dist = 1000; + //config->kf_mode = VPX_KF_DISABLED; config->rc_resize_allowed = 1; - config->rc_min_quantizer = 2; - config->rc_max_quantizer = 56; + config->rc_min_quantizer = 0; + config->rc_max_quantizer = 63; //Rate control adaptation undershoot control. // This value, expressed as a percentage of the target bitrate, // controls the maximum allowed adaptation speed of the codec. @@ -181,8 +187,8 @@ static switch_status_t init_codec(switch_codec_t *codec) vpx_codec_control(&context->encoder, VP8E_SET_STATIC_THRESHOLD, 100); //Set cpu usage, a bit lower than normal (-6) but higher than android (-12) vpx_codec_control(&context->encoder, VP8E_SET_CPUUSED, -6); - // Only one partition - // vpx_codec_control(&context->encoder, VP8E_SET_TOKEN_PARTITIONS, VP8_ONE_TOKENPARTITION); + vpx_codec_control(&context->encoder, VP8E_SET_TOKEN_PARTITIONS, token_parts); + // Enable noise reduction vpx_codec_control(&context->encoder, VP8E_SET_NOISE_SENSITIVITY, 1); //Set max data rate for Intra frames. @@ -191,7 +197,7 @@ static switch_status_t init_codec(switch_codec_t *codec) // special (and default) value 0 meaning unlimited, or no additional clamping // beyond the codec's built-in algorithm. // For example, to allocate no more than 4.5 frames worth of bitrate to a keyframe, set this to 450. - vpx_codec_control(&context->encoder, VP8E_SET_MAX_INTRA_BITRATE_PCT, 0); + //vpx_codec_control(&context->encoder, VP8E_SET_MAX_INTRA_BITRATE_PCT, 0); } if (context->flags & SWITCH_CODEC_FLAG_DECODE) { @@ -299,8 +305,6 @@ static switch_status_t consume_partition(vpx_context_t *context, switch_frame_t { if (!context->pkt) context->pkt = vpx_codec_get_cx_data(&context->encoder, &context->iter); - frame->m = 0; - if (context->pkt) { // if (context->pkt->kind == VPX_CODEC_CX_FRAME_PKT && (context->pkt->data.frame.flags & VPX_FRAME_IS_KEY) && context->pkt_pos == 0) { // switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_ERROR, "============================Got a VP8 Key Frame size:[%d]===================================\n", (int)context->pkt->data.frame.sz); @@ -407,7 +411,7 @@ static switch_status_t switch_vpx_encode(switch_codec_t *codec, switch_frame_t * if (vpx_codec_encode(&context->encoder, (vpx_image_t *) frame->img, context->pts, duration, vpx_flags, VPX_DL_REALTIME) != VPX_CODEC_OK) { switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_ERROR, "VP8 encode error %d:%s\n", context->encoder.err, context->encoder.err_detail); - + frame->datalen = 0; return SWITCH_STATUS_FALSE; } diff --git a/src/switch_core_codec.c b/src/switch_core_codec.c index 480a5a046f..c8f175709c 100644 --- a/src/switch_core_codec.c +++ b/src/switch_core_codec.c @@ -809,12 +809,13 @@ SWITCH_DECLARE(switch_status_t) switch_core_codec_encode_video(switch_codec_t *c if (codec->implementation->encode_video) { status = codec->implementation->encode_video(codec, frame); - if (frame->datalen) { - frame->packetlen = frame->datalen + 12; + if (status == SWITCH_STATUS_MORE_DATA) { frame->flags |= SFF_SAME_IMAGE; } else { frame->flags &= ~SFF_SAME_IMAGE; } + + frame->packetlen = frame->datalen + 12; } if (codec->mutex) switch_mutex_unlock(codec->mutex); diff --git a/src/switch_core_media.c b/src/switch_core_media.c index 0a3866f580..03e83b5c43 100644 --- a/src/switch_core_media.c +++ b/src/switch_core_media.c @@ -9553,6 +9553,7 @@ SWITCH_DECLARE(switch_status_t) switch_core_session_write_video_frame(switch_cor switch_timer_t *timer; switch_media_handle_t *smh; switch_image_t *img = frame->img; + switch_status_t encode_status; switch_assert(session); @@ -9602,26 +9603,32 @@ SWITCH_DECLARE(switch_status_t) switch_core_session_write_video_frame(switch_cor } switch_clear_flag(frame, SFF_SAME_IMAGE); + frame->m = 0; do { frame->datalen = SWITCH_DEFAULT_VIDEO_SIZE; - switch_core_codec_encode_video(codec, frame); - - if (frame->flags & SFF_PICTURE_RESET) { - smh->video_init = 0; - smh->video_last_key_time = 0; - frame->flags &= ~SFF_PICTURE_RESET; - } + encode_status = switch_core_codec_encode_video(codec, frame); - switch_set_flag(frame, SFF_RAW_RTP_PARSE_FRAME); - - status = raw_write_video(session, frame, flags, stream_id); + if (encode_status == SWITCH_STATUS_SUCCESS || encode_status == SWITCH_STATUS_MORE_DATA) { - if (status == SWITCH_STATUS_SUCCESS && session->image_write_callback) { - session->image_write_callback(session, frame, img, session->image_write_callback_user_data); + switch_assert((encode_status == SWITCH_STATUS_SUCCESS && frame->m) || !frame->m); + + if (frame->flags & SFF_PICTURE_RESET) { + smh->video_init = 0; + smh->video_last_key_time = 0; + frame->flags &= ~SFF_PICTURE_RESET; + } + + switch_set_flag(frame, SFF_RAW_RTP_PARSE_FRAME); + + status = raw_write_video(session, frame, flags, stream_id); + + if (status == SWITCH_STATUS_SUCCESS && session->image_write_callback) { + session->image_write_callback(session, frame, img, session->image_write_callback_user_data); + } } - } while(frame->datalen); + } while(status == SWITCH_STATUS_SUCCESS && encode_status == SWITCH_STATUS_MORE_DATA); return status; From fe957fe66a01e87f92e2f012a3de6f754bd264f4 Mon Sep 17 00:00:00 2001 From: Anthony Minessale Date: Wed, 19 Nov 2014 14:49:09 -0600 Subject: [PATCH 047/629] FS-7500: remove temp bridge echo hack --- src/switch_ivr_bridge.c | 11 +++-------- 1 file changed, 3 insertions(+), 8 deletions(-) diff --git a/src/switch_ivr_bridge.c b/src/switch_ivr_bridge.c index 5f68032120..cee19190e8 100644 --- a/src/switch_ivr_bridge.c +++ b/src/switch_ivr_bridge.c @@ -69,13 +69,11 @@ static void video_bridge_thread(switch_core_session_t *session, void *obj) switch_codec_t *b_codec = switch_core_session_get_video_write_codec(vh->session_b); if (!b_codec || !a_codec || a_codec->implementation->impl_id == b_codec->implementation->impl_id) { - //switch_channel_clear_flag(channel, CF_VIDEO_DECODED_READ); + switch_channel_clear_flag(channel, CF_VIDEO_DECODED_READ); } else { - //switch_channel_set_flag(channel, CF_VIDEO_DECODED_READ); + switch_channel_set_flag(channel, CF_VIDEO_DECODED_READ); } - switch_channel_set_flag(channel, CF_VIDEO_DECODED_READ); - status = switch_core_session_read_video_frame(vh->session_a, &read_frame, SWITCH_IO_FLAG_NONE, 0); if (!SWITCH_READ_ACCEPTABLE(status)) { @@ -412,10 +410,7 @@ static void *audio_bridge_thread(switch_thread_t *thread, void *obj) vid_launch++; vh.session_a = session_a; vh.session_b = session_b; - //DFF TEMP - if (switch_channel_test_flag(chan_a, CF_BRIDGE_ORIGINATOR)) { - launch_video(&vh); - } + launch_video(&vh); } #endif From 1093139271b326e382db5c9a58ff65aa1e3ba925 Mon Sep 17 00:00:00 2001 From: Anthony Minessale Date: Wed, 19 Nov 2014 17:37:33 -0600 Subject: [PATCH 048/629] FS-7500: make play_yuv silent since opus echo tends to kill chrome --- src/mod/applications/mod_fsv/mod_fsv.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/mod/applications/mod_fsv/mod_fsv.c b/src/mod/applications/mod_fsv/mod_fsv.c index 640045b0a9..e621ad15a4 100644 --- a/src/mod/applications/mod_fsv/mod_fsv.c +++ b/src/mod/applications/mod_fsv/mod_fsv.c @@ -670,7 +670,8 @@ SWITCH_STANDARD_APP(play_yuv_function) } } - if (read_frame) switch_core_session_write_frame(session, read_frame, SWITCH_IO_FLAG_NONE, 0); + /* echo of opus tends to seg chrome */ + //if (read_frame) switch_core_session_write_frame(session, read_frame, SWITCH_IO_FLAG_NONE, 0); sprintf(ts_str, "%" SWITCH_TIME_T_FMT, switch_micro_time_now() / 1000); text(img->planes[SWITCH_PLANE_PACKED], width, 20, 20, ts_str); From 6822994d255f4af851d2309175079a4b65a7394a Mon Sep 17 00:00:00 2001 From: Anthony Minessale Date: Wed, 19 Nov 2014 17:59:57 -0600 Subject: [PATCH 049/629] FS-7500: video_decoded_echo to echo_decode_video --- src/switch_ivr_async.c | 17 +---------------- 1 file changed, 1 insertion(+), 16 deletions(-) diff --git a/src/switch_ivr_async.c b/src/switch_ivr_async.c index 9fa11c9f78..af127feb9e 100644 --- a/src/switch_ivr_async.c +++ b/src/switch_ivr_async.c @@ -644,7 +644,7 @@ SWITCH_DECLARE(switch_status_t) switch_ivr_session_echo(switch_core_session_t *s arg_recursion_check_start(args); - if (switch_true(switch_channel_get_variable(channel, "video_decoded_echo"))) { + if (switch_true(switch_channel_get_variable(channel, "echo_decode_video"))) { switch_channel_set_flag(channel, CF_VIDEO_DECODED_READ); } @@ -691,23 +691,8 @@ SWITCH_DECLARE(switch_status_t) switch_ivr_session_echo(switch_core_session_t *s } } - switch_core_session_write_frame(session, read_frame, SWITCH_IO_FLAG_NONE, 0); -#ifndef SWITCH_VIDEO_IN_THREADS - status = switch_core_session_read_video_frame(session, &read_frame, SWITCH_IO_FLAG_NONE, 0); - - if (!SWITCH_READ_ACCEPTABLE(status)) { - break; - } - - if (switch_test_flag(read_frame, SFF_CNG)) { - continue; - } - - switch_core_session_write_video_frame(session, read_frame, SWITCH_IO_FLAG_NONE, 0); -#endif - if (switch_channel_test_flag(channel, CF_BREAK)) { switch_channel_clear_flag(channel, CF_BREAK); break; From 96025a407d3c6ff37d79a5d8afa76be5a312f22f Mon Sep 17 00:00:00 2001 From: Anthony Minessale Date: Wed, 19 Nov 2014 18:00:29 -0600 Subject: [PATCH 050/629] FS-7500: remove debug --- src/switch_core_media.c | 1 - 1 file changed, 1 deletion(-) diff --git a/src/switch_core_media.c b/src/switch_core_media.c index 03e83b5c43..47ee39b12b 100644 --- a/src/switch_core_media.c +++ b/src/switch_core_media.c @@ -9738,7 +9738,6 @@ SWITCH_DECLARE(switch_status_t) switch_core_session_read_video_frame(switch_core } if (decode_status == SWITCH_STATUS_MORE_DATA) { - printf("mo data\n"); goto top; } } From 40ee25f5b8b8346d1289653cad1185ccd45bb216 Mon Sep 17 00:00:00 2001 From: Anthony Minessale Date: Wed, 19 Nov 2014 18:01:32 -0600 Subject: [PATCH 051/629] FS-7508: change vpx encoder to not re-init the whole codec, it messes it up but side effect, we need to init the encoder at 4k and scale down to aovid the vpx resize seg --- src/mod/codecs/mod_vpx/mod_vpx.c | 69 ++++++++++++++++++++------------ 1 file changed, 44 insertions(+), 25 deletions(-) diff --git a/src/mod/codecs/mod_vpx/mod_vpx.c b/src/mod/codecs/mod_vpx/mod_vpx.c index 979357ecd5..08c9b5bb03 100644 --- a/src/mod/codecs/mod_vpx/mod_vpx.c +++ b/src/mod/codecs/mod_vpx/mod_vpx.c @@ -38,8 +38,9 @@ #include #include -#define FPS 20 +#define FPS 15 #define SLICE_SIZE 1200 +#define KEY_FRAME_MIN_FREQ 1000000 SWITCH_MODULE_LOAD_FUNCTION(mod_vpx_load); SWITCH_MODULE_DEFINITION(mod_vpx, mod_vpx_load, NULL, NULL); @@ -54,6 +55,7 @@ struct vpx_context { switch_codec_settings_t codec_settings; unsigned int bandwidth; vpx_codec_enc_cfg_t config; + switch_time_t last_key_frame; vpx_codec_ctx_t encoder; uint8_t encoder_init; @@ -83,7 +85,7 @@ static switch_status_t init_codec(switch_codec_t *codec) { vpx_context_t *context = (vpx_context_t *)codec->private_info; vpx_codec_enc_cfg_t *config = &context->config; - int token_parts = 0; + int token_parts = 1; int cpus = switch_core_cpu_count(); if (!context->codec_settings.video.width) { @@ -105,6 +107,12 @@ static switch_status_t init_codec(switch_codec_t *codec) context->bandwidth = 1250000; } + + switch_log_printf(SWITCH_CHANNEL_SESSION_LOG(codec->session), SWITCH_LOG_NOTICE, + "VPX reset encoder picture from %dx%d to %dx%d %u BW\n", + config->g_w, config->g_h, context->codec_settings.video.width, context->codec_settings.video.height, context->bandwidth); + + // settings config->g_profile = 0; config->g_w = context->codec_settings.video.width; @@ -169,12 +177,13 @@ static switch_status_t init_codec(switch_codec_t *codec) // bits/bytes, if necessary. config->rc_buf_optimal_sz = 1000; - if (context->flags & SWITCH_CODEC_FLAG_ENCODE) { - if (context->encoder_init) { - vpx_codec_destroy(&context->encoder); - context->encoder_init = 0; + if (context->encoder_init) { + switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_INFO, "VPX ENCODER RESET\n"); + if (vpx_codec_enc_config_set(&context->encoder, config) != VPX_CODEC_OK) { + switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_ERROR, "Codec init error: [%d:%s]\n", context->encoder.err, context->encoder.err_detail); } + } else if (context->flags & SWITCH_CODEC_FLAG_ENCODE) { if (vpx_codec_enc_init(&context->encoder, encoder_interface, config, 0 & VPX_CODEC_USE_OUTPUT_PARTITION) != VPX_CODEC_OK) { switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_ERROR, "Codec init error: [%d:%s]\n", context->encoder.err, context->encoder.err_detail); @@ -200,13 +209,13 @@ static switch_status_t init_codec(switch_codec_t *codec) //vpx_codec_control(&context->encoder, VP8E_SET_MAX_INTRA_BITRATE_PCT, 0); } - if (context->flags & SWITCH_CODEC_FLAG_DECODE) { + if (context->flags & SWITCH_CODEC_FLAG_DECODE && !context->decoder_init) { vp8_postproc_cfg_t ppcfg; - if (context->decoder_init) { - vpx_codec_destroy(&context->decoder); - context->decoder_init = 0; - } + //if (context->decoder_init) { + // vpx_codec_destroy(&context->decoder); + // context->decoder_init = 0; + //} if (vpx_codec_dec_init(&context->decoder, decoder_interface, NULL, VPX_CODEC_USE_POSTPROC) != VPX_CODEC_OK) { switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_ERROR, "Codec init error: [%d:%s]\n", context->encoder.err, context->encoder.err_detail); @@ -223,8 +232,6 @@ static switch_status_t init_codec(switch_codec_t *codec) vpx_codec_control(&context->decoder, VP8_SET_POSTPROC, &ppcfg); switch_buffer_create_dynamic(&context->vpx_packet_buffer, 512, 512, 1024000); - - printf("WTF CREATE ??? %p\n", (void *)context->vpx_packet_buffer); } return SWITCH_STATUS_SUCCESS; @@ -260,6 +267,11 @@ static switch_status_t switch_vpx_init(switch_codec_t *codec, switch_codec_flag_ return SWITCH_STATUS_FALSE; } + /* start with 4k res cos otherwise you can't reset without re-init the whole codec */ + context->codec_settings.video.width = 3840; + context->codec_settings.video.height = 2160; + init_codec(codec); + return SWITCH_STATUS_SUCCESS; } @@ -386,11 +398,6 @@ static switch_status_t switch_vpx_encode(switch_codec_t *codec, switch_frame_t * if (context->config.g_w != width || context->config.g_h != height) { context->codec_settings.video.width = width; context->codec_settings.video.height = height; - - switch_log_printf(SWITCH_CHANNEL_SESSION_LOG(codec->session), SWITCH_LOG_NOTICE, - "VPX reset encoder picture from %dx%d to %dx%d %u BW\n", - context->config.g_w, context->config.g_h, width, height, context->bandwidth); - init_codec(codec); frame->flags |= SFF_PICTURE_RESET; context->need_key_frame = 1; @@ -403,9 +410,14 @@ static switch_status_t switch_vpx_encode(switch_codec_t *codec, switch_frame_t * if (context->need_key_frame != 0) { // force generate a key frame - switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_NOTICE, "VPX KEYFRAME GENERATED\n"); - vpx_flags |= VPX_EFLAG_FORCE_KF; - context->need_key_frame = 0; + switch_time_t now = switch_micro_time_now(); + + if (1 || !context->last_key_frame || (now - context->last_key_frame) > KEY_FRAME_MIN_FREQ) { + switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_NOTICE, "VPX KEYFRAME GENERATED\n"); + vpx_flags |= VPX_EFLAG_FORCE_KF; + context->need_key_frame = 0; + context->last_key_frame = now; + } } if (vpx_codec_encode(&context->encoder, (vpx_image_t *) frame->img, context->pts, duration, vpx_flags, VPX_DL_REALTIME) != VPX_CODEC_OK) { @@ -510,16 +522,23 @@ static switch_status_t switch_vpx_decode(switch_codec_t *codec, switch_frame_t * status = buffer_vpx_packets(context, frame); - printf("READ buf:%ld got_key:%d st:%d m:%d\n", switch_buffer_inuse(context->vpx_packet_buffer), context->got_key_frame, status, frame->m); + //printf("READ buf:%ld got_key:%d st:%d m:%d\n", switch_buffer_inuse(context->vpx_packet_buffer), context->got_key_frame, status, frame->m); - if (status == SWITCH_STATUS_SUCCESS && frame->m && (len = switch_buffer_inuse(context->vpx_packet_buffer))) { + len = switch_buffer_inuse(context->vpx_packet_buffer); + + if (frame->m && (status != SWITCH_STATUS_SUCCESS || !len)) { + switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_ERROR, "WTF????? %d %ld\n", status, len); + } + + + if (status == SWITCH_STATUS_SUCCESS && frame->m && len) { uint8_t *data; vpx_codec_iter_t iter = NULL; int corrupted = 0; int err; //int keyframe = 0; - printf("WTF %d %ld\n", frame->m, len); + //printf("WTF %d %ld\n", frame->m, len); switch_buffer_peek_zerocopy(context->vpx_packet_buffer, (void *)&data); //keyframe = (*data & 0x01) ? 0 : 1; @@ -545,7 +564,7 @@ static switch_status_t switch_vpx_decode(switch_codec_t *codec, switch_frame_t * switch_goto_status(SWITCH_STATUS_SUCCESS, end); } - switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_ERROR, "%dx%d %dx%d\n", frame->img->w,frame->img->h, frame->img->d_w, frame->img->d_h); + switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_ERROR, "IMAGE %dx%d %dx%d\n", frame->img->w,frame->img->h, frame->img->d_w, frame->img->d_h); switch_buffer_zero(context->vpx_packet_buffer); } From e7d34f3170ac3ce17686755c441f26a148c912eb Mon Sep 17 00:00:00 2001 From: Anthony Minessale Date: Wed, 19 Nov 2014 21:25:18 -0600 Subject: [PATCH 052/629] FS-7508: tolerate some messed up packets a little more --- src/include/switch_types.h | 2 +- src/mod/codecs/mod_vpx/mod_vpx.c | 13 +++++++++---- src/switch_core_media.c | 2 +- 3 files changed, 11 insertions(+), 6 deletions(-) diff --git a/src/include/switch_types.h b/src/include/switch_types.h index bc544a3426..4c3a0b9b82 100644 --- a/src/include/switch_types.h +++ b/src/include/switch_types.h @@ -226,7 +226,7 @@ SWITCH_BEGIN_EXTERN_C #define SWITCH_DTMF_LOG_LEN 1000 #define SWITCH_MAX_TRANS 2000 #define SWITCH_CORE_SESSION_MAX_PRIVATES 2 -#define SWITCH_DEFAULT_VIDEO_SIZE 1500 +#define SWITCH_DEFAULT_VIDEO_SIZE 1200 /* Jitter */ #define JITTER_VARIANCE_THRESHOLD 400.0 diff --git a/src/mod/codecs/mod_vpx/mod_vpx.c b/src/mod/codecs/mod_vpx/mod_vpx.c index 08c9b5bb03..066c23ed78 100644 --- a/src/mod/codecs/mod_vpx/mod_vpx.c +++ b/src/mod/codecs/mod_vpx/mod_vpx.c @@ -514,7 +514,7 @@ static switch_status_t switch_vpx_decode(switch_codec_t *codec, switch_frame_t * (!frame->m) && (!context->last_received_complete_picture)) { // possible packet loss switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_WARNING, "Packet Loss, skip previous received frame (to avoid crash?)\n"); - switch_goto_status(SWITCH_STATUS_RESTART, end); + switch_goto_status(SWITCH_STATUS_NOTFOUND, end); } context->last_received_timestamp = frame->timestamp; @@ -549,7 +549,7 @@ static switch_status_t switch_vpx_decode(switch_codec_t *codec, switch_frame_t * if (err != VPX_CODEC_OK) { switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_ERROR, "Error decoding %" SWITCH_SIZE_T_FMT " bytes, [%d:%d:%s]\n", len, err, decoder->err, decoder->err_detail); - switch_goto_status(SWITCH_STATUS_RESTART, end); + switch_goto_status(SWITCH_STATUS_NOTFOUND, end); } if (vpx_codec_control(decoder, VP8D_GET_FRAME_CORRUPTED, &corrupted) != VPX_CODEC_OK) { @@ -560,8 +560,8 @@ static switch_status_t switch_vpx_decode(switch_codec_t *codec, switch_frame_t * frame->img = (switch_image_t *) vpx_codec_get_frame(decoder, &iter); if (!(frame->img) || corrupted) { - switch_buffer_zero(context->vpx_packet_buffer); - switch_goto_status(SWITCH_STATUS_SUCCESS, end); + switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_WARNING, "VPX invalid packet\n"); + switch_goto_status(SWITCH_STATUS_NOTFOUND, end); } switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_ERROR, "IMAGE %dx%d %dx%d\n", frame->img->w,frame->img->h, frame->img->d_w, frame->img->d_h); @@ -571,6 +571,11 @@ static switch_status_t switch_vpx_decode(switch_codec_t *codec, switch_frame_t * end: + if (status == SWITCH_STATUS_NOTFOUND) { + switch_buffer_zero(context->vpx_packet_buffer); + switch_set_flag(frame, SFF_WAIT_KEY_FRAME); + } + if (status == SWITCH_STATUS_RESTART) { context->got_key_frame = 0; switch_buffer_zero(context->vpx_packet_buffer); diff --git a/src/switch_core_media.c b/src/switch_core_media.c index 47ee39b12b..f3c4270c4a 100644 --- a/src/switch_core_media.c +++ b/src/switch_core_media.c @@ -9714,7 +9714,7 @@ SWITCH_DECLARE(switch_status_t) switch_core_session_read_video_frame(switch_core ok = SWITCH_FALSE; } } - bp->ping_frame = NULL;; + bp->ping_frame = NULL; switch_mutex_unlock(bp->read_mutex); } From 3b7bdac4b9da4c9e51e3d0bcb48cb48177b770f0 Mon Sep 17 00:00:00 2001 From: Seven Du Date: Thu, 20 Nov 2014 22:30:43 +0800 Subject: [PATCH 053/629] FS-7517: mod_openh264 follows up the new encoder flow --- src/mod/codecs/mod_openh264/mod_openh264.cpp | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/src/mod/codecs/mod_openh264/mod_openh264.cpp b/src/mod/codecs/mod_openh264/mod_openh264.cpp index 7d2deb8f3d..4c20d8c941 100644 --- a/src/mod/codecs/mod_openh264/mod_openh264.cpp +++ b/src/mod/codecs/mod_openh264/mod_openh264.cpp @@ -274,7 +274,7 @@ static switch_status_t nalu_slice(h264_codec_context_t *context, switch_frame_t frame->m = SWITCH_TRUE; context->nalu_eat = 0; context->cur_nalu_index++; - status = SWITCH_STATUS_MORE_DATA; + status = SWITCH_STATUS_SUCCESS; goto end; } } @@ -381,6 +381,8 @@ static switch_status_t switch_h264_encode(switch_codec_t *codec, switch_frame_t SSourcePicture* pic = NULL; long result; + frame->m = SWITCH_FALSE; + if (context->need_key_frame) { switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_NOTICE, "H264 KEYFRAME GENERATED\n"); context->encoder->ForceIntraFrame(1); @@ -452,7 +454,6 @@ error: } frame->datalen = 0; - frame->m = SWITCH_TRUE; return SWITCH_STATUS_FALSE; } @@ -541,9 +542,9 @@ static switch_status_t switch_h264_decode(switch_codec_t *codec, switch_frame_t end: if (size == 0) { - status == SWITCH_STATUS_MORE_DATA; + status = SWITCH_STATUS_MORE_DATA; } - + if (status == SWITCH_STATUS_RESTART) { context->got_sps = 0; switch_buffer_zero(context->nalu_buffer); From 3c7fc85a319861012ec14ecb67a09f30d2713643 Mon Sep 17 00:00:00 2001 From: Seven Du Date: Thu, 20 Nov 2014 22:32:21 +0800 Subject: [PATCH 054/629] FS-7500: add more example yuv files --- src/mod/applications/mod_fsv/freeswitch-1080p.yuv | 1 + src/mod/applications/mod_fsv/freeswitch-4k.yuv | 1 + src/mod/applications/mod_fsv/freeswitch-720p.yuv | 1 + .../applications/mod_fsv/{freeswitch.yuv => freeswitch-cif.yuv} | 0 4 files changed, 3 insertions(+) create mode 100644 src/mod/applications/mod_fsv/freeswitch-1080p.yuv create mode 100644 src/mod/applications/mod_fsv/freeswitch-4k.yuv create mode 100644 src/mod/applications/mod_fsv/freeswitch-720p.yuv rename src/mod/applications/mod_fsv/{freeswitch.yuv => freeswitch-cif.yuv} (100%) diff --git a/src/mod/applications/mod_fsv/freeswitch-1080p.yuv b/src/mod/applications/mod_fsv/freeswitch-1080p.yuv new file mode 100644 index 0000000000..e77f918f26 --- /dev/null +++ b/src/mod/applications/mod_fsv/freeswitch-1080p.yuv @@ -0,0 +1 @@ +DDDCDCCCCDDCCCCDCCDCCCCCDDCDDCDDCCCCCDCDCDCCCCDDDCDCCDCDCDCCDDCCDDCDCCDDDCCDDCCDCCDCCCDCCCCCCDCDDCCDCDDCDCCCCDDDDCCDDCCCDCDCDDDCCDCDDCCDCCCCCDCCCDDCCCDCDCCDCCDCCCDDCCCDDCCCCCCDDDCDDCCDDDCDCCCDCDCCCCCDCDCCCDCDCCDDDCDCDCCCCCDDCCCDCCDCCDCCCDDDDDCDCCCCCCDCCDDCCDDDDDDCDDCCDCCDCDCCDDDDCCCCDDCCCCCCDDDDCCCDDCDDCCCCCDDDCCDCCCDDCCCDCDCDCCCDCDDDDDDCDDDCDCCDCDCDDDDDCCCDCDDCCDCCDDCDCDCDDDCDDCCDDDDDDCCDCDCCDCCDCDDCCCDDCCDDDDCDDCCDDCDCDDDDCCCDCCCDDCCCCDDDDDCCDDCDCDDCDCCCCCDCDDDDCCDDCDDDCCDCCCDDDCCDCCDDDCCDDCCCCDCCCDCDDCDCDDCDCDCCDCCDCDDCDCDDCDDCDDDDCCCDCDDCDDCCDCDCCDCCDCCCDCDCDDCDCDDDCCDDDCCCCDCDCCCCDDDCCDDCCDCCDCDCCCDDDDDDDCDCDCDCCCDCDCDDCDDCDDDCCCCDCDDDCDCDDCDDCCCCDDDDCDCDCDDDDCDCCDDDCCDCCDCDDCDCCCCCDCDCCDCDCCCDDDCDDCCCCDDCDCCDCCDCCCCCCDDDDCDCCDDDCCDCDCCCDCCCCDDCDCCCDCCCCCDDDDDDCDDCCCCCCDCCDDCDCCCCCCCDCCDDCDCCCDDDDDCCCCCDCDCCCCCCCCDDCDDDDCCCDCCDCCCDCCDDCCCDDDDDDCDDCCCCCCCDCCDCCCCCCDCDDCDCCDDCCCCDCDCDCDCDCDCDDDDCCCCDCCDCCDDDCCDDCCCDDCDDCDCDDCDCDCCCCCCDDDCDCDCCDDDCCCDDCCDDDCCDCDCCCDDCCCCCDDCCCCCCCDDCDCCCDCDDDDCCCCDCCDDCDDCDDDCDCCCCDDCCCDDCCDCCCCCCDCDCCCDCCCCDDCCCCCDCCDCDDCCDDCCCDCDCCDCCCCDDCCCCCCCDDDCCCCCDDDCCCCCDDCDDCDDCDDDCDCCCCCCCCDDDCCCCCCCDCCDDCCCDDCCDDDCCCCCDDCDCCCCCCDCCCDCDCDDDCDCDCCCDDDCCDDCCCCCCCDDDDCCDCCCDCDCDCCDDDDCCCDCDDCCCDDDCDCCDCCDCCDCDDCCCCDCCDCCDDDDCDCCCDCCCDCDCCCCDCCCCDCDCCCCDCCDDDCCCCCDCCCCDDCDCDDCCCDDCDCCDCCDCCCDCDDCDCDCCCCCDDDCDDDCDCCCCCDCCDCDDCCCDDDCCDCCCCDCDDCCCDDCDCDCCDCDCCDCCDCDCDDCDCCCCCCDDCCCCDDDCDDDDCCCDCDDCDCDDCCCCCDDDCDDCDDDDCDDDDCCDDCDCDCCCCCCDCCDCDDDDCDDCCDCDCCDDDDCDDCDCDDDCCDCCDCCCCDDDCCDCDCCDCCCDDDCDCDCCDCDDCCCDCDDCDCCDCCDCDCCDDCCCCCCDCDCDDCDCCDDCDDDCCDCDCCCCCCCCCDCCCCDDCCCDCCDDCCCCDCDDDDCCDDDDCDDCCCDDCCCDDCDDDCCDCCDDCCCCCDCCDCCCDDDCDDDCCCDCCCCCDDCDCDCCCDCCDDCDCCCCCDCCDCCDDCDCCDCDDCCCDCCCCCCCCCCCDCDCDCDCCCCCCDDDDCDCCDDDCCDCCDDCCCCDCCDCDCCDCDDCDDCDDCDCDCDDCDDCDDCDCDDCDCDDCCDCCCDCDDCDCCCCDDCCCCCCDDCDCDCDCCCCCCDDDDCDCCCCDCCDCCDDCCCCDDCDCDCCDCCDCDDCDDCDCDCDDCDDCDDCCCDDCDCDDCCCCCDCDCDDCCCCCCCCCCCDCCCCCCCCDCCDDDDDDCCCCCCCDCCDCCDCCCCCCCDCDDCDCDCDDCCDDCDCDCCDCCCCDDCDCCCDCDDCCDCCDCDCCCCCCDDCDCCCDDCCDDCCCDCCCDDCDCCCCDCDDCDDCCCCCCCDDCCCCCDDCDDCCDDCCCCDCDCDCDCCCCCDDCCCCDCDCCCCCDCDDDDCCDCCCCDCCCDCCDDDCDCCDDCDCCCCCDDCDDCDDDCCDCDCCCCDCDCDDDCCDDDDCCDCDCCDCCDDDCCDDCDCCCCDCCDDCDCDDCCDCCCCDCCCCDCDDDCDDCCCCCCDCCCCCCDDCDCDCCDCCCCDDCDCCCDCDDCCCCCCDCDCDCDDCCCCDCCDDCCCCDCDCDCCDDDDDDCDCCDCDCCCCCCDCCDCDCCDDDCDDCDDCDCCCCDCCCCCCCCDCCCDDCCCDDCDCCDDDCCCDCDDDCCCCCCDDCCDCCDDCDCCDCCCCCDCCDDCCDDDCDCDDDCCCCDCCDCCDCCCCCDCDDCCDCCCDDDDDDDDDCCCDCDCDCCDCDCCCDDDDCDCCCCCCCDCDCCCDDCCCCCDDCDCCDCDDDCCDDCDDDDCDCCDCCCDCDCCCCCCDCCCDDCCCDCCDCCCDCCCCCDCDDCCCDCCCCDDDDDDCDCDCCCDCDCCDDDDCCCDDDDCDCCCCCDDDCCCCDCDCCDCCCCDDCCDDCCCDCCDDDCCCCDDDCCCCCCCDDCDDDDCCCDCDCDCDDDDDCCCCCCDCCCDDDCCCCDDCDCDDCDCCCCDDCCDCCDDDDDDCCCDDDCDDDCCCCDCCCCDCDCCCCCCCDDCCCCDCDCCCCCDCCDDCDCCDDCDCCCCCDCCCDCDDCDCDCCDCCDDDCDDDCDCCDCCDCCDCCDCCCDDDCCDCCCCDCDDCCCCDCDCDCCDCDCCDCCDCDCDDDDCCCCCCDDCCCCDDDCCDDDDCCDCDDCDCDDCCCCCCDDCDDDDDDDCDCDCDCDDCCDDCDDDCCCCDCCDCCDCDDCCCDCCDDDCDCCCDCDDCCCDDDDCCCDCDCDDCCCCDDCDDCCDDCDCCDCDCCCCCDCDDDDCCDDDDDDDCDCCDDCDDDDDDCCDCDCCDCCCCCDCCCDDCCDDDDCCDDCDDCDCDDDDCCCDCCCDCCCCCDDDDCCCDDCDCCDCDCCCCCCCDDDDCCDDDDDDDCCCCCDDDCDDCDDDDCCDDCCCCDCCCDDCDCCCDDCDCDCDDCDDCCDCDCDDCDDCDDDCCCCDCDDCDDCCDCCCCDDCDCCCDCDDCCCCDDDDCCDDDDCCCDCDCCCCDCDCCDDDCDCDCCDCCCDDDDDDDDDCDCDCCCDCDDDDCDDCDDDCCCCCDDDDDDCDDCDDCCCCDDDCCDCDCDDDDCDDCDDDCCDDCDDCDCCCCCCDDCDCCDCDCCCDDCCDDCCCDDDCDCDCCCCDCDDCCDCCDCDCCCCCDCCDCCCCDCCCCCDDCCDDCCCCCCCDCCDCDDDDDCCCCCDDCCCCDCCDCDCDDCDCCCCDCCCCCDCDDDCDDDCDCDCCCDCDCCCCCCCDCDCCCCCDCDDCDCDDDDCCCCCCDDCDCCDCCDCCCDCCDCCDCCCDDCCDDDDDCDDCCDDDDDDCCDDDDCDDDDCDCCCCDDCCCDDCDCCCCDDCCCCCDCCDDCCCCCCDDCDCDDCCDCDDDCCDCCCCCDDCCCCCCCDCDCCDDCCCCDDCCCCCDDCDCCCCDDCCCCDCCDCDCCCDDCDCCCDCCCCCDCDCDCCCCDCDCCCCDCDCDDCDDCCDDDDCCDDDDCCCCCCCCDCCCDCCCCCDDCDDCCDCDDCDCDCCCDDDDCCDCCCDCCCCDCCCCDDCCCCCDDCCCCCDDCCDDCCCCDCCDCCDCDCDDDCCCCDDDCCCCDDCDCDCDDDDCCCCCCCDDCCCCCCCCDDDDDCDCDCDDCDCCDDCCCDCCCDDCCDCDDCCCCCCCCCCDCCCDCCDCCCCDCDCCCCDDCCCDCDCCDCCCDCCCDDCCCDDDCDCCCCCDCCDCCCDDCDCCCDCCCCDDCDCCDDCDDCCCDDCDDDCDCDDCCDDCCDDCCCCCDDCDDCCCCCCDCCCDDCCDDCCDDCCDCCCDDCDCDDDCCDCCDCDDDCDCCCDCCCCDCCCDDCCDDDDCCCCCCCCDCCCCCDDCCDDDCCCDDCCCCCCCCCDCDCCCDCCCCCCCCDCCCCCDCDDCDDCCCDCCCCDDCCCCCCCCDCDDDCDCCCDCCDCDDDDCCDCCDCCCCDDDDDDDCCCDCDCCCCCCDCCCCDCCCDDCDCCDCCDCCDDDDDCCDCCCDCCCCDDDCDCCCCCCDCDCDDCCCCCCCCCDDCCDCDDCDCDCCCDCDDCCDCCDDDCCDDDDDCCDDCDCCDCCDCDCCCCCDCDDCDDDDDDDDCCDDCDCDDDDDDCCCCCCCDDDCCCCDDCCCCCDDCDCCDCDCDCCCCCCDCDDCCDDCDDCCDCCCCDCCDCCCDCCDCDCDCCCCCDDCCDDCCDDDCCDCDDCCDCCDCCDCDCDCDDCDDDDCDCCCCCCCCDCCDDCCDDCDCCCDCCCCDDDDCDCDCCCCCCCCDCCCCCDDDCCCDCDDCCCDCDDDDCDDDCCCDDCCDDDCCCCCDCDDDDDDCCDDCDDDCDDCCDCDDDCCDDCDDCDDDDCCDDCCCCCCCCDDDCCDDDDCDCDCDCCDDCDDCDCCCCDDCDDDDCCCDCDCCDCCCDCDCCDDCDCCCDCCDDDCDDDDDCCDCCDCCCDCDCCCDDDCCCDDDDDCDDCDCCCDDDDCDDCDCDCDCCCDCDCDDCDDCCDDCCCCCDCDDDDCDDCDDCCCCDDDCCCCDCDDDDCDDCDDDCCDCCDDDDCDCCCCDDCCCCDCDCCCDDDCDDCCCDDDCDCDDCCDDCCDCCDDDDCDCCCCCCCCDDCCCCDDDCDCCCDDDDDCDCDDDDCDDCCCDCCDCDCCCDDCCCCDDCDCCCCDCCCCCCCCDCCCDDCCCDDCDCCDDDCCDDDDDCCCCCCCDDCCDCDCCCCDDCCDCCDDDDDDCDCDCDCCDDCCCCCCDCDCCDDDCDDCCDCDDCCCDCCCCCCCCDCCCCDCCCDDCDCCDDDCCDDDDDDCCCCCCCDCCCCCDDCDCCDCCCCDDCCDDCCDDDCDDDDDCCCCDCCCCCDCCDCCDCDDCCDCCCDDDCCDCDCCCCDCDCDCDDCDCCCDDCDCDCCDCCCCCCCDCCDDDCCCCDDCDCCDCCCCDCDDCDDDDCCCCDDCDCCCDCCCDCDCCCDDCDDDCCCCDCDCCCCCDCDCCCCDCCCCDDDDDDCDDDCCCDCDCCDDDCCCCDCDDCDCCCCDCCDCCCCDCDCCDCCCCDDCCDDCCCDCCDDDCCCCDDDCCDCCDCCCDCCDCCCDDDDCCDCDCDDDCCDCDDCCDCCCCDDCCCDDDCCCDDCCDCDDCCCDDDCCCDCCCCCCDDDCDDDCDDDCDDCCDCDCCCCCDCDCDCDDDCDDDDCDCCCCCCCCDCCCDCCCCCDCCCDDDDDCDCCCCCCDCCDCCCCCDDDCCDDCCDCCDCDCCCDCCCCCCDCDCCCDCDDDDDDCDDDDDCCCCCDCDDCDCCCDDCCCDCDCDDCCDCDDDDCCCDDCCDCCDCDDDDDDDCCCDCDDCCDCCDCCCCCDCDCDCDCCDCCCCCDCDCCCCCCCCDCDDDDDCDCCCCCCCDCCDCCDDCCCCCDDDCDCDCDCCDCCDDCDCDDDDCCCCCDDDCCCDCDDCDDCCDCDCCCCDCDDCCCCDCDDDCCCCCDCDCCCCCDCCDDCDCDCDCCCCCDCDDDDCDCDDCCDCCCDCCDCCDCCDCCCDCCDCCDCCCCCCCCDDDDCCCDDDDCCDCCCDCCDCCCDCCDCDCDCCCCCDCCDCCCDCDCDDCDCCDDCCCCDCCCCDCCCDCCDCCCDCCCDCCCCDCDDDCDDDCDDCCCCCDCCCDCCDDCDCCCCCDCCCDDCDCDCCDCDCCCCCCDCCCCCCCCDCDDCDDCCCCCDCDCCCDCCDDDCCCDCCDDDDDCDDCDDCCCDDCCDCCCCDDCCCDCCDCDDCDDCDCDDDCDCDCCDCCDDCDDDCCCCCDCDDCDCCCCCDCDCDCDDCDDDDCDCDCDDDCCCCCDCDCCCCCCDDCCCDCCDCCCCCDCDCCDCCCCDDCCDDDCCDCCDCDCCCDCDCDCCDCDDDCCDDCDDCDDCDDCCCCCCCCCDCCCCDDCCDCCDDCCCDCCCCCCDCCCDCCCCDCCCCDCCCCDDDCDCCCCCDDCCDCCDCDDCCDCCCCCDCCDCDCDCDDCCDDDCCCDDDCCDDCCCCCCDDCCCCCCDDCDDCDDDCDDCCCCDCCCDDCCCCCDCCCDCCDDCCCCCCDCCCDCCDCCCCCCDCDCDCCDCCDCCCCDDCDCCDCDDDDCDDDCCDCCDCCCCDCDDDCCCDCDCCDDDDCCCDCCDDDDCCCCDCDDCCDCDCCCCCDDDDCCCDDDDDCCDCCCCDDCCDCDCDCDCDCCDCDDCCDCDCCCCDDCDDCCDCDCCDDDCCCCDDDDDCDDDCCCDDCDCCCCDDCDDCDCCCCDCCDDDCCCCCDCCDCCDCCDCCDCCCCDDCCDDCCDDDDCDCDDCCCCDCCDCCDCCCCCDCDDCCDCCCCDDDDDDDCCCCDCDCDCDDCDCCCDDDDCDCCDCCCCDCDCDCDDDCCCCDDCDCCDCCDCDCDCCDDDDCDCCCDCCDCDDCCCDCDCCCDDCDDDCCDCDCDCCCCCDCDDCCCDCCCCDDDCDDCDDDCCCDCDCCDDDDCCCDDCDCDCCCCDCDDCDCCDCCCCDCCCCDDCCDDCCCDCCCDCCCCCDDDCCDCCDCCCCDCDCCDCCDCCCDDDDCCDCDCDCCCCDDDCCCCCCCCDCDCDDCCCCCCCCDDDCCCCDDCDCCCCCDDDDCCDCCCDDDCDDDCDCCDDCDCCDCCCCDCCCDCDCCDCCDDDDDCCDCCCDCCCDDCDCDCCCCCCDCDCCDCCCCCCCCCDDCCDCDDCDCDCCCDDDDCCDCCDDDCCDDDDDCCDDCDCCDCCDCDCCCDCDCDDCDDDDDDDDCCDDCDCDCDDDDCCCCCCDDDDCCCCDDCDCCCDDCDCDDCDCCCDCCCCDCDDCCCDCCDCCCCCCCDCCCDCCDCCDCDCDCCCCCDCCCDDCCCDDCCDCDDCCDCDDCCDDDDCCDDCDDDDDDCDCCCCCCDCCDCCCDDCDCCCDCCCCDDCCCDCDCCCCCCCCCCCDCCDDDCCCDDDDDCCDCCDDDCDDDCDCDCCCDCDCCDCDCCDDDCDDDCDDCDDCCDDCCDCDCDCCCCCCDDCCDCDDCDCCDDCCCDDCCCDCCCDDCDDCCCDDDDCDDCCCCCCCDDCDCCCCDCDDCCDDCCCCDCCCDCDCDCCCCDCCCCDCDDCCCCDCCCDCCCDDCCCDCCCDCCDDDCDCCDCCDCCCCCDDCDCCDDCCDCDDCCCCCCDCDDDDCDCDDCCDCCCCDCCDDDCCDDCCCDDCDCCDDCDCDDCDCCCCCDCDCCCCCDDCDDCCCCCCDCCCCCCDDCDCDCCDCCDCDDCDCCCDCDDCCCDCCDCDDCCCDDCCCCCCDCDDDDDDDCDCDDCDCCCDCCCCCCCDDDCDCDDCCCCCCCCCCDCCCDCCDCCCCCCDCCCCDDCCCDCCCCDCCCDCDDDDCCCDDDDDCCCCCDCCCCCDCCDDDDDDDDCCDDCDDDCDDDDDCCDDDCCCCCDCDCCCCDCDCCCCCDCCCCCDCCDDCCCCCDDDCDCDDCCDDDCCCDCDCDDDCCCCDDDDDCCDDCCCDCCDCDDCDDDCDCDDDDDDCDCDDCDDCDCCCCCCDCDCCDDCCCCDCDCCDCCCDCCDCCDDDCDCDDDCCCDDCDCDCCCCDCCDCCDCDCDCDCCDCCDDDCDCCCCCDCDDDDCCDDDCDDCCDDCCDDCCDCDDCCCDCDDCCCDCCDCCCCCCCDDCCDCDCCCCDDDDDCCDCDCDCDDCCDDCCDCCDDCCCDDDDCDDCDDDDDCCCCDCCDCCDCCDCDDCDCCDDCCDCCCDCDCCCCCDDCDCCCCCDCCCCDCDCDDCDDDCCCDDDCCCDCDCCDDDDCCDDCCCCCDDDDDCCCDDCDCCDDCDDCDDDCDCCCCCCCCDDCDDDDCCCDDDDCCCCCDCCDDCDDDDCCCCCCCDDCCDCDDCDCCCCCDDCCDCCDCCDCCDCCCDCDCDDCDCDCDDDDCDDCDCDCDCCDDDCCCDCDCCCDDDDCCCDCCCDCCDCCCDDCDDDDCCCCDDDDCDCCDDCDCDCCDCCCCDDCDDCDCCCDCDDCCDCDCCCDDCDCDDDDDDCCDDCCDDCCCDDDDCDDDCCCCCCDCDCDDCCCCDCCCCCDDDDDCCCCCCCDDDCDDDDCCCCCCCDCDCCCCDCDCCDDCCCCCDDCDDCCCDDDDDDDCCCDCCDDCCCDCDCCCDCCCDCCCDCCCCCDCCCCCDDCDCCCDCCDCDCCDCDCCDCCDDCDCDCCCCDDDCCCCDDCCDCCDCDDCDDDDDCDDCCDDCDCCDDDDDCCCCCCDDDDCCCCDDCDCCCDDCDCDDCDCDCCCCCCCCDDCCDCCCDCCDCCCCDCCDDCCDCCDCCCCCCCCCDDDCDDCCCCDCCCCCDCCDCCDCCDDDDDCDDCDDDDDDCDCCCDCDDCCDDCCDDCCCCCDCCCCCDDDCDCDCCCCCCCCCCCDCCDCCCCCDDDDDCCDCDDCDCDDDCDCDDCCDDCCCDCDDCCDCCDDCCDDCDCDCCDCCCCCDDCDCCCCDDCCDCDDDCCCCCCDCCCDCCCDCCCCCCCDCDCCDCCDDDDCCCCCDDCCDDCCCDDCCDCCDCCDCCDCDCDCDDCDDCDCCCDDDCCDDDCCCCCDDDDCCCCDDCCCDDCCCCCCCCCCCCCCCDCCDCCCCDCDDDDDCCCCCDDCCDDCDCDDCCDCCDCCDCCCCDCDCDDCDDDDCCCDDDCCDDDCCCCCDDDDCCCCDDCCDCDDDCDDCCDCDDCCDDCCCCCCCCCDCCCDCCCCCCDCCDDCCDCCCCCCCCCCDCCDCCDCCCCDDCDCCDCDDDDCDCCCCCCCDCCCCCCDDDCCCCCCCCDDDDCDCDCCCDDDDCCCDCDDDDDCDCCCCCDDDDCCCDDCCDCCDCCCDDDCCDCDCDCCCDCCCCDDCCDCDCCCCCDCDDCCDCCDCDDDCCCCDDDDDCDDDCCCDDCCCCCCDCCDDDDCCCCCCCCCDCCDCCDCCDCCCDDDDCCCCCCCCDDCDCCDDCDCCDDCDCCDCCDDCCDDCCDDDDDCDDDCDDCCDDDCCCCDDDCDCCCCDCCCCCDDCCDDDCDDCCDCCCDDDDCDDCCCDCCDCDDDCDCCCDCCCCDCDCDDCCDCDDCCCDCCCCDCCCCCDDCCCDDCCCDDCCCCCCCDCDDDCCDDCCCCCCCCDCCCCCDCDCCDDDCCCCDDCDDCCCCCCDCDCDDDCDCDCDCCDCDDDDCCDCCDCCCCDDDDCCDCCDDCCCDCCDCDCCCCCCCCDDDCCCDDCDCCDCCCDCCDCCCCCDDCDCCCCDCCDCCDCCDDCDCCCCDCCDDCCDCDCCCCDDCCDCCDCCCDCCCDCDCCDCDDDCDCDCDDCCCCCDCCCDDDDCCCDCCCCDDCCCCCCCDCDCCDDCCCCDDCDCCDDDCCCCCCDDCCCCDCCCCDCCCDDCDDCDDCCCCCDCDCDCCCCCCDDDDCCDCDDCDDCDCDDCCCDCDDDDDDCCCCDDCCDCCCDCDDDDDDCCCCCCCCDDCCCCCDDCCCDDDCDCCDCCCDDCCDCCDCCCDCCDDDDCCCCCCDDCCCCCCDDCDDDCCDDCDCCDCCDDDCCCCCCCCCDDDCCCCDCCDDCDDCCDCDDCCDCDDDDCDDCDCCDCCCCDDCCCDCDCCDDDDCDDDCCDCCCDCCDCCDDCDCCDDDCDCDDCCDDDCDDDDDDCDCCDCCCCCDCDCCCDDDDDCDDDDCDCDDCDDCDCCDCCDDCDDDDCCCCCCCCDCCCCCDDCCCCDDCCCCDCDCCCDCDCCDDDCCDCCDCDDDDCDCCCDDCCCCDDCCDCCDCDDDCCCCCCDDDDCDDCCCDDCCDDDDCCDDCDDDDCCCCCCCCCCCDCDCCDCCDDDDCCDDDCDCCCCCDCDCDDCCDCDCCDDDDDCDCDCCDDDDCDCDCCDDDCCDCCDDCDDDDDDDDCDDCCCCDDDDCCCCDDDCCDDDDCCCCDDCCDDDCDCCCDDCCDDCCCDCCCCCCDCDDCCCCCDCDCCCCDCCDDDCDCDDCCCCCCDDDCDCDDDDCDCDCCCDCDCCDDCCDDCCCDCCCDCCDCCCCDCCCCDDDDCCCCCCCCCDCCCCCCCCDCDDDDCCCDCDDDCCCCDDCCCDDDCCCCCDDDCDCCCCCCCDCCDCDCDDCCCCCCCCCDDCCDDCDCCDDDCDCCDDDDCDDDCCCDDCDCCDDCDDDCDDCCCCCDCCDDCCDCCDCCCDCCCDCCCCCCDCCDDCCDCCCCCCDCDCDCCCCCDCCCCDDCDCCCCDDCDCDCDCCDCCDCCCCDCDDCDCCDCCCCDDDDCDCDCCCDDDDCCCDCDCDDDCDCCDCCDDCCCCCDDDDDCCDCCCDDDCCDCDCDCDCDCCDCDCCCDCDCDCCDDCCCCCDCDDCDDDCCCCDDDDCCDDDCCCDDCDCCCCCDCDDCDCCDCDCCDDCCCDCCDCDDCCCDCDCDCCCCDDCCCDDCDDDCCDDCCDDDCCCCDDCDCCDCCDDDCDCCDDCDCCDCCCCCDCDDCDCCCDDDDDDDDDCDCCCCCDDCCCDCDCCCDDDDCCDDCCCDCCDCCDDCDDDDCCDCCCDDDCCDCDCCDCCDCCDDDCDCCDDCDCDCCCCDCDCDDCDCDCDDDDDDDDCCDCDCCDDCCCCDCDCCCDDDDCCDDCCCDCCDCCCDDCDDDCCCCCDCDCCDCCDCDDCDCCDDCCCDDCDDDDCCCDCDDCDDCCCCCDDCDDDDDDDCCDDDCCDDCCCDCDDCCDDCCCCCCDCDCDDCCCCDCCCCCDDDDDCCCCCCCDCDCDCCDCCCCCCCDCDCCCCDCDCCDDCCCCCDDCDDDCCDCDDDDDCCCCCCCDCCCCCDCCCDCCCDCCCCDCCDCCCCCCCDDCDCCCDCCDCDCCCDDCCDCCDDCDCDCCDCDDCCCCCDDCCDDCCCDDCDCDCCCCCDDDCCCCCDDCDCDDDDCDCCDCCCCCCCDDCCCCCCCDDCDDCCDCCCCCDCDDCCDCCDDCCCCDCCDDDDCCDDDDDCCCCDDCDCCCCDDCCCDCCDCDDCDDDCCDCDCDCDCCCCCDDDDDDCCDCCDCDDCDCCCCCDCDCDCDCCDDDDCCCDCDDDDCCCCDCCCCCCCCDDCCCDCDDCCDCCDCDCDDCCCCDDCCDCCCCDCCDCDDCCDCDCDCCDCDDDCCCDCDDDDDCCDCCCCCCCCCCCDCDCDDDCCCCDDDDCDCDDDCCDDCDCDCCDDDCDCDCDDCDCDCDDCDCCDCCCCCCDCDCCDDCCCDDCCCCDDCCDCCCCCCDDCDCCDDCCCDDCDCDCDCCDCDCCDDDCDCCDCDCCDCDDCCDDDDCCDDDDCDDCCDCCCCCCCCCCCCDDCDDCCDCCDCDCDCCDDDDCCCDDCCDCDCCCDCCCDDCDDCCCDDCDCDCDCCCDDDDCDCDCDDCCDCDCDCCDDCDCCDCDCCDCCCDDDCCDDCDDCCCCCCDCCCDDCCCCDCCCCCDCDCCCCCCCCDDCCDDCDCDDCDCDDCDDDDCDDDCDCDDCDCDDDCDCDCDDCDCCDDDCDCCDCDDCDCDCDDCCCDCCCDDCDCDDDDCDDDCDDCDCCCCCDDCCCCDCCCDCCCDCCCCDCCCDDCDDDCDCDCCCCDDCCCDDDDCCCDCDCCDCDCCCDDCCCCDCCCCCDCCDCCDCDCDDCCDCCCCCDCDDCCDCCDCDCDCCDDCDDDCCDCCDDCCCDCCDDCDCDDCDCDCDDDCCDDCDCDCDDCCDDCDDCCDCCDCDCDCDCCCDCCDDCCDDCDCDCCCCCCDDCCCCDDDDDCCCCCCCCCDDDCDCCCDCCDDCCDCDCCDCCDCCDDCDCDDCCCDDCCDCCCCCCDDDDCCCDDDDDCCCDCCCDDCCCDCCDCCCCCCDCCCDCCDCDCCCDCDDCCDCDDCCDCDDCCCCCCDCCCDCCCCCCCDCCCCCDDCCDCCDCDCCDCCCDCDDCDDCCDCDCCCCDDCCCCCDCDDDDCDDCDCCCCCCCCDCCCDDCCDDCDCCDDDDDCDCDCCCCCCDCDCDCCCCDCCCCCDDCDDCCCDCCCDDDDDDDDDDCDCCDCCDCDCDDCDCDCCCCCCCCCCCCCCCCCCDDCDCDDDCCCDDDCCCCDCDCDDDDDCDCDDCCCDDCCDDDCCCCDDCDCDCCDDDDCCCCDCCCCCCCDDDCCCCDCDDCDDCCCCCDDCDDDDDCCDCDDDCCDCCCCCDDDCDDDCCCCCCDCDCDDCCCCDCCCCCDDDDDCCCCCCCDDDCDDDCCCCCCCCDCDCCCCDCDCCDDCCCCCDDCDDDCCDDDCDDDCCCDCCDDCCCDCDCCCDCCCDCCCDDCCDCCCCCCCDDCDCCCDCCCCDCCCDDCCDCCDDCDCDCCDCDDDCCCCDDCCDDCCCCCDCCDCCCCDDCCDDDDCCDCCDDDDCCCCCDCCCCCDDDCCDCCCCCCCCCDCCDDCCCDDCDCDDCCDCDCDDDDDCCDCDCCDDDDCCCDCDDDDCCDDCDDCDCDDDDCCDDDDDCDDCDDDDDCCDCDCCCCCDDDCCDCCCDDDCCDDDCDDCCCDCCDCDDCCDCDCDDDDDDCDCDCCDDDDCDCDCDDDDCCDDCDDCDDDCDDCDCDDCCCDCDDDCCDCDDDCCDCDDCCCCDDCCDDDCDCCCDCCCDDCCDDCCCCCCCCDDCCCCCDCDDCCDDCCDDDDDCDDCCCCDCCDDCDDDDDDDDCDCCCDDDCCDDCCDDCCDCDCCDCCDCDCCDCCCCDDDDCCCCCCCCCDDCCCCCCCDCDDDDCCCDCDDDDCCCDCCCCDDDDDCCCDCDCDCDCCCCCDCCDCCCDDCCCCCCCCCDDCCDDCDCCDDDCCCCDCDCCDCCCCDDDDCCDCCDCCDDCCCCCCCDCDCDCCDCCDCDCDDCCCDDCDDCCCCDDDDDDDCCCCDDCDCDCDDCCCDCDDDCCDCCDCDCCCCCDDCCDDDCCCCDCCDDDCDCCCDCDDCCDCCCDCCDCCCCDCDDCDDCDCDDDCCCCDCCDCDCCCDDDDCCCCDCCCDCCCDCDCCCDCDDCCCCDCDDCCCDDCDCDDCCDDDCCDDDCCCDCDDCCDDCCCDDCCCCCDDDDDCCCDDDDCCDCCCCCCDDCCCCCCCCCCDDCDDDDCCCCDDDCCCDCCCCDDCDDDDCCCDCDDDDDDCCCCDDCCDCCCDCCDDDCDCCCCCCCCDDCDCCCCDCCCDDDCDCCDDCCDDCCDCCCCDCDCCDDDDCCCCCCDCCCCCCDCCDCDDCCDCCCCDDCCCDDDCCDDDCCDCDDCCCDDDCCDCCCCCCCDDCCDDDCDDDCDDCCDCDCCCCCDCDCDCCDDCCDDCDDDDCCCCDCCDCDDCDCDDDCDCCDCDCCDCDDDDCCCCCDCCDCCCCCCCDDCDCCCDCCCCDCCCCDDDCCCCCCDCCDCCDDDDCCDDCCCCDCDCCDCCCDDDDDCDCCCDCDCDDDDCCDDCCCCDCDCDDCDCDCCCDCDCCDCCCCCCDCCCDDCDDCDDDCDCDDDCCDCDDCCDCDCDCCCCCCDDDCCCCCDCCCCDCCDCCCCDCCCDCCDCDDCCCDCCCDDCCCDDDCDDDCDCCDCCCDCDDDCDDCCDDCCDDCDCCCDCDDCCCCCDDCDDCCCDCCDDCCDDDDCCDCCDCDDCDDDCCCCCCCCCCCDDDCDCDCCDDDDDCDCDCDDCCDDCDDCCCCDCCDDDCCCDDDCCDDDCCCCCDDCCDDCCCCCCDCDCDCCCDDCCDCCCDCDDDCDDDDCCDCCDDDCCCCCCDCCCDDCCDCCCDDCCDDCDDCCCCDCCCCDDCCDDDCDCCCCDDDDCDCDDDDCDDCDDDCCCDDCCCDCCCDCCCCDDCCCCDCDCDDDCCCDCDCCDDDCCCDCCDDDCDCCCDCCDCDCCCCDCCCCCCDCDDDCCCCCCDDCDCDCCCCCCCCCCDCDCCCDDCCCDCDCDDDCDCCDCDCCDDCDCCDCCCDDDDCCDDCCDDCCCCDDCCCCDCCCDDDDDCCDCCCCDDCCDCDDDDCCCCDDDDCCCDCCCDDDCCCCCDDCDDCCCCCCDCCCCCCDCDDCCCCDDCCDCDDCCCDDDDDCCDCDDDCCDDDDCCCCDDCCDDDCDCCCCCCCDDCCDDCCCCCCDCDDCCCCCDCDCCCDDCCDDDDCCDDCCCCDCDCDCDDDDCDDDCDCCCDDDCCDDCCDCCCDCDCCDCCDCDCCDCCCCDDDDCCCCDCCCCDDCCCCCCCDCCDDCCCCDCDCDDCCCDDCCCDDDDDCCCDCDCCCCCCCCCCCCDCDCDDCCCCCCCCCDDCCDDCDCCDDDCDCCDDDDCDDDCCDDDDCDDCCDCCDDCCDDCDCDCCCCDCDDCCCCDDDDDCCDCDCCCCDDDCDCCCDDCDDCDDCCCCDDCDCCDCCCCDCCCCCDCCDCCCCCCDDDDCCCDDDDDCCCDCCCDDCCCCDCDCCCCCCDDCCCCDDDDDCCDCDCCCCCDDCDCCCDDDDCCDDDDCCDDCDCCDDCDCDDCCCDDCCDCCCCCCDCDDDCCDDDDDDDCDCCCDCCCCDCCDCCCCCCDCDDCCCDCDCCCDCDDCCCCDDDCDCDDCCCCCCCCCCDCCDCCCCCCCCDDDDCCDCDDDDCCCCCDDDDDCDDCCDCDCCCCDDCCCDDCCDDDDCDDCDCCCCCCCCDCCCDDDCDDCDCCDCDDCCDCCDCCCDCDCDCDCCCCDCCCCCCCCDDCCCDCCCDDCDDDCDDDCDCCDCDDCDCDDCDCDCCCCCCDCCCCCCCCCCCDDDCCDDCDCCDDDCCCCDCDCDDDCDCCCDCCDDDCCDDDDCCCCCDCDDDCCCDCDCCDCCDCDDDCCCCCDCDDCCCCCDCCDDCDDCCDCDDCCDCDDDDCDDCCCCDDDDCCDCCCCCDCCCDCDCCDDCCDCCCDCCDCCDDDCCCDDDCCCCDCCDDDCDDDDDDCDCCCCDDCCDCCCCCDDDDDDDDDCCDCCDCDCCDCCDCCDDCDDDCCCCDDCCCDCCCCCDDCCCCDDDCCDDCDCCCDCCDCDDDCCCCCDCCDCDDDCCCDDCCCCDDDCDCCDCDDCCDCCCCDCCCDDCDDCCCDDCDCCCDCCCDDDDCDCCCDDCCDCCCCCDDDCDDCDCDCCCCDCDDCCCDDCDDCDCCDCDDCCDDCCCCCCCCCDDCDCCCCCCDCCDCCDDCDCDCDDDCDDDCCDCDCCDCCDCCCCDCCCCCCCCCDDDDDCDCCCCCCDCCDDCCDDDCDDCDDCCDCCCCDCCDDDDCCDCCCCDCDDCCDCDCCCDCDCCCDCDCCCDDCCCCDDDDCDCCDDCDDDDCDCCCCDCCCDCDDCCCDCDCCCDCDDCCCDDDDCDDDCCCDCDCCDCDCCCCCDCCDCCCDCCDCCDCCCCCDCCDDCCCCCDDDCDCDDDDCCCDCCCDDDCDCCDDCDDDCDDCDCCCCDCCDCDDDCDCCCCDDDDDDCDDCDCDDCDDCCDCCDCCDCCCCDDDDCDDCDDCCCDCDDCDDCDCCCDCDDDCCDCDDDCCDDCDCCCDCCDCCDDCDDDDDDDCCDCCDCCCDCCCCCCCDCDCCDDDCCDDDCCCDDCCDDCCCCDDDCCDDCCCDCCCCDDDDDCCCDDCCCCDCCCCCCCDDCDDDDCCCDDCDDCCDDCDCCDCCCCCDCCDCCCCCDDDCDDCCCDDDCDCDDDCCCDDCCCCCCDDDDDCDDCDCDDCDDCCCCDCCCDDDDCDCDCCCDCDCCDDCDDCCCDCDDCCCDCDDDDDCCCDDCDCDDDCDDDDDDCDCCDDDCCCCDDCDCCDCCDCCCDDCCDDCCDCDDCDDCCCDDDCDDCDCCDCCCCCCCCDCCDCCDCCDCCDDDDCCDCDCCCCCCCCCDCDDCCDCDDDCCCDCDCDCCCCCDDCDCDDDDDDDCCCDCDDDCCDCCDCCCCCCCCCDCDDCCCDDDDCDCCCCDDDDCCCCCDCCCCDDCDCDCDDDCCDDCDCDCCCCDCCCDDCCDDCDDCCDDCCCCDDCDDDCCDCCDCCDCCCCCCDCCDDCCCCDCDCCCDDCCDCDDDCDCDDCCCCCCDCCCDCCDCCCCCCCCDDCDDCDCDDDDCCDCCCDDDCCDCCCDCDCCCDDDCCCDDDCDDCDCDCCDCCCCDCCCDCCCDDDCDDCCCCCDCDDCDCDDCCCDCDCDCCCCCCCCCDCCDCCDDCCCCCCCDDCDDCDDCDCCCCDCCDCDCDDCCCCCCCCCCCCCCCCCCCCCCDCDDCDCDDCCDDDCCCCDCDCDDDDDCDCDCCDDDCDDDDDCCDDDCCCCCDDCDDDCCCCCCCCDCDCCCDDCCDCCCDCCDCCDDDDCCDCCDDDCCCCCCDCCCDDCCDCCCDDDCCDCDDCCCCCCCCCDDCCDDDCCCCDDCCCCCCDDCDDCCCCCCCDCDCCCCCCCCDDCCCDDDDDCDDDDCCDCCDDDCCCCCCDCCCDCCCDCCCCDDCDDCDDCCCCDCCCCDCCCDDCCDCCCDDDDDCDDDCDDCCDCDDDCDCCCCCCDCCCCCCCCDDCCDCDCDCDCCCCCCCDCDDDDCDCDCCDDCCCCCCDCCDCDCCCDDCDCDCCCCDDDCCCCCDDDCDCDCDCCCCCCDCDCCCCCDDCCCDDDCDDDCDCCDCDCCDCCDCCCCDCDDDDCCDCCCDDCCCDDCDCCCDCCDDDDDDCCDCCCCDDCCCDDDDDCCCCDDCDCCCCCCCDDDCCCCCDDDCDCCCCCCCCCCCCCDCDCCCDDDCDDCCDDCDDCDCCDCDDCDDDDCDDCCDCDDCCCDDDCDCDCDDCCCCDDDCDCCDCDCDDCDCDCCDCDCCCDDDDCDDDCCDDDCDDCDCDCCCDCCCDCDDCDDCCCDCCCCDCCCDDCDCDCCDDCCCCDCDDCDDDCCCCDDCCCDCDCCCDDCCCCDCCCCCDCCDCCDCDCCDCCDCCCCCDCDDCCDCCDCCCDCCDCCDDDCCDCCDDCCCDCCCDCDCCDCDDDCDDDCCDDCDCDCDDCCDDCDDCCCCCDCCCDCCCDCCDDCCCDDCCCCDCCDCCDCDCDDDCCCCDCDCCDDDDDDCCDDCDCCDCCDCCCCDDCCCCCDCCCCDCCCCDDDCCCCCCDCCDDCDDCDCCDCDCCDDCDCDDCDDDDCCCDCDDDDDDCCCDDDCCCCCDDDCCCCCCDCCCCDCCCDDCCDCDCCCDDCDDDCDCDDCDDCDDDDCCCDCDDCCDDCDCDDDCDCCDDCCDCDDCCCDCDDDCCCDCDDCCCCDCCDCDDDCCDCDCCCCCDCCCDDCCDDDDCCCDCCCCCCDCCCDCDCDCDDDDCDDDCDCCDDCCCCDCCCDCCCCCCDDCCCCDCDDCCCDDDCDDDDCCCCCCDDCCDDDDCCCCCDDDDCCCDCDDCCCCCDCDDDDCCCCCCDCDDDCCCCCCDDDCDCDCCCDDCCCCDDDCCCDCDCCCDCCCCCDDDCCDDDCDCDCCCDDDCDCDCCCCCCDCDCCDCDDDCCCCCCCCDCDCCDDCCDDCCCCCDCDCDDCDCDCDCDCCCCDCDDDDCCCDDCCDCDCCCCCCDDCDDCCDCCCDCDDCCDCCDDCCCDDCDCCCCDDCCDCCDDCCCCDDDCDCCDCCCCCDCDCCCCDCCCCCCCDDCCCDCCDDCDCDCCCCCCCCDCDCDCCCCCDCCCCCCCCCDDCCCCDCDCCDCCCCDDCDCCCDDDCCCCDCCCDCCDDDCCDCCCDDCCCCDCCDCCDCDCCCCCCCCCCCDCCDDDCCCCDCCDCCCDCCCCCDCCCCCCDDCDDCCCDDCCDCCCDCDCDCDDCDDDDCDCCCCCDCDDDCDCCCDCCCDCDDCDDCCCCDDDDCDCCCCCCCCCDDCDCDCCCCCCDDCDDDCDCCCDCDCDDDDDDCCDDDCCDCCDDDCDDCDDCDCDCDDCDCDDDCDDCDCDDDDDCDCCDCCCCDDDCDCCDCDDCDCDDCCDCCDDCCDCDDDCDDDDCCCDDCDDCCDCDDCCCDCCCDCDCCDDCCDCDCDCDDDCCCCCDCCDDDCDCDCCDDDCDCDCDCCDCDCCCDDCDCDCCDCDDDCCCCCDCDCDDCCDCCCCCCDCDCDCCCDDCCCDDDCDDDCCCCDCDCCDDCDCCCCDCDDDCCCDDCCDDCCCDDCDDCCDCCDCDCDDCCDCCCCDDCCDDDDDDCCCCCDDDCCCDCCCDDCCCCCCCDDDDCCCCCCDCCCCCCDCDDCCDDDCDDCCDDCCDCDCCCCCDCCCCCDCCDCDCDDCCCCDCCDCDDDCCCDDCCCDCCDDDDDCDDCCCDDCDDCCCCDCCCDDDDCCCDCCCDCDCCDDCDDCCCDCDDCCCDCDCCCCCDCCDCCDCCDCDCDDCCCDDDCDCDDDCCCCDCCCDCCDDDDDCDDCDCDDCCDCCCCDCCCCDDDCDCDCCCDCDCCDDCDDCCCDCCDCCCDCDDDCDCCCDDCDCDDCCCDDDDDCDCCCDCDCCDDDCCDCDCCDCDCDDCCCDCCDCDDCDDCCCDDDCDDCCCCDCCCCCCCCCCCDDCDCCDCDDDDDCCDCDCDCCDCCCCDDDDDCDCDDDCCCDCDCDCCDDCDDDDDCDDDDDCCCCCCDDCCCDCCDCCCDCCCCDDCDDCCCDDDDCDCCCCDDCDCCDCCDCCCDDCCDCCCDDDCCDDCDCDCCCCDCDCDDCCDDCDDCCDDCCCCCCCDDCCCDDCCDCCCDCCCCCDDDDDCDCCCDCDCDDCDCCDDCCCCCCDCDDCDCDCCCDCDCCDCCCCCCCCDCCDCDCCDDDCDCDDDDDDDCDCCDDDCDCCCCCCDDDCCCDCDCCDCCCCCCCCDDCCCDDCDCCDCCCDCCCCDCDCDDDCDDDCDCCCCCCDCCDCDDDCCDDCCDDCDCCCCCCDDCCCCDDCDCCCCDDCCDCCDDDDCCDCCDCDDCDDDCCCCCCCCCCCDDDCCCDCCDDDDDCDDCCDDDCDDCDDCCCCCCCCDDDDCCDCDCCCDCCDCCCCCDCCCDCCCDCDDDCCDCDDCDDDDDCCCCCDCCCDCDDCCDDCDCCCDCCDCDCDCDDCDDDDCCDCDCCDCDCCCCCDDCDCCCDCCDCDCCDCCCCCDCDCCDDCCDCCCCCDCDCCCCCCCCDCDDDDDDDCCCCCCCDCCDCCDDCCCCCDDDDCCDCDCDDCCCCDDCDCCCCDDCCCDDCDCCCCCDDDDCCDCCDDCCCCDDCCDDCCCDCCCCCCCDCDCCCCDDCDCCCCDCDDCDDCCCDDCDDDDCDDCDDCCDCCCCDDDDCDDCCDDDCDCCDCCCDCCDDDCDCDDCCCCDDDDCCCDDCCCCCDDCCDDCCCDDDCCCCDCDCDDCCCDDDDDDDCCCCDDDCCCCDCCCDDCCCDDCCDDCDCCCCCCDCCCCCCDDDDDDDCDCDCDCCCCCDCCDDDCCDCCCCDDCCCDCCDCCDCCCDCDCDDCDCCDCCCCDDDCDCDCCDCCCCCCCCCCCDDCCCDDDDCDDCDCDCDDCDDCCDCCDCCDCCCCDCCCDCDDCDDCDDDCCDCDCCCCDCDDCDCDDCDDCCCDCDDCCCCCCCCDDDCCDCDCDCDDDDDCDDDCCCDDDDDCCCCDCDCCCDCDDCDCDDDCDDDCCDCCCCDCDDDCCDDDCCDCDCDDCDCDDCDCDDDDCCCDCDDCDCCDDCDDCCCCCCCCDCCCCCDDDDDCCCDCCCCDCDCDCDCDDCCCCCCDCCCDDCCDDDCDCCDCDDDCDDDCDDDDCDDDDDCCCDDCDDDDCCDDCDCCCCDCDCDDCCDDDCDCCDDCDCCDDCCDCCCDCCCDDDDDDDCCDDCCDCCCDDCCDDCDCDCCCDCCCCCDDCCDCCCCCCCCDCCCDCCCCCCCCDCDCCCDCCDCCCCCDCDCCCDDCDDCCCCCCCCCCCCCCDDDCDCDCCDDDCCCDCCDCDDDCDCCDDCCDCCDDDDCCDDDCDDCCCCDCDCDDCCDDCCDCDDCDCCCCCDDCDDCCCCDCCCCCCCCCCCDDCDCCCCDDDDCCCDCDCDCCCCCCCDDDDDCDCDDDCCCDCDCDCCDDCCDDDDCDDDDDDCCCDCDDDCCDCCCCCCDCCCCDDCDDCCCDDDDCDCCCCDDCDCCDCCDCCCCDDCDCDCDDDCDDDCDCDCCCCDCDCDDCCDDCDDCCDDDCCCDCCDDDCCDDCCDCCDCCCCCDDDCDCCDCCCCCDCDCCCCDCCCCDCCDDCCDDCCDDCDCDCCCCCCCCCCDCDCCCCCCCCCCCCCCCDDCCDCDCCCCDCDCCDDCCCCCDDDCCCCCDDDCCCCDCDCCCDCDCCCCDCCCCDCCCDCCDDCCCDCDCDCCCCCCCCDCDCCCCCCCDCCCCCCCCCDDCCDCDCDCCDCDCCDDCDCCCDDDCCCCCCCCDCDCDDDCDCCCDDCCCCCCCDDCDCDCCCCCCDCCCCDCCCDDCCCDDDDDCCCDCCCCCDCCCCCDCDCDDCCCDCCCDCCCDCDCDCDDCDDDDCDCCCCCDCDDDDDCCCDCCCDCDDCCDDCCCDDDDCDCCCCCCCDCDDCDDDDCCDCCDCCCDDCDCCCDDCCDDDDDCCCCCDCCCDDDDCCDDCDDDDCDCCDCDCDDDCDDCDCDDDDDCCCCDCCCCDDDCDCCDCDCCDCDDCCDCCDCDCDDCDCCCCCCCCDDCCCCDCCDCCCCCCDDDCDCDDDDCDCDCCCDDCCDCDCDCCDDCDCCDCCCDDCCCCCDCCDCCCCDCDDDDCDDCDCDDCDDCDDCCDCCDCCCCDDDDDDDCDDCCCDCCDCDDCDCCCDCDDDCCDCDDDCDCDDDCCCDCCDCCDDCDCCDDDDCDCCCCCCCDCCCCCCCDCDCCDDDCCDDCCCCDDCCCCCCCDDDDCCCDCCCDDCCCDDDCDCCCCDCDCCCDCDCCCCDDCDDDCCCCDDCDDCDCDDDCDCCCDCCDDDCDCCDCDDDCDCDCDDCCCCCDCDCDDDCCDCDCCCCCDCCCDCCCDCDDCCCDCCCCCCDDCCDCDCDCDDCDCDDDDDCCDDCCCCDCCCDDCDCDDDDCCCCDDDCCCCDCDDCDDCCDCDCCCCDCDDCDCCDDCCCDDCCCCCCCDDCDDCCCDDDDCDDCCCCCCCDCCCCCDCCCDDCCDDDDCDDDDCCCDCCCCCDCCCDCDDCCCCDCDDCCDDDCCDCCDCCCCCCCDDCDDCDCCCDCDCDDCDCDDDCCDCDCDCDCCDCDDCDCCCDCCCCCDDDDCDCDDCCCCCDDCCCDCCCCCCCCCCCCDDCDCDCDDCDCCCCCCDCDCCCDCCCCDCCDDDDCCCDDCDCDCDCCDDDCCDCDDDDCCDCCCCCCCDCCDCCCCCDDCCDCDCCDCCCCCDCDCDCDCDCDCDDDDCCCCDCCDCCDDCCCDCCCCDDCCDCDCDDCDCDCCCCCCDDDCDCDCCDCCCCDDDDCDDDCCDCDCCCDDCDDCCDDCCCCCCCDDCCCCCDCDDDDCCCCDDCDDCCDCCDCCDCDDDCDDCDCDCCCDDCDCDCCCCDCDCDDCDDCDCDDCCDDDCCCCCDCDDCDDCCCCDCCCCDCCDCCDDCCDCCCDCCCCDCCCCDCCDCCDCCCCDCDDDCDCCCCCDDDCCDCDCDDCCDCCDDDDDCCDCCCDCDCDCCDCCCCDCDCCDCCCDDCCCCCCDCCDDCDCDDCDDCCDCCDCDDDCCDDDCCDCDCCCCCCDCCDCCCCDCCDCCDDCCCDCDDDCDCDCCCDDCCDDCCDCDCDDDDCCCDCDCDDCCCDDCCCDCDCDCCCCCDCCDCCCDCCDDCDCCCDDCDCCDCDCCCCCDDCCDCCCCCCCCCCCDDCDDDCCDDDCDDDDCDCCCCDCDCCCCCDDCDDCDDCCCDCDDCDDCDCCCDDCCCCDCCDCCDCDCCCCCCDCCCCDDCDCDCCCDDDDDCCCDCCCCCDCCCCCDDDCDDCCCDDCCCCCCDCCCDCDDCDDDDCDCCCCCDCDDDDDCCCDCCCCCDDCDDDCCCDDDDCDCCCCCCCDCDDCDCDDCCDCCDDCCDDCDCCCDDDCDDDDDDCCDDDCCDDCDDDCDDCDDDCCDCDDCDCDDCCDDCDCDDCDDCDCCDCCCCDDDCDCCCCDDCDCDDCCDCCDCDCDDCDDCCCCCDDCCCCCCCCDDDCCCCCCDCDDDDDCDDDCCCDDDCDCDCCCDDCCCDCDDCDCDDDCDDDCCDCCCDDCDDCCCDDDCCDCDCCDCDCCCDCCDDDDCDCDCCCCCCCCDDDCCDCDDDCDDDCDCDDCCCCDDDDDCDCCDCDCCCDCDDCDCDDDCDDDCCDCCCDDDDDDCCDDDCCDCDCCDCCCDDDDCDDDDCDCDCCCCDCCDDDDDDCCCCCDCDCCCCCDDDDDDCCDCCCCDCDCDCDCDCCDCCDCDCCCCDCDDCDCDCCDCDDDCDDDCDDDDCDDDDDCCCDDCDDDDCCDDCDDCCCDDDCCCCDDDDCDDCDDDDCCDCDDDCCCCCCCDDDCDCDCCDDCCDCCCDDCDDDCDCDCCCDCCCCCDDCCDCDCCCCCCDCCCDCCCCCCDCDCDDCCDCCDCCCCCDCDCCCDDCDDCCCCCCDCCCCCCCDDDCDCDCCCDDDDDCDDCDCCCCCCDDCCCCDDCDCCCCCDCCDDCCCCCCCDDCDCDDDCCCCCCCDCCCCDCDDCCCCCDDCCDCCCCCCCDCCDDCCCCDCDDDCDCDCCCDDCCDCDDDCCDDCDCDCDCCCCCDCDDCDCDCDCCCCDDDDCDCDCCCCCCCCDCDDCDDCCCDCCCCCDDDCCDDCCDDCCCCCDCDCDCCDCDCCCDCCCCCCDDCDCCCCCCCDCDCCCDCCDCCCDCCDCCCDCDDCCDDCDDCCCDDDDCCCCDDDDCDCCCCCDCCCDDCDDCCCCDDDDCCDCDDDCCCCDDCDDDCCDDCCCCCCCDCDCCCCDDCDCCDCDCDDCDCCCCCDDCDDDCDDCDDCCCCCCCCDDDCDDDCDDDCDDDCCCDDCDDCCDDCCCCDCDCDCDCCCCCCDCCCCDCDDCCCCCCDDDDCCDDCCCDCCCCCCDDCCDCCDDCDCCDCDCDCDCCDDCCDDDCCDCCCCDCDDDCCCCCCCDDDCDCCCDDCCCDCCCDDCCCCCCCDDDCDCDDCCDCDCCDDDCCCCCCDDDDDDDCCCDCDCDCDDCDDCCCCCDDCCCDDDCDCCDDCDCDDCDDCCCDDCCCCCCDDDDDCCCDDDCDCDCCCCCCCCCCCDCCCCDCCDDDCCCDCCCCCCDDCCCCDDCCDDCDCCDCCDCCCDCDDCDCDCDDCCDDDCCDDCDCCDCCDCCDCDCCCCDDDCCCCCCCCCDDCCCDDCDCDCCDCDCCDCCDCDCCDCDCCCCCCDDCCCCDDDCDCCCDCCDCCDCDCDCCCCCCDDDCDDDDDDDCDDDCDCDDDCCDCCCCCCDCDCCDCCDCDDCCCCCCCCDDDDDCCCDCCCDCCCCCCDDCCCDDDDDCDDCCCCCCCDDCCDCCDDCCCCCDDCCCDCDCCDCDCDDCDCDCDDCCCDCDCDDCDCCCCCCCCDCCDDDDDDDDCDDCDDCCCCCDCDCDDCCCCCDDDCCDCDCDCCCDDDDDDDDCDCDCDCCDCCCCDDCDCDCDDCDCDCCCCCDCCCCCCCCCDDCDDDCCDDCDCDCCDCCCCDDCDCCDCDDCCDCCCDDCCCDDDDCDCDDCDDCCDCDCDCCCCDCCCCCDCCCDDCDCCDDCCCDCCCCDDDCDCDDDCCCDCDCCCCDCDCCDDDCCDDDCCCDDCCCCCCDCDCCCDCDDCCDDCDCDDDCCDCDDDCDCCDDCDCDCCDCDCCDCDDDDCCCCCDCCCCCCCDDDDDCCCDCCCCDCDCDCCCCDCCCCDCDCCCDDCDDDDCDCCDCDDDCDDDCDDDDCDDCCDCCCCDCDDCDCCDDCDCCCCCDDCDCDDDDDCDDCCCDDCCCDDDDCCCDCCCCDCDDCDCCDCCCDCCCDDCDDDCDCDCCCDCCCCCCDCCCCDCCCDCDCDCCDCCCCCCDCDCCDDCDCCDCCCCCDCDCCCDDCDDCCCCCCDCCCCCCCCDDCDCDCCCDDDDDCCDCDCDCCCDDCCCCCCCCDCDCDDCDDCCCDCCCDDDCCCCCDDCDCDDCCCCDCDCDDDCDCCCCCCDCCCDCDCCDCDCCDCCDCCDCCCCDDDDDCDCCCDCDCCCDDCDCDCCCCDCDCDDCDDCDCDDCCDDDCCCCCDCDDCDDCCCCDCDCDDDCDCCDDCCCCCCDCDCCDCCCCDCCCCCDCCCCDDDDDCDCCCDCDDDCCDCCCDCCCCCCDDDCDCCDCCDDCDCDCCCCDCCDCDCCDCCDDDCCCCCCDDCDDCDCDDCDDCCDCCDCDDDCCCDDCCDCDCCCDCCDCDDCCCCDDCDCCCDCCCDCDDDCDDDCDCDCCCDDCCDCDCCDDDCCCCCCDDDCDCDDCCCDCDCDCCCCCDCCDCCDCCCCDCCCCCDDDCCCDCDCCDCCDDDCCCCCCCCCCCCDDDCDDCCCDDCCCDDDCDCCCCDCDCCCCCDDCDCCCCDCCDDCCCCDDDDCCDCCCDCDDCDCDDCDCCDCDDDCCCCDDCCCCCDDCCDDCCCDDDDCDCDCDCDDCDCDDDCDCDCCCDDDDDCCCCCCDCDCCCDDCCDCCDCCCCCCDCCCCDCDCDDDDDCCDDCDCCCCCDCCDDCCCDCCCCDCDCCDCCDCCDCCCDDDCDDCDCCCCDCCCDDCDCDCCDCCCDCCCCCCCCDCCCDCDDCCDCDCDDCDCDDCCCCCCCCCCDDCDCCDDCDDDDDDDDCCCDCDDCCCDCDDCCCCCCDCDCDDCDDDCCCDCDDCCCDCCCCCDCCCCCDCCCCCDCDDCCDDDDCDCCCCCDCCCCDCCDDCDCCCDCDCDDDDCDDDCCDCDCDCDCCDCDDCDCCCDCCCCCCDDCDDCDCCCCDDDCCCCDCDCDDDDCDDDCCCDCDCCDCCDDCCCDDCDCDDCDCCDDCDCDDCDDCCCCCCDCCDCDDCCCCDCCDDDDCDDDCCDCCCDDCDCCCDCDCDDCCCCDDDDDCCDDCCCDDCDCCCCCDCDDCDCCDDCDDDDCDCCCDDDCCDCDCDDCCDDCCCCDCCCDCDDCDDDDCDCDCDDCCDCDDCDCDDCDDCDDDDCCCCCDCCCDCCDCDCCDDCDCCCDCDDDDCDDDCDCCDCCCCCCDCDCCCDDDDCCDDCDDCDDCDCCCDDDDDDDDDCDCDCCCDCDDDDCDDCDCDCCCCCCDDDDDCDDCDDCCCCCDDDCDCDCDDDDCCDCDCDCCDDCDDDDCDCCCCDDCCCCDCDCCCCCDCDDCCCDCDCDDDDCCDDCDDCCDDCDCDDCCCCCCCDDCCCCCDDCDCCDDDDDDCDCDDDCDCCDCCDDCDDDCCDCCCDCDDDCCCDDCCDDCDCDDDDDCDDDCCDCDCCCDDDDDDCCDCDDDDDCCDDCDDDDCCDCDCCDCDDDDDDCCCDDDDCDDCCDDCCCDCCDCDCDCCCCDDCDCDCCCCCCCCDDDCCDCDCCCCCDDDCCCCCCCDDDCCCDDCCCCDDCDDDCCCCCDCCCDCDCDCCCCDCCDDCDCDCCDCCDCDCCCCDDDCCCDDCCCCDCCCDDDCDCCDCCDCDCDCCDDCCCCDDDCDDDDCDDDDCDDDCCCDCCDCCDCCCCDDDDCDCCCCCCDCCDCDDDCDDDCCDCDCDDCCCCCCCDCCCDDDCCCDDCDDDDDCDDDDDCDCCDDDDCDCCDCDCCCCDCDCCDCDCDDCCDCCDDDDDCCDCCDDCCCDCCDCCCCDCDCCDCCDDDCCCCCCCCCDDCDCDCCDDCCCCCDCDDDCCDDDCCDCCCCCDCCCCDDCCCCDDCDCCDDCCCCCDDCCDDDCDCDDCCDDCCDCDCDDDDCCCDCDDCCCDCDDCCCDCDCCCCCCDDCCDCCCDCCDDCCCCCDDDDCCCCDCCDCCDDDCDCCCCCCCCCCDDDCDDCCCDDDCDDDDCDCCCCDCDCCCCCDDCDDCDDDCCDCCCCCDDDDDCCCDCCCCDCCCCCDDCCCDDDCDCDDDCDCCCCDDCDDCDDDCCCCDDDCCCDCDCCDCDCDDCCDDCDDDCCDCDCDDDCCCCCDCCCDDCDDDDCDDDCCCDCCCDDCCCCCDCCCCDDDDDCDDDCCCCCDDDCDCCDCDCCCCCDDCCCDCCCCCCDCDDCDDCCDDDCCCCDCDDDDCCCCDCCCDDCCDDDDDDDCDDCDCCCCCCDCDCDDCCDCCDCDCCDCCDDCCCCDCDDDDDCDCDCDCCDCCCCDDCDCCCCCCDCDCCCCCDDCCCCCCCCDCCDCCCCCDCDCDCCDCCCDCDCDCCDCDDCDCCCCDDCCDDDDDCCCCDCDDCCDCDCCCCCCCDCCCCDCCCDDDDCCDDCCCDCCDCDDDCDCCDDCCCDCDCCCDDCDCCDDCCCDDDCDCDDCCCCCCDCCCCCDCDDDCDDCDCCDDCCDCDCDCCCCDDCDDDCDCCCCCDCDDDDDCDCDDCCCCCDDCCDDCDCCCCCCDDCCDCCDCDCDDDDDCCCCCDCDCCCDCCCCDCCDDDDCCCDDCDCDCDCCDDDCCDDCDCDCDDCCCDCCCDCCCCCCCCDDCDDCDCCDDCCCCDCDCDCDDDCDCDDCDCCCCDCCDCCDDDCCDDCCCDDCCDCDCDDCDCDCCCCCCDCDCDCCCCDDDCCDDDCCDDDCCDCCDCCDDCDDCCDDCCCCCCCCDCDCCCDCDDDDCCCCDDCDDCDDCCDCCDCDCCDCCCDDDCCCCCCCDCDDDCCCDDCCDDDCDCCCDDCCCDDCCDDCCCDCDCDCDCDCDDCCDDDCCCDCCCCCCCDDDDDDDCCCDCDCDCDDDDDCCCDCDDCCDDCCDCCCCCCDCCCCCCDDCDCCCCDCCDCDDCDCCCDCDDCCCDCCDCCDCCCDDCCCCCCDCDDDDCDDCDCCDCDCDDDCDDCCCDCCDDDDCDCDCDDCDDDDDCCCDCCCCCCCCDCCCDDDCCDDCDCCDDDCDDDCCDDDCCCCCDDCDDCCDDCCCDDCDCCDDCCDDCCDDDDDDCDDCCCCDCCDCCDCCDCCDCDDDCDCCCDDDDDCDDDCCCDCDCDCDDCDCCCDDDDCDCCDCCCDDCDDDCDDDCCCCDCCDCCDCDDDDCDDCCDDDCDDCDDDDDCDDDCCDCDCDCDDCDDDCCDCDCDDCCCCDDDDCCCDCCCCDDDDDDCDDDCCCDCDCCDCDDCCCCDDDCDCCCCDDDDCDCCDCDCCDCCCCDDCCDDCCCDCCDCCCCCCDDDCCDCCDCCCDCCDCCDCCDCCDDDDDCCDCDCDCCCDDCDDCCCDDDDDDDCDCDDCDDCDDDDDCCCCCCDDDDCCCCDCCDCDCDDCCDDCDDDCCCCCDDDCDDCCDCCCCDCDCDDCCDDCDDCCDCCDDDCCCDCDCDDDCDDCCCDDCCDCCCCCDDDDDDDDCCCCDCCDCCCCDCCDDCDCCDCDCDCDCCDDDDCCCCCDDCDCCDDDCCCDCCCDDDDCDDDCCDCDDCDDDCCCCCCCCDCCCCCDCCDCDCCDDCCDCCDCCCCCDDCDCDDCDCDCCCCCCCDCDDDCCDCDDDDCCDCCCCCCCCDDCCDCDCCCDDCCCCDDCDDDCCCDDDDCDCCDCCDDDDDCDCCCDDDDCCDCDDDCCDCDCDDCCDCDDDDCDCCDDCDDDCCCCDCDDCDCCCCCCCCDCCDCCCCCDDDDDDCDDDCCCDDDDCDDDCDCDCDCCDCCCCDDCCCDCDDCCCDDCCCDDDCCCCCCCCDDCDDDCCDCCDCDCCCCCCCCDCDCCDCDDCDDCCCDDCCDCDDDCDCDDCCDCCDCDCDCCCCDDCCCCDCCCDDDDCCDDCCCDCCDCCCDCDCDDCCCCDCCCCCDCDDCCDDDCCDDDCDCDDCCCCCCDCDCCCDCDDDCDDCDCDDDCCDCDDDCDCCDDCDDDCDCCDCCDCDCDDCCDCCCDCCDDCCCDDCDDDCDCCDDDDCCCDCDDCDCCCDDDDDDCDCCDDDDDCCDDCDDDDCCDDDCCDCDDDDDDDCCDDDDCDDCDDCCCCDCDDDCCDCCCCCDDDCCCDDCDDDCDCDDDDDCDCDCDDCDCCCDDDDDCCDDCDDDDDCCDDCDDDDCCDDDCCDCDDCDDDDCCDDCDCDDCDCDCCCDCCDCDCDCCCCDDCCCCCCCDCCCCDDDCCDDDCDCCCDCCCCCCCDCDDDCCCDCCCCCDDCCDCCCCCCDCCDCCDCDCCCDCCCCDCDCDCCDCCDCDCCCDDDDCCCDDCCCDCCCCDCCCCCCDCCDCCCDCCDDDCCCDDDDDDCDCDDDDCDDDCCCDCCDCCDCCCCDDDDCDCCDCCCDDDCCDDDCDDDCCDCDCDDCCCCCCCDCCDDDDCCCDDDCCDCDCDCDDCCDCCDCDDCDCCDCDCCCDCDCCCCDDDDDCDDDCDCCDCCDCDDCDDCCCDDCCDCCDDDCDDCCCDDDCDCDCCCCDCCCCCCDCCCCDCCDDDCCCDCDCCCCDDCDDCDDCCDDCDCCDCCDCCCDCDCCCCDCDDCCDDDCDDDCDCCDCCCCCDCDDCCCDDDCCDCCCCDCDDCCCDCCDCCCCDCDCCDCCDCDCDCDDCCCCCCCDCCCCDDDCDCDDDCCCCDDCDCDDCCCCCDCDCCDCDDDDCDDCDDCCDCCDCDDDDCCDCDCCDCCDCDDCCCCDCCDDDDCDCDCDDCDCDDDDCCCDCDCDDCCCCDDDDDCCDDCDCDCCDCCCCCDCDCDDCCDDDDCDDCDCCCDDCCDDCDCDDCCCDCCCCCCCCDDCDCDDCDCCDDCCDCCCCDCDCCCDDCCCCCCCCCCDCCCDCCCCCCCDCDCCCCDDCCCCCDCCDCCCDCCDCDCCCDDDCCCCCCCDDDCDCCCDCCDCDDDDDCCCDCDCDDDDCDCDDCDCDCCDDDDDCCDCCDDDDCDDDDDDDDDCDCDDDDDCDDCCDCDCDDCDDDDDDDDCDDDCDDDDDDDDDDDCCDDDDDCCDDDDDDCDDDDCDDDDDDCDCDDCCCDCDDCDDDDDDDCDDCCCDDDDDDCDCCDCDCDDCCDCDDDCDDDCDDDCCDDDDCCDCDDDDDDDDDCDDCDDDDDDCDCDDDDDDCCDDCCDDDDCDCDCCCCDDDDDDDDDDCDCCCDDCDDDDDDDCCCDDDDDCCDCDDDDDDDDCDDDDCCDDDCDDCDDCDDDDDDDCDDCDDDCDDDCDCDDDDDDDCCDDDCDCDDDCDDDCCDCDCDDCCDCCCDDDDDDDDCDDDDDDCDCDCDDDCCDCDCDCCDCCDCDDCDCDCDDDDDCDDDDCDDDDDCDDDDDDDDDDDDDDDCDCDDDDCDDDDCDDDDCCDDDDDDDDDDCDDCDCDCDDDDCDDDDDCDDCDCDCCCDCDDCDCDDCDDDCCCDDDCCDDDDCCDCDCDDCDDDDCCCDDDCDDDDDDCCCCDCDCCCDDCDDDCCDCDDCCCDCCDCDDCDDDCDDCDCCCDCCDCDDCCDCCCCDDDDDCDDDDCDDDDDCCCDCCDCDCCCCDCCDDDCCDDCDCDDDDDDDDCCCCCDDDDDCDDDCCCCDCCDCDCCCDDCDCCDCDDCDDDDDCCDDDDDDDCDDDCDDDCCDDCCDDCCDDCCCDDDDCDCDDCCCDDCDCDDCDDCCDDDDDCCDDDCDDDCDDDCCCCCDCDDCCCCDDCCCCDDCDDDCCCCDDCDDDCDDDCCDDDCCCDCDCDCDDDDCCDCCCDCDDCCCDDDCCDDDDCDDDDDCCDDCDCDCDDCDDCCCCDDDDDDDDCDDDDDDDDCCDDCCDCCDCCCCDDCDCDCCDCCCDDDDCDDDDDDDCCDCDCCDCCCCCCCDCCDDDDDCCDDDCDDDDDDDDDDCCCCDDDCDDCDDCDCDCDCDDCCCDDDDDDDCDDDDCDDCDDDDDCCCCCCDDDDDCDCDDCDCDCDDCCDDDCDDCDCCCDDDCDDDCDDCCDDCDCDDCCDDCDDCCDCCDDDCDCDCDCDDDCDDCCDDCDDDCCDDCDDDDDCCCCCCDDDDDCDCDDCDCDCDDCCDDDCDDCDCCCCDDCDDDCDDCCDDCDCDDCCDDCDDCCDCCDDDCDCDCDCDDDCDDCCCDDCCDCCCDDDCDDDDDDCCCCDDCDCCCCDCCDDCDCCDCCCDCDCDDDDDCCCDCCDCDCCDDCCCCDCDCDDDDCDDDCCDCDDCDDDDDDCCCCCDCCCCDDCCDCDCCDDCCDCCDCCCCCDDDDCDCCDDDDCCCCDCDCDDDDCCCDDDDDCCDDCDCCCCDDCCDCDCDCDDCCCDDCCDDDCCDDDDCCDDCDCCDDDDDDDCDCDDDDCCDCDDDCDDCCCDDCCDCDDDDDDDCDDCDDDCCCDDCDCDDCDDCDDCDDDDCDDCDDCDCCDCDDCCCDDCCCDCDDCDDCCDDDCCDDCDDCCDCDDDDCDDDDCCCDDDDDCCDCDCCCDDDDCCDDDDDCDDCDCCCDDDDDDDDDCCDDCCCDCDDDDCDCCDDDCCCCDDDDDDCCDCCDDCCCCDDDDCCCDCDCDDDDDCCDDCCDDCCCDCCDCCCCDDCDCCDCDCCCDDDCCDCCCDDDCDDDDCCDCCDDCCDDDDCDDCCCCDCDDDCCCCDDDCDCCDDCDDDCDCCDCDDDDCCCCCCCCDDCDDDCDDCDDCCDCCCDCCCCCCCCDCCCDDCCCCCCDCCDDDCCDDDDDDDCCCCCDDCCDCCDDCDCCDCDCCDDCCDDCCDDDDDDCCDCCCCDDCCDCCCDDCDCCDDCDCCDDCDCCDDCDCCCDDDCDDDCDCDCDCDCCCDDDCCCCCDDDDCCCCDCDCCCCDDCDDDCDCCDCDDCDDDDDDDDDCCDDDDDDDDDDDDDCDCDDDDDCCDCDCDCDDDDDDDCCDDDDDDDDDCDCDDDDDDCDCDDDDDDDDDDDDDCCDDDDDDDDCDDDCDCDCDDDDDDDDDCDDDDDDCDDDDDDDCDDDDDDCDCCDCCDDDDDDDDDDDDDDDDDDDDDCCDCDCDDDDDDDDDDDDDDDDDDCDCDCCDDDDDCDCDCDDDDDDDCDDDDDDDDCCCDDDDDDCDDCCDDDDCDCDCDCDCDCCDCDDCDDDDCDCDDDCDDDCDDDDCDDDDCDDDDDDDDDDDDDDDDDDDCDDDDCDDDDCDDDDCDDDDCCDDCDDDDDDCDDDDDDDDDDDDDDDDDDDDCCDDCCDDDCCDDDDCCDDDCDDDDCDDDDDCDDCDDCDDDDDDDDDCCDDDDDDDDDDDDDCCDDDDDDDDDDDDDCDDDDDDDDCDDDDDDDDDDDDDCDCDDCDDCDDDDDDCDDDDDCDDDDDDDDDDDDCDCCDDCDCDDDDDCDDDDDDCCDDCDDDDDDDDCCDDDDCDDCDCDDCDCDDDDCCDCCCDCDDCDCDDDDCCDDDDDDDCDDDDCDDCCDCDDDCDDCDDDDDDDDDDCCDCCDDCDDDDCDDCDCDDDDCDCDDCDDDDCCDDDDDDDDDDCDCDDDDDDDDDDCDDDDDDDCDDDDDDCCDDDDDCCDDDCDCDCDDDDDCCDDDCDDDDCDDDDDCDDCDDDDDCDDDDDCCCDCCDDDDDCDDDDDCCCDDDDDDDDDDDCDCDDCDCCDCDDCDDDDCCDCDDDCDDDDDDDCCCDCDDCDCCDDDCCCDCDDDDDDDDDDCCDDDDCDDDDDDCDCCCDDCCDDDCDDCDCCDDCCDCCDCCCCCDDDDCDDDDDDDCCDCDCDCDDDDCDDDDDDDCDDDDDCDCCDDCCDCDCDCDDCCCDDDCDDDDCDDDDDCDDCDCCDDDDDDDCDDDDDDDCDDDDDCDDCDDDDDCDCDDDDDDDDDDCDDDCCCDDDDDDDCDDDDDDCDDDCDDDCCDCDCDCCDCCDCDDCDCDCDDDDDCDDDDCDDDDDCDDDDDDDDDDDDDDDCDCDDDDCDDDDCDDDDCCDDDDDDDDDDCDDCDCDCDDDCDDDCDDDCCDCDCDCCDCCDCDDCDCDCDDDDDCDDDDCDDDDDCDDDDDDDDDDDDDDDCDCDDDDCDDDDCDDDDCCDDDDDDDDDDCDDCDCDCDDDDCDDDDDCDDCDCDCDCDDDDCDCDDCDDDCDDDDDCCDDDDCCDCDDDDCDDDDCCCDDDCDDDDDDCCCCDCDCCCDDCDDDCCDCDDDCCDCCDCDDCDDDCDDCDCCCDCCDCDDCCDCCCCDDDDDCDDDDCDDDDDCDCDCCDCDCCCCDCCDDDCCDDCDCDDDDDDDDCDDCCDDDDDCDDDCDCCDDCDDDCCCDDCDDDDCDDCDDDDDCCDDDDDDDCDDDCDDDCCDDCCDDCCDDCCCDDDDDCCDDDCDDDCCDDCDCCDCCDDDDDCDCDCDDDDDDDDDCDCDCDCDCDDCDCDCDDDDCDCCDCCCDDCDDDCDDDCCCCDDCDCCDDDDDDCDDDDDDDCDDCDDDDDCDDCCCDCDDDCDDCDDDCCDCDCDDCCCCDDDDCCCDCCCCDDDDDDDDDDCCCDCDCCDDDDCCCDDDDCDCCCCDDDDDDDCDDDCCDCCCDDDCDDDCCCDCCDDDCCCCDDDCCDCCDCCDCDCDCCDCCDCCDDDDDCCDCDCDCCCDDDDCDCCCDCCDCDDCDDCCCDCCCDDDDCDCDDCDCDCCDDDDDCCDCCDDDDCDDCDDDDDDCDCDDDCDCDDCCDCDCDDCDDDDDDDDCDDDCDDDDDDDDDDDCCCDDDCCCDCCCDDDDCDDDCCDDDDCDDDCCCCCDCCDCDDDCDDDDDDDDCDCDCCCCDCCCCDCDCCCDDDCCDDCCDCCCDDDDDCDDDCDDDDDCDDDDDCDDDDCDCDCDDCDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDCDDDDDDDDDDDDDDCDDDDDDDDDDDDDDDCDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDCDDDDDDDDDDDDDDDDDDDDDDCDDCCDDDDDDDCDDDDDCCCDDDDDDDDDDDDCDDDDCDDDDDCCDDDDDDDDCCDDDDDDDDDDCDDDDDDDDDDDDDDDCCCDDDDCDDDDDDDDDDDDDDDDCDCDDDDCDDDDDDCDDDDDDDDCDDDDDDDDDDDCDDDDDDDDDDDDDDDCDDDDDDCDDDDCDDDDDDDDDCDDDDDDDDCDDCDDDDDDDCCDDDCDDDDDDDDDCDDDDDDDDDDDDDDDDDDDCDDCDDDDDCDDDDDCDDCDDDCDDDDDDCDCDDDDDDDDDDDCDDDDDCDCDDDDDDDDDDCDDDDDDCDDDDDCDDCDDDDDDDDDCDDDDDDDDDDCDDDDDDDCDDDDDDDCDDDDDDDDDCDDDDCDDDDDDCDDDDDDDCCDDDDDDDDDDDDDDDDDDDDDDDDCDCDDDCCDDDDDCDDDDDDDDDDDDDCCCDDDDDDDDDDDDDDDDDDDDDCDDDDDDDDDDDCCDCDDCDDDDDDDDDCDDDDDDDDCDCDDDDDDDDCDDDDDCCDDDDDDDDDDDDCDDDDDDDCDDDDDDDDDDDDDCDDDDDDCDCDDCDDDDCDDDDDCDDDDDDDDCDDDDDDCDDCDDDDDDDDDCDDDDDCCDCDDDDCDDDDDDDDDDDDDDDDDCCDDDCDDDDDDCDDDCDDCDDDDCDCDDDDDDDDDCDDCDDCCDCDDCDDDCDDDDCDDDDDCDDDDDDDDDDCDCDCDDCDCCCCDDDDDDDCDDCDDDDDDDDDDDDDCDDDDDDCDDDCDCDDDDDDDDCCDDDDDDDDDDCDDDDDCDDDDDDDDDDDDDDDDCDDDCCDDCDDDDCCDDDDDCCDDDCDDDDCDDDDDCDDCDDCDDDDDDDDDCCDDDDDDDDDDDDDCCDDDDDDDDDDDDDCDDDDDDDDCDDDDDDDDDDDDDCDDDDCDDCDDDDDDCDDDDDDDDDDCDDDDDCDDCDDCDDDDDDDDDCCDDDDDDDDDDDDDCCDDDDDDDDDDDDDCDDDDDDDDCDDDDDDDDDDDDDCDDDDCDDCDDDDDDCDDDDDDDDDDDDDDDDDDCDCCDDDDCDDDDDCDDDDDDDCDDCDDDDDDDDCCDDDDCDDCDDDDCDCDDDDCDDCCCDDDDCDCDDDDCCDDDDDDDCDDDDCDDCCDCDDDCDDDDDDDDDDDDDCCDDCDDCDDDDCDDDDCDDDDCDCDDCDDDDCCDDDDDDDDDDCDCDDDDDDDDDDCDDDDDDDCDDDDDDCCDDDDDCCDDDCDCDCDDDDDCCDDDCDDDDCDDDDDCDDCDDDDDCDDDDDCCCDDCDDDDDDDDDDDDCCDDDDDDDDDDDDDDDDDDDDDDDDDDDCDDCCDDDDDDDDDDDDDCDDDCDDDDDDDCDCCDCDCDDCCDCDDDCDDDCDDDDCDDDDCCDCDDDDDDDDDDDDCDDDDDDCDCDDDDDDCCDDCCDDDDCDDDDDDCDDDDDDDDDDDDDCCDDCDDDDDDDCDCDDDDDCDDCDDDDDDDDCDDDDCDDDDCDDCDDCDDDDDDDCDDCDDDDDDDDDCDDDDDDDCCDDDDDCDDDCDDDCCDCDCDDCCDCCDDDCCDCDDCDDDDDDDDDCCCDDDDDDDDDDDDCDCDDCDDCCDCDCDCDDDDDDDCCCDDDDDDDDCDCDDDDDDCDCCDDDDDCDDDDDDCCDCDDCDDDCCDDCDCDCDDDDDDDDDCCDDCDDCCCCCDCDDCDDCDDCDDDDCDDDDCDDCCCDCDDCDCDDDDDCDCDCCDCDDDDCDDCCDCDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDCDDDDDDDDDDDDDDDDDDDDDDDDDDCDDCDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDCDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDCDDDDDDDDDCDCDDDDDDDDDDDDDDDDDDDDDCDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDCDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDCDDDCDDDDDDDDDDDDDDDDDDDDDDDCDDDDCDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDCCDDCDDDDDDDDDDDDDCDDDCDDDDDDDDDDDCDDDCDDDDDDDDDDDDDDDDDDDDDDDDDDCCDDDDDCDDCDCCDDDDDDDDDDDDDDDDCDDDDCDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDCDDDDDCDDDDDDDDDDDDDDDDDDDDCDDDDDDDDDDDDCDDDDDDDDDDCDDDDDCDDDDDDDDDDDDDDDCDDDDDDDCDDDDDDDDDDDDDDDDDDDDDCDDDDDDDDDDDDDDDCDDDDDDDDDDDDDDDDDDDDDDDDDDDDCDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDCDDDDDDDDDDDDDDCDDDDCDDDDDCDDDDDDDDDDDDDDDDCDDDDDDDDDDDDDDDCCDDDCDDDDDDDDDCDDDDDDDDDDDDDDDDDDDCDDCDDDDDCDDDDDCDDDDDDDDDDDDDCDCDDDDDDDDDDDCDDDDDCDCDDDDDDDDDDCDDDDDDCDCDDDDDDDDDCDDDDDDDDDDDDDDDDDDDCDDCDDDDDCDDDDDCDDDDDDDDDDDDDCDCDDDDDDDDDDDCDDDDDCDCDDDDDDDDDDCDDDDDDCDDDDDCDDCDDDDDDDDDDDDDDDDDDDDCDDDDDDDDDDDDDDDCDDDDDDDDDDDDDDDDDDDDDCDDDDDDDCCDDDDDDDDDDDDDDDDDDDDDDDDCDDDDDCCDDDDDCDDDDDDDDDDDDDDCCDDDDDDDDDDDDDDDDDDDDDCDDDDDDDDDDDCDDCDDDDDDDDDDDDCDDDDDDDDCDCDDDDDDDDCDDDDDCCDDDDDDDDDDDDDDDDDDDDCDDDDDDDDDDDDDCDDDDDDDDCDDDDCDDDDCDCDDDDDDDDDDCDDDDDDCDDDDDDDCDDDDDDCDCDDDCDDDDDDDDDDDDDDDDDDDDDCCDCDCDDDDDDDDDDDDDDDDDDDDCDCCDDDDDCDCDCDDDDDDDDDDDDDDDDCCDDDDDDDDDDCDDDDDCDCDCDCDDDCDDCDDDDDDDCDCDDDDDDDDDDDDCDDDDCDDDDDDDDDDDDDDDDDDDCDDDDCDDDDCDDDDCDDDDCCDDCDDDDDDCDDDDDDDDDDDDDDDDDDDDCDDDDDDDDDDDDDDDDCDDDCDDDDDCDDDDDCDDCCCDCDCDDCDDDDDDDDDDDDDCDDDDDDDDDCDDDDDDCDDDDDCDDDDDDDCDDCDDDCDDDDDDDDDDDDDDDCDDDDCDDDDDDDDDDDDDDDDDDDDDDCDDDCDDDDDDDDDDDDDDDCCDDDCDDDDCCCDDDDCDDDCDDDDDCCDCDDDDDCDDCDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDCDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDCDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDCDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDCDDDDDDCDDCDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDCCDDDDDDDCDDDDDDCCDDDDDDDDDDDDCDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDCDCDDDDCDDDDDDDDDDDDDDDDDDCDDDDDDDDDDDDDDDDDDDDCDDDDDDDDDDDDDDDDDDDDDDDDDDDCDDDDDDDDDDDCDDDDDDDDDDDDDDDDDDCDDDDDDCDDDDDDDDDCDDDDDDDDDDDDDCCDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDCDDDDDDDDDDDDDDDDDDDDCDDDDDDDDDDDDDDDDCDDDDDDDDDDDDDDDCDDDDDDDDDDDDDDDDDDDDCDDDDDDDDCDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDEDDDDDDDDDDDDDDDDDEDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDEDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDEDDDDEDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDEDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDEDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDEDDDDDDDDDDDDDEDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDEDDDDDDDDDDDEDDDDDDDDDDDDEDDDDDEDDDDEDDDDDDDDDDEDDDEDDEDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDEEDDDEDDDDDDEDDDEDDDDDDDDDDDDDDDDDDDDDEDDDEDDDDDEDDDDDDDDDDDDDDDDEDDDEDEDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDEDDDDDDDEDDEDDDDDDDDEDDDDDDDEDDEDDDDDDDDDDDDEEDDDDDDEDEDDDDDDDDDDDDDDDDDDDDDDDEDDDDDDDDEDDDDDDDDDDDDDDDDDEDDDDDDDDDEDDDDDDDEDDDDDDDDDEEEDDDDDDDDDDDDDDDDDDDEDDEDDDDDDDDDDDDDDDDDEDEDDDDDDDDDDDDDDDDDDDDDDDDDDEDDDDDDDDDDDDDEDDDDDDDDDDDDDDDDDDDDDEDDDDDDDDDDDDDDDDDDDDDDEDDDDDDDDDDDDDDEDDDDDDDDDDDDDDDDDDDDDDDDDDEEDDDDDDEDDDDDDDDDDEDDDDDEDDDDDDDDDDEDDDDDDDEDDDDEDDDDDDDDDDDDDDDDDDDDDDDEDDDDDDEDEDDDDDDDDDDDDEDDDDDDDDDEDDDDDEDDDDEDDEDDDDEDDDDDDDDDDDDDDDEDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDEDDDDDDDDDDDDDDDDDDDDEDDDDDDDDDDDDDDDEDDEDDDDDDDDDDDDDDDDDDDDDDDEEDDDDDDDDDDEDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDEDDDDDDDDDDDDDDDDEDDDDDDDDDDDDDDDDDDDDDDDDDDEDDDDDDDDEDDDDDDDDDDDDDDDDDEDDDDDDDDDDDDDDDDDEDDDDDDDDDDDDDDDDDDDDDDDDDEDDDDDDDDDDDDDDDDEDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDEDDDDDDDDDDEDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDEDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDEDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDEDDDDDEDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDEDDDDDDDDDDEDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDEDDDDDDDDDDDDDDDDDDDDDDDDDEDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDEDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDEDEDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDEDDDDDDDDDDDEDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDEDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDEDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDEDDDEDEEDDDEDDDDDDEDDDDEDDEEDDDEDDEDDDDDDEDDDDDEDDDDDDDDEDEDEDDEEDEEDDDDEDDDDDDEDDDDDEDDDDDDEDDDDDEDDDEDDDEDDDEDDEDDDDDDDDDDDDDDEDDDDDEDDDDDDDDDDDDDDDDEEDDEDDEDDDDDDDDDDDDDDEEDDDDEDDDDDDDDDDDDDDDDDEDDEDEDDEEDDDDDDDEDDDDEDDDEDDDEEEDEDDDDDDDDDDDDDEDDDEDDDDDDEDDDDEDDDDDDDDEDDDEDDDDDDDDDDDDDDDEDDDDDDDDDEDDEDDDEDEDDDDEDDEDEDEDDDDDEDEEEDDDDDDDDDEDEEDEDEDDDDDEEDDDDDDDDDDDDDEEDDDDDDDDEDDDDDDEDEDEDDDEEDDDDEDDDDDDDDDDDDDDDDEDDDDDDDDEDDDDDDEDDDDDDDDDDDDDDDDDDEDDDEDDEEEDDDEDDDDDEDEDDDDDEDDEDEDDDDDDDDDDDDDEDDDDDDDDDDEDDEDDEDDEDDDDDDEDEDDDDDDDEEEEDDEDDEDDEDDDDDDDDEDDDDDDEEDDDDDDEEEDDDDEDDDDDDDDEDDDDEDEDDDEDDDDDEDDDDDDDDDDEDDDEEDDEDDDDDDDDDDDDDDEDDEEDDDDDDDDDDDDDDEDDDDDDEDDDDDDDDDDEDDDDEDDDDDDDDDDEDDDDDDDDDDDEDDDDDDDDDDDEDDDDDEDDEDDDDDDDDEDDDDEDDDDDEDDEEDDDDEDDDDDEDDDEDEDDEDDDEDEDDDDDDDDDDEDDDDDDDDDDDEDEDDEDDDDDDDDDEEDDDDDDEDDDDDDDDEDDDDDEDDDDDEDDDDEDDDDDDDDDDEDDDDDDDDDDDEDDEDDDDDDDDDEEDDDDEDDDDDDDDDDDDDDDEDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDEEDDDEDDDDDDDDDDEDDDDDDDDDDDDDEDDEDEDDEDDDEDDDEDEDDDDDDDDDDEDDDDDEDDDEDEDDDDDDDDDDEDDDDDDDDDDDDDDDDDDDEDDDDDDDEDDEDDDDDDDDEDDDDDDDEDEEDDDDEDDEDDDDEDDEDDDDDDDDDDEDDDDEDDDDDDDDDDEDDDDDDDDDDEDDDDDDDDDDDEDDEDDEDEDEDDDDDDDDDDDDDDDDDDEDDDEDDDDDDDEDDEEDDDEDDDDEDDDDDEDDDDDDEDDDDDDDDDDDDDEDDEEDEDDDDDDDDDDDDDDDDEDDDDDDEDDEDDDEDDDDDDDDDDDDDDDDDDDDEDDDDDDDDDDDDDEEDDDDDDDDDDDEDDDDDDDDEEDDDEDDDEDDDDDDDDDDDDDDDDDDEDEDDDDDDDDDDDDDDDDDDEDDDDDDDDDDDDDDDDDDDDDDDEDDDDDEDDDDDEDEEDDDDDEDEDDDDDDDEDDDDDDDDDDDDDDDDDDDDDDDDDDDDDEDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDEDDDDDDDEDDDDDDDDDDDDDDDDDDEDDDDEDDDDDDDEDDDDDDDDDDDDDDDEDDDDDDEDEDDDDEDDDDDDDDDDDDDDDDDDDDDDEDDDEDEDDDDDDDDDDDDDDDDDDDDDDDEDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDEDDDDDDDDDDDDEDDDDDDDEDDDDDDDDDDDDDDDDDDEDDDDDDDDDDDDDEDDDDDDDDDDDDDDDDDEDDDDDDDEDDDDDDDDDDDDDDDDDDEDEDDDDDDDDDDDDDDDEDDDDDDDDDDDDDDDDDDDDDDDDDEEDDDDDEDDDDDDEDEDDDDDDDDDDEDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDEEDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDEDEDEEDDEDDEEDDEEDEDDDEEDDEDEDEEDDEEEDDEEEDEEDEEDEEEDDDDEEDDDDEEDEEDDDDEDDEDEDDEDDDDEEEDEDDEDDEDEDEEDDEDDEEDDDDDDDDDDEDDDDDDDDDDDEDEDDEDDDEDEDEEEDEEDDDDEEEDEDEDDEDEDDDEDEDDEDEEDDDEEDDDDDDEEDDEEDDEDEDDEDDDDEDEDEEEEDEEEEDDDEDEDDEDDEDEDEEDDDDDDDEDDDDDEEDEEEDDEDDDDEDEDEDEDEDDEDDEDEDDDEEDEEEEDEDDDDDDEDEDEDEEEDDEDEEDDDDEEDDEEEDDEEDDDDDDEDDDDDEEEEEDEDDEDEDDDEEEDEEDDEDDDEEEDDEEDDDDEDDDDEDDDDEEEDEDEDDDEDEDDDDEDDDEDDDEEEDEEDDDDEEEEEDDDEDDDDDDDDEDDDDDDEDDEDDEEDEEDDDDDDDDEEEEEEEDEDDDDDDDEDEDDEDEDEDDDDDDEDDDDDDDDDDDEEDEDEEDEDDEDEDDDDEDEDEEDEDDEDEDDEDEDDDEEEDDDEDDDDDDDDDEEDDDDDDDDDEDEDDDEEDEDDDDEDDEDDEDEDDDDDDEEDDDDDDDEDDDEEDDEDEDDDEDDEDDEDDDDEDDDDEDDDEDDDDDDDEEDDDDEDEEDDDDDDDEDDEDEDDDDEDDDEDEDDEDDDEDEDEDEDDDDDEDEDDEEEDEDDDDDEDDEDDDEDDEDEDDEDEDDDDEDEDDEDDDDDDEEDDEEDDEDEEDEEDDDEDDDDEDDDDEDDDDDDDDDDDDEDDDDEDEDDEDDDEDDDEDDDDDDDEDEEEDEDEDDDDDEDEDDDDEEDEEDDDDDDDDEEDDDEDEEDDDEDDDDDDEDDDDEDDEEDDDDDDEDEDDDDDDDDDDEDDDDDDDDEDEDDDDEEDEEDDEDEDDDDDDEDDDDDEDDDDDDEEDDDDEDDEEDDDEDDDEDDEEDDDDDEDDDDDDDEDDDDDEDDDDDDDDDDDDDDDDEEDDEDDEDEDDDDDDDDDDDDEEDDDDEDDDDDDDDDDDDDDDDDEDDEDEDDDEDDDDDDDEDDDDEDDDEDDDEEEDEDDDDEDDDDDDDEEDDEDDDDEDEDEDDDDDDDDDEDDDDEDEDDDDEDDDDDEDDDDDDEEDDDDEDDEDDDDDEDEEDDEEEEDDEDDDDEDDEEDDDDDDDDDDDDEEDDDDDDDEDDDDDDDEDDDEDDEDDDDDDDDDDDEDDDDDDDDDDDDDEEDDDDEDDDEEDDDDEDDDDDDDEDDDEEDDDDDDDDDEDDDEDEDDDDDDDDEDDEDDDDDEDDEEDDDDDDDDDEDDDDDDDDEDDDDDEDDDDDDEDDDEDDDDEDDDDDEDEEEDEDDEDDDEDDDDDEDDDEEDDDEDDDEDDDDDDEDDEDDEEDDDDDDDDDDDDDEEDEDEDDDDDEDDDDDDDDDDDEDDDDDDDEEDDDDDDDDDDDDDDDEDDDDDEDDDDDEDDDDDDDDDDDDDDDDDDEDDDDDDDDDDEDDEDDDDDEDDDDDDEDEDDDDDDDEEEDDDEDDDDDEDDDEDDDDEDDDDDDEEDDDDDEEEEDDDDEDDDDDDDDEDDDDEDDDDDEDDDDDEDDDDEDDDDDDDDDEEDDEDDDDDDDEEDEDDDEDDEEEDEDDDDDDDDDDDEDDDDDDEDDEDDDDDDDEDDDDEDDDDDDDDDDEEDDDDDDDDDDEDDDDDDDDDDDEDDDDDDDDEDDDDDDDDEDEDDDDDDEDDDDDDEDDDDEEEDEDDDDDDDEDDDDDDDDDDDDDDDDEDDDDDEEDDEDEDEDDDDDDDDDDDDDDDEDDDDDEEDDDDDDDDDDDDDDDEDDDDDDDEDDDDDDDDDDEDDDDDEDDEDDDDDDEDDDDDDDDDDEEEDDDDDDDDEDDDDDDDDEDDDDEDDEDDDDDEEEEEDDEEDDEDDDEEDEEEDEDEDDDEDDDDDEEDDEDEDDDEDEEEDDEDDDDDDEDEDEEEDEDDEDDDDDEDEDDDEEDEEDDDDDEEDDDDDDDEEEDEDEDDDEEEEEDEEDEDEEDDEEDEDEDDDDEDEDEEDEEDEDEEDDEEEDDDDDEEEEDEEDDDDEDEDEEEDEDEEEDEEDDDEDEDDEDEDDEEDEDDEDDDDEEEEEDEDDDEDEEEDDEDEDEEDDEDEEEEEEDDEDDEEDEDEDDEDEDDEDEDDEDDEEEDDDDDDEDDEEDEDEEDEEDDEDDEDEEEDDEEEDDEDEDDDEDDEDEEDDDDEEDEDDEEDDDEDEEEDEEEDEDEEDDEEDDEDEDEEEEDDDEDDEEDEDEDDEDEEEDDDDDEEEDEDDDEDDDDDDEDEDEDDDEEDDDEEEDEEEDEDDEDEDDEEDEDDEDEDEEEEDDEEDDEDDDDEEEEEDDEDDEEEDEEDDEDDDDEEDDEEEEEEDDDDEEEEDDDEDDDEEEDDDDDEEEEEDDDDDDDDDDDDDEDEEDDDEEDEEDDEEDEEDEDDDDDEDDEDDEDDEEEDEEDDDEEDDEDEEEDDDDEDDDDDDEEEEDDEEDEDDEDEEDDDDEDDDEEEEDEDEDDDDDEDDEEDEEDDDEDEEDDDEDEEEEEDDDEEDDDEEEDDEEEEEDEDDEEEEDDEEEDEEDEDDEDEDEEDDEEDDEDEEDEEDDDEEEDEEDEDDEDDDDDDDDDEDEDDDDDDEDDDDEEDEEDDDDEEEDEDDDEDDDDDEDDDDDEDEDEEDDDDEDDEDDDEDEDEDEEDEEEEDEDDDDDEDEEEEEDDDDDDDEDEEDEEDDDDEEEEDEDDDDDDDEDEEDEDEEDDEDDEDDEEEDEDDDEEDDEDEDEEDDEEEDDEEEDEEDEEDEEEEDDDEEDDDDEEDEEDEDDEDDEDDDDEDDDDEEEDEDDEDDEDEDEEDDEDDEEDDDDDDEDDDEDEEDDDDDDDDEDEDDEDDEDDEDEEEDEEDDDDEEEDEDEDDEDEDDDEDEDDEDEEDDEEEDDDDDDEEDDEEDDEEEDDDDDDDEDEDEEEEDEEEEDDDEDEDDEDDEEEDEEDDDDDDDEDDDDDEEDDDDEEDDEEDDEDDDEDDDEDEEDEEDEDEEDEEDDEDDDDEDDDDDDDDDDDEDDDDEEEDDDEEDDDDDDDDEEEDDEEDDDEEDDDDEEEDDDDEEDEDDDDDEDDDEDEDEEDEDDDDEDEEDEDEEDDEDDEEDDEEEDDDDDDEEEDEDDDEEDDDDEDDEDEEDDDEDEDDDDDEDDDDEDDDEEEEDDEDDDDDDEEDDEDEDEDDEEDDEEEDDDDEDDDDDDDDDEDDDDDDEEDDDDDDDEDDDDEDDDEEDDDEDDDDDDEDEEEDDDDEEEEEDDDEDEEDDDDDDDDDEEDDDDDDEDEEEDDDDDDDDDDEDEDDDEDDDEDEEEDDEEDEDEDEDDDDDDDDEDEEDDEEDEDDDDDDDEDEDDEDDDEDDDDDDEDDDDDDDDDDDEEDEDEEEEDDEDEDDDDEDEDEEDEDDEDEDDEDEDDDEEEDDDEEDDDDDDDDEDDDDDDDDEDEDEDDDEEDEDDDDEDEEDDEDEEDDDDDDEDDDDDDDEDDDEEDDEDEDEDEDDEDDEDDDDEDDDDDDDDEDDDDDDDEEDDDDEEEEDDDDDDDEDDDDEDDDDEDDDEDEDDEDDDEDDDEDEDEDDDEDEDDEEEDEDEDDDDDDEDDDEDDEDEDDDEDDEDDDDEDEEDDDDDDEEDDDDDDEDDDDDDEDEDDDDDEDDDDDEDDEEEDEDDDDEDDDEDDDDDDDDDDDEDDEEDDEDDDDEEEEDDDEDDDEEEEEDDEDEDDDDDDDDDDDDDEEEDDDEDEDDDEDDDDDDDDDDEDDDEEDDEDDDDDDDEEDEDDDEEDEEEDDDDDEDEEEEEEDEEDDDEDEDEDDDDEEEEEEDEEDEEEDEDDEEEEEEEEDEDDEEEEEEDEDDEEEDEEDDEEEDEEEEEEEEDEEEEEEDDDDEDEDEDEDEEEEEEEEEDDEEEDEDEEEEEDEDEDDDEEEDDDDEEEDEEEEEEDEEEDEDDDEEEDEEDEEEEEEDEEEEDEEEEDDEDEEEEEEEEDEEEEDEEEDEEEEDEDEEEEEEEDEEEEEEEEDEEEEEDEDDEEEEDEEDEEEEEEEEEEDEEEDDDEEEEEEEEDEDEDEEEEDDDDEEEEDEDEEDEDEEDEDEEEDDEEDEDEEEEEEEEDEEEEEEDDEDDDEEEDEEDEDEEEEEDDDEEEDEEEEEDEEEEEEEDDEDEDEDDDEEDEDDEEEEEEEDDEDEDEDDEDEEDEEEEEEEDEEEDEDEDEDEDDEEDEEEEEEEEEEEEDDDEDEEEDDEDEEEDDEDDEDEEDEEEDEEEEEDEEDDEEEEEDDEDEEDDEEEEDEEEDEEEDEEEDEDEDDEDEDEDEEDDEEEEEDDEEEEEEEEDEEEDEEEDDEDDEEDDDDEEEDEDDEDEDDDEDEDDDEEDDDDEDDEEEDEEEDEEEEDEDDDDDDDDEEEEEEDDDDEDDDEEDDDDEEEDEDEDEDEEDEDDEEDEDDDEEEDEDEEDDDEDEEEEEEEDDDEEDDDEEDDEEEEDEDDEDDDEDDDDEEDEEEDDDEEEEEDDDEDDDEDEDDEDDEEEDEEDDEEEDDEEEEEEEEDDEDDDDEDEDEDEDEEDEEEEDEDDDEEDEEEEDEEDEEEEEDEEEDEEEEDEEEEEDDDEEDEEEEDDEEDEEDDDEEEDEEEEEEEDEEDEEEEDDEEEEEEDDEDDEEEEEEEEDDEEDDEDDDEEEEEEEEDEDDDEDDDDDEEDDEEEDDEEDEEEDDEDDDDDDEDEDEEEDEDEEDDDDDEDEDDDEEDEEDDDDDEEDDDEDDDEEEDEDEDDDEEEEEDEEDEDEDDEEEDEDEDDDEEDEDEEDEEEEDEEDDEEEDEDDDEEEEDEEDDDDEDEDEEEDEDDEEDDEDDDEDEDDEDEDDEDDEDEEDDDDEEEEEEEEDDEDEEEEDEDEDEEDDEDDEEEEEDDEDDEDEEDEEEEDEDEDDDDDDEDEDEEDEEEDDEDDDDDEEEDDEEDDEEDDDDDEDEDEEDEDEDEDEEEDEEDEEEEDEDEEDDEDEDDDEDEEEDEEDDEDDDEDEEDEEEDEEDDDEEEEDDDDEEEEDEDDDDEEDDDEEDEEDDDDEEEEDDEDEEEDDDDEEDEEEDDEEDDDDDDDEDEDEDDEEDEDDEDEDEEDEEDDDEEEEEEEDEEDEEDDEDDDDEEEEDEEEDEEEDEDDEDDDEDEEEEDEEEEDDEDEEEEDDDEEDDDDDEEDEEEDDDEEEEDEEEDEDEEDEDEEEEEEEDDDEEEEEDDDEDDEEEDDDEEDDEEDEDDDDDDEDDDDEDEEEEEEEDEDEDDDDEDDEDEEDDEDDDDEEDDEEEEEEDDDDEEEEDDDEDDDEEEDDDDDEEEEEDDDDDDDDDDDDDEDEEDDEEEDEEDDEEDEEDEDDDDDEDDEDDEDDEEEDEEDDDEEDDEDEEEDDDEEDDDEDDEEEEDDEEDEDEEDEEDDDDEDDDEEEEDEDEDDDDDEDDEEDEEDDDEDEEDDDEDEEEEEDDDEEDEDEEEDDEDEEEDEDDEEEEDDEEEDEEDEDDEDEDEEDDEEDDEDEEDEEDDDEEEDEEDEDDEDDDDDDDDDDDEEDEDDEDEEDEEDDEDDDEDDEDDDDEDEEEDEDEEDDDDEDEDDDDEEDEEEEEDEEDEEEDDDEDEEDDDEDDDDDDEDDDDEEDEEDDDDEDEDEDDDEDDEDDDDDDEDEEEDDEDEDEDEDEEDDEDEDDDEDEEDDDDDDEDDDEDDEDDDDEDDDEDEEEDEDEEEEDDEDEEDEEDEEDEEDDEEEEEEEEEDDEEEEDEEEEEDEEEEDEEEEDDEEEEEEEEEEEDEEEEEEEEEDDEDEEEEDEDEEEEEDEEDEDEEEEEEEEEEEEEDEEEEEEEEEEEEDEEEEEEDEEEEEEDEEEEEEEEDEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEDEEEEEDEEEDDEDEEEEEEEEEEEEEEEEEEEEEDEEDEEEEDEEDEDEEDEDEEEEEDDEEEEEEDEEEDEEEEEEEDDEEDEDEEEEEDEEEEEEEEEEEEDEEEEEDEEEEEEEEEEEEEDEEEEDEDEEEEEDEEEDEEEEDDEEEEDDEEEEDEEEEEDEEEDEEEDEEDEEEEDDEEEEEEDDEEEEEEEEEEEEEDEEEDEEEEEEEEEDDEEEDEEDEEEEEEEEEEEEEEEDEDDEDEEEEEEEEEEEEEEEEEEEEEEEEDEEEEDEEEEEEDDEEEEEEEEEEEDEEDEEEEDEEEEDEEEEEDEEEEDEEEEEDEEDEEDEDEEEEEDDEDEEDEDEEDEEEEEEEEEEEEEDDEEDEEEDDDEDDDEEEDDEDEEEEEEEEEDEEEEEEEEEEEDEEDEEEEEDEDEEDEDEEEDEEEEEEDDDEEEEEEEDEEEDEEDEDEEEEDEEEEEEEEEDEEEDEEEEDDEEEEEEEDEEDEEEEEEDEEEEEEEDEEEDEEEDEEEDEEEEEEEEEDEDEDEEEEEEEDEEEEEEEEEEEEEEEEEEEDEDDEEEDEEEEEDEDEEEEDEEDDDEEEEEDEDEEEEEDDEEDEDEEEDDEEEEEEEEEEDEEDEEEEEDEDEEDEDDEEEEDEDEEEDEEEDEEEEEEEEEDEDEEEEEEEEEEDEEEEDEDEEDEDEDEDEEEDEEEEEEEDEEDEEEDEDDEEEEEEDEDEDDEEEEEEDEDDEDEDEEDDEEEEEEEEDEEEDEEEEEEEDDDEDEDEDEDEEEEEEEEEDDEEEEEDEEEEEDEDEEDDEEEDDEDEEEDEEEEEEDEEEDEEDEEEEDEEEEEEEDEDEEEEDEEDEDDEDEDEEEEEEDEEEEDEEEDEEEEDEDEEEEEEEDEEEEEEEEDEEEEEDEDDEEEEDEEDEEEEEEEDDEEEEEEEDDDEEEDEEEEEDDEDEDEEEDEEEEEDEDEEEEEEDEEEDDEDDEEDDEDDDEEEEDDEEEEDEEDEDEEEEEEEEDEDEEEDEEEEDEDEEEDEEEEEEEEEDDEDEEDDDEDEEDEEDDDEEEDEEDEEEEEEEEEEDDDEEDDDDEDDDEDEEDDDEEEEEDDEEEEDEEEEDEEEDDDEEDEEEEEDDEDEEEEEEDEEEDDEEEEEDEDDEDEEEEDDEEDDDDDEEEEEEDEEEDEDDEEEDEEDEDEDDDDEEEDEEDEDEDEEEEEDDDEEEDEEDEEDEDDEEDEEEEDDDEEEEDEDEDDEEEEDEEEEEEDEEDDDEDEDEEDEDDDDDEEDEEEEDDEEDDDEEDEDDDEEEEEEDEDDEDDEEEEDEDEDEEEDEEEDEEEDDEDEDEDEEEDEEEEEEDEEEDDEEEDEEEDEEEDDEDDEEDDDDEEEDEDDEDEDDDEEEDDDEEDDDDEEDEEEDEEEDEEDEDEDDDDDDDDEDEEEEDDDDEDDDEEDDEEEEEDEDEDEDDEDEDDEEDEDDDEEEDEDEEDDDEDEEEEEEEDDDEEDDDDEDDEEEEDEDEEDDDEDDDDEEDEEEDDDEEEEEDDDEDDDEDEEDDEDEEEDEEDDEEEDDEEDDEEEEEDEEDEEEEDEDDDEDEDEEEEEDDDEEDDEDEEDEEEDDEEEEEDEDEDDEDDEDEEDEEEEDEEDEEEDEEEDEDDEEEEEEEEEEEDDEEEDEEEEEDEEDDEDEDDDEEEDDDEEEDEEEEDEEDEDDDDEDDDEDDEEEEDEEDEDDEEEEEDEDEEDDDEDEDEDEDDEEEEEEEEEEEEEEEEEEEEEEEDEEEEEEDEDEEEEEEEEEEEEEEEEEEDEEEEEEEDEEEEEEDEEEEEEEDEEEEEEEEEEEEEEEEDEEEEEEEEEEEEEEEEDEEEEDEEEEEEEEEEEEEEEEEEEEEEDEDEEEEEEEEEEEEEEEEDEEEDEEEEEEDEDEEEEEEEEEEEEEDEEEEEEEEEEEDEEEEEEEEEEEEEEDEEEEEEEEEEDEEEEEDDEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEDEEEEEEEEEEEEEEEDEEEEDDEEEEEEEDEEEEEEEEEEEDEEEEEEEEEEEEEEEDEEEEEEEEEEDEEEEEDEEDDEDDEEEEEEEEEEEEEEEDEEEEEEEEEEEEEEEEEEEEEEEEEEEDEEEEEDEDEEEDEEEEEEEEEEEEEEEEEEEEEEEDEEEEEEEEEEEEDEEEEEEEEEEEDEEEEEEEEEEEEEEEDEEEDEEEDEDEEEEEDEEEEEEEEEEEDEEEEEEEEEEEDEEDEEEEEEEEEEEEDEEEDEEEEEDEEEEEEEDEDEEEEEEEEEEDEEEEEEDEEEDDEEEDEDEEEEEEEEEEEDEEEDEDEDEEEEEEEEEEEEEEEEEEEEDDEEEEEDEEEDEEEEDEEEEDEEEEEDDEDEEEEEEEEDEEEEEEDEEEEEEEDDEEEEEEEEEDEEEEEEEDEEEEEEDEEEEEEEDEEEEEDDDEEEEEEEDEEEEEEEEEEEDEDEEEDEEEEEEEEEEEEDEEEEEEEEDEDEDEEEEEEDEEEEEEEEEEDEEEEEEEEEEEEDEDEEDEEEEEEEDEEEEEEEEEDEEEEEDEEEEDEEEEEEEDEEEDEEEEEEEEEEEEEDDEEEEEEEDDEEEEEEEEDDEEEEEEEEEDEEDEEDEEEEEEEEEEEEEEEEDDEEEEEDEEEEDEEEEEEEEEDDEEEEEEEDDEEEEEDEEEEDEEEEEEDEEEEEEDEEEEEEEEEEEDDEEEEEEDEEEEEEDEEEEEDEEDEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEDEEEDEEEEEDEEEDEEDEEEEEEEEEEEEEEEEDEEEDEEEDEEEEEEEDEDEEDEDEEEEEEDEEEEEEEEEEEEEDEEEEDEEDEEDEDEEEEEEEEDEEEEEEEEEEEEDEEEEEDDEEEEEEEEEEEEEEDDEEEEEEEEEDEEEEDDEEDEEEEEEDDEEDDEEEEEDDDEEEEEEEEDDEEDEEEEEEEEEEEEEEEEEEDEEEEEEEDEEEDEEEEEDEEEEEEEEEEEEEEDEDEEDEEEEDDEEEDEEEEEEEEDEEEEDDEEEDEEDDDEEEEEEEDEEEDEEEEEEEEEEDEEEEEDEDEEEEEEEEEDEDEEDEEEEDEEDEEDEEEEEEEDEDEEEEEEEEDEEEEDEEEDEEEDEEEEEEEEEDEDEEDEDEEDEEEEEEDEEDEDEEEEEDEDEDEEEEEEDEEDEEEEDEEEDEEDEEEEEDEEEEEEEDEEEEEEEDEEEEDEDEEEEEEEEDEEEEEDEEDEEDEEEEEEEEDEDEEDEDEEEDEEEEEEEEEEEEDDEEDEEDDDDEDDEEEEDEEDEEEEEEEEEDEEEEEEEEEEEDEEDEEEEEDEDEEDEDEEEEEEEEEEDDDEEEEEEEDEEEDEEDEEEEEEDEEEEEEEEEDEEEDEEEEEDEEEEEEEDEEEEEEEDEDEEEEEEEEEEEEDEEDEEEDEDEEDEEDEDEDEDEEEEEEEDEEEEEEEEEEEEEEEEEDEEEEEEEEEEEEEEEDEEEDEEDDDEEEEEEEEEEEDEEDEEEEDDEEEEEEDEEDDEEEEEEEEEDEEDDEDEDEEDEEEEEDEEEDEEEEEDEEEEDDEDEEDDEEEEEEEDEEDDEEEEEEEEEEEEEEEEEEDEDEEEEDEDEDDEEEDEDEDDDEDDEEEEEEEEEEEDEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEDEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEDEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEDEEEEEEEEEEEEEEDEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEDEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEDEEEEDEEEEEEEEEEEEEEEDEEEEEEEEEEEEEEEEEEDEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEDEEEEEEEEEEEEEEEEEEEEEEEEDDEEEEEEEEEEDEEEEEEEEDEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEDEEEEEEDEEEEEEEEDEEEEDEEEEEEEEDEDEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEDEEEEEEEEEEEEEEEEEEEEDEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEDEEEEDEEEEEEEEEEEEEEEEEEEEEEDEEEDEEEEEEEEEEEEEEDEEEDEEEEEEDEDEEEEEEEEEEEEEEEEEEEEEEEEEDEEEEEEEEEEEEEEEEEEEEEEEEEDEEEEEEEDEEEEEEEEEEEEEEEEEEEEEEEDEDEEEEEEEEEEEEEEDEEEEEEEEDDEEEEEEEEEEEDEEEEEEEEEEEEEEDEEEEEEEEEEDEEEEEEEEEEEDEEDEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEDEEDEEEEEEEEEEEEEEEEEEEEEEEEDEEEEEEDEEEEEEEEEDEEEEEEEEEEEEEEEEDDEEEEEEEEEEEEEEEEEEEEEEDEEEEEEEEEEEEDEEEDEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEDEEEEDDDEEEEEEEEEEEEEEEEEEEEDEEEEEEEEEEEEEEEEEEEDEEEEEEEEEEEEEEEEEEEEEDEEEEEEEEEEEEEEEEEEEEEEEEEEEEEDEEEEEEEEEEDEEEEEEEEDEEEEEEEEEEEEEEEEEDEEEEDEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEDEEEEEEEEEEDEEEEEEDEEEDDEEEEEEEEEEEEEEEEEEEEEDEDEDEEEEDEEEEEEEEEEEEEEEDDEEDEEDEEEEEDEEDEDEEEEEEEEDEDDEEEEEEEEEEEEEEEEEEEEEEEEDEDEEEEEEEDEEEEEEEDEEEEEEDEEEEEEEEEEEEEDDEEEEEEEEDEEEEEEEEDEEEEDEEEEEEEEEEEEEEEEEEDEEEEDDEEEEEEEEEEEEDEDEEEEEEEDEEEEEEEEEDEEEEEEEEEEEEDEEEEDEDEEDDEEEEDEEEDEEEEEEEDEEEEEEEEEEEEEEEEEEEEEDEEEDEEEEEEEEEEEEEEEEDEEEEEDEEEDEEEEEEEEEEDDDEEDEEEDEEEEEEEEEEEEDEEDEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEDEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEDEEEEDEEEEEEEEEEEEEEEDEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEDEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEDEEEEEDEEEEEEEEEEEEEEEEEEDDEEEEEEEEEEEEEEEEEEEDEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEDEEEEEEEEEEEEEEEEEEEEEDEEEEEEEEEEEEEEEEEEEEEEDEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEDEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEFEEEEEEEEEEEEEEEEEEEEEEEEEFEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEFEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEFEEEFEEEEEEEFFEEEEEEFEEEEEFEEEEEEEFEEEEEEFEEEEEEEEEFEEEEEEEEEEEEEEEEEFEEEEEEEEEEEEEFEEEEFFEEEEFEFEEEEEEEEEEEEEEEEEEEEEFEEEEEEEEEEEEEFEEFEEEFEEEEEEEEEEEEEEEEFEEEEEEEEEEEEFFFEEEEEEEEEEEFEEEFEEEEEEEEEEEEEEEEEEEEEEFEEEEEEEEFFEEEEEEFEEEEEEEEEEFFEEEEEEEEEEEEEEEEEEEEEEFEEFEEEEEFEEEEEFFEEEEEFEEEEFEEEEFEEFEEEEEEEFEFEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEFEEEEFEFEFEEEEEEEEEEEEEEEEEEEEEFEEEEEEEEEEEEFEEEEEEEEFEEEEEEEEEEEEEEEEEEEEEEFEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEFEEEEEEEFEEEEEEEEEEEEEEEEFEEEEEEEEEEEEEEEEEEFEEEEEEEEEEEEFEEEEEEEEEEEEEEEFEEEEEEEEFEEEEFEEEEEEEFEEEEEEEEEFEEEFEEEEFEEEEFEEEEFEEEEEEEEEEEEEEEFEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEFEEEEEEEEEEEEEEEFEEFEEEEEEEEEFEEEEEEEEEEEEEEEEEEEEEFEEEEEEEEEEEEEEEEEEEEEEFEEEEEFEEEEEEEEEEEEEEEFEEEEEEEEEEEEEEEEEEEEEFEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEFEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEFEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEFEEEEEEEFEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEFEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEFEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEFEEEEEEEEEEEEEEEEEEEEEEEEEEEEFEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEFEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEFEEEEEEEEEEEEEEEEEFEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEFFEFFEFFEEEEEEEFEEEFEEEEEFFFFFFEFFEEEEEEEEFEFEEEEEFFEFEFEEEEFFEEEEEEEEEFEEEEEEEEEEEFEFEEEEEFEEFFEEEEEEEEEEFEEEEEEEEEEEEEFFEFEEEEEEEEFEEEEEEEEFFEEEEEEFEEEEEEEEEEFEEEEEEFEFEEEEEEEEEEEFEFFEEEEEEFEEEEEEEEEEEFEEEEEFEFFEEFFEEEEFEEEEFEEFEEEEEEFEFFEEFEEEEFFEEEEEEEFFEEEFEEEEEFEFEEFFEFEEEEEEEEEEEEEFEEEEEEEFEFEFEEFEEEEEEEFEEEEEEEFEEEEEEFEEEEEEFEEEEEEEFFEEEEEEEEEEEEEEEEFEEEFFEEEEEEEEEEEEEFEFEEEEEEEEFEFEEEEFEEEEEEEEEEEEEEEEEEFEEEFEEFFFEEEEFEEEEEEEEEEEEFEEFEEEEEEEEEEEEEEEFEEEEEEEEEEFEEFEEFEEFEEEEEEFEFEEEEEEEFFFFEEFEEEEEEEEEFEEEEFEEEEFEEFEEEEEFFEFEEEEEEEEEEEEEFEEEEFEFEEEFEEEEEEEEEEFEEEEEFEEEFFEEFEEEEEEEEFEFEEEFEEEEEEFEEEEFEEEEEEFEEEEEEFEEFEEEEEEEFEEEEFEEEEEEEEEEFFEEEEEEEEEEFEEEEEEEEEEEFEEFEEEEEFEEEEEEEEFEFEEEEEEEEEEEEEFEEEEFEEEEEEEEEFEFEEEFEFFEEEEFEEEFEEEFEEEEEEEEEEEFEEEEEEEEEEFEFFEFEEEEEEEEEFEEEEFEEEEEFEEEEEEEEEFEEEEFEEEEEEFEEFEEEEEEFEEFEEEEEEEFEEEEFEEEEEFEEEFEFEEEFEEEEEEEFEEEEEEFFEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEFEFEEEEEEEEEEEEFEEEEEEEEEEEFEEEFFEEEEEEEEEEFEEEEEEEEEEEFEFEEEEEEEEEEEEEEFEFEEEEEEEEEFEEEEEEEEEEEEEFEEEEEEEEEEEEFEEEEEEEEFEEEEEEEEEEEEEEEEEEEEEEFEEEEEEEEEEEEEEFEEEEEEEEEEFEEEEEEEEEEEEEEEFFEEEEEEEEEEEEFEEEEEEEEEEEEFEEEEEEEEFEEEEEEEEEEEEEEEEEEEEEEFEEEEEEEEEEEEEEFEEEEEEEEEEFEEEEEEEEEEEEEEEFFEEEEEEFEEEEEEEEEEFEEEEEFEEEEEEEEEEFEEEEEEEFEEEEFEEEEEEEFEEEEEEEEEEEEEEEFEEEEEEFEFEEEEFEEEEEEEFEEEEEEEEEFEEEFEFEEFEEEEFEEEEFEEEEEEEEEEEEEEEFEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEFEEEEEEEEEEEEEEEEEEEEFEEEEEEEEEEEEEEEFEEFEEEFEEEEEFEEEFEEEEEEEEEEEEEEEEEFEEEEEEEFEEEEEEEEEEEEEEEEEEFEEEEFEEEEFEEFEEEEEEEEEEEEEEEEEEEEEEEEEEEFEEEEEEEEEEEEEFEEFEEEEEEEEFEEEEEEEEEEEEEEEEEEEEEEEEEEFFEEEEEEEEEEEEEEEFEFEFEFEEEEEEFEEEEEEEEEEEFEEFEEEEEEEEEEEEEFEEEEEEFFEEEEEEEEEEEFEEEEEEEFEEEEEEEEEEEEEEEEEEEEFEEEEEEEEFEEEEEEEEEEFEEEEEEEEEEEEEEEEEEEEEEFEEEEEFEEEEEEEEEEEEEEEEEEEEEEEEFEEEEEEEFFEEEEEEEEEEEEEEEEEEEEFEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEFEEEEEEEEEEEEEFEEEEEEEEEEEFEEEEEEEFEEEEEEEFEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEFEEEEEFFFEEFEFFEEEFEFEEFEFEEEFFEEEEFEEEEEFEEFEEEEEEEFEEFEEEEEFEEFEEFEEFEFEFEEFEEFFFEEEEEFFEEEFEEFFEFEEEEEFFEFFEEEFEEEEFEEFEEFFFFFEEFEEEEFEFEEFFEEFEEFFEFEEEEFEEFEFFEFEFFFEFEEFFFEEFEEFFFEEEEEEEEFEEFEEEEFEEFEEEFEEEEEEEEEFFEEEEEEEFEEFFEEFEFEEEFFEEFFEEEFFEEEEEEFFEFEEEEEFEFEFEEEEFEEEEFEFEEFEEEFEEEEEEEEEEEEEEEEEFEFEEFFEFFFEFEFEFEFFFFEEEEEFEFEEEEEEEFEEEEEEEEEFEFEEFEEEEFEEEFEEEEEEEEEEEEFFEFEEEEEFFEFFEFEFEEEEFEEEFEEEEEEFEEFEEFFEEFEEEEEEEEFEEFFFFFFEEEEEEFFEFEEFEFEFEEEEEEFEEEEEEEEEEEFFEFEFFFFEEFEFEEEEFEFEFFEFEEFEFEEFEFEEEFFFEEEFFEEEEEEEEEFEEEEEEEFEEEFEEEFFEFEEEEEEEFEEFEFFEEEEEFFEEEEEEEEEEEFFEEFEFEFEFEEFEEFEEEEFEEEEFEEEEEEEEEEEFFEEEEFEFFEEEEEEEEEEFEFEEEEFEEEEEFEEFFEEEEFEEEFEFEEEFEFEEFEEEFEFEEEFEEEEEEFEEFEFEEEEFEFEFEEFEFFFEEEEEFFEEEEEEFEEEEEEEFEFEEEEFEFEFEEEEFFEEFEEEEFFFFEEEEEEFFEEFEFEFEEEEFFFEEEEFEFEEEEEEEFEEEEEEFFFEEFEFEFFEEEFFEEEEEEEEEFEEFFFFFEFEFEEFEEEEFEEEFFFFEEEEEEEEFEEEEEEEEEFEEEEFEEEEEFEEEEEEEFEEEEEEFEEEFEEEFEEEEFEEFEEEFFEEEEEEEEEEEEEEEFEEFEEFFEEFEEFEEFFEEEEEEEEFEEEEEEFEFEFEEEFFFEEEFEEEEEEEEEEEEEEFEFEEEEEEEEFEFEEEEFEEEEEEEEEEEEEEEEEEFEEEFEEFFFEEEFFEEEEFEFEEEEEFEEFEFEEEEEEEEEEEEEFEEEEEEEEEEFEEFEEEFEFEEEEEEEEFEFEEEEFEEEEEEEEEEEEEEEEEEFEEEFEEFFFEEEFFEEEEFEFEEEEEFEEFEFEEEEEEEEEEEEEFEEEEEEEEEEFEEFEEFEEFEEEEEEFEFEEEEEEEFFFFEEFEEFEEFEEEFEEEEFEEEEFEEFEEEEEFFFFEEEEEEEEEEEEEFEEEEFEFEEEFEEEEEFEEEEFEEEEEFEEEFFEEFEEEEEEEEFEFEEEFEEFFEEFEEEEFEEEEEEFEEEEEEFEEFEEEEEEEFEEEEFEEEEEEEEEEFFEEEEEEEEEEFEEEEEEEEEEEFEEFEEFEEFEFEEEEEEFEFEEEEEEFEEEEEEFEEEEFFFEFEEEEEFEFEEEEEEEEEEEEEEEEFEEEEEEEEEEEEEEEEEEEEEFEEEEFEEFEEEEEFEEFEEEFEEEEEEEEEEEEEEEEFFEEEEEEFEEFFFFFEEEEEEEEEEEFEEEFEEEEEEEEEEEEEEEEFEEEEEFEEEFEEEEFFEEEEEEFFEEEEEEEEEFFEEEFEEEEEEEEFEEFEEEEEEFEEFEEEEEFEEEEEFFEEEEEFEEEEFEFEEFEEFEEEEFEEFEFEEEEEEEEEEEEFFEEEEEEEEEEEEEFEEFEEFEFEFEFEEEEFFEFEEFFEEEEEEEFEEEEEEEEEEFEEEFEFEEEEEEEEEEEEEEEEEFEEFEFEEEEFFEEEEEEEEEFEEEEEEEEEEEEEFEEEEEEEEFFEEEEEEEEEEFEEEEFEEEEEEEEFEFEEEEEEEFEEEEEEEEEEEEFFEFFEEEEEFEEEEEEEFEEEFEEEEEEEEEEEEFFEEEEEEEFEEEFEFFEEEFEEEFFEFEFEFEFFFEFFEFEEFFEEFFEFFEEEFEEFFEFEEEFEFFFEEEEFFEFFEEEFFEFFEFFFFFEEFEEFEFFEFFFEFEEFEEEFEEFFEEEEFEEFFFFFEEEFEFFFEFFEFFEEEEEEEEFEEFEEFEEFEFFEFFEEFEFFEEFFEEEFFFEFEEEEFFFFFFEFFEEEEFEFEFEFFFEFFEFEEEFEFFEFFFFFFFFFFFEEEFFEEFEFEEEEEEFEEEEEFFEFEEFFEFEFEEFFFEEFEEFFFFFEFFFFEFEFEEEFEFEFEFFFEFFFEFFEFEEEEFEEFEEFFEFEEEEFFFFEFEFFEFEFFEEEEFFEEFEEFEEFFFEFFFEFEFFEEEFEFFFEFEFEEEFFEEEEFFEFFFEFFEFEFEEFFEEEEEEFEEFFFEEFFEEFFEEEFFFFEEEFEEEFFEFEEEFEEEEFFEEFFEFEFEEEEEFFFEEEFEEEFFFEEEEEFFFFFEEEEEEEEEFEEEFEFFEEFFFEEFEFFFEFFEFFEEEEEFEFEFFEEFFFEFFEEEFFEFFEFFFEEEEFEEEFFEFFFFEEFFEFEFFEEFEEEEFFEEEEFFEFEFEEEEEEEEFFFFFEFEFEFFEEEFEFFEFFEEEFFEFEFFFEEFFFFFEFEEFFFFEEFFFEFEEFEEEEEEFFEEFFEEFEFFEFFEEEFFFEFFEEEEFEEEEEEEEEEEFFEEEEFEFEEFEEEFEEEFEEEEEEEFEFFFFEEFEFEFEEFFFFEFEFEEFFFFEFFEEFEEFEEEFEEEEFEEEEFEFFEEEEFFFFFEEFEFEEEEEEEEFEEEFFFFFEEFFFEEEFEEEEFFEEEEFEEEFFEEFEEEEEEFFFFFEEEFFEFFFEFEEEFFEEEFEEFEEEEEEFEFFFEEEEEEFEEEFFEEFEFEEEFEFFEEEEEEFEEEFEEFEEEEEEEEFEFFFEFEFFEFEEFEEEFFFEEFFEEFEFEEEEFEEEEFFFEFEFEEEFEFEEEEFEEEFEEEFFFEFFEEEEFFFFFEFEFEEEEFEEEFEEEEEEFEEFEEFFEFFEEEEEEEEFFFFFFFFFEEEFEEFFEFEEFEFEFEEEEEEFEEEEEEEEEEEFFEFEFFEFFEEEEFFFFFEFEFEEEEFEEEFEEEEEEFEEFEEFFEFFEEEEEEEEFEFFFFFFFEEEEEEFFEFEEFEFEFEEEEEEFEEEEEEEEEEEFFEFEFFFFEEFEFEEEEFEFEFFEFEEFEFEEFEFEEEFFFEEEFFEEEEEEEEEFEEEEEEEFEFEFEEEFFEFEEEEFEEFEEFEFFEEEEEFFEEEEEEEEEEEFFEEFEFEFEFEEFEEFEEEEFEEEEFEEEFEEEEEEEFFEEEEFFFFEEEEEEEFEEFEFEEEEFEEEFEFEEFFEEFEFEFEFEFEEEFEFEEFEEEFEFEEEFEEEEEEFEEFEFEEEEFEFEFEEFEFFFEEEEEFFEEEEEEFEEEEEEFEFEFEEEFEEEEEEEEEEEEFFEFEEEEEEEEFEEEEEEEEFFEEFEEEFEEFEEEEEEEFEFFEFEFEFFEEEEEEEEEFFEFFEFEEEEFEFEEEEEEEFEFFEEEEFEFFEEFFFEEEFEEEEFEEFEEEEEEFEFFEEFEEEEFFEFEEFEFFFEEFFFEEEEFEFEEFFEFEEEFEEEEEEEEEFEEEEEFEFEFEFEEFEEEEEEEFEEEEFEEFEEEEEEFEFEEEEFEEEEEEEFFEEEEEEEEEEEEEEEEFEEFFFEEEEEFFEEFEEFEEEEEEEEFEFEEEFFEEEEEEEEEEFEEFEEEEEEEFEEFEEEEEFEEFEEFEEFEFEFEEFEEEEFEEEEEFFEEEFEEFFEFEEEEEFFEFFEEEFEEEEEFEEEFEFFEEEEEEEEEEEFEEEEEFEEEEEFEFFEEEEFFEEFFEEEFFEEEEEEEFEEEFFEEEEEEEEEFEEEFFFEFEEEFEFFFEFFEFFFEFFFFFFEEFFEFFEFFEFFFFFFFEFFFEFEEFFFFEFEFFFFFEEFFFFEFFFEEFFFEFFFEEEFFFFFEFFEEFFFEFFFFFFFEFEFFFFEEFFFFFEEFFFFFFFFFEEFFEFFFFEFFFFFFEFFEEFFFFFFFFEFFFEFEFEFFEEEEFFFFEFFFFEFEFEEEFEFEEEFFEEFFFFFEEFFEEFEFFFEFFEFEFEFFFFEFFFFFEFFFFFEEFEFFFEEEFEFFFFEFFFFFFEEEFFFEFFFFFEFEEFFFFFFFFFFEEFFFFFFEEEFEFFEEEEEFFFFFFEEEEEFFEFFFFFEEFEFFFEFEFFEEFFEFFEFFFEEFFEFEFFFFEEEEFEFFFEEEFEFEFFEFFEFFFFFFFFFFFFEEEFEFFFEEFEEFEEEFFEEFFFEFFEEEFFFFEFEEEEFFFFEEFEEFEEEFFFEFEFEFFFFFFFEFEFEEEEFEFFFFEEFFEFFEEFFFEEEFFEFFFEFFFEFFEEFFEEEEFFFEFEEFEFEEEFEFEEEEFFEEEFEEFFFFFFEFFFEFEFEEEEEEEEFEFFFFEEEFFEEEEEFEEEFFEEFEFEFEEFEFEEFFEFFEFFFFEEEEFEEEFFFFFFFFFEFEFFEEEEFEEFFEFEFEEEEEEFFEEEFFFFFFEEEFFFFFEEEFFEEEFFEEEEFFFFEFFEEEFFEEFEEEFFFEFEFFEFFFFEFEEEEEFEFFFFFEFEFFFEEFFFEEEFFEFEFFFFEEFEFEEFFFEFFFFFEFFFFEEEEEFFEFFFEEEEEEFEFEFEEEFFEFFFEEFFFFFEFFFFEEFEEFFFFEEEFFFEEEFFEEFEFEFEFFFFEFFFEEEFEEEEFFEEFFFEFEEEFFFFFEFFFFFFEEEEFFFEFFFFEEEFEEEFEFEFFFEEFEFEFEFFFEEEFEFEFFFFEFEFEEFFEEFEFEFEFFEFEEFFFEFFFEEFEFFFEEEEEFFFEFEEEFEEEEEEFFFEFEEEFFEEEFFFEFFFEFEEFEFEEFFEFEEFEFEFFFFEEFFEEFEEFEFFFFFEEFEEFFFEFFEEFEEEEFFEFFFFFFFEFEEEFFFEEEFEEEFFFEEEEEFFFFFFFFFFFEFEEFEFEEEFEFEFFEFEFFFFEEFFEEFEEEEFFFFEEEFEFFFFEFFEEFEEEEFFEEFFFFEFEEEEEFFFEEEFEEEFFFEEEEEFFFFFFEEEEEEEEEEEFFEFFEEFFFEFFFFFFEFFEFEEEEEFEEFEEFEEFFFEFFEEEFFEEFEFFFEEEEFEEEFEEFFFFEEFFEFEFFEFFEEEEFEFFFFFFEFEFEEEEEFEEFFEFFEEEFEFFEEEFEFFFFFFEEFFEFEFFFFEFFFFFEFEFFFFFEEFFFEFEEFEEEEFEFFEEFFEEFFFFEFFEEEFFFEFFEFEEFEEEEEEEEEEEFFEEEEFEFFEFFEEFEEFFEEEFEEEFEFFFEFEFFEEEEFEFEEFFEFFEEFFFFFEFFEEEEFEFEEFFEEFFEFFEFEEEFFEEFEFFFFEFFFFFEEFFFEEFFFFFFEEEFEFEEFEEFEEEEFEEFFEEFEEEEEEEEEFFEEFEEEFFFEFFEFFEFEEEFFEEFFEFEFFEFFEFFFFEFEEEEFFEFEFFEEEFEEEEFEFEEFEEEFEEEEEEEEEEEFEEEEEFEFEEFFEFFFEFEFEFFFFFFFEEEFFEFEEEEEEEFEEEEEEFEEFEFEEFEEEFFEEEFEEEEEFEEEFEFEFFEEEFEFEFFEEEEEFEEFFEEFFEFEEEEFEEFFEFEEEFEFFFEEEEFFEFEEEEFFEFFEEFFFFEEFEEEEFFEFFFEEEEEEEEEEEFFEEEEFEEFFFEFEEEEEEFEFFEFEFFFFEFFEFEEEEFEEFEFEEEEEEFEEEEEFEEFEEFFEEEFEEEFFEEEEEFFFFFEFFEEFFFFFFFFEFFFFEFFFFFFEFEEFFFEFFFFFFFFFFFFFEFEFFFFFFEFFEFFFEEEEFFEFFFFFFEFFFFFFFEFFFFFFFFFEFFFFFFFFFEFFEFFEFFEFFFFFFFFFFEFFFFFEFFFFFFFFFEFFFFEFEFFEFFEFFFFEFFEEFEFFFFFEFFFFFFFFFFFFFFFFEFFFEFEEFEFFFEFFFFFEFFFFEFFFFEFFFFEFFFFFFFEFFFFFEEFEFFFFFFFFFFFFFFFFFEEFFEFFEFFFFFFFFFFEFEFFFFEEEFFEFEFFFFFFFFFEEFFFFEFFFFFFFFFFFFFFFFFFFEEFFFFFFFEFEEFFFEFEFFFEFFFFFFFEFFFEFFFFFFFFFFFFEFFEEFFFFFFFFFEFFFFFEFEFEEFEFFEFFEFFFFEFFEFFFEFFFFFFFFFFFEFFFFFFEFFFFEFFFFFFFFFFEFFFFEFFFFEFEFFFEFFFFEFFFFFEFFEFFFFEFFFFFFFFEFFFFEFFEEFFFFFFEFFFFFEEFFEFFEEEFFFEEFFFFEFEFFFFFFFFFFFFFFFFFFFFFFFFEFFFEFEFFFFEFFFFFEFFFFFFEEEFFFFFFFEFFFFFFEFEFFEFEFFFFFFFFFEFFFEFFFFEEFFFFFFFFEFEFFFFFFFFFFFFFFEFFEEEEFEFFFEFEFFFFFFFEFFFEFFFFFFFEFFFFEFFFFFFFEFFFFEFFFFFEEEFFFFFFFEEFFEFFEFEFFFEFFFFFEFFEEFFEEEFEFFFFFFFFFEFFEEFFEFFFFEEEEFFEFFEFFFFFFFFFFEEEFFFEFEFFFEEEFFEFFFEFFFFFFFFFEFEFFEFFFEEFFEEFFFFFEFFFEEFFFFEEFFFFFEFEFEFFEFEFEFFFFFEEFFFEFEFFFEFFFFFFEFFEFFFFEFFFFFFFFFEEFEFEFFEEFFFFFEFFFFFEEEFFFFFFEFEFFFEFEEEFFFEFFFEFEEFFFFFFFEEFEFEFEEFEFFEFFFFFEFEFFFFEFFEFFFEEFFEFFFFFFFFFFFFEEEFEFFFEEFEEFFEEFEEFEFFEFFEFEFFFFEFEEFFFFFFEFFEEFEFEFFFEFEFEFFFEFFFEFEFEFFEFFFEFFEFEFFFEFFFFFFFFFFFFEFEFEFFFEEFEEFFEEFEEEEFFEFFEFEFFFFEFEEEFFFFFEEFEFFEFEFFFEFFFEFFFEFFFFFEFFEFEFEFFFFEFFFFFFEEFFFFEFFFEFFFFFFFEEFEEFFEEEFFFFEFEEFFFEEEFEFEEEFFEFFEFFEFFFEFFEEFFEFEFFEEEEFEEFEFFFFEEFFFFFEFFEEFEFFFEFEFEFFFFEFEEFFFFEEEFFFEEEEFFEEFEFFFFFFFEEEFFEEEEFEEFFEFEFEEEFEEFEEEFFFFFFFEEEFFFFFEEEFEEEEEFEEFEEFFFEFFEEFFFEEFEEFFFFFFEFFFFFFFEFEEEEEFFFFFFFEEEFEEEFEFFEFFFEFFFFFEFFFFFFFEFFEFFEFEEFEEEFFFFEEFEFEEFFEFFFEFEFFEEFFEFEFFFFFEFFEFFEFFFFFFEEEFFFFEFFFFFFFFEFEEEFEFFEFFFFFFEFFFFEEFFFEEFEFEFEEEFFEFEEEFEFFFFFFEEFFFEEFFEEEFEFFFFFEFFFFEFEFEFEFFFEFEFFFEFFFEFFEFEEFEFEEFEFFFEFEEEEFEFFFFEFFEFEFFEFFEFFEFFEEFEEEFFFFFFFFEFFEEEFEFFEFFEFFEEFFFFFEEEEFFFEFFFFFFEFFEFFFEFFEFFFFFFFEFFEFFEEEFFEEEEEFFEFEEFFFEEFFFEEEFFEEFEEEEFFFFEEFFEEFFFEEEFFFFFEEFFFFEFEFEEEFFFEFEFFFEFFFEFFEFFFEEFEEFEFFFEFEEEEFEFFEFEFFEFEFFEFEEFFEFFEEFEEFEFFFFFFFFFFEFFFFFFEFFFFFFFFFFFFFFFFFFFFFFFFFEFFFFFFEFFFEFFFFFFFFFFFFFFFFFEFFFFFFFFFFFFFFFFFFFFEFFFEFFFFFFFFFFFFFFFFFFFEFFFFFFEFFFFFFFFFFFFFFFFEFFFFEFFFFFFEFFFFFFEFFFFFEFFFFFFFFEFFFFFFFFFEFFEEEFEFFEFFFFFFFFFEFEFFFFFFFEFFEFFFFFFFFFFFFFFFFFFFFFFFFEFFFFFFFFFFFFEFFFFFFEFFFFEFFFFFFEFFFFEFEFEFFFFFEFFEFFFFFEFFEFFFFFFFFFFFFEFFFEFFFFFEFEFFFFFFFEFFEFFFEFFFFFFFFEFFFFEFFFFFFFFEEEFFFFFFFFFEFFFFFFFFFFFFEFFFFFFFFFFFFFFFFFFFFFFFFFFFEFFFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFFFFFFFFFFFEFFFEFFFFFFFFFFEFFFFFFFFFFFFFFEFFFFFFEFFFFFFFFFEFFEEFFFFEFFFFFFEFFFFFFFFFFFFFEEFFFFFFFFFFFFFFFFFFFFFEFFFFFFFFEFFFFFFFFFFFFEFFFFFFFFFFEFFEFFFFFFFFFEFFFFFFFFFFFFFFEFFFEFFFFFFEFFFFFFFEEFFFEFFEFFFFFFFFFFFFEFEFFFFFFFFFFFFEFEFFFFFEFFFFEFFFFFFFFFFFFFFFFFFFFEFEFFFFFFEFEFFFFFFFFFFFFFEFEEFFFFFFFFFFFFFFFFFFFFFFEFFEFFFFEEFFFFFFFFFFFFFFFEFFFFFFFFFFFFFFFFFFFFFFFFFFEFFFFFFEEEFFFEFEFFEFEFFFFFFFFFEFFFFEFFFFFFFFEFFFFFFFFFFFFFFFFFFFFEFFFFFFFFEEFFFFFFFFEFFFFFFFEEFFFEFFFFEFFFFFFEFFFFFFEFFFEFEEEFEFEEEFFFEFFFFFFEFFFEFFFFFFFFEEFFEFFFFFEEFFEFFFFFFEEFFEFFFFEFFFFFFFFFEFFFFFEFFEFEEFFFFFFFFFFEFFFFFFFFFFFEFEFEFFFEFFFFEFEFFFFFFFEFEEFFFFFFFEFFFEFFFFFFFEEFFFFFFEFFFFFFFFFFFEFFEFFEFFEFEEFEEFFFFFFFFFEFFFFFFFFFEFEFFFFFEFFEFEFFFFFFFFFEFFFFFFEFFFEFFFFEFEFFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFFEFFFFFFEFFFEFFEFFFFEEFEFFFFEFFFEEEFFFFFFFFFFFEFFFEFEEFFFFFFFFFFFEFEEFFFFFFFFFEFFFEEFFFFFFFEFFFEFFFFFFFFEEEEFFFFFFEFFFFFFFEFEEFFEFFEFFFFFEFFEFEFEFEFFFFEFEFFFFFFEFFFFFFEEFFFEFFFFFFEFFFFEFEFFFFFFEEFEEFFFFFFFFFFFFFFEFEFFFFFEFFEEFEFEFFFFFFFFFFFEFFFEFFFFFFFFFEEFFFFFFFFFFFEEEFEFEFFFFEFEFFFFEFFEFFFFFEEFEEFFFFEFFFFFFFFFEFFFFFEFEFFEEFFFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFEEFFFFEEFFFFFFEFFFFFFEFFFFEFEFFEFEFFFFFFFFFFFFEFFEEEFEFFFFFFFEFFFEFFEFEEFFFFFFFEFFFEFFEFFEEFEFFFEFFFFFEFFFFFFFFFEFFEFFEFFEEFFFFFFFFEFEFFFEEFFFFFFFFFFFFEEFFFEFFFFFFFEEEFFFFFFEFEFFFFFFFFEFFFFEFFFFEFFFFFEFFFFFFFFFFFFFFEFFFFFEFFFEFFEEFFFFEFEFFFEFFFEEFFFFFEEEFEEEEFEEFEFFFFFFFFFFEEEEEFFFFEEEFFFFFEFFFEEEEFEFEFFFEFEEEFFFEFEFEFFEFFEFEFFFFEEFFEFEFEEFFFFFFFFFFFFFFFFFFFFFFFFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFFFFFFFFFFFFFFEFFFFFFFFFFFFEFFFFFFEFFFFFFFFEFFFFFFFFFFFFFEFFFFFFFFFFFFFFFFFFFFFFFFFEFFFFFFFFEFFFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFFFFEFFFFFFFFFFFFFFFFFFFFFEFFFFFFFFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFFFFFFFFFFFFFEFFFFFFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFFFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFFFEFFFFFFFFFFFFFFFFFFFFFFEFEFFFFFFFFFFFFFFFFFFFFFFEFEFFFFFFEFFFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFFFFFFFFFEFEFFFFFFEFFFFFFFEFFFFFFFFFFFFFFEFFFFFFFFFFFFFFFFFFFFFFFFEFFFFEFFFFFFFFFEFFFFEFFFEFFFFFFFFFFFFFFFFFFFFFFFFFFFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFFFFFFFFFFFFFFFFFFFFFFFEFFFFFFFFFFFFFFFFFFFFFFFFFFFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFFFFFFFFFFFFFFFFFFFFFFFFEFFFFFFFFFFFFEEFFFFFFFFFFFEFFFFFFFEFFEFFFFFFFFFFFFFFEFFFFFFFFFFFFFFFFFFFFFFFFFEEFFFFFFFFFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFFFFEFFFFFFFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFFFEFFEFFFFFFFFEFFFEFFFFFFFFFFFEEFFFFFFFFFFFFFFFFFFFFFFFFFFFEFFFEFFFFFFFFFFFFFEFFFFFFFFFFFFFEEFFFFFFFFFFFFFEFFFFFFFFFFFFFFFFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFFEFFFFFFFFFFFFFFEFFFFFFFFFFFFFFFFEFFFFEFFEFFFFFFFEFFFFFFFFFEEFEFFFFFFFFFFFFFFFFFFFFFEFFFFFFEFFFEFFFFFFFFFFFFFFFFFFFFFFFFFFEEFFFFFFFFFFEFFFFFFFFFFEFFFFFFFFEFFFFEFFFFEFFFFFFFFFFFFFEFFFFFFFFFFFFEFFFFFFFEEFFFFFEFFFEFFFFEFFFFFFFFFEFFFFEFFEFFEFFFFFFFFFFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEEFFFFFFFFFFFFFFFFFFEFEFFFFFFFFFFFFFFFFFFFFFFFEFFFEFFEFFFFFFFFFEFEFFFFFFFFFFFFEFEFFFFFFEFFFEFEFFFFFFFEEEFFFFFFFFFFFFFFFFFFFEEFFFFFEFFFFFFFEFFFFFFFFEFFFEFFFEFFFFFEEEFFEFFFFFEFFFFFFFFFFFFFFFFFEFEEFFFFFFFFFFFFFFFFFFFFFEEFFFEFFFFFFFFFFFFFFFFFFFFEFEEFFFFFFFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFFFFFEFFFEFEFEFEFFFFFFFFFFFFEFFFFFFFEFFFFFFFFFEFFFFFFFFFFFFFFFFFFFEFFFFFFFFFEFFFFEFFFFFEFFFFFFFFEEFFFFFFFFFFFFFFFFFFFFEEFFEEFFFEFFFFFFFFFFFEFEFFFEFFFFFFFFFFFFFFFFFFFFEFFFFFFFFFFFFFFFFFEFEFEFFEEFFFEFFFEFFFFEFEFFFFFEFFFGFFFFFFFGFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFGFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFGFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFGFFFFFFFFFFGGFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFFFFFFFFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFFFFFFFFFFFFFFEFFFFFFFFFFFFFFFEFFFFFFFFFFFFFFFFFFFFFFEFFFFEFFFFFFFFFFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFFFFFFFFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFFFFFFFFFFFFFFFFFFFFFFFFFEFFFFFFFFFFFFFFFFFFFFFFFFFFFEFFFFFFEFFFEFFFFFFFFFFFFFFFFEEFFFFFFFFFFFFFFFFFFFFFFEFFFFFFFFFFFFFFFFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFFFFFFFFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFFFFFFFFFFFFFFFFFFFFEFFFFFFFFFFFFFFFEFFFEFFEFFFFEFFFFFFFFFFFFFEFFFFFFFFFEFFFFFFFFFFFFFFFFFFFFFFFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFFFFFFFFFFFFFFFFFFFFFFFFFEFFFFFFFFEFFFFFFFEFFFFFFFFFFFFEFFFFFFFFFFEFFFFFFFFFFFFFFFFFFFFFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEEEFFFFEFFFFFFFFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFFFFEFFFFFFFFFEFFFFFFFFEFFFFFFEFFFFFEFEFFEFFEFEFFFFFFFFFFFFFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFGFFFFFFFFFGFFGFFFFFGFFFFFGGFFFFFGFFFFGFGFFGFFGFFFFFFFGFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFGFFGFGFGFGFFFFGGFGFFGGFFFFFFFFFFFFFFFFFFGFFFFFGFFFFFFFFFFFFFFFFFFFFFFGFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFGGFFFFFFFFFFGFFFFFFFFFFFFFFFFGFFFFFFFFFFFFFFFFFGGFFFFFFGFFFFFFFFFFFFFFFFFGFGFFFFFFFFFFFFFGFFFFFFFGFFFFFFFFFFFGFFFFFFFGFFFGFFFFFFFFFFFFFGFFFFFFFFFGFFGFFFFGFFFFFFFFFGFFFFFFFFFFFFFFFFFFFFFFGFFFFFFFFFFFFFFFFFFFFGFFFFFFFFFFFFFFFGFFFFFFGFFFFFFFFFGFFFFFFFFFFFFFFFFFGFFFFFFFGFFFFFFFFFFFFFFFFFFGFFFFFFFFFFFFGFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFGGFFFFFGFFFFFFFFFFFFGFFGFFFFFFFFFFFFFFFFFFFFFFFFFFFFFGFFFFFGFFFFFFFFFFFFFFFFFFGFFFFFFFFFFFFFFFFFFFFFFFGFFGFFFFFFFFFFFFFFFFFFFFFFFFFFFGFFFFFFFFFFFFFFFFFFFFFFGFFFFFFFGFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFGFFGFFFFFFFFFFFFFFFFGFFFFFFGGGFFFFFFFFFFFFFFFGFFFFFFFFFFFGFFFFFFFFFFFFFFFFFGFFFFFFFGFFFFFFFFFFFFFFFFFGFFFFFFFFFFFFFFFFFFFFFFFFGFFFFFFFFFFFFFFFGFFFFFFFFFGFFFFGFFFFFGFFFFFFFFFFFFFFFFFFFFFFFFGFFFFFFFFFFFFFFFFFFFFFFGFFFFFGFFFFFFFFFFFFFFFFFFFFFFFFFGFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFGFGFFFFFFFFFFFFFFFFGFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFGFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFGFFFFFFFFFFFFGFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFGFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFFFFFFFFFFFFFFFFFFFFFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFGFFFFGFGFFGGFGFFFGFFFFFFFFFGFFFFFFFGFGFGFFGFFFFFFFGFFFFFFFGFFFFFFGFGFFFFGFFFFFFFGGFFFFFFFFFFFFFFFFGFFGGGFFFFFGGFFGFFGFFFFFFFFGFGFFFGGFFFFFFFFFFGFFGFFFFFFFGFFGFFFFFGFFGFFGFFGFGFGFFGFFFFGFFFFFGGFFFGFFFGFGFFFFFGGFGGFFFGFFFFGFFGFFGGFGGFFGFFFFGFGFFGGFFGFFGGFGFFFFGFFGFGGFGFFFGFFFFGGGFFGFFGGFFFFFFFFFFFFGFFFFGFFGFFFGFFFFFFFFFGGFFFFFFFGFFFGFFFFFFFFGGFFFGFFFGFFFFFFFFGFGFFFFFGFGFFFFFFFGFFFFGFFFFFFFFFFGGFFFFFFFFFFGFFFFFFFFFFFGFFGFFGFFGFGFFFFFFGFGFFFFFFGFFFFFFGFFFFGGGFGFFFFFGFGFFFFFFFFFFFFFFFFGFFFFFGGFFGFGFGFFFFGFFFFFFFFFFGFFFFFGGFFGFFFFFFFFFFFGGGGGGFFFFFFGFFFFFGFGFGFFFFFFGFFFFFFFFFFFFGFFFGGGGFFGFGFFFFGFGFGGFGFFGFGFFGFFFFFFGGFFFGFFFFFFFFFFGFFFFFFFFFFFGFFFFGFFFFFFFFFGFFGFGGFFFFFFFFFFFFFFFFFFFFFFFFFFGFFFFGFFGFFFFFFFFFGFFFFFFFFFFFFGFFFFFFFFFFFFFFFFFFFFGFFFFFFFFFFFFGFFFFFFGFGFFFFFFFFFFFFFFGFFFFFFFGFFFFFFFFFFFFFFGFFFFFFFFFFGFFFFFFFFFFFFFFFGGFFFFFFGFGFFFFFFGFGFFFFFGFFFFFFFFFGFFFFFFFFGFFFFGFFFFFFGGGFFFFFFGFFFFFFFGFFFFFFGFGFFFFGFFFFFFFGFFFFFFFFFGFFFGGGFFGFGFFGFFFFFFFFFFFGFFFFFFFFGFFFFFFFFFFFFFFGFFFFFFFFFFFFFFFFFFFFGFFFFFFFFFFFFFFFGFFFFGFFFFFFFFFFFFFFFGFFFFFFGFFFFFGFFFGFFFFFFFFFFFFFFFGFGFFFFFFFGFFFFFFFFFFFFFFFFFFFFGFFFFFFFFFFFFFFFFFFFFGFFFFFFFFFFFFFFFGFFGFFFGFFFFFGFFFGFFFFFFFFFFFFFFFFFGFFFFFFFGFFFFFFFFFFFFFFFFFFGFGFFFFFFFFFFGFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFGGGFFFFFFFFFFFFFFFFFFFFGFFFFFFFFFFFFFFFFFFFFFFFFFFFFFGFFFFFGFFFFFFFFGFFFFFFFFFGGFFFFFFFFFFFFFFFFFGFFFFFFFGFFFFFFGFFFFFFFFFFFFFFFGFFFFGFFFFFGFFFFFFFFFFGFFFFFGFFFFGFFGFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFGFFFFFFFFFFFFFFFFFFFFFFFFFGFFFFFGFFFFFFFFFFGFFFFFGFFFFFFFGFFFFFFFFFFFFFFFFFFFFFFFFFFGFFFFFFFFFFFFFFFFGFFFFFFFGFFFFFFFFFFFFFFFGGFFFFFFFFFFGFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFGFFFFFFFFFFFFFGFFFFFFFFFFFFFFGFGFFFFFFFFFFFFFFFFFFFFFFFFFFGFFFFFFFFGFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFGFFFFFFFFFFFFFFFFGFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFGFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFGFFFFFFFFFFFFFFFGFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFGFGFFFFGFFFFGFGFFGFFFGFFFFFFFFFFFFFFFFFGFGFFGGFGGGFGFGFGFGGGGGFFFFGFGFFFFFFFGFFFFFFGFFGFGFFGFFFGGFFFGFFFFFGFFFGFFFGGFFFGFGFGGFFFFFGFFGGFFGGFGFFFFGFFGGFGFFFGFGGGFFFFGGFGFFFFGGFGGFFGGGGFFGFFFFGGFGGGFFFFFFFFFFFGGFFFFGFFGFFGGFFFGFGGGFGGFFFFFFFFFFFGFFGFFGFFFFFGFGGFFFFGGFFGGFFFGGGFFFFFFGGFFGGFFGFFFFFFGFFFGGGFGFFFFFFGFGGFGFFGGGFGGFGFFFFGFFGFGFFFFFFGFFFFFGFFGFFGGFFFGFFFGGFFFFFFGFFGFGFFFFGFFFGFGFFGGFFGFGFGFGGGFFFGFGFFGGGFGFGFFGGFFGFFFGFFGFGFFFGGFGFGFFGFGGGFFFFFGGFFFFFFGFFFFFFGFGFGFFFGFFFFFGFFGGGFGFFGFGFFFGFFFFFFFFFFFGFFGGFFGFFFFGGGGFFFGFFFGGFGFFFGFFFFGGFFGGFGFFFFFFFGGGFFFGFFFFFFFFFFFGGGFGFFFFFFFFFFFFFGFGGFFGGGFFFFFGFFGGFFFFFFFFFFGFFGFFGGGFFGFFFGFFFGFGFFFFFFGFFFGFFGGFGFFGGFGFFGFFGFFFFGFFFFFGGFFFGFFFFFFFFGGFGGFFFGFGGFFFGFGGFGGFFFFGFGFGGFFFFGFGFFGFFFFFGGGFFFFGFFFFFFFFFFFFFGFFFFGFFFGFFGGGFFFGGFFFFGFGFFFFFGFFGFGFFFFFFFFFFFFFGFFFFFFFFFFGFFGFFGFFGFFFFFFGGGFFFFGFFGGGGFGGFFGFFGFFFGFFFFGFFFFGFGGFFFFFGGGGFFFFGFFFFFFFFGFFFFGFGFFFGFFFFFGFFFFGGFFFFGFFFGGFFGFFFFFFFGGFGFFFGFFGGGFGFFFGGFFFFFFGFFFFFFGFFGFFFFFFFGFFFFGFFGFFFFFFFGGFFFFFFGFFFGFFFFFFFFFFFGFFGGFGFFGFGFFFFFFGFGFFFGFFGFFFFFFGFFFFGGGFGFFFFFGFGFFFFFFFFFFFFFFGFFFFFFFFFFGGFFFFFFGFFFGFFFFFFFFFFFGFFGGFGFFGFGFFFFFFGFGFFFFFFGFFFFFFGFFFFGGGFGFFFFFGFGFFFFFFFFFFFFFFFFGFFFFFGGFGGFGFGFFFFGFFFGFFFFFFGFFGFFGGFFGFFFFFFFFFFFGGGGGGFFFFFFGGFFFFGFGFGFFFFFFGFFFFFFFFFFFGGFGFGGGGFFGFGFFFFGFGFGGFGFFGFGFFGFFFFFGGGFFFGGFFFFFFFFFGFFFFFFFFFFFGFFFFGFGFFFFFFFGFFGFGGFFFFFGGFFFFFFFFFFFFFFFFFFFGFGFFGFFGFFFFFFFFFGFFFFFFFFFFFGGFFFFFFFGFFFFFFFFFFGFGFFFFFFFGFFFFFFFFFFGFGGFFFFFGGFFFFFFFFFFFFFFFFFFFGFGFFGFFGFFFFFFFFFGFFFFFFFFFFFGGFFFFFFFGFFFFFFFFFFGFGFFFFGFFFFFGFFGGFFFFGFFFGFGFFFGFGFFGFFFGFFFFFFFFFFFFGFFFFGFFFFGFGFGFFFFFFGFFFFFGGFFFFFFGFFFFFFFFGFGFFFGFFFFFGFFFFGFFFFFFFFFFGFFFFFFFFFFFGFFFFFFFFFFFFGGFFFFGFFFFGFFFFFFFFFFGGFFGFFGFFFFFFFFFGFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFGGFFFGFFFFFFGFFFGFFFFFFFFFFFFFGFFFFGFFGFFFGFFFGFFFFFFFGFGFFFGFFFFFFFFFGGFGFFFGFFFFFGFFFGFFFFFFFFFFGFFFGGFFFFFFFFFFFFFFFFFFFGFFFFFGGGGGFGGGGFGFGFFFGGGFGFGGGFGGGFGGFGFFFFGFFGFGGGFGFFFFGFGGFGFGGFGFGGFGGFGGFFGFFGFFFFGGGGGGGFGGFFFGFGGFGFFGFFFGFGGGFFFFGGGFGGGGGFFFGFFFGFGGFGGGGGGGFGGFFGFFFGGFFFFFFGFGFFGGFFFGGGFFFGGFFFFFFFGGGGFFGGFFFGGFFFGGGGGFFFGGFGFFFFFGFFFGGGFGGFGFFFGGFGGFGFGGGFGFFGGFFGGGFGFFFFGGGFGFFFGGFFFFGGFGFGGGFFGFGFFFFFGFFFGGFFGGGGGFFGFFFFFFGGFFGFGFGFGGGFFGGGGGFFGGFFFFGFFFGFFFFFFGGFFFFFFGFFGGGGGFGFFGGGGFFGGGFGGFGFFGFGFGGFFGGFFGFGGFGGFFFGGGFGGFGFFGFFFFFFFFGFFGGFGFFGFGGFGGFFGFFFGFFGFFFFGFGGGFGFGGFFFFGFGFGFFGGFGGGGGFFGFGGGFFFGFGGFFFGFFFFFFGFFFFGGFGGFFFGGFGFGFFFFGGGGFFGFFFFFFGFGFGFGFFGGFGGGFGFGFFFFGFGFGGFFGGFGGFFGGGFFFGFFGGFFFGGFFGFFGGFFFFGGGFFFFFFGFFFFFGFFFFGFFFFGFFGFFFGGFFGGFGFGFFFFFFFFGFGFGGFFFFGFFFFFFFFFGGFFGFGFGFFGFGFFGGFGFFFFGGFFFFGFFFGFGFGGGFGFFGGGFGGFFFFGGGGGFGFGFFFFGFFFGFFFFFFGFFGFFGGFGGFFFFFFFFGGGGGGGGGFFFFFFGGFGFFGFGFGFFFFFFGFFFFFFFFFFFGGFGFGGGGFFGFGFFFFGFGFGGGGFFGFGFFGGGFGFGGGFFFGGFFFFFFGFGGGFFFFFFGFGFGFFFGGFGGFFFGFGGGFGGGGFFFFFGGFFFFFFFGFFFGGFFGFGFGFGFFGFFGFFFFGFFFFGGFFGGFFGFFFGGFFGFGGGGGFFFFFFGGFGFGFFFFGFFFGFGFFGGFFGFGFGFGGGFFFGFGFFGGGFGFGFFGGFFGFFFGFFGFGFFFGGFGFGFFGFGGGFFFFFGGFFFFFFGFFFFFFGFGFGFFFGFFFGFFFGFGFFGGFFGFGFGFGGGFFFGFGFFGGGFGFGFFGGFFGFFFGFFGFGFFFGGFGFGFFGFGGGFFFFFGGFFFFFFGFFFFFFGFGFGFFFGFFFFFGGFGGGFGFFGFGFFFGFFFFFFFFFFFGFFGGFFGFFFFGGGGFFFGFFFGGFGFFFGFFFFGGFFGGFGFFFFFFFGGGFFFGFFFGFFFFFFFGGGGGFFFFFFFFFFFFFGFGGFFGGGFFFFFGFFGGFFFFFFFFFFGFFGFFGGGFFGFFFGFFFGFGGGFFFFGFFFGFFGGFGFFGGFGFGGFFGFFFFGFFFFFGGFFFGFFFFFFFFGGFGGFFFGFGGFFFGFGGFGGFFFFGFGFGGGFFFGFFGFGFFFGFGGGFFFFGFFFGFFGGFGFFGGFGFGGFFGFFFFGFFFFFGGFFFGFFFFFFFFGGFGGFFFGFGGFFFGFGGFGGFFFFGFGFGGGFFFGFFGFGFFGGFGFFFFGFGFFGFFFFFFGGFFGGFFGFGGFGGFFFGFFFGGFFFFGFFFFFFFFFFFGGFFFFGFGFFGFFFGFFFGFFFFFFFGFGGGFGFGFFFFFGFGFFFFGGFGGFGGFFFFFGGFFFGFGGFFFGFFFFFFGFFFFGFFGGFFFGFFGFGFFFFGFFFFFGFFFFFFFFGFGFGFFGGFGGFFGFGFFFFFFGFFFFFGGFGFFFGGFFFFGFFGGFFFGFFFGFFGGFFFFFGFFFFFFFGFFFFFGFFFFFFFFFFGFFGFGFFFGFFFFFFFFGFGFFFFGGFFFFFFFFFFFFFFGFFFFGGGGFGFGGFGGFFFFFFFFFFGFFFGFGFGFFFGGFFFGGGFGGGGGFGGFFGGGGGGGGFFFFGGGGGFFFGFGGFFFFFGGGGGGFFFFFGGFGGGFGFFGFGGGFGFGGFFGGFGGFGGGFFGGGGFGGGGFFFFGGGGGGGGFGGGGFGGGGFGFGFFFFFFGFGFGGGGGGFFGFFFFFGGGFFGGFFGGFFFFFGFGFGGGGFGGGFGGFFFGGGGGGFFFGGFFGFGFFFGFFGGFGGFFGFFFGGGGGFGGFGGFFFGGGGFGFFGGGGFGFFGFGGFFFGGFGGFFFFGGGGFFGFGGGFFFFGGFGGGFFGGFFFFFFFGFGFGFFGGFGFFGFGFGGFGGFFFGGGGGGGFGGGGGFFGFFGGGGGGGGGGFGGGFGFFGGFFGFGGGGGFGGFFFFGFFGGGGFGFFGFFFGFFFFGGFGGGFFFGGGGGFFFGFFFGFGFFFFFGGGFGGFFGGGFFGGFFGGGGGFGGFGGGGFGFFFFFGFGGGGGFFFGFFFGFGGFGGGFFGGGGGFGFFFFFFFGFGGFGGGGFFGFGGGFGGGFGFFFGGGFGGGGGGFFGGGFFGGGGGGFGGFGGGGFGFGGFGFGGGFGGGGFGGGGGFGFFGFFFFGGGGGFFGFGGFGFGGFFGGGGGGFGGGGGFFFGFGGFFFFGFFFGGGFFGFGGGFGGGGGFGGGGFGGGGGGFGFFGGGFFFGFGGFGFGGGFGGGGFGFFFGGGGGGFFGGGFGGFGFGGFGFGGGGFGGGGFGFGFGGFGFFGGGGGGFFFGGGFGGGFGFFGFGFFGGFGFFGFGFGGGGFFGGFFGGFFFGGGGGFFGFFGGGGGGFFGFFFFGGFFGGGGGGFGFFGGGGGFFGFFFGGGFFFFFGGGGGFFFFFFGFFFFFFGFGGFFGGGFGGFFGGFGGFGFFFFFGFFGFFGFFGGGFGGFFFGGGFGFGGGFFFGGFFFGFFGGGGGFGGFGFGGFGGFFFFGFFFGGGGFGFGFFFGFGFFGGFGGFFFGFGGFFFGFGGGGGFFFGGFGFGGGFGGGGGGFGFFGGGGFFGGGFGGFGFFGFGFGGFFGGFFGFGGFGGFFFGGGFGGFGFFGFFFFFFFFGFFGGFGFFGFGGGGGFFGFGFGFFGFFFFGGGGGFGFGGGFFFGGGGFFGGGFGGFGFFGFGFGGFFGGFFGFGGFGGFFFGGGFGGFGFFGFFFFFFFFGFFGGFGFFGFGGGGGFFGFGFGFFGFFFFGGGGGFGFGGGFFFGFGFGFFGGFGGGGGFGGGGGGFFFGFGGFFFGFFGFFFGFFFFGGFGGFFFGGGGFGFFFFGGGGFFGFFFFFFGFGFGFGFFGGFGGGFGFGFFFFGFGFGGFFGGFGGFFGGGFFFGGFGGFFFGGFFGFFGGFFFFGGGFGFFFFGFFFGFGFFFFGFFFFGFFGFFFGGFFGGFGFGFFFFFFFFGFGFGGFFFFGFFFFFFFFFGGFFGFGFGFFGFGFFGGFGFFFGGGFFFFGFFFGFGFGGGFGFFFFGFFFFGFFGGFFGFFFGGFFGGFGFGFFFFFFFFGFGFGGFFFFGFFFFFFFFFGGFFGFGFGFFGFGFFGGFGFFFGGGFFFFGFFFGFGFGGGFGFFFFGFFFFGFFGGFGFGFFFFFFGFFFFGGFGGFFFFGGGFGFFFFFFFFFGFFFFFGFGFGGFFFFGFFGFFFGFGFGFGGFGGGGFGFFFFFGFGGGGGFFFFFFFGFGGFGGGFFFGGGGFGFFFFFFFGFGGFGFGGFFGFFGGFGGGFGFFFGGFFGGGGGGFFGGGFFGGGFGGFGGFGGGGFFFGGFGFFGGFGGFGFFGFFGFGFFGFFFFGGGFGFFGFFGFGFGGFFGFFGGFFFFFFGFFFGFGGFFFFFFFFGFGFFGFFFGFGFGGGFFGGGFFGFFFFGFFGGGFGGFFFGFFFFGFFGFGFFFFFFFGGGGFFFGGFGFFGFFFGFFGFFFGFFGFGFGFFGFFGGGGGGFGFGGGGFFGGGGGFFFGGGGGGFFFGGGGFGGGFGGGGFGFGGGGGGGFFFGGGGGGGGGFFGGGGGFGGGFGGGGGFGGGGGGGGGGGGGGGGGGGGGGFGGFGFGGGGGGGFGGGFFGGGGFGGGGGFFGFGFGGGFGGGGGFGFGGGGGGFGFGGFGFFGGGGGGFGGGGGFFGGGGFGGFGFGGGGGGGGFGFGGGGGGGGFGGGGGFGGGGGGGGGFFGGGGFFGGFGGFFGFFGGFGFGGFGGGGGGGGGGFFFGGFFFFGGFFGFGGGFGGGGGGFFGGGGFGGGGFGGGFFFGGFGGGGFFGGFGFGGGGFGGGFFGGGGGFGFGGFGGGGFFGGGFFFFGGGGGGFGGGFGFFGGFGGFGGGGFGFGGGGGGGFGGGFFGGGGGGFGFGGFGGFGFGFGFGGGGGGGFGGGGFGGGGGGGGGGGGFGGGGGGFGGGGGGGGFFGGFGGFFFGGGFGGGGGGGFGGFGGGGFFGGGGGGFGGFFGGGGGGGGFFGGFFGFGFGGFGGGGGFGFGFGGGGGFGGGFGGGFGFGFGGGFFGGGFFGFGFGFGGGFGGFGGFFFFGFGGGFGGGGGFGFFFGGFGGGFGFGGGGGFGFGFGGGGGGGGFGFGFGGGGFGGGFFFGGFGFGGGGGGGFGGFFGGGFGFGFGGGGFGGGFGFGGGGGGGGGFFGGFGGFGFGFGFGGFGFFGFFGGFGFFFFGGGGGFGFFFGFGGGFGGGGFGGFFGFGFGFGGGFGGGGGGGGGGGGFFFGFGGGFFGFFGGFFGFGGFGGFGGGFGGGGGFGFGFGGGGGGFGFFGFFGGGGFGFGFGGGFGGGFGGGGFGFGFGFGGFGGGGGGGFGGGFFGGGFGGGFGGGGGGFFGGFGFFGGGFGFFGFGFFFGFGFFGGGFGFFGFFGGGFGGGFGGFGFGFGFFFFGFGGGGGGFFGGGFFFGGFFFFGGGGGFGFGFFGFGFFGGFGFFFGGGFGFGGFFFGFGGGGGGGFFFGGFFFFGFFGGGGFGFFGFFFGFFFFGGFGGGFFFGGGGGFFFGGFGGFGFGFFFGGGFGGFFGGGFFGGFFGGGGGFGGFGGGGFGFFFGFGFGGGGGFFFGGFFGFGGFGGGFGFFGFFFGFFFFGGFGGGFFFGGGGGFFFGGFGGFGFGFFFGGGFGGFFGGGFFGGFFGGGGGFGGFGGGGFGFFFGFGFGGGGGFFFGGFFGFGGFGGGGFGGGGGFGFGFFFFFGFGGFGGGGFFGFGGGFGGGFGFFGGGGFGGGGGGFFGGGFFGGGGGGFGGFGGGGFGFGGFGFGGGFGGGGFGGGGGFGFFGGFFFGGGGGFFGFGGFGFGGFFGGGGGGFGGGGGFFGGFGGFFFFGFFFGGGFFGFGGGFGGGGGFGGGGFGGGGGGFGGFGGGFFFGFGGFGFGGGFGGGGGGFFFGGGGGGFFGGGFGGFGFGGFGFGGGGFGGGGFGFGFGGGGFFGGGGGGFFFFFGGGFFFFGGGGFGGGGGGFGGFGGGFFFGFGGFGFGGGFGGGGGGFFFGGGGGGFFGGGFGGFGFGGFGFGGGGFGGGGFGFGFGGFGFFGGGGGGFFFFFGFGFFFFFGGGGGGFFGFFFFGFGFGFGFGGFGGFGFGFFFGGFGGGGFGFFGFGGGFGGGFGGGGFGGGGGFFFGGFGGGGFFGGFGGFFFGGGFGGGGGGGFGGFGGGGFFGGGGGGFFGFFGGGGGGGGFFGGFFGFFFGGFGGGGGFGFFFGFFFFFGGFFGGGFFFGFGGGFFGFFFFFFGFGFGGGFGGFGFFFFFGFGFFFGGFGGFFFFFGGFFFFFFFGGGFGFGFFFGGGGGFGGFGFGFFFGGFGFGFFFFGFGFGGFGGFGFFGFFGGGGFGGFGFFGGFFGGGFFFFGGFFGFFGFFFGFFFGFGFFGFGGGFGGGFGGFFFFFGFFGGGFGGGGFFFFGGGGFGGFGGGFFFFGGGGGGFGFGFGGGGGFFFGGGGGFGGGGGFGGGGGGGGGGGGGGGFGFGGGGGGGGGGGGGGGGGGFFGGFGGGGGGFGGGGGFGGGGGFGGFGGGGGGGGGGGGGGFGGGGFGGFGGFGFGGGGGGGGGGGGGGGGFGGGGFGGGGGFFGGGGGGGFGGGGGGFGGGGGGGGGFGGGGGGGGGFGGGGGGFGGGGFGGGGGFFFGGGGGGFFGGGGFGGGGGGGGGGGGGGGGGGFGGGGGGGFGGGFGGGGGFGGGGGGGGGGGGGGGGGGGFGGGGFGGGGFGGGGGGGGFGGGGFGGGGGFGFFFGGGGGGGGGGGFGGGGGGGGGGFGGFGGFGGGGGGGGGGGFGFGGFGGGGGGGFGGGGGGGFGGGGGGFGGGGGGGFGGGGGFFFGGGGGGGFGGGGGGGFFGGFGFGGGFGGGGGGGGGGGGGGFGGGGFFGFGGGGGGGGFGFGFGGGGGGGFGGGGGGGGGFGFGGGGGGGGGGFGGGGFGFGGFFFGFGFGGGFFGGGGGGFGGGGGGGGGGGGGGGGFGFGGGGGGGGGFGGFGGGFGGFFGGGFGGGGFGGGFGGGGGGFFGFGFGFGFGGGGGGGGGGGFGGGGFGFGGGGGFGGGGFFGGGFFFFGGGFGGGGGGFGGGFGFGGGGGGGGGGGGGFGFGGGGGGGFGGGGFGFGGGGGGFGGGGFGGGGGGGGFGFGGGGGGGFGGGGGGGGGGGGGGGGFFGGGGGFGGGGGFGFGFFGGGGGGGFGGGGFGGGGGGGGGGGGGGGGGGFGGGGGGFFGGGFGGGGGGGFGGFGGGGFGGGGFGFGGGFGGGGFGGGGGFGGFGGFGFGGGGGFFGGGGFGFGGFFGGGGGGGGGGGGGFGGFGGFFFGGFFFGGGFFGFGGGGGGGGGGGGGGGGGGGGGFGGFGGGGGFGFGGGGGGGGFGGGGGGFFFGGGGGGGFGGGFGGFGFGGGGFGGGGGGGGGFGGGFGGGGFFGGGGGGGFGGFGGGGFGFGGGGGGGFGGGFFGGGGGGFGFGGFGGFGFGFGFGGGGGGGFGGGGFGGGGGGGGGGGGGGGGGGGFGGGGGGGGFFGGFGGFFFGGGFGGGGGGGFGGGFGGGGGGGFGGGFFGGGGGGFGFGGFGGFGFGFGFGGGGGGGFGGGGFGGGGGGGGGGGGGGGGGGGFGGGGGGGGFFGGFGGFFFGGGFGGGGGGGFGGFGGGGFFGGGGGGFGGFFGGGGGGGGFFGGFFGFGGGGFGGGGGFGFGFGGGGGFGGGFGGGFGFGFGGGFFGGGFFGFGFGFGGGGGGFGGFGFFGFGGGGGGGGGGGFFFGGFGGGFGFGGGGGGGFGFGGGGGGGGFGFGGGGGGFGGGFFFGGFGFGGGGGGGFGGFFGGGFGFGFGGGGFGGGFGFGGGGGGGGGFFGGFGGFGFGFGFGGFGFFGFFGGFGFFFFGGGGGFGFFGGGGGGFGGGGFGGFFGFGGGGGGFFGFFGGFFGGGFGFGFGGGGFGGGFGFGGGGGGGGGFFGGFGGFGFGFGFGGFGFFGFFGGFGFFFFGGGGGFGFFFGFGGGFGGGGFGGFFGFGGGGGGFFGFGGGGGFGFFGGGFFGGGGFGFGGGGFFFFFGGGGGGFGFGGGGGFFGFFGFGGGFFGGGGGGFGGGFGFFGGGGFFGFGGFGFFGGFFFGFGGGFGGGFGFGGGGGGGFGFGGGGGGGGGGFGGGGFGFGGFFFGFGFGGGFFGGGGGGFGGFGGGFGFFGGGGGGFGFGFFGGGGGGFGFFGFGFGGFFGGGFGGGGFGGGFGGGGGGFFFFGFGFGFFFGGGGGGGGGFFGGFFGFGGGGGFGFGFFFGGGFFFFGGGFGGGGGGGFGFGGGGFGGFGGGGFFGFGGFFFFFGFGGGGGFGGFGGFFGFGGFGGGFGGGFFFGGFGGGGGFGGGGGGGFGGGFGFGFGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGFGGGGGGGGGGGGGGGFGGGGGGGGGGGGGGGGGGGGFGGGGGGFGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGFGGGGGGGGGGGFGGGGGGGGGGGGGGFGGGGGGGGGGFGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGFGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGFGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGFGGGFGGGGFGGGGGGGGGGGGGGGGGGGGGGGGGGGFGGGGGGGGGGGGGGGGGGFFGGGGGGGGGGFGGGGGGGGFGGGGGGGGGGGGGGGGGGGGGGGGGGGGFGGGGGGGGGGGGGGGGGFGGGGGGGGGGGGGGGGGGGGGFFGGGGGGGGGGGGGGGGGGGGGGFGGGGGGGGGGGGGGGGGGGGFGGFGGGGGGGGGGGGGGGGGGGFGGGGGGGGGGGGGGGGGGGGGGGGGGGGGFGGGGGGGGGGGGGGGGGGGFGGGGGGGGGGGGGGGGGGFGGGGGGGFGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGFGGGGGGGGGGGGGGGGFGGGGGGGGGGGGGGGGFGGGGGGGFGGGGFGGFGGGGFGGGGGGGGGGGGGFGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGFGGGGGFGGGFGGGGGFGGGGGFFGGGGFGGGGGFGGGGGGFGGFGGGGGGGGGGGGGGGGGFFGGFGGGGGFGGGGGGGGGGGGGGGGGGGGGGGGGGGFGGGFFGGGFGFGGGGGGGFGGGFGGGGGFGFGGGGGGGGGGGGGGGGGGGGFFGGFGGFGFGFGFGGFGFGGFGGGGGFFFFGGGGGGGGFGGGGGGFGGGGGGGGFGFGGGGGGGFGGGGGGGFGGGGGGFGGGGGGGGGGGGGFFFGGGGGGGFGGGGGGGFFGGFGGGGGGGGGGGGGGGGGGGGFGGGGGFGFGGGGGGGGFGFGFGGGGGGGFGGGGGGGFGGGGGGFGGGGGGGGGGGGGFFFGGGGGGGFGGGGGGGFFGGFGGGGGGGGGGGGGGGGGGGGFGGGGGFGFGGGGGGGGFGFGFGGGGGGGFGGGGGGGGGFGFGGGGGGGGGGFGGGGFGFGGFFGGFGGGGGGGGGGGGGFGGGGGGGGGGGGGGGGFGFGGGGGGGGGFGGGGGGFGGFFGGGFGGGGFGGGFGGGGGGFFGFGFGGGFGGGGGGGGGGGFGGGGFGFGGGGGFGGGGFFGGGGFFGGGGFGGGGGGFGGGFGFGGGGGGGGGGGGGFGFGGGGGGGFGGGGFGFGGGGGGFGGGGFGGGGGGGGGGGGGGGGGGFGGGGGGGGGGGGGGGGFFGGGGFGGFGGGGGGFGGGFGFGGGGGGGGGGGGGFGFGGGGGGGFGGGGFGFGGGGGGFGGGGFGGGGGGGGFGFGGGGGGGFGGGGGGGGGGGGGGGGFFGGGGFGGFGGGGGGGGGGGGGGGFFGGGGGGGGFGFGFGGGGGGFGGGGGFGGGGFGGGGGGGGGGGGGGFGFFGGGGGGGFGGGGFGGGGFGGGGGFGGGGFGGGGGGGFGGFFGGGGGGGGGGGGGFGGGGGGFFFFGGFGGGGGFFGGGGGFGGGFFGFGGFGGGFGFGGGGFGGGGFFFGGGGGFGGGGFGGGGGGGGGFFGFGGFGFFFGFGGGFGGFGFGGGGGGFGGGFGGFGGGGGGGGGFGFFGGGGGGFGGGGGGFGGGGGFGGFGGGGGGGGFGGFFFGFFGFGGGGGGGGGGGFGFGFFGFGGGGGGGFFGFFGFGGFGGGFGGGFGGGGGGFGGGGGGFGFGGGGFGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGFGGGGGGGGGGGFGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGFFGGGGGGGGGGGGGGGGGGGGGGFGGGGGGGGGGGGGGGGGGGGFGGGGGGGGGGGGGGGGGGGGGGFGGGGGGGGGGGGGGGGGGGGGGGGGGGGGFGGGGGGGGGGGGGGGGGGGFGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGFGGGGGGGGGGGGFGGGGGGGFGFGGGGGFGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGFGGGGGGGGGGGGFGGGGGGGFGFGGGGGFGGGGGGGGGGGGGGGFGGGGGGFFGGGGGGGGGGGGGGGGGGGGGFGFGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGFGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGFGGGGFGGFGGFGGGGGGFGFGGGGGGGGGGGGGGGGGGFGFGGGGGFGGGGGGFGGGGGGGFGGGGGGGGGGGGGGGGFGGGGGGGGGGGGGGGGFGGGGFGGGGGGGGGGGGGGGGGGGGGGFGGGFGGGGFGGGGGFGFGGGGGGGGGGGFGGGGGGGGGGGFGGGGGGGGFGGGFGFGGGGGGGGGGGGFGGGFGGGGGGGGGFGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGHGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGHGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGHGGGGGHGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGHGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGHGHGGGGHGHGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGHGGGGGHGGGHGGGGGGHGGGGGGGGGGGGGGGGGGHGGGGGGGGGGGGGGGGGGGGGGGGGGGGHGGGGGGGGGGGGGGGGHGGGGGGGGGGHGGGGGGGHGGGGHGGGGGGGGHGGGGGGGGGGGGGGGGGGGHGGGGGGGGGGGGGGHGGGHGGGGGGGGGGGGGGGGGGGGGGGGGGGGHGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGHGGGGGGGGGGGGGGHGGGGGGHGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGHGGGGGGGGGGGGGGGHGGGGGGGGGGGGGGHGGGGGGGGGGGGGGGGGGGGGGGGGHGGGGGGGGGGGHGGGGGGGGGGGGGGHGGGGGGGGGGGGGGGGGGGGGGGGHGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGHGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGHGGGGGGGGGGGGGHGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGHGGGGGGHGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGHGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGHGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGHGGGGGGGGGGGGGGGGGGGGGGGGGGGGGHGGGHGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGHGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGHGHGGGGGHGGGGGGGGGGGGGGGGGGGGGHGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGHGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGHGGGGGGGGGGGGGGGGHGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGHGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGHGGGGGGGHGGGGGGGHGGGGGGGGGGGHGGGGGGGGGGHGHGGGGGGGGGGGGHHGGGGGGGHGHGGGGHGGGGHGGHGGGGGGGGGGGGHHGGGGGGGGGGHHGGGGGGHGGGGGGHGGGGGGGHGGGGHGGGGGGHGGGGGGHGGGGGGGGHGHGGGGGGGGGGGGGGGGGGGGGGGGHGGGGGGGGGGGGGGGGGGGGGGGGGGGHGGGGGGGGGGGGGGGGHGGGHGGGGGGGGGGGGGGGGGGGGGGGHGGGGGGGHGGHGGGGHGGHGGGGGGGGGGGGHGGGGGHGGGGGGGGGGGGGGHGGHGGGGGGHGGHGGGGGGGGGGGGGGGHGHGGGGGGGHGGGHGGGGGGGGGGGGGGGHGGGGGGGGGGGGGGGGGGGGGGHGGGGGGGGGGGGGGGHGGGGGGGGGGGGGHGGGHHGGGGGHGGGGGGHGGHGGGGGGGGGHGGHGGGGGGGGGGGGGGGGGGGGGGHGGGGGHGGGGGGGGGGGGGGGHHGGGHGGGGGGGGGGGGGGGGGGHGGGGGGGGGGHGGGGHGGGGGGGGGHGGGGGGGGGGGGGGGHGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGHGHHGGGHGGGGGGGGGGGGGHGGGGGGGGGGHGGGGGGGGGGHGHGGGGGGGGGGHGGGGGGGGGGGGGGGGGHGGGGHGGHGHGGHHGHGGGGGGGGGGHGGGHGGGGGGGGGGGGGGGGGGGGGGHGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGHGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGHHHGGHGHGGGHGGGGGGGGGHGGGGGGHGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGHHGGGGGGGGGGHGHGGHGGGGHGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGHGGGGGGGGGGGGGHGGGHGGGGGGGGHGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGHGGGGGGGGGGGHGGGGGGGHGGGHGGGGGGGGGGGGGGGHGGGGGGHGGHGGGGGHGGGGHGGGGGGGGGGGGGGGGGGGGHGGGHGGGGGGGGGGGGGGGGGGGGGGHGGGGGGGGGGGHGGHHGGGGGHGGGGGGGGGGGGGGGGGHGGGGGGGGGGGGGGGGHGGGGGGGGGGGGGGHGHGGGHGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGHHGGGGGGGGGGGGGGHGGGGGGGGGGGGGHGGHGGGGGGGGHGGHGGGGGGGGGGGGGGGGGGGGGGGHGGGGGGGGGGGGGGGGHGGGGGGGGGGGGHGGGGGGGGGGGGGGGHGGGGGGGGGHGGGGGGGGHGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGHHGGGGGGGGGGGGGGGGGGGGGGGGHGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGHGGGGGGHGGGGGGGGGGGGGGGGGGGGGGGGGGGGGHGGGGGGGGGGGGGGGGGGHGGGGGGGGGGGGGGGGGGGGGGGGGHGGGGGGGGGGGHGGGGGGGGGGGGGGGGGGGGGGGGGGHGGGGGGGGGGGGGGGGGGHGGGGGGGGGGHGGGGGGGGGGGGGGGGGGGHGGGGGHGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGHGGGGGGGGGGGGGGGGGGGGGGGGGGGHGGGGGHGGHGGGGGGGHGHHGGGHHGGHHHGGHHGGHHGHGHHHHGGGGGGGGHGGGGGGGHGGGGGGHGHHGGGGGGGHGHGHHGGGGGGGGGGGGGGGGHGHHGHHGGGGGHGGGGGGGGHHHHGHGGHGHGHGGGGHGGGGGHGGGGGGGHHGGGGGGGGGGHHGGGGGGGGGGHGGGHGGGGGGHGHHGGGGHHHGGGGGGGGGGHHGGGHHGHGGHGGGGGGHHHHHHGHHGHGHGGGGGGHHGGGGGHHGGGGGGHHGGGHGHGGHGGGGGHHGHGGGHGHHHHGHHGGGGGGGHGGHGHGGGGGGHGGHGGHGGGGGHGHGHGGGGGGHGGGHGGGGHGHGGGHGHGGGGGGGGHGGGHGGGGHGGGGGGGGHGHGGHGHGGGHHGGGGGGHHGGGGHGGGGGHGGGHGGGGGHGGGGGGGGGGHGGGHGHHGGGGHHHGGGGGGGGGHGGGGGGGGGGGGGHGGGGGHGHGGHGHHGGGGGGGGGHHGGHHGGGGGGGGGHGGGGGGGGGGHGGGGGGGHGGGHGGGGHGGGHGGHGGGGGGGHGHGGGHGGHGGGGGGHGGGGGHHGGGGHHHGGHGGGHGGGGHHGGGGGGHGGHGGGGGGGGGGGGGGGGGGHGGHHHGHGGGGGHGHGGGGGGGHHGGGGHGGGGGGGGGGGGGGGGGGHGHHHGGGGGGGGGGGGHGGHGGGGGGHGGGGGGGHGGGGGHGGGGGGGHGGGHGHGGGGGGGGGGGHGHGGGGGGGGGGGGHHGGGGHGHGGGGHGGGGGGGHGGGGGGGHGGGHGHGHGGGGGGGGGGGGHGGGGGGGGGHGGGGGGGGHHGGGGHGGGHGGGGGGGHGGGGGGGGHGGGGGHGGHHGGGGGGGGGHGHGGGHHGHGHGGGHGGHGGGGGGGGGGGGHHGGGGGGGHHGGHGGGHHGGGHHGGHGGGGGGGGGGGGHGHGGGGGHGGHHGGGGGGGGGHGGHGGGGHGHGHGGHHGHGGGHGGGGGGGGGGGGGGHGGGGHGGGGGGGGGGGGGGHHHHGGGGGHGGGGGGGGGGGGGGGGGGGGGGGGGGHGGGGGGGGGGGGGHGGGGGGGHGHGGGGGGGGGGGGGGGGGGGHGGGGGGGGHGGGGGGGGGGGGGGHGHGGGGGGGGGGGGGGGGGGGHGGGGGGGGGGHGGGGGGGHGGGGGHGGGGGGGGGHHGGHGGGGGHGGGGGGGHGGHGGGGGGGGGGGGGGGGGGGGGGHGGGGGGGHGGGGGGGGGGGGGGGGGGGHGGGGGGGGGHGGGGGGGGHGGGGGGGGGGGGGGHGGGGGGHGGHGGGHHGGGGGGGGHHGGGGGGGGGGGHGGGGGGGGGGGGGHGHGGHGGGGGHGGGGGHGGGGGHGGGHGGGHGGGGGGGHGGGGGHGGGGGGGGHGGGGGGGGGGGGHGGGGGGGGGGGGGGHGGHHGGGGGGGGGGGGHGGGHGHGGGGGGGGGGGGGGGGGGGGHGGGGGGGGGGHGHHGGGGGHGGGGGGGGGGGHGGGGGGGGGHGGGGGGGGGGGHHGGGGHGGGGGGGGGGGGGGGGGHGGGGGHGGGGGHHGGGGGGGGGGGGGGGGGGGHGGGGGGGGGGGGGHGGGHHGGGGGGGGGGHGGGHGGGGGHGHGGGGGGGGGGGGGGGGGGHGGGGGGGGGGHGGGGHGGGGGGGGGGGGGGGHGGGHGGGGGGGGGGGGGGGGHHGGHGGGHGGGGGHHGGGGGGGGGGGHGGGGGGGHGGGGGGGGGGHHGGGHGGGGGGGGGGGGGHGGGGGGGGHGGGGGGGGHGGGGHGGGGGGGGGGGGGGGHGGGGGGGGGGGGGGGGGGGGGGGHHGGGGGGGGGGGGGGGGGGGGGGGHGGGGGHHGGGGGGGGGGGGGGGGGGHGGGGGGGGGGGGHGGGGGGGGGGGGGGGGGGGGGGGHGGGGGGHHHGGGHGGGGGHGHHHGGHHGGGGGGGHHHHHGHGGGHGGGHHGGHHHGHHGHHGHGGGGHGGGGGGGGHGGGGGHGHHHGHGGGHHGHHHHGGHGGGGHGHHGGGGGHHGGGGGGHGGHHGGGHGGGGHGHHHHGGGGGHGGHGGGGGGGGHGHHHGGGGGHGHHHGGGHGHGGGHGGGHHGHGGGGHGHGHGGHGGGGHGHHHGHHHGGGGHHGHGGHGGHHHGHGGHHHGGHGGGHHGGGHHHGGGGGGHGHHGGHGGGGGGGHHGGGGGHHHGGGHGGGGHHHHHGGHHHGGGHGGGGHHHHGGGHGGHGHGGGGHHHHHHHGHHGGGHGGGGGGGHGGGGGHGGHHHGGGGGHHGGHGGHGGHHHGHGGHGGGGGGHGGGGGGHGGGGGGGHGGGGHHHGGGGGGGHHGHGGGHGHGGHGGHGHHGGGGHHGGHHHHHHHGGGGGHHGGGGGGHGGHGGGGGGGGHGHGHHHGGGHHGGGGHGGGGGGGGHGHHGGGGGHHHGGHHGHGHGGHGHHGGGGHHGHGGHGGGHGHGHHGHGGHHGGGGGGGGGGGHGHGGHGGGGGGGGGHHHHHHGHHHGGGGHGGGHHGGGGGGGGGHHGHHGHGGGHHHHHGGGGGGGGGGHGGGGGHGGHHHHGGGHGGHGGGHGGHGHGGHGGHGGGHHGGGHGGGGGGGGGGGGGHGGGGHGGHHGGGGHGHGHGHGHGGGGHHGGGGGGGGGGGGGHGGHHGGGHHGGHGGGGHGHGGGGHGGHGGHGGGGHGGGGGGHGGHGGGGHGHHGGGHHGGGGGGHGGGGGGGGGHGHGGHGGGGGGGGGGGGGHGGHHHGHGGGGHGGHGGHGGGGGHHGGHHHHGGHGHGHHHGHGHGGGGGHGGGHGHGGGGGHGHGGGGHGGHHHHGGGHGGGHGHGHHGHGGGHGHGHHGGGGGHHGHGGHGGGGHHGGGGGGGGGHHGGGGHGHHHHHGHGGGHHHGGHGHGHHGGGHGGGGGGGGHGGHGHGGHGGGHGHGGHHGGGGHGHHGHHGGGHHGGGHGGHGHGGGGGGGGGGGHGGGHGHGHGGHGHGHGGGHHGGGGHGHGGGHHHHGGHHGGHGHHGHGGGGHHGGGGGHGHGHGGGHGGHHHGGHHHGGGHHGGGGGGGGGHHGHGGGGGGGGGGHHHGGHGGGHGGGGGGHGGGGGHHGHGHGGHGHHGGGGGHGHGHGGGGHGGGGGHGHGGGGGHGGHGGGGGGGGGGGGGHHGGGGGHHGGGGGHHGGGGGGGGGGGGGGGGGHGGHGGGGHHGGGGGGHGHGGGGHHHHGGGHGGGGGGGGHHGHHGGHGGGGGHGGGGGHGGGHGGGGGGGHGGGHHGHGHGGGGGGGGGGHGGGGGGGGGHGGHGGHGGGGHGGHHGGHHHHGGGHGGGGGHGHGGGHHGHGHGGGHHHGGGHGGHGGHGHHGGGGGHGGGGGGGGGGHGGHGGGGGGGHHGGGGGGGGGGGGGGGGGGGGHGGGHGGGGGGGHGGGGGGGGHGHGGGGGGGGGGHGGGHGGGGGGGGGGHGGGGGHGHGGGGGGHGGGHGGGHGGHGHGGHGGGGGGGGGGGHGGHGGHGGHGGGHGGGGGGGGHHHGGGHGHGGHGHGGGGGGHGGGGGGGHGHHGGGGGHHGGGHHGGGHHGHGGGHHGGGGGGGGGGGGGGGGGGHGGGGGHGGGHGGGGGGGGGGGGGGGHGHGHGGGGGGGGGGGGGGGGGGGGHHGGGGGGHGGHGGHGGGGGGGHHGHHGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGHGGGGHGGGGGGGGGGGHGGGGGGGGGGGHGGHGGGGHGGHHHGGGGGGGGHGGGGGGHGGGGGGGGGGGGGHGGGHHGGGHHHGGGGGGGGHGGGGGGGGGHGGGGHGGHGGGGGGGGGHHGGGGGGGGGGHGGGGGHGGGGGHGGGGHGGHGGGGGGHGGGGGGGHGHGHHHGHHGHGHHHGHHHGGGHHGGHHHHGGGHGHGHHGHGHGHHGHGHGGHHHGHGGHGGHGHHGGHHHHHHHGGHGHHHHHGGHGGHGHGHHGHHHGHGHGGGHGGGGHHGHGHHHHGGHHGHHGGHHHHHHGHHHHHHHHHHHGHGHHGGGHGHGGHHHHGGHGGHHGGHHHHHGGHGGHGHGHHGGHGHHHGHHHGGHHHGHHHHGGHGHHHHHHHHGHHGGHGHHHGGHGHHHHHGGGGGGGHHHHGHGHHHHGHHHHHHHGGHHHGGGGGGHHHGHHHGHGHGHHHGHHGHHHHGHHHGHHHHGHHHHGHHGGHGHHHHHHHGHHGHHHGHHHGHGHHGHHHGGGGHHGHGHGHGHHHGGGGHHGGHHGHHGGHGGGHGHHGGHGGGGGHHGGGHGHGGGGHGGHGGGGHHGGGGGGGHHHHGGGGHGGHGGGHHHHHHHGHHHHGHGGHHHHGHGHGHGHGHGHGHHGHHHHHHGHHHHGHGGHGHHHHGGHHHGHHHHGHHGGHGHHGGHHHGGHGGGHHHGHGHGGHHGHGHGHGHHHHGGHGHHGGGGGHHHHHHHGHGHHGGHGHGHGGGHGGGGHHGHGGGHHHGHHHGGGGHGGGGHGHGHGHGGGHGHGHGHGHHGHGHHGGHHHHHGGHGHGGHGGHGHGGGHHGGHHGHHGHHHHGHGGGHHGHGGHHHHHGHGGGHHGGGHGGGGHGHHGGGHGGHGHGGHGHGGHGHHHGGHHHHGGGHHGGHHHGHHGHGHHHHGGGGGHHHHGHGHHHHGGHGGGGHHGHHHGHHGHHHGGGGHGGGGHHGHGGGGHHHHHGGHHHHGGGHHGGHGGHHHHHHGHGHHGGGGHGHHGGGHHHHHGHGGGGHGHHGHGGGHHGHHGGGHGGHHHHGHGGGHGGHHHHHGGGGGGGGGGGGGGGGGHHGHHHGHGGGHHGGHGGHHHHGGGHGHHGGHGGHHGHHHHGHGGHHGGHHGGHGGGHGHGHGGGGHGGGGGHGGHGGGHHGHGHGHGHGHGHHHHGGGGGGHGHGHHGHGGGHHHHGHGGHGGGHHGHGHGHHHGGGGHGGHGGHGHHGHGGHHGHGHGHHGGHHHHGHGHGGHGHGHGHGGGHGGHHHGHGHGGHGGGGGGGGHGHGGGHGGHHGHGGGHGHHGHGHGGHHHHHGHGGHGHGHGHGHGGHGGHGGHGHGGGHGHHGGHGGGHGHGGGHHGGGGGGGHHGHGHGGGHHHGGHHGGGHGHGHHHGGGGHHGGGGHGHGHGGGHHGGGGHHGGGGGGGGGHGHGGGGGGGGGHHHHHHHHGHHHGHHHGGGHGGGGGHGHGHHHGGGHHHHGHGGGGHGGHHHHGGGGGGGHGGGGHHGGGHHGGHGGGGGHGGHHHHHHHHHGGGGGGHHHGGHGHHGGHGGHHGGGHGGGGHGHGHGGHHGGHGGHHGHGGGGGHHGGGHGHHGHGGGGHHHHGGGHHGGHGGGGHGHHHHGGGGHGHHGGHGGGGGHGGGGGGGGGGGHGGGGHHHGGGHHHHGGGGHGHHGGGGHHGHGGHGGGHGGGGHHGGHHGGGHHHGHGHGGHGGHGGGGHHGGGGGHGHGGGGHHHGGGGGGHGGHGHGGGGGGHHHGHGGHGGGGGHGHGGGGHHGGGGGGGGGGHGGHHGHGGGGGGHGHGHGGGHHGGGHGGHHGHGGGGGGGGGGGGGGGGGGHGGHGHGGHGGGGHHGHGHHGHGGHGHHGGGGGGHGGGGGGHHGGHGGGGGGGGGGHGHHGGGHGGGGGGGHGGHGHGGGGGGGHGGGGHHGGGHGHHGGHGGHHGGGGGGGGGGGHHGGGGGGGGHGHGGGGHHGHGGGGGGGHGHGHGGHHGGHGHGGGGGGGGGHGHGGGGHGHHGGGGHHGHHGGHGHGGGGGGGGGGGGHGHGHGHGGHGGHHGGGGGGGHGHHGGGGHGGHGGGGGGGGGGGHHHGHHHHGHGHHHGHHGHHGHHHGHHHGHGHHGHHHHGHGHHGHGHGHHHHHGGHHHGHHHHHHHHHGGHHHHHHHHHHHGHHHHHHHHGGHHHHHHHHGHHHGHHGHHHHGHHHHHGHGHGHHHHHHHHHGHHHHHHHHHHHHGHGHHHHHHHHGHHHHHHHHGHHHHHHHHHHHHHHHHGHGGHGHHHHHHHHHHHHHHHHHHGHGHGGHHHHGGHHHGHHHHHHHHGGHHHHHHGGHHHHHHHHHHGHGHHHGHGHGHGHHHGHHGHHHHHHHHHGHHGHHHHHHHHHGHHHHGHHHHHHHHGHHHHHHHHHHGHHHHGHHHHGHHGHGHHHHGGHHGHHHHHHGGHHHHHHHHHHGHHHHHHHHHHHHHHHHGHHHHGHHHHHGHHHHGHHGHHHGHHGHHHHHGHHHHHHHHHGHGGHHHHGHHGHHHHHHGGHGGHHHHHHGHHHHHHHHHHHHGGHHHGHHHHHHGHHHHHHHHGGHHHHHHHGHHHGHHHHGGHHHHHHHHHHHHHHHHHGHHHHGHHHHHHHHHGHHGHHHGHHHHGHHGHHHGGGHHHGHHHHGHHGHHHGGHHGHGGHHHHGGGHHHHHHHHHHHGHHHHHHHHGHGHHHHHHHHHHGHHHHHHGGHGHHGHHHHHHGHHHHHGHHGHGGHHHHHGHHHHHHHHHGHHHHHHHHHHGHHHHGHHHHHHHHHGHHHHHGHGGHHHHHHGHHHHHHHHHGHHHHGHHGHHHHHHGHHGHHGHGGHGHHHHGHHHHGGGHHHHHHHHHHGGGHGHGGGHHHHGGHHHHHHGGGGHHHHHHHHHGHHHHGHHHHHHHHHHGHHHGHHHGHGGHHHGGHHHHHHHHGGGHHHHHGHGHHHHHHGHHHHHGGGGHHHGHHHGHGGHGGHHHGGGGHGHGGHHHGHGHHGHGHHGHHHHHGGHGHHHHHGHHHHHHHGGGHGHHHHGGHHGGHGHGGHGHGGGHHHHGHGGGHHHHHHHHHHGGGGHHHHHHHHHHHHHHGGHHHHHHGHGGGHGGGHGHGHHGHHHGHGGHHHGHGHHHHGHGGGHGGGGHGGHGHHHGHHHGHHGGGHHHHGGHGHHHHHHHHHHHHGHHHGHHGGGHHHHHHGGHHGGGGHHGHGHGHGHHGHGHGHGHHGGHHGGHHGGHGHHHHGGGGGGGHGHHGHHHGGGGGGHHHHGHGGHHHGGHHGHGHHGHGHGGHHGHHGHHHHHHHHGGGHHGGHGHGHHGHGGHHHGHHHHGGGHHHHHGHHHGHHHHHHHGGGGGGGGHHHHHGGHHHHGHHHHGGGGHHHGGHGHHGHHHHGHGGHHGHGHHGGGHHHGGGHHGHGHGGHHGHHHGGGGHHGGHHHHGHGHGHHHHHGGHHHHGGHHHHHGHHHHHHGHHHGHGHGGHGGGHHGGGHGGHHHGHGHHHGGGHHGHHGHGGHGGHGHGHHGGHHHHHGGGHGGGGGGHHGHGHHHHGGHGHHHGGHGHHHHGGGHGHHHGHHHGGHGHHGHHGGHHGGHHGGHGHHGHHHGGGHHHGHHHHHHHGGHHHHGGHHHGGHGGGHHHGGHGGGHHGHGHGGHHHHHGGHGHHGGGHHHHHHHHGGHGHGGHHGHGHHGGGGHHHHHHHGGGHHGGGHHHGHGHGGGGHGHGGGGGHGHHHGHGGGHHGHGGHGHHHHGHGHHGHGGGGGGGGGGGHHHHGGGHHGHGHHGHGHGGHGGGGGGGHGHHGGGHHHGGHGGGHGGGHGGGHHGGGHGGHGHGGGGHHGHGHHHHGGGGGHHHGGGHHHGGHHHGGGHHGHGGHGHHGGGGGGGGGHHHHHHHGHHHGHGHHHGHHGHGHHHHGHGGHGGHGHHGHGHGGHHHHHGHHHGGHHHGHHGGHGHGHHHHGHGGHGGGGHGGHGGGGGGHGHHHGGHGHGHGHGHHHHHGHHHGHGHHGGGHHGHGGGHGGHGGHGHGGHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHGHHHHHHHHHHHHHHHHHHHHHHHHHHHGHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHGHHHHHHHHHHHHHHHHGHHHHHHHGHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHGHHHHHHHHHHHHHHHHHHHHHHGHHHHHHHHHHHHHHHHHHHHHHGHHHHHHHHHHHHHHHHHHHHHHHHHHHHHGHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHGHHHHHHHHHHHHHHHGHHHHHHHHHHHHHHHHHHHHHHHHGGHHHHHHHHHHHGHHHHHHHHHGHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHGHHHHHHHHHHHHHHHHHHHGHHHHHHHHHHHHHHHHHGHHHHHGHHHHHHHHHHHHGHHHHHHHHHHHHHHHHGHHHGHHGGHHGHHHHHHGHHHGHGGHHGHHHHHHHHHGHHHHHHHHHHHHHHGHHHHHHHGGHHHGGHHHGHHHHHGHHHGHHHHHHHGHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHGHHGHGHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHGHHHHHHHHHHHHHHHHHHHHHHHHHGHHGHGHHHHHHHHHHHHHHHHHHHHHHGHHHHHHGHHHGHHHHHHGHHHHHHHHHGGHHHHHHHHHHHHHHHHHHHHHHHHHHGHHHHHHHGHGHHHHHGHHHHHHGHHHHHHHGHHGHHHHGHGHHGHGHHGHHHGHHHHHGHHHGHHHHGHHHHHHHGHHHHHHHHHHGHHHHGHHHGHHHGHHHHGHHHHHGHHHHHHGHGHHHHHHHHHHHHHHHHHHHHHHHGHHHHHGGHHHHGHHHGHHHHHHHHHHGGHHGHHGHHHHHGGHHHHHHHHGHHHHHHGHHHHHHHHHHHHHHHHHHGHHHHHHGHHHHHHHHHHHHHHGHHHHGHHHHHHGGHHGHHGHGGHHGHHGHHGHHGHHHHGHHHHHHHGGGHGHHGHGHHHHGHHHHGGHGHHHHGHHGGHHHHGHHHHHHHHHHHHHHHHHHHHHHHHHHHGHHHHHHHHGGHHHHHHHHHHHHHHHHGGHHHHHHHHHHHHHHHHHHHHHHGHHHHHHHHHHHHGHHHGHHHHGHHHHHHHHHHHHHHHHHHHHGHHHHHHHHHHGHHHHGGGHHHHHHHHHHHHHGGHHHHHGHHHHHHHGHHGHGHHHHHHGGHGHHGHHHHHHGHHGHGGHHGHGGHHHHHHHHHHHHHHHGHGHHHHHGHHGHHHHGHHHGHHHHHGHHHHHGHGHHGHHHGGHGHHHHHHHHHHHGHHHGHHHHHHGGGGHHGHHHHHHGGGHGGGGHHGHHHHHHHHHHHHHGGGHGHHHGHHHGHGHHHHGHGHHHHHHHHGHGHHHHGGHGHHGHHHHGHGHHGGHGHGHGHHHHGHGGHHHHGHHHHGHHHHHHHHHGGHHGHHHHHHHHHHGGGHHGHHHHGHHGHHHGHHHHHHHGHHHHHHGHHGHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHGHHHHHHHHHHHHHHHHGHHHHHHHGHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHGHHHHHHHHHHHHHHHHHHHHHHHHHHHHHGHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHGHHHHHHHHHHHHHHHGHHHHHHHHHHHHHHHHHHHHHHHHGGHHHHHHHHHHHGHHHHHHHHHGHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHGHHHHHHHHHGHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHGHHHHGHHHHHHGHHHHHHHHHHGHHHHHHHHHGGHHHHHHHHHHHHHHHHHHHHGHHHHHHHHHHGHHHHGHHHHHHGHGHHGHHHHHGHHHHHGHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHIHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHIHIHIHIIHHHHHHHHHHIIHHHHIHHHHHIHHHHIIHHHHHIHHHIHIHIIIHHHHHHHIHHHHHHHHIHIHHHIHIHHIHHIIHHHHIHHHIHHHHIHIHHHIHHHHIHHHIHHHIHIHHIHIHHHHHHHHHHHHHHHHHHIHHHHIHIIHHHHHIHHIHHIHHHHHIHHHHHIHIIHHHHHHHHHHHIHHIHIIIHIHHHHHIHHIIHHHIHHHHHHHHHHHHHHHHHHHHHHHHHHHIHHIHHHIHHHIIHIHHIHHHHHIHHHHHHHHHHHHHIHHHHIHHHHHHIHIHHHHHHHHHIHHHHHIIHHIHHHHHIHHHIHHHHHHHHIHHIHIHHHHHHHHHIHHHHHHHHHHHIHHHHHHHHHHHHHHIHHHIIHIHHHIIHIIHIHHIIHHHHHHHHHHHHHHHHHIHHHHHIHHHHHHHIHHHHHHHHHHHHHHHHIHIHHHIIHHHHHHHHHHHIHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHIHHHHHHHHHHHHHHHHIHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHIHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHIHHIHHHIHHHHHHHHHHHHHHHIHHHIHHHIHIHHHHHHHHHHHIIHHHHHHHHHHHHHHHHHHHHHHHIHHHHHIHHHHHIIHHIHHHHHHHHIIHHHHHHHIHHHHHHHIHHIHHHHHHHHHHHHHHHHHHHHHHHHHIHIHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHIHHHHHHHHHHHHHHHHHHHHHIHHHHHHIHHHHHHHHHHHHHHHIHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHIHHHHIHHHHHHHHHHIHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHIHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHIHIIIHIIIIHIIIIIIHIHIIIIHIHIHHIHIHIHIIIIIIHHIHIIIIHIHHIHHIHHHIIHHIHHHIHIHIHHHHIIHHIIIIIIHIIHHIIHHHHHHHIIHIHIHIHIHHHHIHHHHIHHHIHHIIHIHHHIHIHIIIHIHIIIHIHHIHHIIHIIIHIHHIHHIHIHHHIHIHIHIIHHHIHHHHHHHHHHIHIHHHIHHHHHIIHHHHHIIHHIHHHHHHHHHHIHHHHHIIIIIHIHHIIHHHIIIHIHHIHHIIHHHHIIIHHIHHIHHHIHIIHIHIIIIIIHIHIHHIHHIIHHHIHHHIIHIHHIIHIHIIHHHIIIHIIHHIIIIIIHHHIIIIHIHHHHHHIHHHIHHHHIIHIHHIIHIHHHHHIHIHHIHHHHHIIIIHHIHHHHIHIIHIHHHHHHHHHHHHHHHIHHHIHHHIHHHIHIHHIHHHIIIHIIHHHIHHHHHIIHIHIHHIHHIHHHHIHHIHIIHHHIIHHHHHHIIIHIHIHIIIHHHHHHHHHIHIIHIHHHIIHHHHHHHHIHHIIIHIIIHIHHIHIHIHHHHIIIHHHHIIHIIIHHHIHIIHHHIHIHHIHIHIIHIIIHHHHIHIHHIHHIHHIHHHHIHHHHHHHIIHHHHIIHHIHIHHHHIIHHHHHIHIHHIHHIIIHHHIIHIIIHHIIHHHIIIHHHHHHHIHHHIHHHHIIIHIHHHHIHIHHHHHIHHHHHHHHHHHHIHHIHHHHHHHHIHHHHIIHIHIHIHIIHHIIHHHIHHIHHHHIHHHHHHHHHHHHHHHHHHHHIIHIHHHHHHHHHHIHIIIHHHHIHHHIIHHHHHHHHHHIHHHIHIIHHHHIHIHHIIHHHHHIHHHHHHIHHHHIHHHHHHHHHHHHIIIHIIHHHHHIHHHHIHIHHHIHHHHHIHHHHHHHHHHHHHHHIIIHIIIIHHHHHHIHHHHHHHHIHIHHHIHIIHIHHIIHHHHHHHHIHIHHIHHHHHIIHIHIHIHHHHHIHIHHIHIHHHHHHHHIHHHHHIHHHHHHHHIHIHHIIHHIHIHHHHHHHHHIHIHHHHHIIHHHHHIHHHHHIHHIHIIHHHHHHHHHHHHIHIHIHIHHHIHHHHHHHHIHHHHHIHHHHIIHHHHHHHHHIHIHIIHHHIIHHHHIHHHIHHIHHHHIHIHHHHHIHHIIHIHIHHHHHHHHHHHHHHHHHHIHHHIHHIHHHIHHHHHIHHHHIHHHHHHHHHHHHHHHIHIHIHHHIHHHIHHIIHHHHHHHHIIHHHHHHHHHHHHHHHHHIHHHIIHHIHHHHHHHHHHHHHHHIHIHHHHHHHHHHHIIHHHIHHHHHHIHIHHHHHHHHHHHHHIHIHHHHHHHHHHHHHHHHHHIIHIHHHHHHHHHHIHHHHIHHHIHHHHHHIHHHHHIHHHHHHHHHHIHHHIHHHHHHHHHHHHHHHHHHHIHIHHHHHHHHHHHHHHIHHHHHIHHHHHIHIHIHHHHHHIHHHHIIHHIHHHIHHHHHHHHHHHHHHHHHHHHHHHIHHHHHHHHIHHHHHIHHHHHHHHHHIHHHHHIHHHHHHHHIHHHHHHHHHHHHHHHHHHHHHHHHHHHHIHHHHHHHHHHHHHHHHHHHHHHHHHHHIHHHHHHHHHHIHHHHHHIHHHHHHHHHHHHHIHHHHHIHHHIHIHHHHHHHHHHHHIHHHHHHHHHHHHHHHHHHHHHHIIHHHHHIIHHHHIIHHIHHHHHHHHHIHHHHHHHIHHHHHHHIHHIHHHHHHHHHIHHHHHHHIIHHHHHHHIHHHHHHHHHHHHHHHHHHHHHIHHHHHHHHHHHHHHHHHHHHIHHHHHHHHHHHIHHHHHHHHHHHHIIHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHIHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHIHIHHHHHHHHIIIIIIIIHHIHIIIIHIIHHHHIHIIIHIIHHHIIIIIHIHHHIIIHIIIHIHIHIIIHIIHHIIIHIHIIIHHIIIHHIIHHIIIIIIIHHHIIHHIHHIIIIHIIIIIIHHHIHIHIHHHIIHHHIHIHIHHIHIHIIIIIIHHIHIHHIIIHHIIIIHIIHHIIIIHIIIIHHIHIIIIHIIIHHHHIHIHHIHIIIIIHIHHIIHIIHHIHHHHHIIHIHIIHIIIIHHIHIIIIIIIHHHHIIIIIHIIHHHHHIHIIIHIHIHHHHIHHIIIHHIIIIHHIIIIIHHHIHHIIIIIHIHHIIIIIHIIHHIIIHHIIHHIIHHHIIIIIIIHIIHIIHHHIIIHIIIIHHIHHIIHIIHHHIIIHIIHIHHIHHIHHHIIIHIIIIHIIIHHHIHIHIIIIIIIHHHIHHIHHIIHIHIHHIHIHIHHHHIIIHIHIIHIIHIIHHHHIIIHHHIHIIIIIIIHIHHIHHIIIHIIHHIIIHIHHHHHIIIIHIIHIHHHHHHHHIHIIHIIHIHHHIHIIIHIIIHHIIHHIIHHIIIIHHHHHIIIIHIHHIHIHIIHIHHHHHIHHIHHHIHHHHIIHIIIIHIIIIIIHIHIIIHHIIIIIHHHIHIIHHIIIIHHHHIIHIHHIHHIHIIIIIIHIIHIHIIIHIIIHIHIHIIIIHHIIHIHHIIIHIHIHHIHIHIHHIHIIHHIHHIHHHIIHHHIHHHIHHHHHIIHHHIIIIHIHIHHHHHHHHHHIIIIIIHIIHIIHHIHIIIHHHIIIHIHIHIHHHIHIIHHIHHIHHHHHIHIIHHHHIHHHIIHHHIIIHHIIIHHHIIHHHHIIIIIHHIHHHIIHIHIIHHIIIIIIHHIHHHIHHIIIHHHIHIHIHIHHHIIIHIIIHIIHHHHHIIIIIIHIIIIHIIIHIIIHIIIIIHHIIHHIHHIIHIHIHHIIIIHHHHIIIHIIIHHIHHIIHHHHIIHIHIHHHIIHHHIIHHHHHHIIHHHIIIHHHHHHHIIIHHHHIHHHHHIHHIIIHHHIIHHHHHIIIIHHHHHHIHHIHIHHHIHHHIHHHIIHIHHIIHHHHHIIHHHHIIIHHIIHHHIHHHHHIHHHIHIIHIIIIHHIHIIHIHHHIHHHIHHHIHHHHIHHIIIHHIHHHIIHHIHHHIIHIHIIHHIIHHHHIHHIHHHIIIIHHHHIHHIIIHHIHHHHIIHIIIHHHHHIHIHIIIHIIHHIIHHHIHIIHIIHHIIHHHHHHIHHHHIHHIHHHIIIIIHHIHIHHHIIIHHHIHIHHIHHHIHHHIIIIIIHHHIHIIHHHHIHIIIHIIHIHHIHIIIIHHIHHHHHIHIHHHHHIIHHHHHIHHHHIIHIIHIHHHHIHHHHHHHHHHIHHIIHHHIHHIHIHHIHHHHHHHIHHHHIHIHHHHHHIIHHHIIHHIIHHIIHHIHIHHIIHIHHHHHHIHHHIIIIHHHHHHIHHHIHHHIIHHHHHIHHIHHHHIIHHHIHHIHHIHIIHHHHIHHHIHHHIHHIIHHIIIIHHHIHHHHIHIIHIHHHIIIHHHHHHHIHHIIHHIIHHHHHHHIIHHHHHIHIHHIHIIHHHIHIHIHIHHHIIHIHIIHIHIIHIIIHHHHHIHHIIHHIHHIHHHHIHHHHHIHIIHHHHIIIHIHIIHHHIIHIHHHIIIHHIHHIIIHIIIIHIIIHHIHHHHIIIHHHHHHHHHHHHHIHHIIIHIHHHHHHHIHHHHIHHHHHHHHHHHHIHIIHHHHHHIHIHIHIHHHHIHIIHHHHIHHHHIHHIHHHHHHIHIHHHIHHIIHHHIHHHIHHHIHIHHIHIHHHHHHIIHHHIHIHIHIIHHHHHHHHHHIHIHHIHHHIHHHHHIHIHHHHIHIIHHIIHIHHHIIHHHIHIHHHHIHHIHHHHHHHHIHHHIIHIIHHIHHIHHHHHHHIHIHIHHHHHHIHIIIIHIIHIHIIHHIIIIHIHIHIIIIIHIIIIIIIIIIHIIIIIIIIIIIIIIIHIHIIIIIIIIIIIIIIIIIIIIIIIIIIHIIHIIIIIIIIIIIIHIIIIIIHIIHIIHIIHHHIIHIIIHIIIIIHHIIIIIHIHIIIIHIIIIHIIIIIHIIIIIIHHHHIIIIHHIIIIIIHHIIIIIHHIHIIIIIIIIIHIIHIIHHIHHIHIIIHIHHHHIIIIIIIIIIIIIIIIHIIIIIIHIHHHHIHIIHIHHIIHIIIHIIIIIIIIIHIIIIIIIIIIIIIHIIIIHIHHHIIIIIIIIIIHIIIIIHHHHIIIIIHIHIHIIIHHIIIIIIHIIIIHHIIIIIHHIIIHIIIIHHIHHIIIIHIIIIIIIIIHHIIIIIIIIHIHIIIIHIHHIIHIIHIIHIIIHIIIHHIIIIIIIHHIIHHHIIIIIHHIIHHHIIIIIHIIIIIIHIIIIIIIHIIIHHIHIIIHIIIHIHIIHIIIIHIIIHIIIHIIHIHIIIIHIHIIIHIIIIIIIIIIIIIIIIIIIIHHHIIIIIIHHIIHIIIHIIIIIIHHHIIIIIIIIHIHIHIHHIHIHHIIIIHIIIIHIIIIHHHIIIHIIIHHHHIIHIIIIHIIHIHIHHIHIHIIIIIHIIHIIHIIIHHIIHIIIIIIIIHIIIIIHHIHIIIHIIHHIIHHIIIHHIIIIHHIIIHIIIHIIIIIHIHIIIHHHIIIHIHIIIIHIIIIHIIIIHIIIHIIIIIIIIIIIIIIIHIIIIIHIHHIHHIIIIIIIIIIIIIIHIIIHIIHIIIHHIIIIIIIHIIIIIIIIIIIIIIIIIIIIHIIIIIIHHIIIIHIIHIIIIHIIIIIHIIIIIIHIIIIIIIIHHHIIHIIIIIHHHHIHIHIHIIHHIIIIIIHIHHHIIHIIIIHIHHIIIIHHIIHIIIHIHIIIHHIIIHIHIIIIIIIHIHHHHIIHIHIHHIIIHIIIIIIHHIIHIIIIIHHIIHHIHIHIHIIHIIIHIIIIHHIHIHHIIIIIIIIIIIIHHIIIIIHIIIIIIHIIHIIIIHIHHHIIIIHIHIIHHIIIHHIIIHIHIIIIHHHIIHIHIIIIIIIIIHIIIIHIIHIIHHIIHHIIIIIIIIIIIIIIIHIHIIIIHIHIIIHIHHHIHIHIIIHIIIIHIIIHHHHIIHIHIIIIHIIIIIIIIIIHHHIIIIIIIIIIIIHIIHHIIHHIHIIIIIIIHIIIIIIIHHIIHIIIIHIIHIIHHIIIHHHIHIHHIHHHIHIHHIHHIIIHIIIHIHHHHIIIIHHIIIHHIIIHHIIIIIIHIIIHIIIIIHIHHHIIIIIIIIIHIHIHIHIHHIIIIIIHIIIIIHHHIIHIIIHIIHIIHHHHIIIIHIIIHIIIIIIHIIIIIHIIIHIIIHHHIHHIIHIIHIHHIHHIIIHIHHIHIIIHHIIIHHIIIIIHIIHIIHIIHHIIIHHIIHHHIIIIHIIHHIIIIIIIHIHHHHHIHIHIIIHIHIIIIHIHHIHHIHHIIIHHIIHHHIIHIHHIIIIIHIHHHIHIIIHHIIHHIIHHIHHIIIIHIIHHHIHIIHIIHIIIHHIIIHHHHHIHIHIHHHIHIIIIHIHIIIIIIHIIHIIIIIHIIIIIHHHHHHHHHHIHIIHIIHIIIIHHIIHHIIHIIIHIIIIIHIIHHIIHHIIIHIIIIIHHIHIHHIIIHIHHHHIIIHIIHHHIIHIIIHIIIHIIHIIHHHHIHIIIHIHHIIHIIIHIIHHHHIHHHHIIIIIIIHHHIIHIIIIHHHHHHIHHHHHHHIIHIHHIIIHHIIHHHHIIIIHIIIIHHHHHHIHHIHIHHHHHIIIHIIHHIHHHIIHHIHIHIHIHIHIIIHIIIHIIIHHHHHHIHHHIHIIHIIHHIIIHHHIHHIIHIHIHHHIHIIIHHHHIIHIIHHHIIHHHHHIHIHIIIIIIIIIIIIIIIHIIIIIIIIIIIIIIIHIIIIIIIIIIIIIHIIIIIIIIIIIIIIIIIIIIIIIIIIIHIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIHIIIHIHIIIIIIIIIIIIHIIIIIIIIIIIIIHIIIIIIIIIHIIIIHIIIIIHIIIIIHIIIIIIIIIIHIIIIIIIHIIIIIIIIHIIIIIIIIIIIIIIIHIIIHIIIIIIIIIIIIIIHIIIIIIIIHIIIIIIIHHIIIIIIIIIIIIHIIIIIIIIIIIIIIIIIIHIIIIIIHHIIIIIHIIIIIIHIIIIIIIIIIIIIIIIIIIIIIIIHIHIIIIIHIIIIIIIHIIHIIIIIIHIIIIIHIIIIIIIIIIHIIIIIIIIIIIIIIIHIIIIIHIIIIIIIIIIIHIIIHIIHIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIHIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIHIIIIIIIIIIIIIIIIHIIIIIIIIIHIIIIHIIHIIHIIIIIIHIIIIHIIIHIIIHHIIHIIIIIIIIIIHIIIIIIIIIIIIHIIIIIIHIIIIHIIIIIIIIIHIHIIIIIIIIIIIIIIIHHIIIIIIIIIIIIIIIHHIIIIIIIIIIIIIIHHIIIIIIIIHIIIIIIIIIHIIIHIIIIIIIIIIIIHIIIIIIHIIIIHIIIIIIIHHIIIIIIIIIHHIIIIIHIIIHIIIIHIIIHIIIIIIIIHHIIIIHIIIHIIIIIIIIIIIIHIIIIIIIIIIIIIIIHIHIIIIIIHIIIIHIIIIIIIIIIIIIHIIIHIHIIIIIIIIIIIIIIIIIIIIIIHIIIIHIIIIIIIIIIHIIIHIIIIIHIIIIIIIIIIIIIIIIIIIIIIIIHIIIHIIIIIIIIIHIIIIHHIIIIIIIIIIIIIIIHIHIIIIHIIIIIHIIIIHIHIHIIIIHHIIIHIIIIHHIIIIHIIIIIIIHIIIIHIIIIIIHIIIHIIIIIIHHHIIIIIIHIIHIIIHIIIIIIIHIIIIHIIHIIIIIIIIHHHIIHIIIIHIIHHIIIIIIIHIIIHIIIIIIIIIIIHIIIHIIIIIIHIHIHIIIIIIIIIHIIHIIIIIHIIIHIHIHHIIIHIIIIIIIIIHIHIIIIHIIIIIIIIHIHHHIIHIIIIIIIIHHIIIHHIIIHIIIIIIIIIIIIIIHHHIHHIIIIIIIHIIIIIIIIIIIIIIIIIIIIHHHIIIHIHIIIIIHIIIIIHIHIIHHIIIIIIIIIIIHIIIIIIIHHIHIIIIHIIIIIIIIIIIIIIIIIIIIHHIHIIIIIIIIIIIHIHIIIIIHHHIIIIHIHIHHIHIIIIIIHIIIHHIIHIHHIIIIHHHIIIIHIHHHIIIIIHIIIIHIHIIHIHHIIIHIIHIHIIIIIIHHHHIIIHHIIIIHIHIIIIHIIIIIIIIIIIIHHIIIHIIIIIHIHHIIIIHIIHIHHIIIHIIHIIIHIIIHHIHIIIIIIIHHHIHHHIIIIIIIIIIIHIIIIIHHHIIIHIHIIIHIIHIIIIIIIIIIHHIIIIIIIIIHIHIIIIHIIIIHIIIIIIHIIHIHIIHHIIIIHHHIIHIIIIIIIIHHIIHIHIIIIHHHIIIHIIHIHIIHIIIHHIIHHIIIIIHIHIIIIIIIIHIIIIIHIIIIHHHIIIHIIIIIIIIHIIIHHIHIIIHIIIIIIHHIIIIHIIIIIHIIIIHIIIIIIHIIIHHHIHIHIIHHIIIIIHIIHIIIIIHIHHIIIHIIHIIHIIIHIHIIHHIIIIIIHHIIHHIHIIIIHHIIIIIIIIHIIIIIHIIIHIIIIHHIIIHIIIHIIHHIHIHIIIHIIIIIIHHHHHIHIIHIHIIIIHIIHIHHHHIHHIIIHIHIHIIHIHIHIIIIIHIIIIIIHHIIHIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIHIHIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIHIIIIIIIIIIIIHIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIHIIIIIIIIIIIIIIIIIIIIIHIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIHIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIHIIIIIHIIIIIIIIIIIIIIIIIIHIHIIIIIIIIHIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIHIIIIIIIIIIIHIHIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIHIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIHIIIIIIIIIIIIIIIIIIIIIIHHIIHIIIIIIIIIIIIIIHIIIIIIIIIIIIIIIIIIIIIIIIIIHIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIHIIIIIHHIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIHIIIIIIIIIIIIIIIHIIIIIIIIIIHHIHIIIIIIIIIIIIIIIIIIIIIIIHIIIIIIIIIIIIIIIIIIIIIIIHHIHIHIIIIIIIIIIIIIIHIIIIIIIIIIIIIIIIIIIIIIIIIHIHIIIIIIHIHIIIIIIIIIIIIIIIHIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIHIIIIIIIIIIIIIHIIIIIIIIIIIIIIIIIIIIHIIIIIIIIIIIIIIIIIIHIIIIIIIIIIIIIIIIIIIIIHIIIIIIIIHIIIIIIHIIIIIIIIHIIIIIIIIIIIIIIIIIIIIIIHIIIIIIIIIIIIIHIIIIIIIIIIIIIIHIIIIIIIIIIIIIIIIIIIIIIIIIIIHIIIIIIIIIHIIIIIIIIIIIIIIIIIIHIHIIIIIHIIIIIIIIIIIIIHIIHIIIIIIIIHIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIHIIIIIIIIIIIIIIIIIIIHIIIIIIIIIIIIIIIIIIHIHHIIIIIIIIIIIIIIIIIHIHIIIIIIIIHIIIIIIIIIIIIIIIIIIIIHHIHIHIIIIIIIIIIIIIHIIIIIIIIIHIIIIIIIIIIIIIIIHIIIIIIIIIIIIIIIHIIIIIIIIIIIIIIIIIIIIIIIIIIIIHIIIIIHIIIIIIIHIIIIHIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIHIIIIIIIIIIHIHIHIIHIIHIIIIIIIIIIIIHIIIIIIIIIIIIIIIIIIIIHIIIIIIIIIIIIIIIIIIIIHIIIIIIIIIIIIIIIIIIIIIIIIIIHIIHIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIHIIIIIIIHIIIIIIIIIIIIIIIIIHIIIIIHIIIIIIIIIIIIHIHIIIHIIIIHIIIHIIHIIIIIIIIIIHIIIIIIIIHIIIIIIIIIIIIIHIIIIIIIIIIIIIIIIIIIHIIIIHIIHIIIIHIIHIHIIHIIIIHIIIHIIIIIIIIIIHIIIIIIIIIIIHIIIIIIIIIIIIHHIIIIIIHHIIIIIIIIHIIIIIIIIHHIIHIIIIIIIIIIIIIIIIIIHHIIIIIHIIIIHIIIIIHIIIHIHIIIIHIIIIIIIIIIIIIIIIIIIIIIIIHIIHIIHIIHHIIIIIIIIIIIIIHIIIIHIIIIIIIIHIIIIIIHIHHHIIIIIIIIIIHHIIIIIIIIIIIIIIIIIHIIIIIIIIIHIIIHIIIIHHHIIIIIIIHIIIIHIIHIIIIIIHHIIIIIIIIHIHIIIIHIIIIIIIIIIIIIHHIHIIIIIIIIIIIIIHIHIHIIIIIIIIIIIIIIIIHIIIHIIIHIHIIIIIHIHIIIIIIIHIIHIIIIHIIHIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIHIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIHIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIHIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIHIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIHIIIIHIIIIIIIIIIIIIIIIIIIIIIHIIIIIIIIIIIIIIIIIIIIHIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIHIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIHHIIIIIIIIIIIIIIIIIIIIIIIIIIIIHIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIHIIIIIIIIIIIIIIHIIIIIIIIIIIIHIIIIIIIIIIIIIIIIIIIIIIHIIIIIIIIIIIIIIIHIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIHIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIHIIIIIIIIIIHIIIIIIIIIIIIIIIIIIIHIIIIIIIIIIIIIIIIIIIHIIIIIIIIIIIIIIHIIIIIIIIIIIIIIIHIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIHIIIHIIIIIIIIIIIHIIIIIIIIIIIIIIIIIIIIIIIIIIHIIIIIIIIIIIIIIIIIHIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIHIIIIIIIIIIIIHIIHIIHIIIIIIHIIIHIIIIIIIIIIIHIIIIIIIIIIIHIHIHIIIIIIIIIIIIIIIIHIIIIIHHIHHIIIIHIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIHIIIIHIIIIIIIIIIIIIIIIIIIHIIIIIIIIIIIIIIIIIIIIIIHIIIIIIIIIIIIIIIIIIHIIIIIIIIIIIIIIHIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIHIIIIIIIHIIHIIIIIIIIIIIIIIIIIIIIHIIIIIIIIIIIIHIIHIIIIIIIIIIIIIIIIIHIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIJIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIJIIIIIIIIIIIIIIIIIJIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIJIIIIIIJIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIJIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIJIIIIIIIIIIIIIIIIIIIJIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIJIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIJIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIJIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIJIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIJIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIHIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIHIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIHIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIJIIIIIIIIIIIIIIIIIIIIIIIIIIIJIIJIIIIIIIIIIJIIJIIIIIIIIJIIIJIIIIJIIIIIIIIIIIIIIIIJJJIIIIIIIIIJIIJIIJIJIJIJIIIIIIJIIIIIIIIIIIJIIJIIIJIIIIIIIIIJJIIIIIJJIJIIJIIIIJIJIIIIIIIJIIIIIIIIIIIIIIIIIIIIJIIIIIIIIJJIIJIIIIIIJIIJIIJIIIIIIIIIIIIIIIIJIIIIIJIJIIIIIIIIIIIIIIIIIIJIIIJIIIIIIIJJIIIIIIJIIIIIJIIIIIIIJIIIIIIJJJIIIIIIIJIIIIIIIIIIIIIIIIIJIIJIIIJIIIIIIJIIIIJIIIIIJIJIIIIIIIIIJIIIIIIIIIIIIIIIJJIIIIIIIIIIIIJJIJIIIIIIIIIJIIIIJIIIIIJIIIIIIIIIIIIIIJIIIIIIJIIJIIIIIIJJIJIIIIIIIJIIIIJIIIJIJIIIIJIIIIIIIIIIJIIIIIJJIJJIIIIIIIIIJIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIJIIIJIIIIIIIIIIIJIIIJIIIIIIIIIIIJIIIIIIIIIIIJIJIIIIIIIIIIIIIJJIJIIIIIIIIIIIIIIIIIIIIIIIJIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIJIIIIIIIIIIIIIIIIIIIIIJIIIIIIIIIIIIIIIIIIIJIIIIIIIJIIIIIIIIIIIIIIIIIIIIIIIIJIIIIIIIIIIIIIIIIIIIIJIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIJIIIIIIIIJIIIIIIIIIIJIIIIIIIIIIIIIIIIIIIIJIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIJIIIIIIIIIJIIJIIIIIIIIJIIIIIIIIIIIIIIIJIIIIIJIIIIIIIIIIIIIJIIIIIIIIIIIIIIJIIIIIIIIIJIIIIIIIIIIIIIIIIIIIIIIIIIIIIJIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIJIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIJIIIIIIIIIJIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIJIIIIIIIIIIIIIIIIIIIIJIIIIIIIIIIIIIIIIIIIIJIIIIIIIIIIIIIIIIIIIIIIJIIIIIIIIIJIIIIIIIIIIIIIIIIIIIIIIIIIJIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIJIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIJIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIJIIIIIIIIIIIIIIIIIIJIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIJIIIIIIIIIIIIIIIIIIJIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIJIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIJIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIJIIIIIJIIIIJJIJIIIIIJIIJIIIJIIIIJIJIIIIIIIIIJJIIIIIIJIIJJJJJIIIIIIIIIIIJIIIJIJIIJJIIIIIIIIIIJIIJIIJIIIJIIIIJJIIIIJIJJIIIIIIIIIJJIIIJIIIIIIIIJIJJIIJJIIJIIJJIIIIJIIIIIJJIIIIIJIIIIJJJIIJJIJIIIIJIIJIJIIIIIIIIJIIIJJJIIIIIIIIIIIIJJIJIIJIJIJIJIIIIJJIJJIJJJIIIIIIJIIIJIIIIIIJIJJJIJJIIIJIIIIJIJJIIIIJJIJIJIIIIJJIIIIIIIIJJIJIIIIIIIIIJIJIIIIIJIIJJIIIIIIIIJIJIIIIIIIIIIIIIJJIJIIIIJJIIJIIJIJIJJIIIIIIJJIIJIJIIIIIIJJJIIIIJIJIIJIIIIJJIIIIJJJJIIIIJIIIIIIJJJIJIIIIIIJIIIJJJIIJIJIIJIIIIJIIIJIJJIIIIIJIIJIIIIIIIIJJJIIIJIIIIIIIIIIIIIJIIIIIIJIIIJIIIIIIIIJIIJIIIIJIIIIIIIIIIIIIJIJIIJIIJJIJJIJJIIIJIIIIIIIIJIIIIIIJIJIJIIIIJJIIIJIIIIIIIIIIIIIIJIJIIIIIIIIJIJIIIIJIIIIIIIIIIIIIIIIIIJIIJJIIJJJIIIJJIIIIIIJIIIIIJIIJIIIIIIJIIIIIIIIJIIIIIIIIIIIJIJIIJIIJIJIIIIJIJIIIIJIJIIIIIJIIIIIIJJJJIIJIIIIIJIIIJIIJIIIJIIIIJIIJIIIIJIIIIIIIIIIIIIIIIIIJIIIIIIIIIIJIIIJJIIJIIJIIJIIIIIIIIIIJIIJIIIIIJIIIIIIJIIIIIJJIJIIIJIIIIJJIJIIJIIIIJIIIIJJJIJJIIIIIJJJJIJIJIIIJIIJIIIJIIIIIIIJIIIJIJIIIIIIIIIJIIIIIJJIIIIIIJIIIIIIIIIIIJIIJIJJIIIIIIIIJIIIIIIIIIIIIIIIJIIIIIIIIIIJIJJIJIIIIIIJIIJIIIIJIIIIIJIIIIIIIIIIIIIIJIIIIIJJIIJIIIIIIJIIJIIIIIIIJIIIIJIIIIIJIIIJIIIIIJIIIIIIIIIIJIJJIJJJIIIIIIIJIIIIJIIIIIJIIIIIIIIIIIIIIJIIIIIIJIIJIJIJIIJIIJIIIIIIIJIIIIJIIIIIJIIIJIIIIJIIIIIIIIJIIIIIIJJIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIJIIIIIIIIIIIIIIJIIIIIIIIIIJJIIIJJIIIIIIIIIIJIIIIIIIIIIIJIJIIIIIIIIIIIIIIJIJIIIIIIIIJIIIIIIIIIIIIIIJIIIIIIIIIIIIJIJIIJIIIJIIIIJIIIIIIIIIIIIIIIIIJIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIJIIIIIIIIIJJIIIIIIJIIIIIIIIIIJIIIIIJIIIIIIIIIIJIIIIIIIIIIIIIIIIIIIIIIJIIIIIIIIIIIIIIIIIIIJIIIIIIIIIIIIIIIIIIIIIJIIIIIIIJIIIIIIIIIIIJIIIIJIIIIIIIJIIIIIIIIIJJIIIIIIIIIIIIJIIIIIIIIIIIJIIIJIIIIIIIIJIIIIJIIIIIIIJIIIIIIJIIJIIIJIIIIIIIIIJIIIIJIIIIIIJIIIIIIIIJIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIJIJIIIIIIIIIIJIIIIIIIIIIIIIIIJIIJIIIIIJIIIJIIIJIIIIIIIIIIIIIIIJIJIIIIIIIIIIIIIIIIIIIIIIIIIIJIJIIIIIIIIIIJIIIIIIIIIIIIIIIJIIIIIIIIIIIIJIIIIIIJIIIIIIIIIIIIIIIJIIIIIIIIIIIIIIIIIJIIIIIJIIIIIIIIIIIIIIIJJIIIJJJIIIIJIJIJJIIJIIIJJIJIJIJJIIJJJJIJIJIJJJIJIJIIJIJJIJJIJIIIIJJJJJIJIIJJIJJIJIIJIJJJIJJJIIIJIIIIJJIJIIIIIIJIJJIIJIIIIJJIJIJJIJJJJIJJJIIIIJIJIJJJIJIIIJIIIIIIJIIJIJJIIJIJIJIJIIJIJIJJJJJIIIJJJIJIJIJIIJIJIIIIJIIIIJIIJJIIIJIIIIJIIIIIIJJIIJJJIIJIJJJIIJIJJIIIJIJIIJIJIJIJJIIIIJIIIIIJIIJIIIIIIIJIIJIIIIJJIIJIIJIIJJJIJIIJIJJJJIIIIIJJIIIJIIJJIJIIIIIJJIJJIIIJIIIIJIJJIJJJJJJIJIJIIJJJJIJJIIJIIJIIIJIIJIJJIIIJIJJIIIIJJJJJJIJIJIJIIIIIIJIJIJJJJJIIJIJIIIJIIJIJJJIIJJIIIJJIIJIIJIIIJJJIJIIIJJIJJJIJIIIJJIIIIIIJIIIIIJJIJJIIIIIIIJIIIIJIIJIJIIIIIJJIIIIIIJIIIJIIIIIJJIIIIJIJJJJJIJJIJIIJIIIJJJIIJJIIJIJIIIIJJIIIJJJIJIIIIIJIJJIIIJIIIJJIIJJJIJIIIIIJJJJJIJIJIIIIJIIIJIIIIIIJIIJIIJJIIJIIIIIIIIJIIJJJJJJIIIIIJJJIJIIJIJIJIIIIIIJIIJIIIIIIIIJJIJJJJJJJIJIJIIIIJIJIIJIIJIIJIJIIIIIIJJIJJIIJIJIJIJIIJJJIIIIIIJIIIJIIJJJIIIIJIJIIJIIJIJIIIIIJJIIJIIIJJIIIJIJIIIJJIIJIJIIIIIIJIJIIJIIIJIIIIIIIJIJJIIIIIIIIJIIIJIJIIIIJIIJIIIIIIIIIIIJJIIIIIIJIJIIIIIIIIJIIJJJJIJIIJIIJIJIIIIIIIIIIIJJIIIIIIIIIIJIIIIIIIIIIIJJIIJJIIIIIIJIJIIIIJIJIJIIIIJJIIJIIIIJJJJIIIIIIJJIIJIJIJIIIIJJJIIIIJIJIIIIIIIJIIIIJIJJJIIJIJIJJIIIJJIIIIIIIJIJIIJJJJJIJIJIIJIIIIJIIIJJJJIJJJJJIIIIIIJJIIJIJIJIIIIJJJIIIIJIJIIIIIIIJIIIIIIJJJIIJIJIJJJIIJJIIIIIIIJIJJIJJJJJIJIJIIJIIIIJIIIJIJJIIIIIIIIJIIIIIIIIIJIIIJJIIIIJJIIIIIIIJIIIIIIJIIIJIIIIIIIJJIIJIIIJJIIIIIIIJIIIIIIIJIIJIIJJIIJIIJIIJJIIIIIIIIJIIIIIIJJJJJIIIJJJIIIJIIIIIIIIIJIIIIJIJIIIIIIIIJIJIIIIJIIIIIIIIIIIIIIIIIIJIIIJIIJJJIIIJJIIIIJIJIIIIIJIIJIJIIIIIIIIIIIIIJIJIIIIIIIIJIIJIIJIIJIIIIIIJIJIIIIIIIJJJJIIIIIIJIIIIIIIJIIIJJJJJJIIIJJIIJIIIJIIIIIJIIJIJJIIIIIIIIIJIIJIIIIIIIIJIJIIJIIJIIJJIIIIJJIJIIIIIIIJJJJIIJIIIIIIIIIJIIIIJIIIIJIIJIIIJIJJIJIJIIIIIIIIIIIJIJIIJIJIIIJIIIIIIIIIJJIIJIJJIIIJJIIJIIIIIIIIJIJIIIJIIJIIIJIIIIJIIIIIIJIIIIIIJIIJIIIIIIIJJIIIJIIIIIIIJIIJJIIIIIIIIIIJIIIIIIIIIIIJIIJIIJIIJIIIIIIIIJIJIIIIIIIIIIIIIJIIIIJIIIJIIIIIJIJIIIIIIIIIIIIIIIIJIIIIIJJIIJIJIJIIIIJIIIIIIIIIJIIIIIIJIIIIIIIIIIIIIJIIIIIIIIIIJIIIIJIIIIIIIJJIIIIIIJIIJJIIIIIIIIIJIIJIIIJJIJJIIJIJIJIIJJIIJJIJJJJIIIIJIIJIJJIJIJJJJJJIJJJIIJJJJJJIJJIIJIJJIJJIIIIJJIJIIIJIIIIJIIIIJJJIIIIIIJIIJJIJJJJIIJJJIJJJIJIJJIJIJJJJJJJIJIJIJIJJJJJIJJIIIIJIJIJJIJJJIIIJJJIIJJIIIIJJIJIJJIJJIJJJIJIJJJJJJJJJIJJJJIJJIIIIIJJJIIIJIJIIJIJIIJJIIJJIIIJJIJIJJIIJJIIJJJIJIJJJIJJJIJJIJIJJJIJJJJJJIJJJIIJJIJJIIJIJJJIIIJJJIJJIIIJJIJJIIJJJJJIJIIJIJJIJJJIIJIIIIIIIIJJIJJIJIIJJJJJIIIJIJJJIIJJJJIIJIJIIJJJIJIJJJIIJJJIIIIIJJJJJJIIIIIIJIJIJIIIJJIJJIJIJJJJJIJJJJIIJIIJJJIIJIIIJIJIJJIIJIJIJIJIJJIJJIJIIJIIIIJJJIJJJIJIIIJJJJJJJJJJJJIIIIJJJIJIJJIIIJIIJJJJIIJJIIJIJIJIJJJIIIJIJIJJJJIJIJIIJJIJJIJIJIIJIJIIIJJIJIJIIJIJJJIJIIIJJJIJIIIJIIIIIIJIJIJJIIJJIIIJJJIJJJIJIIJIJIIIJIJIIJIJIJJJJIIJJIIJIIIIJJJJIIIJIIJJJJJJIIJIIIIJJIIJJJJIJIIIIIJJJIIIJIJIJJJJIIIIJJJJJIIIIIIIIIIJJJIIJJIJJJJJIIJIJJIIIJJJJIIIJIJIJIIJJJJIIIIJJIIJJJJJIIIIJIIJJIIJJIIIIJIIIJJJIIIIJIIJIIJJIIJJIJIIJJIIIIIIJJJIIJJIIJIJIJIIIJJJJIJJIIIIIIJIIIIIIIJIJIIJIIIIIJJJIIIIJJIIIIIIIIIIIIJIJJJJIIIJIJJJJJIIJJJIJJJJJIJIIJJJJJIJIIIIIJIIIIJIIJIIIIIIIIIJJIIJJIJIIJIJIJIIJJJJIJIJIIJJJJIJJIJJIIJIIIJJIIIJIIIIJIJJIIIIJJJJJIIJIJJIIIJIIIJIIIJJJJJIIJJJIIIJIIIJJJJIIJJJIIJJIIJIIIIIIJJJJJIIIJJIJJIIJIIJIIIJJIIIJIIJIJIJJIIIIJJJJJIIJIJIIJIJIIIJIIIJJJJJIIJJJIIIJIIIIJJIIIIJIJIJJIIJIIIIIIJJJJJIIIJJIJJJIJIIIJJIJIJIIJIIIIIIJIJJJIIIIJJJIJIJJIIJJJIIIJIJJIIIIIIJIIIJIIJJIIIIJIJJIJJJIJIJJIJIIJIJJJJJIJJJIIJIJIIIIJIJIIJJJIJIJIIIJIJIIIIJIIIJIIIJJJIJJIIIIJJJJJJJIJIIIJJIIIJIIJIJIJIIJIIJJIJJJIJIIIIJJJJJJJJJJIIIIIIJJIJIIJIJIJIIIIIIJIIIIIIIIIIJJJIJIJJJJIIJIJIIIIJIJIJJIJIIJIJIIIIIJIJIIJIJJJIJJJIIIIIIIJIJJJJJJJIIIIIIJJJJJIJIJIJIIIIIIJIIIIIIJIIIIJJIJIJJJJIIJIJIIIIJIJIJJIJIIJIJIIJIJIIIJJJIIIJJIIIIIIIIJJIIIIIIIJIJIJIIIJJIJIIJIJIJJJIJIJJIIIIIJJIIJIIIIJIIIJJIJJIJIJIJIIJJIJIIIIJIIIIJIIJJIIIIIIIJJIIIIJJJJIIIIIIIJIIJIJIIIIJIIIIIJIIJJIIJIJIIIJIJIIJJIJIIJIIJJIJIIIJIIIIJJJIIJIJJIIIJIJIJIIJIJJJIIIJIJJIIIJIIJIIIIIIJIJJJIIIJIIIIIJIIJJJIJIIIIJIIIJIIIIIIIJIJJIIJIJIJJJJJIIIIIIIIIIJIJIJIIJJIIJIIJIJIIJJIIJJIIJJIIIIIIIJIJIIIIJIIIJJIIIJIIJJIJJIJIIJIIIJJJJIIJIJIIIJJJJIIJJJJIIJJJJJJJJJJJJJIJJIJJJJJJJIIIJIJJJJJJJIJJIJJIIJIJJJJJJJJJIJJJJJIJIJJJJIJIIIIIJJIJIIJJIJJIIJJIJIJJJIJJIIJIIJJJJJJJJJJJJJJIIIJJJIJIJJJIJJJJJJJJIIIJJJJJIJJJIJIJIJJJJJJJJJJIJJJJJJJIJJJJJIIJIIIIJJJJJJJJJJJJJJJJJIJJIJJJIJJJJJIJJJJJJIJJJJJJIIJIIJJIJJJJJJJJJJIJJJIJIJIJJJIIJJJJJJIIJJJJIJJJIIJJJIJJJIIJJJJJIIJJIIJJJIIIJJJJJIJIJJIJIIJJIJJJIJJJIJIJJJJJJJIJJIIJJJJJIJIIJJIJIJJJJJIIJJJJJJIJIJJJIJJJJJIIIJJIIJJIIJJJJJJJJJJIJJIJJJIJJJIIJJJJJIJIJIIIJJJJIJJIJJIIIJIJJIIJJIJJJJJIIIJJIJIJJJIJJJJJJIJIJJJJJIIJJJIJJJJIIJIJIJJIIJJIJJIJJIJJIJIJJJJJJIJIIJIIJIIIJIJIIJJIJIIJJJJJJJIIJIJJJIIJIIJIJJJJJIJIJJJJIIJIJIJIIJJIJJJJJJJJJJJJIIIJIJJJIIJIIJJIIJIIJJJJIJJIIJJJJJIJJIIJJJJJIJJIIJIIJJJJIJJJIJJJJJJJIJIJIIJIJIJJJJIIJJJJJIIJJJIIJJIJJIIJJIIIJIJJIIIIIJJIJJJJIJIJJJJJIJJIJJIJJJIJIJJIIIIIJJIIIJIJJJIJIJIJJJJJJJIJIJJJJJJJJIJJJJJIJJIIJIJJIIJJJIIIJJJIJJJJIJJIJIIIIJIJIJJIJJJJIJJIJIJJJJJJIJIJJIIJJIJIJIJJIIIJIIJIIJJIJJJIJJIIIJJJJJJJJJJIJIJJIJJIJIJJJJIJJIIIIJJIIIIJIJIIIIJJJJIJJJJJIJJJJIIJJIJIJJJJJIJIJJJJJJJJJJJJIIJJJIIIIIJJIJJJIIIIIJJIJJJJJIJJIJJJIIJJJJJIJJJJIIJIIJJJIIIIIJJIIIJJIIJJJIJJJJJJIJJIIJIJIIIIJJJJJJJJJIIJJJJIIJIJJIJJJIIIJIIJIJIJIJIJJIJJIIIJJJJJIJJJJJIJIIJJJIJIIIIJIJIJJIJJIJIJJJIJJIJJIIIIJIIJIJJIJJJJIJIJIJJJJJIJJJJJJIJJIJJJIJIJJJIIJIIIJIJIIJJIIJIJIJJJJJIIIJIJIJJJJIJIJIIJJJJJJJIJIIJIJIIIJJIJIJIIJIJJJIIIJIJJJIJJIIJIIIIIIJIJIJIIIJJIIIJJJIJJJIJIIJIJIIJJIJIIJIJIJJJJIIJJJJJJIIIJJJJJIIJIIJJJIJJIIJIIIIJJIIJJJJJJIIIIJJJJIJIJIIIJJJJJIIIJJJJJIIIJIIIIIIIIIJIJJJIJJJJJIJJJJIIJJJIJIIJIJJJJJIIJIIJJJIJJIIJJIJIJJIIJJJJJJIIIIJJJJIJIJIIIJJJIIIIIJJJJJIIIIIJIIIIIJIJIJJJIJJJIJJIJJJIJJIJIIJIIJIIJIIJIIJJJIJJIIIJJIIJIJJJJIIJJIIIJJIJJJJJIJJIJIJJIJJIIIIJJIIJJJJIJIJJIIIIJIIJJJJJIIIJIJJIIIJJJJJJJIIIJJIJIJJJIIJJJJJIJIIJJJJIIJJJIJJIJIJJIJIJJIJJJIJJIJJIJJIIIJJJIJJIJIIJIIIIIJIIIIIJJIJIIJJJJIJJIIJIIIJJIJIIJIJIJJJIJIJJIIJJJIJIIIIJJJJJJJJIIJJJJJJIJJIJJJJJIIIJJIIJIJJIIJJIIJIJIIIIIIIJIIJJIIJJJJIIIJJJJIIIIJJIJIJIIIIJJIIIJJIJJIIIIIJJJJJJJJIJJJJIJJIJIJJJJJJIJJJJJJJJJJJJJJJJJJJJJJJIIJJJJJJJJJJJJJJJJJIJJJJIJJJJJJJJJJJIJJJJJJJJJJIJJJJJJJJJJIJJJJJIIJJJJJIJJJIJJJIIIJJJIJJJJJJJJJJJJJJJJJJJJJJJIJJJJJJJJJIJJJJJJJJIIJJJJJIIJJJJJJJJJIJJJJJJJJJIJJJJJJJJIJIJJJIJJJJJJJJJJJJJJJJJJJJJIIJJJJJJJJJJJJJJIJJJJJJIJJJJJIIJJJJJJJJJJJIJIJIIJJJJIJJJJJJJIIIJJJJJJJJJJIJJJJJJJIJJJJJJJJJJJJJIJJJJIJJIIJJJJJIJJJIIJJJJJIJJJJJIJJJJIJJJJJJJJJJIIJJIJIJJJJIJJIJIJJJJJIJIIJJJIJJJJIJJJJJJJJJJJJJIJJJIJIJJIJJJJJJIJJJJIIJJJIJIIJJJJJJJJJJJJIJJJJJJJIIIJJJIJIJJIIIJIJJJJJJJIJJJJJJJJJJJJJJJIJIJJIIJJJIIJJJJJJJIJIJJJJJIIIJJIJJJJIJIIIJJJIJJJIJJJIIJJIIJJJJJJJJJJJJJIJJJIJIJJJJJJJIIJJJJJJIJJIJJJJIJJJJJIJIJIIJIJJJJJJJJJJIJJJJJJJJJJJJJIJJJJJJJJJJJIIJJJIJJJJJJJIJJIJJJJJJJJJIJIJJJIJJJJIJJJJJJJJIJJIJIJJJJJJJJIJJJJJJIJJJJIJJJIJJJJJJJJJJJJJJJJJJJJJJJJJIJJJIJJIJJIJJIIJIJJJIJJJIJIJJJJJJJJJJIJIIJJJIJIJJJJJJJJIIIJJIJIJIIJJJJJJIJJJJJJIJJJJJIJJIJJJIJIJIIIJJIJIJJJJJJJJJIIJJJJJJJIJJJJIJIJJJJIJJJJIJJJJIJJJJJJJJJIJJJJJJIIJJJIIJJIJJJJJJJIJJIJJJJJIIJJIJJJJIIJIJJJJJJIIJIJIJIIIIJIJJJJJJJJJIJJJJJJJJJIJJIJIJJJJJJIJIIJJJJJJIJIJJJIJJJJJIIIJJIIJJIIJJJJJIJJJJJJJJJJJIIJJIIJJJJJIJJJIJIJJJJIJJIJJIIIJIJJJJJJIJJIJIIJJJJIIJJIJJJJJJIIIJJJIJJJJJIIIJJIIJJIIJJJJJJJJJJIJJJJJJIIJJIIJJJJJIJJJIIIJJJJIJJIJJIIIJIJJIIIJIJJJJJIIIJJJJIJJJJJJJJJJIJIIJJJJIIJJJIJJJJIIJIJIJJIIJJIJJIJJJJJJJIJJJJJJIJIIJIIJIIIIJJIIJJIJIJJJJJJJJIIJIJJJIIJJIJJJJJJJJJIJJJIJIJIJIJIJJJIJJJJJJJJJJJJIIIJIJJJIIJIIJJIIJIIJIJJJJJJIJJJJJIJIIJJJJJJJIJIIJIIJJJJIJJJIJJJIJJJIJJJIIJIJIJIJJIIJJJJJJIJJJIJJJJJJJJIJJJIJIIJIJJJIIJIIJIJJIJJJIJJJJJIJJIIJJJJJJIJJIJJJJJJJJJIJJJJJIJJJIJJJJIJJJIJIJJIIJJJJJJIJJJIIJJJIJJJJJJJIJJJIJJIIIIJJJIJIIJIJIIJJJJIIIJJJJIIJIIJJJIJJJIJJIJIJIIIIIIIIJJJJJJIIJIJIIIJJIJIIJJJIJIJIJIIJIJIIJJIJIJIJJJJJIJJIIIJIJJJJJJJIIIJJJJIIJJIJJJJIJIIJJJIJIIJIJJIJJJIIIJJJJJIJIJJIIJIJIIIIIJJJIJJIIJJJIIJJIIJJJJJIJJIJJJJIJIIIJIJIJJJJJIIIJJIIJIJJIJJJIIJJJJJIJIJIIIIIJJJJJJJJJIIIIJIJJJIIIIJJIJJJIIJJIIIIIJIJIJIJIIJJIJJIJIJIJJIJJIIIJJJJJJJIJJIJJJIJIIIIJJJJJJJJJJJJJJJIJJJJIJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJIJJJIJJJJJJJJJJIJJJJJJJJJJJJJJJJJJJJJJJJJJIJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJIJJJJJIJJJJJJJJJJJJJJJIJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJIJJJJJJJJJJJJJJJIJJJJJJJJJJJJJJJJJJJJJJIJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJIJJJJJJJJJJJJJIJJIJJJJJJJJJJJJJJJJJIJJJJJJJJJIJJJJJJIJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJIJJJJJJJJJJIJJJJJJJJIJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJIJJJIJJJJIJJJJJJJJJJJIJJJJIJJJJJJJJJIJJJJJJJJJJJIJIJJJJJIJIJJJJJJJJJJJIJJJJIJJJJJJJJJJJJJJJJJJJJJJJJJJJJIIJJJJJIIIJJJJJJJJJJJJJJJJJJJJIJJJJJJIJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJIJJJJJIJJJIJJJJJIJJJJJJIJJJJJJJJJJIJJJJJJIJJIJJJJIJJJJJJJJJJJJJIJJJJJJJJJJJJJJJIJJJJJIJJJJJJJJJJJJJJJJJJJJJJJJJIJJJJJJJJJJIJJJJJJIJJJJJJIJJIJJIJIJJJJJJIJJJJIIJJIIJJJIJJJJJJIJJJJJJJJJJJJJJJJJIJJJJJJJJJJJJJJJJJJJJJJJJJJIJJJJJJJJJJJJJIIJIJJJJJJJJJJJIJJJJJJJJJJJJJJJJJIJJJIJJJJJJJJJIJIJJJJJIJJJJJJJIJJJIJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJIJIJJJJIJIIJJJIJJJJJIJJJJIJJJJIJJJJJJJJIJJJJIJJJJJIJJIJJJJJJIIJJJIJJJJJJJJJJJJJJJJJJJJIJJJJJJJIJJIJJJIJJJJJJIJIIJIJIJJJJJJIJJJIJJJJIJJJJJJJJJJJJJIJJJJJJJJIJJJJJJJIJJJIJJJJJJJJJJJJJJJJJJIJIJJJJJJJIIIJJJIJIJJIIIJIJJJJJJJJJIJJJJJJJJJJJJJIJJJJJJJJJJIJJJJJJJJJIJJJJJIIIJJIJJIJIJIIJJJJJJJJIJJJIIJJIIJJJJJJJJJJJJJIJIJIJIJJJJJJJJIJJJIJJIJJIJJJJIJJJJJIJIJIIJJJJJJJIJJJJIJJJJJJJJJJJJJJJJJJJJJJJJJIIJJJJJJJJJJJIJJIJJJJIJJJJJJJJJJIJJJJIJJJJJIJJIJJIJIJJJJJJIJJJJIJIJJIIJJJJJJJJJJJJJJJJJJJJJJJJIJJJJJJIIJJJIJJJJJJJJJJIJJJJIJJJJIJIJJJIJJJJIJJJJJIJJIJJIJJJJJJJIIJJJJIJJJJIIJJJJJJJJJJJJJIJJIJJJIIJJIIIJJJJJJIJJJJJJJJJIJJJJJJJJJJJIJJJJJJJJJJIJJIJIJJJJJJJJJJJJIJJJJJJJIJJJIJJJJIJJJJIJJJJJJJJJIJJJIJJJJIIJJJJJJJIJJJJJJJIJIJJJJJJJJJJJIIJJJJJJIJIJJIJJIJIJJJIJJJJJJJIJJJJIJJJJJJJJJJJJIJJJJJJIJJJJJJJJIIJJIJJIIIJJJIJJJJJJJIJJJJJJJIIJJJJJJIJJIIJJJJJJJJIIJJJIJJJIJJIJJIJJIJJJJJJJJJJIJIJJJJIIIJJJJIIIJJJJJJIJIJJJJJJJJIJJJJJJIJJJJJJJIIIJJJJJJJJJJJKJJJJJJJJJJJJJJJJJKJKJJJJJJKJJJJJJJJJJJJJJJJJJJJJJJJJJJJKJJKJKJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJKJJJJJJJJJKJJJKJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJKJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJKJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJKJJJJJJKJJJJJJJJJJJJJJJKJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJKJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJIJJJJJJJJJJJJJJJJJIJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJIJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJIJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJIJJJJIJJJJJJJJJJJJJJJJJJJJJJJIJJJJJIJJJIJJJJJJJJJIJJJJIJJJJJJJJJJJJJJJJJJJJJJJJJJJJJIJJJJJJIIJJJIJJJJJJJJJJJJJJJJJJJJJJJIJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJIJJJJJJJJJIJJJJJJJJJJJIJJJJJIJJJJJIJJJJJJIJJJJJJJJJJJJJJJJJJJJIJJJIJJJJJIJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJIJJJIJJJJJIJJJJJIIJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJIJJJJJJJJJJJJJJJJJJJJJJJJJJJIJJJIIJJJIJJJJJJJJJIJJJIJJJJJIJIJJJJJJJJJJJJJJJJJJJJIIJJJJJIJJJIJIJJIJIJJIJJJJJIJJIJJJJJJJJIJJJJJJIJJJJJJJJIJIJJJJJJJIJJJJJJJJJJJJJJIJJJJJJJJJJJJJIJJJJJJJJJJJJJJJJJJIJJIJJJJJJJJJJJJJJJJJJJJIJJJJJIJJJJJJJJJJIJJJJJJJJJJJJJJJJJJJJJIJIJJJJJJJJJJIJJJJJJJJJJJJJJIIJJJJJJJJJIJJJJJIJJJJJJJJJJJJJJJJJJJJJJIJJJJJJJJJJJJJJJJIJJJJJIJJJJJJJJIJJJJKJJKJJJJJKJKJJJJJJJJJJJJJJJJKJJKKJJJJJJJKKJJKJJJKJJJJJKJJJJJJJJJJJKJJJJJKKJJJJJJJKJKJJJJJJJJJJJKJJJJJJKJKJJJJJJJJJJJJJJJJKJJJJJJKJJJJJJJJJJJJKJJJJJJJJJJKJJJJJJJJJJJJJJJJJJJJJJJJJJJKJJJJKJJJJJJJJJJJKJKKJJJJJJJJKJJJJJJJJJJJJJJJJJJJJJJKJJJJJKJJJJJJJKJJKJJJJJJJJJJJJJJJJJJKJJJJKJJJJJJJKJJJJJJJJJJJJJJKJJJJJJJKJJJJJJJJKJJJJJJJJJJJKJJJJJJJJJKJJJJJJJJJJJJJJJJJJJJJKJJJJJJJJJKJJJJJJJJJJJJJJJJJKJJJJJJKJJJJJJJJJJJJJJJJJKJKJKJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJKJKJJKJJJJJJJJKJJJJJJJJJJJJJJKJJJJJJJJKJJJJJJJJJJJJJJJJJJJKJJJJJJJJJJJJKJKJJKJJJJJJJJJJJJJJJJJJJJJJJJJJJKJJJJJJJJJJJJJJJJJJKJJJJJJJKJJJJJJJJJJJJKJJKJJKJJJJJJJJJJJJKJJJKJJJJJKJJJJJJJJJJJJJJJJJJJJJKJJJJJJJJJJKJJKJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJKJJJJJJJJJJJKJJJJJJKJJKJJJJJKJJJJJJJJJJJJJKJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJKJJJJJJJJJJJJJKJKJJJJJJJJJJJJJJJJJJKJJJJJJJJJKJJKJJJJJJJJJJJJJJJJJJJJJKJJJJJJJJJJJJJJJJJJJJJJJJJKJKJJJJJJKKJJJKJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJKJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJKJJJJKJJJJJJJJJJJJJJJJJJJJJJJJJJJJKJJJJJJJJJJJJJJJKJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJKJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJKJJJJJJJJJJJJJJJKJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJKJJJJKJJJJJJJJJJJJJJKJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJKJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJKJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJKJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJKJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJIJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJKKKJJJJJJJJJJKJJJJKKJJJJKJJJJKJJKJJJJJJKJKJJJJJKKJKKKJKJJJJKJJJKJJKJJJJJJKJKKKJJJJJJKJJJKKJJKJKJJJJJJKJJJJJJKJJJJJJJJJJJJJJJKJKKJJKJJJJJJJJJJJKKKJJJKJJKJJJJJJKJJJJKKKJKJJJJJKJKJJJJKJJJJJJJJJKJKJJJJJJJJJKJKJJJJJJKJJJKJJJJJJKJJKJJKKJJKJJJJJJJJKJKKKJKKKJJJJJJKKJKJJKJKJKJJJJJJKJJJJJJJJJJJJKJKJJKKJJJKJKJJJJKJKJJKJKJJKJJJJJJKJJJKKKJJJKKJJJJJJJJJKJJJJJJJKJKJJJJJKKJKJJJJJJJJJJJJJJJKKJJJJJJKJJJJJJJJJJKJJJJJJJJJJJJJJJKJJJJJJJJJJJKJJJJJJJJJJJJJJJJJJJJJJJKJJJKKJJJJJJKJKJJJJJJKJKJJJJKKJJKJJJJKJKKJJJJJJJKJJJJKJJJKKJJKKJJJJJJKJJJJJJJKJJJJJJKKKJJJJKJKJJJJJJJJJJJJJJJJJJKKJKJJKJKJJKJJJJKJJJKKKKJJJJJJJJKJJJJJJJJJKJJJJKJJJJJJJKJJJJJJJJJJJJJJJJKJJJKJJJJKJJKJJJJKJJJJJJJJJJJJJJJKJJJJJJJJJKJJJJJJKJJJJJJJJKJJJJJJKJKJKJJJKKKJJJKJJJJJJJJJJJJJJJJJJJJJJJJJJJKJJJJJKJJJKKJJJJJJJKJJJJKJKJJJJJJJJKKKJJKJJJKJKJJJKKJJJJJJKJKJJJJJJKKJJJJJKJKJJJJJJJJJJJJKJJJJJJJKJJJJJJJJJJJJKJJJKKJJKJJKKJJJJJJJJJJJJJJJJJJJJJJJJJJKJJJJJJKJJJJJJKJKJJJJJKJKJJJKJJJJJJJJKKKJJJJKJJJJJJJJJJKJJJJJJJJKJJJKJJJJJJJJJJJJJJJJJJJKJJJJJKJJJKJJJJJJJJJJJJJJJJJJKJKJJJJJJJJJJJKJJJJKJJKJJJJJKKJJJKJJKJJJJJKJJJJJKJJJKJJJJJJJJJKJJJJJJJKKJJJJJJJJJJJKJJJJJJJKKJJKKJJKJJJJJJKKKJJJJKJJJJJKJJKJKJJJKJJJKJJJKJJJJJJJJJJJJKJJJJKKJJJJJKJJJJKJJJJJJJJJJKKKJJJJJJJJJJJJJKJJJJJJJJJKJKJJJJJJJJJJJJKJJKJJJJJJJJJKJJJJKJJJJJKJJJJJJJJJJJJJJJJJJJJJJJJKJJJJJJKJJJJJJJJJJKJJJJKJJJJJJJJJKJJJJJKJJJJJJJKJJJJJJKKJJJJJJJJJJJJJJKJJJJJJJJJJJJJJJKJKJJJJJJJJJKJJJJJJJJJJJJJJJJJJKKJJJJJJJJJKKJJJJJJJJJJJKJJJJKJJJJJJJJJJJJJKJJJJJJJJJJJJJJJJJJJJJJJKJJJJJJJJJJJJKJJJJJJJJJJJJJJJJKJJJKKJJJJJJJJJJJJJJJJJJJJJJKJJJJJJJJJJJJJJJJJJKJJJJJJJJJKJJJJJJJJJJJJJKJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJKJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJKJJJJJJJJJJKJJJJJJJJJJJJJKJKKJJJJJJJKJJJJKJJJJJJJJJJJJJJJJJJJJJJJKJJJJJJJKKJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJKJJJJKJJJJKJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJKJJJJJJJJJJKJJJJJKJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJKJJJJJJJKJJJJJJJJJJJJJJJJJJJKJJJJJJJKKKJKKKKJJKJJKKKJJJJJJKJJJKKJJKJKJKKKJKKJKKJJJJKJJJJKKJJKKKJKJJJKKJJKJKKKJKKJJJJKKKJKJKKJJJKJJJKJKJJKJJJKJKJKJJKJJJJKJKJJJKKJKJKJJKJJJKJKJKJJJJKJJJKKJKJKJJKJKKKJJJJJJKKJKJJJKJJJJJJKJKJKJJJKKJJJKKKJKKJJJJJKJKJJJKJKJJJJKJKKKKJJJKJJJJJJJKKKKJJJKJJKKKJKKJJKJJJJKJJJKKKKJKJJJJJKKKJJJKJJJKKKJJJJJKKKKJJJJJJJJJJJJJJKJKKJJKKKJKJJJJKJKKJJJJJJJJJJKJJJJJKKKJKKJJJKKJJKJJKKJJJJKJJJKJKKJJJJKJJJJKJJJJJJJJKJKJKJJJJKJKKKKJJJKKJJJKKKKKJJJKKKJKJKJJJJJKJJJJKJKKJJJJJJJJJKKJJJKJKJJJJKJKJJKKKJJKJKJJKKKJJJJJJKJJKJJJKKJJJKJJJJJJJKJJJJKKKKKJJJJJJJJJKJKJJJJJKKJKKJJKKKJJJJJKJJKKJJJJKJJJJKJJKJJJJJJKKKKKJJJKKJKJJJKJJJKKJJJKJJJJJJJJJKJJJKJJJJKJKJKJKKJJKJKJJJKJJJJJJJJJKJJJKJJJJJJJJJJJKJKKJJKJJKJJJJKJJJKJKJJJKJJKJKJJJJKJJJJJKJJJJKJJJKJKJJJJKJJJKJJJKKJJKKJJJJJKKJJJKJJKJKKJKJKJKKJKJJJJJJJJKJKJJJKJJJJJJJJJKJJJJJKJJJJKKKKJJJJKJJKJJJJJJJJJJKJJKJKJJJKJKJJJKJJJKJKJJJKKKJJJKJJJKJJJKJJJKKKJJJJJJJKJJJKJKJJJJJKJJJJKJJJJJJJKKJJJJJJJJJJJJJJJKJKJKJJJJJJJKKKJJKJKJJKJJJKJJJJKJJJJJJJJJKJJJJKJJJJKJJJJJJKKKKJJJJJJJJJKJJKJJKJJJJJJJJJJJJJJJJKKKKJKJJKJJJJJJKJJJJKJKJJJKJJKKJJJKJJJJKJKKJJJJKKJKJJJJJJKJJJKJJJJJKJJKJJJJJKJJKJJJJKKJJKKJJJKJJJJJJJKKJJJJJKJKJJJJJJJJJJJJJJKJJKJJJJKJKJJJKJJJJJJJKKJJJJJJJJJJKJJJJJJJJJJJKJJJKKJJKJJJKJKJJJJJJKJKJJJJKKJJKJJJJKKKJJJJJJJKKJJJJKJJJKJJKKKJJJJKJKJJJJJJKKJJJJJJKKKJJJJJJKJJJJKJJJJJJJJJJKJKJKKJJJKJKJJKJJJJJJKJKKKKJJJJJKJJJJJJKJJJJJKJJJJJJJJJJJJKJJJJJKJJJJJJKJJJKJJJKJJJJKJJJJJJKJJJJJJJJJJJJJJJJKJJKJJKKJJKJJKJJKJJJJJJJJJKJJJKJJJJKJKJJJJKKJJJKJJJJJJKJJJJJJJKJJJJJJJJJJKKKJJJJKJJJKKJJJJJJJJJJJJJJJKJJJJJKJJJKJJKJJJKJJJJJJJJKJJJJJJKJJJJJJJJKKJJJKJJJJJJKJJJJJJJKJKJJJJJJJJKKJJJJJKJJJJJJJJJJJJJKJJJJJJJJKJJKKKJJJKJJJJJKJKJJJJJKJJKJKJJJJJJJJJJJJJKJJJJJJJJJJKJJJJJKJJJJJJJJJKKKJJJJJJJJJJKJKJJJJJJJJJJKJJJJKJJJJKJKKJJJJJKKKJJJJJKJJJJJJJJJJJJJKJKJJJKJJJJJKJJJJKJJJJJKJJJJKJJJJJJJJJJJKJKJJJKJJKKJJKJJJJJJJJJJJJJJJJJJKJJKJJJJJJJKJJJJJJJJJJJJJJJKJJJJJJJKJJJKJJJJKJJKJJJJKJJJJJJJJJJJJJJJJJJKJJJJJKJKJJJJJJJJJJJJJJKJJKJJJJJJJJKJJKJJJJJKJJJJKJJKKKKKJKKJKJKKJKKKJJKKJJKKKKKJKJKJJJKKKJJKKJKKJJJKJKKJJJKJKKKKKJJJKKJKJKKKJKKJJKKJKJJKKKJJJKKKJKKKKJJKJKJKKJJKKJKKJKKJKKJJJKKKJKKJKJJKJJJJJJJJKJJKKJKJJJKKJKKKJJKJKJKJJKJJKJKKKKKJKJKKKJJJKJKJKJJKKJKKKKKKKKKKJKJJJKJKKKJJKJJKKJJKJJKJKKJKKKJKKKKKJKJJJKKKKKJJKJJKJJKKKKJKJKJKKKJKKKJKKKJJKJKJKJKKJJKKKKKJJKKKJJKKKJKKKJKKKJJKJJKKJJJJKKKJJJJKJKJJJKJKJJJKKJJJJJJJKKKJKKJJKKJKKJKJKKKJJKJKJKJKJJJJKJJKJJKKJKKKJJKJJJKKKKKKKKKKJKJJKJKKJKJKKJKJKJJJJJJJJJJJJJJJJJJKKKKJKKKKKJKKKKJKKKJKJKKKKKJKJKJKKKKKKKKKKJJKKKKJJJJKKJJKKJJJJJJKJKJKJJJKKJJKKJJKKKKKJKKKKJJKJJKKKJJJJJKKJJJKKJJKKKJKKJJKKJKKJJJJKJJJJKKJJKKKJKKJJJKKKKJKJKKKKJKKJKKKJKJKKJJJKJJJKJJJJKKJJKJKJKJKKKJJJKJKJKKKKJKJKJJKKKJKJJJKJJKKKJJJJKJKJJJJKJKKKJJJKJKKKJKJKKKJJJJJJJJKJKJJJKKJJJKJKJKKKJKJJJJJKKKJKJKJJKKJKKKJKJJJJJKJJKJJKKJKJJKJKKJJJKKJJJJJJJJJKKJKJKJKJJJJJJKKKKJKJJKKKJJKJJKKJJJJKKJKJKJJKJKKJKKJKKJKJKJJKJKKJKKJKJKKJKJKKJJKJJJKJKKJKJJJJKKJJJJJKKJJJJJKKJJKKJJJJKJJKJJKJKJKKKJJJJKKJJJJJJKJKJJJKKKKJJJJKKJJJJKJKJKJKKKJKJKJJJJJKJJJKJKJKJKJJJJJKJKJKKJKKKKJJKJJJKKJKJJKJJKJJJKJJJJJKJJJKJJJKKKKKKKKJJJKKKKKJKJKKJJKJKJJKJJJKKKJJJKKJKJJKJKKJJJJJKJJJKJJJJJKKJJKJKKJJKKJJJJJJJKJKKKJJJJKJKJJKJJJKKJJJKKKKKJJJKJKJJJJJJJJJJJJJJKJKKJJJJJJJJJKKJJKKJKJJKKKJKJJKKKKJKJKJJKKKKJKKJJKJJKJJJKKJJJKJJJJKJKKJJJJKKKKKJJKJKJJJJJJKJKJJJKKKKKJKKJJJJJKJKJJKJJKJJJJJJKKJJKJJJJJJKKKKJJJKKKJKKJJKJJJKKJJJKJJKJJJJJJKJJKKJJJJKJKJJJKKJJKJKJJJKJKKJJJJJJJJJJKJJKJJJJKJJJKKJKKJJJKKKKJJKJJKJKKJJKJJJKJKJJJJKJJJJKKKJKJKKJJJJKJJJJKJJJKJJJKKKJKJJJJJJKJJKJKJKJJJJKJJJJKJJJJJJJJKJKKJJKJKKKKJJKJJKKKKKJKJJJKJKJJJJKKJJJKKJJKJKKJJKJKJJJJJJJJKJJJKJKJJKJJJJKKJKKJKJJJJJJKJJJKJJJJJJJJJKJJJJJKKJJJKJJJJKKKJKKKKKJJJJJJKKJKJJJJKJKJJJJJJKJJJJJJJJJJJKKJKJKKJJJJKJKJJJJKJKJKKKJJJJJJJJKKKJKJKKKJJJJKJJJJJJKJJJJJJJJJJJJKJKJJJJJJJKJJJKJKJJJKKJKJJJJJKJJJJJJJJKJJJKKJJKJKJKJKJJKJJKJJJJKJJJJJKJJKJJJJJJJKKJJKJJKKKJJJJJJJKKJKJKJJJJKJJJKJKJJKKJJJJKJKJKJJJJJJJKJJJJKKJJKJJJKJJKJJJKJJJJJKKKJKJKJKJJJKKJJJJJKJJJJKKJJKJKJJJKJJJJJKJKJJJJJJKJKKKJKJKKJKKKKKKJJKKKJJKKKJJJJKKKKKKKKKKJKJKKJKKKKJJJKKKJKJKKJJJKJKKKKKKKJJKKKKKKKKKJKKKKJKJJKJJJKKJJKKKJKKKJKJKKKKKJJJKKJKKJKJKJJJKKKJKKKJKKKJJKKJJKKKKKKKKKKKKKJKJKJKJKKKKKKKKJKKKJKKJKKJKKKKJKKKKKJKJKJJKKKKKKKJKKKKJKKKKKKKKKKKKKJKKKKJKKKKKKJJKKKJKKKKKKKJKKJKKKKJKKKKJKJKKKJKKKKJKKKKKJKKJKKJKJKKKKKJJKJKKJKKKKJJKKKKKKKKKKKKJJKKJKKJJJKKJJJKKKJJKJKKKKKKKKKJKKKKKKKKKKKJKJKKKKKKKJKJKKJKJKKKKJKKKKJKKKKJKKKKKKKKKJKKKKKKJJKKJJJKKJKKKKKKKJKKJKKKKKJJKKKKKKKJJKJJKKKKKJKKJKJKJJJKKJKKKKKKKKKJKKKKKKKKKJKJJKJKKKKKJKKJJKKKKKKJJJKKKKKKKKKJJJKKJJKKJJKKKKKJKKJKKKKJKKKJJKKJJKKKKKJKKKJJJKKKKJKKKKKJJJKJKKKKJKJKKKKKJJJKKJKJKKKJKKKKKKJKJJKKKKJJKKKJKKKKJJKJKKKKJJKKJKKJKKJKKJKJKKKKKKJKKKKJJKJJJJKKJJKKJKJJKKKKKKKJJKJKKKJJKJJKKKKKKKKKJKKKKKJKJKJKJKKKJKKKKKKKKKKJKKKJJJJKKJJJKKKJKJKKJKKKKJJKKJKJKKKKKKJKKJKKJKJJKJJKJKJJKKKJKKJKKJJKJKKKKJKJKKKKKKJKJJKJKJKKKKKJJKKKKJJKKKKJKKJKKJJKJJJKJKJJJKKJKKJJKKKKJKJKJJKKKKJKKKKJJKJKJKKKJJKKKKJJKKKJKKKJJJKKKJJKKKJJKJKKKJJKKKJJKKJJJJJKKKKKKKKJKKKJKKKJKJKJJKJKKKKJKKKKKJKKKKJKJKJJKKKKKKKJKJJKKJKKJJKKKKKJKKJJKJKKKJKKKKKKKKJKKKKKJKKJKKKJJKKKKJJKKKKKKKJKJKKKKKKKKKKKKJJKJJKKKKJKJJJKKJJJKJKKKJKJKJJJJKJJKJJKKJKKKKJKKJJKKKKKKKKJKJKJKKKJKJKJKKJKJKJJJJJKKJJJJJJJJJJKKKKKJKKKKKJKKKKJKKKKKJKKKKKJKJKJKKKKKKKKKKJJKKKKJJJJKKJKKKJJJJJJKJKJKJJJKKJKKKJJKJKKJJKKKKJJKJJKKKJJJJJKKJJJKKJJKKKJKKKKKKJKKJJJJKKKJJKKJKKKKJKKKJKJKKKKKKKKKKJKKJKKKKKJKKJJJKKJJKJKKJKKJJKJKJKJKKKJJJJJKJKKKKKKJKJJKKKJKJKJKJKKKKJJJKKJKJKJJKKKKKJJJKJKKKJKKKKKJJJJJJKJKJKJJJKKJJJKKKJKKKKKJJKJKJJKKJKJJJJKJKJKKKJKKJJJJKKKJKJKJKJKKKKJJJJKJKJKJJJKKKKJJJKJKKKJKKKKKJJJJJJKJKJKJJJKKJJJKKKJJKKKKJJKJKJJKJJKJJKJKJKKKKJKKKKJKKJJJKKKKKJJKJJKKKKKKJJKJJJJKKJKKKKKKKJKJJKKKKJJJKJJJKKKJJJJJKKKKKJJJJJJKJJJJJJKJKKJJKKKJKKJJKKJJKJKJJJJJKJJKJJJJJJKKJKJJJJKKKJKJJKKJJJKKJJJKJJJKKKKJKKJJJJKJJKJJJJKJJJKKKKJKJKJJJKJKJJKKJJJJJJKJKKJJJKJKKKKKJJJKKJJJKKKJKKKKKKJKJJKKKKJJKKKJKKJKJJKJJJJKJJJKKJKKKKJJKJKKKKKJJKJKKJKJKJKKJJJKJKKKJJKJJKJKJJJJJKKJJJKKJKJJJKKKKKJKJKJKJKKJJKKJKKKKKKKJKKKKKKKKKKJKKKKKKJKJKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKJKKKKKKKKKKKJKKKKJKJKKKKKKKJKKKJKKKKKKKKKJKKKKKJKJKJKKKKKKKKKJKKKKJKKKKKKKKKKKKKKKKKKKKKKKKKKKKJJKKKKKKJJKKKJKKKKKKKKKKKKKKKKKKKKKKKKKKJKKKKKKKKKJKKKKKKKKKKKKKKKKKKKKKJKKKKKJKKKJKKKKKJKKKKKJJKKKKJKKKKKJKKKKKKJKKJKJKKJKKKKKKKKKKKKJJKKJKKKKKJKKKKKKKKKKKKKKKKKKKKJKKKKKKJKKKJJKKKJKJKKKKKKKJKKKJKKKKKJKJKKKKKKKKKKJJKJKKKKKKKKKKKJKKKKKKKJKKKJKKKKKJKKKJKKKKKKJKJJKJJKKKKJKKKJKKKKKKKJKKKKKKKKJKKKKJKKKKKKKKKKKKKKKKJKKKKKKKKKKJKKKJKJKKKKJKJJKJKJKKKJKJJKKKJKKKKJKKKKJKKKKKKKKJKKKKKJKKJKKKKKKJJKKKJJKKKKKKKKKKKKKKKKKJKJKKKKKKKJKJKKKJKJKKKJJKJKKKKKKKKKKKKKKKKKKJKKKKJKKKKJKKKKJJKKKKKKKJKJKKKKKKJJKKJKKKKJKJKJKKKJKKKKKKKJJKKJJKKKKKKKKKKKKKKKJKJKJKKKKKKKKJKKKJKKKKKJKKKKJKKKKKKKKKJKJKKKKKKKKKJKKKKKKKKKKKKKKKKKKKKJKKJJKJJKJJKKKKKKJKKKJKKKKKKJKJKKJJKKKJKKKKKKKKKKJJJJKKJKKKKJKKKKJKKKKKKKKJKJKKKKKJKKJKJKKKKKKJJKKKKKKKKKKKKKKJJKKKJJKJKKKKJKKKKKKJKKKKJJKKKKKKJKKKJKKKKKKKKKJJJJJKKKKKKKJKKKKKKKKKJJJJKKKJKKKKKJKKKKJKKJKKKKJKKJKJKKKKKJKKKKJKKJKKKKKKKJKJKKKJKKKKKKKKKKKKKKKKKKKKKKKKKKKJKKKKKKKKKKJKJKJJKJKKKKJJKKKKKKKKKKKKKKKJKKJKKJKJJKJKKJKJKKKKKKKKKJJKKKJKJKKKKJKKKKKKKKKJKKKKKKKKKJKKKKKKJJKKJJJKKJKKKKKKKJKKJKKKKKJJKKKKKKKJKKJJKKKKKJKKKKJKJJJJKJKKKKKKKKKJKKKKKKKKKJKKJKJKKKKKJJKJJKKKKKKJJKKKKJKKKKKJJJKKKKKKJJKKKKKKKKKKKKKJKKKKJKKJKKKKKKJKKKJJJKKKKJKKKKKJJJKJKKKKJKJKKKKKJJJKKJKJKKKJKKKKKKKKJJKKKKJJKKKJKKKKJJKJKKKKJJKKJKKJKKJKKJKJKKKKKKJKKKKJJKKJJJKKJJKKJKJJKKKKKKKJJKJKKKJJKJJKKKKKKKKKJKKKKKJKJKJKJKKKJKKKKKKKKKKKKKJJKJKKJKKJKKJKJKKKKKKJKKKKJJKKJJJKKJJKKJKJJKKKKKKKJJKJKKKJJKJJKKKKKKKKKJKKKKKJKJKJKJKKKJKKKKKKKKKKKKKJJKJKKKJJKJJKKJJKJKKJKKJKKKJKKKKKJKJKJKKKKKKJKJJKJJKKKKJKJKJKKKJKKKJKKKKJKJKJKJKKJKKKKKKKJKKKJKKKKJKKKKKKKKKKJJKKJKJJKKKJKJJKJKJJKKJKJJKKKJKJJKJKKKKJKKKJKKJKJKJKJJJJKJKKKKKKJJKKKJJJKKJJJJKKKKKKKJKJJKJKJJKKJKJJJKKKJKJKKJJJKJKKKKKKKJJJKKKJJJKJJKKKKJKJJKJJJKJJJKKKJKKKJKJKKJKJKKKJJJKKKKKKKKKKKKKJKJJKKJKJKKKKKKKKJKKKKKJKKJKJKJKKKJKJKKKKKJKKKKJJJKKJKKKKJKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKLKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKLKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKJKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKJKKKKKKKKKKKJKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKJKKKKJKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKJKKJKKJKKKKKKKKKKKKKJKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKJKKKKKKKJKKKKKKKKKKKKKKKKKKKKKKKKKJKKKKJKJKKKKKKKKKKKJKKKKKKKKKKKKKKKKKKKKKKJKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKJKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKJKKKKKKKKKKKKKKKKKKKJKKKJKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKJKKKKKKKKKKKKKKKKKKKKKJKKKKKKKKKKKKJKKKKKKKJJKKKKKKKKJKKJKKKKJKKKKKKKJJKKKKKKKKKKKKKKKKKJKKKKKKKKKKKJKKKKJKKJKKKJKKKKKKKKKKKKKKKKJKKKKJJKKKKJKKKJKKKJKKKKKKKKKKKKJKKKKJKKKKKKKKKKKKKKKKJKKKKKKKKKKJKKKJKKKKKKKKJKKJKKKKKJKJJKKKJKKKKJKKKKJKKKKKKKKKKKKKKKKKKKKKKKKJKKKKJJKKKKKKKKKKKKKKKKKJKJKKKKKKKJKKKKKJKJKKKJJKJKKKKKKKKKKKKKKKKKKJKKKKJKKKKKKKKKKJKKKJKKKJKJKKKKKKJJKKJKKKKJKJKKKKKJKKKKKKKJJKKKJKKKKKKKKKKKKKKKKKJKJKKKKKKKKJKKKKKKKKKJKKKKJKKKKKKKKKJKKKKKKKKJKKKKKKKJJKKJKKKKJKKKJKKKJKKKKKKKJJKKKJKKKKKKKKKKKKKKKKKJKJKKKKKKKKJKKKKKKKKKJKKKKKKKKKKKKKKJKKKKKKKKKKKKKJKKKKKKKKKKKKKKKKKKJKKKKKKJJKKKJKKKKKKKKKKJKKKKJKKKKJKJKKKJKKKKJKKKKKJKKKKKJKJKKKKKKJKKKKJKJKKJJKKKKKKKKKKKKKJKKJKKKJJKKJJJKKKKJKJKKKKKKKKKKKKKKKKKKKKKJKKKKKKKKJKJKKKKKKKKJKKKKKKJKJKKKKKKKKKKKJKKJKKKKKKJKKKKKKKKKJKKKJKKKKJKKKKKKKKKKKJKKKKJKKKKKKKKKJKKKJKKKKKKKJKJKKJKKKKKKKKKKJKKKKKKKKKKKKKKKKJKKKKKKKJJKKKKKKKKKKKKKKKKJKJJKKKKKKKKKKKKKJJKKKKKKKKKKKKKKKKKKKLKKKKKKKKKKKKKKKKKLKKLLKKKKKKKKKKKKKKKKKKKKKKLKKLKKKKLLKKKKKKKKKKKKKKKKKKKLKKKKLKKKKKKKLKLKKKKKKKKKKKKKKKKKKLKKKKKKKKKKKLKKKKKKKKKKKKKKKKKKLKKKKKKKLKKKKKKKKKKKKLKKKKKKKKKKKKKKKKKKKKKKLKKKKKKKKKKKKKKKKKKKKKKKKKKKLKKLKKKLKKKKKKLKKLKKKKKKKKKKKKKKKKKKKLKKKKKKKKKKKLKLKKKKKKKKKKKKKKKKKKKKKKKKKLKKKKKKKKKKKKKKKKKLKKKKKKKKKKKKKKKKKKKLKKKLKKKKKKKKLKKKKKKKKKKKKKLKKKLKKKKKKKKKKKKKKKKKKKKKKKKLKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKLKKKKKKKKKKKKKKKKKKKLKKKKKKLKKKKKKLKLKKLKKKKKKKKKKLKKKKKKKKKKKKKKKKKKKKKKKKKKLKKKKKKKKKKKKKKKLKKKKKKKKKKKKKKKLKKLLKKKKKKKKKKKKKKKKLLKKKKKKKKKKKKKKKKKKKKKKKLKKKKKKLKKKKKKKKKKKKKKKKKKLKKKKKKKKKKKKKKKKKKKKLKKKKKKKKKKKKKKKKKKKKKKKKLKKKKKKKLKKKKKKKKKKKLKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKLKKKKKKKKKLKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKLKKKKKKKKKKKKKLKKKKKKKKKKKKKLKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKLKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKLKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKJKKKKKJKKKKKKJKKKKJKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKJKKKKKJKKKKKKKKKKKKKKKKKKKKKKKKKKKJKKKKKKKKJKJKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKJKKKKKKKJKKKKKKJKKKKKKKKKKKKJJKKKKKKKKKKKKKKKKKKKKKKKKKKJKKKKKKKJKKKKKKKKKKKKKKJKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKJKKKKKKKKKKKKKKKKKKKJKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKLKLLKLKLKKLKKLKKKLKKLKLLKKKKKKKKKKKLKLKLKKKKKLKKKKLLLKKKLKKKKKKKKKKKLLKLKLKKKLKKKKLKKKKKLKKKKKKLKKKKKKKKKLKLKKKKKKKKKKLKKLLKKKKKLKKKKKLKKKKKKKKKKKKKKLKKKKKKKKKKKKLKKKKKLKKKKKLKKKKKKLKKKLKKKKKKKKKKKKKKKKLKKLLKLKKKKKKKLKKKLKKKKKKKKKKKKKKKKKKKKKKKKLKLKLKLKLKKKKLKLKKLKKKKKKKLKKKLKKLKKKKKKKLKKKLLLKKKKKKKLKLKLKKKKLKKKKKKKKKKLKKKKKLKKKLKKKLKLKLKKKKKKKKLKKLLKKKKKKKKKKLKKKLKKKKKKKKKKKKKKKKKLKKKKKKKKKKKKLKKKKKKLLKKKKKKKKKKKKKKKKKKKLLKKLKKKKKKKKKKKKLKKKKKKKLKKLLKKKKKKKKLKKKKKKKLLKKKKLKLKKKKKKKKLLKKKKKKLKKKKKKKKKKKKKKKKKLLLKLLKKKKKKKLKKKKKKKKKKKKKKKKKKKKKKKLKKKKKKKKLKLLKKKKKLKKLKKKKKKKKKKLKKKLKLKLKKKLLKKKKKKKKKKKKLLKKKKKLLLKKLKKKKKKKLKLKKLKLKKKKKKKKKKKKKKKKKKKKKLKKKLKKKKKKKKKKKKKKKKLKLKKKKKKKLKKKKKKKKKKKKLKKLKLKKKLKKKLKKKKKLKKKLKLKKKLKKKKKKKKKKKKKKKLKKLLKKKLKLLKLKKKKKKKKKKKKKKKLKKKKKKKKKKKKKLKKKLKKKKKKKKKKKKKKKKKKKKKKLKKKKKKKKKKKKKKKKKKKKKKKKKKLLKKKKKLKKKKKKLKKLLLKKKLKKKKKKKKKKKKKKKKKLLKKKKKKLKKKKKKKKKLKKKKKKLLKKKKLKKKKLKLKKKKKKKLKKKKKKKKKKKKKLLKKKKKKKKKKKKKKKKKKLKKKKKKKKKKKKKKKKLKKKKKKKKKKKKLKKKKKKKKKKLKKKKKKKKKKKKKKKLKKKKKKKKKKKLKKKKKKKLKKKKKLKKKKKKKKKKKKKKLKKKKKLKKKKKKKKKKKKKKKKKKKKKLKKKLKKKKKKKKKKKKKKKKKKKLKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKLKKKKLKKKKKKKLKKKKLKKKKKKKKKLKKKKKKKKLKKKKLKKKLKKKKKKKKKKLKKKKKKKKKKKKKLKLKKLKKKKKKKKKKLKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKLKKKKLKKKKKKKKKKLKKKLKKKKKKKLKKKKKKKKLLKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKLKKKKKKKKKKKKKLKKKKKKLKKKKKKKKKKKKKKKKLKKKKKKKLKKKKKKKKKKKKKKLKKKKLKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKLKKKKKKKKKKKKKKKKKKKKLKKKKKKKKKKKKKKKKLKKKKKKKKKKKKKKKKKKKKKKLKKKKLKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKLKKKKKKKKLKKKKKKLKKKKKKKKKKKKKKKKKKKKKKKKKLLKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKLKKKKKKKLKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKLKKKKKKKKKKKKKKKKKKKKLKKKKKLKKKKKKKKKKKKKKKKKKKKKKKKKKLKKKKKKKKKKKKKKKKKLKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKLKKKKKLKKKKKKKKKKKKLKKKKKLKLLLLKLKKKLLKKLLLKLKKKLKKKKLKKKLLKLKKKLKKLLLKKKLKKKLLLKLKKKKLKKKKKKKLLLKLLLLLKKKKKKLKLKKKKLKKKLKLKKKKLKLKLKLKLLKKKKKKKKKLKKLLLKKKLKKKLLLKKLLLKKLKLKKLKLLKKKKKKKLKKKKKLKKLKLKKLLKKLKKLKKKKKLLKLKLLKLLLLKKKKLKLKLKKKKKKLLKLLKKLKKKKKKKLLKKLKKKKKKLKKKLLKKLKLKKKLKLKKKKKLKKLLLLKKLKKKLLLLKKLKLLLKKKKLKKLKKKKLLLLLKKKLLKLLKKKKLKKLKLLKKLKKLLKLKKKKKKKKKKLKKKKLKKLKLKKKKLKKLLKLKKKLKLKLKKKKKKKKKKKKLKKKLLKLKKKLKKKLKKKKLLLKKKKLLKKKLKLKKKKLKLKKLLKKKKKLKKKLKKKKKKKLKLKKKKKLLKKLLKLKLLLKKKKLLLKLKKLKKKLLKLKKLKKLKLLLLKKLKKKLKLLLKKKKLKKKLKLKLLLLLKLLLKKKKLKKKLKLLLLKKKKLKLLLKKLLKLKLLKKKKLKKLKKLLLLKKKKLLLLKKKKKLLKKKLKKLKKKLKKKKLLKLKKKKKKKKKKLLKKKKKKKKKKKLLLKKKKKKKLLLKKKKLKKKKKLKLLLKKKKKLKKKKKLKLKKKKLKKLKKLKLKKKKKKKKKKKKLKLKKKLLKKKKLKKKLKLKLKKLKKKKLKKKKKLKKLKKLLKKKKKLLKKLLKLLKLKLKKKKKKKKKKLKKKLKLKKKKLLLLKKLKKLKLLKLKLKKKKLKLKKLLKKKKKKLKKLKKKLKKLLLLLKKKKKKKKKLKLKKKLKKKKKLKKKKKKLKKKLKKLKKLKKKKKKKKLLKKKKKKLLKKKKKKKKKLKKKKKLKLKKKKKLKLLKKLLKKLKLKLKKKKLKKKKKLKKKKKKLKKLKKLLKKKKKLKKKLLKKKLLKKLKKKKKLKLKLLLKKLKKKKKKKKKLKKLKKLLKKLKLLKKKLLKLLKKLKKKKKKKKKKKKKKKKKLKLLKLLKKKKLKLKKKLKLKKKKKLLKLKKKKKKKLKKKKKKKKKLKKKKKLKLKKKLKLKKKKKLKKLLKLKKKKLKLKKKKKKLLKKLKKKKKKLLKKKKKKKKKKKKKKKKKKKLLLKLKKKKKKKKKKLKKKKKKKKKKKKLLKKKKKKKKLKKKKKKKLLKKKKLKLKKLKKKKKKLKKKKKKKKKKKKKKKKKKKKKKKKLKLKLLKKLKKKKLKKLKKKKKKKKKKKLKKKKKKKKLKKKKKKKLLKLLLKKKKLKKLLKKKKKLKKKKLKKKKLKLKKKLKKKKKKKKKKKKKKLKKKKKKLLKKLKLKKKKKKLKKKLKLKLKKKKKKLKKKKLKKKKLKKLKKKLKKKKKKLKKKKKKKKLKKLKKKKKKKLKKKKKKKKKKLKLKKLKLLKKLKKKLLKKLKLKKKLKLLKKLKKLKKKKKKKKKKKKKKKKLKKKKKKKLKKKLKKKKKKKKKKKKKKKKKKLKKKKKLKLKKKKKKKKKKKKKKKLKKKKKKKKKLLKKKKLKKKLKLLKLLKKKKKKKKKKKKKKKKKKKKKLLLLKKKLKKKKKKLKKKKKKKKKLKKKKKKKKKLKKLKKLKKKKKKKKKKLKKKKKKKKKLKKKKKKKKKLKKKKKLKKKKKLLKKKKKLKKKKKKLKKLKKLKLLKLKKKKKKLKKLLKKKKLKKKLKKKKKKKKKKKLKLKKKKKKKKKLKLKKKKLKKLKKKKKKKKKKKKKKLKKKKKKLKLKKKKKKLLKKKKLLLKKKLKKKKKKKKKKKLLKKKKKKKLKKKKLKKKKKKKKKKKKLKLKKKKKKKKLKKKLKLKKKKKKKKKKKKKKKLKKKKKKKKKKKKLLLKKKKKKKKKKKKKKKKKKLKKKKKLKKKKLLKLLKLLKKKKKKKLKLKLLLLLKLLLLLLLLLLLLLKLKLKKLLLKLLLLKLLLLKKLKLLLLLLLLKLLKLKLKKLLLKLLLKLKLLKLKLKKKLKLLKKKLLKLLLKKKLLLKKLKLLKKLKLLKLKLLLLKKKLLLKLLLLLLKKKKLKLKKKLKKLLLKKLKLLLKKLKKLKLLKLLLKKLKLKKKLKKLKLLKKLKKKKLLLLLKLLKKKLLLLLKLKLKKLKLKKKKLKKLLLKKLLKLKLKLLLLLLKKLKKLLLLLKLLLKKKKLKKLKLKKKLLKLLLLKLLKLKLLLKKKKLLLLLKLKLKLKKKKLLKKLLKKLLKKKKKLLLKKKLLKLLLLKKLKKLKKKKLLKLLKLLLLKKKKLLLLLLLLKKLLLKKKKLLLLLLLLKLLLLLLLLKKLLKKLKKLKKKKLLLLKLKKLKKKLLLLKLLLKLLLKKLKLKLLKKKKKKKLKKLLLLLKKLLLLLLLLLLLLLLKLKKLLLLLLKKLKLKLKLKLLKKKLLLLLLLKLLLKKLLKLLLLLKKKKKKLLLLLKKKLLKLKKKLLKKLLLLLLKLKKKLLLKLLLKLKKKLLKLKLLKKLLKLKKKLKKLLLKKKLKKKLLLKLLKKKLLKKLKKKLLLKLLLLLLKKKKLLKLKKKKLKKLLKLKKKKLKLKLKKLLLKKKKKKKLKLKKLLLKKKLKKKLLLKKLLLKKLKLLKLLLLKKKKKKKLKKKKLLKKLKLKKLLKKLKKLKKKKKLLKLKLLKLLLKKKLLKKLKKLKLLLLLLKKKLLKKKKLLLKKKKLKKLLKLKKKKLKKKLLKLLKKKLLKLKLKKKKKLLLLKLKLKKLKKLKLKLKLLLKLLKLKLKKKKLKLLLKKLLKLLKLKKLKLLKKLLLKKKKKKKKKKKLKKLKKKLKLLKKLLKKKLLKLKLLKLLLLKKLLKLKKLKKKLLLKLKKKLLKLKKKLLKLKKLKLLKLKLKLLKKKLKKKLKLKKKKLLKLLLKLLKLKLKKKLLKKKKLLKLLKKKLKKKKLKKKLKKLLLKLLLKKKKLLLKKLLLLKKKLKLKKKKLKKKLLKKKKLKKKKKLKKLKKKKLKKLKKLKKKKKLKKLKKLKKKKLKLKKLLKLLLKKLKKLLKKKLKKLLKKKKKLKKKLLLLKKKLKKKLKKLKKKLKKKKLLKKKLKKKKKLLLLKKLLKKKKLLKLKLKKKKKKKLKLKKKKKLLKKLLKLKLLLKKKKLLLKLKKLKKKLLKLKKLKKLLLKLLKKLKKKLKKLLKKKKLKLKLKLKLLLLLKKKLKLKKLKKKLLLLLLKLKKLKLLLKKLLKLLLLKKLLLKKLKKLLLLKLKKLLLLKLKKLLKKKKLKKLKKKLKKKKLKKLKLKKKLKKKKLKKKKKLKKLKKKLLLKKKKKKKLKKKKKLLKKKKKLKLLLKKKKKLKKKKKKKLKKKKLKKKKKLKLKKKKKKKKKKKLKKLKKKLLLKKKLKKKLKLKKKKLKKLKLKLKKKLKKKKLLLLLLLLKKKKLKKKKKLKLLLKKKKKLKKKKKLKLKKKKLKKLKKLKKKKKKKKKKKKKLLKLKKKLLLKKKLKKKLKLLLKKKKKLKLKLKKKLKKKKLLLLKLLLKKLLKKLLKKKLKKKLKKLKKKKLKLKKLKKLKKKLLLLKLKLKLLKKKLKLKLLKKKKKKKLKKLLLKLKKKKKLLKKLKLLLKKKLKKKLLLLLKKKKKKKKKKKKKKKKKKKLKLKKLLKKKLKLLLKLKKKKKKLKKKKKKKKKKKKKKLKKKKKKKLKKLKKKLKKKLKLKLKKKLKKKKLKKKKLKKKKKLKKKLLKKKLKKKKLKKKKKKKLLKKKKKKKLKKKLLKLKKKKKKLKKKKKKLKKKKKLKKKKLKLKLKLLLLKKLKLKKKLLKLLLLLLLKLKLKKKLKLKKKKKKKKLKKLKKKLLKKKLKKKKKLLKKKKLLLKKKLKLKKKKKLKKLLKLLLLLLLLLLLLLKKLLLLLLLKLLLLLLLLLLLLLKLKLLKLLKLLLLLLKLKKLLKLLKLLLLLLLLLKLKKLLKLKLLLLLKLLLKLLKKLLKLLLLLLLLKKLLLLKLLKLKLLKLKLLLLKKLKKKLKLLKLKLLLLKKLLLLLLLKLLLLKLLKKLKKLLKLLKLKLLLLLLLLKKLKKLLKLLLLKLLKLKLLLLKLKLLKLLLLKKLLLLLLLLLLKLKLLLLKLLLLLKLLLLLLLKLLLLLLKKLLLLLKKLLLKLKLKLLKLLKKLLLKKLLLKLLLLLKKLKLLLLLKLLLLKKKKLKKLLLLLLKLLLLLKKLLLKLLLLLKLKLKKKLLLLLLKLLLLLLLLLLKLLKLLLKLKLKLKLKLLLLKLLLLLLLKLLLLLKLKKLLKKLKLKLKLLKKKLLLKLLLLKLLLLLKLLKLKKLLLLLLLKLLLLLLLKLKLLLKLLKLLLLLKLKLLLLLLLLLLKLLLKKKLLLLLLLKLLLLLLKLLLKLLLKKLKLKLKKLKKLKLLKLKLKLLLLLKLLLLKLLLLLKLLLLLLLLLLLLLLLKLKLLLLKLLLLKLLLLKKLKLLLLLLLLKLLKLKLKLLLLKLLLKLKLLKLKLKKKLKLLKLKLLKLLLKKKLLLKKLLLLKKLKLLLLKLLLLKKKLLLKLLLLLLKKKKLKLKKKLLKLLLKKLKLLLKKLKKLKLLKLLLKLLKLKKKLKKLKLLKKLKKKKLLLLLKLLLLKLLLLLLKLLLLLLLKLLLKLLLKLLKLLLLLLKLLKKLKLKLKKLLKKLLLLLLLKKKKLKKLLLLKLKLLLKLKKLLLLKLLLLLLKKLLKLKKLKKLLKKLLLKLKKKLKKKKLKKKLLLLKLLLKKLLLLLKLLLLKKLLLKKLLLLKLLLLKLLLLLLLLKKLKLKLLLLLKLLKKLKLLLKLLKLKLKLKLKLKKLKKKKKKLLLLLLKLLKLLLKLKLLLLLLLLLKKLLLKLLKLKKKLLLLKKLKLKLLKLKKLKKKLLKKKLLKLKLLLKKLKKLLLKLKLLLKLLLLLKKLLLLLKLLLLLLKKLLKLLLLLKKKLKLLLLKKKLLKLLKKKLLKLLKLLLLLLLLKKLKLLKLLLKKKKLLLLLLLKKLLKKLKKLKKKKLLLLKLKKLKLKLLLLKLLLKLLLKKLKLKLLKKKKKKKLKKLLLLLKKLLLLLLLLLLLLLLKLKKLLLLLLKLLKLKLKLKLLKKKLLLLLLLKLLLLKLLKLLLLLKKKKKKLLLLLKLKLLKLKLKLLKKLLLLLLKLKKKLLLKLLLKLLKKLLKLKLLKKLLKLLKKLKKLLLKKKLKLKLLLKLLKKKLLKKLKKKLLLLLLLLLLKKKKLLKLKKKKLKKLLKLKKKKLKLKLKLLLLLKKKLKLLKLKKLLLKKKLKKKLLLLKLLLKKLKLLKLLLLKKKKKKKLKKKKLLKKLKLKKLLKKLKKLKKKKKLLKLKLLKLLLLKKKKLKLKLLLLKLLKKKLKLLKLKKLLLKKKLKKKLLLLKLLLKKLKLLKLLLLKKKKKKKLKKKKLLKKLKLKKLLKKLKKLKKKKKLLKLKLLKLLLLKKKKLKLKLLLLKLKLLLLLKLLKKLKKKKLLKKLKLKLKLLKKKLLLKLLLKKKLLLLKLLKLKKLLLLLKLKKLLLLLKKLKLLLKKKKLKLLKKLKLLLLLLLKLLKLLLKKKLLKLKLLKKLLKLLKLKLKLLKKKKKLKLKKLKKLKLKKLKLKLLKKLKKLLKKLLLLLKLKLLKLKLKLLKLKLKLKKLLKKLLLLKLLLKKKKKLLLLKLLLKLKKLKLKKKLLKLLLKLKLLKLKLKKKLKLLKKKLLKLLLKKKLLLKKLKLKKKLKLLKLKKLKKLKLLLKLLKKKLLKKKKLLLKLKKLKLLLKLKKKKLKKKLLKLLKKKLLKLKLKLKKKLLLLKLKKKLKKKLKLKLLLLLKLLLLLLKLLLLLLKLKLLLLLLLLLLLKLLLLLKLKLLLLLLLLLLKLLLLLLKLLLLLKLLKLLLLLLLLLLLLLLLLLLLLKLLLLLLLLLLLLLLLKLLLLLLLLLKLLLLLLLLLLLKLLLLLLLKKLLLLLLLLLLLLLLLLLLLLLLLLKLLLLLKKLLLLLKLLLLLLLLLLLLLLKKLLLLLLLLLLLLLLLLLLLLLKLLLLLLLLLLLKKLKLLKLLLLLLLLLKLLLLLLLLKLKLLLLLLLLKLLLLLKKLLLLLLLLLLLLKLLLLLLLKLLLLLLLLLLLLLKLLLLLLKLKLLKLKLLLLKLKLLKLLLLLLLLLLLLKLKLLLKLLLLLLLLLKLKKLLLLLKLLLLLLKLKLKLLLLKKKKLLLLLLLKLLKLLLLLLLLLLLLLKLLLLLLLLLLKLKLLLLLLLLKKLLLLLLLLLLKLLLLLKLLLLLLLLLLLLLLLLKLLLKKLLLLLLLLKLLLLLKKLLLKLLLLKLLLLLKLLKLLKLLLLLLLLLKKLLLLLLLLLLLLLKKLLLLLLLLLLLLLKLLLLLLLLKLLLLLLLLLLLLLKLLLLKLLKLLLLLLKLLLLLLLLLLLLLLLLLLKLKKLLLLKLLLLLKLLLLLLLKLLKLLLLLLLLKKLLLLKLLLLLLLKLKLLLLKLLKKKLLLLKLLLLLLKKLLLLLLLKLLLLKLLKKLKLLLKLLLLLLLLLLLLLKKLLKLLKLLLLKLLLLKLLLLKLLLLLKLLLLLLLLLLLLLLLLLLLLLLLLLKLLKLKKLKLLLLLLKLLKLKKKLLLLLKLKLLKLLLKLKLLLLLLLLKLLKLLLLLLLKKKLKLKLLLLLKLLKLLKLLKLLLLLLLLLKLLLLLKLLLLLLLLLLLKKLLKLKLLLLLLKKLLKKKLLLKLLKKLLLLLLLLLLLLLLLKLKLKLLLKLKLLLKLLLLLLLLKKKLLLLLKLLLKLKLKLLLLLLLLLLKLLLLLLLKLLLLLLKLKKKKLLLLLLLLLLLLLLLLLKLLKLKLLLLLLLKLLKLLLKLLLLLKKLLKKLLKLLLLLLLLLLKLLLKLLKKLLLKKLKLLLLLKLLLLKLLLKLLLLKLLLKKKLLLLLKLLKKLLLLLLKLLLLLKLKKLLKKLKLKLKLLKKKLLLKLLLLKLLLLLKLLKLKKLLLLLLLKLLLLLLLKLLLLLKLLKLLLLLKLKLLLLLLLLLLKLLLKKKLLLLLLLKLLLLLLKLLLKLLLKKLKLKLKKLKLLKLLKLKLKLLLLLKLLLLKLLLLLKLLLLLLLLLLLLLLLKLKLLLLLLLLLKLLLLKKLLLLLLLLLLKLLKLKLKLLLLKLLLLLKLLKLKLKLKLKLLKLKLLKLLLKLLLLLKKLLLLKKLKLLLLKLLLLKKKLLLKLLLLLLKKKKLKLLKKLLKLLLKKLKLLLLKLKKLKLLKLLLKLLKLKKKLKKLKLLKKLLKKKLLLLLKLLLLKLLLLLKLKLKKLKLKLLLLKKKLLLKLLLLLLKKKKLKLLKKLLKLLLKKLKLLLLKLKKLKLLKLLLKLLKLKKKLKKLKLLKKLLKKKLLLLLKLLLLKLLLLLKLKLKKLKLKKKKLKLLLLKKLLKLKLLLLLLLLKKLKKLLLLLKLLLKKKKLKKLKLKKKLLKLLLLKLLKLLLLLKKLLLLLLLKLLLKLLLKKLLKKLLKKLLKKKLLLLLKKLLLKLLLLKKLLLLKLKKLLKLLLLLLLKLKKLLLLLLLLLKLLLKKKLLLLLKKLLLLLKKLLKLLLLKKLKLLLLLLLLLLKLKLLKKLKLLLLLLKLKKLLKLLKKLLLLLLLLKLKKLLKLKLLKLLKLLLKLLKKLLKLLLLLLLLKKLLLLKKLLKLLLKLLKLLLKKLKLKLLLKKLLKLLKLKKLKLLKKLLLKKKLKKKKLLKLKKLKKKLLLLKKLLKLKLLKLKLLKLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLKLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLKLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLKLLLLLLKLLKLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLKLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLKLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLKLLLLLLLLLLLLLLLLLLLKLLKLLLLLLLLLLLLLLLLLLLLLLLLLKLKLLLLLLLLLLLLLLLLLKLKLLLLLLLLLLLLLLLLLLLLLLLKLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLKKLLLLLLLLLLLLLLLLLLLLLLLLKLLLLLLLLLLLLKLLLLLLLLLLLLLLKLLLLLLLLLLLLLLLKLLLLLLLLLLLLLLLKLLLLLLLLLLLLLLLLLLLLLLLLLKLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLKLKLLLLLLLLLLLLLLLLLKLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLKLLLLLKKLLLLLLLLLLLLLLLLLLLLLLLLLLLLLKLLLKLLLLLLLLLLLLLLLLLLLKKLLLLLLLKKLLLLLKKLKLLLLLLLKLLLLLLLLLKLLLLLLLLKLKLLLKLLKLLLLLLLLLLLLLLLLLLKKLLLLLLLLLLLLLLKLLLLLLLLLLLLLLLLLLLLLLLLLLLLLKKKLLLLKLLLLLLLKKLLLLLKLLLLKLLLLLLLKLLLLLLLLLLLLLLLLLKLKKLLLLLLLKLLLLLLLLLLLLLLLLLLLLLLLLLLLKLKLLLLLLLLLKLLLLLLLLLLKLLLLLKLLLLLLLLLLLLLLLLLLLLKLLLLLLLLLLLLLLLLLLLLLLLLLKLLLLLLLLKLLKLLLLLLLLLLKLLLLLLLLLLLLLKKLLLLLLLLLLLLLKLLLLLLLLKLLLLLLLLLLLLLKLLLLKLLKLLLLLLKLLLLLLLLLLLLLLLLLLKLKLLLLLKLLLLLKLLLLLLLKLLKLLLLLLLLLKLLLLLLLLLLLLKLKLLLLKLLLKLLLLLKLLLLLLKLLLLLLLLKLLLLKLLKKLLLLLKLLLLLLLLLLLLLLKLLKLLKLLLLLLLLLKLLLLKLKLLLLLLLKKLLLLLKLKLLLLKLLLKLLLLLKLLLLLLKLLLLLLLLKLLLLKLLKKLLLLLKLLLLLLLLLLLLLLKLLKLLKLLLLKLLLLKLLLLKLKLLKLLLLKKLLLLLLLLLLKLKLLLLLLLLLLKLLLLLLLKLLLLLLKKLLLLLKKLLLKLKLKLLLLLKKLLLKLLLLKLLLLLKLLKLLLLLKLLLLLKKKLLKLLLLLLLLLLLLKKLLLKLLLLLKLKLKKLLLLLLLKLLLLLLLLLLKLLKLLLLLKLLLLLKLLKLLLKLLLLLLKLKLLLLLLLLLLLKLLLLLKLKLLLLLLLLKLKLLLLLLKKLLLLKLLKKLLLKKLLLKLLLLLLLLLLKLLLLLLLKLLLLLLLKLLLLKLLLLKLLLKLKLLKLLLLLKLLLLLLLLLLLLLKLKLLKLLLLLLKLLLLLLKLLLLLLKLLLLKLLLLLLLLLLKKKLLLKLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLKLLLLLLLLLLLLLLLLLLLLLLLLLKLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLKLLLLLLLLLLLLLLLLLLLLLLLLKLLLLLLLLLLLLKLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLKLLLLLLLLLLLLLLLLLLLLLLLLKLLLLLLLLLLLLKLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLKLLLLLLLLLLLLLLKLLLLLLLLLLLLKLLLLLLLLLLKLLLLLLLLLLLLLLKLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLKLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLKLLLLLLLLLKLKLLLLLLLLLLLLLLLLLLLLLKLLLLLLKLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLKLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLKLKLKLLLLLLLLLLLLKLLKLLKLLLLKLLLKLLLLKLLLLLLLLLKLLLLLKLLLLLLLLLLLLLLLLLLLLLKLKLLLLLLLLLLLLLLLKLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMLLLLLLMLLLLLLLMLLLLLLLLLLLLLLLMLLLLLMLLLLLLLLLLMLLLLLLLLMLLLLLLLLLLLLLLLLLLLLLLLMLLLLLMLLLLLLLLLLLLLLLLLLLLLLLLMLLLLLLLLLLLMLLLLMLLMLLLLLMLLLLLLLMLLLLLMLLLLLLLLLLLLLLLLLLLLMLLLLLLLLLLLLLLMLLLLMLLLLLMLLMLLLMLLLLLLLLLMLLMLLLLLLMLLLLLLLLLLLMLLMLLLLLLLLLLMLLLLLLLLLMLLLLLLLLLLMLLLLLLLLLLLLLLLLLLLLLLLMLLLLLLLLLLLMLMLLLLLLLMLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMLLLLLMLLLLLLLMLLLMLLLLLLLLLLLLLLLLLLLLLLLLLMLLLLLLLLLLMLLLMLLLLLLMMLLLLLLLLLLLLLLLLMLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMLLLLLLLMLLLLLLLLMLLLLLLLLLLLLLLLLLLLLMLLLLLLLLMLMLLLLLLLLLLLLLLLMLMLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMLLLLLLLLLLLLLMLLLLLLMLLLLLLLLLLLLLLLLLMLLLLLLLLLLLLLLLLLLLLMLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMLLLMLMLMLLLLLLMLLLLLLLMLLMLLMLLLLLLMLLMLLLLLMLLLMLLMLLLLMMLLLMLMLLMLLLMMMLLLLLLLLLMLMLLLLLLLLLLLLMLLLLMLLLLLLLMLLLMLLLLLMLLLMMLLLLLMLLLLLLLLMLMLLLMLLLLLLLLLLLMMLLMLMLLMLLMLLMLLLLLLLLMLLLLMLLLLLLMLLLMLLLLLLLLMLLLLLMLMLMLLLLLLLMLLMLLMLLLLLLLLLLLLMLLMLLMLLLLLLLMLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMMLMLMLLLMLLLMLLLLLLLLLMLLLLLLLLLMLMLLLLLLLMLLLLLLLLLLMLLLLLLLMLLLLLLMLLLLLLLLLLMLLLLMMMLLMMLLLLLLLLLLLLLLLLLLLLLLLMLLLLLMLLMLLLMLLMLMLLMLLLLMLLLLLLLLLLLMLLLLLLLLLLLLLLLLMLLLLLLMLLLLLLLLLLMLMMLLLLMLLLLLLLMLLMLLLLLLMMLMLLMLLMLLLMLLLMMMLLLLMLLLLLLMLLLMLMLLLMLLLLMLLLLMLLLLLLLLLMLLLLLLLLLLLLLMMLMLMLLLMLLLLLLMLLLLMMLLLLLLLLLLMLLMLLLLMLLLLLLLMLLLMLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMLLLLLLLLMMLLLLLLLLLMLLLLMLLLMLLLLLLLLLLLLLLLLLLLLLLLLLLLLMLLLMLLLLMLLLLLLLLLMLLLLLLLMLLLLLLLLLLMLLLLLLLLLMMLLLLLLLMLLLLLLLLLLLLMLLMLMLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMMLLLMLLLLLMLLLMLLMLLLLLLLLLLLLLLLLLLLLLLLLLLLLMLLLLLLMLLLLLLLLLLMLLLLMLLLLLMLLLLLLLLLLLLLMLLLLLLLLLLLLLLLLLLLLLLLLMLLLMLLLLMLLLLLLLLLLMLLLLMLMLMLLLLLLMLMLLLLLLLLLLMLLLLLLLLLLLLLLLLLLMLLLLLLLLLLLLLLLLMLLLLLLMLLLLLLLLLLLMLLLLLMLLLLMLLLLLLLMLLLLLLLLLLLLLLLLLLLLLLLLLLLMLLLLLLLLLLLMLLLLLLLLLLLLLLLMLLLLLLMLLLLLLMLLLLLLLLLLLLLLMLLLLLLLLLLLMLLLMLLLLLLLLLLLMLLLLLLLLLLMLMMLLLLLLLLLLLLLLLLMLLLLLMLLLLLLLLLLLLLLLLLLLLLMLLLLLLLLLMLLLLLLLLLLMLLLLMLLLLLMLLLMLMLLLLLLLLLLLLLLLLLLMLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMLLLLLLLLLLLMLLLMMLLLLLLLLLLMLLLLLLLLLLLLLMLLLLLLLLLLLLLLLLLLLLLLLLLLMLLLLLLLLLLLLLLLLLLLLLLLLLLMLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMLLMMLLLLLLLMLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMLMLLLLLLLLMMLLLLLLLLLLLLLLMLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMLLLLLLLLLLLLLLLLLLLLLLLLLLLMMLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMLLLLLLMMLLLLLMMLLMMLLLLMLLMLLLLMLMLMLLLLLMMLLLLMMLMLLLMMMMMLLLLMLLLLMLMMMLMMMLMLMLLLMLMLLLMLLLMLLLLLLLMLMLLMLMLMMLLMLLLMMLMLLMLLMLLLMLLMLLMLLLMMLLMMMMMMMMLLMMMMMMLMLMMMLMMMMLMLLLLMMLLLMMLMLLMLMMLLLLLMLLLMLLLLLMLLLMLLMLLLMLMLLLMMLLLLLMLLLLLLLLLLLLLMMLLLLLLMLLMMLLLLLLLMMLLLLMLLMLMLLLMLLMLLMMLLLLLMLMLLLLLLMMLLMLLLLMLMMLLMLLMLLLLLLMMLLMLLLLLLLLLLMLLLLLMMLMMLLMLMLLMLMLLMMMMLMMMMMLLLLLMLLLLLMLLLLLMLMLMMLMMLMLMMLLLMMLLLMMMMMLLLLLLLMLMMLLLLMMLLLLLLMLMLMMLMLMLMLLLLMLMMLLMLLMMLLMLLLLLLLMMLLLLLLLMLMLLLLLMLMLMLLLMMMLLMLMMLLMLLMLLLLMLLLMMLMMLLMMLMLLLMLLMLLMLLLMLLLLLLMLLLLMLLMLLLMLLLLLLLLMLLLLLMLMLLLLLLLMLLMLMMMLLMMLLLLMLLLMMLLLLLMMLMMMLMLLLLMLMMLLMMLLMLMLLLLLLLLMMLLMLLMMLLLLLLLLLLMLLLMLLLLLLLLLMLLLLLMLMMLLLLLLLLLMMLMLMMLLLLLLLLLLLLLMLMLLLLLLLLLMLMMLLLLMLLLMLLMLLMMLMLLMLLLMLLLMMLMLMLMLLLMMLMMLMLLLLMLMLLLLLLLLLMLMLLLLLLLLMLLMLLLLLLLMLMLLLLLMLMLLLLMMLLLLLLLMLLLLLLMMMLLLLLLMLLMMLMLLLLLLLLMMLMMLLMMLLLMLLLLMMMMLMLLLLLLLLLLMLLMLLLLLLLLLLLMLMMLLLLLLLLLLLMLLMLLLLLLLLLLLLLLLLLLLMMLLLLLLMLMLLLLLLLLMLLLLLLLLMLLLLMLLLLLMLLLLLLLMMLLLLMLLLLLMLLMLLLLLLLLMLLLMMLLLLLLMLLLLLLMLMLMLLLLMMLLMLLLLMMLMLLLLLLMMLLMLLLMLLMLMLLMLMLLLLLLLLLLLMMLLLLLLLLLLMLLMLLLLLLLLLLLLLMLLMLLLMLLLLLLLLMLMLLLLMMLLMLLLLLLLMLLLLLLMMLLMLMLMLLMLMMLLMLLLLMLLLLLLMMLLLLLLMMMLLLLLLMMLLLMMLMLLLLLLLMLLMMMMLLMLMLLLLLMLMLMLMMLMLLLLLLLLMLLLMLLLLLMLLLLMLLLLLMLMLLLLLMLLLLLLMLLLMLLLMLLLLLLLMLLLMLLLLLLLLLLLLLLLLLLLMLLLLLLLLLMLLLMLLLLLLLLMLLLLLLMLMLMLLLMMMLLLLLLLLLLMLLLLLLLLLLLLMLLLLLMLLLLLLLLLLLLLLLLLLLLLLLLLMLLLMLLMMMLLLLLLLMLLLMLLLLLLLMLLLLLLLMLLMLLLLLLMMLMLLMLLMLMLMLLLLLLLLLLLLLMLLLMLLLLLLLLLMLLLLMLLMLMLLLLLLLLLMLLLLLLLLLMLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMMLLMLLLLMLLMLLLLLMLLLLLLLLLLLLLLLLLMLLLLLLLLLLLLLLLLLLLLLLLMMMLLLLLLLLMLLLLMLLLLLLLLLLLLLLLLLLLLLLLLLLMLLMLLLLLLMLLLLMMLLLLLLLLLLLLMMLLLLLLLMLLLLLLLLLLLLLLLLLLLLLLLLMMLLLMLLLLLLMMLLLLLLLLLLLLLLLLLLMLLLLLLMLMLLMLLLLLLLLMLLLLLLLLLLMLMMMLLLLLLLLLMLMLLLLMLLMLLMLLLLLLMMLLLLLMLLLLLLLLLLLLLLLLMLLLLLLLMLLMLLLLLLLMMMMLMMMMLLMMMLMMMLLMMMMLLMMMLMMMMLLMMMLLMMMLLMLMMMLLMMMLLMMLMLLLMMMMMMMMLMMMLMMMLMLMLLMLMMMMLMMMMMLMMMMMMLMLLMMMMMMMLMLLMMLMMLLMMMMMLMMLLMLMMMLMMMMMMMMMMMMMMLMMLMMMLLMMMMLLLMMMMLLLMLMMMMMMMMMMMMLLMLLMMMMLMLLLMMLLLMLMMMMLMMMMMMMMMLMMMLMLMMMMMMMMMMLLLMLMMLLMLLMLLLLMMMMLMMMLLMLLLLLMLMLLLMMLLLMLMMMMMMMLLLLMMLMLMMLLMMMLLLMMMMMMLMLMLMMLLMMLMLMMMMLMLLMMMMMLMMLMMLMMLLMMMLMMMMMMLLLMMMLLMMMLMLLMMMMMLMLLMMLMMLMMMMMMLLMLMMLLMMLLMMLMLLLMLMMMLLLMLLMMMMMLMMLLLLLLMLMLMMLMLLMLLLLMMLMLLMLMMMMLMMMLLMLLMLMLLMLMMMMLLMLMLLMMMMLMLMLLMMMMMLMLMLMMMMMMMLLMLLMMMMLLLMMMMMLLMLLLMMMLLMLMLMLMLMLLMLMMLLMLMLMLLMMLMMMLMLMMLMMMLLLLMMMLMLMMMLMLMMLMLLLLMMLMMMMLLMLMLMMMMLLMLLMLMMLLLMMMMMLMLLMMMLMMMMMMMLLMMLLMMMLLMLMMLMLMMLLMMMLMLLMMLMLMMLLLMLMLMLLMLMLMMMMMMMMLLMMMLMLLMLMLLLLLMMMLLMLLMMMMLLMMLLMMLLLLMLMLMMLLMLMMMMMMMMLLLMLLMMMMLMLMLMLMMLLMMLLLLMMLMMMMMLMMLLLMMMMMLLMLMMLLLMMMMLLLLMMLLMMMLMLLLMMLLMMLLMMLLLLLLLLMMLLLLLMMMMLLMMLLMMMMMLMMLLMLMLMMMLMMMMMMMMLMLLLMMMLLMMLLMMLLMMLLLMLLMLMLLMLLLLMMMMLLLLMLLLLMMLLLLLLLMLMMMMLLLMLMMMMLLLMMLLLMMMMLLLLMMLLLLLLLLLLLLLLLMLMMLLLLLLLLLMMLLMMLMLLMMMLMLLMMMMLMMMLLMMMMLMLLLMLLMLLLLMLMLLLLLLLLMMLLMLLLMMMMMLLLMMMLMLMLLLLLMLLMLMLMMLLLLLLLLLMMLLMMLMLLMMMLMLLMMMMLMMMLLMMMMLLMLLMLLMLLLMMLMLMLLLLMLMLLLLLMMMMMLLMLMLLLLLLMLMLLLMMMMMLMMMMLLMMLMLLLMLMLMMLLLMMLLMLLLLLLMLMMMLLMMMLMMLLMLLLMLLLLMLLMLLLLLLMLMMMLLMLMLMLMLLLLLMLLLLLMLMMLLLLLLMLLLMLLMLLLLMLLLMMMMMLMLMMMMLLMLLMMMMMLMMLLMLMLLLMMMLLLMMMLLLMMLLLLMLLLLMLLLMLLLMLLLLMLLLLLMMMMLMLMLLLLMLLLLLLLLLLLLLMLLLMLMMLLLMLLLMLLMMLLMLLLLMLLMMLLLLLLLMLMLLLLLMLLLMLLLLMMLLMLMMLLLLLMLLMMLMLLMMLMMMMMMLMLLLMLLLLLLLLLMLLLLLLMLLLLMMMLLMLLLLLLLLLLMLLLLLMLMLLLLMLMMLLMLMMMLLMMMLMLMLLLMLLLLLLMMLMMMLMLLLLMLMMLLMMLLLLMLLLLLLLLMMLLLLLMMLLLLLLMLLLMLLLMLLLLLLLLLMLLLLMMMMMLLLLLLMLLMMLMLMLLLLLLLLLLLLMLMLMLMMLMLLLLLLLMLLLLMMLLLLLLLMMLLLLLLLLLLLMMMMMLLMLMMLLMMLLLLLMLLLMLLLLLLLLLLMLLMLLLMLLLLLLLLLLMLLMLLLLLLLMMMLLLLLLLLLLLLMLMLMLLMMLMMMLLLMLLLLLLMLLLLLMMLMMLLLLMLLLMLLMLLLLMLLLMLLMMLLLLMLLMLMMMMMMMMMMMMMMMMMLMMMMMMLMMMLMMMMMMMMMMLLMMMMMMMMMLMMMMMMMMMLLMLMMMLMMMMMLMMMMLMMLMMMMMMMLMLMMMMLLMMMMMMMMMMMMMMMMMLMMMLMMMMMMMMMMMMMMMMMMMMMMMMMMMLMMMMMMMMMMMMLMMLMMLMMMLLMMLMMMMMMMMMMMMLMMMMMMMLMMLMMLMLMMMLMMMMMLLLMMLMMLMMMLMLMMMMMMMLMMMMLMMMMMMLMMMMMMMMMLMMMMLMMLMMMLMMMMMMMLMMMMMMMLMMMMMMMMLMMMMMMMMMLLLMMMLLMMMMLMLMMLMLMMLMMMLMMMMMLMMMMMMMMMMMMMMMMMLMMMMMMLLMLMMMMMMMMLMMMMMMLMMMMMLMMMMMMMLMMLMMMLMMMMMMMLMMMMMMMLMMMMMMLMMMLMMMMLMMMMMMMMMMMMMMLMMMMMMMMMMMMMMMLMMMMLMMMMMMMMMMMMMMMMLLMMMMLMMLLLMMLMLMMMMMMMMLMMMMLMMMMMMMMLMLLLLMMLMMLLMMLMMMMMLLMMMMMLMMMMLMMMMMMMMLMMMLMMLLLMMMMLMMMMLMLLMMMLLMMMLLMMLMMLMLMMMMLMMMMMMMMLMMMMMMMMLMLLMMMMMLMMMMMLMMMMMMMMMMLMMMMLMMMMMMMMMLMMMMMMMMLLMLMMMLMLMMMLMMLLMMMMMLMMMLMMLLLMMMMLMMMLMLMMMMMMMMLLLMLMMMMMMMMLMLLMLMMMMMLMLMMMMMLMMMMMMMMMMLLMMMMLMMLLLMMMMMLMMMLLMMMMMLLMMMMMMMMMMMLMMLLLMMLMMLMLLLMLMMMMLMLMLMMMMMMMMMLMMMLMLMMLLLMMLMLLLMMLMMLMMMLLLMMMMMMMLMMMMLMMMLMMMMMLMMLLMMMLMLMMMMLLMMMLMMMMLMMLMMMLMMMMMMMLMMMMMMMLMLMMMMMMMMMMMMLLMLMLMLMLLLLMLLMLLMMMMMMMLMMLLMMMMMMMMMMLMMMMMMMLMLMMLMLMLMLLMMMLMLLLLLLLLMMMMMLMMMMMLMMMMMMMMMMLMMMMMLMLMLMMMMMMMMMMMMMMMMLMLLMMLMMMMMMMMMMMLMMMMMMMLMLMMLMLMLMLLMMMLLLLLLLLLLMMMMMLMMMMMLMMMMMMMMMMLMMMMMLMLMLMMMMMMMMMMMMMMMMLMLLMMLMMMLLLLMLMLMLMLLLMMLMMMLLMMMMMLMMMMLLMLLMMMLLLLLMMLLLMMLLMMMLMMMMMMLMMLLLLMMMLLMMLMMMMLMMMLMMMMMMMMMMMMLMMLMMMMMLMMLLLMMLLMLMMLMMLLMLMLMLMMMLLLMLMLMMMMMMLMLLMMMLMLMLMLMMMMLLLMMLMLMLLMMMMMLLLMLMMMLMMMMMLLLLLMMLMLMLLLMMLMLMMMLMMMMMLLMMMMLMMLMLMMLMLMMMMLMMMMLMMLLLLMMMMMMMMMLMMLMLMMMMMMMMLLMLLMLMLLMLMMMMLLMLMLLMMMMLMLMLLMMMMMLMLMLMMMMMMMLLMLLMLMMLLLMMMMMLLMLLLMMMLLMLMLMLMLMLLMLMMLLMLMLMLLMMLMMMLMLMMLMMMLLLLMMMMMLMMMLMLMMLMLLLLMMLMMMMLLMLMLMMLMLLMLLMLMMLLLMMMMMLMLLMMMLMMMMMMMLLMMLLLMLLLMLMMLMLMMLLMMMLMLLMMLMLMMLLLMLMLMMLMLLLMMMMMMMMMLMLMLMMMMLLLMLMLLLMMMMLLMMLMMMLLMLLLMMLMMMMLLLLMMLMLMLLMMMMLMLLMMLLLMMLMMMMLLLMLMMLMMLMLLLMMLMLMMMMMMLMMLMLLMLMLLLMLMLLLMMLLLLMLLLLLLMLLLMMLMLMLLLLLLLLMLMLMMLLLLMLLLLLLLLLMMMLMLMLMLLMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMLMMMMMMMMMMMMMMMMMLMMMMMMMLMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMLLMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMLMMMMMMMMMMLMMMMMLMMMMMMMMMLMMMMMMMMLMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMLMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMLMMMMMMMMMMMMMMMMMMMMLMLMMMMMMMMMMMMMMMMMMMMMMMMLMMMMMMMMMLMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMLMMMMMMMMMMMMMMMMMMMMMMMLLMMMLMMMMMMMMMMMMMMMMLMMMMMMMMMLMMMMMMMMMMMMMMMMMMMMMLMMMMMMMMMMMMMMMMMMMMMMMMLMMMMMMMMMMMMLMMMMMMMMLMMMMMMMMLMMMMMMMMMLMMMMMMMMMLMMMMMMMMMMMLMMLMMMMMMMMMLMMMMMMMMLMMLMLMMMMMMMMMMMMMLMMMMMMMMMMMLMMMMMMMMMMMMMMLMMMMMMMMMMMMLMMMMMMMMMMMMMMMMMMMMMLMMMMLMMLLMMMMMMMMLMMMLMMMMMMMMMMMMMMMMMMMMMMMMMMMMMLMMMMMMMMMMMMMMMMMMMMMMMMMMMMMLMMMMMMMMMLMMMMMMMMMMMMMMMMMMMMMMMMMMMMMLMLMMMMMMMMLMMMMLMLMLLMMMMMMLMMLMMMMMMMMMMMMLMMMLMLMLMLMMMMMMMMMMMMMMLMMMMMMMMLMMMMLMLMMMMLMMMMMMMMMLMMMMMMMMMMMMMMMMMLMMMLLMMMMMMMMMMMMMMMMMMMMLMMMMMMMMMMMMMMMMMLMMMMLMMMLLMMMMMMMMMMMLMMMMMMMMMLMMMMLMMMMMLLMLLMLMMMMMMMLMMMLLMMMMMMMMMMMMMMMMMMMLMMMMMMMMMMMMLMMMMMMMMMMLMMMLMMMMMMMMMMMMLMMMMMMMMMLMMMMLMMMMMLMMLLMMMMMMMLMMMMLMMMMMLLLMMMMMMMLMMMMMMMMMMMMMLMMMMLMMLMMMMMMMMMMMLLMMMMLMMMMMLLLMLMMMMMMLMMMMMLMMMMLMLMMMMMMMMMMMMLLMMMMLMMMMMMMMMMLMLMMMMLMMMLMMMMMLMMLMLMMMMMMLMMMMLLMMLLLMMMMMMMMMLMMMMMMMLMMMMMMMLMLLMMMMMMMMMMMMMMMLMLMMMLMMMMMMMMMMMMMMMMMLLMMMMMLMMMLMMLLMLMMMMMLMMMLMMMMMLMMMMMMMMMMMMMMLMLLMMMMMMMLLLMMLMLMLMMMMMLLLMMMLMMMMMMMMLMLLLLLMLMMMLMMMMMMMMLLMMMMMLMMMMLMMMMMMMMLMMMLMMLLLMMMMMMMMMLMLLMMMLLMMMLLLMLMMLMLMMMMLMLMMMMMMLMMMMMMMMMMLLMMMMMLMMMMMLMMMLMMMMMMLMMMMLMMMMMMMMMLMMMMMMMMLMMLMMMLMLMMMLMMMLMMMMMLMMMLMMLLMMMMMLMMMLMLMMMMMMMMLMLMMLMMMMMMMMLMMMMMMMMLMMLMMMMMMMMLMMLLLMMMMMLLMMMMMLMMMMMLLLLMMLLMMMLMLLMMMMMMMMLMMLLLLLLMMMMMMLMMMMLMLLMMLMLLLMMMLMLMMLLLMLMMMMMMMLLLMMMLLLMMLMMMMLMLMMLLMMMLLMMMLMMMLMLMMMMMLLLMMLMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMLMMMMMMMMMMMMMMMMMMMMMMMLMMMMMMMMMLMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMLMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMLMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMLMMMMMMMMMMMLMMMMMMMMMMMMMMMMLMMMMMMMMMMMMMMMMMLMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMLMMMMMMMMMMMMMMMMMMMMMMMLMMMMMMMMMMMMMMMMMMMMMMMLMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMLMLLMMMLMMMMLMMMMMMMMMMMMLMMMMMMMMLMMMMMMMMMMMLMMMMMMMMMLMMMMMMMMMMMMMMMMMMMMMMMMLMMMMMMMMMMMMLMMMMMMMMLMMMMMMMMMMMMMMMMMMMMMMMMMMMMLMLMMMMMMMMMMMMLMMMMMMMMMMMMMMMMMMLMMLMLMMMMMMMMMMMMMLMMMMMMMMMMLLMMMMMMMMMMMMMMMLMMMLLMMMMMMMMMMMMMMMMMMMMMMLMMMLMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMLMMMMMLMLMMMMMMMMMMLMMMMMMMMLMMMMLMMMMMMMMMMMMMMMLLMMMLMMMMMMMMMMMMMMMMMLMLMMMMMMMMLMMMMMMMMMLMMMMLMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMNMMMMMMMMMMMMMMMNMMMMMMMMMMMMMMMMNMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMNMMMMMNMMMMMMMMMMMMMMMMNMMNMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMNMMMMMMMMMMMNMMMMMMMMMMNMMMMMMMMMMMMMMMMMMMMMMMMMMNMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMNMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMNNMMMNMMNMMMMNMMMMMMMNMMMMMMNMMMMMMNNMMMMNMMMNMMNNMMNMNMMNMMNMMMMMMNMMMMMNMMMMMMMNMMMMMMMNNMMMMMMMMMMMMMNMMMMMMNMMNMMNMMMMMMNMMMMMNMMMMMMMNMNMMMMMNMNMMMMMMMMMMMMMMMMMMMMNNMMMMNMMNMMMMNMMMNMNMMMMMMNMMMNNMMMMMMMMMMMNMNMMMMMMNMNMMMNMNMMMMNNMNNMMMMMMMMMMMMMNMMMNMMMMMMMMMMMMMNMMMMMMNMMMMMMMMMMMMMMMMMMMNNMMNNMMMMMMMNMMMNMMMMNMMMMMMMMMMMMMMNMMMMMNMNMMMMMMNMNNMMMMNMMMNMMMMMMMMMMNMMMMMMMMMMMMMMMMMNMNMMMMMMMNMMMNMMMMMMMMNNMMMMMMMMMMMMMMMMMMMMMNMMMNMMMMMMMMMMMMMMNNMNMMMMMMMMMMMNNMMMNMMMMMMNMMMMMMMMMMMMMMMNMMMMMMMMMMMMMMMMMMMMMMMNMMMMMMMMMMNMMMMMMMMMMMMMMMNMMMMMNMMMMMMMMMMNMMMNMMMMMMMMMMMMMMMMMMMNMNMMMMMMMMMMMMMMMMMMMMNMMMMMNMNMNMMMMMMNMMMMNNMMNMMMMNMMMMMMMMMMMMMMMMMMMNNMMMNMMMMMMMMMMMNMMMMMMMMMNMMMMMMMNMMMNMNMMMMMMMMNMMMMMMMMMMMMNMMMMMMMMMMMMMMNMMMMMMNMMMMMMNMNMMNMMMMMMMMMMNMMMMMMMMMMMMMMMMMMMMMMMMMMNMMMMMMMMMMMMMMMNMMMMNMMMMMMMMMMNMMMNMMMMMMMMMMMMMMMMNNMMMMMMMNMMMMMMMMMMMMMMMMMMMMMMNMMMMMMMMMMMMMMMMMMNMMMNMMMMMMNMMNMMMMMMNMMMMMMMMMMMMMMMMNMMMMMMMMMMMMMMMNMMMMMMMMMMMNMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMNMMMMMMMMMMMMNMMNMMMMMMMMMMMMMMMMMMMMMMMMMMMMNMMMMMMMMMMNMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMNMMMMMMMMMMMMMMMMMMMMMMMMMMMMNNMMMMNMMMMMMMMMMMMMMMMMMMMMMMMNMMMMMMMMMMMMMNMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMNMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMNMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMNMNMMMMMMNMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMNMNMMMMMMMMMMMMMMMMMMMMMMMMMNMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMNMNMMMMMMNMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMNMNNMMMMNNNNMNMNMMNNMMNMNNMNMNNNMNMNNMMMMMMMNMNMMNNMMMMNMNMNMMMMNMNMMMNNMMNNMNNMMNNNNMNNMMMMNMMNMMMMMMNNMMNNMMNNNNMNMNMNMMNNNNMNMNNMNMMMMNMNNMMNMNNMMMNMMNMNMMNNMMMMMMMMNNMNMMNNNMMNNMMMMMMMMNMMNMNMMMMNMNMMNMNMMMNMNNMMMNNNNMNMMNMMMMNMMNMMNMMNMMNMNNMMMMMNMNMMNMNNMMMMMMNMNNNMMNMMMNNNNMNNMNMMMMMMMNNMNNMMMMMNNMNMMNMMNNNMNMMMNNNMMMMNNMNNMMNMMMNNNNMMNNMMNNMMNMNMNMMMMNMMNMMNNNMNNMMMMMMNMNMNNNMNMMMNNMNMMNNNMNNMMNNMMMNMMNMMMMNMMNMMMNNNNNMMMMNMNMMNMMMMMMMMMMMMMMMMMNMMNNNMMMNNMMMMMMNMNNNMMMMMMMNMMNMMMMNMMMMMMMMMMMNNMNNMNNMNMNMMNMMNMMNMMMMMMMNMMMMMMMNMMNNMMMNMMNMNMMNMMMMMMMNMNNMMNNMNMMMMNNMMMMNNMMNMNNNNMNMNMMNMMNMMMMMMNMMMNNNNMMMMNMNMMNNMMMNNMMMMMMMMMMMMMNMMMNMMNMMNMMNMMNMMMNMMMMNNMNMMMMMNMNMMMMMNMNMMMMMNNMMNMMMMMMMMMMNNMMMMNMNNMNNMNMMMNNNMMMMNMNMMNNMMMMNNMMMMMMNMMMMMMMMMMMMMMMMMNNNMNNMMNMMMMNMMNMMMMMMMMMMMNMMMMMMMMNMMMMMMNNNMNNNMMMMNMMNNNMMMNNMMMNNMMNMNNNNMMNNMMMMMMMMNMMMNNMMNMMNNNMMNMNMMMMMNMNMMNMNMMNMMMMMMMMMNNMMMMMMMNMNMNMMMMMMNMMMMMMMMMNMNMMMMMMMNMMMMMMMMMMMMNMMNMNNMMNMMMNMMMMMNMMMNMNNMMNMMMMMMMMMMMMMMMMMMMMMNNNNMMMNMMMNMMNMMNMMMMMNMMMMNMMMMMNMMNMMNMMMMMMMMNMNMMMMMMMMMNMMMMMMNMMNMMMMMNMMMMMNNMMMMMMMMNMMMMMMMMMMMMMNMMMNMNMMMMMMMNMMNNMNMMMMMMNNMMMMMMMNMNMMNMMMMMMMMNMMMNMMMMMMMMMMMMMMNNMNMMMMMMMMNMMNNMMMNMNMMMMNMMMMMMMMMMMMMMMNMMMMMNNMMMMMMMMMMMMNMMMNMMNMMMMMMMNMMMMMMMMNMMMMMMNMMNMMNMMMMMMMMMMNMMMNMMMMMMMMMMMMMMNMMMMNMNMMMMMMMMMMMMMMMMMMMMNMNMMMNMNNNNMMMMMNMMNMNNMMNMMMMNMMMMMMMMMMMMMMMMMMMNNMMMNMMMNNMMNMMMNMMMMMNMMMNMMMMMMMNMMMNMNNMMMMMMMNMNMMMMMMMNNMNNMMMMMMMNNMMNMMMMNMMMMMMMMMMMMMMMMMMMNNMMMNMMMNMMMMMMMNMMMMMNMMMNMMMMMMMNMMMNMNNMMMMMMMNMNMMMMMMMMNMNMMMMMMMMMNMMNNMMMMMMMMMMMMNMMMMMMNMMMMMMMMMMMMMMMMMMMNNMMNMMMMMMMMMMMMMMMMMMMMMMMMMMMNMMMMMMMMMMMMMMMMNMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMNMMMMMNMMMMMMMNMMNMMMMMMMMMMMMMMMMMMMNMMMNMMNMMMMNMMMMMMMMMMMMMMNMMMMMMMNMMMMNMMMNMMMMMMNMMMMNMMNMMMMMMMMMMMMNMMMMMMMMMMMMMMMNNMMMMMMMMMMNMMMMNMMMMMMMMMMMNMMMMMNMMMMMMMMMMMMMMMMMMMMMMMMMMNMMMMMMMMMMMNMMMMMMMMMMMMMMMMMMNNMMMMNNNNNNMNNNMMNNMNMMNNNNNMMNNNNMNMMMMNNNNNNMMNNNNMNNNMNNNNMNNNNMNNMMNNMNMNNNNMMNMMNMMMNNMNMMNNMNMMNNNNNMMNMNMNNMNNNNNMNMMMMMNNMNMNNMNMMMMMMNNNNMNMNNNNMNMMMMNNNNNNMMNNNNMNNNNNNMNNMNMMMMMNMNMMMNNNMNNNNNNNNNNNMMNNMNNNNNNNNMMNMMNNMNNNNMNNNNNNNNNNMNMNNMNMNMNNMMMNMNNMMNNMNNMMNNMNMNMMNNNNMMMNNNMNNMNNMNMNNNNMMNNNNMNNNNNMNMNNMMNNNNMMNNMNNNNNNMNMMNNMNNNMNNMMNMMMMNMNMMMMNNNNNNNNNMNNNMMMMNNMMMNNNNNNMNMNMNMNMMNNMNNMNMNNMNNMNNNNMMMNMNMMNNMMNMNMMNMMNMNNNMNMMNMNMNNNMMNNNNMMMNMMMMMNNNNMMNNMNNMNNMNMMMNNNNNNNMNNNNNMMNNMMNNNMNNMNNNNMMMMNNMNNNMNNNNNMMMMNNNNMNMNNNNNNNNNMNMNMMNNNMNNNNNNMMMNNMNMMNMNNMNNNNNNNMMNNNNMNMNNMMNNNNNMNNMNNMNNMNMNNMMNNNMMMNNNMNNNNMNNNNMNMNMNNMNNMNMNMNNMNMNNMNMNNNMNNNNMMMNMMNMMNMMNMMMNMMMNNNMNMMNNNMNNNMNNNMMMNMNNNMNNMMNNMMMNMMNNNMNNMNMMNMNNNNNMNMNMNNNNNMMNMNNNNNNNMNNNNNMNNNMNNMNNMMNNNNNNMNMMNMNNNMNNNMNMNNMMMNNMNNNMNNNNMNMNNNNNMMMMNNNNMMNMMNMNMNMMMMNNMNMNNMMNMMMMNNMMMMNMMNMMNNNNMMMMMMMNNNMMMMNMMMMNNMNNNMNMNMNNNMMMNMNMMMMNMNNMNNMNMMMMMNNMMMMNNMNMMMNNNMMMNMMMNMNNNNMNMMMMNMNMMMNMNMMMNNNNNNNMNNNNMNNNMMNMMMNNMNMMMMNNNMMNMMNMNMNNNNMNMNMNNNMMNNNMMNMMMMMMMNMMNNNMNMMNMMNNNMNMNNNNNMNMMMNNNNNMMNMNMNNNNNMNMNMMMMMMNNMMNMMNNMMMNNMNMNMMNNMMMMMNNNNNMMMMNNNMMNMMMMMMMNNMMMMMMMMNMMNNNMMMNMNMMMMMNMNNNMNNMMNMNMMNMMMMMMMMMMMMMMMMNMMNNMMMMNMNMMNNMNMMNMMNMMMMNNMMNNNMNMMNNMMNNMMNMNMMNMMNMMNMNMNMNNNNMMMMMMNNMMMNNNMNNMNNNMMNMNNMNMNNNMMMMMNMMMNNNNMMMMNMNMNNNMMMNNMMMMMNMMMMNNMNMMNNMMNMMNNNNNNNMMMNNMMMNNNNMMMMMNMNMMMMMNMNMNMNMNNMMNNNMMMMMMMMNNMNMMNMNNMNNMNMMMNNNMMMMNMNNMMNNMMMNMMNMMMNMMNNNNMNNMMMNMMNMNNMNMMMMMNMNMMMMNNMNMMMMMNMMMNNMMMMMMMMMNNMMMMNMNNMNNMNMMMNNNMMMMNMNNMMNNNMMNMMNMMMMNNNNMMMNMNMNMMNNMNMMNMNNMNNMMNNMMMMNMMMNNMMMNMNMMNMMMMMNNMNMMMMMMNMMNMMNMNMMMMMMMMMNNNNMMNNMMNMNMNNMMMNNMMNNNMNMMMNMMMNMNNNMMMMMNMNMMMMMMNMNNMMMNMMMMMMMMMNNMNMNMMNNMMNMMNMNMMNNMMMMNMMMMMMMMMNMMNMMMMMNMMMNMMMMMMNMMMMNMMNNMMNMMMMNMMMNMMMMNMMNMMMMMNNNMMMMMMNNNMMMNMMMNMMMMMNMMMMMMMNMMMMMMMMMMNMMNNMMMMMMMNMNMMMMMNMMMMNMMMNMMMNMMMNMNNMNNMMNNNNNNNNNNNNMNNNNMNNNNNNNNMNNNNNNMNNMNNNNNNNNNNNNNMMNNNNNNMNNNNNNNNNNNNNNNNNNNNNMNMNNNNNNMMNNNNNNMNNNMNNNMMNMNNNMMMNNNMNNMNNMNNMNNNNNNNNNNNNNNMNNNNNMNNNMNNMNNNNMMNNNMNNNNNNNNNNNMNNNMNNNNMNNNNNNNNMNMNNNNNNMNNNNNNNMNNNNNNNNNMNNNNMMMNMNNNMNMNMNNNNNNMNNMNNMNNNNNMNNNNNMNMMNNNNNNNMNNNNNNNNNNNMNMNNMNNNNMNNNNNNNNNNNNNNNMNMNMMNNNNNNNNNMNNNNNNNNNNMMNNNNNNMNNNNNMNNNMNNNNNMNMNMNNMNNMNMMNNMMNNNMNNNNNNNNNMNNMNMNNMMNMMNNNNMNNNNNNMMNNNNNNNNNMNMNMNMNMNNMNMNMNNNNNNMMNMNMNNMNNNNNNNMMNMNNNNNMNNNNNNNNNNNNNNNNNMNNNNNMNNNNNNMNMNMNNNNNNMMNMNMNNNNMNNNNNMNNNMMMMNNNNNNMNNNMNNNNNMNNNNNMMMNNNNMNMNMMNNNNMNNNNMNMNNMMNNNNMMNNNMMNNMNNNNMMMNNNNMNNMNNNMNNMNMMNMMNMMNNNNNNMNMNNNMMMNNNNNNNNMMNMNNNMNNMMMMNMMMNNNNMNNNNNNNNMMMNNNNNMNMMNNNNNNNNNNNNNNMNNNNNNNMNMMNNMNNNNNNNMNNNMNNMNNNNNNNNNMNNNNMNNMNNNNNNMNNMMNNNNNMNMNNNNNMMNNMNNNNNNNMNMMNNNNMNNNMNMMNNNNNMNNMMNNNNNMMNMMNNNMNMNMNMNNNMNNMMNNNMNNMNNNNNNNNNNNNNMMMNNMNMMNNNMMNNMNMMMMNMNNNNNNNNNNNMNMNNMNMMNNNMNMNNMMNNNNMNNNNMNNNNMNNNNNMMMMNMNNMMMNNMNNMNMMNNNMNMMNMNMMMNNNNMNNMNNNNMMMNNMNNNNNNNNNNNNNNMNNNMMMMMNNNMNNMNMNMNNMMMNNNMNNNMNMNNNNMMMMNMNNNNNNMNMMNNNNNNMNNNNNNMNMNMNNNMNNNNNNNNNMNNNMMMNNNNNNNNNMNNMNMNMNMNMNNNMNNMNNNNMNNMNNNNMNMNNNNMNNMMNNNMNNMMNMMMNMNNNMNNNNNNMNMNNNMNMNNNMNMNNNNMMNNNNNMNNMNNMMNNNNNNNNNNNMNMNMNNMNNNMNNMNNNMMMNNNNNNNNMNNMNNNMNMNNNNMNMNMNNNNMNNMNNNMMNNMNNNNMNMMMMNNMNMNNMMMNNNMNNNNMMMNNNMNMNNNNNNMNNMNNMNNMNNNNNNNMNNNMNMNNNNNNMMNNNNNNNNMNNNNNNNMMNNNMNNNMMNNNMNNMMNMNNNMMNNMNMMMMMNMMMNNNMNNNMNNMNNNMMNNMNNNMMMMMMNNNMNMMNNMNMNNMMMMNNMMNNMNMNMNNMNNMMMNMMNMNMMNNNMNNMMNMNNNMMNNMMMMMNMNMMMNNNMMNNMNMMNNNMMNNMNNNMNMMNMNNMNNMMNNNNMMNMMMMNNMMNMNNNNNNMNMMNMMMNNMNNNMNNNNMNNNNNNMMMMMMNNNNMNNMNMMNMNNNNNNMNNNMNNNNMNNNNNNMMMMNNNMNNMMMMMNNMNNMNMNNNNMNNMNNNNNMMMNNMNNMMNMMMNMNMMMNNMMNNMMNMNMNMMMMMMMNNNMNNMMNMNNNNNNMNNNMMMNNNMMNNNNMNMNNNNMMMMMMNNNMMNMMNMNNMNNMNMNNMMNNNMMNMMMNNMMNMNMMMMMMNNNMNMMMNMMNNMMMMNNNNNNMMMNMMNMMNMMNMNMNNMNNNMNMMMNNMNNNMNMNNNMNNNNNMMNMNNNMMMMNNNMMMMNNMNNNMMNMNNNMMNNMNMNMNNNMNNNNNNNNNNMNMNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNMNNNNNNNNNNNNNNNNNNNMNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNMNNNNNNNNNNNMNNNNNNNNNNNNNNNMNNNMMNMNMNNMNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNMNNNNNNNNNNNNNMNNNNNNMNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNMNNNNNNNNNNNNNNNNNMNNNNMNNMNNNNNNMNNNNNNNMNMNNNMNNNNNNNNNNNNNNNNNNNMNNNMNNNNNNNNNNNNMNNNNMNNNNNNNNNNNNNNNMNNNNNNNNNNNNNNNNMNNNNNNNNNNNNNNNNNNNNNNNNNNNMNNNMNNNNNMNNNNNNNNNNNNNNNNNNNNNNMNMNNNNNNNNNNNMNNNMNNNNNNNNNNMNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNMNNMNNNNNMNNNMNNNNNNNNNNNNNNNNMMNNNNNNNNNNNNNNNNNNNNNMNNNNNNNNMNNNNNNNNNNNNMNNNNNNNNNNMNNMNNNNNNNMNMNNNNNNNNNNNNMNMNNNMNNNNNNMNNNNNNNMMMNNNNNMNNNNNNNNNNNNMNMNNMNNNNNNNNNNNMNNNNNNNNNNMNNNNNNNNNNNNNNNMNNNNMNMNNNNNNMNMNNNNNNNNNNMNNNNNNNNNNNNNNMNNNNNNNMNNMNNNMMNMNNMNNNNMNMNNNNNNNNNNMNNNNNMNNNNNNNNNNNNNNNNNMNNNNNNNNNMNNNNNMNNNNNNNNNNMNNMNMNMNNNNNNNNNNMNNMNMNNMMNMNNNNNNNNNNNMNNNNNNNNNNNNNNNNNNNNNNNNNNMNNNNNNNNNNMNNMNMNNNMNNNNNNNNNNNNNMNNMMNNNNNNNNNNNMNNMMNMMNNNNMMNNMNMNNNNNMNNNNNNNNNNNNMNMNNMNMNNMNMNNNNMNNNMNNNNNNNNNNNNNMNNNNNNNNNNMNNMNNNNNNNNMNNNNNNNMNNNNNNNNMMNNNNNNNMNNNMNNNMNNNNMNNMMNNNNMNNNNNNNNNNNNNNNMNNMNMMNNNNNNNNNNMNNNNNNNNNNNMNNNMNNNMNNNNMNMNNNNMNMMNMMMNNNNNNMNNNMNNNNNNNNMNNNNNNMNNNNNNNMNNNNNNNNNNNNMNNNNNNNNNMNNNMMNNNMNNMNNNNNNNNNNNMMNMNNNNNNNNNNMMNNNNNNNNNNMMNNNNNNNMNMMNNNNNNNNNNNNNNMNMNNNNNNNNNMNMNNNNMMNNNNNMMNMNNNMNNNMNNMNMMNMMNNNNNNNNMNNNMNMNNNNMNMMMNMMNMNNNNNMNMNMNNNNNMNNNNNNNMNMNNNNNNMMNMMNNNNMNNNNNNNNNNNMNNNMNMNMMMNNNMNNMNNNNNNNNMMNMNMNNNNNNNNMMNMNNNNNNNNMMMMNMNMNNNNNNMNNNNMNNMNNNNNMMNMMNNNNMNNNNNNNNNMNNNNNNNMNMMMNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNMMNNNNMMNNNNNNMNNNNNNMNNMNMNMNNMNMNNNNNNNNMNNMMNMMMMNNNNNNNNNMNNNMNMMNNMNNNNNNNMNNNMNNMNNMMNMNNNMNNNNNMNNNNNNNNNMNNMNNMNNMMNNNNNNNNMNMNNNMNNNNNMNNNNMNNMMNNNMNNNNNNNMMNNNNNNNMNMNNNNMNNNMNNNNMNNNNMNNNNNMNNNNNNNNNNNNNNMNNNNNMNNNMNMMMNNNNMNMNNNMNNNMMNNNNNNMNMNNNNNNNNNMMMNNNNNMNNNNNNNNMMNNNNNNNNNNMMMNMNMNMMNNNNNNNNNNNNNMNNMNMMNMNNNNMNNMNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNMNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNMNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNMNNNNNNNNNNNNNNNNNNNNNNNNMNNNMNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNMNNNNNNNNNNNNNNNNNNNNNNNNNNNNMNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNMNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNMNMNNNNNNMNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNMNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNMNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNMNNNNNNNNNNNNNNNMNNNNNNNNNNNNNMNNNNNNNNNNNNNNNNNNNNNNMNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNMNNNNNNNMNNNNNNNNNNNNNMNNNNNNNNNNNNNNNNNNNNNNNNNMNMNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNMNNNNNNNNMNNNNNNNNNNNNNNNNNNNNNNNMNNNNNNNNNNNNNNNNNMNNNNNNNNNMMNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNMNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNMNNNNNNNNNNNNNNMMNNNNMNNNNNNNNNNNNMNNNNNNNNNNNNNNNNNNNNNNNNNNNMNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNMNNNNNNNNNNNNNMNNNNNNNNNNNNNNMNMNNNNNNNNNNNNNNNNNNNMNNNNNNNNNMNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNMNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNMNNNNNNNNNMNNNNNNNNNNNNNNNNMNNNNNNNNNNNNNNNNNMNNNNNNMNNNMNNNMMNMNNNNMNNNMNNNMMNNNNNNNNNNNNNNMMNNNNNNNNNNNNNMNMNNMNNMNNMNMNNNNNNNNNNMNNNNNNNNNMNNNNNNNNNNNNNNNNNMNNNNNNMMNNMNMNNNNMMNMNNNNNNNNNNNNMNMNNNNNNNNNNNNMNMNNNNNNMNNNMNMNNNNNNNNMNNNNNNNNNNNNNNNNNNNNMNNNNNNNNNNNNNNMNNNNNNNNMNNNMNNNNNNNNNMMMNNMNNNNNMNNNNNNNNNNNNNNNNNMNMMNNNNNNNNNNNNNNNNNNNNNMMNNNMNNNNNNNNNNNNNNNNNNNNMNMMNNNNNNNMNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNMNNNNNMNNNMNNNNNMNNNNNNNNNNNNMNNNNNNNMNNNNNNNNMMNNNNNNNNNNNNNNNNNNNMNNNNNNNNNMNNNNMNNNNNMNNNNNNNNMMNNNNNNNNNNNNNNNNNNNNMMNNMMNMNNNNNNNNNNNNNNNNNNNNNNNNNMNMNNNNNNMNMNNMNMNNNMNNMNNNNNNMNNNNNNNNMNNNNNNNNNNNNMNNNNNOONNNNNONNNNNNNNNNNNONNONNNNNNNNNNNNNNNNNNNNNNNNNNNNNONNNNNONNNNNNNNONNNNNNNNNOONNNNNNNNNNNNNNNNNONNNNONNONNNNNNONNNNNNNNNNNNNNNNNNNNONNNNNONNNNNNNNNNONNNNNONNNNONNONNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNONNNNNNNONNNNONNNNNNNNNNOONNNNNNNNNNONNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNONNNNNNNNNNNNNONNNNNNNNNNNNNNONONNNNNNNNNNNNNNNNNNNNNNNNNNONNNNNNNNONNNNNNNNNNNNNNNNNONNNNOONNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNONNNNNNNNNNNONNNONNNNNNNNNNNNNNNNNNNNNNNONONNNNNNNNNNNNNNNNONNNNNNNNNNNNNNNNNNNNNNNONNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNONNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNONNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNONNNNNNNNNNNNONNNNNNNNNNNNNNNNNNNNNNNNNNNNNONNNNNNNONNNNNNNNNONNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNMNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNMNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNMNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNMNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNMNNNNNNNNNMNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNMNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNMNNNNNNNNNNNNNNNMNNNNNNMNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNMNNNNNNNNNNNNNNNNNNNNNNNNNMNNNNNNNNNNNNNNNNMNNNNNNNNNNNNMNNNNNNNNNNMNNNNNNNNNNNNNNNNNNNNNMNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNMNMNNNNMNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNMNNNNMNNNNNNNNNMNNNNNNNNNNNNNNNNNNNNMNNNNNNNNNNNNNNNNNNNNNNMNNMMNNNNNNNNNNNNNNNNNNNNNNNNMNNNNNNNNNNNNNNONNNNNNNNONNOOOOOONNNNNNOONNNNONONONNNNNNONNNNNNNNNNNOONONOOOONNONONNNNONONOONONNONONNONNNNNOOONNNOONNNNNNNNNONNNNNNNNNNNONNNNONONNNNNNNONNONOONNNNNOONNNNNNNNNNNNNNNNNNNONONNONNONNNNNNNNNONNNNNNNNNNNOONNNNNNNONNNNNNNNNNONONNNNONNNNNONNOONNNNONNNONONNNONONNONNNONONNNNNNNNNNONNNNONNNNONONONNONNOONNNNNOONNNNNNONNNNNNNNONONNNONNNNNONNNOONNNNNNNNNNONNNNNNNNNNNONNONNNNNNNNONNNNONNNNNONNNNNNNONNNNNNONNNONNNNNNNNONNONNNNONNNNNNNNNNNNNNNONNONNNONNONNONNNONNNNNNNNNNNNNNNONONONNNNNONNNONNNNNNNNNNNNNNONONNNNNNNNONONNNNONNNNNNNNNNNNNNNNNNONNNONNOOONNNNONNNNNNNNNNNNONNONNNNNNNNNNNNNNNONNNNNNNNNNONNONNONNONNNNNNONONNNNNNNOOOONNONNNNNNNNNONNNNONNNNONNONNNNNOONONNNNNNNNNNNNNONNNNONONNNONNNNNNNNNNONNNNNONNNNONNONNNNNNNNONNNNNONNNNNNNNNNNONNNNNNNNNNNNNNONNNNNONNNONNNNNNNNNNNNNNNNNNONONNNNNNNNNNNONNNNONNONNNNNONNNNONNONNNNNONNNNNONNNONNNNNNNNNOONNNNNNNONNNNNNONNNNONNNNNONNONNOONNNNNNNONOONONNNNNNONNNNNNNNNNNONNONONNNNNNNOONNNNNNNNNNNONNNNNNNNONNNNNNNNNNONNNNNNNNNNONNNNNNNNNNNNNONONNNNNNNONNNNNNNNNONNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNONNNNNNNNNNNNNNNNONNNNNNNNNNNOONNNNNNNNNNNNONNNNONNNNNNNNNNNNNNNNNNNONNNNONNNNNNNNNNNNNNNNNNNNNNNNNNNONONNNNNNNNNNNNONNNNNNNNNNNONNNOONNNNNNNNNNONNNNNNNNNNNONONNNNNNNNNNNNNNONONNNNNNNNNONNNNNNNNNNNNNONNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNONNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNONNNNNNNONNNNNNNNNNONNNNNONNNNNNNNNNNNNNNNNNONNNNNNNNNNNNONNNNNNNNNNNNNNNONNNNNNNNONNNNONNNNNNNONNNNNNNNNONNNONNNNONNNNONNNNONNNNNNNNNNNNNNNONNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNONNNNNNNNONNNNONNNNNNNNNNNNNNNNNONNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNONNNNNNNNNONNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNONONNNNNNNNNNONNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNONNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNOOOONNNONNNOONONNNONNNNOONNOONONONNNNNOOONNNONNNOOONNNNNOOOOONNNNNNNNNNNNNONOONNOOONNONNOONOONNNNNNNNNNONNONNOOONOONNNOONNONOOONNNNONNNONNOOOONNOONONOONNONNNNONNNNNOONONONNNNNNNNOONOONNNONOONNNONOONOONNNOONONOOONNOOOOONONNOOOONNOOONONNONNNNNNOONNOONNONOONOONNNOOONOONNNNONNNNNNNNNNNOONNNNONONNONNNONNNONNNNNNNONOOONONOONNNNONONNNNOONOOOOONNNNOOONNNONOONNNONNNNNNONNNNONNNNNNONOONNNNNNNONNNNONNONONNNNNOONNNNNNONNNONNONNNNNNNNONOOONONOONONNONNNOOONNOONNONONNNNONNNNOOONONONNNONONNNNONNNONNNOOONOONNNNOOOOONONONNNNONNNONNNNNNONNONNOONOONNNNNNNNONOOOOOOONNNNNNOONONNONONONNNNNNONNNNNNNNNNNOONONOOOONNONONNNNONONOONONNONONNONONNNOOONNNOONNNNNNNNNONNNNNNNONNNONNNOONONNNNNNNONNONOONNNNNOONNNNNNNNNNNOONNONONONONNONNONNNNONNNNONNNNNNNNNNNOONONONNNOONNNNNNNONNNNONNNNNNNONNNNONNNNONNNOONNNNNONNONNNNNONONNOONNNNNONNNNNOONNONONNONOONONNNNNNNNNONNONNNNONNOONNOOONNNONNNONNNNOONONONNNNNNNONNONNONNNNNNNNNNNNONNONNONNNNNNNONNNNNNNNNNNNNNNONNONNNNNNNNNNOONONONNOONNNONNNNNNNNNONONNNNNNNONNNNONNNNONNNNNNNNONONONNNNNONNNNNNONONNONNNNONNNNNNNNNNNNNOONNONNNNNONNNNNONOOONNNNNNOONNNNNOONONNNONOOONNNOONNNNONNONNOONNONNNONONNNNNONNNNNNONNNONNNONNNNONNONNNOONNNNNNNNNNNNNNNONNONNOONNONNONNOONNNNNNNNONNNNNNONONONNNOOONNNONNNNNNNNNNNNNNONONNNNNNNNONONNNNONNNNNNNNNNNNNNNNNNONNNONNOOONNNOONNNNONONNNNNONNONONNNNNNNNNNNNNONNNNNNNNNNONNONNONNONNNNNNONONNNNNNNOOOONNONNONNONNNONNNNONNNNONNONNNNNOOOONNNNNNNNNNNNNONNNNONONNNONNNNNONNNNONNNNNONNNOONNONNNNNNNNONONNNONNOOONONNNNONNNNNNONNNNNNONNONNNOONONNNNNNNNNNNNNONNNNONONNNONNNNNNNNNNONNNNNONNNOONNONNNNNNNNONONNNONNONNNONNNNONNNNNNONNNNNNONNONNNNNNNONNNNONNNNNNNNNNOONNNNNNNNNNONNNNNNNNNNNONNONNONNONNNNNNNNONONNNNNNNNNNNNNONNNNOOONONNNNNONONNNNNNNNNNNNNNNNONNNNNOONNONONONNNNONNNNNNNNNNONNNNNOONNONNNNNNNNNNNOOOONONNNNNNONNNNNNNONONNNNNNONNNNNNNNNNNNONNNONONNNONONNNNONONNONNNNONONNNNNNNNNONNNNONNNNNNNNNNONNNNNNNNONNNONNNNNNNNOONNNNNNNNNNNNNNNNNNNNNONNNONNNNNNNNNNNNNNOONONNNNNNNNNNNOONNNOONOONNOOOOONONNNOOOOONNONNONNOOOONONONOOONOOONONONNONONONOONNOONOONNOOONNOOONOOONOOONNONNOONNNNOOONONNONONNNONONNNOONNNNONNOOONOONNOONONONNNNNNNNONOOOONNNNONNNONNNNNOOONONONONNONONNOONONNNOOONNNNONNNONOOOOONONNNOONNNNONNOONONONNNNNNONNNNOONOOONNNOOOOONNNONNNNNONNNNNOOONOONNOOONNONNNOOONONOONOOOONONNNNNONOOOOONNNONNNONOONOOONNNOOOONONNNNNNNONOONOOOONNONNOONOOONONNNONONOOOOOONNONOOONONOONNNONNNONONNOONNONONONOOONNNONONOOOONONONNOONNONONONNONONNNOONONONNONOOONNNNNOOONOONNONNNNNNONONONNNOONNNOOONOOONONNONONNOONONNONONOOOONNOONNOONNNOOOOONNONNOOOOOONNONNNNOONNOOOOOONNNNOOOONNNONNNOOONNNNNOOOOONNNNNNNNNNNNNONOONNOOONOONNOONOONONNNNNONNONNONNOOONOONNNOONNONOOONNNNONNNONNOOOONNOONONOONOONNNNONNNOOOONONONNNNNONNOONOONNNONOONNNONOOOOONNNONNNNNONONONONNNNNONONOONOOOONNONNNOONONNONNNNNNONNONNONNNOONNOOOOOOOONNOOOOOONONOOONOOOONONNNOOONNNOONONNONOONNNNNONNNONNNNNOONNONOONNNOOOONNOONNNNNONNNNNNNNNNNNNOONNNNONONNOONNONNNNOONNNNONNONONNNONNONNOONNNNNONONNNNNNOOONONNNNONOONNONNOONONNNOOONOONNNNNNNNNONNNNNOONNONNONOONONONNOOOONONOONNNNONOONNNONOONNONNNNONNNNOOONNOOONNONNONNNOOONNOONNNNNNOOONNOONOOONONNNONNONONONONOONNONONNNONOONNNNNNONNNONNONNNNONNNOOOOONONOONONNONNOOOONNOONNONONNNNONNNNOOONONONNNONONNNNONNNONNNOOONOONNNNOOOOONONONNNNONNNONNNNNNONNONNOONOONNNNNNNNOOOOOOOOONNNNNNOONONNONONONNNNNNONNNNNNNNNNNOONONOOOONNONONNNNONONOOOONNONONNOOONONOOONNNOONNNNNNONOOONNNNNNONONONNNOONOONNNONOONNOOOONNNNNOONNNNNNNONNNOONNONONONONNONNONNNNONNNNOONNONNNNNNNOONNNNOOOONNNNNNNNNONONONNNOONONNNNONOONNONOONNNNNOONNNNNNNONNNOONNONONONONNONNONNNNONNNNOONNONNNNNNNOONNNNOOOONNNNNNNONNONONNNNONNNONONNOONNONONONOOONNNONONNOOONONONNOONNONNNONNONONNNOONONONNONOOONNNNNOONNNNNNONNNNNNONONONNNONNNNNONNOOONONNONONNNONNNNNNNNNNNONNONNNONNNNOOOONNNONNNOONONNNONNNNOONNOONONNNNNNNOOONNNONNNNNNNNNNNOOONONNNNNNNNNNNNNONOONNOONNNNNNONNOONNNNNNNNNNONNONNOONONOONNNONNNONNONNNNNNNNONNONNOONNNNNNNNONOOONNNONNONNNNONNONNOONNNNONNNOONONNONOOONOOOOOONNOOONOOOOOOONOONOOOONOOOONONOOONOOOONOOOOONOONOONONOOOOONNONOONONOONNOOOOOOOOOOOONNOONOONNNOONNNOOONNONOOOOOOOOONOOOOOOOOOOONOONOOONONONOONONOOONOOOOOONNNOOOOOOONOOONOONONOOOONOOOOOOOOONOOONOOOONNOOOOOOONOONOOOONONOOOOOOONOOONNOONOOONONOONOONONONONOOOOOOONOOOONOOOOOOOOOOOONOOOOONNOOOOOOOONNOONOONNNOOONOOOOOOONOONOOOONNOOOOOONOONNOOOOOOOONNOONNONONOONOOOOONNNOONONOOONOOOOOONONNOOOONNOOONOOOONNONOOOONNOONOONOONOONONOOOOOONONOONNONNNNOONNOONONNOOOOOOONNONOOONNONNOOOOOOOOONOOOOONONONONOOONOOOOOOOOOOOONNNONOOONNONNOONNONOONOONOOONOOOOONONONOOOOOONONNONNOOOONONONOOONOOONOOONNONONONOONNOOOOOONOOONNOOONOOONOOOONONNOONNNNOOONONNONONNNONONNOOONONNONNOOONOOONOONONONNNNNNONOOOOOONNOOONNNOONNNNOOOOONONONNONONNOONONNNOOONONOONNNOONONNONOOOONOOOOONOOOONONONNOONOOOONONNONNOONNOOOOONOONNONNONNOOOOOOOOOOOOOONOONOOONNOOOONNOOOOONONONOOOOOONOOOOONNONNOOOONONNNOONNNONOOOONOONOOOOOONOOONONOONOOOOOOONNNONOONNONNONNNNNONONOOONNONNNNNONONNNOONNNONOOOOOOONNNNNNNONNONNOOONNNOOOOOONONONOONNOONONOOOONONNOOOOONOONOONOONNOOONNNNONOONONNOOONNOONNNOOONOONOOONNOOOONOONNNNNNNOOOONNNOONOONOOONNNNONONONONONNNOONNONOOOOONOONNNONNNONONNOONNONONONOOONNNONONOOOOOONONNOOONONONONNOOONNNOONONONNONOOONNNONOOONOOOOONNNNNNONONONNNOONNNOOONOOONONNONONNOONONNONONOOOONOOONNOONNNOOOOONNONNOOOOOONNONNNNOONNOOOOOONONNOOOOONNONNNOOONNNNNOOOOONNNNNNONNNNNNONOONNOOONOONNOONOONONNNNNONNONNONNOOONOONNNOOONONOOONNNOONNNONNOOOOONOONONOONOONNNNONNNOOOONONONNNNNONNOONOONNNONOONNNONOOOOONNNOONONOOONONOONNNOOONONOOONNNOONNNONNOOOOONOONONOONOONNNNONNNOOOONONONNNNNONNOONOONNNONOONNNONOOOOONNNOONONOOONOOOOOONONNOOOONNOOONOONONNONONOONNOONNONOONOONNNOOONOONONNONNNNNNNNONNOONONNONOOOOONNONONONNONNNNONOOONONOONNNNONONONNOONOOOOONOONOOONNNONOONNNONNNNNNONNNNOONOONNNOOOONONNNNOOOONNONNNNNNONONONONNOONOOONONONNNNONONOONNOONOONNOOONNNOONOONNNOONNONNOONNNNOOONONNNNONNNONOOONONONNNNNNOOONONONNOOONNOOONNOOONNONOONNOONOONNNONNNNNNNOONONNNONOOOONNNNOONOOOOOONOOOOONOOONOOOOONOOOOONNOOOONOOOOONOOOOOONOONONOONOOOOOOOOOOOONNOONOOOOONOOOOOOOOOOOOOOOOOOOONOOOOOONOOONNOOONONOOOOOOONOOONOOOOONONOOOOOOOOOOOOOOOOOOOONNOONOONONONONOONONOONOOOOONNNNOOOOOOOONOOOOOONOOOOOOOONONOOOOOOONOOOOOOONOOOOOONOOOOOOOOOOOOONNNOOOOOOONOOOOOOONNOONONOOOOOOOOOOOOOOOOOONOOOOONONOOOOOOOONONONOOOOOOONOOOOOOOOONONOOOOOOOOOONOOOONONOONNNONOOOOONOONOOOOOOOONOOOOOOOOONOOOONOOOONOOOONNOOONOOONONOOOOOONNOONOOOONONONOOONOOOOOOONNOONNOOOOOOOOOOOOOOONONONOOOOOOOONOOONOOOOONOOOONOOOOOOOOONOOOOOOOONOOOONOOOOOOOOOOOOOOOOOONOOOOOONNOOONOOOOOOONOONOOOONOOOONONOOONOOOONOOOOONOOOOONONOOOOONNOOOONONOONNOOOOOOOOOOOOONOONOONNNOONNNOOONNONOOOOOOOOOOOOOOOOOOOOONOONOOOOONONOOOOOOOONOOOOOONNNOOOOOOOOOOONOONONOOOONOOOOOOOOONOOONOONOOOONOONONOOOONNOOOONOONOOOOOOONONOOONOOOOOOOOOOOOOOOOOOOOOOOOOOONOOOOOOOOOONONONNONNOOONNOONOOOOOOOOOOOONOONOONONNONOONONOOONOOOOONNNONNOONOOONONOOOOOOONOOOONOOOOOONONONOOOOONOOOONNONOOONOOOOOOONOOOOOOONOOOOOOONNOOOOOOOOONNNOOONNOOOONONOONONOONOONNOOOOONONOOOOOONOOOOOOONNOOOOOONNONONOOONOOONOONOOOONNOOOONNOOOOONNOOOOOOOOOOOOONOONNOOOONONOOOOOONOOONOONNOOOOOOONOONOOOOOOOONNOOOONNOOONOOOONNONOOOONNOONOONOONOONONOOOOOONOOOONNONNNNOONNOONONNOOOOOOONNONOOONNONNOOOOOOOOONOOOOONONONONOOONOOOOOOOOOOOOONNONOOONNONNOONNONOONOONOOONOOOOONONONOOOOOONONNONNOOOONONONOOONOOONOOOOOONONONOONOOOOOOONOOONOOOONOOOOOOOOOONNOONONNOOONONNONONNNONONNOOONONNONOOOONOOONOONONONONNNNONOOOOOONNOOONNNOONNNNOOOOONONONNONONNOONONNNOOONONOONNNONOOOOOOONNNONNOOONONNONOOOONOOONOONONONONNNNONOOOOOONNOOONNNOONNNNOOOOONONONNONONNOONONNNOOONONOONNNONOOOOOOONNNOOONNNONNOOOONONNONNNONNNOOONOOONONOOOOONNNOONOONONONNNOOONOONNOOONNOONNOOOOONOONOOOONONNNONONOOOOONNNOONNONOONOOOONOOOOONONONNNNNONOONOOOONNONOOONOOOOONNOOOONOOOOOONNOOONNOOOOOONOONOOOONONOONONOOONOOOONOOOOONOONOONNNOOOOONNONOONONOONNOOOOOONOOOOONNOONOONNNNONNNOOONNOOOONOOOOONONNOOONOOONOOONOOONOOONONOONNOOONONONOONONOONOOOONNONONOOOOONOONOOOONNOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOONOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOONOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOONOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOONOOOOONOOOOONNOOOONOOOOONOOOOOONOOOOOOOOOOOOOOOOOOOOOOOONOOOOONOOOOOOOOOOOOOOOOOOOOOOOOOOONOOOOOOOONONOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOONNOONOONONOOOOOONOOOOOOOOOOOONNOOOOOOOOOOOOOOOOOOONOOOOOOOOOOOOOOOOOOOOOOOOONOOOOOOOOOOOOOOOOOONOOOOOOOOOOOOOOOOOOOOONOOOOOOOOOOONNOOOOOOONNOOOOOOOONOONOOOONOOOOOOOONOONOOOOOOOOOOOOOOOOONOOOONOONNOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOONOOOONOOOOONOOOOONOOOOOOOOONOONOOOOONOOOOOOOOOOOOOOOOOOONNOOOOOOOOOOOOOONOONOOONOOONOOOOOOOOONOOOOOOOONOOOOOOONOOOOOOOOOOOOOOOOOOONNONOOOOOOOOOONOOONOOOOOOOONOOOOONOOOOOOOOOOOOOOOOOOOOOOONOOOONOOOOOOOOONOOONONOOOOOONNOONOOOONONONOOOOOOOOOOONNOOONOOOOOOOOOOOOOOOOONONOOOOOOOONOOOOOOOOONOOOONOOOOOOOOOOOOOOOOOONOOOONOOOOOOOOOOOOOOOOOONOOOOOONOOOONOOOOOOOOOONOOOONOOOOOONOOONOOOOOOOOOONOOOOONONOOOOOONOOOONONOONNOOOOOOOOOOOOONOONOOONNOONNNOOOONONOOOOOOOOOOOOOOOOOOOOONOOOOOOOONONOOOOOOOONOOOOOONNNOOOOOOOOOOONOONOOOOOONOOOOOOOOONOOONOOOONOOOOOOOONOOOOOOOOOOOOOOOOOOOOONOOOOOOOONONOOOOOOOONOOOOOONNNOOOOOOOOOOONOONOOOOOONOOOOOOOOONOOONOOOONOOOOOOOOOOONOOOONONOOOOOOONOOONOOOOOOONONOONOONONONONOOOOOOONOOOONOOOOOOOOOOOOOOOOOOOOOOOOOOOONNOOOOONNNOOONOOOOOOONOOOOOOONNOOOOOONOONOOOOOOOOONOOOOOONOOOONOOOOONONONOOOOONOOONOOONONOOOOONNOOOONOOOOONOOOOOONOONONOONOOOOOOOOOOONNNOONOOONONOOOOOOONONOOOOOOOONONOOOOOONOOONNOOOOOOONONNNOOOOOOOOOOONOOOOOOOOOONOONOONNNOOOOOOOOONONOONOOOONOONNONOOOOOOONNNOOOOOOPOOPOOOOOOOOOOOOOOOOOOOPOOOOOOOOOOOOOOPOOOOOOOOOOOOOOOOOOOOOPOOOOOPOOOOOOOOOOOOOOOOPPOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOPOPOOOOOOOOOPOOOOOOPOOOOOOPOOOOOOOOOOOOOOOOOOOOOOOOOOOPOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOPOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOPOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOPOOOOOOOOOOOOOOOOOOOOPOOOOOOOOOOOOOOOOPOOOOOOOOOOOOOOOOOOOOOOOOOOOPOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOPOOOOOOOOOOOOOOOOOOOOOOOPPOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOPOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOPOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOPOOOOOOOOOOOPOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOONOOOOONOOOOOONOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOONOOOOOOOOOOOOOOOOOOOOOOOOOOONOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOONOOOOOOONOOOOOONOOOOOOOOOOOONNOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOONOOOOOOONOOOOOONOOOOOOOOOOOONNOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOONOOOOOOOOOOOOOONOOOOOOOOOOOOOOONOOOOOOOOOOOOOOONNOOOOOOOOOOOOOOOOOOOOOOONOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOONOOOOOOOOOOOOOOOOOOOOOONOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOONNOOONOOOOOOOOOOOOOOONOOOOOONOOOOONOOOONNOOOONOOOOOOOONOONOOONOOONOOOOOOOOOOONOONOOOONOOOOOOOOONOOOOONOOONOOOOOOOOOOOOOOOONOOOOOOOOOPOOOOOOOOOOOOOOOOPOOOPOPOOOOOOOPOOOOOOOOOOOOOOOOOOOOOPPOPOOOOOOOPOOOPPPPPOOOOPOOOOOOOOOOPOOOOOPOOOPOOOPOPOOOOOOOOOOPPOPOOOOOOOOOOOPOOOOOOOPOOPOOOOPOOPOPOOOOOOOOOOPOOOOOOOOOOOOOOPPOOOOOOOOOOOOOOOOOPOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOPOOOOOOOOOOOOPOOOOOOOOOOOOOPOOOOOOOOOOOOOOPOOOOPOOOOPOOOOOOOOOOOOOOOOOOOPOOOOPOOOOOOPOOOOOOPOPOOPOOOPPOOOOOOOOOOOOOOOPPOOOOOOOOOOOOOPOOOPOOOOOOOOOPOOOOOOPPOOOOOOOOOOOOPOOOPOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOPOOOOOOOOOOOOOOOOOOPOOPOOOOPOOOOPOOOOOOOOOPOOPOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOPOOOOOOOOOOOOOOOOOOOOOOOPOOOOOOOOPOPOOOOOOOOOOOOOOOOOOOPOOOOOPPOOOOPOOOOOOPOOOPOOOOOOOOPOOPPOOOOOOOOOOPPOOOOPOOOPOPOOOOOOOOOOOOOOOOOOOOOOOOOOOOPOOOOOOOOOOOOOOOOOOOOPOOOOOPOOOOOOOPOOOOOOOOOOOOOOOOOOOOOOOOOOPOOOOOOOOOOOOOOOOOOOOPOOOOOOOOOOOOOOOOOOOOOOOOOOPOOOOOOOOOOOPOOOOOOOPOOOOOOOOOOOOOOOOOOOOPOOOOOOOOOOOOOOOPOOOPOOOOOOOOOOOPOOOOOPOOOOOOOOOPPOOOOOPOOPOOOOOOOOOOOOPOOOOOOOOOOPOOPOOOOOOOOPOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOPOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOPOOOOOOOOOOOOOPOOOOOOOPOOOOOOOOOOOOOOOOOOOOOOPOOOOOOOOOOOOOOOOOOPOOOPOOOOOOOOOPOOOOOOPOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOPOOOOOOOOOPOOOOOOOOOOOOOOOOOOOOOOOOOOPOOOOPOOOOOOOOPOOOPOOOOOOOPOOOOOOOOOOOOOOOOOOOOOOOPOOOOOOOOOOPOOOOOOOOOOOOPPOOOOOOOOOOOOOOOOPOOOOOOOOOOOOOOOOOPOOOOOOOOOOOOOOOOOOOOOOOOOOOOPOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOPOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOPOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOPOOPOOOOOOOOOOOOOOOOOOOPOOOOOOOOOOOPPOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOPOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOPOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOPOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOPOOPOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOPOOPOOOPOOPOOOPOPOPOPOOOPOPPOOOOPOOPPPPOOOOOOPPPOOOPOPPPOOOOPOPPOOPOOPPPPOPOPOOPOOOOOPPOPOPPOOOPOOPOPOOOPOOOOOOOOOOOPOOPOPOOOOPOOOOOOOOOPOOPPOPPOOOOOOPOPOPOOOOOOOOOPPPOPPOPOPOOOOOOOOPOPOPPOOOOOPOPOOOPPOPPOOPOOPOOOOOOOOOPPOOOPOOOOPOOOOPPOOOOPOOOPOPOOOOPOPOOOOOOOOOPOPPOOOOOPOOOOOPOOPOOOOOOOOPOOPOOPOOPOOOPOOOOOOOOPOOPOOPOOOOOOOPPPOOOOOOOOOPOPPOOOPOOOOPOOOOPOOPOOOOPOOPOOOOOOOPPOPOPOOOOOOOOOOOOOPOOOPOOOPOOOOOOOOOPPPOOOOPOOOOOPOPPOOOOOOPOOOOOPOPOOOOPOOPPOPOPOOOOOOOOOOOOPOPOOOOPPOOOPOOOPOPOPOOPOOPOPOPOOOPPOOOPOOOOPPPOOPPOOPPOOOOPOOPOOPOOOOPOPOOOOOOOOOPOOPOOOPOPPPOOOOOOPPOOOOOOOPOOOPPOOOOPPOPPPOPOPPOOPOOOOOPPPOPOOOOPOOOOOOOOOOPOOOOOPOPOPOOPOOOPOPPOOOOOOOPOOOOOOOOOOOOOPOOOOOOOOOOOOOOOPOOOPPOPOOOOOOOOOOOOOPOOOOOOOOPPPOOOPOOOOPOOOOOOOPPOPOOOOOPOOOOPOOOPOOOOOOOOOPPOPOOOOOOPOPPOOOPPOPOOOOOOOOOOOOOOOOOPOOOOOPPOPPOOOOPOPOOOPOPOOOOOOOOPPOPOOOOOOOOOOOOOOPOOOOOPOPOOOPOOOOOOOPOOPOPOOOOOOOOOPOOOOOOOOOOOOOPPOOOOOOOOPOOOOOOPOOOOOOOPOOOPOOPOOOOOOOOOOPOPOPOPOOOOOOOOOOOOOPPOPOOOOOOOOOOOOOOOOOOOOOOOOPPOOPPOOOOOOOOOPOOOOOOOOOPOPOOOOOOOOPPOPOOPOPOPPOOPPOOOOPOPOOOPOPOOOPOOOOOOOOOPOOOOOPOPOPOOOOOOOOOOOOOOOOOPOOPOOOOOOOPOOOOOOPPOOPOPOOOOOOPOOOPOPOOOOOPOOPOOOOOOOOOOOOOOOOPOOOOOPPOOOOOOOOPPOOOOOOOOOPOOOOOOOOOOPOPOOOOOPOOOOOOPPOOOOPOOOPOPPOPOOOPOOOOOOOOOOOOOOOOOOOOPOOOOPOOOPOOPOOPOOOOOOOOOOPOOOOOOOOPOOOOOOOOOOOPOPOOOOOOOOOOOOOOOOOOOOOOOOOOPOOOOOPOOPOOPOOOOPOOOOPOOPOPPPPOOPOOOPOOPOOOOOOOOOPOPOOOOOPOOOPOOOOOOOOOOPOOOOPOOPOOOPOOPOOPOOOOOOOOOOOOOOOOOOOOOOOPOOOOOPPOOOOOOOOOOOOOOOOPOOPOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOPOOOOPOOOOOOPOOOOOOOOOOPOOOOOOOOOOOOOOOOPOOOOOPOOOOOOOOOOOOOOOOPPOPOOOOOOOOOOOOOOOOOOOOOOOPOOOOOOOOOPPPOOOOPOOOOOPOOOOOOOOOOOOOOOOOPOOOOOOOOOOPOOOOOOOOOOOOOOPOOOOOOOOOOOOOOOOOOOPOOPOOOOOOOOOOPOOOOOOPOOOOPOOOPOOOOOOOPOOOOOOOOOOOOOOOOOOOOOOOOOPOOOOOOPOPOOOOPOOOOOOOOOOOOOOPPOOOOOOOPOPOOOOPOOOOOOOOOOOPOOOOOOOOOOOOOOOOPOOOOOOOOOPOOOPOOOOOPOOOOPOOOOOOOOOOOOOOOOPOOOOOOPOOOOOOOOPOOOOOOOOOOOOOOOOOOOOOOOPOOOOOOOOOOOOOOPPOOPPOPOPPPOPOOOPPOPPOPPPOOOOOPOPPPOOOOPOPPPOOPPOPOPPPOOPPPPPPOOPPOOPOPOOPOOOOPOOPPOOOOOPPOOOPOPOPOPOOOPPPPOOOOPPOPPPPOPPOPOOPPPOPPOOPOOPOOOOOOPPPOOPOPPOOOPOOOOPPOOPOOPOPOOPPPPOPOPOOOOOOPPOOPOPOOPPOOPOOOOPPPPPOOOOOOPOPOOPOPPOPPPOPOOOPOOOOPPPPPPOOPPOOOOPOOOOPOPOPPPPOOOOOOOOOOOPOPOPPOOPOPOOOPOOPOPOOPOOPOOOOOPPOPOPPPPOPPPOOPOOOPOPOPPOPPOPOOPOPOPOOPOPPPOOOPPPOPOPOPPOOOOPPPOPOOOOOOOPPPPPOOOOOPPOOOOOOPOOPPOOOOOOPOPOPOOPPPPOOOOOPPOPOOOPPOOOPOOOPPPPOPPPOOPOOPOPOPOPPOOOOOPOOOOOOOOPOOOOPPOOOOOPOOOOOPPPOOPPOPPOOOOOOOOPOOPPOOPOPOPPOOPOOOPOOOOPPOOOOPOOOPPOOOOPPOPOOOOPOOPPOPOOPOOOPPPPPPOPOOPOPOOPOPPPOPOOPOPPOOPOOPPPPOPOOPOOPOOOOOOOOOPPOOPPOPPOPOOOPPOOOOOPOPOOPOOPOPOOOOPOPOOOOOOPPOOOOPOOOPPPOOPPPPOPPPOOOOOOPPOOOPPPOPPPPOOOOOPPPOPPPOPOOOOPOOOPOOOPOPOOOPOOOOOOPOPOOOOOOOOOPOOOPPOPOOOPOOOOOOPOPPOPPPPOOOOOPOOOOPOOOPOOOOOOOPOOOOOOPOOPPPOPPOOOOOOOOPOPPOOPOOPOOOPOOPOOOPPOOPOOPOOOOOOOPPPPOPOOOPPOPPOOOPPOOOPOPPOOPPPPPOPPOOOOPOPOOPPOOOPOPOPOOOOOOOOPOOOOOOOOOOPOOPPPOOOOPPOOOOOOOOOOOOOPOOOOPPOPOOOPOOOOOOOOOOPOOOOOOOPOOPOOPPPPOOOPPOOPPOPOOPOPOPPPPPOPOOOOOPOPPPOOOPOOOOOOOOOPPOPOOOOOOOPOOPOOOOOOPOPOOPOPOOOPPOPOPPPPOOPPOOOOOPOOOOOOPOOOPPOPOOOOOOOOOOOPOPOOOOOPPOOOOOPOPPOOOOOOPOOOOOPOOOOOOPOOOOOOOOOOPPOOOOOOOPOPPOOOPPPOOPPOOOPOOOPOOPOOOOPOOOOOPPOOOPOPOPOOOOOPPOOOPPOOPPOOPOOOOOOOPOOPOOOOPOOOOOPOOOPOOPPPOOOOPOPOOOOOOOOOOOPOPOOOOOPPOOOPOOPOOOOOOOOOPOOPPOOOOPOOOPOOOOOOPPPOPOOOPPPOOOPOOPPOOOOOOOOOOOPPOOOOPOOOOOPPOOPOOOOPOOOOOPOOOPPPOPOOOOOOOOOPOOOPOOOOOPOOPPOOOOOOOOPPOOPOOOOPOOOOOOOOPOOOOOOOOOOOPOOOOOOOOPOOOOOPOOOOOPOPOOPOOOPOOOPPPOPOOOOOOOOPOOOOPOPOOOPOOPPPOOOPOOOOPOOPOOOOOPOOOOOOPOOOOPPPPPOOOOOPOOOOOOPOOOOOOOOOOPOOOPOOPOOOOOOPOOOOPOOPOPOOOOOOOOOOOOPPOOOPOOPOPOPPOOOOOOOPOOOOOPOOPOOOOPPOOOOOOOOOOOPPOPOPOOPOPPOOOOPOPOOOOOOOOPOOOOOPPOOOOOOOPOOOOOPOOOOOOOOOOOOOOOOOOOPPPOOOOPOOPOOPOOPOOOOOOOOOOOOPOOOOOPOOOOOOOOPPOOOPOOOOPOOOOOPPOPOPPOOOOOPOOOOOOOOOOOOOOOOOOOOOOPOOOOOPOOOPOOOPOOOPOOOOOOOOPOOOPOOOPOPOOOOOPOOOPPPOPOOOPOOOOPOOOOOOOOOOPPPPPPOOPPPOOOPOOOPPOPOOPPOOOPPOPPPOPPPPPPPOPOOPPPPPPPPPPPPPPPOPOPPPOPPPOPPPOPPPPPPOPPOOPOPPPPPPPOPOOOPOOPOPPOPPPOPPPPPOPPPOPPPPPPOPOOPOOPPPPOPPPOOPPOPPPOPPPPPPOPOPOPOOPPPPPPOOPPPOPPPPOPPPPPPPOPPOPPPOPOPPPPOOOOPOOOPPPOPOOPPPOPPPOOPPPPOPPPOPOPPOPPPPPOPPOPPPOOOOOPPOOOPPOPPPPPPPOPPPPOOOOOPOPPPPPOOOOPPOPOPOOOOPOPPPPPPPOOOPPPPPPPPOPPPOOPOOPOOOPPOOPPPOPPPOPOPPPPPOOOOPOOPOPOPOPOPPPOPPPPPPPOPOOPPOOPOOPOOOPPPPPOPOPOPPOPOPOPOPOOOPPOOOPOPOPPPPPOOOOPPOOOPPOPPPPOOPPPOPPPOPOPPPPOOPOOPOPPPOPPOOPPOPPOPPOOPPPPOOOPPOOPOPPPPOOPPPPPOPPPPOOPPPOPPOPOPOPPPPPPPPOOOOOOOPPPOOOOOPOPPPPPPOOOOPPOOPPPOOOOPPPOPPOPPPPOPOOOOPPPOOOPPPPOPOOOPPOPOPOPOPOOOPPPPOPPPPOPOPPPOOPOOOOOPPOPOPPPPOPPPPPOPOPOOPOOPOPOOPPOPOPOOPOOPPOPOPPOPPOPOOOOOPOPOPPPOPOPPPOOOOOOPPOPPOOOOOPPPOPOPPPPOOOOPOPPOPPOOPPPOPPPOPOOOOOOPPPPPOOPPPPOPPPOPOOOPPPOOOOPPOOOPPOPOOPPOPOPPOOOPPPOOOPPOPOPOPPPOPOPOOOOOPOOPPPPOPOPOPPOOPOOPPPPOOPPPPPOPPPPPPOOPOOPOPPPOOOOOPPOOPOOOPPOPPPPPOOOPPOPPOPOOPOOPOPOPPOOPPPPPOOPPOOOOPOPPOOOPOPPOOPOPPPOPPOPPPPOOOPOPPPOPOPOOOOOPOOOPPPOPOPPOOPPPOOPPOPOOPPPPOOPPOPPOPOOPOOOOPOOPPPOPPOPPOOOOPPPPOOOPPOPOPOPOOPOPOPPPPPOOPOPPOOPOOOOOPOPPOOPOOOPPOOPPPOOPPOPOOPPPPOOPOOPPOPOOOOOOOPOOOPPOOPOPPOOPOPOPPOOOPPOPOPOPOOPOPOPPPPPOOOPPPOOPOOOOOPOPPOOOOOOPOOOOOPPOPPOOPOPPOPOPOOPPOPOPPPPOOPOPOOOPOOPOPOOOPPPOOPOOOOPOOOOPPPOOOOPOOOOPPPOOPPOOOOOPPPPOPPPOPOOOPOOOPOPOOPOPPPPOPOPOPOOPPPOOOOOOPPOPPPPOPOOOOOOPOOPPPPPOOPOOPOOOOOOPOPPOPPOPPOPPOPOOPPPOOPOPPOOPOOPOOOOPOOPOPOOOOPPPPOOPOOPOPPOPOOOPPOOOPOPPPPOOPOPOPOPOOOPPOPOOOOPPPOOPPPPOPPPPPOPOOOPPPOPOOOOPOPOOOOOOPOOOOOOOOOOOPPOPOPOOOOOPPPPOPPPOPOPPPOPOOOOOPPOPPPPPOPOOPOPPOOOOPOOOOOOOOOOOOOPOOOOOOOOOPPOOPPPOPOPPOPOOPOOPOOOOOOOPPOOOPPOOPOPOOPPOPPOOPOOOOPPPOOOPOPPPPOPOOOPPPPPOOPOPPOOPOOPPOOPOPPOOOPOOOPOPOOPPOOOOPOPOPOOOOOPOOOPPPOPPOOOOPPPOPOPOPOOOPPOOOOPOPOPOOOOOPOOOOPOOPOOOPPOPOOOOOOPOOOPOOOOPOOOPPPOOOPOPOOPOPOOPOOPOOPOPOOPPPOPPPOOPPOOOPPOPPOOOPPPOOOOPOPOPOOPOOOOOOOOOOOOOPOPPPOOOOOOPOPOPOOOPOOOOPOOOOOPOPOOPOOOOPPOPOOPOPOPPPPOPPPPPPPPPPPPOPPPOPPPPPPPPPPPPPPPPPOPPPPPPPPPPOPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPOPPPPPPPPPPPPPPPPPPPPPPPOPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPOPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPOPPPPPPOPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPOPPPOPPPPPPPPPPPOPPPPOPOPPPPPPPOPPPOPPPPPPPPPOPPPPPOPOPOPPPPPPPPPPPOPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPOPPPPPPPOPPPPPPPOPPPPPPPPPPPPPPPPPOPPPPOPOPPPPPPPPPPPOPPPPPPPPPPPPPPOPPPPPPPOPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPOPPPPPPOPPPPPPPPPPPPPPPPPPPPPPPPPOPPPPPPOPPPPPPPPPPPPPPPPPPPOPPPOPPPPPPPPPPPOPOPPPPOPPPPPPOPPPPPPPPPPOPPPPPPPOPPOPPPPPPPPPPPPPPPPPPOPPPPOPPPPPPOOOPPPPOPOOPPPPPOPPOPPOPPPPOPPPPPPPOOOPOPPPOOOPPPPPPPPPPPOPPPPOPOOOPPPPOPPPPPPPPPPPPPPPPPOPPPPOPPPPPPPPPOPPPPPPPPPPOPPPOPPPOOOPPPOPPPPOPPPPPOOOPOPPOPPPPPOOPPPPPPPPOPPPOPPOPPPPPPPOPPPPPPPPPPOPPPPPPOPPPPPPPPPPPPPPOPPPPOPPPPPPOOPPOPPPPOOPPPPPPPPOPPOPPPPPPPPPPPPOOPPOPPPPPPPPPOPPPPPPPOPPPPOOPOOPPPPOPPOPPPOPPPOPPPPOPPPPPPPPPOPPPPPPPPPPPPOPPPPOPPPPOOOPOOPOOPPPPPPPPOPOOPOPPPOPOPPOOPPPPPPPPPPPPPOOOOOPPOPOPPOPPPPPPOPPPOPPOPOPPOPPOPPOPOPPPPPPOPPPPPPOPPOOPOOPOOPPOPPPOPOPOOPOPPPOPOPPOOPPPOPPPPPPOPPOOOOOPPOPOPPOPPPOOPOPPPOPPOOOPPOOOOPPOPOPOPPPPOOOPPPPPPPPPPPPPPOPPPOOPOPPPOPPOPPPPOPPPPPOPPPOPPOPPPOPPPPPPPPPOOOOOPPPPPPPOPPPPPPPPPOOOOPPPOPOPPOOPPPPOPPOPPOPOPOOPOPPPPOOPPPPOOPOPPOPPPPOPOPPPOPPPPPPPPPPPPOPPPPOPPOPPPPPOOOOPPPPPPPPPPOPOOPOOPPPOOPPOPPPPPPOPPPOPOPPOOPOPOOPOPOOPOPPPOPPPPPOOOPOOPPOPPPOPOPPPOPPPOPPOPOPPPOOPPPPPPOOPPOOOPPOPPOPPPPOPPOPPPPOOOPPPPPPPOPPOOPPPPPOPPOPOPOOOOPOPPPPPPPPPOPPPPPPPOPOOPOPOPPPPPOOOOOOPPOPOOOOPPPOPPOPPOOOOOPPPPOOOPPPPOPPPOPOOOOPOPOPPOOPPPPPOPPPOOOPPOPOOOPOOOOOPOPPPPOPOOPPPPOOOOPOOOPPPOPPPPPPPPOOPPPOOOPPPOOPPPOOPOOOOPOOOOOPPOOPOPPOPOPPPPOPOOPOOOOPPOOOPPOOPPOPOOPPOPPOPOOPOPPPOOPOOPPPPPPOPPOPPPPPOPOPOOOPPPOOPPPPPPPPPPOPOOPOOPPOOPOOPPOOPOPPOPOOPPPOPPOPOOPPPOPPPOOPPPOPPPOPOPPPPPPOOPPOOOPPOPPPPPPPOPPOOPPPPOOPPPPPOPOOOOOPOOOPOOOOPPPPPPPPPPPPPPPPPPPPPPQPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPQPPPPPPPPPPPPPQPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPQPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPOPPPPPPPOPPPPPPPPPPPPPPPPPPPPPPPPPOPPPPOPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPOPPPPPPPOPPPPPPPPPPPPPPPPPPPPPPPPPOPPPPOPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPOPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPOPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPOPPPPPPPPPPPPPPPPPPPPPPPOPPPPPPPPPPPPPPPPPPPPPPPPPOPPPPPPPPPPPPPPOPPPOPPPPPPPPPPPPPPPPPPPPPOPPPPPPPPPPPOOPPPPPPPOOPPPPPPPPOPPOPPPPOPPPPPPPPOPPPPPPPPOPPPPPPPPPPPPPPPPOPPOOPPPPPPPPPPPPPPPPPPPPPOPPPPPPOPPPPPOPPPPOPPPOPPPPPOPPPPPPPPPPPPPPPOPPPPPPPPPPPPPPPPOPPPPPPPPPPOPPPOPPPPOPPPOPPOPPPPPPPOPPPPOPPPPOPPPPOPPPOPPPPOPPPOPOPPPOPPPPPOPPPPOOPPPPPPOPPPPPPPOPPOPPPPPPPPPOPPPPPOPOPPPOOPOPPPPPPPOOPPPPPPPPPPPPPPOPPPPOPPPPPPPPPOPPPOPOPPPPOOOOPPOPPPPOPOPOPPPPPPPPPPOOOPPPOPPPPPPPPPPPPPPPPPOPOPPOPPPPPOPPPPPPPPPOPPPPOPPPPPPPPPPPPPPPPPPOPPPPPPPPPPPPPPPPPPPPPPPOPPPPPPPPPPPPPPPPPPOPPPOPPPPOPPPPOPPPPOPPPPPOOPOOPPPPPPOOPPPPOPPPOPOOOPOPPPPPOPPPPPPPPPPPPPPPPPPPPPPPPPQPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPQPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPQPPPPPPPPPPPPQPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPQPPPPPPPPPPPPPPPPPQPPPQQPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPQPPPPPPPPPPPQPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPQPPPPPPPPPPPPPPPPPPPPPPPPQPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPQPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPQPPPPPPPQPPPPPPPPPPPPPPPPPPPPQPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPQPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPQPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPQPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPQPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPQPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPQPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPQPPPPPPPPPPPPPPPPPPPQPQPPPPPPPPPPPPPPPPPPPPPPPPPPQPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPQPPPPPPQPQPPPPPPPPQPPPPPPPPQQPQPPPPPPPPPPPPPPPPPPPPPPPPPPQPPPPPPPPPPQPPPPPPQPPPPPPPPQQPPPPPPQPPQPPPPPPPPQPPPPPPPPPPPPQPQPQPPQPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPQPQPPPPPPPPPPPPPPPPPPPPQPPQPPPPPPPPPPPQPPPPPPPPPPQPPPPPPPPPPQPPPPPPPPPPPPPPPPPPPPPQPPPPPPPPPPQPPPPPPPPPPPPPQPPPPPPPPPPPQPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPQQPPPPPPPPPPQPPPPPPPPPPPPPPQPPPPQPPQPPPPPPPPQPPPQPPPPPPPPPPPPPPQPPPQPPPPPPPQPPPPQPPPPPPPPQPPPQPPPPQPPPPPPPPPPPPQPPPPPPPPPPPPPQPPPQPPPPPPPPPPPPPPPPQPPPPPPPPPPPPQPPPPPPPPPPPPPPPPPPPPPPPPPPQPPPPPPPPPQPPPPPPPPPPPQPQPPPPPPPPPQPPPPPPPPPPQPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPQPPPPPPPQPPPPPPPPPPPPPPPPPPPPQPPPPPPPQPPPPPPQPPPPPPPQPPPPPPPPPPPPPPPPPPPPPPQQPPPPPQPPPPPPPPPPPPPPPPQPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPQPPPPPPPPPPPPPPPQPPPPPPQPPPPPPPPPPPPPPPPPPPPPPPQPPPPPPPPPPPPPPPPPPQPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPQPPPPPPPPPPPPPPPPPPPPPPPPPPPQPPPPPPPPPPPPQPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPQPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPQPPPPPPPPQPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPQPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPQPPPPPPPPPPPPPPPPPPPPPPPPPPPPQPPPPPQPPPPPPPPPQPPPPPPPPPPPPPPPPPPPPPQPPPPPPPPPQPPPPPPQPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPQPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPQPPPPPPPPPPPPPPPPPPPPPPPPPPPQPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPQPQPQPPPPQPQPPPQPPPQPQPPPPPQPPPPPPPPPPPQPPPPPPPPPPPQPPPQPPPPPPQPPQPPPPPPPPQQPPQPQPPPPQPPPPQQPPQPPPPPPPPPPPPPPPPPPPPQPQPQQPPPPPPPQPPPPQPPPPPPPPPPPPPPPPPPQPPPQPQQPPPPPPPPPPQPQPQPPPPPPPPPPPQPPPPPPQPPPPPPQPPPPPPPPPPPPPPPPQPQQPPPPQPPPPQPQPPPQPPPQPPPPPPQPPPQQQPPPPPPPPPPPPPPQPPPPPPPPPQPQPPPQPPPQPPPPPPPPPPPPQPPPPPPQPPPPPPPPPPPQPPPPPPPPPQPPQPPQPPPPPPPPPQQPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPQPQPPPQPPPPPPPPPQPPPPPPQPPPPPPQPPPPPPPPPPPPQPPPPPPPPPPPPPPQPPPPPPPPPPQPPPPPPPPPPQPPPPPQPPPPPPPPPPPPPQPPPPPPPPPPPPQPPQQPPPPQPQPQQPPPPPPPPPPQPPPPQPPQPPPPPPPQPPPPQPPPQPPQPQPPQPQPPPPPPPPPPPPPPPPPPPPPPQPQPPPPPPPPPPPPQPQQPPQPPPPPPPPQPPPPPPPPPPPPPPPPPPQPPPPQQQPPPPPPPPPPPPPPPQPPPPQPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPQPQPPPPPPPPPPPPPPPPQPPPQPPPPPPPPPPPPPPPPPPPPQPPPPPPPPPPPPPPPPPPPPPPPPQPPPPQPPPPPPQPPPPPPQPPPPQPPPPPPPPPPPPQQPPQPPPPPPPQPPPPPPPPPPPPPPPPPPPPPPPPQPPPPPPPPPPQPQPPPPPPPPPPPPPPQPPPPPPQPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPQPPPPPPPPPPQPPPPPPPPPPPPPPPQPPPPQPPQPPPPPPPPPPQPPPPPQPPPPQPQQPPPQPPPPPPPPPPPPPPPPPPPPQPPQPPPPPPPPPPPPPPQPPPPPPPPPPPPPPPPQPPPPQQPQPPPPPPPPPPQPPQPPPPPPPPPPPPQPPPPQPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPQPPPPPPPPPPPPPPPPPPPQPPQPPPPPPPPQPPPPPPPPPPPPQQPPPPPPPPPPPPPPQPPPPPPQPPPPPPPPPPPQPPPQPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPQPPPPPPPPPPPPPPPPPPPPPQPQPPPPPPPPPQPPPPPPPPPPPPPPPPQPPPPPPPPPPPPPPQPPPPPPPPPQPPPPPPPPQPPPPPPPPPPQPPPPQPPPQPQPPPPQQPQPPPPPPPPPPPPPPPPPPPPPPPQPPPQPPPPPPPPPPQPQPPPPPPPPQQPPPPPPPPPPPPPPPPQPPPPPPPPPPPQPQPPPPPPPPPPQPPPPPQPPPPPPPPPPPPPPPPPQPQPPPPPPPPPPPPPPPPPPPPPPQPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPQPPPPPPPPPPPPPPPPPPPPPPPPPQPPPPPPQQPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPQPPPPPPPPPPPPQPPPQPPPPPPPPPQPPPPPPQPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPQPPPPPPPPPPQPPPPPPPQPPPPPPPPQPPPPPPQPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPQPPPQPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPQPPPQPPPPPPPPPPPQPPPPPQPPPPQPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPQPPPPPPPQPPPPPPPPPPQPPPQPQPPPPPPQQPQPQPPPPQPPPQPPPPPPPPPPQPQPQQPPPPQPPPPPPQPPPPPPQQPPQPQPQPPPPQPPPQPPPPQPPQPQQQPPPPPQQPPPPPPPPPPPPPPPQPPPPPQPPPPPPQPPQPPPPPQPPPPPQPPPPPPPPPPQPPPQQPPQPPPPQQQPPPPQPPPQPPQPPPQPPPPQPPPQQPPPQPPPPPQQQPPPQPPPPPPPPPPPQQPQQPPPPPPPPPPPPPQPPQPPQQPPPQPPQPPQQPQPPPPPPPPQPPPPPQPPPQQPPPQQPPQPPQQPPPPQPPPQPPQPQQPPQPPQPPPPPQPPPPQPPPPPPQPQPQPPPPPPPPQQPPQPPPQPPQPPPPPPQPQPPPPPPPPQPPQPQPQPPPPQQPPQPQPQPPPPQPPPQPPQQPPPPQQPQPQPPPPPPPPQPPPPPQQPQPQPPPPPPPPPPPQPPPPPPQQPPPPPQPPPPPPPPQPQPQQQPPPQQQQPPPPQQPPPPQPPPQPPPPPPPPPPQPPPQPPQPQQPQQPPPPQQPPQPPPPPPPPPPPPPPPPQPPPPPQPPPPPPPPQPPPQPPPPPPPQPQQPPPPPPPPPPQPPPPPPQQPQPPPPPPPPPPPPPPPPQQPPPQPPPPPPQPPPPQPPQPPPPQQPQPQPPPPQQQPPPQPPPPPPPPQPPPPPPPPPQPQPQPPPPPPPPPPPPPPPQPPQPPQQQPPPPPPQPPPPQPPPPPPQPPPPPQQPPPPPPPPPPPPPPPPQQQPPPPPPQQQPPPPPQQPPPPPPPPPQPPPPPPPQPQPQPPPPQPPPPPQPQPPPQPPPQPQPQPPPQPPPQPQPPPPPPQQQPQQPPPPQPPQPQQPQPPPPPPPPPPQPPQPQQPPPPPPPPPQPQPPPQPPPQPPPPPPPPPQPPPPQPPPPPPPPQPPQQPPPPQPPPPPQPPPPPPPPPPPPPPPPPPPPPPPPQPPPPPPPPPQPPPPQPPQPPPPPPQPPPPPPPPPPPPPPQQQPPPPQPPPPPPQPPPPQPPQQPPPPPPPPPPPPPPPPPPPPQPPPPPPPQPPPQPQPPPPPPPPPPPPPPPPPQPPQPQPPPPPPPQPPPPPPPPPQPPPPQQPPPPPPPPPPPPPPPPPQPPPPPPPPPPPQQPPQPPQPQPPPPPPPPPPQPPPQPQPPPPPPPPPPPQPPPPPPQPPPPPPPPPPQPPPPPPPPPPPPPQPPPQPPPPPPPPPPPQPPPPPPPPPPPPPPQQPQPPPPPPPPPPPPPPPQQPQPPPPPPPPQPQPPQPPPPPPPPPPPPPQPPPPPPPPQQPPQQPPPPPPPPPPPPPPPPPPPPPPQPPPPPPPPPPQPPPPPPPPPPPPPPPQPPPPPPQPPPPPPPPPPPQQPPPPPPPPPPPPPPPPPPPPPPQPPPPPPPPPPPQPQPPPPPPPPPPPPPQQPPQPPPPPPQPPPQPPPQPPPPPQPPPPPPPQQPQPPPPQPPPPPPPPPPPPPPPQQPPQPPQPPPPPPPPPPPPPPPPQPPQPQPPPQQPPPQPPPPQPPPPPPPPPPQPQPQPPPPPQQPPPPQQPPQPPPPPQPPPQPPPPPPPPPPPPPPPPPQPPPQPPPPPPPQPPQPQPPPPPPPQPPQPPPPPPPPPPPPPPPPPPQQPPPPPPQQPPPQPPPPPPQPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPQPPQQPPPPPPPQPPPPPPPPQPQPPPPQPPPPPQPQPPPPPPPPPPQPPQPQPPPPPPPPQPPPPPPPPPPPQPPPPQPPPPPPPQPPPPPPPPPPQPPPPPPPPPPPPPPPQPPPPPQPPQQQPPPPQPPPPPPPPPPQPPQPPPPPPPPPPPQPPPPPPPPPPPPPPPPPPPPPPQQPPPQPPPPPPPPQPPPPPPPQPPPPPPPPPQPPPPPPPPPPPPPQPPPPPPPPPQQPQQQQQPPQQQQQPQPPPQQPPPQQPPQPPQPPPPQPQQPPQQPPQPQQPQQPPPQQQPQQQQPPQPPPPPPPPPPPQQPPPPQPQPPQQPQQPPPQPPPPPPPQPQQQPQPQQPPPPQPQPPPPPQPQQQQQQPPPQQQPPPQQQPPPPQPPPPPPQPPPPQQPQQPPPQQPPPQPPPQQQQQPPQQPPPPPQPQPQPPPPQQPQQQPQPQPPPPQPQPQPPPQQPQQPPQQQPPPPPPQQPPPQQPQQPPQQPPPPQQQPPPPPPQPPPPPQPQPQQPPPPQPPQPQPQQPPQQPQPQPPPPPPPPPPPPQQPPPPQPPPPPPPPPQQPQQPQPQPPQPQPPQQPQPPPPQQPPPPPPPPQPQPPPQPPPPPQPPPPQPPPPQPPQPPPPQPPQQPPPQPPPPPPPPQPPPQQPPPPQPPPPPPPPPQQPPQPQPQPPQPPPPQQPPPPPPQQPPPPQPPPPPQPQQQPQPPPPQPPPPQPPQQPQPQPPQPPPQPPPPQQPPPPPPPPQQPPPPPPPPPPPQPQPPPQPQPQQPPPPQPPQPQPQPQPPPQQPQPPPPQPPPPPQPPQPQPPPPPPPPQPQQPQPQPPPPQQQPQPPPPPPPQPQQPQPQQPPQPPQQPPQQPQPPPQQPPQPQPPQPPPQQPPQQQPQQPQQPQQQPPPPQQPPPPQPPQPPQPPQPPPPQPPQPPPPQPQPQPPQPPPPQPPQPPQPPQPPPPPPPQPPPQPPQPPPPPPPPPPPPPPQQPQQQPPPPQQPPPQQPQPQQPQPQQPQQQPPPPQPPQQPPPQPPQQPPPPQQPPPQPQPPPPPPQPPPPQPQQPQQPPPQPPPPPPQPPQPPPPQPPPPPPPPPPPPPPPPPPQPPPPQPPQQQPPPPPPPPPPPPQPQPPQPPPPPPPPPPPPPPPPPQQPPQPPPPPPPQPPQPPQPPPPPPPQPPPPPQPPQPPQPQPPPPPQPQPPPPQPQQPPPPPPQPPPQQPPQQPPPQQQQPPPPQPPPPQPPPPPQQPPPPQPPPPPQPQPPQQPPPQQPPPPPQPPQPPPPPQPQPPQPPPQPQPPQPQPQPPPPPPQPPPPPPPPPPPPQQPPPPPPPPPPPPPPPPQQPQPPPPQQPQPPPPPQPQPQPPPQPPPQQQQQQPQPPPPPPQQPPPPPQQPQPPQPPQPPQQPPQPPPPQQPPPQQPQPPPQPQPPPPPPQPPPPPPQPPQPPPQPPPPQPPPPPPQPPPPPPPPPPPPPPPPPPPQPPQQPPPPPQPPQQPPPPPPPQPPPPPPPPPPPPPPPQQPPPQPPPPPPPQPPPPPPPPPQPPPPPPPPQQQPPPPQPPPPPPPPPPPPPPPQQQQPPPQPPQQPPPPPQPPPPQQQPPPPQPQPQPPPPPPPPPPPPQPPPPPPPPPPPPQQPPQPPQPPPPPPPPPQQQQPQPPPPQPPPPPQPPQPPPPPPQPPPPQPPPPQPQPPPPPQQQPPPPQPQPPPPPPPPPPPPQQQPPPQPPPPQPPPPQPPPQPPPQPQPPPPPPPPPPPPPPQQPQPPPPPPQPPQPPQPPPPPPPPQPPQPPPPPPPQPQPPQPPPPPPPPQQPPPQPPPQPPQQPQPPPPPPPPPPPPQPPQPPPPPPPPPQPPPQPPPPPPPPQPQPQPQQPPPQQQPQQPPPQPQPPPQPPPQPQPQPPPPPPPPQPPPPQQPPPPPPQPPPPPPPPPPPPPQPPPPPPPQPPQPPPPPPPPPPPPPPQPPQPPPPPPPPQPPPQPPPPPPPPPPPQPQQPPPPPPPPPPPQPPPPPPPQPPPPPPPPPPPPPPPPPPPPPPPPPPPPQPPQPPPPPPPPPPPPPPQPPPPPPQPPQPPPPPPPPPPPQPPPPPPPQPPPPPPPPPPPPPQPPPQPPQPPPPPPPQPQPPPQPPPPQPPPPPPPPPQQPQPPPPQPPPPPQPPPPPQPQQPPPQPPPPPQQQPQPPPPQPPQQQPPQQPQPQPQPPPPQQPPQQQPQQPQQQQQQQQPPPQPPQQPQPPPQPQPQQQQQPQQQQPQQQPQQQQQPQQPQQQQPQQPPQQQPQQQQQQPPPQQQQPQQQQQQPPPQQQQPQPQPPPPQQPQQQQQQQPPQPQQQPQQQPQPQPQQQPQQQQQQPPQQQPPQQQPQQPQQQQQQQPPPQQQQQQQQPQQPQQPQQPQQQPPQPPPPQQQPQPPQPPQQQQQQPQQPPQQPQPPQQQPPPQPQQPQPPPPPQQPQPPQPQQQPQQQQQQQQPPPPQQQQQPQPPQQQPQPQPQQQQPQQPQQQQPPPQPPQQQQQQPPQQQPQQPQPPQPQPQQQQQQQQQPPPQQQPPPPPQQQQQPQPQQQQQQQQQQQQPPPPQQQPQPQPPQPQPPPQPQQPQQQQPPQQQPPQPPPQQQQQQPPQQQQPQQQPPQPQPQQQQPQQQQPPPQPQPQQPQQQQQQQPQPPPPPQPQPPPQQQQQQPPQQQQPQQQPQPQPQQQQPPQPQPPPQQPQQQQPQPPPQPPQPQQQQQQQQPQQQQPPPPQQPQQQQPPQQQQPPPPQQQPPPQQQQQPQQPQQQQPPQQQQQQPPPQQPQQQQQPQPPPQPQQPPPQQPQQQQQQQPPPPPQPPQQQQPQPPPPPQPQQQPPQPPPPPPPPQPQQQPQPPQPPPPPQPQPPPQQQQQPQPPQPQPQPPPPPQQQPQPQPPPQPPQQPQQPQQQPPPQPPQQPPQQPQPQPQQQQQPQPPPQPQPPPQQPPPQQPQQQQPPPQQPQPPPQPPQQQPPQQQQQQPQQPPPQQPPQPQQPPPPPQQPQQPQPPQQPQQPPPPPQPQQQPPPQQPQPPPPQPPQPPQQQPPQQPPPPQPQQPQPQQQPPQPPPPPPQQQPQPQPPPQQPPQPQPPQQQPPQPQQPPQQPQQPPPQPPQPPPPQPQQPPPQPPQQQPPPPQQPQQPQQPQQQPQPQPPQQPPQPPQPQPPPPQPQQQPPPQQPPQQQPQQPPQQPQPQQPPQQPPPPPPPQPQPQPQQQPPPQPPQQQPPPPPPQQQPQQPPPPQPQPQPQQQQQPPQQPPQPPPQQQPPPPQQPPPQQPQPPPPPQPPPQQPQQQQPPPQPQPPQQPPPPPPPPQQPPQPPPPPPQQQPQPPPQQPQQQPQPPPQQPPPQPQQQPPPQPQPQQQPPQPQPQPQPQPPPQPQPPPQPQQPPPPPQQQPPQQPQPPPPQPPPQQQQQPQPQQPPPPQPPQQQPQPQQPQQQQPQPQQQPPPQPQPQPQQPQQPQPQPPQPPPQPPPQQQPQQPPPPQQQQQPQPQPPPPQPPPQPPPPPPQPPPPPQPPQQPPPQPPPQQQQQQQQQQPPPPQPQQPQPPQPPPQPPPPPPQQPPPPPPPPPPQQPQPQQQPPPQPQPPPPQPQPQQQQPPQPQPPQPQPQPQQQPPQQQPPPQPPQPPQQPPPPPPQPQPQPPPQQPQQPPPQPQQQPPQPQPQPQPPPPPPPPQQQPQPQQPPQPPPPPQPPPPPPQPPQQQPPPPQPQQQPPPPQQQQQPQPQPPPPPPQPPQQQQPQQPPPPPQPPPPPPQPQPQQPPQPPQPPPPPQPPQPPPQPPPPPQQQPPPQPPPQQQPPPQPQQQPPQPQPPPPQPPQPQPPPQPQPPPQPQQQPPQPPPPPQPQPPQQQPPPPQQPPPPPQPQQPPPPPPPPPPPPPQPPQQPPPPPPPPPPPPPQQQQPQPPPQPQPPPQPPPPPPPPPQQPPPPPPPPPQPPQPPPQQPPPPQQPPPPPPQPPQPPPPPPPPPPQPQPPPQQPQQQPPPPPPQPPPQQPPQPQPPQPQPPPPQPQQPQPPQQPPPPQPQPPPPPQPPPPPQPPPQPPPQPQQPPPQPQQPQQQPQPPPPPPPPQQPQQPQPPPPQPQQPPPPPQPPQPQPQPPPPQPPPPPQPPQQQQQQQQQPQPPQQQQQQQQQQQQQQQQQQQQPQQPQQQQQPQQQQPQQPQQQQQQPQQQQQQQQQQQQQPQQQPQQQQQQPQQQQPQQQPQQQQPPQQQQPPQQQQQPPQQQQQQPQQQQQQQPQQQQQQQPQQPQQQQQQQQQPPQQPQPQPQQQQQQQQQQQQPQPQPQPPQQPQQQQPPPQQQQQQQQPPQPQQQPQQQQQPQPQQPPQPPQPQQQQQQQQQPQQPPQQQQPQPPQQQQQQPQPQQQQQQQPQQPQQQQQPQQQQQQQQPQQQQQQQPQQPQPQQPQQQQQPPQQQQQQQQPQQQQQQQPQQQQQQQQQPQQQQPQPQPPQPQPQQQPQPQQQPQPQQQQQQQPPPQQQQQPQQQQQQPQPQQQQPQQQQQQQQQQPPQQQPPQPPQQQQPQPQQQPQPQQQQQQQQQQQPQQPPPQPQQQQQQPQQQPQQPQQPPQQQQQQPQQPQQPQQQQPQQQPQQPQQQPQQQQPQPQPPQQPQPQQQQQQPQQPQPPQPQQQQPPQQQPQQQQQPQQQQPQQPQQQQQPQQQQQQQQQQPQQPQQQPPQPQQPQPQQQQQPQQQPPQQQQQQPQQQQQPQQPPQQPPQPQPQQQQQQPQQQPQQPQPQQPPQQPQPQQPQQQQPPQPPQQQPQQPQPQQPQQPPQQQQQPQQQQQQQQPPPQPPPPPPQQQPQPQPPQQQPQQQPPQQPPPQPQPPPQQQQQQQPQQQQQQQPPPQQQQQQPPPQPPQQQQQQQQQQQQQPQQQPPPQQQPPPPQPQPQQQPQQQQQQQPQQPQPQQPQQQQQPQPQPQPQQQQQPPPQPQQPQPQPPQPPQQQQQPQPQPQQPPQPPQQQQQPPQQQPPPPPQQQPQQPPQQQQQPQPPQQPPPQPQQPQPQQQQPPQQQPQQPPPPQQPQQQQQQPPQPQQPQPPQPPQQQQQQQQQQQQPPPQQQQQQQQQQQQQQQQPPQPPPPQQPQQQQPQQQQPQQQQQPQQQPQQPQPQQQQQPPQPQPQQPQPQQQQQQPQQQPPPQQPPQPQQPQPQQQQPPQQQQQQQQQQPQQQQPQQQQQQQPPQQQPPQPPPQPQQQPQQPQPQPQPQPPQQPQQPQPQQPQQPQQQQQQQQQPPQQQQQQPQPPPQQQQPQQPQQPQPQQQQQQQQQQPQPQPPPQQQPQQQQPQQPPQQPPQPQQQQQQPPPPQQQPQPQQPQPQPPPQPQPPQQQPQPQPQPQQQQQPQQQPQQQQPQPQQPQQPPQPQPQPPQPQPPPQQPQQQPQQPQQQPPPPPQQQPQQPQQPPPPPPQQQPQQPPQQPQQQQQQQQQPQPQQPQPPPQPQPQQPQQQQQQPPQQPPQPPQPQQQQPQPQPPQQQQQQPPQPPPQQQPPQQQQPQPQQPPQQQPPPQPQPQQQPPPPPQQQQQQPPPQQPPPQPQPQPQQPPQQQPQQPPQQPQQQQQPPPQPQQQQPQPPQQQQQQQQPQQPPQPQQQPPPPQPPPQPPQQQPQQQQPPQQQPPPQPQQQPQQQPQQPPPQQQQQQQPPPQQPQQQPPQQPPQQQPQQQQQPPQPPQPQQPQPPQPPPQQPQPQPQQQPQQPQQPPQPQQPQQQQQPQQPPPQQQQQQQQPQQQQQQQQPQQPPQQQPPQPPQPPPQPPPQQQQPPPQPPPQQQQQPQPQQQPQQPQPPQPQPPQPQPQPQPPPQQPQPPQQQPPQPPPQPPPPQQQPPPQQQQQQPQPPQQQQQQPPQQQPQPPPQQPPQQPPPQQQQPQQPQPQQQPPPQQPPPQPQQPQQPQQQPQQQPQQPQQQQPPPPQQPQPPPQPQQQPQQQQQQPQQPQPPPPQQPQQQPQQPPQQPPQPPQQPPPPPPPQQQPQPQPPPPPQQPPPPPPQPPQQQQQPPPPPPPPPQPQPPPQQPPPPQQPPPPQQPPPQPPQPPQPQPQPPQQQQPPPPPPQQPPPPQPQQQQPQQQPQQQQQQQQQQQQQQPQQQQQQQQQQQPQQQQQQQPPQQQQQQQQQQQQQQQQQQQQQQQPQQQQPQQQPQQPQQQQQQQQQQQQQQQQQPQPPQQQQPQQQQQPQQQQQPQQQQQQQPQQQQQQQQQPQQQQQQQQQPQQQQQQQQPQQQQQQQQQQQQQQQQQQPQPPQQQQQPQQPQQQQQPQQQPQPPQQQQPQQPQQQQQQQQQQQQQQQQQQQQQQQQPQQQPQPQQPQQPQQQQPQQQQPPQQQQQQQQQPQQQQQPQQQQQPQQQQQQQQQQQQQQPQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQPQQQQQQPQQQQQQQQQQQQQQQQQQQPQQQQPQQQQQQQQQQQQQQPQQQQQQQQQQQQQPQQQQQPQQQQQPQPQQQQQQQQQQQQQQQQQQQQQQQPQQQQQQQQQQQQQQQQQPQQPQQQQPQQQPQQQQPQQPQQQQQQQQQQQQPQQQQQQQQQQQPQQQQPQQPQPQQQQQQQQQQQPQPQQQQQQPPQQPQQPQQQQQQPPPQQQQQPQQPPPQQQPQQQQQQQQQQQQQQQPQQQQQQPQQQQQQQQQQQQQQPQPPPQPQPPQQQQQQQQQPQQQQPQQPQQQQQQQQQQQQPQQPQQPPQQQQQQQQQQQQQQPQQQQQPPQQQQQQPQQQQQQQPQQQQPQQQQQPPQQQQQQQQQPQQQQQQQQQPQQQQQQPQQPQQPQQPQQQQQQQPQQPPQPPQQPQQQPQQQQQQQQQQQQQPQQQQPPQQQQQQQQQQQQPQQQQQQPQQQQQQQQQPQQQQQQQQQQQQQQQPQQQQPPPQQQQQQQQQQPQQQPQPQQQQQQQQQQQQQQQQPQQQQPQQPQQQQQPQQPPQQQQQQQQQQQPQPQPQPPQPQQQPQQQQPQQQPQQQQQQQQQQQQQQQQPQQQQQPQQQQPQPPQQQQQQPQPQQQQQQQQPPQQPQQQQQQQQQQQPQQPQQPPQQPPPQPPQPQPQQQQPPQQQPQQQQQQPPQQPQQQQPPQQPQQQQQPQQQPQQQQPPPPQQPQQQPQQQQQQQQPQQQPPQQPQPQQQQQQQQPQQQQQPQPQQQQQQQQQQQQQQQPQQPQQQQPQQPPQQQQQQQPQQQPPPQQPQQPQQQQQQPQQPQPQQQQQQQPPPQQQQQQQQPQQQQQQPQQQQQQQPQQQQPQQQQQQQPQQQQQPQQPQQPQQQQQQPPQQQQQQQQQPQQQPQQQPPQQQQQPQPPQQQQPQQQQQQQPQQPQQPPPQQQQQQQQQQQQPQQQQQQQPQQQQQQQQQQQPQQQQQPQPQQPQPQQQPQQPQPQQPQQPQQPPPQQQQPQQQPPQQQQQPQPPQPPPQPQPQPQPQQQQQQQPQPQQPPPQQQPQQPQQQPQQPQQQQQPQQQPQQQQQQQQQQQPQQPQQQQQQQQPQQQQQPPQQQPQPQQPQQPQPPQQQQQQQQQQQQPQQQQPQQPQPQQQPPPQQQQQQPQPPQQQQQQQQQQQPQPPPQQQQQQPQQPPQQQQQQQQQQPQQQQQQQPPQQPQQPPQQQQQQPQPQPPQQQQPQQQQPQQQPQQQQQPQQQPPPQQQQQQQQQQQPQPPQQPQQQQQQPQQQPQPQQQPQPQQPQPQQQQQQQQQQQPPQQQQQPQPQQPQQPPQQQQQQPQQPPPQPQPPQQPQPPQQQQPQQQPQQQQPPQPQQQQPQPQQPQPQPQPQQQQQQQQQQQQPQQQPQQQQQPQQQQQQQQQQQQPQQQQQQQPQQPPPPQQQQPQPQPPPQPQQQPQQQPQPQPQPQQQPQQQQQQQQPQQQPPQQQQPQPPQPQPPQQQQQQPPQQPPPPQPQPPPPQPQQQQPQQPQQPQPQQQQQQQQQPPQQQQQQQPPQQPQQQQQPQPQQQQQQPQQQQQQQQQQPQQQQQQQQPPQQQQQPQPQQQQQPQQQQQQQQQQPQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQPQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQPQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQPQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQPQQQQQPQQQQQPQQQQQQQQQQQQQQQQQQQQQQQQQPQQQQQQQQPQQQQQQQQQQQQQQQQQQQQQQQQQQQPPQQQQQQQQQQQQQQQQQQQPQQQQQQQQQQQQQQQQQQPQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQPQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQPQQQQQQQQQQQQQQQQQQPQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQPQQQQQQQQQQQQPQQQQQQQQQQQQQQQQQQQQQQQQQQQPQQQQQQQQPQQPQPPQQQQQQQQQQQQPQQQQQPQQQQQQQQQQQQQPQQQQQQQQQQPQQQQQQQQQQQQQQQQPQQQQQPQQPQQPQQQPQQQQQQQQQQQQQQQQQQPQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQPQQQQQQQQQQQQQQQQQQQQQQPPQQQQQQQQQQQQQQQPQQQQPPQPQQQQQQQQQQQQPQQQQQQQQQQQQQQQQQQQQQQQQQPQQQQQPQPQQQQQQQQQQQQPQQQQQQQPQPQQQQQPQQQQPQQQQQQQQQQQQPQQQPQQQQQQQQQPPQQQQQQQQQQQQQQQQQQQQQQQPQQQQQQQQQPQQQQPQQQQQQQQQPQQQQQQQQQPQQQQQQQQPQQPQQQQQQQQQQPQPQQQQPQQQQQQPQQQQPQQPQQQQQQQQQPQQQQQQPQQQQQQPQQQQQQQPQQQQQQQQQQPQQPQQPQQQQPQQQQQQQPQQQQQQQPQQQQQPQQQQQQQQQQQQQPQQQQQQQQQQQQPQQQQQQQQQQQQQQQQQQQQQQQQPQQQQQQQQQQQQQQQQQQQQQQQQQQPPQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQPQQQQQQQQQQQQQQQQQQQQQQQQQPQQQQQQPQQQPQQQPQPQQQQQQQQQQQQQQQQPQQQPQQQQQQQQQQQQQQQQQPQQQQQQQQQQQQQQQQQQPQQQQQPQQQQQQQQQQQQQQQQPQQQQQQQQQQQQQPQQQQPPQQQQQPQQQQQQQPPQQQQQQPQQQQQQQQQQQQQQQQQQQPQQQQQQQQQQQQQQQQQQQQQQQQQPQQQQQQQQQPQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQPPQQQQPQQQQQQQQQQQQQQQQPQQQQQQQQQQQPQQQQQQQQQQQQPQQQQQQPQPQQQPQQQQQQQQQQQQQQQQQPQQPQQQQQQQQPPPQQQQPQQPQQQQQQQQQQQQQQQQPQQQQQQQQQQQQQQQQQQQQPQQQQPQPQQQQQQQQQQQQQQQPPQQQQQQQPQPQQQPQQQPQPQQPQQQQQQPQPQQQPQQQQQQPQQQQPQQQQPQPQQQQQQQPPQPQQPQPQQPQQQQQQQQQQQPQQQQQQQQPQQQQQQQQQQPPQPQQPQQQPQQPQQQQPPQQQQQQQQQQQQQQQQQQQQQQPQQQPQQQPPQQQQQQQQQQQQQQPQQQQPQQQQQQQQQQQPQQQQQQQPPQQQQQQPQQQPQQQPPQQQQQPQQQQQQQQQQQQQQQQQQPPPQQQQQPPQQPQQQQQQQQQQQQQQQPQQQQQQQPQPQQQQQQQQQPQQQQQQQQPQQQPQQQQQQQQPQQQQPPQQQQPQQPPQQQQPQQQQPQQQQQQQQQQQQQPQPPQPQQPQQQQQPQQQQQPQQQPPQQPQQQQQQPQQPQQQQPQQPQPPQQQQQQQQQQQPQPQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQPQQQQQQQQQQQQQQQQQQQQQPQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQPQQQQQPQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQPQPQQQQQQQQQQQPQQQQQQQQQQQQQQQQQQQQQQPQQQQQQQQPQQQQQQQQQQQQQQQQQQQQQQQQQQQPQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQPQQQQQQQQQQQQQQQQQQQQQPQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQPQQQQQPQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQPQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQPQQQQQQQQQQQQQQQQQQQQQQQQQQQPQQQQQQQPQPQQQQQQQQQQQQQQPQQQQQQQQQQQPQQQQQQPQQQQQQQQQQQQQQQQQQQQQQQQQQQQQPQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQPPQQQQQQQQQQQQQQQQQQQQQQQQQQQQPQQQQQQQQQQQPQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQPPQQQQQQQPQQQQQQQQQQQQQQQQQQQQQQQQQQPQQQQQQQQQQQQQQQQQQQPQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQPQQQQQQQQQQQQQQQQPQQQQQQQQQQQQPQQQPQQPQQQQQQQQQQPQQQQQPPQQQQQPQQQQQQQQPQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQPQQQQPPQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQPQQQQQQQPQQQQQQQQQQQQQPQQQQQQQQQQQQQQPQQQQQQQPQQQQQQQQQQQQQQQQQQQQQQQQQQQPQQQQQQQQQQQQQQQQPQQQQQQQQQQQQQQQQQPQQQQQQQQQQQQPQQPPQQQQPPQPQQQQQQQQQQPQQQQQQQQQQQQQQQQPQQQQQQQQQQQQQPQQQQQQQQPQQQQQQQQQQQPQQQQPQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQPQQPPPQQQPQQPQQQQQQQQQQQPQQQQQQQQQQQPQQQQQQQQPPQQQQQQQQQQQQQQQPQQQQQQPQQQQQQQPQQQQQQQPQPQQQQQQQPPQQQQPQQQQQQQQQQQQPQQQQQQQQQQQQPQQQQQQQQPQQQQQQQQQQQQQQQQQQQQQQPQQQQPQQQQQQQQQQQQQQQQQQQQQQQQQQPQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQRQQQQQRQQQQQQQRQQQQQQQQQQRQQQQQQQQQQQQQRQQRQQQQQQQQQQQQQRQQQQQQQQQQQQQQQRQQQQQQQQQQQQQQQQQQQQQQQQRQQQQQQQQQQQQQQQQQQQQQRQQQRQQQQQRQQQQQQQQQQQQQQQQQQRQQRQRQQQQQQQQQQQQQQQQQQQQQRQQQQQQQQQQRQQQRQQQQQQQQQQQQQRQRQRQQQQQQQQQQQQQQQQQQQQQRQQQQQQQQQQQQQQQQQQRQQQQQQRQRQQQQQQQQQQQQQQQQQQQQQRQQQQQQQQQQQQQQQQRQQQQQQQQRQQQQQQQQQQQQQQQQQQQQQQQRQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQRQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQRQQQQQQQQQQQQQQQQQQQQQQQQQQRQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQRQQQQRQQQRQQQQQQRQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQRQQRQQQQQQQQQQQQQQQQQQQQQQQQQRQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQRQQQQQQQQQQQQQRQQQQQQQQQQQQQQQQQQQRQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQRQQQQQQQQQQQQQQQQQQQQQQRQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQRQQQQQQQQQQQQQQQQRQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQRQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQPQQQPQQQQQQQQQQQQQQQQPQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQPQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQPQQQQQQQQQQQQQQPQQQPQPQQQQQPQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQPQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQPQQQQQQQQPQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQRQRRQQQQQQRQQQQQQRQQQRQRQQQRQRQQQQQRRQQQQRQRQQQRRQQQQQQRQQQQQRQQRQQQQQQQRRQQRQQRQQQQQRQQRQQQQQQQQQQQQQQQQQQQQRQQRQQQQQQQQQRRQQQQRQQQQRQQQQQQQQQQQQQQQQQQQQQRQQRQQQQQQRRQRQRQQQQQQQQQRQRQQQRQQQRRQQRQQQQRRQQQQQQQRQQQQQRQQQQQQQQQQRQQRQQQQQQQQQQQQQRQQQQQQQQQRQRQQQQQQQRRRQQRQQRQQQQQRQQQQRQQQQQQQQQRQQQQRQQQQQQQQQRQRRQQQQQQQQQQRRQQQQQQQQQQQRQQQQQQQQQQRQRRQQQQRQQQQQQQQQQQQQQQQRQRQQRRQQRQRQQQQQQQQQQRRRQQQQQRQQQQQQQRQQQQQRQRQQQQQQRQQQQQQQQQQQQQQRRRQQQQRQQQRQQRQQRQRQQQRQQQQQQQQQQQQQQQQQRQQQQQQQQQRQQQQQQRQQQQQQQQQQRQQQQQRQQQQQQQQQQQQQQQQQQQQQQQQQQRQQRQRQRQQQQQQQQQRQQRQQQQQQRQRQQQQQQRQQQRQQQQQQQQRQQQQQQQQRQQRQQRQRQQQQQQQQQQQQQQQRQQQQQQRQQQQRQQQQQRQQQQQQQQQQQRQQQQQQQRQQRQQQQQQQQRQQQQQQQQQQQQQRQRQQQQQQQQQQQQQQQQQQQQRRQQQQQQQQQQQQRQQQRQQQQQQRQRQQRQQQQQQQQRQQQQQQQQQQQQQQQQQQQQQQQQQQQQQRQQQQQQQQQQQQQQQQQQQQQQQQQQQQQRQQQQRQQQQQQRQQQQRQQQQQQQRQQQQQQQRQQQQQQRQQQQQQQRQQQRQQQQQQQQQQQQQQQQQQQQQRQRQQQQQQQRQQRRQQQQQQQQQRQQQQQQRQQRQQQQQQQRQQQQQQQQQQQQQQQQQQQQQRQQQQQQQQQQQQQRQQQQQQQRQQQQQQQQQQQQQQQRRQRQQQQQQRQQQRQQQQQQQQQQQQQRQQQQQQRQQRQQQQQQQQQQQQQQQRQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQRQQQRQQQQQQQQQQQQQQQQQQQQQQRQQQQQQQQQQQQQRQQRQQQRQQQQRQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQRQQQRQQQQQRQQQRQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQRQQQQQQQQQQRQQQQQQQQQQQQQQQQQQQQQQQQRQQQQQQQQQQQQQQQQQQQQQRQQRQQQQQQQQRRQQQQQQQQQQQQQQRQQQQQQQQQQRRQQQQQQQQQQQQQQQQQQQQQQQQRQQQQQRQQQQQQQQQQQQQQQRRQQQQQQRQQQQQQQQQQQQQQQQQRQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQRQQQQQQQQQQQQQQRQQQQQRQQQQQQQQQQQQQQQQQQQQQQRQQQQQQQRQQQQRQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQRQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQRQQQQQRQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQRQQQQQQQQQQQQQQQQQQQQQQQQQQRQQQQRQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQRQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQRQQQQQQQQQRQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQRQQQQQQRQQQQQQQRQQQQRQRQQQQRRQQRQRRQRQQRRQRQQRRQQRQQRQQQRRQQQQRQQQQQQRQQQRRQQRQRQQRRQQRRRRRQRRQQQRQQRRRRQQRRQQRRQQQQQRQRRRRQQQRQQQQQQQRRQQQRQQRQRRQRQRRQRQRQRRQQQQQRQRRRRQQQRRQQRQQRRQRRQQQRRQQQQQQRRQRQQQRRQQRQQRQRQQRRQRQRRQRQQRQQQQQRQRQRRQQRQQRQQQQQQRQQQQQQQQQQRQRQQQRQRQQQQQRRRQRQQQQRRRRQQQRQQRQQRRQRQRQQRQQQQRQQQQRRQQRRQQQRQQQRQRQQQRRRQRQQQQRQRRQRQQRQRQRQQQQQQQRRQRQQQQQRQQQQQRRQRQQRQRRRRRRRQQRQQRRQQQRQQRRRRQQQQQQQQQQQQQQQQQRQRQRQQRQQRQRRRQQQQRQQRQQRQRQRQRQRQQQRQQRQRQQQQQRQQQRQQRQRRRRRRQQQQRQQRRQQRRRQQRRQQQRQQQRRQQQQRRQQQQQQRQQQQQQRRQQQQQQQRRRRRQQRQRQRQQRRRRRQQQQQQQQQRRQRQQQQQQQQQRRRQQQQQRRRQRQQQQRQQQRRQRQRRRQRQRQQQQQRQRRQQQQRQRRRQQQRQQQQRRQRQRRRQQRRQRQRQRQRRRQQQQQRQRRRQQQRQRQQQQQQQRQQRQRQQQRQQRQQRRRRQQQQRQQQRQQQQRQQQQQQQQQQRQQRQQRQQRQQRRQQQQRRRQRQRQQRQRRQQQQRQQRQQRQRRQRQRQRQQQQRRRQQQQQRRQQQQRQQQQQRQRRRQQQQQRRQRQQQQQQQQRRQQQQRQRQRQQQRQRQQRQQQRRQQQRRQQQQRQRQQQRQRRQRRQQQQRQRQQRQQQQQQQQQQQQQQQQQQRRQRQQRRRQRQRRRQQQQQRRQRRRRQQQQQQQQRQQQRQRQQRQQQQRRRRQQQQQRQQQRQRQRQQQQRQQQQQQQQRQRRQQQQRQQQRQQQQQRRQQQRQQQQRQQQQQQQQQQRRRRQQQRRQRQRQQRQQQQQQQRRQQRQQQQQRQQRQRQQQQQQRQQRRRRQQQQQRQQQQQQQQQQQQQQQQQRQQQQRRQRQRRQQQRQRQRRQQQRQRRQRRQQRRQQQQQQRRRQQQQQRQQQRRQQQQQQQQQQQQRQQQQQQRRQRQQQQQRQQQQQQRQQQQQQQQRQRQRQQQQQQQQQQQQQQRQQQRQQQQQQQQQQRRQQRRQQQRQQQQRQQQQQQQQQQQQQRQRQQQQQQQQQQQQQQQQRRQQQQQQQQQQQQRRRQQQQQQQQQQQQQQQQQQQRRQQQQQQQQRQQQQQQQQQQQQQRRQQQQQQQQQRQQQQQQQQQQQQRQQQQQQQQQQQQQQQQQQQQQQRQQQRRQQRQQQRQQQQQQRQRQRQQQQRQQQRQQQQQQRRQQQQQQRRQQQQRQRQRRQQQQQQQQRQRQQQQQQQRQQQQQQQRRQQQQQQQQQRQQQQQQQQQRQQQQQQQQRQQQQQQQQQQRQQQQQQQQQQRQQQQQRQQQRQQQQRQQQQQQQQQRRQQQQQQRQQQQRQRQQQQQQQQQRQQRQQQQQQRQQQQQQQQRQQQRQQQQQQQQQQQQQQQQQRRQQQQRRQQQRQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQRQQQQQQRQRQQRQQQQRQQRQQQQQQQQQQQRQQQQQQQQQQRQQRQQQQQQQQQQQQQRQQQQQQQQQQQQQQQQQQQRQQQQQQQQQQRQRQQQQQQQQQQQQQRQRQQQQQQQQQQQRQQQQQRQQQQQQQQRQQRQQQQQQQQQQQQQQQQQQQQQQQQQRRQQQRQQQRQQQQQQQQRQQQQQQQQQQQRRQQRRQQQQQQQQQQQQQQQQRQQQQRQQQQQQQQQQQQQQQQQQQQRQQQQQQQQQQQQQQQQQQQRQRQRRRRRRQQRRRQRRQRRQRRRRRRQQQRRRRRQQRRRRQRRRRQRQRRQRRQQQRQRRRRRQQQQRRRRRRQRRRRRRQRRRRRRRRQRQQQRRRQQQQRRQQRQRQRRRQRQRQRQRQRQQQRRRQRRRRRRRQRQRRQQRQRRRRQQQQRQQQQQRQRRQRQRRRQRQQRQRRRRQRRQRRRQRRRRRRQRRRQRQRRRQRRRQRRQRRQQQRRRRQRRQQRRQQRRQQQRQRQRRRQRRQQQQQQRRQQRRQQRRRQRQRRQRQQRQRQQQQRQRRQRQQRQRQRRQRRQRQRQRRRQRRRRRQQRRQQRQQRRRRRQRQQRRRQRRRRRQRRRRRRQQRQRQQRRQRQQQRQQQQRRQRRQQRQQRRRRRRRRRRQQRQRRRQQRRRRRQRRRQQRRQRRRRRRQRQRRRQQRQRRRRQRRRQRRQRRRQRRRRRRRQRRRQRQQQRRQQRRRRQQRQQRRQRQRQRQRRQRRRRQQRQRRQQQRQQRRQQRQQQQRRRQRRQRRRRQRRRQRQRRRQRQQQQQRRRRQRRQQRRRQQQRQQQQQRRQQRRQQQRQRQRQRRRRQQQRQQQQRQQRQRRQRQQQRQQRQQRQQRQRQQQQRRQRRRQQQQQRQRRQQQRQQRRRQRQQQQQRRQRQQQRQQQQQRQRQRQQRQQRRQRQQRRQRRQQQQRQQRRQQQQRRQQQQRQQQRRRRQRQQRQRQQRRRRRQRQRQRRRQRRQQRQRRRRQQQQRRRRRRRRQRRQRRRQRQQRRRRQRRQQRQRQQRRQQQQQRRRQRRQQQQQQRQRQQRQQQQQRQQQQQRRQRQQRQQQQRRRQRRRQQQQQQQQQQQQQRRRQQRQQRQQRQRRQQRRRQQRRRRRQRQRRRRQQRQQRQQQQQQQRQQRQQQRQQQQRQQRQRQRRQRQQQRQRRQRQRRRRQQRRRQRRRQRQQRRRRRRQQRRRQQQQRRQRRRRRQRRRQRRQRQRQQRQRRRRRRQRQQRQQRQQRRQRQQQRQQQQQQQRQQQQRQQRQRQRRQRRQQRQQQQRRRRQQRQQQRRRQRQRQRQRRRRQQRRRRQRRQRRRRRQRRRQQQRQQRQQRQRRQQQQRQRQQQQQQRQQRQRQQRRRQQQQQRQRQQRQQRQQQQRQRRRRRQQRQRQRQRQRQRQQQQRRRQQRRRRRRRQRRQQRQRQRQQQRRRRRQRQRQRRQQQQRQQQQQRRQQQRQQRRRQQRRQRRQQRRQQRQQRQQRRQQQQQRQRRQQQRQQQQRQRQQRQRQQRQQQRQRQQQQRRQQRQQQQRRQRRRRQQQQQQRRQQQQQRQRRQQQQQQQRRRQQQQRQQQRRRRQQQQQQRQRRRRQQQRQRQRRQQQRRRQRRRQQRQRRRQRQQQQQQQQQRQQQRRQRRQQQRQQQRQRRQQRRQQQQRRRQRQRRRRRQRRRQQQRRRQQRQQRQQRQRRRQQQRRQQRQQQRRQQQQQRQRRQRQQQQQQQRQRRRRRQRQQRQRRRQQQQQQRQRQQRQQQQRRQRQQRQRQQQQQQQQRQQRRRQQQQRRRQQRQQRQRQQQRRQQQQQQQQRRRRQQQRQRQRQRQRQRQQQQQQQQQRRQQQRRQQQQQQQRRQQQRQQRQQQRQQQQQQRQQRRQRQRQQQRQRQQQRQRRQQQQQQQQQQQQQRRQQQRQRRQQRQQRRQRQQQRRQQRQQQQQQRQRRQQQQRQQRRQQQRQRQRRQQRRQQQQQQQQRRQQRQQRRQQRQQQQRQQQRQQQQQRQRQRQQQQQQQRQRQQQRRRQQRRQRQQRQRRRQRQRRQQRRQRRRRQRRQQQQRQQQQQRQQQRRQQQRQRQQQQQQRQQRQQQRQQQQQQRQRQQQQRQQQQQRQRRRQRQQRQRQQRQQQQQQRQRQQQQRQQQQQQQRQQQQQQQRQQQQQQRRQQQQQRQQQQQQQQQQQRQQRQQQQQQRQRQRRRRRRRRRRRQRRRRRRRRRQRRRRRRQRRQRRRRRRRRRQRRRRRQRRRRRQQQRRRQRRRRRRRQRRQRRRQRRRQRRRQRRQRRRRQQRQRRRRRRQQRRRRRRRRRQRRRRRRRRRRRRRRRRRQQRRRRRRQRRRRQRRQRRRQRRRRRRRRRRRRRRRRRRRRRRRQRRRQRRRRRQRRRRQRRRRRRQRQRRRRRQRRRRQRRRRRRQRRRRRRRQRRRRRRRRQQRRRRRQRRRQQRRRRRRRRRRRQRRRRRRRQRQQRRQRRRRRRRRQQRRRQQRRRRQQRRRRQQRRRQRRRRRQQQRRRRRRRRQRRRRRRRRRRRQQQRRRQQQRRRRQRRQRRRRRRRQQRRRQRRRRRQQQRRQRRRRQRQRRRRRRRRQRRRRQQRQQQRRRQRQQRRRRQRRRRQRRQRRRRRRRRRRRRRRQRRRRRRQRQRRQRRRRQRRRQRRRRRRRQQRRQRRRRRRRRQRRRQQRRRRRRRRRRQRRQRRRRQQQQRRRRRRRRRRQQQRRQRRQQRRQRQQQQQQRRRRQRRRQRRQQRRQRRRRRRRRRRRRQRQRRRQRRRRRRRRRRRQQRRRQRRRQQRQRRRRQRRQRRRRRQRRRQRRRRRRQQRQRRQRQRQQQRQRRRRRRRRRQQRRQRRRRRRQRRRRRRRRRRRRQRRRQRRRQQRRRRQRRRRRRRRRQQQRRQQRRRQRRRRRRRRRQRQQRRRRQRRRRRRRRRQRRQQRQRRRRRQRRQRRRQRRRQRQQRRRQRQRQQRQRQQQRRRRQQQRQRRRQRRRRRRQQRRRRQRQRRQQRRQRQRRRRRRRRRQQRRRRQQRQQRRRRRQRRRQQRRRRQQRRRQQRRRRQRRRQRRRRRRRQQRQQQRRQRRQRRRRRRQQRRRRRRQRRQRRRQQQRQQRRRRQQRRRQRRQRRQRRRQRRQRRRRRRRQQRRRRRQRRRQQQRRRQQQRQRRQRRRRQQQRRRQRRQRRRQQRRQRRRQRRRRQRQQRRRQRRRRRRRQRRRQRRRRRQRRRRRQRRRRQRRRQQRQQRRQRQRRQQRRRRQRRQRRRRRRRRRRRRRQRQRQQRRRQQQRQRQRRRRRQQQRQRRQRRRRRRQQRQRRRRRRQRRRRRRRRRRRQRRQRQRRRQQRRRRRQRRRRQRQRRRQRRRRQRRRRQRRRRRRQRRRQRRRRQRQRQRQRQRRRRQRRQRRRRQQRRRQQRQRRQRQQRQRRQRRRQQRRRRRRQQRRRRQRQQRRRQQQRRQRRRRRQRRQQQQRQRRRRRRQQRRRQQRQQQRRRRQRRQQRQQQQQRRRRQRRQRQRRRRRQRRRRRRQQQQQQRRQQQRQRQQQQQRRRRRRRQQQQQQRRRRRQRRRRQRQRQQRQRQRQQRQRRRQQRRQQRQRQQQQQQRRRRQRRRQRRQQQRRQRRRRQQRQQQRQRQRQRRRRRRRRRQRRRRRRQRQRRQQRRRQQRQRQQRRRRQQQRRQRRRQRQRRRRRRRQQRRRRRRRQQQQQRRQRRRRQQRRQRRRRRQRRRQRRQRRRRRRRQRRRRRQQRRQQRRRRRRRRQRQRRQQRQRQRQQRRQQQRRQRRQRQQQRQRRRRQRQRQQRQQRQQRQRRQRRQRRQRRQQQQRQQQQRRRRRRQRQRRRQRQRRRRQQQRRRQQQQQRRRRRQRRQQRRQRRQRRRQRRQQRRRRQQRRRRRRQQQRRQRRQQRQRRQRQQRRRQRRRRRRRRRRQQQRQQQQQRQQRQRRRRRQQQQQRQRRQQRRRRRQQRQRQRRQRQQQQRQQRRRRRQRQRQRRRQRRRQQRRQRQRQQQRRRRQRQRRQQRQQRQQRRRQRQRQRQQRQRRQQRQRQQQQRRQQRQQQRQQQQRQQRQQQRRRQRQQQRQQQRRRRRQRRRQRQRQRQRQQQQRRQQQRQRQRRQQRQQQQQQQQRQRRQQRRRQRQQQQRRRRRRRRRRRQRQQRRRRRQRQRRRRRRRRRQRQRRRRRRQRRRQRRQRRRRRRRRRRRRRRQRRQRRQRRRRRRQRRQQRRRRRRRRRRRRRRRQRRRRRQRRQRQRRRRRRRRRRRRRQRRRRRRRRRRRRRRRRRQRRRRRRRQRQRRRRRRQRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRQRRRRRQRRQRRRQQRRRRRRRRQRRRRRRRRRRQRRRRQRRRRRRRRRRRQRQRQRQRRRRRQRRRQRRRQRRRRRRRRRRRRRRQRRRRRRRRRRRRRRRRRQRRRRRRRRRRRRRRRRRRRQRRRRRRRQRRRRRRRRRRRRRRRRRRRRRRRRRQRRQRRRRQRRRRRRRRRRRRRRRRRRRRQRRRRRRQRRQRRRRRRQRRRQRRQRRRQRRRRRRRRRQRRRRRRRRRRRRRRRRRRRRQRRRRRRQQRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRQRRRRRRRRRRQRRRRRRRQRRRRRQRRRRRRRRQRRQRQRRRRRRRRRQRRRRRQRRRRRRRQRRRRRRRRRRRRRRRRRQRRRRRRRRRRQQRRRRRRRRRQRRRRRRQRRRRRRRQRRRRRRRQRQRRRRRRRRRRRRRRRQRQRRRRRRRRRRRRQRRQRRRRRRRRRRRRRRRRRRRRRQRRRRRQRRRRQRRRRRQQRRRQQRRQRQQQQQRRRRRRRRRRQRRRRRRRRQRQRRRRRRRRRRRRRRRRRRRRQRRRRRRRRRRRRRRRQRQRRRQRRRRQRRRRRRRRQRRQRRRRQRQRRRRRRRRRRRRRRRRQRRRQRRRRRRRRRRRRRRRRRRQRRRQRQRQQRQQRRRRRQRQQRRQRRRQRRRRRQRQRQRRRRRRQRRQRRQRRRRQRQRRRRRRRRRRRRRRRRQRRRQRRQRRRQRRRQRRRQRRRRRRRRRRRRRRRQRRRRRQRRRRRRRRRRRRQRRQRRRRRRRRQRRRRRRRQRRRQRRRRQRRRRRQRRQRRRRRRRRRRRQRRRRRRRRQRRRRRRQRQRRRRQRRRRRRRQRRRRRRRRQQRRQRRRRRRRQRRRRRRRRQRQRRRRRRRQRQRQRRRRRRRRRRRQRRRRRRRRQRRRRRRRQRRRRRQQRRRRRRRQRRRRRRRRRRRRQQRRRRRRRQRRRRRRRRQQRRRRRRRRRRQRRRRQRRRRRRRRRRRRRQRRRQRRQRRRRRRRRRRRRQQRRRRRQRRRRRRQRRRRRRQQQRRQRRRRQRQRQRRQQRQQRRRRQQQRQQRRRQRQQRRQRRQRRRRRRRRRRQRRQQRRRRRRRQRRRRRRRRRRRQRRRRRRRRQRRRRRRRRRRRQQRRRRQRRQQRRRRRRRRRRRRRQRRQQRRRRQRQRRRRRQRRRRRRRQQRRRQQRRRRRRRRRRRRQRQRQRQRRRRQRQRRRRRRQRRRQRQRRRQRRRRQQRRRRRRQRRRRQRRRRRRRRRQRRRRRQQRRQRRRQRQRRRRRQRRQQRRRRRRRQRRRRRRRRQRRRRRRRRQRRRRRRRQRQRRQRQRRRRRRRRRRRRRRRRRRRRQRRRRRRRRRRRRRRQRRRRRQRRRRRRQRRQQRRQRQQRRRRRRRRRRRRQRQQRQRRRRRRRRRRRQRQRRRRRRRRRRRRRRRRQRRRRRQRRRRRRRRRRRQRRQRRRRRQRQRQQRRRRRRRRRRQQRRRRQQRRRRRRQRRRRRRRRRRQRRRRRRRRRRQRQRRQRRQRRRRRQQRRRRRQRRQRRRRRQRRRRRQQRRRQRRRRRQQRRRQQRRQRRRRRRRRRQRQRRQQRRRRRQQQRRRQRRRQQRRQRRQRQRQQRRQRRRRRQQRQRRQQQQRQRRQQQRQRQRQRRQQRRQRQRQRQRQRRRRRQRRRRRRRRQQRRRRRQRRRRRQQQRQQRQQQRQRRQRQQRRRRRQRQRQQRRRRRQRRRQRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRQRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRQRRRRRRRRRRRRRRRRRRRRQRRRRRRQRRRRRRRRRRRRQRRRRRRRRRRRRRRQRRRRRRRRRRRRRRRRRRRQRRRQRRRRRQRRRRRRRRRRRRQRRRQRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRQRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRQRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRQRRQRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRQRRRRRRRRRRRRRRRRRRRRRRRQRRRQRRRRRRRRRRRRRRRRQRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRQRRRRRRRRRRRRRQRRRRRRRRQRRRRRRQRRRQRRRRRRRRRRRQRQQRRRRRRRRRRRRRRRRRRRRRRRRRRRRQRRRQRRRRRRRRRRRRRRRRRRRRRRRRRQRRRRQRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRQRRRRRRRRRRQRRRRRRQRRRRRRRRRRQRRRRRRRRRRRRRQRRRRQRRRRRRRRRQRRRRRRRQRRRRRRQQRRRRRRRRRRRRQQRRRQRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRQRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRQRRRRRRRQRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRQRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRQQQRRQRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRQRRRRRRQRRRRRRRRRRRRQRRRRRRRRRRRRRRRRRRRRRQRRRRRRRRRRRRRRRRRRQQRRRRRRRQRRRRRRRQRRRRRRRRRRRRRRRRRRRRRRRQRRQRRRRRRRRRRRRRRRQRQRRRRRRQRQRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRQRRRRQRRQRRRRRRRQRRRRQRRRRRRRRRRRRRRRRRRRRRQRQRRRRRRRQRRRRRRRRRRRRRRRRRRRRRRRRRRRRQRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRQRRRRRRRRRRRRRRRRRRRRRRQRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRQRRRRQRQRRRRQRRRRRRRRRRRRRRRRQQRRRRRRRRRRRRRRRRRRRRRRRRRRRQRRQRRRQRQQQQRQQRRRRRRRRRRRRRRRRRRRRRRRQRRRRRRRRRRRRRRRRRRRRRRRRRRQRRRRQRRRRRRRQRRRRRRRRRRQRRRRRRRRQRRRRRRRRRRRRRRRQRRRRRRRRRQRRRRRRRRRRRRRRRRRRRRRRRRRRRRRQQRRRQRRRRRRRRRRRRQRRRRQRRRRQRRRRRRRRRQRRRRRRRRRRQQRRRRRRRRRRQRRRRQRRRRRQRRRRRRRRRRRQRRRQRRRRRRRQRRQQRRRRRRQRRRRRQRRRRRRRRRRRRRRRQRRRRRRRQRRRRRRRRRRRRRRRQRRRRRRRRRRRRQRRQRRRQRRRRRRRRRRRRRRRRRRQRRRRQRRRRRRRRRRRRRQRQRRRRQRRRRRQQRRQRRQRRRRRRRQQRRRQQRRQQRRRRRRRQRQRRRRRRRQRRQRRRRQRRRRRRQRRRRRRRRRQRRRRRRQRRRRRRRRQRRRRRRRRQRRRQQQRRRQRRQRRRQRRRRRQQRRRRRQQRRRRRRQRRRRRRRRRRRRRRRRRRRRRRRRRSRRRRSRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRQRRRRRRRRRRRRRRRRRRRQRRRRRRRRRRRRRQRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRQRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRQRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRQRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRQRRRRRRRRRRRRQRRRRRRRRRRRRRRRRRRRRRRQRRRRRRRRRRRRRRRRRRRRRRRQRRQRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRQRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRQRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRQRRRRRRRQRRRRRQRRRRRRRRRRRRRRRRRRRQRRRRRRRRRRRRRRRRRQRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRQRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRQRRRRQRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRQRRRRRRRRRRRRRRRRRRRRRRRRRRRQRRRRRRRRRRRQRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRQQRRRRRRRRRRRRRRRRRRRRRRQRRQRRRRRRRRRRRRRRRRRRRRRRRRQRRRRRRRRRRRRRRRQRRQRRRRRRRRRRRRRQRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRQQRRRRRRRRRRRRRRRRRRRQRRRRRRRRRRRRRRRRQRRRRRRRRRRRRRRRRQRRRRRRQRRRRRRQQRRQRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRQRRRRRRRRRRRQRRRRRRRRRRRRRRRRQRRRRRRRQRRRRRRRRRRRQRRRRRQRRRRQRQRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRQRQRQRRRRRQRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRQRRRRRRRRRRRRRRRRRRRRQRRRRRRRRQRRRRRRQQRRRRRRRRQQRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRSRRSRRRRRSRRRRRRRRRRRRRRRRRRRRSRRRRSSSRRSRRRRRRRRRRRRSRRRRSRRRRRRRRRRRRSRRSRRRRRRRSRRRRRSSRRRRRRRRRRRRRRRRRRRRRRRRRRRRSRRRRRRRRRSRRRSRRRRRRSRRRRRRRRRSRRRRRRSRRRRRRRRRRRRRSRRRRRRRRRRSRRRRSRRRRRRRRRRRRRRRSRRSSRRSRRRRRRSRRRRRRSSRRSSRRSRSRRRRSSRRRRRRRRRRSRSRRRRSSRRRRRRRRRRSSRRRSRRRSRRRRRRRRRRRRRRSRRRRRRRRRRRSRRRRRSSRRRRRRRRRRRRRRSRRRRRRRRRRSRRRRRRRRRRRSRSRRRRRRRRRRRRRRRRRRSRRRRRRRRRRRRRSRRRRRRRRRRRRRRRRSRRRRRRSRRRRRRRRRRRRRRRRRRRRSRRRRRRRRRRRRRRRRRRRRSRRRRRRRRRRRRRRRRRRRRRRSRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRSSRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRSRRRRRRSRRRRRRRRRRRRRRRRRRRSRRRSRSRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRSRRRRRSRRRRRSSSRSRRRRRRRRRSRRRRRRRSRRRRRRRSRRSRRRRRRRRRRRRRRRRRSSRRRRRRRSRRRRRRRRRRRRRRRRRRRRRSRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRSRRRRRRRRRRRRRRRRSRRRRSRRRRRRRRRRRRRRSRRRSRRRRRRRRRRRRSRRRRRRRRRRRRRSRRRRRRRRRRRRRSRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRSRRRRRRRRRRRRRRRRRRRRRRRRSSRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRSRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRSRRRRRRRRRRRRRRRRSRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRSRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRQRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRQRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRQRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRQRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRQRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRSSRRRSSRSRRRRRRSRRRRRRRSSRRRRSRRRSSRRRSRRRRRRRRRSRRRRRSRRRRSRRRSSRRSRRRSRSSRSSRSSRRSRRRRRRRSRSSRSRSRSRRRSRRSRRRRRSSSRRSRSSRRRRSSSRRRRSSRRRRRRSRSSSRRRRSSSRRRSRSRSSRSRSSRSSSRRRRSRSSRRRRSRRSSRRRRSSRRRSRSRRRRRRSRRRRRRRSRSSRRRRRRRRRRRRRRRRRRSRSSRRRRRSSRRRRRSRRRRRRRSRRSSRRRRRRRRRRRRRSRSRRRRRRRRRRRRRRSSRRRRSSRRSSRRRRRRRRSSRRSRRSRRSRRSRRRRSSRSSSSRSRSRRRSRSRRRRSRSSRRRRRRSRRRRSRRSRRRRRRRRSRRRRSRRRSRSRSSRRRSRRRRRSRRSRSRRSRSRRRRRSRRSRSRRRRRSRRRRRRRSRRRSRRSSSRRSRRRRSRSRSSRSRRRSSRRRSRRRRSRRSSRRSSRRRRRRRSRRRRRSSRSSSRRSRRRRSRSRSRSRRRRRRRRRSRRRRSRSRSSRRRRRRRRSRRSRRSSRRRSRSRRRRRRSRRSRSRRRRRSRRRRSSRRRRRSRSRRSRRSRSRRRSSRSSSRRSRRRRSRSRRRRRRRRRRRRRRRRSSSRSRSRRRRRRRRRRSRRRRRRRRRRRSSRRSRRRRRRRRSRSSSRSRRSRRRRRRRSRRRRSRRSRRRRRRSRRRRRRRRSSRRRSRRRSRRSRRRRRRSSSRRRSRRSRSRRSSRSRRRRSRSRRRRRRRRRSRRRRSRRSRSSRSSRRRSRRRSSRRRRRRRRRRRRRRRRSSRRRRRRSRRSRRRRRRRSRRRRRRRSRSSSRSRRRRRRRSRSRRRRSRRSRRRSRRRRRSRRRRRRSRRRRSRRRRRRRRRRRSRRRSRRRSRRSRRRRRRRRRRRRRRRRRRRRRSRSRRRRSSRSRRRSRRRRRRRRSRRRRRSSRSRRRSSRRRRSRRRSRRRRRRRSRRSRRRRRRSRRRRRRRSRRRRRSRRRRRRRRRRRRRRRRSRRRRRRSRRRRRRRRRRRRRRSSRRRRSRRRRRRRRRRRRRRRRRRRRRRRRRSSRRRRRRRRRRRRRRRRSRRRRRSRRRRRSRRRRRRRRRRRRRRRRSRRRRRRSRRRRRRRRRRRRRRRRRRRRSRRRRRRRRRRRRRRRRRRRRSRRRRSSRRRRRRRRRRRRRRRRSRRRRRRRRRRRRRRRRRRRRRRRRRSRRRRRRRRRRRSRRRRRRRRRRRRSRRRRRRRRRRRRRRRSRRRRRRRRRSRRRRRRSRSRRRRSRRSRSRRRRRRRSRSSSRSRRRRRRRRRSSRRRRRRRRRSSRRRRRRRRRSRRRRRRRRRRSRRRRRSSSRSRRRRRRRSRSRRRRRRRSRRRSSRRRRRSRRRRRRRRRRRRRRRRRSSRSRRRRRSRRRRRRRRRRSRRSRRSRRRRSRRRRRRRRRRRRRRRRRRRRSRRRRRRRRRRRRRRRRRRRRRSSSRRRRSRRRRRRRRRSRRRRRSRRRSRRRRRRRRRSRRRRRRRRRRRRRRRRRRRRRSRRRRRRRRRRRRRRRRRRRRRSRSRRRRRRSRRRSRRRRRRRRRRRRRRRRRRRRRRRRRSRRSRRRRRRRRRRRRRRRSRSRRRRRRRRRRRRRRRRRRRRRRRSRRRRRRRRRRRSRRRRRRRRRSRRRRRRRRRRRRRRRRRRRRRSRRRRRRRRRRRRRSSRRRRSRRRRSRRRRRRSRRRRRRSRRRRRSRRRRRRRRRRRRRRRRRRRRSRRRRRSRRRSRRRRRRRRRRRRSRRRRRRRRRRRRRRRRRRRRSRRRRRRRSRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRSRRRSRRRRRRRRSRRRRRRRRRRSRRRRSRRRRRRRRRRRRSRSRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRSRSSRSSSSSRSSSSRRRSSRRRRSRRRSRSSRRRRSRSSRRSSSSRSSRSRSSRRRRSSRSSRSRRRSRSRSSSSRSSSRRSRSRSRSRRSRSSRSRRRSRRRRRSSSSSSRSSRRRRRSSRRSSRSRRRRRRSSRRSSRSRSRSSSSSRRRRRSRSRRRSRRRRSSRSSSSRRRSSRSRSRSRRSSSRRSSSSSSRSSRRRSRRRSRRSRRRRRSSRRSRSRRSSRRRRRRSRSRSSSRSRSSSSRRRRSRRSRRSSSRRRSRRRSSRSSRSRSSRSRSRRRRRRSSSRSRSRRSSSRRSSSRRSSSRRSRSSRRSSRSSRRSSRRRRRRRSSRSRRRSRSSSSRRRRSSRSSRSSRSSSRSRSRRSSSRSRSRRRSSRSRSRRRRSRSRSSRSSRSRRSRRSSSRRRRRSSSSRSRRRRRSRSRSSRRSRRSSRRSRRRSRSRRSRSRRSRRRRRSRRRRSSSSSRSRRRSRSSSRRSRSRSSRRSRRSSSSRRRRRRSSRSRSRRSRRRRSRSRRSRRSSRRRRRRRSRRSSRSRSSRSSRRSRRSRSSSRRSSSRRRRSRRRSRRSRSSRRRRSSRSRRSSRRRSRSSSRRSSRSRSSRRSSRRSRSRSSSSRRRSRRRSSRSRSRRRRSRSRSRRRRSSRRSRRSSRRSSRSRRRRRSRRRSRSRRSRRSSSRSRRRRRRRRRRSSSRSRSRRSSSRSSSRRRRRRRSRSRRRRRSSRRRRSRSRRSSRRRSSRSRRRRSRRRRSRRSSRSRSRRRRRRSRRRRSSRSSRRRRSSSRSRRRRRRRRRSRRRRRSRSRSSRRRRSRRSRRRSRSRRRSSRRSSSRSRRRRRSRSSSSSRRRRRRRSRSSRRSSRRRSSSSRSRRRRRRRSRSSRSRRSRRSRRSRRRSSRSRRRSSRRSSSRSSRRSSSRRSSSRSSRSSRSSSRRRRRSRRRRSSRSSRSRRSRRSRSRRSRRRRSSSRSRRSRRSRSRSSRRSRRSSRRRRRRRRRRSRRSRRRRRRRRSRSRRSRRRSRSRSSSRSSRRRRRSSRSRSRRSRSRRRSRSRRSRSSRRRRSRRRRRRSSRRSSRRSSSRRSRRRRSRRRSSSSRSSSSRRRSRRRRSRRRSRSRRSRRRSRSRSSSRSSRRRRRSRRSRSRRSRSRRRSRSRRSRSSRRRRSRRRRRRSSRRSSRRSSSRRSRRRRSRSRSSSSRSSSSRRRSRRRRSRRSSSRSSRRRRRRRSRRRRRSSRSSSRRSRRRRSRSRSRSRSRRRRRSRSRRRSSRSSRSRSRRRRRRSRSSSRSSSSRSRSSRRRRSSRRSSSRRRSRSRRRRSSRRRRSSSSSRSRRSSSRRRSSRSSRRRSRRRSSSSSRRRRRRRRRRRRRSRSSSRSRSRRRRRRRRRSSRRRRRRRRSRRSRRRSRRRRRRRRSRSSSRSRRSRRRRRRRSRRRRSRRSRRRRRRSRRRRRRRRSSRSRSRRRSRRSRRRSRSRSRRRRSRRRRRRRRSRRRRSRRRSSRRRSRRRRRRSRRSSRRRRRSSSSRRRSRSSRRRRRSRRRSSRRRRRRRRRSSRRRRSRRRRRSRSRRRSRRRSRSSRRRSSRRRRRSRRRRRRSSSRSSRRSRSRRSSSSRRRRRRRRRRSRSRSRRSSRRRRRRRRRRSSRRRSRRSSRRRRRRRRRSRRRRSRRRSSRRRRRRSSRRRRSSRRRRRRRRRRRRRRSRRRRRRRRRRSRRRSRRSRRRRSSSRRRRRRRRRRRRRRSSRRRSRRRSRRRRRSRRRRRRRSRRRRRRRRRRSRRSSRRRRRRRRRSRRRRRSRRRRSRRRSRRRSRRRSRSSRSSRRSRRRRRRRRRRRRSSRSRSRSRRRRRRRRRRRRRRRRRRRRSRSRRRRRSRSRRRRRRRRRRRRRRRSRSSRRSRRRSRRRRRSRRRSRSSRSSRRRRRRRRRRRRRRRRRRSSRSSSRSSSRSSSSSSSRSRSSRSSSSSSSSSSSRSRSSRSSSSRRSSSRSSSSSSSSRSSSSRSSSSRRSRRSSSSSSSSRSSSSSRSRSSSSSSRSSSSSRRRSSSSSSSSSRSSSSRSSRSRSSRRSRSSSSSSSRRRSSSRSSSSSSRSRRRRSRSSSRSSSRSSSRSRSRSSSSRSSRSSSSSSRSSSSRRSRRSRSRSRSSSSRSSSSRSSSSRSSSRSSSSSRSSSSRSSRRRSSSRRSRRRSSRSSRRRSSRSRSRRSSSRRSRSSSSRSSSSRSRRRSSSSSRSSSSRSSSSSSSSRSSRSRSSRRRSRSSSRSSSSSSSRSSSSSRSSSSSSSSSSSSSRSRRSSSSRSSRSRSSRSRSSSSSRSSSRRRSSSSRRRSSSRSSSSSSRSSSRSSSRSSSRSSRSSSRSSRSSSSRSSRSRRSRSRSSSSSSRSSSRRSSSRSSSSRRRSSSSRSSRSSSSSSSSRSSRSSRSRRSSSSRSSRSSSSSSSSSSRSSSRRRSSSSSSSSRSRSRSSSSRRRRSSSSRSRSSRSRSSRSRSSSRRSSRRRRSSRSSSSRSSSSRSRRSRRRSSSRSSRSRSSSSSRRRSSRRSSSSSRSSSSSSSRRSRSRSRRRRSSRRSRSRRRSSSSRRSSRRRSRRSRSSSRSRSSSRRRSSSRRRSSSSRRSSSSRSSSRSSSSSRRSRSSRSRRRSRSSSSSSRSRSSSRSSRSSSRSRRSSRSSSRSRRSRRSSSSSSRRRRRSRSRRRRRSSSSSSRRSRRRRSRSRSRSRSSRSSRSRSRRRSSRSSSSRSRRSRSSSRSSSRSSSSRSSSSSRRRSSSSSSSRRSSRSSRRRSSSRSSSSSSSRSSRSSSSRRSSSSSSRSSRSSSSSSSSSSRSSRRSRRRSSRSSSSSRSRRRSRRRRRSSRRSSSRRSSRSSSRSSRSRRRRSRSRSSSRSSRSRRSRRSRSRRRSSRSSRSRRRSSRRRSSRRSSSRSRSRRRSSSSSRSSRSRSRRRSSRSRSRRRRSRSRSSRSSRSRSSRRSSSRRRRRSSSSRSSRRRRSRSRSSSRSRRSSRRSRRRSRSRRSRSRRSRRSRRSRRRRSSSSSRSRRRSRSSSRRSRSRSRRRRSRSRSSRSSRSRSSRRSSSRRRRRSSSSRSSRRRRSRSRSSSRSRRSSRRSRRRSRSRRSRSRRSRRSRRSRRRRSSSSSRSRRRSRSSSRRSRSRSSRRSRRSSSSSRRSRRSSRSRSRRSRSRRSRSRRSRRSSSRRRRRRSSRSSRSRSSRSSRRSRRSRSSSRRSSSRRSRSRRRSRRSRSSRRRRSSRSRRSSRRRSRSSSRSSSRSRSSRRSSRRSRSRSSSSRRRSRSRSSRSRSSRRRSRSRSRRRRSSRRSRRSSRRSSRSRRRRSSSRRSRSRRSRRSSSRSRRRRRRRRRRSSSRSRSRRSSSRSSSRRSRRRRSRSRRRRRSSRSSRSSSRRSSRRRRSSSSSRRRSRRRSSSSRSSSSRRSRSSSSRRRSSRRRRRSSRSSSRRRSSSSRSSSRSRSSRSRSSSSSSSRRRSSSSSRRRSRRSSRRRRSSRRSSRSRRRRRRSRRRRSRSSSSSRRRSRRRRRRRRRSRRSRSRSSRRRRRSSRRSRRSRRSRRRRSSRSSSSRRRRSRRRRRRSRSRRSRRRSRRRRRRRSSRRRRSSRRSSRRRRRRSRSSRRSRRSRRSRSSRRRRSSRRSSSRSSSRRRSRSRRRRSRSSRRRRRRSRSRSSRRSSRSRSSSSRRRSSRRRRSRRRSRSRRRRRSRSSRRSSSSRSSRSRSSRRRRSSRSSRSRRRSRSRRSRSRSSSRRSRSRSRRRRSRSRRSRRRRRRRRRSSRRSSRRRRRSSSSRRRSRRRSRRSRSSSRRRRSSRRRSRSRRRSSSSRRSSRRRRRRRSRSRRRRRRRSRSRRRRRSSRRSSRRRSSSSSSSSSSSSSSSSSSSSSRSSSSSSSSRSSSSSSSSSSSSSSSSSRRSSSSSSSSSSSSSSSSSSSSSSRSSSSSSSSSSSSSSSSRSSSSRSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSRRSSSSSSSSSSSSSSSSSSSSSRSSSSSSSSSSSSRSSSSSSSRSRSSSSSSSSSRSSSSSRSSSSRRSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSRSSSSSRSRSSSSSSSRSSSSSSSSSSSSSSSSSRSSSSSSSSSSSSRSSSSSSSSRSSSSSSSRSSSSSSSSSSSSSRSSSSSSSSSSSRSRSSSSSSRSSSSSSSSSSSSSSSSRSRSSSSSSSSSRSSSSSSSSSSSSSSSSSSSSSSRSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSRSSSRSSSSSSSSSRSSSSSSSSSSSSSSSSSSSRSSSRRSSSSSSSRSSRSRSSRSSSSSSSRRSSSSSSSSSSRSSSRSSSRRSRRSSSSSSSRSSSSSSSSSSSSRRRRSSSSSSSSSSSSSSSRRSSSSSSSSSSSSRSSSRSSSSSRSSSSSRSSSSRSSSSSSSSSRSSSRSSSSSSSRRSSSSSSSSSSSSSSSSSSSSSSSSRRSRRSSSSSSRSRSSSSSSSSSSSSSSSSSSRSRSSSSRRRRSRRSRRSSSSSRRSSSSSSSSSSSSSSRSRRSSSSSSSSSRSRSRSRSSRRSSSRSSRRSSSSSSSSSRSRSSSSSSSRRSSSSRSSSSRSSSSSSRRRRSSSSSSSRSRSSSSSRRSRSSRSSSRRSSSSSSRSSSRSRSSSSSRRSRSSSSSSSSRSRSSSSSSSSSRSSSSSSSSSRSRSSSSSSSSSSRSSSSRSRSSSRSSSSRSSSRSSSSSSSRSSRSSSSSRSSSSSSSRSSSSSSSSSSSRSSRSRSRSSSRSSSSSSSSRSSSRSSSSSSRRRRSSSRSSRSSSSSSSSSSRSSSSSSRSSSSSRSSSSRRSSSRRRRSSSRSSSSSSSSSSRSRRRSSSRSSRSSSRRSSSSSSSSSRSRRSSSRSSSSSSSSSSSRSSSSSSSSRSRSSSSSSSRSSSSSSSSRSSSSSRSSSRRRRSSSRSSSSSSSSSSRSSRRSSSRSSRSSSRRSSSSSSSSSRSRRSSSRSSSSSSSSSSSRSSSSSSSSRSRSSSSSSSRSSSSSSSSRSSSSSRSRRSSSSSSSRSSSSSSSSSSRSSSRRRSSSSSSSSRSSSRSSSSRRRSSSSSRSRSSRSSSSRSRSSSRSRSSSRRSSSSSSSRSSSSRSRSSRRRSSSRSSRSRSSSSSRRRSSRRSSSSSSSSSSSSSRRSRSSSRSRRSSSRRRSSRRSSSSSRSSSRRSSSSRSSSRSRSSSSRSSSSRRRSSSSSRSSSSRSSSRSSSSSRRSSSSRSRRRSRSSSRSSRSRSSSRSSRSSSRSRRSSSSSSSSSRSRRSSSSSSRSSSRSSRSRRSSSRSSRSRSRRSRSSSRSSSSRSRSSSSSRRRRSSRSRRSSRRSRSSRSSSSRRRSSSSRSRSSRSSSSRSSSSSSRSSRRRSRRRSSRSRRRRRSSRSSRSRRSSRRRSSRSRSSSSSSSRSSSSRRSRSSRSRRSSSSSSSRRRSSRSSRSRSSRSRSRSRRRRSSSSSRSSRSSSRRSSSSRSSSRRSRSSRRSSRSSRSSSSRSSRRRSSSSRRRSRSSSSRRRRSSRSSSSSRSSSSSRSRRSSSRSSSRRSRRSSSSSSSRRRSSRRSSSRSSSRSSRSRSSRSSSSRRSRSRSSSSSRSSRSSSSRRSSSRRRRRRSSSSSSSRRSSRSRSRSSSSSRRRSRSSRRRSSSRSSSSSRSSRSSSRSRRSSRSSSRSRRSRRSSSSSSRRSSRRSRSSSRRRSSRSSSSSRSSSSSRSSSRSSRSSRRSSSSSSRSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSTSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSRSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSRSSSSSSSSSSSSSSSSSSSSSRSSSRSSSSSSSSSSSSSSRSSSSSSSSSSSSRSSSSSSSSSSSSSSSSSSSSSSSSSRSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSRSSRSSRSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSRSSSSSSSSSSRSSSSRSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSRSSSSSSSSSSSSRSSSSSRSSSSSSSSSSSSSSSSRSSSSSSSSSSSSSSSSSSRRSSSSSSSSSSSSSSSSSSSRSSSSSSSSSSSSSSSSSSSSSSSSSSSSRSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSRSSSSSSSSSSSSSSSSRSSSSSSSSSSSSSSSSSSSSSSSSSSRSSSSSSSSSSSSSSSSSSSSSRRSSSSSSSSSSRSSSSSSRSSSSSSSSRSSSSSSSSSSSSSSSSSSRSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSRSSSSSSSSSRSSSSSSSSSSSSSSSSSSSRSSSSRSSRSSSSRSSRSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSRSSSSSSSSSRSSSSSSSSSSSSSSSSSSSRSSSSRSSRSSSSRSSRSRSSRSRSSSSSRRSSSSSSSSSSSSSSRSSSRRSRRSRSSSSSRSSSSRSSSSSSSSSRSSSSSSSSSSSSSSSSRSSSSSSSRSSSSSSSSSRSSSSSSSSSSSRSSSSSSSSSSSSSSRSSSSSSSSSSSRSSSSSSSSSSSSSSSSSSRRSSSRSSRSSRSSSSSSSSRSSRSSSSSSRSSSSSSSSSSSSSSSRRSRSSRSRRSSSSSSRSSSSSSSSSSSSSSRSRSSSSSSSSSSSSSSSSRSSRSSSSSSSSSSSSSSRSSRSSSSSSSSSRSSRRSSSSSSSSSRRSSSSSSSSSSSRSSRSSSRSRSSSSSRSSSSSSSRSSRSSSSRSSSSSSSSSRSRRSRRSRSRSSSSSSSSRSSRSSSSRSSSRSSRSRRSSSSSSSRRRSSSRRSRRSSSRSSSRSSSRSSSSRSSSSSSRSSSSSSSSSSSSSSSSSSSRSSSSRSSSSSRSSSSSSSRSSSRSSRSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSRSRSSRRSSSSSSRSSSSSSSSSSSSRSSSSRSSSSSSRSSSRSSSSRSSSSSSSSSSRSSSSSSRSSSSSSSSSSSSSSSSSSSSSSSRSSSSSSSSSSSRRSSSRSSSSSRSSSSSSSSSSSSSSSSSSSSSSSSSRSSSRSSSSSRSSSRSSSSSSSSSSSSSSSSSSSRSSSSRSSSSSSSRSSRSRSSRSRSSSSSSRSSSSSSRSSSSSSSSTSSSSSSSSSSSTSSTSSTSSSSSSSSTTSSSSSSSTSTSSTSSSSSSTSTSSSSSSSSSSSSSSSSSSSSSSSSTSSSTTSSSTSTSTSSSSSSSSSSSSSSSSSSTSSSSSSSSTSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSTSSSSSSSSSSSSSSSSTSSSSSSSSSSSTSSSSTSSSSSSSTSSSSTSSSSSSSSSSSSSSSTSSSSSSTSSSSSSSSSSSTSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSTTSSSTSSSSTSSSSTSSSSSSTSSSSSTSSSSTSSSSSTSSSSSSSSSSSSSSSTSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSTSSSSSSSSSSSSTSSTSSSSSSSSSTSSSSSSSSSSSSTSTTSSSSSTSSTTSSSSSSSSSSSSTSSSSSSSTSSSSSSSSSSSSSSTSTSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSTSSSSSSSSSSSSSSSTSSSSSSSSSSSSSSSSSSSSSSTSSTSSSSSSSSSSSTSSSSSSSSSSTSSSSSSTSTSSTSSSSSSSSSSSSSTSSSSSTSSSSSSTSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSTTSTSSSSSSSSSSSSSSSSSSSSSSSSSSSSTSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSTSSSSSSSSTSSSSSSSSSSSSSSSSSTSSSSSSSSSSSSSSSSSSSSSSTSSSSSSSSSSSSSSSSSTSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSTSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSTSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSTSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSTSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSTSSSSSSSSSSTSSSSSSSSSSSTSSSSSSSSSSSSSTSSSSSSSSSSSSSSSSSSSSSSSSSSSTSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSTSSSSSSSSSSTSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSRSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSRSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSRSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSRSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSRSSSSRSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSRSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSRSSSSSSSSSSSSSSRSSSSSSSSSSSRSSSSSSSSSSSSSSSSRSSSSSSSRSSSSSSSSSSSSSSSSSSSSSSSSSSSSSRRSSSSSSSSSSSSSSSSSSSSSSSSSSSSRSSSSRSSSSSSSSSSSSSRSSSSSSSRSSSSSSSRSSSSRSSSSSSSSRSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSRSSSSSSSSSTTTTTSSSSSSTSSTTSSSTSSSTSSSSSTSSTSTSTSTTSTSSSSSSSTSSSSSSSSSSSTSSTSSSSSTSSSSSTTTTTSSTSSSSSTSSSTSSTSSSTSSSSSSSSSSTSSTSSSTSSSSSSTSSSSSSTSSTSSSSTSSTSSTSTTSSSSTSSSSSSSSSSSSSTTTTSSTSSSSTTSTSSSTSSSTTSTSSSTSSTSTSSSSSSSSSTTSSSSTTTTTSSSSSSTTTSSSSTSTSSSSSSTSTSSSSSSSTSSTSSTSSSSSSSSSTTSSSSTTSSSSSTTSSSTTSSSSSSTSSSTSTSSSSTSSTTSSSTSSSSSSSSSSSTSSSSSSSSSSTSTSTSSSSSSSSSSTSSTSSSSSSSTSSSTTSSTSSSSSSSSTSTSSSSSSSSSSTSSSSSSSSSTSTSSSTSSSSSSTSSTSSSTSSSSSSSSSSSSSSSSTTTSSSSSTSSTSSSSTSSSTSSTSSTSSSTSSTSTSSSSSSSSSSSSSSSTSSSSSSSSSTSSSTTSTTTSSSTSSSSSSSSSSSSSSSTTSSSSSSSSSSSSSSTSTTSSSSTTSSSSSSSSSTSSSTSSTSSSSSTSSSSTSSSTSSSSSSTSSSSSSTTSSSSTSTSSSSSSTSSTSSTSTSSSSSTSSSSSSSSSSSSTSSSTSSSSTSTTTSSSSSSSSSSSSTSTSSSSSSTSSTSSSTSSSTTSSTSTTSSSSSSSSSSSTSSSSSSSTSSSTSTTSSSSSSSSSSTTSSTSTSTSSSSSTSSSSSSTSSSSSSSSSSSSTSTSTSSTSSSSTSSSSSSSTTSSSSSSSSSTSSSTTTSSTSTSSTSSSSSSSSSSTSSSSTSSSSSSSSSTSSSSSTSSSSSTTSSSSSSSSTTSSSSTSTSSSSSSSSTSSSSSSTSSSSSSSSTSSSSSSSSSTSSSSTSSSSTSSSTTTSSSSSTSSTSSTTSSSSSTSSTSSTSSSSSSSSSSSTSSSSSSTSSSSSSSSTTSSSSSSSTSTTSSTSSSSSTSSSSSSSSSSSSSSSTSSSSTSSSSSSSSSSTSSSTSSTTTTTSTSSTSTTTSSSSSSSSTSSSSTSSTSSSSSSSSSSSSSSTSTSTSTSSSSTSSSSSSSSSSSSSSSSSSSSSTSSSSTSSSSSSSSSSTSSSTSSTSTTSSTSSSSTTSSSSSSSSSTSSSSTSSTSSSSSSSSSSSSSSSSTSTSTSSSSSSSSSSSSSTSSSSSSSSTSSSTSSSSSSSSSSSSSSSTSSSSSSSSSSSSTSSSSSSSSSSSSSSSSTSTSSSSSSSSSSSSTSSSSSSSSSSTSSSSSSSSTSSTTSSSSSSSSSSSSTSSTSSTSSSSSTTSSSSSSSSSSSTSSSSSSSSSSSSSSTSSTSSSSSTSSSSSTSSSSSSSSSSSTTSSSTTSSSSSSSSTSSSSSSSSSSSTSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSTSSSSSSSSSSSSSSSSSSSSSSSSSSTSSSSSSSSSSSSSSTSSSSSTSSSSSSSSSSSSSSSSSSSSSSSSSSTSSTSSTSSSSSSSSTTSSSSSSSSSSSTSSSTSSSSSSSSSSTSSSSTSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSTSSSSTSSSSSSSSSSSTSSTSSSSTSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSTSSSSSSSSSSSSSSSSSSSTSSSSSSSSTSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSTSSSSTSSSSSSSSSSSSSSSSSSSSSSSSTSSSSSSSSSSSSSSSSSSSSTSSSSSSSSSSSSSSSSSSTSSSSSSSSSSSSTSSSSSSSSSSSSSSSSSSSSSSSSSSSSSTSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSTTTSTSSTTSTSTTSSSTSTSTTSTSSSTTTTTTTTTSTSTSSTTTSSSTSTSSSTTTTSSTTSSSTSSTSSSTTSTTTTSSSSTTTTSTSSTTTSSTSSTTSSSTSSTTTTSSSTSTTSTTSTSSSTTSTTTTTTTSSTTTSSTTSSSTTTTSTTTSSSSSSTSTSTTSSSSTSSSSSTTTTTSSSSSSSTTTSTTTTSSSSSSSSSTSSSSTSTSSTTSSSSSTTSTTTSSTTTTTTTSSSTSSTTSSSTSTSSSTSSSTSSSTTSSTSTSSSSSTTSTSSSSSSTSTSSTTTSSTSSTTSTSTSSTSTTTSSSSSTSSTSSSSTTTTSSTSSSTTSSTTTSTSTTSTTTTTSSTSTSSSSSSTSTSTSSTTTTSSSTSSSTSTTTTSTSTTSTTTTTSTTSSTTSTSTSSTSSSTSSSSSTTSSSTSSSSTSTTSTTTTTSTTSTSSTSTSSTSSSTSTSSSTTSTSSTTTSSTSSSTSTSSTTTSSSTTTSTTSTSSSTTTSTSSTTTSTSSTSTTSSSSSSTTTTSTTSTSTSTSSSTTSSSSSTTSTTSTTTSTTTSSTSTTTTSSSSTTSSSSSTSSSTSTSTTTTSTTSTSSSSTTSTTTSTTSSTTSSTSSTTSSSSSSSTSTSTSSSSSTSTSSTSSTTSSSSTSTSTSSSSTTTTSTSTSTTSTSSSSTTTSSSTTSSTSTTTTSTTSSTTSSSTSSSTTSSSSSTSSSTSSSSSSSSTSSSSTSTTSSSTSSSTSTTSSSTTSTSTSSSTSTSSTSTSSSTSTTSTSTSTTSSSSTSSSTSTTTSSSSTSSSSSTSSTSTSSTSSTTSSTSSTSTSSSTTSSSSTSSSTSSTSSTSSTSSSSTTTSSSSTSSSSTTTSSTSSSSSSSSSSSTSSTSTSSSTSTSTSTSTSSSSSSSSTTTSTSSTSSSSSSSSTSSSSSSTSTTTTSSTSTSTTTSSSSTTSSTSTSTSSSSSSTTSSTTSSTTSSSSSSSTSSSTSSTTTTSSSSSTSSSSSTSTTSSTSSSSSSTTTSTSTSSSTSTSSSTSTSSSSTSTTSSSTSSTSTSSSSSTSSTTSTTTSSSSSTSSTSSSSTSTSTSSTSSTSSSTSSSSSSSSSSTSTTSSTSSSSSSTSTSTSSSSSTSTSSSTSTSSSSTSTTSSSTSSTSSSSSSSTSSTTSTTTSSSSSSSSTSSSSSSTSTSSTSSTSSSTSSSSSSSSSSSSSSSSTSSTTSSSSSSSSSSTSSTSSSTTSSSTSSSSSTSSSSSSSSSTTSSSSSSSSSSSSTSTSTTSSSSTTSSSSSSSSSTTSSTSSTSSTSSTSSSSTSTTTSSSSSSTSSSSTSTTSTSSTSTSSSSSSTTSTSSTSSSSSTSSSSSSSSSSSSSSTSSSTSSSSTSSSTSSSSSSSSSSSSSSTSTSSSSTSSTSSSTTSSTSSSSSTTSSSSSSSSTTSTSSSSSSSTSSSTSTTTSSTSSSSSSSTSSTTTTSSSTSSSSSSTSTSSTSTSSSSSSSSTSSSSSSSSSSSSSSSSSSTSSSSSSSSTSTSSSSSSSSSSSSSTTSSSTSSTSSSSTSSSSTTSSSTTSTSSSTSSTSSSTSTTSSTSSSTSSSSSSTSSSSTSTTSTSSSSSSSSSSTSSSSSSSTSSSTTSTTSSSSSTTSSTTSSSSTSSSSTTSSTSSTSTTTSTSSSSSSSTSSTSSSSSSSSSSSSSSTTSSTSSSSSSSSSSTSSSSSSSTSSSSSSSTSSSSSSSTSTTSSSSSSTSSTTSSSSSSSSSSSSSTSSSSSSTSSTSTSSSSSSSSSSSTSTSSSSSSSSSSSSSSTSSSSSSSTTSSSTSSSSSTSSSTSSTSSSTSSSSSSSSSSSTSSSTTTSSTSSSSTSSSSSSSTSSSTSSSSSTSSTSTSSSSTTSSSSSSSTTSSSSSSSSSSSSSSSSSSSSSSSSSSTSTTSSTTTTTSTTTSTTSSSTTTTSTTTSTSTTTTTTTTSTSTSSTTTTTTTTSTTTTTTTTSTTSTTTTTTTTSTTSSSTTTTTSSTTTTTSTTTTTSSSSTTSSTTTSTSSTTTTTTTTSTTSSSSSSTTTTTTSTTTTTTSSTTSTTTTTTTTTTSTSTSTTTTTTTTTTTTSTSSTTTTSSTTSSTTSTTTTSSTSSTSTSTTSSSSTTTTSTSSTSSSTTTTSSSTSSTSTTTTSSSTSTTTTSSSTTSSSTTTTTSSSTTTSTTTSSSSSTSSTSTSTTSTTSSSSSSTTTSTTSTSSTTTSTSTTTTTSTTTSTTTTTSTTTSTSSTTSSTTSTSTTSSSTTTTSSSSTTSTTTSTSTSSTTSSTTTSTTTTSTTSTSSTTSSTTTTSTSTSSSSTTSTTSTTTSTTTTTTTTTSSTTSSTSSTTTTTTTTTTTTSTTTTTSTTTTTTSSTSTTTTSSTSSSTSTSSTTSTTSTSTTTTTTSTSTTSSTTTTTTSTSTSTTSTSSSSSTTSTTSSTSTSTTSSTSTTTSSSTTTSTTTTTTTSTTSSTTSTSSSSSSSTSSTSTSTSTSTSSSTTSSTSTSTSTTTSSSTSTSTTTSTTSSTTTSSSTSTSTSSTTTTTTSSTTSTSSTSTSTTTSTTSTTSSTSTSSSSSSSTSTSTSSTSTSSTTTTSTTTTTTSTTTTSSTTSSSTTTSSTTTTSSTTTSTSTTSSTTTTTTTTSSSSSTTTSSTTSTSSSTSTSTTSTTSTTTSTTSSTTSSTTTTTTTSSTTTTSSTSSSSTSTSTTTSSSSSSSSSTTSTSTSTTSSSSTTSTSSSTTTSTTSSTSSTSSTTSTSSTTTSTTTSSTSSSTSTSTTSTTSTSSTSTSTSSTSTTTTSSTSTSTSTTTTSSSSTTTSTTSTTSSTTSSSTSTTTSTSSSTTSSTSSTTTSTSSSSTSSTSSSTTSSTTTSTTTTTSSTSSSTTTSTSSTSSSSTSSTTSTTTSTTTTTSSTSTSTTTTTSSSTSSSTTTTTTSTSTTTTTTTTSTTSSTTSTSTSSTSSTTSSSSSTTSSTTSSSSTSTTTTTTTTSTTTTSSTSTSSTSSSTSTSSSTTSTSSTTTSSTSSSTSSSTTTTTTSTSTTSTTTTTSTTSSTTSSSTSSTSSTTSSSSSSTSSTTSSSSTSTTTTTTTTSTTTTSSTSTSSTSSSTSTSSSTTSTSSTTTSSTSSSTSTSSTTTSSSSTTSTTTTSSTTTTSTSSTTTSTSSTSTTSSTSSSTTTTSTTSSSTSTSSTTTSSSSTTTSTTSTTTSTSTSSTSTTTTTSSSTTSSSSSTSSSTSTSTTTTSTTSTSSSSTTSTTTSTTSSTTSSSSSTTSSSSSSSTSTSTSSSSSTSTSSTSSTTSSSTTSTSTSSSSTTTTSTSTSTTSSSSSTTTTSSSTTSSTSTTTTSTTSSTTSSSTTSSTTSSTSSTSTSTSSSSSSSSTSSSSTTSSTTTSTTTTTSSTSSSTSSSSSSTSTSTSSTSSTSSSSTTSTSSTSTTTTSTTTSSSSSTSSSSTSTTTTSSTSTSSTTSTSSSTSSTSTTTSSSTSTTSTTSTSSTSSSTTSSSSTTTTTSSTSSSTTTSSSSTSTSSSTSSTSTSSSTSTSTSSTTSTSSSSSSSSSTTSSSSTTSTTSTTTSSSTTSSSSSSTTSTTTTSSSSTSSTTSSSTSSSSSTSSSTTTTSSSSSSTSSTTTTTTTSSTTSSSTTSSTSTTSSSSTSSSTSSTSSTTSTSTTSSSTSTSTTSTSTSTSSTTTSTTSTSTSSTTTSSSTSTSSSTTTSSSTSSSSTSSTSSSSSSTTSTSSSSSTSTSSSSTTTTSTSSSTSSSTTSTTSTTTSSTTSTTTTTSSSSSSTTSTTSSSSTSSSSSSSSSSSSTTTSTSSSTTSSTTTSTSSSTSSSSTSSSSTSSSSSTSSTSTTTTTSTTTTTTTSTTTTTTTTTTSSTTTTTTTTTTTTTTTSTTTSSTTTTTTTTTTTTTTTTTTTTTSSTTTSTTTSTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTSTTTSTSTSTTTTTSTTTTSTTTTTTTTSTTTTSTTTTTTTTTTTTTTTTTTTTTTTTSSTTTSTTTTSTTSTTTSTTTTTTTSTTTTTTTTTSTTTTTTTTTTTTTSTSTSTSTSTSSTTSTSTTTTTTTTTTTSTTTTTTTTTTTTTTTTTTTSTTTTTTSTSTSSTTTTSSTTSTTSTTTTTTSTTTTTSTTTTTTTTTTTTTTTTSTTTSTTTTTTTTTTTTTTTTTTTSTTSTTTSTTTTTTTTSTSTSTTTTTTTTTTSTSSTTTSTSTTSTSSTTTTTTTTTTTTTTTTTTTTTTTTTTTTSTTTTTTTSSTTTTTTTSTTTTTTTTTSTTTSSSTTTTTTSSTTTTTTTTTTTSTTSTTTTTTTTTTTSTTSSTTTTTTSTSSTTSTTTSTSTSSTTTSTSTTTSTSSTSTTSTSTTTSSSSSSSTTTTTTTTTSSTSSSTTTTTTTSTTTTSTTSTTTTSTTTSTTTSTTTTTTTTTTTTTSTTTTTTTSTTTTTTTSTTTTTTTTSTTSTTSTTTSTTTTTTTSTTTTSTSTTTTTTTTTTTSTTTTTSTTTTTSSSSTTTTTTTTTSTTTSTTTTTSSTTTSSSTTSTTTSTTTSTSTSSSTTTSSTTTTSTSTSTSSTTTSTTTTTTTTTTSSTTTTSTSTTTTSTTSTTTTSTTTTSTTTTSTTTTSTSTTTTTTTSSTTTTTTTTTTTSTTTTTTTTTTTTSTSTTSSSTSTSTSTTTSTTTTTTTTTSSSTTTTTTTSTTSTTTTTTSTTTSTTTTSTTTTTTSSTSSTSTTTTTTTTSSTTTTTTTTSTSTTTTTTTTSTTTTTSSTTTTTSSTTTTTSTTTTTTTSTTTTTSTTTTTTSSTTTTTTSTSSSSTSTTTTSSSTTSTTTTTTTTTTTTSTSSTTSSTTTTTTTTSSSSTTTTTSTTTSTTTTTTTTTSSTTSSTSSTTTTTTSTTTTTSTTTTTSTTTTTTSSTTTTTTSSTSSSTSTSTTTSTTSTTTSTSSTTSSTTTTTTTTSSSSTTTTTSTTTSTTTTTTTTTSSTTSSTSSTTTTTTTTTTTTSTTTTTSTTTTTTSSTTTTTTSSTSSSTSTSTTTSTTSTSTTTTTTSTSTTSTTTTTTSSTSTTTTSTSSSSTTTTTTSTTSTTTTTSTSTTTSSSTTTSTTTTTTTSTTSSTTSTSSSSTSSTTSTSTSTSTSTSTTTTSSTTTSTSTTTSSSTSTSTTTSTTSSTTTSSTTSTTTSSTTTTTTSSTTSTSSTTTSTTTSTTSTTSTSSTSSSSSSSTSTSTSSTSTSSTTTTTTTTTTTSTTTSSSTTSSSTTTSTTTTTSSTTTTTTTTSSTTTTTTTTSSSTSTTTSTTSTTSSSTTTSTTTTTTTSTTTTTSTSSSTTSTTTTTTTTSTTTSSTTTSTTTTTTTTTSSTSSSTTTSTTSSSSTSSSSSTTTTTSSSSSSSTTTSTTTTSSSSSSSTSTTSSSTSTTSTTSSSTSTTSTTTSSTTTTTTTSSTTTSTTSSSTSTSSSTSSSTSSTTTSSTTTSSSTSTTSTSSTTSSTSTTTTTTSTTSSTTTTSTSSTTTSTSSSTTTSSTTSTSTTTTSTTSSSTTSTTTTTTSTTTTTTTTSSTSTTTSSSTTTSTTSSTTTTSSTTTSTTSSSTTTTSTTTSTSTTTTTTTTSTSTSSTTTTTTSTSTTTTTTTTSTTSTTTTTTTTSTTSSSTTTTTSSTSTTTSSTTTTSSSSTTSSTTTSTSTTTSSSTSTSTTTSTTSSSTTSSTSSSTTTTTTTTTTSSSSTTSTSSSSTSSTTSTSSTSTSTSTSTTTTTSSSTSTTSTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTSTTTSTTTTTTTTTSTTTTTTTTTTTTTSTTTTTTTTTTTTTTTTTTTTTTTTTTTSTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTSTTTTTTTTTTTTSTTTTTTTSTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTSTTTTTTTTTTTTTTTTTTTTTTTTTTTTSTTTSTTTTTTTTTTTTTTTTTTTTTTTSTTTTTTTTTTTTTTTTTTTTTTTTTTTTTSTTTTTSTTTSTTTTSTTTTTTSSTTTTSTTTTTSSTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTSTSTSTTTTTTTTTTTTTTTTTTTTTTTSTTTTSTTTTTTTTTTTTTTTTTTTTTTSTTTTTTSTTTSTTTTTTTTTTTSTTTTTSSTTSTTTTTTTTTTTTTSTTTSTTTTTTTTTTTSSTTSTTTTTTTTTTTTTTTTTTTTTTTTTTSSTTTTTSTTSTSSTTTTTTTTTTTTTTTTSSTTSSTTTTSTTTTTSSTTTTTTTTSTTTTTTTTTTSTTSTTTSTTTTTTTTTTTTTTTTTTTSTTTTTTTTTTTSTTSTTTTSTTTTTSTTTTTTSTTTTSSTTSTTTSTTTTTTTTTTTTTTTSTTTTTTTTTTTTTTTTTTTTTTTTTTTTTSTTTSTTTTTSTTSTSSTTTTTTTTTTTTTTTTTTTTTTTTTTTTSTTTTTTTSSTTTTTTTSTTTTTTTTTTTTTSSTTTTTTTSSTTTTTTTTTTTSTTSTTTTTTTTTTTTTTSSTTTTTTSTSSTTSTTTSTSTTSTTTSTSTTTTTTSTTTTSTSTTTTSSSTSSTTTTTTTTTTTTSSSTTTTTTTSTTTTTTTTTTTTSTTTSTTTSTTTTTTTTTTTTTSTTTTTTTSTTTTTTTTTTTTTTTTSTTTTTSTTTSTTTTTTTSTTTTSTSTTTTTTTTTTTSTTTTTSTTTTTSSTSTTTTTTTTTSTTTSTTTTTSSTTTSTSTTSTTTSTTTSTTTSTSTTTSTTTTTSTTTSTTTTTSTTTTTTTTTTTTSTTTTSSSSTTTTTTSTTTTTTSTTTSTTTTTTTTTTSTSTSTTTTTTTTTTTTSTTSTTTTTSTTSSTTSTTTTSSTSSTTTSTTSTSSTTTTTTSTTTSSTTTTSTTTSSTTTTTTTSSTSTTTTTTSTTSSTTTTTTTTTTTTTTTTTSSTTTSSTTTSTTTTTSTTSTSTTTTTTSTTTTTTTTSTTTTTSTTTSTTTTTSTTTSTSSTTTTTTSTSTTSSSTTTTTTTSTTTTTTSTSTSSTSTTTTTSTSTTTTTSTTTTTTTTTTSSTTTTSTTTSSTTTTTSTTTSSTTTTTSSTTTTTTTTTTSTTTSSTTSSTTSSSTTTSTTTTSTSTTTTTTTTTTTTTTTTTSTTTSSTTTSSSTSTTTTTTTTTTTSTTTTSTTTTTTSTSSSTTSSTTTSTTSTSSTTSSTSSTSSSSSTTTTSTTTTTTTSSTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTSTSTTTTTSTTTTTTTTTTTTSTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTSTTSTTTTTTTTTTTTTTTTTTTTTSTTTTTTTTTTTTTSTTTTTTTTTSSTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTSTTTTTSTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTSTTSTTTSTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTSTTTTTTTTTTTTTTTTTSTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTSTTTTTTTTTTTTTTTTTTTTTTTTTTTTTSTTTTTTTTTTTTTTTTTTTSTTTTTTTTTTTTTSTSTTTTTTTTTTSTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTSTTTTUTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTUTTTTTTTTTTTTUTTTTTTTTTTTTTTTUTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTUTTTTTTTTTTTTTTTTTTUTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTUTTTTUTTTTTTTUUTTTUUTTTTUTTTTTTTUTTUTTTTTTTTTTTTTTTUTTTTTTTTTTTTTUTTUTTTTTTTTTUTTTTTTTTTTTTTTTUTTUTTUTTTTTTTTUTTTTUTUUTTTTTTTUUTTTTTTTTTTTTTUTTTTTTUTTTUTTTTTTTTTTUTTTTTUTTTUTTTUTTTTTTTUUTTTTTUTTUTTTUTTTTTTTTTTTUTTTTTTTTTTTTTTTTTTTTTTUTTTTTTTTTTTUTTTTTTTTTTTTTTTTTTTTTTTTTUTTUTTUTTTTTTTTUTUTTTTTTTTTTTTTUTTTTTTTTUTTTTTUTTTTTTTTTTTTTTTTTTUTTTTTTTTTUTUTUTTTTTTTTTTTUTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTUTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTUTTUTTTTTUTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTUTTTUTTTTTTTTTTTTTTTTTTTUTTTTTTUTTTTTTTTTTTTTTTTTTTTUTTUTUTTTTTTTTTTTTTTTTTTTTTUTTTTTTTTTTUTTUTTTTTTTTTUTTTTTUTTTTTTTUTTTTTTTTTTTTTTTTTUTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTUTTTUTTTTTTTTTUTTTTTTTTTTUTTTTTTTUTTTTTTTTTTTTTTTTTTTUTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTUTTTTTTTTTTTTTTTTTTTTTTUTTTTTTTTTTTTTUTTTTTTTTUTTTTUTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTUTTTTTTTTTUTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTUTTTTTTTTUTTTTTTTTTTTTTTTTTTTUTTTTTUTTTTTTTTTTTTTTTTTTTTTTTTTTTUTTTTTTTUTTTTTTTTTTTTTTTTTTTTTTTTTTTTTUTTUTTTTTUTTTTTTTTTTTTTTTTTTTTTTTTTUTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTUUTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTUTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTUTTTTTUUTUUTTTTTTTTUUUUUTTUUTTTTUTUTTTTTTTTTUTTTTTTTTTTTTTTTTTTTUTUTUUTUTTUTUTTTTTTUTUUUTTTTTUTTUTUTTTUUTTTUUUTTTTTTUTTTTTTTTTTUTUTUTTTUTTUTTTTUTUTTTUUUUTTUTTTUTTTTTTTTTTTUTTTUTUTTTUTUUTTUTTTTTTTTTUUTTUTUTUTTTUUTTTTUUUTUTTTTTTUTTTTUTTTTUTTTUTUTTUUTTUTTTUTUUUTTTUTTTTUUUTTTTTTTUTTUTTTUTTUTUTTTUUTUTUTTUTTTTTTTTTTTTTTTTTUTTTTTTUTTTTTTTUTTTTTTTTUUUTTTTUTUTTTUTTTTTTTTUTTTTUTTTTTTTTTTUTTTUTTTTTTTTTUTTTTUTTTTTTTTTTTTTTTUUTTTTTUTTUTTTTTTUTTUTTTTTTTTTUUTTTTUUTUTTTTTTTTTTTTTUUUTTTTUTTTTTTTUUTTTTUUTTTTTUTTTUTTTUTUTTTUTUTTTUTTTUTTUTTTTTTUTTUTUTTTTTTTUTTTTUTTTUUTTTTTTTTTTTTTTTTTTTUTUTTUTTTTTUTTTTTTTTUTUTTTTTUTTTTTTTTTTTTTTUTTTTUUTTTUTTUTUTTTTTTTTTTTTUTTUTTTUTTUTTTUUTTTTTTTUTTUTTTTUTTTTTTTTTTTUTUTTTTTTTUUUTTTTUTTUTTUTTTUTTTTTTUTTUTUTUTTTTUUTTTTTTTTTTTTTTTTTUTTTUTUTTTTTTTTUTTUTTTTTTTTTUTTTUTTTTTTTUTTTUTTTTTUTTTTTTTTUTTTTTTTTUUTTTTTTTTTTTTTTTUTTTUTTTTTTTTTTTTTTUTTTTUTTTTTTTTTTTTTTTTTUTTTTTTTTTUTTUTTTTUTUTTTTTTTTTTTTTTTTTTTTTUUTTTTTUTTTTTTTUTTTUUTTTTTTUTUTTTTTTTTTTTTTTUTTTTTTTTTTTUUUTTUTTTTTTTTTTTTTUTTTTTTUTTTTTTUTTTUTTTUTTTTTTTTTTTTTUTTTTTTTTTUTTUTTTTUTTTTTTTTTTTTTTTTUTTTTTTTTTTTTTUTTTTUTUTTTTTTTTTUTTTTTTTTTTTTUTTTTTTTTTTTTTTTTTTTTTUTTTTTTTTTUTTUTTTTUTTTTTTTTTTTTTTTTUTTTTTTTTTTTTTUTTTTUTUTTTTTTTTTUTTTTTTTTTTTTTTTTTUTTTTTUTUTTTTTUTTUTTTUTTTTTTTTTTTTTTTTUUTTTTTTUTTTTUTTTTTTTTTTTTTUTTTUTTTTTUTTTTTTTTTTUTTTTTUTTTUTTTTTTTTTTTTTUTTTTTTTTTUTTTTUTTTTTTTTUTTTTTTTTTUTTTTTTTTTTTTTTTUTTTTTTTTTTTTTTTUTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTUTTUTTUTUTTTTTTTTUTTTTTUTTTTTTTTUTTUTTTTTTTTTTTTTTTTTTTUTTTTTTTUTTTTTTTTTTTTTTTTTTTTTTTTUUTTTTTTTTUTTTTUTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTUTUTTTTTUTTTTTTTTTUTTTTTUTTUTTTTTTTUTTTTTUTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTUTTUTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTUTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTUTTTTTTTTTTTTTTTTTTUTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTUTTTUTTTTTTUTTTTUTTTTTTTTTTTTTTTTTTTTTUTTUTTTTTTTTTTTUTTTTTTTTTTTUTTTTTTTTTTTTTTUUUUTUUUUTUUTUTUUTUUUUUUTUUUUUUTTUUTTTUTTUUUUUUUTUTTUUUUUTTUUTTUUUTTUTTUUUUUTTUTTTUTTTTUTTTUUUUUUUTUUTTUUTTUTUTTUTTUTTUTTUTTUUTUUUTTTUUUTTTUUUTTTUUTTUUTTUUTUUTUUTUTUUTUUUTTUTTTUUUUUTUTUTTTUUUTTUUTTUTTTUTUUTTTUTUUUUUTTTTTTUTUUUTUUUUUUTUTTUUUTTTTUUTUUUTTTUTUTUUTTUUTUUTUUTTUTTTTUUTUUTUTTTTTTTTTTTUTTTUTUTTUTUUUUUTTUTUTUTTUTTUTUUUUUTUTTUUTTTUTTTUTTUUTUUUUUUUUTUUUTTTUTUUUTTTTTUTUTUUTTUUTUUTUUTTUUUUTTTUUTTUTTTTTTUTUTUTUTTUTUUUTUUUTUUTTTTTUTTUUUTUUUUTTTTUUTUTUUUUTUTTUTUTTTUTUUTTTTTUTUUTUUTUTTUTTTUTTTTTUTTUUUTTTUTTUUTUTTUUUUUTUTUUUTUTTTTUUTTTUTTUTTUTTUUUTUUUTTTUTTUTTUTUUUUTTUTTUTUUTUTTTTTTTTTTTUUTUUUUTUTUTUUUUTTTTTTUUUTTTTUUTTTUTUUTTUTTTTUUUUTTTTUUTTUUUTTUTTUTUUTTUUUTUTTUTTUUTTUUTUTUUUTUTTTTTTTTTTTTUTUTUUUTTTTTUUUUUTUUTTTTUTTTUUTUUUTTTTUTTTUTTTTTUTUUUUTTTTTUTUTTUTUUTUUTTUUUTTTUTUTUTUTTTTTUUTTTTTTUTUTTUUUTTTTTTTTTUTUTTTUTTTTUUTTUTTUUTTTUTTUTTUTUTUTTUTTTTTTTTTTUTTTTTTTUTUTUTTUUTTTTUTTUUTTTTUUTTUTTUUTTTTTTTUUTTUTTUTUUTTUTUUUUTUUTTTTTUUUTUUUTTUTUTTTUUUTUUUTTUTTTTTTUTTUUUUTTUUUTUTUUTTTUTTUTUUTTTUTTUTUUTTUTUTTTUTUTUTTUTUTUTUUTTTTTTTTTTTUTUTUUTTTUUTTTTTTTTTUTTTTTUUTTTTUTUTTTTTTUTTUUTTUTTTTTTUTTTTTTUTTTUTTUTUTTTUTUTUTTUTTTUTUTTTTTTTTTTTTUTUTUUTTTUUTTTTTTTTTUTTTTTUUTTTTUTUTTTTTTUTTUUTTUTTTTTTUTTTTTTUTTTTTTUUTTTTUTTTUTUTTTTUTTTUTTUUTTTUTTUTUTTTTTTUTTTUTTTUUTTTTUTTTTTUTUUTUTTTTUTUTTTTTTTUTUTTTTTUTUUTTUUUTTTTTTTTTTTUTTTTTTUTUUTTUTTTTTTTTTUUTUUUTTTUUTTTTUTTTTUTTTTTTUTTTTTTUTTUTTUTTUTUTUTUTTUTTTTTUUTTTTUUUTTTUTUTTUTUTTTTTTTTTUTTTUTTTTTTTTTTTTTTTUUTTUUUTTTTUTUTTTUTUTTTUTTTUTTUTUTTTUTTTTTTTUUTTTTUTUTTTTUTUTUTTTUTUTTTUTUTTTUTTTUUTUTTUUTTUTTTTUUTTUTTTUTTTTTTTTUTTTUTTUTTTUTTTTTTTTTUTTTTTTUTTTUTTTTTTTTUTUTTTTTUTTTTTTTTTTTTTTUTTTTTTTTTTTTUTUUTTTTTTTTTTTUTTUTTTUTTUTTTTTTTTTTTTUTTUUTTTUTTTUTTTTTTTTTTTTTTTTTUUUTTTTUTTTTTTTTTUTTTTTTUTTUTTTUTTUTTUTTTTTUUTTTUTTTTTTTTTTUTTTTTUUTTTTTTTTTTTTTTTUTTTTTTTTTUTTUUTTTTTTTTTTTTTUTTTTTTUTTUTTUTUTTTTUTTTTTTTTTTTUTTTTTTTTUTTTTTTTTUUTTUTTTTUTUUUTTUTTTTTUTTTUTTTTTTTTTTTTTTTTTTTTUTUTUTTTUUUUUUUUUTUUUUTUUTUUUTUUUUUUUUUTUUUUUUTUTTUTUUUUUTUUUTUUUUUUUTUUUUUUUUTUUUUTUUUUUUUUUUUUUUUUTUUUUUUUUUUTUUUTUTUUUUTUTUUTUTUUUTUTTUUUTUUUUTUUUUTUUUTUUUUTUUUUUTUUUUUUUUUTTUUUTTUUUUUUUUUUUUUUUUUTUTUUUUUUUTTTUUUTUTUUTTTUTUUUUUUUUTTUUUUUUUUTUUUUTUUTUTTUUUTTUUUTUUUTUTUUUUUTTTUUTUUTUTUTTTUUUTUUUTUUUTTUUTTUUUUUUUUUUUUUUUTUTUTUUUUUUUUTUUUTUUTUUTUUUUTUUUUUTUUUTTUUUUUUUTUUUUTUUUUUUUUUUUUUUUUUUUTUUTTUUUUTUUUUUUUUUTTUUTUUTTUUTUUUUUUUUUTUTUUUUTUTUUUUTUUTTUTUUUUUTTUUTUUUTUUUTTUUTTUUUUTUUUUUUUTUUUUUUUUUUUUTTUUTUUUUTUTUUUUUUUTTUUTTUUUUUUUUUUUUUTUTUTUTUUUTUUTTUTUUUTTTUUUUUUUUUUUUUUUUTUUUUTUUUUUUUUTUUUUUTUUUUTUTUUUTUUTUUUUTUUUUTTTUUUUUUUTUUUUUUUUUTTUUUUTUUUUUUUUUUUTUTUUUUUTTTUUUUUUUUUUUUUUUTUTTUUUTUUUUUUUUUTTTUUUUUTUUUUTTUUTUUUUUUTUTUUTTUUUUTUTUUTUUUTTUTUTUTUTUUTTTUTTTUTTUUTTUUUUUUUTT^zƪzzTUTUUUUUTTUUTUUTUTUUTUUTTUUUTTTUUTTTUUTUTTUTTTUUUUTTUUTUTTUTUTUUTUUUUTTUUTUTUUTUTUUUTUUUUUUTUUUUUUTUTTUTUUUUUUTUUUUUUTTTUUTUTUUUUTUUUTUUTUUUTTTTUTTUTUUTUUTTUUTTUUTTUTUUTUUUTUUUTUTTUTUTTTUTUTTTUUTTTUTUTTTUUTTUTUUUTTTUTTUTTUUUTTUTTUTTTTUUTUUTTUTTUTUTUTTUUTUUUTTUTTUUUUUUTTUUUUTUUTUUUUUUUTUUUTUUUTUTTTUTUTTTUUTTUTUUUTTTUTTUTTUUUTTUTTUTTTTUUTUUTTUTTUTUTUTTUUTUUUTTUTTUUUUUUTTUUUUTUUTUUUUUUUTUUUTUUUTUUTUUUUUUTUUTTUTUTUTTUUTTUUUUUUUTTTTTTTUTUUTUTUUUTUTTUUUUTUUUUUUTTUUTUTTUTTUUTTTUUTUTTTUTTTTUTTTUUUUTUTUTTTTUUUTUUUUTTUUUTTUUTUTUTUUTTTUUUUUUTTUTTTUUUUTTUTTTUTUTUTUTTUTUTTTUTTTTUTTTTTTUTUUUTTUUTUUUTUTTUTUUUUUUTTUUUTUUTTTTTUUUUTTUTUTUUTUTTUTTTUUTTTUUTUTUUUTTUTTUUTTUTUUTUTUUTTTTTTTTUUUUTUUTUTTTUTUTTTUTTTUUTTTUTTUUUUUTUUUUTUUTUUTTTTUTTUUTTTU]zƪzqUTTUTUTTTTTTTTUTUTUTUTTUUUUTUTUTUUUUTTTTUTUUUTTTTUUTTTUTUUTTUTTTTTUUTTTTTTUTTUTUTTTTTUTUUTTUTUTUTTTTUUUTTUUTUUTUUTUTTTTTTTTTTTTUTTTUUTTTTTUUTUUUTUUTUTUTTTTUUTUUUTUTUUUTUTTUTUUTUTTUTTTTTTUTUTTTUTTUTUTUTTUUTTUTTUTTUUUTUTUUUTTTUUTUTUTUTTUTUUTTUTUTUTUTTUTTTUUTUTTTTUUTTUTTTUUTTUUTUTTUTUTUTTTUTUUTTTTUTTTUTTTUUTTTUTUTTTUTUUTUTUUUUTTTTTUTTTUUTUTTTTTTUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUTUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUTUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUTUUUUUUUUUUUUUUUUUUUUUUUUUUUTUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUTUUUUUUUUUUUUUUUUUUUTUUUUUUUUUUUUUUUUUUUUUUUUUUUUTUUUUUUUUUUUUUUUUUUUUUTUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUTUTUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUTUUUUUUUUUUTUUTUUUUUUUTUUUUUUUUUUUUUUUUTUUUUUUUUUUUUUUTUUUUUUUUTUUUUUUUUUTUUTUUUUUUUTUUUUUUUUTUUTUUUUUUUUUUUUUUUUUUUUUUUTUUTUUUUUUTUUUUUUUUUUUUUUTgzƳz^UUUUTTUUUUUUUTUUUUUUUUUTUUUUUUTUUUUUUUUUUUUUUUTUUUUUUUUUUUUUTUUUUUUUUUUUUUUUUUUUUTUUUUUUTUUUUUUUUUTUUTTUUUUUUUUUUUUUUUTUUUUUUUUUUUUUUUUUTUUTUUUUUUTUUUUUUUUUUUUTTUUTUUUUUUUUUUTUUUUUUUUUUUUUUUUUUUTTUUUUUUUUUUUUTTUUTUUUUUUTTUTUUUUTUUUUUUUTUTUUUUUUUUUUUUUUUUUTUUUUUUUTUUTUUUUUTUUUUUUUUUUUUUUUUUUUUUUTTUUUUUUUUUUUUTTUUTUUUUUUTTUTUUUUTUUUUUUUTUTUUUUUUUUUUUUUUUUUTUUUUUUUTUUTUUUUUTUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUTUUTUUUUUUTUUTUTTTUUUUUUUTUUTUUUTUTUUUUUUUUTUUTUUUUUUUTTTUTUTUUUUUUUUTUUTUUTUUUUUUUUUTUUUUUTUUUUUUUUUUUUUUUTUTUUUUUUTTUUTTTUUUTUUTTUUUUUUUUUUUUUUUTUTUTUUUTUTUUUTUUUUUUUUTTTUUUUUTUUUTUTUTUUUUUUUUUUUUUUUUUUTUUUUUUTUTTTTUUUUUUUUUUUUUUUUUTUUTUUUUUUUUUTUUTUUUUUUTUUUUUUUUUUUUUUUUUUUUTTUUTUUUUTUTUUUUUUUTTUUTTUUUUUUUUUUUUUTUgzƠgUUUUUUUTUUUUUTUUUUTUTUUUTUUUUUUUTUUUUTTTUTUUUUUTUUUUUUUUUTTUUUUUUUUUUUUTUUUTUTUUUUUTTUUUUUUTUUUUUUUUUTUTTUUUTUUUUUUUUUTTTUUUUUTUUUUUTUUTUUUUUUTUTUUUUUUUUTUUUUUUUUTUUUUUUUUUUTTTTUTUUTUUUUUUUTTUUUUUTTUUTTUUTUUTUUUUTUUUUUUUTTTTTTUUTTTTTTUUTUUUUTUUUUUUUTUUTUUUTUUUTTUUTUUUTTUTTUUTTUTTUTUUTUUUTUUTUTTTUTTUTUUTTUUTTTUUUUUTUUUUTUUUUUTUTUTTUTUTTTUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUzٽzUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUTUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUTUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUTUUUUUUUUUUUUUUUUUTUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUTUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUTUUUUUUUUUUUUUUUUUUUUUTTUUUUUUUUUUUzƠzUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUTUUTUUUUUUUTUUUUUUUUUUUUUUUUTUUUUUUUUUUUUUUTUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUTUTUUUTUUUUUUTUUUUUUUUUUUUUUUTUUUUTUUUTUUUUUUUUUUUUUUUUTUUUUUUUUUTUUTUTUUTUUUUUUUUUUUUUTUTUUUUUUUUTTUUUUUUUTUUUUUUUUUUUUUUUUUUUUUUUUUUUTUUUUUUUUUUUTUUUUUUUUUUTUUUUUTUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUqƠzUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUU{ƖqUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUU⼍_UUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUU_UUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUU{UUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUU^UUUUUUUUUUUUUUUUUUUUUUUUUUUUUU{UUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUzUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUU^٪qUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUU{뽎_UUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUhUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUU{UUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUU{UUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUU_٪gUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUVUUUUUUUUUUUUUUUUUUUUUUUUUUUVUUUUUUUUVUUUUVUUUUUUUUUUUUUUVUUUUUUVUUUUUUVUVUUVUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUVUUUUUUUUUUUVUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUVUUUUUUUUUUUUVUUVUUUUUUUUUUUUUUUUVUUUUUUUUVUUUUVUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUVUUUUUUUUUUUUUUUUUUUUUUUUUVUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUVUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUh{UUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUqUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUU{UUUUUUUUUUUUUUUUUUUUUUUUUUUUUU{UUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUU{UUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUƍUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUVUVUUVVVVVVUUUUUUUUUUVVVUUUVUUUVUUVVVUUVUUUVVUUUUVVUVVUUUVVUVUUVVUVUVVVUVUUUUVVUUUUVUUUUUUUUUUVVVVUVUUUUVUUUUUUUUVVUVUUVUUVUVUUUUUVUUUUUUVUUVUVVUUVUUUVVUUUUVUVUVVVVUVVVUUVUUUUUUUVUVVVUUUVUVVVVUUVVUVUVUUVUVVUUUUUVVUUUVUUUVUUUUUUUUUUVVUUVUUUVVVUUUUUUUVUUUUUUVVUVUUVUUUUVUVUVUVUUVVUUUUUVUUVUUUUVVUUUUUVUVUVVUUVVUUVVUUVUUUVUVVUUUUVUVUUUUUUUUUVUUVUVUVUVVVUUVUUUUUUUUUUUUUVUVVUUVUUUUUUUVVUUUUUUVUUVUUVUUUUUUUVUUUUUUVUUUUVVUUUVVUUUUUUUUUUUUUUUUVUUUVUUUUUVUUUVUUUUVVUUUUVUVUUUUUUUUUUVUUUUUVUUUUVUUUUVVUVUUUUUVUUVUUUVUUUUUVUUUUUUUUUUVVUUUVUUVUUVVVVVUUUVUUUUUUUVUUUVUUUUUVUUUVUVUUUUVUUUUUVUUUVUUUUVUUUUUUUUUUUUUUU{ٗ_UUUUUUUUVVUVUUUUUUUUVVUUUUUUUUUUUVUUUUUUUVUUUUUUUVUUVUUUUUUVUUUVUUUUUUUUVUUUUUUUUUUUVUUUVVUUUUUUUUUUUUUUUVUVUVUVUUUUUUVUUUUUUVUUUUUUUUVUUUUVUUUUUUUUUUUUiUUUUUUUUUVUUUUUUUUVUUUUUUVUUUVUUUUUUUUUUUUUUUUUUUUVUUUUUUUUUUUUVUUUUUUUUUUUUUUUUUUUUUUUVUUVUUUUUUVUUUVUUUUUUUUUUUUUUUUUU{UUUUUUVUUUUUUUUUUUUUUUUUUUVUUUUUV{UUUUUUUUUUVUVUUUUUUUUVUUUUUUUUUUUUUUUUUUUUUUUUUUUUVUUUUUUUUUUUUUUUUUUUUUUUUUUUUh٠_UUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUVUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUVVVVUVVVVUVVVVVVUVUUVUUUUVUVUUUUVVVVUVVUVUVVVUVVUVVVUVUUVVUVVVVVUVVVVVVVVVVVUVUUVVUVVVVVUVVUVVVUVUVVVUUVUVVUVUVUUVVUVVVVUVVUVUUVUUVVVVUUUVVVUUUVUVUVVVVVUVVUUVUVUVVUUVVVUUVVVVVVVVUVVVVUVVVUUVVUVVUVVVUUUVVVVUVUUVVUUVVVVUVVVUVUUVUVVVUUVUUUVUVVVUVVVVVUUVUVVVVVVVVVUUVUVVVUVUUVVUUVUVVUVUVUVVUVUVVVVUVVUVUUUVVUVVVVVUVVVUVUVVVUVVVUUVUVUUUUUUVVVUVUUVVVVVUVVUUUVVUVVUVVUUUVUVUVVUUVUVVVVVVVVVVVVVVUVUVUUVVVVUUUVUVVVVVVVVUUVVVUUVUVUVUVVUUVUVVVVUUVUVUUUUUVUUVVVUUUUUVUVVVUVUUVUVVUUUUUVVVVUUUUVUVVVVVUVVUUVVVVUVUVUVVUVUVUUVUVVVVVUVVVVVVUUVVVUUUUVVUVVUVUVUVVUVVUUUUUVVUVVVUUUVUVVUUVVVUVUVUUUUVVVVVUUUVUVUUUUUUVVUUVVhUVVUUVVVUUUVUUUVUVUUUVUVUUVUUVVUVVVUVVUVVUVVUUVUVUUUUVUVUVUVVUUVUVVUUVUUVVVVUUUUUVUUVVUUUVUUUVVUUVUUVVUUVUUVUUVVVUVUVUUUUVUVUUUUUVUUVUVVVUVVUUVUVUUUUVUUVUUUVVUVUUUVUVUUUUUVVUUVVVUVVUVVUVVVUVUUUVUVUUVUUVUUUVUVUUUUUUUVUVUVUUVVUVVVVUVUUVUVVUUUUUUVVUUVVUUVUVVVUVVVVVUUUVUVUU{UUUVUVVUUVUUUUUUUVVUVUUVUVUVUUUVU{UUUUUVUUUUUVUUVVVUVUVVUUUUUUVVUUUUVVUUVUVUUUUUUUVVUUVUUVVVUUUUUUUVUUVUUUUVUUUhUUUVVVVUUUUUVVUUUUUUUUUVUUUUUVVUUUUVUUVUVUUUUUVUVVUUUVUUUUVVUVVUUUUUUUUVUUUUUVUUUUUVVUVUUVUUUUVUUUUVUUUUVVUVUUUUUUUVUUVUVUUUUUUUUUUVVUUUUUUUUUUUUUUUUVUUUUUUUVUUUVUUUUUVUUUUUUUUUUUUUUUUUUUUUUUVVUUUUUUUUUUUVUVUUUUUUVUUUUVUUUUVUUUVUVUUUUUUUUUVUUUUVUVUVUUUUUUUUVVVVVVVUVVUVVVVUUUUUVVVUVVVVVVVUVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVUVVVUUVVVVVVVVVVVVVVVUVVVVVUUUVUVVVVVVVVVVVVUVVVVVVUVVVVVVVVVVVVUVVVUUVVVUVVVVVVVVVVVUVVUVUVVVVVVVVVUVVVVUVUVVVVUVVVVVVVVVVVVUVVVVVUVUUVVVVVVVUVUVVUVUVVVUVVVVUVVVVUVVVUVVVVUVUVVUVVVVUVVVVVUVVUVUVVVUVVVVVVVVVUVVVVVUUVUVVVVUVUVVUVVVVUUVVVVVVVVVVVVVUVVUVVVVVVVVVUVVVVUVVVVVVUUVVVUVVVVUVVVVVVVUVUUVVVVUVVVVVVUVVVVVVVVUVUVVUUUVVVVVUVVUUVVUVVVUVVUVVUUUVVVUVVVVVVVVVVUVUUVVVVVVUVVUVVVUUUVUUVVVVUVVUVVVUVVVVVVVVVVVVVVUUVVVVVUVVVVVUVUVUUVVVUVVVVVVVVVVUVUUVUVVVVVVVVUVUVVVVVUVVVVVVVUVUVVVVVUVVVVUUVVUVVUUVUUUUVUUUVVVUVUVUVUVUVVVUVVVVUVVVUVVUVVUUVVUiVVVVVUUVUVVVVVVVVUVVVVVUVVUVVVVVVVVUVUUVUUUVVUVVVVUVVUVVVVU_{UVVUVVUUVVVVVVVVVUUUUVVVVUUVVVVUUVVVUUUUVVUUVVVVVVVVUVVVUVVVVVUUVVVVVVVUUUUUUVUVVVUVVVVV_UVVVVVVUVVVVUUVVVVUVVVUUVUVUUVVVVUVVVUUVUUUVUUVVUUUVUVVVUUVVUVUUVUUVVVVVUVVVUVVVVVUVUVV{VVUVVVUUVVVUUVVVVUVVVUUVUUUVVUV{VVVVVVUUVVVVUUVVVVVVVVVVVVUVVUVVV{VVVUVUVUVUUVVVVUUVUVVVVVVVVVVUUUVVUUVVUVUUUVUVVUVVVVUUVVVUUVVVVVUVVVUUUUVUU_UUUVUVVUUVUUVUUVVUVVVVUUVUVUUVVVVUVVUVVVUVVUVVUVVUVUVVUVVVVUVUVUVVVVVUUVVVUUUUUUVUUUVVUUVVUVUUUVVVVVUVVVUUVVVUVUVUUVUUUUUUVUUUUUVVUUVVUUUUVVVUUUVVVUVUUVUUUVVVVUUVUUVUVVVVUUVUUUVUUVVUUVVVVVUVUUVUUVVUVVVVUUUVUVUUUVVVVUVUVVVVVUVUUVVVVUVVVUVVVUUVUUUVVVVVUUUVVVUVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVUVVVVVVUVVVUVVVVVVVVUVVVVVVVVVVVVVVVVVUVVVVVVVVVUVVVVVVUVVVVVUVVUVVUVVUVVVVUUVVVVVVVVVVVVVVVVVVVVVVVVVUUVUVVVVVVVUVVVVVVVVVVVVVVVVVVVVVVVVVVVUVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVUVVVVVUVVVUVVVUVVVVVVVVVVVVVVVUVVVVVVVVVVVVVVUVVVVUVUVVVVVVVVVVVVVVVVVVVVVVUVVVVVVVVVVUVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVUVVVVVVVVVUVVVVVVVVVUVVVVVVVVVVUVVVVVVVVVVVVVVVVVVVVVVUVVVUVVVVVVVVVVVVVVVVUVVVVVVVVVVVVVVVVVVUVVVVVVVVVUVUUVVVVVVVVUVVUVVVVVVVVVVVVVVVVVVVVVVVVVVVUVVVVVVVVVUVVVVVVVVUVVVVVVVVVVVVVVVUVVVVVVVVUVVUVVVVVVUVViVUVVVVUVVVVVVVVVVVVVVVVUVVVVVVVUVVVVVVVVUVVVUVVVUUVVVVVVVVVVVVVVVVVVVVVVVUVUVUVVVVUVVVVVUVUVVVVVVVVVVUVVVVUVVVVVVUUVVVUVVVVVVVVVVUVVVVUVVVVVVVVVVVVVVVVVVVVVVVVVVVVUVVVVVVUVVVUUVVVVVVVVVVVVVVVVUVUVVVVUVVVVVVVVVVVVVVVUVVVUVVVVVVUVUVVVViVVVVVVVVVVVVVUVVVVVVVVVUVVVVVVU{UVVVVVUUVVVUUUVVVVUVVVVVVVVVVVUUV{VUVUVUUVVUVVVVVVVUUVVVUUVVVVUVVVVVVUVVVVVVVUVVVVVVVVVVVVVVVVVVUVVVUVVUVV`_VVUVUVVVVVVVVVVUVUVUVVVVVVVUVUVVVVVVUVVVVVVVVVVVVVVVVVVVVVUVUVVUVVVUVUVVVVVVVVUVVUUVVVVVUVVVVVVVUUVUVUVVUVVUUVVVUVVVVVVUUVVVVVVVVVVVVVVVVVUVVVVVVUUVVVVUUVVVVVUVVVVVVVVUVVVVUVVVVVVVVUUVVUUVVVVVVVUUUVUVVUVVUVVVUVVVVVUUVUVUUUUVVVUVVVUVVUVUUVUVVVVVUVVVVVVVUVUVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVUVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVUVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVUVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVUVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVUVVVVVVVVVVVVVr`VVVVVVVVVVVVVVVVVVVVVVVVVVVVVUVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVUVVVVVVVVVVVVVVVVVVVVUVVVVVVVVVVVVVVVVVUVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVrVVVVVVVVVVVVVUVVVVVVVVVVVVVVVVVUVVVVVVVVVUVVVVVVVVVVVVVVUVVVVVVVVVVVVVVVVVVVVVVVVVVVUVUVVVVVVVVVUVVVVVVUVVVVVVVVVVVVVVV{VVVVVVVVVVVVVUVVVVVVVVVVVVUVVVVVV{VVVVVVVVVVVVVVVVVVVVUVVVVVVVVVVVVVVVVVVVVVVUUVVVVVVVVVVVVVVVVVVVVVVVVUVVVVVVVVVVUVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVUUVUVVVVVUUVVVVVVVVVVVVVVVUVVVVVVVVVUVVVVVUVVVVUVVVVVUVVUVVUVVVVVVVUVVVVVVVVVUVVVUVVVVVVVVVVVVVVVVVVVVVUVVVUVVVVVVVVVUVVVVVVUVVVVVVVVUVUVVVVVVUVVUVVVVVVVVVVVVVVVVVVVVVVVVVVVVVUVVVVVVVVVVVVUVVVVVVVUVVVVVVVVUVVVVVVVVVVVVVVVVVWVVVVWVVWVVVVVVVVWVVWVWWVVVVVVVVWWVWVVVVVVVVVVVWVVVVVVWVWVVVVVWVVWVVVVVVVVVVVVVVVVVVVWWVVVVVVVVVVWVWVVVWVVVWVVVWVVVWVVVVVWVVVVVVWVVVVVVVVVWVVVVVVVVVVVWVVVWVWWVVVWVVVVVVVVVVVVVVWVVVVVVVVVVVVVVVVVVWVVVVVVWVWVVVVVWVVVVVVVVVVVVVVVVVVVVVVVVVVVWVVVVWVVVVVVVVWVVVVVVVVVVVVVVVVVVVVVVVWVVVVVVVVVVVVVWVVVVVVVVVVWVVVVWVVVVVVVVVVVVVVVVVVWWVVVVVVVVVVVVVVVVWWVVVWVVWVVVVVVVWVVVVVVVVVVVVWVVVVVVVVVVVVVVVVVVVVVVVVVWVVVVVVVVVVVVVVWVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVWVVVVVVVVVVVWVVVVVVVVVVVVVVVVVWVVVWVVVWVVVVVWVVVVVVVVVVVVVVVVVVVVVVWVVVVVVVVVWVVVVVVVVVVVVVVWVVVVVVVWVWVVVWVVVVVVVVVVVVVVVVVVV`مVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVV{VVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVWVVVVVVVVVVWVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVV{VVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVV{VVVVVVVVVVVVVVVVVVVVVUVVVVVVVVVVVVVUVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVqVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVUVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVUVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVUVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVUVVVVVVVVVVVVVVVVVWVWVWVVWVWVVVWWWVVVVWVVVWVVWVWVWVVVWVVVVWVVVWWVVVVVWVVVWVVVVVVVVWVVVVWWVVVWVVWWWVVVWVVVVVVVVVWVWVWVVVWWWVVVVVVWVVVVVVVVVVWVVWVWVVVVVWVWVWVVVVVWVWVWVWVVVWVVVWWVVWVVVWWWVVVVVVVVVVWVVWVVVVVVVVVVWVVVVVVVWWVVVVVVVVVVVVVVVWVWVWVWWVWVWVWVVVVVVWVVVVVWWWVVVWVWVVWVVVWVVVVWWVVVVVVWVWWWVVVVWWWVVWWVWVWWVWVWWVVWVVVVVWVWWVVVVWVVVVVVVVVWVVWWVWVVVVVVWVVVVVVVWVWWVVVVVVVVVVWVVVVVVVWVVVVVVVVVWVVVVVVVVVVVVVWVVVWVVVVVVVVVVVVVWVWVVVVVVVVVVVVVVVVVVVVWVVVWVVVVVVVVVVWVVWVVVVVWVVWVVVVWWVWWWVVWWWVVVWVWVVVVWVWWVVVVVVWVVVVVVVVVVWVWVVVVVVWWVVVVWVVVWVWWVVVVWVVVVVWVWVVWWVWVWVVVVVVWVVVVVVVVWVVVVVVVVWWVVVWVVVVVVVVVVWWVWV{`WVVVVVVVVVVWWVVVVWVVVVVVVVVVVVWWWVWVVWVVVVWVVVVVVWWVVWsVVVVWWWVVWVVVVVVVVVVVVWVVVVWVVVVVVVVVVVWWVVWVWVVVVVWVVVVVWWVVVVVVVVVVVVVVVVVVVWVVVVVVVrVVVVVVVVVVVVWVVVVVVVVVVWVVVVWVVVVVVVVVVVVVVVWVVVVVVVVVVVVVVVVWVVVVWVVVVWVVVWVVVVVVVVV{VVVVVVVVVWVVVVWVVVVVVVVVVVVVVVWV{VVVVWWVVVVVVVVVVVVWVWVVWWVVVVVVVV{WVWVVVWVVWVVVVVVVVVVVVVVVWVVVWVVVVVVVVVVVVVVVVVVVWVVVVVVVVVVVVVVVVW|VVWWVVVVVVVVVVVVVVVVWVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVWVVVVVVVVVVVWVVVVVVVVVVVVVVVVVVVVVVVVWVVVVWVVVVVVVVVVVVVVVVVVVVVVVVVVVVVWVVVVVVVVVVVVVVVVVVVVVVVVVVWVVWVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVWVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVWVVWVWVVWWWWVWWVWVWWWVVWVVWVVVVWWWWVWVWVWWVVVWWWVWVWVVWVWWVWVWVWWVWVVWVVWVWVVWWVWVVVVWVWVWWVWVVWWVWWWVVWWVWVVVWVVVVVVWWWWVWVVWWWVVWVVWVVVVVWWVWVWVVWVWWVWWVWWVWVWVWWVWWVWWVWVWWVVVWWVVWVVVWVWWVWVVVVWWVVVVVWWVVVVVWWVVWVVVVVWVWVWVVVWVVVVVWWWVWWVWWVVVVVWWVVWWVWVVVVVVWWVVWWVWVWVWWWWWVVVVVWVWVVVWVVVVWWVWWWVVVVWWVWVVVWVVWWWVVWWVWWWVWWVVVWVVVWVVWVVVVVWWVWWVWVVWWVVVVVVVVWVWWWVVVWWVWVVVVWVVWVVWWWVVVWVVVWWVWWVWVWWVVVWVVVVVVWWWVWVWVVVVWVVWWWVVWWWVVWVWWVVWWVWWVVVWVVVVVVVWWVWVVVWVWWWWVVVVWWVWWVWWVWWWVWVWVVWWVVWWVVVWVVVVWVWWWVVVWVVVWWWVWVVVWWVWVWWVVWWVVVVVVVWVWVWVWWVVVVWVVWWWVVVVVVVWWVWWVVVVWVWVWVWWWWWVWVVVWVVVVVWVVVVVVVVVVWVVVWVVWVVVWWWWVVVVWVVWVVVVVVWWVWWVVWWVVVVVVVVVWVVVVVWVVVVWVVVWWVWWVVVWVWWVWWVWWVVWVVVVVVVWVWWVWVWVWVVVWVVWVVVVVWWWV`VWWVWVWWVWWWVVVVWVWWVVVVWVVWWVVVVVWVVWWVWVVVVVWVVWVVVVVWWWVVWWVWVVWVWWWVVVVWWVVVVVVWV`VVWVWWVVVVWVVWWVVVVVWVVWWVWVVVVV{VWVWWVVVVVWWVVVVVWVVVVVVVWVVWWWVV{VVVVWWVVVWVVVVVVVVVVWVVWVVVVVVVVVVWVVWVVVWVVVVVWWVVVWVVVVWVWVVWVVjsWVWVVVWVVWWWVVWVWVWWVVVVWVVVVVVWVVVWVVVWVWVVVVVVVVVVWWVWWWVWWVVWWVVVVVVVVVVVWVWVVVVVWVWVWVWVVVVWVVVWWWVVVVWVVVVVVWVWVWVVVWVVVVWVVVWVVVVVVVVVVVVVVVVVVVWVVVVWWVVVWVVVWVVVVVVVVVVVVVVWVWVVVVVWWVVWVVVVVVVVWVVVVVVVVVVVVVVWVVVVWVWVVVVVVWVVVWVVWVVVVWVVVVVVVWWWVWVWWWWWVVVVWWWVVWWWWVWWWVWWWWWVVWWWVVVWWVWWWVWWWVWVWVVVWVWVVWWWWVWVWVWWWVWVWWWWWWWWWWWWVWWWWWWVWWVWVVWVWVVVWWVWWVWWVVWVWWWWVWVWWWWWWVWVVWVWVWWWWWVVWWWWVVWWWWVWWVWWVVWVVVWVWVVVWWWWWVVWWWWVWVWVVWWWWVWWWWVVWVWVWWWVVWWWWVVWWWWVWWVWWVVVWWWVWWWWWVWVWWVWWVVVWWVVWVVWWWWWWVVVWWWVWWWWVWVWVVVVWVWVWVWWVVWWWVWVWVWVVVVWWVWWWWWWVWWVWVVWVVWVWVWVWWWWVWVWWVWWWWVWWWVWWVWVVWWWWVWWVVVWWWVVWVVVWWVWWVVVWWVWVWVVWVWVVWVWWWWVWWWWVVVVVWWWWWVVWWWVWWWWWVVWVWWVWVWWVVVWVWWWVWWWWWWWVWWWWWVWWWWWWWWWWVVWVWVVWVVWVWWVWVWWVWWWWWVWWWVWWWWVWWWWVWVWVWVWWVVVVWWWWWVVWWVWWWWVWVVVVVWVWWWWWVWWWWWWWVWVVVWWWVWWWWWWWVVWWVVVVWVVj`WVVWVVWWWWVWVVWWVWWWWWWWWWVVWVWWVVVWVWWVVWVVVWVWVWWVWWWWWVVWWWWVWWVWVWWVVVVWWVWWVWVVVWVWVWWWWVWWWVVWVWVWVWVVWVWWVWVVVWVVVVVWWWWWWVWWVVVVWVVVVWWVWWWWVVVWWVWVWVWVVWWWVVWWWWWWVWWVVVWVVVWWWWWWVWWVVVVVWWVVWWVWVVVVVVWWVVWWVWVWVVVWWVWVWVWVVWWWVVWWWWWWVWWVVVWVVV|WWWVVVWWWWVVVVWVVWVVWWWVVVWVVVWWV{VVVWWWVWWVVVVWVWVWVWWWWWVVVWVWWVVWVVWWVWVWWWVVVWVVWVVWWWWWWWWWWVVVWVVVVVVVVVVWVVWVWVVVWVWVWVWWVVWVWVWVWWWVVVWVVVWWVVWVVVWWWVVVVVWVWVVWWWVVVVVVVWVWVWVVWVVVVWWWVVWVWWWWVWVWVVVVWVVVVWWVVVWVVVVWWVVVWVWVVWVWWWWVVVVVVVVWWVVWVVWVVVVVWVVVVVVWVVVWWWWVWVWWWVWVVVVVVVVVVWWWVVVVVVWWVVWWWVVVVVVVWVWVVVVVWWVVVVWVWVVWWVVVVWWWVWWWWVWWWVVVWWWVWWWWVWWWWWWVVWWWWVWWWWWVVWWWWWWWWWWWWVWWWWWWWWWWVWWWWWWWWWWWWWWWWWVWWWWWWWWWWWWWWWWWWWVWWVWWWWWVWWVWWWWWWWWWWWWWWWVVVVWWVWVWWWWWWWWWWWWWWWWVWVWWWWWVWWVWVWWWWWWVWWWWWWWWWWWWWWWWVWWWVVWVWWWWWWWWWWWVWWWWWWWWWWWWVWWWWWWWWWWWWWWWWWWWWVWWWWVWWVWWVWWWWVVVWWWWWWWWWWWWWWWWWWWWVWWWWWWWWWWWWVWWWWWWVVWVWVVWWWWWWVWWWWWVWWVWVVWWWWWWWWWWWWWWWVWWWWWWWWWWVWWWWVWWWWWWWWWVWWWWWVWVWWWWWWWVWWWWWWWWWWWWWWWWWVWWWWWWVVWVWWVWWWWWWVVVWWWWWWWVWWWWWWWWWWWWWVWWWWWWWWWWWVWVWWWWWWVWWWWWWWWVVWWWWWWVWVWWWWWWWVVVWWVWWWWVWWWWWWVWWWWWWVWWVVVVVVVVWVVVWWWVWWWWWVVWWWVWWWWWWWWVVWWVWWVWWVVWWVWWWWWWWWWWWWWWWVWW|iWWWWVVWWVVWWWWWVVVWWWWWWVVVVWWVWWWWWWWWWWWVWWWWWWVsWWVWVWWVWWWWVVWWWVWWWWWWWWVWWWWVVWWWVVWVVVWWWWWWWVVWWVWVWVWWWWWWVWWVWWVVVWWWWWWWWWVWVaVWVWWWVWWWVWVWVWWVWVWWVWWWWWWVWWVWVVWVVWVWVWVVWWWWWWWWWVWVWWVWWVWVWWVVWVWWWWWWWVVVWWVWVWWVWVWWVWWWWWWVWWVWVVWVVWVWVWV|WWVVVWWWVVWVVVWWVWWVVVWWVWVWVVWVW{WWWVWWWWWWWVVWWWVVWWVVVWWWWVWWWWWVVWVWVVWWWVVWWWWWVVVWWWWWWWVVs`VVVVVVWWWWWWWVWWWWVWVVWWVWVVWWVWVWVVWVWWWWWVWWVWVWWWWVWWVWWVWWWWVWVWWVWWVVWWVVWVWVWWWVWVWWWWWVVVVWWWVVVVWWVWVWVWWWWWVVVWWVVVVWVWWWVWWWVWVWVVVWVWVVWWVWVWVWVVWVVWVWWWWVWWWWVVWVVVWWWWWWWVVWWWWWVWWWVWVVVWWWVWWVWWWVVWVWWWVVVWVWVVWVWVWWWWWWVWWWVVWWWVWWWWWWWWWWWWWWWWWWWWWWWWWWWWWXWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWVWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWVWWWWWWWWWWWVWWWWWWWWWVWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWVWWWWWWWWWVWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWVWWWWVWWWWWWVWWWWWWWWWVWWWWWWWWWVWWWWWVWWVWWWWWWWWWWWWWWWWWVWWWWWWWWWVWWWWWWWWWWWWWWWWWWWWWWW|WWWWWWWWWWWWWWWWWWWWWWWWWWWWWWVWWWVWWWWWWWWWWWWWWWjWWWWWWWWWWWWWVVWWWWWWWWWWWWWWWWWWWWWWVWWWWWWWWWWWWVWWWVWWWWVWWWWWWWWWWWWWWWWWWWWWWWWWWWWWVWWWWWWVWWWWWVWWWWWWVWWWWWWWWVWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWVWWWWWVVWWWWWWWWWW||VVWVWWVWWWWWWVWWWWWVWWVWWVWWWWWWW|WWWWVWWWWWVWVWWWWWWWVWWWWWWWWWWWW{WWVWWWWWWWWWWWWWWWVWWWWWWWWWVWWWWWWVVWWVWWWWWWWWWVVWWWWWWWWWWsWVWWWWWVVWWWWWWVWVWWWWWWVWVVWVWVWWWWWVVWWWWWVWWWWWWWVWWVWWVVVWWWWVWWWVWWWVWWWWWWVWWWVWWWVVVWWWVVWWWVVWWWWWVVWWWWVWWVWVVVWWWWWWWWVWWWVWWWWWVWWVWVWWWWVWWWWWWWWWWWWVWVVWWWWWWWWWVVWWWWWWWWWWWWWWWWWWVVWWWWVWWVWWWWWWWWWWVWWWWVVWWWWWWWWVWVWVWWWWWVVVWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWXWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWXWXWWWXWWWWWWWWWWWWWWWWWWWWWWWWWXWWWWWWWWWWWWWWWWWWWWWWWWWWWWXWWXWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWXWWWWWWWWWWWWWWWWWWWWWWWWWXWWWWWWWWWWWWWWWWWWWWWWWXWXWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWXWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWXWWWWWWXWWWWWWWWWWWXWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWXWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWXWWWWWWWWWWXWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWsWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWXWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWXWWWWWWWWWWWWWWWWW|WWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWW|WWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWjWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWVWWVWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWVVVWWWWWWWWWWWWWWWWWWVWWWWWVWWWWWWWWWWWWWWWWWWWWWWWVWWWWVWWWWWWWWWWWWWWWWVWWWWWVWWWWWWWWWWWWVWWWWWWWWWWWWWWWWWVWWWWWWWWWWWWWWWWWWWWWVVWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWXWWWWWXWWWXWWXWWWWWXWWWWXWWXWWWWXWWWWWWWXWXWWXXWWWWXWWXWXWWXWWXXWWXWWXWWWWWWWWWXXWWXXWWWWWWXXWWWWWXWWXWWWWWWWWXWWWWXWWWWWWWWWWWWWWXWWWWWWWWWXWWWXWWWWWWWWWWWWWWWWWWWXWWWWWWWWWWWWWXWWWWWWWWWWWWWXWWWWWWWWWWWWWWWWWWWWWWWWXWWWWWWWWWXWWWWXWWXWWWWXWWXWWXWWWWWWWWWWWWWWWWWWWWWWWWWXWXWWWWWWWWXWWWWWXWWXWWXWWWWWWWWXWWWWWWXXXWWWWWWWWXWWWWWXWXWWWWWWXWWWWWXWXWWWWXWWWWWWWWWWWWXWWWWWXWWWWWWWWWWWXXWWWWWWXWWWWWXWWWWWWWWXWWWWWWWWWWWWWWWWWWWWWWWWWWXXWXWWWWWWWWWWWXWWXWWXWWWWWWWWXWWXWWXWWWWWWWWWXWXWWXWXWWWWXWXWXWWWWWWWWWWWXWWWWWWWWWXXWWWWWWWWWWWWWWWWWWWXXWXWWWWWWWXWWWWWWWWWWWXWWWWWWWWWWXWWWWWWXWWWWWWWWWWWWWWWWWWWXWWWWWWWXWXWWWWWWWWWWWXWWWWWWWXWWWWWWWWWWWWWWWWWWWWWXWWWWWWWXWWWWWWWWWWWWWWWWWWXWWWWWWXWWWWWWWWWWWWWWWWWWWWWWWWWWWWXWWWWWWWWWWWWWWWWWWWWXWWWWWWXWWWWWWWWWWWWWXWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWW|WWWWWWWWWWWXWWWWWWWWWWWWWWWWXWWWW|WWWWWWWXWWWWWWWWWWWXWWWWWWWWWWWWWWWWWWWWWWWWWWWXWXWWWWWWWWWWWWWWWWWWWWWXWWWWWWWWWWWWWWWXWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWXWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWXWWXWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWXWXXXXXWXXXWXXWWXWXWWXWWXXXXWWWXWXXWWWWWXXWWWWXWWXXWWXWWWWWWXXXXXWWXWXWXWXXWWWXWWXWWWXWWWXWXXWXXWXXXXWWWXWWWWWWXXXXXXWWWWXXWWXXWWXWWWXXXXWWWWWWWWXXWWWWWXXXWWXXXWXWWXWWWXXWXXWWXWWWWWWXXXXWWWWWWXXWWWWWWWXWXXXWWXXXXWWXWWWXWWXWXWXWWXWWWWXXWXWWWWWXWWXXWWXWXWWWXXWXWWXXXXWWWXXWWWXWWXXXXWWXXXWWWWWWXWWWWXWWWWXWWWWWXXXXWWWWWWWWXXXWWXXXWWWWWWWXWWWWWWXWWWWWXWWWWWXXWWXWWWXWXWXWXWWWWWWXXWWWXWXWWWXWWWXWWWXWWWWWXWWWWWWXWXWWWWWWXWXWWWWXWWXWWWXWXWXWWWWXXXWWWWXXWWXWWWWXXXXWWXWWWWXWWWXXWWWXWWWXWXWWWWWWWWWWWWWXWWWWWWWXXWWWXXWXWWWWWWWXWXWWWXWWWWXXWXXWXWXWWXXWXWXWXWWXXWWWWWWXXWXXXWXWWXWXXWWWWXXXXWWWWWWWWWWWXWWWWXXWWWWWWWWWWWWWWWWWWWWWWWXWXWWWWWXjXWXWXWXXWXWWXWWWWXXWWWXXWWWWWWWWXWWWWWWWWWWWXWWXXWWWWWXWWWXWWWWWXWWWXWWWWWWWWWWWWWXsWWWWWWWWWXWWWWWWWWWXXWXWWWWWWWWWWXWWWWWWWWWXWWWWWWWWWWWWWWWXWWWWWWWWWWWWWXWWXWWWWXXWWWWWWWWXXWWWWWXWWWWXWWWWWWWWXWXX|WWWWWWWWWWWWWWWWWXWWWWWWWWWXXWWWW|WWWWWWXXWWWWWWWWWWWWWWWWWWWWWWWXWWWWWWWWWXWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWXXWWWWWWWWWWXWWWWWWWWWWXWWWWWWWWWXWWWXWXWWWWWWXWWWWXXXWWWWWWWWWWWWXWWWWWWWWWXWWWWWXWWWWWWWWXWWWWWXXWWWWWWWWXWWWWWXXWWWWWXWWWXWWWWXWWWWWWWXWWWWWWWWWWWXWWWXWWWWWWWWWWWXWWWWWWWWWWXWWWWWWWWXWWXWXWWWWWWWWWWWWWWWWWWWWWXWWWWXWWWWXXXWWXXWXXXXXXWXWXXWXXWXXXXXXXXXWXXXXXXXXXWXXWXXXXXXXXWWXWXXWXXXXXXXXWXXWXXXWWXXWXXWXWXXXXWXWXXWWXXXXXXXXXXWXWWXXXXXWXWXXXXXXXXXWXWWXXWXXWXXXWWXXXXXXXXWXXWXXWWWXWWXWWWXXWWXWXWWWWXXWXWWWWWWXWXXWWXXWXWXXWXWXXWXXXXWXXXWXWXXWXWXXXXXXWWWXXWWXXXXXWWXXXXXXXXWXXWWWWWWXXXXXXWXXXWXWWWXXWXXXXWXXXXXWXWXWXXXXXWXXXXWXWXWWXXWXWWXXWWXXWWWXWWWXWWXWWWXXWWWWXXXXWXWWWXWWXXWWWXWXWWXWXXXXWWWXWXXXWWWWXXWWXXXXWWXWWXXXWXXXWWWXWXWWXXXWXXWXXWWWWXWXXXWXXWXWWXXXXXWXXXXXWXXXWWWXXWWXXXWWWWXXWWWXWXWXXWWWXXXXWWWWXXWXXWWXWWWWXWXXXXXWWWXXXXWWXWXXXXXXXXWWXWXXWXXWWWXXXXXWXWXWWXWXXXWWWWXWXXXWXXWWXXWWWXWWXXWWWWWWWXXXWWXWXWXWXWWXXXWWXXWXXWWWWXWWXXXWWWWXXWXWWXWWXXXWXXXXWXWWWXWXXWWWXWXWWWXXXXXWXXXXXXXWXXWWXXWWXXXWWWWWXWXXXWWXXXXWWWWXWWWXWWWXXXWWWaWWWXWWWXXWWWWXWWWWWXWWXXWWWWWWWWWXWXXXWWWWWWWXXXWXXXXWWXXWXXWXXWXWWWXXWXXWXXXXWWXsjWWWXWWWWWXXXXXWWWWWWWXWXWWWWXWWWWW|WXXXXXWWXWXWWXWWWWWXWWWXWWWXWWWWX}XWXWWXWWWXWXWXWWXWWWWWWXWXXWWWWWXWXXWXWWWWWXWXWXWWWWXWXaaWWWWXWXWXWXWWWWWWWWXWWWWWXWWWWWWXWXWWXXWWWWWWWWWXXWWXWWWWWWXXWXXWWXWWXWXWXXWWWXXWXXWWWWXXXXWWXWWWWWXWWWXWXXWWWXWXXXWWXWWXWWWWWWWXWWWXXXWWWWWWWWXXWXWWWXWXXWWXWWWXWWWWWWWWWXXWXXWXWWXWXWXWWWWWXWWWWWWWWWWXWWWXXWWWWWWXWXWXWWWXXWWWWWWXWWWXWWWWWXWXXXXWXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXWXXXXXXXXXXXXXXXXWXXXXXXXXXXXXXXXXXWXXXWXXXXWXXXXXXXXXWXXXWWXXXXXXXXXXXXXWXXWXXXXXXXXXXXXWXXXXWXXXXXXWXXXXXXXWWXWXXXXXWXXXXXXXXXWXXXXXXWXXXXXXXXXXXXXXXWXXXXXXXXXXXXXWXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXWXXXXXWXWXXXXXWXXXXWXXXXXXXXWXXXXWXXXXXXXXXXXXXXXXXXXXXXXXWWXXXXXXXXWXXWXXXWXXXXXXXXXXXXXXXXXWXXXXXXXXXXXXXWXXXWXWXWXWWXXWXWXXXXXXXXXXXWXXXXXXXXXXXXXXXXXXXWXXXXXXWXWXXWXXXXWWXXWXXWXXXXXXWXXXXXWXXXXXXXXXXXXXXXXWXXXWXXXXXXXXXXXXXXXXXXXWXXWXXXWXXXXXXXXWXXXWXXXXXXXXXXXXXXXXXXXXXWXXXXWXXWWXXXXWXXXWXXXWXXXXXXXXXXXWXXXXXXXXXXXXXXXXXWXXXXXXXXXXXXXXXXXXXWXXXXWXXXXXXXXXWXXXXXXXXWXXWXXXWXXXXXWXXW}XXXXXXXWXXXXXXXXXXXXXXXXXXXXWXXWXXXXXXXXWXXXWWXXXXXXXXXXXXWXXXXXXWWWXXWWXXXXXWXXXXWXXXXXXXXWXXXWXXWXXXXXWXXWWXXWXXWXWWXWWXXXWWWXXXXXWXXXWXXXXWWXXXWWWWWXXXXXXWXXXXXXXXXWXXWXXXXXWXXWWXXWXXWXWWXWWXXXW}XXXXXWWXWXXXXXXWXWWWXXXXXXXWXXWXX|XXWWXXWWWXXXWXXXXWXWXWWXXXXXXXXWXWXXXXXXXXWXXXXWWXXXWWsaXXXWWXXXXXXXXWXXXXWXWWXXWWWWXWXXWXWWWXXXWWXXWXWWWXXWWXXWXXXXXXXWWXXXXXXWXXWXXXWWWXWXXXXWWWXWXWWXXWXXWXXWXXXWXXXXXXXXXWWWWXXXXXWXWWWXWXXWWXWXWWXXWWXWWXXWWXWXXXXWWWXXXWWWWXWWXWWXXXWWWWWWXXWWWWWXWXXXWWWWXWWWWXWWXXXWWWWXWWWWXWXXXWWXXXWWXXWXWXWXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXWXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXWXXXWXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXWXXaXXXXXXXXXXXXXXXXXXWXXWXXXXXXXXXXXXXXXXXXXXXXXXXXXXXWXXXXXWXXXXXXXXXXXXWXXXXXXXXXXXXXXXXXXXWXXWXXXXXXXXXXXXXXXXXXXXX|WXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXW}WXXXXXXXXXXXXXXXXXXXXXXXXXWXXXWXXXXXXXXXXXWXXXXXXXXXXaXXXXXXXXXWXWXXXWXXXXXXWXXXXXXXXXXXXXXXWXXXXWXXWWXXXXXXXXXXWXXXXWXXXWXWXXWXXXXXWXXXXXXXXXXXXXWXWXXWXXXXXXWXXXXXXWXXXXXXWXXXXXXXXXXXXXXXWWWXXXWXWXXWXXWXXXWWXXXWXXXXWXXXXXXXXXXWXXXXXWXXXXXXXXXXWXXXWXXXWXXXXXXXWWXXXXXXXXXXXXXXXXXWWXXXWXXWXXWXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXsXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXaXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX}XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX}XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXaXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXbǴ}}}}}}}}}}}}}}sXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXjXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXsaXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX}XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX}XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXǢ}}}}}}}}}}}}}aXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXǫ}aXXXXXXXXXXXXXXXXXXXXXXXXXXXXa}aXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXsXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX}XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX}XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXǫ}XXXXXXXXXXXXXXXXXXXXXXXXXX}XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXYXXYXXXXXXXXXXXXXXXXYXXXXXXYXXYXXYYXXXXXXXXXXXXYXXXXXXXYXXXXXXXXXXXXXXYXXXXXXXYXXXYXXXXXYXXXXXXXXXXXXXXXXXYXXXXYXYXXXXXXXXYXYXXXXXXXYXXXXXXXXXXXXXYXYXXXXXXYXXXXXXXYXXXYXXXXXXXXXXXXXYXXXXXXXYXXXXXXXXXXXYXXXXXXXXYXXYXXXXXXXYXXXXYXXXXXXXXXXXXXXXXXXXYXXXXYXXYXXXXXXXXXYXXYXXXXXXXXXXXXXXXXXXXXXXXXXXXYXXYXXXXXXXXXXXXXYXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXYXXXXXXXXXXXXXXXXXYXXXXXXXXXXYXXXXXXXXXXXYXXXXXXXXXXXXXXXXYXXXXXXXYXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXYXXXXXXXXXXXXXXXXXXXYXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXYXXXXXXXXXXXXXXXXXXXXYXXXX⾙tXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX}XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXjXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX}XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX}XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX⾙tXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXYXXYXXYXXYXXXXXYXYYXXYXYYXXYYXXXYYYXXXXXXYYXXYYXYYXXXXYXYXYXYYYXYXXXXXXYXYYXYXYYYYXYYXYXXXXYXXYXYYXXXXYXYXYYXXYXXXYXXXXXYXXYYXYXYYXXYXXYXXXXYXXXXXXYXYXXYXXXXXYYXXXXYXXXXXXXYYYYXXYYXXXYYXXXXXYYXXXXYXXYXXXXXYXXXYYYXYXXYXYYXXXXYXXXYXYXYXXXYXXYYXXXXXYXXYYXXXXYYYXXXYXYXXYYYXYXXXXXXXXYXXXXXYXXXXYYXYXXXXXYXXYXXXYXXXXYXYXXXXXXXXXYYXXXXXXYXXYYYYYXXXXXXXXXXXYXXXYXXXXXYXXXXXXXXXXYXXYXXYXXXYXXXXYXXXXXXXYYXXXXXXXXXYYXXXYYXXXXXXXYXYYXXYYXXYXXYYXXXXYXXXXXYYXXXYXYXXXXXYYXXYYXYXXXYYXXYYYXXXXXXXXYXYXYYYXXXXXXXXXXXXYXXYXXYYYXYXYXXXXYYXYYXYYXXXXXXXYXXXYXXXXXYYYYYYXYYXXXXXXXXYXYXXXXXXYXYkⴆXXXXXXXYXXXXXXXXXXXYXXXXXYXYXXXXXXXXXXXXXXXYYXXaYXXYXXXYXXYYXXXXXXXXXXXYXXXXXXYXXXXXXYXXYXXXXXXXXXYYXXXXXXXYXXXXXXXXXXXXYYXXXYXXXYXXXXXXXXYXXXXXXXYXYXYXXXXXXXXXXXXXXYXXXYXXXXXYXXXXXXXXXXXXXXXXXXXYXXXXXXXXXYXXXXXXXXXXXXXXXXXXYXXXXXXXXXXXXXXXXXXXXXXXtXXXXXXXXXXXXXXYXXXXYXXYYXXXYYXXXXXXX}YXXYXXXXYXXXXXXXYXXXYXXXXXXXXXXYX}XXYXXXXXXXXYXXXXXXXXXXXYXXXXXXXYXXYXXYXXXXXXXXYX٫}XXXXXXXXXXXXXXXXXYXXXXXXXXXXXXXXXXYXXXXXXXXkXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXYXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXYXXXXXXXXXXXXXXXXXXYXXXXXXXYXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXYXXXYYYYYXYYYYYYYYXYYXXYYYYYXYYXYYYXYXYXYYXXYXYYXYXYYYXYYYYXYYXXYXXXYYXXYYYYYYYYYXXYXXYYXXYXYYYXYYYYXY~YYYXXXYYYXYYYYXXYXXYYYXYYYYYXYXXYYYYYXYXYXYYXXXXXYYYYYYXXXXXXYXYYYYXXXYXYYYXYXYXXXYYXYYXYYYXXYYYYXYXYYXXXYYYYYXYYYXYXYYXYYYYXYXYXYXXXYYXYXYYYYYYXXYXXXXYYYYXXYYXXYYXXXXXYXYXYYXYXYXYXYYXXXYYYYYYXXXYYXXYXYYYXYXXYYXYYYXYYXXYXYYXXYYXYYXXXYYYYXXXXXYYXXXXYYYYXYYXYXXXYXYYXYYYXXYXXYYYYYYYXXXXYYXXXXYYYXYXXYXYYYXYXXXXYXXXYYXYYXXXYYXYYYXYXXXYYYYXYYYXYYXXYXYXYXYYYXYYXYXYXXYXYXYYYXXYYYYYXYXXYXYYXXYYYXYXYXXXXYXXYXYYXYXYXYYYXYYXYXYYXYXYYXYYYYXYYYXYXXYXYXYYYXYYYXYYXYXXYYYXYXXYXYYXYXYXYYXYYYXXYYYYYXYYYYXYYYXYYXYXYXXXYYXYXXYYXYYXXXYXXXXYXXXYXYYYYXYYYXXYXYYYXYYYYYXXXYXYXXYXYXXXYYXXXXYXXXYYYXXYXXXYYXXYXXYXY뾆XXYXYYYXYXXYYXYYYXXXXYYXYXXXXYYXYYXXYYYYYXYXXXXYYXYYYatXXXYXXYXXYXXXXXYXYYXXYXYYXXYYXXXYYYXXXXXXYYXYYXYYYYYYXYYXYXXXXYXXYXYXXXXYXYXXXXXYYXYXXYYXXXYXXXYYXXXXYYYYYYXYYXYXXXYXXXYXXXYYXXYXXXXXXXYXYYYXYYYYXXXYXYYXYXXYXXXYXYXXXYXXXXYYXXYYYXXYXYYXYXXYXXXXXXXYkYXXYXXYYYXXXXYXYXYYXXXXXYYXYYXYYXXXXX}YXXXXYXXYYXYYXYXXXYYXYXXYXXYYXXXXYXXYXXXXXXYYXYYXYXXYYXXXXYXXYXYYXXYXXYYXYXXXXXXXXXXYXYXXYXXXXYXXXXYXXY~}XYXXXYYXXYXXXYXXXXXXXXXXYXYXYXYXXYXYXXXXXXYXYXYXYYXXXYXXXYXXYXXXYYXYXXXXXYXYXXYXYXXXXXYXXYXXXXYXXXXYXXXYXXXXXXYYXXYXXXtXXYXXXXYYXXXXXXYYXXXXXXXXXYYXXXYYXXXXXXXYXYXXXYYXtYXXXXXXXXYXYXYYYXXXXXXXXXXXXYXXYXXYYYXYXYXXXXYYXYYXYYXXXXXYXYXXXXXYYXYXXXXXXYYXXXXXXXXXYXXXXXXXYXXXYXYXXXXXYXXYYXXXXXXYXXXYXXXXXXXXXXXXXYYXYXXXXXXXXYXXXXXXXXYYXXXXXXYXXXXYXYXXXXYXXXXYXXXXXXXYYYXXXXXXXXYXXXYXYXXXXXXXYXXXXXXXXXXYXXXXYXYYYYXYYYYXYXXYXYYYYYYYYYYYYYXYYYYXXYYYYYYYXYYYYYYYYYYYYXYYYYYYXYYYXYYYXYYXYYYYYYXYYXXYYYYYYYYXYYYYYYXY~YYYYYYXYYYYYYXYYYYYYXXXYYYYYYYXXYYYYXYYYXYYYYXYYYYYYYYYXYXYYYYYYYYYXXYYYYYXYYYXYYYYYXYYYYYYYYYYYYYYYYYYYYYYXYYXYXYYYYYYYXYYYXXYYYYXYYYYYXXYXYXYYYYYYYYYYYXYYYYYYYYXYYXYXXYYYYYYXYYYYYXYYYYYXYYYYYYYYYYYYYXYYYYYYYYYYYYYYYYXYYYYYYYYYXXYYYYXYXYYYXYXYYYXYYYXYYXXYYYYYYXYYYYYYYYYYYYYYYYYYYYXYYYXYYYYYYYYYXYYXYYXYXYYXYYYXYYYYYYYYXXXYYYYYYYXYXYYYXYYXYYYYYYYYYYYYYYYYYYXYYXYYXXYYYYYXXXYYXXXYXXXYYYYYYYYXXYYYYYXYYYYXYYYYYYYYYYXYYYYYYYYYYYYYXYYYYXYYYYYYYYXXYXYYYXYYXYYYXYYYYYXYYXXYYYXYYYYYYXYYYYYYYYXYYYYYYYYYXYYYYXYYXYXXXYYYYXYYYYYYYXYYYYYYXYYXYYYYYYXYYYXXYYXYYYYYXYYYXYYYYYXXYYYYYXYYYYYYXYYYXYYYYYYXYYYYlYYYYYYYXYYYXYXYYYYYXXYYYYYYXXYYYYXYYYXYYYYXYYYXYXYYYYXXYYX}XYYXYYYYYXYYXYYXXYYYYYXYYYYYYYYXYXYYXXXYYYkXYYXYYXYYYXYYYYXYXYYYYXYYYYYYXYYYXXXYXXXYXXXYYXYYYXYYYYYYXYXYYYXYYYYYXYYXYYYXYYXYXYYXXYYYYYXYYYXXYYXYXYYYYXYYXYYYYYYYYXYYYYXYXXYXYXXXYXXYYYYXYXYYYXXYYXYXYYYYXYYYXYYYYYYXYXYYXYXYXXYXYXXYXYXXYY}XXYXYXXXXYXYYYYXYYXYXYYYYXYXYYYYYXYYYXYXYXXYYXXYYXXYYXXXXXYXYYXYYYXYYYYXXYXXYXXYYYYXYYXXYYYXXXXYYYYYYYY}}XYXYYYYYXYYYXXYXXYXXYXYXYYYYXYXXYYXYYXYYXYYYYYYXYXXXYYYXYYYYYXYYYXXXXXYYYXYYYYYYYYXYYYYXYYXXXXYXYXYYYYXXXYXYYXXYXYXYXǐXYYXYXYYXXXYXYYXXYYXYYYYXYXYYXYYYYXYYYXYXXYYYXYYYXYXYXbtYYXYXYXXXYYXXXXYYXYYXXXYYXXXYXYXYYXYYYYYYYYXXXYYYXXYYYYYYXXXYYYYXYYXXXXXYXXYXXYYXYXYXYXXYYXYYYXXYXXYYXXXYXXYYXYXXXXXYYXYYXXXYYXXYYXYYXXYYYYYXYYXXXYYXYXXYYXXYYXYYXYXXXYXXXXXYYXYXYYYYYYYXYXXYXYXYYXXXXYYYXYYXYYXXXYXXXYYXXYXYXXXXYXXXYYXYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYY~YYYYYYYXYYYYYYXYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYXYXYYYYYYYYYYYYYYYYYYXYYYXYYYYYYYYYYYYYYYYYYYYYXYYYYYYYYYYYYYYXYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYXYYYYYYXYYYYYYYXYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYXYYYYYXYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYXYYYYYYYYYXYYYYYYXYYYYYXYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYXYYYYXYYYYYYYYXYYYYYXYYYYYYYYYYYYYYYXYYYYYYYYYYYYYYYYYXYYYYYYYYYYYYYYYYXYYYYYYYYYYYYYYYYYYYYYYYXYYYXYYYYYYYYYYYYYYXXXYYYYYYYYYYYXYYYYYYYYYYYYYYYYYYYYYYYYYYYXYYYYXYYYYYYYYYYYYYYYYYYYYXYYYYYYYYYYYYYYYYXYYYYYYYYYYYYYYYYYYYYYYYYXYYYYYYYXbkYYYYXYYYYXXYYYYYYYYYYYYXXYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYX~YYYYXYYYYYXYYYYYYYYYYXYYYYYYYYYYYXYYYYYYYuYYYYYXXYYYYYYYYXYYYYYYYYYXYYYYYYYYYYYYYYYYYYYYXYYYYYYYYYYYYYYYXYYYYXXYYYYYXXYXYYYXYYYYYXYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYXYYYYYYYYYYYYYYYYYYYYYXYYYYXYYYXYYXYYXYXYYYYYYYYYYYYYYXXYYYYYYYYYYXYYY~YXXYYYXYYYYYYXYYXXYYYXYYYYXYYYYYYYYXYYYYYYYYYYYXXXYYXYYYYYYYYYYYYYXYYYXYYYYYYYYYXYYYYYYYYXYYYYYYYYYYXYY}~YYYYYYYYYYXYYYYYXYYYYYYYYYYYYXYXYYXYXYYYYYXYXYXYXYXXYYYXYYYYYYYYYYXYYYYYXYYYYYYXYYXYYYYXYYYYYYYYYYYYXYXYYYYYYYYXYYYYtYYYYYYYYYYXYYYXYYYYYYYYYYXYYYYYYYYXYYYYXYYYYYXYYYXYXYYYYYYbbXXYYYXYYXYXYYYYYYYYYXYYYYXYXXYYXXYYYYYYYXYYYYYXYYXYYYYYXYYYYYXXXYXYYYYYXYYYXYYXXYYYXYYXYYYYYYYYYXYXYYXYYYXXYXXYYXXXXYYYXYXYYXYYYYYYYYYYYYYXYYYYYYYXXYXXXYYYYXXYXYXXYYYYXXYYYYYYYYYYYYYYYXYXYYYXYYXYYYYXXYXYYYYYYYYYYXYYYXXXYYYYXYYXYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYY~YYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYuYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYbYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYlbYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYkYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYY~YYYYYYYYXYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYXYYYYYYYYYYYYYYY~~YYYYYYYYYYYYYYYYYYYYYYXYYYYYYYYYYYXYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYXYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYukYYXYYYYYYYYYYYYYYYYYYYYYYYYYYYYXXYYYYYYYYXYYYYYYYYYYYYYYYYYYYXbYYYYYYYYYYYYYYYYYYYYYYXYYYYYYYYYYYYYYYYYYYYYXYYYYYYYYYYYYXYYYYYYYXYYYYYYXYYYYYYYYYYXYYYYYYYYXYYYYYYYYYYYXYYYYYYYXYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYXYYYYYXYYYYXYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYZYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYZYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYZYYYYYYYYZYY~YYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYZYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYZYYYYYYYYYYYYYYYYYYYYYZYYYYYZYYYYYYYYYYYYYYYYYYYYYYYYYYYYYZYYYYYYYYYYYYYYYYYYYZYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYZYYYYYYYYYZYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYZYYZYYYYYYYYYYYYYYYZYYYYZYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYbYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYbYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYZYYYYYYYYYZYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYkYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYY~YYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYY~~YYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYklYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYuYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYZYYZYYZYYYZYYYYZZYYYZYYYYYYYYYYYYYYYYYZYYYYZYYZZYYYYYYYYYZYYYYYYYZYZYYYYYYYYYYZZYYYZYYYYYYYY~YYYYYYYZYYZYYYYYYYYYYYYYYYYYYYYYYYYYYYYYZYYZYYZYYYYYYYZZYYYYYYYYYZZYYYZYYYYYZYYYYYYYZYYZYZYYZYYYYYYZYYYYYYYYYYYYYZYYYYYYZYYYYYZYYYYYYYZYYZYYYYYZYYYYYYYZYYYYYZYYZYYYYZYYYYYYYYYYYYYYYYYYYYYYYYYYYYYZYYYYYYZZYYYYZYYYYYYYYYYZZYYYYYZYYYYZYYYZYZYZZYZYYYYYYZYYZYYYYYZYYZYYYYZYYYYYYYZYYYYYYYYYYYYZYYYYYYYYZYYYYYYZYYYYYYYYYZYYYYZYZZYYYZYZYYYYZYZYYYYYYYZYYYYYYYYYYYYYYYYYYYYZYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYZYYYYYYYYYYYYYYYYYYYYZYYYYYYYYYYYYYYYYYYYYYYYYZYYYYYYYYYYYYYYYYYYYZYYYYYYYYYYYZYYYYYYYYYYYYYYYZYYZYYYYYYYYYYYZYYYYYZYYYYYYYYYYYYYYYYYYYYYYYYYYYYZYYYYYYYZYYYYZYYYYZYYYYYYYYYYZYYZYYYYYYuYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYuYYYYZYYZYYZYYYYYYYYZYYYYYYYYZYYYYYYYYYYYcYYYYYYYYYZYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYZYYYYYYYYYYYYYYYYYYYYYYYYYlYYYYYYYYYYYYYYYZYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYZYYYYYYYYYYYYYYYYYYYYYZYYYYYYYYYYYYYYYYYYYYYYYYYYY~YYYYYYYYYYYYYYYYYYZYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYY~~YYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYb~YYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYZYYYYYYYYYYYYYYYYYYZYYYYYYYYYlYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYZYYYYYYYYYYYYYZYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYZYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYZYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYZYYYYYZYZZZYZYZZYZYYZZYYZZZYYZZYYZYYYYZYZYYYYZZZYZYYYYYZYZYYYYZYYZZYYYYZZYZYYYYYZZZZZYZYZYYYYZYYYZYYY~ZYYYYYYZZYZYYZYZYZZYYYYYZYYYYYYYZYYZZZYZYZZZZYYZYZYYYYZZZYZZYZYYZYZYYZYYYYYZZZYYYZZYYYYYYYZYZYYYYYYZZYYYZYZYZZYZYYYYYYYZYYZYZZYZYYYZZYYYYYYYYYYZZZYYZYYYZYZYYZYYZYYYYZYYZYZZYYYYYYZYYYZZYYYYZYZZYYYYYYYYYYZYZYYYYZYYYYYZYYZZYYZYZYYYZZZYYYZYZYYZYYZYYZYYYYYYYYYYYYZZYZYYZYZYYZYYZYYYYYYZYYYYYYYYZYYZYYYZYYYYYYZZYZYZYYZZYYYZYYYYYYYYYYYZYYZYYZYYYYZYZYZYYZYYYYYYYYZYZYZYYYYYZYYYZYZZYYYYZZYYYZYYYYYYYYZZYYZZYYYZYYYYYYYYZYYYYZZZYYYYYYZZYYYYYZZYZYYYZYZZZYYYZZYYYYZYYZYYZZZYZYYYYYZYYYYYYYZYZYYYYYYYZYYYYZYZYZZYZZZYYYZYZZYYZYYYYYZYYZYYZYYZYZYZZZZYZYZZYYYZYZYZYYYZZZYZZZZYYYYYYYZYYYZYYYYYZYYZYYYYYZYYYYYYYlcYYYZYZYYYZYYYYYZYYYYYYZYYYYYYZYZYYYYYZZZYZYZZYYYYYYYZZZYYYYZZYYYYYYYZYZYYYlYYYZYYYYYYYYYYYYYYYZYYZYZYZYYYYYYYYYZYYYu~ZYYYZYYYYYYYYZZZYYYYYYYZYYZYYYZYZYYZYYYYYZYYZYYZZYZYYYYYZYZZYZYYYYYYZYYZYYYYYYZYYYYYYZYZYYYYYYYZYYYZYZYYYYYYYZYYYYYYYZZYYYYYYYYYYZYYZYZYYYYYYYZZYZYYYYYYYYYYYZYZYYYYYYYYYYYZYZYZYYYYYZYYYYYY~ZYYYYYZYYYYYYYYYYYYYYYYZZYYYYYYYYYYZZYZYYYYYYYYYYZYYYYZYYYYYYYYYYYYYYYYYYZZYYYYZYYYYYYYYYYYYYZZYYYYYYYY~~YYYYZYYYYYZYYZYYYYYYYYYZYYZYZYYYYYYYYYYYZYYYYYZYYYYYYYYYYZYYYYYYYYYYYYYYZYYYYYYYYYYYYZZYYYZYZZYYYYZYYYYYYYYYYYYYYYYYYYYZZYYYYYYZYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYZZYZYYYYYYYYYYYYZYYZYYYYYYuYYYYYYYZYYYYYZYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYZZYYYYYYYYYYYYYYYYYYZYYYYYYYYYZYYYYYYYYYYYYZYYYYYYYYZYYYYYYYYYYYYYYYYYYYYYYYYYYZYZYYYYYYYYYYZYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYZYYYYYYYYZYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYZZZZZZYZYZYYZZZYZYZZZYYZYZYYYZZZZZZYYZYZZZZYYYZZZZYZZZZZZZYYYYZYZYZYYYZZYYYZZZYZZZYZYYZYZZYZZYZYZZYZYZ~YZZYYYZZZYYZZZZYZYYYYZZZZYYZZZYYZZZYZYZZZZZZZYYYYYYYYYZYZYZYZZYYZZZYZZYYZZYZZYZZYYYYZYYZYYZYYZZZYZZYYYZZYYZYZZZYYYZZYYYZYYZZZZZYZZYZYZZYZZZYYYZYYZZZZZYZYZZZYYYZYYZZYZZYYYZYZZYZYZYZZZZZYYYZZZZYZZZYYZZZZZZZYYZZZZYZZZZYZZYZYYZYZYZZYYZZYYZYZZYZZZYYYYZZYYYYYYYZZZYYZZZYYYZZYZYYZZZYZYYYYZZYYYYZYYZYZYZYZYYZYYZZYYYYYZYZYYYYYYZZZYZYYYYZYZZYYZYYZZYZYYYZZZYZZYYYYYYYYZZYYYYZZZYYZZYZYZZYZYZYZZZZZYZYZZYYYYZYZZYYZZYZZYYZYYYYZYYYYZZZYYZZZYYZYYZYYYZZZZYZZYYYYYYZZZZYZZYZZZZYYYYZYZZYYYYZYZYZYZZZYZZZZYZYZYYZYYZZZYZYYYZYYZYYZZZZZZYZYYYYYYZYYZZZYZZZZYZYZZZYZYYZYZYYZZYZYYZZZYZYYZZZZZYZYZYZZZZZYYYYZZZZZYZYYcYZZYYZYZYZZYYZYZYZYZYZYYYZYZZYYYZZZZZYZZYYZYZYZYZZYYZYYZYYZYYYZYYZYYYZZZZYZZc~YYYYZZYZYYYYZYZYZZYYYYZYYYZZYYZZYZYYZZYYZZZZYZZZYYYYYYYZYYZYZYYZYZZZYYZZZYYYZYYYZYYYYZZYZYZYZYYYZZZYYZYYZYYYYYYYYY~bYYYZZZYYZYZYYYYYYYZZZYYYYYYYZYZYYZZYYYZYYYYYYZYYYZYYZYYZYYZYYYYYYYZYYYYYZYYYcZZYYZYYYYYYYZYZYZYYYYYYYZYZYZZZZYYZZYY~YYZYYYYYZYYYYYYYZZZYZYYZYZZYZYYYZYZZZYYYYYZZZYYYYYZZYZYYYZYZZZYYYZZYYYYZYZZYYZZYYZYYYYYZYYYYYYYZYZYYYYY~~YYZYYZYYZYYYZYZYZZZYZYZZYYYZZZYZYYYZZZYZZZZYZYYYYYZYYYZYYYYYZYYZYYYZZZYYYYYZYYYZYZYYYYYYYYYZYYYYZZYYYYYZYYYZZYZZuYYYYYYYZZYYZYYZYYZYYZYYYZYZYYYYYYYZZZZYZZYZZYYZYYYZYYYYZYYYZZYYZZYYYYZZZZYYcZYYYZZYYZYYYYYYYYZYZYZYZYYZZZYZYYYYZYYYYYYZYYYYYYZYYYYYYYYYZYYYYZYYYYYYZYYZYYZYZZYZYYYYYYZYZYYYYZYZYYYYYYZYYYYZZZZZYYYYYZYZYZYYYYYYYYYYYYYYZZYYYYZZYYZYZYZYYYYZYYYYYZYYYYYZYYYYYYYYYZYYYYYYYYYYYYYYYYYZZYYYYZZYYYYYYZYYZZYYYYYZYYYYYZZZZZZZZZZZZZZYZZZZYZZZZYYZZZZZZZZYZZZZZZZZZYZYZZZYZZYYZZZZZZZZZYZZZZZYZYZYZYZZZZZZZZZZZZZZZZZYYZYZZZY~ZZZZZZYZYZZYYZZZZYZZZYZZZYZZZZZZZZZZYZYZYZZYZZZZZZZYZZZYZZZZYZZZZZZZZZZYYZZZZYYZZZYZYZZYZZZYZYZYYZZZYZZZZYZZZZZZZZYZZYZYZZZYYYYZYZZZZZZZZZZZYYYZZZYYYZZZZZYZZZYYZZZYYZZYZYYYZZZYZZZZYYYZYZZZZZZZZYZZZZYYYZZZZZZZYZZYZZZYZZZYZZZYZZZYZYZZZZZYZZZZZZZYZZZYZYZZZZZZZZZZYZYZYZZYYZYZZYYYYZZZZYZZZYYZYZZYZZYZYYYZZYYYZZZZZZZZZZYZYZZZZYZZYZZZZYYYZZZZZZZZYZYZZYYZZYZYZZZZZZYYZZZZZZZZYZZYZZYYZZZYYYYZZZZYZYYZZZYYZZZYYZZZYZZZZZZYYZZZZZZZYYYYZYZZZZZYYYZZZZZYZZZYZYZZYZYZZZYZYYYZZZYZZZYZZZZZYZYZZZZYYZZZZYZYYZZYZZZZYZZYZZZZZZZYYZZYZZYZZZYZZZZYYYYZZZYZZZZZZZZZYYZYZYYZZZZZZZYZZYZYZZYZYYZZYZZZZZZZZYYYZZZYZZYZcYZYYYZYZZZZYYYZZZYYYYYZZYZZYYZZYZZZYYZZZYYZZZZYZZZZZYYYYZZZYZZYZZYZZZZZZZZZYYYZZYZYYZYZZZZYZZZZYZZYYZZZZZZYZYYZYZZZZYZZYZYZZZZYZYYYZZZYYYZZYZYYZYZZYYYYZZYZZZYYZYYZZZYZYZZYYZZZZZYZZZYZYYZZYZYYYZYYZZZYZYZYYZYZZZYZYYZYZYZZZZZYZZZZZYYZZZZYZZYYYYYZYZYZYYZZZZYYZZZZYYZZZZZYYYZlYZYZYYYYZZZYZYYZZZYZZYZZYYZZYZYYZZZZYZZ~ZYZZZZYZYZZYYYYZYZZZYYZYZZZYZYYYYZZYYYZZZZZZZZYYZYZZYYYZZZYYZZYYYYYYZZZYYZZYZZZYZYYYZYYYYYZYZYZYZYZYZYZ~~ZZZZYYYYZYZYYZZYYZZZZZZZZZYYZYYZYZYYZZZZYYZZZZZYYYZYZZZZYZYZZZZYYYZYYZZZZYZYZYZYYYYZYZYZZZYZZZZYZZZYZYZYYZZZYYZucYYYYYYYYZZYZYZZZZYYZYZYYYYZYZYZZZZYYZYZYYZZZZZYZZZYYZZZYZYYYZZYZZZYYYYYYZYZYZZlZZYYZYZYZYZYZZYYZYYYYZYYYYZZYYZZZYZYYYZZYZZYZZZZZYYZYZYZZZYYYZYZYYZZZYZYZYYZZYYZYYYZYYZYZYYYZZYZYZYYZYZZZYYYYYZZYYYYZYZYYYYYZZYZYZYYYZZYZYZZZYZZZYZYZZYZYZYZYYYZYYYZYYZZZYZZZZYYZYZYYYZZYZZYZZYZYZYYYZYZYZYYZYZYYYZYZZYYZYZYYZYZZZYYZZZZZZZZZZYZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZYZZZZZZZZZYZZZZZZZZYZZZZZZZZ~ZZZZZZZZZZZZZZZZZZZZYZZZYZZZZZZZZZZZZZZZZYZYZZZZZZYZZZZZZZZZYYZZZZZZZZZZZZZZZZYZZZZZZZZYYZZZZYZZZZZZZZZZZZZZZZZZZZZZZYZZZZZZZZYZZZZZZZZZZYZZZZZZYZYZZZZZZZZZZZZZZZZZZZZZYZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZYZZZZZZZZZZZZZZYZZZYZZZZZZZZZYZZYZZYZYZZZYZZZZZZZZZYZZZZYZZZZZZYZZZZZZZZZYZZZZZZZYZZZZZZZZZZZZZZZZZZZYZZZZZZZZYZZZZZZZZZYZZZZZZYZZZZZZZZZZZYZZYZZZYZZZZZZZZZZZZZZYZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZYZZZZZYZZZZYZZZZZZYZZZZZZZZZZZZZZZZZZZZZZZZZYZZZZZZZZZZYZZZZZZZZZZZZZZZZZZZYZZZZZZZZYZZZZZZZZZYZZZZZZYZZZZZYZZZZZZZZZZYZYZZYZYZZZZZZZZZZZZZZZZZZZZZYZZZZZZYYZZZZZYZZZZZZZZYZZYZZYZZZZZZZZZZZZYZZZZZZZZZZZZZZZZYZZZZYZZZZYZZZZZYZYZZZZZYZZZZZZYZZZZZZZYZYZZZZZZZZYZZZZZZYYZZZZYZZYZYZYZuZZZZZZYZYYZZZZZZZZZYYZZZZZYZZZZZZZZZZZZZZZYYZZZZZZZZZZZZZZZZZZZZZZZYZZYZZZZYZZYZZZYZZZZZZZZZZZZZZZZZZYZZZYZZZZZZZZZZ~ZZZYYYZZZYZYZZZYZZZYYZZZZZZZZZYZYZZYZZZZYZZZZZZZZZZZZZZYZZYYZZZZYZZZZZZZZZZZYYYZZYZZZZZZZZZYYZZZZZZZZZZZYZZYYZZ~ZYZZZZZZYZYZZZZYZZZZYYZZZZZZYZZZYYZZZZZZZYYYYZYYZZZZZYYZZZZZZZZZYYYYZYZYZZZZZYZYZZYZZYZYZZYZZYZYZZZZZYZ~~ZZYZZZZZZZZYYZZZZZYZZZZZZZZZYZZZZYZZYZZZZYYZZZZZZZYZYZZZYZYZZYZZYZYZZYZYYZYZZZZZZZYZYYZZYYZZYYZZYZYZZZZZYZZZZZcYYZZYYZZZZZZZYZZZZZZYZYYYZZYYYZZZYZZZZZZZYZZZYZZZZZYZYYZYYZYZZZYZYZZZZZZZYZYZZZZZZZZZZZYZYZZYYZZZYYZZYZZYYYZYZZYYZZZZZZZZYYZZZYZYZZYZYZZYYZZYZZYZZYZZYYYZZZYZZYZYYZYYZYYYYZZYYZZYZYYZZZZZZZZYZYZYZZYZZYZYZZZZZYZYZZZYZYZYZYZYZZZZZZZZZZZZZZZZYYYZYZZYYYZZYZZYYZZZYYZZZZZZZZZYYZYYYZZZYZYZZYYYYZYYZZYZZZZZZZZZYZZYZYZZ[ZZZZ[ZZZ[ZZZZZZZZZ[ZZZZZ[ZZZZ[ZZZZZZZZZZZZZ[ZZZZZZZZZZZZZZZZZZZZZZZZZ[ZZZZZZZZ[ZZZZ[ZZZZZ[ZZZZZZZZZZ~ZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZ[ZZZZ[ZZZZZZZZZZZZZZZZZZZZZ[ZZZZZZ[ZZZZZZZZZZZZZZZ[ZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZYZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZYZYZYZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZYZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZcZZZZZZZZZZZZZZZZZYZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZYZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZYZZZZZZZZZZZZZZZZZmuZZZZZZZZZZZZZZZZZZZZZZZZZZZZYZZZZZYZYZZZZZZZZZYYZZZYZZYZZZZZZZZZZZZZZZZZcZZZuZZZZZZZZZZZZZZZZYZZZZZZYZZZZZZZZZZZYZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZuZZZZZZZZZZZZZZZZZZZZZZZYZZZZYZZZZZZZZZZ~YZZZZZZZZZZZZYZZZZZZZZZZYZZZZZZYZZZZZZZZZZZZZZZZZZZZZZZZZYZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZYZZZZZZZZZZZZZZ~~YZZZZZZZZZZZZZZZZZZZZZYZZZZYZZZZZZZYZZZZZZZYYZZYZZZZZZZZZZZZZYZZZZZZZYZZZZZZZZZZZZZZZZZZYZZYZZZZYZZYZZZZZYZZYZuYZZZZZZZZZZYZZZZZZYZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZYZYZZZZYZZYZYZZZZZZZZYZZZYZZZZYZZZZZZZZZZZZZZZZYZYZZZZZZZZZYZZZYZYZZYZZZZZZZZZZZYZZZZZZZZZZZZZYZZZZZZZYZYZYYZZZZYZZZYZZZZZZZYYZZZZZZZZZZZZZYZYZYZYZZZZZZZZYZZZZZZYZZZZZZZYZZZZZZZYZZZZZZZZZZZZZZZZZZYZZZZZZZZZZYZZZZZZZZZZZZZZYZZYZZZYZZZZZZZZZZZZZZZZZZZZYZZZZZYZYZZZZZ[ZZZ[ZZ[[ZZ[ZZ[ZZ[[ZZ[[ZZZZZZZZZZZZZZZ[ZZZZ[ZZ[ZZZZZZZ[ZZ[ZZZ[ZZZZ[[ZZ[ZZZZZZZ[[Z[ZZZZZZZZZZ[Z[ZZ~ZZZZZZZZZZZZZ[[[Z[ZZZZZZZZZZ[Z[ZZZZZZZ[ZZ[[ZZZZZZZZ[ZZZZZZZ[[ZZZZ[Z[ZZ[[ZZZZ[[ZZZZZZ[ZZZZZZZZZZZZZZZZZ[[[Z[[ZZ[ZZZZZZZ[ZZZZZZZZZZZ[ZZZZZZZZZZZZZZZ[[[Z[[[ZZZZZZZ[ZZZZZZZZZZ[ZZZ[Z[[Z[ZZ[[ZZZZZZZZ[ZZZZ[ZZZZZ[[ZZZ[Z[ZZZZZ[Z[ZZ[Z[ZZZZZZZZZZZZZZZZ[ZZZZ[ZZ[[ZZZ[Z[[Z[ZZ[ZZZZZZZZZZZZ[ZZZZZ[ZZZZZZZ[[ZZ[[[ZZZZZZZZ[ZZ[ZZZZZZZ[[ZZ[ZZZZZ[ZZZZZZZZZZZZZZZZZ[[ZZZZZ[ZZZ[ZZ[ZZ[[[Z[Z[ZZZZZZ[ZZZZZZZZZZ[[ZZ[ZZZ[ZZZZZZZZZ[ZZZZZZ[[Z[ZZ[ZZZZ[Z[ZZZZZZZ[ZZZZZZZZZZZZZZZZZZZZ[ZZZZZZZZ[ZZZ[ZZZZZZ[ZZ[ZZZZZZ[ZZZZZZZZZ[ZZ[ZZZZZ[[[ZZZZZZZZZZZZZZZZZZ[ZZZ[ZZZZZZZ[[ZZZZZZ[ZZZZZ[ZZZZZZZ[ZZZZZZ[ZZZZZZZZZ[ZZZZZZZZZZZZZZvmZZZZZZZZZZZZZZZZZZZ[ZZZZZZZZZ[ZZ[ZZZZZZZZZZZZ[ZZ[ZZZZZZZZZZ[ZZZZZZZZZZZZZ[ZZZZZZ[ZZZcmZZZ[ZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZ[ZZZZZ[ZZZ[ZZ[ZZ[ZZZZZZZZZZZZZZZZ[ZZZZZZZZ[[ZZZZZZZZZZZ[ZZcZZZZZ[ZZZZZZZZZZZZZZZZZZZZ[ZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZ[ZZZZZ[ZZZZZZZZZZZZZZZZZZZZ[ZZZZZZZZZZZZZZZZZZZ[ZZZZ[ZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZ~~ZZZZZZZZZZ[ZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZcZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZ~ZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZYZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZ[[Z[Z[Z[[Z[Z[ZZZZZ[[ZZZZZZZZ[[Z[[[ZZZ[Z[Z[ZZ[ZZZ[Z[Z[ZZ[Z[[Z[[ZZZ[[ZZ[[[[[Z[Z[[Z[[ZZ[Z[ZZZZZZZ[ZZZZ[~Z[Z[ZZZ[[[[ZZ[[ZZZZ[[Z[Z[ZZZZZZZ[Z[ZZZZZ[[ZZ[[Z[Z[[[ZZZZ[[[Z[ZZ[ZZZ[[Z[ZZ[ZZ[Z[[[[ZZ[ZZZ[Z[[[ZZZZ[Z[Z[Z[Z[[[[[ZZ[[Z[ZZZZZZ[Z[[[[Z[ZZ[Z[[[ZZ[[Z[Z[[ZZZ[[ZZ[ZZ[[[[Z[ZZZ[[[ZZZZ[[[ZZZ[ZZ[ZZZ[ZZZZ[[Z[Z[ZZZ[ZZZZ[[ZZZZ[ZZ[ZZZ[[[ZZZZZZZ[[[ZZZZ[Z[ZZZ[[[[ZZ[[Z[[Z[[[Z[ZZZZZZZZ[[ZZ[Z[ZZZZ[[[[ZZ[ZZ[Z[[Z[Z[ZZZZ[Z[ZZ[[ZZZZZ[[ZZ[ZZZ[ZZ[[[[[ZZZZZZZZZ[Z[ZZZ[[ZZZZ[ZZZZZZZZZZ[ZZ[ZZ[ZZZ[ZZZZ[[ZZZZZZ[[ZZZZZZZZZ[[[ZZ[[Z[ZZZZZ[Z[[ZZ[[ZZ[Z[[[ZZZZ[ZZZZZ[[ZZZ[Z[ZZ[Z[[[ZZ[[Z[ZZZ[[ZZ[[[ZZ[Z[ZZZ[Z[Z[[[ZZ[ZZZZZZZZZ[ZZ[ZZ[[[Z[Z[[ZZZ[[Z[[Z[[ZZZZZZZ[ZZZ[Z[ZZZ[[[[[[[[[[Z[Z[ZZZ[Z[ZZZZZ[[Z[Z[[ZZZ[[ZZZ[ZZZZZ[[ZZZZ[[[ZZZZZ[ZZ[[Z[[ZZZZZZZZ[[ZZZ[ZZZZZZZ[Z[ZZ[[[ZZZZZZZZZZZZ[[ZZZZZ[Z[[Z[ZZZ[ZZZZZ[Z[[ZZZZZ[[ZvZ[ZZ[ZZZZZZ[ZZZ[[ZZZ[ZZZZZ[ZZ[Z[ZZ[ZZ[Z[ZZZZZ[ZZZZZZZZ[[ZZZZZZ[ZZ[ZZ[Z[Z[[ZZZZ[ZZZ[Z[ZZZZZZZ[ZZZZZ[Z[ZZ[ZZ[[ZZZZZ[ZZmZZZZ[[ZZ[ZZZZZ[ZZZZZZZZ[ZZZZ[ZZZ[[ZZZZZ[[ZZZ[Z[[Z[ZZ[ZZZZZZZZZZZZ[ZZZZcZZZZZZ[[ZZ[ZZZZZ[ZZZZZZZZ[ZZZZ[ZZZ[[ZZZZ~ZZZZZ[[ZZ[ZZZ[Z[ZZZZZZZ[ZZZZZZ[[Z[ZZ[ZZZZ[Z[ZZZZZZ[[ZZZZZ[ZZZZZZZ[[ZZZZZ[Z[ZZZZZ[[ZZ[[ZZZZZZ[Z[[ZZZZZZ[~~ZZZZZZZ[Z[[ZZ[ZZZZZZZ[[ZZZZZZ[ZZZZZ[ZZZZZZZ[ZZZZZZ[ZZZZZ[ZZZ[[ZZZZZZZZZZZZZZZZ[ZZZ[ZZZZZ[ZZZ[ZZZZ[[ZZZZ[[ZZZcZ[ZZZZ[ZZZZZZZ[ZZZZ[ZZZZZZZZZ[ZZZZZZZZ[ZZZZ[ZZZ[ZZZZZZZZ[Z[ZZZZZZ[ZZZZZZ[Z[Z[[ZZZZZZZZZZZZZZ[ZZ[ZZZZ[ZZZZZZZZZZ[ZZ[[Z[ZZZZZ[ZZZZZZZZ[[ZZZZZZZZZZZZZZZZZZZZ[ZZZ[ZZZZZZ[ZZ[ZZZZZZ[ZZZZZZZZZZZZZZZZ[ZZZZZZZ[ZZZZZZZ[ZZZZZZ[ZZZZ[ZZZZZZZZZZZZZZZZZZZZZZZZZZZ[ZZ[ZZZZZ[ZZZ[ZZZ[ZZZ[ZZZZZ[ZZZZZZ[ZZZZZZZZZ[ZZZZZZZZZZZ[ZZZ[ZZ[ZZZZ[[Z[[[ZZZZ[[Z[[[Z[[[[Z[[[ZZ[[Z[Z[Z[[[[[Z[[[Z[[[[ZZZ[[[ZZ[[[[Z[[[[[Z[[[Z[Z[Z[[Z[[[[ZZ[[[[[[[[Z[[[[[[[[Z[[[[[[[ZZ[Z[Z[[ZZZZZ[Z[ZZ[[[[[[Z[[[[[[[[[[[[[[Z[Z[[[[[[[Z[[[[[[[[Z[[ZZZ[[[[[[[Z[[[[[[[Z[[[[[ZZZ[ZZ[[[[[Z[Z[[Z[Z[[[[Z[[[[[[[Z[[[Z[[[Z[[[Z[[[[[[[[Z[[ZZ[[Z[[ZZ[ZZ[[[Z[[[[[Z[[[[[[ZZZ[[ZZ[[[Z[[[[[[[[[[Z[ZZ[[Z[ZZZZ[ZZ[[Z[[Z[Z[Z[Z[Z[[[[[ZZ[[ZZ[Z[[[[[[Z[Z[[ZZZZ[[[Z[ZZ[Z[[[[[[[ZZ[ZZZ[[Z[[Z[[[[[[Z[Z[[Z[[[[[Z[[[Z[[ZZ[Z[Z[Z[[[Z[[Z[Z[ZZ[Z[[[[[ZZ[[Z[[[[ZZ[Z[[ZZ[[[Z[Z[ZZZZ[[[[ZZ[Z[Z[Z[[ZZ[[Z[[[[Z[Z[[Z[[[[Z[[[[[Z[[Z[Z[[[Z[[[Z[[Z[ZZ[[[[[ZZ[Z[[[[Z[Z[[Z[Z[ZZZ[[[[[[[[[Z[[[Z[[Z[Z[Z[Z[[ZZ[Z[[Z[[Z[Z[ZZ[Z[ZZZ[[Z[[[[[[[ZZZZ[[[[Z[[[[[ZZ[[[[Z[Z[ZZZ[[ZZZ[[Z[ZZZ[ZZ[[Z[[[Z[[ZZ[ZZZZZ[Z[[ZZ[[Z[Z[Z[ZZ[[[[[[ZZ[[Z[Z[[[ZZZ[[Z[Z[Z[ZZ[Z[[[Z[[[Z[Z[ZZ[Z[[[[Z[[ZZZ[[Z[[[[ZZ[[[[[[[Z[[Z[[[[Z[Z[[ZZ[[Z[[[ZZ[ZZ[[ZZ[[ZZ[ZZ[[ZZZ[[[[Z[[[[[[[[ZZZZ[[Z[Z[Z[Z[[Z[ZZZZ[[Z[Z[[[[Z[[[Z[Z[ZZ[[Z[[[[Z[[[Z[[ZZZZZ[[[[[ZZZ[[[[ZZ[[Z[[Z[[[ZZ[ZZZ[ZZ[[ZZ[[[[[ZZZZZZZZZ[Z[ZZZ[[ZZZZ[[ZZ[[Z[[[Z[ZZZZZZZZ[[Z[[Z[ZZZZ[[[[[[ZZ[ZZZ[Z[[[[[[ZZZZZZZZZ[Z[ZZZ[[ZZZ[[[Z~Z[[ZZZZZZZ[Z[[[ZZ[[Z[ZZ[ZZ[Z[[[Z[[ZZ[Z[[[ZZZZ[ZZ[[Z[[ZZZ[Z[ZZ[Z[[[[Z[[Z[ZZZ[[ZZ[[[ZZ[Z[ZZZ[Z[Z[[[ZZ[ZZZ~[ZZZZZZZ[[ZZ[Z[ZZZ[[[[[[[[[[Z[Z[ZZ[[Z[ZZZZZ[[Z[[[[ZZZ[[ZZZ[ZZZZZ[[ZZZZ[[[ZZZ[Z[ZZZZZ[[Z[[[ZZZZZ[Z[[[ZZZZ[[ZZZZZZZZZ[[[ZZZZZZ[[ZZ[[[ZZZZZZZ[ZZZZZZZ[[ZZZZ[Z[ZZ[[ZZZZ[[[ZZZZZ[ZZZZZZZZZZZ[ZZZZZ[[[Z[[[Z[d[[Z[[[ZZZZ[ZZ[[[ZZZZ[ZZZ[[Z[[[[[[[ZZ[[Z[[ZZZZZ[Z[Z[ZZZ[ZZ[ZZZZ[ZZZZ[ZZ[Z[Z[ZZZZZ[[ZZZZZZZZ[[Z[ZZZZZ[Z[ZZZZZZZZZZ[Z[ZZ[Z[[ZZ[ZZZ[[ZZ[Z[ZZZ[Z[[Z[[ZZ[ZZZZZZZZZZZZZZ[Z[ZZZZZZZZZ[ZZZZZZ[ZZZ[ZZ[Z[ZZZZZ[Z[Z[Z[ZZ[Z[ZZZ[[[ZZZZ[ZZZZZZ[[[[Z[[[[[[[[[[Z[[[[[[[[[[[Z[[[[[[[[[[[[[ZZ[[[[Z[[[Z[[[[[[[[[[[ZZ[Z[[Z[[[[[[[[[[[[[Z[[[[[[[[[[[[[[[[[[~[[[[Z[[[[[[[[Z[[Z[[[[[[[Z[[[[[[[[[[[[[[[[Z[[[[[Z[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[Z[[[[[[Z[[[Z[[[[[[[[Z[Z[Z[[[[[[[[[[[[[[[[Z[[[[[[[[[[[[[[[Z[[[[[[[[[[[Z[[[[Z[[[[[[[[[[[Z[[[[[[Z[[[[Z[[[[[Z[[[[[[Z[Z[[[[[[Z[[Z[[[[[[[[[Z[[[[[Z[[Z[[[[Z[[[Z[[[[[[[[[[[[[[[[[[Z[[[[[[Z[[[[[[[Z[ZZ[[[Z[[[[[[[Z[[Z[[Z[[[[[[Z[[[Z[[[[[[[[[[[[[[[Z[[[[[[[[[[[[Z[[[[[[ZZ[Z[[Z[ZZZ[[[[[[[[[Z[[[[[Z[[[[Z[[[[Z[[[[[Z[[[[Z[[[[[[[[[[[[[Z[[[[[[[[Z[[[[[[Z[[[[[[Z[[[[[Z[[[Z[[[Z[[[[[[[[[[[[[[[Z[[[[[[[[[[Z[[[Z[[[[Z[Z[[[[Z[[[[[[[[[[Z[[ZZ[[Z[[[[Z[[[[[Z[[[[[[[[[[[[[[[[[[[Z[[[[[[[[[[[[[ZZ[[Z[[[[[[ZZ[Z[[[[Z[Z[[Z[[[Z[[[Z[[Z[[[[[[[[vd[[[[[[[[[[[[ZZ[ZZZ[[[Z[ZZZ[[Z[[[[[[[[[[[[Z[[[[[[Z[[[[[[[[[[[[[[ZZ[[Z[[[[[[[[[Z[[[[[[[[[[[ZZ[[[[[[[Z[[[[Z[Z[[ZZ[[[Z[[[[[[[[ZZ[[[dmZ[Z[[[Z[[[[[[[[[ZZ[[[[ZZZ[[ZZ[Z[[[ZZ[[Z[ZZZ[[[[Z[[[ZZ[[Z[Z[[[[[[Z[Z[[[v[Z[[Zc[[[[[[[[Z[[[[Z[ZZ[Z[Z[[[ZZ[[Z[[Z[ZZ[Z[[[[[[Z[[[[[Z[ZZ[[[[[[[[Z[[[ZZZ[[mZ[[[[[Z[[[[[[Z[[[[Z[Z[Z[[[Z[[[Z[[Z[ZZ[Z[[[Z[Z[[Z[Z[[Z[[[[[[[[[[Z[[Z[Z[[[Z[Z[[[[Z[ZZ[[[Z[[Z[Z[[[[[[Z[[[[[[ZZZ[[[[Z[[[[[[[[Z[[[[[[[ZZ[[ZZ[[[[Z[[Z~~[[[[ZZZ[[[ZZ[Z[ZZZ[[Z[Z[[[[ZZZ[ZZ[ZZ[[[Z[[ZZ[Z[Z[[[Z[[ZZ[ZZ[Z[Z[[[[[Z[[[ZZ[ZZ[[Z[Z[[[[[[[[[[Z[[[[[[[Z[[[ZZZ[Z[Z[[Z[Z[Z[[Z[ZZZ[Z[[[Z[[Z[Z[[[[[[Z[[[Z[ZZ[[Z[[[[[ZZ[ZZ[[[[[[ZZ[ZZZ[Z[[[ZZ[[[Z[[[Z[Z[[[[[[[Z[[[ZZ[Z[[[[[[[ZZ[[[[Z[[Z[[[ZZZ[[Z[Z[Z[ZZZZ[[Z[Z[[Z[[[ZZ[[[ZZZZ[[[[[[ZZZZ[[ZZ[[Z[Z[Z[Z[[[Z[[Z[Z[Z[[[[[Z[Z[Z[[[[ZZZ[[[[Z[[Z[Z[Z[[[ZZ[Z[[Z[Z[[ZZ[[ZZZ[[[[[[[[ZZ[[ZZ[[Z[[ZZ[Z[Z[ZZZZZZZ[[ZZZZ[[ZZ[[[Z[[[[[Z[Z[Z[Z[ZZ[[[[Z[Z[ZZZZ[[Z[[[[[[[[[[[[[[[[[[[[[[[[\[[[[[[[[[[[[[[[[[[[[[[[\[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[Z[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[Z[[[[[[[[[[[[[[[[[[[[[[[[Z[[[[[[[[[[[[[[Z[[[[[[[[[[[[Z[[[[[[[[[[[[[[[[[[Z[[[[[[[[[[[[[[[Z[[[[[[[[[[[[[[[Z[[[[[[[[[[[[ZZ[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[Z[[[[[Z[[[[[[[[[[[[[[[[[[[[Z[[[[[[[[[[ZZ[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[Z[[[Z[[Z[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[Z[[[[[[[[[[[[[[Z[[[[Z[[[[[[[[[[[[[Z[[[[[[[[[[[[[[[[[[[[[[Z[[[[Z[[[[[[[[[[[[[[[[[[[[c[[[[[[[[[[[[Z[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[Z[[Z[[Z[[[[[[[[Z[[[[[[[Z[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[m[[[[[[[[[[[[[Z[[[[[[[[[[[Z[[[[[[[[Z[Z[[Z[[Z[[[[[Z[[Z[[[[[[Z[[Z[[[[[[ZZ[[[[[[[[[[[[[[[[Z[[[[Z[[[[[[[[[[[[[[[[[Z[[Z[[ZZ[Z[[[[Z[[[[[[[[Z[[[[[[[[[[[[[[[[[[[[[[[Z[[[Z[Z[[[Z[[[Z[[Z[[[[[[[[[[[[[[Z[[[[[[[[[[[[Z[[[Z[[Z[[[[[[[[ZZ[[[[[[[[[[[[[[[[[[Z[[[[[[[[[[[[Z[[[Z[[[[[[ZZ[[[[[[[[Z[[[[[ZZ[[[[[[[[[[[[[[[[[[Z[[[[[[[Z[[[[[[[[Z[[[[[[[[Z[ZZ[[ZZ[Z[ZZ[[[[[ZZ[[[[[[[[[[[[[[[[[Z[[[[[[[[[[[[[Z[[[[[Z[[[[[[[[Z[[[[Z[[[[[[[[ZZ[[ZZ[[[[[Z[[[[Z[m[[[[[[Z[[[Z[Z[[[[[[[[Z[[[[[[[[Z[Z[[[[[ZZZ[[[[[[[[[[[[[[[ZZZ[Z[[[[ZZ[[[ZZZ[Z[Z[[[[[[[[ZZ[[[[Z[[[[[[[[[[Z[[[[Z[[Z[[Z[[[[[ZZ[ZZ[ZZ[ZZ[[[[[[[Z[[[[[Z[Z[Z[Z[[[[Z[[[[[Z[[[Z[[Z[[[[[[[[[[[[[[[[[[Z[[[[[[ZZ[[[[[[[Z[[Z[[Z[Z[[[[[[Z[Z[[[[[[[[\[[[[[[[[[[[[[[[\[\\[[[[\\[[[[[[\[[\\[[[[[[[[[[[[[[[[\[[[[[[[[[[\[[[[\[[\[[[[\[\[[[[[[\[[\[[[[[[[[[[[[[[[[[[[[[[[\[[[[\[[\[[[[[[[[\[[\[[\[[[[[[[[\\[\[[[[[[[\[[[\[[[\[[\[\[[[[[[[[\[[[[[[[[[[[[[[[[[[[[[[[[[\\[[[[[\[[[[[[[\[[[[[[[[[\[[[[\[[[[\[\[[\[[\[[\[[\[[[[[[[\[[[[[\[[[\[[\[[[\[[[[[[[[[[[[[\[[[[[\[[[\[\[[[[[[[[[[[[[[[[[[[\[[[\[[[[[[[[\[[[[[\[[[[[[[[[[[[\\\[[[[\[[[[\[[[[[[\[[[[[[\[[[[[\[[[[[[[[[[[[[[[[[[[[\[[[[[\[[[\[[[[[[[[[[[[\[[[[[[[[[[[[[[[[[[[[\[[[[[[[[[[[[[[\[[[[[[[[[[[[[[[[[[[[[[[[[[[[\[[[[\[[[[\[[[\[[[[[[[[[[[[[[[[\[[[[[[\[[[[[[[[[[[[[[[[[[[[[[[[\[[[[\[[[[[[[[[[[[[[[[[[[\[[[[[[[[[[[[[[[[[\[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[\[[[[[[[[[[[[[[\[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[\[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[\[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[\[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[\[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[d[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[Z[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[Z[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[Z[[[[[[[[[[[[[[[[[[[[Z[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[Z[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[Z[[[[[[[[[[[[[[[[[[[[[[[[[Z[[[[[d[[[[[[[[[[[Z[[[[[[[[[[[[[[[[[[Z[[[[[[[[[[Z[[[[[[Z[[[[[[[[[[[[[[[[[[[[[[[[[Z[[[Z[[[[[[[[[[[[[[[[[[Z[[[[[[[[[[[[[[[[[ZZ[Z[[[[[[Z[[[[Z[[[[[[[[[[[[[[[[[[Z[[[[[[[[[[[[[[[[[[Z[[[[[[[[[[[[[[[[[[[[[[[[[Z[[[[Z[[[[[[[[[[[[[[[[[[[[[ZZ\\\[\\[\[\[\[[[\\[[[\[\\[\[[\\\[\\\[[\[\[\\[[[[\[[[[[[\[[[\[[[\[\[[[\[[[[[[\\[\\\[\\[[\\[[\[[\\[[[[[[[[[[\\[\[\[\[\\[\[[[\\\[[[[\[[[\[[\[\[\[[[\[[[[\[[[\\[[[[[\[[[\[[[[[[[[\[[[[\\[[\\\[\\\[[[\[[[[[[[[\\\\[\[[[[[[[\[\[[\\\[[\[[[[[\\[[[\[[\[[\\[\[[\\[\[[[\[[[[[[[[[\\[[\\[[\\[[\[[[\[\[[\[[[[[\[\\[[\\[\[[[[[\[\\[\[\[\[[\[[[[[[[\[[\\[[\[\[[[[[[[[\[[[[[[[[[[\[[[\[[\[[[\\\\[[[[\[[\[[[[[[\\[[[\\[[\[[[[[\[[[[[[[\\[[[[\[[[[\[[\\[[[[[[[[[\[[[[[\[[[[\[[[\\[[\[[[\[\\[\\[[\[[\[[[[[[[\[\\[\[\[\[[[[[[\[[[[[\\\[[\\[\[[\[\[\[[[[\\[[[[[[\[\\[[[[[[\\[[\\[\[\\[\[\\[[\[[[[[\[[\[[[[\[[[[[[[[[\[[\\[\[[[[[[\[[[[[[[\[\\[[[[[[[[[[\[[[[[[[\[[[[[[[[[\[[[[[\[[[[[[[\[[\\[[[[[[[[[[[[[\[\[[[[[[[[[[[[[[[[[[[[[\[[[[[[[[\[\[[[[[[\[[[[[\[[[[[[\[[[\[[[[[[[[[[\[\\\[\\[\[[[\[[[[[[[[[[\\[[\\[[\[\[[[[\[[\[[\\[[[v[[\[\[[[[[\\[[[\[[[[[[[\[[[[[\\[[[[[[[[[[[[[[[[[[[[[[[\[[\[[[[[[[[[[[\[[[[[[[[[\\[[[\[[[[[[[[[[\\[[[[\[[[[[d\\[[\[[[[[[[\\\[[\[[[[[[[[[[[[[[[[[\[[[[[[[[[[[[[[[[[[[\\\[[[[\[[[[\[[[[[[\[[[[[[[[[\[\[[\[[[[[[[[[[[[\[[[[\[[[[[[[[[[[[[[[[[[[[[[[[[[[[[\[[[[[[[[[\[[[\[[[[[[[[[[[[[[[[\[[[[[[\[[[[[[[[[[[[[[[[[[[[[[[[\[[[[\[[[[[[[[[[[[[[\[\[[[[\\[[[[[[[[[[[[\[\[[[[[[[[[[[[[[[\[[[[[[[\[[[[[[[[[\[[[[\[[[[[[[[[[[\[[[[[[[[[[[[[[[[[[[[[\[[[[[[[m[[[[[[\[[[[\[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[\\[[[[[[[[[[[[\[[[[\[[[[[[[[[[[[[\[[[\[[[[[[[\[[[[[[[[vd[[\\\[[[[[[[[\[[[[[[[[\[[[[[\[[[[[[\[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[\[[[[[\[[[[[[[[[[[[[[[[[\[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[\[[[[[[[[[[[\[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[\\[[[[[[[[\[[[[[[\[[[[[[[[[[[\[\\\[[[\\\[\\\\\\\[\\[[\\[[[[[[[[[\[[\[\[\[\[\[\[\\[[\[\[\[\\\[[[\[\[\\\[\\[[\\\[[[\[\[\[[\\\\\[[[\\[\[\[[\[\[[\\\\[\\\\\\[\\\[[[\\[[[\\\[[\\\\[[\\\[\\\\[[\[\\\\[[[[[[[\\\[[\[\\[[\\\\[\[\[[\\[[\\\\[\\\\[[[[[\\\[[[\[\\[[\[[\\[[[\\[[[\[\\[[[\\\\\[\\[[\\[[[\\[[[[\[[\[\\[[\\\\[[[[\\[[\\[[[\[\\[[[[\\[\\\\\\[[[\\[\\\[\[[[\[[[\\\[[\[[\\\\\\[[\[\\[\[[\\[\\\\\\\\\[[\[\\[[[\[\\[[[[[[\[\[\\[\\\\\[\\\\[[[\\[[[[\[[[\[\\[[[[\[\\[[\\\\[\\[\[\\[[[[\\[\\[\[[[\[\[\\\\[\\\[[\[\[\[\[[\[\\[\[[[\[[[[[\\\[\\[\\[[[[[\\[[\\[\[[[[[[\\[[\\[\[\[\\\\\[[[[[\[\[[[\[[[[\\[\\\\[[[\\[\[[[\[[\\\[[\\\\\\[\\[[[\[[[\[[\[[[[[\\[\\[\[[\\[[[[[[\[\[\\\[[[\\[\[[[[\[[\[[\\\[[[\[[[\\[\\[\[\\[\[\[[[[[[\\\[\[\[[[[\[[\\\[[d\[\\\[[\\\\\[[\\[[[[\[[[\[[[[[[\\[[[[[[[\[[[\\[[[\\[[[\[[[[[[\[\\\[[[[\\\\\[[[\[\\[[[[[\[[[\\\[\\\[[\\[\[\[\[[[[[\\\\[\\[[\[\\[\\\\[d\[[\\[[\\[[[[[[[\[\[[[[\[[[\\[[[\[[\\\[[[\\[[[[\[[[\[[[[[\[[[[[[[[[[[[[\\[[[[[\\[[\\[[[[[[[[[\[[[[[\[[[[\[[[\\[\\[[[[\[[[\[[\[[[\\\\[[[[\[[\[[[[[[[\[[[\\[[\\[[[[[[[[[\[[[[[\[[[[\[[[\\[\\\[\[[[\[[\[[[[[\\\[[\\\\[[\[\\\[[[[\\[[[[[[\[\\\[[[[\\\[[\\[\[\\[\[\\[\\\[[[[\\\\\[[[\[[\\[[[[\\[[\\[\[[[[[[\[[\[[[[[[\[[[[[\[[[[[[[\[[\\\[[[[[[[[[[[[\[\[[[[[[[[[[[[[[\\[[[[\\[[\\[[[[[[[[\\[[\[[\[[\[[\[[[[\\[d[[[[\[[\[[[\\[[\\[[\[\\\[[[[[[[\\[\[[[[[[[\[[[\[\\\[[\[\[[[[[\[[\\\\[[[\[[[\\\[\[[\[\\[[\\\\[\[[[\[\\[\[[\[[[[[[[\[[[[[\[[[\[[\[[\\[[[\[[[[[\[[[[\[\[[[[[[[\\\\[[\[\[\[\[[[\\[[[\[\\[\[[[\[[\\\[[\[[[\\[[[[\[[[[[[\[[[\[[[\[\[[[\[[[[[[\[[[\\[\\[[\\[[[[[[[[[[[[[[[[\[[[[[[[[\\[[[[[[[[[[[[\[[\[[[[\\\[[[[[[[[[[[\\\[[[[[[[[[\[\\[\\[\[\\\[[[[[[[\\\[\\\\\[[[[[[\\\\\\\[\\\\[\\[\\\\[\\\[\\\[\\\\\\\\[\\\\[\\\\[\\[\\\\\\\[\[\\\\\[[[\\\\\[\\\[\[\\\\\[[[[\\\\\\\\\[\\\[\\\\\[[\\\[[[\\[\\\[\\\[\\\[[[\\\[[\\\\[\[\[\\\[\[\\\\\\\\\\\\[\\\\\\[\\[[\\\\\\[\[[\\[[\\[\\\\\\\\\[[\\\\\\[\\\\\[\\\\\\[\\\\\\[\\\\\[[\[\\\[[\\\\[\\\\\\[\\\\\\\\[\\\\\\[\\\\[\[\\[\\\\\[\[\\[\\\\[[\\[\\[[\\[[[\\\\[[[\\\\\\[[[[\\[\\\\\\\\\\\[\\\\\\[\\\\\\\[\\\[\\\[\[\\[\\\\\\\\\\\[\[\\[\\\\[[\\\[\\\\\\\\[\\\\[[\\\[[\[[[\\\\\\\[[\\[\[\[\\\\\\[\\[\\[[[\\\[\\\\\[\[\\[\\[[[\\[[\[[\\\\\\[[[\\\[\\\\[\[\[[[[\[\[\[\\[[\\\[\[\[\\[\[\\[\\\\\\[\\[\[[\[[\[\[\[\\\\\\[\\[\\\\[\\\[\\[\[[\\\\\\\[[[\\\[[\[[[\\[\\[[[\\[\[\[[\[\[[\[\\\\[\\\\[[[[[\\\\\[\\\\[\\\\\[\[\\\\\[[\[[\\\\\\\\\\[\\\[\[[\\[[\[\\\\\\\\\\[\[\\\\[[[\\[\[[[\\[\\\[[[\\\\[\\\[\[\\[\[\\\\\\\[[\[\[\[\\\\\\\\\\[\\\[\[[\[\\[[\\\[\\\[\[\\\\[\[\[[\[[\\[[\[[[\\\[[[\\\\[\\[\[\\\\\\\\[\[[\\[\\\\[\[\\\[\\\d[\[\\[\\m[\\\\\[[\\\\[\\[\[\\[[[[\\[\\[\[[[\[[\\\\\\\\\[[\[\\[[[\[\\[[\[[[\[\[\\[[[\\\\\[[\\\\[\\[\[\\[[[[\\[\\[\[[[\[\[[[[[\\\\\\[\\\[[[[\\\[\\[\[[[[[[\\\[\\[\[\[\\\\\[[[[\\[\[[\\[[[[\\[\\\\[[[\\[\[\[\[[\\\[[\\\\\\[\\[[[\[\[\\\[\[\\\\[[[[\[[\[[\\\[[[\[[[\\[\\[\[\\[\[\[[[[[[\\\[\[\[[\\\[[\\\\[\\\[[\[\\[[\\[\\[[\\[[[[[[[\\[\vd[[[\\\\\[[\\[[\[\\\\[\\[[\\\[[\\[[\\[[\[[\[\[\[[[[[[[[\[[[[\\[[\\\[\\\\[[\[\[[[\[[\\\\[\[\[[[[[\[\[[d[\[\\[[[[\[\\[[\\\[\\[[\[[[\[\[[\[[\[[\[\\[\\\[\\[[\[\[\[[[\[\\\[[[\\\[\\\\\\[[\\[[\\[[[[[[[[[\[[\[\[[[\[\[\[\\[[\[\[\[\\\[[[\[[[\\[[\[[[\\\[[[[[\[\[[\\\\\\[[\[[\[[[[\[\[\\[[[[\[[[\\[[\[[\[[\[[[[[\[\[[\\\[[\[\[\[[[\\[\\[\[\\\\\\\\\\\\[\\\\\\\[\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\[\\\\\\\\\\\\\\\\\\\\\\\\\\\\[\\\[\\\\\\\\\\\\\\\\\\\\\\\[\\\\\[\\\[\\\\\\\\\\\\\\\\\[\\\\\[[\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\[\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\[\\\\\\\\\\\\\\\\[\\\\[\\\\\\\\\\\\\\\[\\\\\\\\\[\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\[\\\[\\\\\\\\\\\\\\\\\\\\\\\\[\\\\\\\\\\\\\\\[[\\\\\\\\\\\\\\\\[[\\\\\\\\\\\\\\\\\\\\\\[\\\\\\\\\\\\[\\\[\\\\[\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\[\\\\[[[\\\\\\\\\\\\\\\\\\\\[\\\\\\\\\\\\[\\\\\\[[\[\\[\\\\\\[\\\\\[\\[\\\\\\\\\\\\\\\\\\[\\\\\\\\\\[\\\\[\\\\\\\\\[\\\\\[\[\\\\\\\\\\\\\\\\\\\\\\\\\[\\\\\\\[\[\\[\\\\\\[[\\\\\\\\[[\\\\\\[\[\\\\\\\[[\\\[\\\\\\\\\[\\\[\[[\\\[\\[\\\[[[[\\\\\\[\[\[\\\\\[[[\\\[\[\\\[\[[\\[\\\\[[d\\\\\\[[\\\\[\\\\[[\\[\\\\\\\\\\\\\\[\\\\\[\\\\\[[[\\\\\\[\\\\\\[[\\\\\\\\[\\\\\\\\\[\\\\\\[[\\[[\\\\\[[[\\\\\\[\\\\\[\[\\[\\\\[[\\\[\\\\\\\\[\\\\[[\\\[[[\\\\\\[[[[\\[\\\\\\\\\\\[\\d\\\\\\\\[\[\\[\\\\[[\\\[\\\\\\\\[\\\\[[\\\\[\\[[[\\\\\\\\\[\[\\[\\\\[\\[[\[\\\\\\\[[[\\\[\\\\[\[\[[[\\[\[\[\\\[\\\[\[\[\\[\[\\[\\\\\\[\\[\[[\[[\[\\\\\\[[[\\\[[\[[[\\[\\[[[\\[\\\[[\[\[[\[\\\\[\\\\[\\[[\\\\\[\\\\[\\\\\[\\[\\[\[\\[[[\[\\\[\\\\\\\\\\\\\w\\\\\\\[\\\\[\\[\[\[[\\\\[\\\\\\[\[\\\\\[\[\\[\\\\\\[\\[\[[\[\\[\\[\\[\[[[\\[\[\\[\[[\\\\\\[[\\\\[[\[v\[\\\[\\\[[[\\[\\\[[\\\\\\\\\\\[[\[[[\\\\\\\\\\[\[\\\[\[[\[\\[[[\\\[[[[[[[[\\[\\\[\[[[[[[\\\\\\\[\\\\[\[[\\[\[[\\[\[\[\\[\\\\\[\\[\[\\\\[\\[\\[\\\\[\[\\\\\[[[\\[\\\[[\\\\\\[\\\\[[\[[[\\\[\\\[\[\[[[[\\\\\[\[[\\[\\\[\[[[[\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\e\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\e\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\w\\\\\\\\\\\\\\\\\\\\\\\\\\\\[\[\[\[\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\w\\\\\\\\\n\\\[\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\[\\\\\\\\\\\\\\\\\\\[\w\\\\\\\\\[\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\[\\[\\\\\\\\\\\\\\\\\[\\\\\\\\\\\\\\\\\\\[\\\\[\\\\\\\\\\\\\\\\\\\\\[[\\\\\\\\\\\\\\\\\\\[\\\\[\\\\\\\\\\\\\\\\\\\\\\\\\\\\[\\\\\\\\\\\\\\\\\\\\\[[\\\\\\\\\\\\\\\\\\\\[\\\\\\\\\\\\\[\[\\\\\\\\\\\\\\\\\\\\\\\\\\\\[[\\\\\\\\\\\\\\\\\\\\[\\\\\\\\\\\\\[\[\\\\\\\\\\\\\\\\\[\\\\\\\\\\\[\\\\\\\\\\[\\\\[\\[\\\\\\\[\\\[\\\\[\\\\\\\[\\\\\\\\\\[\\\[\\\\\\\\\[\[[\\\\\\\[\\\\\\\\\[\[\\\[\\\\\\[\\\\\\\\\\\\\\\[\\\\[\\[[\\\\\\\\\[[\\\\[[\\\\\\\\\[\\[\[\\[\[\\\\\\\\\\\\[\[\\\\\\\[\\\\\\\\\\\\\\\\[[\\\\[\\[\\\\\\\\\\\\\\\[[\\\\\\\\\\]\]\\\\\\\\\\]\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\]\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\]\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\]]\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\]\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\]\\\\\\\\\\\\\]\\\\\\\]\]\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\]\\\\\\\\\\\\\\\\\\\\\\\\\\]\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\]\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\]\\\\\\\\\\\\\\\]\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\e\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\]]\\]\\\\\\\\]]\\]\\\\\\\\\\\]]\]\\]\\\\\\\]\\\\]\\]\\\\\\\\\\\\\\\]]\\\]\\\]\\\\\]]\\\\\\\\]\]\\\\\\\\\\\\\\\\]\\]\\\\\\]\\\\\\\\]\\\\\\\\\\\\\\\]\\\\\\\\\]\]]\\\]\\\\]\\\\\\\]\\\\\\\\\\\\\\\]\\\\\\]\\\\\]\\\\\\\\\\\\\\\\]\\]]\\]\\]\\]]\\\\\\\\\\\\\\\\\\\]\\\\]\\]\\\\\\\\\\\\\\\\\]\\\\\\\\\\\\\\]\\\\\\\\\\\\]\]\\\\\\]\\\\\\]]\\\\\]\\\\\\\]\\\\\\\\\\\]\\\]\\]\\\\\\\\]\\\\\\\\\\\]\\]\\\\\\\\]]]\\\\]\\\\\\\\\\\\\\\]]\\\]\\\\\\\\\]\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\]\]]\\\\\\\\\\\\\\]\\\\\\\\\\\\\]\\\]]\\\\\\\\\\\\]\\\\\\]\\\\\\\\\]\\]]\]\\\\\\\\\\\\\\\\]\\\\]\\\\\\\\\\\\\\\\]\\\\\\\\]\\]\\\\\\\\\]\\\\\]\\]\\\\]]\\\\\\\\\\\\\\\\\\]\\\\\\\\\\]\\]\\\]\\\\\\\\\]\\\\\\\\\\\\\\\\\\\\\\\\]\\\\\\\\\]\\\\\\]\\\\\\\\\\\]\\\\\\\\\\]]\]\\\\\\\\\]\\\\\\\\\]]\\\\\\\\\\\\\\\]\\\\\]\\]\\]\w\\\\\\\\\\\\\\\\\\\\\\\\\\\\]\\\\\\\\\\\\\\\\\\\\\\\\\]\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\]\\\\\\\\\\\\]\\\\\e\]\\]\\\\\w\\\\\\\\\\\\\\\\\\\\\\]\\\\\\\\\\\\]\]\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\]\\\\\\\\\\\\\\]\\\\\\\\\]\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\]\\\\]\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\]\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\e\\\\\\\\\\\\\\\\]\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\]\\\\\\\\\\\\\\\\\\\\\]\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\]\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\]]\]\\]]\]]\\]\]\\]\\]\]\]\\]\\\]\\\]\]\\]]\\]\]\]]]]\]\\\\\\]\\\\\]]]\]\]\]\\\]\\]\]]]]]\\\]\\\\]]\\]\\]\]\]\\\\\]\\]\\\\\]]\]\]]]\\]]]\\]\\\\\\]]\\]]\]\]]]]\]\]]\]]\\\\]]]]\]]\\]\]\]]]]\\]]]\\\]]]]]]\]\]\]\\\\]\\\\\]\]\]\]\\]\]]\\\]]\\\\\\\\\]]\\]\\\]]\\\\\\\\\\]\\\]\\]\\]\]]\\\]]\\]]]]]\]\]\\\]\\]\]\]\\\\\]\\\\]\\\]]\]\\]\\\\]\\\\]\]]]\]\\]\\\\]\]\\\\\]\]\]]]\]\\\]\\\\\\]]\\\]\\]\\\]\\\\\]\]\\\\]]]]\\\\\\\]]]\\]\\\\\\\\\\]\]\\]]\\]]\\\\\\\\]\]\]]\\\\\]\\\]\]\\\]]\]\]\\]\\\\\\]]\\\\\]]\\\\\\]\\\\\]\\\\]\\\\\\\]]\\\]\\\]\\\\\\\\\\\\]\\\]]\\\\\\\\\\\\\\\\\\]\]\]\\]\]\\]]\\\\\\\\\\\\]\\\\\\\]\\\]\\\\\\\\\]\\]]\]\]\\\\\\]\\\\\\\\]\\\\\\\\\\\\\\\\\\]\\\\\\\\\]\\\\\]\\]\\\]\]\]\\\]\\\\\\\\]\\\]\]\]\\]\\\\\\\]]\\\\\\\\]\]\\\\]]]\\\\]]]]\]]\]]]\\\]\]\\]\\]\\\\]]\]\\\\\\\\\\\\]]\]]\\\\\\\\\\\\\]\]\]\\]\\\\\\\\\\\\]\\]\\]\]\]\\\\]\\\\\\\\]\\\\\\]]\\\\\\\\]\\\\\\\\]]\\\\\\\\\]\\\\\\\e\\\\]]\\]\\\\\\]\\]\\\\]\\\\]\\\\\\\\\\\\\\\\\\\\\\\\]]\\]]\\]\\\\\\\\]\]\\\\\\\\\\\\\\\\\\\\\]\\\\\\]\\\\\\\\\\\]\\\\\\\\]\\\\]\\\]\\\\\\\\\\\\\\\\\\\\]\\\\]\\]\\\]\\\\\]\\\\\]\\\\\\\\\\]\]\\\\\\\]\\]\\\\\\]\\\\]\\\\\\]\]\]]\]\]\\\\\\\\\]\]]\\\\]\\\\\\\\\]\\]\\]\\\\\\\\\\\\\\]\\]\\\\\\\\\\\\\\\\\\\\\\\\\\\\]\\\\\]\\\\\\\\\\\\\]]\\\\\\\\\]]\\\\\\\\\\\\\\\\\\]\\]\\\\\\\]\]\\\\\\\\\\]\\\\\\\\]\\]\\\\\]\\\\]\\\\\\]\\\]\\\\\\\\]\\\n\\\\\\\\]\]\\\\]\\\\\\\\\\\]\\\\]\\]\\\\\]\\\\]\\\\\\\\\\]\\\\\\\\\\\]\\\\\\\\\]\]\\\\\\\\\\]\\\\\\]\\\\\\\\\\\\\\\\\\\\\\\\\\\]\\\]\\\\\\\\\]\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\]\\\\\]\\\\\\\\\\\\\]\\\\\\\]\]\\\\\\\\\\\\\\\]\]\]]\]\]]]]\\\]]]]\\]]]]\]\]]]]]]]\\]\]]]]\\\]\]]]\]]\]\]]]]]]\]]]\]]\]]]]]]]]]\]\\]]]]]]\\]]]]]\]]]]]]]]]]]]]]]]]\]\]\]]]]]\]]]\\]\]]]]]]]]]]]]\]]]\]]]\\]]\]]]]\]]\]\\]\]\]]]]]\\\]]\]]]]]]\]]]\]\]\\]\\]\]]\]]\]]\]\\]]]]]\\\\\]]\]]]]]]]]]]]]\\\]\]\]\]]]]]\]\]\]]]]\\\]]\\\]]]]\]\]]]\]]]\]]]\]]\\]\]\\\]]]]]]]\]\]\\]]]\\\]]\]\\]\\]]]]]\\\\\]\]]\]]\]]]]\]\]]]\]\]\\]\]\]]]\]]]]\]]]\]]]\\\]]]\\]]]\]]]\\]\\\]\\]]]\]]]\]]\\]]]\]]]]\]\]]\\]]\]\]\]]]\]]\]]\]\]]]]]\\]\]]\]\]]\\]]\\]]]]\]\\\\]]\]]\\\\]\\\\]]\\\\]]]]]\]\]\]]]]]\\]]]\\]]\\]\\\\\\]]\]\\]]\]]]\]]\\\]]]]]]]\]]]\]]\]\\]]]\]]]]]]]]]\]\]\]]\]\\]]]]]]]\]]\]\]]\]\\]]]]]\\]]]\\\]\\\]\]\\]\]]\]\]\]\]]]]]]]\\\]]\]]]]]]\\]]]]\\]]]\\\]]]]\\]\\]\]]]\\\\]\]]\]]]\]\\]\]\\\]\]\\\\\\]\\\]\]]]\]]]\\\]\]]]]\\]\\\]\]\]\]]\\]]\\]\]]\\\]\]\]n]\\\\\]\\\]\\\\]\\]\\]]]\]]]]\]]]\]\]\n]\]\]\]\\\]\\\]]\\\\\]]]\]]]]]]\]\\\\\\\]]]\]]\]]]\\]\\]]\\\]\]\\\]]]]\]]\]]]\]]]]\]\]\\\\\]]]\]]\\\]\\\\\\]\\\\]]]]\\]\]\\\]]\]\\\\]\\]]\\\\n\]\\\]]]\]\\]\\]]\\\]]]]\\]\\\\\\\\\]\\]\\\\\\]\\\]]\]]\\]]]]\\\\\\]]\\\\\]\\\\\\\\]\]\]\]]\]]]\\\]\\\\]\\]\]]]]\\]]\\\\\]]\]]]\]\]\\\\]]]\]\\]\\\]\\\\]]\]\]]\\\]]\\\\\]\\]]\\\]\]]\\\\\\\\]\\\\\\\\\\\\]\\\\\\\\]\\\\\\\]\\\]\]\]\\]]]\\\\]\\\\\]]]\\]\\\\\\\]]\\]\\\\\\\\]]\\\\\\\]\\\\\]\\\\\\\\\]\\\]\\]\\\]]\\\\\\\\\\\\\\]\]\\\\\\\\\\\\\\\]\\\]\]\]\\\\\\\\\\]\\]]\\\\\\\\\\]\\\\\\\]\\\\\]\\\]\\\]\\\]\\]\\\\\\]\\\\\\\]]\\\\\\\\\\\\]]\\\\\\\]\]\\\\\\\\\\]\]\\]\]]\\\\\]]\]]\\]\\\\\]\\]]]]]\\]]]\\]]\\\\\]\\]\]]\\\\\]\\\\\]\]]\\\\\\\\]\\\\\\]\]\]]]\\\\\\]\\]]]]\\\\\]\\\\]\\\]\]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]\]]]]]]]]]]]]\]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]\]]]]]]]]]]]]]]]]]\]]\]]\]]]]]]]]]]]]]]]\]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]\]]]]]]]]]]]]]]]]]]]]]]]]\]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]\]]]]]\]]]]]]\]]]]\]]]]]\]]]]]]]]]]]]]]]]]]]]]]]]]]]\\]]\]]]]]\]]]]]]]]]]]]]]]]]]]]]]]]]]]\]]]]\]]]\]\]]]]]]]]]]]\]]]]]\]]]]]]]]]]]]]]]]]]]]]]\\]]\]]\]\]\]\]]\]]]]\]]]]]\]\\]]]]]]]]\]]]]]]]]]]]]]]]]]\]]]]]]]\]]]]]]]\]]]]]]\]]]]]]]]]]]]]]\\]]]]]]]]]]]]]]]\\]]\]]]]]]]]]]]]]]]]]]]]\]]]]]]]]]]]]]]\]]\]]]]\]]\]]]]\]]]]\]]]]]\]]]]]]]]]]]\]\]\\]]]]]]]]]]]]]]]]]]]]]\\\]]]]]]]]]]]]]]]]]]]\]]]]\]]]]]]]]]\\]\]]]]\\\]\]]]\]]\\]]]]]]\]]]]]]\]]]]]]]]\]\]]]\]]\]]]]]]]]]]]]]]]]]]]]]]]]]]]]]\]w]]]]]]\\\\\\e]]]\]]]]\]]]\]]]\\]\\]\]]\]]\]]]]\]]]]]\]\]]]]\]]]]]\\\]]]]]]\]]]]]\\]]\\]]]\]\\\]]]]]]\\\]]]\]]]]\]]]]]]]]\]\\]]]]\]]]]\]]]]\\]]]\]]]]]]]\\]]]]\\]]\\\]\\\]]]]]\]]]\]\]\]]]]]]]]\\]\]\\\\]]]]]\]]]\]\\]\]]]]\]]\\]\]\\]]\]]\\]\]\]]\]\\]\]]]]]]\]]\]\\]\\]\]\]\\\]]]]\]]\]\\]\]]]\]]\\\\]]]\]]]\\\]]]\\]\\\]]\]]\\\]]\n]]\\]]]]]]]]\\\]\\]]\]]\\\]]\\\\]]\\]\]]]\]]]]]\]]]]]]]]]]]\]]\]\]]]\]\]]\]]]]]\]\\]]]\\\]]]]]]]\]\]\]\\]\]]]\]]\]\\\\]]]]]]\]\]\\\]\]]]\\\]]\]\\]\]\]\]]\\]]]]]\\\\\\\\]]\\\]]]\]\]]]]]\\\\]]]\\\]]\]]]\]]\\]]]]]\\]\\]\\\]\\\]]\]]]]]\\\\\]]]]]\\\]\]\]\\\]\]]]\\]]\\\\]\\]]\\\\\\\]]\]]\\\\\]\]\]\\]\\]\]\\]\\]]\]\]\\]]]]\\\\]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]n]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]\]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]\]]]]]]\]]]]]\]]]]]]\]]]]]]]]\]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]\]\]]]]]]]]]]]n]\]]]]]]]]]]]]]]]]]]]]]]]]]]]\]]]]]]]]\]\]]]]]]]]]]]\]]]]]\]]]]]]]]]]]]]]]]]]]]]]\\]]\]]\]\]\]\]]\]]]]\]]]]]\]w]]]\]]]]]]]\]]]]]]\]]]]]]]]]]]]]]\\]]]]]]]]]]]\]]]]]]]\]]]]]]]]\]\]\]]]]]]]]]]]]]]]]]\]\]]]]]]]]]]]]]]]\]]]]]\]]]]]]]]]]]]]]]]\]]]]]]]]]]]]\]]]\]\]]]]]\]]]]\]]\]]]]]]\\]]]]]]]]]]]\]\\]]]]]]]]]]]]]\]]\]]]]]]]]]]]]\]]]]\]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]n]]]]]]]]]]]]]o]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]e]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]e]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]o]]]]]]]]]]]]]]x]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]w]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]^]]]]]]^]]^^]]]]]]]]]]]]]^]]]]]]]]]]]]]]]]]]]]]]]]^]]]]]]]]]]]]]]]]]]]]]]]]]]]]^]]]]]]]^]]]]]]]]]]]]^]]]]]]]]]]]]^]]]]]]]]]]]]]]]]]]]]]]]]]]^^]]]]]]]]^]]]]]]]]]]]]]]]]]]]]]]^]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]^]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]ȿo]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]xȤx]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]^]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]^]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]xȤx]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]f]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]f]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]^]^^]]^]^]]]^]^]^]^]^^^]]]]]]^^^^]]]^^]^]]^^]^^^]^^^^]]^]^]]^^]^^]]^]]]]]^]^]]]]^^]^^]]]^]^^]^]]^]^]^^]]]^^^^^]^^]]]^^^^^]]^^^^]^^^^]^]]]]^^]]]^]]]^^^]]^]^^]]^]]^]]^^^]^]^]]]]]]^]]^]]]]^^]^^]]^]]]^]^]]]]]]]^^]]]]]^^]^^]^]]]]^]^^]]]]^]^]]^]]]^]]]]]^^^]]]]]^]^]]]]]^^^]^^]]^^]]^]^^]]^]]^^]]]]^]]^]^]㿓o]^]^^^]^]^]^]]]^^^^^^]]]]]^^^^]^]^^]]]]^^^]]]^]]^]]^]^^]]^]^]]^]]]]]]^^]]]Ѷy]]^^]]^]]]]^]^^^^^]]]]]]]]^^^^]^]]]]]^]]]^]]^^^]^]^]^]]]^]]^]]]]]]]^]]]]]]^]]^]^^]]]^^^^]]]]^]]^]^]]^]]]^]^]]]^^^]]^]]]]^]^]^^]]^]Ѷx]]]]]]^]]]]^^]]]^]^]]]]^^]^^^]]]]]]]]]^^]]^]]]]]^^]^^^^]]]^]]]]^]]]^^]^]^]]]^]]]^^]]^]]]^]^]^]]]]]]^]^]]]]]]^]]]^]]]]]]^]]]^]^]^]]]^]]^]]^]^]]]]]]^^]]]]]]]^]^]]^]]]]]]^]^]]]]]]]]]]]]]]]^]]]]]^^]]]]]^]]]]]]^]^]]^]]]]]]]]^]]]]]]]]]]]]]^]]]^]]]]]]]]]]]^]]^]]]]]]]]]^]^]^^]]^]]^]]]]]]]]]^]]^]]]]^]^]]]]]]]]]]]]^]]]]]]]^]]]]]^]^]]]]]]]]]]]]]]]]^]]]]]]]^]]]]]]]]]]]]]]]]x^]]]]]]]]]]]]]]]]]]^]]]^]]]]]^]]^]]]]]]]]]]]]]]]]]^]]]^]]]]]]]]]^]]]]]]]]]]]]]]]]]]]]^]]]]]]]^]]]]]]]]]]]]]]]]]]]]]]]]]]]]^]]]]]]]]]]]]]]]]]]^^]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]^]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]o]]]]]]^]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]f]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]^^]^^^]^^^^^]^^]]]^^^^]^^^^]^^^^]]^]^^^^^^^^^]^^^]^^^^^^^]^^^]^^^]^^]^^]^]^^^^^]^^^^^^^^^^^^]^]^]]^^^^^^]^^^^^^^]^^]]^]]^^^]^^^^^]]^]^^^]]^^^^^^^^^]^^^^^]]]^^^^^^]^^]]^^^]^^]^]^^]]^]^^^^]^]^]^]^]^^^^^^^]^]]^]^^^^^^^^^^]^]^^^]^]^^]]^^]^^]]^^^^]]^]^^^^]^^^^^^^^^]]^^^^]^^^]^^^^^]^^^^^^]^]^]^]]]^^fќp^]]^]^^]^^^^^^^]^^^^^^^^^^]]^^^^^^^]^^^]^^]]^]^^^]]]^]]]^]^]^^]]]]^x㿛o^^]]^]^^^^^^^]]^]]]^^]]^^^]^]^^^^^^^^]]^]^]]^]]]^^^]]^^^^^^^^^^^]^^]]]^^^^^^^^]^]^]^^^^^^]^^^]]^]]^]^^^]^^^^]^^]^^]^^^^^^^x㿜o^^^]^^^^]]^]^^]^]^]^^]^]^^]]^^^^^^^^]^^^]]]]]^^^^]]]^^]^]^^^^^^^^^^]]^]]]]]]^]]]^]]]]]]^]^]^^]]^^]]]]]]^^^^]^]]^^^^]^]]]]^]]^^^]^^]]]^]]^]^^]^^]^]^]]^]^^]^^]^]^^]]^]^]]]]]^^]^^]^]]^]^]^]^^^]^]]^]^^^]]^]^^]^]^]^^^^^^]]^^]]]^^]^]]]^]]]^^]^^^^^]^]^^]^]^]^^]^]^^]^]]^]]^^^]]]]^^^^^^]^^]]^]^]^]^]^]]^]]]]^f^^^^^]]^]^]]^^]]]^]]]]^]]]]^]^]]^^^]]^^^^]]]^]]^]^]]]^]^]^]x^]]^^^^]^^]]^]]^^^^^]]]^^]^^]^]^^]]]]]^^^^]^]]]^^]^]]^]]]^^]^^]]]^^]]^^]^]]^^^]^^^^^]^^^^^]]]^]^]^^]]]^]^^]]^]^]]^^]]]^]]]^]]]]]]^^]]]]]]]]]]^]]]^^]]]^]]]]]]^^]]]^^^]^]]]]]^^^]]]]]]]]]]]^]^]]^]]]]]^^]]^]^]^]]]]^]]]^^]]]]]^]]]]]^^^]^]]]]]]]]]]^^^^^]]]]]^]]^^^]^^]]^]^]]]]]^^]^]]]]]]]]]^^]]]^]]]]^^]]^]^^]]]]]^]]]^^]]^]]^^^]]]]^^]]]^]]]]^]^]]^]]^]]^]]^]]]]]]]^^]]]]o]]]^]^]^]^]^]^]^]]]]]]]^]^^]]^]]]]^^^]]^]^^^^]^]^]]]^]]]^]]^]]]^]]^^]^^^^]]^]^]]^^]^]^]^^]]]^]]]]]]]]^]]]]]^]^]]]]]]]]]]]]]]]]^]]]]]]^]^]^]]]^]^]^]^]]]]]]]]]^]]]]]]^]^]]^]]]]]]]]]]]^]]]^^^^]]^^]^]]^]]]]]]]]]]^^]]^]]]^^^^^^]^^^^^^^]^^^^^^^^^^^^^]]^^^]^^^^^]]^^^^^^^^^^]]^^^^]^^^^^^^^^^^^^]^^^^^^^^^]^^^^^]^^^^^^^]^^^^^^^^^^^]^^^^^^^^^^^^^^^]^^]^^^]]^^^^^^^]^^^^^^^^^^^^^^^]^^^^^]^]^^^^^^^^^^]]^^^^^]]^^]^]^^^^^^^]^^^^]^^^^^^^^]^]^^^^^]^^^^]^^]^^^]^^^^^^^^^^^^^^^^^^]^^]^^^^^^^^^]^^]]^fȓ^^]^]^^^^]]^^]^^^^]^]^^^^^^^^^^^]]^^^^^^^]^^^]]^^^^^^^^^^^^^^^ڭx^^^^^^^^^^^]^^^^^^]^]^^^^^^^^^^]^^^^^^^^^^^^]^]^^^^^^^^]^^^^^^^^^^^^^^]^^^^^^^]^^^^]^^]]^]]^]^]^^^^^]^^^^^^^^^^^^^^^ڭx]^]]^]^^^^^]^^^^^^^^^^^^^]]^^^^^^^^^^^]]^]^^]]^^^]]]^^^]^^^^]^^^^^]]]^]]^^^^^^^^^^^^^^]^^]^^^^^^^^^^^^]]^]]^^^]^]^^^^^^^^]]^^^^^^^^^]^^^^^^^^^^^]^^^^^^^^]]]^]^]]]^^^^^]^^]^^^^]^]]^^]^^^^]^^^]]^^^]^^]^^]^]^^^^]^^^^^^^^^^^^^]^^^^]^]^^^^^]^^^]]^^^^]^^^^]^^^^^]^^^]^]]^]]^^^^^^^^^^^^^]^^^^^^]^^^^^]]]]^^^^]^^^]^^^^^^^^^^^^]]^^]^^^^^^]^]^^]^^^^^^]^^]]^]]^]^]^]]]^^^]^]^^^^^^^^^^^^^]^^^^]^^^^^]^^^]]^]]]^^^^^]]]]]^^]]^^]]^^^]^^^^^^^^^]^^]^]^^]^^]^^^^^^^^]^^^]^^^^^^^]^]^^^^^]^]^^]]^^]]^^]^]^^^]]^^^^^]^^^^]^^]^^^]^]]^]^^^]]]^]^^^]^^]]^^]^]]^^]^]^]]^^^]]]^^^^^^^^^]]^^^]]^^]^]]^]^]^^^^]]^^^]^^]]]^^^^^]]^]^^^^]^g^]]^]]]^^^]]]^]]^]^]^^^]^^^^]^^^^]]^]^]]]^]]^^^^]^^]]]]]^^^^]]^^^]]^]]]]^^^]]^^]]^^]^^^^^^^^^^]^^^]^^^]^]^]^^^^^^^^^o㿜]^^^^^]^^^^^^^^^^]^^^^^^^^^^]^^^]]^]]^]^]^]^]^^^^^]]^^^]^]^^]]^^^]^]^^^]]^^]]^^^]]^]^^^^^]]]^^^^^^]^^]^^^]]]^]]^]^]]]^^]^^^]]]]]]^^]]]^]]^^^^]^]]^^]]]^]^]]^]^]^^]]]^^]^]^^^]]]^^]^^^^^]^^]^]^^^]]^^^]]]^]^]^^]]^]]]^]^^^^^^^^^^^^^^^^^^^^]^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^]^^]^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^g^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^xڜf^]^^^^^^^^^^^^^^^^^^^]^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^]^^^^^^]^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^yڜf^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^]^^^^^]^^^^^^^^^^^^^^^^^]]^^^p^^^^^^^^^^^^^^^^]^^^]^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^]^^^^^^^^^^]^]^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ȷ^^^^^^^^^^^^^^^^^^^^^^^^]^^^^^^^^^^]^^^^^^^^^^^^]^^^^^^^^^^]^^^^^^^^^^^^^^^^^^^^^]^^^^]^^^^^^]^^^^^^^p^^^^^^]^^^^^^^^]^x]^]^^^^^^^^^^^^]^^^^^^^^^^^^^^^^]]^^^^^^^^^^]^^^^^^^^^]^^^^^^^^^^^]^^^^^^^^^]^^^^^^^^^^^]^^^^^^^^^]^^^^^]^^^]]^^^^^^^^^]^^^^^]^^^^]^^^^^]]^^^^^^^]^]^^^^^]]]^^]^^^^^]^^^^^^^^]^^^^^^]^^^]^^^^]]^]^^^^^^^^]^^^^^]^]^^^^^^^^^]^]^^^^]^^^^^^^^^^^^]^^^^^]^^^^^]^^^^^^^^^^^^^^^^]]^^]^^^]^^^^^^^]^]^^^^^^^^^^^^^^^]^]y^^^^]^^^^^^^^^]^^^^^]^^^^]^^]^^]^]^]^^^^]^^^^]^^^^^^^^^^^^^]^^]]]^]^]^]^^^^]^^^^^^^^]^^^^^^^]]^^^^^^^^^^^^]]^^^^^^^^^^ڷo^^^^^^^^^^]^]^^^]^^^^^]^]^^^^^^^^^^^^]]^^^^]^^^^^^^^^^^^]]^^]^^^^^]^]^^^^]^^^^^]^^^^^^^^^^^^]^^^^^^^^^]^^^^^^]]^^^^]^]^^^^^^]]^]^^^]^]^^^]]^^]]^]^]]^^]^^^^]^^^]^^^^^^^^^^^^^]^^^]^]^]^^^]]^^^^^^]]^^^^]^^^^]^^^]^^^^]^^^^^]]^^^^_^^^^^^^^^^_^_^^^^^^^_^^^^^^^^^^^^^_^_^^^^^^^^^^^^^^_^^^_^^^^^^^^^^^^^_^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^_^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^gp^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^f뷂^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^g뷂^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^p^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^y^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^]^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^]^^^^^^^^^^f^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^]^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^]^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^]^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^y^^^^]^^^^^^^^^^^^^^^^^^^^^^^^^]^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^]^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^Ȯg^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^]^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^]^^^^^^^^^^^^^^^^^^^^^^]^^^^^^^^^^^^^^^^^^^^^^^^^^^]^^^^^^^^^]^^^^^^^^^^^^^^]^^^^^^^^^^^^]^^^]^^^^^^^^^^^^]^^^^^^^^^]^^^^^^]^^^^^^^^^^^^^^^^^^^^^^^^^^^_^^_^^_^__^^_^^^^^^^^^^^^^^_^_^^_^^^^^^_^^^^_^^^^^^^_^__^^^_^^^^^^^^^^__^^^^_^^^^^^^^^^^^___^_^^_^^_^^^^^^^^^^^^_^^^^___^^_^^^^^^^^^^^^_^^^^_^^^^^^^^^^^__^^_^_^^^^^_^^^^^__^^_^^^^^^^^^^^^^^^^_^^^^^^^^_^^^^_^^^__^^^_^^^^^^_^_^^^^^^^_^^_^^^_^^^^^^^^^^_^_^^^^^^^pg^^_^^^^^^_^^^^_^^^^^^^^^^^_^^^^^^^_^^_^^^^^^^^^gȂ^^^^^^^^^^_^^^^^^^^^^^^^_^^^^^^^^^^^^^^^^_^^^^^^_^^^^^^^^^^^^^^^^^^^^_^^^^^^^^^^^^^^^^^^^^_^^^^__^^^^gȂ^^^^^^^^^^^^^^^^^^^^^^^_^^^^^^_^^^^^^_^^^^_^^^^^^^_^_^_^_^^^^^^^^^^^^_^^^^^^^^^^^_^^^^^^^^^^^^^^^^^^^^^^^^^^^^^_^^_^^^^^^^^^^^^^^^^^^^^^^^^^^_^_^^^^^^^^^^^^^^^^^^^^^^^^^^^_^^^^^^^^^^^^^^^^^^^_^_^^^^_^^^^^^^^^^^^^^_^^^^^^^^^^^^^^_^^^_^^^^^^^^^^^^_^^^^^^^^^^^^^^^^^_^^^^^^^^^^^^^^^^^^^^^^^^^_^^^^^^^^^^^y^^^^^^^^^^^^^_^^^^y^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^__^^^^^^^^^^^^y^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^gȥ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^_^__^__^^^^^^^^^___^^__^^__^^^^^^^_^_^^^^_^^^__^^^_^^___^^^__^^^^_^^^_^^^^^__^^^^^^^^^_^^__^__^_^____^_^^_^___^^^^_^^^__^^__^^^^^^^^^_^^^^^_^_^^_^^^__^__^^^_^__^__^__^^_^^^^^^^____^___^_^^^_^^_^^^_^___^^____^^_^___^^^^__^^^^^__^___^^^^___^^__^_^__^_^^^__^^__^_^^y^^_^_^^_^^_^^_^^___^_^^^__^^___^__^^___^^___gȂ^^^^^_^^_^^^^^^^^_^_^^_^^^_^_^___^__^^_^^__^_^_^^_^_^^^_^_^^_^___^_^_^^^^^^__^^__^^___^^_^^^^_^_^gȂ^^__^____^_^^^^^^_^___^____^_^__^^^^^_^^___^^^_^_^^^^__^^^^_____^_^^___p^^_^^_^^___^^_^^^_^^^_^_^^^^^^_^^^_^^_^^_^^__^_^^_^^_^^^^_^^^^^__^^^_^^^^^^^^__^__^^^_^^_^^^_^__^_^^^^^^^_^___^^^_^^_^_^^__^_^^^^_^_^^^^^^^^^_^^^^_^^_^__^__^^^_^^^__^^^_^^^_^^^^^^^_^___^_^^^^^^^_^_^^^^__^_^^__^^^^^__^^^^^__^^^_^^^^_^^^^^_^^^^^^^^^^__^_^^^__^^^^_^^^_^^^^^^^_^^_^^^^^^^^^^_^^^_^^^_^^_^^^^^^^_^^^^^^^^_^^^^^__^_^^^__^^^^_^^^_^^^^^^^_^^^^^^^^^^_^^^^^^_^^^^^^^^^^^^^^__^^^^_^^^^^^^^^^^^^^^^^^^^_^_^^__^^^^^^^^^^^^^^^^_^^^_^^^_^^^^^^^^^^^^^^^^^^^^^^^^^^^^_^^^^^^^^^_^^^^^^_^^^^^^_^^_^_^^^^^^^_^_^_^_^^^^^^^^^__^_^^^^^^^_^^^^^^^^^^_^^^^_^^y^^^_^^^^^^_^^_^_^^^^^^^_^_^_^_^^^^^^^^^__^_^^^^^^^_^^^^^^^^^^_^^^^_^^^^^_^^^^^___^_^^^^^^^___^^^^^^^_^^^__^^_^^_^^^^^^^^ڷy_^^^^^_^^^^^^^^^^__^_^^_^^^^_^^^^^^^^^^^^^^^^^^^^_^^^^^^^^^_^^^^^^^^^^^^^^^^^^_^^^^^^^^^^^^^^^^^^^_^^^^^^^^^^^^^^^^^^^^__^^^^^^^^^^^^^^^^^^^^^^^^_^^^^^^^^_^^^^_^^^^^^^^^^^^^^^^^^^^^^__^^^^^^^^^^^^_^^^^^^^^^^^^^^^^^^__^^_^^^^^^^^^^^^^^^^_^_^___^____^^_^______^___^^_^^__^^_^^^___^^^____^__^__________^_^^__^____^_____^_________^^_^__^^^__^^^^_^^^_^__^^^_____^^____^____^___^^^__^____^^^___^____^___^^_____^_^^_^____^^__^^^_^______^___^_^^___^__^_^^^_^____^__^_^_______^^^^__^_^^__^^^^______^__^^^yg^____^^__^^_^^^__^_____^_^^^_^^^^^__^^___^p^__^_^_^^___^___^^^__^_^__^____^__^^___^^^^^____^__^^^^_^_^___^_^^__^__^^^_^_^^_^_^^_^^_^^_^^^p_^_^__^__^^_^^_^___^^___^^_^_^^^_^^_^__^^^^__^_^^__^^^_^___^___^_^__^^^^_^^^_^_^^^^_^^^^_^^__^^__^^__^_^_^^^^^^^^_^_^__^^^^_^^^^^^^^^__^^_^_^_^__^_^^__^_^^^___^^^^_^^^___^___^_^^^^_^^^^_^^__^_^_^^^^^^_^^^^__^__^^^^_____^^^_^^^_^_^^^^^_^__^^^^^_^_____^^^_^^^_^__^___^^^____^_^^_^^^^_^__^_^__^^_^^^^___^__^__^____^^^h^___^_^^_^^_^_^__^^_^^__^^^^^^_^___^_^^^__^____^__^^___^^^_^^_^^_^_^^_^^^^___^_^^_^^_^_^__^^_^^__^^^^^^__^__^^^^___^_^_^^_^_^^^_^__^_^__^^___^^^^^^__^^__^^___^^_^_^^_^_^____^____^^^_^_^^_^^___^__^^^^^^^_^^^^_^^^__^____^_^^^^^^_^___^____^_^__^^^^__^^___^^__^_^^^^__^^^^_____^_^^___^^^______^^_^^^_____^^^p__^_^__^^^^__^^___^^__^_^^^^__^^^^_____^_^^___^^^______^^_^^^_____^^^^^_^^^^^^^_^___^_^_^^^^^^^^^__^^_^^^^^_^^__^^_^^^^^Ѯp^_^^_^^^^^^^_^^^^_^^_^^^^^^_^^^^^^^^__^_^_^^^_^^_^^^_^_^_^^^^^^^^^___^^^^^^^^^^^__^^_^^^_^^^^^^^^_^^_^^^^_^^^^^^^^^^__^__^_^^^_^___^^_^^^__^^_^^^^_^^^^^^^^^^_^_^^_^^^^_^_^^^_^__^^^_^^_^^^^^_^_^^^^^___^^^^^_^^_^^^^_^^^_^^_^^_^^^_^^_^_^^^^^^___________________________^^^______^______^^________^_________^______^__________^________^^____^______^___________________^____^^____________^____^_____^_^^^___________^__________^__^__^_^_________^_^__^____^__^^_^_______^_^__________^_^^___^_^_^____^_^^_^^_y_^____^_^__^^^_^_^___________^________^^_g_____^_____^___^^_^___^______^___^_^^____^__^____^_^_______^_^__^_^______^_____________^_^g_^__^__________^_^_^_^^_______^____^_^__^_^___^__^_^______^^__^^___p__^___^^_^_________^___________^__^___^_^_^__^_____^______^^^_______^___^__^_^____^_________^_^_^_____^_______^^_^____^_^___________^^^_^___^_^__^__^_^_^_^_______^____yz^^__^__^^^___^_______^__^____^^______^__^^________^^__^^____^^^_^___^^_^^^^^^h_^_^_^__^^^_^_^___^_^_^_^_____^__^_____^_^_^_^_^_^__^^___^_^^^^^_^___^__^____^^^__^^^_^_^___^_^_^_^______^__^^___^_^^^____^__^__^_______^_^^__^^_^_^_^_^____^^_^^__^_^^^^_____^_^^^_^___^^___^__^^_^______^^_^^_____^_^_____^^_^^_^___^^___^__^__^^_^^_^__^^^^__^_^^__^^^_^___^___^_^______^^_^______^^__^____^__^__^__^^_^^_^__^^^___^_^^__^^^_^___^_____^______^^_^______^^__^____^_^__^^^_^_^_^^^^__^^_^^__^^__^_^^^^___^^_^_^^_^^___gg^^^^^^^^___^___^^___^____^_^^^^_^_^^^^^__^__^___^^__^^^^_____^^^____^__^___^^^^___^^^_^_^__^_^__^___^___^__^_^____^^^^_^^^__^________^__^__^^^^^_^_^__^^_^^___^^_^___^^^________^^^^^^__^_______^^^_^__^^_^^^^^^_^^__^^^^^^^^^_^^_^_^__^^^^__^^^^^____________`___________________________________________`____________________________________________________`__________________________________________________________^_____________________________________________________________________________________^____h_______________________________________pڂ_______________________________________________________________________________________pڂ__^_^_________________________________^__________________________^^___^^___^_^_______^___^_____^_______________________^__^__^_^_^_^__^_^__^_____^^^^________^_______________^_^_______^_______^______^_____________^^________^________^___^__________^_^_________________^____________^____^_^__^_h_______^_^_________^___^^_^_^_^_^________________^^_____^^______^__________z^^___^____^___^______^__^_^_^_^___________^____^_^___^_______________^_________^______^______^____^________^_^_______^________________^^____^__^______________^__^____________^_^_^^_______^____^____^^____^____^_______^__^^_____________^^_____^^^^_p_^^_______^____^____^^____^____^_______^__^^_____________^^_____^^^^__^_^^__^^_________^^_^__^___^_^____^____^^^_____^____^___^_____^^_^__^_^^^_^___^__^_^______^___^__^_________^_^^______^_____^___________________^___^_____^____^_^________________^___^^_____^_^__^_^__^_^_____^^______^___^___^___^^_^^__^_^____^___^__^^__^____^__^_^^_^_^_^__^____^^__________^^^____^____`__``_____________________________`_________`______`____`__`___`________________`_______`______``_`_______________`______________`____`___________________`_____________`________`_______`_____`_____`__`____________`______________`_____`_______________```__h_____`__``___`__________`______`_______h_____`_________`_____________________`____________________`_`_____________`_________h_____________`_`_______`________________________``_____`________h___________________`_______________________`_________________`_`__________________________`______`___________________`____`________________________________________`______________________________`____________________________h_____________________________________________`_____________________________________________`___________________________________________________________________________________________________^____________^_______^_^_____^_____________________________________________________________________________________________________q___________________^_________________________________________________________________^_________^____________________^_^____________^________________________^________________^_________________^____________^_________________________^______________^__________^_______^______________________________^_^________^___________^___^__________^____^_____^________^______^^__^___```___`_`__````____`___`____```_____`_`__`____``__`____`_________`_______`______`__`_____`_```____`_```__`_``___`____``___`___`_`__``____`__`________________`_``____`___``___`_`_________________``_`______`_`____`_`_______`_____``_______`___________`_`_`___`_________`_____`________``_________`_hz`_`__________`____`____`____`_________`____`___``___```__`_________`___`___`_____hz``___________`_______`__`______`____`______`_________`_______```q`__``____`___`_`____`____`_`________`_______`___`__`__`_______________________``____```___`______________`_`___`_____________`_____________`______`_____`__`______`_______`___`_____`_______`_____________`______`________`_______`______`_`____`_____________`__``____________________________`_`_________z___`_____`_________``__________`_________________`__________`__________`_________`_`___`_________`__________________``_______`________________________________``_________`_____`__________________`_____________``_____`______`______________`_______________`________________________`______`______________________________________`______________`___________________`_________`__________________________________`________`___________`__________________`_``__________________`__________________________`_______________`___________________________________`_____`____________________`__________________________________________``_`_`````___``_``__`_```````__````___``_``_``_``_````_``_```_```_`_```_``___``__`_```_```__`_`_`___`___`___`__`__`__`_`_`_```````___```___``____`````_`___`_``_``````__`_``___`__``_`___`_```______`````__`______`_`_``_`__`____`__``_`_````__``__`__`_`_````_`q`__`_`_`____`__`_`__``_`_`_`__```___z____`____``_``__```____`_``````________`````__`_```__`__`_``__`_`````__``__`_``z____`__`_`_``____``______``_`___`__`__`__`___``_```__`___`_`__`i_````_______`__``______`___``__`_`_``_`___`____``_`___`_____`___`_`___`__```___`___```_``___`________``_``````____``_`____`___`_`______`_`_`____________`__`_`___`___qh__``__`_`__``__`__`______`____`_````____`___``_____``__z`_____`___````____`__`z`_____``````_``_``_____`___`_`_______``____`____`___``__`__`__`__``_______`____```_`_`____``____``_`_``_______``_`___`__````__``___``__`__`___`____`__`_`___`______`___```_`__`_____`____`_`_``___`___`______`____`___`_`_`__________`_______`__``_____`_`__``_____`______`__`_______`_`__________`________________`__``__`__`______`______________________`_`__________________________`__`_`___`_`_____`__________`_`_``________`______`_````____`_`_`____`___`__________``______``___________`__`_``_____`_`___`______`_``____________`_________`_____`__`____`___`____________`_____________`___`__________`__``_```_________`_____`___`__`__`____`_____`____`___``___`_____``______``___``_`_```_```_````_````_```````````````````_````_`````````_````__``_``````_````````````````````__```_``_`_`_``_```````````````````````_``````_`````_```````_``_```_```````_```````_````_`````````````````````````_```````````````_````_``````````````_``_```_````z`___```__``````````_`_````_`````````i``_`_`__```````_``````````_``_`````_`````_``_```_``````___```````````_````__i```___````_``````_````_```````_`_``___`_`_`_```_```````_`___`__`_`_`__`__`_``_`_`_`````_````_`````_```````````````_`_````_````_````__`````````__``_`_`__```_```_`_``_`_`___`_``_`_`__``____```__````__`_````_````___```_``````____````_``_`___`__`_``__`_____````_````_`````_`_`__`_`____```_``_```____`__`_`___``_```__``__``__``___`````__````__``_`_```__```__`__``q``_`__``____```_`_`_`_```__``__``__``_____```__```````````_```___````___`````__`__````____```_`````__`_``__`_``````_`__``_``__`_`_`_``_`___`___``_``_`_`_`__``_________`__`_`_``____``_`___`_`_``__`_____`__`___``_```__`___`___``_``_`__`_`_`__`_``_`zz___``_`___```_``__`_____``_`____`_```__`___`_`_``_`__`__`_`_`__`_``_`__```___````_____`__``_`____`___`___`_`____`__`__```______`__`___`___```_`_```__`____``_`__`____`___`_```_``_`___`_`_``_````_`____`_________``________`_``_`````_`__`__`_`__`___`_`___``_`__``___`___`_`__```___```_``_`___```_`__```_`__`_``___`_`__```___````_``_```_```__`_``_``___``_____`___`_`_````_````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````_``_````````````````````````````````````````i```````_``````````````_````````````i````````````_```````````_````````````````````````````_``````````````````_`i``````_`````````````__``````_```_```````````_`````__``_````````_````````````````````````__`````````````_````````_`````````````_````_``_``````_``````````````````_`_`````_`````_```````_``_`````````_````````````_`_````_```_`````_``_``````````````_``_``_`````````_````_`_```````__````z`_``````__``````_```_``q`````_`````___``_``````````````_`_``````````_```````___```_````_`````_``_`````_`````___``_`````````````````_````````_`````_``_```_````````_```````````_`````_`_````````_`_`_````__````_``__```__```_```````````_````_`_```````__```````````_````````````_`_``___`_`_`_```_`````````___```````_``_``````_`````````_````````````_`_``___`_`_`_```_`````````___```````_``_``````_````````_``````__`__`_````````__````````_`_````````_`````__`````__`````_```````__````_``````__``_`_`_`____`__```___``_````````_```_`````````__``__`__````````````_`````_``````__``````__`___`_`_```_``_`_``````_`_``_```````_`_````_`____`````__`````_```_`_``_````_`__`__`_````````___``_````___````_`_`__`````````a``````````a````````````````````````````````````````a```````````````````````````````````a``````````````````````````````````````````````````````````a```````````````````````````````````````````````````````````````````a`````````````````````````````````i```````````````````a`````````````iz```````````````````````````````````````````````````````````a```````````iz````````````````````````````````````````````````````````````i````````````````````````````````````````````````````````````````a`````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````i````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````_``````````````````````````````````````_````_```````````````````````````````````````````````````__``_`````````````_```_```````````````````````````````````````````````__``_`````````````_```_```````````__``_````````````````````````_`__`````_``_`__`````````````````_``__````_``````_``````````````````````_````````````````````_```````````_```````````````````````_`````````````````````````````_````````````````````__``````````````_````````````_`````````````_````````_``_`_````_`_```````````````_`_````````````````a```````````````````````````````````````````````````a``````````a````a````a`````````aa`````````a````````````a``````a`a``a````````````````a`````````````aa``````````a`````````````````````a``````a```````````a```a``````````````````````a````````a```````````````a``````````````````iz```a``````````````````````a`````a`````````a````````a``a`````a````````iz```a````````````a````````````````a```````````````a````````az````````````````````````````````````````````````a`````a```````````````````````````````````````````````````````````````````a``````````````````````````````a````````i`a`a```````a`````a````````````````````````````````````q````````````a``````````````````````````a```````````````````````````````````````````a`````a````````````a`````````````````a```````````````a```````a``````````````````````````````````````````````````````````````````````````a```````````````````````````````````````````a``````````````````````````````````a```````````````````````````````````````a````a````````````````````````a```````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````aa`a````````aa`a``````````a`a`````a``````````a`a````````a````a`a`aaa`aa````````aaa````a````````````a`a```````a``a```````a``a````````a`a```a`````````a````````a`````a```````a``aa``a``a`a```aa````a```a````````a````aa``````````aa```````````````````````aa```i```````a`````````a````````a``a`azz````````````````````````a````````a``aa````a````aa`````a``````````a`zz```````a``````````a`````a``````````````a```````a```````a```ia`a``a```a```a```````````a````a```````````````a```````````````````````a```````aa````````````a```````a```````aa```a``````````````````a```````````````````````````a`````````````````a`````a`````````a````````````a`````i```a```````````````a`````````````a`````````````````````````````````a``````a`r`````````````a`````a``````a```````a`a```````````a`````````````````````````````````````a`````a``a`````````aa```````````a````````````````````````````a``````a```````````````````a```a`````aa``````````````````a```````a`````````````````````````````````rz````````a`````a`````````````````````````````````a``````````````````````````````````````a`````````````````````````````a``````a```a``````````a``````````````````a`a``````````````````````````````````````````````a`````a``````````a`````a```a```````````````a```````````````````````````````````````````a````````a``````a`````a``````````````````````````````````````````a```````````a```aa`aa`a``a``a`aa``a``aaa`a`````aaaaa`````a`a``aaaaaa``a`aa```a`aaaa`````a``a``aaa````````a``````a`aa``````a``````a`aa`aa``a````````````````````````a````a`a`aa```````a````aa`aa````a`a``a`a```aa`aaa``````aa```a``aa```a```a````aa`aa```aa``a`a`aa```a````a``aaa``a`````a```````a``a```zzaaa`a``a``a````a```aaaaa`a`a````a```a`a```a`a``aaaa`a````a````a``zz``a```a`````a``a`a```aa`a`````````````````````````a``a````ڕ`aaaaa```a``a``a```a``aa```a``a``aa``a`````a```aa`a```a`a`a``aa``a```a```````a``````a````aa```````````````a``a``````aa````aa``````aaa```a``a`aaa````aa``````````````````````aa```````a``aaa``aa`````a``````````a`a````a``a`a````aa```a````aa`i````aa`aa``a`a``````````a``a```a````````a`a``a``````a``a````aa```a``````a```a`a`````````a`````````````````aa``a```a```````````aa``a`````````a````aa`````a``````aa```a``````````````a`a````````a`aa`a``````a``a`````a````aa``a````````````````````a``aa```````````````````a`a`aa``````a```````a``a```````a````````````aa`a`aa```````a`````aa`````````````a`aa```a`a````a````a```````````````a````````a``````a````a```````a```a````aa``a````````a```````````````````````````a```a`````````````a`a`a``````````a```````````a```a```a````a````a`````````````````````a``a`a``````````a`````a```````a```````a```````````aa`````a``a`````a`````a```````````a``````````````````a````a``````a````````a`aa`aa``aaaa`aaaa``aa```aaaaaaaaaaa`aaaaa`aa``aa``aaa`aaa`aa`a`aaa`aaa``aaa`aa`aaaaa`aa`a`aa`a``a`aaaaaaa`aaaa```aaaaa``aaaaaa`a`a```a```aaaaaaa`a`a`a`aaaaaa`a`a`aaaaaaaaaaa``a`aaaaa`aaa`a``a`a`aaaa`aaaaaaaaaa```aaaaaaaaaa``aaa`a`aaa`aaaaa`aaaaa``a`aa`aa`aa`a`a```a`aa``````a```a`aa{zaaaaaaa``aaaa``a`aaa``aa``aaa`aaa`aaaa`aaaa`a``a```aaa````aa`aa{z`a``a`aa``aaaaa``aaaaaa````a`aaa`a```aaaaa`a`aa`aa`a`````iڕ``aa`aaaa`a`aaaaaa`a`aa`aaa`aaaaaa```a``aaaa```a`aaa```aa`a`a`a``aa`a``aaaaa``aa``a```aa`a`a``aa``a`a`aaa`aa`a``a``aaaa``aa``aaa`````````a``a``a```a`a`a``a`````````````a``a``aa`a``````a``aa`a`aaaa`````aaa`a``aaaaaa``a`a````a``aaaaa``a`ar`````aa`aaaa`aa``aaaa`a`a`````a``a`a```aaaa`aa`a````a`aaa```a`a`a``a``````a`a``a````a``aa`a``a`a``a``a`a`aa````a`aa`a`a`aa``````aa````aaa``aa`a``aaa``a``a````aaa``aa`aa````a````aa`a`aaa``aaaa```a``a``a```````aa`a````a```aaa```a```a`a`a```a`a``aaaa```aa```a`a``aa`a`a`a```````aa``a```a`a`a`aaa``a`a``a`a```a`a``a``aaa````a`````````aa```a``a````a`aa``aa``a`a````a```aa``aaa``````aa``````aa```a``````a````aa`a`````aa``a``a`a``a`a```````a`aa````a``a```a`````aa``aaa``````````aaaa```````a`aa`aa``````aa`a`aaaa``aa``a```aaa``a```a``a``````````a```````aa`aa````a`````a````aa`a``a````a`aaa````````a```````a````````````````a`aa``a`a`a`a`````a``aaa`a```````a``a````aa``````a`````aa`a``aaa`aaaaaaaa`aaaaaaaaaaaaaaaa`aaaaa`aaa`aaaaa`aaaa`aaaa`aaaaaaaaaaaaaaaaaa`aaaaa`aa`a`aaaaaaaa`aa`aaaaaaaaaaaaaaaaaaaaaaaaaa`a`a`aaaaa`aaa`aaaaaaaaaaaaaaaaaaaaaaaaaa`aaaaaaaaa`aaaaaaaaaaaaaaaa`aaaaa`aaa`aa`aaa`aaaa``aa`aaaa`aaaaaaaaaa``a`aaaaaaraa`aa```aaaaaaaa`a``aaaaaaaa`ajza``aaaa`a`a``aaaaa`a`a`aaaaaaaaaaa`aaaa```aaaaa``aaa`aaaaaa`ai{aaaa`aa``aaa`aaaaaaaaaa``aaaaaa`aaaaaaa`a`aaa`aaaaaaaaaaaڞia`aaaaaaaaaaaaaaaaaaa`aaa`aaaaaaa`aaaaaaaaaaaaa`aaaaaaaaaaa`aaaaaaaa`aaa`aa`aaaaaaa`aaa`aaaaaa`aaa``aa``aaa`a``a`aaaaaa`aaaaaa`aaa`aaaaaaaaa```a`aaa`aaaaaaaa`a`aa`aaaaaaa``a`a``aaaa```a```aaaaaa`a`a`aaaa`aaaaaaaaaaa`````````aaa`aa`aaaaaa`aaaa`aaa`a`aaaaa``a`aaaa``aa`aaaa```aa`aaa``a`a`aaaa`aaa`aa`aaaaa``aaaaaaaaa`aaa`a`aaaaaa`aaaaaa``aa`a`aa`aa`aa`aaaa`a````aa`a``a`a`aaa`a`a```aaaaaa`aa``aa`a```aaaaa`a`aaaa``aa`aa`aaa`a````aaaaaa`aaaa`aa````aa``aa``a`a`aaaa`aa``a``aaaa```aaaa``a``a``aa`a`a``aa`aa``aaaaaaa``````aa``a``a`aaa`a`aa`a````a````aaa`a`aa``aa`a``aa`aa`aaaaaaaaa`a```aa`a`aaaa`aaaa```a`a``aaaaaa`aa```````a`````aaaa`aaaaaa``a`aaa`aaaa`a`aa`aaaaaa`aaaaaaa`a```aaaaa`aaaa```aa````aa`aaaaa`aaaa````aa```aaaaaa````aa````aa``aaaaaaa`aa`a```aa``a`````a```a``a`a`````aa`aaaaaaaa``a````aa``a```a```a``a```````aaaaa`aa`````a``aa`a`a````a`aa`aa``````aaa`a`a```a`aa`aa`a``a`a`aaa`aaa`a`a`a`a`aa`aa`aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa`a`aaaaaaaa`aaaa`aaa``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa`aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa`aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa`aaaaaaaaaaaaa`aaaaaaa`aaaaaaaaaaaaaaaaaaaa``aaaaaaaaaaaa`aaaaaaaajɦjaaaaaaaaaaaaaaaaaaaaaaaaaaa`aaaaaaaaaaaaaaaaaaaaaa`aaaa`aaajɦjaaaaaaaaaa`aa`aaaaaaaaa`aa`aaaaaa`aaa`aaa`aaaaaaaaaaaaaaj{aaaaa`aaaaa`aaaaaaaaaaaaaa`aaaaaaa`aaaaaaaaaa``aaaaaaa`aaaaaaaaaaaaa`a`aaaaaaaaaaaaaaaaa`aaaa`aaaaaaaaaaaa`aaaa``aaaaaaa`aaaaaaaa`aaaaaaaaa`aaaaaaaaaaaaaa{aaaaaaaaaaaaaaaaaaaaa`aaa``aaaa`a`aaaaaaaa`aa``aaa{aaaaaaaaaa``aaaaaaaaaaaaaaaaaaaaaaaaaaa`aaa`aaa`aa`aaaaaaaaaaaaaaaaaaa`a``aaraaaa`aaaaaaaaaaaaaa``aa`aa``a`aaaaa`aaaa`aaaa`aaaaaaaaa`aaaaaaaaaaaaaa`aaaaa`aaa`aaaaaaa`aaaaa`aaa``aa`aaa`aaaaaaaaa`aa`aaaaaaaaaa`aaaaaaaaaaaaaaaaaaaaaa``a`aa``aaaaa`aaaaaaaaaaaaa`aaaaa`aaaaaaaa``a`aaaaaaa`aaaaa``aa`a`aaaaaaaaa``aa`aaaaaaaaaaaaaaaaaaaaaaa`aaaaaaaaa``aaaaa`aaa`aaaaaaa`aaaaaaaa`aaaaaaaaaa`aaaaa`aaaa`a`a`aa`aaaaaaaaa`a``aaaaaaaaaaa`aaa`aaaaaaaa`aaaaaaaa`aa`aaaa`aaaaa`aaaaaaaaaaa``a`aa``aaaaaaaa`aaaa`aaaaaaa`aaaaaaaaa`a`aaa`a`a`aaaaaaaaaaaaaa`aaaaa`a`a`a`aaaaa`aa`aaaaaa```aa`aaaaaaa`aaaa`aaaaaaaaa``aa`aaaa`aaaaa`aa`aaaaaaa```aaaaaaaaaaaa`aa`aa`aa`aaaa```aaa``aa`aaaaaa```aa`a`aa`aaaaaaa`a`a`aaaaa`aaaaaaaaaaaaaaaaaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabaaaaaaabaaaaaaaaabaaaaaaaaaaaaaaaaaaaaaaaabaaaaaaaaaaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabaaaaaaaaaaaaaaaaaabaaaaaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaraaaaaaaaaaaaaaaaaaaaaaaaaabaaaɧaaaaaaaaaaaaaaaaaaajjaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaɦaaaaaaaaaaaaaaaaaaajjaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaўjaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa`aaaaaaaaaaaaaaaaaaaaaaaa`aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa`aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaraaaaaaaaaa`aaaaaaaaaaaaaaaaaaaaaa`aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa`aaaaaaaaaaaaaaaaaaaaaaa`aaaaaaaaaaaaaaaaaaaaaaaaaa`aaaaaa`aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa`aaaaaaa``aaaa`aa`aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa`aaaaaaaaaaaaa`jaa`aaaaaaaa`aaaaaa`aaaaaaaaaaaaaaaaaaa`aaaaaaaaaaaaaaa`aaaaaaaaaaaaaaaaaaaaaaaaaa`aaaaaaaaaaa`a`aaaa``aaaaaaaaaaaaaaaaaaa`aaaaaaaaaaaaaaaaaa`aaaaaaaaaaaaaaaaaaaaaa`aaaa`aaaaaaaaaaaaaaaaaa`aa`aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa`aaaaaaaaaaaaa`aaaaaa`a`aaa`aaaaaaaaaaaaaaaaaaa`a``aaaaaaaaaaaaaaaa`aaaaa`aa`aaa`aaaaaaaaaaaaa`aaaaaaaaaaaaa`aaaa`aaaaaaaaaabaaaaabbaabaaaaaaaaabaaaaaaaaaaaaaaaaaabaaaaabaaaaaaaaabaaaaaaababbbaaaaaaaaababbaabaaaaaaababaaaaaaaababbaabbaaabaaabbabbaaabaaaaaaaaaabaabaaaaaaaaaabaaaaaaaaaaabaaaaaaaaaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaabaaaaaaaaaabaabaaaaaaaaabaabaaaaaabaaaaabaaaa냸jaaaaaaaaaaaaaaaaaaababaaaaaaajaaaaaaaaabaaaaaaaaaaabaaabraaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabaaaaaaaaaaaaaaaaaaaaaaaajaaabaaaaaaaaaaaaaaaaaaaaaasaaaabaaaaaaaaaaabaaaabaaaaaaaaaaaabaaaaaaaaaaaaaaaaaaaaajjaaaaaabaaaaaaaaaaaaaaaaaaaaaaabaaabaaaaaaaaaaabaaaaaaababbaaaaaaabaaaaababaaaaaaaaaaaaaaaabaaaaaaabaaaabbaaabaaaabaaaaaaaaaaaaaaaaaaaaaaaabaabaaaaaa{aabaaaaaaaaaaaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa{aaaaaaaaaaaaaaaaaaaaaaaaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbaaaaaaabaaaaaaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaababaaaaaaaaaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabaaaaaaaaaaaaaaaaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabaaaaaaaaaaaaaaaaaaaaaaaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa`aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabaaaabbaaaabababaaababbbaabaaababaabaabbabaabbbaaaabaaaabaaabbabbaaabaaaabaabaaabbaabbaaabbabaaabaaaaaaaaaaabaaabbaaaaababaaaaaaaaaaaaabbbaaaabaaaaaaabaaabbabbaaaaaabaaabaaabaaababaaabbaaaaaaaaaaaaaabaaaaaaaaaabaaaabaaaaabaabaaabaaabbbaabbaaaaaaaabaaaabaaaaabaaaaabaaaabaaabbaaڞjbaabaaaaabaaaaabaaaababaaaaaaaba{abaaaaaabaaabaaaabaaabaaabbbaaaaaaaaabbaaaaaaaaaabbaaabڞjaaabbbaaaaaaaaaaaaaaaaaababaaaaa{abaaaabaaaaaaaaaabaabaaaaaaaaaaaabaaaaabbaaaaaaaaaaaabaaraaaaaaaaaabbaababaaaaaabaaababaaaaabaaaabaaaaaaabbaaaaaaaaaaaaaaaabaaabaaaaaaaaaaabaaabaaaaaabaaaaaaaaaaabaaaaaaaaaaaaaaaaaaaaaabaaaaaaaaabbbabaaaabaaaaaaaaaaaaaaaabaabaabaaaaaaaaaaaaabaaaaaaabaaaaaabaaabaaaaaaaaaaaabaaaaabbaaabaabaaaaaaaaaaaaaaaaaaaababaabaaabaaaaaaaaaabaaabaabaaaaaaaaaaaabbaaaaaaaaaaaaaaaababaaaaaaaaabaaaaaaaaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabaaaaaaaaaaaaaabaaabaaaaaabaaaaaaaaaaaaaabaaaaababaaaaaaaaaaaaabaaaabaabaabaaaaaaaaaaaaaaaabaaabaaaaaaaaaaaaabaaaabaaaaaaaabbaaaaabaaaaaaaaabaaaaaaaaaaaaaaaababaaaaaaabaaaaaaaaaaaaaaaabaaaaaabaaaaaabaaaaaaaaaaaaaaaaaabaaabaaaaaaaaaaaaaaaaabbaaaaaaaaaaaaaaaaabaaaaaabaaaaaaaaaaabaaaaaaaaaaaaaaaaababaababaababaaaaaaaabaaaaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabaaaaabaaaaaaaaaaaaaaaaaaaaaaaaaaabaaaaaaabaaaaaaaaaaaaaaaaaaaaaaaabaabbaaaabaaaaabaaaaabaabaaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbabbbbabaaaabbbabaaabaababbaabababbbbababaaaabbabababaabbababbbbbbaaaaababbabbbbbabaaaababaaababbbbbaabbbbbbbbaababaabbbabbbbbbbbbabaabbbaaaaaaababbaabbbbbaababaaabaaaaaaabababaabbabaabababbbabbaababbaabbbaaaabbaabbabaaababababaababbbabbbbbbaaaaababbaabbbbaaabbbbabaaaaaabaaaa{ڕbbabaaabbbbbaabaabbaabaaaaaaabbbbbaaasababbbabbaabaababaaababbbaabbbaabbbbbbaaaaabbbaabbbab{ڕbaabbbabbaabbbaaabbabbaaaabaaabbbaabasaababaabbbaaaababbbaabbbabbbbabaaaaaabaabbbbaaababaaaaaaў{baaaabbaabbaabbbabbaaabaabaaaabbbbabbaababbbbaabbbbbaaaababbbbaaaababbabaaaaaaabababaaaabaabbbababaaaaaabbabbbbbbbababaabaaaabbabaaaabbabbaaaabraaaabaaabaabaabbaaaaaabaabaaaabbbaaababaaababaaaaabbaababaaaaaababbbabaabbabarabaaabaabababbbaaabaababbaabbbbbaaaaabbaaabbaaajaabbaaabaaaabaabbaaabaaaabaabaaaaaabbabaabaaaaaaaaaabaabaabaaaaaaaaaaaaaabaaaaaaaaaaaabbaabbabaaaabaaaabaaaabaaaabaaaaaabaaaaaaaaaaaaabaaaaaabaaaaabbaaaaabaabaaaabbaaabaaabaaaaaaababaaaabbabaaaaaaabaaaaaaabaaaaaabaabbaabaaaabbabbabbabbbabaabaaaaaaaaaaaabbabaaabaaaaaabababaaabaaaabababbaabaaaabaabbabaababaababaaabaabaaaaabbabaaaaababaaaaabaaaaaaaabaaabaaaaababbaaabaaaaaaaaaaaabbbbaaaaaaaaaaaaababaaaaabaaaaaababbabaaaaaaaaaaaaaaabbaabaaaabaaaabaaaaaaaaabababaaaaaaabaabaaabaaaaaaaaaaaaabbabaaaabaaaabbaaaaaababaababaaaaaaabaabaaaabaaaaabbaaaaababbaaabbaaaaaaaaabaabaabbaaaabaaaaaaabbabbbaaaaabaaabaababaaaababaaaaaaabbbbbabaabbbaabaabbbbbbbbbbbbbababbbbbbbbbbbbbabaababbbbbaabababbbabbabbbbabababbbbbaabbbbbbabaabbbbbbbabbabbbbababbabbbbabbabbbbbabbabbbabbaaabbbbabbbbbaabbbbbbabbbbbbbabbbbabbbabbbbbbbbbbabbabbbbbabbabbabbabbbbbbbbbabbbabbaabbabbbabbbbbabbbbbbbbabaѸbbabbbbabbbbaabbbbbbbbabbaaajbbbabbbbabbbbbbbabbbbbbaaabbbbbabbbababbbsjabbaaabbbbbbbbabbbbbabbbbbbaabbbaaababbbaabbaaaaabajbbbbbabbbababbbbbabbababaabbaabbbababbbbasjbabaabbabbababababbbbabbaaababaaabbabbbbbaaabaabbabbbaarڸjbabababbaaaabbbbababbaaabbabbbbabbaabbbbbaabbbbbbaabbbbbaabbbbbbbaabbbaabbbabbbaaaabbabbaabbbaababaabbabaaababbbabababbbbababbbababbbababbbbababbbaabbabbaabaaaaabbabbaababbbbbbabbbaabbabbbbbbabbaababbbbbbabbaababababaraaaaaabbbbaabbbbabbabbabbbaaababbbabaabbbabbbajbbabbababaabbaabaabbababbbaaabbbbbababbbbababababababaabbabababaababaaabaabaaabaaaaaaabbbbbbbaababbabaabaababbbbbbbababbbbbbabbbbaabbbaababbaabbaaaaaaaababbaaabaabbabaabbbaabbbbaabbaaaababaabbabbbbabbabbbbbbabbbaababbaababbabbaaaabaaaaaaabbbabababbaaaabbbaaaaabbbbaabaaabbbbaababababbbaaabbbbaababbbaababaaaaabbaaaababbabaaaabaababbabaaaababbaabaaaaabbbbbaababbaabbaabbabababaaaaaaaaabbabababbaaaaababbaabbbaaaaaaaaaabbaaabaabaabbaaaaaaaabbaabaabbaaaabbaaaabbbabaaaaaababaaaaabaaabaaabbabaaabaaabaaabbaabbbaaabaababaaaaabaaaaaaaaabaabbabababbbaabababaaabbbababaaabbbbaaaabababaabbbbaaaaaababaabaaaaaabaabbaaaabbababbaabbbbbbbbbbbbbbbbabbbbbbabbbbbabbbbbbbbbbbbbbbabbbbbbbbbbbbbbbbbbbbbbbabababbbababbbbbbbbbbbbabbabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbabbbbbbbbbbbabbbbbabbbbbabbabbbbbbbbbbbbbbbbbabbbbbbbbbbbbbbbbbbaaabbbbbbbbbbabbbabbbbbbaabbbabbbbbbbbbbabbbbbbbbaaaabbўsbbabbbbbbbbbbbkbbbbbbbbabbbbabbbbbbbbbbbbbajbbbbbbbbbbbabbbbbbbbabbbbbbbbbbbbbbaaabbbbbbbbbbbbbbbbaabbbbbbbbbbbbbbbbbbbbbbbbbbabaabbbbbbbbbjabbbbbbbbbbbbabbbababbbbbababbbabbbbbbbbbbababbbbbbbbbbbbbbbbbbbbbbabbbbbbbbbbbbbbabbbbbbbbbbbbbbbbaҦbbbbbbabbababbbbbbbabbbbbbbbbbbbbbbbabaabbbbbbbbbaabbbbbabbbbbbbaabbbbbabbabbbbaabbbbbbbbabbbbabbbbbbbbbbbabbabbaabbbbbbbabbbbbabbbabbbbsabbbbbabbbbbabbbbbbbbbbabbbbaaabbbabbbbbbbbbbbbbjbbabbbbaababbbbbbbbbbabbbbabbbbbbaababbabbbabbbbbabbbbabbbbbabaabbbababbbabbbbbbbaabbbbbababbbbbbababbbbbbbbbaabbbbbbbababbababbbbbabbbbbbbbbbbbbbbabbbbbaabbbabbbbbbaabbbbbabbbaabbaabbababbbbbbbabbabbbbbbababbabbbbbabbaabbbbbbbbabbbbbbbaabbaabbbbbbbabbaabbbbaababbabbbabbbaababbbbbaaabbababbbabbabbbabbabbbbaabbbabbbbabbabbbjbabbbbabaabbbaababbaabbaabbbbbbbbbbbbabbbbbababbbbbbbbabababbbbabbbbbabbaababaabbbbabbbbbbbbbaabbbbabbbbbbbbbbbbbbbbbbbabbbbabbabbbbbbabbbbbbbbbbababbababbbbbbbbbbbbbbaababaaabababababbbbbbbabaabbbaaaabaabbbabbabbbaaabbbbbbbaaabbbbabababbbbbaabbbbbaabbbabbbbbbbbbabbbaaabbbabbaabaababbbabaaaabbbbbbbabbbbbbababbaabaababbbababbbbbbbabaabbbbbbbbabbaabbbabbbbbaaababbbbbabaabbbbbbbbbbbabbbbbabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbaabbbbabbbbbbbbbbbbbbbbbb|bbbbbbbbbbbbbbbbabbbbsbbbbbbbbbbbbbbbbbbabbbbabbbڅbbbabababbbbbbbbbbbbbbbbbabbabbbbbbbbbbbbbbbbbbkbbbbbbbbbbbbbabbbbbbbbbabbbbbbbbbbbbabbbbbbbbbbbbڅbabbbbbbabbbbbbbbbbbbbbbbbbbbbbbbbbabbbbbbbbabbkbabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbabbbbabbɦbbbababbbbbbbbbbbbbbbbbbbbbbbbabbbbabbbabbbbbbbbbbbbbbabbbbbbbbbbbbbbbbbbbbbbabbabbbababbbbbbbabbbbbaabbbbbbbabbbbbbbbbbabbababbabbbaaaaabbabbbabbbbbbbbbbbbbbbbbbbbbbbbbbbbabbbbbabsbbbbbbbbbbbbbabbbbbbbbbbbabbbbbbbbbabbbbbbbbbbbbbbbbabbbbbbbbbbbbbbabbbbabbbbabbbbbbbbbbbbbbbbabbbbbbbbbbbbbbbbbbbbbbbbbabbbbbbbbbbbbbabbabbbbbbbbbabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbabbbbbbbbbbbbbbbbbbabbbbbbbbabbbbbbbbbbabbbbbbbbbbabbbababbbbabbbbbbbbbbaabbbaabbbbaabbbbbbabbbbbbbbbbbbbbababbbbaabbabbbbabbbbbabbbbbbbbabbbbbbbbbbbbbbbbbbbbbbaabbbbbbbbbbbbbbbbbbbbbabbbbbbbbbbbbbbbabbbbbbbbabbbbbbbbbbbbbbbbabbbbbbbbbbbbbbbbbbbaaabbbbbbbbababbbbbbbbbbbababbbbbbbbbbbabbaabbababbabbbbbabbbababbbbbbbbaabbbbbbbbbbaabababbbbabbbbbbbbabbabbabbbbaabbaaabbbbbabbbbbbbbbbbbbbbbbabbbbbbbbaabbbbabbbbbbabbbbbbbbbabbbbbbbbaabbabbbabbbbbbabbabbabbbbababbbbbbbbbbbbbbbabbbbbbabbbbbabbbbabbabbbbabbbbabbabbbabbbbbbbbbbbbbbbbbbbbbbbbbcbbbbbbbbbbbbbbbcbbbbbbbbbbbbbbbbbbcbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbcbbbbbbbbbbbbbbbbbbcbbbbbbbbbbbbbbbbcbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbsbbbbbbbbbbbbbbbbbbbbbbbbbkbbbbbbbbbbbbbbbbbbbbbbbbbbbkkbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbkbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbabkkbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbkbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbkɧbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbkbbabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbkbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbaabbbbbbbbabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbabbbbbbbbbbbabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbabbbabbbbbbbsbbbbbbbbbbbbbbbbbbbbbbbabbbbbbbbbbbbbbbbbbbbbbbabbbbbbbbbbbbbbbbbbbbbbabbbbbbbbbbbbbbabbbbbbbabbbbbbbbbabbbbbbbbbbbbbbbbbbbbbbbaabbbbbbbbbabbbbbbbbbbabbbbbbbbbbbbbbbbabbbbbbbbbbbabbbbbbbbbbbbabbbbbbbbbbbbbbbbbbbbbbbaabbbbbbbbbbbbbbbbbbbbbbbbbbbabbbbbbbbbbbbbbbbbbbbabbbbabbbabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbabbbbbbbbbabbababbbbabbbbbbbbbbbbbbabbbbbbbbbbbbbbbbbabbbbbbbbbbcbbcbbbbbbbcbbbbbccbbccbbbbbbbbbbcbbbbccbbbbbbcbcbbccbcccbbbbbbbbbbbbbcbcbbbbbcbcbbbbcbcbbbbbbbbbbbbccbbbcbbbcbbcbbbbccbcbbcbbbbbbbcbcbbbbbbbcbcbbbbbbbcccbbbbbbbbbbbbcbcbbbbbbbbcbbbbbcbbbbbbbbbcbcbbbbbbbcbbbbbbbbbbbbbbbbcbbbbbbbbbbbcbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbcbbbbbbbbbbbbbbcbcbbbbbccbbbbbbbbbbbcbbbbbcbbbcbbbbbbbbbbbbbcbbbbbbbbbbbbbbbbbbbbbbbbbbbcb|bbbbbbbcbcbbbbbbcbccbbbbbbbbbbbbbbcbcbcbbcbbbbbbbbbbbbbcbbbbbbbbbbbbbbbbcbbbbbbbbbbbbbbbbbbcbbbbbbbb}bbbbbbcbbbbbbbbcbbbbbbbbbbbbbbcbbbbbbbbbbbbbbbbbbbbbbbbbkүsbbbbbbbbbbbbcbbbbbbbbbbbbbbbbcbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbcbbbbbcbbbbbbbbbbbbbbbbcbbcbbbbbbbbbbbbbbbbbbbbbbbcbbbbbbbbbbbcbcbbbbbbbbcbbbbbbbbbbcbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbabbbbbcbbbccbbccbccbbbccccbcccbcbbbbccccbbbccccbbcccbbcbcccccccbbbbcbbbbbbcbcccbbbcbccccbbccbbbccbccbbccbbbcbbccccbccccbccbbbbcbcbccbbbbbcbcccccbcbbcbccbbcbbcbcbcbbcbbccbccbbbbbbcbbbbbbccbcbcbcbbbcbccbbbbbcbcbbbbbbccbbcbbbccbbbbbbcbbccbbccbcbccbcbbccbbccbbsbcbcbbcbbbcbccbbbbccbbccbbbcbccblkbbbbcbbccbcccbbccbbccccbccccbbbbbbcbcbcbbcbbbccccbcbbcbcbbbbbccbccbbbbbccbcbbcccct|cbbcbbcbcbcbbbbbbbcbbbbcbbbbccbcccbcccbbbcbbbbcccbbccbbbcbbbbcbbbbcbbcbbbbcbbbbbbcbbcbbbbbccccbbbbbct}cbbcbbcbbbcbbbcccbbbbbbccbcbbccbbbbccbcbbbbbbbcbbbbbcbcb|ڸ|cbcbbcbbbbbcbcbcbbbccbbbbbbccbbbbcbbbcbcccbbcbcbbcbbcbbbbbbcbbbccccbbbbbbcbbbcbbbccbbbbbbbbbbbbbcbbcbbbcbbccbcbbcbbbcbbbkbbbbbbbbbbbbbccbbbbcbccbcbbcbbbcbcbbbbcbcbbbccbcbcbbbbccbccbbbbbbbbcbbbbcbbbcbbbbbbbbbbbbbccbbccbbbbbbbbbbcbcbbbbbbcbcbbbcbcbbbbbbbbbbbcbcbbbbbbcbbbbbbbcbbbbbbbbbbbbcbbccbbbbbbbcbcbbbbbbcbccbbbcbbbbbbbbbbcbcbcbbccbbbbbbbcbbcbbbbbcbbbbbbbbbcbbbbbbbbcbbbbbbbbbbcbbbbcbbbbbbcbbbbcbbbcbbbbccbbbbbbcbcbbbbcbbbbbbbbcbbbcbbbbbbbbcbbbbbbbbcbbbbbcbbbbcbbbbbbbbbbbbbbbbbbbcbbbbcbbbbbbbbbbbbbbbcbbbbbbbbcbbbbbbbbbbbbbbcbbbbbbbbbbbbbbbbbbbbbbbbbbbbbcbbbbbbbbcbbbbbccbbbbcbbbbcbbbbbcbbbbbcbbbbbbbbbbbbbcbcbbbbbbbbbbbbbbcbbbbbcbbbbbbbbbbbbbbbbbbbbbbbbcbcbbcbbcbcbbbbbbccbbbbcbbbbbbbcbbbbbbbbbbbbbbbbbbcbbbcbbbbbbcbbbbcbbbbbbbbbbbcbbcbbcbcbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbcbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbcbbbbbbbbbbbbbbbbbbbbbbbbbbbbcbbbbbbbbbbbcccbcbbccbccbbcccccccccccccccccbccccccbccccccbcbcbccbccccccccbccbccbccccccbcccbbccccbcccbcbbbccccbcbccbbccbccbbbbcccccbcccbcbbbccbcbcbcccbccbccccbccccbccbbbcbccbcbcccccbcbcbcccccccbccbbcccbbcccccccbbcccccccbcbcccccbbbccccbbcccccbccccbccccccbcbccbcbclbbbcccbcccbbcbcccbccccccccbcccbbcccbccccbbbbccbcbbccbcbccccccc}ccbccbccbcccbccbccbbbbcbbccbbccbcbcbcbbcbccccbcccbcccbccblcccbccbbccccbcccbbbbccccbccccbbcbbbccbbcbcccc}bccbcccccccbccbccccccbbcbcccbcbbbbccbbcbcccbccccbcbbccbcclcbcccbcbbccccbbcbcbcbccbccccbbbbccbbcccbbbbbccccbbbcccbcc|ɧcbcccbbccbccccbcbbbbccbcbccbcbcbccccccbbbcccbcbcccbccbccbbccccbcccccccbcccbbbbcccccbbccccccccbccccbccbbcccbcccbbcccbccccbccbcccbbccbcccbbbbbbccbbcbbccbcbbcbbbbccbbcbbcbccbbbbbbbcbccbccbbbbbbcccbc}bbbcbccbcbbcbccccbccbbccbcbbcbbcbcbbcbbcbbcbcbccbcbbbccccbcbbccbbcbbcccbccccbcbccbcbbcbccccbcbcbcccbcbccbbbbbbcbbbbcbbbcccccccbcccbbbcbbbbccccbbbccbbbbbbbccccbbcbbcbcbbcbbbbccbbccbbccccbccbbbbcbbbcbbbcccbcbcbbcbbcbbcbcbbbbbbbcbcccbccbccbcbcbbbbcccbbcbbccbcccccbcbbccbcbbbbbbbcbbbbbcbccbcccbbcbbbbbcccbbcbbcbbbccbbbcccbbcbbccbcbbccbcbbccbccbbbbbbcbbbbbcbcbbcbbbbcccbbccbbbcbcccbbbbbbbcbcbbbbcccbcbbbbbbcbcbbcbcbcbbcbcbcbbbcbbcbbbbbbbbbbbcbbbbcbbbcbcbbbbbbbcbbbbbcccbbcbccbbcbccbbbccbbbcccbbbcbbbcbbbbbbbbbbbbbbbbbbbcbbcbbcbcbbbbbbbcbbbbbbbbcbbbbbbbbcbcbbccbbccccccccbcccccccccccccccccccccccccccccccccccbccccccccccccccccccccccccccccbccccccccccccccbccccccbcccccccbbcccbccccccbcccccccbccccccccccccccccccccccbccccccccccbcccccbcccccccccccccccbccccbcbccbcccccccccccbcccccccbccccccccccccccccccccbccccbcccbcccccbccccccccccccccbccbcccccccccccccccccbbcccccbcccccccccccbccbccccb}ccccccbccccccccccccbcccccccccbccbcccccbcccccccccbcccccbcccclcbccccccccccccccccbcccccccbcbccccccccccccbc}bccccccccccbbcccccccccccccccccbccccbcccccccccccccccccccccbclccccccccccccccbccccbccccbbcccccbccbcccccbccccccccbccbccccɧbbccccccccccbcbbbbcbcccccccccbcccccccccbcbccccccccbcccbccccccbcbcccbcccccbbbcccbcccbcccccbccbcbccccccbccccbcccccbbcccccbbbccccccccbccccccbcbcccccbbccccccccbbccbcccccbcbbccccbbccbccbcccccccbbcctbcbcccbccccccccccccccbcccbcccccccccccccbccbsbcccccbcbbccbbcccccbbbcbcbbcbbbccccccbcbccccccbcccccbccccbccbbccccccccbcbcbbbcccbbcbbbbccccccccbccbcccbcbccccccccccbcccbccbcbbccccccbcbcbccbcbbcbbcccbbbccbccbccccccbbccbcccccbbcccccccbbbccccccbbcccccbcccccccccbcbccbcccbcbbbbccbbbcccbcbcbbcccccccccbbcccbbbbcccccbbccccccbcccccbbcbccbccccccbbcbbbcbbcbcccbcbcbbcccccbcccbcccbcccccbcbbcbbcccccbbcbcbcbcccccccbccbcccbcbcccccbccbccbccccccbbbbcccbcccccbccbcbbbcbccbccccccbccccbbcccbbcbcccbbbccbcbcbcbcccbcbcbcccbbccbcbbbbbccbccccbccccbbbbcbcbcccbbbbcccccbccbbcccbbccdcccccccccccccdccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccdccccccdccccccccccccdccccccccccccccccccdccccccccccccccccccccccccccccccbcccccccccccccbcccccccccccccccccccccccccl}cccccbccccccccccccccccccccccccccccccccccccccccccccccccccccccclccccccccccccccccccccccccccccccccccccccccccl}cbccccccccccccccccccccccccccccccccccccccccccccccccccccccccccclccccccccccccccccccccccccccccccccccccccccccccccccccccbcccccɧccccccccccccccccccbccccccccccccccccccccccccccccbccccccbcccbcccccccccbccccccccbcccccbcccccccccbccccbcccccccccc}ccbbccccccccccccccccccccccccccccccbccccccccctbcccccccccccbbcccccccccccccccccccccccccccccccccccccccbccccbccccccbccbcbcccccccccccbbcccccccccccccccccccbcccccccccbccccccccccccccccccccccccccccccbcbcccccbcccccbcccccccccbccccccccccbccccccccccccccccccccccbccccccbcccbccccccccccccccccccccccbccccccccccbcccccccccccbccbcccccbccccbcccbccccccccccbccccccccbcccccccccccccccccccbbccbccctccccbbcccccccbccccbcccbccccccccbbcccccccccbccccbccccccccccccccbccccccccccccccccbccccbccbcbcccccccccbbcccccccccccccccccccccccccccccccbccccccbbbccccccccccccccbccccccccccbcccbccccccccccccbbccccbcccbcccccccbccccccccbcbbcccccccbcccccccccccccbccccccccccccccccccccccccccdccccccccdcccdccccccccccccccdccdccccccccdccddcccdcddcccdccccccdccccccccccccccddccccccccccccdcccdccdcccccdccddcccdcccddccdcccdcccccdcccdcccccccdcccdclcccccccccccdccccccddcccccccccccdccccccdcccdccccccccccccdcdcccccdccccccccccccccdccccccccccccccccccccdcccdcccdcccdcddccdccdccccc}ccdcdccdccccccccdcccccccdcddccccccdccccdccccccccccdccccccdcccccccccccccccccccccdcccccccccccccccccdcccccc}cccccccccccccccccccccccccccccccccccdcccccccccccccdcccccccd}ɧccccccccccdccccccccccccccccccccccccccccccccdcccccccccccccdccccccccccccdccccccccccccccccccdcccccccccccccccccccccccccccccccccccccccdcccccccccccccdccccctccccccccdcccccdccccccccccccccccccdcccccccdccccccccccdcccccccccccccccccccccccccccccdccccccccccccccccccccccccccccccccccccccccccccccccdccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccdcccccccccccccccccccdcccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccbcccccbccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccbccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccbccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccbccccccccccccccccccccccccdcccccdccccccdccccdccddccccdcdcccccdcdddddcccdcdccdccdcccdcddcdcdccdccdddcdcdcdccdccdccdcddccccddcccdccccddddcccccdcdcccccdcccdcccdcccddcccccccdcdcdlccdddcddcdcdcdcdccddcddcdcddcddccdddcccdcdccdcccccccdcdccccdcddldcccdcdcccccdccdccddddcddcdcddccccddccdcdcccdcdccdcdcdcdccdcdcdcc}cddccddcdccccccddcccccccdcddcddcccccdcdclddcccdcddcccdcccdccdccccccccddcdccddccccccccccdddcccddcdccccdccdc}cddccdcccccccccddcccddcccdcdcccdccddcccdcccccccddcdcccdcddd}}cdccccccccddcccdcccdccdcccdcdcdccccdcdccccccdcdcddccccccccccdcdccccccddccccccccccccddccccccdccccccccdcdcddcccccccddcccccccdccccccccccccdccdccccdcddccdcccccddccddcccccccccccccccdccctcdcccccccdcccccccccccccccccccccccddcccdccccddcccccccccdcccccdccccdcccdcccdcccdcddccdccdccccccccccdccdcccdccccdcccccccdcddccccccddccddcdccdcdcddccdcccccdcddccccdccccccccccccdccdccccccdccccccccccdccccccccccccdcccdcccccccccccccdcdccccccccccccccccccccccccdccccccccccdccccccccdccccccccdcdcdccdcdcccccdcdccccccccccccccccccccccccdccccccccccdccdcccccdcccccccddcdcdccccdccccccccccdccdcccccccccccccccccdcdccccccdcccccdcccdccdccccdccccccccccddcdcdcccccccccccccccccccccccccdcccdccccccccccdcccccccccccccccccccccccdcccccccccccccccdcccccccccccccccccccdccccccccccccccccccdddddccdcddddddddddcddddddccdcdcccddddccdddddcddcdcccdddddddddcddddcddcddddcddcddddccddddddddcdddddcdddcddcdddddcccdccccccccdcccdddcdddcdccdddcddddddddddcdccdcdccdccdccdccddcddcdcccdddddddddcdcdcdcdcdccddcdddddcddccdddcdcdcddcdcddcddddccdcdcdcdddcddcddddccdddccccccddddddcccddcdcdcddcccdcccdccddddddcccdddcdddccdcdccccdcddcdccdccdcdcdcddcdcdcddccdddcdddcdccdccdccdcddcccdddccdcccddcddcccdddcccdddcdddddccdcddcdcddcccccdddcdddddddcdddddcdddcddddlڸlcccccddcddccddccddccccdddddcccdcccdccccccddcccdddddcddccdcccdddcddcdddccccdddcccdcdccdcdcddcdddcdcdddcddcddcccccdcdcddccdccdddccdcdcdcccddddcdcdcccccddccccccccddcdddcccdcdcdccdcdcdcddcddccdcdcccccccdccccccdcdcddccddcdcldcccddddcddcdcddccccddcddcdcccdccccdcdcdddccdcdcdccccdccddcdccccccddccddcdcdcdddddcccccdcdcccdccccddcdddccccddcdcccdccccdccddcdddcddcccdcccdccdcccccddcddcdccdcdddcccdcccddcddcdcddcccdccccccddccdccccccdccddcccdddccdccdccdcccdcccdcccccccddcdcccdcddddcdcccdccccccddccdccccccdccddcccdddccdcddccdccddcccdcccccccddcdcccdcddddccccddcddcddccdccdcdccccccddccccccccdccddcccdcccdddcdcccddcdcddccddcccccccdcdcdcddccccdccdddcccccccddcddccccdcdcdcdddcdcccdcccccccdcccdcddcccccccccccdcccccccdccddccdccdccccdddccccdccccccdccdccdcdddcdddddddcddddddddddddddddccddcdddddddddddddddddddddddddddddddddddddcddcddddddddddddcddddddddddddcddccdcdcddddcdcddcddddcdddddccdcdddddddddddddddcddddddddcddddddddddddddddddddddddddddcddccddddddddddddddddccdccdmdddcddddccdddddddddcddddddccdcddddddddddddddddddddcddddddddddddcdddcdcddcddcddddcccdddddddddddddcddddddcdddlddddcddcdccdddddddddddddddcddddddddddcddddcdddddddddcdddddcdcdddddcdcdcdcddcdcccdddddddcddddcddddcdddcdddddddddddcdcddddddcdddddddɟucdcddcdddddddddcdccddddddcdddddccdddddcddcddddddddddddddddddcdddddddddddddddddddcdddcdddddcdddctddcdcddcccddcdcddcddccdddddccdddcdddcdddccccddcdddcddddcdddccddcdcdcdddddccddcdcdcddcddddccddddddddcdddddcddcdddcdddcdddcddcddcdccdcdcddddcdddccdddccdddccdcccdddddddccddcdcdcddcccddccdccddddddcccdddcddddcdcdccccdcdcdcddccdddcdcdcdccccddcddddddcddcdccdccdcdcdcddddcdcddcddddcdddccccddcdcdccdcdccdcddddcddddcccccdddddccdddcdddddccdcddcccddcccdccdccdddddddcdddddcdddddddddddcddddccccccdddccccddcdcdddccdcddcdcddcccccdddcdddddddcdddddcddddddddddccdcdccdccdcddcccddcdddddcdddcddddcddddcccdcdcddccccdddddccddcddddcdcccccccdddddcdddddddcdcccdddcdddddddccdcccccdcccddddcdddccdddddcccdccdcdccccdccdcdccddcccdcdcdddccccccdddddcdddccccdccdcccdddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddduddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddudddddddddddcdddddddcdddddddddddddddddddddddddddddddddddddddddddddddddmdddddddddddddddddddddddddddddddddddddudddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddmddddddddddddddddddddddddddddddddcddddcdddddddddcddddddddddddd۰}ddddddddcddddcddddddddddddddddddddddcdddcddddddddddddddcddddddddddddcdddddddddddddcddddddddddcdddddcdcddddddddddddddddddddddddddddddcdcdcdcdddddddddddcdddddddddddddddcddddddddddddcdddddddddddcddddddddddddddddddcdddddddddddccddddddddddddddddddddddcddddddddddddcdddcddddddcddddcccddddddddddddddddddddcddddddddddddcddddddccdcddcddddddcdddddcddcddcdddddddddddddddcdddddddddddcddddddddddddddcddcdddddddcdcddcddddcdcccdddddddcddddddcddddddcdddddddddddcdcdddddddddddddddddddccdcddcddddddcccdddddddcddddcddddddddcdddddddddddcdcddddddcddddddddccddddddcdcdddddddcccddcddddcddddddcddddddcddccccdcccdccddddcdddddccdddcddddddddccddcddcddccddcdddddddddddddddcdddddddddcdddcddccdddddddcdddddddccddccddcdddcccdddddccdddcddddcdddddcddcddcdddddddddddddddddddddddddddedddddddddddddedddddddeddddddedddddddeddddddddddddeedddddddddddeddddddddddddddddddddddddddddddeddddeddeddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddedddddddddddddddedddddddddddddddddddddddddeddddeedddddedddddddddddddddddedddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddeddddddedddddddddddeddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddm㹏dddddddedddddddddddddddddddddddddddddddddddddddddddddddddddddedddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddmddddddddddddddddddddddddddddddddddddddd}ddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddcdddddddddddddddddddddddddddcddddddddddddddddddddddddddddddddddddddddddcddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddcddcdddddddddddddddddcddddddddddddddddddddddddddddddddddddddddddddddddddddcdddddddddddddddddddddddddddddddddddddcddddcddcddddddddddddeedddddeddeeddddddddddddddddddddddddddeedddddddedededddddddddddddddddeddddeedddddedddddddddeeededdddddddededdeddddddededddededeedeedddddddeddededddddmdedddeddddddddddeddddddddddddddddddddddddddeddddddddddddddddddddeddeddddddddedddddddddedddddddddddddeddddddddddddddddddddddeddddddddeddddmddddddedddddddddeddddeddeddddedddddddddddddddddddddeddeddddddddedddddddeeddddddddddddddeddddddddddddddededddmdddeeddddddedddddeddddddddeddddddddddddddededddddddddeededddddd}dddddddddddddedddddddddddddddddddddddddddddddddddddddddddddddddeeddddddddddddddedddddddddddddddddddddddddedddddddddddddddddddded~dddddddddddddddddddedddddddddedddeddddddddddddedddddddddddddddddeddddddddddddddddddddddddddeddddedddddddddddddddddddddddddddddddeddddddeddeddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddedddeddddddddddddddddddddedddddddddddddddddedddddddddedddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddeddddddddddeddddddeddddddddddddddddddddddddeddddddddddddddddddeddddddddddddddeddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddedddddddddddeddddddddddddddddddddddddeeddeeedeedeededddeeddddddddedddddedeeddedddeeddeeeddeddddedeedddddeeddedddeddeedddeddddedeeeedddededdeeedddeddddeeededdeeedddeddddedeeddddddededdddeddddeeddeddeddeeededdeddddddedddddddddedddddeededdddddeedddddddeeededdedededeeeedeedddededeededddedddddeeddeddddeeeedeeddeedeeeeddddedeeedddddedddeededdeeeeddddedddeddedeedddddddddeeeddededddddddeddddddededddedddedeeddeddddeedeeeddedddeddddddeddddededdddeddedddededdddddeeeddddeeddeddddedeeddeddddedddeeddededemۨueddedddededddedddddeddddeeedddddeedddeeddeedddededdddedddeddddddeddddddddeddeeeedded}mddddddddddddddedddddeddedeedddeedddddddmddddddedddddeededdddedeedddddedededdddedddeedddddeedddddeeddddddededddddeeedddededdddeededdddeeddddeddddddddeddddddddddddddeedddddeddddddddddededddddedddddededdddeddededddddddddddddddddddddddddeededddddddddeedddddddddddeddeddddddddddeeeeeddddddddddddddddddeddddddddddeddddddddddddddddedddddddddddddddddddddddddededdddddeddddeedddddddedddddeeddddddddddddddddeeddddddddddddddddddedddedddddddddddddddeedddddddddeddddddedddddddddddddddddeddedddddeddedddeddeeeddddddeddddededddddedddddddddeddddeddddddddddddddddddddeddddddddddddddddddddeedddddeddedddddddedddeddddddddddddddddddddddddddddeddedddddeeeeeedeeeeeeeeedeeeeeeeeddeeeeedeedeedeeeeeeeeeeeededeeeeeedeedeeeeeeeeeedeeedeeededdeededeeeeeeeeeeeeeeeeeeeeedeeeededddeeeedeeedeeedeeeeeeeeeeedee~eeeeedeedeeededdeeeedededeeeedededeededddeeeddedeedededdeeeeeeedmddddeeeeeeedededdeeeeeeeeeeeeeeeeeeeedeeedeedeeedeeeeeeeeeeeededeeeeeeddeeedddeedddddeeeeeddeeededdddedeeeedemdeeddeddededddeddeeddeededdeeeeeedededdeedddededeeeeeeedddeddeedeedeeddeeeeededdedededdededdeeeeedeeeeedeeedddeedddeeddddeeeddededeeddeeedeeedddddedeeeededdeedddeddeedeeeeeddeedddddeeeeddeeeeeedeeeeeedeeddeddedeeeddeeeeddeeeededeeeddeeeeeededdeddedeeeededeededddddeddeeeeededdedededededdeddeedededddede~eeddeeeddeedddededeeeddeededdeddeeededeeeededddeddedddedeeddeeeeedeeeeededeeddeeddeeedddddedeeeeedddededdeededddedeeeddedeeedeeeeededdeddeeeddeeddddededddeddeedddddddddeddeeddddddddeddddddeddedeedddedddedddeddeeeddedddddededddddddddddeeedeedeeddeedededddeeeedddeeedddededddeddeddddeededeeddeddeddddeedddddededddeedddeeededdeddeedddeddddeddedeeeedeedddeededeedededeedeeeddddeeeddddeeddeddddedddeeeddddddddddddedddddeeeeeeededdddeededededddeeddeddeededddddedddedddddededdeddeedddeeddddddddeddddddedddddeeededddeddddddddddeddddedddddddeddedddedeeeddedddeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeveeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeueeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeueeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeueeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeedeeeeeeeeeۗeeeeeeeeeeeeeddeeeeeeeededdeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeddeeeeeeedeeeeedeedeedeeeeeeeeeeeeeeedeeedeeeeeeeeeeeedededddededeeeeeeeeeeedeeeeeedeedeeeedeedee~eeededeeeeeeeeeeeeeedeeedeeeeeeeeeddeueeeedeedeeeeeeeedeeeeeeeeeeeeeeeedeeeeeedeeedeeeeeeeeeeeeeeeeeddddeeeeeddeeeeeddeeeedeeeedeeeededeeededeeeedeeededdeeeeeeeeddeddeededdeddeeedeededdeeeeeeeeeeddedeeeeeeedeedeedededdeedddeeedeeeeeddddedeedeeedeeeeeeeeddeeeedeeedeeeeedeeededeeeeeeededeeeeeddeeedeeeeedeededeeeeeedeeeeeeeedeeeeedeedddeddedeeeddddeeeeeededeedddeeeedeedeeeededededdedeededdedeeeeddeedeeeeeeeddeededeeeddeedeedeeeddedeeeddeedeeeeeeedeeeddeeddedddddeedeeeeeedeeeeddededdddddeeedeedddddeeddeedeedededdeeeeeedddeeeeeeeeeddedeeedededeeededeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeemۗeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeemeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeededeeeeeeeeeeeeeeeeeeeeeeddeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeveeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeu~eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeev~eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeemۗeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeueeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee~eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee~eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee~veeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee~veeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeۏeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeemneeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeefeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeefefeeeefeeeeeeeeeeeeeffeeeeeeeeeeeeeeeeeeeeeeeefeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee~eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeemeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeffeefeefeefeeffefeefeffeeeefeeeeeffeeffffeeeeeefeeffefefeffeeeffffefeeeeefefefffeeefeffefeeffefefeefefeeeeffeefeeefeeffeefeefeeeeefeeeefeeefefefeeffeefeeefeeeeeeefeefeefeeefeeeeeeefeeeeefeeeefeeeeeeeeefefefeefeffnefeeefeeeefeefeeeeefefeefeefeffeeefeeeeeeefeefeefffeeeeefefeeeeefeeeeeeeefffeeeeeeeeeeeeefeeeefeeffefefeffefeeneefffeeeeeeeefeefeeeeeeeffeeeeeeeefeeeeeeeeeeeeeefeeffeeeeefeeefeefeefefefefeeeeeeefeeeeeeffefeefeeeefefeeeeeeefeeeeeeeefeeeeffeeeeefeeeeeeeeeefeefeeeeeffeefneeeeeeeeeeeeeefeeeeefeeeeeeeeeeeeeeeeeeeeeefeeeeefeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeefeeeeeeeefeeeeeeeefeeeeeneeeeeeeeeeffeeeeeefeeeeeeeeeeefeeeeefefeeefeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeefeeeeeeeeeeeeeeeeeeeeeeeeefeeeeeeeeeeeeeeeeefeeeeeeeeeeeeeeeeeeeeeeefeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeefeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeffffefefeefeeffffeffeeeefeeefefeeefffefefefefffffeffefeeffffeefefeeefffffffefffeffffeefeeffefffeeeffefeeefffeffffffeefffefffffffeffeffffefeffffeeffenffffeeffefffeefefffeffeffeefefefefffeefffffeffffffffffeefeeeffeeeeffeefefffeffefffffeefffefffffeeffffffeefffefefffffeffffffffeffefeeefffeffefffeffeffefeffffeefffffefffeffeeeeeffefffefeefffeefeffeefeffffffffffeeeeeeeeefefeeefffffefefeeeffefeffefeefffefefffeefeefefffeffeefefffeeeeffeffeffeeeffffefffffffffffefefffeeeefffefffefeeeffeefvۇefefeffefeeefffffeffeeeefeefeeeeefeffeffeeeefeeffefeefefefeeffefffeeefeneeefeefeefffffeefeeeffefefffeeffeffeefefffffeefeeeffeefeeeefeefeeefffeeeeeeeffeeffeeeeeeffefeefeefeeffeeeefffeefefeeeeeeefeffeeeefeefeeefeefffeffffeeefefeffeeeeefffefeeeeffeeeeeeeeeefeeefffefffffefefeffffeeeeefefeeeeeeeffeeeeeeeffefeefefeefeeeeeeeeffeeeeeeeffeeeeefefeeeeeeeeeeeeefeeeeffeffeeeffffefeeeefeefffeeeeeeeeeeeffeeeefeefeeeeeeeffeefeffefeeefeeeeefeeeeefeeeffeefefeffefeefeeeeefeeeffeeeeeeeefeeeefeeffeeefeffefeffeeeeeeeeeeeefeeeeefeeeeefeffeffffeeeeeeeefeefeeeeeeeffeeeeeeeefeeeeeeeeeeeefeffeffeeeeefeeefeefeefefefffeeeeeefeeeeeeeeeeffeefeeefeeeeeeeeeeeeefeeeeeeeeeeeeeeefeeeeefeeeeeeeeeefeeefeeeeeeeeeeeeeeeeeeefefeeffffefffffffffffffffffffeffffffffefffffffffffeffefeffffffffffffffefffffffffffffffffffffffffefefffffffffffffffffffffffffffffffffffefffeffffeffffefffffffeffffffffffffffffffffeffffffffeffffefffffefffffffffffeffffffffeefffffffeffffffffffffffeffffffffffffffffffffffffffffffeffffeeffeffeffffffffffeffffffefeeffffffffefefffefefffefefffeffffffeffffffeefffefeffffffeffffffffeffffefffffffeffeffeeffffffffeefffeffffefffeffffffffeffffffffeffffffeefeffffffefffffffffffffffffffffffffffeefefffeffefefefwnffeffffffefffffeffffffefffeeffffffeffffffeffffffffffffeffefffffffffffewffffefffffffffffffefeefeffffffeefffffeffeffffffefeefefffffffeffffeeeffffefffffffeefffffefeffeffffeffffefffffeffeeefffffeffffffefffffffefeffefffefffffffeeffeffeffeefffefffeefffeffffeeeffeffffffefeffffeffefefffffffefefffeefeefeeeeffffffffffefefeffeffefeeefefffffeefffeffeffeeeffefefeeffefefffefeffeeeeefeffffeeffeefffeeefffffeeeffffeeeefffeffffeffffefeffeffefffffefefefefefefeffffeffefffeeefffffffeeeffffeefffffefffefffefeefeffeffefeefeffffeffeefefffffffeeefffeeffefeeeffeefefefeffffffffeefeefefefeeeffefeeffefeeffeeffeefefffeeffeffffeeeeeeffefefeeefeffffeffefeefefffefeeffeffffeeeeffeffeffeeffefefeeefeeffefefeeeefeeffeeffeeffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffeffffffffffffffffffffffffffffffffffffffffffffffffffffefffffffffffffffffffffffffeffefffffffffffffffffffffffffffffffffefffffffefffffffffffffffffffffffffffffffffffffffeffffffffffffffffefffffffffffffffffffffffefffffffffffffffffffffffefffwffffffffffffffffeffffffffffeffffffefffffffffffffffffffffffffffefffeffffeffffffffffffffffffffffffffffffffvffffffffffffffffffefffffffffffffffffffffffffffffffefefffffffffffffffffffeffffffffffffffffffffffffffffffffffffffeffffffffeffffefffffffffffffffffeeffffffeeeeffffffffeffffefffffefffffffffffeefffffffffffffffefffffffeffffffffffffffffffffffffffefeeffffffffffffffffffffffffffffefffffffeffffffffffffffeffffffffffffeffffffffeeffffffffffffeffffeefefffefffefefffffffffffffefffffffffffefffffefffefeeffffffffefffeeffffffffffffffffffffffffefeffffeefffffffffefffffffffffefffeeffeffffeffeffeefffeeeffeefffeffefeffffffeeffffffffffffeffffffffeffffffefefefffffefffffffeefffeffeeefffffffeeffffefffffffffeffffefeffffffffffffffffffffffffgffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffwffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffwfffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffofffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffefffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffwffffffffffffffffffffffefffffffeffffffffffffffffffffffffffffffffffffffffffffffffffefffffffffffffffffefffffffffffffffffffffffffffffffffeffffffffffffffffffffffffefffffffffffffffffffffffffffffffffffffffffffffffefffffffffeffffffffffffeffffffffefffefffffffefffffffefffffgffgfgfffgfffggffgfgfggffffgffffffgfffgfffgfgfffffffffffgfgfgfggfffgffffffffffffffgfgfffffffffffffffgffgfffffgffffgffgfffgfgfffffgfffgfffffffffggfffxfffffffgfggfgffffffgfffffffffffgffgfgfffffffgffffffffffffffffffgfffffffffffgffffffffffffffffgggffffffffgffffffffgffgffgffffffgfffffffffffffgfffgffffffffffgfffffffffffffffffggffffffffffffffffffffgfffffffgfffffffffffgfffffffffffffffffffffffgfffffffffffffffffffffgffffffffffffffgffffffffffffffffffgfffffffgffgfffffffgfffffffffffffffffffffffffffffffffoffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffwofffffffffffffffffffffffffgfffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffgfffggffgfffgffgffgffffgggfggfgfgfffffffgfgfggffffffffgfggfgffffgggfgfffggfffgffffgffgfgfggffgfffgfgfgffgfgffgggffgfgfgfffggfggfgffggggfgggfffffffgffggfgffffffggffgffggfffffffffffgffgffgfffffffgfffffgfffffffffgfffggfffgfffffggfffgffffgfgffgffggfgffgfffffffgfffffgfffggfgffgggffgfffffgfffggfffggfffgfggggffgfgfgfgfffggfffgfggfgfffgfffgfgfffgffffffggfgggfggffggffffffffffffffgfgfffffffffgffffffgffffffgfgfffffggfgfgfffgffffgfffgffffffgffffffffffffgffffggfffgffgggffgggggffgfffffffffgffffffgffffffffgffffoofffffgffffffggffggffgfgfffgggffffffffffgfgfgffggffffffffffggfffgffofggffffggffffffffffffffgffffffffffffffgfffgfffgfffffgfffffffgffffffffffgffggfffffgfggfggffgfffffffffggffffffffwffffgfffffgggffffffffgffffffffgffgffgfffgffgfffffffffffffgffgfffffffffgfffffffffffffffffggffffggffffffgffggfffffgffffffffffgffffffffffgffffgffgffffgfgffffffgffgfffffffffffffffffffffffgffffgffgffffffffgffgfgfffffffffgffgfffffffffffgffffffgfgfffffgffgfffffgffffgffgffffffffgffgfgfffffffffgffgfffffffffffgffffffgfgfffffgffgfffffffffffffffffffggfffffffffffffffffffgfffgffffffgffffffffgffffffffffgffgfffffffgfffffffffgfffffggfffffffffffffgfffffffffffgfffffffffffffffffffffffffffffgffffffffffffffffffffffffffffffffffffffffggfgfgfgffffffgggggggfggggfgffggfgffggfgfgffgfgggggfggfgfggggfggfggfggggfgfgggggfffgfggfgffffggfggffgggfffggffggggggggffggggggfgggggfggggfgfggggggffggggffgggggfgggffffggfffffffgfgffgggfffggfgffgggfgffffggffffgfgfgffgfgfgggffggffgffggggggggggfffgggggffggfggffgggfggffgfffgfgffgffggfgfggggggfgfggffggggfffgfgggfffgggfggggggffggfgffgfgfgfgggfffgfgfggffggffgggfffffgfgffgggggfffggfgffgfffgfgfggfgfffgfgfffffffgfgfgffgggfffgffffgggfggfgffgfggggfffffffgggffgfggfffffgfgffgffffggggfgggfgggfgffgfffgfggggfggggffgfggwgggggfffgffffffgffgffgfgfggfffffggffgffgffgffffggfggggffffgffffffggffffffgfggffgffgffgfggffffggfggogfgfggffggfgfggggfffggffffgfffgfggffffgfggffggffgfgfgggffgfgfgffggffggggfggffffgfggfgffggfggfgffgfgffgfffgfgfffggfgffgggffgfffgfgfffggfffggfffggggfggfgfgfgfffggfffgfggfggfgggfgggffgfgfggffffgffffffgfffgfffgfgfffgffffffggfgggfggffggffgffggfffgfgffffggfgfgfgffgfgfffgggffffgfffgffgfgfgfffgffffgfffggfffffgfffgffffffffgffffggfffgffgggffffgggffffgfffgffgfgfgfffgffffgfffggfffffgfffgffffffffgffffggfffgffgggfffgfffffffffgfgfgfffffffgfgffgfgffgfffffggfffgffgfffgfgffgffgfffgfffffffffggffggffggffgfffgfgffgfffffgfggffggfgfffffgfggfgfgfffffffgfgfffffffgfgffgffffgffffffffgfffgfffffgffffffgffffgffffgffffgggggggggfggggggfggggggfgfggggggfgffgggggggggffgggggfgggggggggggggfgfggggfgggggggggggggggggfggggfggggfgggfggggggggggggggggggggggggggggfgggggggggfggggggggfgggggggggfggggggggggggggggggggfggffgffgffggggggfgggfgggggfgfggggggffggggggffgggggggfgggggggggfgggfffggggggffggggggggggggggfffgggggggfgfggffgggggffgfggfffgggfffffgfgggfggggfggfgfgfggfgggggfggggfggggfggfggfggggfgfgggggfgfgfggfggffgggfgggfggfgfgfgggggggggggffgggggffgggfgfggfgggfgggfgfgfffgfgffggggfgfgfgggfgfggggggggfggggffgggffffggggggfgggfgffgggfggfgfgffffggfggggffggfffggfgfgggggggfggggffgfggfgfggggggggfgfggfggfggggfgfggffgfggffggfggfgggffggfffggggffggfgggfgggfggffgggfgggfffggffgggfgfgfggfgfggfggfgfffgggggggffggfggfgfgffffggfgggggggggfgfgggggfggggggffgggfggffgfffgfgffgffggfgfggggggfgfggfgfggffgfgggfffgggfgggggggfggffggfgfffffffgffgfgfgfgfgfgfggffgfgfgfgggfffgfgfgggfggffgggfffgfgfgffgggggffffgfgfgffgfgffggggfggggggfgggfffggfffgggffggggffgggfggggffgfggggfffffffgggffgfggfffgggfgfgfggfgfgggffgffgffffggggfgfgfggfgfgggfgfgfggfggfgfgfggfgffgfggfgffggfgfffggfgfggfgffggfgggffgfggffgfffffgfgffgggffgfgggfffggfggggffggggfgggfffgfffggfgggffgffggffggggffgfffggffgggfgfgffffggggffgffg뺇gfffffgfffffgfgggfgffffgggffffggfgfffgggggfffggffffgfggffggffgfgffgggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggfggfgggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggfggggfgggggggggggggggggggggggggggggggggggggggfgggggggfgggggggggggggggggggggggggggggggfgggfgggggggggggggggggggggggggggggggggggggggggggggggggggggggggggffgggggggggggggggggggggggfgggggggggggggggggfggggggggggggfgggggfgggggggggggggfggfgggggggffgfggggggggggggggggfggggggggggfffggggggggggggggfgggggggggfgggggggggggfgggggggfgggfggfgggggggggggggggggfgggggggggggggfgggggggggggfggggggggffggggggggggggoxfggggggggggggfgggggggggggggggxgggggfgggggggggggggfffgggggggggggggggggggfggfggggggggggggggffggggfggggfgfgggggfggffgggggggggffgfffgggggggfggggfggfggggfgggfgggfggggggggggggggggggfggfgggggggfgfgggggggggggggfgggfgfgggggffffgggggggggfgggfgggggffgggfffggfgggfgggfgggfffgggffggggfgfgggggfgfgggffffgggggggggfgggfgggggffgggfffggfgggfgggfggggffgfgffggggfgfgfgggggfggggggggggggfggggggfggffggggggfgffggffggfgggggggggffggggggfgggggfggggggfggggggfgggggffgfgggffggggfggggggfggggggggfggggggfggggfgggggggfggfggfgffgfgffgggfgggggffgfggggfgfggggggfgffgfgfgggggffgggggfggggfggfggffggffgfggfggggggfgggggfgfgffggggffggffgfggggggggggggfggggggffgffgggggffgffggffggffggggggggffggggggfggghghghhggggghggggggggggghgghgggggggggghgggggghgggggggggggghggghgggggggghggggggggggggggggggggghgggggggggggghggggggggggggggggggggggggggggggggggggghggggggggggghhgggggggggggghggghggggggggggggggggggggghggggggggggggggggghggggghggggggghggggggghhgggggggggggggghggggggggggggggggghhggggggggggggggghggggggggggggggggggggggghgggggggggghggghggggggggggggggggggghgggggggggggggggggggggggghgggggggggggggggggggggggggggggggghgggggggghgggghgggggggggggggggggggggggggggggghggghgggggggggggggggggghgggggggggggggghggggggghgghggggggggggggggggxgggggggggggggggggggghhggggggggggggggggggggghggggggggggggggggghggghggggggggggggggggggggggggggggggggggggggggggggggggggggggggghgggggggggggggggggggggggggggggggggggggggggggggggggggggggghgggggggggggggggghggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggfggggggfgggggggggggggggggggggggggggggggggggggggggfgggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggfggggggggggggggggfggggfggggggggggggggggggggggggggggggggggggggfgggggggggggggggggggggggggggfgggggfggggggggggggggggggfgfgggggfggfggggggggfggggggggggggggggfggggggfgggggggggggggggfggggggggggggggggggfgggggggggggggggfgggggggggggggggfgggghggghgghggghgghghghggggghgghggghghghhghgghhgghhhgggghgggggghggghggghgggghghhhghhhghhggggghggghggghghggggghghggghggggghghgggggghhgggghgghhhhhghhhhhggghhgghgggghgggghgghghhghhgggghhghghgghgghhghhhggggghghhggggggggghghgghghhghghghghhhggggghgggggggghhgogggggghggggghghgghghhhgghhghhghhghgggggggggggghggghghgggghhgggghggghgggghhgghhhhgghgggggggghhggggghgggghgghgghggggghgggggghggggghhghhgggggghgggggghhopgghggghhgggggghgghhgghhghggggggggghggggggggghgggghhgggggggghggghghhgggggggghggggggggghggggggggghhghgghgggggggooghhhgggghggggggghghggghghggghggghhghgghgggggghggghghgghggghghgghgghgggggggggghggggghghhggggggggggggghgggggghggghxhgggghgggghggggggggghgggghgggghhghhhghghgggggggggghgggghggggggggghgggggggggggggggggggggggghgxghgggggggggggggggggggggghgghgghggghgggghhggggggghhghgggggggghhgggggghggggggggggghgggghhghgggggggggghghggggggghhhgggggggghggggggggggggghghgggghgggggggggggggggghggggggggggggggggggggggggggggggggggggggggggghggggggggggggggggggghggggggggggggggggggggggggggghgghhgggghggggggggggggggggggghggggggghgggghggggggggggggggggggghhggggggghhhggghggghgggggggggggggggggghgghggggggggghggggggggggggggggggghhggggggghhhggggggghggggggggggggggggggghggggggggggggggggggggggggggghgghgggghggggggggggggggghgghgggggggggghgghggggggggghggggghggggggghgggggggggggggggggggggggggggggghggghgggggggggggggggghggggggggggggggghggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggghggggghgggghgggggggggghgggggggggggggggghghgggghgggggggghhhhhghhhhhhhghghhghhhghghhhhhhhhghhhhhghhghggghghgghhhghhhghgghhgghgghhghhhghghhhggghhghghghghhghhgghghhhhhghhhhhhhhhhhhggghghhhhghghhghghhgghhgghhhghhhhhhhhhghghghghhgghhgghghhhggghhhhhhhghhhhhghgghhhhghhhhhhhhghhhhhghhghghghhhghghhhhhghhhhggghhghhhgghghhhhhgghhhhhghhhghhghhhghggghhggghhhhhhhgggghhhhgghhhhghghgghgghhhhgghhgghgggghghhhgghhghgggggghghggghghhghhhhghghhghhggghghhghghhhhhghghgghghhhhghggghggghhhhggghhhhgghghghghhghhghhgghhhhggghhggggghggghghghghgghghhhghhhghhggggghgghhhghhhhgggghhghghhhhghgghghghhgghgghhhggghgghhhhhghhhhhghghhhghgggghhggghgghghhhghghhhhhhgghggghhhhgggghhhhggghhghghhghghghgggghghhgghhghhgggxogghgghggghgghggghgggghhghghghgggggggghggggghhhggghhhhhgghghhhxghghhghhgghhgghghghghgggghhgghhghgggghhhhhggggghhgghhghghhgghgghgghgghghghghhghhhghhghhhhhhgghggggghgghhghhgghghgghggghhggggghghhgggghhghghhghhgggghghggggghgghhgggggghggghghhgghgggghgggggghgghhhghhghgghghgghhggghggghhhggggggggggggggghggghgghgggghghgggghgggghghgghggghghhhhgghhghgggggghgghghghghhggghhggggghhggggghhhghgghggggggghghggggghggghggghhggghhhggggghgghgghghhggghgggggghhhgggghhhgggghghggggghghggggghggghggghhghghghgghgggghhhghgggggggggggghhggggggggghggggggggghgggghghgggggggggggghghhhggghgggggggggggggggghgghhhhghgghghggggggggghghggghghghgghgghhhgggggggghhhgggghgghggggggggggggghgggggghgghgggggggghhggghhghggghggghggggghhggggggggghggghghgggggghgghhghhgggggggghhgggggggggggggggggggggghgghggghggghghggghggggghgggggghgghggggggghgggghghhhhhhhhhhhhhhhhhghhhhhhhhhhhhhhhhhhhghhhhghhhhhhhhhhhhhhhhhghhhgghhhhhhhhhhghhhhhhhhghhhhhhhhhghhhhhghghhhhhhhhhhhhhhhghhhhhhhhhhhhhhhhhhhhhgghhhhhhhhhhhhhhhhhhhhghhhhhhhhhhhhhghghhhhhhhhhhhhhhhhhhhhhhhhhhhhhghhhhhhhhhhghhhhghhhhhhhhhhhhhhhhhhhhhghhghhhhghgghhhhhhhhghghhhghghhhghhghghhhhhhhghhghhhhhhhghhhhhhhhhghhhhhhhghhhhhhghhhhhhhhghhhhghhghhhhhghgghhhhhhhhhhghhhhhhhhhghghhhhhhhhghhhghghhhghhhhhgghhhhghhhhhhghhhhhhghhhhhhhhghggghhhhghhhghhhghgghhghhgghhghhhghghhhggghhhhghghhhhghhgghghhhhhgghhghhhghhhghhgghhghhhhghghhhhhhhgghhgghhhhhhhhhhhhhghghghghhhghhghhhhhhghhhghghghhhhhggghgghhhhhghhghhghghhhhhhghgghgghhhhhhhhhhhhhxohhhhhgghhgghhhhghghghghghgghghhgghghghgghhghhhghghhghhhgghhhhhhhhghhhhgghhghhhhhgghhhhhhhhhghghhhghhhghghhhhhghhggghghghhghhhhhhhhhhhhhghghghhgghhghhhhghgghhhhhhhghghggxhhhhhgghhghhggggghghhghhghhghhhhghhhhghhggghghhghghhhhhghghgghhghghggghggghhhhggghhhhgghghghhhhggghhhhghghghhhhhgghghhhhhghhghhghhghhhhhggghhgghhghghghghghghgghghhhgghhhhghhghghggghghhggggghghhhhhghhghggghghhgghgghhhggghgghhhhhghhhhhhhghhhghghgghhggghgghghgggghghhhhhghhghggghghhgghgghhhggghgghhhhhghhhhhhhghhhghghgghhggghgghghhghhhhghhhghghgghgghhhhhhgghgghghhghggghghghghghhghhhhghghghhhhgggghghhhgggghhghghghhgghgghghhhhgggghhgghhhgghgghghhgghhhghgghghghhhgggghhhhhhghhhhghhghghhghhhghghghhhhghghhgghghgggggghghgghhgghhhghgghhgghgghgghhhghghhhggghhghghghgggghhggghhhgghhgggggghhghhhhghhhghhgghghggggghghghghhhghhhhghghgghgghhghhhhhhhhhhhhhhhhhhihhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhihhhhhhhhhhhhihhhhihhhhhhhhhhhihhhhhhhihihhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhihhhhhhhhhhhhhhhihhhhhhhhhhhihhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhihhhhhhhhhhhhhhhhhhhhihhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhghhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhxhhhghhhhhhhhhhhhhhhhhhhhhhhhhhghghhhhghhhhhhhhhhhhhhhhghghhhhhhhhhhhhhhhhhhhhhhghhhhhhghhhhpghhhhhhhhhghhhhhhhhhhhhhgghhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhghhhhhhhhghhhhhhhhhhhhhhhhhghhhhghhghhhhhghghhhhhhhhhhhghhhhhhhhhghghhhhhhhhghhhghgghhhhhhgghhhhghhhhhhghhhhhhhhhhhhhhghhhhhhhhghhhhhhhhhhhhhhhhhhhhhhhghhhhghhhhhhhhhhhhhghhhghhghhhhhghhhghhhhhhhhghhghhhhhghhhhhhhhhhhhhhhhhhhhgghhghhhhghghhhhhhhgghhgghhhhhhhhhhhhhghghghghhhghhhhhhhhhhhhhhhhhhhhhhgghhghhhhghghhhhhhhgghhgghhhhhhhhhhhhhghghghghhhghhghhghhhgghhhhhhhhhhhhhhhhhghhhhghhhhhhhhghhhhhghhhhghhhhhhhhhhhhhghhhhggghhhhhhhghhhhhhhhhgghhhhhhhhhhhhhhhhghhhhhhhgghhhhhhhhhhhhghhhhhghhghhhhhhghghhhhhhhhghhhhhhhhghhhhhhhhhhgggghghhghhhhhhhgghhhhhgghhgghhghhhhhhhghhhhhhhhgggghhhhghghhhhhhhghghhhghhhhhhhhhhhhhhhhhghhhhghhhhgghhhhhhhhhghhhhhhhhhhhhhhihhihiihihhiihhhhihihhihhhiihhhhhhhhhhhhhhhhihhihhhhhhhhhhhhhihhhhhhhhihhihhhihihhhhhhhhihhhhihhhhhhihihhhhhhhhhhhhhhhhhhhhhhihhiiihihhhhhhihihhhhhhhhhhhhhhhhhhhhhhihhhhihhhhhhhihhhhhhhhhihhhhhhhhihhhhhihihhhhhhhhhhhhhhihihhhhihhiihihhhhhhhhhhhhihhhhhhhhhhhhhhiihhhhhhhihhhhhhhihhhhhiihhhhhhhhhhhihhhhhihhhhhhhihhyhhhhhhhiihiiihhhhhhhhhhhhhhhhhhhhhhhhhhhhhhihhhhhhhhhihhhhhhhhhhhhhihhhhhhhhiihhhhhhhhihhhhhhhhhhhhhhhhhhhhhhhxhhhhhhihhhhhhhhhhhhhhhhhhhihhhiihhhhhhhhhihhihhhhhhihhihhihhhhhhhhhhhhhhhhhhhhhhhhihihihhhhhhhhhhhhihhhhhhhhhhhhhhhhhhhhhihhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhihhhhihhhhhhhhhhhhhhhihhihhhihhhhhhhhhihhhhhhhhhhhhhhhhhhhhhihhhhhhhhhhhhhhhhhhhhhhhhhhhhhihhhhhhhhhhhhhhhhhihhhhhhhhhhihhhhhhhhhhhhhhhhhhhhhhihhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhihhhhhhhhhhhhhhhhihhhhhhhhhhhhhhhhhhhhhhhhhhhihhhhhhihhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhihhihhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhihihhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhihhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhihhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhghhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhghhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhghhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhghhhhhhhhhhhhhhghhhhiihhhhiihhiihihiiiiihiihiihiiiiiihhhhihhhhhihhhiihihhhihhihhhiiiihiiiihhihihhihihhhhhhhhihhhhhhhhhiihiiihihiiihiiihihhihhhihhhihiiihihhhhihiihihiihihiihihhiihhihhihhhhiiiiiiihiihhhihiihhhhihhhihiiihhhhihihiihhihhhhhhhihihhiihihiihiihhihhhihhhhhhhihiiihhhiihhhhihhihhhiihhhhhhhihhhiiihiihihhhhihhihhhhiihhhhiihhhhiihihhhihhiihihhihhhhihhhhhhihihhiihihihhhihiiihiiihhhhihihhhhhhhhhhhhhhihhihihhhhhhhhhhhhiihhihihhhihiihhhhhhihhhhhhihhhhhhhhhhiihhihiihihhihhhiiihhihhhhhihhhhihhhhhhihhihhhhhihhhhhhhhhihihhhiihhhhhhhiihihhihihihhhhpihhhhihihiihhhhhhihhihihhhiihhhhhhhhihhhhhhhihhhhihhhhhhihhhhhhhhhhhhihhhihhhhhyphihhhhihhhhhhhhhhiihiihhihhhhihhhihihhhhhihhihihhhhhihhhhhhhhhihhhhhhhihhhhhihhhhhihhiihhhhhhhhhhhhhhhiihhihhhihhhhhhhhhhihhihhhihhhhhhhhhhhhhhhiihhhhhhhhhhhhhhhhhhihhhhhihiihhiihhhhihhhhihhihihhhhhhhihhihhihhhhhhhhhhhhhihhhhhhhihhhihhihhhhhhhihhhhhhhhhhhhhhihihhhhihhhhhhhhihhhhhhhhhhhhhhhihhhhhhhhhhhihhihhhhhhhihhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhihhhhihhhhhihhhhhhihhhhhhhhhhihhhiihhhhhhhhhhihhhhhhhhhhihhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhihhhihhhhhhhhihhihhhhhhihhhhhhhhhhihhhhhhhhhhhihhhhhhhhhihhiihhhhhhhhhhhhhhhhhihhhhhhihhhhhhhhhhihhhhhhhihhhihhhhhhhhhhhhhihhhihhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhihhhhhhhhhhhhhhhhhhhhhiihiihiiihiihiiiihhhhiihihiiihiiiiiihhhiihiiiiiiiiiiihiiiiiiihiihiiiihhiiiihihiiihhiiiiihiihhiihhhhiiiiiihhhiiiiiihhhihiiihhhhiiiiihihhhhiihiiihihiihhiihihiihhiihiihiiihiiiiihhiiiihhhiiiiiiiihiiiihiiiihhhihhiihhihiiiiiiiiihihhhhhiiihhiihhiihhhhiihhiiihhiihhhhiiihihhhhiiiiihiihiihhiiihiiihhiiihhihhihiihhhiihhhhhhhhhhhiiihhihihhhiiiihhhihhhiihiihhiihihihihiiiiiiiihhhiihhihiihhihhhhhhhiiiiihhhiiihhihhhiihhihiihiihhihihihihihhhihihiihiiihihhiiihhhihihiiiihhhiihihihhiihiyhhihihiihihhiiihhihhhhiiihiiihhihiihihhihhhhiihiiiiiiihihhhihhihhhhhhihiihhiiihiihhihhhiiihihiiihhhiihhhihhiiiiihiihihiihiihhhhihhhihiihihihiihhhiihihiiihhhhhhhiiihiqxhhhhhihhihihiihhihhhhhihiihhihhihihihhiihihihhihhiihhhihhiihihihhhhihihhhihhiihiiiihhhhihhihiihihiiihihhiihhhhiiiiihhihhihhihhihhhhihhihhhihhhhhhhhhhhhhhhhhhihhiihiihihiiihhhhihhhhihihhihihhhhhhhihhihhhhhhhhihihhihhiiihihhihhiiiiihhiiihhhhhhhhhihhhhihihhihiihihhhhhihhihhhhhhhhihhhhiihiiihhhihiiihiiihhhiihihhhhhhhihhhhhhihhihihhihhhhhhhhiihhhhihhhihhhihhhhihihiihhhhhhhhiihhiihihhhhihhihhihhhihiiihhhhhihhhhhhiihhihhiihihhihhhhiihihhhhhhhhhhhhhhihhhhiihhihhihhhhhhhhihhihihhhihhhhiiihhhhhhiihiiihhhhhhhihihihiiihihhhhhhihiihihihiihihhihhhhihhihihhhhhhihhhhhihhhhhhhhhihhiihhhiihhhhhhhihhihhhhiiihhiihhhhhhhiiiihhhihhihhhiihhhhhhiiiiiiihiiiihiiiiiiiiiiiiiiiiiiiihiiiiiihiiiiiiiiiiiiiiiiiiihiiiihiiiihhiiiiihiiiiiiiiihiihiiiiiiiiiiiiiiiiiiihiihiiiihiiiiiiiiiiiiihiihiiiiiiiiiiiihiiiiiiiiihiiiiihiiiiiiiiihiiihiiiiiiiihiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiiiiiiiiiiiiiiihihiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiiihiiiiiiiiiiihiiihiiihihihiiiiiiiiiiiiiiiiiiiihiiiiiiiiihhiiiihhiiiiihhihiiiihhihihiiiiiiihiiiiiiiihihiiihhihiiiiiiiiiiiiiiihiiiiihiiiiiiiiiihihiiiihiiihiihiihiihihiiiiiihiiihhhiihhhiihiiiiiihiiiiiiihqihiiiiiiihiihhiiiihhihiiihiiiiihiiihiiihiihihhihhiiiihihihhiihiiiiiiiihiiiiiiiiiihhiihyiiihiiiihiiihiiiihiiihihihhiiihiihhiiihhhiihhhhiiiiiihihhiiiiiihhhhiiiiiihiihihiihhiihiiiiihhhhhiiiihihiihiihhhiiihihiiiiiiiiiiihihhiiihhihhiiiihihhhhhhiiiihhihihhhihiiihhhiihhiihihiiiiiiiihiihhiiihiihhhihihihiiihiihiihhihiiiiiiiiihiiihihihihihhhhiihiiiiiiiiiiiihihihiiihihiiihiiihiiiihhhiiiiihiiihihihiiiiiiiiiihiiihihihihhhihhihhhhiiiihiiihihiiihiiiiiiiihhhiihiihiihhihihihihiiiiiihhiiiiiihiihhihhihhhhihiiiiiihiiiiiiiihiihihihiihiihiihiiihiiiiihhhihhiihiiiihiiiiihiiihihhhiihhhihiihihhiiiihiiihhiiihiiihhhiiiihhiihhiiihhhiihiiihhhihiiihiihiihhihiiihhihiiihihhhhihhhhiihihihihiihihhhhhihhhiihhhihihhhiiihihhiihhihhhihhiiihiiiihhhiiihhhihhhihhhihihhhihhhhhiihhiihihihhiihiiiihihhiihihhihhiihihhiiihiiihhhhhihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiiiiiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiqyiiiiiiiiihiiiiiiiiiihiiiiiiiiiiiiihiiiiiiiiiiiiiiiihiiiiiiqiiiiiiihiiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiihiihhiiiiiiiiiihihihiiiiiiiiiiiiiiiiiiihiiiiiiiiiiihiiiihiiiiiihiiiiihiiihiiiiiiiiiiiiiiiiiiiihihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiiiiihiiiiiiiiiihiiiihihihhiiiiiiiiiiiiiiiiiihhiiiiiiihhiiiiihhihiiiiiiihiiiiiiiiihiiiiiiiihihihihiihiiiiiiiiiiiiiihhhihiiiiihhiihiihhihiiiiiiihiiiiiiiiihhhiiiiiihihiihhiihihiiihiiiiiiiiiiiihhiiiiiiiiiiiiiihiiiiiiiiiiiihiiiiiiiiiiiiiiiihhhiiiihiiiiiiihhiiihihiiiihiiiiiiihiiiiiiiihiiiiihiihihihiiiiiihiihihhihiihiihhiiiihihiiiihhiiiiihihiihhhiihhiiihiiiihihihihhiihhihiiiiiihiiihiiiiihiihhihiiihiihiiiiiiiiiihiiiiihihhihhiiihhiihhiiiiiiiiiiihiihiihhhiihiihihhiihiiiiihhhhhhiihiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiziiiiiiiiiiiiiiiiiiiiiiiziiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiqiiiiiiiiiiiiiiihiiiiiiiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiqiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihhiiiiiiiiiiiiiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiihiiiiiiiiiiihihiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiihiiiiiiiiiiiiiiiiiiiiihiiiiiiiihiiiiiiiiiiiiiiiiihiiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiijiiiiijiiijiiiiijiijiiiijiiijiiiiiiiiiiiiiijijiijiiiiiiiiiiiiiiiiiiiiijjiiiiiiiiiiiiiijjiiiijiiiiijiiijiijiiiiiiiiiiiiiiiiijiiiiiiiiiiiiiijiiiiiiiiiiiijiiijjiiiiiiiiiiiiiiiiijiiiiiiiiiiiiiiijiiiiiiiiiiiiiiiijiiiiiiiijiiiiiiiiiiiiijiiiiiiiiiiiiyiiiiiiiijiiiijiiiiiiiiiiiiiiijiiiiiijiiiiiijiiiiiiiiiiiiiijiiiiiiijiiijiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiijiiiiiiiiiiijiiiiiiiiiiiiiiiiiiiiiiiiiiijiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiijiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiijiiiiiiiiiiiiiiiiiiiiiiiiiiijiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiziiiiijiiiiiiiiiiiiijiiiiiiiiiiiiiiiiiiijiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiqiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiijijjjjijijiiiiiiiiiijjiijiiijiiiiijjjiijjiijjiiiiijiiijiijijiiijjiiijijjjjiiijjiiiijiiijiijiijjiiiiiiiijiiiijjiijiiiiijijiijijijiiiijjijiiiiijiiiiiiijijiiiijjijiijiiijiijjiiiiijjijjijjiiiiiiiiiiiiijijjiiiiiiiiijiiiiijjjiiijijiijijjjiiiijjiiiiiijijjjiijiijjiiijiijjiiiiijiijjijiiiiiijiiiijijiijjiiiiiiiiiiiiijiiijijiijjiiiiiiijijijjiijiiiiijiiiiijijjjiiiiijiiiiijijiiiijiijiijijiiiiiiiiiiijjijjiiiiijiiiiiiijjiiiijiiiijjiiijiiijiiiiiiiiiiiiiiijiiiijiiijijiiiiiiiiijiiiiijjiiiiiiiiijiiiiziiiiiiiijjjjiiiiiiiijiijiiiiijjiiiijiiiiiiiijiijiiiiiijiijjiiiiiiiiiiiijiijiiiiiiiijjiijiiiiijiiijjiijiiijiiiiiiiiiijijiiijiijijiiiiiiiiiijiiiiiijiiiiiiiijiiijiiiiijiiiiijiijijiiiiiijijiiiijiiijiiiiiijiiijjiiiiiiijiiiiiijiiiiiiijiiiiiiiiiiijiiiiijiiiiijiiiiijiiiiiiiiijiiiiiiiijiiiiiiiiiiiijiiiiiiiiiiiiiiiiijiiiiiiiiiiijiiiiiiiijiiiiiiiijiiiiiiiiiiiiiiiiiiijiiiiiiiiiiiiiiiiiiiiijiiiijiiiiiiiiiiiiijjiijiiiiiiijiiiiiiiijiiiiijiiiiiiiiiiiiiiiiiiiiiiijijiiijiiiiiiiiiiiijiiiiiiiiiiiiiiiiiijiijiiiiiiiiiiijiiiiiiiiiiiiiiiiiiiiiiiiiiiiijijjiiiiiiiiiiiiiiiiiiijiiijijiiiiiiiiiiiiiiiiiiiiiiiiiijiiiiiiiiiiiiiiiiijijiiiiiiiiiiiiiiiiiiiiiiijiiiiiiiiiiiijiiiiijiiiiiiiiiiiiiiiiiiiiiijiiiiiiiiiiiiiiiiiiiiiiiijiiiiiiiiiiiiiiiiiiiiiiiiiiiijiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiijiiiiiiiiijjjijjjiijjjjijjjjjiijijijjjijjjjjijijjjjjjijijjjjiijjjjjjijjjjjijjjjjijjijijjjjjjjjijjjjjjjjjjijjjjjijijjijjjjjjjjjjiiijjiiijjjiijijjiiijjjjjiijjjjijjjjijijiiijjijjjjiijjijijjjjijjjiijjjjjijijjijjjjiijjjiiiijjjjjjijjjijiijjjijjijijiiiijjjijjijijijjjjjjjjijijiijjjjijjjjjjijjjiijiiijjijiiijijjijjijiijjijijjijijjjiijijijjiiijjjjijjijjjjijjiiijijjijiijjjiiiiijiijjjijjjiijijjijjjjijiiiiijiiiijjijijjjjiiijjjijjjjijiiiijiiiiijiijijiijiijjiijiiiiijijjjiijijiiijiijijjiijiiiijjjjjiijiiijjjjjizjijjjiiiijiijijiiijjijjijijjijijjjiiiijjjjjiiiiijiiiijiiijiijiiiijjijjijjjjiiiijijijiijjjjiijijjijjiijjiijiijiiiijijjjjijiiijijjiijiijiijijjiiijjiijijjiijjiiiiiijijjjiijiijjiijiijijjijjiijiiiiijijjijiijijiiiiijjiiijjjijjiijijijiiiiijjiiiiijjjijjiijiijiiijijiiiijijijiiiiiijiiijjijiijiijiiijiijijjijiijjjiiijjjjiiiiijiijiijiiijjiiiiiijjiijjjiiijjjiiiiiiijjiiiijiiiijiiijijjjijjijiiijiiiiijiiiiijiiijjjjjiijijiijjjjjijjiijiiijjiijjijijijiiiijjjijiiiiiijjiiiiiiiijjjjjiijiiijijjiiiiijijijijijjjjjiiijijiiiiiiiijjjiijiijiijjiijiijiiiiiijjiiiiijjijijiiijjiiiiijjjiiiiiiiiiijiiiijiiiijiiijiiiijjiiiijiijiiijjjiiiiiiiijiiiiiiiijiijijiiiiiiiiiiijjiiiiiiiiiiiiiiiiijjjiijiiiiiiiiiijiiiiijiijjijiijjiijjiiijiiiiiijiiiijijiiiiiiiiiijijiijjiiiiiiiiijiiiiiijiiiiiijiiiiiijiiiijiiiiiijjiiiiiijiiiiiiiiijiijjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjijjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjijjjjjjjjijjjjjjjjjjjjijjjjjjjjjjjjjijjjjjjjjjjjjjjjjjjjjjjjjjjjjijjjjjjjjjjjjiijijjjjjjjjjijjjjjjijjijjjjijjjjjjjjjjjjjjjijjjjjjjjjjjjjjjjjjjjjjjjjjjijjjjjjjjjjjiijjjjjjjjjjjjjjijjjijjijjjjjjjjjjjjjjjjjiiijjijjjjjjijjjijjijjjjijijjjjjjjjjijjjjjjjijijjjjijjjiijjjjijjjjjjiijjjjjjjijjjjijjiijijjjijjjjjjjjjjjjjiijjijjijjjjijjjjijjjjijijjjjjjjijjjjjjiijjjijijijjjjjiijjjijjjjijjjjjijjijjjjjijjjjjjjjijijiijjjjjjjijjjjjjjjjjjjjiijjjjjjjjjjjjijjjjiijijjjjjjjjijijijjijiijjjjijiiirijjjjijjijjjijjjijjjjjjjjjjjijijijjijiijjjjijiiijijiijjjijjjjjjjjjjiijjjjijijjjjijjijjjjjijjjjjjijjjjijjjjjjjijijjiiiiijijijjjijjjjjjjijiiijjjijjjijjiijjjjjijjjijijjiijijijiijiijijjjjjjjjiiijiijjijjijjjjjjjiijjjjijjjijjiijjijijijiiiijiijjiiiijjijjjijjjjjijjijiijjiijjjjijjjiiiijjjjjjjjjjjijjjijijiijjjjjjijjijijijijjiiijjijjjjijjjjijjijjjjjiiiiiijjjjjijijjijiiijjiijjjjjjijiiijjjijjjijjiijjijijjiijjiiiiijijjjjijiiijijjjijiiiijjiijiiijjjjjjjjjjjijijjijiijijiijjijiijijjjijijjjjjiiiijjiijjjjjiiiiijiiiijiiijijiijjiijiijiiiiijjjjijjijjjjiiiiiijijjjjiiijjjjjiijiijiiiijjiijijijijjiiijijijjjjjiijiiiiiijjijijijijjijjjiiiijjjijiiijijijjijiiiijjijjjjiijijiijjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjzjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjrrjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjrjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjijijijjjjjjjjjjjjjjjjjjjjjjjjjjjjijjjjjjjjjjjjjjjjjjjjjiijjijjjjjjjjjjjjjijjjijjjjjjjjjjjiijjijjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjijjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjijjjjjjjjjjjjjjijjjjjjjjjijjjjjjjjijjjjjjjjjjjjijjjjiijjjjjjjjjjjjjjijjjijjjijjjjjjjjjjjjjjjijijjjjjjjjjjjjijjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjijjjjjjjjjjjjjjjjjjijjjjijjjjjijjjjjjjjijjjjjjijjjjjjjjjjjjijjjjjiijijjjjjijjjijjjjjjjijijjjjjjjjjijjijjiijijjijjjijjjjijjjjjijjjjjjjjjjijijijjijiiiijjjjjjjjjjijjjjjjjjjjjjjijjjjjjijjjjjjjjjjjjjjjjjjjjjijjjjjjjjjijjjjijijjjijjjjjijjjjjijjiiijijijjijjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjrjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjrjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkjjjjjjjjjjkjjjkjjjjjjjjjjjjjjjjjjjjjkjjjjjjjjjjjjjjjjjjjjkjjjjjkjjjkjjjjjjkjjjjjkjjkjjjjkjjjjjjjjjjjjjjjjkjjjjjjjkjjjkjkjjjjjjjjkjjjjjjjjjjkjjjjjjjjjjjjjjjkjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkjjjkjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkjjjjkjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjrjjjjjjjjjjjjjjjjjjjjrjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjrjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkkjkkjjkkjkjjjjkkjjjkkkjjkjkkkkjkjkkkkjjkjjjjjjkjjjkkkkjkjjkjkkjjkjjjkkjjjkjkjjjjjkkkjjkjjjkjjkkkkjjkjkjkjjjkkjjjjjjjjjkkkjkjkjkkjkkjkjjjkkkkkjjkjkkkjkkjjjkjjjjjjjkjkkjjjkjkjkjjjkjkjjkjkkkkkjjkjjjjkkjjjjkkjjkjjjkjjjjjkjkjkjjjjjjkjjjjjjjkjkjjjjjkjjkkjjjjjkkjkkjjjjkkjkjjjkjjkjkkjjjkjjjjjjjjjkkjkjkjjkkjjkjkkjkjkjkjkjjjjkjjjkjkkjjkjjjjjjjjkjjjjjjkjjjjjjjjjjkjkkjjjjjjjkjjjjkjjkkjjjkkjkjjjjjjkkjkjkkjjjjjjjjjjkjkjjjjjjkjjjjjjjjjjjjjkjjjkjjjkjjjjjjjjkjjkjjjjkjjjjjjjjjjkjjkkjkjjjjjkjjjjjjjjkkjjjjjjjjjjjjjjkjjjkjjjjjjkjjkjjjjjjkjjjjjjjjjjjjjjjjkjjjjjjjkjjjjjjjjjjjjjjjjjjjjjkjjjjjjjjjjjjjjjjjjjjkkjkjjjjjjjjjjkjjjjjjjjjjjjkkjjjjjjjjjjjjjjjjjjjjjjjjkjkjjjjkjjjjkjkjjkjjjkjjjkjjjjjkjjjjjjjkjjjjjjjjjjjjjjjjjjjjjjkjjjjjjjjjjjjjjjjjjjjjjjjjjjkjjjjjjjjjjjjjkjkjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkjjjjjjjjjjjjjjjjjjjjjkjjjjjjjjjjjjkjjjjjjjjjjjjkjjjjjjjjjjjjjjjjjjkjkjjjjjjjjjjjjjjjjjjjjjjjjjkjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkjkjjjjjjjjjjjjjjjjjjjjjjjjjkjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkkjkkkkjkjkkkkkjkjjkkkkkjkkkjkkjjjkkkjkkkkjjkkjkkjkkkkkjkkjjkjkkkkkjjkkkkkjkkkkkkkkkjkjkkkkkkkkkkkkkkjjkkjjjkkkkjjkkkjkkkkkkkkjkjkjkkjkkjjkkjkjkkjkkkkkjkkkjjkkkkjkjjkjjkjkjjkjjkjjkjjkkkkkjjjkkkkkkkjkkkkjjjjkjkkkkjkkjkkkkkjkkkkjjjjkkkkkjkkjjjkkkkkkjjkjkkkkkjkkjkkkjkkjkjkjjkjkkjkkkjkkjjkjkkkkkkjkkkjjkkkkjjkkkkkjjjkkjjjkkjjkkkjkkkkkjjkjkkkjjkjjkkjjkjkkjkkkkjkkkkkjjjkjkjkkjjjkkkkjkkkkkjjkjjkkjkkjjjkkkkkkkkkjkkjjjkkjkjjkkjjjjkkjkkkjkjkjjkkkjjkjkkkkkkkjjjjkkkkkkjkjkkjjjkkjkkkkkkkjjkkkkkjjjjkkkjkkkssjjjkkkjjjkjjkjkjkjjkjjkkjkjjkkjjkkjkjjjjjkkkjjjkjjjkkjkjkkkkjkkkkjjjkjjjjkjjjkkkkjjkjjjjjkjjkjjkjjjjjjkjkkkjkjjkkjjjkjjjkjkkjjkkjjkjkkjjkkjkjkjkkjkjkkjkkkkjkkjkkjjkjjjjkjkkkjkjjjkkkkjjjkjjjjkjjkkjkjkjkkjjjkkjjkjjkjjjkjjkjkjkjjkjjkkjjjjkkjkkkjkjjkjkkjjjkjkjjjjkjjjkjjjjjjjjjkkkjjkkjjjkjkjjjkkjkkjjjjjjjjjjjjkjkjjjkkkkkkjjjjjkjjjkkjjjkjjkkkkjkkjjkjjkkjkjjkkjjjjjkjkjjjkjkkjjjjkkjkjkjjjjkjjkkjkkjjjjjjkjkjkkkkkjkjjjjjjjjk{kjkjjkkjjjjjjjkjjjkjkkjjjjkjjkjkjkjjjjkkkjkkjjjjjjkkkjkkkjjjjjjjjjjjjkkjjjjjkkjjjjjkjjjjjkjjjjkjkkkjkjjjjkjjjjkjjjjjjjjjjjjjjkjjkjjkkkjjjkjjjjjjjkjkkjjjjjjjjkjjjjjjjjjjjjjjkjjjjjjjkjjjjjkjjjjjjjjkjjjjkjjjjjjjjjjjkjjkjjjjjkjkjjjjkjkjkjjkjjjkjkjjkjjkjjjjjjkjjjjkkjjjjjjjkjjjjjjjkkjjjjjjjjjkjjjkjjjjjjkjjkjjjjkjjjjjjjjjjjjjjjjjkjkjjjjjjjkjjjkjjjjjjjjkkjjjjjjjjjjjjjjjjjjjjjkkkkkkkjjjkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkjkkkkkkkkkkkkkkkkkkkkkkkkkjkkkkkkkkkjkkkkkkkkkkkkkkjkjkkkkkkkkjkkkkjkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkjkkkkkkjkjkkjjkkjkkjkkkkkkkkkkkkkkkkkkkkkjjkkkjkkjkkjkkkkkkkjkkkkkkkkkkkkkkkkkkkjkkkkjkkkkkjkkkkkkkkkkkkkjkkkkkkkkkkkkkkkkkkkkjkkkkkkkkkkkkkkkkjkkkkkkkjjkkkkkkkjkjjkkkkkjkkjjkkkkkkjkjkkkkjkjkjjkkkkkkkjkkkkjkkkkkkkkkkkkkkkjkkkkkkjkkkkkkkkkkjkkkkkkkkkkkkjkkkkkjkkkjkkkkkkkkkkjkkkkkkkkjkkkkjkkkkkjkkkkjkjkkjkkkkkkkkjkjjkkjkkkjkjkkkkkkkjkkkjjjkkjkkkkkjkjkkkkkkkjkjkkkkkkk{kkkkkjkkkkkkkkkkkkkkkjkjkkkkjkkkkkkkjkkkkjkkjjkkjjkkjjkkkkkjjkkkkkkkkkkkkkkjkjjkkjkkkjjkkkkkkkkkkkjkkkjkkjkjkjkjkkjjkkkkkkkjkkjjkkkjkkkkkkjkkkkjjkjkkkjkkkkkjkkkjkkkkkkjkkjkkjjkkkjkkkkjkjjkjkkjkjkjkkkkjjjjjjkkjjjkkkkkkkkkkjjkjkkjkkkkkkkjjkkkjkkkkkjkjkkkkkkkkkjkkkkkkkjkkkkkkkjjjkjkkkkjjjjkkkkkkkkkkkkkkkjkjjjjkjkkkkjjkkkkkkkjkjjjkkkkkkjkkkkjjkkjjjkjkkkkkkkjkkjkjkjkjkkjjkkkjjjkjkkkkkkkkjjkjkkjkkjkjjjkkkjkkkkkkkkjkkkjjkjkkkjkkkkkkjkkkjkjkkjkkjkkjkjkkjkkkkkkkjjjkjkjkkkjjkkkjjkjjkjjkkjkjjkkkjkkkkjjkkkjkjkkjjkjkkkkjjkkjkkjkkkkjjjkkkkkkkjkjkkkjjjkjkkkkjkkkkkkkkkkkjkkjkjkkjkkjkkkkjjkjjjkkjkjjkjkkjkkkjjkkjjjkkkjjjkkjjkkjkkjkkjkkjkkkkjjkjjkjjjjjkkkkkjjjjkkkkjkjkjkjjkkjjjkkjjjjkkjkjjjkjjkkkkjkkjkjkkkkjjkkjjkkkkkjjjkjjkjkkjkjjkkjkjkjjjjkjkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkjkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkjkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkjkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkjkkkkkkkkkkkkkkkkkkkkkkkkkkkjkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkjkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkjkkkjkjkkkkkkkkkkkkkjkkkkjkkkkkkkkkkjkkjkkkkjkkk{kkkkkkkjkkkkkkkkkkkszkkkkjkkkkkkkkkkjkkkkkkkkkkkkkjkkkkkkkkkkkkkkkkkkkkkkjkkkkkkkkkkkkkkkkkkkkkkkkkjkkjkkkkkkkkkkkkkkkkkkkkjkkkkkkkkkkkjkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkjkkkkkkjjjkkkjkkkkjkjkkkkkkkkkjkkkkjkkkkkkkkkkkkkkkkkkkkkkkkkkkkkjkkkkkkkkjjkkkjkkkkkkjkkkkkkkkkjkjjjkkkjkkkkkkjkkkkkkkkkkkkjkkkkkkkkkjjkkjkkkkkkjkkkjkkkkjkkkkkkkkkkkkkkkjkkkkjkkkjkjkkkkjkkkkkkkkkkkkkkkkkkkkkkkkkkkjkkjkkjjkkkkkkkkkkkkkjkkkkjkkkjkkkkjkkkkkkjkjkjkkkkkkkkkkkjkkkkkkkkkkkkkkkkkjkkkkkkjkkskkjkkkkjjjkkkkkkkkkkkkjkkkkkkkkkkjkkkkkkkkkjkkkkkkjkkkkkkkkkkkjkjkkkjkkkkkjkjkkkkkkkkjjkkkkkkkjkkkkjkkkkkkkjkkkkjkkjjkkkjkkjkkkjjkjkkkjkkkkkjjkkjkjjkkkkkkjkjkjkjkkkkkkkkjjkjkkkkkkkkkkkkkkkjkkkkkkkkkkkjkjkjkjkkkkkkjkkkjjkkkkjkkkkkkkkjjkkkkjkkllkkkkllkkkkkllkkklkkkkkkklkkllllkkkklkkklkkklkkkkkkkkkkklkkkkkkkkkklkllklkkkkkkkkklkkkklkkkkklkkkkkkkkkkkklkkkklkkkkklkkklklkkklkkkkkkklkkkkkkllkkkkkkkkkkkkkkkkkkkkkkkkkkkkkklklkkkkkkkkkkkklkkkkkkkkkkklkkkllkkkkkkkkkklkkkkkkkkkkklklkklkkkkkkkkkkklkkkkkkkkkkklkkkkkkkklkkkkkkkkkkkkkkkkkkkkkklkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkklkkkkkkkkkkkkkkkkkkkkkkkklkkkkkkkkkkkkkkkkkkkkkkkkklkkkkkkkkkkkkkkkkkkklkkkklkkkkkkkkkkkkkkkkkkkkklkkkkkkkkkkkklkkkkkkkkkkkkkkkkkkkkkkkkkklkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkjjkkkkkkkkkkkjkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkjkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkԳskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkjkkkkkkkkkkkkkkkkkkkkkkkjkkkkkkjkkkkkkkkjkkkkkkkkkkkkkkkkkkkkkkjkkkkkjkkkkkkkkkkkkkkkkkkkkkkkkkkjkkkjkkkkkjkkkkkkkklkkkkklkklkkkkkklklkklllkklkkllklkkkklklklkkkkllkklkkkkllllkklkkkllkklklklkllklllklkklklkkkkkkllkkkkkllllklklkklkklklklkllllkklkklkkllkklkkkkklkkkllklkkklklklkkllkkkkkklkkklkkklkkkklkklkkkllkkkkkkkkkkkkkkklkklkkllkkllklkkllkkkkkklllkkklkklklklkkklllkklllkkkklkkkkkkkkkkkkklkkkklkkklkklllkkkllkkkklklkkkklllklklkkkllkkklkklkkklklkkllklklklklklkkklkkkllkklkkklllkkkkkkkkkklkklkkkkkkkkkklkkkkllkkllkkkkkllkkkkkkkklklkkklkkkkkklkllkkklkkkkkkkklklkkkkklllkkkkklkklkkkklkkklkklkklkkklkklkkkkkkkkkkkkklkkklskkkkkklkkkkkkkkkkkkkkklkllkkkkllkkkkkklkkllkkkkklkkkkklkklklkkkkkklkklkklkkkkklllkkkkkkkkkkkklkkklkkkklkklkkkkkkkklkklkllkkkkkkkkllklkkk{kkkkkkkkkkkkkkklkkkkkklkkkkkkkklklkkkkkkkkkkkkkklkkkkkkkkkkkllkkkllkkkkkklkkkllkkkkkkkkkkkkkkkkkkkkklkkklkkkkkkkkkllkkllkkkklkkkklkkkkkklkklkkkkkkklkkkkklkkkkkkkkkkkkkkklkkkkkkkkkkkkklkkkkkkkkkkkkkkkkkkkkkkkklkkkkkkkklkkkkkkkkkkkkkkkkkkkkkkkkkkkklkkkkkklklkkkkkkkkklkkkkkklkkkkkkkkkkkkkklkkkkkkkkkkkkkkkkkkkkkkkkkkkklkkkkkklklkkkkkkkkklkkkkkklkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkklkkkkkkkkkklkkkkkkklkklkkkkkkkԳskkkkkkkkkkkkkkkkklkklkkkkkkkkkkkkkkkkkkklkkkkkkkkkkkkkkkklkkkkkkkkkkkkkkkkkkkkkkkkklkkkkkkkkkkklkkkkklkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkklkkkkkkkkklkkkklkkkkklkkkkkkkkkkklkkklklkkkkkkkklkkkkkkkkkkkkkkkkkkkkkkkkkklkkkkkkkkkkkkkkkkkkklkklklkllklkkkkkkklllkllklkklllklklllllklllkkllllklllklkkllkkllklklkkkkllllkkkkllllllklklkklklllkkkllkllkkkkkklllllkklllllllkllkkllkkklkkllkkkkklkllllklklklllklllllklllklkllkkkkkklkkkllklkklklkkklllllklkllllkklkklllllkllkklklkkklllkkklllkllllkllllklklllkklklklklkkkklkklkkllklllkklkkkllllllllllklkklkllklkllkk{lkklklllkkkllkllllkkll|klkklkllkllkllklklkllkllkllklkllklkllkklkkklkllklkkkkllllllklkllklllllkllkkllklklkklkkllkkkkkllkkklkkkklkllklklllkllklkklklkklkkklklkkkllklkklllkklkkklklkklllkkklll{llllkllklklklkkkllkkklkllkllklllklllkklkllllkkkkllkkkkklskllkkllkklkkllkkkkklklklkkkkllllklklkllklkkkllllkkkllkklkllllkllkkllkkkllkkllkkkkklllkkklkkkklkkkklklkllkkkkkkkkkkkkkllllkklkkkkllklkkklkkkllklkkklkklkllklkklkkkllkkklkkklklklkkllklkkkkkkkkkllkkkkllkllklllkkkllkkkkkklkkllllkkkklkkllkkklkkkkklkkkllllkkkkklkkkllllllkkklkllkkklklkllklklkllklllkllkkklkklllkkkkklkkklllkkklkkkkkkklkkkkkkllklkkkkklklkkkkllkkkkkkklkkklklkkklkklllkkkkklkkklllkkklkkkkkkklkkkkkkllklkkkkklklkkkkllkkkkkkklkkklkklllkkkkkklkkllklkkkkkkkllkkllkkllkkklkkkklllkklkkkkkkkԳskkklkllkkkkkkkklkkkkklkkkkkkklkkkkkkkkkkkklkkkkkklkkkkkkkkkllkkkkkkkkkklkkkkkkkkkkklkkkllkkkkkklklkkkklklklkkkkllkklkkkkllllkkkkkkllkklklklkkkklllkkkklklkkkkkkklkkkkklkkkkkklllllkkkklkkkklkkkkkkkkkkkkkkkkklkklllkkklkkkkkkklklllklllklklkkllllkkllkllkllllllklllllkllllllllllllllllklllklllllllllllllllllllkllklllkllllllllklllkllllllkllklllklllllllllllklllllllllllllllllklllllllllllllllllllllllllklllkllkllklllklklllllllklllllkllllllllkllllklklklkllllkllllklklkklllllkkllklllklllllkkllllllllklkllklkllllklllllllllklllllllllkllllllkklllkklllllllllllllllllkkllllllklllllklklllllkklllllkllllkllkllkklkkklkllkllllllklllllklkllkkkllklllllllllkkkkllkllklllklllllllllkkllkklkkllllllllllllklllllkllllllkkllllllkklkkklklklllkllklkllllllklkllkllllklklllkkklllklllllllkllklllklkkkklkkllklklklklkllllllkkllkkllklllklllllll{kkkkkkklklklkklklkkllllkllllllkllllkkllkkklllkkllllkklllkllllkkllklklkkllkllkllklllllllllkklkkklllkllkkkklkkkkklllllkkkkkkklllkllllkkkkkkklkllkkklklllkkklllkkklkkklkklllkklllkkklkllklkkllkklkllllllkllkkllllklkklllllkkkkllkkllkkkllllkllkkkllkllllllklllllkllkkkllllkllkklkllllllllklklkkllllklklkllllkkllkllkllllllllkllkkklllllkklklllkkllllkkkkllkkllllklklkkllllklklkllllkkllkllkllllllllkllkkklllllkklklllkkllllkkkkllkklllklkklllkklkkkllkkkkkkkkllkkkkklkllkkllkklllllkllkkkklkԳtlkkllkkklkkllkkklkklklkklkkkkllllkkkklkkkkllkkklllkkklllklklkkkkklkklklkllkkkkkkkkkllkkllklkklllklkkllllklllkkllllkllkklkklkkkllklklkkkklkllkkkklllllkklklkkkkkklkklklklkklkklllkkklklkklkklkklkllkkkkllkkkkkkllkllkkklkklklkklkllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllkllkllllllllkllllllltlkllklkkllllllllllllllllllllllllllllklllllllkklllllllklllllllllllllkllllllllkklllllllllllkllkllllllllllllllkkllltlllllkllllllkkllklllllllllllllklllllllllkllllllllllllllllklllllllllllllllllllllllllllklllllklllllkklklllllllllklllklllllkklllkllllllllkllkllllllllllllklllllllllllklkllllllllllllllkllkllllllllkkllkllllkklkklllkllklkklllllllllkllkklllllllllllllllllkklllkklllklllllkllklkllllllkllllllllklllllklllklllllklllklkkllllllklkllkkklllllkllllllllllkkllllklllkklllllklllkklllllklllllllllllklllkklllkllkkklllkllllklklllllllllllllllllllllklllkklllllklllllllllllklllkklllkllkkklllkllllklklklllllllllklllklkllkkkllklkkklllllklllkkklllllllkllllklllklllllkllkklllԳtlklllllllklllllllklkllllllllllllkklklklklkklllllllllkllllllklklkkllllkklkkklkklllllklllllkllllllllllklllllklklkllllllllllllllllkllkllklllkkkklllklklkkkllkkkkkklllllkllllklllllkllkllklkllkkklklllklllllllklllllkllllllllllllllmlllmllmmlllllllllllllllllllllllllllmlllllllllllllmlllllllllllllmlllllllllllllllllllllllllllllllmllllllllllllllllllllllllllllllllllllllllllllmlllllllllllllllllmlllllllllllllllmllllllllmlllmlllllllllllllllmllllllllllllllllmllllllmllllllllllllmlmlmlllllllllllllllllllllllmlllmllllllllllllllllllllllmlllllllllllllllllllllllllllllllllllllllllllllllllmllllllllllllllllllllmlllllllllllllllllmllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllmlllllllllllllllllllllllllllllllllmlllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllmlllllllllllllllmllllllllmlllllllllllllllllllllllllllllllllllllllllllllmllllllllllllllllllllllllllllllllllllllllllllmllllllllllllllllllllmllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllmllllllllllllllllllllllllllllllllllltlllllllllllllllllllllllllllllllllmlllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllklllllllllllllllllllllllllklllllllllllllllklllkllllkllllkllllԳtlllllllllllllllllllllllllllllkllllllkllllllllklllllllllllllllllllkllllllllllllllllllklllllllllllllllllllllklllllllllkllllkllllllllkkllllllklllllklllllllllllllllllllkllllklllllllllllllllkllllllllllllllllllkllllllllllllmlmmllllmmlmllmllmmmmlmllmllllmlmlmllmlmmlmllmllmllmlllmllmmlllmlllllllllllmllllmlmmllllmlllmmmllllllllmmmlmllllllllllmllllmlmlllllllmlmlmllmllllmlmllmllllllllllllllmlmlmllmllllmlmlmllllmlmllllllllmmllmlmllllmlllmlllmlmmmllmlmlllllmllmmlmllmlllllllmllllllmllllllllmllllllmllmmllmlmlllllllllmlllllllllllllmllllllllllmlmmlmlllmlllllllmmlllllmlllllmlmlmllllllllllllllllllllllllmmmllmlllllllllllllllllllllmmlllllmlllllllllllllmllllmlmllllmllllllllllmllllmllmllllllllllllllmlllllllllllmlllllllmlllmlllllllllllllllllllllllllllmllllmllllllllllllllllmllmlllmllmllmlllllmllllmllllllmlllmmllllmlllllllllllmlllllllllllllmlmmmllllllllllllllllllmlmllmllmllllmllmllllllllllllllllmlmlllllmmllllllllmlllllllllllmlllllllllll|mllmlllllllllmlllllllllllllllllllllllllllllllllllllllllllllllmlllllllmlllll|llllllllllmllmlllllmllllllllllllmlllllllllmlllmlllllllllllllllllllllllllllllllltmlmllllmllllllllmllllllllllllllllllllllllmlmllllllllllllmlllllllllllllllllllllllllllllmlllllllllllllllmlllllllllllllllllllllllllllllllllllllmlllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllmllllllllmlllmlllmlllllllllllllllllllmlllmlllllllllllllllllllmllllllllllllllllllllllllllllllllllllllllllllllllmlllllmlllllllllllllllmlllllllllllllllllllllllllllllmllllmllllllllllllllllmmllllԳllllllllllllllllllllllllllllllllllllllllllllllllllllmlllllllllmllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllmlllllllllllllllllllmlmlmmmlmmlmmmlmmlmllmlmmmmmmmmmmmlllmmlllmlmlmmmmllmlmlmlmmmmmmlllmlmmmmlmlmlllmmlmlmmmmlmlllmlllmllmlmlmlllmmlmllmlllllmllllmmlmmlmlllmllmmlmmlmlmmllmlmmmmmmllllmmlmmlmllmmmllmmmmlmlmlmmlllllmmmmmmlmlmlmlmllmllllmmmllmmmmmmlmlllmllmmllllmllmlmllmmlmmlmmmmlmmmmlmlmmlllmlmlmllllmmmlmmlmmlmmllmllmmmmmllmlmlllmlllmlmlmllllllmlmmmmlllmlmmllmlmmlmllllmmlllmllmmmlmlmmmmmlmlmmmlmllllmmlllmllllmmlllmmlmlmlmllllmllmmllmmllmllllmmlmlllmlmlmlllmmlmmmllmlmlmmmllmmmmlmllmmllmlllmmmlmlmmllmmlllllmlllmllmmlmlmmllmlllmlllllllllmmlmlmllllmmlmlllmmmmlmmlmlmmllmllllmlmllllmlmmlmmlmllmlllmlmllmmllmlllmllmllmllmllmllllmlllmmlmlllmmlmlmmllllmlllllmmlmmmlllllmllmllmmmlllllmllmlmllmmlmlmmllmllllllmllmllmmllmmlllllmllllllml|lmlllmmllllllmlmlmlmmllmlmmlmlllmllllllllmmllllllllllllllmllllllllmlllmllmlmllmmlmllmlllmllmmllmlmmlllmmllmlllmmllllmmmmmllllllllllmlllmllmlmlllmlllllmmlllllllllmmlmllmlmmlmlllmlllmlllllllmlmmmlllmmllllmlmlllllmllmllmlmmllmlmmlllmllllmmlmllmllllllllmlmlmllmmllmmllllllllmlllmmllmllmmllmlmlllmlllmllllmllmllmlllllmmmllllllllllmllllllllllllllllllllllllllmlllllmllllllmllmlllllllmmllllllllmlllllllmlllllllllmllmllmlmlllllllllmlllllllmllmlmllmlllllllmlllllmlllmllllmlllllllmllllmlllllmllllllllmlllllllmmllllllllllllllllllmlllllllmllllllllllmlllllmlllmllllllllmlllllllllllmlmllmlmllllllmllmlllllllmlllllmllllmlllllllllllmlllllllllllllmllmlllllllmllmllllllllllllllmllllllllllllllllllllmlmllmllmllllmlllllllllmllllllllllmlllllllmmllmlllllmlllllllmllllllllllllllllllmmmmmmmmmmmmmmmmmmmmmmmmmmmlmmmmmmllmlmlmmmmmmmmmmmmmmmlmmmmmmlmmmmmlmmmmllmmmmlmmmmmmmmmmmmmmmmlmmmmmmmmmlmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmlmmmmmlmmmmmmmmmmmmmmmmmmllmmmmmmmmmmlmmmmmmmmlmmmmmmmmmmmmmmmmmmmmmmmmmmmmlmmmmmmmmmmmmmmmmmlmmmmmmmmmmmmmmmmmlllmmmmmmmmmmmmmmmlmmmlmmlmmlmmmlmmmmmmmmmmmmlmmmmmmmmmmmmmmmlmmmmmmmmmmmmmmmmmmmmllmmlmmmmmmmmmmmmmmllmmllmmmmmmmmmmmmmlmlmlmlmmmlmmlmmmmmmmmmmmmmmmmmmmmmmmmmlmmmmlmmmmmmmmlmmmmmmmmmmlmmmmmmmmmmmlmmmmmmmmmmmmmmmmllmmmmmmllmmmmlmmmmmmmmmmmlmllmmmmmmmmmmmmmllmmmmmmlmmmmmlmmlmmmmmmmlllmlmmmmmlmmmmmmmmlmmmmlmmmmmllmlmlmmmmmmmmmmlmmmmmmllmummmmmmmmmmmmmlmlmllmlmlmmmmmmmmmmmmmmmmlmmlmlmmmmmmlllmlmmlmlllmlmmlmmlmmlmmmmlmmmmmmmlllmlmmlmllmlmmlmlmllmlmmmmlmlmlllmmmmlllmmmmllmmmlmlmmlllmmmmlmlmlmmmmmllmlmmmlllmmmlmlmlmlmmlmmmlmmmmlmmmmlmmllmmmmmmlmmlllllmlmmmmmllmlmmmlmmmmmmmmlmmmlllmmmmmmmtmlmmmmmmlmlmlmmmmllllllmmlmmlmmmmmmmlmlmlllmmmmmmmllmmmlmllmllmmmmlmmmmmlmllllmlmmlmmmllmmmlmmmlmmmlmmlmmmllmlmmlmlmmllmmlmlmmlmmlmlllllmlmmmmmllllmmlmlmmllmmlmlmmmmmmmllmllmmllllllllmmmlmlmlmlmmlmlmmmllmmlmmlllmmlmmlllmmlllmllllmlllllmmmlmmmlmlmllmlmllmlmmmmmllllmmlllmllmmmmmllmmllmmlmlllmmlmmlmlmmlmlmlmmmmmmmlllmlmmmllllmmmmmlllmlmmlllmlllmmmmllmmllllllmmmlmlmmlmmlllmlllmmmlmlmlmmmmlmmmlmmmlmmmmlmmlmulmmlmmlmllmmmmmlllmllmlmllllmllmmllmlllmlmmllllllllllmlmlmmlllmlmlllllmlmllllmllmllllllmlllmlllmmmlmlmlmlmmmmmlmlllllllmlmlmlmllllmlmlllllmlmlmmlllmmmmmmlmmlmmllllmmmllmlmlmmllmmmlmmmlllmlmmmmlmllllmmlmllmlmllllmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmlmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmm}mmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmlmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmlmmmmmmmmmmmmmmmmmmmmlmmmmmmmmmmmmmmmmmmllmlmmlmmmmmlmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmllmmmlmmmmmmmmmmmmmmmmmmmmmmmlmmmmmmmmmmmmmmlmmmmmlmmmmmllmmmmlmmmmmlmmmmmmlmmlmmmmmmmmmmmmmmmmmmlmmlmmmmmlmmmmmmmmmmmmmmmmmmmmmmmmmmmlmmmmlmmmmmmmmmmmmmmmmllmmlmmlmlmlmlmmlmlmmlmmmmmllllmmmmmmmmlmmmmmmlmmmmmmmmlmlmmmmmmmlmmmmmmmlmmmmmml}lmlmmlmlmmlmmmmmllllmmmmmmmmlmmmmmmlmmmmmmmmlmlmmmmmmmlmmmmmmmlmmmmmmlmmmmmmmmmmmmmlllmmmmmmmlmmmmmmmllmmlmmmmmmmmmmmmmmmmmlmmmmlmlmllmlmmmmmmmmmmllmmmlllmmllmmmmlmlmmmmmmmmmlmmlmmmlmmllmmmlmmmmlmlmlmmmmmmllmlmlmlmllmmmmmmmmmmlmmlmlmlmmmmmlmmmmllmmmllllmmmlmmmmmmlmmmlmmmmmlmmmmmmmmmmmlmlmmmmmmlmmmmlmmmllmlmmmmlllmmmmmlmlllmmlmlmmlmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmummmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmlmmmmmmmlmmmmmmmmmmmmmmmmmmmmmmmlmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmummmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmnmmmnmmmmmmnmmnmmmmmmnmmmmmmmmmmmmmmmmnmmmmmmmnmmmmmmmnmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmnmmmmmmmmmmmmmmnmmmmmmmmmmnmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmnmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmnmnnmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmummmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmummmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmummmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmm}mmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmm}mmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmnmmnmnmnmmmmmnnmmmmmmmmnnmnmmmmmnmnnmmmmmmmmmnmnmmnmnnmmnmmmnnnmnnnmmmnmnnmnnmmnmmmmmmmmmmmmmmmmmmnmmmnmmnmmnmmmmmmmmnmnmmmmmmmmmnmmmmmnnmmnmmmmmnnmmmmnnmmnmmnmmmnnmnmmnmmnmnnnnmmnmmmnmmnnmmmmnmnmnmnmmmmnmmmmnmnmmmmmmnmnnmnmnmmnmmnnmmnmmnmmnmmmmnmmmmmmmmmmmmnnmnmnmmmnmmmmnmmmmmmmmnmmmnmnmmmmmmmmnmmmmmmmmmmmmmnmnmmmmmmmnmmmnmmnmmmmmmmmmmmnmmmmmnmmmmmnmnnmmmmmmmmnnmmmnnmmmmmmmmmmmnnmmmmmmmmmmmmmnnmmmmmmmmmnmnnmmmmmnmmnnmnmmmmmmmnmnmmmmmmmmmmmmmmmmmmmmmmmmnmmmmmnmmnnmmmmmmmmmnmmmmmnnmmmmmmmmmnmmmmnmnmnmmmmmnmmmmmmmmmmmnmnmmmmmnnmmmnmmmmmmmmmmmmmmmmmmmmmmmmmnmmnmmmmmmmmmmmmnmmnmnmmmmmmmm}}mmmmmmnmnmmnmmmmmmmmmmmnnmmmnmmmmmmmmmmmmmnmmmmmmmmmmmmmmmmnmmmmmmnmmmmmmmmmmmmmmnmmmmmmmmmmnmmmmmmmmmmmmmnmmmmmmmmmmmmmmmmmmmmmmmnmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmnmnmmmnm}mmmmmmmmnnnmmnmmmmmmnmmmmnmnmmnmmmnmmmnmmmmmnmmmmmmmnmmmmmmmmmmmmmmmmmmmmmmnmmmmmmmmmmmmnmmm}}mnmmmmmmmnmmmmmmmmmmmmmmmmmmmmmmnmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmnmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmnmmmmmmmmmmnmnmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmnmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmm}mmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmnmnnnmnnnnnmnnnmnnnmnmnnnmnnnnmnmnnnnnmnmmmnnnnmmmnnnmmnnnmmnnnnnmmnmmnmnmnnmnnnmmmnnnnnnnnmnnnnnnnnnmnnnnnnnmnmnmnnmmnnmmmnmmnnnnnmmnnnnnnnnnnnnnnnnmmnnnnnnmmnnnnnmnmnnmmmnnnnnnnmnnnnnnnnnnnnnmmmmnnnnnnnmmmnnmnmnmnnmmnnnnnnmnmmmnnmmnnnmnmmmnnnnnnnmmmmnnmmnmmmnnnmnnnnnnmmmmnnmnmmmnnmmmnmnmmmmnmnmnnnnnnmmmmnmmnnmmmnnmmmmmnnmnnnnmnnmnnmmnnmnnmnmnnnnnmnnnmmnnnnnmmmmnnnmnmmmnnmmmmnnnnmnnnmnnmnmmmmmnmnmnnmmnnnnnnmnmmmmmmnnmmnmnmnnnnnmmnnnnnmmnnmmmnnmmmnmmmmnmnnnnnnmmmmnnnnnmmmnmnnmmmmmnmnmnnmmmnmmnmnnnmmmmnnmmnmnmnmmmnmmmnmnnnmnnnmnmnmnnmmmmnnnnmnnmnnmnnnnnnnmnmmmmnnmnnnnmnnmnnmmmmmmmmmnnnmmnmmnnmnmmnmmmmnmmnnnnmmmmmmmmmnmnnnmmnmmmnmmmmmmmnnnmmmnnmmnnmmmmmmnmnnmmnmnnmmnmnnmmmmnnmnnnnmnnnmmmnmnmmmmnmnnmnmnmmmnmnnmmmmnmmmmmnnnnmnnmnmnmmmmmnnmmnmnmmmnmmnmnmnmnnnmmnmnmnmnmmmnmmnnmnnmmmmmnmnnmmnmmmmmnmnnmmmmmnnmnmmmnmmmmnmmnnmmmnmnnmmmnmnmnmmnmmmnnmnnmnnmnnmnnmnmmmmmmmmnmmnnmmmnmnnmmmnmmmmmmnmmmmmmmmnmmnmmnnmmmmmmmmnmmnnmmmnmmnmmmmmmmmmmnmmmnmmmmmmmmmnnmmmnnmmmnmnmmmnmmnnmmmmmmmmmmmmnmnmmmnmnnnnmmmmmnmnnmnnmmnmmnmnmmmmmmmmmmmmmmmnnmmmmmmmnmmmnmnnmmmmnmmnmnmmmmmmmnnmnnmmmmmmnmnmmnnmnmmmmmmmmmmnnmmmmmnnmmmmmmmmmmmnmmmmmmnnnmnmmmnmmnmmmmnnmmnnmnmmmmmmmnmnmmmmmmmmmmmmnmmmmmmnmmmnmmmmmmmmmmnmnnnmnmmnmmmnmmmmmnmmmmmnmmnnmmmmmmmmmnmmmmmnnmmmmmmmmmmmmnnmmmnmmmmmmmnmmmmmnmmmmmmmmmmmnmmnmmmmmmmnmmmmnmmmmmmmmmmmnmmmmmmmmmnmmmmmmmmmmmmmmmnnmmmmnmmmmmmmmmmmmnnnmmmmnmmmmnmmmmmmnmmmmmmnmmmmmnmmmmmmmmmmmmmmmmmmmnmnmmnmmnmnmmmmmmnnmmmmmmmmmmmnmmmnmnmmmnmmmmnmmnmnmmmmmmnnnnnnmnmnnnnnnnnnnnnnnnnnnnnnnnnnmnnnnnnnmnnnmnnmnnnnnnmnmmnmmnmmnnnnmnnnnnnnnnnnnmnmnnnnnnnnnnnnnnnmnnnnnnnnnnnmnnnnnnnnnnnnnnnnnnnnnnnnmnnnnnmnnnnnnnnnnnnmnnnnmmnnnnnnnnnnnnnnmnnnmnnnnnnmnmnnnnmnnnnnmnmnmnnnnnmnnnnnnnnnnmnnnnnnnnnnnnnnnmnmnnnnnnnnnnnnnnnnnnnnnnmnnnnnnnnmnmnnmnnnnnnnnnmmnnnnnmnmnnnnmnnnnmnnnnnnnnnnnnmnnnnnmnnnnnnnnmnnnnnmnmmnnnnnnmnnnnnnnmmnnnnnmnnnnnmnnnnnnnnnnmnnnmnnmnmnmnnnnnnnmnnnnmnmnnmnnmnnnnnnnnnnnnnnnmmnnmnnnnnnnnnnnnnnnnnmnmnnnnnnnnmmmnnnnnnnnnnnnnmnmnnnnnnnnmnnnnnnmnnnmnnnnnnmnnnnnnnnnnnmnnnmnmnnnnnnnnnnmnnnmnnnnmnnnmnnnnnnnmmnnnnmnnnnnmnnnnnnnnmnnnnnnnmnnnnnmnnmnmnnnnnnnnmnnnnmnnnnnnnmnmnmnmmnnnnnnnnnnmnnnmmnnnnnnnnnmnnnnmmnnmnnmnnnmmnnmmnnnnnnmmnnnnnnnnmmnnmnnnnnmnnnnmmnnnmnmnmnnmnmnnmnnnnmmnnnmnnnnnnnnmnnnnmmnnnmnnmmmnnnnnnnnnnnnnnnmnmnmnnnmmnnnnmmnnmnnnmnnnnnnnmnmnmnnnmmnnnnnnnnnmnnnnmnnnnnmnmnmnnnnnnmnmnnnmmmnnnnnnnnmmnnnnnnnnnmnnmnnmnmmnnmmnmnnmnmnnnnmnnnnmnnnmnmmnmnnmmnmnnnmmnnnmnnmnnnnmnnnmmnnnmmmnnnmnnnnnmmnmnnmnmnnnmmmmnnnnnnnnnnnmnnnnnmnnnnnnnnnnmmnmnnnnmnnnnnmmmnnmnnnnnmnnnmnnnmnnmnmmmnnnmnnnnmmnnnnnnnmnmmnnnnmnnmnnnnmmnnmnmmmnmmnnnnnnnmnmnmnmnmmnnmnnmnnnnmnnnnnnnmnmnmnnmn~~nnmnnmmmmmnnnmnmnmnmnnnmmnnnnnmmnnmmmmnmmmnnmmmmmnnmmnmnmmnmmnnnmmmnnmmmnmmnnmmnnnnnmnnmnnnnnmmnnmnnnmmmnnnnnnnmmnmmmnnmnmnmnmmmnmnnnnnnnmmnmnnmnnnnmnmmmmnmnnmnmnmmmnmnmmmmnmnnnnmmmnmmnnnmmmnnnmmmnmmmnnmmmmnmmmmmmmmmmnmmmnmnnnmmnnnnmmmnnmmnmmmmmmnnmmmnnmnnnmmmmnnnmmnnnnnnmnnnmmmnmnmmnnnnmmnnnmmmmmmmmnnnmmnmmnmnmmnmmmmnnmnnnmmmnmmnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnmnnnnnnnnnnnnnnnnnnnnnmnnnnnnnnnnnnnmnnnnnnnmnnnnnnnnnnnnnnnnnnnnnnnnnnnnnmnnnnnnnnnnnnnnnnnnmnnnnnnnnnnnnnnnnnnnnnnnnnmnnnnnnnnnnnnnnnnnnnnnnmnnnnnnnnnnnnnnnnnnnnnmnnnnnnnnnnnnnnnnnnnnnmnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnmnnnnnnnnnnnmnnmnnnnnnnnnnnnnnnnnmnnnnnnnnnnnnnnnnmnnmnnnnnnnnnnnnnmnnnnnnnnnnnnnnnnmmnnnnnnnnnnnnnnnnnnnnnnmnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnmnnnnnnnnnnnnnnnnnnnmnnnnnnnnnnnnnnnnnnnnnmnnnnnnnnnnnnnnnnnvnmnnnnnnnnnnnnnmnnnnnnnnnnnnnmnnnnnmnnnnnnnnnnnnnnnnnnnnnnnnnnmnnnnnnnnnnnnnnnnnnnnnnnnnmnnnnnmnnnnnnnmnnnnnnnnmnnnnnnnnnnnnnnnnnnnnnnnnnmnnnnnnnnmnnnnnnnnmmnnnnnnnnmnnnnnnnnnmnnnnnnnmnnnnnnnnmnnnmnnnnnnnnnmnnnnnmnnmnnnmnnnnnnmnnnnnnnnmnnnnnnnnnnnnnnmnnnnnnnnmnnnnnnnnnnnnnnnnnnnnnnmnmnnnnmnnnmnnnnnnnnnnnnnnmmnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnmnmnnnnmmnnnnnmmnnnnnnnmnmnnnnmnnnmnnnnnnnnnnnnnnmmmnnvnnnnnnnnnnmnnnmnnnnmnnnmnnnmnnnnmmnnnnnnnnnmnnmnnmnnnmmnnnnmnnnnnmnnmnmnnnnnnnnnnmmnnmnnnnmnmnnnnnnnnnnnnnmmnnnnnmmnmnnmmnmmmnmnnnnmnnnnnnnnnnmmmnnnmnnnnnnnnmmnnmnmmnnnnnmmnmnmnmnmnnnnmnmmmmmmnnnnnnmmnmnnmnnnnmnnmnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnvnnnnnnnnnnn~nnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnvvnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnvnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnmnnnnnnnnnnnnnnnnnnmnnnnnmnnnnnmnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnmnnnnmnnnnnnmmnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnmnnnnnnnmnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnmnnnnnnnnnnnnnnnnnnnnnnmnmnnnnnnnnnmnnnnnnmnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnonnonnnnonnnnonnnnnnnnnnnnnnnnnnnoonnnnnnnooonnnonnnonnnnnnnnnnnnnonnnnnonnnnnnonnnnnnnnonnnnnonnononnnnnonnonnnnnnnnnnnnnnnnnnonnnnnnnnnnnnnnnonnnnnnnnnnnonnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnonnnnnnnnnnnnnnnnonnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnonnnnnnnnnnnnonnonnnnnnnnnnnnnnnnnnnonnnnnoonnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnonnnnnnnnnnnnnnnnnnnonnnnnnnnnnnnnnnnnnnonnnnnnnnnnnnnnnnnnnnnnnnnnnnonnnonnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnonnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnonnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnn~nnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnvnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnoooonnnonnnnnnooonnnnooonnnnonononnnononnnononnnonnnoononooonnonnonooononnnonnnnonnnoonnonnnnnnonnnnnnoonnnnnnnnnnnnnnonnnnoooononoonoonnnnnnnnonoonnonononnonnooonnnnnnnonnoonnnonnnonnnnnnnononnnnnnnooonnnnonnonnonnnonnnnnnonnonnnonnonnnnnnnnoonnnoonnnononnnnnnonnoonoonnnnnnnnoonnnonnnnnnnononnooonnnnnnnnnnnnnnnnnonnnnnnnnonnnnnnnnnnnonnnnnnnnononnnnnnnnnnnnnoonnnnnnonnonoonnnoonnnoononnnoonnnnnnnonnnnnnnonnnnnnonnnnonnonononnnnnnnnonnnnnnnonnnoonooooononnnnonnonnoonnonnnnnnnnnnoonnonnnnnnnnnnonnnnnnnonnnnnnnonnnnnnnoooonnnnnnonnoonnnnnnnonnnnnonnonnnonnononnnnnnnnnnnononnnnnnnnnnnnnnonnnoonnnnnononnnnnnonoonnnonnnnnnnnnnonononnoonnnnnnnonnonnnnnonnnnnnnnnonnnnnnnnonnnonnnnnnonnnnonnonnnonnnnonnnnonnnnoonnnnnnononnnnononnnnnnonnnonnnnnnnnonnnnnnnnonnonnonnnnonnnnnnnnnnnonnnnnnnnnnnnnononnnnnnnnnnnnnnonnnnnoonnnnnnnnnnnnonnnnnnnnnnonononnnonnnnnnnonnnnnnnnnnonnnnnnnnnnnnnnonononnnnonnnnnnnnonnonnnnnnnnonnnnnnnnnnnnnnnnnnnnnnonnonnnnnnnnnnnnnnnnnoonnnnnnnnnnnnnnnonnnnnnnonnnnoonnnonnnnnnnnnnnnnononnnnnnnnnnnnnnonnnnnnnonnnnnonnnonnnnnnnnnnnoonnnnonnnnnnnnnonnnnnnnnnnnnnnnnnnoonnnnnnnnnnnnononnnnnnnnnnnnnnnnnnnnnnnnnvnnnnnnnnnnnnnnnnnnnnnnnnnnnnonnnnnnnnnnnnnnonnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnonnnnnnnnnnnnnnnnnnnnnnnnnnnnonnnnn~nnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnonnnnnnnnnnnnnnnnnnnnnnonnnnonnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnoonnnnnonooooonoononnnonoonnonnooonnnonnooooonooooooooooonononnoonnnonnonoonoooonooonononnonnoooooonnonoooonnnnonooonnnnoonnnonoonnonnonoooonnnooonnooonnonnonoonnooononnonooonnoonooooonoonnnnnnnnnnnooonooonnnnoooooonoooonoononoonooononoooooononoonoononnoonooononooonnnoononononnonoonnononooonnonnooonoonnnoonooononnonnonnnnoononnonoooonooonnnnnonnnnonoooonnononnoooonnnonnooooonnnonooooononnonnnooonnnooooonnonnnooonnnnononononnononnnonononnoonoonnononnooooonnnnonnooonnonnonoonnnoooonnnnnoonnooooooonnoonnnoonnonoonnnnonnnonnonnoononoonnnononoonononoooooonoonononnooonnnononnnooonnnonnnnonnonnnonnnoonnonononnnnnonoonnnonnnnoooooonooonnnononnoooonnnoonnnonnnnooonnonnononnonnnnoonnoonnnonnnnonnnnonnnnnnnonoooononnnnnnonononnnnnnnnnooonnonoonnnonnnnooonnonnoononnoonoonnnooonoononnnnnnononnonononnnnonoonnonnoonnnnnnnonnoonnnnnnnononnnnnnnononnnooonnoonnnonnnnnnonnnnnnnnnnononnoonnnnnnnnnnonnoonnnnnnnononnnnnnnnnonnonnononnnnnnoonnoonnnnnnnonnoonnnnoonnoonnnnnnnoononnnonnonnnoonnnnonnnnnnnnnnnnnnnnnnnoonnnnonoooonnoonnnonnnnnnnonnnnnnonoonoononnonnnnonnnoonnnnnonoononnnnnonnonnonnnnnnonnonnoonoonnnnnnonnnnnnnonononnnnnonoonnnnnnonnononnnnnonnonnonnnnnnonnonnonnoonnnnnnonnnnnnnonononnnnnonoonnnnnnnonnnnnnnonnnnnnonnnnnnnnnnoonnoononoonnnnnnonnnnnnnnnnnoonnnonnnnnnnnonnonnnnnnnnnnnnnnnonnonnnnnoonnnonnnnnnnonnnnnoonnnnnonnnnnnnononnnonnnnnnnnnoononnnonnnnnonnnonnnnnnnnnnonnnoonnnnnnnnnnnnonnnonnonnnonnnnnnnnnnnnnnnnnnnnnnnnonnnnnnonnnnnnnnnnonnnnonnonoooooooooooooooooooooooonnoonoooononooooooonnooonooooooooooooononooooooooooooonooonoooooooooooooooooonooooooooooooooonooooooonooooooooooooooooooooooooooooooooooonnoooooooooooooooononnooonooooooooonnoooooonooooooooooooooooonoooooooonooooooooooooooooooonooooooooooonooooooonnnnnoooononnooonoooonooooooonoooooonooonoooooooooonooooooooooooooooooononnoooonoooonnonononooooonnnooonoooooooonononnooooonnnonooooonoooooonoooonoooooooonoooooononoooooooooooonooonnoooooononnooooonooooooooonooooooooononooooooooonoooooooonnoooooonnoooooonoooooonooonooonooooonoooooooooooooonononnoooooooonoooooooonoonooooooooonoonnoonnoooonnnoonnnoooooooooononnnoonooooooonnnooooonnonoooooooonoooonnooonoonoonooooooonoooooonooooonooooooononnononnooooooonnonnooonoononoonnonnonnonnooononooooooononoonoooooonnoonooooonooonnnonononoononnonnnnoonoononoooonooonnonnononoonoooonnononnoonnonnoonooooonoooonoonoonnoonnnooononoonnnnnnnnnoonnnonnononnonoonnnoonnnononnonnnonoononnoononnoonoonnooonooooonooonoonnooonnnnooooonnonononnnooonooonoonnonnnoooonooonnonoonooononnnonnnnoooonnoonnonnnnonooonnoononnnnnnonnnnnonoonoooononoonoonnnnnnononooooonononnonoooonnonnnnonnooooooonvnnnnnnnonoonoooononoonoonnnnnnononooononononoonoooonnonnnnonnooooooonnoonononnononnnnonnoooonnnoononnonnnonnonnnnooonnnnoonnnnnonnnononononnonooonooonoonnnnonnnnnnooonnnnnonoononnnonnnnnonoonnnnnoonnnnonnooooonooooononooononnnnonnnnonnonoonooonnnoonononnonnoonoooooonnononnoononnnonnnoononnnonoonoononnonnnoonnnnooooonnonnnooonnoooooooooooooooooooooopoooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooopooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooonooooooooooooooooooooooooooooonooooooooooooooooooooonooooonooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooonoooooooooooooooooooooooooonooooonooooooooooooononooooooooonoonooooooooooooooooooooononooooonooooooonoooooooooooooooooooooooooooooooonooooooooooooooooooooonoooowoooooooooonooooooooooonoooooooooooooooonoooooooooooooooooooooooooooooooooooooooooooooooooooooooooonoonooooooooonoooonooooooooooooooooonoonnoononoooooooooooooooonooooooooonoonooooooooooooooooooooooooooooooooooooonooooooooooooooooooonoonooooooonnoooooooooooooonnoooooooooooononoooonooonooooonooooooooooooooooooooooonnooonnoooonooooooooonooooooonoooonoooooooooooooooonnooooooooooooooooooooooonooonoooooooooonooooooooooononoonoonnnoononooooooooooooonoooooonoooooooonoooonoonooooononnoonoooooonnoononoooooonnooonooonooononooonoooooooonooonoooooonooononooooooooooonoononoooonoonooonooonooonooooonoooooooonoooooooooooooooonnoonooonnoooonooooonnoooooonooooooovnonoonooonoooooonoonnooooonooononooonnnoooooonnoooooooonooooooonooooooooooooonnonoooonoooonoooonnoonoooooooooooooononooonooonoonnonooonnnooooooooooooooonnonooonooonooononoonooonooooooooooooooooononnnnoonoooonoooonooooooooooooooopooooooopopopoooooooooooooooooopoooooopoooooopoooooooopoooooooooooooooopoooopooooopooopoopooooooopoooooooopoopoopoopopoooopoooopoooooppooopooopoooooooopoppooopoooopoopoopooppoopoooopopooppoopooopopoooopooooooooooopoooooopoopooppoooooooooooooooopooopoooooooopoooopoooooooooooopooooooopopopooooooooooooooooooopoopoopoooooooopooooooooooooooopoooopppooooooopoooooooooooooooooopoooooopoopopopoooopooooooooooooooooppoopooooooooooopoopooooooooooooooooooooopoooopopoopoooooooooooooooopoooopoooooooooooooooooooooooooooooooooooooooopooooooooooooooooooooooooooooopopooooooooooooooooooooooooooooooopooooooooooooooooooooooooooooooopooooooooooooooooooooooooooooooooooooooooopooooooopoooooooooooooooopoooooooooooooooooooooooooooopoooooooooooopooooooooopooooooooooooopoooooooooooooooooooooooooopooooooooooooooopoopooooooooooooopoooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooonoooooooooooooooooooooooooooooooooooooooooooon~~ooooooooooonoooooooooonoooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooonoooonooooooooooooooooooooooooonoooooooooonooooooooooooooooonooooooooooooooooooooonooooooooooooooooooooonooooooooooooonoooooooooooooooooooooooooooooooooooooooooooooooononooonooooooooooonoononononooooooopopopooooopoopoooooopopoppoppopppopopppppppppoopppopoooooooppooopopoopopoopoooppoooppopoppooopoooppooppopooopopppooooppoppoooppoppooppppoopooooppopppoooooooooooppoooopoopppppooopopppoppopooooooooopoopoopooooopoppoopoppooppooopppooooooppopppoppoooopoppopoooopoopopoooooopooooopoopoopoooopoooppooooopppppoppppooooopoppooppoopopopoopopoooppopopoopopppooooopppopooopoooooopopopooopoooooppopppopoopopooopooooooooooopooppoopooooppopooopoooppopooopooooppooppoppooooooooooooopoppoopppoooooppoppoooooooooopoopoopppoopooopooopopppoooopooopooppopooppoooppooooooopoooooppooopooooooooppoppooopoppooopoppoopoopooooooooooooopoooopooopoopppoooppoooopopoooooooopopooooooooooooopoooooooooopoopoopoopoooooopppoooooooppppoopppppoooopoooooooopoooopopooopooooopooooppoooopoooppoopoooooooppoooooop~ppoooooooooopooooooooooopooppopoopopoooooopopoooooopoooooopooooppoopooooopoopoooopooopooooooooooooooooppooooooooopppppooooooooooopooooooooopooooooooooooooopoooooooooooopoppooopoooooppoooopoooooppooooopoooopppooppooooooooopooooooooooooooppooooooooooooopoopooooooooooooopopoooooooooooooooooooopopooooppooooooooopooooooooooooooooooooooppooooooooooooooooooooooooppoopooooppooooooooopooooooooooooopooooooooppoooooooooopoooooooooooooppopoooooooopoooooooopooooooopooooooooooowoooooooopooooooopoooooooooooooooooooooooooopopooopopooooooooooooopooooooooopopoooooooooopoooooooooooooooooooooooooooooooooooooooooooooooooooopoooooopooopoooooooooooooooooooooooooooooooooooopooooooooooooooooooooooooooooopopopppopopppoppppppppooopppppopppopopoppppppppppopppppppopppoppopoooopppppppppppppppppoppopopppppppopopppoppoopppoppopppppoppppopppoppppopppooopppppoppoopppooopppppppoppopooppopppopppppppppppppoppopopppoppoppoopppppoopopppopopoppooooppopoppppppopoopppppopoppppopppppooppppooppoopooopooppooppppppooopppopppppppoopppoppppopoopoopooooppooppoppopppppppoopopopoopoopopppppopopppooopopopooppopppppppppppŭxoopooppoopoopoppoppoopppppopooopppppoopoopoopp~pppppoopppoopppopppopppoopooppoooopppopoopopooopopoooppoooopoopppopppoppopopoooooo~Ůwopopoooppoooopppppopopoopopooppopooopppopoppooopoopopopopoooopoopooppopppoopoooppppppppppopoopoppopoppopopoooooopopoooooooooppppoppppoopppoooopopopppppopopoooopopopoooppoppooopppppoppppoopoopppoooooopoooppoopopopppoppoppppopppppppoopopopopppooopopoppppopopooppoopopppoopopoooppopopoopopppooooopppopooopoopoopoopopopopoooppppopopoppoopopopopppoppopopoopopopopooppoppopoopoppoopppooopoooppppopppopoopopopppopoooppoooooppopoopopoopopoppopopooopppooppppopopopoopopoooopoooopooppooopoooopoooooopoooppoooopooooopoopoooopoopoopoooooooopoopoopopopoopoopppoopooppooopooppopoooooppoppooopoooopoppooppooopoopoopoopopopooppopppoopooppooopooppopoooooppoppooopoooopoopoopppppoopoooopopooppoopooppopoooopoopopoopoopoopooopoooooooooppooooooopooppoopopoooppoooopoooopopoopooopooooooooooooooooopopooppopppopopopopppppoooopopooooooopoooooopoopopoopoooopooopooooopoooooopoopoooooooppooooooppooopoooooppoopoooooooopopoopooooooooooopopoooppppppppppppoppppppppooppppppppopppppppppppppppppoppppppppopopppoppopppppppppppppppppppoppppppppppppppoooppppopppppppoopppppoppppopppppppopppppppppppppppppopppopppppppppppopppppopppppppppppppppoppppopoopppppppppppppppppppppppppppopppppppppoopppoppppppppppoppppppopppppppppppppppppppppppppppppppppppppppopppppopppppoppxpopopppopppppppooppoopppppppppppppppopopoppppppppopppppppppoppppopppppppppopppppppͽpppppppppppppppppoopppopppppppoppoppppopxpppppoppppopoppoopppppppppppppoppopppooppoooppppopopppppppppppppppppppppoppppppppo̽ppooopppppppopppoppopoppppopppppppppopppoppoppppopoppppopppppppppopppppppppoppppppooppoooppppppppppoppopppppooppppppppppoopppppoppppoppooopopppppppppoppopppppopppppoooppppppoopppppppppppppoppppoppoppppppoppppooppppwoppopopppoopoppppooppoppoppoppopoppppppoppppoopooopppooppopoopppppppoopopppooppopppppppp~ooppoppppopopppoppopppppppppppooppppoppppppoopppppooopopoopoooppppppppoopppppoopopopppppoppoopopppoppopopopopppoopooopooppppppoppopppopopppppppppoopppoppopoopppppoopoppppppoopooopppoopppppoppppppooppopppppooopoppppoooppoppoooppoppopppppppppopoppopppoopooppoooopppopoppopppppoppppppxpoooppoppoooppoppoppppppppoopoppopppoooooopoooopppopopoopppppopppppppoppoppopoopoooppppoopopoooppppoopoppopppoppoppoopopppppppppopppppopopoppopooooopppppoppppppopooopppopopppopppoppopooopppppopppopopopppppppoppopoppoppoppoopoopoooopppppppoppooppoppoppopooopooooooopopoooopopooppoooooppopppoopppppppooopooppooopopooopooopoooppppppppppppppppppqppppppppppppppqpppppppppppppppppppppppppppppppppppppppqppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppqppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppqppppppqppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppqpppppppppppppppppqppppppppppppppppppppppppppppppppppqppppppppppppppppppppppppppppppppppqppppppppppp̽pppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppp̽ppppppppppppppppppoppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppopppppppppppppppppppppppppppppppppppppppoppppppppppppppppppoppppppppppppoppppppppppppooppoppppppppoppppppppppppopppppppppppppppppppppoppppppppppppppppppppppppppppppppppppppppopppppppppppoopppoppppppppopppppopppppppppopppppoppppopppopppppppppppppppppppopppopppppoppppppppopopppppopppppoppppppppppppppppppppoppppppopopoppppppppppppppppppppppoppppppppppoppppppooppppppppppppopppppppppppppopppopppppppopppppppopppppppppppppppopppppppppppppppppoppppoppppppppopppopppppppopppppppopppppppppppppppopppppppppppppppoppppoppopoppppppopppopppppppppppppppppppppppppppppppppppppppoppppppppppopopppppppppppppoppppppppoooppppppopppppppoppopppppppooppppppppopoppppppopoppooppoppppppopppppopppppoooppppppppppoppppopoppppppoppppppppoppopppppppppppopppopppppppppppopppppppppoppqppppqpqpppqppppppppppppppppqppqpppppppppppppqpppppppqppppqppppppqppppppqppppppppppppppqqppppppppppppppppppqppppppppppppppppppppppppppqpppqqppppppppppppppppppppppppppppqppppppqqppppppqpqqppppppppqpqpppppppppppppppppppqppppqpppppqpqpppqqpppppppppppppppqpqpppppppppqppppppppppppppppppppppppppppppppppppqppppppppqpppppppqppppppqppppppppppppppppppppqpqqppppppppppppppppppppppqppppppppppppppppqpppppppͶppppqpppppppppppppppppppppppppppppppppppqppppppppppppppppppppppppqpppppppppppppppppppppppppppppppppqppppppp̶ppppppppppppppppqpppppqpppppqpypppppppppppppppqpppppppqpqpppppqpppppppppppppppppppppppppppppppqpqppppppppppppppppppppppppppppppppppppppppppppppppppppppppppqppppqpppppppppppppppppppppppppppppppppppppppppppppxpppppppppppppppppppqppppqpppppppppppppqppppppppppppppppppppppppppppppppppppppppppxpppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppqpppppppppppppqppppppppppppppppppppppppppppppppppqpppppppppppppppppppppqppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppqppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppqqppppqqpppqqppqpqppppppqppppqppppppqpqpqppppppppqpqqqpqqpqppqppppppqpqqpppqpqpppqpqppqqppppqpppppqpppqppqppqqqpqpqqppppppqqppppppqpqpqpppppppppqpqqppppppqqpqqqpqpqpppppqppqqqppppqqppqpppppppqppqpqpqpppqpqpppqqpppqqppqpppppqpqpqpppppqppqpppqqppppppppppqpqqpqppqqppppppppppqqpqqqqpppqppppppppppqpqqppqpqqqqpppqppppqpppppppppppqqpppppppppppppppppqppqpqppppppqppppppqppqppqpppqqppqqqqpppppqppqppqpqppqpppppppqppppppppppppqppqqpppppqppqppppppqppppppqqppppppppqppppppppppqpqpppppqqpppppqpqppppppqpppppqpppppppqppqpqppppqpppppppppppqppqpppqppppppppppppqppqppqpppppppppppqpppppppppqppqpppqppppppppppqppppppqpppppppqppppqpppppppppqpppppppqqpppppppppqppppqpppppppppppppqpqqpqppppppppppqppppppqppppppppqppppqppqppppppppppppqpppppppqppppppppppppppppqppqppppppppqqppppppppppppppppppppppppppqppppqpppppppppqpppppppppppppppppqppppppppppppqpppppppppppppppppppppqpppppppppppppppppppppppppppppqpqppppqqqppppqpppppppqpqppppppppppppppqpqpppppppppqppppppppppppppppppppppqppppppppppppppppppppppppppppppppppppqpppppppppppppppppppqpppppppppppppppqpppppppppppppppppppqpppppppppppppppppppqppppppppppqpppppppppppppppppppppppppppppppppppqpppppppppppppppppppppppppppppppppppppqpppppppppqppppppppppqppppppxpqppppppppppppppppppppppppppppppppppppppppqppppqppppppppppppppppppppqpppppppppppppppppppppppppppppppppppppppppppppppppqpppppppppppqppppppppppppppppppppppppppqppppqpppppppppppppqpppppppppppppppppppppppppppppppppppppppppppqpqqqqqpqppqqppqqqpqqqqpqqqpqqqpqqqqpqppqpqqpqppqqqpppqqqppppqppqqqqqppqppqppqqppqqqqpqpqqpqqqqpqqqqqqqpqqqqppqqqpqqppqpqqpqqpqqqpppppqpqqpppqpqqqqqqppqpppqpqqqqpppqpppqpqqqpppqqppqpqqqpqqqpqpqpqpqqqpqpqpqqpppqppqqqqqqpqpqqpqpppppppppppqpppqqqpqpqqqppqpqpqqqqqppqqqppqqqqqqpppppqpppppqpqppqppqqpqqpppqqqqppqqqqpqppqqqpqppqqpqqqqqpqpqqqpppqpqpqpqqpqpppqqppqqpppqppqpppqpppqpqpppqqppqpqpqqpqqqpppqqqppqppppqppqqppqqqpqpqppppppqqqpppppqqqppppppppqpqpqppppqqqqpqppppqpppqppqpqqppppppqqqpqpqpqppqpqpqqppqqqppqppppqqqqpppqpqppqqqqppqpqqqpppppqqpppppppqqqpppqppqqppqpqpqppppqpqqpqpqpqppqppqqppqppppqpqqppppqppppppppqpqqpppqppppqpqpppppqqqqpqppqpqqqpqpppqppqppppqqppqpqqppppppqpqppqpqppppqppppqpppqppppppppqqqpppqpppqppqpqqpppqppqqpppppppqppppqqpqppppqpppqpppqppppqpqqpppppqqpppppppppqqpppppqpppqppqppqqqpppppqppppppppqppppppqqpppppppqqppqpqppqpppppqpqqpqpppqppppqqppqqppppqqqppppppqpqppppqppppppppqppqpqppqqqqppppqppqppqpppppqppqppqpppqqqqppppppppqppqpqqppppqpppppppqppqppppppppppqpppppqpppppqpppqqpqppqpqppppqppppppppppqppppppppppqqppppqppqpqppppqppqppqpppppppppqpppppqppqqppppppxpppqpqpppqpppppppqqqpppqqppqpqqpppqpqqppqppppppppqppppppqppppqpppppqppppqppqpppppppppppppqpppqppppqxppqpppqppppppppppqqqppppppqpqppqppppqpppppqppppppqppqppqpqqpppppppqpppppppppppppppppppppppqpqpppqppppppppppppqppppppqpppppqppppppppqppppqppqqpppppppppqppqpqpppppppppqppppppppppppqppppqppppqppppppqpppppppppppppppppppqqppppqpqpqqpqqpqqqqqqqqqqpqqqqpqqqqqqqpqqqqqqqqpqqqqqqqqqqqpqpqpqqqqqqpqqqqqqpqqppqqqqqqqqpqqqqqpqqqpqqqqqqpqqqqppqqqqqpqqqqqqqqppqqqqqqqqqqqqqqqqpqqqqqqqqppqqqqqqqqqppqqqqqpqqqqqqqqqpqqqqqqqpqqqqqqqqqqqqqqpqppqqqqqqqqqpqqqppqqqqpqqqqqpqqpqqqqqqpqqpqqqpqqqqqqpqqpqpqqqqqqqqpqqqqqqqqqqpqqqqqpqqqqqqqqqppqqqqqqqqpqqqqqqqqqqqqqpqqqqpqqqqqqqqqqpqqqqqqqqqqqqqqpqqqpqqqqqqqqqqpqqqqqpqqpqqqqqqqqqpqqqppppqqqqqqqpqqqqqqqqpqqqqqppqqqqqqqqqqpqqqqqpqqqqpqpqqqqqpqpqpqqqqqqqqqqpqqqppqqpqpqqqqqpqqqqqqpqqpqqqpqqpqqqqppqqqqqpqqpqpqpqqqqpqqqqqqqpppqqqqqqqpyqqpqqqpqqqqqqpqqqppqpqqpqqqpqqqqqqqpqqqqppqqpqqqqqqqpqqqqqqqqqppqpqqpppqpqpqqqqqqpqqqqpqqqpqpqqpqqqppqqpqqqqqqqqqpqpqqpqqqpqqqqqqqqqpqqqqqqqqqpqqqppqqqppqqqpqqpqqpqqqqqpqqqqqpppqppqqpqppqpqppqpqqqpqqpppppqpqqqppppqqqpqqppqqppqqppqpqqqpqppqppqqpqqqpqpqqppqqqqpqqppqpqpppqppqppqpqqppqqpqqpqpqqpqppqqqpqqpqpqqqppppqpppqpqpppppqpqqqqqqqppqpqqpqpqppqqppppqqqqqpqpppqqpppqqqqqpqppqqppqpqpqqppqqpqqpqppqpppqppqpqpqqpqqpqpppppqpqpppqppqqqppppqppppqpqqppqqqppqqppqpqqpppqqpqpqqqqqqqpppppqqpqqpqpqqqqppqqpqqpqpqqppqpppqpqqqpqqpqppppqqpqppqppqpqqqqpqqqpqpqqpppppqpqpqqppqppqqpppqqppqpppqqqqqqqqqqpqqqpqpqqpqqqpqpqppqpqpppppqpqqpppqqpqpqqqpqqppqqpqpxppppqqqpqpqqqqppqqpqpppqpppqqqqpppppqpqppqpqpppppqqppppppqpppqppqqqppqqpppppqpqqpqqqpqqqppqpqqpppppppppqqqqppqpqqqpqqpppppqpqpqpqqqqqqqqpqqpqpqpppqpqqqqppqqpqppqpppppqqppppppppppqppqqppqpqppqqppppppppppppppqpppppppppqpqppqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqrqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqpqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqyqqqqqqqqqqqqqqqqqpqqqqqqqqqqqqqqpqqqpqqqqqqqqpqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqyqqqqqqqqqqqqqqqqqqqqqqqqqqqqqyqqqqqqqqqqqqqqqqqqqqqqqqqqqqqpqqqqqqqqqqqqqqqqqqqqqqpqqqqqqqqqqqqqqqqpqqqqqqyqqqqqqpqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqpqqqqqqqqqqqpqqqqqqqqqqpqqqqqpqqqqqqqqqqqqqqqqqqqqpqqqqqqqqqqqqqqqppqqqpqqqqqqqqqqpqqpqqpqqqqqqqqqpqqqqqqqqqqqqqqqqqqqqqqpqqqqpqqpqqqqqqqqqqqqqqqqqqqqqqqqqpqpqqqqqqppqqqqpqqqqqqpqqqqqqqqpqqqqpqqqqqpqqqpqqqqqqqqqqqqqppqqpqqqqqqqpqqqqpqqqqpqqqqqqqqqppqpqqqqqqqqqqqqqqqqqqpqqqqqpqqqqpqqqqqqqqqpqqqqqqqqqppqqqqqqqqqqqqpqqqqqqqqqpqqqqqqqqqqqqqqqqqqqqqqqpqqpqqqqqqqqqqqppqqqpqqqqqqqqqqqqppqqqpqqqqqpqpqqqqqqqqqqpqpqqqqqqqqpqqpqqqqqpqqpppqqqppqqqpqqqpqqpqqqpqqpqqqqqqqpqpppqpqqpqqqpqqqqqqqqqqppqqqqpqpqqqqqqqpqqqqpqqqqpqqqqpqqqqpqpqqqqqqqpqqqqpqqpqpqqqqqqqqqqqpqqqqqppqqqpqqppqqqppppqqpqqqqppqqpqqpqqpqqqppqpqqpqpqqqqqqpqqqqpqqpqpqpqqqqqqqqqqqqqpqqqqpqqpqqqqqppqqpppqqppqpqqqqqqqqqqppqpqpqppqqqqqppqqqqqqqqpqqqpqpqppqqqqqqqqqqqpqqqpqqpppqqpqqqqpqqqqqqqpqqqqqqpqqppqqqqqpqqqqpqqppqpppqqqqqqpqpqqppqqqpqppqqpqqqpqpqqqqqqqqppqqppqqqqqqqqpppqqqqpqpqqpqpppqqqppqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqrqqqqqqqqqqqqqqqqqqqrqqqqqqqqqqqqqqqrrqqqqqqqqqqrqqqqqqqqqqqrqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqrqqqqqqqqqqqqqqqqqqqrqqqqqqqqqqqqqqqqqqqqrqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqrqqqqqqqqqqqqqqqqrqqqqqqqqqqqqqqqqqqqqrqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqrrqqqqqqqqqqqqqqqqqqqqqqqrrqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqrqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqrqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqpqpqqqqqqqqqqqqpqqqqqpqqqqqqqqqqpqqqqqqqqqqqpqqqqqqqqqqqqqyqqqqqqpqqqqqqqqqqqpqqqqqqqqqqqqqpqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqpqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqpqqpqqqqqqqqqqqqpqpqqqqqqqpqqqqpqqqqqqqqqqqqqqqppqqqqpqqqqqqqqqqqqqpqpqqqqqqpqqpqqqqqqqqqqqqqqqqqqppqqqppqqqqrrqqrqrrqqrqqqqrrqrqrrqqqqqqqqqqqqqqqrrqqqrqqrqqrqqqqqqqqqrqqqqqqrqqqqqqqqqqqqrqrqqqrqqqqrrqqqqqqqqrrqqqqqqqqqrqrrqqqqqqqqqqqqqqrqqqrqqqqqrqqqqrqqqqqrqqqqqrqrqqqqqrqqqqrqqqqqrqqrqqqrqqqqqqqqqqqqqrqqqqrqqqqqqrqrrqqrqqqqqqqqqqrqqrqqqrqrrrrqrqqqqqqqqqqqqqqqqqqrqqqqqrrqqqqqqqrqqqqqqqqrqqqrqqqqqrrqrqqqqqqqqqqqrqrqrqqqqqqrqqqqqqqqqrqqqrqqqqqqqqqqrqqqqqqqqqqqqqqqqqqqqqrqqqqqqrqqqqqqqqqqrqqqqrqqqqyqqqqqqqrqqqqqqqqqqqqqqqrqqqrrrqqrqqqqrqqqqqqqqqqqqqqqqqqqqqqqqqqqqrqqqqqqqqqqqqqqqqqqqqqqqqqrrqrqqqqrqqqqyqqqqqqqqqqqrqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqrqqqqqqqqqqqqqqqqqqqrqqqqrqqqqqqqqqqqqqqrqqqqqqqqqqqqqqqqqqqrqqqqrqqqrqqqqqrqqqqqqqqqqqqqqqqqqqqqrrqqqqrqqrqqqqqqqqqqqqqqqqqqqqqrrqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqrqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqrqqqqqqqqqqqqqqqqqqqqqqyqqqrqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqrqqqqqqqqqqqqqrqqqqqqqrqqrqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqrqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqrqqqqqqqqqqqqqrqqqqqqqqqqqqqqqqqqqqqqqqqqqqqrqqrqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqrqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqrqqqqqqqqqqrqqqqqqqqqqqqqqrqqqqqqqqqqqqqqqqqqqqqqqqqqqqqrqqqqqqqqqqqqqqrqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqrrrqqqrrqrqrqqrqrrrrqqqrqqqqqrrrqqrqqqqqqqqrrqqrrqrqqqqqqrrrqrqqqqqqrqrrqqqqqqrqrqqqrqqqqrrqrrrqqqqrrqqrqqqqqrqqqqqrqqqrqqqqrqqqrrrrrqrqqrrrqqqqqqqrqqqqrqqrqqqqrrqrqqqqrrqrqrqqqqqqrqrqrqrqqrrrqqrqrrqqqqqqqqrrqqqrqrrqqqrqqqqqqqrrqqqqqqqqrqrqqqqrrqqrqqqqrqqqrqqqqrrqqqqqrrqqqrrqqrrqqqqqqqrrqqqqqrqqqqqqqrqrqqqqqqqrrqqqqrqqqrqqqqqrqqrrrqrqqqqrqqqrqqqqqqqqqqrqrrrqrqqqqqqrrqqqrqqqqqqqrrrrqrrqqqrqqrqrqqqqrqqqqqqrrrrqqqqqqqqqqrrqrrqqqqrrqqrrqrqqqqqqqqqqqrrqrqqqrrqqqqqqqrqqqqqrqqrqqrqqqqqqrrqqqrqqqqqqrrqqqqqqqqrrrqqqqrrqqqqqrqrqrrqqqqqryrrrqqrqqrqqqqrrqqrrqqqqqqrrqqrqrqrqqqrrqqrqqqqqqqqqqqrqqrqqrqrqqrqrqqrqqqqqqqrqqrqqrqqqqqqqqqqqqrqqqqrqrqqqqqrqrrqqqrqrqqrrqqqqqqqqrqqqqqqqqqqrqrqrrqqqqrqqqrrqqrqqqqqqqqqqqqrrqrqqqqqqqqqqqrqqqrqqqqqrqrqqqrqqqqrqqrqqqqrqrrqqqqrqqrqqqrqqrqqqqqrqrqqqqqqrqrqqqqqqqqqqqqqrqqqqrqqqqqqqqrqrqrrqrqqrqqqqrqqqqrqqqqqqqqqqqqqqqqqrqqqqqqqqqqqrrqqqqqqqrqqqqqqrqqqqrqqqqqqqqrqqrqrqrqqqqqqqqqqqrqqqqqrqqqqqrqqqrrqrqqqqqqqqqrqqrqqqqqrqqqqqqrqqqqqqrqqqqqqqrqqqqrqqqqrqrqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqrqqqqrqqqqqrqqrqqqqqrqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqrqqqrqqqqrqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqrqqqqqqqqqqqqqqqqqqqqqqqrrqqqqrqqqqqqrqqrqrqqrrqqqqqqrqqqqqqqqqrqqrqqqqqqqqqqqqqqqqrrqqqqqqqqqqqqqqqrqrqqqqqqqqqqqqqqrqqqqqqqqqqqrqqrrqqqqqqqqqrqqrrqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqrrqqqqqrqqqqqqqqqqqqqqqqqqqrqqqqqqqqqrqqqqqqqrqqqrqqqqqqrqqqqrrrrrrrrqrrrqrqrqrrrrrqqqrqrrqqqrrrqrrrrrqrqrrqrrrqrrrqqrqqrrrrrrqqqrrrqrrrqqrrrqqrqrqrrrqrrqqrrrqrqrrrrrrqrqrrqrrrrqrrrqrqqrqqrqqrqrrqqrrrrqqrqrqrrqrrrqqrrqrqrqrrqrqqrqqrrrqrrrrqqqqqqrrrrqqrrrqrrrrrrqrqrrqrqrrqqqqrrrrqrrrrrrrqrrrrrqrrrrrrrrrrqqrqrqqrrrrrqqqrqrqrrqqqqrrrrrqqrrrrrrrqrqqqrqrqrrrrqqrrrrrrrqrqrqrrrrrrrrqqrqqrrrqqqrqrqrqqqqqrrrrrqrqrqrrrrrrqqqqqrqrrrrqqqrrrrrrqrqqqrrrqrrqrrrrqqrrqrrqrrqrrrrqqqrqrrqrrqqrrrrqrqqqrrrqqrrrrrqrqqrqqqrqqrrrrrrqrrrqqqrqrrrrqrrqrrrqqqqrrqrrrrqrrqrrqqqqrrrqrqrqqqqrqqrqrrqrrqqqqrqqrrrrqqrrqrrqrqqrrrrqqqrrqrqqrrrqqqqrqrqqqrqqqqqrrqqqqrqrrqqrqrqqrrrqqrrqrqrqqrrqrrrrqqqqrrqrqqrqqrrqrrqrryqqrrqqrqqrqqrqrqqrrqrqrrqrrqqqqrqrqqrqrrrqqrqqqqqqrqqqqqqrrqrqrqqrqqyqqrrqqqrrqqqrqrqrqrrqqqqqqqqqqrqqqqqqqqrqqrqrqqqqrrqqqrqqqqrqqqqqrrrrqqqrrqrrqqqqqrqrqqqqqrrqqrqqqqqqqqqqqrqqqqrrrrqqrrqqqqqqrqqqqqqqqqrrqqrrrrrqqrrrqqqqqqqrqqqqqqrrqqrqqqqrrrrrqqqrqrqqqqqqqqrrrrqqqqqqrqqrrqqqqrqqrqqrqrqqqrqqrrqrrrqqrqqrqqqqrqqqqqrrrqrqqqrqrrqrrrqqqqrqqqrqqqqqqqqrqrrqrqrqrqrqqqqqqqrqrqqqqrqqqqqqqqrqqrqqrrqqrqqqrqqqqqrrqrrqqqrrrrqqqqqrqqqqqqqqrrqqqrrqqrrrqqqqqqrqrqqqqqqqqqqqqrrqqqqqrqqqrqqrqqqqrqqrrrqqrrrqqrrqqrqqrqqqrrqrqrqqqqrqrqqqqqrqqrqqqqqrqqqrrqqrqqqqqqrqqrrqqqrrqrrqqqqqqrqqqqrqqrqqqqqrqqqqqqqqqqqqqqqqqqqqqqrqqrrqqqrqqrqqrqqqrqqqqqqqqrqqqqqqqqqqqqrrqqqrqqrqqqqqqqrqqqrqqqqqqqrqqrqqrrqqrqqqqrqqqrqqqqqqrqqqqqqqqqrrqqqqqqqqqqqrqqqrrqqqqqqrqqqrqrqqqrqqqqrqrqrqqqrqrrrrrrrrrrrrqqrrrqrrrrrrrrrrrrrrrrrqrrrrrrrrrrrrrqrrrrqrqrqrrrrrqqrrrqrrrrrrqrrrrrrrrrrrrrrqrrrrrqrrrrrqrrrrqrrqrrrrrrrqrrrrqrqrrrrrrrrrrrrrqqqqrrrrrrqrqrrrrrrrqrrrqrrrrrrrrrrqqrqrrqrrqrrrrqrrrrqrrrqrrrrqrrrrrqrrrrrrrrrrrrrrrrqrrqrrrqqrrrrrqrrqrrrrrrrrrrrrrqrrrrrqrqrrrrqqrrrrrrrqrqrrrrqrrrrrrrrqrrqqrrrrrrrrrrqrrrqrrrrryrrrrrqrqrqrqqqrqrrrqqrrrqrrrrrqqrrrqrrrrrrrrqqqqqrrrrrqqrrrrqrrqrqqrrqqrrrqrqqrrrrrrrrrrqqqrqrqrqrrqrrrqyrqrrrrqrrqrrrrqrrqrrrrrrrrrqrrqrqrqrrqrrrqqrqrqrrrqqrrrrrqrqrqrqqrrrrrrrrrrrqrrrrqrqqqqrrrrrrqqqrrrrrrqqrqrrrrrqrrrrrqqqrrrrrrrrrrqrqqqrrrqrrrrrrqqrqqrrrrrrrrrqrrqqrrrrrqrqqrrrrrqrqrqrrqqrrrrrrqrqqqqrrrqrrqrqrqrqqqqqrqrrrrrrrqrqrrqrrqqqrqrrqrqrrrrrrrrrqqrqrrrrqqrqqrqrrqqqrqrrqrqrqrrrrrrrrqrrrrrrrrqrrqrrqqrrrqqqqrrqqrrqrqqqrrrqrqrqqrrrrrrrrrqrrqqqqqrqqqrrrqrrrqqqqrqqrqrqqrqrrqrqqrqrqrrrrrqqrrrrrrrrqrrqrrqqrrqrqrrrrrrrrqrrrqrqqrrqqrqrrrqqrrrrrrrrrqrrrrqrrrrrrrrrrqqrrrrrqqrrqqrrrqqqrrqqrrqrrqqqrqrqrqqrrrrrrrrrqrrrqrqqrqrrqrrrrqrrqqqqrrrqrqrqrrqqqrqqqqqqqqrqrqqrrqqrqqrqrrrrqrrrqrqqrqqrqrrqrqqrrqrrrrqrrrrqqrqrrqqrrqrrqqrqqqrqrqrrqrrrrrqrqqrryqqqqqqrqqqrqqqqqrqrrrrqrrrrrqrqrqqqrrqrqrrrrrqrqrqrrrrrrrrqrqqrqrqqqqrrrqrrrqqqqqqrqrqrqqrrqqrqrqrrrqrrqrrqqqqrqqqqrqqqrrrqrrrqrrrrrqrrrqqrqrqrqqqrqqqrqrqqrrrrrqqqqrrrrrqrqrqqrrrqqqrrqqqrqqrqrrrqqqrrrrrqrrrrrqqqqqqrqrqrqqqrqqqqrqrqrrrqrqqrqrqqrrqqqrqrrqrrrrqqqrqqrqqqqrqrrrqqrrqrqqqqqqrqqqqqrqrrqrrqrqrqrqqqrqqqqrrrrrrqrrrrqrrqrrrrrrrrrrrqrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrqrqrrrrrqrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrqrrrrrrrrrrrrrrrrqrrrrrrrrrrqqrrrrrqrrrrrrrrrrrrqrrrqqrrrqqrrrrrrrrrrrqrrrrrrrrrrqqrrqrrrrrrrrrqrqrrrqrrrrrrrrrrrrrrrrrrqrrrrrrqrqqrrrrrqrrrrrrrrqrrrrrrrrrrrqrrrrrrrrqrrqrqrrrrrrrrrrrryrrrrrrrrrrqrqrrqrrrrrrrrrrrrrrqrrrrrrrrrrrrrrrrrrrrrrrrrqrrrrrrrrrrrrrrrrrrrrqrrrqrrrqqrrrrrqrrrrrrqrrqyrqqrqrrrqrqrrqrrrrrrrrrrrrrrrrqrrrrrqrrqrrrrqrrrrrrqrrqqrrrrrrrrrrrrrrrrqrrrrrrrqrrqrrrrrrrrrrqrrrrrrqrrrrrrrrrrrrqrrrqrrrrrqrqqrrrrrrrqrrrrrrqrrrrrrrqrrrqrrrrqrrqrrrrqrrrrrrrrrrrrrqrrrqrrrqrrrrrrrqrrrrqrrqrrrrrqrqqrrrrrrrrrqqrrrrrrrrrqrrqrrrrrrrqrrrrrrrrrrrrrqrrrrqrrrrrqrrqrrrqrrrrrrrrrrqrrqrrqrrqrqrrrqrrqrrqrrrrqrrqrrqqrrqrrqrrrrrqrrrqrrrrrrqrqrqrrrqrrrrrqrrrrrqrrrrqrrrqqqrrrrrrrrqqrrrrrrrrrrrrrrrrrrrqrrqrrrrrrqqrrqqqrqrrrrrrqrqrrrrrqqqrrrrrqqrrrrqrrrrrrrrrrqrrrrqrrrrrrrrrqrrrrrrqrrqqrrrrrrrrrqqqrqrrqrrrrqrrrqqqrrqrqrrrrrrrrrrrrqrqrqrqrrrrrrrrqrrrrrrqrrrrrrrrrqqrqrrrqrrqrrqrrrrrqrrrrrrrrrqrrqrrrrrrrrrrqrrrrrqrrrrrqrrrrrqrrrrqqrqrrqrrqqqrrrrrqrrrrrrrrrqrqqrrrrrqrrqrqrrqrqrrrrrrrrrrrqrrrqrrqrrqrqrqqqrqrrqrrqrrrrrrrrrqrrrqqrrrrrqrqrqqrrrrqqrrqrrqqrrrrrqqrrrrrrrrqqqrrqrrqrqrqrrqqrrqrrqrrrrrqrqrrrrrrqrqqrrrrrqqrqrrrrrqrqrrrrrrrrrqrqrqrrqrrrqrrrrrrqrrrrrrrqrqrqrrqrrrrrrrrrrrrrrrqrqqrqrrrrqqrqqrrrqqrrrrrrrqqrrrrrrqrrrrqqqrqqqrrrrqrrrrrrrqrqrqrqrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrqrrrrrrrrrrrrrrrrrrrrrrrrqrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrqrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrzrrrqqrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrqrrrrrryrrrrrrrrrrqrrrrrrrrrrrrrrrrrrrrrrrrqrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrqrrrrrrrrrrrrrrrrrrrrrrqrrrrrrrrrrqqrrrrrrrrqrrrrrrrrzrrrrrrrrrrrqqrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrqrrrrrrrrrrrrryrrrrrrrrrrrrrrrrrrrrrrrrrrrqrrrrrrrrrrrrrrrrqrrrrrqrrrqrrrrrrrrrrrrrrrrrrrrrqrrrrrrrrzrrrrrrrrrrrrrrrrqrrrrrrrrrrrrrqrrrrrrrrrrrrrrrrrrqrrrrrrqrrrrrrrqrrrrrrrrrrrrrrrrrrrrrrrqrrrrrrrrrrrrrrqrrrrrrrrrrrrrrrqrrrrrrrrrrrrrrrqrrrqrrrrrrrrrrrrrrrrrrrrqrrrrqqrrrrrrrrrrrrrrrrrrrrrqrrrrrrrrrqqrrrrrrrrrrrrrrrqrrrrrqrrrrrrrrrrrrrrrrrrrrqrrrrrrrrrrrrrrrqrrrqrrrrrrqrrrrrrrrrrrrrrrrrrqrrzrrrrrrrrrrrrrrrqrrrqrrqqrrrrrrqrrrqrrrrrrrrrrrrqqrrrrrrqqrrrrrrqrrqrqrrrqrqrrrrrrrrrrrrrrqrrrrrrrqrrqrrrrqrrrrrrrrrrrrqrrrrrrrrrrrrrrrrqrrrrrqrrrrrqrrrrqqrqrrrrqqrrrrrrqrrrrrrrrrrrrrrrqrrrrrrrrrrrrrrrqrrrrrqrqrrrrrrrrrrrrrrrrrrrrrqrrqrrrrqrrrrrrrqrrrrrrrrrrrqrrrrrrrrrrrrrrrrrqrrrrrrqrqrqrrrrrrqrrrrrrrrrrrqrrrsrrrrrrrrrsrrrrssrrrrsrrrrrrrrrrrrrsrrsrrrrrrrsrrrrrrrrrrrrrrsrsrrrrrrsrrrrsrrrrrsrrrrrrrrsrrrrrrrsrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrsrrrrrrrrrrrrrrrrrrrrrsrrrrrrrrrrrrrrrrrrrrrrsrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrqrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrryrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrqrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrr뉉rrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrqrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrqrrrrqrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrqrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrqrrrrrrrrrrrrrrrrqrrrrqrrrrrrrrrrrrrrrqrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrqqrrrqrrrrrrrrrrrrrzrrrqrrrrrrrrrrrrrrrrrrqrrrrrrrrrrrrrrrrqrrrrrrrqrrrrrrrrrrrrrqrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrqrrrrrrrrrrqrrrrrrrrrrrrrrrrrrrrrrqrrrrrrrrrrrrrrrqrrrrrrrrrrrrrrrrrrrrrrrrrrqrrrrrrrrrrrrrrrrrrrrrrrrrqrrrrrrrrrrrrqrrrrrrrrssrsssrsrrsrrsssrssrssrrrrrssrrsrssrrrrssssrsssrsrsrssrrssrrssssrrsrrrsrsrssrsssrrrrsrsssrsrrrrsrssrsrsrrsssssssrrrrrrrrrsssrsrsrrrssrsssrrsrrsssrrrrssrssrrrssrsrrssrsrsssrsrrrrssrrsssrrrrrrsrrrssssrssrrsrrsrssrsrsrrrrssssrsrsrrrssrsrrrrrrsssssssrrsssrrsrrrrrsrrrssrrssrsssrrsrsrsrrssssrrsrsrrrrrrsrrsrsrssrrrsrrsrrssrsrsrssrrsssrrssrrrrsrrsrrrrrrrssrrsrrrrrssrrrsrrrrrrrrsrrrssrsrrrsrrrrssrrsrrsrrrrrrssssrrrssrsrrsrsrrsrsrrrssrrssrrsrrrsrssrrsrrrsrrrrsrrrrssrsrrrsrssssrrrrrrrrrrrrrrrsrrsrrrrrrssrrsssrrrsrrrrrrrrsrrrrrrrrsrrzssrsrrsrrrrsrsrrrrrsrsrrrrrrrrrrsrrsrrrrrssrrrsrrrrsrrrsrrrrsrsrrsrsrrrrsrrrrsrrrsrryrrrrrrssrrrrrrsrrrrrsrrrrrsrsrrrrrrsrsrrrrrrrrrrrrrrrsrrrrrrrrrsrrrrrsrrrrrrrrsrrrrrrsrrrrrrrrrrrrrrrrsrrrrrrrrrsrrsrrrrrrrrrrrrrrrrrrrrsrrrrrrrrsrrrrrrrrrr둠rrrrrrrrrrrrsrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrsrrrrrsrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrsrrrrrrrrrrrrrrrrrrsrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrzrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrqrrrrrrrrrrrrrrqrrrrrrrrrrrrrrrrrrrrrrssssssssrrrsssrssrrsssssrssssrssrsssrrssrrsssssrsssssrsssrrssrssssssrssssrsssssssrsrssrsssssrssssssssrsssrssssrssssssrsrrsrrrrsrsrsrsssssrssrsssssrssrsssrssrssrsssssrsssssssssssrsrrssrssssssssssssrsrsssssrsssrssrssrrssssssssrrssssssrssrssssrrsssrrsrssrsssrsssrsssrrrsrrssssrsssssrsssrssssssrrrrsssrrrsssrrrrsrssssssrssrsssszsssrsssssssssssrssrsssrssrrsrssssssrrrrrsrsrsssssrsssrsrsssrrrsrsssrsssrrssrsrssrrsrsssrssrsssssssrszsssssrsrsrsrsssrsssrrsrsssrrsrrsrrsrrsssrsrssrrrssrssssssrrssrrrsssrssssrrrssrsrsrrrrssssssssssrsrsssrrrzssrssssssrrrrsrssssssssssrsrssrssssrssrsrrrsssssssrrsrsrrrsrsssssrrssrrrrsrrssssrrrssssssssssrssrsrsrsssrsrrsssrsrsrrrrssrrsrrsrsrsrrrsrsssrrrsrsrrrrrsssyrssrrrsrssrssrsrrsrssrsrsrssrrrsssrrrsssssssrssssrsrrrrsssssssrrrrssssrssssrrssrrrrs믾rssrsrssssssrrrrrssrsrssrrrrsrsrrrrrsrsssrssssrrsrrrrsrssssrsrrssssrrsrrrrssrsssrrrsrssrrrrrrrsssrsssssrssrrrsrrrrsrrsrrssrrssssrrrsrrsrrsrssrrsrsrrrrssrrrrrsrsrssrrsssssrssrsssrrsrrrsrrsrrrsrsrrsrrsrrsssrssrsrrrrsrsrsssssrrsrrrsrrrsrrrssrssrrrsrrsrsrrrrrssrssrssrrsrsrrrrrrsrsrrssrssrrrsrrrsrrՉrrsrsrrrrrsssrsrrrrrrrrssrrrsrrrsrrrrrrrssrsrrrrrrsrrrrrrsrssssrrrrrrrrrrsrrsrrrrsrrrrsrrrsrsrrssrssrrsrsssrrrrrrssssrrrsrsrrrrrsrrsrrrsrrrsrsrrrrsrrsrsrrrrsrrrsrrsrrrsrrrsrsrrrrrrrsrrrrrrrsrrrrrrsrrrrsrrrrrrrrrrrrrsrsrrrrrrrrsrrsrrrrsrrrrrrrsrrrrrsrrrrrrsrrrsrrrrrrrsrrrrrrrrrrrsssrrrrssrrsrrrrrsrrsrrsssssssssssssrssssssssrsssrsssssssssssssssssssssssssssssssssssssssssssssssssssssssrssrssssssssssssssrsssssssrsssssssssssssssssssrsssssssssssssrsssrsssssssssssssssssssssssssrsssssssssrsssrsssssssssssssssrsssssssssssssssssrsssssssssssrssssssssssssrssssssssssssrssssssssrssssssrsssssssssrsssssssssssssssssssssrrsssssssssssssssszssssrssssssrssssssrsssssssssssssssssssssssssssrssssssrsssssssssssssssssssssssssssssssssssrrsssssssszrsssrsrsrsssrssssssssrsssssssssrsssssssrsssssssrsssssssssssssrssssssrsssssssssssssrrsssssrsssrsssssssssssrssssssssrsssrsssrsssssssrsssrssssssssrssssssssrsssssssrrssrssssssssssrssssszsssssssssrssrsssrssssssssrsssssrsssssrssssssssssrsssrsssssrssssssrssssssssrssrssssrssrrsrrsrrssssssssssssssrsssrsrsssssssrssssssssrsssssssrrsssrssssssrsrssssssssssssrrssssrsrssrsssrsrrsrssrrsrsssrrssrssrrsrssrsssrsrrsssssssssrssssssrrsrsssssrrsssssssssssssrssrssssssssssssrrssrsssssrsssssrssrsssrssssssssrsssssssssssrsrssssrrrsrsrrrssssssssrssssssrsrrrsssssssrrrssssrssrsrrsrsrssssrssrrsssrrsrsrsssssssssssrsrsssssssssrrsssrsrssrssrssrrrrsssrssssssrsrsszssrrsrrssssssrsrsssrssrrssrrssrsssrrrsssrssrsssssrrrssrrsrssrrsssssssrszrsssrssssssssrssrsssrrssrssrssrssssssrrssrssrsssrsrssssrsrrsrsssssssrrrrrsssssssssrrssssssrrrrrrrssssrsrssrrsrssrrsssssrrssssrsssrssrrssssrsssrsssssrrssrsrsssrrsssrrrrrrrssssrrrssssrrrssrrsrssssssrrrrssrrrsrsrrsssssrssssssrrsssrsssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssszssssssssssssssssssssssssssssssssssssssssssssssssssssssssssszssssssssssssssssssssssssssssssssssssssszssssrsssssssssssssssssssssssssssssssssssssssssssssssssssssszsssssssssssrsssssssrssssssrssssssssssrsssss͑ssrsssssssssssssssssssssrsssssssssssssssssrsssssssssrsssrssssssssssssssssszssssssssssssssrsssssssssssssssssssrssssssssssssssssssssssssssssssssssssssssssssssssssssssrsrsssrssssssrsssssssssssssrsssssssssssssssssssssssssssssssssssssssssrssrssssssssssssssssssssssssssssssssssrssssssrrssssssssrssssssrssssssrssssssssssssssssssssssssssssssssssssssssssssrsrsssssssrssssssssssssssssssssssssssssssssssrsssssssssssssssssssssssssssssrrrsssrsssssrrssssssssssssrsrrrssssssssssssssssssssssssssssssrsrssssssssssssrsssssssrsssrssssssssssssrsssssssrsssssssssssssssssssssssssssssssssssssrssssrsssssssssssssssssssssssssrsssrrrsssssssssssrssssrssssssssssssssssssssssssssssssrsssrssssssssrsssssssssssssssrsssssssrsssrssssssssssssrrsrssssssssssssrsrsssssrssrrssssrrsssssssssrssrssssrssssssrssrsssssssssssssssrssssssrssssssssssssrssssrsssssrssssrsssssstssssstsststssssstsstsstsssssstsstsstsstssssssstssssssstssstssssststtssssssstssssssstsssssssssssssssssstsssssssssstsssssstsssssssssssttssssssssssssssssssssssssssssssssssssssssssssssstsssssssssssstsstssssstsssstssssssssssssstsssssstssssssssstssstssssssssssssssstssssssssssssssssssstsssssstssstssssssssssssssstssstssssssssstttzstsssstssssssssssstssssssstsstsssssssssssstsssssssstssssszstssstssssssssssssssssstsssssssssssssssszsssssssssssssssssssssssssssssssssstsssssssssssssssstssssszsssssssssssssssssssssssssssssssssssstsssssst뾂ssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssstssssssssssssssstsssssssssssssssssssssssssssstssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssszsssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssrsssssssssssssssssssssssssՑsssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssszssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssrsssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssrssssssssssssssssssssssssssssssssssssrsssssssssssssssssssssssssssssssssssssssssrssssssssssssssssststssttttststtsttsssssssststttstststsstsstttsstsssstsstttsttssstsststsststsssssssttttssstsstssttststtstssttsstttssssttssssssssstssststsstssststttsttsssssssstttsstssssssttstsstttsssstsssssssttssssststtstssstssssststtsssssttsssstsstttttsttstttsssttststsstssttststsstsststtssssssssststsstsstststssstttssststttttsssszsstsstsstttstsssttsstttsttsstttsstttsttsttsstsssssstsss{tsttsssssstsssssssssstsstsssssssstsssstss{sttsssstssssssstssttsstttsstsssstststtststtttssstsssstsztststssssssststsssttsttttstsssssstsstssttsssts뾊stsstsssstssststssssssssstsssttststtsssssssstsstssttssststsssssstsstsstsssttttsssssssssssssssstttststsssssssssstsssssssssssttsstsssssssststttstzssssststsssssstsssssstststtsssssssssststssssssttssssssssssssttsstssstsssssssstsstssssttsststssstttsssssssssstststssttssssssssssttssstssstssssssssstsssstsssstssssssttstssstssssssststssssssssssssssstssstssstssssstsssssssssssssssssssssstssssssssstsssssssssstssstssssssststssssssssstttssststsstssstsssstssssssststtssssssttssststsstststtsstssssstssssssstssssssssssssssstsssssstsssssttssssz͑sssssssssstssstssssssssssssssssssssssstssssssssssssssssststtzsssssssstsssstsssssssssssstsssssssssssssssssssssssssssssssssssssstsststtsssssssssssstssssssssssssssssssssssssssssssstsstssssssstsstsstssssstssssssssssssssssssssssssssssstssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssstsstststttssssttstttsttsstsststtttstsstttstttstttststtsstttttsttstttstttstttttsttsstssttsssttttstttttstttststtsttsttstssststssttsstttstssttsstssttstttststttsssttststststtsttsststttttsstsstttstttssttstttttstttttttsttttttttttttssststttsststtststtssttssststttssstttttttstttttstsstsststttsttttstssttsttstststttststtttsttssstttsttttsstsssttstttttstssstsssssttsstttssststttsstsssssststssstttststssstttttsttststsstttststsssttststtstssttsstssststsststsstssttstsssstttttstssststttsstsstsstttsssssstssttststtsttsstsststttsstttssts͙ststsststsstsstttsssssstssttststtsttsstsststttsstttsststssstssttsttttssstststtststtssstststssssttsstssttssttstsssstttsststsstsstttstsssssssssssstttstssstssssssssssstssssttttstttstsssttssttstttsssststssststsststsststttstttsssststsstsstststtsssssttsstsstsstssssttsttttsssstsssssststsstssstsssssssttssssttssttsststttssststsssststtsssssstststsssttststttssssttsssstssststtsssstsssssttttsttststsssssttsststssstsssststttssttstssssssttssttstssssssttssssssststtsttssssststssstssssttstttssssttstssstsststssttstststtssstssstsssssttssttss͠ssststststssstttssststsssssststtttstsstssttsstsststtssst{{ssstsssstssssstsstssststssssssstttsssstssssstssttsssssssssststsssttsssstssssstttsstsssstssssstsssssttsttttssttsssttsstsssssstsssstttsssssssssssttstststttsststsstsssssssssssssssstsssssssssttstsstssssssssstsstsssssttssstsssssssttssssttttttttttttttttttsttttttttttsttttttttttttttttttttttttttttttttttttttttttststtttttttttttttssttttttsttttttttttttttttsstttsttttttttttsttttttstttssttttttttttsttttttttststttttttsttttsttttstttttttsttttttsttttttttttststttttttttttttttstttttttttttttttttttttsstttttttststttttttttttttttttstttttttttttsttttttttttststtstttttttttttttstststtttssstststttssttttttstttttttttsttttttststttttttttstttstttttttttttsttttststttttsttttsstttsssstttssttttststtttttsttttsttttttttststttttttstttttttttttttttstststttttsssttttststtsttttttttttstststssttttܰttttttttstststttttsssttttststtsttttttttttstststsstttttttsttttsstttttssssttstssttsstttttstttsststtstttststttssttttssstttttsttttstttstttttstssttttttstttsststttttsttsttttttttttttttttttsttttttttttsttttttttstttstttttstttsststtttttststttttttsttttsststtststtttttttsttttsttsttttstststsssstttttstsstttssttttstttsssttttssssttstttttstttttstsstttstttsstsstttstttsssttsstttstststtststtsttttsstststtttttttsttttsstttsstsssstttstttttststtsttsssttsstssttttttssstttsttttststsssststststtsstttstststssssttsttttttsttstsstsststststtsttttttttttttܨ{sssstttttsssttstsssttssttttttstssstttstttstsssttststtttssssttstsssstssttstsssststststttttssststtstsstttsssstssssttsststssttsstsstsssssttststtsttttsssstststttsssstttttsttsssssssttsststsssstssstttststsssttttsssstsstttttstststststtsstsssttststttsstsststttstssstsssstststtssttttssstssssttttttttttuttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttuttttttttttttttttttttutttttttutttttttttttttttttttttttutttttttttttttttttttttttttttttttttttttttttttttttttttttttttttutttttttttttttttttttttututttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttՊttttttttttttttttttttttttttttttttttttttttuttttttt{ttttttttuttttttttttttttttttttttttuttttttttttՊttttttttttttttttttttttttttttttttttstttttttttttts{ttstttttttttttttttttttttststtttttttttttttttttttttơ{ttttstttttttttttttttttttttststttttttttttttttttttttttttttttttttttttttttttttttstttttttsttsttttttststtttttttttttttttttststttttsttttttststtttttttttttttttttttttstttsttttttttttttttstttsttttttttstttttttttttttttttttttttttsttttttttttttttssttttstttttttsttsttttttttsstttttttttttsttttttttttttttsttttstttttsttttttttttttttttttsstssttttttsttttttttttttsttttsttttttsttttttttssttttttttttttttttssttttttttttttttttttttttsttttttttttttsttttttttttsttttsssttttttttttttttttttttsttttttttttttsttttttsststssttttttstttttsttstsstttttttttttsttstttttstt뿙stttttstststttttsttttstttttstttttttttttttttststttttsttttttsttstttttttttssttttsststtttstttttttttttttttttsttttttsttstssstsststtssttssstttttsttttttttttstststtstsssstttttttsttststtttttttsttsstttttstttststttttttsssttstttttsttttsttttttssttsttstssststtsttsttsttttsttttsttssststtststttttsttuttttttttuttttttttutttuttutttuutttttuutttutttttuttttttututtttttttttttuttuutuutttttttututttttttttuuttutttttttttttttttttuttttttutttttttttuutttttttutttuttttutttuuttuttttuuttttttuttutttttttututtttuttttttuttutttttttttttttttttttttuttttuutuuuttttttttuttttttttttutttttttttutttttttuutttttttttttttttttuttttutttttttttuttttttttttttttttttt|ttutttttttttttuuuttttttttttttttutututtttutttuttutttttuttttttttttutttuttttuttttttutututtttt{ttttttttttttttttttttttttuutttuttttutttttttuutttutttuttuttttttttttttuttttttttttttttttttttttttuttƨttttttttuttttttttttttututtttttttttttttttttttt{tttttttttttttttttttttttttttttttttttuttutttttttttttuttttuttttuttttttttttttttttttttttttttttttttttttttttttttttutttttttttttttttttttttttttttttttuttttttttttttutttttttttttuttttutttttttttttttttttttttttttttttttttttttttttttttttttuttttttttttttttttttttttttttttttttttttttttttttuttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttutttttttttttttt俙ttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttstttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttstttttttttttttttttttttttttttttttttttttsttttttssttttttttttttttttttttttttttttttttttttttttttttttttttttttstttttstttutttutuuuttttuutuutttuutuuttuuuuttuttutuuttuuttttttuttttuuutttuttuuuuutuuututututtuututtutttuututtuttttuuuututtttutututuuututtutttutuututuuuututuuttttuttututttttuututttuttuttuutttuuttttttttttutuututuuuututttutututuutttuutuuttttttuttuttuututtttutuututututuutttututttttutttttttuttttuuttutututttutttttuttuuuuutututtuuttututtuuttuttuܡttttttttuuttutututtttttuuutututttuuuttttt|uuuttuutuutttttututtttttttuttuttttttttttututttttܡtututtutttuuuututtttttttuuuuuuttuttututtt|ttttttttuutttutuuttttuttuututtttttutttttuttututtuttu|ܿtuututttuutttttttttttuttttttttttttttt{tutttttuuttttttttttttttttttttttuutttttututtttttttuuttuttutttttttttttttttuttuuuttu{tttutuututttttuttttttttuttuutttttttttttttttttutttutttuttuttutttuttutttttttuttutttutttttttututtttttttttttttttttutttutttutttuttttuuuutttutttttttttututtutttttttuttttuuttuutttttttuuuuttttttttttttttttuttttttttttuttttttttttuuttuttttttuttttututtttttututtuttutttututttttttttttttutttttttttutttttttttututtutttttttttttttttttttttttttttttuttttttttttuttttttttttttttuttttttttttttutttuttttuttuttuuttttttttuttuƨttutttttttttttttutttttttttutttttttttttttttttttutttttuuttttttttttttttutttutttuuuuttututututtttttttttttttttttttttttttttttttttutttuutttttttttttttttttttttututtttttttttttttttuttttttttttttttuttttttttttttttuutttttttttttttttutttttttttttttttutttututttttttttttttuttttttttuttttututuuttuuuuuutuuuuutuuuutuuuuuuuutuuutttuuuuutuuttuuutuuuuuuuuuuuuuuttuutuuuuuuuuuuuutuuuutuututuuuuuutuuuuuuuuuuuuttuuutuuuuuuuuuuutuuuuuuuuuutuuuuutuuuutuuuuuttuuutttuuttututttuuutuuuuuuuuttuuutuuuuuuuuutuuuuuuuutttuuuuuutttuuuuuttttuuuuuuutttuuutuuuuuuutuuuuutttuuuuuuuutuuuutuuuutututuuuttutuuuuuuuuutututttuuutuutuuttuttutuut|ܡutuututuuuuuuuutuuttuuuuutuuututuuuuuu|uttuuttuutttuuuuuttuuutuuuuttuutututtuututuuuuut|ܡtutuuuuuuuuuututuuttuttuuuuututtuutuut|uuuttuuuuttututuututuuuuttttttutuutttuttuttutuutuuttuΰtttuututuuuuttttttttuttttut|tuttutututtutuuuuttuuuuuuuuutttttuuutuutuuttuuuttutuuututttuuututtuuututttuuttuttuuuuttututtuuuutututttuuuuuututtututuuutuuttuututuututtuutttutuuttuuttttutuuuutttutuuuuttutttutttutttttuuututuuttttttutttututuutttuuuuuttutuuuttuuututuuttuuuttutuututttututttttuttutututttuttttuttttuttutuuuuutttttuuttuututuuttuttuttuttututututtuuuuttttttttuuutttttuuuutttttutuuuttttttutttttttttttttututtttutttttttuuttttttuuuutuuuttuttutttttttututtuttttutuuttttttuuututttttuuuuttutuuttuuuttuutttutưututtuutttuututtuutttut{tttuututttttutuutttututtututttttuutuuttututttttutuuttttututtttutttutuuttutttuttttttttttttuttttttuuttttttututtuuttttttuuttttttttuttttutttttttutttttttututttttttttututtuttuutttttttttttttutttttuttututttutttttututtttttutttttuttttuuutuuutttutuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuutuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuutuuuuuuuuuuuuuuuuuuuuuuuutuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuutuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuܰ{uuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuu|uuuuuutuuuuuuuuuuuuuuuttuuutuuuuuuuuutuuuuuuuuuuuuܰ|uuuuuuuuuuuuututuuuuuuuuuutuuuuu|uuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuttuuuuuuuuuuuuuuuuuuΰ|uuuuuuuuuuuuuuuuuutuuuuuuuuuuuttutuutuuuuuuuuutuuuuuuuututuuuuuuuutuuuuuttuuuuuuuuuututuutuuuuuuuuuuuututuuutuuuuuuuuututtuuuuutuuuuuuuuuuuuuutuuutuutuuuuuuuuuuuutuuuuutuuuuuttuuuututututututuutuuuuuuututuuuuuuuuuuuutuuuutuuuuuuuuuuuuuuuuuuutuuuutuuuutuuuuuuuuuuuttuuutuuuutuuuututuuutuuuuutuuuuutuutttututuutuuuuuuuuuuuuututuuuuuuuttuuuuutuuuuutuuuuuuutuuttuuuutuuuuuuuuuuuuuutuuuuuuuuuuuuuuutuuuutuuuuuuuuuuuuuututtuuuutuutttuutututuuuuutttuuutuuuuuuuututttttuuuutuuuuuututuuuuͰuuuutututtttuuuuututtuutuuututtttuuututuuututtuttutttuuuttttututtuututtuutttutuutuuuuutuutttutuutuutuutuuuutututuuutttutuututtttuutuuutuututttuutuuuuuuuutuuututuuuuuttttuuuttutuutuututuuutututtutttuuuuuttuttuttututttututututuutuuuttutttuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuơ|uuuuuuuuuuuuuuuuuuuuuuuuuu|uuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuơ}uuuuuuuuuuuuuuuuuuuuuuuuuu|uuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuutuuuuuuuuuuuuuuuuuuuuuuuttuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuutuutuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuutuuuuuuuuuuuuuuuuuuuuuuuuuut|uuuuuuuuuuuuuuutuuuuuuuuuuuuuuutuuuuuuuuuuuuuuutuuuuuuuuutuutuuuuuuuuuutuuuuuuuuuuuuuuuuuuuuuuuuuuuutuuutuuuuutuuuuuuuuuuuuuuuuutuuuutuuuuuuuuutuuuuuuuuuutuuutuuutttuuutuuutuuuuuuuuuuutuuuuuuuuututuuuuuuuutuuututuuutuuuuuuuutuuutuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuΰ|uuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuΰ|uuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuvuuuuuuuuuuuuuvuuvuuuvuvuvuuuuuuuuuuuuuuuuvuuvuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuvvuuuuuuuuuuuuuuuuvuuuuuuuuuuuuuuvuuuuuuuuuuuuuuuuuuuuuvuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuvuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuvuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuΰuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuΰuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuvuuuuvuuuuuuvuuvuuuuuuuuuuuvvuuuvvuuuuuuvuvuuvvuvvvuuuuuuuuuuuuuvuvuvuvuvuvvuvuvuvuuvuuuvuuuuuuvuuvuuuuvuuvuuuuvvuuuuvuvuvuuuvuvuuvuuuuvvuuuuuuuuvvvuuuuuuuuuuvuvuvuuuuuuvuvuvuuuvuuuvvuuvvvuvuuuuvuvvuuvuuvuuuuuvuuuuvuuuvuuuuuuuvuuuuuuuuuuvuvuuuuuuuuuuuvuuvuuuuvuuuuuuuvuuuuuuuuvuuuuuuuuuuvuuuuvuuvvvuuuvuuuuuuuvuuvuuuuuuuvuvuuvvuuuuuv}}uuvuuuuuuvuuuuuuuvuuuuuvuuuuuuuuuuuuuuuuvvuuvuuvuuuuuuuu|}uuuuuuuuuuuuvuuuuuuuuuvuuuuuuvuuuuuuvuuvuvuuuuuuuvuvuvuvuuuuuuvuuuvuuuuuuuuuuuuuuuvuuuvuuuuuuuuuvuuuuuuuuuuuuuuuuuuuuuuuvuuuuuuuuuuuuuuvuuuuuuuuuuvuuuvuuuuuuuuuuuuuuuuuuuuuuvuuuuuuuuuvuuuuuuuuuuvuuuvuuuuuuuvuvuuuvuuvuuuuuuuuuuuuuuuvuuuvuuuuuuu}uuuuuuuuuuuvuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuvuuuuuuuuuuuuuuuvuuuuuuuuuuuuuuvuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuvuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuvuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuvuuuuuuuvuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuvvvuuvvvvuvvuvuuvuuvvvvuvuvvvvvuvvvuuuvvuvuvuvuvuuuvvuuvuvuvvuuvuvuvvvvuvvvuvuvuuvvvvvvvuvuuvvuvuvvuuvuuvuvuuvuuvvvvuvvuvvvvuvuuvvuvuvvuvvuvuuvuvuuvvvvvvvvvuvuvvvuuuvuuvvuvuvuvvvuvvvvuvuuuvvvvvuuvuvvvvvuuuvvuuvuuuvuvvvvvvvvvuvvuvuuvvvuvvuuuvvvuvuvvvuvvuuuvuvuuvuuuvuvvvvuuuvvvvvuuuuvvuuvuuuvvuvuuvvuvuuvvuvuuvvvvvuuvvvvvuvuuuuuuuvuvv}vvvvuuuvuvvuuuuuuuuvuvuuvuvvvuvvvvvuvvvuuuvvvuvuvuuvuvuuuv}vuvuvvuvvvvuvuuvuuuvuvvvuvvvvuvuvvuuuuvvuvvvvuvvvuvuuuuvvvuuvvvvuvuuuuvuuvvvvuuuuuuuuuuuvuvuuvuuuuuuuuuuuvvuuuuvvuuvvuuuuuuvuvvuuvuuuuuvuvvuuuuvvuvvvvuvvuvvuuuuvuuuvuvvuuuuvuuvuuvvvvuvvuvuvvuuuuvvuuvuvuuuvuvuuvuvuvvvuuvuvuvuuuuuuuuuvuuuuuuuuuuvuuvvuuuvuuuuvuuvuuuvuuuvuuuvuvuvuuuvuuvuuuuuuuvuuvuuuuvuuuvvuuvuuuuuvuuuvuuvuuuuvvvuuvuuuuuvuuuuvuuvuuuuvuuuvvuuuuvuuuvvuuvuuvuuvuuuuuvuvuuvuuuuuuuuuuuuvvuuvuvuuvuvuuvvvuuuuuuuvuuvuvuuvuuuvvuuvuuuuuuuuuuuuuuuvuuuuuvuuuuuuuuuuuuuuuuuuuuuuuvuuuuuuuuuuuuuvuuvuvuuvuuuuvuuuuuuuuuvuvuuuuuuuuuuuuvuuuvuuvvuvuuvuuuuuuuuvuvuuvuuuuuuuuuuuuuuuuuvvvuuvuvuuuuuuvuvvuvuuuuvuuvuuuuuuuvuuuuuuuuuuuuvuuvuvvuuuuuuuuuuuuuuuuuuuuuuuuuuuuvuuvuuvuuuuuuuuuvuuuuuuuuuuuvvuuuuuuuuuuuuuuuuuuuuvuuuuvuuuuuvuuvvuuuuvuuuuuvuuvvuuuuuuuuuuuvuuuvuuuuuuuuuuuuuuuuvuuvuuuuuuuvuuuuuuuuuuuuuuvvvuvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvuvvvvvvvvvvvvvvvvvvvuvvvuvvvvvvvvvvvvvvvvvvuvvvvvvuvvvvvvvvvvvvvvvuvvvvvvuvvvvvvuvvuvvvvvuvvuvvuvvvvuvvvvvvvuvvvvvvvvuvvvvvvvvvuuvuvvvvuvvuuvuvvvvvvvvvvvvvvvvvvvvvuvvvuvvvuvvvvvvvvvvvuvvvvuvvvvuuuvvvvuvvvvvvvvvuuvvvvuvvvvvuvvvvvvvvuvvvvvvvuvvvuvuvvvuvvvvvvvvuvuvvvvvuvvvvvvvvvvvvvuuvvvvvvuvvuvvvvvvv}vvvvvvvvuvuvvvvvvuvvvuvuvvvvuvvvvvvvvvvvuvvvuvuvuvvvvuvvvuvu}vvvvvvuvuvvvvvuuvuuvuvvvuuvvvvvvuvvvuvuvvvvvuuvuvvvvvvvvvvuvvvvvvvuvvvvvvvvuvuvvuvvuvvvvuvuvuvvuuvvvvvvuvvuvvvuuvvvvuvvvvuvuvvvvvvuvvuvvvuuvvuuuvvvvuvvvvvvvvvvuvuvvvvvvvvvuvuvvuvuvvuvvvvuuvuvuvvvvvvvvuvvvvvuvvvuuvuuuvvvvvvvuuvvuvuvuvvvvvvuuvuvvuuuvvvuvuvvvvvvvuvuvvuvuuvvvvuuvuuvvuuuvvvvvuvvuuvuvuvvvuvuvvvvvvvuvvvvuuvvvvuvvvuvvvvvvuvvuvuvuuvvuvuvvvvuvvvvvvvuvuvvvvuvvuvvvvvvuuvuuvuuuvvuvvvvvvvvvuuvvvvvvuvvvvvuvvvvuvuuuvvvuuuvvuvvuvuvvuvvvuuuuvvuuvuvuuvuvuuvvvuuuvvuvuvvvvuvuuuuvvuuuuvuuvuvuuuvvuvvuvvuuvuuvvvvvuvuuvvvuvuuvuvuvvuvvvuvvvvuvvuvuvuuvvvuvuvuvuuvuvuvuuvvvvuuvuuuvvvuuuuvvvvvvuuuuuuuvuuuuuvuvvuuvvvuvvuuvvvvvuvuuuuuvuuuuuvuuvvvvuuvvuvuvvuvvuuuuvuuuvvvvuvuvuuuuuvuuvvuvvuuuvuvvuvuvuvvvvvuuuvvuvuvvvvuvvvvvuvuuvvvvuuvvvuvvvvuvvuvuvvuuvuvuuuvuvuuvvuvvvuuuuuvuuuuuuuvvvuvuuvuuvuuuvuvvuvuuuuuuuuuuuvuvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvwvvvvvvvvvvvvvvvvvvvvvvvvvvvvvwvvvvvvvvvvvvvvvvvvvvwvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvwvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvwvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvwvwvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv}vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv}vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv}}vvuvvvvvvvvvuvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvuvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvuvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvuvvvvvvvvuvvvvvvvvvvvvvvvvvvuvvvvvvvvvvvvvvvvvuvvvvuvvvvvvvvvuvvvvvvvvvvuvvvuvvvvvvvvvuvvvvuvvvvvvuvvvvvuvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvuuvvvvvuvvvvvvvvvvuvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvuvvvvvvvvvvvvvvvvvvvvuvvuvvvvvvvvvvvvvuvvvuvvvvvvuvuvvuuvvvuvvvvvvvvvvuuvuvvuvuvvuvvvvuvvvvvvvvuvvvvvvvvvvvvvvvvvuuvvuuvvvuvՌvuvvvvvvvuvvvvvvuvuvuvvuvvvvvvvuvvvuvvvvvvvvvvvvvvvuvvvuvuuvvvvvuvvvuvuvvvvvuuvuvvvvvvuuvvvuvvvvuuuuvvvvvvvvvvuvvvuuvvvvvuuvvvuvuvvuuvvuvvvvvvvuvuvvvvvvvvuvvvvuvuuvvuvvuuuvvvuvvvuvvvvvvvvuvvvvvvvvuvuvvuvuvvvvuuuvuuvuvvuvuvuvvuuvvvvvvvvuvvvuvvuvvvwvvvvvvvvvvwvwwvvvwvwwvvvvvwvvvvvvwvvvvvvvvvvvvvvvvwvvvvvvvvvwvvvvwvvvwvwvvwvvwvvvvvvvvvvvvvvwvvwvvwvvwvwvvvwvvvvvvvwvvvvvvvwvwvvwvvvvwvvvvvvvvvvwvwvvvwvvwwvvvvvvvvwvvvvvvvwvvvvvvvvvvwvvvvvvvvvvvvvvvvwvvvvwvvwvvwvvvvvvvvvvvvvvvvvvvvvvvvvvvwvvwvvvwvvvvvvvvvvvvvvvwvvwvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvwvvvvvvvvwvvwvvvvvvvvvvvv}vvvvvvvvvwvvvvvvvvvvvvvvwvvvvvvvvvvvvvvvvvvvvvwvvvvvvvvvvvvvwvwv}vvvvvvwvvvvvvvvvvvvvvvvvwvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv}vvvvvvvvwvvvvvvvvvvvvvvvvvwvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvwvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvwvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvu}}vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvuvvvvvvvvvvvuvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvuvvvvvvvvvvvvvvwwwvwwwvvvwvvvvvvvvvwwvvwvvvwvvvvvwvvwwwvvvwvvvwwwvvvwwvwvvwvwwwvwwwwvvvwvvwvvvvwvwwvvwwwvvwvvwvvvwvvvvvwvwvvwvvvvvwvvwvvwvwvvvvvwvvwvvvvvvwvvvvvwwvvvwvvwvvvvvvvwvvwvwwvvvvvwvwvwwvvvvvvvvwvwvwvvvvvvvvwvvvvvvvvwvvvvvvvwvvwwvvwvvvwwvvvvvwvvwvvvwwvwvvvvvvwwvvwvwvvwwvvvvvwvvvvwvvvvwwwvvwvvvvwvvwvwvvvvvvvvwwvvvvvvvvvvvwvwvwvvvwwvvvvwvwwwvvvvwՌvvvwwvvvwwwvwwwvvvvvvwwvwwwwvvvvvvvvvvwwvvvwvvvvvvvvvvvvwvwwvvvvvvwՌvvvvvvvvvvvwwwvvvvvvvvwvvvvwvvvvvvvvwvwvvvvvvvvvvvvvvwvvvvvvvvvvvvvvvvvvvwvwvvvvvvvvvvvvvwwwwvvvvwvvvvvvvvvwvvvvvvwvvvvvvvvvvwvvwvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvwvvwvwvvwvvvvvvwvvvvwvvwvvvvvvwvwvvwvvwvvvvvvvwvvvvvvvvvvvvvvvwwvvvvwvvvvvwwwvvvvvvvvvvvvvvvvvvwwvvvvvvvvvwvvvvvvvvvvvvvvvvvvvvvvvvwwvvvvvvvwvvvwvwvvwvvvvvvvvvvvvvwvvvvvvwvvvvvvvvvvvvvvvvvvvvvvvvvvvwvvvwvvvwvvvvvvvvvvvvvvvvvvvvvwvvvvvwvvvvvvvvvvvvvvvvwvvvvvvvvvvvvvvvvvvvvwvvvvvvwvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvwvvvvvvwvvvvvvwvvwvvwvvvvvvvvvvvvvvvvvvvvvwvvvvvwvvwvvwvvvvvvvvvvvwvvwwvvvvvvvwvvvvvvvvvvvvvvvvwvvvvvvvwvvvvvvwvvvvvvvvvwvvvwvvvwvvvvvvvvwvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvwvvvvvvvvvvvvvvvvvvwvvvvvvvvvvvvvvvvvvvvvwvvvvvvvwvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvwvvvvvvvvwvvvvvvvvvvvvvvvvvwvvvvvvvvwvvvvvvvvvvwvvvwvvwvvvvvwwvwvwwvvvvwwwvwwvwvvwwvwwwwvwwwwvvwvwvvvwwwwvwwwwvwwwwwvwvwvvwwwwvvvwwvvwvwvvvvwvvvwvwwwvvwwvwwwwvwwwwwvvwwwwwvwvvwvvwvvvwvwvvwwwwvvvwvvvvvwwvvvwwvwwvvwvvvvwvvwwwvwvvwwwvvwwvwwwvvwwwvwvwvwwvwwvwwvwwvwwwwvwvwwvwwvwwwvwvwwwvvwvwvwvwwvwwwvvwwvwwvvwwvvwwvwwwvvvvwwvwvvvwwvwwwvvwwvvvvwvwwwwwwwvwvwvvwwvvvvvwvwvwwwvwwvwwvvwwwvwwvvvwwwvvvvwwwvwvw~vvvwwvwwvwwwwvwvvwvwvwwvvwwvvvvvwwwwwvvwvwvvvwvvwvvvwvwvwwvwwvvwwvvwv~vwwwwvwwvwvvvwvvwwvvwwvvwwvvvvvwwwwvvwwwwvvvvwvvvwwvvvvvwwwvvvvvwwvwvvwwwvw~܌wwvvwvvvvwvvwvvwvvvwvwwvvvvwwvvvvvvvvwvwwwvvvwvvwvvvvwvvwvvwvwwvvwwvvwwvwvvwvwwvwvvvvwvvvwwwvwvwvvwwvwvwvvvwvwwvvvvvwvwvvvwwwwwvwvvvvwwvvwwvvvwvvvvwwvwvvvvvvvvwwwvwvwvwvvwvwwvvwwwvvvvvvvwwvvvv~wvvwvvwwvvwwvvvwvvvvwvvwwvvwvwvvvvvwwwwvwwwwvwwvwvvwvvvvwvvvvvvwvwvvvvvwvvwvvvwwvvvvvvwvwvwvvvwvvwvvvvwvvwvwwwvwvvvvwvvwwwvwwvvvvvvwvvvwvvvvvwvwvvvwwvwwwvvwvwvwvwwvvvvwvvvwvvvvvwvvvwvvwwvvwwvvvvvwvwvvvvvvvwwwvvwwwvvvvvvvvvvwvvwvvvvvvvvvwwwwvvvvwvvwvvvvvwvvvwvwvwwvwvvvwvvwvvvvwvvvvvvwvvvvwwvvvwvvvvvvvvwvvwvvwwvvvwwvvvvvՌvvvvvvvvvvvvvwwvwwvvvvvwvwvvvvvvvvvwvwvvvvvvwvvwvvvwvvwwvvvvwwwwvvvvvvvvvvwvwwwvvvvwvwvvvvvvvvvvwvwvvvwvvvwwvvwvwvwwvvvvvvvvvvwwvvvvwvvvvvvvvwwvvvvvvvwvwwvvwvvwwvvvwvvvvvvvwwvwvvvwvwvvwvvvwvvwvwvvvvvvvwvvvvwvvvwwvvvvvvvvvvvvvvvvwvvvvwvvvvwvwvvvvwwwwwwwwwwwwwwwwwwvwvvvwwwwvvwvwwwwwwvvwvvwvvvwwvwwwwwwwwwvwwwwwwwwwwwwwwwwwwvwvvwwwwwwvwwvwwwwwwwvwwwwwvvwwwwwvwvwwvwwvwwwwwwwwvwvwwwwvwvwwwwwwwvvwwwwwwwwwwwwwwwwwwvvwwwwwvwwwvwwwwvwwvwvwwwwwwwwwwwwwwwwwwwwwwwwwwvwwvvwvvvvvwwvwwvwwvwwwwwwwvwwwwvwwwwvvwwwwwwwvwwwwvvwwwwvvwwvwvvvvwwwvwwwvwwwvwwwwwvwvvvvwwwwvwwwwwvvwvvwvwwvwwvvwwwwwwwvwwwwwvvwv~wwvwwwwwwwwwwwwwwwwvwwwwwvvwvwwvwwwvwwvwwwwvwvvwwvwwwwwwwwvwwwwwwvwvvvw~vvwwwwwwwwwwvwwwwwwwwwwvvvvvvvwvwvwwvvwvwvwvwwwwwwwvwwwvwwwwvwwwwwwvwvwwwwwwww~vwvvwvvvwvwwvwvwwwwvwwwwvwwwwwvwwwvwvvwvwwvvvwwwvwvvwwwwvwvvvwwvvwvwwwwwwvwwvwwvwwwwwwvwvvvwwwvwww~wwwwwwwvwvvwwwwwwvwvwvvwwwwvwwvwwwwvwwwwwwwwwwwvvwwwwwwwvvwvwvwwvvvvwwwwwvwwwwvwwwvwvvvvwwvwwwwwwwwwvwwwwwvvwvwwwvvwwwvvwwwvwwvwwvvwwvvvwwwwvvwvwvwwwwwwvwvwwwwvwwvwvvwwvvwvwvvwvwwvvwwvvvwvwvwvvwwwvwwvvvvwwvwwwvvvwvwwvwwwvwwwwwvwwvwvwwwvvwvvwvwwwvvwwvwwwvwwvvvvwwwwvwwwwwwwwvwwvwvwvwvvvwwwvvwvwvwvwvwwvwvvvwwvvvwwvwwwvwwwwvvwvvvvvwwvvwvwvvwvvwwvvwwvwwwvvwwwvwwwwvvvvwwwwvwvvwvvwvvwwwvwwvvvvwwwvvvwwvwwvwwwvvvwvvvvwvwwwwvwvvwwwwwwvvvvwwvvwwvvvvwvvvvvwwvvvvwvvwwwvvvvvwvvvvvwvwwwvwvvvwvwvvvvvwvwvwwvwwvvvwwwvvvwvvwwvwwvvvwwvwwwvvwvvvwwwvwvwvwwwwvvvvvvwwvvwvvwvvwwwwvvvwvvwvwvwwwvvvwwwwvwwwwwvvvvwwwvvwvvwvvwvvvvvvvwwvvvvwwwvwwvvvvwvwwvvvwwvwvvwwvwvvvwvwvvvwwwwvwvvwvwwvvwwwwwwwwwwwwwwwwwwvwwwwwwwwvwwwwwwwwwwwwvwwwwwwwwwwwwwwwwwwwwwwwvwvwwwwwwvwwwwwwwwwwwwwwwwwwwwwwwwwvwwwwwwwvwwwwwwwwwwvwvwwwwwwwvwwwwwwwwwwwwwwvwwwwwwwwvwwwwwwwwwwwwwwwwwwwwwwwwvwwwwvwwwvwvwwwwwwwwwwwwwwwvwwvwwwwwwwwvwwwwwwwvwwwwwwwwwwwwwwwwwwwwvwwwwwwvvwvwwwwwwwwwwwwwwwwwwwwwwwwwwwwwvwwwwwwvvwwwvwwwwwwwwwwwwwwwwwwwwwwwvwwwvwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwvwvwwwvvwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwvwwwvwwwwwwwwwwwwwwwwwwwwwwwwwwwwwvwwwwwvwwvwwwvwwwwwwvvwvwwvwwwwwww~ܔwwwvvwwwwwwwwwwvwvwwwvwwwwwwvwwwwwwwwwwwwwwwwwvwwwwwvvvvwwwwvwwwwwwwwwwwwwwwwwwwvwwwwwwvwwwwwwwvwwwwwwwwwwvwwvvwwwwwvwwwwwwwwwvwwwwwwvwwwwwwwwwvwvwwwwwwwwwwwwwvvvwwvwvwwwwwwvvwwvvvwwwwvvwwwwwwwwwwwvwwvwwwwvwwvwwwwvwwwwwwwwwwvwvwwwwwwwwwwvvvwwwwwwwwwwwwwwwwvwwvwwwwwwwwvwwwwwvwwwvwwwwwwvvwwwwwwwwwwwvwwwwwwwwwwwwwwwwwwwwvwwwwwwwwvwvwwwvwwvwwwwwvwwwwwwwwwwwwwwwvwwwvwvwwwwwwvwwwwwwwwvvwwwvwwwwwwwvvwwvwwvvwwwvwvvwwwwwwvwvwwwwvwwvwwwvwwvwvwwwwvvwwvwwwwwwwwwvwwvwwvwvwvwwwwwwvvwvwvwwwwwwwwwwwwwwvwwvwvwwwwwwwwvwwwwwwvwvwwwwwvՍwwvvwwvwwwwwvvwvwvwwvvwvvwwvwwwwvwvwwwvwwwwwwwwwvwwvwwwwwwvwwwwwvwwwwwvwwwvvwwwwwwwwwwvwwvwvwwwwwvwwwvwwwwvwwvwwwwvwwwwwwwwwwvwvwwvwvwwvwvvvwwwvwwwwvwwwvwwwwvvwwwwwwwwwwwvwwvwwvwwvwwvwvwwwwwvwwwwwwvwwwvwwwwwwvwvvwwwwwvvwwwwwwwvvwwwwvwvwwwwwwwvwwwwwvwwwwwwwwwwwwwwwwxwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwxwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwvwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwvwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwݍwwwwwwwwwwwwwvwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwݍwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwvwwwwwwwwwwwwwwwwwwwwvwwwwwwwwwwwwwwwwwwwwwwww~wwwwvwwwwwwwwwwwwwvwwwwwwwwvwwwwwwvwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwvwwwwwwwwwvwwwwwwwwwwvwwwwwvwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwvwwwvwwwwwwwwwwwwwwvwvwwwwwwwwwwwwwwwwwwwwvwwwwwwwwwwwwwwwvwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwvwwwwwwwwwvwwwwwwwwwwwwwwwwwwwwwwwwwwwwwvwwwwwwwwwwwwvwwwwwwwwwwwwwwwwwwwwwwwwwvwwwwwwwwwwwwwwwvwwwwwwwwwwwwwwwwwvwwwvwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwvwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwvwwwwwvwwwwwwwwwwwvwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwvwvwwwwwwwwwwwwwvwwwwwvwwwwwwwwwwwwwvwwwwwvwwwwwwwwwwwwwwwwwwvwwwwwvwwwwwwwwvwvwwwwwwwwwwwwwwwwwwwwwwwwvvwwwwwwwvwwwwwwwwwwwwwwvwwvwwwwwwwwvwwwwwwwwwwvwwwwvwwvvwvwwwwwwwwwvwwwvvwwwwwwvwvwwwwwwvwwwwwwwwvwwwwwwwwwvwwwvwwwwwwwwwwwvwwvwwwwwwwwwwwwwwwwxwxwxwwwwxwwwwwwwxwwwwxwwxwwwwwwxwwwwwwwwxxwwwxwwwxwwxwwwxwxwxwwwwxwwwwwwwwxwxwxxwwwwwwwwwwxwxwwwwwwwxwwxwwwwxwwwwwwwwwwxwwxxwxwwwwwxwwwwwwwwwxwwwwwwwxwwwwwwwwwwwwxwwwwwwwxwxwwwwwwwwwwwwwwwwwwxwwwxwwxwwwxwwxwwwwwwxwwwwwwwwwwwwwwwwwwwwwxwwxwwwwwxwwwwwwwwwwwwwwxwwwwxwxwwwwwwxwwwxwwxwwwwxwwwwwwwwwwwwwwwwwwwxwwwwwwwwwxwwwwwwwwwwxwwwxwwwxwwwwwxwwwxxwwxwwwwwxwwwwwwwxwwwwwwwwwwwwwwwxwwwwwwwwwwwwwwwwwwwwwwwwwwwwxwwwwwwwww~wwwwwwwxwwwwwwwwwwwwwwwwwwwwxwwxwwwwwwwwwwwwwwwwwxwxwwwwwwxwwwwwwwwwxwwxwwwwwwwwwwwwwwwdžwxwwwwwwwwwwwwwwwwwwwwwwwwwxwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwxwwwwwwwwwxwwwxwwwwwwwwwxwwwwwwwwwwwwwwwwwwwwwxwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwxwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwxwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwvwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwww~wwvwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwvwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwvvwwwwwwwwwwwwwwwwwwvwwwwwwwwwvwwwwwwvwwwwvwwwwvwwwwwwwwwwwwwwwwwwwwvwwwwwwwwwwwxxxwxwxwwwwwwwxxxxwxxxwwxxxwxxxwwxwwwwxwxwwwwwxxxxxwxxxwwxxxwwxxxxxxwxwxwwxxwwwwwwxxwwwxxxxxwxxxwxwwwxwxxxwxxxwwwwxwxxxxwwwwxwwwxxwxxxxxxxxwxxwxxwwwwwxwxwxxwwxwwxxxwwxwxwxwwwxxxxwxxxwxwwwxwwxwxwwxxxxwxxxxwxxxwwwwwxxwwwwwwwwxxwxxxwwxxwxwxwwxwwwxwxwxwxwxxwxwwwwwxwxwwwwxwwwxxxxxwwxwwwxwwxwxxxwwwwxxxwwxwxwwwxxxxwxwwxxxxwxxwxwxxwwwwxxwwxwxwwwxwwwwxwݔxwxwwwwxxwxxxwwwwxxwxwwwxwwxwxwxxxwxwxwxxwwwxwwwxwwxwwwwwwxwxxwxwwxxwxxwxwwwxwxxxwwݕwwwwwwwxxwxwwwxwxxxxwwwwwxwxxwxxwwxwwxwxwwwxwwwxwwwwwwwwxwwxxwwwxwwwxxwwxwwwxxwxwxxwwwxwxwwΔwwwxwxwxwxxwwwwxwwxxxwwwwwwwxxwxxwwwwwwxwxwxxxwxwwwxwwwwwwxxwwxwwxxwwwwwwxwwwwxwwwwwwxxxxxwwwwxwwwwxwwwwwwwwwwwwxwwxwwwwwwwwwwwwwwwwwwwxwwwwwxwwwwxwwxwwxwwwwwwwwwwwwwwwxwwxxwwwxwwxwxwwxwwwwwwwxwwwwwwxwwwww~wwwxwwxwxwxxwwxwwwwwxwxwwwxwwwwwwwwwwwwwxwwwwwwwwxxwwwwwwwwwwwwxwwxwwwwxxxwwwwwwwwwwwxwwwwwwwwwxwwwwwwwwwxwwwxwwwwwwwwwxwwwwwxwwwwxxwwwwwwwwwwwwxwwxwxwwwwwwwwwwwwwwwwwxwwxwwwwxwwxwwwxwwwwwxwwwwwwwwwwxwwxwwxwwwwwwwxwwwwwwwwwwwwwwwwwwxwwwwwwwwwwxwwxwxwwxxwwwxwwwwwwwwwwwxwwwwwwwwwwwwxwwwwwwwwwwwwwwwxwwwwwwwwwwwwwwwwwwwwxwwxxwwwwwwΔwwwwwwwwwwwwwwwxwwwwwwwwwwwwwwwwxwwwwwwwwwwwwwwwwwwxwwwwwwwwxxwwwwwwwwwwxwwwwwwxwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwxwwwwwwwwwwwwwwxxwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwxwxwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwxwwwwwwwwwwxwwwwxwwwwwwwwwwwwwxxwwxwwwwxwwwwwwwxxxxxwxxxwxxxxxwwxwxxwxwwwxwxxxwxxwxwxxxxxxxxxxxxxwxxxxxxxxxxxwwxxxxxxxxxxwwxxxxxxxwxxwxxxxxxxxxxxxxxxxxxwxxxxwxwxxxxxxxwxxxxxxxxwxxxwwxxwxxwxwxxxwwxxxxwxxwxxwwxxxxxwxxxxxxxxwxxxwwxxxxwxxxxwwxxwxwwxxxxxxxwwwxxwxxxxxxxxwxxxwwxxxxxxwxxxxxwxxxwxxxxwxwxxxxxwxxxxxxxxwxxxxxxxxwwxxwwxwwxxwxxxxxxxxwwxwxxxxxxwxxxxxxxwwxxwxxxxwwxwxwxxxxxxxxwxxxxwwxxxwwxxww~wxwxwxwxxwwxxxxxxxwxxwxxxxwxxxxxxwxxxxwwxwwxwxxxwxxxxxxwxxwxxxxxxxxxxxwxwxxxxxxxxxwwxxxxxxxwxxxxxwxxxxxxxxxxwxxwxwxxwwxwxxxwwxxwxxxxxxxxxwxxxxwxxxxwwwxwxwxxwwwwxxxxxwwxxxxwxwxxxxwϔxwwwwwxxxxxxwwxxxxxxxxxwwwxxxwxxwxxxxwxxxwwxxxxwwxxxxwxxxxwxwxwxwwxxxxxwxwxxwxxwxxxxwwwxwxxwxxwwxwwwwxwwxwwwxxxxwxxwxwwwxxxxxxxxxwxwxwwwxwxxxxwxxwxxxwwwwxxxxxxxwxxwxxwwwxxxxxwxwxwxxxxwxxwxxxwwxxwxxxxwxwwwwxxwxwwwxwxxwxwwxxxxwwwwwxxwwwwwxxwwxxwwwwxwwxwwxwxxxwxwwwwxxxwwwwxxwxwwwxxxxxwwwxxwwwwxwxwxwxwxxwxxxxwwxwwwxxwxwwxwwwwwwxxwxwwxwxwxxwwxxxxxwxxwwxxxxxxwxwxxxwxxxxwxwwwxxxwwwxxwxwwxwxxwwwwwxwwwwwwwwwwwwwwwwwxxwwwwxwxwwxxwxxwwwwxxwwwwxwwxxxwwxxwwxwwxxwxwwwxwxwwwwwwxxxwxwwwwxwxxwwwwwxxxxwwwxxxwxxwwwxwwwwwwxxxwxxwwwwwxxwxwwxwxxxxwxwwwxxxΔxwxwwxwwwwxxwwxxwwwxwwwwxwwwwxwwwwwxwxwwxwwwxwwxwwwwwxxxxwwwwwxwxwwwxxwxwxwwwwwwwwxxxwwxwwxxwxwwxxwxwwxxwxwwwwwwwxwwwwwxwxwwwwwwwxxxwwxxwwwxwxxxwwwwwwwwwwwwwwwxxwxwwwwwwxwxwwxwxwwwwwwxwxwwwwwwwxwxxwxwwxxwxwwxxxwwxwwxxxwwwwwwwwxwwxwwwwxwwxwwwxwwwwwwwwwxxwwwwwxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxwxxxxxxxxxxxxxxxxxxxxxwxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxwxxxxxxxxxxxxxxwxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxwxxxxxxxxxxxxwxxxxxxxxxxxxxxwxwxxxxxxxxxxxxxxxxxxxxxxxxxxxwxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxwxxxxxxxxwxxxxxxxxxxxxxxxxxxxxxwxxxxxxxxxxxxxxxxxxxxxxxwxxxxxdžxxxxxxxxxxxxxxxxxxxwxwxxxxxxxxxwxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxȆxxxxxxxxwxwxxxxxxwxxxxxxxxwwxxxxxxwxwxxxxxxxwxxxxxxxxxxxxxxxxxxxxxxxwxxwxwwxxwwxwwxxxxxxxxxxxxxxxxϕxxwwxxxwxxxxxxxxwxxxwxxwxxwwxxwxxxxxxxxxxxxxxxwxxxxxxxxxwxxxxxwxxwxxxxwwxxxxxwxwxxxxxxxxxxxwxwxxxwxxxxxxwxwxxxxwxxxxxxxxxxxxxxxxwxxxwxxwxxxxxxwxxxwwxwxwxxxxxxxxxxxxwxwxwxxxxxxxxxxxxwxxwxwwxxxxxwxxxxxxxxwwwxxxxxxxwxxxxxwxwxxwxxxxwxxxxxwxwxwxxxwxxxxxxwxxxwxxxxwxxxxwwxxxwwxxxxxwxxxxwwxxxxwwwxxxxxxxxxxxxxwwxxxxxxxwxwxxxwxxwwxxxxxwxxwwxwxxxwxxxxxxxxxxxxxxxxxxxxxwwxxxxwwxxxxxxxxxwxxxxxxxxxxxxxwxxwxxxxxxwxxxxxxxxxxxxxxxxxwwxwwxwwxxxxxxwxxxwwxxwwwwxxxwxwxxwwwxwxxxxxxxwwwwxxxxwxxwwxxxwxwxxxxxxxxxxwxxwxxxwxwwxwwxwxwxxwxwwxxxxxxxwxxxwwxwxxwwxwxxxwxΕxxwxxxwxxwxxwxxxxxxxxxxwxxxxxxxwxxxxxxxxwxwxxxxxxxxxwxxxwwxwxwxwxwxwwwxxwwxwxwwxxxxwxwxwxxxxwxxxxwwwxxxwwxxxwxwxwxxxxwxwwxxwxxwxxxxxxwwxwxxwxxxwwxxwxwwwxwwxxwwxwwwxxxxxwwxwwwwxwxwxwxwwxwwxwwwxxxxxxxwxxwxwxxxxwxxxxxxxwwwxwxwxxxxxwxxwwxwxxxxxxwxwxwwxxwxwxxwxwwwwxxxxxxxxxxxxxxxyyxyxxyxxxxxxxxxxxyxxxxxxyxxyxxxxxxyxxxxxxxxxyyxxyxxxyxxxxxxxxxxxxxxyxxxxxxxxxxxxyxxxxxxxxxyxxxxxxyxxxxxxxxxxxxyxyxxxxxxyxxxxxxxxxxxxxxxxxxxxxyxxxxxxyyxxxxxxxxxxxxxxxxxxxxyxxxxxxxxxxxxxxxxxxxyxxxxxxxxxxxyxxxxxxxxxxyxxxxxxyxyxxxxxxxxxxxxxxyxxxxxxxxxxxxxxyxxxxxxxxxxxxxxxxxxxxxxxxxxyyxyxxxxxxxxxxxxxxxxxxxxxxyxxxxxxxxxxxxxxxxxxxxxxxxxxxxxyϕyyxxxxxxxxxxxxxxxxxxxxxxxxxyxxyxxyxxxxxxxxxxxxxxxxxxxxxxxxxxxyxxxxxxxxxxxxxyxxxxxxxxxxxxxxxxxϕxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxwxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxwxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxwwxxxxxxxxxxxxxxxxxxwxxxxxwxxxxxxxxxxxxxxxxxxxxxwxxxxxxxxxxxxxxxxxxxxxxxxxxxwxxxxxxxxxxxxwxxxxxxxxxxxxxxxxxxxxxxxxxxxxxwxxxxxxxwxxwxxxwxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxwxxxxxxxxxxxxxxxxxxxxxxxwxxxxxxxxxxxxxxxxxwxxxxxxwxxxxxxxxxxxwxxxxxwxxxwxwxwxxxxxxxxxxxxxxxxxxxxxxxxxxxxxwxxxwxxxxxxxxxxxxxxwxxxxxxxxxwxxxxwxxxwxxxxxxxxxxxxxxxxxxxxxxxxxxxwxxxxwxxxxwxxxxwxwxxxxxxxxxxxxwxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxwxxwxxxwxxxxxxxwxxxxxxxwxxxxwxxxxxxxxxxxxxxxxxxxxxxxxxwxxxxxxxxxxxxxxxxxxxxwxxxxxxxxxxxxxxwxxwxxwwxxxxxxxxxxxxxxxxxxwwxxwxxxxxxxxxxwxxxxxxxxxxxxxxyxyyyyxxyxxxyyyxxxxyyxxyxyxyxxxxxxyyxxyyxxxyxxxxxxxyxxxxxxyxyyxxyxxyxxxxxyxyxxxyyxxxxxyyyxxxyxxxxyxxyyxyyyxxxxxyxxyxxxxyyxxxxxyxxyxxxxxxyxyxxxxxxxxxxxyxxyyxxxxxxxxxyyxxyyyyyyxxxyxxxxxyxxxxxxxxxyyxxxxxxxxxxxxyxyxxyxxxxyyxxxxxxyxxyxxxyxxyxxyyxxxxxyxxxxxxyxxyxxyxyxxxxxyxxxxxxxxxxxxyxxxyxxxxyxyyyxxxxxxyxxxxxxyxxyyxyxxyyxyxxyyxyxxxxxxxyxxxxxyxyxxyxxxxxxxxxxxxxxxxxxyxyxxxxxxxyxxxxxxxxxxxxxyxxyxyyxxxyyxxxyyxyxxxyyxyxxxxxyyxxyxxxyxxxxxxyxxxxyyyyxyxxyxxxxxxxxxxxxxxxxxyxxxxxxxxxxxxxxyxxxxxxxxxxxyxxxxxxxyxyxxxxxxxyxxxyxxxxxxxyxxxxxxxxyxyxxyxxxxyxxyxxyyxxyxxݫxyxyxxxxxxxxxxxxxyxxxxxxxxxxxxxxyxxxxxxxyxxxxyxxxxxxxxxyxxyxxxyxxxxxxxxxxxxxxxxxxxxxxxxyxxxxxxyxxxxxxxxxxxxxxxyxxxxxxxxxyyxxxxxyxxyxyyxxxxxxxxxyxxxxyyyxyxxxxxxxyyxxxxxxxxxxyxxyxyxxxxxxxyxxxxxyxxxxxxxxxxxxxxxxyxxxxxxxxxxxxxxxxxxxxxxxxxyxxxxxxxxxyxxyxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxyxxxxxxyxxxxxxxxxxyxxxxxxxxxxyxxxxxxxxxxxxxxxxxxxxxxxxyxxxxxxyxxxyxxxxxxxxxxxxxxxyxxxxxxxxxxxxxxxyxxxxyyyxxyxyyxxyxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxyxxxxxxxxxxxxxxxxxxxxxxxyxxxxxxxxyxxxxxxxxxxxyxxxxxxxxxxxxxxxxxxxxxxxxxyxxxxxxxxxxxxxxxxyxyxxxxxxxxxxxxxxxxxxxݲxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxyxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxyxyxyxxxyyxxyxxyyyxxyyxxyyyyyxxyxyxxyyxyxyxxxxxyxxyyxyyyxyyyyyxxyxyxyyyxyxyxyxxxyyxyyyxyyyyyyyyyyxyyxxyyyyyyxyxyyyyxxyxyxyyyxyyxyxyxxyxyxxyyyxxyxxxyxyxxyyyxxxyyxyyyyxxxyyyyxyxxyyyxyyxyxyyxyyyyxyyyyxyyxyxyxyxxyyyxxxyyyyxyyyyyyxyyyxxyxyyyxyxxxyyxxxxxyxyxxyyyxxxxyyxyxxxxxyxyxyxxxxxyxyyyxxyyyxxxyyxyyyyxxxyyyxxyxyxyxyyyyxyyxxxxyyxxyyyxxxxxyyyyxyxxyyxyyxyyyyyy岇xxyyyxyyyxxyxxxxxxxyxyyyyxxyxyxxyyyxxxxxxxyyyyyxxxyxyyyyyxyxxxxxyxyyxxxyyyyyxxxxxxyyyxxxxxxyxxxxxxyxy岇xxyxxyxyyxxxxyyyxxxxxyyxxyyyyyyyxxxyxxyyyxxyxyyxyxxxxxxyxxyxxxyxyxyyxxxyxyxxyxxxyxyyyyyyyyyxxyxyxxyyyxxyxxyxxyxݹxyxyxyxxyyyxxxyxyxxxyxyxxxyxxxxyxxyxxxyxxyyxxxxxxyyxyxxxxxxyyxyxxxxxxxyyxyyyxxxxyxyyxyyxyxxxxxxyyyxxyyyxyyxxxyxxxxyyyyxxxxxxyyyxyyyxxxxxxxxyxxxxxxyxxxxyyxxxxxyxxyxyxxyxxyyxyxxxyxxyxxxxxxyxxxyxxxxxxxyyxxxxyxxxxxxxxyxxxxxxyxyyyxyyxxxxxyxxyyyxxyxyxxxxyyxyxxyxyxxxxyxxxxxxxyyxxxxxyxyyxyxxxyxxxxxyxxxxxxxxyyxxxxyyxxxxyxxyyyxxxxyxyxyxxyxxyyxyxyxxyxxyxyyxxxxxxxxxyxyxxyxxyxyxxxxxxxyxxxxxxxxxxxxxxyxxxxxxyyxxyxxxxyxyyxxxyxxxyxyyyxyxxxxxxxxxxxxxxyxxxyxyxxxxxyyyxxxyyyxxxxxxxxyxxyxxxxxxxxxxxyxxyxxxxxxxxxxxxxxxxxxxxyyxxxxxyyxxxxxyyxxxxyxxxxyxyxxxyxyxxxyxxxxxxyxxxxxxxyxxxxxxxyxxxxxxxxxxxxxxxxxxxyxxxxxxyyyxxxxxxxxyyyxxyxxxxxyxxxyxxxxyxxxxxxxxxxxxxyyyyxxxxyxxxxxxxxxxxxyxxyxxxxxxxxyxyxxxyxxxyyxyxxxyxxxxxxxyxxxxxxyxxxxxxxxxxyxxxxxxxyxxxxxxxyyxxxxxxyxxxyxxxxxxxxxxxyxxyxxyxxxxxyxxyxxxxxxxyxxxyxxyxxxxxxxxxxxxxxxxxxxxxxxyxyyxxxxxxxxxxxxxyyxxxyyyyyxxyyyyyyyyyyyyyyyyyyyyxyyyyyyyyxyyyyxyyyyyyyxxyyyyxyyyyxyxyyyyyyyyyyyyyyyxyxyxyxyxyyyyyyyxyxyyyyyyyyxyyyyyyyyxyyyyyyxxyyyyyyyyyyxxyxyxyxyyyyyyxyxyyyyxyxyyyyyyyyyyyyyyyyyxyxyxxyyyyyyxyyyyyyyyxyyyyyyxyyyyxyyyyyyyxxyyyyyxyyyyxyxxyyyyyyxyyyxyyyyyyyyxyyyxyyyyxyyyyyyxxyyxyyxyyyxyyyyyxxyyyyyyyxyyxxxxyxyxyxxxxyxxyxyyyyyyyyyxyyyyyyxyyyyyxyyyyyyyxyxxyyyxyyyyyyyxȜyyyyyyyyyyyyyyxyyxyyyyxyyxxxyxxyxyxyyyxyxxxyyyxyyyyyyyyxyxxxxxyxyyxxyyxyyyyyxxyxyyyxyyyyxyyyyyyyyxyyyxyyxxxȝyyxyyyxyxyyyxyxxyxyxyyyyxyyyyyyyyxxyyyyyyyyxyyxyyyxyxyyyxyyxxyyyyyxyyyxyyxxxyyyyxyyyxyxyyyyyyyxyxxyxyyyxyxyyyxyyyxxyyݹyyyyyyxyxyxxyyyyyyyyxyyyyyyyyxyyxyyyyyyyyxyyxxxyyyxyxxyyyyyxyyyyyxxxxyyxxyyyxyxxyxyyyyyyxyyxxxxxxyyyyyyxxyyyyyxxyyxyyyyyyyyxxyyxxyyxxxyxxyxxxxyxxxxyxyyxyxxyxxxyyyyxxxyxxyxyyyyxxxyxyxyyxxxyyxxxyyyyyxxyyyyxyyyxxxxxyxxyxyxyyxyxyyyxxxyyxyxyxyxyyxyyxxyxyyyyyxxyxxyyyxyyyxxxyxyxyyyxyyyyyyyxyyyyyyyyyyyyxxxyxyyyyxyxyxxyyxxyyxxyxyyyxxxyyyyxyyxyyxxyxyxxyxxyxyxxxyxyyxyxxyxxxyxyxyxyxxxyxyyxyxxyyyyxxxyyxyxyxxyyyyyyyyyxxyyxyyxyxxyyyxyxxxyyxxxyyxyyyyxxxxyyyyxxyxyyxyyxyyyyxxxyxyyyyyyyyxyyyyxyyyxyxxyyyyyxxxxxxxxyyxyxyxyyyxxyyyxyxxxxxxyxxxyyyxxxyyxxyyyxxyyxyxxxxyyxxyxxyyyyxxyxyxxyyxxxxyxxxxxxxxxxxyyyxxyyyyxxyyxxxxxyxyxyxyyyxxxyxxyyyxyyyyyxxyyyxxxxxyyxyyyxxxxxxyxyxyxxxyyxyxxxyyxxyxyxyyyxyyxyyxxxxyxxxxyyxxyxyxxxxxyxyyyxyyxyyyxyyxyxyxyxyxxxxyxxxyxyxxyyxxyxyxyxyyyxxxyxyxyyyyxyxxxxxyxxxxxxxxxxyxyxyxyyxxxxxxxyyxyxyyyyxyyxyxxxxyxxyxyxxxxxxyxxxxxyxxyxxyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyxyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyxyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyxyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyxyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyȣyyyyyxyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyxyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyȣyyyxyyyyyyyyyyyyyyyyyyyyyyyyyyyxyyyyyyyyyyyyyyyyyyyyyxyyxyxyyyyyyyyyyyyyyxyyyyyyyyyxyyyyyyyyyyyyyyyyxyyyyyyxyyyyyyyyyyyyyyxϫyyyyyyyyyyyyxyxyyxyyyyyyyyyyyyyyyyyyyyyyyyyyxyyyxyyyyyyyyyyyyyyyyyyyyyyyyxyyyyyyyyxyyyyyxyyyyyyxyyyyyxyyyyyyyyxyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyxyxyyyyyyyyyyyxyyyxyxyxyxxyyxyxyyyyyyyyyyyyyyyyyyyyyyyxyyyyyyyxxyyyyxxyxyyxyyyxxxyyyxyyyyyyyyxyyyyyyyyyyyyyyxyyyyxyyyyyyyxyyyyyyxyyyyyyyyyyxyxyyyyyyyyyyyyxyyxxyyyyyyyyyxyyxyyyyyyyyyyyyyxyxyyxyyyyyyyyxyyyyyxyyyyyyyyyyxxyyyyyyyyyyxyyyyxyyyyyyyyyyyyyyyyyyyxyxyyyyyyyyyyxyxxyyyyyxyyyxyxxyyxyyxyxyyyyyyyxyxxyyyyyyyxyyyyyyyyxyxxxyyyyyyxyyyyyyyyyxyxyyxxyxxyyyxyxyyyyyyyyyyyyyxyxyyxyyxxyxyxxyyyyyyxyyxyyyxxyyyyxyyxyyyxyxyxxxyxyyyyyyyyxyyyxxֹxyyxyyyyyxxyyxyyyyyxyxxyyxyyxyyyyxyyxxxyxyyyyyyyyyxyyyyyyyyyxyyxyxyxyyyxxyxxyyyyyyxxyyyyxyyyyyxxyxyyyyyyxyyyyxxyyyyxxyyyyxxxyxyyyyxyxxyyyyxyxyyxyxyyyxyyyyyyxyxxyyyyxxyyyxyyyyxxyxyyyyxxyyxyyxxyxyyxyxyyyyyyxyyyyxyyyyyyyyyxyxyxyyyxyxyyyxyyyyyyyyxxxyxyyyxyyyxyxyxyyyyyyxyyyxxyyyyyyyyyyyyzyyyyyzyzyyyyyyyyyyyyzyyyyyyyyyyyyyyzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzyyyyyyyyyyyzzyyyyyyyyyyzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzyyyyzyyyyyyyyyyyyyyzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyϲyyyzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzyyyyyyyyyyyyyyyyyyzyϲyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyȲyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyxyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyxyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyֹyyyyyyxyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyxyyyyyyyyyyyyyyxyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyxyyyyyyxyyyyyyyyyyyyyyyyyyyyyyyyyxyyyyxyyyyyyyyyxyyyyyyyyyyyyxxyyxyyyyyyyyxyyyyyyyyyyyyxyyyxyyyyyxyyyyyyxyyyxyyyyyyyyyyyyyyyxyyyyyxyyyxyyyyyyyyyyyyyyyyyyxyyyyyyxyyyyyyyyyyyxyyyzzzyyyzyyyzyyzyyyzyyyyzyyyyyyzyzyyzyzyzyyyyyyyzyzyyyyyyyyyyyyyyyyyyzyyyyyyzyyzzyyyyyyzyyyyyyyyzyzyzyyyyyyzyyzyyyyzzzzzyyzyyzyyyyzyyzyyyyyzyyzzyyyzyyyyzzyyyyyzyyyyyyyyyyyzyyyzyyyyyyyyyyyyyyyzzyyyyzyzyyyzzyzzyzyyyyyyyyzyyyyyyzyyyyyyyzyyyzyyzyyyyyzyyyyyyyyyyzyzzyzyzzyyyyyyyzyyyyyzzyyyyyyyyyzyyyzyzzyyyzyzyyyyzyyyyzyyyyyyyyyzyzyyyzyzyyyyyyzyyyyyzyyyyyzyyyyyyyzyyyzyyyyyyyzyzyyyyyyzzyyyyzyyyyzyyyyzyyyyyyzyyyyyzyyzyyyyyyyzyyyyzyyyyzyyzyyyzyyyyyyyyzzyzyzyyzyzzyyyyyyyyzyyyyyyyyyyyyyyyyzyyyzyyyyzyyyyyyyyyyzyyyyzzyyyyyyzyyyzyyyzyyyyyyyyyzzyzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzyyyyyyzyyyyzyyyyyyyyyyyyyyzyyyyzyyyyyyyzyyzyyyyyyyyyzyyzyzzyyyzyyyyyyyzyyyyyyyyyyyyyyyyyyyyyyyyyyyzyzyyyyyzzyyyyyyyyyyȲyyzyyzyyyyzyyyyyzyyyyyyyyyyyyyyyyyyyyyzyzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzyyyzzyyyyyzyyyyyyyyyyyzyyyyyyyzyyyyyzyyyyyyyyyyyyyyyyyyyyyyyyyyzyyyyyyyyyzyyyyyyyyyyyyyyyyyyyzyyyyyyyyyzyyyyyyyyyzyzyyyyyyyyzyyyyyyyyyyzyyyyyyyyyyyyzyyzyyyyyyyyyyyyyyzzyyyzyyyyyyyyyyzyzyyyyyzzyyyyzyyyyyyyyyyyyzyyyyyyyyyyyyyyyyzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzyyyyyyyyzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzyyzyyyyyyyyyyyyyyyyyzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzyyyyyyyyyyyyyyyyyyyyyyyyyyyyzyyyyyyyyyyyyyyyyyyyyyyyzyyyyyyyyyyyzzzyyyyyyyyyyyyyyyϹyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzyyyyyyyyzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzyzzyzyyyyyzzyzzzyyyzzyyyzzyyyyyzyyyzzzzzyyzzzyzzyyzyyyzzyzyzzzyyyzzzyyyzyzyzzzyzyzyzzzyzzzzzyyzyzzzyyzzyzzyyzyzzyzyyzzzyzzzzzyzyzyyzyyzzyyyyzyyzzzzyzyzyzzyyzyzyyzyzzyyzyzyzzyyzzzzzyyyzyyzzyzyzyzyzzzzzzyyzzyzyzzzzyzyyzyzyzzzyyyyzzyyzyzzyyzzzyzzzyzzzzyzzyyzyzzyzyyzzzyyzzzyyyyyyyyyzzzzyzyyzyyyyzyyzyyzyyyzyzyzyzzyyyzyzzzzzyyyyyzzzyyyyyyzzzyyzyyzyyyzyyyyzzyzyyyzyzzyyzyzzzyyzzyyyzyzzyyzzzyyyyzyzyzzyzyyyzzzyyyzzyyyyyyyyzzzyzzzyyzzzyzyyyyzzzzzyyyyzyyzzyyyyyyyzyyzyyzyyzyzzyyzyzzyyyzyyzyzzzyzzzyzyzzzyzyyyzyzzzyzzyzzzzyzzzzyyyzyyyyyyzyyyzyyzyzyyzyyyyyyzzyyzyyyzyyyyyyzyzyyyyzyyzzyzzyyzyyyyzzzyyzzyzzyyyzyyzyyyyyzzzyzyyzyzyyyyyzyyzyyyyyyzyyyzyyzzyyyyyzyzyzyyyyyyyyyyyzyyyzyyyyyzyyyzzyzyzyzyyzzyyyyzyzzyzzzyyzyyzyyyzzyzyyzyyyyϲyyyzzyyzyyyzyzyyyyyyyyyzyyyyyzyzyyzyyyyyyyzyyyyzzyyyzzyyyzyzyzzyzyyyyzzyyyyzyyyzyyyzyyzyyyzyyyyzzyyzzyyyyyzyzyyyyyyyyyyyyyyyzzyyzzyyzzzyyyzyyyyyzyyzzyzyzyyyyyyzyyyyyzzzyyyzyyyzyzyyzzyyyyyzzzyzyzyyyyyyyyzyyyyzyyzyyyzyyyzyyyyyyyzyzyyzyyyyyzyyyzzzzyzyzzyyzzzyzyyzyzyzzyyyyyyyzzyzzyyyyzyyyyyzyzyyzzzyyyyzyyzyyyyyyyzyyzyyyzyyzyyzyyyyzzyyzzyyyyyyzzyyyyyyzzyyyyyyyyzyyyyyyyyzzyyzyyyyyyzyyzyyyyyyyzyyyzzzyzyyzyzyyyyzzyyzyyyyyyyyyyyyyyyzyyyyyyyyyzzyzyyyyyyyyyzzyyyyyyyyyzzzzyyyzyyzzyyyyzzyyyzzyzzyyyyyyyzyyyyyyyyyyyyzyzyyyyyyyyyyzzyyyyyzyyyyzyyyyzzyyyyyzyyyyyzyyzyyyyyzyyyzzyyyzyyyyyyzyyyyyyzzzyyyyyzyyyyzyyyyyyyzzyzyyyzzyyyyzyyyyzzyyyyyyyyyyyyyyyyyyyzzzzzyyyyyyyyyyyzzyyyyyyzzyzyyyzyyyyyyzyzyyyzzyyzyzyyyyzzyyzyzyyyyyyyyyyzyyzzyyyyzyyȲzyyyyyyyyyyyyyzyzyzzzyyyyzyyyyyzyzyyyzzyyyyyyyyyyyyyyyyyyzyyzyzyyyyyzzzyyyyzyyyyyyyyyyyyyyyyyyyyyyyyyzyyyyyyyyyyyyyyyyzyyyyyyyyyzyzyyyyyyyyyyyyyyzyyyyyyzyyyyyyyyyyyyyzyyyyyyyyyyyyyyyyzyyyyyyyyyyzyzyyyyyyyzyyyyyyyyyyyyyyzyyyyyyyyyyyyyyyyyyyyyyyzyyzyyzyyyyyyyyyyzyyyyyyzyyzyyyyyyyyyyyyyyyzyyyyyyyyyyyyyyyyzzyyyyyzyyyyyyyyyyyyyyyyyyyyyyyyyyyyzyyyyzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzyzzzzzyzzzzzzzzzzzzyzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzyzzzzyzzzzzzzzzzzyzzzzyzyzzzzzyzzzzzyzzzzzzzzzzzzzzzyzzzzzzzzzzzzzzzzzzzzyzzzzzzzzyzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzyzzzzzzzzzzzzzzzyzyzzzzzzzzzzzyzzzzzzzzzzyzyzzzyzzzzzzyzzzzzzzzzyyzyzzyzzzzzyzzzzzzzzzyzzzzzzyzzzzzzzzzzzzzzzzyzzzzzzzzzzzzzzzzyzzzzzzyzzzzzzzzzzzyzzzzzzyzzzyzzzzyzzzzyzyzzzyzzzzyzzzzzzzzyzzyzzzzzzzyzzzzzyzyzzyzzzzzzzzzzzzzzzzzyzzyyzzzzzyzzzzzzyzzzzzyyyzzyyyzzzzyzzzyzzzzzzzzyzzzzzyzzzzyzzzyzzyzzzzzzzyzzzzyyzzyzzzyzzzzzzyzzzzyzyyzzzzzzyzyzyzzyzyzzzzzzyzzzzzyyzzyzzzzyzzzzyzzzyyyzyzzzzzzyzzzzyyyzyzzyzzzyzzzzzzzzzzzzzzyzzyzyyzyzyzyyyyzyyyzzzzzzzzzzzyzzzyyzyyyyzzzyyzzzyyyzzzzzyzyyzzzzyzyzyzyzzyzzzyyzzzzyzzzzzyzzzzyzzyzzzzzzzzzzyyzzyyzzzyzyyyzyzyzzzzyzzzzyyyzyzzyyzzzzzyzzyzzzzzyyzzyyyzzzzzzzzzzzzzzzzzzzyzzzzyyzzzyzzzyzyzzzzzyyzyyyyzyzzzyzyzyzzyyzyzyyzyzzzzzzzzzyzzzyzzzyyyzyyzyyyyzzyyzzzzyyyzyyzzzyyyzzzyzzyzyzzzyyzzyyyyyzzzzzyyzzyyyzzzyyyzyzzzzyyyzyzzzyyyyzzyzzzzyyzzzzyyzzyyzzzzyzzyzyzyyyzzyzzyzzzzzzzyzyzzzzzyyzzzzzzyzyzyzyzyyyyzzyyyyzzyyyzzyzzyzzzzzyzzzyyyzzzyyzzyzzzyyyyzyyyyzzzzyyzyyyzyyzyzzzyzzzyzyzyzzzyyzzyyzzzzzyzyyyyzzzzzyzzzzzyyzzyzyyzyyzzzyyyyyzyyzyzyyyzzyzyyyyzyzyyyzzyzyyyyyzyzyyyyyzzyzyyzyyyzyyyyzzyzyyzyyyyzyzzyyyyyzzyzyyzyyyyyzyzzzzyzyzyzyzyyzzzzyzyzyzzyyzzzyyyzzyzzyyyzzyzyyyyyyyyyyyyyzyzzzyyyyzzzzyyzyzzyyzyyyyzzzzyzyzyyzzzzzzyzyyzyzyzzyyzyzyyyzyyzzyyzyzyzyyyyyzyyyyyyyyyzzzzzzyyyyzyyyyyzzzzyzyzyyyzzzyyyyzyyyzzzyyyyyzyyzyyyyzyyyzyyyyyyyyyzzzyyzyyyyzyzyzzzyzzyzzyyyzzzyyyzzyzyyyzzyyzyzzyyyzyzyzzyyyyzyyzyyyyzyyzyzzzzzzzzyyzyyyyyzzyyzyyyzyyyyzzzyyyyyyzzyzyyzyzzzyyyyzyzyyyyyzyyyzzyzyyzyyzyyyyyyzyzyyyzyyzyzzzzyyyzyzyyyyzyyzyyyyyyzzyyzzzzyyyyyzyzyyyzyyyyyyyyyyzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzyzzzzzzzzzzzzzzzzzzzyzzzzzzzzzzzzzzzzzzyzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzyzzzzyzzzzzzzzyyzzyzzzyzzzzzzzzzzzzzyzzzzzzyzzzzzzzzzzzzzzzzzzzzzzyzzzzzzzzzzzzzzzzzzzzzzzyzzzzzzzzzzzzzzzzzzzzyzzzzyzzzzzzzzzzzzzzyyzzzzzzzzzzyyzzzyzzzzzzzyyzzzzzzzzzzzzzzzzzzzyzyzzzzzzzzzzzzzzzyzyzzyzzzzyzzyyyzzzyzzzyzzzzzzzzzzzyzzzyzzzyzzzyzzzzzyzyzzzzzzyzyzzzzzyzzzyzyzzzzzyzzzzzzzzzzzzzzyzzzzzzyzyyyyzzzzzzzzzzzzzzzzzzzzyzzzzzzyzzyzzyzzzzzzzzzzyzzzzzzyzzzzzzzzzyyzzzyzzyyzzzyzzyzzzzyyyzzzzzyzzzzzzzzzzyzzzzyzzyzzzyyzzyzzzzyzzzzyzzzzzyzzyzyzzzzzzzzzzzzzzzzzzzyzzzzyyyzzzzzzzyyzyzzzyyzyzzzzzyzyzzzyzzzzzyyzzzyzzzyyyzzzyyzyzyyzzzzzyyzzzzyzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz{zzzzzzzzz{zzzzzzz{zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz{zzzzzzzzzzzz{zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz{zzzzzzzzzzzzzzzzzzzzzz{zzzzzzzzzzzzz{zzzzzzzzzzzzzzzzzzz{zzzzzzzzzzzzzzzzzzzz{zzz{zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz{zz{z{z{{{{zzz{zzzz{{zz{{{zz{z{{z{zzz{z{z{z{{{{zz{zz{{{{zz{{zz{zz{zzzzz{{z{zz{zzz{{zzzz{z{zz{zzzzz{{{{zz{{z{zzzzz{{zz{z{zzzz{z{zz{zzzz{{z{{{{{zzz{{zz{{z{{zzzz{{{{{zz{zz{{zzzz{z{{zz{zzz{{z{{z{zz{{zzzzzzz{z{{zz{z{{{z{zz{zzzzzzz{z{z{{zzzz{zzzz{{zz{z{zzz{zz{{{{{{{{z{z{{{{z{z{{zz{zzz{{zz{zz{{zzzzzzzzz{{{{z{z{{{{z{{zzzzz{z{z{z{zzzz{zzz{zz{zzz{{zzzzzzz{zzzz{z{zzzz{{{zzzz{zzzzzz{{zzzzzz{zz{zzzzz{{z{{{zzz{z{{{zzzzzzz{zzz{zzz{zz{zz{zzz{z{{z{z{zzzzzz{z{zzzzzz{zzzz{zzzzzz{{zzzzzzz{z{zzzz{zzzzzzzzz{zzzzzzzzzzz{{zzz{{zzzz{z{{zz{{z{zzzzz{zzzzz{z{zzzzzz{{zzz{zz{z{z{zzzzz{zzzzzzzzzz{zzz{{z{{{zzzz{{zz{{zzzz{zzzz{zzzzzz{zz{zzzzzzz{zzzzz{zzzzzzzz{zzzzzz{zzzzz{zz{zzzz{zzzzzzz{zzzzzzz{zzzzzzzz{{{zzzzzzzzz{zzzz{zzzzzzzzz{zz{zzz{zzzz{zzzzzzzzzzzz{{zzzzzz{zzzzzzz{z{{zzzzzzzzzzzzzzzzzzzzzz{zzzzzzzz{zzzz{zzzz{z{zz{{{zzzzzzzzzzzzzzz{zzz{z{zzzzzz{zz{{zz{zzzzzzzz{{zzz{zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz{zzzzzzzzz{zzzzzzzzz{zzzzzzzzzzzzzzz{zzz{zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz{z{zzzzzzzz{zzzzzzzzzzzzzzzzzzz{zzzzz{zzzzzzzzzzzzzzzzzzzzzzzz{zz{zzzz{zz{zzzz{zzzzzzzzzzzzzzzzzzz{zzzz{zz{zzzz{z{zz{zz{zzzzzzzzzzz{zzzzzzzzzzzzzzzzzzzzzzzzz{zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz{zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz{zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz{zzzzzzzzzz{zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz{zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz{z{z{{{z{{{{{{{z{{{z{{z{{zz{{{z{{z{{{{z{zz{z{{z{{{{z{z{{zz{z{{z{{zz{zzzz{{{{{z{{{{z{{{{{{{{{z{{z{{z{{{zz{z{{{{{{{z{z{z{{{{{z{{z{{{{{{{{{{zz{{zz{{{zzz{{{{{{{{{{z{{{{{zz{{{{{{{z{{{{{zz{{{{z{{{zz{{{{zzz{{{z{{{{z{{{{z{{{z{{z{z{{{{{{{{{{{{{z{{{{{{{{{{{{{zzz{{{{{zz{{{{{zz{zz{{{{{z{{{{z{{z{{{zz{{z{z{{z{z{{{{z{zz{{z{{z{{{{{{{{z{{{{{zz{z{{z{{z{z{zzzzz{{zz{{{{{{{zz{z{{zz{{zzz{{z{{{{z{z{{{z{{z{{{{{{{z{z{{z{{{zz{z{{{z{{{{{{z{zzz{{z{{zz{{z{zzzz{{{{{z{{{z{zzz{{{{{zz{{{{{{{{{{{z{{z{zzz{{z{{{{zz{z{zz{{{{{zz{zz{{{{{{{{{z{{{{{z{zz{zz{{{{zzz{{{{{zz{zzz{{{{{zz{z{zzz{zz{z{{zz{z{z{z{{{z{{{z{zzzzz{{zz{{{{z{{z{{{zzz{{zzzzzz{{{{{{{zzz{{{z{{zzz{zzzzz{z{z{{{{z{zzz{{zz{{{{{{{zz{{zz{{{{{{{{{{zzz{zzz{{z{{z{{{{z{{z{{{z{z{{z{{{{{{{{{{z{{z{z{{z{{{zzz{z{zz{{{{zz{z{z{{{z{{z{{{{{{z{{{zzz{{{z{{{{{{{{zz{{{{{{{{{{z{{z{zzz{{z{z{zz{{{z{{zz{zz{{zz{z{{zz{{{z{z{z{zzz{{zzzz{{{zzz{{{z{{{z{z{zzz{z{{{z{zzz{{{{{{{{zzzz{z{{z{zzz{{{zzzz{zz{{zz{{{{zzzz{{{zzzz{{{zz{{zz{{z{{z{{{zzz{z{zz{z{{{zz{{{{zzzzz{{{{{{zz{{{zzzzz{zz{z{{zz{{z{zzz{{{zz{z{{{z{z{z{zzzz{z{{z{zz{z{{z{zz{z{z{{{zzz{zz{{z{{{zz{{z{{{zzzzz{{z{{zz{{{{{zz{{{{{{{{{{{zzz{zz{z{{zzzz{z{{{{z{{{{z{{{z{{zzz{z{{{z{{zz{zz{{{zz{z{zz{zz{{{zz{{{z{zzzzzz{z{zz{zzzz{{z{z{z{zzzzz{{zzzzzzz{{{z{zzzzz{z{zzzz{zzzzz{z{zz{{{{zz{{zz{{zz{z{z{{{z{{z{{{z{zzzzz{zzzzzz{zzzzz{{{{zz{{zzz{zz{z{{{zzzz{{zz{{zzzzz{zz{{z{{{zzzz{z{z{{zzzzzz{z{{zz{z{{z{{z{zz{{{zzzz{{{z{zz{z{z{{z{zzzzz{z{{z{zz{zz{{zz{{zz{zzz{z{zzz{zzzzzzz{z{zzzzzzzzz{z{z{zz{z{{{zz{zz{{zzzzzz{zz{zzz{z{zzzzzz{{zzzz{{{{z{{{z{zzz{z{zz{{z{{zzzz{z{zz{zz{z{zzzzzz{zz{{z{{zzz{zz{{zzzz{z{{zz{z{zzz{z{zzzz{z{zzz{{zzzzz{z{zzz{z{z{zzzz{z{zzz{z{{zzz{{{{{zzzzzz{z{zzz{{zzz{zzzzzzzzzzz{z{zzzzzz{zz{zzzzzzzzzzzzzzzzz{zz{{zzzzzzz{{zz{zzzz{zzzzzzzzzzzzzz{zzzzz{z{zzzzzz{z{{zzzz{zzzzzzzzz{z{z{{z{zzzzz{zzzzz{{zzzz{zzzzz{zzzzz{{zzzzz{zzzz{z{zzz{zz{zzzzzzzz{zz{z{zz{zzzzzzzz{zzzzzz{zzzzzzzz{{zzzzzzzzzzzzzzzzzzzz{zz{{zzzz{zzzzzzzzzzzzz{zzzzz{zz{zzzz{zzzz{zzzzzzzzzzzzzzzzzzz{{zzzzz{{{z{{{{{{{{z{{{{{{{{{{{{{{{{{{{{{{{{{{{{{zz{{{{{{{{{{{{{{{{{{{{z{{{{{{{{{{{{{{{{{{{{{{z{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{z{{{{{{{z{{{z{{{{{{{{{{{{{{{{{{{z{{{{{{{{z{{{{{z{{{{{{{z{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{z{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{z{{{{{{z{{{{{{z{{{{{{{{{{{{{z{{{{{z{z{{{{{{{{{{z{z{{{{{{{{{{{{{zz{z{{{{{{{{{{{{{{{{{z{{{{{{{{{{{{{{{{{{{{{{{{{z{{{{{{{{{{{z{{zz{{{{{{{{{{z{{{{{{{z{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{z{{{{{{{{{{{{{{{{{{{{z{{{{{{{{{{{{{{z{{z{{{{{{{z{{{{z{{{z{{{{{{{z{{{z{{{{{{{{z{zzz{{{{{{zz{{z{{{{{{{{{{{{z{{{{z{{{{{{{z{{{{{{{zz{{{{{z{{{{z{{{{{{zz{{{zz{{{{{z{z{{{{z{{{{{{{{{{{{{{{{{z{z{{{{{{{{{{{{{{{{z{{{{{{{{{{{z{{{{{{{{{{{{{{{{{{z{{{{{{{{{{{{{{{z{{{{{{z{{{{{{{{{{{{{z{{{z{z{{{{{{{{z{z{z{{{{{{{{{z{{{{{zz{{{{{z{{{{{{{{{{{{{{{{{z{{{{{{{{{{{{{{{{{z{{{{{{{{{{z{{z{{{{{{{{z{{{z{{{{{{zz{{zz{{z{{{{{{{z{{{{{{{{{{{{z{{{{{z{z{{z{{{{{{{{{{{{z{{{{{{z{{zz{{{{{{{{{{zz{{{{{{z{{{{{{{z{{{{{{{{{{{{{{{{{{{z{{{{{{{{{{{{{{z{{{z{{{z{{{{{{{{{{{{{{z{{{{{{{z{{{{{{z{z{{{{{{{{{{{{z{{{{{{{{{{z{{{{{{{z{{z{{z{{{{{{{zz{{{{z{{{{zz{{{zz{z{{{zz{{{{{z{{z{{{{{{z{{{z{{{{{{{{{{{{{z{{z{{{{{{{{{{{{{{{zz{{{zzz{{{{{{z{z{{z{{{{z{{z{{zz{z{{{zz{{{z{z{{{{{{zzzz{z{{{z{z{{zz{z{{z{{{{zz{{{{z{{{{{{zzz{{zz{{z{{{{{{{{{{{z{{{{{{z{z{{{{z{{zz{{{{{{{z{zz{z{z{{z{{{{{{{{{{{{{{{{{{{{{{{{z{{{z{{z{zzz{{{{{z{{{{{{z{{{{z{{{{{{{z{{z{{{{{{zzz{{{zz{{{{{z{{{{{{{{{{{{{{{z{zz{{{{{{z{{{{zzz{z{{zz{{{{{{z{z{{{zz{{z{{{{{zzzz{z{{{{{{zz{{z{z{{{{z{{{{{{{{{{z{{{{{{{{{{{z{{z{{{{{zz{{z{z{{{zz{{{zzz{zz{{{zz{{zz{{{{z{{{z{{zz{z{{z{z{z{{zzzzz{zz{{{{z{{{z{{{{{{zz{{{{{{{zzzz{{{{z{z{{{z{zz{{z{z{{zz{{z{{{{{z{{{{z{zz{z{{zz{{z{{z{{{{{z{z{z{{{{{z{{{zz{zz{{{z{{{{{zz{{{{z{z{{{zzz{{{{{z{{z{zzz{{z{zz{z{{{{z{{zz{{{z{z{{{z{zz{{z{z{z{z{z{zz{{{zz{z{z{zzz{{{z{{{zz{z{{z{{{{{{z{{{{zz{z{zz{{{{{zz{{zzz{{zzz{{{zz{{z{z{zz{zzzz{{z{{{{zz{zzzz{zzzz{zz{zz{z{zzzzz{{zz{zzzzz{{{{{z{{z{z{z{z{{{{z{{{{{zz{{zz{{zzz{zzz{zzzzz{{{{zz{zz{{z{{zz{{z{z{{{zzz{zzz{z{{z{{{{z{{zzzz{zz{{{z{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{z{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{z{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{z{{{{{{{z{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{z{{{{{{{{{{{{{{{{{{{z{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{z{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{z{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{z{{{{{{{{{{{{{{{{{{{{{{{z{{{{{{{{z{{{{{{{z{{{{{z{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{z{{{{{{{z{{{{z{{{{{{{{{{{{{{{{{z{{{{{{{{{z{{{{{{{{{{zz{{{z{{{{{{{z{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{z{{{{z{{z{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{z{z{{{{{{{zz{{{{{z{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{z{{{{{{z{{{{{{z{{{{{z{{{{{{{{{{{{{z{{{{{{{{{z{{z{{{{{{{zz{{{{{{{z{{{{{{{{{{{{{{{z{{z{{{{{{{{{z{{{{{{{{{{{{{{{{{{{{{{{{{z{{{{{{{{{{{{{{{{{{{{{{{{{{z{{{{z{{{{{{{{{{{{{{{z{z{{z{{{{{{{{{{{{{z{{{{{z{{{{zz{{{{{{{{{{{{{{{{{{{{{{{{{{{{z{{{{{z{{{z{{{{{z{{{{z{z{{{{{z{{z{{{z{{{{{{{{{{{{{{z{{{{{{{{{{{zz{{{{{{{{z{z{{{{{z{z{{{{z{{z{{zz{{{{{{{z{z{{{{{{z{{{{{{{{{{{{{{{{{z{{{{{{{{{{{{{z{{{{{{{{{{{{{{{zzz{z{z{{{z{z{{{{z{{{{{{{{{{{{{{{{{{z{{{{{{{{{{{{{{{{{z{{{{z{{|{{{{{{{{|{{{{{{{{{{{|{{{||{{{{{{{{{{{{{{{|{{{|{|{{{{{{|{{{{{{|{{{{{{{{||{{{|{{{{{{{{{|{{|||{{{{{{{{{{{{|{{{{{{|{|{{|{{{{{{{{{|{{{{{{{{{|{{{{{{{{|{{|{{{|{{{|{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{|{|{{{{{{{{|{{{{{{{{{{{{{{{{{{{|{{{{{|{{{{{{{{{{{{{{{{{{{{{{{{|{{|{{{{|{{|{{{{|{{{{{{{{{{{{{{{{{{{|{{{{|{{|{{{{|{|{{|{{|{{{{{{{{{{{{{{{{{{{{{{{{{{{|{{{{{{{{{{{{{|{{|{{{{{{{{{{{{{{{|{{{{{{{{{{{{{{{{{{{{|{{{{{{{{{{{|{{{{{{{{{{{{{|{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{|{{{{|{{{{{{{{{{|{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{|{{{{{{{{{{|{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{z{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{z{{z{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{z{{{{{{{{{{{{{{{{{{{{{{{{{{{{z{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{z{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{z{{{{{{{{{{{{{{{{{{{{{{{{{z{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{|||{{|{{|{{|{{{{{{{{|{{{{||{{||{{|{{||{{|{{|{{|||{|{|{|{{{||{{{{{|{{{{||{{|{|{|{|{{{{{|{|{|{{{{||{||||{{{{|{||{{{{{||{{{{{|{{{{{{{||{{{{{|{|{{{{{||{{||{{|{{||{|||{{{{{|{{{{{{|{{|{{|{{{{{|||{||{{||{{{{{{{{{|{||{{||{{{{{{||{{|{{{|{|{{{|{{{{{{{|{{{{{{||{|{{|{|{||{{{{|{{{|{|{|{{{|{{||{{{{{||{||{{{{|||{{{|{|{{|||{|{{{{{{{{|{{{{{|{{{{||{|{{|{{|{||{|{|{{{{|{|{{||{{{{{|{|{{{{{{|{{{{{{{{||{{{|{{{|{{|{{{|{|{|{{{{|{|{{{{{{|{|{||{{{{{{{{{{|{|{{{{{{||{{{{{{{{{{{{||{{|{{{|{{{{{{{{|{{|{{{{|{{{{{{{{{{||{||{|{{{|{|{{{{{{{{||{{{{{{{|{{{{{{{{{{|{|{{|{{{{|{|{{{{{|{{{{{{{{{{{{|{{{|{{||{{|{{|{{||{{||{{{{{{{{{{{{|{{|{{{{|{{|{{{{{{{|{{|{{{|{{{{||{{|{{{{{|{||{|{{{|{{{{{{|{|{{{{|{|{{{{{{|{{{|{{|{{{{|{{{{{{{{{{{{{{{{{{{{||{|{{{{{{{{{{|{|{{{{{{{{{{||{|{{{{{{{{|{{{{{{{{{{{{{{|{{{{|{|{{{{{{|{{{|{{|{{{{|{{{{{{{{{{{{{{{{{{{{||{|{{{{{{{{{{|{|{{{{{{{{{{||{{{{{{{{{{{{{{{{||{{{{|{|{{||{{{{{|{{{{{{|{{{{{{{{{{{{{{{{{|||{||{{{{{{{{{{|{{{{{{{{{{{|{{{{{{{{{{{{{{{|{|{|||{{{{{{{|{{{{{{{{{{|{{{|{|{{|{{||{{{{{{{{|{{{{|{{{{{|{{{{|{{{{{{{|{|{{|{|{{{{{{{{{{{{{{{{{{{{{{{|{|{{{{{{|{{{{{{{{{{{|{{{{{{{|{{{{{{{{{{{{|{{|{||{{{{{{{{{{{{||{{{{{{{|{|{{|{|{{{{{{{{{{{{{{{{{{{{{{{|{|{{{{{{|{{{{{{{{{{{|{{{{{{{|{{{{{{{{{{{{|{{|{||{{{{{{{{{{{{|{{{|{{{{{{{{{{{{{{{{{{{{{{{{{{{|{{|{{{{{{{|{{|{{|{{{{{|{{{{{{{{{{{{{|{{{{{{{{{{{{{{{{{{{{{{{|{{{{{{|{{|{{{{{|{{{{{{{{{{{{|{{{{|{{{{{{{{{|{{{{{{{{{|{{{|{{{{{{{{|{{{{{{{{{{{{{|{{{{{{{{{|{{{{{{|{{{|{{|{{{{{{{{{{{{{|{{{{{{{{{{{{||{{{{{|{{{{{{{{{{{{{{{{|{{{{{{{{|{{{{{{{{{{{{{{{|{{{{{{{{{{{{{{|{{{{{{{{{{{{{{{{{{{{{{{{{|{{{{{{{{{{{{{{{{{{{{{{{{|{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{|{{{{{{{|{{{{{{{|{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{|{{{{{{{{{{|{|{{{{{{{|{{{{{{{{{{{{{|{|{{{{{{{{{{{{{{|{{{|{{{{{{{{{{{{{|{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{||||||{|||||||||{{{{{|{||{|{|{|||{{|||||{{||{{||{|||||||{||{||||{{{{{{||{{{{{{||{|||{{||||{{|{{|||||{||{{|{|||{{{{|{{||{||{{||||{{|{|||||||{||{||||{|||{{|{||{||||||||{{|{{{|{{|{|||||{||||{|{||{{|||{||||||{|{{|||||{|||{{{||||||||||{|{||{||{|{{|{{||{||||{{|||{{||{|{{{||{{{{|||{{||{|{{{||||{|||{{|{{|{||||||{{{||{{{{|||{|{{|{|||{||{{{|{{{||{||{{|||||{|{|{{{||||{|{|{||{{||{|{{{{|{|{{{{{||{||{|||{{||{{{{|||||{{{|{{{||{{{{{||{{{|||||{|||{|{{{|||{||{|||{{{{|||{{{|{|{{|{|{||{|||{|||{{|{|{||||{{{{|{{{||{||||||||{||{||{{{{{|{|{||{{|{{|||{{|{|||{{{||||||||{|{|{|{{|{{{{||{|{|{||{|{|{{{{|||{{{{{{{{||{|||{{||{|{|{{|{{{|||{|{{|{||{||{{{||{{|||||{|{||{||{{|{|{{{{{{{|{{{{|{{{||||{{{|{{{|{{|{|||{|{{||{{{|{|{{{||||{{|||{{|||{|{|{{{{{{{|{|{{{{{||{||{|{||{||{{|{|{{{{{{{|{{{{|{{{||||{{{|{{{|{{|{|||{|{{||{{{|{|{{{||||{{|||{{|||{|{|{{{{{{{|{|{{{{{||{{||{|{|||{|{{|||{|{{|{{|||{|{{|{{||||||{{|{{{|{|||{{{||{|{|{|{|||||{{||{|{{{{{{|{||||{|{{|{|||{{||{|{||{{{||{{|{{||||{|{{{|||{{{{|||{{{|{{|{{{|{{{{||{|{|{{{|{{{{||{{{{|{{|{{{|||{{{{{{{|||{{{{|{{{{{|{|||{{{{{|{{{{{|{|{{{{|{{|{{|{|{{{{{|{{{{{||{|{{{|||{{{|{{{|{|||{{|{{{|{{|{{{|||{{{{{{{|||{{{{|{{{{{|{|||{{{{{|{{{{{|{|{{{{|{{|{{|{|{{{{{|{{{{{{|{|{{{||{{{{|{{{{{|||{{|{{{{|{{{{{|{{{{{|||||||{{||{{|||{{|{{{|{{|{{{{|||{{{{{{{{{||||{|{|{|||{{|{|{{|{{{{{{{|{{|||{|{{|{{|||{|{|||{|{|{{{|||||{{{{|{{{{{{{{{{|{{{|{|{{||{{{|{|||||{{{{{{||{||{{{{{{{{{{|{{{{{{|||{|{{{{|{{|{|{|{{{|{{{{|{{{{|{{{{{|{{{||{{{|{{{||{{{{{{{||{{{{{{{||{{|{|{|{{{{{|{{{{{{|||{{{{{{{{|{||{{{{||{{||{|{{{{{{{|{|{{{{{{|{{{{{|{{{{{{|{{{|{{{{{{{{{{|{|||{||{|{{{|{{{{{|{{{{||{{||{{|{|{{{{|{{|{{||{{{{{{|{{|{{{||{|{|{{{{{|{{{|{{{{{{{|{|{{{{{||{{{|{|{{{{{|{{{|{|||{{{{{{|{{|{{|{{{|{{{{{|{{|{{|{||{{|{{{{{{{|{{{{{{|{|{{|{{{{{{|{{{{|{{{{{{{|{||{{{|{{{{{{{{{{||{{{{|{{{{{{{{{{{{|||{|{{|{{{{|{{{{{{||{{|{{|{{{{{|{{{{{{{{{{{{{{{{{{{{|{{{{|||{{|{{{{{{{{{{{{||{|{{|{{{{|{|{{{{{{{|{{{{{{{{{{{{{||{{{{{|{|{{{{{||{{||{{|{{{|{||{{{{{{|{{|||||{|||{||||||||||||||||||||||{|{||{||{{|||||||||{{||||{{|||||||||{||{|{||{|{|||||||{|||{|{||{|||||{|||||||||||||{|{||{||||||{||||||{||||||{|||||||||||||||{{{|||{|{|||||{|||{{|||{||||{|||||||||{{||||{||||{|||||{{|{||{||||||{||||{|||||{||||{||{{|{{{{|||||||||||{|||||||{||||||||||||||{{|||||||{|||||||||||{||||||{||||||{||{{|||{|{{|||{|||||||{|{{||{||||{|{|||{||{||||{||{|{||||||{|||{||{|||||||||||{{||||||{||||||{|||||{||{||||||||||||||||||||||||||||||||||||||{|||{|||||{|||{||{||||||||||||||||{|||{{||{||||{||{|{||{|{|||||{{||||||||||{|||{|||{{|{{|{||||{{||{|{|||||||{{{{|||||||||||{|||{{||{|{|{|||||{|||{||||{{||||{{||||{|||||{|||{|{|{||{||||{{||||||||{||||||||{{|||{|{{|{{||||||{|{{|{|{||||{|||||||{{|{|{||{{{{{{{|{{|||||{{|||||||||{|{||{||||{{||||||||{||||||||{{|||{|{{|{{||||||{|{{|{|{||||{|||||||{{|{|{||{{{{{{{|{{|||||{{||||||||||||||{|{{|||||||||{|{|{|{||{{{|||||||{||||{||{|||||{{{{{{|||||{|{||{|{|{||{{||||||{|{{{|||{|||{||{{||{|{||{{||{||{{|{||||{|{|{|{|||{||{|{|||{|{{{|||||||||||{|{||{|{{|{|{{||{|{{|{|||{|{|||||{{{|{||{|{{|||{{{|{|{||||{|||{{||||{||||||{{{{{|{{{{||{||{|{{||{{|{{|{{{{{||||{|{{||{|{{|{|||{|{|||||{{{|{||{|{{|||{{{|{|{||||{|||{{|{||{||||{|{{{{{|{{{{||{{|{|{{||{{|{{|{{{{{||||{||{||||{{{{|{|{||||{|{|||||{|||{|{{{{||{{|{|{|{||{{{|||{|||{{|||||{||{|{{|||||||{||||||{{|{|||{||{|{||{{|{||||||||||{|||{{{||{|{||{||||||{|{|{||{{{{{|{|{{|{{|{||{|{|{|||||{|||{{|||||{||||{||||||||{|{|{{|||{||||{||||{{|{||||||||{|{{|{|{{{||{|||{|{||{|{|{{{|{||{{{||{|{{{||{{|||||{{|{{{{{{||{{|{|{|{||||{|||||{{||{{{{|{{{|{{{{{{||{{{|||||{{{|||{{|||{{|{{{||{|||||{{{{|||||{{{|{||{{{{{||||||{{{{{{|{|||{{{{|{{||{|{|{{{||{{|{|||{{||{|{|{|{{{{{||||{|||{|{||{||||{|{|{{{{{{|{|{||{|||{{{{{{{{|||{{||{{||{{{{{{{|{|{{|{|{{{||{{{|{{|||{{{||{{|{|{{{|{{{{{|{{{{{{{|{||{{{|{||{{{||||{{{{||{|{|{{{{||{{{||{||{{{{{|||{{|{|||{{{{|{{{||{{||{{{{{{{{{||{{||{{|{{||{{{{|||{||{|||||{{{{|{{|{||{{||||{|{{||{{|{{{|{|{{{|{{{{|{{|{|{{{{|||}||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||}|||||||}|||||||}||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||}|||||||}||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||{||||||||||||{||||||||||||||||||||||||||||{|||||||||||||||||||||||||||||||||{||{||{|||||||||||||||{|||||||||||||||||||||||||{|{||||||||||||||||||||||||||||||||||||||||||||||||||||{|||||{|||||||||||||{||||||||||||||||||||||||||||||||||||||{|||||||||||||||||||||||||||||||||||||||||||||||{||||||||{|||||||||||||||||{{||||||||||||||||||{|||{|||||||||||||||||{||||||||||||{|||||||||||||||||||||||{||||||||||||||{||||||||||||||||||{||||{|||||{|||||||||||||||{||{|||||||||{|||||{{|{|||||||||||||||||||||||{|||{||||||{|||{||{||||{|{||||||||||||||||{||||{|||{||||{|||||||||||{{||||{{|{||||{|||||||||||||||||{||||{||||||{|||{||{||||||{|||||||||{||{||{{|{||{|||{||||{||||||||||||||||{|{|{||||{{{{|||||||{||{|||||||||||||{||||||{|||{|{||||||||{{||{|||||||{|||||{||||||||||||||||{|||{{||||||||{|||||{{||||||||||||||{||{||{|||||||||{{|||||||||||||{{|||||||||||||{||||||||{|||||||||||||{|{||{||{||||||{|||||{||||||||||||{|{{||{|{|||||{|||||{|{{||{|||||||||{||{{||||||||{|||||{{||{||||||||||{||||||{||{||{||||||||||||{||||{{|||||{{|||||||{{|||||{|||{||||{|{|||||||{{{|||||||||{{|||||{|||{|||||{||||||||||||||||||||||{|{{|{|||||||{|||{{||||{|||||{{|{|{|||{|||||{|{||||||{|{||{|{{||{||{{||||{{{||||{||{|{||||||||{|{||||||||{|||||{|||||||||{{||||{{||{||{{|{{{|{|{||{||||||||||{{{||{{{{|{{{|{||{{{|||||{{||||{|||||||||{|||||||||{{||{||||||||||||{{|{|||||{{|||||{|||{||||||{|{{|||{|{|||||||{{{{||||||||}||||||||||||||}}|||||||||||}||||}}}|}||}|||||||}|}||||||}|||||}||||||}|||}|||}||||||}||}}|}}|}|||}|||||}|||}}}||}}||}|}||||}||}|||||||||||||}|||}}|||||||||}}||||||||||}|}||||||}|||}|||||||||||}||||||||}|}||}||}|||}|||||||||||}|}|||}||||||||||||||||}||||||||||||||}|||||||||}||||}|||}|||||||}|||||||||||||||||||}|}|||||||}||||||}||||||}}||||}|||||||}||}||||}|||||||||||}||}||}||}}|||||||}|||||||||||}||||||||||||||||||||}||||}|||}|||||}||}|}|}|}}|}|}}|||||||||}|||||||}|||}||||||||||}|}|||}||}|||||||||||||||||||||||||||||||}|||||||||||||||||||||||||||||||||||||||}||||||||||||}||||||||||}||||||}|}||||||||||||||||}||}||}|||||}}||||||||||||||||||||||||||}||}||||||||||||||||||||||||||}|}}||||||||}||||||||||}}||||||||}||||||||||}|||||||||||}|||||||||||||||||||||||}|||||}||||||||||||||}|||||||||||||||||||||||}||||||||||||||||||||||||||||||||||||}}||||||||||||}|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||}||||||||||}||||||}||||||||||||||||||||||||}||||||||||||||||||||||||}||||||||||||||}||||||||||||||||||||||||||||||||||||||||||}||||||||||||||||}||||||||||||||||||||||||||||||||||||||||}|}|||||}|||||||||||||||||||||||||||||||||}|||||||||||||||||}||||||||||||||||||||||||||||||||||||||||}|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||}||||}|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||{|||{||||||||||||||||||||||||||||||||||||{||||{||{|||||||||||||||||||||||||||||||||{||||||||||||||{||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||{||||{|||||||||||||||||{|||{{||}}|}|}}}||}|}|||||}|||}}||}}|}}||}}||}||}}||}|}|}|}}}}|}}}}|||}}}|||}|||}||||||}}||}}}}}}|||}}}|}}}}||}|||}}|}}}|}||||}}}}}|||}||}|||||}}}}}}||||||}|}}}||||}|}}}|}|}}||}}|}}|}}|||}}|||}}}}||||}}}}|}}}|}|}}|}}}}|}|}||||||}|}|}}|}}}||}|||||}|}|||}||}}|||||}|}|}||}|}|||}}|||}||}}}|||}}||||}|||}||}}|}}||||||}|}}||}}|}}|||}}}}||||}}}}|}||||}}||||||}}|||||}}}||}|}}}||||}|}|}||||}}||}}||}}|||||||}|||}}|}}}}||}||}||||}}|}|||}}}||||||}|}|}}||}}}|||}}}}}||}|}}}||}||}}}|||||}||}||}}}||}||}||}||||}}}|}||}}|}|||}|}}|}|||||||||}|}||}}|||||||||}}||}}}}}}|||}|||||}|||||||||}}|||||||||}||||}||||||||}|||||||||}}||}||}||}}|}|||||||}}||||||}||||||}}|}||}|}|}||}|}}|}||}|}|||||}}|||||}|||||}|||}}||||||}}|}||||}|||||}}}||||||}||}||||}||}}}|}|}}|||}|}|||||}|}|||||||}|}||||}|||}|}||||||}|||||}|||}||||}|}}}||||||}|||||}|}|}||||}||}||||}||}}||}|}}}|||||||}}|}||}||||||||}|}}}||}|}|||}|}||}}}}|||}|||}}}}}}|}||||||}}||}}||}}|||}||}|||}|||||}}|||}||||}|}}|}|||||}}|||||||||}|||||}|||}}|}||}}}||}|||||}|||}||||}}||}}|}|||}|}|}||}}}||||||}|||}||||}|}||}|}|}|}|||}||||||}||}||}|}|}}|||}|||}}||||}||||||||||}|||}|}|||}|||||||}||||||}}}|}||}|||||}|||}|}}||}|}|}|}|||}}|||}||}|}||}}}|}|}||}|}|}|||||}||||||}|||}|||}|}|||}||||||}||}}||}}||}|||}|||||||||||||}|||||||||}|||||||||||||||}|||||||}||||||}|}||||||||||}||||||||}||||||||||}|||}|||||||||||||||||||}||||}}|||}||||}|||||||||||||}|}|}|||||||}|||||||||||||||}}|||}||}|||}|}||}||||||||||||||||||||||||}}||}|||}|}||}|||||}||}||}}|}||||||||}|}|}|||}|}}||||}||}|}|||||||}||||||||||}|}|}}|||||||||||||}}|||||}}|||||||||||}||||||}}}|}||||}||||}|||||||||||||||||}||||||||||||||||}||||||||||||||||||||||||||||||||||||||||}|||||||}|||||||||||||||||||||}}||||||||||||||||||||||||||||||||||}||||||||}||||||}||||}|||||||||||||||}||||||||||||||||}||||||||||||||||||||||||||}||||||}|||||||||||||||||||||||}|||||||||||||||||||||||||||}|||||}||||||}||||||||||}||||||||||||||||}||||||}||}|||||||||||||||||}}}}}}||}}}|}}}}|}|}|}||}}|}}|}}}}}}|}}||}}}}}}}}|}}}}}}|}}|}}}}}}}}}}}}}}}}}|}}|}}|}}}}}}}}}}}}|}}}}||}}}}}||}}}}}}}}||}}}}|}}}}}}}}}}|}}}}}}}|||}}}}}}}}}||}}}}}|}}}|}}}}}|}}}}}}}}}}}}}}}}}}}}}}|}||}|}}}}}}}|}}}||}}}}|}}}}}||}|}|}}}|}}}}}|}|}}}}}}|}|}}|}||}}}}}}|}}}}}||}}}}|}}|}|}}}}}}}}|}}}}}}}}}}|}}}}}|}}}}}}}}}||}}}}||}}|}}||}||}}|}|}}|}}}}}}}}}}|||}}|||}}}||}|}}|}}}}}|}}}}}|||}||}}}}}}|}}}}}||}}}|}}}}}|}|}||}}}}}}}|}}}}}}}}}}|}}|}}}|}|}}}}}|}}|||}|}}}}}}|||}}}}}}}}}}}|}}}}||}|}|}}}|}}|}|}|}}|}||}}}}|}|||}|}||}}}||}}}}}}}}}||}}}}|}|}}}}|}}|}}}}|}}}}|}}}}|}}|}|}|}}|}}}|||}}}}|}}}}}}|}}}}|}}}}}}}|}|}}|||}|}|}|}}}|}}}}}}}|}|||}}}|}}}|}}||}}}}}|}}}|}|}}|}}|}|}||}||}|}}}}|}}}|||}}|}}}}|||}}}}|}|}|}}}}}||}}}}}||}}}|}|}}}}|}}||}}}}}|}}}|}}||}}}|}|}}}|}|}||}}|}|}||}||}|}}}}|}}}|||}}|}}}}|||}}}}|}|}|}}}}}||}}}}}||}}}|}|}}}}|}}||}}}||}}}|}}||}}|}|}|}|||||||}}||||}}||}}}|}}}}|}}|}||}}||}}}}|}|}||||}}|}}|}}}|}}}|}}}}}||}}||}||}}}}}}}}}}|}|}}}}}|}}}}}}||}}}|}}||}|||}|}||}||}}|}|}}}}}}|}|}}||}}}}}}|}|}}}}|}|||||}||}}||}|}|}}||}|||}||||}}|}}}}}}||}|||}||||||||||}||}|||}|}|||}|}}||}|}|}|}}}|||}|}||}|}|}}|}|}|||||}}|}}||}|}|}}||}|}|}|||}}}|}}}}}}||}}||}}|||||||||}||}|}|}|}|}|}|}}||}|}|}|}}}|||}|}|}}||}}||}}}|||}|}|}||}}}}}|||}}|}||}|}|}}}|}}|}}||}|||||||||}|}|}||||}||}|}||}|}|}||||}|||}}|||}|}|||}||||}}}|}}|}||}|}}}}|||||||}|}||}||}|||||}|}||||}}||}}}}|}}}}|||||}}}|||}|}}|||||}}|||}}|||}|}||||}}}}}||}||}}|||}}||||}||}|}}||}}}|||||}||||}|||}|}}||||}}|}}}|}}||||}||}|}}}}||}|}}}}}|}||||}}|}}|}}}}||}}||||||||}}}}|}}|}|}|}||||}||}}|}|}}|}||}}}}|||||}||}}||}|||||||}|||}|}||||}|}}}|||||}|||}||||||}}|||}}|}}|}}|||||}}}}|}}|}|}|}||||||}}}|}}||}||||||}}|}}}|}||}}||||}}}}|}|}||}}}|}}|}|}||}}||}}}||||||}}|}||||||||}|}|}||||}|}|||}}||}}|||||}|}}|}}|||||||}|||||}}}|}||||}}}}|}|}|}}|}}|||}||}|}||}}}||}||||}}||||||||||||}||||||||}||}||}}|}||}|}|}}|}}|}|||}}||}}}||}|||||}|||}}}||||||||||||}|||||}}||}|}}||||}|}}||}|||}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}|}}}}}}}}}}}|}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}|}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}|}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}|}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}|}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}|}}}}|}|}}}}}}}}}}}}}}}}}}}}}|}}}}}}}}}|}|}}}}}}}}}}}}}}}}}}}}}|}}}}}}|}}}}}}}}}}}}}}}}}}|}}}}}}||}}}}}}}}}}|}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}|}|}|}}}}}}}}}}}}}}}}}}}}}}}|}}}}|}}}}}}}}}}}}}}}}}}}}}}|}}}}}}|}}}}}}}}}}}}}}}|}}}}}||}}|}}}}}}}}}}}}}|}}}|}}}}}}}}}}}||}}|}}}}}}}}}}}}}}}}}}}}}|}}|}||}}}}}|}}|}||}}}}}}}}}}}}}}}}||}}||}}}}|}}}}}}|}|}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}|}}}}}|}}}}}}}}}|}}}}}}}}}|}}}}}}}}}}}}}}}|}}}}|}}|}}}}}}}}}|}}}}}}|}|}}}}}|}}}}}}}}}}}}}}|}||}}}}}}}}}}|}||}}}}}|}}|}||}}}}}}}}}}}}}}}}}}}}}}}}}}}}|}}}}}}}||}}}}}}}|}}}}}}}}}|}}}|||}}}}}}||}}}}}}}}}}}|}}|}}}}}}}}}}}|}}||}}}}}}|}||}}|}}}|}|}||}}}|}|}}}}}}|}|}}|}|}}}}|||}||}}}}}}}}}|}}|||}}}}}}}|}}}}|}}|}}}}|}}}|}}}|}}}}}}}}}}}}}||}}|}}}|}|}||}}}|}|}}}}}}|}|}}|}|}}}}|||}||}}}}}}}}}|}}|||}}}}}}}|}}}}|}}|}}}}|}}}|}}}|}}}}}}}}}}}}}|}}}}}}}|}}}}}}}|}|}}}}}|||}|}}|}}||}}}}}}}|}}|}|}|}}}}}}}}}}}|}}}|}|}}}}}||||}}}}|}}}}|}}}|}}}}}||}}}|||}}|}}}|}}}|}|}|||}}}||}}}}|}|}|}}}|}|}}}}}}}}}}}}|}}}}}}|}}||}}}}}}|}||}}||}}|}}}}}}}}}||}}}}}}|}}}}}|}}}}}}|}}}}}}|}}}}}||}|}}}||}}}}|}}}}}}|}}}}}}}}|}}}}}}|}}}}}|}}}}}}}}||}}|}}|}}||}}|}}}}|}||}}||}}}|}}}}}}}}}||}|}||}}|}||}||}}}}}|}|}|}}}}}}}}}|}|}|}|}|}}|}|}|}}}}|}||}|||}}|}}}|}}}||||}}|}||}}}}}}|}}}}}}}|}}}}}}}}|}}}|}}|}}}|}}|}}}||}|}|}}||||}}}}|||}||||}}}}}}}}}}|||}|}||}}}}}||}}}}|}||||}}}}}}}|}}}||}|||}}}|}}}|}|}||}}}||||}}}||}}|}}}}}}|}||}}|}||}}}}}||}|}|}|||}}}}|}|||}||}|}}}}}|||}|||}}}||}|}}|}|}||}}}}}||}||}}}}|}}}||}}}}}}}}}|||}}}}}}}}}}|}|}}|}}|}||}||}}|}}}}||}}}||}}}}|||}}||||}}}||}}|}|||}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}|}}}|}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}|}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}|}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}|}}}}}}}}}|}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}|}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}|}}|}|}}|}}|}}}|}}}}}}}}}}}}}}}}|}}}}}}}}}}}}}}}}}}}|}|}}}}}}|}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}|}}}}}}}}}}}}}}}}}}}|}}}}}}}}}}}}}}}}}}}}}}}|}}|}}}}}}}}}|}}}}}}}}|}}}}}|}}}}}}}}|}|}|}}|}}||}}}||}|}}|}}}}}}}}}|}}}}}}}}}}}}}}|}|}}}}}||}}}|}}}}}}}}}||}}}|}}}}}}}|}}}}}}}}}}|}}}|}}}}}}}}|}|}}}}}}}|}}|}}}}}}}|}}}}}}}}|}||}}}}}}}|}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}~}}}~}}}}}}}}}}}}}~}~}}}}}}}}}}}~}}}}}}}~}}}}}}}}}}}}}}}}~~}}~~}}}}}}}~}}}}}}}}}}}}}}}}}}~}}}}}}~}}}}~}}}}}}}}~}}}}}}}}~}}}}}}}}}}}~}}}}}}}}~}}}}}}}}}}}}}}}~~}}}}}}}}}}}}~}}}~~}}}}}}~}}}~}}}}}}}}}}}}}}}}}}}}}}}}}}}}~}}~}~}}}}}}}}}}}}}}}}}}~}}}}}}~~}}}}}}~}}}}}}}}~}}}}~}}}}}}}}}~}}}}}}}}}}}}}}}}}}}}}}}}}}}}}~}}}}}}}}}}}}}~}}}}}}}}}}}}}}}~}}}}}}}}}~~}}}}}}}}}}}}}}}}}}}}}}}}}}~}}}}}}}~}}}}}}}}}}}}}}}}}}}}}}~}}}}}}}}}}}}}}}}}}}}}}}}}}}~}}}}}}}}}}}}}}}}}}}}~}}}}~}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}~}}}}}}}}}}}~}}}}}}}}}}}}}}}}}}}}}}}}}~}}}}}}}}}}}}}}}}}}}}}}}}}}~}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}~}}}}}~~}}}}}}}}}}}}}}}}}}}}~}}}}}}}}}}}}}}}}}}}}}}}}}}}}~~}}}}}}}~}}}}}}}}}}}}}}}}}}}}}~}}}}}}}}}}}}}}}}}}}}}}}}}}}~}}}~}}}}}}}}}~}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}~}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}~}}}}}}}~}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}~}}}}}~}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}~}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}~}~~}}}}}}}}~}}~}~}~}~~}~~~}}}}}~~}}~~~}}}}}~~~~}}}}~~}~~}~~~~~~}}~}~~}}~~}}~}}~}}}~}}~~}}}}}}~}}~}}}~}}}}}}~}~}~}}~}}~}}}}~~}~}}~}~~}~}~~~}}}}}~}}}}~}~~~~}}~}~}}}~~~}}}~}}~~~~~}}}~}~~}~~}~}}~}}~~~~}}}~~~~~}}~}}}~~~}}}}~}~}~}~}}~}~}}}}}~}~}}~~}~~}}}}}}}~}~}}}}~~~~~}~~~}}}~~}}}}}}~}}~~~~}}}}}}}~~}}}~}}}}}~}}}~~~~}}}}}~}}}}~~}}~~}}~~}}}}~}}~}~~}}}}~}}}~}}~}}~~}}}~~}}~}}}}}}}~}}}~}~~}}}}}}}}~}~}}}}}~~}~~~~~}~~}}}}~~~}}}}}}~}~}}}~}~~}~}~~}}~~~}}}}}}~~}}~~}}~~~}}~}~}}~}~}}~~~}~~~}}}}~}~}}~}}~}~}}~}}}}}}}~}}}}}~~}~~~}}}}}}}}}~}~}~}~}}}}}~}~}}}~~}~~~~}~}}}}}}~}~~}}~~~~}~}~~}}}}~~}}~}~}}~~}~}}}}~~}}}}~~~~~}~}}}~~}}}}}~~~~}}}}}}~}~~}}}}}}~}}}}}}}~}~~~}~}~}}}}}}}}}~~}}~}}}}}~}}~~}}~}}}}}}}}~}~~}}~}}~}}}}}}}~}}}~~}}~}}}}}}~}}}}}}}}~~}}}}}}}~}}}~~~}}}}}}}}}}}~}}}}}}}}}}}}}}}}~~}}}}}~}}~~}}}}}}}}}~}}~}}}}}~}}~}}}}~~}~}~~}}~~}}}~}~}}}}~}~~}}}}}}~}}}~}}}}}}}}}}}}}}}~~}}}}~}}}~}~~}}}}}}}}}}~}~}}~~}~}~}}}}}}}}}~}}}}}~}}}}~}}}~~}}}~}}}~}}}}}}}}}}}}}}}}}}}}~}}}}}~}}}}}}~~}}}~}}}}}}}}}~}}}}}}}~}~}}~}}}}}}}}}}}}~}}}}}}}~~}}}}}~~}~}}}~}}}}~}}~~}}}~}~~}}}}}}}}}}~}}}}}}}}}}}}}}~~}}}}}}}}}}}}~}}}~}}~}}}}}}}}}}~}}}}}}}}}~}}}}}}}}}}}}~}}}}}}}}}~}}}~}}}}}}}}}}}}}}}~}~}}}~}}}}}}}}}}}~~}}~}~}}~}}}}}}}}}}}}}}~}}}}}}}}}}}~}}}}}}}}}}}}}}}}}}}}~}~}}}}}}}~}}~}}}}}}}}}}}}}}}~}}~}}~}}}}}}}~}}}}}}}}}}}}}}}}}}}}}}}}}}}}}~}}~}~}}}~}}}~}}}}}}}}}~}~}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}~}}}}}}}}}}}}}}}}}}}}}}}~}}}}}}}}}}}}}}}}}}}~}}}}}}}}}}}}}~}}~}}}}}~}~}}}}}}}}}~}}}}}~~}}~}}}}}}}}}}}}}}}~}}}}}}}~}}}}}}}}~}}}}}}}}}}}}}}}}~~~}}}~}~}}}}~}}}}~}}}}}}~}}}}}}}}}}}}}}}}}}}}}}}}}~}}}}}}}}}}}~}}}}}}~}}}}}}}~}}~}}~}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}~}}}}}}}}}}}}}}}}}}}}}~}}}}~}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}~}}}}}}}}}}}~}~}}}}}}}}}}}}}}}}}}}}}}}}}}}}}~}~}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}~}}}}}}}}}}}}~}}}}}}}}}}}}}}}}}}}}}}}}}}}~}}}}}}}}}}}}}}}~}}}}}~}}}}~}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}~}~~~~}~~~~~~~~~~~~~}~~~~~~~~~}}~~~~~}~~~~~}~~~~~~~}~~~}~~}~~~~~~~}~~~~~~~}~~~~}~~~~~~~~~~~~~~~~~~~~~~~~~}~~~~~~~~~~~~~~~}~~~~}~~~~~~~~~~~~~~}~~}~~~~}~~}}}~~}~}~~~~~~~}~}~~~~~~~~~~~~}~~~}}}~}~~~}}~}~~~~~}}~~~~~}~~~~}~~~~~~~~}~~~}~~}~}~~~~}~~~~}~}}~~~}}~~~}~}~}~~}~}~~~~}~~~~~~~~}~~~~~~~~~~}}~~~~~}~}~~~}~~~}~~~~~~~~~~~}~~~~~~~~~}~~~~~~~~}}~}~~~}~}~~~}~~}}~~~~~}~~~}~~~}~}~~~~~~~~}~}~~~~~~}~~~}}}~~~~}~~~~~~~~~~}}~~~}~}~}~~~~}~~~}~}~~~~~~~~~}}~~}~~}~}~}~}~~}~}}~}}~~}~}}}~~~~~~}~}}}~}~~~~~~~~}~~}}~}~~~~~~}}~}~~~~~}~}}~}~}}~}~~}~~~~~~}}}}}}~~~~~}~}~~~~~}}~}}~}~~~}}~~~~~~}~~}}~}~~}~~}}~}~~}~}}~~}}}~}~~~}~~~}~}~~~~~~~}~}~~~~~~~}~~}~~~~}~}~~}}}~}~}~}}~}~~~~~~}~~}~~~}~}}~~~~~}}~}~}}~~~~~~}~}}~}~}~~}}~~~}~~~~}~~~}~~~~~~~}}}~}~}~}~}~~~~~~~~~~~~}}}~~}~~}~}~~}~}~}~}}}}~~~}~}~}}~~~}}~~~~}~~~}}~}~~}}~~}~~}}~~}}}}}}}~~~~}}}~}~~~~}}}}~~}~~~~~}~~~~~}~}}~~}}~~~}}~}}~}~}~~~}}}~~}}~~~}~}~}~~}~}~~}~~~~}}~}~}~~~~~}~~}~~~~}}~~~}}}}}}~~~~~~~}}~~}~}~}~~~~~}}}~}~~}}}~~~}~~~~~}~}~~}~~}}}~~}}~}}~~~~~~}}}~~~}~~~}}~}~}}}}~}~}~}~~}}~~~}}}~}~}}}}~~}~~~~~}}}~}~}}~}}~}}}~}~~}~}~}}~}}~~~}~~~}~}}~}}~}}~}~~}}}~~~}}}}}}~}}~~}}}~~}}}~}~}}}}}~}~}~~}~~~~}}~}}}~~}~}}~}}~}}}~}}~}}~}}}~~}}~~~~~~~~}}~~~~~~}~}~~~}~~~~}~}}}~~~}}}~~}~}}~}~~}}}}}~}}}~}}}}}~~}}~}~~}}}~~~~}}~~}}}}~~}}}}}}}}}~}}~~~}}}}~}~}}~~~}}}}}}~~}}}}~}}~}~}}}~}}~}}~~}}}}}~}~}}}}}}~~}}~}}}}~}~~}}~}}~}}}}}}~~}}~}}}}}}}}}}~}}}}}~~}~~}}~}~~}~}~}}~~~~}~}~~}}}}~}~~}}}~}~~}}~}}}}~}}}}~~~}}~~~}}~}}~}}}~~~}}}~}}}}}}~~~}}~~}~~~}~}}}~}}}}}}}~}}}}~~}}~~}~}~}}}}}~~~}}}~}}}~~~}}}}}~~~~~}}}}}}}}}}}}}~}~~}}}~~}}~}}}~}~~}}}}}}}}}}~}}~}}~~~}}~}}}~}}}~}~~~}}}}~}}}~}}}}~~}}~~}~}~~}}~}}}}~}}}}}~~}}}~}}}}}}}}~~}~~}}}~}~}}}}}}}~}}~}}}}~}~}~~~}}}~}}~}~}}~~~~}}~~~}~}}}}}}}}}}~}}}}}}~}}}}~}}}}~~~}~~}}}}~}}}}}}}}}}}~~}}}}~}~}}}}}}~}}}~}}}}}}}~}~~}}~}~}}}}}~}~}}}}~~}}~~~~}}}}~~~}}}~}~~}}}}}}}}}}~}}}}~~}~~}}}~~}~}~}}}}}}~}}}}}}}}}}}~}~}}}}}}}}}}}}}}~}}~}}}}}~~}}}~}}}}}}~}~}}~}}~}}}~}}}}}}}}}~}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}~~~~~~~~~~~~~~~~~~~~~~~~~}~~~~~~~~~~}~~~~~~~~}~~~~~~~~~~~~~~~~~~~~~~~~~~~~}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}~~~~~~~~~~~~~~~~~~~~~}}~~~~~~~~~~~~~~~~}~~~~~~}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}~}~~~}~~}~~~~~~~~}~~~~~~}~~~~~~~~~~}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}~~~~~~~}~~~~~~}~~~~~~~~~~~~~~~~~}~~~~~~~~~~~~~~~}}~}}~~~~~~}~~~~~~~~~~~~~~~~~}~~~~~~~~~~~~~~~}}~~~~~~~~~~~~~~~~~}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}~~~}~~~~}~~~~~~~~~~~~~~~~~~~~}~~~~~~~~~~}~~~~}}}~~~~~~~~~~~~~}~~~~~~}~~~~~~~~~~~~}~~~~~~}}~}~}}~~~~~~}~~~~~~~~}~}~~~~~~~~~~~~~~~~}~~~~~~~~~~}~~~~~~~~~~~~~~}~~~~~}~}~~~~~}~}~~~~~~~~~~~~~~~~~}~}~~~~~~~~~~}}~~~~~}~~~~~~~~~~}~}~~~}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}~~}~~~~}~~}~~~}~~~}~~~~}~~~~~~~~~}~~~}~~~~~~~~~~~~~~~~}~~~}~}}~}~~}~~~~}~~~}}~}~~~}~}~~}}~~~}~~}~~~~~~~}}}}~~~~}~~}}~~~}}~~~~~~~}~}~}~~}}~~}~}~~~~}~}~~~~~~~~~~~~~~~}}~~~~}~}~~~~}~}~~~~~~~~~}}~~~~~~}~~~}~~~~~~~~}}}}}~}~~~~}}}~~~~~}~~~}}}}~~~}~~~~~}~~~~}~~}~~~~}~~~~~}~}}~}~~~~~}~}~}~~~}~~~}~~~~~~}~}~}~~}~~~~~~~~~~~}}~~~}~~~}~~~~}~}}~~}~}}~~~}~}~~}~}}}~}~}}~~~}~}}~}}~~~}~~~}~~}~}~}}}}}~~}~~~~~~}}~~~}}~~~}}}~~~~~~}~}~}}~}~}}~~}~}~}~~~}~}~~}}~~}~~~~~~~}}}~~}}}}~}}~~~~}~}}~}}}~}}}}~~}~~~}~}~~~~~}}}~~}~~}~}~}}}~~~}~~}}~~~}}~~}}~~~~~}~~~~~~~}~}}}~~~}~~~~~}}}~~}}~}~~}~~~~}~~~~~}~}~}}}}}~}~~}~~~~}}~}~~~}~~~}~}}~~~~}~~~~~~}}~~~}}~~~}~~}}~}}~~}~}}~}}~~}~}~~~~~~}~}~~}}~~~~~~}~}~~~~}~}}}}}~~}~~}}~}~}~~}}~}~~~}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}~~}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}~~}~~~~~~~~~~~~~~~~~~~~~~~~~~~}~~~~~~}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}~~~~~~~~~~~}~~~~~~~~~~~~~~}~~~}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}~~~~}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}~~~}~~~~~~~~~~~~~~~~}~~~~~~}~~~~~~~~~~~~}~~~~~~~~~~~~~~~~~~~~~}~~~~~}~~~}~~~}~~~~~~~~}}~~~~~~~}~~~~~~~~~~~~~~~~~~}~~~~~~~~~~~~~~~~~~~~}~~~~~~~}~}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~|||DDDDDDDDDu|||||RDDDDDDDDu||`DDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDD}|nDDDDDDDDDDDDDDDDDDDY}gDDDDDDDDD}DDDDDDDDDDDDDDDDDDDDnDDDDDDDD``DDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDD|DDDDDDDDDDDDDDDDDDDnDDDDDDDDD}DDDDDDDDD`DDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDD}nDDDDDDDDDDDDDDDDDDDDDDDDDR}|DDDDDDDDDgDDDDDDDDDDDuuDDDDDDDDYnDDDDDDDD``DDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDuDDDDDDDDDDDDDDDDDDDDDDDDDuDDDDDDDDD}DDDDDDDDD`DDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDD}`DDDDDDDDDDDDDDDDDDDDDDDDDDDDDD}DDDDDDDDD}DDDDDDDDDDDDYYDDDDDDDDvnDDDDDDDD``DDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDD`DDDDDDDDDDDDDDDDDDDDDDDDDDDDDnDDDDDDDDD}DDDDDDDDD`DDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDD}nDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDKYDDDDDDDDhDDDDDDDDDDDDDDDDDDDDDDnDDDDDDDD``DDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDD`DDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDD}DDDDDDDDD}DDDDDDDDD`DDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDD}YDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDgvDDDDDDDDKvDDDDDDDDDDDDDDDDDDDDDDoDDDDDDDD``DDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDnDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDD`DDDDDDDDD}DDDDDDDDD`DDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDD}KDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDYDDDDDDDDDYDDDDDDDDDDDDDhvDDDDDDDDYnDDDDDDDD``DDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDRDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDKDDDDDDDDD}DDDDDDDDD`DDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDD}KDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDYDDDDDDDDD}DDDDDDDDDDDDDDKYDDDDDDDD}oDDDDDDDD``DDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDD}DDDDDDDDD`DDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDD}RDDDDDDDDDDDDDY}}}}oDDDDDDDDDDDDDD`YDDDDDDDDh}DDDDDDDDDDDDDDDDDDDDDDDDoDDDDDDDD``DDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDD}DDDDDDDDDDDDDDDD}}}}hDDDDDDDDDDDDDDDDDDDDDDDD}DDDDDDDDD`DDDDDDDDooDDDDDDDDDDDY}oDDDDDDDDDDDDvvDDDDDDDDKhDDDDDDDDDDDDDDD}DDDDDDDDKoDDDDDDDD`DDDDDDDDD}}DDDDDDDDDDDDDK}YDDDDDDDDDDDDKDDDDDDDDD}DDDDDDDDD`DDDDDDDDoDDDDDDDDDDK`DDDDDDDDDDDDDDDDDDDDKDDDDDDKhDDDDDDDYvDDDDDDDDhoDDDDDDDD`DDDDDDDDD}DDDDDDDDDDDDRRDDDDDDDDDDDRDDDDDDDDD}DDDDDDDDD`DDDDDDDDo`DDDDDDDDDY}DDDDDDDDDD`DDDDDDDDDDDDDDDDhDDDDDDDDYDDDDDDDD}oDDDDDDDDaDDDDDDDDD}DDDDDDDDDDDD}oDDDDDDDDDDDhDDDDDDDDD}DDDDDDDDDaDDDDDDDDoDDDDDDDDDYDDDDDDDDDDYDDDDDDDDvvDDDDDDD}DDDDDDDDDDDDDDDDDoDDDDDDDD`DDDDDDDDD}KDDDDDDDDDDRDDDDDDDDDDDDDDDDDDDD~DDDDDDDDDaDDDDDDDDohDDDDDDDDKvDDDDDDDDDa~DDDDDDDDYYDDDDDDDYDDDDDDDvDDDDDDDDYoDDDDDDDD`DDDDDDDDD~`DDDDDDDDDDYDDDDDDDDDDRDDDDDDDDD~DDDDDDDDD`DDDDDDDDoDDDDDDDDD~YDDDDDDDDDDDDDDDDDDDDDDDDDKvDDDDDDDKvDDDDDDDDvoDDDDDDDDaDDDDDDDDD~DDDDDDDDDDYvDDDDDDDDDD~DDDDDDDDD~DDDDDDDDDaDDDDDDDDoDDDDDDDDKDDDDDDDDD~KDDDDDDDDDDDDDDDhDDDDDDDDYDDDDDDDDoDDDDDDDD`DDDDDDDDD~KDDDDDDDDDRYDDDDDDDDDKDDDDDDDDD~DDDDDDDDDaDDDDDDDDo~DDDDDDDDhRDDDDDDDDhhDDDDDDDD~hDDDDDDD~KDDDDDDD~DDDDDDDDDoDDDDDDDD`DDDDDDDDD~wDDDDDDDDDDDDDDDDDDDD~DDDDDDDDD~DDDDDDDDDaDDDDDDDDopDDDDDDDD~~DDDDDDDDK~DDDDDDDDiKDDDDDDDhDDDDDDDiDDDDDDDDYoDDDDDDDDaDDDDDDDDD~DDDDDDDDDD~oDDDDDDDDDRDDDDDDDDD~DDDDDDDDDaDDDDDDDDpaDDDDDDDDDDDDDDDDDDDDDDDDDKDDDDDDDK~DDDDDDDKwDDDDDDDD~oDDDDDDDDaDDDDDDDDD~~DDDDDDDDDRDDDDDDDDDDDDDDDDDDD~DDDDDDDDDaDDDDDDDDpaDDDDDDDDKDDDDDDDDKDDDDDDDD~DDDDDDDiDDDDDDDDYDDDDDDDDoDDDDDDDDaDDDDDDDDD~KDDDDDDDDDoDDDDDDDDDpDDDDDDDDD~DDDDDDDDDaDDDDDDDDp~RDDDDa~~~DDDDDDDY~~~~DDDDDDDY~~aDDDDDDDD~YDDDDDDDDiDDDDDDDD~YDDDDDDD~KDDDDDDDwKDDDDDDDKpDDDDDDDDaDDDDDDDDD~DDDDDDDDDRDDDDDDDDDKDDDDDDDDD~DDDDDDDDD~~pDDDDDDDa~~~RDDDDa~~~KDDDDDK~~ZDDDDDDDDYDDDDDDDYDDDDDDDpYDDDDDDDDYDDDDDDDYDDDDDDDpYDDDDDDDDYDDDDDDDYDDDDDDDpaDDDDDDDDppDDDDDDD~aDDDDDDDDDDD~iDDDDDDDDDDDDDDDD~iDDDDDDDDDDDDDDDD~aDDDDDDDDi~DDDDDDDDiDDDDDDDDpDDDDDDDYDDDDDDDDipDDDDDDDDaDDDDDDDDD~aDDDDDDDDD~YDDDDK~~DDDDDDDDD~DDDDDDDDD~YDDDDDDDDDDDDDDDDpDDDDDDD~aDDDDDDDDDDD~~DDDDDDDDDDDDDDaDDDDDDDR~DDDDDDDDpDDDDDDDDDDDDDDDD~DDDDDDDDpDDDDDDDDDDDDDDDD~DDDDDDDDpDDDDDDDDDDDDDDDDaDDDDDDDDppDDDDDDD~DDDDDDDDDDDDDDD~KDDDDDDDDDDDDDDDDDDDDa~KDDDDDDDDDDDDDDDDDDDDawDDDDDDDDDDDDDDDDDRDDDDDDDYDDDDDDDD~DDDDDDDD~pDDDDDDDDaDDDDDDDDD~DDDDDDDDDDR~DDDDDDDDD~DDDDDDDDDpDDDDDDDDDDDDDDDDDDDDDapDDDDDDDDDDDDDDDDDDDDDDpDDDDDDDDDDDDDDDDDDYDDDDDDDRDDDDDDDDKDDDDDDDDpDDDDDDDKDDDDDDDDK~DDDDDDDDpDDDDDDDKDDDDDDDDKDDDDDDDDpDDDDDDDKaDDDDDDDDppDDDDDDDDDDDDDDDDDDDDDDDRDDDDDDDDDDDDDDDDDDDDDDDDpRDDDDDDDDDDDDDDDDDDDDDDDDp~DDDDDDDDDwZDDDDDDDDwDDDDDDDwDDDDDDDDiDDDDDDDDpDDDDDDDDaDDDDDDDDDDDDDDDDDDaDDDDDDDDD~DDDDDDDDDwDDDDDDDDDDDDDDDDDDDDDDDDDipDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDD~DDDDDDDRZDDDDDDDDiDDDDDDDDKZDDDDDDDpZDDDDDDDDiDDDDDDDDKZDDDDDDDpZDDDDDDDDiDDDDDDDDKZDDDDDDDpaDDDDDDDDppDDDDDDDDDDDDDDDDDDDDDDDRpDDDDDDDDDDDDDDDDDDDDDDDDDDDRpDDDDDDDDDDDDDDDDDDDDDDDDDDDRDDDDDDDDDDwDDDDDDDDKDDDDDDDZDDDDDDDiKDDDDDDDZpDDDDDDDDaDDDDDDDDDiDDDDDDDDDDDDDDDDDDDDDDDDDDDRDDDDDDDDDDDDDDDDDDDDDDDDDDDKpDDDDDDD~DDDDDDDDDDDDDDDDRiDDDDDDDDDDDDDDDDDDDDDDDDiDDDDDDDRxDDDDDDDDKDDDDDDDDDDDDDDDDDxDDDDDDDDKDDDDDDDDDDDDDDDDDwDDDDDDDDKDDDDDDDDDDDDDDDDDaDDDDDDDDppDDDDDDDRDDDDDDDDDDDDDDDDaDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDaDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDZDDDDDDDDDDDDDDDDDDwDDDDDDDDwDDDDDDDKDDDDDDDDwpDDDDDDDDaDDDDDDDDDKDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDpDDDDDDDRDDDDDDDDDDDDDDDDZDDDDDDDDDDDDDDDDDDDDDDDDDDaDDDDDDDRDDDDDDDDZDDDDDDDDDDDDDDDDDKDDDDDDDDZDDDDDDDDDDDDDDDDDKDDDDDDDDZDDDDDDDDDDDDDDDDDKaDDDDDDDDppDDDDDDDpDDDDDDDDDDDDDDDDDZDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDZDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDiDDDDDDDDZDDDDDDDaDDDDDDDDDDDDDDDDpDDDDDDDDaDDDDDDDDDDDDDDDDDDKDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDppDDDDDDDpDDDDDDDDDDDDDDDDDZDDDDDDDDDDDDDDDDDDDDDDDDDDDDiDDDDDDDSSDDDDDDDDxDDDDDDDDDDiiDDDDDDDpSDDDDDDDDwDDDDDDDDDDiiDDDDDDDpSDDDDDDDDxDDDDDDDDDDiiDDDDDDDpaDDDDDDDDppDDDDDDDaDDDDDDDDDDDDDDDDDaZDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDZDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDKDDDDDDDDDDDDiZDDDDDDDDiDDDDDDDKDDDDDDDwiDDDDDDDDpDDDDDDDDaDDDDDDDDDDDDDDDDDDiDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDwpDDDDDDDaDDDDDDDDDDDDDDDDDaiDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDwDDDDDDDRxDDDDDDDDZDDDDDDDDDDDDDDDDDDDxDDDDDDDDZDDDDDDDDDDDDDDDDDDDxDDDDDDDDZDDDDDDDDDDDDDDDDDDDaDDDDDDDDppDDDDDDDDDDDDDDRiDDDiDDDDDDDDDDDDKDDDDDDDDDDDDDiDDDDDDDDDDDDKDDDDDDDDDDDDDDDDDDDDDDDDDDDDxxDDDDDDDDKDDDDDDDiDDDDDDDZKDDDDDDDZpDDDDDDDDaDDDDDDDDDDDDDDDDDDxDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDSaDDDDDDDDDDDDDpDDDDDDDDDDDDDDSiDDDDDDDDDDDDDDDSpDDDDDDDDDDDDDDDDDSDDDDDDDDpDDDDDDDDDDDDDDDDDDDKDDDDDDDDpDDDDDDDDDDDDDDDDDDDKDDDDDDDDpDDDDDDDDDDDDDDDDDDDKaDDDDDDDDppDDDDDDDDDDDDDZKDDDDDDDDDDDiZDDDDDDDDDDSDDDDDDDDDDDiZDDDDDDDDDDSiDDDDDDDDDDDDDDDDDiDDDDDDDDDDDDDDDKDDDDDDDDDDDDDDDDpDDDDDDDDaDDDDDDDDDpDDDDDDDDDDDDDDDDDDDDDDDDDDDKDDDDDDDDDDDipDDDDDDDDDDDDpDDDDDDDDDDDDDZKDDDDDDDDDDDZDDDDDDDDDDDDDDDSKDDDDDDDKDDDDDDDDDDDDxiDDDDDDDpKDDDDDDDKDDDDDDDDDDDDxiDDDDDDDpKDDDDDDDKDDDDDDDDDDDDxiDDDDDDDpaDDDDDDDDppDDDDDDDDDDDDDDDDDDDDDDKDDDDDDDDDDxDDDDDDDDDDKDDDDDDDDDDxSDDDDDDDDDDDDDDDDDDDDpDDDDDDDDixDDDDDDDiDDDDDDDDDDDDDDDDpDDDDDDDDbDDDDDDDDDbDDDDDDDDDDDDDDDDDDDDDDDDDDDpDDDDDDDDDDSZDDDDDDDDDDZpDDDDDDDDDDDDaDDDDDDDDDDZDDDDDDDDDDDDDSxDDDDDDDDiDDDDDDDDDDDDZKDDDDDDDxDDDDDDDDiDDDDDDDDDDDDZKDDDDDDDxDDDDDDDDiDDDDDDDDDDDDZKDDDDDDDbDDDDDDDDppDDDDDDDDDDDbDDDDDDDDDbKDDDDDDDDDbDDDDDDDDDbKDDDDDDDDDSDDDDDDDDDDDDDDDDDDDDDDDaaDDDDDDDKZDDDDDDDSDDDDDDDiiDDDDDDDKpDDDDDDDDaDDDDDDDDDSDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDZiDDDDDDDDDDpDDDDDDDDDDDDDDDDDDDDDiDDDDDDDDDDDDSDDDDDDDDDDDDDDDDDDDDDDDDDDDDDKDDDDDDDDDDDDDDDDDDDDDDDDDDDDDKDDDDDDDDDDDDDDDDDDDDDDDDDDDDDKaDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDpDDDDDDDDDDbDDDDDDDDDaKDDDDDDDDpDDDDDDDDDbKDDDDDDDDpZDDDDDDDDDDDDDDDDDDDDDDDDDDbDDDDDDDDDDDDDDDDxDDDDDDDKKDDDDDDDipDDDDDDDDaDDDDDDDDDKDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDbDDDDDDDDDZpDDDDDDDDDKpDDDDDDDDDDbaDDDDDDDDDpDDDDDDDDDDDSKDDDDDDDZDDDDDDbDDDDDDDxDDDDDDDxKDDDDDDDZDDDDDDbDDDDDDDxDDDDDDDxKDDDDDDDZDDDDDDbDDDDDDDxDDDDDDDxbDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDpDDDDDDDDDDbDDDDDDDDSDDDDDDDDDbDDDDDDDDSDDDDDDDDDpDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDZDDDDDDDDDDDDDDDDqDDDDDDDDbDDDDDDDDDDDDDDDDDDSDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDSZDDDDDDDDDpDDDDDDDDDDDDDDDDDDDZDDDDDDDDDDSqDDDDDDDDxDDDDDDZDDDDDDiKDDDDDDDpDDDDDDDDxDDDDDDZDDDDDDiKDDDDDDDpDDDDDDDDyDDDDDDZDDDDDDiKDDDDDDDbDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDqDDDDDDDDDZDDDDDDDDDpDDDDDDDDDDDDDDDDDqDDDDDDDDSDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDxKDDDDDDDiiDDDDDDDxDDDDDDDDDDDDDDDDpDDDDDDDDbDDDDDDDDDDDDDDDDDDSDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDpDDDDDDDDDKDDDDDDDDSpDDDDDDDDDZpDDDDDDDDZDDDDDDDDDDSDDDDDDDDKDDDDDDiDDDDDDKDDDDDDDKDDDDDDDDKDDDDDDiDDDDDDKDDDDDDDKDDDDDDDDKDDDDDDiDDDDDDKDDDDDDDKbDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDpDDDDDDDDDyxDDDDDDDDbDDDDDDDDZxDDDDDDDDbDDDDDDDDZKDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDZiDDDDDDDSKDDDDDDDZDDDDDDDZiDDDDDDDZqDDDDDDDDbDDDDDDDDDDDDDDDDDDbDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDKDDDDDDDDqDDDDDDDDDqDDDDDDDDDxKDDDDDDDDDDDDDDDDDSKDDDDDDDiDDDDDDZDDDDDDDxDDDDDDDyKDDDDDDDjDDDDDDZDDDDDDDyDDDDDDDxKDDDDDDDiDDDDDDZDDDDDDDxDDDDDDDybDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDqDDDDDDDDDSDDDDDDDDbDDDDDDDDSDDDDDDDDbDDDDDDDDbDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDbDDDDDDDDDDDDDDDKDDDDDDDDKDDDDDDDyqDDDDDDDDbDDDDDDDDDDDDDDDDDDbDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDKDDDDDDDDyqDDDDDDDDDDDDDDDDDbKDDDDDDDDSjDDDDDDDKDDDDDDyDDDDDDDySDDDDDDDiDDDDDDDKDDDDDDyDDDDDDDySDDDDDDDiDDDDDDDKDDDDDDyDDDDDDDySDDDDDDDbDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDqDDDDDDDDDDDDDDDDDKDDDDDDDDDDDDDDDDKDDDDDDDDbDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDyDDDDDDDiDDDDDDDDDDDDDDDDqDDDDDDDDbDDDDDDDDDDDDDDDDDDbDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDxDDDDDDDDiDDDDDDDDZqDDDDDDDDDyDDDDDDDDqDDDDDDDDSDDDDDDDDZDDDDDDKDDDDDDZDDDDDDDKDDDDDDDDZDDDDDDKDDDDDDZDDDDDDDKDDDDDDDDZDDDDDDKDDDDDDZDDDDDDDKbDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDqDDDDDDDDSDDDDDDDDqDDDDDDDDiDDDDDDDDqDDDDDDDDiyDDDDDDDDDDDDDDDDDDDDDDDDDDDbKDDDDDDDyZDDDDDDDKDDDDDDDqDDDDDDDDqDDDDDDDDbDDDDDDDDDDDDDDDDDDSDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDZDDDDDDDDDDDDDDDDDqDDDDDDDDSZDDDDDDDDDDDDDDDDSDDDDDDDDDDDDDDDjDDDDDDDDDDDDDDyDDDDDDDDDDDDDDDiDDDDDDDDDDDDDDyDDDDDDDDDDDDDDDjDDDDDDDDDDDDDDybDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDqDDDDDDDDjqDDDDDDDDDDDDDDDDSqDDDDDDDDDDDDDDDDSqDDDDDDDDDDDDDDDDDDDDDDDDSjDDDDDDDZDDDDDDDDjDDDDDDDKyDDDDDDDZqDDDDDDDDbDDDDDDDDDDDDDDDDDDSDDDDDDDDDDDDDDDDDDKDDDDDDDDZDDDDDDDDqDDDDDDDDjDDDDDDDDZDDDDDDDDSjDDDDDDDZDDDDDDbyDDDDDDDZDDDDDDDjDDDDDDDZDDDDDDbyDDDDDDDZDDDDDDDjDDDDDDDZDDDDDDbyDDDDDDDZDDDDDDDbDDDDDDDDqqDDDDDDDDyZDDDDDDDDSDDDDDDDDZDDDDDDDDSDDDDDDDDqDDDDDDDDDDDDDDDDDDDDDSDDDDDDDDDDDDDDDKDDDDDDDDZDDDDDDDqDDDDDDDDbDDDDDDDDDKDDDDDDDDKDDDDDDDDDDDDDDDDDDDDDDDDDDZqDDDDDDDDqDDDDDDDDyDDDDDDDDyZDDDDDDDSDDDDDDDDjDDDDDDDDDDDDDjDDDDDDDKDDDDDDDDjDDDDDDDDDDDDDjDDDDDDDKDDDDDDDDjDDDDDDDDDDDDDjDDDDDDDKbDDDDDDDDqqDDDDDDDDKDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDKDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDbDDDDDDDDDDDDDDDDDDZDDDDDDDDjDDDDDDDyDDDDDDDDDDDDDDDDqDDDDDDDDbDDDDDDDDDSDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDjDDDDDDDDyqDDDDDDDDDDDDDDDDqDDDDDDDSDDDDDDDDLDDDDDDDDDDDDDKDDDDDDDyDDDDDDDDKDDDDDDDDDDDDDKDDDDDDDyDDDDDDDDKDDDDDDDDDDDDDLDDDDDDDybDDDDDDDDqqDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDyZDDDDDDDKDDDDDDDZDDDDDDDjDDDDDDDLqDDDDDDDDbDDDDDDDDDbDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDqrDDDDDDDDDDDDDDDDDDDDDDDSbDDDDDDDjDDDDDDLbDDDDDDDbDDDDDDDbDDDDDDDjDDDDDDKbDDDDDDDbDDDDDDDbDDDDDDDjDDDDDDLbDDDDDDDbDDDDDDDbDDDDDDDDqqDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDrDDDDDDDDDDDDDDyDDDDDDDjDDDDDDDDyDDDDDDDKyDDDDDDDjqDDDDDDDDbDDDDDDDDDqDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDbqDDDDDDDDqDDDDDDDDDDDDDDDSDDDDDDDLyDDDDDDjDDDDDDDDDDDDDDLDDDDDDDLyDDDDDDjDDDDDDDDDDDDDDKDDDDDDDKyDDDDDDjDDDDDDDDDDDDDDKbDDDDDDDDqqDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDyDDDDDDDDDDDDjDDDDDDDLDDDDDDDZDDDDDDDD[DDDDDDDqDDDDDDDDbDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDbqDDDDDDDDjDDDDDDDDDDDDDDDSDDDDDDDD[DDDDDDDDDDDDD[DDDDDDDyDDDDDDDD[DDDDDDDDDDDDD[DDDDDDDyDDDDDDDD[DDDDDDDDDDDDD[DDDDDDDybDDDDDDDDqqDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDbDDDDDDDDDDDDDDDDDDD[DDDDDDDyDDDDDDDDDDDDDDDDqDDDDDDDDbDDDDDDDDDDDDDDDDDDyDDDDDDDDDDDDDDDDDDqDDDDDDDDDDDDDDDDSqDDDDDDDDbDDDDDDDDDDDDDDDS[DDDDDDDzDDDDDDDLDDDDDDDjDDDDDDD[DDDDDDDzDDDDDDDLDDDDDDDjDDDDDDD[DDDDDDDzDDDDDDDLDDDDDDDjDDDDDDDbDDDDDDDDqrDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDqDDDDDDDDDD[DDDDDDDDDDDDDDD[DDDDDDDjDDDDDDD[qDDDDDDDDbDDDDDDDDDDDDDDDDDDbDDDDDDDDDDDDDDDDDDqDDDDDDDDDDDDDDDDSqDDDDDDDDbDDDDDDDDDDDDDDDSDDDDDDD[DDDDDD[jDDDDDDDLDDDDDDSDDDDDDD[DDDDDD[jDDDDDDDLDDDDDDSDDDDDDD[DDDDDD[jDDDDDDDLDDDDDDSbDDDDDDDDqrDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDjDDDDDDDDD[zDDDDDDDjDDDDDDDLDDDDDDDLzDDDDDDDyqDDDDDDDDbDDDDDDDDDLDDDDDDDDLDDDDDDDDDDDDDDDDDDrDDDDDDDDDDDDDDDD[rDDDDDDDDbDDDDDDDDDDDDDDDSDDDDDDDDjDDDDDDzDDDDDDDzDDDDDDDzDDDDDDDDjDDDDDDzDDDDDDDzDDDDDDDzDDDDDDDDjDDDDDDzDDDDDDDzDDDDDDDzbDDDDDDDDrrDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDSDDDDDDDDDDDDDDDD[zDDDDDDDjDDDDDDDD[DDDDDDDqDDDDDDDDbDDDDDDDDDjDDDDDDDDDDLDDDDDDDDDDDDDDDDDDqDDDDDDDDDDDDDDDDbrDDDDDDDDbDDDDDDDDDDDDDDDS[DDDDDDDLDDDDDDDDDDDDDLjDDDDDDD[DDDDDDDLDDDDDDDDDDDDDLjDDDDDDD[DDDDDDDLDDDDDDDDDDDDDLjDDDDDDDbDDDDDDDDrrDDDDDDDDDDDDDDDDbDDDDDDDDbDDDDDDDDjDDDDDDDDDDDDDDDDDLDDDDDDDLDDDDDDDDDDDDDDDrDDDDDDDDbDDDDDDDDDDDDDDDDDDjDDDDDSDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDbrDDDDDDDDqDDDDDDDDDDDDDDDSDDDDDDDjDDDDDDD[DDDDDDDLDDDDDDSDDDDDDDjDDDDDDD[DDDDDDDLDDDDDDSDDDDDDDjDDDDDDD[DDDDDDDLDDDDDDSbDDDDDDDDrrDDDDDDDDDDDDDDDDSDDDDDDDDSDDDDDDDD[DDDDDDDDDbDDDDDDDDDDDDDDDjDDDDDDDjDDDDDDD[rDDDDDDDDbDDDDDDDDDDDDDDDDDD[LDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDjrDDDDDDDDzDDDDDDDDDDDDDDDSDDDDDDDLzDDDDDD[zDDDDDDDDDDDDDDzDDDDDDDLzDDDDDD[zDDDDDDDDDDDDDDzDDDDDDDLzDDDDDD[zDDDDDDDDDDDDDDzbDDDDDDDDrrDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDD[DDDDDDDDDDDDDDDzDDDDDDD[DDDDDDDLzDDDDDDDrDDDDDDDDcDDDDDDDDD[DDDDDDDDDDDDDDDDDDLDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDrrDDDDDDDDDDDDDDDDzDDDDDDDSSDDDDDDD[DDDDDDDDDDDDDjzDDDDDDDSDDDDDDD[DDDDDDDDDDDDDjzDDDDDDDSDDDDDDD[DDDDDDDDDDDDDjzDDDDDDDcDDDDDDDDrrDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDcDDDDDDDDDDDDDDD[jDDDDDDDzDDDDDDDD[DDDDDDDrDDDDDDDDbDDDDDDDDDDDDDDDDDDrDDDDDDDDDzDDDDDDDDDDDDDDDDDDDDDDDDDDjDDDDDDDDrDDDDDDDDDDDDDDDDrcDDDDDDDSzDDDDDDDDDDDDDDLDDDDDDL[DDDDDDSzDDDDDDDDDDDDDDLDDDDDDL[DDDDDDSzDDDDDDDDDDDDDDLDDDDDDL[DDDDDDScDDDDDDDDrrDDDDDDDDLDDDDDDDDLDDDDDDDD[DDDDDDDDzcDDDDDDDDLDDDDDDDLDDDDDDD[DDDDDDDDDDDDDDLrDDDDDDDDbDDDDDDDDDDDDDDDDDDSLDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDD[jDDDDDDDDrDDDDDDDDDDDDDDDD[LDDDDDDDSDDDDDDDjDDDDDDLjDDDDDDDDDDDDDDzDDDDDDDjDDDDDDLjDDDDDDDDDDDDDDzDDDDDDDjDDDDDDLjDDDDDDDDDDDDDDzcDDDDDDDDrrDDDDDDDDcDDDDDDDDzcDDDDDDDDzzDDDDDDDDLcDDDDDDDDjDDDDDDDDDDDDDDDzDDDDDDDDDDDDDDjrDDDDDDDDcDDDDDDDDDcDDDDDDDDDDDDDDDDDDSDDDDDDDDDDDDDDDDDDLDDDDDDDDLDDDDDDDDrDDDDDDDDLDDDDDDDDDDDDDDDDSLDDDDDDDzDDDDDDjDDDDDDDDDDDDDDLDDDDDDDzDDDDDDjDDDDDDDDDDDDDDLDDDDDDDzDDDDDDjDDDDDDDDDDDDDDcDDDDDDDDrrDDDDDDDDzDDDDDDDDLzDDDDDDDDLDDDDDDDDDLDDDDDDDDDDDDDDDDDDDDDD[DDDDDDDjDDDDDDDrDDDDDDDDcDDDDDDDDDDDDDDDDDDSLDDDDDDDDDDDDDDDDDDDDDDDDDDD[DDDDDDDDDDDDDDDDDrDDDDDDDDjDDDDDDDDDDDDDDDDSzDDDDDDD[DDDDDDDDDDDDDjcDDDDDDSzDDDDDDD[DDDDDDDDDDDDDjcDDDDDDSzDDDDDDD[DDDDDDDDDDDDDkcDDDDDDScDDDDDDDDrrDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDcDDDDDDDDDDDDDDDDjzDDDDDDDDDDDDDDSjDDDDDDDrDDDDDDDDcDDDDDDDDDSDDDDDDDDDzDDDDDDDDDDDDDDDDDDDDDDDDDDDDzDDDDDDDDczDDDDDDDD[rDDDDDDDDDDDDDDDDcSDDDDDDDDSDDDDDDDzDDDDDDD[DDDDDDLDDDDDDDDDDDDDDzDDDDDDD[DDDDDDLDDDDDDDDDDDDDDzDDDDDDD[DDDDDDLDDDDDDDcDDDDDDDDrrDDDDDDDDDDDDDDDDDcDDkDDDDDDDDDcDDkkDDDDDDDDDrDDDDDDDD[LDDDDDD[[DDDDDDDkDDDDDDDLDDDDDD[rDDDDDDDDcDDDDDDDDDDDDDDDDDDDDDDDDDDDDDrDDDDDDDDDDDDDDDDDDDDDDDDDDDLDDDDDDDDzrDDDDDDDDDDDDDDDDDDDDDDDDDDSLDDDDDD[DDDDDD[zDDDDDDDDDDDDDDLDDDDDD[DDDDDD[zDDDDDDDDDDDDDDLDDDDDD[DDDDDD[zDDDDDDDDDDDDDDcDDDDDDDDrrDDDDDDDDcDDDDDDDDDrDDDDDDDDDcDDDDDDDDDrDDDDDDDDDDDDDDDDDDLDDDDDDDDDkDDDDDDDDDDDDDDLDDDDDDDDDDDDDDzrDDDDDDDDcDDDDDDDDDSDDDDDDDDDSSDDDDDDDDDDDDDDDDDDDDDDDDDDDDLDDDDDDDDrDDDDDDDDDrDDDDDDDDkDDDDDDDDcSDDDDDDDDDSrDDDDDDDzDDDDDDzDDDDDDDkDDDDDD[rDDDDDDDzDDDDDDzDDDDDDDkDDDDDD[rDDDDDDD{DDDDDDzDDDDDDDkDDDDDD[cDDDDDDDDrrDDDDDDDDDDDDDDDDD[DDDDDDDDDkDDDDDDDDD[DDDDDDDDDkSDDDDDDDDD[cDDDDDDDDDDDDDDDDDDDDDDDkDDDDDDDDDDDDDDrDDDDDDDDcDDDDDDDDDDDDDDDDDDD[cDDDDDDDDDDrDDDDDDDDDDDDDDDDDDrDDDDDDDDDLDDDDDDDDLrDDDDDDDDDDDDDDDDDzDDDDDDDDDDSDDDDDDD[DDDDDDDDDDDDDkLDDDDDDDDDDDDD[DDDDDDDDDDDDDkLDDDDDDDDDDDDD[DDDDDDDDDDDDDkLDDDDDDcDDDDDDDDssDDDDDDDDLDDDDDDDDD{[DDDDDDDDDLDDDDDDDDDz[DDDDDDDDDDDDDDDDDDDcDDDDDDDDDcDDDDDDD{DDDDDDDLDDDDDDzzDDDDDDDrDDDDDDDDcDDDDDDDDDcDDDDDDDDDD[kDDDDDDDDDDLDDDDDDDDDDDDDDDDDDDDDDDDDDDS[DDDDDDDDDrDDDDDDDDSDDDDDDDDDDDDDDDDDDDDSLDDDDDDsDDDDDDDkDDDDDDDDDDDDDDLDDDDDDsDDDDDDDkDDDDDDDDDDDDDDLDDDDDDsDDDDDDDkDDDDDDDDDDDDDDcDDDDDDDDsrDDDDDDDDDDDDDDDDDDrDDDDDDDDDTDDDDDDDDDDsDDDDDDDDDScDDDDDDDDDD[DDDDDDDDDD[DDDDDDs[DDDDDDDkDDDDDDc[DDDDDD[rDDDDDDDDcDDDDDDDDDDDDDDDDDDDDScDDDDDDDDDDDDDDDDDDDDDDDDDDDDDcDDDDDDDDD[rDDDDDDDDDLrDDDDDDDDDDDDDDDDDLDDDDDDDDDDDDSkDDDDDDDDDDDDD[DDDDDDDDDDDDD[kDDDDDDDDDDDDD[DDDDDDDDDDDDD[kDDDDDDDDDDDDD[DDDDDDDDDDDDD[cDDDDDDDDssDDDDDDDDLDDDDDDDDDDzrDDDDDDDDDDLDDDDDDDDDD{sDDDDDDDDDDDDDDDDDDDDDDkDDDDDDDDDDk{DDDDDDSDDDDDDD[DDDDDDTLDDDDDDsDDDDDDDDcDDDDDDDDDDDDDDDDDDDDD{TDDDDDDDDDDDkDDDDDDDDDDDDDDDDDDDDDDDDDDDD[kDDDDDDDDDDsDDDDDDDDcDDDDDDDDDD{DDDDDDDDDDDDDSDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDcDDDDDDDDssDDDDDDDDDDDDDDDDDDDccDDDDDDDDDDTDDDDDDDDDDDccDDDDDDDDDDTDDDDDDDDDDDDTLDDDDDDDDDDLDDDDDDDDDDDDDD{DDDDDDDDDDDDDDsDDDDDDDDcDDDDDDDDDkDDDDDDDDDDDDLsDDDDDDDDDDDDTDDDDDDDDDDDDDDDDDDkDDDDDDDDDDL[DDDDDDDDDDSsDDDDDDDDDDDDDDDDDDDcSDDDDDDDDDDDDDDTDDDDDDDDDDDDDLDDDDDDDDDDDDDDDDDDDDDDDDDLDDDDDDDDDDDDDDDDDDDDDDDDDLDDDDDDDDDDDDTDDDDDDDDDcDDDDDDDDssDDDDDDDDcDDDDDDDDDDDDDDDDDDDDDDDDcDDDDDDDDDDDDDDDDDDDDDDDDkDDDDDDDDDDDDDLLDDDDDDDDDDDDDDDDDDDDDDDDDD[DDDDDDDDDDDDLsDDDDDDDDcDDDDDDDDD[DDDDDDDDDDDDDDsDDDDDDDDDDDDDLDDDDDDDDDDDDDDDDDDTDDDDDDDDDLDDDDDDDDDDDksDDDDDDDDDDDDsDDDDDDDDDDDDDDDDDDDDTDDDDDDDDDDDDDDDDDTkDDDDDDDDDDDLsDDDDDDDDDDD[kDDDDDDDDDDDLsDDDDDDDDDDD[kDDDDDDDDDDDLsDDDDDDDDDDD\TDDDDDDDDDcDDDDDDDDssDDDDDDDDLDDDDDDDDDDDDDkkDDDDDDDDDDDDD{LDDDDDDDDDDDDDkkDDDDDDDDDDDDD{\DDDDDDDDDDDDDDDDLDDDDDDDDDDDDDD{\DDDDDDDDDDDDL{DDDDDDDDDDDDksDDDDDDDDcDDDDDDDDD[DDDDDDDDDDDDDDDL{DDDDDDDDDDDDDDDLDDDDDDDDDDDDDDDDDDTDDDDDDDDDDDDDDDDDDDDDDTcDDDDDDDDDDDDD{sDDDDDDDDkDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDTDDDDDDDDDDDkDDDDDDDDDDDDDDDDDDDDDDkDDDDDDDDDDDDDDDDDDDDDDkDDDDDDDDDDDTDDDDDDDDDcDDDDDDDDssDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDcDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDc\DDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDs{DDDDDDDDDDDDkDDDDDDDDDDDDsDDDDDDDDcDDDDDDDDD[DDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDLDDDDDDDDDDDDDDDDDDTDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDssDDDDDDDD[DDDDDDDDDDDDDDDDDDDDDDDDDDDD{DDDDDDDDTDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDTDDDDDDDDDcDDDDDDDDssDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDD[DDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDD\kDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDD{DDDDDDDDDDDDLDDDDDDDDDDDsDDDDDDDDcDDDDDDDDDkDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDTDDDDDDDDDDDDDDDDDDTDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDksDDDDDDDDTDDDDDDDDDDDDDDDDDDDDDDDDDDsDDDDDDDDTcDDDDDDDDDD\DDDDDDDDD\cDDDDDDDDDD\DDDDDDDDD\cDDDDDDDDDD\DDDDDDDDD\TDDDDDDDDDcDDDDDDDDssDDDDDDDDLDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDcLDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDcDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDkDDDDDDDDDD\tDDDDDDDDcDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDkDDDDDDDDDDDDDDDDDDTDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDD{sDDDDDDDD\DDDDDDDDDDDDDDDDDDDDDDDDsDDDDDDDDTDDDDDDDDD\DDDDDDDDDDDDDDDDDD\DDDDDDDDDDDDDDDDDD\DDDDDDDDDTDDDDDDDDDcDDDDDDDDttDDDDDDDDcDDDDDDDDDDDDDDDDDDDDDDDDDDDDD|cDDDDDDDDDDDDDDDDDDDDDDDDDDDDD|\DDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDccDDDDDDDDDDLDDDDDDDDDD|tDDDDDDDDcDDDDDDDDDdDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDLDDDDDDDDDDDDDDDDDDTDDDDDDDDDTDDDDDDDDDDDDDDDDDDDDDDDDDDDLsDDDDDDDD{DDDDDDDDDDDDDDDDDDDDDDDDDDDDDDdDDDDDDDDD{DDDDDDDDDDDDDDDDDD|DDDDDDDDDDDDDDDDDD|DDDDDDDDDTDDDDDDDDDdDDDDDDDDttDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDTDDDDDDDDDDDDDDDDDDDDDDDDDDTTDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDTDDDDDDDDDDsDDDDDDDDDDsDDDDDDDDdDDDDDDDDD\DDDDDDDDDDDDDDDDDDDDDDDDDDDDDD{DDDDDDDDDDDDDDDDDDTDDDDDDDDDtDDDDDDDDDDDDDDDDDDDDDDDDDtsDDDDDDDDdDDDDDDDDDDDDDDDDDDdDDDDDDDDc\DDDDDDDDLDDDDDDD\\DDDDDDDDLDDDDDDD\\DDDDDDDDLDDDDDDD\TDDDDDDDDDdDDDDDDDDttDDDDDDDD|DDDDDDDDDDDDDDDDDDDDDDL|DDDDDDDDDDDDDDDDDDDDDDLlDDDDDDDDDDDDDDDDDDDDDDDDDDcDDDDDDDDDDLDDDDDDDDDtDDDDDDDDcDDDDDDDDDlDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDTDDDDDDDDDlDDDDDDDDDDDDDDDDDDDDDttDDDDDDDDsDDDDDDDDDDDDDDlDDDDDDDDcDDDDDDDDlDDDDDDDDDDDDDDDlDDDDDDDDDDDDDDDlDDDDDDDTDDDDDDDDDdDDDDDDDDttDDDDDDDDdDDDDDDDDDDDDDDDDDtdDDDDDDDDDDDDDDDDDt|DDDDDDDDDDDDDDDDDDDD\LDDDDDDDDDtDDDDDDDD\tDDDDDDDDdDDDDDDDDDtDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDTDDDDDDDDDLDDDDDDDDDDDDDDDTtDDDDDDDDDDDDDDTDDDDDDDDtTDDDDDDD\TDDDDDDD\lDDDDDDDDDddDDDDDDDDDlDDDDDDDlDDDDDDDD|DDDDDDDDDDDDDDDD|DDDDDDDDDD|\DDDDDDDDDDDDDDDDtDDDDDDDD\LDDDDDDD\tDDDDDDDDt\DDDDDDDDDDDDDDDDDlDDDDDDDDt\DDDDDDDDDDDDDDDDDDdDDDDDDDDDtDDDDDDDDDD\DDDDDDDDDDdDDDDDDDDDDd}DDDDDDDDDDDtDDDDDDDDDDDDLdDDDDDDDDDDDDTuDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDD\DDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDTDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDdDDDDDDDDDDDDDDDDDDDDDDDDDDDDDTDDDDDDDDDDDDDDDDDDDDDDDDDDD}}DDDDDDDDDDDDDDDDDDDDDDDueDDDDDDDDDDDDDDDDD\LDDDDDDDLƾƿƺ}}}~~~~}|}ƹ}}}~~~~~}}ɖǶ}}~}}ɟɻ…Ʌų}}}}ɧɧɑ}~}ɯɥɲɿȹ}~}ɤȤȒ˾~~}€ɑȠɀǰ}~ɤȤȒã}}ɌŁɍɿȀǬ~~~ȤȤȒɱ~}ȠȱĀȿȀɲ~~ȤȤȒŞ~ȴȜȲȿȀʼ~~ȤȤȒʿ~~ŁȈȠȿȀȩ}ȤȤȒʻ~ȐȽȏȿȀʿ~ȤȤǒɻȤȧāǿȀʶ~~ȤȤǒ~~}}}}}}}}}~~Ƿȓȳǿǀɫ~~}}}}}}}~~ǤǤǒǒ~|}~ƃłǢǾȀȦ~|}~ȤȤǒ|||||||||||||||||||||||||||||||||||||||||||||||||||||||||ɢ~~¸}~ǔǴȏǾ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||Ƞ}~ù}ǣǤǒǷ}Ƽ~ǨǞŁǾǤȡ}ź~ǤǣǒǍ~ųǻNJǶǾ˜ɧ~ë~ǤǤǒǭ~Ư~LJǾǣǾǛȰ}ħ~ǣǣǒć~ɿ~ǘǪǑǾǛǺɽ~ǣǣǒǭ~ŝǬǕƄĂǾƛË~Ţƣǣƒǎ~ǜƾŃƘƶƾƛǚ~ȧƣƣƒƹœNJƵƫƥƾƚǯȩƣǣƑƢƿƜơƿƔƽƚ‡ǤƣƣƑǍǭƯƌNjŃƽƚǜƘƣƣƑƍ€ƿƟƷƽƚƹ~ÉƣƣƑƳưƏƬƴƥŽƚƒƴƣƣőŨŇŠƘăŖŽŚŵǛţţőŞšųĄƔńŽŚƑſţţőřŸÂŶũŹŽŚŶƣŢţőœńŒŢżŧżŚƖţţđőŖťƎŊ࿌ſƠŢţőƼýőŢŶſŝŅżŚŤŽ}ŢŢđĦǸ~}~~}~ż~}}~~~}}²}}~~~}}~ėĭ|||}~~ĄĭŰĺļĚŊŕ~}ĢĢđą|||||||||||ã}~}~}~}ƺ}~}~ĜļĖŚĨļĚķı~}}ĢĢđĉ~}}~~Ƹ}}ĤĨĆŐėļĚġĄ}ĢĢđĉ~}Ů~~Ǽ}~įĺķĤĆļęŊĤĢĢđĉĕ~ƻ~~Ū}~ľĈĤķĺĻęĻĢĢđĉš~ů~~ƿ~ĊęŐąĪĻęĨĢĢđÉİĢƷ~~ĝīĘęĻęėĢĢđÈþ™~~Ų~ĵþįêĈûÙÆââđÈėĿ~~Ŭċ~ċÛýûûÙüáâÑÈ“~~}~~}~~Ű}}}~ëÝÈċêûÙîââÑÈØ~~}~Ĵ}}‰~ïùÞÚûÙáââш~}}}}~ġ~~~ü}ý}î}æñĊúÙÖáᑈ}~~ï~ž~~ôÔ~~ÏÒýúÙËáᑈ~}ýŻġ~ì~ý~}¡Ò¬º™‚á¡‘ˆ¶Ö~çöź~IJ}}²°¥›º™¼¡ƣˆķ°~İŽ~ī}}¸˺™µ¡ˆı«~ħ~}’Ї¾º™¯¡|||||||||||||||||||||||||||||||||||||||||||||||||||||||~ˆªĬ¿ī~}¥º™­¹˜©¡ˆğª»ò~~}¶§«¹˜¤¡ˆ®ŒêĻ~}†”¼Œ¹˜ ¡ˆ’­Œ©~~}¹˜ ¡ˆĻ}}ö~~ø}~Ž•þ}~»}~~½~}ÿ~}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}¾~}~~}~¡¾~}~}~~~¾}¾~~~}~}~}~}}~~~}~~}~}~~}}~~}~~~~~~~~~~~~~~~~~~~~~~}~~~~~~}~~~~}~}~~~~~~}}}}}}~~~~~}}}}}~~~}~~~~}~~}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}~~~~}}}}}}}}}}}}}}}}}}}}}}}}}~~~~}~~}}~~~}}}}}}}}}}}}}}~}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}~}}}}}}}}}}}}}}}}}}}}}}}}}}}}~~~~}~}~~}~~}~~~}~}~~~~~}~»¹ԪͽԧԮ̞͞ԞɴƞԡѩϷѲѽѽʝѝɪÝѡԪӿ̝ҭʝԝбÝѠ̷ƵӺ̜ҥПʝѽǸҰÝѠƚΰҩҢѵƜ˝ѧɯЦÝѠǜЫŜѮÜѶʝѩǝÝѠǜѾҤѼѱПҧʜѨүÜѠǜѪұƜҤҫϝʜѨʟɜÜѠƜѦԽО̛ѻʜѨҬԩÜџƜźžѫҫѾɛѱʜѨɛǼÜџĺ³͛ԨԽ͛ԨԽ͛ԨԽƛԨУ˴ѿѶҮѣѣʛѨѴÜџ§ԨУͳМҤѸҧҤѸҧҤѸҧƛѩɜáαѲ›ѠѱɛʛѨҤÛџϳѩɜһ͛Ѵƚ˛Ѵƛ˛Ѵƛ˛ƛҴȠҳϜǛѻʛѨ̛ÛџҸҴӺ͛ÚѠѹÛѠѺÛѠѺƚҺ̡˸ĜҪȺҥѸϜҬʛѨ›˜џұҺ̡Į͛НҭҧНҭҧНҭҧǞұҿұͮ˜ùѱҩҩНʛѨѹʶџέϡұҴ͛ҬѿʛҬѿʛҫѿʛλĚҿ̜ϧҲĸѿΜѸƚʛѧѴўШҽĚҳ͛ѻѽ̚Ѹѻѽ̚ѸѼѽ̚ѸҽѭΞҬҶȚȶ˚šǚѵʛѧѰўҳНѭĚ͚̚Ҭҥҥ̚Ҭҥҥ̚ҬҥҥҽџѸѿОң̲џѱҠҦʚѧѮў͜Ҭџҩ͚ңџѴʚңџѴʚңџѴʚλ˚Ѧ˚ĖѰҾѭңѯΛʚѧѲʶўѼѻ˚Λ͚ѴǙřѸѴǙřѸѴǚřѸǝÚѺѝȶѹѺʚѿѿʚѧѵ—ўѮĚÚÚ͚řѷќҤřѷќҤřѷМҤƙѣѿӰƙѻ̚ѰʚѧѻšўѦȚѽ͚НҩҫʙНҩҫʙќҩҫʙƙѦ͜НҬҢҡʙѧš™ѝѢ̚ѹ͚ҬϛѻѶҫϛѻѶҬΛѻѶƙէřҫҩМѰəʚѧ͙™ѝѡ͙ѹ͙Ѽ™ʙңѼ™ʙңѼ™ʙңƙεѿ™ѺѴƘѿѻʙѦҢƺ™ѝѢʙѻ͙̘ѳҢɘ̙ѳҢə̙ѳҢɘƙϖѱϚ™ѵ̙ҫʙѦѴΛ™ѝѥǙ͙ҡҢѯѶҡҢѯѶҡҢѯѶƙҠѼҤ™ϚҥҞЛʘѦș™˜ѝѭɘ͘ѱ̘ѾҢѱ̘ѾҢѱ̘ѾңƘѭʘѹѿҢΚѩƘʙѦҪҫ˜ѝѼѹџ͘™ѽ̙ɘ™ѽ̙Șѽ̙ɘƘĘҦΞҳѭѿѴѴʘѦʛ̚˜ќΚҫѵ͘ΥѫүѴΥѫүѴϥѫүѴƘҧəėЯҡѹѯѿҤʘѦҿҰ˜ќҳМΟ͘ҿҞҡҿҝҡҿҝҡƘʠҸҵНҼØҞΙʘѦӾǙ˜ќЦҼĝ͘ǘȘǗȘǗȘƘɦОҸӹȫѣȗѿʘѥȭӘќΫПȨ͘ѶѴѶѴѶѴΛƗѻӲȱʜƶӲѹѯʘѥǵܘќζҿҲŹ͘ҨҡҨҡҨҡқƗӼΤҶҨҠʘѥΫ—ћҹӸ˽ΗΚǗΚǗΚǗћƗҸɤˮКȗʗѥģ—ћѸϳǡ˗—ճ–ճ—ճ՛ȗ—ƪι˷ėջ̗զǯė՛պо—ɴɗĽŗѸΪҫҜѰҿРҭέϽƿiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiijiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiijiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiijiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiijiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiijiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiijiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiijiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiijiiiiiiiiijiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiijiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiijiijiiiiiiiiijiiiiiiiiiiijiijijiiijjiiiiiiiiiiiiiiijiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiijiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiijiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiijiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiijiiiiiiiiiiiiiiiiiiiiiiijiiiiiiiiiiiiiiiiiiiiiijiiiiiiiiiiiiiiiiiiijiiiiiiiiiijiiiiiiiijiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiijjiiiiiiiiiiijiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiijiiijiiijiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiijiiiiiiiiiiiiiiiiiiiiiiiiiijiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiijiiiiiiiiiiiiiiiiiiiiiiiiijijiiiiiiiiiiiiiiiiiiiiiiiiiijiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiijiiiiiiiiiiiiijiiiiiijiiiijiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiijiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiijijiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiijiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiijiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiijiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiijiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiijiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiijiiiiiiiiijiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiijiiiiiiiiiiiiiiiijiiiiiiiiiiiiiijiiiiijiiiiiiiiiiiijiiijiiiiijiiiiiiiiiiijiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiijiiiiiiiiiiiiiiiiiiiiiiiiiiiiijiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiijiiiiiijiiiiiiiiiiiiiiiiiiiiiiiiiiiiiijiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiijiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiijiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiijiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiijiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiijiiiiiiiiiiiijiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiijiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiijiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiijiiiiiiiiiiiiiijiiiiiiiiijiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiijijiiiiiijijijiijiiiiiiiiiiijiijijiiijiiiiijiiiiiiiiiijiiiiiiiiiiijiiiijijjiiiijiiijijiiiiiiiijiiiiiiiiiiiiiiijiijiijiiiiiiiiiiiijiiiiiiiiiiiiiiiijijijijiiiiiiijiiiiijiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiijiiiiiiiiiiiijiiiiiiiijiiiiiiiiiiijiiiiiiiiiiiiiiiiiiijiiiiiiiiiiiiiiiiijiiiiijiiiiiiiiiijiiiiiiiiiiiiiiiiijiiiiiiiiiiiiiiiiiiiiiiiiijiiiijiijiiiiiiiiiiiiiiiiiiiiiiiiiiiiiijiiiiiiiiiiiiiiiiiiiijiiijijiiijiiiijiiiiiiiijiiijiiiiiiiiiiiiiiiiiiiiiijijjjiiiiiiiiiiijiiiiiijjiiiiiiiiiiiiiiiiiiiiijiiijiiiiiiijijiiijiiiiiiiiiiiiijjiiiiiiijiiiiiiiiiiiijiiiiiiiiijijiiiiiiijiiiiiiiiiiiiiiiiiiiijiiiiiijiiiiiiijjiiiiiiiiiiijiiiiiijijiiiiiijiiiiiiiiiiiijiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiijiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiijjjiiiiiiiiiiiiijiijiiiiiiiiiijiiijiiiijiiiiiiiijiiiiiiiiiiiiiiiiiiiiiiiijiiijiiijiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiijiiiiiiiiiiiiiijiiiiiiiiiiiiiiiiiiiiiiiiiijiiiiiijiiiiiiiiiiiiiiiiiijiiijiijiiijiiijiiiijiiijiiijiiiiiiiiiiiiiiiiiiiiiiijjiijiijiiiijiiiiiiiijijjiiiijiijiiiiiiiijiijiiiiiiiiiiijiiiiijijiiiijiiiijijjiiiiijijiiijiiiijjiiiiiiiiijiijjiiijiiiiiiijiiiiiiiiiiiiiiiiiiiiiijiiijiiiiiiiiijiiijiiiiiiiiijiiiiiiiiiiiiiiiiiiiiiiijiiijiijiiiiiiiiiiiiiiiiiiiijiiiiiiiiiiiiiiijiiijiiijiijjiiijiiiiijiiiijiiijiiiiiiiiiijijiiiiiiiiiiiiiijiiiijiiiijijiijjiiijiiijiiiiiiiiiijiiijjiiiiiiiiiijiiiiijjiiiiiijjiiijiiiiiiiiiiiiiiiiiijijiiijijiiiiiijiiijiiiiiiiiiiiiiiiijiiiiiiijjiiiiiiijiiiijiiiiiiiiiijiiiijijiiiiijijiiijjiiiiiiiiijiiiiiijiiiiijiiiiijiiiiiijiiiiiijjiiiiiiiiiiiiiiiiiiiiiiiijiijiiiiijiiiiijiiiijiiiiiiijiiiiijjiiijijiijiiiiiiijijiiijijijijiiijijiiiijjiiiiiiiiiiiiiiiiiijiiiiijiiiiiiiiiiiiiiiiijijiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiijiiiiiiiiiiijiiiiiiijiiijjiiiiiiiiiiijiijiiiiiiiijjiiiiijijiiiiiiiijiijjiijijiiiiiijijiiiiiiijiiiiiiiiiiiiiiiiiiiiiijijiiiiiiiiiiiiiiiiiiiiijiiiijiiiiiiiiiijiiiijiiijijijiiiiiiiiiiiijiiiiiiijiiiiiiijiiiiiiiiiiiiiiiiijiijiiiiiijiiiijiiiiiiiiiiijijiiijiiijiiijiiiiiiijiiiiiiiijiiijiiijiiiiiiiijiiiiiijiiiijiiiiiiiiijijijiijiiiiiiiiijiiijiiijiiiiijijiiijiiiiiiijiiiijiiiiiiijiiiiiiijiijijjjjiijiiiijijijiijjijiiiijiijijiiijiijiiiiiiiiiiijiijiijiijiijiiiijiiijiijijiiiiiiiijjiiiiiijjjiiiiijjiijiijiiiiiiiijijiiiijjiiiiijiiiijiiiiiiiiijiiiiiiijjiiiiijiiiiiiiiiiiiiiiijiiiiiiiiiiiijiiijiijjiijiiiijijiiijiiiiiiiiiijijiiiiiiiiiiiiiiiiiiiiiiijjiijiiiiijjiijjiiijiiiiiiiijiijiiiiijiiiiiiiijiiiiiiiiiiiiiiiiijiiiiiiiiiijiiiiijiiiiiiijiijijiijijijijiiiiiiiijijijijiiiijiiiiiijjiijiiiiiiiiiiiiiiiiiiiiiiiiiiiijiiiiijiiiiiiiiiiijiiiiiiiiiiijiiijiiiiijiiiijjiiijiiiiiiiiiijiiiijiijijiiiiijijjiijijiiiiiiiiiiijiiiijiiiiiiiiiiiiiiiiiijiiijjiiijiiiiiiiiiiiiiiiiiiiiijiiiiiijiijiiiiiiiijiiijiiiiiiijiijiijjiiiiiiiiiiiiiiiijiijiiijijiijiiiijiijiiiijiijiiiiiiijjjjjijiiijiiiiiiiiijiiiiijiiiiiijiiiiiiiiiiiiiiiijiiiiijijijiiiiiiiijiijjiiijiiiiiijiijijiiiiijiiiijiiiiiiiijijjijiiiiijiiiiijijiijiiiiijijiiiiijjjijjijijijiiiiijjjijiiijjjijjiiiiiiiiiiiiijiiiijiiiijjjjiiijijiiiiiiiiiiiiiiiiijiiiiiiiiiiiijiijiiijiiijiiiijjiijijijjjijijiiijjiiiijiijjiijjijjiiiijiiiiiiiijiiiiijijiiiiiiiiiijiiijiijijjijiijiiiiiiiiiiijijiijjiiiijjiiiiiiiiijiijiiiiijiiiijjiiiiiiiiiijiiiiiiijiiiiiijijiiiiiijjiiijiiijiiiiiijiijjiiiiiiiiiijjjiiijijijjiiiijiiiijjiiiiiijiijjjijijiijiijiiijiiijiiiiijiiijiiiiiijjjiijiiiiiiiiiiiiiiiiiiijiiiiiijjiiiiiiijijiiiiiiiiiiiiiiiiiiijiiiiiiijijiijjiiiiiiiiijiiiijijijiiiiiiijijiiiiijiiijiijiiiiiijiijijjijiiiiijjiiijiiiiiijiiiiiijijijjiiiiiiiiiiijjjiijiijiiiiijiiiijijiiiijjiijiiiiiijiiiiiiijiiijjjiiiiiiiiijiiiiiiiiijiiiiiiiiiijijiijiiiiiiijiiijiiiiiiiiijiiiiiijijiiiiiiiijjiiiiijiiiiiiiiiiijiijiijijjiijiiiiiiiijjjijjiijijjijiiijiiiiiiiiiiijijjiiiiiiijiijiiijjijiiiiiiiiiiiiiiiiiiijiiiiiijijjiiiijiiiijiiiiiiiiiiijiiiijiiiiiiiijiijijjiiiijiiiiiiiijiiiijiiiiiiiiiiiijiijiiijjijiiiiijiiijjiiiijijijiiiijiiijiijiijiiiijjiijjjijijiijjiiijiiijijiiiijijjiiiiiijjijjiiiijiiiiijijijijiijijjjjjijijjjjjiijiijjijjijijjjjiijijiijiiijiijjijjjijjiiijjijiijjjjjiiijjiiijjjjjiijjijjijiiiiiiiijiijjjijiijijijiiijiiiijiijjiijiiiijjiiiiiiijijijjiiiiiiijijijijijjjjiijjiiiijiiiiiiiijiijjiiiiijijjiijiiiiiiiiijijiiijijiijijiiiiijiijjijjjiiijijjiijjjjjjjiijjiiijiijiiiijjiiijjijiiijjijiiijijiiiiijijiiijjiijijjiijiiijiiijiiiiiijjijiiijjiijijiijjjiijjijjjjijiiiiiiijjijiijjijiiiijiiijijijiijiiiijjjjjiijjjijjjijjjijiiijjijiijiijjiiijiiiiijiiijiijiiiiijijjjijjjijijiiiiijijiiiijijjiijijiijijijjjjiiiiijiijjijjiijijjjiijjjjiijjjjiijiijjjiiijiiijiijiijiiiiiijjjjjiiijijjjjjjiijijijijiiijjiiiijiijijjjiiijjjjjjiiiiijjiiiiiiijjiijiiiijjjjjjijiiijiiiiiiijijjijjijijjiiiijiiiiiiijiiiiiijjiiijiijiijjijijiiiiiijiiiiiiiijjjiiiiiijjijiiiiiiiijiijiiiijiiiijiiiijiijjjiiiijjiiiijjijijjjiiijiijijjjijjiiiiiiijijjiiijijiiiiijijiiijjiijiiiijiiiijjijjijjiijiiiiiiiijijijiiiiijjjjjjjjjjiiiiijiiijjjjjjijiiijjjjjjijijijijjjjijjjjijiijjjjjiiijijjiijiiijijjiiijjjjijijjijjjjjjiiijjijiijjjiijjjijiijjjijjjijjjjjijijjijjiiijiijiijjjiijjjjjijjijjijjijjiijjjjjijiiijjiijijjjjijijijijijijjjijijijjiijijjijjijijijjjjjijjjjjiijjjjijijijiiiijijjijjjijjiijijijjjjijjjiiijjjijjjiiiiiiijijjjijiiiijjiiijjijjjjijijjjijjjiijjijijjjijiijjjjjjiijjiijiiiijjjjiijijijjjijiijijijijjijijijiiijiijjjjijijjijjijjijiijijijijjiiijijjjjjiijjjjijjijjjiijjjijijijiiijijijjjjjjjjjiiijjjjiijjijjjjjiiiijijjjjjiijjjjjijjiiijjijiiiijjjijjjijjjjijjiijjijjjiiijjjjjijijjijiijijijjijiijijjjijiijjijjjijjjijijjiijjjiijjiiiijjijjijjjjjjjjijijjjiiijjijijjjijijijiiijjijjiiiiijiiijijjjjijjijjjijjijiijjjijiiiiiiijjijjijjijijjjiiijjijjjjjjiijjjijjijjjjjjijjijjjijiijjjjiijjiijjjiijijiijijjijiijiiiijijijiiijijiijijiijijjijiiiijjiiijjijijiijiijiijjiijjiijjijijijijjijjiijjjjijijiiijjjiijiiiijiiiijjijijjiijijjjjiiiiiiijijjjjijjiiijijjjiiijjjiijjijjjjijiiiiijjjjiijjiijiiijiiiijjjjjijijjjjiiijijijjiijijiiiiijjjjjjjjjijjjjjjjjjjjjjjjjjjjjjjiiijjjjjijjijjjjjjjjjjjjjijijjjjjjijijijjjjjjjiijjjjjijjjiijjjijjjjjjjjijjjijjjjiijjjijjjjijjjjjjijjjjjjjjjjjjjjjijjijjjijjijjijjjijjijjjjijjjjjjjjjijijjjjjjjjjiijjjjjjjjjjjjijjjjjjjjjjjijjjjijjjjjjjjjjijjjjjjjjjjjjjjjijjijjjjjjjjiiijjjjjjjijjiijiijjjjjjjjjjjjijjjjjjjjjjjjjjjjjjjjjjjjjjjijjjjiijjijjjjjjjjijijjjiijjjjjijjjjjijjjjijjijjijjjjjjjjjjijjjjjijiijjjiijijijjjijjjjjijjjjjjjjjjijjjjjjjjjjjjjijiijjjjjjijjijjijijjjjjjiijjijjijjjijiijjjjjjjjjjjjiijijjjjijijjijijjjjjjjjiijijijjjijijjijjijjjjjjjijjijjijijjjjjjjjjijjijiiijjjjjjjjijjjjijjjjjjjjiijiijjijjjijjjjjijjjjijijjijjjjiijjjjijjiijjjiiiijjijjjjjjjjjjjjjjjijjjjjjjjjjjjjjiiijjjjijjijjijjiijjjjjjjijjjjijiijjjjijijijjjjijjjjjjjijijijjijjijjjjiijjijjjjjjjjjjjjjiiijiijiijjiijijjjjijijjiijjjjjjjjijjjijijjjjijjjjjjjjjjijjjjiijjijijjjjjjijjjiijijjjijjjjjjjiiijjjjjjijjjjjjjjjjijjijjjjjjjjjijjjjjjjjjjjjijjjjijjjiiiiijijiiijjjijjjjijjjjjjjijijijjijijijijjijjiijijjijjjjijijjjijjjjjjjjjjjjjijjjjjjjjjjjjjjjijjjiijjjijijijjjjjijijjjjjjijjjjijjjjjjjjjiijijjijjjiijjijiijjjijjjjjjjjjjjjijjijjjjijjjijjjiijjjjjjjijjjjjijjjjijijjjiijjjjjjjjjjiijjjjiiijjjjjjjjjjjijijjjjjjjjjjjjjjijjjijjjiijjjjjjjjjjjjjjjjjjijjijijjjjjjijjjjjjijjjjjjjjijjjjjjjjjjjijjijjjijjjjiijjijijjjjjjjjjijjjijjjjjijiijijjjjjijijjijjjjjjjjjjjjijijjjijjjjijjjjjjjiijjjjjjiijjjjjjjjjjjjjijjijjjjijjjjjijjjjjjjjjijjjjjjjjjjijjjjjijijjjjiijjijjjjjjijjjjjjjijjjijjjjjjijjjiijjjjjjijjjjjjjjjjjjjijiijjjijjjiijjjjjjjjjjjjijjjjjjjjjjjjjijijjjjjjjjjjjjjjjjjijjjjjjjjijjjijjijjjjjjijjijjjjjjijjjiijjjjjjjjjjjjjjijijjjjjjjjijjjjjijjjjjjjijjjjjjjjjjjjjjijiijjjijijjjijjjjjjjijjjjjjjjjjjjjijjjjjijjjjjjjjjjjijjijjjijijiijjjjjjjjjjjjjjjjjjiijjjjjjjjjjijijjijijjjjjjjijiijijjjjjjijjjjjjjjjjjijjijjjijjjiiijjjjjjijijjijjjjjjijjjjjjjjjjjijjjjiijjijjijjjjjjjijjjjijjjjjijjjjjjjijjjijjjjjjjjjjijjjjjjjjjjjjjjjjjjjjjjijjjjjjjjjijjjjjjijjjjjjijijjjjjjjjjjjijjijjjjjjjijjjjjjjijjjiijjjjijiijjjjjjiijjjjjjjijjjjjjjjiijjjjijjjjjijjijjjjjjjjjjjijjjijjjjjjjjjjjjjjjijjjijjjiijijjiijjijijjjjijjijjjjijjjjjijijiijijjijjjjjijijijjjijjjjjjjjjjjjijjjjijjjjijjjjjjjjjijijijjjijijjjjjijjijjjjjijjijijjjiijijjijjjjjjijjjjjijjjijjjjjjjiiijjjjjjjijjjjijijijjjjjjjjjijjjjjijijjjjjjiijjiijjijjijijjjjiijjjjjjjjjjjjjjjiijjjiiiijijjjjjiijjjjjjjijjjjiiijjjijjijjjjjjijjijjjjjjiijjjjjijjijjjjijijjjijjijjjiijijjijjjjijijjijijjiiijjjjjjjjjijjijjjjjijjjjjjijijjjijjjijjjiijiijjjijjijijiiijjjjiijjjjijjiijjjjjjijjjjijjjjiijjijijjjjijjijjjjjijjijjjjjjjjiijijijijjjjjjjijijjjjjjjjjjjjjjjjjjjjjjjjjjjjijjjjjjjjjjijjjjjijijjjjijjjjjijjjjjjjjjjjjjjiiijjjjjijjjiijjjjijjjjjjjjjjjijijjjjjijiijijjjjiiiijjijjjjijjjjjijjjjjjjiijjjijjjjjjjjjjijjijijjjjijjjjjiijjjjjijjjjijijjjjjjjjiijjijjjjjjjjjjijijjjjijjijjjjiijjijjijjjjjjjjjjjjjjjjijjijjjjiijjjjjijjjjjjjjjjiijjjijjjjjjjjijjjjjjjjijjiijjiijjjiijijjjijiijijijjjjjjjjjjjijjjjjjijijjjjjjjjijjjjjjjjijijjjijjijijijijijjijjijjjjjjijijjjjjjjjjjijjjjiiiijjjijiiijjjjijjjjjjjjjjjjjjijjjjjjjjjjjjjjijjjijjijjjjijjjjjjjjjjjjjjjjjijjjjjijijjjjjjijjjjjjjjjjjjjjjjjijjijjjijiijjjjjjjjjjjjijijjjjjjijijjjjjjjjijijjijijijjijjijijjjiiijijjjjjjjijjjjjjjjjjjjjjjijjjjjjjjjjjjjjjjjijiijijjjijjjjjijjiijjjjjijijjijjjjjjijjjijiijjjjjijjjjijiijjjiijjjjijjjijjjijjiijijijjijjjiijjjjjjjjjjjjjjijjjjijjijijjijjijijjijjjjjjjijjjjijjjijjjijjjjjjijjjjjiijjjijjjjjjjjjjiijjjjjjjjjjjijjjjjjjijjjjjijjjjjjjjjiijjiiijijjjjjjjjjjjjijjjiijjjjjjijjjjjjijjijjijjjjijjjjjjjjjjiijijjjjijjjjjjiijijjjjjjjjjjjjjjjjjjijjjjjjiijjjijijiiijjijjjjijjijjiijjjjjjjjjjijjjjjjjijjjjijjijjijjjjjjjjjjjjjiijjjjjjjjjjijijjjijjjjijiijjjjijijjjijjjjjjjjjjijiijjjjjjjjjjjjjjjjjjijjjjjjjjiiijiiijjjjjijjjjjjjijjjjjijijjijjijjjijijjjjijjjiiiijjjijjjjjijijjjiijjjjjiijjjjjiijjijjjjjjjijjjjijjjjjjijjjjjjjjjijjjjjjjjjijiiiijjiiijijjijjjijjjjjjjiijjjjjjjjjjjjjjiiijjijjjjijijjjjjiiijjjjjjjjijjjjjjjiijijjjiijiijijjiijjjijijjjijjjjjijjjjjjjjjjijiijjjjijjjjjjjjjjjjjjjjjjjjjijjijjjjjjjjjjjjjijijjjjjjjjjjjjjjjjjijjjjjjjjjijjjjjjijjjjjjjjjjjjjjjijjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjijjjjijjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjijjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjijjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjijjjjjjjjjjjjjjijjjjjjjjjjjijjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjijjjjjjjjjjijjjjjjjjjjijjjjjjijjijjjjjjijjjjjjjjjjjjjjjjjjjijijjjjjjjjjjjjijjjjjjjjijjjjjjjjjjjijjjijjijjjjjjjjjjjjjjijjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjiijjjjjjjjjjjjijjjjijjjjjjjjijjjjjjjjjjjjjjjjjjjjjjjjjjjijjjjjjjjijjijjijjjjjjjjjjjijiijjjjjjjijjjjjjjjjjjiijjjjijjjjijjjjjjjjijjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjiijijijjiijjjijjiijijjijjjjijjjijjjjjjjjjjijjjjjjijjjjjjjjijjjjijjjjjjjjjjijijjjjijjjjjjjjjijjjjjjjjjjijjijjjjjjjjjjiijjjjjjjjiijjjjjjjjjiijjjjjjjjjjjjjjjijjjjijjjijjjjjjjjjjjjijjiiijjjjjijjjijjjjjijjjjjjjjjjjjjjjjjjjiijjjjjjjjjjjjijjjjjijjijijiijjjjijjjjjjjijjjjjiijjjjijjjjjjjjjjjjjjjjjjjjjjjiijjjjjjjjjjjjjijjjjjjjjjijjjjjjjjijijjjjjjjiijjjjjjjjjjjjjjjjjjjjjjjijjjjjjjjjjjjjjjijjjjjjjjjjijjjjjjijjijjjjjjjijjjjjjjjjjjjjjjjjijjjjjjjjjjjjjjjjjjjjijjjijjjjjjjjjjjjjjjjjjjjjjjijjjjjjjjjjjjijjjjijjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjijjjjjjjjjjjijjjjjjjjjjjjjjjjjijjjjjjjjjjjjjjjjjjjijjjjjjjjjjjjjjjjjjjjijjjijjjijjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjijjjjjjjjjjjjjjjijjjjjjjjjjjjjjjjjijjjjjjjjjjjjijjjjijjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjijjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjijjjjjjjjjjjjjjjijjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjijjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjijjjjjjijjjjjjjjjjjjjjjjjjjjjijjjjjjjjjjjjjjjjjjjjjjjjjijjjjjjjjjjjjjjijjijjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjijjjjjjjjjjjjjjjijjijjjjjjjjjjjjjjjjjjjjjjjjijjjjjjjjjjjjjjjjjjjjjijijjjjjjjjjjjjjjjjjjjjjjjjjjjjijjjjjjjjjjjijjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjijjjjjjjjjjjjjjjjjjjjjjjjjjjijjjjjjjjjjijjjjjjjjjjjjjjjjjijjjjjjjjjjiijjjjjjijjjjjjjjjjjjjjjjjijjjjjjjjjjjjjjjijjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjiijjjjjjjjjjijjjjjjjjjjjijjjjjjjjjjjjijijjjjjijijjjijjjjjjjijjjjjiijjijjjijjjjjjjjjjijjjijjjjjjijjjjjjjijjjijjjjiijjjjjjjjjjjijjjijjjjjjjjjjjjjjjijjijjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjijjjjjjjjjjjjijjjjjjjijjjjiiijjjjjjijijjjjiijjjjjjjijijjjjjjjjjjjjijijjiijijjjjijjjijjjjijjjjjjjjjjjijjjjjjjjjjjjjjjjjjjjjjjjjjjjjiijijjjjijjjjjjjjjjjjjijjjjjjjjjijjjjjijjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjijjjjjjjjjjjjjijjjjjjjjijjjjjjjjijjjjjjjjjjjjjjjjjjjijjjijjjjjjjijijjjjjjjjjjjjjjjjjjjjjjjjjijjjjjjjjjjjjjijjjijjijjjjjjjjjjjjjjjjjjijjjjjjjjjjjjjjijijjjjijjjjjjjjjjjjjjjjjjjjjjjijjjjjjijjjjjjjijjjjjjjjjjjjjjjjjjjjjjjijjjjjjjjjjjjjjjjjjjjjjjjjjjjjjiijjjjjijjjjjjjjijjjjjjjjjijjjjjjjjjijjjjjjjjjjjijjjjijjjjjjjjjjjjjjjjijjjijiijjjjjjjjjjjjjjjijjjjjjjijjjjjjjjjjjjjjijjjjjjjjjjjjijjjjjjjjjjjjjjjjijjjijjjijjjjjjjjjjjjjjijijjjjjjjijjjjjjijjjjjjijjijjjjjjjjjjjjjjjjjijijjjjjjjjjjjjijjjjjjjjjjjjjijjjjjjjjjjjjjjjjjjijjjjjjjjjjijjjjjjjjjjijjjjjijjjjjjjjjjjjjjjijjjjjjijjjijjjjjjjjjjjjjjjjjjjjjjiijjjjjjjjjjjjjjjjijjjjjjjjjjjjjjjjjjjjijjjjjjjijjjjjjjjjjjjjijjjijjiijiijjjjjjjjjjjjjjjjjjjjjjijjijjjjjjjjjjjjjjjjjjjjijjjjjjjjiijjjjjjjjjjjjjjjjjjjjjjjjjjjijjjjjjjjjjjjjjjjjjjjjjjijjjjijjjjjjjijjjjjjjjjjjjjjjjijjjijjjjjjjjjjiijjjjjjjjjjjjjijjjjjjijjjjjjjjjjjjjjjjjjjijjjjjjjjjjjjjjjjjjjjjjijjjjiijjjjjjjjijjjjjjjjjjjjjjjjijjjjjjijjjjjjjjjjjjjjjjjjjjjjjjijjjjjijjjjjjijjjijjijjjjjjjjjjjjjjjjjijijjjjjjjjjijjjjjjjjjjjjjijjjjjjjjijjjjjjjjijjijjjjjijjjjjjjjjjjjjjijjjijjjjjjjjjjjjjjijjjijjjijijjjjjjjjjjjjjjjjjjjjijjjjjjjjjjjjjjjjjjjijjjjjjijjjjjjjjjjjjjjjjijjjjijjjjjjjjjijjjjjjjjjjjjjjjjjjjjjjjjijjjjijjijjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjijjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjijijjjjjjjjjjjjjjjjjjjjjjjjjjijjjjjjjjjjjjjjjjjjjjjjjjjiijjjjjjjjjjjjjjjjjjjjjjjjjjjiiiijjjjjjjjjjjjjjjjjjjjjjjjjjijjjijjjijjjjjjjjjjjjjjjjjjjiiijjjijijjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjijjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjijjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjijjjijjjjjjjjjjjjjjjjjjjjjjjjjjjjijjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjijjjjijjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjijjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjijjjjjjjjjjjjijjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjijjjjjjjjjjjjjjijjjjjjjjjjjjjjjjjjjjjjjjjijjjjjjijjjjjjjjjjjjjjjjjjjjjjjjjjjjjiijjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjijjjjjjjjjjjjjjjjjjjjjjjjjjjijjjjjjjjjjjjjjjjijjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjijjjjjjjjjjjjjijjjjjjjjjjjjjjjjjjjjjjjjjiijjjjjjjjjjjjjjjjjjjjjjjjjjijjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjijjjjjjjjjjjjijjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjijjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjijjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjijjjjjjijjjjjjjjjjjjjjijjjjjjjjjjjjjjjjjjjjjjjjjjjjjiijjjjjjjjjijjjjjjijijjjjjjjjijjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjijjjjjjjjjjjjjijjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjijjjjjjjjjjjjjijjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjijjjjjjjjjjjjijjjjjjjjjjjjjjjjjjjjjjjjjjjijjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjijjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjijjjjjjjjjjjjjjjjjjjjjjijjjjjijjjjijjjjjjjjjjjjjjjjjjjjjjjjjjjjijjjjjjijjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjijjjjjjjjijjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjijjjijjjjjjjjjjjjjjjjjijjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjijjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjijjjjjjjijjjjijjjjjjjjjjjjjjjjjjijjjjjjjjjijjjjjjjjjijjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjijjjjjjjjjjjjjijjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjijjjjjjiijjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjijjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjijjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjijjjjjjijijjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjijjjjjjjjjjjjjjjjjjjjijjijjjjjjjjjijjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjijjjjjjjjijjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjijijjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjijjjjjjjjjjjjjjjjijjjjjjjjjjjijjjjjjjjjijjjjjjjjjijjjjjjjjjjjjjijjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjijjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjijjjjjijjjjjjjjjjjjjjjjjjjjjijjjjjjjjjjjjjjjjjijjjjjjjjjjjjjjjjjijjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjijjjjjjjjjjjjjjjjjjjjjjjijjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjijjjjjjjjjjjjjjjjijjjjjjjjjijjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjijjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjijjjjjjjjjjjjjjjjjjjjjjjjjjjjijjjjjjjjjjjjjjjjjjjjjjjjjjjjijjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjijjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjijjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjijjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjijjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjijjjjjjjjjijjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjijjjjjjjjijjjjjjjijjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjijjjjjjjjjjjjjjjjijjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjijjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjijjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjijjjjjjjjjijjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjijjjjjjjjjjjjjjjjjjjijjjjjijjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjijjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjijjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjijjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjijjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjijjjjjjjjjjjjjjjijjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjijjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjijjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjijjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjijjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjijjjjjijjjjjjijjjjjjjjjjjjjjjjjjjjjjjjjijjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjijjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjijjjjjjjjjjjjjjjijjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjijjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjijjijjjjjjjjjjjjjjijjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjijjjjjjjjjjjjjijjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjijjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjijjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjijjjjjjjjjjjjjjjjjjjjjjjjjjjjjjijjjjjjjjjijjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjijjjjjijjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjiijjjjjjjjjjjjjjjjjjjjjjjjjjijjjjjjjjjjjjjjjjjjjijjjjjjjjjjjjjjjjjjjjjjjjjjijjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjijjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjijjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjijjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjijjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjijjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjijjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjijjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjijjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjijjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjijjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjijjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjijjjjjjjjjjjjjjjjjjjijjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjijjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjijjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjijjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjijjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjijjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkjjjjjjjjjjjjjjjjjjjjjjjjjjjjkjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkjjjjjjjjjjjjjjjjjjjjjjjjjjjjkjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkjjjjjjjkjjjjjjjjjjjjjjjjjjjjjjkjjjjjjkjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkjjjjjjjjjjjjjjkjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkjjjjjjjjjjjjjjjkjjjjjjjjjjjjjjjjjjjjjjjjkjjjjjjjjjjjjjjjjjjjjjjjjkjjjjjjjjjjjjjjjjjjkjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkjjjjjjjjkjjkjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkjjjjjjjjjjjjjjjjjjjjjjjkjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkjjjjjjjjjjjjjjjjjjjjjjjjjjjkjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkjjjjjjjjjjjkkjjjjjjjjjjjjjjkjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkjjjjjjjjjjjjjjjkjjjjkjjjjjjjjjjjkjjjjjjjjjjjjjjjjjjjkjjjjkjjjjjjjjkjjjjkjjjjjjjjjjkjjkjjjjjjjjjjjjjjkjjjjjkjjjjjjjjjjkjjjjjkjjjjjjjjjjjjjjjjjkjjjkjjjjjjjjjjjjjjjjjjjjjjjjjjjjkjjkjjjjjjjjjkjjjkjjjjjjjjjjjjjjjjkjjjjjkjjjjjjjjjjkjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkjjjjjjkjjjjjjjjjjjjjjjjjjjjjjjjkjjjjjjjjjjjkjjjjjjjjkjjjjjjjjjjjjkkjjjjjjjjjjjjkjjjjjjjjjkkjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkjkjjkjjjjjjjjjjjkjjjjjjjjkjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkjjjjjjjjjjjjjjjjjjjjjjjjjjkjjjjjjjjjjjjkjkjjjjjjjjjjjkjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkjjjjjjjjkjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkjjjjjjjjjjjjjjjjkjjjkjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkjjjjjjjjjkjjjjjjkjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkjjkjjjjjjjjjjkjjjjjjjjjjjjjjjjkkjjjjjjjkjjjjjjjjjkkjjjkjjjkjjjjjkjjkjjjkjjjjjjjkjjjjjjjjjjkjjjkjkjjjjjkjjjkjkjjjjkjkjjjjjjjjjjjjjjjjjjjjjjkjjjjjjjkkjkjjjjjjjjjjjjjkjjjjkjjjjjjjjjjjjjjjjjjkjjjjjjjkjjjjkjjjjjjjjjjjjjjjkjjjjjjkjkjkjjkjkjjjjkjjjjjjjjjjjjjjjjjjjjjkjjjjjjjjjjjjjjjkjjjjjjkjjjjkjjkjjjjjjjkjkjjjjjjkjjjjjjjkjkjjjjjjjkjkjjjkjjjjjjkjjjkjjjkjjjkjjjjjjjjjkjjjkjkjjjkjjjjjjjkjjjjjjjjjjjkkjkjjjjjjjjjjkjjjjjjjjjjjjjkjjjjkjkjjjjjjjkjjjjjjjjjkjjkkjjkjjjjjjjjkjjjjjjkjjjkjjkkjjjjjjkkjjjkjjjjjjjjjjjjjkjjjjkjkjjjjkjkjjjjkkjjjjkjjjjjjjjjjjjjjjjkkjjjjjkjjjjjjjjkjjjjjjjjjjjjjjjjjjkjjjjjjjkjjjjjkkjkjjjjjjjjkjjjjjjjkjjjjjjjjjjjjkjjkkjjjjjjjjjjjkjjjkjjjjkjjkjjjjjkjjjjjjkjjjkjjkjkkjjjjjkjjjjjjkjjjjkjjjjjkjkkjjjjjkjjkjjjjjjjjjjkjjjjjjjjjjjjjjjkjjjjjjjjjjkjjjjkjjjjjjjjjjjjjjjkjjkjjjjjjjkjkjjjjjjkjjkkjjjjkjjjjjkjjkjjjjkjjjjkkjkjjjjjjjjjjjjjjjkjjjjjjjjjkjjjjjjjkjkjjjjkjjjjjjjjjkjjjjjjjjjjjjjjjkjjjjjjjjjjjjjjjkjjjjjjjjkjjjjjjjjjjjjkjkjkkjjjjjjjjjjjjjjjjjjjjjjjjjjjjkkjjkjjjjjjjjkjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkjjjjkjjjjjjkjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkjjjjjjjjjjkjjjjjjjjjjjjkkjjjkjjjjjjjjjjkjjjjjjjjjjjjjjjjjjkjjjjjjjjjjjjkjjjjjjjjjjjjjjjjjjjkkjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkjjjjjjjjjjjjjjjjjjjjjjjkjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkjkjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkjjkjjjjjkjjkjjjjjjkjjjjjjjjjjjjjjjjkjjjjjjjjjkjjkjkkjjjjjjjjjjjjkjjjjjjjjjjjjjjjjjjjjkjjjjjjjjjjjjjjjkjjjjjjjjjjjjjjjkjjjjjjjjjjjjjjkkjjkjjjjjjkjkjjjjjjkjjjjjkjjjjkjjjjjjjkjjjjjjjjjjjjjjjjjjjkjjkjjkkkjjjjjjjjjjjjjjkjkjkjjjjjjkkjjjjjjjjjjjjjjjkjjjjjjjjjjjjjjkjjjjjjjjjjjjjkjjkjkjjjjjjjjjjkjkjjjjjjkjjjjjjkjjjjjjkjjjjjjjjjjjjjjkjjjjjjkjjjjjjjjjjjjjjjjjjjjkjjjjkjjjjjjjkjjjjjjkjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkjjjkjjjjjjjjkjjjkjjjjjjjjjjjjjjjjjjjjjkjjjjjjjjjjjkjjjjjjjjjjjkjjjjjjjjjjjjjjjjjjjjjjjjjjjkjjjjjjjkjkjjjjjkjjkjjkjjjjjjjjjjjkkjjkjjjjjjkjjjjjjjjjjjjjjjjjjjjjjjjkjjjjjjjjjjjjjjjjjjjjjjkkkjjjjjjjjjjjjjkjjjjjjjjkjjjjjjjjjjjjjjjjjjjkjjjjjjkjjjkjkjjjkjjjjjjkkjjjkjjjkjjjjkjkkkjjjjjjkjjjjkkkjkjjkkjjjjkjkkkjjjjjjkjjjkjjkjjjjkkjjjjjjjjjjjkjjjjjkjjjjjjjjjjjjjjkjjkjjkjjjjjjkjjkkkjkjjjjjjjkjjjjjjkjjkkjjkjjjkjkjjjjjjkkjjkkjkjjkjjkjjkjjjjkkkjjjjjjjjkjkjjjjjjjjjjjjkjjjjjjkjjjjkjjjjjkjjkkjjjkjjjjjjjkjjjjjkjjjjjjjjjjjjjkjjjjjjjkjjjjjjkjjjjkkjjjjjkjkkjjjjjjjkjjjjkjjjjjkjjjjjjjjkjjjjjjjkjkjjkkjjkjjjjjjkjjjjjjjkjkjjkjjjjjkjjkjjjjjjkjjjjjjjjjjjjjjjjkjjjjjjjjjjjjkjjjjkjjjjjjjjkjkjjjjjjjjjjjkjjjjjjjkjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkkjjjjjjjkjjjjjjjjjjjjjjjjjjjjjjjjjjjjkjjjjkjjjjjjjjjjjjjkjkjjjjjjjjjjjjkkjjkjjjjjjjjjjjkkjjjkkjjjjjjjjjjjjjkjjkjjjjjjjjjjkjkjjjjjjjjjjjjjjkjjkjjjjjjjkjjjkjjjjjjjjkjjjjjjjjjjjjjjjjjjjjjjkjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkjjjjjjjjjjjjjjjjjjjkjjjjjjjjjjjjkjjjjjjjkjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkjkjkjjkjjkjjjjjkkkjkjkjjkjkjjjjjkkjjjjjjjjjjjkjjjjjjjjjkjjkjjjjjjjjkjjkjkjjjjkjkkjjjjjjjjjjjkjjkkkjkjjjkkkjjjkjjkjjjjkjjjjkjjjjkkjjjjjjkjjkkkjjkjjjjkkjkjjjjkjkjkjkjjjkjkjkjjkkkjjjkkjkkkjjkjjjjkkjkjjjjjkjjjjjkjjkjjkjkjjjkjkjjjjkjjjkjjkjjkjjjjjjjkkjjjjkjjjjjkjkjjjkjjjjjjjjjjjjjkjkjjjjkkjjjkjjjkkjjjjkkjkjjjjjkjkkjjjkjkjjjjjjjjkkjjjkjkjjkjkjjjjjjkjkjjjjkjkjjkkkkjkjjjkjjkkjkjjkjjjjkjjkjkjkkjjjjkjkjjjjjjjjjkjjjjjjjjjkjjjjjjjjkkjjjkkjjkjjjjjjjkjjjkkkkjkjkjkjkjjkjjkjjjkjjjjkjjjjjkjjkjkjkkjjkjkjjjjkjjjjkjjkjjjjjkjkjjjkjjjkjjkkjkjjjjjkkjjkjjkjkkkjjjjjjjkkjjjjjjjjjkkkjkjjjkjjjkjjjjjjjjkjkkkjkkjjjkjjjjjkkjkjkkjjjjkjjjjjjjjjjjjjjjjjkjjjjjjjjjjkkjkjjjjjjjkkkkjjkkjjjkkkjkjjkjjjjjjjkkkjjkjkjkjjjjkjjkjkjkjjkjjjjjkjjkjjjjjjkjjjjkjjkjjjjkkjjjjjkjjjjjjkjjjjjjjjkjjjkkjjjjjjjkkjjjjkjjjkjjjjkjjkjjjjjjkjjjjjjjjjjjjkkjjjjjjjkjjjkkjkkjjjjjjjjjkjkkkjjjjkjjjjjjjjjjjjkjjjkkkkkjkjjjkjkjjkjjkjkjjkjjjjkjjjkjjjjjjkjkjkjjjjjjjjjkjjkjjjjkjjjjkjkjjjjkjjjjjkkjkkjjjjjkkjjjkjjjjjjjjjjkjjkjkjjjjjkjjjjjkjjkjkkkjjjjjjkjjjjjjjjjjjjjjjjjjkjkjkkjjjjjjjjkjjjjjjjjjjjkjkkkkjjkjjjjkkjjjjkjjjkjjjkkjjjjjjjkjjjkjjjjjjkjjjjjjjjkjjkjjjjjjjjjjjkkjjjjjkkjjjkjjjjkkjjjjkjjkkkkkjjkjjkjjkjjjjjjjjjjjjkjjjkjjjjkjjjkkkjkjjjkjjkjjjjjjjkjkjjjkjjjjkjjkjjjjjjjjkjjkjjjjjjjjjjjjkjkjjjkjjjjkjkkjjkjjjjjjkjjjkkjkjkjjjjjjjjjjkkjkkjkjkjjjjjjjjjkjkjjkkjjjkkjkkkjjjjjkkkjkkjjjjjjjjjkjjjjjkjjjjjjkjkjkjjjjkjjjjjjjjjjkjjjjjkjkjkkkjjjkkjjkkkjkjkjkjjkkjjjjjjkjjkjjkjjkkkjjkjjkjjkjjjkjjjjjjkkjjjkjkjjkjjjjkjjjjkjjjjjjkjjjkkjjjkjkjjjkkjjkjjkjjjkjjkkkjjkjjjkjjjjkjjkjjjjkjjjjkjkkjkjjkkjkkjkkkkjjkkkjjjjkkjkjjkjjjjjjjkjjjkjjjjjkjkkjjjjjjjkkkkjkkjkkjjkjjjjjkjjjjkkkjjjkkjkjjjjkjjjkjjjjjkjjjjjjjkkjjkjkkkkkkkjjjkkjjkjjkjjkkkjjjjkjkkkkkjjkjkkjkjjkjkjjjkjjjjkkkjjjjjjkjjjkkkjkjjjjjkjkjkkjjkjkjjkjkjkjjjkkjjjjjkjjjjkkjjkjkkkjkkkjjjjkkjjkkjjjjjjkjkjjjjjjjkkkkkkjkjjjjjjjkjjjkkkkjkkjjjjkjjkjkkjjjkjkjjjjjjjkjjjjjjjkjjjjjkjjkkkjjjjkjjjjjjjkjkjkjkjjjjkkkjjjjjkjjjkkjkkkjjjjkkjjjjjkjjjjjkjjkjjkjjkjjjjkjjjkjkjjkjkjjjjkjjjjjjkkjjjkkkkkkkjkjkkjkjjjjjkjjjkkjkkkkjjjjkkjkkjkjkkkkjjkjjjjkjjjkkjjjjkkjkjjjkkjkjjjjjkkjjjjjjkjkkkjjkjkjkjjkjjjkkkkjjjjjjjkjkkkjjkjkjjkjjjjkjkjkjjjkjjjjjjjjkjjjkkjkkkkkjkjjkjjkkkjkkjkkjkjkkjjkjjkjjkjjjkjkkjjjjjjjjjkjjkjkkkjjjjjkjjjjkjjjjjjkkjkjjkjjjkjjjkjjjkjjkkkjkjkjkjkjjjkjjjjjkjjjkjkjkkjjjjjkkjjjjjjkjjkjkkjjjkjkjjjjjkjjkkkkjjjjjkjjkkkjjkkjjkjjjjjjkkjjjjkjjjjjjjjkkjjkjkjkjjjjjjkjjjjkjjjkkkjjjkjjjkkjjjkkjjkjkjjjkjkjjjkjjjjjkkjjjjjkjjkjjkjjjjjjjjjkjkkjjjkjkjkkjjjjjjkjkjjjjjjjkjkjjjjjjjjjjjkjjkkjkkjjkkjjjjjjjjjjjjjjjkkkjjjjjjkjjjjjjjjjjjjjkjjjjkkkjjjkkjjjjjjjjjjjjjjjjjjjjjjkjjkjjjjjjjjjkjjjkjjjjjjkjjkjkkjjjjjjjkjjjjjjjjjjjjkjjjkjkjjjjjjjjjjjkjjjjjjkjjkjjjkjkjjjjjjjkjkjjkkjjjkkkjjjkkjjjjjjjjjjjjjjjkjjjjjjkjkjjjkjjjjjjkjjjkjjkjjjjjjkkjkjjjjjjjjjjkkjjkjjjkjjkkjjjjjjkjjkjjjjkkjjjjkjjjjjjkjjkjjjjjjjjjjkjjjjjjjjjjjjjkjkjjjkjjjjjkjjjjjjjkjjjjjjjjjjjjjkjjjjjjkkjkjjjkjjjkjjjkjjjjkjjkjjjjjjjjjkjjjjjjjkjkjjjkkjjkjkjjjjjjjjkjjkkjjjjkjjkkkjjkjkjkjjkjkjkjkkkkjjkkkkjkkjkjjkkkjjkkjkkkkkkkkkkjjjjjkkjjkkjjkkjjkkkkjjjkjkkkjjjkkkjkjkkkjjkjjjkkkkjkkkkkjjkjjkjjkkkkkkkkkjkkkkjjjkjkjjjjkkkjkjkkkkkjjkkjkkkkkkkjjkjkkkkkkkkkjkjkjkkjjkkkkjjkkkjkkkkkkkkjkkkjjkkkkjjjjjkjkkkjkkjkkkkkkjkjjjkkjkjjjkjkjjjkjjjkkkkjjkkjkjjkjkkjkkkkkkkjkkkjkkjkkkjjjjjkjkkkkkjjjkjkkkkkjkkkjjjkjkjjjkjjjkjkjjkkjkkjkjjkkjjkjkkjkkjkjkjkkjjjjjkkkkkkjjjjjkkjjjkkkjjjkkjjkjjkjkjkkjkjkkkkjjkjjkkjjjkkjkkkkkkjjjjjkkkjkkkkkkkkjkkjjjkjkkjjjkjjkjjkkjkjjkjkkjkkkkkjkkjkjjjkjkjjkkjkkjkjjjjjkkkkjkkjjjkjkkkkjjjkkkjkjkjkkjjkjkjkkjkkkjkkkkkjjkkkkkjkkkjjkkjkkkkjkkjkjjkkjkkkkjjkjjjkkkjjkkjkjkjkkkkjkjkjkkjjkkjkjjjkjjjjjkjjkjjjkkkjkjkjjkjjkjjkjkjjjkkkkkjkkjjkjjkkjjjjkjjkkjjkkkkkjjjjjjjkjkjjkjkjkkkkjjkkkjkkkkjjkjjjjkkkjjjkkkkjkkjjjkkkkjjjjjjkkkjkkjjjjjkjjjjkjkkjjjjjjkkkkkkjkkkkkjkjjjkjjkkjkkjkkjkkjkjkkjkkjkkkjkkjjjkkkkkkkkjkkkkkjjkkjjjjkkkkjkjjkkjkkjjkjkjjjkjjjkkjjkjjjkkjjkjkjjjjjkjkkjjjjkjjkkjkjkkjjkkkjkjjkkjkjjkjkkkkjjkkkkjjkjjjjkjjjkkjjkjkkkkjkkkkkkkkkkkkkkkkkkkkkkjkkkkkkkkkkkjkkkkkkkkjkkkkjkkkjjkkkjkkkjkkkkkkkkkjkkjkkjkkkjkkjjkkkkkjkkjkkjkkkjjjkkkkkkkkkkkkjjkkkkkkkkjkjkkkjkkkjkkkkkkkkkkkkkkjkkkkkkkkkkjkkkkkkkjkkkjkjkjkkkkkkkjjjkkjkkkkkkkkkkkjkkkkkkkkjkkkkjkkkjkkjkjjkkkkkkjkkkkkkkkkkkkkjkkkjkkkkjkkjkkkkjkkjkkkkkkkjjkkkkjkkjjkjjjkkkkjkjkkjkjkkjjjjjkjjjkkkkkkkjkkkjkkkkjkkkkkkjkkkkkkjjkkkjkkkjkjkkkjkjkkkkkkkkkkkjjkkjjkkjkjjkkkkjkkjjkkkjkkkjjkjjkkkkkkkkkkkkjkkkjjkjkkkjkkjkjkkkjjjkjjkjjkjkkjjjjkjkkkjjjjkjkkkkkkkkjkkkkjkjkkjjkkkkkkkkkkkkkkkkkkkkkkkkkkkkjkkjkkkkkkkjkjkjkkkjjkjkjkjkjjkkkkjkjkkjkjkkjkkkjkkkjkjkjkkjkkjkkkjkkjjkjkjjkjjkkjkjkkkjkkkjjkjkjkkkjkkkjkkjkkkjkjkkkkkkkkkjkjjkjjkkkjkkjkkkjjkkkkkjkkkjkkkjkjkjkjkjjjkkkkkkkjkkkjkkjkjjkkkkkjkkkkkkkkkjjjjkjkkjkkjkkjkjkkkjkjjkkkkkjkjkkkkkjjkkkkjkkkkjjkjkjjjjkkjkjkjjkkjkkjkkkkkkkjkkkjjkkkkjkkkjkkkjkkjkjjjkkjkkkjjkkjkjjjkkkkkjjjkkjkjkkjkkjjjkkjjkkkkkkkkkjjjkkkkkkjkkkjkkkkjjkjjjkkjjjkjkkkkkkkkkkkkkjjkkkkjjjkkjjkkkkkkkkkjkkkjkjjjkjkjjkkkjjkkjkjkkkkkkkkkjkkkkkkkkkkkkkkjkkkjkjkkkkkkkkjkkkkkkjkkkkkkkkkkkkkkjkkkkkkkkkkkkkkkkkkkkkkjkkkkkkkjkjkkkkkkkkkkjjjkjkkkjkkkkkjkkkkkkjjkjkkkkjkkkkkjjkjkkkkkkjkkkkkkkkjkjkkkkkjkkkkkkjkkjjkkkjkjkkkkkkkkkkkkjkjjjjkjkkjkkjjjkkjkkjkkkkkkkkkkkkkkkjkjkkkkkkkjkjkkkkkkkkkkkkjkkkkkjkjkkkkjkjkkkkkjkkkkkjkkkkkkkkkkkkkkkkkjkkkkkkkkkkjkkkkkkkkkkkkkkkkkkkkjkkkjkkkkkkkkkkkkjjkkkjkkkkjkkkkkkkkkkjkkkkkkkjkjjkkkkjkkjkkkkkkjkkkjjkkjkjkkkkkkkkkjkkkjkkkkjkkkjkkkkjkkkkkkkkjkkkkkkkjkkkjkkkkkkjkjjkkkkkkkkjkkkkkjkkkkkjjkkkkkkkkkkkkkkkkkkkkkkjkkkkkkkjkkkjjkkkkkkjkkkjkkkjkjjkkkkjkkkkkkkkkkkkkkjkkkkkkkkkjkkkkkkkkjkkkjkkkjjjkkjkkkkkkkkkkkkkkkkkkjkkkkkkkkkkkkkkkjkkjjkkkjkjkkkkkkkkjkkkkkjkkkkkjjkjkkjkkkjkjkkkkkkkkjkkjkkkkkkkkjkkkkkkkkkkkkkjjkkkjjkkkkkkkjkkkkkkjkkkkkjkkkjkjkkjkkkjkjjkkkjkkkkkkkjkkkkkkkkkkkkjkkkkkkkkkkjkkkkkjkkkkjkkkkkkkkkkkkkkkkkkkkkkkkkkjkjkkkkjkkkkkkkkkkkkkkkjkkkkkkkkkkjjjkkkkkjjjkkjkkjjkkkkjkkkkkkjjkjkkkjkkjkkkkkkkkkjkkkkjkkjkjjkkjkjkjkkkkkkkkkkjkkkkkjjjkkkkkkkkkkkkkkkkkkkkjkkkkkkkkkkkkkkkjjkkkjkkkkkkkkkkkkkkkkkjkkkkkkkkkkjkkkkkkkkkkkkjkjkkkkkkjkjjkkkkkkkkkjkkkkkkkkkkkjkkkkkkkkjkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkjkkjkkjkkkkkkkkkkjkkkkjkkkkkkkkkkkkkkkkkkkkkkkkjkkkkkkkkkkkkkkkkjkkkkkkkkkkkkkkkkkkkjkkkkkkkkkjkkkkkkkkkkjkkkkkkkkkkkkkkkkkjkkkjkkkkkkkkkkkkkkkkkkkkkkkkkkkjjkjkkkjkkkkkkkjkkjkkjkkkkkkkjkkkkkkkkkkkkkkjkkkkkkkkkkjkkkkkkkkkkkkkkkkkkkkkkkkkjkkkkkjkkkkkkkkkkkkkkkkkkkkkkkkkkkkjjkkkkjjkkkkjkkkkkjkkkkkkjkjkkkkkkkkkkkkkkjkkkkkkkkkkkkkjkkkjkkkkkkkkkkkkkkjkkkkkkkkkkkjkkkkkkjjkkjkjkkjkkjkkkjkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkjjkkjjkkkkkkkkkkjkkkkkjkkkkkkjkkkkkkkkkkjkkkkkkkkkjkjkkkkkkkkkkkkkkkkjkkkkjkkkkkkkkjjkkjkkkjkkkkkkkkkkkkjkkkkkkkkjjkkkjjkjkjkkkkkkkjkkkkkkkkjkkkkjkkkkkkkkkkkkjkkkkkkkkkjkkkkjkkjkkkkkkkkjjkkkkkjkkkkkkkkkkkkkkkkkjkjjkkkkjkkkkkkjkkkjkjkkkkkkjkkjkkkjkjkjkkjkkkkkkkkkkkjkkkkkkkkkjkkkkkjkkkkkkkkkkkkkkkkkkkkkkkkjkkkkkkkkkkkkkjkjkkkjkkkjkkkkkkkkkkkkjkkkkkkjkjkjjkkkjkkkkkkkjkkkkkkjkjkkkjkkkjkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkjkkkjkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkjkkkkkkkkkkkkkkkkkkkkjkkjkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkjjjkkkkkkjkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkjkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkjkkkkkkkkkkkkkkkkkkkkkkkkkkkjkkkjkkkkkkkkkkkkkkkkkjkkkkkjkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkjkkjkkkjkkkkkkkkkkkkkkkkkkkkjkkkkkkkkkkkkkkkkkkjkkkkkkkkkkkkjkkkkkkkkkkkkkkkkkkkkkkjkkkkkkkkkjkkkkkkkkkkkkkkkkkjkkkkkkkkkkkkkkkkkjkkkkkkkkkjkkkkkkkkkkkkkkkkjjkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkjkkkkjkkkkkkkkkjkkkkkjkkkkjkkkkkjkkkkkkkkkkkkkkkkkkkkkkkkkkkkkjkkkkkkkkjkjkkjkkkkkkkjkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkjkkkkkkkkkkkkkkkkkkkkkkkkjkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkjkkkkkkkkkkkkkkkkkkkkkkjkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkjkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkjkkkkkjkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkjkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkjkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkjkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkjkkkkkkkkkkjkkkkkkkkkkkjkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkjkkkkkkkkkkkkkkkkkkkkkkkjkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkjkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkjkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkjkkkjkkjkkkkjkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkjkkkkkkkkkkkkkkkkkkjkkkkkjkkjkkkkkjkkkkkkkkkjkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkjkkkkkkkkkkjkkkkjkkkkkjkkkkjkkkkkkkjkjkkkkkkkkkkkjjkkkkjkkkjkkkkkkkkkkkjkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkjkkkkkkkkkkkkkkkkjkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkjkkkkkkkkkkjkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkjkkkkkkkkkkkkjkkkkjkkkkkkkkkkjkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkjkkkkkkkkkkkjkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkjkkkkkkkkkkkjkkkkkkkkkkkkkkkkkkkjkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkjkkkkjkkkkkkkkkkkkkkkkkkjkkkkkkkkkkkjkkkkkkkkjkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkjkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkjkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkjkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkjkkkkkkjkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkjkkkkkkkkkkkkkkkkkkkkkjkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkjkkkkkjkkkkkkkkkkkjkkkkkkkkkkkkkkkkkkkjkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkjkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkjkkkkkkkkkjkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkjkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkjkkkkjkjkkkkkkkkkkkkkkkkkkjkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkjkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkjkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkjkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkjkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkjkkkkkkkkkkkkkkkkkkkkkkjkkkkkkkkkkkkkkkkkkkkjkkkkkkkkkkjkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkjkkkkkkkkkkkkkkkkkkkkkkkkkkkkkjjkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkjkkkkkkkkkkkkkkkkkkkkkkkkkkkkkjkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkjkkkkkkkkkkkkkjkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkjkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkjkkkkkkkkkkkkkkkkjkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkjkjkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkjkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkjkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkjkkkjkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkjkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkjkkkkkkkjkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkjjkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkjkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkjkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkjkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkjjkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkjkkkkkkkkkkkkkkkkjkkkkkkkkkkkjkkkkkkkkkkkkkjkkkkkkkkkkkkkkkkkkjkkkkkkkkkkkkkkkkkkkkkkkkkkkjkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkjkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkjkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkjkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkjkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkjkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkjkkkkkkkkkkjkkkkkkkkkkkkkkkkkkkkjkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkjkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkjkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkjkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkjkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkjkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkjkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkjkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkjkkkkkkjkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkjkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkjkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkjkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkklkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkklkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkklkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkklkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkjkkllmmmmmmlmllkkjjjkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkklkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkklkkkkklkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkklkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkklkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkjjkkklllmmmllmllljjjkkkkkkkkkkkkkkkkkkkkkkkkkklkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkjjklnruwy{}~}}zywtrnlkjkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkjkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkjklnruwy{|~}|zwurolkjkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkklmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmlklkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkklkkkkkkkkkkkkkkkjklpuy}}ytplkjkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkklmmmlmmmmmmmmmmkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkmmmmmmmmmmmmlmmmmkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkklkkkkkkkkklkmmmmmmmmmmmmmmlkkkkkkkkkkkkkkkmmmmmmmmmmmmmmkkkkkkkkkkkkkkkkkmmmmmmmmmmmmmmmmmmmmmmmmmmmlmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkklpuy}}yuoljkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkklmmmmmmmmmmmmmlkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkklmmmmmmmmmmlmmlkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkklkkkkkkkkkkkkkkkkkkkkkkkkkkkzzkkkkkklkkkkkkkkkkkkkklkkklkkkkkkkkkkkkkkkklkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkklkkkklkkkkkkkkkkkkkklkkkkkklkkkkkkkkkkkkkkkkkkkkkkkkkkkkklkkkkkkkkkkkklkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkklkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkjlpw}}xqljkklkkkkkkkkkkkkkkkkkkkkkkkkkkkklwmkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkoskkkkkklkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkmrkkkkkkkkkkkkkknpkkkkkkkkkkkkkkkknkkkklkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkmrx}|vplkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkuzkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkuzkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkklkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk{{kkkkkkkkkklkkkkkkkkkkklkkkkkkkkkkkkkkkkkkklkkkkkkkkkklkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkllkkklkkkkkkkkklkkkkkkkklkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkklkkkkkkkkkklkkkkkkkkkkkkkkkkkklkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkknu|}vokkkkkkkkkkkkkkkkkkkkkkkkkkkkkkksrkkkkkkkkkkkkkkkkkkkkkkkkkklkkkkkkkkkkkkklkkkuylkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkrmkkkkkkkkkkkkkknqkkkklkkkkkkkklkknkkkkkkkkkkkkkkklkkkkkkkkkkklkkkkkkkkkjkpw}{smkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkv{kkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkklkkkkkkkv{kkkkkkkkkkkkkkklkkkkkkkkkkkklkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk{{kkkkkkkkkkklkkkkkkkkkkkkkklkkkkkkkkkkkklkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkklkkkkkkkkklklkkkkklkkkkkkkkkkklkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkklkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkknw~ypkkkkkkkkkkklkkkkkkkkkkkkkkkkkmwkkkkkkklkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk{lkkkkkkkkkkkkkkkkkkkkklkkkkkkkkkklkkkkkkkkkkw|kkkkkkkkkkkkkkknqkkkkkkkkkkkkkkkknkkkkkkkkkkkklkkkkkkkkkkkkkkkkkkkkkkjlr{}ulkkkkkkkkklkkkkklkklkkkkkkkkkkkkkkkkkkkkv{kkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkv{kkkkkkkkkkkkkkkkkkkkkkkkkkkkkkklkkkkkkkklkkkkkkkkkklkkkkkkkkkkklkkkkklkkkkkkkkkkkkkk{{kkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkklkkkkkkkkkkkkkkkkklkkkkkkkkkkkkklkkkkkkkklkkkkkkkkkkkkkkkkklklkkkkkkkkkkkklkkkkkkklklkkkkkkkklkkkkkkkkklkkkkkkkkkklkkkkkkklkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkklklkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkklkkkkkkkkkkkkkkkkkkmvyokkkkkkkkkkkkkkkkkkkkkkkkklkk}|kkkkkkkkkkkkkkkkkkklkkkkkkkkkkkkkkkkkkkkkkklpkklkkkkkkkkkkkkkllkkklkkkkkkkkkkkkkkkkkkkkk|vkklklkkkklkkklknqkkkkkkkkkkklklkknkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkklt||skkklkkkkkkkkkklkkkklkkkkkkkkkkkkkkkkkkv{klkkkkkkkkklkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkklkkv{klkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkllkkkkkkkkkkklkkklkkkklkklkkkkklkkllkkl{{kkkkkklkkkkkklkkkkkklkkkkkkkkklkkkkkkkkkklkkkkkkkkkkklkkkkkkkkkklkkkkkkkkkkkkkkkkklkkkkkkkkkkkkkkklkkkkkkkkkkkkkkkkllkkkkklkkkkkkkkkklkklkklkkkkkkkkllllkkkkkkkklkklklkkkkkkkklkkkklkkkkkklkkklkkklkkkkkkkkkkkkkkllkkkkklkkkkkkkkkkkkkkkkkkkkkklkkkkkkr}vlkkkkkkllkkkkkkkkklkkkkkkkkwlklkkkklkkkkkkkkkkllkkkkkkkkkkkkkkkkkkkkkkkrvkkkkkkkkklkkkkkkklkkkkkkklkkkkkkkklkkkkkkkmpkkkkkkkkkkkkkkknqkkklkkkkkklkkkkknkkkkkkkkkkkkkkklkklkkkkkkkklllkkkr{zokklkkkkkkkkkklkkkkkkkklkkkkklkklkkkkv{kkkkkkkkkkkkkkkkkklkkkkkkklkkkklkklklkkkkkkkkkkkkkkkkkkv{kkkkkkkkkkkllkkkkkkkkkkkkkkkkklkkkkklkklkkkkklklkklklkkkklklkklklkkkkkklkkkkkklkkkkk{{kkklllllklklklkkkllllkkkkklllkklkkllllkkkkkklllkkkkkllkkkkklkllkklkkkkkklkkkllllkkkkkkkkkkllkkklkkkklkllklkkkkkkkkllkkklkkkkkkklkkkkklklklkkklkkkkklkkkkkklllkkklkkkklklkkkkkklkkkkkklkkkkklkkkklkklkklkkkkkkkkklkklllkkkkklkllkkkklkkkkllklkkllkkkkmw{pkklkkkkklkkkkkkkkkkkkkllkqpkkklklkkllllkkklkkkkkkkklklkkkklkllkkkkkkkx|kkkkkkklkkkkkklkkkklkkkkkklkklkkkkkklkkllkrlkkkkkkkkkkkkkllnqkkkkkkkkkkkkkkklnlkkkklkkkkklllkklkkkklkkkkkkkkkoy~tkkkkkkkklkkkklkkllkkklkkkklkkklkllkv{llkklkkkkkkkkkklkkllkkkkkkkkkkklkkkkkllklkkkkkkkkklkkkkv{klkkllkklkkkkkkkkkkklkkklkkkkkkkkklklllllkllklllklkllllllklkkklkkkllkkkkkllllklkkkkk{{kkkkkkklkkllkklkllklkkkkklkkklkklkklkklkklkklllllkklklkkklkklklkkklkkkllklllkkllklklkkkkkkkkkkkklklkllllkllkkllllkkkkkkklkklkklklkkkllkkklkkkkklkkkkkkkkkklkklkkklklkkkkkkkklkllkkllkkklkkkllkkllkkkklkkklkkklkkkkkllllllkkkkkkkkkllklkklklkkkkkkkkn{sklkllkklkkkkllklkkkklkkklvkkkkklllkkkkkkklkklkkkkklklklkkkkkklkkkklk~mlklkklkklklkkklklkkkkkkkkkkkkkkkklkkkkkklwzllklkkkkkkklllkknqllklllklklklkkkknkkkkkkkkllkkklkkllklklkkllkkklu~xmklklkkkkllklkklllklkkkkkkkklllkllv{lllkkklklkllllklkkklkkkklklkkklkkkklllkkkklkkkkkkkkkklkv{kkkkkkkllkkklkkklklklklkkkkkkkkkklkklkkkkkkklkllkkklllkllkklkklkkkllklllkllllkkkklkl{{kkkkklllklkkllllklllllklkkllkllkkkkkkkkkkllkllklkkkkkkklkkllkkklllllllklkkllklllkklllkllkklkkklllkkkkkllkklklkkklklklkllkklklklklklllkkklkklkkklkkllklklkkkkkkllllkkkkllkkllkklklkklklkkkkkllllkllkklkllklkkkklllkkkllklklkkkkklklkklkkllklllkkllko}uklkklkllllklllkklkkkkkll{zkllllllkllkllklllkkkkklkklkkkkklllllllkllosklkllllkkkklkkllklkklllklklkklllkkkklklkl|tllkkklklllkklklknqkklkkllkklklklklnklkkklklkllkkkkkklkkllklkklknz|oklkklllkkkkkllkllkkkkklklkklllkkv{kkkkllkkkkkkkkllklkllkkkkkklklkkkklllkllkllklkklklkkkklv{klkkkkklklllklkkkklklkklkllkkkllllkklklkkkkkkklklllkkkllkklklkklkkkkllkllkklkklklllk{{kkkllkklkllkllllkkkllllklllllklklklkkllllkkklllllllkkllklllklkkllklkkklkkkllllllkklkklklkkklkllllkklklllklllllkkkllllkllkllklllkkkllklllkklllllkkklklklllkllklllkklkkklllkklkllkkllkllkllkllkkkkkkllkllklklkklklklllkkklkklklklllkkkkkllllllllkkko~wlkkklkkkkkklklklklllllkvkkllkklkllllllkkllkkllkkllkkklklklkllklkluyllllklllllkllllkklkklkllllklllllllllklllmnklllkklllkkkkkklnqkklkkkllkkkkkllknkllkkklkkklkllllkkllllklklkq~~pkkkkkkklklkklklllklkkllllllllklv{lllkllllllkkllkkklklkkkklllklklllkkkkllkklkkklllllkllklv{lkklkkklkkkklkkkkkkkllkklklkkllkllllkkklkkllklkllklkllllllkkllkllklllkkllllklkllkkll{{lllllkklklllklllkllkklkkklllklllklklklllklkklklllklllllllllkkllkklkkkklkkllkllklkklklklkkkllklklkkkllklkllklkklllklklklllklkklllllllllkkklkkkkkkkkkllkllllkkllllklllkllklklkkllklkllkklllllllklkkklllkllkklllkklkklllllllklklklkllklkllkkllklkkkn}vkklklkkkklkllkllklkllkpokkllkkkkkkkkklklkkkklllkkllklkkkllllkllk{lkklkkllllklklklklllklllkklkklkkllllkllkq~lllkllllklllklklknqkkllkkklklkkklklnllllllkkllkklklllllklkkkkktqkllkllllkkkllllkkkllkkklklklklv{llllllkkkklkkklllllkkllkklklklkkkklklkkklllllllkkkllkkkv{lkllkkllllkllkllklkllkkklkllllllllklkllllkkllklllllllllklllllllkkkkllllllklllklkllll{{lklllllkllllklkklllllllkllklllllkkklllllllklllklllllllllkklklllkkllklllkllkklllllllkllllllklkllllklklkllkklllkkllkllklkklklkkkllkllkllklllkllllkllklkklkllklklklklklkklllklkkllllllllklllllkklklllklllllllkklkllllllllllkllllkllklklllllllklkkll{}{zxxxxxxxy{}skkklllllkllklllklllllltlkkkklklllklllllkkkllklkklklklklklkklkllpllklkllllkllklllkllllkkkllkllllllklllllwxlllllkllklkllkkllnqlkklklllllkkllklnklklklllkkklkllllklllkkllu~}zyxxxxxxz|~qklkkllkllllklklklkkkklkklklllv{kllllkkklllkllllkkllllllkkllkkllkllkklklllkkllkkklkkkllv{llklklkllkllllllllkllllkklkllllklklllllllllllllllklllkllllkllllkllklllllkkllkkllllll{|llklllllllkklllkllllkllllklklllllllklklllklklllllkkllkllllklllllllkllllklllllllllklllllllllklkklllkllklkllllkklllkllllkklklkkllllllllllllllkllklkllkllllllkkllllllllllllkllllklkllkllklllkllllllllllklllklkkllllkkllllllllklllllllllklllklklllkw{wspmlllkkkkkkklllnpsw|pkllklllllllllklllklkl{yllkllkllllklllkllkllkllklllllllllllklllqvllkllllllkklllkllkllklllllklllkllllklll|rllllllklllklkkkllnqlllllkllklklllllnklllkllllllklkllkllllllkw{wspmlllklkkkkllmpsw|~olllklklllllklkllllklllklllklv{lllllklkllkllllkllkkklllllklkllllklllllllllllllklkllkllv{llkllllllllllllkkkkkllllllklllllllllklklllllllllllllllkklllllklkllllllllllllllllllll{|vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvsllllllklkllllllllkllklllkllllllllklkllllkllklkllllllllllllllllkllklllllllllllllllllllllllllllllkllllllllklllllklllllllllllklkkklkllklllllllllllkkllklllllllllllllllllllllkllllllllllllllllllllklllllllllkkkllllllllllllllkllkllklllllkllllllllpztnlkkkklkllllklllklkkkkklou|}llllkllkllkllkllkllklu~llkllllllklllkllllkllklllllllllllllklllw|klllllkllllllkllllkkllklkllllklllkllkklmllllkllllllllllkknqklllllllllllklllvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv||vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvmllklllklllklklklllllllkwysnlkkkkklklkklllkkkkkklpv}}nklkkllllkklkllllllllllllllkv{llllllllllllllllklllllllllllkllllllkllklllllllllllllkllv{llllkllllklllllllllllllklllkklklllllllllllllllllllllllllllklllllllllllllllllllllllll{xkkkkkkkkkkjkkkkkkkkkkkkjkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkllllllllllllllllllllllllklllllllkllllllllllllllllllllllllllllllllllklllllklllllllllllllllllllklklllllllllllllllllllllllllkllllllllllllllllllllllllllllllllklllkllllllllllllklkllllllllllkllllllllllkllllkllllklllllllllllkkllllllllllllllllkkl|yplkkkllkklllklkllklllllllllkklrzwkkkllllllllllkllllllonllllllllllkllllllllllkklkllllllllllllk}~mlllllllllllllllllllllllllllklllllllllq{lllkllllllllllllllnqllkkllllllllklllkkkkjkkkjkkkkkkkkkkkkkjjkkkkkkkkkkkxxkkkkkkkkjjkkkkkkkkkkkkkkkjkjkkkkkjklllllllllllkllllllllllku}vokkkkllllllllllllllllllllkkmt|zllllllklllklllllkllllklllllv{lllklllllkllkllllllllllllllllklllkllllllllllllllllllllkv{lklllllllkllllkllllllllllkllllllllllllllllllllllllllllllllllllllllllllllllllllllllll{xllllllllllllllllllllllllllllllllllllllllklllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllls}qlklllllllllllllllllllllllllllllkls}ollllllllllllllllllll~slllllllllllllllllllllllllllllllllllllnvslllllllllllllllllllllllllllllllllllllvvllllllllllllllllllnqlllllllllllllllllllllllllllllllllllllllllllllllllllxxllllllllllllllllllllllllllllllllllllllllllllllllllllllllkr~umkkllllllllllllllllllllllllllkkmu~vlllllllllllkllllllllllllllv{lllllllllllllllllllllllllllllllllllllllllllllllllllllllv{llllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllll{xlllllllllllllllllllllklllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllkllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllm~zmklllllllllllllllllllllllllllllllllknz{llllllllllllllllllllyxllllllllllllllllllllllllllllllllllllltzpylllllllllllllllllllllllllllllllllllll{pllllllllllllllllllnqlllllllllllllllllllllllllllllllllllllllllllllllllllxxlllllllllllllllllllllllllllllllllllllllllllllllllllllllloxnkllllllllllllllllllllllllllllllllkozplllllllllllllllllllllllllv{lllllllllllllllllllllllllllllllllllllllllllllllllllllllv{llllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllll{xllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllsxlllllllllllllllllllllllllllllllllllllllxqlllllllllllllllllllt|lklllllllllllllllllllllllllllllllllllzul~llllllllllllllllllllllllllllllllllllllllllllllllllllllllnqlllllllllllllllllllllllllllllllllllllllllllllllllllxxlllllllllllllllllllllllllllllllllllllllllllllllllllllllm}}rklllllllllllllllllllllllllllllllllllklv}lllllllllllllllllllllllllv{lllllllllllllllllllllllllllllllllllllllllllllllllllllllv{llllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllll{xllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllll|ylllllllllllllllllllllllllllllllllllllllllxzlllllllllllllllllllnmllllllllllllllllllllllllllllllllllllplyplllllllllllllllllllllllllllllllllllqzlllllllllllllllllllnqlllllllllllllllllllllllllllllllllllllllllllllllllllxxlllllllllllllllllllllllllllllllllllllllllllllllllllllllyznkllllllllllllllllllllllllllllllllllllllluvllllllllllllllllllllllllv{lllllllllllllllllllllllllllllllllllllllllllllllllllllllv{llllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllll{xlllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllp|mllllllllllllllllllllllllllllllllllllllllll{olllllllllllllllllll}qlllllllllllllllllllllllllllllllllllqlltvlllllllllllllllllllllllllllllllllllutllllllllllllllllllloqlllllllllllllllllllllllllllllllllllllllllllllllllllxxllllllllllllllllllllllllllllllllllllllllllllllllllllllsxmlllllllllllllllllllllllllllllllllllllllllltnlllllllllllllllllllllllv{lllllllllllllllllllllllllllllllllllllllllllllllllllllllv{llllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllll{xlllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllvollllllllllllllllllllllllllllllllllllllllllln~wlllllllllllllllllllxvlllllllllllllllllllllllllllllllllllw{lln{lllllllllllllllllllllllllllllllllll{nllllllllllllllllllloqlllllllllllllllllllllllllllllllllllllllllllllllllllxxlllllllllllllllllllllllllllllllllllllllllllllllllllllm~wlllllllllllllllllllllllllllllllllllllllllllllvylllllllllllllllllllllllv{lllllllllllllllllllllllllllllllllllllllllllllllllllllllv{llllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllll{xlllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllll|xllllllllllllllllllllllllllllllllllllllllllllls~lllllllllllllllllllr{lllllllllllllllllllllllllllllllllll}vlll}mllllllllllllllllllllllllllllllllll}llllllllllllllllllllnqlllllllllllllllllllllllllllllllllllllllllllllllllllxxlllllllllllllllllllllllllllllllllllllllllllllllllllllxwlllllllllllllllllllllllllllllllllllllllllllllllypllllllllllllllllllllllv{lllllllllllllllllllllllllllllllllllllllllllllllllllllllv{llllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllll{yllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllmlllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllmnllllllllllllllllllllllllllllllllllllllllllllll}pllllllllllllllllllmllllllllllllllllllllllllllllllllllnplllwslllllllllllllllllllllllllllllllllpxllllllllllllllllllllnqlllllllllllllllllllllllllllllllllllllllllllllllllllyxllllllllllllllllllllllllllllllllllllllllllllllllllllpxllllllllllllllllllllllllllllllllllllllllllllllllm}yllllllllllllllllllllllv{lllllllllllllllllllllllllllllllllllllllllllllllllllllllv{lllllllllllllllllllllllllllllllllllllllllllllllmllllllllllllllllllllllllllllllllllll{yllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllmllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllmllllllllllllllllllllllllllllllllllllllllllllllllmllllllllllllllllllllllllllmllllllllllq{llllllllllllllllllllllllllllllmllllllllllllllllsvlllllllllllllllllll|pllllllmlllllllllllllllllllllllllltllllqxlllllllllllllllllllllllllllllllllurlllllllllllllllllllloqlllllllllllllllllllllllllllmlllllllllllllllllllllllyxllllllllllllllllllllllllllllllllllllllllllllllllllll{{llllllllllllllllllllllllllllllllllllllllllllllllllqnlllllllllllllllllllllv{lllllllllllllllllllllllllllllllllllllllllllllllllllllllv{llllllllllllllllllllllllllllllllllllllllllllllllllllllllllllmlllllllllllllllllllllll{xlllllllllllllllllllllllllllllllllllllllmlllllllllllmllllllllllllllllllllllllllllllllllllllllllllmllllllllllllllllllllllllllllllllllllllmlllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllmllllllllllllllllllllllllllllllllllllllmllllllllllllllllllllllllllllllllllltulllllllllllllllllllllllllllllllllllllllllllllllm~zlllllllllllllllllllwullllllllllllllllllllllllllllllllly{llllm~lllllllllllllllllllllllllllllllllzmlllllllllllllllllllloqlllllllllllllllllllllllllllllllllllllllllllllllllllxxlllllllllllllllllllllllllllllllllllllllllllllllllllqolllllllllllllllllllllllllllllllllllllllllllllllllllywlllllllllllllllllllllv{lllllllllllllllllllllllllllllllllllllllllllllllllllllllv{llllllllllllllllllllllllllllllllllllllllllllllllllllllllmlllllllllllmlllllllmlllllll{xlllllmllllllmllllmllllllllllllllllllllllllllllllmllllllllllmmmlllllllllllllllmllllllllmlllllmlllmmllllllllllllllllllmllmlmlllllllmllmlmlllllllllllmlllllmlllllllllmlllmlmlmllllmlllllllllmllllllllllllllllllllllllllllmllllllllllllllmlllllllmlllmllmlllllllllllllllllllllllllmllmmllllllllllllllllmwqlllllmlmllmllllmlllllllllllllllllmllllmllllllllmw~mllllllllllllllllllqzllllllllllllmlllllmlllmlllllllmllulmlmlzpllllllllmlllmlllllllllllllllllll{lllllllllllllmllmlllloqlllllmllllllllllllllllllmllllllllmlllllllllllllmlllxxlllllmlllllllllllllllllllllllllllllllllllllllllllll{slllllllllllllllllmllllllllllllllllmlllllllllmlllllllnmllmlllllmllllllllllmv{llllllllllllmmlllllllllllmllllllllllllllllllllmlllllmllv{llllllllllllllllllllllllllllllllllllmllllllllllmlllllllllllllllllllllllllllllllmllll{yllllllllmllllllllllllllllllllllllllllllllmlllllmlllllmllllllmllllllllllllllllllllllmmllllmlllllllmllmllllllllllllllllllmllllllmllllllmlllllllmmllmllllllllllllllllllllllllmlllllllllllllllmmlmlllllllllmllllllmlllmllllmlllllllllllllllllllllllllllllllmlllllllmllmlllllllmllmlllllllllllllllmllmlllyolllllllllllmllmlllmllllllllmllmllllmmlllllllllllpnllllllllmlllllllllm~lmmllllllllllmlmmmlllllllllmllllpplllmltvlmmlllllllllmllllllllllllllllllpvllmlllmllmlllllllmllloqllllmlllllllllllmlllmlllllmlmllllllmlllmlmmllmlllllxxllllmmllllmllllllllllllmllllmmllmllllmmlllllllllllpzllmlllmmllllllllllllmlllmlllllmlllllllllllllllllllllllvsllllmlllmlllllllmlllv{lllmmllmlllmlllllmllllmllllllmllmlllllllmlllllmlllllmlmv{llmllmlllllllllmllmlllllllmlllllmlllllmllmllllmmmllmllllmmlmmlllllmlllllmlmmmmmlllll{ymmlmlmllllllmlmlllllllmlmllmlmmmllllllllllllllmmlllllllllllmlmllllllmlllllllllmlmmlmlmlmlllllmllllllllllllllllllllllllmmlmmlmlllmlmmmlllllllmmmllllllmlllllllllllllllmlllllllllmllllllllllllmlllllmlllmllllllmllllllmllmmmllllmllllmlmlllllllllllllllllllllmllllmlllllllmlmlmllllllllllmlllllllllmll{olmllllmlmlmllllllllllllmlllllllmllllllmlllllllmllqmlllmlmlllllmlmlllm{ommllmllllmlmllllmlllmmmmmlllmllv~llmlllo{lllllllllllllllllllllmllllllllmuplmllllmllllmllllmlmlloqllllllllllllllllllllllmllmllllllmllllllmllllmllllllyxllllllllllmmlllllmllllllllmllllllllllllllllllmllmlzollllllmllmllllllllllllmlmlllllllllllllllllllllllllllllnzllllmlllllllmlllllllv{lllmlllllllllllllllmlmlllllllllllllllllllmlllllllllllllv{lllllllllllllllllllllllllllllllllllllllllllllllllllmllmlmllllmlmmlllllllllllllllllll{ylmlllllllmmmlmmmmllllmlmlllllmmllllmllmlmmllmllllllmllmlmllllmllmllllmllmmlmmlllmllmmlllmlmlllmlllklmnnnnmmlllllllmlllllllllmlllmmlmmllmlmmmmllmlllllllmmnnnnnnnmllklllmlmllllmmlmmmlmmlllmllllmmmmlmlmllllmlmmmlmmllllmllllmlmlmllmlllllllmnnnnnnnmmmllllmlllllllllmmlllmlllmllmllllmllllmlmlllllml{ollllllllllmlllllmlllllmlmlllllmllllmmmllllllllllmztmlllllmlllmlllmllllvsmmlmmllllmmlmlmmlmlmllmmlllmlml|ylllllml}mllllllmlmllllllllllllllmmlllmlzllmlmllllllllmmllllllloqlllmlllmmllmlmmmllmlllmlmmmmlllllllllmlllllmllmllllyxllllllllllmmllmlmmllmlmllmllllmllllllllllmlmllllmnxlmlmlllmllmmllllllllllllllmllllllmmmlmmlmllmmlllllmllmllwmlmllllllllllmmlllmmv{mllllmllmlmlmmllmllllllmlllmmmlmmlllllllllmlllllmlllmmlv{lmllmlllllllmmllllmmmllmlmlllmllllmllllmllmmlllmlllmllllmllllmlmmmmllmllllllmlllllmm{ylmmllmlmmlmmmmmmlllllllmlmlllllllllllllmlmmllllllllllmllllllllmllmlmlmllllkkkkkkkkkkklllllllllmlloty}}{xupmkllmmlllllllllmmllmllllmmlmlllmllklmqtwz|}~}{xvromklllmllmlllllllllmllllmmllmlmlllllllmlmllmllmllmlmmllllmmlmlllmosux{}~}|ywtpmlllllmlmmmlmllllllllmlmmmlmlllmlmllmmmllmm{plmmllllmllllmlllllmmmlllllmlmlllmllmlllllllmmlllmvvllmllllllmlmlllllllqxllmmmllllllmlmlllllmllmmmlllllnsmmlllllxslllllllllmlllllllllllllmlllllmyllllmllllmllmllmlmlllloqlmmlmllmmmllmmllllllmlllllllllmmlllllllmllllmllllllyxllmlllllllllllllmmmmllllllllllllmlllmlllllmllllmlvnlmmmllmlmlmllllmlmllmllllllmmllllmllllllmllllllmlllllmmlotllmmlmmllllllmllmllv{lmmlllllllmllllllllllmmlllmllllllllmlllmllmllllmmllmlmlv{mlllllmlmlmlmmllllllmmmmllmlmlmllllmlmmlmmlmlmmlllmmlmmmmlllmlmlmmlllmllmlmmlmmmmmml{ymllmmmlmllllllmmmlllmlmmlmllmmmmlmmmlllmmlmlmlllmllmllmlmllllmmllmlllmlllmuvvwvvvvvvvvnmlmlmmllpx|vollmlllmmlmmllmlmmmmmmlmmllmllloty~{vqmlllmmlmlllmmlllmlllmllmlmlmmlmllllmmmlllmlllmmllmllllmllmrw|}ytolllmmmlmmmlllmllmlllmmllllllmllmmllmlmmytlllmlllmllmlmlllmlmllmmllllmllllllmlmmmllllmlmmmlsvlmmmllmllmmlmmmlllml}mlmmmllmmmlllmllmmlmlllmlmmmmmsnmmmmmllrxmllmlmlmmlllmllllmmllmlllmlllotlmmlmlmllmmlllmmllmmlloqmllmmmlmlllmllllmlmlmlllmllmlllllmlmllmmlmlllmmllllyymlmmmllmmllmlllmmllllmlmmmmlllmlmlmmmmlmlmmllmlmm}xlmmlllllmllmlmlmmmlmmmmmmllmllmmmmmlmmlmmmmlmmmllmlmmmllmlz{slmmllmmlllllmlmmllmv{lmlmllmlllmlmlmmlllmlmlmmlllllmlllmlmlmllmlmlmllmlmmmlmv{llllmlmlmlllmlllllmlllmllmlllllmmmllmmllllllmmlmlmmlmllmmllmmlllmlmmmlllllmllmmllmml{ymlmmllllmllmmlllmlllmllmmmlmmmllmmllllmlllmlmlmlmmmmmllmllmlmlmmllmmmmlllm~ommlmmlmvyqmllmmmmmmmmmmllmlmlllllllmsz|uollllmmmmmlmmmlmlmmmmmlmllmlllmmlmlmlmmmmlmllllmmlmllpv}~yrmllllmmlmlmmlmllllmllmmmlllmllmlmmmlmxyllmlllllllmmmmmlllllmlmllmmmllllllmlmllmllllmmlllovvvutttrrrpppnlmlmmmllmmlmmmmllllmznlmlmmmmmllllmlmmmmmllllmmmmmmy|lllllmllm~lmlmmllllmmlmlmmlmmlmmllmmlmmtommmllmmmmllmllllmllllmoqmlmlmmmlllllmlmlmlmlmlmmlmlllmlllllmlmmmlmmlmlllmllyymlmlmllllllmmlmmmmmllmmlmlmlmmlmmmlllllmlmlmlmmmppmmmlmlmmmlmllmmmmmmmlllmmmlmmlllllmlmmmmllmmmmlllllmlmmlmlr~zvrnmlmlmmmmllllmllllmllmv{mllmlllmllmmmmmlmlmlmmlmmlmmmmlmlmlmlllllllllmmlmlmllmmv{mlmlllmmmlmmlmmllmmmmlmmlmmllllmmmlmlmlmmmmmmmmmmlmmmlmmlmmmmmlmmmmlmmlmmmmmmmmlmmmm{ymmlmmmmmmmlmmmlmmmlmmlmmmlmlmmlmmlmmlmlmlmmmmmmmmmmlllmlmmlmmlmlmmlmmlmmmm}olmlmlnzypmlmlmmllllmmlmllllmmlmt}~wolllllmmmmllmlmmlmmmlmmlmllmllmmmmlmmmmmlmllmlmllpy{rmlmllmmmllmllllllllmmlmmlmllmllmmmlvmlmmmlmlmlmmlmmlmmmmlmmllmlmmlmmllmlmmmmllmmlmlllllllkllllllllllmmmllmmmmlmllllmlmmltrmlmmmllmmlmmmlmmllmmmmllmmlml~wmmmmmmmml{pmlmmmmmmmlmmmmlmmmlllllmlmmlz}llmmlmllmmllmlmmllmmmmmoqmmmlllllmmmlllllmlmmmmmmmlmllllmmlllmmlmllmlmmllllmyylllmmmmmmmmmmmmmmmlmmlmmmmmllmllmllmmlmlmlmmlmllw}lmllllllmmmmllllmmlllllmmmmmmmlmmlmlllmmlmmmmlmmmmmmlmlmlmlm}yuqnlklllllllmllmmmlllmllmmllv{mlllmmmlllmlmmlmlllllmmmmlllmlmllmmllllmlllllmmmlmllmlmv{mmlmmmmllmlmlllmmlmmmlmllmllllmllmmmmmmmmmmmmmmmmlmmmmmmmmmmmmlmmmmmmmmmmmmmmmmmmmmm{ymmmmlmmmmmlmmmmmmlmmmmmmmmmmmmmlmmmmmmmmmmmmmmmlmmmmmmmmmlmmmmmmmlmmmmmmmm}ommmmn{tmlmmmmmmmmmmmmmmmmlls|~umlmmlmmlmmmmmmmmmlmlmlmlmmmmmmmmmmmmlmmmmmmmloxzqlmmmmmlmmmmmmmlmmmmmmlmmmmmmlmmmmsummmmmmmmmmmmmmmmmmmmmlmmmmlmmmmmmlmmmmmmmlmmmmmlmlmlmmmmmmmllmmmmmmmmlmmmlmmmmmmmmmpwmmmlmmmmmmmmmmmmmmmmmmmllmmmqqmmmmlmmmmvummmlmllmmmllmmllmllmmlmmmmlm~wmmmmmmlmlmmlmmmmmmmlmmmoqlmmmmmmmlmmmmmmmmmmmmlmmmllmmmmmmmmmmmllmmmmlmmlmlmyymmmmlmlmmmmllmmllmlmmmmmmmmmmmmmlmmlmmlmlmmmmlll}vmmmmmmmmmmmlmlmmmlmlmmlmlmlmmmlllmmmmmlmmmlmmmlmmlmmmlllmmmmvxtpmlkllmmmmllmmmmmmmmmmmmmmmllllv{mmllmmmmmmmlmlmmmlmmmllmmmmmmllmmlmllmlmmmlmmmmmmlmmllmv{llmmmmmmmllmmmmmlmmmmlmlllmmmmlmmmmmmlmmmmmmmmlmmmmmmmmmmmmmmmmmlmmmmmmmmmmmmmmmmmmm{ymmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmm}ommmmznmmmmmmmmmmmmmmmmmloz{plmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmlmt~vmlmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmnnmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmlmmmmmmmmmmmlmmmmmmmmmmmmmmmm~{mmmmmmmmmmmmmmmmmmmmmmmmmmmmvmmmmmmmmmmq{mmmmmmmmmmmmmmmmmmmmmmmmmmmprmmmmmmmmmmmmmmmmmmmmmmmoqmmmmmmmmmmmmmmmmmmmlmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmyymmmmmmmmmmmmmmmmmmmmmmmmmlmmmmmmmlmmmmmlmmmmmmmoommmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmllllmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmv{mmmmmmmmmmmmmmlmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmlmmmmmmv{mmmmmmmmmmmmmmmmmmmmmmmmmmmlmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmm{ymmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmlmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmlmmmm}ommlwzmmmmmmmmmmmmmmmmmls~ulmmmmmmmmmmmmmmlmlmmlmmmmmmmmmmmmlmmmmlny{olmmmmmmmmmmmmmmmmmmmmmmmmmmmmml}{mmmmmmmmmmmlmmmmmlmmmmmlmlmmmmmmlmmmmmmmmmmmmmmmmmmlmmmmmmmmmmmmmmmmmmllmmmmmmlmmmmymmmmmmmmmmmmmmmmmmmmmmmmmmml{zmmmmmmmmmmmnmmmmmmmmmmmmmmmmmmmmmmmmmmtnmmmmmmmmmmmmmmmlmmmmmmmormmmmmmmmmmlmmmmmmmmmmlmmmmmmmmmmmmmmmmmmmmmmmmmmmmmyymmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmu}mmmmmmmmmmmmmmmmmmmmmmmlmmmmmmmmmmmmmmmmmmmmmmmmmmmlmmmmmmmmmmmmmmmmmmmmmmmmmmmmmlmmmmmmmmmmmmlv{mmmmmmmmmlmmmmmmmmmlmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmv{mmmmmmmmmmmmmmmmmmmmmmmmlmmmmmlmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmm{ymmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmm}ommrrmmmmmmmmmmmmmmmmmvxmlmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmlp|~rlmmmmmmmmmmmmmmmmmmmmmmmmmmmmmxxmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmtqmmmmmmmmmmmmmmmmmmmmmmmmmmnummmmmmmmmmmyrmmmmmmmmmmmmmmmmmmmmlmmmmmy{mmmmmmmmmmmmmmmmmmmmmmmmormmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmyymmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmzwmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmv{mmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmv{mmmmmmmmmmmmmmmmmmmlmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmlmmmmmmmmmmmmmmmmmmmmmmmmmm{ymmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmm}omn~~mmmmmmmmmmmmmmmmmy{nmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmlrslmmmmmmmmmmmmmmmmmmmmmmmmmmmmqynlmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmlmmmmmmnvmmmmmmmmmmmmmmmmmmmmmmmmmmsommmmmmmmlmmtxmmmmmmmmmmmmmmmmmmmmmmmmmm~vmmmmmmmmmmmmmmmmmmmmmmmmormmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmyymmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmm~rmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmv{mmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmv{mmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmm{ymmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmm}omywmmmmmmmmmmmmmmmn{{nmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmttlmmmmmmmmmmmmmmmmmmmmmmmmmmmm}}smlmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmm}zmmmmmmmmmmmmmmmmmmmmmmmmmmx}mmmmmmmmmmmmo}mmmmmmmmmmmmmmmmmmmmmmmmmoqmmmmmmmmmmmmmmmmmmmmmmmmormmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmyymmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmonmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmv{mmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmv{mmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmm{ymmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmm}ospmmmmmmmmmmmmmlm{{nmmmmmmmmmmmmmmmmmmmmmmmmmmmmmlrslmmmmmmmmmmmmmmmmmmmmmmmmmmmt|tnllmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmxmmmmmmmmmmmmmmmmmmmmmmmmmm~xmmmmmmmmmmmmm}ommmmmmmmmmmmmmmmmmmmmmmmt~mmmmmmmmmmmmmmmmmmmmmmmmmormmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmyymmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmms|mmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmv{mmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmv{mmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmm{ymmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmm}p}}mmmmmmmmmmmmmmmy|xusppppprux|zmmmmmmmmmmmmmmmmmmmmmmmmmmmmmq~zvsqppppqswz~rmmmmmmmmmmmmmmmmmmmmmmmmmmmn}}wpmllmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmrpmmmmmmmmmmmmmmmmmmmmmmmmprmmmmmmmmmmmmmwummmmmmmmmmmmmmmmmmmmmmmmxymmmmmmmmmmmmmmmmmmmmmmmmmormmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmyymmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmvwmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmv{mmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmv{mmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmm{ymmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmm}xummmmmmmmmmmmmmw|vpmlllmlllmlllnqw~wmmmmmmmmmmmmmmmmmmmmmmmmmmmo~ysnmllllmlllllmotz~ommmmmmmmmmmmmmmmmmmmmmmmmmms{upmllmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmntmmmmmmmmmmmmmmmmmmmmmmmmunmmmmmmmmmmmmmr{mmmmmmmmmmmmmmmmmmmmmmmm}tmmmmmmmmmmmmmmmmmmmmmmmmmprmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmyymmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmztmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmv{mmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmv{mmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmm{ymmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmm}}zyyyz}nmmmmmmmmmmmmms|tmllmmmmmmmmmmmmmmlov~smmmmmmmmmmmmmmmmmmmmmmmmmn{xpmllmmmmmmmmmmmmmlmrz|mmmmmmmmmmmmmmmmmmmmmmmmmmmmz|wrnmlmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmm|ymmmmmmmmmmmmmmmmmmmmmmmm{{mmmmmmmmmmmmmmmnmmmmmmmmmmmmmmmmmmmmmmoommmmmmmmmmmmmmmmmmmmmmmmmprmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmyymmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmm}pmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmw{mmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmv{mmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmm{ymmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmm}}wqnmlmmmnpuzzmmmmmmmmmmmmmnvnlmmmmmmmmmmmmmmmmmmllpyommmmmmmmmmmmmmmmmmmmmmmmw{qlmmmmmmmmmmmmmmmmmmmmmt~wmmmmmmmmmmmmmmmmmmmmmmmmmmmo~~zvrnmlmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmw}mmmmmmmmnmmmmmmmmmmmmmmnvmmmmmmmmmmmmnmm{rmmmmmmmmmmmmmmmmmmmmmmt}mmmmmmmmmmmmmmmmmmmmmmmmmmormmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmyymmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmw{mmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmw{mmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmm{ymmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmm}xnmmmmmmmmmmlmqxrmmmmmmmmmmmmmz}qmmmmmmmmmmmmmmmmmmmmmmmmmuymmmmmmmmmmmmmmmmmmmmmmmqwnmmmmmmmmmmmmmmmmmmmmmmmmp{pmmmmmmmmmmmmmmmmmmmmmmmmmmmr~zvronlmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmrnmnmmmmmmmmmmmmmmmmmmmmrqmmmmmmmmnmmmmmmuxnmmmmmmmmmmmmmmmmmmmmmywmmmmmmmmmmmmmmmmmmmmmmmmmmprmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmyymmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmo}mmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmnw{llllllmllllllllllllllllllllllllllllllllllllllllllllllllv{mmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmnmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmnmm{ymmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmnmmmmmmmmmmmmmmmmmmm}~rmmmnmmmmmmmmmnmmpmmmmmmmmmmmmms{pmmmnmmmmmmmmmmnmmmmmmmmmmmlrqmmmmmmmmmmmmmmmmmmmmmm|ummmmmmmmmmmmmmmmmmmmmmmmmnmny{mmmmmmmmmmmmmmmmmmmmnmmmmnmmt{wtpmlmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmnmmmmmmmmmmmmmmmmmmmmmmmmnsmmnmmmmmmmmmmmmmmmmmmmx~mmmmmmmmmmmmmmmmp}mmmmmmmmmmmmmmmnmmmmmm}rmmmmmmmmmmmmmmmmmmmmmmmmmmormmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmyymmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmqzmmmmmmmmmnmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmw~wwwwwwwwwwvwwwwwwwwwwwwwwwwvwwwwwwwwwwwwwwwwwwwwwwwwwww{{mmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmm{znooonoonooonooooooooooooonoonoonnonnoonnooononooonmmnmmnmmmmmmmmmmmmmmmmmm}~qmmmmmmmmmmmmmmmmmmmmmnmmmmmmmmn}{nmmmmmmmmmmmmmmmmmmmmmmmmmmmmmr|mmmmmmmmmmmmmmmmmmmmmttmmmmnmmmmmmmmmnmmmmmmmmmmmmmmmzsmmmmnmmmmmmmmmmmmmmnmmmmmmmmu|xtpnlmmmmmmmmmmmmnmmmnmmmmmnmmmnmmmmmmmmmnmmmmmmmmmnmmmmm{wmmmmmmmmmmmmmmmmmnmmmm}ymmmmmmmmmmmmmmmmm~pmmmmmmmmmmmmmmmmmmmnnnmmnnmmmmmmmmmmmmmmmmmmmmmmprmmmmmmnmmmmmmmmmnmmmmmmmnmmmmmmmmmmmmmnmmmmmmnmmmmmyymmmmmmnmmmnmmmmmmmmmmmmmmmmmmmmmmmnmmmmmmmmmmsxmmmmmmmnmmmmmmmmmmmmmnmmmmmmmmmmmmmmmmmmmmmmmmmmnmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmnmmmmmnmw{mnmmmmmmmmmmmmmmmmmmmmmmmmmmmnmmmmmmnmmmmmmnmmmmmmmmmmmmmmmmmmmmmmmnmmmmmmmmmmmmmmmm{mmmmmmmmmmmnmmmmmmmmmmmm}rmmmnmmmmmmmmmmmmmmmmmmnmnmmmmmmt}ommmmmmmmmmmmmmmmmmmmmmmmmmmmmmmtsmmmmmmmmmmmmmmmmmmmn}ummmmmmnmmmmmmmmmmmmmnmmmmmmmmmmn|}mmmmmmmmmmmmmmmmmmmmmmmmmmmmmt|wsomlmmmmmmmmmmmmmmnmmmmmmmmmmmmmmmmmmmmmmmmmmmnnmmmmv|mmmmmmmmmmmmmmnmmmmmmptmmmmmmmmmmmmmmmmmyummmmmmmmmmmmmmmmmmmms{mmmmmmmmmmmmmmmmmmmmmmmmmmmprmmmmmmmmnmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmyymmmmmmmmmmmmmmmmmmmmmmmnmmmmmmmmmmmmmmmmmmmmmtwmmmmmmmmmmmmmnmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmw{mmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmnmnnmmnmmmmmmmnnmnmmmmmmmnmmmmmmmmnmmmmmmmmmmmmmmmn{mnmmnmmmnmnnnmnmmmmmmmmm}wmmmmmmmmmmmmmmmmmmmmmmmmmmmmmnmn~pmmmnnmnmnmmnnmmmmmmmmmmmnmnmmmnmmw|mmmmmnnmmmmmmmmnmmmtxmmmnmnmmmmmmmnmmmnmmnmnnmnmmmnmmmormmmnnmmmmmmmmmmmmmmmmmmmmmmmmr~{vqnlmmmmmmnmmmnmmmnnnmmnmnnmmmmmmmmmmmmnmmmmmmmmmqnmnmmmmmmmmnnmmmmnmmmuommmmmmmmmmmmmnnmmt{mmmnmmmmmmnnmnmmmmmmxvmmmmnmmmmmmmmmmmmmmmmnmmmmmprnmnmnmmmmmmmmmmmmmmmmmmmnnmmnmmmmmmmmmmmmmmnmmnmmmmyymmmmnmmnmmmmmmnnmmmnmmmnmmmmnmnmmmmmmmmmmmmmmvunmmnnnmmnmmmmmmmnmmnmmmnmmmmmmmmmmmmnmmmmmmmmmmmmmmmmnmnmmmmmnmmmmmmmmmmmmmmmmmmmnmmmmmmmmmmmmmmmw{nmmmmmmnnmmmmmmmmmnmmmmmmmmmmmmmnmmnmmmnmmmnmmmnmmnmnmmmnmnmmmmmmmmmmnnmmmmmmnmmmmmm{mmmmmmmmnmmmnmmnmmmmmmmm}~nmmmnmmmnmmmnmmmmmmnmmmnnmmmmmnnsumnmnmnmmmmmnnnnmmnmnmmmnmmnmmmmmmmn}qmnmmmnmmmmmmmmmmmm}}nmmmnmmmmnmnmmmmmmmnmmmmmmmmmmnmmmmt{mnnmmmmmmmmmmmmmmmnmmmmmmmmmmmpz}wrnlmmmmmmmmmmmmmmnmmmmmmmmmnmmmnmmmmmmmmnmmmmm~rmmmnmmmmmmmmmmnmmmmm{|mmnmmmmmmmmmmmmmmmonmmmmmmmmmmmmmmmmmmm}qmmmmmnmmmmmmmmmmmmmmmmmmmmmprmmmmnmmmmmmmmmmmmmmmmmmmmnmmmmmmmmmmnmmmmmmmmmmmmmmyymmmmmmmmmmmmmmmmmmmnnmmmmmmmmmmmmmmmmmmmmmmmmwsmmnmmmmmmmmmmmmmnmmmmmmmmmmmmmnmmmmmmmmmmmmmmmmmmmmmmmmmmmmnmnmmmmmmmnmmnmmnnmmmmnmmmmmmmmmmmmmmmw{mmmmmmnmmmmmnnmmmnmmmmmnmmmnmmmnmnnnmmmnnnnnmmmnnnnmnnmnnnnnmnnnnnmnnnmnnnnnmnnnnnnn{nnmnmmmnnnnnnnmnnmnnnnmm}umnmnmnmnnmmnmnnnmnnmnnmnmnmnnnnm{|mnnnnnnmnmnnmnnnnnnnmnmmnnmnnnmmnmmmsymnnnnnmnnnmnnnnmmqrmnnnnnmnnnnnnnnmnnnnnnmmnnnnnmnmnnnn}pnnmmnmnmnnnmnnnmnmnnmnnnmnmnmmmu~}wqnmmmmnnmnnnmmnmnnnmnnnmnnnnmmmnnnnnmnmnnmmzvmnnmmnnnnnmnmnnnnmmnwmnnnnmmnnmnmnnnmnnm|rmnmnnnmmnmmnnnnmnno~mnnmnmnnnnmnnmnnnnmmnmmnmnmnprnnmnnnmmmmnnnnmnmnnmnnnmmmmnnmmnnnmmnnnmmmnnmnnnnnnyynmnnmnnmmmmnmmnmmnmmnmmnmmnmmmmmnnnnmmmnmmmmmwrnmnmnnnmmmmmnmnmnnmmnnnnnmmmmnmmmmnmnmmmmnnnmmnmmmnnnmmnmmnmnmnmmmnmnmnmnmnmmnnmmmnnnmmmmmnmmmmnnw{mnmnnmmnmmmmnmmnmmmnmnmnmmmmmmnnmnnnnnnnnmnnnnnnnnnnnnnnnmnnnnnnnnnnnnnnnnnnnnnnnnnm{nnnnnnnnnnnnnnnnnnnnnnnn}nnnnnmnnnnnnnnnnnnnnmnnnnnnnnnnnpqnnnnnnnmnnnnnnnnnnnnmnnnnnnnnnnnnnnnn}nnnnnnnnnnmnmnnnmyzmnnnnnnnnnnnnnnnnnnnnnnnnnnnnnmnnnnnnswnnnnnmnmnnnnnnnnmnnnnnnnmnnnnnnmox{tnmnnnmnnnnnnnnnnnnnnnmnnnnnnnnnnnnnmnnnntzmnnnnnnnnnnmnnnnnnnrrnnnnnnnnnnnnnnnnnnnwwnnnnnnnnnnnnnnnnnnsynnmmnmnnmnnnnnnnmnnnnnnnnnnnprnmnnnnmmnnnnnnmnnmnnnmnnnnnnnnnnnnnmnnnnnnnnnnnnnnnyynnnnmnnmmnnnmmnmnnnmnnnnmnnnnnnnnnnnnnmnnnnnnyrnmnmnnnnnnnnnmnnnnnnnmnnnnnmnnnnnmnnnnmnnnnnnnnnnmnnnnmnnmnnnnnnnnmnnnnnnmnmnnnnmmnnmnnnnnnnnmmmnw{nmnnnmnnnnnnnnnnmnnnnnnnnnmnnnnnnmnnnnnnmnnnnnnnnnnnnnnnnnnnnnnmnnnnnnnnnnnnnnnnnmnm{nnnnnnnmnnmnnnnnnnnmnnnn}zmnnnnmnnnnnnnnnnnnnnnnnnmnnnnnnnw{nmnmnnnnnnnmnnnnnnnnnnnnnnnnnnnnnmnnnnttnnmnnnnnnnnnnnnnqnmnmnnnnnnmmmnnnnmnnnnnnnnnnnnnnmnnmnm~}mnnnnnnnnnnmnnnnnnnnnnnnnnnnnnnmmmqy|tnmnnnnnnnnnnnnnnnnnnnmnnnmmnnnnnnnmnmmpmnnnnnnnnnnnnnnnnnnwnnnnnnnnnnnnnnnnnnnnr}mnnnnnnnnnnnnnnnnnxtnnnmnnnnnnnnnnnnnnnmnnnmnnnnprnmnnnnnnnnnnnnnnnnnnnnmnnnnnnnnnnnnnnnnnnnmnnnnnnnnyynnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnyrnnnnnnnnnnnnmnnnnnnnnnnnnnnnnmnnnnnnnnnnnnnnnnnnnmnnnnnnnnnnnnnnnnnnnnnnnnmnnnnnnmnnnnnnmnnnnnmnnw{nnnmnmnnmnnnnnnnnnnnnnnnmnnnnnnnnnnnnnnnnnnnmnnnnnnnnnnnnnnnnnnnnnmnnnnnnnnnnnnnnnnn{nnnnnnnnnnnnnnnnnnnnnnnn}tnnnnnnnnnnnnnnnnnnnnnnnnmnnnnnnn}snnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnoymnnnnnnnnnnnnnns|mnnnnnnnmnnmnmnnnnnnnnnnnnnnnnnnnnnnnnmwpnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnmmpw}|rmmnnnnnnnnnnnnnnnnnmnnnnmnnmnnnnnnnnm}qnmnmnnnnnnnnnnnnnm|znnnnnnnnnnnnnnnnnnnnnpnnnnnnnmnnnnnnnnn|onnnnnnnnnnnnnnmnnmnmnnnnnnmnprnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnmnnnnnnnnyynnnnnnnnnnnnnnnmnnnnnnnnnnnnnnnnnnnmnnnnnnnnnyrnnnnnmnnnnnmnnmnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnmnnnnnnnnmnnmnnnnnnnnnmnnnnmnnnnnnnnnmnmmmnnnmnnmnw{nnnnnnmmmnnnnnmnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnm{nnnnnnnnnnmnnnnnnnnnnnnn~onnnnnnnnnmnnnnnnnnnnnnnnnnmnnnnp~nnnnnnnnnnnmnnnnnnnnnnnnnnnnnnnnnnnnnnnnznnnnnnnnnnnnnnnyunnnnnnnnnnnnnmnnnnnnnnnnnnnnnnnnnnnnnnnqunnnnnnnnnnnnnnnnnnnmnnnnnnnnnnnnnnnmmnsy~yomnnnnnnmnnnnnnnnnnnnnnnnnnnnnnnnnnnyunnnnnnnnnnnnmnnnnpunnnnnnnnnnnnnnnnnnnnnzunnnnnnnnnnnnnnnnn}nnnnnnnnnnnnnnnmnnnnnnnnnnnnnprnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnyynnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnyrnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnw{nnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnn{nnnnnnnnnnnnnnnnnnnnnnnn~}nnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnntxnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnuqnnnnnnnnnnnnnn~onnnnnnnnnnnnnmnnnnnnnnnmnmnnnnnnmnnnnnnm~znnnnnnnnnnnnmnnnnnnnnnmnnnnnnnnnnnnnnnmmoty~}tmnnnnnnnnnnnnnnnnnnnnnnnmnnnnnnnnntynnnnnnnnnnnnnnnnntpnnnnnnnnnnmnnnnnnnnnnuzmnnnnnnnnnnnnnnnswnnnnnnnnnnnnnnnmmnnnnmnnnnnnnprnnnmnnnnnnnnmnnnnmnnnmnnnnnnnnnnnnnnnnnnnnnmnnnnnnnyynnnnnnnnnnnnnnnnnnnnnmnnnnnnnnmnnnnnnnnnnmnnnyrnnnnnnnnnnnmnnnnnnnnmnnnnnnnnnnnnmnnnnmnnnnnnnnnnnnnnnnnnnnmnnnnnnnnnnnnnnnnnmnnnnnnnnnnmmnnnnnnnw{nnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnmnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnn{nnnnnnnnnnnnnnnnnnnnnnnn~ynnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnysnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnpvnnnnnnnnnnnnnp|nnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnynnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnmmmosx|wnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnno}nnnnnnnnnnnnnnnnnz}nnnnnnnnnnnnnnnnnnnnnnpnnnnnnnnnnnnnnnnwrnnnnnnnnnnnnnnnnnnnnnnnnnnnnnprnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnyynnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnxrnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnw{nnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnn{nnnnnnnnnnnnnmnnnnnnnnnn~unnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnn}onnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnznnnnnnnnnnnnntxnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnvpnnnnnnnnmnnnnnnnnnnnnnnnnmnnnnnnnnnnnnnnnnmmmnquy}zomnnnnnnnnnnnmnnnnnnnnnnnnnnnnnnn}onnnnnnnnnnnnnnnnynnnnnnnnnnnnnnnnnnnnnnm~rnnnnnnnnnnnnnnn{onnnnnnnnnnnnnnnnnnnnnnnnnnnnnprnnnnnnnnnnnnnnmnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnmnyynnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnwrnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnmnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnw{nnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnn{nnnnnnnnnnnnnnnnnnnnnnnn~rnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnno~nnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnn{}nnnnnnnnnnnnnxtnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnrtnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnmmmmoquy}{onnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnwtnnnnnnnnnnnnnnnrsnnnnnnnnnnnnnnnnnnnnnnnywnnnnnnnnnnnnnnn{nmnnnnnnnnnnnnnnnnnnnnnnnnnnnnprnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnyynnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnvtnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnmnnnnnnnnnnnnnnnnmnnnnnnnnnnnnnnnnmnnnnnnnnnnnnnnnnw|qqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqy{nnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnmnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnn{}wwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwnnnnnnnnnnnnnnnnnnnnnnnn~onnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnrznnnnnnnnnnnnnnnnnnmnnnnnnnnnnnnnnnnnnnnnnnxnnnnnnnnnnnnn{rnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnpwnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnmmnnquy}{onnnnnnnnnnnnnnnnnnnnnnnnnnnnnnsxnnnnnnnnnnnnnnnwnnnnnnnnnnnnnnnnnnnnnnnns|nnnnnnnnnnnnnnrvnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnprnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnyynnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnuunnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnw{mnmmmmnmmmmmmmmmnmnmnmnmmnmnmmmmmmmnmnmmmmmnmmmmmmnmnnmw{nnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnn{ymmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmnnnnnnnnnnnnnnnnnnnnnnnn}nnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnuxnnnnnnnnnnnnnmnnnnnnnnnnmnnmmnnnnnnmnnnnnnvqnnnnnnnnnnnn~onnnnnnmnnnnnnnnnnnnnmnnnnnnnnmnnnnnnnnnnnnznnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnmmnnquy}znnnnnnnnnnnnnnnnnnnnnnnnnnnnnnn|nnnnnnnnnnnnnnn||nnnnnnnnnnnnnnnnnnnnnnnnoonnnnnnnnnnnnnwqnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnprnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnyynnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnntvnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnw{nnnnnnnnnmnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnw{nnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnmnnnnnn|ynnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnn}}nnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnxwoooooooooooooooooooooooooooooooooooooooooousnnnnnnnnnnnnoopooooooooooooooooooooopoooooooooooooooooo~|nnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnmmoqvy~wnnnnnnnnnnnnnnnnnnnnnnnnnnnnnn|onnnnnnnnnnnnnovnnnnnnnnnnnnnnnnnnnnnnnnn|tnnnnnnnnnnnnn|~nnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnpsnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnyynnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnrxnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnw|nnnnnnnnnnnnnnnnnnnnnnnnmnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnw{nnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnn|ynnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnn}{nnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnzunnnnnnnnnnnq~nnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnmmnosw|snnnnnnnnnnnnnnnnnnnnnnnnnnnnnwsnnnnnnnnnnnnntqnnnnnnnnnnnnnnnnnnnnnnnnnwynnnnnnnnnnnnnynnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnpsnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnyynnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnpznnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnw|nnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnw|nnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnn{ynnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnn~ynnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnn|wnnnnnnnnnnnsnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnmmnqv{}nnnnnnnnnnnnnnnnnnnnnnnnnnnnnrwnnnnnnnnnnnnny~nnnnnnnnnnnnnnnnnnnnnnnnnnr}nnnnnnnnnnnnrtnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnpsnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnyynnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnn|nnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnw|nnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnw|nnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnn{ynnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnn~ynnnnnnnnnnnnnnnnonnnnnnnnnnnnnnn~ynnnnnnnnnnnupnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnmnqx~vnnnnnnnnnnnnnnnnnnnnnnnnnnnnn{nnnnnnnnnnnnn~znnnnnnnnnnnnnnnnnnnnnnnnnnnpnnnnnnnnnnnvonnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnqsnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnyynnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnn~~nnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnw{nnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnw|nnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnn|ynnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnn~wnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnynnnnnnnnnnnvpnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnmov~onnnnnnnnnnnnnnnnnnnnnnnnnnnnznnnnnnnnnnnnqtnnnnnnnnnnnnnnnnnnnnnnnnnnnztnnnnnnnnnnn{|nnnnnnnnnnnnnnnnnnnnnnnnnnnnonnnqsnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnyynnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnn{onnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnw{nnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnw{nnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnn|ynnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnonnnnnnnnnnnnnnnnnnn~wnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnn{nnnnnnnnnnnwrnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnmpxwnnnnnnnnnnnnnnnnnnnnnnnnnnnnurnnnnnnnnnnnwpnnnnnnnnnnnnnnnnnnnnnnnnnnnuynnnnnnnnnnnwnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnqsnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnyynnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnxrnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnw|nnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnw{nnnnnnnnnnnnnnnnnnonnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnonnnnn{ynnnnnnnnnnnnnnnnnnnnnnnnnonnnnnnnnnnnnnnnnnnnnonnnnnnnnnnnnnnnnnnnnnnnnono~wnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnn|nnnnnnnnnnnwsnonnnnnnnonnnnnnnnnnnonnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnonnnnnnnnonnnnnnr}~nnnnnnnnnnnnnonnnnnnnnnnnonnqvnnnnnnnnnnn{}nnnnonnnnnnnnnnnnnnnnnnnnnnnp}nnnnnnnnnnrrnnnnonnnnnnnnnnnnnnnnnnnnnnnnnnnqsnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnyynnnnnnnnnnnnnnnonnnnnnnnnnnnnnnnnnnnnnnnnnnnnnuunnnnnnnnnnnnnnnnnnnnnnnnnnnnonnnnnnnonnnnnnnnnnnnnnnnnnnonnnnnnnnnnnnnnnnnnnnnnnnnnnnnnonnonnnnnw|nnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnw|nnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnonnnnnnnnnnnnnnnnnnnnnnnnnn{ynnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnonnonnnnnonnnnnnonnnnnnnnnnnnnnnnn~wnnnnnnnnnnnnnnnnonnnnnnonnnnnnnp{nnnnnnnnnonxsnnonnnnnnnnnnnnnnnnnnnnnnonnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnonnnp{rnnnnnnnnnnnnnnnnnnnnnnnonnnn~znnnnnonnnnoxnnnnnnnnnnnnnnnnnnnnnonnnnnnn}pnnnnonnnnvnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnqrnnnnonnnnnnnnnnnnnnnnnnnnonnnnnnnnnnnnnnonnnnnnnnnnyynnnnnnnnnnnnnnnnnnnnnnnnnonnnnnnnnnnnnnnnnnonnrynnnnnnnnnnnnnnnnnnonnnnnonnnnnonnnnnnnnnnonnnnnnnnnnnnnnnnnnnnnnnnnnonnnnnnnnnnnnnnnnnnnnnnnnnnnw{nnnnnnnonnnnnonnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnw|nnnnnnnnnnnnnnnnnnnnnnnnonnnnnonnnnnnnononnnnnnnonnnnnnnnnnnnnnnonnnnnnnnnnnnnnnnnnn{ynnnnnonnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnonnnonnnnnnnnnnnn~wnnnnnnnnnnnnnnnnnonnnnnnnnnnnnnq{nnnnnnnnnnnysnononnnnnnnnnnnnnnnnnnnnnnonnnnnnnnnnnnnonnnnnnnnnnnnnnnnnnonnnnnnnnnnnnnnnnnnno{ynnnnnnnnnnnnnnnnnnnnnnnnnnnny~nnnnnnnnnnssnnnnnnnnnnnnonnnnnnnnnnnnnnnnxtnnnnnnnnn{{nnnnnnnnnnonnnnnnnnnnnnnonnnnnnnnqsnnnnnnnnnnnnnnnnnnnnnnnonnnnnnnnnnnnnnnnnnnnnnnnnnnyynnnnnnnnnnnonnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnno}nnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnoonnnnnnnnnnmnnnnonnnnnnnnnnnnnnnnnnnnnnnnnw{nnnnnnnnonnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnw{nnnnnnnnnonnnnnnnnnnnnnnnnnnnnnnnnnonnnnnnnnnnnnnnonnnnnnnonnnnnnnnnnnnnonnnnoonnnno{ynnnnnnnnnnnnonnnnnnnnnnnnonnnnnnnnnonnnoonnnnnoononnnnnnnnonnnnnnnnnnnnonn~wnnnnnonnnnnonnonnnnononnnnnnnnnq{nnooonnnnnnysnnnnnonnnnoonnnnoonnnnnnnnnnonnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnoonnnnonnnnnno~~nnnnnnnnnnnnnnnnnnnnnnnnnnnnupnnnnnnnnnyonnnnnnnnnnnnnnnnnnnnnnnnnonnnsxnonnnnnnnvnnnnnnnnnnonoonnnnnnonnonnnnnnnonqsnnnonnnnnnnnnnnnononnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnyynnnnnnnnnnnonnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnn}onnnnnnnnnonnnnnnnnnnnnnnnonnnnnnnnnnonnnnnnnnnnnnonnnnnnnnnooonxuqonnnnonnnnnnnnnnnnnnnnnnnnnnow{nnnnnnnnnnnnnnnnnnoonnnnnonnnnnnnnnnonnnnnnnonnnnnnnnnnw|nnnnnnnnnnnnnnnnnonnonnnnnnnnnnnnnonnnnnnononnnnnononnnnnnnoonnononnonnnnnnnnnoonnnn|ynnononnnnnnnnnnnnnnononnnonnonnnnnnnnnnoonnnnnononnnnnnnonnnnoonnnnnnnnnnn~wnonononnnnooonnnonnnnnnnnonnnnop|nnnnnnnnnnnysnnnnnooonnnnnnnnnnnnnnnnnnnnnnonnnnnonnonnnnnnnnnoonnonnnnnoooonnnonnonnnnnnonnnnrpnnnnonnnonnnnnnnoononnonoonptnnnnnnnnn~{onnnonnnonnnononnonnnnnnonnnnno}nnnnnnnnrqnnnonnnnnnnnnnnnonnnnnnnnnnnonnnnqsnnononnononnnnnnnonnnnonnnnnnonnnnnnnnnnnnnnnnnnnnnyynnnonnnnnnnnnonnnnnnnnnnnnonnnnonnnnonnnnnnnnnnxsnnnnonnnonnnnnnnnnonnnnnnnnnnnoonnnnnononnnnnoonnnonnnnnnnnnnoq|yuqonnnnonnnnnooononnnnnonnnw{nnnnnnonnnnnnnonnnnonnonnnnnonnnnnnnnononnnnnonnnnnnnnnw|onnnnnnnnnnnnnnnonnonnonnnonnnnnnnoooonnonnoonnnnnnnnnnnnnnnononnoonnooonnnnnnoonnno|yoonononnnonnoonnnnonnonnnnnnnnnnnonnononnnnnnnonnnnnnnnoonnnnooonnnonnnnno~wnnnooononnonnnnnnnnnonnnononnnnoznnnnonnnnnnwrnnnnnnononnnnnooooprssuvwuonoonnnoononnonnnnonnonnnnnnnnnnnononnnonnnnonnonnnnnnnnztonnnonnnnnnnnnoononononnnnnn}xnoonnnnnqvoonononnnnnoonnnnonnnnonnononnn{onnnnnnov~nnnnoonnnonnooonnnonnnnnnnnooonnnnqsonnnonnonnnnonnnnnnnnnnnnonnoonnnononnonnonnnnnnnnnyynnnnnnnnnnnononnnnnnonnnnnononnnoonnoonnnnoonnntynnnnnnnonnnnnonnnnonnnnonnoonnnononnnonononnononnnnonononnnnonv}yuqonnnnonnoonnnnnnoonnnw|nnnnoonoononnonooononnnnnnnnonnnnnnnnnnnnnoonnnoonnononw{oonnnnnonnnnnnooonnonnonnnnonnnnnoooooonnnnooonoonooononnnononnnoonooonnnnonnonnnonn{yonononnnnonnnnnnononnonnooooooonononoonooonoonoooonnnnonooonoonoonnnooooon~wnonnnnonoonnnnnnoooonnnnnnnnnoon{pppppppppppppppppppppppppppppppppppppppppppppppppppppppppoonnonnnnnonwspppppopppppppppppppppppppppoppppppppppppppppppoppppppppppnooonoonnooonwy{|}~~onoonoononnonnnnnnnnnnoononnnnnnoonnnnonononnnooonnononoqwoooonononoonnonnnonnonnnnonox}nnnonoonvqnonnonnnonnnoooonoononnnnnoononwsnoonnnnzyonnonnonnnonnooonoonnnonnononnnnonqsnnnnonoononooonnnnoonnnnnnooononoonoonnonnnoononnooyyonnnnnonnnnonnonononononnnonnooononnonnnnnnnonnp~nnoononnonnnnnnnonnnonnnonnnnnnoonnnnonnonononnnonnonnoonoonnn{}yupnnnnonnnnonnononow{onnnnnnonnnnoonnnnnoonnnnonnonnnooonnnonnonnnnnnnonnonnw|nonnnnnnoonnnnnonnnnonnnonnonnnnnnononnnooooonononooonoonnnnonnoonoononoonoononnnonn{yoooooononoonnnnnoononnoooonnononnooooonoonnooonnonnnnoonnoonoonnonnnoonnon~wnnnoooonooooooonoononooononononn|nnonnnnnnnnnnnnnnnnnnnnnnnnnnnnnononnnnnnnnnnnnnnnnnnnnnnnoonnoonnnonvsnnnnnnnnnnnnonnnnnnnnnnnnnnnnonnnnnnnnnnnnnnnnnnnnnnnnnnnoooooononnnon|ooonnnnoonnoonnoonnnonoonnonnoooonoonnnonooooononnoooooon|yoooooooonononnonnooonoononnotonooonnn{~nnoooonnonnoooonnonooonnoonoonnnrwoooooontnononnooonoooononoonnnoonoononnoooqsnnnoonnoooonnooonnnnnooonnonooonononnnononnonoooooozyoonnnnoonoooonoonnnononoonoononnnnnoooononnooono|qnonnonnonnoononoonnnnonoononnnononononoonnnooonooonnnooonnnnotonnonnnooononnonow{oonnonoooonnnnnooonnnnnoononnoooonoonononnoonnnnonononow|ononnnonnnoooonnnnooonononooononnooonoononoonooooooooonnoooonooonnoonooooonoonoooooo{zoooonooooooooooooonnooonoonooooooooonoonnnoonooooononooooonononooooooonooo~woonoooonnnnoooooononoononononnoo~~ooooonoonononnoooonoooooonooonoonnooooonnnnonnononooooooooonnooonnnoouuoooonnnonnoonnooooooooononooooonnonnooooonoononnonnooooonnooooonoooonn{rnonoonnoononnnooonooonnooooonooonnooonnooononoonoooonnoowznoonnooononnnononononnooonnnosonooonnyonnnooonnooonoonoonoononnonnonooo~{oonoonqpoonnoonnnonnnooooooonnonnnnnooooooqsonoooonooonoonononooonnnnnonooonnooooonnonnonnoonoozznnnnnooooonoonooooonnoonnnnonnonnonoonnnooonoonowxnooooonooooononnoonnnoononoonnoonnonnonnooonnoonnnononnoonnnsponnoooonnnnonoooow{nnoonnnooonononoononoonoooonnonnnnonoonnonnonooononoonow{nnoonoooooooonnnnoooononnnooonnonooonoooonoooooooooooonnonooooooooooooooonooooonoooo|zoooooooonoonoooooooooooonooooooooooonooooooooooooonooooooooooooooooooooooo~woooononoooooooonnoooooonoonooooo|oooooooooooooooooooonononoonooonooooonooonoonononooonoononoooonoonoooswnoooonnoooooooooooooooonnonoonooonooooooooonoooooooooooonooooooonnnoonzuoonooooooooononoonoonnooooooooooooooonnoooonoooooooonoons|ooooooooooooonooooooonooonnoo|wnooonortnnooonoonoooooooooooooonoonnooooozoooooou|ooooooooonnononoooooooonoooooonooooqsoonnonnonoooooooooooooonnoononoonooonoonooonnooooonzzoonononoooooonnoooonoonoonooooooonnonooonoooonooq~onooononooonnoooooonononoooooonooooooooooooooooooooooooooonoz|nooooooooooonnonnow|oooonoonnonnoonooonoooooooonnnooooooooonnnonooonooooooow|nonononnonooonoooonoonoooonoooonoooonoooooononoooooonoooooooooooooooooooonoooooooooo|zooooooonnoonoooooooooooooooooooooooooooooooooooooooooooooooooooooooonooooo~wooonoooooooooooooooonooooooooonozqoononoooonooooooooooooonoooooooooooooonooooooooooooooooooooooooooooorzoonoooooooooooonooooooooooonooooonooooooooooooooooooooooooooooooooooooxynooooooooonoonooooonoonooonoooooooooooooooooooooonooooooq|ooooononoooooooooooooooonoooow{oooooovpooooooooonooooooooooonooooooooooouqoooooywoonooooooooonooooonooooooooooonooooqsooooooonnonoononoonooonononnoooooooooooooooonooonoozzoonnoonooooooooonooonnnoooooooonooooooooooonooooo}sooooooooooooooooonooooooooooonooooooooonoooooonooooooooonopwoooooooooooooooooow{oooonnoooonoooooooonoooonooooonoonooooooonoooooonoooonow|nooooooooooooooooooooooonoooooonoonooooooooooooooooonooooooooooooooooooooooooooooooo|yoooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo~wooooooooooooooooooooooooooooooooxtooooooooooooooooooooooooonooonooooooooooooooooooooooooooooooooooooooo}oonooooooooooooooooooooooooooooooooooooooooooonooooooooooooooooooooooov~oooooooooooooooooooooooooooooooooooooooooooooooooooooooop|ooooooooooooooooooooooooooooosoooooo{|ooooooooooonoooonnooooooooonooooooptooooo}sonnooooooonoooooooooooooooonoooooooqsooonooooooooooooooooooooooooooooooooooooooooooooooozzooooooooooooooooooooooooooooooooooonooooooooooooow{nooonoooooooooooooooooooooooooooooooooooooonoooooonnoooonovroooooooooooooooooow|oonoooonooooooooooooooooooooonooooonooooooooooooooooooow{oooooooooooooonoooonooooonoooooooooooooooooooooooooooooooooooooooooooooooooooooooooo{zoooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo}woooooooooooooooooooooooooooooooovxooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo~oooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooosrooooooooooooooooooooooooooooooooooooooooooooooooooooooop|ooooooooooooooooooooooooooooooqooooowooooooooooooooooooooooooooooooooooo}xoooopooooooooooooooooooooooooooooooooooooqsooooooooooooooooooooooooooooooooooooooooooooooooooozzoooooooooooooooooooooooooooooooooooooooooooooooooqqooooooooooooooooooooooooooooooooooooooooooooooooooooooooo}}ooooooooooooooooooow|ooooooooooooooooooooooooooooooooooooooooooooooooooooooow|oooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo{yoooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo~woooooooooooooooooooooooooooooooor|ooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo{sooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooopxooooooooooooooooooooooooooooooooonoooooooooooooooooooooqzoooooooooooooooooooooooooooooo{uoooorrooooooooooooooooooooooooooooooooooox{oooot{ooooooooooooooooooooooooooooooooooooqsoooooooooooooooooooooooooooooooooooooooooooooooooooyzoooooooooooooooooooooooooooooooooooooooooooooooooo|zooooooooooooooooooooooooooooooooooooooooooooooooooooooootwooooooooooooooooooow{oooooooonoooooooooooooooooooooooooooooooooooooooooooooow|oooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo|zoooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo~wooooooooooooooooooooooooooooooooopooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooxwoooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo}~ooooooooooooooooooooooooooooooooooooooooooooooooooooooosxoooooooooooooooooooooooooooooovxoooovoooooooooooooooooooooooooooooooooooosooooxvooooooooooooooooooooooooooooooooooooqsooooooooooooooooooooooooooooooooooooooooooooooooooozzoooooooooooooooooooooooooooooooooooooooooooooooooouqooooooooooooooooooooooooooooooooooooooooooooooooooooooo}qooooooooooooooooooow{ooooooooooooooooooooooooooooooooooooooooooooooooooooooow|oooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo|zoooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo~wooooooooooooooooooooooooooooooooo}toooooooooooooooooooooooooooooooooooooooooopoonnnoooooooooooooooooooou}oooooooooooooooooooooooooooooooooooooooooopoonnnooooooooooooooooooooonytoooooooooooooooonooooooooooooooooooooooooooooooooooooovvoooooooooooooooooooooooooooooor|oooozzoooooooooooooooooooooooooooooooooooooqooo|qooooooooooooooooooooooooooooooooooooqsooooooooooooooooooooooooooooooooooooooooooooooooooozzooooooooooooooooooooooooooooooooooooooooooooooooooo{nooooooooooooooooooooooooooooooooooooooooooooooooooooou{oooooooooooooooooooow|ooooooooooooooooooooooooooooooooooooooooooooooooooooooow|oooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo|zoooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo~woooooooooooooooooooooooooooooooooyzoooooooooooooooooooooooooooooooooooooooonz~|zxusqpoonnnoooooooooooooqqoooooooooooooooooooooooooooooooooooooooor}{ywtrpponnnooooooooooooooot}oooooooooooooooooooooooooooooooooooooooooooooooooooooo{sooooooooooooooooooooooooooooooooooo~uooooooooooooooooooooooooooooooooooooo{tooo~oooooooooooooooooooooooooooooooooooooqsooooooooooooooooooooooooooooooooooooooooooooooooooozzoooooooooooooooooooooooooooooooooooooooooooooooooooxuoooooooooooooooooooooooooooooooooooooooooooooooooooop~toooooooooooooooooooow|ooooooooooooooooooooooooooooooooooooooooooooooooooooooow|oooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo|zoooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo~woooooooooooooooooooooooooooooooooupooooooooooooooooooooooooooooooooooooooop~|ywuspooooooooooooo~xoooooooooooooooooooooooooooooooooooooooox}zxvtrooooooooooooooouooooooooooooooooooooooooooooooooooooooooooooooooooooppooooooooooooooooooooooooooooooozroorqooooooooooooooooooooooooooooooooooooovxoosyoooooooooooooooooooooooooooooooooooooqsooooooooooooooooooooooooooooooooooooooooooooooooooozzoooooooooooooooooooooooooooooooooooooooooooooooooooqqoooooooooooooooooooooooooooooooooooooooooooooooooooy}ooooooooooooooooooooow|ooooooooooooooooooooooooooooooooooooooooooooooooooooooow|oooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo|zoooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo~wooooooooooooooooooooooooooooooooopwooooooooooooooooooooooooooooooooooooooovroooooooooooooyoooooooooooooooooooooooooooooooooooooooozoooooooooooooooz~pooooooooooooooooooooooooooooooooooooooooooooooooooow|oooooooooooooooooooooooooooooooouuoov}oooooooooooooooooooooooooooooooooooooor{oowtoooooooooooooooooooooooooooooooooooooqsooooooooooooooooooooooooooooooooooooooooooooooooooozzooooooooooooooooooooooooooooooooooooooooooooooooooooy|poooooooooooooooooooooooooooooooooooooooooooooooootuooooooooooooooooooooow{ooooooooooooooooooooooooooooooooooooooooooooooooooooooow|oooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo|zoooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo~xoooooooooooooooooooooooooooooooooo|~ooooooooooooooooooooooooooooooooooooooo~~oooooooooooooosvoooooooooooooooooooooooooooooooooooooovvoooooooooooooootzoooooooooooooooooooooooooooooooooooooooooooooooooop~wooooooooooooooooooooooooooooooooqxoozxooooooooooooooooooooooooooooooooooooooo~~oozpoooooooooooooooooooooooooooooooooooooqsooooooooooooooooooooooooooooooooooooooooooooooooooozzooooooooooooooooooooooooooooooooooooooooooooooooooooqyoooooooooooooooooooooooooooooooooooooooooooooooor~oooooooooooooooooooooow|ooooooooooooooooooooooooooooooooooooooooooooooooooooooow|oooooooooooooooooooooooooooooooooooooooooooopooooooooooooooooooooooooooooopooooooooo|zoooooooooooooooooooooooooooooooooooooooooooooooopooooooooooooooooooooooooo~xoooooooooooooooooooooooooooooooooovwooooooooooooooooooooooooooooooooooooouyooooooooooooooo~~oooooooooooooooooooooooooooooooooooooo~poooooooooooooooo~wooooooooooooooooooooooooooooooooooooooooopoooooooxroooooooooooooooooooooopoooooooooo~|oo~sooooooooooooooooooooooooooooooooooooooozpo~|ooooooooooooooooooooooooooooooooooooooqsooooooooooooooooooooooooooooooooooooooooooooooooooozzoooooooooooooooooooooooooooooooooooooooooooooooooooooxwoooooooooooooooooooooooooooooooooooooooooooooop}uoooooooooooooooooooooow|ooooooooooooooooooooooooooooooooooooooooooooooooooooooow|oooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooppooooooooooooooooooo{zooooooooooooooooooooooooooooooooooooopopoooooooopooooooooooooooooooooooooo~xooooooooooooooooooooooooooooooooooppooooooooooooooooooooooooooooooooooopsoooooooooooooooxxoooooooooooooooooooooooooooooooooooow|ooooooooooooooooovuooooooooopoooooooooopooooooooooooooooooooooopoot|oooooooooooooooooooooooooooooooppoyoqpooooooooooooooooooooooooooooooooooooooousqxooooooooooooooooooooooooooooooooooooooqsoooooooooooooooopoooooooooooooooooooooooooooooooooozzooooooopooopooooooooooooooooooooooooooooooooooooooooopwoooooooooooooooooooooooooooooooooooooooopooop|}ooooooooooooooooooooooow|oopoooooooooooooooooooooooooooooooooopooooooooooooooooow|ooooopoooooooooooooooooooooooooooooooooopoooooooooopooppooooooooopoooooooooppoopooop|zoooopppoooooppopooooooooooopooooopoooooooooooooooooopooopoopopoooooopooooo~wpooooopoooooopoooopoooooooooopooopoz{oopoooopoooooooooopoopooooppooooooox~ooooooopopoooooorroooopoooooopooopooopoopooooopoooooquooooooooooooooooopvooooooooopoopopoooooooopooooooooooppoooooooooruopoooopoooooooooooooooooooooooopoouru|ooooooopoopooooooopooooooooooooooooooooopvusoooooooopoooooooooooooooooooooooooooooqsoooooooopoooooooooooooooooooopoooooooooopoooooooooozzooooooooopoooooooooooooooooooooooooooooooooooopooooooovxooooooooooooooooooooooooooooooooooopooooooq|sooooooooooooooooooooooox{pooooooooooooooooooooooooooooooooooooooooooooooooooooopx{ooooooooooooooooooooooooooooooooooooopooopoooooooooooppooooooooooopoooooooooooopooop|zoooooopopoooopooooooopoopooooooooooooooooooooooooooooooopooooooooooopooooo~wooooooooooooooooooooooopoooopoooooorvoooooooooopoooopooopoppooooooopooswpoooooooooopooooo{~poooooooooooooooooopoopopooooooopo{ppoopoooooooooopooovypooooooopoooooopoooopoooopooooooopppooooooor}~poopooooooooooooooooooooooooooooooopuyvoooooooooooopooooopooppoopopoooopooooopoo}xxppoooooooooppooooooooooooooopooooooooooqtooopoppopooooooopppoooooppoooooooooooooooppoooooooozzoooooooooopopooppoopopoooppoooopppoooopooooooooopooppoo|{qoopooooppooooooooopooopoopopoooopoooooor}zoopoooooooopoopooooopooox|oooppoooppooooppopoooooooooooopopoooooooooooooopopooooox|oopoooooooooooooopooooopooooooooopoopoooopoppooppoooooopopooopooooooooopopoppopoppoo|zoopoppooopoooppoopoppooppooooopoppoooooopppppppooooopooopoppoopppoooooooop~xoppoopooopopoopppopoooopoopooopooopo|toopppooopooopopooopopooopoppppop~popoooopopoooopooos{poooooooooooppppoooooooooooooopowxooooooppoopoppooooop}|sooopoopoopooopoppoppopoopoppoppppooooooot~vooopppooooopooppooopoooopooopoopoooo}x~rooooooooppoooooooopoppoooooopopopooopoooox{|zooooopooooooooopooooopoooooooooooooooooqtooooooooooooooooooooooooopoooooooooooooooooopoooooozzpooooppoopopooopooooooooooopppoooooooopooopoooooppoopoor}toooooppooooopooopoooooooooooooooooooou~~pooooopooooooopopopoopooox|ooopoooopoooopooopoooooooopoooooooooooooooooooooooooooox|ooopooooopooooopoooooopooopooopoooooopoopppooooooppopoppoppoooppoooopoopppooppoopoop|zoooopopoopppooppopopppopoppooppppoooppppoopooppopooooooppoooopoppoooppooop~xoopoppppppooppopoooppooooppooopooppostoopppooppooppooooppoppppopoppp{xoppppoooooooopopoop{zooopoppopooopppoppopoopoooopootpopoopoppoooooopopoppsxqoopoopppppopopppppopopppppppoopppooopx}ppopoopoopoppoopooopppooooppopppoppoox|~opppppooopppopoopoopooopooppopopopppppooops~vopooopooppopopoopoopoooppppoopopooopooortoooooppppppooopopoopoopoppooopoooppppppoopoopoppoopzzpoooopppooopopooooopppppopoppppooopppoooooppppopppoppoopuzroooppopopooooopooppoopppopoppoppoqytoooopoppopoooppoopppopppox|oopooppopoopoooopopooooooopoopooopoooopoooopoopoooppppox|opooooooppoopppopoopppppopooooooppppppppppppppppoppoppppppppoppppppppppoopppoppppppp|zopppppopoppppppopppppppppppppopppoopppppoopopppoopoopoppppoppppppppppppppo~xpppoppppppopoppoppopppopppoppopoooopozuoopppoppopooooooppopopopppopzqpppoppoppppoppppopor{qoppppppppppoppppopoooopoppotxoppppopppoopopppppoppoy~wqoopppopppoopppopppopoooppopppooopu}sopppppppopppoppoppppoopoppooopppopppotyopppopppopopppoopppooopopoppopoppopopopooppqopoooppopooopooopppooopoopopoopooooopoortopooppooopopppppopoooppopppoopopooooppoopopppppopoozzoopoopppoppppopoopopppopopppppppoopopopppoopopoppppoppopozxqoopoooooppooopopoooopoppoppoopv~xopooppoppopopoooopppppooopx|oppooppoopooopopppooooppopooppoopoppooopooooooooopoopopx|pppppoppoppoppppoooppppopppoooppopppppppopppppppppppppoppppppppppppppppppppppppppppp|zppppppppppppppoppppppppppppppppppoppppoppppopppoppppppppppoppppppppppppppp~xpppppppppppppppppopppppppppppopppppppqwpopppppppppppppppppppoppoq{vopppppppppppppppppppox|ropppppppppoppppppopoppooou~ppopppppppppppppppopppop}~yspooopppppppppppppppopppppoooqv|yoppppppppppppppppppppppppppppppppopppopuppopppppppopppoppoppoppoopppppopppppppppppp{~opppppppppppppoppppppooppopppopppppppppprtppppopoppppppoppoppoppoppppppppppoooppppppoppppppppzzppppoppppppppppoppoppoppppopopopppppppppppppppppppppppoppp}~yspooopppppppppppppppoppoooqv}|ppppopppppppppppopppppppoopx|pppoppppopppppppppooppppopppooooppppoppopppppoppoppppopx|ppppppppppoopppoopopppppppppppppppppppppopppppppppppppppoppppppppppppppppppppppppppp|zpppppppppppppppppppppppppoppppppppppppppppppppppppppppppppppppppppppppppop~xpppppppppppppppppppppppppppppppopppppov{sooppppppppppppopppoooot~|ppppppppppppppppppppppp}wpopppppppppppppppppppoqyuppppppppppppppppppppppppr|wspooooooppppopppoppooopqty~}pppppppppppppppppppppppppppppppppppppppp|pppppppppppppppppppppppppooppppoppppppopppppvyppppopppppppppoppppppppppppppppppppppppprtppppppoppppppppppppppppppppppppppppppppppppppppppppzzppppppppppppppppppppppppppppppppppppppppppppppppppppppppppq~{vrpooooppppppopopoooopsy~}qoppppppppppppppppppppppppppx|ppppopoppppppppppppopppppppppopopppppppppppppppppppppppx|popppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppp|zpppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppp~xpppppppppppoppppppppppppppppppppppppppp{yrooppppppppppppppoorzrpppppppppoppppppppppppps|upoopppppppppppppoopv}zoppppppppppppppppppoppppppt}zwtrppppopooooppqruw{~sppppppppppppppppppppppppppppppppppppppppw|pppppppppppppppppoppppppppppppppppppppoopppprtpppppppppppopppppppppppppppppppppppppopprtpppppppppppppppppppppppppppppppppppppppppppppppppppzzppppppppppppppppppppppppppppppppppppppopppppppppppppppppppos~|xurqppooooooppqsvz~~roopppppoppppppppppppppppppppx|pppppppoppoppppppppopppppppppppppppppppppppppppppppppppx|ppppppopppppppppppppppppppoppppppppppppppppppppppppppppppppppppppppopppppppppppppppp|zpppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppp~xpppppppppppppppppppppppppppppppppppppppq~zuqpoooooooooooquzvoppppppppppppppppppppppppv}wrpooooooooooopsw}~pppppppppppppppppppppppppppov~|{zzzzzzz{}~uoppppppppppppppppppppppppppppppppppppppppsxppppppppppppppppppppppppppppppppppppppppppppp~ppppppppppppppppppppppppppppppppppppppppprtpppppppppppppppppppppppppppppppppppppppppppppppppppzzpppppppppppppppppppppppppppppppppppppppppppppppppppppppppppos~|{zzzzzz{}~soppppppppppppppppppppppppppppx|pppppppppppppppppppppppppppppppppppppppppppppppppppppppx|pppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppp|zpppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppp~xpppppppppppppppppppppppppppppppppppppppps~{xutsssssuwz~zoppppppppppppppppppppppppppy|ywtssssstvy|spppppppppppppppppppppppppppppwuoppppppppppppppppppppppppppppppppppppppppppspppppppppppppppppppppppppppppppppppppopppppppy|ppppppppppppppppppppppppppppppppppppppppprtpppppppppppppppppppppppppppppppppppppppppppppppppppzzppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppos~~sopppppppppppppppppppppppppppppx|pppppppppppppppppppppppppppppppppppppppppppppppppppppppx|pppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppp|zpppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppp~xpppppppppppppppppppppppppppppppppppppppppt|pppppppppppppppppppppppppppppzuoppppppppppppppppppppppppppppppvvoppppppppppppppppppppppppppppppppppppppppppp{ppppppppppppppppppppppppppppppppppppppppppppppuwppppppppppppppppppppppppppppppppppppppppprtpppppppppppppppppppppppppppppppppppppppppppppppppppzzpppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppos}}soppppppppppppppppppppppppppppppx|pppppppppppppppppppppppppppppppppppppppppppppppppppppppx|pppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppp|zpppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppp~xppppppppppppppppppppppppppppppppppppppppppt|qppppppppppppppppppppppppppppppzupppppppppppppppppppppppppppppppppuuoppppppppppppppppppppppppppppppppppppppppppppvzppppppppppppppppppppppppppppppppppppppppppppppqsppppppppppppppppppppppppppppppppppppppppprtpppppppppppppppppppppppppppppppppppppppppppppppppppzzppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppoq{{qppppppppppppppppppppppppppppppppx|pppppppppppppppppppppppppppppppppppppppppppppppppppppppx|pppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppp|zpppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppp~xppppppppppppppppppppppppppppppppppppppppppot~{qppppppppppppppppppppppppppppppppyuopppppppppppppppppppppppppppppppppor|}spppppppppppppppppppppppppppppppppppppppppppppprvppppppppppppppppppppppppppppppppppppppppppppppp|pppppppppppppppppppppppppppppppppppppppppprtpppppppppppppppppppppppppppppppppppppppppppppppppppzzpppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppopxxppppppppppppppppppppppppppppppppppx|pppppppppppppppppppppppppppppppppppppppppppppppppppppppx|pppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppp|zpppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppp~xppppppppppppppppppppppppppppppppppppppppppppr|zpppppppppppppppppppppppppppppppppppw~toppppppppppppppppppppppppppppppppppppqxzqpppppppppppppppppppppppppppppppppppppppppppppppp~rpppppppppppppppppppppppppppppppppppppppppppppppxzpppppppppppppppppppppppppppppppppppppppppprtpppppppppppppppppppppppppppppppppppppppppppppppppppzzppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppt~~toppppppppppppppppppppppppppppppppppx|pppppppppppppppppppppppppppppppppppppppppppppppppppppppx|pppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppp|zpppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppp~xpppppppppppppppppppppppppppppppppppppppppppppqywppppppppppppppppppppppppppppppppppppot~|ropppppppppppppppppppppppppppppppppppppppt|}vppppppppppppppppppppppppppppppppppppppppppppppppppz}ppppppppppppppppppppppppppppppppppppppppppppppppsvpppppppppppppppppppppppppppppppppppppppppprtpppppppppppppppppppppppppppppppppppppppppppppppppppzzppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppoqyyqppppppppppppppppppppppppppppppppppppx|pppppppppppppppppppppppppppppppppppppppppppppppppppppppx|pppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppp|zpppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppp~xpppppppppppppppppppppppppppppppppppppppppppppppu}|sppppppppppppppppppppppppppppppppppppppoqywqpppppppppppppppppppppppppppppppppppppppppppv}~xqoppppppppppppppppppppppppppppppppppppppppppppppppppvyppppppppppppppppppppppppppppppppppppppppppppppppprpppppppppppppppppppppppppppppppppppppppppprtpppppppppppppppppppppppppppppppppppppppppppppppppppzzppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppos{|tppppppppppppppppppppppppppppppppppppppx|pppppppppppppppppppppppppppppppppppppppppppppppppppppppx|pppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppqpppppppppppppppppppp|zpppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppp~xppppppppppppppppppppppppppppppppppppppppppppppppqx~~wqppppppppppppppppppppppppppppppppppppppppppt|{spppppppppppppppppppppppppppppppppppppppppppppoqv|~xrppppppppppppppppppppppppppppppppppppppppppppppppppppprtpppppppppppppppppppppppppppppppppppppppppppppppppz~ppppppppppppppppppppppppppppppppppppppppppprtpppppppppppppppppppppppppppppppppppppppppppppppppppzzpppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppoptz|upoppppppppppppppppppppppppppppppppppppppx|pppppppppppppppppppppppppppppppppppppppppppppppppppppppx|pppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppp|zpppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppp~xppppppppppppqpppppppppppppppppppppppppppppppppppporx~~xrppppppppppppppppppppppppppppppppppppppppppppppu{{uppppppppppppppppppqppppppppppppppppppppppppppppppppty~}wrpppppppppppppppppppppppppppppppppppppppppppppppppppppppp}qpppppppppppppppppppppppppppppppppppppppppppppppppvyppppppppppppppppppppppppppppppppppppppppppprtpppppppppppppppppppppppppppppppppppppppppppppppppppzzpppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppsx~ztpoppppppppppppppppppppppppppppppppppppppppx|pppppppppppppppppppppppppppppppppppppppppppppppppppppppx|pppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppq}{ppppppppppppppppppppppqppppqpppppppppppppppppppppppppppppppppppppppppppqpqyppppppppppppppppppppqpppppppppppppppppppqpppppqpppporv||vrppppppppppppppppppqpppppppppqpppppppppppppppppppppty~~ytpppppppppppppppppppppppppppppppppppqpppppppppppppppppppquy~}ytppppppppppppppppppppppppppppppppppppppppppppppppppppppqppppy|pppppqpqpqpppppppppppqpppppppppppppppppppppppppppprtppppqpppppppppppppppppppppppppppppppppppppprtppppppppppppppppppppppppppppppqpppppppppppppppppppp{{ppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppqppppqty}|wrppppppppppppppppppppppppppppppppppppppppppppy}pppppppppppppppqpppppppppppppppppppppppppppppppppppppppx}ppppppppppppppppppppppppppppppppppppqpppppppppppppppppppppppppppppppppppppppppppppppvxxxxxxxxxxxxxvppppppqppppppppppppppqpppppqpqqppppppqppqpppppqppppppppppppppqppppppppppppwxxxxxxxxxxxxtpqpqpqppqppqppppppppqppppppppppppppqppppppppppqqpppppppsw{~~{wsppppppqppppqpppppppppppqppppppqpppqppqppppppppqppppppppqux}}yuqppppppppppqpppppppppppppppqppppppppppppppppppppppppppppqppppqswy|~{wtqppppppppppppppppqpppppppppppppppppppqppppppppqppppppppppppppqsxxxxxxxxxxxxxxtpppppqppqqpppppppppppqppppppppppppppppppqppppppppppxxxxxxxxxxxxxxqpppppppppppppppppppppppppppppppppppppppppppqxxxxxxxxxxxxxxrppppppqpppppppppppppppppppppppqppppppppppppppppppppuxxxxxxxxxxxxxuppppppppppppqppppppppppqppppppppppppppqppppqpppppppppppppqppppppppppppppppppppqswz}}yvrppppppppppppppppppqpppppppppppppppppppppppppppptxxxxxxxxxxxxxvppppppppppppppppppppppppppppppppppppppppppppppppppppppptxxxxxxxxxxxxxvpppppppppppppppppppppppppppppppppqppqqqqpqqpppqqqppppqppqqqpqqqpqpqpqpqpqqqqqqpqpppppppoppoppppppppqqpqppqqqppqqpppqqppqqqqqppqqqqpqqqpqqqppppppqqqpqpqpqqqpqpqqqqqpqppqqpqpqppppooppppoppppqpqpqqqppqpqqppqpqpppqpqqpqqppqpqqqqqqpqqppqppqppqpppppppqsvx{|}}|{yvtqppppqqqppqqqqpqppqppqppqqqqpqqqppqpqpqppqqqpppqppqqqpppqpppppqruwz|}~~}|zwurqppppppppppppqpppqpqqpqppqppppqppqpppqqpqpppppqpqpppqppqpppqpqppppppqrtvwy{|}}}}{zxvsqpppppqqpppppqqpqppqpqpppppqpqppqqpppppqpqpppqppppqqppppqpppppqpppppoppppopppopoopppppppppqpqqpqpqppppqpppqpqpqpppqppqqppqqppqpqqpppppppppppopppopopqpqppppppqpppppqpqpqpppppppppppppppqpqqppppppppopppoppoopopppppppqpqppppppppppppppppppppppppppqppqpppppppppppqppooppppppoppppqqqqppppppppqppqqpppqpppqpqqppppppqpppqqqqpppqqppqpqpppqppppqpppppppppppppqqppppppqrtvxz||}}|{ywusqppppppppppppqpppppqppqpppppppppppppqpppppqpppppppppooopoppoppopppppppppqpppppppppqppppppppppppppqqpppppqpppppppqpppppppqpopoppopoopoopoppppppqppqppqppqpppppppppppppppppqqqqqqqpqqqqpqqqqpqqqqppqqpqqpqqqqqqqqqqqqqqqqqppqqppqqqqqqqpqqqpqqqqqpqqqppqqppqqqqqqqpqqpqqqpqqqqqqpppqqqqppqqpqqqqqqqqqqqpqqqpppqqqqqqqqpqqqqqqqqpqpqqqpqqppppqppqpqpqpqpqpqpqqqqppqpqqpqqpqqqpqppqqqqqqpqpqpqqpppppppqqqrrrrqrrqqpppppqqqqqqpqpqqqqppqqqqpqppqqqqpqqppppqpppqqqqqppqqqqpqpqqpqpqqqqpppppqqqrrrrrrqqqqppppqqpqqqqqqqpqpqqqpqpqqqqqqqqppqppqqppqqqqqpqppqqpqqpqqpqqqqpqppqpqqppqppppppqqqrqrrqrrrrqqppppppppqqpqqpppqqqqqqqqqpppqpqqpqqqqqpqqpqpqqqqqqqqqqqpqqpppqpqqpqqqqpqpqqqqppqqqpqppqqqqqpppqqqqqqqqqpqqqqqqpqqqqqqqpqqqqqqqqqqpqpqqpqqpqqqqqqqppqqqqqqqpqqqqqqqqqqpqpqpppqqppqqqqppqqqpqpqpqqqqpqqqqqpqqqqpqqqqqqpqqqqqqpqqpqqppqqppppqqqqqqqqqqqqqppqqqqqqpqqppppqqqqppqqqqqqqqqppqqqqpqqpppqpqppqqqqpqppqpqqqppqpqpqpqpqqqqqppqqqpqqqpqqqppqqpqpqqqqqqpqqpqqqppqpppppppppqqqqrrrrrrrqqqppppppppqpqqqqqqpqqpqppqqqpqpqpqqqqpqppqqqppqqqqpqqqpppqqpppqpqqpqqqqqppqpqqpqqqqqqpqppqppppppqpqpqqpqqqqpqqqqpqpppqqqppqqqqqqqqqpqqpqpqqqpqpqppqpqqqpqpqqqqqqpqppqpqppqppqpppqqqqqqqqqqqqqqqqqqqqqqqpqqpqppqqqqqqqqqqqqqqqpqppqqppqqpqqqqqqqqqqqqpqqqqqqqqqqpqpqqpqqqqqpqqppqqqqqqqppqqqqqqqqqqqpqqqqqqpqqqqqqpqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqpqqpqqqqqqqqqpqqqqqqqpqpqqqqqpqqqqqppqpqqqqqqqqqqpqpqqqppqpppqpppqppqpppqpqqqqqqpqpqpqqqqqqqqpqqqqqqqqpqppqqqppqqqqqqqqqqqqpqqqqqpqqqqqpqqqpqpppqppppppqqpqpqqqqqqqqqqqppqqqqpqqqqqqqqqqppqqppqqppqqpqqqqpqqqqqpqqpqqqpqqppqpqqpqqqqqqqqpppppppppppqpqppqqppqpqqqqqpqpqqqpqqqpqpqppqpqqqqqqqpqqpqqqqqppqqqqqqqqqpqpqqqqpqqqqqqpqqqqqqqqqqqpqqpqqpqqqqqpqpqqqpqqqpqqppqqqqqpqqqqqppqqppqqqpqqqqqpqqqpqqqpqqpppqqqqqqqqpqqqqqpqpqppqqpqqqppqqpqpqqqqqqqqqqqqqqqqqpppqpqqqqqpqqqpqqqpqppqqqqqpqqqpqqqpqqqpqqqqqpqqqqqqqpqqpqqpqqqqpqqqqpqpqqqppppqppqqpqpqppqpqqqqqqqqqpqqqpqqqqqqqqppqqqqpppqqqppqqqqqqqqqppqqqqqqqqqqqqpqpqqppqqpqpqppqpqpppppppppqpqqppqpppqppqqqqqqpqqppqqqpqqqqqqqqqqqppqqpqqqqpqqqqpppqqpqqqqppqpqpqqqpqqpqpqqqqqqpqqpppqpqqpqpqqqpqpqqpqqpqpqqqqpqqqpqqqqqqqqqqqqqqqqqqpqqqqqqqqqqqqqqpqqqqqqqppqpqppqppqqqqqpqqqqqqqqqqqqqqqqqqqpqqqqqqqqqqqqqqqqqqqqqqqqpqqqpqqpqpqqqqqqpqqqqqpqqqqqqqqqqqqqqqqqqqqqpqqqqqqqqqqqqqqqqqqqpqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqpqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqpqqqqqqqqqqqqqqqqqqqqqqqqqpqqqpqqpqqqpqqqqqqqpqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqpqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqpqqqqqpqpqqqqqqqpqqqqqqqqqqqppqpqqqqqqqpqqqqqqqqqqqqqqqqqpqqpqqqqqqpqqqqqqqqqqqpqqqqqqqqqqpqqqqqqqqqpqqqpqqqqqqqqqqqpqqqqqqqqqqpqqqqqqqqpqqqqqqqqqqqqqqqqqqqqpqqqqqqqqqqqqqqpqqqqqqqqqqqpqqpqqqppqppqqqqqqqqqpqqqqqqqqqppqqqpqqqqqqqqqpqqqpqqqpqpqqqqqqqqqqqpqqqpqqqqqpqqqppqqqqqpqqqqqqqpqqqqqqqqpqqqpqpqqqqqqqpqqqpppqqqqqppqqqqqqqqqqqpqqqqqqqpqqqqqpqqqqqpqqqqpqqpqpqqqqqqqpqqqpqqqqpqqppqqqqqqqqqqpqqqqqqqqqqpqppqqqqppqqqqqqqqpqqqqqqqpqqqqqqqqqqqqpqpqqpqqqqqqqqpqqqqqqqqqqqqqqqqpqqqqqqpqqqqqqqpqqqqqqqpqqqqqqpqqqqpqqqqqqqqqqqqqpqpqqpqqqqqqqpppqqqqqpqpqqqpqqqqpqqpqqpqqppqqpqpqpqqpqppqpqpqqqqqqqqpqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqpqqqqqqqqqqqqqpqqpqqqqqqpqqqqqqqqqqqqqqqpqqqqqqqqqqqqqqqqqqqqqqpqqqqqpqqqpqqpqqqqqqqqqqqqqqpqqqqqqqqqpqqqqqqqqqqqqqqqqqqqqqqqqqqqqqpqqqqqqqqqqqqqqqqqqqqqqqqqqqpqqqqqqqqqqqqqqqqqqpqqqqqqpqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqpqqqpqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqpqqqqqqqqqqqpqqqqqqqqqqqqqqqpqqqqqqqqqqqqqqqqqqqqqqqqqqpqqqqpqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqppqqqqqqqqqqqqqqqqqqqqqqpqqqqqqqqqqqqpqqqqqqqqqqqqqqqqqpqqqqqqqqqqqqqqqqqqqqqqpqqqqqqqqpqqqqqqqqqqqqqqqqqpqqpqqqpqqqqqqqqqqqqqqqqqqpqqqqqqqqqqqqqqqqqpqpqqqqqqqqqqqpqqqqqqqqqqqqqqqqpqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqpqqqqqqqqqqqqqqqqqqqqqqqqqqqqpqpqqqqqqqqqqqqqqqqqqqqqqqqpqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqpqqqqpqqqqqqqqqqqqpqqqqqpqqqqqqqqqqpqqqqqpqqpqqqqqqqqqqqqqqqqqqqqqqqqqqppqqqpqqqqpqqqqqqqpqqqqqqqqqqqpqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqppqqqqqqqpqqqqqqqqpqqqqqqpqqqqqqqqqqqqqqqpqqqqqqqqqqqqqqqqpqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqpqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqpqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqpqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqpqqqqqqqqqpqqqqqqqqpqqqqqqqqqqqqqqqqqqqqqpqqqqqqqqqpqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqpqqqqqqqqqqqqqpqqqqqqqqqqqqqqqqpqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqpqpqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqpqqqqpqqqqqqqqqqqqpqqqqqqqqqqqqqpqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqpqqqqqqqqqpqqqqqqqpqqqqqpqqqqqqpqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqpqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqpqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqpqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqpqqqqqqqqqqqqqqqqqqqqqqpqqqqqqqqpqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqpqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqpqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqpqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqrqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqrqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqrqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqrqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqrqqqqqqqqqqqqqqqqqqqqqrqqqqqqqqqqqqqrqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqrqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqrqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqrqqqqqqqqqqrqqqqqqqqqqqqqqqqqrqqqrqqqqqqqqqqqqqqqqqqqqqqqqqrqqqqqqqqqqqqqqrqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqrqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqrqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqrqqqqqqqqqqqqqqqqqqqqqqqqqqqqqrqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqrqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqrqqqqqqqqqqqqqqqqrqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqrqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqrqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqrqqqqqqqqqqqqqrqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqrqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqrqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqrqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqrqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqrqqqqqqqqqqqrqqqqqqqrqqqqqqqqqqqqqqqrqqqqqqqqqqqqqrqqqrqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqrqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqrqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqrqqqqqqqqqqqqqqrqqqrqqqqqqqqqqqqqqqqqqqrqqqqqqqqqqqqqqqqqqqqqqqqqqqqqrqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqrqqqqqqqqqqqqqqqqrrqqqqqqrqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqrqqrqqqqqrqqqqrqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqrqqqqqqqqqqqqqqrqqqqqqrqrqqqqqrqqqqqqqqqqqqqqqqqqqrqqqqqqqqqqqqqqqrqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqrqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqrqqqrqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqrqqqqqqqqqqqqqqqqrqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqrqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqrqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqrqqqqqqqqqqqqqqqqqqqqqqqqqqqrqqqqqqqqqqqqqqqqqqrqqqqqqqqqqqqqqqqqqqqrqqqqqqqqqqqqqqqrqqqqqqqqqqrqqqqqqqqrqqqqqqqqqqqqqqqqqqqqqqqqqrqqqqqqqqqqqqqqqqqqqqqqqqqqqqqrqrqqqqqqqrqqqqqrqqqqqqqqqqqqqqqqqqrqrqqrqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqrqqqqqqrqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqrqqqqqrqqrqrqqqqqqqqqqqqqqqqrqqqqrrqrqqqqqqqqrqqqqqqqqqqqrqqqqqqqqqqqqqqqqqqqqqqqqqqqqrqrqqqqqqqqqqrqqqqqqqqrqqqqqrqqqqrqqqrqqqqqqqqqqqqrqqqqqqqrqqqqqqqqqqqqqrqqqqqqrqqqqqqqqqrqqqqrqqqqqqqqqqrqqqrqrqqrqrqqqrrqqqqqqrqqqqqqqqqqqqqqqqqqrqqqqqqqqqqqqqqqrqqrqrqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqrqqqqqqqrqqqqqqqrqqqqqqqqqqqqqqqqqqqqqqqrqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqrqqqqqqqqqqqqqqqrqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqrqrqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqrrqqqqqqqrqqqqqqrqqqqqqqqqqqqqqqqqqqrqqqqqqqqqqqqqqqqqqqqqqqqrqqqqqqqqqqqqqqqrqqqqqqqqqqqrqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqrqqqqqqqqqrqrqqqqqrrrqqqqqqrqqqqqqqrrqqrqqqrqqqqqqqqqqqqrqqrqrqqqrqqqqqqqqqqqqqqrqqqqqqqqrqqrqqqqqqqqqqqqqqqqqqqqqqqqqrqqqqqqqqqqqqqqqrqqqqqqqqrqqqqrqqqqrqqqrqqrqqqqqqqqqrqqqqqqrqqqqqqqqqrqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqrqqqrqqqrrqqqqqqqqqqqqqrqqqqqqqqqqrqqrqqqrqrqqqqqqrqrqqrqqqqqqrqqqqqrqqrqqqqqqqqrqqqqqqqqrqqqqqqqrqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqrqqqqqqrqqqqqqrqqqqqrqqqrqqqqqqqrqqqqqqqqqqqqrqqrqqqqqqqqqqqqqqqqqqqqqrqqqqqqrqrqqqqqqqqqqqqqqqqrqqqqqqqqqqqqqrqqqqqqqqqqqqqqrqqqrqqqqqqqqqqqqqqqqqqrqqqqqqqqqqrqqqqqqqqqqqqqrqqqrqrqqqqqqqqrqqqqqqqqqqqrqqqqqqqrqqqqqqqrqqqqrqqqqqqqqrqqqqqrrqqrqqrqqqqqqqqrqqqqqqqqqqqqqqqqqrqqqqrqqqqqrqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqrqrqqqqqqqqqqqrqqqqqqqqqqqqqrqqqqqqqqqqqqqqqqqqrqqqqqrqqqqqqqqqqqqqqqqqqqqqqrqqqrqrqqqqqqqqqqqqqqqqqqqqqqqqqqqqqrqqqqqqqqqqqqqqqqqqqqqrqqqqqqqqqqqrqqqqrqqqqqqqqqqqrrqqqrqqqrqqrqqqqqqqqqqqqqqqqqqqqrqqrqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqrqqqqqqrqqrqqqqqqrqrqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqrrrrrqrqqrqrqqqqqrrrqrqrqqqqqrqrqqqqqqrqqqqqrrqqqqrqrqqqqqqqqqrrrqqrqqrqrqrrrqrqqqqqqrqqqqqqqrqqqqqqqrrqrqqqqrqqqrqqrqqrqqrqrqrqqrqrqqqrrqrrqrqrqqrqrqqqqrrrqrqqqrqqqqqqqqqqrqqqqqqqrqqqqqqqqqqqqrrrrqqqqrqqqrqrqqqrrqrqqrqrrrrqqrqqqqrqqqqqrqrqqrqqqrrrqrqqqqrqqqqrqqrqrqrqqqrrrrqrqqqrqqqrqqqqqqqrqrrqqqqrqrqqrqqqqqrrqqqqrqrqqrqrqqqqqqqqqqqqqqrqqqqqqrqrqqrrqqrrqqqrrqqqqqrqrqqqqqqqqqqrrqqrqrqrrqrqqqqqqqqqqqqqrqqrqrrqqqqqrqqrqqqqrqrqqrqqrqqqrqqqrrrqrqqqqqqqqqqqqqqqqqqqrqqqqqqqrqqrrqqqqqqqrqrrqrrqqqrrrrrrqrqrqqqrrqqqqrqqqqrqqqqqqrrrrqrqqqrqrqrqqqqqqqqqqqqqqqrqqrrrqqqqqqqqqqqqqqqqqqrrqqqqqqqrqqqqqqqrqqqqqqqqqrqqqqrqqrrrrrrqqrrqqqrqrqqqrqqrrqqqqqqrqrrqrrqqrqqqqrqqrqqqqqqqqrqrqqqqqqqqqqrqrqqqqqrqqqqrqqqqqqqqqqqqrqqqqrqqrrrrqqqqqqqrrqqqrqqqqqqrqqqqqqqqqrqrqrqrqqrrqrqrqqqqqqqqqqqqqqqqqrrqqqqrrqrqrqqqqqqqqqqqqqqqqqqqrrqqqrqqqqrqqrqqqqqqqrrqqqqrqrqqqqqqrqrqqrqqrqqqqqqqqqqqqqqrqqqqqqqrqrrqqqqqqqqqqqqqqqrqqrrqqrqqqrrqqqqrqqqqrqqqqqqrqqrqqqqqqqqqqqqqqqqrqqqqqqqqqqqqqqrrqqrrqrqqqrrqqqqrrqrrqqqrrqrqrqqrqrqqrqqqrrrrqrrqrqqqqqqqqqrrqqqqrrrrrrrqqqqrrrqqqqrrqqqrqrqqqqrqqrrqrqrqqqqqrrqrqqqqqrqrrrqrqrqrqqrrrrrrrrqrqqrrrrqqrqrqrrqqqqqqqrrrrqqqrrrrqqqrqqqqrqrqrqrrqqrqqqqrqqrrqqqqqrqrqqqqqrqrqrqqqqrqrqqqqrqrqrqqrrrrqrqqqqqrrqqqrqrrrrrrqrqrrqrrrqrrqrrqqqrrqqqrqrqrrqrqqqqqrqrrqqqqrqrrrrrrqqqqrqrqqqqrrqqrqqrqqrrqqrrqqrqqrrqrqqqqqqrrqqqqqqqqqqqqqqqrqqqrqrqrqqrrrqrrqqrqrqrrqqqqqqqqrqqqqqqqqqqqqqqqqrqrqrqqrqrqqqqqqqrrqqqqqqrrqqqrqqrqqqqqqrrqqqqqqqqrqqqqrqqqqqqqqrqqrqqrqqrqqqqqqqqqrqqrrrqrqqrqrqqqrqrqqqqqqqrrrqqqqqqrqqqrrqqqqrqqqqqrqrrrrqqqqqrqqqqqqqqrrqqqqqqrrrrqqqqqqqrqqqqqrqqqrqrqrrrqqrqrqrqrrqqqqrqqrrqqqqqqqqrqrqrqqrqqrqqqrrqqqqqrqqrqqrqqqrqqqqqqrqrqrqrrrrqqrrqqqqqqqqqqqqqqqrqqqrqqqrrrqqqqrqqrrqqqqqqqrqqrqqqqqrqqqqqrqrrqqrrqqqqrqqqrqrrqqrqrrrqqqqqrrqrrqqrrrqqqrrqqqqqrrqqqqrqqqrqqqqrqrrrqrrqqqrqrqqqqqqqqqqqqrqrrrqrrqqqqrrqqqqrqqrqqqqqqqrqrrqqrqqrqqrrqrqqrrrqqqqrqqrqqqqqqqrrqqqqrrqqrqrrqqrqqqqrqrrqqqrrqqrqrrqrrrqqrqqrqrqqqqrrqrrrrrrrqqrqrrrrrrqrqrqrrrrrqrrqrqqqqrrrqrrqrrrrrrrqrrqqrrqrqrrrqrrrrrqrrrrrrrrrrrrrrrrqrrqrqrrrrqrrrrrrrrrqrrrrrrrrqrrrrrrrrqrrrrrrqrqqrrrrrrrrrrrrrrqrrrrrqqrqrqrrrrrrrrrrrrrrrqrqrrqqrqrqrrrrrqrqrqrrqrqqrrrqrrqrrrrqrrrrrrrrqrrrrqrrrrrqrrrqrrqrrrrrrrrrrrrrrqrrrqrrrrqrrrqrrrrrrrrrrqqrrqqqrqrrrrqqrqrrrqrrrrqqrrrrrrrqqqrrrqrrqrqqrrqrqrrrqqrrqrrrrrrrrrqrrrrrrrqrrqrrrqrrrrqrrrrqrqrrrqrqqrqqrrrrrrrqrrqqrrrrrrrrrrrrrqqrqrrrrrrrqrqrrrrrqrrrqrrrrqrrrrrrrqqrrqqrrqrrrrrqrqqqrqrqrrrqrqrrqrrrrqqqrqrqrrrrrrqqqqrrrrqrqqrrrrqqrrqrrqrqrrrrrqqrrrrrqqrqrqqrqrqrqrrqqrrrrqrrrqrrqrrrrrrqrqrrrrrqrqqrrrrrrrqrqrqrrrrqrqrrqrrrqqrqqrrqrrrrrqrrqqqqqrrrrqrqqrqrrrqqrqqqrqrrrrrqqrrrqrrrrrrqrqrrqrqrqrrrrqqqrqrqrqqrqqrqrrrrrqrqrqrqqrrqqrrrrrrrrrrrrqqrrrrqrqrrrqrrqqrrrqqrrqrqrqrrqrqrrqqrqrqqrrrrqqqrqrrrrrqrrqrqqqqrrqqqqrrrqrrrrrqrqrrrqqqqqqqrqqqqrrrrrrrrqrqrqrrqrrrrqrrqqqrqqqrqrqrrrrqrrqqrqqqqqrrqrrqqqrqqrqrrqrqrrrrqqrrqrrqqrqqqrqrrqrqrqrrqrrrqrqqqqqqrqqrqqqqrqrqqrrrrqqrqqqqrqqrrqrrrrrrrrrrqrqqrrrqrrrqrrrrrrrqrqrrrrrqrrrqrrqrrrrqqrrrqrrrrqrrqrrrrrrrrrrrrrrqrqrrrrrrrqrrrrrrrrrrrrrrrqrqrrrrrrqrrrrrrrrrrqqqrrrrrrrqrrrrrrqrrqrrrrrqrqrrrrrrrrrrrrqrqqrqrrrrrrrqrrrrrrrrrqrrrqrrrrrrrrrqqrrqrrrrrrrrqrrrrqrrrrrrrrrrrrrrqrrrrrrrrrrrrrrqrrrqrrrqrrrrrrrqqrrqrqrrrrrrrrrrrrrrrrqrqrrqrrrrrrrqrqrqrqqqrrrrrrrrrrrrrqrrrrqrrrrqrqrrrrrrqrrrrrrrrrqrrrqrrqqrrrrrrrqrrrrqrqrrrrrrrrrrrrrrqqrrrrrrqrrrrrqrrrrrqrrqrrrrrrrrrrrrrrrrrrrrrrqqrrqqqrrrqrrrrrrrrrrqrrqrqqqrqqrrqrrrqrrrrqrrrrqrrqrrqrrrrrrqrrrrrrrqrqrrrrrqrrrrrrqrqrrrrqrqrrqqrrqrrrrrrqrrrrrrrrrqrrrqqqrrrrrrqrrrrrrrrrrrrrrqrrrrrqrrrrrrrrrqrrqrrrrrrqrrrrrrrqrrrrrrrqrqqrrrrrrrrrrrrrqrqqrrrrrrrrrqrqrrrqqrrrrrqrrrrqrqrrrrrrqrqrrrrrrqrrrrrrrrrqrrrrrrqqrrqrrrrrqrrrrrqqrrrrrrrrrrrrqrrrqrrrrqrrqrrrqrrrrrrrqqqrrrrrrrrqqrrrqrrqqrrrqrrrrrrrrqqrrrrrrrrrrrqrqrrrqqqrqrrrqrrrrrrqrqrrrqrqrrrqrrrrrrrrqrrrqrrrrrrrrqrqrrrrrrrrrrrrrrrqrrrrqrrrrrqrrrrqrrrqrrrqrrqrqqrrrqrrrrrrrrrrrqqrrrrrqqqrrrrrrrrrrrrrrqrqqqrrqrrrrrrrrrrrrrrrrqrrrrrrrrrrrrrrrrrrrrrrrqrqrrrrrrrrrrrrrrrrrrrrrrqrrqrrrrrrrrrrrrrrrrrrrrrqrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrqqrrrqrrrrqrrrrrrrrrrrrrrrqrrrrrrrrrrrrrrrrrrrrrrqrrrrrrrrrrrrrrrrrrrrrrrrrrrrrqrrrrrrrrrrrrqrrrrrrrrrrrqrrrrrrrrrrrrrrrrrrrrrrrrqrrrrrrrrrrrrrrrqrrrrrrrrrrrrrqqrrrrrrrrrrrrrrrrrrrrrrqrrrrrrrrrrrrrrrrrrrqrrrrrrrrrqrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrqrrrrrrrrrrrrrrrrrrrrrrrrrrqrrrrqrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrqqrrrrrrrrrrrrrrrrrrrqrrrrrrrrrrrrrrrrrrqrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrqrrrrqrrrrrrrrrrrqrrrrrrqrrrrrrqrrrrrrrrrrrrrrrrrrrrrrrqrrrrrrrrrrrrrqrrrrrqrrrrrrqrrrqrrrrrrrrrrrrrrrrrrqrrrrrrqrrrrrrrrrrrrqrrrrqrrrrrrrrrrqrrrrrrrrqrqrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrqrrrrrrrrrqrrrrrrrrrrrrrqrrrrrrqrqrrrrrrrrrrrrrrrrrrrrqrrrrrrrrrrrrrrrrrrrrrrrrrrrqqrrqrrrrrrrrrrrqrrrrrrrrrrrrrrrrrqrqrrrrrrrrrrrrrrrrrrrqrrqrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrqrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrqrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrqrrrrrrrrrrrrrqrrrrrrrrrrrrrrrrrrrrrrrrrrrrrqrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrqrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrqrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrqrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrqrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrqrrrrrrrrrrrrrrrrrrrrqrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrqrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrqrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrqrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrqrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrqrrrrrrrrrrrrrrrrrrrrrrqrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrsrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrsrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrsrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrsrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrsrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrsrrrrrrrrrsrrrrrrrsrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrssrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrsrrrrrrrrrrsrrrrrrsrrrrrrrrrrrrrrrrrrrrrrrrrrrrsrrrrrrrrrrrrrrrrrrsrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrsrrrrrrrrrrrrrsrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrsrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrsrrrrrrrsrrrrrrrrrrrrrsrrrrrrrrrrrrrrrrrrrrrsrrrrrrrrrsrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrsrrrrrrrrrrrrrrrrrrrrrrrrrrrsrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrsrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrsrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrsrrrrsrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrsrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrsrrrrrrrsrsrrrrrrrsrrrrrrrrrrsrrsrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrsrrrrrrrrsrrrrrrrrrrrrrrrrrrrsrrrrsrrrrrrrsrrrrrsrrsrrrrrrrrrsrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrsrrsrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrsrrrrrrrrrrrrrrrrrrrrrsrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrsrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrsrrrrrrrrrrrrrrrrrrrrrsrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrsrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrsrrrrrrrrrrrrrrsrrrsrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrsrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrsrrrrrrrrrrrrrrsrsrrrrrrrrrrrsrrrrsrrrrssrrrrrrrrrrrrrrrrssrrsrrsrsrrrrrsrrrrrrrrrrrrrrrrrsrrrrrrsrrrrrrrrrrrrrrrrrrrrrrrrsrrrrsrrrrrsrrrrsrrrrrsrrrrrrsrrrrrsrrrrrrrrrsrrrrrrsrrrrrrsrrrrrrsrrrrrrrrrsrrrrrrrrrrrrrrrrrrrsrrrrrrsrrrrrrrrrrsrrsrrsrrrsrrrrrsrrrrrrrrrrrrrrrsrrrsrrrrrrsrrrrsrrrrrsrrssrrrrrrrrrrrrrrrrsrrssrrrrrrrrrrrssrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrsrrrrrrrrrrrrrrrrrrrrrrssrrrrrrrrrrrrrrrrrrssrrrsrrrrrrsrrrrrrrrrrrsrrrrrrrrrrrrrrrrrsrrrrrrrrrrrrrrrrrrrrrsrrrrrrrsrrrrrrrrrrrrrrrrrrsrrrrrrsrrrrrsrrrrrrrrrrrrrrrrrrrsrrrrrrrrrrrrrrrrrrrrrrrrsrrrrrrrrrrrrrsrrrrrrrrrrrrrrrrrrssrrrrrrrssrrrrrrrrrrrrrrrrrrrrrrrrsrrrrrrrrrrrsrrsrrrrrsrrrrrrrrrsrrrsrrrrrrsrrrssrrrrrrsrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrsrrrrssrrsrrsrrrrrrrrrrrrrrrrrrsrrrrrrsrrrrrrrrrrrsrrrrrrrrrrrrrrrrrrsrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrsrrrrrrrrrsrrrrrrrrrrrrrrrrrrrrrrrrrsrrrrrrrrrrsrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrsrrrrrrsrssrrrrrsrsrrsrrrrrrsrsrsrrrssrrrsrrrrsrrrrrrrrrssrrrsrrssrrrrrssrsssrsrrsrrrssrrrrsrsrsrrrrrrsrrsrrrssrrrsrrrrrrrrrrrrsrrrsrsrrsrsrsrssrrrrrrrsrrrrrsssrrrrrsrrrrsrrrrrrrrrrrrrrrrrrrrrrrsrrrsrrrrrsrrrrrrrrssssrrsrrrrrrrrrrsrrrssrrrrrrrrsrrsrrsrrsrrrrrrrrrrrrsrrssrssrrsrrrsrrrrrrrrrssrrsrrrrssrrsrsrssssrsrrrrrrrrrssrrrrssrrrsrrsrsrrrsrrrsrrrrrsrrrsrrsrssrrrrrrrrsrrrrrsrssrsssrrrrrsrrsrsrrrsrrssrrsrssrsrsrrrsrsrrrrrrsrrsrsrssrrsrrrsrrrsrrrrrrssrrsrrrsrrrrrrrsrrsrrsrrrrrrrssrrsrrsrrrrrrsrrrrrrrsrrrsrrrrrrrrsrrrsrrsrrrrssrrrssrrrsrrrrrssrrsrsrrssrrsrrrssrrrrrssrrrrrrrrrrrrrsrrrrrrrrrsrrsrrsrssrrrrrrrrrrsrrrsrrssrrsrrrrsrsrrrrsrrrrsrrrrrrrrrrrrrrrrrrrrsrrrrssrrrrrrrrrrrrrrrrrrssrrrssrrrrrrssrsrrrrsrrrrrrrsrrrrrrrrrrrrrrrrsssrrrrrrsrrsrsrrsrsrrsrrrsrrssrrrsrrrrsrsrrrrrrrrrrsrrrsrrrrrrrrsrrrrsrrrrrrsrrrrrrssssrrsrrrsrrrrsrrrrrsrrrsrrrrrrrrrrrsrrrsrrrrsrrrsrrsrrrrrrrsrrrrsrrrssrrsrrsrrrssrrrrrrrsrrrrrrrssrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrsrrrrrrrrrsrsrsrssrsrssssssrssssssrsrssrsrsrsrsrssrrsssssrsrrsrrssssssrsssssssrrrrrsrsssrssrsssrrssssssrssssrsrrrrsrrsssrssrrssrrssrsrrrssssssssrssssrsrssssrrrrrsrrssrrrsssrrsrrrrsrrsrrrrrrrrrrrrsrsrsrrssssrsrrsrrrsrsrrrsrsrssrssrssssrrrsrssrsssrsrsrrrsrrrssrrrrsrrsrsrrrrrrrrsrrsssssssrrssrssrrrrrrrrrsssrrsssssrrsssssrsssrsrssrsrsrrsrsrrrrrsrsrrrsrsrrrrrrrsrssrrsrrsrsrrsrsrsssrrrsrssssssrssrrrrsrssrssrsrssrrrrrssrrsssrrrsrsrrrrrrssssrsrrrrrrsrrrrrsrsrrsrrsssrsssrssrsrrrrrsrssrrssrrrsrsrrrrsrrrsrrssssrrsrsrssrrrsrsrsrssrrrsssssrrrrssrsrrsrrsssssrrrrrsrsrrrsrsrrsrsrsrssssrsrrsssssrrrrrrrrrrrrsrrrrrssrrrrrrssrssrrrrrrrrrssrrssrrsrsrsrsrsrrsrssssrsssrrsrsssrrsrrsrrrrsrrrssrrssrrrrsrsssssrsrrrrrsrssrrrrrrsrsrsssrrsrrrsssrrrrssrrrsrrrsrssrrrrrssrrssrrssrrrrsrrsssrsrrsrsssrsrrsrrrrsrsrrrsrrsrrrssrrrrrrrssrrsrsrrrsrrrrrrrrrrrsrrsrrrsrrrrrrrrrrssrrrrrrrsrrsrrrrssrrrrrrsrrrsrrrssrsrrsrrrrsrrsrrrrsrssrsrrrrssrsrsrrsrrsrrrsrrrrrrsrrrrrsrssrrrsrrrrrrrrrrrrrrrrrrrrrrrrrrrsssssssssssrrsssrssrsssssssssssssrrsssssssssssrssssssssssrsrsssssrssrsssssssrsssssssssrsssssssssssssssrrsssssssssrssrsssssrssssrssrsrssrssrssssssssssssrssssssssssssrssssssssrsrrssssssssssssssssssssrrssssssssrsssrssssssssssssrsrsssrsssssssssssssssrsssrsssssrssssssssssssssssssssssrssssssssssssssssssssssssssrsssssssssrsrssssrssssssssrssrssssssrsssrsssssrrsssssssrsssssrsssrssssrssssssrsssssssssrsssssssssrrrssssssrssrsssrsssssssssrrssssrsssssssssssrssssssssssssrsrssssssssssrrssssssssssrrssrssssssrrssssrrsssrsssssssrssssssssrssssssssrssssssssrssssrssssrrrssrsrssssssssssrssrssrssssssrsssssrsssssrsssssssssrsrsrssssssssssssssrrrsssssrsrsssrrrrrrsssssssssssrrrrssssrsrsssrrsssrsssrssssssssssssrsrrsssssrssssssssssssrsssssssrrsrssssssrsrsssssssrssrrssssssssrsrssrrssssssrsrrssssssssssssrsrsssrsrssssssssrsssssssssrssssssssrssssrrssrsssrrsrssrssssssrsssssssrrssrsssrsrsssssssssssssrsssssrrssrssrsssssrssssrsssssssssrsrrssrssrrrsrsssssrrsssrssrssssrrsssrsssssssssssssssssssssssssrsrssrssssssssssssssssrssssrsssssssssssssrssssssssssssrssrssssssssssssssrsssssssssssrssssssssssssssssssssssssssssssssssssssssssssssssssssrsssssssssssssssssssssrsssssrssssssssrsssssssssssssssssssrssssssssssssssssrssssrsssssssssssssssssssssssssssssssssssssssssssssrssrssssssssssssssssrrsssssrssrsssrsssssrssssssssssssssssssrsssssssrssssssssssrsssssssssssssssrssrssrssssssssrsssssrsrssssssrssrssssssssrsssrssrssssssrssssrssssrsssssssssssssssssssssssrsssssrrssrsssrsssssssssssrsrsssrsssssssssrsssssssssrsssrsssssssssssssssssrssrssssssssrsssssrsrssssssrsssrsssssssrsssssssssssssssrsssssssrsrsssssssrsssssssrssssssssssssrsssrsrsrssrsssssssrrssssssrsssssssssssrssssssrssssssssssrrrssrsssssrssrrssssssssssssrsrssrrrrsssssssssssssssssssrssrsssssssrsrrrssrssssssrsssrssssssssrrssssssssrssssssrssssrsssssssrssssssssrsssssrrrsrssssrssssssrsssrsssssssssssssssrssssrsssrssssrsrssrssssssrssrsssssssrssrsssssssssssssssrrsrssrssssrsssrsssssssssssrssssrssssssssssssssssssssssssssssrsssssssssssrsrsssssssssrsssssrssssssssssssssssssssssrsssssssssssssssssssssssssssssrssssssssssssssrssrssssssssssrsssssssrsssrssrssssssssssssssssssssrssssssssrssssssssssssssssssssrssssssssrsssssssssssssrsssssssssssssrssssrsssrssrsssssssssssssssssssssssssrsssssssrsssssssssssssssssssrssssssrssssssssssssssssssssrssssssssssssssssssssssssssssssrssrsrssrsssssssssrssssssssssssssssssrsssssssssssssssssssssssssrrsssssssssssrssrssssssssssssssrsssssssssssssssssssssssrssssssssssssssssssssssssssssssssssssrssssssssssssrssssrssssssssrssssssrssssssssrsssssssrrsssssssssssssssrsssssssssssssrssssrsssssrsssssssrssssssssssssssssssrssrsssssssssssssssrssssssssssssssssssssssssssssrssssrsssssssssssssssssssssssssssssssssrsssssrsssssssrssssssrsssssssssrssssssssssssssssssssssssrsrsssssssssssssssssrsssssrssssrssssssssrssrssrrssssssssssssssssrsssrsssssssssssssssssssssssssrssssrssssrssssssssrssssssrsssssssssssssssrsssssssssssssssssssssrssssssssssssssssssssssssssrsrsssssssrsssssssssssssssssssssssssssssssssssssssssssrssssssssssssssrsssssssssssssssssssssssssssssssssssssssssssssrsssssrsssssssssssssssssrsssrssssrssssrsssssssssssssssssssssssssssrsssssssrsssssssssssssrrrsrssssrsssssssssssssssssssrssssrssrssssssssssssssssssssssssssssssssssssrssssssssssrssssssssssssssssssssssssrssssssrssssssssssssssssssssssssssssssssssssssssssssssssssssssrsssrssssssssssssrsrsssssssssrsssssssssssssssssssssssrssssssssssssssssrssssssssssssssssrsssssssssssssssssssssssrssssssssssrsssssssssssssssssssssssssssrsssssssssssssssssssrssssssrssssssrsssssrsssssssssssssssssssssssssssrssssssssssssssssssssrsssssrsssssssrsrssssrssrssrsssssssrssssssssssssrsssssrsssssssssssrssssssssssssssssssssssssssssssssssssssssssssrsssssssssssssssssrsssssssrssssssrsssssrsssssssssssssssssssssssssrsssssssssrssrsssssssssssssrrssrsssssrsssssssssssssssssssssssssssssssrssssssssssssssssssssssssrssssssssrsrsssssssrssrssssssssssrssrsssssssssrsssrsssssrssssssssssssssssrsssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssrrssssssssssssssssssssssssssssssssssssrsssssssrsssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssrsssssssssrsssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssrssssrssssssssssssssssssssssssssssssssssssrsssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssrssssssssssssrrssssssssssssssssssssssssssssssssrssssssssssssssssrsssssrssssssrsssrssssssssssssrrssssssssssssssssssssssssssssssssssrsssssssssssssssrssssssssssrssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssrsssssrsssssssssssssssssssssssssssssssssssssssssssssssssssssssrsssssssssssssrssrssssssssssssrsssssssssssssssssssssssrssssssssssssssssssssssssssssssrsssrsssssssssssssssssssssssssssssssssssssssssssssssssssssrssssssssssssssssssssssrssssrsssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssrssssssssssssssssssssssssssssssssssssssssssssssssssssssrsssrsrssssssssssrssssssssssssssssrrsssssssssssssssssssssssrssssssrssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssrssssssssssssrssssssrsssssssssssssssssssssssssrssssssssssssssssssssssrsssssssrsrssssssssssssssrssssrsssssssssssssrsssssssssssssssssssssssssssssssrrsssssssrssrsrssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssrsssssssrssssssssssrssssssssssssssssssssssrssssssssssssssssssssssrsssssssrrssrrrssssssssssssssssssssssrsssssrssssssssssssssssrsssssrssssssssrssrssssssssrssssssrsssssssssssrssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssrssssssssrsrssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssrsssssssssssssssssssssssssssssssssssssrssrssssssssrsssssrrssssrsrsrssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssrsssrssssssssssssssrsssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssrsssssssssssssssssssssssrssrssssssssssssssssssssssssssssssssssssssssssssssssssssssssrssssssssssrssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssrsssssrsssssssssssssrssssssssssssssrssssssssssssssssrsssssssssssssssssrssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssrsssssssssrsssssrsssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssrssssssssssssssssssrssssssssssssssssssssssssssssssssssssssssrssssssssrssssssssssssssssrsssssssssssssssssssssssssssssssssssssssssssssssrssssssssrssssssrsssssssssssssssssssrssrssssssssssssssrssssssssssssssssssrssssssssssssssssssssssssrssssssssssssssssssssssssssssssssssssssrssssssssssssssssssssssssrssssssssrssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssrssssssssssssssssrssssssssrsssrsssssssssssssrsssssssssssssssssssrssssssssssssssssssrsssssssssssssrsrssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssrssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssrsssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssrsssssssssssssssssssssssssssssssssssssssrsssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssrssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssrssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssrssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssstssssssssssssssssssssssssssssssssssssssssssssssssssssstssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssstsssstsssssssssssssssssssssssssssssssssssssssssssssssststsssssssssssssssssssssssssssssssstssssssssssssstsssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssstsssssssssssssssssssssssssssssssssssssstsssssssssssssssssssssssssssssstssssssssssssssssssstsssssssssssssstssssssssssssssssssssssssssssssssssssssssssssssssssssssstssssssssstssssssssstsssssssssssssssssssssssssssssssssssssssstsssssstssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssstssssssssssssssssssssssssssssssssssssssssstsssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssstssssssssssssssssssssssssssssssstssssssssssssstssstssssssssssssstsssttssssssssssssssssstssssssssssssssssssssssssssssssssssstssssssssssssssssssssssttsssssssssssssssssstsssstssssssssssssstssssssssssssstssssssssssssssstsssssssssssssssssssstssssssssssssstssssstsssssssssssssssssssssssssstssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssstsssssssssstsssssssssssssssssssssssssssssssssssssssssssssssssssssstssssssssssssssssstssssssstsssssssssssssssssssssssssssssssssssssstssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssstsssssssssssssssssstssssssssttssssssssssssssssssssssssssssssssssssssssssstsssssssttssssssssssstsssssssssssssssssssssssssssstsssssttsssssssssstssssssssssssssssssssssssssssssttssstsssssssssssssssssssssssssssstsssssssssstssstssssssssssssssssssssssssstssstssssssssssssssssssssssstssssssstsssssssssssssssssssssstssstsstssssssssssssstsssssstssssssssssssssssssssssssssssstssssssssssssssssssssstssssssssssssstssstsssssssssssssssssssssstsssstssstsssssssssssssttssstssssssssssstssssssssssssssssstssssssssstssstsstsssststsstssssssssssssssssssstssssssssssssssssssstsssssssstsststsssssssstssssssstststssssssssstsssssstssssssssstssssssstssssssssssssststssstsssssssssssssssssssssssssssssssssssstsssssssssssssssstssssssssstsssstssstttstsssssstssssssssssstssstsstsssssssssssstsssstssstsstssssssssssssssssssssssssssssststsssssssssstsstsssssssssssstsssssssssssstssssstsssssssstsssssssssstssssssssssssssssssssststsssssssssstsssssssssssssssssssssssssssssssssssssssssssssstssssssssststssssssstsssssssssssstssssssssssssssssssssssssssstsssssssssssssssssssssssssssssstssssssssssssssssstsssssttsssssstsssssssssssssssssssssssssssssssssssssttssssstsssssssssstsstssssstsstsstssssstssssssssssssssssssssssssstssssstssssssssssssssssssssssstssstsssssssssstsssssssssssssstssstsssssssssssssssssssssssssttsssstssssstssstsssssstsstssssstssssssssssssssssstsssssssssssssssssssssssssssssstsstssssssssssssssssttststssttssssstsssstssssssttsstsssststsstttsstssssssstssssssstsstssssssstssstsstsssssssssssssstsssttstsststsstsssssssttsstsssstttstsstsssssssssssssstsssststssssssssssssssstsssssstssssststtsssstsstssssssssstsstsssstsssssssssssststtssstsssssstssssssstssssssssssssssstsssssttssssssssstssssststssssssttsssssssststssssssstsssssssssssstssstssssssssstsssstsstssssssssstssssssstsssssssssssssststsstststssssssstsstsstsssssssssststtssssssssssstssssstsssssssstssssssststtssssssssssssssssssssstttssssssstsststsstsssssststssssssssssssssstssssstsstssssssstssssstssststssssssssssssssssstssssssssssssssstsssssttssssssssstssstssstsssstssssttssstsstssstssstsstssssssssssssssttssssssssssssstsssststsssssstssssssssssstssssstssstssssssssssssttsssstssstssssssttssstsssssssssstssssssssstssssssssssstssssssssssstsstssststttssssssstssstsstsssssssssssssssstssssssssssssstssssssssssstsstsssssssststssststtssstsssstssstsststsssssssssssssssssssstssssstsssssssssssssssstssssstsssstsssstsssttsttttttsstssstssssssssttstttttstsststtsttsssttstsstttssssssttstttssstsstsssststttsststtsttssststttsstsststtstsssststttsssststttsstsststttsstssstttsssstststsssssstttsstssstssstsssssssststtsstsstttssssttssstttsstsssssstsstssstststtstttsssststtststsstsstttsstssststtsstsssttttststststsstttsststsststsssstsstssstttssssstssssstsssstssstssstssssssststsssttstsssstsssssstsssstssssstttttststtstsststssssssststtstssttstssstssssttttssssstsssssstsssststsstssstsssstsssstssstsstttsststssststsststtsstssttssststssssstststssststsssssttsststststtsttsststssstssstssssttssststssststtsssstttssttsssttsststsssstsssssstttsststssssttstssssttsstttsssstssstttsssstsssstsssssssttstssssstttssstssttssstssttsssttstttsststsssssststssstsssssststssttssssttssssssssssttsttssssssstssststssstsstssssssssssssssssssssssststsssststtssstssssttssssstssssssssttstsssttsssssstssstssssttsssstttsttsststssssstststssstssssssssstsststststtssssssstssssssssstttssssstsssststsssssssssssstsssstsstssssststtssttstttsstttttttttstsstttstttttsttstststssstsstttttttttssttttttttstttttttttsstststtsstttttttttssssssssststtssstttstttttssttttttssttstttttttttttsttsttttttttsttttsttttststtstsstsstttstttttsstssststtsttttssstttstttttstttsttststststtsttsttttttttstttsstsssttststsststtsttssttsttttstsstttttttsststtsttttstttsttsstttttstssttttstttttsststtsttstsstttttstsstttstttssttttttsttsttttsttttsttttssttttsttstttsstttttttttssttstttstssssstttstststsssststtttttsssttsssttssssttsttttstssttttststssstttssttstssttssstttttssssssttsstssttsttssssttsstssstttstssststtttstttsttttttttsttttssststttsttttsstttttstttttstsstttssttttsstssttttssttststssstttttsttsttssstttttsstttsttttttttssststttstttstssstssttstttssttttstttttssstststtssststtssttssssttttttttsssstttssssttsssttsttsttsststssssstttsttststtstttssssssstttssttsstssstsststttsstssttttttssstsssssststtttstsststttttttsttsssssttttttststttststssssttttttststsststtssstsstttststttstsstttstttttssttstttsstttssstttstssssssststttssssttttssstttttttttsttttttttttttttsttttttttttttstttttttttttttsttttttttttttttttttttttttttttttsttttttsssttttttttttttttttttttttttttttttttttstttttttstttttttsttttttsttttttttttttttttttttttttttttttttttttttttttssttttttttttttttttttttttttttttttttttststttttttsttttttttttttttttttttttsttttttttttttttttttttttstttttstttttttsttttttttsttttstttttttsttttsttttttttstttttstttttttttttstttttttttttttttsttttttttttttsttttstttttttttttttstttttttttssttttttttstttttttttsttttttttttsttttttsttsstttttsttttttttsttstttttttttsttttttttsstssttsststtttttttstttstttttsttttttttstttsttttttttttttttttsttsttttttttttttttsttstttttttttttttttttttttttttttststtttssttsttttttttttttstttttttssttttsttttttsttttttttttttttstststttsttssstttttttttttsttttsststtttsttttsstttttttttssttttstststttttsttsttttsttttttsttttstttsttstssttttttttssttttttttsttssttttttttttttsttttttttttsttstttttttttttsttstttttttsttssttttttststttssttttttsttttttttstststtstttstsstttstttttstttststtststsssttstttsstttttsttstttttttttsttttstttstttttsttttttsttssstttttttttttttttttttsttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttstttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttstttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttsstttttttttttttttttttstttttstttttttsttttttttttttttttttttttttttttttsttttttttstttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttstttttttttttttttttttttttttttttttttttttttttttttsttttsttttsttttttttttttttttttttttttttttttttttttttttttttsttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttstttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttstttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttstttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttsttttttttttttttttttttttttttttttttttttttttttttttstttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttsttttttttttttttttttttttstttttttttsttttttttttttttttttttttttttttttttttttttttttttttttttttsttttttttttttttttttttttttttstttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttstttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttsttttttttttttsttttttttttttttttttttttttttttttttttttttttttttstttttttttttttttttsttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttsttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttstttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttstttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttsttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttsttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttstttttttttttttttttttttttttstttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttstttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttstttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttstttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttsttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttsttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttstttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttsttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttsttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttstttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttutttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttutttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttuttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttutttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttuttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttuuttttttttttttttttttttttttttttttttttttttuttuttttttttttttttuttttttttttttttttttttttttttttttttttttttttttttuttttttttttttttttttttttttttttuttttttttttttttttttttttttttttttttuttttttttttttttttttttttttttutttttttutttttttttttttttttttuttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttuttttttttttttttttttttttttttutttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttutttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttutttttttttttttttttttttttttttttttttttttttttttutttttttttttttttttttttttttttttttutttttttttttttttttttttttttttttttttttttttttttttttttttttttttuttttttttttttttttttttttttttttttttttttttttttttuttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttuttttttuttttttttttttttttuuttttuttttttttttttttttttttttutututttttttttttttttutttttttttttttttttttttttttttttttutttttttttttttttttuttttutttttttttutttttttttttttttttttututtttttttttttuttttutttttttttttttutttttttuttttttttttutttttttttttttttttttttuttttttttutttttttttttttttttttttttttttutttutttttttttttttttutttttttttttttuttttututttttttutttutttttuttttttttttttttttttttttuttutttttttttttttttttttttuttttttttttttttttttttttttttttttttttttttttututttuttttttttttttuttttttttttuttttttttttttttttttttttutttttttttttttttttttttttttttttttttuttttttttututtttutttttttttttttttttttttttttttttttttttttutttttttttttttttttttuuttttttttttttttttuttuttttttttttttttttttttttttttutttututttttutttttttuutttttttutttttttututttutttttttttttttttttttttttttttttuuttttttttttutttttttttttttttttttttuttttttttttttuttutttttttttttuttttttttttttttttttttttttttttttttuttttttttutttttttttttttuttttttttttttttttttttttuttttttttttttutttttutttttttttttttttttttttttttttttttttttututtttttttttttttuttttttttttttuttttttttututttututttuttttutttutututttttutttttuttuuutttttuuttttttutttutttttttuttttutttuttutuuttttuttttttttttttttuttttuttutuutttttuutuuuutttututttuttutttututtuttttttutututttuuttttttuuutuuttuuttttttttttuttttuttttutuuttutuuttttttttttttttuuttttuttuttttuutttuutttuttttttttutttuttttttuutuutuuttuutttututtuttuututtuttuttuttuttuttttuttttutttutttutttttuuuttttututtttttuttutttttttttttutttttttttttuutttttttutttttttutttutttuttutttttttttttttttttttttttttuttttttttttuttttttuttutttttttttutttttuuttttttutttttutttttttuttutttttttuutttttttttttttttttttttttuuuttttttuuttutuutttuttttttttttttutttttttttutttttuttttutttuutttttttttututttuuttuttttttututtttttuutttttttttttttttutuuttuttttuutttttttttttttututttttuutttttttututttttuttuttttuttttttttuttttuttttttttttttttttttutttuuttttttuttttttttttttttttttuuttttttutttttttttttttttututttttttttttuttttttttttttutttttutuuuttttttttutttuutttttuttttttutttuttttttttttuttuttttttuttttttttttttttttuttttttttuttttttttttttttttttttuttttttttututttttutttttuttttttttttttuuuuuuttuttuuuuutttuututttutututuuutuututuuuutuutuututtttttututututtttttttuuuututttttuttutuuttutuututttuuuuttututuutuutttuuuutuuuuttuttutttuututttutuututtttttutuuutuuutttuutuuuttuuuttuutttttuttttttttuttuttttuttttuuttuuutuuttuutuuutttuutuutttuttuuuuutttuttttutttuuttuttuuttutuuuuuutuuuuttttttuuttttuututtttuttuttutttuutututtuuuttttuuutuututttuuuututututtuttuuttuttututtuuutuutttutuuuuttuuuuuttttututtuuuttttttttttutttttuuttututtttuttttttutuutttttuttuuuttttttuttttttutttttttutuutututttuttututtttuttutttuuttuuttutuutuuttttutttttuuttuuuuttuttuttttuuutttttutututtuttttuutuuttutttuutttutututttuuutttututtttutttuuttuutttttututututttututtttuttttttttuutuuuuttuuttutttuttututtttuuttuttututtuttuututttttuttutuutuutututtuututtutuuuutuutuuuttttutututtutttttuutttutttttttutttuttuuttutttuuuttuuutuuuttttuutttuuttutttututtuututuuttutttutuuttuttutuuttuttuutuuututttutttttttuttutututtttttuttttuuuuutttttutututtttutttututtttttttuttututttttttttttttttututtuttttttttttuutttttttttuttuuuuuuututuuuuuutuuuutuuutuuttuuuutuuttutuuuuuutuuutttutuutttutttututttuuutuutuuuuuututuutttuututuututtuuttttututtuuuttuuuuuutuuuuttututttuuuuuttuutuutttuuttttuuuuuuuttttuuuuuututututuutututuuututuuttutuutuuuttttuutuutuuutuuuuuuuttututuuttutuutuuuuuuttuuuuuutttuuttutuuuuuututuuuututtuuttuttuuutttuuuututtuttutuutttuutuuuttttutuuuutttuutuuutuutuuuutuutututtutuuuuuuuttttuuuuttuuuuuuuttutuututtutuutuututuuttututtuuutuuuuututttttuutttttutuututtttuutuutuuuutuuttuttttttttuttuuutuututtuuututttttutututtuuuuuutututuututtutttututuuuttuttuututtututtuuutututtuututuuututuuutuuttttuuutttttutuuututuutttuuuttuuttttutttuttutuutttututttuuuuuttutttttttttuuututtttuuutuuutttttuutuuuuttututuutuuttuutttttuutttttuuuuutuuuuuuuuuuutuuuuttuutututtttututttutttttuuttututttuttuuutuututuuuttutuuuutuuttuutttttuuutuuuuuuttttttttuutuuuuuttuttutuututututtuuuutuuttutututttututtutuuututuuuututtuttutuuuttttuuttuuttututtuuttttuttttutttutuuttututtuututttuutuuuuuutttutttuttttttttuututuuuuuuuuuuutuuuutuuuuutttuuuuuuttuuuuuuuuutuuutuuttutuuutuuutuuuttuuuuuuuuuttuuuuuuuuuuuuuututuuuuuutuuutuuututtutuuuuuuuuuuututtuutuuuuuuttuuuuuuutuuuuuuutuuuutuuuutuuutuuuutuuuuuuuutuuuutuuutuuuuuutuutuuuuuuutuuuuuutuutuuutuutuuttutuuuuuuuuuuuuuuuuuuuuutuuuuuuuuuuutuuuuuuuuututuuuutuuuutuuuutuuuutuuuttuuuuuuuuuuttuuuuuuutuuuuuuuuuuututuuuuuuuuuuuuuttuuuuuuuuutuuuuutuuuuutuuuuuuuuuutuututuuuutuuttuututuutuuuuuuuutuuutuuuuuuuutuutuuttuuuuuuutttuutuuuuuuuuuuututuuututtuututuuuuuuuuuuuuutuuuuuuuuuututuuuutuuuuuuuuuuuuuuuuuuuuuuuuutuuuuutuuuuttuuuuuutuuuuttuuuuuuuuuuuutuuuuuuuuuututuuuuuuuututuuuuutuuuuuuuuttuutuuuutuutuuuuuuuuttutuuuttuutuuuuuuuuutuuuuututtutuuuuutuuuuuuutuuuuutuuuttuuuuuttuuuutuuutuuuuuuuutuuuuuuutuuututuuututuuutuuutuuutuuutututuuutuuutuuuttuutuuutuuuuuuuuuuttuuttuuuuuuuuuuttuuuuuuuuuuuutuutuutuuuuuuuuututuuutuuuuuutuuutuuuttttuuuuuutuuuuutuuuuuuuttuuuutuuutttuututuuttututtuttuuuuuuututuuttuuuutttutuutuuuuuuutututuuutuutuuutuuuuuutuutuuuutuuuuuuuuutuuuuuuuuuuuttuuuuuuuuutuuuttuuuuuuutuuutuuuuuuuuuuuuuuutuuuutututtutuuuuuuuuuutuuuuuuuutttuuuuuuuuuutuuuutututuuuuutuuuutuutuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuutuuuuuuuuuuuuuuuutututuuuuuuuuuuuuuuuttutuuuuuuuuuuuuuuuuuututuuuuuuuuutuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuutuuuuuutuuuuuuuuuuuuuuuuuuuutuuutuuuuuuuuuuutuuuuuuuutuuutuuuutuuuuuuuuuuuuuuuuutuututuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuutuuutuuuuuuuuuuuuuuuuuuuuuuuuuuuutuuuuuuuuuuuuuuutuuuuuutuuuuuttuuutuuuuuuuuuuuutuuuutuuuuuuuuuuuuuuuuuutuuuuutuuuuuuuutuuuuuuuutuuuuuuuuuutuuuuuuuuuuuuutuuutuuuuuuttuuuuuuuutuuuuuuuutuuuuuuuuuuuuuuuuuuuuuuututuuuuuuuuutuuuuuuututuuuututuuuuuutuututuuutuuututtuuuuuuuutuuuutuuuuuuutuuutuuuuutuutuuuuutuuuuuututuuuuuuuuuuututuuuuuuuuuuuuuuuuutuututuuuuuuuuutuuuuuuuutuuuuuuuutuuuuutuuuuutuuuuuuuuuuuuuututututuuuutuuuuuuuuuuuuuttuutuuuuuuuuuutuuuuuuutuuuuuuuuuuutuuutuuuuuutuuuuuuuuutuutututuuutuuuuuuuuuuuuuuuuuuutuuuuutuuuuuuuuuuuuuuuuuuuuutuuuuuuutuuuuuuuuuuuuuuuuuuutuuuuuuuututuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuutuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuutttuuuuuuuuuuuuuuuuuuuuuuuuuutuuuuutuuuuuuuuuuuuuuuuuuuuuuuuuuuuutuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuutuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuutuutuuuuuuuuuuuuutuuuuuuuuuuutuuuuuutuutuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuutuuuuuuuuuuuuuutuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuutuuuuuutuuuuuuuuuuuuuuuuuuuuutuuuuuuuuuuuuuuuuuuututuuuuuutuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuutuuutuuuuuuuuuuuuuuuuuuuuuuuuuutuuuuuuuutuuuuuuutuuutuuuuutuuuuuuutuuuuuuuutuuuuuuuuuuuuuuuuuuuuuuuuutuuuuuuuuuutuuuuuuuuuuuuuuutuuuuuuuuuuuuuuuuuuttuuuuuuuuutuuuuuuuuuutuuuuuuuuuuuuuuuuuuutuuuuuuuuuuuuuuuuuuuuuuuuuuuutuuuuuuuuuuutuuuuutuuutuuutuuuuuuuutuuuuuuutuuuuuuuuuutuuuuuuuuuuuuuuuuuuutuutuuuuuuuuuuuuuuuuuuuuuuuuutuuutuuuuutuuuuuuuuuutuuuuutuuuuutuuuuuuuutuuuuuuuuuuuuuutuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuutuuuuuuuuuuutuuuuuuuuuuuuuuutuuuuuuuuutuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuutuuuuutuuuuuuuuuuuuuutuutuuuuuuuuuuuuuuuuuuuuuuuuuutuutuuuuuuutuuuuututuuuuuuuuuuutuutuuuutuuuuuuuuuutuuuuuuuuuuuuuuuuuuuuuututuuuuuuuuttuuuutuuuutuuuuuuuuuuutuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuutuuuuuuuuuuuuuuuuuuuuuututuuuuutuuuuuuuuuuuuuuuuuuuuuuuuuuuuutuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuutuuuuuuuuuuutuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuutuuutuuuuutuuuuuuuuuuuuutuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuutuuuuuuuuuuuuuuuuuuuuuuuuuuuutuuuuuuuuuuuuutuuuuuuuuuuuuuuuuuuuuuuuuutuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuutuuuuuuuuuutuuuututuuuuuuuuuuuuuuuuuuututuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuttuuuuuuuuuuuutuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuutuuuuuuuuuuuuuuuuuuuuuuuuutuuuutuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuutuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuutuuuuuuuuuuuutuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuutuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuutuuuuuuuuuuuuuuuuuuuuuuuuutuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuutuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuutuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuvuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuvuuuvuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuvuuuuuuuuvuuuuuuuvuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuvuuuuuuuuuuuuuuuuuuuuuuuuuvuuuuuuuuuuvuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuvuuuuuuuuuuuuuuuuuuuuuuuvuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuvuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuvuuuuuuuuuuuuuuuuuuuuuuuuuuuuvuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuvuuuuuuuuuuuuuuvuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuvuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuvuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuvuuvuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuvuuuvuuuuuuuuuuuuvvuuvuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuvuuuuuuuuuuvuuuuvuuuuuuuvuuuuuuuuuuuuvuvuuuuuuuuuuuuuvuuuvuuuuuuuuuuuuuuuuuvuuuuuuuvuuuuuuuuuuuuvuvuuvuuuuuuvuuuuuuuvuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuvuuuuuuuuuuvuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuvuuvuuuvuuuuuuuuuvuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuvuuuuuuuuuuuuvuuuuuuuuuuuuuvuuuuuuuuuuuuuuuuuuuuuuuuuuuuvuuuuuuuuuuuuvuuuuuuuuuuuuuuuuuuuuuuvuuuuuuuuuuuuuuuuuuuuvuuuuuuuuuuuuuuuuuuuvuuuuuuvuuuvuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuvuuuuuuuuvuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuvuuuuuuuuuuuuuuuvuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuvuuvvvuuuuuuuuuuuuuuuuuuuuuvuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuvuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuvuuuuuuuuuuuuuuuuuuuuuuuuvuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuvuvuuuuvvuvvvuuuuuuuvuuuvuuuuvuuuuuuuuvuuuuuuvuvvvuuuuuuvuvvuuuuuvvuvuuuuvuuuuuuuuuuuvuvuuuuuuvuuuuuuuvuuuuvuuvuuvuuuuvuuuvuuuuuuuvuuuuuvuuuvvuvuuuuvuuuuuuvuuvvuuuvvuuuuuuuuvuuvuvuuuuuvuuvvuuuuuvuuuvuvuuuuuuuuuuuuuuuuuvuuvuuuuvvvuuuuuuuvuuuuuuuuvuuvuuuuuuuuuuvvuuuuuuuuuuuuuvuuuuuvuuvuvuvvuuuuuvuuuuuuuvuvuuuuuuvvvuuuuuvvuvuuuvuuuuvuuvuuuvuvuuuuuuuvuuuuuvuuvuvuuuvuuuuuvuuvuuuuuuuvuuuuuvuuuuuuuuuuuuuuuuuuuvuuuuuuuuuuuuuuuuuuuvuuuuuuuvuuuuvuuvuvuvuuuuuuuvvuuuuuuuuuuuuvuuuuvuuuvuuuuuuuuuuvuuuuuvuuvuuuuuvuuuuuuuuuuuuuvuuuuvuuvuuuvuvuuuuuuuuuuuuvuvuuuuvuuuuuuuuuuuuuuuuuuuvuuuuuuuvvuvuuuuuuvuuuuuuvuuuuuuuuuvuvuuvuuvuuuuvvuuuuuvuvuuvuuuuuuvuuuuuuuuuuuuuuvuvvuuuuuuuuuuuvuuuuvuvvuuuuuuuuuuuuuuvuuuuuvvuuuuvuvuuuvuuuuuuuuuuuuuvuuuvuvuuuvuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuvuuuuuuuuuuvuuuuuuuuuuvvuvuuuuuvvuuuuuuuuuvuvuvuuuuuuuvuuuuuuuuuvuuuuuuuvuuuuuuuuvvuvuuuvvuuuuuvuuuuuuuuuuuuuuuuvvuuuuuuuuuuuuuuuuuvuuuuuuuuvuuuuuuuuuuuuvuvuuuuuuvuuuuuuuuuuuuuvuuuvuuuuuuuuuuuuuuvuvuuuuuvvuvvvuuuvuuvvvuuvvuuuvuuuuuvuvvuvuuuuuuuvvuvuvuuvvuuuuuuuvvuvvuuuvvvuvuuvuuuuvuuvuuvvvvvvuuvuuuuuuvvuuvvuvvuuuvvvvuvuuvuuvuuuvuuvuuuvvuvvuuvvvvvuuuvuuvvvuvvuuvuuuuvuvvuvvuuuuuuvuvvvuuvuuuuvvuvvvvuvuuuvuvuuvuuuuuvuvvvuvvvvvuuuvvuuuuuuvuuuvvuvuuuuuuuuuvvvuuuuuvuvvvuvuuuuuuuvuvvvuuvvuvuuvuvvvuuuvuvvuvuuvuvvvuuvuuvvvvuvuvuvvvuuuuuuuvuvvuuuuuuvuvvuuuuvvvuvuvvuvuvvuvvuvuuvuuuvuuuuuuvvuuvvuuuvuuvvvvuuuvuvvuuvuuuuuuvuuuuuuvuvuvuuuvvuvuuvuvuuuuuuvuvvuvvvvuvuuuvvuvuvuuvuvvuvuuuuuuuvuuuvvvvuvuuuuuuuvvvuuuuvuuvuuuuvvuvuuvuuuuuuuuvuvuuvvuuuvuuvvvuvuvvuvuvuuuvuuvuuvuuuuvvuvuuuvuvvvvuuuuuvvuvuuuvvvuuvvuuuuvuuuuvuuvuuvuvuuuvuuvuvuuuuuvvuuuuuuvuvuuvuuuvuuuvuuuvvvuvuvuuvvuuvuuvvuvvvuvuvuuuuvvuvuuuvuuvvuuvvvuvuuuvuuuuvuvuuuvuuuvuuvvuuvuvuuuuuvvvuuuuvuuuuuvuuuuuuvuuuuuuvuuuvuuvuuvvvuvuuuvvuuuuvuuuvuuuuvuuuvvuvuvuuuuuuvvuuuuvuuuuvuuuvuvuvvuuuuvuvuuvvvvuvuuvvuuvuuvuvuuuuuuuvuuuvuvuuvuuuuvuuuuuuuvuuuuuuuuuuuuuuuuuuuuvuuuvuuuuuvvuuvuuuuuuuuvuvuuuvuvuuuuuuuuuvuuvuvuuvuuuuvvvvvvuvvuvuvuuvvuuuvuuuvuvvuvuuuvvuvuuuvuuuvuuvvuuvvuuuvvuvvvuuvvvvvvvvuvuvuvuvvuvvvvuvvuvvuuuuuvuuuvvuvvuvuvvvvuvvuvvvvuuuvuuvuvuuuuuvvvuvvuvuvuuuuuuuuvvuuuvuuuvvuvvvvvuuvuuvuvuvuvvvuvvuvvvvuuuvvuuvvvvvvvuuuuvvvvuuvvvvvvuuvvuvuuuuvuuuvvuuuuuuuuvvuvvuuvuvuvuvuvuvuuuvvuuuvvuvuuvvuvuuuuvuvuuuuuvvvvvvvuuvuvvvvuvuvvvvvvuuvvuuuvvvuvvvvvuuuuvvuvuuuuvuuuvvvvuuuuvuuvvvvvuuvuuuvuuuvuvvuvvuuvvuuvuvvuuuuvuuvuuvuuuuuuvuuvuuuvuvuvuuvvvuvuuvvvvuvvuvuvvvuuvuvuvvvuvuuvuvuuuuvuuvuuvuuuuvvvuvvvuuvuvvuuuuvvuuvuuvuvuuuuuvuuvuuvuuuuvuuvvvuuvuvuuvuvuuvvuuuvvuvvuvuuvuvuuvuuvuuvvvvuuuuuvvvvuvuvvvuuvuuuvvvuuvuuuuuvvvvvvuuuuuvuuuvuuuvvvuuuuvuvvuvuvvvuuvvvvuuuvuuvvuvuuvuuvvvvuvuuvvuuuuuvvvuuuvuuuvvuvuvuuvvuvvuuvvuuvuuvuuuuuvuuuvuuvuuuvuvvvvuvuvuuuvvvvuvuvvuuuuuvuuvvvuvuuvuuuuuuuvuuvuvuvuvuvvuvuuvuuvuuvuvuuvvvuuvvuuuvvuvvuuvuuuuvvvvuuvvvuuvuuuuuvuuuuvuuvvvvvuuuuvvuuuuuuvvvvuvuvvuuvvvvuuuuuuuvuuuuuuuvvuvvuuuuuuuuuuvuuvuuuuuuuvuuvuuvvuvuvuvuvuuvuvuuvuuuvuuuuuvvuuuuvvvuvvvvvvvvvvuvvvuvvvvvuvvvuvvuuvvuvvvvvvvvvvvvvuvuvvvuvvvvuvvvuvvvuvvvuvvvvvvvvvuvuvuvvuvvvvuvvvvvvvvvuuvuvvvvvuvvvvuvvuvvvvvvvvuvvvvvvuuvvuvuvvvvuvvvvvvvuuvuuvuvvvvuvuvvvvvvvvvvuvvuvvvvuuvvvvuvvuvuvuuvuvvvuuvvvvuvuuuuuvvvuvvvvvuvvvvvvvuvuvvvuvuvuvvvuuuvvvuvuuvvvvvvuvvvvvvvuuvuvvvvvvvuvvuvvuuvvuvuvvvvvvvvvvvvuvuvvvvuvuvvvuvvvvuvuvuvvvvvvvvvvvvuvvvvuuvvvuvvvvuvuvvvuuvvvvvvvuvuuuvvuvuvvvuvvvvuuuvvvvvuuvvvuuvuvvvvuvvvvuvvvvuvuuvvuvvvvuuvvvvvvvvvvvvvvvvvvuvvvvvvvuuvvvvvvvvuvvvvvvvvuvvuuvvvvvvvvvvvvvvvuvvvuuvvuvuvuvuvvvvvuvuvuvvuvvuuvuvvuvuvuvvuuvuuvvuvvvvvvvuvuuvvuuvvvvuuuvvuvuuvvvuvvvuvuuvuvvvuvvuuuuvvvvvvvvvuvvvuuvuvvuvuvuuuuuvvvuvuuvvuvuvuvvuuuvvvuvvuuvuuvvvvvuvvuuvuuuuuvvuvuvuuvuvuvuvvuuuvvvvuuvuuvvvvvuvvvvuvvvuuvuuvvvvvvuuvuvvvvvvvvuuuuuuvvvuvvuvvuuvuvvvvvvvvuuuuuuvuvvvuvvvvvvvuuvvvuuvvuvuvuvvuvuuvvvvuvuvuuvvuuvvuvvvvuuvvuuvuvuvuuvuuvvvvvvuvvvvvvuvuuuvvuuvuuuuuvvvvvvvuvuvuuvuuvvvvvvvvuvvuuuuvuvvvvuuvuuvuuvvvvvuuvuuuvuvuvuuvvuvvvuvuvuuvuvuvuuvuvvvvvvvvvvvvvvvvvvvvvvvvvuvvvvvvvvvuvvvvvvvvvvvvvvvvvvvvvuvvvvvvvuvvvvvvvvvvvvuvvuvvvuvvvvvvvvuvvvvvvvuvvvuvvvvuvvvvvvvvvvvvvvvvuvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvuvvvuvvvvvvvvvvvuuvvvvuvvvvvvvvvvvvvvvvuvvvvvuuvvvuvvvvvvvvuvuvvvvvvvvvvvuvvvvvvvvvvvvvvvvvvvvvuvuvvvvvvvvvvvvvvvvvvvuvvvvvvvvvvvvvvvvvvvvvuvvvvvuvuvvvvuvvuvuvuvvvvvvvvvvvuvvvvvvvvvvuvvvuvvvvvvuvvvvvvvvvvvvvvuvvvvvvuvvvvvvuvvuvvvvuvvuuuvvvvvuvvvvvvvuvvuvvvvvvvvuvvvvvvvvvvuvvvvvvvvvvvvvvvvvvvvvvvuvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvuuvuvvvuvvvvvvvvuvvvvvuuvvvvvvvvvvvvvvvuvvvuuvvvuvvvvvvvvvvvvvvvvvvvvvvvvvuuvvvvvvvvvvvvvvuvvuvvuvvuuvvvvvvvvvuvuvvvvvvvvvuvvvvvvvvvuuuvvuvvvvvvvvvuvvvvvvvuvvvuvvvvvvvvvuvvvvvvvvuvvvuvuuuvvvvvvvvvvvvvvuvvvuvvvvvvvuvvvvvvvvvvvvvvvvvvuvvvvvvvvuvvvvvvuvvvvuuvvuvvvvvvuvvvvvvuvvvvvvvvvvvvvuvvuvvvvvvuvvvvvvvvuvuvvvvvvvvvvuvvvvvvvvuuvvvvvvvvvvvvvvvvvvvvvvvuvuvvvvvvvvvvvuvvvvvuvvvvuvvvvvvvvvvvvvvvvvvvvuuvvvvvvvvuvvvvvvvvvvvvvvvvuvuvvvvvvuvvvuvvvvvvvuvvuvvvuvvvvvvvvuuvvuvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvuvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvuvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvuvvvvvvvvvvvvvvvvvvvvvvvvvvvuvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvuvvvvvvvvvvvvvvvvvvvvvvvvvvvuvvvvvvvvvvvvuuvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvuvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvuvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvuvvvvvvvvvvvvvvvvvvvvuvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvuuvvvvvvvvvvvvvvvvvvvvvvvvuvvvvvuvvvvvuvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvuvvvvvvvvvvvvvvvuvvvvvvvvvvvvvvvvvvvvvuvvvvvvuvvvvvvuvuvvvvvvuvvvvvvuvvvvuvvvvvvuvvvvvvvvvvvvvvvvvvvvvvvuvvvuvvvvuvvvvvvvvvvvvuvuvvuvvvvuvvvvvvvvvuvvvvvvvvvvvvvvvvvvvvvuvvuvvvvvvvvvvvvvvvvvvuvvvvvvvvvvvvuvvvvvvvvvvvvvvvvvvvvvvvvuvvvvvvvvvvvvvvvuvuvvvvvvvvvvvvvvuvvvvvuvvvvvvuvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvuvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvuvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvuvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvuvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvuvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvwvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvwvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvwvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvwvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvwvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvwvvvvvvvwvvvvvvwvwvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvwvvvvvvvvvvvvwvvvvvvvvwvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvwvvvvvvvvvvvvvvvvvvvvvvvvvvvwvwvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvwvvvvvvvvvvvvvwvvvvvvvvvvvvwvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvwvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvwvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvwvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvwvvvvvvvvvvvvvvvvvvvvvwwvvvvvvvvvvvvvvvvvvvvwvvvvvvvvvvvvvvvvvvwvvvvwvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvwvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvwvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvwvvvvvvvvvvvvvvwvwvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvwvvvvvvvvvwvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvwvvvvvvvvvvvvvvvvvvvvvvvvvvvvvwvvvvvvvvvvvvvvvvvvvvvvvvvwvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvwvvvvvvvvvvvvvwvvvvvvvvvwvvvvvvvvvvvvvvvvvwvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvwvvvvvvvvvvvvvvvvvvvvvvvwvvwvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvwvvvvwvvwvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvwvvvvvvvvvvwvvvvvvvvvvvvvvvvvvvvvvwvvvvvvwvwvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvwvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvwvvvvvvvvvvvwvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvwvvvvvvvvvvvvvvvvvvvvvvvvwvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvwvvvvvvvvvvvvvvvvvvvvwvvvwvvvvvvvvvvvvvvwvvvvvvvvvvvwvvvvvvvvvvvvwvvvvvvvvvvvvvvvvvvvvvvvvvwvvvwvvvvvvvwvvvvvvvvwvvvvvvvvvvwvwvvvvvvvvvvvvvvvvvvwvvvvvvvvwvvvvvvvvvvvwvvvvvwvvvvvvvwwvvvvvvvwvvvvvvvvvvvvvvvvvvvvvwvvvvvvvvvvvwvwvvvvvvvvvvvvvvvvvwvvvvvvvvwvvvvwvvvvvvvvwvvvvvvvvvvvvwvvvvvvvvwvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvwvvvvvvvvwvvvvvvvvvvvvvvvvvvvwvvvwvvvvvvvvvvvvvwvvvvvvwvvvvvwvvvwvvwwvvwvvvwvvvvwvwvvvwvvvvvvvvwvvvvvvvvvvvvvvvvwvvvvvvvwvvvvvvvvwvvvvvvvvvvvvvvvvvvvvvvvvvwvvwvvwvvvvvvvvvvvvwvvvvvvvvvvvwvvwvvvvvwvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvwvvvvvwvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvwvvvvvvvvvvvvvvwvwvvvvvvvvvvvvvvvvvvvvwvvvvvvvvwvvvvvvvvvvvvvvvvvvvvvvvvvvvwwvvvvvvvvvvvvvvvvvvwvvvvvvvvvvvvvvvvvvwvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvwvvvvvvvvvvvvvvvvvvvvvvwvvvvvwvvvvvvvvvvvwvvwvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvwvvvvvvvvvvvwvvvvvvwvvvvvvvvvvvvvvvwvvvvvwvvvvvvvwvvvvvvvvvvvvvvvvvvwvvvvvvvvvvvwwvvvvvvvvvwvvvvvvvvvvvvvvvvvvvwvvvvvvvvvvvvvvwwwvvvvvvvwvvvvvvwvvvvwvwvvvwvvvvvvwvvvvwvvvvvvvvvwvvvwvwvvvvwvvwwwvvvvvwvwvvvvvwvvvvwvvvvvvvvvvvwvvvwvvvvvvwvvvvvvvwvvvwvvvvvvvvvvvwwvvvvvvvwwwvvvvvwvvvvvvvvvvvwwvvvvvvvvvvvvvwwwvvwvvvvvvvvvvvvvvwvvvvvvvvwwwwwwvvwvvwwvvvvvvvvvvvwwvvvvvvvwvvvvvwvvvvvvwvvvvvvvvvwvvvvwvwvvwvvvvwvvwvvvvvvvwvwwvwwvvvvvvvvvvvvvwwwvvwvvvvvvvvvvvvvwvvwvvvvvvvvvwvvvwvvwvvwwvvvwvvvvwvwvvvvwvvvvvvvvvwvvvvwvvvvvvvvvwvvvvvvvwvwvvvvvvvvvvvvvvvwvvvvvvvvvvvvvvvvvwvvvvwwvvvvvvvvvvvvvvwvvvvvvvvwvwwvvvvvwvvvvvwvvvvwvvvvvvvvvvwvvvwvvvwvvvvvvvvvvvvvvvvvvwwvvvvvvvvvvvwvvwvwwvvvvvvvvwvvwvvwvwvvvwvwvvvvvvvvvvvvvvvvvvvvvwvvvvvvvvvvwvvvvvvvwwvvvvvvvvwvvvvvvvwvvvvvvvvvvvvvvvvvvvvvvwvvvvvwwvvvvvvvvvvvvwwvvvvvvvvvvvvvvvwvvvvwvvvvvvvvvvwvvvvvvvvvvvvvvvvvwvvvvwvvvwvvvwvwvvvvvvvvvvwvwvvvvvvvvvwwvvvvvvwvvvwvvvvvvvvvvvvvvvvvvvvvvvvvvvwvvvvvvvvvvvwvvvvvvvvvvvvvwvvvvvvvvvvvvvvvvvvvvvwvvvvvvvwvvvvvvwvvvvvvvwwwvvwvvwvvvvvvvvvvvvvvvvvvvvvvvvvvvvvwvvvvvvvwvvwvwvvvvvvwvvvvwvvvvvvvvvvvvvvwwvwvvvvvvvvwvvwwwvvvwvwwwvvvvvwwvwwvvvwwvvwwvwvvwvvvwwwvvwvvvwvwvwvvwwwwvvvwvvvwwwvvwvwvwvvvvvwvvvwwwvvvvvvwvvvvvvvwvvvwvvwwvwvvvwwvwwwwwvvvwwvwwvvvvvvvvvvwwwwvvvvwwvwwvvvwvvwwwwwwwvvvvvvvwvvwwwwwwwvvwvvwvwvvwvwvvvvwvvwwwwwvvwvwwwwvvvvvvvwwvvwwvvwvwvvvwvvvvvwwvvvvvwvvvvwwvvvwvwvvwvwvvvvwvwvvvvwwwvvvvwwwvvvvvvvwvvwvvwvvvvwwvvvvwvwvvwwvwwwvvvvvvvvvwvwwvvvvvwvwwwvwvvwwwvvwvwvvwvwvwwvwvwwvvvwvvvwwwvvvvwwwwvwvvvvvwvwwvvwvwwvvwwwvvwvwwvwvwvwwvvwvwvvvwvvvwvwwvwvvvvwvvwwwvwwvvwvwwvvvwvvvvwvwvwwvwvwwvwvwwvvvvvvvwvvvvwvvwvwwvvwvwvvvvvvvvvvwwvvvvvwwvwvwvwvvwwvvwvvvvvvwwvwvwvvwvwvvvwvwvwwvvvwvwvvwvvvvvwvvvvwwvwwvvwvvwvvwwvwwvwvwwvvwvwwvwvwvvvvwvvvwvwvwvwvvwwvvvvwvvvvvwwvwwwvvvvwwwwvwvvwwwvvvwwwwvwwvvvwvvwvwwvvvvvvvvwwvvvvvvwvvvwvwwwvvvwwvwvwwwvvvvvvwwwwvvvwvvwwvwwvvvvvvvvwvvvvvvwvvvvwvvwvwvvvvvwvwwwwvvvvvwwvvwwvvwwwvwvvvwwvvvvvvvvvwvvvwvwvwwwvvvvvvvvwvvvvwvwvvvvwvvvwvvwwvvvvvvwvvvvwvvwvvwvwvvvvwvwvwvvvwvwvvvvvvwvwvvvvvvwvwvwvvwwwvvvvwvvvwvwwvwvwvwvvvvvvwvwwvvvvwvvvvvwwwwwwwwvwwwwwwvwwwwwwwwwwwwwwwwwwwvwwvwvwwwwvwwwwwvwvwvwwwwwwwwwwwvwwvwwvwwwwwwwwwwvwvvwwwwwwwvwwwwwwwwwwwwwwwwwwwwvwwvwwvwwwwwwwwwwwwwwwvvvwvwwwwwwwwwwwwwvwvwvwwwwwwwwwwwwwvvwwwwwwwvwwvwwwwwwwwwwvwvwwwwwwwwvvvwwwwwwvwwwwvwwwvwvwwwvwwvwwvwwwwwwwwwwvwwvwwwwwvwwwwwwwwwwvvwwwwwvwwwvwwwvvvwwwwwwvvvwwvwwwwwwvwwwvvwvwwwwwwwwwwwwwwwwvwwwwwvwwwvwvvwvwvwwwwwwvwwwwvwwwwvwwvvwwwvwwwwwwwvwwwwwwwwwwwwwwwwwvvwvvwwwwwvwwvwwwvvwwwwwwwwwwwwwwwwwwwwwwwwwwvwwvwwwwwwwwwwwwwwwwvwwwwwwwwwvwvwvwwvwwwwvwwwwwwwvwvwvwwwwvwvwwwwvwwvwwvwwwwvvwvvwwwvwvwwwvvvvwwwwvvwwwwwvwvwwwwwwwvwvwwvwvwwvvwvvvwwvwwwvwwwwvwwvwwvwwwvwwwwwvwwvwwwvwwwvwwwvwvvwwvwvwwvwwwvwvwvwwwvwvvvwwwvwwvwvvvwwvwwwvvvvwwwwvwwwwwwwvwvvwwvwwvvvwvwvwwwwvwvwwwwwwvvvwvvwwvvvvvwvwvwwwvwwwwwvwwwvwwwwwvvvwvwwwwwwwwvvwvvwwwvvvvwwwwvwwvwwvwwwvwwwvwwwwvwwvvwwvvwvwvwwvwwvwvwwwvwwvwvvvwvvwvvwwwwvwwvwvwvwvwvwwwwwvwwwvvvvwwvwvvwvvvvvvvvwvwwwvvvwwvwwwwwwvwwvvvvwvvwvvvwwvwvwvvwwvwwwvvvwwwvvvvwwvwvvwwwwvwwvwwvvvwvwwvvvwwwwvwvwwwwwwwwwwwwwwwwwwwwwwwwwwwwvwwwwwwwwwwwwvwwwwwwvwwwwwwvwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwvwwwwwwwwwvvwvwwwwwwvwwwwwwwwvvwwwwwwwwwvwwvwwwwwwwwwwwwwvwwwwwwwwwwwvwwwwwwwwwwwvwwwwwwwwvwwwwwwwwvwwwwwwwvwwvwvvwwwwwwvwwwwwvvvwvvwwwwwwwvwwwwwwwwwwwwwwwwwwwwwwwwwwvwwwwvwwwvwwwwwwwwwwwwwwwwvwwwwwwwwwwwwwwwwwvwwwwwwwwwwwwwwvwwwwwwwwwwvwwwwwwvwwwwvwwwwwwvwwwwwwwwwvwwwwvwwwvwwwwvwwwwwwwwwwwwvwwwwwwwvwwvwwwvvwwwwwwwwvwwwwwwwwwwvwwwwwwwwvwwwwwwvwwvwvwwwwwwwwwwwwwwwwwwwwwwwwvwwwwwwwwvvwvwwwwwwwvwwwwwwvwwwwwwwwwwwwwwwwwwwwwvwwwwwvvwwwwwwwwwwwwwwwwwwwvwwwvwwwvwvwwwwwwwvwwvwwvwwwwwwwwwwwwvwwwwwvvwwwwwwwwwwwwwvwwwwwwwwwwwvwwwvwwwwwvwwwwwwwvwwwwvwwwwwvwwwwvwwwwwwwwwvwwwvwwvwwwwwwwvvwvwwwvwwwwwwvwwwwwwwvwwvwwwwwwvwwwvwvwvwwwvvwwwwwwwvvwwwwwwwwvwwwwvwvwwwwwwwvwwwwwwwwwwwwwvwwwwwwwwwvwwwwwwwwwwwwwvvwwwwwwvwwvwvwwwwwvwwwwvvvwwwwvwwvwwwwvwwwwwwwwvwwwwwwwwwwwwwvwwwwwvvwwwwwvwwwwwwwwwwwwwwwwwwwwvwwwvvwwwwwwwwwwwwvwwwwwwwwwwvwwwwwwwwwwwwvvwwwwwwwvwvwwvwwwwwvwwwwwvwvwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwvwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwvwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwvwwwwwwwwwwvwvwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwvvwwwwwwwwwwwwwwwwwwwvwwwwwwwwwvwwwwwwwwwwvwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwvwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwvwvwwwwwwwwwwvvwwwwwwwwwwwwwwwwwwwwwwwwwwwwvwwwwvwvwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwvwwwwwwwwwwwwwwwwwwwwwwwwwwwwvwwwwwwwwwwwwwwwwwwwwwwwwwvwwwwwwwwvwwwwwwwwwwwwwwwwwwwwwwwwwwwwvwwwwwvwwwvwwwwvwwwwwwwwvwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwvwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwvwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwvwwwvwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwvwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwvwwvwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwvwwwwwwwvwwwwwwwwwwwwwwwvwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwvwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwvwwwwwwvwwwwwwwvwwwwwwwwwwwwvwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwvwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwvwwwwwwwwwwwwwwwwwwvwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwvwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwvwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwvwwwwwwwwwwwwwwwwwwwwwvwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwvwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwvwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwvwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwvwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwvwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwvwwwwvwwwwwvwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwvwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwvwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwvvwwwwwwwwwwwwwwwwvwwwwwwwwwwwwwwwwvwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwvwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwvwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwvwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwvwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwvwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwvwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwvwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwxwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwxwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwxwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwxwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwxwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwxwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwxwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwxwwwwwwwwwwwwwwwwwwwxwwwwwwwwwwwwwwwwwwwwwwwxwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwxwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwxwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwxwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwxwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwxwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwxwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwxwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwxwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwxwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwxwwwwwwwwwwxxwwwwwxwwwwwwwwwwwwxwwwwwwwwwwwwwwwwwxwwwwwwxwxwwwwwwwwwwwwxwxwwwwwwwwwwwwwwxxxwwwwwwwwwxwwwwwwwwwwwwwwwwwwwwwwwwxwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwxwxxwwwwwwwwwwwwwwwwwwwxwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwxwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwxwwwwwwxwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwxwwwwwxwxwwwwwwwwwwwxwwwwxwwwxwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwxwwwwwwwwwwwwwwwwwwwwwwwwwwwxwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwxwwwwwwwwwwwwwwwwwxwxwwwwwwwwxwwwwwwwwwwwwwwwxwwwwxxwxwwwwwxwwwwwwwwwwwwwxwwwwwwwwwwwwwwwxwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwxwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwxwwwwwwwwwwwwwwwwwwwwwwwxwwwwwwwwwwwwwwwwwwwwwwwwwwwwwxwwwwwwwwwwwwwwwwwwwwxwwwwwwwwwwxwwwwwwwwwwwwxwwwwwwwwwwwwwwwxwwwwwwwwwwwwwwwwwwwwwwwwwwwwwxwwwwwxwwwxwwwwwwwwwwwwwxwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwxwwwxwwwwwwwwwwxwwwwwwwwwwwwwwwwwwwwxwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwxxwwwwwwwwwwwwwwwxwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwxwwxwwwwwxwwwwwwwwwwwwwwwwwwxwwwwxwwwwxwxwwwwwwwwwwwwwwwwwwwwwwwwwwwwwxwwwwwwxwwwxxwwwwwwwwwwwwwwxwwwwwwxwxwwxwwwwwwwwxxwwwwwwwwwwxwwwxwwwxwwwwwwwwwwwxwxwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwxwwwxwwwwwwwwwxwwwwwwwwwwwwwwwwwwwxwxwwwwwwwwxwxxwwwwwwwwxwwwwwwwwwwwwwwwwxwwwwxwwwwwwwwwwwwwwwwwwwwwwwwwwwwxwwxwwwwwwwwxwwwwwwwwwwwwwwxxwwwxwwwwwwwwwwwwwwwwwwwwwwwwwwwxwwwwxwwwwxwwxwwwwxwxwwwwwwwwxwwwwwxwwwwwwxwwwwwwwwwwwwwwwwwwwwwwwwwwwwxxwwwwwwwwwxwwwwwwwxxxxwxwwxwwwwwwwwwxwwwwwwwwwwwwwwwwwwxwwwwwxwwwwwwwwwwwwwwwwwwwxwwwwwwwwwwwwwxwwwwwwwwwwxwwwwwwwwwwwwwwxwwwwwwwwwxwwwxwwwwwwwwwwwwxxwxwxwxwwwxwwwxwwwwwwwwwwwwwwwwwwwwxxwwxxxwwwwwwwwwwwwwwwwwwwwwwwwwwwwxwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwxwxwwwwwwwwwwwwwwwwwxwwwwxwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwxwwwwwwwwwwwwwwwwxwwxxwxwwwwwwwwwwwwwxwwwwwwwwwwwwwwwwwwwxwwwwwwwwwwwwwwwxxwwwwwwwwwxwwwwwwwwwwwwwxwwwwwwwxwwwwxwwwxwwwwwwwwwwwwwwwwwwwwwxwwwwwxwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwxwwwwwxwxwwwwwwwxwwwwwwwwwxwwwxxwxxwwxxwwwwwwwxwxxxxxxwwwxwwwwwwxwxwxxwxwwxwwwwxxwwwxwwwwwxwwxwwwwwwwxwxxxxwxxxwwxwwwwwwxwwwwwwxwxxwxwwwwwwwwxxwwwxxwxwwwxxwwwxxwxwxwxwwwxwwxwxwwwwwwwxwwwxxwxwwxxwwxwxwwxxxwwwwwxwwxxwwxwwwwwwwwxxxwwwxwwxwwxwwwwxwxwwwxwwxwwwwwxwxwwxxwwwxwxxwwwwxwxwwwwwwwxwwxwxwxwxwxwwwwwwxxwwwwwwwxwwwxxwwwwwxxxxxwxwwwwwwwwwxwwxwwwxxxwwwwxwwwwwxxxxxxyxxxxxxxxxxxxxxxxxxxxwwxwxwwwxwxwwwwwxwxwxxwxwwwwwwwxwwwwwwwwxxwxwwwwwwwxxwwwwxwxwwwwwwxwxwwwwwwxxwwwwxxxxxwwwwwxxxxwxwwwxwwwwwxxxxxxwwwwxwxwwwwwwwxxxxxxwwwxwwxxwwwwwwwxxxxxxwwwwxxxxxwxwwxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxwxwwwwwwwwwwwxxxxwwwvwwxxxxwwwwwwwxwwwwwwxxxxywwwwwwwwwwwwwxxwxwxxxxxxwwwwwxwxwwwwwwwxxwwxwxwwxxxwwxwwwwwwwxxxwwwwxwwwwwxwxwwxwwwwwwwxxwwwwwwwwxwwwwwwxwwwxwwwxwwwwwxwwwwwwwxwwwwwxwwwwxwxwwwwwwwwxwxwwwwwxwwwwwxwwwwwwxwwwwwxwwwwwwwxwwwwwwwwxwwwwwwwwwwwwwwwwwwwwxwwwwxwwwxwwwxwwwwwwwwwxwwwwwwwwwwwwwxwwwwwwwxxwwwwxwwwwxwwxwwwwxwwwwwxwxwwwwwwwwxwwxwwwwwwwwwwwwwwwwxwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwxwwxwwwwwwwwxwwxwxwxxxwxxwxwwwxwwxwxwxxxxwxwxwwxxwwxxwwxwwxxwxxwxxxxwwwwxwwxxwwxxxwxxwwwxxwwxxwwwxxxxwxxwxwxwxwxxwxxxwwxxxwwxwwwwxwwxxxwxwwxxxxwwxxxxxxxxwwwxwwxwxxwwwwwwwxxxxxxxwwwwwwxwxwwwwxwxwxxxxwxxxxxwxwwwwwxwxwwwxxxwxxxxxwxwxwxwxxxxwwwwwwwxxxxwwxwwxxwwxwxwwxwxwxwwwwwxxxxxxwxxxwxwxwxwxwxxwwxxxxxwwwxxxxwxxxwxwxwwxwwwxwxxwxxxwxxwxwxwxxwxwwxwxqpppppppppppppppppppppppvwwwwwwxwwwxwxwxwwxwwwxxxwxxwwxwwwxxwwxwxwxxxwwxwwxxwwwxwwwxwwwwxwwwxwwwxwwwxwwxwwxxxuqomjjjjkmosvxxwwwxwxwwxqppppwwwwxxxwwxxwxwxrpppppwwwxxxxxwxxxxxxsppppwwwwwrpppqxwxxwuppppppppppppppppppppppppppppxxxxwwwwxwwwxxuromjjjjkmpswxxxxwxwwwxwwwxpppprwwwxwwwxxwwwwwxxxwsppppwwwxxwxwxwwxxwwxxxxwwwxwxxxwwxxwxwxxwwwxxxwwwwwxwxwxwxwxxwxwwwwwxwwxwwwwxwwxwwxwxwwwxxwxwwwwwwxxwwwwwxwwwxwwxwwwxwwwwwxxwwwxxxwxwxwwwwxwwwwxwxxxxwxwwwxwwwwwwwxwwwxwwxwwxxxxxwxwxwwxwxxxwwxxwwxwxwwxxxxxxwwwwwwwxwxxwxxwwwwxxwwxwwxxwxwwwwwxxwwwwxxwwwxwwwwwxwxxwxwwxxwxwwwxwwwxwwwxwwxwxxxxwwxwxwxxwxwwwwxxxwwxxwxwwxwwxwwxwwxxwwwwxxxxwwwwwwxwxwwxwwwxxxxwxwwwxxwwxxwxxxxxxxxxxwxwxxxwwxwxwxwxwwxxwwxxwwxwwxxxwxxxwxxxxwxxxwwxwwwxxxxxwxxxxxxxxxwxxxwxwxxxwxxwwxxxxxxxxwwxxwxxxxwxwxxxxxwxxwxwxxxxxwxwwwwwxxxwxwwxwwwwxwwxwxxwxxxxxxxxwwxxxwwxwxxxwxxxwxxwxxwxxxwxxxwxxwwxxxxwxxwwxwxxwwxwxxxxxxwwwxwxxxxxwwxxwxwxxxxxwwwxxxxxwxxwxxxwwwxxxwwxwwxxxwxxxwwxxxwxwxwxwxxwwxwxxxwxwxwxxxxxxxxwjhhhhhhhhhhhhhhhhhhhhhhhtxwwwxxxwxxwxxwwxwxwxxxxxxxxxxxxwxwxwxwwwxwwxwwxwwxwxwxxxwxxxwwwxxxxwxwxxwwwwxxxxxxtnihhhhhhhhhhijouxxwxwwwxxmhhhhuxxwxwxwxxxwxwxihhhhhswwwxxxxwxxxxxxkhhhjxwwxxkhhhjxxxxwrhhhhhhhhhhhhhhhhhhhhhhhhhhhhxwxxwxwwwwxwsnihhhhhhhhhhikqwxwxxxxwxwxxxhhhhlxwxxxxxxxwxxwxxwwxmhhhhvwxxxwwxxxxxwxwxxxwxxxxxxxwwxxxxwxxxwxwxwxxxwxxxxwxxxxwxwxxwwwwwxxwxxxxwxxxxxxxwxxwwwwwxwxxxwxxxwwwwxwxwxxwxxwxxxwxwwxwxxwxwxwwxwxwwwxwwxxwxwwxxxxxxxwxxxwwwxxxwwxxwxxxwwwxwxxxxxwwxwxxxwwxxxwxwxxwxwxxxxxwxxxwwxxxxxxwwxwxxxwwwxwxwxxxwxxxxxxxxxxwwxwwwxwwwxxxxxxwxxwxxwxxwxxwxxxxxxwxwwxxxxwxwwxxwxwxwwwxwwxwxxxxxwwwwwxwxwwxwwwxxxxxxwxxxwxwwxwwxxxxxxxxxxxxxxxxxxwxxxxxxxxxxwxxxxxxxxxxxxxxxxxxxxwxxwwxxxxxxxxwwxxxxxxxxxxxxxxxwxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxwxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxwxxxxxxxxxxxwxxxxxxxxwwxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxwxxxxxxxxxxwxxxxxxxxxxxxxxxxxxxxxxxxxxxxwxxxxxxxxwxxxxxxxwxxxxxxxxxxxxxxwxwxwxxxwxxxxxxxxxxwxwxxxxxxkiiiiiiiiiiiiiiiiiiiiiiitxwxxxxxxxxwxxxxxxwxxxxxxxxxxxxxxxxxxxxxwxwxxwxxwxxwxxxxxxxxxxxxxxxxxxxxxxxwwxxxxwoihhiiihhhhhiiihhipxxxxxxxxsiiiirxxxxwxxxxxxxxuhiiiiioxxxxxxxxxxxxxviiiioxwxxwliiikxxxxxriiiiiiiiiiiiiiiiiiiiiiiiiiiiwxxxwxxxxxumihhiiihhhhiiiihhktxxxxxxxxwxxiiiimxxxwxxxxxxxwxxxwwxmiiiiwwxxxwxxwwxxxxxxxxxxxxxxxxwxxxxxxxxwwwxxwxxxxxxxwxxwxxxxwwxwxxxxxxxwxwxxxxxxxxxxxxwwxxxxxxxxxxxxwxxxxxxxxxwxxxxxxxxwxxxxxxxxxxxxxxxxxxxxxwxxxxxxxxxxxwxwxwwwxxxxxxxxxxxwxwxwxxxxxxxxxxwwxxxxxxwxxwwxwxxxwxxxxxwwxxxwxxxxxxxxxxxxxxxwxxxxxxxxxxxxxxxxwxxxxwxwwxxxwxxxxwxxwxxwwxwxxxxwxwxxxxxxxxxxwxxwxxxwxwwwxwxwxxxxxwxxxxwxxwxxwwxxxxxxxwxxwwxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxwxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxwxxxxxxxxxxxxxxwxxxxxxxxxxwxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxkiiihhhhhhhhhhhhhhhhhhhhtxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxwxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxwmhiiihhiijjjiihhiihhnxxxxxxxviiiinxxxxxxxxxxxxxpiiiiiijxxxxxxxxxxxxxsiiiisxxxxxliiikxxxxxrhhhhhhhhhhhhiiiihhhhhhhhhhhhxxxxxxxxxrjhiiihhiijjjihhiiihirxxxxxxxxxxiiiimxxxxxxxxxxxxxxxxwxmiiiiwxxwxxxxxwxxxxxxxxxwxxxxxxwxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxwxxxxxxxwxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxwxxwxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxwxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxwxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxwxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxwxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxwxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxwxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxwxxxxxxxxxxxxxxxxxxxxxxxxkiiijpppppppppppppppppppvxxxxxxxxxxxxxxxxwxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxwxxxwxxxxnhiiiilqtvwwwusokhiiihoxxxxxxxkiiijxxxxxxxxxxxxxliiiiiiiuxxxxxxxxxxxxoiiiiwxxxxxliiikxxxxxupppppppppppliiiinpppppppppppxxxxxxxxpihiihilptuwwwtqlihiiiirxxxxxxxxxiiiimxxwxxxxxxxwxxxxxxxmiiiiwxxxxxxxwxxxxxxxxxxxxxxxxwxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxwxxxxxxxxxxxxxxxxxxxxxxxwxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxwxxxxxxxxxxxxwxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxwxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxwxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxwxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxkiiilyyyyyyyyyyyyyyyyyyyxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxtiiiijsxxxxxxxyyxwpiiiiitxxxxxxoiiiiwxxxxxxxxxxxwiiijliiiqxxxxxxxxxxxxkiiilxxxxxxliiikxxxxxxyxyyyyyyyyypiiiiuyyyyyyyyyyyxxxxxxxqhiiihksxyyxxxxxyxskhiiiiuxxxxxxxxiiiimxxxxxxxxxxxxxxxxxxniiiiwxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxkiiilxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxmiiiitxxxxxxxxxxxxxqiiiilxxxxxxsiiiisxxxxxxxxxxxsiiinqiiimxxxxxxxxxxxviiiiqxxxxxxliiikxxxxxxxxxxxxxxxxxoiiiitxxxxxxxxxxxxxxxxxuiiiihnwxxxxxxxxxxxxvkiiiilxxxxxxxxiiiimxxxxxxxxxxxxxxxxxxmiiiiwxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxkiiilxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxviiiioxxxxxxxxxxxxxxxliiiivxxxxxwiiiioxxxxxxxxxxxoiiiruiiiiwxxxxxxxxxxsiiiiuxxxxxxliiikxxxxxxxxxxxxxxxxxoiiiitxxxxxxxxxxxxxxxxxkiiihmxxxxxxxxxxxxxxxviiiiisxxxxxxxiiiimxxxxxxxxxxxxxxxxxxniiiiwxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxkiiilxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxtiiiitxxxxxxxxxxxxxxxsiiiirxxxxxxliiilxxxxxxxxxxxjiiivxjiiitxxxxxxxxxxoiiiixxxxxxxliiikxxxxxxxxxxxxxxxxxoiiiitxxxxxxxxxxxxxxxxriiiikwxxxxxxxxxxxxxxxxqhiiikxxxxxxxiiiimxxxxxxxxxxxxxxxxxxniiiiwxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxyyyyxxxxxxxxxxxxyyyyxxxxxxxxxxxxyyyyyyyyyxxxxxxxxxxxyyyyxxxxxxxxxxxyyyyyyyyyyxxxxxxxxxxxyyyyxxxxxxxxxxxxyyyyxxxxxxxxxxxxxxxxxxkiiilxxxxxxxxxxxxxxxxxxxxxxxxxyyyyxxxyxwwxyyxxxxxxxxxyxwwwwxyyxxxxxxxxxxxxxxxxxxxxxwwwxxyyxxxxxxxxxxxxriiiiuxxxxxxxxxxxxxxxwhhhhnxxxxxxpiiiiwxxxxxxxxxviiijxxniiioxxxxxxxxxxkiiinxxxxxxxliiikxxxxxxxxxxxxxxxxxoiiiitxxxxxxxxxxxxxxxxkiiiisxxxxxxxxxxxxxxxxxxjihhhtxxxxxxiiiimxxxxxxxxxxxxxxxxxxmiiiiwxxxxxxxxxxxxxxxxxxxxxxxxxxyyxwwwwxyyxxxxxxxxxxxxxyyyxxxyxwwxyyxxxxxxxxyxxwwwxyxxxxyyyyxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxqpppsxxxxxxxxxxxqpppxxxxxxxxxxxuppprqpppsxxxxxxxxxxxqpppxxxxxxxxxxxuppprqpppsxxxxxxxxxxxqpppxxxxxxxxxxxuppprxxxxxxxxxxxxxxxxxxkiiilxxxxxxxxxxxxxxxxxxxxxxxxxrpppvxwqljjlouxxxxxxyyvrnljjjlnrwyxxxxxxxxxxxxxxyxtomjjjjmpuxyxxxxxxxxxxriiiitxxxxxxxxxxxxxxxxqpppsxxxxxxtiiiitxxxxxxxxxqiiinxxriiikxxxxxxxxxwiiiirxxxxxxxliiikxxxxxxxxxxxxxxxxxoiiiiuxxxxxxxxxxxxxxxtiiiikxxxxxxxxxxxxxxxxxxxphilouxxxxxxiiiimxxxxxxxxxxxxxxxxxxniiiiwxxxxxxxxxxxxxxxxxxxxxxxxywsomjjjkmpuxyxxxxxxxxxxrpppvxwpljjlouxxxxxxywrnljjjmqvxxxpppqxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxmhhhjxxxxxxxxxxvhhhhuxxxxxxxxxxnhhhomhhhjxxxxxxxxxxvhhhhuxxxxxxxxxxnhhhomhhhjxxxxxxxxxxvhhhhuxxxxxxxxxxnhhhoxxxxxxxxxxxxxxxxxxkiiilxxxxxxxxxxxxxxxxxxxxxxxxxkhhhuwlhhhhhhivxxxxxwojhhhhhhhhhjqxxxxxxxxxxxxxyslihhhhhhhhimuyxxxxxxxxxtiiiinyxxxxxxxxxxxxxxxyyyyyxxxxxxxjiiiqxxxxxxxxxmiiisxxwiiiivxxxxxxxxtiiiivxxxxxxxliiikxxxxxxxxxxxxxxxxxoiiiiuxxxxxxxxxxxxxxxoiiiiqxxxxxxxxxxxxxxxxxxxvsvxyyxxxxxxiiiimxxxxxxxxxxxxxxxxxxmiiiiwxxxxxxxxxxxxxxxxxxxxxxxxrkihhhhhhhhimuyxxxxxxxxxkhhhtwlhhhhhhivxxxxxrkhhhhhhhhjrxwhhhixxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxsiiiivxxxxxxxxxriiiipxxxxxxxxxxjiiiusiiiivxxxxxxxxxriiiipxxxxxxxxxxjiiiusiiiivxxxxxxxxxriiiipxxxxxxxxxxjiiiuxxxxxxxxxxxxxxxxxxkiiilxxxxxxxxxxxxxxxxxxxxxxxxxliiitmhhhhhiikxxxxyukhhiiihhhiiihhmwyxxxxxxxxxxoihiiihhhhiihhjryxxxxxxxxxiiiiirxyxxxxxxxxxxxxxxxxxxxxxxxxxmiiimxxxxxxxxxiiiiwxxxkiiirxxxxxxxxpiiikxxxxxxxxliiikxxxxxxxxxxxxxxxxxoiiiiuxxxxxxxxxxxxxxxjiiiivxxxxxxxxxxxxxxxxxxxxyyxxxxxxxxxiiiimxxxxxxxxxxxxxxxxxxniiiiwxxxxxxxxxxxxxxxxxxxxxxvmhhiiihhhhiihhiqxxxxxxxxxliiitmhihhhiikxxxxxohhiiihhhiihhowiiijxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxyxxxxxxxxyxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxwiiiiqxxxxxxxxxmiiiilxxxxxxxxxtiiijywiiiiqyxxxxxxxxmiiiilxxxxxxxxxtiiijywiiiiqxxxxxxxxxmiiiilyxxxxxxxxtiiijxxxxxxxxxxxxxyxxxxxkiiilxxxxxxxxxxxxxxxxxxxxxxxxxliiimhihijihhqxxxxujhiihhijjjihhiihkwxxxxxxxxxnhiiihhijjihhiihiqyxxxxxxxxohiiiintwyyyxxxxxxxxxxxxxyxxxxxxxqiiijxxxxxxxxtiiilyxxxpiiimxxxxxxxxliiioxxxxxxxxliiikxxxxxxxxxxxxxxxxxoiiiiuxxxxxxxxxxxxxxviiiijxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxiiiimxxxxxxxxxxxxxxxxxxmiiiiwxxxxxxxxxxxxxxxxxxxxxwkhiiihhijjihhiiihpxxxxxxxxliiimhihijihhqxxxxohiiihhijjihiihoiiijxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxyxxxxxxxxxxxxyxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxyxxxxxxxxxxyyxxyxxxxyxxxxxxxxxxxxxxxyxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxyxxxxxxxxxxxxxxxxyxxyxxyxxxxxxxxyxxxxxxxxxxxxyxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxyxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxmiiimyxxxxxxxxjiiiiiwyxxxxxxxoiiipyxmiiimxxxxxxxxwjiiiiiwxyxxxxxxoiiipxxmiiimyxxxxxxxxjiiiiiwxxxyxxxxoiiipxxxxxxxxxxxxxxxxxxxkiiilyyxyxxyyyxxxyxyxxxxxxxyxxliiihhipuwvqjwxxxwjiiihkptwwwtojhiihmxxxxxxxyphiihimsvwwvrmiiiiitxxxxxxxxwjiiiihikoswxyyyxxxxxxxxxxxxxxxxxuiiiiuyxxxxxxoiiipxxxxtiiijxxxxxxxxiiiitxxxxxxxxliiikxxxxxxxxxxyxxxxxxpiiiiuxxxxxxxxxxxxxxtiiiimxxxxxxxxxxxxxxxxxxyxxxxxxxxxxxxxiiiimyyyyyyyyyyyyyyyyyyniiiiwxxxxxxxxxxxxxxxxxxxxxlhiiiinsvwwuqkhiiiiryxxxxxxliiihhiovwvqjwxxxrhiiihmsvwwtoihiiiiijxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxyxxxxxxyxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxyxxxxxyxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxyxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxyxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxyxyxxxxxxxxxxxyxxxxxxyxyxxxxxxxxxyxxxxyxyxxxxxxxxxxxxxxxxxxxxxxxxxxxxyxyxxxxyxxyxyxxxxxxxxxxxxxyxxxxyxxyxxxxxxxxxxxxyxxxxxxxyxyxxxxxxyxxxyxxxxxxxxxxyxxxxxyxxxxxxxxxxxxxxxxxxyxxyxxxxyxxxxxxyxsiiiiwxxxxxxxtiiiiiisyxxxxxxxjiiiuxxsiiiixyxxxxxxtiiiiiisxyxxxxxxjiiiuxxsiiiixxxxxxxxtiiiiiisxyxyyxxxjiiiuxxxxyxxxxxxxyxxxyxykiiilwxwwwwwwwwwwxwwwxxxxxyxxxliiiiiryyxxyvyxxxmhiihnvyyyyyyyvmhiihrxxxxyxuiiiijsxyyyxyyxriiiikxxxxxxxxytihiiiihhijmpsvxyyxxxxxxxxxxxxxxxjiiirxxxxxxxkiiitxxxxxiiiitxxyxxxtiiiixxxxxxxxxliiikxxxxxxxxxxyxxxxxxpiiiiuxxxxxxyxxxxxxxriiiipyxyxxxxxxxxxxxyxyxxyxxxxxxxxxxxxiiiikqppqppqqqqpppqppqqkiiiiwxxxxxxxxxxxyyxxxxyxyqhiiijsyyxyxyywohiiiiwyxxxyxliiiiiryyxyyvyxxwjiiiiqxyyxyyytjiiiiijxxxxxxxxxxxxxxxxyyxxxxxxxxxxxxxxxyyxyxxxxxyxxxxxxxxxxxxxxyxxxxxxyxxxxxxxyxxxxxxxxxxyxxxxxyxxyxxxxxxxxxxxxxxxxxxxyxyxxxxxxxxyyxxxxxxxxxxxxyxxxxxyyxyxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxyxxyxxxxxxxxxxxxxxxxxxxxxxxxxxxxyxxxxxxxxxxxyxxxxxxxxyyxxxxxxxxxxxxxxyxxxyxxxxxxyyxxxxxxxxyxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxyxxxxxxxxxxxyxyxxxxxxxxxxxxyyxxxxxxxyxxxxxxyxyyxyxxxxyxxxxxxxxxxxxxxyxxxxxxxyyxxxyxxxxyyxxxxxxxxxxxxxyyxxxyxxxxxxxyxyxyxxxxwiiiisxxxyxyxoiijiiinxxyxxxxuiiikyxxwiiiisyxxxxxxoiijiiinxxxxxxxuiiikxyxwiiiisxxxxxxxoiijiiinxxxxxxxuiiikxxxxxyxxxxxxyyxxxxyykiiiijjjjjjjjjjjjjjjjoxxxxyxxxliiiimyxyxyxyyxxuhiiinxyxxxxxxxxxliiijxxxxxymiiiiuyxxxxxxyxysiiihrxxxxxxxxytkhhiiiiihhhiilpuxyxxxxxxxxxxxxxniiinxxxxxxviiijxxxxxymiiipxyxxxxpiiilxxxxxxxxyliiikxxxxxxyxxxyyyyxxxpiiiiuxxxxxxxxxxxxxyqiiiiqxxxxxxxxxxxxxxyxxyxyxxxxxxxxxxxxiiiihhhhhhhhhhhhhhhhhhhhiiiiwxxyxxxxyxxxxxyxxxyyxjiiiiuyxxxxxxyxxoiiiioxxxxyxliiiimyyyyxxyxxxqiiihqyyxxxxyxyvjiiiijxxxxxxxxxxyxxxxxxyxxxxxxxxxxxxxxxyyxxxxxxxyxyxyxyxxxxxxxxxxxxyxxxxxxxxxxyxxxxxxxyyyxxxxxxyyxxxxxxxyxxxxxxyyxxxxyxxxxxxxxxxxxxxxyxxxxxxxxyxxxxxxxyxxxxxxxxxxxxxxxxxxxxxxxyxxxxxyyxxxyxxxxxxxxxxxxxxxxxxyxxxxxyxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxyyyyxxxyxxxxxxxyxyxxxxyyyxxxyyxyyxxxxxyyyxyyxxyyxxyyyxyxxyxyxyxxxxyxxyyxyxxyyxyyyxxxxxxxyxxxxxxxyxxxxxxyxxxxyxxxxxxxxxyyxyxyyxxxxxxyyxxyyxyxxyyyxyyxxyyxyxxxxxxxxxxxyyxyxxxxyyxyyyxxyyxyxxyyyxxxxxxxxyyxxyyyyyyxxyxxxxyxxxxymiiioxxxyxyykiinkiijxxyxxxxpiiipxxxymiiioyxxxxxykiinkiijxxyxyxxpiiipxyxymiiioxxxyxxykiinkiijxxxxxxxpiiipxxxxxxxxxxxyyyxxxxyykiiiihhhhhhhhhhhhhhhhnxyxyyxxyliiiisyxyxyxxyxxniiijwxxxxyxxxxxyviiihtyxxxvhiiipyxxxxxxxyxxyniiilyxxxyxxyyywojhhhiiiiiihhhikqwyxxyxxxxxyxxriiijyxyxxxriiimxxxxxxqiiilxyxxyyliiiqyxyyxxxxxliiikxxxxxxyxyxxyyxyyxpiiiiuyxxxxxxxxyxxyxpiiiisxyxxyxxyxxyyxxxyxyxxxyxxxxxxxxyxiiiiiiiiiiiiiiiiiiiiiiiiiiiiwxyyyxxxxxxyxxxxyxxyriiihqyxxxxyyyyxxxkiiiixyxxyxliiiisxyxxyxxxyyjiiilyyxxxxxyxyyriiiijxxxxyxxyxxyxyxxxxxxxyxyxyyxxxxxxxyyxxxxxxxyxyxxxxxxyxxyxyxyxxxxyxxxxyxyyyxxxxxxyxxxyyyxxxxyyxxxxyxxyxxyyxxxyxxxxxxxxxxxxxxxxxyxyxxxxxyyxxxxxxyxyxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxyxyxxxxxyxxxxyxxxxxxxxxxxxxxxxxxxxxyxxxyxxxyyxxxxxxxxxyxxyyxyxxyyyyyyyyxyxxxxxxxyxyyyyyyyyxxxxyyyxxxxyxyxxyxyxyxxyxxyyxyyxxxyxyxyxyyxyxyyyxxxxyyyyxyxxxxxxxyxxyyyxyyyyyyxyxyyyyxyxxyxxyxyxxyxyxyyyxxyxxxyxyxxxyxyxxxyyyxxyyyyyyyxyxxyyyyyxyxxxyyxxxyyxyyyyxxxxyxxyxyyriiijyxyxxyviiisniiivyxxyxxkiiiuyyxyriiijyyxxyxviiisniiivxyyyxykiiiuyyyyriiijyxxyyyviiisniiivxxyxyykiiiuyxxxyyyyxyyyyyyxyxyykiiiihhhhhhhhhhhhhhhhnyyxyyxxyliiiiwyxyxxxyyxxiiiipyyxxxyxyyxxxyliiinyxyypiiiixyxyyyyxxyxyxtiiiivxxxyxyyyyyyvqlihhhhiiiiiihhjryyxxyyxyyxxviiiiwxyxxymiiirxxxxyxviiiiwyxyxxiiiiuyyyyxyxxyliiikyyxyxyyyxxyyyxyyxpiiiiuyyxxyyxyxyyyyxpiiiisxxxyyxxxyxxxyyxyxyyxyyyxyxxxxxxxiiiihhhhhhhhhhhhhhhhhhhhiiiiwxyyyyyxxxyyyxyyxxyymiiijxxxxxxyyyyxxysiiiisyxyyyliiiiwyxyxyxxxyuiiiitxyxxxxxxyyxxkiiijxxxxyxyyyyyxyxxxyxxxyyyxyxyyxyyyxyxyyxyyxxxxxxxxxxxyyyyxyyyxxxxyxyyyyyyyxxyyxxyyyyxyxyyyxxyyxxxxyyxyxyxyxyxxxyyyxxxxyxyxyxxyxxyxxxxyyyxyxyyyyxxyxxxxyxxyyyxyyxxxyyxxxyxyxxxyxyxxxxxxyxxyxyyxxxxyxxyxxxyyxxxyyyyxxyxyxyyyyxxyxxxyyxyyxxyyxxxxyyyyyyyxxxxxxxyyxyxxyxxyyyyyyyyyyyyyyyyxyxyyyyxyyyyyyxyyyyyyxyxyyxyyyxyxyyxxyyyyyyxxyyyxyxxyxyxxyyyxxyyyxyyyyyxyxxxxyxyyyxyyyyyyxyxyyyyyxyyxxyyyyyxxyyyyyyyyyyyxyyxyyxyxyxxyyyxyyyyyyyxyyxyxyyyyyyxyyyxyyyxyyyyyyyxyxyyyxyxyxwiiiivxyyxyqiiiwriiiqyxxxyviiikxyyxxwiiiivyxxyyqiiiwriiiqxyyxyviiikyyyyywiiiivyxxxyqiiiwriiiqyyyxyviiikxyyyyyyyyyyyxyyyyyyyykiiiijjjjjjjjjjjjjjjjoyxxyyxyyliiikyyyyyyxyyxtiiiiuyyyzyyyzyyyyypiiijyxyyliiimzzzzyyyyyzyyyxiiiirxxyxyyyxyxxyyxvrokihhhiiiiihhnxyxyyyyyyyyjiiisyxxyxjiiivyxxxyxyjiiisyxyxuiiijxyyxyyyxxyliiikyyxyxyyyxxxyyxxyxpiiiiuyyxyyyxyyxyxxxqiiiirxyxxxxxyyxxxyyxyyyyyyyyxyxxxxxyyiiiikqqqqpqqqqqqqqqqpqqkiiiiwyyxyxxyyxyyyxxyyxyyjiiioyxyxxxxxxyxxxxjiiioyyyyyliiikyyxxxxxxxyqiiijxxyxxyyyxxyyxoiiijyyxyyyyxyyyxxyxyyxxxxyxxxyyyxyxyyxxyyyyyxxxyxxxyxxxyyyxxxyyyyxxyxxyxyxyyxxxyyyyxxyyxyyyyxyyxyyxyyyyxyyyxxyxxyyyxyyyxyxxxyyxyxxyxxxxyyyxyxyxyyxxxyxxxyyxyyyxyxxxyyyyxyxxyxxyxxxyxyyxyxxxxxyyxxxyxyyyxyyyyxxyxyyxxyyyyxyxyyxyyyyyyyyxxxyyyxxyyxyyxyyyyxxxyxxxxyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyxyyyyyyyyyyyyyxyyyyxyyyyyyyyyyyyyyyyyyyyyyyxyyyyyyyyxyyyyyyyyyyyyyxyyyyyyyyyyyyyyyyyyyyyyyyyxyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyxyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyliiiqyyyyymiilyuiiilyyyyyqiiipyyyxyyliiiqyyyyymiilyuiiilyyyyyqiiipyxyxyyliiiqyyyyymiilyuiiilyyyyyqiiipyyyyyyyyyyyyyyyyyyyyykiiilxxxwxxxxxxxxxxxxxyyyyyyyxliiimyyyyyyyyyxriiiioqqqqqqqqqqqqqmiiiixyyyjiiikqqqqqqqqqqqqqqiiiipyyyxyyyyyyyyxyyzyxvrnkihhiiiihnyyyyyyyyyyniiioyyyyuiiikyyxyyyyyniiinyxyyqiiinyyyyyyyyyyliiikyyxyxyxyyyyyyyxyypiiiiuyyyyyyyyyxyyyyriiiiqyyyyyyyyyyxyyyyyyyyyyyyyyyxyyyyyiiiimyzzyyzzyyzzyyyzzzyniiiixyyxyyyxyyyyxxyyyyxwiiiisyxyyyyxxxyyxxyliiimyyyyyliiimyyxyyxxyxyniiimyyyyyyyyxyyyysiiijyxxyyyyyyyyyxyxyxxyyyyyyyyyyyyyyyyyyyyyyyxyyyyyyxyyyxyxxxyyyyyyyyyxxyyyyyyyyyyyxyyyxyyyyxyyyyyxyyxyyyyyyyyyyyyyyyyyxyyxyyyxyyxxyyyyyyyxyxyyyyyyyyyxxyyyxyyyyyyyyyyyxyxyyxxyyyxyyyxyyyyyxyyxyxxxyyyyyyyyyyxyyyyyxyyyyxyyyyyyyyyyyyyyyxyyyyxyyxyxyyyyyyyyyyyxxyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyqiiilyyyyxiiipxxjiiixyyyyliiivyyyyyyqiiilyyyyxiiipyxjiiixyyyyliiivyyyyyyqiiilyyyyxiiipyxjiiixyyyyliiivyyyyyyyyyyyyyyyyyyyyykiiilyyyyyyyyyyyyyyyyyyyyyyyyyliiinyyyyyyyyyyoiiiihhhhhhhhhhhhhhhiiiivyywiiiihhhhhhhhhhhhhhhiiiinxyyyyyyyyyyyxyyyyyyzyxupkhhiiihryyyyyyyyysiiilyyyypiiioyyyyyyyysiiijyyxymiiirxyyyyyyyyyliiikyyyyxyyyyyyyyyyyypiiiiuyyyyyyyyyyyyyysiiiioyyyyyyyyyyyyxyyyyyyyyyyyyyxyyyyyiiiimyyyyyyxyyyyyyyyyyyniiiixyyyyyyxyyyyyyyyyyyuiiiiuyyyyyyyyyyyyyyoiiikyyyyyliiinyyyyyxyyxyliiinyyyyyyyyxyyyyuiiijyyyyyyyyyyxyyyyyyyyyyyyyyxyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyxyyyyyyyyyyyyyyyyyxyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyxyyyyyyyyyyyyxyyyyyyyyyyyyyyyyyyyyyyyyyyyyxyyxyyyyyyyxyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyywiiiixyyytiiityyniiityyywiiikyyyyyyywiiiixyyytiiityyniiityyywiiikyyyyyyywiiiixyyysiiityyniiityyywiiikyyyyyyyyyyyyyyyyyyyyyykiiilyyyyyyyyyyyyyyyyyyyyyyyyyliiinyyyyyyyyyyoiiiiiiiiiiiiiiiiiiiiiiiuyyviiiiiiiiiiiiiiiiiiiiiiimyyyyyyyyyyyyyyyyyyyyyyyyxrjhiiijxyyyyyyyywiiiixyyykiiisyyyyyyyywiiiivyyxjiiivyyyyyyyyyyliiikyyyyyyyyyyyyyyyyypiiiiuyyyyyyyyyyyyyyviiiimyyyyyyyyyyyyxyyyyyyyyyyyyyyyyyyyiiiimyyyyyyyyyyyyyyyyyyniiiixyyyyyyyyyyyyyyyyyyuiiiivyyyyyyyyyyyyyypiiijyyyyyliiinyyyyyyyyyykiiipyyyyyyyyyyyyyviiijyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyxyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyxyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyxyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyykiiityyyoiijxyyriiioyyyriiiqyyyyyyyykiiityyyoiijxyyriiioyyyriiipyyyyyyyyliiityyyoiijyyyriiioyyyriiiqyyyyyyyyyyyyyyyyyyyyyykiiilyyyyyyyyyyyyyyyyyyyyyyyyyliiimyyyyyyyyyyniiiihhhhhhhhhhhhhhhhhhhuyyviiiihhhhhhhhhhhhhhhhhhhlyyyyxxxxxyyyyyyyyyyyyyyyyzvjiiihtyyyyyyyyykiiityyxiiiixyyyyyyyyykiiiryyviiikyyyyyyyyyyyliiikyyyyyyyyyyyyyyyyypiiiiuyyyyyyyyyyyyyyxiiiijyyyyyyyyyyyyyyyyyyyyyxxyzyyyyyyyiiiimyyyyyyyyyyyyyyyyyyniiiixyyyyyyyyyyyyyyyyyytiiiiwyyyyyyyyyyyyyyqiiijyyyyyliiinyyyyyyyyyykiiipyyyyyyyyyyyyywiiijyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyxyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyxyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyqiiioyyyjiimyyywiiikyyymiiivyyyyyyyyqiiioyyyjiimyyywiiikyyymiiivyyyyyyyyqiiioyyyjiimyyywiiikyyymiiivyyyyyyyyyxyyyyyyyyyyyykiiilyyyyyyyyyyyyyyyyyyyyyyyyyliiinyyyyyyyyyyniiijqqqqqqqqqqqqqqqqqqqwyyviiiinqqqqqqqqqqqqqqqqqqsyyyynjjjmyyyyyyyyyyyyyyyyyzsiiiioyyyyyyyyypiiiqyysiiilyyyyyyyyyypiiinyyqiiioyyyyyyyyyyyliiikyyyyyyyyyyyyyyyyypiiiiuyyyyyyyyyyyyyyyliiiivyyyyyyyyyyyyyyxyyyyymlpsvyyyyyyiiiimyyyyyyyyyyyyyyyyyyniiiixyyyyyyyyyyyyyyyyyytiiiivyyyyyyyyyyyyyypiiikyyyyyliiinyyyyyyyyyyliiioyyyyyyyyyyyyyviiijyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyywiiijyyviiiqyyyykiiiwyxiiikyyyyyyyyyviiijyyviiiqyyyykiiiwyxiiikyyyyyyyyyviiijyyviiiqyyyykiiivywiiikyyyyyyyyyyyyyyyyyyyyyyykiiilyyyyyyyyyyyyyyyyyyyyyyyyyliiinyyyyyyyyyyoiiiizzzzzzzzzzzzzzzzzzzyyywiiiirzzzzzzzzzzzzzzzzzzyyyyynhhhiyyyyyyyyyyyyyyyyyyyjiiinyyyyyyyyytiiimyyniiiqyyyyyyyyyyuiiijyymiiityyyyyyyyyyyliiikyyyyyyyyyyyyyyyyypiiiiuyyyyyyyyyyyyyyyqiiiiqyyyyyyyyyyyyyyyyyyyxihhijxyyyyyiiiimyyyyyyyyyyyyyyyyyyniiiixyyyyyyyyyyyyyyyyyyuiiiivyyyyyyyyyyyyyyoiiilyyyyyliiinyyyyyyyyyymiiinyyyyyyyyyyyyyuiiijyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyykiiiwyqiiiwyyyypiiisytiiiqyyyyyyyyyykiiiwyriiivyyyypiiisytiiiqyyyyyyyyyykiiiwyqiiiwyyyypiiirysiiiqyyyyyyyyyyyyyyyyyyyyyyykiiilyyyyyyyyyyyyyyyyyyyyyyyyyliiinyyyyyyyyyyqiiiiwyyyyyyyyyyyyyyyyyyyyyyiiiioyyyyyyyyyyyyyyyyyyyyyyyqiiiivyyyyyyyyyyyyyyyyyykiiimyyyyyyyyyxiiijyyjiiivyyyyyyyyyyxjiiixyjiiixyyyyyyyyyyyliiikyyyyyyyyyyyyyyyyypiiiiuyyyyyyyyyyyyyyywiiiikyyyyyyyyyyyyyyyyyyysiiiimyyyyyyiiiimyyyyyyyyyyyyyyyyyyniiiixyyyyyyyyyyyyyyyyyyxiiiisyyyyyyyyyyyyyyliiimyyyyyliiinyyyyyyyyyyoiiikyyyyyyyyyyyyyriiijyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyypiiiryniijyyyyyuiiinyniiivyyyyyyyyyyqiiirymiijyyyyyuiiinyniiivyyyyyyyyyypiiirymiijyyyyytiiinyniiivyyyyyyyyyyyyyyyyyyyyyyykiiilyyyyyyyyyyyyyyyyyyyyyyyyyliiinyyyyyyyyyytiiiisyyyyyyyyyyyyyzzzyyyyyyliiikyyyyyyyyyyyyyyzzyyyyyyyvhiiipyyyyyyyyyyyyyyyyyyjiiinyyyyyyyyyyliiiwxiiijyyyyyyyyyyyymiiitviiilyyyyyyyyyyyyliiikyyyyyyyyyyyyyyyyypiiiiuyyyyyyyyyyyyyyyyliiiityyyyyyyyyyyyyyyyyykiiihtyyyyyyiiiimyyyyyyyyyyyyyyyyyyniiiixyyyyyyyyyyyyyyyyyyyjiiioyyyyyyyyyyyyyyiiiipyyyyyliiinyyyyyyyyyysiiiiwyyyyyyyyyyyyniiijyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzyyyyyyyyyyyzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyviiimyjiioyyyyyyjiijyjiikyyyyyyyyyyyviiinyjiinyyyyyyjiijyjiikyyyyyyyyyyyviiimyjiinyyyyyyjiijyjiikyyyyyyyyyyyyyyyyyyyyyyyykiiilyyyyyyyyyyyyyyyyyyyyyyyyyliiinyyyyyyyyyyxiiiimyyyyyyyyyyyyytruuxyyyzoiiiiuyyyyyyyyyyyyyqtuvxyyyyyjiiijwyyyyyyyyyyyyyyyyviiiiryyyyyyyyyypiiistiiinyyyyyyyyyyyyriiiqriiiqyyyyyyyyyyyyliiikyyyyyyyyyyyyyyyyypiiiiuyyyyyyyyyyyyyyyythiiikxyyyyyyyyyyyyyyyyriiiijxyyyyyyiiiimyyyyyyyyyyyyyyyyyyniiiixyyyyyyyyyyyyyyyyyyymiiijyyyyyyyyyyyyysiiiityyyyyliiinyyyyyyyyyywiiiiqyyyyyyyyyyyxiiiijyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyykiijviiityyyyzyniiisiiiqyyyyyyyyyyyykiijuiiityyyyyyniiiriiiqyyyyyyyyyyyykiijuiiityyyyyyniiiriiiqyyyyyyyyyyyyyyyyyyyyyyyykiiilyyyyyyyyyyyyyyyyyyyyyyyyyliiinyyyyyyyyyyyliiiiuyyyyyyyyyyyyjhiikyyyyuiiiimzyyyyyyyyyyyrhiiisyyyyyqiiiimyyyyyyyyyyyyyyyzmiiihwyyyyyyyyyyuiiipoiiisyyyyyyyyyyyyviiinoiiivyyyyyyyyyyyyliiikyyyyyyyyyyyyyyyyypiiiiuyyyyyyyyyyyyyyyyyliiihnyyyyyyyyyyyyyyzviiiihryyyyyyyiiiimyyyyyyyyyyyyyyyyyyniiiixyyyyyyyyyyyyyyyyyyysiiiiryyyyyyyyyyyykiiiixyyyyyliiinyyyyyyyyyyymiiijwyyyyyyyyyyoiiiijyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzyyyzyyyyyyyyzyyyyyyyyyyyyyyyyyyyyyyyzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyypiiiniiixzyyyyyriiijiiivyyyyyyyyyyyypiiiniiixyyyyyyriiijiiiwyyyyyyyyyyyypiiiniiixyyyyyyriiijiiivyyyyyyyyyyyyzzzyyyyyyyzykiiilyyyyyyyyyyyyyyyyyyyyyyyyyliiinyyyyyyyyyyyshiiikwzyyyyyyyyyphiihpyyyyykiiihqzyyyyyyyyzviiiiixyyyyyxjiiihoxzyzyzyyyyyyzyqhiiimyyyyyyyyyyyyjiilkiiiwyyyyyyyyyyyyyjiilliijyyyyyyyyyyyyyliiikyyyyyyyyzyyyyyyyypiiiiuyyyyyyyyyyyyyyyyyviiiihnxzyyyyyyyyyyzujiiiilyyyyyyyyiiiimyyyyyyyyyyyyyyyyyyniiiixyyyyyyzyzyyyyyyyyyyxjiiiiuzyyyyyyyyypiiiioyyyyyyliiinyyyyyyyyyyyuhiiilxzyyyyyzyriiiiijyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzyyyyyyyyyyyyyyyyzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyuhiiiiilyyyyyyywiiihiilyyyyyyyyyyyyyuhiiiiikyyyyyyywiiihiikyyyyyyyyyyyyyuhiiiiikyyyyyyywiiihiikyyyyyyyyyyyyxxxxxyyyyyyyykiiilyyyyyyyyyzyyyyyyyyyyyyyyyliiinyyyyyyyyyyyykiiihkuyzyzzzzyphiiiiwyyyyyshiiihpxzzzyzzzukiiihpyyyyyyzshiiihktyzzzyyzzzywohiiiivyyyyyyyyyyyymiiiiiikyyyyzyyyyyyyyypiiiiiinyzyyyyyyyyyyyliiikyyyyyyyyyyyyzyyyypiiiiuyyyyyyyyyyyyyyyyyyqhiiihksyzzyyyzzzxqjhiiiivyyyyyyyyiiiimyyyyyyyyyyyyyyyyyyniiiixyyyyyyyyxxxxyyyyyyyyrhiiijtyzyyyzzxohiiiiwyyyyyyliiinyyyyyyyyyyyzmhiihktyzzzywpiiiiiijyyyyyyyyyyyyyyyyzyyzyyyyyyzyyyyyyzyyyzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzyyyyyyyyyyyyyyyyyyyyyyyyyyzyyyyyyyyyyyyyyyyyyyyzyyzyyyyyyyyyyyyyyyyyyyyzyzyyyyyyyyyyyzyyyyyyyyyyyyyyyyyyyyyyyzyyyzyyyyzyyyzyyyyyyyyyyyyyyyyyyyyyyzzyyyyyyyyyyyyyyyyyyyyzyyyyyyyyyzzyyyyzzyyyyyyyyzyyyyyyyzyyyyyzyyzyyyyyyyyyyyyyyyzyyyyyyyyyyyzyyyyyyyyyyyyyyyzyyyzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyjiiiiiqyyyyyyyykiiiiiqyyyyyyyyyyyyyyjiiiiiqyyyyzyyykiiiiiqyyyyzyyyyyzyyyjiiiiiqyyyyyyyykiiiiiqyyyyyyyyyyyykjjjjxyyyyyyykiiilyyyyyyyyyyyyyyyyyyyyyyyyyliiinyyyyyyyyyyyyviiiihiotwxxvrlhiiihrzyyyyyynhiiihlrvxxwtoihiihkxyyyyyyyyohiiihilquwxxxvsojhiiihryyyzyyyyyyzyyqiiiiiipyyyzyyyyyyyyyytiiiiiisyyyyyyyyyyyyyliiikyzyyyyyyyyyyyyyyypiiiiuyyzyzyyyzyyyyyyyyyyohiiihhlquwxxwupkhiiihitzyyyyyyyyiiiimyyyyyyyyyyyyyyyyyyniiiixyyyyyyysjjjjqyyyyyyyylhiiiinsvxxvrkhiiihryyzyyyyliiinyyyyyyyyyyyywjiiihilpqqnihihiiiijyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzyyyyyyyyyyyyyyzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzyyyyyyyyyyyyzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzyyyyyzyyyyzyyyyyzzyyzyyyyyyyyyyzzyyyyyyyyzyyzzyyyyyyyyyyyyyyyyyyyyyzyyyyyyyyyyzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzyyyyyyoiiiiiuyyyyyyyyoiiiiiwyyyyyyyyyyyyyyoiiiiiuyyyyyyyyoiiiiiwyyyyyyyyzyyzzyoiiiiiuyzyyyyyyoiiiiiwyyzyyyyyyyyyjhhhhxyyzyyyykiiilyzyyzyyyzyyzyyyyyyyyyyyyyliiinyyyyyyyyyyzyzsihiiihijjjihhiiihozyyyyzyyxlhiiihhijjjihhiihjvzyyyyyzyyyohhiiihhiijjjihhhiihhqyyyyyyyyyyyyyyviiiiiiuyyyyyyyyyyyyyyxiiiiiiwyzyyyyzyyyyyyliiikyyyyyyyyyzyyyyzyypiiiiuyyyyyyyyyyyyyyyzzyzyohhiiihhijjjjihhiiihjtzyyzyyyyyyiiiimyyyyyyyyyzyzyyyyyyniiiixyyyyyyzrhhhhpyyyyyyyywkhiiihiijjihhiihhpyyyyzyyyliiinyyyyyyyyyyyyzuihiiihhhhhhhhkoiiijyyyzyyyyyyyyyzzyyyyzyyyyyyyyyyyyyyyyyzzyyyyyzyyyzyyyyyyyyyyyyyyyyyzyyyyyyyyyyyyyzyyyyyyyyyyyyyyyyyyyyzyyyyyyyyyyyyyyyyyyyyyzyzyyyyyyyyyyyyyyyyyyyyyyyyyyyzyyyyyyzyyyyyyyyzyzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzyyyyyyyyyyyyyyyyyyzyyyyyyyzyyyyyyyyyyyyzyyyyyzyyzzzzyyyzyyyyzyyyyyyyyyyyyyyyyyyyzyyyyyyyyyyyyzyyyyzzyyzzyzyzzyzyyyyyyyyzyyyzyyyyyzyyyyyyyyzzyyzyyyyyyyzzyyyyyyyyyyyyyyyyyyyyyyyyyyyzyyyzyyyyyzyyyzzyzzyzyzyzyyzyyyyyzyyyyyzyzyzyyzyyyyzyyyzyyyyyyyyyuiiiijyyyzyyyyytiiiilyyyzyyyyyyyyyyyuiiiijyyyyyyyyytiiiilyyyyyyyzyyyyyyyuiiiijyyyyzzyyytiiiilyzzzyyyyyyyyyjiiiixyzyyyyykiiilyyyyyyyyzyzyyyyyyyyzyyyyzliiinyyzyzyyzzyyyyztjhhiiihhhhiiihipyzyyyyyyyzxnhhiiihhhhiiihhkvzyyyyyyyyyyyrjhhiiiihhhhhiiihhkszyyyyyzyyyyyyyyyjiiiiiyyzzyyyyyyyyyyyzliiiikyyyyyyyyyzyyyyliiikyyzzzyyyyyyyyyyyypiiiiuyyyyyyyyyyyyyyzzyzyzzsjhhiiiihhhhiiihhhlvzyyyyyyyyyyiiiimyzyyyzyyzzyzyyyyyyniiiixyyyyyyyriiiipyyyyyyyyzwmhhiiihhhhiihhiryyyyyyyyyliiinyzyyzyzzyyyyyzukhhhiiiiihhlwriiijyyyyyyyyzyyyyyyyyyyyzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzyyyzyyyyyzyyyyyyzyyyyyyyyyyyyyyyyyyyzyyyyyyyyyyyyyyyyyyyyyyyzyyyyyyyyyyyyyyyyyyyyyzyyyyyyzyyyyyyyyzyyyyyyzyzyyyyyyyyyzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzyyyyyyzyyyyyyyyyyyyyyyyyyyzyyyyyyzyyzzzzyyyyyyyzyzzzyyzzzyzyzyzyyzzzyzyyzyzzzyyzzyzzzyyyyyzyzyyzyzzyyyyzyyzzzyzyzzzyyzyyyzyzyzzyzyyzyyzyyyyzyyyyyyyyyyyzzyyzyzyyzzyzyzyyyyyzyyzyyyyyyyzyyyyyyzzzzzyzyzyzyyyyyyyyzyzyzyyzyyzzzyyyzyyzzyyzzyyzzzyzyyyihhhmyyzyyyyyyyhhhhryzyzyyyyyyzyyyzyihhhmyzyyyyzzzyhhhhryyyzzyyzzyyzzzzyihhhmyzyzzyyyzyhhhhqzyyzzyyyzyyyyihhhhxyyyyzzzjhhhkzzyyzzyyzyyzyzzyzzyzyzyyykhhhmyzzyyyyzzyyyzzzwoihhhhhhhhhiltzzzzzyzyzyyzzskihhhhhhhhhjpxzyyyyyzzyzyyyzwpkihhhhhhhhhhikpwzyyyyyyyyyzyyzyzznhhhhmyyzyyyyyyyzyyyyzqhhhhpzyyyyzyyyyyyyykhhhjyyyyyyyyyzyyyyyyzohhhhvyyzyyyyyzzzyzyyyyyyzyzwqkihhhhhhhhhhilsyzyyzyzyyyyyyhhhhmyyzzyyzyyyyzyyyyzzmhhhhxyyyyyyyrhhhhpyyyyzyyyyzyrkhhhhhhhhhinvzyyyyyyyyzkhhhmyyyzzyyyzzyyyyzxqkihhhhikqxzqiiikzyyyyyzyyyzyyyyyyzyzyyyyyyzyyyyzyyzyyyzyzyyyyyyzyyzyyyzyyyyzyyyyzyzyyyyyyyyyyyzyyzyyyyyyyzzyyyyyyyyyyyyyyyyyzyyyyyyyyyyyyyyzyyyyyyzzyzyyyyyyyzyzyzyyzyyyzyyyyyyyyzzyyyyzyyzyyyyyyyyyyzyzyyyzzyyyyyyzzyzyyzzyyzzyyyyyyyyyyyyyzyyzzzyyyyyyzyzyzyyzzyyzyyzyyyzyyzyyzzyyzzzzzyyzzyzyzyyyzyzzyzzyyzyzyzzyzyyyzyzzyzyzzzzzzyyzzyzzyzzyzzzzyyyzyzzzzyzyzyzzzzyyzzzzzzzzzyzzyyzzyzzyyzyzzyzzzzzzyzyzzzzzzzzzzzyzzzzzzyyzzyzyyzzyyyzzzyzzzzzzyyyyzyzyzzzzyzyzyzzzzzzzyyyzzyzyzyzzzzyzzzysqqquzyzzzyyzzyrqqqxzyyzzyzyzzyyzyzzsqqquzzzyzzyzzzrqqqxzzyyzyzzzzyzzzzzsqqquzzzzzzzzzyrqqqwyzzzzyzzyzzzyrqqqqyzzzzzzzrqqqsyzyyyyyzzyyzzzzyzzzzyzyzysqqqtyyzzzzzzzzyzzzzzzwrnljjjknpuyzyyzzzyyyzzzzzzytpnjjjjmoswzzzzyzzzyzzzzzyzzzyuqnmjjjjknptyzzzzyyyzzyzzzzzzzzzvqqqquyzzzzyyzzyzzyzyzwqqqqvzzzyzzyyzyzzzzsqqqrzzzyyzzyyyyzyyzyyuqqqqxzzzzzyyzyzzzzzzzyyzyzzzzyuqnmjjjjlnqvyzzyzzyzzzzzzzzqqqqszyzzyzyyzzzyzzzyzytqqqqyyzyzyzzvqqqquyyzyyyyyyzzzxsomjjjknrvzzzyzyzzyyzzsqqqtyyzyyyzyzyyzzyzzzyusqqruyzzzpiiilzzzzyyyzyyzzyyyzyyyzzzzzzzzyyzzyzzzzzyyyzzzyzzyyyyzzyyyzzzzyyyzyyyzzyzyyzzzyzzzyzzzzzyzzyzzyzyzzzyzyzzzyzzzzyzzyyyzzyyyyzzyyzyzyyyyzyzyyyyyzzyzzyyzzyyzzzzyzzzzyyyzyyzzzyyyzyzyzyyzzzzzyzyyzyyyyyzzzzzzzzzzyyyyyzzyzzzyzzzyyyyyzyyzyzyzyzzzyzyyyyzzyyzyzyyyzyzzzzyyzzzzyzyzzyzzzzzzzzzzzzzzzzzzzyzzzyzzzzyzyyzzzzzzzzzzzzzyzzzzzyzyzzzzzyzzzzzzzzzzzyzzzzzzzzzzzzzyzyzzzzzzzzzzzzzzzzzzzzzzzyzzzzzzzzyzyyzzzzyyzzzzzyyzyyzzyzzzzzzzzyzzzzzzzzzzzzzzyyzzzzzyzzzzzzyzzzzzzzzzzzzzzz{zzzzzzzzzzzzzzzzzzzzzzzzyzzzyzzzzz{zzzzzzzzzzzzzz{zzzzzzzyzzyzyzyzzyzz{z{zzyyzzzyzzyzz{{zzzzyzzzzzzzzyzz{z{zzzzzzzzzzz{zzzyzzzyzyzyzzyzzzzzzzzyyyz{{{zzzzzyzyzzzzzzzyzzzzzyyxxyyzzzzyzzzzyzzyzzzzzyzzzyyyxyzzzyzzyzzzyyyzzzzzzzzzzzzyxyxxyzzzzzzzzzyzzzzzzzyzzzyzz{z{{zzzzzzzzzzzzzzzzzz{{z{zzzzzyzzzyzyzzzzz{zzzzzzzzzzzzzzzzzzzz{z{{zzyzzzzyzzzyzzzzzzzzyzzzzzz{zyyyxyyzzzzzyzzzyzzzzzyzy{{zzzyyzzzzzzzzzzzzzyzzzzzz{zzyzzzzzzzzzzzzzzzzzzzyzyzzzzyxyxyyzzzyzzzyzzzyzzz{{{zzzyzzzzzzzz{zzzzzzzzzz{zzzzyoiiinzzzzyzyzzzzzyyzzzzyzzzyzzzyzzzzzzzzzzyzyzzzzzzzzyyzzyzzzzzzyzzzzzyyzzzzzzyzzzzzzzzzzzzzzyzyyzzzzzyzzyzzzzzyzzzzzzzzyzzzzzzyzzzzzzyzzzzzzzyyyzyzzyyzzzzyyzyzyzzzyzzzzyyyzzzzzzyyzzzyzzzzyzzyzyyyyzyzzzzzzzyzzzyzyzzzyzzyzzzzzzzyzzzyzzzyzzzyyyyzyzzzzzzzyzzzzzzzzzzzzzyzzzzzzzzzzyzzzzzyzzzzzzzzzzzzyzzzyyzzzzzzzzzzzzzzyzzyyzzzzzzzzzyzyzzzzzzzzzzzzzzyzzzzzzzzzzzzzyzzzzzzzzzzzyyzzzzzzzzzzzzzzzyzyzzzzzzzzzzzzzzzzzzzzzzyzzzzzzzzzyzzzzzyyzzzzzzzyzzzzzzzzzzzzzzzyzzzzzyzzzzzzzzzyzzzzzyzzzzyzzyyzzzzzzzzzzzzzzzzzzzzzzzzzzzzzyzzzzzzzzzzzzzzzzzzzzzzzzzzzyzzzzzyzyzzzzzyzzzzzzzzzzzzzzzzzzzzzzzzzzzzzyzzzzzzyzzzzzzzzzzzzzzzyzzzzzzyzzyzyyzzyzzzzzzzzzzyzzzzzzzzzzzzzzyzzzzzzzzzzzyyyzzzzzzzzzzzzzzzzzzyzzyzzzzzzzzzzzzzzzzzzzzzzzzzzzzyzzyzzyzyzyzzzyzzzzyzzzyzzzzyzzyzzzzyzzzzyzzzyzzzzzzzzzzyzzzzzyzzzzzzzzzzzzyzyzzzzyzzyzzzzyzzzzzzyzyzzzzzzyzzzzzzzzzzzzzyzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzyzzzyzzzzzzzyyzzzzzyyzzzzzzzzzzzzzzzzzzzzzzzzzyzzzzzzzzzzzzzzzzzzzyzzquuxzzzzyzyzzzzzzliiipzzzzzzzzzzzzyzzzzzzyzzyzzzzyzzzzzzzzzzzzzzzzzzzzzyzzzzzzzyzzzzyzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzyyzzzzzzzzzzzzzzzyzzyzzzzyzzzzzzzzzzzzzzyzzzzzzzzzzzzzyzyzzyyzzzzyzzzzzzzyzzzyzzzzzzzzzyzzyzzzzzyzyzzzzzzzyzzzzzzzyyzzzzzyyzzyzzzzzzzzzzzzzzzzzzzyzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzyzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzyzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzyzzzzzzzzzzzzzzzzzzzzzzyzzzzzyzzzzzzzzzzzzzzzzzzzzzzzzzzyzzzyzzzzzzzzzzzzzzzzzzzzzzzzzzzyzzzzzzzzzzzzzzyzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzyzzzzzzzzzzyzzzzzzzzzzzzzzzzzzzzzyzyzzzzzzzzzzzyzzzzzzzzyzzzzzzzyzzzzzzzzzzzyzzyzyzzzzzzzyzzzzzzzyzzzzzzzzzzzzzzzzzzzzzzyzzzzzzzzzzzzzyyzzzzzzzzzzzzzzzzzzzzyzzzzzzzzzzzzzzzzyzzzzzzyzzyzzzzzzzzzzzzzzzzzzzzzzzzzzzzzyzzzzyzzzyzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzyzzzyzzzzzzzzzzyzzzzzyzzzzzzyzzzzyzzyyyzzzzzzzzyzzzzzzzzzzzzzzzyyzzzzzzzzzzzzzzhiijtzzzzzzzzzzzwiiiitzzzzzzzzzzzzzzzzzzzzzyzzzzzzzzzzzyzzzzzzzzzzzzyzzyzzzzyzyzzyzzzzyyyzzzzzzzzzzzzzyzzzzzzzzzzzzzzzzzyzzzzzzzyzzzzzzzzyzzzzzzzzzzzzyzzzzzzyzzzzyzzzzzzzzzzzzzyzzyzzzzzzzzzzzzzyzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzyzzzzzyzzzzzyzzzzzzzzyzzzzzzzzzzzzzzyzyzzzzzzzzyzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzyzzzzyzzzzzzzzzzzzzzzzyzzzzzzzzzzzzzzzzzzzzzzzzzzzyzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzyzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzyzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzyzzyzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzyzyzzzzzzzzzzzzzzzzzzzzzzzzzzzyzzzzzzzzyzzzyzzzzzzzzyzzzzzzzzzzzzzyzzzyzzzzzzyzzzzzzzzzyzzzzzyyzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzyzzyzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzyzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzyzzzzzzzzzzzzyzzzzzyyzzzzzzzzzzzzzzyzzzzzzzzzzzzzzzzzzzyzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzyzzzzzzzzzzzzzzzzzyzyzzzzzzzzzzyzzzzzzzzkiihnzzzzzzzzzzzmiiiixyzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzyzzzzzzzzzzzzzzyzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzyyzzzzzzzzzzzzzzzzzyzzzzzzzzzzzzzzzzzzzzyzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzyzzyzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzyzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzyzzzzzzzzzzzzzzzzzyzyzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzyzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzyzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzyzzzzzyzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzyzzzzzzzzzzzzzzzzyzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzyzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzyzzzzzzzzzzzzzzzzzzzzzzyzzzzzzzzzoiiiirz{zzzz{{yohiiinzzzzzzzzzzzzzzzzzzzzzyzzzzzzzzzzzzzzzyzzzyzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzyzzzzzzzzzzzzzzzzzzzzyzzzzzzyzzzzzzzyzzzzzzzzzzzzzzzzzzzyzzzzzzzzyzzyzzzzzzzzzzzzzzzzzzzzzzzzzzyzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzyzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzyzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzyzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzviiiiintwyyyurkhiiiiwzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzyzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzyzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzyzzzzzzzzzzzzzzzzzzzzzzzzzzohiiihhijjjihhiihiszzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzyzzzzzzzzzzyzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz{zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzyohhiiihhhhiiihhjtzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzslihhhhhhhhhiowzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz{zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz{zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz{zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz{zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz{ytpnjjjjlnrwzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz{{zyyyyyz{{zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz{zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz{zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz{zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz{zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz{zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz{zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz{zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz{zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz{zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz{zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz{zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz{zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz{zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz{zzzzzzzzzz{zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz{zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz{zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz{zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz{zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz{zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz{zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz{zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz{zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz{zzzzzzzzz{zzzzzzz{zzzzzzzzzzzzzzz{{{zzzzzzzzzzzzzz{zzzzzzzz{zzzzz{{zzzzzzzzzzzzzzzzzzzzzzzzzzzzz{zz{zzzzz{{zzzzzz{zz{z{zzz{zzzzzzzzzzzzzzzzzzzzzzzzzzzzz{z{zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz{zz{zzzzzzzzzzzzz{zzzzzzzzzz{zzzzzzzzzz{zzzzzzzz{zzzz{zzzzzzzzzzzzzzzzz{{zzzzzzzzzzzzzzz{zzzzzzzzzzzzzz{z{{zz{zzzzzzz{{zzzzz{zzzz{zzzzzzzzzzzzzzzz{zzzzzzzzzzzzzz{zzzzzzzzzzzzzz{zzzzzzzzzzzzzzzzzzzzzz{zzzzz{zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz{zzzzzzzz{zzzzzzzzzzzzz{{zzzzzzzzzzzzzzzzzz{z{zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz{zzzzzzzzzzzzzzzzzzzzzzzzz{zzzzzzzzzzzzzzzzzzzzz{zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz{zzzzzz{zz{zzzzzzzzzzzzzzzzzzzzzzzzzzzzzz{zzzzzzzzzzzzzzzzzzzzzzzz{z{zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz{zzzz{zzzzzzzzzzzzzzzzzzzzzzzzzzz{zzzzzzzzzzzz{zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz{zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz{zzzzzz{{zzzzzzzzzzzzzzzzz{zzzzzzzzz{zzzzzzzzzzzz{zzzzz{zzzzzz{zzzzzzz{zzzzzzzzz{zzzzz{{z{zzzzzzzzzzzzzzzzzzzzzzzzz{zzzzzzzzzzzzz{zz{zzzzzzzzzzzzz{zzzzzzzzzzzzzzzzzzz{zzzz{zzzzzzz{zz{z{zz{zzzzzzzzzzzzzzzzzzzzzzz{zzz{zzzz{{zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz{zzzzzzzzzzz{zzz{zz{zzzzzzzzzzzz{zz{z{zzzzzzzzzzzzzzzzzzzzzzzzzzzz{zz{zzzzzzz{z{z{{zz{z{zzzzzz{zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz{zzzzzzzz{zzzzz{zz{zzzzzzzzzzzz{zz{zzzzzzzzzzzzzzz{zzzzzzzzzzzzzzzzzz{{zzzzz{zzzz{zzzzzzzzz{zzzzzz{zzzzzz{zzzzzz{zzzzzzzz{zzzzzz{zzz{zzzzzzzzzzzzzzz{zzzzzzzzzzzzz{zzzzzzzzzzzzzz{zzzzzzz{zzzzzzzzzzzzzzzzzzzzzzzz{zzzzzzzzzzzz{{zzzzzzzzzzzz{zzzzz{zzzzzz{z{zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz{zzzzzzzzzzzzzzzzzzzzzzzzzzzz{{zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz{zzz{zzzzzz{zzzzzzzzzz{zzzzzzzzzz{zzz{{zzzzzzz{{zzzzzzzzz{zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz{zzzzzzzzzzzzzzzzzz{zzzzzzzzzzzzzzzzzzzzzzzzzzzzz{zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz{zzzzzzz{zz{zzzzzzzzzzzzzzzzzzzzzzz{zzzzz{zzzzz{zzzzzzzz{zz{{zzzzzzzzzzzzz{zz{zzzzzzzzzzzzzzzz{zzz{z{z{zzzzzz{zzzzzz{z{zzz{zzzzzzzzzzzzzzzzzzz{zzzzzzzz{zzzzzzzzz{zzzzzzzzz{z{zzzzzzz{zzzzzzzzzzzz{zzzzzzzzzzzzzzzz{zzzzzzzzzzzzzzzzzz{zzzz{{zzz{zzzzzzzz{{zzzzzzzzzzzz{zz{zzzzzzzz{zz{z{zzzz{zzzzzzzz{z{zzzz{zz{zzzz{{zzzzzzzzz{zzzzzz{z{zzz{{{zzzzzzzzzz{zzzzz{zzzzzz{zzzzzzzzzz{zzzzzzzzzzz{{zzzzz{zzzzz{zzzzzzzzzzzzzzzzzzzzzzzzzzz{z{zzzz{zzzzz{zzz{{zzzzzzzzzzzz{zz{zzzzzzzzzzzzz{zzzzz{zzzzzzz{zzzzzzzzzzz{zz{{zzzzzzzzzzzzz{zzzzzzzz{zzzzz{{zz{zzzzzzz{{z{zz{zzzz{zzzzzzzzzzzzzzzzzzzzzzzzz{z{zzz{zzzzzzzzzzzzzzzzzzzzzzzzzzzzzz{zzzzzzzzzzzzzzzzzzzzzzzzzzzzz{zzzzzzzzzzz{zzz{zzzzzz{zz{zzzz{zzzzzz{zzzzzzzzzzzzzzz{zzzzzz{zzzzzzz{z{zzzzzz{zzzzzzzzzzz{zzzzzzzzzzzzz{zzzzzzzzzzzzzzzzzzzzzzzzzzzzz{zzzzzzz{zzzzzzzzzz{zzzzzzzzzzz{zzzzz{z{zzzzzz{zzzzzzzzzzzzz{zzz{zzzzzzzzzzzzzzzzzzzzzzzzzzzz{zzzzzzzzzzzzzzzzzz{zzzzzzzzzz{zzzz{zzzz{zzzzzzzzzz{z{{zzzzzzzzzzzzzzzzzzzz{zzzzz{zz{zzzzzz{{zz{z{zzz{zzzzzzzzz{z{z{{zzz{zzzzz{z{z{z{{{zz{z{zzzzzzzz{zzz{zzzzzz{zzzz{zzzzzz{{zzz{zzzzzzzzzzzzzzzz{zzzzzzzzzzzzzzzzzzzzzzz{zzzzz{zzzzz{zzz{z{zzzzzzzzzzzz{zzz{{z{zz{z{z{z{zz{z{z{zzzzzzzzz{zzz{zz{zzzz{zzzzz{{zzz{zzzz{zz{{zzz{zzzz{zzzzzzzz{zzzzzz{{zz{zz{{{zzzz{zzzzzzzzzzz{zzz{z{zzzzzzzzz{{z{zzz{{zzzzzzz{{zzzz{zzz{z{z{zz{zzzzzz{{{zz{zzzz{z{zzz{zzzzz{z{zzzz{zz{zzzz{{z{z{zzzzzzzzzzzzzzz{zzzzzzzzz{{zzz{zzzzzzzzzzz{zz{z{zz{zzzz{zz{{{z{{z{{{z{zzzzzzz{zzzzzzzz{zzzzzzzzzzzzz{{zzz{zzz{{z{z{zzzzz{{zz{{zzzzzzz{zzzzzzz{zzzzzzzzz{zz{{zzzz{zzzzzzzzzzzzzz{zz{zz{zz{zzzzzzz{z{zzz{zz{z{{{{zzzz{zzzzzzz{{{zz{zzzzzzzzz{zzzzzzzz{zzzzzzzzzzz{zzz{{zzzz{z{z{z{zzzzzzzzzzzz{{zzzz{z{{zzzzzz{zz{{{z{zzzz{zz{zzzzzz{zzz{{zzz{zzzzz{zzzzzzz{zzz{{{{z{{zzzz{z{{zzz{zz{{{z{zzzzz{zzz{zzz{zzzzzz{zzzz{zzzz{zzzz{zzzzzzzzzzzz{zzz{zzzzz{z{z{{z{{zzzzzzzzzz{zzzzzzzzz{z{zz{{z{zzzzzz{zzzz{zzz{zz{zzzzzzzzzzzzz{zzz{zzzzz{zzzzz{z{zzzz{z{{zzzzzzzzzzzz{zzzz{z{zzzzzzz{zzz{zzzzzzzzzzzzz{{zz{z{{zzz{zz{zz{{zzz{zz{{zz{z{{{z{{{zzzz{z{{z{zz{z{z{z{zz{{z{{z{{z{{{zzz{zzzzzz{{zzz{z{zz{zzzzzzzz{zzzz{{{zzzz{zzz{zzzzzz{zzz{{z{z{{{zz{z{z{{z{{{zzzz{zz{zzzzzzzzzzzz{zz{zzz{{zz{z{{{zzzzz{{zzz{z{zzzz{{zzzz{z{z{{zz{{zz{zzz{z{z{{z{zzz{{{zzz{{zzzzzzz{{{z{{zzzz{{zzzz{zz{{zzzzz{z{{zz{zzz{{{zz{zz{{zzzzzzzzzz{{{{{zz{zzzzzzzzz{zz{z{{z{z{{z{{z{z{{z{zz{{{zzzz{zzzzz{zzzzzz{{{zz{zzz{zzzzzzzz{zz{z{zzz{zzz{zz{zzzz{zzzzzzzzz{zzz{{zzzzzzzzzzzzzz{zzzzz{{{zzz{{{z{{{zzz{zzz{z{zzzzzzz{zzz{zzz{zzzzzzzzz{{zzz{z{z{{{{zzzz{{z{z{zzzz{{{{zz{zzzzz{{zzzzzzz{{zzzz{z{{zzz{zz{zzzzz{zz{z{zz{{{z{{zzzzzzzz{z{z{{{z{{zzzzzzzzzz{zzzz{zzz{zzz{z{zzzz{zzz{zz{z{{z{{{zzz{z{z{z{{{{{zz{zz{z{zz{{{{z{z{zzzzzz{zzzzzz{zzz{z{zz{zzzzzzz{z{z{{zzzzz{z{z{zzzz{{z{zzzzzzz{{zz{{zz{z{z{z{zzzzz{{{{{z{zzz{zzzz{z{{zzzzzzzz{zz{{z{z{zz{zz{zzzzzzzzz{z{z{zz{z{zzzzz{{{zzz{zz{{zzzzz{zzzzzzzzzz{{zzzz{{{{z{zz{{zz{{z{zzz{{{zz{{zzzzz{zzzzz{zzzz{{z{zzz{zzzzzz{zzz{{z{{zzz{{zzz{zz{zz{{zz{zzz{zz{zz{zzz{z{zzzz{zzz{zz{zzzz{{z{z{{{{{{{z{{{{z{{z{{{{{{{{{zz{{{{zz{{z{{{{{zz{{{{z{{{{{z{zz{{z{{{z{z{z{zz{{z{{{{{{{{z{zz{{{zz{{{z{{{{{{{{{{{{zzz{zz{{{{{{{zz{{{{{{z{{{{{{{{{{z{z{{{z{{{z{{{{{zz{z{{{{{z{z{{zz{{{{{{zzz{{z{z{{{z{{z{{{{{{{{{{{{zz{{z{{{zz{{{{{zz{zz{{{zz{{{{zzzz{{{{{{{z{{z{{{{{{z{{{{z{zzz{{{{{{zz{{{{{z{{{{{{z{{{zzz{zzz{{{{{{z{{z{z{zz{{z{{{{z{{{z{{{z{{{{z{zz{{zzz{zzz{zzzzzzzz{zz{z{{z{z{{z{{zzzzz{zzz{z{z{zz{{zzz{{{{{{{z{z{zzzz{z{{{z{{{{{zz{{zz{zzzzz{zz{z{{{{z{z{{zz{{{{zz{z{z{z{z{zzzz{{{z{{zz{{{zzz{zzz{{z{zz{{z{z{z{{z{{zz{{zzz{z{z{z{z{z{zzz{z{{zzzzzzz{z{zz{{{{{zz{{{{{{{zzz{{{{z{{z{zz{z{{z{z{z{{z{{zzzzzzzz{z{{{{{{{{{z{{{{z{zzz{z{zzzz{{z{{{z{zzz{{z{{{{{z{zz{{{{z{z{{{z{z{{z{zz{zz{{zzz{zz{zz{{{z{z{{{z{{zzz{zzzzzzz{z{{{{z{{zz{z{zz{{{{{{zzzz{z{zzzzz{zz{{{zzz{{{zz{{z{zzz{z{z{zzzzzzzzz{{{{zzz{{{{{z{zzz{{z{zzzzzzzz{z{zzz{zz{zzzz{zzz{{zzzzz{{{zz{{zz{{{{{{zzzzz{zzz{{{zzzzzzz{zz{{z{z{zz{z{{{{zz{zzzzzzz{zzz{zz{z{zzzz{z{{z{zzz{z{z{zzzzz{z{zz{zz{zzz{zzzz{zzzzzzz{zzzzzz{zzz{{z{zzzz{zz{{{{{{{{{{{{{{{{z{{z{{{{{{{{{{{{{z{{{{{{{{{{{{{{{{{z{{{{{{{{zz{{z{{{z{{{{z{z{{z{{z{{{{{{{{{{{{{{{{z{{{z{{z{{{{{{{{{zz{{{{{{{{{{zz{{z{{z{{{{{{{{{{{z{{z{{{{{zz{{{z{{{{z{{{z{zzz{{{z{{z{z{{{{{{zz{{{{{z{{{{{z{z{{z{z{{{{{z{{z{{{{{z{{{{{{{zz{{{{{zz{{{{{{{{{{{{{{z{{{{zz{{z{z{{{{{{{{z{z{{{{{z{{{{{zz{z{{{{z{{{{{{{{z{{z{{{{z{{{{{{{{{{{{{{{{{{{z{zz{{{{z{{{{{{{{{{{{{{{z{{{{{{{{{{{{{{{{{{{z{{{{{{z{{{{{{{z{{{{{{{{{{zz{{{{{{{{{{{{{{{{{zz{{z{{{{z{{{{{{{{{z{{{z{{zz{{{z{{{{{{{{{{{{{{z{{z{{{{{zz{z{{{{{zz{{{{{{{{{{z{{z{{{z{{{z{{{{{{{z{{{{{{z{{z{{{z{{{{{z{{{{{{{{{zz{{{{{{{zz{{{{{{{{z{{{z{{{{{z{z{zzz{{{{z{{{{{{{{{{{z{{z{z{zz{{{{{{{{{{z{{{{{{{{{{{{{{{{{{{{{{{{zz{{{{{{{z{z{zz{z{{{{z{{{{{{{{z{{zz{{{{{{{{{{{{z{{{z{z{{{{{{{{{z{{{{{{{{{{z{zz{{{{z{z{z{{z{z{{{{{{z{{z{zz{z{{{{{{{z{{z{{{{{{{zz{{{z{{z{zzz{zz{{z{{{z{{z{{{{{z{{{z{{{{z{z{{z{zzz{{{z{{zz{{{{{{{{z{z{{{zz{z{{{{z{{{{{{{{{{{{{{{{{{z{{z{{z{zz{{{{z{z{{z{{{z{z{z{{{{zz{{{{{{{{{{{{{{{{{zzz{zz{zz{{{{z{{{{zz{{zz{{{{zz{{{{zzz{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{z{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{z{{{{{{{{z{{z{{{{{{z{{{{{{{{{{{{{{{{{z{{{{{{{{{{{{{{{{{{{{{{{{{z{{{{{z{{{{{{{{{{{{{{{{{{{{{{{z{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{z{{{{{z{{{{z{{{{{{{{{{{zz{{{{{{{{{{{{z{{{{{z{{{{{{{{{{{{{{{{{{z{{{{{{{{{{{{{{{z{z{{{{{{{{{{{{{{{z{z{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{z{{z{{{{{{{{z{z{{{{{{{{{{{{{{{zz{{{{{{{{{{{{{{{{{{z{{{{{{{{{{{{{{{{{{{{{{{{{{zz{z{{{{{z{{{{{{{{{{{{{{{{{{{{{{{{{{z{{{{{{{z{{{{zz{{{{{{{z{{{{{{{{{{{{{{{{{{z{{zz{{{{{{zz{{{{{{{{{{{{{{{{{{{{{{{z{z{{{{{{{{{{{{{{{z{z{{z{{{{{{{z{{{{{z{{{{{{{{{{{{{{{{{z{{{{{{{z{{{{{{{{z{{z{{{{{{z{{{{{{{z{{{{{z{{{{{{{{{{{{{z{{{z{{{{z{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{z{{{{{{{{{{{z{{{{{{zz{{{{{{{{{z{{{z{{{z{{{{z{{{{{{{{z{{z{{{{{{{{{z{{{z{{{{z{z{{{{zzz{{z{{{{{{{{{z{{{{{{{{{{z{{{{{{{{{{zz{{{{{{{{{{{{{{{{{{{{{{{{{{z{{{z{{{{{{z{z{zz{{{z{{{{{{{{{{{{{{{{{z{{{{{{{{{{{{{{{{{z{{{z{{z{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{z{{{{{{{{{{{{{{{z{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{z{{{{{{{{{{{{{{{{{{{{{{{{z{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{z{{{{{{{{{z{{{{{{{{{{{{z{{{{{{{{{{{{{{{z{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{z{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{z{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{z{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{z{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{z{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{z{{{{{{{{{{{{{z{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{z{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{z{{z{{{{{{{{{{{{z{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{z{{{{z{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{zz{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{z{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{z{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{z{{{{{z{{{{z{{{{z{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{z{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{z{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{z{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{z{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{z{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{z{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{z{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{z{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{|{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{|{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{|{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{|{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{|{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{|{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{|{{{{{{{{{{{{{{{{{{{|{{{{{{{{{{{{{{|{{{{{{{{{{{{{{{{{{{{{{{|{|{{{{{{{{{{{{{{{{{{{{|{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{|{{{{{{{{{{{{{{{{{{||{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{|{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{|{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{|{{{{{|{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{|{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{|{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{|{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{|{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{|{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{|{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{|{{{{{{{{{|{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{|{{{{{{{{{{{{|{{{{{{{{{{{{{{{{{{{{{{{{{{{{|{{{{{{{{{{{{{{{{{{{{{{{{{{|{{{{{{{{{|{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{|{{{{{{{{{{{{{{{{{{{{{{{{{{|{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{|{{{{{{{{|{|{{{{{{{{{{|{{{{{{{{{{{{{{{{{{{{{|{{{{{{{{{|{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{|{{{{||{|{|{{{{{{{{{{|{{{|{{{|{|{{{{{{{||{{{{|{{{{{{{{{{{{{{{{{{|{{{{{{{{{{{{|{{{{{{{{{|{{{{{{{{{{{{{{{{{{{{{{|{{{{{{{{{{{|{{{{{{{{{{{{{{{|{{{{{{{{{{{{{{{{{{{{{||{{{|{{{{{{{{{{{{|{{{{{{{{{{{{|{{{{{{{{{{|{{{{{{{{{{{|{{|{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{|{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{|{{{{{{{{{{{{{{{{{{{{{{{{{{{{{|{{{{{{{|{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{|{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{|{{{{{{|{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{|{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{|{{{{{{{{{{{{{{{{{{{|{{{{{{{{|{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{|{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{|{{{{{{{|{{{{{{{{|{{{{{{{{{{{{{{{{{{{{{{{{{|{{{{|{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{|{{{{{{{{{{|{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{|{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{|{{|{{{{{{{{{{{{{{{{{{{|{|{{{{{{{{{{{{{{{{{{{{{{{{{{{|{{{{{{{{|{|{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{|{{{{{{{{|{{{{{{|{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{|{{{{{{{{{{{{{{{{{{{{|{|{{{{{{{{{{{{{|{{{{{{{{{{{{{{{{{{{{|{{{{{{{{{{{{{{{{|{{{{|{{{{{{{{{{{{{{|{{{{||{|{{{{{{{{{{{{{{{{{{{{{|{{{{{{{{{{{{||{{{{{{{{{|{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{|{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{|{{{{{|{{{{{{{{|{{{|{{{{{{|{{{{|{{{{{{{{{{{{{{{{{{{{{{|{{{{{{{{{{{{{{{{{{{{|{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{|{{{{{|{{{{{{{{{{{{{{{{{{|{{{||{|{{{|{{{{{{{{{{{{{{{|{{|{{{|{{||{{{{{{{{{{{{{{{{|{{|{|{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{|{{{{{{{{{{{{{{{{{{{{{{{{{{{|{{{{{{{{{{{{|{{{{{{{{|{{{{{{|{{{{{{{{|{{{{{{{{{{{{|{{{||{{{{{{{{{{|{{|{{{{{{{{{{{{{{{|{{{{{{{|{{{{{{{{||{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{|{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{|{{|{{{{{{{{{{{{{{{{{{{{{|{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{|{{{{{{{{|{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{|{{{{{{{{{{|{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{|{{{{{{{{{{{{{{{{{{{{{{{{{|{{{{{{|{{{{{{{|{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{|{{{{{{{{{{|{{{{{{{{{{{{{{|{{{{{{{{{{{{{{{{{{{{{{{{{|{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{|{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{|{{{{{{{{{{{{{{{{{{{{|{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{|{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{|{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{|{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{|{{{{{{{{{{{{{{{{{{{{{{|{{{{{{{|{{{{|{{||{{{{{{{{{{{{{{{{{|{{{{|{{{{{|{{{{{{|{{{{|{{|||{{{{{{{{{{{|{|{{{|{|{{{|{{|{{{{{{|{{{{{{{{{{|{{{{{|{{{||{|{{{{{{{{{{{{{{{|{{{{{{{{{{{{{{{{{{{{{|{{|{||{{||{{{||{{|{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{|{{{{{{||{{{{{{{{||||{{{{|{{|{|{{|{|{||{{{{{{{{{{{|{{|{{{{|{{{{{{{{{{{{{{|{{{|{{{{{|{|||{{{{{{|{{{||{{|{|{{{{{|{||{|{{{{|{{{{{{{{{{{{{|{|{{{{{{{{{{|{{{{{{{{{{{|{|{{{{{{|{{|{{{||{{{|{{{|{|{{|{{{{||{|{{{|{{{{{{{{{{{{{{{{{{{{{{{|{{{{{{{|{{{{{{{{{{{{{|||{{{{{{{|{{|{{{|{{{{{||{{{|{{|{{{{|{{{{|{|{{|{{|{{{{{|{|{{||{{{{{{{{{|{{{{{{|{{{||{{{{{||{{{{{|{||{{{{{{{{{{{|{{{{{{{{{{|{{{{{{{{|{{|{{{{{{{{{{{{|{|{{|{{{{|{{{{{|{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{|{{{{{{|{{|{{{|{{{{|{|||{{{|{{{{{{{{{{{|{{|{{{{{{{{{{{{|{|{{{|{{{{{{{{|{||{{{{{{{{{{{{{{{{{|{{{||{{{{{{|{{{{{{{{{{{{{{{{{{|{{{{{{|{{{{{{{|{{{{{|{{{{|{{{{{{{{{{{{{|{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{|{{{{{{{{|{{|{{{{{{{{{|{|{{{{{{{{{{{{|{{{|{{{{{{{{{{{{{{{{{{{|{{{{{{{{{|{{{{{{{{{|{{{{{{{|{{{{{{{||{{{{{{{|{{{{{{|{{{{{|{{{{{{{{{{{{{|{{{{{{|{{{{{{{{{{{{{{|{{{{{{{{|{|{{|{{|{|{{|{{{{{{{|{{{{{{{{{||{{{{{{||{{{{{{{{|{|{{|{{|{{{{{{|{{|{{{{{{{{{|{{{{{{{{{{{{{|{{{||{|{{{{{{{{{|{|{{{{{{{|{||{{{|{{|{{{{{{{|{{{|{{|{|||{{{{{{{{{|{{{{{{{{|{{{|{{|{{{{{{{{{{{|{{|{{{{{{{|{|{{{|{{{|{{||{{{||{{{{{{{{||{{{|{{|{||{{|{{||{{||{{||{{{{|{{{{||{|{|{||{{{{|{{||{|{{{{{{{{||{{{|{{|{{{{|{{|{|{|{|{||{||{|{{{{{{{{||{|{{|{{{{{{|{{{|{{|{|{{{{{{{{{{{{{{{{{{|{|{{{{{{{{{{{{|{|{||{{{{{|{{{{{|||{{{{|{{{{{{{{{{{{|||{{||{{{{{{{{{|{|{|{|{{{{|{{{{|{{{|{{|{{|{{|{{{|{{{|{{|{|{{{|{{|{{{{{{|{{{{|||{{{{{{{{{{{||{{{|{{|{{|{{{{{{{{{{{{{{{|{|{{{{{{{{{{{{{{{|{{{|{{{|{|{|||{{{{|{{{{{|{|{{{|{||{{{{{|{|{{{{{{|{|{{{|{|{{{||{{{{|{{{{{{{{|{{{{{{{{|{{{{{{{{|{|{{{{|{{{{{{{||{{{{{{{{||{{{{{|{|{{|{{{{{{||{{{{{{{{{{{{{|{{{{|{|{{|{{{{{|{||{{{|{{{{{{{{{{{{{{{{||{{{{|{|{{{{{{||{|{{{{{{{|{{{{|{{{{{|{|{||{{{{|{|{|{{{{{|{||{{{{{|{{{|{{{{{{|{{|{{|{{{{|{{{|{|{{{{{{{{{|{|{{|{{{{{|{{{{{{{{{|||{{||{|{{{{{{{{{{{{{{{{{{|{|||{{{|{{||{|{{||{|{|{{{|{{{|{{{{{|||{{{|{|{||||{{{{{{{{||{{{{{{{{{{{{{{{{{{|{{|{|||{{{{|{{|{|{|{{{|{{{{|{|{|{{|{{{|{|{|{{|{||||||{||{{{|{{{|||{{{|||{{{{{{{{{{{||{|{{{{|||{|{{{{{{|{|{{{{{{{{||{{{{{||||{{{|{{{{{{|{{{|{{{|{|{{{|{{|{|{{{|{{{{{|{|{{{|{||{|{|{|{{{||{{|{{{{|{|{{{|||{|{|{||{{{||{{|{{{{{{|||{{{|{{|||||{{{{|{{{{{{{{{{{|{|{|{{{{{|{|||{{|{{{||{{{|{{{|{{{{||{||{{|{{||{{{{{||{{{{{|{{|{{|{{{{|{|{{{|{{{||{|{||{||{{|{{|{{|{|{{{{{|{{{{{|{|{{{{||{||{{|{{{||||{{{{{{{|{|{{||||{||{{{|{{{||{{{{||{{{{|{{|{|{{|{{{{||{{{{{{{|{||{|{||{{{|{{{{|{{{{{{|{{{{{{{{{|{||{{{{{{{{{{{|{{{|{{{{|{|{{|{{{{{{{{{{{{{{|{{{{||{||{{{|{|||{|{||{|{{|{{{{{{{{{|{{{|{{|{{|{{{{{{{||{|{||{{||{{{{{{{{||{|{|{|{|{{{{{{|{{{{{{{{{{|{{{{{{{{{{|{{{{{|{|{{|{{{{|{{{{{{|{{{{{{{{{{{{{{{{{{{{|{{{|{|{|{{||{{{{{{{{{{{|{||{{|{{{{||{{{{{{|{{{{|{{{|{{{{|{{{{{||{{{|{{{|{|{{|{{{{{{{{||{||{{{{|{{{{{{|{{|{|{{|{{|||||{{{{{{|{{|{{|{||{{{|{{||{{|{|{{|{|{{|{|{{|{{{||{{{{{|{|{{{{|{{{|{{{{{{||{{{{{{{{|{||||||{{|{{{|{{|{|{{{{{|{||{{|{|{||{|{{||{{|{{{{{{||{{{|{||{{{|{|{{||{|{||{{|||||{{{|||||{{|{|||{|{{{{{|{{{{|{|{||||||{{{{{|{{|{{{||{|{||{{||||||{|||{||{{|{||{{{{{{{|||||{{||||{{|{|{|||{{|{{{||||{{||||{||{{{{|{{||{{||{{|{||{|{{|{|{{|{||||{|{{{|{{{{|||||{|{{{|{{|{{{|{{||||{|{|{{|||{||{{||{|{{|{{{{||{{{{{{{|{{{{{{{||{{{{|{{|{{{|||||{|{|{{||{{{{||||{{||||{|{{||{|||{||{||{|{{{|{||{||||{|||{{||{|{||||{{|{|{{{|{|{{{|{|{||{{|||{{{{{{{{|||{{|{|||||{{{|{|{{|{{{{{{{{|{{||{{|{|{|{||{{|{{||{|{|{|||{{|{||{|{{|{|{|{||||{{|{|||{{{{|{||{||{{|{|{{|{{||{|{||{||{{{|{{||||{{|||||{|||||{||{{|{|{||{{|{{|||||||||||{{{{|{|{{||||{{|||{{|{{{||{|{||{{||{{|{|{{|{|||||{|{||||{|{{{{{||{|{|{||{{|{{|{{|||{{{|{{{{{{|{{{{|{||{{{{{{{{{|{{{||{||||{|{||{{|||{|{|{|{||{|{||{{|{||{{{|{{|{{{|{|{||||{{||{{{|{{|{|||||{|{{|{|{|{{||{{|{|{||{{{{{|{||{|{|{{||{||{{||{|{{{{{||{||{|||{|||||{{|{{|||{|||||{{{{{||||{||{{{|||||{||{{{||{||||{||{{{{||{|{{|{|{|{{|{|{{{|{{{{|||{{{{{{{{{||{{{||{{|{|{{|{{{|{|{{{{{||{|{{{||||{|{||||{{|||{{|||{{{||{|{{|||{||||||||{|{{{|{||{|||||||||{||{{{{|||{|{{|{||{|{||{{{{|||{|{{{|{{{|{|||{||{|{|{{{|{{|{{|{||{||{||{|{{||||{{|||{{|{|{|{||{|||{|{{{|{||{|{{{||{|||{{||{{|{|{{|||||{||{|||||{{||{|{|{||{|{|{||||{{|{{{||{{{{{||{{|{{{{|{{|{|{|||{{|{||{{{{{{{||||{|{{{{|{|{|{||{{{{{|{||{{|{||{|{|{{|{{{|||||{{{{||{|{|{|{|{|||{|{|{{|||||{{|{{{{{{|{||{{{||||{{|{||{{{{|{|{||{|{|{||{{{|{||||||{|{||{|||{|{||{{|{{||{{{|{||{{|{||{||||{{{{|{|{{{||{|||{{|{|{{{|{{|{{{{|{||{{{{{{|{{||||{{{{{{{|{{|{||{{{|||{||{{{{|{{{{|{||{||{|{|{{||{||{|||{|||{{{{|||||{{|||{{||{|||{{{{{||{{{||{|||{{{||{|{||{{|{{{||{||{{|{{{{{|{|{|||{{||||||||{|{{||||{||{{{|{{{|{{|{|{{|{{{{||||{|{{{{{{||||||{{||{|{{{{|{||||{{||||||{||{{{{|{{{|{|{{||||{{{||{|||{{{{|{{{{|{||{||||||||||{|{{{{{{{{||{{||{|{{{|||||||{|{{{|{|{{{{|{||{{{{{{{|{{{{|{|||||{|{{{{||{|||{{||{||||{{{||||{|{||{{{{||{{||{|{{|||{{|{||{|{{{{|||{|{{||||||{|{||{|||{{||{{{{{{{|{{|{||{{|{{{|{|{|{|{{|{|{|||{|{{{{|{{|{{{||{|{|{||{{{{|||||{||{{{{||||{|{{|||{|{||{{|{{{{|||{{|{|{{{{{{{{|||{|{{{|{{|{{|{{{{{||||||{|{||{|||{||{{{|{||{{||{|{|{||||{||||{|{|{||{|||{{{|{||{|{|{{|{|{|{{{||{|{{{|{||{{|{{{|||{|{|||||{{|{|{|{|{||{{||{{||||{{|||||{|{{|{||{|{|{|{|{{{{||{||{{||||{{|{|{|{|{||{{|||{|||||{{{|{{|{{|||{{|||{|{||||{{|{|||||||||{|{||{||||{{{||{|{||{{|{{||{{|||{{{{|||{|||||{|{||{{|||||||{{{||||{{{{||||||{|{||||{||{||||||||{|{||{{|{{{||||{{|{||{{{{{{|{{||||{|{||{||{||||{|||{{|||||{{{|{{|{||{||||{|{{||{||||{|{|||||{{{||||||{{{|||||{|{{|{|||||||||{{{||{{|{{{{|{|||||{{{{|{{||{||{||{|{|||{|||{{|||{|{{{{|{{{{{{{{{|{{||||{|{{|{{{||||||{{|{|{{||{{{||||||{|||||||{{||||{{{{|{|{||{{|{|{{|{|{|{|{||||{||||||||{|{{|{{|{{{{|||||||{|{||||{{|{|{{{{|{{{|{{|{|{{{||{{{|{|{|{{{{{|{|{|||{|||||||||{|{|{{{|{{||{|{{|{||{{||{||{||{||{{|{||{{|{||{|{{{||{|{{{{|||{|||{{{{|{|||{{{{{|||{{|{{{|{||{||{{|||||{|{|||||{{{|{|{|||{|{{|||||{||||{{||{{|{{|{|{{|{|||{|||||||{|{|{|{{||{||{|{|||||{|||||{|||||||{||||||{{|{|||||||||||||||{|||||{|{|||{{||{|||{{|||{||||{{||{|{{{||||{||{|||{{|||{||{{||||||||{|||{{|{|||||{{|||{{{||||||||||||||||{|{||{||{|||||||{|{{{|||{||||||{{|||||{||{{{|||||{||||||{|{|||||{|{||||{{||||{||{|||||||||||{{|{|{{|{{|||||||{|||{||{|||||||{|||{|{|||||{|||||||{{{||{|||{||{||{{||{||||||||||{|||||{|{|||||{{|{{{|||||{|{||||{|{{|||{|{|{|{|||{||||{|||{{||||||{||{||||{{|||{||{{||||||||{||{{|{|{|||{|{||{|||{|||{|||{||||{{{||||{{|||||{{{|{|{||||||{|{|||{{|{|{|||{|||{|{{|||||{||{{|{{|||||||{||||{||||{|{||{|||||||{|{|{{{|{|{|||||{|{||{|||{|||{{|||||{|||{|||{||{|{||||{|||||{||||||||{|{|{||||||||{||{|{{||||{|{|{||{{{|||{|{{||{||||{|||||{||||||{||{||||||{|{|{|{|{||{{|{||{{{||{{|||||||{{{||{|{|{{|{|{{{|{|{||||{|{|||{{|||{{|{||{{|||||{{{{||{|{|{|||||{||{||||||||{{|||||{||{|{|{{{{|{||{||{{|||{||||||{||{|{|||||{|||||||{|{{|||{|||{{{|{|{{|{{||{{|{{{|||{{{|{||{{|||{|{||{{||{{|{{{|||||{|{|{{{{{{{|||{||{{||{||{|{|||{||{{|||||||{||||||{|{{|{{||||||||||||||||{||||{||||{|||{||||||||||||||||{|||||{||||||||||||||{|||||||||{{{|||||||{||{||||{||||||{||||||{||||||||||||{{|||||||{|||{|||{|{|{|||||||||||||||||||||||{|||||||{|||||||{{|||{|{||||||{|{|{|||||{||||||||||{|||||||||||||||{{|||{||{||||||||||||||{|{|{|{|{|||{{||||||{||{|||||||||{||{||{{{||||{||||||{|||||{|{|{|||||||||||{{|||||{|{||{|||{{|||{|||||{||{|{||{{||{||{||{|||||{||||||{|{||{||{|{|||{|||||{{{|{{{{|{|{|||||||||||{|{|||||{|||||||||{|||||{||{||{||||||||||{||||||||{{|{|||||||||{|{|||{|{||||||{||{||||{|{||{||||{||||||{{|||||{||||||{||{|||||{||{|{||||{||||||{||||||{||||{||||||||||||{|{||||||{|||||{|{||{{|||||||||||||{{||{{||{||||{||{|{|||||||||||||{||||||{||{|||{|{|{|{|||{{|{||{|{||{||{|||{{||{||{||||||{{{{|||||{{|{|{|||{|{|||||||||{||{||||||{|||{{|||||{||{||||{{||{|{||{||||{|{{||{|{||||||||||||||||{||||||||||{|||{{|{||{||||||{{{{||{|{||||{|{{{{||{|||||||||||{|||||{|||||{|{||{||{|{|{||{||||||{||||{{{|{||{||{{{|||||{|||{{|||{{||||{||{|||||||||||||||||||||{||{|||||||{|||||{||{||||{{|||||||{|||{{||||{|||||||||{{|||||||||||||{{||{||||||||||||||||{|||{{|||||||||||{|{|||||{|||{{{|{||||||||||{|||||||||||||||||{|{|{||||||||{|||||{|{||||||{|||{|||||{{|||{{|{|||{||||||{{{||||||||{||||{||||||||{|||||||||||||{|||{{||||{|||||||||||||||||{|||{||{|||{|||{{|{|||||||||{{||||{|||||{|{|||||||||||||||||||||{||||||{|||{|||||{||{|{||{{||||||||{|||{{|||||||{|||{|{|{{{|{||||||||||||||||{||||{||{||{||||{|||||||||||{{||{|{|{|||||{||||{||{||{||||{||{||||{|{{||{||{|{||{{|||{|{|||{||||||||{|||{||{|{{|||{|{||{|||||||||{||{|||||{|||{||{|{||||||{|{||||{||{|{||{|||{||||{{||||||{||||{|||||{|||||{{||{|{|{||||{{|||||||||||||||{|{|{|||||||||||{{|||||||{{{|{||||||||{{{{||||{|{|{|||{|{||||||{||{|{{|||||||||||||||||{{|{||||||||{{|{||{|||||||{{||{{||{|||||||{|||||{||||||||{{{||{|{||||{|{{{|{||{|||||{|{||||{|||{|||{{||{||||||||{|{|||||{|||{||{|{|{|{||||||{{|||||||{||{||||{|{|||||||{{{|||{||||{||||{{||||{|{|{{|{{{||||{{||||||||||{{|||||||{|||||||||||{||||||{|||||{||||||{|||{||||||||||||||||||||||||||||||||||||||||||||||{|||||||||{||||||||||||||||||||||||{|||||{|||{|||{|||{||||{|||||||||{|{||||||{||||||||||||||{||||||||||||||{|{{|||||||||||||||||||||||{||||{|||||{||||||||||||||{||||||||{||||||||||||||||||||||||||{|||||||||||||{||||||||||{||||||{|||||||||||||||||||||||||||||||||||||||||{|||||||||||||||{|||||||||||||||||||||||||||||||||||||||||||||||||{|{||||||||||||||||||||||||{|||||||||||||||||{|||||||||||||||||||||||||||||||||||{|||||||||{|||||||||||||{||||{{{||||||||||||{|||||||||{|{||||{||||||||||||{|||||||||||||||||||||||||||||||||||||||||||||||{||||{|||||||||||||||||||||||{||||||||||||||||||{|{|||||||{||||||||||{||{{|||||||||{||||{||||||||||||||||{|||||||||||||||||{||{||{|||||||||||||||||||||||||||||||||||||||{||||||||||{||||||{||||||||{|||||{{{{|||||{||||{|||||||||{||||{||||||{|||||||{|||||||||||||||||||{||||||||||||||||{||{|||||||{|||||||||||||||||||||||||||||||||||||{||{{|||||||||||||||||||||||||||||||||||||{||||||||||||||||||||||||{|||||||||||||||||||||||||||||||||{||||||{||||||||{||||||||||||||||||||||||||||||||||||||{|||||||||||||||||{||||{|||||||||||||||||||{|||||{|||||||||||||||||||||||||{|||||||||||||||||||||||{||||||||||||||||||||||||||||||||||||||{|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||{|||||||||||||||||||||||{|||||||||{|||||{||||||||||||||||||||{|||||||{|||||||||||||||||{|||||||||||||||||{||||{|{|||||||||||||||||||||||||||||||{|||||||||||||||||||||||||{|||||||||||{|{|||||||{{|||{||||||||||||||||||||||||||||||||||||||||||||||||||||||{|||||||||{||||||||||||||{{|{|{||||||||{|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||{|||||||||||||||||||||||||||||||||||||||||{||||||||||||{||||||||||||||||||||||||||||||||||||||||||||||||{||||||{||||||||{|{|||||||||{{|{||||||||{|||||||{||||||||||||||||||{|||||||||||{||||||||||||||||||||||||||{||||{||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||{|||||||||||||||||||||||||||||||{|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||{|||||||||||||||||||||||||||||||||||||||||||||||||{{|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||{|||||||||||||||||||||||||||{|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||{||||||||||||||||||||||||||||||||||||||||||||||||||||||{|||||||||||||{||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||{||||||||||||||{||||||||||||||||||||||||{||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||{||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||{|||||||||||||||||{||||{|||||{||||{|||||||||||||||||||||||||||||||||||||||||||||||{||||||||||||||||{||||||||||||||||||||||||||||||||||||||||||{||{||||||||{|||{||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||{||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||{|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||{||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||{|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||{||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||}|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||}|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||}|||}|||||||}||||||||}|||||||||||}|||||||||||}||||||||||||||||||||||||||||||||||||||||||}|}||||||||||||||}|}||||||}|}||||||}|||||||||||||||}||||||||||||||||||}||}|}|||||||||||}||||||||||||||}|}||||||||||||||||||||||||||||||||||||||||||}|||||||||}|||||||||||||}|||||||||||||||||||||||||||||||||||||||||||||}|||||||||||||||||||||||||||||||||}||||||}||||||||||}|||||||||||||}|||||||||||||||||}|||||||||||||||||||||||||||||||}|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||}||||||||}||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||}||||||||||||||||||}|||||||||||||||||||||||||||||||||||||||||||||||||||||||||}||||}|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||}|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||}||}}|||}|}|||||||||}|||||}|}}|||||}}|||||||||}||}|||}}||}}}|||||||}}|}||}||}}|}|}|||}||||||||}|||}|||||}}}|||}||||}||}|||||||}||||||||}||}||}|||}||}}}||||}||||||}|||||}||}|}}}||||||}||||||}}||||||||}|||||||||||}||||||||}||||||}||}|}|||||}}|||}|||}}}|}|}|}}||}||||}|||}}||}|}||}||||}}||}|}|}||||}}|||||||||}}}|||}|||||||}||||||||}}|||}|}}||||}||||||||||||||||}||||||}||||||}||||}||}|}|||||||||}|||||||||}||||}||||}|}|||||}|||||}}||||}||||||}||||}|||}||||}||}||}|}||||||||}||||||||}|}||||}||}}||||||}||||}|||}|}}|||||||||||||}|||||||||||}||||||||||||||||}|||||}}|||}||||||||||||}|}}|}||||||||||||||||||||||}||||||||||}|||}||||}|||||||}||||}||||||||||}|||}||||||||}}||}||}|||||||||||||||||||||||||}||||||}|||||}||||||||||}}||||||||||}||}}||||}||||||||||||||||||||}|||||||}||||||||}|||||}|||||}|||||||||||||||||}|||||||}||||||||}}|}}|}||||}||||||||||||}|||}||}|||||||||||||||}|||||||||||||||||||}||||||||||||||||}||||||}|||}|}||||||||||||||||||||||||}||||||}|||||}|}|||}|}}|||||}||||||||}}|||||||}|}||||||||||}|}}}||}}||||||}||||}||||}||||||||}}}|}}|||||||}}}|||}|||||||}||||||||||||||}||}|||}||}||}|||}||}||}}||||||}}||||||}|}}|||||||||}|}||||||||}|||||||}}}||||||||}}||||||||}||}||||}|||}|}||||||||||}|}||}}|}||||||||||}}}||||||}|}||||}}}||||||}}||||}|}||||}|}}}||}}|}}|}}||||}}|||}|}}||}||||}}}||||}}}}|||}|||}|||||}||}||}|}||}}||}}|||||}|||}}}}|||}}||}|}|}|||||||||||}||||}||||}|||}||||}}|||}|||||||||||||||||||}}||||||||}|}||}|}||||||||||||||||}|}|}||}|}}|||}||||||||}}||||}||||||}}}||}||||||||||||}|}}}}}||}||||}|||||}}||||||||||}}}}|}}||||||||||}|}}}}}}|}|||}|}||||||||||||}||}||}}}}|||||||}}|||||||}||||}||}}|||}}||||||||}|||||||}|}}||}|||}||}}|}}|}|||||}|||}||||}|}|}||}}|||}}}|||}}|||||}|}||}|||}||||||}||}|||||||||||||||}||}}||}}|||||}|||||}||}}}}|||||||||||}}||||}||}|||}}||||||||}|}||||||||||}||||||||}|||||||||||}|||||||||}}||||}|}}}||}|||||}|||||}||||||||}||}|||}|||}||||||||||||}|||||||||||||||||||||||||||}||}||}|||}|||||}|}||}|}|||}|}||}|||}|}||||||}|||||}|||}||}|||}}||}}}|}}||||}|||}||||}||}||}||}||}||}|||}|||}|}}|}|||||}|}||||}}|}||||||||||||||}}|}|||||||}|||||}||||}||||||||}||}|}}|}|}||}}|}}|}|||}}|||}}|}||}|}|||||}}|||||}||||||}|||}|||||}||}|||||}|||}}||||||||||}||||}||||}||}}|}||||}}|}|||}||||}||||}||}|||}|||||||}}||||||||||||}|||||}}}|||}||||}|}|}||||}||||}|}|}|||||}|}||||||}}}}||}|}|||||||||||||||||}||||||||||||||||}}|}|}|}}|}||||}||}}|}}}|||||||}||||||}||||||||||||||||}|}}|}}||||}}|||||||||||}|}}|}||||}|}|}||}}|}|}}||||}||}}|||}||||}|||}|||}|||||||}||}}||}||}|}|||||||||||||}|||}}|||||}|||||}||||}|||||}||}|}|}||||||||||}|||}|||||||||||||||}||||}}||}|}|}||||||||||}|}||||}||}||||||}||}|||}}|||||||||||||}|||}}|}}||||||}}}}}||}||}|||||||}}||||||||||}||||||}||||}||}}|||||}}||}|}|}|||||||}||}||}||||}}}}}||||||||||}||}||||}||||}|||||||||}}|||||}|||||||||}}||||||||||}||}}}}||}}|}|}||||}|}|||||||||}|||||||}|}|||||}}}|||||}||||}|}||||||}|}||||}|}||||||||||}|}}|||}}}|}|||}||||||||}}||}|}}||}}}}}|}||}}||}|||}}}}|}|||||||||}||}||}||}||}}||}||}|}||}}}}||}||}}}|}|}}}|}|||}}||}|||}|}|||}}|}}}||}|}|}}|}|}}||}|}||}|}||}|}|}}}}}|}||}||}}}}|}}|||}|}}||}}|}||}||||||||}}}}|}||}}|}||}}|}||}|}||||}|}|}|||}||}}|||}|||}}}}|}||}|}}|}|}||}||||}}|}||||||||||}}|||}}|}||}|}|||}}}}|}|}|||}}||||||}||}|||}}}}|}|}||||||||||||}|}}}}}||}|||}||}|}||}}}}|}||}|}|}|}|}}||||}}||}|||}}}||}|}}|||}|}||}||}|}}||||||}}||}||}}||}||||||||}|}||}}|}|||}|}}}||}}}}}}}||}|||}|}|}|||||}}|||}||||}|||||}|}}|}||||||||||||||}||}||||}||||||||}|||}||}}}}|}}|||||}|||||||}}|||}}|||}}}}|||||}|}|}}|}}}}||||}}|}||}||}|||||}|}|||}|}}}}||}|}||}}}||}|}|}|}|}}}|||}||}||}||}}}|}|}||}}|}}}|}}||}}|}}}}||}}||||}}||}||}}|}|}|}}|}}||}|}||}}|}}|||||}}|}|||}}}}|||}||}|}|}|}||}||}}|||||||||||}}|||||}|||}||||}|||}}||}|}|||}||||}}|}}}|}||}}|||||||||}|}|}|||}||||||}|||||}|||||||}}|||}|}}|}}|}|}}}|}|}||}|}|||||||}}|||||}|}||}||}|}}|}|||}|}}}|||}|||}|||}|||}||}}}|||||}|}||}}}||}}|}}||}}}}|}}|}}||}}}}}|}}|}}|}}}|}}|}|||}||}|}}||}}|}||||}}}||||}||}}}}}}}|}}}}||}|}}}|}}}||}}}}|}}}}}}|}||}}|}|}}||}}}|||}|}|}}|||}}}}|||}|}|}}||}|}|}}|}}}}}|}}}||||}}}|}}}}|||}|}|}}||}|}|}|||}}}|}}}}}}|}||}}||||}|}||}|||}||}}}|||||}}||}|||}|}||||}}|}||}}||||}}||||}}||}}}||}|}||}}|||}}|}|}|}}}}||}||}}}}|}||}||}|}}}|}|}|}}}|}}|||}}}}}}}|}|}}|||}}|}||}}}||}|}|}}}}}}|}}}}}}}}|}|}||}}|}}}||}|}|||}}|}||}|}}}|}}|||}}}}}|||}}}|}}|}}}|}|||}}|}}|}|}}|||}}}||}}|}|}}|||}||}}|}|}}|}}}||}}}|}||}}}}}||}}}||}}||}|}}||}}|}|}||||}|}|}|}}|}}|}}|||||}||}}}}}}|}}}}}|||}||}}}}|}|}||}}}|}}|}}}}|}}}|}|}||||}||}}||}|||}}}|}|||}|}|||}}}|}}|}||||}}}||}|}|}|}|}}|||||}}||}||}}|}||}||||}|}}||||}}|}}|}|}}||}}}||}}}}|}|||}|}}}|||}|}}|}||}|}||}}|}}}||}||||}}||||}|}|}}||}}||}}|}|}|}}}}}}}|}}||}}}}}}||}|}|}||}|}|}}|}|}}|}|}||}|}|}||||}}}}|||||}}}|}|}}}|}|}}|||}}}}}}}}|||}}|}}|}|||}|}|}|||}|}|}|}||}}|}|||||||}|||}|}|}||}}|||}|}||}}}||}|||}|}|}}}}||}}|||}}}}|}|}|}|}|}|}||}|||}}|}}}}|}}|}}|}}|}}}}}}}}}}}}|}}}}}}}}}|}}|}}||}||}}}}|}||}}|}}}}}}}}}|}}|||||}}}}}}}||||}|}|}}||||}}}||}}}}}}}}}}}}|}}}}}}}}}|}||}}}|}}||}|}}}||}|}}}}}}||}}}||||}}}}|||}||||}|}}}}|}}}}}}}}|}}|||}}|}}}}|}}}|}}|}|}}||}}|}}|}|}}||}}}||}|}|}}}}}||||}}||}|}}||}}|}|}|}}|}}}}}}}|}|}|}}}|}|}|}}}}}}|}||||}|}|}}}|}|}}|}}}||}}||}||}|}}}|}}}||}}||}}}}}}}||}}||}}||}}}}||}|}||}||}|}|||}}}}}}}}|}}|}||}}}|}}|}||}}}||}|}||}}}}|}|}}}}|}|}}}|}}}}||}|}||}}|}||}}}}}|}}}|}}}||||}}|}|||}||}}|}}||}}|}|}||}|}}|||}}}}||}||}|}}}}|}||}}}}}|||}}}|}}}}}}}}|}}}}}}|}}}|}}|}}}}}}|}}|}||}|}}||}|}}}}|}}}|}}}}}|}|||}}}}|}}}}||}|}}}|}}|}}|}}|}}}}|}||}}|}}||}}}}|}}|}||||}}}}|}}|||||}}}}}||}||}}}|}}||}}}}|}||}}}|}}||}}||}}}}|}|||}}}|||}||||}}|}}}}}|}}}}|}}|||||||||||}|}}}}}|}}|}}|}}}}|}}}}|}}||||}|||}}|}|}}|}}}}}|}|}}|}}|||}||}||}}|}|}|}}}||}}|}}|}}|||}}|}}||}|}||}|}|}|||}|}}|||}}|}}}||}}||}|}}||||||||||}||}|}}|}||||}}|}|}|}}}||}}}}}|}}}}}}|}}}}||}|}|}}}}|}}|}}||}|}}|}}}}}}}}}}}}}}}}}|}}}}}}}}|}}}|}|}}|}}}}}}}}}|}}}}}}|}}|}}}}}}}}}}}}}|}}}}}}}}}}|}}}}}}}}||}}}}}}}|}}}}}}}|}|}}||}}|}}}}}}}}}}|}}}}}}}}|}}}}}}}}}}}}}|}}}}}}}}|}}|}|}}}}}}}}}}}}}}}|}|}}}|}}}|}}}}}}||}}|}}|}}}}|}}}}}}}}|}|}}}}}}}|}}}|}}}}}}}}}}}|}}}}}}}}}}}}}}|}}|}}}}}}}}|}}}}}}}}|}|}}}}}}}}}}}}}}}}}|}}}|}}}||}}}}}}||}}}}}|}}}}}||}}}}}}|}|}|}}}|}}}|}|}}}}}}|}}}}}|}}||}}}|}}}}}}}}||}}|}}}}||}}}|}}}}|}|}|}}||}}}|}|}}|}|}}}}}}}}|}}}}}|}}}}}}}}}}}}}}|}}|}|}|}}}}}}}}|}}}}}}}|}|}}}}|}|}}}}|}}}||}}}}}}}}}}}}}}}}}}}}}}}||}}}}}}}}}}}}}}|}}}}}|}|}|}}}}}}}}|}}||}}}}||}}}}}}}}|}}||||}}}|}}}}}}|}}}}}}|||}}}}}}}}}}}}}|}}}||}}}}}}}}}}|}}||}|}}|}}}}}|}}}|}}}}||}|}}}}}|}}|}|}}}|||}}}}}}}}}}}}}}}}}|}}||}}}}}}||}}}|}}}}|}}}}}|}}}}}}}}}}}}|}}}}}}}|}}}}}}|}}|}||}|}}|}}}}}}}}}}}}}|}}}}}}}}}}}|}}}|}|}}}|}}|}}||}}}}}|}}}}}}}}}}}}}}|}}}}}}||}}}}}||}}}}}}}}}|}}|}}}||}}}|}}}}}|||}|}}}}}||}}}}|}}|}||}}|}}|}}}}|}|}}}}}}}}||||}|}}|||}||}}}}}}}}}}}}}}|}}|}}}|}}}|}|}||}}||}}|}}}}}}}}}|}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}|}|}}}}}}}}}}}}}}}}}}}}}}}}}}|}}}}}}}}}}}}}}}}}}}}}}}}}}}|}}|}}}}}}}}}}}}}}}}}}}}}}}}}|}}}}}}}}}|}}|}}}}}}}}}}}}}}}}}|}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}|}}}}}}}}}}}}}}}}}}}}|}}}}}}}}}}}}}}}}}}}}}}}}}}}|}}}}}}}|}}}}}}}}}}}}}}|}|}}}}}}}}}}}}}}}}}}}}}}}}||}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}|}}}}}}}}}|}}}}}}}}|}|}}}}|}}}}}}}}}}}}}}}}}}}}}}}}}}|}|}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}|}}}}}}|}}}}}}}|}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}|}}}}}}}}}}}}}}}|}}}}}}}}}}}}}}}}}}}}}|}}}}}}}}}}}}}}|}}}}}}}}|}}}|}}}}}}}}}}}}}}|}}}}}}}}}}}}}}||}}}}}}|}}}}}|}}}}}}}}}}}}}||}}}}}}}}}}}}}}}|}}}}}|}}}}}}|}}|}}}}}}}}|}}}}}}}}}}}}}}}}}}}}}|}}}}}}}}}}}|}}|}|}}}}|}}}}}}}}}}}}}}}}}}|}}}}}}}}}||}}}}}}}}}}}}}}}}}|}}}}|}}}}}}}}}}|}}}}}}}}}}}}}}|}}}|}}}}}}}}}}}}}}}}}}}|}}}}}}}}|}}}}}}}}}}}}}}}}}}|}}}|}}}}}}|}}}}}|}}}}}|}}}|}}|}}}}}}}}}|}}}}}||}}}}}|}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}|}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}|}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}|}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}|}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}|}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}|}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}|}}}}}|}}|}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}|}}}|}}}}}}}|}}}}}}}}}}|}}}}}}}}|}}}}}}}}}}}}}}}}}}}}}|}}}}}}}}}}}}}|}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}|}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}|}|}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}|}}}}}}}}}}}}}}}}}}}}}|}}}}}|}}|}}}}}}}}}}||}}}}}}}}}}}|}}}}}}|}}}}}}}}|}}}}}}}}|}}}}}|}}}}}}}}}}}}}}}|}}}}}}}}|}}}}}}}}}}}|}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}|}}}}}}}}}}}}}}}}}}}}}|}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}|}}}}}}|}}}}}}}}}}}}}|}}}}}}}}}}}}}}}}}|}}}}}}}}}}}}}}}}|}}}}}}}}}}}}}}}}|}}}}}}}}}}}}}}}}|}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}|}}}}}}}}}}}}}}}}}}}}}|}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}|}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}|}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}|}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}|}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}|}}}}}}}}}}}}|}}|}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}|}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}|}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}|}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}|}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}|}}}|}}}}}}}}}}}}}}}}}}}}}}}}}|}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}|}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}|}}}|}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}|}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}|}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}|}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}|}}}}}}}}}}}}|}}}}}}}}}}}}}}}}}}}}}}}}|}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}|}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}|}}}}}}}}}}}}|}}}}}}}}}}}}}}}}}}}}}}}}}}|}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}|}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}|}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}|}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}|}}}}}}}}}|}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}|}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}|}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}|}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}|}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}|}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}|}}}}}}}}}}}}}}}}}}}}}}}}}|}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}|}}}}}}}}}}}}|}}}}}|}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}|}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}|}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}|}}}}}}}}}}}}}}}}}}}}}|}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}|}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}|}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}|}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}~}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}~}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}~}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}~}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}~}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}~}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}~}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}~}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}~}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}~}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}~}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}~}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}~}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}~}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}~}}}}}}}}}}}}}~}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}~}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}~}}}}}}}}}}}}}}}}}}~}}}}}}}}}}}}}}}}}}}}}}~}}}}}}~}}}}~~}}}}}}}}}}}}}}}}}}~}}}}}}}}}}}}}}}}}}}}}}}~}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}~}}}}}}}}}}}}}}}}}}}}~}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}~}}}}}}}}~}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}~}}}}}}}}}}}}}}}}~}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}~}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}~}}~}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}~}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}~}}}}}}}}}}}}}}}}}}}}}}}}}}}}}~}}}}}}}}}}}}}}}}~}}}}}}}}}}}}}~}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}~}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}~}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}~}}}}}}}~}}}}}}}}}}}}}~}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}~}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}~}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}~}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}~}}}}}}}}}~}}}}}}}}}}}}}}}}}}~}}}}}}}}}}}}}}}}}}}}}}}}}~}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}~}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}~}}}}}}~~~}}}}}}}}}}}}}}}}}}}}}}}}}}~}~}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}~}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}~}}~~}}}}~}}}}}}}}}}}~}}}}}}}}}}}}}}}}}}}~}}}}}}}~}}}}}}~}}}}}}}}~}}}}}}}}}}}}}}}~}}}}}}}}}}~}}}}}~}}}}}}}}}}~}}}}}}}}}}}~}}}}}}}}}}}}}}~}}}}}}}}}}}}}}}}}}}}}}}}}}~}}~}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}~}}}}}}}}}}~}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}~}}}}}}}~}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}~}}}~}}~}}}~}}}}}}}}}}}}~}}}}}}}}}}}}}}}}}}}}}}~}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}~}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}~}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}~}}}}}}}}}}}}}}}}}}}}}}}}}}}~}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}~}}}}~}}}}}}}}}~}}}}}~}~~~~}}}}}}}}}}}}}}}~}~}~}~}}}}}~}~}}}}}}}~}}}}}}}}}}}}}}}}}}}~}}~}}}}}}}}}}}}}}}}~}}}}}}}}}}}}}~}~}}}}}}}}}}}~~}}}}~~}}}}}~}}}}}}}~}}}}}~}}}}~}}}}}}~}~}}}~}}}~}}}}}}}}}~}}}}}}}~}}}}}~~}}}}}}}}~}}}}}}~}}}}}~}}~}}}}}}}}}}~}~}}}~}}}}~}}}}}~}}}}~}}}}~}~~}}}}}}}}}}}}}}~}}~}}}}}}~}}}}}}}}~}~}}}}}}}~}}}}}}}}}}}~}}~}}}}~}}}}}~}}}~}~}}}}}}}}~}}~}}}~}}}~}}}~}~}}}}}}}}}}}}}}~}~}}}}}}}}}}}}}}}}}}}}}}}}~}}}}}}}~~}~}}}}}}}}~}~}}}}~}}}}}}}~~}}}}}}}}}}}}}}~}}}}}}~}}}~}}}}}}~}}~}}}~}~}}}~}}}~}}}~}}}}~}~}}}}}}~~}~}}}}}}}}}}}}}}}}}}}}}}}}}}}}~}}}~}}}}}}}}}}}}}}}}}~}}}}}}}}}~}}}}~}}~~}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}~}}}~~~}}}~}}}}}}}}}}}}}}~}}~}}~}}}}~}}}~}}}}~}}}}}}}~}}}}}}}~}}}}}}}~}~}}}~}}}}}}}~}}}}}}}}}}}}}}~}}}~}}}}}}}}}}}}}}}}~}~}}}}}}}}~~}}}}}}}}}~}}}~}}}}}}}}}}}~}}~}}}}~}}}}}}}}}}}}}}}~}}}}}}}}}}}}}}}}}}}}~}}}}}}}}}}}}~}}}}}}}}~}}}~~}}}}}}}}~}}~~}}~}}}}}}~}}}}}}}}}}~}}}}}}}}}}}}}}}}}~}}}}}}}}}}}}}}}}}}}}}}}}~}}~}}}}~~}~}}}}~}}}~~}}}}}~}}}}}~}~}}}}}~}}}}}~}}}}}}}~}}~}}}}~}}~}}~}}~}}}~}}}}}}}}}}~}}~}}}~~}}}~}}}}~}}~}}}~}}}}}}}}}~}}}}}}}}}}}}}}}~}}}}}~}}}}}}}}~}}}~}}~}}}~}}}~}}}}}}}}}}}}~}}~}~}}}}}}}}}}}}~~~}}~}~}~~}}~~}~}}}}}}~}}}~}}}}}}~}~}}}}}}~}~}}}}~}}}}}}}}}}}}}}}~}}}~}}}}}}}}}}}}~}~}}}}}}~}}}}~}}~}}}~}~}}}}}}}~}}}~}}}}}}}}}~}}}}~}}~}}}}~}}}}~}}~}~}}}}~}}~}}}}~}}}~}~~}~~}~}~~}}~}}}}}~}}}}}}}}}}}}}~}}}}}}}~}}~}}}}}}}}}}}}~}}}}~}}}~}}}}}}}}~}~}}}}}}}}}}}}}}}}}}}}}}}}~}}~}}}}}}}}}}}}}}}~}}}}~~}}~}}}}}}}}}}}}~}}}}}}}~~~}}}}}}~~}}}}~}}}~}}}~}~}~~~}~}}}}}}~}}}}}}}}}}}}}}}}~}}~~~}}}}}}}}}}}}}~}}}~}}}}}}~}}}}}}~}}~}~}}}~}}}}}}}}}}}}}}~}~~}}~}}}}}}}}}}}}}~}}}~~~}}}~}}}~}}}}}}}}~}}}}~~}}}}}}~}}}}}}}}~}}}}}}}~}}}}}}}~}}}}}}~}}~}~}}~}}}~}}~}}}}}}}}}~}}~}}}}}}}}}}~}}}}}~}}}}}}}}}}}}}}}}}~}}}}}}}}~}}}}~}}}}}}}~}}}~}~~}}}}~}}}}}~}}}}}}}}}}}}}}}}}}}}}}}~}}}}}}~}}}}}}}}}}}}}}~}}}}}}~}}}}}}}}}}}}}~}}}}~}}}}}}}~~}}}}}}~}}}~}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}~}~}}~}}}}~~}}}}}}~}~}}~~~}}~~~}}}}}}~~}~}~~}}}~~}}~}}~}}~~~~~}}~~~}}~}~~~~}~~~}}~~~}}~}}}}~}~~~~}~~}~}}}}~}~}~}}~}}}}~}}}}~~~}}}}~~}}}}~}}}~~}}}}}~~~~}}}~~}~~}~~}~}~}}}}}}}}~}~}}}}~}}}}~~}}}~~~}}~}}~}~~~}}~~}~~}}~~}~~}~~}~}}}~~}}}}}}}}~}}}~}}}~~}}}}~}}}}}}~~}~~}}}~~}}}}~}~~}}}~}~}}}~~~}~}}~~~~~}~}}}~~~}}~~}}~~~}}~}~}~}}}~}~}~}}}}}}}}}}}~~}}}}}}}}}}}}~~}}}}}}}~~}}}}~}}}~}}}~}~~}}}}}}}}}}~}~}}}}~}}~~}}}}~~}~}}~~~}}}}}}}}}}}}}}}}~}}}}~}}}}}}}}~}}}~~}}~}}}}}}}}}~}}~~}}}}~~}}}}}~}~~}}~}}}}}}}~}~}}}}}}}}}~~~~}~}}}}}}}}~}}}}}}~}}}}}}~~}}}~}}~}}~}~}}}~}}}~}}~}~}}}}}}}~}}}}}~~}}}}}}}}}~}}~}}}}~}}}}}}}~}~}}}~~~~~}~}}}}}}~}}}}}}}}~}}}~~}}}~~~}}~}}}}}~}}}~}}~}~}}}}}}}}~~}}~}}}}}}}~}}}}}}}}}~}}}~}}~}}~}}~~}}}~}}}}}}}~~~}~}}}}}}}}}}}}}}}}}~~}~}}}~}}}~}~}}~}}~~}~~}}}}}}~~}}}}}}}~}}}}~}}~}~}~}~}}}}}}}}~}}}}~~}}}}~}}~}}}}~~}}}}}}}}~}}~~~}}}~}}}}}}}}}}}}}}}}}}}}}~~}}~}}}}}}}}}}}~}}~}}}}}}~}~}}~}}}}}}~~}}~~}}}}}}}~}}}}}~}}~}}}}}}}}}}~}}}~}~~}~~~}}~}}}~}}}}}~}}}}}}}~}~}~}}}}}}}}}}}}}}}}~}}~}~~~~~}}}~}~~~}}~~}~}}}~~~~~}}~~~~}}~~}~}}}~~~~}}}}~~}~}}~}}}}~~~}~~~~~~}~~~}}}~~~}~}}~~}~}~~}~}}}}~~}~}}}~~~~~~}~~~}~~}~~~}~}~~~~~~~}}~~~}}~~~~}~~~~}}~~~~}~~}}}~~~}}~~~}}~}~}~~~~~~~~~~}}~~}}}~~~}~~~~}~}}~~}}}}}}~~}}}~}~}}}~}~}~}~}~~}~~}~~}~~~~~~~~~}}~~~}}}}}}}~~}}}}}~~}}~~}~~~~}~~~~~~}~}~}~~~~}~~~}}~~}}}}~}}~}~~~}~}~}}}~}}}~~~}}~~~}}~~}}~}~~}~~}~}~~}}~}~}}}~}~~}~~}}}~~~}}~~~~~~~}}}}}}~}~}~}}}}~~~}}~}~~~}}}~}}}}~}}~~}}~~}}~~~~~~~}~}}~~~~}~}}}}~~~~~~~~~~~}~~~~}}~~~}~~}~~~~~}~~~~}~}~}}}~}}~~}}~}}}}~}}~~~}}}~~}~}~}}}}~}}~}~}~~~~}~}}}}}}}~~}~}}}}}}}}~}}~}}~}}~~~~}~~}}}}~~~~~~}~}~~}~}}}~}}~~}}~}}}}~}~}~~~~~}}~~~~~}}}~~}}~~~}~}~}~~}}~}}}}~~}}~~}}}}}}~~}}}~~}~~~}}}~~~}~~~}}~~~}}}}~}}~}~~~~~~~~~~}~~}}}~~~~}~~~~~~}~~~}}~}}~~~~}~}~}}~}}~}}}~~}}~}~}}}~}~~~~~}~~}~}~~~}~}}}~}~}~}~~}}~~~~~}}~~}~~~}}}}~}~}}}}}~}}~~}~}}~~~}}~}}}}~}~}~}}}~~~}}}~~}~~~}}}}}}~~}~~~~~~}~}}}}}}}~}}}}~~~}}~~~}}~~~}~}}}~~}}~~}}}~~~}}}~~}}}~}~~~~}~}~}}}}}~}~~}}}~}~~}~}}~~}}}~}}~~}}~~~~~~~~~~~}~~~~~}~~~~~~~~~~~~~~~~~~~~~~~}~~~~~~~~~~~~~~~}~}~~~~}}~}}~~}}~}~}~~~~~~~~~~}}~~~~~~~}~~~~~~}~~~~~~~~~}}}~~}~~~}~~~~~~}~~~~}}~~}}~~~~~~}~}~~~}~~}~~~~~~~~~~~}~~~~~}~~~~~~~~~}}}}}~}~~~~~~~~~~~~}~~~~~~}}~~~~~~}~}~~~~~~~~~~}~}~~~}}~~}}~}~~}}~~~~~~~~~~}~~~~~~~~~~~}~}~~~~~}}~}~~}~}~~}~~}}~~~~~~~~~~~~~~~~~~~}~~~~~~~~~~~}~~~}~}~}~~}~~~}~~~}~}~~}~~}~~~~~}~~~~~~~~~~~}~~~~~~~~~~~}~~~~~}}~~~~~~}~~}}}~~~~~~~~~~}}~~~}~~~~}~~~~}~~~~~~~~~}~~~~~~~~~~~}}~~~~}~~}~~~~}}~~~~}}~~}~}~~~~}}~~~~~~~~~~~~~~~~~~}}~}~~~~}~~~~}}~~}~~~~~~~~}}~~~~}~~~~~~}~}~~}}}}~~~}}}~~~~~}~~}~~~~~~}~~~~}~}}~}}~}~~~~~~~~}~~~~~}}~}~~}~~~}}~}}}~~~~~~~}~~~~~~~~}~}~}}}~~~}}~~~}~~~~~~~}}}}}~~}~~}~~~~~~~~~~~}}}}~}~~~~~~~}~~}}}}~~~~~}}~}~~~~}~~~~~}}}~~}~~~~}~~~~}~~~}~}~}}}~~~}~}}}~}}}}~~}~~~~~~}~}}~}~}}~~~}~~~~~~~}~~~~~~~~~~~}~~~}~}~~~~~}}~~~~}~~~}~~}}~}~}~~~}~~~~~~}~}}~~~~}}}~~}}~~}~}}~~~}~}~~}~~}}~}~}~~~~}~}~}}~~~}~}~}~~~~~~}~~~~}~~~}}~~}}~}~}}~~~~~}}}~~~~}}}}}}}}~}}~~}~~}~~}~}}~~~~}~~~~}}~}~~~~~~~~}~~~}~~}~~~}}}~}~}~~~~}~~~~}~~~~~~~~~~}~~~}~~}~}~~}~~~~~}~~~~~~~~~~~~~}~~}~}}~~~~~~~~~}~~~~~~~}~}~~~}~}~~}~~~~~~~~~~~~~~~~~~~~~~~~}~~~~~~~}}~~~~~~}~~}~~~~}~~~}}~~}}~}~}}~~~~~~~~~~~~~~}~~}~~~~~~~~~~~}~~~~~~}~~~}}~~~~~}~~~~}~~}~~}}}~~~}}}~~~~~~}~~~~~}~~~}~~~~~~}~~~~~~~}~~~~~~}~~~~~}~~~}~~}~~~~~~~~~~~~~~~~~~}}~~}~~~~~}~~~}}~~~~~~}~~~}~~~~~~}}~}~~~~~~}~~~~~~~~}}~}~~~~~~~~~~}}~~~}~~~}~~~~~~~~~~~~~~~~}~~~}~~}}~~~}~~}~}~~~~~}}~~~~~~~}~~~~}~~~~~~~}~~~~~~~~~}~}~~~~~~}}}~~}~~}~~~~~~}~~~~~~~~~~~}}~~~~~}}}~~}}~}~}~~~}}~~~~~~~~~~}~~~~~~}~~~~}~~~}~}~~}~~~~}~~}}~}~~~~}}}~~~~~~~~}~~~}~~~~}~~~~}~~~~~}~}~~}}~~~~~~~}~~~}~~~~~~~}~~~~~~~~~~}~~~~~}}~~~~~}~~~~~}~}~~~~~~~~~}~~~~}~}~~~~~~~~~~~~~}~~~~~~~~~}~~~~~~}~}}}~~~~~~~~~~~~~~~~}~~}~}~~~~~~}}~~~~}~~~~~~~~}~~~~~~}~~}~~~~}~}}}~~~~~}~~~~~~~~~}~~}}~~}~~~~}}~~~~~~~}~~~~~~~~}~~}}~~~~~~~~~~}~~~~~~~~~~~}~~}~~~~~~~~}~~~~~~}~~~~~~}~~~~}~~~~}~~~~}~~~~}~~~~}}~~}~~~~~~}~~}~~~~}~~~~}}}}~~~~~~~~}~}~~~~}~}~}~~~~~~~}}}}~~~~~~~~~}~~~~~~~~~~~~~~}~}~~~~~~~~~}~~~~~~~~~~~~~~~~~~}~~~~}~~~}~~~~~~~~~~~~~~~}~}~~~~~~~~~~~~~~~~~~}~~~~~~~~~~~}~~~~~~~~}}~~}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}~}~~~~~~~~~~~~~~~~~~~~~~}~~~~~~}~~~~~~~~~~~~~}~~~}~~}~~~~}~~~~~}~~~~~}~~~~~~~~~~~~~~~~~~~}~~~~~}~~~~~~~~~~~~~~~~~~~~~~~~}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}~~~~~}~~~~~~~~~~~~~~~~~}~~~~~~}}~~~~~}~~~}~~~~~~~~~~~~~~~~~~~~}}}~~~~}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}~~~~~~~~~}}~~~~~~~~~~~}~~~~~~~~~~~~~~}~~}~~~~~~~}~~~~~~~~~~~~~}~~~~}~~~~~~}~~~~}~~}~~}~~~~~}~~~~~~~~~~~~~~}~~}~~~~~~~~~~~~~}~~~}~}}~~~~~~~~~~~~~~~}~~~~~~~~~}}~~~~~~~~~~~~~~~~~~~~~~~~}~~}~~~~~}~}~~~~~~~~~~~}~~}}}~}~~~~~~~}~~~~}~~~~~}~~~~~~~~~~~~~~~~~~~~~~}~~~~~~~~~}~~~~~~~~~}~~}}~~}~}~~~~~~~~~~}}}~~~~~}~~~~~~~~~~~~}~}}~~~~~}~~}~~~~}~}~~}~~~~~~~~}~~~~~}~}~~~~~~~~}~~}~~~~~~~~~~~~~~}~~~~~~}~~}~~~~~}~~~~~~}~}}}~~~~~~~~}~~~}~~~}}~~~~}~~~}~}~~~~}}~~~~~~~~~~~~~}}~~}}~~~~}}~}}~~~~}~~}~~~}~~~~~~}~~~~}}~}~~~~~~}~~~~~~}~~~~~~~~}~~~~~}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}~}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}~~~~~~~}~~~~~~~}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}~}~~~~~~~~~~~~~~~}~~~~~~~~~~~~~~~~~~}~~~~~~~~~~~~~~~~~~~~~~~~~~~~}~~~~}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}~~~~~~}~~~~~~~~~~~~~}~~~~~~~~~~~~~~~~~~~~~}~~~~~~~}~~~~~}~}~}~~~~~}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}~~}~~~~~~~~~~}~~~~~~}~~~~~~~~~~~~~~~}~~~~~~~~~~~~~~~~~~~~~~~}}~~~~~~~~~~~~~~~~~~~~~~~~~~}~~~~}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}~~~~~~~~~~~~~~~~~}~~~~~~~~~~~}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}~}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}~~~~~~~~~~~~~~~~}~~~~~~~~~~~~~~~~~~~}~~~~~~~~}~~~~~~~~~~~~~~~~~~~~~~~~~~~~}~~~~~~~~~~~~~~~~~}~~~~~~~~}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}~~~~~~~~~~~~~~~~~~~~~~}~~~~~~~~~~~~~~~~~~~~~~}~~~~~~~~~~~~~~~~}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}~~~~~~~~~~~~}~~~~~~~~~}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}~~~~~~~~~~~~~}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}~~~~~}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}~~~~~~~~~~~}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ \ No newline at end of file diff --git a/src/mod/applications/mod_fsv/freeswitch-4k.yuv b/src/mod/applications/mod_fsv/freeswitch-4k.yuv new file mode 100644 index 0000000000..f4927d4fec --- /dev/null +++ b/src/mod/applications/mod_fsv/freeswitch-4k.yuv @@ -0,0 +1 @@ +DDDDDDCCDDCCCCCCCCDDDDCCCCCCCCDDCCCCDDCCCCCCCCCCDDDDCCDDDDCCDDDDCCCCCCCCCCDDCCDDCCDDCCCCCCCCDDDDDDCCDDCCCCDDCCDDCCDDCCCCDDDDCCCCDDDDCCDDCCCCDDDDDDCCCCDDDDCCCCDDCCCCDDCCCCCCDDCCCCCCCCCCCCDDCCDDDDCCCCDDCCDDDDCCDDCCCCCCCCDDDDDDDDCCCCDDDDCCCCCCDDCCDDCCDDDDDDCCCCDDCCDDDDCCCCDDCCCCCCCCCCDDCCCCCCDDDDCCCCCCDDCCDDCCCCDDCCCCDDCCCCCCDDDDCCCCCCDDDDCCCCCCCCCCCCDDDDDDCCDDDDCCCCDDDDDDCCDDCCCCCCDDCCDDCCCCCCCCCCDDCCDDCCCCCCDDCCDDCCCCDDDDDDCCDDCCDDCCCCCCCCCCDDDDCCCCCCDDCCCCDDCCCCDDCCCCCCDDDDDDDDDDCCDDCCCCCCCCCCCCDDCCCCDDDDCCCCDDDDDDDDDDDDCCDDDDCCCCDDCCCCDDCCDDCCCCDDDDDDDDCCCCCCCCDDDDCCCCCCCCCCCCDDDDDDDDCCCCCCDDDDCCDDDDCCCCCCCCCCDDDDDDCCCCDDCCCCCCDDDDCCCCCCDDCCDDCCDDCCCCCCDDCCDDDDDDDDDDDDCCDDDDDDCCDDCCCCDDCCDDCCDDDDDDDDDDCCCCCCDDCCDDDDCCCCDDCCCCDDDDCCDDCCDDCCDDDDDDCCDDDDCCCCDDDDDDDDDDDDCCCCDDCCDDCCCCDDCCCCDDCCDDDDCCCCCCDDDDCCCCDDDDDDDDCCDDDDCCCCDDDDCCDDCCDDDDDDDDCCCCCCDDCCCCCCDDDDCCCCCCCCDDDDDDDDDDCCCCDDDDCCDDCCDDDDCCDDCCCCCCCCCCDDCCDDDDDDDDCCCCDDDDCCDDDDDDCCCCDDCCCCCCDDDDDDCCCCDDCCCCDDDDDDCCCCDDDDCCCCCCCCDDCCCCCCDDCCDDDDCCDDCCDDDDCCDDCCDDCCCCDDCCCCDDCCDDDDCCDDCCDDDDCCDDDDCCDDDDDDDDCCCCCCDDCCDDDDCCDDDDCCCCDDCCDDCCCCDDCCCCDDCCCCCCDDCCDDCCDDDDCCDDCCDDDDDDCCCCDDDDDDCCCCCCCCDDCCDDCCCCCCCCDDDDDDCCCCDDDDCCCCDDCCCCDDCCDDCCCCCCDDDDDDDDDDDDDDCCDDCCDDCCDDCCCCCCDDCCDDCCDDDDCCDDDDCCDDDDDDCCCCCCCCDDCCDDDDDDCCDDCCDDDDCCDDDDCCCCCCCCDDDDDDDDCCDDCCDDCCDDDDDDDDCCDDCCCCDDDDDDCCCCDDCCCCDDCCDDDDCCDDCCCCCCCCCCDDCCDDCCCCDDCCDDCCCCCCDDDDDDCCDDDDCCCCCCCCDDDDCCDDCCCCDDCCCCDDCCCCCCCCCCCCDDDDDDDDCCDDCCCCDDDDDDCCCCDDCCDDCCCCCCDDCCCCCCCCDDDDCCDDCCCCCCDDCCCCCCCCCCDDDDDDDDDDDDCCDDDDCCCCCCCCCCCCDDCCCCDDDDCCDDCCCCCCCCCCCCCCDDCCCCDDDDCCDDCCCCCCDDDDDDDDDDCCCCCCCCCCDDCCDDCCCCCCCCCCCCCCCCDDDDCCDDDDDDDDCCCCCCDDCCCCDDCCCCCCDDCCCCDDDDCCCCCCDDDDDDDDDDDDCCDDDDCCCCCCCCCCCCCCDDCCCCDDCCCCCCCCCCCCDDCCDDDDCCDDCCCCDDDDCCCCCCCCDDCCDDCCDDCCDDCCDDCCDDCCDDDDDDDDCCCCCCCCDDCCCCDDCCCCDDDDDDCCCCDDDDCCCCCCDDDDCCDDDDCCDDCCDDDDCCDDCCDDCCCCCCCCCCCCDDDDDDCCDDCCDDCCCCDDDDDDCCCCCCDDDDCCCCDDDDDDCCCCDDCCDDCCCCCCDDDDCCCCCCCCCCDDDDCCCCCCCCCCCCCCDDDDCCDDCCCCCCDDCCDDDDDDDDCCCCCCCCDDCCCCDDDDCCDDDDCCDDDDDDCCDDCCCCCCCCDDDDCCCCCCDDDDCCCCDDCCCCCCCCCCCCDDCCDDCCCCCCDDCCCCCCCCDDDDCCCCCCCCCCDDCCCCDDCCDDDDCCCCDDDDCCCCCCDDCCDDCCCCDDCCCCCCCCDDDDCCCCCCCCCCCCCCDDDDDDCCCCCCCCCCDDDDDDCCCCCCCCCCDDDDCCDDDDCCDDDDCCDDDDDDCCDDCCCCCCCCCCCCCCCCDDDDDDCCCCCCCCCCCCCCDDCCCCDDDDCCCCCCDDDDCCCCDDDDDDCCCCCCCCCCDDDDCCDDCCCCCCCCCCCCDDCCCCCCDDCCDDCCDDDDDDCCDDCCDDCCCCCCDDDDDDCCCCDDDDCCCCCCCCCCCCCCDDDDDDDDCCCCDDCCCCCCDDCCDDCCDDCCCCDDDDDDDDCCCCCCDDCCDDDDCCCCCCDDDDDDCCDDCCCCDDCCCCDDCCCCDDCCDDDDCCCCCCCCDDCCCCDDCCCCDDDDDDDDCCDDCCCCCCDDCCCCCCDDCCDDCCCCCCCCDDCCCCCCCCDDCCDDCCCCCCCCDDCCCCDDDDDDCCCCCCCCCCDDCCCCCCCCDDDDCCDDCCDDDDCCCCCCDDDDCCDDCCCCDDCCCCDDCCCCCCDDCCDDDDCCDDCCDDCCCCCCCCCCDDDDDDCCDDDDDDCCDDCCCCCCCCCCDDCCCCDDCCDDDDCCCCCCDDDDDDCCCCDDCCCCCCCCDDCCDDDDCCCCCCDDDDCCDDCCDDCCCCDDCCDDCCCCDDCCCCDDCCDDCCDDDDCCDDCCCCCCCCCCCCDDDDCCCCCCCCDDDDDDCCDDDDDDDDCCCCCCDDCCDDDDCCDDCCDDDDCCCCCCCCCCDDDDDDCCDDDDCCDDDDDDDDCCDDDDDDDDCCCCDDDDCCDDCCDDCCCCCCCCCCCCDDCCCCDDCCDDDDDDDDCCDDDDCCCCDDCCDDCCCCDDDDDDDDCCDDDDCCDDCCDDDDDDCCCCDDCCCCDDCCCCCCCCDDDDDDCCCCDDCCDDCCCCDDCCCCCCDDDDDDCCDDCCDDCCCCDDCCDDDDCCCCCCDDCCDDDDCCDDCCCCDDCCCCDDCCDDCCCCDDDDCCCCCCCCCCCCDDCCDDCCDDDDCCDDCCCCDDDDCCDDDDDDCCCCDDCCDDCCCCCCCCCCCCCCCCCCDDCCCCCCCCDDDDCCCCCCDDCCCCDDDDCCCCCCCCDDCCDDDDDDDDCCCCDDDDDDDDCCDDDDCCCCCCDDDDCCCCCCDDDDCCDDDDDDCCCCDDCCCCDDDDCCCCCCCCCCDDCCCCDDCCCCCCDDDDDDCCDDDDDDCCCCCCDDCCCCCCCCCCDDDDCCDDCCDDCCCCCCDDCCCCDDDDCCDDCCCCCCCCCCDDCCCCDDCCCCDDDDCCDDCCCCDDCCDDDDCCCCCCDDCCCCCCCCCCCCCCCCCCCCCCDDCCDDCCDDCCDDCCCCCCCCCCCCDDDDDDDDCCDDCCCCDDDDDDCCCCDDCCCCDDDDCCCCCCCCDDCCCCDDCCDDCCCCDDCCDDDDCCDDDDCCDDDDCCDDCCDDCCDDDDCCDDDDCCDDDDCCDDCCDDDDCCDDCCDDDDCCCCDDCCCCCCDDCCDDDDCCDDCCCCCCCCDDDDCCCCCCCCCCCCDDDDCCDDCCDDCCDDCCCCCCCCCCCCDDDDDDDDCCDDCCCCCCCCDDCCCCDDCCCCDDDDCCCCCCCCDDDDCCDDCCDDCCCCDDCCCCDDCCDDDDCCDDDDCCDDCCDDCCDDDDCCDDDDCCDDDDCCCCCCDDDDCCDDCCDDDDDDDDCCDDCCCCCCCCDDDDCCCCCCCCDDCCCCDDCCCCCCCCCCDDDDCCDDDDCCDDDDCCCCCCCCCCDDCCDDCCDDCCCCCCCCDDDDDDCCDDCCCCDDCCDDCCDDCCCCDDDDCCCCDDDDCCDDCCCCDDDDDDCCCCDDDDCCCCDDCCCCDDCCCCCCDDCCCCCCCCCCCCDDCCDDDDCCCCDDCCDDDDCCDDCCCCCCCCDDDDDDDDCCCCDDDDCCCCCCDDCCDDCCDDDDDDCCCCDDCCDDDDCCCCDDCCCCCCCCCCDDCCCCCCDDDDCCCCCCDDCCDDCCCCDDCCCCDDCCCCCCDDDDCCCCCCDDDDCCCCCCCCCCCCDDDDDDCCDDDDCCCCDDDDDDCCDDCCCCCCDDCCDDCCCCCCCCCCDDCCDDCCCCCCDDCCDDCCCCDDDDDDCCDDCCDDCCCCCCCCCCDDDDCCCCCCDDCCCCDDCCCCDDCCCCCCDDDDDDDDDDCCDDCCCCCCCCCCCCDDCCCCDDDDCCCCDDDDDDDDDDDDCCDDDDCCCCDDCCCCDDCCDDCCCCDDDDDDDDCCCCCCCCDDDDCCCCCCCCCCCCDDDDDDDDCCCCCCDDDDCCDDDDCCCCCCCCCCDDDDDDCCCCDDCCCCCCDDDDCCCCCCDDCCDDCCDDCCCCCCDDCCDDDDDDDDDDDDCCDDDDDDCCDDCCCCDDCCDDCCDDDDDDDDDDCCCCCCDDCCDDDDCCCCDDCCCCDDDDCCDDCCDDCCDDDDDDCCDDDDCCCCDDDDDDDDDDDDCCCCDDCCDDCCCCDDCCCCDDCCDDDDCCCCCCDDDDCCCCDDDDDDDDCCDDDDCCCCDDDDCCDDCCDDDDDDDDCCCCCCDDCCCCCCDDDDCCCCCCCCDDDDDDDDDDCCCCDDDDCCDDCCDDDDCCDDCCCCCCCCCCDDCCDDDDDDDDCCCCDDDDCCDDDDDDCCCCDDCCCCCCDDDDDDCCCCDDCCCCDDDDDDCCCCDDDDCCCCCCCCDDCCCCCCDDCCDDDDCCDDCCDDDDCCDDCCDDCCCCDDCCCCDDCCDDDDCCDDCCDDDDCCDDDDCCDDDDDDDDCCCCCCDDCCDDDDCCDDDDCCCCDDCCDDCCCCDDCCCCDDCCCCCCDDCCDDCCDDDDCCDDCCDDDDDDCCCCDDDDDDCCCCCCCCDDCCDDCCCCCCCCDDDDDDCCCCDDDDCCCCDDCCCCDDCCDDCCCCCCDDDDDDDDDDDDDDCCDDCCDDCCDDCCCCCCDDCCDDCCDDDDCCDDDDCCDDDDDDCCCCCCCCDDCCDDDDDDCCDDCCDDDDCCDDDDCCCCCCCCDDDDDDDDCCDDCCDDCCDDDDDDDDCCDDCCCCDDDDDDCCCCDDCCCCDDCCDDDDCCDDCCCCCCCCCCDDCCDDCCCCDDCCDDCCCCCCDDDDDDCCDDDDCCCCCCCCDDDDCCDDCCCCDDCCCCDDCCCCCCCCCCCCDDDDDDDDCCDDCCCCDDDDDDCCCCDDCCDDCCCCCCDDCCCCCCCCDDDDCCDDCCCCCCDDCCCCCCCCCCDDDDDDDDDDDDCCDDDDCCCCCCCCCCCCDDCCCCDDDDCCDDCCCCCCCCCCCCCCDDCCCCDDDDCCDDCCCCCCDDDDDDDDDDCCCCCCCCCCDDCCDDCCCCCCCCCCCCCCCCDDDDCCDDDDDDDDCCCCCCDDCCCCDDCCCCCCDDCCCCDDDDCCCCCCDDDDDDDDDDDDCCDDDDCCCCCCCCCCCCCCDDCCCCDDCCCCCCCCCCCCDDCCDDDDCCDDCCCCDDDDCCCCCCCCDDCCDDCCDDCCDDCCDDCCDDCCDDDDDDDDCCCCCCCCDDCCCCDDCCCCDDDDDDCCCCDDDDCCCCCCDDDDCCDDDDCCDDCCDDDDCCDDCCDDCCCCCCCCCCCCDDDDDDCCDDCCDDCCCCDDDDDDCCCCCCDDDDCCCCDDDDDDCCCCDDCCDDCCCCCCDDDDCCCCCCCCCCDDDDCCCCCCCCCCCCCCDDDDCCDDCCCCCCDDCCDDDDDDDDCCCCCCCCDDCCCCDDDDCCDDDDCCDDDDDDCCDDCCCCCCCCDDDDCCCCCCDDDDCCCCDDCCCCCCCCCCCCDDCCDDCCCCCCDDCCCCCCCCDDDDCCCCCCCCCCDDCCCCDDCCDDDDCCCCDDDDCCCCCCDDCCDDCCCCDDCCCCCCCCDDDDCCCCCCCCCCCCCCDDDDDDCCCCCCCCCCDDDDDDCCCCCCCCCCDDDDCCDDDDCCDDDDCCDDDDDDCCDDCCCCCCCCCCCCCCCCDDDDDDCCCCCCCCCCCCCCDDCCCCDDDDCCCCCCDDDDCCCCDDDDDDCCCCCCCCCCDDDDCCDDCCCCCCCCCCCCDDCCCCCCDDCCDDCCDDDDDDCCDDCCDDCCCCCCDDDDDDCCCCDDDDCCCCCCCCCCCCCCDDDDDDDDCCCCDDCCCCCCDDCCDDCCDDCCCCDDDDDDDDCCCCCCDDCCDDDDCCCCCCDDDDDDCCDDCCCCDDCCCCDDCCCCDDCCDDDDCCCCCCCCDDCCCCDDCCCCDDDDDDDDCCDDCCCCCCDDCCCCCCDDCCDDCCCCCCCCDDCCCCCCCCDDCCDDCCCCCCCCDDCCCCDDDDDDCCCCCCCCCCDDCCCCCCCCDDDDCCDDCCDDDDCCCCCCDDDDCCDDCCCCDDCCCCDDCCCCCCDDCCDDDDCCDDCCDDCCCCCCCCCCDDDDDDCCDDDDDDCCDDCCCCCCCCCCDDCCCCDDCCDDDDCCCCCCDDDDDDCCCCDDCCCCCCCCDDCCDDDDCCCCCCDDDDCCDDCCDDCCCCDDCCDDCCCCDDCCCCDDCCDDCCDDDDCCDDCCCCCCCCCCCCDDDDCCCCCCCCDDDDDDCCDDDDDDDDCCCCCCDDCCDDDDCCDDCCDDDDCCCCCCCCCCDDDDDDCCDDDDCCDDDDDDDDCCDDDDDDDDCCCCDDDDCCDDCCDDCCCCCCCCCCCCDDCCCCDDCCDDDDDDDDCCDDDDCCCCDDCCDDCCCCDDDDDDDDCCDDDDCCDDCCDDDDDDCCCCDDCCCCDDCCCCCCCCDDDDDDCCCCDDCCDDCCCCDDCCCCCCDDDDDDCCDDCCDDCCCCDDCCDDDDCCCCCCDDCCDDDDCCDDCCCCDDCCCCDDCCDDCCCCDDDDCCCCCCCCCCCCDDCCDDCCDDDDCCDDCCCCDDDDCCDDDDDDCCCCDDCCDDCCCCCCCCCCCCCCCCCCDDCCCCCCCCDDDDCCCCCCDDCCCCDDDDCCCCCCCCDDCCDDDDDDDDCCCCDDDDDDDDCCDDDDCCCCCCDDDDCCCCCCDDDDCCDDDDDDCCCCDDCCCCDDDDCCCCCCCCCCDDCCCCDDCCCCCCDDDDDDCCDDDDDDCCCCCCDDCCCCCCCCCCDDDDCCDDCCDDCCCCCCDDCCCCDDDDCCDDCCCCCCCCCCDDCCCCDDCCCCDDDDCCDDCCCCDDCCDDDDCCCCCCDDCCCCCCCCCCCCCCCCCCCCCCDDCCDDCCDDCCDDCCCCCCCCCCCCDDDDDDDDCCDDCCCCDDDDDDCCCCDDCCCCDDDDCCCCCCCCDDCCCCDDCCDDCCCCDDCCDDDDCCDDDDCCDDDDCCDDCCDDCCDDDDCCDDDDCCDDDDCCDDCCDDDDCCDDCCDDDDCCCCDDCCCCCCDDCCDDDDCCDDCCCCCCCCDDDDCCCCCCCCCCCCDDDDCCDDCCDDCCDDCCCCCCCCCCCCDDDDDDDDCCDDCCCCCCCCDDCCCCDDCCCCDDDDCCCCCCCCDDDDCCDDCCDDCCCCDDCCCCDDCCDDDDCCDDDDCCDDCCDDCCDDDDCCDDDDCCDDDDCCCCCCDDDDCCDDCCDDDDCCCCCCCCCCDDCCDDCCDDDDCCCCCCCCCCCCCCCCCCCCCCDDCCCCCCCCCCCCCCCCDDCCCCDDDDDDDDDDDDCCCCCCCCCCCCCCDDCCCCDDCCCCDDCCCCCCCCCCCCCCDDCCDDDDCCDDCCDDCCDDDDCCCCDDDDCCDDCCDDCCCCDDCCCCCCCCDDDDCCDDCCCCCCDDCCDDDDCCCCDDCCCCDDCCDDCCCCCCCCCCCCDDDDCCDDCCCCCCDDDDCCCCDDDDCCCCCCDDCCCCCCDDDDCCDDCCCCCCCCDDCCDDDDCCDDDDCCCCCCCCCCCCCCDDDDCCCCCCCCCCDDDDCCDDDDCCCCDDDDCCCCCCCCDDCCDDCCDDCCDDCCCCCCCCCCDDDDCCCCCCCCDDCCDDCCCCCCCCCCDDCCDDDDDDDDCCCCDDCCCCCCCCDDCCCCCCDDCCCCDDDDDDCCDDCCCCDDDDCCDDCCCCCCCCCCDDDDCCDDDDCCDDDDDDCCCCDDCCDDCCCCCCCCDDCCDDCCDDDDDDCCCCDDDDDDDDCCCCDDCCDDCCCCDDCCCCDDDDDDCCCCDDDDCCDDCCCCCCCCDDCCCCDDDDCCDDCCDDDDCCCCDDCCCCCCCCDDCCCCCCCCDDCCDDDDDDCCDDDDCCCCCCCCCCCCDDCCCCCCCCCCCCDDDDCCDDCCDDCCCCDDCCCCCCCCDDDDCCDDCCCCCCDDCCDDDDCCCCCCCCCCCCDDCCDDCCDDCCDDDDCCCCCCCCDDCCCCDDDDCCCCCCCCDDCCDDCCDDCCCCDDDDDDDDDDDDCCDDCCCCDDCCDDCCCCCCCCCCCCDDCCCCDDCCDDCCCCDDDDDDCCDDDDCCDDDDCCDDCCCCCCCCDDCCCCCCCCCCCCCCCCDDCCCCCCDDDDCCCCCCDDDDCCDDCCCCDDDDDDCCCCCCDDCCDDDDDDCCCCCCCCCCCCDDDDCCCCDDCCCCDDDDCCDDCCCCDDCCCCCCCCCCDDCCCCDDDDCCCCDDDDDDCCDDCCDDDDDDCCCCCCCCDDCCCCDDCCCCDDCCCCCCCCCCDDCCDDDDCCCCDDCCCCCCDDDDDDDDDDDDDDDDDDCCCCCCDDCCDDCCDDCCCCDDCCDDCCCCCCDDDDDDDDCCDDCCCCCCCCCCCCCCDDCCDDCCCCCCDDDDCCCCCCCCCCDDDDCCDDCCCCDDCCDDDDDDCCCCDDDDCCDDDDDDDDCCDDCCCCDDCCCCCCDDCCDDCCCCCCCCCCCCDDCCCCCCDDDDCCCCCCDDCCCCDDCCCCCCDDCCCCCCCCCCDDCCDDDDCCCCCCDDCCCCCCCCDDDDDDDDDDDDCCDDCCDDCCCCCCDDCCDDCCCCDDDDDDDDCCCCCCDDDDDDDDCCDDCCCCCCCCCCDDDDDDCCCCCCCCDDCCDDCCCCDDCCCCCCCCDDDDCCCCDDDDCCCCCCDDCCCCDDDDDDCCCCCCCCDDDDDDCCCCCCCCCCCCCCDDDDCCDDDDDDDDCCCCCCDDCCDDCCDDCCDDDDDDDDDDCCCCCCCCCCCCDDCCCCCCDDDDDDCCCCCCCCDDDDCCDDCCDDDDCCDDCCCCCCCCDDDDCCCCDDCCCCDDDDDDDDDDDDCCCCCCDDDDDDCCDDDDDDCCCCCCCCDDCCCCCCCCDDCCDDCCCCCCCCCCCCCCDDDDCCCCCCCCDDCCDDCCCCCCCCCCDDCCCCDDDDCCDDCCCCDDDDCCDDCCCCCCCCCCDDCCCCCCDDCCDDDDCCDDCCDDCCCCDDCCCCDDDDDDCCDDDDDDCCDDCCCCDDCCCCDDCCCCDDCCCCDDCCCCCCDDDDDDCCCCDDCCCCCCCCDDCCDDDDCCCCCCCCDDCCDDCCDDCCCCDDCCDDCCCCDDCCCCDDCCDDCCDDDDDDDDCCCCCCCCCCCCDDDDCCCCCCCCDDDDDDCCCCDDDDDDDDCCCCDDCCDDDDCCDDCCDDDDCCCCCCCCCCCCDDDDCCDDDDDDDDDDDDDDCCDDCCDDCCDDCCDDDDCCCCDDDDCCDDDDDDCCCCCCCCDDCCCCDDCCCCDDCCDDDDCCCCCCDDCCCCDDDDDDCCDDCCCCCCDDCCDDDDCCCCCCDDDDDDDDCCCCCCDDCCDDCCDDDDCCCCCCCCDDDDCCDDDDCCCCDDDDCCDDCCCCDDCCDDCCCCCCCCCCDDCCDDDDDDDDCCCCDDDDDDDDDDDDDDCCDDCCCCDDDDCCDDDDDDDDDDDDCCCCDDCCDDCCCCDDCCCCCCCCCCDDCCCCCCDDDDCCCCDDDDDDDDCCCCDDDDCCDDDDCCDDCCDDDDDDDDCCCCCCDDCCCCCCDDCCCCCCCCCCDDDDDDDDCCCCCCDDDDCCDDCCCCDDCCDDCCCCCCCCCCCCCCDDDDDDDDCCCCDDDDDDDDDDDDDDCCCCCCCCCCDDDDDDCCDDDDCCDDDDDDDDCCCCDDDDCCCCCCCCDDCCCCCCDDDDCCDDCCCCCCDDDDCCDDCCDDCCDDDDCCDDDDCCCCDDCCDDCCDDDDCCDDDDCCDDDDDDCCCCCCCCDDCCDDDDCCDDDDCCCCDDCCCCCCCCDDDDCCDDCCCCCCDDCCDDDDCCCCCCCCDDDDDDDDCCCCDDDDDDDDCCCCCCDDCCDDCCCCCCCCDDCCDDCCCCDDDDDDCCDDCCDDCCCCDDCCCCCCDDDDDDDDDDDDDDDDDDCCDDCCDDCCCCCCDDCCDDDDDDDDCCDDDDCCDDDDDDCCCCCCCCCCDDDDDDDDDDDDCCDDDDCCDDDDCCCCCCCCDDDDDDCCCCDDCCDDCCDDDDDDDDCCDDDDCCDDDDDDCCCCDDDDCCDDDDCCDDCCCCCCCCCCCCDDDDCCDDCCCCDDCCDDCCCCCCDDDDCCCCDDDDCCCCCCDDDDDDCCDDCCDDCCCCCCCCDDCCDDDDCCCCDDCCCCDDCCDDCCCCCCCCCCDDCCCCDDCCCCCCCCDDCCCCCCCCCCDDDDCCCCDDDDCCCCCCCCCCCCCCDDCCCCDDCCDDDDDDDDDDCCCCCCCCCCDDDDCCCCCCCCDDCCCCDDCCDDCCDDDDCCDDCCCCCCCCDDCCCCCCCCCCDDCCDDDDDDCCDDDDDDCCDDCCDDCCCCCCDDCCDDCCCCCCCCCCCCCCDDCCDDCCCCCCCCCCDDCCDDDDCCDDCCDDDDDDDDCCCCCCCCCCCCDDDDCCDDCCCCDDCCCCDDCCCCCCDDCCCCDDCCCCDDCCCCCCDDDDCCCCDDDDDDDDDDCCDDDDCCCCDDDDDDDDDDDDCCCCDDDDDDDDCCDDDDDDDDCCDDCCCCCCCCDDDDCCCCCCDDDDCCDDCCCCCCCCDDDDCCCCCCCCCCDDCCCCDDDDCCCCCCCCCCCCDDDDCCDDCCDDDDCCCCDDCCDDDDDDCCCCDDCCCCCCCCCCDDDDCCCCCCCCCCCCCCDDCCDDCCCCDDDDCCCCCCCCDDDDCCCCCCCCCCDDDDCCDDCCCCCCCCDDDDCCCCCCCCDDCCCCDDCCDDCCCCCCDDDDCCDDCCCCCCDDCCCCCCCCCCDDCCDDCCDDCCCCCCCCDDCCDDCCCCCCCCDDCCDDCCDDDDCCDDDDCCCCDDDDDDDDCCCCDDDDDDDDCCCCCCCCCCCCCCCCDDCCCCCCDDCCCCCCCCCCDDDDCCDDDDCCCCDDCCDDDDCCDDCCDDCCCCCCDDDDDDDDCCCCDDCCCCCCDDCCCCCCCCDDCCCCCCCCDDDDCCCCCCCCCCDDDDCCCCCCCCCCDDDDCCCCDDDDCCCCCCCCDDCCCCDDCCCCDDCCDDCCDDDDDDCCCCCCCCDDDDDDCCCCCCCCDDDDCCDDCCDDCCDDDDDDDDCCCCCCCCDDCCCCCCCCCCDDCCDDCCDDDDCCCCCCCCCCCCCCCCCCCCCCDDCCCCCCCCCCCCCCCCDDCCCCDDDDDDDDDDDDCCCCCCCCCCCCCCDDCCCCDDCCCCDDCCCCCCCCCCCCCCDDCCDDDDCCDDCCDDCCDDDDCCCCDDDDCCDDCCDDCCCCDDCCCCCCCCDDDDCCDDCCCCCCDDCCDDDDCCCCDDCCCCDDCCDDCCCCCCCCCCCCDDDDCCDDCCCCCCDDDDCCCCDDDDCCCCCCDDCCCCCCDDDDCCDDCCCCCCCCDDCCDDDDCCDDDDCCCCCCCCCCCCCCDDDDCCCCCCCCCCDDDDCCDDDDCCCCDDDDCCCCCCCCDDCCDDCCDDCCDDCCCCCCCCCCDDDDCCCCCCCCDDCCDDCCCCCCCCCCDDCCDDDDDDDDCCCCDDCCCCCCCCDDCCCCCCDDCCCCDDDDDDCCDDCCCCDDDDCCDDCCCCCCCCCCDDDDCCDDDDCCDDDDDDCCCCDDCCDDCCCCCCCCDDCCDDCCDDDDDDCCCCDDDDDDDDCCCCDDCCDDCCCCDDCCCCDDDDDDCCCCDDDDCCDDCCCCCCCCDDCCCCDDDDCCDDCCDDDDCCCCDDCCCCCCCCDDCCCCCCCCDDCCDDDDDDCCDDDDCCCCCCCCCCCCDDCCCCCCCCCCCCDDDDCCDDCCDDCCCCDDCCCCCCCCDDDDCCDDCCCCCCDDCCDDDDCCCCCCCCCCCCDDCCDDCCDDCCDDDDCCCCCCCCDDCCCCDDDDCCCCCCCCDDCCDDCCDDCCCCDDDDDDDDDDDDCCDDCCCCDDCCDDCCCCCCCCCCCCDDCCCCDDCCDDCCCCDDDDDDCCDDDDCCDDDDCCDDCCCCCCCCDDCCCCCCCCCCCCCCCCDDCCCCCCDDDDCCCCCCDDDDCCDDCCCCDDDDDDCCCCCCDDCCDDDDDDCCCCCCCCCCCCDDDDCCCCDDCCCCDDDDCCDDCCCCDDCCCCCCCCCCDDCCCCDDDDCCCCDDDDDDCCDDCCDDDDDDCCCCCCCCDDCCCCDDCCCCDDCCCCCCCCCCDDCCDDDDCCCCDDCCCCCCDDDDDDDDDDDDDDDDDDCCCCCCDDCCDDCCDDCCCCDDCCDDCCCCCCDDDDDDDDCCDDCCCCCCCCCCCCCCDDCCDDCCCCCCDDDDCCCCCCCCCCDDDDCCDDCCCCDDCCDDDDDDCCCCDDDDCCDDDDDDDDCCDDCCCCDDCCCCCCDDCCDDCCCCCCCCCCCCDDCCCCCCDDDDCCCCCCDDCCCCDDCCCCCCDDCCCCCCCCCCDDCCDDDDCCCCCCDDCCCCCCCCDDDDDDDDDDDDCCDDCCDDCCCCCCDDCCDDCCCCDDDDDDDDCCCCCCDDDDDDDDCCDDCCCCCCCCCCDDDDDDCCCCCCCCDDCCDDCCCCDDCCCCCCCCDDDDCCCCDDDDCCCCCCDDCCCCDDDDDDCCCCCCCCDDDDDDCCCCCCCCCCCCCCDDDDCCDDDDDDDDCCCCCCDDCCDDCCDDCCDDDDDDDDDDCCCCCCCCCCCCDDCCCCCCDDDDDDCCCCCCCCDDDDCCDDCCDDDDCCDDCCCCCCCCDDDDCCCCDDCCCCDDDDDDDDDDDDCCCCCCDDDDDDCCDDDDDDCCCCCCCCDDCCCCCCCCDDCCDDCCCCCCCCCCCCCCDDDDCCCCCCCCDDCCDDCCCCCCCCCCDDCCCCDDDDCCDDCCCCDDDDCCDDCCCCCCCCCCDDCCCCCCDDCCDDDDCCDDCCDDCCCCDDCCCCDDDDDDCCDDDDDDCCDDCCCCDDCCCCDDCCCCDDCCCCDDCCCCCCDDDDDDCCCCDDCCCCCCCCDDCCDDDDCCCCCCCCDDCCDDCCDDCCCCDDCCDDCCCCDDCCCCDDCCDDCCDDDDDDDDCCCCCCCCCCCCDDDDCCCCCCCCDDDDDDCCCCDDDDDDDDCCCCDDCCDDDDCCDDCCDDDDCCCCCCCCCCCCDDDDCCDDDDDDDDDDDDDDCCDDCCDDCCDDCCDDDDCCCCDDDDCCDDDDDDCCCCCCCCDDCCCCDDCCCCDDCCDDDDCCCCCCDDCCCCDDDDDDCCDDCCCCCCDDCCDDDDCCCCCCDDDDDDDDCCCCCCDDCCDDCCDDDDCCCCCCCCDDDDCCDDDDCCCCDDDDCCDDCCCCDDCCDDCCCCCCCCCCDDCCDDDDDDDDCCCCDDDDDDDDDDDDDDCCDDCCCCDDDDCCDDDDDDDDDDDDCCCCDDCCDDCCCCDDCCCCCCCCCCDDCCCCCCDDDDCCCCDDDDDDDDCCCCDDDDCCDDDDCCDDCCDDDDDDDDCCCCCCDDCCCCCCDDCCCCCCCCCCDDDDDDDDCCCCCCDDDDCCDDCCCCDDCCDDCCCCCCCCCCCCCCDDDDDDDDCCCCDDDDDDDDDDDDDDCCCCCCCCCCDDDDDDCCDDDDCCDDDDDDDDCCCCDDDDCCCCCCCCDDCCCCCCDDDDCCDDCCCCCCDDDDCCDDCCDDCCDDDDCCDDDDCCCCDDCCDDCCDDDDCCDDDDCCDDDDDDCCCCCCCCDDCCDDDDCCDDDDCCCCDDCCCCCCCCDDDDCCDDCCCCCCDDCCDDDDCCCCCCCCDDDDDDDDCCCCDDDDDDDDCCCCCCDDCCDDCCCCCCCCDDCCDDCCCCDDDDDDCCDDCCDDCCCCDDCCCCCCDDDDDDDDDDDDDDDDDDCCDDCCDDCCCCCCDDCCDDDDDDDDCCDDDDCCDDDDDDCCCCCCCCCCDDDDDDDDDDDDCCDDDDCCDDDDCCCCCCCCDDDDDDCCCCDDCCDDCCDDDDDDDDCCDDDDCCDDDDDDCCCCDDDDCCDDDDCCDDCCCCCCCCCCCCDDDDCCDDCCCCDDCCDDCCCCCCDDDDCCCCDDDDCCCCCCDDDDDDCCDDCCDDCCCCCCCCDDCCDDDDCCCCDDCCCCDDCCDDCCCCCCCCCCDDCCCCDDCCCCCCCCDDCCCCCCCCCCDDDDCCCCDDDDCCCCCCCCCCCCCCDDCCCCDDCCDDDDDDDDDDCCCCCCCCCCDDDDCCCCCCCCDDCCCCDDCCDDCCDDDDCCDDCCCCCCCCDDCCCCCCCCCCDDCCDDDDDDCCDDDDDDCCDDCCDDCCCCCCDDCCDDCCCCCCCCCCCCCCDDCCDDCCCCCCCCCCDDCCDDDDCCDDCCDDDDDDDDCCCCCCCCCCCCDDDDCCDDCCCCDDCCCCDDCCCCCCDDCCCCDDCCCCDDCCCCCCDDDDCCCCDDDDDDDDDDCCDDDDCCCCDDDDDDDDDDDDCCCCDDDDDDDDCCDDDDDDDDCCDDCCCCCCCCDDDDCCCCCCDDDDCCDDCCCCCCCCDDDDCCCCCCCCCCDDCCCCDDDDCCCCCCCCCCCCDDDDCCDDCCDDDDCCCCDDCCDDDDDDCCCCDDCCCCCCCCCCDDDDCCCCCCCCCCCCCCDDCCDDCCCCDDDDCCCCCCCCDDDDCCCCCCCCCCDDDDCCDDCCCCCCCCDDDDCCCCCCCCDDCCCCDDCCDDCCCCCCDDDDCCDDCCCCCCDDCCCCCCCCCCDDCCDDCCDDCCCCCCCCDDCCDDCCCCCCCCDDCCDDCCDDDDCCDDDDCCCCDDDDDDDDCCCCDDDDDDDDCCCCCCCCCCCCCCCCDDCCCCCCDDCCCCCCCCCCDDDDCCDDDDCCCCDDCCDDDDCCDDCCDDCCCCCCDDDDDDDDCCCCDDCCCCCCDDCCCCCCCCDDCCCCCCCCDDDDCCCCCCCCCCDDDDCCCCCCCCCCDDDDCCCCDDDDCCCCCCCCDDCCCCDDCCCCDDCCDDCCDDDDDDCCCCCCCCDDDDDDCCCCCCCCDDDDCCDDCCDDCCDDDDDDDDCCCCCCCCCCCCCCDDDDCCCCCCCCCCCCCCCCDDDDDDDDDDCCDDCCDDCCDDDDCCDDCCCCDDDDCCCCCCDDCCCCCCDDDDCCCCDDCCDDDDCCCCCCCCCCCCCCCCCCCCDDCCCCCCDDCCCCDDCCCCCCCCDDCCDDCCCCCCCCDDDDCCCCCCDDCCDDCCCCDDCCCCCCDDCCCCCCDDDDCCCCCCDDDDDDCCDDCCCCCCCCCCDDCCCCDDCCCCCCDDDDCCDDCCCCCCDDCCCCCCCCDDDDCCDDCCCCDDDDCCDDDDCCCCCCDDDDCCDDDDDDCCDDCCDDDDCCCCDDDDCCCCDDDDCCCCCCCCCCDDDDCCDDDDCCCCCCCCCCCCDDCCCCCCDDDDCCCCDDDDCCCCDDDDCCCCDDCCCCCCDDDDCCDDCCDDDDDDCCCCDDCCCCDDCCDDDDDDCCDDCCCCCCDDCCCCCCCCDDCCCCCCDDDDCCCCDDDDDDDDCCCCCCCCCCCCCCCCDDCCCCCCCCCCDDDDCCCCDDDDDDCCCCCCDDDDCCCCCCCCCCCCCCCCCCDDCCDDCCCCCCDDCCCCCCCCCCCCCCCCDDCCCCCCCCCCDDCCDDDDCCDDDDCCCCCCDDCCCCCCCCDDDDCCCCCCCCCCCCCCCCDDCCDDDDDDCCDDCCCCCCDDCCCCDDCCDDDDDDDDCCCCDDCCCCDDCCCCCCCCDDDDDDDDDDDDDDCCCCCCDDCCDDCCCCCCCCCCCCDDCCCCCCCCDDCCCCCCDDDDCCDDCCCCDDCCCCDDCCCCDDDDDDDDDDCCCCDDCCCCCCDDCCCCCCCCDDDDDDCCDDCCCCCCCCCCCCDDCCDDCCDDDDCCCCCCCCCCCCCCCCCCDDDDCCCCDDCCDDDDCCDDCCDDCCCCCCDDCCDDDDCCCCDDCCCCDDDDDDCCCCDDDDDDDDDDCCCCDDDDCCDDCCCCDDCCCCDDCCDDCCCCCCCCCCDDCCDDDDCCDDDDDDDDDDDDDDDDCCCCDDDDCCDDCCDDDDDDDDDDDDCCCCCCCCCCCCCCDDDDDDCCCCCCCCDDDDCCCCCCCCCCDDDDCCDDCCCCDDCCDDCCDDCCCCCCCCCCCCDDCCDDDDCCCCDDDDCCDDDDCCCCDDCCCCCCCCDDCCCCDDCCCCCCDDCCCCDDCCDDCCDDCCCCCCCCCCDDDDCCCCDDDDCCCCDDDDDDCCCCDDCCDDDDCCCCDDCCCCDDCCCCDDCCDDCCDDCCDDDDCCDDDDDDDDCCDDCCCCCCCCCCCCCCCCDDCCCCDDDDCCCCDDDDCCDDCCCCCCDDCCCCCCCCDDDDDDDDCCDDCCDDCCCCCCCCCCCCCCCCDDCCCCCCCCCCDDDDDDCCCCCCDDCCDDDDCCCCCCDDCCDDDDDDDDCCDDDDDDCCCCCCDDDDCCCCDDDDDDCCCCCCCCCCDDCCDDDDDDDDDDDDCCCCDDDDCCDDDDDDCCDDDDCCCCDDCCDDDDDDCCCCDDDDCCDDDDCCDDDDDDDDCCCCDDDDCCCCCCCCCCCCCCCCDDDDDDCCCCDDDDDDDDCCDDCCDDCCDDCCCCDDDDCCDDDDCCDDCCCCCCCCDDDDCCDDDDDDDDCCCCCCDDCCDDCCCCDDCCCCCCDDCCDDCCCCDDDDCCDDCCCCCCDDCCCCDDDDDDCCDDDDDDDDDDCCCCDDCCCCDDCCCCCCDDCCDDCCCCCCDDDDDDCCCCCCDDDDDDDDDDCCDDDDCCDDCCCCCCDDDDDDDDCCDDDDCCDDCCDDCCDDCCCCCCDDCCDDCCDDDDCCDDDDCCCCDDDDCCCCCCCCCCDDCCDDDDDDDDCCDDDDCCDDDDCCCCCCCCDDDDDDCCCCCCCCDDCCDDDDDDDDCCDDDDCCDDDDDDCCCCDDCCCCDDDDDDDDCCDDCCCCCCCCDDDDCCCCCCCCDDCCDDCCCCCCDDDDDDCCDDDDCCCCCCDDDDDDCCDDCCDDDDCCCCDDDDCCCCDDCCCCDDDDDDDDCCDDCCCCCCCCCCCCCCCCDDDDCCCCCCCCDDDDDDCCDDCCCCCCDDDDDDDDDDCCDDCCDDDDDDDDCCDDDDCCCCCCDDCCCCDDCCDDCCCCCCDDDDCCCCCCCCDDDDCCDDCCCCCCCCDDCCCCCCCCCCCCCCCCDDCCCCCCDDDDCCCCCCDDDDCCDDCCCCDDDDDDCCCCDDDDDDDDDDCCCCCCCCCCCCCCDDDDCCCCDDCCDDCCCCCCCCDDDDCCCCDDCCCCDDDDDDDDDDDDCCDDCCDDCCDDCCCCDDDDCCCCCCCCCCCCDDCCDDCCCCDDDDDDCCDDDDCCCCDDCCDDDDCCCCCCDDCCCCCCCCCCCCCCCCDDCCCCCCCCDDCCCCCCDDDDCCDDCCCCDDDDDDCCCCDDDDDDDDDDDDCCCCCCCCCCCCCCDDCCCCCCCCCCDDDDCCDDCCCCDDCCCCCCCCDDDDCCCCDDDDCCCCDDDDDDCCDDDDDDDDDDCCCCCCCCDDCCCCCCCCCCDDCCCCDDCCCCDDCCDDDDCCCCDDCCCCCCDDDDDDCCCCDDCCDDCCCCCCCCDDCCDDCCDDCCDDDDCCDDCCCCCCDDDDCCDDCCDDCCCCDDCCCCCCCCCCCCCCDDCCCCDDDDDDCCCCCCCCDDDDCCDDCCCCDDCCCCCCCCDDCCDDDDCCDDDDDDDDCCCCCCCCDDDDCCDDCCCCCCDDCCCCCCDDCCDDCCCCCCDDDDCCDDDDDDCCCCCCCCDDCCDDCCCCCCCCCCDDCCDDCCCCCCCCDDCCCCCCCCDDDDDDDDDDDDCCDDDDDDCCCCCCDDCCDDCCCCDDDDDDCCCCCCCCDDCCDDDDCCDDCCCCCCCCDDCCCCDDCCCCCCCCDDCCDDCCCCDDCCCCCCCCDDDDCCCCDDDDCCCCCCDDCCCCDDDDDDCCCCCCCCDDDDDDCCCCDDCCCCDDCCCCCCDDCCCCDDCCCCCCDDDDDDDDCCCCDDCCDDCCDDDDDDCCCCDDCCDDDDCCCCDDCCCCCCCCDDDDCCCCCCDDDDDDCCCCCCDDDDCCCCDDCCDDDDCCCCCCDDDDDDCCCCCCDDCCCCCCCCCCCCDDDDDDCCDDDDDDCCDDDDDDCCDDDDCCCCDDCCDDCCCCCCCCCCDDCCDDCCDDCCDDDDDDCCDDDDDDDDCCDDCCCCCCCCCCCCCCCCDDCCCCCCDDCCCCCCCCCCDDCCCCCCDDDDDDDDDDCCDDCCCCCCCCCCCCDDCCCCDDCCCCCCCCCCDDDDDDCCCCDDDDCCCCDDCCCCDDCCDDCCCCCCDDCCCCCCCCCCCCDDCCDDCCCCCCDDCCDDDDDDDDDDDDCCDDDDDDDDDDCCCCCCCCCCDDCCDDDDCCDDCCCCCCDDDDCCCCCCDDCCDDCCDDDDCCCCDDCCDDDDDDDDCCCCCCDDDDCCCCDDCCCCDDCCDDDDDDDDDDDDDDCCCCCCDDCCDDDDCCCCDDCCCCDDCCCCCCCCCCDDCCDDCCDDCCDDCCCCDDCCCCCCCCCCDDCCDDCCCCCCCCCCCCCCCCDDCCDDDDDDDDDDCCDDCCCCCCCCCCCCCCDDCCCCDDCCCCDDDDCCCCCCCCCCDDDDDDCCDDCCDDCCDDCCCCDDCCCCDDDDCCDDCCDDDDDDDDCCCCCCCCCCDDDDDDCCCCCCDDCCDDDDCCDDDDCCCCDDCCDDCCCCCCCCDDCCDDDDCCCCCCCCDDCCDDDDDDCCCCCCCCCCDDCCDDCCCCCCCCCCDDCCCCDDDDCCDDCCDDCCDDCCCCCCCCCCDDCCDDDDDDDDCCDDCCDDDDCCCCDDCCCCCCDDCCCCDDCCCCDDCCCCDDCCCCCCDDCCCCDDCCCCDDCCCCCCCCCCCCDDDDCCCCCCCCCCCCCCCCDDDDDDDDDDCCDDCCDDCCDDDDCCDDCCCCDDDDCCCCCCDDCCCCCCDDDDCCCCDDCCDDDDCCCCCCCCCCCCCCCCCCCCDDCCCCCCDDCCCCDDCCCCCCCCDDCCDDCCCCCCCCDDDDCCCCCCDDCCDDCCCCDDCCCCCCDDCCCCCCDDDDCCCCCCDDDDDDCCDDCCCCCCCCCCDDCCCCDDCCCCCCDDDDCCDDCCCCCCDDCCCCCCCCDDDDCCDDCCCCDDDDCCDDDDCCCCCCDDDDCCDDDDDDCCDDCCDDDDCCCCDDDDCCCCDDDDCCCCCCCCCCDDDDCCDDDDCCCCCCCCCCCCDDCCCCCCDDDDCCCCDDDDCCCCDDDDCCCCDDCCCCCCDDDDCCDDCCDDDDDDCCCCDDCCCCDDCCDDDDDDCCDDCCCCCCDDCCCCCCCCDDCCCCCCDDDDCCCCDDDDDDDDCCCCCCCCCCCCCCCCDDCCCCCCCCCCDDDDCCCCDDDDDDCCCCCCDDDDCCCCCCCCCCCCCCCCCCDDCCDDCCCCCCDDCCCCCCCCCCCCCCCCDDCCCCCCCCCCDDCCDDDDCCDDDDCCCCCCDDCCCCCCCCDDDDCCCCCCCCCCCCCCCCDDCCDDDDDDCCDDCCCCCCDDCCCCDDCCDDDDDDDDCCCCDDCCCCDDCCCCCCCCDDDDDDDDDDDDDDCCCCCCDDCCDDCCCCCCCCCCCCDDCCCCCCCCDDCCCCCCDDDDCCDDCCCCDDCCCCDDCCCCDDDDDDDDDDCCCCDDCCCCCCDDCCCCCCCCDDDDDDCCDDCCCCCCCCCCCCDDCCDDCCDDDDCCCCCCCCCCCCCCCCCCDDDDCCCCDDCCDDDDCCDDCCDDCCCCCCDDCCDDDDCCCCDDCCCCDDDDDDCCCCDDDDDDDDDDCCCCDDDDCCDDCCCCDDCCCCDDCCDDCCCCCCCCCCDDCCDDDDCCDDDDDDDDDDDDDDDDCCCCDDDDCCDDCCDDDDDDDDDDDDCCCCCCCCCCCCCCDDDDDDCCCCCCCCDDDDCCCCCCCCCCDDDDCCDDCCCCDDCCDDCCDDCCCCCCCCCCCCDDCCDDDDCCCCDDDDCCDDDDCCCCDDCCCCCCCCDDCCCCDDCCCCCCDDCCCCDDCCDDCCDDCCCCCCCCCCDDDDCCCCDDDDCCCCDDDDDDCCCCDDCCDDDDCCCCDDCCCCDDCCCCDDCCDDCCDDCCDDDDCCDDDDDDDDCCDDCCCCCCCCCCCCCCCCDDCCCCDDDDCCCCDDDDCCDDCCCCCCDDCCCCCCCCDDDDDDDDCCDDCCDDCCCCCCCCCCCCCCCCDDCCCCCCCCCCDDDDDDCCCCCCDDCCDDDDCCCCCCDDCCDDDDDDDDCCDDDDDDCCCCCCDDDDCCCCDDDDDDCCCCCCCCCCDDCCDDDDDDDDDDDDCCCCDDDDCCDDDDDDCCDDDDCCCCDDCCDDDDDDCCCCDDDDCCDDDDCCDDDDDDDDCCCCDDDDCCCCCCCCCCCCCCCCDDDDDDCCCCDDDDDDDDCCDDCCDDCCDDCCCCDDDDCCDDDDCCDDCCCCCCCCDDDDCCDDDDDDDDCCCCCCDDCCDDCCCCDDCCCCCCDDCCDDCCCCDDDDCCDDCCCCCCDDCCCCDDDDDDCCDDDDDDDDDDCCCCDDCCCCDDCCCCCCDDCCDDCCCCCCDDDDDDCCCCCCDDDDDDDDDDCCDDDDCCDDCCCCCCDDDDDDDDCCDDDDCCDDCCDDCCDDCCCCCCDDCCDDCCDDDDCCDDDDCCCCDDDDCCCCCCCCCCDDCCDDDDDDDDCCDDDDCCDDDDCCCCCCCCDDDDDDCCCCCCCCDDCCDDDDDDDDCCDDDDCCDDDDDDCCCCDDCCCCDDDDDDDDCCDDCCCCCCCCDDDDCCCCCCCCDDCCDDCCCCCCDDDDDDCCDDDDCCCCCCDDDDDDCCDDCCDDDDCCCCDDDDCCCCDDCCCCDDDDDDDDCCDDCCCCCCCCCCCCCCCCDDDDCCCCCCCCDDDDDDCCDDCCCCCCDDDDDDDDDDCCDDCCDDDDDDDDCCDDDDCCCCCCDDCCCCDDCCDDCCCCCCDDDDCCCCCCCCDDDDCCDDCCCCCCCCDDCCCCCCCCCCCCCCCCDDCCCCCCDDDDCCCCCCDDDDCCDDCCCCDDDDDDCCCCDDDDDDDDDDCCCCCCCCCCCCCCDDDDCCCCDDCCDDCCCCCCCCDDDDCCCCDDCCCCDDDDDDDDDDDDCCDDCCDDCCDDCCCCDDDDCCCCCCCCCCCCDDCCDDCCCCDDDDDDCCDDDDCCCCDDCCDDDDCCCCCCDDCCCCCCCCCCCCCCCCDDCCCCCCCCDDCCCCCCDDDDCCDDCCCCDDDDDDCCCCDDDDDDDDDDDDCCCCCCCCCCCCCCDDCCCCCCCCCCDDDDCCDDCCCCDDCCCCCCCCDDDDCCCCDDDDCCCCDDDDDDCCDDDDDDDDDDCCCCCCCCDDCCCCCCCCCCDDCCCCDDCCCCDDCCDDDDCCCCDDCCCCCCDDDDDDCCCCDDCCDDCCCCCCCCDDCCDDCCDDCCDDDDCCDDCCCCCCDDDDCCDDCCDDCCCCDDCCCCCCCCCCCCCCDDCCCCDDDDDDCCCCCCCCDDDDCCDDCCCCDDCCCCCCCCDDCCDDDDCCDDDDDDDDCCCCCCCCDDDDCCDDCCCCCCDDCCCCCCDDCCDDCCCCCCDDDDCCDDDDDDCCCCCCCCDDCCDDCCCCCCCCCCDDCCDDCCCCCCCCDDCCCCCCCCDDDDDDDDDDDDCCDDDDDDCCCCCCDDCCDDCCCCDDDDDDCCCCCCCCDDCCDDDDCCDDCCCCCCCCDDCCCCDDCCCCCCCCDDCCDDCCCCDDCCCCCCCCDDDDCCCCDDDDCCCCCCDDCCCCDDDDDDCCCCCCCCDDDDDDCCCCDDCCCCDDCCCCCCDDCCCCDDCCCCCCDDDDDDDDCCCCDDCCDDCCDDDDDDCCCCDDCCDDDDCCCCDDCCCCCCCCDDDDCCCCCCDDDDDDCCCCCCDDDDCCCCDDCCDDDDCCCCCCDDDDDDCCCCCCDDCCCCCCCCCCCCDDDDDDCCDDDDDDCCDDDDDDCCDDDDCCCCDDCCDDCCCCCCCCCCDDCCDDCCDDCCDDDDDDCCDDDDDDDDCCDDCCCCCCCCCCCCCCCCDDCCCCCCDDCCCCCCCCCCDDCCCCCCDDDDDDDDDDCCDDCCCCCCCCCCCCDDCCCCDDCCCCCCCCCCDDDDDDCCCCDDDDCCCCDDCCCCDDCCDDCCCCCCDDCCCCCCCCCCCCDDCCDDCCCCCCDDCCDDDDDDDDDDDDCCDDDDDDDDDDCCCCCCCCCCDDCCDDDDCCDDCCCCCCDDDDCCCCCCDDCCDDCCDDDDCCCCDDCCDDDDDDDDCCCCCCDDDDCCCCDDCCCCDDCCDDDDDDDDDDDDDDCCCCCCDDCCDDDDCCCCDDCCCCDDCCCCCCCCCCDDCCDDCCDDCCDDCCCCDDCCCCCCCCCCDDCCDDCCCCCCCCCCCCCCCCDDCCDDDDDDDDDDCCDDCCCCCCCCCCCCCCDDCCCCDDCCCCDDDDCCCCCCCCCCDDDDDDCCDDCCDDCCDDCCCCDDCCCCDDDDCCDDCCDDDDDDDDCCCCCCCCCCDDDDDDCCCCCCDDCCDDDDCCDDDDCCCCDDCCDDCCCCCCCCDDCCDDDDCCCCCCCCDDCCDDDDDDCCCCCCCCCCDDCCDDCCCCCCCCCCDDCCCCDDDDCCDDCCDDCCDDCCCCCCCCCCDDCCDDDDDDDDCCDDCCDDDDCCCCDDCCCCCCDDCCCCDDCCCCDDCCCCDDCCCCCCDDCCCCDDCCCCDDCCCCCCCCCCCCCCCCDDDDDDDDCCCCCCDDDDDDDDCCCCDDCCCCCCDDCCCCDDCCCCCCDDCCCCDDCCDDCCDDCCCCCCCCCCDDCCCCDDCCCCCCDDCCDDCCDDDDCCDDCCCCDDDDCCCCCCCCDDCCCCCCCCDDCCCCCCDDCCCCDDCCCCCCDDCCCCCCDDCCCCCCCCDDCCDDDDDDCCDDDDDDCCDDDDCCCCCCCCCCDDCCCCCCDDCCCCDDDDCCDDCCCCCCCCCCDDCCCCCCDDDDCCDDCCDDCCCCDDCCDDCCCCCCCCCCCCDDCCCCCCCCCCCCCCCCDDCCDDDDCCDDDDCCCCCCCCCCDDCCDDCCCCCCDDCCCCDDDDDDCCCCCCDDCCCCDDDDDDDDDDCCDDDDCCDDDDCCCCCCDDDDCCCCDDCCCCCCCCDDDDCCCCCCDDCCCCDDCCDDDDCCDDDDCCDDCCDDDDDDCCDDCCDDCCCCDDCCCCDDDDCCDDDDDDCCCCCCCCCCDDCCDDDDCCDDCCCCCCCCCCDDCCDDCCDDCCDDDDCCDDDDDDDDCCDDCCDDCCDDDDDDCCCCCCCCCCDDCCDDCCCCCCCCCCCCDDDDCCCCCCDDCCCCDDCCCCCCCCCCDDCCDDCCCCDDCCCCCCCCDDDDCCCCDDDDDDCCCCDDCCCCDDCCDDCCCCCCDDCCDDCCDDCCCCDDCCDDDDDDCCCCDDDDCCDDDDCCDDDDCCDDDDCCCCCCCCCCCCCCCCCCDDCCCCCCCCDDDDCCCCDDCCCCDDDDCCCCCCDDCCCCCCCCCCCCDDCCCCCCDDCCCCCCCCDDCCCCCCCCDDCCCCCCCCDDDDDDCCDDCCCCCCCCCCDDDDCCCCDDCCCCDDCCDDDDCCCCDDCCCCCCCCCCDDCCCCDDCCDDCCDDCCDDDDCCCCDDDDDDCCCCCCDDDDDDCCCCDDDDCCCCCCCCCCCCDDDDCCCCCCCCCCCCDDDDCCDDDDCCDDDDDDCCDDDDCCCCCCCCDDCCCCCCDDDDCCCCCCCCCCDDCCCCCCDDCCCCDDDDCCCCCCCCCCCCDDCCCCCCDDCCCCDDCCCCCCCCCCCCDDCCDDCCDDCCCCDDCCCCDDCCCCCCCCDDDDCCDDCCCCDDCCDDDDDDDDCCDDDDDDCCCCDDCCCCDDCCCCCCCCDDCCDDDDDDCCCCCCDDCCDDCCCCDDDDDDDDCCCCCCDDCCCCDDDDDDDDCCCCCCCCDDCCDDDDCCCCDDCCDDCCCCCCCCCCDDDDDDDDCCCCCCDDDDDDDDDDCCCCDDCCCCCCCCDDDDCCCCDDCCDDCCDDCCDDCCDDCCCCDDCCDDDDCCCCDDCCDDCCCCCCCCDDDDCCDDDDCCCCDDCCDDCCCCDDDDDDCCCCCCCCDDDDDDDDDDCCDDDDDDCCCCCCDDDDCCDDCCCCCCCCDDDDCCDDDDCCDDCCCCCCCCDDCCCCDDDDDDCCCCCCCCCCDDCCCCDDCCCCDDCCCCDDCCCCDDCCCCCCCCDDDDCCCCDDDDCCCCDDDDDDDDCCDDCCDDDDCCCCCCCCDDCCCCDDCCCCDDCCCCCCCCCCDDCCDDDDCCCCDDCCCCCCCCDDDDDDDDDDDDDDCCCCCCCCDDCCDDCCDDCCDDDDCCDDCCCCCCDDDDDDDDCCDDCCCCDDCCCCCCCCDDCCDDCCDDCCDDDDDDCCCCCCCCDDDDCCDDCCCCDDCCCCDDCCDDCCDDCCCCDDDDDDDDCCDDCCCCCCDDCCCCDDCCDDDDCCCCCCDDCCDDCCCCCCDDDDCCDDDDDDCCCCDDCCDDCCDDCCCCCCCCCCDDCCDDDDCCCCCCDDCCCCCCCCDDDDDDCCDDDDCCDDDDDDCCCCCCDDCCDDCCCCDDDDDDDDCCCCCCDDDDCCDDCCDDCCCCCCCCDDCCDDDDCCDDCCCCDDCCCCCCCCDDCCCCCCCCDDDDCCCCDDDDCCCCCCDDCCCCCCDDCCCCCCCCCCDDDDDDCCCCDDCCCCDDCCCCCCCCDDCCDDCCCCDDCCCCDDCCCCCCDDDDDDDDCCCCDDCCDDCCDDCCCCCCCCDDDDDDCCCCCCCCCCCCCCCCDDCCDDCCDDDDCCCCCCCCCCCCCCCCDDDDDDCCCCCCCCDDDDCCDDCCCCCCCCCCDDDDDDDDCCCCDDCCCCCCDDDDDDCCDDDDDDCCDDCCCCDDDDCCDDCCCCDDCCCCCCCCDDCCCCCCDDCCDDCCCCDDCCCCDDDDDDDDDDCCCCDDCCCCCCDDCCCCCCDDDDCCDDCCDDCCCCCCCCCCCCDDCCDDCCCCDDCCCCCCCCCCCCCCCCCCDDDDCCCCDDCCDDDDCCDDCCDDCCCCCCDDDDDDDDCCCCDDCCCCDDDDDDCCCCDDDDDDDDDDCCCCDDDDCCDDCCCCDDCCCCDDCCDDCCCCCCDDCCDDCCDDDDCCDDDDDDDDDDDDDDDDCCCCDDDDCCDDCCDDCCDDDDDDDDCCCCCCCCCCCCDDDDDDDDCCCCCCCCDDDDCCDDCCCCCCDDDDCCDDCCDDDDCCDDCCCCCCDDCCCCCCCCDDCCDDDDCCCCCCDDCCCCDDCCCCCCCCCCCCCCDDCCCCCCDDCCCCDDCCCCDDCCDDCCDDCCCCCCCCCCDDCCCCCCDDDDCCCCCCDDDDCCCCDDCCDDDDCCCCDDCCDDDDCCCCDDDDDDDDCCCCDDDDCCDDDDDDDDDDDDCCDDCCCCCCCCCCCCDDCCCCDDCCCCCCDDDDCCDDCCCCCCDDCCCCCCCCDDDDCCCCCCDDCCDDCCCCCCCCCCCCCCCCCCCCCCDDCCCCDDDDDDCCCCCCDDDDDDDDDDCCCCDDCCCCDDDDDDCCDDDDDDCCDDCCDDCCCCCCDDCCDDCCCCDDCCDDCCCCDDDDDDCCDDDDDDCCDDDDCCDDDDCCCCDDDDCCCCDDCCDDCCDDCCCCCCCCCCCCDDDDCCCCDDCCDDDDCCDDCCCCDDDDCCCCCCDDDDCCCCCCDDCCCCCCDDDDCCDDDDCCCCCCDDDDDDDDCCDDDDCCCCCCCCCCCCCCDDDDCCDDCCCCCCCCDDCCDDDDCCCCDDDDCCCCCCCCDDCCCCCCDDCCDDCCDDCCCCCCCCDDCCCCCCCCDDCCDDDDCCCCCCCCDDCCCCCCDDCCCCCCDDDDCCCCCCDDCCCCCCDDCCCCDDDDDDCCDDCCCCDDCCCCDDCCCCCCCCCCDDDDCCDDCCCCDDDDCCCCDDCCDDDDCCCCCCCCCCCCDDCCDDDDDDDDCCDDCCDDDDCCCCDDCCCCCCCCDDCCCCDDDDDDCCCCDDDDCCCCCCDDDDCCDDCCCCDDDDCCDDCCDDDDCCDDCCCCCCCCCCDDCCDDCCCCCCCCCCDDDDCCDDDDCCCCCCCCCCCCDDCCCCCCCCCCCCDDDDCCDDCCDDCCCCDDCCCCDDCCDDDDCCDDCCCCCCDDCCDDDDCCCCCCDDCCCCDDCCDDDDCCCCCCDDDDCCCCCCCCCCCCDDCCDDDDDDDDDDDDDDCCDDCCDDDDCCDDCCCCCCDDCCCCCCCCCCCCCCDDDDDDCCDDCCDDDDCCCCCCCCCCCCCCCCCCCCDDCCCCCCDDCCCCDDCCCCCCCCCCCCDDCCCCCCCCDDDDCCCCCCDDCCCCCCCCDDCCCCCCDDCCDDDDDDDDCCCCCCDDDDDDDDDDCCCCCCCCCCDDCCCCCCCCCCDDCCCCDDDDDDDDDDDDDDDDCCCCDDDDCCDDDDDDCCDDDDDDDDDDCCCCDDDDDDCCCCCCCCCCDDCCDDCCCCCCCCDDCCDDCCCCCCCCCCDDCCCCCCCCCCDDCCCCDDDDCCCCCCCCCCDDDDDDCCDDCCDDDDCCCCDDDDDDCCCCCCCCCCDDDDDDDDCCCCCCDDDDDDDDCCCCDDCCCCCCDDCCCCDDCCCCCCDDCCCCDDCCDDCCDDCCCCCCCCCCDDCCCCDDCCCCCCDDCCDDCCDDDDCCDDCCCCDDDDCCCCCCCCDDCCCCCCCCDDCCCCCCDDCCCCDDCCCCCCDDCCCCCCDDCCCCCCCCDDCCDDDDDDCCDDDDDDCCDDDDCCCCCCCCCCDDCCCCCCDDCCCCDDDDCCDDCCCCCCCCCCDDCCCCCCDDDDCCDDCCDDCCCCDDCCDDCCCCCCCCCCCCDDCCCCCCCCCCCCCCCCDDCCDDDDCCDDDDCCCCCCCCCCDDCCDDCCCCCCDDCCCCDDDDDDCCCCCCDDCCCCDDDDDDDDDDCCDDDDCCDDDDCCCCCCDDDDCCCCDDCCCCCCCCDDDDCCCCCCDDCCCCDDCCDDDDCCDDDDCCDDCCDDDDDDCCDDCCDDCCCCDDCCCCDDDDCCDDDDDDCCCCCCCCCCDDCCDDDDCCDDCCCCCCCCCCDDCCDDCCDDCCDDDDCCDDDDDDDDCCDDCCDDCCDDDDDDCCCCCCCCCCDDCCDDCCCCCCCCCCCCDDDDCCCCCCDDCCCCDDCCCCCCCCCCDDCCDDCCCCDDCCCCCCCCDDDDCCCCDDDDDDCCCCDDCCCCDDCCDDCCCCCCDDCCDDCCDDCCCCDDCCDDDDDDCCCCDDDDCCDDDDCCDDDDCCDDDDCCCCCCCCCCCCCCCCCCDDCCCCCCCCDDDDCCCCDDCCCCDDDDCCCCCCDDCCCCCCCCCCCCDDCCCCCCDDCCCCCCCCDDCCCCCCCCDDCCCCCCCCDDDDDDCCDDCCCCCCCCCCDDDDCCCCDDCCCCDDCCDDDDCCCCDDCCCCCCCCCCDDCCCCDDCCDDCCDDCCDDDDCCCCDDDDDDCCCCCCDDDDDDCCCCDDDDCCCCCCCCCCCCDDDDCCCCCCCCCCCCDDDDCCDDDDCCDDDDDDCCDDDDCCCCCCCCDDCCCCCCDDDDCCCCCCCCCCDDCCCCCCDDCCCCDDDDCCCCCCCCCCCCDDCCCCCCDDCCCCDDCCCCCCCCCCCCDDCCDDCCDDCCCCDDCCCCDDCCCCCCCCDDDDCCDDCCCCDDCCDDDDDDDDCCDDDDDDCCCCDDCCCCDDCCCCCCCCDDCCDDDDDDCCCCCCDDCCDDCCCCDDDDDDDDCCCCCCDDCCCCDDDDDDDDCCCCCCCCDDCCDDDDCCCCDDCCDDCCCCCCCCCCDDDDDDDDCCCCCCDDDDDDDDDDCCCCDDCCCCCCCCDDDDCCCCDDCCDDCCDDCCDDCCDDCCCCDDCCDDDDCCCCDDCCDDCCCCCCCCDDDDCCDDDDCCCCDDCCDDCCCCDDDDDDCCCCCCCCDDDDDDDDDDCCDDDDDDCCCCCCDDDDCCDDCCCCCCCCDDDDCCDDDDCCDDCCCCCCCCDDCCCCDDDDDDCCCCCCCCCCDDCCCCDDCCCCDDCCCCDDCCCCDDCCCCCCCCDDDDCCCCDDDDCCCCDDDDDDDDCCDDCCDDDDCCCCCCCCDDCCCCDDCCCCDDCCCCCCCCCCDDCCDDDDCCCCDDCCCCCCCCDDDDDDDDDDDDDDCCCCCCCCDDCCDDCCDDCCDDDDCCDDCCCCCCDDDDDDDDCCDDCCCCDDCCCCCCCCDDCCDDCCDDCCDDDDDDCCCCCCCCDDDDCCDDCCCCDDCCCCDDCCDDCCDDCCCCDDDDDDDDCCDDCCCCCCDDCCCCDDCCDDDDCCCCCCDDCCDDCCCCCCDDDDCCDDDDDDCCCCDDCCDDCCDDCCCCCCCCCCDDCCDDDDCCCCCCDDCCCCCCCCDDDDDDCCDDDDCCDDDDDDCCCCCCDDCCDDCCCCDDDDDDDDCCCCCCDDDDCCDDCCDDCCCCCCCCDDCCDDDDCCDDCCCCDDCCCCCCCCDDCCCCCCCCDDDDCCCCDDDDCCCCCCDDCCCCCCDDCCCCCCCCCCDDDDDDCCCCDDCCCCDDCCCCCCCCDDCCDDCCCCDDCCCCDDCCCCCCDDDDDDDDCCCCDDCCDDCCDDCCCCCCCCDDDDDDCCCCCCCCCCCCCCCCDDCCDDCCDDDDCCCCCCCCCCCCCCCCDDDDDDCCCCCCCCDDDDCCDDCCCCCCCCCCDDDDDDDDCCCCDDCCCCCCDDDDDDCCDDDDDDCCDDCCCCDDDDCCDDCCCCDDCCCCCCCCDDCCCCCCDDCCDDCCCCDDCCCCDDDDDDDDDDCCCCDDCCCCCCDDCCCCCCDDDDCCDDCCDDCCCCCCCCCCCCDDCCDDCCCCDDCCCCCCCCCCCCCCCCCCDDDDCCCCDDCCDDDDCCDDCCDDCCCCCCDDDDDDDDCCCCDDCCCCDDDDDDCCCCDDDDDDDDDDCCCCDDDDCCDDCCCCDDCCCCDDCCDDCCCCCCDDCCDDCCDDDDCCDDDDDDDDDDDDDDDDCCCCDDDDCCDDCCDDCCDDDDDDDDCCCCCCCCCCCCDDDDDDDDCCCCCCCCDDDDCCDDCCCCCCDDDDCCDDCCDDDDCCDDCCCCCCDDCCCCCCCCDDCCDDDDCCCCCCDDCCCCDDCCCCCCCCCCCCCCDDCCCCCCDDCCCCDDCCCCDDCCDDCCDDCCCCCCCCCCDDCCCCCCDDDDCCCCCCDDDDCCCCDDCCDDDDCCCCDDCCDDDDCCCCDDDDDDDDCCCCDDDDCCDDDDDDDDDDDDCCDDCCCCCCCCCCCCDDCCCCDDCCCCCCDDDDCCDDCCCCCCDDCCCCCCCCDDDDCCCCCCDDCCDDCCCCCCCCCCCCCCCCCCCCCCDDCCCCDDDDDDCCCCCCDDDDDDDDDDCCCCDDCCCCDDDDDDCCDDDDDDCCDDCCDDCCCCCCDDCCDDCCCCDDCCDDCCCCDDDDDDCCDDDDDDCCDDDDCCDDDDCCCCDDDDCCCCDDCCDDCCDDCCCCCCCCCCCCDDDDCCCCDDCCDDDDCCDDCCCCDDDDCCCCCCDDDDCCCCCCDDCCCCCCDDDDCCDDDDCCCCCCDDDDDDDDCCDDDDCCCCCCCCCCCCCCDDDDCCDDCCCCCCCCDDCCDDDDCCCCDDDDCCCCCCCCDDCCCCCCDDCCDDCCDDCCCCCCCCDDCCCCCCCCDDCCDDDDCCCCCCCCDDCCCCCCDDCCCCCCDDDDCCCCCCDDCCCCCCDDCCCCDDDDDDCCDDCCCCDDCCCCDDCCCCCCCCCCDDDDCCDDCCCCDDDDCCCCDDCCDDDDCCCCCCCCCCCCDDCCDDDDDDDDCCDDCCDDDDCCCCDDCCCCCCCCDDCCCCDDDDDDCCCCDDDDCCCCCCDDDDCCDDCCCCDDDDCCDDCCDDDDCCDDCCCCCCCCCCDDCCDDCCCCCCCCCCDDDDCCDDDDCCCCCCCCCCCCDDCCCCCCCCCCCCDDDDCCDDCCDDCCCCDDCCCCDDCCDDDDCCDDCCCCCCDDCCDDDDCCCCCCDDCCCCDDCCDDDDCCCCCCDDDDCCCCCCCCCCCCDDCCDDDDDDDDDDDDDDCCDDCCDDDDCCDDCCCCCCDDCCCCCCCCCCCCCCDDDDDDCCDDCCDDDDCCCCCCCCCCCCCCCCCCCCDDCCCCCCDDCCCCDDCCCCCCCCCCCCDDCCCCCCCCDDDDCCCCCCDDCCCCCCCCDDCCCCCCDDCCDDDDDDDDCCCCCCDDDDDDDDDDCCCCCCCCCCDDCCCCCCCCCCDDCCCCDDDDDDDDDDDDDDDDCCCCDDDDCCDDDDDDCCDDDDDDDDDDCCCCDDDDDDCCCCCCCCCCDDCCDDCCCCCCCCDDCCDDCCCCCCCCCCDDCCCCCCCCCCDDCCCCDDDDCCCCCCCCCCDDDDDDCCDDCCDDDDCCCCDDDDDDCCCCCCDDCCDDCCDDDDDDCCCCCCCCDDDDDDDDDDCCCCDDDDCCCCCCDDCCCCDDCCDDDDCCDDDDDDCCDDCCDDDDDDDDDDDDCCDDCCDDDDCCDDDDCCDDCCCCCCCCCCCCDDCCDDCCCCDDDDCCCCCCCCDDCCDDCCCCDDCCCCCCDDCCCCDDCCCCDDDDDDCCDDCCDDDDDDCCCCCCDDDDCCDDCCDDCCCCCCCCDDCCCCDDCCCCDDCCDDCCDDCCDDCCCCDDCCCCDDDDDDCCDDCCCCCCCCCCDDCCDDDDDDDDCCCCDDDDDDCCDDDDCCCCDDDDCCCCDDDDCCCCDDCCDDDDCCCCCCDDCCDDDDCCCCCCDDCCCCDDCCCCCCCCCCCCCCDDDDCCCCDDCCDDCCCCCCCCDDDDDDDDDDCCCCDDCCDDCCDDCCDDDDCCCCDDDDCCCCDDCCCCDDDDCCCCCCDDDDDDDDCCDDDDCCDDDDDDDDDDCCCCCCCCDDCCCCDDCCCCDDCCCCDDCCDDDDCCDDCCCCDDDDCCCCDDCCCCCCDDCCDDCCCCCCCCCCDDDDCCDDCCCCCCCCCCDDCCCCCCCCDDCCDDCCDDDDCCDDDDDDCCCCCCDDDDDDCCCCCCDDCCDDCCCCDDDDDDDDCCCCDDDDCCCCCCCCCCDDDDDDDDDDCCCCCCDDDDCCDDCCCCDDDDCCDDDDCCDDDDDDCCDDCCCCCCCCCCCCCCCCDDDDCCDDDDDDDDCCCCCCDDDDDDDDCCCCCCCCCCDDCCCCDDDDCCDDDDDDDDCCCCCCCCCCCCCCDDDDCCCCDDCCDDDDCCDDCCCCCCCCCCDDDDCCCCDDCCCCDDCCCCDDCCCCDDCCCCCCDDCCDDCCDDDDCCDDCCDDCCDDDDDDDDCCDDDDCCDDCCDDCCDDCCCCDDDDDDCCCCCCDDCCDDCCCCCCDDDDDDDDCCCCCCDDCCCCCCDDCCCCDDCCCCCCDDDDCCDDDDDDDDCCCCCCCCDDDDDDDDCCDDCCCCDDDDCCDDCCDDCCCCDDCCCCCCCCDDDDCCDDDDCCDDCCCCCCDDCCDDDDCCCCDDCCDDCCCCCCDDDDCCDDCCDDDDDDDDDDDDCCCCDDDDCCCCDDDDCCCCCCDDDDDDDDCCDDDDDDCCCCCCCCCCCCDDCCDDCCDDDDCCCCCCCCDDCCCCCCCCCCDDDDDDDDDDCCCCCCCCCCCCCCDDDDDDCCDDDDDDDDCCCCCCCCCCCCCCDDCCDDCCCCCCCCDDCCDDCCCCDDDDCCCCCCCCCCDDDDCCDDDDCCCCCCDDDDDDDDDDDDDDCCCCCCDDCCCCDDDDCCCCCCDDCCDDCCCCCCDDCCCCCCDDCCCCCCDDCCCCCCCCCCDDCCCCCCCCCCDDDDCCDDCCCCCCDDCCCCDDCCDDCCCCDDCCDDCCCCDDCCCCDDDDCCDDCCDDCCCCCCCCDDDDDDCCCCCCCCDDDDCCCCDDCCCCDDCCDDDDCCDDDDDDDDDDCCDDDDCCCCDDDDCCDDCCCCDDDDDDDDDDCCCCCCCCCCCCDDDDDDDDCCCCCCCCDDDDCCDDCCCCCCDDDDCCDDCCDDDDCCDDCCDDCCCCCCCCCCCCCCCCDDDDCCCCDDCCCCCCDDCCCCDDCCCCCCCCDDCCCCDDDDCCCCDDCCCCDDCCCCCCCCCCCCCCCCCCDDDDDDCCDDDDCCCCCCCCDDCCCCCCCCCCDDCCCCDDCCCCDDCCCCDDDDDDDDDDCCDDDDCCDDDDDDDDDDDDCCDDCCCCCCDDCCDDDDCCCCDDDDCCCCDDDDCCCCCCCCCCDDCCCCCCCCCCDDDDDDCCDDCCDDCCCCCCCCCCCCCCCCCCCCCCDDCCCCDDCCCCCCCCCCDDDDDDDDDDCCCCDDCCDDDDCCDDCCDDDDDDCCDDCCDDDDCCCCDDDDCCCCCCDDCCDDDDCCCCDDCCCCDDDDCCCCDDDDCCDDCCDDCCCCDDCCCCCCCCCCDDDDCCDDCCCCCCCCDDDDCCCCDDCCDDDDDDCCCCCCCCCCCCDDCCCCCCDDCCCCCCDDCCCCCCCCCCCCCCDDCCDDCCCCDDCCCCDDDDDDDDCCCCCCCCCCDDDDCCCCDDDDCCCCCCDDDDCCCCDDCCCCDDCCCCDDCCCCDDCCDDCCDDCCDDDDCCDDDDCCDDCCCCCCDDDDDDCCCCDDDDDDCCCCCCCCCCDDDDDDDDCCCCCCCCDDDDCCCCCCDDDDCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCDDCCCCDDCCCCCCCCDDCCDDDDDDDDDDCCCCCCCCCCDDDDCCCCDDDDCCDDCCDDDDCCCCDDCCCCDDCCCCDDCCCCCCCCDDCCDDCCDDDDCCDDDDDDDDCCCCCCDDDDDDCCCCDDDDDDCCCCCCCCCCDDDDDDDDCCCCCCCCDDDDCCCCDDCCDDDDDDCCDDDDCCCCDDCCDDDDCCCCDDDDCCCCCCCCCCCCCCCCCCDDCCCCCCDDCCCCCCCCCCCCDDCCCCDDDDCCCCDDCCCCCCCCCCCCCCCCCCCCDDCCCCDDCCCCDDCCCCCCCCDDDDCCDDCCCCDDCCDDDDDDDDCCDDCCCCCCCCCCCCCCDDCCCCCCCCCCCCDDDDDDCCCCCCCCCCCCCCCCDDDDDDDDCCDDCCDDCCCCCCDDDDDDDDCCCCCCDDCCDDDDDDDDDDCCDDCCCCCCCCCCDDDDDDDDCCCCCCDDDDCCCCDDCCCCDDCCCCCCDDDDDDCCCCDDCCDDCCDDCCCCCCDDCCCCCCCCDDDDCCCCDDCCDDCCCCCCCCCCDDCCDDDDCCCCDDCCCCDDCCDDDDDDCCCCCCCCDDDDDDDDDDCCDDDDDDCCCCCCDDDDCCCCCCCCCCCCDDCCCCDDDDDDDDCCCCCCCCCCCCCCCCCCDDCCCCDDCCCCDDCCCCDDCCCCCCDDDDDDDDCCCCCCCCCCCCCCCCDDDDCCDDCCCCDDDDCCDDCCCCDDDDCCDDCCCCDDCCCCDDDDCCCCDDDDCCCCDDDDDDDDDDCCDDDDDDCCDDDDCCCCDDDDDDCCCCCCCCDDDDDDCCDDCCCCCCCCDDCCCCCCCCCCDDDDCCCCDDDDDDCCDDDDCCCCDDCCCCCCDDDDDDDDCCDDDDCCCCCCDDCCCCDDCCDDDDDDCCDDCCCCCCDDCCCCCCCCDDCCDDCCDDDDCCCCDDCCDDDDCCCCCCDDCCCCCCCCDDCCCCCCCCCCDDDDCCCCCCDDDDCCCCCCDDDDCCCCCCCCCCCCCCDDCCDDDDDDCCCCDDDDCCCCCCCCCCCCCCCCDDCCCCCCCCCCDDCCDDCCCCDDDDDDCCCCCCCCDDDDCCDDDDCCCCCCCCCCCCDDCCDDCCDDDDDDCCDDCCDDCCDDCCCCDDCCDDDDDDDDCCCCDDCCCCDDCCCCCCCCDDDDDDDDCCCCDDCCCCDDDDCCCCCCDDCCCCDDCCDDCCCCCCCCCCCCCCCCDDDDDDCCCCCCDDDDCCDDCCCCDDCCCCCCDDCCCCDDCCCCCCCCCCDDDDCCDDCCCCCCCCDDCCCCDDCCCCDDCCCCDDDDCCDDCCCCCCCCDDCCCCDDDDCCCCDDCCDDCCCCCCCCDDDDCCCCDDCCCCDDCCCCCCDDCCCCCCDDCCDDCCCCDDCCDDDDDDCCDDCCDDCCDDDDCCCCCCCCCCDDCCCCCCDDDDDDDDCCCCCCDDCCCCCCCCDDDDCCCCCCCCCCCCCCDDCCDDCCCCDDDDCCCCCCCCDDDDCCDDCCCCDDDDDDCCCCCCCCCCCCDDDDCCCCCCCCDDCCCCCCCCDDCCCCCCDDDDCCDDDDCCDDDDCCCCCCCCCCDDCCDDCCDDCCCCCCCCCCDDCCDDCCDDDDDDCCCCCCCCDDDDDDDDDDCCCCDDDDCCCCCCDDCCCCDDCCDDDDCCDDDDDDCCDDCCDDDDDDDDDDDDCCDDCCDDDDCCDDDDCCDDCCCCCCCCCCCCDDCCDDCCCCDDDDCCCCCCCCDDCCDDCCCCDDCCCCCCDDCCCCDDCCCCDDDDDDCCDDCCDDDDDDCCCCCCDDDDCCDDCCDDCCCCCCCCDDCCCCDDCCCCDDCCDDCCDDCCDDCCCCDDCCCCDDDDDDCCDDCCCCCCCCCCDDCCDDDDDDDDCCCCDDDDDDCCDDDDCCCCDDDDCCCCDDDDCCCCDDCCDDDDCCCCCCDDCCDDDDCCCCCCDDCCCCDDCCCCCCCCCCCCCCDDDDCCCCDDCCDDCCCCCCCCDDDDDDDDDDCCCCDDCCDDCCDDCCDDDDCCCCDDDDCCCCDDCCCCDDDDCCCCCCDDDDDDDDCCDDDDCCDDDDDDDDDDCCCCCCCCDDCCCCDDCCCCDDCCCCDDCCDDDDCCDDCCCCDDDDCCCCDDCCCCCCDDCCDDCCCCCCCCCCDDDDCCDDCCCCCCCCCCDDCCCCCCCCDDCCDDCCDDDDCCDDDDDDCCCCCCDDDDDDCCCCCCDDCCDDCCCCDDDDDDDDCCCCDDDDCCCCCCCCCCDDDDDDDDDDCCCCCCDDDDCCDDCCCCDDDDCCDDDDCCDDDDDDCCDDCCCCCCCCCCCCCCCCDDDDCCDDDDDDDDCCCCCCDDDDDDDDCCCCCCCCCCDDCCCCDDDDCCDDDDDDDDCCCCCCCCCCCCCCDDDDCCCCDDCCDDDDCCDDCCCCCCCCCCDDDDCCCCDDCCCCDDCCCCDDCCCCDDCCCCCCDDCCDDCCDDDDCCDDCCDDCCDDDDDDDDCCDDDDCCDDCCDDCCDDCCCCDDDDDDCCCCCCDDCCDDCCCCCCDDDDDDDDCCCCCCDDCCCCCCDDCCCCDDCCCCCCDDDDCCDDDDDDDDCCCCCCCCDDDDDDDDCCDDCCCCDDDDCCDDCCDDCCCCDDCCCCCCCCDDDDCCDDDDCCDDCCCCCCDDCCDDDDCCCCDDCCDDCCCCCCDDDDCCDDCCDDDDDDDDDDDDCCCCDDDDCCCCDDDDCCCCCCDDDDDDDDCCDDDDDDCCCCCCCCCCCCDDCCDDCCDDDDCCCCCCCCDDCCCCCCCCCCDDDDDDDDDDCCCCCCCCCCCCCCDDDDDDCCDDDDDDDDCCCCCCCCCCCCCCDDCCDDCCCCCCCCDDCCDDCCCCDDDDCCCCCCCCCCDDDDCCDDDDCCCCCCDDDDDDDDDDDDDDCCCCCCDDCCCCDDDDCCCCCCDDCCDDCCCCCCDDCCCCCCDDCCCCCCDDCCCCCCCCCCDDCCCCCCCCCCDDDDCCDDCCCCCCDDCCCCDDCCDDCCCCDDCCDDCCCCDDCCCCDDDDCCDDCCDDCCCCCCCCDDDDDDCCCCCCCCDDDDCCCCDDCCCCDDCCDDDDCCDDDDDDDDDDCCDDDDCCCCDDDDCCDDCCCCDDDDDDDDDDCCCCCCCCCCCCDDDDDDDDCCCCCCCCDDDDCCDDCCCCCCDDDDCCDDCCDDDDCCDDCCDDCCCCCCCCCCCCCCCCDDDDCCCCDDCCCCCCDDCCCCDDCCCCCCCCDDCCCCDDDDCCCCDDCCCCDDCCCCCCCCCCCCCCCCCCDDDDDDCCDDDDCCCCCCCCDDCCCCCCCCCCDDCCCCDDCCCCDDCCCCDDDDDDDDDDCCDDDDCCDDDDDDDDDDDDCCDDCCCCCCDDCCDDDDCCCCDDDDCCCCDDDDCCCCCCCCCCDDCCCCCCCCCCDDDDDDCCDDCCDDCCCCCCCCCCCCCCCCCCCCCCDDCCCCDDCCCCCCCCCCDDDDDDDDDDCCCCDDCCDDDDCCDDCCDDDDDDCCDDCCDDDDCCCCDDDDCCCCCCDDCCDDDDCCCCDDCCCCDDDDCCCCDDDDCCDDCCDDCCCCDDCCCCCCCCCCDDDDCCDDCCCCCCCCDDDDCCCCDDCCDDDDDDCCCCCCCCCCCCDDCCCCCCDDCCCCCCDDCCCCCCCCCCCCCCDDCCDDCCCCDDCCCCDDDDDDDDCCCCCCCCCCDDDDCCCCDDDDCCCCCCDDDDCCCCDDCCCCDDCCCCDDCCCCDDCCDDCCDDCCDDDDCCDDDDCCDDCCCCCCDDDDDDCCCCDDDDDDCCCCCCCCCCDDDDDDDDCCCCCCCCDDDDCCCCCCDDDDCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCDDCCCCDDCCCCCCCCDDCCDDDDDDDDDDCCCCCCCCCCDDDDCCCCDDDDCCDDCCDDDDCCCCDDCCCCDDCCCCDDCCCCCCCCDDCCDDCCDDDDCCDDDDDDDDCCCCCCDDDDDDCCCCDDDDDDCCCCCCCCCCDDDDDDDDCCCCCCCCDDDDCCCCDDCCDDDDDDCCDDDDCCCCDDCCDDDDCCCCDDDDCCCCCCCCCCCCCCCCCCDDCCCCCCDDCCCCCCCCCCCCDDCCCCDDDDCCCCDDCCCCCCCCCCCCCCCCCCCCDDCCCCDDCCCCDDCCCCCCCCDDDDCCDDCCCCDDCCDDDDDDDDCCDDCCCCCCCCCCCCCCDDCCCCCCCCCCCCDDDDDDCCCCCCCCCCCCCCCCDDDDDDDDCCDDCCDDCCCCCCDDDDDDDDCCCCCCDDCCDDDDDDDDDDCCDDCCCCCCCCCCDDDDDDDDCCCCCCDDDDCCCCDDCCCCDDCCCCCCDDDDDDCCCCDDCCDDCCDDCCCCCCDDCCCCCCCCDDDDCCCCDDCCDDCCCCCCCCCCDDCCDDDDCCCCDDCCCCDDCCDDDDDDCCCCCCCCDDDDDDDDDDCCDDDDDDCCCCCCDDDDCCCCCCCCCCCCDDCCCCDDDDDDDDCCCCCCCCCCCCCCCCCCDDCCCCDDCCCCDDCCCCDDCCCCCCDDDDDDDDCCCCCCCCCCCCCCCCDDDDCCDDCCCCDDDDCCDDCCCCDDDDCCDDCCCCDDCCCCDDDDCCCCDDDDCCCCDDDDDDDDDDCCDDDDDDCCDDDDCCCCDDDDDDCCCCCCCCDDDDDDCCDDCCCCCCCCDDCCCCCCCCCCDDDDCCCCDDDDDDCCDDDDCCCCDDCCCCCCDDDDDDDDCCDDDDCCCCCCDDCCCCDDCCDDDDDDCCDDCCCCCCDDCCCCCCCCDDCCDDCCDDDDCCCCDDCCDDDDCCCCCCDDCCCCCCCCDDCCCCCCCCCCDDDDCCCCCCDDDDCCCCCCDDDDCCCCCCCCCCCCCCDDCCDDDDDDCCCCDDDDCCCCCCCCCCCCCCCCDDCCCCCCCCCCDDCCDDCCCCDDDDDDCCCCCCCCDDDDCCDDDDCCCCCCCCCCCCDDCCDDCCDDDDDDCCDDCCDDCCDDCCCCDDCCDDDDDDDDCCCCDDCCCCDDCCCCCCCCDDDDDDDDCCCCDDCCCCDDDDCCCCCCDDCCCCDDCCDDCCCCCCCCCCCCCCCCDDDDDDCCCCCCDDDDCCDDCCCCDDCCCCCCDDCCCCDDCCCCCCCCCCDDDDCCDDCCCCCCCCDDCCCCDDCCCCDDCCCCDDDDCCDDCCCCCCCCDDCCCCDDDDCCCCDDCCDDCCCCCCCCDDDDCCCCDDCCCCDDCCCCCCDDCCCCCCDDCCDDCCCCDDCCDDDDDDCCDDCCDDCCDDDDCCCCCCCCCCDDCCCCCCDDDDDDDDCCCCCCDDCCCCCCCCDDDDCCCCCCCCCCCCCCDDCCDDCCCCDDDDCCCCCCCCDDDDCCDDCCCCDDDDDDCCCCCCCCCCCCDDDDCCCCCCCCDDCCCCCCCCDDCCCCCCDDDDCCDDDDCCDDDDCCCCCCCCCCDDCCDDCCDDCCCCCCCCCCCCDDDDDDDDCCCCDDCCDDDDCCDDDDCCDDCCDDDDCCCCCCDDCCDDDDDDDDDDDDCCCCCCCCDDDDCCCCDDCCCCCCDDCCDDDDDDDDDDDDCCCCCCCCCCCCCCCCDDDDCCCCCCCCCCDDDDCCCCCCDDDDDDCCDDCCCCDDCCCCCCDDDDCCCCDDCCCCDDCCCCCCDDCCCCDDDDDDDDCCCCCCCCCCCCDDDDCCCCCCCCCCCCDDDDCCDDDDDDCCCCDDDDCCDDCCCCDDCCCCDDDDDDCCCCCCCCCCCCCCCCCCDDDDDDCCCCCCCCDDCCCCDDDDCCDDDDCCCCDDCCDDDDCCCCDDCCDDDDDDDDCCDDDDCCDDCCCCDDCCCCCCCCDDDDCCCCCCDDCCDDCCCCDDDDDDDDCCDDDDDDCCCCDDCCCCCCDDCCCCDDCCCCDDDDCCDDCCCCDDDDDDCCDDCCDDDDCCCCDDDDDDCCDDDDDDDDDDDDCCDDCCCCDDCCCCCCCCCCDDCCDDCCCCCCDDDDDDDDDDCCDDDDDDDDCCDDCCDDDDCCDDDDCCDDCCCCDDCCCCDDDDCCDDDDDDDDCCCCCCCCCCCCCCCCDDCCCCCCCCCCDDDDCCCCCCCCDDDDCCCCCCCCDDCCDDCCCCCCDDCCDDCCCCDDDDDDCCCCDDCCCCDDCCDDDDDDDDCCDDCCCCCCDDDDCCCCCCCCDDDDCCCCDDCCCCDDCCDDDDDDCCCCCCCCCCCCDDDDDDDDCCDDDDCCCCCCDDDDCCCCDDDDDDDDCCCCDDDDCCDDDDDDDDCCCCCCCCCCCCCCCCCCCCCCDDCCDDCCCCDDCCCCDDDDDDDDCCCCDDDDDDCCDDCCCCCCCCCCDDCCDDCCDDDDCCCCDDCCDDCCCCDDDDDDDDDDCCDDCCDDCCCCDDDDDDDDCCDDCCDDCCCCDDDDDDCCCCDDCCCCDDDDCCDDDDDDDDDDDDDDDDCCDDDDCCCCCCCCDDDDDDDDCCCCCCCCDDDDDDCCCCDDDDDDDDCCCCCCCCDDDDCCCCDDDDDDCCDDCCCCCCDDDDCCCCDDDDCCCCCCDDCCCCCCCCCCCCDDCCDDDDCCCCCCCCCCDDCCDDCCCCCCCCDDCCCCDDDDDDCCDDCCDDDDCCCCCCCCCCCCDDDDDDCCDDCCDDDDDDDDCCDDCCDDCCCCCCDDCCDDCCCCDDDDCCCCDDDDCCCCCCDDCCCCCCDDCCCCDDCCCCCCCCDDCCCCCCCCDDDDDDDDCCCCCCCCCCCCCCCCCCDDCCCCCCCCCCCCCCCCDDCCDDDDDDDDCCCCCCDDCCDDDDDDCCCCCCCCDDDDCCCCCCDDDDDDCCCCCCCCCCDDDDDDCCDDCCCCCCCCCCCCCCDDCCCCDDCCDDCCDDDDCCCCCCCCCCCCCCCCCCDDDDCCCCDDDDCCDDCCCCDDDDDDCCDDCCCCDDDDDDDDCCDDDDDDCCCCCCDDDDCCDDCCCCDDDDCCDDDDDDCCDDDDCCCCCCCCCCDDCCCCDDDDCCCCDDCCCCDDCCCCCCDDCCCCCCDDCCCCCCCCCCCCDDCCCCDDDDCCCCDDCCCCCCCCCCCCDDCCDDCCDDCCCCCCCCCCDDCCCCCCCCDDDDCCDDCCCCCCCCDDDDCCDDCCDDCCDDCCCCDDCCCCDDCCCCCCCCDDCCDDDDCCDDCCCCDDCCCCCCCCDDDDDDDDCCDDCCDDCCCCCCDDDDDDDDCCCCCCDDCCDDCCDDDDDDCCDDCCCCDDCCCCDDDDCCCCCCCCCCDDDDDDDDDDCCCCDDCCCCCCDDDDDDCCCCDDCCDDCCDDCCDDCCDDCCCCDDCCDDCCCCCCDDCCDDCCDDCCCCDDDDCCCCCCCCCCDDCCDDDDCCDDDDDDCCCCCCCCDDDDDDDDCCCCDDDDDDCCCCCCDDDDCCDDCCCCCCCCCCDDCCDDDDCCDDCCCCDDCCDDCCCCDDDDCCCCCCDDCCCCDDCCDDDDCCCCCCDDCCDDCCDDCCCCCCCCDDDDCCCCCCDDDDCCDDDDDDCCCCDDDDCCCCDDDDDDCCCCCCCCDDDDCCDDCCCCDDCCCCDDDDDDCCDDCCCCDDDDCCDDCCCCDDCCCCCCCCCCDDCCDDDDCCDDCCCCCCDDDDDDDDDDDDDDDDDDCCDDCCCCCCCCCCDDDDCCCCCCDDCCDDCCCCCCDDDDDDDDCCCCDDDDCCCCCCDDCCCCDDCCCCDDDDCCDDDDDDDDCCCCDDCCCCCCDDDDDDCCCCDDCCDDCCCCDDCCCCDDCCCCDDDDDDCCDDCCCCDDDDCCDDCCDDCCCCCCCCDDCCDDCCDDDDCCDDCCDDCCDDDDDDDDDDDDDDDDCCCCDDCCDDCCCCDDDDCCCCCCCCDDCCDDCCCCCCDDDDDDDDCCCCDDDDCCCCCCDDCCCCDDCCCCCCDDDDCCDDDDDDCCCCCCCCCCDDCCDDCCCCDDCCCCDDCCDDDDCCDDCCCCDDDDCCCCCCDDDDCCDDDDDDDDCCCCCCDDCCDDDDCCDDDDCCCCCCCCCCDDDDCCDDDDDDDDDDDDDDCCCCDDDDDDCCCCDDDDCCCCCCDDCCDDDDCCCCDDDDCCCCCCCCCCCCDDCCDDCCDDDDCCCCCCCCDDCCCCCCCCCCDDDDDDDDDDCCCCCCCCCCCCCCDDCCDDCCDDCCCCDDCCCCCCCCCCCCCCDDCCDDCCCCCCCCDDCCDDCCCCDDDDCCCCCCCCCCDDDDCCDDDDDDCCCCDDCCDDDDDDDDDDCCCCCCCCCCCCCCDDCCCCCCCCCCDDCCCCCCDDCCCCCCDDCCCCCCCCDDCCCCDDCCCCCCCCCCCCCCDDDDCCDDCCCCCCDDCCCCDDCCDDCCCCCCDDDDCCCCDDCCCCDDDDCCDDCCDDCCCCDDCCDDDDCCCCCCCCCCDDDDCCCCDDDDCCCCCCDDDDCCDDCCDDCCCCCCCCCCDDDDDDCCCCCCCCCCDDDDCCDDCCDDDDDDDDCCDDCCCCDDCCCCCCCCCCCCCCDDDDCCCCCCCCCCCCCCDDDDCCDDDDCCCCDDCCCCCCCCCCDDCCDDDDCCCCDDCCCCDDDDCCCCCCCCDDCCCCDDDDDDDDCCCCDDDDDDDDDDCCCCCCCCDDDDCCDDCCCCCCCCDDDDCCCCCCDDCCCCDDCCDDDDCCDDDDDDCCCCDDCCDDCCDDCCDDCCCCCCCCCCDDDDDDDDDDDDCCCCDDCCCCDDCCDDDDCCDDCCCCCCCCCCDDCCDDCCDDCCDDCCCCDDDDDDDDCCCCCCDDCCDDDDDDDDCCCCCCCCDDCCCCCCCCCCCCCCCCDDDDCCCCCCDDCCDDDDCCCCDDCCCCDDCCDDCCDDDDCCCCCCCCDDDDCCCCDDCCCCCCCCDDCCCCDDCCDDDDCCCCDDCCDDCCDDCCCCDDCCDDDDDDCCCCCCDDCCDDDDDDDDDDCCCCDDCCCCCCCCCCCCCCCCCCCCCCDDCCDDCCDDDDDDCCCCCCCCDDDDDDDDCCDDCCDDDDDDCCCCDDDDCCDDCCDDCCCCDDDDDDCCDDCCDDCCDDDDCCDDCCDDCCDDDDCCDDCCCCDDCCCCCCCCCCCCDDCCDDCCCCDDDDCCCCCCDDDDCCCCCCCCDDDDCCCCDDCCCCCCCCCCCCDDDDCCDDCCCCDDDDCCCCCCDDDDCCDDCCDDCCDDCCCCDDCCDDCCCCDDDDDDCCDDCCCCDDCCDDCCCCDDCCDDDDCCCCDDDDDDDDCCCCDDDDDDDDCCDDDDCCCCDDCCCCCCCCCCCCCCCCCCCCCCCCDDDDCCDDDDCCCCDDCCCCDDCCDDCCDDCCCCDDDDDDDDCCCCCCDDDDCCCCDDCCDDCCCCCCCCCCDDDDDDDDCCCCDDCCDDDDCCDDDDCCDDCCDDDDCCCCCCDDCCDDDDDDDDDDDDCCCCCCCCDDDDCCCCDDCCCCCCDDCCDDDDDDDDDDDDCCCCCCCCCCCCCCCCDDDDCCCCCCCCCCDDDDCCCCCCDDDDDDCCDDCCCCDDCCCCCCDDDDCCCCDDCCCCDDCCCCCCDDCCCCDDDDDDDDCCCCCCCCCCCCDDDDCCCCCCCCCCCCDDDDCCDDDDDDCCCCDDDDCCDDCCCCDDCCCCDDDDDDCCCCCCCCCCCCCCCCCCDDDDDDCCCCCCCCDDCCCCDDDDCCDDDDCCCCDDCCDDDDCCCCDDCCDDDDDDDDCCDDDDCCDDCCCCDDCCCCCCCCDDDDCCCCCCDDCCDDCCCCDDDDDDDDCCDDDDDDCCCCDDCCCCCCDDCCCCDDCCCCDDDDCCDDCCCCDDDDDDCCDDCCDDDDCCCCDDDDDDCCDDDDDDDDDDDDCCDDCCCCDDCCCCCCCCCCDDCCDDCCCCCCDDDDDDDDDDCCDDDDDDDDCCDDCCDDDDCCDDDDCCDDCCCCDDCCCCDDDDCCDDDDDDDDCCCCCCCCCCCCCCCCDDCCCCCCCCCCDDDDCCCCCCCCDDDDCCCCCCCCDDCCDDCCCCCCDDCCDDCCCCDDDDDDCCCCDDCCCCDDCCDDDDDDDDCCDDCCCCCCDDDDCCCCCCCCDDDDCCCCDDCCCCDDCCDDDDDDCCCCCCCCCCCCDDDDDDDDCCDDDDCCCCCCDDDDCCCCDDDDDDDDCCCCDDDDCCDDDDDDDDCCCCCCCCCCCCCCCCCCCCCCDDCCDDCCCCDDCCCCDDDDDDDDCCCCDDDDDDCCDDCCCCCCCCCCDDCCDDCCDDDDCCCCDDCCDDCCCCDDDDDDDDDDCCDDCCDDCCCCDDDDDDDDCCDDCCDDCCCCDDDDDDCCCCDDCCCCDDDDCCDDDDDDDDDDDDDDDDCCDDDDCCCCCCCCDDDDDDDDCCCCCCCCDDDDDDCCCCDDDDDDDDCCCCCCCCDDDDCCCCDDDDDDCCDDCCCCCCDDDDCCCCDDDDCCCCCCDDCCCCCCCCCCCCDDCCDDDDCCCCCCCCCCDDCCDDCCCCCCCCDDCCCCDDDDDDCCDDCCDDDDCCCCCCCCCCCCDDDDDDCCDDCCDDDDDDDDCCDDCCDDCCCCCCDDCCDDCCCCDDDDCCCCDDDDCCCCCCDDCCCCCCDDCCCCDDCCCCCCCCDDCCCCCCCCDDDDDDDDCCCCCCCCCCCCCCCCCCDDCCCCCCCCCCCCCCCCDDCCDDDDDDDDCCCCCCDDCCDDDDDDCCCCCCCCDDDDCCCCCCDDDDDDCCCCCCCCCCDDDDDDCCDDCCCCCCCCCCCCCCDDCCCCDDCCDDCCDDDDCCCCCCCCCCCCCCCCCCDDDDCCCCDDDDCCDDCCCCDDDDDDCCDDCCCCDDDDDDDDCCDDDDDDCCCCCCDDDDCCDDCCCCDDDDCCDDDDDDCCDDDDCCCCCCCCCCDDCCCCDDDDCCCCDDCCCCDDCCCCCCDDCCCCCCDDCCCCCCCCCCCCDDCCCCDDDDCCCCDDCCCCCCCCCCCCDDCCDDCCDDCCCCCCCCCCDDCCCCCCCCDDDDCCDDCCCCCCCCDDDDCCDDCCDDCCDDCCCCDDCCCCDDCCCCCCCCDDCCDDDDCCDDCCCCDDCCCCCCCCDDDDDDDDCCDDCCDDCCCCCCDDDDDDDDCCCCCCDDCCDDCCDDDDDDCCDDCCCCDDCCCCDDDDCCCCCCCCCCDDDDDDDDDDCCCCDDCCCCCCDDDDDDCCCCDDCCDDCCDDCCDDCCDDCCCCDDCCDDCCCCCCDDCCDDCCDDCCCCDDDDCCCCCCCCCCDDCCDDDDCCDDDDDDCCCCCCCCDDDDDDDDCCCCDDDDDDCCCCCCDDDDCCDDCCCCCCCCCCDDCCDDDDCCDDCCCCDDCCDDCCCCDDDDCCCCCCDDCCCCDDCCDDDDCCCCCCDDCCDDCCDDCCCCCCCCDDDDCCCCCCDDDDCCDDDDDDCCCCDDDDCCCCDDDDDDCCCCCCCCDDDDCCDDCCCCDDCCCCDDDDDDCCDDCCCCDDDDCCDDCCCCDDCCCCCCCCCCDDCCDDDDCCDDCCCCCCDDDDDDDDDDDDDDDDDDCCDDCCCCCCCCCCDDDDCCCCCCDDCCDDCCCCCCDDDDDDDDCCCCDDDDCCCCCCDDCCCCDDCCCCDDDDCCDDDDDDDDCCCCDDCCCCCCDDDDDDCCCCDDCCDDCCCCDDCCCCDDCCCCDDDDDDCCDDCCCCDDDDCCDDCCDDCCCCCCCCDDCCDDCCDDDDCCDDCCDDCCDDDDDDDDDDDDDDDDCCCCDDCCDDCCCCDDDDCCCCCCCCDDCCDDCCCCCCDDDDDDDDCCCCDDDDCCCCCCDDCCCCDDCCCCCCDDDDCCDDDDDDCCCCCCCCCCDDCCDDCCCCDDCCCCDDCCDDDDCCDDCCCCDDDDCCCCCCDDDDCCDDDDDDDDCCCCCCDDCCDDDDCCDDDDCCCCCCCCCCDDDDCCDDDDDDDDDDDDDDCCCCDDDDDDCCCCDDDDCCCCCCDDCCDDDDCCCCDDDDCCCCCCCCCCCCDDCCDDCCDDDDCCCCCCCCDDCCCCCCCCCCDDDDDDDDDDCCCCCCCCCCCCCCDDCCDDCCDDCCCCDDCCCCCCCCCCCCCCDDCCDDCCCCCCCCDDCCDDCCCCDDDDCCCCCCCCCCDDDDCCDDDDDDCCCCDDCCDDDDDDDDDDCCCCCCCCCCCCCCDDCCCCCCCCCCDDCCCCCCDDCCCCCCDDCCCCCCCCDDCCCCDDCCCCCCCCCCCCCCDDDDCCDDCCCCCCDDCCCCDDCCDDCCCCCCDDDDCCCCDDCCCCDDDDCCDDCCDDCCCCDDCCDDDDCCCCCCCCCCDDDDCCCCDDDDCCCCCCDDDDCCDDCCDDCCCCCCCCCCDDDDDDCCCCCCCCCCDDDDCCDDCCDDDDDDDDCCDDCCCCDDCCCCCCCCCCCCCCDDDDCCCCCCCCCCCCCCDDDDCCDDDDCCCCDDCCCCCCCCCCDDCCDDDDCCCCDDCCCCDDDDCCCCCCCCDDCCCCDDDDDDDDCCCCDDDDDDDDDDCCCCCCCCDDDDCCDDCCCCCCCCDDDDCCCCCCDDCCCCDDCCDDDDCCDDDDDDCCCCDDCCDDCCDDCCDDCCCCCCCCCCDDDDDDDDDDDDCCCCDDCCCCDDCCDDDDCCDDCCCCCCCCCCDDCCDDCCDDCCDDCCCCDDDDDDDDCCCCCCDDCCDDDDDDDDCCCCCCCCDDCCCCCCCCCCCCCCCCDDDDCCCCCCDDCCDDDDCCCCDDCCCCDDCCDDCCDDDDCCCCCCCCDDDDCCCCDDCCCCCCCCDDCCCCDDCCDDDDCCCCDDCCDDCCDDCCCCDDCCDDDDDDCCCCCCDDCCDDDDDDDDDDCCCCDDCCCCCCCCCCCCCCCCCCCCCCDDCCDDCCDDDDDDCCCCCCCCDDDDDDDDCCDDCCDDDDDDCCCCDDDDCCDDCCDDCCCCDDDDDDCCDDCCDDCCDDDDCCDDCCDDCCDDDDCCDDCCCCDDCCCCCCCCCCCCDDCCDDCCCCDDDDCCCCCCDDDDCCCCCCCCDDDDCCCCDDCCCCCCCCCCCCDDDDCCDDCCCCDDDDCCCCCCDDDDCCDDCCDDCCDDCCCCDDCCDDCCCCDDDDDDCCDDCCCCDDCCDDCCCCDDCCDDDDCCCCDDDDDDDDCCCCDDDDDDDDCCDDDDCCCCDDCCCCCCCCCCCCCCCCCCCCCCCCDDDDCCDDDDCCCCDDCCCCDDCCDDCCDDCCCCDDDDDDDDCCCCCCDDDDCCCCDDCCDDCCCCCCDDCCCCCCDDDDCCDDDDCCCCCCDDDDCCDDCCDDCCDDCCCCCCDDDDDDDDCCDDCCDDCCDDDDCCCCDDCCDDCCDDCCCCDDDDCCDDCCCCDDCCDDCCCCDDCCCCCCDDDDDDCCCCDDDDCCDDDDCCCCCCCCCCCCDDCCCCCCDDDDCCCCCCCCDDCCCCCCCCCCDDCCDDCCCCCCCCCCCCCCCCDDDDCCCCDDDDCCDDCCDDDDCCDDCCDDDDCCDDDDDDDDCCDDDDDDCCDDCCDDDDCCDDCCDDDDDDCCDDCCDDCCDDDDCCDDCCCCDDDDDDCCDDCCCCDDCCDDDDCCDDCCDDCCDDDDCCCCCCDDCCCCCCDDDDCCDDCCDDDDDDDDCCDDDDDDCCDDDDCCDDCCCCCCCCCCDDDDCCCCCCCCDDCCCCCCDDCCCCCCDDCCCCCCCCDDCCCCCCDDDDCCDDDDDDCCDDCCDDCCCCCCCCDDDDCCCCCCDDDDDDDDCCCCCCDDCCDDCCCCDDCCDDCCCCCCDDDDCCCCCCCCDDCCCCCCCCCCDDCCCCDDCCCCDDCCDDCCDDDDCCCCDDCCCCCCCCCCDDCCDDDDCCCCDDCCCCDDCCDDCCDDCCCCDDDDCCDDDDDDCCCCDDCCCCDDDDCCCCCCDDCCCCDDDDCCDDCCDDDDCCDDCCDDCCDDDDDDCCCCDDDDCCDDCCDDCCDDDDCCCCDDDDCCDDDDCCCCDDCCCCDDCCDDCCDDCCDDCCCCCCDDCCCCDDDDCCCCDDDDCCDDCCDDCCCCCCCCCCCCDDDDCCCCCCCCDDDDDDDDDDCCCCCCCCCCCCCCCCCCDDDDDDCCDDCCCCCCDDCCCCDDDDCCCCDDCCDDCCCCDDCCCCDDCCCCDDDDCCDDCCDDDDCCCCCCDDDDCCCCDDCCCCCCCCCCCCDDDDDDDDCCCCCCDDDDDDDDDDCCCCCCDDCCCCCCDDDDCCCCCCDDCCCCDDCCCCCCCCCCCCDDCCCCCCDDCCCCDDCCDDCCCCCCDDCCDDDDCCCCDDCCDDDDCCCCDDCCDDDDCCCCCCCCCCCCDDCCCCCCDDCCCCCCCCCCCCCCDDCCCCCCCCCCDDDDCCCCDDCCCCDDCCDDCCCCDDCCCCCCDDCCDDDDCCDDDDCCCCDDCCDDCCCCCCCCDDDDCCCCCCCCCCDDCCDDDDDDDDCCDDDDCCDDCCCCCCCCCCCCCCCCDDCCCCCCDDDDCCCCDDDDCCDDCCCCDDDDDDDDDDCCDDCCDDCCCCCCCCCCCCDDCCDDCCDDCCCCCCCCDDCCCCCCCCCCDDDDCCDDDDCCCCCCDDCCCCCCDDDDDDDDDDDDDDDDDDDDCCDDCCCCDDCCCCDDCCDDCCDDDDCCDDCCDDCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCDDDDCCDDCCDDDDDDCCCCCCDDDDDDCCCCCCCCDDCCDDCCDDDDDDDDDDCCDDCCDDDDCCCCCCDDDDCCCCDDDDDDCCCCCCCCDDDDCCDDCCDDCCCCDDDDDDDDCCCCCCCCDDCCCCCCCCCCCCCCDDDDDDCCCCCCCCDDCCDDDDCCDDDDCCCCCCCCCCDDDDCCDDDDDDDDDDCCCCDDCCDDDDDDCCCCDDCCCCCCCCCCDDDDDDCCDDDDDDCCCCCCCCCCCCDDCCDDCCDDDDCCCCCCCCDDCCCCCCCCCCDDDDDDDDDDCCCCCCCCCCCCCCDDDDDDCCDDDDDDCCCCCCCCCCCCCCCCDDCCDDCCCCCCCCDDCCDDCCCCDDDDCCCCCCCCCCDDDDCCDDDDDDCCCCDDDDDDCCDDDDDDCCCCCCDDCCCCDDDDCCCCCCDDCCDDCCCCCCDDCCCCCCDDCCCCCCDDDDCCCCDDCCCCCCCCCCCCCCDDDDCCDDCCCCCCDDCCCCCCCCDDCCCCCCDDDDCCCCDDCCCCDDDDCCDDCCDDCCCCDDCCDDDDDDCCCCCCCCDDDDCCCCDDDDCCCCCCCCCCDDCCCCDDCCCCCCCCDDDDCCCCDDDDDDDDCCCCDDCCCCDDDDDDDDCCCCCCCCCCDDCCCCCCCCCCDDDDDDCCCCDDCCCCCCCCCCCCCCCCCCDDCCCCDDDDCCCCCCDDDDCCDDCCDDDDCCCCDDCCDDCCDDDDDDDDDDCCCCDDCCDDCCCCDDDDDDDDCCCCCCDDCCDDDDDDDDCCCCDDDDCCDDDDCCDDCCDDDDDDDDCCCCDDDDDDDDDDCCDDDDCCDDDDDDDDDDCCCCDDCCDDCCCCCCCCCCDDDDDDCCCCDDCCCCCCDDDDDDCCCCDDDDDDCCDDDDCCCCCCDDCCCCDDCCDDDDCCCCDDCCDDCCDDDDDDDDDDDDCCDDCCDDCCCCDDDDDDDDCCDDCCDDCCDDDDDDDDCCCCDDDDCCDDDDCCDDDDDDCCDDDDCCDDCCDDDDCCCCCCDDCCDDDDDDCCCCDDCCDDDDDDCCCCDDCCDDDDCCCCCCCCDDDDCCCCDDDDDDCCDDCCCCCCDDCCCCCCDDDDCCCCDDDDCCCCCCCCCCCCCCCCDDDDCCCCCCCCCCDDCCDDDDCCCCDDDDCCCCDDDDDDDDDDCCDDDDCCCCCCCCDDCCCCDDDDCCDDDDDDDDDDDDDDDDCCDDCCCCCCDDDDDDCCCCDDDDCCCCDDDDCCCCDDCCDDCCCCDDCCCCDDCCDDCCCCDDCCCCCCCCDDDDDDDDCCCCCCCCCCCCCCCCCCDDDDCCCCCCCCCCCCCCDDCCDDDDDDDDCCCCCCDDCCDDDDDDDDCCCCCCDDCCCCCCCCDDDDDDDDDDCCCCCCDDCCDDCCDDCCDDCCCCCCCCCCDDCCCCDDCCCCCCDDDDCCCCCCCCCCCCCCCCCCDDDDCCCCDDDDCCDDCCCCDDDDDDCCCCCCCCDDCCDDCCCCDDCCCCCCCCDDDDDDDDCCCCDDCCCCDDCCCCDDDDCCCCCCCCCCCCCCDDCCDDCCDDCCCCDDCCCCDDCCDDCCDDDDCCCCCCDDDDCCDDDDCCCCCCCCDDDDDDDDDDDDDDCCCCCCCCDDDDCCDDCCDDCCDDDDCCCCCCDDCCDDDDDDCCCCDDCCCCDDCCDDCCCCCCCCCCDDDDCCCCDDDDDDCCCCCCCCDDCCCCDDDDDDCCDDCCCCCCDDCCDDDDCCCCDDCCCCCCDDCCCCDDCCCCCCCCDDCCDDDDCCDDDDCCDDCCDDDDDDCCCCCCCCDDCCCCDDCCDDCCCCCCDDDDDDDDCCCCCCCCDDCCCCCCDDCCCCCCDDCCDDCCCCCCDDCCDDDDCCCCCCCCDDCCDDDDCCCCCCDDDDCCDDCCDDDDCCCCDDDDDDCCCCDDDDDDCCCCCCDDCCDDDDCCCCDDDDCCCCCCDDDDCCCCCCCCCCDDDDDDDDDDCCCCCCDDDDDDDDCCCCDDCCCCCCCCCCCCDDDDCCCCCCCCCCCCCCCCCCCCDDDDCCDDDDDDDDCCCCCCCCDDDDDDCCCCCCDDCCCCCCCCDDDDCCDDDDDDDDCCCCCCDDCCDDDDDDDDDDDDCCCCCCCCDDDDCCCCDDCCCCCCDDCCCCDDDDDDCCDDCCCCCCCCCCCCCCCCDDDDCCDDCCCCCCCCDDCCCCCCDDDDDDCCDDCCCCDDDDCCCCDDDDCCCCDDCCCCCCCCDDCCDDCCCCDDDDDDDDCCCCCCCCCCCCDDCCCCCCCCCCCCDDCCCCDDCCDDDDCCCCDDCCCCCCCCDDDDCCCCCCDDDDDDCCCCDDDDDDCCCCDDCCDDDDCCCCCCDDDDDDCCCCDDCCCCCCCCCCCCCCDDDDCCCCDDDDDDCCDDDDDDCCDDDDCCCCDDCCDDCCCCCCCCCCDDCCDDCCDDCCCCDDCCCCCCDDDDCCDDDDCCCCCCDDDDCCDDCCDDCCDDCCCCCCDDDDDDDDCCDDCCDDCCDDDDCCCCDDCCDDCCDDCCCCDDDDCCDDCCCCDDCCDDCCCCDDCCCCCCDDDDDDCCCCDDDDCCDDDDCCCCCCCCCCCCDDCCCCCCDDDDCCCCCCCCDDCCCCCCCCCCDDCCDDCCCCCCCCCCCCCCCCDDDDCCCCDDDDCCDDCCDDDDCCDDCCDDDDCCDDDDDDDDCCDDDDDDCCDDCCDDDDCCDDCCDDDDDDCCDDCCDDCCDDDDCCDDCCCCDDDDDDCCDDCCCCDDCCDDDDCCDDCCDDCCDDDDCCCCCCDDCCCCCCDDDDCCDDCCDDDDDDDDCCDDDDDDCCDDDDCCDDCCCCCCCCCCDDDDCCCCCCCCDDCCCCCCDDCCCCCCDDCCCCCCCCDDCCCCCCDDDDCCDDDDDDCCDDCCDDCCCCCCCCDDDDCCCCCCDDDDDDDDCCCCCCDDCCDDCCCCDDCCDDCCCCCCDDDDCCCCCCCCDDCCCCCCCCCCDDCCCCDDCCCCDDCCDDCCDDDDCCCCDDCCCCCCCCCCDDCCDDDDCCCCDDCCCCDDCCDDCCDDCCCCDDDDCCDDDDDDCCCCDDCCCCDDDDCCCCCCDDCCCCDDDDCCDDCCDDDDCCDDCCDDCCDDDDDDCCCCDDDDCCDDCCDDCCDDDDCCCCDDDDCCDDDDCCCCDDCCCCDDCCDDCCDDCCDDCCCCCCDDCCCCDDDDCCCCDDDDCCDDCCDDCCCCCCCCCCCCDDDDCCCCCCCCDDDDDDDDDDCCCCCCCCCCCCCCCCCCDDDDDDCCDDCCCCCCDDCCCCDDDDCCCCDDCCDDCCCCDDCCCCDDCCCCDDDDCCDDCCDDDDCCCCCCDDDDCCCCDDCCCCCCCCCCCCDDDDDDDDCCCCCCDDDDDDDDDDCCCCCCDDCCCCCCDDDDCCCCCCDDCCCCDDCCCCCCCCCCCCDDCCCCCCDDCCCCDDCCDDCCCCCCDDCCDDDDCCCCDDCCDDDDCCCCDDCCDDDDCCCCCCCCCCCCDDCCCCCCDDCCCCCCCCCCCCCCDDCCCCCCCCCCDDDDCCCCDDCCCCDDCCDDCCCCDDCCCCCCDDCCDDDDCCDDDDCCCCDDCCDDCCCCCCCCDDDDCCCCCCCCCCDDCCDDDDDDDDCCDDDDCCDDCCCCCCCCCCCCCCCCDDCCCCCCDDDDCCCCDDDDCCDDCCCCDDDDDDDDDDCCDDCCDDCCCCCCCCCCCCDDCCDDCCDDCCCCCCCCDDCCCCCCCCCCDDDDCCDDDDCCCCCCDDCCCCCCDDDDDDDDDDDDDDDDDDDDCCDDCCCCDDCCCCDDCCDDCCDDDDCCDDCCDDCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCDDDDCCDDCCDDDDDDCCCCCCDDDDDDCCCCCCCCDDCCDDCCDDDDDDDDDDCCDDCCDDDDCCCCCCDDDDCCCCDDDDDDCCCCCCCCDDDDCCDDCCDDCCCCDDDDDDDDCCCCCCCCDDCCCCCCCCCCCCCCDDDDDDCCCCCCCCDDCCDDDDCCDDDDCCCCCCCCCCDDDDCCDDDDDDDDDDCCCCDDCCDDDDDDCCCCDDCCCCCCCCCCDDDDDDCCDDDDDDCCCCCCCCCCCCDDCCDDCCDDDDCCCCCCCCDDCCCCCCCCCCDDDDDDDDDDCCCCCCCCCCCCCCDDDDDDCCDDDDDDCCCCCCCCCCCCCCCCDDCCDDCCCCCCCCDDCCDDCCCCDDDDCCCCCCCCCCDDDDCCDDDDDDCCCCDDDDDDCCDDDDDDCCCCCCDDCCCCDDDDCCCCCCDDCCDDCCCCCCDDCCCCCCDDCCCCCCDDDDCCCCDDCCCCCCCCCCCCCCDDDDCCDDCCCCCCDDCCCCCCCCDDCCCCCCDDDDCCCCDDCCCCDDDDCCDDCCDDCCCCDDCCDDDDDDCCCCCCCCDDDDCCCCDDDDCCCCCCCCCCDDCCCCDDCCCCCCCCDDDDCCCCDDDDDDDDCCCCDDCCCCDDDDDDDDCCCCCCCCCCDDCCCCCCCCCCDDDDDDCCCCDDCCCCCCCCCCCCCCCCCCDDCCCCDDDDCCCCCCDDDDCCDDCCDDDDCCCCDDCCDDCCDDDDDDDDDDCCCCDDCCDDCCCCDDDDDDDDCCCCCCDDCCDDDDDDDDCCCCDDDDCCDDDDCCDDCCDDDDDDDDCCCCDDDDDDDDDDCCDDDDCCDDDDDDDDDDCCCCDDCCDDCCCCCCCCCCDDDDDDCCCCDDCCCCCCDDDDDDCCCCDDDDDDCCDDDDCCCCCCDDCCCCDDCCDDDDCCCCDDCCDDCCDDDDDDDDDDDDCCDDCCDDCCCCDDDDDDDDCCDDCCDDCCDDDDDDDDCCCCDDDDCCDDDDCCDDDDDDCCDDDDCCDDCCDDDDCCCCCCDDCCDDDDDDCCCCDDCCDDDDDDCCCCDDCCDDDDCCCCCCCCDDDDCCCCDDDDDDCCDDCCCCCCDDCCCCCCDDDDCCCCDDDDCCCCCCCCCCCCCCCCDDDDCCCCCCCCCCDDCCDDDDCCCCDDDDCCCCDDDDDDDDDDCCDDDDCCCCCCCCDDCCCCDDDDCCDDDDDDDDDDDDDDDDCCDDCCCCCCDDDDDDCCCCDDDDCCCCDDDDCCCCDDCCDDCCCCDDCCCCDDCCDDCCCCDDCCCCCCCCDDDDDDDDCCCCCCCCCCCCCCCCCCDDDDCCCCCCCCCCCCCCDDCCDDDDDDDDCCCCCCDDCCDDDDDDDDCCCCCCDDCCCCCCCCDDDDDDDDDDCCCCCCDDCCDDCCDDCCDDCCCCCCCCCCDDCCCCDDCCCCCCDDDDCCCCCCCCCCCCCCCCCCDDDDCCCCDDDDCCDDCCCCDDDDDDCCCCCCCCDDCCDDCCCCDDCCCCCCCCDDDDDDDDCCCCDDCCCCDDCCCCDDDDCCCCCCCCCCCCCCDDCCDDCCDDCCCCDDCCCCDDCCDDCCDDDDCCCCCCDDDDCCDDDDCCCCCCCCDDDDDDDDDDDDDDCCCCCCCCDDDDCCDDCCDDCCDDDDCCCCCCDDCCDDDDDDCCCCDDCCCCDDCCDDCCCCCCCCCCDDDDCCCCDDDDDDCCCCCCCCDDCCCCDDDDDDCCDDCCCCCCDDCCDDDDCCCCDDCCCCCCDDCCCCDDCCCCCCCCDDCCDDDDCCDDDDCCDDCCDDDDDDCCCCCCCCDDCCCCDDCCDDCCCCCCDDDDDDDDCCCCCCCCDDCCCCCCDDCCCCCCDDCCDDCCCCCCDDCCDDDDCCCCCCCCDDCCDDDDCCCCCCDDDDCCDDCCDDDDCCCCDDDDDDCCCCDDDDDDCCCCCCDDCCDDDDCCCCDDDDCCCCCCDDDDCCCCCCCCCCDDDDDDDDDDCCCCCCDDDDDDDDCCCCDDCCCCCCCCCCCCDDDDCCCCCCCCCCCCCCCCCCCCDDDDCCDDDDDDDDCCCCCCCCDDDDDDCCCCCCDDCCCCCCCCDDDDCCDDDDDDDDCCCCCCDDCCDDDDDDDDDDDDCCCCCCCCDDDDCCCCDDCCCCCCDDCCCCDDDDDDCCDDCCCCCCCCCCCCCCCCDDDDCCDDCCCCCCCCDDCCCCCCDDDDDDCCDDCCCCDDDDCCCCDDDDCCCCDDCCCCCCCCDDCCDDCCCCDDDDDDDDCCCCCCCCCCCCDDCCCCCCCCCCCCDDCCCCDDCCDDDDCCCCDDCCCCCCCCDDDDCCCCCCDDDDDDCCCCDDDDDDCCCCDDCCDDDDCCCCCCDDDDDDCCCCDDCCCCCCCCCCCCCCDDDDCCCCDDDDDDCCDDDDDDCCDDDDCCCCDDCCDDCCCCCCCCCCDDCCDDCCDDCCCCDDDDCCCCDDDDCCDDDDDDDDCCCCCCCCDDCCCCDDCCDDDDCCDDCCDDDDDDCCDDCCCCDDCCDDCCCCDDCCDDDDDDDDCCCCCCCCCCDDCCCCDDCCCCCCCCCCCCCCDDDDCCDDCCCCCCDDCCCCCCCCDDCCCCCCCCDDDDDDCCCCCCCCCCCCDDCCCCDDCCCCDDDDDDDDCCCCDDDDCCCCCCCCDDCCDDCCCCDDCCCCCCDDDDDDDDDDCCDDCCCCCCDDCCDDCCDDDDDDDDCCCCDDDDCCCCCCCCDDCCDDCCDDDDCCDDCCDDCCCCCCDDCCDDCCCCDDCCCCCCCCCCCCDDCCCCCCDDDDCCDDDDCCDDDDDDCCDDCCDDDDDDCCCCDDCCDDDDCCCCDDCCDDCCDDCCCCCCCCCCCCDDDDDDCCCCCCCCCCDDCCCCCCCCDDCCCCDDCCCCCCCCDDCCCCCCDDCCCCDDCCDDDDCCCCCCDDCCCCCCDDDDCCCCCCDDDDDDCCDDDDDDCCDDCCCCDDCCCCCCDDCCDDDDDDCCDDDDCCCCDDDDCCCCDDDDCCDDCCCCCCDDCCDDDDCCCCCCCCCCDDDDCCDDDDCCCCCCDDCCCCDDDDCCCCDDDDDDDDCCCCDDCCCCDDCCDDDDCCDDDDDDCCCCCCCCCCCCCCCCCCCCCCDDDDDDCCDDCCDDCCCCDDDDDDDDDDCCDDCCDDCCDDDDCCCCDDDDCCDDDDCCCCCCCCDDCCCCDDDDDDCCCCCCDDDDDDCCCCDDDDDDCCCCCCCCCCDDDDCCCCDDDDCCCCCCCCCCCCDDCCDDCCDDCCCCCCDDDDCCCCDDCCCCCCDDCCDDDDDDCCDDDDDDDDCCCCDDCCCCDDDDDDCCCCCCCCCCCCDDCCCCCCDDDDCCCCDDCCCCCCDDDDCCCCDDDDCCDDDDCCCCCCCCDDCCCCCCCCDDDDCCCCDDDDDDCCDDCCCCCCCCDDDDDDDDCCDDCCDDDDDDDDCCDDDDCCDDDDDDCCCCCCDDDDCCCCCCDDCCCCCCDDCCCCCCCCDDDDCCCCCCCCDDCCDDCCDDDDDDCCCCCCDDCCDDCCCCDDDDDDCCCCCCDDCCCCDDDDDDCCDDCCCCCCDDCCCCDDCCDDCCCCCCCCDDCCCCCCCCCCCCDDCCDDDDDDCCCCCCCCCCCCDDDDCCDDCCDDCCCCCCCCCCCCCCCCCCCCDDCCDDCCCCCCDDDDCCCCCCDDCCDDCCDDDDDDCCDDCCCCDDCCDDCCCCDDDDCCDDCCCCDDCCCCCCDDDDDDDDCCCCDDDDCCCCDDDDCCCCCCCCDDDDCCCCCCCCDDCCCCCCDDDDDDDDDDCCCCDDCCCCCCCCDDDDCCCCDDCCDDDDDDDDCCCCCCCCDDDDDDDDCCCCCCDDCCCCCCDDDDDDCCCCCCCCCCDDDDCCDDDDCCCCCCCCCCCCDDCCCCCCCCCCCCDDCCDDDDCCCCCCCCDDDDCCCCDDCCDDDDCCCCCCDDDDDDDDDDCCCCDDCCDDDDDDCCCCDDDDDDDDCCCCCCCCDDDDCCCCDDDDDDCCDDCCCCCCCCCCCCCCDDDDCCCCDDDDCCCCCCCCCCCCDDCCDDDDCCCCCCCCCCDDCCDDCCCCCCDDDDCCCCDDDDDDDDCCCCDDDDCCCCCCCCDDCCDDCCDDCCDDDDDDDDCCDDDDDDCCDDCCCCCCDDDDDDCCCCDDDDCCCCDDCCCCCCDDCCDDCCCCDDCCCCDDCCDDCCCCDDCCCCCCCCDDDDDDDDCCCCCCCCDDCCCCCCCCDDDDCCCCCCCCCCCCCCDDCCCCDDDDCCCCCCCCDDCCDDCCDDDDCCCCCCDDDDCCCCCCDDDDDDDDDDCCCCCCDDCCDDCCCCCCCCCCCCCCCCCCCCCCCCDDCCDDCCDDDDCCCCCCCCCCCCCCCCCCDDDDCCCCDDDDCCDDCCCCDDDDDDCCDDCCCCDDDDDDDDCCDDDDDDCCCCDDDDDDDDCCDDDDCCCCDDCCCCDDDDCCCCDDDDCCDDCCDDCCCCCCCCDDCCDDDDCCCCCCCCDDDDDDDDDDCCCCDDCCDDCCCCCCCCDDDDDDCCDDCCCCCCDDDDCCDDDDCCDDDDCCCCCCCCDDDDCCDDCCCCDDCCCCCCCCDDCCCCCCCCCCDDCCCCDDCCCCCCCCCCCCDDDDDDDDCCCCCCDDDDDDDDDDCCCCCCDDCCCCCCDDDDCCCCCCCCDDCCDDCCCCCCCCCCCCDDDDCCCCCCCCDDDDDDDDDDCCCCDDCCDDCCCCCCCCCCDDDDCCDDCCCCCCDDDDDDDDCCCCDDDDDDDDCCCCDDDDCCDDCCCCDDDDCCDDCCDDDDCCCCCCDDDDCCCCDDCCCCCCCCCCCCDDCCDDDDDDCCCCDDDDDDDDDDDDDDCCDDCCCCCCDDCCCCCCCCDDCCCCDDCCCCCCCCCCCCDDCCDDDDCCCCCCDDCCDDCCCCCCDDCCDDDDCCCCCCCCDDDDDDCCDDCCDDDDCCCCCCCCCCCCCCCCCCCCDDCCCCDDCCCCCCCCCCCCCCCCDDDDDDDDCCCCDDCCDDDDDDDDCCCCCCCCCCDDDDDDDDDDCCDDDDCCCCDDCCDDCCCCCCCCDDDDCCCCCCDDDDCCCCDDDDDDDDCCDDDDCCDDCCCCCCCCCCCCCCCCDDCCCCCCDDDDDDCCDDDDCCDDCCCCDDCCDDDDCCCCDDCCCCDDCCCCCCDDCCDDCCDDCCDDCCCCCCCCDDCCCCCCCCCCCCCCCCDDDDCCCCCCDDCCCCCCDDDDCCDDDDDDCCDDDDDDCCDDCCCCDDCCDDDDCCDDCCDDDDCCDDCCDDCCCCCCCCCCCCDDCCCCCCCCCCCCCCCCCCCCCCDDDDDDCCCCDDDDCCDDCCCCDDDDDDCCCCCCCCDDCCDDCCDDDDDDCCDDCCCCCCDDCCCCDDDDDDCCCCDDDDDDDDCCCCCCCCCCDDCCDDDDDDCCCCCCDDCCDDCCCCDDCCCCDDCCDDDDDDCCCCCCCCCCDDCCDDDDCCCCCCCCCCDDCCCCDDDDCCDDDDCCCCDDCCDDDDCCCCDDCCDDDDDDDDCCDDDDCCCCCCCCDDDDDDDDCCCCDDCCCCCCCCCCDDCCCCCCDDCCDDCCCCDDDDCCCCDDCCCCCCDDCCCCDDCCCCDDDDDDCCCCCCDDDDDDCCCCCCCCDDCCCCDDDDDDCCDDDDDDDDDDDDCCDDCCCCCCCCDDDDCCCCDDCCCCCCCCCCDDDDDDDDDDDDDDDDDDCCCCDDCCCCDDCCDDCCCCDDCCCCDDCCCCDDDDCCDDDDDDCCCCCCCCDDDDCCCCCCDDCCCCCCCCCCDDDDCCCCCCCCDDDDDDCCCCDDDDCCDDCCCCCCDDCCCCDDCCDDDDDDCCCCCCCCCCDDCCCCDDCCDDDDDDCCCCCCDDDDCCCCCCCCDDDDDDCCDDCCCCDDCCDDDDCCCCDDCCCCCCCCDDCCCCCCDDDDCCDDDDCCCCCCDDDDCCDDCCCCCCDDCCCCCCDDDDDDDDCCDDCCCCCCDDDDCCCCDDCCCCCCCCCCDDDDDDCCDDDDCCDDCCDDCCCCCCCCDDCCDDDDCCCCCCDDDDCCDDDDCCDDCCCCDDCCDDDDCCCCDDDDCCCCCCCCCCCCCCCCCCDDDDCCDDCCCCCCCCCCCCDDCCCCDDCCCCDDDDCCDDCCDDCCDDDDDDCCDDDDDDCCCCDDCCDDCCCCDDCCCCDDCCCCCCCCDDCCCCCCCCCCCCCCCCCCDDDDDDDDDDCCDDCCCCCCCCCCCCDDCCCCDDDDCCCCDDDDDDCCDDDDCCDDDDCCCCDDCCCCCCCCDDCCCCDDDDDDDDCCCCDDCCCCCCDDDDCCCCDDDDCCDDDDDDDDCCCCCCCCDDCCCCDDCCDDDDCCDDCCDDDDDDCCDDCCCCDDCCDDCCCCDDCCDDDDDDDDCCCCCCCCCCDDCCCCDDCCCCCCCCCCCCCCDDDDCCDDCCCCCCDDCCCCCCCCDDCCCCCCCCDDDDDDCCCCCCCCCCCCDDCCCCDDCCCCDDDDDDDDCCCCDDDDCCCCCCCCDDCCDDCCCCDDCCCCCCDDDDDDDDDDCCDDCCCCCCDDCCDDCCDDDDDDDDCCCCDDDDCCCCCCCCDDCCDDCCDDDDCCDDCCDDCCCCCCDDCCDDCCCCDDCCCCCCCCCCCCDDCCCCCCDDDDCCDDDDCCDDDDDDCCDDCCDDDDDDCCCCDDCCDDDDCCCCDDCCDDCCDDCCCCCCCCCCCCDDDDDDCCCCCCCCCCDDCCCCCCCCDDCCCCDDCCCCCCCCDDCCCCCCDDCCCCDDCCDDDDCCCCCCDDCCCCCCDDDDCCCCCCDDDDDDCCDDDDDDCCDDCCCCDDCCCCCCDDCCDDDDDDCCDDDDCCCCDDDDCCCCDDDDCCDDCCCCCCDDCCDDDDCCCCCCCCCCDDDDCCDDDDCCCCCCDDCCCCDDDDCCCCDDDDDDDDCCCCDDCCCCDDCCDDDDCCDDDDDDCCCCCCCCCCCCCCCCCCCCCCDDDDDDCCDDCCDDCCCCDDDDDDDDDDCCDDCCDDCCDDDDCCCCDDDDCCDDDDCCCCCCCCDDCCCCDDDDDDCCCCCCDDDDDDCCCCDDDDDDCCCCCCCCCCDDDDCCCCDDDDCCCCCCCCCCCCDDCCDDCCDDCCCCCCDDDDCCCCDDCCCCCCDDCCDDDDDDCCDDDDDDDDCCCCDDCCCCDDDDDDCCCCCCCCCCCCDDCCCCCCDDDDCCCCDDCCCCCCDDDDCCCCDDDDCCDDDDCCCCCCCCDDCCCCCCCCDDDDCCCCDDDDDDCCDDCCCCCCCCDDDDDDDDCCDDCCDDDDDDDDCCDDDDCCDDDDDDCCCCCCDDDDCCCCCCDDCCCCCCDDCCCCCCCCDDDDCCCCCCCCDDCCDDCCDDDDDDCCCCCCDDCCDDCCCCDDDDDDCCCCCCDDCCCCDDDDDDCCDDCCCCCCDDCCCCDDCCDDCCCCCCCCDDCCCCCCCCCCCCDDCCDDDDDDCCCCCCCCCCCCDDDDCCDDCCDDCCCCCCCCCCCCCCCCCCCCDDCCDDCCCCCCDDDDCCCCCCDDCCDDCCDDDDDDCCDDCCCCDDCCDDCCCCDDDDCCDDCCCCDDCCCCCCDDDDDDDDCCCCDDDDCCCCDDDDCCCCCCCCDDDDCCCCCCCCDDCCCCCCDDDDDDDDDDCCCCDDCCCCCCCCDDDDCCCCDDCCDDDDDDDDCCCCCCCCDDDDDDDDCCCCCCDDCCCCCCDDDDDDCCCCCCCCCCDDDDCCDDDDCCCCCCCCCCCCDDCCCCCCCCCCCCDDCCDDDDCCCCCCCCDDDDCCCCDDCCDDDDCCCCCCDDDDDDDDDDCCCCDDCCDDDDDDCCCCDDDDDDDDCCCCCCCCDDDDCCCCDDDDDDCCDDCCCCCCCCCCCCCCDDDDCCCCDDDDCCCCCCCCCCCCDDCCDDDDCCCCCCCCCCDDCCDDCCCCCCDDDDCCCCDDDDDDDDCCCCDDDDCCCCCCCCDDCCDDCCDDCCDDDDDDDDCCDDDDDDCCDDCCCCCCDDDDDDCCCCDDDDCCCCDDCCCCCCDDCCDDCCCCDDCCCCDDCCDDCCCCDDCCCCCCCCDDDDDDDDCCCCCCCCDDCCCCCCCCDDDDCCCCCCCCCCCCCCDDCCCCDDDDCCCCCCCCDDCCDDCCDDDDCCCCCCDDDDCCCCCCDDDDDDDDDDCCCCCCDDCCDDCCCCCCCCCCCCCCCCCCCCCCCCDDCCDDCCDDDDCCCCCCCCCCCCCCCCCCDDDDCCCCDDDDCCDDCCCCDDDDDDCCDDCCCCDDDDDDDDCCDDDDDDCCCCDDDDDDDDCCDDDDCCCCDDCCCCDDDDCCCCDDDDCCDDCCDDCCCCCCCCDDCCDDDDCCCCCCCCDDDDDDDDDDCCCCDDCCDDCCCCCCCCDDDDDDCCDDCCCCCCDDDDCCDDDDCCDDDDCCCCCCCCDDDDCCDDCCCCDDCCCCCCCCDDCCCCCCCCCCDDCCCCDDCCCCCCCCCCCCDDDDDDDDCCCCCCDDDDDDDDDDCCCCCCDDCCCCCCDDDDCCCCCCCCDDCCDDCCCCCCCCCCCCDDDDCCCCCCCCDDDDDDDDDDCCCCDDCCDDCCCCCCCCCCDDDDCCDDCCCCCCDDDDDDDDCCCCDDDDDDDDCCCCDDDDCCDDCCCCDDDDCCDDCCDDDDCCCCCCDDDDCCCCDDCCCCCCCCCCCCDDCCDDDDDDCCCCDDDDDDDDDDDDDDCCDDCCCCCCDDCCCCCCCCDDCCCCDDCCCCCCCCCCCCDDCCDDDDCCCCCCDDCCDDCCCCCCDDCCDDDDCCCCCCCCDDDDDDCCDDCCDDDDCCCCCCCCCCCCCCCCCCCCDDCCCCDDCCCCCCCCCCCCCCCCDDDDDDDDCCCCDDCCDDDDDDDDCCCCCCCCCCDDDDDDDDDDCCDDDDCCCCDDCCDDCCCCCCCCDDDDCCCCCCDDDDCCCCDDDDDDDDCCDDDDCCDDCCCCCCCCCCCCCCCCDDCCCCCCDDDDDDCCDDDDCCDDCCCCDDCCDDDDCCCCDDCCCCDDCCCCCCDDCCDDCCDDCCDDCCCCCCCCDDCCCCCCCCCCCCCCCCDDDDCCCCCCDDCCCCCCDDDDCCDDDDDDCCDDDDDDCCDDCCCCDDCCDDDDCCDDCCDDDDCCDDCCDDCCCCCCCCCCCCDDCCCCCCCCCCCCCCCCCCCCCCDDDDDDCCCCDDDDCCDDCCCCDDDDDDCCCCCCCCDDCCDDCCDDDDDDCCDDCCCCCCDDCCCCDDDDDDCCCCDDDDDDDDCCCCCCCCCCDDCCDDDDDDCCCCCCDDCCDDCCCCDDCCCCDDCCDDDDDDCCCCCCCCCCDDCCDDDDCCCCCCCCCCDDCCCCDDDDCCDDDDCCCCDDCCDDDDCCCCDDCCDDDDDDDDCCDDDDCCCCCCCCDDDDDDDDCCCCDDCCCCCCCCCCDDCCCCCCDDCCDDCCCCDDDDCCCCDDCCCCCCDDCCCCDDCCCCDDDDDDCCCCCCDDDDDDCCCCCCCCDDCCCCDDDDDDCCDDDDDDDDDDDDCCDDCCCCCCCCDDDDCCCCDDCCCCCCCCCCDDDDDDDDDDDDDDDDDDCCCCDDCCCCDDCCDDCCCCDDCCCCDDCCCCDDDDCCDDDDDDCCCCCCCCDDDDCCCCCCDDCCCCCCCCCCDDDDCCCCCCCCDDDDDDCCCCDDDDCCDDCCCCCCDDCCCCDDCCDDDDDDCCCCCCCCCCDDCCCCDDCCDDDDDDCCCCCCDDDDCCCCCCCCDDDDDDCCDDCCCCDDCCDDDDCCCCDDCCCCCCCCDDCCCCCCDDDDCCDDDDCCCCCCDDDDCCDDCCCCCCDDCCCCCCDDDDDDDDCCDDCCCCCCDDDDCCCCDDCCCCCCCCCCDDDDDDCCDDDDCCDDCCDDCCCCCCCCDDCCDDDDCCCCCCDDDDCCDDDDCCDDCCCCDDCCDDDDCCCCDDDDCCCCCCCCCCCCCCCCCCDDDDCCDDCCCCCCCCCCCCDDCCCCDDCCCCDDDDCCDDCCDDCCDDDDDDCCDDDDDDCCCCDDCCDDCCCCDDCCCCDDCCCCCCCCDDCCCCCCCCCCCCCCCCCCDDDDDDDDDDCCDDCCCCCCCCCCCCDDCCCCDDDDCCCCDDDDDDCCDDDDCCDDDDCCCCDDCCCCCCCCDDCCCCDDDDDDDDCCCCDDCCCCCCCCDDCCDDDDCCCCDDCCDDCCCCCCDDCCDDCCCCCCDDCCDDCCCCCCDDDDCCCCCCCCDDDDDDDDCCDDCCCCDDDDCCDDDDDDDDCCDDCCCCCCCCDDCCCCCCDDCCDDDDCCCCCCDDCCDDCCCCCCDDCCDDDDCCCCCCDDDDDDDDCCDDDDDDCCCCCCDDCCDDCCCCDDCCDDCCCCCCCCCCDDCCCCDDCCCCCCDDCCCCDDCCCCDDCCCCCCCCCCDDCCCCDDDDCCCCCCCCCCDDDDDDCCDDCCDDDDDDDDCCCCCCDDCCCCCCDDDDDDCCDDCCCCDDDDCCDDDDDDCCDDDDCCDDCCCCCCCCDDCCCCDDCCDDDDDDCCDDCCCCCCCCDDDDDDDDDDDDCCDDDDCCDDCCDDDDCCDDDDCCCCDDCCCCDDCCCCDDCCCCCCCCDDDDDDDDCCDDDDCCDDDDCCCCCCDDCCDDDDCCDDDDCCDDCCCCCCDDCCDDDDDDCCCCDDCCDDDDDDCCCCDDDDCCDDCCCCCCDDCCCCDDCCCCDDDDCCDDDDDDDDDDDDDDCCCCDDCCCCDDCCCCCCDDCCCCCCCCCCCCCCDDCCDDCCCCDDDDDDCCCCDDDDDDCCCCCCDDDDCCCCDDDDCCCCCCCCDDDDDDCCCCDDDDCCCCCCDDCCCCCCCCDDDDDDDDDDCCCCCCDDDDCCCCCCCCDDCCCCCCCCCCCCCCDDDDCCDDDDDDDDCCCCCCDDDDCCDDDDCCCCDDDDCCDDCCCCDDCCCCCCCCCCDDCCCCDDCCCCCCCCCCDDDDDDCCDDDDCCCCCCDDDDDDCCDDCCDDDDDDCCCCCCDDDDCCCCCCCCCCCCDDDDDDDDDDCCDDDDCCDDCCDDDDCCDDDDCCCCCCCCDDCCCCCCDDDDDDDDCCDDCCDDCCCCCCDDCCDDCCCCDDDDCCDDDDCCCCCCDDCCDDDDCCCCCCDDCCDDDDDDDDDDCCCCCCDDDDCCDDCCDDDDDDCCDDDDDDDDDDDDCCDDCCCCDDDDDDCCCCCCCCDDDDCCDDCCCCDDCCCCDDCCCCCCDDDDCCCCDDDDCCCCDDCCDDDDCCDDDDCCCCCCDDDDDDCCDDDDCCDDCCCCDDCCCCCCCCCCCCCCCCDDCCCCDDCCCCDDCCCCDDCCCCDDDDDDDDCCCCDDCCDDCCCCCCCCCCCCCCCCCCDDCCDDDDCCCCDDCCDDDDDDCCCCCCDDCCDDCCDDCCCCCCCCCCDDDDCCDDCCDDDDDDDDDDDDDDCCCCCCDDCCDDDDDDCCCCDDCCCCDDCCCCCCCCCCCCCCCCCCDDCCDDDDCCCCCCDDDDDDDDCCDDCCCCCCCCDDDDDDDDCCCCCCCCCCDDCCCCCCCCDDDDCCDDCCDDCCDDDDDDCCCCDDDDCCDDCCDDCCCCCCCCDDCCCCCCDDDDCCCCDDDDCCDDDDCCCCDDDDCCCCCCCCDDDDCCDDDDDDCCCCDDCCCCDDCCCCDDCCCCCCCCCCCCDDCCCCDDDDCCCCCCCCDDCCDDCCCCCCDDDDCCCCDDCCDDDDDDCCDDCCDDDDCCCCCCCCCCCCDDCCCCCCDDCCCCDDCCCCCCCCCCCCCCCCDDDDCCDDDDCCDDCCDDDDDDDDCCCCDDCCCCCCDDDDDDCCCCDDCCCCCCDDCCDDCCCCCCDDDDDDCCCCCCDDDDDDCCDDDDCCDDCCDDCCCCDDCCCCCCCCDDCCCCCCDDCCCCCCDDDDDDCCDDDDCCCCCCCCCCDDCCDDDDCCDDCCDDDDCCCCCCDDCCDDCCDDCCCCCCCCCCCCCCCCCCDDCCCCDDCCCCDDDDCCCCCCCCCCCCCCDDDDCCDDDDCCDDDDCCDDCCCCCCCCDDCCCCDDCCDDCCDDDDCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCDDCCDDDDCCDDCCDDDDCCCCDDDDDDCCCCCCCCDDCCDDCCDDDDDDDDDDCCDDCCDDCCCCDDDDDDCCDDDDDDDDDDCCCCDDDDDDCCCCCCCCCCDDDDCCDDDDDDCCCCCCCCCCCCCCCCDDCCDDCCCCCCDDDDCCCCDDCCCCCCDDCCCCDDCCCCDDDDDDDDCCCCDDCCCCDDDDDDCCCCCCCCCCCCDDCCCCCCDDDDCCCCDDCCCCCCDDDDDDCCCCDDCCDDDDCCCCCCCCCCCCCCCCCCDDDDCCCCDDDDDDCCCCCCCCDDDDCCCCCCCCCCCCDDDDCCDDDDCCCCCCCCCCCCCCDDCCDDCCCCCCCCCCCCCCCCDDDDCCCCCCDDDDDDDDDDCCDDDDDDDDCCCCDDCCCCDDDDDDCCCCCCCCCCCCDDCCCCCCDDCCCCCCDDCCCCCCCCDDDDCCDDDDCCDDDDCCCCCCCCDDCCCCCCCCDDCCCCCCDDDDCCCCDDCCCCCCDDDDDDDDDDCCDDDDDDCCDDDDCCCCDDCCDDDDDDCCDDCCCCCCCCCCCCDDCCCCCCCCCCCCCCCCDDDDCCCCDDCCDDCCDDCCDDCCCCCCCCCCCCCCDDCCDDDDDDDDCCDDCCDDCCCCDDDDCCCCCCCCCCCCDDCCCCDDCCDDCCCCCCDDDDCCDDCCDDCCCCCCCCDDDDDDCCCCCCCCCCDDDDDDCCDDCCDDCCDDCCCCCCCCCCCCDDCCDDCCCCCCCCCCDDDDCCCCCCDDDDDDCCDDDDDDCCDDCCCCDDCCDDCCCCDDCCCCDDCCCCCCCCDDCCDDDDDDDDCCCCDDCCCCCCDDDDCCCCCCDDDDCCDDCCCCCCDDCCCCDDDDDDDDDDDDCCCCDDCCCCCCCCDDDDCCCCCCDDDDDDDDDDCCCCCCCCDDDDCCDDCCCCCCCCCCCCCCDDDDDDCCCCCCCCCCDDDDDDCCDDCCCCCCCCCCCCCCCCCCCCCCCCCCDDCCDDCCCCCCDDDDDDCCDDDDCCCCDDDDCCDDDDCCDDCCCCDDCCDDDDCCDDDDDDDDCCDDDDCCCCDDCCDDDDCCCCCCDDDDDDCCDDCCDDCCDDDDCCCCCCCCDDDDDDCCDDCCCCDDCCDDCCDDDDCCDDCCDDCCCCDDCCDDCCCCCCDDDDDDDDCCDDDDDDCCCCDDDDDDCCDDDDCCDDCCDDCCCCCCDDCCCCCCDDCCDDDDCCDDDDCCCCCCDDCCCCCCCCDDCCCCCCDDDDCCDDCCDDCCCCDDDDCCCCCCCCDDCCDDDDCCDDDDDDCCCCCCCCDDDDCCCCCCDDCCDDCCCCCCDDDDCCCCCCCCDDCCCCCCCCCCDDCCCCDDCCCCDDCCDDCCCCDDCCCCDDCCCCCCCCCCDDCCDDDDCCCCDDCCCCDDCCCCCCDDCCCCDDCCCCDDDDDDCCCCDDCCCCDDDDCCCCCCDDCCCCCCDDCCDDCCCCDDCCDDDDDDCCDDDDDDCCCCDDDDCCDDCCDDCCDDDDCCCCDDDDCCDDDDCCCCCCCCCCDDCCCCCCDDCCCCCCDDCCCCDDDDCCCCCCDDDDCCCCCCCCDDCCCCDDCCCCDDCCDDCCDDDDDDCCCCCCCCDDCCDDCCCCDDDDDDDDDDDDCCCCDDDDCCDDCCCCDDCCCCDDCCCCCCCCDDDDCCCCCCCCCCDDCCCCCCCCDDCCCCCCCCDDDDDDCCCCCCCCCCCCDDCCCCDDDDCCDDDDCCDDCCCCDDCCDDCCCCDDDDCCDDCCDDDDCCDDDDDDDDCCCCCCDDCCDDDDDDDDDDDDCCCCCCDDDDDDCCCCCCCCCCDDDDDDCCCCCCCCCCCCDDCCCCCCCCDDCCCCCCDDDDCCCCDDCCDDCCCCCCDDDDCCDDDDDDCCDDCCDDDDCCDDDDCCDDDDDDDDCCCCCCDDCCDDDDCCCCCCCCDDCCDDDDCCCCDDCCDDCCCCCCDDCCDDCCCCCCDDCCDDCCCCCCDDDDCCCCCCCCDDDDDDDDCCDDCCCCDDDDCCDDDDDDDDCCDDCCCCCCCCDDCCCCCCDDCCDDDDCCCCCCDDCCDDCCCCCCDDCCDDDDCCCCCCDDDDDDDDCCDDDDDDCCCCCCDDCCDDCCCCDDCCDDCCCCCCCCCCDDCCCCDDCCCCCCDDCCCCDDCCCCDDCCCCCCCCCCDDCCCCDDDDCCCCCCCCCCDDDDDDCCDDCCDDDDDDDDCCCCCCDDCCCCCCDDDDDDCCDDCCCCDDDDCCDDDDDDCCDDDDCCDDCCCCCCCCDDCCCCDDCCDDDDDDCCDDCCCCCCCCDDDDDDDDDDDDCCDDDDCCDDCCDDDDCCDDDDCCCCDDCCCCDDCCCCDDCCCCCCCCDDDDDDDDCCDDDDCCDDDDCCCCCCDDCCDDDDCCDDDDCCDDCCCCCCDDCCDDDDDDCCCCDDCCDDDDDDCCCCDDDDCCDDCCCCCCDDCCCCDDCCCCDDDDCCDDDDDDDDDDDDDDCCCCDDCCCCDDCCCCCCDDCCCCCCCCCCCCCCDDCCDDCCCCDDDDDDCCCCDDDDDDCCCCCCDDDDCCCCDDDDCCCCCCCCDDDDDDCCCCDDDDCCCCCCDDCCCCCCCCDDDDDDDDDDCCCCCCDDDDCCCCCCCCDDCCCCCCCCCCCCCCDDDDCCDDDDDDDDCCCCCCDDDDCCDDDDCCCCDDDDCCDDCCCCDDCCCCCCCCCCDDCCCCDDCCCCCCCCCCDDDDDDCCDDDDCCCCCCDDDDDDCCDDCCDDDDDDCCCCCCDDDDCCCCCCCCCCCCDDDDDDDDDDCCDDDDCCDDCCDDDDCCDDDDCCCCCCCCDDCCCCCCDDDDDDDDCCDDCCDDCCCCCCDDCCDDCCCCDDDDCCDDDDCCCCCCDDCCDDDDCCCCCCDDCCDDDDDDDDDDCCCCCCDDDDCCDDCCDDDDDDCCDDDDDDDDDDDDCCDDCCCCDDDDDDCCCCCCCCDDDDCCDDCCCCDDCCCCDDCCCCCCDDDDCCCCDDDDCCCCDDCCDDDDCCDDDDCCCCCCDDDDDDCCDDDDCCDDCCCCDDCCCCCCCCCCCCCCCCDDCCCCDDCCCCDDCCCCDDCCCCDDDDDDDDCCCCDDCCDDCCCCCCCCCCCCCCCCCCDDCCDDDDCCCCDDCCDDDDDDCCCCCCDDCCDDCCDDCCCCCCCCCCDDDDCCDDCCDDDDDDDDDDDDDDCCCCCCDDCCDDDDDDCCCCDDCCCCDDCCCCCCCCCCCCCCCCCCDDCCDDDDCCCCCCDDDDDDDDCCDDCCCCCCCCDDDDDDDDCCCCCCCCCCDDCCCCCCCCDDDDCCDDCCDDCCDDDDDDCCCCDDDDCCDDCCDDCCCCCCCCDDCCCCCCDDDDCCCCDDDDCCDDDDCCCCDDDDCCCCCCCCDDDDCCDDDDDDCCCCDDCCCCDDCCCCDDCCCCCCCCCCCCDDCCCCDDDDCCCCCCCCDDCCDDCCCCCCDDDDCCCCDDCCDDDDDDCCDDCCDDDDCCCCCCCCCCCCDDCCCCCCDDCCCCDDCCCCCCCCCCCCCCCCDDDDCCDDDDCCDDCCDDDDDDDDCCCCDDCCCCCCDDDDDDCCCCDDCCCCCCDDCCDDCCCCCCDDDDDDCCCCCCDDDDDDCCDDDDCCDDCCDDCCCCDDCCCCCCCCDDCCCCCCDDCCCCCCDDDDDDCCDDDDCCCCCCCCCCDDCCDDDDCCDDCCDDDDCCCCCCDDCCDDCCDDCCCCCCCCCCCCCCCCCCDDCCCCDDCCCCDDDDCCCCCCCCCCCCCCDDDDCCDDDDCCDDDDCCDDCCCCCCCCDDCCCCDDCCDDCCDDDDCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCDDCCDDDDCCDDCCDDDDCCCCDDDDDDCCCCCCCCDDCCDDCCDDDDDDDDDDCCDDCCDDCCCCDDDDDDCCDDDDDDDDDDCCCCDDDDDDCCCCCCCCCCDDDDCCDDDDDDCCCCCCCCCCCCCCCCDDCCDDCCCCCCDDDDCCCCDDCCCCCCDDCCCCDDCCCCDDDDDDDDCCCCDDCCCCDDDDDDCCCCCCCCCCCCDDCCCCCCDDDDCCCCDDCCCCCCDDDDDDCCCCDDCCDDDDCCCCCCCCCCCCCCCCCCDDDDCCCCDDDDDDCCCCCCCCDDDDCCCCCCCCCCCCDDDDCCDDDDCCCCCCCCCCCCCCDDCCDDCCCCCCCCCCCCCCCCDDDDCCCCCCDDDDDDDDDDCCDDDDDDDDCCCCDDCCCCDDDDDDCCCCCCCCCCCCDDCCCCCCDDCCCCCCDDCCCCCCCCDDDDCCDDDDCCDDDDCCCCCCCCDDCCCCCCCCDDCCCCCCDDDDCCCCDDCCCCCCDDDDDDDDDDCCDDDDDDCCDDDDCCCCDDCCDDDDDDCCDDCCCCCCCCCCCCDDCCCCCCCCCCCCCCCCDDDDCCCCDDCCDDCCDDCCDDCCCCCCCCCCCCCCDDCCDDDDDDDDCCDDCCDDCCCCDDDDCCCCCCCCCCCCDDCCCCDDCCDDCCCCCCDDDDCCDDCCDDCCCCCCCCDDDDDDCCCCCCCCCCDDDDDDCCDDCCDDCCDDCCCCCCCCCCCCDDCCDDCCCCCCCCCCDDDDCCCCCCDDDDDDCCDDDDDDCCDDCCCCDDCCDDCCCCDDCCCCDDCCCCCCCCDDCCDDDDDDDDCCCCDDCCCCCCDDDDCCCCCCDDDDCCDDCCCCCCDDCCCCDDDDDDDDDDDDCCCCDDCCCCCCCCDDDDCCCCCCDDDDDDDDDDCCCCCCCCDDDDCCDDCCCCCCCCCCCCCCDDDDDDCCCCCCCCCCDDDDDDCCDDCCCCCCCCCCCCCCCCCCCCCCCCCCDDCCDDCCCCCCDDDDDDCCDDDDCCCCDDDDCCDDDDCCDDCCCCDDCCDDDDCCDDDDDDDDCCDDDDCCCCDDCCDDDDCCCCCCDDDDDDCCDDCCDDCCDDDDCCCCCCCCDDDDDDCCDDCCCCDDCCDDCCDDDDCCDDCCDDCCCCDDCCDDCCCCCCDDDDDDDDCCDDDDDDCCCCDDDDDDCCDDDDCCDDCCDDCCCCCCDDCCCCCCDDCCDDDDCCDDDDCCCCCCDDCCCCCCCCDDCCCCCCDDDDCCDDCCDDCCCCDDDDCCCCCCCCDDCCDDDDCCDDDDDDCCCCCCCCDDDDCCCCCCDDCCDDCCCCCCDDDDCCCCCCCCDDCCCCCCCCCCDDCCCCDDCCCCDDCCDDCCCCDDCCCCDDCCCCCCCCCCDDCCDDDDCCCCDDCCCCDDCCCCCCDDCCCCDDCCCCDDDDDDCCCCDDCCCCDDDDCCCCCCDDCCCCCCDDCCDDCCCCDDCCDDDDDDCCDDDDDDCCCCDDDDCCDDCCDDCCDDDDCCCCDDDDCCDDDDCCCCCCCCCCDDCCCCCCDDCCCCCCDDCCCCDDDDCCCCCCDDDDCCCCCCCCDDCCCCDDCCCCDDCCDDCCDDDDDDCCCCCCCCDDCCDDCCCCDDDDDDDDDDDDCCCCDDDDCCDDCCCCDDCCCCDDCCCCCCCCDDDDCCCCCCCCCCDDCCCCCCCCDDCCCCCCCCDDDDDDCCCCCCCCCCCCDDCCCCDDDDCCDDDDCCDDCCCCDDCCDDCCCCDDDDCCDDCCDDDDCCDDDDDDDDCCCCCCDDCCDDDDDDDDDDDDCCCCCCDDDDDDCCCCCCCCCCDDDDDDCCCCCCCCCCCCDDCCCCCCCCDDCCCCCCDDDDCCCCDDCCDDCCCCCCDDDDCCDDDDDDCCDDCCDDDDCCDDDDCCDDDDDDDDCCCCCCDDCCDDDDCCCCDDDDCCDDCCDDDDDDCCDDCCCCDDDDCCCCDDCCDDDDCCCCCCDDCCDDDDDDCCCCCCDDCCDDDDCCCCCCCCDDCCCCDDCCDDDDDDCCCCDDCCDDCCCCCCCCCCDDCCCCCCDDDDCCCCDDDDDDDDCCCCCCDDCCCCCCCCCCCCDDCCCCCCDDCCDDCCDDCCDDDDDDDDCCDDDDDDCCDDCCCCDDDDCCCCCCCCDDCCCCCCDDCCCCCCCCCCCCDDDDCCCCCCCCDDCCDDDDCCCCCCDDDDDDCCDDDDDDDDCCCCCCCCCCCCDDDDCCCCDDDDDDDDCCCCCCCCCCDDDDDDDDCCCCCCDDCCDDDDCCCCCCCCCCDDCCDDDDDDDDCCCCCCCCCCCCDDCCDDDDDDCCCCCCCCCCCCDDDDDDCCDDCCDDCCCCCCDDDDCCCCCCCCDDDDDDCCCCCCDDCCDDCCCCCCDDCCCCCCCCCCDDDDDDCCCCDDDDDDCCDDCCDDCCCCCCDDDDDDCCDDCCDDCCCCCCCCCCCCDDCCDDCCCCDDCCDDDDDDCCCCCCCCCCCCCCCCDDCCDDCCCCDDDDCCCCDDDDCCCCCCCCCCDDCCDDCCDDDDCCDDCCDDCCDDCCDDCCCCCCCCDDCCDDDDDDDDCCCCCCDDDDCCCCDDCCDDCCCCCCCCCCCCDDDDCCDDDDCCCCDDCCCCCCDDCCDDDDCCCCDDCCCCDDDDCCCCCCDDDDCCDDCCCCCCCCDDDDCCCCDDCCCCDDDDCCCCCCCCDDDDDDCCDDCCCCDDCCCCCCCCCCDDCCDDCCCCCCCCDDCCCCCCCCCCCCCCDDDDCCCCCCDDCCCCDDDDCCDDCCDDCCCCCCCCCCCCCCCCDDCCDDCCDDCCCCCCCCCCDDCCCCCCCCCCCCCCCCCCDDDDCCCCCCCCDDCCDDCCCCDDCCCCCCCCDDDDCCDDCCCCCCDDDDDDCCCCCCCCDDCCCCCCDDCCCCDDDDDDCCCCDDCCCCCCDDDDCCCCCCCCDDCCCCDDCCCCDDCCDDCCCCCCCCCCCCCCCCCCCCCCDDCCCCDDDDDDCCCCCCCCDDCCCCDDCCCCCCDDCCCCCCCCCCDDCCCCCCCCCCCCDDDDCCDDDDCCCCCCDDDDCCCCDDCCCCCCDDCCDDCCDDCCDDDDCCDDDDDDDDCCDDCCCCCCCCCCDDCCDDDDDDCCDDCCCCCCDDCCCCCCDDCCDDDDCCDDDDCCCCCCCCDDDDDDDDCCDDCCCCCCCCCCCCCCCCCCDDDDCCDDCCDDCCCCCCCCCCCCDDDDCCDDDDDDCCDDCCCCCCDDCCDDCCDDDDDDDDDDDDCCCCDDDDDDCCCCDDCCCCDDDDDDCCDDDDCCDDDDCCDDCCDDCCDDDDCCDDCCDDDDDDCCDDDDCCDDCCDDDDDDDDDDCCDDCCCCDDCCCCCCCCDDDDDDCCDDCCCCDDCCDDDDCCDDCCDDDDCCCCDDCCCCDDDDCCCCDDCCDDDDDDCCDDDDDDDDCCCCCCDDDDCCDDDDCCCCDDCCDDDDCCCCCCDDCCCCCCDDCCDDCCCCDDDDCCCCDDCCDDCCDDCCDDDDDDCCCCCCCCCCDDCCCCDDDDDDCCDDCCDDCCCCDDDDDDCCDDCCDDCCDDCCCCDDCCDDCCCCCCDDDDCCDDCCDDCCCCDDCCDDDDDDCCCCCCCCCCDDCCDDCCDDDDCCCCDDCCCCCCCCCCCCDDCCDDCCDDCCCCCCDDDDCCCCCCDDDDDDCCDDDDDDCCCCCCCCDDCCDDCCCCDDDDCCDDCCCCCCCCDDCCDDDDDDCCCCCCDDDDCCCCDDDDCCCCCCDDDDCCDDDDCCCCDDCCCCDDCCDDCCDDDDCCCCDDCCCCCCCCDDDDCCCCDDDDDDDDDDDDCCCCCCCCCCDDDDDDCCCCCCDDCCCCCCDDDDCCCCCCCCCCCCCCDDDDDDDDCCCCCCCCCCCCDDCCCCCCCCCCCCDDCCDDDDCCCCDDDDDDCCDDDDCCCCDDDDCCCCDDCCDDCCCCCCCCCCDDCCCCCCCCCCDDCCCCDDCCDDCCDDDDCCCCCCCCDDCCCCDDCCDDDDDDCCCCCCDDDDCCCCCCDDCCCCDDDDDDDDDDCCDDDDCCCCCCDDDDCCDDDDCCCCCCCCDDCCCCCCDDDDDDDDCCCCCCDDCCCCCCDDCCDDCCCCDDDDCCDDDDCCCCCCDDCCDDDDCCCCCCDDCCDDCCCCCCCCCCDDCCCCDDCCCCDDCCCCDDCCDDCCDDDDCCCCCCDDDDDDCCDDCCDDDDDDCCCCCCCCDDCCCCCCDDCCCCDDDDDDDDDDCCDDDDCCDDCCDDDDCCCCDDCCCCCCCCDDCCCCCCCCDDDDDDCCDDCCDDCCCCCCDDCCDDCCCCDDDDCCDDDDCCCCCCDDCCCCDDCCCCCCDDCCDDDDDDCCDDCCCCCCDDDDCCDDCCDDDDCCCCCCDDDDDDDDDDCCDDCCCCCCDDCCDDCCCCDDDDDDCCCCDDCCDDCCCCDDCCDDCCDDDDCCCCCCDDCCCCDDCCDDDDCCDDDDCCCCCCDDDDDDCCDDDDCCCCCCCCDDCCCCCCCCCCCCCCCCCCCCCCDDDDCCDDCCCCDDCCDDDDDDDDDDCCCCDDCCDDCCDDCCCCDDCCCCCCCCDDDDDDDDDDCCDDCCDDDDDDCCCCCCDDCCDDCCDDCCCCDDDDCCDDDDDDDDDDCCDDDDDDDDDDCCCCCCCCCCCCDDDDCCCCCCDDCCCCDDCCCCCCDDCCCCCCCCDDDDCCDDDDCCCCCCDDDDDDDDCCDDCCCCCCCCDDDDCCDDCCCCDDCCCCDDCCCCCCDDDDCCCCDDCCCCCCDDDDDDCCCCDDDDCCDDCCDDCCCCCCCCDDCCDDCCDDDDCCCCDDDDCCDDDDCCCCDDDDCCCCCCCCCCCCCCDDDDCCCCCCDDDDCCCCDDCCCCCCDDCCCCCCCCCCDDDDDDDDDDCCDDCCCCCCDDCCDDCCDDDDCCDDCCCCDDDDCCCCCCCCCCCCDDCCDDDDCCDDCCDDCCCCCCDDCCDDCCCCDDCCCCCCCCCCCCCCCCDDCCCCDDCCDDCCCCDDDDDDCCDDCCDDDDDDDDDDDDDDCCDDCCCCDDDDDDCCDDCCCCCCCCCCCCDDDDDDCCCCCCDDCCDDCCCCDDCCCCCCCCCCCCCCCCDDDDCCCCCCDDDDCCDDCCCCDDCCCCCCDDCCCCCCCCDDCCDDCCDDDDDDCCDDDDDDCCDDCCCCCCCCCCCCDDCCCCDDCCDDDDDDCCCCDDDDCCCCDDDDCCDDCCCCCCCCCCCCDDDDCCCCCCCCDDDDCCDDCCCCCCCCDDDDCCCCDDCCCCDDDDDDDDCCCCDDCCCCDDCCDDDDCCDDDDDDCCCCCCCCCCCCCCCCCCCCCCDDDDDDCCCCCCDDCCCCDDDDDDDDDDCCDDDDCCCCDDDDDDCCDDDDCCDDDDCCCCCCCCCCCCCCCCDDDDDDDDCCCCDDCCDDCCCCCCDDCCCCDDCCCCCCCCCCDDCCCCCCDDCCCCCCDDCCDDDDDDCCCCDDCCDDDDCCDDDDDDDDDDCCCCCCCCCCDDCCCCCCDDCCDDDDCCCCDDDDCCDDCCCCCCDDCCCCDDCCDDCCDDCCDDDDCCDDDDDDDDCCCCDDCCDDCCCCDDCCDDCCCCCCCCCCDDDDCCDDCCCCCCDDCCCCDDCCDDCCCCDDCCCCCCCCCCDDCCDDCCCCDDDDCCCCDDCCCCCCCCCCDDCCDDCCCCCCCCCCCCCCCCDDCCDDDDDDDDDDDDDDCCCCCCCCCCCCCCDDCCCCDDCCCCDDDDCCCCCCCCCCDDDDDDDDCCCCDDCCDDCCDDDDCCCCCCCCDDDDCCDDCCDDDDDDCCDDCCCCDDDDCCCCDDCCDDDDCCCCCCDDCCDDDDDDCCCCCCDDCCDDDDCCCCCCCCDDCCCCDDCCDDDDDDCCCCDDCCDDCCCCCCCCCCDDCCCCCCDDDDCCCCDDDDDDDDCCCCCCDDCCCCCCCCCCCCDDCCCCCCDDCCDDCCDDCCDDDDDDDDCCDDDDDDCCDDCCCCDDDDCCCCCCCCDDCCCCCCDDCCCCCCCCCCCCDDDDCCCCCCCCDDCCDDDDCCCCCCDDDDDDCCDDDDDDDDCCCCCCCCCCCCDDDDCCCCDDDDDDDDCCCCCCCCCCDDDDDDDDCCCCCCDDCCDDDDCCCCCCCCCCDDCCDDDDDDDDCCCCCCCCCCCCDDCCDDDDDDCCCCCCCCCCCCDDDDDDCCDDCCDDCCCCCCDDDDCCCCCCCCDDDDDDCCCCCCDDCCDDCCCCCCDDCCCCCCCCCCDDDDDDCCCCDDDDDDCCDDCCDDCCCCCCDDDDDDCCDDCCDDCCCCCCCCCCCCDDCCDDCCCCDDCCDDDDDDCCCCCCCCCCCCCCCCDDCCDDCCCCDDDDCCCCDDDDCCCCCCCCCCDDCCDDCCDDDDCCDDCCDDCCDDCCDDCCCCCCCCDDCCDDDDDDDDCCCCCCDDDDCCCCDDCCDDCCCCCCCCCCCCDDDDCCDDDDCCCCDDCCCCCCDDCCDDDDCCCCDDCCCCDDDDCCCCCCDDDDCCDDCCCCCCCCDDDDCCCCDDCCCCDDDDCCCCCCCCDDDDDDCCDDCCCCDDCCCCCCCCCCDDCCDDCCCCCCCCDDCCCCCCCCCCCCCCDDDDCCCCCCDDCCCCDDDDCCDDCCDDCCCCCCCCCCCCCCCCDDCCDDCCDDCCCCCCCCCCDDCCCCCCCCCCCCCCCCCCDDDDCCCCCCCCDDCCDDCCCCDDCCCCCCCCDDDDCCDDCCCCCCDDDDDDCCCCCCCCDDCCCCCCDDCCCCDDDDDDCCCCDDCCCCCCDDDDCCCCCCCCDDCCCCDDCCCCDDCCDDCCCCCCCCCCCCCCCCCCCCCCDDCCCCDDDDDDCCCCCCCCDDCCCCDDCCCCCCDDCCCCCCCCCCDDCCCCCCCCCCCCDDDDCCDDDDCCCCCCDDDDCCCCDDCCCCCCDDCCDDCCDDCCDDDDCCDDDDDDDDCCDDCCCCCCCCCCDDCCDDDDDDCCDDCCCCCCDDCCCCCCDDCCDDDDCCDDDDCCCCCCCCDDDDDDDDCCDDCCCCCCCCCCCCCCCCCCDDDDCCDDCCDDCCCCCCCCCCCCDDDDCCDDDDDDCCDDCCCCCCDDCCDDCCDDDDDDDDDDDDCCCCDDDDDDCCCCDDCCCCDDDDDDCCDDDDCCDDDDCCDDCCDDCCDDDDCCDDCCDDDDDDCCDDDDCCDDCCDDDDDDDDDDCCDDCCCCDDCCCCCCCCDDDDDDCCDDCCCCDDCCDDDDCCDDCCDDDDCCCCDDCCCCDDDDCCCCDDCCDDDDDDCCDDDDDDDDCCCCCCDDDDCCDDDDCCCCDDCCDDDDCCCCCCDDCCCCCCDDCCDDCCCCDDDDCCCCDDCCDDCCDDCCDDDDDDCCCCCCCCCCDDCCCCDDDDDDCCDDCCDDCCCCDDDDDDCCDDCCDDCCDDCCCCDDCCDDCCCCCCDDDDCCDDCCDDCCCCDDCCDDDDDDCCCCCCCCCCDDCCDDCCDDDDCCCCDDCCCCCCCCCCCCDDCCDDCCDDCCCCCCDDDDCCCCCCDDDDDDCCDDDDDDCCCCCCCCDDCCDDCCCCDDDDCCDDCCCCCCCCDDCCDDDDDDCCCCCCDDDDCCCCDDDDCCCCCCDDDDCCDDDDCCCCDDCCCCDDCCDDCCDDDDCCCCDDCCCCCCCCDDDDCCCCDDDDDDDDDDDDCCCCCCCCCCDDDDDDCCCCCCDDCCCCCCDDDDCCCCCCCCCCCCCCDDDDDDDDCCCCCCCCCCCCDDCCCCCCCCCCCCDDCCDDDDCCCCDDDDDDCCDDDDCCCCDDDDCCCCDDCCDDCCCCCCCCCCDDCCCCCCCCCCDDCCCCDDCCDDCCDDDDCCCCCCCCDDCCCCDDCCDDDDDDCCCCCCDDDDCCCCCCDDCCCCDDDDDDDDDDCCDDDDCCCCCCDDDDCCDDDDCCCCCCCCDDCCCCCCDDDDDDDDCCCCCCDDCCCCCCDDCCDDCCCCDDDDCCDDDDCCCCCCDDCCDDDDCCCCCCDDCCDDCCCCCCCCCCDDCCCCDDCCCCDDCCCCDDCCDDCCDDDDCCCCCCDDDDDDCCDDCCDDDDDDCCCCCCCCDDCCCCCCDDCCCCDDDDDDDDDDCCDDDDCCDDCCDDDDCCCCDDCCCCCCCCDDCCCCCCCCDDDDDDCCDDCCDDCCCCCCDDCCDDCCCCDDDDCCDDDDCCCCCCDDCCCCDDCCCCCCDDCCDDDDDDCCDDCCCCCCDDDDCCDDCCDDDDCCCCCCDDDDDDDDDDCCDDCCCCCCDDCCDDCCCCDDDDDDCCCCDDCCDDCCCCDDCCDDCCDDDDCCCCCCDDCCCCDDCCDDDDCCDDDDCCCCCCDDDDDDCCDDDDCCCCCCCCDDCCCCCCCCCCCCCCCCCCCCCCDDDDCCDDCCCCDDCCDDDDDDDDDDCCCCDDCCDDCCDDCCCCDDCCCCCCCCDDDDDDDDDDCCDDCCDDDDDDCCCCCCDDCCDDCCDDCCCCDDDDCCDDDDDDDDDDCCDDDDDDDDDDCCCCCCCCCCCCDDDDCCCCCCDDCCCCDDCCCCCCDDCCCCCCCCDDDDCCDDDDCCCCCCDDDDDDDDCCDDCCCCCCCCDDDDCCDDCCCCDDCCCCDDCCCCCCDDDDCCCCDDCCCCCCDDDDDDCCCCDDDDCCDDCCDDCCCCCCCCDDCCDDCCDDDDCCCCDDDDCCDDDDCCCCDDDDCCCCCCCCCCCCCCDDDDCCCCCCDDDDCCCCDDCCCCCCDDCCCCCCCCCCDDDDDDDDDDCCDDCCCCCCDDCCDDCCDDDDCCDDCCCCDDDDCCCCCCCCCCCCDDCCDDDDCCDDCCDDCCCCCCDDCCDDCCCCDDCCCCCCCCCCCCCCCCDDCCCCDDCCDDCCCCDDDDDDCCDDCCDDDDDDDDDDDDDDCCDDCCCCDDDDDDCCDDCCCCCCCCCCCCDDDDDDCCCCCCDDCCDDCCCCDDCCCCCCCCCCCCCCCCDDDDCCCCCCDDDDCCDDCCCCDDCCCCCCDDCCCCCCCCDDCCDDCCDDDDDDCCDDDDDDCCDDCCCCCCCCCCCCDDCCCCDDCCDDDDDDCCCCDDDDCCCCDDDDCCDDCCCCCCCCCCCCDDDDCCCCCCCCDDDDCCDDCCCCCCCCDDDDCCCCDDCCCCDDDDDDDDCCCCDDCCCCDDCCDDDDCCDDDDDDCCCCCCCCCCCCCCCCCCCCCCDDDDDDCCCCCCDDCCCCDDDDDDDDDDCCDDDDCCCCDDDDDDCCDDDDCCDDDDCCCCCCCCCCCCCCCCDDDDDDDDCCCCDDCCDDCCCCCCDDCCCCDDCCCCCCCCCCDDCCCCCCDDCCCCCCDDCCDDDDDDCCCCDDCCDDDDCCDDDDDDDDDDCCCCCCCCCCDDCCCCCCDDCCDDDDCCCCDDDDCCDDCCCCCCDDCCCCDDCCDDCCDDCCDDDDCCDDDDDDDDCCCCDDCCDDCCCCDDCCDDCCCCCCCCCCDDDDCCDDCCCCCCDDCCCCDDCCDDCCCCDDCCCCCCCCCCDDCCDDCCCCDDDDCCCCDDCCCCCCCCCCDDCCDDCCCCCCCCCCCCCCCCDDCCDDDDDDDDDDDDDDCCCCCCCCCCCCCCDDCCCCDDCCCCDDDDCCCCCCCCCCDDDDDDDDCCCCDDCCDDCCDDDDCCCCCCCCDDDDCCDDCCCCCCCCDDDDCCCCCCDDDDCCDDCCCCCCCCCCDDDDDDDDCCCCDDCCCCDDDDCCCCCCCCDDDDCCCCDDDDCCCCCCDDCCCCCCCCCCCCCCDDCCDDCCCCCCCCDDDDCCDDCCCCCCCCDDCCDDDDCCDDDDCCCCCCDDDDCCDDDDDDDDCCDDDDCCDDDDCCCCDDCCCCCCCCDDDDDDDDCCDDDDCCCCDDDDDDCCDDCCCCDDCCCCCCDDCCCCDDDDDDCCDDCCDDDDCCCCCCCCDDDDDDDDCCCCCCDDDDCCCCCCCCCCDDDDCCCCDDDDCCCCCCDDDDDDCCCCCCCCDDCCDDCCDDDDCCCCCCDDDDDDDDDDDDDDCCCCCCCCDDDDDDCCCCCCCCDDCCCCCCDDDDCCCCCCDDDDCCCCDDDDCCDDCCCCCCCCCCCCDDCCCCCCCCCCCCDDDDDDDDDDDDDDCCDDCCDDCCDDCCCCCCCCCCDDCCCCDDDDDDCCCCDDCCCCCCCCDDDDCCCCCCDDCCCCDDCCCCDDCCCCCCDDCCDDCCDDDDCCDDCCCCDDCCCCCCCCDDDDDDCCDDCCDDCCCCDDCCCCCCCCCCCCCCCCCCCCCCDDDDCCCCCCDDDDDDDDCCDDDDCCDDCCDDCCDDDDCCDDDDCCCCDDCCCCDDCCCCDDCCCCCCCCDDCCCCCCDDCCDDDDCCDDDDCCDDDDDDCCCCDDCCDDCCCCCCCCDDCCDDDDCCDDCCDDDDCCDDDDCCCCCCDDCCDDDDCCCCCCCCCCCCCCCCDDDDDDCCCCDDCCDDCCDDCCDDDDDDDDDDCCDDDDDDCCCCCCDDDDDDDDDDCCCCCCCCDDCCDDCCCCCCDDCCDDDDCCDDCCDDDDDDCCDDDDDDCCCCDDCCCCCCCCDDCCDDDDDDCCCCDDDDDDCCCCDDCCDDCCDDDDCCDDCCDDDDCCDDCCDDDDDDDDCCCCCCDDCCDDDDCCDDCCCCDDDDCCDDDDCCCCCCCCCCCCCCCCDDCCCCCCCCCCDDDDDDDDDDCCCCCCDDCCCCCCCCDDCCDDCCDDCCDDCCDDDDCCCCCCCCCCCCDDCCCCCCDDDDCCCCDDDDDDCCDDCCCCDDCCDDDDDDCCDDDDDDCCDDDDDDDDCCDDDDDDDDDDCCCCCCDDDDCCDDDDDDDDCCCCDDDDCCDDCCCCCCCCDDCCDDCCDDDDCCCCDDDDDDCCDDCCCCDDDDCCDDCCCCDDDDCCCCDDCCCCCCDDCCCCCCDDDDDDDDDDDDDDCCCCDDDDCCCCDDCCCCCCDDDDCCCCDDDDCCDDCCDDCCCCCCDDCCCCCCCCCCDDDDCCCCDDCCCCCCCCCCCCCCCCDDCCCCCCDDCCCCCCCCCCCCCCCCDDCCDDCCCCCCDDCCCCDDCCCCCCCCCCDDCCDDCCCCCCDDDDCCDDDDCCCCCCCCCCCCCCCCCCCCCCCCCCCCDDDDDDCCDDCCDDCCCCDDDDDDCCCCCCDDCCCCDDCCDDDDDDCCDDCCCCDDDDCCCCDDCCCCDDDDDDDDCCCCDDDDDDCCDDDDCCCCCCCCDDCCDDCCDDDDCCCCDDDDCCCCDDCCDDDDCCDDCCCCCCCCCCDDDDCCDDDDCCCCCCCCDDCCCCCCCCCCCCCCCCCCCCCCDDDDCCDDCCCCCCCCDDDDDDDDCCCCCCDDCCDDCCDDCCCCCCCCCCCCCCDDDDDDDDDDCCDDCCDDDDDDCCCCCCDDCCDDCCDDCCCCDDDDCCCCDDDDDDDDCCDDDDDDDDDDDDCCCCCCDDCCDDDDDDCCCCDDCCCCCCCCCCCCDDCCCCCCCCDDDDCCDDDDCCCCCCDDDDDDDDCCDDCCCCCCCCDDDDCCDDCCCCDDCCCCDDCCCCCCCCDDDDCCDDCCDDCCDDDDDDCCDDDDDDCCDDCCDDCCCCCCCCDDCCDDCCDDDDCCCCDDDDCCDDDDCCCCDDDDDDCCCCCCDDCCCCDDDDDDCCCCDDDDCCCCDDCCCCDDCCCCCCCCCCDDDDDDCCDDCCCCDDCCCCCCCCCCDDCCDDCCCCCCCCDDCCCCCCCCDDCCCCDDDDCCCCDDDDCCCCDDDDCCDDCCDDCCCCCCCCCCCCCCCCCCCCDDCCDDCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCDDDDCCCCDDCCDDCCCCCCCCDDCCDDCCCCDDDDCCCCCCCCCCDDDDDDCCCCCCCCCCDDDDDDCCCCCCCCDDCCDDCCCCCCDDCCDDCCCCCCCCDDCCCCCCCCDDCCCCCCDDCCCCDDDDCCCCCCDDCCDDCCDDCCCCCCCCCCCCCCCCDDCCDDCCCCCCCCCCCCCCDDCCCCCCCCCCCCCCCCCCDDDDCCCCDDCCDDCCDDCCCCDDCCDDCCCCDDDDCCDDCCCCCCDDDDDDCCCCCCCCCCCCCCCCDDCCDDCCDDDDDDCCDDCCCCCCDDDDCCCCCCCCCCCCCCDDDDCCDDCCDDCCCCCCCCCCCCDDCCCCCCCCDDCCCCCCDDDDCCCCCCDDDDDDDDDDCCCCCCDDCCCCCCCCCCDDCCCCCCCCCCDDCCDDCCDDDDCCCCCCDDCCCCCCDDCCCCCCDDCCDDCCDDCCDDDDCCDDDDDDDDCCDDCCCCCCCCCCDDCCDDDDDDDDDDCCCCCCDDCCCCCCDDCCDDDDCCCCDDDDCCCCCCDDDDDDDDCCDDCCCCCCCCCCCCCCDDCCDDDDCCDDDDDDDDCCCCDDCCCCDDCCCCCCDDDDCCDDCCCCCCDDDDCCCCDDDDDDDDDDCCCCCCCCCCDDCCCCCCDDDDDDDDCCCCDDDDCCDDDDDDDDCCDDCCCCDDCCDDCCDDDDDDCCDDDDCCDDCCDDDDDDDDDDCCCCCCCCDDCCCCCCCCDDDDDDCCDDCCCCDDCCDDCCCCDDCCDDDDCCCCDDCCCCDDCCDDCCDDDDCCDDCCCCCCCCCCCCCCCCDDDDCCCCCCCCDDCCCCDDCCCCCCCCCCCCDDDDDDCCDDCCDDDDDDDDCCDDCCDDCCCCCCDDDDCCCCDDCCDDCCDDCCCCDDDDCCDDCCCCDDCCCCCCDDDDCCCCCCCCCCDDCCCCDDCCCCCCCCDDCCDDDDDDDDCCDDDDCCDDCCDDDDCCDDDDCCDDDDCCCCDDCCCCDDCCCCCCCCDDDDDDDDDDDDDDCCDDDDCCCCCCDDCCCCDDCCDDDDCCDDCCCCCCDDCCDDDDDDCCCCDDCCDDDDDDCCDDCCDDDDDDCCCCCCDDCCCCDDCCCCDDDDCCDDCCCCDDDDDDDDCCDDCCCCCCCCCCCCCCDDCCCCCCCCCCCCCCDDCCDDCCCCDDDDDDCCCCDDDDCCCCCCCCDDDDCCCCCCCCCCCCCCDDDDDDDDCCCCCCDDCCCCCCDDDDCCCCCCDDDDDDCCDDCCCCCCCCDDCCDDCCCCCCDDCCDDCCCCCCCCDDDDCCDDDDDDCCCCCCCCDDDDCCDDDDCCDDCCDDDDDDCCDDCCCCCCDDCCCCDDDDDDCCDDCCCCDDCCDDDDDDCCDDCCDDCCDDDDCCCCCCCCCCDDCCDDCCDDDDDDCCCCDDCCDDCCCCCCCCCCDDCCCCCCDDCCCCCCDDCCDDDDCCCCCCDDCCCCCCCCCCCCDDDDCCCCDDCCDDCCDDCCDDDDCCDDCCDDDDDDDDDDCCCCDDDDCCCCCCCCDDCCCCCCDDDDCCDDCCDDDDDDDDCCCCCCCCDDDDDDCCCCCCCCDDCCDDDDCCDDDDCCCCDDCCDDCCCCCCCCDDCCDDDDCCDDCCCCDDDDCCCCCCDDDDCCCCCCCCCCCCCCDDDDCCDDDDCCCCCCDDDDDDDDCCDDDDCCCCCCCCCCCCCCDDCCDDDDCCDDCCCCCCCCDDDDCCCCCCDDDDCCDDCCCCCCCCCCDDDDDDDDCCCCDDCCCCDDDDCCCCCCCCDDDDCCCCDDDDCCCCCCDDCCCCCCCCCCCCCCDDCCDDCCCCCCCCDDDDCCDDCCCCCCCCDDCCDDDDCCDDDDCCCCCCDDDDCCDDDDDDDDCCDDDDCCDDDDCCCCDDCCCCCCCCDDDDDDDDCCDDDDCCCCDDDDDDCCDDCCCCDDCCCCCCDDCCCCDDDDDDCCDDCCDDDDCCCCCCCCDDDDDDDDCCCCCCDDDDCCCCCCCCCCDDDDCCCCDDDDCCCCCCDDDDDDCCCCCCCCDDCCDDCCDDDDCCCCCCDDDDDDDDDDDDDDCCCCCCCCDDDDDDCCCCCCCCDDCCCCCCDDDDCCCCCCDDDDCCCCDDDDCCDDCCCCCCCCCCCCDDCCCCCCCCCCCCDDDDDDDDDDDDDDCCDDCCDDCCDDCCCCCCCCCCDDCCCCDDDDDDCCCCDDCCCCCCCCDDDDCCCCCCDDCCCCDDCCCCDDCCCCCCDDCCDDCCDDDDCCDDCCCCDDCCCCCCCCDDDDDDCCDDCCDDCCCCDDCCCCCCCCCCCCCCCCCCCCCCDDDDCCCCCCDDDDDDDDCCDDDDCCDDCCDDCCDDDDCCDDDDCCCCDDCCCCDDCCCCDDCCCCCCCCDDCCCCCCDDCCDDDDCCDDDDCCDDDDDDCCCCDDCCDDCCCCCCCCDDCCDDDDCCDDCCDDDDCCDDDDCCCCCCDDCCDDDDCCCCCCCCCCCCCCCCDDDDDDCCCCDDCCDDCCDDCCDDDDDDDDDDCCDDDDDDCCCCCCDDDDDDDDDDCCCCCCCCDDCCDDCCCCCCDDCCDDDDCCDDCCDDDDDDCCDDDDDDCCCCDDCCCCCCCCDDCCDDDDDDCCCCDDDDDDCCCCDDCCDDCCDDDDCCDDCCDDDDCCDDCCDDDDDDDDCCCCCCDDCCDDDDCCDDCCCCDDDDCCDDDDCCCCCCCCCCCCCCCCDDCCCCCCCCCCDDDDDDDDDDCCCCCCDDCCCCCCCCDDCCDDCCDDCCDDCCDDDDCCCCCCCCCCCCDDCCCCCCDDDDCCCCDDDDDDCCDDCCCCDDCCDDDDDDCCDDDDDDCCDDDDDDDDCCDDDDDDDDDDCCCCCCDDDDCCDDDDDDDDCCCCDDDDCCDDCCCCCCCCDDCCDDCCDDDDCCCCDDDDDDCCDDCCCCDDDDCCDDCCCCDDDDCCCCDDCCCCCCDDCCCCCCDDDDDDDDDDDDDDCCCCDDDDCCCCDDCCCCCCDDDDCCCCDDDDCCDDCCDDCCCCCCDDCCCCCCCCCCDDDDCCCCDDCCCCCCCCCCCCCCCCDDCCCCCCDDCCCCCCCCCCCCCCCCDDCCDDCCCCCCDDCCCCDDCCCCCCCCCCDDCCDDCCCCCCDDDDCCDDDDCCCCCCCCCCCCCCCCCCCCCCCCCCCCDDDDDDCCDDCCDDCCCCDDDDDDCCCCCCDDCCCCDDCCDDDDDDCCDDCCCCDDDDCCCCDDCCCCDDDDDDDDCCCCDDDDDDCCDDDDCCCCCCCCDDCCDDCCDDDDCCCCDDDDCCCCDDCCDDDDCCDDCCCCCCCCCCDDDDCCDDDDCCCCCCCCDDCCCCCCCCCCCCCCCCCCCCCCDDDDCCDDCCCCCCCCDDDDDDDDCCCCCCDDCCDDCCDDCCCCCCCCCCCCCCDDDDDDDDDDCCDDCCDDDDDDCCCCCCDDCCDDCCDDCCCCDDDDCCCCDDDDDDDDCCDDDDDDDDDDDDCCCCCCDDCCDDDDDDCCCCDDCCCCCCCCCCCCDDCCCCCCCCDDDDCCDDDDCCCCCCDDDDDDDDCCDDCCCCCCCCDDDDCCDDCCCCDDCCCCDDCCCCCCCCDDDDCCDDCCDDCCDDDDDDCCDDDDDDCCDDCCDDCCCCCCCCDDCCDDCCDDDDCCCCDDDDCCDDDDCCCCDDDDDDCCCCCCDDCCCCDDDDDDCCCCDDDDCCCCDDCCCCDDCCCCCCCCCCDDDDDDCCDDCCCCDDCCCCCCCCCCDDCCDDCCCCCCCCDDCCCCCCCCDDCCCCDDDDCCCCDDDDCCCCDDDDCCDDCCDDCCCCCCCCCCCCCCCCCCCCDDCCDDCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCDDDDCCCCDDCCDDCCCCCCCCDDCCDDCCCCDDDDCCCCCCCCCCDDDDDDCCCCCCCCCCDDDDDDCCCCCCCCDDCCDDCCCCCCDDCCDDCCCCCCCCDDCCCCCCCCDDCCCCCCDDCCCCDDDDCCCCCCDDCCDDCCDDCCCCCCCCCCCCCCCCDDCCDDCCCCCCCCCCCCCCDDCCCCCCCCCCCCCCCCCCDDDDCCCCDDCCDDCCDDCCCCDDCCDDCCCCDDDDCCDDCCCCCCDDDDDDCCCCCCCCCCCCCCCCDDCCDDCCDDDDDDCCDDCCCCCCDDDDCCCCCCCCCCCCCCDDDDCCDDCCDDCCCCCCCCCCCCDDCCCCCCCCDDCCCCCCDDDDCCCCCCDDDDDDDDDDCCCCCCDDCCCCCCCCCCDDCCCCCCCCCCDDCCDDCCDDDDCCCCCCDDCCCCCCDDCCCCCCDDCCDDCCDDCCDDDDCCDDDDDDDDCCDDCCCCCCCCCCDDCCDDDDDDDDDDCCCCCCDDCCCCCCDDCCDDDDCCCCDDDDCCCCCCDDDDDDDDCCDDCCCCCCCCCCCCCCDDCCDDDDCCDDDDDDDDCCCCDDCCCCDDCCCCCCDDDDCCDDCCCCCCDDDDCCCCDDDDDDDDDDCCCCCCCCCCDDCCCCCCDDDDDDDDCCCCDDDDCCDDDDDDDDCCDDCCCCDDCCDDCCDDDDDDCCDDDDCCDDCCDDDDDDDDDDCCCCCCCCDDCCCCCCCCDDDDDDCCDDCCCCDDCCDDCCCCDDCCDDDDCCCCDDCCCCDDCCDDCCDDDDCCDDCCCCCCCCCCCCCCCCDDDDCCCCCCCCDDCCCCDDCCCCCCCCCCCCDDDDDDCCDDCCDDDDDDDDCCDDCCDDCCCCCCDDDDCCCCDDCCDDCCDDCCCCDDDDCCDDCCCCDDCCCCCCDDDDCCCCCCCCCCDDCCCCDDCCCCCCCCDDCCDDDDDDDDCCDDDDCCDDCCDDDDCCDDDDCCDDDDCCCCDDCCCCDDCCCCCCCCDDDDDDDDDDDDDDCCDDDDCCCCCCDDCCCCDDCCDDDDCCDDCCCCCCDDCCDDDDDDCCCCDDCCDDDDDDCCDDCCDDDDDDCCCCCCDDCCCCDDCCCCDDDDCCDDCCCCDDDDDDDDCCDDCCCCCCCCCCCCCCDDCCCCCCCCCCCCCCDDCCDDCCCCDDDDDDCCCCDDDDCCCCCCCCDDDDCCCCCCCCCCCCCCDDDDDDDDCCCCCCDDCCCCCCDDDDCCCCCCDDDDDDCCDDCCCCCCCCDDCCDDCCCCCCDDCCDDCCCCCCCCDDDDCCDDDDDDCCCCCCCCDDDDCCDDDDCCDDCCDDDDDDCCDDCCCCCCDDCCCCDDDDDDCCDDCCCCDDCCDDDDDDCCDDCCDDCCDDDDCCCCCCCCCCDDCCDDCCDDDDDDCCCCDDCCDDCCCCCCCCCCDDCCCCCCDDCCCCCCDDCCDDDDCCCCCCDDCCCCCCCCCCCCDDDDCCCCDDCCDDCCDDCCDDDDCCDDCCDDDDDDDDDDCCCCDDDDCCCCCCCCDDCCCCCCDDDDCCDDCCDDDDDDDDCCCCCCCCDDDDDDCCCCCCCCDDCCDDDDCCDDDDCCCCDDCCDDCCCCCCCCDDCCDDDDCCDDCCCCDDDDCCCCCCDDDDCCCCCCCCCCCCCCDDDDCCDDDDCCCCCCDDDDDDDDCCDDDDCCCCCCCCCCCCCCDDCCCCCCCCCCDDCCCCCCDDDDCCCCDDDDDDDDCCDDDDDDDDCCCCCCDDCCCCCCCCCCDDCCCCCCDDCCDDDDCCCCCCCCDDCCDDDDCCCCDDDDDDCCCCDDCCCCDDCCCCCCCCCCCCCCDDDDCCDDDDCCDDCCCCCCDDCCDDCCDDDDCCDDCCDDDDDDCCCCDDCCDDCCDDCCDDCCCCDDCCDDDDCCDDCCCCCCDDCCCCCCCCCCDDDDDDDDCCDDCCDDDDCCCCCCCCCCDDDDCCCCCCDDCCCCCCCCCCCCCCCCCCCCCCCCDDDDCCDDCCDDCCDDDDCCDDCCCCCCCCCCCCDDCCDDCCCCCCDDCCCCCCCCDDCCCCDDDDDDDDCCCCCCDDDDCCDDCCDDCCDDCCCCDDDDDDCCCCDDCCDDDDDDDDCCCCDDCCCCCCCCCCCCCCDDCCCCDDCCCCCCCCCCDDDDCCCCDDCCDDCCCCDDCCCCCCCCCCDDCCDDCCDDCCDDCCDDCCDDCCDDDDDDDDCCCCCCCCDDCCCCDDCCCCDDDDCCCCCCDDCCCCCCCCDDDDCCCCDDCCDDCCDDDDCCDDCCDDCCCCCCCCCCCCDDDDDDCCDDCCDDCCCCDDCCCCCCCCDDDDDDDDCCDDDDDDCCCCDDCCDDCCCCCCDDDDCCDDDDCCCCDDDDCCCCCCCCCCCCCCDDDDCCCCCCCCCCDDCCDDDDDDDDCCCCCCCCDDDDCCDDDDCCCCDDCCCCDDCCCCDDCCDDDDDDCCDDDDCCDDCCDDCCCCCCDDDDCCDDCCDDCCCCCCCCDDCCDDCCDDDDCCDDDDCCDDCCDDDDCCCCDDDDDDCCCCCCCCCCDDCCDDDDCCDDDDCCCCCCCCDDCCCCCCCCDDCCCCDDCCCCDDDDCCCCDDCCCCCCDDCCCCCCCCDDCCCCCCCCDDCCCCDDCCCCDDCCCCCCCCDDCCDDDDDDCCDDCCCCCCCCCCDDDDDDCCCCDDCCDDCCDDDDCCCCDDCCCCDDDDDDDDDDCCCCDDCCCCCCDDCCDDCCDDCCCCDDCCCCCCCCDDCCDDCCCCDDCCCCCCDDDDCCCCCCCCCCCCDDCCCCDDDDCCDDCCDDDDCCDDDDCCCCDDCCCCDDCCDDDDDDCCCCDDDDDDCCCCDDCCDDCCCCCCCCCCCCDDCCCCDDCCCCCCCCDDCCCCDDCCCCDDDDCCCCCCDDCCDDDDDDCCDDCCDDCCCCCCDDDDCCCCDDDDCCCCDDCCDDCCDDDDDDDDCCCCCCDDCCDDCCDDDDCCCCCCDDDDCCCCCCDDCCDDCCDDCCCCCCCCCCDDCCCCDDCCCCCCDDCCCCDDDDCCDDCCCCCCDDDDCCDDCCCCDDCCDDCCCCCCCCCCDDDDCCCCDDCCCCCCCCCCCCCCCCCCCCCCDDDDCCDDDDDDCCCCDDDDDDCCDDDDDDDDCCDDCCCCCCCCDDCCDDCCCCCCCCCCDDDDCCDDDDCCDDDDCCCCCCDDCCDDDDCCDDDDCCDDCCCCCCDDDDCCCCCCCCDDCCCCDDCCCCDDCCDDCCCCCCCCCCCCDDCCCCCCCCDDDDCCDDCCDDCCCCCCDDDDDDDDDDCCCCCCDDCCCCCCCCCCDDCCCCCCCCCCDDDDDDCCDDDDCCCCCCDDDDCCCCCCCCCCCCDDCCCCCCDDCCDDDDCCDDDDDDDDCCDDCCCCCCCCCCDDCCDDDDDDDDDDCCCCCCDDCCCCCCCCCCDDDDCCDDDDDDCCCCCCDDDDDDDDCCDDCCCCCCCCCCCCCCDDCCDDDDCCDDCCDDDDCCCCDDCCCCDDDDCCCCDDDDCCDDCCCCCCDDDDDDCCDDDDDDDDDDDDCCCCDDDDDDCCCCDDDDCCDDDDDDCCDDDDCCDDDDDDCCCCDDCCDDDDCCDDCCDDDDCCCCDDDDCCDDCCDDDDCCDDDDCCDDCCCCDDCCCCCCCCDDDDDDCCDDCCCCCCCCDDDDCCDDCCDDDDCCCCDDCCCCDDCCDDCCDDDDCCDDDDCCCCCCCCCCDDDDCCCCCCCCCCCCCCCCDDDDDDCCCCCCCCCCCCDDCCDDDDDDDDDDCCDDDDDDCCCCCCDDDDDDCCDDCCDDCCCCCCDDDDCCCCCCDDCCDDDDCCDDCCDDDDDDCCDDDDDDCCCCDDCCCCCCDDDDCCDDDDCCCCCCDDDDDDCCCCDDCCDDCCCCDDCCDDCCCCCCDDCCCCDDDDDDDDCCDDCCDDCCCCCCCCCCCCCCCCDDDDDDCCCCDDCCDDDDDDCCDDDDDDCCDDCCDDDDCCCCCCCCDDDDDDDDDDCCDDCCCCDDCCDDCCCCCCDDCCDDDDCCDDCCDDDDDDCCDDDDDDCCCCDDCCCCCCDDDDDDDDDDDDCCCCDDDDDDCCCCDDCCDDCCCCDDCCCCCCDDDDDDDDCCDDDDDDDDCCDDCCDDCCCCCCCCDDCCCCDDDDDDDDDDDDCCCCCCCCCCDDCCDDCCCCCCCCCCDDDDDDDDDDDDCCCCDDCCCCCCCCDDCCDDCCDDCCDDCCDDCCCCDDCCCCDDCCDDCCCCCCCCDDCCDDDDCCDDCCDDCCCCDDCCDDDDDDCCDDDDDDCCDDDDDDDDCCDDDDDDDDDDCCCCCCDDDDCCDDDDDDDDCCCCDDDDCCDDDDCCCCCCDDDDDDCCCCCCCCDDDDDDDDCCDDDDCCDDDDDDDDCCCCDDCCDDDDDDCCCCCCCCCCCCCCDDDDDDCCDDCCDDCCCCDDDDCCCCDDCCCCCCDDDDCCDDDDDDCCDDCCDDCCCCCCDDCCCCCCCCCCDDDDCCCCDDCCDDCCCCCCCCCCCCDDCCCCCCDDCCCCCCCCCCCCDDCCDDCCDDDDCCCCDDCCCCDDCCCCCCCCCCDDCCDDCCCCCCDDDDCCDDDDCCCCCCCCCCCCDDCCCCCCCCCCCCCCDDDDDDCCDDCCDDCCCCCCDDDDDDDDDDCCDDDDCCDDCCCCCCCCCCCCDDDDCCCCCCCCDDDDCCDDCCCCCCCCCCDDCCCCDDDDCCCCCCCCCCCCCCDDDDCCDDCCDDDDDDCCCCCCCCCCCCCCDDCCCCCCCCDDCCDDDDCCCCCCCCCCDDDDCCCCDDCCCCCCCCCCCCCCDDCCCCDDDDCCCCCCCCDDCCDDDDDDCCDDCCDDCCCCCCDDDDCCCCDDCCDDDDDDCCCCDDDDCCDDCCDDCCDDCCCCCCCCCCDDCCDDDDCCDDCCDDCCDDCCCCCCCCDDDDDDDDCCDDCCDDCCCCCCCCCCCCCCCCDDCCDDDDCCDDDDCCCCCCDDCCCCCCCCCCDDDDDDCCCCDDDDCCCCDDDDCCCCCCCCCCDDCCDDCCDDCCCCDDCCDDCCCCCCDDCCCCCCCCCCCCDDDDCCDDCCCCCCCCCCCCCCDDCCDDCCCCCCDDCCCCDDCCCCCCDDCCCCDDCCCCCCDDCCDDDDCCCCDDDDCCDDDDCCCCCCDDDDDDDDCCCCCCCCDDDDDDDDCCDDCCCCCCCCCCDDCCCCCCDDDDCCDDDDCCCCCCCCDDDDDDDDCCCCDDCCDDDDDDCCCCCCCCDDDDCCDDDDDDCCCCDDDDCCCCCCCCCCCCCCDDCCDDCCCCCCCCDDDDCCDDCCCCDDCCDDCCDDDDCCDDCCCCCCCCCCDDDDCCDDDDDDCCDDDDCCDDDDCCCCCCCCCCCCCCCCDDDDDDCCDDDDDDCCDDDDDDCCDDDDDDCCCCCCDDDDCCDDDDCCCCDDDDCCCCCCCCDDCCDDCCDDCCDDCCCCCCCCCCCCDDCCCCCCCCDDCCDDDDCCCCCCCCCCCCDDDDDDDDCCCCDDDDCCCCCCDDCCCCCCCCCCCCDDDDCCCCDDCCCCDDDDCCDDCCCCDDCCCCCCCCCCCCDDCCCCCCDDDDCCCCDDDDDDDDCCDDDDDDDDCCCCCCDDCCCCCCCCCCDDCCCCCCDDCCDDDDCCCCCCCCDDCCDDDDCCCCDDDDDDCCCCDDCCCCDDCCCCCCCCCCCCCCDDDDCCDDDDCCDDCCCCCCDDCCDDCCDDDDCCDDCCDDDDDDCCCCDDCCDDCCDDCCDDCCCCDDCCDDDDCCDDCCCCCCDDCCCCCCCCCCDDDDDDDDCCDDCCDDDDCCCCCCCCCCDDDDCCCCCCDDCCCCCCCCCCCCCCCCCCCCCCCCDDDDCCDDCCDDCCDDDDCCDDCCCCCCCCCCCCDDCCDDCCCCCCDDCCCCCCCCDDCCCCDDDDDDDDCCCCCCDDDDCCDDCCDDCCDDCCCCDDDDDDCCCCDDCCDDDDDDDDCCCCDDCCCCCCCCCCCCCCDDCCCCDDCCCCCCCCCCDDDDCCCCDDCCDDCCCCDDCCCCCCCCCCDDCCDDCCDDCCDDCCDDCCDDCCDDDDDDDDCCCCCCCCDDCCCCDDCCCCDDDDCCCCCCDDCCCCCCCCDDDDCCCCDDCCDDCCDDDDCCDDCCDDCCCCCCCCCCCCDDDDDDCCDDCCDDCCCCDDCCCCCCCCDDDDDDDDCCDDDDDDCCCCDDCCDDCCCCCCDDDDCCDDDDCCCCDDDDCCCCCCCCCCCCCCDDDDCCCCCCCCCCDDCCDDDDDDDDCCCCCCCCDDDDCCDDDDCCCCDDCCCCDDCCCCDDCCDDDDDDCCDDDDCCDDCCDDCCCCCCDDDDCCDDCCDDCCCCCCCCDDCCDDCCDDDDCCDDDDCCDDCCDDDDCCCCDDDDDDCCCCCCCCCCDDCCDDDDCCDDDDCCCCCCCCDDCCCCCCCCDDCCCCDDCCCCDDDDCCCCDDCCCCCCDDCCCCCCCCDDCCCCCCCCDDCCCCDDCCCCDDCCCCCCCCDDCCDDDDDDCCDDCCCCCCCCCCDDDDDDCCCCDDCCDDCCDDDDCCCCDDCCCCDDDDDDDDDDCCCCDDCCCCCCDDCCDDCCDDCCCCDDCCCCCCCCDDCCDDCCCCDDCCCCCCDDDDCCCCCCCCCCCCDDCCCCDDDDCCDDCCDDDDCCDDDDCCCCDDCCCCDDCCDDDDDDCCCCDDDDDDCCCCDDCCDDCCCCCCCCCCCCDDCCCCDDCCCCCCCCDDCCCCDDCCCCDDDDCCCCCCDDCCDDDDDDCCDDCCDDCCCCCCDDDDCCCCDDDDCCCCDDCCDDCCDDDDDDDDCCCCCCDDCCDDCCDDDDCCCCCCDDDDCCCCCCDDCCDDCCDDCCCCCCCCCCDDCCCCDDCCCCCCDDCCCCDDDDCCDDCCCCCCDDDDCCDDCCCCDDCCDDCCCCCCCCCCDDDDCCCCDDCCCCCCCCCCCCCCCCCCCCCCDDDDCCDDDDDDCCCCDDDDDDCCDDDDDDDDCCDDCCCCCCCCDDCCDDCCCCCCCCCCDDDDCCDDDDCCDDDDCCCCCCDDCCDDDDCCDDDDCCDDCCCCCCDDDDCCCCCCCCDDCCCCDDCCCCDDCCDDCCCCCCCCCCCCDDCCCCCCCCDDDDCCDDCCDDCCCCCCDDDDDDDDDDCCCCCCDDCCCCCCCCCCDDCCCCCCCCCCDDDDDDCCDDDDCCCCCCDDDDCCCCCCCCCCCCDDCCCCCCDDCCDDDDCCDDDDDDDDCCDDCCCCCCCCCCDDCCDDDDDDDDDDCCCCCCDDCCCCCCCCCCDDDDCCDDDDDDCCCCCCDDDDDDDDCCDDCCCCCCCCCCCCCCDDCCDDDDCCDDCCDDDDCCCCDDCCCCDDDDCCCCDDDDCCDDCCCCCCDDDDDDCCDDDDDDDDDDDDCCCCDDDDDDCCCCDDDDCCDDDDDDCCDDDDCCDDDDDDCCCCDDCCDDDDCCDDCCDDDDCCCCDDDDCCDDCCDDDDCCDDDDCCDDCCCCDDCCCCCCCCDDDDDDCCDDCCCCCCCCDDDDCCDDCCDDDDCCCCDDCCCCDDCCDDCCDDDDCCDDDDCCCCCCCCCCDDDDCCCCCCCCCCCCCCCCDDDDDDCCCCCCCCCCCCDDCCDDDDDDDDDDCCDDDDDDCCCCCCDDDDDDCCDDCCDDCCCCCCDDDDCCCCCCDDCCDDDDCCDDCCDDDDDDCCDDDDDDCCCCDDCCCCCCDDDDCCDDDDCCCCCCDDDDDDCCCCDDCCDDCCCCDDCCDDCCCCCCDDCCCCDDDDDDDDCCDDCCDDCCCCCCCCCCCCCCCCDDDDDDCCCCDDCCDDDDDDCCDDDDDDCCDDCCDDDDCCCCCCCCDDDDDDDDDDCCDDCCCCDDCCDDCCCCCCDDCCDDDDCCDDCCDDDDDDCCDDDDDDCCCCDDCCCCCCDDDDDDDDDDDDCCCCDDDDDDCCCCDDCCDDCCCCDDCCCCCCDDDDDDDDCCDDDDDDDDCCDDCCDDCCCCCCCCDDCCCCDDDDDDDDDDDDCCCCCCCCCCDDCCDDCCCCCCCCCCDDDDDDDDDDDDCCCCDDCCCCCCCCDDCCDDCCDDCCDDCCDDCCCCDDCCCCDDCCDDCCCCCCCCDDCCDDDDCCDDCCDDCCCCDDCCDDDDDDCCDDDDDDCCDDDDDDDDCCDDDDDDDDDDCCCCCCDDDDCCDDDDDDDDCCCCDDDDCCDDDDCCCCCCDDDDDDCCCCCCCCDDDDDDDDCCDDDDCCDDDDDDDDCCCCDDCCDDDDDDCCCCCCCCCCCCCCDDDDDDCCDDCCDDCCCCDDDDCCCCDDCCCCCCDDDDCCDDDDDDCCDDCCDDCCCCCCDDCCCCCCCCCCDDDDCCCCDDCCDDCCCCCCCCCCCCDDCCCCCCDDCCCCCCCCCCCCDDCCDDCCDDDDCCCCDDCCCCDDCCCCCCCCCCDDCCDDCCCCCCDDDDCCDDDDCCCCCCCCCCCCDDCCCCCCCCCCCCCCDDDDDDCCDDCCDDCCCCCCDDDDDDDDDDCCDDDDCCDDCCCCCCCCCCCCDDDDCCCCCCCCDDDDCCDDCCCCCCCCCCDDCCCCDDDDCCCCCCCCCCCCCCDDDDCCDDCCDDDDDDCCCCCCCCCCCCCCDDCCCCCCCCDDCCDDDDCCCCCCCCCCDDDDCCCCDDCCCCCCCCCCCCCCDDCCCCDDDDCCCCCCCCDDCCDDDDDDCCDDCCDDCCCCCCDDDDCCCCDDCCDDDDDDCCCCDDDDCCDDCCDDCCDDCCCCCCCCCCDDCCDDDDCCDDCCDDCCDDCCCCCCCCDDDDDDDDCCDDCCDDCCCCCCCCCCCCCCCCDDCCDDDDCCDDDDCCCCCCDDCCCCCCCCCCDDDDDDCCCCDDDDCCCCDDDDCCCCCCCCCCDDCCDDCCDDCCCCDDCCDDCCCCCCDDCCCCCCCCCCCCDDDDCCDDCCCCCCCCCCCCCCDDCCDDCCCCCCDDCCCCDDCCCCCCDDCCCCDDCCCCCCDDCCDDDDCCCCDDDDCCDDDDCCCCCCDDDDDDDDCCCCCCCCDDDDDDDDCCDDCCCCCCCCCCDDCCCCCCDDDDCCDDDDCCCCCCCCDDDDDDDDCCCCDDCCDDDDDDCCCCCCCCDDDDCCDDDDDDCCCCDDDDCCCCCCCCCCCCCCDDCCDDCCCCCCCCDDDDCCDDCCCCDDCCDDCCDDDDCCDDCCCCCCCCCCDDDDCCDDDDDDCCDDDDCCDDDDCCCCCCCCCCCCCCCCDDDDDDCCDDDDDDCCDDDDDDCCDDDDDDCCCCCCDDDDCCDDDDCCCCDDDDCCCCCCCCDDCCDDCCDDCCDDCCCCCCCCCCCCDDCCCCCCCCDDCCDDDDCCCCCCCCCCCCDDDDDDDDCCCCDDDDCCCCCCDDCCCCCCCCCCCCDDDDCCCCDDCCCCDDDDCCDDCCCCDDCCDDCCDDCCDDCCCCDDDDCCCCDDDDDDCCCCDDCCCCCCCCDDCCDDDDDDCCCCCCCCCCCCCCDDDDDDCCDDCCCCCCDDDDCCCCCCDDCCCCCCDDDDCCCCCCCCCCCCCCDDDDDDCCDDCCDDDDCCCCDDCCDDCCCCDDDDDDCCCCCCCCCCCCDDDDDDDDDDDDDDCCCCCCDDCCDDCCDDCCDDDDCCDDDDCCCCCCCCCCDDDDCCCCCCDDDDDDCCDDCCCCDDDDCCDDCCDDDDCCDDDDCCCCCCDDDDCCCCCCCCCCCCDDDDDDDDDDCCCCCCDDDDDDCCDDCCDDCCCCCCCCCCCCCCCCCCCCCCDDCCCCCCCCDDCCCCDDDDDDCCCCCCDDCCCCCCCCCCCCDDDDCCCCCCCCDDDDCCCCDDDDCCDDCCCCDDCCCCDDCCCCCCDDCCDDDDCCDDCCDDCCDDDDCCCCDDDDDDCCCCDDDDCCDDCCCCDDCCCCDDCCCCDDCCDDCCCCCCCCDDDDDDCCCCCCCCCCCCCCCCCCDDDDCCCCCCDDDDCCDDCCDDCCCCDDCCDDCCCCDDCCCCDDCCDDCCCCDDCCDDCCCCCCCCCCCCDDDDCCCCCCCCDDDDDDCCDDCCCCCCDDCCCCDDCCCCDDCCDDCCDDCCCCCCCCCCCCDDDDDDCCDDDDDDDDDDDDDDCCDDDDDDCCDDCCDDDDDDCCCCDDCCCCCCCCCCCCDDCCDDCCCCDDCCCCDDCCDDDDCCCCCCCCCCCCCCCCDDDDDDDDDDCCCCCCDDCCCCCCDDCCCCCCCCCCCCDDDDCCCCCCDDDDDDDDDDCCDDDDCCCCCCCCCCCCCCDDDDCCCCDDCCCCDDDDCCCCCCCCCCDDDDCCCCCCDDCCDDCCCCDDCCDDCCDDDDCCDDCCDDCCDDDDCCCCCCDDCCDDCCDDDDCCDDCCCCCCCCCCCCCCCCDDCCCCDDDDDDDDDDDDDDDDCCDDDDCCDDDDCCCCCCCCCCDDCCDDCCDDDDCCCCCCCCCCDDDDDDCCCCDDCCDDCCDDCCCCCCDDDDDDDDDDDDDDDDCCDDCCDDCCDDCCCCDDCCCCCCCCDDDDCCDDCCDDCCDDDDCCDDCCDDCCCCCCCCCCDDCCCCCCCCCCCCCCCCCCDDDDCCDDDDDDCCCCDDDDCCDDCCDDCCCCDDCCCCCCCCDDDDCCDDCCCCDDCCDDDDCCCCDDCCCCCCDDDDCCCCCCDDDDDDDDCCDDCCDDDDCCDDDDCCCCDDCCDDCCDDCCCCCCCCDDCCCCCCCCCCDDCCCCCCDDDDCCDDCCCCDDDDCCCCCCDDCCCCCCCCDDDDDDCCDDCCDDDDDDCCCCCCDDCCDDCCCCCCCCDDCCDDCCCCDDDDDDCCCCDDDDDDCCCCCCDDDDCCCCCCCCCCCCDDCCDDCCCCCCDDCCDDDDCCCCDDDDCCDDCCDDDDDDCCCCDDCCDDDDDDCCDDCCCCDDDDCCDDCCDDCCCCDDCCDDCCCCDDCCDDDDDDDDCCCCCCCCCCDDCCCCCCCCCCCCCCDDDDDDDDDDCCCCCCDDCCCCCCCCDDCCDDCCDDCCCCCCCCDDCCCCCCCCDDCCDDCCCCCCDDDDCCDDDDDDDDCCDDCCCCDDCCDDDDDDCCDDDDDDCCDDDDDDDDCCDDDDCCCCDDCCCCCCCCDDCCDDDDCCDDCCCCDDDDCCDDCCCCCCCCCCDDDDCCDDCCDDDDDDDDDDCCDDDDCCCCCCDDDDCCCCCCDDDDDDDDCCCCCCDDCCCCCCCCDDCCDDDDCCDDCCCCDDCCCCCCDDCCCCCCDDDDCCDDDDDDCCDDCCDDCCCCCCDDCCCCCCCCCCCCDDCCCCCCCCDDCCCCCCDDCCDDCCDDCCCCDDCCCCCCCCCCCCDDCCDDCCCCDDDDCCDDCCCCDDCCCCCCCCCCDDCCDDCCCCCCDDDDCCDDDDCCCCCCCCCCCCDDCCCCCCCCCCCCCCCCDDDDCCDDCCDDCCCCCCDDDDDDDDDDCCCCDDCCDDCCDDCCCCCCDDDDCCCCCCCCCCCCCCCCDDCCDDCCDDDDCCDDDDCCCCCCDDCCCCCCDDDDDDCCCCCCCCCCDDDDCCDDCCDDDDCCCCCCCCDDCCDDCCDDDDDDCCDDCCCCCCCCCCCCDDCCCCCCDDCCDDCCCCDDCCDDCCCCDDCCCCDDCCCCDDCCCCCCCCDDDDDDDDDDCCDDCCCCCCDDCCDDCCCCCCDDDDCCDDCCDDCCCCCCCCDDCCDDCCDDDDCCDDDDCCDDCCDDDDCCCCDDDDDDCCCCCCCCCCDDCCDDDDCCDDDDCCCCCCCCDDCCDDCCDDDDDDCCDDCCCCDDDDCCCCCCCCCCCCDDCCDDCCCCDDCCCCCCCCDDCCCCCCCCCCDDCCCCCCCCDDDDDDDDDDCCDDCCCCCCDDCCDDDDDDCCCCDDCCCCCCDDCCCCCCCCCCCCDDDDDDCCDDCCCCDDCCCCDDDDCCDDCCDDCCCCCCCCDDCCCCDDCCDDCCCCDDCCCCDDDDDDCCCCCCCCCCCCDDDDCCDDDDCCDDCCDDDDCCDDDDCCCCDDCCCCDDCCDDDDDDCCCCCCDDDDCCCCDDCCDDCCCCCCDDCCCCDDCCDDDDCCCCCCCCDDDDCCDDCCCCCCDDCCCCCCDDCCDDDDDDCCDDDDDDCCDDCCDDCCCCCCDDDDCCCCDDCCDDCCCCDDDDDDCCCCCCCCCCCCDDDDDDCCDDCCDDDDCCCCCCDDCCDDCCDDCCCCCCCCCCDDCCCCDDCCCCDDCCCCCCCCDDCCCCCCCCCCDDDDDDCCCCCCDDCCDDCCCCDDCCCCDDDDDDCCCCCCCCCCCCCCCCCCCCCCCCDDDDDDCCDDDDCCCCCCDDDDCCCCCCDDDDDDCCDDCCCCCCCCDDCCDDCCCCCCCCCCDDDDCCDDCCCCCCCCDDCCCCDDDDCCCCCCCCDDDDDDDDCCCCDDCCCCCCDDCCDDDDCCDDCCDDDDCCDDCCCCDDCCDDDDDDCCCCCCCCDDDDCCCCCCCCCCDDDDCCCCDDDDCCCCCCDDDDDDDDCCDDCCDDCCDDCCDDDDCCDDCCDDDDDDCCDDCCDDCCCCCCDDDDDDDDDDCCCCCCCCCCCCDDCCDDCCCCCCDDDDCCCCDDCCCCDDCCCCCCCCCCCCDDCCCCCCCCDDCCDDCCDDDDDDDDDDCCCCDDDDCCDDCCCCCCCCCCDDCCCCDDDDCCCCCCDDCCCCCCCCDDCCDDCCCCDDCCCCDDCCCCDDCCCCCCDDDDDDCCDDDDCCDDCCCCCCCCDDCCCCCCDDDDCCDDCCDDCCCCDDCCCCCCDDCCCCCCCCCCCCCCCCDDCCCCCCDDCCDDDDCCCCDDCCDDCCDDDDCCDDCCDDDDCCCCCCCCCCCCCCCCCCCCDDDDCCDDCCCCDDDDCCDDDDDDDDDDDDDDDDCCCCCCDDCCDDDDCCCCCCDDCCDDDDCCCCCCCCCCCCDDCCDDCCDDDDCCDDDDDDCCCCCCDDCCDDDDCCCCCCDDCCCCCCCCCCDDCCCCCCCCCCDDCCCCCCCCCCDDCCDDDDCCCCDDDDDDDDCCDDCCCCCCCCCCDDCCCCCCCCDDCCCCDDDDCCDDCCCCCCDDCCDDCCDDDDDDDDCCDDDDDDCCCCDDCCDDCCDDCCDDCCCCDDCCDDDDCCDDCCCCCCDDCCCCCCCCCCCCDDDDCCDDDDCCDDCCCCCCCCDDDDDDCCCCCCCCDDCCDDCCDDDDDDDDCCDDDDDDCCCCCCDDCCDDCCCCDDCCCCDDDDCCCCCCDDDDCCDDCCDDDDCCDDCCCCDDDDCCDDCCDDDDCCDDDDCCCCCCCCCCCCDDCCCCDDCCDDDDCCDDCCDDCCCCDDDDCCCCDDDDDDCCCCDDCCCCCCCCDDCCDDDDDDCCCCCCCCCCCCCCDDDDDDCCDDCCCCCCDDDDCCCCCCDDCCCCCCDDDDCCCCCCCCCCCCCCDDDDDDCCDDCCDDDDCCCCDDCCDDCCCCDDDDDDCCCCCCCCCCCCDDDDDDDDDDDDDDCCCCCCDDCCDDCCDDCCDDDDCCDDDDCCCCCCCCCCDDDDCCCCCCDDDDDDCCDDCCCCDDDDCCDDCCDDDDCCDDDDCCCCCCDDDDCCCCCCCCCCCCDDDDDDDDDDCCCCCCDDDDDDCCDDCCDDCCCCCCCCCCCCCCCCCCCCCCDDCCCCCCCCDDCCCCDDDDDDCCCCCCDDCCCCCCCCCCCCDDDDCCCCCCCCDDDDCCCCDDDDCCDDCCCCDDCCCCDDCCCCCCDDCCDDDDCCDDCCDDCCDDDDCCCCDDDDDDCCCCDDDDCCDDCCCCDDCCCCDDCCCCDDCCDDCCCCCCCCDDDDDDCCCCCCCCCCCCCCCCCCDDDDCCCCCCDDDDCCDDCCDDCCCCDDCCDDCCCCDDCCCCDDCCDDCCCCDDCCDDCCCCCCCCCCCCDDDDCCCCCCCCDDDDDDCCDDCCCCCCDDCCCCDDCCCCDDCCDDCCDDCCCCCCCCCCCCDDDDDDCCDDDDDDDDDDDDDDCCDDDDDDCCDDCCDDDDDDCCCCDDCCCCCCCCCCCCDDCCDDCCCCDDCCCCDDCCDDDDCCCCCCCCCCCCCCCCDDDDDDDDDDCCCCCCDDCCCCCCDDCCCCCCCCCCCCDDDDCCCCCCDDDDDDDDDDCCDDDDCCCCCCCCCCCCCCDDDDCCCCDDCCCCDDDDCCCCCCCCCCDDDDCCCCCCDDCCDDCCCCDDCCDDCCDDDDCCDDCCDDCCDDDDCCCCCCDDCCDDCCDDDDCCDDCCCCCCCCCCCCCCCCDDCCCCDDDDDDDDDDDDDDDDCCDDDDCCDDDDCCCCCCCCCCDDCCDDCCDDDDCCCCCCCCCCDDDDDDCCCCDDCCDDCCDDCCCCCCDDDDDDDDDDDDDDDDCCDDCCDDCCDDCCCCDDCCCCCCCCDDDDCCDDCCDDCCDDDDCCDDCCDDCCCCCCCCCCDDCCCCCCCCCCCCCCCCCCDDDDCCDDDDDDCCCCDDDDCCDDCCDDCCCCDDCCCCCCCCDDDDCCDDCCCCDDCCDDDDCCCCDDCCCCCCDDDDCCCCCCDDDDDDDDCCDDCCDDDDCCDDDDCCCCDDCCDDCCDDCCCCCCCCDDCCCCCCCCCCDDCCCCCCDDDDCCDDCCCCDDDDCCCCCCDDCCCCCCCCDDDDDDCCDDCCDDDDDDCCCCCCDDCCDDCCCCCCCCDDCCDDCCCCDDDDDDCCCCDDDDDDCCCCCCDDDDCCCCCCCCCCCCDDCCDDCCCCCCDDCCDDDDCCCCDDDDCCDDCCDDDDDDCCCCDDCCDDDDDDCCDDCCCCDDDDCCDDCCDDCCCCDDCCDDCCCCDDCCDDDDDDDDCCCCCCCCCCDDCCCCCCCCCCCCCCDDDDDDDDDDCCCCCCDDCCCCCCCCDDCCDDCCDDCCCCCCCCDDCCCCCCCCDDCCDDCCCCCCDDDDCCDDDDDDDDCCDDCCCCDDCCDDDDDDCCDDDDDDCCDDDDDDDDCCDDDDCCCCDDCCCCCCCCDDCCDDDDCCDDCCCCDDDDCCDDCCCCCCCCCCDDDDCCDDCCDDDDDDDDDDCCDDDDCCCCCCDDDDCCCCCCDDDDDDDDCCCCCCDDCCCCCCCCDDCCDDDDCCDDCCCCDDCCCCCCDDCCCCCCDDDDCCDDDDDDCCDDCCDDCCCCCCDDCCCCCCCCCCCCDDCCCCCCCCDDCCCCCCDDCCDDCCDDCCCCDDCCCCCCCCCCCCDDCCDDCCCCDDDDCCDDCCCCDDCCCCCCCCCCDDCCDDCCCCCCDDDDCCDDDDCCCCCCCCCCCCDDCCCCCCCCCCCCCCCCDDDDCCDDCCDDCCCCCCDDDDDDDDDDCCCCDDCCDDCCDDCCCCCCDDDDCCCCCCCCCCCCCCCCDDCCDDCCDDDDCCDDDDCCCCCCDDCCCCCCDDDDDDCCCCCCCCCCDDDDCCDDCCDDDDCCCCCCCCDDCCDDCCDDDDDDCCDDCCCCCCCCCCCCDDCCCCCCDDCCDDCCCCDDCCDDCCCCDDCCCCDDCCCCDDCCCCCCCCDDDDDDDDDDCCDDCCCCCCDDCCDDCCCCCCDDDDCCDDCCDDCCCCCCCCDDCCDDCCDDDDCCDDDDCCDDCCDDDDCCCCDDDDDDCCCCCCCCCCDDCCDDDDCCDDDDCCCCCCCCDDCCDDCCDDDDDDCCDDCCCCDDDDCCCCCCCCCCCCDDCCDDCCCCDDCCCCCCCCDDCCCCCCCCCCDDCCCCCCCCDDDDDDDDDDCCDDCCCCCCDDCCDDDDDDCCCCDDCCCCCCDDCCCCCCCCCCCCDDDDDDCCDDCCCCDDCCCCDDDDCCDDCCDDCCCCCCCCDDCCCCDDCCDDCCCCDDCCCCDDDDDDCCCCCCCCCCCCDDDDCCDDDDCCDDCCDDDDCCDDDDCCCCDDCCCCDDCCDDDDDDCCCCCCDDDDCCCCDDCCDDCCCCCCDDCCCCDDCCDDDDCCCCCCCCDDDDCCDDCCCCCCDDCCCCCCDDCCDDDDDDCCDDDDDDCCDDCCDDCCCCCCDDDDCCCCDDCCDDCCCCDDDDDDCCCCCCCCCCCCDDDDDDCCDDCCDDDDCCCCCCDDCCDDCCDDCCCCCCCCCCDDCCCCDDCCCCDDCCCCCCCCDDCCCCCCCCCCDDDDDDCCCCCCDDCCDDCCCCDDCCCCDDDDDDCCCCCCCCCCCCCCCCCCCCCCCCDDDDDDCCDDDDCCCCCCDDDDCCCCCCDDDDDDCCDDCCCCCCCCDDCCDDCCCCCCCCCCDDDDCCDDCCCCCCCCDDCCCCDDDDCCCCCCCCDDDDDDDDCCCCDDCCCCCCDDCCDDDDCCDDCCDDDDCCDDCCCCDDCCDDDDDDCCCCCCCCDDDDCCCCCCCCCCDDDDCCCCDDDDCCCCCCDDDDDDDDCCDDCCDDCCDDCCDDDDCCDDCCDDDDDDCCDDCCDDCCCCCCDDDDDDDDDDCCCCCCCCCCCCDDCCDDCCCCCCDDDDCCCCDDCCCCDDCCCCCCCCCCCCDDCCCCCCCCDDCCDDCCDDDDDDDDDDCCCCDDDDCCDDCCCCCCCCCCDDCCCCDDDDCCCCCCDDCCCCCCCCDDCCDDCCCCDDCCCCDDCCCCDDCCCCCCDDDDDDCCDDDDCCDDCCCCCCCCDDCCCCCCDDDDCCDDCCDDCCCCDDCCCCCCDDCCCCCCCCCCCCCCCCDDCCCCCCDDCCDDDDCCCCDDCCDDCCDDDDCCDDCCDDDDCCCCCCCCCCCCCCCCCCCCDDDDCCDDCCCCDDDDCCDDDDDDDDDDDDDDDDCCCCCCDDCCDDDDCCCCCCDDCCDDDDCCCCCCCCCCCCDDCCDDCCDDDDCCDDDDDDCCCCCCDDCCDDDDCCCCCCDDCCCCCCCCCCDDCCCCCCCCCCDDCCCCCCCCCCDDCCDDDDCCCCDDDDDDDDCCDDCCCCCCCCCCDDCCCCCCCCDDCCCCDDDDCCDDCCCCCCDDCCDDCCDDDDDDDDCCDDDDDDCCCCDDCCDDCCDDCCDDCCCCDDCCDDDDCCDDCCCCCCDDCCCCCCCCCCCCDDDDCCDDDDCCDDCCCCCCCCDDDDDDCCCCCCCCDDCCDDCCDDDDDDDDCCDDDDDDCCCCCCDDCCDDCCCCDDCCCCDDDDCCCCCCDDDDCCDDCCDDDDCCDDCCCCDDDDCCDDCCDDDDCCDDDDCCCCCCCCCCCCDDCCCCDDCCDDDDCCCCCCCCDDCCCCDDDDDDDDCCDDDDDDCCCCDDCCCCCCDDDDCCDDCCCCCCDDCCDDCCDDDDCCCCCCCCDDDDDDDDDDCCCCDDDDCCCCCCDDDDCCDDCCCCCCCCCCDDCCDDDDCCDDCCCCDDDDCCDDDDDDDDCCDDCCCCCCDDDDDDCCCCDDCCDDCCDDDDCCCCDDDDCCCCCCCCDDCCCCCCDDCCDDDDCCDDDDDDDDCCDDCCDDCCDDDDCCCCDDCCDDDDCCDDCCDDDDCCDDDDCCDDDDDDDDCCCCCCCCCCDDCCCCCCDDCCCCDDCCDDCCCCDDDDCCDDCCCCCCDDCCDDDDDDDDCCDDDDDDCCDDCCCCDDCCCCCCCCCCCCDDCCDDCCCCCCDDDDDDDDCCCCDDDDCCDDDDCCDDDDCCDDCCCCCCDDDDDDDDDDDDDDDDDDCCDDCCDDCCCCCCDDCCDDDDDDDDCCDDDDCCDDCCDDCCCCCCCCCCCCDDDDDDDDDDCCDDDDCCDDDDCCCCCCCCCCDDDDDDCCDDCCDDCCDDDDDDDDCCCCDDCCDDCCDDCCCCDDDDCCDDDDDDDDCCDDCCCCCCCCDDDDCCCCCCCCDDCCDDCCCCCCCCCCDDCCDDDDCCCCCCDDCCDDCCDDDDDDDDCCCCDDDDCCDDDDCCCCDDDDCCDDCCDDDDCCCCCCCCCCCCCCDDDDCCCCCCCCCCDDDDCCDDCCCCDDDDDDDDDDDDCCDDCCDDDDDDCCDDCCCCDDCCCCDDDDCCDDDDDDCCCCDDCCCCCCDDCCDDDDDDCCCCCCDDDDCCCCDDDDCCDDCCDDDDDDDDDDCCDDDDDDCCCCDDCCDDCCCCCCDDDDDDDDDDDDCCCCDDCCDDDDDDDDDDCCCCDDDDCCDDDDDDDDCCCCDDCCDDCCCCDDCCDDDDDDDDDDDDCCCCCCDDDDDDDDCCDDDDCCCCDDDDCCCCCCDDCCCCDDCCDDCCDDCCCCCCCCDDDDCCDDCCDDCCCCCCCCCCCCCCCCDDDDDDCCCCDDCCDDCCCCCCCCCCDDDDDDCCCCCCCCCCCCCCDDDDDDCCCCCCDDDDCCCCCCCCDDDDCCDDDDDDCCCCCCCCCCDDCCCCCCDDCCDDCCDDCCCCCCCCDDCCCCDDDDCCDDCCDDCCCCDDCCCCDDCCDDCCCCCCCCDDDDDDCCCCCCDDDDCCCCCCCCDDCCCCCCDDDDDDCCDDCCCCDDCCCCDDCCDDCCDDCCCCDDDDCCCCCCCCDDDDDDCCDDDDDDDDCCDDDDDDDDCCDDDDDDCCCCCCDDCCCCDDCCCCDDCCCCCCCCDDDDDDDDCCDDCCCCCCCCCCCCDDCCCCDDCCDDDDDDCCDDDDDDCCCCDDCCDDCCDDDDCCCCCCCCCCCCCCDDCCCCCCDDDDDDCCCCCCDDDDCCDDDDDDDDDDCCDDDDDDDDDDCCDDCCCCDDDDDDDDCCDDCCCCDDCCDDCCCCCCCCDDCCDDCCCCDDCCDDCCDDDDCCCCDDCCCCDDDDDDDDDDCCCCDDCCCCDDDDCCCCCCDDCCCCDDCCCCCCCCDDCCDDCCCCDDCCCCDDDDDDCCCCCCCCCCCCCCCCCCDDDDCCDDCCDDCCCCDDDDCCCCCCCCCCDDCCDDDDDDCCCCDDDDDDCCCCDDCCCCCCCCCCDDCCCCCCCCDDDDCCCCCCCCDDDDCCDDCCCCDDDDCCCCCCCCCCDDDDCCCCDDDDDDCCDDCCDDDDCCCCDDDDCCCCDDCCDDCCDDDDDDDDCCCCCCDDCCDDDDCCCCCCDDCCDDDDCCCCCCDDCCDDCCCCCCCCCCCCDDDDCCCCDDCCCCCCDDCCCCDDDDCCCCCCCCCCDDDDDDDDCCCCCCCCDDCCCCDDCCCCDDDDDDCCDDCCCCCCCCCCCCCCCCCCCCDDDDDDCCDDDDCCCCCCDDDDDDCCDDDDDDDDCCDDCCCCCCCCDDCCDDCCCCCCCCCCDDDDCCDDDDCCDDDDDDCCCCDDCCCCCCCCCCDDDDDDDDDDCCCCCCDDCCCCCCCCDDCCCCCCCCCCDDDDCCCCCCDDDDDDCCDDCCDDDDDDCCDDCCCCCCCCDDDDCCDDDDCCDDDDDDCCCCCCCCDDDDDDCCCCCCDDCCDDCCCCDDCCDDCCDDDDCCCCDDDDCCDDDDDDCCCCDDCCDDCCDDDDDDCCCCCCCCCCDDCCCCCCDDDDCCDDDDDDDDCCDDDDDDCCCCCCDDCCCCCCDDDDCCCCCCCCCCDDCCCCCCCCDDDDDDDDDDCCDDDDDDCCCCCCCCCCDDDDDDCCDDCCCCDDCCDDCCCCCCCCCCDDDDCCCCCCDDCCCCCCCCCCCCDDCCDDDDCCDDDDCCCCDDDDDDCCCCCCCCDDCCDDDDDDDDCCCCCCCCDDCCCCCCDDDDCCCCDDDDDDDDDDDDDDCCDDDDCCDDCCCCCCCCCCCCDDCCDDCCDDDDCCCCDDCCCCDDCCDDCCCCDDCCCCDDDDCCCCCCCCDDCCDDDDDDDDDDCCDDCCDDCCDDCCCCDDCCCCCCCCDDDDCCDDCCCCCCCCCCCCDDCCDDCCCCCCCCCCDDDDCCCCCCCCCCCCCCCCDDCCCCDDCCCCCCCCCCDDCCDDCCDDCCCCDDCCCCCCDDCCDDCCDDCCCCDDCCDDDDCCDDCCCCCCCCDDDDCCCCDDDDDDDDDDCCCCCCCCDDCCDDDDCCCCDDCCDDCCCCCCCCCCCCCCDDCCCCCCCCDDCCCCCCDDDDDDDDCCCCDDDDCCCCCCDDCCCCDDCCDDDDDDCCDDCCCCDDDDCCCCCCDDCCDDCCCCCCDDDDCCDDCCCCDDDDCCCCCCDDDDDDCCDDCCDDDDCCCCCCCCCCCCDDCCCCCCCCCCDDCCDDDDDDCCDDDDCCDDCCCCDDDDCCCCDDCCDDCCDDCCCCCCCCDDDDCCDDDDDDCCDDCCCCCCCCCCDDCCDDDDDDDDDDCCDDCCDDDDCCCCCCCCCCDDDDCCCCDDDDCCDDCCCCCCCCCCCCDDDDCCCCDDCCCCDDCCDDCCDDDDDDDDDDCCCCCCCCCCDDCCDDCCCCCCDDCCCCCCCCDDCCCCDDDDDDDDCCCCCCDDDDCCDDCCDDCCDDCCCCDDDDDDCCCCDDDDCCDDCCDDCCDDDDCCCCCCDDCCCCCCDDCCCCCCCCCCCCCCCCDDDDCCDDDDCCDDCCCCDDDDCCCCCCCCDDCCDDCCDDCCDDDDDDCCDDCCDDDDCCDDCCCCCCCCDDCCCCDDCCCCDDDDDDCCCCDDDDCCCCCCDDDDCCCCDDCCDDCCDDDDCCDDCCDDCCCCCCCCCCCCDDCCDDCCDDCCCCCCCCDDDDDDCCCCDDDDDDCCCCDDDDDDCCCCDDCCCCDDCCCCDDDDCCDDDDCCCCDDDDCCCCCCCCCCCCCCCCDDCCDDCCCCCCDDCCDDDDDDDDCCCCCCCCDDDDCCDDDDCCDDDDCCCCDDCCCCDDCCDDCCCCDDCCCCCCDDDDDDCCCCCCCCCCCCCCDDCCDDDDDDCCCCCCDDDDCCCCDDDDDDCCDDCCCCCCDDDDCCCCCCDDDDCCCCDDDDCCCCCCDDCCDDCCDDCCDDCCDDCCDDDDCCCCDDDDDDCCCCCCDDCCCCCCCCCCCCCCDDDDDDDDDDDDDDCCCCCCDDCCDDCCDDCCDDDDDDDDDDCCCCCCDDCCDDDDCCCCDDDDCCCCDDCCCCCCCCCCCCDDCCCCCCCCCCCCDDDDCCDDCCCCCCCCDDCCCCDDCCDDDDCCDDCCCCCCDDCCDDDDCCCCCCDDCCCCDDCCCCDDCCCCCCDDDDCCCCCCCCCCCCDDCCDDDDDDDDCCDDDDCCDDCCCCDDCCDDCCDDCCCCCCCCDDCCCCDDDDDDDDCCDDDDDDCCCCDDCCCCCCDDDDCCDDCCCCCCDDCCDDCCDDDDCCCCCCCCDDDDDDDDDDCCCCDDDDCCCCCCDDDDCCDDCCCCCCCCCCDDCCDDDDCCDDCCCCDDDDCCDDDDDDDDCCDDCCCCCCDDDDDDCCCCDDCCDDCCDDDDCCCCDDDDCCCCCCCCDDCCCCCCDDCCDDDDCCDDDDDDDDCCDDCCDDCCDDDDCCCCDDCCDDDDCCDDCCDDDDCCDDDDCCDDDDDDDDCCCCCCCCCCDDCCCCCCDDCCCCDDCCDDCCCCDDDDCCDDCCCCCCDDCCDDDDDDDDCCDDDDDDCCDDCCCCDDCCCCCCCCCCCCDDCCDDCCCCCCDDDDDDDDCCCCDDDDCCDDDDCCDDDDCCDDCCCCCCDDDDDDDDDDDDDDDDDDCCDDCCDDCCCCCCDDCCDDDDDDDDCCDDDDCCDDCCDDCCCCCCCCCCCCDDDDDDDDDDCCDDDDCCDDDDCCCCCCCCCCDDDDDDCCDDCCDDCCDDDDDDDDCCCCDDCCDDCCDDCCCCDDDDCCDDDDDDDDCCDDCCCCCCCCDDDDCCCCCCCCDDCCDDCCCCCCCCCCDDCCDDDDCCCCCCDDCCDDCCDDDDDDDDCCCCDDDDCCDDDDCCCCDDDDCCDDCCDDDDCCCCCCCCCCCCCCDDDDCCCCCCCCCCDDDDCCDDCCCCDDDDDDDDDDDDCCDDCCDDDDDDCCDDCCCCDDCCCCDDDDCCDDDDDDCCCCDDCCCCCCDDCCDDDDDDCCCCCCDDDDCCCCDDDDCCDDCCDDDDDDDDDDCCDDDDDDCCCCDDCCDDCCCCCCDDDDDDDDDDDDCCCCDDCCDDDDDDDDDDCCCCDDDDCCDDDDDDDDCCCCDDCCDDCCCCDDCCDDDDDDDDDDDDCCCCCCDDDDDDDDCCDDDDCCCCDDDDCCCCCCDDCCCCDDCCDDCCDDCCCCCCCCDDDDCCDDCCDDCCCCCCCCCCCCCCCCDDDDDDCCCCDDCCDDCCCCCCCCCCDDDDDDCCCCCCCCCCCCCCDDDDDDCCCCCCDDDDCCCCCCCCDDDDCCDDDDDDCCCCCCCCCCDDCCCCCCDDCCDDCCDDCCCCCCCCDDCCCCDDDDCCDDCCDDCCCCDDCCCCDDCCDDCCCCCCCCDDDDDDCCCCCCDDDDCCCCCCCCDDCCCCCCDDDDDDCCDDCCCCDDCCCCDDCCDDCCDDCCCCDDDDCCCCCCCCDDDDDDCCDDDDDDDDCCDDDDDDDDCCDDDDDDCCCCCCDDCCCCDDCCCCDDCCCCCCCCDDDDDDDDCCDDCCCCCCCCCCCCDDCCCCDDCCDDDDDDCCDDDDDDCCCCDDCCDDCCDDDDCCCCCCCCCCCCCCDDCCCCCCDDDDDDCCCCCCDDDDCCDDDDDDDDDDCCDDDDDDDDDDCCDDCCCCDDDDDDDDCCDDCCCCDDCCDDCCCCCCCCDDCCDDCCCCDDCCDDCCDDDDCCCCDDCCCCDDDDDDDDDDCCCCDDCCCCDDDDCCCCCCDDCCCCDDCCCCCCCCDDCCDDCCCCDDCCCCDDDDDDCCCCCCCCCCCCCCCCCCDDDDCCDDCCDDCCCCDDDDCCCCCCCCCCDDCCDDDDDDCCCCDDDDDDCCCCDDCCCCCCCCCCDDCCCCCCCCDDDDCCCCCCCCDDDDCCDDCCCCDDDDCCCCCCCCCCDDDDCCCCDDDDDDCCDDCCDDDDCCCCDDDDCCCCDDCCDDCCDDDDDDDDCCCCCCDDCCDDDDCCCCCCDDCCDDDDCCCCCCDDCCDDCCCCCCCCCCCCDDDDCCCCDDCCCCCCDDCCCCDDDDCCCCCCCCCCDDDDDDDDCCCCCCCCDDCCCCDDCCCCDDDDDDCCDDCCCCCCCCCCCCCCCCCCCCDDDDDDCCDDDDCCCCCCDDDDDDCCDDDDDDDDCCDDCCCCCCCCDDCCDDCCCCCCCCCCDDDDCCDDDDCCDDDDDDCCCCDDCCCCCCCCCCDDDDDDDDDDCCCCCCDDCCCCCCCCDDCCCCCCCCCCDDDDCCCCCCDDDDDDCCDDCCDDDDDDCCDDCCCCCCCCDDDDCCDDDDCCDDDDDDCCCCCCCCDDDDDDCCCCCCDDCCDDCCCCDDCCDDCCDDDDCCCCDDDDCCDDDDDDCCCCDDCCDDCCDDDDDDCCCCCCCCCCDDCCCCCCDDDDCCDDDDDDDDCCDDDDDDCCCCCCDDCCCCCCDDDDCCCCCCCCCCDDCCCCCCCCDDDDDDDDDDCCDDDDDDCCCCCCCCCCDDDDDDCCDDCCCCDDCCDDCCCCCCCCCCDDDDCCCCCCDDCCCCCCCCCCCCDDCCDDDDCCDDDDCCCCDDDDDDCCCCCCCCDDCCDDDDDDDDCCCCCCCCDDCCCCCCDDDDCCCCDDDDDDDDDDDDDDCCDDDDCCDDCCCCCCCCCCCCDDCCDDCCDDDDCCCCDDCCCCDDCCDDCCCCDDCCCCDDDDCCCCCCCCDDCCDDDDDDDDDDCCDDCCDDCCDDCCCCDDCCCCCCCCDDDDCCDDCCCCCCCCCCCCDDCCDDCCCCCCCCCCDDDDCCCCCCCCCCCCCCCCDDCCCCDDCCCCCCCCCCDDCCDDCCDDCCCCDDCCCCCCDDCCDDCCDDCCCCDDCCDDDDCCDDCCCCCCCCDDDDCCCCDDDDDDDDDDCCCCCCCCDDCCDDDDCCCCDDCCDDCCCCCCCCCCCCCCDDCCCCCCCCDDCCCCCCDDDDDDDDCCCCDDDDCCCCCCDDCCCCDDCCDDDDDDCCDDCCCCDDDDCCCCCCDDCCDDCCCCCCDDDDCCDDCCCCDDDDCCCCCCDDDDDDCCDDCCDDDDCCCCCCCCCCCCDDCCCCCCCCCCDDCCDDDDDDCCDDDDCCDDCCCCDDDDCCCCDDCCDDCCDDCCCCCCCCDDDDCCDDDDDDCCDDCCCCCCCCCCDDCCDDDDDDDDDDCCDDCCDDDDCCCCCCCCCCDDDDCCCCDDDDCCDDCCCCCCCCCCCCDDDDCCCCDDCCCCDDCCDDCCDDDDDDDDDDCCCCCCCCCCDDCCDDCCCCCCDDCCCCCCCCDDCCCCDDDDDDDDCCCCCCDDDDCCDDCCDDCCDDCCCCDDDDDDCCCCDDDDCCDDCCDDCCDDDDCCCCCCDDCCCCCCDDCCCCCCCCCCCCCCCCDDDDCCDDDDCCDDCCCCDDDDCCCCCCCCDDCCDDCCDDCCDDDDDDCCDDCCDDDDCCDDCCCCCCCCDDCCCCDDCCCCDDDDDDCCCCDDDDCCCCCCDDDDCCCCDDCCDDCCDDDDCCDDCCDDCCCCCCCCCCCCDDCCDDCCDDCCCCCCCCDDDDDDCCCCDDDDDDCCCCDDDDDDCCCCDDCCCCDDCCCCDDDDCCDDDDCCCCDDDDCCCCCCCCCCCCCCCCDDCCDDCCCCCCDDCCDDDDDDDDCCCCCCCCDDDDCCDDDDCCDDDDCCCCDDCCCCDDCCDDCCCCDDCCCCCCDDDDDDCCCCCCCCCCCCCCDDCCDDDDDDCCCCCCDDDDCCCCDDDDDDCCDDCCCCCCDDDDCCCCCCDDDDCCCCDDDDCCCCCCDDCCDDCCDDCCDDCCDDCCDDDDCCCCDDDDDDCCCCCCDDCCCCCCCCCCCCCCDDDDDDDDDDDDDDCCCCCCDDCCDDCCDDCCDDDDDDDDDDCCCCCCDDCCDDDDCCCCDDDDCCCCDDCCCCCCCCCCCCDDCCCCCCCCCCCCDDDDCCDDCCCCCCCCDDCCCCDDCCDDDDCCDDCCCCCCDDCCDDDDCCCCCCDDCCCCDDCCCCDDCCCCCCDDDDCCCCCCCCCCCCDDCCDDDDDDDDCCDDDDCCDDCCCCDDCCDDCCDDDDDDCCDDDDCCCCCCDDCCCCDDDDDDDDCCDDCCDDCCDDDDCCDDDDDDDDDDCCCCCCDDCCCCCCCCCCCCCCCCDDCCCCCCDDDDDDCCCCDDDDCCDDCCCCDDDDDDCCDDDDDDCCCCDDDDDDCCCCCCCCCCDDDDCCDDDDCCCCDDDDCCCCCCDDDDCCDDCCCCDDDDCCCCDDDDCCCCDDDDDDDDDDDDCCDDDDCCCCCCCCDDCCCCDDCCCCDDCCCCDDCCCCDDCCDDDDDDCCDDCCCCCCDDDDDDDDDDCCDDDDDDCCCCCCDDCCDDCCDDCCDDDDCCDDCCCCCCDDDDDDDDCCDDCCCCDDCCCCCCDDDDCCDDDDDDCCDDDDDDCCCCCCCCDDCCCCDDCCCCDDCCDDDDDDDDCCDDDDCCCCDDDDDDCCDDDDCCDDDDDDDDDDCCDDDDDDCCCCDDCCDDCCDDCCDDDDCCDDDDDDCCCCDDCCDDCCDDDDCCCCCCCCDDDDDDDDCCCCCCDDCCCCCCCCDDDDDDDDDDDDCCDDDDDDCCCCCCDDCCDDCCCCDDCCDDDDCCCCCCCCDDDDDDCCDDCCCCCCCCDDDDDDDDCCDDCCCCDDCCDDCCCCDDCCCCCCCCDDDDCCCCDDDDCCCCCCDDCCCCDDCCCCCCCCCCCCDDDDDDCCCCDDCCCCDDCCCCCCDDCCCCDDCCCCDDCCCCDDCCCCDDDDDDDDDDCCCCDDCCDDCCDDCCCCCCDDDDCCDDDDCCCCCCDDDDDDDDDDDDDDCCDDCCDDDDCCDDDDCCDDDDDDDDDDCCCCCCCCCCCCDDDDDDDDCCCCCCCCDDCCCCDDCCDDCCDDDDCCCCDDDDCCDDDDDDCCCCCCCCCCDDDDDDCCDDDDCCCCDDCCCCCCCCDDCCDDCCDDDDCCCCDDDDCCDDDDCCCCDDCCCCDDDDDDCCCCCCDDCCDDCCDDDDDDCCDDDDCCCCCCDDDDCCCCDDCCCCCCCCCCDDDDDDDDDDDDDDDDCCCCCCCCDDCCCCDDCCCCCCCCDDCCCCDDDDCCDDCCCCDDCCDDCCDDCCDDCCCCDDDDDDDDCCCCCCCCCCDDDDCCDDCCCCDDDDDDCCCCCCDDCCCCCCDDDDDDDDCCDDDDDDCCCCDDCCDDDDCCDDDDDDCCCCCCCCCCCCCCCCDDCCCCCCCCCCDDCCCCDDCCDDCCCCDDDDCCCCDDCCCCDDCCCCCCCCCCDDDDCCDDCCDDDDCCDDCCDDCCCCCCCCCCCCCCDDCCDDDDDDCCCCDDCCDDDDDDDDCCCCDDCCCCCCCCCCCCCCCCDDDDCCCCDDCCDDCCCCCCDDDDCCCCCCCCDDDDCCDDDDDDCCCCCCDDDDDDDDCCDDCCCCDDCCCCDDDDDDDDDDCCDDCCCCCCDDDDDDDDCCCCDDCCDDDDDDCCCCDDCCDDCCDDDDCCCCDDCCDDDDDDDDCCDDCCCCDDDDCCDDDDDDCCCCCCCCDDCCDDDDCCDDCCCCCCCCCCCCCCCCDDCCCCDDCCCCCCCCCCDDDDDDDDDDDDCCDDDDDDCCCCCCDDDDDDDDCCDDDDDDCCDDCCDDCCDDCCCCDDCCCCCCCCDDDDCCCCCCDDCCDDDDCCCCCCDDDDCCCCCCDDDDDDCCCCCCCCCCCCCCCCDDDDCCDDDDDDCCCCDDCCCCDDCCDDCCCCCCCCCCCCCCCCDDCCDDCCCCDDCCDDDDCCDDDDCCCCCCDDDDCCCCDDCCDDDDDDCCDDCCDDDDCCCCDDCCCCDDCCDDCCDDCCCCCCCCDDDDCCCCCCCCDDCCCCCCDDDDDDDDCCCCDDDDCCCCCCDDCCCCDDCCCCCCDDCCDDCCDDDDCCCCCCCCDDCCCCCCCCCCDDCCDDDDCCCCDDDDDDCCCCDDDDDDCCDDCCDDDDCCCCCCCCCCCCDDCCDDCCCCCCDDCCDDDDDDCCDDDDCCDDCCDDDDDDCCCCDDCCDDDDDDCCDDCCCCDDDDCCDDDDDDCCDDCCCCDDCCCCDDCCDDCCDDDDCCCCDDCCCCCCDDCCCCDDDDCCCCCCDDDDCCDDDDDDCCDDCCCCDDDDDDDDCCCCCCDDCCDDDDCCDDCCCCCCDDDDDDDDDDDDCCDDCCCCDDDDDDDDDDCCCCDDDDCCDDDDDDDDCCCCDDDDDDCCCCDDCCDDDDDDDDDDDDDDCCCCDDDDDDDDCCDDDDCCDDDDCCCCCCCCDDCCDDDDDDCCCCDDCCCCCCCCCCDDDDDDCCCCCCDDDDCCDDDDDDCCDDCCDDDDDDDDDDCCDDCCDDCCDDDDCCDDCCCCCCDDDDDDDDDDCCCCDDDDCCDDDDDDDDDDCCCCDDDDCCDDDDDDDDCCCCDDDDDDCCCCDDCCDDDDCCDDDDDDDDCCCCDDDDCCDDCCDDDDCCDDCCDDCCCCCCDDCCCCDDCCDDCCDDCCCCCCCCDDDDCCCCCCCCCCCCCCDDCCCCCCCCDDDDDDCCCCDDDDDDCCDDCCCCCCDDCCCCCCCCCCCCCCDDCCDDDDDDCCCCCCDDCCCCCCCCCCDDDDCCCCDDCCCCCCCCCCCCDDCCCCDDCCCCDDCCDDCCCCCCDDCCCCCCCCDDCCDDCCDDCCCCDDCCCCDDCCDDCCCCCCDDDDDDDDCCCCCCDDDDCCCCCCDDCCCCCCCCDDCCCCCCCCCCCCDDCCCCDDCCCCCCDDCCCCDDDDDDCCCCCCDDDDDDDDDDDDCCDDCCDDDDDDDDCCDDDDDDCCCCCCDDCCCCDDCCCCDDCCCCCCCCDDDDDDDDCCDDCCCCDDCCCCCCDDDDDDCCCCDDDDDDCCDDDDDDCCCCDDCCDDCCDDDDCCCCCCCCCCCCCCDDCCCCDDDDDDDDCCCCCCDDDDDDCCCCDDCCDDCCDDCCDDDDCCCCDDCCCCDDCCDDDDCCDDCCCCDDCCDDCCCCCCDDCCDDCCCCCCCCDDDDDDDDDDCCDDDDDDCCDDCCCCDDCCCCDDCCDDDDCCDDDDCCCCCCDDDDCCCCDDCCCCDDDDDDCCDDDDCCCCCCDDDDDDCCDDCCDDCCCCCCCCDDCCCCCCCCCCCCDDCCCCCCCCDDCCCCDDDDDDCCCCCCDDCCDDCCCCCCCCDDDDCCDDDDCCDDDDCCCCDDDDCCDDCCCCDDCCCCDDCCCCCCDDCCDDCCCCCCCCDDCCDDDDCCCCDDDDDDCCDDDDDDCCDDCCCCDDCCCCCCCCCCDDCCDDDDCCCCCCDDDDDDCCCCDDCCCCCCCCDDCCDDDDCCCCCCDDCCCCDDCCCCCCCCDDCCDDCCCCDDCCCCDDCCDDCCDDCCDDDDCCCCCCCCCCCCCCDDCCCCCCCCDDDDDDCCDDCCDDDDDDCCCCCCCCDDDDCCDDCCDDDDCCCCCCCCCCDDCCDDCCCCDDCCDDDDDDDDCCDDDDCCDDDDCCCCDDCCCCDDCCDDDDDDDDCCCCDDCCDDCCCCDDCCCCDDCCDDDDCCCCCCCCDDCCCCDDDDDDDDCCDDCCDDCCDDDDCCDDCCDDDDDDDDCCCCCCDDCCDDCCDDDDCCCCCCCCDDDDDDDDDDCCCCDDDDCCDDCCDDCCCCDDCCCCCCCCCCDDCCDDCCDDDDCCCCDDDDDDDDCCDDDDCCDDCCCCCCDDDDCCCCDDDDCCDDCCDDDDCCCCCCDDCCCCCCCCCCCCCCCCDDDDCCDDCCDDDDCCDDCCCCDDDDCCCCDDCCCCCCCCDDCCDDCCCCCCDDDDCCCCCCCCCCCCCCCCCCCCDDCCCCCCDDCCCCCCCCCCCCCCDDCCDDCCCCCCCCDDDDCCCCCCCCCCDDCCCCDDCCCCCCDDCCCCDDCCDDCCCCCCDDDDDDCCCCCCCCCCCCCCDDDDDDCCDDDDCCCCCCDDCCCCDDDDDDDDCCDDCCDDCCDDDDCCDDDDDDDDDDCCCCCCDDCCCCCCCCCCCCCCCCDDCCCCCCDDDDDDCCCCDDDDCCDDCCCCDDDDDDCCDDDDDDCCCCDDDDDDCCCCCCCCCCDDDDCCDDDDCCCCDDDDCCCCCCDDDDCCDDCCCCDDDDCCCCDDDDCCCCDDDDDDDDDDDDCCDDDDCCCCCCCCDDCCCCDDCCCCDDCCCCDDCCCCDDCCDDDDDDCCDDCCCCCCDDDDDDDDDDCCDDDDDDCCCCCCDDCCDDCCDDCCDDDDCCDDCCCCCCDDDDDDDDCCDDCCCCDDCCCCCCDDDDCCDDDDDDCCDDDDDDCCCCCCCCDDCCCCDDCCCCDDCCDDDDDDDDCCDDDDCCCCDDDDDDCCDDDDCCDDDDDDDDDDCCDDDDDDCCCCDDCCDDCCDDCCDDDDCCDDDDDDCCCCDDCCDDCCDDDDCCCCCCCCDDDDDDDDCCCCCCDDCCCCCCCCDDDDDDDDDDDDCCDDDDDDCCCCCCDDCCDDCCCCDDCCDDDDCCCCCCCCDDDDDDCCDDCCCCCCCCDDDDDDDDCCDDCCCCDDCCDDCCCCDDCCCCCCCCDDDDCCCCDDDDCCCCCCDDCCCCDDCCCCCCCCCCCCDDDDDDCCCCDDCCCCDDCCCCCCDDCCCCDDCCCCDDCCCCDDCCCCDDDDDDDDDDCCCCDDCCDDCCDDCCCCCCDDDDCCDDDDCCCCCCDDDDDDDDDDDDDDCCDDCCDDDDCCDDDDCCDDDDDDDDDDCCCCCCCCCCCCDDDDDDDDCCCCCCCCDDCCCCDDCCDDCCDDDDCCCCDDDDCCDDDDDDCCCCCCCCCCDDDDDDCCDDDDCCCCDDCCCCCCCCDDCCDDCCDDDDCCCCDDDDCCDDDDCCCCDDCCCCDDDDDDCCCCCCDDCCDDCCDDDDDDCCDDDDCCCCCCDDDDCCCCDDCCCCCCCCCCDDDDDDDDDDDDDDDDCCCCCCCCDDCCCCDDCCCCCCCCDDCCCCDDDDCCDDCCCCDDCCDDCCDDCCDDCCCCDDDDDDDDCCCCCCCCCCDDDDCCDDCCCCDDDDDDCCCCCCDDCCCCCCDDDDDDDDCCDDDDDDCCCCDDCCDDDDCCDDDDDDCCCCCCCCCCCCCCCCDDCCCCCCCCCCDDCCCCDDCCDDCCCCDDDDCCCCDDCCCCDDCCCCCCCCCCDDDDCCDDCCDDDDCCDDCCDDCCCCCCCCCCCCCCDDCCDDDDDDCCCCDDCCDDDDDDDDCCCCDDCCCCCCCCCCCCCCCCDDDDCCCCDDCCDDCCCCCCDDDDCCCCCCCCDDDDCCDDDDDDCCCCCCDDDDDDDDCCDDCCCCDDCCCCDDDDDDDDDDCCDDCCCCCCDDDDDDDDCCCCDDCCDDDDDDCCCCDDCCDDCCDDDDCCCCDDCCDDDDDDDDCCDDCCCCDDDDCCDDDDDDCCCCCCCCDDCCDDDDCCDDCCCCCCCCCCCCCCCCDDCCCCDDCCCCCCCCCCDDDDDDDDDDDDCCDDDDDDCCCCCCDDDDDDDDCCDDDDDDCCDDCCDDCCDDCCCCDDCCCCCCCCDDDDCCCCCCDDCCDDDDCCCCCCDDDDCCCCCCDDDDDDCCCCCCCCCCCCCCCCDDDDCCDDDDDDCCCCDDCCCCDDCCDDCCCCCCCCCCCCCCCCDDCCDDCCCCDDCCDDDDCCDDDDCCCCCCDDDDCCCCDDCCDDDDDDCCDDCCDDDDCCCCDDCCCCDDCCDDCCDDCCCCCCCCDDDDCCCCCCCCDDCCCCCCDDDDDDDDCCCCDDDDCCCCCCDDCCCCDDCCCCCCDDCCDDCCDDDDCCCCCCCCDDCCCCCCCCCCDDCCDDDDCCCCDDDDDDCCCCDDDDDDCCDDCCDDDDCCCCCCCCCCCCDDCCDDCCCCCCDDCCDDDDDDCCDDDDCCDDCCDDDDDDCCCCDDCCDDDDDDCCDDCCCCDDDDCCDDDDDDCCDDCCCCDDCCCCDDCCDDCCDDDDCCCCDDCCCCCCDDCCCCDDDDCCCCCCDDDDCCDDDDDDCCDDCCCCDDDDDDDDCCCCCCDDCCDDDDCCDDCCCCCCDDDDDDDDDDDDCCDDCCCCDDDDDDDDDDCCCCDDDDCCDDDDDDDDCCCCDDDDDDCCCCDDCCDDDDDDDDDDDDDDCCCCDDDDDDDDCCDDDDCCDDDDCCCCCCCCDDCCDDDDDDCCCCDDCCCCCCCCCCDDDDDDCCCCCCDDDDCCDDDDDDCCDDCCDDDDDDDDDDCCDDCCDDCCDDDDCCDDCCCCCCDDDDDDDDDDCCCCDDDDCCDDDDDDDDDDCCCCDDDDCCDDDDDDDDCCCCDDDDDDCCCCDDCCDDDDCCDDDDDDDDCCCCDDDDCCDDCCDDDDCCDDCCDDCCCCCCDDCCCCDDCCDDCCDDCCCCCCCCDDDDCCCCCCCCCCCCCCDDCCCCCCCCDDDDDDCCCCDDDDDDCCDDCCCCCCDDCCCCCCCCCCCCCCDDCCDDDDDDCCCCCCDDCCCCCCCCCCDDDDCCCCDDCCCCCCCCCCCCDDCCCCDDCCCCDDCCDDCCCCCCDDCCCCCCCCDDCCDDCCDDCCCCDDCCCCDDCCDDCCCCCCDDDDDDDDCCCCCCDDDDCCCCCCDDCCCCCCCCDDCCCCCCCCCCCCDDCCCCDDCCCCCCDDCCCCDDDDDDCCCCCCDDDDDDDDDDDDCCDDCCDDDDDDDDCCDDDDDDCCCCCCDDCCCCDDCCCCDDCCCCCCCCDDDDDDDDCCDDCCCCDDCCCCCCDDDDDDCCCCDDDDDDCCDDDDDDCCCCDDCCDDCCDDDDCCCCCCCCCCCCCCDDCCCCDDDDDDDDCCCCCCDDDDDDCCCCDDCCDDCCDDCCDDDDCCCCDDCCCCDDCCDDDDCCDDCCCCDDCCDDCCCCCCDDCCDDCCCCCCCCDDDDDDDDDDCCDDDDDDCCDDCCCCDDCCCCDDCCDDDDCCDDDDCCCCCCDDDDCCCCDDCCCCDDDDDDCCDDDDCCCCCCDDDDDDCCDDCCDDCCCCCCCCDDCCCCCCCCCCCCDDCCCCCCCCDDCCCCDDDDDDCCCCCCDDCCDDCCCCCCCCDDDDCCDDDDCCDDDDCCCCDDDDCCDDCCCCDDCCCCDDCCCCCCDDCCDDCCCCCCCCDDCCDDDDCCCCDDDDDDCCDDDDDDCCDDCCCCDDCCCCCCCCCCDDCCDDDDCCCCCCDDDDDDCCCCDDCCCCCCCCDDCCDDDDCCCCCCDDCCCCDDCCCCCCCCDDCCDDCCCCDDCCCCDDCCDDCCDDCCDDDDCCCCCCCCCCCCCCDDCCCCCCCCDDDDDDCCDDCCDDDDDDCCCCCCCCDDDDCCDDCCDDDDCCCCCCCCCCDDCCDDCCCCDDCCDDDDDDDDCCDDDDCCDDDDCCCCDDCCCCDDCCDDDDDDDDCCCCDDCCDDCCCCDDCCCCDDCCDDDDCCCCCCCCDDCCCCDDDDDDDDCCDDCCDDCCDDDDCCDDCCDDDDDDDDCCCCCCDDCCDDCCDDDDCCCCCCCCDDDDDDDDDDCCCCDDDDCCDDCCDDCCCCDDCCCCCCCCCCDDCCDDCCDDDDCCCCDDDDDDDDCCDDDDCCDDCCCCCCDDDDCCCCDDDDCCDDCCDDDDCCCCCCDDCCCCCCCCCCCCCCCCDDDDCCDDCCDDDDCCDDCCCCDDDDCCCCDDCCCCCCCCDDCCDDCCCCCCDDDDCCCCCCCCCCCCCCCCCCCCDDCCCCCCDDCCCCCCCCCCCCCCDDCCDDCCCCCCCCDDDDCCCCCCCCCCDDCCCCDDCCCCCCDDCCCCDDCCDDCCCCCCDDDDDDCCCCCCCCCCCCCCDDDDDDCCDDCCCCCCDDCCCCDDCCDDDDDDDDDDCCCCCCDDCCDDCCDDDDDDDDCCDDCCDDDDCCDDCCDDCCCCDDDDDDDDDDCCCCDDCCCCDDDDDDDDCCDDDDDDDDDDDDDDDDDDCCDDCCDDDDDDDDDDCCDDDDCCCCDDCCDDCCDDDDCCDDDDDDDDDDDDDDDDCCDDDDDDCCDDDDDDDDDDDDDDDDDDDDDDCCCCDDDDDDDDDDCCCCDDDDDDDDDDDDCCDDDDDDDDCCDDDDDDDDDDDDCCDDCCDDDDCCCCCCDDCCDDDDCCDDDDDDDDDDDDDDCCDDDDCCCCCCDDDDDDDDDDDDCCDDCCCCDDCCDDCCDDDDCCCCDDCCDDDDDDCCDDDDDDCCDDDDDDCCCCDDDDDDDDCCCCDDCCDDDDDDDDDDDDDDDDDDCCDDDDCCDDDDDDDDDDDDCCDDCCDDDDDDDDDDDDCCCCDDDDCCCCDDDDDDDDCCDDCCDDCCCCCCCCDDDDDDDDDDDDDDDDDDDDCCDDCCCCCCDDDDCCDDDDDDDDDDDDDDCCCCCCDDDDDDDDDDCCCCDDCCDDDDDDDDDDDDDDDDCCDDDDDDDDCCCCDDDDDDCCDDDDCCDDDDCCDDDDDDDDDDDDDDCCDDDDCCDDDDDDCCDDDDDDCCDDCCDDDDDDDDDDDDDDCCCCDDDDDDCCDDCCDDDDDDCCDDDDDDCCCCDDCCDDCCDDDDCCCCDDCCCCCCDDDDDDDDDDDDDDDDCCDDDDDDDDDDDDCCDDCCDDCCDDDDDDCCCCDDCCDDCCDDCCCCDDCCCCDDCCDDDDCCDDCCDDCCDDDDDDDDDDCCDDDDDDDDCCDDDDDDDDDDCCDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDCCDDCCDDDDDDDDCCDDDDDDDDCCDDDDDDDDCCCCDDDDDDDDDDDDDDDDDDDDCCDDDDCCDDCCDDCCDDDDDDDDCCDDDDDDDDDDCCDDDDCCDDCCDDCCCCCCDDCCDDDDCCDDCCDDDDCCDDDDDDCCCCCCDDDDDDCCCCDDDDDDDDCCCCDDCCDDCCDDDDCCDDDDDDDDCCCCCCDDDDDDCCDDDDDDDDDDDDCCCCCCCCDDCCDDCCCCCCDDDDCCDDDDDDCCCCDDCCDDDDCCCCCCDDCCCCDDCCDDDDCCDDDDDDCCDDDDCCDDCCCCCCDDCCCCDDCCDDDDCCCCDDCCCCCCCCDDDDDDDDDDCCDDDDDDDDCCDDDDDDDDDDCCCCCCDDCCCCDDCCDDCCCCCCCCDDCCCCDDDDDDCCCCDDDDCCDDCCDDDDDDDDDDDDDDDDCCCCCCCCCCDDDDDDDDDDCCDDDDDDCCCCCCCCDDCCCCDDCCDDCCCCCCDDDDCCDDCCCCDDCCDDDDCCDDDDDDDDDDCCCCDDDDDDDDDDDDDDCCDDDDDDCCDDDDDDCCCCDDDDCCCCDDDDCCCCDDDDCCCCCCDDDDDDDDCCDDCCDDDDCCCCCCDDDDCCDDCCDDDDCCDDDDCCCCDDDDDDDDDDCCCCDDDDDDCCDDDDDDCCDDDDDDCCCCCCCCCCDDCCDDDDCCCCCCCCDDDDCCCCCCCCDDDDCCDDDDDDCCCCCCCCDDDDCCDDDDDDCCDDDDDDCCCCDDDDDDCCCCCCDDCCDDCCDDCCDDDDDDDDCCCCDDCCCCCCDDCCDDDDCCCCCCDDDDDDCCCCDDDDDDDDCCDDDDDDDDDDCCCCDDDDCCDDCCDDCCDDDDCCDDDDCCCCCCCCDDDDDDDDDDDDDDDDCCDDDDDDDDDDDDDDDDCCCCDDDDCCCCDDCCCCDDCCCCCCCCDDDDCCDDCCDDCCCCDDCCCCCCDDDDDDDDCCDDDDDDDDDDDDDDCCCCDDCCDDCCCCDDCCCCCCCCCCCCCCDDCCCCDDDDDDDDDDCCCCDDDDDDCCDDDDDDDDDDDDDDDDDDDDCCCCCCCCDDDDDDCCDDDDCCDDDDCCDDCCDDCCDDCCDDDDCCCCCCDDDDDDDDDDDDDDCCDDDDDDDDCCDDDDCCDDDDDDDDDDCCCCCCCCCCCCDDDDDDDDDDCCDDCCDDDDCCDDCCDDCCDDDDCCCCDDDDDDCCDDDDCCDDCCCCCCDDDDDDCCDDDDDDCCDDDDCCCCDDDDCCDDCCDDDDCCCCDDDDCCDDDDCCCCDDCCCCDDDDDDCCDDCCDDCCDDCCDDDDDDCCDDDDCCCCDDDDCCDDDDDDCCCCDDDDCCDDDDDDDDDDCCCCCCCCCCCCDDDDDDDDDDCCDDCCDDDDCCDDCCDDCCDDDDCCCCDDDDDDCCDDDDCCDDCCCCCCCCDDDDCCDDDDDDCCDDDDCCCCDDDDCCDDCCDDDDCCCCDDDDCCDDDDCCCCDDCCCCDDDDDDCCDDCCDDCCDDCCDDDDDDCCDDDDCCCCCCDDDDCCCCDDCCCCCCDDDDDDCCDDDDDDDDDDDDCCCCCCCCDDDDCCDDCCCCCCCCDDCCCCDDDDCCDDCCCCDDCCCCCCDDCCDDCCDDDDDDDDDDCCCCCCDDCCCCDDCCDDCCCCDDDDCCCCCCCCDDCCDDCCDDDDDDDDCCDDDDDDCCCCDDCCDDDDCCDDDDDDDDDDDDCCCCCCCCCCDDCCCCCCCCDDDDCCCCDDCCDDCCCCDDDDCCCCDDCCCCDDCCCCCCCCCCDDDDDDDDCCDDCCCCDDDDDDDDCCCCCCCCDDCCDDCCDDDDDDDDCCCCCCDDDDDDDDDDCCCCDDDDCCDDCCCCCCCCDDDDCCCCDDCCDDCCDDCCDDDDCCCCCCDDDDCCCCDDDDDDCCCCDDDDDDDDCCCCDDDDCCDDCCCCDDDDDDDDDDDDDDCCDDCCDDDDDDDDCCCCDDCCDDDDDDCCDDDDCCCCCCDDDDCCCCDDCCDDDDDDDDDDDDDDCCDDDDCCDDDDDDCCCCCCDDDDCCDDCCDDDDCCDDDDCCDDDDCCDDDDDDDDCCDDDDCCDDDDCCDDCCCCDDCCDDDDCCCCCCDDDDCCCCCCDDCCDDDDCCDDDDCCCCDDDDDDCCCCDDDDCCDDDDCCCCDDCCDDDDDDDDCCDDDDDDDDCCCCCCDDDDDDDDDDCCCCDDCCDDCCCCCCDDDDDDDDCCCCDDDDDDDDDDCCDDDDCCDDCCCCCCDDDDDDDDDDDDDDDDDDCCCCDDDDCCCCCCDDCCDDDDDDDDCCDDCCCCDDDDDDCCCCCCCCDDDDDDDDDDDDCCCCDDCCCCDDDDCCCCCCCCDDDDDDDDCCCCCCDDCCDDCCDDDDDDDDDDCCCCDDDDCCCCDDDDCCCCCCDDCCCCDDCCCCCCCCDDDDCCDDCCCCDDCCDDCCCCCCDDDDDDCCCCDDCCCCCCDDDDDDCCDDDDDDDDCCCCDDCCCCDDDDCCCCDDDDDDDDCCDDDDCCCCCCCCDDCCDDDDDDCCCCCCCCDDDDDDCCDDCCCCDDDDCCDDDDDDCCDDCCCCDDCCDDDDDDDDCCCCCCCCCCCCCCCCDDDDCCDDDDDDCCDDDDCCDDDDCCCCDDCCCCCCDDCCCCCCCCCCCCCCCCDDCCCCCCDDDDCCCCCCCCCCCCDDCCCCDDDDDDCCCCDDDDDDDDDDDDDDCCCCCCCCCCDDDDCCCCDDCCCCDDDDCCDDCCCCDDCCDDCCCCDDDDCCCCDDDDCCCCDDDDDDDDDDDDCCCCDDCCCCCCCCDDDDCCCCDDCCCCCCDDDDCCDDCCCCDDDDCCDDCCCCDDDDCCDDCCCCDDDDCCDDCCCCCCDDDDDDCCDDDDDDCCDDCCDDCCDDCCDDCCCCCCDDDDDDCCCCCCCCCCDDDDDDDDCCCCCCCCDDCCDDCCCCCCCCDDDDCCDDDDDDCCDDDDDDCCDDCCCCCCDDCCCCDDCCDDDDDDDDDDCCCCCCDDCCDDCCDDDDDDDDCCDDCCDDDDCCDDCCDDCCCCDDDDDDDDDDCCCCDDCCCCDDDDDDDDCCDDDDDDDDDDDDDDDDDDCCDDCCDDDDDDDDDDCCDDDDCCCCDDCCDDCCDDDDCCDDDDDDDDDDDDDDDDCCDDDDDDCCDDDDDDDDDDDDDDDDDDDDDDCCCCDDDDDDDDDDCCCCDDDDDDDDDDDDCCDDDDDDDDCCDDDDDDDDDDDDCCDDCCDDDDCCCCCCDDCCDDDDCCDDDDDDDDDDDDDDCCDDDDCCCCCCDDDDDDDDDDDDCCDDCCCCDDCCDDCCDDDDCCCCDDCCDDDDDDCCDDDDDDCCDDDDDDCCCCDDDDDDDDCCCCDDCCDDDDDDDDDDDDDDDDDDCCDDDDCCDDDDDDDDDDDDCCDDCCDDDDDDDDDDDDCCCCDDDDCCCCDDDDDDDDCCDDCCDDCCCCCCCCDDDDDDDDDDDDDDDDDDDDCCDDCCCCCCDDDDCCDDDDDDDDDDDDDDCCCCCCDDDDDDDDDDCCCCDDCCDDDDDDDDDDDDDDDDCCDDDDDDDDCCCCDDDDDDCCDDDDCCDDDDCCDDDDDDDDDDDDDDCCDDDDCCDDDDDDCCDDDDDDCCDDCCDDDDDDDDDDDDDDCCCCDDDDDDCCDDCCDDDDDDCCDDDDDDCCCCDDCCDDCCDDDDCCCCDDCCCCCCDDDDDDDDDDDDDDDDCCDDDDDDDDDDDDCCDDCCDDCCDDDDDDCCCCDDCCDDCCDDCCCCDDCCCCDDCCDDDDCCDDCCDDCCDDDDDDDDDDCCDDDDDDDDCCDDDDDDDDDDCCDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDCCDDCCDDDDDDDDCCDDDDDDDDCCDDDDDDDDCCCCDDDDDDDDDDDDDDDDDDDDCCDDDDCCDDCCDDCCDDDDDDDDCCDDDDDDDDDDCCDDDDCCDDCCDDCCCCCCDDCCDDDDCCDDCCDDDDCCDDDDDDCCCCCCDDDDDDCCCCDDDDDDDDCCCCDDCCDDCCDDDDCCDDDDDDDDCCCCCCDDDDDDCCDDDDDDDDDDDDCCCCCCCCDDCCDDCCCCCCDDDDCCDDDDDDCCCCDDCCDDDDCCCCCCDDCCCCDDCCDDDDCCDDDDDDCCDDDDCCDDCCCCCCDDCCCCDDCCDDDDCCCCDDCCCCCCCCDDDDDDDDDDCCDDDDDDDDCCDDDDDDDDDDCCCCCCDDCCCCDDCCDDCCCCCCCCDDCCCCDDDDDDCCCCDDDDCCDDCCDDDDDDDDDDDDDDDDCCCCCCCCCCDDDDDDDDDDCCDDDDDDCCCCCCCCDDCCCCDDCCDDCCCCCCDDDDCCDDCCCCDDCCDDDDCCDDDDDDDDDDCCCCDDDDDDDDDDDDDDCCDDDDDDCCDDDDDDCCCCDDDDCCCCDDDDCCCCDDDDCCCCCCDDDDDDDDCCDDCCDDDDCCCCCCDDDDCCDDCCDDDDCCDDDDCCCCDDDDDDDDDDCCCCDDDDDDCCDDDDDDCCDDDDDDCCCCCCCCCCDDCCDDDDCCCCCCCCDDDDCCCCCCCCDDDDCCDDDDDDCCCCCCCCDDDDCCDDDDDDCCDDDDDDCCCCDDDDDDCCCCCCDDCCDDCCDDCCDDDDDDDDCCCCDDCCCCCCDDCCDDDDCCCCCCDDDDDDCCCCDDDDDDDDCCDDDDDDDDDDCCCCDDDDCCDDCCDDCCDDDDCCDDDDCCCCCCCCDDDDDDDDDDDDDDDDCCDDDDDDDDDDDDDDDDCCCCDDDDCCCCDDCCCCDDCCCCCCCCDDDDCCDDCCDDCCCCDDCCCCCCDDDDDDDDCCDDDDDDDDDDDDDDCCCCDDCCDDCCCCDDCCCCCCCCCCCCCCDDCCCCDDDDDDDDDDCCCCDDDDDDCCDDDDDDDDDDDDDDDDDDDDCCCCCCCCDDDDDDDDDDDDCCDDDDCCDDCCDDCCDDCCDDDDCCCCCCDDDDDDDDDDDDDDCCDDDDDDDDCCDDDDCCDDDDDDDDDDCCCCCCCCCCCCDDDDDDDDDDCCDDCCDDDDCCDDCCDDCCDDDDCCCCDDDDDDCCDDDDCCDDCCCCCCDDDDDDCCDDDDDDCCDDDDCCCCDDDDCCDDCCDDDDCCCCDDDDCCDDDDCCCCDDCCCCDDDDDDCCDDCCDDCCDDCCDDDDDDCCDDDDCCCCDDDDCCDDDDDDCCCCDDDDCCDDDDDDDDDDCCCCCCCCCCCCDDDDDDDDDDCCDDCCDDDDCCDDCCDDCCDDDDCCCCDDDDDDCCDDDDCCDDCCCCCCCCDDDDCCDDDDDDCCDDDDCCCCDDDDCCDDCCDDDDCCCCDDDDCCDDDDCCCCDDCCCCDDDDDDCCDDCCDDCCDDCCDDDDDDCCDDDDCCCCCCDDDDCCCCDDCCCCCCDDDDDDCCDDDDDDDDDDDDCCCCCCCCDDDDCCDDCCCCCCCCDDCCCCDDDDCCDDCCCCDDCCCCCCDDCCDDCCDDDDDDDDDDCCCCCCDDCCCCDDCCDDCCCCDDDDCCCCCCCCDDCCDDCCDDDDDDDDCCDDDDDDCCCCDDCCDDDDCCDDDDDDDDDDDDCCCCCCCCCCDDCCCCCCCCDDDDCCCCDDCCDDCCCCDDDDCCCCDDCCCCDDCCCCCCCCCCDDDDDDDDCCDDCCCCDDDDDDDDCCCCCCCCDDCCDDCCDDDDDDDDCCCCCCDDDDDDDDDDCCCCDDDDCCDDCCCCCCCCDDDDCCCCDDCCDDCCDDCCDDDDCCCCCCDDDDCCCCDDDDDDCCCCDDDDDDDDCCCCDDDDCCDDCCCCDDDDDDDDDDDDDDCCDDCCDDDDDDDDCCCCDDCCDDDDDDCCDDDDCCCCCCDDDDCCCCDDCCDDDDDDDDDDDDDDCCDDDDCCDDDDDDCCCCCCDDDDCCDDCCDDDDCCDDDDCCDDDDCCDDDDDDDDCCDDDDCCDDDDCCDDCCCCDDCCDDDDCCCCCCDDDDCCCCCCDDCCDDDDCCDDDDCCCCDDDDDDCCCCDDDDCCDDDDCCCCDDCCDDDDDDDDCCDDDDDDDDCCCCCCDDDDDDDDDDCCCCDDCCDDCCCCCCDDDDDDDDCCCCDDDDDDDDDDCCDDDDCCDDCCCCCCDDDDDDDDDDDDDDDDDDCCCCDDDDCCCCCCDDCCDDDDDDDDCCDDCCCCDDDDDDCCCCCCCCDDDDDDDDDDDDCCCCDDCCCCDDDDCCCCCCCCDDDDDDDDCCCCCCDDCCDDCCDDDDDDDDDDCCCCDDDDCCCCDDDDCCCCCCDDCCCCDDCCCCCCCCDDDDCCDDCCCCDDCCDDCCCCCCDDDDDDCCCCDDCCCCCCDDDDDDCCDDDDDDDDCCCCDDCCCCDDDDCCCCDDDDDDDDCCDDDDCCCCCCCCDDCCDDDDDDCCCCCCCCDDDDDDCCDDCCCCDDDDCCDDDDDDCCDDCCCCDDCCDDDDDDDDCCCCCCCCCCCCCCCCDDDDCCDDDDDDCCDDDDCCDDDDCCCCDDCCCCCCDDCCCCCCCCCCCCCCCCDDCCCCCCDDDDCCCCCCCCCCCCDDCCCCDDDDDDCCCCDDDDDDDDDDDDDDCCCCCCCCCCDDDDCCCCDDCCCCDDDDCCDDCCCCDDCCDDCCCCDDDDCCCCDDDDCCCCDDDDDDDDDDDDCCCCDDCCCCCCCCDDDDCCCCDDCCCCCCDDDDCCDDCCCCDDDDCCDDCCCCDDDDCCDDCCCCDDDDCCDDCCCCCCDDDDDDCCDDDDDDCCDDCCDDCCDDCCDDCCCCCCDDDDDDCCCCCCCCCCDDDDDDDDCCCCCCCCDDCCDDCCCCCCCCDDDDCCDDDDDDCCDDCCCCDDCCDDDDCCDDDDDDDDDDDDDDDDDDCCCCDDDDDDDDDDDDDDDDDDDDDDDDDDCCDDCCDDDDDDDDDDCCCCDDCCDDCCDDCCDDDDDDDDDDDDDDCCCCDDDDDDDDDDDDDDDDDDCCDDCCDDDDDDDDDDDDCCDDCCDDDDDDDDDDDDDDDDDDDDDDDDDDCCCCDDDDDDDDDDDDDDDDCCDDDDDDCCDDCCDDCCDDDDDDDDDDDDDDDDDDCCDDDDDDDDDDDDCCDDDDDDDDDDDDDDCCDDDDDDDDDDDDCCDDCCCCDDCCCCDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDCCCCDDCCDDCCDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDCCDDCCDDCCCCDDDDDDDDDDCCDDCCDDCCDDDDDDDDDDDDDDCCDDDDDDDDDDDDDDDDCCCCCCDDDDDDDDDDDDCCDDDDCCCCDDDDDDDDCCDDCCDDCCDDCCDDCCDDCCCCDDCCDDDDCCDDDDDDDDCCDDCCDDDDDDCCDDDDDDCCDDDDDDDDCCDDDDDDDDCCDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDCCDDDDDDDDCCDDDDDDDDCCDDDDDDDDCCDDDDDDDDCCCCDDDDCCDDDDDDDDDDDDCCDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDCCCCDDDDCCCCDDDDDDCCCCDDDDDDDDCCCCDDDDDDCCDDDDDDDDCCDDDDDDDDDDCCDDDDCCDDDDCCDDDDDDDDDDDDDDDDDDCCCCDDDDDDDDDDDDDDDDDDDDDDDDDDCCCCDDDDDDDDDDDDDDDDDDDDDDDDDDCCDDDDDDDDDDDDDDDDCCDDDDDDDDDDDDDDDDDDDDDDDDDDCCDDCCDDDDCCDDDDCCDDDDDDDDDDDDCCDDDDDDDDDDCCDDDDDDDDDDDDDDDDDDDDDDDDCCDDCCCCDDDDCCDDCCDDDDDDDDDDCCDDDDDDDDDDDDCCCCDDDDCCDDDDDDDDDDDDDDDDCCCCDDDDDDDDCCDDDDCCDDCCDDDDCCDDCCDDDDDDDDCCCCDDCCCCCCDDCCDDDDCCDDCCDDDDDDDDCCCCDDDDDDDDDDDDDDCCDDDDDDDDCCDDDDCCCCDDCCDDDDDDCCDDDDCCDDDDDDDDDDDDDDDDDDDDCCCCDDCCCCDDDDCCDDDDDDDDCCDDDDCCDDCCDDDDDDDDCCDDCCDDDDCCDDDDDDDDCCCCDDDDDDDDDDDDDDDDDDDDCCDDCCDDDDDDDDDDDDDDDDDDDDCCDDDDDDDDDDDDDDCCDDDDDDDDDDDDCCCCDDDDDDDDDDCCCCDDDDDDCCDDCCDDCCDDDDDDDDDDCCCCDDDDDDCCDDDDDDDDCCDDDDDDDDDDCCDDDDCCDDDDDDDDDDCCDDDDDDDDDDCCCCCCDDCCCCDDDDDDDDDDCCDDDDDDDDDDCCCCCCDDDDDDDDDDDDDDDDDDDDDDCCDDCCDDDDCCDDCCCCDDCCDDDDCCDDDDDDDDCCCCDDCCDDDDDDCCDDDDDDDDDDDDDDCCCCCCDDCCDDDDCCDDCCCCDDDDDDCCCCCCDDCCDDDDDDDDDDDDDDDDDDDDCCCCDDDDDDDDCCDDDDDDDDDDDDCCDDCCCCCCDDDDCCCCDDDDDDCCDDDDCCDDCCCCDDDDCCCCDDCCCCDDCCCCCCCCCCDDDDDDDDCCDDDDDDDDDDDDDDCCCCDDCCDDCCDDCCDDDDDDDDCCDDDDDDDDDDDDDDCCDDDDDDDDDDCCDDCCCCDDDDCCCCDDCCDDCCDDCCDDDDCCCCCCDDDDDDCCDDDDDDDDCCDDDDDDDDDDCCDDDDCCDDCCCCDDDDDDDDDDDDDDCCDDDDDDDDDDDDDDCCDDDDDDDDDDCCDDDDCCDDDDDDDDDDCCDDCCDDDDDDDDDDDDDDDDDDDDCCDDDDDDCCCCCCDDDDDDDDDDDDDDCCDDDDDDDDDDDDCCDDDDDDCCDDDDDDCCCCDDCCDDCCDDCCCCDDCCCCDDCCDDDDCCDDCCDDCCDDDDDDDDDDCCDDDDDDDDCCDDDDDDDDDDCCDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDCCDDCCDDDDDDDDCCDDDDDDDDCCDDDDDDDDCCCCDDDDDDDDDDDDDDDDDDDDCCDDDDCCDDCCDDCCDDDDDDCCDDDDDDCCDDDDDDCCCCDDCCDDCCDDCCCCDDCCCCDDCCDDDDCCDDCCDDCCDDDDDDDDDDCCDDDDDDDDCCDDDDDDDDDDCCDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDCCDDCCDDDDDDDDCCDDDDDDDDCCDDDDDDDDCCCCDDDDDDDDDDDDDDDDDDDDCCDDDDCCDDCCDDCCDDDDDDDDCCDDDDDDDDDDCCDDDDCCDDCCDDCCDDCCDDDDDDDDCCDDCCDDDDCCDDDDDDCCDDDDDDDDDDCCCCDDDDDDDDCCCCDDCCDDDDDDDDCCDDDDDDDDCCCCCCDDDDDDCCDDDDDDDDDDDDCCCCCCCCDDCCDDCCCCCCDDDDCCDDDDDDCCCCDDCCDDDDDDCCCCDDCCCCDDCCDDDDCCDDDDDDCCDDDDCCDDCCCCCCDDCCCCDDCCDDDDCCCCDDCCCCCCCCDDDDDDDDDDCCDDDDDDDDCCDDDDDDDDDDCCDDCCDDCCCCDDCCDDCCCCCCCCDDCCCCDDDDDDCCCCDDDDCCDDCCDDDDDDDDDDDDDDDDCCDDDDCCCCDDDDDDDDDDCCDDDDDDCCDDCCCCDDDDCCDDDDDDCCCCCCDDDDCCDDDDDDDDCCDDDDCCDDDDDDDDDDCCCCDDDDDDDDDDDDDDCCDDDDDDCCDDDDDDCCCCDDDDCCCCDDDDCCCCDDDDCCCCCCDDDDDDDDDDCCCCDDDDDDCCDDDDDDCCCCDDDDCCDDCCCCDDCCCCDDDDDDDDDDCCDDCCDDCCDDDDDDDDDDDDDDDDDDCCDDCCDDCCDDCCDDCCDDDDCCDDCCDDCCDDDDDDDDCCDDCCCCDDCCCCCCDDDDCCDDDDDDCCDDDDDDCCCCCCCCDDDDCCDDCCCCDDDDDDDDDDDDCCDDDDDDDDDDDDDDCCDDDDCCDDDDDDDDDDCCDDDDCCCCCCDDCCDDDDDDCCDDDDCCDDDDDDCCCCDDCCDDCCDDDDCCCCCCCCDDDDDDDDCCCCCCDDCCCCCCCCDDDDDDDDDDDDDDDDDDDDCCCCCCDDCCDDCCCCDDDDDDDDCCCCCCDDDDDDDDCCDDCCCCCCCCDDDDDDDDDDDDDDCCDDDDDDCCCCDDCCCCCCDDDDDDCCDDDDDDCCCCCCDDCCCCDDDDDDCCCCCCCCDDDDDDCCCCDDCCCCDDCCCCDDCCDDCCDDCCCCDDCCCCDDCCCCDDDDDDDDDDCCCCDDCCDDCCDDCCCCCCDDDDDDDDCCDDCCCCCCDDCCCCDDCCDDDDCCDDDDCCCCCCDDCCCCCCDDDDDDDDCCDDCCDDDDCCDDCCDDCCCCDDDDDDDDDDCCCCDDCCCCDDDDDDDDCCDDDDCCDDDDDDDDDDDDCCDDCCDDDDDDCCDDCCDDDDCCCCDDCCDDCCDDDDCCDDDDDDDDDDDDDDDDCCDDDDDDCCDDDDDDDDDDDDDDDDDDDDDDCCCCCCDDDDDDCCCCCCDDCCCCCCDDDDDDDDCCDDDDDDCCCCDDDDDDDDCCDDDDDDCCCCCCCCCCDDCCCCDDCCDDDDDDCCDDDDDDDDDDDDDDDDCCDDCCDDCCCCCCCCDDCCCCCCCCDDCCDDCCCCCCDDDDDDCCCCDDDDCCCCDDCCCCCCDDCCCCDDCCDDDDCCDDDDDDDDDDDDDDDDDDCCCCDDDDDDDDDDDDDDDDDDDDDDDDDDCCDDCCDDDDDDDDDDCCCCDDCCDDCCDDCCDDDDDDDDDDDDDDCCCCDDDDDDDDDDDDDDDDDDCCDDCCDDDDDDDDDDDDCCDDCCDDDDDDDDDDDDDDDDDDDDDDDDDDCCCCDDDDDDDDDDDDDDDDCCDDDDDDCCDDCCDDCCDDDDDDDDDDDDDDDDDDCCDDDDDDDDDDDDCCDDDDDDDDDDDDDDCCDDDDDDDDDDDDCCDDCCCCDDCCCCDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDCCCCDDCCDDCCDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDCCDDCCDDCCCCDDDDDDDDDDCCDDCCDDCCDDDDDDDDDDDDDDCCDDDDDDDDDDDDDDDDCCCCCCDDDDDDDDDDDDCCDDDDCCCCDDDDDDDDCCDDCCDDCCDDCCDDCCDDCCCCDDCCDDDDCCDDDDDDDDCCDDCCDDDDDDCCDDDDDDCCDDDDDDDDCCDDDDDDDDCCDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDCCDDDDDDDDCCDDDDDDDDCCDDDDDDDDCCDDDDDDDDCCCCDDDDCCDDDDDDDDDDDDCCDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDCCCCDDDDCCCCDDDDDDCCCCDDDDDDDDCCCCDDDDDDCCDDDDDDDDCCDDDDDDDDDDCCDDDDCCDDDDCCDDDDDDDDDDDDDDDDDDCCCCDDDDDDDDDDDDDDDDDDDDDDDDDDCCCCDDDDDDDDDDDDDDDDDDDDDDDDDDCCDDDDDDDDDDDDDDDDCCDDDDDDDDDDDDDDDDDDDDDDDDDDCCDDCCDDDDCCDDDDCCDDDDDDDDDDDDCCDDDDDDDDDDCCDDDDDDDDDDDDDDDDDDDDDDDDCCDDCCCCDDDDCCDDCCDDDDDDDDDDCCDDDDDDDDDDDDCCCCDDDDCCDDDDDDDDDDDDDDDDCCCCDDDDDDDDCCDDDDCCDDCCDDDDCCDDCCDDDDDDDDCCCCDDCCCCCCDDCCDDDDCCDDCCDDDDDDDDCCCCDDDDDDDDDDDDDDCCDDDDDDDDCCDDDDCCCCDDCCDDDDDDCCDDDDCCDDDDDDDDDDDDDDDDDDDDCCCCDDCCCCDDDDCCDDDDDDDDCCDDDDCCDDCCDDDDDDDDCCDDCCDDDDCCDDDDDDDDCCCCDDDDDDDDDDDDDDDDDDDDCCDDCCDDDDDDDDDDDDDDDDDDDDCCDDDDDDDDDDDDDDCCDDDDDDDDDDDDCCCCDDDDDDDDDDCCCCDDDDDDCCDDCCDDCCDDDDDDDDDDCCCCDDDDDDCCDDDDDDDDCCDDDDDDDDDDCCDDDDCCDDDDDDDDDDCCDDDDDDDDDDCCCCCCDDCCCCDDDDDDDDDDCCDDDDDDDDDDCCCCCCDDDDDDDDDDDDDDDDDDDDDDCCDDCCDDDDCCDDCCCCDDCCDDDDCCDDDDDDDDCCCCDDCCDDDDDDCCDDDDDDDDDDDDDDCCCCCCDDCCDDDDCCDDCCCCDDDDDDCCCCCCDDCCDDDDDDDDDDDDDDDDDDDDCCCCDDDDDDDDCCDDDDDDDDDDDDCCDDCCCCCCDDDDCCCCDDDDDDCCDDDDCCDDCCCCDDDDCCCCDDCCCCDDCCCCCCCCCCDDDDDDDDCCDDDDDDDDDDDDDDCCCCDDCCDDCCDDCCDDDDDDDDCCDDDDDDDDDDDDDDCCDDDDDDDDDDCCDDCCCCDDDDCCCCDDCCDDCCDDCCDDDDCCCCCCDDDDDDCCDDDDDDDDCCDDDDDDDDDDCCDDDDCCDDCCCCDDDDDDDDDDDDDDCCDDDDDDDDDDDDDDCCDDDDDDDDDDCCDDDDCCDDDDDDDDDDCCDDCCDDDDDDDDDDDDDDDDDDDDCCDDDDDDCCCCCCDDDDDDDDDDDDDDCCDDDDDDDDDDDDCCDDDDDDCCDDDDDDCCCCDDCCDDCCDDCCCCDDCCCCDDCCDDDDCCDDCCDDCCDDDDDDDDDDCCDDDDDDDDCCDDDDDDDDDDCCDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDCCDDCCDDDDDDDDCCDDDDDDDDCCDDDDDDDDCCCCDDDDDDDDDDDDDDDDDDDDCCDDDDCCDDCCDDCCDDDDDDCCDDDDDDCCDDDDDDCCCCDDCCDDCCDDCCCCDDCCCCDDCCDDDDCCDDCCDDCCDDDDDDDDDDCCDDDDDDDDCCDDDDDDDDDDCCDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDCCDDCCDDDDDDDDCCDDDDDDDDCCDDDDDDDDCCCCDDDDDDDDDDDDDDDDDDDDCCDDDDCCDDCCDDCCDDDDDDDDCCDDDDDDDDDDCCDDDDCCDDCCDDCCDDCCDDDDDDDDCCDDCCDDDDCCDDDDDDCCDDDDDDDDDDCCCCDDDDDDDDCCCCDDCCDDDDDDDDCCDDDDDDDDCCCCCCDDDDDDCCDDDDDDDDDDDDCCCCCCCCDDCCDDCCCCCCDDDDCCDDDDDDCCCCDDCCDDDDDDCCCCDDCCCCDDCCDDDDCCDDDDDDCCDDDDCCDDCCCCCCDDCCCCDDCCDDDDCCCCDDCCCCCCCCDDDDDDDDDDCCDDDDDDDDCCDDDDDDDDDDCCDDCCDDCCCCDDCCDDCCCCCCCCDDCCCCDDDDDDCCCCDDDDCCDDCCDDDDDDDDDDDDDDDDCCDDDDCCCCDDDDDDDDDDCCDDDDDDCCDDCCCCDDDDCCDDDDDDCCCCCCDDDDCCDDDDDDDDCCDDDDCCDDDDDDDDDDCCCCDDDDDDDDDDDDDDCCDDDDDDCCDDDDDDCCCCDDDDCCCCDDDDCCCCDDDDCCCCCCDDDDDDDDDDCCCCDDDDDDCCDDDDDDCCCCDDDDCCDDCCCCDDCCCCDDDDDDDDDDCCDDCCDDCCDDDDDDDDDDDDDDDDDDCCDDCCDDCCDDCCDDCCDDDDCCDDCCDDCCDDDDDDDDCCDDCCCCDDCCCCCCDDDDCCDDDDDDCCDDDDDDCCCCCCCCDDDDCCDDCCCCDDDDDDDDDDDDCCDDDDDDDDDDDDDDCCDDDDCCDDDDDDDDDDCCDDDDCCCCCCDDCCDDDDDDCCDDDDCCDDDDDDCCCCDDCCDDCCDDDDCCCCCCCCDDDDDDDDCCCCCCDDCCCCCCCCDDDDDDDDDDDDDDDDDDDDCCCCCCDDCCDDCCCCDDDDDDDDCCCCCCDDDDDDDDCCDDCCCCCCCCDDDDDDDDDDDDDDCCDDDDDDCCCCDDCCCCCCDDDDDDCCDDDDDDCCCCCCDDCCCCDDDDDDCCCCCCCCDDDDDDCCCCDDCCCCDDCCCCDDCCDDCCDDCCCCDDCCCCDDCCCCDDDDDDDDDDCCCCDDCCDDCCDDCCCCCCDDDDDDDDCCDDCCCCCCDDCCCCDDCCDDDDDDDDDDCCCCCCDDCCCCCCDDDDDDDDCCDDCCDDDDCCDDCCDDCCCCDDDDDDDDDDCCCCDDCCCCDDDDDDDDCCDDDDCCDDDDDDDDDDDDCCDDCCDDDDDDCCDDCCDDDDCCCCDDCCDDCCDDDDCCDDDDDDDDDDDDDDDDCCDDDDDDCCDDDDDDDDDDDDDDDDDDDDDDCCCCCCDDDDDDDDCCCCDDCCCCCCDDDDDDDDCCDDDDDDCCCCDDDDDDDDCCDDDDDDCCCCCCCCCCDDCCCCDDCCDDDDDDCCDDDDDDDDDDDDDDDDCCDDCCDDCCCCCCCCDDCCCCCCCCDDCCDDCCCCCCDDDDDDCCCCDDDDCCCCDDCCCCCCDDDDDDDDDDCCDDDDDDCCDDDDDDDDDDCCDDDDDDDDDDCCDDDDDDDDCCDDCCDDCCDDDDCCDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDCCDDDDDDDDDDDDDDDDDDDDDDDDDDDDCCDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDCCDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDCCDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDCCDDDDCCCCDDDDDDDDDDDDDDCCDDDDDDDDDDCCCCCCDDDDDDDDDDDDDDDDDDDDDDDDCCDDDDDDDDCCDDDDDDDDDDCCCCDDDDDDDDDDDDDDDDCCCCDDDDDDDDDDDDDDDDDDDDCCDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDCCCCCCDDDDDDDDCCDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDCCDDCCDDDDDDDDCCDDDDDDDDDDDDCCDDDDDDDDDDDDDDDDCCDDDDDDDDDDDDDDDDDDDDDDCCDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDCCDDDDDDDDDDDDCCDDDDDDDDCCDDDDDDDDDDDDDDDDDDCCDDDDDDDDDDDDDDDDCCDDDDCCDDDDDDDDDDDDDDCCCCDDDDDDCCDDDDDDDDDDDDDDDDDDCCDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDCCDDDDCCDDDDDDDDDDCCDDDDDDDDDDCCDDDDCCDDDDDDCCDDDDDDDDDDDDCCDDCCDDDDDDDDDDDDDDDDDDDDDDCCDDDDDDDDDDCCDDCCDDDDDDDDDDDDDDDDDDDDCCDDDDDDDDDDDDCCDDDDDDDDDDCCDDDDCCDDDDDDDDDDDDDDDDDDCCDDDDDDDDDDDDDDDDDDDDCCDDDDDDDDDDDDDDCCDDDDDDDDDDDDDDCCDDDDDDDDDDDDDDDDDDCCDDDDDDDDCCDDDDDDDDDDDDCCDDDDDDDDDDDDDDCCCCDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDCCDDCCDDDDDDCCCCDDDDDDDDDDCCDDDDDDDDDDDDDDDDDDDDDDDDDDCCCCCCDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDCCDDDDDDDDDDDDDDDDDDDDDDCCCCDDCCDDDDCCDDDDDDDDDDDDDDDDDDCCDDDDDDDDDDDDDDDDCCDDCCDDDDDDDDDDDDDDDDCCDDDDDDDDDDCCCCDDDDDDDDDDDDDDDDDDDDDDDDCCDDDDDDDDDDDDDDCCDDDDDDDDDDDDDDDDDDDDDDDDDDCCDDDDDDDDDDDDCCDDCCDDDDCCDDDDDDDDCCDDDDDDDDDDCCDDDDDDDDDDDDDDDDCCDDDDDDDDDDDDCCDDDDCCDDDDDDDDDDDDDDDDDDCCDDDDDDDDDDCCCCDDCCDDDDDDDDCCDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDCCCCDDDDDDCCDDDDDDDDDDDDCCDDDDDDCCDDDDCCDDDDDDDDCCDDCCDDDDDDDDDDDDDDDDDDCCDDDDCCDDDDCCCCDDCCDDDDCCDDDDDDCCDDDDDDDDCCDDDDDDDDDDCCDDDDDDDDDDDDDDDDDDDDCCDDCCDDCCDDDDCCDDCCCCCCCCDDDDDDDDDDDDDDCCDDDDCCDDDDDDDDDDDDDDDDDDDDDDDDDDCCDDDDDDDDDDDDCCDDDDDDCCDDCCDDDDDDDDDDDDDDDDCCCCDDDDDDDDDDDDDDDDDDDDCCDDDDDDDDDDCCDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDCCDDDDDDCCCCDDDDCCDDDDDDDDCCCCDDDDDDDDDDCCCCDDDDDDCCDDDDDDDDCCDDDDDDDDDDCCDDDDCCDDDDCCDDDDDDDDDDDDDDDDDDCCCCDDDDDDDDDDDDDDDDDDDDDDDDDDCCCCDDDDDDDDDDDDDDDDDDDDDDDDDDCCDDDDDDDDDDDDDDDDCCDDDDDDDDDDDDDDDDDDDDDDDDDDCCDDDDDDDDCCDDDDCCDDDDDDDDDDDDCCDDDDDDDDDDDDDDDDDDDDCCDDDDDDDDDDCCDDDDCCDDDDCCDDDDDDDDDDDDDDDDDDCCCCDDDDDDDDDDDDDDDDDDDDDDDDDDCCCCDDDDDDDDDDDDDDDDDDDDDDDDDDCCDDDDDDDDDDDDDDDDCCDDDDDDDDDDDDDDDDDDDDDDDDDDCCDDDDDDDDCCDDDDCCDDDDDDDDDDDDCCDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDCCDDCCCCDDDDDDDDCCDDDDDDDDDDCCDDDDDDDDDDDDDDCCDDDDCCDDDDDDDDDDDDDDDDCCCCDDDDDDDDCCDDDDCCDDDDDDDDCCDDCCDDDDDDDDCCDDDDCCCCCCDDDDDDDDCCDDCCDDDDDDDDCCCCDDDDDDDDDDDDDDCCDDDDDDDDCCDDDDCCCCDDCCDDDDDDCCDDDDDDDDDDDDDDDDDDDDDDDDDDCCCCDDDDCCDDDDCCDDDDDDDDCCDDDDDDDDCCDDDDDDDDCCDDCCDDDDCCDDDDDDDDCCCCDDDDDDDDDDDDDDDDDDDDCCDDCCDDDDDDDDDDDDDDDDDDDDCCDDDDDDDDDDDDDDCCDDDDDDDDDDDDCCCCDDDDDDDDDDCCCCDDDDDDCCDDCCDDCCDDDDDDDDDDCCCCDDDDDDCCDDDDDDDDCCDDDDDDDDDDCCDDDDCCDDDDDDDDDDCCDDDDDDDDDDCCCCCCDDDDCCDDDDDDDDDDDDDDDDDDDDDDDDCCCCDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDCCDDDDCCCCDDDDDDDDDDDDDDDDDDDDDDDDDDCCDDDDDDCCDDDDDDDDDDDDDDCCDDCCCCDDCCDDCCDDDDCCCCDDCCDDDDDDCCDDDDDDCCDDDDDDDDCCDDDDDDDDCCCCDDCCDDDDDDDDDDDDDDDDDDDDDDDDCCDDDDDDDDDDDDCCDDCCDDDDDDDDDDDDCCCCDDDDCCCCDDDDDDDDCCDDDDDDDDDDDDCCDDDDDDDDDDDDDDDDDDDDDDDDDDCCCCDDDDCCDDDDDDDDDDDDDDCCDDCCDDDDDDDDDDCCDDDDCCDDDDDDDDDDDDDDDDCCDDDDDDDDCCDDDDDDDDCCDDDDCCDDDDCCDDDDDDDDDDDDDDCCDDDDCCDDDDDDDDDDDDDDDDDDCCDDDDDDDDDDDDDDCCCCDDDDDDDDDDCCDDDDDDCCDDDDDDCCCCDDCCDDCCDDDDCCCCDDCCCCDDDDDDCCCCDDCCDDDDCCDDDDDDDDDDDDDDDDDDCCCCCCDDDDDDDDDDDDDDDDDDDDDDDDCCDDCCDDDDCCDDDDCCCCDDCCDDCCDDCCDDDDDDDDDDDDDDCCCCCCDDDDDDDDDDDDDDDDCCDDCCDDDDDDDDDDDDCCDDCCCCDDDDDDDDDDCCDDDDDDDDDDDDCCCCDDCCDDDDCCDDDDDDCCCCDDDDCCDDCCDDCCDDDDDDDDDDDDDDDDDDCCCCDDDDCCDDDDCCCCCCCCCCDDCCDDDDCCDDDDCCDDDDCCDDDDDDDDCCDDDDDDDDCCDDDDCCCCCCDDCCDDDDCCDDCCDDDDDDDDDDCCDDCCDDCCCCDDCCDDDDDDDDCCDDDDCCCCDDCCDDDDDDDDDDDDDDDDDDDDCCDDDDDDCCDDDDDDDDDDCCDDDDDDDDDDCCDDDDDDDDCCDDCCDDDDDDDDCCDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDCCDDDDDDDDDDDDDDDDDDDDDDDDDDDDCCDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDCCDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDCCDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDCCDDDDCCCCDDDDDDDDDDDDDDCCDDDDDDDDDDCCCCCCDDDDDDDDDDDDDDDDDDDDDDDDCCDDDDDDDDCCDDDDDDDDDDCCCCDDDDDDDDDDDDDDDDCCCCDDDDDDDDDDDDDDDDDDDDCCDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDCCCCCCDDDDDDDDCCDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDCCDDCCDDDDDDDDCCDDDDDDDDDDDDCCDDDDDDDDDDDDDDDDCCDDDDDDDDDDDDDDDDDDDDDDCCDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDCCDDDDDDDDDDDDCCDDDDDDDDCCDDDDDDDDDDDDDDDDDDCCDDDDDDDDDDDDDDDDCCDDDDCCDDDDDDDDDDDDDDCCCCDDDDDDCCDDDDDDDDDDDDDDDDDDCCDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDCCDDDDCCDDDDDDDDDDCCDDDDDDDDDDCCDDDDCCDDDDDDCCDDDDDDDDDDDDCCDDCCDDDDDDDDDDDDDDDDDDDDDDCCDDDDDDDDDDCCDDCCDDDDDDDDDDDDDDDDDDDDCCDDDDDDDDDDDDCCDDDDDDDDDDCCDDDDCCDDDDDDDDDDDDDDDDDDCCDDDDDDDDDDDDDDDDDDDDCCDDDDDDDDDDDDDDCCDDDDDDDDDDDDDDCCDDDDDDDDDDDDDDDDDDCCDDDDDDDDCCDDDDDDDDDDDDCCDDDDDDDDDDDDDDCCCCDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDCCDDCCDDDDDDCCCCDDDDDDDDDDCCDDDDDDDDDDDDDDDDDDDDDDDDDDCCCCCCDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDCCDDDDDDDDDDDDDDDDDDDDDDCCCCDDCCDDDDCCDDDDDDDDDDDDDDDDDDCCDDDDDDDDDDDDDDDDCCDDCCDDDDDDDDDDDDDDDDCCDDDDDDDDDDCCCCDDDDDDDDDDDDDDDDDDDDDDDDCCDDDDDDDDDDDDDDCCDDDDDDDDDDDDDDDDDDDDDDDDDDCCDDDDDDDDDDDDCCDDCCDDDDCCDDDDDDDDCCDDDDDDDDDDCCDDDDDDDDDDDDDDDDCCDDDDDDDDDDDDCCDDDDCCDDDDDDDDDDDDDDDDDDCCDDDDDDDDDDCCCCDDCCDDDDDDDDCCDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDCCCCDDDDDDCCDDDDDDDDDDDDCCDDDDDDCCDDDDCCDDDDDDDDCCDDCCDDDDDDDDDDDDDDDDDDCCDDDDCCDDDDCCCCDDCCDDDDCCDDDDDDCCDDDDDDDDCCDDDDDDDDDDCCDDDDDDDDDDDDDDDDDDDDCCDDCCDDCCDDDDCCDDCCCCCCCCDDDDDDDDDDDDDDCCDDDDCCDDDDDDDDDDDDDDDDDDDDDDDDDDCCDDDDDDDDDDDDCCDDDDDDCCDDCCDDDDDDDDDDDDDDDDCCCCDDDDDDDDDDDDDDDDDDDDCCDDDDDDDDDDCCDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDCCDDDDDDCCCCDDDDCCDDDDDDDDCCCCDDDDDDDDDDCCCCDDDDDDCCDDDDDDDDCCDDDDDDDDDDCCDDDDCCDDDDCCDDDDDDDDDDDDDDDDDDCCCCDDDDDDDDDDDDDDDDDDDDDDDDDDCCCCDDDDDDDDDDDDDDDDDDDDDDDDDDCCDDDDDDDDDDDDDDDDCCDDDDDDDDDDDDDDDDDDDDDDDDDDCCDDDDDDDDCCDDDDCCDDDDDDDDDDDDCCDDDDDDDDDDDDDDDDDDDDCCDDDDDDDDDDCCDDDDCCDDDDCCDDDDDDDDDDDDDDDDDDCCCCDDDDDDDDDDDDDDDDDDDDDDDDDDCCCCDDDDDDDDDDDDDDDDDDDDDDDDDDCCDDDDDDDDDDDDDDDDCCDDDDDDDDDDDDDDDDDDDDDDDDDDCCDDDDDDDDCCDDDDCCDDDDDDDDDDDDCCDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDCCDDCCCCDDDDDDDDCCDDDDDDDDDDCCDDDDDDDDDDDDDDCCDDDDCCDDDDDDDDDDDDDDDDCCCCDDDDDDDDCCDDDDCCDDDDDDDDCCDDCCDDDDDDDDCCDDDDCCCCCCDDDDDDDDCCDDCCDDDDDDDDCCCCDDDDDDDDDDDDDDCCDDDDDDDDCCDDDDCCCCDDCCDDDDDDCCDDDDDDDDDDDDDDDDDDDDDDDDDDCCCCDDDDCCDDDDCCDDDDDDDDCCDDDDDDDDCCDDDDDDDDCCDDCCDDDDCCDDDDDDDDCCCCDDDDDDDDDDDDDDDDDDDDCCDDCCDDDDDDDDDDDDDDDDDDDDCCDDDDDDDDDDDDDDCCDDDDDDDDDDDDCCCCDDDDDDDDDDCCCCDDDDDDCCDDCCDDCCDDDDDDDDDDCCCCDDDDDDCCDDDDDDDDCCDDDDDDDDDDCCDDDDCCDDDDDDDDDDCCDDDDDDDDDDCCCCCCDDDDCCDDDDDDDDDDDDDDDDDDDDDDDDCCCCDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDCCDDDDCCCCDDDDDDDDDDDDDDDDDDDDDDDDDDCCDDDDDDCCDDDDDDDDDDDDDDCCDDCCCCDDCCDDCCDDDDCCCCDDCCDDDDDDCCDDDDDDCCDDDDDDDDCCDDDDDDDDCCCCDDCCDDDDDDDDDDDDDDDDDDDDDDDDCCDDDDDDDDDDDDCCDDCCDDDDDDDDDDDDCCCCDDDDCCCCDDDDDDDDCCDDDDDDDDDDDDCCDDDDDDDDDDDDDDDDDDDDDDDDDDCCCCDDDDCCDDDDDDDDDDDDDDCCDDCCDDDDDDDDDDCCDDDDCCDDDDDDDDDDDDDDDDCCDDDDDDDDCCDDDDDDDDCCDDDDCCDDDDCCDDDDDDDDDDDDDDCCDDDDCCDDDDDDDDDDDDDDDDDDCCDDDDDDDDDDDDDDCCCCDDDDDDDDDDCCDDDDDDCCDDDDDDCCCCDDCCDDCCDDDDCCCCDDCCCCDDDDDDCCCCDDCCDDDDCCDDDDDDDDDDDDDDDDDDCCCCCCDDDDDDDDDDDDDDDDDDDDDDDDCCDDCCDDDDCCDDDDCCCCDDCCDDCCDDCCDDDDDDDDDDDDDDCCCCCCDDDDDDDDDDDDDDDDCCDDCCDDDDDDDDDDDDCCDDCCCCDDDDDDDDDDCCDDDDDDDDDDDDCCCCDDCCDDDDCCDDDDDDCCCCDDDDCCDDCCDDCCDDDDDDDDDDDDDDDDDDCCCCDDDDCCDDDDCCCCCCCCCCDDCCDDDDCCDDDDCCDDDDCCDDDDDDDDCCDDDDDDDDCCDDDDCCCCCCDDCCDDDDCCDDCCDDDDDDDDDDCCDDCCDDCCCCDDCCDDDDDDDDCCDDDDCCCCDDCCDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDCCDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDCCDDDDCCDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDCCDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDCCDDDDDDDDDDDDDDDDDDCCDDCCDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDCCDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDCCDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDCCDDDDDDCCDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDCCDDDDDDDDCCDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDCCCCDDDDCCDDDDDDDDDDDDDDDDDDDDDDDDDDCCDDDDDDCCDDDDDDDDDDDDDDDDDDDDDDCCDDDDDDCCDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDCCCCDDDDDDDDDDCCDDDDCCDDCCCCDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDCCDDDDDDDDCCDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDCCDDDDDDDDDDCCDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDCCDDDDDDDDDDDDDDDDDDDDDDDDCCDDDDDDDDDDDDDDDDDDDDCCDDDDDDDDDDCCDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDCCDDDDDDDDDDDDDDCCDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDCCDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDCCDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDCCDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDCCDDDDDDDDDDDDDDDDDDDDDDDDDDDDCCDDDDDDDDCCDDDDDDDDDDCCDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDCCDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDCCCCDDDDDDCCDDDDDDDDDDDDDDDDDDCCDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDCCDDDDCCDDDDDDDDDDCCDDDDDDDDDDCCDDDDDDDDDDDDDDDDDDDDDDDDDDCCDDCCDDDDDDDDDDDDDDDDDDDDDDCCDDDDDDDDDDCCDDCCDDDDDDDDDDDDDDDDDDDDCCDDDDDDDDDDDDCCDDCCDDDDDDDDDDDDDDDDDDCCDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDCCDDDDCCDDDDDDDDDDCCDDDDDDDDDDCCDDDDDDDDDDDDDDDDDDDDDDDDDDCCDDCCDDDDDDDDDDDDDDDDDDDDDDCCDDDDDDDDDDCCDDCCDDDDDDDDDDDDDDDDDDDDCCDDDDDDDDDDDDCCDDDDDDDDDDCCDDDDCCDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDCCDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDCCDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDCCDDDDDDDDDDDDDDCCCCDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDCCDDDDDDDDDDCCCCDDDDDDDDDDCCDDDDDDDDDDDDDDDDDDDDDDDDDDDDCCCCDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDCCDDDDDDDDDDDDDDDDDDDDDDCCDDDDCCDDDDDDDDDDDDDDDDDDDDDDDDCCDDDDDDDDDDDDDDDDCCDDCCDDDDDDDDDDDDDDDDCCDDDDDDDDDDCCCCDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDCCDDDDDDDDDDDDDDDDDDDDDDDDDDCCDDDDDDDDDDDDDDDDCCDDDDDDDDCCDDDDDDDDCCDDCCDDDDDDDDDDDDDDDDDDDDCCDDDDDDDDDDDDCCDDDDDDDDDDDDDDCCDDDDDDDDDDDDCCDDCCDDDDDDCCDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDCCCCDDCCDDCCDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDCCDDCCCCDDDDDDDDDDCCDDCCDDCCDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDCCCCDDDDDDDDDDDDDDDDDDDDCCDDDDDDDDDDCCDDCCDDCCDDCCDDDDDDCCDDDDCCDDDDDDDDDDDDDDCCDDCCDDDDDDDDDDDDDDDDDDDDDDDDCCDDDDDDDDCCDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDCCDDDDDDDDCCDDDDDDDDCCDDDDDDDDCCDDDDDDDDCCCCDDDDCCDDDDDDDDDDDDCCDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDCCDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDCCDDDDDDCCDDDDDDDDDDCCDDDDDDDDDDCCDDDDCCCCCCDDCCDDCCDDDDCCDDDDDDDDDDDDDDDDDDDDDDDDDDCCDDDDDDDDDDDDDDDDDDCCDDDDDDDDDDDDCCDDDDDDDDDDCCDDDDDDDDDDDDDDCCDDDDCCDDDDDDCCDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDCCDDDDDDDDCCDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDCCDDDDDDCCDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDCCCCDDDDDDCCDDDDDDDDCCCCCCDDDDDDDDCCDDDDDDCCDDDDDDDDDDCCCCDDCCDDDDDDDDDDCCDDDDCCDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDCCDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDCCDDDDCCDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDCCDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDCCDDDDDDDDDDDDDDDDDDCCDDCCDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDCCDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDCCDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDCCDDDDDDCCDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDCCDDDDDDDDCCDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDCCCCDDDDCCDDDDDDDDDDDDDDDDDDDDDDDDDDCCDDDDDDCCDDDDDDDDDDDDDDDDDDDDDDCCDDDDDDCCDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDCCCCDDDDDDDDDDCCDDDDCCDDCCCCDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDCCDDDDDDDDCCDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDCCDDDDDDDDDDCCDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDCCDDDDDDDDDDDDDDDDDDDDDDDDCCDDDDDDDDDDDDDDDDDDDDCCDDDDDDDDDDCCDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDCCDDDDDDDDDDDDDDCCDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDCCDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDCCDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDCCDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDCCDDDDDDDDDDDDDDDDDDDDDDDDDDDDCCDDDDDDDDDDDDDDDDDDDDCCDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDCCDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDCCCCDDDDDDCCDDDDDDDDDDDDDDDDDDCCDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDCCDDDDCCDDDDDDDDDDCCDDDDDDDDDDCCDDDDDDDDDDDDDDDDDDDDDDDDDDCCDDCCDDDDDDDDDDDDDDDDDDDDDDCCDDDDDDDDDDCCDDCCDDDDDDDDDDDDDDDDDDDDCCDDDDDDDDDDDDCCDDCCDDDDDDDDDDDDDDDDDDCCDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDCCDDDDCCDDDDDDDDDDCCDDDDDDDDDDCCDDDDDDDDDDDDDDDDDDDDDDDDDDCCDDCCDDDDDDDDDDDDDDDDDDDDDDCCDDDDDDDDDDCCDDCCDDDDDDDDDDDDDDDDDDDDCCDDDDDDDDDDDDCCDDDDDDDDDDCCDDDDCCDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDCCDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDCCDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDCCDDDDDDDDDDDDDDCCCCDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDCCDDDDDDDDDDCCCCDDDDDDDDDDCCDDDDDDDDDDDDDDDDDDDDDDDDDDDDCCCCDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDCCDDDDDDDDDDDDDDDDDDDDDDCCDDDDCCDDDDDDDDDDDDDDDDDDDDDDDDCCDDDDDDDDDDDDDDDDCCDDCCDDDDDDDDDDDDDDDDCCDDDDDDDDDDCCCCDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDCCDDDDDDDDDDDDDDDDDDDDDDDDDDCCDDDDDDDDDDDDDDDDCCDDDDDDDDCCDDDDDDDDCCDDCCDDDDDDDDDDDDDDDDDDDDCCDDDDDDDDDDDDCCDDDDDDDDDDDDDDCCDDDDDDDDDDDDCCDDCCDDDDDDCCDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDCCCCDDCCDDCCDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDCCDDCCCCDDDDDDDDDDCCDDCCDDCCDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDCCCCDDDDDDDDDDDDDDDDDDDDCCDDDDDDDDDDCCDDCCDDCCDDCCDDDDDDCCDDDDCCDDDDDDDDDDDDDDCCDDCCDDDDDDDDDDDDDDDDDDDDDDDDCCDDDDDDDDCCDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDCCDDDDDDDDCCDDDDDDDDCCDDDDDDDDCCDDDDDDDDCCCCDDDDCCDDDDDDDDDDDDCCDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDCCDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDCCDDDDDDCCDDDDDDDDDDCCDDDDDDDDDDCCDDDDCCCCCCDDCCDDCCDDDDCCDDDDDDDDDDDDDDDDDDDDDDDDDDCCDDDDDDDDDDDDDDDDDDCCDDDDDDDDDDDDCCDDDDDDDDDDCCDDDDDDDDDDDDDDCCDDDDCCDDDDDDCCDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDCCDDDDDDDDCCDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDCCDDDDDDCCDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDCCCCDDDDDDCCDDDDDDDDCCCCCCDDDDDDDDCCDDDDDDCCDDDDDDDDDDCCCCDDCCDDDDDDDDDDCCDDDDCCDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDCCDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDCCDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDCCDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDCCDDDDDDDDDDDDCCDDDDCCDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDCCCCDDDDDDDDDDDDDDCCDDDDDDDDDDDDCCCCDDDDDDDDDDDDDDDDDDDDDDDDCCDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDCCDDCCDDDDDDDDCCDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDCCDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDCCDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDCCDDDDDDDDDDDDDDDDDDDDDDCCDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDCCDDDDDDDDDDDDCCDDDDDDDDDDDDDDDDDDCCDDDDDDDDDDDDDDDDDDDDDDDDDDCCCCDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDCCDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDCCDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDCCDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDCCDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDCCDDDDDDDDDDDDDDDDCCDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDCCDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDCCDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDCCDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDCCDDDDDDDDDDDDCCDDDDCCDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDCCCCDDDDDDDDDDDDDDCCDDDDDDDDDDDDCCCCDDDDDDDDDDDDDDDDDDDDDDDDCCDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDCCDDCCDDDDDDDDCCDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDCCDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDCCDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDCCDDDDDDDDDDDDDDDDDDDDDDCCDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDCCDDDDDDDDDDDDCCDDDDDDDDDDDDDDDDDDCCDDDDDDDDDDDDDDDDDDDDDDDDDDCCCCDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDCCDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDCCDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDCCDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDCCDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDCCDDDDDDDDDDDDDDDDCCDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDEEDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDEEDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDEEDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDEEDDDDDDDDEEDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDEEDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDEEDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDEEDDDDDDDDDDDDDDDDDDDDDDDDDDEEDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDEEDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDEEDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDEEDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDEEDDDDDDDDEEDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDEEDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDEEDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDEEDDDDDDDDDDDDDDDDDDDDDDDDDDEEDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDEEDDDDDDDDDDDDDDDDDDDDDDEEDDDDDDDDDDDDDDDDDDDDDDDDEEDDDDDDDDDDEEDDDDDDDDEEDDDDDDDDDDDDDDDDDDDDEEDDDDDDEEDDDDEEDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDEEEEDDDDDDEEDDDDDDDDDDDDEEDDDDDDEEDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDEEDDDDDDEEDDDDDDDDDDEEDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDEEDDDDDDEEDDEEDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDEEDDDDDDDDDDDDDDEEDDDDEEDDDDDDDDDDDDDDDDEEDDDDDDDDDDDDDDEEDDDDEEDDDDDDDDDDDDDDDDDDDDDDDDEEEEDDDDDDDDDDDDEEDDEEDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDEEDDDDDDDDDDDDDDDDEEDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDEEDDDDDDDDDDDDDDDDDDEEDDDDDDDDDDDDDDEEDDDDDDDDDDDDDDDDDDEEEEEEDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDEEDDDDEEDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDEEDDEEDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDEEDDDDDDDDDDDDDDDDDDDDDDDDDDEEDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDEEDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDEEDDDDDDDDDDDDDDDDDDDDDDDDDDDDEEDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDEEEEDDDDDDDDDDDDEEDDDDDDDDDDDDDDDDDDDDEEDDDDDDDDDDEEDDDDDDDDDDDDDDDDDDDDEEDDDDDDDDDDDDDDEEDDDDDDDDEEDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDEEDDDDDDDDDDDDEEDDEEDDDDDDDDDDDDDDDDDDDDDDDDEEDDDDDDDDDDDDDDDDDDEEDDDDDDDDDDEEDDDDDDDDEEDDDDEEDDDDDDDDEEDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDEEDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDEEDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDEEDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDEEDDDDEEDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDEEEEDDDDDDDDDDDDDDDDDDDDEEDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDEEDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDEEDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDEEDDDDDDDDDDDDDDDDEEDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDEEDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDEEDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDEEDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDEEDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDEEDDDDDDDDDDDDDDDDDDDDEEDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDEEDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDEEDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDEEDDDDDDDDDDEEDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDEEDDDDDDDDDDDDDDDDDDDDEEDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDEEDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDEEDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDEEDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDEEDDEEDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDEEDDDDDDDDDDDDDDDDDDDDDDEEDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDEEDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDEEDDDDDDDDDDDDDDDDDDDDDDEEDDDDDDDDDDDDDDDDDDDDDDDDEEDDDDDDDDDDEEDDDDDDDDEEDDDDDDDDDDDDDDDDDDDDEEDDDDDDEEDDDDEEDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDEEEEDDDDDDEEDDDDDDDDDDDDEEDDDDDDEEDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDEEDDDDDDEEDDDDDDDDDDEEDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDEEDDDDDDEEDDEEDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDEEDDDDDDDDDDDDDDEEDDDDEEDDDDDDDDDDDDDDDDEEDDDDDDDDDDDDDDEEDDDDEEDDDDDDDDDDDDDDDDDDDDDDDDEEEEDDDDDDDDDDDDEEDDEEDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDEEDDDDDDDDDDDDDDDDEEDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDEEDDDDDDDDDDDDDDDDDDEEDDDDDDDDDDDDDDEEDDDDDDDDDDDDDDDDDDEEEEEEDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDEEDDDDEEDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDEEDDEEDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDEEDDDDDDDDDDDDDDDDDDDDDDDDDDEEDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDEEDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDEEDDDDDDDDDDDDDDDDDDDDDDDDDDDDEEDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDEEEEDDDDDDDDDDDDEEDDDDDDDDDDDDDDDDDDDDEEDDDDDDDDDDEEDDDDDDDDDDDDDDDDDDDDEEDDDDDDDDDDDDDDEEDDDDDDDDEEDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDEEDDDDDDDDDDDDEEDDEEDDDDDDDDDDDDDDDDDDDDDDDDEEDDDDDDDDDDDDDDDDDDEEDDDDDDDDDDEEDDDDDDDDEEDDDDEEDDDDDDDDEEDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDEEDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDEEDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDEEDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDEEDDDDEEDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDEEEEDDDDDDDDDDDDDDDDDDDDEEDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDEEDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDEEDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDEEDDDDDDDDDDDDDDDDEEDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDEEDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDEEDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDEEDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDEEDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDEEDDDDDDDDDDDDDDDDDDDDEEDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDEEDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDEEDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDEEDDDDDDDDDDEEDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDEEDDDDDDDDDDDDDDDDDDDDEEDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDEEDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDEEDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDEEDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDEEDDEEDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDEEDDDDDDDDDDDDDDDDDDDDDDEEDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDEEDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDEEDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDEEDDDDDDEEDDEEEEDDDDDDEEDDDDDDDDDDDDEEDDDDDDDDEEDDDDEEEEDDDDDDEEDDDDEEDDDDDDDDDDDDEEDDDDDDDDDDEEDDDDDDDDDDDDDDDDEEDDEEDDEEDDDDEEEEDDEEEEDDDDDDDDEEDDDDDDDDDDDDEEDDDDDDDDDDEEDDDDDDDDDDDDEEDDDDDDDDDDEEDDDDDDEEDDDDDDEEDDDDDDEEDDDDEEDDDDDDDDDDDDDDDDDDDDDDDDDDDDEEDDDDDDDDDDEEDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDEEEEDDDDEEDDDDEEDDDDDDDDDDDDDDDDDDDDDDDDDDDDEEEEDDDDDDDDEEDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDEEDDDDEEDDEEDDDDEEEEDDDDDDDDDDDDDDEEDDDDDDDDEEDDDDDDEEDDDDDDEEEEEEDDEEDDDDDDDDDDDDDDDDDDDDDDDDDDEEDDDDDDEEDDDDDDDDDDDDEEDDDDDDDDEEDDDDDDDDDDDDDDDDEEDDDDDDEEDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDEEDDDDDDDDDDDDDDDDDDEEDDDDEEDDDDDDEEDDEEDDDDDDDDEEDDDDEEDDEEDDEEDDDDDDDDDDEEDDEEEEEEDDDDDDDDDDDDDDDDDDEEDDEEEEDDEEDDEEDDDDDDDDDDEEEEDDDDDDDDDDDDDDDDDDDDDDDDDDEEEEDDDDDDDDDDDDDDDDEEDDDDDDDDDDDDEEDDEEDDEEDDDDDDEEEEDDDDDDDDEEDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDEEDDDDDDDDDDDDDDDDEEDDDDDDDDDDDDEEDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDEEDDDDDDEEDDDDEEEEEEDDDDDDEEDDDDDDDDDDEEDDEEDDDDDDDDDDEEDDDDEEDDEEDDDDDDDDDDDDDDDDDDDDDDDDDDEEDDDDDDDDDDDDDDDDDDDDEEDDDDEEDDDDEEDDDDEEDDDDDDDDDDDDEEDDEEDDDDDDDDDDDDDDEEEEEEEEDDDDEEDDDDEEDDDDEEDDDDDDDDDDDDDDDDEEDDDDDDDDDDDDEEEEDDDDDDDDDDDDEEEEEEDDDDDDDDEEDDDDDDDDDDDDDDDDEEDDDDDDDDEEDDEEDDDDDDEEDDDDDDDDDDEEDDDDDDDDDDDDDDDDDDDDEEDDDDDDEEEEDDDDEEDDDDDDDDDDDDDDDDDDDDDDDDDDDDEEDDDDEEEEDDDDDDDDDDDDDDDDDDDDDDDDDDDDEEDDDDDDDDDDDDEEDDDDDDDDDDDDDDDDDDDDEEDDDDDDDDEEDDDDDDDDDDDDDDDDDDDDEEDDDDDDDDDDDDDDDDDDDDDDEEDDDDDDDDDDDDDDDDDDDDDDEEDDDDDDDDDDEEDDDDEEDDDDDDDDDDDDDDDDEEDDDDDDDDEEDDDDDDDDDDEEDDDDEEEEDDDDDDDDEEDDDDDDDDDDEEDDDDDDEEDDEEDDDDEEDDDDDDEEDDEEDDDDDDDDDDDDDDDDDDDDEEDDDDDDDDDDDDDDDDDDDDDDEEDDEEDDDDEEDDDDDDDDDDDDDDDDDDEEEEDDDDDDDDDDDDEEDDDDDDDDDDDDDDDDEEDDDDDDDDDDEEDDDDDDDDDDEEDDDDDDDDEEDDDDDDDDDDDDDDDDDDDDEEDDDDDDDDDDDDDDDDDDDDDDEEDDDDEEDDDDDDDDDDDDDDDDDDEEEEDDDDDDDDEEDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDEEDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDEEEEDDDDDDEEDDDDDDDDDDDDDDDDDDDDEEDDDDDDDDDDDDDDDDDDDDDDDDDDEEDDDDEEDDEEDDDDEEDDDDDDEEDDDDDDEEDDEEDDDDDDDDDDDDDDDDDDDDEEDDDDDDDDDDEEDDDDDDEEDDEEDDDDDDDDDDDDDDDDDDDDEEDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDEEDDDDDDDDDDDDDDEEDDDDEEDDDDDDDDDDDDDDDDEEDDDDDDDDDDDDDDEEDDEEEEDDDDDDDDEEDDDDEEDDDDDDDDEEDDDDEEDDDDDDDDDDDDDDDDDDDDEEDDDDDDDDEEDDDDDDDDDDDDDDDDDDDDEEDDDDDDDDDDDDDDDDDDDDEEDDDDDDDDDDDDDDDDDDDDDDEEDDDDEEDDDDEEDDEEDDEEDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDEEDDDDDDEEDDDDDDDDDDDDDDEEDDDDEEEEDDDDDDEEDDDDDDDDEEDDDDDDDDDDEEDDDDDDDDDDDDEEDDDDDDDDDDDDDDDDDDDDDDDDDDEEDDDDEEEEDDEEDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDEEDDDDDDDDDDDDEEDDDDEEDDDDDDEEDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDEEDDDDDDDDDDDDDDDDDDDDDDDDDDEEEEDDDDDDDDDDDDDDDDDDDDDDEEDDDDDDDDDDDDDDDDEEEEDDDDDDEEDDDDDDEEDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDEEDDEEDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDEEDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDEEDDDDDDDDDDEEDDDDDDDDDDEEDDEEEEDDDDDDDDDDEEDDEEDDDDDDDDDDDDDDEEDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDEEDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDEEDDDDDDDDDDDDDDEEDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDEEDDDDDDDDEEDDDDDDDDDDDDDDEEDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDEEDDDDDDDDDDDDEEDDEEDDDDDDDDEEDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDEEDDDDDDEEDDEEDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDEEDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDEEDDDDDDDDDDDDDDDDDDDDDDDDEEDDDDDDDDDDDDDDEEDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDEEDDDDDDDDDDDDDDDDDDDDDDDDDDEEDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDEEDDDDDDDDDDDDDDEEDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDEEDDEEDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDEEDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDEEEEDDDDDDDDDDEEDDDDDDDDDDDDEEDDEEDDDDDDDDDDDDDDDDDDDDEEDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDEEEEDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDEEDDDDDDEEDDEEEEDDDDDDEEDDDDDDDDDDDDEEDDDDDDDDEEDDDDEEEEDDDDDDEEDDDDEEDDDDDDDDDDDDEEDDDDDDDDDDEEDDDDDDDDDDDDDDDDEEDDEEDDEEDDDDEEEEDDEEEEDDDDDDDDEEDDDDDDDDDDDDEEDDDDDDDDDDEEDDDDDDDDDDDDEEDDDDDDDDDDEEDDDDDDEEDDDDDDEEDDDDDDEEDDDDEEDDDDDDDDDDDDDDDDDDDDDDDDDDDDEEDDDDDDDDDDEEDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDEEEEDDDDEEDDDDEEDDDDDDDDDDDDDDDDDDDDDDDDDDDDEEEEDDDDDDDDEEDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDEEDDDDEEDDEEDDDDEEEEDDDDDDDDDDDDDDEEDDDDDDDDEEDDDDDDEEDDDDDDEEEEEEDDEEDDDDDDDDDDDDDDDDDDDDDDDDDDEEDDDDDDEEDDDDDDDDDDDDEEDDDDDDDDEEDDDDDDDDDDDDDDDDEEDDDDDDEEDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDEEDDDDDDDDDDDDDDDDDDEEDDDDEEDDDDDDEEDDEEDDDDDDDDEEDDDDEEDDEEDDEEDDDDDDDDDDEEDDEEEEEEDDDDDDDDDDDDDDDDDDEEDDEEEEDDEEDDEEDDDDDDDDDDEEEEDDDDDDDDDDDDDDDDDDDDDDDDDDEEEEDDDDDDDDDDDDDDDDEEDDDDDDDDDDDDEEDDEEDDEEDDDDDDEEEEDDDDDDDDEEDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDEEDDDDDDDDDDDDDDDDEEDDDDDDDDDDDDEEDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDEEDDDDDDEEDDDDEEEEEEDDDDDDEEDDDDDDDDDDEEDDEEDDDDDDDDDDEEDDDDEEDDEEDDDDDDDDDDDDDDDDDDDDDDDDDDEEDDDDDDDDDDDDDDDDDDDDEEDDDDEEDDDDEEDDDDEEDDDDDDDDDDDDEEDDEEDDDDDDDDDDDDDDEEEEEEEEDDDDEEDDDDEEDDDDEEDDDDDDDDDDDDDDDDEEDDDDDDDDDDDDEEEEDDDDDDDDDDDDEEEEEEDDDDDDDDEEDDDDDDDDDDDDDDDDEEDDDDDDDDEEDDEEDDDDDDEEDDDDDDDDDDEEDDDDDDDDDDDDDDDDDDDDEEDDDDDDEEEEDDDDEEDDDDDDDDDDDDDDDDDDDDDDDDDDDDEEDDDDEEEEDDDDDDDDDDDDDDDDDDDDDDDDDDDDEEDDDDDDDDDDDDEEDDDDDDDDDDDDDDDDDDDDEEDDDDDDDDEEDDDDDDDDDDDDDDDDDDDDEEDDDDDDDDDDDDDDDDDDDDDDEEDDDDDDDDDDDDDDDDDDDDDDEEDDDDDDDDDDEEDDDDEEDDDDDDDDDDDDDDDDEEDDDDDDDDEEDDDDDDDDDDEEDDDDEEEEDDDDDDDDEEDDDDDDDDDDEEDDDDDDEEDDEEDDDDEEDDDDDDEEDDEEDDDDDDDDDDDDDDDDDDDDEEDDDDDDDDDDDDDDDDDDDDDDEEDDEEDDDDEEDDDDDDDDDDDDDDDDDDEEEEDDDDDDDDDDDDEEDDDDDDDDDDDDDDDDEEDDDDDDDDDDEEDDDDDDDDDDEEDDDDDDDDEEDDDDDDDDDDDDDDDDDDDDEEDDDDDDDDDDDDDDDDDDDDDDEEDDDDEEDDDDDDDDDDDDDDDDDDEEEEDDDDDDDDEEDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDEEDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDEEEEDDDDDDEEDDDDDDDDDDDDDDDDDDDDEEDDDDDDDDDDDDDDDDDDDDDDDDDDEEDDDDEEDDEEDDDDEEDDDDDDEEDDDDDDEEDDEEDDDDDDDDDDDDDDDDDDDDEEDDDDDDDDDDEEDDDDDDEEDDEEDDDDDDDDDDDDDDDDDDDDEEDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDEEDDDDDDDDDDDDDDEEDDDDEEDDDDDDDDDDDDDDDDEEDDDDDDDDDDDDDDEEDDEEEEDDDDDDDDEEDDDDEEDDDDDDDDEEDDDDEEDDDDDDDDDDDDDDDDDDDDEEDDDDDDDDEEDDDDDDDDDDDDDDDDDDDDEEDDDDDDDDDDDDDDDDDDDDEEDDDDDDDDDDDDDDDDDDDDDDEEDDDDEEDDDDEEDDEEDDEEDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDEEDDDDDDEEDDDDDDDDDDDDDDEEDDDDEEEEDDDDDDEEDDDDDDDDEEDDDDDDDDDDEEDDDDDDDDDDDDEEDDDDDDDDDDDDDDDDDDDDDDDDDDEEDDDDEEEEDDEEDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDEEDDDDDDDDDDDDEEDDDDEEDDDDDDEEDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDEEDDDDDDDDDDDDDDDDDDDDDDDDDDEEEEDDDDDDDDDDDDDDDDDDDDDDEEDDDDDDDDDDDDDDDDEEEEDDDDDDEEDDDDDDEEDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDEEDDEEDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDEEDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDEEDDDDDDDDDDEEDDDDDDDDDDEEDDEEEEDDDDDDDDDDEEDDEEDDDDDDDDDDDDDDEEDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDEEDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDEEDDDDDDDDDDDDDDEEDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDEEDDDDDDDDEEDDDDDDDDDDDDDDEEDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDEEDDDDDDDDDDDDEEDDEEDDDDDDDDEEDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDEEDDDDDDEEDDEEDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDEEDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDEEDDDDDDDDDDDDDDDDDDDDDDDDEEDDDDDDDDDDDDDDEEDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDEEDDDDDDDDDDDDDDDDDDDDDDDDDDEEDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDEEDDDDDDDDDDDDDDEEDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDEEDDEEDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDEEDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDEEEEDDDDDDDDDDEEDDDDDDDDDDDDEEDDEEDDDDDDDDDDDDDDDDDDDDEEDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDEEEEDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDEEDDEEDDEEEEDDDDEEDDDDEEEEDDDDEEEEDDEEDDDDDDEEEEDDDDEEDDEEDDEEEEDDDDEEEEEEDDDDEEEEEEDDEEEEDDEEEEDDEEEEEEDDDDDDDDEEEEDDDDDDDDEEEEDDEEEEDDDDDDDDEEDDDDEEDDEEDDDDEEDDDDDDDDEEEEEEDDEEDDDDEEDDDDEEDDEEDDEEEEDDDDEEDDDDEEEEDDDDDDDDDDDDDDDDDDDDEEDDDDDDDDDDDDDDDDDDDDDDEEDDEEDDDDEEDDDDDDEEDDEEDDEEEEEEDDEEEEDDDDDDDDEEEEEEDDEEDDEEDDDDEEDDEEDDDDDDEEDDEEDDDDEEDDEEEEDDDDDDEEEEDDDDDDDDDDDDEEEEDDDDEEEEDDDDEEDDEEDDDDEEDDDDDDDDEEDDEEDDEEEEEEEEDDEEEEEEEEDDDDDDEEDDEEDDDDEEDDDDEEDDEEDDEEEEDDDDDDDDDDDDDDEEDDDDDDDDDDEEEEDDEEEEEEDDDDEEDDDDDDDDEEDDEEDDEEDDEEDDEEDDDDEEDDDDEEDDEEDDDDDDEEEEDDEEEEEEEEDDEEDDDDDDDDDDDDEEDDEEDDEEDDEEEEEEDDDDEEDDEEEEDDDDDDDDEEEEDDDDEEEEEEDDDDEEEEDDDDDDDDDDDDEEDDDDDDDDDDEEEEEEEEEEDDEEDDDDEEDDEEDDDDDDEEEEEEDDEEEEDDDDEEDDDDDDEEEEEEDDDDEEEEDDDDDDDDEEDDDDDDDDEEDDDDDDDDEEEEEEDDEEDDEEDDDDDDEEDDEEDDDDDDDDEEDDDDDDEEDDDDDDEEEEEEDDEEEEDDDDDDDDEEEEEEEEEEDDDDDDEEDDDDDDDDDDDDDDDDEEDDDDDDDDDDDDEEDDDDEEDDDDEEEEDDEEEEDDDDDDDDDDDDDDDDEEEEEEEEEEEEEEDDEEDDDDDDDDDDDDDDEEDDEEDDDDEEDDEEDDEEDDDDDDDDDDDDEEDDDDDDDDDDDDDDDDDDDDDDEEEEDDEEDDEEEEDDEEDDDDEEDDEEDDDDDDDDEEDDEEDDEEEEDDEEDDDDEEDDEEDDDDEEDDEEDDDDDDEEEEEEDDDDDDEEDDDDDDDDDDDDDDDDDDEEEEDDDDDDDDDDDDDDDDDDEEDDEEDDDDDDEEEEDDEEDDDDDDDDEEDDDDEEDDDDEEDDEEDDDDDDDDDDDDEEEEDDDDDDDDDDDDDDEEDDDDDDEEEEDDDDEEDDEEDDDDDDEEDDDDEEDDDDEEDDDDDDDDEEDDDDDDDDEEDDDDDDEEDDDDDDDDDDDDDDEEEEDDDDDDDDEEDDEEEEDDDDDDDDDDDDDDEEDDDDEEDDEEDDDDDDDDEEDDDDDDEEDDEEDDDDEEDDDDDDEEDDEEDDEEDDEEDDDDDDDDDDEEDDEEDDDDEEEEEEDDEEDDDDDDDDDDEEDDDDEEDDDDDDEEDDDDEEDDEEDDDDEEDDEEDDDDDDDDEEDDEEDDDDEEDDDDDDDDDDDDEEEEDDDDEEEEDDDDEEDDEEEEDDEEEEDDDDDDEEDDDDDDDDEEDDDDDDDDEEDDDDDDDDDDDDDDDDDDDDDDDDEEDDDDDDDDEEDDEEDDDDEEDDDDDDEEDDDDDDEEDDDDDDDDDDDDDDEEDDEEEEEEDDEEDDEEDDDDDDDDDDEEDDEEDDDDDDDDEEEEDDEEEEDDDDDDDDDDDDDDDDEEEEDDDDDDEEDDEEEEDDDDDDEEDDDDDDDDDDDDEEDDDDDDDDEEDDDDEEEEDDDDDDDDDDDDEEDDEEDDDDDDDDDDDDDDDDDDDDEEDDDDDDDDDDDDDDDDEEDDEEDDDDDDDDEEEEDDEEEEDDDDEEDDEEDDDDDDDDDDDDEEDDDDDDDDDDEEDDDDDDDDDDDDEEEEDDDDDDDDEEDDDDEEEEDDDDDDEEDDDDDDEEDDDDEEEEDDDDDDDDDDEEDDDDDDDDDDDDDDEEDDDDDDDDDDEEDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDEEEEDDDDEEDDDDEEDDEEDDDDDDDDDDDDDDDDDDDDDDDDEEEEDDDDDDDDEEDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDEEDDDDEEDDEEDDDDDDEEDDDDDDDDDDDDDDEEDDDDDDDDEEDDDDDDEEDDDDDDEEEEEEDDEEDDDDDDDDEEDDDDDDDDDDDDDDEEEEDDDDEEDDDDDDDDEEDDEEDDEEDDDDDDDDDDDDDDDDDDEEDDDDDDDDEEDDEEDDDDDDDDEEDDDDDDDDDDEEDDDDDDDDDDDDEEEEDDDDDDDDEEDDDDEEDDDDDDDDDDEEDDEEEEDDDDEEEEEEEEDDDDEEDDDDDDDDEEDDDDEEEEDDDDDDDDDDDDDDDDDDDDDDDDEEEEDDDDDDDDDDDDDDEEDDDDDDDDDDDDDDEEDDDDDDEEDDDDEEDDDDDDDDDDDDDDDDDDDDDDEEDDDDDDDDDDDDDDDDDDDDDDDDDDEEEEDDDDDDDDEEDDDDDDEEEEDDDDDDDDEEDDDDDDDDDDDDDDEEDDDDDDEEEEDDDDDDDDDDDDDDDDDDEEDDDDDDEEDDEEDDDDDDDDDDDDDDDDEEDDDDEEDDDDDDDDDDEEDDDDEEEEDDDDDDDDDDDDDDDDDDEEDDDDDDDDDDDDDDDDEEDDDDDDDDDDEEDDDDDDDDDDDDEEDDDDDDEEDDDDDDDDEEDDDDDDDDDDEEDDEEEEEEDDEEDDDDEEDDDDDDEEDDDDDDDDDDEEDDDDDDEEEEDDDDDDEEDDDDDDEEDDDDDDDDDDDDEEDDDDEEDDDDEEEEDDDDDDDDDDDDDDDDDDDDDDDDDDEEEEDDEEDDEEDDDDDDDDDDEEDDDDDDDDDDDDDDDDDDDDDDEEDDDDDDDDDDDDDDEEEEDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDEEDDDDDDDDDDEEDDDDDDDDDDEEDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDEEDDDDDDDDDDDDDDDDDDDDEEDDDDEEDDDDDDDDDDEEDDDDDDDDDDDDEEDDEEDDDDDDDDDDDDDDEEEEEEDDDDDDEEDDDDDDDDDDEEDDDDDDEEDDDDDDDDEEDDDDDDDDDDDDEEEEDDDDDDDDDDEEEEEEEEDDDDDDDDEEDDDDDDDDDDDDDDDDEEDDDDDDDDEEDDDDDDDDDDEEDDDDDDDDDDEEDDDDDDDDEEDDDDDDDDDDDDDDDDDDEEEEDDDDEEDDDDDDDDDDDDDDEEEEDDEEDDDDDDEEDDDDEEEEEEDDEEDDDDDDDDDDDDDDDDDDDDDDEEDDDDDDDDDDDDEEDDDDEEDDDDDDDDDDDDDDEEDDDDDDDDEEDDDDDDDDDDDDDDDDDDDDEEEEDDDDDDDDDDDDDDDDDDDDEEDDDDDDDDDDDDDDDDDDDDDDEEDDDDDDDDDDDDDDDDEEDDDDDDDDDDDDDDDDEEDDEEDDDDDDDDDDDDEEDDDDDDDDDDDDEEDDDDDDDDEEEEEEDDEEDDDDDDDDDDDDDDEEDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDEEDDDDDDDDDDEEEEDDDDEEDDEEDDEEDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDEEDDDDDDDDDDEEEEDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDEEDDDDDDDDDDDDDDEEDDDDDDDDDDDDDDDDDDDDEEDDDDDDDDDDEEDDDDEEDDDDDDDDDDDDEEDDDDDDDDDDDDDDDDDDDDEEEEEEDDDDDDDDDDDDDDDDEEDDDDDDDDDDDDDDDDEEDDDDDDDDEEDDDDEEDDDDDDDDDDEEEEDDEEDDEEEEDDDDEEDDDDEEEEDDDDEEEEDDEEDDDDDDEEEEDDDDEEDDEEDDEEEEDDDDEEEEEEDDDDEEEEEEDDEEEEDDEEEEDDEEEEEEDDDDDDDDEEEEDDDDDDDDEEEEDDEEEEDDDDDDDDEEDDDDEEDDEEDDDDEEDDDDDDDDEEEEEEDDEEDDDDEEDDDDEEDDEEDDEEEEDDDDEEDDDDEEEEDDDDDDDDDDDDDDDDDDDDEEDDDDDDDDDDDDDDDDDDDDDDEEDDEEDDDDEEDDDDDDEEDDEEDDEEEEEEDDEEEEDDDDDDDDEEEEEEDDEEDDEEDDDDEEDDEEDDDDDDEEDDEEDDDDEEDDEEEEDDDDDDEEEEDDDDDDDDDDDDEEEEDDDDEEEEDDDDEEDDEEDDDDEEDDDDDDDDEEDDEEDDEEEEEEEEDDEEEEEEEEDDDDDDEEDDEEDDDDEEDDDDEEDDEEDDEEEEDDDDDDDDDDDDDDEEDDDDDDDDDDEEEEDDEEEEEEDDDDEEDDDDDDDDEEDDEEDDEEDDEEDDEEDDDDEEDDDDEEDDEEDDDDDDEEEEDDEEEEEEEEDDEEDDDDDDDDDDDDEEDDEEDDEEDDEEEEEEDDDDEEDDEEEEDDDDDDDDEEEEDDDDEEEEEEDDDDEEEEDDDDDDDDDDDDEEDDDDDDDDDDEEEEEEEEEEDDEEDDDDEEDDEEDDDDDDEEEEEEDDEEEEDDDDEEDDDDDDEEEEEEDDDDEEEEDDDDDDDDEEDDDDDDDDEEDDDDDDDDEEEEEEDDEEDDEEDDDDDDEEDDEEDDDDDDDDEEDDDDDDEEDDDDDDEEEEEEDDEEEEDDDDDDDDEEEEEEEEEEDDDDDDEEDDDDDDDDDDDDDDDDEEDDDDDDDDDDDDEEDDDDEEDDDDEEEEDDEEEEDDDDDDDDDDDDDDDDEEEEEEEEEEEEEEDDEEDDDDDDDDDDDDDDEEDDEEDDDDEEDDEEDDEEDDDDDDDDDDDDEEDDDDDDDDDDDDDDDDDDDDDDEEEEDDEEDDEEEEDDEEDDDDEEDDEEDDDDDDDDEEDDEEDDEEEEDDEEDDDDEEDDEEDDDDEEDDEEDDDDDDEEEEEEDDDDDDEEDDDDDDDDDDDDDDDDDDEEEEDDDDDDDDDDDDDDDDDDEEDDEEDDDDDDEEEEDDEEDDDDDDDDEEDDDDEEDDDDEEDDEEDDDDDDDDDDDDEEEEDDDDDDDDDDDDDDEEDDDDDDEEEEDDDDEEDDEEDDDDDDEEDDDDEEDDDDEEDDDDDDDDEEDDDDDDDDEEDDDDDDEEDDDDDDDDDDDDDDEEEEDDDDDDDDEEDDEEEEDDDDDDDDDDDDDDEEDDDDEEDDEEDDDDDDDDEEDDDDDDEEDDEEDDDDEEDDDDDDEEDDEEDDEEDDEEDDDDDDDDDDEEDDEEDDDDEEEEEEDDEEDDDDDDDDDDEEDDDDEEDDDDDDEEDDDDEEDDEEDDDDEEDDEEDDDDDDDDEEDDEEDDDDEEDDDDDDDDDDDDEEEEDDDDEEEEDDDDEEDDEEEEDDEEEEDDDDDDEEDDDDDDDDEEDDDDDDDDEEDDDDDDDDDDDDDDDDDDDDDDDDEEDDDDDDDDEEDDEEDDDDEEDDDDDDEEDDDDDDEEDDDDDDDDDDDDDDEEDDEEEEEEDDEEDDEEDDDDDDDDDDEEDDEEDDDDDDDDEEEEDDEEEEDDDDDDDDDDDDDDDDEEEEDDDDDDEEDDEEEEDDDDDDEEDDDDDDDDDDDDEEDDDDDDDDEEDDDDEEEEDDDDDDDDDDDDEEDDEEDDDDDDDDDDDDDDDDDDDDEEDDDDDDDDDDDDDDDDEEDDEEDDDDDDDDEEEEDDEEEEDDDDEEDDEEDDDDDDDDDDDDEEDDDDDDDDDDEEDDDDDDDDDDDDEEEEDDDDDDDDEEDDDDEEEEDDDDDDEEDDDDDDEEDDDDEEEEDDDDDDDDDDEEDDDDDDDDDDDDDDEEDDDDDDDDDDEEDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDEEEEDDDDEEDDDDEEDDEEDDDDDDDDDDDDDDDDDDDDDDDDEEEEDDDDDDDDEEDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDEEDDDDEEDDEEDDDDDDEEDDDDDDDDDDDDDDEEDDDDDDDDEEDDDDDDEEDDDDDDEEEEEEDDEEDDDDDDDDEEDDDDDDDDDDDDDDEEEEDDDDEEDDDDDDDDEEDDEEDDEEDDDDDDDDDDDDDDDDDDEEDDDDDDDDEEDDEEDDDDDDDDEEDDDDDDDDDDEEDDDDDDDDDDDDEEEEDDDDDDDDEEDDDDEEDDDDDDDDDDEEDDEEEEDDDDEEEEEEEEDDDDEEDDDDDDDDEEDDDDEEEEDDDDDDDDDDDDDDDDDDDDDDDDEEEEDDDDDDDDDDDDDDEEDDDDDDDDDDDDDDEEDDDDDDEEDDDDEEDDDDDDDDDDDDDDDDDDDDDDEEDDDDDDDDDDDDDDDDDDDDDDDDDDEEEEDDDDDDDDEEDDDDDDEEEEDDDDDDDDEEDDDDDDDDDDDDDDEEDDDDDDEEEEDDDDDDDDDDDDDDDDDDEEDDDDDDEEDDEEDDDDDDDDDDDDDDDDEEDDDDEEDDDDDDDDDDEEDDDDEEEEDDDDDDDDDDDDDDDDDDEEDDDDDDDDDDDDDDDDEEDDDDDDDDDDEEDDDDDDDDDDDDEEDDDDDDEEDDDDDDDDEEDDDDDDDDDDEEDDEEEEEEDDEEDDDDEEDDDDDDEEDDDDDDDDDDEEDDDDDDEEEEDDDDDDEEDDDDDDEEDDDDDDDDDDDDEEDDDDEEDDDDEEEEDDDDDDDDDDDDDDDDDDDDDDDDDDEEEEDDEEDDEEDDDDDDDDDDEEDDDDDDDDDDDDDDDDDDDDDDEEDDDDDDDDDDDDDDEEEEDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDEEDDDDDDDDDDEEDDDDDDDDDDEEDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDEEDDDDDDDDDDDDDDDDDDDDEEDDDDEEDDDDDDDDDDEEDDDDDDDDDDDDEEDDEEDDDDDDDDDDDDDDEEEEEEDDDDDDEEDDDDDDDDDDEEDDDDDDEEDDDDDDDDEEDDDDDDDDDDDDEEEEDDDDDDDDDDEEEEEEEEDDDDDDDDEEDDDDDDDDDDDDDDDDEEDDDDDDDDEEDDDDDDDDDDEEDDDDDDDDDDEEDDDDDDDDEEDDDDDDDDDDDDDDDDDDEEEEDDDDEEDDDDDDDDDDDDDDEEEEDDEEDDDDDDEEDDDDEEEEEEDDEEDDDDDDDDDDDDDDDDDDDDDDEEDDDDDDDDDDDDEEDDDDEEDDDDDDDDDDDDDDEEDDDDDDDDEEDDDDDDDDDDDDDDDDDDDDEEEEDDDDDDDDDDDDDDDDDDDDEEDDDDDDDDDDDDDDDDDDDDDDEEDDDDDDDDDDDDDDDDEEDDDDDDDDDDDDDDDDEEDDEEDDDDDDDDDDDDEEDDDDDDDDDDDDEEDDDDDDDDEEEEEEDDEEDDDDDDDDDDDDDDEEDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDEEDDDDDDDDDDEEEEDDDDEEDDEEDDEEDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDEEDDDDDDDDDDEEEEDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDEEDDDDDDDDDDDDDDEEDDDDDDDDDDDDDDDDDDDDEEDDDDDDDDDDEEDDDDEEDDDDDDDDDDDDEEDDDDDDDDDDDDDDDDDDDDEEEEEEDDDDDDDDDDDDDDDDEEDDDDDDDDDDDDDDDDEEDDDDDDDDEEDDDDEEDDDDDDDDDDEEEEEEEEEEDDDDEEEEDDDDEEDDDDDDEEEEDDEEEEEEDDEEDDEEDDDDDDEEDDDDDDDDDDEEEEDDDDEEDDEEDDDDDDEEDDEEEEEEDDDDEEDDDDDDDDDDDDEEDDEEDDEEEEEEDDEEDDDDEEDDDDDDDDDDEEDDEEDDDDDDEEEEDDEEEEDDDDDDDDDDEEEEDDDDDDDDDDDDDDEEEEEEDDEEDDEEDDDDDDEEEEEEEEEEDDEEEEDDEEDDEEEEDDDDEEEEDDEEDDEEDDDDDDDDEEDDEEDDEEEEDDEEEEDDEEDDEEEEDDDDEEEEEEDDDDDDDDDDEEEEEEEEDDEEEEDDDDDDDDEEDDEEDDEEEEEEDDEEDDEEEEEEDDEEEEDDDDDDEEDDEEDDDDEEDDEEDDDDEEDDDDEEDDDDEEDDDDDDDDEEEEEEEEEEDDEEDDDDDDEEDDEEEEEEDDDDEEDDEEDDEEEEDDDDEEDDEEEEEEEEEEEEDDDDEEDDDDEEEEDDEEDDEEDDDDEEDDEEDDDDEEDDEEDDDDEEDDDDEEEEEEDDDDDDDDDDDDEEDDDDEEEEDDEEDDEEEEDDEEEEDDDDEEDDDDEEDDEEEEEEDDDDEEEEEEDDDDEEDDEEDDDDDDEEDDDDEEDDEEEEDDDDDDDDEEEEDDEEDDDDEEEEDDDDDDEEDDEEEEEEDDEEEEEEDDEEDDEEEEDDDDEEEEDDDDEEDDEEDDEEEEEEEEDDDDDDEEDDDDEEEEDDEEDDEEDDDDEEDDEEEEEEDDDDDDDDDDEEEEEEDDEEDDDDDDEEDDDDDDDDDDDDEEDDEEDDEEDDDDDDEEEEDDDDDDEEEEEEDDEEEEEEDDEEDDDDEEDDEEDDDDEEEEDDEEDDDDEEDDEEDDEEEEEEEEDDDDEEEEDDDDEEDDDDDDDDEEEEEEEEEEDDDDEEDDDDEEEEEEDDEEEEDDDDEEDDDDDDDDEEEEDDDDEEEEEEEEEEEEDDDDDDDDEEEEEEEEDDDDDDEEDDDDDDEEEEEEDDDDDDDDDDEEEEEEEEEEDDDDDDDDDDDDDDDDDDDDDDDDDDEEDDEEEEDDDDDDEEEEDDEEEEDDDDEEEEDDEEEEDDEEDDDDDDDDDDEEDDDDEEDDDDEEDDDDEEEEEEDDEEEEDDDDDDEEEEDDDDEEDDEEEEEEDDDDDDDDEEDDDDDDDDDDDDEEEEEEEEDDDDEEEEDDEEDDDDEEDDEEEEDDDDDDDDEEDDDDDDEEEEEEEEDDEEDDEEDDDDDDDDDDEEDDDDEEEEDDEEEEDDDDDDEEDDEEEEDDDDDDEEDDEEEEEEEEEEDDDDDDEEEEDDDDDDEEEEEEDDDDEEEEEEEEEEDDEEDDDDEEEEEEEEDDDDEEEEEEDDEEEEDDEEDDDDEEDDEEDDEEEEDDDDEEEEDDDDEEDDEEEEDDEEEEDDDDDDEEEEEEDDEEEEDDEEDDDDEEDDDDDDDDDDDDDDDDDDEEDDEEDDDDDDDDDDDDEEDDDDDDDDEEEEDDEEEEDDDDDDDDEEEEEEDDEEDDDDDDEEDDDDDDDDDDEEDDDDDDDDDDEEDDEEDDEEEEDDDDDDDDEEDDDDEEDDDDDDEEDDEEDDEEDDEEEEDDEEEEEEEEDDEEDDDDDDDDDDEEDDEEEEEEEEEEDDDDDDDDDDDDDDEEDDEEEEDDEEEEDDDDDDDDEEEEEEEEDDEEDDDDDDDDDDDDDDEEDDEEEEDDEEDDEEEEDDDDEEDDDDEEDDDDEEEEEEDDEEDDDDDDEEEEDDDDEEDDEEDDEEEEDDDDEEEEEEDDDDEEEEEEDDEEEEDDEEEEDDEEEEEEEEDDDDDDEEEEDDDDDDDDEEEEDDEEEEDDEEDDDDEEDDDDEEDDDDDDDDEEDDDDDDDDEEEEEEDDEEDDDDEEDDDDEEDDEEDDEEEEDDDDEEDDDDEEEEDDDDDDDDDDDDEEDDDDDDEEDDEEEEDDDDDDDDDDDDDDDDEEDDEEDDDDEEDDDDEEDDDDEEDDEEEEEEDDEEEEDDDDDDDDEEEEEEDDEEDDEEDDDDEEDDEEDDDDDDEEDDEEDDDDEEDDEEEEDDDDEEEEEEDDDDDDDDDDDDEEEEDDDDEEEEDDDDEEEEEEDDDDDDDDDDDDDDEEDDEEDDEEEEEEEEDDEEEEEEEEDDDDDDEEDDEEDDDDEEDDDDEEEEEEDDEEEEDDDDDDDDDDDDDDEEDDDDDDDDDDEEEEDDDDDDDDEEEEDDDDEEEEDDDDEEDDDDDDEEDDDDDDEEDDEEEEDDEEEEDDEEDDEEEEDDEEEEDDDDEEDDDDDDDDEEDDDDDDDDDDDDDDDDDDDDDDEEDDDDDDDDEEEEEEDDDDDDEEEEDDDDDDDDDDDDDDDDEEEEEEDDDDEEEEDDDDDDEEEEDDDDDDDDEEEEEEDDDDDDDDEEEEDDEEDDDDDDDDDDEEDDDDDDEEDDEEDDEEEEDDEEDDDDDDDDEEDDEEEEDDEEDDEEEEDDDDEEDDDDEEEEDDDDEEEEEEDDDDDDDDDDDDEEEEEEDDEEDDDDDDEEEEDDDDDDDDEEDDDDEEDDEEEEDDDDDDEEDDEEDDDDDDDDDDEEDDDDDDDDEEDDDDDDEEEEEEEEDDDDEEDDDDDDDDDDDDEEEEDDDDEEDDEEDDEEDDDDEEEEDDDDEEEEEEDDDDDDDDEEDDDDDDDDDDDDDDDDDDEEDDDDDDDDDDDDEEEEDDDDDDDDDDDDDDEEDDDDDDDDEEDDDDDDEEEEDDDDDDEEDDDDDDDDDDDDEEDDEEEEEEDDDDDDDDEEEEEEEEEEDDDDDDEEDDEEEEDDDDDDDDDDDDDDDDDDEEEEDDDDDDDDDDDDEEDDEEEEEEDDDDDDDDDDDDDDDDDDDDEEDDEEDDDDDDEEDDDDDDEEDDEEEEEEDDDDEEEEDDEEDDEEDDEEDDDDDDDDDDDDDDDDEEDDEEEEDDDDEEEEDDEEDDDDDDDDDDDDDDEEDDEEDDDDEEDDDDDDEEDDDDDDDDDDDDEEDDDDDDDDDDDDDDDDDDDDDDEEEEDDEEDDEEEEEEEEDDDDEEDDEEDDDDDDDDEEDDEEDDEEEEDDEEDDDDEEDDEEDDDDEEDDEEDDDDDDEEEEEEDDDDDDEEEEDDDDDDDDDDDDDDDDEEDDDDDDDDDDDDDDDDEEDDEEDDEEDDDDDDEEEEDDEEDDDDDDDDEEDDEEEEDDDDEEDDEEEEDDDDDDDDDDDDEEDDDDDDDDDDDDDDEEDDDDDDEEEEDDDDEEDDEEDDEEDDEEDDDDEEDDDDEEDDDDDDDDEEDDDDDDDDDDDDDDDDEEDDDDDDDDDDDDDDEEEEDDDDDDDDEEEEEEEEDDDDDDDDDDDDDDEEDDDDDDDDEEDDDDDDDDEEDDDDDDEEDDEEDDDDEEDDDDDDEEDDDDDDEEDDEEDDEEDDDDDDEEDDEEDDDDEEEEEEDDEEDDEEDDDDDDDDDDDDEEDDDDDDEEDDDDEEDDEEDDDDDDEEDDDDEEDDDDDDDDEEDDEEEEDDDDDDDDDDDDEEEEDDDDDDDDDDDDEEDDDDDDDDDDDDEEDDEEDDDDDDDDDDEEDDDDDDDDDDEEDDDDEEEEEEDDEEDDDDDDDDEEDDDDDDEEDDDDDDDDDDDDDDDDDDDDDDEEDDDDEEEEDDDDEEDDDDDDDDEEEEEEEEDDDDDDEEDDDDDDEEEEEEEEEEDDDDEEDDEEDDDDDDDDDDDDDDDDDDDDDDDDDDEEEEEEDDDDDDEEDDEEDDDDDDEEDDDDDDDDDDDDDDDDDDDDEEDDDDDDEEEEDDDDEEDDDDDDDDDDDDDDEEEEDDEEDDDDDDEEEEDDEEEEEEDDDDDDDDDDEEDDEEEEEEEEDDDDEEEEDDDDEEDDDDDDEEEEDDEEEEEEDDEEDDEEDDDDDDEEDDDDDDDDDDEEEEDDDDEEDDEEDDDDDDEEDDEEEEEEDDDDEEDDDDDDDDDDDDEEDDEEDDEEEEEEDDEEDDDDEEDDDDDDDDDDEEDDEEDDDDDDEEEEDDEEEEDDDDDDDDDDEEEEDDDDDDDDDDDDDDEEEEEEDDEEDDEEDDDDDDEEEEEEEEEEDDEEEEDDEEDDEEEEDDDDEEEEDDEEDDEEDDDDDDDDEEDDEEDDEEEEDDEEEEDDEEDDEEEEDDDDEEEEEEDDDDDDDDDDEEEEEEEEDDEEEEDDDDDDDDEEDDEEDDEEEEEEDDEEDDEEEEEEDDEEEEDDDDDDEEDDEEDDDDEEDDEEDDDDEEEEDDEEDDDDEEDDDDDDDDEEEEEEEEEEDDEEDDDDDDEEDDEEEEEEDDDDEEDDEEDDEEEEDDDDEEDDEEEEEEEEEEEEDDDDEEDDDDEEEEDDEEDDEEDDDDEEDDEEDDDDEEDDEEDDDDEEDDDDEEEEEEDDDDDDDDDDDDEEDDDDEEEEDDEEDDEEEEDDEEEEDDDDEEDDDDEEDDEEEEEEDDDDEEEEEEDDDDEEDDEEDDDDDDEEDDDDEEDDEEEEDDDDDDDDEEEEDDEEDDDDEEEEDDDDDDEEDDEEEEEEDDEEEEEEDDEEDDEEEEDDDDEEEEDDDDEEDDEEDDEEEEEEEEDDDDDDEEDDDDEEEEDDEEDDEEDDDDEEDDEEEEEEDDDDDDDDDDEEEEEEDDEEDDDDDDEEDDDDDDDDDDDDEEDDEEDDEEDDDDDDEEEEDDDDDDEEEEEEDDEEEEEEDDEEDDDDEEDDEEDDDDEEEEDDEEDDDDEEDDEEDDEEEEEEEEDDDDEEEEDDDDEEDDDDDDDDEEEEEEEEEEDDDDEEDDDDEEEEEEDDEEEEDDDDEEDDDDDDDDEEEEDDDDEEEEEEEEEEEEDDDDDDDDEEEEEEEEDDDDDDEEDDDDDDEEEEEEDDDDDDDDDDEEEEEEEEEEDDDDDDDDDDDDDDDDDDDDDDDDDDEEDDEEEEDDDDDDEEEEDDEEEEDDDDEEEEDDEEEEDDEEDDDDDDDDDDEEDDDDEEDDDDEEDDDDEEEEEEDDEEEEDDDDDDEEEEDDDDEEDDEEEEEEDDDDDDDDEEDDDDDDDDDDDDEEEEEEEEDDDDEEEEDDEEDDDDEEDDEEEEDDDDDDDDEEDDDDDDEEEEEEEEDDEEDDEEDDDDDDDDDDEEDDDDEEEEDDEEEEDDDDDDEEDDEEEEDDDDDDEEDDEEEEEEEEEEDDDDDDEEEEDDDDDDEEEEEEDDDDEEEEEEEEEEDDEEDDDDEEEEEEEEDDDDEEEEEEDDEEEEDDEEDDDDEEDDEEDDEEEEDDDDEEEEDDDDEEDDEEEEDDEEEEDDDDDDEEEEEEDDEEEEDDEEDDDDEEDDDDDDDDDDDDDDDDDDEEDDEEDDDDDDDDDDDDEEDDDDDDDDEEEEDDEEEEDDDDDDDDEEEEEEDDEEDDDDDDEEDDDDDDDDDDEEDDDDDDDDDDEEDDEEDDEEEEDDDDDDDDEEDDDDEEDDDDDDEEDDEEDDEEDDEEEEDDEEEEEEEEDDEEDDDDDDDDDDEEDDEEEEEEEEEEDDDDDDDDDDDDDDEEDDEEEEDDEEEEDDDDDDDDEEEEEEEEDDEEDDDDDDDDDDDDDDEEDDEEEEDDEEDDEEEEDDDDEEDDDDEEDDDDEEEEEEDDEEDDDDDDEEEEDDDDEEDDEEDDEEEEDDDDEEEEEEDDDDEEEEEEDDEEEEDDEEEEDDEEEEEEEEDDDDDDEEEEDDDDDDDDEEEEDDEEEEDDEEDDDDEEDDDDEEDDDDDDDDEEDDDDDDDDEEEEEEDDEEDDDDEEDDDDEEDDEEDDEEEEDDDDEEDDDDEEEEDDDDDDDDDDDDEEDDDDDDEEDDEEEEDDDDDDDDDDDDDDDDEEDDEEDDDDEEDDDDEEDDDDEEDDEEEEEEDDEEEEDDDDDDDDEEEEEEDDEEDDEEDDDDEEDDEEDDDDDDEEDDEEDDDDEEDDEEEEDDDDEEEEEEDDDDDDDDDDDDEEEEDDDDEEEEDDDDEEEEEEDDDDDDDDDDDDDDEEDDEEDDEEEEEEEEDDEEEEEEEEDDDDDDEEDDEEDDDDEEDDDDEEEEEEDDEEEEDDDDDDDDDDDDDDEEDDDDDDDDDDEEEEDDDDDDDDEEEEDDDDEEEEDDDDEEDDDDDDEEDDDDDDEEDDEEEEDDEEEEDDEEDDEEEEDDEEEEDDDDEEDDDDDDDDEEDDDDDDDDDDDDDDDDDDDDDDEEDDDDDDDDEEEEEEDDDDDDEEEEDDDDDDDDDDDDDDDDEEEEEEDDDDEEEEDDDDDDEEEEDDDDDDDDEEEEEEDDDDDDDDEEEEDDEEDDDDDDDDDDEEDDDDDDEEDDEEDDEEEEDDEEDDDDDDDDEEDDEEEEDDEEDDEEEEDDDDEEDDDDEEEEDDDDEEEEEEDDDDDDDDDDDDEEEEEEDDEEDDDDDDEEEEDDDDDDDDEEDDDDEEDDEEEEDDDDDDEEDDEEDDDDDDDDDDEEDDDDDDDDEEDDDDDDEEEEEEEEDDDDEEDDDDDDDDDDDDEEEEDDDDEEDDEEDDEEDDDDEEEEDDDDEEEEEEDDDDDDDDEEDDDDDDDDDDDDDDDDDDEEDDDDDDDDDDDDEEEEDDDDDDDDDDDDDDEEDDDDDDDDEEDDDDDDEEEEDDDDDDEEDDDDDDDDDDDDEEDDEEEEEEDDDDDDDDEEEEEEEEEEDDDDDDEEDDEEEEDDDDDDDDDDDDDDDDDDEEEEDDDDDDDDDDDDEEDDEEEEEEDDDDDDDDDDDDDDDDDDDDEEDDEEDDDDDDEEDDDDDDEEDDEEEEEEDDDDEEEEDDEEDDEEDDEEDDDDDDDDDDDDDDDDEEDDEEEEDDDDEEEEDDEEDDDDDDDDDDDDDDEEDDEEDDDDEEDDDDDDEEDDDDDDDDDDDDEEDDDDDDDDDDDDDDDDDDDDDDEEEEDDEEDDEEEEEEEEDDDDEEDDEEDDDDDDDDEEDDEEDDEEEEDDEEDDDDEEDDEEDDDDEEDDEEDDDDDDEEEEEEDDDDDDEEEEDDDDDDDDDDDDDDDDEEDDDDDDDDDDDDDDDDEEDDEEDDEEDDDDDDEEEEDDEEDDDDDDDDEEDDEEEEDDDDEEDDEEEEDDDDDDDDDDDDEEDDDDDDDDDDDDDDEEDDDDDDEEEEDDDDEEDDEEDDEEDDEEDDDDEEDDDDEEDDDDDDDDEEDDDDDDDDDDDDDDDDEEDDDDDDDDDDDDDDEEEEDDDDDDDDEEEEEEEEDDDDDDDDDDDDDDEEDDDDDDDDEEDDDDDDDDEEDDDDDDEEDDEEDDDDEEDDDDDDEEDDDDDDEEDDEEDDEEDDDDDDEEDDEEDDDDEEEEEEDDEEDDEEDDDDDDDDDDDDEEDDDDDDEEDDDDEEDDEEDDDDDDEEDDDDEEDDDDDDDDEEDDEEEEDDDDDDDDDDDDEEEEDDDDDDDDDDDDEEDDDDDDDDDDDDEEDDEEDDDDDDDDDDEEDDDDDDDDDDEEDDDDEEEEEEDDEEDDDDDDDDEEDDDDDDEEDDDDDDDDDDDDDDDDDDDDDDEEDDDDEEEEDDDDEEDDDDDDDDEEEEEEEEDDDDDDEEDDDDDDEEEEEEEEEEDDDDEEDDEEDDDDDDDDDDDDDDDDDDDDDDDDDDEEEEEEDDDDDDEEDDEEDDDDDDEEDDDDDDDDDDDDDDDDDDDDEEDDDDDDEEEEDDDDEEDDDDDDDDDDDDDDEEEEDDEEDDDDDDEEEEDDEEEEEEDDDDDDDDDDEEDDEEEEEEEEEEEEDDEEEEDDDDDDEEDDEEDDEEDDDDDDDDEEEEEEEEEEEEDDEEEEDDEEEEEEDDEEDDDDEEEEEEEEEEEEEEEEDDEEDDDDEEEEEEEEEEEEDDEEDDDDEEEEEEDDEEEEDDDDEEEEEEDDEEEEEEEEEEEEEEEEDDEEEEEEEEEEEEDDDDDDDDEEDDEEDDEEDDEEDDEEEEEEEEEEEEEEEEEEDDDDEEEEEEDDEEDDEEEEEEEEEEDDEEDDEEDDDDDDEEEEEEDDDDDDDDEEEEEEDDEEEEEEEEEEEEDDEEEEEEDDEEDDDDDDEEEEEEDDEEEEDDEEEEEEEEEEEEDDEEEEEEEEDDEEEEEEEEDDDDEEDDEEEEEEEEEEEEEEEEDDEEEEEEEEDDEEEEEEDDEEEEEEEEDDEEDDEEEEEEEEEEEEEEDDEEEEEEEEEEEEEEEEDDEEEEEEEEEEDDEEDDDDEEEEEEEEDDEEEEDDEEEEEEEEEEEEEEEEEEEEDDEEEEEEDDDDDDEEEEEEEEEEEEEEEEDDEEDDEEDDEEEEEEEEDDDDDDDDEEEEEEEEDDEEDDEEEEDDEEDDEEEEDDEEDDEEEEEEDDDDEEEEDDEEDDEEEEEEEEEEEEEEEEDDEEEEEEEEEEEEDDDDEEDDDDDDEEEEEEDDEEEEDDEEDDEEEEEEEEEEDDDDDDEEEEEEDDEEEEEEEEEEDDEEEEEEEEEEEEEEDDDDEEDDEEDDEEDDDDDDEEEEDDEEDDDDEEEEEEEEEEEEEEDDDDEEDDEEDDEEDDDDEEDDEEEEDDEEEEEEEEEEEEEEDDEEEEEEDDEEDDEEDDEEDDEEDDDDEEEEDDEEEEEEEEEEEEEEEEEEEEEEEEDDDDDDEEDDEEEEEEDDDDEEDDEEEEEEDDDDEEDDDDEEDDEEEEDDEEEEEEDDEEEEEEEEEEDDEEEEDDDDEEEEEEEEEEDDDDEEDDEEEEDDDDEEEEEEEEDDEEEEEEDDEEEEEEDDEEEEEEDDEEDDEEDDDDEEDDEEDDEEDDEEEEDDDDEEEEEEEEEEDDDDEEEEEEEEEEEEEEEEDDEEEEEEDDEEEEEEDDDDEEDDDDEEEEDDDDDDDDEEEEEEDDEEDDDDEEDDEEDDDDDDEEDDEEDDDDDDEEEEDDDDDDDDEEDDDDEEEEEEDDEEEEEEDDEEEEEEEEDDEEDDDDDDDDDDDDDDDDEEEEEEEEEEEEDDDDDDDDEEDDDDDDEEEEDDDDDDDDEEEEEEDDEEDDEEDDEEDDEEEEDDEEDDDDEEEEDDEEDDDDDDEEEEEEDDEEDDEEEEDDDDDDEEDDEEEEEEEEEEEEEEDDDDDDEEEEDDDDDDEEEEDDDDEEEEEEEEDDEEDDDDEEDDDDDDEEDDDDDDDDEEEEDDEEEEEEDDDDDDEEEEEEEEEEDDDDDDEEDDDDDDEEDDEEDDDDEEDDDDEEEEEEDDEEEEDDDDEEEEEEDDDDEEEEEEEEEEEEEEEEDDDDEEDDDDDDDDEEDDEEDDEEDDEEDDEEEEDDEEEEEEEEDDEEDDDDDDEEEEDDEEEEEEEEDDEEEEDDEEEEEEEEEEDDEEEEEEDDEEEEEEEEDDEEEEEEEEEEDDDDDDEEEEDDEEEEEEEEDDDDEEEEDDEEEEDDDDDDEEEEEEDDEEEEEEEEEEEEEEDDEEEEDDEEEEEEEEDDDDEEEEEEEEEEEEDDDDEEDDDDEEEEEEEEEEEEEEEEDDDDEEEEDDDDEEDDDDDDEEEEEEEEEEEEEEEEDDEEDDDDDDEEDDDDDDDDDDEEEEDDDDEEEEEEDDDDEEEEDDEEEEEEDDDDEEDDDDDDDDDDDDEEDDEEDDEEEEEEDDEEDDEEEEDDDDDDDDDDEEDDEEDDDDDDEEEEDDEEEEDDDDDDDDDDEEEEDDDDDDEEDDDDDDEEEEEEDDEEDDEEDDDDDDEEEEEEEEEEDDEEEEDDEEDDEEDDDDEEEEEEDDEEDDEEDDDDDDDDEEDDEEDDEEEEDDEEEEEEEEDDEEEEDDDDEEEEEEDDEEDDDDDDEEEEEEEEDDEEEEDDDDDDDDEEDDEEDDEEEEEEDDEEDDDDEEEEDDDDEEDDDDDDEEDDEEDDDDEEDDEEDDDDEEDDDDEEDDEEEEDDDDDDDDEEEEEEEEEEEEEEEEDDDDEEDDEEEEEEEEDDEEDDEEDDEEEEDDDDEEDDDDEEEEEEEEEEDDDDEEDDDDEEDDEEEEDDEEEEEEEEDDEEDDEEDDDDDDDDDDDDEEDDEEDDEEEEDDEEEEEEDDDDEEDDDDDDDDDDEEEEEEDDDDEEEEDDDDEEEEDDDDDDDDDDEEDDEEDDEEEEDDEEDDEEDDEEDDEEEEEEDDDDEEDDEEEEEEEEDDEEDDEEEEDDDDEEDDEEDDDDDDEEDDEEEEEEDDEEEEDDDDEEDDDDDDEEDDEEEEDDEEEEEEDDEEEEDDDDDDEEEEEEEEDDDDDDDDEEEEEEEEDDEEDDDDDDDDEEEEDDDDDDEEEEDDEEEEDDDDDDDDEEEEEEEEDDDDEEDDEEEEEEDDDDDDDDEEEEDDEEEEEEDDDDEEEEDDDDDDDDDDDDDDEEDDEEDDEEDDDDEEEEDDEEDDDDEEDDEEDDEEEEDDEEEEDDDDDDEEEEEEEEEEEEEEDDEEEEDDEEEEDDDDEEDDDDDDDDEEEEEEEEDDEEEEEEDDEEEEEEDDEEDDDDEEDDDDDDEEDDEEEEEEEEDDEEEEEEEEDDDDEEDDEEEEEEEEDDDDDDEEEEDDDDDDDDDDEEEEDDEEEEEEDDDDDDEEEEEEEEDDEEEEEEDDEEDDEEEEDDEEDDEEEEEEEEEEEEEEDDDDDDEEEEEEEEEEDDDDDDEEDDDDEEEEEEDDDDDDEEEEDDDDEEEEDDEEDDDDDDDDDDDDEEDDDDDDDDEEDDEEEEEEEEEEEEEEDDEEDDEEDDDDDDDDEEDDDDEEDDEEEEDDDDEEDDDDDDDDEEEEDDDDEEEEEEEEEEEEDDDDDDDDEEEEEEEEDDDDDDEEDDDDDDEEEEEEDDDDDDDDDDEEEEEEEEEEDDDDDDDDDDDDDDDDDDDDDDDDDDEEDDEEEEDDDDEEEEEEDDEEEEDDDDEEEEDDEEEEDDEEDDDDDDDDDDEEDDDDEEDDDDEEDDDDEEEEEEDDEEEEDDDDDDEEEEDDDDEEDDEEEEEEDDDDDDEEEEDDDDDDEEDDDDEEEEEEEEDDDDEEEEDDEEDDEEEEDDEEEEDDDDDDDDEEDDDDDDEEEEEEEEDDEEDDEEDDDDDDDDDDEEDDDDEEEEDDEEEEDDDDDDEEDDEEEEDDDDDDEEDDEEEEEEEEEEDDDDDDEEEEDDEEDDEEEEEEDDDDEEDDEEEEEEDDEEDDDDEEEEEEEEDDDDEEEEEEDDEEEEDDEEDDDDEEDDEEDDEEEEDDDDEEEEDDDDEEDDEEEEDDEEEEDDDDDDEEEEEEDDEEEEDDEEDDDDEEDDDDDDDDDDDDDDDDDDDDDDEEEEDDEEDDDDEEDDEEEEDDEEEEDDDDEEDDDDDDEEDDDDEEDDDDDDDDEEDDEEEEEEDDEEDDEEEEDDDDDDDDEEDDEEDDDDDDDDEEEEDDEEEEEEEEEEDDEEEEDDEEEEEEDDDDDDEEDDEEEEDDDDDDEEDDDDDDDDDDDDEEDDDDDDDDEEEEDDEEEEDDDDDDDDEEDDEEDDEEDDDDDDEEDDDDEEDDDDDDDDDDDDEEDDEEEEEEDDDDEEDDEEDDEEDDEEDDEEEEDDDDEEDDEEDDDDDDEEDDEEEEDDDDDDDDDDDDEEDDDDDDEEDDDDEEDDDDDDDDEEDDDDDDEEDDEEEEEEDDEEDDEEEEEEEEDDDDEEDDEEEEEEEEEEEEDDEEEEDDDDDDEEDDEEDDEEDDDDDDDDEEEEEEEEEEEEDDEEEEDDEEEEEEDDEEDDDDEEEEEEEEEEEEEEEEDDEEDDDDEEEEEEEEEEEEDDEEDDDDEEEEEEDDEEEEDDDDEEEEEEDDEEEEEEEEEEEEEEEEDDEEEEEEEEEEEEDDDDDDDDEEDDEEDDEEDDEEDDEEEEEEEEEEEEEEEEEEDDDDEEEEEEDDEEDDEEEEEEEEEEDDEEDDEEDDDDDDEEEEEEDDDDDDDDEEEEEEDDEEEEEEEEEEEEDDEEEEEEDDEEDDDDDDEEEEEEDDEEEEDDEEEEEEEEEEEEDDEEEEEEEEDDEEEEEEEEDDDDEEDDEEEEEEEEEEEEEEEEDDEEEEEEEEDDEEEEEEDDEEEEEEEEDDEEDDEEEEEEEEEEEEEEDDEEEEEEEEEEEEEEEEDDEEEEEEEEEEDDEEDDDDEEEEEEEEDDEEEEDDEEEEEEEEEEEEEEEEEEEEDDEEEEEEDDDDDDEEEEEEEEEEEEEEEEDDEEDDEEDDEEEEEEEEDDDDDDDDEEEEEEEEDDEEDDEEEEDDEEDDEEEEDDEEDDEEEEEEDDDDEEEEDDEEDDEEEEEEEEEEEEEEEEDDEEEEEEEEEEEEDDDDEEDDDDDDEEEEEEDDEEEEDDEEDDEEEEEEEEEEDDDDDDEEEEEEDDEEEEEEEEEEDDEEEEEEEEEEEEEEDDDDEEDDEEDDEEDDDDDDEEEEDDEEDDDDEEEEEEEEEEEEEEDDDDEEDDEEDDEEDDDDEEDDEEEEDDEEEEEEEEEEEEEEDDEEEEEEDDEEDDEEDDEEDDEEDDDDEEEEDDEEEEEEEEEEEEEEEEEEEEEEEEDDDDDDEEDDEEEEEEDDDDEEDDEEEEEEDDDDEEDDDDEEDDEEEEDDEEEEEEDDEEEEEEEEEEDDEEEEDDDDEEEEEEEEEEDDDDEEDDEEEEDDDDEEEEEEEEDDEEEEEEDDEEEEEEDDEEEEEEDDEEDDEEDDDDEEDDEEDDEEDDEEEEDDDDEEEEEEEEEEDDDDEEEEEEEEEEEEEEEEDDEEEEEEDDEEEEEEDDDDEEDDDDEEEEDDDDDDDDEEEEEEDDEEDDDDEEDDEEDDDDDDEEDDEEDDDDDDEEEEDDDDDDDDEEDDDDEEEEEEDDEEEEEEDDEEEEEEEEDDEEDDDDDDDDDDDDDDDDEEEEEEEEEEEEDDDDDDDDEEDDDDDDEEEEDDDDDDDDEEEEEEDDEEDDEEDDEEDDEEEEDDEEDDDDEEEEDDEEDDDDDDEEEEEEDDEEDDEEEEDDDDDDEEDDEEEEEEEEEEEEEEDDDDDDEEEEDDDDDDEEEEDDDDEEEEEEEEDDEEDDDDEEDDDDDDEEDDDDDDDDEEEEDDEEEEEEDDDDDDEEEEEEEEEEDDDDDDEEDDDDDDEEDDEEDDDDEEDDDDEEEEEEDDEEEEDDDDEEEEEEDDDDEEEEEEEEEEEEEEEEDDDDEEDDDDDDDDEEDDEEDDEEDDEEDDEEEEDDEEEEEEEEDDEEDDDDDDEEEEDDEEEEEEEEDDEEEEDDEEEEEEEEEEDDEEEEEEDDEEEEEEEEDDEEEEEEEEEEDDDDDDEEEEDDEEEEEEEEDDDDEEEEDDEEEEDDDDDDEEEEEEDDEEEEEEEEEEEEEEDDEEEEDDEEEEEEEEDDDDEEEEEEEEEEEEDDDDEEDDDDEEEEEEEEEEEEEEEEDDDDEEEEDDDDEEDDDDDDEEEEEEEEEEEEEEEEDDEEDDDDDDEEDDDDDDDDDDEEEEDDDDEEEEEEDDDDEEEEDDEEEEEEDDDDEEDDDDDDDDDDDDEEDDEEDDEEEEEEDDEEDDEEEEDDDDDDDDDDEEDDEEDDDDDDEEEEDDEEEEDDDDDDDDDDEEEEDDDDDDEEDDDDDDEEEEEEDDEEDDEEDDDDDDEEEEEEEEEEDDEEEEDDEEDDEEDDDDEEEEEEDDEEDDEEDDDDDDEEEEDDEEDDEEEEDDEEEEEEEEDDEEEEDDDDEEEEEEDDEEDDDDDDEEEEEEEEDDEEEEDDDDDDDDEEDDEEDDEEEEEEDDEEDDDDEEEEDDDDEEDDDDDDEEDDEEDDDDEEDDEEDDDDEEDDDDEEDDEEEEDDDDDDDDEEEEEEEEEEEEEEEEDDDDEEDDEEEEEEEEDDEEDDEEDDEEEEDDDDEEDDDDEEEEEEEEEEDDDDEEDDDDEEDDEEEEDDEEEEEEEEDDEEDDEEDDDDDDDDDDDDEEDDEEDDEEEEDDEEEEEEDDDDEEDDDDDDDDDDEEEEEEDDDDEEEEDDDDEEEEDDDDDDDDDDEEDDEEDDEEEEDDEEDDEEDDEEDDEEEEEEDDEEEEDDEEEEEEEEDDEEDDEEEEDDDDEEDDEEDDDDDDEEDDEEEEEEDDEEEEDDDDEEDDDDDDEEDDEEEEDDEEEEEEDDEEEEDDDDDDEEEEEEEEDDDDDDDDEEEEEEEEDDEEDDDDDDDDEEEEDDDDDDEEEEDDEEEEDDDDDDDDEEEEEEEEDDDDEEDDEEEEEEDDDDDDDDEEEEDDEEEEEEDDDDEEEEDDDDDDDDDDDDDDEEDDEEDDEEDDDDEEEEDDEEDDDDEEDDEEDDEEEEDDEEEEDDDDDDEEEEEEEEEEEEEEDDEEEEDDEEEEDDDDEEDDDDDDDDEEEEEEEEDDEEEEEEDDEEEEEEDDEEDDDDEEDDDDDDEEDDEEEEEEEEDDEEEEEEEEDDDDEEDDEEEEEEEEDDDDDDEEEEDDDDDDDDDDEEEEDDEEEEEEDDDDDDEEEEEEEEDDEEEEEEDDEEDDEEEEDDEEDDEEEEEEEEEEEEEEDDDDDDEEEEEEEEEEDDDDDDEEDDDDEEEEEEDDDDDDEEEEDDDDEEEEDDEEDDDDDDDDDDDDEEDDDDDDDDEEDDEEEEEEEEEEEEEEDDEEDDEEDDDDDDDDEEDDDDEEDDEEEEDDDDEEDDDDDDDDEEEEDDDDEEEEEEEEEEEEDDDDDDDDEEEEEEEEDDDDDDEEDDDDDDEEEEEEDDDDDDDDDDEEEEEEEEEEDDDDDDDDDDDDDDDDDDDDDDDDDDEEDDEEEEDDDDEEEEEEDDEEEEDDDDEEEEDDEEEEDDEEDDDDDDDDDDEEDDDDEEDDDDEEDDDDEEEEEEDDEEEEDDDDDDEEEEDDDDEEDDEEEEEEDDDDDDEEEEDDDDDDEEDDDDEEEEEEEEDDDDEEEEDDEEDDEEEEDDEEEEDDDDDDDDEEDDDDDDEEEEEEEEDDEEDDEEDDDDDDDDDDEEDDDDEEEEDDEEEEDDDDDDEEDDEEEEDDDDDDEEDDEEEEEEEEEEDDDDDDEEEEDDEEDDEEEEEEDDDDEEDDEEEEEEDDEEDDDDEEEEEEEEDDDDEEEEEEDDEEEEDDEEDDDDEEDDEEDDEEEEDDDDEEEEDDDDEEDDEEEEDDEEEEDDDDDDEEEEEEDDEEEEDDEEDDDDEEDDDDDDDDDDDDDDDDDDDDDDEEEEDDEEDDDDEEDDEEEEDDEEEEDDDDEEDDDDDDEEDDDDEEDDDDDDDDEEDDEEEEEEDDEEDDEEEEDDDDDDDDEEDDEEDDDDDDDDEEEEDDEEEEEEEEEEDDEEEEDDEEEEEEDDDDDDEEDDEEEEDDDDDDEEDDDDDDDDDDDDEEDDDDDDDDEEEEDDEEEEDDDDDDDDEEDDEEDDEEDDDDDDEEDDDDEEDDDDDDDDDDDDEEDDEEEEEEDDDDEEDDEEDDEEDDEEDDEEEEDDDDEEDDEEDDDDDDEEDDEEEEDDDDDDDDDDDDEEDDDDDDEEDDDDEEDDDDDDDDEEDDDDDDEEDDEEEEEEDDEEDDEEEEEEEEDDDDEEDDEEEEDDEEEEDDEEEEDDEEEEDDDDEEEEEEEEEEEEEEEEEEDDDDEEEEEEEEDDEEEEEEEEEEDDEEEEEEEEDDEEEEEEEEDDDDEEEEEEEEEEEEEEEEEEEEEEDDEEEEEEEEEEEEEEEEEEDDDDEEDDEEEEEEEEDDEEDDEEEEEEEEEEDDEEEEDDEEDDEEEEEEEEEEEEEEEEEEEEEEEEEEDDEEEEEEEEEEEEEEEEEEEEEEEEDDEEEEEEEEEEEEDDEEEEEEEEEEEEDDEEEEEEEEEEEEEEEEDDEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEDDEEEEEEEEEEDDEEEEEEDDDDEEDDEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEDDEEEEDDEEEEEEEEDDEEEEDDEEDDEEEEDDEEDDEEEEEEEEEEDDDDEEEEEEEEEEEEDDEEEEEEDDEEEEEEEEEEEEEEDDDDEEEEDDEEDDEEEEEEEEEEDDEEEEEEEEEEEEEEEEEEEEEEEEDDEEEEEEEEEEDDEEEEEEEEEEEEEEEEEEEEEEEEEEDDEEEEEEEEDDEEDDEEEEEEEEEEDDEEEEEEDDEEEEEEEEDDDDEEEEEEEEDDDDEEEEEEEEDDEEEEEEEEEEDDEEEEEEDDEEEEEEDDEEEEDDEEEEEEEEDDDDEEEEEEEEEEEEDDDDEEEEEEEEEEEEEEEEEEEEEEEEEEDDEEEEEEDDEEEEEEEEEEEEEEEEEEDDDDEEEEEEDDEEEEDDEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEDDEEDDDDEEDDEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEDDEEEEEEEEDDEEEEEEEEEEEEDDDDEEEEEEEEEEEEEEEEEEEEEEDDEEEEDDEEEEEEEEDDEEEEEEEEDDEEEEEEEEEEDDEEEEEEEEDDEEEEEEEEEEDDEEEEDDEEEEDDEEDDEEEEEEEEEEDDDDEEDDEEEEDDEEDDEEEEDDEEEEEEEEEEEEEEEEEEEEEEEEEEDDDDEEEEDDEEEEEEDDDDDDEEDDDDDDEEEEEEDDDDEEDDEEEEEEEEEEEEEEEEEEDDEEEEEEEEEEEEEEEEEEEEEEDDEEEEDDEEEEEEEEEEDDEEDDEEEEDDEEDDEEEEEEDDEEEEEEEEEEEEDDDDDDEEEEEEEEEEEEEEDDEEEEEEDDEEEEDDEEDDEEEEEEEEDDEEEEEEEEEEEEEEEEEEDDEEEEEEDDEEEEEEEEDDDDEEEEEEEEEEEEEEDDEEEEDDEEEEEEEEEEEEDDEEEEEEEEEEEEEEDDEEEEEEDDEEEEEEDDEEEEEEDDEEEEEEEEEEEEEEEEEEDDEEDDEEDDEEEEEEEEEEEEEEDDEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEDDEEDDDDEEEEEEDDEEEEEEEEEEDDEEDDEEEEEEEEDDEEEEDDDDDDEEEEEEEEEEDDEEDDEEEEEEEEEEDDDDEEEEDDEEDDEEEEEEDDDDEEEEEEEEEEEEEEEEEEEEDDEEEEDDEEEEEEEEEEDDEEDDEEEEDDEEDDDDEEEEEEEEDDEEDDEEEEEEDDEEEEEEDDEEEEEEEEEEEEEEEEEEDDEEDDEEEEEEEEEEEEEEEEEEEEDDEEEEEEEEDDEEDDEEEEDDEEDDEEDDEEDDEEEEEEDDEEEEEEEEEEEEEEDDEEEEDDEEEEEEDDEEDDDDEEEEEEEEEEEEDDEEDDEEDDDDEEEEEEEEEEEEDDEEDDDDEEDDEEDDEEEEDDDDEEEEEEEEEEEEEEEEDDEEEEEEDDEEEEEEEEEEEEEEDDDDDDEEDDEEDDEEDDEEDDEEEEEEEEEEEEEEEEEEDDDDEEEEEEEEEEDDEEEEEEEEEEDDEEDDEEEEDDDDEEEEEEDDDDEEDDEEEEEEDDEEEEEEEEEEEEDDEEEEEEDDEEEEDDEEEEEEEEDDEEEEEEEEEEEEEEDDEEDDEEEEEEEEDDEEEEDDEEDDDDEEDDEEDDEEEEEEEEEEEEDDEEEEEEEEDDEEEEEEDDEEEEEEEEDDEEDDEEEEEEEEEEEEEEDDEEEEEEEEEEEEEEEEDDEEEEEEEEEEDDEEDDDDEEEEEEEEDDEEEEDDEEEEEEEEEEEEEEDDDDEEEEEEEEEEEEEEDDDDDDEEEEEEDDEEEEEEEEEEDDDDEEDDEEDDEEEEEEDDEEEEEEEEEEDDEEDDEEEEEEEEEEEEDDEEEEEEDDDDEEDDDDEEEEDDDDEEDDDDDDEEEEEEEEDDDDEEEEEEEEDDEEEEDDEEDDEEEEEEEEEEEEEEEEDDEEDDEEEEEEDDEEEEEEEEDDEEDDEEEEEEDDEEEEEEEEEEEEEEEEEEDDDDEEDDEEEEDDDDDDEEDDEEEEDDEEEEDDDDDDEEEEEEDDEEEEDDEEEEEEEEEEEEEEEEEEEEDDDDDDEEEEDDDDDDDDEEDDDDDDEEDDEEEEDDDDDDEEEEEEEEEEDDDDEEEEEEEEDDEEEEEEEEDDEEEEEEDDDDDDEEEEDDEEEEEEEEEEDDDDEEDDEEEEEEEEEEEEDDEEEEEEDDDDEEEEEEEEEEDDEEDDDDEEDDEEEEEEEEDDDDEEEEDDDDDDDDDDEEEEEEEEEEEEDDEEEEEEDDEEDDDDEEEEEEDDEEEEDDEEDDEEDDDDDDDDEEEEEEDDEEEEDDEEDDEEDDEEEEEEEEEEDDDDDDEEEEEEDDEEEEDDEEEEDDEEDDDDEEEEDDEEEEEEEEDDDDDDEEEEEEEEDDEEDDEEDDDDEEEEEEEEDDEEEEEEEEEEEEDDEEEEDDDDDDEEDDEEDDEEEEDDEEDDDDDDDDDDEEEEDDEEEEEEEEDDDDEEEEDDDDDDEEEEDDEEDDDDDDEEEEEEEEEEEEDDEEDDDDEEDDDDEEEEEEEEDDEEDDEEDDEEEEEEDDEEEEEEDDEEEEEEDDDDEEDDEEDDEEDDEEEEEEDDEEEEEEEEEEEEDDEEEEEEDDDDEEEEEEDDEEEEEEDDEEEEEEDDDDEEDDDDEEEEDDDDDDDDEEEEEEDDEEDDDDEEDDEEDDDDDDEEEEEEDDDDDDEEEEDDDDDDDDEEEEDDEEEEEEDDEEEEEEDDEEEEDDEEDDEEDDDDDDDDDDDDDDDDEEDDEEEEEEEEDDDDDDDDEEDDDDDDEEEEDDDDEEEEEEEEEEDDEEDDEEDDEEDDDDEEDDEEDDDDEEEEDDEEDDDDDDEEEEEEDDEEDDEEEEDDDDDDEEDDEEEEEEEEEEEEEEDDDDDDEEEEDDDDDDDDEEDDDDEEEEEEEEDDEEDDEEEEDDDDDDEEDDDDDDDDEEEEDDEEEEEEDDDDDDEEEEEEEEEEDDDDDDEEDDDDDDEEDDEEEEDDDDEEDDEEEEEEDDEEEEDDDDEEEEEEDDDDEEEEDDDDEEEEEEEEEEDDEEEEDDEEEEEEEEDDEEDDDDDDEEDDEEDDEEEEEEEEEEDDDDDDEEEEDDDDEEDDEEEEDDEEEEEEDDDDEEEEEEEEEEDDEEDDEEDDDDEEDDDDEEDDEEEEDDEEEEEEEEDDEEEEDDEEEEEEDDEEEEEEDDEEDDDDEEEEEEEEEEEEEEEEEEEEEEDDDDEEEEEEDDEEEEEEEEEEDDEEEEDDDDEEDDEEDDDDDDEEEEEEDDDDDDEEEEEEDDEEEEEEEEDDEEEEDDEEDDDDDDDDEEDDDDDDEEDDDDEEEEEEEEDDEEEEDDEEDDDDEEEEEEEEEEDDEEDDEEEEDDDDDDEEDDEEDDEEDDEEDDDDEEEEDDEEEEDDEEEEDDEEEEDDDDEEEEEEEEEEEEEEEEEEDDDDEEEEEEEEDDEEEEEEEEEEDDEEEEEEEEDDEEEEEEEEDDDDEEEEEEEEEEEEEEEEEEEEEEDDEEEEEEEEEEEEEEEEEEDDDDEEDDEEEEEEEEDDEEDDEEEEEEEEEEDDEEEEDDEEDDEEEEEEEEEEEEEEEEEEEEEEEEEEDDEEEEEEEEEEEEEEEEEEEEEEEEDDEEEEEEEEEEEEDDEEEEEEEEEEEEDDEEEEEEEEEEEEEEEEDDEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEDDEEEEEEEEEEDDEEEEEEDDDDEEDDEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEDDEEEEDDEEEEEEEEDDEEEEDDEEDDEEEEDDEEDDEEEEEEEEEEDDDDEEEEEEEEEEEEDDEEEEEEDDEEEEEEEEEEEEEEDDDDEEEEDDEEDDEEEEEEEEEEDDEEEEEEEEEEEEEEEEEEEEEEEEDDEEEEEEEEEEDDEEEEEEEEEEEEEEEEEEEEEEEEEEDDEEEEEEEEDDEEDDEEEEEEEEEEDDEEEEEEDDEEEEEEEEDDDDEEEEEEEEDDDDEEEEEEEEDDEEEEEEEEEEDDEEEEEEDDEEEEEEDDEEEEDDEEEEEEEEDDDDEEEEEEEEEEEEDDDDEEEEEEEEEEEEEEEEEEEEEEEEEEDDEEEEEEDDEEEEEEEEEEEEEEEEEEDDDDEEEEEEDDEEEEDDEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEDDEEDDDDEEDDEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEDDEEEEEEEEDDEEEEEEEEEEEEDDDDEEEEEEEEEEEEEEEEEEEEEEDDEEEEDDEEEEEEEEDDEEEEEEEEDDEEEEEEEEEEDDEEEEEEEEDDEEEEEEEEEEDDEEEEDDEEEEDDEEDDEEEEEEEEEEDDDDEEDDEEEEDDEEDDEEEEDDEEEEEEEEEEEEEEEEEEEEEEEEEEDDDDEEEEDDEEEEEEDDDDDDEEDDDDDDEEEEEEDDDDEEDDEEEEEEEEEEEEEEEEEEDDEEEEEEEEEEEEEEEEEEEEEEDDEEEEDDEEEEEEEEEEDDEEDDEEEEDDEEDDEEEEEEDDEEEEEEEEEEEEDDDDDDEEEEEEEEEEEEEEDDEEEEEEDDEEEEDDEEDDEEEEEEEEDDEEEEEEEEEEEEEEEEEEDDEEEEEEDDEEEEEEEEDDDDEEEEEEEEEEEEEEDDEEEEDDEEEEEEEEEEEEDDEEEEEEEEEEEEEEDDEEEEEEDDEEEEEEDDEEEEEEDDEEEEEEEEEEEEEEEEEEDDEEDDEEDDEEEEEEEEEEEEEEDDEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEDDEEDDDDEEEEEEDDEEEEEEEEEEDDEEDDEEEEEEEEDDEEEEDDDDDDEEEEEEEEEEDDEEDDEEEEEEEEEEDDDDEEEEDDEEDDEEEEEEDDDDEEEEEEEEEEEEEEEEEEEEDDEEEEDDEEEEEEEEEEDDEEDDEEEEDDEEDDDDEEEEEEEEDDEEDDEEEEEEDDEEEEEEDDEEEEEEEEEEEEEEEEEEDDEEDDEEEEEEEEEEEEEEEEEEEEDDEEEEEEEEDDEEDDEEEEDDEEDDEEDDEEDDEEEEEEDDEEEEEEEEEEEEEEDDEEEEDDEEEEEEDDEEDDDDEEEEEEEEEEEEDDEEDDEEDDDDEEEEEEEEEEEEDDEEDDDDEEDDEEDDEEEEDDDDEEEEEEEEEEEEEEEEDDEEEEEEDDEEEEEEEEEEEEEEDDDDDDEEDDEEDDEEDDEEDDEEEEEEEEEEEEEEEEEEDDDDEEEEEEEEEEDDEEEEEEEEEEDDEEDDEEEEDDDDEEEEEEDDDDEEDDEEEEEEDDEEEEEEEEEEEEDDEEEEEEDDEEEEDDEEEEEEEEDDEEEEEEEEEEEEEEDDEEDDEEEEEEEEDDEEEEDDEEDDDDEEDDEEDDEEEEEEEEEEEEDDEEEEEEEEDDEEEEEEDDEEEEEEEEDDEEDDEEEEEEEEEEEEEEDDEEEEEEEEEEEEEEEEDDEEEEEEEEEEDDEEDDDDEEEEEEEEDDEEEEDDEEEEEEEEEEEEEEDDDDEEEEEEEEEEEEEEDDDDDDEEEEEEDDEEEEEEEEEEDDDDEEDDEEDDEEEEEEDDEEEEEEEEEEDDEEDDEEEEEEEEEEEEDDEEEEEEDDDDEEDDDDEEEEDDDDEEDDDDDDEEEEEEEEDDDDEEEEEEEEDDEEEEDDEEDDEEEEEEEEEEEEEEEEDDEEDDEEEEEEDDEEEEEEEEDDEEDDEEEEEEDDEEEEEEEEEEEEEEEEEEDDDDEEDDEEEEDDDDDDEEDDEEEEDDEEEEDDDDDDEEEEEEDDEEEEDDEEEEEEEEEEEEEEEEEEEEDDDDDDEEEEDDDDDDDDEEDDDDDDEEDDEEEEDDDDDDEEEEEEEEEEDDDDEEEEEEEEDDEEEEEEEEDDEEEEEEDDDDDDEEEEDDEEEEEEEEEEDDDDEEDDEEEEEEEEEEEEDDEEEEEEDDDDEEEEEEEEEEDDEEDDDDEEDDEEEEEEEEDDDDEEEEDDDDDDDDDDEEEEEEEEEEEEDDEEEEEEDDEEDDDDEEEEEEDDEEEEDDEEDDEEDDDDDDDDEEEEEEDDEEEEDDEEDDEEDDEEEEEEEEEEDDDDDDEEEEEEDDEEEEDDEEEEDDEEDDDDEEEEDDEEEEEEEEDDDDDDEEEEEEEEDDEEDDEEDDDDEEEEEEEEDDEEEEEEEEEEEEDDEEEEDDDDDDEEDDEEDDEEEEDDEEDDDDDDDDDDEEEEDDEEEEEEEEDDDDEEEEDDDDDDEEEEDDEEDDDDDDEEEEEEEEEEEEDDEEDDDDEEDDDDEEEEEEEEDDEEDDEEDDEEEEEEDDEEEEEEDDEEEEEEDDDDEEDDEEDDEEDDEEEEEEDDEEEEEEEEEEEEDDEEEEEEDDDDEEEEEEDDEEEEEEDDEEEEEEDDDDEEDDDDEEEEDDDDDDDDEEEEEEDDEEDDDDEEDDEEDDDDDDEEEEEEDDDDDDEEEEDDDDDDDDEEEEDDEEEEEEDDEEEEEEDDEEEEDDEEDDEEDDDDDDDDDDDDDDDDEEDDEEEEEEEEDDDDDDDDEEDDDDDDEEEEDDDDEEEEEEEEEEDDEEDDEEDDEEDDDDEEDDEEDDDDEEEEDDEEDDDDDDEEEEEEDDEEDDEEEEDDDDDDEEDDEEEEEEEEEEEEEEDDDDDDEEEEDDDDDDDDEEDDDDEEEEEEEEDDEEDDEEEEDDDDDDEEDDDDDDDDEEEEDDEEEEEEDDDDDDEEEEEEEEEEDDDDDDEEDDDDDDEEDDEEEEDDDDEEDDEEEEEEDDEEEEDDDDEEEEEEDDDDEEEEDDDDEEEEEEEEEEDDEEEEDDEEEEEEEEDDEEDDDDDDEEDDEEDDEEEEEEEEEEDDDDDDEEEEDDDDEEDDEEEEDDEEEEEEDDDDEEEEEEEEEEDDEEDDEEDDDDEEDDDDEEDDEEEEDDEEEEEEEEDDEEEEDDEEEEEEDDEEEEEEDDEEDDDDEEEEEEEEEEEEEEEEEEEEEEDDDDEEEEEEDDEEEEEEEEEEDDEEEEDDDDEEDDEEDDDDDDEEEEEEDDDDDDEEEEEEDDEEEEEEEEDDEEEEDDEEDDDDDDDDEEDDDDDDEEDDDDEEEEEEEEDDEEEEDDEEDDDDEEEEEEEEEEDDEEDDEEEEDDDDDDEEDDEEDDEEDDEEDDDDEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEDDEEEEEEEEEEEEDDEEDDEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEDDEEEEEEEEEEEEEEDDEEEEEEEEEEEEDDEEEEEEEEEEEEEEDDEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEDDEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEDDEEEEEEEEDDEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEDDEEDDEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEDDEEEEEEDDEEEEEEEEEEEEDDEEDDEEEEEEEEEEEEEEEEEEEEEEEEEEDDEEEEEEEEEEEEEEEEEEEEEEDDEEEEEEEEEEEEEEEEEEEEEEEEEEEEDDEEEEEEEEEEEEEEEEEEEEDDEEEEEEEEEEDDDDEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEDDEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEDDEEEEEEEEDDDDEEEEEEEEEEEEEEDDEEEEEEEEEEEEEEEEEEEEEEDDEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEDDEEEEEEEEEEEEEEEEEEEEDDEEEEEEEEEEDDEEEEDDDDEEDDDDEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEDDEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEDDEEEEEEEEEEDDEEDDEEEEEEDDEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEDDEEEEEEEEEEEEEEEEEEEEEEEEDDEEEEEEEEEEEEEEEEEEEEEEDDEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEDDEEEEEEDDEEEEEEDDEEDDEEEEEEEEEEDDEEEEEEEEEEEEEEEEEEEEEEDDEEEEEEEEEEEEEEEEEEEEEEDDEEEEDDEEEEEEEEEEEEEEEEEEEEEEEEDDEEEEEEDDEEEEEEEEEEDDEEEEEEEEEEEEEEDDEEDDEEEEEEEEEEEEEEEEEEEEDDEEEEEEEEEEEEDDEEEEEEDDDDEEEEEEDDEEDDEEEEEEEEEEEEEEEEEEEEEEDDEEEEEEDDEEDDEEDDEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEDDDDEEEEEEEEEEDDEEEEEEDDEEEEEEEEDDEEEEEEEEDDEEEEEEEEEEDDDDEEDDEEEEEEEEEEEEEEEEDDEEEEEEEEEEEEDDEEEEEEEEEEEEEEDDDDEEEEEEEEEEEEEEEEEEDDEEEEEEEEEEEEEEDDEEEEEEEEEEEEDDEEEEEEEEEEEEEEDDEEEEEEEEEEDDDDDDEEEEEEEEEEEEEEDDEEEEEEEEEEEEEEEEEEEEEEDDEEDDEEEEEEDDEEEEEEEEEEEEEEEEEEEEEEEEDDEEEEEEEEEEEEEEEEDDEEDDEEDDEEEEEEEEEEEEDDEEEEEEEEEEEEEEEEEEEEDDEEEEEEEEEEEEEEEEEEEEEEEEDDEEDDEEEEDDEEEEEEEEEEEEEEDDEEEEEEEEEEEEEEEEEEDDEEEEEEEEEEDDEEEEEEEEDDEEEEEEEEEEEEEEDDEEEEEEDDEEEEEEEEEEEEEEEEEEEEEEEEEEDDDDEEEEEEEEEEEEEEDDDDEEEEEEEEEEEEEEEEDDDDEEEEEEEEEEEEEEEEEEDDEEEEDDEEEEDDEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEDDDDEEEEEEEEEEDDEEEEEEEEDDEEEEEEEEEEEEEEEEEEDDDDEEEEEEEEEEEEEEDDDDEEEEEEEEEEDDEEEEEEEEDDEEEEEEEEEEEEDDEEEEEEEEEEEEDDEEEEEEEEEEEEEEEEEEEEEEDDDDEEEEEEEEEEEEDDEEEEEEEEEEEEDDEEEEEEEEEEDDEEEEDDEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEDDEEEEEEDDEEEEEEEEEEDDEEEEEEDDEEEEDDEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEDDEEEEEEDDEEEEEEDDEEEEEEEEEEEEEEDDEEDDEEEEDDEEDDEEEEEEEEEEEEDDEEEEEEEEEEEEEEEEEEEEEEEEEEDDEEEEEEEEDDEEEEDDEEEEDDEEDDEEEEEEEEEEEEEEEEDDEEEEEEEEEEEEEEEEEEEEEEEEDDEEEEEEEEEEDDDDEEEEEEEEEEEEEEEEEEEEEEEEEEEEDDDDEEEEEEEEEEEEEEEEEEDDEEEEEEEEDDDDEEEEDDEEEEEEEEEEEEDDDDEEEEDDDDEEEEEEEEEEDDDDDDEEEEEEEEEEEEEEEEDDDDEEEEDDEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEDDEEEEEEEEEEEEEEDDEEEEEEDDEEEEEEEEEEDDEEEEEEEEEEEEEEEEEEEEEEEEEEEEDDEEDDEEEEDDEEEEEEEEDDDDEEEEEEDDEEEEEEEEEEEEEEEEDDEEEEEEEEDDDDEEEEEEDDEEEEDDDDDDEEEEEEEEEEEEEEDDEEEEEEDDEEEEEEEEEEEEEEEEEEEEDDEEEEEEEEEEDDEEDDEEEEEEEEEEEEEEEEEEDDEEDDEEEEDDEEEEEEEEDDEEEEDDEEEEDDEEEEEEEEEEEEEEDDEEDDEEEEEEEEEEEEEEEEDDEEEEEEEEDDEEEEEEDDEEEEEEDDEEEEEEEEEEEEEEEEEEDDEEDDEEEEDDEEDDEEEEDDEEEEEEEEEEEEDDEEEEDDEEDDEEEEEEEEEEDDEEDDEEDDEEEEEEEEEEEEDDEEEEDDEEEEEEEEDDEEEEEEDDEEEEDDEEEEEEEEEEDDEEEEEEEEEEEEEEDDEEEEEEEEEEEEEEDDEEEEEEEEDDEEDDEEEEEEEEEEEEEEEEDDEEEEEEEEEEDDEEEEDDEEEEDDEEEEEEEEEEEEEEEEDDEEDDEEEEDDEEDDEEEEEEDDEEEEEEEEEEEEEEEEEEEEEEEEDDDDEEEEDDEEEEDDDDDDDDEEDDDDEEEEEEEEDDEEEEDDEEEEEEEEEEEEEEEEEEDDEEEEEEEEEEEEEEEEEEEEEEDDEEEEDDEEEEEEEEEEDDEEDDEEEEDDEEDDEEEEEEEEEEEEEEEEEEEEDDDDDDEEEEEEEEEEEEEEDDEEEEEEDDEEEEDDEEEEEEEEEEEEDDEEEEEEEEEEEEEEEEEEDDEEEEEEDDEEEEEEEEEEDDEEEEEEEEEEEEEEDDEEEEEEEEEEEEEEDDEEDDEEEEEEEEEEEEEEEEEEEEEEEEDDEEEEDDEEEEEEDDEEDDEEEEDDEEEEDDEEDDEEDDEEDDEEEEEEEEEEEEEEDDEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEDDEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEDDEEEEEEDDEEEEDDDDDDEEEEEEEEEEEEEEEEEEEEEEDDEEEEDDEEEEEEEEDDDDEEEEEEEEEEEEDDEEEEDDDDEEEEEEEEEEEEEEEEEEDDEEEEDDDDEEDDEEDDEEEEDDEEEEEEEEEEDDEEEEEEDDEEEEEEEEEEDDEEEEEEEEDDDDEEDDEEEEDDDDEEEEEEEEEEEEEEDDEEEEDDDDEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEDDEEDDEEEEEEEEDDEEDDEEDDDDEEEEEEDDEEDDEEDDDDDDEEDDDDEEEEEEEEEEEEEEEEEEEEEEDDEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEDDEEEEEEEEEEEEDDEEDDEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEDDEEEEEEEEEEEEEEDDEEEEEEEEEEEEDDEEEEEEEEEEEEEEDDEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEDDEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEDDEEEEEEEEDDEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEDDEEDDEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEDDEEEEEEDDEEEEEEEEEEEEDDEEDDEEEEEEEEEEEEEEEEEEEEEEEEEEDDEEEEEEEEEEEEEEEEEEEEEEDDEEEEEEEEEEEEEEEEEEEEEEEEEEEEDDEEEEEEEEEEEEEEEEEEEEDDEEEEEEEEEEDDDDEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEDDEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEDDEEEEEEEEDDDDEEEEEEEEEEEEEEDDEEEEEEEEEEEEEEEEEEEEEEDDEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEDDEEEEEEEEEEEEEEEEEEEEDDEEEEEEEEEEDDEEEEDDDDEEDDDDEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEDDEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEDDEEEEEEEEEEDDEEDDEEEEEEDDEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEDDEEEEEEEEEEEEEEEEEEEEEEEEDDEEEEEEEEEEEEEEEEEEEEEEDDEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEDDEEEEEEDDEEEEEEDDEEDDEEEEEEEEEEDDEEEEEEEEEEEEEEEEEEEEEEDDEEEEEEEEEEEEEEEEEEEEEEDDEEEEDDEEEEEEEEEEEEEEEEEEEEEEEEDDEEEEEEDDEEEEEEEEEEDDEEEEEEEEEEEEEEDDEEDDEEEEEEEEEEEEEEEEEEEEDDEEEEEEEEEEEEDDEEEEEEDDDDEEEEEEDDEEDDEEEEEEEEEEEEEEEEEEEEEEDDEEEEEEDDEEDDEEDDEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEDDDDEEEEEEEEEEDDEEEEEEDDEEEEEEEEDDEEEEEEEEDDEEEEEEEEEEDDDDEEDDEEEEEEEEEEEEEEEEDDEEEEEEEEEEEEDDEEEEEEEEEEEEEEDDDDEEEEEEEEEEEEEEEEEEDDEEEEEEEEEEEEEEDDEEEEEEEEEEEEDDEEEEEEEEEEEEEEDDEEEEEEEEEEDDDDDDEEEEEEEEEEEEEEDDEEEEEEEEEEEEEEEEEEEEEEDDEEDDEEEEEEDDEEEEEEEEEEEEEEEEEEEEEEEEDDEEEEEEEEEEEEEEEEDDEEDDEEDDEEEEEEEEEEEEDDEEEEEEEEEEEEEEEEEEEEDDEEEEEEEEEEEEEEEEEEEEEEEEDDEEDDEEEEDDEEEEEEEEEEEEEEDDEEEEEEEEEEEEEEEEEEDDEEEEEEEEEEDDEEEEEEEEDDEEEEEEEEEEEEEEDDEEEEEEDDEEEEEEEEEEEEEEEEEEEEEEEEEEDDDDEEEEEEEEEEEEEEDDDDEEEEEEEEEEEEEEEEDDDDEEEEEEEEEEEEEEEEEEDDEEEEDDEEEEDDEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEDDDDEEEEEEEEEEDDEEEEEEEEDDEEEEEEEEEEEEEEEEEEDDDDEEEEEEEEEEEEEEDDDDEEEEEEEEEEDDEEEEEEEEDDEEEEEEEEEEEEDDEEEEEEEEEEEEDDEEEEEEEEEEEEEEEEEEEEEEDDDDEEEEEEEEEEEEDDEEEEEEEEEEEEDDEEEEEEEEEEDDEEEEDDEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEDDEEEEEEDDEEEEEEEEEEDDEEEEEEDDEEEEDDEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEDDEEEEEEDDEEEEEEDDEEEEEEEEEEEEEEDDEEDDEEEEDDEEDDEEEEEEEEEEEEDDEEEEEEEEEEEEEEEEEEEEEEEEEEDDEEEEEEEEDDEEEEDDEEEEDDEEDDEEEEEEEEEEEEEEEEDDEEEEEEEEEEEEEEEEEEEEEEEEDDEEEEEEEEEEDDDDEEEEEEEEEEEEEEEEEEEEEEEEEEEEDDDDEEEEEEEEEEEEEEEEEEDDEEEEEEEEDDDDEEEEDDEEEEEEEEEEEEDDDDEEEEDDDDEEEEEEEEEEDDDDDDEEEEEEEEEEEEEEEEDDDDEEEEDDEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEDDEEEEEEEEEEEEEEDDEEEEEEDDEEEEEEEEEEDDEEEEEEEEEEEEEEEEEEEEEEEEEEEEDDEEDDEEEEDDEEEEEEEEDDDDEEEEEEDDEEEEEEEEEEEEEEEEDDEEEEEEEEDDDDEEEEEEDDEEEEDDDDDDEEEEEEEEEEEEEEDDEEEEEEDDEEEEEEEEEEEEEEEEEEEEDDEEEEEEEEEEDDEEDDEEEEEEEEEEEEEEEEEEDDEEDDEEEEDDEEEEEEEEDDEEEEDDEEEEDDEEEEEEEEEEEEEEDDEEDDEEEEEEEEEEEEEEEEDDEEEEEEEEDDEEEEEEDDEEEEEEDDEEEEEEEEEEEEEEEEEEDDEEDDEEEEDDEEDDEEEEDDEEEEEEEEEEEEDDEEEEDDEEDDEEEEEEEEEEDDEEDDEEDDEEEEEEEEEEEEDDEEEEDDEEEEEEEEDDEEEEEEDDEEEEDDEEEEEEEEEEDDEEEEEEEEEEEEEEDDEEEEEEEEEEEEEEDDEEEEEEEEDDEEDDEEEEEEEEEEEEEEEEDDEEEEEEEEEEDDEEEEDDEEEEDDEEEEEEEEEEEEEEEEDDEEDDEEEEDDEEDDEEEEEEDDEEEEEEEEEEEEEEEEEEEEEEEEDDDDEEEEDDEEEEDDDDDDDDEEDDDDEEEEEEEEDDEEEEDDEEEEEEEEEEEEEEEEEEDDEEEEEEEEEEEEEEEEEEEEEEDDEEEEDDEEEEEEEEEEDDEEDDEEEEDDEEDDEEEEEEEEEEEEEEEEEEEEDDDDDDEEEEEEEEEEEEEEDDEEEEEEDDEEEEDDEEEEEEEEEEEEDDEEEEEEEEEEEEEEEEEEDDEEEEEEDDEEEEEEEEEEDDEEEEEEEEEEEEEEDDEEEEEEEEEEEEEEDDEEDDEEEEEEEEEEEEEEEEEEEEEEEEDDEEEEDDEEEEEEDDEEDDEEEEDDEEEEDDEEDDEEDDEEDDEEEEEEEEEEEEEEDDEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEDDEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEDDEEEEEEDDEEEEDDDDDDEEEEEEEEEEEEEEEEEEEEEEDDEEEEDDEEEEEEEEDDDDEEEEEEEEEEEEDDEEEEDDDDEEEEEEEEEEEEEEEEEEDDEEEEDDDDEEDDEEDDEEEEDDEEEEEEEEEEDDEEEEEEDDEEEEEEEEEEDDEEEEEEEEDDDDEEDDEEEEDDDDEEEEEEEEEEEEEEDDEEEEDDDDEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEDDEEDDEEEEEEEEDDEEDDEEDDDDEEEEEEDDEEDDEEDDDDDDEEDDDDEEEEEEEEEEEEEEEEEEEEEEDDEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEDDEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEDDEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEDDEEEEEEEEEEEEEEEEEEEEEEEEEEEEDDEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEDDEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEDDEEEEEEEEDDEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEDDEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEDDEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEDDEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEDDDDEEEEEEEEEEEEEEEEEEEEDDEEEEEEEEEEEEEEEEDDEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEDDEEEEEEEEEEEEDDEEEEEEEEEEEEEEEEDDEEEEEEEEDDEEEEEEEEEEEEEEEEDDEEDDEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEDDEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEDDEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEDDEEEEEEEEDDEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEDDEEEEEEDDEEEEEEEEEEEEEEEEEEEEEEEEEEEEDDEEEEEEDDEEEEEEEEEEEEDDEEDDEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEDDEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEDDEEEEEEEEEEEEEEDDEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEDDEEDDEEEEEEEEEEEEEEEEEEEEEEEEEEEEDDEEEEEEEEEEEEEEEEDDDDEEEEEEEEEEEEEEEEEEEEEEDDEEEEEEEEEEEEEEEEEEEEEEEEEEEEDDEEEEEEEEEEEEEEEEEEEEDDEEEEEEEEEEEEEEEEEEEEEEDDEEEEDDEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEDDEEEEDDEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEDDEEEEEEEEEEEEDDEEEEEEEEEEEEEEEEEEDDEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEDDDDEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEDDEEEEEEEEEEEEEEEEEEEEEEEEDDEEEEEEDDEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEDDEEEEEEEEDDDDDDEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEDDEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEDDEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEDDEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEDDEEEEEEEEEEEEEEEEEEEEDDEEEEEEEEEEEEEEEEDDEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEDDEEEEEEEEDDEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEDDEEEEEEEEEEEEEEEEEEEEDDEEEEEEEEEEEEDDEEEEEEDDDDEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEDDEEDDEEDDEEEEEEEEDDEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEDDDDEEEEDDEEEEDDEEEEEEEEEEDDEEEEDDEEDDEEEEEEEEEEEEEEEEDDEEDDDDEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEDDEEDDEEEEEEEEEEEEEEDDEEEEEEEEEEEEEEDDEEEEEEEEEEEEDDEEEEEEEEEEEEEEEEEEEEEEEEEEDDDDEEEEEEEEEEEEEEEEDDEEEEEEEEEEEEEEEEDDEEEEEEEEDDEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEDDEEEEEEEEDDDDEEEEEEEEEEEEEEEEEEEEEEEEDDEEDDEEEEEEEEEEEEEEDDEEEEEEEEEEEEEEEEEEDDEEEEEEEEEEEEEEEEEEEEEEEEDDEEEEEEEEDDEEDDEEEEDDDDEEEEEEEEDDEEEEEEDDEEEEEEEEEEEEEEDDEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEDDEEEEEEDDEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEDDEEEEEEEEEEDDEEEEEEDDEEEEEEEEEEEEEEEEEEEEDDDDDDEEEEDDEEEEEEDDEEEEEEEEEEEEEEEEEEEEEEEEDDEEEEDDEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEDDEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEDDEEEEEEEEEEEEEEEEEEEEEEEEEEEEDDEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEDDEEEEEEEEDDEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEDDEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEDDDDEEEEEEEEEEEEEEEEEEEEDDEEEEEEEEEEEEEEEEDDEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEDDEEEEEEEEEEEEDDEEEEEEEEEEEEEEEEDDEEEEEEEEDDEEEEEEEEEEEEEEEEDDEEDDEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEDDEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEDDEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEDDEEEEEEEEDDEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEDDEEEEEEDDEEEEEEEEEEEEEEEEEEEEEEEEEEEEDDEEEEEEDDEEEEEEEEEEEEDDEEDDEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEDDEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEDDEEEEEEEEEEEEEEDDEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEDEEDDEEEEEEEEEEEEEEEEEEEEEEEEEEEEDDEEEEEEEEEEEEEEEEDDDDEEEEEEEEEEEEEEEEEEEEEEDDEEEEEEEEEEEEEEEEEEEEEEEEEEEEDDEEEEEEEEEEEEEEEEEEEEDDEEEEEEEEEEEEEEEEEEEEEEDDEEEEDDEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEDDEEEEDDEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEDDEEEEEEEEEEEEDDEEEEEEEEEEEEEEEEEEDDEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEDDDDEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEDDEEEEEEEEEEEEEEEEEEEEEEEEDDEEEEEEDDEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEDDEEEEEEEEDDDDDDEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEDDEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEDDEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEDDEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEDDEEEEEEEEEEEEEEEEEEEEDDEEEEEEEEEEEEEEEEDDEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEDDEEEEEEEEDDEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEDDEEEEEEEEEEEEEEEEEEEEDDEEEEEEEEEEEEDDEEEEEEDDDDEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEDDEEDDEEDDEEEEEEEEDDEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEDDDDEEEEDDEEEEDDEEEEEEEEEEDDEEEEDDEEDDEEEEEEEEEEEEEEEEDDEEDDDDEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEDDEEDDEEEEEEEEEEEEEEDDEEEEEEEEEEEEEEDDEEEEEEEEEEEEDDEEEEEEEEEEEEEEEEEEEEEEEEEEDDDDEEEEEEEEEEEEEEEEDDEEEEEEEEEEEEEEEEDDEEEEEEEEDDEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEDDEEEEEEEEDDDDEEEEEEEEEEEEEEEEEEEEEEEEDDEEDDEEEEEEEEEEEEEEDDEEEEEEEEEEEEEEEEEEDDEEEEEEEEEEEEEEEEEEEEEEEEDDEEEEEEEEDDEEDDEEEEDDDDEEEEEEEEDDEEEEEEDDEEEEEEEEEEEEEEDDEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEDDEEEEEEDDEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEDDEEEEEEEEEEDDEEEEEEDDEEEEEEEEEEEEEEEEEEEEDDDDDDEEEEDDEEEEEEDDEEEEEEEEEEEEEEEEEEEEEEEEDDEEEEDDEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEDDEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEDDEEEEEEEEDDEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEDDEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEDDEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEDDEEEEEEEEEEDDEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEDDDDEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEDDEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEDDEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEDDEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEDDEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEDDEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEDDEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEDDEEEEEEEEDDEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEDDEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEDDEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEDDDDEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEDDEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEDDEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEDDEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEDDEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEDDEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEFFEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEFFEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEFFEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEFFEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEFFEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEFFEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEFFEEEEEEFFEEEEEEEEEEEEEEFFFFEEEEEEEEEEEEFFEEEEEEEEEEFFEEEEEEEEEEEEEEFFEEEEEEEEEEEEFFEEEEEEEEEEEEEEEEEEFFEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEFFEEEEEEEEEEEEEEEEEEEEEEEEEEFFEEEEEEEEFFFFEEEEEEEEFFEEFFEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEFFEEEEEEEEEEEEEEEEEEEEEEEEEEFFEEEEFFEEEEEEFFEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEFFEEEEEEEEEEEEEEEEEEEEEEEEFFFFFFEEEEEEEEEEEEEEEEEEEEEEFFEEEEEEFFEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEFFEEEEEEEEEEEEEEEEFFFFEEEEEEEEEEEEFFEEEEEEEEEEEEEEEEEEEEFFFFEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEFFEEEEFFEEEEEEEEEEFFEEEEEEEEEEFFFFEEEEEEEEEEFFEEEEEEEEFFEEEEEEEEFFEEEEFFEEEEEEEEEEEEEEFFEEFFEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEFFEEEEEEEEFFEEFFEEFFEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEFFEEEEEEEEEEEEEEEEEEEEEEEEFFEEEEEEEEEEEEEEEEFFEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEFFEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEFFEEEEEEEEEEEEEEFFEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEFFEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEFFEEEEEEEEEEEEEEEEEEEEEEEEFFEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEFFEEEEEEEEEEEEEEEEFFEEEEEEEEFFEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEFFEEEEEEFFEEEEEEEEFFEEEEEEEEFFEEEEEEEEFFEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEFFEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEFFEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEFFEEEEFFEEEEEEEEEEEEEEEEEEFFEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEFFEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEFFEEEEEEEEEEFFEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEFFEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEFFEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEFFEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEFFEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEFFEEEEEEEEEEEEEEFFEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEFFEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEFFEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEFFEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEFFEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEFFEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEFFEEEEEEFFEEEEEEEEEEEEEEFFFFEEEEEEEEEEEEFFEEEEEEEEEEFFEEEEEEEEEEEEEEFFEEEEEEEEEEEEFFEEEEEEEEEEEEEEEEEEFFEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEFFEEEEEEEEEEEEEEEEEEEEEEEEEEFFEEEEEEEEFFFFEEEEEEEEFFEEFFEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEFFEEEEEEEEEEEEEEEEEEEEEEEEEEFFEEEEFFEEEEEEFFEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEFFEEEEEEEEEEEEEEEEEEEEEEEEFFFFFFEEEEEEEEEEEEEEEEEEEEEEFFEEEEEEFFEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEFFEEEEEEEEEEEEEEEEFFFFEEEEEEEEEEEEFFEEEEEEEEEEEEEEEEEEEEFFFFEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEFFEEEEFFEEEEEEEEEEFFEEEEEEEEEEFFFFEEEEEEEEEEFFEEEEEEEEFFEEEEEEEEFFEEEEFFEEEEEEEEEEEEEEFFEEFFEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEFFEEEEEEEEFFEEFFEEFFEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEFFEEEEEEEEEEEEEEEEEEEEEEEEFFEEEEEEEEEEEEEEEEFFEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEFFEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEFFEEEEEEEEEEEEEEFFEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEFFEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEFFEEEEEEEEEEEEEEEEEEEEEEEEFFEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEFFEEEEEEEEEEEEEEEEFFEEEEEEEEFFEEEEEEEEEEEEEEFFEEEEEEEEEEEEEEEEEEFFEEEEEEFFEEEEEEEEFFEEEEEEEEFFEEEEEEEEFFEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEFFEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEFFEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEFFEEEEFFEEEEEEEEEEEEEEEEEEFFEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEFFEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEFFEEEEEEEEEEFFEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEFFEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEFFEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEFFEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEFFEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEFFEEEEEEEEEEEEEEFFEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEFFEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEFFEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEFFEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEFFEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEFFEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEFFEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEFFEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEFFFFEEFFFFEEFFFFEEEEEEEEEEEEEEFFEEEEEEFFEEEEEEEEEEFFFFFFFFFFFFEEFFFFEEEEEEEEEEEEEEEEFFEEFFEEEEEEEEEEFFFFEEFFEEFFEEEEEEEEFFFFEEEEEEEEEEEEEEEEEEFFEEEEEEEEEEEEEEEEEEEEEEFFEEFFEEEEEEEEEEFFEEEEFFFFEEEEEEEEEEEEEEEEEEEEFFEEEEEEEEEEEEEEEEEEEEEEEEEEFFFFEEFFEEEEEEEEEEEEEEEEFFEEEEEEEEEEEEEEEEFFFFEEEEEEEEEEEEFFEEEEEEEEEEEEEEEEEEEEFFEEEEEEEEEEEEFFEEFFEEEEEEEEEEEEEEEEEEEEEEFFEEFFFFEEEEEEEEEEEEFFEEEEEEEEEEEEEEEEEEEEEEFFEEEEEEEEEEFFEEFFFFEEEEFFFFEEEEEEEEFFEEEEEEEEFFEEEEFFEEEEEEEEEEEEFFEEFFFFEEEEFFEEEEEEEEFFFFEEEEEEEEEEEEEEFFFFEEEEEEFFEEEEEEEEEEFFEEFFEEEEFFFFEEFFEEEEEEEEEEEEEEEEEEEEEEEEEEFFEEEEEEEEEEEEEEFFEEFFEEFFEEEEFFEEEEEEEEEEEEEEFFEEEEEEEEEEEEEEFFEEEEEEEEEEEEFFEEEEEEEEEEEEFFEEEEEEEEEEEEEEFFFFEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEFFEEEEEEFFFFEEEEEEEEEEEEEEEEEEEEEEEEEEFFEEFFEEEEEEEEEEEEEEEEFFEEFFEEEEEEEEFFEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEFFEEEEEEFFEEEEFFFFFFEEEEEEEEFFEEEEEEEEEEEEEEEEEEEEEEEEFFEEEEFFEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEFFEEEEEEEEEEEEEEEEEEEEFFEEEEFFEEEEFFEEEEFFEEEEEEEEEEEEFFEEFFEEEEEEEEEEEEEEFFFFFFFFEEEEFFEEEEEEEEEEEEEEEEEEFFEEEEEEEEFFEEEEEEEEFFEEEEFFEEEEEEEEEEFFFFEEFFEEEEEEEEEEEEEEEEEEEEEEEEEEFFEEEEEEEEFFEEFFEEEEEEFFEEEEEEEEEEEEEEEEEEEEFFEEEEEEEEEEFFEEEEEEFFFFEEEEFFEEEEEEEEEEEEEEEEFFEEFFEEEEEEFFEEEEEEEEEEEEFFEEEEEEEEFFEEEEEEEEEEEEFFEEEEEEEEEEEEFFEEEEFFEEEEEEEEEEEEEEFFEEEEEEEEFFEEEEEEEEEEEEEEEEEEEEFFFFEEEEEEEEEEEEEEEEEEEEFFEEEEEEEEEEEEEEEEEEEEEEFFEEEEFFEEEEEEEEEEFFEEEEEEEEEEEEEEEEFFEEFFEEEEEEEEEEEEEEEEEEEEEEEEEEFFEEEEEEEEFFEEEEEEEEEEEEEEEEEEFFEEFFEEEEEEFFEEFFFFEEEEEEEEFFEEEEEEFFEEEEEEFFEEEEEEEEEEEEEEEEEEEEEEFFEEEEEEEEEEEEEEEEEEEEFFEEFFFFEEFFEEEEEEEEEEEEEEEEEEFFEEEEEEEEFFEEEEEEEEEEFFEEEEEEEEEEEEEEEEEEFFEEEEEEEEFFEEEEEEEEEEEEFFEEEEFFEEEEEEEEEEEEFFEEEEFFEEEEEEEEEEEEEEFFEEEEEEEEFFEEEEEEEEEEFFEEEEEEFFEEFFEEEEEEFFEEEEEEEEEEEEEEFFEEEEEEEEEEEEFFFFEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEFFEEFFEEEEEEEEEEEEEEEEEEEEEEEEFFEEEEEEEEEEEEEEEEEEEEEEFFEEEEEEFFFFEEEEEEEEEEEEEEEEEEEEFFEEEEEEEEEEEEEEEEEEEEEEFFEEFFEEEEEEEEEEEEEEEEEEEEEEEEEEEEFFEEFFEEEEEEEEEEEEEEEEEEFFEEEEEEEEEEEEEEEEEEEEEEEEEEFFEEEEEEEEEEEEEEEEEEEEEEEEFFEEEEEEEEEEEEEEEEFFEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEFFEEEEEEEEEEEEEEEEEEEEEEEEEEEEFFEEEEEEEEEEEEEEEEEEEEFFEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEFFFFEEEEEEEEEEEEEEEEEEEEEEEEFFEEEEEEEEEEEEEEEEEEEEEEEEFFEEEEEEEEEEEEEEEEFFEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEFFEEEEEEEEEEEEEEEEEEEEEEEEEEEEFFEEEEEEEEEEEEEEEEEEEEFFEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEFFFFEEEEEEEEEEEEFFEEEEEEEEEEEEEEEEEEEEFFEEEEEEEEEEFFEEEEEEEEEEEEEEEEEEEEFFEEEEEEEEEEEEEEFFEEEEEEEEFFEEEEEEEEEEEEEEFFEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEFFEEEEEEEEEEEEEEEEFFEEEEEEEEFFEEEEEEEEEEEEEEFFEEEEEEEEEEEEEEEEEEFFEEEEEEFFEEFFEEEEFFEEEEEEEEFFEEEEEEEEFFEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEFFEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEFFEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEFFEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEFFEEEEFFEEEEEEFFEEEEEEEEEEFFEEEEEEFFEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEFFEEEEEEEEEEEEEEFFEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEFFEEEEEEEEFFEEEEEEEEFFEEEEFFEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEFFEEEEEEEEEEEEEEEEEEEEEEEEEEFFEEEEFFEEEEEEEEEEEEEEEEFFEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEFFFFEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEFFEEFFEEFFEEEEEEEEEEEEFFEEEEEEEEEEEEEEEEEEEEEEFFEEEEFFEEEEEEEEEEEEEEEEEEEEEEEEEEFFEEEEEEEEEEEEFFFFEEEEEEEEEEEEEEEEEEEEEEFFEEEEEEEEEEEEEEFFEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEFFEEEEEEEEEEEEEEEEFFEEEEEEEEEEEEEEEEEEEEFFEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEFFEEEEEEEEEEFFEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEFFEEEEEEEEEEEEEEFFFFEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEFFEEEEEEEEEEEEEEEEEEEEEEEEEEFFEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEFFEEEEEEEEEEEEEEFFEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEFFEEEEEEFFFFEEFFFFEEFFFFEEEEEEEEEEEEEEFFEEEEEEFFEEEEEEEEEEFFFFFFFFFFFFEEFFFFEEEEEEEEEEEEEEEEFFEEFFEEEEEEEEEEFFFFEEFFEEFFEEEEEEEEFFFFEEEEEEEEEEEEEEEEEEFFEEEEEEEEEEEEEEEEEEEEEEFFEEFFEEEEEEEEEEFFEEEEFFFFEEEEEEEEEEEEEEEEEEEEFFEEEEEEEEEEEEEEEEEEEEEEEEEEFFFFEEFFEEEEEEEEEEEEEEEEFFEEEEEEEEEEEEEEEEFFFFEEEEEEEEEEEEFFEEEEEEEEEEEEEEEEEEEEFFEEEEEEEEEEEEFFEEFFEEEEEEEEEEEEEEEEEEEEEEFFEEFFFFEEEEEEEEEEEEFFEEEEEEEEEEEEEEEEEEEEEEFFEEEEEEEEEEFFEEFFFFEEEEFFFFEEEEEEEEFFEEEEEEEEFFEEEEFFEEEEEEEEEEEEFFEEFFFFEEEEFFEEEEEEEEFFFFEEEEEEEEEEEEEEFFFFEEEEEEFFEEEEEEEEEEFFEEFFEEEEFFFFEEFFEEEEEEEEEEEEEEEEEEEEEEEEEEFFEEEEEEEEEEEEEEFFEEFFEEFFEEEEFFEEEEEEEEEEEEEEFFEEEEEEEEEEEEEEFFEEEEEEEEEEEEFFEEEEEEEEEEEEFFEEEEEEEEEEEEEEFFFFEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEFFEEEEEEFFFFEEEEEEEEEEEEEEEEEEEEEEEEEEFFEEFFEEEEEEEEEEEEEEEEFFEEFFEEEEEEEEFFEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEFFEEEEEEFFEEEEFFFFFFEEEEEEEEFFEEEEEEEEEEEEEEEEEEEEEEEEFFEEEEFFEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEFFEEEEEEEEEEEEEEEEEEEEFFEEEEFFEEEEFFEEEEFFEEEEEEEEEEEEFFEEFFEEEEEEEEEEEEEEFFFFFFFFEEEEFFEEEEEEEEEEEEEEEEEEFFEEEEEEEEFFEEEEEEEEFFEEEEFFEEEEEEEEEEFFFFEEFFEEEEEEEEEEEEEEEEEEEEEEEEEEFFEEEEEEEEFFEEFFEEEEEEFFEEEEEEEEEEEEEEEEEEEEFFEEEEEEEEEEFFEEEEEEFFFFEEEEFFEEEEEEEEEEEEEEEEFFEEFFEEEEEEFFEEEEEEEEEEEEFFEEEEEEEEFFEEEEEEEEEEEEFFEEEEEEEEEEEEFFEEEEFFEEEEEEEEEEEEEEFFEEEEEEEEFFEEEEEEEEEEEEEEEEEEEEFFFFEEEEEEEEEEEEEEEEEEEEFFEEEEEEEEEEEEEEEEEEEEEEFFEEEEFFEEEEEEEEEEFFEEEEEEEEEEEEEEEEFFEEFFEEEEEEEEEEEEEEEEEEEEEEEEEEFFEEEEEEEEFFEEEEEEEEEEEEEEEEEEFFEEFFEEEEEEFFEEFFFFEEEEEEEEFFEEEEEEFFEEEEEEFFEEEEEEEEEEEEEEEEEEEEEEFFEEEEEEEEEEEEEEEEEEEEFFEEFFFFEEFFEEEEEEEEEEEEEEEEEEFFEEEEEEEEFFEEEEEEEEEEFFEEEEEEEEEEEEEEEEEEFFEEEEEEEEFFEEEEEEEEEEEEFFEEEEFFEEEEEEEEEEEEFFEEEEFFEEEEEEEEEEEEEEFFEEEEEEEEFFEEEEEEEEEEFFEEEEEEFFEEFFEEEEEEFFEEEEEEEEEEEEEEFFEEEEEEEEEEEEFFFFEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEFFEEFFEEEEEEEEEEEEEEEEEEEEEEEEFFEEEEEEEEEEEEEEEEEEEEEEFFEEEEEEFFFFEEEEEEEEEEEEEEEEEEEEFFEEEEEEEEEEEEEEEEEEEEEEFFEEFFEEEEEEEEEEEEEEEEEEEEEEEEEEEEFFEEFFEEEEEEEEEEEEEEEEEEFFEEEEEEEEEEEEEEEEEEEEEEEEEEFFEEEEEEEEEEEEEEEEEEEEEEEEFFEEEEEEEEEEEEEEEEFFEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEFFEEEEEEEEEEEEEEEEEEEEEEEEEEEEFFEEEEEEEEEEEEEEEEEEEEFFEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEFFFFEEEEEEEEEEEEEEEEEEEEEEEEFFEEEEEEEEEEEEEEEEEEEEEEEEFFEEEEEEEEEEEEEEEEFFEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEFFEEEEEEEEEEEEEEEEEEEEEEEEEEEEFFEEEEEEEEEEEEEEEEEEEEFFEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEFFFFEEEEEEEEEEEEFFEEEEEEEEEEEEEEEEEEEEFFEEEEEEEEEEFFEEEEEEEEEEEEEEEEEEEEFFEEEEEEEEEEEEEEFFEEEEEEEEFFEEEEEEEEEEEEEEFFEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEFFEEEEEEEEEEEEFFEEFFEEEEEEEEFFEEEEEEEEEEEEEEFFEEEEEEEEEEEEEEEEEEFFEEEEEEFFEEFFEEEEFFEEEEEEEEFFEEEEEEEEFFEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEFFEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEFFEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEFFEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEFFEEEEFFEEEEEEFFEEEEEEEEEEFFEEEEEEFFEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEFFEEEEEEEEEEEEEEFFEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEFFEEEEEEEEFFEEEEEEEEFFEEEEFFEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEFFEEEEEEEEEEEEEEEEEEEEEEEEEEFFEEEEFFEEEEEEEEEEEEEEEEFFEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEFFFFEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEFFEEFFEEFFEEFFEEEEEEEEEEEEFFEEEEEEEEEEEEEEEEEEEEEEFFEEEEFFEEEEEEEEEEEEEEEEEEEEEEEEEEFFEEEEEEEEEEEEFFFFEEEEEEEEEEEEEEEEEEEEEEFFEEEEEEEEEEEEEEFFEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEFFEEEEEEEEEEEEEEEEFFEEEEEEEEEEEEEEEEEEEEFFEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEFFEEEEEEEEEEFFEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEFFEEEEEEEEEEEEEEFFFFEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEFFEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEFFEEEEEEEEEEEEEEEEEEEEEEEEEEFFEEEEEEEEEEEEEEEEEEEEEEFFEEEEEEEEEEEEEEFFEEEEEEEEEEEEEEFFEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEFFEEEEEEEEEEFFFFFFEEEEFFEEFFFFEEEEEEFFEEFFEEEEFFEEFFEEEEEEFFFFEEEEEEEEFFEEEEEEEEEEFFEEEEFFEEEEEEEEEEEEEEFFEEEEFFEEEEEEEEEEFFEEEEFFEEEEFFEEEEFFEEFFEEFFEEEEFFEEEEFFFFFFEEEEEEEEEEFFFFEEEEEEFFEEEEFFFFEEFFEEEEEEEEEEFFFFEEFFFFEEEEEEFFEEEEEEEEFFEEEEFFEEEEFFFFFFFFFFEEEEFFEEEEEEEEFFEEFFEEEEFFFFEEEEFFEEEEFFFFEEFFEEEEEEEEFFEEEEFFEEFFFFEEFFEEFFFFFFEEFFEEEEFFFFFFEEEEFFEEEEFFFFFFEEEEEEEEEEEEEEEEFFEEEEFFEEEEEEEEFFEEEEFFEEEEEEFFEEEEEEEEEEEEEEEEEEFFFFEEEEEEEEEEEEEEFFEEEEFFFFEEEEFFEEFFEEEEEEFFFFEEEEFFFFEEEEEEFFFFEEEEEEEEEEEEFFFFEEFFEEEEEEEEEEFFEEFFEEFFEEEEEEEEFFEEEEEEEEFFEEFFEEEEFFEEEEEEFFEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEFFEEFFEEEEFFFFEEFFFFFFEEFFEEFFEEFFEEFFFFFFFFEEEEEEEEEEFFEEFFEEEEEEEEEEEEEEFFEEEEEEEEEEEEEEEEEEFFEEFFEEEEFFEEEEEEEEFFEEEEEEFFEEEEEEEEEEEEEEEEEEEEEEEEFFFFEEFFEEEEEEEEEEFFFFEEFFFFEEFFEEFFEEEEEEEEFFEEEEEEFFEEEEEEEEEEEEFFEEEEFFEEEEFFFFEEEEFFEEEEEEEEEEEEEEEEFFEEEEFFFFFFFFFFFFEEEEEEEEEEEEFFFFEEFFEEEEFFEEFFEEFFEEEEEEEEEEEEFFEEEEEEEEEEEEEEEEEEEEEEFFFFEEFFEEFFFFFFFFEEEEFFEEFFEEEEEEEEFFEEFFEEFFFFEEFFEEEEFFEEFFEEEEFFEEFFEEEEEEFFFFFFEEEEEEFFFFEEEEEEEEEEEEEEEEEEFFEEEEEEEEEEEEEEFFEEEEEEFFEEEEEEFFFFEEFFEEEEEEEEEEEEEEFFEEEEFFEEFFFFEEEEEEEEEEFFFFEEEEEEEEEEEEEEEEEEEEEEFFFFEEEEFFEEFFEEFFEEFFEEEEFFEEEEFFEEEEEEEEFFEEEEEEEEFFEEEEEEEEEEEEEEEEEEEEEEFFFFEEEEEEEEFFEEFFFFEEEEEEEEEEEEEEEEEEEEFFEEFFEEEEEEEEFFEEEEEEEEEEFFEEEEFFFFEEEEEEEEFFEEEEEEFFEEFFEEEEEEFFEEFFEEEEFFEEEEEEFFEEFFEEEEEEFFEEEEEEEEEEEEFFEEEEFFEEFFEEEEEEEEFFEEFFEEFFEEEEFFEEFFFFFFEEEEEEEEEEFFFFEEEEEEEEEEEEFFEEEEEEEEEEEEEEFFEEFFEEEEEEEEFFEEFFEEFFEEEEEEEEFFFFEEEEFFEEEEEEEEFFFFFFFFEEEEEEEEEEEEFFFFEEEEFFEEFFEEFFEEEEEEEEFFFFFFEEEEEEEEFFEEFFEEEEEEEEEEEEEEFFEEEEEEEEEEEEFFFFFFEEEEFFEEFFEEFFFFEEEEEEFFFFEEEEEEEEEEEEEEEEEEFFEEEEFFFFFFFFFFEEFFEEFFEEEEFFEEEEEEEEFFEEEEEEFFFFFFFFEEEEEEEEEEEEEEEEFFEEEEEEEEEEEEEEEEEEFFEEEEEEEEFFEEEEEEEEEEFFEEEEEEEEEEEEEEFFEEEEEEEEEEEEFFEEEEEEFFEEEEEEFFEEEEEEEEFFEEEEFFEEEEEEFFFFEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEFFEEEEFFEEEEFFFFEEEEFFEEEEFFEEEEFFFFEEEEEEEEEEEEEEEEFFEEEEEEEEEEEEFFEEFFEEFFEEEEEEFFFFFFEEEEEEFFEEEEEEEEEEEEEEEEEEEEEEEEEEEEFFEEFFEEEEEEEEEEEEEEEEFFEEFFEEEEEEEEFFEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEFFEEEEEEFFEEEEFFFFFFEEEEEEFFFFEEEEEEEEFFEEFFEEEEEEEEEEFFEEEEFFEEFFEEEEEEEEEEEEEEEEEEEEEEEEEEFFEEEEEEEEEEEEEEEEEEEEFFEEEEFFEEEEEEFFEEFFEEEEEEEEEEEEEEEEFFEEFFEEEEEEEEFFEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEFFEEEEEEFFEEEEFFFFFFEEEEEEFFFFEEEEEEEEFFEEFFEEEEEEEEEEFFEEEEFFEEFFEEEEEEEEEEEEEEEEEEEEEEEEEEFFEEEEEEEEEEEEEEEEEEEEFFEEEEFFEEEEFFEEEEFFEEEEEEEEEEEEFFEEFFEEEEEEEEEEEEEEFFFFFFFFEEEEFFEEEEFFEEEEFFEEEEEEFFEEEEEEEEFFEEEEEEEEFFEEEEFFEEEEEEEEEEFFFFFFFFEEEEEEEEEEEEEEEEEEEEEEEEEEFFEEEEEEEEFFEEFFEEEEEEFFEEEEEEEEEEFFEEEEEEEEFFEEEEEEEEEEFFEEEEEEFFFFEEEEFFEEEEEEEEEEEEEEEEFFEEFFEEEEEEFFEEEEFFFFEEEEFFEEEEEEEEFFEEEEEEEEEEEEFFEEEEEEEEEEEEFFEEEEFFEEEEEEEEEEEEEEFFEEEEEEEEFFEEEEEEEEEEEEEEEEEEEEFFFFEEEEEEEEEEEEEEEEEEEEFFEEEEEEEEEEEEEEEEEEEEEEFFEEEEFFEEEEFFEEEEFFEEFFEEEEEEEEEEEEFFEEFFEEEEEEEEEEEEFFEEEEEEEEEEEEFFEEEEEEEEFFFFFFEEFFEEEEEEEEEEFFEEFFEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEFFEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEFFEEEEEEEEFFEEEEFFEEEEEEEEEEFFEEEEFFEEEEEEFFEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEFFFFEEEEEEEEEEEEFFEEEEFFFFFFFFFFEEEEEEEEEEEEEEEEEEEEEEFFEEEEEEFFEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEFFEEEEEEEEEEFFEEEEEEFFEEEEEEEEFFFFEEEEEEEEEEEEFFFFEEEEEEEEEEEEEEEEEEFFFFEEEEEEFFEEEEEEEEEEEEEEEEFFEEEEFFEEEEEEEEEEEEFFEEEEFFEEEEEEEEEEFFEEEEEEEEEEFFFFEEEEEEEEEEFFEEEEEEEEFFEEFFEEEEFFEEEEFFEEEEEEEEFFEEEEFFEEFFEEEEEEEEEEEEEEEEEEEEEEEEFFFFEEEEEEEEEEEEEEEEEEEEEEEEEEFFEEEEFFEEEEFFEEFFEEFFEEFFEEEEEEEEFFFFEEFFEEEEFFFFEEEEEEEEEEEEEEFFEEEEEEEEEEEEEEEEEEEEFFEEEEEEFFEEFFEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEFFEEEEFFEEFFEEEEEEEEFFFFEEEEEEEEEEEEEEEEEEFFEEEEEEEEEEEEEEEEEEEEEEEEEEFFEEEEEEEEEEEEEEEEFFFFEEEEEEEEEEEEEEEEEEEEFFEEEEEEEEFFEEEEEEEEEEEEEEEEFFEEFFEEEEEEEEEEEEEEFFEEEEEEEEEEEEEEEEEEEEEEEEFFFFEEFFFFEEEEEEEEEEFFEEEEEEEEEEEEEEFFEEEEEEFFEEEEEEEEEEEEEEEEEEEEEEEEFFFFEEEEEEEEEEEEEEFFEEEEEEEEEEEEEEFFFFFFEEEEFFEEFFFFEEEEEEFFEEFFEEEEFFEEFFEEEEEEFFFFEEEEEEEEFFEEEEEEEEEEFFEEEEFFEEEEEEEEEEEEEEFFEEEEFFEEEEEEEEEEFFEEEEFFEEEEFFEEEEFFEEFFEEFFEEEEFFEEEEFFFFFFEEEEEEEEEEFFFFEEEEEEFFEEEEFFFFEEFFEEEEEEEEEEFFFFEEFFFFEEEEEEFFEEEEEEEEFFEEEEFFEEEEFFFFFFFFFFEEEEFFEEEEEEEEFFEEFFEEEEFFFFEEEEFFEEEEFFFFEEFFEEEEEEEEFFEEEEFFEEFFFFEEFFEEFFFFFFEEFFEEEEFFFFFFEEEEFFEEEEFFFFFFEEEEEEEEEEEEEEEEFFEEEEFFEEEEEEEEFFEEEEFFEEEEEEFFEEEEEEEEEEEEEEEEEEFFFFEEEEEEEEEEEEEEFFEEEEFFFFEEEEFFEEFFEEEEEEFFFFEEEEFFFFEEEEEEFFFFEEEEEEEEEEEEFFFFEEFFEEEEEEEEEEFFEEFFEEFFEEEEEEEEFFEEEEEEEEFFEEFFEEEEFFEEEEEEFFEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEFFEEFFEEEEFFFFEEFFFFFFEEFFEEFFEEFFEEFFFFFFFFEEEEEEEEEEFFEEFFEEEEEEEEEEEEEEFFEEEEEEEEEEEEEEEEEEFFEEFFEEEEFFEEEEEEEEFFEEEEEEFFEEEEEEEEEEEEEEEEEEEEEEEEFFFFEEFFEEEEEEEEEEFFFFEEFFFFEEFFEEFFEEEEEEEEFFEEEEEEFFEEEEEEEEEEEEFFEEEEFFEEEEFFFFEEEEFFEEEEEEEEEEEEEEEEFFEEEEFFFFFFFFFFFFEEEEEEEEEEEEFFFFEEFFEEEEFFEEFFEEFFEEEEEEEEEEEEFFEEEEEEEEEEEEEEEEEEEEEEFFFFEEFFEEFFFFFFFFEEEEFFEEFFEEEEEEEEFFEEFFEEFFFFEEFFEEEEFFEEFFEEEEFFEEFFEEEEEEFFFFFFEEEEEEFFFFEEEEEEEEEEEEEEEEEEFFEEEEEEEEEEEEEEFFEEEEEEFFEEEEEEFFFFEEFFEEEEEEEEEEEEEEFFEEEEFFEEFFFFEEEEEEEEEEFFFFEEEEEEEEEEEEEEEEEEEEEEFFFFEEEEFFEEFFEEFFEEFFEEEEFFEEEEFFEEEEEEEEFFEEEEEEEEFFEEEEEEEEEEEEEEEEEEEEEEFFFFEEEEEEEEFFEEFFFFEEEEEEEEEEEEEEEEEEEEFFEEFFEEEEEEEEFFEEEEEEEEEEFFEEEEFFFFEEEEEEEEFFEEEEEEFFEEFFEEEEEEFFEEFFEEEEFFEEEEEEFFEEFFEEEEEEFFEEEEEEEEEEEEFFEEEEFFEEFFEEEEEEEEFFEEFFEEFFEEEEFFEEFFFFFFEEEEEEEEEEFFFFEEEEEEEEEEEEFFEEEEEEEEEEEEEEFFEEFFEEEEEEEEFFEEFFEEFFEEEEEEEEFFFFEEEEFFEEEEEEEEFFFFFFFFEEEEEEEEEEEEFFFFEEEEFFEEFFEEFFEEEEEEEEFFFFFFEEEEEEEEFFEEFFEEEEEEEEEEEEEEFFEEEEEEEEEEEEFFFFFFEEEEFFEEFFEEFFFFEEEEEEFFFFEEEEEEEEEEEEEEEEEEFFEEEEFFFFFFFFFFEEFFEEFFEEEEFFEEEEEEEEFFEEEEEEFFFFFFFFEEEEEEEEEEEEEEEEFFEEEEEEEEEEEEEEEEEEFFEEEEEEEEFFEEEEEEEEEEFFEEEEEEEEEEEEEEFFEEEEEEEEEEEEFFEEEEEEFFEEEEEEFFEEEEEEEEFFEEEEFFEEEEEEFFFFEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEFFEEEEFFEEEEFFFFEEEEFFEEEEFFEEEEFFFFEEEEEEEEEEEEEEEEFFEEEEEEEEEEEEFFEEFFEEFFEEEEEEFFFFFFEEEEEEFFEEEEEEEEEEEEEEEEEEEEEEEEEEEEFFEEFFEEEEEEEEEEEEEEEEFFEEFFEEEEEEEEFFEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEFFEEEEEEFFEEEEFFFFFFEEEEEEFFFFEEEEEEEEFFEEFFEEEEEEEEEEFFEEEEFFEEFFEEEEEEEEEEEEEEEEEEEEEEEEEEFFEEEEEEEEEEEEEEEEEEEEFFEEEEFFEEEEEEFFEEFFEEEEEEEEEEEEEEEEFFEEFFEEEEEEEEFFEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEFFEEEEEEFFEEEEFFFFFFEEEEEEFFFFEEEEEEEEFFEEFFEEEEEEEEEEFFEEEEFFEEFFEEEEEEEEEEEEEEEEEEEEEEEEEEFFEEEEEEEEEEEEEEEEEEEEFFEEEEFFEEEEFFEEEEFFEEEEEEEEEEEEFFEEFFEEEEEEEEEEEEEEFFFFFFFFEEEEFFEEEEFFEEEEFFEEEEEEFFEEEEEEEEFFEEEEEEEEFFEEEEFFEEEEEEEEEEFFFFFFFFEEEEEEEEEEEEEEEEEEEEEEEEEEFFEEEEEEEEFFEEFFEEEEEEFFEEEEEEEEEEFFEEEEEEEEFFEEEEEEEEEEFFEEEEEEFFFFEEEEFFEEEEEEEEEEEEEEEEFFEEFFEEEEEEFFEEEEFFFFEEEEFFEEEEEEEEFFEEEEEEEEEEEEFFEEEEEEEEEEEEFFEEEEFFEEEEEEEEEEEEEEFFEEEEEEEEFFEEEEEEEEEEEEEEEEEEEEFFFFEEEEEEEEEEEEEEEEEEEEFFEEEEEEEEEEEEEEEEEEEEEEFFEEEEFFEEEEFFEEEEFFEEFFEEEEEEEEEEEEFFEEFFEEEEEEEEEEEEFFEEEEEEEEEEEEFFEEEEEEEEFFFFFFEEFFEEEEEEEEEEFFEEFFEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEFFEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEFFEEEEEEEEFFEEEEFFEEEEEEEEEEFFEEEEFFEEEEEEFFEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEFFFFEEEEEEEEEEEEFFEEEEFFFFFFFFFFEEEEEEEEEEEEEEEEEEEEEEFFEEEEEEFFEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEFFEEEEEEEEEEFFEEEEEEFFEEEEEEEEFFFFEEEEEEEEEEEEFFFFEEEEEEEEEEEEEEEEEEFFFFEEEEEEFFEEEEEEEEEEEEEEEEFFEEEEFFEEEEEEEEEEEEFFEEEEFFEEEEEEEEEEFFEEEEEEEEEEFFFFEEEEEEEEEEFFEEEEEEEEFFEEFFEEEEFFEEEEFFEEEEEEEEFFEEEEFFEEFFEEEEEEEEEEEEEEEEEEEEEEEEFFFFEEEEEEEEEEEEEEEEEEEEEEEEEEFFEEEEFFEEEEFFEEFFEEFFEEFFEEEEEEEEFFFFEEFFEEEEFFFFEEEEEEEEEEEEEEFFEEEEEEEEEEEEEEEEEEEEFFEEEEEEFFEEFFEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEFFEEEEFFEEFFEEEEEEEEFFFFEEEEEEEEEEEEEEEEEEFFEEEEEEEEEEEEEEEEEEEEEEEEEEFFEEEEEEEEEEEEEEEEFFFFEEEEEEEEEEEEEEEEEEEEFFEEEEEEEEFFEEEEEEEEEEEEEEEEFFEEFFEEEEEEEEEEEEEEFFEEEEEEEEEEEEEEEEEEEEEEEEFFFFEEFFFFEEEEEEEEEEFFEEEEEEEEEEEEEEFFEEEEEEFFEEEEEEEEEEEEEEEEEEEEEEEEFFFFEEEEEEEEEEEEEEFFEEEEEEFFEEFFFFEEEEEEFFEEEEEEFFFFEEFFEEFFEEFFEEFFFFFFEEFFFFEEFFEEEEFFFFEEEEFFFFEEFFFFEEEEEEFFEEEEFFFFEEFFEEEEEEFFEEFFFFFFEEEEEEEEFFFFEEFFFFEEEEEEFFFFEEFFFFEEFFFFFFFFFFEEEEFFEEEEFFEEFFFFEEFFFFFFEEFFEEEEFFEEEEEEFFEEEEFFFFEEEEEEEEFFEEEEFFFFFFFFFFEEEEEEFFEEFFFFFFEEFFFFEEFFFFEEEEEEEEEEEEEEEEFFEEEEFFEEEEFFEEEEFFEEFFFFEEFFFFEEEEFFEEFFFFEEEEFFFFEEEEEEFFFFFFEEFFEEEEEEEEFFFFFFFFFFFFEEFFFFEEEEEEEEFFEEFFEEFFEEFFFFFFEEFFFFEEFFEEEEEEFFEEFFFFEEFFFFFFFFFFFFFFFFFFFFFFEEEEEEFFFFEEEEFFEEFFEEEEEEEEEEEEFFEEEEEEEEEEFFFFEEFFEEEEFFFFEEFFEEFFEEEEFFFFFFEEEEFFEEEEFFFFFFFFFFEEFFFFFFFFEEFFEEFFEEEEEEFFEEFFEEFFEEFFFFFFEEFFFFFFEEFFFFEEFFEEEEEEEEFFEEEEFFEEEEFFFFEEFFEEEEEEEEFFFFFFFFEEFFEEFFFFEEFFEEFFFFEEEEEEEEFFFFEEEEFFEEEEFFEEEEFFFFFFEEFFFFFFEEFFEEFFFFEEEEEEFFEEFFFFFFEEFFEEFFEEEEEEFFFFEEEEEEEEFFFFEEFFFFFFEEFFFFEEFFEEFFEEEEFFFFEEEEEEEEEEEEFFEEEEFFFFFFEEEEFFFFEEEEFFFFEEEEEEFFFFFFFFEEEEEEFFEEEEEEFFFFEEFFEEEEEEFFEEEEEEEEFFFFEEEEFFFFEEFFEEFFEEEEEEEEEEFFFFFFEEEEEEFFEEEEEEFFFFFFEEEEEEEEEEFFFFFFFFFFEEEEEEEEEEEEEEEEEEFFEEEEEEFFEEFFFFEEEEFFFFFFEEEEFFEEFFFFFFEEFFFFEEFFFFEEEEEEEEEEFFEEFFEEFFFFEEEEFFFFFFEEFFFFEEEEEEFFFFEEFFFFEEFFFFFFEEEEEEEEFFEEEEEEFFFFEEFFFFFFFFEEEEFFFFEEFFEEFFFFEEEEFFEEEEEEEEFFFFEEEEEEEEFFFFEEFFEEFFEEEEEEEEEEEEEEEEFFFFFFFFFFEEEEEEFFEEFFFFEEEEEEFFEEFFFFEEFFFFEEEEEEFFFFEEFFEEFFFFFFEEEEFFFFFFFFFFEEFFEEEEFFFFFFFFEEEEFFFFFFEEFFEEEEFFEEEEEEEEEEEEFFFFEEEEFFFFEEEEFFEEFFFFEEFFFFEEEEEEFFFFFFEEFFFFEEEEEEEEFFEEEEEEEEEEEEEEEEEEEEEEFFFFEEEEEEEEFFEEFFEEEEFFEEEEEEFFEEEEEEFFEEEEEEEEEEEEEEFFEEFFFFFFFFEEEEFFEEFFEEFFEEEEFFFFFFFFEEFFEEFFEEEEFFFFFFFFEEFFFFEEEEFFEEEEFFEEEEEEFFEEEEEEEEFFEEEEEEEEFFEEFFFFEEEEEEEEFFFFFFFFFFEEEEFFEEFFEEEEEEEEEEEEEEEEFFEEEEEEFFFFFFFFFFEEEEFFFFFFEEEEEEFFEEEEEEEEFFFFEEEEEEEEFFEEEEEEFFFFEEEEFFEEEEEEEEEEEEFFFFFFFFFFEEEEEEFFFFEEFFFFFFEEFFEEEEEEFFFFEEEEEEFFEEEEFFEEEEEEEEEEEEFFEEFFFFFFEEEEEEEEEEEEFFEEEEEEFFFFEEEEFFEEFFEEEEEEFFEEFFFFEEEEEEEEEEEEFFEEEEEEFFEEEEFFEEEEEEEEEEEEEEEEFFEEFFFFFFEEFFEEFFFFEEFFEEEEFFEEEEEEFFFFFFEEEEFFFFEEEEFFEEFFEEEEEEEEFFEEEEEEEEFFFFFFEEFFEEFFEEEEEEFFEEFFEEEEEEEEFFEEEEEEFFEEEEEEFFFFFFEEFFFFEEEEEEEEFFFFFFFFFFEEFFEEFFEEEEEEEEFFEEEEEEFFEEEEEEEEEEEEFFEEEEFFEEEEFFFFEEFFFFEEEEEEEEEEEEEEEEFFFFFFFFFFFFFFFFFFEEEEEEEEEEEEFFFFEEFFEEEEFFEEFFEEFFEEEEEEEEEEEEFFEEEEEEEEEEEEEEEEEEEEEEFFFFEEFFEEFFFFEEFFFFEEEEEEEEFFFFFFFFFFEEFFEEFFEEEEEEEEFFEEEEEEFFEEEEEEEEEEEEFFEEEEFFEEEEFFFFEEFFFFEEEEEEEEEEEEEEEEFFEEFFFFFFFFFFFFFFEEEEEEEEEEEEFFFFEEFFEEEEFFEEFFEEFFEEEEEEEEEEEEFFEEEEEEEEEEEEEEEEEEEEEEFFFFEEFFEEFFFFFFFFEEEEFFEEFFEEEEEEEEFFEEFFEEFFFFEEFFEEEEFFEEFFEEEEFFEEFFEEEEEEFFFFFFEEEEEEFFFFEEEEEEEEEEEEEEEEEEFFEEEEEEEEEEEEEEFFEEFFEEFFEEEEEEFFFFEEFFEEEEEEEEFFEEEEFFEEEEFFEEFFFFEEEEEEEEEEFFFFEEEEEEEEEEEEEEEEEEEEEEFFFFEEEEFFEEFFEEFFEEFFEEEEFFEEEEFFEEEEEEEEFFEEEEEEEEFFEEEEEEFFEEEEEEEEEEEEEEFFFFEEEEEEEEFFFFFFFFEEEEEEEEEEEEEEFFEEEEFFEEFFEEEEEEEEFFEEEEEEFFEEFFEEEEFFFFEEEEFFEEFFEEFFEEFFEEFFEEEEEEFFEEFFEEEEFFEEEEEEFFEEFFEEEEEEFFEEEEEEEEEEEEFFEEEEFFEEFFEEEEEEEEFFEEFFEEFFEEEEFFEEFFFFFFEEEEEEEEEEFFFFEEEEEEEEEEEEFFEEEEEEEEEEEEFFEEFFEEFFEEEEEEFFEEEEEEEEEEEEEEEEEEEEEEEEFFFFEEFFEEEEEEEEEEEEEEEEFFEEEEEEEEEEEEEEEEFFFFEEEEFFEEEEEEFFEEEEFFEEEEEEEEEEEEEEFFEEFFFFEEFFEEFFEEFFFFEEEEEEEEEEEEEEEEEEFFFFEEFFFFEEFFEEEEEEEEFFEEFFEEEEEEEEEEEEEEFFEEFFFFEEEEEEEEFFEEFFFFEEEEFFFFFFEEEEEEFFEEEEEEEEFFEEEEFFEEEEEEEEEEEEFFEEFFFFEEEEFFEEEEEEEEFFFFEEFFEEEEFFEEFFFFFFEEEEFFFFFFEEEEEEEEFFEEFFEEEEFFFFEEFFEEEEEEFFEEEEEEEEEEEEEEEEEEFFEEEEEEEEEEFFEEFFEEFFEEFFEEEEFFEEEEEEEEEEEEEEFFEEEEEEEEFFEEEEFFEEEEEEEEEEEEFFEEFFEEEEEEEEFFEEEEEEEEEEEEEEFFFFEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEFFEEEEFFFFFFEEEEEEEEEEFFFFEEEEFFEEEEFFEEEEEEEEEEEEEEEEFFEEFFEEEEEEFFFFEEEEEEEEEEEEEEEEEEEEFFEEEEFFEEEEEEEEEEEEEEFFEEEEFFEEEEEEEEEEFFEEEEFFEEEEFFEEEEFFEEFFEEFFEEEEFFEEEEEEEEFFEEEEEEEEEEFFFFEEEEEEFFEEEEFFFFEEFFEEEEEEEEEEFFFFEEFFFFEEEEEEFFEEEEEEEEEEFFEEEEEEFFEEFFFFEEEEEEEEEEEEEEEEEEEEEEFFEEEEEEEEEEFFEEEEEEEEEEFFEEFFFFEEEEEEEEFFFFEEEEFFFFEEEEEEFFFFEEEEEEEEEEEEEEFFEEEEEEFFFFEEEEEEEEEEEEEEEEEEFFEEEEEEFFEEFFFFEEEEEEFFEEEEEEFFFFEEFFEEFFEEFFEEFFFFFFEEFFFFEEFFEEEEFFFFEEEEFFFFEEFFFFEEEEEEFFEEEEFFFFEEFFEEEEEEFFEEFFFFFFEEEEEEEEFFFFEEFFFFEEEEEEFFFFEEFFFFEEFFFFFFFFFFEEEEFFEEEEFFEEFFFFEEFFFFFFEEFFEEEEFFEEEEEEFFEEEEFFFFEEEEEEEEFFEEEEFFFFFFFFFFEEEEEEFFEEFFFFFFEEFFFFEEFFFFEEEEEEEEEEEEEEEEFFEEEEFFEEEEFFEEEEFFEEFFFFEEFFFFEEEEFFEEFFFFEEEEFFFFEEEEEEFFFFFFEEFFEEEEEEEEFFFFFFFFFFFFEEFFFFEEEEEEEEFFEEFFEEFFEEFFFFFFEEFFFFEEFFEEEEEEFFEEFFFFEEFFFFFFFFFFFFFFFFFFFFFFEEEEEEFFFFEEEEFFEEFFEEEEEEEEEEEEFFEEEEEEEEEEFFFFEEFFEEEEFFFFEEFFEEFFEEEEFFFFFFEEEEFFEEEEFFFFFFFFFFEEFFFFFFFFEEFFEEFFEEEEEEFFEEFFEEFFEEFFFFFFEEFFFFFFEEFFFFEEFFEEEEEEEEFFEEEEFFEEEEFFFFEEFFEEEEEEEEFFFFFFFFEEFFEEFFFFEEFFEEFFFFEEEEEEEEFFFFEEEEFFEEEEFFEEEEFFFFFFEEFFFFFFEEFFEEFFFFEEEEEEFFEEFFFFFFEEFFEEFFEEEEEEFFFFEEEEEEEEFFFFEEFFFFFFEEFFFFEEFFEEFFEEEEFFFFEEEEEEEEEEEEFFEEEEFFFFFFEEEEFFFFEEEEFFFFEEEEEEFFFFFFFFEEEEEEFFEEEEEEFFFFEEFFEEEEEEFFEEEEEEEEFFFFEEEEFFFFEEFFEEFFEEEEEEEEEEFFFFFFEEEEEEFFEEEEEEFFFFFFEEEEEEEEEEFFFFFFFFFFEEEEEEEEEEEEEEEEEEFFEEEEEEFFEEFFFFEEEEFFFFFFEEEEFFEEFFFFFFEEFFFFEEFFFFEEEEEEEEEEFFEEFFEEFFFFEEEEFFFFFFEEFFFFEEEEEEFFFFEEFFFFEEFFFFFFEEEEEEEEFFEEEEEEFFFFEEFFFFFFFFEEEEFFFFEEFFEEFFFFEEEEFFEEEEEEEEFFFFEEEEEEEEFFFFEEFFEEFFEEEEEEEEEEEEEEEEFFFFFFFFFFEEFFEEFFEEFFFFEEEEEEFFEEFFFFEEFFFFEEEEEEFFFFEEFFEEFFFFFFEEEEFFFFFFFFFFEEFFEEEEFFFFFFFFEEEEFFFFFFEEFFEEEEFFEEEEEEEEEEEEFFFFEEEEFFFFEEEEFFEEFFFFEEFFFFEEEEEEFFFFFFEEFFFFEEEEEEEEFFEEEEEEEEEEEEEEEEEEEEEEFFFFEEEEEEEEFFEEFFEEEEFFEEEEEEFFEEEEEEFFEEEEEEEEEEEEEEFFEEFFFFFFFFEEEEFFEEFFEEFFEEEEFFFFFFFFEEFFEEFFEEEEFFFFFFFFEEFFFFEEEEFFEEEEFFEEEEEEFFEEEEEEEEFFEEEEEEEEFFEEFFFFEEEEEEEEFFFFFFFFFFEEEEFFEEFFEEEEEEEEEEEEEEEEFFEEEEEEFFFFFFFFFFEEEEFFFFFFEEEEEEFFEEEEEEEEFFFFEEEEEEEEFFEEEEEEFFFFEEEEFFEEEEEEEEEEEEFFFFFFFFFFEEEEEEFFFFEEFFFFFFEEFFEEEEEEFFFFEEEEEEFFEEEEFFEEEEEEEEEEEEFFEEFFFFFFEEEEEEEEEEEEFFEEEEEEFFFFEEEEFFEEFFEEEEEEFFEEFFFFEEEEEEEEEEEEFFEEEEEEFFEEEEFFEEEEEEEEEEEEEEEEFFEEFFFFFFEEFFEEFFFFEEFFEEEEFFEEEEEEFFFFFFEEEEFFFFEEEEFFEEFFEEEEEEEEFFEEEEEEEEFFFFFFEEFFEEFFEEEEEEFFEEFFEEEEEEEEFFEEEEEEFFEEEEEEFFFFFFEEFFFFEEEEEEEEFFFFFFFFFFEEFFEEFFEEEEEEEEFFEEEEEEFFEEEEEEEEEEEEFFEEEEFFEEEEFFFFEEFFFFEEEEEEEEEEEEEEEEFFFFFFFFFFFFFFFFFFEEEEEEFFEEEEFFFFEEFFEEEEFFEEFFEEFFEEEEEEEEEEEEFFEEEEEEEEEEEEEEEEEEEEEEFFFFEEFFEEFFFFEEFFFFEEEEEEEEFFFFFFFFFFEEFFEEFFEEEEEEEEFFEEEEEEFFEEEEEEEEEEEEFFEEEEFFEEEEFFFFEEFFFFEEEEEEEEEEEEEEEEFFEEFFFFFFFFFFFFFFEEEEEEEEEEEEFFFFEEFFEEEEFFEEFFEEFFEEEEEEEEEEEEFFEEEEEEEEEEEEEEEEEEEEEEFFFFEEFFEEFFFFFFFFEEEEFFEEFFEEEEEEEEFFEEFFEEFFFFEEFFEEEEFFEEFFEEEEFFEEFFEEEEEEFFFFFFEEEEEEFFFFEEEEEEEEEEEEEEEEEEFFEEEEEEEEEEEEEEFFEEFFEEFFEEEEEEFFFFEEFFEEEEEEEEFFEEEEFFEEEEFFEEFFFFEEEEEEEEEEFFFFEEEEEEEEEEEEEEEEEEEEEEFFFFEEEEFFEEFFEEFFEEFFEEEEFFEEEEFFEEEEEEEEFFEEEEEEEEFFEEEEEEFFEEEEEEEEEEEEEEFFFFEEEEEEEEFFFFFFFFEEEEEEEEEEEEEEFFEEEEFFEEFFEEEEEEEEFFEEEEEEFFEEFFEEEEFFFFEEEEFFEEFFEEFFEEFFEEFFEEEEEEFFEEFFEEEEFFEEEEEEFFEEFFEEEEEEFFEEEEEEEEEEEEFFEEEEFFEEFFEEEEEEEEFFEEFFEEFFEEEEFFEEFFFFFFEEEEEEEEEEFFFFEEEEEEEEEEEEFFEEEEEEEEEEEEFFEEFFEEFFEEEEEEFFEEEEEEEEEEEEEEEEEEEEEEEEFFFFEEFFEEEEEEEEEEEEEEEEFFEEEEEEEEEEEEEEEEFFFFEEEEFFEEEEEEFFEEEEFFEEEEEEEEEEEEEEFFEEFFFFEEFFEEFFEEFFFFEEEEEEEEEEEEEEEEEEFFFFEEFFFFEEFFEEEEEEEEFFEEFFEEEEEEEEEEEEEEFFEEFFFFEEEEEEEEFFEEFFFFEEEEFFFFFFEEEEEEFFEEEEEEEEFFEEEEFFEEEEEEEEEEEEFFEEFFFFEEEEFFEEEEEEEEFFFFEEFFEEEEFFEEFFFFFFEEEEFFFFFFEEEEEEEEFFEEFFEEEEFFFFEEFFEEEEEEFFEEEEEEEEEEEEEEEEEEFFEEEEEEEEEEFFEEFFEEFFEEFFEEEEFFEEEEEEEEEEEEEEFFEEEEEEEEFFEEEEFFEEEEEEEEEEEEFFEEFFEEEEEEEEFFEEEEEEEEEEEEEEFFFFEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEFFEEEEFFFFFFEEEEEEEEEEFFFFEEEEFFEEEEFFEEEEEEEEEEEEEEEEFFEEFFEEEEEEFFFFEEEEEEEEEEEEEEEEEEEEFFEEEEFFEEEEEEEEEEEEEEFFEEEEFFEEEEEEEEEEFFEEEEFFEEEEFFEEEEFFEEFFEEFFEEEEFFEEEEEEEEFFEEEEEEEEEEFFFFEEEEEEFFEEEEFFFFEEFFEEEEEEEEEEFFFFEEFFFFEEEEEEFFEEEEEEEEEEFFEEEEEEFFEEFFFFEEEEEEEEEEEEEEEEEEEEEEFFEEEEEEEEEEFFEEEEEEEEEEFFEEFFFFEEEEEEEEFFFFEEEEFFFFEEEEEEFFFFEEEEEEEEEEEEEEFFEEEEEEFFFFEEEEEEEEEEEEEEEEEEFFEEEEEEFFFFFFEEFFEEEEEEFFEEFFFFFFEEFFFFEEFFFFFFEEFFFFFFFFFFFFEEEEFFFFEEFFFFEEFFFFEEFFFFFFFFFFFFFFEEFFFFFFEEFFEEEEFFFFFFFFEEFFEEFFFFFFFFFFEEEEFFFFFFFFEEFFFFFFEEEEFFFFFFEEFFFFFFEEEEEEFFFFFFFFFFEEFFFFEEEEFFFFFFEEFFFFFFFFFFFFFFEEFFEEFFFFFFFFEEEEFFFFFFFFFFEEEEFFFFFFFFFFFFFFFFFFEEEEFFFFEEFFFFFFFFEEFFFFFFFFFFFFEEFFFFEEEEFFFFFFFFFFFFFFFFEEFFFFFFEEFFEEFFEEFFFFEEEEEEEEFFFFFFFFEEFFFFFFFFEEFFEEFFEEEEEEFFEEFFEEEEEEFFFFEEEEFFFFFFFFFFEEEEFFFFEEEEFFEEFFFFFFEEFFFFEEFFEEFFEEFFFFFFFFEEFFFFFFFFFFEEFFFFFFFFFFEEEEFFEEFFFFFFEEEEEEFFEEFFFFFFFFEEFFFFFFFFFFFFEEEEEEFFFFFFEEFFFFFFFFFFEEFFEEEEFFFFFFFFFFFFFFFFFFFFEEEEFFFFFFFFFFFFEEEEEEFFEEFFFFEEEEEEEEEEFFFFFFFFFFFFEEEEEEEEEEFFFFEEFFFFFFFFFFEEEEFFEEFFFFFFEEFFEEFFFFEEEEFFFFEEFFFFEEFFFFFFEEEEFFFFEEFFEEFFFFFFFFEEEEEEEEFFEEFFFFFFEEEEEEFFEEFFEEFFFFEEFFFFEEFFFFFFFFFFFFFFFFFFFFFFFFEEEEEEFFEEFFFFFFEEEEFFEEEEFFEEEEEEFFFFEEEEFFFFFFEEFFFFEEEEEEFFFFFFFFEEFFEEEEEEEEFFFFFFFFEEEEFFEEEEFFEEEEEEFFFFFFEEFFEEFFEEFFFFFFFFFFFFFFEEFFEEFFEEEEEEEEFFEEFFFFFFFFEEEEFFFFEEFFFFEEEEFFFFFFEEEEEEFFFFEEFFFFFFEEFFFFFFEEFFFFEEEEFFFFEEEEEEEEFFFFFFEEFFEEEEFFEEFFEEEEEEFFEEFFEEEEEEEEFFFFEEEEEEFFEEEEFFFFFFFFFFFFEEFFFFFFEEFFEEFFEEEEEEEEEEEEEEEEFFEEFFFFFFFFEEEEEEFFFFEEEEEEEEEEFFEEEEEEFFFFEEEEFFEEFFEEFFEEEEFFEEFFEEEEFFFFEEFFFFEEFFFFFFFFEEEEEEEEFFEEEEEEFFFFFFFFFFFFFFFFFFEEFFEEFFFFEEEEEEEEFFEEEEFFFFEEFFEEFFEEEEEEEEEEEEFFFFEEEEEEFFFFFFFFFFFFEEEEEEFFFFFFFFFFEEEEEEFFFFEEEEEEFFFFEEEEEEEEFFFFFFFFEEFFFFEEEEEEFFFFEEEEFFEEEEEEFFFFFFEEFFEEFFFFEEFFFFFFFFEEFFEEEEEEEEEEFFEEFFFFFFFFFFEEFFEEFFFFFFEEEEFFFFFFEEEEEEFFFFEEFFEEFFFFFFFFEEEEFFEEFFEEEEFFFFFFEEFFFFFFFFFFEEFFFFFFFFEEEEEEEEEEFFFFEEFFFFFFEEEEEEEEEEEEFFEEFFEEFFEEEEEEFFFFEEFFFFFFEEEEFFFFFFFFFFEEFFFFFFFFEEEEFFEEEEFFFFFFFFEEEEEEFFFFFFEEEEEEFFFFEEEEFFEEFFEEFFEEFFFFFFFFEEFFFFFFEEEEEEFFEEEEEEEEFFFFEEEEFFFFFFEEFFEEEEEEFFFFFFFFFFEEFFFFFFFFFFFFEEEEEEEEFFFFFFEEFFFFFFFFEEEEEEFFEEEEEEFFEEFFEEFFFFFFEEEEFFEEFFEEFFEEFFFFFFEEEEEEFFEEFFEEFFFFFFFFEEFFEEFFEEEEFFFFEEEEFFEEFFEEFFEEFFFFEEFFEEEEFFFFFFEEFFFFFFEEEEFFEEFFFFFFEEEEEEEEEEFFFFFFEEFFEEEEEEFFEEEEEEEEEEEEFFFFFFEEFFEEEEEEFFFFEEEEEEFFFFFFEEFFFFFFEEFFEEEEFFEEFFEEEEFFFFEEFFEEEEFFEEFFEEFFFFFFFFEEEEFFFFEEEEFFEEEEFFEEFFFFFFFFFFEEEEFFEEEEFFFFFFEEFFFFEEEEFFEEEEEEEEFFFFEEFFFFFFFFFFFFFFEEFFEEEEEEFFFFFFEEEEEEFFEEEEEEFFFFFFEEEEEEEEEEFFFFFFFFFFFFFFFFFFFFFFEEFFEEEEFFEEFFEEEEEEFFEEFFEEFFFFEEFFEEFFFFFFFFEEEEFFFFEEEEFFEEEEEEEEFFFFFFFFEEEEEEFFEEFFFFFFFFEEFFFFEEEEFFEEEEEEEEFFFFEEEEFFFFFFFFEEFFEEEEEEEEEEFFFFFFEEEEEEFFEEEEEEFFFFFFEEEEEEEEEEFFFFFFFFFFFFEEEEEEEEEEEEEEEEEEEEEEFFFFEEFFFFEEEEFFFFFFEEFFFFFFFFFFFFEEFFFFEEFFEEEEEEEEEEFFEEEEFFEEEEFFEEEEFFFFFFEEFFFFEEEEEEFFFFEEEEFFEEFFFFFFEEEEEEEEFFEEEEEEFFEEEEFFFFFFFFEEEEFFFFEEFFEEFFFFEEFFFFEEEEEEEEFFEEFFFFFFFFFFFFEEFFEEFFEEEEEEEEEEFFEEEEFFFFEEFFFFEEEEEEFFEEFFFFEEEEEEFFEEFFFFFFFFFFFFEEEEFFFFEEFFEEFFFFFFFFEEFFFFFFFFFFEEFFEEEEFFFFFFFFEEEEFFFFFFEEFFEEEEFFEEEEEEEEFFEEFFFFEEEEFFFFEEEEFFFFFFFFEEFFFFEEEEEEFFFFFFEEFFFFEEFFEEEEFFEEEEEEEEEEEEEEEEEEEEEEFFFFEEEEEEEEFFEEFFFFEEFFFFEEEEFFEEEEFFFFEEEEEEFFEEEEEEFFEEFFFFFFEEFFEEFFFFEEEEEEEEFFEEFFEEEEFFFFEEFFFFEEEEFFFFFFFFFFEEFFFFEEEEEEEEFFEEFFEEEEFFFFEEEEFFFFEEFFFFEEFFEEEEEEFFFFEEEEFFEEFFFFFFFFEEFFFFFFFFFFEEEEFFFFFFEEEEFFFFFFFFFFFFEEEEEEFFEEFFEEEEFFEEEEFFEEEEEEEEFFEEEEFFFFEEEEFFEEEEEEEEEEEEEEEEEEFFFFEEEEFFEEEEEEFFFFFFEEFFFFEEFFFFEEFFEEEEEEFFFFEEEEFFFFEEFFEEFFFFEEFFEEEEFFFFFFFFEEFFEEEEEEEEFFFFEEFFEEFFFFEEEEEEFFEEEEEEEEFFEEFFEEEEFFEEEEEEFFEEEEEEEEEEEEEEEEEEEEEEFFEEEEEEEEEEFFEEFFEEEEFFFFEEFFFFFFEEFFEEFFEEFFFFFFFFFFFFFFEEEEEEFFFFEEFFEEEEEEEEEEEEEEFFEEEEEEEEEEEEFFEEEEFFEEFFEEEEFFEEEEEEFFFFEEEEEEFFEEEEEEEEEEFFEEEEEEFFEEFFEEFFFFEEEEEEFFEEFFEEFFFFEEEEEEEEEEFFEEEEFFFFEEEEFFFFEEFFEEEEEEEEFFEEEEFFFFEEFFEEEEEEFFEEFFFFFFEEEEEEEEFFFFEEFFEEEEEEEEFFFFEEFFFFEEEEFFFFFFFFEEEEFFEEEEEEEEFFFFEEFFFFFFEEEEEEEEEEEEEEEEEEEEEEFFFFEEEEEEEEFFEEEEFFFFFFEEFFEEEEEEEEEEEEFFEEFFFFEEFFEEFFFFFFFFEEFFFFEEFFEEEEEEEEFFEEEEFFEEFFEEEEEEEEEEEEFFEEEEEEEEEEFFEEEEFFEEEEFFFFEEEEEEFFEEEEEEFFFFEEEEEEEEEEFFFFFFFFFFEEFFFFEEFFFFFFEEFFEEEEEEFFEEFFFFFFEEFFFFEEFFFFFFEEFFFFFFFFFFFFEEEEFFFFEEFFFFEEFFFFEEFFFFFFFFFFFFFFEEFFFFFFEEFFEEEEFFFFFFFFEEFFEEFFFFFFFFFFEEEEFFFFFFFFEEFFFFFFEEEEFFFFFFEEFFFFFFEEEEEEFFFFFFFFFFEEFFFFEEEEFFFFFFEEFFFFFFFFFFFFFFEEFFEEFFFFFFFFEEEEFFFFFFFFFFEEEEFFFFFFFFFFFFFFFFFFEEEEFFFFEEFFFFFFFFEEFFFFFFFFFFFFEEFFFFEEEEFFFFFFFFFFFFFFFFEEFFFFFFEEFFEEFFEEFFFFEEEEEEEEFFFFFFFFEEFFFFFFFFEEFFEEFFEEEEEEFFEEFFEEEEEEFFFFEEEEFFFFFFFFFFEEEEFFFFEEEEFFEEFFFFFFEEFFFFEEFFEEFFEEFFFFFFFFEEFFFFFFFFFFEEFFFFFFFFFFEEEEFFEEFFFFFFEEEEEEFFEEFFFFFFFFEEFFFFFFFFFFFFEEEEEEFFFFFFEEFFFFFFFFFFEEFFEEEEFFFFFFFFFFFFFFFFFFFFEEEEFFFFFFFFFFFFEEEEEEFFEEFFFFEEEEEEEEEEFFFFFFFFFFFFEEEEEEEEEEFFFFEEFFFFFFFFFFEEEEFFEEFFFFFFEEFFEEFFFFEEEEFFFFEEFFFFEEFFFFFFEEEEFFFFEEFFEEFFFFFFFFEEEEEEEEFFEEFFFFFFEEEEEEFFEEFFEEFFFFEEFFFFEEFFFFFFFFFFFFFFFFFFFFFFFFEEEEEEFFEEFFFFFFEEEEFFEEEEFFEEEEEEFFFFEEEEFFFFFFEEFFFFEEEEEEFFFFFFFFEEFFEEEEEEEEFFFFFFFFEEEEFFEEEEFFEEEEEEFFFFFFEEFFEEFFEEFFFFFFFFFFFFFFEEFFEEFFEEEEEEEEFFEEFFFFFFFFEEEEFFFFEEFFFFEEEEFFFFFFEEEEEEFFFFEEFFFFFFEEFFFFFFEEFFFFEEEEFFFFEEEEEEEEFFFFFFEEFFEEEEFFEEFFEEEEEEFFEEFFEEEEEEEEFFFFEEEEEEFFEEEEFFFFFFFFFFFFEEFFFFFFEEFFEEFFEEEEEEEEEEEEEEEEFFEEFFFFFFFFEEEEEEFFFFEEEEEEEEEEFFEEEEEEFFFFEEEEFFEEFFEEFFEEEEFFEEFFEEEEFFFFEEFFFFEEFFFFFFFFEEEEEEEEFFEEEEEEFFFFFFFFFFFFFFFFFFEEFFEEFFFFEEEEEEEEFFEEEEFFFFEEFFEEFFEEEEEEEEEEEEFFFFEEEEEEFFFFFFFFFFFFEEEEEEFFFFFFFFFFEEEEEEFFFFEEEEEEFFFFEEEEEEEEFFFFFFFFEEFFFFEEEEEEFFFFEEEEFFEEEEEEFFFFFFEEFFEEFFFFEEFFFFFFFFEEFFEEEEEEEEEEFFEEFFFFFFFFFFEEFFEEFFFFFFEEEEFFFFFFEEEEEEFFFFEEFFEEFFFFFFFFEEEEFFEEFFEEEEFFFFFFEEFFFFFFFFFFEEFFFFFFFFEEEEEEEEEEFFFFEEFFFFFFEEEEEEEEEEEEFFEEFFEEFFEEEEEEFFFFEEFFFFFFEEEEFFFFFFFFFFEEFFFFFFFFEEEEFFEEEEFFFFFFFFEEEEEEFFFFFFEEEEEEFFFFEEEEFFEEFFEEFFEEFFFFFFFFEEFFFFFFEEEEEEFFEEEEEEEEFFFFEEEEFFFFFFEEFFEEEEEEFFFFFFFFFFEEFFFFFFFFFFFFEEEEEEEEFFFFFFEEFFFFFFFFEEEEEEFFEEEEEEFFEEFFEEFFFFFFEEEEFFEEFFEEFFEEFFFFFFEEEEEEFFEEFFEEFFFFFFFFEEFFEEFFEEEEFFFFEEEEFFEEFFEEFFEEFFFFEEFFEEEEFFFFFFEEFFFFFFEEEEFFEEFFFFFFEEEEEEEEEEFFFFFFEEFFEEEEEEFFEEEEEEEEEEEEFFFFFFEEFFEEEEEEFFFFEEEEEEFFFFFFEEFFFFFFEEFFEEEEFFEEFFEEEEFFFFEEFFEEEEFFEEFFEEFFFFFFFFEEEEFFFFEEEEFFEEEEFFEEFFFFFFFFFFEEEEFFEEEEFFFFFFEEFFFFEEEEFFEEEEEEEEFFFFEEFFFFFFFFFFFFFFEEFFEEEEEEFFFFFFEEEEEEFFEEEEEEFFFFFFEEEEEEEEEEFFFFFFFFFFFFFFFFFFFFFFEEFFEEEEFFEEFFEEEEEEFFEEFFEEFFFFEEFFEEFFFFFFFFEEEEFFFFEEEEFFEEEEEEEEFFFFFFFFEEEEEEFFEEFFFFFFFFEEFFFFEEEEFFEEEEEEEEFFFFEEEEFFFFFFFFEEFFEEEEEEEEEEFFFFFFEEEEEEFFEEEEEEFFFFFFEEEEEEEEEEFFFFFFFFFFFFEEEEEEEEEEEEEEEEEEEEEEFFFFEEFFFFEEEEFFFFFFEEFFFFFFFFFFFFEEFFFFEEFFEEEEEEEEEEFFEEEEFFEEEEFFEEEEFFFFFFEEFFFFEEEEEEFFFFEEEEFFEEFFFFFFEEEEEEEEFFEEEEEEFFEEEEFFFFFFFFEEEEFFFFEEFFEEFFFFEEFFFFEEEEEEEEFFEEFFFFFFFFFFFFEEFFEEFFEEEEEEEEEEFFEEEEFFFFEEFFFFEEEEEEFFEEFFFFEEEEEEFFEEFFFFFFFFFFFFEEEEFFFFEEFFEEFFFFFFFFEEFFFFFFFFFFEEFFEEFFFFFFFFFFEEEEFFFFFFEEFFEEEEFFEEEEEEEEFFEEFFFFEEEEFFFFEEEEFFFFFFFFEEFFFFEEEEEEFFFFFFEEFFFFEEFFEEEEFFEEEEEEEEEEEEEEEEEEEEEEFFFFEEEEEEEEFFEEFFFFEEFFFFEEEEFFEEEEFFFFEEEEEEFFEEEEEEFFEEFFFFFFEEFFEEFFFFEEEEEEEEFFEEFFEEEEFFFFEEFFFFEEEEFFFFFFFFFFEEFFFFEEEEEEEEFFEEFFEEEEFFFFEEEEFFFFEEFFFFEEFFEEEEEEFFFFEEEEFFEEFFFFFFFFEEFFFFFFFFFFEEEEFFFFFFEEEEFFFFFFFFFFFFEEEEEEFFEEFFEEEEFFEEEEFFEEEEEEEEFFEEEEFFFFEEEEFFEEEEEEEEEEEEEEEEEEFFFFEEEEFFEEEEEEFFFFFFEEFFFFEEFFFFEEFFEEEEEEFFFFEEEEFFFFEEFFEEFFFFEEFFFFEEFFFFFFFFEEFFEEEEEEEEFFFFEEFFEEFFFFEEEEEEFFEEEEEEEEFFEEFFEEEEFFEEEEEEFFEEEEEEEEEEEEEEEEEEEEEEFFEEEEEEEEEEFFEEFFEEEEFFFFEEFFFFFFEEFFEEFFEEFFFFFFFFFFFFFFEEEEEEFFFFEEFFEEEEEEEEEEEEEEFFEEEEEEEEEEEEFFEEEEFFEEFFEEEEFFEEEEEEFFFFEEEEEEFFEEEEEEEEEEFFEEEEEEFFEEFFEEFFFFEEEEEEFFEEFFEEFFFFEEEEEEEEEEFFEEEEFFFFEEEEFFFFEEFFEEEEEEEEFFEEEEFFFFEEFFEEEEEEFFEEFFFFFFEEEEEEEEFFFFEEFFEEEEEEEEFFFFEEFFFFEEEEFFFFFFFFEEEEFFEEEEEEEEFFFFEEFFFFFFEEEEEEEEEEEEEEEEEEEEEEFFFFEEEEEEEEFFEEEEFFFFFFEEFFEEEEEEEEEEEEFFEEFFFFEEFFEEFFFFFFFFEEFFFFEEFFEEEEEEEEFFEEEEFFEEFFEEEEEEEEEEEEFFEEEEEEEEEEFFEEEEFFEEEEFFFFEEEEEEFFEEEEEEFFFFEEEEEEEEEEFFFFFFFFFFEEFFFFEEEEFFFFFFFFFFFFFFFFEEFFFFFFFFEEFFFFFFFFFFFFEEFFEEEEFFFFFFEEFFFFFFFFFFFFFFFFFFFFFFFFFFEEFFEEFFFFFFFFFFFFEEFFFFEEFFFFFFEEEEEEEEFFFFEEFFFFFFFFFFFFEEFFFFFFFFFFFFFFEEFFFFFFFFFFFFFFFFFFEEFFFFFFFFFFFFFFFFFFEEFFFFEEFFFFEEFFFFEEFFFFFFFFFFFFFFFFFFFFEEFFFFFFFFFFEEFFFFFFFFFFFFFFFFFFEEFFFFFFFFEEFFEEFFFFEEFFFFEEFFFFFFFFEEFFFFEEEEFFEEFFFFFFFFFFEEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEEFFFFFFEEFFEEEEFFEEFFFFFFEEFFFFFFFFFFEEFFFFFFFFEEFFFFFFFFEEFFFFFFFFEEFFFFFFFFFFFFFFEEFFFFFFFFFFEEEEFFEEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEEEEFFFFEEFFFFEEFFFFFFFFFFFFFFFFFFFFEEFFEEFFFFFFFFEEEEEEFFFFEEFFEEFFFFFFFFFFFFFFFFFFEEEEFFFFFFFFEEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEEEEFFFFFFFFFFFFFFEEFFEEEEFFFFFFEEFFEEFFFFFFEEFFFFFFFFFFFFFFEEFFFFFFEEFFFFFFFFFFFFFFFFFFFFFFFFEEFFFFEEEEFFFFFFFFFFFFFFFFFFEEFFFFFFFFFFEEFFEEFFEEEEFFEEFFFFEEFFFFEEFFFFFFFFEEFFFFEEFFFFFFEEFFFFFFFFFFFFFFFFFFFFFFEEFFFFFFFFFFFFEEFFFFFFFFEEFFFFFFFFFFFFFFFFFFFFEEFFFFFFFFEEFFFFFFFFEEFFEEFFFFFFEEFFFFFFFFEEFFFFFFFFFFEEFFFFEEFFFFFFFFEEFFFFFFFFFFFFFFFFEEFFFFFFFFEEFFFFEEEEFFFFFFFFFFFFEEFFFFFFFFFFEEEEFFFFEEFFFFEEEEEEFFFFFFEEEEFFFFFFFFEEFFEEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEEFFFFFFEEFFEEFFFFFFFFEEFFFFFFFFFFEEFFFFFFFFFFFFEEEEEEFFFFFFFFFFFFFFEEFFFFFFFFFFFFEEFFEEFFFFEEFFEEFFFFFFFFFFFFFFFFFFEEFFFFFFEEFFFFFFFFEEEEFFFFFFFFFFFFFFFFEEFFEEFFFFFFFFFFFFFFFFFFFFFFFFFFFFEEFFFFEEEEEEEEFFEEFFFFFFEEFFEEFFFFFFFFFFFFFFEEFFFFFFEEFFFFFFFFFFFFFFEEFFFFFFFFEEFFFFFFFFFFFFFFEEFFFFFFFFEEFFFFFFFFFFEEEEEEFFFFFFFFFFFFFFEEEEFFFFEEFFFFEEFFEEFFFFFFEEFFFFFFFFFFEEFFFFEEEEFFFFEEEEEEFFEEFFFFFFFFFFFFFFFFFFEEFFFFEEEEFFFFEEFFFFFFFFEEEEEEEEFFFFEEFFFFEEFFFFFFFFFFFFFFFFFFFFEEEEEEFFFFFFEEFFEEFFFFFFEEEEEEFFFFEEFFFFFFEEFFFFFFFFFFFFFFFFFFEEFFEEFFFFEEFFFFFFEEEEFFFFEEEEFFFFFFFFFFEEFFFFFFEEEEFFFFFFFFEEEEFFFFFFFFFFEEFFEEFFEEFFFFEEFFEEFFEEFFFFFFFFFFEEEEFFFFFFEEFFEEFFFFFFEEFFFFFFFFFFFFEEFFFFEEFFFFFFFFEEFFFFFFFFFFFFFFFFFFEEEEFFEEFFEEFFFFEEEEFFFFFFFFFFEEFFFFFFFFFFEEEEEEFFFFFFFFFFFFEEFFEEFFFFFFEEFFEEEEEEFFFFFFEEFFFFFFEEFFEEEEFFFFFFFFFFFFFFEEEEFFEEFFEEFFEEEEFFEEFFFFEEFFFFFFFFFFEEFFEEFFFFFFFFEEFFFFEEFFFFFFEEEEFFFFEEFFFFFFFFFFFFFFFFFFFFFFFFEEEEEEFFEEFFFFFFEEEEFFEEEEFFFFEEEEFFEEEEFFEEFFFFEEFFFFEEFFEEFFFFFFFFEEFFEEEEFFFFFFFFFFFFEEFFFFEEEEFFEEFFEEFFFFFFEEFFEEFFEEFFFFFFEEFFFFFFEEFFEEFFEEFFFFEEFFFFFFEEFFFFEEFFEEFFFFFFEEFFFFFFFFFFFFFFFFFFFFFFFFEEFFEEFFEEFFFFFFEEEEFFEEEEFFFFEEEEFFEEEEEEEEFFFFEEFFFFEEFFEEFFFFFFFFEEFFEEEEEEFFFFFFFFFFEEEEFFEEFFFFEEFFEEFFFFFFEEFFFFFFEEFFFFFFEEFFFFFFFFFFEEFFFFEEFFEEFFEEFFFFFFFFEEFFFFFFFFFFFFEEEEFFFFFFFFEEFFFFFFEEFFFFFFFFFFFFFFEEEEFFEEEEFFFFEEEEEEFFFFFFFFEEFFEEEEFFFFFFEEEEEEFFEEFFEEEEEEFFFFEEFFFFEEFFFFEEFFFFFFEEFFFFEEEEFFFFEEFFEEFFFFEEEEEEEEFFEEEEFFEEFFFFFFFFEEEEFFFFFFFFFFEEFFFFEEEEFFEEFFFFFFEEFFEEFFEEFFFFFFFFEEFFEEEEFFFFFFFFEEEEEEFFFFFFEEEEEEEEFFFFEEEEFFEEFFFFFFFFFFFFFFEEEEEEFFFFEEEEEEEEFFEEEEFFFFEEFFEEFFEEEEEEFFEEEEFFEEEEEEFFFFFFFFFFFFFFEEEEEEFFFFFFFFFFEEEEEEFFEEEEEEEEEEFFEEEEFFEEEEFFFFFFEEFFFFEEEEFFFFFFEEEEFFEEEEFFFFFFFFFFFFEEFFFFFFFFFFFFFFEEFFEEEEEEEEEEFFFFFFFFFFFFFFEEEEEEFFEEEEEEFFEEFFFFEEFFFFFFEEFFFFFFFFFFEEFFFFFFFFFFFFFFEEFFFFEEFFFFEEFFEEEEFFEEEEEEFFFFFFFFEEEEFFEEFFEEEEFFFFEEFFFFFFEEFFEEFFFFEEEEFFFFEEFFEEFFFFFFFFFFEEFFFFEEFFFFEEFFFFFFFFFFFFEEEEEEFFFFFFFFEEFFFFFFFFFFFFFFFFEEFFEEEEEEFFEEFFFFEEFFFFFFFFFFFFEEFFFFFFFFEEEEFFFFFFEEEEFFEEFFEEFFEEEEEEFFFFEEFFEEEEEEFFEEFFFFFFFFFFFFEEEEFFFFFFEEEEFFFFEEEEEEFFEEFFFFFFFFFFEEFFFFFFFFEEFFEEFFEEFFEEFFFFFFEEFFEEFFFFFFEEFFFFFFEEFFFFEEFFEEEEFFEEFFEEEEFFEEFFFFFFEEFFEEEEEEEEFFEEFFFFFFFFEEFFFFEEFFEEFFFFEEFFFFEEFFFFEEFFFFEEEEFFEEEEEEFFFFFFFFFFFFFFFFEEFFFFEEEEEEFFEEFFFFEEFFFFEEFFFFEEEEFFFFFFFFFFEEEEEEEEFFFFFFEEFFFFFFFFFFFFEEFFFFEEFFFFFFEEFFFFEEFFFFFFFFFFFFFFEEFFFFEEFFFFEEEEEEFFFFEEEEEEEEEEFFFFEEFFEEEEFFFFFFEEEEFFFFFFEEEEEEFFFFEEEEFFEEEEEEEEFFFFFFFFEEEEFFFFEEEEFFFFFFEEEEEEFFFFFFFFFFEEEEFFFFFFFFEEFFEEFFEEEEEEFFFFFFEEFFEEFFFFFFEEFFFFFFEEFFFFEEFFFFFFEEEEFFEEEEFFEEFFFFFFEEFFEEEEEEEEFFEEFFFFEEFFEEFFFFEEFFEEFFFFEEFFEEEEFFFFEEFFFFEEEEFFEEEEFFEEFFFFFFFFFFFFEEFFFFFFFFFFFFFFFFEEFFFFFFFFEEFFFFFFFFFFFFEEFFEEEEFFFFFFEEFFFFFFFFFFFFFFFFFFFFFFFFFFEEFFEEFFFFFFFFFFFFEEFFFFEEFFFFFFEEEEEEEEFFFFEEFFFFFFFFFFFFEEFFFFFFFFFFFFFFEEFFFFFFFFFFFFFFFFFFEEFFFFFFFFFFFFFFFFFFEEFFFFEEFFFFEEFFFFEEFFFFFFFFFFFFFFFFFFFFEEFFFFFFFFFFEEFFFFFFFFFFFFFFFFFFEEFFFFFFFFEEFFEEFFFFEEFFFFEEFFFFFFFFEEFFFFEEEEFFEEFFFFFFFFFFEEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEEFFFFFFEEFFEEEEFFEEFFFFFFEEFFFFFFFFFFEEFFFFFFFFEEFFFFFFFFEEFFFFFFFFEEFFFFFFFFFFFFFFEEFFFFFFFFFFEEEEFFEEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEEEEFFFFEEFFFFEEFFFFFFFFFFFFFFFFFFFFEEFFEEFFFFFFFFEEEEEEFFFFEEFFEEFFFFFFFFFFFFFFFFFFEEEEFFFFFFFFEEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEEEEFFFFFFFFFFFFFFEEFFEEEEFFFFFFEEFFEEFFFFFFEEFFFFFFFFFFFFFFEEFFFFFFEEFFFFFFFFFFFFFFFFFFFFFFFFEEFFFFEEEEFFFFFFFFFFFFFFFFFFEEFFFFFFFFFFEEFFEEFFEEEEFFEEFFFFEEFFFFEEFFFFFFFFEEFFFFEEFFFFFFEEFFFFFFFFFFFFFFFFFFFFFFEEFFFFFFFFFFFFEEFFFFFFFFEEFFFFFFFFFFFFFFFFFFFFEEFFFFFFFFEEFFFFFFFFEEFFEEFFFFFFEEFFFFFFFFEEFFFFFFFFFFEEFFFFEEFFFFFFFFEEFFFFFFFFFFFFFFFFEEFFFFFFFFEEFFFFEEEEFFFFFFFFFFFFEEFFFFFFFFFFEEEEFFFFEEFFFFEEEEEEFFFFFFEEEEFFFFFFFFEEFFEEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEEFFFFFFEEFFEEFFFFFFFFEEFFFFFFFFFFEEFFFFFFFFFFFFEEEEEEFFFFFFFFFFFFFFEEFFFFFFFFFFFFEEFFEEFFFFEEFFEEFFFFFFFFFFFFFFFFFFEEFFFFFFEEFFFFFFFFEEEEFFFFFFFFFFFFFFFFEEFFEEFFFFFFFFFFFFFFFFFFFFFFFFFFFFEEFFFFEEEEEEEEFFEEFFFFFFEEFFEEFFFFFFFFFFFFFFEEFFFFFFEEFFFFFFFFFFFFFFEEFFFFFFFFEEFFFFFFFFFFFFFFEEFFFFFFFFEEFFFFFFFFFFEEEEEEFFFFFFFFFFFFFFEEEEFFFFEEFFFFEEFFEEFFFFFFEEFFFFFFFFFFEEFFFFEEEEFFFFEEEEEEFFEEFFFFFFFFFFFFFFFFFFEEFFFFEEEEFFFFEEFFFFFFFFEEEEEEEEFFFFEEFFFFEEFFFFFFFFFFFFFFFFFFFFEEEEEEFFFFFFEEFFEEFFFFFFEEEEEEFFFFEEFFFFFFEEFFFFFFFFFFFFFFFFFFEEFFEEFFFFEEFFFFFFEEEEFFFFEEEEFFFFFFFFFFEEFFFFFFEEEEFFFFFFFFEEEEFFFFFFFFFFEEFFEEFFEEFFFFEEFFEEFFEEFFFFFFFFFFEEEEFFFFFFEEFFEEFFFFFFEEFFFFFFFFFFFFEEFFFFEEFFFFFFFFEEFFFFFFFFFFFFFFFFFFEEEEFFEEFFEEFFFFEEEEFFFFFFFFFFEEFFFFFFFFFFEEEEEEFFFFFFFFFFFFEEFFEEFFFFFFEEFFEEEEEEFFFFFFEEFFFFFFEEFFEEEEFFFFFFFFFFFFFFEEEEFFEEFFEEFFEEEEFFEEFFFFEEFFFFFFFFFFEEFFEEFFFFFFFFEEFFFFEEFFFFFFEEEEFFFFEEFFFFFFFFFFFFFFFFFFFFFFFFEEEEEEFFEEFFFFFFEEEEFFEEEEFFFFEEEEFFEEEEFFEEFFFFEEFFFFEEFFEEFFFFFFFFEEFFEEEEFFFFFFFFFFFFEEFFFFEEEEFFEEFFEEFFFFFFEEFFEEFFEEFFFFFFEEFFFFFFEEFFEEFFEEFFFFEEFFFFFFEEFFFFEEFFEEFFFFFFEEFFFFFFFFFFFFFFFFFFFFFFFFEEFFEEFFEEFFFFFFEEEEFFEEEEFFFFEEEEFFEEEEEEEEFFFFEEFFFFEEFFEEFFFFFFFFEEFFEEEEEEFFFFFFFFFFEEEEFFEEFFFFEEFFEEFFFFFFEEFFFFFFEEFFFFFFEEFFFFFFFFFFEEFFFFEEFFEEFFEEFFFFFFFFEEFFFFFFFFFFFFEEEEFFFFFFFFEEFFFFFFEEFFFFFFFFFFFFFFEEEEFFEEEEFFFFEEEEEEFFFFFFFFEEFFEEEEFFFFFFEEEEEEFFEEFFEEEEEEFFFFEEFFFFEEFFFFEEFFFFFFEEFFFFEEEEFFFFEEFFEEFFFFEEEEEEEEFFEEEEFFEEFFFFFFFFEEEEFFFFFFFFFFEEFFFFEEEEFFEEFFFFFFEEFFEEFFEEFFFFFFFFEEFFEEEEFFFFFFFFEEEEEEFFFFFFEEEEEEEEFFFFEEEEFFEEFFFFFFFFFFFFFFEEEEEEFFFFEEEEEEEEFFEEEEFFFFEEFFEEFFEEEEEEFFEEEEFFEEEEEEFFFFFFFFFFFFFFEEEEEEFFFFFFFFFFEEEEEEFFEEEEEEEEEEFFEEEEFFEEEEFFFFFFEEFFFFEEEEFFFFFFEEEEFFEEEEFFFFFFFFFFFFEEFFFFFFFFFFFFFFEEFFEEEEEEEEEEFFFFFFFFFFFFFFEEEEEEFFEEEEEEFFEEFFFFEEFFFFFFEEFFFFFFFFFFEEFFFFFFFFFFFFFFEEFFFFEEFFFFEEFFEEEEFFEEEEEEFFFFFFFFEEEEFFEEFFEEEEFFFFEEFFFFFFEEFFEEFFFFEEEEFFFFEEFFEEFFFFFFFFFFEEFFFFEEFFFFEEFFFFFFFFFFFFEEEEEEFFFFFFFFEEFFFFFFFFFFFFFFFFEEFFEEEEEEFFEEFFFFEEFFFFFFFFFFFFEEFFFFFFFFEEEEFFFFFFEEEEFFEEFFEEFFEEEEEEFFFFEEFFEEEEEEFFEEFFFFFFFFFFFFEEEEFFFFFFEEEEFFFFEEEEEEFFEEFFFFFFFFFFEEFFFFFFFFEEFFEEFFEEFFEEFFFFFFEEFFEEFFFFFFEEFFFFFFEEFFFFEEFFEEEEFFEEFFEEEEFFEEFFFFFFEEFFEEEEEEEEFFEEFFFFFFFFEEFFFFEEFFEEFFFFEEFFFFEEFFFFEEFFFFEEEEFFEEEEEEFFFFFFFFFFFFFFFFEEFFFFEEEEEEFFEEFFFFEEFFFFEEFFFFEEEEFFFFFFFFFFEEEEEEEEFFFFFFEEFFFFFFFFFFFFEEFFFFEEFFFFFFEEFFFFEEFFFFFFFFFFFFFFEEFFFFEEFFFFEEEEEEFFFFEEEEEEEEEEFFFFEEFFEEEEFFFFFFEEEEFFFFFFEEEEEEFFFFEEEEFFEEEEEEEEFFFFFFFFEEEEFFFFEEEEFFFFFFEEEEEEFFFFFFFFFFEEEEFFFFFFFFEEFFEEFFEEEEEEFFFFFFEEFFEEFFFFFFEEFFFFFFEEFFFFEEFFFFFFEEEEFFEEEEFFEEFFFFFFEEFFEEEEEEEEFFEEFFFFEEFFEEFFFFEEFFEEFFFFEEFFEEEEFFFFEEFFFFEEEEFFEEEEFFEEFFFFFFFFFFFFFFFFFFFFEEFFFFFFFFFFFFEEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEEFFFFFFFFFFFFEEFFFFFFEEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEEFFFFFFEEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEEFFFFFFFFFFFFEEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEEFFFFFFFFEEFFFFFFFFFFFFEEFFFFFFFFFFFFEEFFFFFFFFFFEEFFFFFFFFFFFFFFFFEEFFFFFFFFFFFFFFFFFFEEFFFFEEEEEEFFEEFFFFEEFFFFFFFFFFFFFFFFFFEEFFEEFFFFFFFFFFFFFFEEFFFFEEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEEFFFFFFFFFFFFFFFFFFFFFFFFEEFFFFFFFFFFFFEEFFFFFFFFEEFFFFFFFFFFFFEEFFFFFFFFEEFFEEFFEEFFFFFFFFFFEEFFFFEEFFFFFFFFFFEEFFFFEEFFFFFFFFFFFFFFFFFFFFFFFFEEFFFFFFEEFFFFFFFFFFEEFFEEFFFFFFFFFFFFFFEEFFFFEEFFFFFFEEFFFFFFFFFFFFFFFFEEFFFFFFFFEEFFFFFFFFFFFFFFFFEEEEEEFFFFFFFFFFFFFFFFFFEEFFFFFFFFFFFFFFFFFFFFFFFFEEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEEFFFFFFEEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEEFFEEFFFFFFFFFFFFFFFFFFFFFFEEFFFFFFEEFFFFFFFFFFFFFFFFFFFFEEFFFFFFFFFFFFFFFFFFFFFFFFFFFFEEFFFFFFFFFFFFEEFFFFFFFFFFFFFFFFFFEEFFFFEEEEFFFFFFFFEEFFFFFFFFFFFFEEFFFFFFFFFFFFFFFFFFFFFFFFFFEEEEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEEFFFFFFFFFFFFFFFFEEFFFFFFFFFFFFFFFFFFFFFFFFEEFFFFFFFFFFFFFFFFFFFFEEFFFFEEFFFFFFFFFFFFFFFFFFEEFFFFFFFFFFFFFFFFFFFFFFFFFFFFEEFFFFFFEEFFFFFFFFFFFFEEFFFFFFFFFFFFFFEEEEFFFFFFEEFFFFEEFFFFFFFFFFFFFFFFFFFFFFFFEEFFEEFFFFFFFFFFFFFFFFFFFFFFFFEEFFEEFFFFFFFFFFEEFFFFFFFFEEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEEFFEEFFFFFFFFFFFFEEFFEEFFFFFFFFFFFFFFFFFFFFFFFFFFEEFFEEEEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEEFFFFEEFFFFFFFFEEEEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEEFFFFFFFFFFFFEEEEEEFFFFFFEEFFEEFFFFEEFFEEFFFFFFFFFFFFFFFFFFEEFFFFFFFFEEFFFFFFFFFFFFFFFFEEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEEFFFFFFFFFFFFFFFFEEEEFFFFFFFFFFFFFFFFEEFFFFFFFFFFFFFFEEEEFFFFFFEEFFFFFFFFEEFFFFFFFFFFFFEEFFFFFFFFFFFFEEFFFFFFEEFFEEEEEEFFEEFFEEEEEEFFFFFFEEFFFFFFFFFFFFEEFFFFFFEEFFFFFFFFFFFFFFFFEEEEFFFFEEFFFFFFFFFFEEEEFFFFEEFFFFFFFFFFFFEEEEFFFFEEFFFFFFFFEEFFFFFFFFFFFFFFFFFFEEFFFFFFFFFFEEFFFFEEFFEEEEFFFFFFFFFFFFFFFFFFFFEEFFFFFFFFFFFFFFFFFFFFFFEEFFEEFFEEFFFFFFEEFFFFFFFFEEFFEEFFFFFFFFFFFFFFEEFFEEEEFFFFFFFFFFFFFFEEFFFFFFEEFFFFFFFFFFFFFFEEEEFFFFFFFFFFFFEEFFFFFFFFFFFFFFFFFFFFFFEEFFFFEEFFFFEEFFFFEEFFEEEEFFEEEEFFFFFFFFFFFFFFFFFFEEFFFFFFFFFFFFFFFFFFEEFFEEFFFFFFFFFFEEFFFFEEFFEEFFFFFFFFFFFFFFFFFFEEFFFFFFFFFFFFEEFFFFFFEEFFFFFFFFEEFFEEFFFFEEFFEEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEEFFFFEEFFFFFFFFFFFFEEFFFFFFEEFFFFEEFFFFFFFFEEEEFFEEFFFFFFFFEEFFFFFFEEEEEEFFFFFFFFFFFFFFFFFFFFFFEEFFFFFFEEFFEEEEFFFFFFFFFFFFFFFFFFFFFFEEFFEEEEFFFFFFFFFFFFFFFFFFEEFFFFFFEEEEFFFFFFFFFFFFFFEEFFFFFFEEFFFFFFFFFFFFFFFFEEEEEEEEFFFFFFFFFFFFEEFFFFFFFFFFFFFFEEFFEEEEFFFFEEFFFFEEFFFFFFFFFFEEFFFFEEFFEEFFEEFFEEFFFFFFFFEEFFEEFFFFFFFFFFFFEEFFFFFFFFFFFFEEEEFFFFFFEEFFFFFFFFFFFFEEFFFFFFFFEEFFEEFFFFFFFFFFFFEEEEFFEEEEFFFFFFFFFFFFFFFFFFFFFFFFFFFFEEFFEEFFFFFFFFFFEEFFFFEEEEFFEEFFEEFFFFFFFFFFFFFFFFFFFFFFEEFFFFFFEEFFFFFFFFFFFFFFFFFFEEEEFFFFFFFFFFFFFFFFFFFFFFEEEEEEFFEEFFEEFFFFFFFFEEFFEEFFFFFFFFEEFFFFEEFFFFFFFFFFEEEEFFEEEEFFFFFFFFEEFFFFFFFFFFFFFFFFFFEEFFFFFFFFFFEEFFEEFFFFEEEEFFFFFFEEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEEEEFFFFFFFFEEEEFFFFFFFFFFFFEEFFFFFFFFFFFFEEFFFFFFFFEEFFEEFFFFEEFFEEFFFFFFFFFFFFFFFFFFFFFFFFEEFFFFEEEEEEFFEEFFFFFFFFFFFFFFEEFFFFFFEEFFFFEEFFEEEEFFFFFFFFFFFFFFEEFFFFFFEEFFFFEEFFFFEEEEFFEEFFFFFFEEFFFFFFFFFFEEFFFFFFFFFFFFFFFFFFEEFFFFEEFFFFEEFFFFEEEEFFFFFFFFFFFFFFFFEEFFEEFFFFFFEEEEFFFFFFFFFFFFFFFFFFFFFFFFEEEEFFFFFFEEFFFFFFFFFFFFFFEEEEEEFFFFFFFFFFFFEEFFEEFFFFFFFFFFFFFFFFEEFFFFFFFFEEFFFFFFFFEEFFFFFFFFFFEEFFFFFFFFFFFFFFFFFFFFFFFFFFFFEEFFFFFFFFFFEEFFFFFFEEFFFFEEEEFFFFFFFFEEFFEEFFFFFFEEFFFFFFEEEEFFFFFFFFFFEEEEEEFFEEEEEEEEFFEEEEFFEEFFFFFFFFFFFFFFFFFFFFEEEEEEEEEEFFFFFFFFEEEEEEFFFFFFFFFFEEFFFFFFEEEEEEEEFFEEFFEEFFFFFFEEFFEEEEEEFFFFFFEEFFEEFFEEFFFFEEFFFFEEFFEEFFFFFFFFEEEEFFFFEEFFEEFFEEEEFFFFFFFFFFFFEEFFFFFFFFFFFFEEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEEFFFFFFFFFFFFEEFFFFFFEEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEEFFFFFFEEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEEFFFFFFFFFFFFEEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEEFFFFFFFFEEFFFFFFFFFFFFEEFFFFFFFFFFFFEEFFFFFFFFFFEEFFFFFFFFFFFFFFFFEEFFFFFFFFFFFFFFFFFFEEFFFFEEEEEEFFEEFFFFEEFFFFFFFFFFFFFFFFFFEEFFEEFFFFFFFFFFFFFFEEFFFFEEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEEFFFFFFFFFFFFFFFFFFFFFFFFEEFFFFFFFFFFFFEEFFFFFFFFEEFFFFFFFFFFFFEEFFFFFFFFEEFFEEFFEEFFFFFFFFFFEEFFFFEEFFFFFFFFFFEEFFFFEEFFFFFFFFFFFFFFFFFFFFFFFFEEFFFFFFEEFFFFFFFFFFEEFFEEFFFFFFFFFFFFFFEEFFFFEEFFFFFFEEFFFFFFFFFFFFFFFFEEFFFFFFFFEEFFFFFFFFFFFFFFFFEEEEEEFFFFFFFFFFFFFFFFFFEEFFFFFFFFFFFFFFFFFFFFFFFFEEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEEFFFFFFEEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEEFFEEFFFFFFFFFFFFFFFFFFFFFFEEFFFFFFEEFFFFFFFFFFFFFFFFFFFFEEFFFFFFFFFFFFFFFFFFFFFFFFFFFFEEFFFFFFFFFFFFEEFFFFFFFFFFFFFFFFFFEEFFFFEEEEFFFFFFFFEEFFFFFFFFFFFFEEFFFFFFFFFFFFFFFFFFFFFFFFFFEEEEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEEFFFFFFFFFFFFFFFFEEFFFFFFFFFFFFFFFFFFFFFFFFEEFFFFFFFFFFFFFFFFFFFFEEFFFFEEFFFFFFFFFFFFFFFFFFEEFFFFFFFFFFFFFFFFFFFFFFFFFFFFEEFFFFFFEEFFFFFFFFFFFFEEFFFFFFFFFFFFFFEEEEFFFFFFEEFFFFEEFFFFFFFFFFFFFFFFFFFFFFFFEEFFEEFFFFFFFFFFFFFFFFFFFFFFFFEEFFEEFFFFFFFFFFEEFFFFFFFFEEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEEFFEEFFFFFFFFFFFFEEFFEEFFFFFFFFFFFFFFFFFFFFFFFFFFEEFFEEEEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEEFFFFEEFFFFFFFFEEEEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEEFFFFFFFFFFFFEEEEEEFFFFFFEEFFEEFFFFEEFFEEFFFFFFFFFFFFFFFFFFEEFFFFFFFFEEFFFFFFFFFFFFFFFFEEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEEFFFFFFFFFFFFFFFFEEEEFFFFFFFFFFFFFFFFEEFFFFFFFFFFFFFFEEEEFFFFFFEEFFFFFFFFEEFFFFFFFFFFFFEEFFFFFFFFFFFFEEFFFFFFEEFFEEEEEEFFEEFFEEEEEEFFFFFFEEFFFFFFFFFFFFEEFFFFFFEEFFFFFFFFFFFFFFFFEEEEFFFFEEFFFFFFFFFFEEEEFFFFEEFFFFFFFFFFFFEEEEFFFFEEFFFFFFFFEEFFFFFFFFFFFFFFFFFFEEFFFFFFFFFFEEFFFFEEFFEEEEFFFFFFFFFFFFFFFFFFFFEEFFFFFFFFFFFFFFFFFFFFFFEEFFEEFFEEFFFFFFEEFFFFFFFFEEFFEEFFFFFFFFFFFFFFEEFFEEEEFFFFFFFFFFFFFFEEFFFFFFEEFFFFFFFFFFFFFFEEEEFFFFFFFFFFFFEEFFFFFFFFFFFFFFFFFFFFFFEEFFFFEEFFFFEEFFFFEEFFEEEEFFEEEEFFFFFFFFFFFFFFFFFFEEFFFFFFFFFFFFFFFFFFEEFFEEFFFFFFFFFFEEFFFFEEFFEEFFFFFFFFFFFFFFFFFFEEFFFFFFFFFFFFEEFFFFFFEEFFFFFFFFEEFFEEFFFFEEFFEEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEEFFFFEEFFFFFFFFFFFFEEFFFFFFEEFFFFEEFFFFFFFFEEEEFFEEFFFFFFFFEEFFFFFFEEEEEEFFFFFFFFFFFFFFFFFFFFFFEEFFFFFFEEFFEEEEFFFFFFFFFFFFFFFFFFFFFFEEFFEEEEFFFFFFFFFFFFFFFFFFEEFFFFFFEEEEFFFFFFFFFFFFFFEEFFFFFFEEFFFFFFFFFFFFFFFFEEEEEEEEFFFFFFFFFFFFEEFFFFFFFFFFFFFFEEFFEEEEFFFFEEFFFFEEFFFFFFFFFFEEFFFFEEFFEEFFEEFFEEFFFFFFFFEEFFEEFFFFFFFFFFFFEEFFFFFFFFFFFFEEEEFFFFFFEEFFFFFFFFFFFFEEFFFFFFFFEEFFEEFFFFFFFFFFFFEEEEFFEEEEFFFFFFFFFFFFFFFFFFFFFFFFFFFFEEFFEEFFFFFFFFFFEEFFFFEEEEFFEEFFEEFFFFFFFFFFFFFFFFFFFFFFEEFFFFFFEEFFFFFFFFFFFFFFFFFFEEEEFFFFFFFFFFFFFFFFFFFFFFEEEEEEFFEEFFEEFFFFFFFFEEFFEEFFFFFFFFEEFFFFEEFFFFFFFFFFEEEEFFEEEEFFFFFFFFEEFFFFFFFFFFFFFFFFFFEEFFFFFFFFFFEEFFEEFFFFEEEEFFFFFFEEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEEEEFFFFFFFFEEEEFFFFFFFFFFFFEEFFFFFFFFFFFFEEFFFFFFFFEEFFEEFFFFEEFFEEFFFFFFFFFFFFFFFFFFFFFFFFEEFFFFEEEEEEFFEEFFFFFFFFFFFFFFEEFFFFFFEEFFFFEEFFEEEEFFFFFFFFFFFFFFEEFFFFFFEEFFFFEEFFFFEEEEFFEEFFFFFFEEFFFFFFFFFFEEFFFFFFFFFFFFFFFFFFEEFFFFEEFFFFEEFFFFEEEEFFFFFFFFFFFFFFFFEEFFEEFFFFFFEEEEFFFFFFFFFFFFFFFFFFFFFFFFEEEEFFFFFFEEFFFFFFFFFFFFFFEEEEEEFFFFFFFFFFFFEEFFEEFFFFFFFFFFFFFFFFEEFFFFFFFFEEFFFFFFFFEEFFFFFFFFFFEEFFFFFFFFFFFFFFFFFFFFFFFFFFFFEEFFFFFFFFFFEEFFFFFFEEFFFFEEEEFFFFFFFFEEFFEEFFFFFFEEFFFFFFEEEEFFFFFFFFFFEEEEEEFFEEEEEEEEFFEEEEFFEEFFFFFFFFFFFFFFFFFFFFEEEEEEEEEEFFFFFFFFEEEEEEFFFFFFFFFFEEFFFFFFEEEEEEEEFFEEFFEEFFFFFFEEFFEEEEEEFFFFFFEEFFEEFFEEFFFFEEFFFFEEFFEEFFFFFFFFEEEEFFFFEEFFEEFFEEEEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEEFFEEFFFFFFFFFFFFFFFFFFFFFFFFFFFFEEFFFFFFFFFFFFFFFFFFFFFFFFEEFFFFFFFFFFFFEEFFFFFFFFFFFFFFFFEEFFFFFFFFFFFFFFFFFFFFFFFFFFEEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEEFFFFFFFFFFFFFFFFEEFFFFFFEEFFEEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEEFFFFFFFFEEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEEFFFFFFFFFFFFFFFFEEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEEFFFFFFFFFFFFFFFFFFFFFFFFFFEEFFFFFFFFFFFFEEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEEFFFFFFEEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEEFFFFFFEEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEEFFEEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEEFFEEFFFFFFFFFFFFEEFFFFFFEEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEEFFFFFFFFFFFFFFFFFFEEFFEEFFFFFFFFFFFFEEFFFFFFFFFFFFFFEEFFFFFFFFFFFFFFFFFFFFFFFFFFFFEEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEEFFFFFFFFEEFFFFFFFFFFFFFFFFFFEEFFFFFFFFEEFFFFFFEEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEEFFFFFFFFFFFFFFFFFFFFFFFFEEEEFFFFFFFFFFFFFFFFFFFFFFEEFFFFFFFFFFFFFFEEFFFFEEFFFFFFFFFFFFFFFFFFFFFFFFFFFFEEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEEEEFFFFFFFFFFFFFFFFFFEEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEEFFFFFFFFEEFFFFFFFFFFFFFFEEFFEEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEEFFFFFFEEFFFFEEFFFFFFFFFFFFFFFFEEFFFFFFEEFFFFFFFFFFFFFFFFFFFFFFEEEEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEEFFFFFFEEFFFFFFFFFFFFFFFFFFFFFFFFFFEEFFFFFFFFFFFFFFFFFFFFFFFFFFEEEEFFFFFFFFFFFFFFFFFFFFFFFFFFEEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEEFFFFEEFFFFFFFFFFFFFFFFFFFFFFFFFFFFEEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEEFFFFFFFFEEFFFFEEFFFFFFFFFFFFFFEEFFFFFFFFFFFFFFFFFFEEEEFFEEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEEFFFFFFFFFFFFEEFFFFFFEEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEEEEFFFFFFFFFFFFFFFFFFFFEEFFFFFFFFFFFFFFFFFFFFEEFFFFFFFFFFFFFFFFEEFFFFFFFFEEFFFFFFFFEEFFFFFFFFFFFFFFFFFFFFFFFFFFEEFFFFFFFFFFFFFFFFFFFFFFFFEEFFFFFFFFFFFFFFEEEEFFFFFFFFFFEEFFFFFFEEFFFFFFFFEEFFFFFFFFFFFFFFFFFFEEFFFFFFFFEEFFFFEEFFFFEEFFFFFFFFFFFFFFFFFFFFEEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEEEEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEEFFEEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEEFFFFFFEEFFFFEEFFFFFFFFFFFFFFFFFFEEFFEEFFFFFFFFFFFFFFFFFFFFFFFFEEFFEEFFFFFFFFFFFFEEFFFFFFEEFFEEFFFFFFFFFFFFFFEEEEEEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEEEEFFFFFFFFFFEEFFFFFFFFFFFFFFEEFFFFFFFFFFFFFFFFEEFFFFFFEEFFFFFFEEFFFFFFFFFFEEEEEEFFFFEEFFFFFFFFFFEEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEEFFEEEEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEEEEFFFFFFEEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEEFFEEEEFFFFFFFFFFFFFFEEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEEFFFFFFFFFFEEFFFFFFEEFFEEFFEEFFEEFFFFFFFFFFFFFFFFFFFFFFFFEEFFFFFFFFFFFFFFEEFFFFFFFFFFFFFFFFFFEEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEEFFFFFFFFFFFFFFFFFFEEFFFFFFFFEEFFFFFFFFFFEEFFFFFFFFFFFFFFFFEEEEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEEEEFFFFEEEEFFFFFFEEFFFFFFFFFFFFFFFFFFFFFFEEFFEEFFFFFFEEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEEFFEEFFEEFFFFEEEEFFFFFFEEFFFFFFEEFFFFFFFFEEFFEEFFFFFFFFFFEEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEEFFEEFFFFFFFFFFFFFFFFFFFFFFFFFFFFEEFFFFFFFFFFFFFFFFFFFFFFFFEEFFFFFFFFFFFFEEFFFFFFFFFFFFFFFFEEFFFFFFFFFFFFFFFFFFFFFFFFFFEEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEEFFFFFFFFFFFFFFFFEEFFFFFFEEFFEEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEEFFFFFFFFEEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEEFFFFFFFFFFFFFFFFEEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEEFFFFFFFFFFFFFFFFFFFFFFFFFFEEFFFFFFFFFFFFEEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEEFFFFFFEEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEEFFFFFFEEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEEFFEEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEEFFEEFFFFFFFFFFFFEEFFFFFFEEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEEFFFFFFFFFFFFFFFFFFEEFFEEFFFFFFFFFFFFEEFFFFFFFFFFFFFFEEFFFFFFFFFFFFFFFFFFFFFFFFFFFFEEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEEFFFFFFFFEEFFFFFFFFFFFFFFFFFFEEFFFFFFFFEEFFFFFFEEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEEFFFFFFFFFFFFFFFFFFFFFFFFEEEEFFFFFFFFFFFFFFFFFFFFFFEEFFFFFFFFFFFFFFEEFFFFEEFFFFFFFFFFFFFFFFFFFFFFFFFFFFEEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEEEEFFFFFFFFFFFFFFFFFFEEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEEFFFFFFFFEEFFFFFFFFFFFFFFEEFFEEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEEFFFFFFEEFFFFEEFFFFFFFFFFFFFFFFEEFFFFFFEEFFFFFFFFFFFFFFFFFFFFFFEEEEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEEFFFFFFEEFFFFFFFFFFFFFFFFFFFFFFFFFFEEFFFFFFFFFFFFFFFFFFFFFFFFFFEEEEFFFFFFFFFFFFFFFFFFFFFFFFFFEEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEEFFFFEEFFFFFFFFFFFFFFFFFFFFFFFFFFFFEEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEEFFFFFFFFEEFFFFEEFFFFFFFFFFFFFFEEFFFFFFFFFFFFFFFFFFEEEEFFEEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEEFFFFFFFFFFFFEEFFFFFFEEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEEEEFFFFFFFFFFFFFFFFFFFFEEFFFFFFFFFFFFFFFFFFFFEEFFFFFFFFFFFFFFFFEEFFFFFFFFEEFFFFFFFFEEFFFFFFFFFFFFFFFFFFFFFFFFFFEEFFFFFFFFFFFFFFFFFFFFFFFFEEFFFFFFFFFFFFFFEEEEFFFFFFFFFFEEFFFFFFEEFFFFFFFFEEFFFFFFFFFFFFFFFFFFEEFFFFFFFFEEFFFFEEFFFFEEFFFFFFFFFFFFFFFFFFFFEEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEEEEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEEFFEEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEEFFFFFFEEFFFFEEFFFFFFFFFFFFFFFFFFEEFFEEFFFFFFFFFFFFFFFFFFFFFFFFEEFFEEFFFFFFFFFFFFEEFFFFFFEEFFEEFFFFFFFFFFFFFFEEEEEEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEEEEFFFFFFFFFFEEFFFFFFFFFFFFFFEEFFFFFFFFFFFFFFFFEEFFFFFFEEFFFFFFEEFFFFFFFFFFEEEEEEFFFFEEFFFFFFFFFFEEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEEFFEEEEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEEEEFFFFFFEEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEEFFEEEEFFFFFFFFFFFFFFEEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEEFFFFFFFFFFEEFFFFFFEEFFEEFFEEFFEEFFFFFFFFFFFFFFFFFFFFFFFFEEFFFFFFFFFFFFFFEEFFFFFFFFFFFFFFFFFFEEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEEFFFFFFFFFFFFFFFFFFEEFFFFFFFFEEFFFFFFFFFFEEFFFFFFFFFFFFFFFFEEEEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEEEEFFFFEEEEFFFFFFEEFFFFFFFFFFFFFFFFFFFFFFEEFFEEFFFFFFEEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEEFFEEFFEEFFFFEEEEFFFFFFEEFFFFFFEEFFFFFFFFEEFFEEFFFFFFFFFFEEFFFFFFGGFFFFFFFFFFFFFFGGFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFGGFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFGGFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFGGFFFFFFFFFFFFFFFFFFFFGGGGFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEEFFFFFFFFFFFFFFFFEEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEEFFFFFFFFFFFFFFFFFFFFFFFFFFFFEEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEEFFFFFFFFEEFFFFFFFFFFFFFFFFFFFFEEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEEFFEEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEEFFFFFFFFFFFFFFFFEEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEEFFFFFFFFFFFFEEFFFFFFEEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEEEEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEEFFFFFFFFFFFFFFFFEEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEEFFFFFFEEFFFFEEFFFFFFFFEEFFFFFFFFFFFFFFFFFFFFFFFFFFEEFFFFFFFFFFFFFFFFFFEEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEEFFFFFFFFFFFFFFFFEEFFFFFFFFFFFFFFEEFFFFFFFFFFFFFFFFFFFFFFFFEEFFFFFFFFFFFFFFFFFFFFEEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEEEEEEFFFFFFFFEEFFFFFFFFFFFFFFFFEEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEEFFFFFFFFEEFFFFFFFFFFFFFFFFFFEEFFFFFFFFFFFFFFFFEEFFFFFFFFFFFFEEFFFFFFFFFFEEFFEEFFFFEEFFFFEEFFEEFFFFFFFFFFFFFFFFFFFFFFFFFFEEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFGGFFFFFFFFFFFFFFGGFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFGGFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFGGFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFGGFFFFFFFFFFFFFFFFFFFFGGGGFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEEFFFFFFFFFFFFFFFFEEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEEFFFFFFFFEEFFFFFFFFFFFFFFFFFFFFEEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEEFFEEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEEFFFFFFFFFFFFFFFFEEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEEFFFFFFFFFFFFEEFFFFFFEEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEEEEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEEFFFFFFEEFFFFEEFFFFFFFFEEFFFFFFFFFFFFFFFFFFFFFFFFFFEEFFFFFFFFFFFFFFFFFFEEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEEFFFFFFFFFFFFFFFFEEFFFFFFFFFFFFFFEEFFFFFFFFFFFFFFFFFFFFFFFFEEFFFFFFFFFFFFFFFFFFFFEEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEEEEEEFFFFFFFFEEFFFFFFFFFFFFFFFFEEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEEFFFFFFFFEEFFFFFFFFFFFFFFFFFFEEFFFFFFFFFFFFFFFFEEFFFFFFFFFFFFEEFFFFFFFFFFEEFFEEFFFFEEFFFFEEFFEEFFFFFFFFFFFFFFFFFFFFFFFFFFEEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFGGFFFFFFFFFFFFFFFFFFGGFFFFGGFFFFFFFFFFGGFFFFFFFFFFGGGGFFFFFFFFFFGGFFFFFFFFGGFFGGFFFFGGFFFFGGFFFFFFFFFFFFFFGGFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFGGFFFFGGFFGGFFGGFFGGFFFFFFFFGGGGFFGGFFFFGGGGFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFGGFFFFFFFFFFGGFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFGGFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFGGGGFFFFFFFFFFFFFFFFFFFFGGFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFGGFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFGGGGFFFFFFFFFFFFGGFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFGGFFGGFFFFFFFFFFFFFFFFFFFFFFFFFFGGFFFFFFFFFFFFFFGGFFFFFFFFFFFFFFFFFFFFFFGGFFFFFFFFFFFFFFGGFFFFFFGGFFFFFFFFFFFFFFFFFFFFFFFFFFGGFFFFFFFFFFFFFFFFFFGGFFFFGGFFFFFFFFGGFFFFFFFFFFFFFFFFFFGGFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFGGFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFGGFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFGGFFFFFFFFFFFFGGFFFFFFFFFFFFFFFFFFGGFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFGGFFFFFFFFFFFFFFGGFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFGGFFFFFFFFFFFFFFFFFFFFFFFFGGFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFGGGGFFFFFFFFFFGGFFFFFFFFFFFFFFFFFFFFFFFFGGFFFFGGFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFGGFFFFFFFFFFGGFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFGGFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFGGFFFFGGFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFGGFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFGGFFFFFFFFFFFFFFGGFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFGGFFFFGGFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFGGFFFFFFFFFFFFGGGGGGFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFGGFFFFFFFFFFFFFFFFFFFFFFGGFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFGGFFFFFFFFFFFFFFGGFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFGGFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFGGFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFGGFFFFFFFFFFFFFFFFFFFFGGFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFGGFFFFFFFFFFGGFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFGGFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFGGFFGGFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFGGFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFGGFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFGGFFFFFFFFFFFFFFFFFFFFFFFFGGFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFGGFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFGGFFFFFFFFFFFFFFFFFFGGFFFFGGFFFFFFFFFFGGFFFFFFFFFFGGGGFFFFFFFFFFGGFFFFFFFFGGFFGGFFFFGGFFFFGGFFFFFFFFFFFFFFGGFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFGGFFFFGGFFGGFFGGFFGGFFFFFFFFGGGGFFGGFFFFGGGGFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFGGFFFFFFFFFFGGFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFGGFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFGGGGFFFFFFFFFFFFFFFFFFFFGGFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFGGFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFGGGGFFFFFFFFFFFFGGFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFGGFFGGFFFFFFFFFFFFFFFFFFFFFFFFFFGGFFFFFFFFFFFFFFGGFFFFFFFFFFFFFFFFFFFFFFGGFFFFFFFFFFFFFFGGFFFFFFGGFFFFFFFFFFFFFFFFFFFFFFFFFFGGFFFFFFFFFFFFFFFFFFGGFFFFGGFFFFFFFFGGFFFFFFFFFFFFFFFFFFGGFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFGGFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFGGFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFGGFFFFFFFFFFFFGGFFFFFFFFFFFFFFFFFFGGFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFGGFFFFFFFFFFFFFFGGFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFGGFFFFFFFFFFFFFFFFFFFFFFFFGGFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFGGGGFFFFFFFFFFGGFFFFFFFFFFFFFFFFFFFFFFFFGGFFFFGGFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFGGFFFFFFFFFFGGFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFGGFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFGGFFFFGGFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFGGFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFGGFFFFFFFFFFFFFFGGFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFGGFFFFGGFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFGGFFFFFFFFFFFFGGGGGGFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFGGFFFFFFFFFFFFFFFFFFFFFFGGFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFGGFFFFFFFFFFFFFFGGFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFGGFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFGGFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFGGFFFFFFFFFFFFFFFFFFGGFFFFFFFFGGFFFFFFFFFFGGFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFGGFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFGGFFFFFFFFFFGGFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFGGFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFGGFFGGFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFGGFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFGGFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFGGFFFFFFFFFFFFFFFFFFFFFFFFGGFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFGGFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFGGFFFFFFFFGGFFGGFFFFGGGGFFGGFFFFFFGGFFFFFFFFFFFFFFFFFFGGFFFFFFFFFFFFFFGGFFGGFFGGFFFFGGFFFFFFFFFFFFFFGGFFFFFFFFFFFFFFGGFFFFFFFFFFFFGGFFGGFFFFFFFFGGFFFFFFFFFFFFFFGGGGFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFGGFFFFGGGGGGFFFFFFFFFFGGGGFFFFGGFFFFGGFFFFFFFFFFFFFFFFGGFFGGFFFFFFGGGGFFFFFFFFFFFFFFFFFFFFGGFFFFGGFFFFFFFFFFFFFFGGFFFFGGFFFFFFFFFFGGFFFFGGFFFFGGFFFFGGFFGGFFGGFFFFGGFFFFFFFFGGFFFFFFFFFFGGGGFFFFFFGGFFFFFFGGFFGGFFFFFFFFFFGGGGFFGGGGFFFFFFGGFFFFFFFFGGFFFFGGFFFFGGGGFFGGGGFFFFGGFFFFFFFFGGFFGGFFFFGGGGFFFFGGFFFFGGGGFFGGFFFFFFFFGGFFFFGGFFGGGGFFGGFFFFFFGGFFFFFFFFGGGGGGFFFFGGFFFFGGGGFFFFFFFFFFFFFFFFFFFFFFFFGGFFFFFFFFGGFFFFGGFFFFFFGGFFFFFFFFFFFFFFFFFFGGGGFFFFFFFFFFFFFFGGFFFFFFGGFFFFFFFFFFFFFFFFGGGGFFFFFFGGFFFFFFGGFFFFFFFFFFFFFFFFGGFFGGFFFFFFFFFFGGFFGGFFFFFFFFFFFFFFGGFFFFFFFFGGFFFFFFFFFFFFFFFFFFFFGGGGFFFFFFFFFFFFFFFFFFFFGGFFFFFFFFFFFFFFFFFFFFFFGGFFFFGGFFFFGGFFFFGGFFGGFFFFFFFFFFFFGGFFGGFFFFFFFFFFFFGGFFFFFFFFFFFFGGFFFFFFFFGGGGGGFFGGFFFFFFFFFFGGFFGGFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFGGFFFFFFFFFFGGGGFFFFGGFFGGFFGGFFFFFFFFGGFFFFFFFFFFFFFFFFFFFFGGFFFFFFFFFFGGGGFFFFGGFFFFFFFFFFFFFFFFFFFFFFGGGGGGGGGGGGFFFFFFFFFFFFGGFFFFFFFFFFGGFFGGFFGGFFFFFFFFFFFFGGFFFFFFFFFFFFFFFFFFFFFFFFGGFFFFFFGGGGGGGGFFFFGGFFGGFFFFFFFFGGFFGGFFGGGGFFGGFFFFGGFFGGFFFFGGFFFFFFFFFFFFGGGGFFFFFFGGFFFFFFFFFFFFFFFFFFFFGGFFFFFFFFFFFFFFFFFFFFFFGGFFFFFFFFGGFFFFFFFFFFFFFFFFFFGGFFFFGGFFGGGGFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFGGFFFFFFFFGGFFFFGGFFFFFFFFFFFFFFFFFFGGFFFFFFFFFFFFFFFFFFFFFFFFGGFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFGGFFFFFFFFFFFFFFFFFFFFFFFFGGFFFFFFFFFFFFGGFFGGFFFFFFFFFFFFFFFFFFFFFFFFFFFFGGFFFFFFFFFFFFFFGGFFFFFFFFFFFFFFFFFFFFFFFFFFFFGGFFFFFFFFFFFFFFFFFFFFGGFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFGGGGFFFFFFFFFFFFGGFFGGFFFFFFFFFFFFGGFFGGFFFFFFFFFFGGFFFFFFFFFFFFFFFFFFGGFFFFFFFFFFFFFFFFGGFFFFFFFFGGFFFFFFFFFFFFGGGGGGFFFFFFFFFFFFGGFFFFFFFFFFFFFFGGFFFFFFFFFFFFGGFFGGFFFFFFFFGGFFFFFFFFFFFFFFGGFFFFFFFFFFFFFFFFFFGGFFFFFFGGGGGGFFFFGGFFGGFFFFGGFFFFFFFFFFFFFFFFFFFFFFGGFFFFFFFFFFFFFFFFGGFFFFFFFFFFFFFFFFFFFFFFFFFFFFGGFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFGGFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFGGFFFFFFFFGGFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFGGFFFFFFFFFFFFGGFFFFFFFFFFGGFFFFFFGGFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFGGFFGGFFFFFFFFFFFFFFGGFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFGGFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFGGFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFGGFFFFGGFFFFFFGGFFFFFFFFFFGGFFFFFFGGFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFGGFFFFFFFFFFFFFFGGFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFGGFFGGFFFFFFFFFFFFFFFFFFFFGGFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFGGGGGGFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFGGFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFGGFFFFFFFFFFGGFFFFFFFFFFFFFFFFGGFFFFFFFFFFFFFFFFFFGGGGFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFGGFFFFFFFFFFFFFFGGFFFFFFFFFFFFGGFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFGGFFFFFFFFGGFFFFFFFFFFGGFFFFFFFFFFFFFFFFFFFFGGFFFFFFFFFFGGFFFFFFFFGGFFFFGGFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFGGFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFGGFFFFFFFFFFGGFFFFFFFFFFFFFFFFFFFFGGFFFFFFFFFFGGFFFFFFFFFFFFFFGGFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFGGFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFGGFFFFFFFFFFFFFFGGFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFGGGGFFFFFFFFFFFFFFFFFFFFGGFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFGGFFFFFFFFFFFFFFFFFFFFFFFFFFGGFFFFFFFFFFFFFFFFFFFFFFFFFFFFGGFFGGFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFGGFFFFFFFFFFFFFFFFGGFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFGGFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFGGFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFGGFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFGGFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFGGFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFGGFFFFFFFFGGFFGGFFFFGGGGFFGGFFFFFFGGFFFFFFFFFFFFFFFFFFGGFFFFFFFFFFFFFFGGFFGGFFGGFFFFGGFFFFFFFFFFFFFFGGFFFFFFFFFFFFFFGGFFFFFFFFFFFFGGFFGGFFFFFFFFGGFFFFFFFFFFFFFFGGGGFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFGGFFFFGGGGGGFFFFFFFFFFGGGGFFFFGGFFFFGGFFFFFFFFFFFFFFFFGGFFGGFFFFFFGGGGFFFFFFFFFFFFFFFFFFFFGGFFFFGGFFFFFFFFFFFFFFGGFFFFGGFFFFFFFFFFGGFFFFGGFFFFGGFFFFGGFFGGFFGGFFFFGGFFFFFFFFGGFFFFFFFFFFGGGGFFFFFFGGFFFFFFGGFFGGFFFFFFFFFFGGGGFFGGGGFFFFFFGGFFFFFFFFGGFFFFGGFFFFGGGGFFGGGGFFFFGGFFFFFFFFGGFFGGFFFFGGGGFFFFGGFFFFGGGGFFGGFFFFFFFFGGFFFFGGFFGGGGFFGGFFFFFFGGFFFFFFFFGGGGGGFFFFGGFFFFGGGGFFFFFFFFFFFFFFFFFFFFFFFFGGFFFFFFFFGGFFFFGGFFFFFFGGFFFFFFFFFFFFFFFFFFGGGGFFFFFFFFFFFFFFGGFFFFFFGGFFFFFFFFFFFFFFFFGGGGFFFFFFGGFFFFFFGGFFFFFFFFFFFFFFFFGGFFGGFFFFFFFFFFGGFFGGFFFFFFFFFFFFFFGGFFFFFFFFGGFFFFFFFFFFFFFFFFFFFFGGGGFFFFFFFFFFFFFFFFFFFFGGFFFFFFFFFFFFFFFFFFFFFFGGFFFFGGFFFFGGFFFFGGFFGGFFFFFFFFFFFFGGFFGGFFFFFFFFFFFFGGFFFFFFFFFFFFGGFFFFFFFFGGGGGGFFGGFFFFFFFFFFGGFFGGFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFGGFFFFFFFFFFGGGGFFFFGGFFGGFFGGFFFFFFFFGGFFFFFFFFFFFFFFFFFFFFGGFFFFFFFFFFGGGGFFFFGGFFFFFFFFFFFFFFFFFFFFFFGGGGGGGGGGGGFFFFFFFFFFFFGGFFFFFFFFFFGGFFGGFFGGFFFFFFFFFFFFGGFFFFFFFFFFFFFFFFFFFFFFFFGGFFFFFFGGGGGGGGFFFFGGFFGGFFFFFFFFGGFFGGFFGGGGFFGGFFFFGGFFGGFFFFGGFFFFFFFFFFFFGGGGFFFFFFGGFFFFFFFFFFFFFFFFFFFFGGFFFFFFFFFFFFFFFFFFFFFFGGFFFFFFFFGGFFFFFFFFFFFFFFFFFFGGFFFFGGFFGGGGFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFGGFFFFFFFFGGFFFFGGFFFFFFFFFFFFFFFFFFGGFFFFFFFFFFFFFFFFFFFFFFFFGGFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFGGFFFFFFFFFFFFFFFFFFFFFFFFGGFFFFFFFFFFFFGGFFGGFFFFFFFFFFFFFFFFFFFFFFFFFFFFGGFFFFFFFFFFFFFFGGFFFFFFFFFFFFFFFFFFFFFFFFFFFFGGFFFFFFFFFFFFFFFFFFFFGGFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFGGGGFFFFFFFFFFFFGGFFGGFFFFFFFFFFFFGGFFGGFFFFFFFFFFGGFFFFFFFFFFFFFFFFFFGGFFFFFFFFFFFFFFFFGGFFFFFFFFGGFFFFFFFFFFFFGGGGGGFFFFFFFFFFFFGGFFFFFFFFFFFFFFGGFFFFFFFFFFFFGGFFGGFFFFFFFFGGFFFFFFFFFFFFFFGGFFFFFFFFFFFFFFFFFFGGFFFFFFGGGGGGFFFFGGFFGGFFFFGGFFFFFFFFFFFFFFFFFFFFFFGGFFFFFFFFFFFFFFFFGGFFFFFFFFFFFFFFFFFFFFFFFFFFFFGGFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFGGFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFGGFFFFFFFFGGFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFGGFFFFFFFFFFFFGGFFFFFFFFFFGGFFFFFFGGFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFGGFFGGFFFFFFFFFFFFFFGGFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFGGFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFGGFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFGGFFFFGGFFFFFFGGFFFFFFFFFFGGFFFFFFGGFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFGGFFFFFFFFFFFFFFGGFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFGGFFGGFFFFFFFFFFFFFFFFFFFFGGFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFGGGGGGFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFGGFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFGGFFFFFFFFFFGGFFFFFFFFFFFFFFFFGGFFFFFFFFFFFFFFFFFFGGGGFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFGGFFFFFFFFFFFFFFGGFFFFFFFFFFFFGGFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFGGFFFFFFFFGGFFFFFFFFFFGGFFFFFFFFFFFFFFFFFFFFGGFFFFFFFFFFGGFFFFFFFFGGFFFFGGFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFGGFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFGGFFFFFFFFFFGGFFFFFFFFFFFFFFFFFFFFGGFFFFFFFFFFGGFFFFFFFFFFFFFFGGFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFGGFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFGGFFFFFFFFFFFFFFGGFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFGGGGFFFFFFFFFFFFFFFFFFFFGGFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFGGFFFFFFFFFFFFFFFFFFFFFFFFFFGGFFFFFFFFFFFFFFFFFFFFFFFFFFFFGGFFGGFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFGGFFFFFFFFFFFFFFFFGGFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFGGFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFGGFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFGGFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFGGFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFGGFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFGGFFGGFFFFFFFFGGFFFFFFFFGGFFGGFFFFGGFFFFFFGGFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFGGFFGGFFFFGGGGFFGGGGGGFFGGFFGGFFGGFFGGGGGGGGGGFFFFFFFFGGFFGGFFFFFFFFFFFFFFGGFFFFFFFFFFFFGGFFFFGGFFGGFFFFGGFFFFFFGGGGFFFFFFGGFFFFFFFFFFGGFFFFFFGGFFFFFFGGGGFFFFFFGGFFGGFFGGGGFFFFFFFFFFGGFFFFGGGGFFFFGGGGFFGGFFFFFFFFGGFFFFGGGGFFGGFFFFFFGGFFGGGGGGFFFFFFFFGGGGFFGGFFFFFFFFGGGGFFGGGGFFFFGGGGGGGGFFFFGGFFFFFFFFGGGGFFGGGGGGFFFFFFFFFFFFFFFFFFFFFFGGGGFFFFFFFFGGFFFFGGFFFFGGGGFFFFFFGGFFGGGGGGFFGGGGFFFFFFFFFFFFFFFFFFFFFFGGFFFFGGFFFFGGFFFFFFFFFFGGFFGGGGFFFFFFFFGGGGFFFFGGGGFFFFFFGGGGGGFFFFFFFFFFFFGGGGFFFFGGGGFFFFGGFFFFFFFFFFFFGGFFFFFFGGGGGGFFGGFFFFFFFFFFFFGGFFGGGGFFGGFFFFGGGGGGFFGGGGFFGGFFFFFFFFGGFFFFGGFFGGFFFFFFFFFFFFGGFFFFFFFFFFGGFFFFGGFFFFGGGGFFFFFFGGFFFFFFGGGGFFFFFFFFFFFFGGFFFFGGFFGGFFFFFFFFGGFFFFFFGGFFGGFFFFGGGGFFFFGGFFGGFFGGFFGGGGGGFFFFFFGGFFGGFFFFGGGGGGFFGGFFGGFFFFGGGGFFFFGGFFFFFFGGFFFFGGFFGGFFFFFFGGGGFFGGFFGGFFFFGGFFGGGGGGFFFFFFFFFFGGGGFFFFFFFFFFFFGGFFFFFFFFFFFFGGFFGGFFGGFFFFFFGGFFFFFFFFFFGGFFFFGGGGGGFFGGFFFFGGFFGGFFFFFFGGFFFFFFFFFFFFFFFFFFFFFFGGFFFFGGGGFFFFGGFFFFFFFFGGGGGGGGFFFFFFGGFFFFFFGGGGFFGGFFFFFFGGFFFFFFFFGGGGFFFFGGGGFFGGFFFFFFFFFFFFFFGGGGGGFFFFFFGGFFFFFFFFFFFFFFFFFFFFFFGGGGGGFFGGFFFFFFFFFFFFFFFFFFFFFFFFFFGGFFGGGGFFFFGGGGGGFFFFFFFFFFGGFFFFGGGGFFFFFFFFFFFFFFFFFFFFGGFFFFGGFFFFGGGGGGFFFFGGFFFFFFGGFFFFFFGGFFGGFFFFFFFFFFFFGGFFFFFFGGFFFFGGGGFFGGFFFFGGGGFFGGFFFFGGFFFFGGFFFFFFFFGGFFFFFFFFFFGGGGFFFFFFGGFFFFFFFFFFFFFFFFGGGGFFGGGGFFFFFFGGFFGGGGFFFFFFGGFFGGGGFFGGGGFFFFFFFFGGFFGGFFGGGGFFFFFFFFGGFFGGFFFFGGFFFFFFFFFFGGGGGGFFFFFFFFGGFFFFFFFFFFFFFFFFFFFFFFFFFFGGFFFFFFFFGGFFFFFFGGFFFFGGGGGGFFFFFFGGGGFFFFFFFFGGFFGGFFFFFFFFFFGGFFFFGGFFGGFFFFFFFFFFFFFFFFFFFFFFFFFFGGFFFFFFFFFFFFFFFFFFFFGGFFFFGGFFFFGGFFFFGGFFFFFFFFFFFFGGGGGGFFFFFFFFGGFFFFGGGGGGGGFFGGGGFFFFGGFFFFGGFFFFFFGGFFFFFFFFGGFFFFFFFFGGFFGGGGFFFFFFFFFFGGGGGGGGFFFFFFFFGGFFFFFFFFFFFFFFFFGGFFFFFFFFGGFFGGFFFFFFGGFFFFFFFFFFGGFFFFFFFFGGGGFFFFFFFFGGFFFFFFGGGGFFFFGGFFFFFFFFFFFFFFGGGGFFGGFFFFFFGGFFFFGGGGGGFFGGFFFFFFGGGGFFFFFFFFFFFFGGFFFFFFFFFFFFGGFFFFGGFFFFFFFFFFFFFFGGFFFFFFFFGGFFFFGGFFFFFFFFFFFFFFGGGGFFFFFFFFFFFFGGFFFFFFGGFFFFFFFFFFFFFFFFFFFFFFGGFFFFGGGGFFGGFFFFGGFFGGFFFFFFFFFFFFGGFFGGFFFFFFGGFFFFGGFFFFFFFFFFFFGGFFFFFFFFGGGGGGFFGGFFFFFFFFFFGGFFGGFFFFFFFFFFFFFFFFFFFFFFFFFFFFGGFFFFFFFFFFFFFFFFFFFFGGGGFFFFFFFFFFFFGGFFFFFFGGFFFFFFFFFFFFFFFFFFFFFFGGFFFFGGGGFFGGFFFFGGFFGGFFFFFFFFFFFFGGFFGGFFFFFFFFFFFFGGFFFFFFFFFFFFGGFFFFFFFFGGGGGGFFGGFFFFFFFFFFGGFFGGFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFGGFFFFFFFFFFGGGGFFGGGGFFGGFFGGFFFFFFFFGGFFFFFFGGFFFFFFFFFFFFGGFFFFGGFFFFGGGGFFFFGGFFFFFFFFFFFFFFFFFFFFFFGGGGGGGGGGGGFFFFFFFFFFFFGGGGFFFFFFFFGGFFGGFFGGFFFFFFFFFFFFGGFFFFFFFFFFFFFFFFFFFFFFGGGGFFGGFFGGGGGGGGFFFFGGFFGGFFFFFFFFGGFFGGFFGGGGFFGGFFFFGGFFGGFFFFGGFFFFFFFFFFGGGGGGFFFFFFGGGGFFFFFFFFFFFFFFFFFFGGFFFFFFFFFFFFFFFFFFFFFFGGFFFFFFFFGGFFGGFFFFFFFFFFFFFFGGFFFFGGFFGGGGFFFFFFFFFFGGGGFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFGGFFGGFFFFGGFFFFGGFFFFFFFFFFFFFFFFFFGGFFFFFFFFFFFFFFFFFFFFFFGGGGFFFFFFFFFFFFFFGGFFFFFFFFFFFFFFFFFFFFGGFFGGFFFFFFFFFFFFFFGGFFFFFFFFFFFFFFFFFFFFGGFFGGGGFFFFFFFFFFGGGGFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFGGFFGGFFFFGGFFFFGGFFFFFFFFFFFFFFFFFFGGFFFFFFFFFFFFFFFFFFFFFFGGGGFFFFFFFFFFFFFFGGFFFFFFFFFFFFFFFFFFFFGGFFGGFFFFFFFFGGFFFFFFFFFFGGFFFFGGGGFFFFFFFFGGFFFFFFGGFFGGFFFFFFGGFFGGFFFFGGFFFFFFGGFFFFFFFFFFFFFFFFFFFFFFFFGGFFFFFFFFGGFFFFFFFFGGFFGGFFGGFFFFFFFFFFFFGGFFFFFFFFFFGGGGFFFFFFFFFFFFGGFFFFFFFFFFFFFFFFGGFFGGFFFFFFGGFFFFFFFFFFGGFFFFFFFFGGFFFFFFFFFFFFFFFFFFFFGGFFFFFFFFFFFFFFFFFFFFFFGGFFFFFFFFFFFFFFFFFFFFFFFFGGGGFFFFFFFFGGFFFFFFFFGGFFFFFFFFFFFFFFFFFFFFGGGGFFFFGGFFFFGGFFFFFFFFFFFFFFFFFFGGFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFGGGGFFFFFFGGFFFFFFFFFFFFGGFFFFFFGGFFFFFFFFFFFFFFFFFFFFFFFFFFGGFFFFFFFFGGFFFFGGFFFFFFGGFFFFFFGGFFFFFFFFFFFFFFGGFFGGFFFFFFGGFFFFFFFFFFFFFFFFFFGGGGFFGGFFFFFFGGFFFFFFFFFFGGFFFFFFGGFFFFFFFFFFFFFFFFFFFFGGFFFFFFGGGGFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFGGFFFFGGFFGGFFFFFFFFGGFFFFFFFFGGFFGGFFFFGGFFFFFFGGFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFGGFFGGFFFFGGGGFFGGGGGGFFGGFFGGFFGGFFGGGGGGGGGGFFFFFFFFGGFFGGFFFFFFFFFFFFFFGGFFFFFFFFFFFFGGFFFFGGFFGGFFFFGGFFFFFFGGGGFFFFFFGGFFFFFFFFFFGGFFFFFFGGFFFFFFGGGGFFFFFFGGFFGGFFGGGGFFFFFFFFFFGGFFFFGGGGFFFFGGGGFFGGFFFFFFFFGGFFFFGGGGFFGGFFFFFFGGFFGGGGGGFFFFFFFFGGGGFFGGFFFFFFFFGGGGFFGGGGFFFFGGGGGGGGFFFFGGFFFFFFFFGGGGFFGGGGGGFFFFFFFFFFFFFFFFFFFFFFGGGGFFFFFFFFGGFFFFGGFFFFGGGGFFFFFFGGFFGGGGGGFFGGGGFFFFFFFFFFFFFFFFFFFFFFGGFFFFGGFFFFGGFFFFFFFFFFGGFFGGGGFFFFFFFFGGGGFFFFGGGGFFFFFFGGGGGGFFFFFFFFFFFFGGGGFFFFGGGGFFFFGGFFFFFFFFFFFFGGFFFFFFGGGGGGFFGGFFFFFFFFFFFFGGFFGGGGFFGGFFFFGGGGGGFFGGGGFFGGFFFFFFFFGGFFFFGGFFGGFFFFFFFFFFFFGGFFFFFFFFFFGGFFFFGGFFFFGGGGFFFFFFGGFFFFFFGGGGFFFFFFFFFFFFGGFFFFGGFFGGFFFFFFFFGGFFFFFFGGFFGGFFFFGGGGFFFFGGFFGGFFGGFFGGGGGGFFFFFFGGFFGGFFFFGGGGGGFFGGFFGGFFFFGGGGFFFFGGFFFFFFGGFFFFGGFFGGFFFFFFGGGGFFGGFFGGFFFFGGFFGGGGGGFFFFFFFFFFGGGGFFFFFFFFFFFFGGFFFFFFFFFFFFGGFFGGFFGGFFFFFFGGFFFFFFFFFFGGFFFFGGGGGGFFGGFFFFGGFFGGFFFFFFGGFFFFFFFFFFFFFFFFFFFFFFGGFFFFGGGGFFFFGGFFFFFFFFGGGGGGGGFFFFFFGGFFFFFFGGGGFFGGFFFFFFGGFFFFFFFFGGGGFFFFGGGGFFGGFFFFFFFFFFFFFFGGGGGGFFFFFFGGFFFFFFFFFFFFFFFFFFFFFFGGGGGGFFGGFFFFFFFFFFFFFFFFFFFFFFFFFFGGFFGGGGFFFFGGGGGGFFFFFFFFFFGGFFFFGGGGFFFFFFFFFFFFFFFFFFFFGGFFFFGGFFFFGGGGGGFFFFGGFFFFFFGGFFFFFFGGFFGGFFFFFFFFFFFFGGFFFFFFGGFFFFGGGGFFGGFFFFGGGGFFGGFFFFGGFFFFGGFFFFFFFFGGFFFFFFFFFFGGGGFFFFFFGGFFFFFFFFFFFFFFFFGGGGFFGGGGFFFFFFGGFFGGGGFFFFFFGGFFGGGGFFGGGGFFFFFFFFGGFFGGFFGGGGFFFFFFFFGGFFGGFFFFGGFFFFFFFFFFGGGGGGFFFFFFFFGGFFFFFFFFFFFFFFFFFFFFFFFFFFGGFFFFFFFFGGFFFFFFGGFFFFGGGGGGFFFFFFGGGGFFFFFFFFGGFFGGFFFFFFFFFFGGFFFFGGFFGGFFFFFFFFFFFFFFFFFFFFFFFFFFGGFFFFFFFFFFFFFFFFFFFFGGFFFFGGFFFFGGFFFFGGFFFFFFFFFFFFGGGGGGFFFFFFFFGGFFFFGGGGGGGGFFGGGGFFFFGGFFFFGGFFFFFFGGFFFFFFFFGGFFFFFFFFGGFFGGGGFFFFFFFFFFGGGGGGGGFFFFFFFFGGFFFFFFFFFFFFFFFFGGFFFFFFFFGGFFGGFFFFFFGGFFFFFFFFFFGGFFFFFFFFGGGGFFFFFFFFGGFFFFFFGGGGFFFFGGFFFFFFFFFFFFFFGGGGFFGGFFFFFFGGFFFFGGGGGGFFGGFFFFFFGGGGFFFFFFFFFFFFGGFFFFFFFFFFFFGGFFFFGGFFFFFFFFFFFFFFGGFFFFFFFFGGFFFFGGFFFFFFFFFFFFFFGGGGFFFFFFFFFFFFGGFFFFFFGGFFFFFFFFFFFFFFFFFFFFFFGGFFFFGGGGFFGGFFFFGGFFGGFFFFFFFFFFFFGGFFGGFFFFFFGGFFFFGGFFFFFFFFFFFFGGFFFFFFFFGGGGGGFFGGFFFFFFFFFFGGFFGGFFFFFFFFFFFFFFFFFFFFFFFFFFFFGGFFFFFFFFFFFFFFFFFFFFGGGGFFFFFFFFFFFFGGFFFFFFGGFFFFFFFFFFFFFFFFFFFFFFGGFFFFGGGGFFGGFFFFGGFFGGFFFFFFFFFFFFGGFFGGFFFFFFFFFFFFGGFFFFFFFFFFFFGGFFFFFFFFGGGGGGFFGGFFFFFFFFFFGGFFGGFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFGGFFFFFFFFFFGGGGFFGGGGFFGGFFGGFFFFFFFFGGFFFFFFGGFFFFFFFFFFFFGGFFFFGGFFFFGGGGFFFFGGFFFFFFFFFFFFFFFFFFFFFFGGGGGGGGGGGGFFFFFFFFFFFFGGGGFFFFFFFFGGFFGGFFGGFFFFFFFFFFFFGGFFFFFFFFFFFFFFFFFFFFFFGGGGFFGGFFGGGGGGGGFFFFGGFFGGFFFFFFFFGGFFGGFFGGGGFFGGFFFFGGFFGGFFFFGGFFFFFFFFFFGGGGGGFFFFFFGGGGFFFFFFFFFFFFFFFFFFGGFFFFFFFFFFFFFFFFFFFFFFGGFFFFFFFFGGFFGGFFFFFFFFFFFFFFGGFFFFGGFFGGGGFFFFFFFFFFGGGGFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFGGFFGGFFFFGGFFFFGGFFFFFFFFFFFFFFFFFFGGFFFFFFFFFFFFFFFFFFFFFFGGGGFFFFFFFFFFFFFFGGFFFFFFFFFFFFFFFFFFFFGGFFGGFFFFFFFFFFFFFFGGFFFFFFFFFFFFFFFFFFFFGGFFGGGGFFFFFFFFFFGGGGFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFGGFFGGFFFFGGFFFFGGFFFFFFFFFFFFFFFFFFGGFFFFFFFFFFFFFFFFFFFFFFGGGGFFFFFFFFFFFFFFGGFFFFFFFFFFFFFFFFFFFFGGFFGGFFFFFFFFGGFFFFFFFFFFGGFFFFGGGGFFFFFFFFGGFFFFFFGGFFGGFFFFFFGGFFGGFFFFGGFFFFFFGGFFFFFFFFFFFFFFFFFFFFFFFFGGFFFFFFFFGGFFFFFFFFGGFFGGFFGGFFFFFFFFFFFFGGFFFFFFFFFFGGGGFFFFFFFFFFFFGGFFFFFFFFFFFFFFFFGGFFGGFFFFFFGGFFFFFFFFFFGGFFFFFFFFGGFFFFFFFFFFFFFFFFFFFFGGFFFFFFFFFFFFFFFFFFFFFFGGFFFFFFFFFFFFFFFFFFFFFFFFGGGGFFFFFFFFGGFFFFFFFFGGFFFFFFFFFFFFFFFFFFFFGGGGFFFFGGFFFFGGFFFFFFFFFFFFFFFFFFGGFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFGGGGFFFFFFGGFFFFFFFFFFFFGGFFFFFFGGFFFFFFFFFFFFFFFFFFFFFFFFFFGGFFFFFFFFGGFFFFGGFFFFFFGGFFFFFFGGFFFFFFFFFFFFFFGGFFGGFFFFFFGGFFFFFFFFFFFFFFFFFFGGGGFFGGFFFFFFGGFFFFFFFFFFGGFFFFFFGGFFFFFFFFFFFFFFFFFFFFGGFFFFFFGGGGFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFGGFFFFFFFFFFGGGGGGGGGGFFGGGGGGGGFFGGFFGGFFFFFFGGGGGGFFGGFFGGGGGGFFGGGGGGFFGGGGFFGGFFFFFFFFGGFFFFGGFFGGGGGGFFGGFFFFFFFFGGFFGGGGFFGGFFGGGGFFGGFFGGGGFFGGGGFFGGGGFFFFGGFFFFGGFFFFFFFFGGGGGGGGGGGGGGFFGGGGFFFFFFGGFFGGGGFFGGFFFFGGFFFFFFGGFFGGGGGGFFFFFFFFGGGGGGFFGGGGGGGGGGFFFFFFGGFFFFFFGGFFGGGGFFGGGGGGGGGGGGGGFFGGGGFFFFGGFFFFFFGGGGFFFFFFFFFFFFGGFFGGFFFFGGGGFFFFFFGGGGGGFFFFFFGGGGFFFFFFFFFFFFFFGGGGGGGGFFFFGGGGFFFFFFGGGGFFFFFFGGGGGGGGGGFFFFFFGGGGFFGGFFFFFFFFFFGGFFFFFFGGGGGGFFGGGGFFGGFFFFFFGGGGFFGGGGFFGGFFGGGGGGFFGGFFFFGGGGFFFFGGGGGGFFGGFFFFFFFFGGGGGGFFGGFFFFFFGGGGFFFFFFFFGGGGFFGGFFGGGGGGFFFFGGFFGGFFFFFFFFFFGGFFFFFFGGGGFFFFGGGGGGGGGGFFFFGGFFFFFFFFFFFFGGGGFFFFGGFFGGFFGGFFGGGGGGFFFFGGGGGGGGGGFFFFGGGGFFFFFFFFGGFFFFFFGGFFFFFFFFFFFFGGGGFFFFFFFFFFFFGGFFFFGGGGGGGGGGFFGGFFFFGGGGGGGGFFFFGGGGGGFFGGGGFFGGFFFFGGFFGGFFGGGGFFFFGGGGFFFFGGFFGGGGFFGGGGFFFFFFGGGGGGFFGGGGFFGGFFFFGGFFFFFFFFFFFFFFFFGGFFFFGGGGFFGGFFFFGGFFGGGGFFGGGGFFFFGGFFFFFFGGFFFFGGFFFFFFFFGGFFGGGGGGFFGGFFGGGGFFFFFFFFGGFFGGFFGGFFFFGGGGFFGGGGGGGGGGFFFFGGFFGGGGGGFFFFFFGGFFGGGGFFFFFFGGFFFFFFFFFFFFGGFFFFFFFFGGGGFFGGGGFFFFFFGGGGFFGGFFGGFFFFFFFFGGGGGGGGFFFFGGFFFFFFFFFFFFGGFFGGFFGGFFGGFFFFGGGGFFGGGGGGFFGGFFGGFFFFFFFFGGFFGGFFGGGGFFFFGGGGFFGGGGFFFFGGGGGGFFFFFFGGFFFFGGGGFFFFFFGGGGFFFFGGFFFFGGGGFFFFFFFFGGGGGGFFFFFFFFFFFFGGFFFFFFFFFFGGFFFFFFFFGGFFFFFFFFGGFFFFGGFFFFFFGGGGFFFFGGGGFFGGFFGGFFFFFFFFFFFFFFFFGGFFGGFFGGGGFFFFFFFFGGFFFFFFFFFFFFFFFFFFGGGGFFFFGGFFGGFFGGFFFFGGFFGGFFFFGGGGFFGGFFFFFFFFGGGGFFFFFFFFGGFFFFFFGGFFGGFFGGGGGGFFGGFFFFGGGGGGFFGGGGFFFFFFFFGGGGGGGGGGFFGGFFGGFFFFFFFFGGFFFFFFGGFFFFFFFFFFFFGGFFFFGGFFFFGGGGFFGGGGFFFFFFFFFFFFFFFFGGGGGGGGGGGGGGGGGGFFFFFFFFFFFFGGGGFFGGFFFFGGFFGGFFGGFFFFFFFFFFFFGGFFFFFFFFFFFFFFFFFFFFFFGGGGFFGGFFGGGGGGGGFFFFGGFFGGFFFFFFFFGGFFGGFFGGGGGGGGFFFFGGFFGGFFFFGGGGGGFFGGFFGGGGGGFFFFFFGGGGFFFFFFFFFFFFGGFFGGGGGGFFFFFFFFFFFFGGFFGGFFGGFFFFFFGGGGFFGGGGFFFFFFGGFFGGGGGGFFGGGGGGGGFFFFFFFFFFGGGGFFFFFFFFFFFFFFGGFFFFFFGGGGFFFFGGFFGGFFGGFFGGFFFFGGFFFFGGFFFFFFFFGGFFFFFFFFGGGGFFFFGGGGFFFFGGFFFFFFGGGGFFFFGGFFGGGGGGGGGGFFFFFFFFFFFFGGGGFFGGFFGGFFFFFFFFGGFFFFFFGGFFGGFFFFGGGGFFFFGGFFGGFFGGFFGGGGGGFFFFFFGGFFGGFFFFGGGGGGFFGGFFGGFFFFGGGGFFFFGGFFFFFFGGFFFFGGFFGGFFFFFFGGGGFFGGFFGGFFFFGGFFGGGGGGFFFFFFFFFFGGGGFFFFFFFFFFFFGGFFFFFFFFFFFFGGFFGGFFGGFFFFFFGGFFFFFFGGFFFFFFGGFFGGFFFFGGGGFFFFGGFFGGFFGGFFGGGGGGFFFFFFGGFFGGFFFFGGGGGGFFGGFFGGFFFFGGGGFFFFGGFFFFFFGGFFFFGGFFGGFFFFFFGGGGFFGGFFGGFFFFGGFFGGGGGGFFFFFFFFFFGGGGFFFFFFFFFFFFGGFFFFFFFFFFFFGGFFGGFFGGFFFFFFGGFFFFFFFFFFGGGGFFGGGGGGFFGGFFFFGGFFGGFFFFFFGGFFFFFFFFFFFFFFFFFFFFFFGGFFFFGGGGFFFFGGFFFFFFFFGGGGGGGGFFFFFFGGFFFFFFGGGGFFGGFFFFFFGGFFFFFFFFGGGGFFFFGGGGFFGGFFFFFFFFFFFFFFGGGGGGFFFFFFGGFFFFFFGGFFFFFFFFFFFFFFGGGGGGGGGGFFFFFFFFFFFFFFFFFFFFFFFFFFGGFFGGGGFFFFGGGGGGFFFFFFFFFFGGFFFFGGGGFFFFFFFFFFFFFFFFFFFFGGFFFFGGFFFFGGGGGGFFFFGGFFFFFFGGFFFFFFGGFFGGGGGGFFFFFFFFGGFFFFFFGGFFFFGGGGFFGGFFFFGGGGFFGGFFGGGGFFFFGGFFFFFFFFGGFFFFFFFFFFGGGGFFFFFFGGFFFFFFFFFFFFFFFFGGGGFFGGGGFFFFFFGGFFGGGGFFFFFFGGFFGGGGFFGGGGFFFFFFFFGGFFGGFFGGGGGGFFFFFFGGFFFFGGFFGGFFFFFFGGFFGGGGGGFFFFFFFFGGFFFFFFGGFFFFGGGGFFGGFFFFGGGGFFGGFFGGGGFFFFGGFFFFFFFFGGFFFFFFFFFFGGGGFFFFFFGGFFFFFFFFFFFFFFFFGGGGFFGGGGFFFFFFGGFFGGGGFFFFFFGGFFGGGGFFGGGGFFFFFFFFGGFFGGFFGGGGGGFFFFFFGGFFFFGGFFGGFFFFGGGGFFGGFFFFFFFFGGFFGGFFFFGGFFFFFFFFFFFFGGGGFFFFGGGGFFFFGGFFGGGGFFGGGGFFFFFFGGFFFFFFGGGGFFFFFFFFGGFFFFFFFFFFFFFFFFFFFFFFGGGGFFFFFFFFGGFFGGFFFFGGFFFFFFGGFFFFFFGGFFFFFFFFFFFFFFGGFFGGGGGGFFGGFFGGFFFFFFFFFFGGFFGGFFFFFFFFGGGGFFGGGGFFGGGGFFFFFFFFFFGGGGFFFFFFGGFFGGGGFFFFFFGGFFFFFFFFFFFFGGFFFFFFFFGGFFFFGGGGFFFFFFGGFFFFGGFFGGFFFFFFFFGGFFFFFFFFFFGGFFFFFFFFFFFFFFFFGGFFGGFFGGFFFFGGGGFFGGGGFFFFGGFFGGFFFFFFFFFFFFGGFFFFFFFFFFGGGGFFGGFFFFFFGGGGFFFFFFFFGGFFFFGGGGFFFFFFGGFFFFFFGGFFFFGGGGFFFFFFFFFFGGFFFFFFFFFFFFFFGGFFFFFFFFFFGGFFFFFFFFFFFFFFFFFFFFGGFFFFGGFFGGFFFFFFGGFFFFFFFFFFFFFFFFGGFFGGFFFFFFFFGGGGFFFFFFFFFFFFFFFFFFFFFFFFFFFFGGFFFFFFFFGGGGGGGGFFGGFFGGGGFFGGGGFFFFFFFFFFFFFFFFFFFFGGFFFFFFGGFFGGFFGGFFFFFFFFFFFFFFGGGGGGGGGGFFGGGGGGGGFFGGFFGGFFFFFFGGGGGGFFGGFFGGGGGGFFGGGGGGFFGGGGFFGGFFFFFFFFGGFFFFGGFFGGGGGGFFGGFFFFFFFFGGFFGGGGFFGGFFGGGGFFGGFFGGGGFFGGGGFFGGGGFFFFGGFFFFGGFFFFFFFFGGGGGGGGGGGGGGFFGGGGFFFFFFGGFFGGGGFFGGFFFFGGFFFFFFGGFFGGGGGGFFFFFFFFGGGGGGFFGGGGGGGGGGFFFFFFGGFFFFFFGGFFGGGGFFGGGGGGGGGGGGGGFFGGGGFFFFGGFFFFFFGGGGFFFFFFFFFFFFGGFFGGFFFFGGGGFFFFFFGGGGGGFFFFFFGGGGFFFFFFFFFFFFFFGGGGGGGGFFFFGGGGFFFFFFGGGGFFFFFFGGGGGGGGGGFFFFFFGGGGFFGGFFFFFFFFFFGGFFFFFFGGGGGGFFGGGGFFGGFFFFFFGGGGFFGGGGFFGGFFGGGGGGFFGGFFFFGGGGFFFFGGGGGGFFGGFFFFFFFFGGGGGGFFGGFFFFFFGGGGFFFFFFFFGGGGFFGGFFGGGGGGFFFFGGFFGGFFFFFFFFFFGGFFFFFFGGGGFFFFGGGGGGGGGGFFFFGGFFFFFFFFFFFFGGGGFFFFGGFFGGFFGGFFGGGGGGFFFFGGGGGGGGGGFFFFGGGGFFFFFFFFGGFFFFFFGGFFFFFFFFFFFFGGGGFFFFFFFFFFFFGGFFFFGGGGGGGGGGFFGGFFFFGGGGGGGGFFFFGGGGGGFFGGGGFFGGFFFFGGFFGGFFGGGGFFFFGGGGFFFFGGFFGGGGFFGGGGFFFFFFGGGGGGFFGGGGFFGGFFFFGGFFFFFFFFFFFFFFFFGGFFFFGGGGFFGGFFFFGGFFGGGGFFGGGGFFFFGGFFFFFFGGFFFFGGFFFFFFFFGGFFGGGGGGFFGGFFGGGGFFFFFFFFGGFFGGFFGGFFFFGGGGFFGGGGGGGGGGFFFFGGFFGGGGGGFFFFFFGGFFGGGGFFFFFFGGFFFFFFFFFFFFGGFFFFFFFFGGGGFFGGGGFFFFFFGGGGFFGGFFGGFFFFFFFFGGGGGGGGFFFFGGFFFFFFFFFFFFGGFFGGFFGGFFGGFFFFGGGGFFGGGGGGFFGGFFGGFFFFFFFFGGFFGGFFGGGGFFFFGGGGFFGGGGFFFFGGGGGGFFFFFFGGFFFFGGGGFFFFFFGGGGFFFFGGFFFFGGGGFFFFFFFFGGGGGGFFFFFFFFFFFFGGFFFFFFFFFFGGFFFFFFFFGGFFFFFFFFGGFFFFGGFFFFFFGGGGFFFFGGGGFFGGFFGGFFFFFFFFFFFFFFFFGGFFGGFFGGGGFFFFFFFFGGFFFFFFFFFFFFFFFFFFGGGGFFFFGGFFGGFFGGFFFFGGFFGGFFFFGGGGFFGGFFFFFFFFGGGGFFFFFFFFGGFFFFFFGGFFGGFFGGGGGGFFGGFFFFGGGGGGFFGGGGFFFFFFFFGGGGGGGGGGFFGGFFGGFFFFFFFFGGFFFFFFGGFFFFFFFFFFFFGGFFFFGGFFFFGGGGFFGGGGFFFFFFFFFFFFFFFFGGGGGGGGGGGGGGGGGGFFFFFFFFFFFFGGGGFFGGFFFFGGFFGGFFGGFFFFFFFFFFFFGGFFFFFFFFFFFFFFFFFFFFFFGGGGFFGGFFGGGGGGGGFFFFGGFFGGFFFFFFFFGGFFGGFFGGGGGGGGFFFFGGFFGGFFFFGGGGGGFFGGFFGGGGGGFFFFFFGGGGFFFFFFFFFFFFGGFFGGGGGGFFFFFFFFFFFFGGFFGGFFGGFFFFFFGGGGFFGGGGFFFFFFGGFFGGGGGGFFGGGGGGGGFFFFFFFFFFGGGGFFFFFFFFFFFFFFGGFFFFFFGGGGFFFFGGFFGGFFGGFFGGFFFFGGFFFFGGFFFFFFFFGGFFFFFFFFGGGGFFFFGGGGFFFFGGFFFFFFGGGGFFFFGGFFGGGGGGGGGGFFFFFFFFFFFFGGGGFFGGFFGGFFFFFFFFGGFFFFFFGGFFGGFFFFGGGGFFFFGGFFGGFFGGFFGGGGGGFFFFFFGGFFGGFFFFGGGGGGFFGGFFGGFFFFGGGGFFFFGGFFFFFFGGFFFFGGFFGGFFFFFFGGGGFFGGFFGGFFFFGGFFGGGGGGFFFFFFFFFFGGGGFFFFFFFFFFFFGGFFFFFFFFFFFFGGFFGGFFGGFFFFFFGGFFFFFFGGFFFFFFGGFFGGFFFFGGGGFFFFGGFFGGFFGGFFGGGGGGFFFFFFGGFFGGFFFFGGGGGGFFGGFFGGFFFFGGGGFFFFGGFFFFFFGGFFFFGGFFGGFFFFFFGGGGFFGGFFGGFFFFGGFFGGGGGGFFFFFFFFFFGGGGFFFFFFFFFFFFGGFFFFFFFFFFFFGGFFGGFFGGFFFFFFGGFFFFFFFFFFGGGGFFGGGGGGFFGGFFFFGGFFGGFFFFFFGGFFFFFFFFFFFFFFFFFFFFFFGGFFFFGGGGFFFFGGFFFFFFFFGGGGGGGGFFFFFFGGFFFFFFGGGGFFGGFFFFFFGGFFFFFFFFGGGGFFFFGGGGFFGGFFFFFFFFFFFFFFGGGGGGFFFFFFGGFFFFFFGGFFFFFFFFFFFFFFGGGGGGGGGGFFFFFFFFFFFFFFFFFFFFFFFFFFGGFFGGGGFFFFGGGGGGFFFFFFFFFFGGFFFFGGGGFFFFFFFFFFFFFFFFFFFFGGFFFFGGFFFFGGGGGGFFFFGGFFFFFFGGFFFFFFGGFFGGGGGGFFFFFFFFGGFFFFFFGGFFFFGGGGFFGGFFFFGGGGFFGGFFGGGGFFFFGGFFFFFFFFGGFFFFFFFFFFGGGGFFFFFFGGFFFFFFFFFFFFFFFFGGGGFFGGGGFFFFFFGGFFGGGGFFFFFFGGFFGGGGFFGGGGFFFFFFFFGGFFGGFFGGGGGGFFFFFFGGFFFFGGFFGGFFFFFFGGFFGGGGGGFFFFFFFFGGFFFFFFGGFFFFGGGGFFGGFFFFGGGGFFGGFFGGGGFFFFGGFFFFFFFFGGFFFFFFFFFFGGGGFFFFFFGGFFFFFFFFFFFFFFFFGGGGFFGGGGFFFFFFGGFFGGGGFFFFFFGGFFGGGGFFGGGGFFFFFFFFGGFFGGFFGGGGGGFFFFFFGGFFFFGGFFGGFFFFGGGGFFGGFFFFFFFFGGFFGGFFFFGGFFFFFFFFFFFFGGGGFFFFGGGGFFFFGGFFGGGGFFGGGGFFFFFFGGFFFFFFGGGGFFFFFFFFGGFFFFFFFFFFFFFFFFFFFFFFGGGGFFFFFFFFGGFFGGFFFFGGFFFFFFGGFFFFFFGGFFFFFFFFFFFFFFGGFFGGGGGGFFGGFFGGFFFFFFFFFFGGFFGGFFFFFFFFGGGGFFGGGGFFGGGGFFFFFFFFFFGGGGFFFFFFGGFFGGGGFFFFFFGGFFFFFFFFFFFFGGFFFFFFFFGGFFFFGGGGFFFFFFGGFFFFGGFFGGFFFFFFFFGGFFFFFFFFFFGGFFFFFFFFFFFFFFFFGGFFGGFFGGFFFFGGGGFFGGGGFFFFGGFFGGFFFFFFFFFFFFGGFFFFFFFFFFGGGGFFGGFFFFFFGGGGFFFFFFFFGGFFFFGGGGFFFFFFGGFFFFFFGGFFFFGGGGFFFFFFFFFFGGFFFFFFFFFFFFFFGGFFFFFFFFFFGGFFFFFFFFFFFFFFFFFFFFGGFFFFGGFFGGFFFFFFGGFFFFFFFFFFFFFFFFGGFFGGFFFFFFFFGGGGFFFFFFFFFFFFFFFFFFFFFFFFFFFFGGFFFFFFFFGGGGGGGGFFGGFFGGGGFFGGGGFFFFFFFFFFFFFFFFFFFFGGFFFFFFGGFFGGFFGGFFFFFFGGGGFFFFFFGGGGGGFFGGGGGGGGGGFFGGGGFFFFGGGGGGGGGGGGGGGGFFFFFFFFGGGGGGGGGGFFFFFFGGFFGGGGFFFFFFFFFFGGGGGGGGGGGGFFFFFFFFFFGGGGFFGGGGGGFFGGFFFFGGFFGGGGGGFFGGFFGGGGFFFFGGGGFFGGGGFFGGGGGGFFFFGGGGGGGGFFGGGGGGGGFFFFFFFFGGGGGGGGGGGGGGGGFFGGGGGGGGFFGGGGGGGGFFGGFFGGFFFFFFFFFFFFGGFFGGFFGGGGGGGGGGGGFFFFGGFFFFFFFFFFGGGGGGFFFFGGGGFFFFGGGGFFFFFFFFFFGGFFGGFFGGGGGGGGFFGGGGGGFFGGGGFFFFFFGGGGGGGGGGGGFFFFFFGGGGFFFFGGFFGGFFFFFFGGFFFFGGGGFFGGGGFFFFGGFFFFFFGGGGGGGGGGFFGGGGFFGGGGFFFFFFGGGGGGGGFFGGFFFFGGGGGGGGFFGGFFFFGGFFGGGGFFFFFFGGGGFFGGGGFFFFFFFFGGGGGGGGFFFFGGFFGGGGGGFFFFFFFFGGGGFFGGGGGGFFFFGGGGFFFFFFFFFFFFFFGGFFGGFFGGFFFFGGGGFFGGFFFFGGFFGGFFGGGGFFGGGGFFFFFFGGGGGGGGGGGGGGFFGGGGGGGGGGFFFFGGFFFFGGGGGGGGGGGGGGGGGGGGFFGGGGGGFFGGFFFFGGGGFFFFGGFFGGGGGGGGGGFFGGGGFFFFFFFFGGFFFFGGGGGGGGFFGGFFFFGGFFFFFFGGFFFFFFFFGGGGFFGGGGGGFFFFFFGGGGGGGGGGFFFFFFGGFFFFFFGGFFGGFFFFFFFFFFGGGGGGFFGGGGFFFFGGGGGGFFFFGGGGFFFFGGGGGGGGGGFFGGGGFFGGGGGGGGFFGGFFFFFFFFFFGGFFGGGGGGGGGGFFFFFFGGFFFFFFGGFFGGGGFFGGGGGGFFFFGGGGGGGGGGFFGGFFFFFFFFFFFFFFGGFFGGGGFFGGGGGGGGFFFFGGFFGGGGGGFFGGGGGGFFGGFFFFFFGGGGGGFFGGGGGGGGGGGGFFFFGGGGGGFFFFGGGGGGGGGGGGFFGGGGFFGGGGGGGGFFGGFFGGGGFFGGFFGGGGGGFFGGGGGGGGFFGGGGGGGGGGFFGGFFFFGGFFFFFFFFGGGGGGGGGGFFFFGGFFGGGGFFGGFFGGGGFFFFGGGGGGGGGGGGFFGGGGGGGGGGFFFFFFGGFFGGGGFFFFFFFFGGFFFFFFGGGGGGFFFFGGFFGGGGGGFFGGGGGGGGGGFFGGGGGGGGFFGGGGGGGGGGGGFFGGFFFFGGGGGGFFFFFFGGFFGGGGFFGGFFGGGGGGFFGGGGGGGGFFGGFFFFFFGGGGGGGGGGGGFFFFGGGGGGFFGGGGFFGGFFGGGGFFGGFFGGGGGGGGFFGGGGGGGGFFGGFFGGFFGGGGFFGGFFFFGGGGGGGGGGGGFFFFFFGGGGGGFFGGGGGGFFGGFFFFGGFFGGFFFFGGGGFFGGFFFFGGFFGGFFGGGGGGGGFFFFGGGGFFFFGGGGFFFFFFGGGGGGGGGGFFFFGGFFFFGGGGGGGGGGGGFFFFGGFFFFFFFFGGGGFFFFGGGGGGGGGGGGFFGGFFFFGGGGGGGGGGFFFFGGFFFFFFGGGGGGFFFFFFFFFFGGGGGGGGGGFFFFFFFFFFFFGGFFFFFFFFFFFFGGFFGGGGFFFFGGGGGGFFGGGGFFFFGGGGFFGGGGFFGGFFFFFFFFFFGGFFFFGGFFFFGGFFFFGGGGGGFFGGGGFFFFFFGGGGGGFFGGFFGGGGGGFFFFFFGGGGFFFFFFGGFFFFGGGGGGGGGGFFGGGGFFGGFFGGGGFFGGGGFFFFFFFFGGFFFFFFGGGGGGGGFFGGFFGGFFFFFFGGFFGGFFFFGGGGFFGGGGFFFFFFGGFFGGGGFFFFFFGGFFGGGGGGGGGGFFFFFFGGGGFFGGFFGGGGGGFFGGGGGGGGGGGGFFGGFFFFGGGGGGGGFFFFGGGGGGFFGGGGFFGGFFFFGGFFGGFFGGGGFFFFGGGGFFFFGGFFGGGGFFGGGGFFFFFFGGGGGGFFGGGGFFGGFFFFGGFFFFFFFFFFFFFFFFGGFFFFGGGGFFGGFFFFGGFFGGGGGGGGGGFFFFGGFFGGFFGGFFFFGGFFFFFFFFGGGGGGGGGGFFGGFFGGGGGGFFFFFFGGGGGGGGFFFFGGGGGGFFGGGGFFGGFFFFGGFFGGFFGGGGFFFFGGGGFFFFGGFFGGGGFFGGGGFFFFFFGGGGGGFFGGGGFFGGFFFFGGFFFFFFFFFFFFFFFFGGFFFFGGGGFFGGFFFFGGFFGGGGGGGGGGFFFFGGFFGGFFGGFFFFGGFFFFFFFFGGGGGGGGGGFFGGFFGGGGGGFFFFFFGGFFGGFFGGFFFFGGGGFFGGGGGGGGGGFFGGGGGGGGGGGGFFFFFFGGFFGGGGFFFFFFGGFFFFGGFFFFFFGGFFFFFFFFGGGGFFGGGGFFFFFFGGGGGGGGFFGGFFFFFFFFGGGGGGGGFFFFGGFFFFFFFFFFFFGGFFGGFFGGFFGGFFFFGGGGFFGGGGGGFFGGFFGGFFFFFFFFGGFFGGFFGGGGFFFFGGGGFFGGGGFFFFGGGGGGFFFFFFGGGGFFGGGGFFFFFFGGGGFFFFGGFFFFGGGGFFFFFFFFGGGGGGFFGGFFFFFFFFGGFFFFFFGGFFGGFFFFFFFFGGFFFFFFFFGGFFFFGGFFFFFFGGGGFFFFGGGGFFGGFFGGFFFFFFFFFFFFFFFFGGFFGGFFGGGGFFFFFFFFGGFFFFFFFFFFFFFFFFFFGGGGFFFFGGFFGGFFGGFFFFGGFFGGFFFFGGGGFFGGFFFFFFGGGGGGFFFFFFFFGGFFFFFFGGFFGGFFGGGGGGFFGGFFFFFFFFGGFFFFFFFFGGFFFFGGGGFFFFGGFFFFFFGGGGFFFFGGGGFFGGFFGGFFFFFFFFFFFFFFFFGGFFGGFFGGGGFFFFFFFFGGFFFFFFFFFFFFFFFFFFGGGGFFFFGGFFGGFFGGFFFFGGFFGGFFFFGGGGFFGGFFFFFFGGGGGGFFFFFFFFGGFFFFFFGGFFGGFFGGGGGGFFGGFFFFFFFFGGFFFFFFFFGGFFFFGGGGFFGGFFGGFFFFFFFFFFFFGGFFFFFFFFGGGGFFGGGGFFFFFFFFGGGGGGFFGGFFFFFFFFFFFFFFFFFFGGFFFFFFFFFFGGFFGGFFGGGGFFFFFFFFGGFFFFGGFFFFFFGGFFGGFFGGFFGGGGFFGGGGGGGGFFGGFFFFFFFFFFGGFFGGGGGGGGGGFFFFFFFFFFFFFFGGFFGGGGFFGGGGGGFFFFFFGGGGGGGGFFGGFFFFFFFFFFFFFFGGFFGGGGFFGGFFGGGGFFFFGGFFFFGGGGFFGGGGGGFFGGFFFFFFGGGGFFFFGGGGGGGGGGGGFFFFGGGGGGFFFFGGGGGGFFGGGGFFGGGGFFGGGGGGGGFFFFFFGGGGFFGGFFFFGGGGFFGGGGFFGGFFFFGGFFFFGGFFGGFFFFGGFFFFFFFFGGGGGGFFGGFFFFGGFFFFGGFFGGFFGGGGFFFFGGFFFFGGGGFFFFFFFFFFFFGGFFFFFFGGFFGGGGFFFFFFFFFFFFFFFFGGFFGGFFFFGGFFFFFFGGFFGGFFGGGGGGFFFFGGGGGGFFFFGGFFFFFFFFGGFFFFGGGGGGFFGGGGFFFFFFGGFFFFFFFFGGFFFFGGFFGGFFFFFFFFFFFFFFGGGGGGGGFFFFFFGGGGFFGGFFFFGGFFFFFFGGFFFFGGFFFFFFGGFFFFGGFFGGFFGGFFFFGGFFFFGGGGGGFFFFFFGGGGGGFFGGGGGGGGGGFFGGGGFFFFGGGGGGGGGGGGGGGGFFFFFFFFGGGGGGGGGGFFFFFFGGFFGGGGFFFFFFFFFFGGGGGGGGGGGGFFFFFFFFFFGGGGFFGGGGGGFFGGFFFFGGFFGGGGGGFFGGFFGGGGFFFFGGGGFFGGGGFFGGGGGGFFFFGGGGGGGGFFGGGGGGGGFFFFFFFFGGGGGGGGGGGGGGGGFFGGGGGGGGFFGGGGGGGGFFGGFFGGFFFFFFFFFFFFGGFFGGFFGGGGGGGGGGGGFFFFGGFFFFFFFFFFGGGGGGFFFFGGGGFFFFGGGGFFFFFFFFFFGGFFGGFFGGGGGGGGFFGGGGGGFFGGGGFFFFFFGGGGGGGGGGGGFFFFFFGGGGFFFFGGFFGGFFFFFFGGFFFFGGGGFFGGGGFFFFGGFFFFFFGGGGGGGGGGFFGGGGFFGGGGFFFFFFGGGGGGGGFFGGFFFFGGGGGGGGFFGGFFFFGGFFGGGGFFFFFFGGGGFFGGGGFFFFFFFFGGGGGGGGFFFFGGFFGGGGGGFFFFFFFFGGGGFFGGGGGGFFFFGGGGFFFFFFFFFFFFFFGGFFGGFFGGFFFFGGGGFFGGFFFFGGFFGGFFGGGGFFGGGGFFFFFFGGGGGGGGGGGGGGFFGGGGGGGGGGFFFFGGFFFFGGGGGGGGGGGGGGGGGGGGFFGGGGGGFFGGFFFFGGGGFFFFGGFFGGGGGGGGGGFFGGGGFFFFFFFFGGFFFFGGGGGGGGFFGGFFFFGGFFFFFFGGFFFFFFFFGGGGFFGGGGGGFFFFFFGGGGGGGGGGFFFFFFGGFFFFFFGGFFGGFFFFFFFFFFGGGGGGFFGGGGFFFFGGGGGGFFFFGGGGFFFFGGGGGGGGGGFFGGGGFFGGGGGGGGFFGGFFFFFFFFFFGGFFGGGGGGGGGGFFFFFFGGFFFFFFGGFFGGGGFFGGGGGGFFFFGGGGGGGGGGFFGGFFFFFFFFFFFFFFGGFFGGGGFFGGGGGGGGFFFFGGFFGGGGGGFFGGGGGGFFGGFFFFFFGGGGGGFFGGGGGGGGGGGGFFFFGGGGGGFFFFGGGGGGGGGGGGFFGGGGFFGGGGGGGGFFGGFFGGGGFFGGFFGGGGGGFFGGGGGGGGFFGGGGGGGGGGFFGGFFFFGGFFFFFFFFGGGGGGGGGGFFFFGGFFGGGGFFGGFFGGGGFFFFGGGGGGGGGGGGFFGGGGGGGGGGFFFFFFGGFFGGGGFFFFFFFFGGFFFFFFGGGGGGFFFFGGFFGGGGGGFFGGGGGGGGGGFFGGGGGGGGFFGGGGGGGGGGGGFFGGFFFFGGGGGGFFFFFFGGFFGGGGFFGGFFGGGGGGFFGGGGGGGGFFGGFFFFFFGGGGGGGGGGGGFFFFGGGGGGFFGGGGFFGGFFGGGGFFGGFFGGGGGGGGFFGGGGGGGGFFGGFFGGFFGGGGFFGGFFFFGGGGGGGGGGGGFFFFFFGGGGGGFFGGGGGGFFGGFFFFGGFFGGFFFFGGGGFFGGFFFFGGFFGGFFGGGGGGGGFFFFGGGGFFFFGGGGFFFFFFGGGGGGGGGGFFFFGGFFFFGGGGGGGGGGGGFFFFGGFFFFFFFFGGGGFFFFGGGGGGGGGGGGFFGGFFFFGGGGGGGGGGFFFFGGFFFFFFGGGGGGFFFFFFFFFFGGGGGGGGGGFFFFFFFFFFFFGGFFFFFFFFFFFFGGFFGGGGFFFFGGGGGGFFGGGGFFFFGGGGFFGGGGFFGGFFFFFFFFFFGGFFFFGGFFFFGGFFFFGGGGGGFFGGGGFFFFFFGGGGGGFFGGFFGGGGGGFFFFFFGGGGFFFFFFGGFFFFGGGGGGGGGGFFGGGGFFGGFFGGGGFFGGGGFFFFFFFFGGFFFFFFGGGGGGGGFFGGFFGGFFFFFFGGFFGGFFFFGGGGFFGGGGFFFFFFGGFFGGGGFFFFFFGGFFGGGGGGGGGGFFFFFFGGGGFFGGFFGGGGGGFFGGGGGGGGGGGGFFGGFFFFGGGGGGGGFFFFGGGGGGFFGGGGFFGGFFFFGGFFGGFFGGGGFFFFGGGGFFFFGGFFGGGGFFGGGGFFFFFFGGGGGGFFGGGGFFGGFFFFGGFFFFFFFFFFFFFFFFGGFFFFGGGGFFGGFFFFGGFFGGGGGGGGGGFFFFGGFFGGFFGGFFFFGGFFFFFFFFGGGGGGGGGGFFGGFFGGGGGGFFFFFFGGGGGGGGFFFFGGGGGGFFGGGGFFGGFFFFGGFFGGFFGGGGFFFFGGGGFFFFGGFFGGGGFFGGGGFFFFFFGGGGGGFFGGGGFFGGFFFFGGFFFFFFFFFFFFFFFFGGFFFFGGGGFFGGFFFFGGFFGGGGGGGGGGFFFFGGFFGGFFGGFFFFGGFFFFFFFFGGGGGGGGGGFFGGFFGGGGGGFFFFFFGGFFGGFFGGFFFFGGGGFFGGGGGGGGGGFFGGGGGGGGGGGGFFFFFFGGFFGGGGFFFFFFGGFFFFGGFFFFFFGGFFFFFFFFGGGGFFGGGGFFFFFFGGGGGGGGFFGGFFFFFFFFGGGGGGGGFFFFGGFFFFFFFFFFFFGGFFGGFFGGFFGGFFFFGGGGFFGGGGGGFFGGFFGGFFFFFFFFGGFFGGFFGGGGFFFFGGGGFFGGGGFFFFGGGGGGFFFFFFGGGGFFGGGGFFFFFFGGGGFFFFGGFFFFGGGGFFFFFFFFGGGGGGFFGGFFFFFFFFGGFFFFFFGGFFGGFFFFFFFFGGFFFFFFFFGGFFFFGGFFFFFFGGGGFFFFGGGGFFGGFFGGFFFFFFFFFFFFFFFFGGFFGGFFGGGGFFFFFFFFGGFFFFFFFFFFFFFFFFFFGGGGFFFFGGFFGGFFGGFFFFGGFFGGFFFFGGGGFFGGFFFFFFGGGGGGFFFFFFFFGGFFFFFFGGFFGGFFGGGGGGFFGGFFFFFFFFGGFFFFFFFFGGFFFFGGGGFFFFGGFFFFFFGGGGFFFFGGGGFFGGFFGGFFFFFFFFFFFFFFFFGGFFGGFFGGGGFFFFFFFFGGFFFFFFFFFFFFFFFFFFGGGGFFFFGGFFGGFFGGFFFFGGFFGGFFFFGGGGFFGGFFFFFFGGGGGGFFFFFFFFGGFFFFFFGGFFGGFFGGGGGGFFGGFFFFFFFFGGFFFFFFFFGGFFFFGGGGFFGGFFGGFFFFFFFFFFFFGGFFFFFFFFGGGGFFGGGGFFFFFFFFGGGGGGFFGGFFFFFFFFFFFFFFFFFFGGFFFFFFFFFFGGFFGGFFGGGGFFFFFFFFGGFFFFGGFFFFFFGGFFGGFFGGFFGGGGFFGGGGGGGGFFGGFFFFFFFFFFGGFFGGGGGGGGGGFFFFFFFFFFFFFFGGFFGGGGFFGGGGGGFFFFFFGGGGGGGGFFGGFFFFFFFFFFFFFFGGFFGGGGFFGGFFGGGGFFFFGGFFFFGGGGFFGGGGGGFFGGFFFFFFGGGGFFFFGGGGGGGGGGGGFFFFGGGGGGFFFFGGGGGGFFGGGGFFGGGGFFGGGGGGGGFFFFFFGGGGFFGGFFFFGGGGFFGGGGFFGGFFFFGGFFFFGGFFGGFFFFGGFFFFFFFFGGGGGGFFGGFFFFGGFFFFGGFFGGFFGGGGFFFFGGFFFFGGGGFFFFFFFFFFFFGGFFFFFFGGFFGGGGFFFFFFFFFFFFFFFFGGFFGGFFFFGGFFFFFFGGFFGGFFGGGGGGFFFFGGGGGGFFFFGGFFFFFFFFGGFFFFGGGGGGFFGGGGFFFFFFGGFFFFFFFFGGFFFFGGFFGGFFFFFFFFFFFFFFGGGGGGGGFFFFFFGGGGFFGGFFFFGGFFFFFFGGFFFFGGFFFFFFGGFFFFGGFFGGFFGGFFFFGGFFFFGGGGGGGGGGGGFFGGFFGGGGGGGGFFFFGGGGGGGGGGFFFFFFGGGGGGGGGGGGFFFFFFGGGGGGGGFFGGGGGGFFGGGGGGGGFFGGFFGGGGGGGGGGGGGGFFFFFFGGGGGGGGGGGGGGGGGGFFFFGGGGGGGGGGFFGGGGGGFFGGGGGGGGGGFFGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGFFGGGGFFGGFFGGGGGGGGGGGGGGFFGGGGGGFFFFGGGGGGGGFFGGGGGGGGGGFFFFGGFFGGFFGGGGGGFFGGGGGGGGGGFFGGFFGGGGGGGGGGGGFFGGFFGGGGFFGGFFFFGGGGGGGGGGGGFFGGGGGGGGGGFFFFGGGGGGGGFFGGGGFFGGFFGGGGGGGGGGGGGGGGFFGGFFGGGGGGGGGGGGGGGGFFGGGGGGGGGGFFGGGGGGGGGGGGGGGGGGFFFFGGGGGGGGFFFFGGGGFFGGGGFFFFGGFFFFGGGGFFGGFFGGGGFFGGGGGGGGGGGGGGGGGGGGFFFFFFGGGGFFFFFFFFGGGGFFFFGGFFGGGGGGFFGGGGGGGGGGGGFFFFGGGGGGGGFFGGGGGGGGFFGGGGGGFFFFFFGGGGFFGGGGGGGGFFFFGGGGFFGGFFGGGGGGGGFFGGGGGGFFFFGGGGGGGGGGFFGGFFGGGGFFGGGGGGGGFFFFGGGGGGFFFFFFFFGGGGGGGGGGGGFFGGGGGGFFGGFFFFGGGGFFGGGGFFGGGGGGGGFFGGFFGGGGGGGGGGGGGGFFGGGGGGFFFFGGGGGGGGGGGGFFGGFFGGGGFFGGGGFFGGFFGGFFGGFFGGGGGGGGGGGGGGFFGGGGGGGGFFGGGGGGGGGGGGGGGGGGGGGGGGFFGGGGGGGGGGGGFFGGGGGGGGGGGGGGGGFFFFGGGGFFGGGGFFFFFFGGGGGGFFGGGGGGGGGGGGGGFFGGGGFFGGGGGGGGFFFFGGGGGGGGGGGGFFGGGGFFFFGGGGGGGGGGGGGGGGFFFFGGGGFFFFGGFFGGFFGGGGFFGGGGGGGGGGFFGGFFGGFFGGGGGGGGGGFFGGGGGGFFGGGGGGFFGGFFGGFFGGGGGGFFFFGGGGGGFFFFGGFFGGFFGGFFGGGGGGFFGGGGFFGGGGFFFFFFFFGGFFGGGGGGFFGGGGGGGGGGFFGGFFFFFFGGGGFFGGGGGGFFGGFFGGGGGGGGGGFFGGFFGGFFGGGGGGGGGGGGGGGGFFGGFFGGFFGGGGGGGGFFGGGGGGFFFFFFGGGGFFGGFFGGGGGGGGGGGGGGFFGGGGFFFFGGGGGGFFGGFFGGFFGGGGGGGGFFGGGGGGFFGGFFGGGGGGGGGGGGGGGGGGFFFFGGGGFFGGGGFFGGFFGGFFGGFFGGGGFFGGFFFFGGFFFFGGGGFFGGFFFFFFFFGGGGGGGGGGFFGGFFFFFFGGFFGGGGGGFFGGGGGGGGFFGGGGFFFFGGFFGGFFGGFFGGGGGGFFGGGGGGGGGGGGGGGGGGGGGGGGFFFFFFGGFFGGGGGGFFFFGGFFFFGGGGFFFFGGFFGGGGFFGGGGFFGGGGGGFFGGGGGGGGGGFFGGFFGGFFGGGGGGGGGGGGFFGGFFFFGGFFFFGGGGGGGGFFGGFFGGFFGGGGGGFFGGGGGGFFGGGGGGGGFFGGFFGGFFGGFFGGGGFFGGGGGGGGGGGGGGFFGGGGGGFFFFGGGGGGFFGGGGGGFFGGGGGGGGGGGGFFFFGGGGFFGGFFFFGGGGGGFFGGFFFFGGFFGGFFFFFFGGFFGGFFFFGGGGGGFFGGFFFFGGFFFFGGGGGGFFGGGGGGFFGGGGFFGGFFGGFFGGFFFFFFFFGGFFGGGGGGGGGGGGFFFFGGGGGGFFFFFFGGGGFFFFFFFFGGGGGGGGGGFFGGFFGGFFFFGGFFGGFFFFGGGGFFGGFFFFFFGGGGGGFFGGFFGGGGFFFFFFGGFFGGGGGGGGGGGGGGFFFFFFGGGGFFFFFFFFGGFFFFGGGGGGGGFFGGFFFFGGFFFFFFGGFFFFFFFFGGGGFFGGGGGGFFFFFFGGGGGGGGGGFFFFFFGGGGFFGGGGFFGGFFGGFFFFFFGGGGGGFFGGGGFFFFGGGGGGFFFFGGGGFFFFGGGGGGGGGGFFGGGGFFGGGGGGGGFFGGFFFFFFGGFFGGFFGGGGGGGGGGFFFFFFGGGGFFFFGGFFGGGGFFGGGGGGFFGGFFFFGGFFFFFFGGFFFFFFFFGGGGFFGGGGGGFFFFFFGGGGGGGGGGFFFFFFGGGGFFGGGGFFGGFFGGFFFFFFGGGGGGFFGGGGFFFFGGGGGGFFFFGGGGFFFFGGGGGGGGGGFFGGGGFFGGGGGGGGFFGGFFFFFFGGFFGGFFGGGGGGGGGGFFFFFFGGGGFFFFGGFFGGGGFFGGGGGGGGFFGGGGGGGGGGFFGGFFGGFFFFFFFFFFGGFFGGGGFFGGGGGGGGFFFFGGFFGGGGGGFFGGGGGGFFGGFFFFGGGGGGGGFFGGGGGGGGGGGGFFFFGGGGGGFFFFGGGGGGGGGGGGFFGGGGFFGGGGGGGGFFGGFFGGGGFFGGFFGGGGGGFFGGGGGGGGFFGGGGGGGGGGFFGGFFFFGGGGFFFFFFGGGGGGGGGGFFFFGGFFGGGGFFGGFFGGGGFFFFGGGGGGGGGGGGFFGGGGGGGGGGFFFFGGGGFFGGGGFFFFFFFFGGFFFFFFGGGGGGFFFFGGFFGGGGGGFFGGGGGGGGGGFFGGGGGGGGFFGGGGGGGGGGGGFFGGGGFFGGGGGGFFFFFFGGFFGGGGFFGGFFGGGGGGFFGGGGGGGGGGGGFFFFFFGGGGGGGGGGGGFFFFGGGGGGFFGGGGFFGGFFGGGGFFGGFFGGGGGGGGFFGGGGGGGGFFGGFFGGFFGGGGGGGGFFFFGGGGGGGGGGGGFFFFFFFFFFGGGGGGFFFFFFFFGGGGGGGGFFGGGGGGGGGGGGFFGGGGFFGGGGGGFFFFFFGGFFGGGGFFGGFFGGGGGGFFGGGGGGGGGGGGFFFFFFGGGGGGGGGGGGFFFFGGGGGGFFGGGGFFGGFFGGGGFFGGFFGGGGGGGGFFGGGGGGGGFFGGFFGGFFGGGGFFGGFFFFGGGGGGGGGGGGFFFFFFFFFFGGFFGGFFFFFFFFFFGGGGGGGGGGGGFFFFGGFFFFFFFFGGFFGGFFGGFFGGFFGGGGFFGGGGFFGGFFGGFFFFFFGGGGFFGGGGGGGGFFGGFFFFGGFFGGGGGGFFGGGGGGFFGGGGGGGGFFGGGGGGGGGGFFFFFFGGGGFFGGGGGGGGFFFFGGGGFFGGGGFFFFFFGGGGGGFFGGGGGGGGGGGGGGFFGGGGFFGGGGGGGGFFFFGGGGGGGGGGGGFFFFGGFFFFGGGGGGGGGGGGGGGGFFFFGGGGFFFFGGFFFFFFGGGGFFGGGGGGGGGGFFGGFFFFFFGGFFFFFFFFFFGGGGFFFFGGGGGGFFFFFFGGFFGGGGGGFFFFGGFFFFFFFFFFFFGGFFGGFFGGGGGGFFGGGGFFGGFFFFFFFFFFGGFFGGFFFFFFGGGGFFGGGGFFFFFFFFFFGGGGFFFFFFFFFFFFFFGGGGGGFFGGFFGGFFFFFFGGGGGGGGGGFFGGGGFFGGFFGGFFFFFFGGGGFFGGFFGGFFFFFFFFGGFFGGFFGGGGFFGGGGFFGGFFFFGGFFFFGGGGGGGGFFGGGGFFGGFFFFGGGGFFFFGGGGGGFFFFFFFFGGGGFFFFGGFFFFGGFFFFFFGGFFFFFFGGFFGGFFFFGGFFGGGGGGFFGGGGGGFFGGGGFFFFFFFFFFGGFFFFGGGGGGFFGGGGGGGGFFFFFFFFGGGGGGGGGGGGFFGGFFGGGGGGGGFFFFGGGGGGGGGGFFFFFFGGGGGGGGGGGGFFFFFFGGGGGGGGFFGGGGGGFFGGGGGGGGFFGGFFGGGGGGGGGGGGGGFFFFFFGGGGGGGGGGGGGGGGGGFFFFGGGGGGGGGGFFGGGGGGFFGGGGGGGGGGFFGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGFFGGGGFFGGFFGGGGGGGGGGGGGGFFGGGGGGFFFFGGGGGGGGFFGGGGGGGGGGFFFFGGFFGGFFGGGGGGFFGGGGGGGGGGFFGGFFGGGGGGGGGGGGFFGGFFGGGGFFGGFFFFGGGGGGGGGGGGFFGGGGGGGGGGFFFFGGGGGGGGFFGGGGFFGGFFGGGGGGGGGGGGGGGGFFGGFFGGGGGGGGGGGGGGGGFFGGGGGGGGGGFFGGGGGGGGGGGGGGGGGGFFFFGGGGGGGGFFFFGGGGFFGGGGFFFFGGFFFFGGGGFFGGFFGGGGFFGGGGGGGGGGGGGGGGGGGGFFFFFFGGGGFFFFFFFFGGGGFFFFGGFFGGGGGGFFGGGGGGGGGGGGFFFFGGGGGGGGFFGGGGGGGGFFGGGGGGFFFFFFGGGGFFGGGGGGGGFFFFGGGGFFGGFFGGGGGGGGFFGGGGGGFFFFGGGGGGGGGGFFGGFFGGGGFFGGGGGGGGFFFFGGGGGGFFFFFFFFGGGGGGGGGGGGFFGGGGGGFFGGFFFFGGGGFFGGGGFFGGGGGGGGFFGGFFGGGGGGGGGGGGGGFFGGGGGGFFFFGGGGGGGGGGGGFFGGFFGGGGFFGGGGFFGGFFGGFFGGFFGGGGGGGGGGGGGGFFGGGGGGGGFFGGGGGGGGGGGGGGGGGGGGGGGGFFGGGGGGGGGGGGFFGGGGGGGGGGGGGGGGFFFFGGGGFFGGGGFFFFFFGGGGGGFFGGGGGGGGGGGGGGFFGGGGFFGGGGGGGGFFFFGGGGGGGGGGGGFFGGGGFFFFGGGGGGGGGGGGGGGGFFFFGGGGFFFFGGFFGGFFGGGGFFGGGGGGGGGGFFGGFFGGFFGGGGGGGGGGFFGGGGGGFFGGGGGGFFGGFFGGFFGGGGGGFFFFGGGGGGFFFFGGFFGGFFGGFFGGGGGGFFGGGGFFGGGGFFFFFFFFGGFFGGGGGGFFGGGGGGGGGGFFGGFFFFFFGGGGFFGGGGGGFFGGFFGGGGGGGGGGFFGGFFGGFFGGGGGGGGGGGGGGGGFFGGFFGGFFGGGGGGGGFFGGGGGGFFFFFFGGGGFFGGFFGGGGGGGGGGGGGGFFGGGGFFFFGGGGGGFFGGFFGGFFGGGGGGGGFFGGGGGGFFGGFFGGGGGGGGGGGGGGGGGGFFFFGGGGFFGGGGFFGGFFGGFFGGFFGGGGFFGGFFFFGGFFFFGGGGFFGGFFFFFFFFGGGGGGGGGGFFGGFFFFFFGGFFGGGGGGFFGGGGGGGGFFGGGGFFFFGGFFGGFFGGFFGGGGGGFFGGGGGGGGGGGGGGGGGGGGGGGGFFFFFFGGFFGGGGGGFFFFGGFFFFGGGGFFFFGGFFGGGGFFGGGGFFGGGGGGFFGGGGGGGGGGFFGGFFGGFFGGGGGGGGGGGGFFGGFFFFGGFFFFGGGGGGGGFFGGFFGGFFGGGGGGFFGGGGGGFFGGGGGGGGFFGGFFGGFFGGFFGGGGFFGGGGGGGGGGGGGGFFGGGGGGFFFFGGGGGGFFGGGGGGFFGGGGGGGGGGGGFFFFGGGGFFGGFFFFGGGGGGFFGGFFFFGGFFGGFFFFFFGGFFGGFFFFGGGGGGFFGGFFFFGGFFFFGGGGGGFFGGGGGGFFGGGGFFGGFFGGFFGGFFFFFFFFGGFFGGGGGGGGGGGGFFFFGGGGGGFFFFFFGGGGFFFFFFFFGGGGGGGGGGFFGGFFGGFFFFGGFFGGFFFFGGGGFFGGFFFFFFGGGGGGFFGGFFGGGGFFFFFFGGFFGGGGGGGGGGGGGGFFFFFFGGGGFFFFFFFFGGFFFFGGGGGGGGFFGGFFFFGGFFFFFFGGFFFFFFFFGGGGFFGGGGGGFFFFFFGGGGGGGGGGFFFFFFGGGGFFGGGGFFGGFFGGFFFFFFGGGGGGFFGGGGFFFFGGGGGGFFFFGGGGFFFFGGGGGGGGGGFFGGGGFFGGGGGGGGFFGGFFFFFFGGFFGGFFGGGGGGGGGGFFFFFFGGGGFFFFGGFFGGGGFFGGGGGGFFGGFFFFGGFFFFFFGGFFFFFFFFGGGGFFGGGGGGFFFFFFGGGGGGGGGGFFFFFFGGGGFFGGGGFFGGFFGGFFFFFFGGGGGGFFGGGGFFFFGGGGGGFFFFGGGGFFFFGGGGGGGGGGFFGGGGFFGGGGGGGGFFGGFFFFFFGGFFGGFFGGGGGGGGGGFFFFFFGGGGFFFFGGFFGGGGFFGGGGGGGGFFGGGGGGGGGGFFGGFFGGFFFFFFFFFFGGFFGGGGFFGGGGGGGGFFFFGGFFGGGGGGFFGGGGGGFFGGFFFFGGGGGGGGFFGGGGGGGGGGGGFFFFGGGGGGFFFFGGGGGGGGGGGGFFGGGGFFGGGGGGGGFFGGFFGGGGFFGGFFGGGGGGFFGGGGGGGGFFGGGGGGGGGGFFGGFFFFGGGGFFFFFFGGGGGGGGGGFFFFGGFFGGGGFFGGFFGGGGFFFFGGGGGGGGGGGGFFGGGGGGGGGGFFFFGGGGFFGGGGFFFFFFFFGGFFFFFFGGGGGGFFFFGGFFGGGGGGFFGGGGGGGGGGFFGGGGGGGGFFGGGGGGGGGGGGFFGGGGFFGGGGGGFFFFFFGGFFGGGGFFGGFFGGGGGGFFGGGGGGGGGGGGFFFFFFGGGGGGGGGGGGFFFFGGGGGGFFGGGGFFGGFFGGGGFFGGFFGGGGGGGGFFGGGGGGGGFFGGFFGGFFGGGGGGGGFFFFGGGGGGGGGGGGFFFFFFFFFFGGGGGGFFFFFFFFGGGGGGGGFFGGGGGGGGGGGGFFGGGGFFGGGGGGFFFFFFGGFFGGGGFFGGFFGGGGGGFFGGGGGGGGGGGGFFFFFFGGGGGGGGGGGGFFFFGGGGGGFFGGGGFFGGFFGGGGFFGGFFGGGGGGGGFFGGGGGGGGFFGGFFGGFFGGGGFFGGFFFFGGGGGGGGGGGGFFFFFFFFFFGGFFGGFFFFFFFFFFGGGGGGGGGGGGFFFFGGFFFFFFFFGGFFGGFFGGFFGGFFGGGGFFGGGGFFGGFFGGFFFFFFGGGGFFGGGGGGGGFFGGFFFFGGFFGGGGGGFFGGGGGGFFGGGGGGGGFFGGGGGGGGGGFFFFFFGGGGFFGGGGGGGGFFFFGGGGFFGGGGFFFFFFGGGGGGFFGGGGGGGGGGGGGGFFGGGGFFGGGGGGGGFFFFGGGGGGGGGGGGFFFFGGFFFFGGGGGGGGGGGGGGGGFFFFGGGGFFFFGGFFFFFFGGGGFFGGGGGGGGGGFFGGFFFFFFGGFFFFFFFFFFGGGGFFFFGGGGGGFFFFFFGGFFGGGGGGFFFFGGFFFFFFFFFFFFGGFFGGFFGGGGGGFFGGGGFFGGFFFFFFFFFFGGFFGGFFFFFFGGGGFFGGGGFFFFFFFFFFGGGGFFFFFFFFFFFFFFGGGGGGFFGGFFGGFFFFFFGGGGGGGGGGFFGGGGFFGGFFGGFFFFFFGGGGFFGGFFGGFFFFFFFFGGFFGGFFGGGGFFGGGGFFGGFFFFGGFFFFGGGGGGGGFFGGGGFFGGFFFFGGGGFFFFGGGGGGFFFFFFFFGGGGFFFFGGFFFFGGFFFFFFGGFFFFFFGGFFGGFFFFGGFFGGGGGGFFGGGGGGFFGGGGFFFFFFFFFFGGFFFFGGGGGGFFGGGGGGGGFFFFFFFFGGGGGGGGFFGGGGFFGGGGGGFFFFFFFFGGGGGGGGGGGGFFGGFFGGFFGGGGGGGGGGFFFFFFGGGGGGGGGGFFGGGGGGGGGGFFGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGFFGGFFGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGFFFFGGGGFFGGGGGGGGGGGGFFGGGGGGGGGGFFGGGGGGGGGGFFGGGGFFGGGGGGGGGGGGGGGGGGGGGGGGGGGGFFGGGGGGGGFFGGGGFFGGGGFFGGFFGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGFFGGGGGGGGFFGGGGGGGGGGFFFFGGGGGGGGGGGGGGFFGGGGGGGGGGGGFFGGGGGGGGGGGGGGGGGGFFGGGGGGGGGGGGGGGGGGFFGGGGGGGGGGGGFFGGGGGGGGFFGGGGGGGGGGFFFFFFGGGGGGGGGGGGFFFFGGGGGGGGFFGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGFFGGGGGGGGGGGGGGFFGGGGGGFFGGGGGGGGGGFFGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGFFGGGGGGGGFFGGGGGGGGFFGGGGGGGGGGGGGGGGFFGGGGGGGGFFGGGGGGGGGGFFGGFFFFFFGGGGGGGGGGGGGGGGGGGGGGFFGGGGGGGGGGGGGGGGGGGGFFGGGGFFGGGGFFGGGGGGGGGGGGGGGGGGGGGGFFGGFFGGGGFFGGGGGGGGGGGGGGFFGGGGGGGGGGGGGGFFGGGGGGGGGGGGFFGGGGGGGGGGGGGGFFGGGGGGGGGGFFFFFFGGGGGGGGGGGGGGFFGGGGGGGGGGGGGGFFFFGGGGFFGGFFGGGGGGFFGGGGGGGGGGGGGGGGGGGGGGGGGGGGFFGGGGGGGGFFFFGGFFGGGGGGGGGGGGGGGGFFGGFFGGFFGGGGGGGGGGGGGGFFGGGGGGGGGGGGGGGGGGFFGGFFGGGGGGGGGGGGGGGGGGGGFFGGGGGGGGFFGGFFGGGGFFFFFFGGFFGGFFGGGGGGFFFFGGGGGGGGGGGGFFGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGFFGGFFGGGGGGGGGGGGGGGGGGFFGGGGFFGGGGGGFFGGGGFFFFGGGGGGFFGGGGGGGGFFGGGGGGFFGGGGGGGGGGGGFFFFGGFFGGFFGGFFGGFFGGGGGGGGGGGGGGGGGGGGGGFFGGGGGGGGFFGGFFGGGGGGGGGGFFGGGGGGGGFFFFGGGGGGFFFFFFFFGGGGGGFFGGGGGGGGGGGGFFGGGGGGFFGGFFGGGGGGGGGGGGGGGGGGGGGGGGGGFFGGFFGGGGGGGGGGGGGGFFGGGGGGGGFFGGFFGGGGGGGGGGGGFFGGGGGGGGFFGGGGGGGGGGGGGGGGFFGGFFGGGGGGGGGGGGGGFFGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGFFFFGGGGGGGGGGFFGGGGGGGGGGFFGGFFGGFFFFGGGGGGGGGGGGGGFFGGGGGGGGFFGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGFFGGGGGGGGGGGGFFFFGGGGGGFFGGGGGGGGGGGGGGFFGGGGFFGGGGGGGGFFGGGGGGGGFFGGFFGGGGGGFFGGGGGGGGFFGGGGGGGGGGFFGGGGFFGGGGFFGGFFGGGGGGGGGGFFFFGGGGGGGGFFGGFFGGGGFFFFGGGGGGGGGGGGGGGGGGGGGGGGGGFFGGGGFFGGGGFFFFFFGGGGFFFFFFGGGGGGFFFFGGFFGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGFFGGGGFFGGGGGGGGGGFFGGFFGGGGGGGGGGGGGGGGFFGGGGGGGGGGGGFFFFFFGGGGGGGGGGGGGGFFGGGGGGFFGGGGFFGGFFGGGGGGGGFFGGGGGGGGGGGGGGGGGGFFGGGGGGFFGGGGGGGGFFFFGGGGGGGGGGGGGGFFGGGGFFGGGGGGGGFFGGFFGGGGGGGGGGGGGGFFGGGGGGFFFFGGGGGGGGGGGGFFGGFFGGGGFFGGGGFFGGFFGGFFGGFFGGGGGGGGGGGGGGFFGGGGGGGGFFGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGFFGGGGGGGGGGGGGGGGFFFFGGGGFFGGGGFFFFFFGGGGGGFFGGGGGGGGGGGGGGFFGGGGGGFFGGGGGGGGGGGGGGFFGGGGGGFFFFGGGGGGGGGGGGFFGGFFGGGGFFGGGGFFGGFFGGFFGGFFGGGGGGGGGGGGGGFFGGGGGGGGFFGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGFFGGGGGGGGGGGGGGGGFFFFGGGGFFGGGGFFFFFFGGGGGGFFGGGGGGGGGGGGGGFFGGGGFFGGGGGGGGFFFFGGGGGGGGGGGGFFGGGGFFFFGGGGGGGGGGGGGGGGFFFFGGGGFFFFGGFFGGGGGGGGFFGGGGGGGGGGFFGGFFGGFFGGGGGGGGGGFFGGGGGGFFGGGGGGFFGGFFGGFFGGGGGGFFFFGGGGGGFFFFGGFFGGFFGGFFGGGGGGGGGGGGFFGGGGFFGGFFFFGGFFGGGGGGGGGGGGGGGGGGGGGGFFFFFFGGGGFFGGGGGGFFGGFFGGGGGGGGGGGGGGFFGGFFGGGGGGGGGGGGGGGGFFGGFFGGGGGGGGGGGGFFGGGGGGFFFFFFGGGGFFGGFFGGGGGGGGGGGGGGFFGGGGFFFFGGGGGGFFGGFFGGFFGGGGGGGGFFGGGGGGFFGGFFGGGGGGGGGGGGGGGGGGFFFFGGGGFFGGGGFFGGFFGGFFGGFFGGGGFFGGFFFFGGFFFFGGGGFFGGFFFFFFFFGGGGGGGGGGFFGGFFFFGGGGGGGGGGGGFFGGGGGGGGFFGGGGFFFFGGFFGGGGGGGGGGGGFFFFGGFFFFGGGGFFFFGGGGGGFFGGFFGGFFGGGGGGGGFFGGGGGGFFGGFFGGGGGGGGGGGGGGGGGGFFFFGGGGFFGGGGFFGGFFGGFFGGFFGGGGFFGGFFFFGGFFFFGGGGFFGGFFFFFFFFGGGGGGGGGGFFGGFFFFFFGGFFGGGGGGFFGGGGGGGGFFGGGGFFFFGGFFGGGGGGGGGGGGFFFFGGFFGGGGGGGGGGFFGGFFFFGGGGGGFFFFGGGGGGGGFFGGFFGGGGGGGGFFFFFFFFFFGGGGGGGGGGGGFFGGFFGGGGGGGGGGFFFFGGFFFFGGFFGGGGGGFFFFGGGGGGGGGGGGFFGGGGGGFFGGFFFFGGGGGGGGFFFFGGFFGGGGFFGGFFFFGGGGFFFFFFGGFFGGGGGGFFGGGGGGFFGGFFGGGGGGGGGGGGGGFFGGFFGGGGGGGGGGGGGGGGGGGGFFGGGGGGGGFFGGFFGGGGFFFFFFGGFFGGFFGGGGGGFFFFGGGGGGGGGGGGFFGGGGFFGGGGGGFFGGFFFFGGGGGGGGGGGGFFGGFFGGFFFFGGGGGGGGGGGGFFGGFFFFGGFFGGFFGGGGFFFFGGGGGGFFGGGGGGGGFFGGGGGGFFGGGGGGGGGGGGFFFFFFFFGGFFGGFFGGFFFFFFGGGGGGGGGGGGGGGGGGFFFFGGGGFFFFGGFFGGGGGGGGGGFFGGFFGGFFFFFFGGGGGGFFFFFFFFGGGGGGFFGGGGGGGGGGGGGGFFGGFFGGGGGGGGFFGGGGFFGGGGGGGGFFFFGGFFGGGGFFFFFFFFFFGGFFGGGGGGGGGGFFGGGGFFGGGGFFFFGGFFGGGGFFGGGGGGFFGGGGGGFFFFFFGGGGFFGGGGGGGGGGFFGGGGGGGGGGGGGGFFGGGGGGFFGGFFGGGGGGFFGGGGFFGGGGGGFFFFFFFFGGGGGGGGGGGGFFGGFFGGFFGGGGGGGGGGFFFFFFGGGGGGGGGGFFGGGGGGGGGGFFGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGFFGGFFGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGFFFFGGGGFFGGGGGGGGGGGGFFGGGGGGGGGGFFGGGGGGGGGGFFGGGGFFGGGGGGGGGGGGGGGGGGGGGGGGGGGGFFGGGGGGGGFFGGGGFFGGGGFFGGFFGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGFFGGGGGGGGFFGGGGGGGGGGFFFFGGGGGGGGGGGGGGFFGGGGGGGGGGGGFFGGGGGGGGGGGGGGGGGGFFGGGGGGGGGGGGGGGGGGFFGGGGGGGGGGGGFFGGGGGGGGFFGGGGGGGGGGFFFFFFGGGGGGGGGGGGFFFFGGGGGGGGFFGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGFFGGGGGGGGGGGGGGFFGGGGGGFFGGGGGGGGGGFFGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGFFGGGGGGGGFFGGGGGGGGFFGGGGGGGGGGGGGGGGFFGGGGGGGGFFGGGGGGGGGGFFGGFFFFFFGGGGGGGGGGGGGGGGGGGGGGFFGGGGGGGGGGGGGGGGGGGGFFGGGGFFGGGGFFGGGGGGGGGGGGGGGGGGGGGGFFGGFFGGGGFFGGGGGGGGGGGGGGFFGGGGGGGGGGGGGGFFGGGGGGGGGGGGFFGGGGGGGGGGGGGGFFGGGGGGGGGGFFFFFFGGGGGGGGGGGGGGFFGGGGGGGGGGGGGGFFFFGGGGFFGGFFGGGGGGFFGGGGGGGGGGGGGGGGGGGGGGGGGGGGFFGGGGGGGGFFFFGGFFGGGGGGGGGGGGGGGGFFGGFFGGFFGGGGGGGGGGGGGGFFGGGGGGGGGGGGGGGGGGFFGGFFGGGGGGGGGGGGGGGGGGGGFFGGGGGGGGFFGGFFGGGGFFFFFFGGFFGGFFGGGGGGFFFFGGGGGGGGGGGGFFGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGFFGGFFGGGGGGGGGGGGGGGGGGFFGGGGFFGGGGGGFFGGGGFFFFGGGGGGFFGGGGGGGGFFGGGGGGFFGGGGGGGGGGGGFFFFGGFFGGFFGGFFGGFFGGGGGGGGGGGGGGGGGGGGGGFFGGGGGGGGFFGGFFGGGGGGGGGGFFGGGGGGGGFFFFGGGGGGFFFFFFFFGGGGGGFFGGGGGGGGGGGGFFGGGGGGFFGGFFGGGGGGGGGGGGGGGGGGGGGGGGGGFFGGFFGGGGGGGGGGGGGGFFGGGGGGGGFFGGFFGGGGGGGGGGGGFFGGGGGGGGFFGGGGGGGGGGGGGGGGFFGGFFGGGGGGGGGGGGGGFFGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGFFFFGGGGGGGGGGFFGGGGGGGGGGFFGGFFGGFFFFGGGGGGGGGGGGGGFFGGGGGGGGFFGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGFFGGGGGGGGGGGGFFFFGGGGGGFFGGGGGGGGGGGGGGFFGGGGFFGGGGGGGGFFGGGGGGGGFFGGFFGGGGGGFFGGGGGGGGFFGGGGGGGGGGFFGGGGFFGGGGFFGGFFGGGGGGGGGGFFFFGGGGGGGGFFGGFFGGGGFFFFGGGGGGGGGGGGGGGGGGGGGGGGGGFFGGGGFFGGGGFFFFFFGGGGFFFFFFGGGGGGFFFFGGFFGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGFFGGGGFFGGGGGGGGGGFFGGFFGGGGGGGGGGGGGGGGFFGGGGGGGGGGGGFFFFFFGGGGGGGGGGGGGGFFGGGGGGFFGGGGFFGGFFGGGGGGGGFFGGGGGGGGGGGGGGGGGGFFGGGGGGFFGGGGGGGGFFFFGGGGGGGGGGGGGGFFGGGGFFGGGGGGGGFFGGFFGGGGGGGGGGGGGGFFGGGGGGFFFFGGGGGGGGGGGGFFGGFFGGGGFFGGGGFFGGFFGGFFGGFFGGGGGGGGGGGGGGFFGGGGGGGGFFGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGFFGGGGGGGGGGGGGGGGFFFFGGGGFFGGGGFFFFFFGGGGGGFFGGGGGGGGGGGGGGFFGGGGGGFFGGGGGGGGGGGGGGFFGGGGGGFFFFGGGGGGGGGGGGFFGGFFGGGGFFGGGGFFGGFFGGFFGGFFGGGGGGGGGGGGGGFFGGGGGGGGFFGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGFFGGGGGGGGGGGGGGGGFFFFGGGGFFGGGGFFFFFFGGGGGGFFGGGGGGGGGGGGGGFFGGGGFFGGGGGGGGFFFFGGGGGGGGGGGGFFGGGGFFFFGGGGGGGGGGGGGGGGFFFFGGGGFFFFGGFFGGGGGGGGFFGGGGGGGGGGFFGGFFGGFFGGGGGGGGGGFFGGGGGGFFGGGGGGFFGGFFGGFFGGGGGGFFFFGGGGGGFFFFGGFFGGFFGGFFGGGGGGGGGGGGFFGGGGFFGGFFFFGGFFGGGGGGGGGGGGGGGGGGGGGGFFFFFFGGGGFFGGGGGGFFGGFFGGGGGGGGGGGGGGFFGGFFGGGGGGGGGGGGGGGGFFGGFFGGGGGGGGGGGGFFGGGGGGFFFFFFGGGGFFGGFFGGGGGGGGGGGGGGFFGGGGFFFFGGGGGGFFGGFFGGFFGGGGGGGGFFGGGGGGFFGGFFGGGGGGGGGGGGGGGGGGFFFFGGGGFFGGGGFFGGFFGGFFGGFFGGGGFFGGFFFFGGFFFFGGGGFFGGFFFFFFFFGGGGGGGGGGFFGGFFFFGGGGGGGGGGGGFFGGGGGGGGFFGGGGFFFFGGFFGGGGGGGGGGGGFFFFGGFFFFGGGGFFFFGGGGGGFFGGFFGGFFGGGGGGGGFFGGGGGGFFGGFFGGGGGGGGGGGGGGGGGGFFFFGGGGFFGGGGFFGGFFGGFFGGFFGGGGFFGGFFFFGGFFFFGGGGFFGGFFFFFFFFGGGGGGGGGGFFGGFFFFFFGGFFGGGGGGFFGGGGGGGGFFGGGGFFFFGGFFGGGGGGGGGGGGFFFFGGFFGGGGGGGGGGFFGGFFFFGGGGGGFFFFGGGGGGGGFFGGFFGGGGGGGGFFFFFFFFFFGGGGGGGGGGGGFFGGFFGGGGGGGGGGFFFFGGFFFFGGFFGGGGGGFFFFGGGGGGGGGGGGFFGGGGGGFFGGFFFFGGGGGGGGFFFFGGFFGGGGFFGGFFFFGGGGFFFFFFGGFFGGGGGGFFGGGGGGFFGGFFGGGGGGGGGGGGGGFFGGFFGGGGGGGGGGGGGGGGGGGGFFGGGGGGGGFFGGFFGGGGFFFFFFGGFFGGFFGGGGGGFFFFGGGGGGGGGGGGFFGGGGFFGGGGGGFFGGFFFFGGGGGGGGGGGGFFGGFFGGFFFFGGGGGGGGGGGGFFGGFFFFGGFFGGFFGGGGFFFFGGGGGGFFGGGGGGGGFFGGGGGGFFGGGGGGGGGGGGFFFFFFFFGGFFGGFFGGFFFFFFGGGGGGGGGGGGGGGGGGFFFFGGGGFFFFGGFFGGGGGGGGGGFFGGFFGGFFFFFFGGGGGGFFFFFFFFGGGGGGFFGGGGGGGGGGGGGGFFGGFFGGGGGGGGFFGGGGFFGGGGGGGGFFFFGGFFGGGGFFFFFFFFFFGGFFGGGGGGGGGGFFGGGGFFGGGGFFFFGGFFGGGGFFGGGGGGFFGGGGGGFFFFFFGGGGFFGGGGGGGGGGFFGGGGGGGGGGGGGGFFGGGGGGFFGGFFGGFFGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGFFGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGFFGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGFFGGGGGGGGGGGGFFGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGFFGGGGGGGGGGGGGGGGGGGGGGFFGGGGGGGGGGGGGGGGGGGGGGGGGGGGFFGGGGGGGGGGGGGGGGGGGGFFGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGFFGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGFFGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGFFGGGGGGFFGGGGGGGGFFGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGFFGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGFFFFGGGGGGGGGGGGGGGGGGGGFFGGGGGGGGGGGGGGGGFFGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGFFGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGFFGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGFFFFGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGFFGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGFFGGGGFFGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGFFGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGFFGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGFFGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGFFGGGGGGGGGGGGGGFFGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGFFGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGFFGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGFFGGGGGGGGGGGGGGFFGGGGGGGGFFGGGGFFGGGGGGGGFFGGGGGGGGGGGGGGGGGGGGGGGGGGFFGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGFFGGGGGGGGGGFFGGGGGGFFGGGGGGGGGGFFGGGGGGGGGGFFFFGGGGGGGGFFGGGGGGGGGGFFGGGGGGGGGGGGFFGGGGFFGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGFFFFGGGGFFGGGGGGGGGGFFGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGFFGGGGGGFFFFGGGGGGFFGGFFGGGGGGGGGGGGGGFFGGGGGGFFGGGGGGGGGGFFGGFFGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGFFFFGGGGFFGGGGFFGGFFGGFFGGFFGGGGFFGGFFGGGGFFGGGGGGGGGGFFFFFFFFGGGGGGGGGGGGGGGGFFGGGGGGGGGGGGFFGGGGGGGGGGGGGGGGFFGGFFGGGGGGGGGGGGGGFFGGGGGGGGGGGGGGFFGGGGGGGGGGGGFFGGGGGGGGGGGGGGGGGGGGGGGGGGFFFFFFGGGGGGGGGGGGGGFFGGGGGGGGGGGGGGFFFFGGGGFFGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGFFGGGGGGGGGGFFGGFFGGGGGGGGGGGGGGGGFFGGFFGGFFGGGGGGGGGGGGGGFFGGGGGGGGGGGGGGFFGGGGGGGGGGGGFFGGGGGGGGGGGGGGGGGGGGGGGGGGFFFFFFGGGGGGGGGGGGGGFFGGGGGGGGGGGGGGFFFFGGGGFFGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGFFGGGGGGGGGGFFGGFFGGGGGGGGGGGGGGGGFFGGFFGGFFGGGGGGGGGGGGGGFFGGGGGGGGGGGGGGGGGGFFGGFFGGGGGGGGGGGGGGGGGGGGFFGGGGGGGGFFGGFFGGGGFFFFGGGGFFGGGGGGGGGGGGGGGGGGGGGGGGGGFFGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGFFGGFFGGGGGGGGGGGGGGGGGGFFGGGGGGGGGGGGFFGGGGFFFFGGGGGGFFGGGGGGGGFFGGGGGGFFGGGGGGGGGGGGFFFFGGFFGGFFGGGGGGFFGGGGGGGGGGGGGGGGGGGGGGFFGGGGGGGGFFGGFFGGGGGGGGGGFFGGGGGGGGFFFFGGGGGGGGFFFFGGGGGGGGFFGGGGGGGGGGGGFFGGGGGGFFGGFFGGGGGGGGGGGGGGGGGGGGGGGGGGFFGGFFGGGGGGGGGGGGGGFFGGGGGGGGFFGGFFGGGGGGGGGGGGFFGGGGGGGGFFGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGFFGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGFFFFGGGGGGGGFFGGGGFFGGGGGGGGGGGGFFGGGGGGFFGGFFGGGGGGGGGGGGGGGGGGGGGGGGGGFFGGFFGGGGGGGGGGGGGGFFGGGGGGGGFFGGFFGGGGGGGGGGGGFFGGGGGGGGFFGGGGGGGGGGGGGGGGFFGGFFGGGGGGGGGGGGGGFFGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGFFFFGGGGGGGGFFGGGGFFGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGFFFFGGGGGGGGGGGGGGGGFFGGFFGGFFGGGGGGGGGGGGFFGGGGGGGGGGFFGGGGGGGGFFGGGGGGGGGGGGGGGGGGGGGGGGGGGGFFGGFFFFGGGGGGGGGGGGGGFFGGGGGGGGFFGGGGGGGGFFGGGGGGGGGGFFGGGGGGGGFFGGGGGGGGGGGGGGFFGGGGFFFFGGGGGGGGGGGGGGGGGGGGGGGGGGFFGGGGGGGGGGGGFFFFFFFFGGGGFFGGGGGGGGGGFFFFGGGGGGGGGGFFGGGGGGFFFFGGFFGGGGFFGGGGGGFFGGFFGGGGGGGGFFGGGGGGGGFFFFFFGGGGGGGGGGFFGGGGGGGGFFGGGGGGGGGGGGGGGGGGFFFFGGFFGGGGFFGGFFFFFFGGFFGGGGGGFFGGGGFFGGFFGGGGGGGGGGGGFFGGGGGGFFGGGGFFGGGGGGGGGGGGGGGGGGFFGGFFFFGGGGGGGGGGGGFFGGGGGGGGGGGGFFGGGGGGGGGGFFGGGGFFGGGGGGGGGGGGGGGGFFGGGGFFFFFFGGFFFFGGFFGGGGGGGGGGGGGGGGGGGGGGFFGGFFGGFFFFGGFFGGGGGGGGGGGGGGFFFFGGFFFFGGFFGGGGFFGGGGGGFFGGGGGGFFGGGGGGGGGGGGFFGGGGGGGGGGGGFFGGFFGGGGGGGGFFGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGFFGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGFFGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGFFGGGGGGGGGGGGFFGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGFFGGGGGGGGGGGGGGGGGGGGGGFFGGGGGGGGGGGGGGGGGGGGGGGGGGGGFFGGGGGGGGGGGGGGGGGGGGFFGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGFFGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGFFGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGFFGGGGGGFFGGGGGGGGFFGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGFFGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGFFFFGGGGGGGGGGGGGGGGGGGGFFGGGGGGGGGGGGGGGGFFGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGFFGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGFFGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGFFFFGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGFFGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGFFGGGGFFGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGFFGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGFFGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGFFGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGFFGGGGGGGGGGGGGGFFGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGFFGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGFFGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGFFGGGGGGGGGGGGGGFFGGGGGGGGFFGGGGFFGGGGGGGGFFGGGGGGGGGGGGGGGGGGGGGGGGGGFFGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGFFGGGGGGGGGGFFGGGGGGFFGGGGGGGGGGFFGGGGGGGGGGFFFFGGGGGGGGFFGGGGGGGGGGFFGGGGGGGGGGGGFFGGGGFFGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGFFFFGGGGFFGGGGGGGGGGFFGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGFFGGGGGGFFFFGGGGGGFFGGFFGGGGGGGGGGGGGGFFGGGGGGFFGGGGGGGGGGFFGGFFGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGFFFFGGGGFFGGGGFFGGFFGGFFGGFFGGGGFFGGFFGGGGFFGGGGGGGGGGFFFFFFFFGGGGGGGGGGGGGGGGFFGGGGGGGGGGGGFFGGGGGGGGGGGGGGGGFFGGFFGGGGGGGGGGGGGGFFGGGGGGGGGGGGGGFFGGGGGGGGGGGGFFGGGGGGGGGGGGGGGGGGGGGGGGGGFFFFFFGGGGGGGGGGGGGGFFGGGGGGGGGGGGGGFFFFGGGGFFGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGFFGGGGGGGGGGFFGGFFGGGGGGGGGGGGGGGGFFGGFFGGFFGGGGGGGGGGGGGGFFGGGGGGGGGGGGGGFFGGGGGGGGGGGGFFGGGGGGGGGGGGGGGGGGGGGGGGGGFFFFFFGGGGGGGGGGGGGGFFGGGGGGGGGGGGGGFFFFGGGGFFGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGFFGGGGGGGGGGFFGGFFGGGGGGGGGGGGGGGGFFGGFFGGFFGGGGGGGGGGGGGGFFGGGGGGGGGGGGGGGGGGFFGGFFGGGGGGGGGGGGGGGGGGGGFFGGGGGGGGFFGGFFGGGGFFFFGGGGFFGGGGGGGGGGGGGGGGGGGGGGGGGGFFGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGFFGGFFGGGGGGGGGGGGGGGGGGFFGGGGGGGGGGGGFFGGGGFFFFGGGGGGFFGGGGGGGGFFGGGGGGFFGGGGGGGGGGGGFFFFGGFFGGFFGGGGGGFFGGGGGGGGGGGGGGGGGGGGGGFFGGGGGGGGFFGGFFGGGGGGGGGGFFGGGGGGGGFFFFGGGGGGGGFFFFGGGGGGGGFFGGGGGGGGGGGGFFGGGGGGFFGGFFGGGGGGGGGGGGGGGGGGGGGGGGGGFFGGFFGGGGGGGGGGGGGGFFGGGGGGGGFFGGFFGGGGGGGGGGGGFFGGGGGGGGFFGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGFFGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGFFFFGGGGGGGGFFGGGGFFGGGGGGGGGGGGFFGGGGGGFFGGFFGGGGGGGGGGGGGGGGGGGGGGGGGGFFGGFFGGGGGGGGGGGGGGFFGGGGGGGGFFGGFFGGGGGGGGGGGGFFGGGGGGGGFFGGGGGGGGGGGGGGGGFFGGFFGGGGGGGGGGGGGGFFGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGFFFFGGGGGGGGFFGGGGFFGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGFFFFGGGGGGGGGGGGGGGGFFGGFFGGFFGGGGGGGGGGGGFFGGGGGGGGGGFFGGGGGGGGFFGGGGGGGGGGGGGGGGGGGGGGGGGGGGFFGGFFFFGGGGGGGGGGGGGGFFGGGGGGGGFFGGGGGGGGFFGGGGGGGGGGFFGGGGGGGGFFGGGGGGGGGGGGGGFFGGGGFFFFGGGGGGGGGGGGGGGGGGGGGGGGGGFFGGGGGGGGGGGGFFFFFFFFGGGGFFGGGGGGGGGGFFFFGGGGGGGGGGFFGGGGGGFFFFGGFFGGGGFFGGGGGGFFGGFFGGGGGGGGFFGGGGGGGGFFFFFFGGGGGGGGGGFFGGGGGGGGFFGGGGGGGGGGGGGGGGGGFFFFGGFFGGGGFFGGFFFFFFGGFFGGGGGGFFGGGGFFGGFFGGGGGGGGGGGGFFGGGGGGFFGGGGFFGGGGGGGGGGGGGGGGGGFFGGFFFFGGGGGGGGGGGGFFGGGGGGGGGGGGFFGGGGGGGGGGFFGGGGFFGGGGGGGGGGGGGGGGFFGGGGFFFFFFGGFFFFGGFFGGGGGGGGGGGGGGGGGGGGGGFFGGFFGGFFFFGGFFGGGGGGGGGGGGGGFFFFGGFFFFGGFFGGGGFFGGGGGGFFGGGGGGFFGGGGGGGGGGGGFFGGGGGGGGGGGGFFGGFFGGGGGGGGFFGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGFFGGGGGGGGGGGGGGGGGGGGGGFFGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGFFFFGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGFFGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGFFGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGFFGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGFFGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGFFGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGFFGGGGGGGGGGGGGGGGGGGGGGGGFFGGGGGGGGGGGGGGFFGGFFGGGGGGGGGGFFGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGFFGGGGGGGGGGGGGGGGGGGGGGGGFFGGGGGGGGGGGGGGFFGGFFGGGGGGGGGGFFGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGFFGGGGGGGGGGGGFFFFGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGFFGGFFGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGFFGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGFFGGGGGGGGFFGGGGFFGGGGFFGGGGGGGGGGGGFFGGFFGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGFFGGFFGGGGGGGGGGFFGGGGGGGGGGGGFFGGGGGGGGGGGGGGFFGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGFFGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGFFGGGGGGGGFFGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGFFGGGGGGFFGGGGGGGGFFGGGGGGGGGGFFGGFFGGGGGGGGGGGGGGGGGGGGGGFFGGGGGGGGGGGGGGGGGGGGGGFFGGGGGGGGGGGGGGGGFFGGGGGGFFGGFFGGGGGGGGGGGGGGGGGGGGGGGGFFGGGGGGFFGGGGGGGGGGGGGGGGGGFFGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGFFGGGGGGGGGGGGGGGGGGGGGGFFGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGFFFFGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGFFGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGFFGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGFFGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGFFGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGFFGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGFFGGGGGGGGGGGGGGGGGGGGGGGGFFGGGGGGGGGGGGGGFFGGGGGGGGGGGGGGFFGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGFFGGGGGGGGGGGGGGGGGGGGGGGGFFGGGGGGGGGGGGGGFFGGGGGGGGGGGGGGFFGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGFFGGGGGGGGGGGGFFFFGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGFFGGFFGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGFFGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGFFGGGGGGGGFFGGGGFFGGGGFFGGGGGGGGGGGGFFGGFFGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGFFGGFFGGGGGGGGGGFFGGGGGGGGGGGGFFGGGGGGGGGGGGGGFFGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGFFGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGFFGGGGGGGGFFGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGFFGGGGGGFFGGGGGGGGFFGGGGGGGGGGFFGGFFGGGGGGGGGGGGGGGGGGGGGGFFGGGGGGGGGGGGGGGGGGGGGGFFGGGGGGGGGGGGGGGGFFGGGGGGFFGGFFGGGGGGGGGGGGGGGGGGGGGGGGFFGGGGGGFFGGGGGGGGGGGGGGGGGGFFGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGHHGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGHHGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGHHGGGGGGGGGGHHGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGHHGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGHHGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGHHGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGHHGGGGGGGGGGHHGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGHHGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGHHGGHHGGGGGGGGHHGGHHGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGHHGGGGGGGGGGHHGGGGGGHHGGGGGGGGGGGGHHGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGHHGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGHHGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGHHGGGGGGGGGGGGGGGGGGGGHHGGGGGGGGGGGGGGHHGGGGGGGGHHGGGGGGGGGGGGGGGGHHGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGHHGGGGGGGGGGGGGGGGGGGGGGGGGGGGHHGGGGGGHHGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGHHGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGHHGGGGGGGGGGGGGGGGGGGGGGGGGGGGHHGGGGGGGGGGGGHHGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGHHGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGHHGGGGGGGGGGGGGGGGGGGGGGGGGGGGHHGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGHHGGGGGGGGGGGGGGGGGGGGGGHHGGGGGGGGGGGGGGGGGGGGGGGGGGGGHHGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGHHGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGHHGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGHHGGGGGGGGGGGGGGGGGGGGGGGGGGHHGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGHHGGGGGGGGGGGGHHGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGHHGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGHHGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGHHGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGHHGGGGGGHHGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGHHGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGHHGGHHGGGGGGGGGGHHGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGHHGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGHHGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGHHGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGHHGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGHHGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGHHGGHHGGGGGGGGHHGGHHGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGHHGGGGGGGGGGHHGGGGGGHHGGGGGGGGGGGGHHGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGHHGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGHHGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGHHGGGGGGGGGGGGGGGGGGGGHHGGGGGGGGGGGGGGHHGGGGGGGGHHGGGGGGGGGGGGGGGGHHGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGHHGGGGGGGGGGGGGGGGGGGGGGGGGGGGHHGGGGGGHHGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGHHGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGHHGGGGGGGGGGGGGGGGGGGGGGGGGGGGHHGGGGGGGGGGGGHHGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGHHGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGHHGGGGGGGGGGGGGGGGGGGGGGGGGGGGHHGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGHHGGGGGGGGGGGGGGGGGGGGGGHHGGGGGGGGGGGGGGGGGGGGGGGGGGGGHHGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGHHGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGHHGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGHHGGGGGGGGGGGGGGGGGGGGGGGGGGHHGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGHHGGGGGGGGGGGGHHGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGHHGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGHHGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGHHGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGHHGGGGGGHHGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGHHGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGHHGGHHGGGGGGGGGGHHGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGHHGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGHHGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGHHGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGHHGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGHHGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGHHGGGGGGGGGGGGGGHHGGGGGGGGGGGGGGHHGGGGGGGGGGGGGGGGGGGGGGHHGGGGGGGGGGGGGGGGGGGGHHGGHHGGGGGGGGGGGGGGGGGGGGGGGGHHHHGGGGGGGGGGGGGGHHGGHHGGGGGGGGHHGGGGGGGGHHGGGGHHGGGGGGGGGGGGGGGGGGGGGGGGHHHHGGGGGGGGGGGGGGGGGGGGHHHHGGGGGGGGGGGGHHGGGGGGGGGGGGHHGGGGGGGGGGGGGGHHGGGGGGGGHHGGGGGGGGGGGGHHGGGGGGGGGGGGHHGGGGGGGGGGGGGGGGHHGGHHGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGHHGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGHHGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGHHGGGGGGHHGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGHHGGGGGGGGGGGGGGHHGGGGHHGGGGGGGGHHGGGGHHGGGGGGGGGGGGGGGGGGGGGGGGHHGGGGGGGGGGHHGGGGGGGGGGGGGGGGGGGGGGGGGGGGHHGGGGHHGGGGGGGGGGGGHHGGGGHHGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGHHGGHHGGGGGGGGGGGGGGHHGGGGGGHHGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGHHGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGHHGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGHHGGGGGGGGGGGGGGGGGGGGGGGGGGHHGGGGGGHHHHGGGGGGGGGGHHGGGGGGGGGGGGHHGGGGHHGGGGGGGGGGGGGGGGGGHHGGGGHHGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGHHGGGGGGGGGGHHGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGHHHHGGGGGGHHGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGHHGGGGGGGGGGGGGGGGGGGGHHGGGGGGGGHHGGGGGGGGGGGGGGGGGGHHGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGHHGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGHHGGHHHHGGGGGGHHGGGGGGGGGGGGGGGGGGGGGGGGGGHHGGGGGGGGGGGGGGGGGGGGHHGGGGGGGGGGGGGGGGGGGGHHGGHHGGGGGGGGGGGGGGGGGGGGHHGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGHHGGGGGGGGHHGGGGHHGGHHGGGGHHHHGGHHGGGGGGGGGGGGGGGGGGGGHHGGGGGGHHGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGHHGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGHHGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGHHHHHHGGGGHHGGHHGGGGGGHHGGGGGGGGGGGGGGGGGGHHGGGGGGGGGGGGHHGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGHHHHGGGGGGGGGGGGGGGGGGGGHHGGHHGGGGHHGGGGGGGGHHGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGHHGGGGGGGGGGGGGGGGGGGGGGGGGGHHGGGGGGHHGGGGGGGGGGGGGGGGHHGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGHHGGGGGGGGGGGGGGGGGGGGGGHHGGGGGGGGGGGGGGHHGGGGGGHHGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGHHGGGGGGGGGGGGHHGGGGHHGGGGGGGGGGHHGGGGGGGGHHGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGHHGGGGGGHHGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGHHGGGGGGGGGGGGGGGGGGGGGGHHGGGGHHHHGGGGGGGGGGHHGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGHHGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGHHGGGGGGGGGGGGGGGGGGGGGGGGGGGGHHGGHHGGGGGGHHGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGHHHHGGGGGGGGGGGGGGGGGGGGGGGGGGGGHHGGGGGGGGGGGGGGGGGGGGGGGGGGHHGGGGHHGGGGGGGGGGGGGGGGHHGGGGHHGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGHHGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGHHGGGGGGGGGGGGGGGGGGGGGGGGHHGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGHHGGGGGGGGGGGGGGGGGGHHGGGGGGGGGGGGGGGGHHGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGHHHHGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGHHGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGHHGGGGGGGGGGGGHHGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGHHGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGHHGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGHHGGGGGGGGGGGGGGGGGGGGGGHHGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGHHGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGHHGGGGGGGGGGGGGGGGGGGGHHGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGHHGGGGGGGGGGHHGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGHHGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGHHGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGHHGGGGGGGGGGGGGGHHGGGGGGGGGGGGGGHHGGGGGGGGGGGGGGGGGGGGGGHHGGGGGGGGGGGGGGGGGGGGHHGGHHGGGGGGGGGGGGGGGGGGGGGGGGHHHHGGGGGGGGGGGGGGHHGGHHGGGGGGGGHHGGGGGGGGHHGGGGHHGGGGGGGGGGGGGGGGGGGGGGGGHHHHGGGGGGGGGGGGGGGGGGGGHHHHGGGGGGGGGGGGHHGGGGGGGGGGGGHHGGGGGGGGGGGGGGHHGGGGGGGGHHGGGGGGGGGGGGHHGGGGGGGGGGGGHHGGGGGGGGGGGGGGGGHHGGHHGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGHHGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGHHGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGHHGGGGGGHHGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGHHGGGGGGGGGGGGGGHHGGGGHHGGGGGGGGHHGGGGHHGGGGGGGGGGGGGGGGGGGGGGGGHHGGGGGGGGGGHHGGGGGGGGGGGGGGGGGGGGGGGGGGGGHHGGGGHHGGGGGGGGGGGGHHGGGGHHGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGHHGGHHGGGGGGGGGGGGGGHHGGGGGGHHGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGHHGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGHHGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGHHGGGGGGGGGGGGGGGGGGGGGGGGGGHHGGGGGGHHHHGGGGGGGGGGHHGGGGGGGGGGGGHHGGGGHHGGGGGGGGGGGGGGGGGGHHGGGGHHGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGHHGGGGGGGGGGHHGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGHHHHGGGGGGHHGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGHHGGGGGGGGGGGGGGGGGGGGHHGGGGGGGGHHGGGGGGGGGGGGGGGGGGHHGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGHHGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGHHGGHHHHGGGGGGHHGGGGGGGGGGGGGGGGGGGGGGGGGGHHGGGGGGGGGGGGGGGGGGGGHHGGGGGGGGGGGGGGGGGGGGHHGGHHGGGGGGGGGGGGGGGGGGGGHHGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGHHGGGGGGGGHHGGGGHHGGHHGGGGHHHHGGHHGGGGGGGGGGGGGGGGGGGGHHGGGGGGHHGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGHHGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGHHGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGHHHHHHGGGGHHGGHHGGGGGGHHGGGGGGGGGGGGGGGGGGHHGGGGGGGGGGGGHHGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGHHHHGGGGGGGGGGGGGGGGGGGGHHGGHHGGGGHHGGGGGGGGHHGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGHHGGGGGGGGGGGGGGGGGGGGGGGGGGHHGGGGGGHHGGGGGGGGGGGGGGGGHHGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGHHGGGGGGGGGGGGGGGGGGGGGGHHGGGGGGGGGGGGGGHHGGGGGGHHGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGHHGGGGGGGGGGGGHHGGGGHHGGGGGGGGGGHHGGGGGGGGHHGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGHHGGGGGGHHGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGHHGGGGGGGGGGGGGGGGGGGGGGHHGGGGHHHHGGGGGGGGGGHHGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGHHGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGHHGGGGGGGGGGGGGGGGGGGGGGGGGGGGHHGGHHGGGGGGHHGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGHHHHGGGGGGGGGGGGGGGGGGGGGGGGGGGGHHGGGGGGGGGGGGGGGGGGGGGGGGGGHHGGGGHHGGGGGGGGGGGGGGGGHHGGGGHHGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGHHGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGHHGGGGGGGGGGGGGGGGGGGGGGGGHHGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGHHGGGGGGGGGGGGGGGGGGHHGGGGGGGGGGGGGGGGHHGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGHHHHGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGHHGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGHHGGGGGGGGGGGGHHGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGHHGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGHHGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGHHGGGGGGGGGGGGGGGGGGGGGGHHGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGHHGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGHHGGGGGGGGGGGGGGGGGGGGHHGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGHHGGGGGGGGGGHHGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGHHGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGHHGGGGGGGGGGHHGGGGHHGGGGGGGGGGGGGGHHGGHHHHGGGGGGHHHHGGGGHHHHHHGGGGHHHHGGGGHHHHGGHHGGHHHHHHHHGGGGGGGGGGGGGGGGHHGGGGGGGGGGGGGGHHGGGGGGGGGGGGHHGGHHHHGGGGGGGGGGGGGGHHGGHHGGHHHHGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGHHGGHHHHGGHHHHGGGGGGGGGGHHGGGGGGGGGGGGGGGGHHHHHHHHGGHHGGGGHHGGHHGGHHGGGGGGGGHHGGGGGGGGGGHHGGGGGGGGGGGGGGHHHHGGGGGGGGGGGGGGGGGGGGHHHHGGGGGGGGGGGGGGGGGGGGHHGGGGGGHHGGGGGGGGGGGGHHGGHHHHGGGGGGGGHHHHHHGGGGGGGGGGGGGGGGGGGGHHHHGGGGGGHHHHGGHHGGGGHHGGGGGGGGGGGGHHHHHHHHHHHHGGHHHHGGHHGGHHGGGGGGGGGGGGHHHHGGGGGGGGGGHHHHGGGGGGGGGGGGHHHHGGGGGGHHGGHHGGGGHHGGGGGGGGGGHHHHGGHHGGGGGGHHGGHHHHHHHHGGHHHHGGGGGGGGGGGGGGHHGGGGHHGGHHGGGGGGGGGGGGHHGGGGHHGGGGHHGGGGGGGGGGHHGGHHGGHHGGGGGGGGGGGGHHGGGGGGHHGGGGGGGGHHGGHHGGGGGGHHGGHHGGGGGGGGGGGGGGGGHHGGGGGGHHGGGGGGGGHHGGGGGGGGGGGGGGGGHHGGHHGGGGHHGGHHGGGGGGHHHHGGGGGGGGGGGGHHHHGGGGGGGGHHGGGGGGGGGGHHGGGGGGHHGGGGGGGGGGHHGGGGGGGGGGGGGGGGGGGGHHGGGGGGHHGGHHHHGGGGGGGGHHHHHHGGGGGGGGGGGGGGGGGGHHGGGGGGGGGGGGGGGGGGGGGGGGGGHHGGGGGGGGGGHHGGHHGGGGHHGGHHHHGGGGGGGGGGGGGGGGGGHHHHGGGGHHHHGGGGGGGGGGGGGGGGGGHHGGGGGGGGGGGGGGGGGGGGHHGGGGGGGGGGGGGGHHGGGGGGHHGGGGGGGGHHGGGGGGHHGGGGHHGGGGGGGGGGGGGGHHGGHHGGGGGGHHGGGGHHGGGGGGGGGGGGHHGGGGGGGGGGHHHHGGGGGGGGHHHHHHGGGGHHGGGGGGHHGGGGGGGGHHHHGGGGGGGGGGGGHHGGGGHHGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGHHGGGGHHHHHHGGHHGGGGGGGGGGHHGGHHGGGGGGGGGGGGGGHHHHGGGGGGGGHHGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGHHGGHHHHHHGGGGGGGGGGGGGGGGGGGGGGGGHHGGGGHHGGGGGGGGGGGGHHGGGGGGGGGGGGGGHHGGGGGGGGGGHHGGGGGGGGGGGGGGHHGGGGGGHHGGHHGGGGGGGGGGGGGGGGGGGGGGHHGGHHGGGGGGGGGGGGGGGGGGGGGGGGHHHHGGGGGGGGHHGGHHGGGGGGGGHHGGGGGGGGGGGGGGHHGGGGGGGGGGGGGGHHGGGGGGHHGGHHGGHHGGGGGGGGGGGGGGGGGGGGGGGGHHGGGGGGGGGGGGGGGGGGHHGGGGGGGGGGGGGGGGHHHHGGGGGGGGHHGGGGGGHHGGGGGGGGGGGGGGHHGGGGGGGGGGGGGGGGHHGGGGGGGGGGHHGGGGHHHHGGGGGGGGGGGGGGGGGGHHGGHHGGGGGGHHHHGGHHGGHHGGGGGGHHGGGGHHGGGGGGGGGGGGGGGGGGGGGGGGHHHHGGGGGGGGGGGGGGHHHHGGGGHHGGGGGGHHHHGGGGGGHHHHGGGGHHGGGGGGGGGGGGGGGGGGGGGGGGHHGGHHGGGGGGGGGGHHGGGGHHHHGGGGGGGGGGGGGGGGGGHHGGGGHHGGGGGGGGHHGGHHGGHHGGGGHHHHGGHHGGGGGGHHGGGGGGGGGGGGGGGGGGGGGGGGGGGGHHGGGGGGGGHHGGGGGGGGGGGGGGGGGGGGGGGGGGGGHHHHHHHHGGGGGGGGGGHHGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGHHGGGGGGGGGGGGGGGGGGGGGGGGGGHHGGGGGGGGGGGGGGHHGGHHGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGHHGGGGGGGGGGGGGGGGHHGGGGGGGGGGGGGGGGGGGGGGGGGGGGHHGGHHGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGHHGGGGGGGGGGGGGGGGGGGGHHGGGGGGGGGGGGGGHHGGGGGGGGGGHHGGGGGGGGGGGGGGGGGGHHHHGGGGHHGGGGGGGGGGHHGGGGGGGGGGGGGGHHGGGGHHGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGHHGGGGGGGGGGGGGGHHGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGHHGGGGGGGGGGGGGGGGGGHHGGGGGGGGGGGGGGGGHHGGGGGGGGGGGGGGGGGGGGGGGGGGGGHHGGGGGGGGGGGGHHGGGGHHGGGGGGHHHHGGGGGGGGGGGGGGGGHHHHGGGGGGGGGGGGGGGGGGGGGGHHGGGGGGGGGGGGGGGGGGGGGGGGGGHHGGHHGGGGHHGGGGGGGGGGHHGGGGGGGGGGHHGGGGGGGGGGHHGGGGGGHHGGGGGGHHGGGGGGGGGGGGGGHHGGGGGGGGGGHHGGGGGGGGGGGGGGGGHHGGGGGGGGGGGGGGGGGGGGGGGGHHGGGGGGGGGGGGGGGGGGGGGGGGGGGGHHGGGGHHHHGGGGGGGGGGGGGGGGGGGGGGGGHHGGGGGGHHGGHHGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGHHGGGGGGGGGGGGGGGGGGGGHHGGHHHHGGGGGGGGGGHHGGGGGGGGGGGGGGGGGGGGGGHHGGGGGGGGGGGGGGGGGGHHGGGGGGGGGGGGGGGGGGGGGGHHHHGGGGGGGGHHGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGHHGGGGGGGGGGHHGGGGGGGGGGHHHHGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGHHGGGGGGGGGGGGGGGGGGGGGGGGGGHHGGGGGGHHHHGGGGGGGGGGGGGGGGGGGGHHGGGGGGHHGGGGGGGGGGHHGGHHGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGHHGGGGGGGGGGGGGGGGGGGGHHGGGGGGGGHHGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGHHGGGGGGHHGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGHHHHGGGGHHGGGGGGHHGGGGGGGGGGHHHHGGGGGGGGGGGGGGGGGGGGGGHHGGGGGGGGGGGGGGHHGGGGGGGGGGGGGGGGGGGGHHHHGGGGGGHHGGGGGGGGGGGGGGGGGGGGGGGGGGHHGGGGGGGGGGGGGGGGHHGGGGGGGGGGGGGGGGHHGGGGGGGGHHGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGHHGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGHHHHGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGHHGGGGGGGGGGHHHHGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGHHGGGGGGGGGGGGGGGGGGGGGGGGHHGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGHHGGGGGGGGGGGGHHHHHHGGGGGGHHGGGGGGGGGGHHGGHHHHGGGGHHGGGGGGGGGGGGGGHHGGHHHHGGGGGGHHHHGGGGHHHHHHGGGGHHHHGGGGHHHHGGHHGGHHHHHHHHGGGGGGGGGGGGGGGGHHGGGGGGGGGGGGGGHHGGGGGGGGGGGGHHGGHHHHGGGGGGGGGGGGGGHHGGHHGGHHHHGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGHHGGHHHHGGHHHHGGGGGGGGGGHHGGGGGGGGGGGGGGGGHHHHHHHHGGHHGGGGHHGGHHGGHHGGGGGGGGHHGGGGGGGGGGHHGGGGGGGGGGGGGGHHHHGGGGGGGGGGGGGGGGGGGGHHHHGGGGGGGGGGGGGGGGGGGGHHGGGGGGHHGGGGGGGGGGGGHHGGHHHHGGGGGGGGHHHHHHGGGGGGGGGGGGGGGGGGGGHHHHGGGGGGHHHHGGHHGGGGHHGGGGGGGGGGGGHHHHHHHHHHHHGGHHHHGGHHGGHHGGGGGGGGGGGGHHHHGGGGGGGGGGHHHHGGGGGGGGGGGGHHHHGGGGGGHHGGHHGGGGHHGGGGGGGGGGHHHHGGHHGGGGGGHHGGHHHHHHHHGGHHHHGGGGGGGGGGGGGGHHGGGGHHGGHHGGGGGGGGGGGGHHGGGGHHGGGGHHGGGGGGGGGGHHGGHHGGHHGGGGGGGGGGGGHHGGGGGGHHGGGGGGGGHHGGHHGGGGGGHHGGHHGGGGGGGGGGGGGGGGHHGGGGGGHHGGGGGGGGHHGGGGGGGGGGGGGGGGHHGGHHGGGGHHGGHHGGGGGGHHHHGGGGGGGGGGGGHHHHGGGGGGGGHHGGGGGGGGGGHHGGGGGGHHGGGGGGGGGGHHGGGGGGGGGGGGGGGGGGGGHHGGGGGGHHGGHHHHGGGGGGGGHHHHHHGGGGGGGGGGGGGGGGGGHHGGGGGGGGGGGGGGGGGGGGGGGGGGHHGGGGGGGGGGHHGGHHGGGGHHGGHHHHGGGGGGGGGGGGGGGGGGHHHHGGGGHHHHGGGGGGGGGGGGGGGGGGHHGGGGGGGGGGGGGGGGGGGGHHGGGGGGGGGGGGGGHHGGGGGGHHGGGGGGGGHHGGGGGGHHGGGGHHGGGGGGGGGGGGGGHHGGHHGGGGGGHHGGGGHHGGGGGGGGGGGGHHGGGGGGGGGGHHHHGGGGGGGGHHHHHHGGGGHHGGGGGGHHGGGGGGGGHHHHGGGGGGGGGGGGHHGGGGHHGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGHHGGGGHHHHHHGGHHGGGGGGGGGGHHGGHHGGGGGGGGGGGGGGHHHHGGGGGGGGHHGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGHHGGHHHHHHGGGGGGGGGGGGGGGGGGGGGGGGHHGGGGHHGGGGGGGGGGGGHHGGGGGGGGGGGGGGHHGGGGGGGGGGHHGGGGGGGGGGGGGGHHGGGGGGHHGGHHGGGGGGGGGGGGGGGGGGGGGGHHGGHHGGGGGGGGGGGGGGGGGGGGGGGGHHHHGGGGGGGGHHGGHHGGGGGGGGHHGGGGGGGGGGGGGGHHGGGGGGGGGGGGGGHHGGGGGGHHGGHHGGHHGGGGGGGGGGGGGGGGGGGGGGGGHHGGGGGGGGGGGGGGGGGGHHGGGGGGGGGGGGGGGGHHHHGGGGGGGGHHGGGGGGHHGGGGGGGGGGGGGGHHGGGGGGGGGGGGGGGGHHGGGGGGGGGGHHGGGGHHHHGGGGGGGGGGGGGGGGGGHHGGHHGGGGGGHHHHGGHHGGHHGGGGGGHHGGGGHHGGGGGGGGGGGGGGGGGGGGGGGGHHHHGGGGGGGGGGGGGGHHHHGGGGHHGGGGGGHHHHGGGGGGHHHHGGGGHHGGGGGGGGGGGGGGGGGGGGGGGGHHGGHHGGGGGGGGGGHHGGGGHHHHGGGGGGGGGGGGGGGGGGHHGGGGHHGGGGGGGGHHGGHHGGHHGGGGHHHHGGHHGGGGGGHHGGGGGGGGGGGGGGGGGGGGGGGGGGGGHHGGGGGGGGHHGGGGGGGGGGGGGGGGGGGGGGGGGGGGHHHHHHHHGGGGGGGGGGHHGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGHHGGGGGGGGGGGGGGGGGGGGGGGGGGHHGGGGGGGGGGGGGGHHGGHHGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGHHGGGGGGGGGGGGGGGGHHGGGGGGGGGGGGGGGGGGGGGGGGGGGGHHGGHHGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGHHGGGGGGGGGGGGGGGGGGGGHHGGGGGGGGGGGGGGHHGGGGGGGGGGHHGGGGGGGGGGGGGGGGGGHHHHGGGGHHGGGGGGGGGGHHGGGGGGGGGGGGGGHHGGGGHHGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGHHGGGGGGGGGGGGGGHHGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGHHGGGGGGGGGGGGGGGGGGHHGGGGGGGGGGGGGGGGHHGGGGGGGGGGGGGGGGGGGGGGGGGGGGHHGGGGGGGGGGGGHHGGGGHHGGGGGGHHHHGGGGGGGGGGGGGGGGHHHHGGGGGGGGGGGGGGGGGGGGGGHHGGGGGGGGGGGGGGGGGGGGGGGGGGHHGGHHGGGGHHGGGGGGGGGGHHGGGGGGGGGGHHGGGGGGGGGGHHGGGGGGHHGGGGGGHHGGGGGGGGGGGGGGHHGGGGGGGGGGHHGGGGGGGGGGGGGGGGHHGGGGGGGGGGGGGGGGGGGGGGGGHHGGGGGGGGGGGGGGGGGGGGGGGGGGGGHHGGGGHHHHGGGGGGGGGGGGGGGGGGGGGGGGHHGGGGGGHHGGHHGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGHHGGGGGGGGGGGGGGGGGGGGHHGGHHHHGGGGGGGGGGHHGGGGGGGGGGGGGGGGGGGGGGHHGGGGGGGGGGGGGGGGGGHHGGGGGGGGGGGGGGGGGGGGGGHHHHGGGGGGGGHHGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGHHGGGGGGGGGGHHGGGGGGGGGGHHHHGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGHHGGGGGGGGGGGGGGGGGGGGGGGGGGHHGGGGGGHHHHGGGGGGGGGGGGGGGGGGGGHHGGGGGGHHGGGGGGGGGGHHGGHHGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGHHGGGGGGGGGGGGGGGGGGGGHHGGGGGGGGHHGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGHHGGGGGGHHGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGHHHHGGGGHHGGGGGGHHGGGGGGGGGGHHHHGGGGGGGGGGGGGGGGGGGGGGHHGGGGGGGGGGGGGGHHGGGGGGGGGGGGGGGGGGGGHHHHGGGGGGHHGGGGGGGGGGGGGGGGGGGGGGGGGGHHGGGGGGGGGGGGGGGGHHGGGGGGGGGGGGGGGGHHGGGGGGGGHHGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGHHGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGHHHHGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGHHGGGGGGGGGGHHHHGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGHHGGGGGGGGGGGGGGGGGGGGGGGGHHGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGHHGGGGGGGGGGGGHHHHHHGGGGGGHHGGGGGGGGGGHHGGHHHHHHGGGGHHHHGGGGGGGGGGGGGGHHHHHHHHHHGGHHGGGGGGHHGGGGGGHHHHGGGGHHHHHHGGHHHHGGHHHHGGHHGGGGGGGGHHGGGGGGGGGGGGGGGGHHGGGGGGGGGGHHGGHHHHHHGGHHGGGGGGHHHHGGHHHHHHHHGGGGHHGGGGGGGGHHGGHHHHGGGGGGGGGGHHHHGGGGGGGGGGGGHHGGGGHHHHGGGGGGHHGGGGGGGGHHGGHHHHHHHHGGGGGGGGGGHHGGGGHHGGGGGGGGGGGGGGGGHHGGHHHHHHGGGGGGGGGGHHGGHHHHHHGGGGGGHHGGHHGGGGGGHHGGGGGGHHHHGGHHGGGGGGGGHHGGHHGGHHGGGGHHGGGGGGGGHHGGHHHHHHGGHHHHHHGGGGGGGGHHHHGGHHGGGGHHGGGGHHHHHHGGHHGGGGHHHHHHGGGGHHGGGGGGHHHHGGGGGGHHHHHHGGGGGGGGGGGGHHGGHHHHGGGGHHGGGGGGGGGGGGGGHHHHGGGGGGGGGGHHHHHHGGGGGGHHGGGGGGGGHHHHHHHHHHGGGGHHHHHHGGGGGGHHGGGGGGGGHHHHHHHHGGGGGGHHGGGGHHGGHHGGGGGGGGHHHHHHHHHHHHHHGGHHHHGGGGGGHHGGGGGGGGGGGGGGHHGGGGGGGGGGHHGGGGHHHHHHGGGGGGGGGGHHHHGGGGHHGGGGHHGGGGHHHHHHGGHHGGGGHHGGGGGGGGGGGGHHGGGGGGGGGGGGHHGGGGGGGGGGGGGGHHGGGGGGGGHHHHHHGGGGGGGGGGGGGGHHHHGGHHGGGGGGHHGGHHGGGGHHGGGGHHGGHHHHGGGGGGGGHHHHGGGGHHHHHHHHHHHHHHGGGGGGGGGGHHHHGGGGGGGGGGGGHHGGGGHHGGGGGGGGGGGGGGGGHHGGHHGGHHHHHHGGGGGGHHHHGGGGGGGGHHGGGGGGGGGGGGGGGGHHGGHHHHGGGGGGGGGGHHHHHHGGGGHHHHGGHHGGHHGGGGHHGGHHHHGGGGGGGGHHHHGGHHGGGGHHGGGGGGHHGGHHGGHHHHGGHHGGGGHHHHGGGGGGGGGGGGGGGGGGGGGGHHGGHHGGGGHHGGGGGGGGGGGGGGGGGGHHHHHHHHHHHHGGHHHHHHGGGGGGGGHHGGGGGGHHHHGGGGGGGGGGGGGGGGGGHHHHGGHHHHGGHHGGGGGGHHHHHHHHHHGGGGGGGGGGGGGGGGGGGGHHGGGGGGGGGGHHGGGGHHHHHHHHGGGGGGHHGGGGHHGGGGGGHHGGGGHHGGHHGGGGHHGGGGHHGGGGGGHHHHGGGGGGHHGGGGGGGGGGGGGGGGGGGGGGGGGGHHGGGGGGGGHHGGGGHHHHGGGGGGGGHHGGHHGGHHGGHHGGHHGGGGGGGGHHHHGGGGGGGGGGGGGGGGGGGGGGGGGGHHGGGGHHHHGGGGGGHHHHGGGGHHGGGGGGGGHHGGHHGGGGGGGGHHGGGGHHGGGGHHGGGGGGGGHHGGGGGGGGGGGGHHGGGGHHGGGGGGGGHHGGHHHHGGGGGGHHHHGGGGGGGGGGGGHHGGGGGGGGGGGGGGGGGGHHGGHHGGGGHHGGGGGGGGGGGGGGGGGGGGGGGGGGHHGGGGHHHHHHGGHHGGGGGGGGHHGGGGHHGGGGHHGGGGGGGGGGHHHHGGGGHHHHHHHHGGGGHHGGHHGGHHHHHHGGHHGGHHGGGGGGGGGGHHGGGGGGHHGGHHGGGGGGGGGGHHGGHHGGGGGGGGHHGGGGHHHHHHHHGGGGGGHHGGGGGGHHGGHHGGHHHHGGHHGGGGGGHHGGHHGGHHHHGGGGGGGGGGHHHHGGHHGGGGHHGGGGGGGGHHHHGGGGGGGGGGGGGGGGGGHHHHGGGGGGGGHHGGHHHHHHHHHHGGHHGGGGGGHHHHHHGGGGHHGGHHGGHHHHGGGGGGHHGGGGGGGGGGGGGGGGHHGGGGHHGGHHGGGGHHGGGGGGHHGGHHGGGGHHHHGGGGGGGGHHGGHHHHGGHHHHGGGGGGHHHHGGGGGGHHGGGGHHGGHHGGGGGGGGGGGGGGGGGGGGGGHHGGGGGGHHGGHHGGHHGGGGHHGGHHGGHHGGGGGGHHHHGGGGGGGGHHGGHHGGGGGGHHHHHHHHGGGGHHHHGGGGHHGGHHHHGGHHGGGGGGGGHHHHGGGGGGGGGGHHGGHHGGHHGGGGGGHHGGGGHHHHHHGGGGHHHHHHGGGGGGHHHHGGGGGGGGGGGGGGGGGGHHHHGGHHGGGGGGGGGGGGGGGGGGGGHHHHHHGGGGHHGGGGGGHHGGGGGGGGGGGGHHGGGGGGGGGGHHHHGGHHGGHHGGGGHHGGHHHHGGGGGGGGGGHHGGHHGGHHGGGGGGGGHHGGGGGGGGGGHHGGHHGGGGGGGGGGHHGGGGHHGGGGGGGGGGGGGGGGGGGGGGGGGGHHHHGGGGGGGGGGHHHHGGGGGGGGGGHHHHGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGHHGGGGHHGGGGGGGGHHHHGGGGGGGGGGGGHHGGHHGGGGGGGGHHHHHHHHGGGGGGHHGGGGGGGGGGGGGGGGHHHHGGHHHHGGGGHHGGGGGGGGGGHHGGGGGGGGGGHHGGGGGGHHGGGGGGGGGGGGGGHHGGGGGGHHHHGGHHGGHHGGGGGGGGGGGGGGGGGGGGHHGGGGGGGGGGGGGGGGGGHHGGGGHHGGGGHHGGGGGGGGHHGGGGHHHHGGGGHHHHHHHHGGGGGGHHGGGGGGGGGGHHGGHHGGGGGGHHHHGGHHGGHHGGGGGGHHHHHHGGGGGGHHGGGGHHGGGGHHGGHHHHGGGGGGGGGGHHGGGGGGGGGGGGGGGGGGGGHHGGGGHHGGGGGGGGGGGGGGHHHHGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGHHGGGGGGHHGGGGGGGGGGGGGGHHGGGGGGGGGGGGGGGGHHGGHHGGGGGGGGGGGGGGGGGGGGHHGGGGGGHHGGGGGGGGGGGGGGGGGGGGHHGGGGGGGGGGHHGGHHGGGGGGGGGGGGHHGGGGGGHHGGGGGGHHGGGGHHGGHHGGGGHHGGGGGGGGGGGGGGGGGGGGGGHHGGGGHHGGGGHHGGGGHHGGGGGGHHGGGGGGGGGGGGGGGGHHHHHHGGGGGGHHGGHHGGGGHHGGHHGGGGGGGGGGGGHHGGGGGGGGGGGGGGHHGGHHHHGGGGGGGGGGHHHHGGGGGGHHHHGGGGGGHHHHGGHHGGGGGGHHHHGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGHHGGGGGGGGGGHHGGGGGGHHGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGHHGGHHGGHHGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGHHHHGGGGGGGGGGGGHHGGGGHHGGGGHHGGGGGGGGGGGGGGHHHHGGHHHHGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGHHGGGGGGGGHHGGGGGGGGGGGGGGGGGGGGGGHHGGGGGGGGGGGGGGGGGGGGGGHHGGGGHHGGGGGGGGHHGGGGHHHHHHGGGGGGGGGGGGGGGGHHGGGGGGGGGGGGHHGGGGGGGGGGGGGGGGGGGGGGGGGGHHGGGGGGHHHHGGGGGGHHHHHHGGGGGGGGGGGGGGGGHHGGGGGGGGGGGGGGGGGGHHGGGGGGGGHHGGGGHHGGGGGGGGGGGGGGGGGGHHHHGGGGGGGGGGGGGGGGGGGGHHGGGGGGGGGGHHGGGGGGGGGGHHGGGGGGGGHHGGGGHHGGGGGGGGGGGGHHGGGGGGGGGGGGHHHHGGGGHHHHGGGGGGGGGGGGGGHHHHHHHHHHGGHHGGGGGGHHGGGGGGHHHHGGGGHHHHHHGGHHHHGGHHHHGGHHGGGGGGGGHHGGGGGGGGGGGGGGGGHHGGGGGGGGGGHHGGHHHHHHGGHHGGGGGGHHHHGGHHHHHHHHGGGGHHGGGGGGGGHHGGHHHHGGGGGGGGGGHHHHGGGGGGGGGGGGHHGGGGHHHHGGGGGGHHGGGGGGGGHHGGHHHHHHHHGGGGGGGGGGHHGGGGHHGGGGGGGGGGGGGGGGHHGGHHHHHHGGGGGGGGGGHHGGHHHHHHGGGGGGHHGGHHGGGGGGHHGGGGGGHHHHGGHHGGGGGGGGHHGGHHGGHHGGGGHHGGGGGGGGHHGGHHHHHHGGHHHHHHGGGGGGGGHHHHGGHHGGGGHHGGGGHHHHHHGGHHGGGGHHHHHHGGGGHHGGGGGGHHHHGGGGGGHHHHHHGGGGGGGGGGGGHHGGHHHHGGGGHHGGGGGGGGGGGGGGHHHHGGGGGGGGGGHHHHHHGGGGGGHHGGGGGGGGHHHHHHHHHHGGGGHHHHHHGGGGGGHHGGGGGGGGHHHHHHHHGGGGGGHHGGGGHHGGHHGGGGGGGGHHHHHHHHHHHHHHGGHHHHGGGGGGHHGGGGGGGGGGGGGGHHGGGGGGGGGGHHGGGGHHHHHHGGGGGGGGGGHHHHGGGGHHGGGGHHGGGGHHHHHHGGHHGGGGHHGGGGGGGGGGGGHHGGGGGGGGGGGGHHGGGGGGGGGGGGGGHHGGGGGGGGHHHHHHGGGGGGGGGGGGGGHHHHGGHHGGGGGGHHGGHHGGGGHHGGGGHHGGHHHHGGGGGGGGHHHHGGGGHHHHHHHHHHHHHHGGGGGGGGGGHHHHGGGGGGGGGGGGHHGGGGHHGGGGGGGGGGGGGGGGHHGGHHGGHHHHHHGGGGGGHHHHGGGGGGGGHHGGGGGGGGGGGGGGGGHHGGHHHHGGGGGGGGGGHHHHHHGGGGHHHHGGHHGGHHGGGGHHGGHHHHGGGGGGGGHHHHGGHHGGGGHHGGGGGGHHGGHHGGHHHHGGHHGGGGHHHHGGGGGGGGGGGGGGGGGGGGGGHHGGHHGGGGHHGGGGGGGGGGGGGGGGGGHHHHHHHHHHHHGGHHHHHHGGGGGGGGHHGGGGGGHHHHGGGGGGGGGGGGGGGGGGHHHHGGHHHHGGHHGGGGGGHHHHHHHHHHGGGGGGGGGGGGGGGGGGGGHHGGGGGGGGGGHHGGGGHHHHHHHHGGGGGGHHGGGGHHGGGGGGHHGGGGHHGGHHGGGGHHGGGGHHGGGGGGHHHHGGGGGGHHGGGGGGGGGGGGGGGGGGGGGGGGGGHHGGGGGGGGHHGGGGHHHHGGGGGGGGHHGGHHGGHHGGHHGGHHGGGGGGGGHHHHGGGGGGGGGGGGGGGGGGGGGGGGGGHHGGGGHHHHGGGGGGHHHHGGGGHHGGGGGGGGHHGGHHGGGGGGGGHHGGGGHHGGGGHHGGGGGGGGHHGGGGGGGGGGGGHHGGGGHHGGGGGGGGHHGGHHHHGGGGGGHHHHGGGGGGGGGGGGHHGGGGGGGGGGGGGGGGGGHHGGHHGGGGHHGGGGGGGGGGGGGGGGGGGGGGGGGGHHGGGGHHHHHHGGHHGGGGGGGGHHGGGGHHGGGGHHGGGGGGGGGGHHHHGGGGHHHHHHHHGGGGHHGGHHGGHHHHHHGGHHGGHHGGGGGGGGGGHHGGGGGGHHGGHHGGGGGGGGGGHHGGHHGGGGGGGGHHGGGGHHHHHHHHGGGGGGHHGGGGGGHHGGHHGGHHHHGGHHGGGGGGHHGGHHGGHHHHGGGGGGGGGGHHHHGGHHGGGGHHGGGGGGGGHHHHGGGGGGGGGGGGGGGGGGHHHHGGGGGGGGHHGGHHHHHHHHHHGGHHGGGGGGHHHHHHGGGGHHGGHHGGHHHHGGGGGGHHGGGGGGGGGGGGGGGGHHGGGGHHGGHHGGGGHHGGGGGGHHGGHHGGGGHHHHGGGGGGGGHHGGHHHHGGHHHHGGGGGGHHHHGGGGGGHHGGGGHHGGHHGGGGGGGGGGGGGGGGGGGGGGHHGGGGGGHHGGHHGGHHGGGGHHGGHHGGHHGGGGGGHHHHGGGGGGGGHHGGHHGGGGGGHHHHHHHHGGGGHHHHGGGGHHGGHHHHGGHHGGGGGGGGHHHHGGGGGGGGGGHHGGHHGGHHGGGGGGHHGGGGHHHHHHGGGGHHHHHHGGGGGGHHHHGGGGGGGGGGGGGGGGGGHHHHGGHHGGGGGGGGGGGGGGGGGGGGHHHHHHGGGGHHGGGGGGHHGGGGGGGGGGGGHHGGGGGGGGGGHHHHGGHHGGHHGGGGHHGGHHHHGGGGGGGGGGHHGGHHGGHHGGGGGGGGHHGGGGGGGGGGHHGGHHGGGGGGGGGGHHGGGGHHGGGGGGGGGGGGGGGGGGGGGGGGGGHHHHGGGGGGGGGGHHHHGGGGGGGGGGHHHHGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGHHGGGGHHGGGGGGGGHHHHGGGGGGGGGGGGHHGGHHGGGGGGGGHHHHHHHHGGGGGGHHGGGGGGGGGGGGGGGGHHHHGGHHHHGGGGHHGGGGGGGGGGHHGGGGGGGGGGHHGGGGGGHHGGGGGGGGGGGGGGHHGGGGGGHHHHGGHHGGHHGGGGGGGGGGGGGGGGGGGGHHGGGGGGGGGGGGGGGGGGHHGGGGHHGGGGHHGGGGGGGGHHGGGGHHHHGGGGHHHHHHHHGGGGGGHHGGGGGGGGGGHHGGHHGGGGGGHHHHGGHHGGHHGGGGGGHHHHHHGGGGGGHHGGGGHHGGGGHHGGHHHHGGGGGGGGGGHHGGGGGGGGGGGGGGGGGGGGHHGGGGHHGGGGGGGGGGGGGGHHHHGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGHHGGGGGGHHGGGGGGGGGGGGGGHHGGGGGGGGGGGGGGGGHHGGHHGGGGGGGGGGGGGGGGGGGGHHGGGGGGHHGGGGGGGGGGGGGGGGGGGGHHGGGGGGGGGGHHGGHHGGGGGGGGGGGGHHGGGGGGHHGGGGGGHHGGGGHHGGHHGGGGHHGGGGGGGGGGGGGGGGGGGGGGHHGGGGHHGGGGHHGGGGHHGGGGGGHHGGGGGGGGGGGGGGGGHHHHHHGGGGGGHHGGHHGGGGHHGGHHGGGGGGGGGGGGHHGGGGGGGGGGGGGGHHGGHHHHGGGGGGGGGGHHHHGGGGGGHHHHGGGGGGHHHHGGHHGGGGGGHHHHGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGHHGGGGGGGGGGHHGGGGGGHHGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGHHGGHHGGHHGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGHHHHGGGGGGGGGGGGHHGGGGHHGGGGHHGGGGGGGGGGGGGGHHHHGGHHHHGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGHHGGGGGGGGHHGGGGGGGGGGGGGGGGGGGGGGHHGGGGGGGGGGGGGGGGGGGGGGHHGGGGHHGGGGGGGGHHGGGGHHHHHHGGGGGGGGGGGGGGGGHHGGGGGGGGGGGGHHGGGGGGGGGGGGGGGGGGGGGGGGGGHHGGGGGGHHHHGGGGGGHHHHHHGGGGGGGGGGGGGGGGHHGGGGGGGGGGGGGGGGGGHHGGGGGGGGHHGGGGHHGGGGGGGGGGGGGGGGGGHHHHGGGGGGGGGGGGGGGGGGGGHHGGGGGGGGGGHHGGGGGGGGGGHHGGGGGGGGHHGGGGHHGGGGGGGGGGGGHHGGGGGGGGGGGGGGHHGGHHGGHHHHHHGGHHHHGGHHGGHHHHHHGGHHHHHHGGGGGGHHHHGGGGHHHHHHHHGGGGGGHHGGHHGGHHHHGGHHGGHHGGHHHHGGHHGGHHGGGGHHHHHHGGHHGGGGHHGGGGHHGGHHHHGGGGHHHHHHHHHHHHHHGGGGHHGGHHHHHHHHHHGGGGHHGGGGHHGGHHGGHHHHGGHHHHHHGGHHGGHHGGGGGGHHGGGGGGGGHHHHGGHHGGHHHHHHHHGGGGHHHHGGHHHHGGGGHHHHHHHHHHHHGGHHHHHHHHHHHHHHHHHHHHHHGGHHGGHHHHGGGGGGHHGGHHGGGGHHHHHHHHGGGGHHGGGGHHHHGGGGHHHHHHHHHHGGGGHHGGGGHHGGHHGGHHHHGGGGHHGGHHHHHHGGHHHHHHGGGGHHHHHHGGHHHHHHHHGGGGHHGGHHHHHHHHHHHHHHHHGGHHHHGGGGHHGGHHHHHHGGGGHHGGHHHHHHHHHHGGGGGGGGGGGGGGHHHHHHHHGGHHGGHHHHHHHHGGHHHHHHHHHHHHHHGGGGHHHHHHGGGGGGGGGGGGHHHHHHGGHHHHHHGGHHGGHHGGHHHHHHGGHHHHGGHHHHHHHHGGHHHHHHGGHHHHHHHHGGHHHHHHHHGGHHHHGGGGHHGGHHHHHHHHHHHHHHGGHHHHGGHHHHHHGGHHHHHHGGHHGGHHHHGGHHHHHHGGGGGGGGHHHHGGHHGGHHGGHHGGHHHHHHGGGGGGGGHHHHGGGGHHHHGGHHHHGGGGHHGGGGGGHHGGHHHHGGGGHHGGGGGGGGGGHHHHGGGGGGHHGGHHGGGGGGGGHHGGGGHHGGGGGGGGHHHHGGGGGGGGGGGGGGHHHHHHHHGGGGGGGGHHGGGGHHGGGGGGHHHHHHHHHHHHHHGGHHHHHHHHGGHHGGGGHHHHHHHHGGHHGGHHGGHHGGHHGGHHGGHHGGHHHHGGHHHHHHHHHHHHGGHHHHHHHHGGHHGGGGHHGGHHHHHHHHGGGGHHHHHHGGHHHHHHHHGGHHHHGGGGHHGGHHHHGGGGHHHHHHGGGGHHGGGGGGHHHHHHGGHHGGHHGGGGHHHHGGHHGGHHGGHHGGHHHHHHHHGGGGHHGGHHHHGGGGGGGGGGHHHHHHHHHHHHHHGGHHGGHHHHGGGGHHGGHHGGHHGGGGGGHHGGGGGGGGHHHHGGHHGGGGGGHHHHHHGGHHHHHHGGGGGGGGHHGGGGGGGGHHGGHHGGHHGGHHGGGGGGHHGGHHGGHHGGHHGGHHHHGGHHGGHHHHGGGGHHHHHHHHHHGGGGHHGGHHGGGGHHGGGGHHGGHHGGGGGGHHHHGGGGHHHHGGHHHHGGHHHHHHHHGGHHGGGGGGHHHHGGHHGGGGHHHHHHHHHHGGHHGGGGGGHHHHGGGGGGHHGGGGGGGGHHGGHHHHGGGGGGHHGGGGHHGGHHGGGGHHGGHHGGGGHHGGHHHHHHGGGGHHHHHHHHGGGGGGHHHHGGGGHHHHHHGGHHHHGGHHGGHHHHHHHHGGGGGGGGGGHHHHHHHHGGHHGGHHHHHHHHGGGGHHGGGGGGGGHHHHGGHHHHHHGGHHHHGGHHHHHHGGGGGGGGHHGGGGGGGGHHHHGGHHGGGGGGGGHHHHHHHHHHGGGGHHHHHHHHGGGGGGHHHHGGGGHHGGGGHHHHHHHHHHHHGGHHGGHHHHGGGGGGGGHHGGHHHHGGGGGGHHHHHHHHHHGGHHGGGGGGGGHHGGHHHHGGHHGGGGGGHHHHGGHHHHGGGGGGHHGGGGHHHHHHHHGGHHGGGGGGHHGGGGHHHHHHHHHHGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGHHHHGGHHHHHHGGHHGGGGGGHHHHGGGGHHGGGGHHHHHHHHGGGGGGHHGGHHHHGGGGHHGGGGHHHHGGHHHHHHHHGGHHGGGGHHHHGGGGHHHHGGGGHHGGGGGGHHGGHHGGHHGGGGGGGGHHGGGGGGGGGGHHGGGGHHGGGGGGHHHHGGHHGGHHGGHHGGHHGGHHGGHHHHHHHHGGGGGGGGGGGGHHGGHHGGHHHHGGHHGGGGGGHHHHHHHHGGHHGGGGHHGGGGGGHHHHGGHHGGHHGGHHHHHHGGGGGGGGHHGGGGHHGGGGHHGGHHHHGGHHGGGGHHHHGGHHGGHHGGHHHHGGGGHHHHHHHHGGHHGGHHGGGGHHGGHHGGHHGGHHGGGGGGHHGGGGHHHHHHGGHHGGHHGGGGHHGGGGGGGGGGGGGGGGHHGGHHGGGGGGHHGGGGHHHHGGHHGGGGGGHHGGHHHHGGHHGGHHGGGGHHHHHHHHHHGGHHGGGGHHGGHHGGHHGGHHGGHHGGGGHHGGGGHHGGGGHHGGHHGGGGGGHHGGHHHHGGGGHHGGGGGGHHGGHHGGGGGGHHHHGGGGGGGGGGGGGGHHHHGGHHGGHHGGGGGGHHHHHHGGGGHHHHGGGGGGHHGGHHGGHHHHHHGGGGGGGGHHHHGGGGGGGGHHGGHHGGHHGGGGGGHHHHGGGGGGGGHHHHGGGGGGGGGGGGGGGGGGHHGGHHGGGGGGGGGGGGGGGGGGHHHHHHHHHHHHHHHHGGHHHHHHGGHHHHHHGGGGGGHHGGGGGGGGGGHHGGHHGGHHHHHHGGGGGGHHHHHHHHGGHHGGGGGGGGHHGGGGHHHHHHHHGGGGGGGGGGGGGGHHGGGGGGGGHHHHGGGGGGHHHHGGGGHHGGGGGGGGGGHHGGGGHHHHHHHHHHHHHHHHHHGGGGGGGGGGGGHHHHHHGGGGHHGGHHHHGGGGHHGGGGHHHHGGGGGGHHGGGGGGGGHHGGHHGGHHGGGGHHHHGGGGHHGGGGHHHHGGHHGGGGGGGGGGHHHHGGGGGGHHGGHHHHGGHHGGGGGGGGHHHHHHHHGGGGGGHHHHGGGGHHGGGGGGGGHHGGHHHHHHHHGGGGGGGGHHGGHHHHGGGGHHGGGGGGGGGGHHGGGGGGGGGGGGGGGGGGGGGGHHGGGGGGGGHHHHHHGGGGGGHHHHHHHHGGGGGGGGHHGGHHHHGGGGGGGGHHHHGGHHGGGGHHGGGGGGHHGGGGGGGGHHHHGGGGHHHHGGGGGGHHHHHHGGHHGGHHGGGGHHGGGGHHGGGGGGGGHHHHGGGGGGGGGGHHGGHHGGGGGGGGHHHHHHGGGGGGGGGGGGHHGGGGHHGGHHGGGGGGGGGGGGHHHHHHGGHHGGGGHHGGGGGGGGGGHHGGHHGGGGGGGGHHHHGGGGGGGGGGGGGGGGGGGGHHGGGGHHHHGGHHGGGGGGGGGGGGHHGGHHGGHHGGGGGGHHHHGGGGGGHHGGGGHHHHGGHHGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGHHGGGGHHGGHHGGGGHHGGGGGGGGHHHHGGHHGGHHHHGGHHGGGGHHGGHHHHGGGGGGGGGGGGHHGGGGGGGGGGGGHHHHGGGGHHGGGGGGGGGGGGGGGGGGGGHHGGHHHHGGGGGGHHGGGGGGGGGGGGGGHHGGGGHHGGHHGGGGGGGGGGGGGGHHGGGGGGGGHHHHGGGGGGHHGGHHHHGGGGHHGGGGHHHHGGGGGGGGGGGGGGGGGGGGGGHHHHGGGGGGGGGGGGGGGGHHGGHHGGGGGGGGHHHHGGHHGGGGGGGGGGGGGGHHGGHHGGHHGGGGHHHHGGGGHHGGHHGGGGGGGGGGGGGGGGGGHHGGHHGGGGGGGGHHGGHHHHGGGGGGGGHHHHGGHHHHGGGGHHGGHHGGGGGGGGGGGGGGGGGGGGGGGGHHGGHHGGHHGGHHGGGGHHGGGGHHHHGGGGGGGGGGGGGGHHGGHHHHGGGGGGGGHHGGGGHHGGGGGGGGGGGGGGGGGGGGGGHHGGHHGGHHHHHHGGHHHHGGHHGGHHHHHHGGHHHHHHGGGGGGHHHHGGGGHHHHHHHHGGGGGGHHGGHHGGHHHHGGHHGGHHGGHHHHGGHHGGHHGGGGHHHHHHGGHHGGGGHHGGGGHHGGHHHHGGGGHHHHHHHHHHHHHHGGGGHHGGHHHHHHHHHHGGGGHHGGGGHHGGHHGGHHHHGGHHHHHHGGHHGGHHGGGGGGHHGGGGGGGGHHHHGGHHGGHHHHHHHHGGGGHHHHGGHHHHGGGGHHHHHHHHHHHHGGHHHHHHHHHHHHHHHHHHHHHHGGHHGGHHHHGGGGGGHHGGHHGGGGHHHHHHHHGGGGHHGGGGHHHHGGGGHHHHHHHHHHGGGGHHGGGGHHGGHHGGHHHHGGGGHHGGHHHHHHGGHHHHHHGGGGHHHHHHGGHHHHHHHHGGGGHHGGHHHHHHHHHHHHHHHHGGHHHHGGGGHHGGHHHHHHGGGGHHGGHHHHHHHHHHGGGGGGGGGGGGGGHHHHHHHHGGHHGGHHHHHHHHGGHHHHHHHHHHHHHHGGGGHHHHHHGGGGGGGGGGGGHHHHHHGGHHHHHHGGHHGGHHGGHHHHHHGGHHHHGGHHHHHHHHGGHHHHHHGGHHHHHHHHGGHHHHHHHHGGHHHHGGGGHHGGHHHHHHHHHHHHHHGGHHHHGGHHHHHHGGHHHHHHGGHHGGHHHHGGHHHHHHGGGGGGGGHHHHGGHHGGHHGGHHGGHHHHHHGGGGGGGGHHHHGGGGHHHHGGHHHHGGGGHHGGGGGGHHGGHHHHGGGGHHGGGGGGGGGGHHHHGGGGGGHHGGHHGGGGGGGGHHGGGGHHGGGGGGGGHHHHGGGGGGGGGGGGGGHHHHHHHHGGGGGGGGHHGGGGHHGGGGGGHHHHHHHHHHHHHHGGHHHHHHHHGGHHGGGGHHHHHHHHGGHHGGHHGGHHGGHHGGHHGGHHGGHHHHGGHHHHHHHHHHHHGGHHHHHHHHGGHHGGGGHHGGHHHHHHHHGGGGHHHHHHGGHHHHHHHHGGHHHHGGGGHHGGHHHHGGGGHHHHHHGGGGHHGGGGGGHHHHHHGGHHGGHHGGGGHHHHGGHHGGHHGGHHGGHHHHHHHHGGGGHHGGHHHHGGGGGGGGGGHHHHHHHHHHHHHHGGHHGGHHHHGGGGHHGGHHGGHHGGGGGGHHGGGGGGGGHHHHGGHHGGGGGGHHHHHHGGHHHHHHGGGGGGGGHHGGGGGGGGHHGGHHGGHHGGHHGGGGGGHHGGHHGGHHGGHHGGHHHHGGHHGGHHHHGGGGHHHHHHHHHHGGGGHHGGHHGGGGHHGGGGHHGGHHGGGGGGHHHHGGGGHHHHGGHHHHGGHHHHHHHHGGHHGGGGGGHHHHGGHHGGGGHHHHHHHHHHGGHHGGGGGGHHHHGGGGGGHHGGGGGGGGHHGGHHHHGGGGGGHHGGGGHHGGHHGGGGHHGGHHGGGGHHGGHHHHHHGGGGHHHHHHHHGGGGGGHHHHGGGGHHHHHHGGHHHHGGHHGGHHHHHHHHGGGGGGGGGGHHHHHHHHGGHHGGHHHHHHHHGGGGHHGGGGGGGGHHHHGGHHHHHHGGHHHHGGHHHHHHGGGGGGGGHHGGGGGGGGHHHHGGHHGGGGGGGGHHHHHHHHHHGGGGHHHHHHHHGGGGGGHHHHGGGGHHGGGGHHHHHHHHHHHHGGHHGGHHHHGGGGGGGGHHGGHHHHGGGGGGHHHHHHHHHHGGHHGGGGGGGGHHGGHHHHGGHHGGGGGGHHHHGGHHHHGGGGGGHHGGGGHHHHHHHHGGHHGGGGGGHHGGGGHHHHHHHHHHGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGHHHHGGHHHHHHGGHHGGGGGGHHHHGGGGHHGGGGHHHHHHHHGGGGGGHHGGHHHHGGGGHHGGGGHHHHGGHHHHHHHHGGHHGGGGHHHHGGGGHHHHGGGGHHGGGGGGHHGGHHGGHHGGGGGGGGHHGGGGGGGGGGHHGGGGHHGGGGGGHHHHGGHHGGHHGGHHGGHHGGHHGGHHHHHHHHGGGGGGGGGGGGHHGGHHGGHHHHGGHHGGGGGGHHHHHHHHGGHHGGGGHHGGGGGGHHHHGGHHGGHHGGHHHHHHGGGGGGGGHHGGGGHHGGGGHHGGHHHHGGHHGGGGHHHHGGHHGGHHGGHHHHGGGGHHHHHHHHGGHHGGHHGGGGHHGGHHGGHHGGHHGGGGGGHHGGGGHHHHHHGGHHGGHHGGGGHHGGGGGGGGGGGGGGGGHHGGHHGGGGGGHHGGGGHHHHGGHHGGGGGGHHGGHHHHGGHHGGHHGGGGHHHHHHHHHHGGHHGGGGHHGGHHGGHHGGHHGGHHGGGGHHGGGGHHGGGGHHGGHHGGGGGGHHGGHHHHGGGGHHGGGGGGHHGGHHGGGGGGHHHHGGGGGGGGGGGGGGHHHHGGHHGGHHGGGGGGHHHHHHGGGGHHHHGGGGGGHHGGHHGGHHHHHHGGGGGGGGHHHHGGGGGGGGHHGGHHGGHHGGGGGGHHHHGGGGGGGGHHHHGGGGGGGGGGGGGGGGGGHHGGHHGGGGGGGGGGGGGGGGGGHHHHHHHHHHHHHHHHGGHHHHHHGGHHHHHHGGGGGGHHGGGGGGGGGGHHGGHHGGHHHHHHGGGGGGHHHHHHHHGGHHGGGGGGGGHHGGGGHHHHHHHHGGGGGGGGGGGGGGHHGGGGGGGGHHHHGGGGGGHHHHGGGGHHGGGGGGGGGGHHGGGGHHHHHHHHHHHHHHHHHHGGGGGGGGGGGGHHHHHHGGGGHHGGHHHHGGGGHHGGGGHHHHGGGGGGHHGGGGGGGGHHGGHHGGHHGGGGHHHHGGGGHHGGGGHHHHGGHHGGGGGGGGGGHHHHGGGGGGHHGGHHHHGGHHGGGGGGGGHHHHHHHHGGGGGGHHHHGGGGHHGGGGGGGGHHGGHHHHHHHHGGGGGGGGHHGGHHHHGGGGHHGGGGGGGGGGHHGGGGGGGGGGGGGGGGGGGGGGHHGGGGGGGGHHHHHHGGGGGGHHHHHHHHGGGGGGGGHHGGHHHHGGGGGGGGHHHHGGHHGGGGHHGGGGGGHHGGGGGGGGHHHHGGGGHHHHGGGGGGHHHHHHGGHHGGHHGGGGHHGGGGHHGGGGGGGGHHHHGGGGGGGGGGHHGGHHGGGGGGGGHHHHHHGGGGGGGGGGGGHHGGGGHHGGHHGGGGGGGGGGGGHHHHHHGGHHGGGGHHGGGGGGGGGGHHGGHHGGGGGGGGHHHHGGGGGGGGGGGGGGGGGGGGHHGGGGHHHHGGHHGGGGGGGGGGGGHHGGHHGGHHGGGGGGHHHHGGGGGGHHGGGGHHHHGGHHGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGHHGGGGHHGGHHGGGGHHGGGGGGGGHHHHGGHHGGHHHHGGHHGGGGHHGGHHHHGGGGGGGGGGGGHHGGGGGGGGGGGGHHHHGGGGHHGGGGGGGGGGGGGGGGGGGGHHGGHHHHGGGGGGHHGGGGGGGGGGGGGGHHGGGGHHGGHHGGGGGGGGGGGGGGHHGGGGGGGGHHHHGGGGGGHHGGHHHHGGGGHHGGGGHHHHGGGGGGGGGGGGGGGGGGGGGGHHHHGGGGGGGGGGGGGGGGHHGGHHGGGGGGGGHHHHGGHHGGGGGGGGGGGGGGHHGGHHGGHHGGGGHHHHGGGGHHGGHHGGGGGGGGGGGGGGGGGGHHGGHHGGGGGGGGHHGGHHHHGGGGGGGGHHHHGGHHHHGGGGHHGGHHGGGGGGGGGGGGGGGGGGGGGGGGHHGGHHGGHHGGHHGGGGHHGGGGHHHHGGGGGGGGGGGGGGHHGGHHHHGGGGGGGGHHGGGGHHGGGGGGGGGGGGGGGGGGGGGGHHHHHHGGHHHHHHHHGGHHGGHHHHHHGGHHHHGGHHHHGGHHHHHHGGHHHHHHGGHHGGHHHHGGHHHHHHHHGGHHGGHHHHGGHHGGHHGGHHHHHHHHHHGGGGHHHHHHGGHHHHHHHHHHHHHHHHHHGGGGHHHHHHHHHHHHHHHHHHHHHHGGHHHHHHHHHHHHHHHHGGGGHHHHHHHHHHHHHHHHGGHHHHHHGGHHHHGGHHHHHHHHGGHHHHHHHHHHGGHHGGHHGGHHHHHHHHHHHHHHHHHHGGHHHHHHHHHHHHHHHHHHHHHHHHGGHHGGHHHHHHHHHHHHHHHHGGHHHHHHHHHHHHHHHHGGHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHGGHHGGGGHHGGHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHGGHHGGHHGGGGHHHHHHHHGGGGHHHHHHGGHHHHHHHHHHHHHHHHGGGGHHHHHHHHHHHHGGGGHHHHHHHHHHHHHHHHHHHHGGHHGGHHHHHHGGHHGGHHGGHHGGHHHHHHGGHHHHGGHHHHHHHHHHHHHHHHHHGGHHHHGGHHHHHHHHHHHHHHHHHHGGHHHHHHHHGGHHHHHHHHHHHHHHHHGGHHHHHHHHHHHHHHHHHHHHGGHHHHHHHHGGHHHHHHHHGGHHHHGGHHGGHHHHHHHHGGGGHHHHGGHHHHHHHHHHHHGGGGHHHHHHHHHHHHHHHHHHHHGGHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHGGHHHHHHHHGGHHHHHHHHHHGGHHHHHHHHGGHHHHGGHHHHHHGGHHHHGGHHHHHHHHHHGGHHHHHHHHHHHHHHHHHHGGHHGGGGHHHHHHHHGGHHHHGGHHHHHHHHHHHHGGGGHHGGGGHHHHHHHHHHHHGGHHHHHHHHHHHHHHHHHHHHHHHHGGGGHHHHHHGGHHHHHHHHHHHHGGHHHHHHHHHHHHHHHHGGGGHHHHHHHHHHHHHHGGHHHHHHGGHHHHHHHHGGGGHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHGGHHHHHHHHGGHHHHHHHHHHHHHHHHHHGGHHHHGGHHHHHHGGHHHHHHHHGGHHHHGGHHHHHHGGGGGGHHHHHHGGHHHHHHHHGGHHHHGGHHHHHHGGGGHHHHGGHHGGGGHHHHHHHHGGGGGGHHHHHHHHHHHHHHHHHHHHHHGGHHHHHHHHHHHHHHHHGGHHGGHHHHHHHHHHHHHHHHHHHHGGHHHHHHHHHHHHGGGGHHGGHHHHGGHHHHHHHHHHHHGGHHHHHHHHHHGGHHHHGGHHGGGGHHHHHHHHHHGGHHHHHHHHHHHHHHHHHHGGHHHHHHHHHHHHHHHHHHHHGGHHHHHHHHGGHHHHHHHHHHHHHHHHHHGGHHHHHHHHHHGGHHGGGGHHHHHHHHHHHHGGHHHHHHHHHHHHHHHHHHGGHHHHHHHHGGHHHHGGHHHHHHHHHHHHGGHHHHGGHHHHGGHHGGGGHHGGHHHHHHHHGGHHHHHHHHGGGGGGHHHHHHHHHHHHHHHHHHHHGGGGGGHHGGHHGGGGGGHHHHHHHHGGGGHHHHHHHHHHHHGGGGGGGGHHHHHHHHHHHHHHHHHHGGHHHHHHHHGGHHHHHHHHHHHHHHHHHHHHGGHHHHHHGGHHHHHHGGHHGGGGHHHHHHGGGGHHHHHHHHHHHHHHHHGGGGGGHHHHHHHHHHGGHHGGHHHHHHHHHHHHGGHHHHHHHHHHGGGGGGGGHHHHHHGGHHHHHHGGHHGGGGHHGGGGHHHHHHGGGGGGGGHHGGHHGGGGHHHHHHGGHHGGHHHHGGHHGGHHHHGGHHHHHHHHHHGGGGHHGGHHHHHHHHHHGGHHHHHHHHHHHHHHGGGGGGHHGGHHHHHHHHGGGGHHHHGGGGHHGGHHGGGGHHGGHHGGGGGGHHHHHHHHGGHHGGGGGGHHHHHHHHHHHHHHHHHHHHGGGGGGGGHHHHHHHHHHHHHHHHHHHHHHHHHHHHGGGGHHHHHHHHHHHHGGHHGGGGGGHHGGGGGGHHGGHHGGHHHHGGHHHHHHGGHHGGGGHHHHHHGGHHGGHHHHHHHHGGHHGGGGGGHHGGGGGGGGHHGGGGHHGGHHHHHHGGHHHHHHGGHHHHGGGGGGHHHHHHHHGGGGHHGGHHHHHHHHHHHHHHHHHHHHHHHHGGHHHHHHGGHHHHGGGGGGHHHHHHHHHHHHGGGGHHHHGGGGGGGGHHHHGGHHGGHHGGHHGGHHHHGGHHGGHHGGHHGGHHHHGGGGHHHHGGGGHHHHGGGGHHGGHHHHHHHHGGGGGGGGGGGGGGHHGGHHHHGGHHHHHHGGGGGGGGGGGGHHHHHHHHGGHHGGGGHHHHHHGGGGHHHHGGHHGGHHHHGGHHGGHHGGGGHHHHGGHHHHGGHHHHHHHHHHHHHHHHGGGGGGHHHHGGGGHHGGHHGGHHHHGGHHGGGGHHHHHHGGHHHHHHHHGGGGGGHHHHHHHHHHGGHHHHHHGGHHHHHHHHHHHHHHGGGGGGGGGGGGGGGGHHHHHHHHHHGGGGHHHHHHHHGGHHHHHHHHGGGGGGGGHHHHHHGGGGHHGGHHHHGGHHHHHHHHGGHHGGGGHHHHGGHHGGHHHHGGGGGGHHHHHHGGGGGGHHHHGGHHGGHHGGGGHHHHGGHHHHHHGGGGGGGGHHHHGGGGHHHHHHHHGGHHGGHHGGHHHHHHHHHHGGGGHHHHHHHHGGGGHHHHHHHHHHGGHHHHHHHHHHHHGGHHHHHHGGHHGGHHGGGGHHGGGGGGHHHHGGGGGGHHGGGGHHHHHHGGHHGGHHHHHHGGGGGGHHHHGGHHHHGGHHGGGGHHGGGGHHGGHHGGHHHHGGGGHHHHHHHHHHGGGGGGHHGGGGGGGGGGGGHHHHGGHHGGHHHHHHHHGGGGHHGGHHHHHHGGGGHHGGHHHHHHHHGGGGGGHHGGHHHHHHGGHHHHHHGGGGHHGGHHHHGGHHHHGGGGHHHHGGGGHHHHGGGGHHGGHHHHGGHHHHHHGGGGGGHHHHHHGGHHHHHHHHHHHHHHGGGGHHHHHHHHGGGGHHHHHHGGGGHHGGGGGGHHHHHHGGGGHHGGGGGGHHHHGGHHGGHHGGGGHHHHHHHHHHGGGGHHGGHHHHGGGGGGHHHHHHHHHHHHHHHHGGGGHHGGHHGGGGHHHHGGHHGGHHHHGGGGGGGGHHHHHHHHHHHHHHGGGGGGHHHHGGGGGGHHHHHHGGHHGGHHGGGGGGGGHHGGHHGGGGGGGGGGHHGGHHHHHHGGHHGGGGGGHHHHGGHHGGGGHHGGHHHHHHHHGGHHGGHHHHGGHHGGGGGGGGGGGGGGGGGGGGGGHHHHHHHHGGGGGGHHHHGGHHGGHHHHGGHHGGHHGGGGHHGGGGGGGGGGGGGGHHGGHHHHGGGGGGHHHHHHGGGGHHGGGGGGHHGGGGGGHHGGGGGGHHHHGGGGGGHHGGGGHHGGHHGGGGGGGGHHHHGGHHGGHHHHHHHHGGGGGGGGGGHHHHHHGGGGGGHHHHHHGGGGHHHHHHGGGGGGHHHHGGHHGGGGHHGGHHHHGGGGGGGGGGGGGGGGGGHHHHHHHHHHHHHHGGHHHHHHGGHHGGHHHHHHGGHHHHGGHHGGHHHHHHHHGGHHGGGGHHGGGGHHGGHHHHGGHHGGHHGGGGHHHHHHHHHHGGHHHHHHGGGGHHHHHHGGHHHHGGGGHHGGHHGGHHHHHHHHGGHHGGGGHHGGGGGGGGHHGGGGHHGGGGGGGGGGGGHHGGHHHHHHGGGGHHGGHHGGHHGGHHGGHHHHHHHHHHGGHHHHHHGGHHGGHHHHGGGGGGHHHHGGHHGGGGGGHHGGGGHHGGGGHHGGHHGGGGGGHHHHHHGGHHHHHHHHGGHHGGHHHHHHGGHHHHGGHHHHGGHHHHHHGGHHHHHHGGHHGGHHHHGGHHHHHHHHGGHHGGHHHHGGHHGGHHGGHHHHHHHHHHGGGGHHHHHHGGHHHHHHHHHHHHHHHHHHHGGGHHHHHHHHHHHHHHHHHHHHHHGGHHHHHHHHHHHHHHHHGGGGHHHHHHHHHHHHHHHHGGHHHHHHGGHHHHGGHHHHHHHHGGHHHHHHHHHHGGHHGGHHGGHHHHHHHHHHHHHHHHHHGGHHHHHHHHHHHHHHHHHHHHHHHHGGHHGGHHHHHHHHHHHHHHHHGGHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHGGHHHHGGHHGGHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHGGHHGGHHGGGGHHHHHHHHGGGGHHHHHHGGHHHHHHHHHHHHHHHHGGGGHHHHHHHHHHHHGGGGHHHHHHHHHHHHHHHHHHHHGGHHGGHHHHHHGGHHGGHHGGHHGGHHHHHHGGHHHHGGHHHHHHHHHHHHHHHHHHGGHHHHGGHHHHHHHHHHHHHHHHHHGGHHHHHHHHGGHHHHHHHHHHHHHHHHGGHHHHHHHHHHHHHHHHHHHHGGHHHHHHHHGGHHHHHHHHGGHHHHGGHHGGHHHHHHHHGGGGHHHHGGHHHHHHHHHHHHGGGGHHHHHHHHHHHHHHHHHHHHGGHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHGGHHHHHHHHGGHHHHHHHHHHGGHHHHHHHHGGHHHHGGHHHHHHGGHHHHGGHHHHHHHHHHGGHHHHHHHHHHHHHHHHHHGGHHGGGGHHHHHHHHGGHHHHGGHHHHHHHHHHHHGGGGHHGGGGHHHHHHHHHHHHGGHHHHHHHHHHHHHHHHHHHHHHHHGGGGHHHHHHGGHHHHHHHHHHHHGGHHHHHHHHHHHHHHHHGGGGHHHHHHHHHHHHHHGGHHHHHHGGHHHHHHHHGGGGHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHGGHHHHHHHHGGHHHHHHHHHHHHHHHHHHGGHHHHGGHHHHHHGGHHHHHHHHGGHHHHGGHHHHHHGGGGGGHHHHHHGGHHHHHHHHGGHHHHGGHHHHHHGGGGHHHHGGHHGGGGHHHHHHHHGGGGGGHHHHHHHHHHHHHHHHHHHHHHGGHHHHHHHHHHHHHHHHGGHHGGHHHHHHHHHHHHHHHHHHHHGGHHHHHHHHHHHHGGGGHHGGHHHHGGHHHHHHHHHHHHGGHHHHHHHHHHGGHHHHGGHHGGGGHHHHHHHHHHGGHHHHHHHHHHHHHHHHHHGGHHHHHHHHHHHHHHHHHHHHGGHHHHHHHHGGHHHHHHHHHHHHHHHHHHGGHHHHHHHHHHGGHHGGGGHHHHHHHHHHHHGGHHHHHHHHHHHHHHHHHHGGHHHHHHHHGGHHHHGGHHHHHHHHHHHHGGHHHHGGHHHHGGHHGGGGHHGGHHHHHHHHGGHHHHHHHHGGGGGGHHHHHHHHHHHHHHHHHHHHGGGGGGHHGGHHGGGGGGHHHHHHHHGGGGHHHHHHHHHHHHGGGGGGGGHHHHHHHHHHHHHHHHHHGGHHHHHHHHGGHHHHHHHHHHHHHHHHHHHHGGHHHHHHGGHHHHHHGGHHGGGGHHHHHHGGGGHHHHHHHHHHHHHHHHGGGGGGHHHHHHHHHHGGHHGGHHHHHHHHHHHHGGHHHHHHHHHHGGGGGGGGHHHHHHGGHHHHHHGGHHGGGGHHGGGGHHHHHHGGGGGGGGHHGGHHGGGGHHHHHHGGHHGGHHHHGGHHGGHHHHGGHHHHHHHHHHGGGGHHGGHHHHHHHHHHGGHHHHHHHHHHHHHHGGGGGGHHGGHHHHHHHHGGGGHHHHGGGGHHGGHHGGGGHHGGHHGGGGGGHHHHHHHHGGHHGGGGGGHHHHHHHHHHHHHHHHHHHHGGGGGGGGHHHHHHHHHHHHHHHHHHHHHHHHHHHHGGGGHHHHHHHHHHHHGGHHGGGGGGHHGGGGGGHHGGHHGGHHHHGGHHHHHHGGHHGGGGHHHHHHGGHHGGHHHHHHHHGGHHGGGGGGHHGGGGGGGGHHGGGGHHGGHHHHHHGGHHHHHHGGHHHHGGGGGGHHHHHHHHGGGGHHGGHHHHHHHHHHHHHHHHHHHHHHHHGGHHHHHHGGHHHHGGGGGGHHHHHHHHHHHHGGGGHHHHGGGGGGGGHHHHGGHHGGHHGGHHGGHHHHGGHHGGHHGGHHGGHHHHGGGGHHHHGGGGHHHHGGGGHHGGHHHHHHHHGGGGGGGGGGGGGGHHGGHHHHGGHHHHHHGGGGGGGGGGGGHHHHHHHHGGHHGGGGHHHHHHGGGGHHHHGGHHGGHHHHGGHHGGHHGGGGHHHHGGHHHHGGHHHHHHHHHHHHHHHHGGGGGGHHHHGGGGHHGGHHGGHHHHGGHHGGGGHHHHHHGGHHHHHHHHGGGGGGHHHHHHHHHHGGHHHHHHGGHHHHHHHHHHHHHHGGGGGGGGGGGGGGGGHHHHHHHHHHGGGGHHHHHHHHGGHHHHHHHHGGGGGGGGHHHHHHGGGGHHGGHHHHGGHHHHHHHHGGHHGGGGHHHHGGHHGGHHHHGGGGGGHHHHHHGGGGGGHHHHGGHHGGHHGGGGHHHHGGHHHHHHGGGGGGGGHHHHGGGGHHHHHHHHGGHHGGHHGGHHHHHHHHHHGGGGHHHHHHHHGGGGHHHHHHHHHHGGHHHHHHHHHHHHGGHHHHHHGGHHGGHHGGGGHHGGGGGGHHHHGGGGGGHHGGGGHHHHHHGGHHGGHHHHHHGGGGGGHHHHGGHHHHGGHHGGGGHHGGGGHHGGHHGGHHHHGGGGHHHHHHHHHHGGGGGGHHGGGGGGGGGGGGHHHHGGHHGGHHHHHHHHGGGGHHGGHHHHHHGGGGHHGGHHHHHHHHGGGGGGHHGGHHHHHHGGHHHHHHGGGGHHGGHHHHGGHHHHGGGGHHHHGGGGHHHHGGGGHHGGHHHHGGHHHHHHGGGGGGHHHHHHGGHHHHHHHHHHHHHHGGGGHHHHHHHHGGGGHHHHHHGGGGHHGGGGGGHHHHHHGGGGHHGGGGGGHHHHGGHHGGHHGGGGHHHHHHHHHHGGGGHHGGHHHHGGGGGGHHHHHHHHHHHHHHHHGGGGHHGGHHGGGGHHHHGGHHGGHHHHGGGGGGGGHHHHHHHHHHHHHHGGGGGGHHHHGGGGGGHHHHHHGGHHGGHHGGGGGGGGHHGGHHGGGGGGGGGGHHGGHHHHHHGGHHGGGGGGHHHHGGHHGGGGHHGGHHHHHHHHGGHHGGHHHHGGHHGGGGGGGGGGGGGGGGGGGGGGHHHHHHHHGGGGGGHHHHGGHHGGHHHHGGHHGGHHGGGGHHGGGGGGGGGGGGGGHHGGHHHHGGGGGGHHHHHHGGGGHHGGGGGGHHGGGGGGHHGGGGGGHHHHGGGGGGHHGGGGHHGGHHGGGGGGGGHHHHGGHHGGHHHHHHHHGGGGGGGGGGHHHHHHGGGGGGHHHHHHGGGGHHHHHHGGGGGGHHHHGGHHGGGGHHGGHHHHGGGGGGGGGGGGGGGGGGHHHHHHHHHHHHHHGGHHHHHHGGHHGGHHHHHHGGHHHHGGHHGGHHHHHHHHGGHHGGGGHHGGGGHHGGHHHHGGHHGGHHGGGGHHHHHHHHHHGGHHHHHHGGGGHHHHHHGGHHHHGGGGHHGGHHGGHHHHHHHHGGHHGGGGHHGGGGGGGGHHGGGGHHGGGGGGGGGGGGHHGGHHHHHHGGGGHHGGHHGGHHGGHHGGHHHHHHHHHHGGHHHHHHGGHHGGHHHHGGGGGGHHHHGGHHGGGGGGHHGGGGHHGGGGHHGGHHGGGGHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHGGHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHGGHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHGGHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHGGHHHHHHHHHHHHHHGGHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHGGHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHGGHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHGGHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHGGHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHGGHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHGGHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHGGGGHHHHHHHHHHHHHHHHHHHHHHGGHHHHHHHHHHHHHHHHHHGGHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHGGHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHGGHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHGGHHHHHHHHHHGGHHHHHHHHHHHHHHHHHHHHHHHHGGHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHGGHHHHHHGGHHHHGGGGHHHHGGHHHHHHHHHHHHGGHHHHHHGGHHGGGGHHHHGGHHHHHHHHHHHHHHHHHHGGHHHHHHHHHHHHHHHHHHHHHHHHHHHHGGHHHHHHHHHHHHHHGGGGHHHHHHGGGGHHHHHHGGHHHHHHHHHHGGHHHHHHGGHHHHHHHHHHHHHHGGHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHGGHHHHGGHHGGHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHGGHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHGGHHHHGGHHGGHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHGGHHHHHHHHHHHHGGHHHHHHGGHHHHHHHHHHHHGGHHHHHHHHHHHHHHHHHHGGGGHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHGGHHHHHHHHHHHHHHGGHHGGHHHHHHHHHHGGHHHHHHHHHHHHGGHHHHHHHHHHHHHHGGHHHHGGHHHHHHHHGGHHGGHHHHGGHHGGHHHHGGHHHHHHGGHHHHHHHHHHGGHHHHHHGGHHHHHHHHGGHHHHHHHHHHHHHHGGHHHHHHHHHHHHHHHHHHHHGGHHHHHHHHGGHHHHHHGGHHHHHHGGHHHHHHHHGGHHHHHHHHHHGGHHHHHHHHHHHHGGHHGGHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHGGHHHHHHHHHHGGGGHHHHHHHHGGHHHHHHGGHHHHHHHHHHHHHHHHHHHHGGGGHHHHGGHHHHGGHHHHHHHHHHGGGGHHHHHHHHHHHHHHHHGGHHHHHHHHHHHHGGHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHGGHHHHHHHHHHHHGGHHHHHHHHHHHHHHHHHHHHHHHHHHHHGGHHHHHHHHGGHHHHHHHHHHHHGGGGHHHHGGHHHHGGHHGGGGHHHHGGHHHHGGHHHHGGHHHHGGHHHHHHHHGGHHHHHHHHHHHHHHGGGGGGHHGGHHHHGGHHGGHHHHHHHHGGHHHHHHHHGGGGHHGGHHHHHHHHGGHHHHGGGGHHHHHHHHGGHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHGGHHHHHHHHHHHHHHHHGGGGHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHGGGGHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHGGHHHHHHHHHHHHHHHHHHHHHHHHGGHHHHHHGGHHHHHHHHGGHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHGGHHHHHHHHHHHHHHHHHHHHGGHHHHHHHHGGGGGGHHHHHHHHHHHHHHHHHHHHHHHHHHGGGGHHHHHHHHHHGGHHHHHHHHHHHHHHGGHHHHGGHHGGHHHHHHHHHHHHGGGGHHGGHHHHGGHHHHHHHHHHHHGGHHHHGGHHGGGGHHHHGGHHGGGGHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHGGHHGGHHHHHHHHHHGGHHHHGGHHHHHHHHGGHHHHHHGGHHHHHHHHHHGGHHHHHHHHHHGGHHGGHHHHGGHHHHHHGGGGHHGGHHHHHHHHHHHHHHHHHHHHHHGGHHHHHHGGHHHHHHHHHHHHGGGGGGGGHHHHGGHHHHHHHHHHHHGGGGGGHHGGGGGGGGHHHHGGHHHHHHHHHHHHHHHHHHHHHHHHHHGGGGGGHHGGHHHHHHGGHHHHHHGGHHGGHHHHHHHHGGHHGGHHHHHHHHHHHHHHHHGGHHGGHHHHHHHHGGGGHHGGHHHHGGHHHHHHHHGGHHGGHHHHGGGGHHGGHHGGHHGGHHHHHHHHGGHHGGGGHHHHHHHHGGHHHHHHHHGGHHHHHHHHHHHHHHHHHHGGGGHHHHGGHHHHHHHHHHHHHHHHHHHHGGGGGGHHHHGGHHHHHHHHGGHHHHGGHHHHHHGGHHHHHHHHHHHHHHGGHHHHHHHHHHHHGGHHHHGGHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHGGHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHGGHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHGGHHHHHHHHHHHHHHGGHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHGGHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHGGHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHGGHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHGGHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHGGHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHGGGGHHHHHHHHHHHHHHHHHHHHHHGGHHHHHHHHHHHHHHHHHHGGHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHGGHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHGGHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHGGHHHHHHHHHHGGHHHHHHHHHHHHHHHHHHHHHHHHGGHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHGGHHHHHHGGHHHHHHGGHHHHGGHHHHHHHHHHHHGGHHHHHHHHHHGGGGHHHHHHHHHHHHHHHHHHHHHHHHGGHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHGGGGHHHHHHGGGGHHHHHHHHHHHHHHHHHHGGHHHHHHHHHHHHHHHHHHHHHHGGHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHGGHHHHGGHHGGHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHGGHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHGGHHHHGGHHGGHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHGGHHHHHHHHHHHHGGHHHHHHGGHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHGGGGHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHGGHHHHHHHHHHHHHHGGHHGGHHHHHHHHHHGGHHHHHHHHHHHHGGHHHHHHHHHHHHHHGGHHHHGGHHHHHHHHGGHHGGHHHHGGHHGGHHHHGGHHHHHHGGHHHHHHHHHHGGHHHHHHHHHHHHHHHHGGHHHHHHHHHHHHHHGGHHHHHHHHHHHHHHHHHHHHGGHHHHHHHHGGHHHHHHGGHHHHHHGGHHHHHHHHGGHHHHHHHHHHGGHHHHHHHHHHHHGGHHGGHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHGGHHHHHHHHHHGGGGHHHHHHHHGGHHHHHHGGHHHHHHHHHHHHHHHHHHHHGGGGHHHHGGHHHHGGHHHHHHHHHHGGGGHHHHHHHHHHHHHHHHGGHHHHHHHHHHHHGGHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHGGHHHHHHHHHHHHGGHHHHHHHHHHHHHHHHHHHHHHHHHHHHGGHHHHHHHHGGHHHHHHHHHHHHGGGGHHHHGGHHHHGGHHGGGGHHHHGGHHHHGGHHHHGGHHHHGGHHHHHHHHGGHHHHHHHHHHHHHHGGGGGGHHGGHHHHGGHHGGHHHHHHHHHHHHHHHHHHGGGGHHGGHHHHHHHHGGHHHHGGGGHHHHHHHHGGHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHGGHHHHHHHHHHHHHHHHGGGGHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHGGGGHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHGGHHHHHHHHHHHHHHHHHHHHHHHHGGHHHHHHGGHHHHHHHHGGHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHGGHHHHHHHHHHHHHHHHHHHHGGHHHHHHHHGGGGGGHHHHHHHHHHHHHHHHHHHHHHHHHHGGGGHHHHHHHHHHGGHHHHHHHHHHHHHHGGHHHHGGHHGGHHHHHHHHHHHHGGGGHHGGHHHHGGHHHHHHHHHHHHGGHHHHGGHHGGGGHHHHGGHHGGGGHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHGGHHGGHHHHHHHHHHGGHHHHGGHHHHHHHHGGHHHHHHGGHHHHHHHHHHGGHHHHHHHHHHGGHHGGHHHHGGHHHHHHGGGGHHGGHHHHHHHHHHHHHHHHHHHHHHGGHHHHHHGGHHHHHHHHHHHHGGGGGGGGHHHHGGHHHHHHHHHHHHGGGGGGHHGGGGGGGGHHHHGGHHHHHHHHHHHHHHHHHHHHHHHHHHGGGGGGHHGGHHHHHHGGHHHHHHGGHHGGHHHHHHHHGGHHGGHHHHHHHHHHHHHHHHGGHHGGHHHHHHHHGGGGHHGGHHHHGGHHHHHHHHGGHHGGHHHHGGGGHHGGHHGGHHGGHHHHHHHHGGHHGGGGHHHHHHHHGGHHHHHHHHGGHHHHHHHHHHHHHHHHHHGGGGHHHHGGHHHHHHHHHHHHHHHHHHHHGGGGGGHHHHGGHHHHHHHHGGHHHHGGHHHHHHGGHHHHHHHHHHHHHHGGHHHHHHHHHHHHGGHHHHGGHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHGGHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHGGHHHHHHHHHHHHHHGGHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHGGHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHGGHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHGGHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHGGHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHGGGGHHHHHHHHHHHHHHHHHHHHHHGGHHHHHHHHHHHHHHHHHHGGHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHGGHHHHHHHHHHHHHHHHHHGGHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHGGHHHHHHHHGGHHHHHHHHHHHHGGHHHHHHHHHHHHHHHHHHHHGGHHHHHHHHHHHHHHHHHHGGGGHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHGGHHHHHHHHHHHHHHHHHHHHGGHHHHHHHHGGHHHHHHHHHHHHGGHHGGHHHHGGHHHHHHHHHHGGHHHHHHHHHHGGHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHGGHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHGGHHHHHHHHHHHHHHGGHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHGGHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHGGHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHGGHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHGGHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHGGGGHHHHHHHHHHHHHHHHHHHHHHGGHHHHHHHHHHHHHHHHHHGGHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHGGHHHHHHHHHHHHHHHHHHGGHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHGGHHHHHHHHGGHHHHHHHHHHHHGGHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHGGGGHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHGGHHHHHHHHHHHHHHHHHHHHGGHHHHHHHHGGHHHHHHHHHHHHGGHHGGHHHHGGHHHHHHHHHHGGHHHHHHHHHHGGHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHIIHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHIIHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHIIHHIIHHIIHHIIIIHHHHHHHHHHHHHHHHHHHHIIIIHHHHHHHHIIHHHHHHHHHHIIHHHHHHHHIIIIHHHHHHHHHHIIHHHHHHIIHHIIHHIIIIIIHHHHHHHHHHHHHHIIHHHHHHHHHHHHHHHHIIHHIIHHHHHHIIHHIIHHHHIIHHHHIIIIHHHHHHHHIIHHHHHHIIHHHHHHHHIIHHIIHHHHHHIIHHHHHHHHIIHHHHHHIIHHHHHHIIHHIIHHHHIIHHIIHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHIIHHHHHHHHIIHHIIIIHHHHHHHHHHIIHHHHHHHHHHIIHHHHHHHHHHIIHHHHHHHHHHIIHHIIIIHHHHHHHHHHHHHHHHHHHHHHIIHHHHIIHHIIIIIIHHIIHHHHHHHHHHIIHHHHIIIIHHHHHHIIHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHIIHHHHIIHHHHHHIIHHHHHHIIIIHHHHHHHHIIHHHHHHHHHHIIHHHHHHHHHHHHHHHHHHHHHHHHHHIIHHHHHHHHIIHHHHHHHHHHHHIIHHIIHHHHHHHHHHHHHHHHHHIIHHHHHHHHHHIIIIHHHHIIHHHHHHHHHHIIHHHHHHIIHHHHHHHHHHHHHHHHIIHHHHIIHHHHHHHHHHHHHHHHHHHHHHIIHHHHHHHHHHHHHHHHHHHHHHIIHHHHHHHHHHHHHHHHHHHHHHHHHHHHIIHHHHHHHIIIHHIIHHHHHHIIIIHHIIIIHHIIHHHHIIIIHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHIIHHHHHHHHHHIIHHHHHHHHHHHHHHIIHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHIIHHIIHHHHHHIIIIHHHHHHHHHHHHHHHHHHHHHHIIHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHIIHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHIIHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHIIHHHHIIHHHHHHIIHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHIIHHHHHHIIHHHHHHIIHHIIHHHHHHHHHHHHHHHHHHHHHHIIIIHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHIIHHHHHHHHHHIIHHHHHHHHHHIIIIHHHHIIHHHHHHHHHHHHHHHHIIIIHHHHHHHHHHHHHHIIHHHHHHHHHHHHHHIIHHHHIIHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHIIHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHIIHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHIIHHHHHHHHHHHHIIHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHIIHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHIIHHHHHHHHIIHHHHHHHHHHHHHHHHHHHHIIHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHIIHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHIIHHIIHHIIHHIIIIHHHHHHHHHHHHHHHHHHHHIIIIHHHHHHHHIIHHHHHHHHHHIIHHHHHHHHIIIIHHHHHHHHHHIIHHHHHHIIHHIIHHIIIIIIHHHHHHHHHHHHHHIIHHHHHHHHHHHHHHHHIIHHIIHHHHHHIIHHIIHHHHIIHHHHIIIIHHHHHHHHIIHHHHHHIIHHHHHHHHIIHHIIHHHHHHIIHHHHHHHHIIHHHHHHIIHHHHHHIIHHIIHHHHIIHHIIHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHIIHHHHHHHHIIHHIIIIHHHHHHHHHHIIHHHHIIHHHHIIHHHHHHHHHHIIHHHHHHHHHHIIHHIIIIHHHHHHHHHHHHHHHHHHHHHHIIHHHHIIHHIIIIIIHHIIHHHHHHHHHHIIHHHHIIIIHHHHHHIIHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHIIHHHHIIHHHHHHIIHHHHHHIIIIHHIIHHHHIIHHHHHHHHHHIIHHHHHHHHHHHHHHHHHHHHHHHHHHIIHHHHHHHHIIHHHHHHHHHHHHIIHHIIHHHHHHHHHHHHHHHHHHIIHHHHHHHHHHIIIIHHHHIIHHHHHHHHHHIIHHHHHHIIHHHHHHHHHHHHHHHHIIHHHHIIHHIIHHHHHHHHHHHHHHHHHHIIHHHHHHHHHHHHHHHHHHHHHHIIHHHHHHHHHHHHHHHHHHHHHHHHHHHHIIHHHHHHIIIIHHIIHHHHHHIIIIHHIIIIHHIIHHHHIIIIHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHIIHHHHHHHHHHIIHHHHHHHHHHHHHHIIHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHIIHHIIHHHHHHIIIIHHHHHHHHHHHHHHHHHHHHHHIIHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHIIHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHIIHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHIIHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHIIHHHHIIHHHHHHIIHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHIIHHHHHHIIHHHHHHIIHHIIHHHHHHHHHHHHHHHHHHHHHHIIIIHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHIIHHHHHHHHHHIIHHHHHHHHHHIIIIHHHHIIHHHHHHHHHHHHHHHHIIIIHHHHHHHHHHHHHHIIHHHHHHHHHHHHHHIIHHHHIIHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHIIHHIIHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHIIHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHIIHHHHHHHHHHHHIIHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHIIHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHIIHHHHHHHHIIHHHHHHHHHHHHHHHHHHHHIIHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHIIHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHIIHHIIIIIIHHIIIIIIIIHHIIIIIIIIIIIIHHIIHHIIIIIIIIHHIIHHIIHHHHIIHHIIHHIIHHIIIIIIIIIIIIHHHHIIHHIIIIIIIIHHIIHHHHIIHHHHIIHHHHHHIIIIHHHHIIHHHHHHIIHHIIHHIIHHHHHHHHIIIIHHHHIIIIIIIIIIIIHHIIIIHHHHIIIIHHHHHHHHHHHHHHIIIIHHIIHHIIHHIIHHIIHHHHHHHHIIHHHHHHHHIIHHHHHHIIHHHHIIIIHHIIHHHHHHIIHHIIHHIIIIIIHHIIHHIIIIIIHHIIHHHHIIHHHHIIIIHHIIIIIIHHIIHHHHIIHHHHIIHHIIHHHHHHIIHHIIHHIIHHIIIIHHHHHHIIHHHHHHHHHHHHHHHHHHHHIIHHIIHHHHHHIIHHHHHHHHHHIIIIHHHHHHHHHHIIIIHHHHIIHHHHHHHHHHHHHHHHHHHHIIHHHHHHHHHHIIIIIIIIIIHHIIHHHHIIIIHHHHHHIIIIIIHHIIHHHHIIHHHHIIIIHHHHHHHHIIIIIIHHHHIIHHHHIIHHHHHHIIHHIIIIHHIIHHIIIIIIIIIIIIHHIIHHIIHHHHIIHHHHIIIIHHHHHHIIHHHHHHIIIIHHIIHHHHIIIIHHIIHHIIIIHHHHHHIIIIIIHHIIIIHHHHIIIIIIIIIIIIHHHHHHIIIIIIIIHHIIHHHHHHHHHHHHIIHHHHHHIIHHHHHHHHIIIIHHIIHHHHIIIIHHIIHHHHHHHHHHIIHHIIHHHHIIHHHHHHHHHHIIIIIIIIHHHHIIHHHHHHHHIIHHIIIIHHIIHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHIIHHHHHHIIHHHHHHIIHHHHHHIIHHIIHHHHIIHHHHHHIIIIIIHHIIIIHHHHHHIIHHHHHHHHHHIIIIHHIIHHIIHHHHIIHHHHIIHHHHHHHHIIHHHHIIHHIIIIHHHHHHIIIIHHHHHHHHHHHHIIIIIIHHIIHHIIHHIIIIIIHHHHHHHHHHHHHHHHHHIIHHIIIIHHIIHHHHHHIIIIHHHHHHHHHHHHHHHHIIHHHHIIIIIIHHIIIIIIHHIIHHHHIIHHIIHHIIHHHHHHHHIIIIIIHHHHHHHHIIIIHHIIIIIIHHHHHHIIHHIIIIHHHHHHIIHHIIHHHHIIHHIIHHIIIIHHIIIIIIHHHHHHHHIIHHIIHHHHIIHHHHIIHHHHIIHHHHHHHHIIHHHHHHHHHHHHHHIIIIHHHHHHHHIIIIHHHHIIHHIIHHHHHHHHIIIIHHHHHHHHHHIIHHIIHHHHIIHHHHIIIIIIHHHHHHIIIIHHIIIIIIHHHHIIIIHHHHHHIIIIIIHHHHHHHHHHHHHHIIHHHHHHIIHHHHHHHHIIIIIIHHIIHHHHHHHHIIHHIIHHHHHHHHHHIIHHHHHHHHHHHHHHHHHHHHHHHHIIHHHHIIHHHHHHHHHHHHHHHHIIHHHHHHHHIIIIHHIIHHIIHHIIHHIIIIHHHHIIIIHHHHHHIIHHHHIIHHHHHHHHIIHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHIIIIHHIIHHHHHHHHHHHHHHHHHHHHIIHHIIIIIIHHHHHHHHIIHHHHHHIIIIHHHHHHHHHHHHHHHHHHHHIIHHHHHHIIHHIIIIHHHHHHHHIIHHIIHHHHIIIIHHHHHHHHHHIIHHHHHHHHHHHHIIHHHHHHHHIIHHHHHHHHHHHHHHHHHHHHHHHHIIIIIIHHIIIIHHHHHHHHHHIIHHHHHHHHIIHHIIHHHHHHIIHHHHHHHHHHIIHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHIIIIIIHHIIIIIIIIHHHHHHHHHHHHIIHHHHHHHHHHHHHHHHIIHHIIHHHHHHIIHHIIIIHHIIHHHHIIIIHHHHHHHHHHHHHHHHIIHHIIHHHHIIHHHHHHHHHHIIIIHHIIHHIIHHIIHHHHHHHHHHIIHHIIHHHHIIHHIIHHHHHHHHHHHHHHHHIIHHHHHHHHHHIIHHHHHHHHHHHHHHHHIIHHIIHHHHIIIIHHHHIIHHIIHHHHHHHHHHHHHHHHHHIIHHIIHHHHHHHHHHIIIIHHHHHHHHHHIIHHHHHHHHHHIIHHHHIIHHIIIIHHHHHHHHHHHHHHHHHHHHHHHHIIHHIIHHIIHHIIHHHHHHIIHHHHHHHHHHHHHHHHIIHHHHHHHHHHIIHHHHHHHHIIIIHHHHHHHHHHHHHHHHHHIIHHIIHHIIIIHHHHHHIIIIHHHHHHHHIIHHHHHHIIHHHHIIHHHHHHHHIIHHIIHHHHHHHHHHIIHHHHIIIIHHIIHHIIHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHIIHHHHHHIIHHHHIIHHHHHHIIHHHHHHHHHHIIHHHHHHHHIIHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHIIHHIIHHIIHHHHHHIIHHHHHHIIHHHHIIIIHHHHHHHHHHHHHHHHIIIIHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHIIHHHHHHIIIIHHHHIIHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHIIHHIIHHHHHHHHHHHHHHHHHHHHHHIIIIHHHHHHIIHHHHHHHHHHHHIIHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHIIHHIIHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHIIIIHHIIHHHHHHHHHHHHHHHHHHHHIIHHHHHHHHHHHHHHHHIIHHHHHHHHHHHHIIHHHHHHHHHHIIHHHHHHHHHHHHHHHHHHHHIIHHHHHHIIHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHIIHHIIHHHHHHHHHHHHHHHHHHHHHHHHHHHHIIHHHHHHHHHHIIHHHHHHHHHHIIHHIIHHIIHHHHHHHHHHHHIIHHHHHHHHIIIIHHHHIIHHHHHHIIHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHIIHHHHHHHHHHHHHHHHIIHHHHHHHHHHIIHHHHHHHHHHHHHHHHHHHHIIHHHHHHHHHHIIHHHHHHHHHHHHHHHHIIHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHIIHHHHHHHHHHHHHHHHHHHHIIHHHHHHHHHHHHIIHHHHHHHHHHHHHHHHHHHHHHHHHHIIHHHHHHHHHHIIHHHHHHIIHHIIHHHHHHHHHHHHHHHHHHHHHHHHIIHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHIIIIHHHHHHHHHHIIIIHHHHHHHHIIIIHHHHIIHHHHHHHHHHHHHHHHHHIIHHHHHHHHHHHHHHIIHHHHHHHHHHHHHHIIHHHHIIHHHHHHHHHHHHHHHHHHIIHHHHHHHHHHHHHHIIIIHHHHHHHHHHHHHHIIHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHIIHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHIIHHHHHHHHHHHHHHHHHHHHHHIIHHHHHHHHHHHHHHHHHHHHHHHHIIIIHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHIIHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHIIHHIIHHHHHHHHHHHHHHHHHHIIHHIIIIIIHHIIIIIIIIHHIIIIIIIIIIIIHHIIHHIIIIIIIIHHIIHHIIHHHHIIHHIIHHIIHHIIIIIIIIIIIIHHHHIIHHIIIIIIIIHHIIHHHHIIHHHHIIHHHHHHIIIIHHHHIIHHHHHHIIHHIIHHIIHHHHHHHHIIIIHHHHIIIIIIIIIIIIHHIIIIHHHHIIIIHHHHHHHHHHHHHHIIIIHHIIHHIIHHIIHHIIHHHHHHHHIIHHHHHHHHIIHHHHHHIIHHHHIIIIHHIIHHHHHHIIHHIIHHIIIIIIHHIIHHIIIIIIHHIIHHHHIIHHHHIIIIHHIIIIIIHHIIHHHHIIHHHHIIHHIIHHHHHHIIHHIIHHIIHHIIIIHHHHHHIIHHHHHHHHHHHHHHHHHHHHIIHHIIHHHHHHIIHHHHHHHHHHIIIIHHHHHHHHHHIIIIHHHHIIHHHHHHHHHHHHHHHHHHHHIIHHHHHHHHHHIIIIIIIIIIHHIIHHHHIIIIHHHHHHIIIIIIHHIIHHHHIIHHHHIIIIHHHHHHHHIIIIIIHHHHIIHHHHIIHHHHHHIIHHIIIIHHIIHHIIIIIIIIIIIIHHIIHHIIHHHHIIHHHHIIIIHHHHHHIIHHHHHHIIIIHHIIHHHHIIIIHHIIHHIIIIHHHHHHIIIIIIHHIIIIHHHHIIIIIIIIIIIIHHHHHHIIIIIIIIHHIIHHHHHHHHHHHHIIHHHHHHIIHHHHHHHHIIIIHHIIHHHHIIIIHHIIHHHHHHHHHHIIHHIIHHHHIIHHHHHHHHHHIIIIIIIIHHHHIIHHHHHHHHIIHHIIIIHHIIHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHIIHHHHHHIIHHHHHHIIHHHHHHIIHHIIHHHHIIHHHHHHIIIIIIHHIIIIHHHHHHIIHHHHHHHHHHIIIIHHIIHHIIHHHHIIHHHHIIHHHHHHHHIIHHHHIIHHIIIIHHHHHHIIIIHHHHHHHHHHHHIIIIIIHHIIHHIIHHIIIIIIHHHHHHHHHHHHHHHHHHIIHHIIIIHHIIHHHHHHIIIIHHHHHHHHHHHHHHHHIIHHHHIIIIIIHHIIIIIIHHIIHHHHIIHHIIHHIIHHHHHHHHIIIIIIHHHHHHHHIIIIHHIIIIIIHHHHHHIIHHIIIIHHHHHHIIHHIIHHHHIIHHIIHHIIIIHHIIIIIIHHHHHHHHIIHHIIHHHHIIHHHHIIHHHHIIHHHHHHHHIIHHHHHHHHHHHHHHIIIIHHHHHHHHIIIIHHHHIIHHIIHHHHHHHHIIIIHHHHHHHHHHIIHHIIHHHHIIHHHHIIIIIIHHHHHHIIIIHHIIIIIIHHHHIIIIHHHHHHIIIIIIHHHHHHHHHHHHHHIIHHHHHHIIHHHHHHHHIIIIIIHHIIHHHHHHHHIIHHIIHHHHHHHHHHIIHHHHHHHHHHHHHHHHHHHHHHHHIIHHHHIIHHHHHHHHHHHHHHHHIIHHHHHHHHIIIIHHIIHHIIHHIIHHIIIIHHHHIIIIHHHHHHIIHHHHIIHHHHHHHHIIHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHIIIIHHIIHHHHHHHHHHHHHHHHHHHHIIHHIIIIIIHHHHHHHHIIHHHHHHIIIIHHHHHHHHHHHHHHHHHHHHIIHHHHHHIIHHIIIIHHHHHHHHIIHHIIHHHHIIIIHHHHHHHHHHIIHHHHHHHHHHHHIIHHHHHHHHIIHHHHHHHHHHHHHHHHHHHHHHHHIIIIIIHHIIIIHHHHHHHHHHIIHHHHHHHHIIHHIIHHHHHHIIHHHHHHHHHHIIHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHIIIIIIHHIIIIIIIIHHHHHHHHHHHHIIHHHHHHHHHHHHHHHHIIHHIIHHHHHHIIHHIIIIHHIIHHHHIIIIHHHHHHHHHHHHHHHHIIHHIIHHHHIIHHHHHHHHHHIIIIHHIIHHIIHHIIHHHHHHHHHHIIHHIIHHHHIIHHIIHHHHHHHHHHHHHHHHIIHHHHHHHHHHIIHHHHHHHHHHHHHHHHIIHHIIHHHHIIIIHHHHIIHHIIHHHHHHHHHHHHHHHHHHIIHHIIHHHHHHHHHHIIIIHHHHHHHHHHIIHHHHHHHHHHIIHHHHIIHHIIIIHHHHHHHHHHHHHHHHHHHHHHHHIIHHIIHHIIHHIIHHHHHHIIHHHHHHHHHHHHHHHHIIHHHHHHHHHHIIHHHHHHHHIIIIHHHHHHHHHHHHHHHHHHIIHHIIHHIIIIHHHHHHIIIIHHHHHHHHIIHHHHHHIIHHHHIIHHHHHHHHIIHHIIHHHHHHHHHHIIHHHHIIIIHHIIHHIIHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHIIHHHHHHIIHHHHIIHHHHHHIIHHHHHHHHHHIIHHHHHHHHIIHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHIIHHIIHHIIHHHHHHIIHHHHHHIIHHHHIIIIHHHHHHHHHHHHHHHHIIIIHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHIIHHHHHHIIIIHHHHIIHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHIIHHIIHHHHHHHHHHHHHHHHHHHHHHIIIIHHHHHHIIHHHHHHHHHHHHIIHHIIHHHHHHHHHHHHHHHHHHHHHHHHHHIIHHIIHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHIIIIHHIIHHHHHHHHHHHHHHHHHHHHIIHHHHHHHHIIHHHHHHIIHHHHHHHHHHHHIIHHHHHHHHHHIIHHHHHHHHHHHHHHHHHHHHIIHHHHHHIIHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHIIHHIIHHHHHHHHHHHHHHHHHHHHHHHHHHHHIIHHHHHHHHHHIIHHHHHHHHHHIIHHIIHHIIHHHHHHHHHHHHIIHHHHHHHHIIIIHHHHIIHHHHHHIIHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHIIHHHHHHHHHHHHHHHHIIHHHHHHHHHHIIHHHHHHHHHHHHHHHHHHHHIIHHHHHHHHHHIIHHHHHHHHHHHHHHHHIIHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHIIHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHIIHHHHHHHHHHHHHHHHHHHHIIHHHHHHHHHHHHIIHHHHHHHHHHHHHHHHHHHHHHHHHHIIHHHHHHHHHHIIHHHHHHIIHHIIHHHHHHHHHHHHHHHHHHHHHHHHIIHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHIIIIHHHHHHHHHHIIIIHHHHHHHHIIIIHHHHIIHHHHHHHHHHHHHHHHHHIIHHHHHHHHHHHHHHIIHHHHHHHHHHHHHHIIHHHHIIHHHHHHHHHHHHHHHHHHIIHHHHHHHHHHHHHHIIIIHHHHHHHHHHHHHHIIHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHIIHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHIIHHHHHHHHHHHHHHHHHHHHHHIIHHHHHHHHHHHHHHHHHHHHHHHHIIIIHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHIIHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHIIHHIIHHHHHHHHHHHHHHHHIIIIIIIIIIIIIIIIHHHHIIHHIIIIIIIIHHIIIIHHHHHHHHIIHHIIIIIIHHIIIIHHHHHHIIIIIIIIIIHHIIHHHHHHIIIIIIHHIIIIIIHHIIHHIIHHIIIIIIHHIIIIHHHHIIIIIIHHIIHHIIIIIIHHHHIIIIIIHHHHIIIIHHHHIIIIIIIIIIIIIIHHHHHHIIIIHHHHIIHHHHIIIIIIIIHHIIIIIIIIIIIIHHHHHHIIHHIIHHIIHHHHHHIIIIHHHHHHIIHHIIHHIIHHHHIIHHIIHHIIIIIIIIIIIIHHHHIIHHIIHHHHIIIIIIHHHHIIIIIIIIHHIIIIHHHHIIIIIIIIHHIIIIIIIIHHHHIIHHIIIIIIIIHHIIIIIIHHHHHHHHIIHHIIHHHHIIHHIIIIIIIIIIHHIIHHHHIIIIHHIIIIHHHHIIHHHHHHHHHHIIIIHHIIHHIIIIHHIIIIIIIIHHHHIIHHIIIIIIIIIIIIIIHHHHHHHHIIIIIIIIIIHHIIIIHHHHHHHHHHIIHHIIIIIIHHIIHHIIHHHHHHHHIIHHHHIIIIIIHHHHIIIIIIIIHHHHIIIIIIIIIIHHHHHHIIHHHHIIIIIIIIIIHHIIHHHHIIIIIIIIIIHHIIIIHHHHIIIIIIHHHHIIIIHHHHIIIIHHHHHHIIIIIIIIIIIIIIHHIIIIHHIIIIHHHHHHIIIIIIHHIIIIIIIIHHHHIIHHHHIIIIHHIIIIHHHHHHIIIIIIHHIIIIHHIIHHHHIIHHHHIIHHHHHHIIIIIIHHIIIIIIIIHHIIIIIIHHHHHHIIHHIIHHIIIIIIIIIIIIIIHHHHHHIIHHHHIIHHHHIIIIHHIIHHIIHHHHIIHHIIHHIIHHHHHHHHIIIIIIHHIIHHIIIIHHIIIIHHIIIIHHHHHHHHIIIIIIHHHHHHIIHHIIIIIIIIIIIIIIHHIIHHHHIIHHHHIIIIIIHHIIIIHHHHIIIIIIHHIIHHHHHHHHHHIIIIIIIIHHIIIIHHIIHHHHHHHHHHHHHHHHIIHHIIIIHHIIIIHHIIHHHHHHIIHHIIIIIIHHIIIIIIHHHHIIIIHHHHIIIIHHHHIIIIIIIIHHHHHHHHHHIIIIIIIIHHIIHHHHIIHHIIHHIIIIHHIIHHHHHHHHHHIIHHHHIIHHHHHHIIHHHHHHHHIIIIHHIIIIIIIIHHIIIIIIIIIIIIHHIIHHIIIIIIHHHHIIIIIIIIIIHHHHHHIIHHIIIIHHHHIIIIIIIIHHHHHHHHIIIIHHIIHHHHIIHHHHIIHHIIIIIIIIIIIIHHIIIIHHIIHHIIIIIIHHIIIIIIHHIIHHIIHHIIIIIIIIHHHHIIIIHHIIHHHHIIIIIIHHIIHHIIHHHHIIHHIIHHIIHHHHIIHHIIIIHHHHIIHHHHIIHHHHHHIIIIHHHHHHIIHHHHHHIIHHHHHHHHHHIIIIHHHHHHIIIIIIIIHHIIHHIIHHHHHHHHHHHHHHHHHHHHIIIIIIIIIIIIHHIIIIHHIIIIHHHHIIHHIIIIIIHHHHHHIIIIIIHHIIHHIIHHIIHHHHHHIIHHIIIIHHHHIIHHHHIIHHHHHHHHHHIIHHIIIIHHHHHHHHIIHHHHHHIIIIHHHHHHIIIIIIHHHHIIIIIIHHHHHHIIIIHHHHHHHHIIIIIIIIIIHHHHIIHHHHHHIIIIHHIIHHIIIIHHHHIIIIIIIIIIIIHHHHIIHHHHHHIIHHHHIIIIIIHHHHHHIIHHIIHHIIHHIIHHHHHHIIIIIIHHIIIIIIHHIIIIHHHHHHHHHHIIIIIIIIIIIIHHIIIIIIIIHHIIIIIIHHIIIIIIHHIIIIIIIIIIHHHHIIIIHHHHIIHHHHIIIIHHIIHHIIHHHHIIIIIIIIHHHHHHHHIIIIIIHHIIIIIIHHHHIIHHHHIIIIHHHHHHHHIIIIHHIIHHIIHHHHHHIIIIHHHHHHIIIIHHHHHHHHHHHHIIIIHHHHHHIIIIIIHHHHHHHHHHHHHHIIIIIIHHHHHHHHIIHHHHHHHHHHIIHHHHIIIIIIHHHHHHIIIIHHHHHHHHHHIIIIIIIIHHHHHHHHHHHHIIHHHHIIHHIIHHHHHHIIHHHHHHIIHHHHHHIIIIHHIIHHHHIIIIHHHHHHHHHHIIIIHHHHHHHHIIIIIIHHHHIIIIHHHHHHIIHHHHHHHHHHIIHHHHHHIIHHIIIIHHIIIIIIIIHHHHIIHHIIIIHHIIHHHHHHIIHHHHHHIIHHHHHHIIHHHHHHHHIIHHHHIIIIIIHHHHIIHHHHHHIIIIHHHHIIHHHHHHIIIIHHIIHHIIIIHHHHIIIIHHHHHHHHIIHHHHIIHHHHHHIIIIIIIIHHHHHHHHIIHHHHIIIIIIHHHHIIHHHHHHHHIIIIHHIIIIIIHHHHHHHHHHIIHHIIHHIIIIIIHHIIIIHHHHIIIIHHHHHHIIHHIIIIHHIIIIHHHHIIIIHHHHHHHHHHHHIIHHHHHHHHIIHHHHIIHHHHHHIIIIIIIIIIHHHHIIHHIIHHHHHHIIIIIIHHHHHHIIHHIIHHHHIIHHHHHHIIHHHHHHIIIIIIIIIIIIHHHHHHIIHHIIIIHHHHHHHHIIHHIIIIIIHHIIIIHHIIHHHHIIHHIIIIIIIIHHHHIIHHHHHHHHHHIIHHIIHHHHHHHHHHIIIIHHHHHHHHHHIIHHHHHHHHIIIIHHIIIIHHIIHHHHHHHHIIHHHHHHHHHHHHHHHHHHHHIIHHHHIIIIHHHHHHIIHHHHIIHHIIHHHHIIHHHHHHHHHHHHHHIIHHHHHHHHIIHHIIHHHHHHHHHHHHIIIIHHHHHHIIIIHHHHIIIIHHHHIIIIHHHHIIHHIIHHHHIIIIHHIIHHHHHHHHHHHHIIHHHHHHIIIIIIIIHHHHHHHHHHHHIIHHHHHHIIHHHHHHIIIIHHHHHHHHHHIIHHHHIIHHHHHHHHIIIIHHHHHHIIHHHHIIHHHHIIHHIIIIHHHHHHHHIIHHHHHHIIHHHHHHIIHHHHIIIIHHHHIIIIIIIIHHHHHHIIHHHHHHHHIIHHIIIIHHIIHHHHHHIIIIIIHHHHHHHHHHHHHHIIHHHHIIIIHHHHIIIIHHHHHHHHHHHHHHIIIIHHHHHHHHHHIIHHIIHHHHIIHHIIIIHHHHHHIIHHIIHHIIHHIIHHHHHHIIIIHHIIHHIIIIHHIIHHIIIIHHIIIIIIHHHHHHHHHHIIHHHHIIIIHHHHIIHHHHIIHHHHHHHHIIHHHHHHHHHHIIHHIIIIHHHHHHHHIIIIIIHHIIHHIIIIHHHHHHIIIIHHIIHHHHHHIIIIIIHHHHIIHHHHIIIIIIHHIIIIIIIIHHIIIIIIHHHHIIHHHHHHHHIIIIIIHHHHHHHHHHHHHHHHHHHHHHHHHHIIHHHHIIIIIIHHIIHHHHHHHHHHHHHHIIHHHHHHHHIIHHHHHHHHHHHHHHHHHHHHHHHHIIHHIIIIHHHHHHHHHHHHIIHHIIHHIIHHIIHHHHHHHHIIHHIIIIHHHHHHHHIIHHHHHHHHIIHHHHIIHHHHHHHHHHHHIIHHIIHHHHHHIIHHHHIIIIHHHHHHIIHHHHHHIIHHHHHHIIHHIIHHHHIIHHIIHHHHHHHHHHHHIIIIHHHHHHIIHHIIHHIIHHIIIIHHHHHHHHHHHHHHHHHHHHIIHHIIHHHHIIHHHHHHIIHHHHHHHHHHIIHHIIHHHHHHHHIIHHIIIIHHHHIIIIHHIIHHHHHHIIIIHHHHHHIIHHIIHHHHHHHHIIHHHHIIHHHHHHHHHHHHHHHHIIHHHHHHIIIIHHIIIIHHHHIIHHHHIIHHHHHHHHHHHHHHIIHHIIHHIIHHHHHHHHHHHHIIHHIIIIIIIIIIIIIIIIHHHHIIHHIIIIIIIIHHIIIIHHHHHHHHIIHHIIIIIIHHIIIIHHHHHHIIIIIIIIIIHHIIHHHHHHIIIIIIHHIIIIIIHHIIHHIIHHIIIIIIHHIIIIHHHHIIIIIIHHIIHHIIIIIIHHHHIIIIIIHHHHIIIIHHHHIIIIIIIIIIIIIIHHHHHHIIIIHHHHIIHHHHIIIIIIIIHHIIIIIIIIIIIIHHHHHHIIHHIIHHIIHHHHHHIIIIHHHHHHIIHHIIHHIIHHHHIIHHIIHHIIIIIIIIIIIIHHHHIIHHIIHHHHIIIIIIHHHHIIIIIIIIHHIIIIHHHHIIIIIIIIHHIIIIIIIIHHHHIIHHIIIIIIIIHHIIIIIIHHHHHHHHIIHHIIHHHHIIHHIIIIIIIIIIHHIIHHHHIIIIHHIIIIHHHHIIHHHHHHHHHHIIIIHHIIHHIIIIHHIIIIIIIIHHHHIIHHIIIIIIIIIIIIIIHHHHHHHHIIIIIIIIIIHHIIIIHHHHHHHHHHIIHHIIIIIIHHIIHHIIHHHHHHHHIIHHHHIIIIIIHHHHIIIIIIIIHHHHIIIIIIIIIIHHHHHHIIHHHHIIIIIIIIIIHHIIHHHHIIIIIIIIIIHHIIIIHHHHIIIIIIHHHHIIIIHHHHIIIIHHHHHHIIIIIIIIIIIIIIHHIIIIHHIIIIHHHHHHIIIIIIHHIIIIIIIIHHHHIIHHHHIIIIHHIIIIHHHHHHIIIIIIHHIIIIHHIIHHHHIIHHHHIIHHHHHHIIIIIIHHIIIIIIIIHHIIIIIIHHHHHHIIHHIIHHIIIIIIIIIIIIIIHHHHHHIIHHHHIIHHHHIIIIHHIIHHIIHHHHIIHHIIHHIIHHHHHHHHIIIIIIHHIIHHIIIIHHIIIIHHIIIIHHHHHHHHIIIIIIHHHHHHIIHHIIIIIIIIIIIIIIHHIIHHHHIIHHHHIIIIIIHHIIIIHHHHIIIIIIHHIIHHHHHHHHHHIIIIIIIIHHIIIIHHIIHHHHHHHHHHHHHHHHIIHHIIIIHHIIIIHHIIHHHHHHIIHHIIIIIIHHIIIIIIHHHHIIIIHHHHIIIIHHHHIIIIIIIIHHHHHHHHHHIIIIIIIIHHIIHHHHIIHHIIHHIIIIHHIIHHHHHHHHHHIIHHHHIIHHHHHHIIHHHHHHHHIIIIHHIIIIIIIIHHIIIIIIIIIIIIHHIIHHIIIIIIHHHHIIIIIIIIIIHHHHHHIIHHIIIIHHHHIIIIIIIIHHHHHHHHIIIIHHIIHHHHIIHHHHIIHHIIIIIIIIIIIIHHIIIIHHIIHHIIIIIIHHIIIIIIHHIIHHIIHHIIIIIIIIHHHHIIIIHHIIHHHHIIIIIIHHIIHHIIHHHHIIHHIIHHIIHHHHIIHHIIIIHHHHIIHHHHIIHHHHHHIIIIHHHHHHIIHHHHHHIIHHHHHHHHHHIIIIHHHHHHIIIIIIIIHHIIHHIIHHHHHHHHHHHHHHHHHHHHIIIIIIIIIIIIHHIIIIHHIIIIHHHHIIHHIIIIIIHHHHHHIIIIIIHHIIHHIIHHIIHHHHHHIIHHIIIIHHHHIIHHHHIIHHHHHHHHHHIIHHIIIIHHHHHHHHIIHHHHHHIIIIHHHHHHIIIIIIHHHHIIIIIIHHHHHHIIIIHHHHHHHHIIIIIIIIIIHHHHIIHHHHHHIIIIHHIIHHIIIIHHHHIIIIIIIIIIIIHHHHIIHHHHHHIIHHHHIIIIIIHHHHHHIIHHIIHHIIHHIIHHHHHHIIIIIIHHIIIIIIHHIIIIHHHHHHHHHHIIIIIIIIIIIIHHIIIIIIIIHHIIIIIIHHIIIIIIHHIIIIIIIIIIHHHHIIIIHHHHIIHHHHIIIIHHIIHHIIHHHHIIIIIIIIHHHHHHHHIIIIIIHHIIIIIIHHHHIIHHHHIIIIHHHHHHHHIIIIHHIIHHIIHHHHHHIIIIHHHHHHIIIIHHHHHHHHHHHHIIIIHHHHHHIIIIIIHHHHHHHHHHHHHHIIIIIIHHHHHHHHIIHHHHHHHHHHIIHHHHIIIIIIHHHHHHIIIIHHHHHHHHHHIIIIIIIIHHHHHHHHHHHHIIHHHHIIHHIIHHHHHHIIHHHHHHIIHHHHHHIIIIHHIIHHHHIIIIHHHHHHHHHHIIIIHHHHHHHHIIIIIIHHHHIIIIHHHHHHIIHHHHHHHHHHIIHHHHHHIIHHIIIIHHIIIIIIIIHHHHIIHHIIIIHHIIHHHHHHIIHHHHHHIIHHHHHHIIHHHHHHHHIIHHHHIIIIIIHHHHIIHHHHHHIIIIHHHHIIHHHHHHIIIIHHIIHHIIIIHHHHIIIIHHHHHHHHIIHHHHIIHHHHHHIIIIIIIIHHHHHHHHIIHHHHIIIIIIHHHHIIHHHHHHHHIIIIHHIIIIIIHHHHHHHHHHIIHHIIHHIIIIIIHHIIIIHHHHIIIIHHHHHHIIHHIIIIHHIIIIHHHHIIIIHHHHHHHHHHHHIIHHHHHHHHIIHHHHIIHHHHHHIIIIIIIIIIHHHHIIHHIIHHHHHHIIIIIIHHHHHHIIHHIIHHHHIIHHHHHHIIHHHHHHIIIIIIIIIIIIHHHHHHIIHHIIIIHHHHHHHHIIHHIIIIIIHHIIIIHHIIHHHHIIHHIIIIIIIIHHHHIIHHHHHHHHHHIIHHIIHHHHHHHHHHIIIIHHHHHHHHHHIIHHHHHHHHIIIIHHIIIIHHIIHHHHHHHHIIHHHHHHHHHHHHHHHHHHHHIIHHHHIIIIHHHHHHIIHHHHIIHHIIHHHHIIHHHHHHHHHHHHHHIIHHHHHHHHIIHHIIHHHHHHHHHHHHIIIIHHHHHHIIIIHHHHIIIIHHHHIIIIHHHHIIHHIIHHHHIIIIHHIIHHHHHHHHHHHHIIHHHHHHIIIIIIIIHHHHHHHHHHHHIIHHHHHHIIHHHHHHIIIIHHHHHHHHHHIIHHHHIIHHHHHHHHIIIIHHHHHHIIHHHHIIHHHHIIHHIIIIHHHHHHHHIIHHHHHHIIHHHHHHIIHHHHIIIIHHHHIIIIIIIIHHHHHHIIHHHHHHHHIIHHIIIIHHIIHHHHHHIIIIIIHHHHHHHHHHHHHHIIHHHHIIIIHHHHIIIIHHHHHHHHHHHHHHIIIIHHHHHHHHHHIIHHIIHHHHIIHHIIIIHHHHHHIIHHIIHHIIHHIIHHHHHHIIIIHHIIHHIIIIHHIIHHIIIIHHIIIIIIHHHHHHHHHHIIHHHHIIIIHHHHIIHHHHIIHHHHHHHHIIHHHHHHHHHHIIHHIIIIHHHHHHHHIIIIIIHHIIHHIIIIHHHHHHIIIIHHIIHHHHHHIIIIIIHHHHIIHHHHIIIIIIHHIIIIIIIIHHIIIIIIHHHHIIHHHHHHHHIIIIIIHHHHHHHHHHHHHHHHHHHHHHHHHHIIHHHHIIIIIIHHIIHHHHHHHHHHHHHHIIHHHHHHHHIIHHHHHHHHHHHHHHHHHHHHHHHHIIHHIIIIHHHHHHHHHHHHIIHHIIHHIIHHIIHHHHHHHHIIHHIIIIHHHHHHHHIIHHHHHHHHIIHHHHIIHHHHHHHHHHHHIIHHIIHHHHHHIIHHHHIIIIHHHHHHIIHHHHHHIIHHHHHHIIHHIIHHHHIIHHIIHHHHHHHHHHHHIIIIHHHHHHIIHHIIHHIIHHIIIIHHHHHHHHHHHHHHHHHHHHIIHHIIHHHHIIHHHHHHIIHHHHHHHHHHIIHHIIHHHHHHHHIIHHIIIIHHHHIIIIHHIIHHHHHHIIIIHHHHHHIIHHIIHHHHHHHHIIHHHHIIHHHHHHHHHHHHHHHHIIHHHHHHIIIIHHIIIIHHHHIIHHHHIIHHHHHHHHHHHHHHIIHHIIHHIIHHHHHHHHHHHHIIHHIIIIIIIIHHIIIIHHIIHHIIIIHHHHIIIIIIIIHHIIHHIIHHIIIIIIIIIIHHIIIIIIIIIIIIIIIIIIIIHHIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIHHIIHHIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIHHIIIIHHIIIIIIIIIIIIIIIIIIIIIIIIHHIIIIIIIIIIIIHHIIIIHHIIIIHHIIIIHHHHHHIIIIHHIIIIIIHHIIIIIIIIIIHHHHIIIIIIIIIIHHIIHHIIIIIIIIHHIIIIIIIIHHIIIIIIIIIIHHIIIIIIIIIIIIHHHHHHHHIIIIIIIIHHHHIIIIIIIIIIIIHHHHIIIIIIIIIIHHHHIIHHIIIIIIIIIIIIIIIIIIHHIIIIHHIIIIHHHHIIHHHHIIHHIIIIIIHHIIHHHHHHHHIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIHHIIIIIIIIIIIIHHIIHHHHHHHHIIHHIIIIHHIIHHHHIIIIHHIIIIIIHHIIIIIIIIIIIIIIIIIIHHIIIIIIIIIIIIIIIIIIIIIIIIIIHHIIIIIIIIHHIIHHHHHHIIIIIIIIIIIIIIIIIIIIHHIIIIIIIIIIHHHHHHHHIIIIIIIIIIHHIIHHIIHHIIIIIIHHHHIIIIIIIIIIIIHHIIIIIIIIHHHHIIIIIIIIIIHHHHIIIIIIHHIIIIIIIIHHHHIIHHHHIIIIIIIIHHIIIIIIIIIIIIIIIIIIHHHHIIIIIIIIIIIIIIIIHHIIHHIIIIIIIIHHIIHHHHIIIIHHIIIIHHIIIIHHIIIIIIHHIIIIIIHHHHIIIIIIIIIIIIIIHHHHIIIIHHHHHHIIIIIIIIIIHHHHIIIIHHHHHHIIIIIIIIIIHHIIIIIIIIIIIIHHIIIIIIIIIIIIIIHHIIIIIIHHHHIIHHIIIIIIHHIIIIIIHHIIHHIIIIHHIIIIIIIIHHIIIIIIHHIIIIIIHHIIIIHHIIHHIIIIIIIIHHIIHHIIIIIIHHIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIHHHHHHIIIIIIIIIIIIHHHHIIIIHHIIIIIIHHIIIIIIIIIIIIHHHHHHIIIIIIIIIIIIIIIIHHIIHHIIHHIIHHHHIIHHIIHHHHIIIIIIIIHHIIIIIIIIHHIIIIIIIIHHHHHHIIIIIIHHIIIIIIHHHHHHHHIIIIHHIIIIIIIIHHIIIIHHIIHHIIHHHHIIHHIIHHIIIIIIIIIIHHIIIIHHIIIIHHIIIIIIHHHHIIIIHHIIIIIIIIIIIIIIIIHHIIIIIIIIIIHHHHIIHHIIIIIIHHIIIIHHHHIIIIHHHHIIIIIIHHHHIIIIIIIIHHHHIIIIIIHHIIIIIIHHIIIIIIIIIIHHIIHHIIIIIIHHHHHHIIIIIIHHIIHHIIIIIIIIHHIIIIIIIIHHIIIIIIIIHHIIIIIIHHIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIHHIIIIIIIIIIHHIIHHHHIIHHHHIIIIIIIIIIIIIIIIIIIIIIIIIIIIHHIIIIIIHHIIIIHHIIIIIIHHHHIIIIIIIIIIIIIIHHIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIHHIIIIIIIIIIIIHHHHIIIIIIIIHHIIIIHHIIIIIIIIHHIIIIIIIIIIHHIIIIIIIIIIIIHHIIIIIIIIIIIIIIIIHHHHHHIIIIHHIIIIIIIIIIHHHHHHHHIIHHIIHHIIHHIIIIHHHHIIIIIIIIIIIIHHIIHHHHHHIIIIHHIIIIIIIIHHIIHHHHIIIIIIIIHHHHIIIIHHIIIIIIHHIIHHIIIIIIHHHHIIIIIIHHIIHHIIIIIIIIIIIIIIHHIIHHHHHHHHIIIIHHIIHHIIHHHHIIIIIIHHIIIIIIIIIIIIHHHHIIIIHHIIIIIIIIIIHHHHIIIIHHHHIIHHIIHHIIHHIIIIHHIIIIIIHHIIIIIIIIHHHHIIHHIIHHHHIIIIIIIIIIIIIIIIIIIIIIIIHHHHIIIIIIIIIIHHIIIIIIIIIIIIHHIIIIHHIIIIIIIIHHIIHHHHHHIIIIIIIIHHIIHHIIIIHHHHIIIIIIHHHHIIIIIIHHIIHHIIIIIIIIHHHHHHIIIIHHIIHHIIIIIIIIIIIIIIIIIIHHIIIIIIIIHHIIIIHHIIIIHHHHIIIIHHHHIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIHHIIHHIIIIIIIIHHIIHHIIIIIIHHIIHHHHHHIIHHIIHHIIIIIIHHIIIIIIIIHHIIIIIIHHHHHHHHIIIIHHIIHHIIIIIIIIHHIIIIIIIIIIIIIIIIIIIIHHHHHHIIIIIIIIIIIIIIIIIIIIIIIIHHIIIIHHHHIIIIHHHHIIHHIIIIIIIIIIIIIIHHIIIIIIIIIIIIIIHHHHIIIIHHIIIIIIIIHHIIIIHHIIIIHHHHIIIIIIHHHHHHIIHHIIHHHHIIHHHHHHIIHHIIHHHHIIHHHHIIIIIIHHIIIIIIHHIIHHHHHHHHIIIIIIIIHHHHIIIIIIHHHHIIIIIIHHHHIIIIIIIIIIIIHHIIIIIIHHIIIIIIIIIIHHIIHHHHHHIIIIIIIIIIIIIIIIIIHHIIHHIIHHIIHHIIHHHHIIIIIIIIIIIIHHIIIIIIIIIIHHHHHHIIIIHHIIIIIIHHIIIIHHIIIIHHHHHHHHIIIIIIIIHHIIIIIIHHIIIIIIIIIIIIHHIIIIIIIIIIHHIIIIIIHHIIIIIIHHHHHHIIHHHHIIIIHHIIIIHHIIHHHHIIHHHHIIIIIIHHIIHHHHIIHHIIIIIIHHHHIIIIIIHHHHIIIIIIIIIIHHIIIIHHIIIIHHIIIIHHHHIIIIIIHHHHIIIIHHHHHHIIIIIIIIHHIIIIHHHHIIIIIIIIIIIIIIHHIIHHHHHHHHHHIIHHIIHHIIIIIIHHIIHHIIIIIIIIHHIIHHHHIIHHHHIIHHHHIIIIIIHHHHIIIIHHHHHHIIIIHHIIHHHHIIIIIIIIIIHHIIHHHHHHIIHHIIIIIIHHHHIIIIHHHHIIIIHHHHIIHHHHIIIIIIIIHHIIIIHHHHHHIIHHIIIIHHIIIIHHIIIIIIHHHHIIIIIIHHHHHHHHHHIIHHIIHHIIHHHHHHIIHHIIIIIIIIHHIIHHIIIIIIIIIIIIHHIIIIHHIIIIIIIIIIHHIIIIIIIIIIHHHHHHHHHHHHHHHHHHHHIIHHIIIIHHIIIIHHIIIIIIIIHHHHIIIIHHHHIIIIHHIIIIIIHHIIIIIIIIIIHHIIIIHHHHIIIIHHHHIIIIIIHHIIIIIIIIIIHHHHIIHHIIHHHHIIIIIIHHIIHHHHHHHHIIIIIIHHIIIIHHHHHHIIIIHHIIIIIIHHIIIIIIHHIIIIHHIIIIHHHHHHHHIIHHIIIIIIHHIIHHHHIIIIHHIIIIIIHHIIIIHHHHHHHHIIHHHHHHHHIIIIIIIIIIIIIIHHHHHHIIIIHHIIIIIIIIHHHHHHHHHHHHIIHHHHHHHHHHHHHHIIIIHHIIHHHHIIIIIIHHHHIIIIHHHHHHHHIIIIIIIIHHIIIIIIIIHHHHHHHHHHHHIIHHHHIIHHIIHHHHHHHHHHIIIIIIHHIIIIHHHHIIHHHHHHIIIIHHHHIIHHIIHHIIHHIIHHIIHHIIIIIIHHIIIIIIHHIIIIIIHHHHHHHHHHHHIIHHHHHHIIHHIIIIHHIIIIHHHHIIIIIIHHHHHHIIHHHHIIIIHHIIHHIIHHHHHHIIHHIIIIIIHHHHHHHHIIIIHHIIIIHHHHHHIIIIHHHHHHHHHHIIHHIIHHIIIIIIIIHHIIIIHHIIHHIIIIHHHHIIIIIIIIHHIIHHIIHHIIIIIIIIIIHHIIIIIIIIIIIIIIIIIIIIHHIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIHHIIHHIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIHHIIIIHHIIIIIIIIIIIIIIIIIIIIIIIIHHIIIIIIIIIIIIHHIIIIHHIIIIHHIIIIHHHHHHIIIIHHIIIIIIHHIIIIIIIIIIHHHHIIIIIIIIIIHHIIHHIIIIIIIIHHIIIIIIIIHHIIIIIIIIIIHHIIIIIIIIIIIIHHHHHHHHIIIIIIIIHHHHIIIIIIIIIIIIHHHHIIIIIIIIIIHHHHIIHHIIIIIIIIIIIIIIIIIIHHIIIIHHIIIIHHHHIIHHHHIIHHIIIIIIHHIIHHHHHHHHIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIHHIIIIIIIIIIIIHHIIHHHHHHHHIIHHIIIIHHIIHHHHIIIIHHIIIIIIHHIIIIIIIIIIIIIIIIIIHHIIIIIIIIIIIIIIIIIIIIIIIIIIHHIIIIIIIIHHIIHHHHHHIIIIIIIIIIIIIIIIIIIIHHIIIIIIIIIIHHHHHHHHIIIIIIIIIIHHIIHHIIHHIIIIIIHHHHIIIIIIIIIIIIHHIIIIIIIIHHHHIIIIIIIIIIHHHHIIIIIIHHIIIIIIIIHHHHIIHHHHIIIIIIIIHHIIIIIIIIIIIIIIIIIIHHHHIIIIIIIIIIIIIIIIHHIIHHIIIIIIIIHHIIHHHHIIIIHHIIIIHHIIIIHHIIIIIIHHIIIIIIHHHHIIIIIIIIIIIIIIHHHHIIIIHHHHHHIIIIIIIIIIHHHHIIIIHHHHHHIIIIIIIIIIHHIIIIIIIIIIIIHHIIIIIIIIIIIIIIHHIIIIIIHHHHIIHHIIIIIIHHIIIIIIHHIIHHIIIIHHIIIIIIIIHHIIIIIIHHIIIIIIHHIIIIHHIIHHIIIIIIIIHHIIHHIIIIIIHHIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIHHHHHHIIIIIIIIIIIIHHHHIIIIHHIIIIIIHHIIIIIIIIIIIIHHHHHHIIIIIIIIIIIIIIIIHHIIHHIIHHIIHHHHIIHHIIHHHHIIIIIIIIHHIIIIIIIIHHIIIIIIIIHHHHHHIIIIIIHHIIIIIIHHHHHHHHIIIIHHIIIIIIIIHHIIIIHHIIHHIIHHHHIIHHIIHHIIIIIIIIIIHHIIIIHHIIIIHHIIIIIIHHHHIIIIHHIIIIIIIIIIIIIIIIHHIIIIIIIIIIHHHHIIHHIIIIIIHHIIIIHHHHIIIIHHHHIIIIIIHHHHIIIIIIIIHHHHIIIIIIHHIIIIIIHHIIIIIIIIIIHHIIHHIIIIIIHHHHHHIIIIIIHHIIHHIIIIIIIIHHIIIIIIIIHHIIIIIIIIHHIIIIIIHHIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIHHIIIIIIIIIIHHIIHHHHIIHHHHIIIIIIIIIIIIIIIIIIIIIIIIIIIIHHIIIIIIHHIIIIHHIIIIIIHHHHIIIIIIIIIIIIIIHHIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIHHIIIIIIIIIIIIHHHHIIIIIIIIHHIIIIHHIIIIIIIIHHIIIIIIIIIIHHIIIIIIIIIIIIHHIIIIIIIIIIIIIIIIHHHHHHIIIIHHIIIIIIIIIIHHHHHHHHIIHHIIHHIIHHIIIIHHHHIIIIIIIIIIIIHHIIHHHHHHIIIIHHIIIIIIIIHHIIHHHHIIIIIIIIHHHHIIIIHHIIIIIIHHIIHHIIIIIIHHHHIIIIIIHHIIHHIIIIIIIIIIIIIIHHIIHHHHHHHHIIIIHHIIHHIIHHHHIIIIIIHHIIIIIIIIIIIIHHHHIIIIHHIIIIIIIIIIHHHHIIIIHHHHIIHHIIHHIIHHIIIIHHIIIIIIHHIIIIIIIIHHHHIIHHIIHHHHIIIIIIIIIIIIIIIIIIIIIIIIHHHHIIIIIIIIIIHHIIIIIIIIIIIIHHIIIIHHIIIIIIIIHHIIHHHHHHIIIIIIIIHHIIHHIIIIHHHHIIIIIIHHHHIIIIIIHHIIHHIIIIIIIIHHHHHHIIIIHHIIHHIIIIIIIIIIIIIIIIIIHHIIIIIIIIHHIIIIHHIIIIHHHHIIIIHHHHIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIHHIIHHIIIIIIIIHHIIHHIIIIIIHHIIHHHHHHIIHHIIHHIIIIIIHHIIIIIIIIHHIIIIIIHHHHHHHHIIIIHHIIHHIIIIIIIIHHIIIIIIIIIIIIIIIIIIIIHHHHHHIIIIIIIIIIIIIIIIIIIIIIIIHHIIIIHHHHIIIIHHHHIIHHIIIIIIIIIIIIIIHHIIIIIIIIIIIIIIHHHHIIIIHHIIIIIIIIHHIIIIHHIIIIHHHHIIIIIIHHHHHHIIHHIIHHHHIIHHHHHHIIHHIIHHHHIIHHHHIIIIIIHHIIIIIIHHIIHHHHHHHHIIIIIIIIHHHHIIIIIIHHHHIIIIIIHHHHIIIIIIIIIIIIHHIIIIIIHHIIIIIIIIIIHHIIHHHHHHIIIIIIIIIIIIIIIIIIHHIIHHIIHHIIHHIIHHHHIIIIIIIIIIIIHHIIIIIIIIIIHHHHHHIIIIHHIIIIIIHHIIIIHHIIIIHHHHHHHHIIIIIIIIHHIIIIIIHHIIIIIIIIIIIIHHIIIIIIIIIIHHIIIIIIHHIIIIIIHHHHHHIIHHHHIIIIHHIIIIHHIIHHHHIIHHHHIIIIIIHHIIHHHHIIHHIIIIIIHHHHIIIIIIHHHHIIIIIIIIIIHHIIIIHHIIIIHHIIIIHHHHIIIIIIHHHHIIIIHHHHHHIIIIIIIIHHIIIIHHHHIIIIIIIIIIIIIIHHIIHHHHHHHHHHIIHHIIHHIIIIIIHHIIHHIIIIIIIIHHIIHHHHIIHHHHIIHHHHIIIIIIHHHHIIIIHHHHHHIIIIHHIIHHHHIIIIIIIIIIHHIIHHHHHHIIHHIIIIIIHHHHIIIIHHHHIIIIHHHHIIHHHHIIIIIIIIHHIIIIHHHHHHIIHHIIIIHHIIIIHHIIIIIIHHHHIIIIIIHHHHHHHHHHIIHHIIHHIIHHHHHHIIHHIIIIIIIIHHIIHHIIIIIIIIIIIIHHIIIIHHIIIIIIIIIIHHIIIIIIIIIIHHHHHHHHHHHHHHHHHHHHIIHHIIIIHHIIIIHHIIIIIIIIHHHHIIIIHHHHIIIIHHIIIIIIHHIIIIIIIIIIHHIIIIHHHHIIIIHHHHIIIIIIHHIIIIIIIIIIHHHHIIHHIIHHHHIIIIIIHHIIHHHHHHHHIIIIIIHHIIIIHHHHHHIIIIHHIIIIIIHHIIIIIIHHIIIIHHIIIIHHHHHHHHIIHHIIIIIIHHIIHHHHIIIIHHIIIIIIHHIIIIHHHHHHHHIIHHHHHHHHIIIIIIIIIIIIIIHHHHHHIIIIHHIIIIIIIIHHHHHHHHHHHHIIHHHHHHHHHHHHHHIIIIHHIIHHHHIIIIIIHHHHIIIIHHHHHHHHIIIIIIIIHHIIIIIIIIHHHHHHHHHHHHIIHHHHIIHHIIHHHHHHHHHHIIIIIIHHIIIIHHHHIIHHHHHHIIIIHHHHIIHHIIHHIIHHIIHHIIHHIIIIIIHHIIIIIIHHIIIIIIHHHHHHHHHHHHIIHHHHHHIIHHIIIIHHIIIIHHHHIIIIIIHHHHHHIIHHHHIIIIHHIIHHIIHHHHHHIIHHIIIIIIHHHHHHHHIIIIHHIIIIHHHHHHIIIIHHHHHHHHHHIIHHIIHHIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIHHIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIHHIIIIIIIIIIIIIIIIIIIIIIIIIIHHIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIHHIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIHHIIIIIIHHIIHHIIIIIIIIIIIIIIIIIIIIIIIIHHIIIIIIIIIIIIIIIIIIIIIIIIIIHHIIIIIIIIIIIIIIIIIIHHIIIIIIIIHHIIIIIIIIIIHHIIIIIIIIIIHHIIIIIIIIIIIIIIIIIIIIHHIIIIIIIIIIIIIIHHIIIIIIIIIIIIIIIIHHIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIHHIIIIIIHHIIIIIIIIIIIIIIIIIIIIIIIIIIIIHHIIIIIIIIIIIIIIIIHHIIIIIIIIIIIIIIHHHHIIIIIIIIIIIIIIIIIIIIIIIIHHIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIHHIIIIIIIIIIIIHHHHIIIIIIIIIIHHIIIIIIIIIIIIHHIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIHHIIHHIIIIIIIIIIHHIIIIIIIIIIIIIIHHIIIIHHIIIIIIIIIIIIHHIIIIIIIIIIHHIIIIIIIIIIIIIIIIIIIIHHIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIHHIIIIIIIIIIHHIIIIIIIIIIIIIIIIIIIIIIHHIIIIIIHHIIIIHHIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIHHIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIHHIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIHHIIIIIIIIIIIIIIIIIIHHIIIIIIIIHHIIIIHHIIIIHHIIIIIIIIIIIIHHIIIIIIIIHHIIIIIIHHIIIIIIHHHHIIIIHHIIIIIIIIIIIIIIIIIIIIHHIIIIIIIIIIIIIIIIIIIIIIIIHHIIIIIIIIIIIIHHIIIIIIIIHHIIIIIIIIIIIIIIIIIIHHIIHHIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIHHHHIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIHHHHIIIIIIIIIIIIIIIIIIIIIIIIIIIIHHHHIIIIIIIIIIIIIIIIHHIIIIIIIIIIIIIIIIIIHHIIIIIIHHIIIIIIIIIIIIIIIIIIIIIIIIHHIIIIIIIIIIIIHHIIIIIIIIHHIIIIIIIIIIIIIIHHHHIIIIIIIIIIIIIIIIIIHHHHIIIIIIIIIIHHIIIIIIHHIIIIIIIIHHIIIIIIHHIIIIIIIIIIIIIIIIHHHHIIIIIIIIHHIIIIIIHHIIIIIIIIIIIIIIIIIIIIIIIIHHIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIHHIIHHIIIIIIIIIIIIHHIIIIIIIIHHIIIIIIIIIIIIIIIIIIIIIIIIIIHHIIIIIIHHIIHHIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIHHIIIIIIIIHHIIIIIIIIIIIIIIIIIIIIHHIIIIIIHHIIIIIIIIIIHHIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIHHIIIIIIHHIIIIIIIIIIIIIIIIIIHHIIIIIIIIHHHHIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIHHIIHHIIIIIIIIHHIIIIIIIIIIHHIIIIIIIIHHIIHHIIHHIIIIIIIIHHHHIIIIIIHHIIIIIIIIHHHHIIIIIIIIHHIIIIIIIIIIIIIIHHIIIIIIIIHHIIIIIIIIIIIIHHIIIIIIHHIIIIIIIIIIIIHHHHHHIIIIIIIIIIIIHHIIIIHHIIIIIIHHIIIIIIIIIIIIIIHHIIIIIIIIHHIIIIHHIIIIIIIIIIIIIIIIHHHHHHIIIIHHIIIIIIIIHHIIIIHHHHIIIIIIIIIIIIIIHHIIIIIIHHIIIIIIIIIIIIIIIIIIIIIIHHIIIIIIHHIIIIIIIIIIIIHHIIHHIIHHIIIIIIIIIIIIIIIIIIHHIIIIHHIIIIIIIIIIHHIIIIIIHHIIHHIIHHHHIIIIIIHHIIIIIIIIIIIIIIIIIIHHIIHHIIIIIIIIHHIIIIIIIIIIIIIIIIHHIIHHHHHHIIIIHHIIIIIIIIIIIIIIIIHHHHIIIIIIHHHHIIIIIIHHIIIIIIIIIIIIIIIIIIIIIIIIIIIIHHHHHHIIHHHHIIIIIIIIIIIIIIHHIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIHHHHHHIIIIIIHHIIHHIIIIIIIIIIHHIIIIIIIIIIHHIIHHIIIIHHHHIIIIIIIIIIIIIIIIIIIIIIHHIIIIIIIIIIIIIIHHHHIIHHIIIIIIIIHHIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIHHHHIIHHIIIIIIIIIIIIIIIIIIIIIIHHIIHHIIIIIIIIIIHHHHHHIIIIIIIIHHIIHHIIHHHHIIHHIIIIIIIIIIIIHHIIIIIIHHHHIIIIHHIIHHHHIIIIIIIIHHHHHHIIIIIIIIHHIIHHHHHHIIIIIIIIIIHHIIIIIIIIHHIIHHIIIIHHIIHHHHIIIIIIHHIIIIHHIIHHIIIIIIIIIIIIHHHHHHHHIIIIIIHHHHIIIIIIIIHHIIHHIIIIIIIIHHIIIIIIIIIIIIIIIIIIIIIIIIHHHHIIIIIIHHIIIIIIIIIIHHIIHHHHIIIIIIIIHHIIIIHHIIHHHHIIIIIIHHIIIIHHIIIIIIHHIIIIIIHHHHIIHHIIIIIIIIIIIIIIHHHHHHIIHHHHHHIIIIIIIIIIIIIIIIIIIIIIHHIIIIIIIIIIHHHHHHIIIIIIHHIIHHIIIIIIHHIIIIHHIIIIIIIIIIIIIIIIIIIIHHHHIIIIIIIIIIIIIIIIIIHHIIHHIIIIIIIIHHIIIIIIIIHHIIIIIIIIIIIIHHIIIIHHIIHHIIIIHHHHIIIIIIIIHHHHHHIIIIHHIIIIIIIIIIIIIIIIHHHHIIIIHHIIHHIIIIIIIIHHHHHHIIIIIIHHIIIIHHIIHHIIIIHHIIIIIIHHHHIIIIHHHHIIIIIIIIIIHHIIHHIIIIIIIIIIIIIIIIHHIIIIIIIIIIHHIIIIIIIIHHHHHHIIIIIIHHIIIIIIIIIIIIIIIIHHIIIIIIHHHHIIHHIIIIIIHHIIIIIIIIIIIIHHHHIIIIIIIIHHIIIIIIIIIIHHIIIIIIIIHHIIIIIIIIIIIIHHIIIIIIHHHHHHIIHHIIHHIIIIHHHHIIIIIIIIIIHHIIIIHHIIIIIIIIIIHHIIHHHHIIIIIIHHIIIIHHIIIIHHIIIIIIHHIIHHIIIIHHHHIIIIIIIIIIIIHHHHIIIIHHHHIIHHIIIIIIIIHHHHIIIIIIIIIIIIIIIIHHIIIIIIIIIIHHIIIIIIHHIIIIIIIIHHHHIIIIIIHHIIIIIIHHIIIIHHHHIIHHIIHHIIIIIIHHIIIIIIIIIIIIHHHHHHHHHHIIHHIIIIHHIIHHIIIIIIIIHHIIIIHHIIHHHHHHHHIIHHHHIIIIIIHHIIHHIIHHIIIIHHIIHHIIHHIIIIIIIIIIHHIIIIIIIIIIIIHHHHIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIHHIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIHHIIIIIIIIIIIIIIIIIIIIIIIIIIHHIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIHHIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIHHIIIIIIHHIIHHIIIIIIIIIIIIIIIIIIIIIIIIHHIIIIIIIIIIIIIIIIIIIIIIIIIIHHIIIIIIIIIIIIIIIIIIHHIIIIIIIIHHIIIIIIIIIIHHIIIIIIIIIIHHIIIIIIIIIIIIIIIIIIIIHHIIIIIIIIIIIIIIHHIIIIIIIIIIIIIIIIHHIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIHHIIIIIIHHIIIIIIIIIIIIIIIIIIIIIIIIIIIIHHIIIIIIIIIIIIIIIIHHIIIIIIIIIIIIIIHHHHIIIIIIIIIIIIIIIIIIIIIIIIHHIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIHHIIIIIIIIIIIIHHHHIIIIIIIIIIHHIIIIIIIIIIIIHHIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIHHIIHHIIIIIIIIIIHHIIIIIIIIIIIIIIHHIIIIHHIIIIIIIIIIIIHHIIIIIIIIIIHHIIIIIIIIIIIIIIIIIIIIHHIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIHHIIIIIIIIIIHHIIIIIIIIIIIIIIIIIIIIIIHHIIIIIIHHIIIIHHIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIHHIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIHHIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIHHIIIIIIIIIIIIIIIIIIHHIIIIIIIIHHIIIIHHIIIIHHIIIIIIIIIIIIHHIIIIIIIIHHIIIIIIHHIIIIIIHHHHIIIIHHIIIIIIIIIIIIIIIIIIIIHHIIIIIIIIIIIIIIIIIIIIIIIIHHIIIIIIIIIIIIHHIIIIIIIIHHIIIIIIIIIIIIIIIIIIHHIIHHIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIHHHHIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIHHHHIIIIIIIIIIIIIIIIIIIIIIIIIIIIHHHHIIIIIIIIIIIIIIIIHHIIIIIIIIIIIIIIIIIIHHIIIIIIHHIIIIIIIIIIIIIIIIIIIIIIIIHHIIIIIIIIIIIIHHIIIIIIIIHHIIIIIIIIIIIIIIHHHHIIIIIIIIIIIIIIIIIIHHHHIIIIIIIIIIHHIIIIIIHHIIIIIIIIHHIIIIIIHHIIIIIIIIIIIIIIIIHHHHIIIIIIIIHHIIIIIIHHIIIIIIIIIIIIIIIIIIIIIIIIHHIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIHHIIHHIIIIIIIIIIIIHHIIIIIIIIHHIIIIIIIIIIIIIIIIIIIIIIIIIIHHIIIIIIHHIIHHIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIHHIIIIIIIIHHIIIIIIIIIIIIIIIIIIIIHHIIIIIIHHIIIIIIIIIIHHIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIHHIIIIIIHHIIIIIIIIIIIIIIIIIIHHIIIIIIIIHHHHIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIHHIIHHIIIIIIIIHHIIIIIIIIIIHHIIIIIIIIHHIIHHIIHHIIIIIIIIHHHHIIIIIIHHIIIIIIIIHHHHIIIIIIIIHHIIIIIIIIIIIIIIHHIIIIIIIIHHIIIIIIIIIIIIHHIIIIIIHHIIIIIIIIIIIIHHHHHHIIIIIIIIIIIIHHIIIIHHIIIIIIHHIIIIIIIIIIIIIIHHIIIIIIIIHHIIIIHHIIIIIIIIIIIIIIIIHHHHHHIIIIHHIIIIIIIIHHIIIIHHHHIIIIIIIIIIIIIIHHIIIIIIHHIIIIIIIIIIIIIIIIIIIIIIHHIIIIIIHHIIIIIIIIIIIIHHIIHHIIHHIIIIIIIIIIIIIIIIIIHHIIIIHHIIIIIIIIIIHHIIIIIIHHIIHHIIHHHHIIIIIIHHIIIIIIIIIIIIIIIIIIHHIIHHIIIIIIIIHHIIIIIIIIIIIIIIIIHHIIHHHHHHIIIIHHIIIIIIIIIIIIIIIIHHHHIIIIIIHHHHIIIIIIHHIIIIIIIIIIIIIIIIIIIIIIIIIIIIHHHHHHIIHHHHIIIIIIIIIIIIIIHHIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIHHHHHHIIIIIIHHIIHHIIIIIIIIIIHHIIIIIIIIIIHHIIHHIIIIHHHHIIIIIIIIIIIIIIIIIIIIIIHHIIIIIIIIIIIIIIHHHHIIHHIIIIIIIIHHIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIHHHHIIHHIIIIIIIIIIIIIIIIIIIIIIHHIIHHIIIIIIIIIIHHHHHHIIIIIIIIHHIIHHIIHHHHIIHHIIIIIIIIIIIIHHIIIIIIHHHHIIIIHHIIHHHHIIIIIIIIHHHHHHIIIIIIIIHHIIHHHHHHIIIIIIIIIIHHIIIIIIIIHHIIHHIIIIHHIIHHHHIIIIIIHHIIIIHHIIHHIIIIIIIIIIIIHHHHHHHHIIIIIIHHHHIIIIIIIIHHIIHHIIIIIIIIHHIIIIIIIIIIIIIIIIIIIIIIIIHHHHIIIIIIHHIIIIIIIIIIHHIIHHHHIIIIIIIIHHIIIIHHIIHHHHIIIIIIHHIIIIHHIIIIIIHHIIIIIIHHHHIIHHIIIIIIIIIIIIIIHHHHHHIIHHHHHHIIIIIIIIIIIIIIIIIIIIIIHHIIIIIIIIIIHHHHHHIIIIIIHHIIHHIIIIIIHHIIIIHHIIIIIIIIIIIIIIIIIIIIHHHHIIIIIIIIIIIIIIIIIIHHIIHHIIIIIIIIHHIIIIIIIIHHIIIIIIIIIIIIHHIIIIHHIIHHIIIIHHHHIIIIIIIIHHHHHHIIIIHHIIIIIIIIIIIIIIIIHHHHIIIIHHIIHHIIIIIIIIHHHHHHIIIIIIHHIIIIHHIIHHIIIIHHIIIIIIHHHHIIIIHHHHIIIIIIIIIIHHIIHHIIIIIIIIIIIIIIIIHHIIIIIIIIIIHHIIIIIIIIHHHHHHIIIIIIHHIIIIIIIIIIIIIIIIHHIIIIIIHHHHIIHHIIIIIIHHIIIIIIIIIIIIHHHHIIIIIIIIHHIIIIIIIIIIHHIIIIIIIIHHIIIIIIIIIIIIHHIIIIIIHHHHHHIIHHIIHHIIIIHHHHIIIIIIIIIIHHIIIIHHIIIIIIIIIIHHIIHHHHIIIIIIHHIIIIHHIIIIHHIIIIIIHHIIHHIIIIHHHHIIIIIIIIIIIIHHHHIIIIHHHHIIHHIIIIIIIIHHHHIIIIIIIIIIIIIIIIHHIIIIIIIIIIHHIIIIIIHHIIIIIIIIHHHHIIIIIIHHIIIIIIHHIIIIHHHHIIHHIIHHIIIIIIHHIIIIIIIIIIIIHHHHHHHHHHIIHHIIIIHHIIHHIIIIIIIIHHIIIIHHIIHHHHHHHHIIHHHHIIIIIIHHIIHHIIHHIIIIHHIIHHIIHHIIIIIIIIIIHHIIIIIIIIIIIIHHHHIIIIHHIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIHHIIHHIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIHHIIIIIIIIIIIIIIIIIIIIIIIIHHIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIHHIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIHHIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIHHIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIHHIIIIIIIIIIHHIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIHHIIHHIIIIIIIIIIIIIIIIHHIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIHHIIIIIIIIIIIIIIIIIIIIIIHHIIHHIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIHHIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIHHIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIHHHHIIIIHHIIIIIIIIIIIIIIIIIIIIIIIIIIIIHHIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIHHIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIHHIIIIIIIIIIHHHHIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIHHIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIHHIIIIIIIIIIIIIIIIIIIIHHHHIIHHIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIHHIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIHHHHIIHHIIHHIIIIIIIIIIIIIIIIIIIIIIIIIIIIHHIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIHHIIHHIIIIIIIIIIIIHHIIHHIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIHHIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIHHIIIIIIIIIIIIIIIIIIIIIIIIIIHHIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIHHIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIHHIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIHHIIIIIIIIIIIIIIIIHHIIIIIIIIIIIIHHIIIIIIIIIIIIIIIIHHIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIHHIIIIIIIIIIIIIIIIIIIIIIIIIIHHIIIIIIIIIIIIIIIIIIIIIIIIIIIIHHIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIHHIIIIIIIIIIIIIIIIIIHHIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIHHIIHHIIIIIIIIIIHHIIIIIIIIIIIIIIIIIIIIIIIIIIHHIIIIHHIIIIIIIIIIIIIIIIHHIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIHHIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIHHIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIHHIIHHHHIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIHHIIHHIIIIIIIIIIIIIIIIHHIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIHHHHIIHHIIHHIIIIIIIIIIIIIIIIIIIIIIIIIIHHIIIIIIIIIIIIIIIIIIHHIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIHHIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIHHIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIHHIIIIIIIIIIHHIIIIIIIIIIIIIIHHIIIIIIIIHHIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIHHIIIIIIIIIIIIIIIIIIIIHHIIHHIIHHIIIIHHIIIIHHIIIIIIIIIIIIIIIIIIIIIIIIHHIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIHHIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIHHIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIHHIIIIHHIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIHHIIIIIIIIIIIIIIHHIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIHHIIIIIIIIIIHHIIIIIIIIIIIIIIIIIIIIIIIIHHIIHHIIIIIIHHIIIIIIIIHHIIIIIIHHIIIIHHIIIIIIIIIIIIIIIIIIIIHHIIIIIIIIIIIIIIIIHHIIIIIIIIIIIIIIIIIIIIIIIIIIHHIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIHHIIIIIIIIHHIIIIHHIIIIIIIIHHIIIIHHIIHHIIIIHHIIIIIIIIHHIIIIIIHHIIIIIIIIIIIIIIIIIIIIHHIIIIIIIIIIIIIIIIIIIIIIHHIIIIIIIIIIIIIIIIIIIIIIIIHHHHIIIIIIIIIIIIHHHHIIIIIIIIIIIIIIIIHHIIIIIIIIIIIIIIIIHHHHIIIIHHIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIHHHHIIIIIIIIIIHHIIIIIIIIHHIIIIIIIIIIHHIIIIIIHHIIHHIIIIIIIIHHIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIHHIIIIHHIIIIHHIIIIHHHHIIIIIIIIIIIIIIIIIIIIIIIIIIHHIIIIIIIIHHIIIIIIIIIIIIIIIIHHIIIIIIIIIIIIHHIIHHHHHHIIIIIIIIIIIIIIIIIIIIHHHHIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIHHIIIIIIIIIIIIIIIIIIHHIIIIIIHHIIIIIIIIHHHHHHIIIIIIIIIIIIIIHHIIIIIIIIHHIIIIHHIIIIIIIIIIIIHHHHIIIIIIIIIIIIIIIIHHIIHHIIIIIIIIHHIIIIIIIIIIIIIIIIIIIIIIIIIIHHHHIIHHIIIIIIIIIIIIIIIIIIIIIIIIIIHHIIHHIIHHIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIHHIIIIIIHHIIIIIIHHIIHHIIIIIIIIIIHHIIHHIIIIIIIIIIIIIIHHIIIIHHIIIIIIIIHHIIIIHHIIIIIIHHIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIHHIIHHIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIHHIIIIIIIIIIIIIIIIIIIIIIIIHHIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIHHIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIHHIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIHHIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIHHIIIIIIIIIIHHIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIHHIIHHIIIIIIIIIIIIIIIIHHIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIHHIIIIIIIIIIIIIIIIIIIIIIHHIIHHIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIHHIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIHHIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIHHHHIIIIHHIIIIIIIIIIIIIIIIIIIIIIIIIIIIHHIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIHHIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIHHIIIIIIIIIIHHHHIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIHHIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIHHIIIIIIIIIIIIIIIIIIIIHHHHIIHHIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIHHIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIHHHHIIHHIIHHIIIIIIIIIIIIIIIIIIIIIIIIIIIIHHIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIHHIIHHIIIIIIIIIIIIHHIIHHIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIHHIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIHHIIIIIIIIIIIIIIIIIIIIIIIIIIHHIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIHHIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIHHIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIHHIIIIIIIIIIIIIIIIHHIIIIIIIIIIIIHHIIIIIIIIIIIIIIIIHHIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIHHIIIIIIIIIIIIIIIIIIIIIIIIIIHHIIIIIIIIIIIIIIIIIIIIIIIIIIIIHHIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIHHIIIIIIIIIIIIIIIIIIHHIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIHHIIHHIIIIIIIIIIHHIIIIIIIIIIIIIIIIIIIIIIIIIIHHIIIIHHIIIIIIIIIIIIIIIIHHIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIHHIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIHHIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIHHIIHHHHIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIHHIIHHIIIIIIIIIIIIIIIIHHIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIHHHHIIHHIIHHIIIIIIIIIIIIIIIIIIIIIIIIIIHHIIIIIIIIIIIIIIIIIIHHIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIHHIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIHHIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIHHIIIIIIIIIIHHIIIIIIIIIIIIIIHHIIIIIIIIHHIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIHHIIIIIIIIIIIIIIIIIIIIHHIIHHIIHHIIIIHHIIIIHHIIIIIIIIIIIIIIIIIIIIIIIIHHIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIHHIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIHHIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIHHIIIIHHIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIHHIIIIIIIIIIIIIIHHIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIHHIIIIIIIIIIHHIIIIIIIIIIIIIIIIIIIIIIIIHHIIHHIIIIIIHHIIIIIIIIHHIIIIIIHHIIIIHHIIIIIIIIIIIIIIIIIIIIHHIIIIIIIIIIIIIIIIHHIIIIIIIIIIIIIIIIIIIIIIIIIIHHIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIHHIIIIIIIIHHIIIIHHIIIIIIIIHHIIIIHHIIHHIIIIHHIIIIIIIIHHIIIIIIHHIIIIIIIIIIIIIIIIIIIIHHIIIIIIIIIIIIIIIIIIIIIIHHIIIIIIIIIIIIIIIIIIIIIIIIHHHHIIIIIIIIIIIIHHHHIIIIIIIIIIIIIIIIHHIIIIIIIIIIIIIIIIHHHHIIIIHHIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIHHHHIIIIIIIIIIHHIIIIIIIIHHIIIIIIIIIIHHIIIIIIHHIIHHIIIIIIIIHHIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIHHIIIIHHIIIIHHIIIIHHHHIIIIIIIIIIIIIIIIIIIIIIIIIIHHIIIIIIIIHHIIIIIIIIIIIIIIIIHHIIIIIIIIIIIIHHIIHHHHHHIIIIIIIIIIIIIIIIIIIIHHHHIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIHHIIIIIIIIIIIIIIIIIIHHIIIIIIHHIIIIIIIIHHHHHHIIIIIIIIIIIIIIHHIIIIIIIIHHIIIIHHIIIIIIIIIIIIHHHHIIIIIIIIIIIIIIIIHHIIHHIIIIIIIIHHIIIIIIIIIIIIIIIIIIIIIIIIIIHHHHIIHHIIIIIIIIIIIIIIIIIIIIIIIIIIHHIIHHIIHHIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIHHIIIIIIHHIIIIIIHHIIHHIIIIIIIIIIHHIIHHIIIIIIIIIIIIIIHHIIIIHHIIIIIIIIHHIIIIHHIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIHHIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIHHIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIHHIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIHHIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIHHIIIIIIIIHHIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIHHIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIHHIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIHHIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIHHHHIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIHHIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIHHIIIIIIIIIIIIIIIIIIIIIIIIIIIIHHIIIIIIIIIIIIIIIIIIIIIIIIHHIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIHHIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIHHIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIHHIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIHHIIIIIIIIIIIIIIIIIIIIHHIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIHHIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIHHIIIIIIIIIIIIIIIIIIIIIIIIIIIIHHIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIHHIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIHHIIIIIIHHIIIIIIIIIIIIIIIIIIIIIIHHIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIHHIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIHHIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIHHIIIIIIIIIIIIIIIIIIIIIIIIHHIIIIHHIIIIHHIIIIIIIIIIIIHHIIIIIIHHIIIIIIIIIIIIIIIIIIIIIIHHIIIIIIIIIIIIIIIIIIIIIIHHIIHHIIHHIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIHHIIIIIIIIIIHHHHIIHHHHIIIIIIIIHHIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIHHIIIIIIIIHHIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIHHIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIHHIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIHHIIIIIIIIIIIIIIIIIIIIIIIIIIIIHHIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIHHIIIIIIIIIIIIIIHHIIIIHHIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIHHIIIIIIIIIIIIIIIIIIIIIIIIHHIIIIHHIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIHHIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIHHIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIHHIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIHHIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIHHIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIHHIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIHHIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIHHIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIHHIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIHHHHIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIHHIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIHHIIIIIIIIIIIIIIIIIIIIIIIIIIIIIHIIIIIIIIIIIIIIIIIIIIIIIIHHIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIHHIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIHHIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIHHIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIHHIIIIIIIIIIIIIIIIIIIIHHIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIHHIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIHHIIIIIIIIIIIIIIIIIIIIIIIIIIIIHHIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIHHIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIHHIIIIIIHHIIIIIIIIIIIIIIIIIIIIIIHHIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIHHIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIHHIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIHHIIIIIIIIIIIIIIIIIIIIIIIIHHIIIIHHIIIIHHIIIIIIIIIIIIHHIIIIIIHHIIIIIIIIIIIIIIIIIIIIIIHHIIIIIIIIIIIIIIIIIIIIIIHHIIHHIIHHIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIHHIIIIIIIIIIHHHHIIHHHHIIIIIIIIHHIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIHHIIIIIIIIHHIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIHHIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIHHIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIHHIIIIIIIIIIIIIIIIIIIIIIIIIIIIHHIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIHHIIIIIIIIIIIIIIHHIIIIHHIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIHHIIIIIIIIIIIIIIIIIIIIIIIIHHIIIIHHIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIHHIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIJJIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIJJIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIJJIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIJJIIIIIIIIIIIIJJIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIJJIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIJJIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIJJIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIJJIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIJJIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIJJIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIJJIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIHHIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIHHIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIHHIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIJJIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIJJIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIJJIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIJJIIIIIIIIIIIIJJIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIJJIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIJJIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIJJIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIJJIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIJJIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIJJIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIJJIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIJJIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIHHIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIHHIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIJJIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIJJIIIIJJIIIIIIIIIIIIIIIIIIIIJJIIIIJJIIIIIIIIIIIIIIIIJJIIIIIIJJIIIIIIIIJJIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIJJJJJJIIIIIIIIIIIIIIIIIIJJIIIIJJIIIIJJIIJJIIJJIIJJIIIIIIIIIIIIJJIIIIIIIIIIIIIIIIIIIIIIJJIIIIJJIIIIIIJJIIIIIIIIIIIIIIIIIIJJJJIIIIIIIIIIJJJJIIJJIIIIJJIIIIIIIIJJIIJJIIIIIIIIIIIIIIJJIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIJJIIIIIIIIIIIIIIIIJJJJIIIIJJIIIIIIIIIIIIJJIIIIJJIIIIJJIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIJJIIIIIIIIIIJJIIJJIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIJJIIIIIIJJIIIIIIIIIIIIIIJJJJIIIIIIIIIIIIJJIIIIIIIIIIJJIIIIIIIIIIIIIIIIIIIIIIIIIIIIJJJJJJIIIIIIIIIIIIIIJJIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIJJIIIIJJIIIIIIJJIIIIIIIIIIIIJJIIIIIIIIJJIIIIIIIIIIIIIIJJIIIIIIIIIIIIIIIIIIJJIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIJJJJIIIIIIIIIIIIIIIIIIIIIIIIJJJJIIIIIIIIIIIIIIIIIIIIIIJJIIIIIIIIIIIIIIIIIIIIJJIIIIIIIIIIIIIIIIIIIIIIIIIIIIJJIIIIIIIIIIIIJJIIIIIIIIIIIIIIIIIIJJJJIIJJIIIIIIIIIIIIIIJJIIIIIIIIJJIIIIIIJJIIJJIIIIIIIIJJIIIIIIIIIIIIIIIIIIIIJJIIIIIIIIIIJJJJIIJJJJIIIIIIIIIIIIIIIIIIJJIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIJJIIIIIIJJIIIIIIIIIIIIIIIIIIIIIIJJIIIIIIJJIIIIIIIIIIIIIIIIIIIIIIJJIIIIIIIIIIIIIIIIIIIIIIJJIIJJIIIIIIIIIIIIIIIIIIIIIIIIIIJJJJIIJJIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIJJIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIJJIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIJJIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIJJIIIIIIIIIIIIIIJJIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIJJIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIJJIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIJJIIIIIIIIIIIIIIIIJJIIIIIIIIIIIIIIIIIIIIJJIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIJJIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIJJIIIIIIIIIIIIIIIIIIJJIIIIJJIIIIIIIIIIIIIIIIJJIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIJJIIIIIIIIIIJJIIIIIIIIIIIIIIIIIIIIIIIIIIJJIIIIIIIIIIIIIIIIIIIIIIIIIIIIJJIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIJJIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIJJIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIJJIIIIIIIIIIIIIIIIIIJJIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIJJIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIJJIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIJJIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIJJIIIIIIIIIIIIIIIIIIJJIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIJJIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIJJIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIJJIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIJJIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIJJIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIJJIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIJJIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIJJIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIJJIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIJJIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIJJIIIIJJIIIIIIIIIIIIIIIIIIIIJJIIIIJJIIIIIIIIIIIIIIIIJJIIIIIIJJIIIIIIIIJJIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIJJJJJJIIIIIIIIIIIIIIIIIIJJIIIIJJIIIIJJIIJJIIJJIIJJIIIIIIIIIIIIJJIIIIIIIIIIIIIIIIIIIIIIJJIIIIJJIIIIIIJJIIIIIIIIIIIIIIIIIIJJJJIIIIIIIIIIJJJJIIJJIIIIJJIIIIIIIIJJIIJJIIIIIIIIIIIIIIJJIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIJJIIIIIIIIIIIIIIIIJJJJIIIIJJIIIIIIIIIIIIJJIIIIJJIIIIJJIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIJJIIIIIIIIIIJJIIJJIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIJJIIIIIIJJIIIIIIIIIIIIIIJJJJIIIIIIIIIIIIJJIIIIIIIIIIJJIIIIIIIIIIIIIIJJIIIIIIIIIIIIJJJJJJIIIIIIIIIIIIIIJJIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIJJIIIIJJIIIIIIJJIIIIIIIIIIIIJJIIIIIIIIJJIIIIIIIIIIJJIIJJIIIIIIIIIIIIIIIIIIJJIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIJJJJIIIIIIIIIIIIIIIIIIIIIIIIJJJJIIJJIIIIIIIIIIIIIIIIIIJJIIIIIIIIJJIIIIIIIIIIJJIIIIIIIIIIIIIIIIIIIIIIIIIIIIJJIIIIIIIIIIIIJJIIIIJJIIIIIIIIIIIIJJJJIIJJIIIIIIIIIIIIIIJJIIIIIIIIJJIIIIIIJJIIJJIIIIIIIIJJIIIIIIIIIIIIIIIIIIIIJJIIIIIIIIIIJJJJIIJJJJIIIIIIIIIIIIIIIIIIJJIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIJJIIIIIIJJIIIIIIIIIIIIIIIIIIIIIIJJIIIIIIJJIIIIIIIIIIIIIIIIIIIIIIJJIIIIIIIIIIIIIIIIIIIIIIJJIIJJIIIIIIIIIIIIIIIIIIIIIIIIIIJJJJIIJJIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIJJIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIJJIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIJJIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIJJIIIIIIIIIIIIIIJJIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIJJIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIJJIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIJJIIIIIIIIIIIIIIIIJJIIIIIIIIIIIIIIIIIIIIJJIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIJJIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIJJIIIIIIIIIIIIIIIIIIJJIIIIJJIIIIIIIIIIIIIIIIJJIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIJJIIIIIIIIIIJJIIIIIIIIIIIIIIIIIIIIIIIIIIJJIIIIIIIIIIIIIIIIIIIIIIIIIIIIJJIIIIIIIIIIIIIIIIIIJJIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIJJIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIJJIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIJJIIIIIIIIIIIIIIIIIIJJIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIJJIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIJJIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIJJIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIJJIIIIIIIIIIIIIIIIIIJJIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIJJIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIJJIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIJJIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIJJIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIJJIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIJJIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIJJIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIJJIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIJJIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIJJIIIIIIIIIIJJIIIIIIIIJJJJIIJJIIIIIIIIIIJJIIIIJJIIIIIIJJIIIIIIIIJJIIJJIIIIIIIIIIIIIIIIIIJJJJIIIIIIIIIIIIJJIIIIJJJJJJJJJJIIIIIIIIIIIIIIIIIIIIIIJJIIIIIIJJIIJJIIIIJJJJIIIIIIIIIIIIIIIIIIIIJJIIIIJJIIIIJJIIIIIIJJIIIIIIIIJJJJIIIIIIIIJJIIJJJJIIIIIIIIIIIIIIIIIIJJJJIIIIIIJJIIIIIIIIIIIIIIIIJJIIJJJJIIIIJJJJIIIIJJIIIIJJJJIIIIIIIIJJIIIIIIIIIIJJJJIIIIIIIIIIJJIIIIIIIIJJJJJJIIIIJJJJIIJJIIIIIIIIJJIIIIJJIIJJIIIIIIIIIIIIIIIIJJIIIIIIJJJJJJIIIIIIIIIIIIIIIIIIIIIIIIJJJJIIJJIIIIJJIIJJIIJJIIJJIIIIIIIIJJJJIIJJJJIIJJJJJJIIIIIIIIIIIIJJIIIIIIJJIIIIIIIIIIIIJJIIJJJJJJIIJJJJIIIIIIJJIIIIIIIIJJIIJJJJIIIIIIIIJJJJIIJJIIJJIIIIIIIIJJJJIIIIIIIIIIIIIIIIJJJJIIJJIIIIIIIIIIIIIIIIIIJJIIJJIIIIIIIIIIJJIIIIJJJJIIIIIIIIIIIIIIIIJJIIJJIIIIIIIIIIIIIIIIIIIIIIIIIIJJJJIIJJIIIIIIIIJJJJIIIIJJIIIIJJIIJJIIJJJJIIIIIIIIIIIIJJJJIIIIJJIIJJIIIIIIIIIIIIJJJJJJIIIIIIIIJJIIJJIIIIJJIIIIIIIIJJJJIIIIIIIIJJJJJJJJIIIIIIIIJJIIIIIIIIIIIIJJJJJJIIJJIIIIIIIIIIIIJJIIIIIIJJJJJJIIIIJJIIJJIIIIJJIIIIIIIIJJIIIIIIJJIIJJJJIIIIIIIIIIJJIIIIJJIIIIIIIIIIIIIIIIJJJJJJIIIIIIJJIIIIIIIIIIIIIIIIIIIIIIIIIIJJIIIIIIIIIIIIJJIIIIIIJJIIIIIIIIIIIIIIIIJJIIIIJJIIIIIIIIJJIIIIIIIIIIIIIIIIIIIIIIIIIIJJIIJJIIIIJJIIIIJJJJIIJJJJIIJJJJIIIIIIJJIIIIIIIIIIIIIIIIJJIIIIIIIIIIIIJJIIJJIIJJIIIIIIIIJJJJIIIIIIJJIIIIIIIIIIIIIIIIIIIIIIIIIIIIJJIIJJIIIIIIIIIIIIIIIIJJIIJJIIIIIIIIJJIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIJJIIIIJJJJIIIIJJJJJJIIIIIIJJJJIIIIIIIIIIIIJJIIIIIIIIIIJJIIIIJJIIIIIIIIIIIIJJIIIIIIIIIIIIIIIIJJIIIIIIIIIIIIIIIIIIIIIIJJIIJJIIIIJJIIIIJJIIJJIIIIIIIIJJIIJJIIIIIIIIJJIIJJIIIIIIIIIIJJIIIIIIIIIIIIJJJJJJJJIIIIJJIIIIIIIIIIJJIIIIIIJJIIIIJJIIIIIIJJIIIIIIIIJJIIIIJJIIIIIIIIJJIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIJJIIIIIIIIIIIIIIIIIIIIJJIIIIIIJJJJIIIIJJIIIIJJIIIIJJIIIIIIIIIIIIIIIIIIIIJJIIIIJJIIIIIIIIIIJJIIIIIIIIIIIIJJIIIIIIIIIIJJJJIIJJIIIIIIJJIIIIIIIIJJJJIIJJIIIIJJIIIIIIIIJJIIIIIIIIJJJJJJIIJJJJIIIIIIIIIIJJJJJJJJIIJJIIJJIIIIIIJJIIIIJJIIIIIIJJIIIIIIIIIIIIIIJJIIIIIIJJIIJJIIIIIIIIIIIIIIIIIIJJIIIIIIIIIIJJJJIIIIIIIIIIIIJJIIIIIIIIIIIIIIIIIIIIIIJJIIIIJJIIJJJJIIIIIIIIIIIIIIIIJJIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIJJIIIIIIIIIIIIIIIIIIIIJJIIJJJJIIIIIIIIIIIIIIIIJJIIIIJJIIIIIIIIJJIIIIIIIIIIJJIIIIIIIIIIIIIIIIIIIIIIIIIIIIJJIIIIIIIIIIJJJJIIIIJJIIIIIIIIIIIIJJIIIIJJIIIIIIIIIIIIIIJJIIIIIIIIJJIIIIIIIIIIJJIIIIIIJJIIIIIIIIIIJJIIIIIIIIIIIIIIIIIIIIJJIIJJJJIIIIJJJJIIIIIIIIIIIIIIJJIIIIIIIIJJIIIIIIIIIIJJIIIIIIIIIIIIIIIIIIIIIIIIIIIIJJIIIIIIIIIIIIJJIIIIJJIIJJIIJJIIIIJJIIIIJJIIIIIIIIIIIIIIJJIIIIIIIIJJIIIIIIIIIIJJIIIIIIJJIIIIIIIIJJIIIIIIIIIIIIIIIIJJIIIIIIIIIIIIJJJJIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIJJIIIIIIIIIIIIIIIIIIIIIIIIIIIIJJIIIIIIIIIIIIIIIIIIIIJJJJIIIIIIJJJJIIIIIIIIIIIIIIIIIIIIJJIIIIIIIIIIIIIIIIIIIIIIJJIIJJIIIIIIIIIIIIIIIIIIIIIIIIIIIIJJIIJJIIIIIIIIIIIIIIIIJJIIIIIIIIIIIIIIIIIIIIIIIIIIIIJJIIIIIIIIIIIIIIIIIIIIIIIIJJIIJJIIIIJJIIIIIIJJIIIIIIIIJJIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIJJIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIJJIIIIIIIIIIIIIIIIIIJJJJIIIIIIIIIIIIJJIIIIIIIIIIIIIIIIIIIIJJIIIIIIIIIIJJIIIIIIIIIIIIIIIIIIIIJJIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIJJIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIJJIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIJJIIIIIIIIIIIIIIJJIIIIIIIIIIIIIIIIIIIIIIJJIIIIIIIIJJIIIIIIIIIIIIIIJJIIIIIIIIIIIIIIIIIIJJJJIIIIIIIIIIIIIIIIIIIIIIIIJJIIIIIIIIIIIIIIIIIIIIIIJJIIIIIIJJIIIIIIIIIIIIIIIIJJIIIIIIIIJJIIIIIIIIIIIIIIIIIIIIIIIIIIIIJJIIIIJJIIIIIIJJIIIIIIIIIIIIIIIIIIJJIIIIIIIIJJIIIIIIIIIIIIJJIIIIIIIIIIIIIIIIJJIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIJJIIJJIIIIIIIIIIIIIIIIIIIIJJIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIJJIIIIJJIIIIIIIIIIJJIIIIIIJJIIIIIIJJIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIJJIIJJIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIJJIIJJIIIIIIIIIIIIIIIIIIIIJJIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIJJIIIIIIIIIIIIIIIIIIIIIIIIJJIIIIIIIIIIIIJJIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIJJIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIJJIIIIIIIIIIJJIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIJJIIIIIIIIIIJJIIIIIIIIJJJJIIJJIIIIIIIIIIJJIIIIJJIIIIIIJJIIIIIIIIJJIIJJIIIIIIIIIIIIIIIIIIJJJJIIIIIIIIIIIIJJIIIIJJJJJJJJJJIIIIIIIIIIIIIIIIIIIIIIJJIIIIIIJJIIJJIIIIJJJJIIIIIIIIIIIIIIIIIIIIJJIIIIJJIIIIJJIIIIIIJJIIIIIIIIJJJJIIIIIIIIJJIIJJJJIIIIIIIIIIIIIIIIIIJJJJIIIIIIJJIIIIIIIIIIIIIIIIJJIIJJJJIIIIJJJJIIIIJJIIIIJJJJIIIIIIIIJJIIIIIIIIIIJJJJIIIIIIIIIIJJIIIIIIIIJJJJJJIIIIJJJJIIJJIIIIIIIIJJIIIIJJIIJJIIIIIIIIIIIIIIIIJJIIIIIIJJJJJJIIIIIIIIIIIIIIIIIIIIIIIIJJJJIIJJIIIIJJIIJJIIJJIIJJIIIIIIIIJJJJIIJJJJIIJJJJJJIIIIIIIIIIIIJJIIIIIIJJIIIIIIIIIIIIJJIIJJJJJJIIJJJJIIIIIIJJIIIIIIIIJJIIJJJJIIIIIIIIJJJJIIJJIIJJIIIIIIIIJJJJIIIIIIIIIIIIIIIIJJJJIIJJIIIIIIIIIIIIIIIIIIJJIIJJIIIIIIIIIIJJIIIIJJJJIIIIIIIIIIIIIIIIJJIIJJIIIIIIIIIIIIIIIIIIIIIIIIIIJJJJIIJJIIIIIIIIJJJJIIIIJJIIIIJJIIJJIIJJJJIIIIIIIIIIIIJJJJIIIIJJIIJJIIIIIIIIIIIIJJJJJJIIIIIIIIJJIIJJIIIIJJIIIIIIIIJJJJIIIIIIIIJJJJJJJJIIIIIIIIJJIIIIIIIIIIIIJJJJJJIIJJIIIIIIIIIIIIJJIIIIIIJJJJJJIIIIJJIIJJIIIIJJIIIIIIIIJJIIIIIIJJIIJJJJIIIIIIIIIIJJIIIIJJIIIIIIIIIIIIIIIIJJJJJJIIIIIIJJIIIIIIIIIIIIIIIIIIIIIIIIIIJJIIIIIIIIIIIIJJIIIIIIJJIIIIIIIIIIIIIIIIJJIIIIJJIIIIIIIIJJIIIIIIIIIIIIIIIIIIIIIIIIIIJJIIJJIIIIJJIIIIJJJJIIJJJJIIJJJJIIIIIIJJIIIIIIIIIIIIIIIIJJIIIIIIIIIIIIJJIIJJIIJJIIIIIIIIJJJJIIIIIIJJIIIIIIIIIIIIIIIIIIIIIIIIIIIIJJIIJJIIIIIIIIIIIIIIIIJJIIJJIIIIIIIIJJIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIJJIIIIJJJJIIIIJJJJJJIIIIIIJJJJIIIIIIIIIIIIJJIIIIIIIIIIJJIIIIJJIIIIIIIIIIIIJJIIIIIIIIIIIIIIIIJJIIIIIIIIIIIIIIIIIIIIIIJJIIJJIIIIJJIIIIJJIIJJIIIIIIIIJJIIJJIIIIIIIIJJIIJJIIIIIIIIIIJJIIIIIIIIIIIIJJJJJJJJIIIIJJIIIIIIIIIIJJIIIIIIJJIIIIJJIIIIIIJJIIIIIIIIJJIIIIJJIIIIIIIIJJIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIJJIIIIIIIIIIIIIIIIIIIIJJIIIIIIJJJJIIIIJJIIIIJJIIIIJJIIIIIIIIIIIIIIIIIIIIJJIIIIJJIIIIIIIIIIJJIIIIIIIIIIIIJJIIIIIIIIIIJJJJIIJJIIIIIIJJIIIIIIIIJJJJIIJJIIIIJJIIIIIIIIJJIIIIIIIIJJJJJJIIJJJJIIIIIIIIIIJJJJJJJJIIJJIIJJIIIIIIJJIIIIJJIIIIIIJJIIIIIIIIIIIIIIJJIIIIIIJJIIJJIIIIIIIIIIIIIIIIIIJJIIIIIIIIIIJJJJIIIIIIIIIIIIJJIIIIIIIIIIIIIIIIIIIIIIJJIIIIJJIIJJJJIIIIIIIIIIIIIIIIJJIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIJJIIIIIIIIIIIIIIIIIIIIJJIIJJJJIIJJIIIIIIIIIIIIJJIIIIJJIIIIIIIIJJIIIIIIIIIIJJIIIIIIIIIIIIIIIIIIIIIIIIIIIIJJIIIIIIIIIIJJJJIIIIJJIIIIIIIIIIIIJJIIIIJJIIIIIIIIIIIIIIJJIIIIIIIIJJIIIIIIIIIIJJIIIIIIJJIIIIIIIIIIJJIIIIIIIIIIIIIIIIIIIIJJIIJJJJIIJJJJJJIIIIIIIIIIIIIIJJIIIIIIIIJJIIIIIIIIIIJJIIIIIIIIIIIIIIIIIIIIIIIIIIIIJJIIIIIIIIIIIIJJIIIIJJIIJJIIJJIIIIJJIIIIJJIIIIIIIIIIIIIIJJIIIIIIIIJJIIIIIIIIIIJJIIIIIIJJIIIIIIIIJJIIIIIIIIIIIIIIIIJJIIIIIIIIIIIIJJJJIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIJJIIIIIIIIIIIIIIIIIIIIIIIIIIIIJJIIIIIIIIIIIIIIIIIIIIJJJJIIIIIIJJJJIIIIIIIIIIIIIIIIIIIIJJIIIIIIIIIIIIIIIIIIIIIIJJIIJJIIIIIIIIIIIIIIIIIIIIIIIIIIIIJJIIJJIIIIIIIIIIIIIIIIJJIIIIIIIIIIIIIIIIIIIIIIIIIIIIJJIIIIIIIIIIIIIIIIIIIIIIIIJJIIJJIIIIJJIIIIIIJJIIIIIIIIJJIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIJJIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIJJIIIIIIIIIIIIIIIIIIJJJJIIIIIIIIIIIIJJIIIIIIIIIIIIIIIIIIIIJJIIIIIIIIIIJJIIIIIIIIIIIIIIIIIIIIJJIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIJJIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIJJIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIJJIIIIIIIIIIIIIIJJIIIIIIIIIIIIIIIIIIIIIIJJIIIIIIIIJJIIIIIIIIIIIIIIJJIIIIIIIIIIIIIIIIIIJJJJIIIIIIIIIIIIIIIIIIIIIIIIJJIIIIIIIIIIIIIIIIIIIIIIJJIIIIIIJJIIIIIIIIIIIIIIIIJJIIIIIIIIJJIIIIIIIIIIIIIIJJIIIIIIIIIIIIJJIIIIJJIIIIIIJJIIIIIIIIIIIIIIIIIIJJIIIIIIIIJJIIIIIIIIIIIIJJIIIIIIIIIIIIIIIIJJIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIJJIIJJIIIIIIIIIIIIIIIIIIIIJJIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIJJIIIIJJIIIIIIIIIIJJIIIIIIJJIIIIIIJJIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIJJIIJJIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIJJIIJJIIIIIIIIIIIIIIIIIIIIJJIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIJJIIIIIIIIIIIIIIIIIIIIIIIIJJIIIIIIIIIIIIJJIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIJJIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIJJIIIIIIIIIIJJIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIJJJJIIIIIIJJJJJJIIIIIIIIJJIIJJIIJJJJIIIIJJIIIIIIJJJJIIJJIIJJIIJJJJIIIIJJJJJJJJIIJJIIJJIIJJJJJJIIJJIIJJIIIIJJIIJJJJIIJJJJIIJJIIIIIIIIJJJJJJJJJJIIJJIIIIJJJJIIJJJJIIJJIIIIJJIIJJJJJJIIJJJJJJIIIIIIJJIIIIIIIIJJJJIIJJIIIIIIIIIIIIJJIIJJJJIIIIJJIIIIIIIIJJJJIIJJIIJJJJIIJJJJJJJJIIJJJJJJIIIIIIIIJJIIJJIIJJJJJJIIJJIIIIIIJJIIIIIIIIIIIIJJIIIIJJIIJJJJIIIIJJIIJJIIJJIIJJIIIIJJIIJJIIJJJJJJJJJJIIIIIIJJJJJJIIJJIIJJIIJJIIIIJJIIJJIIIIIIIIJJIIIIIIIIJJIIIIJJJJIIIIIIJJIIIIIIIIJJIIIIIIIIIIIIJJJJIIIIJJJJJJIIIIJJIIJJJJJJIIIIJJIIJJJJIIIIIIJJIIJJIIIIJJIIJJIIJJIIJJJJIIIIIIIIJJIIIIIIIIIIJJIIIIJJIIIIIIIIIIIIIIJJIIIIJJIIIIIIIIJJJJIIIIJJIIIIJJIIIIJJJJJJIIJJIIIIJJIIJJJJJJJJIIIIIIIIIIJJJJIIIIIIJJIIIIJJJJIIJJIIIIIIIIIIJJJJIIJJJJIIIIIIJJIIIIIIIIJJIIJJJJIIJJJJJJJJJJJJIIJJIIJJIIIIJJJJJJJJIIJJJJIIIIJJIIIIJJIIIIIIJJIIIIJJIIJJJJIIIIIIJJIIJJJJIIIIIIIIJJJJJJJJJJJJIIJJIIJJIIJJIIIIIIIIIIIIJJIIJJIIJJJJJJJJJJIIIIJJIIJJIIIIIIJJIIIIJJIIJJJJJJIIIIJJJJIIIIIIJJJJIIIIJJIIIIJJIIIIIIJJJJJJIIJJIIIIIIJJJJIIJJJJJJIIJJIIIIIIJJJJIIIIIIIIIIIIJJIIIIIIIIIIJJJJIIJJJJIIIIIIIIIIIIIIJJIIIIIIIIJJIIIIJJIIJJIIIIIIIIIIJJJJIIIIIIIIIIIIJJIIIIIIJJIIIIIIIIIIJJJJIIIIIIIIJJIIJJJJJJJJJJIIJJJJIIJJIIIIJJIIIIIIJJJJJJIIIIJJJJIIIIJJIIJJIIIIIIIIJJJJIIIIIIJJJJJJIIJJIIIIIIIIIIJJIIJJJJIIIIIIJJIIIIIIJJJJIIIIJJJJJJIIJJIIIIIIIIIIJJJJJJJJJJIIJJIIJJIIIIIIIIJJIIIIIIJJIIIIIIIIIIIIJJIIIIJJIIIIJJJJIIIIJJIIIIIIIIIIIIIIIIJJIIIIJJJJJJJJJJJJIIIIIIIIIIJJJJJJIIJJIIIIJJIIJJIIJJIIIIIIIIIIIIJJIIIIJJIIIIIIIIIIIIIIIIJJJJIIJJJJJJJJJJJJJJIIJJIIJJIIIIIIIIJJIIJJIIIIJJIIIIJJIIIIJJIIJJIIIIIIIIIIIIJJJJIIJJJJIIIIJJIIJJIIJJIIJJIIIIJJJJJJIIIIIIIIIIIIJJIIIIIIJJIIIIJJJJJJIIIIIIIIJJIIJJIIIIJJIIIIJJIIJJIIIIIIIIIIJJJJIIIIJJIIIIIIJJJJIIIIIIJJIIJJIIIIIIJJJJIIIIJJIIJJIIIIIIIIIIIIJJIIJJIIIIJJIIIIIIJJIIIIIIIIIIIIIIJJIIJJJJIIIIIIIIIIIIIIIIJJIIIIIIJJIIJJIIIIIIIIJJIIIIJJIIIIIIIIIIIIIIIIIIIIIIJJJJIIIIIIIIIIIIJJIIJJIIIIIIIIIIIIIIIIJJIIIIJJJJJJJJIIJJIIIIJJIIIIJJIIJJIIIIIIIIIIIIIIIIIIIIIIJJJJIIIIIIIIIIIIIIIIIIIIJJIIIIIIIIIIIIIIIIIIIIIIJJJJIIIIJJJJIIIIIIIIIIIIJJIIJJIIIIIIIIJJIIJJIIJJIIIIIIIIJJJJIIIIJJIIIIIIIIJJJJJJJJIIIIIIIIIIIIJJJJIIIIJJIIJJIIJJIIIIIIIIJJJJJJIIIIIIIIJJIIJJIIIIIIIIIIIIIIJJIIIIIIIIJJIIJJJJJJIIIIJJIIJJIIJJJJIIIIIIJJJJIIIIIIIIIIIIIIJJIIJJIIIIJJJJJJJJJJIIJJIIJJIIIIJJIIIIIIIIJJIIIIIIJJJJJJJJIIJJJJJJJJJJIIIIIIIIIIIIJJJJIIIIJJIIJJIIJJIIIIIIIIJJJJJJIIIIIIIIJJIIJJIIIIIIIIIIIIIIJJIIIIIIIIIIIIJJJJJJIIIIJJIIJJIIJJJJJJIIIIJJJJIIIIIIIIIIIIIIJJIIJJJJIIJJJJJJJJJJIIJJIIJJIIIIJJIIIIIIIIJJIIIIIIJJIIJJJJIIIIIIIIIIIIIIIIJJIIIIIIIIIIIIIIIIIIJJIIIIIIJJJJIIIIIIIIJJJJIIIIIIIIIIIIIIJJIIIIIIIIIIIIJJIIIIIIJJIIIIIIIIIIIIIIJJJJIIIIJJIIIIIIJJJJIIIIIIIIIIIIIIJJIIIIIIIIIIIIIIJJIIIIJJIIIIJJJJIIIIJJIIIIJJIIIIJJJJIIIIIIIIIIIIIIIIJJIIIIIIIIIIIIJJJJJJJJJJIIIIIIJJJJJJIIIIIIJJIIIIIIIIIIIIIIIIIIJJIIIIIIIIJJIIJJIIIIIIIIIIIIIIIIJJIIJJIIIIIIIIJJIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIJJIIIIIIJJIIIIJJJJJJIIIIIIJJJJIIIIIIIIJJIIJJIIIIIIIIIIJJIIIIJJIIJJIIIIIIIIIIIIIIIIIIIIIIIIIIJJIIJJIIIIIIIIIIIIIIIIJJIIIIJJIIIIJJIIIIJJIIIIIIIIIIIIJJIIJJIIIIIIIIIIIIIIJJJJJJJJIIIIIIIIIIIIJJIIIIIIIIIIIIIIJJIIIIIIJJJJJJJJJJJJIIIIIIJJJJIIIIJJIIIIIIJJIIIIIIIIIIJJIIIIJJIIJJJJIIIIIIIIIIIIIIIIIIJJIIIIJJIIIIIIIIIIIIIIIIJJIIJJIIIIJJIIIIJJIIIIJJJJIIIIIIIIJJJJIIJJIIIIIIIIIIIIIIJJJJJJJJIIIIJJIIIIIIIIIIIIIIIIIIJJIIIIIIIIJJIIIIIIIIJJIIIIJJIIIIIIJJIIJJJJIIJJIIJJIIIIIIIIIIIIIIIIIIIIIIJJIIJJIIIIJJIIJJIIIIIIJJIIIIIIIIIIIIIIIIIIJJJJIIIIJJIIJJJJIIIIIIJJJJIIIIJJIIIIIIIIIIIIIIIIJJIIJJIIIIIIJJIIIIJJIIIIIIJJIIIIIIIIJJIIIIIIIIIIIIJJIIIIIIIIIIIIJJIIIIJJIIIIIIIIIIIIIIJJJJIIIIIIJJIIIIIIIIIIIIIIJJIIIIJJJJIIIIIIIIIIIIIIIIIIIIJJIIIIIIIIIIIIIIIIIIIIIIJJIIIIJJIIIIJJIIIIJJIIIIIIIIIIIIIIIIJJIIJJIIIIIIIIIIIIIIIIIIIIIIIIIIJJIIIIIIIIJJIIIIIIJJIIIIIIIIIIJJIIJJIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIJJIIIIIIIIIIJJJJIIIIJJIIJJIIJJIIIIIIIIJJIIIIIIIIIIIIIIIIIIJJIIIIIIIIIIIIJJIIIIIIIIIIIIIIIIIIIIIIIIIIJJIIIIIIIIIIIIIIIIIIIIJJIIIIIIIIJJIIIIIIIIIIIIIIJJJJIIIIIIIIIIIIJJIIIIJJJJIIIIIIIIIIIIIIIIIIJJIIIIJJIIIIIIJJJJJJJJIIIIIIJJJJJJIIIIIIIIJJIIJJIIJJJJIIIIJJIIIIIIJJJJIIJJIIJJIIJJJJIIIIJJJJJJJJIIJJIIJJIIJJJJJJIIJJIIJJIIIIJJIIJJJJIIJJJJIIJJIIIIIIIIJJJJJJJJJJIIJJIIIIJJJJIIJJJJIIJJIIIIJJIIJJJJJJIIJJJJJJIIIIIIJJIIIIIIIIJJJJIIJJIIIIIIIIIIIIJJIIJJJJIIIIJJIIIIIIIIJJJJIIJJIIJJJJIIJJJJJJJJIIJJJJJJIIIIIIIIJJIIJJIIJJJJJJIIJJIIIIIIJJIIIIIIIIIIIIJJIIIIJJIIJJJJIIIIJJIIJJIIJJIIJJIIIIJJIIJJIIJJJJJJJJJJIIIIIIJJJJJJIIJJIIJJIIJJIIIIJJIIJJIIIIIIIIJJIIIIIIIIJJIIIIJJJJIIIIIIJJIIIIIIIIJJIIIIIIIIIIIIJJJJIIIIJJJJJJIIIIJJIIJJJJJJIIIIJJIIJJJJIIIIIIJJIIJJIIIIJJIIJJIIJJIIJJJJIIIIIIIIJJIIIIIIIIIIJJIIIIJJIIIIIIIIIIIIIIJJIIIIJJIIIIIIIIJJJJIIIIJJIIIIJJIIIIJJJJJJIIJJIIIIJJIIJJJJJJJJIIIIIIIIIIJJJJIIIIIIJJIIIIJJJJIIJJIIIIIIIIIIJJJJIIJJJJIIIIIIJJIIIIIIIIJJIIJJJJIIJJJJJJJJJJJJIIJJIIJJIIIIJJJJJJJJIIJJJJIIIIJJIIIIJJIIIIIIJJIIIIJJIIJJJJIIIIIIJJIIJJJJIIIIIIIIJJJJJJJJJJJJIIJJIIJJIIJJIIIIIIIIIIIIJJIIJJIIJJJJJJJJJJIIIIJJIIJJIIIIIIJJIIIIJJIIJJJJJJIIIIJJJJIIIIIIJJJJIIIIJJIIIIJJIIIIIIJJJJJJIIJJIIIIIIJJJJIIJJJJJJIIJJIIIIIIJJJJIIIIIIIIIIIIJJIIIIIIIIIIJJJJIIJJJJIIIIIIIIIIIIIIJJIIIIIIIIJJIIIIJJIIJJIIIIIIIIIIJJJJIIIIIIIIIIIIJJIIIIIIJJIIIIIIIIIIJJJJIIIIIIIIJJIIJJJJJJJJJJIIJJJJIIJJIIIIJJIIIIIIJJJJJJIIIIJJJJIIIIJJIIJJIIIIIIIIJJJJIIIIIIJJJJJJIIJJIIIIIIIIIIJJIIJJJJIIIIIIJJIIIIIIJJJJIIIIJJJJJJIIJJIIIIIIIIIIJJJJJJJJJJIIJJIIJJIIIIIIIIJJIIIIIIJJIIIIIIIIIIIIJJIIIIJJIIIIJJJJIIIIJJIIIIIIIIIIIIIIIIJJIIIIJJJJJJJJJJJJIIIIIIIIIIJJJJJJIIJJIIIIJJIIJJIIJJIIIIIIIIIIIIJJIIIIJJIIIIIIIIIIIIIIIIJJJJIIJJJJJJJJJJJJJJIIJJIIJJIIIIIIIIJJIIJJIIIIJJIIIIJJIIIIJJIIJJIIIIIIIIIIIIJJJJIIJJJJIIIIJJIIJJIIJJIIJJIIIIJJJJJJIIIIIIIIIIIIJJIIIIIIJJIIIIJJJJJJIIIIIIIIJJIIJJIIIIJJIIIIJJIIJJIIIIIIIIIIJJJJIIIIJJIIIIIIJJJJIIIIIIJJIIJJIIIIIIJJJJIIIIJJIIJJIIIIIIIIIIIIJJIIJJIIIIJJIIIIIIJJIIIIIIIIIIIIIIJJIIJJJJIIIIIIIIIIIIIIIIJJIIIIIIJJIIJJIIIIIIIIJJIIIIJJIIIIIIIIIIIIIIIIIIIIIIJJJJIIIIIIIIIIIIJJIIJJIIIIIIIIIIIIIIIIJJIIIIJJJJJJJJIIJJIIIIJJIIIIJJIIJJIIIIIIIIIIIIIIIIIIIIIIJJJJIIIIIIIIIIIIIIIIIIIIJJIIIIIIIIIIIIIIIIIIIIIIJJJJIIIIJJJJIIIIIIIIIIIIJJIIJJIIIIIIIIJJIIJJIIJJIIIIIIIIJJJJIIIIJJIIIIIIIIJJJJJJJJIIIIIIIIIIIIJJJJIIIIJJIIJJIIJJIIIIIIIIJJJJJJIIIIIIIIJJIIJJIIIIIIIIIIIIIIJJIIIIIIIIJJIIJJJJJJIIIIJJIIJJIIJJJJIIIIIIJJJJIIIIIIIIIIIIIIJJIIJJIIIIJJJJJJJJJJIIJJIIJJIIIIJJIIIIIIIIJJIIIIIIJJJJJJJJIIJJJJJJJJJJIIIIIIIIIIIIJJJJIIIIJJIIJJIIJJIIIIIIIIJJJJJJIIIIIIIIJJIIJJIIIIIIIIIIIIIIJJIIIIIIIIIIIIJJJJJJIIIIJJIIJJIIJJJJJJIIIIJJJJIIIIIIIIIIIIIIJJIIJJJJIIJJJJJJJJJJIIJJIIJJIIIIJJIIIIIIIIJJIIIIIIJJIIJJJJIIIIIIIIIIIIIIIIJJIIIIIIIIIIIIIIIIIIJJIIIIIIJJJJIIIIIIIIJJJJIIIIIIIIIIIIIIJJIIIIIIIIIIIIJJIIIIIIJJIIIIIIIIIIIIIIJJJJIIIIJJIIIIIIJJJJIIIIIIIIIIIIIIJJIIIIIIIIIIIIIIJJIIIIJJIIIIJJJJIIIIJJIIIIJJIIIIJJJJIIIIIIIIIIIIIIIIJJIIIIIIIIIIIIJJJJJJJJJJIIIIIIJJJJJJIIIIIIJJIIIIIIIIIIIIIIIIIIJJIIIIIIIIJJIIJJIIIIIIIIIIIIIIIIJJIIJJIIIIIIIIJJIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIJJIIIIIIJJIIIIJJJJJJIIIIIIJJJJIIIIIIIIJJIIJJIIIIIIIIIIJJIIIIJJIIJJIIIIIIIIIIIIIIIIIIIIIIIIIIJJIIJJIIIIIIIIIIIIIIIIJJIIIIJJIIIIJJIIIIJJIIIIIIIIIIIIJJIIJJIIIIIIIIIIIIIIJJJJJJJJIIIIIIIIIIIIJJIIIIIIIIIIIIIIJJIIIIIIJJJJJJJJJJJJIIIIIIJJJJIIIIJJIIIIIIJJIIIIIIIIIIJJIIIIJJIIJJJJIIIIIIIIIIIIIIIIIIJJIIIIJJIIIIIIIIIIIIIIIIJJIIJJIIIIJJIIIIJJIIIIJJJJIIIIIIIIJJJJIIJJIIIIIIIIIIIIIIJJJJJJJJIIIIJJIIIIIIIIIIIIIIIIIIJJIIIIIIIIJJIIIIIIIIJJIIIIJJIIIIIIJJIIJJJJIIJJIIJJIIIIIIIIIIIIIIIIIIIIIIJJIIJJIIIIJJIIJJIIIIIIJJIIIIIIIIIIIIIIIIIIJJJJIIIIJJIIJJJJIIIIIIJJJJIIIIJJIIIIIIIIIIIIIIIIJJIIJJIIIIIIJJIIIIJJIIIIIIJJIIIIIIIIJJIIIIIIIIIIIIJJIIIIIIIIIIIIJJIIIIJJIIIIIIIIIIIIIIJJJJIIIIIIJJIIIIIIIIIIIIIIJJIIIIJJJJIIIIIIIIIIIIIIIIIIIIJJIIIIIIIIIIIIIIIIIIIIIIJJIIIIJJIIIIJJIIIIJJIIIIIIIIIIIIIIIIJJIIJJIIIIIIIIIIIIIIIIIIIIIIIIIIJJIIIIIIIIJJIIIIIIJJIIIIIIIIIIJJIIJJIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIJJIIIIIIIIIIJJJJIIIIJJIIJJIIJJIIIIIIIIJJIIIIIIIIIIIIIIIIIIJJIIIIIIIIIIIIJJIIIIIIIIIIIIIIIIIIIIIIIIIIJJIIIIIIIIIIIIIIIIIIIIJJIIIIIIIIJJIIIIIIIIIIIIIIJJJJIIIIIIIIIIIIJJIIIIJJJJIIIIIIIIIIIIIIIIIIJJIIIIJJIIIIIIJJJJIIJJJJIIIIJJIIJJIIJJIIIIJJJJIIIIJJJJIIJJJJJJJJIIIIIIIIJJIIIIJJIIJJJJIIJJIIJJJJJJJJJJJJIIJJJJJJIIIIJJJJJJJJJJJJIIJJJJIIIIJJIIJJJJIIJJJJIIIIIIIIJJJJIIJJIIIIIIJJIIIIIIIIJJIIIIIIIIJJJJJJIIIIIIIIIIIIJJIIIIJJJJIIJJJJJJJJIIIIJJJJJJIIJJJJJJIIJJIIJJJJIIJJIIJJJJJJJJJJJJJJIIJJIIJJIIJJIIJJJJJJJJJJIIJJJJIIIIIIIIJJIIJJIIJJJJIIJJJJJJIIIIIIJJJJJJIIIIJJJJIIIIIIIIJJJJIIJJIIJJJJIIJJJJIIJJJJJJIIJJIIJJJJJJJJJJJJJJJJJJIIJJJJJJJJIIJJJJIIIIIIIIIIJJJJJJIIIIIIJJIIJJIIIIJJIIJJIIIIJJJJIIIIJJJJIIIIIIJJJJIIJJIIJJJJIIIIJJJJIIIIJJJJJJIIJJIIJJJJJJIIJJJJJJIIJJJJIIJJIIJJJJJJIIJJJJJJJJJJJJIIJJJJJJIIIIJJJJIIJJJJIIIIJJIIJJJJJJIIIIIIJJJJJJIIJJJJIIIIIIJJJJIIJJJJIIIIJJJJJJJJJJIIJJIIIIJJIIJJJJIIJJJJJJIIIIJJIIIIIIIIIIIIIIIIJJJJIIJJJJIIJJIIIIJJJJJJJJJJIIIIIIJJIIJJJJJJIIIIJJJJJJJJIIIIJJIIJJIIIIJJJJJJIIJJIIJJJJJJIIIIJJJJJJIIIIIIIIIIJJJJJJJJJJJJIIIIIIIIIIIIJJIIJJIIJJIIIIIIJJJJIIJJJJIIJJIIJJJJJJJJJJIIJJJJJJJJIIIIJJIIIIJJJJJJIIIIJJIIIIIIJJIIJJIIJJJJIIIIJJIIJJIIJJIIJJIIJJJJIIJJJJIIJJIIIIJJIIIIIIIIJJJJJJIIJJJJJJIIJJIIIIIIJJJJJJJJJJJJJJJJJJJJJJJJIIIIIIIIJJJJJJIIJJIIJJJJIIIIIIJJIIIIJJJJJJJJIIIIJJJJIIIIJJIIJJIIJJIIJJJJJJIIIIIIJJIIJJIIJJJJJJJJIIJJIIJJIIIIJJJJIIJJJJIIJJIIJJIIIIJJIIJJIIIIIIJJJJIIJJIIJJIIIIJJIIJJJJJJIIJJIIIIIIJJJJJJIIJJIIIIIIJJIIIIIIIIIIIIJJIIJJIIJJJJIIIIJJJJIIIIIIJJJJJJIIJJJJJJIIJJIIIIJJIIJJIIIIIIJJIIJJIIIIJJIIJJIIJJJJJJJJIIIIJJJJIIIIJJIIIIIIIIJJJJJJJJIIIIIIJJIIIIJJJJJJJJJJJJIIIIJJIIIIIIIIJJJJIIIIJJJJJJJJIIJJIIIIIIIIIIJJJJJJIIIIIIJJIIJJIIJJJJJJJJIIIIIIIIJJJJJJJJJJIIIIIIIIIIIIIIIIIIIIJJJJJJIIIIJJJJIIJJJJJJJJJJIIIIJJIIJJJJIIIIIIJJJJJJJJIIIIIIJJIIJJIIJJIIIIJJJJJJJJIIIIIIIIJJJJIIIIJJJJJJJJJJIIIIIIIIJJIIIIJJJJIIIIJJJJIIIIIIIIJJIIIIIIJJJJJJIIIIIIIIJJIIIIJJIIIIJJJJIIIIJJJJIIJJIIIIJJJJIIIIIIIIIIIIJJJJJJIIIIJJJJIIIIJJIIJJIIJJIIIIIIJJJJJJJJIIJJJJIIIIIIIIIIIIJJIIIIIIIIIIIIIIJJIIJJIIIIJJIIIIIIIIIIJJJJJJIIIIIIIIJJJJIIIIIIIIIIIIIIIIIIIIIIIIJJIIJJJJJJJJIIIIIIJJIIJJJJJJJJJJIIIIJJJJJJIIJJJJJJJJJJIIJJIIIIJJJJJJJJJJIIJJIIIIIIIIIIJJIIIIIIIIJJIIIIJJIIIIIIIIIIIIIIIIIIJJJJIIIIJJJJIIJJIIIIJJIIJJIIJJIIIIJJJJJJJJIIJJIIJJIIIIJJJJJJJJIIJJJJIIJJJJIIIIJJIIIIIIJJJJIIIIIIJJIIIIIIIIJJIIJJJJIIIIIIIIJJJJJJJJJJIIIIJJIIJJJJIIIIIIJJIIIIIIJJIIIIIIJJJJJJJJJJIIIIJJJJJJIIIIIIJJIIIIIIJJJJJJJJIIIIJJJJJJIIIIJJJJIIIIJJIIIIIIIIIIIIJJJJJJJJJJIIIIIIJJJJIIJJJJIIIIJJIIIIJJIIIIIIJJJJIIIIIIJJIIIIJJIIJJIIJJJJIIIIIIIIJJJJJJJJJJIIIIJJIIJJIIIIJJIIJJIIIIIIJJIIIIIIJJJJJJJJJJIIIIJJJJJJIIIIIIJJIIIIIIIIJJJJIIIIIIIIJJIIJJIIJJJJIIIIJJIIIIIIIIIIIIJJJJJJJJJJIIIIIIJJJJIIJJJJJJIIJJIIIIIIJJJJIIJJIIJJIIIIJJIIIIIIIIIIIIJJIIJJJJJJIIIIIIIIJJJJJJIIJJIIJJJJIIIIJJJJJJIIIIIIJJIIJJJJIIIIIIIIIIIIJJIIIIIIJJIIIIJJJJIIIIIIIIJJIIJJJJIIJJJJJJIIJJIIJJJJIIJJIIIIJJIIJJJJJJJJJJIIJJJJJJIIIIJJIIJJIIIIIIIIJJIIJJIIIIJJJJJJIIJJIIJJIIIIIIJJIIJJIIIIIIIIJJIIIIIIJJIIIIIIJJJJJJIIJJJJIIIIIIIIJJJJJJJJJJJJJJIIJJIIIIIIJJJJIIIIIIJJIIIIJJIIJJIIJJIIIIJJIIIIJJJJIIJJJJJJIIJJIIIIIIIIJJJJJJJJJJJJJJJJJJJJIIIIIIIIIIIIJJJJIIJJIIIIJJIIJJIIJJIIIIIIIIIIIIJJIIIIIIIIIIIIIIIIIIIIJJJJJJIIJJIIJJJJJJJJIIIIJJIIJJIIIIIIIIJJIIJJIIJJJJIIJJIIIIJJIIJJIIIIIIIIIIJJIIJJIIIIJJIIJJJJJJIIJJJJJJIIIIIIIIIIIIIIJJIIJJJJJJJJJJJJJJIIIIIIIIIIIIJJJJJJJJJJIIJJIIJJIIJJIIIIIIIIIIIIJJIIIIIIIIIIIIJJIIIIIIIIJJJJIIJJIIJJJJJJJJIIIIJJIIJJIIIIIIIIJJIIJJIIJJJJIIJJIIIIJJIIJJIIIIJJIIJJIIIIIIJJJJJJIIIIIIJJJJIIIIIIIIIIIIIIIIJJJJIIIIIIIIIIIIIIJJIIJJIIJJIIIIIIJJJJIIJJIIIIJJIIJJIIJJJJJJIIJJIIJJJJIIIIIIIIIIJJJJIIIIJJIIIIIIIIJJIIIIIIJJJJIIJJJJIIJJIIJJIIJJIIIIJJJJIIJJIIIIIIIIJJIIIIIIIIJJIIIIJJJJIIIIIIIIIIIIIIJJJJIIIIIIIIJJJJJJJJIIIIIIIIIIIIIIJJIIIIJJIIJJIIIIIIIIJJIIIIIIIIIIJJIIIIJJJJIIIIJJIIJJIIIIIIJJIIJJIIIIJJJJIIJJIIIIJJIIIIJJJJIIJJIIIIIIJJIIIIIIIIJJJJJJIIIIJJIIJJJJIIIIIIJJIIJJIIJJIIIIJJIIJJJJJJIIIIIIJJIIJJJJIIIIIIJJIIIIJJIIIIIIIIIIIIJJIIJJJJJJIIIIIIJJIIIIIIIIIIJJIIIIJJJJJJIIJJIIIIIIIIJJIIIIIIJJIIIIIIIIIIIIIIJJIIJJJJIIIIJJIIJJIIJJJJJJJJJJIIIIIIIIIIIIIIIIIIIIJJIIJJIIJJIIIIJJJJIIIIJJIIIIJJIIJJIIIIJJJJIIIIJJJJIIIIJJJJIIIIIIIIIIIIIIJJIIJJIIIIIIIIJJIIIIIIJJJJIIIIIIJJIIIIIIJJJJIIIIJJIIJJIIJJIIIIJJJJIIIIJJJJIIJJJJJJJJIIIIIIIIJJIIIIJJIIJJJJIIJJIIJJJJJJJJJJJJIIJJJJJJIIIIJJJJJJJJJJJJIIJJJJIIIIJJIIJJJJIIJJJJIIIIIIIIJJJJIIJJIIIIIIJJIIIIIIIIJJIIIIIIIIJJJJJJIIIIIIIIIIIIJJIIIIJJJJIIJJJJJJJJIIIIJJJJJJIIJJJJJJIIJJIIJJJJIIJJIIJJJJJJJJJJJJJJIIJJIIJJIIJJIIJJJJJJJJJJIIJJJJIIIIIIIIJJIIJJIIJJJJIIJJJJJJIIIIIIJJJJJJIIIIJJJJIIIIIIIIJJJJIIJJIIJJJJIIJJJJIIJJJJJJIIJJIIJJJJJJJJJJJJJJJJJJIIJJJJJJJJIIJJJJIIIIIIIIIIJJJJJJIIIIIIJJIIJJIIIIJJIIJJIIIIJJJJIIIIJJJJIIIIIIJJJJIIJJIIJJJJIIIIJJJJIIIIJJJJJJIIJJIIJJJJJJIIJJJJJJIIJJJJIIJJIIJJJJJJIIJJJJJJJJJJJJIIJJJJJJIIIIJJJJIIJJJJIIIIJJIIJJJJJJIIIIIIJJJJJJIIJJJJIIIIIIJJJJIIJJJJIIIIJJJJJJJJJJIIJJIIIIJJIIJJJJIIJJJJJJIIIIJJIIIIIIIIIIIIIIIIJJJJIIJJJJIIJJIIIIJJJJJJJJJJIIIIIIJJIIJJJJJJIIIIJJJJJJJJIIIIJJIIJJIIIIJJJJJJIIJJIIJJJJJJIIIIJJJJJJIIIIIIIIIIJJJJJJJJJJJJIIIIIIIIIIIIJJIIJJIIJJIIIIIIJJJJIIJJJJIIJJIIJJJJJJJJJJIIJJJJJJJJIIIIJJIIIIJJJJJJIIIIJJIIIIIIJJIIJJIIJJJJIIIIJJIIJJIIJJIIJJIIJJJJIIJJJJIIJJIIIIJJIIIIIIIIJJJJJJIIJJJJJJIIJJIIIIIIJJJJJJJJJJJJJJJJJJJJJJJJIIIIIIIIJJJJJJIIJJIIJJJJIIIIIIJJIIIIJJJJJJJJIIIIJJJJIIIIJJIIJJIIJJIIJJJJJJIIIIIIJJIIJJIIJJJJJJJJIIJJIIJJIIIIJJJJIIJJJJIIJJIIJJIIIIJJIIJJIIIIIIJJJJIIJJIIJJIIIIJJIIJJJJJJIIJJIIIIIIJJJJJJIIJJIIIIIIJJIIIIIIIIIIIIJJIIJJIIJJJJIIIIJJJJIIIIIIJJJJJJIIJJJJJJIIJJIIIIJJIIJJIIIIIIJJIIJJIIIIJJIIJJIIJJJJJJJJIIIIJJJJIIIIJJIIIIIIIIJJJJJJJJIIIIIIJJIIIIJJJJJJJJJJJJIIIIJJIIIIIIIIJJJJIIIIJJJJJJJJIIJJIIIIIIIIIIJJJJJJIIIIIIJJIIJJIIJJJJJJJJIIIIIIIIJJJJJJJJJJIIIIIIIIIIIIIIIIIIIIJJJJJJIIIIJJJJIIJJJJJJJJJJIIIIJJIIJJJJIIIIIIJJJJJJJJIIIIIIJJIIJJIIJJIIIIJJJJJJJJIIIIIIIIJJJJIIIIJJJJJJJJJJIIIIIIIIJJIIIIJJJJIIIIJJJJIIIIIIIIJJIIIIIIJJJJJJIIIIIIIIJJIIIIJJIIIIJJJJIIIIJJJJIIJJIIIIJJJJIIIIIIIIIIIIJJJJJJIIIIJJJJIIIIJJIIJJIIJJIIIIIIJJJJJJJJIIJJJJIIIIIIIIIIIIJJIIIIIIIIIIIIIIJJIIJJIIIIJJIIIIIIIIIIJJJJJJIIIIIIIIJJJJIIIIIIIIIIIIIIIIIIIIIIIIJJIIJJJJJJJJIIIIIIJJIIJJJJJJJJJJIIIIJJJJJJIIJJJJJJJJJJIIJJIIIIJJJJJJJJJJIIJJIIIIIIIIIIJJIIIIIIIIJJIIIIJJIIIIIIIIIIIIIIIIIIJJJJIIIIJJJJIIJJIIIIJJIIJJIIJJIIIIJJJJJJJJIIJJIIJJIIIIJJJJJJJJIIJJJJIIJJJJIIIIJJIIIIIIJJJJIIIIIIJJIIIIIIIIJJIIJJJJIIIIIIIIJJJJJJJJJJIIIIJJIIJJJJIIIIIIJJIIIIIIJJIIIIIIJJJJJJJJJJIIIIJJJJJJIIIIIIJJIIIIIIJJJJJJJJIIIIJJJJJJIIIIJJJJIIIIJJIIIIIIIIIIIIJJJJJJJJJJIIIIIIJJJJIIJJJJIIIIJJIIIIJJIIIIIIJJJJIIIIIIJJIIIIJJIIJJIIJJJJIIIIIIIIJJJJJJJJJJIIIIJJIIJJIIIIJJIIJJIIIIIIJJIIIIIIJJJJJJJJJJIIIIJJJJJJIIIIIIJJIIIIIIIIJJJJIIIIIIIIJJIIJJIIJJJJIIIIJJIIIIIIIIIIIIJJJJJJJJJJIIIIIIJJJJIIJJJJJJIIJJIIIIIIJJJJIIJJIIJJIIIIJJIIIIIIIIIIIIJJIIJJJJJJIIIIIIIIJJJJJJIIJJIIJJJJIIIIJJJJJJIIIIIIJJIIJJJJIIIIIIIIIIIIJJIIIIIIJJIIIIJJJJIIIIIIIIJJIIJJJJIIJJJJJJIIJJIIJJJJIIJJIIIIJJIIJJJJJJJJJJIIJJJJJJIIIIJJIIJJIIIIIIIIJJIIJJIIIIJJJJJJIIJJIIJJIIIIIIJJIIJJIIIIIIIIJJIIIIIIJJIIIIIIJJJJJJIIJJJJIIIIIIIIJJJJJJJJJJJJJJIIJJIIIIIIJJJJIIIIIIJJIIIIJJIIJJIIJJIIIIJJIIIIJJJJIIJJJJJJIIJJIIIIIIIIJJJJJJJJJJJJJJJJJJJJIIIIIIIIIIIIJJJJIIJJIIIIJJIIJJIIJJIIIIIIIIIIIIJJIIIIIIIIIIIIIIIIIIIIJJJJJJIIJJIIJJJJJJJJIIIIJJIIJJIIIIIIIIJJIIJJIIJJJJIIJJIIIIJJIIJJIIIIIIIIIIJJIIJJIIIIJJIIJJJJJJIIJJJJJJIIIIIIIIIIIIIIJJIIJJJJJJJJJJJJJJIIIIIIIIIIIIJJJJJJJJJJIIJJIIJJIIJJIIIIIIIIIIIIJJIIIIIIIIIIIIJJIIIIIIIIJJJJIIJJIIJJJJJJJJIIIIJJIIJJIIIIIIIIJJIIJJIIJJJJIIJJIIIIJJIIJJIIIIJJIIJJIIIIIIJJJJJJIIIIIIJJJJIIIIIIIIIIIIIIIIJJJJIIIIIIIIIIIIIIJJIIJJIIJJIIIIIIJJJJIIJJIIIIJJIIJJIIJJJJJJIIJJIIJJJJIIIIIIIIIIJJJJIIIIJJIIIIIIIIJJIIIIIIJJJJIIJJJJIIJJIIJJIIJJIIIIJJJJIIJJIIIIIIIIJJIIIIIIIIJJIIIIJJJJIIIIIIIIIIIIIIJJJJIIIIIIIIJJJJJJJJIIIIIIIIIIIIIIJJIIIIJJIIJJIIIIIIIIJJIIIIIIIIIIJJIIIIJJJJIIIIJJIIJJIIIIIIJJIIJJIIIIJJJJIIJJIIIIJJIIIIJJJJIIJJIIIIIIJJIIIIIIIIJJJJJJIIIIJJIIJJJJIIIIIIJJIIJJIIJJIIIIJJIIJJJJJJIIIIIIJJIIJJJJIIIIIIJJIIIIJJIIIIIIIIIIIIJJIIJJJJJJIIIIIIJJIIIIIIIIIIJJIIIIJJJJJJIIJJIIIIIIIIJJIIIIIIJJIIIIIIIIIIIIIIJJIIJJJJIIIIJJIIJJIIJJJJJJJJJJIIIIIIIIIIIIIIIIIIIIJJIIJJIIJJIIIIJJJJIIIIJJIIIIJJIIJJIIIIJJJJIIIIJJJJIIIIJJJJIIIIIIIIIIIIIIJJIIJJIIIIIIIIJJIIIIIIJJJJIIIIIIJJIIIIJJJJIIJJJJIIJJIIIIJJIIIIIIJJJJJJJJIIIIJJIIJJIIIIIIJJJJJJJJIIIIJJJJJJJJIIIIJJJJJJJJJJJJJJJJJJJJJJJJJJIIJJJJIIJJJJJJJJJJJJJJIIIIIIJJIIJJJJJJJJJJJJJJIIJJJJIIJJJJIIIIJJIIJJJJJJJJJJJJJJJJJJIIJJJJJJJJJJIIJJIIJJJJJJJJIIJJIIIIIIIIIIJJJJIIJJIIIIJJJJIIJJJJIIIIJJJJIIJJIIJJJJJJIIJJJJIIIIJJIIIIJJJJJJJJJJJJJJJJJJJJJJJJJJJJIIIIIIJJJJJJIIJJIIJJJJJJIIJJJJJJJJJJJJJJJJIIIIIIJJJJJJJJJJIIJJJJJJIIJJIIJJIIJJJJJJJJJJJJJJJJJJJJIIJJJJJJJJJJJJJJIIJJJJJJJJJJIIIIJJIIIIIIIIJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJIIJJJJIIJJJJJJIIJJJJJJJJJJIIJJJJJJJJJJJJIIJJJJJJJJJJJJIIIIJJIIIIJJJJIIJJJJJJJJJJJJJJJJJJJJIIJJJJJJIIJJIIJJIIJJJJJJIIIIJJJJJJJJJJJJIIIIJJJJJJJJIIJJJJJJIIIIJJJJJJIIJJJJJJIIIIJJJJJJJJJJIIIIJJJJIIIIJJJJJJIIIIIIJJJJJJJJJJIIJJIIJJJJIIJJIIIIJJJJIIJJJJJJIIJJJJJJIIJJIIJJJJJJJJJJJJJJIIJJJJIIIIJJJJJJJJJJIIJJIIIIJJJJIIJJIIJJJJJJJJJJIIIIJJJJJJJJJJJJIIJJIIJJJJJJIIJJJJJJJJJJIIIIIIJJJJIIIIJJJJIIIIJJJJJJJJJJJJJJJJJJJJIIJJJJIIJJJJJJIIJJJJJJIIIIJJJJJJJJJJIIJJIIJJIIIIIIJJJJJJJJIIJJJJIIJJJJIIIIIIJJIIJJJJIIIIJJJJIIJJJJJJJJJJIIIIIIJJJJIIJJIIJJJJJJIIJJJJJJJJJJJJIIJJIIJJJJJJJJJJIIIIJJJJJJIIJJJJJJJJIIIIJJIIJJIIJJJJIIIIJJJJIIJJJJIIJJJJIIJJJJIIJJIIJJJJJJJJJJJJIIJJIIIIJJIIIIJJIIIIIIJJIIJJIIIIJJJJIIJJIIIIJJJJJJJJJJJJJJIIIIJJIIJJJJJJIIIIJJIIIIJJIIJJJJJJJJJJIIJJIIJJJJJJJJIIIIJJIIJJIIJJIIIIJJJJIIJJJJJJJJJJJJJJJJJJJJJJJJIIIIIIJJIIJJJJJJIIIIJJIIIIJJJJIIIIJJIIIIJJJJJJJJIIJJJJIIIIJJJJJJJJJJIIJJJJIIIIJJJJJJJJJJIIJJJJIIIIJJIIIIJJJJJJJJIIJJJJJJIIJJJJJJJJJJJJJJIIJJIIJJIIIIJJIIJJIIJJJJJJJJIIIIJJJJJJJJJJIIIIJJJJJJIIIIJJJJIIJJJJIIIIJJJJIIIIIIJJIIJJJJIIIIIIIIIIJJJJIIJJJJJJJJIIJJIIJJJJJJJJJJIIJJJJIIJJJJIIJJJJJJIIJJIIJJJJIIIIIIIIIIJJJJIIIIIIJJIIJJJJJJIIJJIIJJIIJJJJJJJJJJJJJJIIJJIIJJJJJJJJJJJJJJJJIIJJJJJJJJJJIIJJJJIIIIJJIIJJJJIIIIJJJJJJIIIIIIJJJJJJIIJJJJJJJJIIJJJJIIJJIIIIIIIIJJIIJJIIJJJJIIJJJJJJJJIIJJJJIIJJIIJJJJJJJJJJJJIIJJIIJJJJIIIIJJJJIIJJIIJJIIJJJJIIIIIIJJIIIIJJIIIIJJJJIIJJJJJJIIJJJJIIIIIIJJJJJJJJJJJJJJJJJJJJIIJJIIJJJJIIJJJJIIJJIIJJJJJJJJIIJJJJIIIIIIIIJJJJIIIIIIIIJJIIJJIIIIIIIIJJJJJJJJIIJJJJJJJJJJIIJJJJJJJJIIIIJJJJIIJJIIJJJJJJJJJJIIJJIIJJJJJJJJJJJJJJJJJJJJJJJJIIIIJJJJJJIIIIIIIIIIJJJJIIJJJJJJIIIIIIIIIIJJJJIIJJJJJJJJJJIIJJJJIIJJJJJJIIIIJJJJJJJJJJIIJJJJJJJJIIIIJJIIIIJJJJJJIIIIIIIIIIJJJJIIIIIIJJJJIIIIJJJJJJIIJJJJJJJJJJJJIIJJJJIIIIJJIIJJIIIIIIIIJJJJJJJJJJJJJJJJJJIIIIJJJJJJJJIIIIJJIIJJJJIIJJJJJJIIIIIIJJIIIIJJIIJJIIJJIIJJIIJJJJIIJJJJIIIIIIJJJJJJJJJJIIJJJJJJJJJJIIJJIIIIJJJJJJIIJJIIIIIIIIJJIIJJIIJJJJIIJJJJIIJJIIJJJJJJIIJJJJIIJJJJIIIIIIIIJJIIIIJJIIJJJJIIJJJJJJJJIIJJIIJJIIJJJJJJJJJJIIJJJJJJJJJJJJIIJJJJIIJJJJJJIIJJIIJJJJJJIIIIJJIIIIIIJJIIJJIIIIJJJJIIIIJJIIJJIIJJJJJJJJJJIIIIIIJJIIJJIIJJJJJJJJIIJJIIJJIIIIJJJJJJJJJJJJJJIIJJIIIIJJIIJJIIIIIIJJJJIIJJIIJJIIIIJJIIJJJJJJIIIIIIJJIIJJJJJJIIJJJJIIIIJJIIIIIIIIIIIIJJIIJJIIJJIIIIIIJJJJIIIIIIJJJJJJIIJJJJJJIIJJIIIIJJIIJJIIIIJJJJIIJJIIIIJJIIJJIIJJJJJJJJIIIIJJJJJJJJJJJJIIIIIIJJJJJJJJJJIIIIJJIIIIJJJJJJIIJJJJIIIIJJIIIIIIIIJJJJIIIIJJJJJJJJJJJJIIIIIIIIJJJJJJJJIIJJIIJJIIIIIIJJJJJJJJJJIIIIIIJJJJJJJJJJIIIIIIJJIIIIIIIIIIIIIIIIIIJJIIJJJJJJIIJJJJJJJJJJIIJJJJJJJJIIIIJJJJJJIIJJIIIIJJIIJJJJJJJJJJIIIIJJIIIIJJJJJJIIJJJJIIIIJJJJIIJJIIJJJJIIIIJJJJJJJJJJJJIIIIIIIIJJJJJJJJIIJJIIJJIIIIIIJJJJJJIIIIIIIIIIJJJJJJJJJJIIIIIIIIIIJJIIIIIIIIIIJJIIJJIIJJJJJJIIJJJJJJIIJJJJIIJJJJJJIIJJJJIIJJIIIIJJIIIIJJIIIIJJIIIIJJIIIIJJJJJJIIJJJJIIIIIIJJJJIIIIJJIIJJJJJJJJIIIIJJJJIIIIIIJJJJIIJJJJJJJJJJIIJJJJIIJJIIJJJJIIJJJJIIIIIIIIJJJJIIIIJJJJJJJJIIJJIIJJJJIIIIIIIIJJIIIIJJJJJJJJJJIIIIIIJJIIJJJJIIIIIIJJJJJJJJJJJJJJIIIIIIJJJJIIJJIIJJJJJJIIIIJJJJJJJJJJIIJJIIIIJJJJJJJJIIIIJJJJJJIIJJJJIIJJIIJJJJIIJJIIJJJJIIJJJJJJIIJJJJIIJJJJIIJJJJIIIIIIJJJJJJIIJJJJIIJJIIIIJJIIIIIIIIIIJJIIIIIIIIIIJJJJIIJJIIIIJJJJJJJJIIJJJJIIIIJJIIIIIIJJJJIIJJIIIIJJIIJJIIJJJJJJIIJJIIJJJJIIIIJJJJJJIIJJIIIIIIIIJJJJJJJJJJJJJJJJIIIIJJJJJJJJJJJJIIJJJJIIJJJJJJJJJJIIIIIIJJJJIIIIJJIIJJJJIIIIJJJJIIIIJJIIJJIIIIIIIIIIIIIIJJIIIIJJJJIIIIJJJJJJJJIIIIIIJJJJJJJJIIIIIIIIJJJJIIJJIIJJIIIIIIIIJJJJIIIIIIJJJJIIJJJJIIIIIIIIIIJJJJJJJJJJIIJJJJIIJJIIIIJJIIIIIIJJJJJJJJIIIIJJIIJJIIIIIIJJJJJJJJIIIIJJJJJJJJIIIIJJJJJJJJJJJJJJJJJJJJJJJJJJIIJJJJIIJJJJJJJJJJJJJJIIIIIIJJIIJJJJJJJJJJJJJJIIJJJJIIJJJJIIIIJJIIJJJJJJJJJJJJJJJJJJIIJJJJJJJJJJIIJJIIJJJJJJJJIIJJIIIIIIIIIIJJJJIIJJIIIIJJJJIIJJJJIIIIJJJJIIJJIIJJJJJJIIJJJJIIIIJJIIIIJJJJJJJJJJJJJJJJJJJJJJJJJJJJIIIIIIJJJJJJIIJJIIJJJJJJIIJJJJJJJJJJJJJJJJIIIIIIJJJJJJJJJJIIJJJJJJIIJJIIJJIIJJJJJJJJJJJJJJJJJJJJIIJJJJJJJJJJJJJJIIJJJJJJJJJJIIIIJJIIIIIIIIJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJIIJJJJIIJJJJJJIIJJJJJJJJJJIIJJJJJJJJJJJJIIJJJJJJJJJJJJIIIIJJIIIIJJJJIIJJJJJJJJJJJJJJJJJJJJIIJJJJJJIIJJIIJJIIJJJJJJIIIIJJJJJJJJJJJJIIIIJJJJJJJJIIJJJJJJIIIIJJJJJJIIJJJJJJIIIIJJJJJJJJJJIIIIJJJJIIIIJJJJJJIIIIIIJJJJJJJJJJIIJJIIJJJJIIJJIIIIJJJJIIJJJJJJIIJJJJJJIIJJIIJJJJJJJJJJJJJJIIJJJJIIIIJJJJJJJJJJIIJJIIIIJJJJIIJJIIJJJJJJJJJJIIIIJJJJJJJJJJJJIIJJIIJJJJJJIIJJJJJJJJJJIIIIIIJJJJIIIIJJJJIIIIJJJJJJJJJJJJJJJJJJJJIIJJJJIIJJJJJJIIJJJJJJIIIIJJJJJJJJJJIIJJIIJJIIIIIIJJJJJJJJIIJJJJIIJJJJIIIIIIJJIIJJJJIIIIJJJJIIJJJJJJJJJJIIIIIIJJJJIIJJIIJJJJJJJJJJJJJJJJJJJJIIJJIIJJJJJJJJJJIIIIJJJJJJIIJJJJJJJJIIIIJJIIJJIIJJJJIIIIJJJJIIJJJJIIJJJJIIJJJJIIJJIIJJJJJJJJJJJJIIJJIIIIJJIIIIJJIIIIIIJJIIJJIIIIJJJJIIJJIIIIJJJJJJJJJJJJJJIIIIJJIIJJJJJJIIIIJJIIIIJJIIJJJJJJJJJJIIJJIIJJJJJJJJIIIIJJIIJJIIJJIIIIJJJJIIJJJJJJJJJJJJJJJJJJJJJJJJIIIIIIJJIIJJJJJJIIIIJJIIIIJJJJIIIIJJIIIIJJJJJJJJIIJJJJIIIIJJJJJJJJJJIIJJJJIIIIJJJJJJJJJJIIJJJJIIIIJJIIIIJJJJJJJJIIJJJJJJIIJJJJJJJJJJJJJJIIJJIIJJIIIIJJIIJJIIJJJJJJJJIIIIJJJJJJJJJJIIIIJJJJJJIIIIJJJJIIJJJJIIIIJJJJIIIIIIJJIIJJJJIIIIIIIIIIJJJJIIJJJJJJJJIIJJIIJJJJJJJJJJIIJJJJIIJJJJIIJJJJJJIIJJIIJJJJIIIIIIIIIIJJJJIIIIIIJJIIJJJJJJIIJJIIJJIIJJJJJJJJJJJJJJIIJJIIJJJJJJJJJJJJJJJJIIJJJJJJJJJJIIJJJJIIIIJJIIJJJJIIIIJJJJJJIIIIIIJJJJJJIIJJJJJJJJIIJJJJIIJJIIIIIIIIJJIIJJIIJJJJIIJJJJJJJJIIJJJJIIJJIIJJJJJJJJJJJJIIJJIIJJJJIIIIJJJJIIJJIIJJIIJJJJIIIIIIJJIIIIJJIIIIJJJJIIJJJJJJIIJJJJIIIIIIJJJJJJJJJJJJJJJJJJJJIIJJIIJJJJIIJJJJIIJJIIJJJJJJJJIIJJJJIIIIIIIIJJJJIIIIIIIIJJIIJJIIIIIIIIJJJJJJJJIIJJJJJJJJJJIIJJJJJJJJIIIIJJJJIIJJIIJJJJJJJJJJIIJJIIJJJJJJJJJJJJJJJJJJJJJJJJIIIIJJJJJJIIIIIIIIIIJJJJIIJJJJJJIIIIIIIIIIJJJJIIJJJJJJJJJJIIJJJJIIJJJJJJIIIIJJJJJJJJJJIIJJJJJJJJIIIIJJIIIIJJJJJJIIIIIIIIIIJJJJIIIIIIJJJJIIIIJJJJJJIIJJJJJJJJJJJJIIJJJJIIIIJJIIJJIIIIIIIIJJJJJJJJJJJJJJJJJJIIIIJJJJJJJJIIIIJJIIJJJJIIJJJJJJIIIIIIJJIIIIJJIIJJIIJJIIJJIIJJJJIIJJJJIIIIIIJJJJJJJJJJIIJJJJJJJJJJIIJJIIIIJJJJJJIIJJIIIIIIIIJJIIJJIIJJJJIIJJJJIIJJIIJJJJJJIIJJJJIIJJJJIIIIIIIIJJIIIIJJIIJJJJIIJJJJJJJJIIJJIIJJIIJJJJJJJJJJIIJJJJJJJJJJJJIIJJJJIIJJJJJJIIJJIIJJJJJJIIIIJJIIIIIIJJIIJJIIIIJJJJIIIIJJIIJJIIJJJJJJJJJJIIIIIIJJIIJJIIJJJJJJJJIIJJIIJJIIIIJJJJJJJJJJJJJJIIJJIIIIJJIIJJIIIIIIJJJJIIJJIIJJIIIIJJIIJJJJJJIIIIIIJJIIJJJJJJIIJJJJIIIIJJIIIIIIIIIIIIJJIIJJIIJJIIIIIIJJJJIIIIIIJJJJJJIIJJJJJJIIJJIIIIJJIIJJIIIIJJJJIIJJIIIIJJIIJJIIJJJJJJJJIIIIJJJJJJJJJJJJIIIIIIJJJJJJJJJJIIIIJJIIIIJJJJJJIIJJJJIIIIJJIIIIIIIIJJJJIIIIJJJJJJJJJJJJIIIIIIIIJJJJJJJJIIJJIIJJIIIIIIJJJJJJJJJJIIIIIIJJJJJJJJJJIIIIIIJJIIIIIIIIIIIIIIIIIIJJIIJJJJJJIIJJJJJJJJJJIIJJJJJJJJIIIIJJJJJJIIJJIIIIJJIIJJJJJJJJJJIIIIJJIIIIJJJJJJIIJJJJIIIIJJJJIIJJIIJJJJIIIIJJJJJJJJJJJJIIIIIIIIJJJJJJJJIIJJIIJJIIIIIIJJJJJJIIIIIIIIIIJJJJJJJJJJIIIIIIIIIIJJIIIIIIIIIIJJIIJJIIJJJJJJIIJJJJJJIIJJJJIIJJJJJJIIJJJJIIJJIIIIJJIIIIJJIIIIJJIIIIJJIIIIJJJJJJIIJJJJIIIIIIJJJJIIIIJJIIJJJJJJJJIIIIJJJJIIIIIIJJJJIIJJJJJJJJJJIIJJJJIIJJIIJJJJIIJJJJIIIIIIIIJJJJIIIIJJJJJJJJIIJJIIJJJJIIIIIIIIJJIIIIJJJJJJJJJJIIIIIIJJIIJJJJIIIIIIJJJJJJJJJJJJJJIIIIIIJJJJIIJJIIJJJJJJIIIIJJJJJJJJJJIIJJIIIIJJJJJJJJIIIIJJJJJJIIJJJJIIJJIIJJJJIIJJIIJJJJIIJJJJJJIIJJJJIIJJJJIIJJJJIIIIIIJJJJJJIIJJJJIIJJIIIIJJIIIIIIIIIIJJIIIIIIIIIIJJJJIIJJIIIIJJJJJJJJIIJJJJIIIIJJIIIIIIJJJJIIJJIIIIJJIIJJIIJJJJJJIIJJIIJJJJIIIIJJJJJJIIJJIIIIIIIIJJJJJJJJJJJJJJJJIIIIJJJJJJJJJJJJIIJJJJIIJJJJJJJJJJIIIIIIJJJJIIIIJJIIJJJJIIIIJJJJIIIIJJIIJJIIIIIIIIIIIIIIJJIIIIJJJJIIIIJJJJJJJJIIIIIIJJJJJJJJIIIIIIIIJJJJIIJJIIJJIIIIIIIIJJJJIIIIIIJJJJIIJJJJIIIIIIIIIIJJJJJJJJJJJJJJJJIIJJJJJJJJIIJJJJIIJJIIJJJJJJJJJJJJIIJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJIIIIJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJIIIIJJJJJJIIJJJJJJJJJJJJJJJJJJJJJJIIJJJJJJJJJJJJJJJJJJJJIIJJJJJJJJJJJJJJJJJJJJIIJJJJJJJJJJIIIIJJJJJJJJJJIIJJJJJJIIJJJJJJIIIIIIJJJJJJIIJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJIIJJJJJJJJJJJJJJJJIIIIJJJJJJJJJJJJJJJJIIIIJJJJJJJJJJIIIIJJJJJJJJJJJJJJJJJJIIJJJJJJJJJJJJJJJJJJIIJJJJJJJJJJJJJJJJIIJJIIJJJJJJIIJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJIIIIJJJJJJJJJJJJJJJJJJJJJJJJJJJJIIJJJJJJJJJJJJIIJJJJJJJJJJIIIIJJJJJJJJJJJJJJJJJJJJJJIIJJIIJJIIIIJJJJJJJJIIJJJJJJJJJJJJJJIIIIIIJJJJJJJJJJJJJJJJJJJJIIJJJJJJJJJJJJJJIIJJJJJJJJJJJJJJJJJJJJJJJJJJIIJJJJJJJJIIJJJJIIIIJJJJJJJJJJIIJJJJJJIIIIJJJJJJJJJJIIJJJJJJJJJJIIJJJJJJJJIIJJJJJJJJJJJJJJJJJJJJIIIIJJJJIIJJIIJJJJJJJJIIJJJJIIJJIIJJJJJJJJJJIIJJIIIIJJJJJJIIJJJJJJJJIIJJJJJJJJJJJJJJJJJJJJJJJJJJIIJJJJJJIIJJIIJJJJIIJJJJJJJJJJJJIIJJJJJJJJIIIIJJJJJJIIJJIIIIJJJJJJJJJJJJJJJJJJJJJJJJIIJJJJJJJJJJJJJJIIIIIIJJJJJJIIJJIIJJJJIIIIIIJJIIJJJJJJJJJJJJJJIIJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJIIJJIIJJJJIIIIJJJJJJIIIIJJJJJJJJJJJJJJIIJJIIJJJJJJJJJJIIIIIIJJJJIIJJJJJJJJIIJJIIIIIIJJJJJJIIJJJJJJIIJJJJJJIIIIJJJJIIIIJJJJJJJJJJJJJJJJJJJJJJJJJJIIJJJJJJIIJJIIJJJJJJJJJJJJJJIIIIJJJJJJJJJJJJIIJJJJIIJJJJJJJJIIJJJJJJJJJJIIJJIIJJIIIIJJIIJJJJJJJJJJJJJJJJJJJJIIJJJJJJJJJJJJJJJJJJJJJJJJJJIIJJJJJJJJJJJJJJJJJJJJJJIIIIJJJJJJIIJJJJJJJJJJJJJJIIJJJJIIJJJJJJJJJJJJJJJJJJIIJJIIJJJJJJIIJJJJJJJJIIJJJJJJJJJJJJJJJJIIJJJJIIJJIIJJJJJJJJJJJJJJJJIIJJJJJJJJJJJJIIJJJJJJJJIIJJJJJJIIJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJIIJJJJJJIIJJJJIIJJJJIIJJJJIIIIJJIIJJJJJJIIJJJJJJIIJJIIJJJJJJJJJJJJJJJJJJJJIIJJIIIIJJJJJJIIJJIIJJJJJJJJJJJJJJJJIIIIIIJJJJIIJJIIJJIIIIJJJJJJJJJJJJIIJJJJJJJJJJJJIIJJJJJJJJJJIIJJJJIIJJJJJJIIJJIIJJIIIIIIJJJJIIJJIIJJJJJJJJJJJJJJJJJJIIIIJJJJJJJJJJJJJJIIJJJJJJJJIIJJIIJJJJJJJJIIJJJJJJJJIIJJJJJJJJIIJJJJJJJJJJJJJJJJJJIIJJJJJJJJJJJJIIIIJJJJJJIIIIJJJJIIJJJJJJJJJJJJJJIIJJJJIIJJJJJJJJJJIIIIJJJJIIJJJJJJJJIIIIJJIIJJJJJJJJJJJJIIIIJJIIJJIIJJIIIIIIIIJJIIJJJJJJJJJJJJJJJJJJIIJJJJJJJJJJJJJJJJJJIIJJJJIIJJIIJJJJJJJJJJJJIIJJIIIIJJJJJJJJJJJJIIJJIIJJJJJJIIJJJJJJJJJJIIIIIIJJJJIIIIJJJJIIIIJJJJJJJJJJIIJJJJJJJJJJJJJJJJJJJJJJIIIIJJJJIIIIJJJJJJJJJJIIJJJJJJIIJJIIJJJJJJJJIIJJJJIIJJJJIIIIIIJJIIJJJJJJJJJJJJIIJJJJIIJJIIIIJJJJJJJJIIIIJJJJIIJJJJJJJJJJJJIIIIIIJJJJJJIIJJJJJJJJJJIIIIIIJJJJIIIIJJJJIIIIJJJJJJJJJJJJJJJJJJJJIIJJJJJJJJJJJJIIIIJJJJIIIIJJJJJJJJJJIIJJJJJJIIIIIIJJJJJJJJIIJJJJIIJJJJIIIIIIJJIIJJJJIIIIIIJJIIJJJJJJJJJJIIIIIIJJJJJJJJIIJJJJJJJJJJJJJJJJJJJJIIJJIIIIJJJJJJJJIIIIJJJJJJIIJJJJJJJJIIIIJJIIJJIIJJJJIIIIJJJJIIJJJJIIJJJJJJJJJJJJJJIIJJJJJJJJJJJJIIJJIIIIJJIIIIJJIIIIIIIIJJJJIIIIJJJJIIJJIIJJJJJJJJJJJJJJJJIIIIJJIIJJJJJJIIIIJJJJIIJJJJJJJJJJJJJJJJJJIIJJJJJJIIJJIIJJIIJJIIJJIIJJJJJJIIJJJJJJJJJJJJJJJJJJJJJJJJIIIIIIJJIIJJJJJJIIIIJJIIIIJJJJIIIIJJIIIIJJIIJJJJJJJJJJJJIIJJJJJJJJJJIIJJIIIIJJJJJJJJJJJJJJIIJJIIIIJJIIIIJJJJJJJJIIJJJJJJIIJJJJJJIIJJJJJJIIJJJJJJIIIIJJIIJJIIJJIIJJJJIIIIJJJJJJJJJJJJIIJJJJJJIIJJJJJJJJJJJJJJJJIIJJJJJJIIJJIIIIJJIIJJJJJJIIIIJJIIIIJJIIJJJJIIJJJJJJIIJJJJJJJJJJIIJJJJIIIIJJJJJJJJJJJJIIJJJJIIJJJJJJJJJJJJJJJJJJIIJJJJJJJJJJIIJJJJJJIIJJJJJJJJIIJJJJJJIIJJIIJJJJIIIIJJJJJJJJJJJJIIJJJJJJIIIIJJJJJJIIJJJJJJJJJJJJJJIIJJJJJJIIJJJJIIIIIIIIJJJJJJIIJJIIIIJJIIJJIIIIJJJJJJJJIIIIIIJJJJJJJJIIIIJJIIIIJJJJJJIIJJJJJJIIJJJJIIJJIIJJIIIIIIIIIIIIIIIIJJJJJJJJJJJJIIIIJJIIJJIIIIIIJJJJIIJJIIIIJJJJJJIIJJIIJJIIJJIIIIJJIIJJIIIIJJJJIIJJIIJJIIJJJJJJJJJJIIJJJJIIIIIIJJIIJJJJJJJJJJJJJJIIIIIIJJJJJJJJIIIIJJJJIIJJJJJJJJIIJJIIIIJJJJJJIIJJIIIIJJIIJJJJIIJJJJJJIIIIIIJJJJJJJJJJIIJJIIJJJJIIIIJJIIJJIIIIIIIIIIJJJJJJIIJJJJIIIIJJJJJJIIIIJJJJIIIIJJJJJJJJJJIIJJJJIIJJJJJJJJIIJJIIIIIIJJIIJJIIJJJJJJJJJJIIIIIIJJJJIIIIJJIIJJJJIIJJJJJJIIIIJJJJJJJJJJIIJJIIJJIIIIIIIIIIJJJJJJJJJJJJJJJJJJIIIIIIIIJJIIJJJJJJIIIIIIIIJJJJIIJJJJJJIIIIJJJJIIIIIIIIIIJJIIJJIIJJIIJJIIIIJJJJIIJJJJIIJJIIJJIIJJJJIIJJJJIIIIIIJJJJJJJJJJJJJJIIJJJJIIJJJJJJIIJJIIIIIIIIJJJJJJJJJJJJJJJJJJJJJJJJIIJJJJJJJJIIJJJJIIJJIIJJJJJJJJJJJJIIJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJIIIIJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJIIJJJJJJJJIIJJJJJJJJJJJJJJJJJJJJJJIIJJJJJJJJJJJJJJJJJJJJIIJJJJJJJJJJJJJJJJJJJJIIJJJJJJJJJJIIIIJJJJJJJJJJIIJJJJJJIIJJJJJJIIIIIIJJJJJJIIJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJIIJJJJJJJJJJJJJJJJJJIIJJJJJJJJJJJJJJJJIIIIJJJJJJJJJJIIIIJJJJJJJJJJJJJJJJJJIIJJJJJJJJJJJJJJJJJJIIJJJJJJJJJJJJJJJJIIJJIIJJJJJJIIJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJIIIIJJJJJJJJJJJJJJJJJJJJJJJJJJJJIIJJJJJJJJJJJJIIJJJJJJJJJJIIIIJJJJJJJJJJJJJJJJJJJJJJIIJJIIJJIIIIJJJJJJJJIIJJJJJJJJJJJJJJIIIIIIJJJJJJJJJJJJJJJJJJJJIIJJJJJJJJJJJJJJIIJJJJJJJJJJJJJJJJJJJJJJJJJJIIJJJJJJJJIIJJJJIIIIJJJJJJJJJJIIJJJJJJIIIIJJJJJJJJJJIIJJJJJJJJJJIIJJJJJJJJIIJJJJJJJJJJJJJJJJJJJJIIIIJJJJIIJJIIJJJJJJJJIIJJJJIIJJIIJJJJJJJJJJIIJJIIIIJJJJJJIIJJJJJJJJIIJJJJJJJJJJJJJJJJJJJJJJJJJJIIJJJJJJIIJJIIJJJJIIJJJJJJJJJJJJIIJJJJJJJJIIIIJJJJJJIIJJIIIIJJJJJJJJJJJJJJJJJJJJJJJJIIJJJJJJJJJJJJJJIIIIIIJJJJJJIIJJIIJJJJIIIIIIJJIIJJJJJJJJJJJJJJIIJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJIIJJIIJJJJIIIIJJJJJJIIIIJJJJJJJJJJJJJJIIJJIIJJJJJJJJJJIIIIIIJJJJIIJJJJJJJJIIJJIIIIIIJJJJJJIIJJJJJJIIJJJJJJIIIIJJJJIIIIJJJJJJJJJJJJJJJJJJJJJJJJJJIIJJJJJJIIJJIIJJJJJJJJJJJJJJIIIIJJJJJJJJJJJJIIJJJJIIJJJJJJJJIIJJJJJJJJJJIIJJIIJJIIIIJJIIJJJJJJJJJJJJJJJJJJJJIIJJJJJJJJJJJJJJJJJJJJJJJJJJIIJJJJJJJJJJJJJJJJJJJJJJIIIIJJJJJJIIJJJJJJJJJJJJJJIIJJJJIIJJJJJJJJJJJJJJJJJJIIJJIIJJJJJJIIJJJJJJJJIIJJJJJJJJJJJJJJJJIIJJJJIIJJIIJJJJJJJJJJJJJJJJIIJJJJJJJJJJJJIIJJJJJJJJIIJJJJJJIIJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJIIJJJJJJIIJJJJIIJJJJIIJJJJIIIIJJIIJJJJJJIIJJJJJJIIJJIIJJJJJJJJJJJJJJJJJJJJIIJJIIIIJJJJJJIIJJIIJJJJJJJJJJJJJJJJIIIIIIJJJJIIJJIIJJIIIIJJJJJJJJJJJJIIJJJJJJJJJJJJIIJJJJJJJJJJIIJJJJIIJJJJJJIIJJIIJJIIIIIIJJJJIIJJIIJJJJJJJJJJJJJJJJJJIIIIJJJJJJJJJJJJJJIIJJJJJJJJIIJJIIJJJJJJJJIIJJJJJJJJIIJJJJJJJJIIJJJJJJJJJJJJJJJJJJIIJJJJJJJJJJJJIIIIJJJJJJIIIIJJJJIIJJJJJJJJJJJJJJIIJJJJIIJJJJJJJJJJIIIIJJJJIIJJJJJJJJIIIIJJIIJJJJJJJJJJJJIIIIJJIIJJIIJJIIIIIIIIJJIIJJJJJJJJJJJJJJJJJJIIJJJJJJJJJJJJJJJJJJIIJJJJIIJJIIJJJJJJJJJJJJIIJJIIIIJJJJJJJJJJJJIIJJIIJJJJJJIIJJJJJJJJJJIIIIIIJJJJIIIIJJJJIIIIJJJJJJJJJJIIJJJJJJJJJJJJJJJJJJJJJJIIIIJJJJIIIIJJJJJJJJJJIIJJJJJJIIJJIIJJJJJJJJIIJJJJIIJJJJIIIIIIJJIIJJJJJJJJJJJJIIJJJJIIJJIIIIJJJJJJJJIIIIJJJJIIJJJJJJJJJJJJIIIIIIJJJJJJIIJJJJJJJJJJIIIIIIJJJJIIIIJJJJIIIIJJJJJJJJJJJJJJJJJJJJIIJJJJJJJJJJJJIIIIJJJJIIIIJJJJJJJJJJIIJJJJJJIIIIIIJJJJJJJJIIJJJJIIJJJJIIIIIIJJIIJJJJIIIIIIJJIIJJJJJJJJJJIIIIIIJJJJJJJJIIJJJJJJJJJJJJJJJJJJJJIIJJIIIIJJJJJJJJIIIIJJJJJJIIJJJJJJJJIIIIJJIIJJIIJJJJIIIIJJJJIIJJJJIIJJJJJJJJJJJJJJIIJJJJJJJJJJJJIIJJIIIIJJIIIIJJIIIIIIIIJJJJIIIIJJJJIIJJIIJJJJJJJJJJJJJJJJIIIIJJIIJJJJJJIIIIJJJJIIJJJJJJJJJJJJJJJJJJIIJJJJJJIIJJIIJJIIJJIIJJIIJJJJJJIIJJJJJJJJJJJJJJJJJJJJJJJJIIIIIIJJIIJJJJJJIIIIJJIIIIJJJJIIIIJJIIIIJJIIJJJJJJJJJJJJIIJJJJJJJJJJIIJJIIIIJJJJJJJJJJJJJJIIJJIIIIJJIIIIJJJJJJJJIIJJJJJJIIJJJJJJIIJJJJJJIIJJJJJJIIIIJJIIJJIIJJIIJJJJIIIIJJJJJJJJJJJJIIJJJJJJIIJJJJJJJJJJJJJJJJIIJJJJJJIIJJIIIIJJIIJJJJJJIIIIJJIIIIJJIIJJJJIIJJJJJJIIJJJJJJJJJJIIJJJJIIIIJJJJJJJJJJJJIIJJJJIIJJJJJJJJJJJJJJJJJJIIJJJJJJJJJJIIJJJJJJIIJJJJJJJJIIJJJJJJIIJJIIJJJJIIIIJJJJJJJJJJJJIIJJJJJJIIIIJJJJJJIIJJJJJJJJJJJJJJIIJJJJJJIIJJJJIIIIIIIIJJJJJJIIJJIIIIJJIIJJIIIIJJJJJJJJIIIIIIJJJJJJJJIIIIJJIIIIJJJJJJIIJJJJJJIIJJJJIIJJIIJJIIIIIIIIIIIIIIIIJJJJJJJJJJJJIIIIJJIIJJIIIIIIJJJJIIJJIIIIJJJJJJIIJJIIJJIIJJIIIIJJIIJJIIIIJJJJIIJJIIJJIIJJJJJJJJJJIIJJJJIIIIIIJJIIJJJJJJJJJJJJJJIIIIIIJJJJJJJJIIIIJJJJIIJJJJJJJJIIJJIIIIJJJJJJIIJJIIIIJJIIJJJJIIJJJJJJIIIIIIJJJJJJJJJJIIJJIIJJJJIIIIJJIIJJIIIIIIIIIIJJJJJJIIJJJJIIIIJJJJJJIIIIJJJJIIIIJJJJJJJJJJIIJJJJIIJJJJJJJJIIJJIIIIIIJJIIJJIIJJJJJJJJJJIIIIIIJJJJIIIIJJIIJJJJIIJJJJJJIIIIJJJJJJJJJJIIJJIIJJIIIIIIIIIIJJJJJJJJJJJJJJJJJJIIIIIIIIJJIIJJJJJJIIIIIIIIJJJJIIJJJJJJIIIIJJJJIIIIIIIIIIJJIIJJIIJJIIJJIIIIJJJJIIJJJJIIJJIIJJIIJJJJIIJJJJIIIIIIJJJJJJJJJJJJJJIIJJJJIIJJJJJJIIJJIIIIIIIIJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJIIJJJJJJJJIIJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJIIJJJJJJIIJJJJJJJJJJJJJJJJJJJJIIJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJIIJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJIIJJJJJJJJJJIIJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJIIJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJIIJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJIIJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJIIJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJIIJJJJJJJJJJJJJJJJJJJJJJJJJJIIJJJJIIJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJIIJJJJJJJJJJJJJJJJJJIIJJJJJJJJJJJJIIJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJIIJJJJJJJJJJJJJJJJJJJJIIJJJJJJJJJJJJJJJJIIJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJIIJJJJJJIIJJJJJJJJIIJJJJJJJJJJJJJJJJJJJJJJIIJJJJJJJJIIJJJJJJJJJJJJJJJJJJIIJJJJJJJJJJJJJJJJJJJJJJIIJJIIJJJJJJJJJJIIJJIIJJJJJJJJJJJJJJJJJJJJJJIIJJJJJJJJIIJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJIIIIJJJJJJJJJJIIIIIIJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJIIJJJJJJJJJJJJIIJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJIIJJJJJJJJJJIIJJJJJJIIJJJJJJJJJJIIJJJJJJJJJJJJIIJJJJJJJJJJJJJJJJJJJJIIJJJJJJJJJJJJIIJJJJIIJJJJJJJJIIJJJJJJJJJJJJJJJJJJJJJJJJJJIIJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJIIJJJJJJJJJJIIJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJIIJJJJJJJJJJJJJJJJJJJJIIJJJJJJJJJJJJIIJJJJJJJJJJJJIIJJJJIIJJJJIIJJIIJJJJJJJJJJJJIIJJJJJJJJIIIIJJJJIIIIJJJJJJIIJJJJJJJJJJJJIIJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJIIJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJIIJJJJJJJJJJJJJJJJJJJJJJJJJJIIIIJJIIJJJJJJJJJJJJJJJJJJJJJJIIJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJIIJJJJJJIIJJJJJJJJJJJJJJJJJJIIJJIIJJJJJJJJJJIIJJJJJJJJJJJJJJIIJJJJJJIIJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJIIJJIIJJJJJJJJIIJJIIIIJJJJJJIIJJJJJJJJJJIIJJJJJJJJIIJJJJJJJJIIJJJJJJJJJJJJJJJJIIJJJJJJJJIIJJJJJJJJJJIIJJJJIIJJJJJJJJJJJJIIIIJJJJJJIIJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJIIJJJJJJJJJJJJJJIIJJJJIIJJJJJJIIJJJJJJJJJJJJIIJJIIIIJJIIJJIIJJJJJJJJJJJJIIJJJJJJIIJJJJJJJJIIJJJJJJJJJJJJJJJJJJJJJJJJJJIIJJJJJJJJJJJJJJJJIIJJJJJJJJJJJJJJIIJJJJJJIIJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJIIJJIIJJJJJJJJJJJJJJIIIIIIJJJJJJIIJJIIJJJJIIIIIIJJIIJJJJJJJJJJJJJJJJJJIIJJJJJJJJJJJJJJJJJJJJJJJJJJIIJJJJJJJJJJJJJJJJJJJJIIJJJJJJJJJJJJJJJJJJIIJJJJJJJJJJIIIIIIJJJJIIJJJJIIJJIIJJIIIIJJJJJJJJJJJJJJJJIIJJJJJJIIIIJJJJIIIIJJJJJJJJJJJJJJJJJJJJJJJJJJIIJJIIJJIIJJIIJJJJJJJJJJJJJJJJIIJJJJJJIIJJJJIIJJJJIIJJJJJJJJIIJJJJJJJJJJIIJJIIJJIIIIJJJJJJJJJJJJJJIIJJJJJJJJIIJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJIIIIJJJJJJJJJJJJJJJJJJJJJJIIJJJJIIJJJJJJJJIIJJJJJJJJJJJJJJJJJJJJIIJJJJJJJJIIJJJJJJJJJJIIJJJJIIJJJJIIJJIIJJJJJJJJJJJJIIJJJJJJJJIIJJIIJJJJIIIIJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJIIJJJJJJJJJJJJIIIIJJJJJJIIJJJJJJJJJJJJJJJJJJJJIIJJJJJJJJIIJJJJJJJJIIJJIIJJJJJJIIJJJJJJJJIIJJJJJJJJJJIIJJJJIIJJJJIIJJJJJJJJJJJJJJIIIIJJJJJJJJIIJJJJJJJJIIIIJJJJJJJJJJJJJJJJJJJJJJJJJJIIJJJJIIJJJJJJIIIIJJJJIIIIIIJJJJJJJJJJJJIIJJJJJJJJJJJJJJJJJJIIJJJJJJJJJJJJJJJJJJJJJJIIJJJJJJJJJJJJJJJJJJJJIIJJJJIIJJIIJJJJJJJJJJJJJJJJJJJJJJJJIIJJJJJJJJJJJJJJIIJJJJJJIIJJJJJJJJIIJJJJJJJJIIJJJJJJJJJJJJJJJJJJIIJJJJJJIIJJJJJJJJIIIIJJJJJJJJJJJJJJIIJJJJJJJJJJJJJJIIJJIIJJJJJJJJJJJJJJJJJJJJJJIIIIJJJJJJJJJJJJIIJJIIJJJJIIJJJJIIJJIIJJJJJJIIJJJJJJJJJJJJJJIIJJJJJJJJIIJJJJJJJJJJJJJJJJJJJJJJJJIIJJJJJJJJJJJJIIJJJJJJJJJJJJJJJJIIIIJJJJIIJJJJIIIIIIJJJJJJIIJJJJJJJJJJJJJJIIJJJJJJJJJJJJJJIIIIJJJJJJJJJJJJIIJJJJIIIIJJJJJJJJJJJJJJJJIIIIJJJJJJIIJJJJJJIIJJJJIIJJJJIIJJJJIIJJJJJJJJJJJJJJJJJJJJIIJJIIJJJJJJJJIIIIIIJJJJJJJJIIIIIIJJJJJJJJJJJJIIJJIIJJJJJJJJJJJJJJJJIIJJJJJJJJJJJJIIJJJJJJJJJJJJJJIIIIIIJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJIIJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJIIJJJJJJIIJJJJJJJJJJJJJJJJJJJJIIJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJIIJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJIIJJJJJJJJJJIIJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJIIJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJIIJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJIIJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJIIJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJIIJJJJJJJJJJJJJJJJJJJJJJJJJJIIJJJJIIJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJIIJJJJJJJJJJJJJJJJJJIIJJJJJJJJJJJJIIJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJIIJJJJJJJJJJJJJJJJJJJJIIJJJJJJJJJJJJJJJJIIJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJIIJJJJJJIIJJJJJJJJIIJJJJJJJJJJJJJJJJJJJJJJIIJJJJJJJJIIJJJJJJJJJJJJJJJJJJIIJJJJJJJJJJJJJJJJJJJJJJIIJJIIJJJJJJJJJJIIJJIIJJJJJJJJJJJJJJJJJJJJJJIIJJJJJJJJIIJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJIIIIJJJJJJJJJJIIIIIIJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJIIJJJJJJJJJJJJIIJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJIIJJJJJJJJJJIIJJJJJJIIJJJJJJJJJJIIJJJJJJJJJJJJIIJJJJJJJJJJJJJJJJJJJJIIJJJJJJJJJJJJIIJJJJIIJJJJJJJJIIJJJJJJJJJJJJJJJJJJJJJJJJJJIIJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJIIJJJJJJJJJJIIJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJIIJJJJJJJJJJJJJJJJJJJJIIJJJJJJJJJJJJIIJJJJJJJJJJJJIIJJJJIIJJJJIIJJIIJJJJJJJJJJJJIIJJJJJJJJIIIIJJJJIIIIJJJJJJIIJJJJJJJJJJJJIIJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJIIJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJIIJJJJJJJJJJJJJJJJJJJJJJJJJJIIIIJJIIJJJJJJJJJJJJJJJJJJJJJJIIJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJIIJJJJJJIIJJJJJJJJJJJJJJJJJJIIJJIIJJJJJJJJJJIIJJJJJJJJJJJJJJIIJJJJJJIIJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJIIJJIIJJJJJJJJIIJJIIIIJJJJJJIIJJJJJJJJJJIIJJJJJJJJIIJJJJJJJJIIJJJJJJJJJJJJJJJJIIJJJJJJJJIIJJJJJJJJJJIIJJJJIIJJJJJJJJJJJJIIIIJJJJJJIIJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJIIJJJJJJJJJJJJJJIIJJJJIIJJJJJJIIJJJJJJJJJJJJIIJJIIIIJJIIJJIIJJJJJJJJJJJJIIJJJJJJIIJJJJJJJJIIJJJJJJJJJJJJJJJJJJJJJJJJJJIIJJJJJJJJJJJJJJJJIIJJJJJJJJJJJJJJIIJJJJJJIIJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJIIJJIIJJJJJJJJJJJJJJIIIIIIJJJJJJIIJJIIJJJJIIIIIIJJIIJJJJJJJJJJJJJJJJJJIIJJJJJJJJJJJJJJJJJJJJJJJJJJIIJJJJJJJJJJJJJJJJJJJJIIJJJJJJJJJJJJJJJJJJIIJJJJJJJJJJIIIIIIJJJJIIJJJJIIJJIIJJIIIIJJJJJJJJJJJJJJJJIIJJJJJJIIIIJJJJIIIIJJJJJJJJJJJJJJJJJJJJJJJJJJIIJJIIJJIIJJIIJJJJJJJJJJJJJJJJIIJJJJJJIIJJJJIIJJJJIIJJJJJJJJIIJJJJJJJJJJIIJJIIJJIIIIJJJJJJJJJJJJJJIIJJJJJJJJIIJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJIIIIJJJJJJJJJJJJJJJJJJJJJJIIJJJJIIJJJJJJJJIIJJJJJJJJJJJJJJJJJJJJIIJJJJJJJJIIJJJJJJJJJJIIJJJJIIJJJJIIJJIIJJJJJJJJJJJJIIJJJJJJJJIIJJIIJJJJIIIIJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJIIJJJJJJJJJJJJIIIIJJJJJJIIJJJJJJJJJJJJJJJJJJJJIIJJJJJJJJIIJJJJJJJJIIJJIIJJJJJJIIJJJJJJJJIIJJJJJJJJJJIIJJJJIIJJJJIIJJJJJJJJJJJJJJIIIIJJJJJJJJIIJJJJJJJJIIIIJJJJJJJJJJJJJJJJJJJJJJJJJJIIJJJJIIJJJJJJIIIIJJJJIIIIIIJJJJJJJJJJJJIIJJJJJJJJJJJJJJJJJJIIJJJJJJJJJJJJJJJJJJJJJJIIJJJJJJJJJJJJJJJJJJJJIIJJJJIIJJIIJJJJJJJJJJJJJJJJJJJJJJJJIIJJJJJJJJJJJJJJIIJJJJJJIIJJJJJJJJIIJJJJJJJJIIJJJJJJJJJJJJJJJJJJIIJJJJJJIIJJJJJJJJIIIIJJJJJJJJJJJJJJIIJJJJJJJJJJJJJJIIJJIIJJJJJJJJJJJJJJJJJJJJJJIIIIJJJJJJJJJJJJIIJJIIJJJJIIJJJJIIJJIIJJJJJJIIJJJJJJJJJJJJJJIIJJJJJJJJIIJJJJJJJJJJJJJJJJJJJJJJJJIIJJJJJJJJJJJJIIJJJJJJJJJJJJJJJJIIIIJJJJIIJJJJIIIIIIJJJJJJIIJJJJJJJJJJJJJJIIJJJJJJJJJJJJJJIIIIJJJJJJJJJJJJIIJJJJIIIIJJJJJJJJJJJJJJJJIIIIJJJJJJIIJJJJJJIIJJJJIIJJJJIIJJJJIIJJJJJJJJJJJJJJJJJJJJIIJJIIJJJJJJJJIIIIIIJJJJJJJJIIIIIIJJJJJJJJJJJJIIJJIIJJJJJJJJJJJJJJJJIIJJJJJJJJJJJJIIJJJJJJJJJJJJJJIIIIIIJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJKKJJKKJJJJJJJJJJJJKKJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJKKJJJJKKJJKKJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJKKJJJJJJJJJJJJJJJJJJKKJJJJJJKKJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJKKJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJKKJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJKKJJJJJJJJJJJJKKJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJKKJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJKKJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJIIJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJIIJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJIIJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJIIJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJIIJJJJJJJJIIJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJIIJJJJJJJJJJIIJJJJJJIIJJJJJJJJJJJJJJJJJJIIJJJJJJJJIIJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJIIJJJJJJJJJJJJIIIIJJJJJJIIJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJIIJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJIIJJJJJJJJJJJJJJJJJJIIJJJJJJJJJJJJJJJJJJJJJJIIJJJJJJJJJJIIJJJJJJJJJJIIJJJJJJJJJJJJIIJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJIIJJJJJJIIJJJJJJJJJJIIJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJIIJJJJJJIIJJJJJJJJJJIIJJJJJJJJJJIIIIJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJIIJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJIIJJJJJJIIIIJJJJJJIIJJJJJJJJJJJJJJJJJJIIJJJJJJIIJJJJJJJJJJIIJJIIJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJIIIIJJJJJJJJJJIIJJJJJJIIJJIIJJJJIIJJIIJJJJIIJJJJJJJJJJIIJJJJIIJJJJJJJJJJJJJJJJIIJJJJJJJJJJJJIIJJJJJJJJJJJJJJJJIIJJIIJJJJJJJJJJJJJJIIJJJJJJJJJJJJJJJJJJJJJJJJJJJJIIJJJJJJJJJJJJJJJJJJJJJJJJJJIIJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJIIJJJJIIJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJIIJJJJJJJJJJIIJJJJJJJJJJJJJJJJJJJJIIJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJIIJJIIJJJJJJJJJJJJJJJJJJJJIIJJJJJJJJJJJJJJJJJJJJJJJJJJJJIIIIJJJJJJJJJJJJJJJJJJIIJJJJJJJJJJIIJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJIIJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJIIJJJJJJJJJJIIJJJJJJJJJJJJJJJJIIJJJJJJJJJJJJJJJJJJKKJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJKKJJKKJJJJJJJJJJJJKKJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJKKJJJJKKJJKKJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJKKJJJJJJJJJJJJJJJJJJKKJJJJJJKKJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJKKJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJKKJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJKKJJJJJJJJJJJJKKJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJKKJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJKKJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJIIJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJIIJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJIIJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJIIJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJIIJJJJJJJJIIJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJIIJJJJJJJJJJIIJJJJJJIIJJJJJJJJJJJJJJJJJJIIJJJJJJJJIIJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJIIJJJJJJJJJJJJIIIIJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJIIJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJIIJJJJJJJJJJJJJJJJJJIIJJJJJJJJJJJJJJJJJJJJJJIIJJJJJJJJJJIIJJJJJJJJJJIIJJJJJJJJJJJJIIJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJIIJJJJJJIIJJJJJJJJJJIIJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJIIJJJJJJIIJJJJJJJJJJIIJJJJJJJJJJIIIIJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJIIJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJIIJJJJJJIIIIJJJJJJIIJJJJJJJJJJJJJJJJJJIIJJJJJJIIJJJJJJJJJJIIJJIIJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJIIIIJJJJJJJJJJIIJJJJJJIIJJIIJJJJIIJJIIJJJJIIJJJJJJJJJJIIJJJJIIJJJJJJJJJJJJJJJJIIJJJJJJJJJJJJIIJJJJJJJJJJJJJJJJIIJJIIJJJJJJJJJJJJJJIIJJJJJJJJJJJJJJJJJJJJJJJJJJJJIIJJJJJJJJJJJJJJJJJJJJJJJJJJIIJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJIIJJJJIIJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJIIJJJJJJJJJJIIJJJJJJJJJJJJJJJJJJJJIIJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJIIJJIIJJJJJJJJJJJJJJJJJJJJIIJJJJJJJJJJJJJJJJJJJJJJJJJJJJIIIIJJJJJJJJJJJJJJJJJJIIJJJJJJJJJJIIJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJIIJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJIIJJJJJJJJJJIIJJJJJJJJJJJJJJJJIIJJJJJJJJKKJJJJKKJJJJJJJJJJKKJJKKJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJKKJJJJKKKKJJJJJJJJJJJJJJKKKKJJJJKKJJJJJJKKJJJJJJJJJJKKJJJJJJJJJJJJJJJJJJJJJJKKJJJJJJJJJJKKKKJJJJJJJJJJJJJJKKJJKKJJJJJJJJJJJJJJJJJJJJJJKKJJJJJJJJJJJJKKJJKKJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJKKJJJJJJJJJJJJKKJJJJJJJJJJJJJJJJJJJJJJJJKKJJJJJJJJJJJJJJJJJJJJKKJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJKKJJJJJJJJKKJJJJJJJJJJJJJJJJJJJJJJKKJJKKKKJJJJJJJJJJJJJJJJKKJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJKKJJJJJJJJJJKKJJJJJJJJJJJJJJKKJJJJKKJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJKKJJJJJJJJKKJJJJJJJJJJJJJJKKJJJJJJJJJJJJJJJJJJJJJJJJJJJJKKJJJJJJJJJJJJJJKKJJJJJJJJJJJJJJJJKKJJJJJJJJJJJJJJJJJJJJJJKKJJJJJJJJJJJJJJJJJJKKJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJKKJJJJJJJJJJJJJJJJJJKKJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJKKJJJJJJJJJJJJKKJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJKKJJKKJJKKJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJKKJJKKJJJJKKJJJJJJJJJJJJJJJJKKJJJJJJJJJJJJJJJJJJJJJJJJJJJJKKJJJJJJJJJJJJJJJJKKJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJKKJJJJJJJJJJJJJJJJJJJJJJJJKKJJKKJJJJKKJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJKKJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJKKJJJJJJJJJJJJJJKKJJJJJJJJJJJJJJJJJJJJJJJJKKJJJJKKJJJJKKJJJJJJJJJJJJJJJJJJJJJJJJKKJJJJJJKKJJJJJJJJJJKKJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJKKJJJJJJJJJJJJJJJJJJJJKKJJJJKKJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJKKJJJJJJJJJJJJJJJJJJJJJJKKJJJJJJJJJJJJKKJJJJKKJJJJJJJJJJKKJJJJJJJJJJJJJJJJJJJJJJJJJJKKJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJKKJJJJJJJJJJJJJJJJJJJJJJJJJJKKJJKKJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJKKJJJJJJJJJJJJJJJJJJKKJJJJKKJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJKKJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJKKJJKKJJJJJJJJJJJJKKKKJJJJJJKKJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJKKJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJKKJJJJJJJJKKJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJKKJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJKKJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJKKJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJKKJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJKKJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJKKJJJJJJJJKKJJJJJJJJJJJJJJJJJJJJJJJJJJJJKKJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJKKJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJKKJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJKKJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJIIJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJKKJJJJKKJJJJJJJJJJKKJJKKJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJKKJJJJKKKKJJJJJJJJJJJJJJKKKKJJJJKKJJJJJJKKJJJJJJJJJJKKJJJJJJJJJJJJJJJJJJJJJJKKJJJJJJJJJJKKKKJJJJJJJJJJJJJJKKJJKKJJJJJJJJJJJJJJJJJJJJJJKKJJJJJJJJJJJJKKJJKKJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJKKJJJJJJJJJJJJKKJJJJJJJJJJJJJJJJJJJJJJJJKKJJJJJJJJJJJJJJJJJJJJKKJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJKKJJJJJJJJKKJJJJJJJJJJJJJJJJJJJJJJKKJJKKKKJJJJJJJJJJJJJJJJKKJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJKKJJJJJJJJJJKKJJJJJJJJJJJJJJKKJJJJKKJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJKKJJJJJJJJKKJJJJJJJJJJJJJJKKJJJJJJJJJJJJJJJJJJJJJJJJJJJJKKJJJJJJJJJJJJJJKKJJJJJJJJJJJJJJJJKKJJJJJJJJJJJJJJJJJJJJJJKKJJJJJJJJJJJJJJJJJJKKJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJKKJJJJJJJJJJJJJJJJJJKKJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJKKJJJJJJJJJJJJKKJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJKKJJKKJJKKJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJKKJJKKJJJJKKJJJJJJJJJJJJJJJJKKJJJJJJJJJJJJJJJJJJJJJJJJJJJJKKJJJJJJJJJJJJJJJJKKJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJKKJJJJJJJJJJJJJJJJJJJJJJJJKKJJKKJJJJKKJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJKKJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJKKJJJJJJJJJJJJJJKKJJJJJJJJJJJJJJJJJJJJJJJJKKJJJJKKJJJJKKJJJJJJJJJJJJJJJJJJJJJJJJKKJJJJJJKKJJJJJJJJJJKKJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJKKJJJJJJJJJJJJJJJJJJJJKKJJJJKKJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJKKJJJJJJJJJJJJJJJJJJJJJJKKJJJJJJJJJJJJKKJJJJKKJJJJJJJJJJKKJJJJJJJJJJJJJJJJJJJJJJJJJJKKJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJKKJJJJJJJJJJJJJJJJJJJJJJJJJJKKJJKKJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJKKJJJJJJJJJJJJJJJJJJKKJJJJKKJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJKKJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJKKJJKKJJJJJJJJJJJJKKKKJJJJJJKKJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJKKJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJKKJJJJJJJJKKJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJKKJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJKKJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJKKJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJKKJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJKKJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJKKJJJJJJJJKKJJJJJJJJJJJJJJJJJJJJJJJJJJJJKKJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJKKJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJKKJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJKKJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJKKJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJIIJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJKKKKKKJJJJJJJJJJJJJJJJJJJJKKJJJJJJJJKKKKJJJJJJJJKKJJJJJJJJKKJJJJKKJJJJJJJJJJJJKKJJKKJJJJJJJJJJKKKKJJKKKKKKJJKKJJJJJJJJKKJJJJJJKKJJJJKKJJJJJJJJJJJJKKJJKKKKKKJJJJJJJJJJJJKKJJJJJJKKKKJJJJKKJJKKJJJJJJJJJJJJKKJJJJJJJJJJJJKKJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJKKJJKKKKJJJJKKJJJJJJJJJJJJJJJJJJJJJJKKKKKKJJJJJJKKJJJJKKJJJJJJJJJJJJKKJJJJJJJJKKKKKKJJKKJJJJJJJJJJKKJJKKJJJJJJJJKKJJJJJJJJJJJJJJJJJJKKJJKKJJJJJJJJJJJJJJJJJJKKJJKKJJJJJJJJJJJJKKJJJJJJKKJJJJJJJJJJJJKKJJJJKKJJJJKKKKJJJJKKJJJJJJJJJJJJJJJJKKJJKKKKKKJJKKKKKKJJJJJJJJJJJJKKKKJJKKJJJJKKJJKKJJKKJJJJJJJJJJJJKKJJJJJJJJJJJJJJJJJJJJJJJJKKJJKKJJJJKKKKJJJJJJKKJJKKJJJJJJJJKKJJKKJJJJKKJJKKJJJJKKJJJJJJJJJJJJKKJJJJJJKKKKKKJJJJJJKKKKJJJJJJJJJJJJJJJJJJKKJJJJJJJJJJJJJJKKJJKKJJJJJJJJJJKKKKJJKKJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJKKKKJJJJJJJJJJJJKKJJJJJJJJJJJJJJJJJJJJKKJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJKKJJJJJJJJJJJJJJJJJJJJJJKKJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJKKJJJJJJKKKKJJJJJJJJJJJJKKJJKKJJJJJJJJJJJJKKJJKKJJJJJJJJKKKKJJJJKKJJJJJJJJKKJJKKKKJJJJJJJJJJJJJJKKJJJJJJJJKKJJJJJJKKKKJJJJKKKKJJJJJJJJJJJJKKJJJJJJJJJJJJJJKKJJJJJJJJJJJJKKKKKKJJJJJJJJKKJJKKJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJKKKKJJKKJJJJKKJJKKJJJJKKJJJJJJJJKKJJJJJJKKKKKKKKJJJJJJJJJJJJJJJJKKJJJJJJJJJJJJJJJJJJKKJJJJJJJJKKJJJJJJJJJJJJJJKKJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJKKJJJJJJKKJJJJJJJJKKJJJJKKJJJJJJJJKKJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJKKJJJJJJJJJJJJJJJJJJKKJJJJJJJJJJJJKKJJJJJJJJJJJJJJJJKKJJJJJJJJJJJJKKJJKKJJKKJJJJJJKKKKKKJJJJJJKKJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJKKJJJJJJJJJJKKJJJJJJKKKKJJJJJJJJJJJJJJKKJJJJJJJJKKJJKKJJJJJJJJJJJJJJJJKKKKKKJJJJKKJJJJJJKKJJKKJJJJJJKKKKJJJJJJJJJJJJKKJJKKJJJJJJJJJJJJKKKKJJJJJJJJJJKKJJKKJJJJJJJJJJJJJJJJJJJJJJJJKKJJJJJJJJJJJJJJKKJJJJJJJJJJJJJJJJJJJJJJJJKKJJJJJJKKKKJJJJKKJJJJKKKKJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJKKJJJJJJJJJJJJKKJJJJJJJJJJJJKKJJKKJJJJJJJJJJKKJJKKJJJJJJKKJJJJJJJJJJJJJJJJKKKKKKJJJJJJJJKKJJJJJJJJJJJJJJJJJJJJKKJJJJJJJJJJJJJJJJKKJJJJJJKKJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJKKJJJJJJJJJJKKJJJJJJKKJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJKKJJKKJJJJJJJJJJJJJJJJJJJJJJKKJJJJJJJJKKJJJJKKJJJJJJJJJJKKKKJJJJJJKKJJJJKKJJJJJJJJJJKKJJJJJJJJJJKKJJJJJJKKJJJJJJJJJJJJJJJJJJKKJJJJJJJJJJJJJJKKKKJJJJJJJJJJJJJJJJJJJJJJKKJJJJJJJJJJJJJJKKKKJJJJKKKKJJJJKKJJJJJJJJJJJJKKKKKKJJJJJJJJKKJJJJJJJJJJKKJJJJKKJJKKJJJJJJKKJJJJJJKKJJJJJJKKJJJJJJJJJJJJJJJJJJJJJJJJKKJJJJJJJJKKKKJJJJJJJJJJKKJJJJJJJJKKJJJJJJJJJJJJJJJJJJJJKKKKKKJJJJJJJJJJJJJJJJJJJJJJJJJJKKJJJJJJJJJJJJJJJJJJKKJJKKJJJJJJJJJJJJJJJJJJJJJJJJKKJJJJKKJJJJJJJJJJJJJJJJJJKKJJJJJJJJKKJJJJJJJJJJKKJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJKKJJJJJJJJJJJJKKJJJJJJJJJJJJJJJJJJJJKKJJJJJJJJKKJJJJJJJJJJJJJJJJJJKKJJJJJJJJJJKKJJJJJJJJJJJJJJKKJJJJJJJJJJJJKKKKJJJJJJJJJJJJJJJJJJJJJJJJJJJJKKJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJKKJJKKJJJJJJJJJJJJJJJJJJKKJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJKKKKJJJJJJJJJJJJJJJJJJKKKKJJJJJJJJJJJJJJJJJJJJJJKKJJJJJJJJKKJJJJJJJJJJJJJJJJJJJJJJJJJJKKJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJKKJJJJJJJJJJJJJJJJJJJJJJJJKKJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJKKJJJJJJKKKKJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJKKJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJKKJJJJJJJJJJJJJJJJJJKKJJJJJJJJJJJJJJJJJJJJJJJJJJKKJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJKKJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJKKJJJJJJJJJJJJJJJJJJJJKKJJJJJJJJJJJJJJJJJJJJJJJJJJKKJJKKKKJJJJJJJJJJJJJJKKJJJJJJJJKKJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJKKJJJJJJJJJJJJJJKKKKJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJKKJJJJJJJJKKJJJJJJJJKKJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJKKJJJJJJJJJJKKJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJKKJJJJJJJJJJJJJJKKJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJKKJJJJJJJJJJJJJJKKKKKKKKJJJJJJJJJJJJJJJJJJJJKKJJJJJJJJKKKKJJJJJJJJKKJJJJJJJJKKJJJJKKJJJJJJJJJJJJKKJJKKJJJJJJJJJJKKKKJJKKKKKKJJKKJJJJJJJJKKJJJJJJKKJJJJKKJJJJJJJJJJJJKKJJKKKKKKJJJJJJJJJJJJKKJJJJJJKKKKJJJJKKJJKKJJJJJJJJJJJJKKJJJJJJJJJJJJKKJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJKKJJKKKKJJJJKKJJJJJJJJJJJJJJJJJJJJJJKKKKKKJJJJJJKKJJJJKKJJJJJJJJJJJJKKJJJJJJJJKKKKKKJJKKJJJJJJJJJJKKJJKKJJJJJJJJKKJJJJJJJJJJJJJJJJJJKKJJKKJJJJJJJJJJJJJJJJJJKKJJKKJJJJJJJJJJJJKKJJJJJJKKJJJJJJJJJJJJKKJJJJKKJJJJKKKKJJJJKKJJJJJJJJJJJJJJJJKKJJKKKKKKJJKKKKKKJJJJJJJJJJJJKKKKJJKKJJJJKKJJKKJJKKJJJJJJJJJJJJKKJJJJJJJJJJJJJJJJJJJJJJJJKKJJKKJJJJKKKKJJJJJJKKJJKKJJJJJJJJKKJJKKJJJJKKJJKKJJJJKKJJJJJJJJJJJJKKJJJJJJKKKKKKJJJJJJKKKKJJJJJJJJJJJJJJJJJJKKJJJJJJJJJJJJJJKKJJKKJJJJJJJJJJKKKKJJKKJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJKKKKJJJJJJJJJJJJKKJJJJJJJJJJJJJJJJJJJJKKJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJKKJJJJJJJJJJJJJJJJJJJJJJKKJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJKKJJJJJJKKKKJJJJJJJJJJJJKKJJKKJJJJJJJJJJJJKKJJKKJJJJJJJJKKKKJJJJKKJJJJJJJJKKJJKKKKJJJJJJJJJJJJJJKKJJJJJJJJKKJJJJJJKKKKJJJJKKKKJJJJJJJJJJJJKKJJJJJJJJJJJJJJKKJJJJJJJJJJJJKKKKKKJJJJJJJJKKJJKKJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJKKKKJJKKJJJJKKJJKKJJJJKKJJJJJJJJKKJJJJJJKKKKKKKKJJJJJJJJJJJJJJJJKKJJJJJJJJJJJJJJJJJJKKJJJJJJJJKKJJJJJJJJJJJJJJKKJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJKKJJJJJJKKJJJJJJJJKKJJJJKKJJJJJJJJKKJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJKKJJJJJJJJJJJJJJJJJJKKJJJJJJJJJJJJKKJJJJJJJJJJJJJJJJKKJJJJJJJJJJJJKKJJKKJJKKJJJJJJKKKKKKJJJJJJKKJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJKKJJJJJJJJJJKKJJJJJJKKKKJJJJJJJJJJJJJJKKJJJJJJJJKKJJKKJJJJJJJJJJJJJJJJKKKKKKJJJJKKJJJJJJKKJJKKJJJJJJKKKKJJJJJJJJJJJJKKJJKKJJJJJJJJJJJJKKKKJJJJJJJJJJKKJJKKJJJJJJJJJJJJJJJJJJJJJJJJKKJJJJJJJJJJJJJJKKJJJJJJJJJJJJJJJJJJJJJJJJKKJJJJJJKKKKJJJJKKJJJJKKKKJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJKKJJJJJJJJJJJJKKJJJJJJJJJJJJKKJJKKJJJJJJJJJJKKJJKKJJJJJJKKJJJJJJJJJJJJJJJJKKKKKKJJJJJJJJKKJJJJJJJJJJJJJJJJJJJJKKJJJJJJJJJJJJJJJJKKJJJJJJKKJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJKKJJJJJJJJJJKKJJJJJJKKJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJKKJJKKJJJJJJJJJJJJJJJJJJJJJJKKJJJJJJJJKKJJJJKKJJJJJJJJJJKKKKJJJJJJKKJJJJKKJJJJJJJJJJKKJJJJJJJJJJKKJJJJJJKKJJJJJJJJJJJJJJJJJJKKJJJJJJJJJJJJJJKKKKJJJJJJJJJJJJJJJJJJJJJJKKJJJJJJJJJJJJJJKKKKJJJJKKKKJJJJKKJJJJJJJJJJJJKKKKKKJJJJJJJJKKJJJJJJJJJJKKJJJJKKJJKKJJJJJJKKJJJJJJKKJJJJJJKKJJJJJJJJJJJJJJJJJJJJJJJJKKJJJJJJJJKKKKJJJJJJJJJJKKJJJJJJJJKKJJJJJJJJJJJJJJJJJJJJKKKKKKJJJJJJJJJJJJJJJJJJJJJJJJJJKKJJJJJJJJJJJJJJJJJJKKJJKKJJJJJJJJJJJJJJJJJJJJJJJJKKJJJJKKJJJJJJJJJJJJJJJJJJKKJJJJJJJJKKJJJJJJJJJJKKJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJKKJJJJJJJJJJJJKKJJJJJJJJJJJJJJJJJJJJKKJJJJJJJJKKJJJJJJJJJJJJJJJJJJKKJJJJJJJJJJKKJJJJJJJJJJJJJJKKJJJJJJJJJJJJKKKKJJJJJJJJJJJJJJJJJJJJJJJJJJJJKKJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJKKJJKKJJJJJJJJJJJJJJJJJJKKJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJKKKKJJJJJJJJJJJJJJJJJJKKKKJJJJJJJJJJJJJJJJJJJJJJKKJJJJJJJJKKJJJJJJJJJJJJJJJJJJJJJJJJJJKKJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJKKJJJJJJJJJJJJJJJJJJJJJJJJKKJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJKKJJJJJJKKKKJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJKKJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJKKJJJJJJJJJJJJJJJJJJKKJJJJJJJJJJJJJJJJJJJJJJJJJJKKJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJKKJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJKKJJJJJJJJJJJJJJJJJJJJKKJJJJJJJJJJJJJJJJJJJJJJJJJJKKJJKKKKJJJJJJJJJJJJJJKKJJJJJJJJKKJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJKKJJJJJJJJJJJJJJKKKKJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJKKJJJJJJJJKKJJJJJJJJKKJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJKKJJJJJJJJJJJJJJJJJJJJKKJJJJJJJJJJKKJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJKKJJJJJJJJJJJJJJKKJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJKKJJJJJJJJJJJJJJKKKKKKJJKKKKKKKKJJJJKKJJJJKKKKKKJJJJJJJJJJJJKKJJJJJJKKKKJJJJKKJJKKJJKKKKKKJJKKKKJJKKKKJJJJJJJJKKJJJJJJJJKKKKJJJJKKKKKKJJKKJJJJJJKKKKJJJJKKJJKKKKKKJJKKKKJJJJJJJJKKKKKKJJKKJJKKKKJJJJJJKKJJJJJJKKJJKKJJJJKKJJJJJJKKJJKKJJKKJJJJKKJJJJJJJJKKJJKKJJJJJJKKKKJJKKJJKKJJJJKKJJJJJJKKJJKKJJKKJJJJJJJJKKJJJJJJKKKKJJKKJJKKJJJJKKJJKKKKKKJJJJJJJJJJJJKKKKJJKKJJJJJJKKJJJJJJJJJJJJKKJJKKJJKKJJJJJJKKKKJJJJJJKKKKKKJJKKKKJJJJJJJJJJKKJJKKJJJJJJKKJJKKJJJJJJJJKKJJKKKKKKKKJJJJJJKKJJJJJJJJJJJJJJKKKKKKKKJJJJJJKKJJJJKKKKKKJJKKKKJJJJKKJJJJJJJJKKJJJJJJKKKKKKKKJJKKJJJJJJJJJJKKKKKKJJJJJJKKJJJJJJKKKKKKJJJJJJJJJJKKKKKKKKJJJJJJJJJJJJJJJJJJJJJJJJJJJJKKJJKKKKJJJJKKKKKKJJKKJJJJJJJJKKJJKKKKJJJJJJJJJJJJJJJJJJJJKKJJJJJJJJJJKKKKKKJJKKKKJJJJJJKKKKJJJJKKJJJJKKKKJJJJJJJJKKJJJJJJKKJJKKKKJJJJJJJJKKJJJJJJJJKKJJJJJJJJJJJJJJJJKKJJKKJJKKJJJJJJJJKKJJKKKKKKKKJJJJJJKKKKJJJJJJKKKKKKKKKKJJJJJJKKKKKKJJKKJJKKJJJJJJJJJJKKJJJJJJJJKKJJKKKKJJJJJJJJJJJJJJJJJJKKKKJJJJJJKKJJKKJJJJJJJJKKJJKKJJJJKKKKKKJJJJKKJJKKJJJJKKKKKKJJJJJJJJJJJJKKJJJJKKJJJJJJKKKKJJJJJJKKJJJJJJJJJJJJJJKKJJJJJJJJKKKKKKKKKKJJJJJJJJJJJJJJJJJJKKJJKKJJJJJJJJJJKKKKJJKKKKJJJJKKKKKKJJJJJJJJJJKKJJJJKKKKJJJJJJJJKKJJJJJJJJKKJJJJKKJJJJJJJJJJJJKKKKKKKKKKJJJJJJKKKKJJKKJJJJJJKKJJJJJJKKKKJJJJJJKKJJJJJJJJJJJJJJJJJJKKJJJJJJKKJJJJJJJJKKJJKKJJKKJJKKKKJJJJKKJJKKJJJJJJKKJJJJJJJJJJJJJJJJJJKKJJJJJJKKJJJJJJJJJJJJJJJJJJJJJJKKJJKKKKJJJJKKJJJJKKJJJJJJJJKKJJJJJJKKJJKKJJJJJJKKJJJJKKJJKKJJJJJJJJKKJJJJJJJJJJKKJJJJJJJJKKJJJJJJKKJJKKJJJJJJJJKKJJJJJJKKJJJJJJKKKKJJJJKKKKJJJJJJJJJJKKKKJJJJJJKKJJJJKKJJKKKKJJKKJJKKJJKKKKJJKKJJJJJJJJJJJJJJJJKKJJKKJJJJJJKKJJJJJJJJJJJJJJJJJJKKJJJJJJJJJJKKJJJJJJJJKKKKKKKKJJJJJJJJKKJJJJKKJJJJJJJJJJJJJJJJJJJJKKJJJJKKJJKKJJJJJJKKJJKKJJJJJJKKJJJJJJKKJJKKJJJJJJKKKKKKJJJJJJKKJJJJJJKKJJJJJJKKJJJJJJKKKKKKJJJJJJJJJJJJJJKKJJJJJJKKJJKKJJJJJJJJJJKKJJJJJJJJKKJJJJJJJJJJJJJJKKKKJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJKKJJKKJJKKJJJJJJJJJJJJJJKKKKKKJJJJKKJJKKJJJJKKJJJJJJKKJJJJJJJJKKJJJJJJJJJJJJJJJJJJKKJJJJJJJJKKJJJJJJJJKKJJJJJJJJJJJJKKKKKKKKJJJJJJJJJJJJJJJJJJKKJJJJKKJJJJKKJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJKKKKKKKKJJKKJJJJKKJJJJJJJJJJJJKKJJJJJJJJKKJJKKJJJJJJKKJJJJKKKKJJJJJJKKJJJJJJJJKKJJKKKKJJJJJJJJKKKKJJKKJJJJJJJJJJJJKKJJJJJJKKJJJJJJJJJJKKJJJJKKJJJJJJJJJJKKJJJJKKJJJJJJJJKKKKJJJJKKKKJJJJJJKKJJJJJJJJJJJJJJKKKKJJJJJJJJJJKKJJKKJJJJJJJJJJJJJJJJJJJJJJJJJJJJKKJJJJKKJJJJJJJJKKJJKKJJJJJJKKJJJJJJJJJJJJJJKKKKJJJJJJJJJJJJJJJJJJJJKKJJJJJJJJJJJJJJJJJJJJJJKKJJJJJJKKKKJJJJKKJJJJJJKKJJKKJJJJJJJJJJJJKKJJKKJJJJJJJJKKKKJJJJKKJJJJJJJJKKKKKKJJJJJJJJJJJJJJKKKKJJJJJJJJKKJJJJJJKKJJJJKKKKKKJJJJJJJJKKJJKKJJJJJJJJJJJJKKKKJJJJJJJJJJJJKKKKKKJJJJJJJJJJJJKKJJJJJJJJKKJJJJJJJJJJJJJJJJJJJJKKJJKKJJKKKKJJJJJJKKJJKKJJJJKKJJJJJJJJJJJJKKJJKKKKKKKKJJJJJJJJJJKKJJJJJJJJJJJJKKJJJJJJJJJJKKJJJJJJJJJJJJJJJJJJJJJJJJKKJJJJJJJJJJKKJJJJJJJJJJJJKKJJJJJJKKJJJJJJKKJJJJJJJJKKJJJJJJJJJJJJKKJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJKKJJJJKKJJJJKKKKJJJJKKJJJJKKJJJJKKJJJJJJJJJJJJJJJJJJKKJJJJJJKKJJJJJJJJKKJJKKJJJJJJJJKKKKJJJJJJKKJJJJJJJJJJJJKKJJJJJJJJJJJJJJKKJJJJJJJJJJJJJJJJJJJJKKKKKKJJJJJJJJKKJJJJJJKKKKJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJKKJJJJJJJJJJKKJJJJJJKKJJJJKKJJJJJJKKJJJJJJJJJJJJJJJJKKJJJJJJJJJJJJKKJJJJJJJJJJJJJJJJKKKKJJJJJJKKJJJJJJJJJJJJKKJJJJJJJJJJJJJJKKJJKKJJJJJJJJJJJJJJJJKKKKJJJJJJJJJJKKJJJJJJJJJJJJJJJJJJJJJJJJJJKKJJJJJJJJJJJJJJJJKKJJJJKKKKKKJJJJJJKKJJJJJJJJJJKKJJKKJJJJJJJJJJKKJJJJKKJJKKJJJJJJJJJJJJJJJJJJJJJJJJJJKKJJJJJJJJJJJJJJJJJJJJKKJJJJJJJJJJKKJJJJJJJJJJJJJJJJJJKKKKKKJJJJJJJJJJJJJJJJJJJJKKJJKKJJJJJJJJJJJJJJJJJJJJKKJJJJJJJJKKJJJJJJJJKKJJKKKKJJJJJJJJJJKKKKKKJJJJJJJJJJKKJJJJJJJJJJJJJJJJJJJJJJJJJJKKJJKKJJJJJJKKJJJJJJJJJJKKJJJJJJJJKKJJJJJJJJJJKKJJJJJJJJKKJJJJJJJJJJJJJJJJJJJJJJKKJJKKJJJJJJKKJJJJKKKKJJJJKKJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJKKJJJJKKJJJJJJJJJJJJJJKKJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJKKJJJJJJJJJJJJJJKKJJJJJJKKJJJJJJJJKKJJJJKKJJJJJJJJKKJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJKKJJJJJJJJJJKKJJKKJJJJJJJJJJJJJJJJJJJJJJJJJJJJKKJJJJKKJJJJJJJJJJJJJJJJKKJJJJKKJJJJJJJJJJKKJJJJJJJJKKKKJJKKKKKKKKJJJJKKJJJJKKKKKKJJJJJJJJJJJJKKJJJJJJKKKKJJJJKKJJKKJJKKKKKKJJKKKKJJKKKKJJJJJJJJKKJJJJJJJJKKKKJJJJKKKKKKJJKKJJJJJJKKKKJJJJKKJJKKKKKKJJKKKKJJJJJJJJKKKKKKJJKKJJKKKKJJJJJJKKJJJJJJKKJJKKJJJJKKJJJJJJKKJJKKJJKKJJJJKKJJJJJJJJKKJJKKJJJJJJKKKKJJKKJJKKJJJJKKJJJJJJKKJJKKJJKKJJJJJJJJKKJJJJJJKKKKJJKKJJKKJJJJKKJJKKKKKKJJJJJJJJJJJJKKKKJJKKJJJJJJKKJJJJJJJJJJJJKKJJKKJJKKJJJJJJKKKKJJJJJJKKKKKKJJKKKKJJJJJJJJJJKKJJKKJJJJJJKKJJKKJJJJJJJJKKJJKKKKKKKKJJJJJJKKJJJJJJJJJJJJJJKKKKKKKKJJJJJJKKJJJJKKKKKKJJKKKKJJJJKKJJJJJJJJKKJJJJJJKKKKKKKKJJKKJJJJJJJJJJKKKKKKJJJJJJKKJJJJJJKKKKKKJJJJJJJJJJKKKKKKKKJJJJJJJJJJJJJJJJJJJJJJJJJJJJKKJJKKKKJJJJKKKKKKJJKKJJJJJJJJKKJJKKKKJJJJJJJJJJJJJJJJJJJJKKJJJJJJJJJJKKKKKKJJKKKKJJJJJJKKKKJJJJKKJJJJKKKKJJJJJJJJKKJJJJJJKKJJKKKKJJJJJJJJKKJJJJJJJJKKJJJJJJJJJJJJJJJJKKJJKKJJKKJJJJJJJJKKJJKKKKKKKKJJJJJJKKKKJJJJJJKKKKKKKKKKJJJJJJKKKKKKJJKKJJKKJJJJJJJJJJKKJJJJJJJJKKJJKKKKJJJJJJJJJJJJJJJJJJKKKKJJJJJJKKJJKKJJJJJJJJKKJJKKJJJJKKKKKKJJJJKKJJKKJJJJKKKKKKJJJJJJJJJJJJKKJJJJKKJJJJJJKKKKJJJJJJKKJJJJJJJJJJJJJJKKJJJJJJJJKKKKKKKKKKJJJJJJJJJJJJJJJJJJKKJJKKJJJJJJJJJJKKKKJJKKKKJJJJKKKKKKJJJJJJJJJJKKJJJJKKKKJJJJJJJJKKJJJJJJJJKKJJJJKKJJJJJJJJJJJJKKKKKKKKKKJJJJJJKKKKJJKKJJJJJJKKJJJJJJKKKKJJJJJJKKJJJJJJJJJJJJJJJJJJKKJJJJJJKKJJJJJJJJKKJJKKJJKKJJKKKKJJJJKKJJKKJJJJJJKKJJJJJJJJJJJJJJJJJJKKJJJJJJKKJJJJJJJJJJJJJJJJJJJJJJKKJJKKKKJJJJKKJJJJKKJJJJJJJJKKJJJJJJKKJJKKJJJJJJKKJJJJKKJJKKJJJJJJJJKKJJJJJJJJJJKKJJJJJJJJKKJJJJJJKKJJKKJJJJJJJJKKJJJJJJKKJJJJJJKKKKJJJJKKKKJJJJJJJJJJKKKKJJJJJJKKJJJJKKJJKKKKJJKKJJKKJJKKKKJJKKJJJJJJJJJJJJJJJJKKJJKKJJJJJJKKJJJJJJJJJJJJJJJJJJKKJJJJJJJJJJKKJJJJJJJJKKKKKKKKJJJJJJJJKKJJJJKKJJJJJJJJJJJJJJJJJJJJKKJJJJKKJJKKJJJJJJKKJJKKJJJJJJKKJJJJJJKKJJKKJJJJJJKKKKKKJJJJJJKKJJJJJJKKJJJJJJKKJJJJJJKKKKKKJJJJJJJJJJJJJJKKJJJJJJKKJJKKJJJJJJJJJJKKJJJJJJJJKKJJJJJJJJJJJJJJKKKKJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJKKJJKKJJKKJJJJJJJJJJJJJJKKKKKKJJJJKKJJKKJJJJKKJJJJJJKKJJJJJJJJKKJJJJJJJJJJJJJJJJJJKKJJJJJJJJKKJJJJJJJJKKJJJJJJJJJJJJKKKKKKKKJJJJJJJJJJJJJJJJJJKKJJJJKKJJJJKKJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJKKKKKKKKJJKKJJJJKKJJJJJJJJJJJJKKJJJJJJJJKKJJKKJJJJJJKKJJJJKKKKJJJJJJKKJJJJJJJJKKJJKKKKJJJJJJJJKKKKJJKKJJJJJJJJJJJJKKJJJJJJKKJJJJJJJJJJKKJJJJKKJJJJJJJJJJKKJJJJKKJJJJJJJJKKKKJJJJKKKKJJJJJJKKJJJJJJJJJJJJJJKKKKJJJJJJJJJJKKJJKKJJJJJJJJJJJJJJJJJJJJJJJJJJJJKKJJJJKKJJJJJJJJKKJJKKJJJJJJKKJJJJJJJJJJJJJJKKKKJJJJJJJJJJJJJJJJJJJJKKJJJJJJJJJJJJJJJJJJJJJJKKJJJJJJKKKKJJJJKKJJJJJJKKJJKKJJJJJJJJJJJJKKJJKKJJJJJJJJKKKKJJJJKKJJJJJJJJKKKKKKJJJJJJJJJJJJJJKKKKJJJJJJJJKKJJJJJJKKJJJJKKKKKKJJJJJJJJKKJJKKJJJJJJJJJJJJKKKKJJJJJJJJJJJJKKKKKKJJJJJJJJJJJJKKJJJJJJJJKKJJJJJJJJJJJJJJJJJJJJKKJJKKJJKKKKJJJJJJKKJJKKJJJJKKJJJJJJJJJJJJKKJJKKKKKKKKJJJJJJJJJJKKJJJJJJJJJJJJKKJJJJJJJJJJKKJJJJJJJJJJJJJJJJJJJJJJJJKKJJJJJJJJJJKKJJJJJJJJJJJJKKJJJJJJKKJJJJJJKKJJJJJJJJKKJJJJJJJJJJJJKKJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJKKJJJJKKJJJJKKKKJJJJKKJJJJKKJJJJKKJJJJJJJJJJJJJJJJJJKKJJJJJJKKJJJJJJJJKKJJKKJJJJJJJJKKKKJJJJJJKKJJJJJJJJJJJJKKJJJJJJJJJJJJJJKKJJJJJJJJJJJJJJJJJJJJKKKKKKJJJJJJJJKKJJJJJJKKKKJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJKKJJJJJJJJJJKKJJJJJJKKJJJJKKJJJJJJKKJJJJJJJJJJJJJJJJKKJJJJJJJJJJJJKKJJJJJJJJJJJJJJJJKKKKJJJJJJKKJJJJJJJJJJJJKKJJJJJJJJJJJJJJKKJJKKJJJJJJJJJJJJJJJJKKKKJJJJJJJJJJKKJJJJJJJJJJJJJJJJJJJJJJJJJJKKJJJJJJJJJJJJJJJJKKJJJJKKKKKKJJJJJJKKJJJJJJJJJJKKJJKKJJJJJJJJJJKKJJJJKKJJKKJJJJJJJJJJJJJJJJJJJJJJJJJJKKJJJJJJJJJJJJJJJJJJJJKKJJJJJJJJJJKKJJJJJJJJJJJJJJJJJJKKKKKKJJJJJJJJJJJJJJJJJJJJKKJJKKJJJJJJJJJJJJJJJJJJJJKKJJJJJJJJKKJJJJJJJJKKJJKKKKJJJJJJJJJJKKKKKKJJJJJJJJJJKKJJJJJJJJJJJJJJJJJJJJJJJJJJKKJJKKJJJJJJKKJJJJJJJJJJKKJJJJJJJJKKJJJJJJJJJJKKJJJJJJJJKKJJJJJJJJJJJJJJJJJJJJJJKKJJKKJJJJJJKKJJJJKKKKJJJJKKJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJKKJJJJKKJJJJJJJJJJJJJJKKJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJKKJJJJJJJJJJJJJJKKJJJJJJKKJJJJJJJJKKJJJJKKJJJJJJJJKKJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJKKJJJJJJJJJJKKJJKKJJJJJJJJJJJJJJJJJJJJJJJJJJJJKKJJJJKKJJJJJJJJJJJJJJJJKKJJJJKKJJJJJJJJJJKKJJJJJJJJKKJJJJKKKKKKKKKKJJKKKKJJKKJJKKKKJJKKKKKKJJJJKKKKJJJJKKKKKKKKKKJJKKJJKKJJJJJJKKKKKKJJJJKKKKJJKKKKJJJJJJKKJJKKKKJJJJJJKKJJKKKKKKKKKKJJJJJJKKKKJJKKJJKKKKKKJJKKKKJJJJKKKKJJKKJJJJKKKKKKJJJJJJKKKKKKJJKKKKKKKKJJJJKKJJKKJJKKKKJJJJKKKKJJKKKKJJKKKKJJKKKKJJJJJJKKKKKKJJKKKKJJKKJJJJKKJJJJJJJJJJJJJJJJKKJJJJKKKKJJKKJJJJJJKKKKJJKKKKKKJJJJKKJJKKJJKKJJJJKKJJJJKKJJKKKKKKKKKKJJKKJJKKKKKKJJJJJJKKJJKKJJKKJJJJKKKKJJKKKKKKKKKKKKKKKKKKKKJJKKJJJJJJKKJJKKKKKKJJJJKKJJJJKKKKJJJJKKJJJJKKJJKKKKJJKKKKKKJJKKKKKKKKKKJJKKJJJJJJKKKKKKKKKKJJJJKKJJJJKKJJJJKKKKKKKKJJKKJJKKJJKKKKKKJJKKKKKKJJKKKKKKJJJJKKJJKKJJKKJJKKKKJJJJKKKKKKKKKKJJJJKKKKKKJJJJKKKKKKJJKKKKKKJJKKKKKKJJJJKKJJJJKKKKJJJJJJJJKKKKKKJJJJJJJJKKJJKKJJJJJJKKJJKKJJJJJJKKKKJJJJJJJJJJJJJJKKKKKKJJKKKKJJJJKKKKJJKKKKJJKKJJKKKKKKJJJJKKJJKKJJKKJJKKJJJJJJJJKKJJJJKKJJJJKKKKJJKKKKKKJJJJKKJJJJJJKKKKKKKKKKKKKKKKKKKKJJKKJJJJKKJJKKKKJJKKJJKKKKJJKKJJKKJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJKKKKKKKKJJKKKKKKKKKKJJKKKKKKKKJJKKKKKKJJKKJJKKKKKKKKKKJJKKJJKKJJKKKKKKKKKKKKKKKKKKKKJJJJKKKKKKKKJJJJJJJJKKKKJJJJKKKKJJJJJJJJJJJJKKJJKKJJKKJJJJJJKKKKJJJJKKKKJJJJKKKKKKKKKKJJKKKKKKKKJJJJKKJJJJKKKKKKJJJJJJJJJJKKKKJJJJJJKKKKJJJJKKKKKKJJKKKKJJJJKKKKJJKKKKJJJJJJJJKKJJJJJJJJKKKKJJJJKKKKKKJJKKKKJJJJJJKKKKKKKKJJKKJJKKKKKKKKJJKKKKJJKKKKKKJJKKJJKKKKJJJJJJKKJJJJJJKKJJJJJJJJKKKKJJJJKKJJKKJJKKJJKKKKKKJJJJJJKKJJKKJJKKKKKKKKJJKKJJKKJJJJKKKKKKJJKKJJJJJJKKJJJJKKKKKKJJJJJJJJKKJJKKJJJJJJJJKKJJKKKKKKJJJJJJKKJJKKKKKKJJKKJJKKKKKKJJJJJJJJJJJJJJJJKKJJKKJJJJJJKKKKJJJJJJKKJJKKJJKKKKKKJJKKJJJJJJJJJJKKKKKKJJKKJJKKJJJJKKKKJJKKKKKKJJKKJJJJJJJJJJKKJJJJKKJJJJKKKKJJKKJJJJKKJJKKKKJJJJJJKKKKJJJJJJJJJJJJJJJJJJKKKKJJKKJJKKJJKKJJJJJJJJJJJJKKKKKKKKJJKKJJJJKKKKKKJJJJKKJJJJKKKKJJJJJJJJKKKKJJKKJJKKJJJJKKJJKKKKJJKKKKJJKKKKJJKKJJKKJJJJKKJJKKKKJJKKKKJJKKJJKKKKJJKKJJKKKKJJJJKKJJJJJJKKJJKKKKJJKKJJJJJJJJKKKKJJJJJJJJJJKKKKJJJJJJJJJJKKKKJJJJKKKKJJJJJJJJKKJJJJKKJJJJKKJJKKJJKKKKKKJJJJJJJJKKKKJJJJJJJJJJJJKKJJKKJJJJJJKKKKKKKKJJJJJJJJKKKKJJJJJJJJKKJJKKJJKKJJKKKKKKJJKKJJKKJJJJJJJJJJKKJJJJJJKKJJKKJJKKJJKKJJJJJJJJJJKKJJKKJJKKKKJJKKKKKKKKJJJJKKJJJJJJKKKKJJKKJJJJKKJJJJKKJJJJJJKKJJJJJJJJJJKKJJJJJJKKJJJJJJKKKKKKKKKKKKKKKKJJJJJJKKKKKKKKKKJJKKJJKKKKJJJJKKJJKKJJJJKKJJJJJJKKKKKKJJJJJJKKKKJJKKJJJJKKJJKKKKJJJJJJJJJJKKJJJJJJKKJJJJJJJJJJKKKKJJJJKKJJKKKKJJJJKKKKJJJJJJJJJJJJJJKKJJKKKKKKJJJJJJJJKKJJKKJJJJKKJJJJJJKKKKJJJJJJKKKKKKKKKKJJJJJJKKJJKKJJJJJJJJJJJJJJJJJJJJJJJJJJJJKKJJKKKKJJJJJJJJJJJJJJJJJJKKKKJJJJKKKKJJKKJJJJKKKKKKJJKKJJJJKKKKKKKKJJKKJJKKJJJJKKKKKKKKJJKKKKJJJJKKJJJJKKJJJJJJKKKKJJJJJJKKJJJJJJJJKKJJKKKKJJJJJJJJKKKKKKKKKKJJJJKKJJKKJJJJJJJJJJJJKKJJKKJJJJJJKKKKKKKKKKJJKKKKJJJJJJJJJJKKJJKKJJJJKKJJJJKKJJJJJJJJJJJJKKKKJJJJKKJJJJJJJJJJJJKKKKKKKKJJJJJJKKKKKKJJKKKKJJJJKKJJJJJJKKKKJJJJJJKKJJJJKKJJJJJJJJJJJJKKJJJJKKKKJJJJJJJJKKJJKKJJJJJJKKKKJJJJKKJJKKJJJJJJKKJJKKKKJJJJJJJJJJJJJJJJJJJJKKJJJJKKJJJJJJJJKKJJJJJJKKKKJJKKKKJJJJJJKKKKKKKKJJJJKKJJJJKKJJKKKKJJJJKKJJJJJJKKJJKKJJJJJJJJKKJJJJJJJJKKKKKKJJKKJJKKKKJJJJJJJJKKJJJJJJJJKKJJJJJJKKJJJJJJKKKKKKJJKKJJJJJJJJJJJJKKJJJJKKJJKKJJKKJJJJJJJJKKJJJJJJJJKKJJJJJJJJJJJJJJJJKKJJKKKKJJJJKKJJKKKKKKKKJJJJKKJJJJKKKKKKKKKKJJKKJJJJJJKKJJKKJJJJJJJJKKKKJJJJJJKKKKJJJJKKJJKKKKJJJJKKJJKKJJJJJJJJJJJJJJJJKKJJJJJJKKJJKKJJJJKKJJJJJJJJKKKKJJKKKKJJKKJJJJJJJJJJJJKKJJJJJJKKJJJJJJJJJJJJJJJJJJKKJJJJJJJJJJKKKKJJJJJJKKJJJJJJJJKKKKKKJJKKKKKKKKKKJJJJJJJJJJJJKKKKJJKKJJJJJJJJKKJJKKJJJJJJJJJJJJKKJJJJJJJJJJJJJJJJJJJJJJKKKKJJKKJJKKKKJJJJJJJJKKJJKKJJJJJJJJKKJJKKJJKKKKKKJJJJJJJJJJJJJJJJKKKKKKJJKKJJKKKKKKJJJJJJJJKKJJJJJJJJJJJJKKJJJJJJJJJJJJJJJJJJJJJJJJKKJJKKJJJJJJJJJJJJJJKKJJJJJJKKJJKKJJJJJJKKKKJJKKJJJJJJJJJJKKJJJJJJJJJJJJJJJJKKJJJJJJKKKKJJJJKKJJKKJJKKJJKKJJJJKKJJJJKKJJJJJJJJKKJJJJJJJJJJKKJJJJKKJJJJJJJJJJJJJJKKKKJJJJKKJJJJKKKKKKJJJJJJJJJJJJJJKKKKJJKKJJKKJJJJJJJJKKJJJJJJKKJJKKJJJJKKKKJJJJJJJJKKJJKKJJKKJJJJJJJJJJJJJJKKJJJJJJJJKKKKJJJJKKJJJJJJKKJJJJKKJJJJJJKKJJJJJJJJJJKKKKKKJJKKJJKKJJKKJJJJJJKKKKJJJJJJJJJJKKJJJJJJJJKKKKJJJJKKJJKKJJJJJJKKJJJJJJJJJJKKJJKKJJJJJJJJJJJJKKKKJJJJKKKKKKKKKKJJKKKKJJKKJJKKKKJJKKKKKKJJJJKKKKJJJJKKKKKKKKKKJJKKJJKKJJJJJJKKKKKKJJJJKKKKJJKKKKJJJJJJKKJJKKKKJJJJJJKKJJKKKKKKKKKKJJJJJJKKKKJJKKJJKKKKKKJJKKKKJJJJKKKKJJKKJJJJKKKKKKJJJJJJKKKKKKJJKKKKKKKKJJJJKKJJKKJJKKKKJJJJKKKKJJKKKKJJKKKKJJKKKKJJJJJJKKKKKKJJKKKKJJKKJJJJKKJJJJKKJJJJJJJJJJKKJJJJKKKKJJKKJJJJKKKKKKJJKKKKKKJJJJKKJJKKJJKKJJJJKKJJJJKKJJKKKKKKKKKKJJKKJJKKKKKKJJJJJJKKJJKKJJKKJJJJKKKKJJKKKKKKKKKKKKKKKKKKKKJJKKJJJJJJKKJJKKKKKKJJJJKKJJJJKKKKJJJJKKJJJJKKJJKKKKJJKKKKKKJJKKKKKKKKKKJJKKJJJJJJKKKKKKKKKKJJJJKKJJJJKKJJJJKKKKKKKKJJKKJJKKJJKKKKKKJJKKKKKKJJKKKKKKJJJJKKJJKKJJKKJJKKKKJJJJKKKKKKKKKKJJJJKKKKKKJJJJKKKKKKJJKKKKKKJJKKKKKKJJJJKKJJJJKKKKJJJJJJJJKKKKKKJJJJJJJJKKJJKKJJJJJJKKJJKKJJJJJJKKKKJJJJJJJJJJJJJJKKKKKKJJKKKKJJJJKKKKJJKKKKJJKKJJKKKKKKJJJJKKJJKKJJKKJJKKJJJJJJJJKKJJJJKKJJJJKKKKJJKKKKKKJJJJKKJJJJJJKKKKKKKKKKKKKKKKKKKKJJKKJJJJKKJJKKKKJJKKJJKKKKJJKKJJKKJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJKKKKKKKKJJKKKKKKKKKKJJKKKKKKKKJJKKKKKKJJKKJJKKKKKKKKKKJJKKJJKKJJKKKKKKKKKKKKKKKKKKKKJJJJKKKKKKKKJJJJJJJJKKKKJJJJKKKKJJJJJJJJJJJJKKJJKKJJKKJJJJJJKKKKJJJJKKKKJJJJKKKKKKKKKKJJKKKKKKKKJJJJKKJJJJKKKKKKJJJJJJJJJJKKKKJJJJJJKKKKJJJJKKKKKKJJKKKKJJJJKKKKJJKKKKJJJJJJJJKKJJJJJJJJKKKKJJJJKKKKKKJJKKKKJJJJJJKKKKKKKKJJKKJJKKKKKKKKJJKKKKJJKKKKKKJJKKJJKKKKJJJJJJKKJJJJJJKKJJJJJJJJKKKKJJJJKKJJKKJJKKJJKKKKKKJJJJJJKKJJKKJJKKKKKKKKJJKKJJKKJJJJKKKKKKJJKKJJJJJJKKJJJJKKKKKKJJJJJJJJKKJJKKJJJJJJJJKKJJKKKKKKJJJJJJKKJJKKKKKKJJKKJJKKKKKKJJJJJJJJJJJJJJJJKKJJKKJJJJJJKKKKJJJJJJKKJJKKJJKKKKKKJJKKJJJJJJJJJJKKKKKKJJKKJJKKJJJJKKKKJJKKKKKKJJKKJJJJJJJJJJKKJJJJKKJJJJKKKKJJKKJJJJKKJJKKKKJJJJJJKKKKJJJJJJJJJJJJJJJJJJKKKKJJKKJJKKJJKKJJJJJJJJJJJJKKKKKKKKJJKKJJJJKKKKKKJJJJKKJJJJKKKKJJJJJJJJKKKKJJKKJJKKJJJJKKJJKKKKJJKKKKJJKKKKJJKKJJKKJJJJKKJJKKKKJJKKKKJJKKJJKKKKJJKKJJKKKKJJJJKKJJJJJJKKJJKKKKJJKKJJJJJJJJKKKKJJJJJJJJJJKKKKJJJJJJJJJJKKKKJJJJKKKKJJJJJJJJKKJJJJKKJJJJKKJJKKJJKKKKKKJJJJJJJJKKKKJJJJJJJJJJJJKKJJKKJJJJJJKKKKKKKKJJJJJJJJKKKKJJJJJJJJKKJJKKJJKKJJKKKKKKJJKKJJKKJJJJJJJJJJKKJJJJJJKKJJKKJJKKJJKKJJJJJJJJJJKKJJKKJJKKKKJJKKKKKKKKJJJJKKJJJJJJKKKKJJKKJJJJKKJJJJKKJJJJJJKKJJJJJJJJJJKKJJJJJJKKJJJJJJKKKKKKKKKKKKKKKKJJJJJJKKKKKKKKKKJJKKJJKKKKJJJJKKJJKKJJJJKKJJJJJJKKKKKKJJJJJJKKKKJJKKJJJJKKJJKKKKJJJJJJJJJJKKJJJJJJKKJJJJJJJJJJKKKKJJJJKKJJKKKKJJJJKKKKJJJJJJJJJJJJJJKKJJKKKKKKJJJJJJJJKKJJKKJJJJKKJJJJJJKKKKJJJJJJKKKKKKKKKKJJJJJJKKJJKKJJJJJJJJJJJJJJJJJJJJJJJJJJJJKKJJKKKKJJJJJJJJJJJJJJJJJJKKKKJJJJKKKKJJKKJJJJKKKKKKJJKKJJJJKKKKKKKKJJKKJJKKJJJJKKKKKKKKJJKKKKJJJJKKJJJJKKJJJJJJKKKKJJJJJJKKJJJJJJJJKKJJKKKKJJJJJJJJKKKKKKKKKKJJJJKKJJKKJJJJJJJJJJJJKKJJKKJJJJJJKKKKKKKKKKJJKKKKJJJJJJJJJJKKJJKKJJJJKKJJJJKKJJJJJJJJJJJJKKKKJJJJKKJJJJJJJJJJJJKKKKKKKKJJJJJJKKKKKKJJKKKKJJJJKKJJJJJJKKKKJJJJJJKKJJJJKKJJJJJJJJJJJJKKJJJJKKKKJJJJJJJJKKJJKKJJJJJJKKKKJJJJKKJJKKJJJJJJKKJJKKKKJJJJJJJJJJJJJJJJJJJJKKJJJJKKJJJJJJJJKKJJJJJJKKKKJJKKKKJJJJJJKKKKKKKKJJJJKKJJJJKKJJKKKKJJJJKKJJJJJJKKJJKKJJJJJJJJKKJJJJJJJJKKKKKKJJKKJJKKKKJJJJJJJJKKJJJJJJJJKKJJJJJJKKJJJJJJKKKKKKJJKKJJJJJJJJJJJJKKJJJJKKJJKKJJKKJJJJJJJJKKJJJJJJJJKKJJJJJJJJJJJJJJJJKKJJKKKKJJJJKKJJKKKKKKKKJJJJKKJJJJKKKKKKKKKKJJKKJJJJJJKKJJKKJJJJJJJJKKKKJJJJJJKKKKJJJJKKJJKKKKJJJJKKJJKKJJJJJJJJJJJJJJJJKKJJJJJJKKJJKKJJJJKKJJJJJJJJKKKKJJKKKKJJKKJJJJJJJJJJJJKKJJJJJJKKJJJJJJJJJJJJJJJJJJKKJJJJJJJJJJKKKKJJJJJJKKJJJJJJJJKKKKKKJJKKKKKKKKKKJJJJJJJJJJJJKKKKJJKKJJJJJJJJKKJJKKJJJJJJJJJJJJKKJJJJJJJJJJJJJJJJJJJJJJKKKKJJKKJJKKKKJJJJJJJJKKJJKKJJJJJJJJKKJJKKJJKKKKKKJJJJJJJJJJJJJJJJKKKKKKJJKKJJKKKKKKJJJJJJJJKKJJJJJJJJJJJJKKJJJJJJJJJJJJJJJJJJJJJJJJKKJJKKJJJJJJJJJJJJJJKKJJJJJJKKJJKKJJJJJJKKKKJJKKJJJJJJJJJJKKJJJJJJJJJJJJJJJJKKJJJJJJKKKKJJJJKKJJKKJJKKJJKKJJJJKKJJJJKKJJJJJJJJKKJJJJJJJJJJKKJJJJKKJJJJJJJJJJJJJJKKKKJJJJKKJJJJKKKKKKJJJJJJJJJJJJJJKKKKJJKKJJKKJJJJJJJJKKJJJJJJKKJJKKJJJJKKKKJJJJJJJJKKJJKKJJKKJJJJJJJJJJJJJJKKJJJJJJJJKKKKJJJJKKJJJJJJKKJJJJKKJJJJJJKKJJJJJJJJJJKKKKKKJJKKJJKKJJKKJJJJJJKKKKJJJJJJJJJJKKJJJJJJJJKKKKJJJJKKJJKKJJJJJJKKJJJJJJJJJJKKJJKKJJJJJJJJJJJJKKJJKKKKKKJJKKJJKKKKJJKKKKKKKKKKKKJJJJKKKKKKJJJJKKKKKKJJJJJJJJKKKKKKKKKKKKKKKKKKKKJJKKJJKKKKJJKKKKKKKKJJJJJJKKKKKKJJKKJJKKKKJJJJJJKKJJKKKKKKKKKKKKKKJJJJKKKKKKKKKKKKKKKKKKJJKKKKKKKKJJKKJJJJKKJJJJJJKKKKJJJJKKKKKKJJKKKKKKJJKKJJKKKKKKKKKKJJJJJJKKKKJJKKKKJJKKJJKKJJJJJJKKKKKKJJKKKKKKJJKKKKKKJJJJKKKKJJJJKKKKKKKKKKKKKKKKKKKKKKKKKKJJKKJJKKJJKKJJKKKKKKKKKKKKKKKKJJKKKKKKJJKKKKJJKKKKJJKKKKKKKKJJKKKKKKKKKKJJKKJJKKJJJJKKKKKKKKKKKKKKJJKKKKKKKKJJKKKKKKKKKKKKKKKKKKKKKKKKKKJJKKKKKKKKJJKKKKKKKKKKKKJJJJKKKKKKJJKKKKKKKKKKKKKKJJKKKKJJKKKKKKKKJJKKKKKKKKJJKKJJKKKKKKJJKKKKKKKKJJKKKKKKKKKKJJKKKKJJKKKKJJKKJJKKKKKKKKKKJJJJKKJJKKKKJJKKKKKKKKJJJJKKKKKKKKKKKKKKKKKKKKKKKKJJJJKKKKJJKKKKJJJJJJKKKKJJJJJJKKKKKKJJJJKKJJKKKKKKKKKKKKKKKKKKJJKKKKKKKKKKKKKKKKKKKKKKJJKKJJKKKKKKKKKKKKKKJJKKJJKKKKJJKKJJKKKKKKKKJJKKKKKKKKJJKKKKKKKKJJKKKKKKKKKKKKKKKKKKJJKKKKKKKKKKKKJJJJKKKKJJJJJJKKKKJJKKKKKKKKKKKKKKJJKKKKJJKKKKKKKKKKJJJJKKKKKKKKKKKKKKJJJJKKJJJJKKKKKKKKKKJJKKKKJJKKJJKKJJJJJJKKKKJJKKKKKKKKKKKKKKKKKKJJKKKKKKKKKKKKKKKKKKJJKKJJJJKKJJKKKKKKKKKKJJKKKKJJJJKKKKKKKKKKKKJJJJJJKKKKKKKKKKKKKKKKKKJJJJJJKKKKJJJJKKKKJJJJKKKKKKKKKKJJKKKKJJKKKKKKKKJJKKKKKKJJJJKKKKJJJJKKKKKKKKKKJJKKKKKKJJJJJJKKKKKKKKJJKKKKKKKKKKJJJJJJKKJJKKKKKKKKJJKKJJKKKKKKKKKKJJJJJJKKKKJJKKJJKKKKKKJJKKKKKKKKKKKKJJKKJJJJKKKKKKKKJJJJKKKKKKJJKKKKKKKKJJJJKKJJKKKKKKKKJJJJKKKKJJKKKKJJKKKKJJKKKKJJKKJJKKKKKKKKKKKKJJKKKKKKKKJJJJKKJJJJJJJJKKKKJJJJKKKKJJKKJJJJKKKKKKKKKKKKKKJJJJKKJJKKKKKKJJJJKKJJJJKKKKKKKKKKKKKKKKKKJJKKKKKKKKKKJJKKJJKKJJKKJJKKKKKKJJKKKKKKKKKKKKKKKKKKKKJJKKKKKKJJJJJJJJKKKKJJJJJJKKKKKKJJKKJJKKKKJJKKKKKKKKJJJJKKKKJJKKJJKKKKKKKKKKKKJJKKKKJJKKKKJJKKJJJJKKJJJJKKJJKKJJJJKKKKKKJJKKKKJJKKKKJJJJKKJJKKKKKKKKJJKKJJKKKKKKKKKKKKJJKKJJJJKKJJKKJJKKKKKKKKKKJJJJKKKKKKKKJJJJKKKKKKKKJJKKKKJJKKKKJJJJKKJJJJJJKKJJKKJJJJJJKKKKJJKKKKJJJJKKKKKKKKJJKKJJKKJJJJKKKKKKKKJJKKKKKKKKJJJJKKJJKKJJKKKKKKJJJJKKKKKKKKJJJJKKKKKKJJKKKKKKJJJJJJKKKKKKJJJJKKKKKKJJJJKKJJKKKKKKJJJJKKKKKKJJJJKKKKJJJJJJJJJJKKKKKKKKKKKKKKKKJJKKKKKKJJKKKKKKJJKKJJKKJJJJKKJJKKKKKKKKJJKKKKKKKKKKJJKKKKKKKKJJKKJJKKJJJJKKKKKKKKKKKKKKJJKKJJJJKKKKJJKKKKJJJJKKKKKKKKKKJJKKKKJJJJKKJJKKKKKKJJKKKKKKKKKKKKKKKKJJKKKKKKKKKKJJKKKKJJKKKKKKJJJJKKKKKKKKJJJJKKKKKKKKKKKKKKJJKKJJKKKKKKKKKKKKKKKKKKKKKKKKJJJJKKJJJJKKKKKKKKJJKKJJJJJJKKKKJJJJJJKKJJKKKKKKJJKKJJKKJJJJJJJJKKJJJJKKJJJJKKKKJJKKKKKKKKJJKKKKJJJJKKKKKKKKKKKKKKKKJJKKJJKKJJKKKKKKJJKKJJKKJJKKKKJJKKJJKKJJJJJJJJJJKKKKJJJJJJJJJJJJJJJJJJJJKKKKKKKKKKJJKKKKKKKKKKJJKKKKKKKKJJKKKKKKKKKKJJKKKKKKKKKKJJKKJJKKJJKKKKKKKKKKKKKKKKKKKKJJJJKKKKKKKKJJJJJJJJKKKKJJKKKKKKJJJJJJJJJJJJKKJJKKJJKKJJJJJJKKKKJJKKKKKKJJJJKKJJKKKKJJJJKKKKKKKKJJJJKKJJJJKKKKKKJJJJJJJJJJKKKKJJJJJJKKKKJJJJKKKKKKJJKKKKKKKKKKKKJJKKKKJJJJJJJJKKKKKKJJJJKKKKJJKKKKKKKKJJKKKKKKJJKKJJKKKKKKKKKKKKKKKKKKKKJJKKKKJJKKKKKKKKKKJJKKKKJJJJJJKKKKJJJJKKJJKKKKJJKKKKJJJJKKJJKKJJKKJJKKKKKKJJJJJJJJJJKKJJKKKKKKKKKKKKJJKKJJJJKKKKKKJJKKJJKKJJKKJJKKKKKKKKJJJJJJKKKKJJKKJJKKJJJJKKKKKKKKKKJJJJJJKKJJKKKKKKJJKKKKKKKKKKJJJJJJJJJJJJKKJJKKJJKKJJJJJJKKKKJJJJJJKKKKKKJJKKKKKKKKKKJJJJKKJJKKJJJJKKKKJJKKJJJJJJJJKKJJKKJJKKKKKKJJKKKKJJJJJJJJKKKKKKJJKKJJKKJJKKJJKKKKKKKKJJJJJJJJKKJJKKJJKKJJJJJJKKKKKKKKJJJJJJKKJJKKKKKKJJKKKKKKKKKKJJJJJJJJJJJJKKJJKKJJKKJJJJJJKKKKJJJJJJKKKKKKJJJJKKKKKKKKJJJJKKJJKKJJJJKKJJJJKKJJJJKKJJKKJJKKKKKKKKJJKKKKKKKKJJKKKKJJJJJJKKKKKKKKKKJJJJKKJJJJKKKKKKKKKKKKJJJJKKJJJJJJJJKKKKJJKKKKKKKKKKKKKKJJKKJJJJKKKKKKKKJJJJJJKKJJJJJJKKKKKKJJJJJJJJJJKKKKKKKKKKJJJJJJJJJJJJKKJJJJJJJJJJJJKKJJKKKKJJJJKKKKKKJJKKKKJJJJKKKKJJJJKKJJKKJJJJJJJJJJKKJJJJKKJJJJJJJJJJJJKKKKJJKKJJJJJJJJKKKKKKJJKKJJJJKKKKJJJJJJKKKKJJJJJJKKJJJJJJKKKKKKKKJJKKKKJJJJJJJJKKJJJJKKJJJJJJJJKKJJJJJJKKKKKKKKJJKKJJKKJJJJJJKKJJKKJJJJKKKKJJJJJJJJJJJJKKJJKKKKJJJJJJKKJJKKKKKKKKKKJJJJJJKKKKJJJJJJKKKKKKJJKKKKKKKKKKKKJJKKJJJJKKKKKKKKJJJJKKKKKKJJKKKKJJKKJJJJKKJJJJJJJJKKJJJJJJKKKKJJKKKKKKKKJJJJKKJJKKKKKKKKKKJJJJKKJJKKKKJJKKJJKKJJKKKKJJJJJJKKJJKKKKKKJJJJKKJJJJKKJJKKJJJJJJJJJJKKKKJJJJJJKKKKJJKKJJJJJJKKKKKKKKKKJJKKJJKKJJKKJJKKKKJJJJKKKKJJJJKKKKKKJJKKJJKKKKJJKKKKKKKKKKKKJJJJKKKKKKJJJJKKKKKKJJJJJJJJKKKKKKKKKKKKKKKKKKKKJJKKJJKKKKJJKKKKKKKKJJJJJJKKKKKKJJKKJJKKKKJJJJJJKKJJKKKKKKKKKKKKKKJJJJKKKKKKKKKKKKKKKKKKJJKKKKKKKKJJKKJJJJKKJJJJJJKKKKJJJJKKKKKKJJKKKKKKJJKKJJKKKKKKKKKKJJJJJJKKKKJJKKKKJJKKJJKKJJJJJJKKKKKKJJKKKKKKJJKKKKKKJJJJKKKKJJJJKKKKKKKKKKKKKKKKKKKKKKKKKKJJKKJJKKJJKKJJKKKKKKKKKKKKKKKKJJKKKKKKJJKKKKJJKKKKJJKKKKKKKKJJKKKKKKKKKKJJKKJJKKJJJJKKKKKKKKKKKKKKJJKKKKKKKKJJKKKKKKKKKKKKKKKKKKKKKKKKKKJJKKKKKKKKJJKKKKKKKKKKKKJJJJKKKKKKJJKKKKKKKKKKKKKKJJKKKKJJKKKKKKKKJJKKKKKKKKJJKKJJKKKKKKJJKKKKKKKKJJKKKKKKKKKKJJKKKKJJKKKKJJKKJJKKKKKKKKKKJJJJKKJJKKKKJJKKKKKKKKJJJJKKKKKKKKKKKKKKKKKKKKKKKKJJJJKKKKJJKKKKJJJJJJKKKKJJJJJJKKKKKKJJJJKKJJKKKKKKKKKKKKKKKKKKJJKKKKKKKKKKKKKKKKKKKKKKJJKKJJKKKKKKKKKKKKKKJJKKJJKKKKJJKKJJKKKKKKKKJJKKKKKKKKJJKKKKKKKKJJKKKKKKKKKKKKKKKKKKJJKKKKKKKKKKKKJJJJKKKKJJJJJJKKKKJJKKKKKKKKKKKKKKJJKKKKJJKKKKKKKKKKJJJJKKKKKKKKKKKKKKJJJJKKJJJJKKKKKKKKKKJJKKKKJJKKJJKKJJJJJJKKKKJJKKKKKKKKKKKKKKKKKKJJKKKKKKKKKKKKKKKKKKJJKKJJJJKKJJKKKKKKKKKKJJKKKKJJJJKKKKKKKKKKKKJJJJJJKKKKKKKKKKKKKKKKKKJJJJJJKKKKJJJJKKKKJJJJKKKKKKKKKKJJKKKKJJKKKKKKKKJJKKKKKKJJJJKKKKJJJJKKKKKKKKKKJJKKKKKKJJJJJJKKKKKKKKJJKKKKKKKKKKJJJJJJKKJJKKKKKKKKJJKKJJKKKKKKKKKKJJJJJJKKKKJJKKJJKKKKKKJJKKKKKKKKKKKKJJKKJJJJKKKKKKKKJJJJKKKKKKJJKKKKKKKKJJJJKKJJKKKKKKKKJJJJKKKKJJKKKKJJKKKKJJKKKKJJKKJJKKKKKKKKKKKKJJKKKKKKKKJJJJKKJJJJJJJJKKKKJJJJKKKKJJKKJJJJKKKKKKKKKKKKKKJJJJKKJJKKKKKKJJJJKKJJJJKKKKKKKKKKKKKKKKKKJJKKKKKKKKKKJJKKJJKKJJKKJJKKKKKKJJKKKKKKKKKKKKKKKKKKKKJJKKKKKKJJJJJJJJKKKKJJJJJJKKKKKKJJKKJJKKKKJJKKKKKKKKJJJJKKKKJJKKJJKKKKKKKKKKKKJJKKKKJJKKKKJJKKJJJJKKJJJJKKJJKKJJJJKKKKKKJJKKKKJJKKKKJJJJKKJJKKKKKKKKJJKKJJKKKKKKKKKKKKJJKKJJJJKKJJKKJJKKKKKKKKKKJJJJKKKKKKKKJJJJKKKKKKKKJJKKKKJJKKKKJJJJKKJJJJJJKKJJKKJJJJJJKKKKJJKKKKJJJJKKKKKKKKJJKKJJKKJJJJKKKKKKKKJJKKKKKKKKJJJJKKJJKKJJKKKKKKJJJJKKKKKKKKJJJJKKKKKKJJKKKKKKJJJJJJKKKKKKJJJJKKKKKKJJJJKKJJKKKKKKJJJJKKKKKKJJJJKKKKJJJJJJJJJJKKKKKKKKKKKKKKKKJJKKKKKKJJKKKKKKJJKKJJKKJJJJKKJJKKKKKKKKJJKKKKKKKKKKJJKKKKKKKKJJKKJJKKJJJJKKKKKKKKKKKKKKJJKKJJJJKKKKJJKKKKJJJJKKKKKKKKKKJJKKKKJJJJKKJJKKKKKKJJKKKKKKKKKKKKKKKKKKKKKKKKKKKKJJKKKKJJKKKKKKJJJJKKKKKKKKJJJJKKKKKKKKKKKKKKJJKKJJKKKKKKKKKKKKKKKKKKKKKKKKJJJJKKJJJJKKKKKKKKJJKKJJJJJJKKKKJJJJJJKKJJKKKKKKJJKKJJKKJJJJJJJJKKJJJJKKJJJJKKKKJJKKKKKKKKJJKKKKJJJJKKKKKKKKKKKKKKKKJJKKJJKKJJKKKKKKKKKKJJKKJJKKKKJJKKJJKKJJJJJJJJJJKKKKJJJJJJJJJJJJJJJJJJJJKKKKKKKKKKJJKKKKKKKKKKJJKKKKKKKKJJKKKKKKKKKKJJKKKKKKKKKKJJKKJJKKJJKKKKKKKKKKKKKKKKKKKKJJJJKKKKKKKKJJJJJJJJKKKKJJKKKKKKJJJJJJJJJJJJKKJJKKJJKKJJJJJJKKKKJJKKKKKKJJJJKKJJKKKKJJJJKKKKKKKKJJJJKKJJJJKKKKKKJJJJJJJJJJKKKKJJJJJJKKKKJJJJKKKKKKJJKKKKKKKKKKKKJJKKKKJJJJJJJJKKKKKKJJJJKKKKJJKKKKKKKKJJKKKKKKJJKKJJKKKKKKKKKKKKKKKKKKKKJJKKKKJJKKKKKKKKKKJJKKKKJJJJJJKKKKJJJJKKJJKKKKJJKKKKJJJJKKJJKKJJKKJJKKKKKKJJJJJJJJJJKKJJKKKKKKKKKKKKJJKKJJJJKKKKKKJJKKJJKKJJKKJJKKKKKKKKJJJJJJKKKKJJKKJJKKJJJJKKKKKKKKKKJJJJJJKKJJKKKKKKJJKKKKKKKKKKJJJJJJJJJJJJKKJJKKJJKKJJJJJJKKKKJJJJJJKKKKKKJJKKKKKKKKKKJJJJKKJJKKJJJJKKKKJJKKJJJJJJJJKKJJKKJJKKKKKKJJKKKKJJJJJJJJKKKKKKJJKKJJKKJJKKJJKKKKKKKKJJJJJJJJKKJJKKJJKKJJJJJJKKKKKKKKJJJJJJKKJJKKKKKKJJKKKKKKKKKKJJJJJJJJJJJJKKJJKKJJKKJJJJJJKKKKJJJJJJKKKKKKJJKKKKKKKKKKJJJJKKJJKKJJJJKKJJJJKKJJJJKKJJKKJJKKKKKKKKJJKKKKKKKKJJKKKKJJJJJJKKKKKKKKKKJJJJKKJJJJKKKKKKKKKKKKJJJJKKJJJJJJJJKKKKJJKKKKKKKKKKKKKKJJKKJJJJKKKKKKKKJJJJJJKKJJJJJJKKKKKKJJJJJJJJJJKKKKKKKKKKJJJJJJJJJJJJKKJJJJJJJJJJJJKKJJKKKKJJJJKKKKKKJJKKKKJJJJKKKKJJJJKKJJKKJJJJJJJJJJKKJJJJKKJJJJJJJJJJJJKKKKJJKKJJJJJJJJKKKKKKJJKKJJJJKKKKJJJJJJKKKKJJJJJJKKJJJJJJKKKKKKKKJJKKKKJJJJJJJJKKJJJJKKJJJJJJJJKKJJJJJJKKKKKKKKJJKKJJKKJJJJJJKKJJKKJJJJKKKKJJJJJJJJJJJJKKJJKKKKJJJJJJKKJJKKKKKKKKKKJJJJJJKKKKJJJJJJKKKKKKJJKKKKKKKKKKKKJJKKJJJJKKKKKKKKJJJJKKKKKKJJKKKKJJKKJJJJKKJJKJJJJJKKJJJJJJKKKKJJKKKKKKKKJJJJKKJJKKKKKKKKKKJJJJKKJJKKKKJJKKJJKKJJKKKKJJJJJJKKJJKKKKKKJJJJKKJJJJKKJJKKJJJJJJJJJJKKKKJJJJJJKKKKJJKKJJJJJJKKKKKKKKKKJJKKJJKKJJKKJJKKKKJJJJKKKKJJKKKKKKKKKKKKKKJJKKKKKKKKKKKKKKKKKKKKJJKKKKKKKKKKKKJJKKJJKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKJJKKKKKKKKKKKKKKKKKKKKKKJJKKKKKKKKJJKKJJKKKKKKKKKKKKKKJJKKKKKKJJKKKKKKKKKKKKKKKKKKJJKKKKKKKKKKJJKKJJKKJJKKKKKKKKKKKKKKKKKKJJKKKKKKKKJJKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKJJJJKKKKKKKKKKKKJJJJKKKKKKJJKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKJJKKKKKKKKKKKKKKKKKKJJKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKJJKKKKKKKKKKJJKKKKKKJJKKKKKKKKKKJJKKKKKKKKKKJJJJKKKKKKKKJJKKKKKKKKKKJJKKKKKKKKKKKKJJKKKKJJKKJJKKKKJJKKKKKKKKKKKKKKKKKKKKKKKKJJJJKKKKJJKKKKKKKKKKJJKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKJJKKKKKKKKKKKKJJKKKKKKJJJJKKKKKKJJKKJJKKKKKKKKKKKKKKJJKKKKKKJJKKKKKKKKKKJJKKJJKKKKKKKKKKKKKKKKKKKKJJJJKKJJKKKKKKKKKKKKKKKKKKKKKKJJKKKKKKKKKKKKKKJJKKKKKKJJKKKKKKKKKKJJKKKKKKJJKKKKKKKKKKKKJJKKJJJJKKJJJJKKKKKKKKJJKKKKKKJJKKKKKKKKKKKKKKJJKKKKKKKKKKKKKKKKJJKKKKKKKKJJKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKJJKKKKKKKKKKKKKKKKKKKKJJKKKKKKJJKKJJKKKKKKKKJJKKJJJJKKJJKKJJKKKKKKJJKKJJJJKKKKKKJJKKKKKKKKJJKKKKKKKKJJKKKKKKKKKKKKKKKKJJKKKKKKKKKKJJKKKKJJKKKKKKKKKKKKJJJJKKKKKKJJJJKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKJJKKJJKKKKKKKKKKKKKKJJKKJJKKKKKKJJKKJJKKKKKKJJJJKKJJKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKJJKKKKKKKKJJKKKKKKKKJJKKKKKKKKJJJJKKKKKKKKKKKKKKJJKKJJKKKKKKKKKKKKJJJJKKKKJJKKKKKKKKJJKKJJKKJJKKKKKKJJKKKKKKKKKKKKKKJJJJKKKKJJJJKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKJJKKJJKKJJKKKKKKKKKKKKKKKKJJKKKKKKJJKKKKKKKKKKJJKKKKKKKKJJKKKKKKKKKKKKKKKKKKJJKKJJKKKKKKKKKKKKKKKKKKJJKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKJJKKKKJJJJKKJJJJKKJJJJKKKKKKKKKKKKJJKKKKKKJJKKKKKKKKKKKKJJKKJJKKKKJJJJKKKKKKJJKKKKKKKKKKKKKKKKKKKKJJJJJJJJKKKKJJKKKKKKKKJJKKKKKKKKJJKKKKKKKKKKKKKKKKJJKKJJKKKKKKKKKKJJKKKKJJKKJJKKKKKKKKKKKKJJJJKKKKKKKKKKKKKKKKKKKKKKKKKKKKJJJJKKKKKKJJJJKKJJKKKKKKKKJJKKKKKKKKKKKKJJKKKKKKKKJJJJKKKKKKKKKKKKJJKKKKKKJJKKKKKKKKKKKKKKKKKKJJJJJJJJJJKKKKKKKKKKKKKKJJKKKKKKKKKKKKKKKKKKJJJJJJJJKKKKKKJJKKKKKKKKKKJJKKKKKKKKJJKKKKJJKKKKKKKKJJKKKKJJKKJJKKKKKKKKKKJJKKKKKKKKJJKKKKJJKKKKKKKKKKKKKKJJKKJJKKKKKKJJKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKJJKKKKKKKKKKKKKKKKKKKKJJKKJJKKJJJJKKJJKKKKKKKKJJJJKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKJJKKKKJJKKKKJJKKJJJJKKJJKKKKJJKKJJKKKKKKKKKKKKKKKKKKJJJJKKKKKKJJKKJJKKKKKKKKJJKKKKKKKKKKKKKKKKKKJJKKKKKKKKKKKKKKKKKKJJKKKKKKKKKKKKJJJJKKKKJJJJJJKKKKJJKKKKKKKKKKKKKKJJKKKKJJKKKKKKKKKKJJJJKKKKKKKKKKKKKKJJKKKKJJJJKKKKKKKKKKJJKKKKKKKKJJKKJJJJJJJJKKJJKKKKKKKKKKKKKKKKKKJJKKKKKKKKKKKKKKKKKKJJKKKKJJKKJJKKKKKKKKKKJJJJKKJJJJKKKKKKKKKKKKJJJJKKKKKKKKJJKKKKKKKKKKJJJJJJKKKKKKKKKKKKJJJJKKKKKKKKKKKKKKKKKKKKKKKKKKJJKKKKKKKKJJKKKKJJKKKKKKKKKKKKJJKKKKKKJJJJJJKKKKKKKKJJKKKKKKKKKKJJJJJJKKJJKKKKKKKKJJKKJJKKKKKKKKKKJJJJJJKKKKJJKKJJKKKKKKJJKKKKKKKKKKKKKKKKJJJJKKKKKKKKJJJJKKKKKKJJKKKKKKKKJJJJKKJJKKKKKKKKJJJJKKKKJJKKKKJJKKKKJJKKKKJJKKJJKKKKKKKKKKKKJJKKKKKKKKJJJJKKKKJJJJJJKKKKJJJJKKKKJJKKJJJJKKKKKKKKKKKKKKJJJJKKJJKKKKKKJJJJKKJJJJKKKKKKKKKKKKKKKKKKJJKKKKKKKKKKJJKKJJKKJJKKJJKKKKKKJJKKKKKKKKKKKKKKKKKKKKKKKKKKJJJJKKJJKKKKJJKKKKJJKKKKJJKKJJKKKKKKKKKKKKJJKKKKKKKKJJJJKKKKJJJJJJKKKKJJJJKKKKJJKKJJJJKKKKKKKKKKKKKKJJJJKKJJKKKKKKJJJJKKJJJJKKKKKKKKKKKKKKKKKKJJKKKKKKKKKKJJKKJJKKJJKKJJKKKKKKJJKKKKKKKKKKKKKKKKKKKKKKKKKKJJJJKKJJKKKKKKJJJJKKJJJJKKKKJJJJKKJJKKKKJJKKKKJJKKKKKKJJKKKKKKKKKKJJKKJJKKJJKKKKKKKKKKKKJJKKJJJJKKJJJJKKKKKKKKJJKKJJKKJJKKKKKKJJKKKKKKJJKKKKKKKKJJKKJJKKJJKKJJKKKKJJKKKKKKKKKKKKKKJJKKKKKKJJKKKKKKKKJJKKKKKKKKKKKKKKKKKKKKJJJJKKKKJJKKJJJJKKKKKKJJKKJJJJKKJJKKJJJJKKKKJJKKJJJJKKKKKKJJKKJJJJKKJJKKKKKKKKJJKKKKKKJJKKKKJJKKJJKKJJKKJJJJJJJJKKJJKKKKKKKKKKKKJJJJKKKKKKJJJJJJKKKKJJJJJJJJKKKKKKKKKKKKKKJJKKJJJJKKJJKKJJJJKKKKJJKKJJJJJJKKKKKKJJKKJJKKKKJJJJJJKKJJKKKKKKKKKKKKKKJJJJJJKKKKKKJJJJJJKKJJJJKKKKKKKKJJKKJJJJKKJJJJJJKKJJJJJJKKKKKKJJKKKKKKJJKKJJKKKKJJKKJJKKKKKKJJJJJJKKKKKKKKKKKKKKKKKKKKKKKKKKJJKKJJJJKKKKJJKKJJKKKKKKKKKKKKKKKKJJKKKKKKKKKKJJKKKKJJKKJJKKJJKKKKKKJJKKJJKKKKKKKKKKJJKKKKKKKKJJJJJJKKKKJJKKKKKKKKJJKKKKKKKKKKKKKKJJKKKKKKKKKKKKKKKKKKKKJJKKKKKKKKKKKKJJKKJJKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKJJKKKKKKKKKKKKKKKKKKKKKKJJKKKKKKKKJJKKJJKKKKKKKKKKKKKKJJKKKKKKJJKKKKKKKKKKKKKKKKKKJJKKKKKKKKKKJJKKJJKKJJKKKKKKKKKKKKKKKKKKJJKKKKKKKKJJKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKJJJJKKKKKKKKKKKKJJJJKKKKKKJJKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKJJKKKKKKKKKKKKKKKKKKJJKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKJJKKKKKKKKKKJJKKKKKKJJKKKKKKKKKKJJKKKKKKKKKKJJJJKKKKKKKKJJKKKKKKKKKKJJKKKKKKKKKKKKJJKKKKJJKKJJKKKKJJKKKKKKKKKKKKKKKKKKKKKKKKJJJJKKKKJJKKKKKKKKKKJJKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKJJKKKKKKKKKKKKJJKKKKKKJJJJKKKKKKJJKKJJKKKKKKKKKKKKKKJJKKKKKKJJKKKKKKKKKKJJKKJJKKKKKKKKKKKKKKKKKKKKJJJJKKJJKKKKKKKKKKKKKKKKKKKKKKJJKKKKKKKKKKKKKKJJKKKKKKJJKKKKKKKKKKJJKKKKKKJJKKKKKKKKKKKKJJKKJJJJKKJJJJKKKKKKKKJJKKKKKKJJKKKKKKKKKKKKKKJJKKKKKKKKKKKKKKKKJJKKKKKKKKJJKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKJJKKKKKKKKKKKKKKKKKKKKJJKKKKKKJJKKJJKKKKKKKKJJKKJJJJKKJJKKJJKKKKKKJJKKJJJJKKKKKKJJKKKKKKKKJJKKKKKKKKJJKKKKKKKKKKKKKKKKJJKKKKKKKKKKJJKKKKJJKKKKKKKKKKKKJJJJKKKKKKJJJJKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKJJKKJJKKKKKKKKKKKKKKJJKKJJKKKKKKJJKKJJKKKKKKJJJJKKJJKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKJJKKKKKKKKJJKKKKKKKKJJKKKKKKKKJJJJKKKKKKKKKKKKKKJJKKJJKKKKKKKKKKKKJJJJKKKKJJKKKKKKKKJJKKJJKKJJKKKKKKJJKKKKKKKKKKKKKKJJJJKKKKJJJJKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKJJKKJJKKJJKKKKKKKKKKKKKKKKJJKKKKKKJJKKKKKKKKKKJJKKKKKKKKJJKKKKKKKKKKKKKKKKKKJJKKJJKKKKKKKKKKKKKKKKKKJJKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKJJKKKKJJJJKKJJJJKKJJJJKKKKKKKKKKKKJJKKKKKKJJKKKKKKKKKKKKJJKKJJKKKKJJJJKKKKKKJJKKKKKKKKKKKKKKKKKKKKJJJJJJJJKKKKJJKKKKKKKKJJKKKKKKKKJJKKKKKKKKKKKKKKKKJJKKJJKKKKKKKKKKJJKKKKJJKKJJKKKKKKKKKKKKJJJJKKKKKKKKKKKKKKKKKKKKKKKKKKKKJJJJKKKKKKJJJJKKJJKKKKKKKKJJKKKKKKKKKKKKJJKKKKKKKKJJJJKKKKKKKKKKKKJJKKKKKKJJKKKKKKKKKKKKKKKKKKJJJJJJJJJJKKKKKKKKKKKKKKJJKKKKKKKKKKKKKKKKKKJJJJJJJJKKKKKKJJKKKKKKKKKKJJKKKKKKKKJJKKKKJJKKKKKKKKJJKKKKJJKKJJKKKKKKKKKKJJKKKKKKKKJJKKKKJJKKKKKKKKKKKKKKJJKKJJKKKKKKJJKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKJJKKKKKKKKKKKKKKKKKKKKJJKKJJKKJJJJKKJJKKKKKKKKJJJJKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKJJKKKKJJKKKKJJKKJJJJKKJJKKKKJJKKJJKKKKKKKKKKKKKKKKKKJJJJKKKKKKJJKKJJKKKKKKKKJJKKKKKKKKKKKKKKKKKKJJKKKKKKKKKKKKKKKKKKJJKKKKKKKKKKKKJJJJKKKKJJJJJJKKKKJJKKKKKKKKKKKKKKJJKKKKJJKKKKKKKKKKJJJJKKKKKKKKKKKKKKJJKKKKJJJJKKKKKKKKKKJJKKKKKKKKJJKKJJJJJJJJKKJJKKKKKKKKKKKKKKKKKKJJKKKKKKKKKKKKKKKKKKJJKKKKJJKKJJKKKKKKKKKKJJJJKKJJJJKKKKKKKKKKKKJJJJKKKKKKKKJJKKKKKKKKKKJJJJJJKKKKKKKKKKKKJJJJKKKKKKKKKKKKKKKKKKKKKKKKKKJJKKKKKKKKJJKKKKJJKKKKKKKKKKKKJJKKKKKKJJJJJJKKKKKKKKJJKKKKKKKKKKJJJJJJKKJJKKKKKKKKJJKKJJKKKKKKKKKKJJJJJJKKKKJJKKJJKKKKKKJJKKKKKKKKKKKKKKKKJJJJKKKKKKKKJJJJKKKKKKJJKKKKKKKKJJJJKKJJKKKKKKKKJJJJKKKKJJKKKKJJKKKKJJKKKKJJKKJJKKKKKKKKKKKKJJKKKKKKKKJJJJKKKKJJJJJJKKKKJJJJKKKKJJKKJJJJKKKKKKKKKKKKKKJJJJKKJJKKKKKKJJJJKKJJJJKKKKKKKKKKKKKKKKKKJJKKKKKKKKKKJJKKJJKKJJKKJJKKKKKKJJKKKKKKKKKKKKKKKKKKKKKKKKKKJJJJKKJJKKKKJJKKKKJJKKKKJJKKJJKKKKKKKKKKKKJJKKKKKKKKJJJJKKKKJJJJJJKKKKJJJJKKKKJJKKJJJJKKKKKKKKKKKKKKJJJJKKJJKKKKKKJJJJKKJJJJKKKKKKKKKKKKKKKKKKJJKKKKKKKKKKJJKKJJKKJJKKJJKKKKKKJJKKKKKKKKKKKKKKKKKKKKKKKKKKJJJJKKJJKKKKKKJJJJKKJJJJKKKKJJJJKKJJKKKKJJKKKKJJKKKKKKJJKKKKKKKKKKJJKKJJKKJJKKKKKKKKKKKKJJKKJJJJKKJJJJKKKKKKKKJJKKJJKKJJKKKKKKJJKKKKKKJJKKKKKKKKJJKKJJKKJJKKJJKKKKJJKKKKKKKKKKKKKKJJKKKKKKJJKKKKKKKKJJKKKKKKKKKKKKKKKKKKKKJJJJKKKKJJKKJJJJKKKKKKJJKKJJJJKKJJKKJJJJKKKKJJKKJJJJKKKKKKJJKKJJJJKKJJKKKKKKKKJJKKKKKKJJKKKKJJKKJJKKJJKKJJJJJJJJKKJJKKKKKKKKKKKKJJJJKKKKKKJJJJJJKKKKJJJJJJJJKKKKKKKKKKKKKKJJKKJJJJKKJJKKJJJJKKKKJJKKJJJJJJKKKKKKJJKKJJKKKKJJJJJJKKJJKKKKKKKKKKKKKKJJJJJJKKKKKKJJJJJJKKJJJJKKKKKKKKJJKKJJJJKKJJJJJJKKJJJJJJKKKKKKJJKKKKKKJJKKJJKKKKJJKKJJKKKKKKJJJJJJKKKKKKKKKKKKKKKKKKKKKKKKKKJJKKJJJJKKKKJJKKJJKKKKKKKKKKKKKKKKJJKKKKKKKKKKJJKKKKJJKKJJKKJJKKKKKKJJKKJJKKKKKKKKKKJJKKKKKKKKJJJJJJKKKKJJKKKKKKKKJJKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKLLKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKLLKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKJJKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKJJKKKKKKKKKKKKKKKKKKKKKKJJKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKJJKKKKKKKKJJKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKJJKKKKJJKKKKJJKKKKKKKKKKKKKKKKKKKKKKKKKKJJKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKJJKKKKKKKKKKKKKKJJKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKJJKKKKKKKKJJKKJJKKKKKKKKKKKKKKKKKKKKKKJJKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKJJKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKJJKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKJJKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKJJKKKKKKJJKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKJJKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKJJKKKKKKKKKKKKKKKKKKKKKKKKJJKKKKKKKKKKKKKKJJJJKKKKKKKKKKKKKKKKJJKKKKJJKKKKKKKKJJKKKKKKKKKKKKKKJJJJKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKJJKKKKKKKKKKKKKKKKKKKKKKJJKKKKKKKKJJKKKKJJKKKKKKJJKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKJJKKKKKKKKJJJJKKKKKKKKJJKKKKKKJJKKKKKKJJKKKKKKKKKKKKKKKKKKKKKKKKJJKKKKKKKKJJKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKJJKKKKKKKKKKKKKKKKKKKKJJKKKKKKJJKKKKKKKKKKKKKKKKJJKKKKJJKKKKKKKKKKJJKKJJJJKKKKKKJJKKKKKKKKJJKKKKKKKKJJKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKJJKKKKKKKKJJJJKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKJJKKJJKKKKKKKKKKKKKKJJKKKKKKKKKKJJKKJJKKKKKKJJJJKKJJKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKJJKKKKKKKKJJKKKKKKKKKKKKKKKKKKKKJJKKKKKKJJKKKKKKJJKKJJKKKKKKKKKKKKJJJJKKKKJJKKKKKKKKJJKKJJKKKKKKKKKKJJKKKKKKKKKKKKKKJJJJKKKKKKJJKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKJJKKJJKKKKKKKKKKKKKKKKJJKKKKKKKKKKKKKKKKKKJJKKKKKKKKJJKKKKKKKKKKKKKKKKKKJJKKKKKKKKKKKKKKKKJJKKKKKKKKKKKKKKJJJJKKKKJJKKKKKKKKJJKKKKKKJJKKKKKKJJKKKKKKKKKKKKKKJJJJKKKKKKJJKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKJJKKJJKKKKKKKKKKKKKKKKJJKKKKKKKKKKKKKKKKKKJJKKKKKKKKKKKKKKKKKKKKKKKKKKKKJJKKKKKKKKKKKKKKKKKKKKKKKKKKJJKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKJJKKKKKKKKKKKKJJJJKKKKKKJJKKKKKKKKKKKKKKKKKKKKJJKKKKKKKKJJKKKKKKKKJJKKJJKKKKKKJJKKKKKKKKJJKKKKKKKKKKJJKKKKKKKKKKJJKKJJKKKKKKKKKKKKJJKKKKKKKKJJKKJJKKKKJJJJKKKKKKKKKKKKKKKKKKKKKKKKKKJJKKKKJJKKKKKKJJJJKKKKJJJJJJKKKKKKKKJJKKJJKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKJJKKKKKKKKKKKKKKKKJJKKJJKKKKKKKKKKKKKKKKJJKKKKKKKKKKKKJJKKJJKKKKKKKKKKKKKKKKKKKKKKJJKKKKJJKKKKKKKKKKKKJJKKKKKKKKKKKKKKKKKKJJKKKKKKJJKKKKKKKKJJKKKKKKKKKKKKKKKKKKKKKKJJKKKKKKKKJJKKKKKKKKKKKKKKKKKKJJKKKKKKJJKKKKKKKKKKKKKKJJKKJJKKKKJJKKKKKKKKKKKKKKKKKKKKJJKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKJJKKKKKKKKKKKKKKJJJJKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKJJKKJJJJKKKKKKKKKKKKKKKKKKKKKKKKKKJJJJKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKLLKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKLLKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKJJKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKJJKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKJJKKKKKKKKJJKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKJJKKKKJJKKKKJJKKKKKKKKKKKKKKKKKKKKKKKKKKJJKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKJJKKKKKKKKKKKKKKJJKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKJJKKKKKKKKJJKKJJKKKKKKKKKKKKKKKKKKKKKKJJKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKJJKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKJJKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKJJKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKJJKKKKKKJJKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKJJKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKJJKKKKKKKKKKKKKKKKKKKKKKKKJJKKKKKKKKKKKKKKJJJJKKKKKKKKKKKKKKKKJJKKKKJJKKKKKKKKJJKKKKKKKKKKKKKKJJJJKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKJJKKKKKKKKKKKKKKKKKKKKKKJJKKKKKKKKJJKKKKJJKKKKKKJJKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKJJKKKKKKKKJJJJKKKKKKKKJJKKKKKKJJKKKKKKJJKKKKKKKKKKKKKKKKKKKKKKKKJJKKKKKKKKJJKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKJJKKKKKKKKKKKKKKKKKKKKJJKKKKKKJJKKKKKKKKKKKKKKKKJJKKKKJJKKKKKKKKKKJJKKJJJJKKKKKKJJKKKKKKKKJJKKKKKKKKJJKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKJJKKKKKKKKJJJJKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKJJKKJJKKKKKKKKKKKKKKJJKKKKKKKKKKJJKKJJKKKKKKJJJJKKJJKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKJJKKKKKKKKJJKKKKKKKKKKKKKKKKKKKKJJKKKKKKJJKKKKKKJJKKJJKKKKKKKKKKKKJJJJKKKKJJKKKKKKKKJJKKJJKKKKKKKKKKJJKKKKKKKKKKKKKKJJJJKKKKKKJJKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKJJKKJJKKKKKKKKKKKKKKKKJJKKKKKKKKKKKKKKKKKKJJKKKKKKKKJJKKKKKKKKKKKKKKKKKKJJKKKKKKKKKKKKKKKKJJKKKKKKKKKKKKKKJJJJKKKKJJKKKKKKKKJJKKKKKKJJKKKKKKJJKKKKKKKKKKKKKKJJJJKKKKKKJJKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKJJKKJJKKKKKKKKKKKKKKKKJJKKKKKKKKKKKKKKKKKKJJKKKKKKKKKKKKKKKKKKKKKKKKKKKKJJKKKKKKKKKKKKKKKKKKKKKKKKKKJJKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKJJKKKKKKKKKKKKJJJJKKKKKKJJKKKKKKKKKKKKKKKKKKKKJJKKKKKKKKJJKKKKKKKKJJKKJJKKKKKKJJKKKKKKKKJJKKKKKKKKKKJJKKKKKKKKKKJJKKJJKKKKKKKKKKKKJJKKKKKKKKJJKKJJKKKKJJJJKKKKKKKKKKKKKKKKKKKKKKKKKKJJKKKKJJKKKKKKJJJJKKKKJJJJJJKKKKKKKKJJKKJJKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKJJKKKKKKKKKKKKKKKKJJKKJJKKKKKKKKKKKKKKKKJJKKKKKKKKKKKKJJKKJJKKKKKKKKKKKKKKKKKKKKKKJJKKKKJJKKKKKKKKKKKKJJKKKKKKKKKKKKKKKKKKJJKKKKKKJJKKKKKKKKJJKKKKKKKKKKKKKKKKKKKKKKJJKKKKKKKKJJKKKKKKKKKKKKKKKKKKJJKKKKKKJJKKKKKKKKKKKKKKJJKKJJKKKKJJKKKKKKKKKKKKKKKKKKKKJJKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKJJKKKKKKKKKKKKKKJJJJKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKJJKKJJJJKKKKKKKKKKKKKKKKKKKKKKKKKKJJJJKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKLLKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKLLKKKKLLLLKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKLLKKKKLLKKKKKKKKLLLLKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKLLKKKKKKKKLLKKKKKKKKKKKKKKLLKKLLKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKLLKKKKKKKKKKKKKKKKKKKKKKLLKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKLLKKKKKKKKKKKKKKLLKKKKKKKKKKKKKKKKKKKKKKKKLLKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKLLKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKLLKKKKLLKKKKKKLLKKKKKKKKKKKKLLKKKKLLKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKLLKKKKKKKKKKKKKKKKKKKKKKLLKKLLKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKLLKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKLLKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKLLKKKKKKLLKKKKKKKKKKKKKKKKLLKKKKKKKKKKKKKKKKKKKKKKKKKKLLKKKKKKLLKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKLLKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKLLKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKLLKKKKKKKKKKKKLLKKKKKKKKKKKKLLKKLLKKKKLLKKKKKKKKKKKKKKKKKKKKLLKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKLLKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKLLKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKLLKKKKLLLLKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKLLLLKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKLLKKKKKKKKKKKKLLKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKLLKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKLLKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKLLKKKKKKKKKKKKKKLLKKKKKKKKKKKKKKKKKKKKKKLLKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKLLKKKKKKKKKKKKKKKKKKLLKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKLLKKKKKKKKKKKKKKKKKKKKKKKKKKLLKKKKKKKKKKKKKKKKKKKKKKKKKKLLKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKLLKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKLLKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKJJKKKKKKKKKKJJKKKKKKKKKKKKJJKKKKKKKKJJKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKJJKKKKKKKKKKJJKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKJJKKKKKKKKKKKKKKKKJJKKJJKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKJJKKKKKKKKKKKKKKJJKKKKKKKKKKKKJJKKKKKKKKKKKKKKKKKKKKKKKKJJJJKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKJJKKKKKKKKKKKKKKJJKKKKKKKKKKKKKKKKKKKKKKKKKKKKJJKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKJJKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKJJKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKLLKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKLLKKKKLLLLKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKLLKKKKLLKKKKKKKKLLLLKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKLLKKKKKKKKLLKKKKKKKKKKKKKKLLKKLLKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKLLKKKKKKKKKKKKKKKKKKKKKKLLKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKLLKKKKKKKKKKKKKKLLKKKKKKKKKKKKKKKKKKKKKKKKLLKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKLLKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKLLKKKKLLKKKKKKLLKKKKKKKKKKKKLLKKKKLLKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKLLKKKKKKKKKKKKKKKKKKKKKKLLKKLLKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKLLKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKLLKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKLLKKKKKKLLKKKKKKKKKKKKKKKKLLKKKKKKKKKKKKKKKKKKKKKKKKKKLLKKKKKKLLKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKLLKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKLLKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKLLKKKKKKKKKKKKLLKKKKKKKKKKKKLLKKLLKKKKLLKKKKKKKKKKKKKKKKKKKKLLKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKLLKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKLLKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKLLKKKKLLLLKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKLLLLKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKLLKKKKKKKKKKKKLLKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKLLKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKLLKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKLLKKKKKKKKKKKKKKLLKKKKKKKKKKKKKKKKKKKKKKLLKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKLLKKKKKKKKKKKKKKKKKKLLKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKLLKKKKKKKKKKKKKKKKKKKKKKKKKKLLKKKKKKKKKKKKKKKKKKKKKKKKKKLLKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKLLKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKLLKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKJJKKKKKKKKKKJJKKKKKKKKKKKKJJKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKJJKKKKKKKKKKJJKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKJJKKKKKKKKKKKKKKKKJJKKJJKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKJJKKKKKKKKKKKKKKJJKKKKKKKKKKKKJJKKKKKKKKKKKKKKKKKKKKKKKKJJJJKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKJJKKKKKKKKKKKKKKJJKKKKKKKKKKKKKKKKKKKKKKKKKKKKJJKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKJJKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKJJKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKLLKKLLLLKKLLKKLLKKKKLLKKKKLLKKKKKKLLKKKKLLKKLLLLKKKKKKKKKKKKKKKKKKKKKKLLKKLLKKLLKKKKKKKKKKLLKKKKKKKKLLLLLLKKKKKKLLKKKKKKKKKKKKKKKKKKKKKKLLLLKKLLKKLLKKKKKKLLKKKKKKKKLLKKKKKKKKKKLLKKKKKKKKKKKKLLKKKKKKKKKKKKKKKKKKLLKKLLKKKKKKKKKKKKKKKKKKKKLLKKKKLLLLKKKKKKKKKKLLKKKKKKKKKKLLKKKKKKKKKKKKKKKKKKKKKKKKKKKKLLKKKKKKKKKKKKKKKKKKKKKKKKLLKKKKKKKKKKLLKKKKKKKKKKLLKKKKKKKKKKKKLLKKKKKKLLKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKLLKKKKLLLLKKLLKKKKKKKKKKKKKKLLKKKKKKLLKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKLLKKLLKKLLKKLLKKLLKKKKKKKKLLKKLLKKKKLLKKKKKKKKKKKKKKLLKKKKKKLLKKKKLLKKKKKKKKKKKKKKLLKKKKKKLLLLLLKKKKKKKKKKKKKKLLKKLLKKLLKKKKKKKKLLKKKKKKKKKKKKKKKKKKKKLLKKKKKKKKKKLLKKKKKKLLKKKKKKLLKKLLKKLLKKKKKKKKKKKKKKKKLLKKKKLLLLKKKKKKKKKKKKKKKKKKKKLLKKKKKKLLKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKLLKKKKKKKKKKKKKKKKKKKKKKKKLLKKKKKKKKKKKKLLLLKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKLLLLKKKKLLKKKKKKKKKKKKKKKKKKKKKKKKLLKKKKKKKKKKKKKKLLKKKKLLLLKKKKKKKKKKKKKKKKLLKKKKKKKKKKKKKKLLLLKKKKKKKKLLKKLLKKKKKKKKKKKKKKKKLLLLKKKKKKKKKKKKLLKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKLLLLLLKKLLLLKKKKKKKKKKKKKKLLKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKLLKKKKKKKKKKKKKKKKLLKKLLLLKKKKKKKKKKLLKKKKLLKKKKKKKKKKKKKKKKKKKKLLKKKKKKLLKKLLKKLLKKKKKKLLLLKKKKKKKKKKKKKKKKKKKKKKKKLLLLKKKKKKKKKKLLLLLLKKKKLLKKKKKKKKKKKKKKLLKKLLKKKKLLKKLLKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKLLKKKKKKLLKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKLLKKLLKKKKKKKKKKKKKKLLKKKKKKKKKKKKKKKKKKKKKKKKLLKKKKLLKKLLKKKKKKLLKKKKKKLLKKKKKKKKKKLLKKKKKKLLKKLLKKKKKKLLKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKLLKKKKLLLLKKKKKKLLKKLLLLKKLLKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKLLKKKKKKKKKKKKKKKKKKKKKKKKKKLLKKKKKKLLKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKLLKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKLLLLKKKKKKKKKKLLKKKKKKKKKKKKLLKKKKLLLLLLKKKKKKLLKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKLLLLKKKKKKKKKKKKLLKKKKKKKKKKKKKKKKKKLLKKKKKKKKKKKKLLLLKKKKKKKKLLKKKKKKKKLLKKLLKKKKKKKKKKKKKKLLKKKKKKKKKKKKKKKKKKKKKKKKKKLLLLKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKLLKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKLLKKKKKKKKKKKKKKKKKKKKKKKKLLKKKKKKKKKKKKKKKKKKKKLLKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKLLKKKKKKKKKKKKKKKKKKKKKKLLKKKKKKKKKKKKKKLLKKKKKKKKKKLLKKKKKKKKKKKKKKKKKKKKKKKKKKKKLLKKKKKKKKKKLLKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKLLKKKKKKLLKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKLLKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKLLKKKKKKKKLLKKKKKKKKKKKKKKLLKKKKKKKKLLKKKKKKKKKKKKKKKKKKLLKKKKKKKKKKKKKKKKLLKKKKKKKKLLKKKKKKLLKKKKKKKKKKKKKKKKKKKKLLKKKKKKKKKKKKKKKKKKKKKKKKKKLLKKLLKKKKLLKKKKKKKKKKKKKKKKKKKKLLKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKLLKKKKKKKKLLKKKKKKKKKKKKKKKKKKKKLLKKKKKKLLKKKKKKKKKKKKKKLLKKKKKKKKKKKKKKKKLLLLKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKLLKKKKKKKKKKKKKKKKKKKKKKKKKKLLKKKKKKKKKKKKLLKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKLLKKKKKKKKKKKKKKLLKKKKKKKKKKKKKKKKKKKKKKKKKKKKLLKKKKKKKKLLKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKLLKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKLLKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKLLKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKLLKKKKKKKKLLKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKLLKKKKKKKKKKKKKKKKLLKKKKKKKKKKKKLLKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKLLLKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKLLKKKKKKKKKKKKKKLLKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKLLKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKLLKKKKKKKKKKLLKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKLLKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKLLKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKLLKKKKKKKKKKLLKKKKKKKKKKKKKKKKKKKKKKKKLLKKKKKKKKKKKKKKLLKKLLLLKKLLKKLLKKKKLLKKKKLLKKKKKKLLKKKKLLKKLLLLKKKKKKKKKKKKKKKKKKKKKKLLKKLLKKLLKKKKKKKKKKLLKKKKKKKKLLLLLLKKKKKKLLKKKKKKKKKKKKKKKKKKKKKKLLLLKKLLKKLLKKKKKKLLKKKKKKKKLLKKKKKKKKKKLLKKKKKKKKKKKKLLKKKKKKKKKKKKKKKKKKLLKKLLKKKKKKKKKKKKKKKKKKKKLLKKKKLLLLKKKKKKKKKKLLKKKKKKKKKKLLKKKKKKKKKKKKKKKKKKKKKKKKKKKKLLKKKKKKKKKKKKKKKKKKKKKKKKLLKKKKKKKKKKLLKKKKKKKKKKLLKKKKKKKKKKKKLLKKKKKKLLKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKLLKKKKLLLLKKLLKKKKKKKKKKKKKKLLKKKKKKLLKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKLLKKLLKKLLKKLLKKLLKKKKKKKKLLKKLLKKKKLLKKKKKKKKKKKKKKLLKKKKKKLLKKKKLLKKKKKKKKKKKKKKLLKKKKKKLLLLLLKKKKKKKKKKKKKKLLKKLLKKLLKKKKKKKKLLKKKKKKKKKKKKKKKKKKKKLLKKKKKKKKKKLLKKKKKKLLKKKKKKLLKKLLKKLLKKKKKKKKKKKKKKKKLLKKKKLLLLKKKKKKKKKKKKKKKKKKKKLLKKKKKKLLKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKLLKKKKKKKKKKKKKKKKKKKKKKKKLLKKKKKKKKKKKKLLLLKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKLLLLKKKKLLKKKKKKKKKKKKKKKKKKKKKKKKLLKKKKKKKKKKKKKKLLKKKKLLLLKKKKKKKKKKKKKKKKLLKKKKKKKKKKKKKKLLLLKKKKKKKKLLKKLLKKKKKKKKKKKKKKKKLLLLKKKKKKKKKKKKLLKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKLLLLLLKKLLLLKKKKKKKKKKKKKKLLKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKLLKKKKKKKKKKKKKKKKLLKKLLLLKKKKKKKKKKLLKKKKLLKKKKKKKKKKKKKKKKKKKKLLKKKKKKLLKKLLKKLLKKKKKKLLLLKKKKKKKKKKKKKKKKKKKKKKKKLLLLKKKKKKKKKKLLLLLLKKKKLLKKKKKKKKKKKKKKLLKKLLKKKKLLKKLLKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKLLKKKKKKLLKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKLLKKLLKKKKKKKKKKKKKKLLKKKKKKKKKKKKKKKKKKKKKKKKLLKKKKLLKKLLKKKKKKLLKKKKKKLLKKKKKKKKKKLLKKKKKKLLKKLLKKKKKKLLKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKLLKKKKLLLLKKKKKKLLKKLLLLKKLLKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKLLKKKKKKKKKKKKKKKKKKKKKKKKKKLLKKKKKKLLKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKLLKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKLLLLKKKKKKKKKKLLKKKKKKKKKKKKLLKKKKLLLLLLKKKKKKLLKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKLLLLKKKKKKKKKKKKLLKKKKKKKKKKKKKKKKKKLLKKKKKKKKKKKKLLLLKKKKKKKKLLKKKKKKKKLLKKLLKKKKKKKKKKKKKKLLKKKKKKKKKKKKKKKKKKKKKKKKKKLLLLKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKLLKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKLLKKKKKKKKKKKKKKKKKKKKKKKKLLKKKKKKKKKKKKKKKKKKKKLLKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKLLKKKKKKKKKKKKKKKKKKKKKKLLKKKKKKKKKKKKKKLLKKKKKKKKKKLLKKKKKKKKKKKKKKKKKKKKKKKKKKKKLLKKKKKKKKKKLLKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKLLKKKKKKLLKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKLLKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKLLKKKKKKKKLLKKKKKKKKKKKKKKLLKKKKKKKKLLKKKKKKKKKKKKKKKKKKLLKKKKKKKKKKKKKKKKLLKKKKKKKKLLKKKKKKLLKKKKKKKKKKKKKKKKKKKKLLKKKKKKKKKKKKKKKKKKKKKKKKKKLLKKLLKKKKLLKKKKKKKKKKKKKKKKKKKKLLKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKLLKKKKKKKKLLKKKKKKKKKKKKKKKKKKKKLLKKKKKKLLKKKKKKKKKKKKKKLLKKKKKKKKKKKKKKKKLLLLKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKLLKKKKKKKKKKKKKKKKKKKKKKKKKKLLKKKKKKKKKKKKLLKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKLLKKKKKKKKKKKKKKLLKKKKKKKKKKKKKKKKKKKKKKKKKKKKLLKKKKKKKKLLKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKLLKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKLLKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKLLKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKLLKKKKKKKKLLKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKLLKKKKKKKKKKKKKKKKLLKKKKKKKKKKKKLLKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKLLLLKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKLLKKKKKKKKKKKKKKLLKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKLLKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKLLKKKKKKKKKKLLKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKLLKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKLLKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKLLKKKKKKKKKKLLKKKKKKKKKKKKKKKKKKKKKKKKLLKKKKKKKKKKLLKKLLLLLLLLKKLLKKKKKKLLLLKKKKLLLLLLKKLLKKKKKKLLKKKKKKKKLLKKKKKKLLLLKKLLKKKKKKLLKKKKLLLLLLKKKKKKLLKKKKKKLLLLLLKKLLKKKKKKKKLLKKKKKKKKKKKKKKLLLLLLKKLLLLLLLLLLKKKKKKKKKKKKLLKKLLKKKKKKKKLLKKKKKKLLKKLLKKKKKKKKLLKKLLKKLLKKLLKKLLLLKKKKKKKKKKKKKKKKKKLLKKKKLLLLLLKKKKKKLLKKKKKKLLLLLLKKKKLLLLLLKKKKLLKKLLKKKKLLKKLLLLKKKKKKKKKKKKKKLLKKKKKKKKKKLLKKKKLLKKLLKKKKLLLLKKKKLLKKKKLLKKKKKKKKKKLLLLKKLLKKLLLLKKLLLLLLLLKKKKKKKKLLKKLLKKLLKKKKKKKKKKKKLLLLKKLLLLKKKKLLKKKKKKKKKKKKKKLLLLKKKKLLKKKKKKKKKKKKLLKKKKKKLLLLKKKKLLKKLLKKKKKKLLKKLLKKKKKKKKKKLLKKKKLLLLLLLLKKKKLLKKKKKKLLLLLLLLKKKKLLKKLLLLLLKKKKKKKKLLKKKKLLKKKKKKKKLLLLLLLLLLKKKKKKLLLLKKLLLLKKKKKKKKLLKKKKLLKKLLLLKKKKLLKKKKLLLLKKLLKKKKKKKKKKKKKKKKKKKKLLKKKKKKKKLLKKKKLLKKLLKKKKKKKKLLKKKKLLLLKKLLKKKKKKLLKKLLKKLLKKKKKKKKKKKKKKKKKKKKKKKKLLKKKKKKLLLLKKLLKKKKKKLLKKKKKKLLKKKKKKKKLLLLLLKKKKKKKKLLLLKKKKKKLLKKLLKKKKKKKKLLKKLLKKKKLLLLKKKKKKKKKKLLKKKKKKLLKKKKKKKKKKKKKKLLKKLLKKKKKKKKKKLLLLKKKKLLLLKKLLKKLLLLLLKKKKKKKKLLLLLLKKLLKKKKLLKKKKKKLLLLKKLLKKKKLLKKKKLLKKLLLLLLLLKKKKLLKKKKKKLLKKLLLLLLKKKKKKKKLLKKKKKKLLKKLLKKLLLLLLLLLLKKLLLLLLKKKKKKKKLLKKKKKKLLKKLLLLLLLLKKKKKKKKLLKKLLLLLLKKKKLLLLKKLLKKLLLLKKKKKKKKLLKKKKLLKKKKLLLLLLLLKKKKKKKKLLLLLLLLKKKKKKKKKKLLLLKKKKKKLLKKKKLLKKKKKKLLKKKKKKKKLLLLKKLLKKKKKKKKKKKKKKKKKKKKLLLLKKKKKKKKKKKKKKKKKKKKKKLLLLLLKKKKKKKKKKKKKKLLLLLLKKKKKKKKLLKKKKKKKKKKLLKKLLLLLLKKKKKKKKKKLLKKKKKKKKKKLLKKLLKKKKKKKKLLKKKKLLKKKKLLKKLLKKKKKKKKKKKKKKKKKKKKKKKKLLKKLLKKKKKKLLLLKKKKKKKKLLKKKKKKLLKKLLKKLLKKKKLLKKKKKKKKLLKKKKKKKKKKLLKKKKLLKKKKLLLLKKKKKKKKKKLLLLKKKKLLLLKKLLLLKKLLKKLLKKKKKKKKKKKKKKKKKKKKLLKKKKKKLLKKLLKKKKKKKKLLLLLLLLKKKKLLKKKKLLKKLLLLKKLLKKLLKKKKKKKKLLKKLLKKKKLLLLKKKKKKKKKKKKLLKKKKLLKKKKKKLLKKKKLLLLLLLLLLKKKKKKKKKKKKKKKKKKLLKKLLKKKKKKLLKKKKKKKKKKLLKKKKKKKKKKKKLLKKKKKKLLKKKKLLKKKKLLKKKKKKKKKKKKKKKKLLLLKKKKKKKKKKKKLLLLKKKKKKKKKKKKKKKKKKLLKKKKKKKKKKLLKKLLKKKKKKKKKKLLKKLLLLKKKKLLLLKKKKLLKKLLKKLLKKKKKKKKLLKKKKKKKKKKLLKKKKKKKKKKKKLLKKKKLLKKKKLLLLKKKKKKKKKKLLKKKKKKLLLLKKKKKKLLLLKKKKLLKKKKKKKKKKLLKKLLKKLLLLLLKKKKLLKKKKKKKKKKKKKKKKKKLLKKKKLLKKKKLLLLKKKKLLKKLLLLKKKKKKLLLLKKLLLLKKKKLLKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKLLKKLLLLKKLLLLKKKKKKKKLLKKLLKKKKKKLLKKLLKKKKKKKKKKLLLLKKLLKKKKKKKKKKKKKKLLKKKKKKKKKKKKKKKKKKLLKKKKKKKKKKLLKKLLKKKKKKLLKKLLKKKKKKKKKKLLKKKKLLLLKKLLKKKKKKKKLLKKLLKKKKKKKKKKKKLLLLKKKKLLKKKKKKKKKKKKLLLLKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKLLLLLLKKLLKKKKKKKKKKKKKKKKKKKKLLKKKKKKKKKKKKKKKKKKKKKKKKLLLLKKKKKKKKKKKKKKKKLLKKKKKKKKKKKKKKLLLLKKKKKKKKLLKKLLKKKKLLKKKKKKKKKKKKLLKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKLLKKLLKKLLLLKKKKLLKKKKKKKKLLKKKKLLKKKKKKKKKKKKKKKKKKKKKKLLKKKKKKKKKKKKKKKKLLKKKKKKKKKKKKKKLLLLKKLLLLLLKKKKKKKKLLKKKKLLLLKKKKKKKKKKLLKKKKKKKKLLKKKKKKKKLLKKLLKKKKKKLLKKKKKKKKKKKKKKKKKKKKKKKKKKKKLLKKKKKKKKKKKKLLLLKKKKLLKKLLKKKKKKKKKKKKLLKKKKKKLLKKLLKKLLKKKKKKKKKKKKLLKKKKKKKKLLKKKKKKKKLLKKKKLLKKKKKKLLKKKKKKKKKKKKLLKKKKKKKKKKKKKKKKLLKKKKLLKKKKKKKKKKKKKKLLKKKKKKKKKKKKKKKKKKKKLLKKLLKKKKLLKKLLLLKKKKLLKKKKKKLLLLKKKKLLKKLLKKKKKKLLKKLLLLKKKKLLKKKKLLKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKLLKKKKKKKKKKKKKKLLKKKKKKLLKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKLLKKKKKKKKKKLLKKLLKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKLLKKKKKKKKKKKKKKKKKKLLLLKKKKKKKKLLKKKKKKLLKKLLLLKKLLLLKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKLLLLLLLLKKKKKKLLKKKKKKKKKKKKLLKKKKKKKKKKKKKKKKKKLLKKKKKKKKKKKKKKKKKKLLKKKKLLKKKKLLKKKKKKKKKKKKKKKKKKKKLLKKKKKKKKKKKKKKKKKKLLKKKKKKKKKKKKKKKKKKLLKKKKKKKKKKLLKKKKKKKKKKLLLLKKKKKKKKKKLLKKKKKKKKKKKKLLKKKKLLKKKKLLKKLLLLKKLLKKKKKKKKKKKKLLKKKKLLLLKKKKKKKKLLKKKKKKLLKKKKKKKKKKKKKKKKKKKKKKLLKKLLKKKKKKKKKKKKKKKKKKLLKKLLKKKKKKKKLLKKKKLLKKKKKKKKKKKKKKKKKKKKKKKKKKKKLLKKKKKKKKKKKKLLKKLLKKKKKKKKKKKKLLLLKKKKKKKKLLLLLLKKKKKKLLKKKKKKKKKKKKKKKKKKKKKKLLLLKKKKKKKKKKKKKKLLKKKKKKKKLLKKKKKKKKKKKKKKKKKKKKKKKKLLKKLLKKKKKKKKKKKKKKKKLLKKKKKKLLKKLLKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKLLKKKKKKKKKKKKKKKKKKKKKKKKLLLLLLKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKLLKKKKKKKKKKLLKKKKKKKKLLLLKKLLLLKKLLLLKKKKKKKKKKKKKKLLKKKKLLKKLLLLLLLLKKLLKKKKKKLLLLKKKKLLLLLLKKLLKKKKKKLLKKKKKKKKLLKKKKKKLLLLKKLLKKKKKKLLKKKKLLLLLLKKKKKKLLKKKKKKLLLLLLKKLLKKKKKKKKLLKKKKKKKKKKKKKKLLLLLLKKLLLLLLLLLLKKKKKKKKKKKKLLKKLLKKKKKKKKLLKKKKKKLLKKLLKKKKKKKKLLKKLLKKLLKKLLKKLLLLKKKKKKKKKKKKKKKKKKLLKKKKLLLLLLKKKKKKLLKKKKKKLLLLLLKKKKLLLLLLKKKKLLKKLLKKKKLLKKLLLLKKKKKKKKKKKKKKLLKKKKKKKKKKLLKKKKLLKKLLKKKKLLLLKKKKLLKKKKLLKKKKKKKKKKLLLLKKLLKKLLLLKKLLLLLLLLKKKKKKKKLLKKLLKKLLKKKKKKKKKKKKLLLLKKLLLLKKKKLLKKKKKKKKKKKKKKLLLLKKKKLLKKKKKKKKKKKKLLKKKKKKLLLLKKKKLLKKLLKKKKKKLLKKLLKKKKKKKKKKLLKKKKLLLLLLLLKKKKLLKKKKKKLLLLLLLLKKKKLLKKLLLLLLKKKKKKKKLLKKKKLLKKKKKKKKLLLLLLLLLLKKKKKKLLLLKKLLLLKKKKKKKKLLKKKKLLKKLLLLKKKKLLKKKKLLLLKKLLKKKKKKKKKKKKKKKKKKKKLLKKKKKKKKLLKKKKLLKKLLKKKKKKKKLLKKKKLLLLKKLLKKKKKKLLKKLLKKLLKKKKKKKKKKKKKKKKKKKKKKKKLLKKKKKKLLLLKKLLKKKKKKLLKKKKKKLLKKKKKKKKLLLLLLKKKKKKKKLLLLKKKKKKLLKKLLKKKKKKKKLLKKLLKKKKLLLLKKKKKKKKKKLLKKKKKKLLKKKKKKKKKKKKKKLLKKLLKKKKKKKKKKLLLLKKKKLLLLKKLLKKLLLLLLKKKKKKKKLLLLLLKKLLKKKKLLKKKKKKLLLLKKLLKKKKLLKKKKLLKKLLLLLLLLKKKKLLKKKKKKLLKKLLLLLLKKKKKKKKLLKKKKKKLLKKLLKKLLLLLLLLLLKKLLLLLLKKKKKKKKLLKKKKKKLLKKLLLLLLLLKKKKKKKKLLKKLLLLLLKKKKLLLLKKLLKKLLLLKKKKKKKKLLKKKKLLKKKKLLLLLLLLKKKKKKKKLLLLLLLLKKKKKKKKKKLLLLKKKKKKLLKKKKLLKKKKKKLLKKKKKKKKLLLLKKLLKKKKKKKKKKKKKKKKKKKKLLLLKKKKKKKKKKKKKKKKKKKKKKLLLLLLKKKKKKKKKKKKKKLLLLLLKKKKKKKKLLKKKKKKKKKKLLKKLLLLLLKKKKKKKKKKLLKKKKKKKKKKLLKKLLKKKKKKKKLLKKKKLLKKKKLLKKLLKKKKKKKKKKKKKKKKKKKKKKKKLLKKLLKKKKKKLLLLKKKKKKKKLLKKKKKKLLKKLLKKLLKKKKLLKKKKKKKKLLKKKKKKKKKKLLKKKKLLKKKKLLLLKKKKKKKKKKLLLLKKKKLLLLKKLLLLKKLLKKLLKKKKKKKKKKKKKKKKKKKKLLKKKKKKLLKKLLKKKKKKKKLLLLLLLLKKKKLLKKKKLLKKLLLLKKLLKKLLKKKKKKKKLLKKLLKKKKLLLLKKKKKKKKKKKKLLKKKKLLKKKKKKLLKKKKLLLLLLLLLLKKKKKKKKKKKKKKKKKKLLKKLLKKKKKKLLKKKKKKKKKKLLKKKKKKKKKKKKLLKKKKKKLLKKKKLLKKKKLLKKKKKKKKKKKKKKKKLLLLKKKKKKKKKKKKLLLLKKKKKKKKKKKKKKKKKKLLKKKKKKKKKKLLKKLLKKKKKKKKKKLLKKLLLLKKKKLLLLKKKKLLKKLLKKLLKKKKKKKKLLKKKKKKKKKKLLKKKKKKKKKKKKLLKKKKLLKKKKLLLLKKKKKKKKKKLLKKKKKKLLLLKKKKKKLLLLKKKKLLKKKKKKKKKKLLKKLLKKLLLLLLKKKKLLKKKKKKKKKKKKKKKKKKLLKKKKLLKKKKLLLLKKKKLLKKLLLLKKKKKKLLLLKKLLLLKKKKLLKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKLLKKLLLLKKLLLLKKKKKKKKLLKKLLKKKKKKLLKKLLKKKKKKKKKKLLLLKKLLKKKKKKKKKKKKKKLLKKKKKKKKKKKKKKKKKKLLKKKKKKKKKKLLKKLLKKKKKKLLKKLLKKKKKKKKKKLLKKKKLLLLKKLLKKKKKKKKLLKKLLKKKKKKKKKKKKLLLLKKKKLLKKKKKKKKKKKKLLLLKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKLLLLLLKKLLKKKKKKKKKKKKKKKKKKKKLLKKKKKKKKKKKKKKKKKKKKKKKKLLLLKKKKKKKKKKKKKKKKLLKKKKKKKKKKKKKKLLLLKKKKKKKKLLKKLLKKKKLLKKKKKKKKKKKKLLKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKLLKKLLKKLLLLKKKKLLKKKKKKKKLLKKKKLLKKKKKKKKKKKKKKKKKKKKKKLLKKKKKKKKKKKKKKKKLLKKKKKKKKKKKKKKLLLLKKLLLLLLKKKKKKKKLLKKKKLLLLKKKKKKKKKKLLKKKKKKKKLLKKKKKKKKLLKKLLKKKKKKLLKKKKKKKKKKKKKKKKKKKKKKKKKKKKLLKKKKKKKKKKKKLLLLKKKKLLKKLLKKKKKKKKKKKKLLKKKKKKLLKKLLKKLLKKKKKKKKKKKKLLKKKKKKKKLLKKKKKKKKLLKKKKLLKKKKKKLLKKKKKKKKKKKKLLKKKKKKKKKKKKKKKKLLKKKKLLKKKKKKKKKKKKKKLLKKKKKKKKKKKKKKKKKKKKLLKKLLKKKKLLKKLLLLKKKKLLKKKKKKLLLLKKKKLLKKLLKKKKKKLLKKLLLLKKKKLLKKKKLLKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKLLKKKKKKKKKKKKKKLLKKKKKKLLKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKLLKKKKKKKKKKLLKKLLKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKLLKKKKKKKKKKKKKKKKKKLLLLKKKKKKKKLLKKKKKKLLKKLLLLKKLLLLKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKLLLLLLLLKKKKKKLLKKKKKKKKKKKKLLKKKKKKKKKKKKKKKKKKLLKKKKKKKKKKKKKKKKKKLLKKKKLLKKKKLLKKKKKKKKKKKKKKKKKKKKLLKKKKKKKKKKKKKKKKKKLLKKKKKKKKKKKKKKKKKKLLKKKKKKKKKKLLKKKKKKKKKKLLLLKKKKKKKKKKLLKKKKKKKKKKKKLLKKKKLLKKKKLLKKLLLLKKLLKKKKKKKKKKKKLLKKKKLLLLKKKKKKKKLLKKKKKKLLKKKKKKKKKKKKKKKKKKKKKKLLKKLLKKKKKKKKKKKKKKKKKKLLKKLLKKKKKKKKLLKKKKLLKKKKKKKKKKKKKKKKKKKKKKKKKKKKLLKKKKKKKKKKKKLLKKLLKKKKKKKKKKKKLLLLKKKKKKKKLLLLLLKKKKKKLLKKKKKKKKKKKKKKKKKKKKKKLLLLKKKKKKKKKKKKKKLLKKKKKKKKLLKKKKKKKKKKKKKKKKKKKKKKKKLLKKLLKKKKKKKKKKKKKKKKLLKKKKKKLLKKLLKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKLLKKKKKKKKKKKKKKKKKKKKKKKKLLLLLLKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKLLKKKKKKKKKKLLKKKKKKKKLLLLKKLLLLKKLLLLKKKKKKKKKKKKKKLLKKLLKKLLLLLLLLLLKKLLLLLLLLLLLLLLLLLLLLLLLLLLKKLLKKLLKKKKLLLLLLKKLLLLLLLLKKLLLLLLLLKKKKLLKKLLLLLLLLLLLLLLLLKKLLLLKKLLKKLLKKKKLLLLLLKKLLLLLLKKLLKKLLLLKKLLKKLLKKKKKKLLKKLLLLKKKKKKLLLLKKLLLLLLKKKKKKLLLLLLKKKKLLKKLLLLKKKKLLKKLLLLKKLLKKLLLLLLLLKKKKKKLLLLLLKKLLLLLLLLLLLLKKKKKKKKLLKKLLKKKKKKLLKKKKLLLLLLKKKKLLKKLLLLLLKKKKLLKKKKLLKKLLLLKKLLLLLLKKKKLLKKLLKKKKKKLLKKKKLLKKLLLLKKKKLLKKKKKKKKLLLLLLLLLLKKLLLLKKKKKKLLLLLLLLLLKKLLKKLLKKKKLLKKLLKKKKKKKKLLKKKKLLLLLLKKKKLLLLKKLLKKLLKKLLLLLLLLLLLLKKKKLLKKKKLLLLLLLLLLKKLLLLLLKKKKKKKKLLKKKKLLKKLLKKKKKKLLLLKKLLLLLLLLKKLLLLKKLLKKLLLLLLKKKKKKKKLLLLLLLLLLKKLLKKLLKKLLKKKKKKKKLLLLKKKKLLLLKKKKLLLLKKKKKKKKKKLLLLLLKKKKKKLLLLKKLLLLLLLLKKKKLLKKKKLLKKKKKKKKLLLLKKLLLLKKLLLLLLLLKKKKKKKKLLLLLLLLLLLLLLLLKKKKLLLLLLKKKKKKKKLLLLLLLLLLLLLLLLKKLLLLLLLLLLLLLLLLKKKKLLLLKKKKLLKKKKLLKKKKKKKKLLLLLLLLKKLLKKKKLLKKKKKKLLLLLLLLKKLLLLLLKKLLLLLLKKKKLLKKLLKKLLLLKKKKKKKKKKKKKKLLKKKKLLLLLLLLLLKKKKLLLLLLLLLLLLLLLLLLLLLLLLLLLLKKLLKKKKLLLLLLLLLLLLKKKKLLKKLLKKLLKKLLKKLLLLKKKKKKLLLLLLLLLLLLLLKKLLLLLLKKKKLLLLKKLLLLLLLLLLKKKKKKKKKKKKLLLLLLLLLLKKKKKKLLLLKKLLKKKKKKLLLLKKKKLLLLLLLLLLLLKKLLKKKKKKLLLLLLKKLLLLLLKKLLKKKKKKLLLLKKLLKKLLLLKKKKLLLLKKLLKKKKKKLLKKKKLLLLLLKKKKKKLLKKKKKKLLLLLLKKLLLLKKKKKKLLLLKKKKLLKKKKKKLLLLLLKKLLLLLLLLLLLLKKKKKKKKLLLLKKLLKKKKKKKKLLKKKKLLLLKKLLKKKKKKKKLLKKLLKKLLKKKKLLLLLLKKKKKKKKKKKKKKLLKKLLKKKKLLLLLLKKKKKKLLKKKKKKLLLLLLKKKKLLLLLLKKKKLLKKLLLLKKLLLLLLLLKKKKKKKKKKKKKKLLKKKKKKKKLLLLKKKKLLKKLLKKKKLLLLKKKKLLKKKKLLKKKKKKKKKKLLLLKKLLKKLLLLKKLLLLLLKKKKKKLLLLKKKKLLKKKKLLKKLLLLLLLLLLLLKKKKKKLLLLKKKKKKKKLLLLLLKKKKKKKKLLKKKKLLLLKKLLKKKKKKKKLLKKKKKKLLLLKKLLLLKKKKKKLLLLKKLLKKLLKKKKKKKKKKLLLLLLLLKKLLKKLLKKKKLLKKKKLLKKLLKKLLKKLLLLLLKKLLLLKKLLKKLLKKKKKKKKLLKKLLLLLLKKKKLLLLKKLLLLKKLLKKKKLLKKLLLLKKKKLLLLLLKKKKKKKKKKKKKKKKKKKKKKLLKKKKLLKKKKKKLLKKLLLLKKKKLLLLKKKKKKLLLLKKLLKKLLLLKKLLLLLLLLKKKKLLLLKKLLKKKKLLKKKKKKLLLLLLKKLLKKKKKKLLLLKKLLKKKKKKLLLLKKLLKKKKLLKKLLLLKKLLKKLLKKLLLLKKKKKKLLKKKKKKLLKKLLKKKKKKKKLLLLKKLLLLLLKKLLLLKKLLKKLLKKKKKKLLLLKKKKKKKKLLLLKKLLLLKKKKKKLLKKKKKKKKLLKKKKKKLLKKKKLLLLLLKKLLLLLLKKKKKKKKLLLLLLKKKKLLLLLLLLKKKKKKLLKKLLKKKKKKKKLLKKKKKKLLLLKKKKKKKKLLKKKKKKKKKKLLKKKKLLKKKKKKKKLLKKKKLLKKKKLLKKKKKKKKKKLLKKKKLLKKKKLLKKKKKKKKLLKKLLKKKKLLLLKKLLLLLLKKKKLLKKKKLLLLKKKKKKLLKKKKLLLLKKKKKKKKKKLLKKKKKKLLLLLLLLKKKKKKLLKKKKKKLLKKKKLLKKKKKKLLKKKKKKKKLLLLKKKKKKLLKKKKKKKKKKLLLLLLLLKKKKLLLLKKKKKKKKLLLLKKLLKKLLKKKKKKKKKKKKKKLLKKLLKKKKKKKKKKLLLLKKKKLLLLKKLLKKLLLLLLKKKKKKKKLLLLLLKKLLKKKKLLKKKKKKLLLLKKLLKKKKLLKKKKLLLLLLKKLLLLKKKKLLKKKKKKLLKKKKLLLLKKKKKKKKLLKKLLKKLLKKLLKKLLLLLLLLLLKKKKKKLLKKLLKKKKLLKKKKKKLLLLLLLLLLLLKKLLKKKKLLKKLLLLLLKKKKLLLLKKLLLLLLLLKKKKLLLLLLKKKKLLKKKKLLLLLLLLKKLLKKKKLLLLLLLLKKLLKKKKLLLLKKKKKKKKLLKKKKLLKKKKKKLLKKKKKKKKLLKKKKLLKKLLKKKKKKLLKKKKKKKKLLKKKKKKKKKKLLKKKKLLKKKKKKLLLLLLKKKKKKKKKKKKKKLLKKKKKKKKKKLLLLKKKKKKKKKKLLKKLLLLLLKKKKKKKKKKLLKKKKKKKKKKKKKKLLKKKKKKKKLLKKKKKKKKKKLLKKLLKKKKKKKKKKKKKKKKKKKKKKLLKKKKLLKKKKKKLLLLLLKKKKKKLLKKKKKKLLKKLLKKKKKKKKLLKKKKLLKKLLKKLLKKKKKKLLKKKKKKKKLLLLLLLLLLLLLLLLKKKKKKKKLLKKKKKKKKKKLLKKLLLLLLKKKKKKKKKKLLKKKKKKKKKKLLKKLLKKKKKKKKLLKKKKLLKKKKLLKKKKKKKKKKKKKKKKKKKKKKKKKKLLLLKKLLKKKKKKLLLLLLKKKKKKLLKKKKKKLLKKLLLLLLKKKKKKKKKKLLKKLLKKLLKKKKKKLLKKKKKKKKLLLLLLLLKKLLLLLLKKKKLLLLKKKKLLLLKKKKKKLLKKKKKKLLKKKKLLKKKKKKKKLLKKLLKKKKLLKKKKLLKKKKKKLLLLLLLLKKLLKKLLKKLLLLKKKKKKLLKKLLKKLLLLKKKKKKKKKKKKKKLLKKKKLLLLLLKKLLKKKKKKKKKKLLLLKKKKLLKKLLLLLLKKKKKKLLKKKKKKLLLLLLLLLLKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKLLKKLLKKKKLLLLKKKKKKLLKKLLLLLLKKLLKKKKKKKKKKKKLLKKKKKKKKKKKKKKKKKKKKKKKKKKKKLLKKKKKKKKKKKKKKLLKKKKLLKKKKKKLLKKKKKKLLKKLLKKLLKKKKKKLLKKKKKKKKLLKKKKKKKKLLKKKKKKKKKKLLKKKKKKLLLLKKKKKKLLKKKKKKKKLLKKKKKKKKKKKKKKLLLLKKKKKKKKKKKKKKLLKKKKKKLLLLKKLLKKKKKKKKKKKKLLKKKKKKKKKKKKLLKKKKKKKKKKLLKKKKKKKKLLKKLLKKLLKKLLLLLLLLKKKKLLKKLLKKKKKKLLLLKKLLLLLLLLLLLLLLKKLLKKLLKKKKKKLLKKLLKKKKKKKKKKKKKKKKLLKKKKLLKKKKKKLLLLKKKKKKLLKKKKKKKKKKLLLLKKKKKKKKLLLLLLKKKKKKLLKKLLKKKKKKKKKKLLKKKKLLLLKKLLKKLLLLLLLLLLKKLLLLLLLLLLLLLLLLLLLLLLLLLLKKLLKKLLKKKKLLLLLLKKLLLLLLLLKKLLLLLLLLKKKKLLKKLLLLLLLLLLLLLLLLKKLLLLKKLLKKLLKKKKLLLLLLKKLLLLLLKKLLKKLLLLKKLLKKLLKKKKKKLLKKLLLLKKKKKKLLLLKKLLLLLLKKKKKKLLLLLLKKKKLLKKLLLLKKKKLLKKLLLLKKLLKKLLLLLLLLKKKKKKLLLLLLKKLLLLLLLLLLLLKKKKKKKKLLKKLLKKKKKKLLKKKKLLLLLLKKKKLLKKLLLLLLKKKKLLKKKKLLKKLLLLKKLLLLLLKKKKLLKKLLKKKKKKLLKKKKLLKKLLLLKKKKLLKKKKKKKKLLLLLLLLLLKKLLLLKKKKKKLLLLLLLLLLKKLLKKLLKKKKLLKKLLKKKKKKKKLLKKKKLLLLLLKKKKLLLLKKLLKKLLKKLLLLLLLLLLLLKKKKLLKKKKLLLLLLLLLLKKLLLLLLKKKKKKKKLLKKKKLLKKLLKKKKKKLLLLKKLLLLLLLLKKLLLLKKLLKKLLLLLLKKKKKKKKLLLLLLLLLLKKLLKKLLKKLLKKKKKKKKLLLLKKKKLLLLKKKKLLLLKKKKKKKKKKLLLLLLKKKKKKLLLLKKLLLLLLLLKKKKLLKKKKLLKKKKKKKKLLLLKKLLLLKKLLLLLLLLKKKKKKKKLLLLLLLLLLLLLLLLKKKKLLLLLLKKKKKKKKLLLLLLLLLLLLLLLLKKLLLLLLLLLLLLLLLLKKKKLLLLKKKKLLKKKKLLKKKKKKKKLLLLLLLLKKLLKKKKLLKKKKKKLLLLLLLLKKLLLLLLKKLLLLLLKKKKLLKKLLKKLLLLKKKKKKKKKKKKKKLLKKKKLLLLLLLLLLKKKKLLLLLLLLLLLLLLLLLLLLLLLLLLLLKKLLKKKKLLLLLLLLLLLLKKKKLLKKLLKKLLKKLLKKLLLLKKKKKKLLLLLLLLLLLLLLKKLLLLLLKKKKLLLLKKLLLLLLLLLLKKKKKKKKKKKKLLLLLLLLLLKKKKKKLLLLKKLLKKKKKKLLLLKKKKLLLLLLLLLLLLKKLLKKKKKKLLLLLLKKLLLLLLKKLLKKKKKKLLLLKKLLKKLLLLKKKKLLLLKKLLKKKKKKLLKKKKLLLLLLKKKKKKLLKKKKKKLLLLLLKKLLLLKKKKKKLLLLKKKKLLKKKKKKLLLLLLKKLLLLLLLLLLLLKKKKKKKKLLLLKKLLKKKKKKKKLLKKKKLLLLKKLLKKKKKKKKLLKKLLKKLLKKKKLLLLLLKKKKKKKKKKKKKKLLKKLLKKKKLLLLLLKKKKKKLLKKKKKKLLLLLLKKKKLLLLLLKKKKLLKKLLLLKKLLLLLLLLKKKKKKKKKKKKKKLLKKKKKKKKLLLLKKKKLLKKLLKKKKLLLLKKKKLLKKKKLLKKKKKKKKKKLLLLKKLLKKLLLLKKLLLLLLKKKKKKLLLLKKKKLLKKKKLLKKLLLLLLLLLLLLKKKKKKLLLLKKKKKKKKLLLLLLKKKKKKKKLLKKKKLLLLKKLLKKKKKKKKLLKKKKKKLLLLKKLLLLKKKKKKLLLLKKLLKKLLKKKKKKKKKKLLLLLLLLKKLLKKLLKKKKLLKKKKLLKKLLKKLLKKLLLLLLKKLLLLKKLLKKLLKKKKKKKKLLKKLLLLLLKKKKLLLLKKLLLLKKLLKKKKLLKKLLLLKKKKLLLLLLKKKKKKKKKKKKKKKKKKKKKKLLKKKKLLKKKKKKLLKKLLLLKKKKLLLLKKKKKKLLLLKKLLKKLLLLKKLLLLLLLLKKKKLLLLKKLLKKKKLLKKLLKKLLLLLLKKLLKKKKKKLLLLKKLLKKKKKKLLLLKKLLKKKKLLKKLLLLKKLLKKLLKKLLLLKKKKKKLLKKKKKKLLKKLLKKKKKKKKLLLLKKLLLLLLKKLLLLKKLLKKLLKKKKKKLLLLKKKKKKKKLLLLKKLLLLKKKKKKLLKKKKKKKKLLKKKKKKLLKKKKLLLLLLKKLLLLLLKKKKKKKKLLLLLLKKKKLLLLLLLLKKKKKKLLKKLLKKKKKLKKLLKKKKKKLLLLKKKKKKKKLLKKKKKKKKKKLLKKKKLLKKKKKKKKLLKKKKLLKKKKLLKKKKKKKKKKLLKKKKLLKKKKLLKKKKKKKKLLKKLLKKKKLLLLKKLLLLLLKKKKLLKKKKLLLLKKKKKKLLKKKKLLLLKKKKKKKKKKLLKKKKKKLLLLLLLLKKKKKKLLKKKKKKLLKKKKLLKKKKKKLLKKKKKKKKLLLLKKKKKKLLKKKKKKKKKKLLLLLLLLKKKKLLLLKKKKKKKKLLLLKKLLKKLLKKKKKKKKKKKKKKLLKKLLKKKKKKKKKKLLLLKKKKLLLLKKLLKKLLLLLLKKKKKKKKLLLLLLKKLLKKKKLLKKKKKKLLLLKKLLKKKKLLKKKKLLLLLLKKLLLLKKKKLLKKKKKKLLKKKKLLLLKKKKKKKKLLKKLLKKLLKKLLKKLLLLLLLLLLKKKKKKLLKKLLKKKKLLKKKKKKLLLLLLLLLLLLKKLLKKKKLLKKLLLLLLKKKKLLLLKKLLLLLLLLKKKKLLLLLLKKKKLLKKKKLLLLLLLLKKLLKKKKLLLLLLLLKKLLKKKKLLLLKKKKKKKKLLKKKKLLKKKKKKLLKKKKKKKKLLKKKKLLKKLLKKKKKKLLKKKKKKKKLLKKKKKKKKKKLLKKKKLLKKKKKKLLLLLLKKKKKKKKKKKKKKLLKKKKKKKKKKLLLLKKKKKKKKKKLLKKLLLLLLKKKKKKKKKKLLKKKKKKKKKKKKKKLLKKKKKKKKLLKKKKKKKKKKLLKKLLKKKKKKKKKKKKKKKKKKKKKKLLKKKKLLKKKKKKLLLLLLKKKKKKLLKKKKKKLLKKLLKKKKKKKKLLKKKKLLKKLLKKLLKKKKKKLLKKKKKKKKLLLLLLLLLLLLLLLLKKKKKKKKLLKKKKKKKKKKLLKKLLLLLLKKKKKKKKKKLLKKKKKKKKKKLLKKLLKKKKKKKKLLKKKKLLKKKKLLKKKKKKKKKKKKKKKKKKKKKKKKKKLLLLKKLLKKKKKKLLLLLLKKKKKKLLKKKKKKLLKKLLLLLLKKKKKKKKKKLLKKLLKKLLKKKKKKLLKKKKKKKKLLLLLLLLKKLLLLLLKKKKLLLLKKKKLLLLKKKKKKLLKKKKKKLLKKKKLLKKKKKKKKLLKKLLKKKKLLKKKKLLKKKKKKLLLLLLLLKKLLKKLLKKLLLLKKKKKKLLKKLLKKLLLLKKKKKKKKKKKKKKLLKKKKLLLLLLKKLLKKKKKKKKKKLLLLKKKKLLKKLLLLLLKKKKKKLLKKKKKKLLLLLLLLLLKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKLLKKLLKKKKLLLLKKKKKKLLKKLLLLLLKKLLKKKKKKKKKKKKLLKKKKKKKKKKKKKKKKKKKKKKKKKKKKLLKKKKKKKKKKKKKKLLKKKKLLKKKKKKLLKKKKKKLLKKLLKKLLKKKKKKLLKKKKKKKKLLKKKKKKKKLLKKKKKKKKKKLLKKKKKKLLLLKKKKKKLLKKKKKKKKLLKKKKKKKKKKKKKKLLLLKKKKKKKKKKKKKKLLKKKKKKLLLLKKLLKKKKKKKKKKKKLLKKKKKKKKKKKKLLKKKKKKKKKKLLKKKKKKKKLLKKLLKKLLKKLLLLLLLLKKKKLLKKLLKKKKKKLLLLKKLLLLLLLLLLLLLLKKLLKKLLKKKKKKLLKKLLKKKKKKKKKKKKKKKKLLKKKKLLKKKKKKLLLLKKKKKKLLKKKKKKKKKKLLLLKKKKKKKKLLLLLLKKKKKKLLKKLLKKKKKKKKKKLLKKKKLLLLKKLLLLLLLLLLLLLLLLLLLLLLLLLLKKKKLLLLLLLLLLLLLLKKLLLLLLLLLLLLLLLLLLLLLLLLLLKKLLKKLLLLKKLLLLKKLLLLLLLLLLLLKKLLKKKKLLLLKKLLLLKKLLLLLLLLLLLLLLLLLLKKLLKKKKLLLLKKLLKKLLLLLLLLLLKKLLLLLLKKLLLLKKKKLLLLKKLLLLLLLLLLLLLLLLKKKKLLLLLLLLKKLLLLKKLLKKLLLLKKLLKKLLLLLLLLKKKKLLKKKKKKLLKKLLLLKKLLKKLLLLLLLLKKKKLLLLLLLLLLLLLLKKLLLLLLLLKKLLLLKKKKLLKKKKLLLLKKLLLLKKLLKKLLLLLLLLLLLLLLLLKKKKLLKKKKLLLLKKLLLLLLLLKKLLLLKKLLKKLLLLLLLLKKLLKKLLLLKKLLLLLLLLKKKKLLLLLLLLLLLLLLLLLLLLKKLLKKLLLLLLLLKKLLLLLLLLLLKKLLLLLLLLLLLLLLKKLLLLLLLLLLLLKKKKLLLLLLLLLLKKKKLLLLLLKKLLKKLLKKLLLLKKLLLLKKKKLLLLLLKKKKLLLLLLKKLLLLLLLLLLKKKKLLKKLLLLLLLLLLKKLLLLLLLLKKKKKKKKLLKKKKLLLLLLLLLLLLKKLLLLLLLLLLKKKKLLLLLLKKLLLLLLLLLLKKLLKKLLKKKKKKLLLLLLLLLLLLKKLLLLLLLLLLLLLLLLLLLLKKLLLLKKLLLLLLKKLLKKLLKKLLKKLLKKLLLLLLLLKKLLLLLLLLLLLLLLKKLLLLLLLLLLKKLLKKKKLLLLKKKKLLKKLLKKLLKKLLLLKKKKKKLLLLLLKKLLLLLLLLKKLLLLLLLLLLKKLLLLKKLLKKKKLLLLLLLLLLLLLLKKLLLLLLLLLLLLLLKKLLKKLLLLLLKKLLLLKKLLLLLLLLLLKKLLKKLLLLLLLLLLLLLLLLLLLLKKLLLLLLKKKKKKLLLLLLLLLLLLLLKKLLLLLLLLLLLLKKLLLLLLKKLLLLLLKKKKLLKKLLKKLLKKKKLLKKKKLLKKLLLLKKLLKKLLKKLLLLLLLLLLKKLLLLLLLLKKLLLLLLLLLLKKLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLKKLLKKLLLLLLLLKKLLLLLLLLKKLLLLLLLLKKKKLLKKLLLLLLLLLLLLLLLLKKLLLLKKLLKKLLKKLLLLLLLLKKLLLLLLKKLLKKLLLLKKLLKKLLKKKKKKLLKKLLLLKKLLKKLLLLKKLLLLLLKKKKKKLLLLLLKKKKLLLLLLLLKKKKLLKKLLLLLLLLKKLLLLLLLLKKKKKKLLLLLLKKLLLLLLLLLLLLKKKKKKKKLLKKLLKKKKKKLLLLKKLLLLLLKKKKLLKKLLLLLLKKKKLLKKKKLLKKLLLLKKLLLLLLKKLLLLKKLLKKKKKKLLKKKKLLKKLLLLKKKKLLKKKKKKKKLLLLLLLLLLKKLLLLLLLLKKLLLLLLLLLLLLKKLLLLLLLLLLLLLLKKLLLLLLKKLLLLLLKKLLLLKKLLLLLLLLLLLLKKLLLLKKKKLLKKLLKKLLKKKKLLLLKKKKLLLLLLLLLLLLLLKKKKKKKKLLKKKKLLLLLLLLKKLLKKLLLLLLKKLLKKKKLLLLLLLLKKLLLLLLLLLLLLKKKKLLLLKKLLKKKKLLKKKKLLLLKKKKLLLLLLKKLLKKKKKKLLKKKKKKKKLLKKKKKKLLLLLLLLKKLLLLLLKKKKLLLLLLLLLLKKLLLLLLLLKKKKLLLLLLKKKKLLLLLLLLKKLLLLLLLLKKLLLLLLLLLLLLLLLLKKKKLLKKLLKKLLLLLLLLLLKKLLLLKKKKLLKKLLLLLLKKLLLLKKLLKKLLKKLLKKLLKKLLKKKKLLKKKKKKKKKKKKLLLLLLLLLLLLKKLLLLKKLLLLLLKKLLKKLLLLLLLLLLLLLLLLLLKKKKLLLLLLKKLLLLKKLLKKKKKKLLLLLLLLKKKKLLKKLLKKLLLLKKLLKKKKLLKKKKKKLLLLKKKKKKLLLLKKLLKKLLLLLLKKKKLLKKKKLLLLLLKKLLKKLLLLLLKKLLLLLLLLLLKKKKLLLLLLLLLLKKLLLLLLLLLLLLKKKKLLLLKKLLLLLLLLLLKKKKKKLLKKLLLLLLLLKKKKKKLLLLKKLLLLKKKKKKLLLLKKLLLLKKLLLLLLLLLLLLLLLLKKKKLLKKLLLLKKLLLLLLKKKKKKKKLLLLLLLLLLLLLLKKKKLLLLKKKKLLKKKKLLKKKKKKKKLLLLLLLLKKLLKKKKLLKKLLKKLLLLLLLLKKLLLLLLKKLLLLLLKKKKLLKKLLKKLLLLKKKKKKKKKKKKKKLLKKKKLLLLLLLLLLKKKKLLLLLLLLLLLLLLLLLLLLLLLLLLLLKKLLKKKKLLLLLLLLLLLLKKLLLLKKLLKKLLKKLLKKLLLLKKKKKKLLLLLLLLLLLLLLKKLLLLLLLLKKLLLLKKLLLLLLLLLLKKKKKKKKKKKKLLLLLLLLLLKKLLKKLLLLKKLLKKLLKKLLLLKKKKLLLLLLLLLLLLKKLLKKKKKKLLLLLLKKLLLLLLKKLLLLKKKKLLLLKKLLKKLLLLKKKKLLLLKKLLLLKKKKLLKKKKLLLLLLKKKKKKLLKKLLKKLLLLLLKKLLLLKKKKKKLLLLKKKKLLKKKKKKLLLLLLLLLLLLLLLLLLLLKKKKKKKKLLLLKKLLKKKKKKKKLLKKKKLLLLKKLLKKKKKKKKLLKKLLKKLLKKLLLLLLLLLLKKKKKKLLKKLLLLKKLLKKKKLLLLLLKKKKKKLLKKKKKKLLLLLLLLKKLLLLLLKKKKLLKKLLLLKKLLLLLLLLKKKKKKKKKKKKKKLLKKKKKKKKLLLLKKKKLLKKLLKKKKLLLLKKKKLLKKKKLLKKKKKKKKKKLLLLKKLLKKLLLLKKLLLLLLLLKKKKKKKKLLKKLLKKLLLLLLLLKKLLLLKKKKKKLLKKLLLLKKLLKKKKLLLLLLKKKKKKLLKKKKKKLLLLLLLLKKLLLLLLKKKKLLKKLLLLKKLLLLLLLLKKKKKKKKKKKKKKLLKKKKKKKKLLLLKKKKLLKKLLKKKKLLLLKKKKLLKKKKLLKKKKKKKKKKLLLLKKLLKKLLLLKKLLLLLLLLKKKKKKKKLLKKLLKKLLLLLLLLKKLLKKLLLLLLLLLLKKLLLLKKKKLLKKKKKKKKLLLLKKKKLLKKLLKKLLKKLLLLKKKKKKLLLLLLKKLLLLLLKKKKKKLLLLLLLLKKLLLLKKLLKKKKLLLLLLLLLLKKLLKKKKLLLLLLLLLLKKKKLLKKLLLLLLKKKKKKKKLLKKLLLLKKKKLLKKLLLLLLLLLLLLLLKKLLLLKKLLLLLLKKKKKKLLLLKKLLKKLLLLKKKKLLLLKKLLLLKKLLKKLLKKLLLLKKKKKKKKKKLLKKLLKKKKLLKKKKLLKKLLKKKKLLKKLLKKLLLLKKKKLLKKKKLLLLKKKKLLLLLLLLLLKKLLKKLLLLKKLLKKLLKKLLLLKKLLKKLLKKLLKKKKLLLLKKKKLLLLLLLLKKLLLLLLKKKKKKKKKKLLLLLLLLKKLLLLLLKKLLKKKKLLKKLLKKKKKKLLLLKKLLLLLLKKLLKKLLLLKKLLKKLLKKKKKKLLKKLLLLKKKKKKLLLLKKLLLLLLKKKKKKLLLLLLKKKKLLKKLLKKKKKKLLKKLLLLKKLLKKKKLLKKKKLLKKLLLLLLKKLLLLKKKKKKLLLLKKKKKKKKLLLLLLKKLLKKKKLLKKLLLLLLKKLLKKKKKKKKLLKKKKKKLLLLKKLLLLKKKKKKLLLLKKLLKKLLKKLLKKKKKKLLLLLLLLKKLLKKKKKKLLKKKKKKLLKKLLKKLLLLLLLLLLLLLLLLLLLLLLLLLLKKKKLLLLLLLLLLLLLLKKLLLLLLLLLLLLLLLLLLLLLLLLLLKKLLKKLLLLKKLLLLKKLLLLLLLLLLLLKKLLKKKKLLLLKKLLLLKKLLLLLLLLLLLLLLLLLLKKLLKKKKLLLLKKLLKKLLLLLLLLLLKKLLLLLLKKLLLLKKKKLLLLKKLLLLLLLLLLLLLLLLKKKKLLLLLLLLKKLLLLKKLLKKLLLLKKLLKKLLLLLLLLKKKKLLKKKKKKLLKKLLLLKKLLKKLLLLLLLLKKKKLLLLLLLLLLLLLLKKLLLLLLLLKKLLLLKKKKLLKKKKLLLLKKLLLLKKLLKKLLLLLLLLLLLLLLLLKKKKLLKKKKLLLLKKLLLLLLLLKKLLLLKKLLKKLLLLLLLLKKLLKKLLLLKKLLLLLLLLKKKKLLLLLLLLLLLLLLLLLLLLKKLLKKLLLLLLLLKKLLLLLLLLLLKKLLLLLLLLLLLLLLKKLLLLLLLLLLLLKKKKLLLLLLLLLLKKKKLLLLLLKKLLKKLLKKLLLLKKLLLLKKKKLLLLLLKKKKLLLLLLKKLLLLLLLLLLKKKKLLKKLLLLLLLLLLKKLLLLLLLLKKKKKKKKLLKKKKLLLLLLLLLLLLKKLLLLLLLLLLKKKKLLLLLLKKLLLLLLLLLLKKLLKKLLKKKKKKLLLLLLLLLLLLKKLLLLLLLLLLLLLLLLLLLLKKLLLLKKLLLLLLKKLLKKLLKKLLKKLLKKLLLLLLLLKKLLLLLLLLLLLLLLKKLLLLLLLLLLKKLLKKKKLLLLKKKKLLKKLLKKLLKKLLLLKKKKKKLLLLLLKKLLLLLLLLKKLLLLLLLLLLKKLLLLKKLLKKKKLLLLLLLLLLLLLLKKLLLLLLLLLLLLLLKKLLKKLLLLLLKKLLLLKKLLLLLLLLLLKKLLKKLLLLLLLLLLLLLLLLLLLLKKLLLLLLKKKKKKLLLLLLLLLLLLLLKKLLLLLLLLLLLLKKLLLLLLKKLLLLLLKKKKLLKKLLKKLLKKKKLLKKKKLLKKLLLLKKLLKKLLKKLLLLLLLLLLKKLLLLLLLLKKLLLLLLLLLLKKLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLKKLLKKLLLLLLLLKKLLLLLLLLKKLLLLLLLLKKKKLLKKLLLLLLLLLLLLLLLLKKLLLLKKLLKKLLKKLLLLLLLLKKLLLLLLKKLLKKLLLLKKLLKKLLKKKKKKLLKKLLLLKKLLKKLLLLKKLLLLLLKKKKKKLLLLLLKKKKLLLLLLLLKKKKLLKKLLLLLLLLKKLLLLLLLLKKKKKKLLLLLLKKLLLLLLLLLLLLKKKKKKKKLLKKLLKKKKKKLLLLKKLLLLLLKKKKLLKKLLLLLLKKKKLLKKKKLLKKLLLLKKLLLLLLKKLLLLKKLLKKKKKKLLKKKKLLKKLLLLKKKKLLKKKKKKKKLLLLLLLLLLKKLLLLLLLLKKLLLLLLLLLLLLKKLLLLLLLLLLLLLLKKLLLLLLKKLLLLLLKKLLLLKKLLLLLLLLLLLLKKLLLLKKKKLLKKLLKKLLKKKKLLLLKKKKLLLLLLLLLLLLLLKKKKKKKKLLKKKKLLLLLLLLKKLLKKLLLLLLKKLLKKKKLLLLLLLLKKLLLLLLLLLLLLKKKKLLLLKKLLKKKKLLKKKKLLLLKKKKLLLLLLKKLLKKKKKKLLKKKKKKKKLLKKKKKKLLLLLLLLKKLLLLLLKKKKLLLLLLLLLLKKLLLLLLLLKKKKLLLLLLKKKKLLLLLLLLKKLLLLLLLLKKLLLLLLLLLLLLLLLLKKKKLLKKLLKKLLLLLLLLLLKKLLLLKKKKLLKKLLLLLLKKLLLLKKLLKKLLKKLLKKLLKKLLKKKKLLKKKKKKKKKKKKLLLLLLLLLLLLKKLLLLKKLLLLLLKKLLKKLLLLLLLLLLLLLLLLLLKKKKLLLLLLKKLLLLKKLLKKKKKKLLLLLLLLKKKKLLKKLLKKLLLLKKLLKKKKLLKKKKKKLLLLKKKKKKLLLLKKLLKKLLLLLLKKKKLLKKKKLLLLLLKKLLKKLLLLLLKKLLLLLLLLLLKKKKLLLLLLLLLLKKLLLLLLLLLLLLKKKKLLLLKKLLLLLLLLLLKKKKKKLLKKLLLLLLLLKKKKKKLLLLKKLLLLKKKKKKLLLLKKLLLLKKLLLLLLLLLLLLLLLLKKKKLLKKLLLLKKLLLLLLKKKKKKKKLLLLLLLLLLLLLLKKKKLLLLKKKKLLKKKKLLKKKKKKKKLLLLLLLLKKLLKKKKLLKKLLKKLLLLLLLLKKLLLLLLKKLLLLLLKKKKLLKKLLKKLLLLKKKKKKKKKKKKKKLLKKKKLLLLLLLLLLKKKKLLLLLLLLLLLLLLLLLLLLLLLLLLLLKKLLKKKKLLLLLLLLLLLLKKLLLLKKLLKKLLKKLLKKLLLLKKKKKKLLLLLLLLLLLLLLKKLLLLLLLLKKLLLLKKLLLLLLLLLLKKKKKKKKKKKKLLLLLLLLLLKKLLKKLLLLKKLLKKLLKKLLLLKKKKLLLLLLLLLLLLKKLLKKKKKKLLLLLLKKLLLLLLKKLLLLKKKKLLLLKKLLKKLLLLKKKKLLLLKKLLLLKKKKLLKKKKLLLLLLKKKKKKLLKKLLKKLLLLLLKKLLLLKKKKKKLLLLKKKKLLKKKKKKLLLLLLLLLLLLLLLLLLLLKKKKKKKKLLLLKKLLKKKKKKKKLLKKKKLLLLKKLLKKKKKKKKLLKKLLKKLLKKLLLLLLLLLLKKKKKKLLKKLLLLKKLLKKKKLLLLLLKKKKKKLLKKKKKKLLLLLLLLKKLLLLLLKKKKLLKKLLLLKKLLLLLLLLKKKKKKKKKKKKKKLLKKKKKKKKLLLLKKKKLLKKLLKKKKLLLLKKKKLLKKKKLLKKKKKKKKKKLLLLKKLLKKLLLLKKLLLLLLLLKKKKKKKKLLKKLLKKLLLLLLLLKKLLLLKKKKKKLLKKLLLLKKLLKKKKLLLLLLKKKKKKLLKKKKKKLLLLLLLLKKLLLLLLKKKKLLKKLLLLKKLLLLLLLLKKKKKKKKKKKKKKLLKKKKKKKKLLLLKKKKLLKKLLKKKKLLLLKKKKLLKKKKLLKKKKKKKKKKLLLLKKLLKKLLLLKKLLLLLLLLKKKKKKKKLLKKLLKKLLLLLLLLKKLLKKLLLLLLLLLLKKLLLLKKKKLLKKKKKKKKLLLLKKKKLLKKLLKKLLKKLLLLKKKKKKLLLLLLKKLLLLLLKKKKKKLLLLLLLLKKLLLLKKLLKKKKLLLLLLLLLLKKLLKKKKLLLLLLLLLLKKKKLLKKLLLLLLKKKKKKKKLLKKLLLLKKKKLLKKLLLLLLLLLLLLLLKKLLLLKKLLLLLLKKKKKKLLLLKKLLKKLLLLKKKKLLLLKKLLLLKKLLKKLLKKLLLLKKKKKKKKKKLLKKLLKKKKLLKKKKLLKKLLKKKKLLKKLLKKLLLLKKKKLLKKKKLLLLKKKKLLLLLLLLLLKKLLKKLLLLKKLLKKLLKKLLLLKKLLKKLLKKLLKKKKLLLLKKKKLLLLLLLLKKLLLLLLKKKKKKKKKKLLLLLLLLKKLLLLLLKKLLKKKKLLKKLLKKKKKKLLLLKKLLLLLLKKLLKKLLLLKKLLKKLLKKKKKKLLKKLLLLKKKKKKLLLLKKLLLLLLKKKKKKLLLLLLKKKKLLKKLLKKKKKKLLKKLLLLKKLLKKKKLLKKKKLLKKLLLLLLKKLLLLKKKKKKLLLLKKKKKKKKLLLLLLKKLLKKKKLLKKLLLLLLKKLLKKKKKKKKLLKKKKKKLLLLKKLLLLKKKKKKLLLLKKLLKKLLKKLLKKKKKKLLLLLLLLKKLLKKKKKKLLKKKKKKLLKKLLKKLLLLLLLLLLKKLLLLLLLLLLLLKKLLLLLLLLLLLLKKLLKKLLLLLLLLLLLLLLLLLLLLLLKKLLLLLLLLLLKKLLKKLLLLLLLLLLLLLLLLLLLLKKLLLLLLLLLLLLKKLLLLLLLLLLKKLLLLKKLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLKKLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLKKLLLLLLLLLLLLLLLLLLKKLLLLLLLLLLLLLLLLLLLLLLKKLLLLLLLLLLLLLLKKKKLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLKKLLLLLLLLLLKKKKLLLLLLLLLLKKLLLLLLLLLLLLLLLLLLLLLLLLLLLLKKKKLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLKKLLLLLLLLLLLLLLLLLLLLLLKKKKLLKKLLLLKKLLLLLLLLLLLLLLLLLLKKLLLLLLLLLLLLLLLLKKLLKKLLLLLLLLLLLLLLLLKKLLLLLLLLLLKKKKLLLLLLLLLLLLLLLLLLLLLLLLKKLLLLLLLLLLLLLLKKLLLLLLLLLLLLLLLLLLLLLLLLLLKKLLLLLLLLLLLLKKLLKKLLLLKKLLKKLLLLLLLLKKLLKKLLLLKKLLLLLLLLLLLLLLLLLLLLLLLLKKLLKKLLLLLLKKLLLLLLLLLLLLLLLLLLKKLLKKKKLLLLLLLLLLKKLLLLLLLLLLLLKKLLKKLLKKLLLLLLLLKKKKKKKKLLLLLLLLLLLLLLKKLLLLKKLLLLLLLLLLLLLLLLLLLLLLLLLLKKLLLLLLLLLLLLLLLLLLLLKKLLKKLLLLLLLLLLLLLLLLKKKKLLLLLLLLLLLLLLLLLLLLKKLLLLLLLLLLKKLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLKKLLLLLLKKKKLLLLLLLLLLLLLLLLKKLLLLLLLLLLKKKKLLLLLLKKLLLLLLLLKKLLLLLLLLLLKKLLLLKKLLLLKKLLLLLLLLLLLLLLLLLLKKKKLLLLLLLLLLLLLLLLLLLLLLLLLLKKKKLLLLLLLLLLLLLLLLLLLLLLLLLLKKLLLLLLLLLLLLLLLLKKLLLLLLLLLLLLLLLLLLLLLLLLLLKKLLLLLLLLKKLLLLKKLLLLLLLLLLLLKKLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLKKLLKKKKLLLLLLLLKKLLLLLLLLLLKKLLLLLLLLLLLLLLKKLLLLKKLLLLLLLLLLLLLLLLKKKKLLLLLLLLKKLLLLLLLLLLLLLLKKLLKKLLLLLLLLKKLLLLKKKKKKLLLLLLLLKKLLLLLLLLLLLLKKKKLLLLLLLLLLLLLLKKLLLLLLLLKKLLLLKKKKLLKKLLLLLLKKLLLLLLLLLLLLLLLLLLLLLLLLLLKKKKLLLLKKLLLLKKLLLLLLLLKKLLLLLLLLKKLLLLLLLLKKLLLLLLLLLLKKLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLKKLLLLKKLLKKKKLLKKLLLLLLLLLLLLKKLLLLKKLLKKKKKKLLLLLLLLLLKKLLKKLLLLKKLLLLLLKKLLKKLLLLLLLLLLLLLLLLKKLLLLKKLLLLLLLLLLLLLLKKKKKKLLKKLLKKLLLLLLLLLLKKLLLLKKLLLLKKLLLLKKLLLLLLLLLLLLLLLLLLKKLLLLLLLLLLKKLLLLLLLLLLLLLLLLLLLLLLKKKKLLLLKKLLKKLLLLLLLLLLLLKKKKLLLLKKKKKKLLLLLLKKLLLLKKKKLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLKKLLKKLLKKLLLLLLKKLLKKLLLLLLKKLLLLLLLLLLLLLLLLKKKKKKLLLLLLLLLLKKLLLLLLKKLLKKLLKKLLLLLLLLLLLLLLLLLLLLKKLLLLLLLLLLLLLLKKLLLLLLLLLLLLKKLLKKKKKKKKLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLKKLLLLKKLLKKLLLLLLLLLLLLLLKKLLLLKKLLLLLLKKLLLLLLLLLLKKKKLLLLKKKKLLLLKKLLLLLLLLLLLLLLLLLLLLKKLLLLLLKKLLLLKKKKLLLLLLKKKKLLKKLLLLLLLLLLKKLLLLLLLLKKLLLLLLKKLLLLLLLLKKLLLLLLKKKKKKLLLLLLLLLLKKLLLLKKKKLLLLLLLLLLLLKKLLLLLLLLLLKKLLKKKKLLLLKKKKLLKKLLKKLLKKLLLLKKKKKKLLLLLLKKLLLLLLLLKKLLLLLLLLLLKKLLLLKKLLKKKKLLLLLLLLLLLLLLKKLLLLLLLLLLLLLLKKLLLLLLLLLLKKLLLLKKLLLLLLLLLLKKLLKKLLLLLLLLLLLLLLLLLLLLKKLLLLLLKKKKKKLLLLLLLLLLLLLLKKLLLLLLLLLLLLKKLLLLLLKKLLLLLLKKKKLLKKLLKKLLKKKKLLKKLLLLKKLLLLKKLLKKLLKKLLLLLLLLLLKKLLLLLLLLKKLLLLLLLLLLKKLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLKKLLKKLLLLLLLLLLLLLLLLLLKKLLLLLLLLKKKKLLLLLLLLLLLLLLLLLLLLKKLLLLKKLLKKLLKKLLLLLLLLKKLLLLLLLLLLKKLLLLKKLLKKLLKKLLKKLLKKLLLLKKLLKKLLLLKKLLLLLLKKLLLLLLLLLLKKKKLLLLLLLLKKKKLLKKLLLLLLLLKKLLLLLLLLKKKKKKLLLLLLKKLLLLLLLLLLLLKKKKKKKKLLKKLLLLKKKKLLLLKKLLLLLLKKKKLLKKLLLLLLLLKKLLKKKKLLKKLLLLKKLLLLLLKKLLLLKKLLKKKKKKLLKKKKLLKKLLLLKKKKLLLLKKKKKKLLLLLLLLLLKKLLLLLLLLKKLLLLLLLLLLKKLLKKLLKKKKLLKKLLKKLLLLLLLLKKKKKKLLLLLLKKLLLLLLLLLLLLKKKKKKKKLLKKLLLLKKKKLLLLKKLLLLLLKKKKLLKKLLLLLLLLKKLLKKKKLLKKLLLLKKLLLLLLKKLLLLKKLLKKKKKKLLKKKKLLKKLLLLKKKKLLLLKKKKKKLLLLLLLLLLKKLLLLLLLLKKLLLLLLLLLLKKLLKKLLKKKKLLKKLLKKKKKKKKLLKKLLLLLLLLKKKKLLLLKKLLKKLLLLLLLLLLLLLLLLKKKKLLKKKKLLLLLLLLLLKKLLLLLLKKKKKKKKLLKKKKLLKKLLKKKKKKLLLLKKLLLLLLLLKKLLLLKKLLLLLLLLLLKKKKLLLLLLLLLLLLLLKKLLLLLLKKLLLLLLKKKKLLLLKKKKLLLLKKKKLLLLKKKKKKLLLLLLLLLLKKKKLLLLLLKKLLLLLLLLKKKKLLLLLLLLKKLLKKKKLLLLKKLLLLLLLLLLLLLLKKLLKKKKLLLLLLLLLLLLLLLLLLKKLLLLLLKKKKKKLLLLLLLLLLKKKKLLLLLLLLLLKKKKLLLLKKLLLLLLLLKKKKLLKKLLLLLLLLLLLLLLLLLLLLKKLLKKLLLLKKKKLLKKLLLLLLLLLLLLKKLLKKKKLLLLKKLLLLKKKKLLLLLLLLLLLLLLLLKKLLKKKKLLLLKKLLKKLLLLKKLLLLKKLLLLLLKKLLLLKKKKLLLLKKLLLLLLLLLLLLLLLLKKKKLLLLLLLLKKKKLLLLKKLLLLLLKKLLLLKKLLLLLLKKKKLLKKLLKKLLLLLLKKKKLLLLKKLLLLKKLLKKKKLLKKLLLLKKKKLLLLLLKKKKKKLLKKKKKKKKLLLLKKLLKKKKLLKKKKKKLLLLLLLLKKKKLLLLKKLLKKLLLLKKLLKKLLLLKKLLLLLLLLLLLLLLKKLLLLLLLLLLLLKKLLLLLLLLLLLLKKLLKKLLLLLLLLLLLLLLLLLLLLLLKKLLLLLLLLLLKKLLKKLLLLLLLLLLLLLLLLLLLLKKLLLLLLLLLLLLKKLLLLLLLLLLKKLLLLKKLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLKKLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLKKLLLLLLLLLLLLLLLLLLKKLLLLLLLLLLLLLLLLLLLLLLKKLLLLLLLLLLLLLLKKKKLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLKKLLLLLLLLLLKKKKLLLLLLLLLLKKLLLLLLLLLLLLLLLLLLLLLLLLLLLLKKKKLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLKKLLLLLLLLLLLLLLLLLLLLLLKKKKLLKKLLLLKKLLLLLLLLLLLLLLLLLLKKLLLLLLLLLLLLLLLLKKLLKKLLLLLLLLLLLLLLLLKKLLLLLLLLLLKKKKLLLLLLLLLLLLLLLLLLLLLLLLKKLLLLLLLLLLLLLLKKLLLLLLLLLLLLLLLLLLLLLLLLLLKKLLLLLLLLLLLLKKLLKKLLLLKKLLKKLLLLLLLLKKLLKKLLLLKKLLLLLLLLLLLLLLLLLLLLLLLLKKLLKKLLLLLLKKLLLLLLLLLLLLLLLLLLKKLLKKKKLLLLLLLLLLKKLLLLLLLLLLLLKKLLKKLLKKLLLLLLLLKKKKKKKKLLLLLLLLLLLLLLKKLLLLKKLLLLLLLLLLLLLLLLLLLLLLLLLLKKLLLLLLLLLLLLLLLLLLLLKKLLKKLLLLLLLLLLLLLLLLKKKKLLLLLLLLLLLLLLLLLLLLKKLLLLLLLLLLKKLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLKKLLLLLLKKKKLLLLLLLLLLLLLLLLKKLLLLLLLLLLKKKKLLLLLLKKLLLLLLLLKKLLLLLLLLLLKKLLLLKKLLLLKKLLLLLLLLLLLLLLLLLLKKKKLLLLLLLLLLLLLLLLLLLLLLLLLLKKKKLLLLLLLLLLLLLLLLLLLLLLLLLLKKLLLLLLLLLLLLLLLLKKLLLLLLLLLLLLLLLLLLLLLLLLLLKKLLLLLLLLKKLLLLKKLLLLLLLLLLLLKKLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLKKLLKKKKLLLLLLLLKKLLLLLLLLLLKKLLLLLLLLLLLLLLKKLLLLKKLLLLLLLLLLLLLLLLKKKKLLLLLLLLKKLLLLLLLLLLLLLLKKLLKKLLLLLLLLKKLLLLKKKKKKLLLLLLLLKKLLLLLLLLLLLLKKKKLLLLLLLLLLLLLLKKLLLLLLLLKKLLLLKKKKLLKKLLLLLLKKLLLLLLLLLLLLLLLLLLLLLLLLLLKKKKLLLLKKLLLLKKLLLLLLLLKKLLLLLLLLKKLLLLLLLLKKLLLLLLLLLLKKLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLKKLLLLKKLLKKKKLLKKLLLLLLLLLLLLKKLLLLKKLLKKKKKKLLLLLLLLLLKKLLKKLLLLKKLLLLLLKKLLKKLLLLLLLLLLLLLLLLKKLLLLKKLLLLLLLLLLLLLLKKKKKKLLKKLLKKLLLLLLLLLLKKLLLLKKLLLLKKLLLLKKLLLLLLLLLLLLLLLLLLKKLLLLLLLLLLKKLLLLLLLLLLLLLLLLLLLLLLKKKKLLLLKKLLKKLLLLLLLLLLLLKKKKLLLLKKKKKKLLLLLLKKLLLLKKKKLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLKKLLKKLLKKLLLLLLKKLLKKLLLLLLKKLLLLLLLLLLLLLLLLKKKKKKLLLLLLLLLLKKLLLLLLKKLLKKLLKKLLLLLLLLLLLLLLLLLLLLKKLLLLLLLLLLLLLLKKLLLLLLLLLLLLKKLLKKKKKKKKLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLKKLLLLKKLLKKLLLLLLLLLLLLLLKKLLLLKKLLLLLLKKLLLLLLLLLLKKKKLLLLKKKKLLLLKKLLLLLLLLLLLLLLLLLLLLKKLLLLLLKKLLLLKKKKLLLLLLKKKKLLKKLLLLLLLLLLKKLLLLLLLLKKLLLLLLKKLLLLLLLLKKLLLLLLKKKKKKLLLLLLLLLLKKLLLLKKKKLLLLLLLLLLLLKKLLLLLLLLLLKKLLKKKKLLLLKKKKLLKKLLKKLLKKLLLLKKKKKKLLLLLLKKLLLLLLLLKKLLLLLLLLLLKKLLLLKKLLKKKKLLLLLLLLLLLLLLKKLLLLLLLLLLLLLLKKLLLLLLLLLLKKLLLLKKLLLLLLLLLLKKLLKKLLLLLLLLLLLLLLLLLLLLKKLLLLLLKKKKKKLLLLLLLLLLLLLLKKLLLLLLLLLLLLKKLLLLLLKKLLLLLLKKKKLLKKLLKKLLKKKKLLKKLLLLKKLLLLKKLLKKLLKKLLLLLLLLLLKKLLLLLLLLKKLLLLLLLLLLKKLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLKKLLKKLLLLLLLLLLLLLLLLLLKKLLLLLLLLKKKKLLLLLLLLLLLLLLLLLLLLKKLLLLKKLLKKLLKKLLLLLLLLKKLLLLLLLLLLKKLLLLKKLLKKLLKKLLKKLLKKLLLLKKLLKKLLLLKKLLLLLLKKLLLLLLLLLLKKKKLLLLLLLLKKKKLLKKLLLLLLLLKKLLLLLLLLKKKKKKLLLLLLKKLLLLLLLLLLLLKKKKKKKKLLKKLLLLKKKKLLLLKKLLLLLLKKKKLLKKLLLLLLLLKKLLKKKKLLKKLLLLKKLLLLLLKKLLLLKKLLKKKKKKLLKKKKLLKKLLLLKKKKLLLLKKKKKKLLLLLLLLLLKKLLLLLLLLKKLLLLLLLLLLKKLLKKLLKKKKLLKKLLKKLLLLLLLLKKKKKKLLLLLLKKLLLLLLLLLLLLKKKKKKKKLLKKLLLLKKKKLLLLKKLLLLLLKKKKLLKKLLLLLLLLKKLLKKKKLLKKLLLLKKLLLLLLKKLLLLKKLLKKKKKKLLKKKKLLKKLLLLKKKKLLLLKKKKKKLLLLLLLLLLKKLLLLLLLLKKLLLLLLLLLLKKLLKKLLKKKKLLKKLLKKKKKKKKLLKKLLLLLLLLKKKKLLLLKKLLKKLLLLLLLLLLLLLLLLKKKKLLKKKKLLLLLLLLLLKKLLLLLLKKKKKKKKLLKKKKLLKKLLKKKKKKLLLLKKLLLLLLLLKKLLLLKKLLLLLLLLLLKKKKLLLLLLLLLLLLLLKKLLLLLLKKLLLLLLKKKKLLLLKKKKLLLLKKKKLLLLKKKKKKLLLLLLLLLLKKKKLLLLLLKKLLLLLLLLKKKKLLLLLLLLKKLLKKKKLLLLKKLLLLLLLLLLLLLLKKLLKKKKLLLLLLLLLLLLLLLLLLKKLLLLLLKKKKKKLLLLLLLLLLKKKKLLLLLLLLLLKKKKLLLLKKLLLLLLLLKKKKLLKKLLLLLLLLLLLLLLLLLLLLKKLLKKLLLLKKKKLLKKLLLLLLLLLLLLKKLLKKKKLLLLKKLLLLKKKKLLLLLLLLLLLLLLLLKKLLKKKKLLLLKKLLKKLLLLKKLLLLKKLLLLLLKKLLLLKKKKLLLLKKLLLLLLLLLLLLLLLLKKKKLLLLLLLLKKKKLLLLKKLLLLLLKKLLLLKKLLLLLLKKKKLLKKLLKKLLLLLLKKKKLLLLKKLLLLKKLLKKKKLLKKLLLLKKKKLLLLLLKKKKKKLLKKKKKKKKLLLLKKLLKKKKLLKKKKKKLLLLLLLLKKKKLLLLKKLLKKLLLLKKLLKKLLLLKKLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLKKLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLKKLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLKKLLLLLLLLLLLLKKLLLLKKLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLKKLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLKKLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLKKLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLKKLLLLKKLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLKKLLKKLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLKKLLKKLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLKKLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLKKKKLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLKKLLLLLLLLLLLLLLLLLLLLLLLLKKLLLLLLLLLLLLLLLLLLLLLLLLLLLLKKLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLKKLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLKKLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLKKLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLKKLLKKLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLKKLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLKKLLLLLLLLLLKKKKLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLKKLLLLLLKKLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLKKKKLLLLLLLLLLLLLLKKKKLLLLLLLLLLKKKKLLKKLLLLLLLLLLLLLLKKLLLLLLLLLLLLLLLLLLKKLLLLLLLLLLLLLLLLKKLLKKLLLLLLKKLLLLKKLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLKKKKLLLLLLLLLLLLLLLLLLLLLLLLLLLLKKLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLKKKKKKLLLLLLLLKKLLLLLLLLLLLLLLKKKKLLLLLLLLLLKKLLLLLLLLKKLLLLLLLLLLLLLLKKLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLKKLLKKKKLLLLLLLLLLLLLLKKLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLKKLLKKLLLLLLLLLLLLLLLLLLKKLLLLLLLLLLLLLLLLLLLLKKLLLLLLLLLLKKLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLKKLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLKKLLLLLLLLLLLLLLLLKKLLLLKKLLLLLLLLLLLLLLLLLLLLKKLLLLLLLLLLLLLLLLLLLLLLLLLLKKKKLLLLLLLLLLLLLLLLLLLLLLLLLLKKLLLLLLLLLLLLLLLLKKLLLLLLLLLLLLLLLLLLLLLLLLLLKKLLLLLLLLKKLLLLKKLLLLLLLLLLLLKKLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLKKLLKKLLLLLLLLLLKKLLLLLLLLLLKKLLLLLLLLLLLLLLKKLLLLKKLLLLLLLLLLLLLLLLLLKKLLLLLLLLLLLLLLLLLLLLLLLLKKLLKKLLLLLLLLKKLLLLLLKKLLLLLLLLLLKKLLLLLLLLLLLLKKLLLLLLLLLLLLLLLLKKLLLLLLLLKKLLLLKKKKLLLLLLLLLLKKLLLLLLLLLLLLLLLLLLLLLLLLLLLLKKLLLLKKLLLLKKLLLLLLLLLLLLLLLLLLKKLLLLLLLLKKLLKKLLLLLLLLLLLLLLKKKKLLLLLLLLLLKKLLKKLLLLLLLLKKLLLLLLKKLLLLLLLLLLKKLLLLLLLLLLLLKKLLLLLLLLLLLLLLLLKKLLLLLLLLKKLLLLKKKKLLLLLLLLLLKKLLLLLLLLLLLLLLLLLLLLLLLLLLLLKKLLLLKKLLLLKKLLLLLLLLKKLLLLLLLLKKLLLLLLLLKKLLKKLLLLKKLLLLLLLLKKKKLLLLLLLLLLLLLLLLLLLLKKLLKKLLLLLLLLLLLLLLLLLLLLKKLLLLLLLLLLLLLLKKLLLLLLLLLLLLKKKKLLLLLLLLLLKKKKLLLLLLKKLLKKLLKKLLLLLLLLLLKKKKLLLLLLKKLLLLLLLLKKLLLLLLLLLLKKLLLLKKLLLLLLLLLLKKLLLLLLLLLLKKKKKKLLLLKKLLLLLLLLLLLLLLLLLLLLLLLLKKKKLLLLLLKKLLLLLLLLLLKKLLKKLLKKKKLLLLLLLLLLLLLLKKLLLLLLLLLLLLLLLLLLLLKKLLLLKKLLLLLLLLLLKKLLLLLLLLLLKKLLLLKKLLLLLLKKLLLLLLLLLLLLKKLLKKLLLLLLLLLLLLLLLLLLLLLLKKLLLLLLLLLLKKLLKKLLLLLLLLLLLLLLLLKKLLKKLLLLLLLLLLLLKKKKLLLLLLLLKKLLLLKKKKLLLLLLKKKKLLLLLLKKLLLLLLLLLLLLLLLLLLLLKKLLLLLLLLLLLLLLKKLLLLLLLLLLLLLLKKLLLLLLLLKKLLLLLLLLKKLLLLLLKKLLKKLLLLKKLLLLLLLLLLKKLLLLLLLLLLLLLLLLLLLLLLLLLLKKLLKKLLLLKKLLLLLLLLLLLLKKLLLLLLLLLLLLKKLLLLLLLLLLLLKKLLLLLLLLKKLLLLLLLLLLLLLLLLLLLLKKKKKKLLLLLLKKLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLKKLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLKKLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLKKLLLLLLLLLLLLKKLLLLKKLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLKKLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLKKLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLKKLLLLKKLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLKKLLKKLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLKKLLKKLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLKKLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLKKKKLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLKKLLLLLLLLLLLLLLLLLLLLLLLLKKLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLKKLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLKKLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLKKLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLKKLLKKLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLKKLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLKKLLLLLLLLLLKKKKLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLKKLLLLLLKKLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLKKKKLLLLLLLLLLLLLLKKKKLLLLLLLLLLKKKKLLKKLLLLLLLLLLLLLLKKLLLLLLLLLLLLLLLLLLKKLLLLLLLLLLLLLLLLKKLLKKLLLLLLKKLLLLKKLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLKKKKLLLLLLLLLLLLLLLLLLLLLLLLLLLLKKLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLKKKKKKLLLLLLLLKKLLLLLLLLLLLLLLKKKKLLLLLLLLLLKKLLLLLLLLKKLLLLLLLLLLLLLLKKLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLKKLLKKKKLLLLLLLLLLLLLLKKLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLKKLLKKLLLLLLLLLLLLLLLLLLKKLLLLLLLLLLLLLLLLLLLLKKLLLLLLLLLLKKLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLKKLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLKKLLLLLLLLLLLLLLLLKKLLLLKKLLLLLLLLLLLLLLLLLLLLKKLLLLLLLLLLLLLLLLLLLLLLLLLLKKKKLLLLLLLLLLLLLLLLLLLLLLLLLLKKLLLLLLLLLLLLLLLLKKLLLLLLLLLLLLLLLLLLLLLLLLLLKKLLLLLLLLKKLLLLKKLLLLLLLLLLLLKKLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLKKLLKKLLLLLLLLLLKKLLLLLLLLLLKKLLLLLLLLLLLLLLKKLLLLKKLLLLLLLLLLLLLLLLLLKKLLLLLLLLLLLLLLLLLLLLLLLLKKLLKKLLLLLLLLKKLLLLLLKKLLLLLLLLLLKKLLLLLLLLLLLLKKLLLLLLLLLLLLLLLLKKLLLLLLLLKKLLLLKKKKLLLLLLLLLLKKLLLLLLLLLLLLLLLLLLLLLLLLLLLLKKLLLLKKLLLLKKLLLLLLLLLLLLLLLLLLKKLLLLLLLLKKLLKKLLLLLLLLLLLLLLKKKKLLLLLLLLLLKKLLKKLLLLLLLLKKLLLLLLKKLLLLLLLLLLKKLLLLLLLLLLLLKKLLLLLLLLLLLLLLLLKKLLLLLLLLKKLLLLKKKKLLLLLLLLLLKKLLLLLLLLLLLLLLLLLLLLLLLLLLLLKKLLLLKKLLLLKKLLLLLLLLKKLLLLLLLLKKLLLLLLLLKKLLKKLLLLKKLLLLLLLLKKKKLLLLLLLLLLLLLLLLLLLLKKLLKKLLLLLLLLLLLLLLLLLLLLKKLLLLLLLLLLLLLLKKLLLLLLLLLLLLKKKKLLLLLLLLLLKKKKLLLLLLKKLLKKLLKKLLLLLLLLLLKKKKLLLLLLKKLLLLLLLLKKLLLLLLLLLLKKLLLLKKLLLLLLLLLLKKLLLLLLLLLLKKKKKKLLLLKKLLLLLLLLLLLLLLLLLLLLLLLLKKKKLLLLLLKKLLLLLLLLLLKKLLKKLLKKKKLLLLLLLLLLLLLLKKLLLLLLLLLLLLLLLLLLLLKKLLLLKKLLLLLLLLLLKKLLLLLLLLLLKKLLLLKKLLLLLLKKLLLLLLLLLLLLKKLLKKLLLLLLLLLLLLLLLLLLLLLLKKLLLLLLLLLLKKLLKKLLLLLLLLLLLLLLLLKKLLKKLLLLLLLLLLLLKKKKLLLLLLLLKKLLLLKKKKLLLLLLKKKKLLLLLLKKLLLLLLLLLLLLLLLLLLLLKKLLLLLLLLLLLLLLKKLLLLLLLLLLLLLLKKLLLLLLLLKKLLLLLLLLKKLLLLLLKKLLKKLLLLKKLLLLLLLLLLKKLLLLLLLLLLLLLLLLLLLLLLLLLLKKLLKKLLLLKKLLLLLLLLLLLLKKLLLLLLLLLLLLKKLLLLLLLLLLLLKKLLLLLLLLKKLLLLLLLLLLLLLLLLLLLLKKKKKKLLLLLLKKLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLKKLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLKKLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLKKLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLKKLLLLLLLLLLLLLLLLLLLLLLLLKKLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLKKLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLKKLLLLLLLLLLLLLLLLLLLLLLLLKKLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLKKLLLLLLLLLLLLLLLLLLLLLLLLLLLLKKLLLLLLLLLLLLLLLLLLLLLLLLKKLLLLLLLLLLLLLLLLLLLLKKLLLLLLLLLLLLLLLLLLLLLLLLLLLLKKLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLKKLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLKKLLLLLLLLLLLLLLLLLLKKLLKKLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLKKLLLLLLLLLLLLKKLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLKKLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLKKLLKKLLKKLLLLLLLLLLLLLLLLLLLLLLLLKKLLLLKKLLLLKKLLLLLLLLKKLLLLLLKKLLLLLLLLKKLLLLLLLLLLLLLLLLLLKKLLLLLLLLLLKKLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLKKLLKKLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLKKLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLKKLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLKKLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLKKLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLKKLLLLLLLLLLLLLLLLLLLLLLLLKKLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLKKLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLKKLLLLLLLLLLLLLLLLLLLLLLLLKKLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLKKLLLLLLLLLLLLLLLLLLLLLLLLLLLLKKLLLLLLLLLLLLLLLLLLLLLLLLKKLLLLLLLLLLLLLLLLLLLLKKLLLLLLLLLLLLLLLLLLLLLLLLLLLLKKLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLKKLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLKKLLLLLLLLLLLLLLLLLLKKLLKKLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLKKLLLLLLLLLLLLKKLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLKKLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLKKLLKKLLKKLLLLLLLLLLLLLLLLLLLLLLLLKKLLLLKKLLLLKKLLLLLLLLKKLLLLLLKKLLLLLLLLLLLLLLLLLLLLLLLLLLLLKKLLLLLLLLLLKKLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLKKLLKKLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLKKLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMMLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMMLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMMLLLLLLLLLLLLMMLLLLLLLLLLLLLLMMLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMMLLLLLLLLLLMMLLLLLLLLLLLLLLLLLLLLMMLLLLLLLLLLLLLLLLMMLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMMLLLLLLLLLLMMLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMMLLLLLLLLLLLLLLLLLLLLLLMMLLLLLLLLMMLLLLMMLLLLLLLLLLMMLLLLLLLLLLLLLLMMLLLLLLLLLLMMLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMMLLLLLLLLLLLLLLLLLLLLLLLLLLLLMMLLLLLLLLMMLLLLLLLLLLMMLLLLMMLLLLLLMMLLLLLLLLLLLLLLLLLLMMLLLLMMLLLLLLLLLLLLMMLLLLLLLLLLLLLLLLLLLLLLMMLLLLMMLLLLLLLLLLLLLLLLLLLLMMLLLLLLLLLLLLLLLLLLMMLLLLLLLLLLLLLLLLLLLLMMLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMMLLLLLLLLLLLLLLLLLLLLLLMMLLMMLLLLLLLLLLLLLLMMLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMMLLLLLLLLLLMMLLLLLLLLLLLLLLMMLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMMLLLLLLLLLLLLLLLLLLLLMMLLLLLLMMLLLLLLLLLLLLLMMMLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMMLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMMLLLLLLLLLLLLLLMMLLLLLLLLLLLLLLLLMMLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMMLLLLLLLLLLLLLLLLMMLLMMLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMMLLMMLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMMLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMMLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMMLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMMLLLLLLLLLLLLLLLLLLLLLLLLLLMMLLLLLLLLLLLLMMLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMMLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMMLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMMLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMMLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMMLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMMLLLLLLLLLLLLMMLLLLLLLLLLLLLLMMLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMMLLLLLLLLLLMMLLLLLLLLLLLLLLLLLLLLMMLLLLLLLLLLLLLLLLMMLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMMLLLLLLLLLLMMLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMMLLLLLLLLLLLLLLLLLLLLLLMMLLLLLLLLMMLLLLMMLLLLLLLLLLMMLLLLLLLLLLLLLLMMLLLLLLLLLLMMLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMMLLLLLLLLLLLLLLLLLLLLLLLLLLLLMMLLLLLLLLMMLLLLLLLLLLMMLLLLMMLLLLLLMMLLLLLLLLLLLLLLLLLLMMLLLLMMLLLLLLLLLLLLMMLLLLLLLLLLLLLLLLLLLLLLMMLLLLMMLLLLLLLLLLLLLLLLLLLLMMLLLLLLLLLLLLLLLLLLMMLLLLLLLLLLLLLLLLLLLLMMLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMMLLLLLLLLLLLLLLLLLLLLLLMMLLMMLLLLLLLLLLLLLLMMLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMMLLLLLLLLLLMMLLLLLLLLLLLLLLMMLLLLLLMMLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMMLLLLLLLLLLLLLLLLLLLLMMLLLLLLMMLLLLLLLLLLLLMMMMLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMMLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMMLLLLLLLLLLLLLLMMLLLLLLLLLLLLLLLLMMLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMMLLLLLLLLLLLLLLLLMMLLMMLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMMLLMMLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMMLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMMLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMMLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMMLLLLLLLLLLLLLLLLLLLLLLLLLLMMLLLLLLLLLLLLMMLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMMLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMMLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMMLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMMLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMMLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMMLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMMLLLLLLMMLLMMLLMMLLLLLLLLLLLLMMLLLLLLLLLLLLLLMMLLLLMMLLLLMMLLLLLLLLLLLLMMLLLLMMLLLLLLLLLLMMLLLLLLMMLLLLMMLLLLLLLLMMMMLLLLLLMMLLMMLLLLMMLLLLLLMMMMMMLLLLLLLLLLLLLLLLLLMMLLMMLLLLLLLLLLLLLLLLLLLLLLLLMMLLLLLLLLMMLLLLLLLLLLLLLLMMLLLLLLMMLLLLLLLLLLMMLLLLLLMMMMLLLLLLLLLLMMLLLLLLLLLLLLLLLLMMLLMMLLLLLLMMLLLLLLLLLLLLLLLLLLLLLLMMMMLLLLMMLLMMLLLLMMLLLLMMLLLLMMLLLLLLLLLLLLLLLLMMLLLLLLLLMMLLLLLLLLLLLLMMLLLLLLMMLLLLLLLLLLLLLLLLMMLLLLLLLLLLMMLLMMLLMMLLLLLLLLLLLLLLMMLLLLMMLLLLMMLLLLLLLLLLLLLLLLLLLLLLLLMMLLLLMMLLLLMMLLLLLLLLLLLLLLMMLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMMMMLLMMLLMMLLLLLLMMLLLLLLMMLLLLLLLLLLLLLLLLLLMMLLLLLLLLLLLLLLLLLLMMLLMMLLLLLLLLLLLLLLMMLLLLLLLLLLLLLLLLLLLLMMLLLLLLLLLLLLLLMMLLLLLLLLLLLLMMLLLLLLLLLLLLLLLLLLLLMMLLLLLLLLMMMMMMLLLLMMMMLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMMLLLLLLLLLLMMLLLLMMLLLLLLMMLLLLMMLLMMLLLLMMLLLLLLLLMMLLLLLLLLLLLLLLLLLLLLLLMMLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMMLLLLLLLLLLLLMMLLLLLLLLLLLLLLLLLLLLMMLLMMMMLLLLLLLLMMLLLLLLLLLLLLLLMMLLLLMMLLLLLLLLLLLLMMMMLLMMLLLLMMLLLLMMLLLLLLMMLLLLLLMMMMMMLLLLLLLLMMLLLLLLLLLLLLMMLLLLLLMMLLMMLLLLLLMMLLLLLLLLMMLLLLLLLLMMLLLLLLLLLLLLLLLLLLMMLLLLLLLLLLLLLLLLLLLLLLLLLLMMMMLLMMLLMMLLLLLLMMLLLLLLLLLLLLMMLLLLLLLLMMMMLLLLLLLLLLLLLLLLLLLLMMLLLLMMLLLLLLLLMMLLLLLLLLLLLLLLMMLLLLLLMMLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMMLLLLLLLLLLLLLLLLMMMMLLLLLLLLLLLLLLLLLLMMLLLLLLLLMMLLLLLLMMLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMMLLLLLLMMLLLLLLLLMMLLLLLLLLLLLLLLLLLLMMLLLLLLLLLLLLLLMMLLLLLLLLLLLLLLLLLLLLMMLLLLLLLLLLLLLLLLLLMMMMLLLLLLLLLLLLLLMMLLLLLLLLLLLLLLLLLLLLLLLLMMLLLLMMLLMMLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMMMMLLLLLLMMLLLLLLLLLLMMLLLLLLMMLLLLMMLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMMLLLLLLLLLLLLMMLLLLLLLLLLLLLLLLLLLLMMLLLLLLLLMMLLLLLLLLLLMMLLLLLLLLLLLLLLLLLLLLLLLLLLMMLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMMLLLLLLMMLLLLLLLLMMLLLLLLLLLLLLLLLLLLLLMMLLLLLLLLMMLLMMLLMMLLLLLLLLLLLLMMLLMMLLLLLLLLLLLLLLLLLLLLMMLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMMLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMMLLLLLLLLLLLLMMLLLLLLLLLLLLLLLLLLLLLLMMLLLLLLLLLLMMLLLLLLLLMMLLLLLLLLLLLLLLMMLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMMLLLLLLLLLLLLLLLLLLLLLLMMLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMMLLLLLLLLLLLLMMLLLLLLLLLLLLMMLLLLLLLLLLLLLLLLLLLLLLLLLLLLMMLLLLLLLLLLLLLLLLLLLLLLMMLLLLLLMMLLLLLLLLLLLLLLLLLLLLLLMMLLLLLLLLLLLLLLLLLLLLMMLLMMMMLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMMLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMMLLLLLLLLLLLLLLLLLLMMLLLLLLLLLLLLLLLLLLLLMMLLLLLLLLMMLLLLLLLLLLMMLLLLLLMMLLMMLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMMLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMMLLLLLLLLLLLLLLLLLLLLLLMMLLLLLLMMMMLLLLLLLLLLLLLLLLLLLLMMLLLLLLLLLLLLLLLLLLLLLLLLLLMMLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMMLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMMLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMMLLLLMMMMLLLLLLLLLLLLLLMMLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMMLLMMLLLLLLLLLLLLLLLLMMMMLLLLLLLLLLLLLLLLLLLLLLLLLLLLMMLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMMLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMMMMLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMMLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMMLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMMLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMMLLLLLLMMLLMMLLMMLLLLLLLLLLLLMMLLLLLLLLLLLLLLMMLLLLMMLLLLMMLLLLLLLLLLLLMMLLLLMMLLLLLLLLLLMMLLLLLLMMLLLLMMLLLLLLLLMMMMLLLLLLMMLLMMLLLLMMLLLLLLMMMMMMLLLLLLLLLLLLLLLLLLMMLLMMLLLLLLLLLLLLLLLLLLLLLLLLMMLLLLLLLLMMLLLLLLLLLLLLLLMMLLLLLLMMLLLLLLLLLLMMLLLLLLMMMMLLLLLLLLLLMMLLLLLLLLLLLLLLLLMMLLMMLLLLLLMMLLLLLLLLLLLLLLLLLLLLLLMMMMLLLLMMLLMMLLLLMMLLLLMMLLLLMMLLLLLLLLLLLLLLLLMMLLLLLLLLMMLLLLLLLLLLLLMMLLLLLLMMLLLLLLLLLLLLLLLLMMLLLLLLLLLLMMLLMMLLMMLLLLLLLLLLLLLLMMLLLLMMLLLLMMLLLLLLLLLLLLLLLLLLLLLLLLMMLLLLMMLLLLMMLLLLLLLLLLLLLLMMLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMMMMLLMMLLMMLLLLLLMMLLLLLLMMLLLLLLLLLLLLLLLLLLMMLLLLLLLLLLLLLLLLLLMMLLMMLLLLLLLLLLLLLLMMLLLLLLLLLLLLLLLLLLLLMMLLLLLLLLLLLLLLMMLLLLLLLLLLLLMMLLLLLLLLLLLLLLLLLLLLMMLLLLLLLLMMMMMMLLLLMMMMLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMMLLLLLLLLLLMMLLLLMMLLLLLLMMLLLLMMLLMMLLLLMMLLLLLLLLMMLLLLLLLLLLLLLLLLLLLLLLMMLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMMLLLLLLLLLLLLMMLLLLLLLLLLLLLLLLLLLLMMLLMMMMLLLLLLLLMMLLLLLLLLLLLLLLMMLLLLMMLLLLLLLLLLLLMMMMLLMMLLLLMMLLLLMMLLLLLLMMLLLLLLMMMMMMLLLLLLLLMMLLLLLLLLLLLLMMLLLLLLMMLLMMLLLLLLMMLLLLLLLLMMLLLLLLLLMMLLLLLLLLLLLLLLLLLLMMLLLLLLLLLLLLLLLLLLLLLLLLLLMMMMLLMMLLMMLLLLLLMMLLLLLLLLLLLLMMLLLLLLLLMMMMLLLLLLLLLLLLLLLLLLLLMMLLLLMMLLLLLLLLMMLLLLLLLLLLLLLLMMLLLLLLMMLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMMLLLLLLLLLLLLLLLLMMMMLLLLLLLLLLLLLLLLLLMMLLLLLLLLMMLLLLLLMMLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMMLLLLLLMMLLLLLLLLMMLLLLLLLLLLLLLLLLLLMMLLLLLLLLLLLLLLMMLLLLLLLLLLLLLLLLLLLLMMLLLLLLLLLLLLLLLLLLMMMMLLLLLLLLLLLLLLMMLLLLLLLLLLLLLLLLLLLLLLLLMMLLLLMMLLMMLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMMMMLLLLLLMMLLLLLLLLLLMMLLLLLLMMLLLLMMLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMMLLLLLLLLLLLLMMLLLLLLLLLLLLLLLLLLLLMMLLLLLLLLMMLLLLLLLLLLMMLLLLLLLLLLLLLLLLLLLLLLLLLLMMLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMMLLLLLLMMLLLLLLLLMMLLLLLLLLLLLLLLLLLLLLMMLLLLLLLLMMLLMMLLMMLLLLLLLLLLLLMMLLMMLLLLLLLLLLLLLLLLLLLLMMLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMMLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMMLLLLLLLLLLLLMMLLLLLLLLLLLLLLLLLLLLLLMMLLLLLLLLLLMMLLLLLLLLMMLLLLLLLLLLLLLLMMLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMMLLLLLLLLLLLLLLLLLLLLLLMMLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMMLLLLLLLLLLLLMMLLLLLLLLLLLLMMLLLLLLLLLLLLLLLLLLLLLLLLLLLLMMLLLLLLLLLLLLLLLLLLLLLLMMLLLLLLMMLLLLLLLLLLLLLLLLLLLLLLMMLLLLLLLLLLLLLLLLLLLLMMLLMMMMLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMMLLLLLLLLLLMMLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMMLLLLLLLLLLLLLLLLLLMMLLLLLLLLLLLLLLLLLLLLMMLLLLLLLLMMLLLLLLLLLLMMLLLLLLMMLLMMLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMMLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMMLLLLLLLLLLLLLLLLLLLLLLMMLLLLLLMMMMLLLLLLLLLLLLLLLLLLLLMMLLLLLLLLLLLLLLLLLLLLLLLLLLMMLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMMLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMMLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMMLLLLMMMMLLLLLLLLLLLLLLMMLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMMLLMMLLLLLLLLLLLLLLLLMMMMLLLLLLLLLLLLLLLLLLLLLLLLLLLLMMLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMMLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMMMMLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMMLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMMLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMMLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMMLLLLLLLLLLLLMMMMLLLLLLLLLLMMMMLLLLMMMMLLLLLLLLMMLLLLMMLLLLLLLLMMLLMMLLMMLLLLLLLLLLMMMMLLLLLLLLMMMMLLMMLLLLLLMMMMMMMMMMLLLLLLLLMMLLLLLLLLMMLLMMMMMMLLMMMMMMLLMMLLMMLLLLLLMMLLMMLLLLLLMMLLLLLLMMLLLLLLLLLLLLLLMMLLMMLLLLMMLLMMLLMMMMLLLLMMLLLLLLMMMMLLMMLLLLMMLLLLMMLLLLLLMMLLLLMMLLLLMMLLLLLLMMMMLLLLMMMMMMMMMMMMMMMMLLLLMMMMMMMMMMMMLLMMLLMMMMMMLLMMMMMMMMLLMMLLLLLLLLMMMMLLLLLLMMMMLLMMLLLLMMLLMMMMLLLLLLLLLLMMLLLLLLMMLLLLLLLLLLMMLLLLLLMMLLLLMMLLLLLLMMLLMMLLLLLLMMMMLLLLLLLLLLMMLLLLLLLLLLLLLLLLLLLLLLLLLLMMMMLLLLLLLLLLLLMMLLLLMMMMLLLLLLLLLLLLLLMMMMLLLLLLLLMMLLLLMMLLMMLLLLLLMMLLLLMMLLLLMMMMLLLLLLLLLLMMLLMMLLLLLLLLLLLLMMMMLLLLMMLLLLLLLLMMLLMMMMLLLLMMLLLLMMLLLLLLLLLLLLMMMMLLLLMMLLLLLLLLLLLLLLLLLLLLMMLLLLLLLLLLMMMMLLMMMMLLLLMMLLMMLLLLMMLLMMLLLLMMMMMMMMLLMMMMMMMMMMLLLLLLLLLLMMLLLLLLLLLLMMLLLLLLLLLLMMLLMMLLMMMMLLMMMMLLMMLLMMMMLLLLLLMMMMLLLLLLMMMMMMMMMMLLLLLLLLLLLLLLMMLLMMMMLLLLLLLLMMMMLLLLLLLLLLLLMMLLMMLLMMMMLLMMLLMMLLMMLLLLLLLLMMLLMMMMLLLLMMLLLLMMMMLLLLMMLLLLLLLLLLLLLLMMMMLLLLLLLLLLLLLLMMLLMMLLLLLLLLLLMMLLMMLLMMLLLLLLMMMMMMLLLLMMLLMMMMLLLLMMLLLLMMLLLLLLLLMMLLLLLLMMMMLLMMMMLLLLMMMMLLMMLLLLLLMMLLLLMMLLLLMMLLLLLLMMLLLLLLLLLLLLMMLLLLLLLLMMLLLLMMLLLLLLMMLLLLLLLLLLLLLLLLMMLLLLLLLLLLMMLLMMLLLLLLLLLLLLLLMMLLLLMMLLMMMMMMLLLLMMMMLLLLLLLLMMLLLLLLMMMMLLLLLLLLLLMMMMLLMMMMMMLLMMLLLLLLLLMMLLMMMMLLLLMMMMLLLLMMLLMMLLLLLLLLLLLLLLLLMMMMLLLLMMLLLLMMMMLLLLLLLLLLLLLLLLLLLLMMLLLLLLMMLLLLLLLLLLLLLLLLLLMMLLLLLLLLLLMMLLMMMMLLLLLLLLLLLLLLLLLLMMMMLLMMLLMMMMLLLLLLLLLLLLLLLLLLLLLLLLLLMMLLMMLLLLLLLLLLLLLLLLLLMMLLMMMMLLLLLLLLMMLLLLLLMMLLLLMMLLLLMMMMLLMMLLLLMMLLLLLLMMLLLLLLMMMMLLMMLLMMLLMMLLLLLLMMMMLLMMMMLLMMLLLLLLLLMMLLMMLLLLLLLLLLLLLLLLLLMMLLMMLLLLLLLLLLLLLLLLMMLLLLMMLLLLLLLLLLLLLLMMLLMMLLLLLLLLLLMMLLMMLLLLLLLLMMMMLLLLLLLLLLLLLLMMLLLLLLLLLLLLMMMMMMLLLLLLLLLLLLMMLLLLMMMMLLMMLLLLLLLLLLLLLLLLMMMMLLMMMMLLLLMMMMLLLLLLMMLLLLLLLLMMMMMMMMLLMMLLLLLLLLLLLLLLLLLLLLMMLLLLMMLLLLLLLLLLLLLLLLLLLLLLMMLLMMMMLLLLLLLLLLLLLLLLLLLLLLMMLLLLMMLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMMMMLLLLLLLLLLLLMMLLMMLLLLLLLLLLLLLLLLMMLLLLLLLLLLLLLLLLMMLLLLLLLLMMLLLLLLLLLLMMLLLLLLLLLLLLLLMMMMLLLLLLLLMMLLLLLLLLLLMMLLLLMMLLLLLLLLLLLLLLLLMMLLLLLLMMMMLLLLLLLLLLLLMMLLLLLLLLLLLLMMLLMMLLMMLLLLLLLLMMMMLLLLMMLLLLLLLLMMMMLLMMLLLLLLLLLLLLMMMMLLLLMMLLLLLLMMLLLLMMLLMMLLLLMMLLMMLLLLLLLLLLLLLLLLLLLLLLMMMMLLLLLLLLLLLLLLLLLLLLMMLLLLMMLLLLLLLLLLLLLLLLLLLLLLLLLLMMLLLLMMLLLLLLMMLLLLLLLLLLLLLLLLMMLLMMLLLLLLLLMMMMLLLLMMLLLLLLLLLLLLLLMMLLLLLLLLLLLLMMMMLLLLMMLLMMLLMMLLLLMMLLMMMMLLLLMMLLLLLLLLMMLLLLLLLLLLLLMMMMLLLLLLLLLLLLMMMMMMLLLLLLLLLLLLMMMMLLLLLLMMMMLLMMLLLLLLLLLLLLLLMMLLLLMMMMMMMMLLLLMMLLMMLLLLLLLLLLMMLLMMLLMMLLMMMMLLMMLLLLLLLLLLLLLLLLMMLLLLLLMMLLLLLLLLLLMMLLLLLLLLMMLLLLLLLLLLMMLLMMLLLLLLLLLLMMLLLLLLLLLLLLMMLLLLLLMMLLLLLLMMLLLLLLLLLLLLLLMMLLLLLLMMLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMMLLLLLLLLLLLLLLLLLLMMLLLLLLMMLLLLLLLLLLLLLLLLMMLLLLLLLLLLLLMMLLMMLLMMLLLLLLMMMMMMLLLLLLLLLLLLLLLLLLLLMMLLLLLLLLLLLLLLLLLLLLLLLLMMLLLLLLLLLLMMLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMMLLLLLLMMLLLLMMMMMMLLLLLLLLLLLLLLMMLLLLLLMMLLLLLLLLLLLLLLMMLLLLLLLLLLLLLLMMLLLLMMLLLLLLLLLLLLMMMMLLMMLLLLMMLLLLMMLLMMLLMMLLLLLLLLLLLLLLLLLLLLLLLLLLMMLLLLLLMMLLLLLLLLLLLLLLLLLLMMLLLLLLLLMMLLLLMMLLMMLLLLLLLLLLLLLLLLLLMMLLLLLLLLLLLLLLLLLLMMLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMMMMLLLLMMLLLLLLLLMMLLLLMMLLLLLLLLLLMMLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMMLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMMMMMMLLLLLLLLLLLLLLLLMMLLLLLLLLMMLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMMLLLLMMLLLLLLLLLLLLMMLLLLLLLLMMMMLLLLLLLLLLLLLLLLLLLLLLLLMMMMLLLLLLLLLLLLLLMMLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMMMMLLLLLLMMLLLLLLLLLLLLMMMMLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMMLLLLLLLLLLLLMMLLMMLLLLMMLLLLLLLLLLLLLLLLMMLLLLLLLLLLLLLLLLLLLLMMLLMMMMMMLLLLLLLLLLLLLLLLLLMMLLMMLLLLLLLLMMLLLLMMLLLLMMLLLLLLLLLLLLMMMMLLLLLLLLLLMMLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMMLLLLLLLLLLLLLLMMLLLLMMLLLLLLLLLLLLLLMMLLLLLLLLLLLLMMMMLLLLLLLLLLMMMMLLLLMMMMLLLLLLLLMMLLLLMMLLLLLLLLMMMMMMLLMMLLLLLLLLLLMMMMLLLLLLLLMMMMLLMMLLLLLLMMMMMMMMMMLLLLLLLLMMLLLLLLLLMMLLMMMMMMLLMMMMMMLLMMLLMMLLLLLLMMLLMMLLLLLLMMLLLLLLMMLLLLLLLLLLLLLLMMLLMMLLLLMMLLMMLLMMMMLLLLMMLLLLLLMMMMLLMMLLLLMMLLLLMMLLLLLLMMLLLLMMLLLLMMLLLLLLMMMMLLLLMMMMMMMMMMMMMMMMLLLLMMMMMMMMMMMMLLMMLLMMMMMMLLMMMMMMMMLLMMLLLLLLLLMMMMLLLLLLMMMMLLMMLLLLMMLLMMMMLLLLLLLLLLMMLLLLLLMMLLLLLLLLLLMMLLLLLLMMLLLLMMLLLLLLMMLLMMLLLLLLMMMMLLLLLLLLLLMMLLLLLLLLLLLLLLLLLLLLLLLLLLMMMMLLLLLLLLLLLLMMLLLLMMMMLLLLLLLLLLLLLLMMMMLLLLLLLLMMLLLLMMLLMMLLLLLLMMLLLLMMLLLLMMMMLLLLLLLLLLMMLLMMLLLLLLLLLLLLMMMMLLLLMMLLLLLLLLMMLLMMMMLLLLMMLLLLMMLLLLLLLLLLLLMMMMLLLLMMLLLLLLLLLLLLLLLLLLLLMMLLLLLLLLLLMMMMLLMMMMLLLLMMLLMMLLLLMMLLMMLLLLMMMMMMMMLLMMMMMMMMMMLLLLLLLLLLMMLLLLLLLLLLMMLLLLLLLLLLMMLLMMLLMMMMLLMMMMLLMMLLMMMMLLLLLLMMMMLLLLLLMMMMMMMMMMLLLLLLLLLLLLLLMMLLMMMMLLLLLLLLMMMMLLLLLLLLLLLLMMLLMMLLMMMMLLMMLLMMLLMMLLLLLLLLMMLLMMMMLLLLMMLLLLMMMMLLLLMMLLLLLLLLLLLLLLMMMMLLLLLLLLLLLLLLMMLLMMLLLLLLLLLLMMLLMMLLMMLLLLLLMMMMMMLLLLMMLLMMMMLLLLMMLLLLMMLLLLLLLLMMLLLLLLMMMMLLMMMMLLLLMMMMLLMMLLLLLLMMLLLLMMLLLLMMLLLLLLMMLLLLLLLLLLLLMMLLLLLLLLMMLLLLMMLLLLLLMMLLLLLLLLLLLLLLLLMMLLLLLLLLLLMMLLMMLLLLLLLLLLLLLLMMLLLLMMLLMMMMMMLLLLMMMMLLLLLLLLMMLLLLLLMMMMLLLLLLLLLLMMMMLLMMMMMMLLMMLLLLLLLLMMLLMMMMLLLLMMMMLLLLMMLLMMLLLLLLLLLLLLLLLLMMMMLLLLMMLLLLMMMMLLLLLLLLLLLLLLLLLLLLMMLLLLLLMMLLLLLLLLLLLLLLLLLLMMLLLLLLLLLLMMLLMMMMLLLLLLLLLLLLLLLLLLMMMMLLMMLLMMMMLLLLLLLLLLLLLLLLLLLLLLLLLLMMLLMMLLLLLLLLLLLLLLLLLLMMLLMMMMLLLLLLLLMMLLLLLLMMLLLLMMLLLLMMMMLLMMLLLLMMLLLLLLMMLLLLLLMMMMLLMMLLMMLLMMLLLLLLMMMMLLMMMMLLMMLLLLLLLLMMLLMMLLLLLLLLLLLLLLLLLLMMLLMMLLLLLLLLLLLLLLLLMMLLLLMMLLLLLLLLLLLLLLMMLLMMLLLLLLLLLLMMLLMMLLLLLLLLMMMMLLLLLLLLLLLLLLMMLLLLLLLLLLLLMMMMMMLLLLLLLLLLLLMMLLLLMMMMLLMMLLLLLLLLLLLLLLLLMMMMLLMMMMLLLLMMMMLLLLLLMMLLLLLLLLMMMMMMMMLLMMLLLLLLLLLLLLLLLLLLLLMMLLLLMMLLLLLLLLLLLLLLLLLLLLLLMMLLMMMMLLLLLLLLLLLLLLLLLLLLLLMMLLLLMMLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMMMMLLLLLLLLLLLLMMLLMMLLLLLLLLLLLLLLLLMMLLLLLLLLLLLLLLLLMMLLLLLLLLMMLLLLLLLLLLMMLLLLLLLLLLLLLLMMMMLLLLLLLLMMLLLLLLLLLLMMLLLLMMLLLLLLLLLLLLLLLLMMLLLLLLMMMMLLLLLLLLLLLLMMLLLLLLLLLLLLMMLLMMLLMMLLLLLLLLMMMMLLLLMMLLLLLLLLMMMMLLMMLLLLLLLLLLLLMMMMLLLLMMLLLLLLMMLLLLMMLLMMLLLLMMLLMMLLLLLLLLLLLLLLLLLLLLLLMMMMLLLLLLLLLLLLLLLLLLLLMMLLLLMMLLLLLLLLLLLLLLLLLLLLLLLLLLMMLLLLMMLLLLLLMMLLLLLLLLLLLLLLLLMMLLMMLLLLLLLLMMMMLLLLMMLLLLLLLLLLLLLLMMLLLLLLLLLLLLMMMMLLLLMMLLMMLLMMLLLLMMLLMMMMLLLLMMLLLLLLLLMMLLLLLLLLLLLLMMMMLLLLLLLLLLLLMMMMMMLLLLLLLLLLLLMMMMLLLLLLMMMMLLMMLLLLLLLLLLLLLLMMLLLLMMMMMMMMLLLLMMLLMMLLLLLLLLLLMMLLMMLLMMLLMMMMLLMMLLLLLLLLLLLLLLLLMMLLLLLLMMLLLLLLLLLLMMLLLLLLLLMMLLLLLLLLLLMMLLMMLLLLLLLLLLMMLLLLLLLLLLLLMMLLLLLLMMLLLLLLMMLLLLLLLLLLLLLLMMLLLLLLMMLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMMLLLLLLLLLLLLLLLLLLMMLLLLLLMMLLLLLLLLLLLLLLLLMMLLLLLLLLLLLLMMLLMMLLMMLLLLLLMMMMMMLLLLLLLLLLLLLLLLLLLLMMLLLLLLLLLLLLLLLLLLLLLLLLMMLLLLLLLLLLMMLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMMLLLLLLMMLLLLMMMMMMLLLLLLLLLLLLLLMMLLLLLLMMLLLLLLLLLLLLLLMMLLLLLLLLLLLLLLMMLLLLMMLLLLLLLLLLLLMMMMLLMMLLLLMMLLLLMMLLMMLLMMLLLLLLLLLLLLLLLLLLLLLLLLLLMMLLLLLLMMLLLLLLLLLLLLLLLLLLMMLLLLLLLLMMLLLLMMLLMMLLLLLLLLLLLLLLLLLLMMLLLLLLLLLLLLLLLLLLMMLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMMMMLLLLMMLLLLLLLLMMLLLLMMLLLLLLLLLLMMLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMMLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMMMMMMLLLLLLLLLLLLLLLLMMLLLLLLLLMMLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMMLLLLMMLLLLLLLLLLLLMMLLLLLLLLMMMMLLLLLLLLLLLLLLLLLLLLLLLLMMMMLLLLLLLLLLLLLLMMLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMMMMLLLLLLMMLLLLLLLLLLLLMMMMLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMMLLLLLLLLLLLLMMLLMMLLLLMMLLLLLLLLLLLLLLLLMMLLLLLLLLLLLLLLLLLLLLMMLLMMMMMMLLLLLLLLLLLLLLLLLLMMLLMMLLLLLLLLMMLLLLMMLLLLMMLLLLLLLLLLLLMMMMLLLLLLLLLLMMLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMMLLLLLLLLLLLLLLMMLLLLMMLLLLLLLLLLLLLLMMMMMMMMLLMMMMMMMMLLLLMMMMMMLLMMMMMMLLLLMMMMMMMMLLLLMMMMMMLLMMMMMMLLLLLLMMMMMMLLLLMMMMMMLLLLMMLLMMMMMMLLLLMMMMMMLLLLMMMMLLMMLLLLLLMMMMMMMMMMMMMMMMLLMMMMMMLLMMMMMMLLMMLLMMLLLLMMLLMMMMMMMMLLMMMMMMMMMMLLMMMMMMMMMMMMLLMMLLLLMMMMMMMMMMMMMMLLMMLLLLMMMMLLMMMMLLLLMMMMMMMMMMLLMMMMLLLLMMLLMMMMMMLLMMMMMMMMMMMMMMMMMMMMMMMMMMMMLLMMMMLLMMMMMMLLLLMMMMMMMMLLLLLLMMMMMMMMLLLLLLMMLLMMMMMMMMMMMMMMMMMMMMMMMMLLLLMMLLLLMMMMMMMMLLMMLLLLLLMMMMLLLLLLMMLLMMMMMMMMLLMMMMMMMMMMMMMMMMMMLLMMMMMMLLMMLLMMMMMMMMMMMMMMMMMMMMLLLLLLMMLLMMMMLLLLMMLLLLMMLLLLLLLLMMMMMMMMLLMMMMMMLLLLMMLLLLLLLLLLMMLLMMLLLLLLMMMMLLLLLLMMLLMMMMMMMMMMMMMMLLLLLLLLMMMMLLMMLLMMMMLLLLMMMMMMLLLLLLMMMMMMMMMMMMLLMMLLMMLLMMMMLLLLMMMMLLMMLLMMMMMMMMLLMMLLLLMMMMMMMMMMLLMMMMLLMMMMLLMMMMLLLLMMMMMMLLMMMMMMMMMMMMLLLLLLMMMMMMLLLLMMMMMMLLMMLLLLMMMMMMMMMMLLMMLLLLMMMMLLMMMMLLMMMMMMMMMMMMLLLLMMLLMMMMLLLLMMMMLLLLMMMMLLMMLLLLLLMMLLMMMMMMLLLLLLMMLLLLMMMMMMMMMMLLMMMMLLLLLLLLLLLLMMLLMMLLMMMMLLMMLLLLMMLLLLLLLLMMMMLLMMLLLLMMLLMMMMMMMMLLMMMMMMLLLLMMLLLLMMLLMMLLLLMMLLMMMMMMMMLLLLMMLLMMLLLLMMMMMMMMLLMMLLMMLLLLMMMMMMMMMMLLMMLLMMLLMMMMMMMMMMMMMMLLLLMMLLLLMMMMMMMMLLLLLLMMMMMMMMMMLLLLMMLLLLLLMMMMMMLLLLMMLLMMLLMMLLMMLLMMLLLLMMLLMMMMLLLLMMLLMMLLMMLLLLMMMMLLMMMMMMLLMMLLMMMMLLMMMMMMLLLLLLLLMMMMMMLLMMLLMMMMMMLLMMLLMMMMLLMMLLLLLLLLMMMMLLMMMMMMMMLLLLMMLLMMLLMMMMMMMMLLLLMMLLLLMMLLMMMMLLLLLLMMMMMMMMMMLLMMLLLLMMMMMMLLMMMMMMMMMMMMMMLLLLMMMMLLLLMMMMMMLLLLMMLLMMMMLLMMLLMMMMLLLLMMMMMMLLMMLLLLMMMMLLMMLLMMMMLLLLLLMMLLMMLLMMLLLLMMLLMMLLMMMMMMMMMMMMMMMMLLLLMMMMMMLLMMLLLLMMLLMMLLLLLLLLLLMMMMMMLLLLMMLLLLMMMMMMMMLLLLMMMMLLLLMMMMLLLLLLLLMMLLMMLLMMMMLLLLMMLLMMMMMMMMMMMMMMMMLLLLLLMMLLLLMMMMMMMMLLMMLLMMLLMMLLMMMMLLLLMMMMLLLLLLLLMMMMLLMMMMMMMMMMLLMMMMLLLLLLMMMMMMMMMMLLLLMMLLMMMMLLLLLLMMMMMMMMLLLLLLLLMMMMLLLLMMMMMMLLMMLLLLLLMMMMLLLLMMMMLLLLMMMMLLLLLLLLLLLLLLLLMMMMLLLLLLLLLLMMMMMMMMLLLLMMMMLLLLMMMMMMMMMMLLMMMMLLLLMMLLMMLLMMMMMMLLMMMMMMMMMMMMMMMMLLMMLLLLLLMMMMMMLLLLMMMMLLLLMMMMLLLLMMMMLLLLLLMMLLLLMMLLMMLLLLMMLLLLLLLLMMMMMMMMLLLLLLLLMMLLLLLLLLMMMMLLLLLLLLLLLLLLMMLLMMMMMMMMLLLLLLMMLLMMMMMMMMLLLLLLMMMMLLLLLLMMMMMMMMLLLLLLLLMMMMLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMMLLMMMMLLLLLLLLLLLLLLLLLLMMMMLLLLMMMMLLMMLLLLMMMMMMLLMMLLLLMMMMMMMMLLMMMMMMLLLLMMMMMMMMLLMMLLLLLLMMLLLLMMLLLLLLLLMMLLMMLLLLLLLLLLLLLLLLMMMMLLLLMMLLLLLLMMMMMMMMMMLLLLLLMMMMMMLLMMLLMMLLLLLLLLLLMMLLLLMMLLMMLLMMMMLLLLLLLLLLLLLLLLLLMMMMLLLLMMMMLLMMLLLLMMMMMMLLMMLLLLMMMMMMMMLLMMMMMMLLLLMMMMMMMMLLLLMMLLLLMMLLLLMMLLLLLLMMMMLLMMLLMMLLLLLLLLMMLLMMLLLLLLLLLLMMMMMMMMMMLLLLMMLLMMLLLLLLLLLLLLMMLLMMLLLLLLMMMMMMMMMMLLMMMMMMMMLLLLMMMMLLMMLLLLLLMMLLMMLLMMMMLLLLLLMMMMLLLLMMLLLLLLLLLLLLMMLLMMMMMMLLLLMMMMMMLLMMMMLLLLMMLLLLLLMMLLLLLLLLMMLLLLMMLLLLLLLLLLLLMMLLMMMMMMLLLLMMLLMMLLMMLLMMLLLLLLLLLLMMLLLLLLLLLLMMLLMMMMLLLLLLLLLLLLMMLLLLLLMMLLLLMMLLLLLLLLMMLLLLLLMMMMMMMMMMLLMMLLMMMMMMMMLLLLMMLLLLMMMMMMMMMMLLMMMMLLLLMMLLMMLLLLLLMMMMMMLLLLLLMMMMMMLLLLLLMMMMLLLLLLLLMMLLLLLLLLMMLLLLLLMMLLLLLLMMLLLLLLLLMMLLLLLLLLLLMMMMMMMMLLMMLLMMLLLLLLLLMMLLLLLLLLLLLLLLLLLLLLLLLLLLMMLLLLLLMMLLMMMMLLLLLLMMLLLLLLMMLLLLMMMMLLLLMMLLLLLLLLMMLLLLMMMMLLLLLLLLLLLLLLMMLLMMLLLLLLLLLLMMLLLLLLMMLLLLLLLLMMMMLLLLMMLLMMMMLLLLLLLLLLMMLLLLMMMMLLMMLLLLMMMMLLMMMMMMMMMMMMLLMMLLLLLLMMLLLLLLLLLLLLLLLLLLMMLLLLLLLLLLLLMMLLLLLLLLMMMMMMLLLLMMLLLLLLLLLLLLLLLLLLLLMMLLLLLLLLLLMMLLMMLLLLLLLLMMLLMMMMLLLLMMLLMMMMMMLLLLMMMMMMLLMMLLMMLLLLLLMMLLLLLLLLLLLLMMMMLLMMMMMMLLMMLLLLLLLLMMLLMMMMLLLLMMMMLLLLLLLLMMLLLLLLLLLLLLLLLLMMMMLLLLLLLLLLMMMMLLLLLLLLLLLLMMLLLLLLMMLLLLLLMMLLLLLLLLLLLLLLLLLLMMLLLLLLLLMMMMMMMMMMLLLLLLLLLLLLMMLLLLMMMMLLMMLLMMLLLLLLLLLLLLLLLLLLLLLLLLMMLLMMLLMMLLMMMMLLMMLLLLLLLLLLLLLLMMLLLLLLLLMMMMLLLLLLLLLLLLLLMMMMLLLLLLLLLLLLLLLLLLLLLLMMMMMMMMMMLLLLMMLLMMMMLLLLMMMMLLLLLLLLLLMMLLLLLLMMLLLLLLLLLLLLLLLLLLLLMMLLLLMMLLLLLLMMLLLLLLLLLLLLLLLLLLLLMMLLLLMMLLLLLLLLLLLLLLMMMMMMLLLLLLLLLLLLLLLLLLLLLLLLMMLLMMLLMMLLLLMMMMLLMMMMMMLLLLLLMMLLLLLLLLLLLLMMLLLLLLLLLLMMMMLLMMMMLLLLLLLLMMLLLLLLMMLLLLMMLLLLLLLLMMLLLLLLMMLLLLMMMMLLLLLLLLMMLLLLMMMMMMMMLLMMMMMMMMLLLLMMMMMMLLMMMMMMLLLLMMMMMMMMLLLLMMMMMMLLMMMMMMMMLLLLMMMMMMLLLLMMMMMMLLLLMMLLMMMMMMLLLLMMMMMMLLLLMMMMLLMMLLLLLLMMMMMMMMMMMMMMMMLLMMMMMMLLMMMMMMLLMMLLMMLLLLMMLLMMMMMMMMLLMMMMMMMMMMLLMMMMMMMMMMMMLLMMLLLLMMMMMMMMMMMMMMLLMMLLLLMMMMLLMMMMLLLLMMMMMMMMMMLLMMMMLLLLMMLLMMMMMMLLMMMMMMMMMMMMMMMMMMMMMMMMMMMMLLMMMMLLMMMMMMLLLLMMMMMMMMLLLLLLMMMMMMMMLLLLLLMMLLMMMMMMMMMMMMMMMMMMMMMMMMLLLLMMLLLLMMMMMMMMLLMMLLLLLLMMMMLLLLLLMMLLMMMMMMMMLLMMMMMMMMMMMMMMMMMMLLMMMMMMLLMMLLMMMMMMMMMMMMMMMMMMMMLLLLLLMMLLMMMMLLLLMMLLLLMMLLLLLLLLMMMMMMMMLLMMMMMMLLLLMMLLLLLLLLLLMMLLMMLLLLLLMMMMLLLLLLMMLLMMMMMMMMMMMMMMLLLLLLLLMMMMLLMMLLMMMMLLLLMMMMMMLLLLLLMMMMMMMMMMMMLLMMLLMMLLMMMMLLLLMMMMLLMMLLMMMMMMMMLLMMLLLLMMMMMMMMMMLLMMMMLLMMMMLLMMMMLLLLMMMMMMLLMMMMMMMMMMMMLLLLLLMMMMMMLLLLMMMMMMLLMMLLLLMMMMMMMMMMLLMMLLLLMMMMLLMMMMLLMMMMMMMMMMMMLLLLMMLLMMMMLLLLMMMMLLLLMMMMLLMMLLLLLLMMLLMMMMMMLLLLLLMMLLLLMMMMMMMMMMLLMMMMLLLLLLLLLLLLMMLLMMLLMMMMLLMMLLLLMMLLLLLLLLMMMMLLMMLLLLMMLLMMMMMMMMLLMMMMMMLLLLMMLLLLMMLLMMLLLLMMLLMMMMMMMMLLLLMMLLMMLLLLMMMMMMMMLLMMLLMMLLLLMMMMMMMMMMLLMMLLMMLLMMMMMMMMMMMMMMLLLLMMLLLLMMMMMMMMLLLLLLMMMMMMMMMMLLLLMMLLLLLLMMMMMMLLLLMMLLMMLLMMLLMMLLMMLLLLMMLLMMMMLLLLMMLLMMLLMMLLLLMMMMLLMMMMMMLLMMLLMMMMLLMMMMMMLLLLLLLLMMMMMMLLMMLLMMMMMMLLMMLLMMMMLLMMLLLLLLLLMMMMLLMMMMMMMMLLLLMMLLMMLLMMMMMMMMLLLLMMLLLLMMLLMMMMLLLLLLMMMMMMMMMMLLMMLLLLMMMMMMLLMMMMMMMMMMMMMMLLLLMMMMLLLLMMMMMMLLLLMMLLMMMMLLMMLLMMMMLLLLMMMMMMLLMMLLLLMMMMLLMMLLMMMMLLLLLLMMLLMMLLMMLLLLMMLLMMLLMMMMMMMMMMMMMMMMLLLLMMMMMMLLMMLLLLMMLLMMLLLLLLLLLLMMMMMMLLLLMMLLLLMMMMMMMMLLLLMMMMLLLLMMMMLLLLLLLLMMLLMMLLMMMMLLLLMMLLMMMMMMMMMMMMMMMMLLLLLLMMLLLLMMMMMMMMLLMMLLMMLLMMMMMMMMLLLLMMMMLLLLLLLLMMMMLLMMMMMMMMMMLLMMMMLLLLLLMMMMMMMMMMLLLLMMLLMMMMLLLLLLMMMMMMMMLLLLLLLLMMMMLLLLMMMMMMLLMMLLLLLLMMMMLLLLMMMMLLLLMMMMLLLLLLLLLLLLLLLLMMMMLLLLLLLLLLMMMMMMMMLLLLMMMMLLLLMMMMMMMMMMLLMMMMLLLLMMLLMMLLMMMMMMLLMMMMMMMMMMMMMMMMLLMMLLLLLLMMMMMMLLLLMMMMLLLLMMMMLLLLMMMMLLLLLLMMLLLLMMLLMMLLLLMMLLLLLLLLMMMMMMMMLLLLLLLLMMLLLLLLLLMMMMLLLLLLLLLLLLLLMMLLMMMMMMMMLLLLLLMMLLMMMMMMMMLLLLLLMMMMLLLLLLMMMMMMMMLLLLLLLLMMMMLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMMLLMMMMLLLLLLLLLLLLLLLLLLMMMMLLLLMMMMLLMMLLLLMMMMMMLLMMLLLLMMMMMMMMLLMMMMMMLLLLMMMMMMMMLLMMLLLLLLMMLLLLMMLLLLLLLLMMLLMMLLLLLLLLLLLLLLLLMMMMLLLLMMLLLLLLMMMMMMMMMMLLLLLLMMMMMMLLMMLLMMLLLLLLLLLLMMLLLLMMLLMMLLMMMMLLLLLLLLLLLLLLLLLLMMMMLLLLMMMMLLMMLLLLMMMMMMLLMMLLLLMMMMMMMMLLMMMMMMLLLLMMMMMMMMLLLLMMLLLLMMLLLLMMLLLLLLMMMMLLMMLLMMLLLLLLLLMMLLMMLLLLLLLLLLMMMMMMMMMMLLLLMMLLMMLLLLLLLLLLLLMMLLMMLLLLLLMMMMMMMMMMLLMMMMMMMMLLLLMMMMLLMMLLLLLLMMLLMMLLMMMMLLLLLLMMMMLLLLMMLLLLLLLLLLLLMMLLMMMMMMLLLLMMMMMMLLMMMMLLLLMMLLLLLLMMLLLLLLLLMMLLLLMMLLLLLLLLLLLLMMLLMMMMMMLLLLMMLLMMLLMMLLMMLLLLLLLLLLMMLLLLLLLLLLMMLLMMMMLLLLLLLLLLLLMMLLLLLLMMLLLLMMLLLLLLLLMMLLLLLLMMMMMMMMMMLLMMLLMMMMMMMMLLLLMMLLLLMMMMMMMMMMLLMMMMLLLLMMLLMMLLLLLLMMMMMMLLLLLLMMMMMMLLLLLLMMMMLLLLLLLLMMLLLLLLLLMMLLLLLLMMLLLLLLMMLLLLLLLLMMLLLLLLLLLLMMMMMMMMLLMMLLMMLLLLLLLLMMLLLLLLLLLLLLLLLLLLLLLLLLLLMMLLLLLLMMLLMMMMLLLLLLMMLLLLLLMMLLLLMMMMLLLLMMLLLLLLLLMMLLLLMMMMLLLLLLLLLLLLLLMMLLMMLLLLLLLLLLMMLLLLLLMMLLLLLLLLMMMMLLLLMMLLMMMMLLLLLLLLLLMMLLLLMMMMLLMMLLLLMMMMLLMMMMMMMMMMMMLLMMLLLLLLMMLLLLLLLLLLLLLLLLLLMMLLLLLLLLLLLLMMLLLLLLLLMMMMMMLLLLMMLLLLLLLLLLLLLLLLLLLLMMLLLLLLLLLLMMLLMMLLLLLLLLMMLLMMMMLLLLMMLLMMMMMMLLLLMMMMMMLLMMLLMMLLLLLLMMLLLLLLLLLLLLMMMMLLMMMMMMLLMMLLLLLLLLMMLLMMMMLLLLMMMMLLLLLLLLMMLLLLLLLLLLLLLLLLMMMMLLLLLLLLLLMMMMLLLLLLLLLLLLMMLLLLLLMMLLLLLLMMLLLLLLLLLLLLLLLLLLMMLLLLLLLLMMMMMMMMMMLLLLLLLLLLLLMMLLLLMMMMLLMMLLMMLLLLLLLLLLLLLLLLLLLLLLLLMMLLMMLLMMLLMMMMLLMMLLLLLLLLLLLLLLMMLLLLLLLLMMMMLLLLLLLLLLLLLLMMMMLLLLLLLLLLLLLLLLLLLLLLMMMMMMMMMMLLLLMMLLMMMMLLLLMMMMLLLLLLLLLLMMLLLLLLMMLLLLLLLLLLLLLLLLLLLLMMLLLLMMLLLLLLMMLLLLLLLLLLLLLLLLLLLLMMLLLLMMLLLLLLLLLLLLLLMMMMMMLLLLLLLLLLLLLLLLLLLLLLLLMMLLMMLLMMLLLLMMMMLLMMMMMMLLLLLLMMLLLLLLLLLLLLMMLLLLLLLLLLMMMMLLMMMMLLLLLLLLMMLLLLLLMMLLLLMMLLLLLLLLMMLLLLLLMMLLLLMMMMLLLLLLLLMMLLLLMMLLMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMLLMMMMMMMMMMMMLLMMMMMMLLMMMMMMMMMMMMMMMMMMMMLLLLMMMMMMMMMMMMMMMMMMLLMMMMMMMMMMMMMMMMMMLLLLMMLLMMMMMMLLMMMMMMMMMMLLMMMMMMMMLLMMMMLLMMMMMMMMMMMMMMLLMMLLMMMMMMMMLLLLMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMLLMMMMMMLLMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMLLMMMMMMMMMMMMMMMMMMMMMMMMLLMMMMLLMMMMLLMMMMMMLLLLMMMMLLMMMMMMMMMMMMMMMMMMMMMMMMLLMMMMMMMMMMMMMMLLMMMMLLMMMMLLMMLLMMMMMMLLMMMMMMMMMMLLLLLLMMMMLLMMMMLLMMMMMMLLMMLLMMMMMMMMMMMMMMLLMMMMMMMMLLMMMMMMMMMMMMLLMMMMMMMMMMMMMMMMMMLLMMMMMMMMLLMMMMLLMMMMMMLLMMMMMMMMMMMMMMLLMMMMMMMMMMMMMMLLMMMMMMMMMMMMMMMMLLMMMMMMMMMMMMMMMMMMLLLLLLMMMMMMLLLLMMMMMMMMLLMMLLMMMMLLMMLLMMMMLLMMMMMMLLMMMMMMMMMMLLMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMLLMMMMMMMMMMMMLLLLMMLLMMMMMMMMMMMMMMMMLLMMMMMMMMMMMMLLMMMMMMMMMMLLMMMMMMMMMMMMMMLLMMMMLLMMMMMMLLMMMMMMMMMMMMMMLLMMMMMMMMMMMMMMLLMMMMMMMMMMMMLLMMMMMMLLMMMMMMMMLLMMMMMMMMMMMMMMMMMMMMMMMMMMMMLLMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMLLMMMMMMMMLLMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMLLLLMMMMMMMMLLMMMMLLLLLLMMMMLLMMLLMMMMMMMMMMMMMMMMLLMMMMMMMMLLMMMMMMMMMMMMMMMMLLMMLLLLLLLLMMMMLLMMMMLLLLMMMMLLMMMMMMMMMMLLLLMMMMMMMMMMLLMMMMMMMMLLMMMMMMMMMMMMMMMMLLMMMMMMLLMMMMLLLLLLMMMMMMMMLLMMMMMMMMLLMMLLLLMMMMMMLLLLMMMMMMLLLLMMMMLLMMMMLLMMLLMMMMMMMMLLMMMMMMMMMMMMMMMMLLMMMMMMMMMMMMMMMMLLMMLLLLMMMMMMMMMMLLMMMMMMMMMMLLMMMMMMMMMMMMMMMMMMMMLLMMMMMMMMLLMMMMMMMMMMMMMMMMMMLLMMMMMMMMMMMMMMMMLLLLMMLLMMMMMMLLMMLLMMMMMMLLMMMMLLLLMMMMMMMMMMLLMMMMMMLLMMMMLLLLLLMMMMMMMMLLMMMMMMLLMMLLMMMMMMMMMMMMMMMMLLLLLLMMLLMMMMMMMMMMMMMMMMLLMMLLLLMMLLMMMMMMMMMMLLMMLLMMMMMMMMMMLLMMMMMMMMMMMMMMMMMMMMLLLLMMMMMMMMLLMMMMLLLLLLMMMMMMMMMMLLMMMMMMLLLLMMMMMMMMMMLLLLMMMMMMMMMMMMMMMMMMMMMMLLMMMMLLLLLLMMMMLLMMMMLLMMLLLLLLMMLLMMMMMMMMLLMMLLMMLLMMMMMMMMMMMMMMMMMMLLMMMMMMLLMMLLMMMMLLLLLLMMMMLLMMLLLLLLMMMMLLMMMMLLMMMMMMLLLLLLMMMMMMMMMMMMMMLLMMMMMMMMLLMMMMMMLLMMMMMMMMMMLLMMMMLLLLMMMMMMLLMMLLMMMMMMMMLLLLMMMMMMLLMMMMMMMMLLMMMMLLMMMMMMLLMMMMMMMMMMMMMMLLMMMMMMMMMMMMMMLLMMLLMMMMMMMMMMMMMMMMMMMMMMMMLLLLMMLLMMLLMMLLMMLLLLLLLLMMLLLLMMLLLLMMMMMMMMMMMMMMLLMMMMLLLLMMMMMMMMMMMMMMMMMMMMLLMMMMMMMMMMMMMMLLMMLLMMMMLLMMLLMMLLMMLLLLMMMMMMLLMMLLLLLLLLLLLLLLLLMMMMMMMMMMLLMMMMMMMMMMLLMMMMMMMMMMMMMMMMMMMMLLMMMMMMMMMMLLMMLLMMLLMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMLLMMLLLLMMMMLLMMMMMMMMMMMMMMMMMMMMMMLLMMMMMMMMMMMMMMLLMMLLMMMMLLMMLLMMLLMMLLLLMMMMMMLLLLLLLLLLLLLLLLLLLLMMMMMMMMMMLLMMMMMMMMMMLLMMMMMMMMMMMMMMMMMMMMLLMMMMMMMMMMLLMMLLMMLLMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMLLMMLLLLMMMMLLMMMMMMLLLLLLLLMMLLMMLLMMLLMMLLLLLLMMMMLLMMMMMMLLLLMMMMMMMMMMLLMMMMMMMMLLLLMMLLLLMMMMMMLLLLLLLLLLMMMMLLLLLLMMMMLLLLMMMMMMLLMMMMMMMMMMMMLLMMMMLLLLLLLLMMMMMMLLLLMMMMLLMMMMMMMMLLMMMMMMLLMMMMMMMMMMMMMMMMMMMMMMMMLLMMMMLLMMMMMMMMMMLLMMMMLLLLLLMMMMLLLLMMLLMMMMLLMMMMLLLLMMLLMMLLMMLLMMMMMMLLLLLLMMLLMMLLMMMMMMMMMMMMLLMMLLLLMMMMMMLLMMLLMMLLMMLLMMMMMMMMLLLLLLMMMMLLMMLLMMLLLLMMMMMMMMMMLLLLLLMMLLMMMMMMLLMMMMMMMMMMLLLLLLLLLLMMMMLLMMLLMMLLLLLLMMMMLLMMLLMMMMMMLLMMMMMMMMMMLLLLMMMMMMMMLLMMMMLLMMLLMMMMLLMMLLMMMMMMMMLLMMMMMMMMLLMMMMLLLLLLLLMMMMMMMMMMMMMMMMMMLLMMMMLLMMLLMMMMMMMMMMMMMMMMLLLLMMLLLLMMLLMMLLLLMMLLMMMMMMMMLLLLMMLLMMLLLLMMMMMMMMLLMMLLMMLLLLMMMMMMMMMMLLMMLLMMLLMMMMMMMMMMMMMMLLLLMMLLLLMMLLMMMMLLLLLLMMMMMMMMMMLLLLMMLLLLLLMMMMMMLLLLMMLLMMLLMMLLMMLLMMLLLLMMLLMMMMLLLLMMLLMMLLMMLLLLMMMMLLMMMMMMLLMMLLMMMMLLMMMMMMLLLLLLLLMMMMMMMMMMLLMMMMMMLLMMLLMMMMLLMMLLLLLLLLMMMMLLMMMMMMMMLLLLMMLLMMLLMMMMLLMMLLLLMMLLLLMMLLMMMMLLLLLLMMMMMMMMMMLLMMLLLLMMMMMMLLMMMMMMMMMMMMMMLLLLMMMMLLLLLLMMLLLLLLMMLLMMMMLLMMLLMMMMLLLLMMMMMMLLMMLLLLMMMMLLMMLLMMMMLLLLLLMMLLMMLLMMMMLLMMLLLLLLMMMMMMMMMMMMMMMMMMLLMMLLMMLLMMMMMMMMLLLLLLMMLLMMLLLLLLMMMMMMMMLLLLMMMMLLMMMMMMLLLLMMLLLLLLMMMMLLMMMMMMMMLLLLLLLLMMMMLLMMLLMMLLLLMMMMMMMMLLMMLLLLMMMMLLLLLLMMMMLLMMMMMMMMLLLLLLMMLLMMMMLLMMMMLLMMLLLLLLMMMMLLMMLLMMMMMMMMMMMMLLMMMMLLMMLLLLMMLLMMLLLLLLMMLLMMLLLLLLMMMMLLLLLLLLMMLLLLLLLLLLLLMMLLLLLLMMMMLLMMLLMMLLLLLLLLLLLLLLLLMMLLMMLLMMMMLLLLLLLLMMLLLLLLLLLLLLLLLLLLMMMMMMLLMMLLMMLLMMLLLLMMLLMMLLMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMLLMMMMMMMMMMMMLLMMMMMMLLMMMMMMMMMMMMMMMMMMMMLLLLMMMMMMMMMMMMMMMMMMLLMMMMMMMMMMMMMMMMMMLLLLMMLLMMMMMMLLMMMMMMMMMMLLMMMMMMMMLLMMMMLLMMMMMMMMMMMMMMLLMMLLMMMMMMMMLLLLMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMLLMMMMMMLLMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMLLMMMMMMMMMMMMMMMMMMMMMMMMLLMMMMLLMMMMLLMMMMMMLLLLMMMMLLMMMMMMMMMMMMMMMMMMMMMMMMLLMMMMMMMMMMMMMMLLMMMMLLMMMMLLMMLLMMMMMMLLMMMMMMMMMMLLLLLLMMMMLLMMMMLLMMMMMMLLMMLLMMMMMMMMMMMMMMLLMMMMMMMMLLMMMMMMMMMMMMLLMMMMMMMMMMMMMMMMMMLLMMMMMMMMLLMMMMLLMMMMMMLLMMMMMMMMMMMMMMLLMMMMMMMMMMMMMMLLMMMMMMMMMMMMMMMMLLMMMMMMMMMMMMMMMMMMLLLLLLMMMMMMLLLLMMMMMMMMLLMMLLMMMMLLMMLLMMMMLLMMMMMMLLMMMMMMMMMMLLMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMLLMMMMMMMMMMMMLLLLMMLLMMMMMMMMMMMMMMMMLLMMMMMMMMMMMMLLMMMMMMMMMMLLMMMMMMMMMMMMMMLLMMMMLLMMMMMMLLMMMMMMMMMMMMMMLLMMMMMMMMMMMMMMLLMMMMMMMMMMMMLLMMMMMMLLMMMMMMMMLLMMMMMMMMMMMMMMMMMMMMMMMMMMMMLLMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMLLMMMMMMMMLLMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMLLLLMMMMMMMMLLMMMMLLLLLLMMMMLLMMLLMMMMMMMMMMMMMMMMLLMMMMMMMMLLMMMMMMMMMMMMMMMMLLMMLLLLLLLLMMMMLLMMMMLLLLMMMMLLMMMMMMMMMMLLLLMMMMMMMMMMLLMMMMMMMMLLMMMMMMMMMMMMMMMMLLMMMMMMLLMMMMLLLLLLMMMMMMMMLLMMMMMMMMLLMMLLLLMMMMMMLLLLMMMMMMLLLLMMMMLLMMMMLLMMLLMMMMMMMMLLMMMMMMMMMMMMMMMMLLMMMMMMMMMMMMMMMMLLMMLLLLMMMMMMMMMMLLMMMMMMMMMMLLMMMMMMMMMMMMMMMMMMMMLLMMMMMMMMLLMMMMMMMMMMMMMMMMMMLLMMMMMMMMMMMMMMMMLLLLMMLLMMMMMMLLMMLLMMMMMMLLMMMMLLLLMMMMMMMMMMLLMMMMMMLLMMMMLLLLLLMMMMMMMMLLMMMMMMLLMMLLMMMMMMMMMMMMMMMMLLLLLLMMLLMMMMMMMMMMMMMMMMLLMMLLLLMMLLMMMMMMMMMMLLMMLLMMMMMMMMMMLLMMMMMMMMMMMMMMMMMMMMLLLLMMMMMMMMLLMMMMLLLLLLMMMMMMMMMMLLMMMMMMLLLLMMMMMMMMMMLLLLMMMMMMMMMMMMMMMMMMMMMMLLMMMMLLLLLLMMMMLLMMMMLLMMLLLLLLMMLLMMMMMMMMLLMMLLMMLLMMMMMMMMMMMMMMMMMMLLMMMMMMLLMMLLMMMMLLLLLLMMMMLLMMLLLLLLMMMMLLMMMMLLMMMMMMLLLLLLMMMMMMMMMMMMMMLLMMMMMMMMLLMMMMMMLLMMMMMMMMMMLLMMMMLLLLMMMMMMLLMMLLMMMMMMMMLLLLMMMMMMLLMMMMMMMMLLMMMMLLMMMMMMLLMMMMMMMMMMMMMMLLMMMMMMMMMMMMMMLLMMLLMMMMMMMMMMMMMMMMMMMMMMMMLLLLMMLLMMLLMMLLMMLLLLLLLLMMLLLLMMLLLLMMMMMMMMMMMMMMLLMMMMLLLLMMMMMMMMMMMMMMMMMMMMLLMMMMMMMMMMMMMMLLMMLLMMMMLLMMLLMMLLMMLLLLMMMMMMLLMMLLLLLLLLLLLLLLLLMMMMMMMMMMLLMMMMMMMMMMLLMMMMMMMMMMMMMMMMMMMMLLMMMMMMMMMMLLMMLLMMLLMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMLLMMLLLLMMMMLLMMMMMMMMMMMMMMMMMMMMMMLLMMMMMMMMMMMMMMLLMMLLMMMMLLMMLLMMLLMMLLLLMMMMMMLLLLLLLLLLLLLLLLLLLLMMMMMMMMMMLLMMMMMMMMMMLLMMMMMMMMMMMMMMMMMMMMLLMMMMMMMMMMLLMMLLMMLLMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMLLMMLLLLMMMMLLMMMMMMLLLLLLLLMMLLMMLLMMLLMMLLLLLLMMMMLLMMMMMMLLLLMMMMMMMMMMLLMMMMMMMMLLLLMMLLLLMMMMMMLLLLLLLLLLMMMMLLLLLLMMMMLLLLMMMMMMLLMMMMMMMMMMMMLLMMMMLLLLLLLLMMMMMMLLLLMMMMLLMMMMMMMMLLMMMMMMLLMMMMMMMMMMMMMMMMMMMMMMMMLLMMMMLLMMMMMMMMMMLLMMMMLLLLLLMMMMLLLLMMLLMMMMLLMMMMLLLLMMLLMMLLMMLLMMMMMMLLLLLLMMLLMMLLMMMMMMMMMMMMLLMMLLLLMMMMMMLLMMLLMMLLMMLLMMMMMMMMLLLLLLMMMMLLMMLLMMLLLLMMMMMMMMMMLLLLLLMMLLMMMMMMLLMMMMMMMMMMLLLLLLLLLLMMMMLLMMLLMMLLLLLLMMMMLLMMLLMMMMMMLLMMMMMMMMMMLLLLMMMMMMMMLLMMMMLLMMLLMMMMLLMMLLMMMMMMMMLLMMMMMMMMLLMMMMLLLLLLLLMMMMMMMMMMMMMMMMMMLLMMMMLLMMLLMMMMMMMMMMMMMMMMLLLLMMLLLLMMLLMMLLLLMMLLMMMMMMMMLLLLMMLLMMLLLLMMMMMMMMLLMMLLMMLLLLMMMMMMMMMMLLMMLLMMLLMMMMMMMMMMMMMMLLLLMMLLLLMMLLMMMMLLLLLLMMMMMMMMMMLLLLMMLLLLLLMMMMMMLLLLMMLLMMLLMMLLMMLLMMLLLLMMLLMMMMLLLLMMLLMMLLMMLLLLMMMMLLMMMMMMLLMMLLMMMMLLMMMMMMLLLLLLLLMMMMMMMMMMLLMMMMMMLLMMLLMMMMLLMMLLLLLLLLMMMMLLMMMMMMMMLLLLMMLLMMLLMMMMLLMMLLLLMMLLLLMMLLMMMMLLLLLLMMMMMMMMMMLLMMLLLLMMMMMMLLMMMMMMMMMMMMMMLLLLMMMMLLLLLLMMLLLLLLMMLLMMMMLLMMLLMMMMLLLLMMMMMMLLMMLLLLMMMMLLMMLLMMMMLLLLLLMMLLMMLLMMMMLLMMLLLLLLMMMMMMMMMMMMMMMMMMLLMMLLMMLLMMMMMMMMLLLLLLMMLLMMLLLLLLMMMMMMMMLLLLMMMMLLMMMMMMLLLLMMLLLLLLMMMMLLMMMMMMMMLLLLLLLLMMMMLLMMLLMMLLLLMMMMMMMMLLMMLLLLMMMMLLLLLLMMMMLLMMMMMMMMLLLLLLMMLLMMMMLLMMMMLLMMLLLLLLMMMMLLMMLLMMMMMMMMMMMMLLMMMMLLMMLLLLMMLLMMLLLLLLMMLLMMLLLLLLMMMMLLLLLLLLMMLLLLLLLMLLLLMMLLLLLLMMMMLLMMLLMMLLLLLLLLLLLLLLLLMMLLMMLLMMMMLLLLLLLLMMLLLLLLLLLLLLLLLLLLMMMMMMLLMMLLMMLLMMLLLLMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMLLMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMLLMMMMMMMMMMMMMMLLMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMLLLLMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMLLMMMMMMMMMMMMMMMMMMMMLLMMMMMMMMMMLLMMMMMMMMMMMMMMMMMMLLMMMMMMMMMMMMMMMMLLMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMLLMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMLLMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMLLMMLLMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMLLMMMMMMMMMMMMMMMMMMLLMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMLLMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMLLLLMMMMMMLLMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMLLMMMMMMMMMMMMMMMMMMLLMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMLLMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMLLMMMMMMMMMMMMMMMMMMMMMMMMLLMMMMMMMMMMMMMMMMLLMMMMMMMMMMMMMMMMLLMMMMMMMMMMMMMMMMMMLLMMMMMMMMMMMMMMMMMMLLMMMMMMMMMMMMMMMMMMMMMMLLMMMMLLMMMMMMMMMMMMMMMMMMLLMMMMMMMMMMMMMMMMLLMMMMLLMMLLMMMMMMMMMMMMMMMMMMMMMMMMMMLLMMMMMMMMMMMMMMMMMMMMMMLLMMMMMMMMMMMMMMMMMMMMMMMMMMMMLLMMMMMMMMMMMMMMMMMMMMMMMMLLMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMLLMMMMMMMMLLMMMMLLLLMMMMMMMMMMMMMMMMLLMMMMMMLLMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMLLMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMLLMMMMMMMMMMMMMMMMMMLLMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMLLMMLLMMMMMMMMMMMMMMMMLLMMMMMMMMLLMMLLMMLLLLMMMMMMMMMMMMLLMMMMLLMMMMMMMMMMMMMMMMMMMMMMMMLLMMMMMMLLMMLLMMLLMMLLMMMMMMMMMMMMMMMMMMMMMMMMMMMMLLMMMMMMMMMMMMMMMMLLMMMMMMMMLLMMLLMMMMMMMMLLMMMMMMMMMMMMMMMMMMLLMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMLLMMMMMMLLLLMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMLLMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMLLMMMMMMMMLLMMMMMMLLLLMMMMMMMMMMMMMMMMMMMMMMLLMMMMMMMMMMMMMMMMMMLLMMMMMMMMLLMMMMMMMMMMLLLLMMLLLLMMLLMMMMMMMMMMMMMMLLMMMMMMLLLLMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMLLMMMMMMMMMMMMMMMMMMMMMMMMLLMMMMMMMMMMMMMMMMMMMMLLMMMMMMLLMMMMMMMMMMMMMMMMMMMMMMMMLLMMMMMMMMMMMMMMMMMMLLMMMMMMMMLLMMMMMMMMMMLLMMMMLLLLMMMMMMMMMMMMMMLLMMMMMMMMLLMMMMMMMMMMLLLLLLMMMMMMMMMMMMMMLLMMMMMMMMMMMMMMMMMMMMMMMMMMLLMMMMMMMMLLMMMMLLMMMMMMMMMMMMMMMMMMMMMMLLLLMMMMMMMMLLMMMMMMMMMMLLLLLLMMLLMMMMMMMMMMMMLLMMMMMMMMMMLLMMMMMMMMLLMMLLMMMMMMMMMMMMMMMMMMMMMMMMLLLLMMMMMMMMLLMMMMMMMMMMMMMMMMMMMMLLMMLLMMMMMMMMLLMMMMMMLLMMMMMMMMMMLLMMMMLLMMLLMMMMMMMMMMMMLLMMMMMMMMLLLLMMMMLLLLLLMMMMMMMMMMMMMMMMMMLLMMMMMMMMMMMMMMLLMMMMMMMMMMMMMMLLMMLLLLMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMLLMMLLMMMMMMLLMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMLLLLMMMMMMMMMMLLMMMMMMLLMMMMLLLLMMLLMMMMMMMMMMLLMMMMMMLLMMMMMMMMMMLLMMMMMMMMMMMMMMMMMMMMMMMMMMMMLLMMLLLLMMMMMMMMMMMMMMLLLLLLMMMMLLMMLLMMLLMMMMMMMMMMLLLLLLMMMMMMLLMMMMMMMMMMMMMMMMLLMMLLLLLLLLLLMMLLMMMMMMLLMMMMMMMMMMMMMMMMLLLLMMMMMMMMMMLLMMMMMMMMLLMMMMMMMMMMMMMMMMLLMMMMMMLLMMMMLLLLLLMMMMMMMMMMMMMMMMMMLLMMLLLLMMMMMMLLLLMMMMMMLLLLLLMMLLMMMMLLMMLLMMMMMMMMLLMMLLMMMMMMMMMMMMLLMMMMMMMMMMMMMMMMMMMMLLLLMMMMMMMMMMLLMMMMMMMMMMLLMMMMMMLLMMMMMMMMMMMMLLMMMMMMMMLLMMMMMMMMMMMMMMMMMMLLMMMMMMMMMMMMMMMMLLMMMMLLMMMMMMLLMMLLMMMMMMLLMMMMMMLLMMMMMMMMMMLLMMMMMMLLMMMMLLLLMMMMMMMMMMLLMMMMMMLLMMLLMMMMMMMMMMMMMMMMLLMMLLMMMMLLMMMMMMMMMMMMMMMMLLMMMMMMMMMMMMMMMMLLMMMMLLMMMMMMMMMMMMMMMMLLMMMMLLLLLLMMMMMMMMMMLLLLMMMMMMMMMMLLMMMMMMMMMMLLLLLLLLMMMMLLLLMMMMMMLLMMLLLLMMMMMMMMMMMMMMMMLLMMMMLLLLLLLLLLLLMMMMMMMMMMMMLLMMMMMMMMLLMMLLLLMMMMLLMMLLLLLLMMMMMMLLMMLLMMMMLLLLLLMMLLMMMMMMMMMMMMMMLLLLLLMMMMMMLLLLLLMMMMLLMMMMMMMMLLMMLLMMMMLLLLMMMMMMLLLLMMMMMMLLMMMMMMLLMMLLMMMMMMMMMMLLLLLLMMMMLLMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMLLMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMLLMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMLLLLMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMLLMMMMMMMMMMMMMMMMMMMMLLMMMMMMMMMMLLMMMMMMMMMMMMMMMMMMLLMMMMMMMMMMMMMMMMLLMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMLLMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMLLMMLLMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMLLMMMMMMMMMMMMMMMMMMLLMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMLLMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMLLLLMMMMMMLLMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMLLMMMMMMMMMMMMMMMMMMLLMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMLLMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMLLMMMMMMMMMMMMMMMMMMMMMMMMLLMMMMMMMMMMMMMMMMLLMMMMMMMMMMMMMMMMLLMMMMMMMMMMMMMMMMMMLLMMMMMMMMMMMMMMMMMMLLMMMMMMMMMMMMMMMMMMMMMMLLMMMMLLMMMMMMMMMMMMMMMMMMLLMMMMMMMMMMMMMMMMLLMMMMLLMMLLMMMMMMMMMMMMMMMMMMMMMMMMMMLLMMMMMMMMMMMMMMMMMMMMMMLLMMMMMMMMMMMMMMMMMMMMMMMMMMMMLLMMMMMMMMMMMMMMMMMMMMMMMMLLMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMLLMMMMMMMMLLMMMMLLLLMMMMMMMMMMMMMMMMLLMMMMMMLLMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMLLMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMLLMMMMMMMMMMMMMMMMMMLLMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMLLMMLLMMMMMMMMMMMMMMMMLLMMMMMMMMLLMMLLMMLLLLMMMMMMMMMMMMLLMMMMLLMMMMMMMMMMMMMMMMMMMMMMMMLLMMMMMMLLMMLLMMLLMMLLMMMMMMMMMMMMMMMMMMMMMMMMMMMMLLMMMMMMMMMMMMMMMMLLMMMMMMMMLLMMLLMMMMMMMMLLMMMMMMMMMMMMMMMMMMLLMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMLLMMMMMMLLLLMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMLLMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMLLMMMMMMMMLLMMMMMMLLLLMMMMMMMMMMMMMMMMMMMMMMLLMMMMMMMMMMMMMMMMMMLLMMMMMMMMLLMMMMMMMMMMLLLLMMLLLLMMLLMMMMMMMMMMMMMMLLMMMMMMLLLLMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMLLMMMMMMMMMMMMMMMMMMMMMMMMLLMMMMMMMMMMMMMMMMMMMMLLMMMMMMLLMMMMMMMMMMMMMMMMMMMMMMMMLLMMMMMMMMMMMMMMMMMMLLMMMMMMMMLLMMMMMMMMMMLLMMMMLLLLMMMMMMMMMMMMMMLLMMMMMMMMLLMMMMMMMMMMLLLLLLMMMMMMMMMMMMMMLLMMMMMMMMMMMMMMMMMMMMMMMMMMLLMMMMMMMMLLMMMMLLMMMMMMMMMMMMMMMMMMMMMMLLLLMMMMMMMMLLMMMMMMMMMMLLLLLLMMLLMMMMMMMMMMMMLLMMMMMMMMMMLLMMMMMMMMLLMMLLMMMMMMMMMMMMMMMMMMMMMMMMLLLLMMMMMMMMLLMMMMMMMMMMMMMMMMMMMMLLMMLLMMMMMMMMLLMMMMMMLLMMMMMMMMMMLLMMMMLLMMLLMMMMMMMMMMMMLLMMMMMMMMLLLLMMMMLLLLLLMMMMMMMMMMMMMMMMMMLLMMMMMMMMMMMMMMLLMMMMMMMMMMMMMMLLMMLLLLMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMLLMMLLMMMMMMLLMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMLLLLMMMMMMMMMMLLMMMMMMLLMMMMLLLLMMLLMMMMMMMMMMLLMMMMMMLLMMMMMMMMMMLLMMMMMMMMMMMMMMMMMMMMMMMMMMMMLLMMLLLLMMMMMMMMMMMMMMLLLLLLMMMMLLMMLLMMLLMMMMMMMMMMLLLLLLMMMMMMLLMMMMMMMMMMMMMMMMLLMMLLLLLLLLLLMMLLMMMMMMLLMMMMMMMMMMMMMMMMLLLLMMMMMMMMMMLLMMMMMMMMLLMMMMMMMMMMMMMMMMLLMMMMMMLLMMMMLLLLLLMMMMMMMMMMMMMMMMMMLLMMLLLLMMMMMMLLLLMMMMMMLLLLLLMMLLMMMMLLMMLLMMMMMMMMLLMMLLMMMMMMMMMMMMLLMMMMMMMMMMMMMMMMMMMMLLLLMMMMMMMMMMLLMMMMMMMMMMLLMMMMMMLLMMMMMMMMMMMMLLMMMMMMMMLLMMMMMMMMMMMMMMMMMMLLMMMMMMMMMMMMMMMMLLMMMMLLMMMMMMLLMMLLMMMMMMLLMMMMMMLLMMMMMMMMMMLLMMMMMMLLMMMMLLLLMMMMMMMMMMLLMMMMMMLLMMLLMMMMMMMMMMMMMMMMLLMMLLMMMMLLMMMMMMMMMMMMMMMMLLMMMMMMMMMMMMMMMMLLMMMMLLMMMMMMMMMMMMMMMMLLMMMMLLLLLLMMMMMMMMMMLLLLMMMMMMMMMMLLMMMMMMMMMMLLLLLLLLMMMMLLLLMMMMMMLLMMLLLLMMMMMMMMMMMMMMMMLLMMMMLLLLLLLLLLLLMMMMMMMMMMMMLLMMMMMMMMLLMMLLLLMMMMLLMMLLLLLLMMMMMMLLMMLLMMMMLLLLLLMMLLMMMMMMMMMMMMMMLLLLLLMMMMMMLLLLLLMMMMLLMMMMMMMMLLMMLLMMMMLLLLMMMMMMLLLLMMMMMMLLMMMMMMLLMMLLMMMMMMMMMMLLLLLLMMMMLLMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMLLMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMLLMMMMMMMMMMMMMMMMMMLLMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMLLMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMLLMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMLLMMMMMMMMMMMMMMMMMMMMMMLLMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMLLMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMLLMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMLLMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMLLMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMLLMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMLLMMLLLLMMMMMMLLMMMMMMMMLLMMMMMMMMMMMMMMMMMMMMMMMMLLMMMMMMMMMMMMMMMMLLMMMMMMMMMMMMMMMMMMMMMMLLMMMMMMMMMMMMMMMMMMLLMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMLLMMMMMMMMMMMMMMMMMMMMMMMMLLMMMMMMMMMMMMMMMMLLMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMLLMMLLMMMMMMMMMMMMMMMMMMMMMMMMLLMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMLLMMMMLLMMLLMMMMMMMMMMMMMMMMMMMMMMMMMMLLMMMMMMMMMMMMMMMMMMMMLLLLMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMLLMMMMMMLLLLMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMLLMMMMMMLLMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMLLMMMMMMMMMMLLMMLLMMMMMMMMMMMMMMMMMMMMLLMMMMMMMMMMMMMMMMLLMMMMMMMMLLMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMLLLLMMMMMMLLMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMLLMMLLMMMMMMMMMMMMMMMMLLMMMMMMMMMMMMMMMMMMLLMMMMMMMMLLMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMLLMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMLLMMMMMMMMMMMMMMMMMMLLMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMLLMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMLLMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMLMMMMMMMMMMMMMMMMMMMMMMMLLMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMLLMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMLLMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMLLMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMLLMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMLLMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMLLMMLLLLMMMMMMLLMMMMMMMMLLMMMMMMMMMMMMMMMMMMMMMMMMLLMMMMMMMMMMMMMMMMLLMMMMMMMMMMMMMMMMMMMMMMLLMMMMMMMMMMMMMMMMMMLLMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMLLMMMMMMMMMMMMMMMMMMMMMMMMLLMMMMMMMMMMMMMMMMLLMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMLLMMLLMMMMMMMMMMMMMMMMMMMMMMMMLLMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMLLMMMMLLMMLLMMMMMMMMMMMMMMMMMMMMMMMMMMLLMMMMMMMMMMMMMMMMMMMMLLLLMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMLLMMMMMMLLLLMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMLLMMMMMMLLMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMLLMMMMMMMMMMLLMMLLMMMMMMMMMMMMMMMMMMMMLLMMMMMMMMMMMMMMMMLLMMMMMMMMLLMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMLLLMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMLLMMLLMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMLLMMMMMMMMLLMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMNNMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMNNMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMNNMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMNNMMMMMMMMMMNNMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMNNMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMNNMMMMMMMMMMMMMMMMMMMMMMNNMMMMMMMMMMMMMMMMMMMMNNMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMNNMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMNNMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMNNMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMNNMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMNNMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMNNMMMMMMMMMMNNMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMNNMMMMNNMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMNNMMMMMMMMMMMMMMMMMMMMMMNNMMMMMMMMMMMMMMMMMMMMNNMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMNNMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMNNMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMNNNNMMMMMMNNMMMMNNMMMMMMMMNNMMMMMMMMMMMMMMNNMMMMMMMMMMMMNNMMMMMMMMMMMMNNNNMMMMMMMMNNMMMMMMNNMMMMNNNNMMMMNNMMNNMMMMNNMMMMNNMMMMMMMMMMMMNNMMMMMMMMMMNNMMMMMMMMMMMMMMNNMMMMMMMMMMMMMMNNNNMMMMMMMMMMMMMMMMMMMMMMMMMMNNMMMMMMMMMMMMNNMMMMNNMMMMNNMMMMMMMMMMMMNNMMMMMMMMMMNNMMMMMMMMMMMMMMNNMMNNMMMMMMMMMMNNMMNNMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMNNNNMMMMMMMMNNMMMMNNMMMMMMMMNNMMMMMMNNMMNNMMMMMMMMMMMMNNMMMMMMNNNNMMMMMMMMMMMMMMMMMMMMMMNNMMNNMMMMMMMMMMMMNNMMNNMMMMMMNNMMNNMMMMMMMMNNNNMMNNNNMMMMMMMMMMMMMMMMMMMMMMMMMMNNMMMMMMNNMMMMMMMMMMMMMMMMMMMMMMMMMMNNMMMMMMMMMMMMNNMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMNNNNMMMMNNNNMMMMMMMMMMMMMMNNMMMMMMNNMMMMMMMMNNMMMMMMMMMMMMMMMMMMMMMMMMMMMMNNMMMMMMMMMMNNMMNNMMMMMMMMMMMMNNMMNNNNMMMMMMMMNNMMMMMMNNMMMMMMMMMMMMMMMMMMMMNNMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMNNMMNNMMMMMMMMMMMMMMNNMMMMMMNNMMMMMMMMMMMMMMMMNNNNMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMNNMMMMMMNNMMMMMMMMMMMMMMMMMMMMMMMMMMMMNNNNMMNNMMMMMMMMMMMMMMMMMMMMMMNNNNMMMMMMNNMMMMMMMMMMMMNNMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMNNMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMNNMMMMMMMMMMMMMMMMMMMMNNMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMNNMMMMMMMMMMNNMMMMMMMMMMMMMMMMMMMMNNMMMMMMNNMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMNNMMNNMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMNNMMMMMMMMMMNNMMNNMMNNMMMMMMMMMMMMNNMMMMMMMMNNNNMMMMNNMMMMMMMMNNMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMNNNNMMMMMMNNMMMMMMMMMMMMMMMMMMMMMMNNMMMMMMMMMMMMMMMMMMNNMMMMMMMMMMMMMMNNMMMMMMNNMMNNMMMMMMMMMMMMMMMMNNMMMMMMMMMMMMMMMMMMMMMMMMNNMMMMMMMMMMMMMMMMMMMMMMMMMMMMNNMMMMMMMMMMMMNNMMMMMMMMMMMMNNMMNNMMMMNNMMMMMMMMMMMMMMMMMMMMNNMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMNNMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMNNMMMMMMMMNNMMMMMMMMMMMMMMMMMMMMNNMMMMMMNNMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMNNNNMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMNNMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMNNMMMMMMNNMMMMMMMMMMMMNNMMMMNNMMMMMMMMMMMMNNMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMNNMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMNNMMMMMMMMMMMMMMMMMMMMMMNNMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMNNMMMMMMMMMMMMMMMMMMMMMMMMNNMMMMNNMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMNNMMMMMMMMMMMMMMMMMMMMNNMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMNNMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMNNNNMMMMMMMMNNMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMNNMMMMMMMMMMMMMMMMMMMMMMMMMMNNMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMNNMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMNNMMNNMMMMMMMMMMMMNNMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMNNMMNNMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMNNMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMNNMMNNMMMMMMMMMMMMNNMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMNNNNMMMMMMNNMMMMNNMMMMMMMMNNMMMMMMMMMMMMMMNNMMMMMMMMMMMMNNMMMMMMMMMMMMNNNNMMMMMMMMNNMMMMMMNNMMMMNNNNMMMMNNMMNNMMMMNNMMMMNNMMMMMMMMMMMMNNMMMMMMMMMMNNMMMMMMMMMMMMMMNNMMMMMMMMMMMMMMNNNNMMMMMMMMMMMMMMMMMMMMMMMMMMNNMMMMMMMMMMMMNNMMMMNNMMMMNNMMMMMMMMMMMMNNMMMMMMMMMMNNMMMMMMMMMMMMMMNNMMNNMMMMMMMMMMNNMMNNMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMNNNNMMMMMMMMNNMMMMNNMMMMMMMMNNMMMMMMNNMMNNMMMMMMMMMMMMNNMMMMMMNNNNMMMMMMMMMMMMMMMMMMMMMMNNMMNNMMMMMMMMMMMMNNMMNNMMMMMMNNMMNNMMMMMMMMNNNNMMNNNNMMMMMMMMMMMMMMMMMMMMMMMMMMNNMMMMMMNNMMMMMMMMMMMMMMMMMMMMMMMMMMNNMMMMMMMMMMMMNNMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMNNNNMMMMNNNNMMMMMMMMMMMMMMNNMMMMMMNNMMMMMMMMNNMMMMMMMMMMMMMMMMMMMMMMMMMMMMNNMMMMMMMMMMNNMMNNMMMMMMMMMMMMNNMMNNNNMMMMMMMMNNMMMMMMNNMMMMMMMMMMMMMMMMMMMMNNMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMNNMMNNMMMMMMMMMMMMMMNNMMMMMMNNMMMMMMMMMMMMMMMMNNNNMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMNNMMMMMMNNMMMMMMMMMMMMMMMMMMMMMMMMMMMMNNNNMMNNMMMMMMMMMMMMMMMMMMMMMMNNNNMMMMMMNNMMMMMMMMMMMMNNMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMNNMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMNNMMMMMMMMMMMMMMMMMMMMNNMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMNNMMMMMMMMMMNNMMMMMMMMMMMMMMMMMMMMNNMMMMMMNNMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMNNMMNNMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMNNMMMMMMMMMMNNMMNNMMNNMMMMMMMMMMMMNNMMMMMMMMNNNNMMMMNNMMMMMMMMNNMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMNNNNMMMMMMNNMMMMMMMMMMMMMMMMMMMMMMNNMMMMMMMMMMMMMMMMMMNNMMMMMMMMMMMMMMNNMMMMMMNNMMNNMMMMMMMMMMMMMMMMNNMMMMMMMMMMMMMMMMMMMMMMMMNNMMMMMMMMMMMMMMMMMMMMMMMMMMMMNNMMMMMMMMMMMMNNMMMMMMMMMMMMNNMMNNMMMMNNMMMMMMMMMMMMMMMMMMMMNNMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMNNMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMNNMMMMMMMMNNMMMMMMMMMMMMMMMMMMMMNNMMMMMMNNMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMNNNNMMMMMMMMMMMMMMNNMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMNNMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMNNMMMMMMNNMMMMMMMMMMMMNNMMMMNNMMMMMMMMMMMMNNMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMNNMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMNNMMMMMMMMMMMMMMMMMMMMMMNNMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMNNMMMMMMMMMMMMMMMMMMMMMMMMNNMMMMNNMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMNNMMMMMMMMMMMMMMMMMMMMNNMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMNNMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMNNNNMMMMMMMMNNMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMNNMMMMMMMMMMMMMMMMMMMMMMMMMMNNMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMNNMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMNNMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMNNMMNNMMMMMMMMMMMMNNMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMNNMMNNMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMNNMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMNNMMNNMMMMMMMMMMMMNNMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMNNMMNNNNMMMMMMMMNNNNNNNNMMNNMMNNMMMMNNNNMMMMNNMMNNNNMMNNMMNNNNNNMMNNMMNNNNMMMMMMMMMMMMMMNNMMNNMMMMNNNNMMMMMMMMNNMMMMMMNNMMMMMMMMNNMMNNMMMMMMNNNNMMMMNNNNMMNNNNMMMMNNNNNNNNMMNNNNMMMMMMMMNNMMMMNNMMMMMMMMMMMMNNNNMMMMNNNNMMMMNNNNNNNNMMNNMMNNMMNNMMMMNNNNNNNNMMNNMMNNNNMMNNMMMMMMMMNNMMNNNNMMMMNNMMNNNNMMMMMMNNMMMMNNMMNNMMMMNNNNMMMMMMMMMMMMMMMMNNNNMMNNMMMMNNNNNNMMMMNNNNMMMMMMMMMMMMMMMMNNMMMMNNMMNNMMMMMMMMNNMMNNMMMMNNMMNNMMMMMMNNMMNNNNMMMMMMNNNNNNNNMMNNMMMMNNMMMMMMMMNNMMMMNNMMMMNNMMMMNNMMMMNNMMNNNNMMMMMMMMMMNNMMNNMMMMNNMMNNNNMMMMMMMMMMMMNNMMNNNNNNMMMMNNMMMMMMNNNNNNNNMMNNNNMMNNMMMMMMMMMMMMMMNNNNMMNNNNMMMMMMMMMMNNNNMMNNMMMMNNMMMMNNNNNNMMNNMMMMMMNNNNNNMMMMMMMMNNNNMMNNNNMMMMNNMMMMMMNNNNNNNNMMMMNNNNMMMMNNNNMMMMNNMMNNMMNNMMMMMMMMNNMMMMNNMMMMNNNNNNMMNNNNMMMMMMMMMMMMNNMMNNMMNNNNNNMMNNMMMMMMNNNNMMNNMMMMNNNNNNMMNNNNMMMMNNNNMMMMMMNNMMMMNNMMMMMMMMNNMMMMNNMMMMMMNNNNNNNNNNMMMMMMMMNNMMNNMMMMNNMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMNNMMMMNNNNNNMMMMMMNNMMMMMMMMMMMMMMNNMMNNNNNNMMMMMMMMMMMMMMNNMMMMNNMMMMMMMMNNMMMMMMMMMMMMMMMMMMMMMMNNNNMMNNNNMMNNNMMMNNMMNNMMMMNNMMMMNNMMMMNNMMMMMMMMMMMMMMNNMMMMMMMMMMMMMMNNMMMMNNNNMMMMMMNNMMMMNNMMNNMMMMNNMMMMMMMMMMMMMMNNMMNNNNMMMMNNNNMMNNMMMMMMMMNNNNMMMMMMMMNNNNMMMMNNMMNNNNNNNNMMNNMMNNMMMMNNMMMMNNMMMMMMMMMMMMNNMMMMMMNNNNNNNNMMMMMMMMNNMMNNMMMMNNNNMMMMMMNNNNMMMMMMMMMMMMMMMMMMMMMMMMMMNNMMMMMMMMMMMMNNMMMMNNMMMMNNMMMMNNMMMMMMNNMMMMMMMMNNNNMMNNMMMMMMMMMMNNMMNNMMMMMMMMMMNNMMNNMMMMMMMMMMNNNNMMMMNNMMMMMMMMMMMMMMMMMMMMNNNNMMMMMMMMNNMMNNNNMMNNNNMMNNMMMMMMNNNNNNMMMMMMMMNNMMNNMMMMNNNNMMMMMMMMNNNNMMMMMMMMMMMMNNMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMNNNNNNMMNNNNMMMMNNMMMMMMMMNNMMMMNNMMMMMMMMMMMMMMMMMMMMMMNNMMMMMMMMMMMMMMMMNNMMMMMMMMMMMMNNNNNNMMNNNNNNMMMMMMMMNNMMMMNNNNMMMMMMMMNNNNMMMMMMNNNNMMMMNNMMNNNNNNNNMMMMNNNNMMMMMMMMMMMMMMMMNNMMMMMMNNNNMMMMNNMMMMNNNNNNMMMMNNMMNNMMMMMMMMMMNNMMNNMMMMNNMMNNMMMMNNMMMMMMMMMMMMMMMMMMNNNNMMMMMMMMMMMMMMNNMMNNMMNNMMMMMMMMMMMMNNMMMMMMMMMMMMMMMMMMNNMMNNMMMMMMMMMMMMMMNNMMMMMMMMMMMMMMMMMMMMMMMMNNMMMMNNMMNNNNMMMMNNMMMMMMNNMMMMMMMMMMNNMMMMMMNNMMNNNNMMMMNNMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMNNNNNNNNMMMMMMNNMMMMMMNNMMMMNNMMMMNNMMMMMMMMMMNNMMMMMMMMNNMMMMMMMMMMNNMMMMNNMMMMNNMMMMMMMMMMMMMMMMNNMMNNMMMMMMMMMMMMMMMMMMNNMMMMMMMMMMMMNNMMMMNNMMMMMMMMMMNNMMMMMMMMMMNNNNMMMMMMMMMMMMMMMMNNMMMMMMMMMMMMMMMMMMMMMMMMMMNNMMMMMMNNMMNNMMMMMMMMMMMMMMNNMMMMNNNNMMNNMMMMMMMMMMMMNNNNMMMMMMMMMMMMMMNNMMNNMMMMNNMMMMMMMMMMMMMMMMNNMMMMMMNNMMMMMMMMMMMMMMMMMMMMMMMMMMMMNNNNMMNNMMMMMMMMMMMMMMMMNNMMMMNNNNMMMMMMNNMMNNMMMMMMMMNNMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMNNMMMMMMMMMMNNNNMMMMMMMMMMMMMMMMMMMMMMMMNNMMMMMMNNMMMMNNMMMMMMMMMMMMMMNNMMMMMMMMMMMMMMMMNNMMMMMMMMMMMMNNMMMMNNMMMMNNMMMMMMMMMMMMMMMMMMMMNNMMMMMMNNMMMMMMMMMMMMMMMMMMMMMMMMMMMMNNMMMMMMMMNNMMNNMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMNNMMNNMMMMMMNNMMNNNNNNNNMMMMMMMMMMNNMMMMNNMMNNNNMMMMNNMMMMMMMMNNMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMNNNNMMMMMMNNMMMMMMNNNNMMMMNNMMMMMMNNMMMMMMMMMMNNMMMMMMNNMMMMMMMMMMMMMMNNMMMMMMNNMMNNNNMMMMMMMMMMMMMMNNMMNNMMMMMMMMMMMMMMNNNNMMNNNNMMMMMMMMMMMMMMNNNNMMMMNNMMMMMMMMNNMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMNNNNMMMMMMNNMMMMMMNNMMMMMMMMMMMMMMNNMMMMMMMMMMNNMMMMMMNNMMMMMMMMMMMMMMNNMMMMMMNNMMNNNNMMMMMMMMMMMMMMNNMMNNMMMMMMMMMMMMMMMMNNMMNNMMMMMMMMMMMMMMMMMMNNMMMMNNNNMMMMMMMMMMMMMMMMMMMMMMMMNNMMMMMMMMMMMMNNMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMNNNNMMMMNNMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMNNMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMNNMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMNNMMMMMMMMMMNNMMMMMMMMMMMMMMNNMMMMNNMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMNNMMMMMMNNMMMMNNMMMMMMMMNNMMMMMMMMMMMMMMMMMMMMMMMMMMMMNNMMMMMMMMMMMMMMNNMMMMMMMMNNMMMMMMMMMMMMMMMMMMMMNNMMMMMMMMNNMMMMNNMMMMMMMMMMMMMMMMMMMMMMMMNNMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMNNNNMMMMMMMMMMMMMMMMMMMMNNMMMMMMMMNNMMMMMMMMMMMMMMMMMMMMMMNNMMMMMMMMMMNNMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMNNMMMMMMMMMMMMMMMMMMMMMMNNMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMNNMMNNNNMMMMMMMMNNNNNNNNMMNNMMNNMMMMNNNNMMMMNNMMNNNNMMNNMMNNNNNNMMNNMMNNNNMMMMMMMMMMMMMMNNMMNNMMMMNNNNMMMMMMMMNNMMNNMMNNMMMMMMMMNNMMNNMMMMMMNNNNMMMMNNNNMMNNNNMMMMNNNNNNNNMMNNNNMMMMMMMMNNMMMMNNMMMMMMMMMMMMNNNNMMMMNNNNMMMMNNNNNNNNMMNNMMNNMMNNMMMMNNNNNNNNMMNNMMNNNNMMNNMMMMMMMMNNMMNNNNMMMMNNMMNNNNMMMMMMNNMMMMNNMMNNMMMMNNNNMMMMMMMMMMMMMMMMNNNNMMNNMMMMNNNNNNMMMMNNNNMMMMMMMMMMMMMMMMNNMMMMNNMMNNMMMMMMMMNNMMNNMMMMNNMMNNMMMMMMNNMMNNNNMMMMMMNNNNNNNNMMNNMMMMNNMMMMMMMMNNMMMMNNMMMMNNMMMMNNMMMMNNMMNNNNMMMMMMMMMMNNMMNNMMMMNNMMNNNNMMMMMMMMMMMMNNMMNNNNNNMMMMNNMMMMMMNNNNNNNNMMNNNNMMNNMMMMMMMMMMMMMMNNNNMMNNNNMMMMMMMMMMNNNNMMNNMMMMNNMMMMNNNNNNMMNNMMMMMMNNNNNNMMMMMMMMNNNNMMNNNNMMMMNNMMMMMMNNNNNNNNMMMMNNNNMMMMNNNNMMMMNNMMNNMMNNMMMMMMMMNNMMMMNNMMMMNNNNNNMMNNNNMMMMMMMMMMMMNNMMNNMMNNNNNNMMNNMMMMMMNNNNMMNNMMMMNNNNNNMMNNNNMMMMNNNNMMMMMMNNMMMMNNMMMMMMMMNNMMMMNNMMMMMMNNNNNNNNNNMMMMMMMMNNMMNNMMMMNNMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMNNMMMMNNNNNNMMMMMMNNNNMMMMMMMMMMMMNNMMNNNNNNMMMMMMMMMMMMMMNNMMMMNNMMMMMMMMNNMMMMMMMMMMMMMMMMMMMMMMNNNNMMNNNNMMNNNNMMNNMMNNMMMMNNMMMMNNMMMMNNMMMMMMMMMMMMMMNNMMMMMMMMMMMMMMNNMMMMNNNNMMMMMMNNMMMMNNMMNNMMMMNNMMMMMMMMMMMMMMNNMMNNNNMMMMNNNNMMNNMMMMMMMMNNNNMMMMMMMMNNNNMMMMNNMMNNNNNNNNMMNNMMNNMMMMNNMMMMNNMMMMMMMMMMMMNNMMMMMMNNNNNNNNMMMMMMMMNNMMNNMMMMNNNNMMMMMMNNNNMMMMMMMMMMMMMMMMMMMMMMMMMMNNMMMMMMNNMMMMNNMMMMNNMMMMNNMMMMNNMMMMMMNNMMMMMMMMNNNNMMNNMMMMMMMMMMNNMMNNMMMMMMMMMMNNMMNNMMMMMMMMMMNNNNMMMMNNMMMMMMMMMMMMMMMMMMMMNNNNMMMMMMMMNNMMNNNNMMNNNNMMNNMMMMMMNNNNNNMMMMMMMMNNMMNNMMMMNNNNMMMMMMMMNNNNMMMMMMMMMMMMNNMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMNNNNNNMMNNNNMMMMNNMMMMMMMMNNMMMMNNMMMMMMMMMMMMMMMMMMMMMMNNMMMMMMMMMMMMMMMMNNMMMMMMMMMMMMNNNNNNMMNNNNNNMMMMMMMMNNMMMMNNNNNNMMMMMMNNNNMMMMMMNNNNMMMMNNMMNNNNNNNNMMMMNNNNMMMMMMMMMMMMMMMMNNMMMMMMNNNNMMMMNNMMMMNNNNNNMMMMNNMMNNMMMMMMMMMMNNMMNNMMMMNNMMNNMMMMNNMMMMMMMMMMMMMMMMMMNNNNMMMMMMMMMMMMMMNNMMNNMMNNMMMMMMMMMMMMNNMMMMMMMMMMMMMMMMMMNNMMNNMMMMMMMMMMMMMMNNMMMMMMMMMMMMMMMMMMMMMMMMNNMMMMNNMMNNNNMMMMNNMMMMMMNNMMMMMMMMMMNNMMMMMMNNMMNNNNMMMMNNMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMNNNNNNNNMMMMMMNNMMMMMMNNMMMMNNMMMMNNMMMMMMMMMMNNMMMMMMMMNNMMMMMMMMMMNNMMMMNNMMMMNNMMMMMMMMMMMMMMMMNNMMNNMMMMMMMMMMMMMMMMMMNNMMMMMMMMMMMMNNMMMMNNMMMMMMMMMMNNMMMMMMMMMMNNNNMMMMMMMMMMMMMMMMNNMMMMMMMMMMMMMMMMMMMMMMMMMMNNMMMMMMNNMMNNMMMMMMMMMMMMMMNNMMMMNNNNMMNNMMMMMMMMMMMMNNNNMMMMMMMMMMMMMMNNMMNNMMMMNNMMMMMMMMMMMMMMMMNNMMMMMMNNMMMMMMMMMMMMMMMMMMMMMMMMMMMMNNNNMMNNMMMMMMMMMMMMMMMMNNMMMMNNNNMMMMMMNNMMNNMMMMMMMMNNMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMNNMMMMMMMMMMNNNNMMMMMMMMMMMMMMMMMMMMMMMMNNMMMMMMNNMMMMNNMMMMMMMMMMMMMMNNMMMMMMMMMMMMMMMMNNMMMMMMMMMMMMNNMMMMNNMMMMNNMMMMMMMMMMMMMMMMMMMMNNMMMMMMNNMMMMMMMMMMMMMMMMMMMMMMMMMMMMNNMMMMMMMMNNMMNNMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMNNMMNNMMMMMMNNMMNNNNNNNNMMMMMMMMMMNNMMMMNNMMNNNNMMMMNNMMMMMMMMNNMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMNNNNMMMMMMNNMMMMMMNNNNMMMMNNMMMMMMNNMMMMMMMMMMNNMMMMMMNNMMMMMMMMMMMMMMNNMMMMMMNNMMNNNNMMMMMMMMMMMMMMNNMMNNMMMMMMMMMMMMMMNNNNMMNNNNMMMMMMMMMMMMMMNNNNMMMMNNMMMMMMMMNNMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMNNNNMMMMMMNNMMMMMMNNMMMMMMMMMMMMMMNNMMMMMMMMMMNNMMMMMMNNMMMMMMMMMMMMMMNNMMMMMMNNMMNNNNMMMMMMMMMMMMMMNNMMNNMMMMMMMMMMMMMMMMNNMMNNMMMMMMMMMMMMMMMMMMNNMMMMNNNNMMMMMMMMMMMMMMMMMMMMMMMMNNMMMMMMMMMMMMNNMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMNNNNMMMMNNMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMNNMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMNNMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMNNMMMMMMMMMMNNMMMMMMMMMMMMMMNNMMMMNNMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMNNMMMMMMNNMMMMNNMMMMMMMMNNMMMMMMMMMMMMMMMMMMMMMMMMMMMMNNMMMMMMMMMMMMMMNNMMMMMMMMNNMMMMMMNNMMMMMMMMMMMMNNMMMMMMMMNNMMMMNNMMMMMMMMMMMMMMMMMMMMMMMMNNMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMNNNNMMMMMMMMMMMMMMMMMMMMNNMMMMMMMMNNMMMMMMMMMMMMMMMMMMMMMMNNMMMMMMMMMMNNMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMNNMMMMMMMMMMMMMMMMMMMMMMNNMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMNNNNMMMMMMMMNNNNNNNNNNNNMMNNNNNNMMMMNNNNMMNNMMMMNNNNNNNNNNMMMMNNNNNNNNMMNNMMMMMMMMNNNNNNNNNNNNMMMMNNNNNNNNMMNNNNNNMMNNNNNNNNMMNNNNNNNNMMNNNNMMMMNNNNMMNNMMNNNNNNNNMMMMNNMMMMNNMMMMMMNNNNMMNNMMMMNNNNMMNNMMMMNNNNNNNNNNMMMMNNMMNNMMNNNNMMNNNNNNNNNNMMNNMMMMMMMMMMNNNNMMNNMMNNNNMMNNMMMMMMMMMMMMNNNNNNNNMMNNMMNNNNNNNNMMNNMMMMMMMMNNNNNNNNNNNNMMMMNNNNNNNNMMNNNNNNNNNNNNMMNNNNMMNNMMMMMMMMMMNNMMNNMMMMMMNNNNNNMMNNNNNNNNNNNNNNNNNNNNNNMMMMNNNNMMNNNNNNNNNNNNNNNNMMMMNNMMMMNNNNMMNNNNNNNNMMNNNNNNNNNNNNNNNNNNNNMMNNMMNNNNMMNNMMNNMMNNNNMMMMMMNNMMNNNNMMMMNNNNMMNNNNMMMMNNNNMMNNMMNNMMMMNNNNNNNNMMMMMMNNNNNNMMNNNNMMNNNNMMNNMMNNNNNNNNMMMMNNNNNNNNMMNNNNNNNNNNMMNNMMNNNNMMMMNNNNNNNNMMMMNNNNMMNNNNNNNNNNNNMMNNMMMMNNNNMMNNNNNNMMNNNNMMMMNNMMMMMMMMNNMMNNMMMMMMMMNNNNNNNNNNNNNNNNNNMMNNNNNNMMMMMMMMNNNNMMMMMMNNNNNNNNNNNNMMNNMMNNMMNNMMNNMMMMNNNNMMNNNNMMNNMMNNNNMMNNNNMMNNNNNNNNMMMMMMNNMMNNMMMMNNNNMMMMNNMMNNMMMMNNMMMMNNMMNNNNNNMMNNMMMMNNMMNNMMNNNNNNMMMMNNNNNNNNMMMMMMNNMMMMMMMMMMNNNNNNNNMMMMNNNNMMNNNNMMNNNNMMNNMMMMMMNNNNNNNNNNNNNNMMNNNNNNNNNNMMMMNNNNMMMMNNNNNNMMNNNNMMNNNNNNNNMMMMMMMMNNNNMMNNNNNNMMNNNNNNNNNNMMMMMMMMNNNNNNNNMMNNMMNNNNNNNNNNNNNNNNNNMMNNMMNNMMMMNNNNNNMMNNNNNNNNNNNNMMMMMMNNNNMMNNMMMMNNMMNNNNMMNNNNNNNNNNNNNNMMMMNNNNNNNNMMNNMMNNNNMMMMNNNNNNNNNNMMNNNNMMNNNNMMNNNNMMNNMMNNNNMMMMNNNNNNMMMMMMNNNNNNMMNNNNNNNNMMNNNNNNNNMMNNMMNNMMNNNNMMNNNNMMNNMMNNMMNNNNMMNNMMNNNNMMNNMMNNNNNNMMNNNNNNNNMMMMMMNNMMMMNNMMMMNNMMMMNNMMMMMMNNMMMMMMNNNNNNMMNNMMMMNNNNNNMMNNNNNNMMNNNNNNMMMMMMNNMMNNNNNNMMNNNNMMMMNNNNMMMMMMNNMMMMNNNNNNMMNNNNMMNNMMMMNNMMNNNNNNNNNNMMNNMMNNMMNNNNNNNNNNMMMMNNMMNNNNNNNNNNNNNNMMNNNNNNNNNNMMNNNNNNMMNNNNMMNNNNMMMMNNNNNNNNNNNNMMNNMMMMNNMMNNNNNNMMNNNNNNMMNNMMNNNNMMMMMMNNNNMMNNNNNNMMNNNNNNNNMMNNMMNNNNNNNNNNMMMMMMMMNNNNNNNNMMMMNNMMMMNNMMNNMMNNMMMMMMMMNNNNMMNNMMNNNNMMMMNNMMMMMMMMNNNNMMMMMMMMNNMMMMNNMMMMNNNNNNNNMMMMMMMMMMMMMMNNNNNNMMMMMMMMNNMMMMMMMMNNNNMMNNNNNNMMNNMMNNMMNNNNNNMMMMMMNNMMNNMMMMMMMMNNMMNNNNMMMMNNMMNNMMMMMMMMMMNNNNMMMMMMMMNNNNMMNNMMMMMMNNNNNNMMMMMMNNMMMMMMNNMMNNNNNNNNMMNNMMMMMMMMNNMMNNMMMMMMNNMMNNMMMMMMNNNNNNNNNNNNNNMMNNNNNNNNMMNNNNNNMMMMNNMMMMMMNNNNMMNNMMMMMMMMNNNNNNMMMMNNMMMMNNMMNNMMNNNNNNNNMMNNMMNNMMNNNNNNMMMMNNNNNNMMMMNNMMMMMMMMMMMMMMNNMMMMNNNNNNMMNNMMMMNNMMMMNNNNNNMMNNMMNNNNNNNNNNMMNNMMMMMMNNNNNNNNNNMMMMNNMMNNMMNNNNNNNNNNMMNNMMNNMMMMMMMMMMMMNNNNMMMMNNMMMMNNNNMMMMMMNNNNMMNNMMNNMMMMNNNNMMMMMMMMMMNNNNNNNNNNMMMMMMMMNNNNNNMMMMNNMMMMMMMMMMMMMMNNNNMMMMMMMMMMMMMMMMNNMMMMNNNNNNMMMMMMNNMMNNMMMMMMMMMMNNMMNNNNNNMMNNNNMMMMNNMMNNMMMMNNMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMNNMMMMNNNNMMMMMMMMNNMMNNMMMMNNNNMMNNMMMMNNMMMMNNMMMMMMMMNNNNMMMMNNNNNNMMNNMMMMNNNNMMMMNNNNMMMMNNMMNNMMMMNNMMMMNNMMMMNNMMNNMMNNMMNNNNNNNNMMMMMMMMMMMMNNNNMMMMMMNNNNNNMMNNNNMMNNNNNNMMMMNNMMNNNNMMNNMMNNNNNNMMMMMMMMMMNNMMMMMMNNNNNNNNMMMMMMMMNNMMNNMMNNNNNNMMMMMMNNNNMMMMMMMMMMNNMMMMMMMMNNNNMMNNMMMMNNNMMMMMNNMMMMNNNNNNNNNNNNNNMMMMMMNNNNMMMMMMNNNNNNNNMMMMMMMMMMNNMMNNMMMMMMMMMMNNMMNNMMNNMMNNMMNNNNMMMMNNNNNNMMMMMMMMMMMMMMMMNNNNMMNNMMMMNNMMNNNNMMNNNNMMNNMMMMMMNNNNNNMMMMMMMMNNMMNNNNMMMMNNNNMMMMMMNNMMMMNNMMMMMMNNMMMMNNNNNNNNMMNNNNMMMMMMNNMMMMNNMMNNNNMMNNMMMMMMMMMMNNMMNNMMMMMMMMNNNNMMNNMMMMMMMMMMNNMMMMMMNNNNMMMMMMMMMMMMMMMMMMNNNNMMMMMMMMNNMMNNNNMMNNNNMMNNMMMMMMNNNNNNMMMMMMMMNNMMNNNNMMMMNNNNNNMMMMMMMMMMNNMMMMMMMMNNNNNNNNMMMMMMNNMMNNMMNNMMMMNNNNMMNNMMMMNNMMNNNNMMNNNNMMMMNNNNMMMMMMMMNNMMMMMMNNNNMMMMMMNNMMNNMMMMNNMMMMMMMMMMMMNNMMNNMMMMMMMMMMMMNNMMMMNNMMMMNNMMNNMMMMMMMMMMMMMMMMMMNNNNNNNNMMMMNNNNMMMMNNMMNNMMMMNNMMMMMMNNNNMMMMNNNNNNMMNNMMMMMMNNMMMMMMNNMMNNNNNNMMMMMMMMMMNNMMNNMMMMMMMMMMMMNNMMNNNNMMMMMMNNMMMMMMMMMMMMMMMMMMNNNNMMNNMMNNMMMMNNNNMMMMNNMMMMNNMMNNMMMMNNNNMMMMMMMMNNMMMMMMMMMMMMMMMMMMNNMMMMNNMMMMMMMMMMNNMMMMMMNNMMMMMMMMMMMMNNMMMMMMMMNNMMMMNNNNMMMMNNMMMMMMMMNNMMMMMMNNMMMMMMMMNNMMMMNNMMMMMMMMMMNNNNNNMMMMMMMMMMMMNNNNNNMMMMMMNNMMMMMMNNMMMMMMMMMMNNMMMMMMMMMMMMMMNNMMMMMMMMMMMMMMMMMMMMNNMMMMNNNNMMMMMMMMMMMMMMMMMMNNMMMMMMMMMMNNMMMMMMMMNNMMMMMMNNMMMMMMNNMMMMMMNNMMNNNNMMNNNNMMMMNNMMNNNNMMMMMMMMNNNNNNNNNNNNMMNNNNNNMMMMNNNNMMNNMMMMNNNNNNNNNNMMMMNNNNNNNNMMNNMMMMMMMMNNNNNNNNNNNNMMMMNNNNNNNNMMNNNNNNMMNNNNNNNNMMNNNNNNNNMMNNNNMMMMNNNNMMNNMMNNNNNNNNMMMMNNMMMMNNMMMMMMNNNNMMNNMMMMNNNNMMNNMMMMNNNNNNNNNNMMMMNNMMNNMMNNNNMMNNNNNNNNNNMMNNMMMMMMMMMMNNNNMMNNMMNNNNMMNNMMMMMMMMMMMMNNNNNNNNMMNNMMNNNNNNNNMMNNMMMMMMMMNNNNNNNNNNNNMMMMNNNNNNNNMMNNNNNNNNNNNNMMNNNNMMNNMMMMMMMMMMNNMMNNMMMMMMNNNNNNMMNNNNNNNNNNNNNNNNNNNNNNMMMMNNNNMMNNNNNNNNNNNNNNNNMMMMNNMMMMNNNNMMNNNNNNNNMMNNNNNNNNNNNNNNNNNNNNMMNNMMNNNNMMNNMMNNMMNNNNMMMMMMNNMMNNNNMMMMNNNNMMNNNNMMMMNNNNMMNNMMNNMMMMNNNNNNNNMMMMMMNNNNNNMMNNNNMMNNNNMMNNMMNNNNNNNNMMMMNNNNNNNNMMNNNNNNNNNNMMNNMMNNNNMMMMNNNNNNNNMMMMNNNNMMNNNNNNNNNNNNMMNNMMMMNNNNMMNNNNNNMMNNNNMMMMNNMMMMMMMMNNMMNNMMMMMMMMNNNNNNNNNNNNNNNNNNMMNNNNNNMMMMMMMMNNNNMMMMMMNNNNNNNNNNNNMMNNMMNNMMNNMMNNMMMMNNNNMMNNNNMMNNMMNNNNMMNNNNMMNNNNNNNNMMMMMMNNMMNNMMMMNNNNMMMMNNMMNNMMMMNNMMMMNNMMNNNNNNMMNNMMMMNNMMNNMMNNNNNNMMMMNNNNNNNNMMMMMMNNMMMMMMMMMMNNNNNNNNMMMMNNNNMMNNNNMMNNNNMMNNMMMMMMNNNNNNNNNNNNNNMMNNNNNNNNNNMMMMNNNNMMMMNNNNNNMMNNNNMMNNNNNNNNMMMMMMMMNNNNMMNNNNNNMMNNNNNNNNNNMMMMMMMMNNNNNNNNMMNNMMNNNNNNNNNNNNNNNNNNMMNNMMNNMMMMNNNNNNMMNNNNNNNNNNNNMMMMMMNNNNMMNNMMMMNNMMNNNNMMNNNNNNNNNNNNNNMMMMNNNNNNNNMMNNMMNNNNMMMMNNNNNNNNNNMMNNNNMMNNNNMMNNNNMMNNMMNNNNMMMMNNNNNNMMMMMMNNNNNNMMNNNNNNNNMMNNNNNNNNMMNNMMNNMMNNNNMMNNNNMMNNMMNNMMNNNNMMNNMMNNNNMMNNMMNNNNNNMMNNNNNNNNMMMMMMNNMMMMNNMMMMNNMMMMNNMMMMMMNNMMMMMMNNNNNNMMNNMMMMNNNNNNMMNNNNNNMMNNNNNNMMMMMMNNMMNNNNNNMMNNNNMMMMNNNNMMMMMMNNMMMMNNNNNNMMNNNNMMNNMMMMNNMMNNNNNNNNNNMMNNMMNNMMNNNNNNNNNNMMMMNNMMNNNNNNNNNNNNNNMMNNNNNNNNNNMMNNNNNNMMNNNNMMNNNNMMMMNNNNNNNNNNNNMMNNMMMMNNMMNNNNNNMMNNNNNNMMNNMMNNNNMMMMMMNNNNMMNNNNNNMMNNNNNNNNMMNNMMNNNNNNNNNNMMMMMMMMNNNNNNNNMMMMNNMMMMNNMMNNMMNNMMMMMMMMNNNNMMNNMMNNNNMMMMNNMMMMMMMMNNNNMMMMMMMMNNMMMMNNMMMMNNNNNNNNMMMMMMMMMMMMMMNNNNNNMMMMMMMMNNMMMMMMMMNNNNMMNNNNNNMMNNMMNNMMNNNNNNMMMMMMNNMMNNMMMMMMMMNNMMNNNNMMNNNNMMNNMMMMMMMMMMNNNNMMMMMMMMNNNNMMNNMMMMMMNNNNNNMMMMMMNNMMMMMMNNMMNNNNNNNNMMNNMMMMMMMMNNMMNNMMMMMMNNMMNNMMMMMMNNNNNNNNNNNNNNMMNNNNNNNNMMNNNNNNMMMMNNMMMMMMNNNNMMNNMMMMMMMMNNNNNNMMMMNNMMMMNNMMNNMMNNNNNNNNMMNNMMNNMMNNNNNNMMMMNNNNNNMMMMNNMMMMMMMMMMMMMMNNMMMMNNNNNNMMNNMMMMNNMMMMNNNNNNMMNNMMNNNNNNNNNNMMNNMMMMMMNNNNNNNNNNMMMMNNMMNNMMNNNNNNNNNNMMNNMMNNMMMMMMMMMMMMNNNNMMMMNNMMMMNNNNMMMMMMNNNNMMNNMMNNMMMMNNNNMMMMMMMMMMNNNNNNNNNNMMMMMMMMNNNNNNMMMMNNMMMMMMMMMMMMMMNNNNMMMMMMMMMMMMMMMMNNMMMMNNNNNNMMMMMMNNMMNNMMMMMMMMMMNNMMNNNNNNMMNNNNMMMMNNMMNNMMMMNNMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMNNMMMMNNNNMMMMMMMMNNMMNNMMMMNNNNMMNNMMMMNNMMMMNNMMMMMMMMNNNNMMMMNNNNNNMMNNMMMMNNNNMMMMNNNNMMMMNNMMNNMMMMNNMMMMNNMMMMNNMMNNMMNNMMNNNNNNNNMMMMMMMMMMMMNNNNMMMMMMNNNNNNMMNNNNMMNNNNNNMMMMNNMMNNNNMMNNMMNNNNNNMMMMMMMMMMNNMMMMMMNNNNNNNNMMMMMMMMNNMMNNMMNNNNNNMMMMMMNNNNMMMMMMMMMMNNMMMMMMMMNNNNMMNNMMMMNNNNMMMMNNMMMMNNNNNNNNNNNNNNMMMMMMNNNNMMMMMMNNNNNNNNMMMMMMMMMMNNMMNNMMMMMMMMMMNNMMNNMMNNMMNNMMNNNNMMMMNNNNNNMMMMMMMMMMMMMMMMNNNNMMNNMMMMNNMMNNNNMMNNNNMMNNMMMMMMNNNNNNMMMMMMMMNNMMNNNNMMMMNNNNMMMMMMNNMMMMNNMMMMMMNNMMMMNNNNNNNNMMNNNNMMMMMMNNMMMMNNMMNNNNMMNNMMMMMMMMMMNNMMNNMMMMMMMMNNNNMMNNMMMMMMMMMMNNMMMMMMNNNNMMMMMMMMMMMMMMMMMMNNNNMMMMMMMMNNMMNNNNMMNNNNMMNNMMMMMMNNNNNNMMMMMMMMNNMMNNNNMMMMNNNNNNMMMMNNMMMMNNMMMMMMMMNNNNNNNNMMMMMMNNMMNNMMNNMMMMNNNNMMNNMMMMNNMMNNNNMMNNNNMMMMNNNNMMMMMMMMNNMMMMMMNNNNMMMMMMNNMMNNMMMMNNMMMMMMMMMMNNNNMMNNMMMMMMMMMMMMNNMMMMNNMMMMNNMMNNMMMMMMMMMMMMMMMMMMNNNNNNNNMMMMNNNNMMMMNNMMNNMMNNNNMMMMMMNNNNMMMMNNNNNNMMNNMMMMMMNNMMMMMMNNMMNNNNNNMMMMMMMMMMNNMMNNMMMMMMMMMMMMNNMMNNNNMMMMMMNNMMMMMMMMMMMMMMMMMMNNNNMMNNMMNNMMMMNNNNMMMMNNMMMMNNMMNNMMMMNNNNMMMMMMMMNNMMMMMMMMMMMMMMMMMMNNMMMMNNMMMMMMMMMMNNMMMMMMNNMMMMMMMMMMMMNNMMMMMMMMNNMMMMNNNNMMMMNNMMMMMMMMNNMMMMMMNNMMMMMMMMNNMMMMNNMMMMMMMMMMNNNNNNMMMMMMMMMMMMNNNNNNMMMMMMNNMMMMMMNNMMMMMMMMMMNNMMMMMMMMMMMMMMNNMMMMMMMMMMMMMMMMMMMMNNMMMMNNNNMMMMMMMMMMMMMMNNMMNNMMMMMMMMMMNNMMMMMMMMNNMMMMMMNNMMMMMMNNMMMMMMNNMMNNNNMMNNNNMMMMNNNNNNNNNNNNNNNNNNNNNNNNMMNNNNNNNNMMNNNNNNNNNNNNNNNNMMNNNNNNNNNNNNMMNNNNMMNNNNNNNNNNNNNNNNNNNNNNNNNNMMMMNNNNNNNNNNNNMMNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNMMNNMMNNNNNNNNNNNNMMMMNNNNNNNNNNNNMMNNNNNNMMNNNNNNMMMMNNMMNNNNNNMMMMMMNNNNNNMMNNNNMMNNNNMMNNNNMMNNNNNNNNNNNNNNNNNNNNNNNNNNNNMMNNNNNNNNNNMMNNNNNNMMNNNNMMNNNNNNNNMMMMNNNNNNMMNNNNNNNNNNNNNNNNNNNNNNMMNNNNNNMMNNNNNNNNMMNNNNNNNNNNNNNNNNMMNNMMNNNNNNNNNNNNMMNNNNNNNNNNNNNNMMNNNNNNNNNNNNNNNNNNMMNNNNNNNNMMMMMMNNMMNNNNNNMMNNMMNNMMNNNNNNNNNNNNMMNNNNMMNNNNMMNNNNNNNNNNMMNNNNNNNNNNMMNNMMMMNNNNNNNNNNNNNNMMNNNNNNNNNNNNNNNNNNNNNNMMNNMMNNNNMMNNNNNNNNMMNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNMMNNMMNNMMMMNNNNNNNNNNNNNNNNNNMMNNNNNNNNNNNNNNNNNNNNMMMMNNNNNNNNNNNNMMNNNNNNNNNNMMNNNNNNMMNNNNNNNNNNMMNNMMNNMMNNNNMMNNNNMMNNMMMMNNNNMMMMNNNNNNMMNNNNNNNNNNNNNNNNNNMMNNNNMMNNMMNNNNMMMMNNMMMMNNNNNNNNMMNNNNNNNNNNNNMMMMNNNNNNNNNNNNNNNNNNMMNNMMNNMMNNMMNNMMNNNNMMNNMMNNMMNNNNNNNNNNNNMMMMNNMMNNMMNNNNMMNNNNNNNNNNNNNNMMMMNNMMNNNNNNNNNNMMNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNMMNNNNNNNNNNMMNNNNNNNNNNNNMMNNMMNNMMNNNNNNNNNNNNMMMMNNMMNNMMNNNNNNNNMMNNNNNNNNNNMMNNNNNNMMMMMMMMNNNNNNNNNNNNMMNNNNNNMMNNNNNNNNNNMMNNNNNNNNNNMMMMMMNNNNNNNNMMNNMMNNMMMMNNNNNNNNMMNNNNNNNNMMNNMMNNNNMMMMNNNNNNNNMMMMNNNNNNMMMMNNNNMMNNNNNNNNMMMMMMNNNNNNNNMMNNNNMMNNNNNNMMNNNNMMNNMMMMNNMMMMNNMMMMNNNNNNNNNNNNMMNNMMNNNNNNMMMMMMNNNNNNNNNNNNNNNNMMMMNNMMNNNNNNMMNNNNMMMMMMMMNNMMMMMMNNNNNNNNMMNNNNNNNNNNNNNNNNMMMMMMNNNNNNNNNNMMNNMMMMNNNNNNNNNNNNNNNNNNNNNNNNNNNNMMNNNNNNNNNNNNNNMMNNMMMMNNNNMMNNNNNNNNNNNNNNMMNNNNNNMMNNNNMMNNNNNNNNNNNNNNNNNNMMNNNNNNNNMMNNNNMMNNNNNNNNNNNNMMNNNNMMMMNNNNNNNNNNMMNNMMNNNNNNNNNNMMMMNNNNMMNNNNNNNNNNNNNNMMNNMMMMNNNNNNNNMMNNNNNNMMNNMMMMNNNNNNNNNNMMNNNNMMMMNNNNNNNNNNMMMMNNMMMMNNNNNNMMNNMMNNMMNNMMNNNNNNMMNNNNMMMMNNNNNNMMNNNNMMNNNNNNNNNNNNNNNNNNNNNNNNNNMMMMMMNNNNMMNNMMMMNNNNNNMMMMNNNNMMNNMMMMMMMMNNMMNNNNNNNNNNNNNNNNNNNNNNMMNNMMNNNNMMNNMMMMNNNNNNMMNNMMNNNNMMMMNNNNNNNNMMNNNNNNNNMMNNNNNNNNMMNNNNNNNNNNMMMMMMMMNNMMNNNNMMMMMMNNNNMMNNNNMMNNMMMMNNNNNNMMNNMMMMNNMMNNMMMMMMNNNNNNNNMMNNNNMMNNNNNNNNMMMMMMNNNNMMNNNNNNNNNNNNNNNNNNNNNNNNNNNNMMNNNNNNMMMMMMMMMMNNNNNNMMNNNNMMNNMMNNMMNNNNMMMMMMNNNNNNMMNNNNNNMMNNMMNNNNNNNNMMMMMMMMNNMMNNNNNNNNNNNNMMNNMMMMNNNNNNNNNNNNMMNNNNNNNNNNNNMMNNMMNNMMNNNNNNMMNNNNNNNNNNNNNNNNNNMMNNNNNNMMMMMMNNNNNNNNNNNNNNNNNNMMNNNNMMNNMMNNMMNNMMNNMMNNNNNNMMNNNNMMNNNNNNNNMMNNNNMMNNNNNNNNMMNNMMNNNNNNNNMMNNNNMMMMNNNNNNMMNNNNMMMMNNMMMMMMNNMMNNNNNNMMNNNNNNNNNNNNMMNNMMNNNNNNMMNNMMNNNNNNMMNNMMNNNNNNNNMMMMNNNNNNNNNNMMNNNNMMNNNNMMMMNNNNNNNNNNNNNNNNNNNNNNMMNNMMNNMMNNNNMMNNNNNNMMNNNNMMNNNNNNMMMMMMNNNNNNNNNNNNNNNNMMNNNNMMNNNNNNMMNNMMNNNNNNNNMMNNMMNNMMNNNNNNNNMMNNNNMMNNNNNNMMMMNNNNMMNNNNNNNNMMNNMMMMMMMMNNNNMMNNMMNNNNMMMMMMNNNNNNMMNNNNNNNNMMMMMMNNNNNNMMNNMMNNNNNNNNNNNNMMNNNNMMNNNNMMNNNNMMNNNNNNNNNNNNNNMMNNNNNNMMNNMMNNNNNNNNNNNNMMMMNNNNNNNNNNNNNNNNMMNNNNNNNNNNNNNNMMMMNNNNNNMMNNNNNNMMMMNNNNNNMMNNNNMMMMNNMMNNNNNNMMMMNNNNMMNNMMMMMMMMMMNNMMMMMMNNNNNNMMNNNNNNMMNNNNMMNNNNNNMMMMNNNNMMNNNNNNMMMMMMMMMMMMNNNNNNMMNNMMMMNNNNMMNNMMNNNNMMMMMMMMNNNNMMMMNNNNMMNNMMNNMMNNNNMMNNNNMMMMMMNNMMMMNNMMNNMMMMNNNNNNMMNNNNMMMMNNMMNNNNNNMMMMNNNNMMMMMMMMMMNNMMNNMMMMMMNNNNNNMMMMNNNNMMNNMMMMNNNNNNMMMMNNNNMMNNNNNNMMNNMMMMNNMMNNNNMMNNNNMMMMNNNNNNNNMMMMNNMMMMMMMMNNNNMMMMNNMMNNNNNNNNNNNNMMNNMMMMNNMMMMMMNNNNMMNNNNNNMMNNNNNNNNMMNNNNNNNNNNNNMMMMMMMMMMMMNNNNNNNNMMNNNNMMNNMMMMNNMMNNNNNNNNNNNNMMNNNNNNMMNNNNNNNNMMNNNNNNNNNNNNMMMMMMMMNNNNNNMMNNNNMMMMMMMMMMNNNNMMNNNNMMNNMMNNNNNNNNMMNNNNMMNNNNNNNNNNMMMMMMNNNNMMNNNNMMMMNNMMMMMMNNMMNNMMMMMMNNNNMMMMNNNNMMMMNNMMNNMMNNMMMMMMMMMMMMMMNNNNNNMMNNNNMMMMNNMMNNNNNNNNNNNNMMNNNNNNMMMMMMNNNNNNMMMMNNNNNNNNMMNNMMNNNNNNNNMMMMMMMMMMMMNNNNNNMMMMNNMMMMNNMMNNNNMMNNNNMMNNMMNNNNMMMMNNNNNNMMMMNNMMMMMMNNNNMMMMNNMMNNMMMMMMMMMMMMNNNNNNMMNNMMMMMMNNMMMMNNNNMMMMMMMMNNNNNNNNNNNNMMMMMMNNMMMMNNMMMMNNMMMMNNMMNNMMNNNNMMNNNNNNMMNNMMMMMMNNNNMMNNNNNNMMNNMMNNNNNNMMNNNNNNNNNNMMMMNNMMNNNNNNMMMMMMMMNNNNNNMMMMMMMMNNNNMMNNNNNNMMMMNNMMNNNNNNMMMMNNNNMMNNMMNNNNNNNNNNNNNNNNNNNNNNNNMMNNNNNNNNMMNNNNNNNNNNNNNNNNMMNNNNNNNNNNNNMMNNNNMMNNNNNNNNNNNNNNNNNNNNNNNNNNMMMMNNNNNNNNNNNNMMNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNMMNNMMNNNNNNNNNNNNMMMMNNNNNNNNNNNNMMNNNNNNMMNNNNNNMMMMNNMMNNNNNNMMMMMMNNNNNNMMNNNNMMNNNNMMNNNNMMNNNNNNNNNNNNNNNNNNNNNNNNNNNNMMNNNNNNNNNNMMNNNNNNMMNNNNMMNNNNNNNNMMMMNNNNNNMMNNNNNNNNNNNNNNNNNNNNNNMMNNNNNNMMNNNNNNNNMMNNNNNNNNNNNNNNNNMMNNMMNNNNNNNNNNNNMMNNNNNNNNNNNNNNMMNNNNNNNNNNNNNNNNNNMMNNNNNNNNMMMMMMNNMMNNNNNNMMNNMMNNMMNNNNNNNNNNNNMMNNNNMMNNNNMMNNNNNNNNNNMMNNNNNNNNNNMMNNMMMMNNNNNNNNNNNNNNMMNNNNNNNNNNNNNNNNNNNNNNMMNNMMNNNNMMNNNNNNNNMMNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNMMNNMMNNMMMMNNNNNNNNNNNNNNNNNNMMNNNNNNNNNNNNNNNNNNNNMMMMNNNNNNNNNNNNMMNNNNNNNNNNMMNNNNNNMMNNNNNNNNNNMMNNMMNNMMNNNNMMNNNNMMNNMMMMNNNNMMMMNNNNNNMMNNNNNNNNNNNNNNNNNNMMNNNNMMNNMMNNNNMMMMNNMMMMNNNNNNNNMMNNNNNNNNNNNNMMMMNNNNNNNNNNNNNNNNNNMMNNMMNNMMNNMMNNMMNNNNMMNNMMNNMMNNNNNNNNNNNNMMMMNNMMNNMMNNNNMMNNNNNNNNNNNNNNMMMMNNMMNNNNNNNNNNMMNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNMMNNNNNNNNNNMMNNNNNNNNNNNNMMNNMMNNMMNNNNNNNNNNNNMMMMNNMMNNMMNNNNNNNNMMNNNNNNNNNNMMNNNNNNMMMMMMMMNNNNNNNNNNNNMMNNNNNNMMNNNNNNNNNNMMNNNNNNNNNNMMMMMMNNNNNNNNMMNNMMNNMMMMNNNNNNNNMMNNNNNNNNMMNNMMNNNNMMMMNNNNNNNNMMMMNNNNNNMMMMNNNNMMNNNNNNNNMMMMMMNNNNNNNNMMNNNNMMNNNNNNMMNNNNMMNNMMMMNNMMMMNNMMMMNNNNNNNNNNNNMMNNMMNNNNNNMMMMMMNNNNNNNNNNNNNNNNMMMMNNMMNNNNNNMMNNNNMMMMMMMMNNMMMMMMNNNNNNNNMMNNNNNNNNNNNNNNNNMMMMMMNNNNNNNNNNMMNNMMMMNNNNNNNNNNNNNNNNNNNNNNNNNNNNMMNNNNNNNNNNNNNNMMNNMMMMNNNNMMNNNNNNNNNNNNNNMMNNNNNNMMNNNNMMNNNNNNNNNNNNNNNNNNMMNNNNNNNNMMNNNNMMNNNNNNNNNNNNMMNNNNMMMMNNNNNNNNNNMMNNMMNNNNNNNNNNMMMMNNNNMMNNNNNNNNNNNNNNMMNNMMMMNNNNNNNNMMNNNNNNMMNNMMMMNNNNNNNNNNMMNNNNMMMMNNNNNNNNNNMMMMNNMMMMNNNNNNMMNNMMNNMMNNMMNNNNNNMMNNNNMMMMNNNNNNMMNNNNMMNNNNNNNNNNNNNNNNNNNNNNNNNNMMMMMMNNNNMMNNMMMMNNNNNNMMMMNNNNMMNNMMMMMMMMNNMMNNNNNNNNNNNNNNNNNNNNNNMMNNMMNNNNMMNNMMMMNNNNNNMMNNMMNNNNMMMMNNNNNNNNMMNNNNNNNNMMNNNNNNNNMMNNNNNNNNNNMMMMMMMMNNMMNNNNMMMMMMNNNNMMNNNNMMNNMMMMNNNNNNMMNNMMMMNNMMNNMMMMMMNNNNNNNNMMNNNNMMNNNNNNNNMMMMMMNNNNMMNNNNNNNNNNNNNNNNNNNNNNNNNNNNMMNNNNNNMMMMMMMMMMNNNNNNMMNNNNMMNNMMNNMMNNNNMMMMMMNNNNNNMMNNNNNNMMNNMMNNNNNNNNMMMMMMMMNNMMNNNNNNNNNNNNMMNNMMMMNNNNNNNNNNNNMMNNNNNNNNNNNNMMNNMMNNMMNNNNNNMMNNNNNNNNNNNNNNNNNNMMNNNNNNMMMMMMNNNNNNNNNNNNNNNNNNMMNNNNMMNNMMNNMMNNMMNNMMNNNNNNMMNNNNMMNNNNNNNNMMNNNNMMNNNNNNNNMMNNMMNNNNNNNNMMNNNNMMMMNNNNNNMMNNNNMMMMNNMMMMMMNNMMNNNNNNMMNNNNNNNNNNNNMMNNMMNNNNNNMMNNMMNNNNNNMMNNMMNNNNNNNNMMMMNNNNNNNNNNMMNNNNMMNNNNMMMMNNNNNNNNNNNNNNNNNNNNNNMMNNMMNNMMNNNNMMNNNNNNMMNNNNMMNNNNNNMMMMMMNNNNNNNNNNNNNNNNMMNNNNMMNNNNNNMMNNMMNNNNNNNNMMNNMMNNMMNNNNNNNNMMNNNNMMNNNNNNMMMMNNNNMMNNNNNNNNMMNNMMMMMMMMNNNNMMNNMMNNNNMMMMMMNNNNNNMMNNNNNNNNMMMMMMNNNNNNMMNNMMNNNNNNNNNNNNMMNNNNMMNNNNMMNNNNMMNNNNNNNNNNNNNNMMNNNNNNMMNNMMNNNNNNNNNNNNMMMMNNNNNNNNNNNNNNNNMMNNNNNNNNNNNNNNMMMMNNNNNNMMNNNNNNMMMMNNNNNNMMNNNNMMMMNNMMNNNNNNMMMMNNNNMMNNMMMMMMMMMMNNMMMMMMNNNNNNMMNNNNNNMMNNNNMMNNNNNNMMMMNNNNMMNNNNNNMMMMMMMMMMMMNNNNNNMMNNMMMMNNNNMMNNMMNNNNMMMMMMMMNNNNMMMMNNNNMMNNMMNNMMNNNNMMNNNNMMMMMMNNMMMMNNMMNNMMMMNNNNNNMMNNNNMMMMNNMMNNNNNNMMMMNNNNMMMMMMMMMMNNMMNNMMMMMMNNNNNNMMMMNNNNMMNNMMMMNNNNNNMMMMNNNNMMNNNNNNMMNNMMMMNNMMNNNNMMNNNNMMMMNNNNNNNNMMMMNNMMMMMMMMNNNNMMMMNNMMNNNNNNNNNNNNMMNNMMMMNNMMMMMMNNNNMMNNNNNNMMNNNNNNNNMMNNNNNNNNNNNNMMMMMMMMMMMMNNNNNNNNMMNNNNMMNNMMMMNNMMNNNNNNNNNNNNMMNNNNNNMMNNNNNNNNMMNNNNNNNNNNNNMMMMMMMMNNNNNNMMNNNNMMMMMMMMMMNNNNMMNNNNMMNNMMNNNNNNNNMMNNNNMMNNNNNNNNNNMMMMMMNNNNMMNNNNMMMMNNMMMMMMNNMMNNMMMMMMNNNNMMMMNNNNMMMMNNMMNNMMNNMMMMMMMMMMMMMMNNNNNNMMNNNNMMMMNNMMNNNNNNNNNNNNMMNNNNNNMMMMMMNNNNNNMMMMNNNNNNNNMMNNMMNNNNNNNNMMMMMMMMMMMMNNNNNNMMMMNNMMMMNNMMNNNNMMNNNNMMNNMMNNNNMMMMNNNNNNMMMMNNMMMMMMNNNNMMMMNNMMNNMMMMMMMMMMMMNNNNNNMMNNMMMMMMNNMMMMNNNNMMMMMMMMNNNNNNNNNNNNMMMMMMNNMMMMNNMMMMNNMMMMNNMMNNMMNNNNMMNNNNNNMMNNMMMMMMNNNNMMNNNNNNMMNNMMNNNNNNMMNNNNNNNNNNMMMMNNMMNNNNNNMMMMMMMMNNNNNNMMMMMMMMNNNNMMNNNNNNMMMMNNMMNNNNNNMMMMNNNNMMNNMMNNMMNNNNNNMMNNNNNNNNNNNNNNNNNNNNMMNNMMNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNMMNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNMMNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNMMNNNNNNNNNNNNNNNNNNNNNNMMNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNMMNNNNNNMMMMNNMMNNMMNNNNMMNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNMMNNNNNNNNNNNNNNNNNNNNNNNNNNMMNNNNNNNNNNNNMMNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNMMNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNMMNNNNNNNNMMNNNNMMNNNNNNNNNNNNMMNNNNNNNNNNNNNNMMNNMMNNNNNNMMNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNMMNNNNNNMMNNNNNNNNNNNNNNNNNNNNNNNNMMNNNNNNNNMMNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNMMNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNMMNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNMMNNNNNNMMNNNNNNNNNNMMNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNMMNNMMNNNNNNNNNNNNNNNNNNNNNNMMNNNNNNMMNNNNNNNNNNNNNNNNNNNNMMNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNMMNNNNMMNNNNNNNNNNMMNNNNNNMMNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNMMMMNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNMMNNNNNNNNNNNNNNNNMMNNNNNNNNNNNNNNNNNNNNNNNNMMNNNNNNNNNNNNNNNNNNNNMMNNNNMMNNNNNNNNNNNNNNMMNNMMNNNNNNNNNNNNNNNNNNNNNNNNMMNNMMNNNNNNMMNNNNNNNNNNNNMMNNNNNNNNNNNNNNMMMMMMNNNNNNNNNNMMNNNNNNNNNNNNNNNNNNNNNNNNMMNNMMNNNNMMNNNNNNNNNNNNNNNNNNNNNNMMNNNNNNNNNNNNNNNNNNNNMMNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNMMNNNNNNNNMMNNMMNNNNNNNNNNNNMMNNMMNNNNNNNNNNNNNNNNNNNNMMNNNNNNNNNNNNNNNNNNNNNNNNNNNNMMNNNNNNNNNNNNNNMMNNNNMMNNNNNNMMMMNNMMNNNNMMNNNNNNNNMMNNMMNNNNNNNNNNNNNNNNNNNNMMNNNNNNNNNNMMNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNMMNNNNNNNNNNNNNNNNNNMMNNNNNNNNNNMMNNNNNNNNNNNNNNNNNNNNMMNNNNMMNNMMNNMMNNNNNNNNNNNNNNNNNNNNMMNNNNMMNNMMNNNNMMMMNNMMNNNNNNNNNNNNNNNNNNNNNNMMNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNMMNNNNNNNNNNNNNNNNNNNNMMNNNNMMNNMMNNNNNNMMNNNNNNNNNNNNNNNNNNNNNNNNNNMMNNNNMMMMNNNNNNNNNNNNNNNNNNNNNNMMNNNNMMMMNNMMMMNNNNNNNNMMMMNNNNMMNNMMNNNNNNNNNNMMNNNNNNNNNNNNNNNNNNNNNNNNMMNNMMNNNNMMNNMMNNNNMMNNMMNNNNNNNNMMNNNNNNMMNNNNNNNNNNNNNNNNNNNNNNNNNNMMNNNNNNNNNNNNNNNNNNNNMMNNNNMMNNNNNNNNNNNNNNNNMMNNNNNNNNNNNNNNMMNNNNNNNNNNNNNNNNMMMMNNNNNNNNNNNNNNMMNNNNNNMMNNNNNNMMNNNNNNNNMMNNNNMMMMNNNNNNNNMMNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNMMNNNNMMNNMMMMNNNNNNNNNNNNNNNNNNNNMMNNNNNNNNNNNNNNNNNNNNNNMMNNNNNNMMNNNNNNMMNNNNNNNNMMNNMMNNNNNNNNMMNNMMMMNNMMMMMMNNNNNNNNNNNNMMNNNNNNMMNNNNNNNNNNNNNNNNMMNNNNNNNNNNNNMMNNNNNNNNNNNNNNMMNNNNNNNNNNNNNNNNNNNNNNNNMMNNNNNNNNNNNNNNNNNNMMNNNNNNMMMMNNNNNNMMNNNNMMNNNNNNNNNNNNNNNNNNNNNNMMMMNNMMNNNNNNNNNNNNNNNNNNNNMMMMNNNNNNNNNNNNNNNNNNNNMMMMNNNNNNNNNNNNNNMMNNMMMMNNNNNNNNNNNNNNNNNNNNNNNNNNNNMMNNMMNNNNNNNNNNNNNNNNNNMMNNMMNNNNNNNNMMMMNNNNNNNNNNMMMMNNMMNNNNNNMMNNNNNNMMNNNNMMNNMMMMNNMMMMNNNNNNNNNNNNNNNNMMNNNNNNMMNNMMNNNNNNNNMMNNMMMMMMNNMMMMNNMMNNNNNNNNNNMMNNMMNNMMNNNNNNNNNNMMNNNNNNNNNNNNNNMMNNMMNNNNNNNNNNNNMMMMNNMMMMNNNNNNNNMMNNNNNNNNNNNNNNNNNNNNNNMMNNNNNNMMNNMMNNMMMMMMNNNNNNMMNNNNMMNNNNNNNNNNNNNNNNMMMMNNMMNNMMNNNNNNNNNNNNNNNNMMMMNNMMNNNNNNNNNNNNNNNNMMMMMMMMNNMMNNMMNNNNNNNNNNNNMMNNNNNNNNMMNNNNMMNNNNNNNNNNMMMMNNMMMMNNNNNNNNMMNNNNNNNNNNNNNNNNNNMMNNNNNNNNNNNNNNMMNNMMMMMMNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNMMMMNNNNNNNNMMMMNNNNNNNNNNNNMMNNNNNNNNNNNNMMNNNNMMNNMMNNMMNNNNMMNNMMNNNNNNNNNNNNNNNNMMNNNNMMMMNNMMMMMMMMNNNNNNNNNNNNNNNNNNMMNNNNNNMMNNMMMMNNNNMMNNNNNNNNNNNNNNMMNNNNNNMMNNNNMMNNNNMMMMNNMMNNNNNNMMNNNNNNNNNNMMNNNNNNNNNNNNNNNNNNMMNNNNMMNNNNMMNNNNMMMMNNNNNNNNNNNNNNNNMMNNMMNNNNNNMMNNNNNNNNNNMMNNNNNNNNMMNNNNMMMMNNNNNNMMNNNNNNNNNNNNNNMMMMNNNNNNNNNNNNNNMMNNMMNNNNNNNNMMNNNNNNMMNNNNNNNNMMNNNNNNNNMMNNNNNNNNNNMMNNNNNNNNNNNNNNNNNNNNNNNNNNNNMMNNNNNNNNNNMMNNNNNNMMNNMMMMMMNNNNNNNNMMNNMMNNNNNNMMNNNNNNMMMMNNNNNNNNNNNNMMNNMMNNNNNNNNNNNNNNNNNNMMMMMMNNNNNNNNNNMMNNNNNNNNNNNNNNNNMMMMNNNNNNNNNNNNNNNNNNNNMMMMMMNNMMNNMMNNMMMMNNNNNNNNNNNNNNNNNNNNNNNNNNMMNNNNMMNNMMMMNNMMNNNNNNNNMMNNNNMMMMNNNNNNMMNNNNNNNNNNNNNNNNNNNNMMNNMMNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNMMNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNMMNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNMMNNNNNNNNNNNNNNNNNNNNNNMMNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNMMNNNNNNMMMMNNMMNNMMNNNNMMNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNMMNNNNNNNNNNNNNNNNNNNNNNNNNNMMNNNNNNNNNNNNMMNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNMMNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNMMNNNNNNNNMMNNNNMMNNNNNNNNNNNNMMNNNNNNNNNNNNNNMMNNMMNNNNNNMMNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNMMNNNNNNMMNNNNNNNNNNNNNNNNNNNNNNNNMMNNNNNNNNMMNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNMMNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNMMNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNMMNNNNNNMMNNNNNNNNNNMMNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNMMNNMMNNNNNNNNNNNNNNNNNNNNNNMMNNNNNNMMNNNNNNNNNNNNNNNNNNNNMMNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNMMNNNNMMNNNNNNNNNNMMNNNNNNMMNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNMMMMNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNMMNNNNNNNNNNNNNNNNMMNNNNNNNNNNNNNNNNNNNNNNNNMMNNNNNNNNNNNNNNNNNNNNMMNNNNMMNNNNNNNNNNNNNNMMNNMMNNNNNNNNNNNNNNNNNNNNNNNNMMNNMMNNNNNNMMNNNNNNNNNNNNMMNNNNNNNNNNNNNNMMMMMMNNNNNNNNNNMMNNNNNNNNNNNNNNNNNNNNNNNNMMNNMMNNNNMMNNNNNNNNNNNNNNNNNNNNNNMMNNNNNNNNNNNNNNNNNNNNMMNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNMMNNNNNNNNMMNNMMNNNNNNNNNNNNMMNNMMNNNNNNNNNNNNNNNNNNNNMMNNNNNNNNNNNNNNNNNNNNNNNNNNNNMMNNNNNNNNNNNNNNMMNNNNMMNNNNNNMMMMNNMMNNNNMMNNNNNNNNMMNNMMNNNNNNNNNNNNNNNNNNNNMMNNNNNNNNNNMMNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNMMNNNNNNNNNNNNNNNNNNMMNNNNNNNNNNMMNNNNNNNNNNNNNNNNNNNNMMNNNNMMNNMMNNMMNNNNNNNNNNNNNNNNNNNNMMNNNNMMNNMMNNNNMMMMNNMMNNNNNNNNNNNNNNNNNNNNNNMMNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNMMNNNNNNNNNNNNNNNNNNNNMMNNNNMMNNMMNNNNNNMMNNNNNNNNNNNNNNNNNNNNNNNNNNMMNNNNMMMMNNNNNNNNNNNNNNNNNNNNNNMMNNNNMMMMNNMMMMNNNNNNNNMMMMNNNNMMNNMMNNNNNNNNNNMMNNNNNNNNNNNNNNNNNNNNNNNNMMNNMMNNNNMMNNMMNNNNMMNNMMNNNNNNNNMMNNNNNNMMNNNNNNNNNNNNNNNNNNNNNNNNNNMMNNNNNNNNNNNNNNNNNNNNMMNNNNMMNNNNNNNNNNNNNNNNMMNNNNNNNNNNNNNNMMNNNNNNNNNNNNNNNNMMMMNNNNNNNNNNNNNNMMNNNNNNMMNNNNNNMMNNNNNNNNMMNNNNMMMMNNNNNNNNMMNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNMMNNNNMMNNMMMMNNNNNNNNNNNNNNNNNNNNMMNNNNNNNNNNNNNNNNNNNNNNMMNNNNNNMMNNNNNNMMNNNNNNNNMMNNMMNNNNNNNNMMNNMMMMNNMMMMMMNNNNNNNNNNNNMMNNNNNNMMNNNNNNNNNNNNNNNNMMNNNNNNNNNNNNMMNNNNNNNNNNNNNNMMNNNNNNNNNNNNNNNNNNNNNNNNMMNNNNNNNNNNNNNNNNNNMMNNNNNNMMMMNNNNNNMMNNNNMMNNNNNNNNNNNNNNNNNNNNNNMMMMNNMMNNNNNNNNNNNNNNNNNNNNMMMMNNNNNNNNNNNNNNNNNNNNMMMMNNNNNNNNNNNNNNMMNNMMMMNNNNNNNNNNNNNNNNNNNNNNNNNNNNMMNNMMNNNNNNNNNNNNNNNNNNMMNNMMNNNNNNNNMMMMNNNNNNNNNNMMMMNNMMNNNNNNMMNNNNNNMMNNNNMMNNMMMMNNMMMMNNNNNNNNNNNNNNNNMMNNNNNNMMNNMMNNNNNNNNMMNNMMMMMMNNMMMMNNMMNNNNNNNNNNMMNNMMNNMMNNNNNNNNNNMMNNNNNNNNNNNNNNMMNNMMNNNNNNNNNNNNMMMMNNMMMMNNNNNNNNMMNNNNNNNNNNNNNNNNNNNNNNMMNNNNNNMMNNMMNNMMMMMMNNNNNNMMNNNNMMNNNNNNNNNNNNNNNNMMMMNNMMNNMMNNNNNNNNNNNNNNNNMMMMNNMMNNNNNNNNNNNNNNNNMMMMMMMMNNMMNNMMNNNNNNNNNNNNMMNNNNNNNNMMNNNNMMNNNNNNNNNNMMMMNNMMMMNNNNNNNNMMNNNNNNNNNNNNNNNNNNMMNNNNNNNNNNNNNNMMNNMMMMMMNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNMMMMNNNNNNNNMMMMNNNNNNNNNNNNMMNNNNNNNNNNNNMMNNNNMMNNMMNNMMNNNNMMNNMMNNNNNNNNNNNNNNNNMMNNNNMMMMNNMMMMMMMMNNNNNNNNNNNNNNNNNNMMNNNNNNMMNNMMMMNNNNMMNNNNNNNNNNNNNNMMNNNNNNMMNNNNMMNNNNMMMMNNMMNNNNNNMMNNNNNNNNNNMMNNNNNNNNNNNNNNNNNNMMNNNNMMNNNNMMNNNNMMMMNNNNNNNNNNNNNNNNMMNNMMNNNNNNMMNNNNNNNNNNMMNNNNNNNNMMNNNNMMMMNNNNNNMMNNNNNNNNNNNNNNMMMMNNNNNNNNNNNNNNMMNNMMNNNNNNNNMMNNNNNNMMNNNNNNNNMMNNNNNNNNMMNNNNNNNNNNMMNNNNNNNNNNNNNNNNNNNNNNNNNNNNMMNNNNNNNNNNMMNNNNNNMMNNMMMMMMNNNNNNNNMMNNMMNNNNNNMMNNNNNNMMMMNNNNNNNNNNNNMMNNMMNNNNNNNNNNNNNNNNNNMMMMMMNNNNNNNNNNMMNNNNNNNNNNNNNNNNMMMMNNNNNNNNNNNNNNNNNNNNMMMMMMNNMMNNMMNNMMMMNNNNNNNNNNNNNNNNNNNNNNNNNNMMNNNNMMNNMMMMNNMMNNNNNNNNMMNNNNMMNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNMMNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNMMNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNMMNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNMMNNNNNNMMNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNMMNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNMMNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNMMNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNMMNNMMNNNNNNNNNNNNMMNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNMMNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNMMNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNMMNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNMMNNNNNNNNNNNNNNNNNNNNNNNNNNMMNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNMMNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNMMNNNNNNNNNNNNNNMMNNNNNNNNNNNNNNNNNNNNNNNNNNMMNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNMMNNMMNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNMMNNNNNNNNNNNNNNNNMMNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNMMNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNMMNNNNNNNNNNNNNNNNNNMMMMNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNMMNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNMMNNNNNNNNNNNNNNNNNNNNNNNNNNNNMMMMNNNNNNNNMMNNNNNNNNNNNNNNNNNNNNNNNNMMNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNMMNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNMMNNNNNNNNNNNNNNNNNNNNNNNNNNMMNNNNNNNNNNNNNNNNNNNNNNNNNNNNMMNNMMNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNMMNNNNNNNNNNNNNNNNNNMMNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNMMNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNMMNNNNNNNNNNNNNNNNNNMMNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNMMNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNMMNNNNNNNNNNNNMMNNNNNNMMNNNNNNMMMMNNMMNNNNNNNNMMNNNNNNMMNNNNNNMMMMNNNNNNNNNNNNNNNNNNNNNNNNNNNNMMMMNNNNNNNNNNNNNNNNNNNNNNNNNNMMNNMMNNNNMMNNNNMMNNNNMMNNMMNNNNNNNNNNNNNNNNNNNNMMNNNNNNNNNNNNNNNNNNMMNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNMMNNNNNNNNNNNNMMMMNNNNMMNNMMNNNNNNNNMMMMNNMMNNNNNNNNNNNNNNNNNNNNNNNNMMNNMMNNNNNNNNNNNNNNNNNNNNNNNNMMNNMMNNNNNNNNNNNNMMNNNNNNMMNNMMNNNNNNNNNNNNNNNNMMNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNMMNNNNNNNNNNNNNNNNNNNNNNNNNNNNMMNNNNNNNNNNNNNNNNMMNNNNNNMMNNNNNNNNNNNNNNNNNNMMMMMMNNNNMMNNNNNNNNNNMMNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNMMNNMMMMNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNMMMMNNNNNNMMNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNMMNNMMMMNNNNNNNNNNNNNNMMNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNMMNNNNNNNNNNMMNNNNNNMMNNNNNNNNNNMMNNNNNNNNNNNNNNNNNNNNNNNNMMNNNNNNNNNNNNNNMMNNNNNNNNNNNNNNNNMMMMNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNMMNNNNNNNNNNNNNNNNNNMMNNNNNNNNMMNNNNNNNNNNMMNNNNNNNNNNNNNNNNMMMMNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNMMMMNNNNMMMMNNMMNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNMMNNMMNNNNNNNNNNNNMMNNMMNNNNMMNNMMNNNNNNMMNNNNMMNNNNNNNNNNNNMMNNNNNNNNNNNNNNNNMMNNNNNNNNNNNNNNNNNNNNNNNNMMNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNMMNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNMMNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNMMNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNMMNNNNNNMMNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNMMNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNMMNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNMMNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNMMNNMMNNNNNNNNNNNNMMNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNMMNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNMMNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNMMNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNMMNNNNNNNNNNNNNNNNNNNNNNNNNNMMNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNMMNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNMMNNNNNNNNNNNNNNMMNNNNNNNNNNNNNNNNNNNNNNNNNNMMNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNMMNNMMNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNMMNNNNNNNNNNNNNNNNMMNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNMMNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNMMNNNNNNNNNNNNNNNNNNMMMMNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNMMNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNMMNNNNNNNNNNNNNNNNNNNNNNNNNNNNMMMMNNNNNNNNMMNNNNNNNNNNNNNNNNNNNNNNNNMMNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNMMNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNMMNNNNNNNNNNNNNNNNNNNNNNNNNNMMNNNNNNNNNNNNNNNNNNNNNNNNNNNNMMNNMMNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNMMNNNNNNNNNNNNNNNNNNMMNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNMMNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNMMNNNNNNNNNNNNNNNNNNMMNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNMMNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNMMNNNNNNNNNNNNMMNNNNNNMMNNNNNNMMMMNNMMNNNNNNNNMMNNNNNNMMNNNNNNMMMMNNNNNNNNNNNNNNNNNNNNNNNNNNNNMMMMNNNNNNNNNNNNNNNNNNNNNNNNNNMMNNMMNNNNMMNNNNMMNNNNMMNNMMNNNNNNNNNNNNNNNNNNNNMMNNNNNNNNNNNNNNNNNNMMNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNMMNNNNNNNNNNNNMMMMNNNNMMNNMMNNNNNNNNMMMMNNMMNNNNNNNNNNNNNNNNNNNNNNNNMMNNMMNNNNNNNNNNNNNNNNNNNNNNNNMMNNMMNNNNNNNNNNNNMMNNNNNNMMNNMMNNNNNNNNNNNNNNNNMMNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNMMNNNNNNNNNNNNNNNNNNNNNNNNNNNNMMNNNNNNNNNNNNNNNNMMNNNNNNMMNNNNNNNNNNNNNNNNNNMMMMMMNNNNMMNNNNNNNNNNMMNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNMMNNMMMMNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNMMMMNNNNNNMMNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNMMNNMMMMNNNNNNNNNNNNNNMMNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNMMNNNNNNNNNNMMNNNNNNMMNNNNNNNNNNMMNNNNNNNNNNNNNNNNNNNNNNNNMMNNNNNNNNNNNNNNMMNNNNNNNNNNNNNNNNMMMMNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNMMNNNNNNNNNNNNNNNNNNMMNNNNNNNNMMNNNNNNNNNNMMNNNNNNNNNNNNNNNNMMMMNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNMMMMNNNNMMMMNNMMNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNMMNNMMNNNNNNNNNNNNMMNNMMNNNNMMNNMMNNNNNNMMNNNNMMNNNNNNNNNNNNMMNNNNNNNNNNNNNNNNMMNNNNNNNNNNNNNNNNNNNNNNNNMMNNNNNNNNNNOOOONNNNNNNNNNOONNNNNNNNNNNNNNNNNNNNNNNNOONNNNOONNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNOONNNNNNNNNNOONNNNNNNNNNNNNNNNOONNNNNNNNNNNNNNNNNNOOONNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNOONNNNNNNNOONNNNOONNNNNNNNNNNNOONNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNOONNNNNNNNNNOONNNNNNNNNNNNNNNNNNNNOONNNNNNNNNNOONNNNNNNNOONNNNOONNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNOONNNNNNNNNNNNNNOONNNNNNNNOONNNNNNNNNNNNNNNNNNNNOOOONNNNNNNNNNNNNNNNNNNNOONNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNOONNNNNNNNNNNNNNNNNNNNNNNNNNOONNNNNNNNNNNNNNNNNNNNNNNNNNNNOONNOONNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNOONNNNNNNNNNNNNNNNOONNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNOONNNNNNNNOOOONNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNOONNNNNNNNNNNNNNNNNNNNNNOONNNNNNOONNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNOONNOONNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNOONNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNOONNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNOONNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNOONNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNOONNNNNNNNNNNNNNNNNNNNNNNNOONNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNOONNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNOONNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNMMNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNMMNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNMMNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNMMNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNMMNNNNNNNNNNNNNNNNNNMMNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNMMNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNMMNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNMMNNNNNNNNNNNNMMNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNMMNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNMMNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNMMNNNNNNNNNNNNNNNNNNNNNNNNMMNNNNNNNNNNNNNNNNNNNNMMNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNMMNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNMMNNMMNNNNNNNNMMNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNMMNNNNNNNNMMNNNNNNNNNNNNNNNNNNMMNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNMMNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNMMNNNNMMMMNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNMMNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNOOOONNNNNNNNNNOONNNNNNNNNNNNNNNNNNNNNNNNOONNNNOONNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNOONNNNNNNNNNOONNNNNNNNNNNNNNNNOONNNNNNNNNNNNNNNNNNOOOONNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNOONNNNNNNNOONNNNOONNNNNNNNNNNNOONNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNOONNNNNNNNNNOONNNNNNNNNNNNNNNNNNNNOONNNNNNNNNNOONNNNNNNNOONNNNOONNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNOONNNNNNNNNNNNNNOONNNNNNNNOONNNNNNNNNNNNNNNNNNNNOOOONNNNNNNNNNNNNNNNNNNNOONNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNOONNNNNNNNNNNNNNNNNNNNNNNNNNOONNNNNNNNNNNNNNNNNNNNNNNNNNNNOONNOONNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNOONNNNNNNNNNNNNNNNOONNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNOONNNNNNNNOOOONNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNOONNNNNNNNNNNNNNNNNNNNNNOONNNNNNOONNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNOONNOONNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNOONNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNOONNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNOONNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNOONNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNOONNNNNNNNNNNNNNNNNNNNNNNNOONNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNOONNNNNNNNNNNNNNOONNNNNNNNNNNNNNNNNNOONNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNMMNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNMMNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNMMNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNMMNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNMMNNNNNNNNNNNNNNNNNNMMNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNMMNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNMMNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNMMNNNNNNNNNNNNMMNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNMMNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNMMNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNMMNNNNNNNNNNNNNNNNNNNNNNNNMMNNNNNNNNNNNNNNNNNNNNMMNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNMMNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNMMNNMMNNNNNNNNMMNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNMMNNNNNNNNMMNNNNNNNNNNNNNNNNNNMMNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNMMNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNMMNNNNMMMMNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNMMNNNNNNNNNNNNNNNNNNNNNNNNNNNNOONNNNNNNNNNNNNNNNOONNNNOOOOOOOOOOOONNNNNNNNNNNNOOOONNNNNNNNOONNOONNOONNNNNNNNNNNNOONNNNNNNNNNNNNNNNNNNNNNOOOONNOONNOOOOOOOONNNNOONNOONNNNNNNNOONNOONNOOOONNOONNNNOONNOONNNNOONNNNNNNNNNOOOOOONNNNNNOOOONNNNNNNNNNNNNNNNNNOONNNNNNNNNNNNNNNNNNNNNNOONNNNNNNNOONNOONNNNNNNNNNNNNNOONNNNOONNOOOONNNNNNNNNNOOOONNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNOONNOONNNNOONNNNOONNNNNNNNNNNNNNNNNNOONNNNNNNNNNNNNNNNNNNNNNOOOONNNNNNNNNNNNNNOONNNNNNNNNNNNNNNNNNNNOONNOONNNNNNNNOONNNNNNNNNNOONNNNOOOONNNNNNNNOONNNNNNOONNOONNNNNNOONNOONNNNOONNNNNNOONNOONNNNNNNNNNNNNNNNNNNNOONNNNNNNNOONNNNNNNNOONNOONNOONNNNOONNNNOOOONNNNNNNNNNOOOONNNNNNNNNNNNOONNNNNNNNNNNNNNNNOONNOONNNNNNOONNNNNNNNNNOONNNNNNOOOONNNNNNNNNNNNNNNNNNNNOONNNNNNNNNNNNNNNNNNNNNNOONNNNOONNNNNNNNNNNNNNNNOONNNNNNNNOONNNNNNNNNNOONNNNNNNNNNNNNNOONNNNNNNNNNNNOONNNNNNOONNNNNNNNNNNNNNNNOONNNNOONNNNNNNNOONNNNNNNNNNNNNNNNNNNNNNNNNNNNNNOONNNNOONNNNNNOONNNNOONNNNOONNNNNNOONNNNNNNNNNNNNNNNNNNNNNNNNNNNNNOONNOONNOONNNNNNNNNNOONNNNNNOONNNNNNNNNNNNNNNNNNNNNNNNNNNNOONNOONNNNNNNNNNNNNNNNOONNOONNNNNNNNOONNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNOONNNNNNOONNNNOOOOOONNNNNNNNOONNNNNNNNNNNNNNNNNNNNNNNNOONNNNOONNNNNNNNNNNNNNNNNNNNNNNNNNNNNNOONNNNNNNNNNNNNNNNNNNNOONNNNOONNNNOONNNNOONNNNNNNNNNNNOONNOONNNNNNNNNNNNNNOOOOOOOONNNNOONNNNNNNNNNNNNNNNNNOONNNNNNNNOONNNNNNNNOONNNNOONNNNNNNNNNOOOONNOONNNNNNNNNNNNNNNNNNNNNNNNNNOONNNNNNNNOONNOONNNNNNOONNNNNNNNNNNNNNNNNNNNOONNNNNNNNNNOONNNNNNNNOONNNNOONNNNNNNNNNNNNNNNOONNNNNNNNNNOONNNNNNNNNNNNNNNNNNNNNNOONNNNNNNNNNNNNNNNNNNNNNNNNNNNOONNNNNNNNNNOONNNNNNOONNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNOONNOONNNNNNNNNNNNNNNNNNNNNNOONNNNNNNNOONNNNOONNNNNNNNNNOONNNNNNNNOONNNNOONNNNNNNNNNOONNNNNNNNNNOONNNNNNOONNNNNNNNNNNNNNNNNNOOOONNNNNNNNNNNNNNOONNNNNNNNNNNNOONNNNNNNNOONNNNNNNNNNOONNNNOONNNNOOOONNNNNNNNNNNNNNOONNOOOONNOONNNNNNNNNNNNOONNNNNNNNNNNNNNNNNNNNNNOONNNNOONNOONNNNNNNNNNNNNNOOOONNNNNNNNNNNNNNNNNNNNNNOONNNNNNNNNNNNNNNNOONNNNNNNNNNNNNNNNNNNNOONNNNNNNNNNNNNNNNNNNNOONNNNNNNNNNNNNNNNNNNNNNNNNNOONNOONNNNNNNNNNNNNNOONNNNNNNNNNNNNNNNNNOONNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNOONNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNOONNNNNNNNNNNNNNNNNNNNNNOOOONNNNNNNNNNNNNNNNNNNNNNNNOONNNNNNNNOONNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNOONNNNNNNNOONNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNOONNOONNNNNNNNNNNNNNNNNNNNNNNNOONNNNNNNNNNNNNNNNNNNNNNOONNNNNNOOOONNNNNNNNNNNNNNNNNNNNOONNNNNNNNNNNNNNNNNNNNNNOONNOONNNNNNNNNNNNNNNNNNNNNNNNNNNNOONNOONNNNNNNNNNNNNNNNNNOONNNNNNNNNNNNNNNNNNNNNNNNNNOONNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNOONNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNOONNNNNNNNNNNNNNOONNNNNNNNNNNNNNNNNNNNOONNNNNNNNNNOONNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNOONNNNNNNNNNNNNNNNNNNNNNNNOONNNNNNNNNNNNNNNNNNNNNNNNNNNNNNOONNNNNNNNNNNNNNNNOONNNNNNNNOONNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNOONNNNNNOONNNNNNNNOONNNNNNNNOONNNNNNNNOONNNNNNNNNNNNNNNNNNNNNNNNNNNNNNOONNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNOONNNNNNNNNNNNNNNNOONNNNNNNNOONNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNOONNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNOONNNNNNNNNNNNNNNNNNOONNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNOONNOONNNNNNNNNNNNNNNNNNNNOONNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNOONNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNOONNNNNNNNNNNNNNNNOONNNNOOOOOOOOOOOONNNNNNNNNNNNOOOONNNNNNNNOONNOONNOONNNNNNNNNNNNOONNNNNNNNNNNNNNNNNNNNNNOOOONNOONNOOOOOOOONNNNOONNOONNNNNNNNOONNOONNOOOONNOONNNNOONNOONNNNOONNNNNNNNNNOOOOOONNNNNNOOOONNNNNNNNNNNNNNNNNNOONNNNNNNNNNNNNNNNNNNNNNOONNNNNNNNOONNOONNNNNNNNNNNNNNOONNNNOONNOOOONNNNNNNNNNOOOONNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNOONNOONNNNOONNNNOONNNNNNNNNNNNNNNNNNOONNNNNNNNNNNNNNNNNNNNNNOOOONNNNNNNNNNNNNNOONNNNNNNNNNNNNNNNNNNNOONNOONNNNNNNNOONNNNNNNNNNOONNNNOOOONNNNNNNNOONNNNNNOONNOONNNNNNOONNOONNNNOONNNNNNOONNOONNNNNNNNNNNNNNNNNNNNOONNNNNNNNOONNNNNNNNOONNOONNOONNNNOONNNNOOOONNNNNNNNNNOOOONNNNNNNNNNNNOONNNNNNNNNNNNNNNNOONNOONNNNNNOONNNNNNNNNNOONNNNNNOOOONNNNNNNNNNNNNNNNNNNNOONNNNNNNNNNNNNNNNNNNNNNOONNNNOONNNNNNNNNNNNNNNNOONNNNNNNNOONNNNNNNNNNOONNNNNNNNNNNNNNOONNNNNNNNNNNNOONNNNNNOONNNNNNNNNNNNNNNNOONNNNOONNNNNNNNOONNNNNNNNNNNNNNNNNNNNNNNNNNNNNNOONNNNOONNNNNNOONNNNOONNNNOONNNNNNOONNNNNNNNNNNNNNNNNNNNNNNNNNNNNNOONNOONNOONNNNNNNNNNOONNNNNNOONNNNNNNNNNNNNNNNNNNNNNNNNNNNOONNOONNNNNNNNNNNNNNNNOONNOONNNNNNNNOONNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNOONNNNNNOONNNNOOOOOONNNNNNNNOONNNNNNNNNNNNNNNNNNNNNNNNOONNNNOONNNNNNNNNNNNNNNNNNNNNNNNNNNNNNOONNNNNNNNNNNNNNNNNNNNOONNNNOONNNNOONNNNOONNNNNNNNNNNNOONNOONNNNNNNNNNNNNNOOOOOOOONNNNOONNNNNNNNNNNNNNNNNNOONNNNNNNNOONNNNNNNNOONNNNOONNNNNNNNNNOOOONNOONNNNNNNNNNNNNNNNNNNNNNNNNNOONNNNNNNNOONNOONNNNNNOONNNNNNNNNNNNNNNNNNNNOONNNNNNNNNNOONNNNNNNNOONNNNOONNNNNNNNNNNNNNNNOONNNNNNNNNNOONNNNNNNNNNNNNNNNNNNNNNOONNNNNNNNNNNNNNNNNNNNNNNNNNNNOONNNNNNNNNNOONNNNNNOONNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNOONNOONNNNNNNNNNNNNNNNNNNNNNOONNNNNNNNOONNNNOONNNNNNNNNNOONNNNNNNNOONNNNOONNNNNNNNNNOONNNNNNNNNNOONNNNNNOONNNNNNNNNNNNNNNNNNOOOONNNNNNNNNNNNNNOONNNNNNNNNNNNOONNNNNNNNOONNNNNNNNNNOONNNNOONNNNOOOONNNNNNNNNNNNNNOONNOOOONNOONNNNNNNNNNNNOONNNNNNNNNNNNNNNNNNNNNNOONNNNOONNOONNNNNNNNNNNNNNOOOONNNNNNNNNNNNNNNNNNNNNNOONNNNNNNNNNNNNNNNOONNNNNNNNNNNNNNNNNNNNOONNNNNNNNNNNNNNNNNNNNOONNNNNNNNNNNNNNNNNNNNNNNNNNOONNOONNNNNNNNNNNNNNOONNNNNNNNNNNNNNNNNNOONNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNOONNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNOONNNNNNNNNNNNNNNNNNNNNNOOOONNNNNNNNNNNNNNNNNNNNNNNNOONNNNNNNNOONNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNOONNNNNNNNOONNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNOONNOONNNNNNNNNNNNNNNNNNNNNNNNOONNNNNNNNNNNNNNNNNNNNNNOONNNNNNOOOONNNNNNNNNNNNNNNNNNNNOONNNNNNNNNNNNNNNNNNNNNNOONNOONNNNNNNNNNNNNNNNNNNNNNNNNNNNOONNOONNNNNNNNNNNNNNNNNNOONNNNNNNNNNNNNNNNNNNNNNNNNNOONNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNOONNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNOONNNNNNNNNNNNNNOONNNNNNNNNNNNNNNNNNNNOONNNNNNNNNNOONNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNOONNNNNNNNNNNNNNNNNNNNNNNNOONNNNNNNNNNNNNNNNNNNNNNNNNNNNNNOONNNNNNNNNNNNNNNNOONNNNNNNNOONNNNNNNNNNNNNNOONNNNNNNNNNNNNNNNNNOONNNNNNOONNNNNNNNOONNNNNNNNOONNNNNNNNOONNNNNNNNNNNNNNNNNNNNNNNNNNNNNNOONNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNOONNNNNNNNNNNNNNNNOONNNNNNNNOONNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNOONNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNOONNNNNNNNNNNNNNNNNNOONNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNOONNOONNNNNNNNNNNNNNNNNNNNOONNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNOONNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNOOOOOOOONNNNNNOONNNNNNOOOONNOONNNNNNOONNNNNNNNOOOONNNNOOOONNOONNOONNNNNNNNNNOOOOOONNNNNNOONNNNNNOOOOOONNNNNNNNNNOOOOOOOOOONNNNNNNNNNNNNNNNNNNNNNNNNNOONNOOOONNNNOOOOOONNNNOONNNNOOOONNOOOONNNNNNNNNNNNNNNNNNNNOONNNNOONNNNOOOOOONNOOOONNNNNNOOOONNNNOONNOOOOOONNNNNNNNOONNNNNNOONNNNOOOOOOOONNNNOOOONNOONNOOOONNNNOONNNNNNNNOONNNNNNNNNNOOOONNOONNOONNNNNNNNNNNNNNNNOOOONNOOOONNNNNNOONNOOOONNNNNNOONNOOOONNOOOONNNNNNOOOONNOONNOOOOOONNNNOOOOOOOOOONNOONNNNOOOOOOOONNNNOOOOOONNOONNNNOONNNNNNNNNNNNOOOONNNNOOOONNNNOONNOOOONNOOOONNNNNNOOOOOONNOOOONNNNNNNNOONNNNNNNNNNNNNNNNNNNNNNOOOONNNNNNNNOONNOONNNNOONNNNNNOONNNNNNOONNNNNNNNNNNNNNOONNOOOOOONNOONNOOOONNNNNNNNOONNOONNNNNNNNOOOONNOOOOOOOOOONNNNNNNNOOOOOONNNNNNOONNOOOONNNNNNOONNNNNNNNNNNNOONNNNNNNNOONNNNNNNNNNNNOONNOOOONNNNNNNNNNNNNNOONNNNNNNNOONNNNOONNOONNNNNNNNNNOOOONNNNNNNNNNNNOONNNNNNOONNNNOONNNNNNNNNNNNNNNNOONNOOOOOONNOONNOOOONNOONNNNOONNNNNNOOOOOONNNNOOOONNNNOONNOONNNNNNNNOONNNNNNNNOOOOOONNOONNOONNNNNNOONNOONNNNNNNNOONNNNNNOONNNNNNOOOOOONNOOOONNNNNNNNOOOOOOOOOONNOONNOONNNNNNNNOONNNNNNOONNNNNNNNNNNNOONNNNOONNNNOOOONNOOOONNNNNNNNNNNNNNNNOONNOOOOOOOOOOOOOONNNNNNNNNNNNOOOONNOONNNNOONNOONNOONNNNNNNNNNNNOONNNNNNNNNNNNNNNNNNNNNNOOOONNOONNOOOOOOOONNNNOONNOONNNNNNNNOONNOONNOOOONNOONNNNOONNOONNNNOONNOONNNNNNOOOOOONNNNNNOOOONNNNNNNNNNNNNNNNNNOONNNNNNNNNNNNNNOONNNNNNOONNNNNNOOOONNOONNNNNNNNNNNNNNOONNNNOONNOOOONNNNNNNNNNOOOONNNNNNNNNNNNNNNNNNNNNNOOOONNNNOONNOONNOONNOONNNNOONNNNOONNNNNNNNOONNNNNNNNOONNNNNNNNNNNNNNNNNNNNNNOOOONNOONNOONNNNNNOOOONNNNNNNNNNNNNNOONNNNNNNNOONNNNNNNNNNNNNNOONNNNNNNNOONNNNNNNNOONNNNNNOOOONNNNNNNNNNOONNNNOONNNNNNNNNNOONNOONNNNOOOONNNNNNNNNNOONNNNNNNNNNOOOONNNNOONNOONNNNOONNOOOONNOONNNNNNNNNNNNNNNNNNOONNNNOONNNNNNNNOONNNNOOOONNNNOOOOOONNNNNNOONNNNNNOONNNNNNNNOOOONNOONNOONNNNNNNNNNNNNNOONNNNOONNNNOONNNNNNNNNNNNNNNNNNNNNNNNOONNNNOONNNNOONNNNNNNNNNNNNNOONNNNNNNNNNNNNNNNNNNNNNNNNNNNNNOONNNNOONNNNNNNNNNNNNNNNNNNNOOOONNOONNOONNNNOOOONNNNNNOONNNNNNNNNNNNNNNNNNOONNOONNNNNNNNNNNNNNOONNNNNNNNOONNNNNNNNOONNNNNNNNNNNNNNNNOONNOONNOONNNNNNNNNNOONNNNNNNNNNNNOONNOONNNNOONNNNNNNNOONNNNNNNNNNNNNNNNNNNNNNNNNNOOOONNNNOONNNNNNNNNNOONNNNNNNNNNOONNOOOOOONNNNNNNNNNNNOOOONNNNNNNNNNOOOONNOONNNNNNOONNOOOOOONNNNNNOOOONNNNNNNNOONNNNOONNNNOOOONNNNOONNNNNNOONNOONNNNNNNNNNOONNNNNNNNNNNNOONNNNNNOONNNNNNOONNNNNNNNOONNNNOONNNNNNOOOONNNNNNNNNNNNNNNNNNNNNNNNNNNNNNOONNNNOONNNNOOOONNNNOONNNNOONNNNOOOONNNNNNNNNNNNNNNNOONNNNNNNNNNNNOONNOONNOONNNNNNOOOOOONNNNNNOONNNNNNNNNNNNNNNNNNNNNNNNNNNNOONNOONNNNNNNNNNNNNNNNOONNOONNNNNNNNOONNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNOONNNNNNOONNNNOOOOOONNNNNNOOOONNNNNNNNOONNOONNNNNNNNNNOONNNNOONNOONNNNNNNNNNNNNNNNNNNNNNNNNNOONNNNNNNNNNNNNNNNNNNNOONNNNOONNNNOONNNNOONNNNNNNNNNNNOONNOONNNNNNNNNNNNNNOOOOOOOONNNNOONNNNOONNNNOONNNNNNOONNNNNNNNOONNNNNNNNOONNNNOONNNNNNNNNNOOOOOOOONNNNNNNNNNNNNNNNNNNNNNNNNNOONNNNNNNNOONNOONNNNNNOONNNNNNNNNNOONNNNNNNNOONNNNNNNNNNOONNNNNNOOOONNNNOONNNNNNNNNNNNNNNNOONNOONNNNNNOONNNNOOOOOONNOONNNNNNNNOONNNNNNNNNNNNOONNNNNNNNNNNNOONNNNOONNNNNNOOOONNOONNNNNNNNNNNNNNNNNNNNNNNNNNOONNNNNNNNOONNOONNNNNNOONNNNNNNNNNNNNNNNNNNNOONNNNNNNNNNOONNNNNNOOOONNNNOONNNNNNNNNNNNNNNNOONNOONNNNNNOONNNNOONNNNNNOONNNNNNNNOONNNNNNNNNNNNOONNNNNNNNNNNNOONNNNOONNNNNNNNNNNNNNOONNNNNNNNOONNNNNNNNNNNNNNNNNNNNOOOONNNNNNNNNNNNNNNNNNNNOONNNNNNNNNNNNNNNNNNNNNNOONNNNOONNNNOONNNNOONNNNNNNNNNNNNNNNOONNOONNNNNNNNNNNNNNNNNNNNNNNNNNOONNNNNNNNOOOOOONNOONNNNNNNNNNOONNOONNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNOONNNNNNNNNNOOOONNNNOONNOONNOONNNNNNNNOONNNNNNNNNNNNNNNNNNNNOONNNNNNNNNNOOOONNNNOONNNNNNNNNNNNNNNNNNNNNNOOOOOOOONNOONNNNNNNNNNNNOONNNNNNNNNNNNNNOONNOONNNNNNNNNNNNOONNNNNNNNNNNNNNNNNNNNNNNNOONNNNNNOONNOONNNNNNOONNOONNNNNNNNOONNOONNNNOONNNNNNNNOONNOONNNNNNNNNNNNNNNNNNOONNNNNNNNOONNNNNNNNNNNNNNNNNNNNOONNNNNNNNNNNNNNNNOONNNNNNOONNNNNNNNNNNNNNNNOOOONNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNOONNNNNNOONNNNNNNNNNNNNNNNNNNNNNNNNNNNOOOONNOONNNNNNNNNNNNNNNNNNNNNNOOOONNNNNNNNOOOOOOOONNNNNNOONNNNNNOOOONNOONNNNNNOONNNNNNNNOOOONNNNOOOONNOONNOONNNNNNNNNNOOOOOONNNNNNOONNNNNNOOOOOONNNNNNNNNNOOOOOOOOOONNNNNNNNNNNNNNNNNNNNNNNNNNOONNOOOONNNNOOOOOONNNNOONNNNOOOONNOOOONNNNNNNNNNNNNNNNNNNNOONNNNOONNNNOOOOOONNOOOONNNNNNOOOONNNNOONNOOOOOONNNNNNNNOONNNNNNOONNNNOOOOOOOONNNNOOOONNOONNOOOONNNNOONNNNNNNNOONNNNNNNNNNOOOONNOONNOONNNNNNNNNNNNNNNNOOOONNOOOONNNNNNOONNOOOONNNNNNOONNOOOONNOOOONNNNNNOOOONNOONNOOOOOONNNNOOOOOOOOOONNOONNNNOOOOOOOONNNNOOOOOONNOONNNNOONNNNNNNNNNNNOOOONNNNOOOONNNNOONNOOOONNOOOONNNNNNOOOOOONNOOOONNNNNNNNOONNNNNNNNNNNNNNNNNNNNNNOOOONNNNNNNNOONNOONNNNOONNNNNNOONNNNNNOONNNNNNNNNNNNNNOONNOOOOOONNOONNOOOONNNNNNNNOONNOONNNNNNNNOOOONNOOOOOOOOOONNNNNNNNOOOOOONNNNNNOONNOOOONNNNNNOONNNNNNNNNNNNOONNNNNNNNOONNNNNNNNNNNNOONNOOOONNNNNNNNNNNNNNOONNNNNNNNOONNNNOONNOONNNNNNNNNNOOOONNNNNNNNNNNNOONNNNNNOONNNNOONNNNNNNNNNNNNNNNOONNOOOOOONNOONNOOOONNOONNNNOONNNNNNOOOOOONNNNOOOONNNNOONNOONNNNNNNNOONNNNNNNNOOOOOONNOONNOONNNNNNOONNOONNNNNNNNOONNNNNNOONNNNNNOOOOOONNOOOONNNNNNNNOOOOOOOOOONNOONNOONNNNNNNNOONNNNNNOONNNNNNNNNNNNOONNNNOONNNNOOOONNOOOONNNNNNNNNNNNNNNNOONNOOOOOOOOOOOOOONNNNNNNNNNNNOOOONNOONNNNOONNOONNOONNNNNNNNNNNNOONNNNNNNNNNNNNNNNNNNNNNOOOONNOONNOOOOOOOONNNNOONNOONNNNNNNNOONNOONNOOOONNOONNNNOONNOONNNNOONNOONNNNNNOOOOOONNNNNNOOOONNNNNNNNNNNNNNNNNNOONNNNNNNNNNNNNNOONNNNNNOONNNNNNOOOONNOONNNNNNNNNNNNNNOONNNNOONNOOOONNNNNNNNNNOOOONNNNNNNNNNNNNNNNNNNNNNOOOONNNNOONNOONNOONNOONNNNOONNNNOONNNNNNNNOONNNNNNNNOONNNNNNNNNNNNNNNNNNNNNNOOOONNOONNOONNNNNNOOOONNNNNNNNNNNNNNOONNNNNNNNOONNNNNNNNNNNNNNOONNNNNNNNOONNNNNNNNOONNNNNNOOOONNNNNNNNNNOONNNNOONNNNNNNNNNOONNOONNNNOOOONNNNNNNNNNOONNNNNNNNNNOOOONNNNOONNOONNNNOONNOOOONNOONNNNNNNNNNNNNNNNNNOONNNNOONNNNNNNNOONNNNOOOONNNNOOOOOONNNNNNOONNNNNNOONNNNNNNNOOOONNOONNOONNNNNNNNNNNNNNOONNNNOONNNNOONNNNNNNNNNNNNNNNNNNNNNNNOONNNNOONNNNOONNNNNNNNNNNNNNOONNNNNNNNNNNNNNNNNNNNNNNNNNNNNNOONNNNOONNNNNNNNNNNNNNNNNNNNOOOONNOONNOONNNNOOOONNNNNNOONNNNNNNNNNNNNNNNNNOONNOONNNNNNNNNNNNNNOONNNNNNNNOONNNNNNNNOONNNNNNNNNNNNNNNNOONNOONNOONNNNNNNNNNOONNNNNNNNNNNNOONNOONNNNOONNNNNNNNOONNNNNNNNNNNNNNNNNNNNNNNNNNOOOONNNNOONNNNNNNNNNOONNNNNNNNNNOONNOOOOOONNNNNNNNNNNNOOOONNNNNNNNNNOOOONNOONNNNNNOONNOOOOOONNNNNNOOOONNNNNNNNOONNNNOONNNNOOOONNNNOONNNNNNOONNOONNNNNNNNNNOONNNNNNNNNNNNOONNNNNNOONNNNNNOONNNNNNNNOONNNNOONNNNNNOOOONNNNNNNNNNNNNNNNNNNNNNNNNNNNNNOONNNNOONNNNOOOONNNNOONNNNOONNNNOOOONNNNNNNNNNNNNNNNOONNNNNNNNNNNNOONNOONNOONNNNNNOOOOOONNNNNNOONNNNNNNNNNNNNNNNNNNNNNNNNNNNOONNOONNNNNNNNNNNNNNNNOONNOONNNNNNNNOONNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNOONNNNNNOONNNNOOOOOONNNNNNOOOONNNNNNNNOONNOONNNNNNNNNNOONNNNOONNOONNNNNNNNNNNNNNNNNNNNNNNNNNOONNNNNNNNNNNNNNNNNNNNOONNNNOONNNNOONNNNOONNNNNNNNNNNNOONNOONNNNNNNNNNNNNNOOOOOOOONNNNOONNNNOONNNNOONNNNNNOONNNNNNNNOONNNNNNNNOONNNNOONNNNNNNNNNOOOOOOOONNNNNNNNNNNNNNNNNNNNNNNNNNOONNNNNNNNOONNOONNNNNNOONNNNNNNNNNOONNNNNNNNOONNNNNNNNNNOONNNNNNOOOONNNNOONNNNNNNNNNNNNNNNOONNOONNNNNNOONNNNOOOOOONNOONNNNNNNNOONNNNNNNNNNNNOONNNNNNNNNNNNOONNNNOONNNNNNOOOONNOONNNNNNNNNNNNNNNNNNNNNNNNNNOONNNNNNNNOONNOONNNNNNOONNNNNNNNNNNNNNNNNNNNOONNNNNNNNNNOONNNNNNOOOONNNNOONNNNNNNNNNNNNNNNOONNOONNNNNNOONNNNOONNNNNNOONNNNNNNNOONNNNNNNNNNNNOONNNNNNNNNNNNOONNNNOONNNNNNNNNNNNNNOONNNNNNNNOONNNNNNNNNNNNNNNNNNNNOOOONNNNNNNNNNNNNNNNNNNNOONNNNNNNNNNNNNNNNNNNNNNOONNNNOONNNNOONNNNOONNNNNNNNNNNNNNNNOONNOONNNNNNNNNNNNNNNNNNNNNNNNNNOONNNNNNNNOOOOOONNOONNNNNNNNNNOONNOONNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNOONNNNNNNNNNOOOONNNNOONNOONNOONNNNNNNNOONNNNNNNNNNNNNNNNNNNNOONNNNNNNNNNOOOONNNNOONNNNNNNNNNNNNNNNNNNNNNOOOOOOOONNOONNNNNNNNNNNNOONNNNNNNNNNNNNNOONNOONNNNNNNNNNNNOONNNNNNNNNNNNNNNNNNNNNNNNOONNNNNNOONNOONNNNNNOONNOONNNNNNNNOONNOONNNNOONNNNNNNNOONNOONNNNNNNNNNNNNNNNNNOONNNNNNNNOONNNNNNNNNNNNNNNNNNNNOONNNNNNNNNNNNNNNNOONNNNNNOONNNNNNNNNNNNNNNNOOOONNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNOONNNNNNOONNNNNNNNNNNNNNNNNNNNNNNNNNNNOOOONNOONNNNNNNNNNNNNNNNNNNNNNOOOONNNNNNOOOONNOOOONNNNOOOOOOOOOONNOONNNNNNOOOOOOOOOONNNNOONNNNOONNNNOOOOOOOONNOONNOONNOOOOOONNOOOOOONNOONNOONNNNOONNOONNOONNOOOONNNNOOOONNOOOONNNNOOOOOONNNNOOOOOONNOOOOOONNOOOOOONNNNOONNNNOOOONNNNNNNNOOOOOONNOONNNNOONNOONNNNNNOONNOONNNNNNOOOONNNNNNNNOONNNNOOOOOONNOOOONNNNOOOONNOONNOONNNNNNNNNNNNNNNNOONNOOOOOOOONNNNNNNNOONNNNNNOONNNNNNNNNNOOOOOONNOONNOONNOONNNNOONNOONNNNOOOONNOONNNNNNOOOOOONNNNNNNNOONNNNNNOONNOOOOOOOOOONNOONNNNNNOOOONNNNNNNNOONNNNOOOONNOONNOONNNNNNNNNNNNOONNNNNNNNOOOONNOOOOOONNNNNNOOOOOOOOOONNNNNNOONNNNNNNNNNOONNNNNNNNNNOOOOOONNOOOONNNNOOOOOONNNNOONNNNNNOOOOOONNOONNOOOONNOOOOOOOONNOONNNNNNNNNNOONNOOOOOOOOOONNNNNNOONNNNNNOONNOOOONNOOOOOONNNNNNOOOOOOOONNOONNNNNNNNNNNNNNOONNOOOONNOOOOOOOONNNNOONNNNOOOONNOOOOOONNOONNNNNNOONNOONNOOOOOOOOOOOONNNNOONNOOOOOONNOONNOOOONNNNNNOONNNNNNOONNOONNNNOOOONNNNOONNOONNOONNOOOOOONNNNNNOONNOONNOOOOOOOONNOONNOONNNNOOOONNNNOONNOONNOONNNNOONNOONNNNNNOOOONNOONNOONNNNOONNOOOOOONNNNNNNNNNOOOOOONNOOOONNNNOONNNNNNNNNNNNOONNOONNOONNNNNNOOOONNNNNNOOOOOONNOOOOOONNOONNNNOONNOONNNNOOOONNOONNNNOONNOONNOOOOOOOONNNNOOOONNNNOOOONNNNNNOOOOOOOOOONNNNOONNNNOOOOOOOOOOOONNNNOONNNNNNNNOOOONNNNOOOOOOOOOOOONNNNNNNNOOOOOOOONNNNNNOONNNNNNOOOOOONNNNNNNNNNOOOOOOOOOONNNNNNNNNNNNNNNNNNNNNNNNNNOONNOOOONNNNOOOOOONNOOOONNNNOOOONNOOOONNOONNNNNNNNNNOONNNNOONNNNOONNNNOOOOOONNOOOONNNNNNOOOONNNNOONNOOOOOONNNNNNNNOONNNNNNOONNNNOOOOOOOONNNNOOOONNOONNOOOONNOOOONNNNNNNNOONNNNNNOOOOOOOONNOONNOONNNNNNNNNNOONNNNOOOONNOOOONNNNNNOONNOOOONNNNNNOONNOOOOOOOOOONNNNNNOONNNNNNNNNNOONNOONNOONNOONNNNNNNNNNOONNOONNOOOONNOOOOOOOONNNNOONNNNNNOOOONNOONNNNOONNNNNNNNNNNNOONNNNOONNNNOONNNNNNOOOONNNNOOOOOOOOOOOOOOOONNNNOOOOOOOOOOOONNOONNOOOOOONNOOOOOOOONNOONNNNNNOOOOOONNNNNNOOOONNOONNNNOONNOOOONNNNNNNNNNOONNNNNNOONNNNNNNNNNOOOONNNNOONNOOOONNNNNNOOOOOOOONNNNOOOONNNNNNNNNNOONNNNNNNNNNNNNNNNNNNNNNNNNNOOOONNNNNNNNOONNOONNNNOOOONNNNOONNNNNNNNOOOONNNNNNNNOONNNNOONNOONNNNNNOONNNNOONNNNOOOONNNNNNNNNNOONNOONNNNNNNNNNNNOOOOOONNOONNNNNNNNOONNOOOONNNNOONNNNOOOONNOONNNNNNOOOOOONNOOOONNNNNNNNNNNNNNNNNNOONNNNNNNNNNOOOONNNNOONNNNOONNOOOONNOONNOONNNNOOOOOOOONNOONNOOOONNNNNNNNOONNOOOONNNNNNOONNOOOONNNNOONNNNNNNNOONNNNNNNNOOOOOONNNNOOOOOONNNNOONNNNOONNNNNNOOOOOONNNNOOOONNNNNNNNNNNNOOOOOONNNNOOOONNOOOOOONNOONNNNNNOONNNNOONNOONNOONNOONNOOOONNNNOONNOONNNNNNOONNOOOONNNNNNNNNNNNOONNNNNNOONNNNOONNNNNNNNOONNNNNNOOOOOOOOOONNOONNOOOONNOONNNNOONNNNOOOOOOOONNNNOOOONNNNOONNOONNNNNNNNOONNNNNNNNOOOOOONNOONNOONNNNNNOONNOONNNNNNNNOONNNNNNOONNNNNNOOOOOONNOOOONNNNNNNNOOOOOOOOOONNOONNOONNNNNNNNOONNNNNNOONNNNNNNNNNNNOONNNNOONNNNOOOONNOOOONNNNNNNNNNNNNNNNOOOOOOOOOOOOOOOOOONNNNNNNNNNNNOOOONNOONNNNOONNOONNOONNNNNNNNNNNNOONNNNNNNNNNNNNNNNNNNNNNOOOONNOONNOOOOOOOONNNNOONNOONNNNNNNNOONNOONNOOOOOOOONNNNOONNOONNNNOOOOOONNOONNOOOOOONNNNNNOOOONNNNNNNNNNNNOONNOOOOOONNNNNNNNNNNNOONNOONNOONNNNNNOOOONNOOOONNNNNNOONNOOOONNNNOOOOOOOONNNNNNNNNNOOOONNNNNNNNNNNNNNOONNNNNNOOOONNNNOONNOONNOONNOONNNNOONNNNOONNNNNNNNOONNNNNNNNOOOONNNNOONNNNNNNNNNNNNNOOOONNNNNNNNOOOOOOOONNNNNNNNNNNNNNNNNNOONNOONNOONNNNNNOOOONNOONNNNNNNNOONNOOOONNNNOONNOOOONNNNNNNNNNOOOONNNNNNNNNNNNNNOONNNNNNOOOONNNNOONNOONNOONNOONNNNOONNNNOONNNNNNNNOONNNNNNNNOOOONNNNOONNNNNNNNNNNNNNOOOONNNNNNNNOOOOOOOONNNNNNNNNNNNNNOONNNNOONNOONNNNNNNNOONNNNNNOONNOONNNNOOOONNNNOONNOONNOONNOOOOOONNNNNNOONNOONNNNOOOOOONNOONNOONNNNOOOONNNNOONNNNNNOONNNNOONNOONNNNNNOOOONNOONNOONNNNOONNOOOOOONNNNNNNNNNOOOONNNNNNNNNNNNOONNNNNNNNNNNNOONNOONNOONNNNNNOONNNNNNNNNNOONNNNOOOOOONNOONNNNOONNOONNNNNNOONNNNNNNNNNNNNNNNNNNNNNOONNNNOONNNNNNOONNNNNNNNOOOOOOOONNNNNNOONNNNNNOOOONNOONNNNNNOONNNNNNNNOOOONNNNOOOONNOONNNNNNNNNNNNNNOOOOOONNNNNNOONNNNNNNNNNNNNNNNNNNNNNOOOOOONNOONNNNNNNNNNNNNNNNNNNNNNNNNNOONNOOOONNNNOOOONNNNNNNNNNNNOONNNNOOOONNNNNNNNNNNNNNNNNNNNOONNNNOONNNNOOOONNOONNOOOONNNNNNOONNNNNNOONNNNOONNNNNNNNNNNNNNNNOONNNNOONNNNOOOONNNNNNNNNNNNNNNNOONNOOOOOONNNNNNOONNNNOONNNNNNNNOONNNNOONNNNOOOONNNNNNNNOONNNNNNOOOONNOONNNNOONNNNOOOONNOOOONNNNOOOOOOOOOONNOONNNNNNOOOOOOOOOONNNNOONNNNOONNNNOOOOOOOONNOONNOONNOOOOOONNOOOOOONNOONNOONNNNOONNOONNOONNOOOONNNNOOOONNOOOONNNNOOOOOONNNNOOOOOONNOOOOOONNOOOOOONNNNOONNNNOOOONNNNNNNNOOOOOONNOONNNNOONNOONNNNNNOONNOONNNNNNOOOONNNNNNNNOONNNNOOOOOONNOOOONNNNOOOONNOONNOONNNNNNNNNNNNNNNNOONNOOOOOOOONNNNNNNNOONNNNNNOONNNNNNNNNNOOOOOONNOONNOONNOONNNNOONNOONNNNOOOONNOONNNNNNOOOOOONNNNNNNNOONNNNNNOONNOOOOOOOOOONNOONNNNNNOOOONNNNNNNNOONNNNOOOONNOONNOONNNNNNNNNNNNOONNNNNNNNOOOONNOOOOOONNNNNNOOOOOOOOOONNNNNNOONNNNNNNNNNOONNNNNNNNNNOOOOOONNOOOONNNNOOOOOONNNNOONNNNNNOOOOOONNOONNOOOONNOOOOOOOONNOONNNNNNNNNNOONNOOOOOOOOOONNNNNNOONNNNNNOONNOOOONNOOOOOONNNNNNOOOOOOOONNOONNNNNNNNNNNNNNOONNOOOONNOOOOOOOONNNNOONNNNOOOONNOOOOOONNOONNNNNNOONNOONNOOOOOOOOOOOONNNNOONNOOOOOONNOONNOOOONNNNNNOONNNNNNOONNOONNNNOOOONNNNOONNOONNOONNOOOOOONNNNNNOONNOONNOOOOOOOONNOONNOONNNNOOOONNNNOONNOONNOONNNNOONNOONNNNNNOOOONNOONNOONNNNOONNOOOOOONNNNNNNNNNOOOOOONNOOOONNNNOONNNNNNNNNNNNOONNOONNOONNNNNNOOOONNNNNNOOOOOONNOOOOOONNOONNNNOONNOONNNNOOOONNOONNNNOONNOONNOOOOOOOONNNNOOOONNNNOOOONNNNNNOOOOOOOOOONNNNOONNNNOOOOOOOOOOOONNNNOONNNNNNNNOOOONNNNOOOOOOOOOOOONNNNNNNNOOOOOOOONNNNNNOONNNNNNOOOOOONNNNNNNNNNOOOOOOOOOONNNNNNNNNNNNNNNNNNNNNNNNNNOONNOOOONNNNOOOOOONNOOOONNNNOOOONNOOOONNOONNNNNNNNNNOONNNNOONNNNOONNNNOOOOOONNOOOONNNNNNOOOONNNNOONNOOOOOONNNNNNNNOONNNNNNOONNNNOOOOOOOONNNNOOOONNOONNOOOONNOOOONNNNNNNNOONNNNNNOOOOOOOONNOONNOONNNNNNNNNNOONNNNOOOONNOOOONNNNNNOONNOOOONNNNNNOONNOOOOOOOOOONNNNNNOONNNNNNNNNNOONNOONNOONNOONNNNNNNNNNOONNOONNOOOONNOOOOOOOONNNNOONNNNNNOOOONNOONNNNOONNNNNNNNNNNNOONNNNOONNNNOONNNNNNOOOONNNNOOOOOOOOOOOOOOOONNNNOOOOOOOOOOOONNOONNOOOOOONNOOOOOOOONNOONNNNNNOOOOOONNNNNNOOOONNOONNNNOONNOOOONNNNNNNNNNOONNNNNNOONNNNNNNNNNOOOONNNNOONNOOOONNNNNNOOOOOOOONNNNOOOONNNNNNNNNNOONNNNNNNNNNNNNNNNNNNNNNNNNNOOOONNNNNNNNOONNOONNNNOOOONNNNOONNNNNNNNOOOONNNNNNNNOONNNNOONNOONNNNNNOONNNNOONNNNOOOONNNNNNNNNNOONNOONNNNNNNNNNNNOOOOOONNOONNNNNNNNOONNOOOONNNNOONNNNOOOONNOONNNNNNOOOOOONNOOOONNNNNNNNNNNNNNNNNNOONNNNNNNNNNOOOONNNNOONNNNOONNOOOONNOONNOONNNNOOOOOOOONNOONNOOOONNNNNNNNOONNOOOONNNNNNOONNOOOONNNNOONNNNNNNNOONNNNNNNNOOOOOONNNNOOOOOONNNNOONNNNOONNNNNNOOOOOONNNNOOOONNNNNNNNNNNNOOOOOONNNNOOOONNOOOOOONNOONNNNNNOONNNNOONNOONNOONNOONNOOOONNNNOONNOONNNNNNOONNOOOONNNNNNNNNNNNOONNNNNNOONNNNOONNNNNNNNOONNNNNNOOOOOOOOOONNOONNOOOONNOONNNNOONNNNOOOOOOOONNNNOOOONNNNOONNOONNNNNNNNOONNNNNNNNOOOOOONNOONNOONNNNNNOONNOONNNNNNNNOONNNNNNOONNNNNNOOOOOONNOOOONNNNNNNNOOOOOOOOOONNOONNOONNNNNNNNOONNNNNNOONNNNNNNNNNNNOONNNNOONNNNOOOONNOOOONNNNNNNNNNNNNNNNOOOOOOOOOOOOOOOOOONNNNNNNNNNNNOOOONNOONNNNOONNOONNOONNNNNNNNNNNNOONNNNNNNNNNNNNNNNNNNNNNOOOONNOONNOOOOOOOONNNNOONNOONNNNNNNNOONNOONNOOOOOOOONNNNOONNOONNNNOOOOOONNOONNOOOOOONNNNNNOOOONNNNNNNNNNNNOONNOOOOOONNNNNNNNNNNNOONNOONNOONNNNNNOOOONNOOOONNNNNNOONNOOOONNNNOOOOOOOONNNNNNNNNNOOOONNNNNNNNNNNNNNOONNNNNNOOOONNNNOONNOONNOONNOONNNNOONNNNOONNNNNNNNOONNNNNNNNOOOONNNNOONNNNNNNNNNNNNNOOOONNNNNNNNOOOOOOOONNNNNNNNNNNNNNNNNNOONNOONNOONNNNNNOOOONNOONNNNNNNNOONNOOOONNNNOONNOOOONNNNNNNNNNOOOONNNNNNNNNNNNNNOONNNNNNOOOONNNNOONNOONNOONNOONNNNOONNNNOONNNNNNNNOONNNNNNNNOOOONNNNOONNNNNNNNNNNNNNOOOONNNNNNNNOOOOOOOONNNNNNNNNNNNNNOONNNNOONNOONNNNNNNNOONNNNNNOONNOONNNNOOOONNNNOONNOONNOONNOOOOOONNNNNNOONNOONNNNOOOOOONNOONNOONNNNOOOONNNNOONNNNNNOONNNNOONNOONNNNNNOOOONNOONNOONNNNOONNOOOOOONNNNNNNNNNOOOONNNNNNNNNNNNOONNNNNNNNNNNNOONNOONNOONNNNNNOONNNNNNNNNNOONNNNOOOOOONNOONNNNOONNOONNNNNNOONNNNNNNNNNNNNNNNNNNNNNOONNNNOONNNNNNOONNNNNNNNOOOOOOOONNNNNNOONNNNNNOOOONNOONNNNNNOONNNNNNNNOOOONNNNOOOONNOONNNNNNNNNNNNNNOOOOOONNNNNNOONNNNNNNNNNNNNNNNNNNNNNOOOOOONNOONNNNNNNNNNNNNNNNNNNNNNNNNNOONNOOOONNNNOOOONNNNNNNNNNNNOONNNNOOOONNNNNNNNNNNNNNNNNNNNOONNNNOONNNNOOOONNOONNOOOONNNNNNOONNNNNNOONNNNOONNNNNNNNNNNNNNNNOONNNNOONNNNOOOONNNNNNNNNNNNNNNNOONNOOOOOONNNNNNOONNNNOONNNNNNNNOONNNNOONNNNOOOONNNNNNNNOONNNNNNOOOONNOONNNNOONNOOOOOONNOOOOOOOOOOOONNNNOOOOOONNOOOOOOOOOOOOOONNOOOONNOOOOOOOONNOOOOOOOONNOONNOOOOOONNOOOOOOOONNOOOOOOOOOONNOOOONNOOOONNOONNOOOOOOOOOONNNNOONNOOOONNOONNOOOONNNNOOOOOOOOOOOOOOOOOOOOOOOONNNNOOOONNOOOONNNNNNOOOONNNNNNOOOOOONNNNOONNOOOOOOOOOOOOOOOOOONNOOOOOOOOOOOOOOOOOOOOOONNOOOONNOOOOOONNOONNOONNOOOONNOONNOOOOOONNOOOOOOOOOOOONNNNNNOOOOOOOOOOOOOONNOOOOOONNOOOONNOONNOOOOOOOONNOOOOOOOOOOOOOOOOOONNOOOOOONNOOOOOOOONNNNOOOOOOOOOOOOOONNOOOONNOOOOOOOONNOONNOOOOOOOOOOOOOONNOOOOOONNNNOOOONNOOOOOONNOONNOOOONNOOOONNOONNOONNOONNOOOOOOOOOOOOOONNOOOOOOOONNOOOOOOOOOOOOOOOOOOOOOOOONNOOOOOOOOOONNNNOOOOOOOOOOOOOOOONNNNOOOONNOOOONNNNNNOOOOOONNOOOOOOOOOOOOOONNOOOONNOOOOOOOONNNNOOOOOOOOOOOONNOOOONNNNOOOOOOOOOOOOOOOONNNNOOOONNNNOONNOONNOOOONNOOOOOOOOOONNNNNNOOOONNOONNOOOOOONNOOOOOOOOOOOONNOONNNNOOOOOOOONNNNOOOOOONNOOOOOOOONNNNOONNOOOOOOOONNNNOOOONNOOOONNOOOONNOOOONNOONNOOOOOOOOOOOONNOONNOOOONNNNOONNNNNNNNOOOONNNNOOOONNOONNNNOOOOOOOOOOOOOONNNNOONNOOOOOONNNNOONNNNOOOOOOOOOOOOOOOOOONNOOOOOOOOOONNOONNOONNOONNOOOOOONNOOOOOOOOOOOOOOOOOOOOOOOONNNNNNOONNOOOOOONNNNOONNNNOOOONNNNOONNOOOONNOOOONNOOOOOONNOOOOOOOOOONNOONNOONNOOOOOOOOOOOONNOONNNNOONNNNOOOOOOOONNOONNOONNOOOOOONNOOOOOONNOOOOOONNNNOONNOONNOONNOOOONNNNOOOOOOOOOOOONNOOOOOONNNNOOOOOONNOOOOOONNOOOOOOOONNOONNNNOOOONNNNNNNNOOOOOONNOONNNNOONNOONNNNNNOONNOONNNNOOOOOONNOONNNNOONNNNOOOOOONNOOOOOONNOOOONNOONNOONNNNNNNNNNNNOONNOOOOOOOOOOOONNNNOOOOOONNNNNNOOOONNNNNNNNOOOOOOOOOONNOONNOONNNNOONNOONNNNOOOONNOONNNNNNOOOOOONNOONNOOOONNNNNNOOOONNOONNNNOONNOOOOOOOONNOOOOOOOOOONNOOOOOOOONNOONNOONNNNOOOONNOOOOOOOONNOONNNNOONNNNOOOONNNNOOOOOOOOOONNOOOONNNNOONNNNOONNNNOOOOOOOOOOOOOOOOOOOOOOOOOOOONNOOOONNOOOOOONNNNOOOOOOOONNNNOOOOOOOOOONNOONNOONNOOOOOOOOOOOONNOOOOOOOOOONNNNOONNNNOOOOOOOONNOONNNNNNOOOONNNNNNOONNOOOOOOOONNOOOONNOOOOOOOOOOOONNOOOOOONNOONNOOOONNOOOOOOOOOOOOOONNNNNNOONNOOOONNNNOONNNNOONNNNNNNNNNOONNOONNOOOOOONNNNOONNNNNNNNNNOONNOONNNNNNOOOONNNNNNOONNOOOOOOOOOOOOOONNNNNNNNNNNNNNOONNNNOONNNNOOOOOONNNNNNOOOOOOOOOOOONNOONNOONNOOOONNNNOOOONNOONNOOOOOOOONNOONNNNOOOOOOOOOONNOOOONNOOOONNOOOONNNNOOOOOONNNNNNNNOONNOOOONNOONNNNOOOOOONNNNOOOONNNNNNOOOOOONNOOOONNOOOOOONNNNOOOOOOOONNOOOONNNNNNNNNNNNNNOOOOOOOONNNNNNOOOONNOOOONNOOOOOONNNNNNNNOONNOONNOONNOONNOONNNNNNOOOONNNNOONNOOOOOOOOOONNOOOONNNNNNOONNNNNNOONNOONNNNOOOONNNNOONNOONNOONNOOOOOONNNNNNOONNOONNOOOOOOOOOOOONNOONNNNOOOOOONNOONNOONNOONNNNOOOOOONNNNNNOOOONNOONNOONNNNOONNOOOOOONNNNNNOONNOOOOOONNOOOOOOOOOONNNNNNNNNNNNOONNOONNOONNNNNNOOOONNNNNNOOOOOONNOOOOOONNOONNNNOONNOONNNNOOOONNOONNNNOONNOONNOOOOOOOONNOOOOOONNNNOOOONNNNNNOOOOOOOOOONNNNOONNNNOOOOOOOOOOOONNNNOONNNNNNNNOOOONNNNOOOOOOOOOOOONNOONNNNOOOOOOOOOONNNNOONNNNNNOOOOOONNNNNNNNNNOOOOOOOOOONNNNNNNNNNNNOONNNNNNNNNNNNOONNOOOONNNNOOOOOONNOOOONNNNOOOONNOOOONNOONNNNNNNNNNOONNNNOONNNNOONNNNOOOOOONNOOOONNNNNNOOOOOONNOONNOOOOOONNNNNNOOOONNNNNNOONNNNOOOOOOOOOONNOOOONNOONNOOOONNOOOONNNNNNNNOONNNNNNOOOOOOOONNOONNOONNNNNNNNNNOONNNNOOOONNOOOONNNNNNOONNOOOONNNNNNOONNOOOOOOOOOONNNNNNOOOONNOONNOOOOOONNOONNOOOONNNNNNOOOOOONNOONNOOOOOONNNNNNOOOONNNNNNOONNNNOOOOOOOOOONNOOOONNOONNOOOONNOOOONNNNNNNNOONNNNNNOOOOOOOONNOONNOONNNNNNNNNNOONNNNOOOONNOOOONNNNNNOONNOOOONNNNNNOONNOOOOOOOOOONNNNNNOOOONNOONNOOOOOONNOOOOOOOOOOOONNOONNNNOOOOOOOONNNNOOOOOONNOOOONNOONNNNOONNOONNOOOONNNNOOOONNNNOONNOOOONNOOOONNNNNNOOOOOONNOOOONNOONNNNOONNNNNNNNNNNNNNNNOONNNNOOOONNOONNNNOONNOOOOOOOOOONNNNOONNOONNOONNNNOONNNNNNNNOONNOOOOOONNOONNOOOONNNNNNNNOONNOONNOONNNNOOOONNOOOOOOOOOONNOOOONNOOOOOONNNNNNOONNOOOONNNNNNOONNNNNNNNNNNNOONNNNNNNNOOOONNOOOONNNNNNOOOOOOOONNOONNNNNNNNOOOOOOOONNNNOONNNNNNNNNNNNOONNOONNOONNOONNNNOOOONNOOOOOONNOONNOONNNNNNNNOONNOONNOOOONNNNOOOONNOOOONNNNOOOOOONNNNNNOOOONNOOOONNNNNNOOOONNNNOONNNNOOOONNNNNNNNOOOOOONNOONNNNNNNNOONNNNNNOONNOOOOOONNOONNOONNNNNNNNNNNNOOOOOONNOONNOONNNNOOOOOONNNNOOOOOONNNNOOOOOONNNNOONNOOOONNNNOOOONNOOOONNNNNNOONNNNNNNNNNNNNNOOOONNOONNNNNNOONNOOOOOOOONNNNNNNNOOOONNOOOOOOOOOONNOOOOOOOOOOOONNNNOOOOOONNOOOOOOOOOOOOOONNOOOONNOOOOOOOONNOOOOOOOONNOONNOOOOOONNOOOOOOOONNOOOOOOOOOONNOOOONNOOOONNOONNOOOOOOOOOONNNNOONNOOOONNOONNOOOONNNNOOOOOOOOOOOOOOOOOOOOOOOONNNNOOOONNOOOONNNNNNOOOONNNNNNOOOOOONNNNOONNOOOOOOOOOOOOOOOOOONNOOOOOOOOOOOOOOOOOOOOOONNOOOONNOOOOOONNOONNOONNOOOONNOONNOOOOOONNOOOOOOOOOOOONNNNNNOOOOOOOOOOOOOONNOOOOOONNOOOONNOONNOOOOOOOONNOOOOOOOOOOOOOOOOOONNOOOOOONNOOOOOOOONNNNOOOOOOOOOOOOOONNOOOONNOOOOOOOONNOONNOOOOOOOOOOOOOONNOOOOOONNNNOOOONNOOOOOONNOONNOOOONNOOOONNOONNOONNOONNOOOOOOOOOOOOOONNOOOOOOOONNOOOOOOOOOOOOOOOOOOOOOOOONNOOOOOOOOOONNNNOOOOOOOOOOOOOOOONNNNOOOONNOOOONNNNNNOOOOOONNOOOOOOOOOOOOOONNOOOONNOOOOOOOONNNNOOOOOOOOOOOONNOOOONNNNOOOOOOOOOOOOOOOONNNNOOOONNNNOONNOONNOOOONNOOOOOOOOOONNNNNNOOOONNOONNOOOOOONNOOOOOOOOOOOONNOONNNNOOOOOOOONNNNOOOOOONNOOOOOOOONNNNOONNOOOOOOOONNNNOOOONNOOOONNOOOONNOOOONNOONNOOOOOOOOOOOONNOONNOOOONNNNOONNNNNNNNOOOONNNNOOOONNOONNNNOOOOOOOOOOOOOONNNNOONNOOOOOONNNNOONNNNOOOOOOOOOOOOOOOOOONNOOOOOOOOOONNOONNOONNOONNOOOOOONNOOOOOOOOOOOOOOOOOOOOOOOONNNNNNOONNOOOOOONNNNOONNNNOOOONNNNOONNOOOONNOOOONNOOOOOONNOOOOOOOOOONNOONNOONNOOOOOOOOOOOONNOONNNNOONNNNOOOOOOOONNOONNOONNOOOOOONNOOOOOONNOOOOOONNNNOONNOONNOONNOOOONNNNOOOOOOOOOOOONNOOOOOONNNNOOOOOONNOOOOOONNOOOOOOOONNOONNNNOOOONNNNNNNNOOOOOONNOONNNNOONNOONNNNNNOONNOONNNNOOOOOONNOONNNNOONNNNOOOOOONNOOOOOONNOOOONNOONNOONNNNNNNNNNNNOONNOOOOOOOOOOOONNNNOOOOOONNNNNNOOOONNNNNNNNOOOOOOOOOONNOONNOONNNNOONNOONNNNOOOONNOONNNNNNOOOOOONNOONNOOOONNNNNNOOOONNOONNNNOONNOOOOOOOONNOOOOOOOOOONNOOOOOOOONNOONNOONNNNOOOONNOOOOOOOONNOONNNNOONNNNOOOONNNNOOOOOOOOOONNOOOONNNNOONNNNOONNNNOOOOOOOOOOOOOOOOOOOOOOOOOOOONNOOOONNOOOOOONNNNOOOOOOOONNNNOOOOOOOOOONNOONNOONNOOOOOOOOOOOONNOOOOOOOOOONNNNOONNNNOOOOOOOONNOONNNNNNOOOONNNNNNOONNOOOOOOOONNOOOONNOOOOOOOOOOOONNOOOOOONNOONNOOOONNOOOOOOOOOOOOOONNNNNNOONNOOOONNNNOONNNNOONNNNNNNNNNOONNOONNOOOOOONNNNOONNNNNNNNNNOONNOONNNNNNOOOONNNNNNOONNOOOOOOOOOOOOOONNNNNNNNNNNNNNOONNNNOONNNNOOOOOONNNNNNOOOOOOOOOOOONNOONNOONNOOOONNNNOOOONNOONNOOOOOOOONNOONNNNOOOOOOOOOONNOOOONNOOOONNOOOONNNNOOOOOONNNNNNNNOONNOOOONNOONNNNOOOOOONNNNOOOONNNNNNOOOOOONNOOOONNOOOOOONNNNOOOOOOOONNOOOONNNNNNNNNNNNNNOOOOOOOONNNNNNOOOONNOOOONNOOOOOONNNNNNNNOONNOONNOONNOONNOONNNNNNOOOONNNNOONNOOOOOOOOOONNOOOONNNNNNOONNNNNNOONNOONNNNOOOONNNNOONNOONNOONNOOOOOONNNNNNOONNOONNOOOOOOOOOOOONNOONNNNOOOOOONNOONNOONNOONNNNOOOOOONNNNNNOOOONNOONNOONNNNOONNOOOOOONNNNNNOONNOOOOOONNOOOOOOOOOONNNNNNNNNNNNOONNOONNOONNNNNNOOOONNNNNNOOOOOONNOOOOOONNOONNNNOONNOONNNNOOOONNOONNNNOONNOONNOOOOOOOONNOOOOOONNNNOOOONNNNNNOOOOOOOOOONNNNOONNNNOOOOOOOOOOOONNNNOONNNNNNNNOOOONNNNOOOOOOOOOOOONNOONNNNOOOOOOOOOONNNNOONNNNNNOOOOOONNNNNNNNNNOOOOOOOOOONNNNNNNNNNNNOONNNNNNNNNNNNOONNOOOONNNNOOOOOONNOOOONNNNOOOONNOOOONNOONNNNNNNNNNOONNNNOONNNNOONNNNOOOOOONNOOOONNNNNNOOOOOONNOONNOOOOOONNNNNNOOOONNNNNNOONNNNOOOOOOOOOONNOOOONNOONNOOOONNOOOONNNNNNNNOONNNNNNOOOOOOOONNOONNOONNNNNNNNNNOONNNNOOOONNOOOONNNNNNOONNOOOONNNNNNOONNOOOOOOOOOONNNNNNOOOONNOONNOOOOOONNOONNOOOONNNNNNOOOOOONNOONNOOOOOONNNNNNOOOONNNNNNOONNNNOOOOOOOOOONNOOOONNOONNOOOONNOOOONNNNNNNNOONNNNNNOOOOOOOONNOONNOONNNNNNNNNNOONNNNOOOONNOOOONNNNNNOONNOOOONNNNNNOONNOOOOOOOOOONNNNNNOOOONNOONNOOOOOONNOOOOOOOOOOOONNOONNNNOOOOOOOONNNNOOOOOONNOOOONNOONNNNOONNOONNOOOONNNNOOOONNNNOONNOOOONNOOOONNNNNNOOOOOONNOOOONNOONNNNOONNNNNNNNNNNNNNNNOONNNNOOOONNOONNNNOONNOOOOOOOOOONNNNOONNOONNOONNNNOONNNNNNNNOONNOOOOOONNOONNOOOONNNNNNNNOONNOONNOONNNNOOOONNOOOOOOOOOONNOOOONNOOOOOONNNNNNOONNOOOONNNNNNOONNNNNNNNNNNNOONNNNNNNNOOOONNOOOONNNNNNOOOOOOOONNOONNNNNNNNOOOOOOOONNNNOONNNNNNNNNNNNOONNOONNOONNOONNNNOOOONNOOOOOONNOONNOONNNNNNNNOONNOONNOOOONNNNOOOONNOOOONNNNOOOOOONNNNNNOOOONNOOOONNNNNNOOOONNNNOONNNNOOOONNNNNNNNOOOOOONNOONNNNNNNNOONNNNNNOONNOOOOOONNOONNOONNNNNNNNNNNNOOOOOONNOONNOONNNNOOOOOONNNNOOOOOONNNNOOOOOONNNNOONNOOOONNNNOOOONNOOOONNNNNNOONNNNNNNNNNNNNNOOOONNOONNNNNNOONNOOOOOOOONNNNNNNNOOOONNOOOOOOOOOOOONNOOOOOOOOOONNOOOOOONNOOOOOOOOOONNOOOOOOOOOONNNNOOOOOOOONNOOOOOOOOOONNOOOOOOOOOOOONNOOOONNOONNOOOONNOOOOOOOOOOOOOOOOOOOOOOOONNNNOOOONNOOOOOOOOOONNOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOONNOOOOOOOOOOOONNOOOOOONNNNOOOOOONNOONNOOOOOOOOOOOOOONNOOOOOONNOOOOOOOOOONNOONNOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOONNNNOOOONNOOOONNOONNOONNOONNOOOONNOONNOOOONNOOOOOOOOOONNNNNNNNOOOOOOOOOOOOOOOONNOOOOOOOOOOOONNOOOOOOOOOOOOOOOONNOONNOOOOOOOOOOOOOONNOOOOOOOOOOOOOONNOOOOOOOOOOOONNOOOOOOOOOOOOOOOOOOOOOOOOOONNNNNNOOOOOOOOOOOOOONNOOOOOOOOOOOOOONNNNOOOONNOONNOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOONNOOOOOOOOOONNOONNOOOOOOOOOOOOOOOONNOONNOONNOOOOOOOOOOOOOONNOOOOOOOOOOOOOOOOOONNOONNOOOOOOOOOOOOOOOOOOOONNOOOOOOOONNOONNOOOONNNNNNOONNOOOOOOOOOONNOOOONNOOOOOOOOOOOOOOOONNOOOOOOOOOOOOOOOOOONNOOOOOOOONNOOOOOOOONNOOOOOOOONNNNOOOOOONNOOOOOONNOONNOOOOOOOOOOOONNNNOOOONNOOOOOOOONNOONNOONNOOOOOONNOOOOOOOOOOOOOONNNNOOOONNNNOOOOOOOOOOOOOOOOOOOOOOOOOOOOOONNOONNOONNOOOOOOOOOOOOOOOONNOOOOOONNOOOOOOOOOONNOOOOOOOONNOOOOOOOOOOOOOOOOOONNOOOOOOOOOOOOOOOONNOOOOOOOONNOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOONNOOOOOOOOOOOONNNNOOOOOONNOOOOOOOOOOOOOONNOOOONNOOOOOOOONNOOOOOOOONNOONNOOOOOONNOOOOOOOONNOOOOOOOOOONNOOOOOOOOOONNOONNOOOOOOOOOONNNNOOOOOOOONNOONNOOOONNNNOOOOOOOOOOOOOOOOOOOOOOOOOONNOOOONNOOOONNNNNNOOOONNNNNNOOOOOONNNNOONNOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOONNOOOONNOOOOOOOOOONNOONNOOOOOOOOOOOOOOOONNOOOOOOOOOOOONNNNNNOOOOOOOOOOOOOOOOOOOOOONNOOOONNOONNOOOOOOOONNOOOOOOOOOOOOOOOOOONNOOOOOONNOOOONNOOOOOOOONNOOOONNOONNOOOOOOOONNNNOOOOOOOONNOOOONNOOOOOOOOOOOOOONNOONNOOOOOONNOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOONNOOOOOOOOOOOOOOOOOOOONNOONNOONNNNOONNNNOOOOOONNNNOOOONNOOOOOOOOOOOOOOOOOOOOOOOONNOOOONNOOOONNOONNNNOONNOOOONNOONNOOOOOONNOOOOOOOOOONNNNNNOONNNNOOOONNOOOOOONNOONNOOOOOOOOOOOOOONNOOOOOOOONNOOOOOOOOOOOONNOONNOONNOOOOOOOOOONNOOOOOOOONNNNOONNOOOOOONNOOOOOOOOOOOOOONNOOOOOOOOOOOOOONNOOOOOOOOOOOOOONNNNOOOOOOOOOOOOOOOOOONNNNNNOOOOOONNNNOOOOOOOONNOONNOOOONNOONNOOOONNOOOONNNNOOOOOOOOOONNOONNOOOOOOOOOOOONNOOOOOOOOOOOOOONNNNOOOOOOOOOOOONNNNOONNOONNOOOOOONNOOOOOONNOOOONNOOOOOOOONNNNOOOOOOOONNNNOOOOOOOOOONNNNOOOOOOOOOOOOOOOOOOOOOOOOOONNOOOONNNNOOOOOOOONNOONNOOOOOOOOOOOONNOOOOOONNOOOONNNNOOOOOOOOOOOOOONNOOOONNOOOOOOOOOOOOOOOONNNNOOOOOOOONNNNOOOOOONNOOOOOOOONNNNOONNOOOOOOOONNNNOOOONNOOOONNOOOONNOOOONNOONNOOOOOOOOOOOONNOOOOOOOONNNNOONNNNNNNNOOOONNNNOOOONNOONNNNOOOOOOOOOOOOOONNNNOONNOOOOOONNNNOONNNNOOOOOOOOOOOOOOOOOONNOOOOOOOOOONNOONNOONNOONNOOOOOONNOOOOOOOOOOOOOOOOOOOOOOOOOONNNNOONNOOOOOONNNNOONNNNOOOONNNNOONNOOOONNOOOONNOOOOOONNOOOOOOOOOONNOONNOONNOOOOOOOOOOOONNOONNNNOONNNNOOOOOOOONNOONNOONNOOOOOONNOOOOOONNOOOOOOOOOOOONNOONNOONNOOOONNOOOOOOOOOOOOOONNOOOOOONNOOOOOOOONNOOOOOOOOOOOOOOOOOOOONNNNOOOONNOONNNNOOOOOONNOONNNNOONNOONNNNNNOONNOONNNNOOOOOONNOONNNNOONNOOOOOOOONNOOOOOONNOOOONNOONNOONNOONNNNNNNNOONNOOOOOOOOOOOONNNNOOOOOONNNNNNOOOONNNNNNNNOOOOOOOOOONNOONNOONNNNOONNOONNNNOOOONNOONNNNNNOOOOOONNOONNOOOONNNNNNOONNOOOOOOOOOOOOOONNNNNNOONNNNOOOOOONNOONNNNOONNOOOOOOOONNOOOOOONNOOOONNOONNOONNOONNNNNNNNOONNOOOOOOOOOOOONNNNOOOOOONNNNNNOOOONNNNNNNNOOOOOOOOOONNOONNOONNNNOONNOONNNNOOOONNOONNNNNNOOOOOONNOONNOOOONNNNNNOONNOOOOOOOOOOOOOONNNNNNOOOOOONNNNNNOONNNNOOOOOOOONNOONNNNOONNNNNNOONNNNNNOOOOOONNOOOOOONNOONNOOOOOOOOOONNNNNNOOOONNOOOONNOONNOONNNNNNOOOOOONNOOOONNNNOOOOOONNNNOOOONNNNOOOOOOOOOONNOOOONNOOOOOOOONNOONNNNNNOONNOONNOOOOOOOOOONNNNNNOOOONNNNOONNOOOONNOOOOOOOONNOOOOOOOOOONNOONNOONNNNNNNNNNOONNOOOONNOOOOOOOONNNNOONNOOOOOONNOOOOOOOOOONNNNOOOOOOOONNOOOOOOOOOOOONNNNOOOOOONNNNOOOOOOOOOOOONNOOOONNOOOOOOOONNOONNOOOONNOONNOOOOOONNOOOOOOOONNOOOOOOOOOONNOOOONNOOOONNNNNNOOOOOOOOOONNNNOONNOOOONNOONNOOOONNNNOOOOOOOOOOOONNOOOOOOOOOONNNNOOOONNOOOONNNNNNNNOONNNNNNOOOOOONNNNOOOOOOOONNOOOOOOOOOONNOONNNNOOOOOONNOOOOOONNOOOOOONNOOOOOONNOOOOOONNOONNOOOONNNNOOOOOONNOONNOONNOOOONNOONNOOOONNOOOOOOOONNNNOONNOONNOOOOOOOOOONNOOOONNOOOOOOOONNNNOOOOOOOONNOOOOOOOOOONNOOOOOONNOOOOOOOOOONNOOOOOOOOOONNNNOOOOOOOONNOOOOOOOOOONNOOOOOOOOOOOONNOOOONNOONNOOOONNOOOOOOOOOOOOOOOOOOOOOOOONNNNOOOONNOOOOOOOOOONNOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOONNOOOOOOOOOOOONNOOOOOONNNNOOOOOONNOONNOOOOOOOOOOOOOONNOOOOOONNOOOOOOOOOONNOONNOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOONNNNOOOONNOOOONNOONNOONNOOOOOOOONNOONNOOOONNOOOOOOOOOONNNNNNNNOOOOOOOOOOOOOOOONNOOOOOOOOOOOONNOOOOOOOOOOOOOOOONNOONNOOOOOOOOOOOOOONNOOOOOOOOOOOOOONNOOOOOOOOOOOONNOOOOOOOOOOOOOOOOOOOOOOOOOONNNNNNOOOOOOOOOOOOOONNOOOOOOOOOOOOOONNNNOOOONNOONNOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOONNOOOOOOOOOONNOONNOOOOOOOOOOOOOOOONNOONNOONNOOOOOOOOOOOOOONNOOOOOOOOOOOOOOOOOONNOONNOOOOOOOOOOOOOOOOOOOONNOOOOOOOONNOONNOOOONNNNNNOONNOOOOOOOOOONNOOOONNOOOOOOOOOOOOOOOONNOOOOOOOOOOOOOOOOOONNOOOOOOOONNOOOOOOOONNOOOOOOOONNNNOOOOOONNOOOOOONNOONNOOOOOOOOOOOONNNNOOOONNOOOOOOOONNOONNOONNOOOOOONNOOOOOOOOOOOOOONNNNOOOONNNNOOOOOOOOOOOOOOOOOOOOOOOOOOOOOONNOONNOONNOOOOOOOOOOOOOOOONNOOOOOONNOOOOOOOOOONNOOOOOOOONNOOOOOOOOOOOOOOOOOONNOOOOOOOOOOOOOOOONNOOOOOOOONNOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOONNOOOOOOOOOOOONNNNOOOOOONNOOOOOOOOOOOOOONNOOOONNOOOOOOOONNOOOOOOOONNOONNOOOOOONNOOOOOOOONNOOOOOOOOOONNOOOOOOOOOONNOONNOOOOOOOOOONNNNOOOOOOOONNOONNOOOONNNNOOOOOOOOOOOOOOOOOOOOOOOOOONNOOOONNOOOONNNNNNOOOONNNNNNOOOOOONNNNOONNOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOONNOOOONNOOOOOOOOOONNOONNOOOOOOOOOOOOOOOONNOOOOOOOOOOOONNNNNNOOOOOOOOOOOOOOOOOOOOOONNOOOONNOONNOOOOOOOONNOOOOOOOOOOOOOOOOOONNOOOOOONNOOOONNOOOOOOOONNOOOONNOONNOOOOOOOONNNNOOOOOOOONNOOOONNOOOOOOOOOOOOOONNOONNOOOOOONNOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOONNOOOOOOOOOOOOOOOOOOOONNOONNOONNNNOONNNNOOOOOONNNNOOOONNOOOOOOOOOOOOOOOOOOOOOOOONNOOOONNOOOONNOONNNNOONNOOOONNOONNOOOOOONNOOOOOOOOOONNNNNNOONNNNOOOONNOOOOOONNOONNOOOOOOOOOOOOOONNOOOOOOOONNOOOOOOOOOOOONNOONNOONNOOOOOOOOOONNOOOOOOOONNNNOONNOOOOOONNOOOOOOOOOOOOOONNOOOOOOOOOOOOOONNOOOOOOOOOOOOOONNNNOOOOOOOOOOOOOOOOOONNNNNNOOOOOONNNNOOOOOOOONNOONNOOOONNOONNOOOONNOOOONNNNOOOOOOOOOONNOONNOOOOOOOOOOOONNOOOOOOOOOOOOOONNNNOOOOOOOOOOOONNNNOONNOONNOOOOOONNOOOOOONNOOOONNOOOOOOOONNNNOOOOOOOONNNNOOOOOOOOOONNNNOOOOOOOOOOOOOOOOOOOOOOOOOONNOOOONNNNOOOOOOOONNOONNOOOOOOOOOOOONNOOOOOONNOOOONNNNOOOOOOOOOOOOOONNOOOONNOOOOOOOOOOOOOOOONNNNOOOOOOOONNNNOOOOOONNOOOOOOOONNNNOONNOOOOOOOONNNNOOOONNOOOONNOOOONNOOOONNOONNOOOOOOOOOOOONNOOOOOOOONNNNOONNNNNNNNOOOONNNNOOOONNOONNNNOOOOOOOOOOOOOONNNNOONNOOOOOONNNNOONNNNOOOOOOOOOOOOOOOOOONNOOOOOOOOOONNOONNOONNOONNOOOOOONNOOOOOOOOOOOOOOOOOOOOOOOOOONNNNOONNOOOOOONNNNOONNNNOOOONNNNOONNOOOONNOOOONNOOOOOONNOOOOOOOOOONNOONNOONNOOOOOOOOOOOONNOONNNNOONNNNOOOOOOOONNOONNOONNOOOOOONNOOOOOONNOOOOOOOOOOOONNOONNOONNOOOONNOOOOOOOOOOOOOONNOOOOOONNOOOOOOOONNOOOOOOOOOOOOOOOOOOOONNNNOOOONNOONNNNOOOOOONNOONNNNOONNOONNNNNNOONNOONNNNOOOOOONNOONNNNOONNOOOOOOOONNOOOOOONNOOOONNOONNOONNOONNNNNNNNOONNOOOOOOOOOOOONNNNOOOOOONNNNNNOOOONNNNNNNNOOOOOOOOOONNOONNOONNNNOONNOONNNNOOOONNOONNNNNNOOOOOONNOONNOOOONNNNNNOONNOOOOOOOOOOOOOONNNNNNOONNNNOOOOOONNOONNNNOONNOOOOOOOONNOOOOOONNOOOONNOONNOONNOONNNNNNNNOONNOOOOOOOOOOOONNNNOOOOOONNNNNNOOOONNNNNNNNOOOOOOOOOONNOONNOONNNNOONNOONNNNOOOONNOONNNNNNOOOOOONNOONNOOOONNNNNNOONNOOOOOOOOOOOOOONNNNNNOOOOOONNNNNNOONNNNOOOOOOOONNOONNNNOONNNNNNOONNNNNNOOOOOONNOOOOOONNOONNOOOOOOOOOONNNNNNOOOONNOOOONNOONNOONNNNNNOOOOOONNOOOONNNNOOOOOONNNNOOOONNNNOOOOOOOOOONNOOOONNOOOOOOOONNOONNNNNNOONNOONNOOOOOOOOOONNNNNNOOOONNNNOONNOOOONNOOOOOOOONNOOOOOOOOOONNOONNOONNNNNNNNNNOONNOOOONNOOOOOOOONNNNOONNOOOOOONNOOOOOOOOOONNNNOOOOOOOONNOOOOOOOOOOOONNNNOOOOOONNNNOOOOOOOOOOOONNOOOONNOOOOOOOONNOONNOOOONNOONNOOOOOONNOOOOOOOONNOOOOOOOOOONNOOOONNOOOONNNNNNOOOOOOOOOONNNNOONNOOOONNOONNOOOONNNNOOOOOOOOOOOONNOOOOOOOOOONNNNOOOONNOOOONNNNNNNNOONNNNNNOOOOOONNNNOOOOOOOONNOOOOOOOOOONNOONNNNOOOOOONNOOOOOONNOOOOOONNOOOOOONNOOOOOONNOONNOOOONNNNOOOOOONNOONNOONNOOOONNOONNOOOONNOOOOOOOONNNNOONNOONNOOOOOOOOOONNOOOONNOOOOOOOONNNNOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOONNOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOONNOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOONNOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOONNOOOOOOOOOONNOOOOOOOOOONNNNOOOOOOOONNOOOOOOOOOONNOOOOOOOOOOOONNOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOONNOOOOOOOOOONNOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOONNOOOOOOOOOOOOOOOONNOONNOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOONNNNOOOONNOOOONNOONNOOOOOOOOOOOONNOOOOOOOOOOOOOOOOOOOOOOOONNNNOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOONNOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOONNOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOONNOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOONNOOOOOOOOOOOOOOOOOOOOOONNNNOOOOOOOOOOOOOONNNNOOOOOOOOOOOOOOOONNOOOONNOOOOOOOONNOOOOOOOOOOOOOOOONNOOOONNOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOONNOOOOOOOONNOOOONNNNOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOONNOOOOOOOONNOOOOOOOOOONNOOOOOOOOOONNOOOOOOOOOOOOOOOOOONNOOOONNOOOOOOOOOONNOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOONNNNOOOOOOOOOOOOOOOOOOOOOOOOOOOONNOOOONNOOOOOONNOOOOOONNOOOOOOOOOOOOOOOOOONNOOOOOOOOOOOOOOOONNOOOOOOOOOOOOOONNOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOONNNNOONNOOOOOOOOOOOOOOOOOOOONNOOOOOONNOOOOOOOOOOOOOOOONNOOOOOOOOOONNOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOONNOOOOOOOONNOOOOOOOOOOOOOOOOOONNOOOOOONNOONNOOOOOOOOOOOONNNNOOOONNOOOOOOOONNOONNOONNOOOOOOOOOOOOOOOOOOOOOONNNNOOOOOONNOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOONNOONNOOOOOOOOOOOOOOOONNOOOOOOOOOOOOOOOOOONNOOOOOOOONNOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOONNOOOOOOOONNOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOONNOOOOOOOOOOOONNOOOOOOOONNOOOOOOOOOOOOOOOOOOOONNOOOOOOOONNOOOOOOOOOOOONNOOOOOONNOOOOOOOOOOOOOOOOOOOONNOOOOOOOOOONNOONNOOOOOOOOOOOONNOOOOOOOONNOONNOOOONNNNOOOOOOOOOOOOOOOOOOOOOOOOOONNOOOONNOOOOOONNNNOOOONNNNNNOOOOOOOONNOONNOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOONNOOOOOOOOOOOOOOOONNOONNOOOOOOOOOOOOOOOONNOOOOOOOOOOOONNNNNNOOOOOOOOOOOOOOOOOOOOOONNOOOONNOOOOOOOOOOOONNOOOOOOOOOOOOOOOOOONNOOOOOONNOOOOOOOONNOOOOOOOOOOOOOOOONNOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOONNOOOOOOOOOOOOOOOONNOONNOOOOOOOOOOOOOOOONNOOOOOOOOOOOONNNNNNOOOOOOOOOOOOOOOOOOOOOONNOOOONNOOOOOOOOOOOONNOOOOOOOOOOOOOOOOOONNOOOOOONNOOOOOOOONNOOOOOOOOOOOOOOOOOOOOOONNOOOOOOOONNOONNOOOOOOOOOOOOOONNOOOOOONNOOOOOOOOOOOOOONNOONNOOOONNOOOONNOONNOONNOONNOOOOOOOOOOOOOONNOOOOOOOONNOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOONNNNOOOOOOOOOONNNNNNOOOOOONNOOOOOOOOOOOOOONNOOOOOOOOOOOOOONNNNOOOOOOOOOOOONNOOOONNOOOOOOOOOOOOOOOOOONNOOOOOOOOOOOONNOOOOOOOONNOOOOOOOOOONNOONNOONNOOOOOOOOOONNOOOOOONNOOOOOONNOONNOOOOOOOOOONNNNOOOOOOOONNOOOOOOOOOONNOOOOOOOOOOOONNOOOONNOONNOOOONNOOOOOOOOOOOOOOOOOOOOOONNNNNNOOOONNOOOOOONNOONNOOOOOOOOOOOOOONNOONNOOOOOOOOOOOOOOOONNOONNOOOOOOOOOOOONNOOOOOONNNNOOOOOOOOOOOOOONNOONNNNNNOOOOOOOOOOOOOOOOOOOOOONNOOOOOOOOOOOOOOOOOOOONNOOOONNOOOONNNNNNOOOOOOOOOOOOOOOOOONNOONNOOOONNOOOOOOOONNOOOONNNNOONNOOOOOOOOOOOOOONNNNNNOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOONNOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOONNOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOONNOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOONNOOOOOOOOOONNOOOOOOOOOONNNNOOOOOOOOOOOOOOOOOOOONNOOOOOOOOOOOONNOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOONNOOOOOOOOOONNOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOONNOOOOOOOOOOOOOOOONNOONNOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOONNNNOOOONNOOOONNOONNOOOOOOOOOOOONNOOOOOOOOOOOOOOOOOOOOOOOONNNNOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOONNOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOONNOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOONNOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOONNOOOOOOOOOOOOOOOOOOOOOONNNNOOOOOOOOOOOOOONNNNOOOOOOOOOOOOOOOONNOOOONNOOOOOOOOOOOOOOOOOOOOOOOOOONNOOOONNOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOONNOOOOOOOONNOOOONNNNOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOONNOOOOOOOONNOOOOOOOOOONNOOOOOOOOOONNOOOOOOOOOOOOOOOOOONNOOOONNOOOOOOOOOONNOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOONNNOOOOOOOOOOOOOOOOOOOOOOOOOOOONNOOOONNOOOOOONNOOOOOONNOOOOOOOOOOOOOOOOOONNOOOOOOOOOOOOOOOONNOOOOOOOOOOOOOONNOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOONNNNOONNOOOOOOOOOOOOOOOOOOOONNOOOOOONNOOOOOOOOOOOOOOOONNOOOOOOOOOONNOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOONNOOOOOOOONNOOOOOOOOOOOOOOOOOONNOOOOOONNOONNOOOOOOOOOOOONNNNOOOONNOOOOOOOONNOONNOONNOOOOOOOOOOOOOOOOOOOOOONNNNOOOOOONNOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOONNOONNOOOOOOOOOOOOOOOONNOOOOOOOOOOOOOOOOOONNOOOOOOOONNOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOONNOOOOOOOONNOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOONNOOOOOOOOOOOONNOOOOOOOONNOOOOOOOOOOOOOOOOOOOONNOOOOOOOONNOOOOOOOOOOOONNOOOOOONNOOOOOOOOOOOOOOOOOOOONNOOOOOOOOOONNOONNOOOOOOOOOOOONNOOOOOOOONNOONNOOOONNNNOOOOOOOOOOOOOOOOOOOOOOOOOONNOOOONNOOOOOONNNNOOOONNNNNNOOOOOOOONNOONNOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOONNOOOOOOOOOOOOOOOONNOONNOOOOOOOOOOOOOOOONNOOOOOOOOOOOONNNNNNOOOOOOOOOOOOOOOOOOOOOONNOOOONNOOOOOOOOOOOONNOOOOOOOOOOOOOOOOOONNOOOOOONNOOOOOOOONNOOOOOOOOOOOOOOOONNOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOONNOOOOOOOOOOOOOOOONNOONNOOOOOOOOOOOOOOOONNOOOOOOOOOOOONNNNNNOOOOOOOOOOOOOOOOOOOOOONNOOOONNOOOOOOOOOOOONNOOOOOOOOOOOOOOOOOONNOOOOOONNOOOOOOOONNOOOOOOOOOOOOOOOOOOOOOONNOOOOOOOONNOONNOOOOOOOOOOOOOONNOOOOOONNOOOOOOOOOOOOOONNOONNOOOONNOOOONNOONNOONNOONNOOOOOOOOOOOOOONNOOOOOOOONNOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOONNNNOOOOOOOOOONNNNNNOOOOOONNOOOOOOOOOOOOOONNOOOOOOOOOOOOOONNNNOOOOOOOOOOOONNOOOONNOOOOOOOOOOOOOOOOOONNOOOOOOOOOOOONNOOOOOOOONNOOOOOOOOOONNOONNOONNOOOOOOOOOONNOOOOOONNOOOOOONNOONNOOOOOOOOOONNNNOOOOOOOONNOOOOOOOOOONNOOOOOOOOOOOONNOOOONNOONNOOOONNOOOOOOOOOOOOOOOOOOOOOONNNNNNOOOONNOOOOOONNOONNOOOOOOOOOOOOOONNOONNOOOOOOOOOOOOOOOONNOONNOOOOOOOOOOOONNOOOOOONNNNOOOOOOOOOOOOOONNOONNNNNNOOOOOOOOOOOOOOOOOOOOOONNOOOOOOOOOOOOOOOOOOOONNOOOONNOOOONNNNNNOOOOOOOOOOOOOOOOOONNOONNOOOONNOOOOOOOONNOOOONNNNOONNOOOOOOOOOOOOOONNNNNNOOOOOOOOOOOOPPOOOOPPOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOPPOOOOOOOOOOOOOOOOOOOOOOOOOOOOPPOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOPPOOOOOOOOOOPPOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOPPPPOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOPPOOPPOOOOOOOOOOOOOOOOOOPPOOOOOOOOOOOOPPOOOOOOOOOOOOPPOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOPPOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOPPOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOPPOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOPPOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOPPOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOPPOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOPPOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOPPOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOPPPPOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOPPOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOPPOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOPPOOOOOOOOOOOOOOOOOOOOOOPPOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOONNOOOOOOOOOONNOOOOOOOOOOOONNOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOONNOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOONNOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOONNOOOOOOOOOOOOOONNOOOOOOOOOOOONNOOOOOOOOOOOOOOOOOOOOOOOONNNNOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOONNOOOOOOOOOOOOOONNOOOOOOOOOOOONNOOOOOOOOOOOOOOOOOOOOOOOONNNNOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOONNOOOOOOOOOOOOOOOOOOOOOOOOOOOONNOOOOOOOOOOOOOOOOOOOOOOOOOOOOOONNOOOOOOOOOOOOOOOOOOOOOOOOOOOOOONNNNOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOONNOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOONNOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOONNOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOONNNNOOOOOONNOOOOOOOOOOOOOOOOOOOOOOOOOOOOOONNOOOOOOOOOOOONNOOOOOOOOOONNOOOOOOOONNNNOOOOOOOONNOOOOOOOOOOOOOOOONNOOOONNOOOOOONNOOOOOONNOOOOOOOOOOOOOOOOOOOOOONNOOOONNOOOOOOOONNOOOOOOOOOOOOOOOOOONNOOOOOOOOOONNOOOOOONNOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOONNOOOOOOOOOOOOOOPPOOOOPPOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOPPOOOOOOOOOOOOOOOOOOOOOOOOOOOOPPOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOPPOOOOOOOOOOPPOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOPPPPOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOPPOOPPOOOOOOOOOOOOOOOOOOPPOOOOOOOOOOOOPPOOOOOOOOOOOOPPOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOPPOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOPPOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOPPOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOPPOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOPPOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOPPOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOPPOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOPPOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOPPPPOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOPPOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOPPOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOPPOOOOOOOOOOOOOOOOOOOOOOPPOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOONNOOOOOOOOOONNOOOOOOOOOOOONNOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOONNOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOONNOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOONNOOOOOOOOOOOOOONNOOOOOOOOOOOONNOOOOOOOOOOOOOOOOOOOOOOOONNNNOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOONNOOOOOOOOOOOOOONNOOOOOOOOOOOONNOOOOOOOOOOOOOOOOOOOOOOOONNNNOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOONNOOOOOOOOOOOOOOOOOOOOOOOOOOOONNOOOOOOOOOOOOOOOOOOOOOOOOOOOOOONNOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOONNNOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOONNOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOONNOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOONNNNOOOOOONNOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOONNOOOOOOOOOONNOOOOOOOONNNNOOOOOOOOOOOOOOOOOOOOOOOOOONNOOOONNOOOOOONNOOOOOONNOOOOOOOOOOOOOOOOOOOOOONNOOOONNOOOOOOOONNOOOOOOOOOOOOOOOOOONNOOOOOOOOOONNOOOOOONNOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOONNOOOOOOOOOOOOOOOOOOPPOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOPPOOOOOOPPOOPPOOOOOOOOOOOOOOPPOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOPPPPOOPPOOOOOOOOOOOOOOPPOOOOOOPPPPPPPPPPOOOOOOOOPPOOOOOOOOOOOOOOOOOOOOPPOOOOOOOOOOPPOOOOOOPPOOOOOOPPOOPPOOOOOOOOOOOOOOOOOOOOPPPPOOPPOOOOOOOOOOOOOOOOOOOOOOPPOOOOOOOOOOOOOOPPOOOOPPOOOOOOOOPPOOOOPPOOPPOOOOOOOOOOOOOOOOOOOOPPOOOOOOOOOOOOOOOOOOOOOOOOOOOOPPPPOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOPPOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOPPOOOOOOOOOOOOOOOOOOOOOOOOPPOOOOOOOOOOOOOOOOOOOOOOOOOOPPOOOOOOOOOOOOOOOOOOOOOOOOOOOOPPOOOOOOOOPPOOOOOOOOPPOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOPPOOOOOOOOPPOOOOOOOOOOOOPPOOOOOOOOOOOOPPOOPPOOOOPPOOOOOOPPPPOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOPPPPOOOOOOOOOOOOOOOOOOOOOOOOOOPPOOOOOOPPOOOOOOOOOOOOOOOOOOPPOOOOOOOOOOOOPPPPOOOOOOOOOOOOOOOOOOOOOOOOPPOOOOOOPPOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOPPOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOPPOOOOPPOOOOOOOOPPOOOOOOOOPPOOOOOOOOOOOOOOOOOOPPOOOOPPOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOPPOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOPPOOOOOOOOOOOOOOOOPPOOPPOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOPPOOOOOOOOOOPPPPOOOOOOOOPPOOOOOOOOOOOOPPOOOOOOPPOOOOOOOOOOOOOOOOPPOOOOPPPPOOOOOOOOOOOOOOOOOOOOPPPPOOOOOOOOPPOOOOOOPPOOPPOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOPPOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOPPOOOOOOOOOOPPOOOOOOOOOOOOOOPPOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOPPOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOPPOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOPPOOOOOOOOOOOOOOOOOOOOOOPPOOOOOOOOOOOOOOPPOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOPPOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOPPOOOOOOPPOOOOOOOOOOOOOOOOOOOOOOPPOOOOOOOOOOPPOOOOOOOOOOOOOOOOOOPPPPOOOOOOOOOOPPOOOOPPOOOOOOOOOOOOOOOOOOOOOOOOPPOOOOOOOOOOOOOOOOOOOOPPOOOOPPOOOOOOOOOOOOOOOOPPOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOPPOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOPPOOOOOOOOOOOOOOOOOOOOOOOOOOPPOOOOOOOOOOOOOOPPOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOPPOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOPPOOOOOOPPOOOOOOOOOOOOOOOOOOPPOOOOOOOOOOOOPPOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOPPOOOOOOOOOOOOOOOOOOPPOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOPPOOOOOOOOPPOOOOOOOOOOOOOOOOPPOOOOOOPPOOOOOOOOOOOOOOPPOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOPPOOOOOOOOOOOOOOOOOOOOPPOOOOOOOOOOOOOOOOOOOOOOOOPPPPOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOPPOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOPPOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOPPOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOPPOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOPPOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOPPOOOOPPOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOPPOOOOOOOOOOOOOOOOOOOOOOPPPPOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOPPOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOPPOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOPPOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOPPOOOOPPOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOPPOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOPPOOOOOOPPOOPPOOOOOOOOOOOOOOPPOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOPPPPOOPPOOOOOOOOOOOOOOPPOOOOOOPPPPPPPPPPOOOOOOOOPPOOOOOOOOOOOOOOOOOOOOPPOOOOOOOOOOPPOOOOOOPPOOOOOOPPOOPPOOOOOOOOOOOOOOOOOOOOPPPPOOPPOOOOOOOOOOOOOOOOOOOOOOPPOOOOOOOOOOOOOOPPOOOOPPOOOOOOOOPPOOOOPPOOPPOOOOOOOOOOOOOOOOOOOOPPOOOOOOOOOOOOOOOOOOOOOOOOOOOOPPPPOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOPPOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOPPOOOOOOOOOOOOOOOOOOOOOOOOPPOOOOOOOOOOOOOOOOOOOOOOOOOOPPOOOOOOOOOOOOOOOOOOOOOOOOOOOOPPOOOOOOOOPPOOOOOOOOPPOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOPPOOOOOOOOPPOOOOOOOOOOOOPPOOOOOOOOOOOOPPOOPPOOOOPPOOOOOOPPPPOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOPPPPOOOOOOOOOOOOOOOOOOOOOOOOOOPPOOOOOOPPOOOOOOOOOOOOOOOOOOPPOOOOOOOOOOOOPPPPOOOOOOOOOOOOOOOOOOOOOOOOPPOOOOOOPPOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOPPOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOPPOOOOPPOOOOOOOOPPOOOOOOOOPPOOOOOOOOOOOOOOOOOOPPOOOOPPOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOPPOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOPPOOOOOOOOOOOOOOOOPPOOPPOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOPPOOOOOOOOOOPPPPOOOOOOOOPPOOOOOOOOOOOOPPOOOOOOPPOOOOOOOOOOOOOOOOPPOOOOPPPPOOOOOOOOOOOOOOOOOOOOPPPPOOOOOOOOPPOOOOOOPPOOPPOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOPPOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOPPOOOOOOOOOOPPOOOOOOOOOOOOOOPPOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOPPOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOPPOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOPPOOOOOOOOOOOOOOOOOOOOOOPPOOOOOOOOOOOOOOPPOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOPPOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOPPOOOOOOPPOOOOOOOOOOOOOOOOOOOOOOPPOOOOOOOOOOPPOOOOOOOOOOOOOOOOOOPPPPOOOOOOOOOOPPOOOOPPOOOOOOOOOOOOOOOOOOOOOOOOPPOOOOOOOOOOOOOOOOOOOOPPOOOOPPOOOOOOOOOOOOOOOOPPOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOPPOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOPPOOOOOOOOOOOOOOOOOOOOOOOOOOPPOOOOOOOOOOOOOOPPOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOPPOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOPPOOOOOOPPOOOOOOOOOOOOOOOOOOPPOOOOOOOOOOOOPPOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOPPOOOOOOOOOOOOOOOOOOPPOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOPPOOOOOOOOPPOOOOOOOOOOOOOOOOPPOOOOOOPPOOOOOOOOOOOOOOPPOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOPPOOOOOOOOOOOOOOOOOOOOPPOOOOOOOOOOOOOOOOOOOOOOOOPPPPOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOPPOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOPPOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOPPOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOPPOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOPPOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOPPOOOOPPOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOPPOOOOOOOOOOOOOOOOOOOOOOPPPPOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOPPOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOPPOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOPPOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOPPOOOOPPOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOPPOOOOPPOOOOOOPPOOOOPPOOOOOOPPOOPPOOPPOOPPOOOOOOPPOOPPPPOOOOOOOOPPOOOOPPPPPPPPOOOOOOOOOOOOPPPPPPOOOOOOPPOOPPPPPPOOOOOOOOPPOOPPPPOOOOPPOOOOPPPPPPPPOOPPOOPPOOOOPPOOOOOOOOOOPPPPOOPPOOPPPPOOOOOOPPOOOOPPOOPPOOOOOOPPOOOOOOOOOOOOOOOOOOOOOOPPOOOOPPOOPPOOOOOOOOPPOOOOOOOOOOOOOOOOOOPPOOOOPPPPOOPPPPOOOOOOOOOOOOPPOOPPOOPPOOOOOOOOOOOOOOOOOOPPPPPPOOPPPPOOPPOOPPOOOOOOOOOOOOOOOOPPOOPPOOPPPPOOOOOOOOOOPPOOPPOOOOOOPPPPOOPPPPOOOOPPOOOOPPOOOOOOOOOOOOOOOOOOPPPPOOOOOOPPOOOOOOOOPPOOOOOOOOPPPPOOOOOOOOPPOOOOOOPPOOPPOOOOOOOOPPOOPPOOOOOOOOOOOOOOOOOOPPOOPPPPOOOOOOOOOOPPOOOOOOOOOOPPOOOOPPOOOOOOOOOOOOOOOOPPOOOOPPOOOOPPOOOOPPOOOOOOPPOOOOOOOOOOOOOOOOPPOOOOPPOOOOPPOOOOOOOOOOOOOOPPPPPPOOOOOOOOOOOOOOOOOOPPOOPPPPOOOOOOPPOOOOOOOOPPOOOOOOOOPPOOOOPPOOOOOOOOPPOOOOPPOOOOOOOOOOOOOOPPPPOOPPOOPPOOOOOOOOOOOOOOOOOOOOOOOOOOPPOOOOOOPPOOOOOOPPOOOOOOOOOOOOOOOOOOPPPPPPOOOOOOOOPPOOOOOOOOOOPPOOPPPPOOOOOOOOOOOOPPOOOOOOOOOOPPOOPPOOOOOOOOPPOOOOPPPPOOPPOOPPOOOOOOOOOOOOOOOOOOOOOOOOPPOOPPOOOOOOOOPPPPOOOOOOPPOOOOOOPPOOPPOOPPOOOOPPOOOOPPOOPPOOPPOOOOOOPPPPOOOOOOPPOOOOOOOOPPPPPPOOOOPPPPOOOOPPPPOOOOOOOOPPOOOOPPOOOOPPOOOOOOOOPPOOPPOOOOOOOOOOOOOOOOOOPPOOOOPPOOOOOOPPOOPPPPPPOOOOOOOOOOOOPPPPOOOOOOOOOOOOOOPPOOOOOOPPPPOOOOOOOOPPPPOOPPPPPPOOPPOOPPPPOOOOPPOOOOOOOOOOPPPPPPOOPPOOOOOOOOPPOOOOOOOOOOOOOOOOOOOOPPOOOOOOOOOOPPOOPPOOPPOOOOPPOOOOOOPPOOPPPPOOOOOOOOOOOOOOPPOOOOOOOOOOOOOOOOOOOOOOOOOOPPOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOPPOOOOOOPPPPOOPPOOOOOOOOOOOOOOOOOOOOOOOOOOPPOOOOOOOOOOOOOOOOPPPPPPOOOOOOPPOOOOOOOOPPOOOOOOOOOOOOOOPPPPOOPPOOOOOOOOOOPPOOOOOOOOPPOOOOOOPPOOOOOOOOOOOOOOOOOOPPPPOOPPOOOOOOOOOOOOPPOOPPPPOOOOOOPPPPOOPPOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOPPOOOOOOOOOOPPPPOOPPPPOOOOOOOOPPOOPPOOOOOOPPOOPPOOOOOOOOOOOOOOOOPPPPOOPPOOOOOOOOOOOOOOOOOOOOOOOOOOOOPPOOOOOOOOOOPPOOPPOOOOOOPPOOOOOOOOOOOOOOPPOOOOPPOOPPOOOOOOOOOOOOOOOOOOPPOOOOOOOOOOOOOOOOOOOOOOOOOOPPPPOOOOOOOOOOOOOOOOPPOOOOOOOOOOOOPPOOOOOOOOOOOOOOPPOOOOOOPPOOOOPPOOOOOOOOOOOOOOOOOOOOPPOOPPOOPPOOPPOOOOOOOOOOOOOOOOOOOOOOOOOOPPPPOOPPOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOPPPPOOOOPPPPOOOOOOOOOOOOOOOOOOPPOOOOOOOOOOOOOOOOOOPPOOPPOOOOOOOOOOOOOOOOPPPPOOPPOOOOPPOOPPOOPPPPOOOOPPPPOOOOOOOOPPOOPPOOOOOOPPOOPPOOOOOOPPOOOOOOOOOOOOOOOOOOPPOOOOOOOOOOPPOOPPOOPPOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOPPOOOOPPOOOOOOOOOOOOOOPPOOOOOOOOOOOOPPPPOOOOPPOOPPOOOOOOOOOOOOPPOOOOOOPPOOPPOOOOOOOOOOPPOOOOPPOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOPPOOOOOOOOOOPPPPOOOOOOOOOOOOOOOOPPPPOOOOOOOOOOOOOOOOOOPPOOOOOOOOOOOOOOOOOOOOPPOOPPOOOOOOOOOOPPOOOOOOOOOOOOPPPPOOOOOOOOPPOOOOOOPPOOPPPPOOPPOOOOOOPPOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOPPOOOOOOOOPPOOOOOOPPOOOOPPOOOOPPOOOOOOOOOOOOOOOOOOOOPPOOOOOOOOOOOOOOOOPPOOOOOOOOOOOOOOOOOOOOOOPPOOPPOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOPPOOOOOOOOOOPPOOOOPPOOOOPPOOOOOOOOPPOOOOOOOOPPOOOOPPOOPPPPPPPPOOOOPPOOOOOOPPOOOOPPOOOOOOOOOOOOOOOOOOPPOOPPOOOOOOOOOOPPOOOOOOPPOOOOOOOOOOOOOOOOOOOOPPOOOOOOOOPPOOOOPPOOOOOOPPOOOOPPOOOOPPOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOPPOOOOOOOOOOPPPPOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOPPOOOOPPOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOPPOOOOOOOOPPOOOOOOOOOOOOPPOOOOOOOOOOOOOOOOOOOOPPOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOPPOOOOOOOOOOPPOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOPPPPOOPPOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOPPOOOOOOOOOOOOOOOOOOPPPPPPOOOOOOOOPPOOOOOOOOOOPPOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOPPOOOOOOOOOOOOOOOOOOOOPPOOOOOOOOOOOOOOOOOOOOOOOOOOOOPPOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOPPOOOOPPOOOOOOOOOOOOOOOOOOOOPPOOOOOOOOOOOOPPOOOOOOOOPPOOOOOOPPOOOOOOOOOOOOOOPPOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOPPOOOOOOOOOOOOPPOOPPOOOOOOOOPPOOOOOOOOOOOOOOOOOOOOOOOOOOOOPPPPOOOOOOOOOOOOOOPPOOPPOOOOOOOOPPOOOOOOOOOOOOOOOOOOOOOOPPOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOPPOOOOOOOOOOOOOOOOOOPPOOOOOOPPOOOOOOOOOOPPOOOOOOOOPPOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOPPOOOOOOOOOOOOPPOOOOOOOOOOOOOOOOPPOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOPPOOOOOOOOOOOOOOOOOOOOOOOOOOOOPPPPOOOOPPOOOOPPOOOOOOPPOOOOPPOOOOOOPPOOPPOOPPOOPPOOOOOOPPOOPPPPOOOOOOOOPPOOOOPPPPPPPPOOOOOOOOOOOOPPPPPPOOOOOOPPOOPPPPPPOOOOOOOOPPOOPPPPOOOOPPOOOOPPPPPPPPOOPPOOPPOOOOPPOOOOOOOOOOPPPPOOPPOOPPPPOOOOOOPPOOOOPPOOPPOOOOOOPPOOOOOOOOOOOOOOOOOOOOOOPPOOOOPPOOPPOOOOOOOOPPOOOOOOOOOOOOOOOOOOPPOOOOPPPPOOPPPPOOOOOOOOOOOOPPOOPPOOPPOOOOOOOOOOOOOOOOOOPPPPPPOOPPPPOOPPOOPPOOOOOOOOOOOOOOOOPPOOPPOOPPPPOOOOOOOOOOPPOOPPOOOOOOPPPPOOPPPPOOOOPPOOOOPPOOOOOOOOOOOOOOOOOOPPPPOOOOOOPPOOOOOOOOPPOOOOOOOOPPPPOOOOOOOOPPOOOOOOPPOOPPOOOOOOOOPPOOPPOOOOOOOOOOOOOOOOOOPPOOPPPPOOOOOOOOOOPPOOOOOOOOOOPPOOOOPPOOOOOOOOOOOOOOOOPPOOOOPPOOOOPPOOOOPPOOOOOOPPOOOOOOOOOOOOOOOOPPOOOOPPOOOOPPOOOOOOOOOOOOOOPPPPPPOOOOOOOOOOOOOOOOOOPPOOPPPPOOOOOOPPOOOOOOOOPPOOOOOOOOPPOOOOPPOOOOOOOOPPOOOOPPOOOOOOOOOOOOOOPPPPOOPPOOPPOOOOOOOOOOOOOOOOOOOOOOOOOOPPOOOOOOPPOOOOOOPPOOOOOOOOOOOOOOOOOOPPPPPPOOOOOOOOPPOOOOOOOOOOPPOOPPPPOOOOOOOOOOOOPPOOOOOOOOOOPPOOPPOOOOOOOOPPOOOOPPPPOOPPOOPPOOOOOOOOOOOOOOOOOOOOOOOOPPOOPPOOOOOOOOPPPPOOOOOOPPOOOOOOPPOOPPOOPPOOOOPPOOOOPPOOPPOOPPOOOOOOPPPPOOOOOOPPOOOOOOOOPPPPPPOOOOPPPPOOOOPPPPOOOOOOOOPPOOOOPPOOOOPPOOOOOOOOPPOOPPOOOOOOOOOOOOOOOOOOPPOOOOPPOOOOOOPPOOPPPPPPOOOOOOOOOOOOPPPPOOOOOOOOOOOOOOPPOOOOOOPPPPOOOOOOOOPPPPOOPPPPPPOOPPOOPPPPOOOOPPOOOOOOOOOOPPPPPPOOPPOOOOOOOOPPOOOOOOOOOOOOOOOOOOOOPPOOOOOOOOOOPPOOPPOOPPOOOOPPOOOOOOPPOOPPPPOOOOOOOOOOOOOOPPOOOOOOOOOOOOOOOOOOOOOOOOOOPPOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOPPOOOOOOPPPPOOPPOOOOOOOOOOOOOOOOOOOOOOOOOOPPOOOOOOOOOOOOOOOOPPPPPPOOOOOOPPOOOOOOOOPPOOOOOOOOOOOOOOPPPPOOPPOOOOOOOOOOPPOOOOOOOOPPOOOOOOPPOOOOOOOOOOOOOOOOOOPPPPOOPPOOOOOOOOOOOOPPOOPPPPOOOOOOPPPPOOPPOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOPPOOOOOOOOOOPPPPOOPPPPOOOOOOOOPPOOPPOOOOOOPPOOPPOOOOOOOOOOOOOOOOPPPPOOPPOOOOOOOOOOOOOOOOOOOOOOOOOOOOPPOOOOOOOOOOPPOOPPOOOOOOPPOOOOOOOOOOOOOOPPOOOOPPOOPPOOOOOOOOOOOOOOOOOOPPOOOOOOOOOOOOOOOOOOOOOOOOOOPPPPOOOOOOOOOOOOOOOOPPOOOOOOOOOOOOPPOOOOOOOOOOOOOOPPOOOOOOPPOOOOPPOOOOOOOOOOOOOOOOOOOOPPOOPPOOPPOOPPOOOOOOOOOOOOOOOOOOOOOOOOOOPPPPOOPPOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOPPPPOOOOPPPPOOOOOOOOOOOOOOOOOOPPOOOOOOOOOOOOOOOOOOPPOOPPOOOOOOOOOOOOOOOOPPPPOOPPOOOOPPOOPPOOPPPPOOOOPPPPOOOOOOOOPPOOPPOOOOOOPPOOPPOOOOOOPPOOOOOOOOOOOOOOOOOOPPOOOOOOOOOOPPOOPPOOPPOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOPPOOOOPPOOOOOOOOOOOOOOPPOOOOOOOOOOOOPPPPOOOOPPOOPPOOOOOOOOOOOOPPOOOOOOPPOOPPOOOOOOOOOOPPOOOOPPOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOPPOOOOOOOOOOPPPPOOOOOOOOOOOOOOOOPPPPOOOOOOOOOOOOOOOOOOPPOOOOOOOOOOOOOOOOOOOOPPOOPPOOOOOOOOOOPPOOOOOOOOOOOOPPPPOOOOOOOOPPOOOOOOPPOOPPPPOOPPOOOOOOPPOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOPPOOOOOOOOPPOOOOOOPPOOOOPPOOOOPPOOOOOOOOOOOOOOOOOOOOPPOOOOOOOOOOOOOOOOPPOOOOOOOOOOOOOOOOOOOOOOPPOOPPOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOPPOOOOOOOOOOPPOOOOPPOOOOPPOOOOOOOOPPOOOOOOOOPPOOOOPPOOPPPPPPPPOOOOPPOOOOOOPPOOOOPPOOOOOOOOOOOOOOOOOOPPOOPPOOOOOOOOOOPPOOOOOOPPOOOOOOOOOOOOOOOOOOOOPPOOOOOOOOPPOOOOPPOOOOOOPPOOOOPPOOOOPPOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOPPOOOOOOOOOOPPPPOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOPPOOOOPPOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOPPOOOOOOOOPPOOOOOOOOOOOOPPOOOOOOOOOOOOOOOOOOOOPPOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOPPOOOOOOOOOOPPOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOPPPPOOPPOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOPPOOOOOOOOOOOOOOOOOOPPPPPPOOOOOOOOPPOOOOOOOOOOPPOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOPPOOOOOOOOOOOOOOOOOOOOPPOOOOOOOOOOOOOOOOOOOOOOOOOOOOPPOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOPPOOOOPPOOOOOOOOOOOOOOOOOOOOPPOOOOOOOOOOOOPPOOOOOOOOPPOOOOOOPPOOOOOOOOOOOOOOPPOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOPPOOOOOOOOOOOOPPOOPPOOOOOOOOPPOOOOOOOOOOOOOOOOOOOOOOOOOOOOPPPPOOOOOOOOOOOOOOPPOOPPOOOOOOOOPPOOOOOOOOOOOOOOOOOOOOOOPPOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOPPOOOOOOOOOOOOOOOOOOPPOOOOOOPPOOOOOOOOOOPPOOOOOOOOPPOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOPPOOOOOOOOOOOOPPOOOOOOOOOOOOOOOOPPOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOPPOOOOOOOOOOOOOOOOOOOOOOOOOOOOPPPPOOOOPPPPOOPPOOPPPPPPOOPPOOOOOOPPPPOOPPPPOOPPPPPPOOOOOOOOOOPPOOPPPPPPOOOOOOOOPPOOPPPPPPOOOOPPPPOOPPOOPPPPPPOOOOPPPPPPPPPPPPOOOOPPPPOOOOPPOOPPOOOOPPOOOOOOOOPPOOOOPPPPOOOOOOOOOOPPPPOOOOOOPPOOPPOOPPOOPPOOOOOOPPPPPPPPOOOOOOOOPPPPOOPPPPPPPPOOPPPPOOPPOOOOPPPPPPOOPPPPOOOOPPOOOOPPOOOOOOOOOOOOPPPPPPOOOOPPOOPPPPOOOOOOPPOOOOOOOOPPPPOOOOPPOOOOPPOOPPOOOOPPPPPPPPOOPPOOPPOOOOOOOOOOOOPPPPOOOOPPOOPPOOOOPPPPOOOOPPOOOOOOOOPPPPPPPPPPOOOOOOOOOOOOPPOOPPOOOOPPOOPPPPOOPPPPPPOOPPOOOOOOPPOOOOOOOOPPPPPPPPPPPPOOOOPPPPOOOOOOOOPPOOOOOOOOPPOOPPOOPPPPPPPPOOOOOOOOOOOOOOOOOOOOOOPPOOPPOOPPPPOOOOPPOOPPOOOOOOPPOOOOPPOOPPOOOOPPOOOOPPOOOOOOOOOOPPPPOOPPOOPPPPPPPPOOPPPPPPOOOOPPOOOOOOPPOOPPOOPPPPOOPPPPOOPPOOOOPPOOPPOOPPOOOOPPOOPPPPPPOOOOOOPPPPPPOOPPOOPPOOPPPPOOOOOOOOPPPPPPOOPPOOOOOOOOOOOOOOPPPPPPPPPPOOOOOOOOOOPPPPOOOOOOOOOOOOPPOOOOPPPPOOOOOOOOOOOOPPOOPPOOPPOOOOPPPPPPPPOOOOOOOOOOPPPPOOPPOOOOOOPPPPOOOOOOPPOOOOOOPPPPPPPPOOPPPPPPOOOOPPOOOOPPOOPPOOPPOOPPPPOOOOOOOOOOPPOOOOOOOOOOOOOOOOPPOOOOOOOOPPPPOOOOOOOOOOPPOOOOOOOOOOPPPPPPOOOOPPPPOOPPPPOOOOOOOOOOOOOOOOPPOOOOPPPPOOOOPPOOPPOOPPPPOOOOPPOOOOOOPPOOOOOOOOPPPPOOOOOOOOPPOOOOOOPPPPOOOOOOOOPPPPOOPPOOOOOOOOPPOOOOPPPPOOPPOOOOPPOOOOOOPPPPPPPPPPPPOOPPOOOOPPOOPPOOOOPPOOPPPPPPOOPPOOOOPPOOPPPPOOOOPPOOOOPPPPPPPPOOPPOOOOPPOOOOPPOOOOOOOOOOOOOOOOOOPPPPOOOOPPPPOOPPPPOOPPOOOOOOPPPPOOOOOOOOOOPPOOPPOOOOPPOOOOPPOOPPOOOOOOOOPPOOPPOOOOOOOOOOOOPPPPOOOOOOOOPPOOOOOOPPPPPPOOOOPPPPPPPPOOPPPPPPOOOOOOOOOOOOPPPPOOOOOOPPPPPPOOPPPPPPPPOOOOOOOOOOPPPPPPOOPPPPPPOOPPOOOOOOOOPPOOOOOOPPOOOOOOPPOOPPOOOOOOPPOOOOOOOOOOOOPPOOPPOOOOOOOOOOOOOOOOOOPPOOOOOOPPPPOOPPOOOOOOPPOOOOOOOOOOOOPPOOPPPPOOPPPPPPPPOOOOOOOOOOPPOOOOOOOOPPOOOOOOPPOOOOOOOOOOOOOOPPOOOOOOOOOOOOPPOOOOPPPPPPOOPPPPOOOOOOOOOOOOOOOOPPOOPPPPOOOOPPOOOOPPOOOOOOPPOOOOPPOOOOOOPPPPOOOOPPOOOOPPOOOOOOOOOOOOOOPPPPPPPPOOPPOOOOOOPPPPOOPPPPOOOOOOPPPPOOOOOOPPOOPPPPOOOOPPPPPPPPPPOOPPPPOOOOOOOOPPOOPPOOOOPPPPOOOOOOPPOOPPOOPPOOOOOOOOOOOOOOOOPPOOOOOOOOOOOOOOOOOOOOPPOOOOPPPPPPOOOOOOOOPPPPOOOOOOOOOOOOOOOOOOOOOOOOOOPPOOOOOOOOPPPPOOPPOOOOOOPPOOOOOOOOOOOOOOOOOOOOPPOOOOOOOOOOOOOOPPOOOOPPOOOOPPPPPPPPOOOOOOPPPPOOOOPPPPOOPPOOOOPPOOPPOOPPPPPPPPPPOOPPOOOOOOOOOOPPOOPPPPPPOOOOOOPPOOOOOOOOOOOOOOOOOOPPPPOOPPOOOOOOOOOOOOOOPPOOOOPPOOOOOOOOOOOOPPOOPPOOOOPPOOPPOOOOOOPPPPOOPPOOPPPPPPPPOOOOPPPPOOOOOOOOOOPPOOOOOOOOOOOOPPOOOOOOPPPPOOPPOOOOOOOOOOOOOOOOOOOOOOPPOOPPOOOOOOOOOOPPPPOOOOOOOOOOPPOOPPPPOOOOOOOOOOOOPPOOOOOOOOOOPPOOOOOOOOOOOOPPOOOOOOOOOOOOOOOOOOOOPPPPOOOOOOOOOOOOOOPPOOPPPPOOOOOOPPPPPPOOOOPPPPOOOOOOPPOOOOOOPPOOOOPPOOOOOOOOPPOOOOOOOOOOPPPPOOOOOOPPOOPPOOPPOOOOOOOOOOPPPPOOOOOOPPPPOOOOPPPPOOOOPPOOOOOOOOOOOOOOPPOOOOPPOOOOOOOOPPOOOOOOOOOOPPOOOOOOPPOOOOPPPPPPOOOOOOOOPPOOPPOOOOOOOOOOOOOOOOOOOOOOPPOOPPOOOOOOOOOOPPPPOOOOOOPPOOOOPPOOOOOOOOOOOOOOOOOOPPOOOOPPPPOOOOOOOOPPOOOOOOPPOOOOOOOOOOOOPPPPPPOOPPOOOOOOPPPPPPOOOOOOPPOOOOPPPPOOOOOOOOOOOOOOOOOOOOOOPPPPOOOOOOOOPPOOOOOOOOOOPPPPOOOOPPOOOOOOOOPPOOOOOOOOOOPPOOOOOOPPPPPPOOPPOOOOOOOOOOOOOOOOOOPPOOOOOOPPOOOOOOOOOOPPOOOOPPPPOOOOOOOOOOOOOOOOPPPPOOOOPPOOOOOOOOPPOOOOOOOOOOOOOOOOPPOOOOOOOOOOOOOOOOOOOOOOPPOOOOOOOOOOOOOOOOPPOOOOOOOOOOPPOOOOOOOOOOPPOOPPOOOOPPOOOOOOPPOOOOOOPPPPPPOOPPOOOOOOOOOOOOOOOOPPOOOOOOOOPPOOPPOOOOOOPPOOOOPPPPPPOOOOOOPPOOOOOOOOPPOOOOPPOOOOOOOOOOPPOOOOOOOOOOOOPPOOOOOOOOPPPPPPPPPPOOOOOOOOOOPPOOOOOOOOOOOOPPOOOOOOOOOOOOOOOOOOOOPPOOOOOOPPOOOOPPOOOOOOOOOOOOPPOOOOOOOOPPOOOOPPOOPPOOOOOOOOOOOOOOOOOOOOOOOOPPPPOOOOOOPPOOOOPPOOPPOOPPPPOOOOOOOOOOOOOOPPOOOOOOOOOOPPOOOOPPOOOOOOOOPPPPOOOOOOOOOOOOOOOOOOOOOOPPPPOOPPOOPPOOOOPPOOPPPPOOOOOOOOPPOOPPOOOOOOOOOOOOOOOOPPOOOOOOOOOOPPPPOOOOOOOOOOOOOOPPOOOOOOOOOOPPOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOPPPPPPOOOOOOOOPPOOOOPPOOOOPPOOOOPPOOOOOOOOOOOOOOOOOOOOOOOOPPOOOOOOOOOOPPOOOOOOOOOOOOOOOOPPPPOOOOOOPPOOOOOOOOPPOOOOOOOOOOPPPPOOPPOOPPPPOOOOOOOOOOPPOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOPPOOOOOOOOOOPPOOOOOOPPOOOOOOPPOOOOOOPPOOOOOOOOOOOOOOOOPPOOOOOOPPOOOOOOPPOOPPOOOOOOOOOOPPOOOOOOPPPPPPOOPPOOOOOOPPOOOOOOOOPPOOOOOOOOOOOOOOOOOOOOPPPPPPPPOOPPOOPPPPPPOOPPOOOOOOPPPPOOPPPPOOPPPPPPOOOOOOOOOOPPOOPPPPPPOOOOOOOOPPOOPPPPPPOOOOPPPPOOPPOOPPPPPPOOOOPPPPPPPPPPPPOOOOPPPPOOOOPPOOPPOOOOPPOOOOOOOOPPOOOOPPPPOOOOOOOOOOPPPPOOOOOOPPOOPPOOPPOOPPOOOOOOPPPPPPPPOOOOOOOOPPPPOOPPPPPPPPOOPPPPOOPPOOOOPPPPPPOOPPPPOOOOPPOOOOPPOOOOOOOOOOOOPPPPPPOOOOPPOOPPPPOOOOOOPPOOOOOOOOPPPPOOOOPPOOOOPPOOPPOOOOPPPPPPPPOOPPOOPPOOOOOOOOOOOOPPPPOOOOPPOOPPOOOOPPPPOOOOPPOOOOOOOOPPPPPPPPPPOOOOOOOOOOOOPPOOPPOOOOPPOOPPPPOOPPPPPPOOPPOOOOOOPPOOOOOOOOPPPPPPPPPPPPOOOOPPPPOOOOOOOOPPOOOOOOOOPPOOPPOOPPPPPPPPOOOOOOOOOOOOOOOOOOOOOOPPOOPPOOPPPPOOOOPPOOPPOOOOOOPPOOOOPPOOPPOOOOPPOOOOPPOOOOOOOOOOPPPPOOPPOOPPPPPPPPOOPPPPPPOOOOPPOOOOOOPPOOPPOOPPPPOOPPPPOOPPOOOOPPOOPPOOPPOOOOPPOOPPPPPPOOOOOOPPPPPPOOPPOOPPOOPPPPOOOOOOOOPPPPPPOOPPOOOOOOOOOOOOOOPPPPPPPPPPOOOOOOOOOOPPPPOOOOOOOOOOOOPPOOOOPPPPOOOOOOOOOOOOPPOOPPOOPPOOOOPPPPPPPPOOOOOOOOOOPPPPOOPPOOOOOOPPPPOOOOOOPPOOOOOOPPPPPPPPOOPPPPPPOOOOPPOOOOPPOOPPOOPPOOPPPPOOOOOOOOOOPPOOOOOOOOOOOOOOOOPPOOOOOOOOPPPPOOOOOOOOOOPPOOOOOOOOOOPPPPPPOOOOPPPPOOPPPPOOOOOOOOOOOOOOOOPPOOOOPPPPOOOOPPOOPPOOPPPPOOOOPPOOOOOOPPOOOOOOOOPPPPOOOOOOOOPPOOOOOOPPPPOOOOOOOOPPPPOOPPOOOOOOOOPPOOOOPPPPOOPPOOOOPPOOOOOOPPPPPPPPPPPPOOPPOOOOPPOOPPOOOOPPOOPPPPPPOOPPOOOOPPOOPPPPOOOOPPOOOOPPPPPPPPOOPPOOOOPPOOOOPPOOOOOOOOOOOOOOOOOOPPPPOOOOPPPPOOPPPPOOPPOOOOOOPPPPOOOOOOOOOOPPOOPPOOOOPPOOOOPPOOPPOOOOOOOOPPOOPPOOOOOOOOOOOOPPPPOOOOOOOOPPOOOOOOPPPPPPOOOOPPPPPPPPOOPPPPPPOOOOOOOOOOOOPPPPOOOOOOPPPPPPOOPPPPPPPPOOOOOOOOOOPPPPPPOOPPPPPPOOPPOOOOOOOOPPOOOOOOPPOOOOOOPPOOPPOOOOOOPPOOOOOOOOOOOOPPOOPPOOOOOOOOOOOOOOOOOOPPOOOOOOPPPPOOPPOOOOOOPPOOOOOOOOOOOOPPOOPPPPOOPPPPPPPPOOOOOOOOOOPPOOOOOOOOPPOOOOOOPPOOOOOOOOOOOOOOPPOOOOOOOOOOOOPPOOOOPPPPPPOOPPPPOOOOOOOOOOOOOOOOPPOOPPPPOOOOPPOOOOPPOOOOOOPPOOOOPPOOOOOOPPPPOOOOPPOOOOPPOOOOOOOOOOOOOOPPPPPPPPOOPPOOOOOOPPPPOOPPPPOOOOOOPPPPOOOOOOPPOOPPPPOOOOPPPPPPPPPPOOPPPPOOOOOOOOPPOOPPOOOOPPPPOOOOOOPPOOPPOOPPOOOOOOOOOOOOOOOOPPOOOOOOOOOOOOOOOOOOOOPPOOOOPPPPPPOOOOOOOOPPPPOOOOOOOOOOOOOOOOOOOOOOOOOOPPOOOOOOOOPPPPOOPPOOOOOOPPOOOOOOOOOOOOOOOOOOOOPPOOOOOOOOOOOOOOPPOOOOPPOOOOPPPPPPPPOOOOOOPPPPOOOOPPPPOOPPOOOOPPOOPPOOPPPPPPPPPPOOPPOOOOOOOOOOPPOOPPPPPPOOOOOOPPOOOOOOOOOOOOOOOOOOPPPPOOPPOOOOOOOOOOOOOOPPOOOOPPOOOOOOOOOOOOPPOOPPOOOOPPOOPPOOOOOOPPPPOOPPOOPPPPPPPPOOOOPPPPOOOOOOOOOOPPOOOOOOOOOOOOPPOOOOOOPPPPOOPPOOOOOOOOOOOOOOOOOOOOOOPPOOPPOOOOOOOOOOPPPPOOOOOOOOOOPPOOPPPPOOOOOOOOOOOOPPOOOOOOOOOOPPOOOOOOOOOOOOPPOOOOOOOOOOOOOOOOOOOOPPPPOOOOOOOOOOOOOOPPOOPPPPOOOOOOPPPPPPOOOOPPPPOOOOOOPPOOOOOOPPOOOOPPOOOOOOOOPPOOOOOOOOOOPPPPOOOOOOPPOOPPOOPPOOOOOOOOOOPPPPOOOOOOPPPPOOOOPPPPOOOOPPOOOOOOOOOOOOOOPPOOOOPPOOOOOOOOPPOOOOOOOOOOPPOOOOOOPPOOOOPPPPPPOOOOOOOOPPOOPPOOOOOOOOOOOOOOOOOOOOOOPPOOPPOOOOOOOOOOPPPPOOOOOOPPOOOOPPOOOOOOOOOOOOOOOOOOPPOOOOPPPPOOOOOOOOPPOOOOOOPPOOOOOOOOOOOOPPPPPPOOPPOOOOOOPPPPPPOOOOOOPPOOOOPPPPOOOOOOOOOOOOOOOOOOOOOOPPPPOOOOOOOOPPOOOOOOOOOOPPPPOOOOPPOOOOOOOOPPOOOOOOOOOOPPOOOOOOPPPPPPOOPPOOOOOOOOOOOOOOOOOOPPOOOOOOPPOOOOOOOOOOPPOOOOPPPPOOOOOOOOOOOOOOOOPPPPOOOOPPOOOOOOOOPPOOOOOOOOOOOOOOOOPPOOOOOOOOOOOOOOOOOOOOOOPPOOOOOOOOOOOOOOOOPPOOOOOOOOOOPPOOOOOOOOOOPPOOPPOOOOPPOOOOOOPPOOOOOOPPPPPPOOPPOOOOOOOOOOOOOOOOPPOOOOOOOOPPOOPPOOOOOOPPOOOOPPPPPPOOOOOOPPOOOOOOOOPPOOOOPPOOOOOOOOOOPPOOOOOOOOOOOOPPOOOOOOOOPPPPPPPPPPOOOOOOOOOOPPOOOOOOOOOOOOPPOOOOOOOOOOOOOOOOOOOOPPOOOOOOPPOOOOPPOOOOOOOOOOOOPPOOOOOOOOPPOOOOPPOOPPOOOOOOOOOOOOOOOOOOOOOOOOPPPPOOOOOOPPOOOOPPOOPPOOPPPPOOOOOOOOOOOOOOPPOOOOOOOOOOPPOOOOPPOOOOOOOOPPPPOOOOOOOOOOOOOOOOOOOOOOPPPPOOPPOOPPOOOOPPOOPPPPOOOOOOOOPPOOPPOOOOOOOOOOOOOOOOPPOOOOOOOOOOPPPPOOOOOOOOOOOOOOPPOOOOOOOOOOPPOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOPPPPPPOOOOOOOOPPOOOOPPOOOOPPOOOOPPOOOOOOOOOOOOOOOOOOOOOOOOPPOOOOOOOOOOPPOOOOOOOOOOOOOOOOPPPPOOOOOOPPOOOOOOOOPPOOOOOOOOOOPPPPOOPPOOPPPPOOOOOOOOOOPPOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOPPOOOOOOOOOOPPOOOOOOPPOOOOOOPPOOOOOOPPOOOOOOOOOOOOOOOOPPOOOOOOPPOOOOOOPPOOPPOOOOOOOOOOPPOOOOOOPPPPPPOOPPOOOOOOPPOOOOOOOOPPOOOOOOOOOOOOOOOOOOOOPPPPPPPPPPPPOOOOPPPPPPOOOOOOPPOOOOOOPPPPOOPPOOOOPPPPOOOOOOPPPPOOPPPPPPOOPPPPPPPPPPPPPPOOPPOOOOPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPOOPPOOPPPPPPOOPPPPPPOOPPPPPPOOPPPPPPPPPPPPOOPPPPOOOOPPOOPPPPPPPPPPPPPPOOPPOOOOOOPPOOOOPPOOPPPPOOPPPPPPOOPPPPPPPPPPOOPPPPPPOOPPPPPPPPPPPPOOPPOOOOPPOOOOPPPPPPPPOOPPPPPPOOOOPPPPOOPPPPPPOOPPPPPPPPPPPPOOPPOOPPOOPPOOOOPPPPPPPPPPPPOOOOPPPPPPOOPPPPPPPPOOPPPPPPPPPPPPPPOOPPPPOOPPPPPPOOPPOOPPPPPPPPOOOOOOOOPPOOOOOOPPPPPPOOPPOOOOPPPPPPOOPPPPPPOOOOPPPPPPPPOOPPPPPPOOPPOOPPPPOOPPPPPPPPPPOOPPPPOOPPPPPPOOOOOOOOOOPPPPOOOOOOPPPPOOPPPPPPPPPPPPPPOOPPPPPPPPOOOOOOOOOOPPOOPPPPPPPPPPOOOOOOOOPPPPOOPPOOPPOOOOOOOOPPOOPPPPPPPPPPPPPPOOOOOOPPPPPPPPPPPPPPPPOOPPPPPPOOOOPPOOOOPPOOOOOOPPPPOOOOPPPPPPOOPPPPPPOOPPOOPPPPPPPPPPOOOOOOOOPPOOOOPPOOPPOOPPOOPPOOPPPPPPOOPPPPPPPPPPPPPPOOPPOOOOPPPPOOOOPPOOOOPPOOOOOOPPPPPPPPPPOOPPOOPPOOPPPPOOPPOOPPOOPPOOPPOOOOOOPPPPOOOOOOPPOOPPOOPPPPPPPPPPOOOOOOOOPPPPOOOOOOPPPPOOPPPPPPPPOOOOPPPPPPOOPPPPPPOOPPOOPPPPPPPPOOOOPPOOOOPPOOPPPPPPOOPPPPOOOOPPPPOOPPPPOOPPPPOOOOPPPPPPPPOOOOOOPPPPOOOOPPOOPPPPPPPPOOOOPPPPPPPPPPOOPPPPPPPPOOOOPPPPPPOOPPPPOOPPOOPPOOPPPPPPPPPPPPPPPPOOOOOOOOOOOOOOPPPPPPOOOOOOOOOOPPOOPPPPPPPPPPPPOOOOOOOOPPPPOOOOPPPPPPOOOOOOOOPPPPPPOOPPPPOOPPPPPPPPOOPPOOOOOOOOPPPPPPOOOOOOPPPPPPPPOOPPOOOOOOPPPPOOPPOOPPOOPPOOPPOOOOOOPPPPPPPPOOPPPPPPPPOOPPOOPPPPPPOOOOPPOOOOOOOOOOPPPPOOPPOOPPPPPPPPOOPPPPPPPPPPOOPPOOPPOOOOPPOOOOPPOOPPOOOOPPPPOOPPOOPPOOOOPPOOOOPPPPOOPPOOPPPPOOPPPPOOPPOOOOOOOOOOPPOOPPOOPPPPPPOOPPOOPPPPPPOOOOOOOOOOOOPPPPOOPPPPOOOOOOOOOOPPPPPPOOPPOOPPPPPPPPOOOOOOOOPPOOPPPPOOPPPPOOOOPPPPPPOOPPPPPPOOPPOOOOOOOOOOOOPPPPPPPPPPOOOOPPPPPPPPOOPPPPPPOOPPOOOOOOPPPPPPOOOOOOOOPPPPOOOOOOPPPPOOPPOOOOPPPPOOPPOOPPPPOOOOOOPPPPPPOOOOOOPPPPOOPPOOPPOOPPPPPPOOPPOOPPOOOOOOOOOOPPOOOOPPPPPPPPOOPPOOPPOOPPPPOOOOPPOOOOPPPPPPPPOOOOPPPPPPPPPPOOPPPPPPPPPPPPOOOOPPOOOOPPOOPPPPPPOOOOOOOOOOPPPPOOOOPPOOOOOOPPPPOOPPPPPPPPPPOOOOOOPPPPOOPPPPOOPPOOOOPPOOOOPPOOPPOOPPPPOOOOPPPPPPPPPPOOOOPPPPOOOOOOOOPPOOPPPPOOOOOOPPOOPPPPOOOOPPOOPPPPPPOOPPPPOOPPPPPPPPOOOOOOPPOOPPPPPPOOPPOOPPOOOOOOOOOOPPOOOOOOPPPPPPOOPPOOPPPPOOOOPPPPPPOOOOPPPPOOPPOOOOPPPPPPPPOOOOPPPPOOPPPPOOPPOOOOPPOOOOOOOOPPOOOOPPPPPPOOPPPPOOPPPPOOOOOOOOPPPPPPPPOOOOOOPPPPOOPPOOPPOOPPOOOOPPOOPPOOPPPPPPPPPPOOOOPPOOPPPPOOOOPPOOOOOOOOOOPPOOPPPPOOOOPPOOOOOOPPPPOOOOPPPPPPOOOOPPPPOOPPOOOOPPPPPPPPOOOOPPOOOOPPPPOOPPOOOOOOOOOOOOOOPPOOOOOOPPPPOOOOPPOOPPPPOOOOPPOOPPOOPPPPOOOOOOPPPPOOPPOOPPOOPPOOOOPPOOPPOOPPPPPPPPPPOOOOOOPPPPPPOOOOPPOOOOOOOOOOPPOOPPPPOOOOOOOOOOOOPPOOOOOOOOOOPPPPOOPPPPOOOOPPOOPPPPOOPPOOPPOOOOPPPPOOPPOOPPPPPPPPOOOOPPOOPPOOOOOOPPOOOOPPOOPPOOOOOOPPPPPPOOOOPPOOOOOOOOPPOOOOOOOOPPPPPPOOOOOOOOPPOOOOOOOOPPPPPPOOOOPPPPOOOOOOOOOOPPPPPPPPOOPPPPPPOOPPOOOOOOPPOOOOOOPPOOPPOOOOPPOOPPPPPPPPOOPPOOPPOOPPOOOOPPPPPPOOOOOOOOOOOOPPPPOOPPPPPPPPOOPPOOOOOOOOOOOOPPOOOOPPPPPPPPPPOOOOPPOOOOPPOOOOOOOOOOOOPPOOPPPPOOPPPPOOPPPPOOPPPPOOPPOOOOPPPPPPOOOOPPOOPPPPOOOOPPOOOOPPOOOOOOOOPPOOOOPPOOPPOOOOOOOOPPPPPPPPOOOOPPOOOOPPOOPPPPOOPPOOOOOOPPPPOOOOOOPPOOPPPPPPPPOOOOPPOOPPOOPPOOPPOOOOOOPPPPOOPPOOOOOOOOPPPPPPOOOOPPPPPPPPOOPPPPPPPPPPOOPPOOOOOOPPPPPPOOPPOOOOOOOOPPOOPPOOOOOOOOOOOOPPOOOOOOOOOOOOOOOOOOOOOOPPPPOOPPOOPPOOOOOOOOOOPPPPPPPPOOPPPPPPOOPPOOPPPPPPOOPPOOOOOOOOOOPPPPOOPPPPPPPPPPOOPPOOOOPPOOPPPPOOOOOOOOPPOOOOOOOOOOOOOOOOOOOOOOOOOOPPOOOOOOOOOOOOOOOOOOPPPPOOOOPPPPPPOOPPOOPPPPOOPPOOOOPPOOOOPPOOOOOOOOOOOOOOPPPPOOOOOOPPPPOOOOPPOOPPOOOOPPPPOOPPPPOOOOPPOOOOOOOOPPPPPPOOOOOOPPOOPPPPPPPPOOPPOOOOOOPPPPPPPPPPOOOOPPOOPPPPOOOOPPOOOOPPPPOOOOPPOOPPPPOOOOOOPPOOOOOOPPOOPPOOOOPPPPOOOOOOOOPPOOPPOOPPOOOOOOOOOOPPOOOOOOPPPPPPOOPPPPOOOOOOOOPPPPPPOOPPOOPPOOPPOOOOOOPPPPOOOOOOOOPPOOPPOOPPOOOOOOOOOOPPOOOOOOOOPPOOOOPPOOOOOOPPPPOOPPOOOOOOOOOOOOPPOOOOOOPPOOOOOOOOPPOOOOOOPPPPPPOOOOOOPPOOPPOOOOPPOOPPOOOOPPOOOOPPOOOOPPOOPPOOOOPPPPPPOOPPPPPPOOOOPPPPOOOOOOPPPPOOPPPPOOOOOOPPPPPPOOOOOOOOPPOOPPOOPPOOOOPPOOOOOOOOOOOOOOOOOOOOOOOOOOPPOOPPPPPPOOOOOOOOOOOOPPOOPPOOPPOOOOOOPPOOOOOOOOPPOOOOOOOOOOPPOOPPOOOOPPOOOOOOOOPPPPOOPPOOOOPPOOPPOOPPPPPPPPPPOOOOPPPPPPOOOOOOPPOOOOOOPPPPOOPPOOOOPPPPOOOOPPPPPPOOPPPPPPOOPPPPPPPPPPPPPPOOPPOOOOPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPOOPPOOPPPPPPOOPPPPPPOOPPPPPPOOPPPPPPPPPPPPOOPPPPOOOOPPOOPPPPPPPPPPPPPPOOPPOOOOOOPPOOOOPPOOPPPPOOPPPPPPOOPPPPPPPPPPOOPPPPPPOOPPPPPPPPPPPPOOPPOOOOPPOOOOPPPPPPPPOOPPPPPPOOOOPPPPOOPPPPPPOOPPPPPPPPPPPPOOPPOOPPOOPPOOOOPPPPPPPPPPPPOOOOPPPPPPOOPPPPPPPPOOPPPPPPPPPPPPPPOOPPPPOOPPPPPPOOPPOOPPPPPPPPOOOOOOOOPPOOOOOOPPPPPPOOPPOOOOPPPPPPOOPPPPPPOOOOPPPPPPPPOOPPPPPPOOPPOOPPPPOOPPPPPPPPPPOOPPPPOOPPPPPPOOOOOOOOOOPPPPOOOOOOPPPPOOPPPPPPPPPPPPPPOOPPPPPPPPOOOOOOOOOOPPOOPPPPPPPPPPOOOOOOOOPPPPOOPPOOPPOOOOOOOOPPOOPPPPPPPPPPPPPPOOOOOOPPPPPPPPPPPPPPPPOOPPPPPPOOOOPPOOOOPPOOOOOOPPPPOOOOPPPPPPOOPPPPPPOOPPOOPPPPPPPPPPOOOOOOOOPPOOOOPPOOPPOOPPOOPPOOPPPPPPOOPPPPPPPPPPPPPPOOPPOOOOPPPPOOOOPPOOOOPPOOOOOOPPPPPPPPPPOOPPOOPPOOPPPPOOPPOOPPOOPPOOPPOOOOOOPPPPOOOOOOPPOOPPOOPPPPPPPPPPOOOOOOOOPPPPOOOOOOPPPPOOPPPPPPPPOOOOPPPPPPOOPPPPPPOOPPOOPPPPPPPPOOOOPPOOOOPPOOPPPPPPOOPPPPOOOOPPPPOOPPPPOOPPPPOOOOPPPPPPPPOOOOOOPPPPOOOOPPOOPPPPPPPPOOOOPPPPPPPPPPOOPPPPPPPPOOOOPPPPPPOOPPPPOOPPOOPPOOPPPPPPPPPPPPPPPPOOOOOOOOOOOOOOPPPPPPOOOOOOOOOOPPOOPPPPPPPPPPPPOOOOOOOOPPPPOOOOPPPPPPOOOOOOOOPPPPPPOOPPPPOOPPPPPPPPOOPPOOOOOOOOPPPPPPOOOOOOPPPPPPPPOOPPOOOOOOPPPPOOPPOOPPOOPPOOPPOOOOOOPPPPPPPPOOPPPPPPPPOOPPOOPPPPPPOOOOPPOOOOOOOOOOPPPPOOPPOOPPPPPPPPOOPPPPPPPPPPOOPPOOPPOOOOPPOOOOPPOOPPOOOOPPPPOOPPOOPPOOOOPPOOOOPPPPOOPPOOPPPPOOPPPPOOPPOOOOOOOOOOPPOOPPOOPPPPPPOOPPOOPPPPPPOOOOOOOOOOOOPPPPOOPPPPOOOOOOOOOOPPPPPPOOPPOOPPPPPPPPOOOOOOOOPPOOPPPPOOPPPPOOOOPPPPPPOOPPPPPPOOPPOOOOOOOOOOOOPPPPPPPPPPOOOOPPPPPPPPOOPPPPPPOOPPOOOOOOPPPPPPOOOOOOOOPPPPOOOOOOPPPPOOPPOOOOPPPPOOPPOOPPPPOOOOOOPPPPPPOOOOOOPPPPOOPPOOPPOOPPPPPPOOPPOOPPOOOOOOOOOOPPOOOOPPPPPPPPOOPPOOPPOOPPPPOOOOPPOOOOPPPPPPPPOOOOPPPPPPPPPPOOPPPPPPPPPPPPOOOOPPOOOOPPOOPPPPPPOOOOOOOOOOPPPPOOOOPPOOOOOOPPPPOOPPPPPPPPPPOOOOOOPPPPOOPPPPOOPPOOOOPPOOOOPPOOPPOOPPPPOOOOPPPPPPPPPPOOOOPPPPOOOOOOOOPPOOPPPPOOOOOOPPOOPPPPOOOOPPOOPPPPPPOOPPPPOOPPPPPPPPOOOOOOPPOOPPPPPPOOPPOOPPOOOOOOOOOOPPOOOOOOPPPPPPOOPPOOPPPPOOOOPPPPPPOOOOPPPPOOPPOOOOPPPPPPPPOOOOPPPPOOPPPPOOPPOOOOPPOOOOOOOOPPOOOOPPPPPPOOPPPPOOPPPPOOOOOOOOPPPPPPPPOOOOOOPPPPOOPPOOPPOOPPOOOOPPOOPPOOPPPPPPPPPPOOOOPPOOPPPPOOOOPPOOOOOOOOOOPPOOPPPPOOOOPPOOOOOOPPPPOOOOPPPPPPOOOOPPPPOOPPOOOOPPPPPPPPOOOOPPOOOOPPPPOOPPOOOOOOOOOOOOOOPPOOOOOOPPPPOOOOPPOOPPPPOOOOPPOOPPOOPPPPOOOOOOPPPPOOPPOOPPOOPPOOOOPPOOPPOOPPPPPPPPPPOOOOOOPPPPPPOOOOPPOOOOOOOOOOPPOOPPPPOOOOOOOOOOOOPPOOOOOOOOOOPPPPOOPPPPOOOOPPOOPPPPOOPPOOPPOOOOPPPPOOPPOOPPPPPPPPOOOOPPOOPPOOOOOOPPOOOOPPOOPPOOOOOOPPPPPPOOOOPPOOOOOOOOPPOOOOOOOOPPPPPPOOOOOOOOPPOOOOOOOOPPPPPPOOOOPPPPOOOOOOOOOOPPPPPPPPOOPPPPPPOOPPOOOOOOPPOOOOOOPPOOPPOOOOPPOOPPPPPPPPOOPPOOPPOOPPOOOOPPPPPPOOOOOOOOOOOOPPPPOOPPPPPPPPOOPPOOOOOOOOOOOOPPOOOOPPPPPPPPPPOOOOPPOOOOPPOOOOOOOOOOOOPPOOPPPPOOPPPPOOPPPPOOPPPPOOPPOOOOPPPPPPOOOOPPOOPPPPOOOOPPOOOOPPOOOOOOOOPPOOOOPPOOPPOOOOOOOOPPPPPPPPOOOOPPOOOOPPOOPPPPOOPPOOOOOOPPPPOOOOOOPPOOPPPPPPPPOOOOPPOOPPOOPPOOPPOOOOOOPPPPOOPPOOOOOOOOPPPPPPOOOOPPPPPPPPOOPPPPPPPPPPOOPPOOOOOOPPPPPPOOPPOOOOOOOOPPOOPPOOOOOOOOOOOOPPOOOOOOOOOOOOOOOOOOOOOOPPPPOOPPOOPPOOOOOOOOOOPPPPPPPPOOPPPPPPOOPPOOPPPPPPOOPPOOOOOOOOOOPPPPOOPPPPPPPPPPOOPPOOOOPPOOPPPPOOOOOOOOPPOOOOOOOOOOOOOOOOOOOOOOOOOOPPOOOOOOOOOOOOOOOOOOPPPPOOOOPPPPPPOOPPOOPPPPOOPPOOOOPPOOOOPPOOOOOOOOOOOOOOPPPPOOOOOOPPPPOOOOPPOOPPOOOOPPPPOOPPPPOOOOPPOOOOOOOOPPPPPPOOOOOOPPOOPPPPPPPPOOPPOOOOOOPPPPPPPPPPOOOOPPOOPPPPOOOOPPOOOOPPPPOOOOPPOOPPPPOOOOOOPPOOOOOOPPOOPPOOOOPPPPOOOOOOOOPPOOPPOOPPOOOOOOOOOOPPOOOOOOPPPPPPOOPPPPOOOOOOOOPPPPPPOOPPOOPPOOPPOOOOOOPPPPOOOOOOOOPPOOPPOOPPOOOOOOOOOOPPOOOOOOOOPPOOOOPPOOOOOOPPPPOOPPOOOOOOOOOOOOPPOOOOOOPPOOOOOOOOPPOOOOOOPPPPPPOOOOOOPPOOPPOOOOPPOOPPOOOOPPOOOOPPOOOOPPOOPPOOOOPPPPPPOOPPPPPPOOOOPPPPOOOOOOPPPPOOPPPPOOOOOOPPPPPPOOOOOOOOPPOOPPOOPPOOOOPPOOOOOOOOOOOOOOOOOOOOOOOOOOPPOOPPPPPPOOOOOOOOOOOOPPOOPPOOPPOOOOOOPPOOOOOOOOPPOOOOOOOOOOPPOOPPOOOOPPOOOOOOOOPPPPOOPPOOOOPPOOPPOOPPPPPPPPOOPPPPPPPPPPPPPPPPPPPPPPPPOOPPPPPPOOPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPOOPPPPPPPPPPPPPPPPPPPPOOPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPOOPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPOOPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPOOPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPOOPPPPPPPPPPPPOOPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPOOPPPPPPOOPPPPPPPPPPPPPPPPPPPPPPOOPPPPPPPPOOPPOOPPPPPPPPPPPPPPOOPPPPPPOOPPPPPPPPPPPPPPPPPPOOPPPPPPPPPPOOPPOOPPOOPPPPPPPPPPPPPPPPPPPPPPOOPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPOOPPPPPPPPPPPPPPOOPPPPPPPPPPPPPPOOPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPOOPPPPPPPPOOPPOOPPPPPPPPPPPPPPPPPPPPPPOOPPPPPPPPPPPPPPPPPPPPPPPPPPPPOOPPPPPPPPPPPPPPOOPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPOOPPPPPPPPPPPPOOPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPOOPPPPPPPPPPPPOOPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPOOPPPPPPOOPPPPPPPPPPPPPPPPPPPPPPOOPPOOPPPPPPPPOOPPPPPPPPPPPPOOPPPPPPPPPPPPPPPPPPPPOOPPPPPPPPPPPPPPOOPPPPOOPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPOOPPPPPPPPOOPPPPPPPPPPPPOOOOOOPPPPPPPPOOPPOOOOPPPPPPPPPPOOPPPPOOPPPPOOPPPPPPPPOOPPPPPPPPPPPPPPOOOOOOPPOOPPPPPPOOOOOOPPPPPPPPPPPPPPPPPPPPPPOOPPPPPPPPOOPPOOOOOOPPPPPPPPOOPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPOOPPPPPPPPOOPPPPPPPPPPPPPPPPPPOOPPPPPPPPPPPPPPPPPPPPOOPPPPPPOOPPPPPPOOOOOOPPPPPPOOPPPPPPPPOOPPPPPPPPPPOOOOOOPPOOPPPPOOPPPPPPPPPPOOOOPPPPPPPPPPPPPPPPOOPPPPPPOOPPPPOOPPPPPPPPPPPPPPOOPPPPPPPPPPPPPPPPPPPPOOPPPPPPPPPPPPOOPPPPPPPPPPPPPPPPPPPPPPPPPPPPOOPPPPPPPPOOPPPPPPPPPPPPOOOOPPPPOOPPPPPPPPOOOOPPPPPPPPPPPPPPPPOOPPPPOOPPPPPPPPPPPPPPPPPPPPPPPPOOOOPPPPOOPPPPPPPPPPPPPPPPPPOOPPPPPPPPPPPPPPOOPPPPPPPPOOOOPPOOOOPPPPPPPPOOPPPPOOPPPPPPOOPPPPPPOOPPPPPPPPOOPPPPPPPPPPPPPPPPPPOOPPPPPPPPPPPPPPPPPPPPPPPPOOPPPPPPPPOOPPPPPPPPOOOOOOPPOOOOPPOOOOPPPPPPPPPPPPPPPPOOPPOOOOPPOOPPPPPPOOPPOOPPPPOOOOPPPPPPPPPPPPPPPPPPPPPPPPPPOOOOOOOOOOPPPPOOPPOOPPPPOOPPPPPPPPPPPPOOPPPPPPOOPPPPOOPPOOPPPPOOPPPPOOPPPPOOPPOOPPPPPPPPPPPPOOPPPPPPPPPPPPOOPPPPOOOOPPOOOOPPOOOOPPPPOOPPPPPPOOPPOOPPOOOOPPOOPPPPPPOOPPOOPPPPOOOOPPPPPPOOPPPPPPPPPPPPOOPPPPOOOOOOOOOOPPPPOOPPOOPPPPOOPPPPPPOOOOPPOOPPPPPPOOPPPPOOOOOOPPPPOOOOOOOOPPPPOOPPOOPPOOPPPPPPPPOOOOOOPPPPPPPPPPPPPPPPPPPPPPPPPPPPOOPPPPPPOOOOPPOOPPPPPPOOPPPPOOPPPPPPPPOOPPPPPPPPPPOOPPPPPPOOPPPPOOPPPPPPOOPPPPPPPPPPPPPPPPPPOOOOOOOOOOPPPPPPPPPPPPPPOOPPPPPPPPPPPPPPPPPPOOOOOOOOPPPPPPOOPPOOPPPPOOOOPPPPPPPPOOPPPPOOPPPPOOPPOOPPOOOOPPOOPPPPPPPPOOOOPPPPPPPPOOOOPPOOPPPPOOPPPPPPPPOOPPOOPPPPPPOOPPPPPPPPPPPPPPPPPPPPPPPPOOPPPPPPPPOOPPPPOOPPPPPPPPPPOOOOOOOOPPPPPPPPPPPPPPPPPPPPOOPPOOOOPPOOOOPPPPPPOOOOPPPPOOPPPPPPPPPPPPOOPPPPPPOOPPOOPPPPOOOOPPOOPPOOOOPPOOPPOOOOPPOOPPPPPPOOPPPPPPPPPPOOOOOOPPOOOOPPPPOOPPPPPPOOPPOOPPPPPPOOPPPPPPOOPPPPOOPPOOPPPPPPOOOOPPPPPPPPPPPPOOOOPPPPOOOOOOPPPPOOPPPPOOPPPPPPPPOOPPPPOOPPPPPPPPOOOOOOPPPPPPPPPPPPPPOOPPPPOOOOPPPPPPPPPPOOPPPPOOPPOOPPOOOOOOOOPPOOPPPPPPPPPPPPPPPPPPOOPPPPPPPPPPPPPPOOPPOOOOPPOOPPOOPPPPPPPPPPOOOOOOOOOOOOPPPPOOPPOOOOOOOOPPPPPPOOPPPPOOPPPPOOOOOOOOOOPPPPPPPPOOOOOOPPPPPPPPOOPPPPPPOOPPOOOOOOOOPPOOPPOOPPPPOOOOPPPPPPPPPPOOPPPPPPOOOOOOPPPPOOPPOOOOOOPPOOOOOOOOOOPPOOPPPPPPPPOOPPOOOOPPPPPPPPOOOOOOOOPPOOOOOOPPPPPPOOPPPPPPPPPPPPPPPPOOOOPPPPPPOOOOOOPPPPPPOOOOPPPPPPOOOOPPOOOOOOOOPPOOOOOOOOOOPPPPOOOOPPOOPPPPOOPPOOPPPPPPPPOOPPOOOOPPOOOOOOOOPPPPOOOOOOPPPPOOOOPPPPOOPPOOOOPPPPOOPPPPOOPPOOOOPPOOPPPPPPOOOOPPOOOOPPPPPPPPPPPPOOPPPPOOPPPPPPPPPPOOPPOOPPOOOOOOPPPPPPOOOOPPPPPPPPPPPPPPPPPPPPOOPPOOOOPPOOOOPPPPOOOOPPOOOOPPPPOOOOPPOOPPPPOOPPOOOOPPPPPPOOPPPPOOPPOOOOPPPPPPOOPPPPPPOOOOPPPPPPOOPPPPPPOOPPOOPPPPPPPPPPPPOOOOPPPPOOOOOOPPPPOOPPPPPPPPPPPPPPOOPPPPOOOOPPPPPPPPOOOOPPPPPPPPPPOOPPOOOOOOOOOOPPOOOOOOPPOOOOOOOOPPPPPPPPOOPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPOOPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPOOPPPPPPPPPPPPPPPPPPPPOOPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPOOPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPOOPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPOOPPPPPPPPPPPPOOPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPOOPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPOOPPOOPPPPPPPPPPPPPPOOPPPPPPOOPPPPPPPPPPPPPPPPPPOOPPPPPPPPPPOOPPOOPPOOPPPPPPPPPPPPPPPPPPPPPPOOPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPOOPPPPPPPPPPPPPPOOPPPPPPPPPPPPPPOOPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPOOPPPPPPPPOOPPOOPPPPPPPPPPPPPPPPPPPPPPOOPPPPPPPPPPPPPPPPPPPPPPPPPPPPOOPPPPPPPPPPPPPPOOPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPOOPPPPPPPPPPPPOOPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPOOPPPPPPPPPPPPOOPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPOOPPPPPPOOPPPPPPPPPPPPPPPPPPPPPPOOPPOOPPPPPPPPOOPPPPPPPPPPPPOOPPPPPPPPPPPPPPPPPPPPOOPPPPPPPPPPPPPPOOPPPPOOPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPOOPPPPPPPPOOPPPPPPPPPPPPOOOOOOPPPPPPPPOOPPOOOOPPPPPPPPPPOOPPPPOOPPPPOOPPPPPPPPOOPPPPPPPPPPPPPPOOOOOOPPOOPPPPPPPOOOOOPPPPPPPPPPPPPPPPPPPPPPOOPPPPPPPPOOPPPPOOOOPPPPPPPPOOPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPOOPPPPPPPPOOPPPPPPPPPPPPPPPPPPOOPPPPPPPPPPPPPPPPPPPPOOPPPPPPOOPPPPPPOOOOOOPPPPPPOOPPPPPPPPOOPPPPPPPPPPOOOOOOPPPPPPPPOOPPPPPPPPPPOOOOPPPPPPPPPPPPPPPPOOPPPPPPOOPPPPOOPPPPPPPPPPPPPPOOPPPPPPPPPPPPPPPPPPPPOOPPPPPPPPPPPPOOPPPPPPPPPPPPPPPPPPPPPPPPPPPPOOPPPPPPPPOOPPPPPPPPPPPPOOOOPPPPOOPPPPPPPPOOOOPPPPPPPPPPPPPPPPOOPPPPOOPPPPPPPPPPPPPPPPPPPPPPPPPOOOPPPPOOPPPPPPPPPPPPPPPPPPOOPPPPPPPPPPPPPPOOPPPPPPPPOOOOPPOOOOPPPPPPPPOOPPPPOOPPPPPPOOPPPPPPOOPPPPPPPPOOPPPPPPPPPPPPPPPPPPOOPPPPPPPPPPPPPPPPPPPPPPPPOOPPPPPPPPOOPPPPPPPPOOOOOOPPOOOOPPOOOOPPPPPPPPPPPPPPPPOOPPOOOOPPOOPPPPPPOOPPOOPPPPOOOOPPPPPPPPPPPPPPPPPPPPPPPPPPPOOOOOOOOOPPPPOOPPOOPPPPOOPPPPPPPPPPPPOOPPPPPPOOPPPPOOPPOOPPPPOOPPPPOOPPPPOOPPOOPPPPPPPPPPPPOOPPPPPPPPPPPPOOPPPPOOOOPPOOOOPPOOOOPPPPOOPPPPPPOOPPOOPPOOOOPPOOPPPPPPOOPPOOPPPPOOOOPPPPPPOOPPPPPPPPPPPPOOPPPPPOOOOOOOOOPPPPOOPPOOPPPPOOPPPPPPOOOOPPOOPPPPPPOOPPPPOOOOOOPPPPOOOOOOOOPPPPOOPPOOPPOOPPPPPPPPOOOOOOPPPPPPPPPPPPPPPPPPPPPPPPPPPPOOPPPPPPOOOOPPOOPPPPPPOOPPPPOOPPPPPPPPOOPPPPPPPPPPOOPPPPPPOOPPPPOOPPPPPPOOPPPPPPPPPPPPPPPPPPOOOOOOOOOOPPPPPPPPPPPPPPOOPPPPPPPPPPPPPPPPPPOOOOOOOOPPPPPPOOPPOOPPPPOOOOPPPPPPPPOOPPPPOOPPPPOOPPOOPPOOOOPPOOPPPPPPPPOOOOPPPPPPPPOOOOPPOOPPPPOOPPPPPPPPOOPPOOPPPPPPOOPPPPPPPPPPPPPPPPPPPPPPPPOOPPPPPPPPOOPPPPOOPPPPPPPPPPOOOOOOOOPPPPPPPPPPPPPPPPPPPPOOPPOOOOPPOOOOPPPPPPOOOOPPPPOOPPPPPPPPPPPPOOPPPPPPOOPPOOPPPPOOOOPPOOPPOOOOPPOOPPOOOOPPOOPPPPPPOOPPPPPPPPPPOOOOOOPPOOOOPPPPOOPPPPPPOOPPOOPPPPPPOOPPPPPPOOPPPPOOPPOOPPPPPPOOOOPPPPPPPPPPPPOOOOPPPPOOOOOOPPPPOOPPPPOOPPPPPPPPOOPPPPOOPPPPPPPPOOOOOOPPPPPPPPPPPPPPOOPPPPOOOOPPPPPPPPPPOOPPPPOOPPOOPPOOOOOOOOPPOOPPPPPPPPPPPPPPPPPPOOPPPPPPPPPPPPPPOOPPOOOOPPOOPPOOPPPPPPPPPPOOOOOOOOOOOOPPPPOOPPOOOOOOOOPPPPPPOOPPPPOOPPPPOOOOOOOOOOPPPPPPPPOOOOOOPPPPPPPPOOPPPPPPOOPPOOOOOOOOPPOOPPOOPPPPOOOOPPPPPPPPPPOOPPPPPPOOOOOOPPPPOOPPOOOOOOPPOOOOOOOOOOPPOOPPPPPPPPOOPPOOOOPPPPPPPPOOOOOOOOPPOOOOOOPPPPPPOOPPPPPPPPPPPPPPPPOOOOPPPPPPOOOOOOPPPPPPOOOOPPPPPPOOOOPPOOOOOOOOPPOOOOOOOOOOPPPPOOOOPPOOPPPPOOPPOOPPPPPPPPOOPPOOOOPPOOOOOOOOPPPPOOOOOOPPPPOOOOPPPPOOPPOOOOPPPPOOPPPPOOPPOOOOPPOOPPPPPPOOOOPPOOOOPPPPPPPPPPPPOOPPPPOOPPPPPPPPPPOOPPOOPPOOOOOOPPPPPPOOOOPPPPPPPPPPPPPPPPPPPPOOPPOOOOPPOOOOPPPPOOOOPPOOOOPPPPOOOOPPOOPPPPOOPPOOOOPPPPPPOOPPPPOOPPOOOOPPPPPPOOPPPPPPOOOOPPPPPPOOPPPPPPOOPPOOPPPPPPPPPPPPOOOOPPPPOOOOOOPPPPOOPPPPPPPPPPPPPPOOPPPPOOOOPPPPPPPPOOOOPPPPPPPPPPOOPPOOOOOOOOOOPPOOOOOOPPOOOOOOOOPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPQQPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPQQPPPPPPPPPPPPPPPPPPPPPPPPPPQQPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPOOPPPPPPPPPPPPPPOOPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPOOPPPPPPPPOOPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPOOPPPPPPPPPPPPPPOOPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPOOPPPPPPPPOOPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPOOPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPOOPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPOOPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPOOPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPOOPPPPPPPPPPPPPPPPPPPPPPPPPPPPOOPPPPPPOOPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPOOPPPPPPPPPPPPPPPPPPPPPPOOOOPPPPPPPPPPPPPPOOOOPPPPPPPPPPPPPPPPOOPPPPOOPPPPPPPPOOPPPPPPPPPPPPPPPPOOPPPPPPPPPPPPPPPPOOPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPOOPPPPOOOOPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPOOPPPPPPPPPPPPOOPPPPPPPPPPOOPPPPPPPPOOPPPPPPOOPPPPPPPPPPOOPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPOOPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPOOPPPPPPPPPPPPPPPPPPPPOOPPPPPPOOPPPPPPPPOOPPPPPPOOPPPPOOPPPPPPPPPPPPPPOOPPPPPPPPOOPPPPPPPPOOPPPPPPPPOOPPPPPPOOPPPPPPPPOOPPPPPPOOPPOOPPPPPPOOPPPPPPPPPPOOPPPPPPPPOOOOPPPPPPPPPPPPOOPPPPPPPPPPPPPPOOPPPPOOPPPPPPPPPPPPPPPPPPOOPPPPPPPPPPOOPPOOPPPPPPOOOOPPOOPPPPPPPPPPPPPPOOOOPPPPPPPPPPPPPPPPPPPPPPPPPPPPOOPPPPPPPPOOPPPPPPPPPPPPPPPPPPOOPPPPPPOOPPOOPPPPPPPPOOOOOOOOPPPPOOPPPPPPPPOOPPOOPPOOPPPPPPPPPPPPPPPPPPPPOOOOOOPPPPPPOOPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPOOPPOOPPPPOOPPPPPPPPPPOOPPPPPPPPPPPPPPPPPPOOPPPPPPPPOOPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPOOPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPOOPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPOOPPPPPPOOPPPPPPPPOOPPPPPPPPOOPPPPPPPPOOPPPPPPPPPPOOOOPPOOOOPPPPPPPPPPPPOOOOPPPPPPPPOOPPPPPPOOPPOOOOOOPPOOPPPPPPPPPPOOPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPQQPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPQQPPPPPPPPPPPPPPPPPPPPPPPPPPQQPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPQQPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPOOPPPPPPPPPPPPPPOOPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPOOPPPPPPPPOOPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPOOPPPPPPPPPPPPPPOOPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPOOPPPPPPPPOOPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPOOPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPOOPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPOOPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPOOPPPPPPPPPPPPPPPPPPPPPPPPPPPPOOPPPPPPOOPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPOOPPPPPPPPPPPPPPPPPPPPPPOOOOPPPPPPPPPPPPPPOOOOPPPPPPPPPPPPPPPPOOPPPPOOPPPPPPPPPPPPPPPPPPPPPPPPPPOOPPPPPPPPPPPPPPPPOOPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPOOPPPPOOOOPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPOOPPPPPPPPPPPPOOPPPPPPPPPPOOPPPPPPPPOOPPPPPPOOPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPOOPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPOOPPPPPPPPPPPPPPPPPPPPOOPPPPPPOOPPPPPPPPOOPPPPPPOOPPPPOOPPPPPPPPPPPPPPOOPPPPPPPPOOPPPPPPPPOOPPPPPPPPOOPPPPPPOOPPPPPPPPOOPPPPPPOOPPOOPPPPPPOOPPPPPPPPPPOOPPPPPPPPOOOOPPPPPPPPPPPPOOPPPPPPPPPPPPPPOOPPPPOOPPPPPPPPPPPPPPPPPPOOPPPPPPPPPPOOPPOOPPPPPPOOOOPPOOPPPPPPPPPPPPPPOOOOPPPPPPPPPPPPPPPPPPPPPPPPPPPPOOPPPPPPPPOOPPPPPPPPPPPPPPPPPPOOPPPPPPPPPPOOPPPPPPPPOOOOOOOPPPPPOOPPPPPPPPOOPPOOPPOOPPPPPPPPPPPPPPPPPPPPOOOOOOPPPPPPOOPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPOOPPOOPPPPOOPPPPPPPPPPOOPPPPPPPPPPPPPPPPPPOOPPPPPPPPOOPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPOOPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPOOPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPOOPPPPPPOOPPPPPPPPOOPPPPPPPPOOPPPPPPPPOOPPPPPPPPPPOOOOPPOOOOPPPPPPPPPPPPOOOOPPPPPPPPOOPPPPPPPPPPOOOOOOPPOOPPPPPPPPPPOOPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPQQPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPQQPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPQQPPPPPPPPPPPPPPPPPPPPPPPPQQPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPQQPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPQQPPPPPPQQQQPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPQQPPPPPPPPPPPPPPPPPPPPPPQQPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPQQPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPQQPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPQQPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPQQPPPPPPPPPPPPPPQQPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPQQPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPQQPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPQQPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPQQPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPQQPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPQQPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPQQPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPQQPPPPPPPPPPPPPPPPPPPPPPPPQQPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPQQPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPQQPPPPPPQQQQPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPQQPPPPPPPPPPPPPPPPPPPPPPQQPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPQQPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPQQPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPQQPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPQQPPPPPPPPPPPPPPQQPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPQQPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPQQPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPQQPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPQQPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPQQPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPQQPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPQQPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPQQPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPQQPPQQPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPQQPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPQQPPPPPPPPPPPPQQPPQQPPPPPPPPPPPPPPPPQQPPPPPPPPPPPPPPPPQQQQPPQQPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPQQPPPPPPPPPPPPPPPPPPPPQQPPPPPPPPPPPPQQPPPPPPPPPPPPPPPPQQQQPPPPPPPPPPPPQQPPPPQQPPPPPPPPPPPPPPPPQQPPPPPPPPPPPPPPPPPPPPPPPPQQPPQQPPQQPPPPQQPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPQQPPQQPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPQQPPPPQQPPPPPPPPPPPPPPPPPPPPPPQQPPPPPPPPPPPPPPPPPPPPQQPPPPPPPPPPPPPPPPPPPPQQPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPQQPPPPPPPPPPPPPPPPPPPPQQPPPPPPPPPPPPPPPPPPPPPPPPPPQQPPPPPPPPPPPPPPPPPPPPPPQQPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPQQQQPPPPPPPPPPPPPPPPPPPPQQPPPPPPPPPPPPPPPPPPPPPPPPPPPPQQPPPPPPPPQQPPPPQQPPPPPPPPPPPPPPPPQQPPPPPPQQPPPPPPPPPPPPPPPPPPPPPPPPPPPPQQPPPPPPQQPPPPPPPPPPPPPPQQPPPPPPPPQQPPPPPPPPPPPPPPPPQQPPPPPPQQPPPPPPPPQQPPPPPPPPPPPPPPPPPPPPPPPPQQPPPPPPPPPPPPPPPPPPPPPPPPPPQQPPPPPPQQPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPQQPPPPPPPPPPPPPPPPPPPPPPPPQQPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPQQPPPPPPPPPPPPPPPPPPQQPPPPPPPPPPPPPPPPPPPPPPQQPPQQPPPPPPPPPPPPPPPPPPQQPPPPPPPPPPPPPPPPPPPPQQPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPQQPPPPPPPPPPPPPPQQPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPQQPPPPPPPPPPPPPPQQPPPPPPPPPPPPQQPPPPPPPPPPPPPPQQPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPQQQQPPPPPPPPPPQQPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPQQPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPQQPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPQQPPPPPPPPPPPPQQPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPQQPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPQQPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPQQPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPQQPPPPPPPPPPPPPPPPPPPPPPPPQQPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPQQPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPQQPPPPPPPPPPPPPPPPQQPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPQQPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPQQPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPQQPPPPPPPPPPQQPPPPPPPPPPPPPPPPPPQQPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPQQPPPPPPPPPPPPPPPPPPQQPPPPPPPPPPPPQQPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPQQPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPQQPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPQQPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPQQPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPQQPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPQQPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPQQPPQQPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPQQPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPQQPPPPPPPPPPPPQQPPQQPPPPPPPPPPPPPPPPQQPPPPPPPPPPPPPPPPQQQQPPQQPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPQQPPPPPPPPPPPPPPPPPPPPQQPPPPPPPPPPPPQQPPPPPPPPPPPPPPPPQQQQPPPPPPPPPPPPQQPPPPQQPPPPPPPPPPPPPPPPQQPPPPPPPPPPPPPPPPPPPPPPPPQQPPQQPPQQPPPPQQPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPQQPPQQPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPQQPPPPQQPPPPPPPPPPPPPPPPPPPPPPQQPPPPPPPPPPPPPPPPPPPPQQPPPPPPPPPPPPPPPPPPPPQQPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPQQPPPPPPPPPPPPPPPPPPPPQQPPPPPPPPPPPPPPPPPPPPPPPPPPQQPPPPPPPPPPPPPPPPPPPPPPQQPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPQQQQPPPPPPPPPPPPPPPPPPPPQQPPPPPPPPPPPPPPPPPPPPPPPPPPPPQQPPPPPPPPQQPPPPQQPPPPPPPPPPPPPPPPQQPPPPPPQQPPPPPPPPPPPPPPPPPPPPPPPPPPPPQQPPPPPPQQPPPPPPPPPPPPPPQQPPPPPPPPQQPPPPPPPPPPPPPPPPQQPPPPPPQQPPPPPPPPQQPPPPPPPPPPPPPPPPPPPPPPPPQQPPPPPPPPPPPPPPPPPPPPPPPPPPQQPPPPPPQQPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPQQPPPPPPPPPPPPPPPPPPPPPPPPQQPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPQQPPPPPPPPPPPPPPPPPPQQPPPPPPPPPPPPPPPPPPPPPPQQPPQQPPPPPPPPPPPPPPPPPPQQPPPPPPPPPPPPPPPPPPPPQQPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPQQPPPPPPPPPPPPPPQQPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPQQPPPPPPPPPPPPPPQQPPPPPPPPPPPPQQPPPPPPPPPPPPPPQQPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPQQQQPPPPPPPPPPQQPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPQQPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPQQPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPQQPPPPPPPPPPPPQQPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPQQPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPQQPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPQQPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPQQPPPPPPPPPPPPPPPPPPPPPPPPQQPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPQQPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPQQPPPPPPPPPPPPPPPPQQPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPQQPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPQQPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPQQPPPPPPPPPPQQPPPPPPPPPPPPPPPPPPQQPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPQQPPPPPPPPPPPPPPPPPPQQPPPPPPPPPPPPQQPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPQQPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPQQPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPQQPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPQQPPQQPPQQPPPPPPPPQQPPQQPPPPPPQQPPPPPPQQPPQQPPPPPPPPPPQQPPPPPPPPPPPPPPPPPPPPPPQQPPPPPPPPPPPPPPPPPPPPPPQQPPPPPPQQPPPPPPPPPPPPQQPPPPQQPPPPPPPPPPPPPPPPQQQQPPPPQQPPQQPPPPPPPPQQPPPPPPPPQQQQPPPPQQPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPQQPPQQPPQQQQPPPPPPPPPPPPPPQQPPPPPPPPQQPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPQQPPPPPPQQPPQQQQPPPPPPPPPPPPPPPPPPPPQQPPQQPPQQPPPPPPPPPPPPPPPPPPPPPPQQPPPPPPPPPPPPQQPPPPPPPPPPPPQQPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPQQPPQQQQPPPPPPPPQQPPPPPPPPQQPPQQPPPPPPQQPPPPPPQQPPPPPPPPPPPPQQPPPPPPQQQQQQPPPPPPPPPPPPPPPPPPPPPPPPPPPPQQPPPPPPPPPPPPPPPPPPQQPPQQPPPPPPQQPPPPPPQQPPPPPPPPPPPPPPPPPPPPPPPPQQPPPPPPPPPPPPQQPPPPPPPPPPPPPPPPPPPPPPQQPPPPPPPPPPPPPPPPPPQQPPPPQQPPPPQQPPPPPPPPPPPPPPPPPPQQQQPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPQQPPQQPPPPPPQQPPPPPPPPPPPPPPPPPPQQPPPPPPPPPPPPQQPPPPPPPPPPPPQQPPPPPPPPPPPPPPPPPPPPPPPPQQPPPPPPPPPPPPPPPPPPPPPPPPPPPPQQPPPPPPPPPPPPPPPPPPPPQQPPPPPPPPPPPPPPPPPPPPQQPPPPPPPPPPQQPPPPPPPPPPPPPPPPPPPPPPPPPPQQPPPPPPPPPPPPPPPPPPPPPPPPQQPPPPQQQQPPPPPPPPQQPPQQPPQQQQPPPPPPPPPPPPPPPPPPPPQQPPPPPPPPQQPPPPQQPPPPPPPPPPPPPPQQPPPPPPPPQQPPPPPPQQPPPPQQPPQQPPPPQQPPQQPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPQQPPQQPPPPPPPPPPPPPPPPPPPPPPPPQQPPQQQQPPPPQQPPPPPPPPPPPPPPPPQQPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPQQPPPPPPPPQQQQQQPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPQQPPPPPPPPQQPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPQQPPQQPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPQQPPPPPPQQPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPQQPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPQQPPPPPPPPQQPPPPPPPPPPPPQQPPPPPPPPPPPPQQPPPPPPPPQQPPPPPPPPPPPPPPPPPPPPPPPPQQQQPPPPQQPPPPPPPPPPPPPPQQPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPQQPPPPPPPPPPPPPPPPPPPPQQPPQQPPPPPPPPPPPPPPPPPPPPPPPPPPPPQQPPPPPPPPPPPPQQPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPQQPPPPPPPPPPPPPPPPPPPPQQPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPQQPPPPPPPPQQPPPPQQPPPPPPPPPPPPPPPPPPPPQQPPPPPPPPPPQQPPPPPPPPQQPPQQQQPPPPPPQQPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPQQPPPPQQPPPPPPPPPPPPPPPPPPPPPPPPPPPPQQPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPQQPPPPPPPPQQQQPPQQPPPPPPPPPPPPPPPPPPPPQQPPPPQQPPPPPPPPPPPPPPPPPPPPPPPPQQPPPPPPPPQQPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPQQPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPQQPPPPQQPPPPPPPPPPPPPPPPQQPPPPPPPPPPPPPPPPPPPPPPPPQQQQPPPPPPPPPPPPPPPPPPPPPPPPPPPPQQPPPPPPPPPPPPQQPPPPPPPPPPPPPPPPPPPPPPQQPPPPPPQQPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPQQPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPQQPPQQPPPPPPPPPPPPPPPPPPQQPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPQQPPPPPPPPPPPPPPPPPPPPPPPPPPPPQQPPPPPPPPPPPPPPPPPPQQPPPPPPPPPPPPPPPPQQPPPPPPPPPPPPPPPPPPPPQQPPPPPPPPQQPPPPPPQQPPQQPPPPPPPPQQQQPPQQPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPQQPPPPPPQQPPPPPPPPPPPPPPPPPPPPQQPPQQPPPPPPPPPPPPPPPPQQQQPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPQQPPPPPPPPPPPPPPPPPPPPPPQQPPQQPPPPPPPPPPPPPPPPPPPPQQPPPPPPPPPPQQPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPQQPPQQPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPQQPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPQQPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPQQPPPPPPPPPPPPQQQQPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPQQPPPPPPPPPPPPPPPPPPPPPPPPQQPPPPPPQQPPPPPPPPPPPPPPPPPPQQPPPPPPPPPPPPQQPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPQQPPPPPPPPPPPPPPPPPPPPQQPPPPPPPPPPPPPPQQPPPPPPPPPPPPPPPPQQPPPPPPPPPPPPQQPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPQQPPPPPPQQPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPQQPPPPPPQQPPPPPPPPPPPPPPPPPPPPPPQQPPPPPPPPPPQQPPPPPPPPQQPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPQQPPPPPPPPPPPPPPQQPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPQQPPQQPPQQPPPPPPPPQQPPQQPPPPPPQQPPPPPPQQPPQQPPPPPPPPPPQQPPPPPPPPPPPPPPPPPPPPPPQQPPPPPPPPPPPPPPPPPPPPPPQQPPPPPPQQPPPPPPPPPPPPQQPPPPQQPPPPPPPPPPPPPPPPQQQQPPPPQQPPQQPPPPPPPPQQPPPPPPPPQQQQPPPPQQPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPQQPPQQPPQQQQPPPPPPPPPPPPPPQQPPPPPPPPQQPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPQQPPPPPPQQPPQQQQPPPPPPPPPPPPPPPPPPPPQQPPQQPPQQPPPPPPPPPPPPPPPPPPPPPPQQPPPPPPPPPPPPQQPPPPPPPPPPPPQQPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPQQPPQQQQPPPPPPPPQQPPPPPPPPQQPPQQPPPPPPQQPPPPPPQQPPPPPPPPPPPPQQPPPPPPQQQQQQPPPPPPPPPPPPPPPPPPPPPPPPPPPPQQPPPPPPPPPPPPPPPPPPQQPPQQPPPPPPQQPPPPPPQQPPPPPPPPPPPPPPPPPPPPPPPPQQPPPPPPPPPPPPQQPPPPPPPPPPPPPPPPPPPPPPQQPPPPPPPPPPPPPPPPPPQQPPPPQQPPPPQQPPPPPPPPPPPPPPPPPPQQQQPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPQQPPQQPPPPPPQQPPPPPPPPPPPPPPPPPPQQPPPPPPPPPPPPQQPPPPPPPPPPPPQQPPPPPPPPPPPPPPPPPPPPPPPPQQPPPPPPPPPPPPPPPPPPPPPPPPPPPPQQPPPPPPPPPPPPPPPPPPPPQQPPPPPPPPPPPPPPPPPPPPQQPPPPPPPPPPQQPPPPPPPPPPPPPPPPPPPPPPPPPPQQPPPPPPPPPPPPPPPPPPPPPPPPQQPPPPQQQQPPPPPPPPQQPPQQPPQQQQPPPPPPPPPPPPPPPPPPPPQQPPPPPPPPQQPPPPQQPPPPPPPPPPPPPPQQPPPPPPPPQQPPPPPPQQPPPPQQPPQQPPPPQQPPQQPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPQQPPQQPPPPPPPPPPPPPPPPPPPPPPPPQQPPQQQQPPPPQQPPPPPPPPPPPPPPPPQQPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPQQPPPPPPPPQQQQQQPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPQQPPPPPPPPQQPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPQQPPQQPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPQQPPPPPPQQPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPQQPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPQQPPPPPPPPQQPPPPPPPPPPPPQQPPPPPPPPPPPPQQPPPPPPPPQQPPPPPPPPPPPPPPPPPPPPPPPPQQQQPPPPQQPPPPPPPPPPPPPPQQPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPQQPPPPPPPPPPPPPPPPPPPPQQPPQQPPPPPPPPPPPPPPPPPPPPPPPPPPPPQQPPPPPPPPPPPPQQPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPQQPPPPPPPPPPPPPPPPPPPPQQPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPQQPPPPPPPPQQPPPPQQPPPPPPPPPPPPPPPPPPPPQQPPPPPPPPPPQQPPPPPPPPQQPPQQQQPPPPPPQQPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPQQPPPPQQPPPPPPPPPPPPPPPPPPPPPPPPPPPPQQPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPQQPPPPPPPPQQQQPPQQPPPPPPPPPPPPPPPPPPPPQQPPPPQQPPPPPPPPPPPPPPPPPPPPPPPPQQPPPPPPPPQQPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPQQPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPQQPPPPQQPPPPPPPPPPPPPPPPQQPPPPPPPPPPPPPPPPPPPPPPPPQQQQPPPPPPPPPPPPPPPPPPPPPPPPPPPPQQPPPPPPPPPPPPQQPPPPPPPPPPPPPPPPPPPPPPQQPPPPPPQQPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPQQPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPQQPPQQPPPPPPPPPPPPPPPPPPQQPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPQQPPPPPPPPPPPPPPPPPPPPPPPPPPPPQQPPPPPPPPPPPPPPPPPPQQPPPPPPPPPPPPPPPPQQPPPPPPPPPPPPPPPPPPPPQQPPPPPPPPQQPPPPPPQQPPQQPPPPPPPPQQQQPPQQPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPQQPPPPPPQQPPPPPPPPPPPPPPPPPPPPQQPPQQPPPPPPPPPPPPPPPPQQQQPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPQQPPPPPPPPPPPPPPPPPPPPPPQQPPQQPPPPPPPPPPPPPPPPPPPPQQPPPPPPPPPPQQPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPQQPPQQPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPQQPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPQQPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPQQPPPPPPPPPPPPQQQQPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPQQPPPPPPPPPPPPPPPPPPPPPPPPQQPPPPPPQQPPPPPPPPPPPPPPPPPPQQPPPPPPPPPPPPQQPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPQQPPPPPPPPPPPPPPPPPPPPQQPPPPPPPPPPPPPPQQPPPPPPPPPPPPPPPPQQPPPPPPPPPPPPQQPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPQQPPPPPPQQPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPQQPPPPPPQQPPPPPPPPPPPPPPPPPPPPPPQQPPPPPPPPPPQQPPPPPPPPQQPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPQQPPPPPPPPPPPPPPQQPPPPPPPPPPPPPPPPPPPPQQPPPPPPQQPPQQPPPPPPPPPPPPQQQQPPQQPPQQPPPPPPPPQQPPPPPPQQPPPPPPPPPPPPPPPPPPPPQQPPQQPPQQQQPPPPPPPPQQPPPPPPPPPPPPQQPPPPPPPPPPPPQQQQPPPPQQPPQQPPQQPPPPPPPPQQPPPPPPQQPPPPPPPPQQPPPPQQPPQQQQQQPPPPPPPPPPQQQQPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPQQPPPPPPPPPPQQPPPPPPPPPPPPQQPPPPQQPPPPPPPPPPQQPPPPPPPPPPQQPPPPPPPPPPPPPPPPPPPPQQPPPPPPQQQQPPPPQQPPPPPPPPQQQQQQPPPPPPPPQQPPPPPPQQPPPPQQPPPPPPQQPPPPPPPPQQPPPPPPQQQQPPPPPPQQPPPPPPPPPPQQQQQQPPPPPPQQPPPPPPPPPPPPPPPPPPPPPPQQQQPPQQQQPPPPPPPPPPPPPPPPPPPPPPPPPPQQPPPPQQPPPPQQQQPPPPPPQQPPPPQQPPPPQQQQPPQQPPPPPPPPPPPPPPPPQQPPPPPPPPPPQQPPPPPPQQQQPPPPPPQQQQPPPPQQPPPPQQQQPPPPPPPPQQPPPPPPQQPPPPQQPPQQQQPPPPQQPPPPQQPPPPPPPPPPQQPPPPPPPPQQPPPPPPPPPPPPQQPPQQPPQQPPPPPPPPPPPPPPPPQQQQPPPPQQPPPPPPQQPPPPQQPPPPPPPPPPPPQQPPQQPPPPPPPPPPPPPPPPQQPPPPQQPPQQPPQQPPPPPPPPQQQQPPPPQQPPQQPPQQPPPPPPPPQQPPPPPPQQPPPPQQQQPPPPPPPPQQQQPPQQPPQQPPPPPPPPPPPPPPPPQQPPPPPPPPPPQQQQPPQQPPQQPPPPPPPPPPPPPPPPPPPPPPQQPPPPPPPPPPPPQQQQPPPPPPPPPPQQPPPPPPPPPPPPPPPPQQPPQQPPQQQQQQPPPPPPQQQQQQQQPPPPPPPPQQQQPPPPPPPPQQPPPPPPQQPPPPPPPPPPPPPPPPPPPPQQPPPPPPQQPPPPQQPPQQQQPPQQQQPPPPPPPPQQQQPPPPQQPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPQQPPPPPPPPPPQQPPPPPPPPPPPPPPPPQQPPPPPPQQPPPPPPPPPPPPPPQQPPQQQQPPPPPPPPPPPPPPPPPPPPQQPPPPPPPPPPPPQQQQPPQQPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPQQQQPPPPPPQQPPPPPPPPPPPPQQPPPPPPPPQQPPPPQQPPPPPPPPQQQQPPQQPPQQPPPPPPPPQQQQQQPPPPPPQQPPPPPPPPPPPPPPPPQQPPPPPPPPPPPPPPPPPPQQPPQQPPQQPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPQQPPPPQQPPPPQQQQQQPPPPPPPPPPPPQQPPPPPPPPQQPPPPPPPPPPPPQQPPPPPPPPPPQQQQPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPQQQQQQPPPPPPPPPPPPQQQQQQPPPPPPPPPPQQQQPPPPPPPPPPPPPPPPPPQQPPPPPPPPPPPPPPQQPPQQPPQQPPPPPPPPQQPPPPPPPPPPQQPPQQPPPPPPQQPPPPPPQQPPQQPPQQPPPPPPQQPPPPPPQQPPQQPPPPPPPPPPPPQQQQQQPPQQQQPPPPPPPPQQPPPPQQPPQQQQPPQQPPPPPPPPPPPPPPPPPPPPQQPPPPQQPPQQQQPPPPPPPPPPPPPPPPPPQQPPQQPPPPPPQQPPPPPPQQPPPPPPPPPPPPPPPPPPQQPPPPPPPPQQPPPPPPPPPPPPPPPPQQPPPPQQQQPPPPPPPPQQPPPPPPPPPPQQPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPQQPPPPPPPPPPPPPPPPPPQQPPPPPPPPQQPPPPQQPPPPPPPPPPPPQQPPPPPPPPPPPPPPPPPPPPPPPPPPPPQQQQQQPPPPPPPPQQPPPPPPPPPPPPQQPPPPPPPPQQPPPPQQQQPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPQQPPPPPPPPPPPPPPQQPPPPPPQQPPQQPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPQQPPPPQQPPQQPPPPPPPPPPPPPPQQPPPPPPPPPPPPPPPPPPQQPPPPPPPPQQQQPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPQQPPPPPPPPPPPPPPPPPPPPPPQQQQPPPPQQPPPPQQPPQQPPPPPPPPPPPPPPPPPPPPQQPPPPPPQQPPQQPPPPPPPPPPPPPPPPPPPPPPQQPPPPPPPPPPPPQQPPPPPPPPPPPPPPPPPPPPQQPPPPPPPPPPPPPPPPPPPPPPPPPPQQPPPPPPQQPPPPPPPPPPPPPPPPPPPPPPQQPPPPPPPPPPPPPPPPPPPPPPPPPPPPQQQQPPQQPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPQQQQPPQQPPPPPPPPPPPPPPPPQQPPQQPPPPQQPPPPPPPPPPPPPPPPPPPPPPPPPPQQPPPPPPPPPPPPPPPPQQQQPPPPQQQQPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPQQPPPPPPPPPPPPPPPPPPPPQQPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPQQPPPPPPPPPPPPQQPPPPPPPPPPPPPPPPPPPPPPQQQQPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPQQPPPPPPPPPPPPPPPPPPPPPPQQPPQQPPPPPPPPPPPPPPPPPPPPPPPPPPQQQQPPPPQQPPPPPPPPPPPPQQPPPPPPQQPPPPPPQQPPPPPPPPPPQQPPPPPPPPPPPPPPQQQQPPQQPPPPPPPPQQPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPQQQQPPPPQQPPPPQQPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPQQPPPPQQPPQQPPPPPPQQQQPPPPPPQQPPPPPPPPQQPPPPPPPPPPPPPPPPPPPPQQPPQQPPQQPPPPPPPPPPQQQQPPPPPPPPQQQQPPPPQQPPPPPPPPPPQQPPPPPPQQPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPQQPPPPPPQQPPPPPPPPPPPPPPQQPPPPQQPPQQPPPPPPPPPPPPPPQQPPPPQQPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPQQQQPPPPPPPPPPPPQQQQPPPPPPQQPPPPPPPPPPPPQQPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPQQPPPPQQQQPPPPPPPPPPPPPPQQPPPPPPPPPPPPPPPPQQPPQQPPPPPPPPQQPPPPPPPPPPQQPPQQPPPPPPPPPPPPPPPPPPPPQQPPPPQQPPQQPPPPPPPPPPPPPPPPQQPPPPPPPPPPPPPPPPPPPPPPQQPPPPPPPPQQPPPPPPPPPPPPPPQQPPPPPPPPPPPPPPPPPPPPQQPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPQQPPPPPPPPPPQQPPPPQQQQQQPPPPPPPPQQPPPPPPPPPPPPPPPPPPPPQQPPPPQQPPPPPPPPPPPPPPPPPPPPPPQQPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPQQQQPPPPPPQQPPPPPPPPPPPPPPPPQQPPPPPPPPPPPPPPQQPPPPPPPPPPPPPPPPPPQQPPPPPPPPPPPPPPPPPPPPPPPPPPQQPPPPPPPPPPPPPPPPQQPPPPPPQQPPQQPPPPPPPPPPPPQQQQPPQQPPQQPPPPPPPPQQPPPPPPQQPPPPPPPPPPPPPPPPPPPPQQPPQQPPQQQQPPPPPPPPQQPPPPPPPPPPPPQQPPPPPPPPPPPPQQQQPPPPQQPPQQPPQQPPPPPPPPQQPPPPPPQQPPPPPPPPQQPPPPQQPPQQQQQQPPPPPPPPPPQQQQPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPQQPPPPPPPPPPQQPPPPPPPPPPPPQQPPPPQQPPPPPPPPPPQQPPPPPPPPPPQQPPPPPPPPPPPPPPPPPPPPQQPPPPPPQQQQPPPPQQPPPPPPPPQQQQQQPPPPPPPPQQPPPPPPQQPPPPQQPPPPPPQQPPPPPPPPQQQQPPPPQQQQPPPPPPQQPPPPPPPPPPQQQQQQPPPPPPQQPPPPPPPPPPPPPPPPPPPPPPQQQQPPQQQQPPPPPPPPPPPPPPPPPPPPPPPPPPQQPPPPQQPPPPQQQQPPPPPPQQPPPPQQPPPPQQQQPPQQPPPPPPPPPPPPPPPPQQPPPPPPPPPPQQPPPPPPQQQQPPPPPPQQQQPPPPQQPPPPQQQQPPPPPPPPQQPPPPPPQQPPPPQQPPQQQQPPPPQQPPPPQQPPPPPPPPPPQQPPPPPPPPQQPPPPPPPPPPPPQQPPQQPPQQPPPPPPPPPPPPPPPPQQQQPPPPQQPPPPPPQQPPPPQQPPPPPPPPPPPPQQPPQQPPPPPPPPPPPPPPPPQQPPPPQQPPQQPPQQPPPPPPPPQQQQPPPPQQPPQQPPQQPPPPPPPPQQPPPPPPQQPPPPQQQQPPPPPPPPQQQQPPQQPPQQPPPPPPPPPPPPPPPPQQPPPPPPPPPPQQQQPPQQPPQQPPPPPPPPPPPPPPPPPPPPPPQQPPPPPPPPPPPPQQQQPPPPPPPPPPQQPPPPPPPPPPPPPPPPQQPPQQPPQQQQQQPPPPPPQQQQQQQQPPPPPPPPQQQQPPPPPPPPQQPPPPPPQQPPPPPPPPPPPPPPPPPPPPQQPPPPPPQQPPPPQQPPQQQQPPQQQQPPPPPPPPQQQQPPPPQQPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPQQPPPPPPPPPPQQPPPPPPPPPPPPPPPPQQPPPPPPQQPPPPPPPPPPPPPPQQPPQQQQPPPPPPPPPPPPPPPPPPPPQQPPPPPPPPPPPPQQQQPPQQPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPQQQQPPPPPPQQPPPPPPPPPPPPQQPPPPPPPPQQPPPPQQPPPPPPPPQQQQPPQQPPQQPPPPPPPPQQQQQQPPPPPPQQPPPPPPPPPPPPPPPPQQPPPPPPPPPPPPPPPPPPQQPPQQPPQQPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPQQPPPPQQPPPPQQQQQQPPPPPPPPPPPPQQPPPPPPPPQQPPPPPPPPPPPPQQPPPPPPPPPPQQQQPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPQQQQQQPPPPPPPPPPPPQQQQQQPPPPPPPPPPQQQQPPPPPPPPPPPPPPPPPPQQPPPPPPPPPPPPPPQQPPQQPPQQPPPPPPPPQQPPPPPPPPPPQQPPQQPPPPPPQQPPPPPPQQPPQQPPQQPPPPPPQQPPPPPPQQPPQQPPPPPPPPPPPPQQQQQQPPQQQQPPPPPPPPQQPPPPQQPPQQQQPPQQPPPPPPPPPPPPPPPPPPPPQQPPPPQQPPQQQQPPPPPPPPPPPPPPPPPPQQPPQQPPPPPPQQPPPPPPQQPPPPPPPPPPPPPPPPPPQQPPPPPPPPQQPPPPPPPPPPPPPPPPQQPPPPQQQQPPPPPPPPQQPPPPPPPPPPQQPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPQQPPPPPPPPPPPPPPPPPPQQPPPPPPPPQQPPPPQQPPPPPPPPPPPPQQPPPPPPPPPPPPPPPPPPPPPPPPPPPPQQQQQQPPPPPPPPQQPPPPPPPPPPPPQQPPPPPPPPQQPPPPQQQQPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPQQPPPPPPPPPPPPPPQQPPPPPPQQPPQQPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPQQPPPPQQPPQQPPPPPPPPPPPPPPQQPPPPPPPPPPPPPPPPPPQQPPPPPPPPQQQQPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPQQPPPPPPPPPPPPPPPPPPPPPPQQQQPPPPQQPPPPQQPPQQPPPPPPPPPPPPPPPPPPPPQQPPPPPPQQPPQQPPPPPPPPPPPPPPPPPPPPPPQQPPPPPPPPPPPPQQPPPPPPPPPPPPPPPPPPPPQQPPPPPPPPPPPPPPPPPPPPPPPPPPQQPPPPPPQQPPPPPPPPPPPPPPPPPPPPPPQQPPPPPPPPPPPPPPPPPPPPPPPPPPPPQQQQPPQQPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPQQQQPPQQPPPPPPPPPPPPPPPPQQPPQQPPPPQQPPPPPPPPPPPPPPPPPPPPPPPPPPQQPPPPPPPPPPPPPPPPQQQQPPPPQQQQPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPQQPPPPPPPPPPPPPPPPPPPPQQPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPQQPPPPPPPPPPPPQQPPPPPPPPPPPPPPPPPPPPPPQQQQPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPQQPPPPPPPPPPPPPPPPPPPPPPQQPPQQPPPPPPPPPPPPPPPPPPPPPPPPPPQQQQPPPPQQPPPPPPPPPPPPQQPPPPPPQQPPPPPPQQPPPPPPPPPPQQPPPPPPPPPPPPPPQQQQPPQQPPPPPPPPQQPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPQQQQPPPPQQPPPPQQPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPQQPPPPQQPPQQPPPPPPQQQQPPPPPPQQPPPPPPPPQQPPPPPPPPPPPPPPPPPPPPQQPPQQPPQQPPPPPPPPPPQQQQPPPPPPPPQQQQPPPPQQPPPPPPPPPPQQPPPPPPQQPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPQQPPPPPPQQPPPPPPPPPPPPPPQQPPPPQQPPQQPPPPPPPPPPPPPPQQPPPPQQPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPQQQQPPPPPPPPPPPPQQQQPPPPPPQQPPPPPPPPPPPPQQPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPQQPPPPQQQQPPPPPPPPPPPPPPQQPPPPPPPPPPPPPPPPQQPPQQPPPPPPPPQQPPPPPPPPPPQQPPQQPPPPPPPPPPPPPPPPPPPPQQPPPPQQPPQQPPPPPPPPPPPPPPPPQQPPPPPPPPPPPPPPPPPPPPPPQQPPPPPPPPQQPPPPPPPPPPPPPPQQPPPPPPPPPPPPPPPPPPPPQQPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPQQPPPPPPPPPPQQPPPPQQQQQQPPPPPPPPQQPPPPPPPPPPPPPPPPPPPPQQPPPPQQPPPPPPPPPPPPPPPPPPPPPPQQPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPQQQQPPPPPPQQPPPPPPPPPPPPPPPPQQPPPPPPPPPPPPPPQQPPPPPPPPPPPPPPPPPPQQPPPPPPPPPPPPPPPPPPPPPPPPPPQQPPPPPPPPPPPPPPPPPPQQQQPPQQQQQQQQQQPPPPQQQQQQQQQQPPQQPPPPPPQQQQPPPPPPQQQQPPPPQQPPPPQQPPPPPPPPQQPPQQQQPPPPQQQQPPPPQQPPQQQQPPQQQQPPPPPPQQQQQQPPQQQQQQQQPPPPQQPPPPPPPPPPPPPPPPPPPPPPQQQQPPPPPPPPQQPPQQPPPPQQQQPPPPQQPPPPPPQQPPPPPPPPPPPPPPQQPPQQQQQQPPQQPPQQQQPPPPPPPPQQPPQQPPPPPPPPPPQQPPQQQQQQQQQQQQPPPPPPQQQQQQPPPPPPQQQQQQPPPPPPPPQQPPPPPPPPPPPPQQPPPPPPPPQQQQPPQQQQPPPPPPQQQQPPPPPPQQPPPPPPQQQQQQQQQQPPPPQQPPPPPPPPPPPPQQPPQQPPQQPPPPPPPPQQQQPPQQQQQQPPQQPPQQPPPPPPPPQQPPQQPPQQPPPPPPQQQQPPQQQQPPPPQQQQQQPPPPPPPPPPPPQQQQPPPPPPQQQQPPQQQQPPPPQQQQPPPPPPPPQQQQQQPPPPPPPPPPPPQQPPPPPPPPPPQQPPQQPPQQQQPPPPPPPPQQPPPPQQPPQQPPQQQQPPPPQQQQPPQQPPQQPPPPPPPPPPPPPPPPPPPPPPPPQQQQPPPPPPPPQQPPPPPPPPPPPPPPPPPPQQQQPPQQQQPPQQPPQQPPPPQQPPQQPPPPQQQQPPQQPPPPPPPPQQQQPPPPPPPPPPPPPPPPQQPPQQPPPPPPQQPPPPPPPPPPQQPPPPPPPPQQPPPPPPPPQQPPPPQQPPPPPPPPQQPPPPQQQQPPPPPPQQPPPPPPPPPPPPPPPPQQPPPPPPQQQQPPPPPPPPQQPPPPPPPPPPPPPPPPPPQQQQPPPPQQPPQQPPQQPPPPQQPPPPPPPPQQQQPPPPPPPPPPPPQQQQPPPPPPPPQQPPPPPPPPPPQQPPQQQQQQPPQQPPPPPPPPQQPPPPPPPPQQPPPPQQQQPPQQPPQQPPPPQQPPPPPPQQPPPPPPPPQQQQPPPPPPPPPPPPPPPPQQQQPPPPPPPPPPPPPPPPPPPPPPQQPPQQPPPPPPQQPPQQPPQQQQPPPPPPPPQQPPPPQQPPQQPPQQPPQQPPPPPPQQQQPPQQPPPPPPPPQQPPPPPPPPPPQQPPPPQQPPQQPPPPPPPPPPPPPPPPQQPPQQQQPPQQPPQQPPPPPPPPQQQQQQPPQQPPPPPPPPPPPPPPQQPPQQQQPPQQPPQQQQPPPPQQPPPPQQQQPPPPQQQQPPQQPPPPPPQQQQPPPPQQPPQQPPPPQQPPPPPPQQQQPPPPQQQQQQPPQQQQPPQQQQPPQQQQQQPPPPPPPPQQQQPPPPPPPPQQPPPPQQPPPPQQPPPPQQPPPPPPPPQQPPPPQQPPPPPPPPQQPPQQPPQQPPPPQQPPPPPPPPQQPPPPQQPPPPQQPPPPQQPPPPPPPPPPPPPPQQPPPPPPQQPPPPQQPPPPPPPPPPPPPPPPPPPPPPPPPPPPQQQQPPQQQQQQPPPPPPPPQQQQPPPPPPQQQQPPQQPPQQQQPPQQPPQQQQPPQQQQQQPPPPPPPPQQPPPPQQQQPPPPPPQQPPPPQQQQPPPPPPPPQQQQPPPPPPQQPPQQPPPPPPPPPPPPQQPPPPPPPPQQPPQQQQPPQQQQPPPPPPQQPPPPPPPPPPPPQQPPPPQQPPPPPPPPQQPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPQQPPPPPPPPQQPPPPQQQQQQPPPPPPPPPPPPPPPPPPPPPPPPQQPPQQPPPPQQPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPQQQQPPPPQQPPPPPPPPPPPPPPQQPPPPQQPPPPQQPPPPPPPPPPPPPPQQPPPPPPPPPPQQPPPPQQPPPPQQPPQQPPPPPPPPPPQQPPQQPPPPPPPPQQPPQQQQPPPPPPPPPPPPQQPPPPPPQQQQPPPPQQQQPPPPPPQQQQQQQQPPPPPPPPQQPPPPPPPPQQPPPPPPPPPPQQQQPPPPPPPPQQPPPPPPPPPPQQPPQQPPPPQQQQPPPPPPQQQQPPPPPPPPPPQQPPPPQQPPPPPPPPPPQQPPQQPPPPQQPPPPPPQQPPQQPPPPQQPPQQPPQQPPPPPPPPPPPPQQPPPPPPPPPPPPPPPPPPPPPPPPQQQQPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPQQQQPPQQPPPPPPPPQQQQPPQQPPPPPPPPPPQQPPQQPPQQPPPPPPQQPPPPPPQQQQQQQQQQQQPPQQPPPPPPPPPPPPQQQQPPPPPPPPPPQQQQPPQQPPPPQQPPPPQQPPPPQQQQPPPPQQPPPPPPPPQQQQPPPPPPQQQQPPQQPPPPPPQQPPQQPPPPPPPPPPPPQQPPPPPPPPPPPPQQPPPPQQPPPPPPQQPPPPPPPPQQPPPPPPPPPPPPQQPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPQQPPPPQQQQPPPPPPPPPPQQPPPPQQQQPPPPPPPPPPPPPPQQPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPQQQQPPPPPPQQPPPPPPPPPPPPPPQQPPPPPPPPPPPPPPPPPPQQPPPPPPPPPPPPPPPPQQQQQQPPPPPPPPQQPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPQQQQQQQQPPPPPPQQPPPPQQQQPPPPPPPPPPQQPPPPPPPPQQQQQQPPPPPPPPQQPPQQPPQQPPPPPPPPPPPPPPPPPPPPPPPPQQPPPPPPPPPPPPPPPPPPPPPPPPQQQQPPPPQQPPPPQQPPPPPPPPPPPPPPPPPPQQQQQQQQPPQQPPPPPPPPQQPPPPPPPPPPQQPPPPQQPPPPPPPPPPPPQQPPPPPPPPQQPPPPPPPPQQPPQQPPPPPPPPPPQQQQQQPPPPPPPPQQPPQQPPPPPPPPPPPPPPPPPPPPPPPPQQQQQQPPPPPPQQPPPPPPPPQQPPPPPPPPQQPPPPPPQQPPPPPPQQPPQQPPPPPPPPPPPPPPPPPPPPPPPPPPPPQQQQPPQQPPPPPPPPPPPPQQPPPPQQPPPPQQPPPPPPPPPPPPPPPPQQPPPPQQPPPPPPPPPPPPPPQQPPQQPPPPQQPPPPPPPPPPPPPPPPQQQQPPPPPPQQPPPPPPQQPPPPQQQQPPQQPPPPPPPPPPPPPPPPPPPPPPPPQQPPPPQQPPPPPPPPPPPPPPPPPPQQPPPPPPQQPPPPPPPPPPPPPPPPQQPPQQPPQQPPQQQQPPPPPPQQQQQQPPQQQQPPPPPPQQPPQQPPPPPPQQPPPPPPQQPPQQPPQQPPPPPPPPPPPPPPPPQQPPPPPPPPQQQQPPPPPPPPPPPPQQPPPPPPPPPPPPPPPPPPPPPPPPPPQQPPPPPPPPPPPPPPQQPPPPQQPPPPPPPPPPPPPPPPPPPPPPPPPPPPQQPPPPQQPPPPPPPPPPPPPPPPQQPPPPPPQQPPPPPPPPPPPPPPPPPPPPPPQQPPQQQQPPPPPPPPPPPPPPPPPPPPPPQQPPPPPPPPPPPPPPQQPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPQQPPPPQQPPPPPPPPPPPPPPPPPPPPPPPPPPPPQQPPPPPPPPPPPPQQPPPPQQPPPPPPPPPPPPPPPPPPPPPPQQPPPPPPPPPPPPPPQQPPPPPPPPPPPPPPPPPPPPPPPPPPQQPPPPPPQQPPPPQQPPPPPPPPPPPPPPQQPPQQPPPPPPQQPPPPPPPPQQPPPPPPPPPPPPPPPPPPQQQQPPQQPPPPPPPPQQPPPPPPPPPPQQPPPPPPPPPPQQPPQQQQPPPPPPQQPPPPPPPPPPQQQQPPQQQQQQQQQQPPPPQQQQQQQQQQPPQQPPPPPPQQQQPPPPPPQQQQPPPPQQPPPPQQPPPPPPPPQQPPQQQQPPPPQQQQPPPPQQPPQQQQPPQQQQPPPPPPQQQQQQPPQQQQQQQQPPPPQQPPPPPPPPPPPPPPPPPPPPPPQQQQPPPPPPPPQQPPQQPPPPQQQQPPQQQQPPPPPPQQPPPPPPPPPPPPPPQQPPQQQQQQPPQQPPQQQQPPPPPPPPQQPPQQPPPPPPPPPPQQPPQQQQQQQQQQQQPPQQPPQQQQQQPPPPPPQQQQQQPPPPPPPPQQPPPPPPPPPPPPQQPPPPPPPPQQQQPPQQQQPPPPPPQQQQPPPPPPQQPPPPPPQQQQQQQQQQPPPPQQQQPPPPPPPPPPQQPPQQPPQQPPPPPPPPQQQQPPQQQQQQPPQQPPQQPPPPPPPPQQPPQQPPQQPPPPPPQQQQPPQQQQPPPPQQQQQQPPPPPPPPPPPPQQQQPPPPPPQQQQPPQQQQPPPPQQQQPPPPPPPPQQQQQQPPPPPPPPPPPPQQPPPPPPPPPPQQPPQQPPQQQQPPPPPPPPQQPPPPQQPPQQPPQQQQPPPPQQQQPPQQPPQQPPPPPPPPPPPPPPPPPPPPPPPPQQQQPPPPPPPPQQPPPPPPPPPPPPPPPPPPQQQQPPQQQQPPQQPPQQPPPPQQPPQQPPPPQQQQPPQQPPPPPPPPQQQQPPPPPPPPPPPPPPPPQQPPQQPPPPPPQQPPPPPPPPPPQQPPPPPPPPQQPPPPPPPPQQPPPPQQPPPPPPPPQQPPPPQQQQPPPPPPQQPPPPPPPPPPPPPPPPQQPPPPPPQQQQPPPPPPPPQQPPPPPPPPPPPPPPPPPPQQQQPPPPQQPPQQPPQQPPPPQQPPPPPPPPQQQQPPPPPPPPPPPPQQQQPPPPPPPPQQPPPPPPPPPPQQPPQQQQQQPPQQPPPPPPPPQQPPPPPPPPQQPPPPQQQQPPQQPPQQPPPPQQPPPPPPQQPPPPPPPPQQQQPPPPPPPPPPPPPPPPQQQQPPPPPPPPPPPPPPPPPPPPPPQQPPQQPPPPPPQQPPQQPPQQQQPPPPPPPPQQPPPPQQPPQQPPQQPPQQPPPPPPQQQQPPQQPPPPPPPPQQPPPPPPPPPPQQPPPPQQPPQQPPPPPPPPPPPPPPPPQQPPQQQQPPQQPPQQPPPPPPPPQQQQQQPPQQPPPPPPPPPPPPPPQQPPQQQQPPQQPPQQQQPPPPQQPPPPQQQQPPPPQQQQPPQQPPPPPPQQQQPPPPQQPPQQPPPPQQPPPPPPQQQQPPPPQQQQQQPPQQQQPPQQQQPPQQQQQQPPPPPPPPQQQQPPPPPPPPQQPPPPQQPPPPQQPPPPQQPPPPPPPPQQPPPPQQPPPPPPPPQQPPQQPPQQPPPPQQPPPPPPPPQQPPPPQQPPPPQQPPPPQQPPPPPPPPPPPPPPQQPPPPPPQQPPPPQQPPPPPPPPPPPPPPPPPPPPPPPPPPPPQQQQPPQQQQQQPPPPPPPPQQQQPPPPPPQQQQPPQQPPQQQQPPQQPPQQQQPPQQQQQQPPPPPPPPQQPPQQQQQQPPPPPPQQPPPPQQQQPPPPPPPPQQQQPPPPPPQQPPQQPPPPPPPPPPPPQQPPPPPPPPQQPPQQQQPPQQQQPPPPPPQQPPPPPPPPPPPPQQPPPPQQPPPPPPPPQQPPPPPPPPPPPPPPPPQQPPPPPPPPPPPPPPPPPPQQPPPPPPPPQQPPPPQQQQQQPPPPPPPPPPPPPPPPPPPPPPPPQQPPQQPPPPQQPPPPPPPPPPPPPPPPPPPPPPPQPPPPPPPPPPQQQQPPPPQQPPPPPPPPPPPPPPQQPPPPQQPPPPQQPPPPPPPPPPPPPPQQPPPPPPPPPPQQPPPPQQPPPPQQPPQQPPPPPPPPPPQQPPQQPPPPPPPPQQPPQQQQPPPPPPPPPPPPQQPPPPPPQQQQPPPPQQQQPPPPPPQQQQQQQQPPPPPPPPQQPPPPPPPPQQPPPPPPPPPPQQQQPPPPPPPPQQPPPPPPPPPPQQPPQQPPPPQQQQPPPPPPQQQQPPPPPPPPPPQQPPPPQQPPPPPPPPPPQQPPQQPPPPQQPPPPPPQQPPQQPPPPQQPPQQPPQQPPPPPPPPPPPPQQPPPPPPPPPPPPPPPPPPPPPPPPQQQQPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPQQQQPPQQPPPPPPPPQQQQPPQQPPPPPPPPPPQQPPQQPPQQPPPPPPQQPPPPPPQQQQQQQQQQQQPPQQPPPPPPPPPPPPQQQQPPPPPPPPPPQQQQPPQQPPPPQQPPPPQQPPPPQQQQPPPPQQPPPPPPPPQQQQPPPPPPQQQQPPQQPPPPPPQQPPQQPPPPPPPPPPPPQQPPPPPPPPPPPPQQPPPPQQPPPPPPQQPPPPPPPPQQPPPPPPPPPPPPQQPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPQQPPPPQQQQPPPPPPPPPPQQPPPPQQQQPPPPPPPPPPPPPPQQPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPQQQQPPPPPPQQPPPPPPPPPPPPPPQQPPPPPPPPPPPPPPPPPPQQPPPPPPPPPPPPPPPPQQQQQQPPPPPPPPQQPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPQQQQQQQQPPPPPPQQPPPPQQQQPPPPPPPPPPQQPPPPPPPPQQQQQQPPPPPPPPQQPPQQPPQQPPPPPPPPPPPPPPPPPPPPPPPPQQPPPPPPPPPPPPPPPPPPPPPPPPQQQQPPPPQQPPPPQQPPPPPPPPPPPPPPPPPPQQQQQQQQPPQQPPPPPPPPQQQQPPPPPPPPQQPPPPQQPPPPPPPPPPPPQQPPPPPPPPQQPPPPPPPPQQPPQQPPPPPPPPPPQQQQQQPPPPPPPPQQPPQQPPPPPPPPPPPPPPPPPPPPPPPPQQQQQQPPPPPPQQPPPPPPPPQQPPPPPPPPQQPPPPPPQQPPPPPPQQPPQQPPPPPPPPPPPPPPPPPPPPPPPPPPPPQQQQPPQQPPPPPPPPPPPPQQPPPPQQPPPPQQPPPPPPPPPPPPPPPPQQPPPPQQPPPPPPPPPPPPPPQQPPQQPPPPQQPPPPPPPPPPPPPPPPQQQQPPPPPPQQPPPPPPQQPPPPQQQQPPQQPPPPPPPPPPPPPPPPPPPPPPPPQQPPPPQQPPPPPPPPPPPPPPPPPPQQPPPPPPQQPPPPPPPPPPPPPPPPQQPPQQPPQQPPQQQQPPPPPPQQQQQQPPQQQQPPPPPPQQPPQQPPPPPPQQPPPPPPQQPPQQPPQQPPPPPPPPPPPPPPPPQQPPPPPPPPQQQQPPPPPPPPPPPPQQPPPPPPPPPPPPPPPPPPPPPPPPPPQQPPPPPPPPPPPPPPQQPPPPQQPPPPPPPPPPPPPPPPPPPPPPPPPPPPQQPPPPQQPPPPPPPPPPPPPPPPQQPPPPPPQQPPPPPPPPPPPPPPPPPPPPPPQQPPQQQQPPPPPPPPPPPPPPPPPPPPPPQQPPPPPPPPPPPPPPQQPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPQQPPPPQQPPPPPPPPPPPPPPPPPPPPPPPPPPPPQQPPPPPPPPPPPPQQPPPPQQPPPPPPPPPPPPPPPPPPPPPPQQPPPPPPPPPPPPPPQQPPPPPPPPPPPPPPPPPPPPPPPPPPQQPPPPPPQQPPPPQQPPPPPPPPPPPPPPQQPPQQPPPPPPQQPPPPPPPPQQPPPPPPPPPPPPPPPPPPQQQQPPQQPPPPPPPPQQPPPPPPPPPPQQPPPPPPPPPPQQPPQQQQPPPPPPQQPPPPPPPPPPQQQQQQPPQQPPPPPPPPQQPPPPQQQQQQPPPPQQQQPPQQPPQQPPQQPPPPPPPPQQQQPPPPQQQQQQPPQQQQPPQQQQQQQQQQQQQQQQPPPPPPQQPPPPQQQQPPQQPPPPPPQQPPQQPPQQQQQQQQQQPPQQQQQQQQPPQQQQQQPPQQQQQQQQQQPPQQQQPPQQQQQQQQPPQQQQPPPPQQQQQQPPQQQQQQQQQQQQPPPPPPQQQQQQQQPPQQQQQQQQQQQQPPPPPPQQQQQQQQPPQQPPQQPPPPPPPPPPQQPPQQQQQQQQQQQQQQPPPPQQPPQQQQQQPPQQQQQQPPQQPPQQPPQQQQQQPPQQQQQQQQQQQQPPPPQQQQQQPPPPQQQQQQPPQQQQPPQQQQQQQQQQQQQQPPPPPPQQQQQQQQQQQQQQQQPPQQQQPPQQQQPPQQQQPPQQQQQQPPPPQQPPPPPPPPQQQQQQPPQQPPPPQQPPPPQQQQQQQQQQQQPPQQQQPPPPQQQQPPQQPPPPQQQQQQPPPPPPQQPPQQQQPPQQPPPPPPPPPPQQQQPPQQPPPPQQPPQQQQQQPPQQQQQQQQQQQQQQQQPPPPPPPPQQQQQQQQQQPPQQPPPPQQQQQQPPQQPPQQPPQQQQQQQQPPQQQQPPQQQQQQQQPPPPPPQQPPPPQQQQQQQQQQQQPPPPQQQQQQPPQQQQPPQQPPPPQQPPQQPPQQQQQQQQQQQQQQQQQQPPPPPPQQQQQQPPPPPPPPPPQQQQQQQQQQPPQQPPQQQQQQQQQQQQQQQQQQQQQQQQPPPPPPPPQQQQQQPPQQPPQQPPPPQQPPQQPPPPPPQQPPQQQQPPQQQQQQQQPPPPQQQQQQPPPPQQPPPPPPQQQQQQQQQQQQPPPPQQQQQQQQPPQQQQQQPPPPQQPPQQPPQQQQQQQQPPQQQQQQQQPPPPPPQQPPQQPPQQQQPPQQQQQQQQQQQQQQPPQQPPPPPPPPPPQQPPQQPPPPPPQQQQQQQQQQQQPPPPQQQQQQQQPPQQQQQQPPQQPPQQPPQQQQQQQQPPPPQQPPQQPPPPPPQQQQPPQQQQQQQQPPQQPPPPPPQQPPPPQQPPQQQQQQQQQQQQQQQQPPQQQQQQQQPPPPPPPPQQQQPPQQQQQQQQPPPPQQQQQQQQPPPPPPPPQQQQQQPPPPPPQQQQQQQQQQPPQQQQPPQQQQQQQQPPPPQQQQQQQQQQQQPPPPPPQQQQPPQQQQQQQQQQPPQQPPPPPPQQPPQQQQPPPPPPQQQQPPQQQQQQQQQQQQQQPPPPPPPPPPQQPPPPQQQQQQQQPPQQPPPPPPPPPPQQPPQQQQQQPPPPQQPPPPPPPPPPPPPPPPQQPPQQQQQQPPQQPPPPQQPPPPPPPPPPQQPPQQPPPPPPQQQQQQQQQQPPQQPPPPQQPPQQPPQQPPPPPPPPPPQQQQQQPPQQPPQQPPPPPPQQPPPPQQQQPPQQQQPPQQQQQQPPPPPPQQPPPPQQQQPPPPQQQQPPQQPPQQPPQQQQQQQQQQPPQQPPPPPPQQPPQQPPPPPPQQQQPPPPPPQQQQPPQQQQQQQQPPPPPPQQQQPPQQPPPPPPQQPPPPQQQQQQPPPPQQQQQQQQQQQQPPQQQQPPPPPPQQQQPPPPQQPPQQQQPPPPPPPPPPQQQQPPQQQQPPQQPPPPQQQQPPQQQQPPPPPPPPPPQQPPQQQQQQPPPPPPQQQQPPQQPPPPPPPPQQPPPPQQPPPPQQQQQQPPPPQQQQPPPPPPPPQQPPQQQQPPQQPPQQQQQQPPPPQQPPPPPPPPPPPPQQQQQQPPQQPPQQPPPPPPPPQQPPPPQQPPQQPPPPQQQQQQPPPPQQPPQQQQPPPPQQQQPPQQQQPPPPPPQQPPPPQQPPPPPPPPQQPPQQQQPPPPPPQQPPPPQQQQQQPPPPPPPPQQQQPPQQQQPPQQQQPPQQQQQQPPQQPPQQPPPPQQQQPPPPQQPPPPQQPPQQPPPPPPPPQQPPQQQQQQPPPPPPQQQQPPPPQQQQQQPPQQQQPPPPQQQQPPQQPPQQQQPPPPQQQQPPPPPPPPPPPPPPQQPPQQPPQQPPQQQQQQPPPPPPQQPPPPQQQQQQPPPPPPPPPPPPQQQQQQPPQQQQPPPPPPPPQQPPQQPPQQPPQQQQQQQQQQPPPPQQQQPPPPQQPPPPPPQQQQQQPPPPPPPPQQQQPPPPPPQQQQPPQQPPPPPPPPPPQQPPPPPPQQQQPPQQQQQQQQPPPPPPQQPPQQPPPPQQQQPPPPPPPPPPPPPPPPQQQQPPPPQQPPPPPPPPPPPPQQQQQQPPQQPPPPPPQQQQPPQQQQQQPPQQPPPPPPQQQQPPPPPPQQPPQQQQQQPPPPPPQQPPQQPPQQQQQQPPPPQQPPQQPPQQPPQQPPQQPPPPPPQQPPQQPPPPPPQQPPQQQQPPPPPPPPPPQQQQQQPPPPQQQQPPQQPPPPPPPPQQPPPPPPQQQQQQQQQQPPQQPPQQQQPPPPPPPPQQPPPPQQQQQQPPQQPPQQQQPPPPQQQQQQPPQQPPQQQQQQPPPPPPQQPPQQPPQQPPQQQQPPQQQQPPQQPPPPPPPPQQPPPPPPQQPPPPPPQQQQQQPPQQQQPPPPPPPPQQQQQQQQQQPPQQPPQQPPPPPPPPQQPPPPPPQQPPPPPPPPPPPPQQPPPPPPPPPPQQPPPPQQQQPPPPPPQQPPPPPPQQQQQQQQQQQQQQQQQQQQPPPPPPPPQQPPQQQQPPQQPPPPQQPPPPPPQQPPPPPPPPPPPPQQQQPPPPPPPPPPPPPPPPPPPPQQQQPPQQPPQQQQQQPPPPPPQQPPQQPPPPPPPPQQPPQQPPQQQQQQQQPPPPQQPPQQPPPPQQPPQQPPQQPPQQQQQQPPPPQQQQQQPPPPPPPPPPPPQQPPPPQQQQPPPPPPPPPPPPQQPPQQPPQQPPPPPPQQQQPPQQQQPPPPPPQQPPQQQQQQPPPPQQPPQQPPQQPPQQPPPPPPPPPPPPPPPPQQQQQQPPQQPPQQQQPPPPQQPPPPPPPPPPQQPPPPPPPPPPPPQQPPPPQQQQQQPPPPPPPPQQPPQQQQQQPPPPPPPPQQQQQQQQQQPPQQPPQQPPPPPPPPPPPPQQPPPPQQQQQQQQPPQQQQPPPPPPPPPPQQPPPPPPPPPPPPQQPPQQPPQQQQPPPPQQPPPPQQPPPPPPPPPPQQPPPPQQPPPPPPQQPPPPPPPPPPQQQQQQPPPPPPQQPPPPPPQQQQQQPPPPPPQQPPQQQQQQPPPPQQPPQQPPPPPPPPQQPPPPQQPPQQPPPPPPQQPPQQPPPPPPQQPPQQQQQQPPPPQQPPPPPPPPPPQQPPQQPPPPQQQQQQPPPPPPPPQQQQPPPPPPPPPPQQPPQQQQPPPPPPPPPPPPPPPPPPPPPPPPPPQQPPPPQQQQPPPPPPPPPPPPPPPPPPPPPPPPPPQQQQQQQQPPQQPPPPPPQQPPQQPPPPPPQQPPPPPPPPPPPPPPPPPPQQQQPPPPPPPPPPPPPPPPPPQQPPPPQQPPPPPPQQQQPPPPPPPPQQQQPPPPPPPPPPPPQQPPPPQQPPPPPPPPPPPPPPPPPPPPQQPPQQPPPPPPQQQQPPQQQQQQPPPPPPPPPPPPQQPPPPPPQQQQPPPPQQPPQQPPPPQQPPQQPPPPPPPPQQPPQQQQPPQQPPPPQQQQPPPPPPPPQQPPQQPPPPPPPPPPQQPPPPPPPPPPQQPPPPPPQQPPPPPPQQPPQQQQPPPPPPQQPPQQQQPPQQQQQQPPQQPPPPPPPPPPPPPPPPQQQQPPQQQQPPQQPPPPPPPPQQPPQQQQPPPPPPPPPPQQPPPPQQPPQQPPQQPPPPPPPPQQPPPPPPPPPPQQPPPPPPQQQQQQPPQQPPPPPPPPQQPPPPQQQQQQPPPPQQQQPPQQPPQQPPQQPPPPPPPPQQQQPPPPQQQQQQPPQQQQPPQQQQQQQQQQQQQQQQPPPPPPQQPPPPQQQQPPQQPPPPPPQQPPQQPPQQQQQQQQQQPPQQQQQQQQPPQQQQQQPPQQQQQQQQQQPPQQQQPPQQQQQQQQPPQQQQPPPPQQQQQQPPQQQQQQQQQQQQPPPPPPQQQQQQQQPPQQQQQQQQQQQQPPPPPPQQQQQQQQPPQQPPQQPPPPPPPPQQQQPPQQQQQQQQQQQQQQPPPPQQPPQQQQQQPPQQQQQQPPQQPPQQPPQQQQQQPPQQQQQQQQQQQQPPPPQQQQQQPPPPQQQQQQPPQQQQPPQQQQQQQQQQQQQQPPPPPPQQQQQQQQQQQQQQQQPPQQQQPPQQQQPPQQQQPPQQQQQQPPPPQQPPPPPPPPQQQQQQPPQQPPPPQQPPPPQQQQQQQQQQQQPPQQQQPPPPQQQQPPQQPPPPQQQQQQPPPPPPQQPPQQQQPPQQPPPPPPPPPPQQQQPPQQPPPPQQPPQQQQQQPPQQQQQQQQQQQQQQQQPPPPPPPPQQQQQQQQQQPPQQPPPPQQQQQQPPQQPPQQPPQQQQQQQQPPQQQQPPQQQQQQQQPPPPPPQQPPPPQQQQQQQQQQQQPPPPQQQQQQPPQQQQPPQQPPPPQQPPQQPPQQQQQQQQQQQQQQQQQQPPPPPPQQQQQQPPPPPPPPPPQQQQQQQQQQPPQQPPQQQQQQQQQQQQQQQQQQQQQQQQPPPPPPPPQQQQQQPPQQPPQQPPPPQQPPQQPPPPPPQQPPQQQQPPQQQQQQQQPPPPQQQQQQPPPPQQPPPPPPQQQQQQQQQQQQPPPPQQQQQQQQPPQQQQQQPPPPQQPPQQPPQQQQQQQQPPQQQQQQQQPPPPPPQQPPQQPPQQQQPPQQQQQQQQQQQQQQPPQQPPPPPPPPPPQQPPQQPPPPPPQQQQQQQQQQQQPPPPQQQQQQQQPPQQQQQQPPQQPPQQPPQQQQQQQQPPPPQQPPQQPPPPPPQQQQPPQQQQQQQQPPQQPPPPPPQQPPPPQQPPQQQQQQQQQQQQQQQQPPQQQQQQQQPPPPPPPPQQQQPPQQQQQQQQPPPPQQQQQQQQPPPPPPPPQQQQQQPPPPPPQQQQQQQQQQPPQQQQPPQQQQQQQQPPPPQQQQQQQQQQQQPPPPPPQQQQPPQQQQQQQQQQPPQQPPPPPPQQPPQQQQPPPPPPQQQQPPQQQQQQQQQQQQQQPPPPPPPPPPQQPPPPQQQQQQQQPPQQPPPPPPPPPPQQPPQQQQQQPPPPQQPPPPPPPPPPPPPPPPQQPPQQQQQQPPQQPPPPQQPPPPPPPPPPQQPPQQPPPPPPQQQQQQQQQQPPQQPPPPQQPPQQPPQQPPPPPPPPPPQQQQQQPPQQPPQQPPPPPPQQPPPPQQQQPPQQQQPPQQQQQQPPPPPPQQPPPPQQQQPPPPQQQQPPQQPPQQPPQQQQQQQQQQPPQQPPPPPPQQPPQQPPPPPPQQQQPPPPPPQQQQPPQQQQQQQQPPPPPPQQQQPPQQPPPPPPQQPPPPQQQQQQPPPPQQQQQQQQQQQQPPQQQQPPPPPPQQQQPPPPQQPPQQQQPPPPPPPPPPQQQQPPQQQQPPQQPPPPQQQQPPQQQQPPPPPPPPPPQQPPQQQQQQPPPPPPQQQQPPQQPPPPPPPPQQPPPPQQPPPPQQQQQQPPPPQQQQPPPPPPPPQQPPQQQQPPQQPPQQQQQQPPPPQQPPPPPPPPPPPPQQQQQQPPQQPPQQPPPPPPQQQQPPPPQQPPQQPPPPQQQQQQPPPPQQPPQQQQPPPPQQQQPPQQQQPPPPPPQQPPPPQQPPPPPPPPQQPPQQQQPPPPPPQQPPPPQQQQQQPPPPPPPPQQQQPPQQQQPPQQQQPPQQQQQQPPQQPPQQPPPPQQQQPPPPQQPPPPQQPPQQPPPPPPPPQQPPQQQQQQPPPPPPQQQQPPPPQQQQQQPPQQQQPPPPQQQQPPQQPPQQQQPPPPQQQQPPPPPPPPPPPPPPQQPPQQPPQQPPQQQQQQPPPPPPQQPPPPQQQQQQPPPPPPPPPPPPQQQQQQPPQQQQPPPPPPPPQQPPQQPPQQPPQQQQQQQQQQPPPPQQQQPPPPQQPPPPPPQQQQQQPPPPPPPPQQQQPPPPPPQQQQPPQQPPPPPPPPPPQQPPPPPPQQQQPPQQQQQQQQPPPPPPQQPPQQPPPPQQQQPPPPPPPPPPPPPPPPQQQQPPPPQQPPPPPPPPPPPPQQQQQQPPQQPPPPPPQQQQPPQQQQQQPPQQPPPPPPQQQQPPPPPPQQPPQQQQQQPPPPPPQQPPQQPPQQQQQQPPPPQQPPQQPPQQPPQQPPQQPPPPPPQQPPQQPPPPPPQQPPQQQQPPPPPPPPPPQQQQQQPPPPQQQQPPQQPPPPPPPPQQPPPPPPQQQQQQQQQQPPQQPPQQQQPPPPPPPPQQPPPPQQQQQQPPQQPPQQQQPPQQQQQQQQPPQQPPQQQQQQPPPPPPQQPPQQPPQQPPQQQQPPQQQQPPQQPPQQPPPPQQPPPPPPQQPPPPPPQQQQQQPPQQQQPPPPPPPPQQQQQQQQQQPPQQPPQQPPPPPPPPQQPPPPPPQQPPPPPPPPPPPPQQPPPPPPPPPPQQPPPPQQQQPPPPPPQQPPPPPPQQQQQQQQQQQQQQQQQQQQPPPPPPPPQQPPQQQQPPQQPPPPQQPPPPPPQQPPPPPPPPPPPPQQQQPPPPPPPPPPPPPPPPPPPPQQQQPPQQPPQQQQQQPPPPPPQQPPQQPPPPPPPPQQPPQQPPQQQQQQQQPPPPQQPPQQPPPPQQPPQQPPQQPPQQQQQQPPPPQQQQQQPPPPPPQQPPPPQQPPPPQQQQPPPPPPPPPPPPQQPPQQPPQQPPPPPPQQQQPPQQQQPPPPPPQQPPQQQQQQPPPPQQPPQQPPQQPPQQPPPPPPPPPPPPPPPPQQQQQQPPQQPPQQQQPPPPQQPPPPPPPPPPQQPPPPPPPPPPPPQQPPPPQQQQQQPPPPPPPPQQPPQQQQQQPPPPPPPPQQQQQQQQQQPPQQPPQQPPPPPPPPPPPPQQPPPPQQQQQQQQPPQQQQPPPPPPPPPPQQPPPPPPPPPPPPQQPPQQPPQQQQPPPPQQPPPPQQPPPPPPPPPPQQPPPPQQPPPPPPQQPPPPPPPPPPQQQQQQPPPPPPQQPPPPPPQQQQQQPPPPPPQQPPQQQQQQPPPPQQPPQQPPPPPPPPQQPPPPQQPPQQPPPPPPQQPPQQPPPPPPQQPPQQQQQQPPPPQQPPPPPPPPPPQQPPQQPPPPQQQQQQPPPPPPPPQQQQPPPPPPPPPPQQPPQQQQPPPPPPPPPPPPPPPPPPPPPPPPPPQQPPPPQQQQPPPPPPPPPPPPPPPPPPPPPPPPPPQQQQQQQQPPQQPPPPPPQQPPQQPPPPPPQQPPPPPPPPPPPPPPPPPPQQQQPPPPPPPPPPPPPPPPPPQQPPPPQQPPPPPPQQQQPPPPPPPPQQQQPPPPPPPPPPPPQQPPPPQQPPPPPPPPPPPPPPPPPPPPQQPPQQPPPPPPQQQQPPQQQQQQPPPPPPPPPPPPQQPPPPPPQQQQPPPPQQPPQQPPPPQQPPQQPPPPPPPPQQPPQQQQPPQQPPPPQQQQPPPPPPPPQQPPQQPPPPPPPPPPQQPPPPPPPPPPQQPPPPPPQQPPPPPPQQPPQQQQPPPPPPQQPPQQQQPPQQQQQQPPQQPPPPPPPPPPPPPPPPQQQQPPQQQQPPQQPPPPPPPPQQPPQQQQPPPPPPPPPPQQPPPPQQPPQQPPQQPPPPPPPPQQPPPPPPPPPPQQPPPPQQQQQQQQQQQQQQQQQQPPQQPPPPQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQPPQQQQPPQQQQQQQQQQPPQQQQQQQQPPQQQQPPQQQQQQQQQQQQPPQQQQQQQQQQQQQQQQQQQQQQQQQQPPQQQQQQPPQQQQQQQQQQQQPPQQQQQQQQPPQQQQQQPPQQQQQQQQPPPPQQQQQQQQPPPPQQQQQQQQQQPPPPQQQQQQQQQQQQPPQQQQQQQQQQQQQQPPQQQQQQQQQQQQQQPPQQQQPPQQQQQQQQQQQQQQQQQQPPPPQQQQPPQQPPQQPPQQQQQQQQQQQQQQQQQQQQQQQQPPQQPPQQPPQQPPPPQQQQPPQQQQQQQQPPPPPPQQQQQQQQQQQQQQQQPPPPQQPPQQQQQQPPQQQQQQQQQQPPQQPPQQQQPPPPQQPPPPQQPPQQQQQQQQQQQQQQQQQQPPQQQQPPPPQQQQQQQQPPQQPPPPQQQQQQQQQQQQPPQQPPQQQQQQQQQQQQQQPPQQQQPPQQQQQQQQQQPPQQQQQQQQQQQQQQQQPPQQQQQQQQQQQQQQPPQQQQPPQQPPQQQQPPQQQQQQQQQQPPPPQQQQQQQQQQQQQQQQPPQQQQQQQQQQQQQQPPQQQQQQQQQQQQQQQQQQPPQQQQQQQQPPQQPPQQPPPPQQPPQQPPQQQQQQPPQQPPQQQQQQPPQQPPQQQQQQQQQQQQQQPPPPPPQQQQQQQQQQPPQQQQQQQQQQQQPPQQPPQQQQQQQQPPQQQQQQQQQQQQQQQQQQQQPPPPQQQQQQPPPPQQPPPPQQQQQQQQPPQQPPQQQQQQPPQQPPQQQQQQQQQQQQQQQQQQQQQQPPQQQQPPPPPPQQPPQQQQQQQQQQQQPPQQQQQQPPQQQQPPQQQQPPPPQQQQQQQQQQQQPPQQQQPPQQQQPPQQQQQQQQPPQQQQQQPPQQQQPPQQQQQQPPQQQQQQQQPPQQPPQQPPPPQQQQPPQQPPQQQQQQQQQQQQPPQQQQPPQQPPPPQQPPQQQQQQQQPPPPQQQQQQPPQQQQQQQQQQPPQQQQQQQQPPQQQQPPQQQQQQQQQQPPQQQQQQQQQQQQQQQQQQQQPPQQQQPPQQQQQQPPPPQQPPQQQQPPQQPPQQQQQQQQQQPPQQQQQQPPPPQQQQQQQQQQQQPPQQQQQQQQQQPPQQQQPPPPQQQQPPPPQQPPQQPPQQQQQQQQQQQQPPQQQQQQPPQQQQPPQQPPQQQQPPPPQQQQPPQQPPQQQQPPQQQQQQQQPPPPQQPPPPQQQQQQPPQQQQPPQQPPQQQQPPQQQQPPPPQQQQQQQQQQPPQQQQQQQQQQQQQQQQPPPPPPQQPPPPPPPPPPPPQQQQQQPPQQPPQQPPPPQQQQQQPPQQQQQQPPPPQQQQPPPPPPQQPPQQPPPPPPQQQQQQQQQQQQQQPPQQQQQQQQQQQQQQPPPPPPQQQQQQQQQQQQPPPPPPQQPPPPQQQQQQQQQQQQQQQQQQQQQQQQQQPPQQQQQQPPPPPPQQQQQQPPPPPPPPQQPPQQPPQQQQQQPPQQQQQQQQQQQQQQPPQQQQPPQQPPQQQQPPQQQQQQQQQQPPQQPPQQPPQQPPQQQQQQQQQQPPPPPPQQPPQQQQPPQQPPQQPPPPQQPPPPQQQQQQQQQQPPQQPPQQPPQQQQPPPPQQPPPPQQQQQQQQQQPPPPQQQQQQPPPPPPPPPPQQQQQQPPQQQQPPPPQQQQQQQQQQPPQQPPPPQQQQPPPPPPQQPPQQQQPPQQPPQQQQQQQQPPPPQQQQQQPPQQQQPPPPPPPPQQQQPPQQQQQQQQQQQQPPPPQQPPQQQQPPQQPPPPQQPPPPQQQQPPQQQQQQQQQQQQQQQQQQPPPPPPQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQPPPPQQPPPPPPPPQQQQPPQQQQQQQQPPQQQQQQQQPPQQQQQQQQQQPPQQQQQQPPQQQQPPQQPPQQQQQQQQQQPPPPQQPPQQPPQQQQPPQQPPQQQQQQQQQQQQPPQQQQQQPPPPPPQQQQPPPPQQPPQQQQPPQQPPQQQQQQQQPPPPQQQQQQQQQQQQQQQQQQQQPPQQQQQQQQPPQQQQQQQQQQQQQQPPPPQQQQQQPPPPQQPPPPPPQQPPQQQQQQPPQQQQPPQQPPQQPPQQPPQQPPPPQQQQPPQQQQPPQQPPQQQQPPQQQQPPQQQQQQQQQQQQQQQQQQPPPPQQQQQQQQQQQQPPQQPPPPPPQQQQQQQQPPQQQQPPQQQQPPQQPPQQQQQQQQQQQQQQQQQQQQPPQQPPQQPPPPPPQQQQQQPPQQQQQQQQPPQQQQPPPPQQQQPPPPQQPPQQQQQQQQQQQQPPPPPPPPQQQQQQPPQQPPQQQQPPQQPPQQPPPPPPQQPPQQPPPPQQQQQQPPQQPPQQPPQQPPQQQQQQQQQQPPQQQQQQPPQQQQQQQQPPQQPPQQQQPPQQQQPPPPQQPPQQPPQQPPPPQQPPQQPPPPPPQQQQPPQQQQQQPPQQQQPPQQQQQQPPPPPPPPPPQQQQQQPPQQQQPPQQQQPPPPPPPPPPPPQQQQQQPPQQQQPPPPQQQQPPQQQQQQQQQQQQQQQQQQPPQQPPQQQQPPQQPPPPPPQQPPQQPPQQQQPPQQQQQQQQQQQQPPPPQQQQPPPPQQPPPPQQPPQQQQQQQQPPQQPPQQPPPPQQQQQQQQQQQQPPPPQQPPPPPPQQQQQQPPPPQQQQQQQQPPQQPPQQQQPPPPQQQQQQPPPPPPQQPPQQPPQQQQQQPPPPPPPPPPQQQQQQQQQQQQPPPPPPQQQQPPPPPPQQPPQQPPQQPPQQQQPPPPQQQQQQPPQQQQPPPPQQQQPPQQQQQQQQQQPPPPPPQQPPQQQQQQQQPPQQPPPPQQQQQQQQQQQQQQQQPPQQQQPPPPQQPPQQQQQQPPPPPPPPQQPPPPPPQQPPPPQQQQQQPPQQQQQQQQPPPPQQQQQQPPPPPPQQPPQQQQQQPPQQQQQQPPQQQQPPPPPPQQQQQQQQQQQQQQPPPPPPQQQQPPQQQQQQPPPPQQQQPPPPQQQQQQPPQQQQQQQQQQPPPPQQPPPPQQPPQQQQPPQQPPPPQQPPPPPPQQQQPPQQPPQQPPQQQQQQPPQQQQPPQQQQPPPPQQPPQQQQPPQQQQQQQQQQPPQQQQPPPPPPQQQQQQQQQQQQQQQQPPQQQQQQQQQQQQQQQQPPQQQQPPPPQQQQQQPPPPQQPPPPQQPPPPPPQQPPPPPPQQQQQQQQPPPPPPQQPPPPPPQQQQQQQQQQPPQQPPQQQQQQPPQQQQPPQQPPPPQQPPQQPPPPQQPPQQPPQQPPQQPPPPPPQQQQPPQQPPPPQQQQQQPPPPQQPPPPPPQQPPPPPPPPQQQQQQPPPPPPQQQQQQQQQQQQPPQQPPPPQQQQQQQQQQQQPPPPQQQQQQPPQQPPPPPPQQQQPPPPQQQQPPPPPPQQQQQQQQPPQQQQPPQQPPQQQQQQPPPPPPQQQQPPPPPPQQPPQQQQPPQQQQPPQQQQQQPPQQQQQQPPQQQQPPQQQQQQQQPPPPPPPPQQQQPPQQPPPPPPQQPPQQQQQQPPQQQQQQQQQQQQPPQQQQPPQQPPPPPPPPQQQQPPQQQQQQPPQQQQPPPPQQQQPPPPQQPPPPQQQQPPPPPPPPPPPPPPQQQQQQPPQQPPQQPPPPPPPPPPQQQQPPPPPPPPPPPPQQPPPPQQQQQQQQQQPPPPPPPPPPPPPPPPPPQQPPQQPPPPPPQQQQPPPPPPPPQQQQPPPPPPPPQQQQPPPPPPQQPPPPQQPPPPQQPPQQPPQQPPPPQQQQQQQQPPPPPPPPPPPPQQQQPPPPPPPPQQQQQQQQQQQQQQQQQQPPQQPPPPQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQPPQQQQPPQQQQQQQQQQPPQQQQQQQQPPQQQQPPQQQQQQQQQQQQPPQQQQQQQQQQQQQQQQQQQQQQQQQQPPQQQQQQPPQQQQQQQQQQQQPPQQQQQQQQPPQQQQQQPPQQQQQQQQPPPPQQQQQQQQPPPPQQQQQQQQQQPPPPQQQQQQQQQQQQPPQQQQQQQQQQQQQQPPQQQQQQQQQQQQQQPPQQQQPPQQQQQQQQQQQQQQQQQQPPPPQQQQPPQQPPQQPPQQQQQQQQQQQQQQQQQQQQQQQQPPQQPPQQPPQQPPPPQQQQPPQQQQQQQQPPPPPPQQQQQQQQQQQQQQQQPPPPQQPPQQQQQQPPQQQQQQQQQQPPQQPPQQQQPPPPQQPPPPQQPPQQQQQQQQQQQQQQQQQQPPQQQQPPPPQQQQQQQQPPQQPPPPQQQQQQQQQQQQPPQQPPQQQQQQQQQQQQQQPPQQQQPPQQQQQQQQQQPPQQQQQQQQQQQQQQQQPPQQQQQQQQQQQQQQPPQQQQPPQQPPQQQQPPQQQQQQQQQQPPPPQQQQQQQQQQQQQQQQPPQQQQQQQQQQQQQQPPQQQQQQQQQQQQQQQQQQPPQQQQQQQQPPQQPPQQPPPPQQPPQQPPQQQQQQPPQQPPQQQQQQPPQQPPQQQQQQQQQQQQQQPPPPPPQQQQQQQQQQPPQQQQQQQQQQQQPPQQPPQQQQQQQQPPQQQQQQQQQQQQQQQQQQQQPPPPQQQQQQPPPPQQPPPPQQQQQQQQPPQQPPQQQQQQPPQQPPQQQQQQQQQQQQQQQQQQQQQQPPQQQQPPPPPPQQPPQQQQQQQQQQQQPPQQQQQQPPQQQQPPQQQQPPPPQQQQQQQQQQQQPPQQQQPPQQQQPPQQQQQQQQPPQQQQQQPPQQQQPPQQQQQQPPQQQQQQQQPPQQPPQQPPPPQQQQPPQQPPQQQQQQQQQQQQPPQQQQPPQQPPPPQQPPQQQQQQQQPPPPQQQQQQPPQQQQQQQQQQPPQQQQQQQQPPQQQQPPQQQQQQQQQQPPQQQQQQQQQQQQQQQQQQQQPPQQQQPPQQQQQQPPPPQQPPQQQQPPQQPPQQQQQQQQQQPPQQQQQQPPPPQQQQQQQQQQQQPPQQQQQQQQQQPPQQQQPPPPQQQQPPPPQQPPQQPPQQQQQQQQQQQQPPQQQQQQPPQQQQPPQQPPQQQQPPPPQQQQPPQQPPQQQQPPQQQQQQQQPPPPQQPPPPQQQQQQPPQQQQPPQQPPQQQQPPQQQQPPPPQQQQQQQQQQPPQQQQQQQQQQQQQQQQPPPPPPQQPPPPPPPPPPPPQQQQQQPPQQPPQQPPPPQQQQQQPPQQQQQQPPPPQQQQPPPPPPQQPPQQPPPPPPQQQQQQQQQQQQQQPPQQQQQQQQQQQQQQPPPPPPQQQQQQQQQQQQPPPPPPQQPPPPQQQQQQQQQQQQQQQQQQQQQQQQQQPPQQQQQQPPPPPPQQQQQQPPPPPPPPQQPPQQPPQQQQQQPPQQQQQQQQQQQQQQPPQQQQPPQQPPQQQQPPQQQQQQQQQQPPQQPPQQPPQQPPQQQQQQQQQQPPPPPPQQPPQQQQPPQQPPQQPPPPQQPPPPQQQQQQQQQQPPQQPPQQPPQQQQPPPPQQPPPPQQQQQQQQQQPPPPQQQQQQPPPPPPPPPPQQQQQQPPQQQQPPPPQQQQQQQQQQPPQQPPPPQQQQPPPPPPQQPPQQQQPPQQPPQQQQQQQQPPPPQQQQQQPPQQQQPPPPPPPPQQQQPPQQQQQQQQQQQQPPPPQQPPQQQQPPQQPPPPQQPPPPQQQQQQQQQQQQQQQQQQQQQQQQPPPPPPQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQPPPPQQPPPPPPPPQQQQPPQQQQQQQQPPQQQQQQQQPPQQQQQQQQQQPPQQQQQQPPQQQQPPQQPPQQQQQQQQQQPPPPQQPPQQPPQQQQPPQQPPQQQQQQQQQQQQPPQQQQQQPPPPPPQQQQPPPPQQPPQQQQPPQQPPQQQQQQQQPPPPQQQQQQQQQQQQQQQQQQQQPPQQQQQQQQPPQQQQQQQQQQQQQQPPPPQQQQQQPPPPQQPPPPPPQQPPQQQQQQPPQQQQPPQQPPQQPPQQPPQQPPPPQQQQPPQQQQPPQQPPQQQQPPQQQQPPQQQQQQQQQQQQQQQQQQPPPPQQQQQQQQQQQQPPQQPPPPPPQQQQQQQQPPQQQQPPQQQQPPQQPPQQQQQQQQQQQQQQQQQQQQPPQQPPQQPPPPPPQQQQQQPPQQQQQQQQPPQQQQPPPPQQQQPPPPQQPPQQQQQQQQQQQQPPPPPPPPQQQQQQPPQQPPQQQQPPQQPPQQPPPPPPQQPPQQPPPPQQQQQQPPQQPPQQPPQQPPQQQQQQQQQQPPQQQQQQPPQQQQQQQQPPQQPPQQQQPPQQQQPPPPQQPPQQPPQQPPPPQQPPQQPPPPPPQQQQPPQQQQQQPPQQQQPPQQQQQQPPPPPPPPPPQQQQQQPPQQQQPPQQQQPPPPPPPPPPPPQQQQQQPPQQQQPPPPQQQQPPQQQQQQQQQQQQQQQQQQPPQQPPQQQQPPQQPPPPPPQQPPQQPPQQQQPPQQQQQQQQQQQQPPPPQQQQPPPPQQPPPPQQPPQQQQQQQQPPQQPPQQPPPPQQQQQQQQQQQQPPPPQQPPPPPPQQQQQQPPPPQQQQQQQQPPQQPPQQQQPPPPQQQQQQPPPPPPQQPPQQPPQQQQQQPPPPPPPPPPQQQQQQQQQQQQPPPPPPQQQQPPPPPPQQPPQQPPQQPPQQQQPPPPQQQQQQPPQQQQPPPPQQQQPPQQQQQQQQQQPPPPPPQQPPQQQQQQQQPPQQPPPPQQQQQQQQQQQQQQQQPPQQQQPPPPQQPPQQQQQQPPPPPPPPQQPPPPPPQQPPPPQQQQQQPPQQQQQQQQPPPPQQQQQQPPPPPPQQPPQQQQQQPPQQQQQQPPQQQQPPPPPPQQQQQQQQQQQQQQPPPPPPQQQQPPQQQQQQPPPPQQQQPPPPQQQQQQPPQQQQQQQQQQPPPPQQPPPPQQPPQQQQPPQQPPPPQQPPPPPPQQQQPPQQPPQQPPQQQQQQPPQQQQPPQQQQPPPPQQPPQQQQPPQQQQQQQQQQPPQQQQPPPPPPQQQQQQQQQQQQQQQQPPQQQQQQQQQQQQQQQQPPQQQQPPPPQQQQQQPPPPQQPPPPQQPPPPPPQQPPPPPPQQQQQQQQPPPPPPQQPPPPPPQQQQQQQQQQPPQQPPQQQQQQPPQQQQPPQQPPPPQQPPQQPPPPQQPPQQPPQQPPQQPPPPPPQQQQPPQQPPPPQQQQQQPPPPQQPPPPPPQQPPPPPPPPQQQQQQPPPPPPQQQQQQQQQQQQPPQQPPPPQQQQQQQQQQQQPPPPQQQQQQPPQQPPPPQQQQQQPPPPQQQQPPPPPPQQQQQQQQPPQQQQPPQQPPQQQQQQPPPPPPQQQQPPPPPPQQPPQQQQPPQQQQPPQQQQQQPPQQQQQQPPQQQQPPQQQQQQQQPPPPPPPPQQQQPPQQPPPPPPQQPPQQQQQQPPQQQQQQQQQQQQPPQQQQPPQQPPPPPPPPQQQQPPQQQQQQPPQQQQPPPPQQQQPPPPQQPPPPQQQQPPPPPPPPPPPPPPQQQQQQPPQQPPQQPPPPPPPPPPQQQQPPPPPPPPPPPPQQPPPPQQQQQQQQQQPPPPPPPPPPPPPPPPPPQQPPQQPPPPPPQQQQPPPPPPPPQQQQPPPPPPPPQQQQPPPPPPQQPPPPQQPPPPQQPPQQPPQQPPPPQQQQQQQQPPPPPPPPPPPPQQQQPPPPPPPPQQPPQQQQQQQQPPQQQQQQPPQQQQQQQQQQQQQQQQQQQQQQQQQQQQPPQQQQQQQQQQQQQQQQQQQQQQPPQQQQQQQQQQQQQQPPPPQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQPPQQQQQQQQPPQQQQQQPPQQQQPPQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQPPQQPPPPQQQQQQQQPPQQQQQQQQQQPPQQQQQQQQQQPPQQQQQQQQQQQQQQPPQQQQQQQQQQQQQQQQQQPPQQQQQQQQQQQQQQQQQQPPQQQQQQQQQQQQQQQQPPQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQPPQQPPPPQQQQQQQQQQPPQQQQPPQQQQQQQQQQPPQQQQQQPPQQPPPPQQQQQQQQPPQQQQPPQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQPPQQQQQQPPQQPPQQQQPPQQQQPPQQQQQQQQPPQQQQQQQQPPPPQQQQQQQQQQQQQQQQQQPPQQQQQQQQQQPPQQQQQQQQQQPPQQQQQQQQQQQQQQQQQQQQQQQQQQQQPPQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQPPQQQQQQQQQQQQPPQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQPPQQQQQQQQPPQQQQQQQQQQQQQQQQQQQQQQQQQQQQPPQQQQQQQQQQQQQQQQQQQQQQQQQQPPQQQQQQQQQQPPQQQQQQQQQQPPQQPPQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQPPQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQPPQQQQPPQQQQQQQQPPQQQQQQPPQQQQQQQQPPQQQQPPQQQQQQQQQQQQQQQQQQQQQQQQPPQQQQQQQQQQQQQQQQQQQQQQPPQQQQQQQQPPQQQQPPQQPPQQQQQQQQQQQQQQQQQQQQQQPPQQPPQQQQQQQQQQQQPPPPQQQQPPQQQQPPQQQQQQQQQQQQPPPPPPQQQQQQQQQQPPQQQQPPPPPPQQQQQQPPQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQPPQQQQQQQQQQQQPPQQQQQQQQQQQQQQQQQQQQQQQQQQQQPPQQPPPPPPQQPPQQPPPPQQQQQQQQQQQQQQQQQQPPQQQQQQQQPPQQQQPPQQQQQQQQQQQQQQQQQQQQQQQQPPQQQQPPQQQQPPPPQQQQQQQQQQQQQQQQQQQQQQQQQQQQPPQQQQQQQQQQPPPPQQQQQQQQQQQQPPQQQQQQQQQQQQQQPPQQQQQQQQPPQQQQQQQQQQPPPPQQQQQQQQQQQQQQQQQQPPQQQQQQQQQQQQQQQQQQPPQQQQQQQQQQQQPPQQQQPPQQQQPPQQQQPPQQQQQQQQQQQQQQPPQQQQPPPPQQPPPPQQQQPPQQQQQQPPQQQQQQQQQQQQQQQQQQQQQQQQQQPPQQQQQQQQPPPPQQQQQQQQQQQQQQQQQQQQQQQQPPQQQQQQQQQQQQPPQQQQQQQQQQQQQQQQQQPPQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQPPQQQQQQQQPPPPPPQQQQQQQQQQQQQQQQQQQQPPQQQQQQPPQQPPQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQPPQQQQQQQQPPQQQQPPQQQQQQQQQQPPQQQQPPPPQQQQQQQQQQQQQQQQQQQQQQPPQQPPQQPPQQPPPPQQPPQQQQQQPPQQQQQQQQPPQQQQQQPPQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQPPQQQQQQQQQQPPQQQQQQQQPPQQPPPPQQQQQQQQQQQQPPQQPPQQQQQQQQQQQQQQQQPPPPQQQQPPQQQQQQQQQQQQQQQQQQQQQQPPQQQQPPQQQQPPPPQQQQPPPPPPQQPPPPQQPPQQPPQQQQQQQQPPPPQQQQQQPPQQQQQQQQQQQQPPPPQQQQPPQQQQQQQQPPPPQQQQPPQQQQQQQQQQPPQQQQQQPPQQQQQQQQPPPPPPPPQQQQPPQQQQQQPPQQQQQQQQQQQQQQQQPPQQQQQQPPPPQQQQPPQQPPQQQQQQQQQQQQQQQQPPQQQQQQQQQQPPQQPPQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQPPQQQQPPQQQQQQQQPPQQQQPPPPQQQQQQQQQQQQQQPPQQQQQQPPPPPPQQQQPPQQQQPPQQQQQQQQQQQQPPQQQQPPQQPPQQQQQQQQQQQQQQPPPPPPQQQQQQQQQQQQQQQQPPQQQQQQQQQQQQPPQQQQQQQQQQQQQQPPQQQQQQQQPPQQQQQQQQQQQQQQPPQQQQQQQQQQPPQQQQPPQQQQPPQQQQQQQQQQQQPPPPQQQQQQQQQQQQQQQQQQPPQQQQQQPPQQQQQQPPPPQQQQQQQQQQPPQQPPPPQQQQQQQQPPQQQQQQQQQQQQQQPPQQQQPPQQQQPPPPPPQQQQQQQQQQQQQQQQQQQQQQQQPPQQQQQQQQQQQQQQPPQQQQQQQQQQQQQQQQQQQQQQPPQQQQQQQQQQPPQQPPQQQQPPQQPPQQQQQQPPQQQQPPQQPPQQQQPPQQQQPPQQQQPPPPPPQQQQQQQQPPQQQQQQPPPPQQQQQQQQQQPPQQPPPPQQPPPPPPQQPPQQPPQQPPQQPPQQQQQQQQQQQQQQPPQQPPQQQQPPPPPPQQQQQQPPQQQQPPQQQQQQPPQQQQPPQQQQQQQQQQPPQQQQQQPPQQQQQQQQQQQQQQQQQQQQQQPPQQQQPPQQQQQQQQQQQQQQQQPPQQQQQQQQQQPPPPQQQQQQPPQQPPQQQQPPQQQQPPQQPPPPQQQQQQQQQQQQQQQQQQQQQQQQPPQQQQQQQQPPQQQQPPQQPPQQQQQQPPPPPPQQQQQQQQQQQQPPQQPPPPQQQQQQQQQQQQQQQQQQQQQQPPQQPPPPPPQQQQQQQQQQQQPPQQQQPPPPQQQQQQQQQQQQQQQQQQQQPPQQQQQQQQQQQQQQPPPPQQQQPPQQQQPPPPQQQQQQQQQQQQPPQQPPQQPPPPQQQQQQQQPPQQQQQQQQPPQQQQQQPPQQQQQQQQQQPPQQQQQQPPPPPPQQQQQQQQQQQQQQQQQQQQQQPPQQPPPPQQQQPPQQQQQQQQQQQQPPQQQQQQPPQQPPQQQQQQPPQQPPQQQQPPQQPPQQQQQQQQQQQQQQQQQQQQQQPPPPQQQQQQQQQQPPQQPPQQQQPPQQQQPPPPQQQQQQQQQQQQPPQQQQPPPPPPQQPPQQPPPPQQQQPPQQPPPPQQQQQQQQPPQQQQQQPPQQQQQQQQPPPPQQPPQQQQQQQQPPQQPPQQQQPPQQPPQQPPQQPPQQQQQQQQPQQQQQQQQQQQQQQQPPQQQQQQPPQQQQQQQQQQPPQQQQQQQQQQQQQQQQQQQQQQQQPPQQQQQQQQQQQQQQPPQQQQPPPPPPPPQQQQQQQQPPQQPPQQPPPPPPQQPPQQQQQQPPQQQQQQPPQQPPQQPPQQPPQQQQQQPPQQQQQQQQQQQQQQQQPPQQQQQQPPPPQQQQQQQQPPQQPPPPQQPPQQPPPPQQQQQQQQQQQQPPPPQQQQPPPPPPPPQQPPQQPPPPPPPPQQPPQQQQQQQQPPQQQQPPQQQQPPQQPPQQQQQQQQQQQQPPQQQQPPPPQQQQQQQQQQQQQQPPPPQQQQPPQQQQQQQQQQPPQQPPQQQQQQQQPPQQPPQQQQQQQQQQQQQQQQQQQQPPQQQQQQQQQQQQQQQQPPPPQQQQQQQQPPQQQQQQQQPPQQQQQQPPQQQQQQQQQQQQQQQQQQQQQQQQQQQQPPQQQQQQQQQQQQQQQQQQQQQQPPQQQQQQQQQQQQQQPPPPQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQPPQQQQQQQQPPQQQQQQPPQQQQPPQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQPPQQPPPPQQQQQQQQPPQQQQQQQQQQPPQQQQQQQQQQPPQQQQQQQQQQQQQQPPQQQQQQQQQQQQQQQQQQPPQQQQQQQQQQQQQQQQQQPPQQQQQQQQQQQQQQQQPPQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQPPQQPPPPQQQQQQQQQQPPQQQQPPQQQQQQQQQQPPQQQQQQPPQQPPPPQQQQQQQQPPQQQQPPQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQPPQQQQQQPPQQPPQQQQPPQQQQPPQQQQQQQQPPQQQQQQQQPPPPQQQQQQQQQQQQQQQQQQPPQQQQQQQQQQPPQQQQQQQQQQPPQQQQQQQQQQQQQQQQQQQQQQQQQQQQPPQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQPPQQQQQQQQQQQQPPQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQPPQQQQQQQQPPQQQQQQQQQQQQQQQQQQQQQQQQQQQQPPQQQQQQQQQQQQQQQQQQQQQQQQQQPPQQQQQQQQQQPPQQQQQQQQQQPPQQPPQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQPPQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQPPQQQQPPQQQQQQQQPPQQQQQQPPQQQQQQQQPPQQQQPPQQQQQQQQQQQQQQQQQQQQQQQQPPQQQQQQQQQQQQQQQQQQQQQQPPQQQQQQQQPPQQQQPPQQPPQQQQQQQQQQQQQQQQQQQQQQPPQQPPQQQQQQQQQQQQPPPPQQQQPPQQQQPPQQQQQQQQQQQQPPPPPPQQQQQQQQQQPPQQQQPPPPPPQQQQQQPPQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQPPQQQQQQQQQQQQPPQQQQQQQQQQQQQQQQQQQQQQQQQQQQPPQQPPPPPPQQPPQQPPPPQQQQQQQQQQQQQQQQQQPPQQQQQQQQPPQQQQPPQQQQQQQQQQQQQQQQQQQQQQQQPPQQQQPPQQQQPPPPQQQQQQQQQQQQQQQQQQQQQQQQQQQQPPQQQQQQQQQQPPPPQQQQQQQQQQQQPPQQQQQQQQQQQQQQPPQQQQQQQQPPQQQQQQQQQQPPPPQQQQQQQQQQQQQQQQQQPPQQQQQQQQQQQQQQQQQQPPQQQQQQQQQQQQPPQQQQPPQQQQPPQQQQPPQQQQQQQQQQQQQQPPQQQQPPPPQQPPPPQQQQPPQQQQQQPPQQQQQQQQQQQQQQQQQQQQQQQQQQPPQQQQQQQQPPPPQQQQQQQQQQQQQQQQQQQQQQQQPPQQQQQQQQQQQQPPQQQQQQQQQQQQQQQQQQPPQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQPPQQQQQQQQPPPPPPQQQQQQQQQQQQQQQQQQQQPPQQQQQQPPQQPPQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQPPQQQQQQQQPPQQQQPPQQQQQQQQQQPPQQQQPPPPQQQQQQQQQQQQQQQQQQQQQQPPQQPPQQPPQQPPPPQQPPQQQQQQPPQQQQQQQQPPQQQQQQPPQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQPPQQQQQQQQQQPPQQQQQQQQPPQQPPPPQQQQQQQQQQQQPPQQPPQQQQQQQQQQQQQQQQPPPPQQQQPPQQQQQQQQQQQQQQQQQQQQQQPPQQQQPPQQQQPPPPQQQQPPPPPPQQPPPPQQPPQQPPQQQQQQQQPPPPQQQQQQPPQQQQQQQQQQQQPPPPQQQQPPQQQQQQQQPPPPQQQQPPQQQQQQQQQQPPQQQQQQPPQQQQQQQQPPPPPPPPQQQQPPQQQQQQPPQQQQQQQQQQQQQQQQPPQQQQQQPPPPQQQQPPQQPPQQQQQQQQQQQQQQQQPPQQQQQQQQQQPPQQPPQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQPPQQQQPPQQQQQQQQPPQQQQPPPPQQQQQQQQQQQQQQPPQQQQQQPPPPPPQQQQPPQQQQPPQQQQQQQQQQQQPPQQQQPPQQPPQQQQQQQQQQQQQQPPPPPPQQQQQQQQQQQQQQQQPPQQQQQQQQQQQQPPQQQQQQQQQQQQQQPPQQQQQQQQPPQQQQQQQQQQQQQQPPQQQQQQQQQQPPQQQQPPQQQQPPQQQQQQQQQQQQPPPPQQQQQQQQQQQQQQQQQQPPQQQQQQPPQQQQQQPPPPQQQQQQQQQQPPQQPPPPQQQQQQQQPPQQQQQQQQQQQQQQPPQQQQPPQQQQPPPPPPQQQQQQQQQQQQQQQQQQQQQQQQPPQQQQQQQQQQQQQQPPQQQQQQQQQQQQQQQQQQQQQQPPQQQQQQQQQQPPQQPPQQQQPPQQPPQQQQQQPPQQQQPPQQPPQQQQPPQQQQPPQQQQPPPPPPQQQQQQQQPPQQQQQQPPPPQQQQQQQQQQPPQQPPPPQQPPPPPPQQPPQQPPQQPPQQPPQQQQQQQQQQQQQQPPQQPPQQQQPPPPPPQQQQQQPPQQQQPPQQQQQQPPQQQQPPQQQQQQQQQQPPQQQQQQPPQQQQQQQQQQQQQQQQQQQQQQPPQQQQPPQQQQQQQQQQQQQQQQPPQQQQQQQQQQPPPPQQQQQQPPQQPPQQQQPPQQQQPPQQPPPPQQQQQQQQQQQQQQQQQQQQQQQQPPQQQQQQQQPPQQQQPPQQPPQQQQQQPPPPPPQQQQQQQQQQQQPPQQPPPPQQQQQQQQQQQQQQQQQQQQQQPPQQPPPPPPQQQQQQQQQQQQPPQQQQPPPPQQQQQQQQQQQQQQQQQQQQPPQQQQQQQQQQQQQQPPPPQQQQPPQQQQPPPPQQQQQQQQQQQQPPQQPPQQPPPPQQQQQQQQPPQQQQQQQQPPQQQQQQPPQQQQQQQQQQPPQQQQQQPPPPPPQQQQQQQQQQQQQQQQQQQQQQPPQQPPPPQQQQPPQQQQQQQQQQQQPPQQQQQQPPQQPPQQQQQQPPQQPPQQQQPPQQPPQQQQQQQQQQQQQQQQQQQQQQPPPPQQQQQQQQQQPPQQPPQQQQPPQQQQPPPPQQQQQQQQQQQQPPQQQQPPPPPPQQPPQQPPPPQQQQPPQQPPPPQQQQQQQQPPQQQQQQPPQQQQQQQQPPPPQQPPQQQQQQQQPPQQPPQQQQPPQQPPQQPPQQPPQQQQQQQQQQQQQQQQQQQQQQQQPPQQQQQQPPQQQQQQQQQQPPQQQQQQQQQQQQQQQQQQQQQQQQPPQQQQQQQQQQQQQQPPQQQQPPPPPPPPQQQQQQQQPPQQPPQQPPPPPPQQPPQQQQQQPPQQQQQQPPQQPPQQPPQQPPQQQQQQPPQQQQQQQQQQQQQQQQPPQQQQQQPPPPQQQQQQQQPPQQPPPPQQPPQQPPPPQQQQQQQQQQQQPPPPQQQQPPPPPPPPQQPPQQPPPPPPPPQQPPQQQQQQQQPPQQQQPPQQQQPPQQPPQQQQQQQQQQQQQQQQQQPPPPQQQQQQQQQQQQQQPPPPQQQQPPQQQQQQQQQQPPQQPPQQQQQQQQQQQQPPQQQQQQQQQQQQQQQQQQQQPPQQQQQQQQQQQQQQQQPPPPQQQQQQQQQQPPQQPPQQQQQQQQQQPPQQQQQQQQQQQQQQQQQQQQPPQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQPPQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQPPQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQPPQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQPPQQQQQQQQQQPPQQQQQQQQQQPPQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQPPQQQQQQQQQQQQQQQQPPQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQPPPPQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQPPQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQPPQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQPPQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQPPQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQPPQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQPPQQQQQQQQQQQQQQQQQQQQQQQQPPQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQPPQQQQQQQQQQQQQQQQPPQQQQPPQQPPPPQQQQQQQQQQQQQQQQQQQQQQQQPPQQQQQQQQQQPPQQQQQQQQQQQQQQQQQQQQQQQQQQPPQQQQQQQQQQQQQQQQQQQQPPQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQPPQQQQQQQQQQPPQQQQPPQQQQPPQQQQQQPPQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQPPQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQPPQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQPPPPQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQPPQQQQQQQQPPPPQQPPQQQQQQQQQQQQQQQQQQQQQQQQPPQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQPPQQQQQQQQQQPPQQPPQQQQQQQQQQQQQQQQQQQQQQQQPPQQQQQQQQQQQQQQPPQQPPQQQQQQQQQQPPQQQQQQQQPPQQQQQQQQQQQQQQQQQQQQQQQQPPQQQQQQPPQQQQQQQQQQQQQQQQQQPPPPQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQPPQQQQQQQQQQQQQQQQQQPPQQQQQQQQPPQQQQQQQQQQQQQQQQQQPPQQQQQQQQQQQQQQQQQQPPQQQQQQQQQQQQQQQQPPQQQQPPQQQQQQQQQQQQQQQQQQQQPPQQPPQQQQQQQQPPQQQQQQQQQQQQPPQQQQQQQQPPQQQQPPQQQQQQQQQQQQQQQQQQPPQQQQQQQQQQQQPPQQQQQQQQQQQQPPQQQQQQQQQQQQQQPPQQQQQQQQQQQQQQQQQQQQPPQQQQPPQQQQPPQQQQQQQQPPQQQQQQQQQQQQQQPPQQQQQQQQQQQQQQPPQQQQQQQQQQPPQQQQQQQQQQQQQQQQQQQQQQQQQQPPQQQQQQQQQQQQQQQQQQQQQQQQPPQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQPPQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQPPPPQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQPPQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQPPQQQQQQQQQQQQPPQQQQQQPPQQQQQQPPQQPPQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQPPQQQQQQPPQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQPPQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQPPQQQQQQQQQQPPQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQPPQQQQQQQQQQQQQQQQQQQQQQQQQQPPQQQQQQQQPPPPQQQQQQQQQQPPQQQQQQQQQQQQQQPPPPQQQQQQQQQQQQPPQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQPPQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQPPQQQQQQQQQQQQQQQQQQPPQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQPPPPQQQQQQQQPPQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQPPQQQQQQQQQQQQQQQQQQQQQQPPQQQQQQQQQQQQQQQQQQQQQQQQPPQQQQQQQQQQQQPPQQPPQQQQQQPPQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQPPQQQQPPQQQQQQQQQQQQQQQQPPPPPPQQQQQQQQPPQQQQPPQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQPPQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQPPQQQQQQQQPPQQPPQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQPPPPQQQQQQQQQQQQQQPPQQPPQQQQQQPPQQQQQQPPQQPPQQQQPPQQQQQQQQQQQQPPQQPPQQQQQQPPQQQQQQQQQQQQPPQQQQQQQQPPQQQQQQQQPPQQPPQQQQQQQQQQQQQQPPPPQQPPQQQQPPQQPPQQQQPPQQQQQQQQQQQQQQQQQQQQQQPPQQQQQQQQQQQQQQQQPPQQQQQQQQQQQQQQQQQQQQPPPPQQPPQQQQPPQQQQQQPPQQQQPPQQQQQQQQPPPPQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQPPQQQQQQPPQQQQQQPPPPQQQQQQQQQQQQQQQQQQQQQQQQQQQQPPQQQQQQQQPPQQQQQQQQQQQQQQQQQQQQQQPPQQQQQQQQQQQQQQPPPPQQQQQQQQQQQQPPQQQQQQPPQQQQQQPPPPQQQQQQQQQQPPQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQPPPPPPQQQQQQQQQQPPPPQQQQPPQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQPPQQQQQQQQQQQQQQPPQQPPQQQQQQQQQQQQQQQQQQPPQQQQQQQQQQQQQQQQPPQQQQQQPPQQQQQQQQQQQQQQQQPPQQQQQQQQPPPPQQQQQQQQPPQQQQPPPPQQQQQQQQPPQQQQQQQQPPQQQQQQQQQQQQQQQQQQQQQQQQQQPPQQPPPPQQPPQQQQPPQQQQQQQQQQPPQQQQQQQQQQPPQQQQQQPPPPQQQQPPQQQQQQQQQQQQPPQQQQPPQQQQQQQQPPQQQQPPQQPPPPQQQQQQQQQQQQQQQQQQQQQQPPQQPPQQQQQQQQQQPPQQPPQQQQQQQQQQPPQQQQQQQQQQQQQQQQQQQQPPQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQPPQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQPPQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQPPQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQPPQQQQQQQQQQPPQQQQQQQQQQPPQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQPPQQQQQQQQQQQQQQQQPPQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQPPPPQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQPPQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQPPQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQPPQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQPPQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQPPQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQPPQQQQQQQQQQQQQQQQQQQQQQQQPPQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQPPQQQQQQQQQQQQQQQQPPQQQQPPQQPPPPQQQQQQQQQQQQQQQQQQQQQQQQPPQQQQQQQQQQPPQQQQQQQQQQQQQQQQQQQQQQQQQQPPQQQQQQQQQQQQQQQQQQQQPPQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQPPQQQQQQQQQQPPQQQQPPQQQQPPQQQQQQPPQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQPPQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQPPQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQPPPPQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQPPQQQQQQQQPPPPQQPPQQQQQQQQQQQQQQQQQQQQQQQQPPQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQPPQQQQQQQQQQPPQQPPQQQQQQQQQQQQQQQQQQQQQQQQPPQQQQQQQQQQQQQQPPQQPPQQQQQQQQQQPPQQQQQQQQPPQQQQQQQQQQQQQQQQQQQQQQQQPPQQQQQQPPQQQQQQQQQQQQQQQQQQPPPPQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQPPQQQQQQQQQQQQQQQQQQPPQQQQQQQQPPQQQQQQQQQQQQQQQQQQPPQQQQQQQQQQQQQQQQQQPPQQQQQQQQQQQQQQQQPPQQQQPPQQQQQQQQQQQQQQQQQQQQPPQQPPQQQQQQQQPPQQQQQQQQQQQQPPQQQQQQQQPPQQQQPPQQQQQQQQQQQQQQQQQQPPQQQQQQQQQQQQPPQQQQQQQQQQQQPPQQQQQQQQQQQQQQPPQQQQQQQQQQQQQQQQQQQQPPQQQQPPQQQQPPQQQQQQQQPPQQQQQQQQQQQQQQPPQQQQQQQQQQQQQQPPQQQQQQQQQQPPQQQQQQQQQQQQQQQQQQQQQQQQQQPPQQQQQQQQQQQQQQQQQQQQQQQQPPQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQPPQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQPPPPQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQPPQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQPPQQQQQQQQQQQQPPQQQQQQPPQQQQQQPPQQPPQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQPPQQQQQQPPQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQPPQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQPPQQQQQQQQQQPPQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQPPQQQQQQQQQQQQQQQQQQQQQQQQQQPPQQQQQQQQPPPPQQQQQQQQQQPPQQQQQQQQQQQQQQPPPPQQQQQQQQQQQQPPQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQPPQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQPPQQQQQQQQQQQQQQQQQQPPQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQPPPPQQQQQQQQPPQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQPPQQQQQQQQQQQQQQQQQQQQQQPPQQQQQQQQQQQQQQQQQQQQQQQQPPQQQQQQQQQQQQPPQQPPQQQQQQPPQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQPPQQQQPPQQQQQQQQQQQQQQQQPPPPPPQQQQQQQQPPQQQQPPQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQPPQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQPPQQQQQQQQPPQQPPQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQPPPPQQQQQQQQQQQQQQPPQQPPQQQQQQPPQQQQQQPPQQPPQQQQPPQQQQQQQQQQQQPPQQPPQQQQQQPPQQQQQQQQQQQQPPQQQQQQQQPPQQQQQQQQPPQQPPQQQQQQQQQQQQQQPPPPQQPPQQQQPPQQPPQQQQPPQQQQQQQQQQQQQQQQQQQQQQPPQQQQQQQQQQQQQQQQPPQQQQQQQQQQQQQQQQQQQQPPPPQQPPQQQQPPQQQQQQPPQQQQPPQQQQQQQQPPPPQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQPPQQQQQQPPQQQQQQPPPPQQQQQQQQQQQQQQQQQQQQQQQQQQQQPPQQQQQQQQPPQQQQQQQQQQQQQQQQQQQQQQPPQQQQQQQQQQQQQQPPPPQQQQQQQQQQQQPPQQQQQQPPQQQQQQPPPPQQQQQQQQQQPPQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQPPPPPPQQQQQQQQQQPPPPQQQQPPQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQPPQQQQQQQQQQQQQQPPQQPPQQQQQQQQQQQQQQQQQQPPQQQQQQQQQQQQQQQQPPQQQQQQPPQQQQQQQQQQQQQQQQPPQQQQQQQQPPPPQQQQQQQQPPQQQQPPPPQQQQQQQQPPQQQQQQQQPPQQQQQQQQQQQQQQQQQQQQQQQQQQPPQQPPPPQQPPQQQQPPQQQQQQQQQQPPQQQQQQQQQQPPQQQQQQPPPPQQQQPPQQQQQQQQQQQQPPQQQQPPQQQQQQQQPPQQQQPPQQPPPPQQQQQQQQQQQQQQQQQQQQQQPPQQPPQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQPPQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQPPQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQPPQQQQQQQQQQPPQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQPPQQPPQQQQQQQQQQQQQQQQQQQQQQPPQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQPPQQQQQQQQQQQQQQQQPPQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQPPQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQPPQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQPPQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQPPQQQQQQQQQQPPQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQPPQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQPPQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQPPQQQQQQQQQQQQQQPPQQPPQQQQQQQQQQQQQQQQQQQQQQQQQQQQPPQQQQQQQQQQQQQQQQQQQQQQPPQQQQQQQQQQQQPPQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQPPQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQPPPPQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQPPQQQQQQQQQQQQQQQQQQQQQQPPQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQPPPPQQQQQQQQQQQQQQPPQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQPPQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQPPQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQPPQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQPPQQQQQQQQQQQQQQQQQQQQQQQQPPQQQQQQPPQQQQPPQQQQQQQQQQQQQQQQQQQQPPQQQQQQQQQQPPPPQQQQQQQQQQPPQQQQQQQQQQQQQQQQPPQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQPPQQQQQQQQPPPPQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQPPQQQQQQQQQQQQQQPPQQQQQQQQQQQQQQQQQQQQQQQQQQPPQQQQQQQQQQQQQQQQQQQQQQQQQQQQPPQQQQQQQQQQQQQQPPQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQPPQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQPPQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQPPQQQQQQQQQQQQQQQQQQQQQQQQPPQQQQPPPPQQQQQQQQPPPPQQPPQQQQQQQQQQQQQQQQQQQQPPQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQPPQQQQQQQQQQQQQQQQQQQQQQQQQQPPQQQQQQQQQQQQQQQQPPQQQQQQQQQQQQQQQQQQQQQQPPQQQQQQQQPPQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQPPQQQQPPPPPPQQQQQQPPQQQQPPQQQQQQQQQQQQQQQQQQQQQQPPQQQQQQQQQQQQQQQQQQQQQQPPQQQQQQQQQQQQQQQQPPPPQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQPPQQQQQQQQQQQQPPQQQQQQQQQQQQQQPPQQQQQQQQQQQQQQPPQQPPQQQQQQQQQQQQQQPPPPQQQQQQQQPPQQQQQQQQQQQQQQQQQQQQQQQQPPQQQQQQQQQQQQQQQQQQQQQQQQPPQQQQQQQQQQQQQQQQPPQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQPPQQQQQQQQPPQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQPPQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQPPQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQPPQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQPPQQQQQQQQQQPPQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQPPQQPPQQQQQQQQQQQQQQQQQQQQQQPPQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQPPQQQQQQQQQQQQQQQQPPQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQPQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQPPQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQPPQQQQQQQQQQPPQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQPPQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQPPQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQPPQQQQQQQQQQQQQQPPQQPPQQQQQQQQQQQQQQQQQQQQQQQQQQQQPPQQQQQQQQQQQQQQQQQQQQQQPPQQQQQQQQQQQQPPQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQPPQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQPPPPQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQPPQQQQQQQQQQQQQQQQQQQQQQPPQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQPPPPQQQQQQQQQQQQQQPPQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQPPQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQPPQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQPPQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQPPQQQQQQQQQQQQQQQQQQQQQQQQPPQQQQQQPPQQQQPPQQQQQQQQQQQQQQQQQQQQPPQQQQQQQQQQPPPPQQQQQQQQQQPPQQQQQQQQQQQQQQQQPPQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQPPQQQQQQQQPPPPQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQPPQQQQQQQQQQQQQQPPQQQQQQQQQQQQQQQQQQQQQQQQQQPPQQQQQQQQQQQQQQQQQQQQQQQQQQQQPPQQQQQQQQQQQQQQPPQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQPPQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQPPQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQPPQQQQQQQQQQQQQQQQQQQQQQQQPPQQQQPPPPQQQQQQQQPPPPQQPPQQQQQQQQQQQQQQQQQQQQPPQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQPPQQQQQQQQQQQQQQQQQQQQQQQQQQPPQQQQQQQQQQQQQQQQPPQQQQQQQQQQQQQQQQQQQQQQPPQQQQQQQQPPQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQPPQQQQPPPPPPQQQQQQPPQQQQPPQQQQQQQQQQQQQQQQQQQQQQPPQQQQQQQQQQQQQQQQQQQQQQPPQQQQQQQQQQQQQQQQPPPPQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQPPQQQQQQQQQQQQPPQQQQQQQQQQQQQQPPQQQQQQQQQQQQQQPPQQPPQQQQQQQQQQQQQQPPPPQQQQQQQQPPQQQQQQQQQQQQQQQQQQQQQQQQPPQQQQQQQQQQQQQQQQQQQQQQQQPPQQQQQQQQQQQQQQQQPPQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQPPQQQQQQQQPPQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQPPQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQRRQQQQQQQQQQRRQQQQQQQQQQQQQQRRQQQQQQQQQQQQQQQQQQQQRRQQQQQQQQQQQQQQQQQQQQQQQQQQRRQQQQRRQQQQQQQQQQQQQQQQQQQQQQQQQQRRQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQRRQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQRRQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQRRQQQQQQRRQQQQQQQQQQQRQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQRRQQQQRRQQRRQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQRRQQQQQQQQQQQQQQQQQQQQRRQQQQQQRRQQQQQQQQQQQQQQQQQQQQQQQQQQRRQQRRQQRRQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQRRQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQRRQQQQQQQQQQQQRRQQRRQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQRRQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQRRQQQQQQQQQQQQQQQQRRQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQRRQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQRRQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQRRQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQRRQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQRRQQQQQQQQRRQQQQQQQQQQQQQQQQQQQQRRQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQRRQQQQRRQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQRRQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQRRQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQRRQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQRRQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQRRQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQPPQQQQQQPPQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQPPQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQPPQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQPPQQQQQQQQQQQQQQQQQQQQQQQQQQQQPPQQQQQQPPQQPPQQQQQQQQQQPPQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQPPQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQPPQQQQQQQQQQQQQQQQPPQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQRRQQQQQQQQQQRRQQQQQQQQQQQQQQRRQQQQQQQQQQQQQQQQQQQQRRQQQQQQQQQQQQQQQQQQQQQQQQQQRRQQQQRRQQQQQQQQQQQQQQQQQQQQQQQQQQRRQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQRRQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQRRQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQRRQQQQQQRRQQQQQQQQQQRRQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQRRQQQQRRQQRRQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQRRQQQQQQQQQQQQQQQQQQQQRRQQQQQQRRQQQQQQQQQQQQQQQQQQQQQQQQQQRRQQRRQQRRQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQRRQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQRRQQQQQQQQQQQQRRQQRRQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQRRQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQRRQQQQQQQQQQQQQQQQRRQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQRRQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQRRQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQRRQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQRRQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQRRQQQQQQQQRRQQQQQQRRQQQQQQQQQQQQRRQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQRRQQQQRRQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQRRQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQRRQQQQQQQQQQQQQQQQQQQQQQQQQQRRQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQRRQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQRRQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQRRQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQRRQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQRRQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQRRQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQPPQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQPPQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQPPQQQQQQQQQQQQQQQQQQQQQQQQQQQQPPQQQQQQPPQQPPQQQQQQQQQQPPQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQPPQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQPPQQQQQQQQQQQQQQQQPPQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQRRQQRRRRQQQQQQQQQQQQRRQQQQQQQQQQQQRRQQQQQQRRQQRRQQQQQQRRQQRRQQQQQQQQQQRRRRQQQQQQQQRRQQRRQQQQQQRRRRQQQQQQQQQQQQRRQQQQQQQQQQRRQQQQRRQQQQQQQQQQQQQQRRRRQQQQRRQQQQRRQQQQQQQQQQRRQQQQRRQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQRRQQQQRRQQQQQQQQQQQQQQQQQQRRRRQQQQQQQQRRQQQQQQQQRRQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQRRQQQQRRQQQQQQQQQQQQRRRRQQRRQQRRQQQQQQQQQQQQQQQQQQRRQQRRQQQQQQRRQQQQQQRRRRQQQQRRQQQQQQQQRRRRQQQQQQQQQQQQQQRRQQQQQQQQQQRRQQQQQQQQQQQQQQQQQQQQRRQQQQRRQQQQQQQQQQQQQQQQQQQQQQQQQQRRQQQQQQQQQQQQQQQQQQRRQQRRQQQQQQQQQQQQQQRRRRRRQQQQRRQQQQRRQQQQQQQQQQRRQQQQQQQQRRQQQQQQQQQQQQQQQQQQRRQQQQQQQQRRQQQQQQQQQQQQQQQQQQRRQQRRRRQQQQQQQQQQQQQQQQQQQQRRRRQQQQQQQQQQQQQQQQQQQQQQRRQQQQQQQQQQQQQQQQQQQQRRQQRRRRQQQQQQQQRRQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQRRQQRRQQQQRRRRQQQQRRQQRRQQQQQQQQQQQQQQQQQQQQRRRRRRQQQQQQQQQQRRQQQQQQQQQQQQQQRRQQQQQQQQQQRRQQRRQQQQQQQQQQQQRRQQQQQQQQQQQQQQQQQQQQQQQQQQQQRRRRRRQQQQQQQQRRQQQQQQRRQQQQRRQQQQRRQQRRQQQQQQRRQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQRRQQQQQQQQQQQQQQQQQQRRQQQQQQQQQQQQRRQQQQQQQQQQQQQQQQQQQQRRQQQQQQQQQQRRQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQRRQQQQRRQQRRQQRRQQQQQQQQQQQQQQQQQQRRQQQQRRQQQQQQQQQQQQRRQQRRQQQQQQQQQQQQRRQQQQQQRRQQQQQQQQQQQQQQQQRRQQQQQQQQQQQQQQQQRRQQQQRRQQQQRRQQRRQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQRRQQQQQQQQQQQQRRQQQQQQQQRRQQQQQQQQQQRRQQQQQQQQQQQQQQQQQQQQQQRRQQQQQQQQQQQQQQRRQQQQRRQQQQQQQQQQQQQQQQRRQQQQQQQQQQQQQQQQQQQQQQQQQQRRQQRRQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQRRRRQQQQQQQQQQQQQQQQQQQQQQQQRRQQQQQQRRQQQQQQQQQQQQRRQQRRQQQQRRQQQQQQQQQQQQQQQQRRQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQRRQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQRRQQQQQQQQRRQQQQQQQQQQQQRRQQQQQQQQRRQQQQQQQQQQQQQQRRQQQQQQQQQQQQQQRRQQQQQQQQQQQQRRQQQQQQQQQQQQQQRRQQQQQQRRQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQRRQQRRQQQQQQQQQQQQQQRRQQQQRRRRQQQQQQQQQQQQQQQQQQRRQQQQQQQQQQQQRRQQQQRRQQQQQQQQQQQQQQRRQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQRRQQQQQQQQQQQQQQQQQQQQQQQQQQRRQQQQQQQQQQQQQQRRQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQRRRRQQRRQQQQQQQQQQQQRRQQQQQQRRQQQQQQQQQQQQQQQQQQQQQQQQQQRRQQQQQQQQQQQQRRQQQQRRQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQRRQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQRRQQQQQQRRQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQRRQQQQQQQQQQQQQQQQQQQQQQQQQQRRQQQQRRQQQQQQRRQQQQQQQQRRQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQRRQQQQQQRRQQQQQQQQQQRRQQQQQQRRQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQRRQQQQQQQQQQQQQQQQQQQQRRQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQRRQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQRRQQQQRRQQQQQQQQQQQQQQQQRRRRQQQQQQQQQQQQQQQQQQQQQQQQQQQQRRQQQQQQQQQQQQQQQQQQQQRRRRQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQRRQQQQQQQQQQRRQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQRRRRQQQQQQQQQQQQRRQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQRRQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQRRQQQQQQQQQQQQQQRRQQQQQQQQRRQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQRRQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQRRQQQQQQQQQQRRQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQRRQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQRRQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQRRQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQRRQQQQQQQQQQQQQQQQQQRQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQRRQQRRRRQQQQQQQQQQQQRRQQQQQQQQQQQQRRQQQQQQRRQQRRQQQQQQRRQQRRQQQQQQQQQQRRRRQQQQQQQQRRQQRRQQQQQQRRRRQQQQQQQQQQQQRRQQQQQQQQQQRRQQQQRRQQQQQQQQQQQQQQRRRRQQQQRRQQQQRRQQQQQQQQQQRRQQQQRRQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQRRQQQQRRQQQQQQQQQQQQQQQQQQRRRRQQQQQQQQRRQQQQQQQQRRQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQRRQQQQRRQQQQQQQQQQQQRRRRQQRRQQRRQQQQQQQQQQQQQQQQQQRRQQRRQQQQQQRRQQQQQQRRRRQQQQRRQQQQQQQQRRRRQQQQQQQQQQQQQQRRQQQQQQQQQQRRQQQQQQQQQQQQQQQQQQQQRRQQQQRRQQQQQQQQQQQQQQQQQQQQQQQQQQRRQQQQQQQQQQQQQQQQQQRRQQRRQQQQQQQQQQQQQQRRRRRRQQQQRRQQQQRRQQQQQQQQQQRRQQQQQQQQRRQQQQQQQQQQQQQQQQQQRRQQQQQQQQRRQQQQQQQQQQQQQQQQQQRRQQRRRRQQQQQQQQQQQQQQQQQQQQRRRRQQQQQQQQQQQQQQQQQQQQQQRRQQQQQQQQQQQQQQQQQQQQRRQQRRRRQQQQQQQQRRQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQRRQQRRQQQQRRRRQQQQRRQQRRQQQQQQQQQQQQQQQQQQQQRRRRRRQQQQQQQQQQRRQQQQQQQQQQQQQQRRQQQQQQQQQQRRQQRRQQQQQQQQQQQQRRQQQQQQQQQQQQQQQQQQQQQQQQQQQQRRRRRRQQQQQQQQRRQQQQQQRRQQQQRRQQQQRRQQRRQQQQQQRRQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQRRQQQQQQQQQQQQQQQQQQRRQQQQQQQQQQQQRRQQQQQQQQQQQQQQQQQQQQRRQQQQQQQQQQRRQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQRRQQQQRRQQRRQQRRQQQQQQQQQQQQQQQQQQRRQQQQRRQQQQQQQQQQQQRRQQRRQQQQQQQQQQQQRRQQQQQQRRQQQQQQQQQQQQQQQQRRQQQQQQQQQQQQQQQQRRQQQQRRQQQQRRQQRRQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQRRQQQQQQQQQQQQRRQQQQQQQQRRQQQQQQQQQQRRQQQQQQQQQQQQQQQQQQQQQQRRQQQQQQQQQQQQQQRRQQQQRRQQQQQQQQQQQQQQQQRRQQQQQQQQQQQQQQQQQQQQQQQQQQRRQQRRQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQRRRRQQQQQQQQQQQQQQQQQQQQQQQQRRQQQQQQRRQQQQQQQQQQQQRRQQRRQQQQRRQQQQQQQQQQQQQQQQRRQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQRRQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQRRQQQQQQQQRRQQQQQQQQQQQQRRQQQQQQQQRRQQQQQQQQQQQQQQRRQQQQQQQQQQQQQQRRQQQQQQQQQQQQRRQQQQQQQQQQQQQQRRQQQQQQRRQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQRRQQRRQQQQQQQQQQQQQQRRQQQQRRRRQQQQQQQQQQQQQQQQQQRRQQQQQQQQQQQQRRQQQQRRQQQQQQQQQQQQQQRRQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQRRQQQQQQQQQQQQQQQQQQQQQQQQQQRRQQQQQQQQQQQQQQRRQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQRRRRQQRRQQQQQQQQQQQQRRQQQQQQRRQQQQQQQQQQQQQQQQQQQQQQQQQQRRQQQQQQQQQQQQRRQQQQRRQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQRRQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQRRQQQQQQRRQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQRRQQQQQQQQQQQQQQQQQQQQQQQQQQRRQQQQRRQQQQQQRRQQQQQQQQRRQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQRRQQQQQQRRQQQQQQQQQQRRQQQQQQRRQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQRRQQQQQQQQQQQQQQQQQQQQRRQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQRRQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQRRQQQQRRQQQQQQQQQQQQQQQQRRRRQQQQQQQQQQQQQQQQQQQQQQQQQQQQRRQQQQQQQQQQQQQQQQQQQQRRRRQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQRRQQQQQQQQQQRRQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQRRRRQQQQQQQQQQQQRRQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQRRQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQRRQQQQQQQQQQQQQQQQQQQQQQQQQQQQRRQQQQQQQQQQRRQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQRRQQQQQQQQQQQQQQRRQQQQQQQQRRQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQRRQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQRRQQQQQQQQQQRRQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQRRQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQRRQQQQQQQQRRQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQRRQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQRRQQQQQQQQQQQQQQQQQQRRQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQRRQQQQQQQQQQQQRRQQQQQQQQQQQQQQRRQQQQQQQQRRQQRRQQQQQQQQRRRRQQQQRRQQRRRRQQRRQQQQRRRRQQRRQQQQRRRRQQQQRRQQQQRRQQQQQQRRRRQQQQQQQQRRQQQQQQQQQQQQRRQQQQQQRRRRQQQQRRQQRRQQQQRRRRQQQQRRRRRRRRRRQQRRRRQQQQQQRRQQQQRRRRRRRRQQQQRRRRQQQQRRRRQQQQQQQQQQRRQQRRRRRRRRQQQQQQRRQQQQQQQQQQQQQQRRRRQQQQQQRRQQQQRRQQRRRRQQRRQQRRRRQQRRQQRRQQRRRRQQQQQQQQQQRRQQRRRRRRRRQQQQQQRRRRQQQQRRQQQQRRRRQQRRRRQQQQQQRRRRQQQQQQQQQQQQRRRRQQRRQQQQQQRRRRQQQQRRQQQQRRQQRRQQQQRRRRQQRRQQRRRRQQRRQQQQRRQQQQQQQQQQRRQQRRQQRRRRQQQQRRQQQQRRQQQQQQQQQQQQRRQQQQQQQQQQQQQQQQQQQQRRQQRRQQQQQQRRQQRRQQQQQQQQQQRRRRRRQQRRQQQQQQQQRRRRRRRRQQQQQQRRQQQQRRQQQQRRRRQQRRQQRRQQQQRRQQQQQQQQRRQQQQQQQQRRRRQQQQRRRRQQQQQQRRQQQQQQRRQQRRQQQQQQRRRRRRQQRRQQQQQQQQRRQQRRRRQQRRQQQQRRQQRRQQRRQQQQQQQQQQQQQQRRRRQQRRQQQQQQQQQQRRQQQQQQQQQQRRRRQQRRQQQQRRQQRRRRRRRRRRRRRRQQQQRRQQQQRRRRQQQQQQRRQQQQRRRRRRRRQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQRRQQRRQQRRQQQQRRQQQQRRQQRRRRRRQQQQQQQQRRQQQQRRQQQQRRQQRRQQRRQQRRQQRRQQQQQQRRQQQQRRQQRRQQQQQQQQQQRRQQQQQQRRQQQQRRQQRRRRRRRRRRRRQQQQQQQQRRQQQQRRRRQQQQRRRRRRQQQQRRRRQQQQQQRRQQQQQQRRRRQQQQQQQQRRRRQQQQQQQQQQQQRRQQQQQQQQQQQQRRRRQQQQQQQQQQQQQQRRRRRRRRRRQQQQRRQQRRQQRRQQQQRRRRRRRRRRQQQQQQQQQQQQQQQQQQRRRRQQRRQQQQQQQQQQQQQQQQQQRRRRRRQQQQQQQQQQRRRRRRQQRRQQQQQQQQRRQQQQQQRRRRQQRRQQRRRRRRQQRRQQRRQQQQQQQQQQRRQQRRRRQQQQQQQQRRQQRRRRRRQQQQQQRRQQQQQQQQRRRRQQRRQQRRRRRRQQQQRRRRQQRRQQRRQQRRQQRRRRRRQQQQQQQQQQRRQQRRRRRRQQQQQQRRQQRRQQQQQQQQQQQQQQRRQQQQRRQQRRQQQQQQRRQQQQRRQQQQRRRRRRRRQQQQQQQQRRQQQQQQRRQQQQQQQQRRQQQQQQQQQQQQQQQQQQQQRRQQQQRRQQQQRRQQQQRRQQQQRRRRQQQQQQQQRRRRRRQQRRQQRRQQQQRRQQRRRRQQQQQQQQRRQQQQRRQQQQRRQQRRRRQQRRQQRRQQRRQQQQQQQQRRRRRRQQQQQQQQQQRRRRQQQQQQQQRRQQQQQQQQQQRRQQRRRRRRQQQQQQQQQQRRRRQQRRQQQQQQQQQQQQQQQQRRRRQQQQQQQQRRQQRRQQRRQQQQQQQQQQRRQQQQRRQQQQQQQRRRQQQQQQRRRRQQQQQQQQRRQQRRQQQQQQRRQQRRRRQQRRRRQQQQQQQQRRQQRRQQQQRRQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQRRRRQQRRQQQQRRRRRRQQRRQQRRRRRRQQQQQQQQQQRRRRQQRRRRRRRRQQQQQQQQQQQQQQQQRRQQQQQQRRQQRRQQQQRRQQQQQQQQRRRRRRRRQQQQQQQQQQRRQQQQQQRRQQRRQQRRQQQQQQQQRRQQQQQQQQQQQQQQQQRRQQRRRRQQQQQQQQRRQQQQQQRRQQQQQQQQQQRRRRQQQQQQRRQQQQQQQQRRQQQQQQQQQQQQQQQQQQQQRRRRRRRRQQQQQQRRRRQQRRQQRRQQQQRRQQQQQQQQQQQQQQRRRRQQQQRRQQQQQQQQQQRRQQQQRRQQRRQQQQQQQQQQQQRRQQQQRRRRRRRRQQQQQQQQQQRRQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQRRQQQQQQQQRRRRQQRRQQRRRRQQQQQQRRQQRRQQRRRRQQQQQQRRQQRRRRQQRRRRQQQQRRRRQQQQQQQQQQQQRRRRRRQQQQQQQQQQRRQQQQQQRRRRQQQQQQQQQQQQQQQQQQQQQQQQRRQQQQQQQQQQQQRRRRQQRRQQQQQQQQQQRRQQQQQQQQQQQQRRQQQQQQQQQQQQQQQQRRQQRRQQRRQQQQQQQQQQQQQQQQQQQQQQQQQQQQRRQQQQQQRRQQQQQQQQQQQQQQQQQQQQRRRRQQQQRRRRQQQQQQRRQQQQQQQQRRQQQQQQQQQQQQQQQQQQQQQQQQQQRRQQRRQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQRRRRQQQQQQQQQQQQQQQQQQQQQQQQRRRRRRQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQRRRRQQQQQQQQQQQQQQQQRRQQQQQQQQQQQQQQQQQQQQQQQQQQRRRRQQQQQQQQQQQQQQQQQQRRQQQQQQQQQQQQQQQQQQQQQQQQRRQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQRRQQQQQQRRRRQQQQRRQQQQQQRRQQQQQQQQQQQQRRQQRRQQRRQQQQQQQQRRQQQQQQRRQQQQQQQQQQQQRRRRQQQQQQQQQQQQRRRRQQQQQQQQRRQQRRQQRRRRQQQQQQQQQQQQQQQQRRQQRRQQQQQQQQQQQQQQRRQQQQQQQQQQQQQQRRRRQQQQQQQQQQQQQQQQQQRRQQQQQQQQQQQQQQQQQQRRQQQQQQQQQQQQQQQQRRQQQQQQQQQQQQQQQQQQQQRRQQQQQQQQQQQQQQQQQQQQRRQQQQQQQQQQRRQQQQQQRRQQQQQQQQRRQQQQQQQQQQQQQQQQQQRRRRQQQQQQQQQQQQRRQQQQQQQQRRQQRRQQQQQQQQQQQQQQQQQQRRQQQQRRQQQQQQQQQQQQRRQQQQQQQQQQQQQQQQRRQQQQQQRRQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQRRRRQQQQQQQQRRRRQQQQQQRRQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQRRQQQQQQQQQQQQRRQQRRQQQQRRQQQQQQQQRRQQQQRRQQQQQQQQQQQQQQQQQQQQQQRRQQQQQQQQQQQQQQQQQQQQRRQQQQRRQQQQQQQQQQQQQQQQQQQQQQQQQQRRQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQRRQQQQQQQQQQQQQQQQQQQQRRQQRRQQQQQQQQQQQQQQQQQQQQQQQQQQRRQQRRQQQQQQQQQQQQQQQQQQQQQQRRQQQQQQQQQQRRQQQQQQQQQQQQQQQQRRQQQQRRQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQRRRRQQQQQQRRQQQQQQRRQQQQQQQQQQQQQQQQRRQQQQQQQQQQQQQQQQQQQQQQRRRRQQQQRRRRQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQRRQQQQQQQQRRQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQRRQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQRRQQQQQQQQQQQQRRQQQQQQQQQQQQQQRRQQQQQQQQRRQQRRQQQQQQQQRRRRQQQQRRQQRRRRQQRRQQQQRRRRQQRRQQQQRRRRQQQQRRQQQQRRQQQQQQRRRRQQQQQQQQRRQQQQQQQQQQQQRRQQQQQQRRRRQQQQRRQQRRQQQQRRRRQQQQRRRRRRRRRRQQRRRRQQQQQQRRQQQQRRRRRRRRQQQQRRRRQQQQRRRRQQQQQQQQQQRRQQRRRRRRRRQQQQQQRRQQQQQQQQQQQQQQRRRRQQQQQQRRQQQQRRQQRRRRQQRRQQRRRRQQRRQQRRQQRRRRQQQQQQQQQQRRQQRRRRRRRRQQQQQQRRRRQQQQRRQQQQRRRRQQRRRRQQQQQQRRRRQQQQQQQQQQQQRRRRQQRRQQQQQQRRRRQQQQRRQQQQRRQQRRQQQQRRRRQQRRQQRRRRQQRRQQQQRRQQQQQQQQQQRRQQRRQQRRRRQQQQRRQQQQRRQQQQQQQQQQQQRRQQQQQQQQQQQQQQQQQQQQRRQQRRQQQQQQRRQQRRQQQQQQQQQQRRRRRRQQRRQQQQQQQQRRRRRRRRQQQQQQRRQQQQRRQQQQRRRRQQRRQQRRQQQQRRQQQQQQQQRRQQQQQQQQRRRRQQQQRRRRQQQQQQRRQQQQQQRRQQRRQQQQQQRRRRRRQQRRQQQQQQQQRRQQRRRRQQRRQQQQRRQQRRQQRRQQQQQQQQQQQQQQRRRRQQRRQQQQQQQQQQRRQQQQQQQQQQRRRRQQRRQQQQRRQQRRRRRRRRRRRRRRQQQQRRQQQQRRRRQQQQQQRRQQQQRRRRRRRRQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQRRQQRRQQRRQQQQRRQQQQRRQQRRRRRRQQQQQQQQRRQQQQRRQQQQRRQQRRQQRRQQRRQQRRQQQQQQRRQQQQRRQQRRQQQQQQQQQQRRQQQQQQRRQQQQRRQQRRRRRRRRRRRRQQQQQQQQRRQQQQRRRRQQQQRRRRRRQQQQRRRRQQQQQQRRQQQQQQRRRRQQQQQQQQRRRRQQQQQQQQQQQQRRQQQQQQQQQQQQRRRRQQQQQQQQQQQQQQRRRRRRRRRRQQQQRRQQRRQQRRQQQQRRRRRRRRRRQQQQQQQQQQQQQQQQQQRRRRQQRRQQQQQQQQQQQQQQQQQQRRRRRRQQQQQQQQQQRRRRRRQQRRQQQQQQQQRRQQQQQQRRRRQQRRQQRRRRRRQQRRQQRRQQQQQQQQQQRRQQRRRRQQQQQQQQRRQQRRRRRRQQQQQQRRQQQQQQQQRRRRQQRRQQRRRRRRQQQQRRRRQQRRQQRRQQRRQQRRRRRRQQQQQQQQQQRRQQRRRRRRQQQQQQRRQQRRQQQQQQQQQQQQQQRRQQQQRRQQRRQQQQQQRRQQQQRRQQQQRRRRRRRRQQQQQQQQRRQQQQQQRRQQQQQQQQRRQQQQQQQQQQQQQQQQQQQQRRQQQQRRQQQQRRQQQQRRQQQQRRRRQQQQQQQQRRRRRRQQRRQQRRQQQQRRQQRRRRQQQQQQQQRRQQQQRRQQQQRRQQRRRRQQRRQQRRQQRRQQQQQQQQRRRRRRQQQQQQQQQQRRRRQQQQQQQQRRQQQQQQQQQQRRQQRRRRRRQQQQQQQQQQRRRRQQRRQQQQQQQQQQQQQQQQRRRRQQQQQQQQRRQQRRQQRRQQQQQQRRQQRRQQQQRRQQQQQQRRRRQQQQQQRRRRQQQQQQQQRRQQRRQQQQQQRRQQRRRRQQRRRRQQQQQQQQRRQQRRQQQQRRQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQRRRRQQRRQQQQRRRRRRQQRRQQRRRRRRQQQQQQQQQQRRRRQQRRRRRRRRQQQQQQQQQQQQQQQQRRQQQQQQRRQQRRQQQQRRQQQQQQQQRRRRRRRRQQQQQQQQQQRRQQQQQQRRQQRRQQRRQQQQQQQQRRQQQQQQQQQQQQQQQQRRQQRRRRQQQQQQQQRRQQQQQQRRQQQQQQQQQQRRRRQQQQQQRRQQQQQQQQRRQQQQQQQQQQQQQQQQQQQQRRRRRRRRQQQQQQRRRRQQRRQQRRQQQQRRQQQQQQQQQQQQQQRRRRQQQQRRQQQQQQQQQQRRQQQQRRQQRRQQQQQQQQQQQQRRQQQQRRRRRRRRQQQQQQQQQQRRQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQRRQQQQQQQQRRRRQQRRQQRRRRQQQQQQRRQQRRQQRRRRQQQQQQRRQQRRRRQQRRRRQQQQRRRRQQQQQQQQQQQQRRRRRRQQQQQQQQQQRRQQQQQQRRRRQQQQQQQQQQQQQQQQQQQQQQQQRRQQQQQQQQQQQQRRRRQQRRQQQQQQQQQQRRQQQQQQQQQQQQRRQQQQQQQQQQQQQQQQRRQQRRQQRRQQQQQQQQQQQQQQQQQQQQQQQQQQQQRRQQQQQQRRQQQQQQQQQQQQQQQQQQQQRRRRQQQQRRRRQQQQQQRRQQQQQQQQRRQQQQQQQQQQQQQQQQQQQQQQQQQQRRQQRRQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQRRRRQQQQQQQQQQQQQQQQQQQQQQQQRRRRRRQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQRRRRQQQQQQQQQQQQQQQQRRQQQQQQQQQQQQQQQQQQQQQQQQQQRRRRQQQQQQQQQQQQQQQQQQRRQQQQQQQQQQQQQQQQQQQQQQQQRRQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQRRQQQQQQRRRRQQQQRRQQQQQQRRQQQQQQQQQQQQRRQQRRQQRRQQQQQQQQRRQQQQQQRRQQQQQQQQQQQQRRRRQQQQQQQQQQQQRRRRQQQQQQQQRRQQRRQQRRRRQQQQQQQQQQQQQQQQRRQQRRQQQQQQQQQQQQQQRRQQQQQQQQQQQQQQRRRRQQQQQQQQQQQQQQQQQQRRQQQQQQQQQQQQQQQQQQRRQQQQQQQQQQQQQQQQRRQQQQQQQQQQQQQQQQQQQQRRQQQQQQQQQQQQQQQQQQQQRRRRQQQQQQQQRRQQQQQQRRQQQQQQQQRRQQQQQQQQQQQQQQQQQQRRRRQQQQQQQQQQQQRRQQQQQQQQRRQQRRQQQQQQQQQQQQQQQQQQRRQQQQRRQQQQQQQQQQQQRRQQQQQQQQQQQQQQQQRRQQQQQQRRQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQRRRRQQQQQQQQRRRRQQQQQQRRQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQRRQQQQQQQQQQQQQQQQRRQQQQQQQQQQQQRRQQRRQQQQRRQQQQQQQQRRQQQQRRQQQQQQQQQQQQQQQQQQQQQQRRQQQQQQQQQQQQQQQQQQQQRRQQQQRRQQQQQQQQQQQQQQQQQQQQQQQQQQRRQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQRRQQQQQQQQQQQQQQQQQQQQRRQQRRQQQQQQQQQQQQQQQQQQQQQQQQQQRRQQRRQQQQQQQQQQQQQQQQQQQQQQRRQQQQQQQQQQRRQQQQQQQQQQQQQQQQRRQQQQRRQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQRRRRQQQQQQRRQQQQQQRRQQQQQQQQQQQQQQQQRRQQQQQQQQQQQQQQQQQQQQQQRRRRQQQQRRRRQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQRRQQQQQQQQRRQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQRRQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQRRQQRRQQRRRRRRRRRRRRQQQQRRRRRRQQRRRRQQRRRRQQRRRRRRRRRRRRQQQQQQRRRRRRRRRRQQQQRRRRRRRRQQRRRRRRRRQQRRQQRRRRQQRRRRQQQQQQRRQQRRRRRRRRRRQQQQQQQQRRRRRRRRRRRRQQRRRRRRRRRRRRQQRRRRRRRRRRRRRRRRQQRRQQQQQQRRRRRRQQQQQQQQRRRRQQQQRRQQRRQQRRRRRRQQRRQQRRQQRRQQRRQQRRQQQQQQRRRRRRQQRRRRRRRRRRRRRRQQRRQQRRRRQQQQRRQQRRRRRRRRQQQQQQQQRRQQQQQQQQQQRRQQRRRRQQRRQQRRRRRRQQRRQQQQRRQQRRRRRRRRQQRRRRQQRRRRRRQQRRRRRRRRRRRRQQRRRRRRQQRRQQRRRRRRQQRRRRRRQQRRRRQQRRRRQQQQQQRRRRRRRRQQRRRRQQQQRRRRQQQQRRRRQQQQQQRRQQRRQQRRRRRRQQRRRRQQQQQQQQQQQQRRRRQQQQRRRRQQQQRRRRRRQQRRQQRRRRQQRRQQQQRRQQRRQQQQQQQQRRQQRRRRQQRRQQQQRRQQRRQQRRRRQQRRRRQQRRQQRRQQRRRRRRQQRRRRRRRRRRQQQQRRRRQQQQRRQQQQRRRRRRRRRRQQRRQQQQRRRRRRQQRRRRRRRRRRQQRRRRRRRRRRRRQQQQRRQQRRQQQQRRRRQQRRQQQQQQRRQQQQQQQQRRRRQQRRRRQQQQRRQQQQRRRRRRRRRRRRRRRRRRRRQQQQRRQQRRRRRRQQQQRRRRRRRRRRQQRRRRRRQQQQRRRRQQRRRRRRRRRRRRQQRRQQRRRRRRQQQQRRQQRRRRRRRRQQRRRRRRQQRRRRQQRRRRRRQQRRRRRRRRRRRRRRQQRRRRRRQQRRQQQQQQRRRRQQQQRRRRRRRRQQQQRRQQQQRRRRQQRRQQRRQQRRQQRRRRQQRRRRRRRRQQQQRRQQRRRRQQQQQQRRQQQQRRRRQQQQRRQQQQQQQQRRRRRRQQRRRRQQRRRRRRRRQQRRRRRRQQRRQQRRRRRRQQRRQQQQQQQQQQRRRRRRRRQQRRRRQQQQRRRRRRQQQQQQRRQQQQQQQQQQRRRRQQQQRRRRQQQQQQRRQQRRQQRRQQRRRRRRRRQQQQQQRRQQQQQQQQRRQQQQRRQQRRRRQQRRQQQQQQRRQQQQRRQQQQRRQQQQRRQQRRQQQQQQQQRRRRQQRRRRRRQQQQQQQQQQRRQQRRRRQQQQQQRRQQQQRRRRRRQQRRQQQQQQQQQQRRRRQQRRQQQQQQRRQQQQQQQQQQRRQQRRQQRRQQQQRRQQQQRRRRQQRRQQQQRRRRQQRRRRQQQQQQQQRRQQQQRRRRQQQQQQQQRRRRQQQQQQQQRRQQQQQQRRRRRRRRQQRRQQQQRRQQRRQQQQRRRRRRRRRRQQRRQQRRQQRRRRRRQQRRRRQQQQRRQQRRRRRRRRQQQQQQQQRRRRRRRRRRRRRRRRQQRRRRQQRRRRRRQQRRQQQQRRRRRRRRQQRRRRQQQQRRQQRRQQQQRRRRQQQQQQQQQQRRRRRRQQRRRRQQQQQQQQQQQQRRQQRRQQQQRRQQQQQQQQQQRRQQQQQQQQQQRRRRQQRRQQQQRRQQQQQQQQRRRRRRQQRRRRRRQQQQQQQQQQQQQQQQQQQQQQQQQQRRRRRRQQQQRRQQQQRRQQQQRRQQRRRRQQQQRRRRRRQQQQRRRRRRRRRRQQRRQQRRRRRRRRQQQQRRQQQQRRQQQQQQQQQQQQQQRRQQQQRRQQQQQQRRQQQQQQQQRRQQQQRRQQRRQQRRRRQQRRQQQQQQRRQQRRRRQQRRQQRRRRRRRRQQQQRRRRRRQQRRRRRRQQRRQQQQRRRRRRRRRRRRQQQQRRRRRRQQQQQQQQRRRRQQRRRRRRRRRRQQRRRRRRQQRRRRQQRRQQRRQQQQRRQQRRRRRRRRRRRRQQRRQQQQRRQQQQRRQQQQRRRRQQRRQQQQQQRRQQQQQQQQQQQQQQRRQQQQQQQQRRQQQQRRQQRRQQRRRRQQRRRRQQQQRRQQQQQQQQRRRRRRRRQQQQRRQQQQQQRRRRRRQQRRQQRRQQRRQQRRRRRRRRQQQQRRRRRRRRQQRRRRQQRRRRRRRRRRQQRRRRRRQQQQQQRRQQQQRRQQQQRRQQRRRRQQQQQQQQRRQQRRQQQQQQQQQQQQRRQQQQRRQQRRQQQQRRRRRRQQQQQQQQQQRRQQRRQQQQRRQQQQRRQQQQQQQQRRQQRRRRRRRRRRQQQQRRQQRRQQRRQQRRQQRRQQRRQQQQQQQQRRRRRRQQQQRRRRRRRRRRRRRRQQRRRRQQQQRRQQRRQQRRQQQQQQRRRRRRRRRRQQRRQQRRQQRRRRQQQQQQQQRRQQQQQQQQQQRRRRQQQQQQRRQQQQRRRRRRQQQQRRRRQQRRRRQQQQRRRRQQQQRRQQQQRRQQQQRRRRQQQQQQQQQQRRQQRRRRQQQQQQRRQQQQQQQQRRQQRRQQQQRRQQRRQQQQRRQQQQQQRRQQRRQQQQQQQQRRRRQQQQRRQQQQQQQQRRRRQQRRRRRRRRQQQQQQQQQQQQRRRRQQQQQQQQQQRRQQRRRRQQQQQQQQQQQQQQRRRRRRQQQQQQQQRRQQQQQQRRRRRRRRQQQQQQQQQQQQRRQQRRRRRRRRQQQQQQRRQQRRQQRRRRQQQQQQRRRRRRQQRRRRRRQQQQRRQQRRRRRRQQRRQQQQQQQQQQQQQQQQQQRRQQQQQQRRRRQQRRRRQQQQQQRRQQQQQQRRQQRRRRQQQQRRRRQQQQQQQQRRRRRRQQRRQQRRRRRRRRRRQQRRRRRRQQQQQQRRRRRRQQQQRRQQQQRRQQQQRRQQRRRRRRQQQQQQRRRRQQQQRRQQQQQQRRRRQQQQQQQQQQRRQQRRRRQQRRQQQQQQQQQQQQQQRRQQRRRRRRRRRRQQRRQQQQRRQQRRRRRRQQQQQQQQQQQQRRQQRRQQQQRRQQQQQQQQRRRRQQRRQQQQRRQQRRQQQQQQQQQQQQQQQQRRQQQQRRRRRRQQQQQQQQQQRRRRQQQQRRQQQQRRQQRRQQQQQQRRRRQQQQQQQQQQQQQQQQRRRRRRRRQQQQQQRRQQRRQQRRQQRRQQRRQQRRQQQQQQQQQQQQQQQQQQRRRRQQQQQQRRRRQQQQQQQQQQQQQQRRRRQQQQQQRRQQQQRRQQQQQQRRQQQQQQQQQQQQRRQQQQRRRRQQRRQQRRQQQQQQRRQQRRQQQQQQRRQQRRRRQQQQQQQQQQQQQQQQQQQQQQQQQQRRRRQQQQQQRRQQQQRRQQQQRRQQQQRRRRQQRRQQQQQQRRRRQQQQRRQQQQQQQQQQQQRRQQRRRRQQQQQQQQRRQQQQRRRRQQQQQQRRQQRRQQRRRRQQQQRRRRQQQQQQQQQQQQQQQQRRRRQQQQRRQQQQRRRRQQQQRRQQQQQQQQRRQQQQQQRRQQQQQQQQQQRRQQRRQQRRQQQQQQQQQQQQQQRRQQRRQQQQQQRRRRRRQQQQRRRRQQRRQQQQRRQQRRRRRRQQRRQQRRRRQQQQRRRRQQRRRRRRRRQQRRRRQQQQQQQQRRQQQQQQQQQQRRQQQQQQRRRRQQQQQQRRQQRRQQQQQQQQQQQQRRQQQQRRQQQQQQRRQQQQQQQQQQQQRRQQRRQQQQQQQQRRQQQQQQQQQQRRQQRRRRRRQQRRQQQQRRQQRRQQQQRRQQQQQQQQQQQQRRQQRRQQQQQQQQRRQQQQQQQQQQQQQQRRQQQQQQQQQQQQQQRRQQQQQQQQQQQQRRRRQQQQQQQQQQRRQQQQQQQQQQQQQQQQQQQQQQRRQQQQRRQQQQQQQQQQQQQQRRQQRRQQRRRRRRRRRRRRQQQQRRRRRRQQRRRRQQRRRRQQRRRRRRRRRRRRQQQQQQRRRRRRRRRRQQQQRRRRRRRRQQRRRRRRRRQQRRQQRRRRQQRRRRQQQQQQRRQQRRRRRRRRRRQQQQQQQQRRRRRRRRRRRRQQRRRRRRRRRRRRQQRRRRRRRRRRRRRRRRQQRRQQQQQQRRRRRRQQQQQQQQRRRRQQQQRRQQRRQQRRRRRRQQRRQQRRQQRRQQRRQQRRQQQQQQRRRRRRQQRRRRRRRRRRRRRRQQRRQQRRRRQQQQRRQQRRRRRRRRQQQQQQQQRRQQQQQQQQQQRRQQRRRRQQRRQQRRRRRRQQRRQQQQRRQQRRRRRRRRQQRRRRQQRRRRRRQQRRRRRRRRRRRRQQRRRRRRQQRRQQRRRRRRQQRRRRRRQQRRRRQQRRRRQQQQQQRRRRRRRRQQRRRRQQQQRRRRQQQQRRRRQQQQQQRRQQRRQQRRRRRRQQRRRRQQQQQQQQQQQQRRRRQQQQRRRRQQQQRRRRRRQQRRQQRRRRQQRRQQQQRRQQRRQQQQQQQQRRQQRRRRQQRRQQQQRRQQRRQQRRRRQQRRRRQQRRQQRRQQRRRRRRQQRRRRRRRRRRQQQQRRRRQQQQRRQQQQRRRRRRRRRRQQRRQQQQRRRRRRQQRRRRRRRRRRQQRRRRRRRRRRRRQQQQRRQQRRQQQQRRRRQQRRQQQQQQRRQQQQQQQQRRRRQQRRRRQQQQRRQQQQRRRRRRRRRRRRRRRRRRRRQQQQRRQQRRRRRRQQQQRRRRRRRRRRQQRRRRRRQQQQRRRRQQRRRRRRRRRRRRQQRRQQRRRRRRQQQQRRQQRRRRRRRRQQRRRRRRQQRRRRQQRRRRRRQQRRRRRRRRRRRRRRQQRRRRRRQQRRQQQQQQRRRRQQQQRRRRRRRRQQQQRRQQQQRRRRQQRRQQRRQQRRQQRRRRQQRRRRRRRRQQQQRRQQRRRRQQQQQQRRQQQQRRRRQQQQRRQQQQQQQQRRRRRRQQRRRRQQRRRRRRRRQQRRRRRRQQRRQQRRRRRRQQRRQQQQQQQQQQRRRRRRRRQQRRRRQQQQRRRRRRQQQQQQRRQQQQQQQQQQRRRRQQQQRRRRQQQQQQRRQQRRQQRRQQRRRRRRRRQQQQQQRRQQQQQQQQRRQQQQRRQQRRRRQQRRQQQQQQRRQQQQRRQQQQRRQQQQRRQQRRQQQQQQQQRRRRQQRRRRRRQQQQQQQQQQRRQQRRRRQQQQQQRRQQQQRRRRRRQQRRQQQQQQQQQQRRRRQQRRQQQQQQRRQQQQQQQQQQRRQQRRQQRRQQQQRRQQQQRRRRQQRRQQQQRRRRQQRRRRQQQQQQQQRRQQQQRRRRQQQQQQQQRRRRQQQQQQQQRRQQQQQQRRRRRRRRQQRRQQQQRRQQRRQQQQRRRRRRRRRRQQRRQQRRQQRRRRRRQQRRRRQQQQRRQQRRRRRRRRQQQQQQQQRRRRRRRRRRRRRRRRQQRRRRQQRRRRRRQQRRQQQQRRRRRRRRQQRRRRQQQQRRQQRRQQQQRRRRQQQQQQQQQQRRRRRRQQRRRRQQQQQQQQQQQQRRQQRRQQQQRRQQQQQQQQQQRRQQQQQQQQQQRRRRQQRRQQQQRRQQQQQQQQRRRRRRQQRRRRRRQQQQQQQQQQQQQQQQQQQQQQQQQQRRRRRRQQQQRRQQQQRRQQQQRRQQRRRRQQQQRRRRRRQQQQRRRRRRRRRRQQRRQQRRRRRRRRQQQQRRQQQQRRQQQQQQQQQQQQQQRRQQQQRRQQQQQQRRQQQQQQQQRRQQQQRRQQRRQQRRRRQQRRQQQQQQRRQQRRRRQQRRQQRRRRRRRRQQQQRRRRRRQQRRRRRRQQRRQQQQRRRRRRRRRRRRQQQQRRRRRRQQQQQQQQRRRRQQRRRRRRRRRRQQRRRRRRQQRRRRQQRRQQRRQQQQRRQQRRRRRRRRRRRRQQRRQQQQRRQQQQRRQQQQRRRRQQRRQQQQQQRRQQQQQQQQQQQQQQRRQQQQQQQQRRQQQQRRQQRRQQRRRRQQRRRRQQQQRRQQQQQQQQRRRRRRRRQQQQRRQQQQQQRRRRRRQQRRQQRRQQRRQQRRRRRRRRQQQQRRRRRRRRQQRRRRQQRRRRRRRRRRQQRRRRRRQQQQQQRRQQQQRRQQQQRRQQRRRRQQQQQQQQRRQQRRQQQQQQQQQQQQRRQQQQRRQQRRQQQQRRRRRRQQQQQQQQQQRRQQRRQQQQRRQQQQRRQQQQQQQQRRQQRRRRRRRRRRQQQQRRQQRRQQRRQQRRQQRRQQRRQQQQQQQQRRRRRRQQQQRRRRRRRRRRRRRRQQRRRRQQQQRRQQRRQQRRQQQQQQRRRRRRRRRRQQRRQQRRQQRRRRQQQQQQQQRRQQQQQQQQQQRRRRQQQQQQRRQQQQRRRRRRQQQQRRRRQQRRRRQQQQRRRRQQQQRRQQQQRRQQQQRRRRQQQQQQQQQQRRQQRRRRQQQQQQRRQQQQQQQQRRQQRRQQQQRRQQRRQQQQRRQQQQQQRRQQRRQQQQQQQQRRRRQQQQRRQQQQQQQQRRRRQQRRRRRRRRQQQQQQQQQQQQRRRRQQQQQQQQQQRRQQRRRRQQQQQQQQQQQQQQRRRRRRQQQQQQQQRRQQQQQQRRRRRRRRQQQQQQQQQQQQRRQQRRRRRRRRQQQQQQRRQQRRQQRRRRQQQQQQRRRRRRQQRRRRRRQQQQRRQQRRRRRRQQRRQQQQQQQQQQQQQQQQQQRRQQQQQQRRRRQQRRRRQQQQQQRRQQQQQQRRQQRRRRQQQQRRRRQQQQQQQQRRRRRRQQRRQQRRRRRRRRRRQQRRRRRRQQQQQQRRRRRRQQQQRRQQQQRRQQQQRRQQRRRRRRQQQQQQRRRRQQQQRRQQQQQQRRRRQQQQQQQQQQRRQQRRRRQQRRQQQQQQQQQQQQQQRRQQRRRRRRRRRRQQRRQQQQRRQQRRRRRRQQQQQQQQQQQQRRQQRRQQQQRRQQQQQQQQRRRRQQRRQQQQRRQQRRQQQQQQQQQQQQQQQQRRQQQQRRRRRRQQQQQQQQRRRRRRQQQQRRQQQQRRQQRRQQQQQQRRRRQQQQQQQQQQQQQQQQRRRRRRRRQQQQQQRRQQRRQQRRQQRRQQRRQQRRQQQQQQQQQQQQQQQQQQRRRRQQQQQQRRRRQQQQQQQQQQQQQQRRRRQQQQQQRRQQQQRRQQQQQQRRQQQQQQQQQQQQRRQQQQRRRRQQRRQQRRQQQQQQRRQQRRQQQQQQRRQQRRRRQQQQQQQQQQQQQQQQQQQQQQQQQQRRRRQQQQQQRRQQRRRRQQQQRRQQQQRRRRQQRRQQQQQQRRRRQQQQRRQQQQQQQQQQQQRRQQRRRRQQQQQQQQRRQQQQRRRRQQQQQQRRQQRRQQRRRRQQQQRRRRQQQQQQQQQQQQQQQQRRRRQQQQRRQQQQRRRRQQQQRRQQQQQQQQRRQQQQQQRRQQQQQQQQQQRRQQRRQQRRQQQQQQQQQQQQQQRRQQRRQQQQQQRRRRRRQQQQRRRRQQRRQQQQRRQQRRRRRRQQRRQQRRRRQQQQRRRRQQRRRRRRRRQQRRRRQQQQQQQQRRQQQQQQQQQQRRQQQQQQRRRRQQQQQQRRQQRRQQQQQQQQQQQQRRQQQQRRQQQQQQRRQQQQQQQQQQQQRRQQRRQQQQQQQQRRQQQQQQQQQQRRQQRRRRRRQQRRQQQQRRQQRRQQQQRRQQQQQQQQQQQQRRQQRRQQQQQQQQRRQQQQQQQQQQQQQQRRQQQQQQQQQQQQQQRRQQQQQQQQQQQQRRRRQQQQQQQQQQRRQQQQQQQQQQQQQQQQQQQQQQRRQQQQRRQQQQQQQQQQQQRRQQRRQQRRRRRRRRRRRRRRRRRRRRRRQQRRRRRRRRRRRRRRRRRRQQRRRRRRRRRRRRQQRRRRQQRRRRRRRRRRRRRRRRRRQQRRRRRRRRRRQQRRRRRRRRRRQQQQQQRRRRRRQQRRRRRRRRRRRRRRQQRRRRQQRRRRRRQQRRRRRRQQRRRRRRQQRRRRQQRRRRRRRRQQQQRRQQRRRRRRRRRRRRQQQQRRRRRRRRRRRRRRRRRRQQRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRQQQQRRRRRRRRRRRRQQRRRRRRRRQQRRRRQQRRRRRRQQRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRQQRRRRRRQQRRRRRRRRRRQQRRRRRRRRQQRRRRRRRRRRRRQQRRQQRRRRRRRRRRQQRRRRRRRRQQRRRRRRRRRRRRQQRRRRRRRRRRRRRRQQRRRRRRRRRRRRRRRRQQQQRRRRRRRRRRQQRRRRRRQQQQRRRRRRRRRRRRRRRRRRRRRRQQRRRRRRRRRRRRRRQQRRQQQQRRRRQQRRRRRRRRRRRRRRRRQQQQRRRRRRQQQQRRRRRRRRQQQQRRRRRRRRQQQQRRRRRRQQRRRRRRRRRRQQQQQQRRRRRRRRRRRRRRRRQQRRRRRRRRRRRRRRRRRRRRRRQQQQQQRRRRRRQQQQQQRRRRRRRRQQRRRRQQRRRRRRRRRRRRRRQQQQRRRRRRQQRRRRRRRRRRQQQQQQRRRRQQRRRRRRRRQQRRQQRRRRRRRRRRRRRRRRQQRRRRRRRRQQQQRRQQQQQQRRRRRRQQRRQQQQRRRRRRRRQQRRRRRRRRQQRRRRQQRRRRRRRRRRRRRRRRRRRRRRRRRRRRQQRRRRRRRRRRRRQQRRQQRRRRQQRRRRRRRRQQRRRRRRQQRRRRRRRRRRRRRRQQQQRRRRQQRRRRRRRRRRRRRRRRQQRRRRRRQQQQRRRRRRRRRRRRRRRRRRRRQQRRRRQQRRRRRRRRQQQQQQQQRRRRRRRRRRRRRRRRRRRRQQQQQQRRRRQQRRRRQQQQRRRRQQRRQQQQQQQQQQQQRRRRRRRRQQRRRRRRQQRRRRQQQQRRRRQQRRRRRRRRRRRRRRRRRRRRRRRRQQRRQQRRRRRRQQRRRRRRRRRRRRRRRRRRRRRRQQQQRRRRRRQQRRRRRRQQQQRRQQRRRRRRRRQQRRRRQQRRRRRRRRRRQQRRRRRRQQRRRRRRRRRRRRQQQQRRQQRRRRQQRRQQRRQQQQQQRRQQRRRRRRRRRRRRRRRRRRQQQQRRRRQQRRRRRRRRRRRRQQRRRRRRRRRRRRRRRRRRRRRRRRQQRRRRRRQQRRRRRRQQQQRRRRRRRRQQRRRRRRRRRRRRRRRRRRQQQQQQRRRRQQQQRRRRRRQQRRRRRRRRRRRRRRRRRRQQRRQQQQRRRRRRRRQQRRRRRRRRRRRRRRRRRRQQRRRRQQQQRRQQRRRRRRRRRRQQRRRRQQRRRRRRQQRRRRRRQQRRQQQQRRRRRRQQRRQQRRQQQQRRQQRRQQQQQQRRRRRRRRQQQQQQRRQQRRRRRRQQRRRRRRRRRRRRQQQQRRRRRRRRQQRRQQRRRRQQQQRRRRQQRRQQRRRRRRRRRRRRRRRRRRQQQQRRRRRRRRQQQQRRQQQQRRRRRRRRRRQQRRRRRRQQQQRRRRRRRRQQQQRRRRRRQQQQRRRRRRRRQQRRRRRRQQRRRRRRRRRRRRRRQQQQRRQQQQQQRRRRQQRRRRQQRRRRRRRRRRRRQQQQRRRRRRRRRRRRQQRRRRQQRRRRRRQQQQQQRRQQQQRRRRRRRRQQQQRRRRRRQQRRRRQQRRRRQQRRRRRRQQRRRRQQRRRRRRRRRRRRRRQQQQRRRRRRRRRRQQRRRRRRQQQQQQRRRRRRQQQQQQRRQQRRRRQQRRRRRRRRQQQQQQRRRRRRQQRRRRQQRRRRRRQQQQRRRRQQRRRRRRQQRRRRRRRRQQRRQQQQRRRRRRQQRRRRRRRRRRRRRRQQRRRRRRQQRRRRRRRRRRQQRRRRRRRRRRQQRRRRRRRRQQRRRRRRQQQQRRQQQQRRRRQQRRQQRRRRQQQQRRRRRRRRQQRRRRQQRRRRRRRRRRRRRRRRRRRRRRRRRRQQRRQQRRQQQQRRRRRRQQQQQQRRQQRRQQRRRRRRRRRRQQQQQQRRQQRRRRQQRRRRRRRRRRRRQQQQRRQQRRRRRRRRRRRRQQRRRRRRRRRRRRRRRRRRRRRRQQRRRRQQRRQQRRRRRRQQQQRRRRRRRRRRQQRRRRRRRRQQRRQQRRRRRRQQRRRRRRRRQQRRRRRRRRQQRRRRRRRRRRRRQQRRRRRRQQRRRRRRRRQQRRQQRRQQRRQQRRQQRRRRRRRRQQRRRRQQRRRRRRRRQQQQRRRRRRQQQQRRQQRRRRQQRRQQQQRRQQRRRRQQRRRRRRQQQQRRRRRRRRRRRRQQQQRRRRRRRRQQRRQQQQRRRRRRQQQQQQRRRRQQRRRRRRRRRRQQRRRRQQQQQQQQRRQQRRRRRRRRRRRRQQQQRRRRRRQQQQRRQQQQQQRRRRRRRRQQRRRRQQQQRRQQQQQQQQQQRRRRRRRRQQRRRRQQRRQQRRRRRRRRRRQQRRRRRRRRRRRRQQQQQQQQQQQQRRRRQQQQQQRRQQRRQQQQQQQQQQRRRRRRRRRRRRRRQQQQQQQQQQQQRRRRRRRRRRQQRRRRRRRRQQRRQQRRQQQQRRQQRRQQRRQQQQRRQQRRRRRRQQQQRRRRQQQQRRQQRRQQQQQQQQQQQQRRRRRRRRQQRRRRRRQQRRRRQQQQQQRRRRQQRRRRRRRRQQQQRRQQQQQQRRQQRRQQRRQQRRRRRRRRRRRRRRRRRRQQRRRRRRRRRRRRQQRRQQRRRRQQQQRRRRRRQQQQRRQQRRQQQQRRRRRRRRQQQQQQRRRRQQRRRRRRQQRRQQRRRRRRRRRRRRRRQQQQRRRRRRRRRRRRRRQQQQQQQQQQRRRRQQRRRRRRRRQQQQRRRRQQRRRRRRRRRRQQRRRRRRQQRRRRQQRRRRRRRRRRRRRRQQRRRRRRRRRRQQQQRRRRQQQQRRRRRRRRRRRRRRRRQQRRQQRRRRQQQQRRQQRRQQRRQQQQRRRRQQQQQQRRRRQQRRRRQQRRQQQQQQRRQQRRRRRRRRQQRRQQRRQQQQRRQQQQRRQQQQRRQQRRRRQQRRRRQQRRRRQQRRRRQQQQQQQQRRQQQQQQQQRRRRRRRRRRRRQQRRQQRRRRRRQQRRQQRRRRRRRRQQQQQQRRRRRRQQQQQQQQQQRRRRRRRRRRQQRRRRQQQQRRRRQQRRRRQQRRRRRRQQRRRRQQQQRRRRRRRRQQQQRRRRRRRRRRRRQQQQQQRRRRQQRRRRQQQQRRQQRRRRQQRRQQQQRRRRRRQQRRRRRRRRRRRRRRRRRRRRQQQQQQRRQQQQQQQQQQRRQQQQRRQQRRRRRRRRRRQQQQQQQQQQRRQQRRRRQQQQRRRRRRRRRRQQQQRRQQRRQQRRRRQQRRQQQQQQQQRRQQQQRRRRRRRRRRQQRRQQRRQQRRRRRRQQRRRRRRQQQQRRRRQQRRQQRRQQQQQQRRRRRRRRQQRRQQRRRRQQQQRRQQQQRRQQQQRRRRRRQQRRQQRRQQRRQQQQRRQQRRRRQQQQRRQQRRQQQQQQQQRRRRQQQQRRQQQQQQRRQQQQQQQQRRQQQQRRQQQQQQRRRRRRQQRRQQQQQQRRQQQQQQRRRRRRRRRRQQRRRRRRQQRRQQRRQQRRQQRRQQQQQQQQRRRRQQQQQQRRQQRRQQRRRRQQQQRRQQQQQQQQQQQQQQQQRRQQRRRRQQQQRRRRRRQQRRQQQQQQRRQQRRQQRRRRRRRRRRRRRRRRRRRRRRQQRRRRRRRRRRRRRRRRRRQQRRRRRRRRRRRRQQRRRRQQRRRRRRRRRRRRRRRRRRQQRRRRRRRRRRQQRRRRRRRRRRQQQQQQRRRRRRQQRRRRRRRRRRRRRRQQRRRRQQRRRRRRQQRRRRRRQQRRRRRRQQRRRRQQRRRRRRRRQQQQRRQQRRRRRRRRRRRRQQQQRRRRRRRRRRRRRRRRRRQQRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRQQQQRRRRRRRRRRRRQQRRRRRRRRQQRRRRQQRRRRRRQQRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRQQRRRRRRQQRRRRRRRRRRQQRRRRRRRRQQRRRRRRRRRRRRQQRRQQRRRRRRRRRRQQRRRRRRRRQQRRRRRRRRRRRRQQRRRRRRRRRRRRRRQQRRRRRRRRRRRRRRRRQQQQRRRRRRRRRRQQRRRRRRQQQQRRRRRRRRRRRRRRRRRRRRRRQQRRRRRRRRRRRRRRQQRRQQQQRRRRQQRRRRRRRRRRRRRRRRQQQQRRRRRRQQQQRRRRRRRRQQQQRRRRRRRRQQQQRRRRRRQQRRRRRRRRRRQQQQQQRRRRRRRRRRRRRRRRQQRRRRRRRRRRRRRRRRRRRRRRQQQQQQRRRRRRQQQQQQRRRRRRRRQQRRRRQQRRRRRRRRRRRRRRQQQQRRRRRRQQRRRRRRRRRRQQQQQQRRRRQQRRRRRRRRQQRRQQRRRRRRRRRRRRRRRRQQRRRRRRRRQQQQRRQQQQQQRRRRRRQQRRQQQQRRRRRRRRQQRRRRRRRRQQRRRRQQRRRRRRRRRRRRRRRRRRRRRRRRRRRRQQRRRRRRRRRRRRQQRRQQRRRRQQRRRRRRRRQQRRRRRRQQRRRRRRRRRRRRRRQQQQRRRRQQRRRRRRRRRRRRRRRRQQRRRRRRQQQQRRRRRRRRRRRRRRRRRRRRQQRRRRQQRRRRRRRRQQQQQQQQRRRRRRRRRRRRRRRRRRRRQQQQQQRRRRQQRRRRQQQQRRRRQQRRQQQQQQQQQQQQRRRRRRRRQQRRRRRRQQRRRRQQQQRRRRQQRRRRRRRRRRRRRRRRRRRRRRRRQQRRQQRRRRRRQQRRRRRRRRRRRRRRRRRRRRRRQQQQRRRRRRQQRRRRRRQQQQRRQQRRRRRRRRQQRRRRQQRRRRRRRRRRQQRRRRRRQQRRRRRRRRRRRRQQQQRRQQRRRRQQRRQQRRQQQQQQRRQQRRRRRRRRRRRRRRRRRRQQQQRRRRQQRRRRRRRRRRRRQQRRRRRRRRRRRRRRRRRRRRRRRRQQRRRRRRQQRRRRRRQQQQRRRRRRRRQQRRRRRRRRRRRRRRRRRRQQQQQQRRRRQQQQRRRRRRQQRRRRRRRRRRRRRRRRRRQQRRQQQQRRRRRRRRQQRRRRRRRRRRRRRRRRRRQQRRRRQQQQRRQQRRRRRRRRRRQQRRRRQQRRRRRRQQRRRRRRQQRRQQQQRRRRRRQQRRQQRRQQQQRRQQRRQQQQQQRRRRRRRRQQQQQQRRQQRRRRRRQQRRRRRRRRRRRRQQQQRRRRRRRRQQRRQQRRRRQQQQRRRRQQRRQQRRRRRRRRRRRRRRRRRRQQQQRRRRRRRRQQQQRRQQQQRRRRRRRRRRQQRRRRRRQQQQRRRRRRRRQQQQRRRRRRQQQQRRRRRRRRQQRRRRRRQQRRRRRRRRRRRRRRQQQQRRQQQQQQRRRRQQRRRRQQRRRRRRRRRRRRQQQQRRRRRRRRRRRRQQRRRRQQRRRRRRQQQQQQRRQQQQRRRRRRRRQQQQRRRRRRQQRRRRQQRRRRQQRRRRRRQQRRRRQQRRRRRRRRRRRRRRQQQQRRRRRRRRRRQQRRRRRRQQQQQQRRRRRRQQQQQQRRQQRRRRQQRRRRRRRRQQQQQQRRRRRRQQRRRRQQRRRRRRQQQQRRRRQQRRRRRRQQRRRRRRRRQQRRQQQQRRRRRRQQRRRRRRRRRRRRRRQQRRRRRRQQRRRRRRRRRRQQRRRRRRRRRRQQRRRRRRRRQQRRRRRRQQQQRRQQQQRRRRQQRRQQRRRRQQQQRRRRRRRRQQRRRRQQRRRRRRRRRRRRRRRRRRRRRRRRRRQQRRQQRRQQQQRRRRRRQQQQQQRRQQRRQQRRRRRRRRRRQQQQQQRRQQRRRRQQRRRRRRRRRRRRQQQQRRQQRRRRRRRRRRRRQQRRRRRRRRRRRRRRRRRRRRRRQQRRRRQQRRQQRRRRRRQQQQRRRRRRRRRRQQRRRRRRRRQQRRQQRRRRRRQQRRRRRRRRQQRRRRRRRRQQRRRRRRRRRRRRQQRRRRRRQQRRRRRRRRQQRRQQRRQQRRQQRRQQRRRRRRRRQQRRRRQQRRRRRRRRQQQQRRRRRRQQQQRRQQRRRRQQRRQQQQRRQQRRRRQQRRRRRRQQQQRRRRRRRRRRRRQQQQRRRRRRRRQQRRQQQQRRRRRRQQQQQQRRRRQQRRRRRRRRRRQQRRRRQQQQQQQQRRQQRRRRRRRRRRRRQQQQRRRRRRQQQQRRQQQQQQRRRRRRRRQQRRRRQQQQRRQQQQQQQQQQRRRRRRRRQQRRRRQQRRQQRRRRRRRRRRQQRRRRRRRRRRRRQQQQQQQQQQQQRRRRQQQQQQRRQQRRQQQQQQQQQQRRRRRRRRRRRRRRQQQQQQQQQQQQRRRRRRRRRRQQRRRRRRRRQQRRQQRRQQQQRRQQRRQQRRQQQQRRQQRRRRRRQQQQRRRRQQQQRRQQRRQQQQQQQQQQQQRRRRRRRRQQRRRRRRQQRRRRQQQQQQRRRRQQRRRRRRRRQQQQRRQQQQQQRRQQRRQQRRQQRRRRRRRRRRRRRRRRRRQQRRRRRRRRRRRRQQRRQQRRRRQQQQRRRRRRQQQQRRQQRRQQQQRRRRRRRRQQQQQQRRRRQQRRRRRRQQRRQQRRRRRRRRRRRRRRQQQQRRRRRRRRRRRRRRQQQQQQQQQQRRRRQQRRRRRRRRQQQQRRRRQQRRRRRRRRRRQQRRRRRRQQRRRRQQRRRRRRRRRRRRRRQQRRRRRRRRRRQQQQRRRRQQQQRRRRRRRRRRRRRRRRQQRRQQRRRRQQQQRRQQRRQQRRQQQQRRRRQQQQQQRRRRQQRRRRQQRRQQQQQQRRQQRRRRRRRRQQRRQQRRQQQQRRQQQQRRQQQQRRQQRRRRQQRRRRQQRRRRQQRRRRQQQQQQQQRRQQQQQQQQRRRRRRRRRRRRQQRRQQRRRRRRQQRRQQRRRRRRRRQQQQQQRRRRRRQQQQQQQQQQRRRRRRRRRRQQRRRRQQQQRRRRQQRRRRQQRRRRRRQQRRRRQQQQRRRRRRRRQQQQRRRRRRRRRRRRQQQQQQRRRRQQRRRRQQQQRRQQRRRRQQRRQQQQRRRRRRQQRRRRRRRRRRRRRRRRRRRRQQQQQQRRQQQQQQQQQQRRQQQQRRQQRRRRRRRRRRQQQQQQQQQQRRQQRRRRQQQQRRRRRRRRRRQQQQRRQQRRQQRRRRQQRRQQQQQQQQRRQQQQRRRRRRRRRRQQRRQQRRQQRRRRRRQQRRRRRRQQQQRRRRQQRRQQRRQQQQQQRRRRRRRRQQRRQQRRRRQQQQRRQQQQRRQQQQRRRRRRQQRRQQRRQQRRQQQQRRQQRRRRQQQQRRQQRRQQQQQQQQRRRRQQQQRRQQQQQQRRQQQQQQQQRRQQQQRRQQQQQQRRRRRRQQRRQQQQQQRRQQQQQQRRRRRRRRRRQQRRRRRRQQRRQQRRQQRRQQRRQQQQQQQQRRRRQQQQQQRRQQRRQQRRRRQQQQRRQQQQQQQQQQQQQQQQRRQQRRRRQQQQRRRRRRQQRRQQQQQQQQRRRRRRRRRRRRRRRRRRRRRRQQRRQQQQRRRRRRRRRRQQRRQQRRRRRRRRRRRRRRRRRRQQRRQQRRRRRRRRRRRRQQRRRRRRQQRRRRQQRRRRRRRRRRRRQQRRRRRRRRRRRRRRQQRRRRQQRRRRQQRRRRRRRRRRRRQQRRRRQQQQRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRQQRRRRRRRRRRQQRRRRQQRRQQRRRRRRRRRRRRRRRRRRRRRRRRRRQQRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRQQRRRRRRRRRRRRRRQQRRQQRRRRRRRRRRRRQQRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRQQRRRRRRRRRRQQRRRRQQRRRRRRQQQQRRRRRRRRRRRRRRRRQQRRRRRRRRRRRRRRRRRRRRQQRRRRRRRRQQRRRRRRRRRRRRRRRRRRRRRRQQRRQQRRQQRRQQRRRRRRRRRRQQRRRRRRQQRRRRRRQQRRRRRRRRRRRRRRRRRRRRRRRRRRRRQQRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRQQRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRQQRRRRRRRRRRRRRRQQRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRQQRRRRQQRRRRRRRRQQRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRQQRRRRRRRRRRRRQQRRRRQQRRRRRRRRRRRRQQRRRRRRQQRRRRQQRRRRRRQQRRRRRRRRRRRRRRRRRRQQRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRQQRRRRRRRRRRRRQQQQRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRQQRRRRRRRRRRRRRRRRRRRRQQRRRRRRRRRRRRRRQQRRRRRRRRRRQQRRRRRRRRRRRRRRRRQQRRRRQQRRQQRRRRRRRRRRRRRRRRRRQQRRRRRRRRRRQQRRRRRRRRRRRRRRQQRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRQQRRRRRRRRRRRRRRRRRRRRQQQQRRRRRRRRRRRRRRRRRRQQRRRRRRRRRRRRQQRRRRRRRRRRRRRRQQRRRRRRRRRRRRRRQQRRQQRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRQQRRQQRRRRRRRRRRRRRRRRRRRRRRRRQQRRRRQQRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRQQRRRRRRRRRRQQRRRRRRRRQQRRRRRRRRRRQQQQRRRRRRQQQQRRRRQQRRQQQQQQQQQQRRRRRRRRRRRRRRRRRRRRQQRRRRRRRRRRRRRRRRQQRRQQRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRQQRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRQQRRQQRRRRRRQQRRRRRRRRQQRRRRRRRRRRRRRRRRQQRRRRQQRRRRRRRRQQRRQQRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRQQRRRRRRQQRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRQQRRRRRRQQRRQQRRQQQQRRQQQQRRRRRRRRRRQQRRQQQQRRRRQQRRRRRRQQRRRRRRRRRRQQRRQQRRQQRRRRRRRRRRRRQQRRRRQQRRRRQQRRRRRRRRQQRRQQRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRQQRRRRRRQQRRRRQQRRRRRRQQRRRRRRQQRRRRRRQQRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRQQRRRRRRRRRRQQRRRRRRRRRRRRRRRRRRRRRRRRQQRRRRQQRRRRRRRRRRRRRRRRQQRRRRRRRRRRRRRRQQRRRRRRQQRRRRRRRRQQRRRRRRRRRRQQRRRRQQRRRRRRRRRRRRRRRRRRRRRRQQRRRRRRRRRRRRRRRRQQRRRRRRRRRRRRQQRRQQRRRRRRRRQQRRRRRRRRRRRRRRQQRRRRRRRRRRRRRRRRQQQQRRRRQQRRRRRRRRRRRRRRQQRRRRRRRRRRRRRRRRQQRRQQRRRRRRRRRRRRRRQQRRQQRRQQRRRRRRRRRRRRRRRRRRRRRRQQRRRRRRRRRRRRRRRRQQRRRRRRRRRRRRRRQQRRRRRRRRRRQQQQRRRRRRRRRRRRRRQQRRRRRRRRRRRRRRRRRRRRRRRRQQQQRRRRRRRRRRRRRRQQRRRRRRRRRRRRRRRRQQQQRRRRRRRRRRRRRRRRRRRRQQRRRRRRRRQQRRRRRRRRRRRRRRRRRRRRRRRRRRQQRRRRRRQQRRRRQQRRRRRRRRRRRRRRRRRRRRRRRRQQQQRRRRRRRRRRQQRRRRRRRRRRRRQQRRRRRRRRRRRRQQQQQQRRRRQQRRRRRRRRQQRRQQRRQQRRRRQQQQRRQQQQRRRRRRRRQQQQQQRRQQQQRRRRRRQQRRQQQQRRRRQQRRRRQQRRRRRRRRRRRRRRRRRRRRQQRRRRQQQQRRRRRRRRRRRRRRQQRRRRRRRRRRRRRRRRRRRRRRQQRRRRRRRRRRRRRRRRQQRRRRRRRRRRRRRRRRRRRRRRQQQQRRRRRRRRQQRRRRQQQQRRRRRRRRRRRRRRRRRRRRRRRRRRQQRRRRQQQQRRRRRRRRQQRRQQRRRRRRRRRRQQRRRRRRRRRRRRRRQQQQRRRRRRQQQQRRRRRRRRRRRRRRRRRRRRRRRRQQRRQQRRQQRRQQRRRRRRRRQQRRQQRRRRRRRRRRRRQQRRRRRRQQRRQQRRRRRRQQRRRRRRRRQQQQRRRRRRRRRRRRQQRRRRRRRRQQRRRRRRRRRRRRRRRRRRQQRRRRRRRRRRQQQQRRRRQQRRRRRRQQRRQQRRRRRRRRRRQQRRRRQQQQRRRRRRRRRRRRRRQQRRRRRRRRRRRRRRRRQQRRRRRRRRRRRRRRRRQQRRRRRRRRRRRRRRQQRRQQRRRRQQRRQQRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRQQRRRRRRRRRRRRRRRRRRRRRRRRRRRRQQRRRRRRRRRRQQRRRRRRRRRRRRQQRRRRQQQQRRRRQQRRQQQQRRRRRRRRRRRRRRRRRRRRRRRRQQRRQQQQRRQQRRRRRRRRRRRRRRRRRRRRRRQQRRQQRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRQQRRRRRRRRRRQQRRRRRRRRRRRRRRRRRRRRRRQQRRRRQQRRRRRRRRRRQQRRQQRRQQQQRRRRRRRRRRRRRRRRRRRRQQQQRRRRRRRRQQQQRRRRRRRRRRRRQQRRRRRRRRRRRRRRRRRRRRQQRRRRRRRRRRRRRRRRRRRRQQRRQQRRRRQQRRRRQQRRRRRRRRRRQQQQRRRRRRRRRRQQRRRRQQRRRRRRRRRRQQRRRRRRRRRRQQQQRRRRRRQQRRRRRRRRRRQQQQRRRRRRQQQQRRRRQQRRRRRRRRRRRRRRRRRRQQRRQQRRRRQQQQRRRRRRRRRRQQQQQQRRRRRRQQRRRRRRQQQQRRRRQQRRRRQQRRQQRRQQQQRRRRQQRRRRRRRRRRQQQQRRQQRRRRQQQQQQQQRRQQRRRRQQQQQQRRQQRRQQRRQQRRRRQQQQRRRRQQRRQQRRQQRRQQRRQQRRRRRRRRRRQQRRRRRRRRRRRRRRRRQQQQRRRRRRRRRRQQRRRRRRRRRRQQQQQQRRQQQQRRQQQQQQRRQQRRRRQQRRQQQQRRRRRRRRRRQQRRQQRRQQQQRRRRRRRRRRQQRRRRRRQQRRQQRRRRRRRRRRRRRRRRRRRRRRQQRRQQQQRRRRRRRRRRQQRRQQRRRRRRRRRRRRRRRRRRQQRRQQRRRRRRRRRRRRQQRRRRRRQQRRRRQQRRRRRRRRRRRRRRRRRRRRRRRRRRRRQQRRRRQQRRRRQQRRRRRRRRRRRRQQRRRRQQQQRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRQQRRRRRRRRRRQQRRRRQQRRQQRRRRRRRRRRRRRRRRRRRRRRRRRRQQRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRQQRRRRRRRRRRRRRRQQRRQQRRRRRRRRRRRRQQRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRQQRRRRRRRRRRQQRRRRQQRRRRRRQQQQRRRRRRRRRRRRRRRRQQRRRRRRRRRRRRRRRRRRRRQQRRRRRRRRQQRRRRRRRRRRRRRRRRRRRRRRQQRRQQRRQQRRQQRRRRRRRRRRQQRRRRRRQQRRRRRRQQRRRRRRRRRRRRRRRRRRRRRRRRRRRRQQRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRQQRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRQQRRRRRRRRRRRRRRQQRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRQQRRRRQQRRRRRRRRQQRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRQQRRRRRRRRRRRRQQRRRRQQRRRRRRRRRRRRQQRRRRRRQQRRRRQQRRRRRRQQRRRRRRRRRRRRRRRRRRQQRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRQQRRRRRRRRRRRRQQQQRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRQQRRRRRRRRRRRRRRRRRRRRQQRRRRRRRRRRRRRRQQRRRRRRRRRRQQRRRRRRRRRRRRRRRRQQRRRRQQRRQQRRRRRRRRRRRRRRRRRRQQRRRRRRRRRRQQRRRRRRRRRRRRRRQQRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRQQRRRRRRRRRRRRRRRRRRRRQQQQRRRRRRRRRRRRRRRRRRQQRRRRRRRRRRRRQQRRRRRRRRRRRRRRQQRRRRRRRRRRRRRRQQRRQQRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRQQRRQQRRRRRRRRRRRRRRRRRRRRRRRRQQRRRRQQRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRQQRRRRRRRRRRQQRRRRRRRRQQRRRRRRRRRRQQQQRRRRRRQQQQRRRRQQRRQQQQQQQQQQRRRRRRRRRRRRRRRRRRRRQQRRRRRRRRRRRRRRRRQQRRQQRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRQQRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRQQRRQQRRRRRRQQRRRRRRRRQQRRRRRRRRRRRRRRRRQQRRRRQQRRRRRRRRQQRRQQRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRQQRRRRRRQQRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRQQRRRRRRQQRRQQRRQQQQRRQQQQRRRRRRRRRRQQRRQQQQRRRRQQRRRRRRQQRRRRRRRRRRQQRRQQRRQQRRRRRRRRRRRRQQRRRRQQRRRRQQRRRRRRRRQQRRQQRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRQQRRRRRRQQRRRRQQRRRRRRQQRRRRRRQQRRRRRRQQRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRQQRRRRRRRRRRQQRRRRRRRRRRRRRRRRRRRRRRRRQQRRRRQQRRRRRRRRRRRRRRRRQQRRRRRRRRRRRRRRQQRRRRRRQQRRRRRRRRQQRRRRRRRRRRQQRRRRQQRRRRRRRRRRRRRRRRRRRRRRQQRRRRRRRRRRRRRRRRQQRRRRRRRRRRRRQQRRQQRRRRRRRRQQRRRRRRRRRRRRRRQQRRRRRRRRRRRRRRRRQQQQRRRRQQRRRRRRRRRRRRRRQQRRRRRRRRRRRRRRRRQQRRQQRRRRRRRRRRRRRRQQRRQQRRQQRRRRRRRRRRRRRRRRRRRRRRQQRRRRRRRRRRRRRRRRQQRRRRRRRRRRRRRRQQRRRRRRRRRRQQQQRRRRRRRRRRRRRRQQRRRRRRRRRRRRRRRRRRRRRRRRQQQQRRRRRRRRRRRRRRQQRRRRRRRRRRRRRRRRQQQQRRRRRRRRRRRRRRRRRRRRQQRRRRRRRRQQRRRRRRRRRRRRRRRRRRRRRRRRRRQQRRRRRRQQRRRRQQRRRRRRRRRRRRRRRRRRRRRRRRQQQQRRRRRRRRRRQQRRRRRRRRRRRRQQRRRRRRRRRRRRQQQQQQRRRRQQRRRRRRRRQQRRQQRRQQRRRRQQQQRRQQQQRRRRRRRRQQQQQQRRQQQQRRRRRRQQRRQQQQRRRRQQRRRRQQRRRRRRRRRRRRRRRRRRRRQQRRRRQQQQRRRRRRRRRRRRRRQQRRRRRRRRRRRRRRRRRRRRRRQQRRRRRRRRRRRRRRRRQQRRRRRRRRRRRRRRRRRRRRRRQQQQRRRRRRRRQQRRRRQQRRRRRRRRRRRRRRRRRRRRRRRRRRRRQQRRRRQQQQRRRRRRRRQQRRQQRRRRRRRRRRQQRRRRRRRRRRRRRRQQQQRRRRRRQQQQRRRRRRRRRRRRRRRRRRRRRRRRQQRRQQRRRRRRQQRRRRRRRRQQRRQQRRRRRRRRRRRRQQRRRRRRQQRRQQRRRRRRQQRRRRRRRRQQQQRRRRRRRRRRRRQQRRRRRRRRQQRRRRRRRRRRRRRRRRRRQQRRRRRRRRRRQQQQRRRRQQRRRRRRQQRRQQRRRRRRRRRRQQRRRRQQQQRRRRRRRRRRRRRRQQRRRRRRRRRRRRRRRRQQRRRRRRRRRRRRRRRRQQRRRRRRRRRRRRRRQQRRQQRRRRQQRRQQRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRQQRRRRRRRRRRRRRRRRRRRRRRRRRRRRQQRRRRRRRRRRQQRRRRRRRRRRRRQQRRRRQQQQRRRRQQRRQQQQRRRRRRRRRRRRRRRRRRRRRRRRQQRRQQQQRRQQRRRRRRRRRRRRRRRRRRRRRRQQRRQQRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRQQRRRRRRRRRRQQRRRRRRRRRRRRRRRRRRRRRRQQRRRRQQRRRRRRRRRRQQRRQQRRQQQQRRRRRRRRRRRRRRRRRRRRQQQQRRRRRRRRQQQQRRRRRRRRRRRRQQRRRRRRRRRRRRRRRRRRRRQQRRRRRRRRRRRRRRRRRRRRQQRRQQRRRRQQRRRRQQRRRRRRRRRRQQQQRRRRRRRRRRQQRRRRQQRRRRRRRRRRQQRRRRRRRRRRQQQQRRRRRRQQRRRRRRRRRRQQQQRRRRRRQQQQRRRRQQRRRRRRRRRRRRRRRRRRQQRRQQRRRRQQQQRRRRRRRRRRQQQQQQRRRRRRQQRRRRRRQQQQRRRRQQRRRRQQRRQQRRQQQQRRRRQQRRRRRRRRRRQQQQRRQQRRRRQQQQQQQQRRQQRRRRQQQQQQRRQQRRQQRRQQRRRRQQQQRRRRQQRRQQRRQQRRQQRRQQRRRRRRRRRRQQRRRRRRRRRRRRRRRRQQQQRRRRRRRRRRQQRRRRRRRRRRQQQQQQRRQQQQRRQQQQQQRRQQRRRRQQRRQQQQRRRRRRRRRRQQRRQQRRQQQQRRRRRRRRRRQQRRRRRRQQRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRQQRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRQQRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRQQRRRRRRRRRRRRQQRRRRRRRRRRRRRRRRRRRRRRRRQQRRRRRRRRRRRRRRRRRRRRRRRRRRRRQQRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRQQRRRRRRQQRRRRRRRRRRQQRRRRRRRRRRRRRRRRRRRRRRRRQQRRRRRRQQRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRQQRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRQQRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRQQRRRRQQRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRQQRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRQQRRRRRRQQRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRQQRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRQQRRRRRRRRRRRRRRRRRRRRRRRRRRQQRRRRRRRRRRRRRRRRQQRRRRRRRRRRRRQQRRRRRRQQRRRRRRRRRRRRRRRRRRRRRRQQRRQQQQRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRQQRRRRRRQQRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRQQRRRRRRRRQQRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRQQRRRRRRRRRRRRRRRRRRRRQQRRRRRRRRRRRRQQRRRRRRRRRRRRRRRRRRRRQQRRRRRRRRRRRRRRRRRRRRRRRRRRQQRRRRRRRRQQRRRRRRRRRRRRRRRRRRQQRRRRRRRRRRRRRRQQRRRRRRRRRRRRQQQQRRRRRRRRRRRRRRRRRRRRRRRRQQQQRRRRRRQQRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRQQRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRQQRRRRRRRRRRRRRRQQRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRQQRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRQQQQQQRRRRQQRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRQQRRRRRRRRRRRRQQRRRRRRRRRRRRRRRRRRRRRRRRQQRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRQQRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRQQQQRRRRRRRRRRRRRRQQRRRRRRRRRRRRRRQQRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRQQRRRRQQRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRQQRRQQRRRRRRRRRRRRQQRRQQRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRQQRRRRRRRRQQRRRRQQRRRRRRRRRRRRRRQQRRRRRRRRQQRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRQQRRQQRRRRRRRRRRRRRRQQRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRQQRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRQQRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRQQRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRQQRRRRRRRRQQRRQQRRRRRRRRQQRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRQQQQRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRQQRRRRQQRRRRRRQQRRQQQQQQQQRRQQQQRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRQQRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRQQRRRRRRRRQQRRRRRRRRRRRRRRQQRRRRRRRRRRRRRRRRRRRRQQRRRRRRRRRRRRRRRRQQRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRQQRRRRRRRRRRRRRRRRRRQQRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRQQQQRRRRRRQQRRRRRRRRRRRRRRRRRRRRRRRRQQRRRRRRRRQQRRRRRRRRQQRRRRRRRRRRRRRRRRRRQQRRRRRRRRRRRRRRRRRRRRQQQQRRRRRRRRRRRRRRRRRRRRQQRRRRRRRRQQRRRRRRRRRRQQRRRRRRRRRRRRRRRRRRRRRRQQRRRRRRQQRRRRRRRRRRRRRRQQRRRRQQQQRRRRRRRRRRRRQQRRRRRRRRRRQQRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRQQRRRRRRRRRRRRRRQQRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRQQRRRRRRRRRRRRRRRRRRRRRRRRQQRRRRQQRRRRRRQQRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRQQRRRRRRRRQQRRRRRRRRRRRRRRRRRRRRRRRRRRQQRRQQRRRRRRRRQQRRRRRRRRRRQQQQRRRRQQRRRRQQRRRRRRRRRRRRRRQQQQRRRRRRQQQQRRRRQQQQRRRRRRRRRRRRRRQQRRQQRRRRRRRRRRRRRRQQRRRRQQRRRRRRRRQQRRRRRRRRRRRRQQRRRRRRRRRRRRRRRRRRQQRRRRRRRRRRRRQQRRRRRRRRRRRRRRRRQQRRRRRRRRRRRRRRRRQQRRRRRRQQQQQQRRRRRRQQRRRRQQRRRRRRQQRRRRRRRRRRQQQQRRRRRRRRRRQQQQRRRRRRRRRRRRQQRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRQQRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRQQRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRQQRRRRRRRRRRRRQQRRRRRRRRRRRRRRRRRRRRRRRRQQRRRRRRRRRRRRRRRRRRRRRRRRRRRRQQRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRQQRRRRRRQQRRRRRRRRRRQQRRRRRRRRRRRRRRRRRRRRRRRRQQRRRRRRQQRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRQQRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRQQRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRQQRRRRQQRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRQQRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRQQRRRRRRQQRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRQQRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRQQRRRRRRRRRRRRRRRRRRRRRRRRRRQQRRRRRRRRRRRRRRRRQQRRRRRRRRRRRRQQRRRRRRQQRRRRRRRRRRRRRRRRRRRRRRQQRRQQQQRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRQQRRRRRRQQRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRQQRRRRRRRRQQRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRQQRRRRRRRRRRRRRRRRRRRRQQRRRRRRRRRRRRQQRRRRRRRRRRRRRRRRRRRRQQRRRRRRRRRRRRRRRRRRRRRRRRRRQQRRRRRRRRQQRRRRRRRRRRRRRRRRRRQQRRRRRRRRRRRRRRQQRRRRRRRRRRRRQQQQRRRRRRRRRRRRRRRRRRRRRRRRQQQQRRRRRRQQRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRQQRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRQQRRRRRRRRRRRRRRQQRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRQQRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRQQQQQQRRRRQQRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRQQRRRRRRRRRRRRQQRRRRRRRRRRRRRRRRRRRRRRRRQQRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRQQRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRQQQQRRRRRRRRRRRRRRQQRRRRRRRRRRRRRRQQRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRQQRRRRQQRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRQQRRQQRRRRRRRRRRRRQQRRQQRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRQQRRRRRRRRQQRRRRQQRRRRRRRRRRRRRRQQRRRRRRRRQQRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRQQRRQQRRRRRRRRRRRRRRQQRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRQQRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRQQRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRQQRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRQQRRRRRRRRQQRRQQRRRRRRRRQQRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRQQQQRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRQQRRRRQQRRRRRRQQRRQQQQQQQQRRQQQQRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRQQRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRQQRRRRRRRRQQRRRRRRRRRRRRRRQQRRRRRRRRRRRRRRRRRRRRQQRRRRRRRRRRRRRRRRQQRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRQQRRRRRRRRRRRRRRRRRRQQRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRQQQQRRRRRRQQRRRRRRRRRRRRRRRRRRRRRRRRQQRRRRRRRRQQRRRRRRRRQQRRRRRRRRRRRRRRRRRRQQRRRRRRRRRRRRRRRRRRRRQQQQRRRRRRRRRRRRRRRRRRRRQQRRRRRRRRQQRRRRRRRRRRQQRRRRRRRRRRRRRRRRRRRRRRQQRRRRRRQQRRRRRRRRRRRRRRQQRRRRQQQQRRRRRRRRRRRRQQRRRRRRRRRRQQRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRQQRRRRRRRRRRRRRRQQRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRQQRRRRRRRRRRRRRRRRRRRRRRRRQQRRRRQQRRRRRRQQRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRQQRRRRRRRRQQRRRRRRRRRRRRRRRRRRRRRRRRRRQQRRQQRRRRRRRRQQRRRRRRRRRRQQQQRRRRQQRRRRQQRRRRRRRRRRRRRRQQQQRRRRRRQQQQRRRRQQQQRRRRRRRRRRRRRRQQRRQQRRRRRRRRRRRRRRRRRRRRQQRRRRRRRRQQRRRRRRRRRRRRQQRRRRRRRRRRRRRRRRRRQQRRRRRRRRRRRRQQRRRRRRRRRRRRRRRRQQRRRRRRRRRRRRRRRRQQRRRRRRQQQQQQRRRRRRQQRRRRQQRRRRRRQQRRRRRRRRRRQQQQRRRRRRRRRRQQQQRRRRRRRRRRRRQQRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRSSRRRRRRRRSSRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRQQRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRQQRRRRRRRRRRRRRRRRRRRRRRRRRRQQRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRQQRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRQQRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRQQRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRQQRRRRRRRRRRRRRRRRRRRRRRRRQQRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRQQRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRQQRRRRQQRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRQQRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRQQRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRQQRRRRRRRRRRRRRRQQRRRRRRRRRRQQRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRQQRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRQQRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRQQRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRQQRRRRRRRRQQRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRQQRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRQQRRRRRRRRRRRRRRRRRRRRRRQQRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRQQQQRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRQQRRRRQQRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRQQRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRQQRRRRQQRRRRRRRRRRRRRRRRRRRRRRRRRRQQRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRQQQQRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRQQRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRQQRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRQQRRRRRRRRRRRRQQRRRRRRRRRRRRQQQQRRRRQQRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRQQRRRRRRRRRRRRRRRRRRRRRRQQRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRQQRRRRRRRRRRRRRRQQRRRRRRRRRRRRRRRRRRRRRRQQRRRRRRRRRRQQRRRRRRRRQQRRQQRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRQQRRQQRRQQRRRRRRRRRRQQRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRQQRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRQQRRRRRRRRRRRRRRRRQQRRRRRRRRRRRRQQQQRRRRRRRRRRRRRRRRQQQQRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRSSRRRRRRRRSSRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRQQRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRQQRRRRRRRRRRRRRRRRRRRRRRRRRRQQRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRQQRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRQQRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRQQRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRQQRRRRRRRRRRRRRRRRRRRRRRRRQQRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRQQRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRQQRRRRQQRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRQQRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRQQRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRQQRRRRRRRRRRRRRRQQRRRRRRRRRRQQRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRQQRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRQQRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRQQRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRQQRRRRRRRRQQRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRQQRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRQQRRRRRRRRRRRRRRRRRRRRRRQQRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRQQQQRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRQQRRRRQQRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRQQRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRQQRRRRQQRRRRRRRRRRRRRRRRRRRRRRRRRRQQRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRQQQQRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRQQRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRQQRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRQQRRRRRRRRRRRRQQRRRRRRRRRRRRQQQQRRRRQQRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRQQRRRRRRRRRRRRRRRRRRRRRRQQRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRQQRRRRRRRRRRRRRRQQRRRRRRRRRRRRRRRRRRRRRRQQRRRRRRRRRRQQRRRRRRRRQQRRQQRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRQQRRQQRRQQRRRRRRRRRRQQRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRQQRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRQQRRRRRRRRRRRRRRRRQQRRRRRRRRRRRRQQQQRRRRRRRRRRRRRRRRQQQQRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRSSRRRRSSRRRRRRRRRRSSRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRSSRRRRRRRRSSSSSSRRRRSSRRRRRRRRRRRRRRRRRRRRRRRRSSRRRRRRRRSSRRRRRRRRRRRRRRRRRRRRRRRRSSRRRRSSRRRRRRRRRRRRRRSSRRRRRRRRRRSSSSRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRSSRRRRRRRRRRRRRRRRRRSSRRRRRRSSRRRRRRRRRRRRSSRRRRRRRRRRRRRRRRRRSSRRRRRRRRRRRRSSRRRRRRRRRRRRRRRRRRRRRRRRRRSSRRRRRRRRRRRRRRRRRRRRSSRRRRRRRRSSRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRSSRRRRSSSSRRRRSSRRRRRRRRRRRRSSRRRRRRRRRRRRSSSSRRRRSSSSRRRRSSRRSSRRRRRRRRSSSSRRRRRRRRRRRRRRRRRRRRSSRRSSRRRRRRRRSSSSRRRRRRRRRRRRRRRRRRRRSSSSRRRRRRSSRRRRRRSSRRRRRRRRRRRRRRRRRRRRRRRRRRRRSSRRRRRRRRRRRRRRRRRRRRRRSSRRRRRRRRRRSSSSRRRRRRRRRRRRRRRRRRRRRRRRRRRRSSRRRRRRRRRRRRRRRRRRRRSSRRRRRRRRRRRRRRRRRRRRRRSSRRSSRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRSSRRRRRRRRRRRRRRRRRRRRRRRRRRSSRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRSSRRRRRRRRRRRRSSRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRSSRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRSSRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRSSRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRSSSRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRSSRRRRRRRRRRRRSSRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRSSRRRRRRSSRRSSRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRSSRRRRRRRRRRSSRRRRRRRRRRSSSSSSRRSSRRRRRRRRRRRRRRRRRRSSRRRRRRRRRRRRRRSSRRRRRRRRRRRRRRSSRRRRSSRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRSSSSRRRRRRRRRRRRRRSSRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRSSRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRSSRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRSSRRRRRRRRSSRRRRRRRRRRRRRRRRRRRRRRRRRRRRSSRRRRRRSSRRRRRRRRRRRRRRRRRRRRRRRRSSRRRRRRRRRRRRRRRRRRRRRRRRRRSSRRRRRRRRRRRRRRRRRRRRRRRRRRSSRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRSSRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRSSSSRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRSSRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRSSRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRSSRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRSSRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRQQRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRQQRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRQQRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRQQRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRQQRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRSSRRRRSSRRRRRRRRRRSSRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRSSRRRRRRRRSSSSSSRRRRSSRRRRRRRRRRRRRRRRRRRRRRRRSSRRRRRRRRSSRRRRRRRRRRRRRRRRRRRRRRRRSSRRRRSSRRRRRRRRRRRRRRSSRRRRRRRRRRSSSSRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRSSRRRRRRRRRRRRRRRRRRSSRRRRRRSSRRRRRRRRRRRRSSRRRRRRRRRRRRRRRRRRSSRRRRRRRRRRRRSSRRRRRRRRRRRRRRRRRRRRRRRRRRSSRRRRRRRRRRRRRRRRRRRRSSRRRRRRRRSSRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRSSRRRRSSSSRRRRSSRRRRRRRRRRRRSSRRRRRRRRRRRRSSSSRRRRSSSSRRRRSSRRSSRRRRRRRRSSSSRRRRRRRRRRRRRRRRRRRRSSRRSSRRRRRRRRSSSSRRRRRRRRRRRRRRRRRRRRSSSSRRRRRRSSRRRRRRSSRRRRRRRRRRRRRRRRRRRRRRRRRRRRSSRRRRRRRRRRRRRRRRRRRRRRSSRRRRRRRRRRSSSSRRRRRRRRRRRRRRRRRRRRRRRRRRRRSSRRRRRRRRRRRRRRRRRRRRSSRRRRRRRRRRRRRRRRRRRRRRSSRRSSRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRSSRRRRRRRRRRRRRRRRRRRRRRRRRRSSRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRSSRRRRRRRRRRRRSSRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRSSRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRSSRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRSSRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRSSSSRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRSSRRRRRRRRRRRRSSRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRSSRRRRRRSSRRSSRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRSSRRRRRRRRRRSSRRRRRRRRRRSSSSSSRRSSRRRRRRRRRRRRRRRRRRSSRRRRRRRRRRRRRRSSRRRRRRRRRRRRRRSSRRRRSSRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRSSSSRRRRRRRRRRRRRRSSRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRSSRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRSSRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRSSRRRRRRRRSSRRRRRRRRRRRRRRRRRRRRRRRRRRRRSSRRRRRRSSRRRRRRRRRRRRRRRRRRRRRRRRSSRRRRRRRRRRRRRRRRRRRRRRRRRRSSRRRRRRRRRRRRRRRRRRRRRRRRRRSSRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRSSRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRSSSSRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRSSRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRSSRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRSSRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRSSRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRQQRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRQQRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRQQRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRQQRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRSSSSRRRRRRSSSSRRSSRRRRRRRRRRRRSSRRRRRRRRRRRRRRSSSSRRRRRRRRSSRRRRRRSSSSRRRRRRSSRRRRRRRRRRRRRRRRRRSSRRRRRRRRRRSSRRRRRRRRSSRRRRRRSSSSRRRRSSRRRRRRSSRRSSSSRRSSSSRRSSSSRRRRSSRRRRRRRRRRRRRRSSRRSSSSRRSSRRSSRRSSRRRRRRSSRRRRSSRRRRRRRRRRSSSSSSRRRRSSRRSSSSRRRRRRRRSSSSSSRRRRRRRRSSSSRRRRRRRRRRRRSSRRSSSSSSRRRRRRRRSSSSSSRRRRRRSSRRSSRRSSSSRRSSRRSSSSRRSSSSSSRRRRRRRRSSRRSSSSRRRRRRRRSSRRRRSSSSRRRRRRRRSSSSRRRRRRSSRRSSRRRRRRRRRRRRSSRRRRRRRRRRRRRRSSRRSSSSRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRSSRRSSSSRRRRRRRRRRSSSSRRRRRRRRRRSSRRRRRRRRRRRRRRSSRRRRSSSSRRRRRRRRRRRRRRRRRRRRRRRRRRSSRRSSRRRRRRRRRRRRRRRRRRRRRRRRRRRRSSSSRRRRRRRRSSSSRRRRSSSSRRRRRRRRRRRRRRRRSSSSRRRRSSRRRRSSRRRRSSRRRRSSRRRRRRRRSSSSRRSSSSSSSSRRSSRRSSRRRRRRSSRRSSRRRRRRRRSSRRSSSSRRRRRRRRRRRRSSRRRRRRRRSSRRRRSSRRRRRRRRRRRRRRRRSSRRRRRRRRSSRRRRRRSSRRSSRRSSSSRRRRRRSSRRRRRRRRRRSSRRRRSSRRSSRRRRSSRRSSRRRRRRRRRRSSRRRRSSRRSSRRRRRRRRRRSSRRRRRRRRRRRRRRSSRRRRRRSSRRRRSSSSSSRRRRSSRRRRRRRRSSRRSSRRSSSSRRSSRRRRRRSSSSRRRRRRSSRRRRRRRRSSRRRRSSSSRRRRSSSSRRRRRRRRRRRRRRSSRRRRRRRRRRSSSSRRSSSSSSRRRRSSRRRRRRRRSSRRSSRRSSRRSSRRRRRRRRRRRRRRRRRRSSRRRRRRRRSSRRSSRRSSSSRRRRRRRRRRRRRRRRSSRRRRSSRRRRSSSSRRRRRRSSRRSSRRRRRRRRRRRRSSRRRRSSRRSSRRRRRRRRRRSSRRRRRRRRSSSSRRRRRRRRRRSSRRSSRRRRSSRRRRSSRRSSRRRRRRSSSSRRSSSSSSRRRRSSRRRRRRRRSSRRSSRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRSSSSSSRRSSRRSSRRRRRRRRRRRRRRRRRRRRSSRRRRRRRRRRRRRRRRRRRRRRSSSSRRRRSSRRRRRRRRRRRRRRRRSSRRSSSSSSRRSSRRRRSSRRRRRRRRRRRRRRSSRRRRRRRRSSRRRRSSRRRRRRRRRRRRSSRRRRRRRRRRRRRRRRSSSSRRRRRRSSRRRRRRSSRRRRSSRRRRRRRRRRRRSSSSSSRRRRRRSSRRRRSSRRSSRRRRSSSSRRSSRRRRRRRRSSRRSSRRRRRRRRRRRRRRRRRRSSRRRRRRRRSSRRRRSSRRSSSSRRSSSSRRRRRRSSRRRRRRSSSSRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRSSSSRRRRRRRRRRRRSSRRRRSSRRRRRRRRRRRRRRSSRRRRRRRRRRRRRRSSRRSSSSSSRRSSRRRRRRRRRRRRRRSSRRSSRRRRRRRRSSRRRRSSRRRRRRSSRRRRRRRRRRSSRRRRRRRRRRRRSSRRRRRRRRSSRRRRRRRRRRRRRRRRRRRRRRSSRRRRRRSSRRRRRRSSRRRRSSRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRSSRRSSRRRRRRRRSSSSRRSSRRRRRRSSRRRRRRRRRRRRRRRRSSRRRRRRRRRRSSSSRRSSRRRRRRSSSSRRRRRRRRSSRRRRRRSSRRRRRRRRRRRRRRSSRRRRSSRRRRRRRRRRRRSSRRRRRRRRRRRRRRSSRRRRRRRRRRSSRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRSSRRRRRRRRRRRRSSRRRRRRRRRRRRRRRRRRRRRRRRRRRRSSSSRRRRRRRRSSRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRSSSSRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRSSRRRRRRRRRRSSRRRRRRRRRRSSRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRSSRRRRRRRRRRRRSSRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRSSRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRSSRRRRRRRRSSSSRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRSSRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRSSRRRRRRRRRRRRRRRRRRRRRRSSRRRRRRRRRRRRRRRRRRRRRRRRSSRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRSSRRRRRRRRRRRRRRRRRRSSRRRRRRRRRRRRSSRRSSRRRRRRRRSSRRRRSSRRSSRRRRRRRRRRRRRRSSRRSSSSSSRRSSRRRRRRRRRRRRRRRRRRSSSSRRRRRRRRRRRRRRRRRRSSSSRRRRRRRRRRRRRRRRRRSSRRRRRRRRRRRRRRRRRRRRSSRRRRRRRRRRSSSSSSRRSSRRRRRRRRRRRRRRSSRRSSRRRRRRRRRRRRRRSSRRRRRRSSSSRRRRRRRRRRSSRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRSSSSRRSSRRRRRRRRRRSSRRRRRRRRRRRRRRRRRRRRSSRRRRSSRRRRSSRRRRRRRRSSRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRSSRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRSSSSSSRRRRRRRRSSRRRRRRRRRRRRRRRRRRSSRRRRRRRRRRSSRRRRRRSSRRRRRRRRRRRRRRRRRRSSRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRSSRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRSSRRSSRRRRRRRRRRRRSSRRRRRRSSRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRSSRRRRSSRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRSSRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRSSRRRRRRRRRRRRRRRRRRRRRRSSRRRRRRRRRRRRRRRRRRSSRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRSSRRRRRRRRRRRRRRRRRRRRRRRRRRSSSSRRRRRRRRSSRRRRRRRRSSRRRRRRRRRRRRSSRRRRRRRRRRRRSSRRRRRRRRRRSSRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRSSRRRRRRSSRRRRRRRRRRRRRRRRRRRRRRRRSSRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRSSRRRRRRRRRRRRRRSSRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRSSRRRRRRSSRRRRRRRRRRRRRRRRSSRRRRRRRRRRRRRRRRRRRRSSRRRRRRRRSSRRRRRRRRRRRRRRRRRRRRRRRRRRRRSSRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRSSRRSSSSRRRRRRSSSSRRSSRRRRRRRRRRRRSSRRRRRRRRRRRRRRSSSSRRRRRRRRSSRRRRRRSSSSRRRRRRSSRRRRRRRRRRRRRRRRRRSSRRRRRRRRRRSSRRRRRRRRSSRRRRRRSSSSRRRRSSRRRRRRSSRRSSSSRRSSSSRRSSSSRRRRSSRRRRRRRRRRRRRRSSRRSSSSRRSSRRSSRRSSRRRRRRSSRRRRSSRRRRRRRRRRSSSSSSRRRRSSRRSSSSRRRRRRRRSSSSSSRRRRRRRRSSSSRRRRRRRRRRRRSSRRSSSSSSRRRRRRRRSSSSSSRRRRRRSSRRSSRRSSSSRRSSRRSSSSRRSSSSSSRRRRRRRRSSRRSSSSRRRRRRRRSSRRRRSSSSRRRRRRRRSSSSRRRRRRSSRRSSRRRRRRRRRRRRSSRRRRRRRRRRRRRRSSRRSSSSRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRSSRRSSSSRRRRRRRRRRSSSSRRRRRRRRRRSSRRRRRRRRRRRRRRSSRRRRSSSSRRRRRRRRRRRRRRRRRRRRRRRRRRSSRRSSRRRRRRRRRRRRRRRRRRRRRRRRRRRRSSSSRRRRRRRRSSSSRRRRSSSSRRRRRRRRRRRRRRRRSSSSRRRRSSRRRRSSRRRRSSRRRRSSRRRRRRRRSSSSRRSSSSSSSSRRSSRRSSRRRRRRSSRRSSRRRRRRRRSSRRSSSSRRRRRRRRRRRRSSRRRRRRRRSSRRRRSSRRRRRRRRRRRRRRRRSSRRRRRRRRSSRRRRRRSSRRSSRRSSSSRRRRRRSSRRRRRRRRRRSSRRRRSSRRSSRRRRSSRRSSRRRRRRRRRRSSRRRRSSRRSSRRRRRRRRRRSSRRRRRRRRRRRRRRSSRRRRRRSSRRRRSSSSSSRRRRSSRRRRRRRRSSRRSSRRSSSSRRSSRRRRRRSSSSRRRRRRSSRRRRRRRRSSRRRRSSSSRRRRSSSSRRRRRRRRRRRRRRSSRRRRRRRRRRSSSSRRSSSSSSRRRRSSRRRRRRRRSSRRSSRRSSRRSSRRRRRRRRRRRRRRRRRRSSRRRRRRRRSSRRSSRRSSSSRRRRRRRRRRRRRRRRSSRRRRSSRRRRSSSSRRRRRRSSRRSSRRRRRRRRRRRRSSRRRRSSRRSSRRRRRRRRRRSSRRRRRRRRSSSSRRRRRRRRRRSSRRSSRRRRSSRRRRSSRRSSRRRRRRSSSSRRSSSSSSRRRRSSRRRRRRRRSSRRSSRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRSSSSSSRRSSRRSSRRRRRRRRRRRRRRRRRRRRSSRRRRRRRRRRRRRRRRRRRRRRSSSSRRRRSSRRRRRRRRRRRRRRRRSSRRSSSSSSRRSSRRRRSSRRRRRRRRRRRRRRSSRRRRRRRRSSRRRRSSRRRRRRRRRRRRSSRRRRRRRRRRRRRRRRSSSSRRRRRRSSRRRRRRSSRRRRSSRRRRRRRRRRRRSSSSSSRRRRRRSSRRRRSSRRSSRRRRSSSSRRSSRRRRRRRRSSRRSSRRRRRRRRRRRRRRRRRRSSRRRRRRRRSSRRRRSSRRSSSSRRSSSSRRRRRRSSRRRRRRSSSSRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRSSSSRRRRRRRRRRRRSSRRRRSSRRRRRRRRRRRRRRSSRRRRRRRRRRRRRRSSRRSSSSSSRRSSRRRRRRRRRRRRRRSSRRSSRRRRRRRRSSRRRRSSRRRRRRSSRRRRRRRRRRSSRRRRRRRRRRRRSSRRRRRRRRSSRRRRRRRRRRRRRRRRRRRRRRSSRRRRRRSSRRRRRRSSRRRRSSRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRSSRRSSRRRRRRRRSSSSRRSSRRRRRRSSRRRRRRRRRRRRRRRRSSRRRRRRRRRRSSSSRRSSRRRRRRSSSSRRRRRRRRSSRRRRRRSSRRRRRRRRRRRRRRSSRRRRSSRRRRRRRRRRRRSSRRRRRRRRRRRRRRSSRRRRRRRRRRSSRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRSSRRRRRRRRRRRRSSRRRRRRRRRRRRRRRRRRRRRRRRRRRRSSSSRRRRRRRRSSRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRSSSSRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRSSRRRRRRRRRRSSRRRRRRRRRRSSRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRSSRRRRRRRRRRRRSSRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRSSRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRSSRRRRRRRRSSSSRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRSSRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRSSRRRRRRRRRRRRRRRRRRRRRRSSRRRRRRRRRRRRRRRRRRRRRRRRSSRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRSSRRRRRRRRRRRRRRRRRRSSRRRRRRRRRRRRSSRRSSRRRRRRRRSSRRRRSSRRSSRRRRRRRRRRRRRRSSRRSSSSSSRRSSRRRRRRRRRRRRRRRRRRSSSSRRRRRRRRRRRRRRRRRRSSSSRRRRRRRRRRRRRRRRRRSSRRRRRRRRRRRRRRRRRRRRSSRRRRRRRRRRSSSSSSRRSSRRRRRRRRRRRRRRSSRRSSRRRRRRRRRRRRRRSSRRRRRRSSSSRRRRRRRRRRSSRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRSSSSRRSSRRRRRRRRRRSSRRRRRRRRRRRRRRRRRRRRSSRRRRSSRRRRSSRRRRRRRRSSRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRSSRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRSSSSSSRRRRRRRRSSRRRRRRRRRRRRRRRRRRSSRRRRRRRRRRSSRRRRRRSSRRRRRRRRRRRRRRRRRRSSRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRSSRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRSSRRSSRRRRRRRRRRRRSSRRRRRRSSRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRSSRRRRSSRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRSSRRSSRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRSSRRRRRRRRRRRRRRRRRRRRRRSSRRRRRRRRRRRRRRRRRRSSRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRSSRRRRRRRRRRRRRRRRRRRRRRRRRRSSSSRRRRRRRRSSRRRRRRRRSSRRRRRRRRRRRRSSRRRRRRRRRRRRSSRRRRRRRRRRSSRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRSSRRRRRRRRRRSSRRRRRRSSRRRRRRRRRRRRRRRRRRRRRRRRSSRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRSSRRRRRRRRRRRRRRSSRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRSSRRRRRRSSRRRRRRRRRRRRRRRRSSRRRRRRRRRRRRRRRRRRRRSSRRRRRRRRSSRRRRRRRRRRRRRRRRRRRRRRRRSSRRSSRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRSSRRSSSSRRSSSSSSSSSSRRSSSSSSSSRRRRRRSSSSRRRRRRRRSSRRRRRRSSRRSSSSRRRRRRRRSSRRSSSSRRRRSSSSSSSSRRSSSSRRSSRRSSSSRRRRRRRRSSSSRRSSSSRRSSRRRRRRSSRRSSRRSSSSSSSSRRSSSSSSRRRRSSRRSSRRSSRRSSRRRRSSRRSSSSRRSSRRRRRRSSRRRRRRRRRRSSSSSSSSSSSSRRSSSSRRRRRRRRRRSSSSRRRRSSSSRRSSRRRRRRRRRRRRSSSSRRRRSSSSRRSSRRSSRRSSSSSSSSSSRRRRRRRRRRSSRRSSRRRRRRSSRRRRRRRRSSSSRRSSSSSSSSRRRRRRSSSSRRSSRRSSRRSSRRRRSSSSSSRRRRSSSSSSSSSSSSRRSSSSRRRRRRSSRRRRRRSSRRRRSSRRRRRRRRRRSSSSRRRRSSRRSSRRRRSSSSRRRRRRRRRRRRSSRRSSRRSSSSSSRRSSRRSSSSSSSSRRRRRRRRSSRRRRSSRRRRSSSSSSRRRRRRSSRRRRRRSSSSRRSSSSRRSSRRSSSSRRSSRRSSRRRRRRRRRRRRSSSSSSRRSSRRSSRRRRSSSSSSRRRRSSSSSSRRRRSSSSSSRRRRSSRRSSSSRRRRSSSSRRSSSSRRRRSSSSRRRRRRRRRRRRRRSSSSRRSSRRRRRRSSRRSSSSSSSSRRRRRRRRSSSSRRSSSSRRSSSSRRSSSSSSRRSSRRSSRRRRSSSSSSRRSSRRSSRRRRRRSSSSRRSSRRSSRRRRRRRRSSRRSSRRSSSSRRSSSSRRSSRRRRSSRRRRSSSSSSRRRRRRRRRRSSSSSSSSRRSSRRRRRRRRRRSSRRSSRRSSSSRRRRSSRRRRSSSSRRRRSSRRRRRRSSRRSSRRRRSSRRSSRRRRSSRRRRRRRRRRSSRRRRRRRRSSSSSSSSSSRRSSRRRRRRSSRRSSSSSSRRRRSSRRSSRRSSSSRRRRSSRRRRSSSSSSSSRRRRRRRRRRRRSSSSRRSSRRSSRRRRSSRRRRRRRRSSRRSSRRRRSSRRRRSSSSRRRRRRRRRRRRRRSSRRRRSSSSRRSSRRSSSSRRSSSSRRRRSSRRRRSSRRSSSSSSRRRRSSSSSSRRRRRRRRSSRRRRRRSSRRRRSSRRSSSSRRRRRRRRSSSSRRSSRRRRSSSSRRRRRRSSRRSSSSSSRRRRSSSSRRSSRRSSSSRRRRSSSSRRRRSSRRSSRRSSSSSSSSRRRRRRSSRRRRRRSSSSRRSSRRSSRRRRRRRRSSRRSSRRSSRRRRRRRRSSSSRRRRSSRRRRSSSSRRRRSSSSRRSSRRRRRRRRRRSSRRRRRRSSRRSSRRRRSSRRRRSSSSSSRRSSRRRRRRRRRRRRRRRRRRRRSSSSSSRRSSRRSSRRRRSSSSSSRRSSSSSSRRRRRRRRRRRRRRSSRRSSRRRRRRRRRRSSSSRRRRRRRRSSRRSSRRRRSSSSRRRRRRSSSSRRSSRRRRRRRRSSRRRRRRRRSSRRRRSSSSRRSSRRSSRRRRRRRRRRRRSSRRRRRRRRSSSSRRSSSSRRRRRRRRSSSSSSRRSSRRRRRRRRRRRRRRRRRRSSRRRRRRRRRRSSRRSSRRSSSSRRRRRRRRSSRRRRSSRRRRRRSSRRSSRRRRRRSSSSRRRRSSSSSSRRSSRRRRRRRRRRSSRRSSSSSSSSSSRRRRRRRRRRRRRRSSRRSSSSRRRRSSSSRRRRRRSSSSSSSSRRSSRRRRRRRRRRRRRRSSRRSSSSRRSSRRRRSSRRRRSSRRRRSSRRRRRRSSSSRRSSRRRRRRSSSSRRRRSSSSSSRRSSSSRRRRSSSSSSRRRRSSSSSSRRSSSSRRSSSSRRSSSSSSRRRRRRRRRRSSRRRRRRRRSSSSRRSSSSRRSSRRRRSSRRRRSSRRSSRRRRSSRRRRRRRRSSSSSSRRSSRRRRSSRRRRSSRRSSRRSSSSRRRRSSRRRRSSSSRRRRRRRRRRRRRRRRRRRRSSRRRRSSRRRRRRRRRRRRRRRRSSRRSSRRRRSSRRRRRRSSRRSSRRSSSSSSRRSSSSRRRRRRRRRRSSSSRRSSRRSSRRRRSSRRSSRRRRRRSSRRSSRRRRSSRRSSSSRRRRRRRRSSRRRRRRRRRRRRSSSSRRRRSSSSRRRRSSSSSSRRRRSSRRRRRRRRSSRRRRRRSSSSSSSSRRSSSSSSSSRRRRRRSSRRRRRRRRSSRRRRRRSSRRSSRRRRSSRRRRRRSSRRSSRRSSSSSSRRSSSSRRRRRRRRRRSSRRRRSSRRSSRRRRSSRRSSRRRRRRSSRRSSRRRRSSRRSSSSRRRRRRRRSSRRRRRRRRRRRRSSSSRRRRSSSSRRRRSSSSSSRRRRSSRRRRRRRRSSRRSSRRSSSSSSSSRRSSSSSSSSRRRRRRSSRRRRRRRRSSRRRRSSSSSSRRSSSSRRRRRRRRRRRRRRSSRRRRRRRRRRSSSSRRSSSSSSRRRRSSRRRRRRRRSSRRSSRRSSRRSSRRSSRRRRRRRRRRSSRRSSRRRRRRSSSSRRSSSSRRSSRRSSRRRRRRRRRRRRSSRRSSSSSSRRSSSSSSSSRRSSRRSSSSRRRRRRRRSSSSRRRRSSSSSSRRRRRRSSRRSSRRRRRRRRSSSSRRRRRRRRSSSSSSSSSSRRSSRRRRSSSSSSRRRRRRSSSSRRSSSSRRRRRRSSRRRRRRSSSSSSSSSSRRRRRRRRRRRRRRRRRRRRRRRRRRSSRRSSSSSSRRSSRRSSRRRRRRRRRRRRRRRRRRSSSSRRRRRRRRRRRRRRRRSSRRRRSSRRRRRRSSRRRRRRRRRRRRRRRRSSRRSSSSSSRRSSRRRRSSRRRRRRRRRRRRRRSSRRRRRRRRSSRRRRSSRRRRRRRRRRRRSSRRRRRRRRRRRRRRRRSSSSRRSSRRSSRRRRRRSSRRRRSSRRRRRRSSRRSSRRSSRRRRRRRRSSRRRRRRRRRRRRRRRRSSRRRRRRRRSSRRRRRRSSSSRRRRRRSSRRRRRRRRRRRRSSRRRRSSSSRRRRRRRRRRSSSSSSSSRRRRRRSSRRSSSSRRRRRRRRRRSSRRRRRRSSSSRRRRRRRRRRRRRRRRRRSSSSRRRRRRRRSSRRRRRRRRRRSSRRSSRRRRRRSSRRRRRRSSRRSSSSRRRRRRSSSSRRRRRRRRRRSSRRRRRRRRRRRRSSSSSSRRSSSSRRRRSSRRSSRRRRSSSSSSSSRRRRRRRRRRRRRRRRRRRRSSRRSSRRSSRRRRSSSSRRRRRRRRRRRRRRRRRRRRSSSSRRRRRRSSRRRRSSSSRRRRRRRRRRRRRRRRRRSSRRRRRRRRSSRRRRRRSSSSRRRRRRRRRRRRSSSSRRRRRRRRSSSSRRRRRRRRRRRRRRRRRRRRRRRRRRRRSSRRRRRRRRRRRRRRRRRRRRSSRRRRRRSSRRRRSSRRRRRRRRSSSSSSRRRRRRRRRRRRRRRRRRRRRRRRRRRRSSSSRRRRRRSSRRRRRRSSRRRRRRRRRRSSRRRRRRRRRRRRRRSSRRRRRRRRRRRRRRRRRRRRSSRRRRSSSSRRRRRRRRRRRRRRRRRRSSRRRRRRRRRRSSRRRRRRRRSSRRRRRRSSRRRRRRSSRRRRRRSSRRSSSSRRSSSSRRRRSSRRRRRRRRRRRRRRRRRRRRRRRRSSSSRRSSRRSSRRSSRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRSSRRSSRRRRRRRRRRSSRRSSRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRSSRRSSSSRRRRSSRRRRRRSSRRRRRRRRRRSSRRRRRRSSRRSSSSRRSSSSRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRSSSSRRSSSSSSSSSSRRSSSSSSSSRRRRRRSSSSRRRRRRRRSSRRRRRRSSRRSSSSRRRRRRRRSSRRSSSSRRRRSSSSSSSSRRSSSSRRSSRRSSSSRRRRRRRRSSSSRRSSSSRRSSRRRRRRSSRRSSRRSSSSSSSSRRSSSSSSRRRRSSRRSSRRSSRRSSRRRRSSRRSSSSRRSSRRRRRRSSRRRRRRRRRRSSSSSSSSSSSSRRSSSSRRRRRRRRRRSSSSRRRRSSSSRRSSRRRRRRRRRRRRSSSSRRRRSSSSRRSSRRSSRRSSSSSSSSSSRRRRRRRRRRSSRRSSRRRRRRSSRRRRRRRRSSSSRRSSSSSSSSRRRRRRSSSSRRSSRRSSRRSSRRRRSSSSSSRRRRSSSSSSSSSSSSRRSSSSRRRRRRSSRRRRRRSSRRRRSSRRRRRRRRRRSSSSRRRRSSRRSSRRRRSSSSRRRRRRRRRRRRSSRRSSRRSSSSSSRRSSRRSSSSSSSSRRRRRRRRSSRRRRSSRRRRSSSSSSRRRRRRSSRRRRRRSSSSRRSSSSRRSSRRSSSSRRSSRRSSRRRRRRRRRRRRSSSSSSRRSSRRSSRRRRSSSSSSRRRRSSSSSSRRRRSSSSSSRRRRSSRRSSSSRRRRSSSSRRSSSSRRRRSSSSRRRRRRRRRRRRRRSSSSRRSSRRRRRRSSRRSSSSSSSSRRRRRRRRSSSSRRSSSSRRSSSSRRSSSSSSRRSSRRSSRRRRSSSSSSRRSSRRSSRRRRRRSSSSRRSSRRSSRRRRRRRRSSRRSSRRSSSSRRSSSSRRSSRRRRSSRRRRSSSSSSRRRRRRRRRRSSSSSSSSRRSSRRRRRRRRRRSSRRSSRRSSSSRRRRSSRRRRSSSSRRRRSSRRRRRRSSRRSSRRRRSSRRSSRRRRSSRRRRRRRRRRSSRRRRRRRRSSSSSSSSSSRRSSRRRRRRSSRRSSSSSSRRRRSSRRSSRRSSSSRRRRSSRRRRSSSSSSSSRRRRRRRRRRRRSSSSRRSSRRSSRRRRSSRRRRRRRRSSRRSSRRRRSSRRRRSSSSRRRRRRRRRRRRRRSSRRRRSSSSRRSSRRSSSSRRSSSSRRRRSSRRRRSSRRSSSSSSRRRRSSSSSSRRRRRRRRSSRRRRRRSSRRRRSSRRSSSSRRRRRRRRSSSSRRSSRRRRSSSSRRRRRRSSRRSSSSSSRRRRSSSSRRSSRRSSSSRRRRSSSSRRRRSSRRSSRRSSSSSSSSRRRRRRSSRRRRRRSSSSRRSSRRSSRRRRRRRRSSRRSSRRSSRRRRRRRRSSSSRRRRSSRRRRSSSSRRRRSSSSRRSSRRRRRRRRRRSSRRRRRRSSRRSSRRRRSSRRRRSSSSSSRRSSRRRRRRRRRRRRRRRRRRRRSSSSSSRRSSRRSSRRRRSSSSSSRRSSSSSSRRRRRRRRRRRRRRSSRRSSRRRRRRRRRRSSSSRRRRRRRRSSRRSSRRRRSSSSRRRRRRSSSSRRSSRRRRRRRRSSRRRRRRRRSSRRRRSSSSRRSSRRSSRRRRRRRRRRRRSSRRRRRRRRSSSSRRSSSSRRRRRRRRSSSSSSRRSSRRRRRRRRRRRRRRRRRRSSRRRRRRRRRRSSRRSSRRSSSSRRRRRRRRSSRRRRSSRRRRRRSSRRSSRRRRRRSSSSRRRRSSSSSSRRSSRRRRRRRRRRSSRRSSSSSSSSSSRRRRRRRRRRRRRRSSRRSSSSRRRRSSSSRRRRRRSSSSSSSSRRSSRRRRRRRRRRRRRRSSRRSSSSRRSSRRRRSSRRRRSSRRRRSSRRRRRRSSSSRRSSRRRRRRSSSSRRRRSSSSSSRRSSSSRRRRSSSSSSRRRRSSSSSSRRSSSSRRSSSSRRSSSSSSRRRRRRRRRRSSRRRRRRRRSSSSRRSSSSRRSSRRRRSSRRRRSSRRSSRRRRSSRRRRRRRRSSSSSSRRSSRRRRSSRRRRSSRRSSRRSSSSRRRRSSRRRRSSSSRRRRRRRRRRRRRRRRRRRRSSRRRRSSRRRRRRRRRRRRRRRRSSRRSSRRRRSSRRRRRRSSRRSSRRSSSSSSRRSSSSRRRRRRRRRRSSSSRRSSRRSSRRRRSSRRSSRRRRRRSSRRSSRRRRSSRRSSSSRRRRRRRRSSRRRRRRRRRRRRSSSSRRRRSSSSRRRRSSSSSSRRRRSSRRRRRRRRSSRRRRRRSSSSSSSSRRSSSSSSSSRRRRRRSSRRRRRRRRSSRRRRRRSSRRSSRRRRSSRRRRRRSSRRSSRRSSSSSSRRSSSSRRRRRRRRRRSSRRRRSSRRSSRRRRSSRRSSRRRRRRSSRRSSRRRRSSRRSSSSRRRRRRRRSSRRRRRRRRRRRRSSSSRRRRSSSSRRRRSSSSSSRRRRSSRRRRRRRRSSRRSSRRSSSSSSSSRRSSSSSSSSRRRRRRSSRRRRRRRRSSRRRRSSSSSSRRSSSSRRRRRRRRRRRRRRSSRRRRRRRRRRSSSSRRSSSSSSRRRRSSRRRRRRRRSSRRSSRRSSRRSSRRSSRRRRRRRRRRSSRRSSRRRRRRSSSSRRSSSSRRSSRRSSRRRRRRRRRRRRSSRRSSSSSSRRSSSSSSSSRRSSRRSSSSRRRRRRRRSSSSRRRRSSSSSSRRRRRRSSRRSSRRRRRRRRSSSSRRRRRRRRSSSSSSSSSSRRSSRRRRSSSSSSRRRRRRSSSSRRSSSSRRRRRRSSRRRRRRSSSSSSSSSSRRRRRRRRRRRRRRRRRRRRRRRRRRSSRRSSSSSSRRSSRRSSRRRRRRRRRRRRRRRRRRSSSSRRRRRRRRRRRRRRRRSSRRRRSSRRRRRRSSRRRRRRRRRRRRRRRRSSRRSSSSSSRRSSRRRRSSRRRRRRRRRRRRRRSSRRRRRRRRSSRRRRSSRRRRRRRRRRRRSSRRRRRRRRRRRRRRRRSSSSRRSSRRSSRRRRRRSSRRRRSSRRRRRRSSRRSSRRSSRRRRRRRRSSRRRRRRRRRRRRRRRRSSRRRRRRRRSSRRRRRRSSSSRRRRRRSSRRRRRRRRRRRRSSRRRRSSSSRRRRRRRRRRSSSSSSSSRRRRRRSSRRSSSSRRRRRRRRRRSSRRRRRRSSSSRRRRRRRRRRRRRRRRRRSSSSRRRRRRRRSSRRRRRRRRRRSSRRSSRRRRRRSSRRRRRRSSRRSSSSRRRRRRSSSSRRRRRRRRRRSSRRRRRRRRRRRRSSSSSSRRSSSSRRRRSSRRSSRRRRSSSSSSSSRRRRRRRRRRRRRRRRRRRRSSRRSSRRSSRRRRSSSSRRRRRRRRRRRRRRRRRRRRSSSSRRRRRRSSRRRRSSSSRRRRRRRRRRRRRRRRRRSSRRRRRRRRSSRRRRRRSSSSRRRRRRRRRRRRSSSSRRRRRRRRSSSSRRRRRRRRRRRRRRRRRRRRRRRRRRRRSSRRRRRRRRRRRRRRRRRRRRSSRRRRRRSSRRRRSSRRRRRRRRSSSSSSRRRRRRRRRRRRRRRRRRRRRRRRRRRRSSSSRRRRRRSSRRRRRRSSRRRRRRRRRRSSRRRRRRRRRRRRRRSSRRRRRRRRRRRRRRRRRRRRSSRRRRSSSSRRRRRRRRRRRRRRRRRRSSRRRRRRRRRRSSRRRRRRRRSSRRRRRRSSRRRRRRSSRRRRRRSSRRSSSSRRSSSSRRRRSSRRRRRRRRRRRRRRRRRRRRRRRRSSSSRRSSRRSSRRSSRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRSSRRSSRRRRRRRRRRSSRRSSRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRSSRRSSSSRRRRSSRRRRRRSSRRRRRRRRRRSSRRRRRRSSRRSSSSRRSSSSRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRSSSSRRSSSSSSRRSSSSSSRRSSSSSSSSSSSSSSRRSSRRSSSSRRSSSSSSSSSSSSSSSSSSSSSSRRSSRRSSSSRRSSSSSSSSRRRRSSSSSSRRSSSSSSSSSSSSSSSSRRSSSSSSSSRRSSSSSSSSRRRRSSRRRRSSSSSSSSSSSSSSSSRRSSSSSSSSSSRRSSRRSSSSSSSSSSSSRRSSSSSSSSSSRRRRRRSSSSSSSSSSSSSSSSSSRRSSSSSSSSRRSSSSRRSSRRSSSSRRRRSSRRSSSSSSSSSSSSSSRRRRRRSSSSSSRRSSSSSSSSSSSSRRSSRRRRRRRRSSRRSSSSSSRRSSSSSSRRSSSSSSRRSSRRSSRRSSSSSSSSRRSSSSRRSSSSSSSSSSSSRRSSSSSSSSRRRRSSRRRRSSRRSSRRSSRRSSSSSSSSRRSSSSSSSSRRSSSSSSSSRRSSSSSSRRSSSSSSSSSSRRSSSSSSSSRRSSSSRRRRRRSSSSSSRRRRSSRRRRRRSSSSRRSSSSRRRRRRSSSSRRSSRRSSRRRRSSSSSSRRRRSSRRSSSSSSSSRRSSSSSSSSRRSSRRRRRRSSSSSSSSSSRRSSSSSSSSRRSSSSSSSSSSSSSSSSRRSSSSRRSSRRSSSSRRRRRRSSRRSSSSSSRRSSSSSSSSSSSSSSRRSSSSSSSSSSRRSSSSSSSSSSSSSSSSSSSSSSSSSSRRSSRRRRSSSSSSSSRRSSSSRRSSRRSSSSRRSSRRSSSSSSSSSSRRSSSSSSRRRRRRSSSSSSSSRRRRRRSSSSSSRRSSSSSSSSSSSSRRSSSSSSRRSSSSSSRRSSSSSSRRSSSSRRSSSSSSRRSSSSRRSSSSSSSSRRSSSSRRSSRRRRSSRRSSRRSSSSSSSSSSSSRRSSSSSSRRRRSSSSSSRRSSSSSSSSRRRRRRSSSSSSSSRRSSSSRRSSSSSSSSSSSSSSSSRRSSSSRRSSSSRRSSRRRRSSSSSSSSRRSSSSRRSSSSSSSSSSSSSSSSSSSSRRSSSSSSRRRRRRSSSSSSSSSSSSSSSSRRSSRRSSRRSSSSSSSSRRRRRRRRSSSSSSSSRRSSRRSSSSRRSSRRSSSSRRSSRRSSSSSSRRRRSSSSRRRRRRRRSSSSRRSSSSSSSSRRSSSSSSSSRRSSRRRRSSRRRRRRSSSSSSRRSSSSRRSSRRSSSSSSSSSSRRRRRRSSSSRRRRSSSSSSSSSSRRSSSSSSSSSSSSSSRRRRSSRRSSRRSSRRRRRRRRSSSSRRRRSSRRSSRRRRRRSSSSSSSSRRRRSSSSRRRRRRSSRRRRSSRRSSSSSSRRSSRRSSSSSSRRRRRRSSSSSSRRRRRRSSSSSSSSRRRRSSSSSSSSRRSSSSSSRRSSSSSSSSSSRRRRSSRRSSSSRRSSRRRRRRSSRRSSSSSSSSSSSSRRSSRRSSSSSSRRSSSSRRSSSSSSRRSSRRRRSSSSRRSSSSSSRRSSRRRRSSRRRRSSSSSSSSSSSSRRRRRRRRRRSSRRSSRRRRRRRRRRSSSSSSSSSSSSRRRRSSRRRRRRRRSSRRSSRRSSRRSSRRSSSSRRSSSSRRSSRRSSRRRRRRSSSSRRSSSSSSSSRRSSRRRRSSRRSSSSSSRRSSSSSSRRSSSSSSSSRRSSSSSSSSSSRRRRRRSSSSSSSSSSSSSSRRRRSSSSRRSSSSRRRRRRSSSSSSRRSSSSSSSSSSSSSSRRSSSSRRSSSSSSSSRRRRSSSSSSSSSSSSRRSSSSRRRRSSSSSSSSSSSSSSSSSSRRSSSSRRRRSSRRRRRRSSSSRRSSSSSSSSSSRRSSRRRRRRSSRRRRRRRRRRSSSSRRRRSSSSSSRRRRSSSSRRSSSSSSRRSSSSRRSSRRRRRRRRSSRRSSRRSSSSSSRRSSSSRRSSRRRRSSRRRRSSRRSSRRRRRRSSSSRRSSSSRRSSRRRRRRSSSSRRRRRRSSSSRRRRSSSSSSRRSSRRSSRRRRRRSSSSSSSSSSRRSSSSRRSSRRSSRRRRRRSSSSRRSSRRSSRRRRRRRRSSRRSSRRSSSSRRSSSSRRSSRRSSSSRRRRSSSSSSRRRRRRRRRRSSSSSSSSRRSSSSRRRRRRRRSSRRSSRRSSSSSSRRSSRRRRSSSSRRRRSSRRRRRRSSRRSSRRRRSSRRSSRRRRSSRRRRSSRRRRSSRRRRRRRRSSSSSSSSSSRRSSRRRRRRSSRRSSSSSSRRRRSSRRSSRRSSRRRRRRRRSSRRSSRRSSSSRRSSSSRRSSRRSSSSRRRRSSSSSSRRRRRRRRRRSSSSSSSSRRSSSSRRRRRRRRSSRRSSRRSSSSSSRRSSRRRRSSSSRRRRSSRRRRRRSSRRSSRRRRSSRRSSRRRRSSRRRRSSRRRRSSRRRRRRRRSSSSSSSSSSRRSSRRRRRRSSRRSSSSSSRRRRSSRRSSRRSSSSRRRRSSRRRRSSSSSSSSSSRRRRSSRRRRSSSSRRSSRRSSRRRRSSRRSSRRRRSSRRSSRRRRSSRRRRSSSSSSRRRRRRRRRRRRSSSSRRSSSSRRSSRRSSSSRRSSSSRRRRSSRRRRSSRRSSSSSSRRRRSSSSSSRRRRSSRRSSRRRRRRSSRRRRSSRRSSSSRRRRRRRRSSSSRRSSRRRRSSSSRRRRRRSSRRSSSSSSRRSSSSSSRRSSRRSSSSRRRRSSSSRRRRSSRRSSRRSSSSSSSSRRRRRRSSRRSSRRSSSSRRSSRRSSSSRRRRRRSSRRSSRRSSRRRRRRRRSSSSRRRRSSRRRRSSSSRRRRSSSSRRSSRRRRRRRRSSSSSSRRRRSSRRSSRRRRSSRRRRSSSSSSRRSSRRRRRRRRRRRRRRRRRRRRSSSSSSRRSSRRSSRRRRSSSSSSRRSSSSSSRRRRSSRRRRRRRRSSRRSSRRRRRRRRRRSSSSRRSSSSRRSSSSSSRRRRSSSSRRRRRRRRSSSSSSSSSSRRRRRRSSRRRRRRSSSSSSSSRRSSSSSSSSRRRRSSRRSSSSSSSSRRRRRRSSSSRRRRRRRRRRSSSSRRSSSSSSRRRRRRSSSSSSSSRRSSSSSSRRSSRRSSSSRRSSRRSSSSSSSSSSSSSSRRRRRRSSSSSSSSSSRRRRRRSSRRRRSSSSRRRRRRRRSSSSRRRRSSSSRRSSRRRRRRRRRRRRSSRRRRRRRRSSRRSSSSSSSSSSRRRRRRSSRRRRRRRRRRRRRRRRRRSSRRRRSSRRSSRRSSSSRRRRRRRRRRSSSSRRRRSSRRRRSSRRRRSSRRRRRRRRSSSSRRSSSSSSSSRRRRRRRRSSRRRRRRRRRRRRSSRRSSRRRRSSRRRRRRSSRRRRRRRRRRRRRRSSSSRRRRRRRRSSSSRRRRSSSSRRRRRRRRRRRRSSRRSSSSRRRRSSRRRRSSRRRRSSRRSSSSRRRRRRRRSSSSRRRRSSSSSSRRSSSSSSRRRRRRSSRRSSRRRRRRRRSSRRSSSSRRRRRRRRRRRRSSRRSSRRSSSSRRRRSSSSRRSSRRSSSSSSSSRRRRRRSSSSRRRRRRRRSSRRRRRRSSRRSSRRRRRRRRRRSSRRSSSSRRRRSSSSSSSSRRSSSSRRSSRRSSSSRRRRRRRRSSSSRRSSSSRRSSRRRRRRSSRRSSRRRRSSRRSSRRSSSSSSRRRRSSRRSSRRSSRRRRRRRRSSRRSSRRRRSSRRRRRRRRRRRRRRRRRRSSSSRRRRSSSSRRRRRRRRRRSSSSSSSSRRRRRRSSRRRRRRSSRRRRSSRRSSSSSSRRRRRRRRSSSSRRRRRRSSRRSSRRRRRRSSSSSSSSRRRRSSSSRRRRRRRRRRRRRRSSRRSSRRRRRRRRRRRRRRSSRRSSRRRRRRRRRRSSSSRRRRSSSSRRRRRRSSSSSSRRSSSSSSRRSSSSSSRRSSSSSSSSSSSSSSRRSSRRSSSSRRSSSSSSSSSSSSSSSSSSSSSSRRSSRRSSSSRRSSSSSSSSRRRRSSSSSSRRSSSSSSSSSSSSSSSSRRSSSSSSSSRRSSSSSSSSRRRRSSRRRRSSSSSSSSSSSSSSSSRRSSSSSSSSSSRRSSRRSSSSSSSSSSSSRRSSSSSSSSSSRRRRRRSSSSSSSSSSSSSSSSSSRRSSSSSSSSRRSSSSRRSSRRSSSSRRRRSSRRSSSSSSSSSSSSSSRRRRRRSSSSSSRRSSSSSSSSSSSSRRSSRRRRRRRRSSRRSSSSSSRRSSSSSSRRSSSSSSRRSSRRSSRRSSSSSSSSRRSSSSRRSSSSSSSSSSSSRRSSSSSSSSRRRRSSRRRRSSRRSSRRSSRRSSSSSSSSRRSSSSSSSSRRSSSSSSSSRRSSSSSSRRSSSSSSSSSSRRSSSSSSSSRRSSSSRRRRRRSSSSSSRRRRSSRRRRRRSSSSRRSSSSRRRRRRSSSSRRSSRRSSRRRRSSSSSSRRRRSSRRSSSSSSSSRRSSSSSSSSRRSSRRRRRRSSSSSSSSSSRRSSSSSSSSRRSSSSSSSSSSSSSSSSRRSSSSRRSSRRSSSSRRRRRRSSRRSSSSSSRRSSSSSSSSSSSSSSRRSSSSSSSSSSRRSSSSSSSSSSSSSSSSSSSSSSSSSSRRSSRRRRSSSSSSSSRRSSSSRRSSRRSSSSRRSSRRSSSSSSSSSSRRSSSSSSRRRRRRSSSSSSSSRRRRRRSSSSSSRRSSSSSSSSSSSSRRSSSSSSRRSSSSSSRRSSSSSSRRSSSSRRSSSSSSRRSSSSRRSSSSSSSSRRSSSSRRSSRRRRSSRRSSRRSSSSSSSSSSSSRRSSSSSSRRRRSSSSSSRRSSSSSSSSRRRRRRSSSSSSSSRRSSSSRRSSSSSSSSSSSSSSSSRRSSSSRRSSSSRRSSRRRRSSSSSSSSRRSSSSRRSSSSSSSSSSSSSSSSSSSSRRSSSSSSRRRRRRSSSSSSSSSSSSSSSSRRSSRRSSRRSSSSSSSSRRRRRRRRSSSSSSSSRRSSRRSSSSRRSSRRSSSSRRSSRRSSSSSSRRRRSSSSRRRRRRRRSSSSRRSSSSSSSSRRSSSSSSSSRRSSRRRRSSRRRRRRSSSSSSRRSSSSRRSSRRSSSSSSSSSSRRRRRRSSSSRRRRSSSSSSSSSSRRSSSSSSSSSSSSSSRRRRSSRRSSRRSSRRRRRRRRSSSSRRRRSSRRSSRRRRRRSSSSSSSSRRRRSSSSRRRRRRSSRRRRSSRRSSSSSSRRSSRRSSSSSSRRRRRRSSSSSSRRRRRRSSSSSSSSRRRRSSSSSSSSRRSSSSSSRRSSSSSSSSSSRRRRSSRRSSSSRRSSRRRRRRSSRRSSSSSSSSSSSSRRSSRRSSSSSSRRSSSSRRSSSSSSRRSSRRRRSSSSRRSSSSSSRRSSRRRRSSRRRRSSSSSSSSSSSSRRRRRRRRRRSSRRSSRRRRRRRRRRSSSSSSSSSSSSRRRRSSRRRRRRRRSSRRSSRRSSRRSSRRSSSSRRSSSSRRSSRRSSRRRRRRSSSSRRSSSSSSSSRRSSRRRRSSRRSSSSSSRRSSSSSSRRSSSSSSSSRRSSSSSSSSSSRRRRRRSSSSSSSSSSSSSSRRRRSSSSRRSSSSRRRRRRSSSSSSRRSSSSSSSSSSSSSSRRSSSSRRSSSSSSSSRRRRSSSSSSSSSSSSRRSSSSRRSSSSSSSSSSSSSSSSSSSSRRSSSSRRRRSSRRRRRRSSSSRRSSSSSSSSSSRRSSRRRRRRSSRRRRRRRRRRSSSSRRRRSSSSSSRRRRSSSSRRSSSSSSRRSSSSRRSSRRRRRRRRSSRRSSRRSSSSSSRRSSSSRRSSRRRRSSRRRRSSRRSSRRRRRRSSSSRRSSSSRRSSRRRRRRSSSSRRRRRRSSSSRRRRSSSSSSRRSSRRSSRRRRRRSSSSSSSSSSRRSSSSRRSSRRSSRRRRRRSSSSRRSSRRSSRRRRRRRRSSRRSSRRSSSSRRSSSSRRSSRRSSSSRRRRSSSSSSRRRRRRRRRRSSSSSSSSRRSSSSRRRRRRRRSSRRSSRRSSSSSSRRSSRRRRSSSSRRRRSSRRRRRRSSRRSSRRRRSSRRSSRRRRSSRRRRSSRRRRSSRRRRRRRRSSSSSSSSSSRRSSRRRRRRSSRRSSSSSSRRRRSSRRSSRRSSRRRRRRRRSSRRSSRRSSSSRRSSSSRRSSRRSSSSRRRRSSSSSSRRRRRRRRRRSSSSSSSSRRSSSSRRRRRRRRSSRRSSRRSSSSSSRRSSRRRRSSSSRRRRSSRRRRRRSSRRSSRRRRSSRRSSRRRRSSRRRRSSRRRRSSRRRRRRRRSSSSSSSSSSRRSSRRRRRRSSRRSSSSSSRRRRSSRRSSRRSSSSRRRRSSRRRRSSSSSSSSSSRRRRSSRRRRSSSSRRSSRRSSRRRRSSRRSSRRRRSSRRSSRRRRSSRRRRSSSSSSRRRRRRRRRRRRSSSSRRSSSSRRSSRRSSSSRRSSSSRRRRSSRRRRSSRRSSSSSSRRRRSSSSSSRRRRSSRRSSRRRRRRSSRRRRSSRRSSSSRRRRRRRRSSSSRRSSRRRRSSSSRRRRRRSSRRSSSSSSRRSSSSSSRRSSRRSSSSRRRRSSSSRRRRSSRRSSRRSSSSSSSSRRRRRRSSRRSSRRSSSSRRSSRRSSSSRRRRRRSSRRSSRRSSRRRRRRRRSSSSRRRRSSRRRRSSSSRRRRSSSSRRSSRRRRRRRRSSSSSSRRRRSSRRSSRRRRSSRRRRSSSSSSRRSSRRRRRRRRRRRRRRRRRRRRSSSSSSRRSSRRSSRRRRSSSSSSRRSSSSSSRRRRSSRRRRRRRRSSRRSSRRRRRRRRRRSSSSRRSSSSRRSSSSSSRRRRSSSSRRRRRRRRSSSSSSSSSSRRRRRRSSRRRRRRSSSSSSSSRRSSSSSSSSRRRRSSRRSSSSSSSSRRRRRRSSSSRRRRRRRRRRSSSSRRSSSSSSRRRRRRSSSSSSSSRRSSSSSSRRSSRRSSSSRRSSRRSSSSSSSSSSSSSSRRRRRRSSSSSSSSSSRRRRRRSSRRRRSSSSRRRRRRRRSSSSRRRRSSSSRRSSRRRRRRRRRRRRSSRRRRRRRRSSRRSSSSSSSSSSRRRRRRSSRRRRRRRRRRRRRRRRRRSSRRRRSSRRSSRRSSSSRRRRRRRRRRSSSSRRRRSSRRRRSSRRRRSSRRRRRRRRSSSSRRSSSSSSSSRRRRRRRRSSRRRRRRRRRRRRSSRRSSRRRRSSRRRRRRSSRRRRRRRRRRRRRRSSSSRRRRRRRRSSSSRRRRSSSSRRRRRRRRRRRRSSRRSSSSRRRRSSRRRRSSRRRRSSRRSSSSRRRRRRRRSSSSRRRRSSSSSSRRSSSSSSRRRRRRSSRRSSRRRRRRRRSSRRSSSSRRRRRRRRRRRRSSRRSSRRSSSSRRRRSSSSRRSSRRSSSSSSSSRRRRRRSSSSRRRRRRRRSSRRRRRRSSRRSSSSRRRRRRRRSSRRSSSSRRRRSSSSSSSSRRSSSSRRSSRRSSSSRRRRRRRRSSSSRRSSSSRRSSRRRRRRSSRRSSRRRRSSRRSSRRSSSSSSRRRRSSRRSSRRSSRRRRRRRRSSRRSSRRRRSSRRRRRRRRRRRRRRRRRRSSSSRRRRSSSSRRRRRRRRRRSSSSSSSSRRRRRRSSRRRRRRSSRRRRSSRRSSSSSSRRRRRRRRSSSSRRRRRRSSRRSSRRRRRRSSSSSSSSRRRRSSSSRRRRRRRRRRRRRRSSRRSSRRRRRRRRRRRRRRSSRRSSRRRRRRRRRRSSSSRRRRSSSSRRRRRRSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSRRSSSSSSSSSSSSSSSSRRSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSRRRRSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSRRSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSRRSSSSSSSSRRSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSRRRRSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSRRSSSSSSSSSSSSSSSSSSSSSSSSRRSSSSSSSSSSSSSSRRSSRRSSSSSSSSSSSSSSSSSSRRSSSSSSSSSSRRSSSSSSSSRRRRSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSRRSSSSSSSSSSRRSSRRSSSSSSSSSSSSSSRRSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSRRSSSSSSSSSSSSSSSSSSSSSSSSRRSSSSSSSSSSSSSSSSRRSSSSSSSSSSSSSSRRSSSSSSSSSSSSSSSSSSSSSSSSSSRRSSSSSSSSSSSSSSSSSSSSSSRRSSRRSSSSSSSSSSSSRRSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSRRSSRRSSSSSSSSSSSSSSSSSSRRSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSRRSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSRRSSSSSSRRSSSSSSSSSSSSSSSSSSRRSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSRRSSSSSSRRRRSSSSSSSSSSSSSSRRSSSSRRSSRRSSSSRRSSSSSSSSSSSSSSRRRRSSSSSSSSSSSSSSSSSSSSRRSSSSSSRRSSSSSSRRRRSSRRRRSSSSSSSSSSSSSSRRSSSSSSSSSSSSSSSSSSSSSSSSRRRRRRRRSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSRRRRSSSSSSSSSSSSSSSSSSSSSSSSRRSSSSSSRRSSSSSSSSSSRRSSSSSSSSSSRRSSSSSSSSRRSSSSSSSSSSSSSSSSSSRRSSSSSSRRSSSSSSSSSSSSSSRRRRSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSRRRRSSRRRRSSSSSSSSSSSSRRSSRRSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSRRSSRRSSSSSSSSRRRRRRRRSSRRRRSSRRRRSSSSSSSSSSRRRRSSSSSSSSSSSSSSSSSSSSSSSSSSSSRRSSRRRRSSSSSSSSSSSSSSSSSSRRSSRRSSRRSSRRSSSSRRRRSSSSSSRRSSSSRRRRSSSSSSSSSSSSSSSSSSRRSSRRSSSSSSSSSSSSSSRRRRSSSSSSSSRRSSSSSSSSRRSSSSSSSSSSSSRRRRRRRRSSSSSSSSSSSSSSRRSSRRSSSSSSSSSSRRRRSSRRSSSSRRSSSSSSRRRRSSSSSSSSSSSSRRSSSSSSRRSSRRSSSSSSSSSSRRRRSSRRSSSSSSSSSSSSSSSSRRSSRRSSSSSSSSSSSSSSSSSSRRSSSSSSSSSSSSSSSSSSRRSSRRSSSSSSSSSSSSSSSSSSSSRRSSSSSSSSRRSSRRSSSSSSRRSSSSSSSSRRSSSSSSRRSSSSSSSSSSSSSSRRSSSSRRSSSSSSSSSSRRSSSSSSSSSSSSSSRRSSSSSSSSSSSSSSSSSSSSSSRRSSSSRRSSRRSSRRSSSSSSRRSSSSSSSSSSSSSSSSRRSSSSSSRRSSSSSSSSSSSSRRRRRRRRSSSSSSRRSSSSRRSSSSSSSSSSSSSSSSSSSSRRSSSSSSSSSSSSRRSSSSSSSSSSRRSSSSSSSSRRRRSSSSSSRRRRRRRRSSSSSSRRSSSSSSSSSSSSSSSSSSSSRRSSRRRRRRSSSSSSRRSSSSRRSSSSSSRRRRSSSSSSSSSSSSSSSSSSRRSSRRRRSSSSSSRRSSSSSSSSSSSSSSSSSSSSSSRRSSSSSSSSSSSSSSSSRRSSRRSSSSSSSSSSSSSSRRSSSSSSSSSSSSSSSSRRSSSSSSSSSSRRSSSSSSRRRRRRRRSSSSSSRRSSSSSSSSSSSSSSSSSSSSRRSSSSRRRRSSSSSSRRSSSSRRSSSSSSRRRRSSSSSSSSSSSSSSSSSSRRSSRRRRSSSSSSRRSSSSSSSSSSSSSSSSSSSSSSRRSSSSSSSSSSSSSSSSRRSSRRSSSSSSSSSSSSSSRRSSSSSSSSSSSSSSSSRRSSSSSSSSSSRRSSRRRRSSSSSSSSSSSSSSRRSSSSSSSSSSSSSSSSSSSSRRSSSSSSRRRRRRSSSSSSSSSSSSSSSSRRSSSSSSRRSSSSSSSSRRRRRRSSSSSSSSSSRRSSRRSSSSRRSSSSSSSSRRSSRRSSSSSSRRSSRRSSSSSSRRRRSSSSSSSSSSSSSSRRSSSSSSSSRRSSRRSSSSRRRRRRSSSSSSRRSSSSRRSSRRSSSSSSSSSSRRRRRRSSSSRRRRSSSSSSSSSSSSSSSSSSSSSSSSSSRRRRSSRRSSSSSSRRSSRRRRSSSSSSRRRRRRSSSSRRRRSSSSSSSSSSRRSSSSSSRRRRSSSSSSSSRRSSSSSSRRSSRRSSSSSSSSRRSSSSSSSSRRRRRRSSSSSSSSSSRRSSSSSSSSRRSSSSSSRRSSSSSSSSSSRRRRSSSSSSSSRRSSRRRRRRSSRRSSSSSSRRSSSSRRSSRRSSSSSSRRSSSSRRSSSSSSRRSSRRRRSSSSSSSSSSSSSSSSSSRRSSRRRRSSSSSSSSSSSSRRSSSSSSRRSSSSRRSSRRRRSSSSSSRRSSSSRRSSRRSSRRRRSSRRSSSSSSRRSSSSSSSSRRSSRRSSSSSSSSSSRRRRRRRRSSSSRRSSRRRRSSSSRRRRRRRRSSSSRRSSSSSSSSRRRRRRSSSSSSSSRRSSRRSSSSRRSSSSSSSSRRSSSSSSSSSSSSRRSSSSRRRRRRSSRRRRRRSSSSRRSSRRRRRRRRRRSSSSRRSSSSRRSSRRRRSSSSRRRRRRSSSSRRSSRRSSSSSSSSSSSSSSRRSSSSSSSSRRRRSSRRSSSSRRSSRRRRSSSSSSSSSSSSSSRRRRRRSSSSRRSSSSRRSSRRSSSSRRSSRRSSRRSSRRRRRRRRSSSSSSSSSSRRSSSSRRSSSSSSRRRRSSSSSSSSRRSSSSSSRRRRSSRRSSSSRRRRSSSSRRSSSSRRSSSSSSSSRRSSSSRRRRRRSSSSSSSSRRRRRRSSRRSSSSSSSSRRRRRRRRSSSSRRSSSSSSSSSSRRSSSSSSSSSSRRSSRRRRSSSSSSRRSSSSSSRRRRSSRRRRSSSSSSSSSSSSSSRRRRRRSSSSRRRRSSSSSSRRSSRRSSRRSSSSRRSSRRSSSSRRSSSSSSSSRRRRSSRRSSRRSSSSSSSSSSRRSSSSRRSSSSSSSSRRRRSSSSSSRRRRRRRRRRRRSSSSSSSSSSSSSSRRRRSSSSRRSSRRSSRRSSSSSSSSSSRRRRRRSSRRSSSSRRRRRRSSSSSSRRSSSSSSSSSSRRSSSSRRSSSSSSRRSSRRRRSSSSRRSSSSSSRRSSRRRRSSRRRRSSSSSSSSSSSSRRRRSSSSRRRRSSRRSSSSSSRRRRRRSSSSRRSSSSSSSSSSRRSSSSSSSSSSRRSSSSSSRRSSSSRRSSSSRRRRSSSSSSSSSSSSRRSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSRRSSSSSSSSSSSSSSSSRRSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSRRRRSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSRRSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSRRSSSSSSSSRRSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSRRRRSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSRRSSSSSSSSSSSSSSSSSSSSSSSSRRSSSSSSSSSSSSSSRRSSRRSSSSSSSSSSSSSSSSSSRRSSSSSSSSSSRRSSSSSSSSRRRRSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSRRSSSSSSSSSSRRSSRRSSSSSSSSSSSSSSRRSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSRRSSSSSSSSSSSSSSSSSSSSSSSSRRSSSSSSSSSSSSSSSSRRSSSSSSSSSSSSSSRRSSSSSSSSSSSSSSSSSSSSSSSSSSRRSSSSSSSSSSSSSSSSSSSSSSRRSSRRSSSSSSSSSSSSRRSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSRRSSRRSSSSSSSSSSSSSSSSSSRRSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSRRSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSRRSSSSSSRRSSSSSSSSSSSSSSSSSSRRSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSRRSSSSSSRRRRSSSSSSSSSSSSSSRRSSSSRRSSRRSSSSRRSSSSSSSSSSSSSSRRRRSSSSSSSSSSSSSSSSSSSSRRSSSSSSRRSSSSSSRRRRSSRRRRSSSSSSSSSSSSSSRRSSSSSSSSSSSSSSSSSSSSSSSSRRRRRRRRSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSRRRRSSSSSSSSSSSSSSSSSSSSSSSSRRSSSSSSRRSSSSSSSSSSRRSSSSSSSSSSRRSSSSSSSSRRSSSSSSSSSSSSSSSSSSRRSSSSSSRRSSSSSSSSSSSSSSRRRRSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSRRRRSSRRRRSSSSSSSSSSSSRRSSRRSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSRRSSRRSSSSSSSSRRRRRRRRSSRRRRSSRRRRSSSSSSSSSSRRRRSSSSSSSSSSSSSSSSSSSSSSSSSSSSRRSSRRRRSSSSSSSSSSSSSSSSSSRRSSRRSSRRSSRRSSSSRRRRSSSSSSRRSSSSRRRRSSSSSSSSSSSSSSSSSSRRSSRRSSSSSSSSSSSSSSRRRRSSSSSSSSRRSSSSSSSSRRSSSSSSSSSSSSRRRRRRRRSSSSSSSSSSSSSSRRSSRRSSSSSSSSSSRRRRSSRRSSSSRRSSSSSSRRRRSSSSSSSSSSSSRRSSSSSSRRSSRRSSSSSSSSSSRRRRSSRRSSSSSSSSSSSSSSSSRRSSRRSSSSSSSSSSSSSSSSSSRRSSSSSSSSSSSSSSSSSSRRSSRRSSSSSSSSSSSSSSSSSSSSRRSSSSSSSSRRSSRRSSSSSSRRSSSSSSSSRRSSSSSSRRSSSSSSSSSSSSSSRRSSSSRRSSSSSSSSSSRRSSSSSSSSSSSSSSRRSSSSSSSSSSSSSSSSSSSSSSRRSSSSRRSSRRSSRRSSSSSSRRSSSSSSSSSSSSSSSSRRSSSSSSRRSSSSSSSSSSSSRRRRRRRRSSSSSSRRSSSSRRSSSSSSSSSSSSSSSSSSSSRRSSSSSSSSSSSSRRSSSSSSSSSSRRSSSSSSSSRRRRSSSSSSRRRRRRRRSSSSSSRRSSSSSSSSSSSSSSSSSSSSRRSSRRRRRRSSSSSSRRSSSSRRSSSSSSRRRRSSSSSSSSSSSSSSSSSSRRSSRRRRSSSSSSRRSSSSSSSSSSSSSSSSSSSSSSRRSSSSSSSSSSSSSSSSRRSSRRSSSSSSSSSSSSSSRRSSSSSSSSSSSSSSSSRRSSSSSSSSSSRRSSSSSSRRRRRRRRSSSSSSRRSSSSSSSSSSSSSSSSSSSSRRSSSSRRRRSSSSSSRRSSSSRRSSSSSSRRRRSSSSSSSSSSSSSSSSSSRRSSRRRRSSSSSSRRSSSSSSSSSSSSSSSSSSSSSSRRSSSSSSSSSSSSSSSSRRSSRRSSSSSSSSSSSSSSRRSSSSSSSSSSSSSSSSRRSSSSSSSSSSRRSSRRRRSSSSSSSSSSSSSSRRSSSSSSSSSSSSSSSSSSSSRRSSSSSSRRRRRRSSSSSSSSSSSSSSSSRRSSSSSSRRSSSSSSSSRRRRRRSSSSSSSSSSRRSSRRSSSSRRSSSSSSSSRRSSRRSSSSSSRRSSRRSSSSSSRRRRSSSSSSSSSSSSSSRRSSSSSSSSRRSSRRSSSSRRRRRRSSSSSSRRSSSSRRSSRRSSSSSSSSSSRRRRRRSSSSRRRRSSSSSSSSSSSSSSSSSSSSSSSSSSRRRRSSRRSSSSSSRRSSRRRRSSSSSSRRRRRRSSSSRRRRSSSSSSSSSSRRSSSSSSRRRRSSSSSSSSRRSSSSSSRRSSRRSSSSSSSSRRSSSSSSSSRRRRRRSSSSSSSSSSRRSSSSSSSSRRSSSSSSRRSSSSSSSSSSRRRRSSSSSSSSRRSSRRRRRRSSRRSSSSSSRRSSSSRRSSRRSSSSSSRRSSSSRRSSSSSSRRSSRRRRSSSSSSSSSSSSSSSSSSRRSSRRRRSSSSSSSSSSSSRRSSSSSSRRSSSSRRSSRRRRSSSSSSRRSSSSRRSSRRSSRRRRSSRRSSSSSSRRSSSSSSSSRRSSRRSSSSSSSSSSRRRRRRRRSSSSRRSSRRRRSSSSRRRRSSRRSSSSRRSSSSSSSSRRRRRRSSSSSSSSRRSSRRSSSSRRSSSSSSSSRRSSSSSSSSSSSSRRSSSSRRRRRRSSRRRRRRSSSSRRSSRRRRRRRRRRSSSSRRSSSSRRSSRRRRSSSSRRRRRRSSSSRRSSRRSSSSSSSSSSSSSSRRSSSSSSSSRRRRSSRRSSSSRRSSRRRRSSSSSSSSSSSSSSRRRRRRSSSSRRSSSSRRSSRRSSSSRRSSRRSSRRSSRRRRRRRRSSSSSSSSSSRRSSSSRRSSSSSSRRRRSSSSSSSSRRSSSSSSRRRRSSRRSSSSRRRRSSSSRRSSSSRRSSSSSSSSRRSSSSRRRRRRSSSSSSSSRRRRRRSSRRSSSSSSSSRRRRRRRRSSSSRRSSSSSSSSSSRRSSSSSSSSSSRRSSRRRRSSSSSSRRSSSSSSRRRRSSRRRRSSSSSSSSSSSSSSRRRRRRSSSSRRRRSSSSSSRRSSSSSSRRSSSSRRSSRRSSSSRRSSSSSSSSRRRRSSRRSSRRSSSSSSSSSSRRSSSSRRSSSSSSSSRRRRSSSSSSRRRRRRRRRRRRSSSSSSSSSSSSSSRRRRSSSSRRSSRRSSRRSSSSSSSSSSRRRRRRSSRRSSSSRRRRRRSSSSSSRRSSSSSSSSSSRRSSSSRRSSSSSSRRSSRRRRSSSSRRSSSSSSRRSSRRRRSSRRRRSSSSSSSSSSSSRRRRSSSSRRRRSSRRSSSSSSRRRRRRSSSSRRSSSSSSSSSSRRSSSSSSSSSSRRSSSSSSRRSSSSRRSSSSRRRRSSSSSSSSSSSSRRSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSTTSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSRRSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSRRSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSRRSSSSSSRRSSSSSSSSSSSSSSSSSSSSSSSSSSSSRRSSSSSSSSSSSSSSSSSSSSSSSSRRSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSRRSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSRRSSSSRRSSSSRRSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSRRSSSSSSSSSSSSSSSSSSSSRRSSSSSSSSRRSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSRRSSSSSSSSSSSSSSSSSSSSSSSSRRSSSSSSSSSSRRSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSRRSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSRRRRSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSRRSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSRRSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSRRSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSRRSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSRRSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSRRRRSSSSSSSSSSSSSSSSSSSSRRSSSSSSSSSSSSRRSSSSSSSSSSSSSSSSRRSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSRRSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSRRSSSSSSSSSSSSSSSSSSRRSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSRRSSSSSSSSRRSSSSRRSSSSSSSSRRSSSSRRSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSRRSSSSSSSSSSSSSSSSSSRRSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSRRSSSSSSSSRRSSSSRRSSSSSSSSRRSSSSRRSSRRSSSSRRSSRRSSSSSSSSSSRRRRSSSSSSSSSSSSSSSSSSSSSSSSSSSSRRSSSSSSRRRRSSRRRRSSRRSSSSSSSSSSRRSSSSSSSSRRSSSSSSSSSSSSSSSSSSRRSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSRRSSSSSSSSSSSSSSRRSSSSSSSSSSSSSSSSSSRRSSSSSSSSSSSSSSSSSSSSSSRRSSSSSSSSSSSSSSSSSSSSSSSSSSSSRRSSSSSSSSSSSSSSSSSSSSSSRRSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSRRRRSSSSSSRRSSSSRRSSSSRRSSSSSSSSSSSSSSSSRRSSSSRRSSSSSSSSSSSSRRSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSRRRRSSRRSSSSRRSSRRRRSSSSSSSSSSSSRRSSSSSSSSSSSSSSSSSSSSSSSSSSSSRRSSRRSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSRRSSSSRRSSSSSSSSSSSSSSSSSSSSSSSSSSSSRRSSSSRRSSSSSSSSSSSSSSSSSSRRSSSSRRRRSSSSSSSSSSSSSSSSSSRRRRSSSSSSSSSSSSSSSSSSSSSSRRSSSSRRSSSSSSRRSSRRSSSSSSSSSSRRSSSSSSSSSSSSSSRRSSSSRRSSSSSSSSRRSSSSSSSSSSSSSSSSSSRRSSRRRRSSRRRRSSRRSSRRSSSSSSSSSSSSSSSSRRSSSSRRSSSSSSSSRRSSSSSSRRSSSSRRSSRRRRSSSSSSSSSSSSSSRRRRRRSSSSSSRRRRSSRRRRSSSSSSRRSSSSSSRRSSSSSSRRSSSSSSSSRRSSSSSSSSSSSSRRSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSRRSSSSSSSSRRSSSSSSSSSSRRSSSSSSSSSSSSSSRRSSSSSSRRSSSSRRSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSRRSSRRSSSSRRRRSSSSSSSSSSSSRRSSSSSSSSSSSSSSSSSSSSSSSSRRSSSSSSSSRRSSSSSSSSSSSSRRSSSSSSRRSSSSSSSSRRSSSSSSSSSSSSSSSSSSSSRRSSSSSSSSSSSSRRSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSRRSSSSSSSSSSSSSSSSSSSSSSRRRRSSSSSSRRSSSSSSSSSSRRSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSRRSSSSSSRRSSSSSSSSSSRRSSSSSSRRSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSRRSSSSSSSSRRSSSSSSSSSSSSSSRRSSSSRRSSRRSSSSRRSSRRSSSSSSSSSSSSRRSSSSSSSSSSSSRRSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSTTSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSRRSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSRRSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSRRSSSSSSRRSSSSSSSSSSSSSSSSSSSSSSSSSSSSRRSSSSSSSSSSSSSSSSSSSSSSSSRRSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSRRSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSRRSSSSSSSSSSSSSSSSSSSSRRSSSSSSSSRRSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSRRSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSRRSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSRRSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSRRRRSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSRRSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSRRSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSRRSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSRRSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSRRSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSRRRRSSSSSSSSSSSSSSSSSSSSRRSSSSSSSSSSSSRRSSSSSSSSSSSSSSSSRRSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSRRSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSRRSSSSSSSSSSSSSSSSSSRRSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSRRSSSSSSSSRRSSSSRRSSSSSSSSRRSSSSRRSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSRRSSSSSSSSSSSSSSSSSSRRSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSRRSSSSSSSSRRSSSSRRSSSSSSSSRRSSSSRRSSRRSSSSRRSSRRSSSSSSSSSSRRRRSSSSSSSSSSSSSSSSSSSSSSSSSSSSRRSSSSSSRRRRSSRRRRSSRRSSSSSSSSSSRRSSSSSSSSRRSSSSSSSSSSSSSSSSSSRRSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSRRSSSSSSSSSSSSSSRRSSSSSSSSSSSSSSSSSSRRSSSSSSSSSSSSSSSSSSSSSSRRSSSSSSSSSSSSSSSSSSSSSSSSSSSSRRSSSSSSSSSSSSSSSSSSSSSSRRSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSRRRRSSSSSSRRSSSSRRSSSSRRSSSSSSSSSSSSSSSSRRSSSSRRSSSSSSSSSSSSRRSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSRRRRSSRRSSSSRRSSRRRRSSSSSSSSSSSSRRSSSSSSSSSSSSSSSSSSSSSSSSSSSSRRSSRRSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSRRSSSSRRSSSSSSSSSSSSSSSSSSSSSSSSSSSSRRSSSSRRSSSSSSSSSSSSSSSSSSRRSSSSRRRRSSSSSSSSSSSSSSSSSSRRRRSSSSSSSSSSSSSSSSSSSSSSRRSSSSRRSSSSSSRRSSRRSSSSSSSSSSRRSSSSSSSSSSSSSSRRSSSSRRSSSSSSSSRRSSSSSSSSSSSSSSSSSSRRSSRRRRSSRRRRSSRRSSRRSSSSSSSSSSSSSSSSRRSSSSRRSSSSSSSSRRSSSSSSRRSSSSRRSSRRRRSSSSSSSSSSSSSSRRRRRRSSSSSSRRRRSSRRRRSSSSSSRRSSSSSSRRSSSSSSRRSSSSSSSSRRSSSSSSSSSSSSRRSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSRRSSSSSSSSRRSSSSSSSSSSRRSSSSSSSSSSSSSSRRSSSSSSRRSSSSRRSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSRRSSRRSSSSRRRRSSSSSSSSSSSSRRSSSSSSSSSSSSSSSSSSSSSSSSRRSSSSSSSSRRSSSSSSSSSSSSRRSSSSSSRRSSSSSSSSRRSSSSSSSSSSSSSSSSSSSSRRSSSSSSSSSSSSRRSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSRRSSSSSSSSSSSSSSSSSSSSSSRRRRSSSSSSRRSSSSSSSSSSRRSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSRRSSSSSSRRSSSSSSSSSSRRSSSSSSRRSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSRRSSSSSSSSRRSSSSSSSSSSSSSSRRSSSSRRSSRRSSSSRRSSRRSSSSSSSSSSSSRRSSSSSSSSSSSSRRSSSSSSSSSSSSSSSSTTSSSSSSSSSSSSSSSSSSSSSSTTSSSSTTSSSSTTSSSSSSSSSSSSSSSSTTTTSSSSSSSSSSSSSSTTSSTTSSSSTTSSSSSSSSSSSSTTSSTTSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSTTSSSSSSTTTTSSSSSSTTSSTTSSTTSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSTTSSSSSSSSSSSSSSSSTTSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSTTSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSTTSSSSSSSSSSSSSSSSSSSSSSTTSSSSSSSSTTSSSSSSSSSSSSSSTTSSSSSSSSTTSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSTTSSSSSSSSSSSSTTSSSSSSSSSSSSSSSSSSSSSSTTSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSTTTTSSSSSSTTSSSSSSSSTTSSSSSSSSTTSSSSSSSSSSSSTTSSSSSSSSSSTTSSSSSSSSTTSSSSSSSSSSTTSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSTTSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSTTSSSSSSSSSSSSSSSSSSSSSSSSTTSSSSTTSSSSSSSSSSSSSSSSSSTTSSSSSSSSSSSSSSSSSSSSSSSSTTSSTTTTSSSSSSSSSSTTSSSSTTTTSSSSSSSSSSSSSSSSSSSSSSSSTTSSSSSSSSSSSSSSTTSSSSSSSSSSSSSSSSSSSSSSSSSSSSTTSSTTSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSTTSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSTTSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSTTSSSSTTSSSSSSSSSSSSSSSSSSSSSSTTSSSSSSSSSSSSSSSSSSSSTTSSSSSSSSSSSSTTSSTTSSSSTTSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSTTSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSTTTTSSTTSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSTTSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSTTSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSTTSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSTTSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSTTSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSTTSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSTTSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSTTSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSTTSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSTTSSSSSSSSSSSSSSSSSSSSTTSSSSSSSSSSSSSSSSSSSSSSTTSSSSSSSSSSSSSSSSSSSSSSSSSSTTSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSTTSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSTTSSSSSSSSSSSSSSSSSSSSTTSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSRRSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSRRSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSRRSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSRRSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSRRSSSSSSSSRRSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSRRSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSRRSSSSSSSSSSSSSSSSSSSSSSSSSSSSRRSSSSSSSSSSSSSSSSSSSSSSRRSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSRRSSSSSSSSSSSSSSRRSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSRRRRSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSRRSSSSSSSSRRSSSSSSSSSSSSSSSSSSSSSSSSSSRRSSSSSSSSSSSSSSRRSSSSSSSSSSSSSSRRSSSSSSSSRRSSSSSSSSSSSSSSSSRRSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSRRSSSSSSSSSSSSSSSSSSSSSSSSSSSSTTSSSSSSSSSSSSSSSSSSSSSSTTSSSSTTSSSSTTSSSSSSSSSSSSSSSSTTTTSSSSSSSSSSSSSSTTSSTTSSSSTTSSSSSSSSSSSSTTSSTTSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSTTSSSSSSTTTTSSSSSSTTSSTTSSTTSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSTTSSSSSSSSSSSSSSSSTTSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSTTSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSTTSSSSSSSSSSSSSSSSSSSSSSTTSSSSSSSSTTSSSSSSSSSSSSSSTTSSSSSSSSTTSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSTTSSSSSSSSSSSSTTSSSSSSSSSSSSSSSSSSSSSSTTSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSTTTTSSSSSSTTSSSSSSSSTTSSSSSSSSTTSSSSSSSSSSSSTTSSSSSSSSSSTTSSSSSSSSTTSSSSSSSSSSTTSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSTTSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSTTSSSSSSSSSSSSSSSSSSSSSSSSTTSSSSTTSSSSSSSSSSSSSSSSSSTTSSSSSSSSSSSSSSSSSSSSSSSSTTSSTTTTSSSSSSSSSSTTSSSSTTTTSSSSSSSSSSSSSSSSSSSSSSSSTTSSSSSSSSSSSSSSTTSSSSSSSSSSSSSSSSSSSSSSSSSSSSTTSSTTSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSTTSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSTTSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSTTSSSSTTSSSSSSSSSSSSSSSSSSSSSSTTSSSSSSSSSSSSSSSSSSSSTTSSSSSSSSSSSSTTSSTTSSSSTTSSSSSSSSSSSSSSSSSSSSSSSSSSTTSSSSSSSSSSTTSSSSSSSSSSSSTTSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSTTTTSSTTSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSTTSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSTTSSSSSSSSSSSSSSSSTTSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSTTSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSTTSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSTTSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSTTSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSTTSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSTTSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSTTSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSTTSSSSSSSSSSSSSSSSSSSSTTSSSSSSSSSSSSSSSSSSSSSSTTSSSSSSSSSSSSSSSSSSSSSSSSSSTTSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSTTSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSTTSSSSSSSSSSSSSSSSSSSSTTSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSRRSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSRRSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSRRSSSSSSSSRRSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSRRSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSRRSSSSSSSSSSSSSSSSSSSSSSSSSSSSRRSSSSSSSSSSSSSSSSSSSSSSRRSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSRRSSSSSSSSSSSSSSRRSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSRRRRSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSRRSSSSSSSSRRSSSSSSSSSSSSSSSSSSSSSSSSSSRRSSSSSSSSSSSSSSRRSSSSSSSSSSSSSSRRSSSSSSSSRRSSSSSSSSSSSSSSSSRRSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSRRSSSSSSSSSSSSSSSSSSTTTTTTTTTTSSSSSSSSSSSSTTSSSSTTTTSSSSSSTTSSSSSSTTSSSSSSSSSSTTSSSSTTSSTTSSTTSSTTTTSSTTSSSSSSSSSSSSSSTTSSSSSSSSSSSSSSSSSSSSSSTTSSSSTTSSSSSSSSSSTTSSSSSSSSSSTTTTTTTTTTSSSSTTSSSSSSSSSSTTSSSSSSTTSSSSTTSSSSSSTTSSSSSSSSSSSSSSSSSSSSTTSSSSTTSSSSSSTTSSSSSSSSSSSSTTSSSSSSSSSSSSTTSSSSTTSSSSSSSSTTSSSSTTSSSSTTSSTTTTSSSSSSSSTTSSSSSSSSSSSSSSSSSSSSSSSSSSTTTTTTTTSSSSTTSSSSSSSSTTTTSSTTSSSSSSTTSSSSSSTTTTSSTTSSSSSSTTSSSSTTSSTTSSSSSSSSSSSSSSSSSSTTTTSSSSSSSSTTTTTTTTTTSSSSSSSSSSSSTTTTTTSSSSSSSSTTSSTTSSSSSSSSSSSSTTSSTTSSSSSSSSSSSSSSTTSSSSTTSSSSTTSSSSSSSSSSSSSSSSSSTTTTSSSSSSSSTTTTSSSSSSSSSSTTTTSSSSSSTTTTSSSSSSSSSSSSTTSSSSSSTTSSTTSSSSSSSSTTSSSSTTTTSSSSSSTTSSSSSSSSSSSSSSSSSSSSSSTTSSSSSSSSSSSSSSSSSSSSTTSSTTSSTTSSSSSSSSSSSSSSSSSSSSTTSSSSTTSSSSSSSSSSSSSSTTSSSSSSTTTTSSSSTTSSSSSSSSSSSSSSSSTTSSTTSSSSSSSSSSSSSSSSSSSSTTSSSSSSSSSSSSSSSSSSTTSSTTSSSSSSTTSSSSSSSSSSSSTTSSSSTTSSSSSSTTSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSTTTTTTSSSSSSSSSSTTSSSSTTSSSSSSSSTTSSSSSSTTSSSSTTSSSSTTSSSSSSTTSSSSTTSSTTSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSTTSSSSSSSSSSSSSSSSSSTTSSSSSSTTTTSSTTTTTTSSSSSSTTSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSTTTTSSSSSSSSSSSSSSSSSSSSSSSSSSSSTTSSTTTTSSSSSSSSTTTTSSSSSSSSSSSSSSSSSSTTSSSSSSTTSSSSTTSSSSSSSSSSTTSSSSSSSSTTSSSSSSTTSSSSSSSSSSSSTTSSSSSSSSSSSSTTTTSSSSSSSSTTSSTTSSSSSSSSSSSSTTSSSSTTSSSSTTSSTTSSSSSSSSSSTTSSSSSSSSSSSSSSSSSSSSSSSSTTSSSSSSTTSSSSSSSSTTSSTTTTTTSSSSSSSSSSSSSSSSSSSSSSSSTTSSTTSSSSSSSSSSSSTTSSSSTTSSSSSSTTSSSSSSTTTTSSSSTTSSTTTTSSSSSSSSSSSSSSSSSSSSSSTTSSSSSSSSSSSSSSTTSSSSSSTTSSTTTTSSSSSSSSSSSSSSSSSSSSTTTTSSSSTTSSTTSSTTSSSSSSSSSSTTSSSSSSSSSSSSTTSSSSSSSSSSSSSSSSSSSSSSSSTTSSTTSSTTSSSSTTSSSSSSSSTTSSSSSSSSSSSSSSTTTTSSSSSSSSSSSSSSSSSSTTSSSSSSTTTTTTSSSSTTSSTTSSSSTTSSSSSSSSSSSSSSSSSSSSTTSSSSSSSSTTSSSSSSSSSSSSSSSSSSTTSSSSSSSSSSTTSSSSSSSSSSTTTTSSSSSSSSSSSSSSSSTTTTSSSSSSSSTTSSTTSSSSSSSSSSSSSSSSTTSSSSSSSSSSSSTTSSSSSSSSSSSSSSSSTTSSSSSSSSSSSSSSSSSSTTSSSSSSSSTTSSSSSSSSTTSSSSSSTTTTTTSSSSSSSSSSTTSSSSTTSSSSTTTTSSSSSSSSSSTTSSSSTTSSSSTTSSSSSSSSSSSSSSSSSSSSSSTTSSSSSSSSSSSSTTSSSSSSSSSSSSSSSSTTTTSSSSSSSSSSSSSSTTSSTTTTSSSSTTSSSSSSSSSSTTSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSTTSSSSSSSSTTSSSSSSSSSSSSSSSSSSSSTTSSSSSSTTSSSSTTTTTTTTTTSSTTSSSSTTSSTTTTTTSSSSSSSSSSSSSSSSTTSSSSSSSSTTSSSSTTSSSSSSSSSSSSSSSSSSSSSSSSSSSSTTSSTTSSTTSSTTSSSSSSSSTTSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSTTSSSSSSSSTTSSSSSSSSSSSSSSSSSSSSTTSSSSSSTTSSSSTTSSTTTTSSSSTTSSSSSSSSTTTTSSSSSSSSSSSSSSSSSSTTSSSSSSSSTTSSSSTTSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSTTSSTTSSTTSSSSSSSSSSSSSSSSSSSSSSSSSSTTSSSSSSSSSSSSSSSSTTSSSSSSTTSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSTTSSSSSSSSSSSSSSSSSSSSSSSSTTSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSTTSSTTSSSSSSSSSSSSSSSSSSSSSSSSTTSSSSSSSSSSSSSSSSSSSSTTSSSSSSSSSSSSSSSSTTSSSSTTTTSSSSSSSSSSSSSSSSSSSSSSSSTTSSSSSSSSSSTTSSSSSSSSSSTTTTSSSSSSSSSSSSSSSSSSSSSSTTSSSSSSSSSSSSSSSSSSSSSSSSSSSSTTSSSSTTSSSSSSSSSSTTSSSSSSSSSSTTSSSSSSSSSSSSSSSSSSSSSSTTTTSSSSSSTTTTSSSSSSSSSSSSSSSSTTSSSSSSSSSSSSSSSSSSSSSSTTSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSTTSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSTTSSSSSSSSSSSSSSSSSSSSSSSSSSSSTTSSSSSSSSSSTTSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSTTSSSSTTSSSSSSSSSSSSSSSSSSSSSSSTTTSSSSSSSSSSSSSSSSSSSSSSTTSSSSSSTTSSSSSSSSSSSSSSSSSSSSTTSSSSSSSSTTSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSTTSSSSSSSSTTSSSSSSSSSSSSSSSSSSSSSSTTSSSSTTSSSSSSSSTTSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSTTSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSTTSSSSSSSSSSSSSSSSTTSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSTTSSSSSSSSTTSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSTTSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSTTSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSTTSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSTTSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSTTTTTTTTTTSSSSSSSSSSSSTTSSSSTTTTSSSSSSTTSSSSSSTTSSSSSSSSSSTTSSSSTTSSTTSSTTSSTTTTSSTTSSSSSSSSSSSSSSTTSSSSSSSSSSSSSSSSSSSSSSTTSSSSTTSSSSSSSSTTTTSSSSSSSSSSTTTTTTTTTTSSSSTTSSSSSSSSSSTTSSSSSSTTSSSSTTSSSSSSTTSSSSSSSSSSSSSSSSSSSSTTSSSSTTSSSSSSTTSSSSSSSSSSSSTTSSSSSSSSSSSSTTSSSSTTSSSSSSSSTTSSSSTTSSSSTTSSTTTTSSSSSSSSTTSSSSSSSSSSSSSSSSSSSSSSSSSSTTTTTTTTSSSSTTSSSSSSSSTTTTSSTTSSSSSSTTSSSSSSTTTTSSTTSSSSSSTTSSSSTTSSTTSSSSSSSSSSSSSSSSSSTTTTSSSSSSSSTTTTTTTTTTSSSSSSSSSSSSTTTTTTSSSSSSSSTTSSTTSSSSSSSSSSSSTTSSTTSSSSSSSSSSSSSSTTSSSSTTTTSSTTSSSSSSSSSSSSSSSSSSTTTTSSSSSSSSTTTTSSSSSSSSSSTTTTSSSSSSTTTTSSSSSSSSSSSSTTSSSSSSTTSSTTSSSSSSSSTTSSSSTTTTSSSSSSTTSSSSSSSSSSSSSSSSSSSSSSTTSSSSSSSSSSSSTTSSSSSSTTSSTTSSTTTTSSSSSSSSSSSSSSSSSSTTSSSSTTSSSSSSSSSSSSSSTTSSSSSSTTTTSSSSTTSSSSSSSSSSSSSSSSTTSSTTSSSSSSSSSTSSSSSSSSSSTTSSSSSSSSSSSSSSSSSSTTSSTTSSSSSSTTSSSSSSSSSSSSTTSSSSTTSSSSSSTTSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSTTTTTTSSSSSSSSSSTTSSSSTTSSSSSSSSTTSSSSSSTTSSSSTTSSSSTTSSSSSSTTSSSSTTSSTTSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSTTSSSSSSSSSSSSSSSSSSTTSSSSSSTTTTSSTTTTTTSSSSSSTTSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSTTTTSSSSSSSSSSSSSSSSSSSSSSSSSSSSTTSSTTTTSSSSSSSSTTTTSSSSSSSSSSSSSSSSSSTTSSSSSSTTSSSSTTSSSSSSSSSSTTSSSSSSSSTTSSSSSSTTSSSSSSSSSSSSTTSSSSSSSSSSSSTTTTSSSSSSSSTTSSTTSSSSSSSSSSSSTTSSSSTTSSSSTTSSTTSSSSSSSSSSTTSSSSSSSSSSSSSSSSSSSSSSSSTTSSSSSSTTSSSSSSSSTTSSTTTTTTSSSSSSSSSSSSSSSSSSSSSSSSTTSSTTSSSSSSSSSSSSTTSSSSTTSSSSSSTTSSSSSSTTTTSSSSTTSSTTTTSSSSSSSSSSSSSSSSSSSSSSTTSSSSSSSSSSSSSSTTSSSSSSTTSSTTTTSSSSSSSSSSSSSSSSSSSSTTTTSSSSTTSSTTSSTTSSSSSSSSSSTTSSSSSSSSSSSSTTSSSSSSSSSSSSSSSSSSSSSSSSTTSSTTSSTTSSSSTTSSSSSSSSTTSSSSSSSSSSSSSSTTTTSSSSSSSSSSSSSSSSSSTTSSSSSSTTTTTTSSSSTTSSTTSSSSTTSSSSSSSSSSSSSSSSSSSSTTSSSSSSSSTTSSSSSSSSSSSSSSSSSSTTSSSSSSSSSSTTSSSSSSSSSSTTTTSSSSSSSSSSSSSSSSTTTTSSSSSSSSTTSSTTSSSSSSSSSSSSSSSSTTSSSSSSSSSSSSTTSSSSSSSSSSSSSSSSTTSSSSSSSSSSSSSSSSSSTTSSSSSSSSTTSSSSSSSSTTSSSSSSTTTTTTSSSSSSSSSSTTSSSSTTSSSSTTTTSSSSSSSSSSTTSSSSTTSSSSTTSSSSSSSSSSSSSSSSSSSSSSTTSSSSSSSSSSSSTTSSSSSSSSSSSSSSSSTTTTSSSSSSSSSSSSSSTTSSTTTTSSSSTTSSSSSSSSSSTTSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSTTSSSSSSSSTTSSSSSSSSSSSSSSSSSSSSTTSSSSSSTTSSSSTTTTTTTTTTSSTTSSSSTTSSTTTTTTSSSSSSSSSSSSSSSSTTSSSSSSSSTTSSSSTTSSSSSSSSSSSSSSSSSSSSSSSSSSSSTTSSTTSSTTSSTTSSSSSSSSTTSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSTTSSSSSSSSTTSSSSSSSSSSSSSSSSSSSSTTSSSSSSTTSSSSTTSSTTTTSSSSTTSSSSSSSSTTTTSSSSSSSSSSSSSSSSSSTTSSSSSSSSTTSSSSTTSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSTTSSTTSSTTSSSSSSSSSSSSSSSSSSSSSSSSSSTTSSSSSSSSSSSSSSSSTTSSSSSSTTSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSTTSSSSSSSSSSSSSSSSSSSSSSSSTTSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSTTSSTTSSSSSSSSSSSSSSSSSSSSSSSSTTSSSSSSSSSSSSSSSSSSSSTTSSSSSSSSSSSSSSSSTTSSSSTTTTSSSSSSSSSSSSSSSSSSSSSSSSTTSSSSTTSSSSTTSSSSSSSSSSTTTTSSSSSSSSSSSSSSSSSSSSSSTTSSSSSSSSSSSSSSSSSSSSSSSSSSSSTTSSSSTTSSSSSSSSSSTTSSSSSSSSSSTTSSSSSSSSSSSSSSSSSSSSSSTTTTSSSSSSTTTTSSSSSSSSSSSSSSSSTTSSSSSSSSSSSSSSSSSSSSSSTTSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSTTSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSTTSSSSSSSSSSSSSSSSSSSSSSSSSSSSTTSSSSSSSSSSTTSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSTTSSSSTTSSSSTTSSSSSSSSSSSSSSSSTTTTSSSSSSSSSSSSSSSSSSSSSSTTSSSSSSTTSSSSSSSSSSSSSSSSSSSSTTSSSSSSSSTTSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSTTSSSSSSSSTTSSSSSSSSSSSSSSSSSSSSSSTTSSSSTTSSSSSSSSTTSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSTTSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSTTSSSSSSSSSSSSSSSSTTSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSTTSSSSSSSSTTSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSTTSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSTTSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSTTSSSSSSSSSSSSSSSSSSSSSSSSTTSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSTTSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSTTTTTTSSTTSSSSTTTTSSTTSSTTTTSSSSSSTTSSTTSSTTTTSSTTSSSSSSTTTTTTTTTTTTTTTTTTSSTTSSTTSSSSTTTTTTSSSSSSTTSSTTSSSSSSTTTTTTTTSSSSTTTTSSSSSSTTSSSSTTSSSSSSTTTTSSTTTTTTTTSSSSSSSSTTTTTTTTSSTTSSSSTTTTTTSSSSTTSSSSTTTTSSSSSSTTSSSSTTTTTTTTSSSSSSTTSSTTTTSSTTTTSSTTSSSSSSTTTTSSTTTTTTTTTTTTTTSSSSTTTTTTSSSSTTTTSSSSSSTTTTTTTTSSTTTTTTSSSSSSSSSSSSTTSSTTSSTTTTSSSSSSSSTTSSSSSSSSSSTTTTTTTTTTSSSSSSSSSSSSSSTTTTTTSSTTTTTTTTSSSSSSSSSSSSSSSSSSTTSSSSSSSSTTSSTTSSSSTTTTSSSSSSSSSSTTTTSSTTTTTTSSSSTTTTTTTTTTTTTTSSSSSSTTSSSSTTTTSSSSSSTTSSTTSSSSSSTTSSSSSSTTSSSSSSTTTTSSSSTTSSTTSSSSSSSSSSTTTTSSTTSSSSSSSSSSSSTTSSTTSSSSTTTTTTSSSSTTSSSSTTTTSSTTSSTTSSSSTTSSTTTTTTSSSSSSSSSSTTSSSSTTSSSSSSSSTTTTTTTTSSSSTTSSSSSSTTTTSSSSTTTTTTSSTTSSTTTTSSTTTTTTTTTTSSSSTTSSTTSSSSSSSSSSSSTTSSTTSSTTSSSSTTTTTTTTSSSSSSTTSSSSSSTTSSTTTTTTTTSSTTSSTTTTSSTTTTTTTTTTSSTTTTSSSSTTTTSSTTSSTTSSSSTTSSSSSSTTSSSSSSSSSSTTTTSSSSSSTTSSSSSSSSTTSSTTTTSSTTTTTTTTTTSSTTTTSSTTSSSSTTSSTTSSSSTTSSSSSSTTSSTTSSSSSSTTTTSSTTSSSSTTTTTTSSSSTTSSSSSSTTSSTTSSSSTTTTTTSSSSSSTTTTTTSSTTTTSSTTSSSSSSTTTTTTSSTTSSSSTTTTTTSSTTSSSSTTSSTTTTSSSSSSSSSSSSTTTTTTTTSSTTTTSSTTSSTTSSTTSSSSSSTTTTSSSSSSSSSSTTTTSSTTTTSSTTTTTTSSTTTTTTSSSSTTSSTTTTTTTTSSSSSSSSTTTTSSSSSSSSSSTTSSSSSSTTSSTTSSTTTTTTTTSSTTTTSSTTSSSSSSSSTTTTSSTTTTTTSSTTTTSSSSTTTTSSSSTTSSSSTTTTSSSSSSSSSSSSSSTTSSTTSSTTSSSSSSSSSSTTSSTTSSSSTTSSSSTTTTSSSSSSSSTTSSTTSSTTSSSSSSSSTTTTTTTTSSTTSSTTSSTTTTSSTTSSSSSSSSTTTTTTSSSSSSTTTTSSSSTTSSTTTTTTTTSSTTTTSSSSTTTTSSSSSSTTSSSSSSTTTTSSSSSSSSSSTTSSSSSSTTSSSSSSSSSSSSSSSSTTSSSSSSSSTTSSTTTTSSSSSSTTSSSSSSTTSSTTTTSSSSSSTTTTSSTTSSTTSSSSSSTTSSTTSSSSTTSSTTSSSSSSTTSSTTTTSSTTSSTTSSTTTTSSSSSSSSTTSSSSSSTTSSTTTTTTSSSSSSSSTTSSSSSSSSSSTTSSSSTTSSTTSSSSTTSSSSTTTTSSSSTTSSSSTTSSTTSSSSSSTTTTSSSSSSSSTTSSSSSSTTSSSSTTSSSSTTSSSSTTSSSSSSSSTTTTTTSSSSSSSSTTSSSSSSSSTTTTTTSSSSTTSSSSSSSSSSSSSSSSSSSSSSTTSSSSTTSSTTSSSSSSTTSSTTSSTTSSTTSSTTSSSSSSSSSSSSSSSSTTTTTTSSTTSSSSTTSSSSSSSSSSSSSSSSTTSSSSSSSSSSSSTTSSTTTTTTTTSSSSTTSSTTSSTTTTTTSSSSSSSSTTTTSSSSTTSSTTSSTTSSSSSSSSSSSSTTTTSSSSTTTTSSSSTTTTSSSSSSSSSSSSSSTTSSSSSSTTSSSSTTTTTTTTSSSSSSSSSSTTSSSSSSSSSSTTSSTTTTSSSSTTSSSSSSSSSSSSTTTTTTSSTTSSTTSSSSSSTTSSTTSSSSSSTTSSTTSSSSSSSSTTSSTTTTSSSSSSTTSSSSTTSSTTSSSSSSSSSSTTSSSSTTTTSSTTTTTTSSSSSSSSSSTTSSSSTTSSSSSSSSTTSSTTSSTTSSSSTTSSSSTTSSSSSSTTSSSSSSSSSSSSSSSSSSSSTTSSTTTTSSSSTTSSSSSSSSSSSSTTSSTTSSTTSSSSSSSSSSTTSSTTSSSSSSTTSSTTSSSSSSSSTTSSTTTTSSSSSSTTSSSSTTSSSSSSSSSSSSSSTTSSSSTTTTSSTTTTTTSSSSSSSSSSSSSSSSTTSSSSSSSSSSSSTTSSTTSSSSTTSSSSTTSSSSSSTTSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSTTSSSSTTTTSSSSSSSSSSSSSSSSSSSSTTSSSSTTSSSSSSTTTTSSSSSSTTSSSSSSSSSSTTSSSSSSSSSSSSSSSSSSTTTTSSSSSSSSSSSSSSSSSSSSSSSSTTSSTTSSTTTTSSSSSSSSTTTTSSSSSSSSSSSSSSSSSSTTTTSSSSTTSSSSTTSSSSTTSSSSTTSSSSSSSSTTSSTTTTTTSSSSSSSSSSSSTTSSSSSSSSTTSSTTTTSSTTSSSSTTSSTTSSSSSSSSSSSSTTTTSSTTSSSSTTSSSSSSSSSSTTSSSSSSSSSSSSSSSSSSSSSSSSSSSSTTSSSSSSTTSSSSSSSSTTSSSSSSTTSSSSSSSSSSSSSSSSSSSSSSSSSSSSTTSSTTSSSSSSSSTTSSSSTTSSSSSSTTTTSSSSTTSSSSSSSSSSTTTTSSSSSSSSSSSSSSSSTTTTSSTTSSSSSSSSSSSSSSTTSSSSSSTTSSTTTTTTSSSSTTSSSSSSSSSSSSSSTTSSSSTTTTTTTTSSSSSSTTSSSSSSSSSSSSTTSSTTSSSSTTSSTTSSSSSSSSSSSSSSSSTTSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSTTSSSSSSSSSSSSSSSSTTSSTTSSSSSSSSSSSSSSSSSSSSSSSSSSTTTTSSSSSSTTSSSSTTSSSSSSSSTTSSSSSSSSTTTTSSSSSSTTTTSSTTSSSSSSTTSSSSTTSSSSSSTTSSTTTTSSSSTTSSSSSSTTSSSSSSSSSSSSTTSSSSSSSSTTSSTTTTSSTTSSSSSSSSSSSSSSSSSSSSTTSSSSSSSSSSSSSSTTSSSSSSTTTTSSTTTTSSSSSSSSSSTTTTSSSSTTTTSSSSSSSSTTSSSSSSSSTTTTSSSSTTSSSSTTSSTTTTTTSSTTSSSSSSSSSSSSSSTTSSSSTTSSSSSSSSSSSSSSSSSSSSSSSSSSSSTTTTSSSSTTSSSSSSSSSSSSSSSSSSSSTTSSSSSSSSSSSSSSTTSSSSSSSSSSSSSSTTSSSSSSSSSSSSSSTTSSTTTTSSSSSSSSSSSSTTSSSSTTTTSSSSSSSSSSSSSSSSSSSSSSSSSSTTSSSSSSSSSSSSTTSSSSTTSSTTSSSSSSSSSSSSSSSSSSSSSSTTSSTTSSSSSSSSSSSSSSSSSSSSSSSSSSSSTTSSSSSSSSSSSSSSTTTTSSSSSSTTSSSSSSSSSSTTSSSSSSTTSSSSTTSSSSSSTTSSSSSSSSSSSSSSSSSSSSSSTTSSSSSSTTTTTTSSSSTTSSSSSSSSTTSSSSSSSSSSSSSSTTSSSSSSTTSSSSSSSSSSTTSSSSTTSSTTSSSSSSSSTTTTSSSSSSSSSSSSSSTTTTSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSTTTTTTSSTTSSSSTTTTSSTTSSTTTTSSSSSSTTSSTTSSTTTTSSTTSSSSSSTTTTTTTTTTTTTTTTTTSSTTSSTTSSSSTTTTTTSSSSSSTTSSTTSSSSSSTTTTTTTTSSSSTTTTSSSSSSTTSSSSTTSSSSSSTTTTSSTTTTTTTTSSSSSSSSTTTTTTTTSSTTSSSSTTTTTTSSSSTTSSSSTTTTSSSSSSTTSSSSTTTTTTTTSSSSSSTTSSTTTTSSTTTTSSTTSSSSSSTTTTSSTTTTTTTTTTTTTTSSSSTTTTTTSSSSTTTTSSSSSSTTTTTTTTSSTTTTTTSSSSSSSSSSSSTTSSTTSSTTTTSSSSSSSSTTSSSSSSSSSSTTTTTTTTTTSSSSSSSSSSSSSSTTTTTTSSTTTTTTTTSSSSSSSSSSSSSSSSSSTTSSSSSSSSTTSSTTSSSSTTTTSSSSSSSSSSTTTTSSTTTTTTSSSSTTTTTTTTTTTTTTSSSSSSTTSSSSTTTTSSSSSSTTSSTTSSSSSSTTSSSSSSTTSSSSSSTTTTSSSSTTSSTTSSSSSSSSSSTTTTSSTTSSSSSSSSSSSSTTSSTTSSSSTTTTTTSSSSTTSSSSTTTTSSTTSSTTSSSSTTSSTTTTTTSSSSSSSSSSTTSSSSTTSSSSSSSSTTTTTTTTSSSSTTSSSSSSTTTTSSSSTTTTTTSSTTSSTTTTSSTTTTTTTTTTSSSSTTSSTTSSSSSSSSSSSSTTSSTTSSTTSSSSTTTTTTTTSSSSSSTTSSSSSSTTSSTTTTTTTTSSTTSSTTTTSSTTTTTTTTTTSSTTTTSSSSTTTTSSTTSSTTSSSSTTSSSSSSTTSSSSSSSSSSTTTTSSSSSSTTSSSSSSSSTTSSTTTTSSTTTTTTTTTTSSTTTTSSTTSSSSTTSSTTSSSSTTSSSSSSTTSSTTSSSSSSTTTTSSTTSSSSTTTTTTSSSSTTSSSSSSTTSSTTSSSSTTTTTTSSSSSSTTTTTTSSTTTTSSTTSSSSSSTTTTTTSSTTSSSSTTTTTTSSTTSSSSTTSSTTTTSSSSSSSSSSSSTTTTTTTTSSTTTTSSTTSSTTSSTTSSSSSSTTTTSSSSSSSSSSTTTTSSTTTTSSTTTTTTSSTTTTTTSSSSTTSSTTTTTTTTSSSSSSSSTTTTSSSSSSSSSSTTSSSSSSTTSSTTSSTTTTTTTTSSTTTTSSTTSSSSSSSSTTTTSSTTTTTTSSTTTTSSSSTTTTSSSSTTSSSSTTTTSSSSSSSSSSSSSSTTSSTTSSTTSSSSSSSSSSTTSSTTSSSSTTSSSSTTTTSSSSSSSSTTSSTTSSTTSSSSSSSSTTTTTTTTSSTTSSTTSSTTTTSSTTSSSSSSSSTTTTTTSSSSSSTTTTSSSSTTSSTTTTTTTTSSTTTTSSSSTTTTSSSSSSTTSSSSSSTTTTSSSSSSSSSSTTSSSSSSTTSSSSSSSSSSSSSSSSTTSSSSSSSSTTSSTTTTSSSSSSTTSSSSSSTTSSTTTTSSSSSSTTTTSSTTSSTTSSSSSSTTSSTTSSSSTTSSTTSSSSSSTTSSTTTTSSTTSSTTSSTTTTSSSSSSSSTTSSSSSSTTSSTTTTTTSSSSSSSSTTSSSSSSSSSSTTSSSSTTSSTTSSSSTTSSSSTTTTSSSSTTSSSSTTSSTTSSSSSSTTTTSSSSSSSSTTSSSSSSTTSSSSTTSSSSTTSSSSTTSSSSSSSSTTTTTTSSSSSSSSTTSSSSSSSSTTTTTTSSSSTTSSSSSSSSSSSSSSSSSSSSSSTTSSSSTTSSTTSSSSSSTTSSTTSSTTSSTTSSTTSSSSSSSSSSSSSSSSTTTTTTSSTTSSSSTTSSSSSSSSSSSSSSSSTTSSSSSSSSSSSSTTSSTTTTTTTTSSSSTTSSTTSSTTTTTTSSSSSSSSTTTTSSSSTTSSTTSSTTSSSSSSSSSSSSTTTTSSSSTTTTSSSSTTTTSSSSSSSSSSSSSSTTSSSSSSTTSSSSTTTTTTTTSSSSSSSSSSTTSSSSSSSSSSTTSSTTTTSSSSTTSSSSSSSSSSSSTTTTTTSSTTSSTTSSSSSSTTSSTTSSSSSSTTSSTTSSSSSSSSTTSSTTTTSSSSSSTTSSSSTTSSTTSSSSSSSSSSTTSSSSTTTTSSTTTTTTSSSSSSSSSSTTSSSSTTSSSSSSSSTTSSTTSSTTSSSSTTSSSSTTSSSSSSTTSSSSSSSSSSSSSSSSSSSSTTSSTTTTSSSSTTSSSSSSSSSSSSTTSSTTSSTTSSSSSSSSSSTTSSTTSSSSSSTTSSTTSSSSSSSSTTSSTTTTSSSSSSTTSSSSTTSSSSSSSSSSSSSSTTSSSSTTTTSSTTTTTTSSSSSSSSSSSSSSSSTTSSSSSSSSSSSSTTSSTTSSSSTTSSSSTTSSSSSSTTSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSTTSSSSTTTTSSSSSSSSSSSSSSSSSSSSTTSSSSTTSSSSSSTTTTSSSSSSTTSSSSSSSSSSTTSSSSSSSSSSSSSSSSSSTTTTSSSSSSSSSSSSSSSSSSSSSSSSTTSSTTSSTTTTSSSSSSSSTTTTSSSSSSSSSSSSSSSSSSTTTTSSSSTTSSSSTTSSSSTTSSSSTTSSSSSSSSTTSSTTTTTTSSSSSSSSSSSSTTSSSSSSSSTTSSTTTTSSTTSSSSTTSSTTSSSSSSSSSSSSTTTTSSTTSSSSTTSSSSSSSSSSTTSSSSSSSSSSSSSSSSSSSSSSSSSSSSTTSSSSSSTTSSSSSSSSTTSSSSSSTTSSSSSSSSSSSSSSSSSSSSSSSSSSSSTTSSTTSSSSSSSSTTSSSSTTSSSSSSTTTTSSSSTTSSSSSSSSSSTTTTSSSSSSSSSSSSSSSSTTTTSSTTSSSSSSSSSSSSSSTTSSSSSSTTSSTTTTTTSSSSTTSSSSSSSSSSSSSSTTSSSSTTTTTTTTSSSSSSTTSSSSSSSSSSSSTTSSTTSSSSTTSSTTSSSSSSSSSSSSSSSSTTSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSTTSSSSSSSSSSSSSSSSTTSSTTSSSSSSSSSSSSSSSSSSSSSSSSSSTTTTSSSSSSTTSSSSTTSSSSSSSSTTSSSSSSSSTTTTSSSSSSTTTTSSTTSSSSSSTTSSSSTTSSSSSSTTSSTTTTSSSSTTSSSSSSTTSSSSSSSSSSSSTTSSSSSSSSTTSSTTTTSSTTSSSSSSSSSSSSSSSSSSSSTTSSSSSSSSSSSSSSTTSSSSSSTTTTSSTTTTSSSSSSSSSSTTTTSSSSTTTTSSSSSSSSTTSSSSSSSSTTTTSSSSTTSSSSTTSSTTTTTTSSTTSSSSSSSSSSSSSSTTSSSSTTSSSSSSSSSSSSSSSSSSSSSSSSSSSSTTTTSSSSTTSSSSSSSSSSSSSSSSSSSSTTSSSSSSSSSSSSSSTTSSSSSSSSSSSSSSTTSSSSSSSSSSSSSSTTSSTTTTSSSSSSSSSSSSTTSSSSTTTTSSSSSSSSSSSSSSSSSSSSSSSSSSTTSSSSSSSSSSSSTTSSSSTTSSTTSSSSSSSSSSSSSSSSSSSSSSTTSSTTSSSSSSSSSSSSSSSSSSSSSSSSSSSSTTSSSSSSSSSSSSSSTTTTSSSSSSTTSSSSSSSSSSTTSSSSSSTTSSSSTTSSSSSSTTSSSSSSSSSSSSSSSSSSSSSSTTSSSSSSTTTTTTSSSSTTSSSSSSSSTTSSSSSSSSSSSSSSTTSSSSSSTTSSSSSSSSSSTTSSSSTTSSTTSSSSSSSSTTTTSSSSSSSSSSSSSSTTTTSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSTTSSTTTTSSSSTTTTTTTTTTSSTTTTTTSSTTTTSSSSSSTTTTTTTTSSTTTTTTSSTTSSTTTTTTTTTTTTTTTTSSTTSSTTSSSSTTTTTTTTTTTTTTTTSSTTTTTTTTTTTTTTTTSSTTTTSSTTTTTTTTTTTTTTTTSSTTTTSSSSSSTTTTTTTTTTSSSSTTTTTTTTTTSSTTTTTTTTTTSSSSSSSSTTTTSSSSTTTTTTSSTTSSSSTTTTTTTTTTTTTTTTSSTTTTSSSSSSSSSSSSTTTTTTTTTTTTSSTTTTTTTTTTTTSSSSTTTTSSTTTTTTTTTTTTTTTTTTTTSSTTSSTTSSTTTTTTTTTTTTTTTTTTTTTTTTSSTTSSSSTTTTTTTTSSSSTTTTSSSSTTTTSSTTTTTTTTSSSSTTSSSSTTSSTTSSTTTTSSSSSSSSTTTTTTTTSSTTSSSSTTSSSSSSTTTTTTTTSSSSSSTTSSSSTTSSTTTTTTTTSSSSSSTTSSTTTTTTTTSSSSSSTTTTSSSSSSTTTTTTTTTTSSSSSSTTTTTTSSTTTTTTSSSSSSSSSSTTSSSSTTSSTTSSTTTTSSTTTTSSSSSSSSSSSSTTTTTTSSTTTTSSTTSSSSTTTTTTSSTTSSTTTTTTTTTTSSTTTTTTSSTTTTTTTTTTSSTTTTTTSSTTSSSSTTTTSSSSTTTTSSTTSSTTTTSSSSSSTTTTTTTTSSSSSSSSTTTTSSTTTTTTSSTTSSTTSSSSTTTTSSSSTTTTTTSSTTTTTTTTSSTTTTSSTTSSSSTTTTSSSSTTTTTTTTSSTTSSTTSSSSSSSSTTTTSSTTTTSSTTTTTTSSTTTTTTTTTTTTTTTTTTSSSSTTTTSSSSTTSSSSTTTTTTTTTTTTTTTTTTTTTTTTSSTTTTTTTTTTSSTTTTTTTTTTTTSSSSTTSSTTTTTTTTSSSSTTSSSSSSTTSSTTSSSSTTTTSSTTTTSSTTSSTTTTTTTTTTTTSSTTSSTTTTSSSSTTTTTTTTTTTTSSTTSSTTSSTTTTSSTTSSSSSSSSSSTTTTSSTTTTSSSSTTSSTTSSTTTTSSSSTTSSTTTTTTSSSSSSTTTTTTSSTTTTTTTTTTTTTTSSTTTTSSSSTTTTSSTTSSSSSSSSSSSSSSTTSSSSTTSSTTSSTTSSTTSSTTSSSSSSTTTTSSSSTTSSTTSSTTSSTTTTTTSSSSSSTTSSTTSSTTTTTTSSTTTTSSSSTTTTTTSSSSSSTTSSTTSSTTSSSSTTTTTTTTTTTTSSSSTTTTSSTTSSSSTTSSTTSSTTTTTTSSTTTTSSTTTTSSSSTTSSTTSSSSSSSSSSSSSSTTSSTTSSTTSSSSTTSSTTSSSSTTTTTTTTSSTTTTTTTTTTTTSSTTTTTTTTSSSSTTTTSSSSSSTTTTTTSSSSTTTTTTTTSSSSTTTTTTSSTTSSTTTTSSSSTTTTTTTTTTTTTTTTSSSSSSSSSSTTTTTTSSSSTTTTSSTTSSSSSSTTSSTTSSTTTTSSTTTTSSTTTTTTSSTTTTSSSSTTTTSSSSTTTTTTTTTTTTTTSSSSTTTTTTTTSSSSTTSSSSSSSSTTSSTTSSTTTTTTSSSSSSSSSSSSSSSSSSTTTTSSTTSSTTSSTTTTSSSSSSSSTTTTSSTTSSSSSSTTTTTTSSTTTTSSSSTTSSSSTTSSSSTTTTSSTTSSSSTTTTTTSSTTTTTTSSSSTTSSSSSSTTSSTTSSTTTTSSTTTTSSTTSSSSTTSSTTSSTTSSSSTTSSTTTTTTTTSSSSTTSSTTSSTTSSTTTTTTTTSSSSSSSSTTTTTTSSTTTTSSTTTTSSSSTTTTSSSSSSTTSSTTTTTTSSTTSSSSSSTTTTSSSSTTSSSSTTTTTTSSTTSSSSSSSSTTSSSSTTSSSSSSTTTTSSSSTTTTTTSSTTTTTTTTTTSSSSTTSSSSSSTTTTTTSSTTSSSSTTSSSSSSSSTTSSSSTTTTSSTTTTTTSSTTTTTTTTTTSSSSTTSSTTSSTTTTTTTTTTSSSSSSTTSSSSSSTTTTTTTTTTTTSSTTSSTTTTTTTTTTTTTTTTSSTTTTSSSSTTTTSSTTSSTTSSSSTTSSSSTTTTSSSSSSSSSSTTTTSSSSTTTTSSSSSSSSTTSSTTTTTTTTTTTTTTTTSSTTTTTTTTSSSSTTSSTTSSSSTTSSSSSSTTSSTTSSSSSSTTTTSSTTSSSSTTTTTTSSSSTTSSSSSSTTSSSSSSTTTTTTTTTTTTSSTTSSTTTTSSTTTTTTTTTTSSTTTTSSSSTTTTSSSSSSTTSSSSTTSSSSTTTTSSSSSSSSSSSSTTSSSSTTTTSSSSSSSSTTSSTTTTTTTTTTTTTTTTSSTTTTTTTTSSSSTTSSTTSSSSTTSSSSSSTTSSTTSSSSSSTTTTSSTTSSSSTTTTTTSSSSTTSSSSSSTTSSTTSSSSTTTTTTSSSSSSSSTTTTSSTTTTTTTTSSSSTTTTTTTTSSTTSSSSTTTTTTSSTTSSSSTTSSTTTTSSSSTTSSSSSSTTTTTTTTSSTTTTSSSSSSTTSSTTSSSSTTTTTTSSSSSSSSTTTTTTSSTTTTSSTTTTTTSSTTSSTTSSSSTTSSTTTTTTTTTTSSSSSSTTTTSSSSSSSSSSTTSSSSSSTTSSTTSSTTTTTTTTSSTTTTSSTTSSSSSSSSTTTTSSTTTTTTSSTTTTSSSSTTTTSSSSSSSSSSTTTTSSSSSSSSSSSSSSTTSSTTSSTTSSSSSSSSSSTTSSTTSSSSTTSSSSTTTTSSSSSSTTTTSSTTSSTTSSSSSSSSTTTTTTTTSSTTSSTTSSTTTTSSSSSSSSSSTTTTTTTTSSSSSSTTTTSSSSTTSSTTTTTTTTSSTTTTSSSSTTTTSSSSSSTTTTSSSSTTTTSSSSTTSSSSTTSSTTSSTTSSSSSSSSSSSSSSSSTTSSSSSSSSTTTTSSSSTTTTTTSSTTTTTTTTTTSSSSTTSSSSSSTTSSSSSSSSSSSSTTSSTTSSTTSSSSTTSSSSTTSSSSSSSSTTTTSSTTSSSSTTSSTTTTTTTTSSTTTTTTSSSSSSSSSSTTSSSSSSSSTTSSTTTTTTTTSSSSTTSSTTSSSSTTTTSSTTSSSSSSTTSSSSTTSSTTTTTTSSSSSSTTSSTTTTSSTTTTSSTTSSSSTTSSSSSSTTTTSSSSSSSSTTTTTTTTTTSSSSTTSSSSSSTTTTTTSSSSSSSSTTSSTTSSSSSSTTSSSSTTSSTTSSSSSSTTSSTTSSTTSSSSTTTTSSTTSSSSSSSSSSSSSSSSSSTTTTSSSSSSSSTTTTSSTTTTSSTTTTTTSSSSSSTTTTSSSSSSSSSSSSTTTTSSTTTTTTTTSSSSSSSSTTSSSSTTTTSSSSSSTTSSSSSSSSSSTTSSSSSSTTTTTTTTSSSSSSSSSSSSTTSSSSTTTTTTTTTTTTTTSSSSTTTTSSSSSSTTTTSSSSTTSSTTTTSSSSSSSSTTSSSSSSTTSSSSTTSSSSTTTTSSTTSSTTTTSSSSSSTTSSTTSSTTTTSSTTSSTTSSTTSSSSTTTTTTSSTTTTSSTTSSTTSSSSTTTTTTSSSSSSTTSSTTSSSSSSTTTTTTSSSSSSTTSSSSSSSSTTSSSSTTSSSSSSSSSSSSTTTTSSTTSSSSSSSSSSTTSSTTSSSSSSSSTTTTTTTTSSTTSSSSSSTTSSSSSSTTTTSSTTTTSSTTTTTTSSSSTTTTSSTTTTTTTTTTSSSSSSSSSSSSTTTTSSTTTTSSSSSSSSTTSSSSSSSSSSSSSSSSSSSSSSSSTTTTTTSSTTSSSSSSTTTTSSSSTTTTTTSSTTSSSSSSTTSSSSSSSSTTSSSSSSSSTTSSSSSSSSSSTTSSSSTTSSTTTTSSSSTTTTTTTTTTSSTTTTTTSSTTTTSSSSSSTTTTTTTTSSTTTTTTSSTTSSTTTTTTTTTTTTTTTTSSTTSSTTSSSSTTTTTTTTTTTTTTTTSSTTTTTTTTTTTTTTTTSSTTTTSSTTTTTTTTTTTTTTTTSSTTTTSSSSSSTTTTTTTTTTSSSSTTTTTTTTTTSSTTTTTTTTTTSSSSSSSSTTTTSSSSTTTTTTSSTTSSSSTTTTTTTTTTTTTTTTSSTTTTSSSSSSSSSSSSTTTTTTTTTTTTSSTTTTTTTTTTTTSSSSTTTTSSTTTTTTTTTTTTTTTTTTTTSSTTSSTTSSTTTTTTTTTTTTTTTTTTTTTTTTSSTTSSSSTTTTTTTTSSSSTTTTSSSSTTTTSSTTTTTTTTSSSSTTSSSSTTSSTTSSTTTTSSSSSSSSTTTTTTTTSSTTSSSSTTSSSSSSTTTTTTTTSSSSSSTTSSSSTTSSTTTTTTTTSSSSSSTTSSTTTTTTTTSSSSSSTTTTSSSSSSTTTTTTTTTTSSSSSSTTTTTTSSTTTTTTSSSSSSSSSSTTSSSSTTSSTTSSTTTTSSTTTTSSSSSSSSSSSSTTTTTTSSTTTTSSTTSSSSTTTTTTSSTTSSTTTTTTTTTTSSTTTTTTSSTTTTTTTTTTSSTTTTTTSSTTSSSSTTTTSSSSTTTTSSTTSSTTTTSSSSSSTTTTTTTTSSSSSSSSTTTTSSTTTTTTSSTTSSTTSSSSTTTTSSSSTTTTTTSSTTTTTTTTSSTTTTSSTTSSSSTTTTSSSSTTTTTTTTSSTTSSTTSSSSSSSSTTTTSSTTTTSSTTTTTTSSTTTTTTTTTTTTTTTTTTSSSSTTTTSSSSTTSSSSTTTTTTTTTTTTTTTTTTTTTTTTSSTTTTTTTTTTSSTTTTTTTTTTTTSSSSTTSSTTTTTTTTSSSSTTSSSSSSTTSSTTSSSSTTTTSSTTTTSSTTSSTTTTTTTTTTTTSSTTSSTTTTSSSSTTTTTTTTTTTTSSTTSSTTSSTTTTSSTTSSSSSSSSSSTTTTSSTTTTSSSSTTSSTTSSTTTTSSSSTTSSTTTTTTSSSSSSTTTTTTSSTTTTTTTTTTTTTTSSTTTTSSSSTTTTSSTTSSSSSSSSSSSSSSTTSSSSTTSSTTSSTTSSTTSSTTSSSSSSTTTTSSSSTTSSTTSSTTSSTTTTTTSSSSSSTTSSTTSSTTTTTTSSTTTTSSSSTTTTTTSSSSSSTTSSTTSSTTSSSSTTTTTTTTTTTTSSSSTTTTSSTTSSSSTTSSTTSSTTTTTTSSTTTTSSTTTTSSSSTTSSTTSSSSSSSSSSSSSSTTSSTTSSTTSSSSTTSSTTSSSSTTTTTTTTSSTTTTTTTTTTTTSSTTTTTTTTSSSSTTTTSSSSSSTTTTTTSSSSTTTTTTTTSSSSTTTTTTSSTTSSTTTTSSSSTTTTTTTTTTTTTTTTSSSSSSSSSSTTTTTTSSSSTTTTSSTTSSSSSSTTSSTTSSTTTTSSTTTTSSTTTTTTSSTTTTSSSSTTTTSSSSTTTTTTTTTTTTTTSSSSTTTTTTTTSSSSTTSSSSSSSSTTSSTTSSTTTTTTSSSSSSSSSSSSSSSSSSTTTTSSTTSSTTSSTTTTSSSSSSSSTTTTSSTTSSSSSSTTTTTTSSTTTTSSSSTTSSSSTTSSSSTTTTSSTTSSSSTTTTTTSSTTTTTTSSSSTTSSSSSSTTSSTTSSTTTTSSTTTTSSTTSSSSTTSSTTSSTTSSSSTTSSTTTTTTTTSSSSTTSSTTSSTTSSTTTTTTTTSSSSSSSSTTTTTTSSTTTTSSTTTTSSSSTTTTSSSSSSTTSSTTTTTTSSTTSSSSSSTTTTSSSSTTSSSSTTTTTTSSTTSSSSSSSSTTSSSSTTSSSSSSTTTTSSSSTTTTTTSSTTTTTTTTTTSSSSTTSSSSSSTTTTTTSSTTSSSSTTSSSSSSSSTTSSSSTTTTSSTTTTTTSSTTTTTTTTTTSSSSTTSSTTSSTTTTTTTTTTSSSSSSTTSSSSSSTTTTTTTTTTTTSSTTSSTTTTTTTTTTTTTTTTSSTTTTSSSSTTTTSSTTSSTTSSSSTTSSSSTTTTSSSSSSSSSSTTTTSSSSTTTTSSSSSSSSTTSSTTTTTTTTTTTTTTTTSSTTTTTTTTSSSSTTSSTTSSSSTTSSSSSSTTSSTTSSSSSSTTTTSSTTSSSSTTTTTTSSSSTTSSSSSSTTSSSSSSTTTTTTTTTTTTSSTTSSTTTTSSTTTTTTTTTTSSTTTTSSSSTTTTSSSSSSTTSSSSTTSSSSTTTTSSSSSSSSSSSSTTSSSSTTTTSSSSSSSSTTSSTTTTTTTTTTTTTTTTSSTTTTTTTTSSSSTTSSTTSSSSTTSSSSSSTTSSTTSSSSSSTTTTSSTTSSSSTTTTTTSSSSTTSSSSSSTTSSTTSSSSTTTTTTSSSSSSSSTTTTSSTTTTTTTTSSSSTTTTTTTTSSTTSSSSTTTTTTSSTTSSSSTTSSTTTTSSSSTTSSSSSSTTTTTTTTSSTTTTSSSSSSTTSSTTSSSSTTTTTTSSSSSSSSTTTTTTSSTTTTSSTTTTTTSSTTSSTTSSSSTTSSTTTTTTTTTTSSSSSSTTTTSSSSSSSSSSTTSSSSSSTTSSTTSSTTTTTTTTSSTTTTSSTTSSSSSSSSTTTTSSTTTTTTSSTTTTSSSSTTTTSSSSSSSSSSTTTTSSSSSSSSSSSSSSTTSSTTSSTTSSSSSSSSSSTTSSTTSSSSTTSSSSTTTTSSSSSSTTTTSSTTSSTTSSSSSSSSTTTTTTTTSSTTSSTTSSTTTTSSSSSSSSSSTTTTTTTTSSSSSSTTTTSSSSTTSSTTTTTTTTSSTTTTSSSSTTTTSSSSSSTTTTSSSSTTTTSSSSTTSSSSTTSSTTSSTTSSSSSSSSSSSSSSSSTTSSSSSSSSTTTTSSSSTTTTTTSSTTTTTTTTTTSSSSTTSSSSSSTTSSSSSSSSSSSSTTSSTTSSTTSSSSTTSSSSTTSSSSSSSSTTTTSSTTSSSSTTSSTTTTTTTTSSTTTTTTSSSSSSSSSSTTSSSSSSSSTTSSTTTTTTTTSSSSTTSSTTSSSSTTTTSSTTSSSSSSTTSSSSTTSSTTTTTTSSSSSSTTSSTTTTSSTTTTSSTTSSSSTTSSSSSSTTTTSSSSSSSSTTTTTTTTTTSSSSTTSSSSSSTTTTTTSSSSSSSSTTSSTTSSSSSSTTSSSSTTSSTTSSSSSSTTSSTTSSTTSSSSTTTTSSTTSSSSSSSSSSSSSSSSSSTTTTSSSSSSSSTTTTSSTTTTSSTTTTTTSSSSSSTTTTSSSSSSSSSSSSTTTTSSTTTTTTTTSSSSSSSSTTSSSSTTTTSSSSSSTTSSSSSSSSSSTTSSSSSSTTTTTTTTSSSSSSSSSSSSTTSSSSTTTTTTTTTTTTTTSSSSTTTTSSSSSSTTTTSSSSTTSSTTTTSSSSSSSSTTSSSSSSTTSSSSTTSSSSTTTTSSTTSSTTTTSSSSSSTTSSTTSSTTTTSSTTSSTTSSTTSSSSTTTTTTSSTTTTSSTTSSTTSSSSTTTTTTSSSSSSTTSSTTSSSSSSTTTTTTSSSSSSTTSSSSSSSSTTSSSSTTSSSSSSSSSSSSTTTTSSTTSSSSSSSSSSTTSSTTSSSSSSSSTTTTTTTTSSTTSSSSSSTTSSSSSSTTTTSSTTTTSSTTTTTTSSSSTTTTSSTTTTTTTTTTSSSSSSSSSSSSTTTTSSTTTTSSSSSSSSTTSSSSSSSSSSSSSSSSSSSSSSSSTTTTTTSSTTSSSSSSTTTTSSSSTTTTTTSSTTSSSSSSTTSSSSSSSSTTSSSSSSSSTTSSSSSSSSSSTTSSSSTTSSTTTTTTTTTTSSTTTTTTTTTTTTTTSSTTTTTTTTTTTTTTTTTTTTSSSSTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTSSTTTTTTSSSSTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTSSSSTTTTTTSSTTTTTTSSTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTSSTTTTTTSSTTSSTTSSTTTTTTTTTTSSTTTTTTTTSSTTTTTTTTTTTTTTTTSSTTTTTTTTSSTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTSSSSTTTTTTSSTTTTTTTTSSTTTTSSTTTTTTSSTTTTTTTTTTTTTTSSTTTTTTTTTTTTTTTTTTSSTTTTTTTTTTTTTTTTTTTTTTTTTTSSTTSSTTSSTTSSTTSSTTSSSSTTTTSSTTSSTTTTTTTTTTTTTTTTTTTTTTSSTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTSSTTTTTTTTTTTTSSTTSSTTSSSSTTTTTTTTSSSSTTTTSSTTTTSSTTTTTTTTTTTTSSTTTTTTTTTTSSTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTSSTTTTTTSSTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTSSTTTTSSTTTTTTSSTTTTTTTTTTTTTTTTSSTTSSTTSSTTTTTTTTTTTTTTTTTTTTSSTTSSSSTTTTTTSSTTSSTTTTSSTTSSSSTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTSSTTTTTTTTTTTTTTSSSSTTTTTTTTTTTTTTSSTTTTTTTTTTTTTTTTTTSSTTTTTTSSSSSSTTTTTTTTTTTTSSSSTTTTTTTTTTTTTTTTTTTTTTSSTTTTSSTTTTTTTTTTTTTTTTTTTTTTSSTTTTSSSSTTTTTTTTTTTTSSTTSSSSTTTTSSTTTTTTSSTTSSTTSSSSTTTTTTSSTTSSTTTTTTSSTTSSSSTTSSTTTTSSTTSSTTTTTTSSSSSSSSSSSSSSTTTTTTTTTTTTTTTTTTSSSSTTSSSSSSTTTTTTTTTTTTTTSSTTTTTTTTSSTTTTSSTTTTTTTTSSTTTTTTSSTTTTTTSSTTTTTTTTTTTTTTTTTTTTTTTTTTSSTTTTTTTTTTTTTTSSTTTTTTTTTTTTTTSSTTTTTTTTTTTTTTTTSSTTTTSSTTTTSSTTTTTTSSTTTTTTTTTTTTTTSSTTTTTTTTSSTTSSTTTTTTTTTTTTTTTTTTTTTTSSTTTTTTTTTTSSTTTTTTTTTTSSSSSSSSTTTTTTTTTTTTTTTTTTSSTTTTTTSSTTTTTTTTTTSSSSTTTTTTSSSSSSTTTTSSTTTTTTSSTTTTTTSSTTSSTTSSSSSSTTTTTTSSSSTTTTTTTTSSTTSSTTSSTTSSSSTTTTTTSSTTTTTTTTTTTTTTTTTTTTSSSSTTTTTTTTSSTTSSTTTTTTTTSSTTTTSSTTTTTTTTSSTTTTTTTTSSTTTTTTTTSSTTTTTTTTSSTTSSTTTTTTTTTTTTTTSSSSTTTTTTTTTTTTTTTTTTTTTTSSTTTTTTTTTTTTTTTTTTTTTTTTSSTTSSTTTTSSSSSSTTSSTTSSTTSSTTTTTTSSTTTTTTTTTTTTTTTTTTSSSSSSTTTTTTTTTTTTTTSSTTTTSSTTTTTTTTTTTTSSTTTTTTSSTTTTTTTTSSTTTTTTTTTTTTSSSSTTSSSSTTSSTTTTTTTTTTTTTTTTSSSSTTTTTTTTTTTTTTTTSSTTSSTTTTTTTTTTTTTTTTSSTTTTTTTTTTSSSSTTTTTTTTTTSSSSTTTTTTTTTTSSTTTTTTTTTTTTTTSSTTTTTTTTTTSSTTTTTTTTTTTTSSSSTTTTTTTTTTTTSSTTSSSSSSSSTTSSTTTTTTTTSSSSSSTTTTSSTTTTTTTTTTTTTTTTTTTTTTTTSSTTSSSSTTTTSSSSTTTTTTTTTTTTTTTTSSSSSSSSTTTTTTTTTTSSTTTTTTSSTTTTTTTTTTTTTTTTTTSSSSTTTTSSSSTTSSSSTTTTTTTTTTTTSSTTTTTTTTTTSSTTTTTTTTTTSSTTTTTTTTTTTTSSSSTTTTTTTTTTTTSSSSTTSSSSSSTTSSTTSSTTTTTTSSTTTTSSTTTTTTSSTTSSSSTTTTSSSSTTTTTTTTTTTTTTTTSSSSSSSSTTTTTTTTTTSSTTTTTTSSTTTTTTTTTTTTTTTTTTSSSSTTTTSSSSTTSSSSTTTTTTTTTTTTTTTTTTTTTTTTSSTTTTTTTTTTSSTTTTTTTTTTTTSSSSTTTTTTTTTTTTSSSSTTSSSSSSTTSSTTSSTTTTTTSSTTTTSSTTSSTTTTTTTTTTTTSSTTSSTTTTSSTTTTTTTTTTTTSSSSTTSSTTTTTTTTSSTTSSSSSSSSTTTTTTTTTTTTSSTTTTSSTTTTTTTTTTSSTTSSTTTTTTSSSSSSTTTTTTSSTTTTTTTTTTTTTTSSTTTTSSSSTTTTSSTTSSSSSSSSTTSSSSTTTTSSTTSSTTSSTTSSTTSSTTSSTTTTTTTTSSSSTTTTTTSSTTSSTTTTTTSSSSSSTTSSTTSSTTTTTTSSTTTTSSSSTTTTTTSSSSTTTTSSTTTTTTSSSSTTTTTTTTTTTTSSSSTTTTSSTTSSSSTTTTTTSSTTTTTTSSTTTTSSTTTTSSTTSSSSTTSSSSSSSSSSSSSSTTSSTTSSTTSSSSTTSSTTSSSSTTTTTTTTTTTTTTTTTTTTTTSSTTTTTTSSSSSSTTTTSSSSSSTTTTTTSSTTTTTTTTTTSSSSTTTTTTTTTTTTTTTTSSSSTTTTTTTTTTTTTTTTSSSSSSTTSSTTTTTTSSTTTTSSTTTTSSSSSSTTTTTTSSTTTTTTTTTTTTTTSSTTTTTTTTTTSSTTSSSSSSTTTTSSTTTTTTTTTTTTTTTTSSTTTTTTSSSSTTTTTTSSTTTTTTTTTTTTTTTTTTSSSSTTSSSSSSTTTTTTSSTTTTSSSSSSSSTTSSSSSSSSSSTTTTTTTTTTSSSSSSSSSSSSSSTTTTTTSSTTTTTTTTSSSSSSSSSSSSSSTTSSTTTTSSSSSSTTSSTTTTSSTTTTSSSSSSTTSSTTTTSSTTTTTTSSSSTTTTTTTTTTTTTTSSSSTTTTTTSSTTTTSSSSSSTTSSTTSSSSSSTTSSSSSSTTSSSSTTTTTTSSSSTTTTTTSSSSSSTTSSTTTTSSTTSSSSTTTTSSSSTTSSTTTTTTTTTTTTSSTTTTSSSSTTTTTTTTSSTTSSSSTTTTTTSSTTSSSSSSTTTTTTSSSSTTTTSSTTSSTTTTTTTTSSTTTTSSSSSSTTTTSSTTTTTTTTTTTTSSTTTTTTTTTTTTTTTTSSSSTTSSTTTTTTSSSSSSTTTTTTSSTTTTSSSSTTTTTTTTSSSSTTTTTTSSTTTTSSSSSSTTTTTTTTSSTTTTTTSSTTSSTTTTTTTTTTTTTTTTSSTTSSTTSSSSTTTTTTTTTTTTSSTTSSTTTTTTTTTTTTTTTTSSTTTTSSTTTTTTTTTTTTTTTTSSTTTTSSSSSSTTTTTTTTTTSSSSTTSSTTTTTTSSSSTTTTTTTTSSSSSSSSTTTTSSSSTTTTTTSSTTSSTTTTTTSSSSSSTTSSTTSSTTTTTTSSTTTTSSSSSSTTTTSSSSTTSSSSSSTTTTTTTTTTTTTTTTTTTTSSSSSSSSTTTTSSTTSSSSSSSSTTSSSSTTTTSSTTSSSSTTSSTTSSTTSSTTSSTTTTTTTTTTSSSSSSTTSSTTTTSSTTTTSSTTTTTTTTTTSSTTTTTTTTTTTTTTSSTTTTTTTTTTTTTTTTTTTTSSSSTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTSSTTTTTTSSSSTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTSSSSTTTTTTSSTTTTTTSSTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTSSTTTTTTSSTTSSTTSSTTTTTTTTTTSSTTTTTTTTSSTTTTTTTTTTTTTTTTSSTTTTTTTTSSTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTSSSSTTTTTTSSTTTTTTTTSSTTTTSSTTTTTTSSTTTTTTTTTTTTTTSSTTTTTTTTTTTTTTTTTTSSTTTTTTTTTTTTTTTTTTTTTTTTTTSSTTSSTTSSTTSSTTSSTTSSSSTTTTSSTTSSTTTTTTTTTTTTTTTTTTTTTTSSTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTSSTTTTTTTTTTTTSSTTSSTTSSSSTTTTTTTTSSSSTTTTSSTTTTSSTTTTTTTTTTTTSSTTTTTTTTTTSSTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTSSTTTTTTSSTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTSSTTTTSSTTTTTTSSTTTTTTTTTTTTTTTTSSTTSSTTSSTTTTTTTTTTTTTTTTTTTTSSTTSSSSTTTTTTSSTTSSTTTTSSTTSSSSTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTSSTTTTTTTTTTTTTTSSSSTTTTTTTTTTTTTTSSTTTTTTTTTTTTTTTTTTSSTTTTTTSSSSSSTTTTTTTTTTTTSSSSTTTTTTTTTTTTTTTTTTTTTTSSTTTTSSTTTTTTTTTTTTTTTTTTTTTTSSTTTTSSSSTTTTTTTTTTTTSSTTSSSSTTTTSSTTTTTTSSTTSSTTSSSSTTTTTTSSTTSSTTTTTTSSTTSSSSTTSSTTTTSSTTSSTTTTTTSSSSSSSSSSSSSSTTTTTTTTTTTTTTTTTTSSSSTTSSSSSSTTTTTTTTTTTTTTSSTTTTTTTTSSTTTTSSTTTTTTTTSSTTTTTTSSTTTTTTSSTTTTTTTTTTTTTTTTTTTTTTTTTTSSTTTTTTTTTTTTTTSSTTTTTTTTTTTTTTSSTTTTTTTTTTTTTTTTSSTTTTSSTTTTSSTTTTTTSSTTTTTTTTTTTTTTSSTTTTTTTTSSTTSSTTTTTTTTTTTTTTTTTTTTTTSSTTTTTTTTTTSSTTTTTTTTTTSSSSSSSSTTTTTTTTTTTTTTTTTTSSTTTTTTSSTTTTTTTTTTSSSSTTTTTTSSSSSSTTTTSSTTTTTTSSTTTTTTSSTTSSTTSSSSSSTTTTTTSSSSTTTTTTTTSSTTSSTTSSTTSSSSTTTTTTSSTTTTTTTTTTTTTTTTTTTTSSSSTTTTTTTTSSTTSSTTTTTTTTSSTTTTSSTTTTTTTTSSTTTTTTTTSSTTTTTTTTSSTTTTTTTTSSTTSSTTTTTTTTTTTTTTSSSSTTTTTTTTTTTTTTTTTTTTTTSSTTTTTTTTTTTTTTTTTTTTTTTTSSTTSSTTTTSSSSSSTTSSTTSSTTSSTTTTTTSSTTTTTTTTTTTTTTTTTTSSSSSSTTTTTTTTTTTTTTSSTTTTSSTTTTTTTTTTTTSSTTTTTTSSTTTTTTTTSSTTTTTTTTTTTTSSSSTTSSSSTTSSTTTTTTTTTTTTTTTTSSSSTTTTTTTTTTTTTTTTSSTTSSTTTTTTTTTTTTTTTTSSTTTTTTTTTTSSSSTTTTTTTTTTSSSSTTTTTTTTTTSSTTTTTTTTTTTTTTSSTTTTTTTTTTSSTTTTTTTTTTTTSSSSTTTTTTTTTTTTSSTTSSSSSSSSTTSSTTTTTTTTSSSSSSTTTTSSTTTTTTTTTTTTTTTTTTTTTTTTSSTTSSSSTTTTSSSSTTTTTTTTTTTTTTTTSSSSSSSSTTTTTTTTTTSSTTTTTTSSTTTTTTTTTTTTTTTTTTSSSSTTTTSSSSTTSSSSTTTTTTTTTTTTSSTTTTTTTTTTSSTTTTTTTTTTSSTTTTTTTTTTTTSSSSTTTTTTTTTTTTSSSSTTSSSSSSTTSSTTSSTTTTTTSSTTTTSSTTTTTTSSTTSSSSTTTTSSSSTTTTTTTTTTTTTTTTSSSSSSSSTTTTTTTTTTSSTTTTTTSSTTTTTTTTTTTTTTTTTTSSSSTTTTSSSSTTSSSSTTTTTTTTTTTTTTTTTTTTTTTTSSTTTTTTTTTTSSTTTTTTTTTTTTSSSSTTTTTTTTTTTTSSSSTTSSSSSSTTSSTTSSTTTTTTSSTTTTSSTTSSTTTTTTTTTTTTSSTTSSTTTTSSTTTTTTTTTTTTSSSSTTSSTTTTTTTTSSTTSSSSSSSSTTTTTTTTTTTTSSTTTTSSTTTTTTTTTTSSTTSSTTTTTTSSSSSSTTTTTTSSTTTTTTTTTTTTTTSSTTTTSSSSTTTTSSTTSSSSSSSSTTSSSSTTTTSSTTSSTTSSTTSSTTSSTTSSTTTTTTTTSSSSTTTTTTSSTTSSTTTTTTSSSSSSTTSSTTSSTTTTTTSSTTTTSSSSTTTTTTSSSSTTTTSSTTTTTTSSSSTTTTTTTTTTTTSSSSTTTTSSTTSSSSTTTTTTSSTTTTTTSSTTTTSSTTTTSSTTSSSSTTSSSSSSSSSSSSSSTTSSTTSSTTSSSSTTSSTTSSSSTTTTTTTTTTTTTTTTTTTTTTSSTTTTTTSSSSSSTTTTSSSSSSTTTTTTSSTTTTTTTTTTSSSSTTTTTTTTTTTTTTTTSSSSTTTTTTTTTTTTTTTTSSSSSSTTSSTTTTTTSSTTTTSSTTTTSSSSSSTTTTTTSSTTTTTTTTTTTTTTSSTTTTTTTTTTSSTTSSSSSSTTTTSSTTTTTTTTTTTTTTTTSSTTTTTTSSSSTTTTTTSSTTTTTTTTTTTTTTTTTTSSSSTTSSSSSSTTTTTTSSTTTTSSSSSSSSTTSSSSSSSSSSTTTTTTTTTTSSSSSSSSSSSSSSTTTTTTSSTTTTTTTTSSSSSSSSSSSSSSTTSSTTTTSSSSSSTTSSTTTTSSTTTTSSSSSSTTSSTTTTSSTTTTTTSSSSTTTTTTTTTTTTTTSSSSTTTTTTSSTTTTSSSSSSTTSSTTSSSSSSTTSSSSSSTTSSSSTTTTTTSSSSTTTTTTSSSSSSTTSSTTTTSSTTSSSSTTTTSSSSTTSSTTTTTTTTTTTTSSTTTTSSSSTTTTTTTTSSTTSSSSTTTTTTSSTTSSSSSSTTTTTTSSSSTTTTSSTTSSTTTTTTTTSSTTTTSSSSSSTTTTSSTTTTTTTTTTTTSSTTTTTTTTTTTTTTTTSSSSTTSSTTTTTTSSSSSSTTTTTTSSTTTTSSSSTTTTTTTTSSSSTTTTTTSSTTTTSSSSSSTTTTTTTTSSTTTTTTSSTTSSTTTTTTTTTTTTTTTTSSTTSSTTSSSSTTTTTTTTTTTTSSTTSSTTTTTTTTTTTTTTTTSSTTTTSSTTTTTTTTTTTTTTTTSSTTTTSSSSSSTTTTTTTTTTSSSSTTSSTTTTTTSSSSTTTTTTTTSSSSSSSSTTTTSSSSTTTTTTSSTTSSTTTTTTSSSSSSTTSSTTSSTTTTTTSSTTTTSSSSSSTTTTSSSSTTSSSSSSTTTTTTTTTTTTTTTTTTTTSSSSSSSSTTTTSSTTSSSSSSSSTTSSSSTTTTSSTTSSSSTTSSTTSSTTSSTTSSTTTTTTTTTTSSSSSSTTSSTTTTSSTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTSSTTTTTTSSTTTTTTTTTTTTTTTTTTSSTTTTTTTTTTTTTTTTTTTTTTTTTTSSTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTSSTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTSSTTTTTTTTTTTTTTTTTTTTTTTTSSTTTTTTTTTTTTTTSSTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTSSTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTSSTTTTTTSSTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTSSTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTSSTTTTTTTTTTSSTTTTTTSSTTTTTTTTSSTTTTTTTTTTTTSSSSTTTTTTTTSSTTTTTTTTTTSSSSTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTSSTTSSTTSSTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTSSTTTTTTTTSSTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTSSTTTTTTTTTTTTSSTTTTTTSSTTTTTTTTTTTTTTTTTTTTTTSSTTTTTTTTTTSSSSTTTTSSTTTTTTTTTTTTTTTTTTTTTTTTTTSSTTTTTTSSTTTTTTTTTTTTTTTTTTTTTTSSSSTTTTSSTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTSSSSTTTTTTTTTTSSTTTTSSTTSSSSTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTSSSSTTTTSSSSTTTTTTTTSSTTTTTTTTTTSSSSTTTTTTTTTTTTTTTTSSTTTTTTTTTTTTTTTTTTTTSSTTTTSSTTTTTTSSTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTSSTTTTTTTTTTTTTTTTTTTTTTSSTTTTSSTTTTTTTTSSTTTTTTTTTTSSTTTTTTTTTTTTSSTTTTTTTTSSSSTTTTSSTTTTTTSSTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTSSTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTSSTTTTTTSSTTTTTTTTTTSSTTTTSSTTSSSSTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTSSTTTTTTTTTTTTTTSSSSTTTTTTTTTTTTTTSSTTTTTTTTTTTTTTTTTTTTTTTTTTSSSSTTTTTTTTTTTTTTSSSSTTTTTTTTTTTTTTTTTTTTTTSSTTTTSSTTTTTTTTTTTTTTTTTTTTTTTTTTTTSSSSTTTTTTTTTTTTSSTTSSSSTTTTSSTTTTTTSSTTSSTTTTSSTTTTTTSSTTSSTTTTTTTTTTTTSSTTTTTTTTSSTTSSTTTTTTTTSSSSSSTTSSSSTTTTTTTTTTTTTTTTTTTTTTTTSSSSSSTTTTTTTTTTTTTTSSTTTTTTTTTTTTTTTTTTTTTTTTSSTTTTTTSSTTTTTTSSTTTTTTTTTTTTTTTTTTTTTTTTTTSSTTTTTTTTTTTTTTSSTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTSSTTTTTTTTTTSSTTTTTTSSTTTTTTTTTTTTTTSSTTTTTTTTSSTTSSTTTTTTTTTTTTTTTTTTTTTTSSTTTTTTTTTTSSTTTTTTTTTTSSSSTTSSTTTTTTTTTTTTTTTTTTSSTTTTTTSSTTTTTTTTTTSSSSTTTTTTSSTTSSTTTTSSTTTTTTSSTTTTTTSSTTTTTTSSTTSSTTTTTTSSTTTTTTTTTTSSTTTTTTSSTTTTTTTTTTSSTTTTTTTTTTTTTTTTTTTTTTTTSSTTTTTTTTSSSSSSSSTTTTTTTTTTTTSSTTTTTTTTTTTTSSTTTTTTSSTTTTTTTTTTTTTTTTTTTTSSTTSSTTSSTTTTTTTTTTTTTTTTTTTTTTTTSSTTTTSSTTTTTTTTTTSSTTTTSSSSTTTTSSTTTTTTTTSSSSTTSSSSTTTTTTSSTTTTSSTTSSSSTTTTTTTTTTTTSSTTTTTTSSSSTTTTTTTTSSTTTTTTSSSSTTTTTTTTTTTTTTSSSSTTSSTTTTTTTTTTTTSSTTTTSSSSTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTSSSSTTTTTTSSSSTTTTTTSSTTTTTTTTTTSSTTTTSSTTSSTTTTTTTTTTTTSSTTTTTTTTTTTTTTTTSSTTTTTTTTTTSSTTTTTTSSTTTTTTTTTTSSTTTTTTSSTTSSSSTTTTTTTTTTTTSSTTSSTTTTSSSSSSTTTTTTTTTTTTTTSSTTTTTTTTTTTTSSTTSSTTSSSSTTSSTTTTTTTTTTSSTTSSTTTTTTTTTTSSTTTTTTTTTTTTTTTTTTTTSSSSTTTTTTTTSSTTTTTTSSSSTTTTTTTTTTSSTTTTTTSSSSTTTTTTTTTTSSSSTTTTTTTTTTTTTTTTTTTTSSTTTTTTSSSSTTTTSSSSTTTTSSSSSSTTTTTTSSTTTTTTTTSSTTSSTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTSSTTTTTTSSSSTTTTTTSSSSSSTTSSTTTTTTTTTTTTTTTTTTTTTTSSTTTTTTTTSSTTTTTTTTTTTTSSTTSSSSSSTTTTSSSSTTTTTTSSTTTTSSTTSSSSTTTTSSSSTTSSSSTTSSSSSSSSSSTTTTTTTTSSTTTTTTTTTTTTTTSSSSTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTSSTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTSSTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTSSTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTSSTTTTTTTTTTTTTTTTTTTTTTTTSSTTTTTTTTTTTTTTSSTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTSSTTTTTTSSTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTSSTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTSSTTTTTTTTTTSSTTTTTTSSTTTTTTTTSSTTTTTTTTTTTTSSSSTTTTTTTTSSTTTTTTTTTTSSSSTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTSSTTSSTTSSTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTSSTTTTTTTTSSTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTSSTTTTTTTTTTTTSSTTTTTTSSTTTTTTTTTTTTTTTTTTTTTTSSTTTTTTTTTTSSSSTTTTSSTTTTTTTTTTTTTTTTTTTTTTTTTTSSTTTTTTSSTTTTTTTTTTTTTTTTTTTTTTSSSSTTTTSSTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTSSSSTTTTTTTTTTSSTTTTSSTTSSSSTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTSSSSTTTTSSSSTTTTTTTTTTTTTTTTTTTTSSSSTTTTTTTTTTTTTTTTSSTTTTTTTTTTTTTTTTTTTTSSTTTTSSTTTTTTSSTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTSSTTTTTTTTTTTTTTTTTTTTTTSSTTTTSSTTTTTTTTSSTTTTTTTTTTSSTTTTTTTTTTTTSSTTTTTTTTTSSSTTTTSSTTTTTTSSTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTSSTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTSSTTTTTTSSTTTTTTTTTTSSTTTTSSTTSSSSTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTSSSSTTTTTTTTTTTTTTSSTTTTTTTTTTTTTTTTTTTTTTTTTTSSSSTTTTTTTTTTTTTTSSSSTTTTTTTTTTTTTTTTTTTTTTSSTTTTSSTTTTTTTTTTTTTTTTTTTTTTTTTTTTSSSSTTTTTTTTTTTTSSTTSSSSTTTTSSTTTTTTSSTTSSTTTTSSTTTTTTSSTTSSTTTTTTTTTTTTSSTTTTTTTTSSTTSSTTTTTTTTSSSSSSTTSSSSTTTTTTTTTTTTTTTTTTTTTTTTSSSSSSTTTTTTTTTTTTTTSSTTTTTTTTTTTTTTTTTTTTTTTTSSTTTTTTSSTTTTTTSSTTTTTTTTTTTTTTTTTTTTTTTTTTSSTTTTTTTTTTTTTTSSTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTSSTTTTTTTTTTSSTTTTTTSSTTTTTTTTTTTTTTSSTTTTTTTTSSTTSSTTTTTTTTTTTTTTTTTTTTTTSSTTTTTTTTTTSSTTTTTTTTTTSSSSTTSSTTTTTTTTTTTTTTTTTTSSTTTTTTSSTTTTTTTTTTSSSSTTTTTTSSTTSSTTTTSSTTTTTTSSTTTTTTSSTTTTTTSSTTSSTTTTTTSSTTTTTTTTTTSSTTTTTTSSTTTTTTTTTTSSTTTTTTTTTTTTTTTTTTTTTTTTSSTTTTTTTTSSSSSSSSTTTTTTTTTTTTSSTTTTTTTTTTTTSSTTTTTTSSTTTTTTTTTTTTTTTTTTTTSSTTSSTTSSTTTTTTTTTTTTTTTTTTTTTTTTSSTTTTSSTTTTTTTTTTSSTTTTSSSSTTTTSSTTTTTTTTSSSSTTSSSSTTTTTTSSTTTTSSTTSSSSTTTTTTTTTTTTSSTTTTTTSSSSTTTTTTTTSSTTTTTTSSSSTTTTTTTTTTTTTTSSSSTTSSTTTTTTTTTTTTSSTTTTSSSSTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTSSSSTTTTTTSSSSTTTTTTSSTTTTTTTTTTSSTTTTSSTTSSTTTTTTTTTTTTSSTTTTTTTTTTTTTTTTSSTTTTTTTTTTSSTTTTTTSSTTTTTTTTTTSSTTTTTTSSTTSSSSTTTTTTTTTTTTSSTTSSTTTTSSSSSSTTTTTTTTTTTTTTSSTTTTTTTTTTTTSSTTSSTTSSSSTTSSTTTTTTTTTTSSTTSSTTTTTTTTTTSSTTTTTTTTTTTTTTTTTTTTSSSSTTTTTTTTSSTTTTTTSSSSTTTTTTTTTTSSTTTTTTSSSSTTTTTTTTTTSSSSTTTTTTTTTTTTTTTTTTTTSSTTTTTTSSSSTTTTSSSSTTTTSSSSSSTTTTTTSSTTTTTTTTSSTTSSTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTSSTTTTTTSSSSTTTTTTSSSSSSTTSSTTTTTTTTTTTTTTTTTTTTTTSSTTTTTTTTSSTTTTTTTTTTTTSSTTSSSSSSTTTTSSSSTTTTTTSSTTTTSSTTSSSSTTTTSSSSTTSSSSTTSSSSSSSSSSTTTTTTTTSSTTTTTTTTTTTTTTSSSSTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTSSTTSSTTTTTTTTTTSSTTTTTTTTTTTTTTTTTTTTTTTTSSTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTSSTTTTSSTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTSSTTTTTTTTTTTTTTTTTTTTTTTTTTSSTTTTTTTTTTTTTTTTTTSSSSTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTSSTTTTTTTTTTSSTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTSSTTTTSSTTTTTTSSTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTSSTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTSSTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTSSTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTSSTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTSSTTTTTTTTTTTTTTTTTTTTTTTTTTSSTTSSTTTTTTTTTTTTTTTTTTTTSSTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTSSTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTSSTTSSTTTTTTTTTTSSTTTTTTTTTTTTTTTTTTTTTTTTSSTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTSSTTTTSSTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTSSTTTTTTTTTTTTTTTTTTTTTTTTTTSSTTTTTTTTTTTTTTTTTTSSSTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTSSTTTTTTTTTTSSTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTSSTTTTSSTTTTTTSSTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTSSTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTSSTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTSSTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTSSTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTSSTTTTTTTTTTTTTTTTTTTTTTTTTTSSTTSSTTTTTTTTTTTTTTTTTTTTSSTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTSSTTTTTTTTUUTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTUUTTTTTTTTTTTTTTTTTTTTTTTTUUTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTUUTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTUUTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTUUTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTUUTTTTTTTTTTTTTTTTTTTTTTTTUUTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTUUTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTUUTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTUUTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTUUTTTTTTTTUUTTTTTTTTTTTTTTUUUUTTTTTTUUUUTTTTTTTTUUTTTTTTTTTTTTTTUUTTTTUUTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTUUTTTTTTTTTTTTTTTTTTTTTTTTTTUUTTTTUUTTTTTTTTTTTTTTTTTTUUTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTUUTTTTUUTTTTUUTTTTTTTTTTTTTTTTUUTTTTTTTTUUTTUUUUTTTTTTTTTTTTTTUUUUTTTTTTTTTTTTTTTTTTTTTTTTTTUUTTTTTTTTTTTTUUTTTTTTUUTTTTTTTTTTTTTTTTTTTTUUTTTTTTTTTTUUTTTTTTUUTTTTTTUUTTTTTTTTTTTTTTUUUUTTTTTTTTTTUUTTTTUUTTTTTTUUTTTTTTTTTTTTTTTTTTTTTTUUTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTUUTTTTTTTTTTTTTTTTTTTTTTUUTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTUUTTTTUUTTTTUUTTTTTTTTTTTTTTTTUUTTUUTTTTTTTTTTTTTTTTTTTTTTTTTTUUTTTTTTTTTTTTTTTTUUTTTTTTTTTTUUTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTUUTTTTTTTTTTTTTTTTTTUUTTUUTTUUTTTTTTTTTTTTTTTTTTTTTTUUTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTUUTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTUUTTTTUUTTTTTTTTTTUUTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTUUTTTTTTUUTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTUUTTTTTTTTTTTTUUTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTUUTTTTUUTTUUTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTUUTTTTTTTTTTTTTTTTTTTTUUTTTTUUTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTUUTTTTTTTTTTTTTTUUTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTUUTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTUUTTTTTTUUTTTTTTTTTTTTTTTTTTUUTTTTTTTTTTTTTTTTTTTTUUTTTTTTTTTTTTTTUUTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTUUTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTUUTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTUUTTTTTTTTTTTTTTTTTTTTTTTTTTUUTTTTTTTTTTTTTTTTUUTTTTTTTTUUTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTUUTTTTTTTTTTTTTTTTTTUUTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTUUTTTTTTTTTTTTTTTTUUTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTUUTTTTTTTTTTUUTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTUUTTTTTTTTTTTTTTUUTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTUUTTTTUUTTTTTTTTTTUUTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTUUTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTUUUTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTUUTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTUUTTTTTTTTUUTTTTTTTTTTTTTTUUUUTTTTTTUUUUTTTTTTTTUUTTTTTTTTTTTTTTUUTTTTUUTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTUUTTTTTTTTTTTTTTTTTTTTTTTTTTUUTTTTUUTTTTTTTTTTTTTTTTTTUUTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTUUTTTTUUTTTTUUTTTTTTTTTTTTTTTTUUTTTTTTTTUUTTUUUUTTTTTTTTTTTTTTUUUUTTTTTTTTTTTTTTTTTTTTTTTTTTUUTTTTTTTTTTTTUUTTTTTTUUTTTTTTTTTTTTTTTTTTTTUUTTTTTTTTTTUUTTTTTTUUTTTTTTUUTTTTTTTTTTTTTTUUUUTTTTTTTTTTUUTTTTUUTTTTTTUUTTTTTTTTTTTTTTTTTTTTTTUUTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTUUTTTTTTTTTTTTTTTTTTTTTTUUTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTUUTTTTUUTTTTUUTTTTTTTTTTTTTTTTUUTTUUTTTTTTTTTTTTTTTTTTTTTTTTTTUUTTTTTTTTTTTTTTTTUUTTTTTTTTTTUUTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTUUTTTTTTTTTTTTTTTTTTUUTTUUTTUUTTTTTTTTTTTTTTTTTTTTTTUUTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTUUTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTUUTTTTUUTTTTTTTTTTUUTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTUUTTTTTTUUTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTUUTTTTTTTTTTTTUUTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTUUTTTTUUTTUUTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTUUTTTTTTTTTTTTTTTTTTTTUUTTTTUUTTTTTTTTTTTTTTTTTTUUTTTTTTTTTTUUTTTTTTTTTTTTTTUUTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTUUTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTUUTTTTTTUUTTTTTTTTTTTTTTTTTTUUTTTTTTTTTTTTTTTTTTTTUUTTTTTTTTTTTTTTUUTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTUUTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTUUTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTUUTTTTTTTTTTTTTTTTTTTTTTTTTTUUTTTTTTTTTTTTTTTTUUTTTTTTTTUUTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTUUTTTTTTTTTTTTTTTTTTUUTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTUUTTTTTTTTTTTTTTTTUUTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTUUTTTTTTTTTTUUTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTUUTTTTTTTTTTTTTTUUTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTUUTTTTUUTTTTTTTTTTUUTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTUUTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTUUUUTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTUUTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTUUTTTTTTTTTTUUUUTTUUUUTTTTTTTTTTTTTTTTUUUUUUUUUUTTTTUUUUTTTTTTTTUUTTUUTTTTTTTTTTTTTTTTTTUUTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTUUTTUUTTUUUUTTUUTTTTUUTTUUTTTTTTTTTTTTUUTTUUUUUUTTTTTTTTTTUUTTTTUUTTUUTTTTTTUUUUTTTTTTUUUUUUTTTTTTTTTTTTUUTTTTTTTTTTTTTTTTTTTTUUTTUUTTUUTTTTTTUUTTTTUUTTTTTTTTUUTTUUTTTTTTUUUUUUUUTTTTUUTTTTTTUUTTTTTTTTTTTTTTTTTTTTTTUUTTTTTTUUTTUUTTTTTTUUTTUUUUTTTTUUTTTTTTTTTTTTTTTTTTUUUUTTTTUUTTUUTTUUTTTTTTUUUUTTTTTTTTUUUUUUTTUUTTTTTTTTTTTTUUTTTTTTTTUUTTTTTTTTUUTTTTTTUUTTUUTTTTUUUUTTTTUUTTTTTTUUTTUUUUUUTTTTTTUUTTTTTTTTUUUUUUTTTTTTTTTTTTTTUUTTTTUUTTTTTTUUTTTTUUTTUUTTTTTTUUUUTTUUTTUUTTTTUUTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTUUTTTTTTTTTTTTUUTTTTTTTTTTTTTTUUTTTTTTTTTTTTTTTTUUUUUUTTTTTTTTUUTTUUTTTTTTUUTTTTTTTTTTTTTTTTUUTTTTTTTTUUTTTTTTTTTTTTTTTTTTTTUUTTTTTTUUTTTTTTTTTTTTTTTTTTUUTTTTTTTTUUTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTUUUUTTTTTTTTTTUUTTTTUUTTTTTTTTTTTTUUTTTTUUTTTTTTTTTTTTTTTTTTUUUUTTTTTTTTUUUUTTUUTTTTTTTTTTTTTTTTTTTTTTTTTTUUUUUUTTTTTTTTUUTTTTTTTTTTTTTTUUUUTTTTTTTTUUUUTTTTTTTTTTUUTTTTTTUUTTTTTTUUTTUUTTTTTTUUTTUUTTTTTTUUTTTTTTUUTTTTUUTTTTTTTTTTTTUUTTTTUUTTUUTTTTTTTTTTTTTTUUTTTTTTTTUUTTTTTTUUUUTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTUUTTUUTTTTUUTTTTTTTTTTUUTTTTTTTTTTTTTTTTUUTTUUTTTTTTTTTTUUTTTTTTTTTTTTTTTTTTTTTTTTTTTTUUTTTTTTTTUUUUTTTTTTUUTTTTUUTTUUTTTTTTTTTTTTTTTTTTTTTTTTUUTTTTUUTTTTTTUUTTTTUUTTTTTTUUUUTTTTTTTTTTTTTTUUTTTTUUTTTTTTTTUUTTTTTTTTTTTTTTTTTTTTTTUUTTUUTTTTTTTTTTTTTTUUUUUUTTTTTTTTUUTTTTUUTTTTUUTTTTTTUUTTTTTTTTTTTTUUTTTTUUTTUUTTUUTTTTTTTTUUUUTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTUUTTTTTTUUTTUUTTTTTTTTTTTTTTTTUUTTTTUUTTTTTTTTTTTTTTTTTTUUTTTTTTUUTTTTTTTTTTTTTTUUTTTTTTUUTTTTTTTTTTUUTTTTTTTTTTTTTTTTUUTTTTTTTTTTTTTTTTUUUUTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTUUTTTTTTUUTTTTTTTTTTTTTTTTTTTTTTTTTTTTUUTTTTTTTTUUTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTUUTTTTTTTTTTTTTTTTTTUUTTTTUUTTTTTTTTUUTTUUTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTUUUUTTTTTTTTTTUUTTTTTTTTTTTTTTUUTTTTTTUUUUTTTTTTTTTTTTUUTTUUTTTTTTTTTTTTTTTTTTTTTTTTTTTTUUTTTTTTTTTTTTTTTTTTTTTTUUUUUUTTTTUUTTTTTTTTTTTTTTTTTTTTTTTTTTUUTTTTTTTTTTTTUUTTTTTTTTTTTTUUTTTTTTUUTTTTTTUUTTTTTTTTTTTTTTTTTTTTTTTTTTUUTTTTTTTTTTTTTTTTTTUUTTTTUUTTTTTTTTUUTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTUUTTTTTTTTTTTTTTTTTTTTTTTTTTUUTTTTTTTTUUTTUUTTTTTTTTTTTTTTTTTTUUTTTTTTTTTTTTTTTTTTTTTTTTUUTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTUUTTTTTTTTTTTTTTTTTTUUTTTTUUTTTTTTTTUUTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTUUTTTTTTTTTTTTTTTTTTTTTTTTTTUUTTTTTTTTUUTTUUTTTTTTTTTTTTTTTTTTUUTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTUUTTTTTTTTTTUUTTUUTTTTTTTTTTUUTTTTUUTTTTTTUUTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTUUUUTTTTTTTTTTTTUUTTTTTTTTUUTTTTTTTTTTTTTTTTTTTTTTTTTTUUTTTTTTUUTTTTTTTTTTUUTTTTTTTTTTTTTTTTTTTTUUTTTTTTTTTTUUTTTTTTUUTTTTTTTTTTTTTTTTTTTTTTTTTTUUTTTTTTTTTTTTTTTTTTUUTTTTTTTTUUTTTTTTTTTTTTTTTTUUTTTTTTTTTTTTTTTTTTUUTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTUUTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTUUTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTUUTTTTUUTTTTUUTTUUTTTTTTTTTTTTTTTTUUTTTTTTTTTTUUTTTTTTTTTTTTTTTTUUTTTTUUTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTUUTTTTTTTTTTTTTTUUTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTUUUUTTTTTTTTTTTTTTTTUUTTTTTTTTUUTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTUUTTUUTTTTTTTTTTUUTTTTTTTTTTTTTTTTTTUUTTTTTTTTTTUUTTTTUUTTTTTTTTTTTTTTUUTTTTTTTTTTUUTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTUUTTTTUUTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTUUTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTUUTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTUUTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTUUTTTTTTUUTTTTTTTTTTTTUUTTTTTTTTUUTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTUUTTTTUUTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTUUTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTUUTTTTTTTTTTUUUUTTUUUUTTTTTTTTTTTTTTTTUUUUUUUUUUTTTTUUUUTTTTTTTTUUTTUUTTTTTTTTTTTTTTTTTTUUTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTUUTTUUTTUUUUTTUUTTTTUUTTUUTTTTTTTTTTTTUUTTUUUUUUTTTTTTTTTTUUTTTTUUTTUUTTTTTTUUUUTTTTTTUUUUUUTTTTTTTTTTTTUUTTTTTTTTTTTTTTTTTTTTUUTTUUTTUUTTTTTTUUTTTTUUTTTTTTTTUUTTUUTTTTTTUUUUUUUUTTTTUUTTTTTTUUTTTTTTTTTTTTTTTTTTTTTTUUTTTTTTUUTTUUTTTTTTUUTTUUUUTTTTUUTTTTTTTTTTTTTTTTTTUUUUTTTTUUTTUUTTUUTTTTTTUUUUTTTTTTTTUUUUUUTTUUTTTTTTTTTTTTUUTTTTTTTTUUTTTTTTTTUUTTTTTTUUTTUUTTTTUUUUTTTTUUTTTTTTUUTTUUUUUUTTTTTTUUTTTTTTTTUUUUUUTTTTTTTTTTTTTTUUTTTTUUTTTTTTUUTTTTUUTTUUTTTTTTUUUUTTUUTTUUTTTTUUTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTUUTTTTTTTTTTTTUUTTTTTTTTTTTTTTUUTTTTTTTTTTTTTTTTUUUUUUTTTTTTTTUUTTUUTTTTTTUUTTTTTTTTTTTTTTTTUUTTTTTTTTUUTTTTTTTTTTTTTTTTTTTTUUTTTTTTUUTTTTTTTTTTTTTTTTTTUUTTTTTTTTUUTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTUUUUTTTTTTTTTTUUTTTTUUTTTTTTTTTTTTUUTTTTUUTTTTTTTTTTTTTTTTTTUUUUTTTTTTTTUUUUTTUUTTTTTTTTTTTTTTTTTTTTTTTTTTUUUUUUTTTTTTTTUUTTTTTTTTTTTTTTUUUUTTTTTTTTUUUUTTTTTTTTTTUUTTTTTTUUTTTTTTUUTTUUTTTTTTUUTTUUTTTTTTUUTTTTTTUUTTTTUUTTTTTTTTTTTTUUTTTTUUTTUUTTTTTTTTTTTTTTUUTTTTTTTTUUTTTTTTUUUUTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTUUTTUUTTTTUUTTTTTTTTTTUUTTTTTTTTTTTTTTTTUUTTUUTTTTTTTTTTUUTTTTTTTTTTTTTTTTTTTTTTTTTTTTUUTTTTTTTTUUUUTTTTTTUUTTTTUUTTUUTTTTTTTTTTTTTTTTTTTTTTTTUUTTTTUUTTTTTTUUTTTTUUTTTTTTUUUUTTTTTTTTTTTTTTUUTTTTUUTTTTTTTTUUTTTTTTTTTTTTTTTTTTTTTTUUTTUUTTTTTTTTTTTTTTUUUUUUTTTTTTTTUUTTTTUUTTTTUUTTTTTTUUTTTTTTTTTTTTUUTTTTUUTTUUTTUUTTTTTTTTUUUUTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTUUTTTTTTUUTTUUTTTTTTTTTTTTTTTTUUTTTTUUTTTSSSTSSSSSSSSSRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRSSSSSSSSTTSSSTTTTTTTTTTTTTTTTTTUUTTTTTTTTTTTTTTTTUUUUTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTUUTTTTTTUUTTTTTTTTTTTTTTTTTTTTTTTTTTTTUUTTTTTTTTUUTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTUUTTTTTTTTTTTTTTTTTTUUTTTTUUTTTTTTTTUUTTUUTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTUUUUTTTTTTTTTTUUTTTTTTTTTTTTTTUUTTTTTTUUUUTTTTTTTTTTTTUUTTUUTTTTTTTTTTTTTTTTTTTTTTTTTTTTUUTTTTTTTTTTTTTTTTTTTTTTUUUUUUTTTTUUTTTTTTTTTTTTTTTTTTTTTTTTTTUUTTTTTTTTTTTTUUTTTTTTTTTTTTUUTTTTTTUUTTTTTTUUTTTTTTTTTTTTTTTTTTTTTTTTTTUUTTTTTTTTTTTTTTTTTTUUTTTTUUTTTTTTTTUUTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTUUTTTTTTTTTTTTTTTTTTTTTTTTTTUUTTTTTTTTUUTTUUTTTTTTTTTTTTTTTTTTUUTTTTTTTTTTTTTTTTTTTTTTTTUUTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTUUTTTTTTTTTTTTTTTTTTUUTTTTUUTTTTTTTTUUTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTUUTTTTTTTTTTTTTTTTTTTTTTTTTTUUTTTTTTTTUUTTUUTTTTTTTTTTTTTTTTTTUUTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTUUTTTTTTTTTTUUTTUUTTTTTTTTTTUUTTTTUUTTTTTTUUTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTUUUUTTTTTTTTTTTTUUTTTTTTTTUUTTTTTTTTTTTTTTTTTTTTTTTTTTUUTTTTTTUUTTTTTTTTTTUUTTTTTTTTTTTTTTTTTTTTUUTTTTTTTTTTUUTTTTTTUUTTTTTTTTTTTTTTTTTTTTTTTTTTUUTTTTTTTTTTTTTTTTTTUUTTTTTTTTUUTTTTTTTTTTTTTTTTUUTTTTTTTTTTTTTTTTTTUUTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTUUTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTUUTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTUUTTTTUUTTTTUUTTUUTTTTTTTTTTTTTTTTUUTTTTTTTTTTUUTTTTTTTTTTTTTTTTUUTTTTUUTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTUUTTTTTTTTTTTTTTUUTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTUUUUTTTTTTTTTTTTTTTTUUTTTTTTTTUUTTTTSSSSTSSSRRRRSSRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRSSSSSSSTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTUUTTUUTTTTTTTTTTUUTTTTTTTTTTTTTTTTTTUUTTTTTTTTTTUUTTTTUUTTTTTTTTTTTTTTUUTTTTTTTTTTUUTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTUUTTTTUUTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTUUTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTUUTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTUUTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTUUTTTTTTUUTTTTTTTTTTTTUUTTTTTTTTUUTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTUUTTTTUUTTTTTTTTTTTTTTTTTTTTTTUUTTTTTTTTTTTTTTTTTTTTTTUUTTTTTTTTTTTTTTTTTTTTTTTTTTTTUUUUUUUUTTUUUUUUUUTTUUUUTTUUTTUUUUTTUUUUUUUUUUUUTTUUUUUUUUUUUUTTTTUUUUTTTTTTUUTTTTUUUUUUUUUUUUUUTTUUTTTTUUUUUUUUUUTTTTUUUUTTTTUUUUUUTTTTUUTTTTUUUUUUUUUUTTTTUUTTTTTTUUTTTTTTTTUUTTTTTTUUUUUUUUUUUUUUTTUUUUTTTTUUUUTTTTUUTTUUTTTTUUTTTTUUTTTTUUTTTTUUTTTTUUUUTTUUUUUUTTTTTTUUUUUUTTTTTTUUUUUUTTTTTTUUUUTTTTUUUUTTTTUUUUTTUUUUTTUUUUTTUUTTUUUUTTUUUUUUTTTTUUTTTTTTUUUUUUUUUUTTUUTTUUTTTTTTUUUUUUTTTTUUUUTTTTUUTTTTTTUUTTUUUUTTTTTTUUTTUUUUUUUUUUTTTTTTTTTTTTUUTTUUUUUUTTUUUUUUUUUUUUTTUUTTTTUUUUUUTTTTTTTTUUUUTTUUUUUUTTTTTTUUTTUUTTUUUUTTTTUUUUTTUUUUTTUUUUTTTTUUTTTTTTTTUUUUTTUUUUTTUUTTTTTTTTTTTTTTTTTTTTTTUUTTTTTTUUTTUUTTTTUUTTUUUUUUUUUUTTTTUUTTUUTTUUTTTTUUTTTTUUTTUUUUUUUUUUTTUUTTTTUUUUTTTTTTUUTTTTTTUUTTTTUUUUTTUUUUUUUUUUUUUUUUTTUUUUUUTTTTTTUUTTUUUUUUTTTTTTTTTTUUTTUUTTUUUUTTTTUUUUTTUUUUTTUUUUTTTTUUUUUUUUTTTTTTUUUUTTTTUUTTTTTTTTTTTTUUTTUUTTUUTTUUTTTTUUTTUUUUUUTTUUUUUUTTUUUUTTTTTTTTTTUUTTTTUUUUUUTTUUUUUUUUTTTTTTTTUUUUTTUUTTUUUUUUUUTTUUTTTTUUTTUUTTTTTTUUTTUUUUTTTTTTTTTTUUTTUUUUTTUUUUTTUUTTTTUUTTTTTTUUTTTTTTTTTTUUTTTTUUUUUUTTTTTTUUTTTTUUUUTTUUTTTTUUUUUUUUUUTTUUTTUUUUUUTTUUTTTTTTTTUUUUTTTTTTUUTTTTUUTTTTUUTTTTUUUUUUTTUUUUUUTTTTTTUUTTTTUUTTTTUUTTUUUUUUUUTTTTUUTTTTUUTTUUUUTTUUTTTTTTTTTTTTTTTTTTTTTTUUUUTTUUUUUUUUTTUUTTUUTTUUUUUUUUTTTTTTTTTTTTUUUUUUTTTTTTTTUUUUTTTTTTUUTTUUUUTTTTUUTTTTTTTTUUUUUUUUTTTTTTTTUUUUTTTTUUUUUUTTTTUUTTTTUUTTUUUUTTTTUUUUUUTTUUTTTTUUTTTTUUUUTTTTUUUUTTUUTTUUUUUUTTUUTTTTTTTTTTTTTTTTTTTTTTTTUUTTUUTTUUUUUUTTTTTTTTTTUUUUUUUUUUTTUUUUTTTTTTTTUUTTTTTTUUUUTTUUUUUUTTTTTTTTUUTTTTTTUUTTTTTTTTTTUUTTUUUUUUUUTTTTTTTTTTUUTTUUTTTTUUTTUUUUTTUUUUTTTTUUUUUUTTTTSSSSSRRRQQRRQQQQQQPPPPPQQQQQQQQQPPQQPQQQQQQQQQRRRRRRRSSSSSSSTTTTTTTTTTTTTTTTUUTTUUTTTTTTUUTTTTTTTTUUUUTTTTUUTTTTUUUUTTTTTTUUTTTTUUTTTTUUTTUUTTUUTTTTUUTTTTTTTTTTTTTTTTTTTTUUTTTTTTTTTTTTTTUUTTUUTTUUTTTTUUUUTTTTTTTTUUTTTTUUUUTTTTTTTTUUUUTTTTUUTTTTUUUUTTTTTTTTTTTTTTUUUUTTTTUUTTTTUUTTUUUUTTTTUUTTUUUUUUUUTTUUUUTTTTTTTTTTUUUUUUTTUUUUUUTTTTUUTTUUTTTTTTUUUUUUTTUUUUUUTTTTUUTTTTTTTTTTTTUUTTTTUUUUUUUUTTTTUUUUUUTTUUTTUUUUTTTTTTUUTTTTUUTTUUUUTTTTTTUUTTTTUUTTUUUUTTTTUUTTUUTTTTTTUUTTUUTTUUTTTTUUTTUUTTUUTTUUUUTTTTTTTTTTTTTTTTTTTTTTUUTTUUTTUUUUTTTTTTUUUUTTTTTTTTTTTTTTTTTTUUTTTTTTTTTTUUUUTTTTTTTTUUTTUUTTTTTTTTTTTTUUTTTTUUUUTTTTUUTTTTTTTTTTTTUUTTTTTTTTTTTTUUTTTTTTUUTTTTUUTTUUTTTTTTUUTTUUTTUUTTTTUUTTTTTTUUTTUUTTTTTTTTTTTTTTTTTTTTTTTTUUTTUUTTUUUUTTTTTTUUUUTTTTTTTTTTTTTTTTTTUUTTTTTTTTTTUUUUTTTTTTTTUUTTUUTTTTTTTTTTTTUUTTTTUUUUTTTTUUTTTTTTTTTTTTUUTTTTTTTTTTTTUUTTTTTTTTTTTTUUUUTTTTTTTTUUTTTTTTUUTTUUTTTTTTTTUUTTTTTTUUTTTTUUUUTTTTTTUUTTTTUUTTUUTTTTTTTTTTTTUUTTTTTTUUTTTTTTUUUUTTTTTTTTUUTTTTTTTTTTUUTTUUUUTTUUTTTTTTTTUUTTUUTTTTTTTTTTTTTTUUTTUUTTTTTTTTTTUUTTUUUUTTTTUUUUUUTTTTTTTTTTTTTTTTTTTTTTUUTTTTTTTTTTTTUUTTUUUUTTTTUUTTTTTTTTTTTTTTTTTTUUUUTTUUUUUUTTTTTTUUUUTTTTTTTTUUTTTTTTTTUUTTTTTTTTTTTTUUTTTTTTTTTTTTUUTTTTUUTTTTUUTTTTUUTTUUTTUUTTUUTTTTUUTTTTTTTTTTUUUUTTTTTTTTUUUUUUTTTTTTUUTTUUTTTTUUTTUUTTTTTTTTTTTTTTTTTTUUTTTTTTUUTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTUUUUTTTTUUUUUUTTTTTTTTUUTTUUTTTTTTUUTTUUTTTTTTUUTTTTTTUUTTTTUUTTUUTTTTTTUUTTTTTTTTTTTTTTUUUUTTTTTTTTUUTTUUTTTTTTTTUUTTUUTTUUTTTTTTUUTTUUTTTTTTUUTTUUTTTTTTUUTTTTTTUUUUTTUUTTTTUUUUTTTTUUTTTTTTTTUUUTSSSSSSSRRRRRRQQPPPQQQQQQQQQQPPQQQQPPPQQQQQPPQQQQQQQRRRRRRRSTTTTTTTTTTTTTUUTTTTTTTTTTTTUUTTTTTTUUTTTTTTTTTTTTTTTTUUTTUUTTTTTTTTTTUUTTTTTTTTTTTTTTTTTTTTTTTTTTTTUUTTTTTTTTTTTTTTTTTTTTTTTTUUTTUUUUTTTTTTTTTTTTTTTTTTTTTTUUTTTTUUTTTTTTUUTTTTUUTTTTTTTTTTTTTTTTTTTTTTTTUUTTTTUUUUTTTTTTUUTTTTTTUUTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTUUUUUUTTTTTTTTUUTTTTTTTTTTTTTTTTTTUUTTTTTTTTTTTTUUTTTTUUTTTTTTUUTTTTUUTTTTUUTTTTTTTTTTUUUUTTTTTTUUTTTTTTTTTTTTTTTTTTTTUUTTTTTTTTTTUUUUTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTUUTTTTTTTTTTTTTTTTTTUUTTTTUUUUTTTTTTTTTTTTTTTTTTTTTTTTTTUUTTTTTTTTTTTTUUTTTTUUTTTTUUTTUUTTTTTTTTUUTTTTTTTTTTTTTTTTTTTTTTUUTTTTTTTTTTTTTTTTUUTTTTTTTTTTTTTTTTUUUUTTTTUUTTTTTTTTUUTTUUUUUUTTTTUUTTTTTTTTTTUUTTTTTTUUTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTUUTTUUTTUUTTTTTTTTUUUUUUUUTTUUUUUUUUTTUUUUTTUUTTUUUUTTUUUUUUUUUUUUTTUUUUUUUUUUUUTTTTUUUUTTTTTTUUTTTTUUUUUUUUUUUUUUTTUUTTTTUUUUUUUUUUTTTTUUUUTTTTUUUUUUTTTTUUTTTTUUUUUUUUUUTTTTUUTTTTTTUUTTTTTTTTUUTTUUTTUUUUUUUUUUUUUUTTUUUUTTTTUUUUTTTTUUTTUUTTTTUUTTTTUUTTTTUUTTTTUUTTTTUUUUTTUUUUUUTTTTTTUUUUUUTTTTTTUUUUUUTTTTTTUUUUTTTTUUUUTTTTUUUUTTUUUUTTUUUUTTUUTTUUUUTTUUUUUUTTTTUUTTTTTTUUUUUUUUUUTTUUTTUUTTTTTTUUUUUUTTTTUUUUTTTTUUTTTTTTUUTTUUUUTTTTTTUUTTUUUUUUUUUUTTTTTTTTTTTTUUTTUUUUUUTTUUUUUUUUUUUUTTUUTTTTUUUUUUTTTTTTTTUUUUTTUUUUUUTTTTTTUUTTUUTTUUUUTTTTUUUUTTUUUUTTUUUUTTTTUUTTTTTTTTUUUUTTUUUUTTUUTTTTTTTTTTTTTTTTTTTTTTUUTTTTTTUUTTUUTTTTUUTTUUUUUUUUUUTTTTUUTTUUTTUUTTTTUUTTTTUUTTUUUUUUUUUUTTUUTTTTUUUUTTTTTTUUTTTTTTUUTTTTUUUUTTUUUUUUUUUUUUUUUUTTUUUUUUTTTTTTUUTTUUUUUUTTTTTTTTTTUUTTUUTTUUUUTTTTUUUUTTUUUUTTUUUUTTTTUUUUUUUUTTTTTTUUUUTTTTUUTTTTTTTTTTTTUUTTUUTTUUTTUUTTTTUUTTUUUUUUTTUUUUUUTTUUUUTTTTTTTTTTUUTTTTUUUUUUTTUUUUUUUUTTTTTTTTUUUUTTUUTTUUUUUUUUTTUUTTTTUUTTUUTTTTTTUUTTUUUUTTTTTTTTTTUUTTUUUUTTUUUUTTUUTTTTUUTTTTTTUUTTTTTTTTTTUUTTTTUUUUUUTTTTTTUUTTTTUUUUTTUUTTTTUUUUUUUUUUTTUUTTUUUUUUTTUUTTTTTTTTUUUUTTTTTTUUTTTTUUTTTTUUTTTTUUUUUUTTUUUUUUTTTTTTUUTTTTUUTTTTUUTTUUUUUUUUTTTTUUTTTTUUTTUUUUTTUUTTTTTTTTTTTTTTTTTTTTTTUUUUTTUUUUUUUUTTUUTTUUTTUUUUUUUUTTTTTTTTTTTTUUUUUUTTTTTTTTUUUUTTTTTTUUTTUUUUTTTTUUTTTTTTTTUUUUUUUUTTTTTTTTUUUUTTTTUUUUUUTTTTUUTTTTUUTTUUUUTTTTUUUUUUTTUUTTTTUUTTTTUUUUTTTTUUUUTTUUTTUUUUUUTTUUTTTTTTTTTTTTTTTTTTTTTTTTUUTTUUTTUUUUUUTTTTTTTTTTUUUUUUUUUUTTUUUUTTTTTTTTUUTTTTTTUUUUTTUUUUUUTTTTTTTTUUTTTTTTUUTTTTTTTTTTUUTTUUUUUUUUTTTTTTTTTTUUTTUUTTTTUUTTUUUUTTUUUTTTSSSSSSRSTWZ\^`deehmooooqtwxyyyyyyyyyyyyyyyyyyyyyyyyyyyyywuqoooonjgfeda]\\YTRRSSSSSSSSTTTUUTTUUTTTTTTUUTTTTTTTTUUUUTTTTUUTTTTUUUUTTTTTTUUTTTTUUTTTTUUTTUUTTUUTTTTUUTTTTTTTTTTTTTTTTTTTTUUTTTTTTTTTTTTTTUUTTUUTTUUTTTTUUUUTTTTTTTTUUTTTTUUUUTTTTTTTTUUUUTTTTUUTTTTUUUUTTTTTTTTTTTTTTUUUUTTTTUUTTTTUUTTUUUUTTTTUUTTUUUUUUUUTTUUUUTTTTTTTTTTUUUUUUTTUUUUUUTTTTUUTTUUTTTTTTUUUUUUTTUUUUUUTTTTUUTTTTTTTTTTTTUUTTTTUUUUUUUUTTTTUUUUUUTTUUTTUUUUTTTTTTUUTTTTUUTTUUUUTTTTTTUUTTTTUUTTUUUUTTTTUUTTUUTTTTTTUUTTUUTTUUTTTTUUTTUUTTUUTTUUUUTTTTTTTTTTTTTTTTTTTTTTUUTTUUTTUUUUTTTTTTUUUUTTTTTTTTTTTTTTTTTTUUTTTTTTTTTTUUUUTTTTTTTTUUTTUUTTTTTTTTTTTTUUTTTTUUUUTTTTUUTTTTTTTTTTTTUUTTTTTTTTTTTTUUTTTTTTUUTTTTUUTTUUTTTTTTUUTTUUTTUUTTTTUUTTTTTTUUTTUUTTTTTTTTTTTTTTTTTTTTTTTTUUTTUUTTUUUUTTTTTTUUUUTTTTTTTTTTTTTTTTTTUUTTTTTTTTTTUUUUTTTTTTTTUUTTUUTTTTTTTTTTTTUUTTTTUUUUTTTTUUTTTTTTTTTTTTUUTTTTTTTTTTTTUUTTTTTTTTTTTTUUUUTTTTTTTTUUTTTTTTUUTTUUTTTTTTTTUUTTTTTTUUTTTTUUUUTTTTTTUUTTTTUUTTUUTTTTTTTTTTTTUUTTTTTTUUTTTTTTUUUUTTTTTTTTUUTTTTTTTTTTUUTTUUUUTTUUTTTTTTTTUUTTUUTTTTTTTTTTTTTTUUTTUUTTTTTTTTTTUUTTUUUUTTTTUUUUUUTTTTTTTTTTTTTTTTTTTTTTUUTTTTTTTTTTTTUUTTUUUUTTTTUUTTTTTTTTTTTTTTTTTTUUUUTTUUUUUUTTTTTTUUUUTTTTTTTTUUTTTTTTTTUUTTTTTTTTTTTTUUTTTTTTTTTTTTUUTTTTUUTTTTUUTTTTUUTTUUTTUUTTUUTTTTUUTTTTTTTTTTUUUUTTTTTTTTUUUUUUTTTTTTUUTTUUTTTTUUTTUUTTTTTTTTTTTTTTTTTTUUTTTTTTUUTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTUUUUTTTTUUUUUUTTTTTTTTUUTTUUTTTTTTUUTTUUTTTTTTUUTTTTTTUUTTTTUUTTUUTTTTTTUUTTTTTTTTTTTTTTUUUUTTTTTTTTUUTTUUTTTTTTTTUUTTUUTTUUTTTTTTUUTTUUTTTTTTUUTTUUTTTTTTUUTTTTTTUUUUTTUUTTTTUUUUTTTTTTTSSSSSSSRSTVZ\]`dfegkmoooquwxyyyyyyyyyyyyyyyyxxyyyyyyyyyywtqooomjgfeca][ZWTRRSSSSTTTTUTTTTTTTTTTTTUUTTTTTTUUTTTTTTTTTTTTTTTTUUTTUUTTTTTTTTTTUUTTTTTTTTTTTTTTTTTTTTTTTTTTTTUUTTTTTTTTTTTTTTTTTTTTTTTTUUTTUUUUTTTTTTTTTTTTTTTTTTTTTTUUTTTTUUTTTTTTUUTTTTUUTTTTTTTTTTTTTTTTTTTTTTTTUUTTTTUUUUTTTTTTUUTTTTTTUUTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTUUUUUUTTTTTTTTUUTTTTTTTTTTTTTTTTTTUUTTTTTTTTTTTTUUTTTTUUTTTTTTUUTTTTUUTTTTUUTTTTTTTTTTUUUUTTTTTTUUTTTTTTTTTTTTTTTTTTTTUUTTTTTTTTTTUUUUTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTUUTTTTTTTTTTTTTTTTTTUUTTTTUUUUTTTTTTTTTTTTTTTTTTTTTTTTTTUUTTTTTTTTTTTTUUTTTTUUTTTTUUTTUUTTTTTTTTUUTTTTTTTTTTTTTTTTTTTTTTUUTTTTTTTTTTTTTTTTUUTTTTTTTTTTTTTTTTUUUUTTTTUUTTTTTTTTUUTTUUUUUUTTTTUUTTTTTTTTTTUUTTTTTTUUTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTUUTTUUTTUUTTTTTTUUUUUUUUUUUUUUUUUUTTUUUUUUUUTTUUUUTTUUUUUUTTUUUUUUUUUUUUUUUUUUTTUUUUUUUUUUUUTTUUTTTTUUTTUUUUUUUUUUTTUUUUUUTTUUUUUUUUUUUUUUTTUUUUUUUUUUUUUUUUTTUUUUUUUUTTUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUTTUUUUUUUUUUUUUUUUUUUUTTUUUUUUTTUUTTUUUUUUUUTTUUTTUUUUTTUUTTUUUUUUTTUUTTTTUUUUUUTTUUUUUUUUTTUUUUUUUUTTUUUUUUTTUUUUUUUUTTUUUUUUUUUUTTUUUUUUUUUUUUUUUUUUTTTTUUUUUUTTTTUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUTTUUTTUUUUUUUUUUUUUUTTTTTTUUUUUUTTUUTTUUUUTTTTTTUUTTUUUUUUUUUUUUUUUUTTTTUUUUUUUUUUUUUUUUTTUUUUUUUUTTUUUUTTUUTTTTUUUUUUTTTTUUUUUUTTUUUUUUTTUUTTUUUUUUUUUUTTTTTTUUUUTTUUUUTTUUTTUUTTTTTTUUUUUUTTUUUUUUTTUUUUUUTTTTUUUUTTTTUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUTTUUTTUUTTUUUUUUUUUUUUUUUUTTUUUUUUTTUUUUTTUUUUTTUUUUUUUUTTUUUUUUUUUUTTUUUUUUTTTTUUUUUUUUUUUUUUTTUUUUUUUUTTUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUTTUUUUTTTTUUUUUUUUTTUUUUUUUUUUUUUUUUUUTTTTUUUUTTUUUUTTTTUUUUTTUUUUUUUUUUUUUUUUUUTTUUTTUUUUUUUUTTUUTTUUUUUUUUTTUUUUTTTTUUTTUUUUUUUUUUTTTTUUUUTTUUUUUUTTUUUUUUTTTTUUUUTTTTUUUUUUUUTTUUUUUUUUUUUUUUTTUUUUUUUUUUUUUUUUUUUUUUUUTTTTUUUUTTUUUUUUUUTTUUTTUUUUUUUUUUUUUUTTTTUUUUTTTTUUUUUUUUUUUUUUUUUUUUUUUUUUTTUUTTUUTTUUTTUUUUUUTTUUUUTTTTUUTTUUUUUUTTTTTTUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUTTUUUUUUUUTTUUUUUUUUUUUUUUUUTTUUUUUUUUUUTTUUUUUUUUTTUUTTUUUUUUTTUUUUTTUUUUUUUUTTUUUUUUUUTTTTTTUUUUUUUUUUUUUUTTUUUUUUUUUUUUUUUUUUTTTTUUUUUUUUTTUUUUUUUUUUUUUUUUUUUUUUTTUUTTUUUUUUUUUUTTTTTTUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUTTUUTTTTUUUUUUTTUUUUUUUUUUUUUUUUUUTTTTTTUUUUUUUUUUTTUUUUUUUUTTTTUUUUTTUUUUUUUUUUUUTTUUTTUUUUTTTTUUUUUUUUTTUUTTUUUUTTUUUUUUTTTTUUTTUUTTUUTTUUTTUUUUTTTTTTUUTTTTTTUUTTTTUUUUTTTTUUUUUUUTTTSRRRRQQRV^ipt|ºtnogXPPQQRRRRSSTTUUUTTTTUUUUTTUUUUTTUUTTUUUUTTUUUUTTTTUUUUUUTTTTTTUUUUTTTTTTUUUUTTUUTTTTUUTTTTTTUUUUUUUUTTTTUUUUTTUUTTTTUUTTUUTTUUUUTTUUUUUUUUTTTTUUUUTTUUTTUUUUTTUUTTUUUUUUTTUUUUUUUUUUUUTTUUUUUUUUUUUUTTUUTTTTUUTTUUUUUUUUUUUUTTUUUUUUUUUUUUTTTTTTUUUUTTUUTTUUUUUUUUTTUUUUUUTTUUUUTTUUUUUUTTTTTTTTUUTTTTUUTTUUUUTTUUUUTTTTUUUUTTTTUUUUTTTTUUTTUUUUTTUUUUUUTTUUUUUUTTUUTTTTUUTTUUTTTTTTUUTTUUTTTTTTUUUUTTTTTTUUTTUUTTTTTTUUUUTTTTUUTTUUUUUUTTTTTTUUTTTTUUTTTTUUUUUUTTTTUUTTTTUUTTTTTTTTUUUUTTUUUUTTTTUUTTTTUUTTUUTTUUTTTTUUUUTTUUUUUUTTTTUUTTTTUUUUUUUUUUUUTTTTUUUUUUUUTTUUUUTTUUUUUUUUUUUUUUTTUUUUUUTTUUUUUUTTUUTTTTTTUUTTUUTTTTTTUUUUTTTTUUTTUUUUUUTTTTTTUUTTTTUUTTTTUUUUUUTTTTUUTTTTUUTTTTTTTTUUUUTTUUUUTTTTUUTTTTUUTTUUTTUUTTTTUUUUTTUUUUUUTTTTUUTTTTUUUUUUUUUUUUTTTTUUUUUUUUTTUUUUTTUUUUUUUUUUUUUUTTUUUUUUTTUUUUUUTTUUUUTTUUUUUUUUUUUUTTUUUUTTTTUUTTUUTTUUTTTTUUUUTTTTUUUUUUUUUUUUUUTTTTTTTTTTTTTTUUTTUUUUTTUUTTUUUUUUTTUUTTTTUUUUUUUUTTUUUUUUUUUUUUTTTTUUUUTTUUTTTTUUTTTTUUUUTTTTTTUUUUTTUUTTTTTTUUTTTTTTTTUUTTTTTTUUUUUUUUTTUUTTUUTTTTTTTTUUUUUUTTUUUUUUUUTTTTUUUUUUTTTTUUUUTTUUTTUUTTUUUUTTTTTTUUUUUUUUUUUUTTTTUUTTTTTTUUUUUUUUTTTTUUTTTTTTUUTTUUTTUUTTUUTTTTUUTTUUTTTTTTUUTTTTTTTTUUTTTTTTTTTTTTUUTTUUUUUUTTTTUUUUTTUUUUUUTTUUTTTTUUTTUUUUUUUUUUUUTTTTUUUUUUTTUUUUTTTTTTTTTTUUUUUUUUTTTTUUTTUUTTUUUUTTUUTTTTUUTTTTTTUUUUTTTTTTUUUUTTUUTTUUUUUUTTTTUUTTTTUUUUTTTTUUTTUUUUTTUUTTUUUUTTTTTTTTTTTTTTTTUUUUUUUUTTUUUUTTUUTTTTTTUUTTUUTTTTTTUUTTTTTTUUUUTTTTTTUUTTTTUUUUUUUUUUTTUUUUUUUUTTUUUUTTUUUUTTTTTTTTUUTTTTTTTSSRRRRQQRV]ipt{·tliaVPQQQRSSSTTTTTTTTTTTTTTTTTTTUUTTUUTTUUTTUUTTTTUUUUUUUUTTUUTTUUTTUUUUUUUUTTTTTTTTUUTTUUUUUUTTTTTTTTUUUUTTTTTTUUTTUUUUTTTTUUTTTTTTTTTTUUUUTTTTTTTTTTTTUUTTTTUUTTUUTTTTTTTTTTUUTTUUUUTTTTUUTTUUTTUUTTTTTTTTUUUUUUTTTTUUUUTTUUUUTTUUUUTTUUTTTTTTTTTTTTTTTTTTTTTTTTUUTTTTTTUUUUTTTTTTTTTTUUUUTTUUUUUUTTUUUUTTUUTTUUTTTTTTTTUUUUTTUUUUUUTTUUTTUUUUUUTTUUTTTTUUTTUUUUTTUUTTTTUUTTTTTTTTTTTTUUTTUUTTTTTTUUTTTTUUTTUUTTUUTTTTUUUUTTTTUUTTTTUUTTTTUUUUUUTTUUTTUUUUUUTTTTTTUUUUTTUUTTUUTTUUTTTTUUTTUUUUTTTTUUTTUUTTUUTTUUTTTTUUTTTTTTUUUUTTUUTTTTTTTTUUUUTTTTUUTTTTTTUUUUTTTTUUUUTTUUTTTTUUTTUUTTUUTTTTTTUUTTUUUUTTTTTTTTUUTTTTTTUUTTTTTTUUUUTTTTTTUUTTUUTTTTTTUUTTUUUUTTUUTTUUUUUUUUTTTTTTTTTTUUTTTTTTUUUUTTUUTTTTTTTTTTTTUUUUUUUUUUUUUUUUUUTTUUUUUUUUTTUUUUTTUUUUUUTTUUUUUUUUUUUUUUUUUUTTUUUUUUUUUUUUTTUUTTTTUUTTUUUUUUUUUUTTUUUUUUTTUUUUUUUUUUUUUUTTUUUUUUUUUUUUUUUUTTUUUUUUUUTTUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUTTUUUUUUUUUUUUUUUUUUUUTTUUUUUUTTUUTTUUUUUUUUTTUUTTUUUUTTUUTTUUUUUUTTUUTTTTUUUUUUTTUUUUUUUUTTUUUUUUUUTTUUUUUUTTUUUUUUUUTTUUUUUUUUUUTTUUUUUUUUUUUUUUUUUUTTTTUUUUUUTTTTUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUTTUUTTUUUUUUUUUUUUUUTTTTTTUUUUUUTTUUTTUUUUTTTTTTUUTTUUUUUUUUUUUUUUUUTTTTUUUUUUUUUUUUUUUUTTUUUUUUUUTTUUUUTTUUTTTTUUUUUUTTTTUUUUUUTTUUUUUUTTUUTTUUUUUUUUUUTTTTTTUUUUTTUUUUTTUUTTUUTTTTTTUUUUUUTTUUUUUUTTUUUUUUTTTTUUUUTTTTUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUTTUUTTUUTTUUUUUUUUUUUUUUUUTTUUUUUUTTUUUUTTUUUUTTUUUUUUUUTTUUUUUUUUUUTTUUUUUUTTTTUUUUUUUUUUUUUUTTUUUUUUUUTTUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUTTUUUUTTTTUUUUUUUUTTUUUUUUUUUUUUUUUUUUTTTTUUUUTTUUUUTTTTUUUUTTUUUUUUUUUUUUUUUUUUTTUUTTUUUUUUUUTTUUTTUUUUUUUUTTUUUUTTTTUUTTUUUUUUUUUUTTTTUUUUTTUUUUUUTTUUUUUUTTTTUUUUTTTTUUUUUUUUTTUUUUUUUUUUUUUUTTUUUUUUUUUUUUUUUUUUUUUUUUTTTTUUUUTTUUUUUUUUTTUUTTUUUUUUUUUUUUUUTTTTUUUUTTTTUUUUUUUUUUUUUUUUUUUUUUUUUUTTUUTTUUTTUUTTUUUUUUTTUUUUTTTTUUTTUUUUUUTTTTTTUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUTTUUUUUUUUTTUUUUUUUUUUUUUUUUTTUUUUUUUUUUTTUUUUUUUUTTUUTTUUUUUUTTUUUUTTUUUUUUUUTTUUUUUUUUTTTTTTUUUUUUUUUUUUUUTTUUUUUUUUUUUUUUUUUUTTTTUUUUUUUUTTUUUUUUUUUUUUUUUUUUUUUUTTUUTTUUUUUUUUUUTTTTTTUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUTTUUTTTTUUUUUUTTUUUUUUUUUUUUUUUUUUTTTTTTUUUUUUUUUUTTUUUUUUUUUUTTUUUUTTUUUUUUUUUUUUTTUUTTUUUUTTTUUUUUUUUUTTUUTTUUUUTTUUUUUUTTTTUUTTUUTTUUTTUUTTUUUUTTTTTTUUTTTTTTUUUUTTUUUUTTTTTSSSRTVX[^chkmnrvz~xwuqnljgc_ZVTSSSSSTTTUUTTUUUUTTUUTTUUUUTTUUUUTTTTUUUUUUTTTTTTUUUUTTTTTTUUUUTTUUTTTTUUTTTTTTUUUUUUUUTTTTUUUUTTUUTTTTUUTTUUTTUUUUTTUUUUUUUUTTTTUUUUTTUUTTUUUUTTUUTTUUUUUUTTUUUUUUUUUUUUTTUUUUUUUUUUUUTTUUTTTTUUTTUUUUUUUUUUUUTTUUUUUUUUUUUUTTTTTTUUUUTTUUTTUUUUUUUUTTUUUUUUTTUUUUTTUUUUUUTTTTTTTTUUTTTTUUTTUUUUTTUUUUTTTTUUUUTTTTUUUUTTTTUUTTUUUUTTUUUUUUTTUUUUUUTTUUTTTTUUTTUUTTTTTTUUTTUUTTTTTTUUUUTTTTTTUUTTUUTTTTTTUUUUTTTTUUTTUUUUUUTTTTTTUUTTTTUUTTTTUUUUUUTTTTUUTTTTUUTTTTTTTTUUUUTTUUUUTTTTUUTTTTUUTTUUTTUUTTTTUUUUTTUUUUUUTTTTUUTTTTUUUUUUUUUUUUTTTTUUUUUUUUTTUUUUTTUUUUUUUUUUUUUUTTUUUUUUTTUUUUUUTTUUTTTTTTUUTTUUTTTTTTUUUUTTTTUUTTUUUUUUTTTTTTUUTTTTUUTTTTUUUUUUTTTTUUTTTTUUTTTTTTTTUUUUTTUUUUTTTTUUTTTTUUTTUUTTUUTTTTUUUUTTUUUUUUTTTTUUTTTTUUUUUUUUUUUUTTTTUUUUUUUUTTUUUUTTUUUUUUUUUUUUUUTTUUUUUUTTUUUUUUTTUUUUTTUUUUUUUUUUUUTTUUUUTTTTUUTTUUTTUUTTTTUUUUTTTTUUUUUUUUUUUUUUTTTTTTTTTTTTTTUUTTUUUUTTUUTTUUUUUUTTUUTTTTUUUUUUUUTTUUUUUUUUUUUUTTTTUUUUTTUUTTTTUUTTTTUUUUTTTTTTUUUUTTUUTTTTTTUUTTTTTTTTUUTTTTTTUUUUUUUUTTUUTTUUTTTTTTTTUUUUUUTTUUUUUUUUTTTTUUUUUUTTTTUUUUTTUUTTUUTTUUUUTTTTTTUUUUUUUUUUUUTTTTUUTTTTTTUUUUUUUUTTTTUUTTTTTTUUTTUUTTUUTTUUTTTTUUTTUUTTTTTTUUTTTTTTTTUUTTTTTTTTTTTTUUTTUUUUUUTTTTUUUUTTUUUUUUTTUUTTTTUUTTUUUUUUUUUUUUTTTTUUUUUUTTUUUUTTTTTTTTTTUUUUUUUUTTTTUUTTUUTTUUUUTTUUTTTTUUTTTTTTUUUUTTTTTTUUUUTTUUTTUUUUUUTTTTUUTTTTUUUUTTTTUUTTUUUUTTUUTTUUUUTTTTTTTTTTTTTTTTUUUUUUUUTTUUUUTTUUTTTTTTUUTTUUTTTTTTUUTTTTTTUUUUTTTTTTUUTTTTUUUUUUUUUUTTUUUUUUUUTTUUUUTTUUUUTTTTTTTTTSSSRTVX[^cgikmqvz~~vsqpmhd`\YVSRSSSSTTTTTTTTTTUUTTUUTTUUTTUUTTTTUUUUUUUUTTUUTTUUTTUUUUUUUUTTTTTTTTUUTTUUUUUUTTTTTTTTUUUUTTTTTTUUTTUUUUTTTTUUTTTTTTTTTTUUUUTTTTTTTTTTTTUUTTTTUUTTUUTTTTTTTTTTUUTTUUUUTTTTUUTTUUTTUUTTTTTTTTUUUUUUTTTTUUUUTTUUUUTTUUUUTTUUTTTTTTTTTTTTTTTTTTTTTTTTUUTTTTTTUUUUTTTTTTTTTTUUUUTTUUUUUUTTUUUUTTUUTTUUTTTTTTTTUUUUTTUUUUUUTTUUTTUUUUUUTTUUTTTTUUTTUUUUTTUUTTTTUUTTTTTTTTTTTTUUTTUUTTTTTTUUTTTTUUTTUUTTUUTTTTUUUUTTTTUUTTTTUUTTTTUUUUUUTTUUTTUUUUUUTTTTTTUUUUTTUUTTUUTTUUTTTTUUTTUUUUTTTTUUTTUUTTUUTTUUTTTTUUTTTTTTUUUUTTUUTTTTTTTTUUUUTTTTUUTTTTTTUUUUTTTTUUUUTTUUTTTTUUTTUUTTUUTTTTTTUUTTUUUUTTTTTTTTUUTTTTTTUUTTTTTTUUUUTTTTTTUUTTUUTTTTTTUUTTUUUUTTUUTTUUUUUUUUTTTTTTTTTTUUTTTTTTUUUUTTUUTTTTTTTTTTTTUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUTTUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUTTUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUTTUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUTTUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUTTUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUTTUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUTTUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUTTUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUTTUUTTUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUTTUUUUUUUUUUUUUUUUUUUUTTUUUUTTUUUUUUUUUUUUUUTTUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUTTUUUUUUUUUUUUUUUUUUUUUUUUUUUUTTUUUUUUUUUUUUUUUUTTUUUUUUUUUUUUUUUUUUTTUUUUTTUUUUUUUUUUUUUUTTUUUUUUUUUUUUUUUUTTUUUUTTUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUTTUUUUTTUUUUUUUUUUUUTTUUUUUUUUUUUUUUUUUUUUUTTTSSRQQT\cjv»vi^VSQRRSSTTTTTTUUUUUUUUUUUUUUTTUUUUUUUUUUUUUUUUUUTTUUUUUUUUUUUUTTUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUTTUUUUUUUUUUUUUUUUUUUUUUUUUUTTUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUTTUUUUUUUUUUUUTTUUUUUUUUUUUUUUUUUUTTUUUUTTTTUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUTTUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUTTUUUUTTUUUUUUUUUUUUTTUUUUUUUUUUUUUUUUUUUUUUUUTTTTUUUUTTUUUUUUUUUUUUUUUUUUUUTTUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUTTTTUUUUUUUUUUUUUUUUUUUUUUUUTTTTUUUUTTUUUUUUUUUUUUTTTTUUTTUUUUUUUUTTUUUUUUUUUUUUUUTTUUTTUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUTTUUUUUUUUUUUUUUTTUUUUTTUUUUUUUUUUTTUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUTTTTUUUUUUUUUUUUUUUUUUUUUUUUTTTTUUUUTTUUUUUUUUUUUUTTTTUUTTUUUUUUUUTTUUUUUUUUUUUUUUTTUUTTUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUTTUUUUUUUUUUUUUUTTUUUUTTUUUUUUUUUUTTUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUTTUUUUTTUUUUUUUUUUUUTTUUUUTTUUTTTTTTUUUUUUUUUUUUUUTTUUUUTTUUUUUUTTUUTTUUUUUUUUUUUUUUUUTTUUUUTTUUUUUUUUUUUUUUTTTTTTUUTTUUTTUUUUUUUUUUUUUUUUTTUUUUTTUUUUTTUUUUUUUUUUUUUUUUUUTTUUUUUUUUUUTTUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUTTUUTTUUUUUUUUUUUUTTTTUUUUTTTTTTUUUUUUTTUUUUTTTTUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUTTUUTTUUTTUUUUUUTTUUTTUUUUUUTTUUUUUUUUUUUUUUUUTTTTTTUUUUUUUUUUTTUUUUUUTTUUTTUUTTUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUTTUUUUUUUUUUUUTTUUTTTTTTTTUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUTTUUUUTTUUUUUUUUUUUUUUUUUUTTUUUUTTUUUUUUUUUUUUTTUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUTTTTUUUUTTUUUUUUUUTTUUTTUUUUUUUUUUUUUUTTTTUUUUTTTTUUUUUUUUUUUUUUUUUUUUUUTTSSRQQU\cjv{pe\UQQRRSTTTUUUUUTTUUUUUUUUUUTTUUUUUUUUTTUUTTUUUUUUTTUUUUUUUUUUUUUUTTUUUUUUUUTTTTTTUUTTUUUUUUUUUUTTUUUUUUUUUUUUUUUUUUTTTTUUUUUUUUUUUUUUUUUUUUUUUUTTUUUUUUTTUUTTUUUUUUUUUUTTTTUUUUUUUUUUUUTTUUUUUUUUUUUUUUUUUUTTUUTTTTUUUUUUTTUUUUUUUUUUUUUUUUUUTTTTTTUUUUUUUUUUTTUUUUUUUUUUTTUUUUTTUUUUUUUUUUUUTTUUTTUUUUUUUUUUUUUUUUTTUUUUUUUUUUUUUUUUTTUUUUUUUUUUUUUUUUUUUUTTTTTTTTUUTTUUUUTTUUUUUUUUUUUUUUTTTTUUUUUUUUUUTTTTUUUUTTTTUUUUTTUUUUTTUUUUUUUUTTUUUUUUUUUUUUUUTTTTTTTTTTTTUUUUTTTTTTTTTTTTUUUUTTUUUUUUUUTTUUUUUUUUUUUUUUTTUUUUTTUUUUUUTTUUUUUUTTTTUUUUTTUUUUUUTTTTUUTTTTUUUUTTTTUUTTTTUUTTUUUUTTUUUUUUTTUUUUTTUUTTTTTTUUTTTTUUTTUUUUTTTTUUUUTTTTTTUUUUUUUUUUTTUUUUUUUUTTUUUUUUUUUUTTUUTTUUTTTTUUTTUUTTTTTTUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUTTUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUTTUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUTTUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUTTUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUTTUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUTTUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUTTUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUTTUUTTUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUTTUUUUUUUUUUUUUUUUUUUUTTUUUUTTUUUUUUUUUUUUUUTTUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUTTUUUUUUUUUUUUUUUUUUUUUUUUUUUUTTUUUUUUUUUUUUUUUUTTUUUUUUUUUUUUUUUUUUTTUUUUTTUUUUUUUUUUUUUUTTUUUUUUUUUUUUUUUUTTUUUUTTUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUTTUUUUTTUUUUUUUUUUUUTTUUUUUUUUUUUUUUUTTTSSRUY^chkotzƿ}wrnkhc^YTRSSSTTTUUUUUUUUUUTTUUUUUUUUUUUUUUUUUUTTUUUUUUUUUUUUTTUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUTTUUUUUUUUUUUUUUUUUUUUUUUUUUTTUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUTTUUUUUUUUUUUUTTUUUUUUUUUUUUUUUUUUUUUUUUTTTTUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUTTUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUTTUUUUTTUUUUUUUUUUUUTTUUUUUUUUUUUUUUUUUUUUUUUUTTTTUUUUTTUUUUUUUUUUUUUUUUUUUUTTUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUTTTUUUUUUUUUUUUUUUUUUUUUUUUTTTTUUUUUUUUUUUUUUUUUUTTTTUUTTUUUUUUUUTTUUUUUUUUUUUUUUTTUUTTUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUTTUUUUUUUUUUUUUUTTUUUUTTUUUUUUUUUUTTUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUTTTUUUUUUUUUUUUUUUUUUUUUUUUTTTTUUUUUUUUUUUUUUUUUUTTTTUUTTUUUUUUUUTTUUUUUUUUUUUUUUTTUUTTUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUTTUUUUUUUUUUUUUUTTUUUUTTUUUUUUUUUUTTUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUTTUUUUTTUUUUUUUUUUUUTTUUUUTTUUTTTTTTUUUUUUUUUUUUUUTTUUUUTTUUUUUUTTUUTTUUUUUUUUUUUUUUUUTTUUUUTTUUUUUUUUUUUUUUTTTTTTUUTTUUTTUUUUUUUUUUUUUUUUTTUUUUTTUUUUTTUUUUUUUUUUUUUUUUUUTTUUUUUUUUUUTTUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUTTUUTTUUUUUUUUUUUUTTTTUUUUTTTTTTUUUUUUTTUUUUTTTTUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUTTUUTTUUTTUUUUUUTTUUTTUUUUUUTTUUUUUUUUUUUUUUUUTTTTTTUUUUUUUUUUTTUUUUUUTTUUTTUUTTUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUTTUUUUUUUUUUUUTTUUTTTTTTTTUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUTTUUUUTTUUUUUUUUUUUUUUUUUUTTUUUUTTUUUUUUUUUUUUTTUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUTTTTUUUUTTUUUUUUUUTTUUTTUUUUUUUUUUUUUUTTTTUUUUTTTTUUUUUUUUUUUUUUTTTSSSRUY^chmqu{˻{uqmhc^YURSSTTTTUUUUUUUUUUTTUUUUUUUUTTUUTTUUUUUUTTUUUUUUUUUUUUUUTTUUUUUUUUTTTTTTUUUUUUUUUUUUUUTTUUUUUUUUUUUUUUUUUUTTTTUUUUUUUUUUUUUUUUUUUUUUUUTTUUUUUUTTUUTTUUUUUUUUUUTTTTUUUUUUUUUUUUTTUUUUUUUUUUUUUUUUUUTTUUTTTTUUUUUUTTUUUUUUUUUUUUUUUUUUTTTTTTUUUUUUUUUUTTUUUUUUUUUUTTUUUUTTUUUUUUUUUUUUTTUUTTUUUUUUUUUUUUUUUUTTUUUUUUUUUUUUUUUUTTUUUUUUUUUUUUUUUUUUUUTTTTTTTTUUTTUUUUTTUUUUUUUUUUUUUUTTTTUUUUUUUUUUTTTTUUUUTTTTUUUUTTUUUUTTUUUUUUUUTTUUUUUUUUUUUUUUTTTTTTTTTTTTUUUUTTTTUUTTTTTTUUUUTTUUUUUUUUTTUUUUUUUUUUUUUUTTUUUUTTUUUUUUTTUUUUUUTTTTUUUUTTUUUUUUTTTTUUTTTTUUUUTTTTUUTTTTUUTTUUUUTTUUUUUUTTUUUUTTUUTTTTTTUUTTTTUUTTUUUUTTTTUUUUTTTTTTUUUUUUUUUUTTUUUUUUUUTTUUUUUUUUUUTTUUTTUUTTTTUUTTUUTTTTTTUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUTTTSRQPXgvŽvgXQRSSSTTUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUTTUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUTTUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUTTUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUTTUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUTTUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUTTUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUTTTTUUUUUUUUUUUUUUTTSSRQPXgvûvgXPQRSTTTUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUTTUUUUTTUUUUUUUUUUUUUUTTUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUTTUUUUUUUUUUUUUUUUUUUUUUUUUUUUTTUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUTTUUTTUUUUUUTTUUUUUUUUUUUUTTUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUTTUUUUUUUUTTUUUUUUTTUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUTTUUUUUUUUUUUUUUUUUUTTUUUUTTUUTTUUUUTTUUUUUUUUUUUUUUUUUUUUUUUUUUTTUUTTUUUUUUUUUUUUUUUUTTTTUUUUUUUUUUUUUUTTUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUTTUUUUUUUUUUUUUUUUUUUUUUTTUUUUUUUUUUUUUUUUUUUUTTUUUUUUUUUUTTUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUTSSRRRRRSSSSSSSRSSSSSSSSSRRRRRRRRSSSSSRRSSRRSSRRSSSSSSRRSSSSSSSRRRRRSSRRSSSSSSRRSSRRSSSSSRRRRRRRRSSSRRRRSSRRRSSRRSSSRRRRSSSSSRSSSSSRRSSSRRSSSRSSSSSSSSSRRRRRRSSSSSRRRSSSRRRSSSSRSSSSSRRRSSRRRRRRRSSSSSSSRRRSSSSSSSSSRRRRRRSSSSSSRRRSSSRRRSSRRSSRSSSSRRRRRRRSSSSRRSSSSSSSSRRRSSSSSSSSSSSSSSSSRRSSSSSTUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUTTTSSUX\afmqvźvrmic_ZURSTTTUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUTTSSRRSSSRRSSSRRSSSSSSRRSSSSSSSSSSRRRRRRSSRRSSSRRRSSSSRRSSRSTUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUTTSRRRSSSSSRRRSSRRSSSSRRRRRRRRRRRRRRRSSSRRSSRRRRRRSSSSRRRSSRRRRRRSSRRSSTUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUTTSRRRSSRRRRRRSSRRRRRRRSSRRRRRRRRRRRSSRRRRRRRSSRRRRRRRRRSSSTUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUTTSRRRRSSSSRRRRRSSRRRRRRRRRRRRRRSSSSSSSSSSRRRRRSSSRRRRRRRSTTUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUTSRRRRRRRSSSRRRRRRSSSSRRRRRRRRRRSSSRRRRRSSSSRRRSSRRRRSSRRRSSSSSRRRSSRRRRSSRRRRRRRRRRRRSSSSRRRRRRSSSSRRSSSSRRRRRSSRRRRRRRRRSSRRRRRRRSSSSSRRRRRRSSRRRRSSSRRRRRSSSSRRRRRRRRRRRRRRRSSSSRRRRRRSSRRRRRSSSSRRRRRRRRRRSSRRRSSRRRRRRRRRRRRRSSSRRSSRRSSSRRRRRRSSRRRRSSRRRRRRRRRRRRSSSRRRRRSSSSRRRRRRRRSSSSRRRRSSSSRRRRRRRRRRRRRSSRRRRRRRRRSSSRRSSSRRRRSSSRRSSRSTUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUTTUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUTTUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUTTTTUUUUUUUUTTSSRUY^chmqvʻvrmga\XUSSTTUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUTTUUUUTTUUUUUUUUUUUUUUTTUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUTTUUUUUTSRRRRRRRRRRRRSSSRRRRRRSSSRRRRRRRRRSSRRRRRRSSRRSSRRRRSSSSTTUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUTTUUTTUUUUUUTTUUUUUUUUUUUUTTUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUTTUUUUUUUUTTUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUTTUUUUUUUUUUUUUUUUUUTTUUUUUUUUTTUUUUTTUUUUUUUUUUUUUUUUUUUTSRRRRRRRSSRRRRRSSSSRRRRRRRRRRRRRRRRRRRRRSSSSSSRRRRRRRRRSSTUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUTTUUUUUUUUUUUUUUUUUUUUUUTTUUUUUUUUUUUUUUUUUUUUTTUUUUUUUUUUTTUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUTSSRQQQQQQQQQRRRQQRRRRRRQQQQQRRQQQQRQQQQQQQQQQQQQQQQQRRQQQQQQRRRRRRRQQQQQRRRRRRQQRRQQQQQQQQQQQQQQQQRQQQQQRRQQQQQQQQQQRRQQQQQRQQQRQQQQQQQQQQQRQQRRQQQQQQQQQQQQQRQQRRQQQRRQQQQQRRQQRQQQQQQQQQQQQQQQQQRRQRRQQQQQQQRQQQQQQQQQQRRRRQQQQQRQQQQQRRRRQQQQQQQQQQRRQQQQQQRRRRRRQQRQQQQQRRQRRRRRQQRRQQRRQQQRQRRSTUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUTSSRRWan}vgXQRSTTUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUTSRQQQQRQQRQRQQQQQQQQQQQQQQQQQQQQQQQQRQQQQQQRRQQQQQQQQQQQQQRTUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUTSRQRRQQQQQQQQQQQQQQRQQQQQQQRQQQQQQQQQRQQQQQQRRRQQQQQQQQQQQQQQQQQQRRQRRTTUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUTRQQQQQQQQQQQQQQQQQQQQQQQQRQQQQQQQQRQQQQQQQQQQQQQRRQQQQQRRSTUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUTTRQQRQQRRQQQQQQQQQQQQQQRRQQQQQQQQQRQQQQQQQQQQQQQQQQQQQQQRSTTUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUTRQQQRRQQQRQQQQQQQQQQQQQQRRQQQQQQQQQQQQQQQQQQQQRRQQQQQQRRQQRQQQQQQQQQQQQRQQRRQQQQQQQQQQQQRQQQQQQQRRQQQQQQQQQQQQQQQQQQQQQQRQQQQQQQQQQRRRQQQQQQQQQQQQQQQQQQQQQQQQRRQQQQQQRQQQQQQQQQQQQQQQQQQQQQQQQQQQRRRRQQQQQQQQQQQQRRQQRRQQQQQQQQQQQQQQRQRRQQQQQQQRQQRQQQQQQQQQQRQQRQQQQQQQRRQQQQQQQQQQQQQQRRQQQQQQQQQQRRQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQRQQQQQQQQQQQQRSUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUTTSRQQXgv}naWRSTTTUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUTRRQQQQRRQRQQQQRRQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQRRQQQRSTTUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUTRQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQRRSSTUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUTYbluzzyyyyyyyzzzzzzyyzzyyyyyyzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzyyyyyyyyyyyyyyyyyyyyyyyyzzyyyyyyzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzyyyyzzyyyyyyyyyyyyzzyyzzyyyyyyzzyyyyyyyyzzyyyyzzyyyyyyyyyyyyyyyyyyyyzzzzyyzzyyyyzzyyzzyyyyyyyyzzyyzzzzyyyyyyyyyyzzyyyyyyyyzzyyyyzzyyyyyyyyzzyyyyyyyyzzyyyzzulbYUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUTTTRU[bhmr{ʼ~tpjd^XTTTTTUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUX`itzyyyyyyzzyyyyyyyyyyyyyyyyyyyyzzyyzzyyyyyyyyyyyyyyyyyyyzzq_UUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUVZdszzyyyyyyyyyyyyyyyyyyyyyyyzzyyyyyyyyzzyyyyyyyyyyyyyyyyyyyyyyyyyyzzzvoeZTUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUU_qzzyyyyyyyyyyyzzyyyyyyyyyyyyyyyyyyzzyyyyyyyyyyyyzzyyyyyyul\TTUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUV\eszzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzulcYTUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUT]pzzyzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzyyyyyyyyyyzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzyyyyyyyyzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzyyyyyyyyyyyyyyyyyyyyyyzzzzyyzzyyyyzzyyzzyyyyyyyyyyyyyyyyyyyyyyyyyyzzyyyyyyyyyyzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzyyyyyyyyyzzre[WUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUTTSTTX^djot~ȶ{qle]XTSSTTUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUTT^qzzyyyzzyyyyyyyyyyyyyyyyzzyyyyyyyyyyyyyyyyyyyyyyyyyyyzzulbYTUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUTT^pzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzulbYTUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUTTbȺbTTUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUTSRQZmŹtbWTSSTUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUT_uɭuXUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUZhȽeTTUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUWuúkRSUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUTTZiȺbTTUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUSRpɳiZTTUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUTTSSTVasɾraVQRSTUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUSRpȺaSTUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUSRpȺbTTUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUTTgڵgTTUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUTTUY`hms|rjd^XUTTTUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUTT`xˈ`WUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUTT`yͦnRTUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUW`խqRSUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUT]pڵgTTUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUSRyЗo]TUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUTTTTX^djq{Ű{qkd\VTTTUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUSQyڵfSTUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUURQyڵgTTUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUTTfڵfTTUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUTTSRXgztaWTSTTUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUTTZiЗo]TUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUTTftRSUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUTU]oŝlSSUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUT]pڵfTTUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUSRzїo]TUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUTSTWbtɾl[USTTUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUSQyڵfTTUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUSQyڵfTTUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUTTfڴfTTUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUTUV[biq}{pg`ZUTTUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUV\զ~aTUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUTSk}WTUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUTTa|ٲfTTUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUU]oڴfTTUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUURRzЖo]TUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUTSV\bjr|ůule^WSTUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUSRyڴfTTUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUSRyڴfTTUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUVVUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUVVUUUUUUUUUUUUUUUUUUUUUUUUUUVVUUUUUUUUUUUUUUUUUUUUUUUUUUUUVVUUUUUUUUUUUUVVUUUUUUUUUUUUVVUUVVUUUUVVUUUUUUUUUUUTTfڴfTTUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUVVUUUUUUUUUUUUUUUUUUUUUUVVUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUVVUUUUUUUUUUUUUUUUUUUUUUUUVVUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUVVUUUUUUUUUUUUUUUUVVUUUUUUUUVVUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUVVUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUVVUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUTSU\jͿzgXRRTTUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUwڴfTTUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUTRpˉaXUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUTTdԠy`TTUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUU]oڴfTTUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUSQyЖo]TUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUTTRQZmijr\QRTUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUSRzڴfSTUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUSRzڴfTTUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUVVUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUVVUUUUUUUUUUUUUUUUVVUUUUUUUUVVUUUUUUUUUUUUUUUUUUUUUUUUUUUUVVUUUUUUUUUUUUVVUUUUUUUUUUUUVVUUVVUUUUVVUUUUUUUUUUUTTfڴfTTUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUVVUUUUUUUUUUUUUUUUUUUUUUVVUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUVVUUUUUUUUUUUUUUUUUUUUUUUUVVUUUUVVUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUVVUUUUUUUUUUUUUUUUVVUUUUUUUUVVUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUVVUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUVVUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUVVUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUTTUZait͸}pg`XUTTUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUTRpkTTUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUxјq]UUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUTTiΏhZUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUU]oڴfTTUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUSRyЗo]UUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUTUV\elsDZpibYUTTUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUSRzڴfSTUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUSRzڴfTUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUVVUUVVUUUUVVVVVVVVVVVVUUUUUUUUUUUUUUUUUUUUVVVVVVUUUUUUVVUUUUUUVVUUUUVVVVVVUUUUVVUUUUUUVVVVUUUUUUUUVVVVUUVVVVUUUUUUVVVVUUVVUUUUVVVVUUVVUUVVVVVVUUVVUUUUUUUUVVVVUUUUUUUUVVUUUUUUUUUUUUUUUUUUUUVVVVVVVVUTTgڴfTTUUUUUVVUUUUUUUUUUUUUUUUVVVVUUVVUUUUVVUUUUVVUUVVUUUUUUUUUUVVUUUUUUUUUUUUVVUUUUVVUUVVVVUUUUVVUUUUUUVVVVUUUUUUUUVVUUVVUUVVVVVVVVUUVVVVVVUUUUVVUUUUUUUUUUUUUUVVUUVVVVVVUUUUUUVVUUVVVVVVVVUUUUVVVVUUVVUUVVUUUUVVUUVVVVUUUUUUUUUUVVVVUUUUUUVVUUUUUUVVUUUUUUUUUUUUUUUUUUUUVVVVUUUUVVUUUUUUVVVVVVUUUUUUUUUUUUUUVVUUUUUUUUUUUUVVVVUUVVUUUUVVUUUUUUUUVVUUVVUUVVUUVVUUUUVVVVUUUUUUUUUUVVUUUUVVUUUUUUUUVVVVUUUUUUUUUUVVUUVVUUVVVVUUUUVVVVUUUUVVVVUUUUVVUUUUUUVVUUVVVVUUUUUUUUVVUUVVUUUUUUUUUUUUUUUUUUVVUUUUVVUUVVUUVVUUVVVVVVUUUUVVUUUUUUUUUUUUUUUUUUUUUUUUUUVVUUVVVVUUUUVVUUUUUUUUUUUUUUVVVVUUUUUUUUUUUUVVUUUUVVUUUUVVUUUUUUUUUUUUUUVVUUUUUUUUUUUUVVUUUUUUUUVVVVUUUUUUVVVVUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUVVUUUUUUVVUUUUUUUUUUVVUUUUUUVVUUUUUUUUVVVVUUUUUUUUVVUUVVUUUUUUUUUUUUUUUUUUUUVVUUUUUUUUUUVVUUUUUUUUVVUUUUUUUUVVVVUUVVUUUUUUUUUUVVUUUUVVUUUUUUVVUUUUUUUUUUVVUUUUUUUUUUUUUUUUUUUUVVVVUUUUUUVVUUUUVVUUUUVVVVVVVVVVUUUUUUVVUUUUUUUUUUUUUUVVUUUUUUVVUUUUUUUUUUVVUUUUUUVVUUVVUUUUUUUUVVUUUUUUUUUUVVUUUUUUVVUUUUUUUUVVUUUUUUUUUUUUUUUUUUUUUUUUUUTSRYg|zdWTTUUUUUUUUUUUUUUVVVVUUVVUUUUUUUUUUUUUUUUVVVVUUUUUUUUUUUUUUUUUUUUUUVVUUUUUUUUUUUUUUVVUUUUUUUUUUUUUUVVUUUUVVUUUUUUUUUUUUVVUUUTSk̤nTTUUUUUUUUUUUUUUUVVUUUUUUUUUUUUUUUUUUUUUUVVUUUUUUVVVVUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUVVUUVVUUVVUUVVUUUUUUUUUUUUVVUUUUUUUUUUUUVVUUUUUUUUUUUUUUUUVVUUUUUUUUVVUUUUUUUUUUUUUUUUUUUUUUUW]׫cTUUUUUUUUUUUUUUUUVVUUUUUUUUUUUUUUUUVVUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUVVUUUUUUUUUUUUUUUUUUUUUUUUVVUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUVTSmɀXVUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUU]oڴfTTUUUUUUUUUVVUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUVVUUUUUUUUUSRzЗo]UUUUUUUUUUUUUUUUUUUVVUUVVUUUUUUUUUUUUUUUUVVUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUTSU\meWTSTUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUVVUUUUUUUUUUUUUUUUUUUUUUUUUSRzڴfTTUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUSRzڴfTTUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUVVUUVVUUUUVVVVVVVVVVVVUUUUUUUUUUUUUUUUUUUUVVVVVVUUUUUUVVUUUUUUVVUUUUVVVVVVUUUUVVUUUUUUVVVVUUUUUUUUVVVVUUVVVVUUUUUUVVVVUUVVUUUUVVVVUUVVUUVVVVVVUUVVUUUUUUUUVVVVUUUUUUUUVVUUUUUUUUUUUUUUUUUUUUVVVVVVVVUUTgڴfTUUUUUUVVUUUUUUUUUUUUUUUUVVVVUUVVUUUUVVUUUUVVUUVVUUUUUUUUUUVVUUUUUUUUUUUUVVUUUUVVUUVVVVUUUUVVUUUUUUVVVVUUUUUUUUVVUUVVUUVVVVVVVVUUVVVVVVUUUUVVUUUUUUUUUUUUUUVVUUVVVVVVUUUUUUVVUUVVVVVVVVUUUUVVVVUUVVUUVVUUUUVVUUVVVVUUUUUUUUUUVVVVUUUUUUVVUUUUUUVVUUUUUUUUUUUUUUUUUUUUVVVVUUUUVVUUUUUUVVVVVVUUUUUUUUUUUUUUVVUUUUUUUUUUUUVVVVUUVVUUUUVVUUUUUUUUVVUUVVUUVVUUVVUUUUVVVVUUUUUUUUUUVVUUUUVVUUUUUUUUVVVVUUUUUUUUUUVVUUVVUUVVVVUUUUVVVVUUUUVVVVUUUUVVUUUUUUVVUUVVVVUUUUUUUUVVUUVVUUUUUUUUUUUUUUUUUUVVUUUUVVUUVVUUVVUUVVVVVVUUUUVVUUUUUUUUUUUUUUUUUUUUUUUUUUVVUUVVVVUUUUVVUUUUUUUUUUUUUUVVVVUUUUUUUUUUUUVVUUUUVVUUUUVVUUUUUUUUUUUUUUVVUUUUUUUUUUUUVVUUUUUUUUVVVVUUUUUUVVVVUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUVVUUUUUUVVUUUUUUUUUUVVUUUUUUVVUUUUUUUUVVVVUUUUUUUUVVUUVVUUUUUUUUUUUUUUUUUUUUVVUUUUUUUUUUVVUUUUUUUUVVUUUUUUUUVVVVUUVVUUUUUUUUUUVVUUUUVVUUUUUUVVUUUUUUUUUUVVUUUUUUUUUUUUUUUUUUUUVVVVUUUUUUVVUUUUVVUUUUVVVVVVVVVVUUUUUUVVUUUUUUUUUUUUUUVVUUUUUUVVUUUUUUUUUUVVUUUUUUVVUUVVUUUUUUUUVVUUUUUUUUUUVVUUUUUUVVUUUUUUUUVVUUUUUUUUUUUUUUUUUUUUUUUTTW^fp}պypf]VUTUUUUUUUUUUVVVVUUVVUUUUUUUUUUUUUUUUVVVVUUUUUUUUUUUUUUUUUUUUUUVVUUUUUUUUUUUUUUVVUUUUUUUUUUUUUUVVUUUUVVUUUUUUUUUUUUVVUUUUTfٱrRTUUUUUUUUUUUUUUUVVUUUUUUUUUUUUUUUUUUUUUUVVUUUUUUVVVVUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUVVUUVVUUVVUUVVUUUUUUUUUUUUVVUUUUUUUUUUUUVVUUUUUUUUUUUUUUUUVVUUUUUUUUVVUUUUUUUUUUUUUUUUUUUUUUUZhݾjSTUUUUUUUUUUUUUUUVVUUUUUUUUUUUUUUUUVVUUUUUUUUUUUUVVUUUUUUVVUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUVVUUUUUUUUUUUUUUUUUUUUUUUUVVUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUVTRrvQTVUUUUUUUUUUUUVVUUUUUUVVUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUU]oڴfTTUUUUUUUUUVVUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUVVUUUUUUUUUTRzЗo]UUUUUUUUUUUUUUUUUUUVVUUVVUUUUUUUUUUUUUUUUVVUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUVVUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUTTV\cluypf]VUTUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUVVUUUUUUUUUUUUUUUUUUUUUUUUUSRzڴfTTUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUSRzڴfTTUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUVVVVVVVVUUVVVVVVVVUUVVVVVVVVVVVVUUVVUUUUVVUUUUUUUUVVUUVVUUUUUUUUVVVVVVVVUUVVVVUUVVUUVVVVVVUUVVVVUUVVVVVVUUVVUUUUVVVVUUVVVVVVVVVVUUVVVVVVVVVVVVVVVVVVVVVVUUVVUUUUVVVVUUVVVVVVVVVVUUVVVVUUVVVVVVUUVVUUVUTgڴfTUUUUVVUUVVVVUUVVUUVVUUUUVVVVUUVVVVVVVVUUVVVVUUVVUUUUVVUUUUVVVVVVVVUUUUUUVVVVVVUUUUUUVVUUVVUUVVVVVVVVVVUUVVVVUUUUVVUUVVUUVVVVUUUUVVVVVVUUUUVVVVVVVVVVVVVVVVUUVVVVVVVVUUVVVVVVUUUUVVVVUUVVVVUUVVVVVVUUUUUUVVVVVVVVUUVVUUUUVVVVUUUUVVVVVVVVUUVVVVVVUUVVUUUUVVUUVVVVVVUUUUVVUUUUUUVVUUVVVVVVUUVVVVVVVVVVUUUUVVUUVVVVVVVVVVVVVVVVVVUUUUVVUUVVVVVVUUVVUUUUVVVVUUUUVVUUVVVVUUVVUUVVUUVVVVUUVVUUVVVVVVVVUUVVVVUUVVUUUUUUVVVVUUVVVVVVVVVVUUVVVVVVUUVVUUVVVVVVUUVVVVVVUUUUVVUUVVUUUUUUUUUUUUVVVVVVUUVVUUUUVVVVVVVVVVUUVVVVUUUUUUVVVVUUVVVVUUVVVVUUUUUUVVUUVVUUVVVVUUUUVVUUVVVVVVVVVVVVVVVVVVVVVVVVVVVVUUVVUUVVUUUUVVVVVVVVUUUUUUVVUUVVVVVVVVVVVVVVVVUUUUVVVVVVUUUUVVUUVVUUVVUUVVVVUUUUVVUUVVVVVVVVUUUUVVUUVVUUUUUUUUUUVVUUUUVVVVVVUUUUUUUUUUVVUUVVVVVVUUVVUUUUVVUUVVVVUUUUUUUUUUVVVVVVVVUUUUUUUUVVUUVVVVVVVVVVUUVVVVUUUUVVVVVVVVUUVVUUVVUUVVVVUUVVUUVVUUUUVVUUVVVVVVVVVVUUVVVVVVVVVVVVUUUUVVVVVVUUUUUUUUVVVVUUVVVVUUVVUUVVUUVVVVUUVVVVUUUUUUUUUUVVVVUUVVVVVVUUUUUUVVUUVVVVUUUUVVVVVVUUVVUUVVUUUUUUUUVVVVVVVVVVUUUUUUVVUUVVUUUUUUUUUUUUVVVVUUUUUTR\rȹn\UTTUVVUUUUVVVVVVUUUUUUVVUUUUUUVVUUVVUUUUUUVVUUVVUUUUVVUUUUVVVVUUVVVVVVUUVVVVUUVVVVUUVVVVUUUUVVUUVVUUUUUUUUVVUUVVUUVVUUVUUb~wQSUVVUUVVVVUUUUVVUUUUVVVVVVVVUUUUUUUUUUVVUUUUVVVVUUUUUUVVUUUUUUVVVVUUUUVVUUUUVVVVUUUUVVUUUUVVUUUUVVVVVVUUVVUUVVUUUUUUUUVVUUVVUUUUUUUUUUVVUUUUVVUUVVVVVVUUVVVVUUUUVVUUVVUUUUUUUUU_wЩoSTUVVUUUUUUVVVVUUVVUUUUUUVVUUVVUUUUUUUUUUVVVVUUUUVVVVUUUUVVVVUUVVVVUUVVVVVVUUVVUUUUUUVVUUVVUUUUVVUUUUVVUUUUUUVVUUVVUUUUUUUUUUUUUUVVUUVVUUVVUUUUVVVVUUVVVVVVVVUUVVUUUUVVUUVVVVUSQvԬpRTUUUUUVVVVUUUUVVVVUUUUVVUUVVVVVVUUVVVVVVVVVVUUUUUUVVUUVVUUU]oڴfTTUUUVVUUVVVVUUUUVVUUUUUUUUUUUUUUVVVVUUVVUUUUVVUUVVUUVVUUUUUUVTRzЗo]UUUUUUUUUVVUUUUUUUUUUVVUUUUVVVVUUUUVVUUVVVVUUUUUUUUUUUUVVVVUUUUUUUUVVVVUUUUVVUUVVUUUUUUUUUUUUUUVVVVUUUUVVUUUUVVVVVVUUUUUUUUUUUUUUVVUUUUVVUUUUUUUUVVUUUSRZmɹn\USUUUUVVVVVUVVUUUUUUUUUUVVVVUUUUUUUUUUUUUUUUUUVVUUUUUUUUUUVVVVUUUUUUUUVVUUUUVVUUVVUUUUUUUUUUVVUUVVVVUUUUUUVVUUUUUUUUVVVVUUVVVVUUUUUUUUUUUUUUUUVVUUUUUUUUUUVVUUUUUSRzڴfTTVVVUUVVUUUUVVUUUUUUUUVVUUUUUUUUVVUUUUUUUUVVVVUUVVUUUUUUUUUUUUUUVVUUUUVVUUVVUUUUUUUUUUUUUUUUUUUUVVVVUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUVVUUUUUUUUUUUUUUVVUUUUUUVVUUUUUUUUUUVVUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUVSRzڴfTTUUUUUUUUUUUUUUUUUUUVVUUVVUUUUUUUUUUUUVVUUUUUUUUVVUUUUUUUUVVUUUUUUVVUUVVUUUUUUUUUUUUUUUUUUVVUUUUUUUUVVUUVVUUVVUUUUUUUUUUUUUUUUUUVVUUUUVVVVVVVVUUVVVVVVVVUUVVVVVVVVVVVVUUVVUUUUVVUUUUUUUUVVUUVVUUUUUUUUVVVVVVVVUUVVVVUUVVUUVVVVVVUUVVVVUUVVVVVVUUVVUUUUVVVVUUVVVVVVVVVVUUVVVVVVVVVVVVVVVVVVVVVVUUVVUUUUVVVVUUVVVVVVVVVVUUVVVVUUVVVVVVUUVVUUVUTgڴfTUUUUVVUUVVVVUUVVUUVVUUUUVVVVUUVVVVVVVVUUVVVVUUVVUUUUVVUUUUVVVVVVVVUUUUUUVVVVVVUUUUUUVVUUVVUUVVVVVVVVVVUUVVVVUUUUVVUUVVUUVVVVUUUUVVVVVVUUUUVVVVVVVVVVVVVVVVUUVVVVVVVVUUVVVVVVUUUUVVVVUUVVVVUUVVVVVVUUUUUUVVVVVVVVUUVVUUUUVVVVUUUUVVVVVVVVUUVVVVVVUUVVUUUUVVUUVVVVVVUUUUVVUUUUUUVVUUVVVVVVUUVVVVVVVVVVUUUUVVUUVVVVVVVVVVVVVVVVVVUUUUVVUUVVVVVVUUVVUUUUVVVVUUUUVVUUVVVVUUVVUUVVUUVVVVUUVVUUVVVVVVVVUUVVVVUUVVUUUUUUVVVVUUVVVVVVVVVVUUVVVVVVUUVVUUVVVVVVUUVVVVVVUUUUVVUUVVUUUUUUUUUUUUVVVVVVUUVVUUUUVVVVVVVVVVUUVVVVUUUUUUVVVVUUVVVVUUVVVVUUUUUUVVUUVVUUVVVVUUUUVVUUVVVVVVVVVVVVVVVVVVVVVVVVVVVVUUVVUUVVUUUUVVVVVVVVUUUUUUVVUUVVVVVVVVVVVVVVVVUUUUVVVVVVUUUUVVUUVVUUVVUUVVVVUUUUVVUUVVVVVVVVUUUUVVUUVVUUUUUUUUUUVVUUUUVVVVVVUUUUUUUUUUVVUUVVVVVVUUVVUUUUVVUUVVVVUUUUUUUUUUVVVVVVVVUUUUUUUUVVUUVVVVVVVVVVUUVVVVUUUUVVVVVVVVUUVVUUVVUUVVVVUUVVUUVVUUUUVVUUVVVVVVVVVVUUVVVVVVVVVVVVUUUUVVVVVVUUUUUUUUVVVVUUVVVVUUVVUUVVUUVVVVUUVVVVUUUUUUUUUUVVVVUUVVVVVVUUUUUUVVUUVVVVUUUUVVVVVVUUVVUUVVUUUUUUUUVVVVVVVVVVUUUUUUVVUUVVUUUUUUUUUUUUVVVVUTTW^fpʹqf]WUUUUUUVVVVVVUUUUUUVVUUUUUUVVUUVVUUUUUUVVUUVVUUUUVVUUUUVVVVUUVVVVVVUUVVVVUUVVVVUUVVVVUUUUVVUUVVUUUUUUUUVVUUVVUUVVUUVUU]oɀXUUUVUUVVVVUUUUVVUUUUVVVVVVVVUUUUUUUUUUVVUUUUVVVVUUUUUUVVUUUUUUVVVVUUUUVVUUUUVVVVUUUUVVUUUUVVUUUUVVVVVVUUVVUUVVUUUUUUUUVVUUVVUUUUUUUUUUVVUUUUVVUUVVVVVVUUVVVVUUUUVVUUVVUUUUUUUUTd߸vTTUVVUUUUUUVVVVUUVVUUUUUUVVUUVVUUUUUUUUUUVVVVUUUUVVVVVVUUVVVVUUVVVVUUVVVVVVUUVVUUUUUUVVUUVVUUUUVVUUUUVVUUUUUUVVUUVVUUUUUUUUUUUUUUVVUUVVUUVVUUUUVVVVUUVVVVVVVVUUVVUUUUVVUUVVVUUUYÛkTTUUUUUVVVVUUUUVVVVUUUUVVUUVVVVVVUUVVVVVVVVVVUUUUUUVVUUVVUUU]oڴfTUUUUVVUUVVVVUUUUVVUUUUUUUUUUUUUUVVVVUUVVUUUUVVUUVVUUVVUUUUUUVTRzЗo]UUUUUUUUUVVUUUUUUUUUUVVUUUUVVVVVVUUVVUUVVVVUUUUUUUUUUUUVVVVUUUUUUUUVVVVUUUUVVUUVVUUUUUUUUUUUUUUVVVVUUUUVVUUUUVVVVVVUUUUUUUUUUUUUUVVUUUUVVUUUUUUUUUTTV^fp~ʹqe[UTUUVVVVVVVUUUUUUUUUUVVVVUUUUUUUUUUUUUUUUUUVVUUUUUUUUUUVVVVUUUUUUUUVVUUUUVVUUVVUUUUUUUUUUVVUUVVVVUUUUUUVVUUUUUUUUVVVVUUVVVVUUUUUUUUUUUUUUUUVVUUUUUUUUUUVVUUUUUSRzڴfTUVVVUUVVUUUUVVUUUUUUUUVVUUUUUUUUVVUUUUUUUUVVVVUUVVUUUUUUUUUUUUUUVVUUUUVVUUVVUUUUUUUUUUUUUUUUUUUUVVVVUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUVVUUUUUUUUUUUUUUVVUUUUUUVVUUUUUUUUUUVVUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUVTRzڴfTUUUUUUUUUUUUUUUUUUUUVVUUVVUUUUUUUUUUUUVVUUUUUUUUVVUUUUUUUUVVUUUUUUVVUUVVUUUUUUUUUUUUUUUUUUVVUUUUUUUUVVUUVVUUVVUUUUUUUUUUUUUUUUVVVVVVVVVVVVVVUUVVVVUUVVVVVVVVUUUUUUUUUUVVVVVVUUVVVVVVVVVVVVVVUUVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVUUVVVVVVUUUUVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVUUVVVVVVVVVVUUUUUUVVUUVVVVVVVVVVVUTfڴfTUVVVVVVVUUVVVVVVVVVVVVUUVVVVVVVVVVVVVVVVVVVVVVVVUUVVVVVVUUUUVVVVVVUUVVVVVVVVVVVVVVVVVVVVVVUUVVVVUUVVUUVVVVVVVVVVVVVVVVVVUUVVVVVVVVUUVVUUVVVVVVVVUUVVVVVVVVVVVVVVVVVVVVVVVVUUVVVVVVVVVVUUVVUUUUVVVVVVVVVVVVVVUUVVUUVVVVUUVVUUVVVVVVUUVVVVVVVVUUVVVVVVVVUUVVVVVVUUVVVVVVVVUUVVUUVVVVUUVVVVVVVVUUVVVVVVVVVVUUVVVVUUVVUUVVVVVVUUVVVVVVVVVVVVVVVVVVUUVVVVVVVVVVUUUUVVUUVVVVVVVVUUVVUUVVVVUUVVVVVVVVUUUUVVVVVVVVVVVVVVVVVVVVVVVVVVUUVVVVUUVVVVVVVVVVVVVVVVVVUUVVVVVVVVUUVVVVVVVVVVVVUUUUVVVVVVUUVVVVVVVVUUVVVVVVVVVVVVVVUUVVUUUUVVVVVVVVUUVVVVVVVVVVVVUUVVVVVVVVVVVVVVVVUUVVUUVVVVUUUUUUVVVVVVVVVVUUVVVVUUUUVVVVUUVVVVVVUUVVVVUUVVVVUUUUUUVVVVVVUUVVVVVVVVVVVVVVVVVVVVUUVVUUUUVVVVVVVVVVVVUUVVVVUUVVVVVVUUUUUUVVUUUUVVVVVVVVUUVVVVUUVVVVVVUUVVVVVVVVVVVVVVVVVVVVVVVVVVVVUUUUVVVVVVVVVVUUVVVVVVVVVVUUVVUUVVUUUUVVVVVVUUVVVVVVVVVVVVVVVVVVVVUUVVUUUUVVUUVVVVVVVVVVVVVVVVUUVVUUVVVVVVVVVVUUVVVVVVVVVVVVVVUUVVUUVVVVVVVVVVUUVVVVVVVVUUUUVVVVUUVVVVUUUUVVUUUUUUUUVVUUUUUUVVVVVVUUVVUUVVUUVVUUVVUUVVVVVVUUVVVVVVVVUUVVVVVVUUVVVVUUVVVVUUUUVUUTR\ro]VTUUVVVVVVUUUUVVUUVVVVVVVVVVVVVVVVUUVVVVVVVVVVUUVVVVUUVVVVVVVVVVVVVVVVUUVVUUUUVVUUUUUUVVVVUUVVVVVVVVUUVVVVUUVVVVVVVUUX`ΏhZUUVVVUUVVVVUUUUVVVVVVVVVVVVVVVVVVUUUUUUUUVVVVVVVVUUUUVVVVVVVVUUUUVVVVVVUUUUUUUUVVVVUUUUVVVVVVVVVVVVVVVVUUVVVVVVUUVVVVVVVVVVUUUUVVVVVVVVVVVVVVUUUUUUUUUUUUVVUUVVVVVVUUVVVVVVVUTj}WUUUVVVVVVVVVVVUUVVVVVVVVUUUUVVVVVVVVUUVVVVVVUUUUVVUUVVUUUUVVVVVVVVUUVVVVVVUUUUVVUUUUUUVVUUUUVVVVUUUUUUVVUUVVVVVVUUUUVVVVUUVVUUUUVVUUUUVVVVVVVVVVUUVVVVVVUUVVVVVVVVVVUUVVUUVUU[hڴgTUVUUVVVVVVUUUUVVVVVVUUUUVVVVVVVVUUVVVVVVUUUUVVUUUUUUVVVVUUU]pڴfTUVVVVVVVVVUUUUVVVVVVVVUUUUVVVVVVVVVVVVVVVVVVVVVVVVUUVVVVUUVVVTRzЗp]UUVVVUUVVUUVVUUVVUUUUVVVVVVVVUUUUVVUUVVVVVVVVVVVVVVVVVVVVUUUUUUVVVVUUUUVVVVUUVVUUUUUUVVUUVVVVUUVVVVVVVVUUUUVVVVVVUUUUVVVVVVVVVVUUVVVVVVUUUUUUUUUUTSR\riWTTUUUUVVUUVVVVUUUUVVUUUUVVUUUUVVVVUUVVVVVVVVUUUUVVUUVVUUUUVVVVVVVVUUVVVVUUVVVVVVUUVVVVUUVVVVUUVVVVUUVVUUVVVVUUVVVVVVVVUUVVUUVVUUVVVVVVVVVVUUUUVVVVVVUUUUUUUUUSRzڴfTUUUUUUVVVVUUUUVVVVUUVVUUUUUUVVVVVVVVVVUUVVVVVVUUUUVVVVVVUUVVUUVVUUUUVVUUUUUUUUUUUUVVUUUUUUUUUUVVVVUUUUVVVVUUUUUUUUVVVVVVUUUUUUVVVVVVUUVVUUUUVVUUUUUUVVVVVVVVUUUUVVUUUUVVUUVVVVVVVVUUUUVVUUUUUUVVUUUUVVVVUUUUVVVVVVVVVVUUVTRzڴfTUVUUUUVVVVUUVVVVVVVVUUUUUUVVUUVVUUUUUUVVVVVVVVUUVVUUVVVVVVVVVVUUVVUUUUVVVVVVVVUUVVVVVVUUVVVVVVUUUUVVUUUUUUVVVVVVVVVVUUUUUUVVVVVVUUVVVVVVVVVVUUVVVVUUVVVVVVVVUUUUUUUUUUVVVVVVUUVVVVVVVVVVVVVVUUVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVUUVVVVVVUUUUVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVUUVVVVVVVVVVUUUUUUVVUUVVVVVVVVVVVUTfڴfTUVVVVVVVUUVVVVVVVVVVVVUUVVVVVVVVVVVVVVVVVVVVVVVVUUVVVVVVUUUUVVVVVVUUVVVVVVVVVVVVVVVVVVVVVVUUVVVVUUVVUUVVVVVVVVVVVVVVVVVVUUVVVVVVVVUUVVUUVVVVVVVVUUVVVVVVVVVVVVVVVVVVVVVVVVUUVVVVVVVVVVUUVVUUUUVVVVVVVVVVVVVVUUVVUUVVVVUUVVUUVVVVVVUUVVVVVVVVUUVVVVVVVVUUVVVVVVUUVVVVVVVVUUVVUUVVVVUUVVVVVVVVUUVVVVVVVVVVUUVVVVUUVVUUVVVVVVUUVVVVVVVVVVVVVVVVVVUUVVVVVVVVVVUUUUVVUUVVVVVVVVUUVVUUVVVVUUVVVVVVVVUUUUVVVVVVVVVVVVVVVVVVVVVVVVVVUUVVVVUUVVVVVVVVVVVVVVVVVVUUVVVVVVVVUUVVVVVVVVVVVVUUUUVVVVVVUUVVVVVVVVUUVVVVVVVVVVVVVVUUVVUUUUVVVVVVVVUUVVVVVVVVVVVVUUVVVVVVVVVVVVVVVVUUVVUUVVVVUUUUUUVVVVVVVVVVUUVVVVUUUUVVVVUUVVVVVVUUVVVVUUVVVVUUUUUUVVVVVVUUVVVVVVVVVVVVVVVVVVVVUUVVUUUUVVVVVVVVVVVVUUVVVVUUVVVVVVUUUUUUVVUUUUVVVVVVVVUUVVVVUUVVVVVVUUVVVVVVVVVVVVVVVVVVVVVVVVVVVVUUUUVVVVVVVVVVUUVVVVVVVVVVUUVVUUVVUUUUVVVVVVUUVVVVVVVVVVVVVVVVVVVVUUVVUUUUVVUUVVVVVVVVVVVVVVVVUUVVUUVVVVVVVVVVUUVVVVVVVVVVVVVVUUVVUUVVVVVVVVVVUUVVVVVVVVUUUUVVVVUUVVVVUUUUVVUUUUUUUUVVUUUUUUVVVVVVUUVVUUVVUUVVUUVVUUVVVVVVUUVVVVVVVVUUVVVVVVUUVVVVUUVVVVUUUUTW\doδrf]WUUUVVVUUUUVVUUVVVVVVVVVVVVVVVVUUVVVVVVVVVVUUVVVVUUVVVVVVVVVVVVVVVVUUVVUUUUVVUUUUUUVVVVUUVVVVVVVVUUVVVVUUVVVVVVVVUUW}ӟw`UUVVVUUVVVVUUUUVVVVVVVVVVVVVVVVVVUUUUUUUUVVVVVVVVUUUUVVVVVVVVUUUUVVVVVVUUUUUUUUVVVVUUUUVVVVVVVVVVVVVVVVUUVVVVVVUUVVVVVVVVVVUUUUVVVVVVVVVVVVVVUUUUUUUUUUUUVVUUVVVVVVUUVVVVVVVTSn̊bXUUVVVVVVVVVVVUUVVVVVVVVUUUUVVVVVVVVUUVVVVVVUUUUVVUUVVUUUUVVVVVVVVUUVVVVVVUUUUVVUUUUUUVVUUUUVVVVUUUUUUVVUUVVVVVVUUUUVVVVUUVVUUUUVVUUUUVVVVVVVVVVUUVVVVVVUUVVVVVVVVVVUUVVUUVUU`wգ}aUUVUUVVVVVVUUUUVVVVVVUUUUVVVVVVVVUUVVVVVVUUUUVVUUUUUUVVVVUUU]pڴfTUVVVVVVVVVUUUUVVVVVVVVUUUUVVVVVVVVVVVVVVVVVVVVVVVVUUVVVVUUVVVTRzЗp]UUVVVUUVVUUVVUUVVUUUUVVVVVVVVUUUUVVUUVVVVVVVVVVVVVVVVVVVVUUUUUUVVVVUUUUVVVVUUVVUUUUUUVVUUVVVVUUVVVVVVVVUUUUVVVVVVUUUUVVVVVVVVVVUUVVVVVVUUUUUUUUUZbjpβxlbYUUUVVUUVVVVUUUUVVUUUUVVUUUUVVVVUUVVVVVVVVUUUUVVUUVVUUUUVVVVVVVVUUVVVVUUVVVVVVUUVVVVUUVVVVUUVVVVUUVVUUVVVVUUVVVVVVVVUUVVUUVVUUVVVVVVVVVVUUUUVVVVVVUUUUUUUUUSRzڴfTUUUUUUVVVVUUUUVVVVUUVVUUUUUUVVVVVVVVVVUUVVVVVVUUUUVVVVVVUUVVUUVVUUUUVVUUUUUUUUUUUUVVUUUUUUUUUUVVVVUUUUVVVVUUUUUUUUVVVVVVUUUUUUVVVVVVUUVVUUUUVVUUUUUUVVVVVVVVUUUUVVUUUUVVUUVVVVVVVVUUUUVVUUUUUUVVUUUUVVVVUUUUVVVVVVVVVVUUVTRzڴfTUVUUUUVVVVUUVVVVVVVVUUUUUUVVUUVVUUUUUUVVVVVVVVUUVVUUVVVVVVVVVVUUVVUUUUVVVVVVVVUUVVVVVVUUVVVVVVUUUUVVUUUUUUVVVVVVVVVVUUUUUUVVVVVVUUVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVUUVVVVVVVVVVVVUUVVVVVVUUVVVVVVVVVVVVVVVVUUTgڴgTUVVVVVVVVVVVVVVVVVVVVVVVVVVVVVUUVVVVVVVVVVVVVVVVVVUUVVVVVVVVVVVVUUVVVVVVVVVVUUVVVVUUVVVVUUVVVVUUVVVVVVVVUUUUVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVUUUUVVUUVVVVVVVVVVVVVVUUVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVUUVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVUUVVVVVVVVVVUUVVVVVVUUVVVVVVUUVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVUUVVVVVVVVVVVVVVVVVVVVVVVVVVVVUUVVVVVVVVUUVVUUVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVUUVVVVVVVVVVVVVVVVVVVVUUVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVUUVVVVVVVVVVVVVVVVVVUUVVVVVVVVVVVVVVVVVVUUVVVVVVVVVVVVVVVVVVVVUUVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVUUVVVVVVUUVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVUUVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVUUVVVVVVVVVVVVVVVVVVUUVVUUUUVVVVVVVVVVVVVVVVUUVVVVUUVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVUUVVVVVVVVVVVVVVVVVVUUVVVVVVVVVVVVVVVVUUVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVUUVVVVVVVVVVVVVVVVUUVVVVUUVVVVVVVVVVVVUUUTS[mo]VTUUVVVVVVVVUUVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVUUVVVVVVVVVVVVVVUUVVVVVVVVVVVVVVVVUUVVVVVVUUVVVVVVUUUUVVVVVVVVVVVVVTUvحdTUVVVVVVVVVVVVVVVVVVVVVVVVVVVUUVVUUVVUUVVVVVVVVUUVVVVVVVVVVUUVVUUVVVVVVVVVVVVVVVVVVVVUUVVVVVVVVUUVVVVVVVVVVVVUUUUVVVVVVUUVVVVVVVVVVVVVVVVVVVVUUVVVVVVVVUUVVVVVVVVVVVVVVVVVVVTStҝu_UUVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVUUVVVVVVVVVVVVUUVVVVVVUUUUVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVUUVVUUVVVVVVVVUUVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVUUVVVVVVUUVVVVVVVVVVVVUUVVUUVVVVVUUeϑj\UUVVVVVVVVVVVVVVVVVVVVVVVUUVVVVVVVVVVVVVVVVVVUUVVVVVVVVVVVUU]oڴfTUVVVVVVVVVUUUUVVVVVVUUUUUUVVVVVVVVUUVVVVVVVVVVVVVVVVVVVVVVUUUTRzЗp]UUUVVUUVVUUUUVVVVUUVVVVVVVVVVVVVVUUUUVVVVVVUUUUVVVVVVVVUUVVVVVVVVVVVVUUVVVVVVVVVVVVVVUUVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVUUVVVVVVUUVVVVUUVUUUXf˶eWUUUVUUVVUUVVVVVVVVVVVVVVVVVVVVUUVVUUVVUUVVVVVVVVVVVVVVUUVVUUVVVVVVVVVVVVUUVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVUUVVUUVVVVUUVVVVVVUUVVUUVVVVVVVVVVVVVTRzڴfTUVVVUUUUVVVVVVVVVVUUVVVVVVVVVVVVVVUUUUVVUUVVUUVVVVUUVVVVUUUUVVVVVVUUVVVVVVVVVVVVUUUUVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVUUVVVVVVVVVVVVUUUUVVVVVVVVUUUUVVVVVVVVVVUUVVVVVVVVVVVVVVVVUUVVVVVVVVUUVVVVVVVVVVVVVVVVUUUUVVVVUUUUVTSzڴgTUVVVVVVVUUUUUUVVUUVVVVUUVVVVUUVVVVVVUUVVVVVVVVVVUUUUVVUUVVUUUUUUUUVVVVVVUUVVVVVVUUVVVVUUVVUUUUVVUUVVVVVVVVVVUUVVVVVVVVVVVVVVUUVVUUVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVUUVVVVVVVVVVVVUUVVVVVVUUVVVVVVVVVVVVVVVVUUTgڴgTUVVVVVVVVVVVVVVVVVVVVVVVVVVVVVUUVVVVVVVVVVVVVVVVVVUUVVVVVVVVVVVVUUVVVVVVVVVVUUVVVVUUVVVVUUVVVVUUVVVVVVVVUUUUVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVUUUUVVUUVVVVVVVVVVVVVVUUVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVUUVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVUUVVVVVVVVVVUUVVVVVVUUVVVVVVUUVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVUUVVVVVVVVVVVVVVVVVVVVVVVVVVVVUUVVVVVVVVUUVVUUVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVUUVVVVVVVVVVVVVVVVVVVVUUVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVUUVVVVVVVVVVVVVVVVVVUUVVVVVVVVVVVVVVVVVVUUVVVVVVVVVVVVVVVVVVVVUUVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVUUVVVVVVUUVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVUUVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVUUVVVVVVVVVVVVVVVVVVUUVVUUUUVVVVVVVVVVVVVVVVUUVVVVUUVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVUUVVVVVVVVVVVVVVVVVVUUVVVVVVVVVVVVVVVVUUVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVUUVVVVVVVVVVVVVVVVUUVVVVUUVVVVVVVVVVVUUUY`j{δ~nbYUUUVVVVVVUUVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVUUVVVVVVVVVVVVVVUUVVVVVVVVVVVVVVVVUUVVVVVVUUVVVVVVUUUUVVVVVVVVVVVVVTSpܺiTUVVVVVVVVVVVVVVVVVVVVVVVVVVVUUVVUUVVUUVVVVVVVVUUVVVVVVVVVVUUVVUUVVVVVVVVVVVVVVVVVVVVUUVVVVVVVVUUVVVVVVVVVVVVUUUUVVVVVVUUVVVVVVVVVVVVVVVVVVVVUUVVVVVVVVUUVVVVVVVVVVVVVVVVVVVUW}خeUUVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVUUVVVVVVVVVVVVUUVVVVVVUUUUVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVUUVVUUVVVVVVVVUUVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVUUVVVVVVUUVVVVVVVVVVVVUUVVUUVVVVVUTiȃ]WVVVVVVVVVVVVVVVVVVVVVVVVVUUVVVVVVVVVVVVVVVVVVUUVVVVVVVVVVVUU]oڴgTUVVVVVVVVVUUUUVVVVVVUUUUUUVVVVVVVVUUVVVVVVVVVVVVVVVVVVVVVVUUUTSzЗp]UUUVVUUVVUUUUVVVVUUVVVVVVVVVVVVVVUUUUVVVVVVUUUUVVVVVVVVUUVVVVVVVVVVVVUUVVVVVVVVVVVVVVUUVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVUUVVVVVVUUVVVVUTTXbmx¦wi^XTUUVVUUVVVVVVVVVVVVVVVVVVVVUUVVUUVVUUVVVVVVVVVVVVVVUUVVUUVVVVVVVVVVVVUUVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVUUVVUUVVVVUUVVVVVVUUVVUUVVVVVVVVVVVVVTSzڴgTUVVVUUUUVVVVVVVVVVUUVVVVVVVVVVVVVVUUUUVVUUVVUUVVVVUUVVVVUUUUVVVVVVUUVVVVVVVVVVVVUUUUVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVUUVVVVVVVVVVVVUUUUVVVVVVVVUUUUVVVVVVVVVVUUVVVVVVVVVVVVVVVVUUVVVVVVVVUUVVVVVVVVVVVVVVVVUUUUVVVVUUUUVTRzڴgTUVVVVVVVUUUUUUVVUUVVVVUUVVVVUUVVVVVVUUVVVVVVVVVVUUUUVVUUVVUUUUUUUUVVVVVVUUVVVVVVUUVVVVUUVVUUUUVVUUVVVVVVVVVVUUVVVVVVVVVVVVVVUUVVUUVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVUTgڴgUUVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVUUVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVUUVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVUUVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVUUVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVUUVVVVVVVVVVVVVVVVVVVVVVVUTXbx̸fXUUVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVUUVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVUTjŞmTUVVVVVVVVVUUVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVUUVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVUUVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVUYbܼjTUVVVVVVVVVVVVVVVVVVVVVVVUUVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVUUVVVVVVVVVVVVVVVVVVUUVVVVVVVVVVVVVVVVVVVVVVVVVVVVUUVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVUUVTSnzVUVVVVVVVVVVVVVVVUUVVVVVVVVVVVVUUVVVVVVVVVVVVVVVVVVVVVVVVVVVUU]pڴgTUVVVVVVVVVVVVVVVVVVVVVVVUUVVVVVVVVVVVVVVVVVVVVVVVVUUVVVVVVVVVTSzїp]UUVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVUUVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVUUUUVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVUUSRa~ɲr]STUVVVVVVVVVVVVVVUUVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVUUUUVVUUVVVVVVVVVVUUUUVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVUUVVVVVVVVVVVVVTSzڴgTUUVVVVVVVVVVUUVVVVVVVVUUVVVVVVVVVVUUVVVVUUVVVVUUVVVVVVVVVVVVVVUUVVVVVVVVVVVVVVVVVVUUVVVVVVUUVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVUUVVVVVVUUVVVVVVVVVVVVVVVVVVUUVVVVVVVVVVVVUUVVVVVVVVVVVVVVVVUUVVUUVVVVVVVVVVVVUUVVVTRzڴgTUVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVUUVVVVVVVVVVVVVVVVVVVVVVVVUUVVVVVVVVVVVVVVUUVVVVVVVVVVVVVVVVUUVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVUTgڴgUUVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVUUVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVUUVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVUUVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVUUVVVVVVVVVVVVVVVVVVVVUUV[dr¦uf]WUUVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVUUVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVUUeҪpSUVVVVVVVVVUUVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVUUVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVUUVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVUU^rˣnTUVVVVVVVVVVVVVVVVVVVVVVVUUVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVUUVVVVVVVVVVVVVVVVVVUUVVVVVVVVVVVVVVVVVVVVVVVVVVVVUUVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVUUVTRrڲsSTVVVVVVVVVVVVVVVUUVVVVVVVVVVVVUUVVVVVVVVVVVVVVVVVVVVVVVVVVVUU]pڴgTUVVVVVVVVVVVVVVVVVVVVVVVUUVVVVVVVVVVVVVVVVVVVVVVVVUUVVVVVVVVVTRzїp]UUVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVUUVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVUUUUVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVUUTW^foط}j_YVUVVVVVVVVVVVVUUVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVUUUUVVUUVVVVVVVVVVUUUUVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVUUVVVVVVVVVVVVVTSzڴgTUUVVVVVVVVVVUUVVVVVVVVUUVVVVVVVVVVUUVVVVUUVVVVUUVVVVVVVVVVVVVVUUVVVVVVVVVVVVVVVVVVUUVVVVVVUUVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVUUVVVVVVUUVVVVVVVVVVVVVVVVVVUUVVVVVVVVVVVVUUVVVVVVVVVVVVVVVVUUVVUUVVVVVVVVVVVVUUVVVTRzڴgTUVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVUUVVVVVVVVVVVVVVVVVVVVVVVVUUVVVVVVVVVVVVVVUUVVVVVVVVVVVVVVVVUUVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVWWVVVVVVVVWWVVVVWWVVVVVVVVVVVVVVVVVVVVVVWWVVWWWWVVVVVVVVVVVVVVVVWWWWVVWWVVVVVVVVVVVVVVVVVVVVVVWWVVVVVVVVVVVVWWVVWWVVVVVVVVVVWWVVVVWWVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVWWWWVVVVVUUgڴgUUVVVVVVVVVWWVVWWVVVVVVWWVVVVVVWWVVVVVVWWVVVVVVWWVVVVVVVVVVWWVVVVVVVVVVVVWWVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVWWVVVVVVVVVVWWWWVVVVVVWWVVVVVVVVVVVVVVVVVVVVVVVVVVVVWWVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVWWVVVVVVVVVVVVWWVVWWVVVVVVVVVVWWVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVWWVVVVVVVVWWVVVVVVVVVVVVVVVVWWVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVWWVVVVVVVVWWVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVWWWWVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVWWWVVVVVVVWWVVVVWWVVVVVVVVVVVVVVWWVVVVVVVVVVVVVVVVVVVVVVVVWWVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVWWVVVVVVVVVVVVVVVVVVVVVVVVVVVVWWVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVWWVVVVVVVVVVVVVVVVVVVVVVWWVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVWWVVVVVVWWVVVVVVWWVVVVVVVVVVWWVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVWWVVVVVVVVVVVVVVVVVVWWVVVVVVVVVVVVVVVVVVVVVVVVVVVVWWVVVVVVVVVVVVVVWWVVWWVVVVVVWWVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVUUXhīm[TUVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVUU`wuSTVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVWWVVVVVVVVVVVVVVVVVVVVWWVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVUUdٲsSTVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVSRwˣnTUVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVUU]pڴgTUVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVTRzїp]UUVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVUUVVVVVVVVVVVVVVVVVVVVVVVVVVUUVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVUTS]r˶xaXTUVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVUUVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVTSzڴgTUVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVUUVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVUUVVVVVVVVVVVVVVVVVVVVVVVTRzڴgTUVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVUUVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVWWVVVVVVVVWWVVVVWWVVVVVVVVVVVVVVVVWWVVVVWWVVWWWWVVVVVVVVVVVVVVVVWWWWVVWWVVVVVVVVVVVVVVVVVVVVVVWWVVVVVVVVVVVVWWVVWWVVVVVVVVVVWWVVVVWWVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVWWWWVVVVVUUgڴgUUVVVVVVVVVWWVVWWVVVVVVWWVVVVVVWWVVVVVVWWVVVVVVWWVVVVVVVVVVWWVVVVVVVVVVVVWWVVVVVVVVVVVVVVVVVVWWVVVVVVVVVVVVVVVVVVVVVVWWVVVVVVWWVVWWWWVVVVVVWWVVVVVVVVVVVVVVVVVVVVVVVVVVVVWWVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVWWVVVVVVVVVVVVWWVVWWVVVVVVVVVVWWVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVWWVVVVVVVVWWVVVVVVVVVVVVVVVVWWVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVWWVVVVVVVVVVVVVVVVVVVVVVVVVVWWVVVVVVVVVVVVVVVVVVVVWWVVVVVVVVWWVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVWWWWVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVWWWWVVVVVVWWVVVVWWVVVVVVVVVVVVVVWWVVVVVVVVVVVVVVVVVVVVVVVVWWVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVWWVVVVVVVVVVVVVVVVVVVVVVVVVVVVWWVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVWWVVVVVVVVVVVVVVVVVVVVVVWWVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVWWVVVVVVWWVVVVVVWWVVVVVVVVVVWWVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVWWVVVVVVVVVVVVVVVVVVWWVVVVVVVVVVVVVVVVVVVVVVVVVVVVWWVVVVVVVVVVVVVVWWVVWWVVVVVVWWVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVUV[etѰzh\VUVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVUU[h~XUVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVWWVVVVVVVVVVVVVVVVVVVVWWVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVUTj|XUVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVYܺiTUVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVU]pڴgUUVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVTRzїp]UUVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVUUVVVVVVVVVVVVVVVVVVVVVVVVVVUUVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVUUW[co paXTUVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVUUVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVTSzڴgUUVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVUUVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVUUVVVVVVVVVVVVVVVVVVVVVVVTSzڴgUUVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVUUVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVWWVVWWVVWWVVVVWWVVWWVVVVVVWWWWWWVVVVVVVVWWVVVVVVWWVVVVWWVVWWVVWWVVVVVVWWVVVVVVVVWWVVVVVVWWWWVVVVVVVVVVWWVVVVVVWWVVVVVVVVVVVVVVVVWWVVVVVVVVWWWWVVVVVVWWVVVVWWWWWWVVVVVVWWVVVVVVVVVVVVVVVVVVWWVVWWVVWWVVVUUgڴgUUWWWVVVVVVVVVVVVWWVVVVVVVVVVVVVVVVVVVVWWVVVVWWVVWWVVVVVVVVVVWWVVWWVVWWVVVVVVVVVVWWVVWWVVWWVVWWVVVVVVWWVVVVVVWWWWVVVVWWVVVVVVWWWWWWVVVVVVVVVVVVVVVVVVVVWWVVVVWWVVVVVVVVVVVVVVVVVVVVWWVVVVVVVVVVVVVVWWWWVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVWWVVWWVVWWVVWWWWVVWWVVWWVVWWVVVVVVVVVVVVWWVVVVVVVVVVWWWWWWVVVVVVWWVVWWVVVVWWVVVVVVWWVVVVVVVVWWWWVVVVVVVVVVVVWWVVWWWWWWVVVVVVVVWWWWWWVVVVWWWWVVWWVVWWWWVVWWVVWWWWVVVVWWVVVVVVVVVVWWVVWWWWVVVVVVVVWWVVVVVVVVVVVVVVVVVVWWVVVVWWWWVVWWVVVVVVVVVVVVWWVVVVVVVVVVVVVVWWVVWWWWVVVVVVVVVVVVVVVVVVVVWWVVVVVVVVVVVVVVWWVVVVVVVVVVVVVVVVVVWWVVVVVVVVVVVVVVVVVVVVVVVVVVWWVVVVVVWWVVVVVVVVVVVVVVVVVVVVVVVVVVWWVVWWVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVWWVVVVVVWWVVVVVVVVVVVVVVVVVVVVWWVVVVWWVVVVVVVVVVWWVVVVWWVVVVVVVVWWWWVVWWWWWWVVVVWWWWWWVVVVVVWWVVWWVVVVVVVVWWVVWWWWVVVVVVVVVVVVWWVVVVVVVVVVVVVVVVVVVVWWVVWWVVVVVVVVVVVVWWWWVVVVVVVVWWVVVVVVWWVVWWWWVVVVVVVVWWVVVVVVVVVVWWVVWWVVVVWWWWVVWWVVWWVVVVVVVVVVVVWWVVVVVVVVVVVVVVVVWWVVVVVVVVVVVVVVVVWWWWVVVVVVWWVVVVVVVVVVVVVVVVVVVVWWWWVVWVTYgȰkXUUVVVVVVVVVVVVVVVVVVVVWWWWVVVVVVVVWWVVVVVVVVVVVVVVVVVVVVVVVVWWWWWWVVWWVVVVWWVVVVVVVVWWVVVVVVVVVVVVWWWWVVVVYˊcYUVVVVVVWWWWWWVVVVWWVVVVVVVVVVVVVVVVVVVVVVVVWWVVVVVVVVWWVVVVVVVVVVVVVVVVVVVVVVWWWWVVVVWWVVWWVVVVVVVVVVWWVVVVVVVVVVWWWWVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVWWVVVVVVVVVVVUTpɉcYUVVVVVVVVVVVVVVVVVVVVVVWWVVVVVVVVVVVVVVVVVVVVWWVVVVVVVVWWVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVWWVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVWWVVVVVVVVWWVVVVVVVVWWVVVVVVWWVVVVVVVVVVVVVVVVV[h֨cUUVVVVVVVVVVVVVVVWWVVVVVVVVWWVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVWVU]pڴgUUVVVVVWWWWVVVVVVVVVVVVVVVVVVVVVVVVWWVVWWVVVVWWWWVVVVVVVVVVVVVTRzїp^VVVWWVVVVVVWWVVVVWWVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVWWVVVVVVWWVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVWWVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVUTZhտ}`RTVVWWWVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVWWVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVWWVVVVVVVVVVVVVVVVVVVVVTSzڴgUUVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVWWVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVWWVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVWWVVVVWWVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVTSzڴgUUVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVWWVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVWWVVWWVVWWVVVVWWVVWWVVVVVVWWWWWWVVVVVVVVWWVVVVVVWWVVVVWWVVWWVVWWVVVVVVWWVVVVVVVVWWVVVVVVWWWWVVVVVVVVVVWWVVVVVVWWVVVVVVVVVVVVVVVVWWVVVVVVVVWWWWVVVVVVWWVVVVWWWWWWVVVVVVWWVVVVVVVVVVVVVVVVVVWWVVWWVVWWVVVUUgڴhUVWWWVVVVVVVVVVVVWWVVVVVVVVVVVVVVVVVVVVWWVVVVWWVVWWVVVVVVVVVVWWVVWWVVWWVVVVVVVVVVWWVVWWVVWWVVWWVVVVVVWWVVVVVVWWWWVVVVWWVVVVVVWWWWWWVVVVVVVVVVVVVVVVVVVVWWVVVVWWVVVVVVVVVVVVVVVVVVVVWWVVVVVVVVVVVVVVWWWWVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVWWVVWWVVWWVVWWWWVVWWVVWWVVWWVVVVVVVVVVVVWWVVVVVVVVVVWWWWWWVVVVVVWWVVWWVVVVWWVVVVVVWWVVVVVVVVWWWWVVVVVVVVVVVVWWVVWWWWWWVVVVVVVVWWWWWWVVVVWWWWVVWWVVWWWWVVWWVVWWWWVVVVWWVVVVVVVVVVWWVVWWWWVVVVVVVVWWVVVVVVVVVVVVVVVVVVWWVVVVWWWWVVWWVVVVVVVVVVVVWWVVVVVVVVVVVVVVWWVVWWWWVVVVVVVVVVVVVVVVVVVVWWVVVVVVVVVVVVVVWWVVVVVVVVVVVVVVVVVVWWVVVVVVVVVVVVVVVVVVVVVVVVVVWWVVVVVVWWVVVVVVVVVVVVVVVVVVVVVVVVVVWWVVWWVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVWWVVVVVVWWVVVVVVVVVVVVVVVVVVVVWWVVVVWWVVVVVVVVVVWWVVVVWWVVVVVVVVWWWWVVWWWWWWVVVVWWWWWWVVVVVVWWVVWWVVVVVVVVWWVVWWWWVVVVVVVVVVVVWWVVVVVVVVVVVVVVVVVVVVWWVVWWVVVVVVVVVVVVWWWWVVVVVVVVWWVVVVVVWWVVWWWWVVVVVVVVWWVVVVVVVVVVWWVVWWVVVVWWWWVVWWVVWWVVVVVVVVVVVVWWVVVVVVVVVVVVVVVVWWVVVVVVVVVVVVVVVVWWWWVVVVVVWWVVVVVVVVVVVVVVVVVVVVWWWWVUUYdtԸvg]WUVVVVVVVVVVVVVVVVVVWWWWVVVVVVVVWWVVVVVVVVVVVVVVVVVVVVVVVVWWWWWWVVWWVVVVWWVVVVVVVVWWVVVVVVVVVVVVWWWWVVVTSwЖn]UVVVVVVWWWWWWVVVVWWVVVVVVVVVVVVVVVVVVVVVVVVWWVVVVVVVVWWVVVVVVVVVVVVVVVVVVVVVVWWWWVVVVWWVVWWVVVVVVVVVVWWVVVVVVVVVVWWWWVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVWWVVVVVVVVVVVUUvЗp]UVVVVVVVVVVVVVVVVVVVVVVWWVVVVVVVVVVVVVVVVVVVVWWVVVVVVVVWWVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVWWVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVWWVVVVVVVVWWVVVVVVVVWWVVVVVVWWVVVVVVVVVVVVVVVUU`wЗo]UUVVVVVVVVVVVVVVVWWVVVVVVVVWWVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVWVU]pڴgUUVVVVVWWWWVVVVVVVVVVVVVVVVVVVVVVVVWWVVWWVVVVWWWWVVVVVVVVVVVVVTSzїp^VVVWWVVVVVVWWVVVVWWVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVWWVVVVVVWWVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVWWVVVVVVVVVVVVVVVVVVVVVVVVVVVVUVX^ixäl`YWVVWVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVWWVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVWWVVVVVVVVVVVVVVVVVVVVVTSzڴgUUVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVWWVVVVVVVVWWVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVWWVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVWWVVVVWWVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVTSzڴgUUVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVWWVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVWWVVVVWWVVWWVVVVWWWWWWWWVVWWWWVVWWVVWWWWWWVVVVWWVVVVWWVVVVVVVVWWWWWWWWVVWWVVWWVVWWWWVVVVVVWWWWWWVVWWVVWWVVVVWWVVWWWWVVWWVVWWVVWWWWVVWWVVVVWWVVVVWWVVWWVVVVWWWWVVWWVVVVVVVVWWVVWWVVWWWWVVWWVVVVWWWWVVWWWWWUUgڴgUUWWWVVWWVVVVVVWWVVVVVVVVVVVVWWWWWWWWVVWWVVVVWWWWWWVVVVWWVVVVWWVVVVVVVVVVWWWWVVWWVVWWVVVVWWVVWWWWVVWWWWVVWWWWVVWWVVWWVVWWWWVVWWWWVVWWWWVVWWVVWWWWVVVVVVWWWWVVVVWWVVVVVVWWVVWWWWVVWWVVVVVVVVWWWWVVVVVVVVVVWWWWVVVVVVVVVVWWWWVVVVWWVVVVVVVVVVWWVVWWVVWWVVVVVVWWVVVVVVVVVVWWWWWWVVWWWWVVWWWWVVVVVVVVVVWWWWVVVVWWWWVVWWVVVVVVVVVVVVWWWWVVVVWWWWVVWWVVWWVVWWWWWWWWWWVVVVVVVVVVWWVVWWVVVVVVWWVVVVVVVVWWWWVVWWWWWWVVVVVVVVWWWWVVWWVVVVVVWWVVVVWWWWWWVVVVWWWWVVWWWWWWVVWWWWVVVVVVWWVVVVVVWWVVVVWWVVVVVVVVVVWWWWVVWWWWVVWWVVVVWWWWVVVVVVVVVVVVVVVVWWVVWWWWWWVVVVVVWWWWVVWWVVVVVVVVWWVVVVWWVVVVWWWWWWVVVVVVWWVVVVVVWWWWVVWWWWVVWWVVWWWWVVVVVVWWVVVVVVVVVVVVWWWWWWVVWWVVWWVVVVVVVVWWVVVVWWWWWWVVVVWWWWWWVVVVWWVVWWWWVVVVWWWWVVWWWWVVVVVVWWVVVVVVVVVVVVVVWWWWVVWWVVVVVVWWVVWWWWWWWWVVVVVVVVWWWWVVWWWWVVWWWWVVWWWWWWVVWWVVWWVVVVWWWWVVVVWWWWVVVVVVWWVVVVVVVVWWVVWWWWWWVVVVVVWWVVVVVVWWWWWWVVWWVVVVVVWWWWVVWWVVWWWWVVVVWWWWVVVVVVVVVVVVVVWWVVWWVVWWVVWWWWVVVVVVVVWWVVVVWWWWWWVVVVVVVVVVVVVVWWWWVVWWWWVVVVVVVVWWVVWWVVWWVVWWWWWWVUSc̰m[TUVVVVVVVWWVVVVVVVVVVWWVVVVVVVVVVVVVVVVVVVVWWVVVVVVWWVVVVWWVVVVVVWWWWWWWWVVVVVVVVWWVVVVWWVVVVVVVVVVVVWUTqԡy`UVWWWVVVVWWWWVVVVVVVVVVVVVVVVVVWWVVVVVVVVVVWWVVVVVVVVWWVVVVVVWWWWVVWWWWVVVVVVWWVVWWWWVVWWWWVVWWWWVVVVWWVVVVVVVVVVVVVVWWVVWWWWVVWWVVWWVVWWVVVVVVWWVVVVWWVVVVVVVVVVWWWWWVVUX}զ~bUVWWWVVWWVVWWWWVVWWWWWWVVVVVVVVWWVVWWWWVVVVVVVVWWVVVVWWWWVVVVVVVVVVWWVVVVWWWWVVWWVVVVVVVVVVWWVVVVWWVVVVVVVVVVWWWWWWVVVVWWWWVVWWVVVVWWVVWWWWWWVVVVVVVVWWWWVVVVVVVVVVVVWUUëaXUVVWWVVWWWWVVVVVVVVWWVVVVWWWWVVVVVVVVVVWWVVVVWWWWVVWWVVVVVVVVV^pڴgUUWVVWWWWVVVVVVVVVVWWWWVVVVVVVVVVWWVVVVVVVVVVVVVVWWVVVVWWWWWWVTSzїp]UVVVVVVWWWWVVVVVVWWVVVVVVVVVVVVVVVVVVVVWWVVVVWWVVVVVVVVVVVVVVVVVVVVWWVVVVWWVVVVVVWWVVVVVVVVVVWWWWVVVVVVWWVVVVVVVVWWVVWWVVVVWWVVUW]qѽzbYUVVWWVVVVVVWWVVVVWWWWWWVVVVWWVVWWVVWWWWVVVVVVVVWWVVVVVVVVVVVVWWVVVVVVWWVVVVVVWWVVWWVVVVVVVVVVVVVVVVVVVVWWWWVVWWWWWWVVWWWWVVVVWWWWVVVVVVVVVVVTSzڴgUUVVVVVWWVVWWVVVVVVVVVVWWVVWWVVWWVVWWVVVVVVVVWWVVVVVVWWWWWWVVVVVVVVWWVVVVVVVVVVVVWWVVWWVVWWVVVVVVWWVVVVVVVVWWVVVVVVWWVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVWWVVVVVVVVWWWWVVVVVVWWVVVVVVWWVVVVVVVVVVVVVVVVVVVVVVVVVVVVWWVVWUSzڴgUUVVVVVWWWWVVVVWWVVVVVVVVVVVVVVVVWWVVVVVVVVVVVVVVVVVVVVVVVVVVVVWWVVVVVVVVWWVVWWVVVVVVVVVVVVWWVVVVVVWWVVVVWWVVVVVVVVWWVVVVVVVVVVVVVVWWVVVVWWVVWWVVVVWWWWWWWWVVWWWWVVWWVVWWWWWWVVVVWWVVVVWWVVVVVVVVWWWWWWWWVVWWVVWWVVWWWWVVVVVVWWWWWWVVWWVVWWVVVVWWVVWWWWVVWWVVWWVVWWWWVVWWVVVVWWVVVVWWVVWWVVVVWWWWVVWWVVVVVVVVWWVVWWVVWWWWVVWWVVVVWWWWVVWWWWWUUgڴgUUWWWVVWWVVVVVVWWVVVVVVVVVVVVWWWWWWWWVVWWVVVVWWWWWWVVVVWWVVVVWWVVVVVVVVVVWWWWVVWWVVWWVVVVWWVVWWWWVVWWWWVVWWWWVVWWVVWWVVWWWWVVWWWWVVWWWWVVWWVVWWWWVVVVVVWWWWVVVVWWVVVVVVWWVVWWWWVVWWVVVVVVVVWWWWVVVVVVVVVVWWWWVVVVVVVVVVWWWWVVVVWWVVVVVVVVVVWWVVWWVVWWVVVVVVWWVVVVVVVVVVWWWWWWVVWWWWVVWWWWVVVVVVVVVVWWWWVVVVWWWWVVWWVVVVVVVVVVVVWWWWVVVVWWWWVVWWVVWWVVWWWWWWWWWWVVVVVVVVVVWWVVWWVVVVVVWWVVVVVVVVWWWWVVWWWWWWVVVVVVVVWWWWVVWWVVVVVVWWVVVVWWWWWWVVVVWWWWVVWWWWWWVVWWWWVVVVVVWWVVVVVVWWVVVVWWVVVVVVVVVVWWWWVVWWWWVVWWVVVVWWWWVVVVVVVVVVVVVVVVWWVVWWWWWWVVVVVVWWWWVVWWVVVVVVVVWWVVVVWWVVVVWWWWWWVVVVVVWWVVVVVVWWWWVVWWWWVVWWVVWWWWVVVVVVWWVVVVVVVVVVVVWWWWWWVVWWVVWWVVVVVVVVWWVVVVWWWWWWVVVVWWWWWWVVVVWWVVWWWWVVVVWWWWVVWWWWVVVVVVWWVVVVVVVVVVVVVVWWWWVVWWVVVVVVWWVVWWWWWWWWVVVVVVVVWWWWVVWWWWVVWWWWVVWWWWWWVVWWVVWWVVVVWWWWVVVVWWWWVVVVVVWWVVVVVVVVWWVVWWWWWWVVVVVVWWVVVVVVWWWWWWVVWWVVVVVVWWWWVVWWVVWWWWVVVVWWWWVVVVVVVVVVVVVVWWVVWWVVWWVVWWWWVVVVVVVVWWVVVVWWWWWWVVVVVVVVVVVVVVWWWWVVWWWWVVVVVVVVWWVVWWVVWWVVWWWWVWX_lֱwf\WVVVVVVWWVVVVVVVVVVWWVVVVVVVVVVVVVVVVVVVVWWVVVVVVWWVVVVWWVVVVVVWWWWWWWWVVVVVVVVWWVVVVWWVVVVVVVVVVVVWUUmحeUVWWWVVVVWWWWVVVVVVVVVVVVVVVVVVWWVVVVVVVVVVWWVVVVVVVVWWVVVVVVWWWWVVWWWWVVVVVVWWVVWWWWVVWWWWVVWWWWVVVVWWVVVVVVVVVVVVVVWWVVWWWWVVWWVVWWVVWWVVVVVVWWVVVVWWVVVVVVVVVVWWWWWVVYc۷hTUWWWVVWWVVWWWWVVWWWWWWVVVVVVVVWWVVWWWWVVVVVVVVWWVVVVWWWWVVVVVVVVVVWWVVVVWWWWVVWWVVVVVVVVVVWWVVVVWWVVVVVVVVVVWWWWWWVVVVWWWWVVWWVVVVWWVVWWWWWWVVVVVVVVWWWWVVVVVVVVVVVVWUUj~XVVVVWWVVWWWWVVVVVVVVWWVVVVWWWWVVVVVVVVVVWWVVVVWWWWVVWWVVVVVVVVV^pڴgUUWVVWWWWVVVVVVVVVVWWWWVVVVVVVVVVWWVVVVVVVVVVVVVVWWVVVVWWWWWWVTSzїp]UVVVVVVWWWWVVVVVVWWVVVVVVVVVVVVVVVVVVVVWWVVVVWWVVVVVVVVVVVVVVVVVVVVWWVVVVWWVVVVVVWWVVVVVVVVVVWWWWVVVVVVWWVVVVVVVVWWVVWWVVVVWVUYbn~ȣo`XUVWVVVVVVWWVVVVWWWWWWVVVVWWVVWWVVWWWWVVVVVVVVWWVVVVVVVVVVVVWWVVVVVVWWVVVVVVWWVVWWVVVVVVVVVVVVVVVVVVVVWWWWVVWWWWWWVVWWWWVVVVWWWWVVVVVVVVVVVUSzڴgUUVVVVVWWVVWWVVVVVVVVVVWWVVWWVVWWVVWWVVVVVVVVWWVVVVVVWWWWWWVVVVVVVVWWVVVVVVVVVVVVWWVVWWVVWWVVVVVVWWVVVVVVVVWWVVVVVVWWVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVWWVVVVVVVVWWWWVVVVVVWWVVVVVVWWVVVVVVVVVVVVVVVVVVVVVVVVVVVVWWVVWUSzڴgUUVVVVVWWWWVVVVWWVVVVVVVVVVVVVVVVWWVVVVVVVVVVVVVVVVVVVVVVVVVVVVWWVVVVVVVVWWVVWWVVVVVVVVVVVVWWVVVVVVWWVVVVWWVVVVVVVVWWVVVVVVVVVVVVVVWWWWWWVVWWVVWWWWWWWWWWVVVVVVVVWWWWWWVVVVWWWWWWWWVVWWWWWWVVWWWWWWWWWWVVVVWWWWWWVVVVVVWWWWVVWWWWWWVVWWWWWWVVWWVVWWVVVVVVWWVVWWVVVVWWWWWWWWVVWWVVWWVVWWWWWWVVWWVVWWWWWWWWWWWWWWWWWWWWWWWWVVWWWWWWWWWWWWVVWWWUUgڴhUUVVVWWVVWWVVVVVVWWWWVVWWWWVVWWWWVVVVWWVVWWWWWWWWVVWWVVWWWWWWWWWWWWVVWWVVVVWWVVWWVVWWWWWWWWWWVVVVWWWWWWWWVVVVWWWWWWWWVVWWWWVVWWWWVVVVWWVVVVVVWWVVWWVVVVVVWWWWWWWWWWVVVVWWWWWWWWVVWWVVWWVVVVWWWWWWWWVVWWWWWWWWVVVVWWVVWWVVWWWWWWVVVVWWWWWWWWVVVVWWWWWWWWVVWWWWVVWWWWVVVVVVWWWWWWVVWWWWWWWWWWVVWWVVWWWWVVWWWWVVVVVVWWWWVVVVWWVVVVWWWWWWWWWWWWVVVVVVWWWWWWVVWWWWWWWWVVWWVVWWVVVVVVVVWWVVWWVVWWVVWWWWVVVVWWWWWWVVWWVVWWVVWWVVVVVVVVWWWWVVWWWWWWWWWWWWVVWWWWVVWWVVVVWWVVVVWWVVWWVVWWVVWWWWWWWWVVWWVVWWWWVVWWWWWWWWVVWWWWWWVVWWWWVVWWVVVVWWWWWWWWVVWWWWVVVVVVWWWWWWVVVVWWVVVVVVWWWWVVWWWWVVVVVVWWWWVVWWVVWWVVVVWWVVWWVVVVWWVVWWWWWWWWVVWWWWWWWWVVVVVVVVVVWWWWWWWWWWVVVVWWWWWWVVWWWWWWWWWWVVVVWWVVWWWWVVWWVVWWWWVVVVVVWWVVWWWWWWVVWWWWWWWWWWWWWWVVWWWWWWWWWWVVWWWWWWWWWWWWWWWWWWWWVVVVWWVVWWVVVVWWVVVVWWVVWWWWVVWWVVWWWWVVWWWWWWWWWWVVWWWWWWVVWWWWWWWWVVWWWWWWWWVVWWVVWWVVWWVVWWWWVVVVVVVVWWWWWWWWWWVVVVWWWWVVWWWWWWWWVVWWVVVVVVVVVVWWVVWWWWWWWWWWVVWWWWWWWWWWWWWWVVWWVVVVVVWWWWWWVVWWWWWWWWWWWWWWVVVVWWWWVVVVVVVVWWVVUW]uƪjXVVVVVVWWVVVVWWWWWWWWVVWWVVVVWWWWVVWWWWWWWWWWWWWWWWWWVVVVWWVVWWWWVVVVVVWWVVWWWWVVVVWWVVVVVVWWVVWWVVWVUgܻjUUWWWWWWWWWVVVVWWWWWWWWVVWWWWVVWWVVWWWWVVVVVVVVWWWWVVWWWWVVWWVVVVVVWWVVWWVVWWWWWWWWVVWWWWWWVVVVWWVVWWVVWWVVWWVVVVWWVVWWWWVVWWVVVVVVWWVVVVVVVVVVWWWWWWWWWWWWVVWWWWVVVVVVU_uȡnTUVVVVVVVWWWWVVWWWWWWWWVVVVVVWWWWVVWWVVWWVVWWVVVVWWWWWWVVVVWWWWWWWWWWWWVVWWWWVVVVVVWWVVVVVVWWWWWWWWWWWWVVWWWWVVVVVVVVVVWWWWVVVVWWWWVVWWVVVVVVVVVVVVWWWWVVVVWWWWVVWWVVWUTn߸wUUVWWWWVVWWVVWWVVWWVVVVWWWWWWVVVVWWWWWWWWWWWWVVWWWWVVVVVVWWVVVVV^pڴhUVWWWVVVVVVWWWWWWWWVVVVVVVVWWVVVVWWVVVVWWWWWWVVVVVVWWVVVVVVWWWUSzїp^UVVVVWWWWWWVVWWWWVVVVVVVVWWVVWWVVWWVVWWWWWWWWWWVVVVVVWWVVWWWWVVVVWWVVVVWWWWVVWWVVWWWWWWVVVVVVWWVVVVWWVVVVWWWWWWWWWWWWWWWWWWVUSa~ֽx_SUVWWVVVVVVVVVVVVVVVVVVVVWWVVVVWWVVWWVVVVVVWWVVWWVVWWVVWWWWVVVVWWVVWWVVWWVVWWWWWWVVVVVVWWVVVVVVWWWWVVVVWWVVVVVVWWWWWWVVVVVVVVVVWWVVWWVVVVWTSzڴhUUVVVVVVVVVVVVVWWVVWWVVWWVVVVWWVVVVVVVVWWWWWWVVVVWWVVWWWWWWWWVVWWVVWWVVVVVVVVWWVVVVVVVVWWWWVVVVVVWWVVVVVVVVWWWWVVVVVVWWVVWWVVVVWWVVWWWWWWWWVVVVVVVVVVVVVVVVWWWWVVVVWWVVVVWWVVVVVVVVVVWWVVVVVVVVVVVVWWVVVVVVWWWWWWWWVVWWVVWTSzڴgUUVWWVVVVVVVVVVVVVVVVVVVVWWWWWWVVVVVVVVVVVVWWWWVVVVWWWWWWVVVVVVVVVVVVVVWWVVWWVVVVVVVVVVWWWWVVVVVVVVWWVVWWVVVVWWWWVVVVVVVVWWWWWWVVWWWWWWWWVVWWVVWWWWWWWWWWVVVVVVVVWWWWWWVVVVWWWWWWWWVVWWWWWWVVWWWWWWWWWWVVVVWWWWWWVVVVVVWWWWVVWWWWWWVVWWWWWWVVWWVVWWVVVVVVWWVVWWVVVVWWWWWWWWVVWWVVWWVVWWWWWWVVWWVVWWWWWWWWWWWWWWWWWWWWWWWWVVWWWWWWWWWWWWVVWWWUUgڴhUUVVVWWVVWWVVVVVVWWWWVVWWWWVVWWWWVVVVWWVVWWWWWWWWVVWWVVWWWWWWWWWWWWVVWWVVVVWWVVWWVVWWWWWWWWWWVVVVWWWWWWWWVVVVWWWWWWWWVVWWWWVVWWWWVVVVWWVVVVVVWWVVWWVVVVVVWWWWWWWWWWVVVVWWWWWWWWVVWWVVWWVVVVWWWWWWWWVVWWWWWWWWVVVVWWVVWWVVWWWWWWVVVVWWWWWWWWVVVVWWWWWWWWVVWWWWVVWWWWVVVVVVWWWWWWVVWWWWWWWWWWVVWWVVWWWWVVWWWWVVVVVVWWWWVVVVWWVVVVWWWWWWWWWWWWVVVVVVWWWWWWVVWWWWWWWWVVWWVVWWVVVVVVVVWWVVWWVVWWVVWWWWVVVVWWWWWWVVWWVVWWVVWWVVVVVVVVWWWWVVWWWWWWWWWWWWVVWWWWVVWWVVVVWWVVVVWWVVWWVVWWVVWWWWWWWWVVWWVVWWWWVVWWWWWWWWVVWWWWWWVVWWWWVVWWVVVVWWWWWWWWVVWWWWVVVVVVWWWWWWVVVVWWVVVVVVWWWWVVWWWWVVVVVVWWWWVVWWVVWWVVVVWWVVWWVVVVWWVVWWWWWWWWVVWWWWWWWWVVVVVVVVVVWWWWWWWWWWVVVVWWWWWWVVWWWWWWWWWWVVVVWWVVWWWWVVWWVVWWWWVVVVVVWWVVWWWWWWVVWWWWWWWWWWWWWWVVWWWWWWWWWWVVWWWWWWWWWWWWWWWWWWWWVVVVWWVVWWVVVVWWVVVVWWVVWWWWVVWWVVWWWWVVWWWWWWWWWWVVWWWWWWVVWWWWWWWWVVWWWWWWWWVVWWVVWWVVWWVVWWWWVVVVVVVVWWWWWWWWWWVVVVWWWWVVWWWWWWWWVVWWVVVVVVVVVVWWVVWWWWWWWWWWVVWWWWWWWWWWWWWWVVWWVVVVVVWWWWWWVVWWWWWWWWWWWWWWVVVVWWWWVVVVVVVVWVVW[f{αq`XVVVVWWVVVVWWWWWWWWVVWWVVVVWWWWVVWWWWWWWWWWWWWWWWWWVVVVWWVVWWWWVVVVVVWWVVWWWWVVVVWWVVVVVVWWVVWWVVWVUc~ˣnTUWWWWWWWWWVVVVWWWWWWWWVVWWWWVVWWVVWWWWVVVVVVVVWWWWVVWWWWVVWWVVVVVVWWVVWWVVWWWWWWWWVVWWWWWWVVVVWWVVWWVVWWVVWWVVVVWWVVWWWWVVWWVVVVVVWWVVVVVVVVVVWWWWWWWWWWWWVVWWWWVVVVVVUeٳuUUVVVVVVVWWWWVVWWWWWWWWVVVVVVWWWWVVWWVVWWVVWWVVVVWWWWWWVVVVWWWWWWWWWWWWVVWWWWVVVVVVWWVVVVVVWWWWWWWWWWWWVVWWWWVVVVVVVVVVWWWWVVVVWWWWVVWWVVVVVVVVVVVVWWWWVVVVWWWWVVWWVVWUSsЩpTUVWWWWVVWWVVWWVVWWVVVVWWWWWWVVVVWWWWWWWWWWWWVVWWWWVVVVVVWWVVVVV^pڴhUVWWWVVVVVVWWWWWWWWVVVVVVVVWWVVVVWWVVVVWWWWWWVVVVVVWWVVVVVVWWWUSzїp^VVVVVWWWWWWVVWWWWVVVVVVVVWWVVWWVVWWVVWWWWWWWWWWVVVVVVWWVVWWWWVVVVWWVVVVWWWWVVWWVVWWWWWWVVVVVVWWVVVVWWVVVVWWWWWWWWWWWWWWWVVWZalݾ~g\VVVVVVVVVVVVVVVVVVVVVVVWWVVVVWWVVWWVVVVVVWWVVWWVVWWVVWWWWVVVVWWVVWWVVWWVVWWWWWWVVVVVVWWVVVVVVWWWWVVVVWWVVVVVVWWWWWWVVVVVVVVVVWWVVWWVVVVWTSzڴhUVVVVVVVVVVVVVVWWVVWWVVWWVVVVWWVVVVVVVVWWWWWWVVVVWWVVWWWWWWWWVVWWVVWWVVVVVVVVWWVVVVVVVVWWWWVVVVVVWWVVVVVVVVWWWWVVVVVVWWVVWWVVVVWWVVWWWWWWWWVVVVVVVVVVVVVVVVWWWWVVVVWWVVVVWWVVVVVVVVVVWWVVVVVVVVVVVVWWVVVVVVWWWWWWWWVVWWVVWTSzڴhUUVWWVVVVVVVVVVVVVVVVVVVVWWWWWWVVVVVVVVVVVVWWWWVVVVWWWWWWVVVVVVVVVVVVVVWWVVWWVVVVVVVVVVWWWWVVVVVVVVWWVVWWVVVVWWWWVVVVVVVVWWWWWWVVWWWWWWWWVVWWWWWWVVVVVVWWWWWWVVWWWWWWWWVVWWWWWWWWWWWWVVVVWWWWWWWWVVWWWWWWWWWWVVVVWWWWWWWWWWWWWWWWWWWWWWWWVVWWWWWWWWWWWWWWWWWWWWVVWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWVVWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWVUUhڴhUUVWWWWWWWWWWVVWWWWVVWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWVVVVVVVVWWWWVVWWVVWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWVVWWVVWWWWWWWWWWVVWWWWVVWWVVWWWWWWWWWWWWVVWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWVVWWWWWWVVVVWWVVWWWWWWWWWWWWWWWWWWWWWWVVWWWWWWWWWWWWWWWWWWWWWWWWVVWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWVVWWWWWWWWVVWWWWVVWWWWVVWWWWWWWWVVVVVVWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWVVWWWWWWWWWWWWWWWWWWWWWWWWVVWWWWWWWWWWWWVVVVWWVVWWVVVVWWWWWWWWWWWWVVWWWWWWWWWWVVWWWWVVWWVVVVWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWVVWWWWWWWWWWWWWWWWWWWWVVWWWWWWWWVVWWWWWWWWWWWWWWWWWWVVWWWWWWWWWWVVWWVVWWWWWWWWWWWWWWVVWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWVVWWWWWWWWWWWWVVVVWWVVWWWWVVWWWWWWWWWWWWVVVVVVWWWWWWWWWWWWWWVVWWWWWWWWWWWWWWWWWWWWWWWWWWVVWWWWWWWWWWWWWWWWWWWWWWVVWWVVWWWWWWWWWWWWVVWWWWWWWWWWWWWWWWVVVVWWWWWWWWWWWWVVWWVVWWWWWWWWWWWWWWVVVVVVWWWWVVWWWWWWWWVVWWWWWWWWWWWWVVWWWWWWWWWWWWVVWWWWVVVVVVVVVVVVVVVVWWVVVVVVWWWWWWVVWWWWWWWWWWVVVVWWWWWWVVWWWWWWWWWWWWWWWWVVVVWWWWVVWWWWVVWWWWVVVVWWWWVVWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWVVWVU[hu]XVVWWWWWVVVVWWWWVVVVWWWWWWWWWWVVVVVVWWWWWWWWWWWWVVVVVVVVWWWWVVWWWWWWWWWWWWWWWWWWWWWWVVWWWWWWWWWWWVU^pٲsTUWVVWWVVWWWWVVWWWWWWWWVVVVWWWWWWVVWWWWWWWWWWWWWWWWVVWWWWWWWWVVVVWWWWWWVVVVWWVVVVVVWWWWWWWWWWWWWWVVVVWWWWVVWWVVWWVVWWWWWWWWWWWWVVWWWWVVWWWWVVVVVVWWWWWWWWWWWWWWWWWWVVWUUj}XVVVWVVWWWWWWVVWWWWWWVVWWVVWWVVWWWWVVWWVVWWWWVVWWWWWWWWWWWWVVWWWWVVWWVVVVWWVVVVWWVVWWVVWWVVVVWWWWWWWWWWWWWWWWWWVVWWVVWWWWVVWWWWVVWWVVWWWWVVVVWWVVWWWWWWWWWWWWWWVVVVVVWTSxݾjUUWVVWWWWVVWWVVWWWWVVWWWWWWWWWWWWVVWWWWVVWWVVVVWWVVVVWWVVWWVVWVV^pڴhUVWVVVVVVWWWWWWVVVVWWVVVVVVWWWWVVWWWWVVVVVVWWWWVVWWVVWWVVVVWWVUSzїp^VVWWWVVWWWWWWWWWWWWWWVVVVWWWWWWVVVVWWWWVVVVVVWWWWWWWWVVWWWWWWWWWWVVVVWWVVWWVVVVWWWWWWVVVVWWWWWWWWWWVVVVVVWWWWWWWWWWWWWWVVUYc{̱lXVVVVVVVVVVVVWWWWWWWWWWWWWWVVWWWWWWWWVVWWVVVVWWWWVVWWVVVVWWWWVVWWVVWWVVVVWWVVWWWWWWWWWWVVWWWWVVWWVVWWWWWWWWVVWWWWVVWWWWVVWWWWWWWWVVWWVVWUTzڴgUVWWWVVVVWWWWVVVVWWVVWWVVWWWWWWVVWWVVWWWWWWWWWWVVVVVVVVWWWWWWVVVVVVVVWWWWVVWWVVWWVVWWWWWWWWWWVVVVVVWWWWVVVVVVVVWWVVWWWWWWVVWWWWWWVVWWVVWWVVVVVVWWVVWWVVVVWWWWVVWWVVWWVVWWVVVVWWVVVVWWVVWWWWWWWWVVWWWWWWWWVVVVWWVVVVVVWWWWWUTzڴhUUWWWVVVVWWWWWWWWWWVVWWWWWWVVWWVVVVVVWWWWWWVVWWWWVVWWWWWWVVVVWWVVWWWWWWVVVVVVWWVVWWVVVVWWVVWWVVWWWWWWWWWWWWVVWWWWWWVVVVWWWWWWVVWWWWWWWWWWVVWWWWWWWVVVVVWWWWWWVVWWWWWWWWVVWWWWWWWWWWWWVVVVWWWWWWWWVVWWWWWWWWWWVVVVWWWWWWWWWWWWWWWWWWWWWWWWVVWWWWWWWWWWWWWWWWWWWWVVWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWVVWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWVUUhڴhUUVWWWWWWWWWWVVWWWWVVWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWVVVVVVVVWWWWVVWWVVWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWVVWWVVWWWWWWWWWWVVWWWWVVWWVVWWWWWWWWWWWWVVWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWVVWWWWWWVVVVWWVVWWWWWWWWWWWWWWWWWWWWWWVVWWWWWWWWWWWWWWWWWWWWWWWWVVWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWVVWWWWWWWWVVWWWWVVWWWWVVWWWWWWWWVVVVVVWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWVVWWWWWWWWWWWWWWWWWWWWWWWWVVWWWWWWWWWWWWVVVVWWVVWWVVVVWWWWWWWWWWWWVVWWWWWWWWWWVVWWWWVVWWVVVVWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWVVWWWWWWWWWWWWWWWWWWWWVVWWWWWWWWVVWWWWWWWWWWWWWWWWWWVVWWWWWWWWWWVVWWVVWWWWWWWWWWWWWWVVWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWVVWWWWWWWWWWWWVVVVWWVVWWWWVVWWWWWWWWWWWWVVVVVVWWWWWWWWWWWWWWVVWWWWWWWWWWWWWWWWWWWWWWWWWWVVWWWWWWWWWWWWWWWWWWWWWWVVWWVVWWWWWWWWWWWWVVWWWWWWWWWWWWWWWWVVVVWWWWWWWWWWWWVVWWVVWWWWWWWWWWWWWWVVVVVVWWWWVVWWWWWWWWVVWWWWWWWWWWWWVVWWWWWWWWWWWWVVWWWWVVVVVVVVVVVVVVVVWWVVVVVVWWWWWWVVWWWWWWWWWWVVVVWWWWWWVVWWWWWWWWWWWWWWWWVVVVWWWWVVWWWWVVWWWWVVVVWWWWVVWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWVVUX^oś{g[WVWWWWVVVVWWWWVVVVWWWWWWWWWWVVVVVVWWWWWWWWWWWWVVVVVVVVWWWWVVWWWWWWWWWWWWWWWWWWWWWWVVWWWWWWWWWWWVVYczWVWVVWWVVWWWWVVWWWWWWWWVVVVWWWWWWVVWWWWWWWWWWWWWWWWVVWWWWWWWWVVVVWWWWWWVVVVWWVVVVVVWWWWWWWWWWWWWWVVVVWWWWVVWWVVWWVVWWWWWWWWWWWWVVWWWWVVWWWWVVVVVVWWWWWWWWWWWWWWWWWWVVWUTn̉bYVWWVVWWWWWWVVWWWWWWVVWWVVWWVVWWWWVVWWVVWWWWVVWWWWWWWWWWWWVVWWWWVVWWVVVVWWVVVVWWVVWWVVWWVVVVWWWWWWWWWWWWWWWWWWVVWWVVWWWWVVWWWWVVWWVVWWWWVVVVWWVVWWWWWWWWWWWWWWVVVVVVWWZحeUUWVVWWWWVVWWVVWWWWVVWWWWWWWWWWWWVVWWWWVVWWVVVVWWVVVVWWVVWWVVWVV^pڴhUVWVVVVVVWWWWWWVVVVWWVVVVVVWWWWVVWWWWVVVVVVWWWWVVWWVVWWVVVVWWVUTzїp^VVWWWVVWWWWWWWWWWWWWWVVVVWWWWWWVVVVWWWWVVVVVVWWWWWWWWVVWWWWWWWWWWVVVVWWVVWWVVVVWWWWWWVVVVWWWWWWWWWWVVVVVVWWWWWWWWWWWWWVUYbqԸtcYVUVVVVVVVVWWWWWWWWWWWWWWVVWWWWWWWWVVWWVVVVWWWWVVWWVVVVWWWWVVWWVVWWVVVVWWVVWWWWWWWWWWVVWWWWVVWWVVWWWWWWWWVVWWWWVVWWWWVVWWWWWWWWVVWWVVWUTzڴgUUWWWVVVVWWWWVVVVWWVVWWVVWWWWWWVVWWVVWWWWWWWWWWVVVVVVVVWWWWWWVVVVVVVVWWWWVVWWVVWWVVWWWWWWWWWWVVVVVVWWWWVVVVVVVVWWVVWWWWWWVVWWWWWWVVWWVVWWVVVVVVWWVVWWVVVVWWWWVVWWVVWWVVWWVVVVWWVVVVWWVVWWWWWWWWVVWWWWWWWWVVVVWWVVVVVVWWWWWUTzڴhUVWWWVVVVWWWWWWWWWWVVWWWWWWVVWWVVVVVVWWWWWWVVWWWWVVWWWWWWVVVVWWVVWWWWWWVVVVVVWWVVWWVVVVWWVVWWVVWWWWWWWWWWWWVVWWWWWWVVVVWWWWWWVVWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWXXWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWUUhڴhUUWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWVVWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWVVWWWWWWWWWWWWWWWWWWWWWWVVWWWWWWWWWWWWWWWWWWVVWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWVVWWWWWWWWWWWWWWWWWWVVWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWVVWWWWWWWWVVWWWWWWWWWWWWVVWWWWWWWWWWWWWWWWWWVVWWWWWWWWWWWWWWWWWWVVWWWWWWWWWWVVWWWWVVWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWVVWWWWWWWWWWWWWWWWWWVVWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWUU^sϰh[UVWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWVVWWWWWWVVWWWWWWWWWWWWWWWWWWWWWWWWWWWVX~Ȅ^XWWWWWWWWWWWWWWWWWWWWWWWWWVVVVWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWVVWWWWWWWWWWWWWWWWWWWWWWWWVVWWWWWWVVWWWWWWWWVVWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWUTsЗp^VVWWWWWWWVVWWWWWWWWWWWWVVWWWWWWWWWWVVWWWWWWWWWWWWVVWWWWWWWWWWWWWWWWVVWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWVVWWWWWWWWWWVVVVWWWWWWWWWWWWWWWWWVV\iӟw`UVVWWVVWWWWVVWWWWWWWWWWWWVVWWWWWWWWWWVVWWWWVVWWWWVVWWWWWWWWWWWVV^qڴhUVWWWWWVVWWWWWWWWWWVVWWVVWWWWWWWWWWWWWWVVWWWWWWWWWWWWWWWWWWWWWUTzїp^VVWVVWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWVVWWWWWWWWWWWWWWWWWWVVWWWWWWWWWWWWVVVVWWWWVVWWWWWWWWWWWWWWWWWWVVVVWWWWWWWWWWWWWWWWWUSa~ǧ}cYUVVWWWWWWWWWWVVVVWWWWWWWWWWWWVVWWVVWWWWWWWWWWWWVVWWVVVVWWVVWWVVWWWWWWWWWWVVVVWWWWWWWWWWVVWWWWWWWWWWWWWWVVWWWWVVWWWWVVVVVVWWWWWWWWVVWUTzڴhUUVWWWWWWVVWWWWWWWWWWWWVVWWWWWWVVWWWWWWVVVVVVWWWWWWVVVVWWWWWWVVVVWWWWWWWWWWVVVVWWWWWWWWVVWWWWVVWWVVVVVVWWWWWWWWWWWWWWWWVVWWWWWWVVWWWWWWWWWWVVWWWWVVWWVVWWWWWWWWVVWWWWWWWWWWWWWWWWWWWWWWWWVVWWVVVVWWWWWWWWWWWWWWWWWWVVVVWWWUTzڴhUVWWWWWWWWWWWWWWWWWWWWWWWWWWWVVVVWWWWWWWWVVWWWWVVWWWWWWWWWWWWWWWWWWWWVVWWWWWWWWVVVVWWWWWWWWWWWWWWWWVVWWVVWWVVWWWWWWWWWWVVVVVVWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWXXWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWVUhڴhUVWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWVVWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWVVWWWWWWWWWWWWWWWWWWWWWWVVWWWWWWWWWWWWWWWWWWVVWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWVVWWWWWWWWWWWWWWWWWWVVWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWVVWWWWWWWWVVWWWWWWWWWWWWVVWWWWWWWWWWWWWWWWWWVVWWWWWWWWWWWWWWWWWWVVWWWWWWWWWWVVWWWWVVWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWVVWWWWWWWWWWWWWWWWWWVVWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWVUYdxլo^XVVWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWVVWWWWWWVVWWWWWWWWWWWWWWWWWWWWWWWWWWWUTvΎg[VWWWWWWWWWWWWWWWWWWWWWWWWVVVVWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWVVWWWWWWWWWWWWWWWWWWWWWWWWVVWWWWWWVVWWWWWWWWVVWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWX}֨dUVWWWWWWWVVWWWWWWWWWWWWVVWWWWWWWWWWVVWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWVVWWWWWWWWWWVVVVWWWWWWWWWWWWWWWWWVV`v͏i[VVVWWVVWWWWVVWWWWWWWWWWWWVVWWWWWWWWWWVVWWWWVVWWWWVVWWWWWWWWWWWVV^qڴhUVWWWWWVVWWWWWWWWWWVVWWVVWWWWWWWWWWWWWWVVWWWWWWWWWWWWWWWWWWWWWUTzїp^VVWVVWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWVVWWWWWWWWWWWWWWWWWWVVWWWWWWWWWWWWVVVVWWWWVVWWWWWWWWWWWWWWWWWWVVVVWWWWWWWWWWWWWWVWX_lͣm_XUVWWWWWWWWWVVVVWWWWWWWWWWWWVVWWVVWWWWWWWWWWWWVVWWVVVVWWVVWWVVWWWWWWWWWWVVVVWWWWWWWWWWVVWWWWWWWWWWWWWWVVWWWWVVWWWWVVVVVVWWWWWWWWVVWUTzڴhUUVWWWWWWVVWWWWWWWWWWWWVVWWWWWWVVWWWWWWVVVVVVWWWWWWVVVVWWWWWWVVVVWWWWWWWWWWVVVVWWWWWWWWVVWWWWVVWWVVVVVVWWWWWWWWWWWWWWWWVVWWWWWWVVWWWWWWWWWWVVWWWWVVWWVVWWWWWWWWVVWWWWWWWWWWWWWWWWWWWWWWWWVVWWVVVVWWWWWWWWWWWWWWWWWWVVVVWWWUTzڴhUVWWWWWWWWWWWWWWWWWWWWWWWWWWWVVVVWWWWWWWWVVWWWWVVWWWWWWWWWWWWWWWWWWWWVVWWWWWWWWVVVVWWWWWWWWWWWWWWWWVVWWVVWWVVWWWWWWWWWWVVVVVVWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWXXWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWXXWWXXWWWWWWXXWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWXXWWWWWWWWWWWVUhڴhUVWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWXXWWWWXXWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWXXWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWXXWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWXXWWXXWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWXXWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWXXWWWWWWWWWWWWXXWWWWWWWWWWWWWWWWWWWWWWXXWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWXXWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWUTcٽs^UVWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWXXWWWWWWWWWWWWWWWWWWWWXXWWWWWWWWWUTqњr_VVWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWVZdܺjUVWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWXXWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWVUdŀZWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWXXWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWVV^pڴhUVWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWUTzїp^VVWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWVVX^uѶs^UVWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWVVWWWWVVWWWWWWWWWWWWWWWWWWWWWWWWWWWUTzڴhUUWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWVVVVVVWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWVVWWWWWWWWWWVVWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWVVWWWWWWWWVVWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWVVWWWWWWWWWWVVWUTzڴhUVWWWWWWWWWWWWWWWWWVVWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWVVWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWVVVVWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWXXWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWXXWWXXWWWWWWXXWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWXXWWWWWWWWWWWVUhڵiVVWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWXXWWWWXXWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWXXWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWXXWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWXXWWXXWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWXXWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWXXWWWWWWWWWWWWXXWWWWWWWWWWWWWWWWWWWWWWXXWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWXXWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWVUZe۸vbYUWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWXXWWWWWWWWWWWWWWWWWWWWXXWWWWWWWWWVUlզcVVWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWVV^qˣnTUWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWXXWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWVUhvSUWWWWWWWWWWWWWWWWWWWWWWWWWWWWWXXWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWVV^pڵhUVWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWUT{јq^VVWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWVUX_k}طvbYUVWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWVVWWWWVVWWWWWWWWWWWWWWWWWWWWWWWWWWWUTzڴhUVWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWVVVVVWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWVVWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWVVWWWWWWWWVVWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWVVWWWWWWWWWWVVWUTzڵhUVWWWWWWWWWWWWWWWWWVVWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWVVWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWVVVVWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWXXWWWWWWWWWWXXWWWWWWXXWWWWXXWWWWWWWWWWXXWWWWWWWWXXWWWWXXWWWWWWWWXXWWWWWWWWWWWWWWXXWWXXWWWWXXXXWWWWWWWWXXWWWWXXWWXXWWWWXXWWWVUiڵhVVWWWXXWWWWXXWWWWWWWWWWWWWWWWWWXXXXWWWWXXXXWWWWWWWWWWWWXXXXWWWWWWWWWWXXWWWWXXWWWWWWWWWWWWWWWWXXWWWWWWWWXXWWWWWWWWWWWWWWWWWWWWWWWWWWWWXXWWWWWWWWWWWWWWWWWWXXWWWWWWXXWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWXXWWWWWWWWWWWWWWWWWWWWWWWWWWXXWWWWWWWWWWWWWWWWWWWWWWWWWWXXWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWXXWWWWWWWWWWWWWWWWWWXXWWWWWWWWXXWWWWXXWWWWWWWWXXWWWWXXWWWWXXWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWXXWWXXWWWWWWWWWWWWWWWWXXWWWWWWWWWWXXWWWWXXWWWWXXWWWWWWWWWWWWWWWWXXWWWWWWWWWWWWXXXXXXWWWWWWWWWWWWWWWWXXWWWWWWWWWWXXWWXXWWWWWWWWWWWWXXWWWWWWWWWWXXWWXXWWWWWWWWXXWWWWWWWWWWWWWWWWWWWWWWWWXXWWWWWWWWWWXXWWWWWWWWWWWWWWWWWWWWWWXXXXWWWWWWWWWWWWXXWWWWWWWWWWXXWWWWWWWWWWWWWWWWXXWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWXXXXWWXXWWWWWWWWWWWWWWWWWWWWWWXXWWWWXXWWWWXXWWWWWWWWWWWWWWWWXXWWWWXXWWWWXXWWWWWWWWWWWWWWWWWWXXWWXXWWWWXXWWXXWWWWWWWWXXWWXXWWXXWWWWWWWWWWWWWWWWWWWWWWXXWWWWWWWWWWWWWWWWWWXXXXWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWXXXXWWXXWWWWWWWWWWWWWUTeŠ~aTVWWWWWWWWWWWWWWWWWWWXXWWWWWWWWWWWWWWWWWWWWXXWWWWWWWWWWWWXXWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWVUfڵhVVXWWWWWWWWWWWWWWXXWWXXWWWWWWWWWWWWWWWWWWWWWWXXWWWWWWWWWWWWWWXXWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWXXWWWWWWWWWWWWWWXXWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWXXWVVcڲsTUWWWWWXXWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWXXWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWXXWWWWWWWWWWWWXXWWWWWWWWWWWWWWWWWWWWWWWWWWXXWWWWWWWWWWWUUmҫqTUWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWVV^pڵhUVWWWWWWWWWWWWWWWWWWWXXWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWXXWWWWWUT{јq_WWWWWWWWWWWWWXXWWWWWWWWWWWWWWWWWWWWWWXXWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWXXWWXXWWWWWWWWWWWWWVT^sŠ~aTUWWWWWWWWWWWWWWWWWWWWWWWXXWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWXXWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWUTzڴhUVWXXWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWUTzڵhUVWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWXXWWWWXXWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWXXWWWWWWWWWWXXWWWWWWXXWWWWXXWWWWWWWWWWXXWWWWWWWWXXWWWWXXWWWWWWWWXXWWWWWWWWWWWWWWXXWWXXWWWWXXXXWWWWWWWWXXWWWWXXWWXXWWWWXXWWWVViڵhVWWWWXXWWWWXXWWWWWWWWWWWWWWWWWWXXXXWWWWXXXXWWWWWWWWWWWWXXXXWWWWWWWWWWXXWWWWXXWWWWWWWWWWWWWWWWXXWWWWWWWWXXWWWWWWWWWWWWWWWWWWWWWWWWWWWWXXWWWWWWWWWWWWWWWWWWXXWWWWWWXXWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWXXWWWWWWWWWWWWWWWWWWWWWWWWWWXXWWWWWWWWWWWWWWWWWWWWWWWWWWXXWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWXXWWWWWWWWWWWWWWWWWWXXWWWWWWWWXXWWWWXXWWWWWWWWXXWWWWXXWWWWXXWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWXXWWXXWWWWWWWWWWWWWWWWXXWWWWWWWWWWXXWWWWXXWWWWXXWWWWWWWWWWWWWWWWXXWWWWWWWWWWWWXXXXXXWWWWWWWWWWWWWWWWXXWWWWWWWWWWXXWWXXWWWWWWWWWWWWXXWWWWWWWWWWXXWWXXWWWWWWWWXXWWWWWWWWWWWWWWWWWWWWWWWWXXWWWWWWWWWWXXWWWWWWWWWWWWWWWWWWWWWWXXXXWWWWWWWWWWWWXXWWWWWWWWWWXXWWWWWWWWWWWWWWWWXXWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWXXXXWWXXWWWWWWWWWWWWWWWWWWWWWWXXWWWWXXWWWWXXWWWWWWWWWWWWWWWWXXWWWWXXWWWWXXWWWWWWWWWWWWWWWWWWXXWWXXWWWWXXWWXXWWWWWWWWXXWWXXWWXXWWWWWWWWWWWWWWWWWWWWWWXXWWWWWWWWWWWWWWWWWWXXXXWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWXXXXWWXXWWWWWWWWWWWWUZeã~eZVVWWWWWWWWWWWWWWWWWXXWWWWWWWWWWWWWWWWWWWWXXWWWWWWWWWWWWXXWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWVVawÜmUVXWWWWWWWWWWWWWWXXWWXXWWWWWWWWWWWWWWWWWWWWWWXXWWWWWWWWWWWWWWXXWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWXXWWWWWWWWWWWWWWXXWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWXXWVUh|XWWWWWWXXWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWXXWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWXXWWWWWWWWWWWWXXWWWWWWWWWWWWWWWWWWWWWWWWWWXXWWWWWWWWWWWUTqÜmUVWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWV^pڵhUVWWWWWWWWWWWWWWWWWWWXXWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWXXWWWWWUT{јq_WWWWWWWWWWWWWXXWWWWWWWWWWWWWWWWWWWWWWXXWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWXXWWXXWWWWWWWWWWWWUZezã~eZUVWWWWWWWWWWWWWWWWWWWWWXXWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWXXWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWUTzڴhUVWXXWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWUTzڴhUVWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWXXWWWWXXWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWXXWWXXXXXXXXXXWWXXXXXXWWXXXXWWWWXXWWXXWWWWXXWWWWXXXXXXXXWWWWWWXXWWXXXXWWWWWWWWWWXXXXWWWWWWWWXXWWWWXXXXWWWWXXWWWWWWWWWWWWXXXXXXXXXXWWWWXXWWXXWWXXWWXXXXWWWWWWXXWWWWXXWWWWWWXXWWWWWWXXWWXXXXWWXXXXWWXVViڵiVWXWWWWWWXXWWWWWWWWWWWWXXXXXXXXXXXXWWWWWWWWXXXXWWWWXXXXWWWWXXWWWWWWXXXXXXXXWWWWWWWWWWWWWWWWXXXXWWWWWWWWWWXXXXXXWWWWXXXXXXWWXXWWWWXXWWWWWWXXXXWWXXXXWWWWXXWWWWWWWWWWWWXXXXXXXXWWWWWWWWWWWWXXXXWWWWWWWWWWWWWWXXWWXXXXXXWWWWXXXXXXXXWWWWXXWWWWWWXXWWWWXXWWXXWWXXWWWWXXWWWWWWWWXXXXWWXXWWWWWWWWWWXXWWWWXXXXWWWWXXWWXXWWWWWWXXXXWWXXWWWWXXXXXXXXWWWWWWXXXXWWWWWWXXWWWWXXXXXXXXWWWWXXXXXXWWWWWWWWWWWWXXWWWWWWWWXXWWWWWWWWXXWWWWWWWWWWXXXXXXXXWWWWWWWWWWWWWWWWXXXXXXWWWWXXXXXXWWWWWWWWWWWWWWXXWWWWWWWWWWWWXXWWWWWWWWWWXXWWWWWWWWWWXXXXWWWWXXWWWWWWXXWWXXWWXXWWXXWWWWWWWWWWWWXXXXWWWWWWXXWWXXWWWWWWXXWWWWWWXXWWWWWWXXWWWWWWWWWWXXWWWWWWWWWWWWXXWWXXWWWWWWWWWWWWXXWWXXWWWWWWWWXXWWWWXXWWWWWWXXWWXXWWXXWWWWWWWWXXXXXXWWWWWWWWXXXXWWWWXXWWWWWWWWXXXXXXXXWWWWXXWWWWWWWWXXWWWWWWXXXXWWWWWWXXWWWWWWXXWWXXWWWWWWWWWWWWWWWWWWWWWWWWWWXXWWWWWWWWWWWWWWXXXXWWWWWWXXXXWWXXWWWWWWWWWWWWWWXXWWXXWWWWWWXXWWWWWWWWXXXXWWXXXXWWXXWWXXWWWWXXXXWWXXWWXXWWXXWWWWXXXXWWWWWWWWWWWWXXXXWWXXXXXXWWXXWWWWXXWWXXXXWWWWWWWWXXXXXXXXWWWUTḙeTVWWWWWWWWWWWWWXXWWWWWWWWXXXXWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWXXWWXXWWWWWWWWWWW]jҫrUUWXXWWXXWWXXXXWWXXWWWWXXWWWWWWWWXXXXWWWWWWXXXXWWWWWWWWWWWWWWWWXXWWWWWWWWWWWWWWWWWWWWWWXXWWWWXXXXWWWWWWWWWWXXWWWWWWXXWWWWWWWWWWXXWWWWWWXXWWWWWWWWWWWWWWWWWWWWWWWWWVUoʊdZVWWWWWWWWWWWWWWWWXXWWWWWWWWWWWWWWWWWWXXXXWWXXWWWWWWWWWWWWWWWWWWWWXXWWWWWWWWWWWWWWWWWWXXWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWXXWWWWWWWWWWWWWWWWWWWWWWWWWWXXWWWWXXWWWWWWWUTvڵiVVWWWWWWWWWWWWWWWXXXXWWWWWWWWWWXXWWWWWWWWXXWWWWWWWWWWWWWWWWXXWWXWW_qڵhUVWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWXXWWWWWWWWWWWWWWWWWWXXXXWWWWWUT{јq^VVWWWWWWWWWXXXXWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWXXWWWWWWWWWWWWWWWWWWXXWWWWWWWWWWWWWWWWWWWWWWWWWWWUTḙeTUWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWXXXXWWWWWWWWWWWWWWWWWWWWXXWWWWWWWWWWWWWWWWWWWWXXWWWWWWWWWWWWWWWWWWXXWWWWWWXXWWXXWWWWWWWUTzڴhUVXWWWWWWWWXXXXXXWWWWWWWWWWWWWWWWWWWWWWWWXXWWWWWWWWWWWWWWWWWWXXWWWWWWWWWWXXWWWWWWWWWWWWWWWWXXWWWWWWWWWWXXXXWWWWWWWWWWWWWWWWXXWWWWWWWWWWXXXXWWWWWWWWWWXXWWWWWWXXWWWWWWWWXXWWWWWWWWWWWWWWXXWWWWWWWWWWWWWWWWWWWWWWXXWWWWWWXXWUTzڴhUVWWWWWWWWWWWWWWWXXWWWWWWWWWWWWWWWWWWWWXXWWWWWWWWWWWWWWWWXXWWWWXXWWXXWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWXXWWWWWWWWXXWWWWWWWWWWWWWWXXWWXXXXXXXXXXWWXXXXXXWWXXXXWWWWXXWWXXWWWWXXWWWWXXXXXXXXWWWWWWXXWWXXXXWWWWWWWWWWXXXXWWWWWWWWXXWWWWXXXXWWWWXXWWWWWWWWWWWWXXXXXXXXXXWWWWXXWWXXWWXXWWXXXXWWWWWWXXWWWWXXWWWWWWXXWWWWWWXXWWXXXXWWXXXXWWXWViڵiVWXWWWWWWXXWWWWWWWWWWWWXXXXXXXXXXXXWWWWWWWWXXXXWWWWXXXXWWWWXXWWWWWWXXXXXXXXWWWWWWWWWWWWWWWWXXXXWWWWWWWWWWXXXXXXWWWWXXXXXXWWXXWWWWXXWWWWWWXXXXWWXXXXWWWWXXWWWWWWWWWWWWXXXXXXXXWWWWWWWWWWWWXXXXWWWWWWWWWWWWWWXXWWXXXXXXWWWWXXXXXXXXWWWWXXWWWWWWXXWWWWXXWWXXWWXXWWWWXXWWWWWWWWXXXXWWXXWWWWWWWWWWXXWWWWXXXXWWWWXXWWXXWWWWWWXXXXWWXXWWWWXXXXXXXXWWWWWWXXXXWWWWWWXXWWWWXXXXXXXXWWWWXXXXXXWWWWWWWWWWWWXXWWWWWWWWXXWWWWWWWWXXWWWWWWWWWWXXXXXXXXWWWWWWWWWWWWWWWWXXXXXXWWWWXXXXXXWWWWWWWWWWWWWWXXWWWWWWWWWWWWXXWWWWWWWWWWXXWWWWWWWWWWXXXXWWWWXXWWWWWWXXWWXXWWXXWWXXWWWWWWWWWWWWXXXXWWWWWWXXWWXXWWWWWWXXWWWWWWXXWWWWWWXXWWWWWWWWWWXXWWWWWWWWWWWWXXWWXXWWWWWWWWWWWWXXWWXXWWWWWWWWXXWWWWXXWWWWWWXXWWXXWWXXWWWWWWWWXXXXXXWWWWWWWWXXXXWWWWXXWWWWWWWWXXXXXXXXWWWWXXWWWWWWWWXXWWWWWWXXXXWWWWWWXXWWWWWWXXWWXXWWWWWWWWWWWWWWWWWWWWWWWWWWXXWWWWWWWWWWWWWWXXXXWWWWWWXXXXWWXXWWWWWWWWWWWWWWXXWWXXWWWWWWXXWWWWWWWWXXXXWWXXXXWWXXWWXXWWWWXXXXWWXXWWXXWWXXWWWWXXXXWWWWWWWWWWWWXXXXWWXXXXXXWWXXWWWWXXWWXXXXWWWWWWWWXXXXXXXXWVVZeϮeZUWWWWWWWWWWWWXXWWWWWWWWXXXXWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWXXWWXXWWWWWWWWWWWY_߸uTUWXXWWXXWWXXXXWWXXWWWWXXWWWWWWWWXXXXWWWWWWXXXXWWWWWWWWWWWWWWWWXXWWWWWWWWWWWWWWWWWWWWWWXXWWWWXXXXWWWWWWWWWWXXWWWWWWXXWWWWWWWWWWXXWWWWWWXXWWWWWWWWWWWWWWWWWWWWWWWWWVVvїp^VVWWWWWWWWWWWWWWWXXWWWWWWWWWWWWWWWWWWXXXXWWXXWWWWWWWWWWWWWWWWWWWWXXWWWWWWWWWWWWWWWWWWXXWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWXXWWWWWWWWWWWWWWWWWWWWWWWWWWXXWWWWXXWWWWWWWWY~դ}cVWWWWWWWWWWWWWWWWXXXXWWWWWWWWWWXXWWWWWWWWXXWWWWWWWWWWWWWWWWXXWWXWW_qڵhUVWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWXXWWWWWWWWWWWWWWWWWWXXXXWWWWWUT{јq^VWWWWWWWWWWXXXXWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWXXWWWWWWWWWWWWWWWWWWXXWWWWWWWWWWWWWWWWWWWWWWWWWWW]kϯj]WWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWXXXXWWWWWWWWWWWWWWWWWWWWXXWWWWWWWWWWWWWWWWWWWWXXWWWWWWWWWWWWWWWWWWXXWWWWWWXXWWXXWWWWWWWUT{ڴhUVXWWWWWWWWXXXXXXWWWWWWWWWWWWWWWWWWWWWWWWXXWWWWWWWWWWWWWWWWWWXXWWWWWWWWWWXXWWWWWWWWWWWWWWWWXXWWWWWWWWWWXXXXWWWWWWWWWWWWWWWWXXWWWWWWWWWWXXXXWWWWWWWWWWXXWWWWWWXXWWWWWWWWXXWWWWWWWWWWWWWWXXWWWWWWWWWWWWWWWWWWWWWWXXWWWWWWXXWUT{ڵhUVWWWWWWWWWWWWWWWXXWWWWWWWWWWWWWWWWWWWWXXWWWWWWWWWWWWWWWWXXWWWWXXWWXXWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWXXWWWWWWWWXXWWWWWWWWXXXXXXWWWWXXXXWWXXXXXXXXXXXXWWXXWWXXXXWWXXXXWWXXXXXXXXXXXXXXXXXXWWXXXXXXXXXXXXXXXXXXWWXXXXWWXXXXXXXXXXXXXXXXWWWWXXWWXXXXWWXXXXXXXXXXXXXXXXWWXXXXWWXXXXXXWWWWXXXXWWXXXXWWXXWWXXXXXXXXWWXXWWXXXXWWWWXXXXXXXWViڵiVWXXXXXXXWWXXWWWWXXXXXXXXXXWWXXWWXXXXXXXXXXXXXXXXXXWWXXWWWWXXXXWWXXXXWWXXXXXXWWWWXXXXXXXXXXXXXXXXWWXXXXWWXXXXWWWWWWXXWWWWXXWWWWWWXXXXWWWWXXWWXXWWWWWWWWXXXXWWXXWWWWWWWWWWWWXXWWXXXXWWWWXXXXWWXXWWXXXXWWXXWWXXXXWWXXXXXXXXWWXXXXXXWWXXWWXXXXWWXXWWXXXXXXXXXXXXWWWWWWXXXXWWWWXXXXXXXXXXWWWWXXXXXXXXXXXXXXXXWWXXXXWWWWWWWWWWWWXXXXXXXXXXXXWWXXXXXXWWXXWWWWWWXXXXWWXXXXXXXXWWXXXXXXXXXXWWXXWWXXWWXXXXXXXXXXWWXXXXXXXXWWXXWWXXWWWWXXXXWWXXWWWWXXXXWWWWXXXXWWWWWWXXWWWWWWXXWWWWXXWWWWWWXXXXWWWWWWWWXXXXXXXXWWXXWWWWWWXXWWWWXXXXWWWWWWXXWWXXWWWWXXWWXXXXXXXXWWWWWWXXWWXXXXXXWWWWWWWWXXXXWWWWXXXXXXXXWWWWXXWWWWXXXXXXWWXXXXXXWWWWWWXXWWXXWWWWXXXXXXWWXXXXWWXXXXWWWWWWWWXXWWXXXXXXWWXXXXWWXXWWWWXXXXXXXXXXWWXXXXXXXXXXWWXXXXXXWWWWWWXXXXWWWWXXXXXXWWWWWWWWXXXXWWWWWWXXWWXXWWXXXXWWWWWWXXXXXXXXWWWWWWWWXXXXWWXXXXWWWWXXWWWWWWWWXXWWXXXXXXXXXXWWWWWWXXXXXXXXWWWWXXWWXXXXXXXXXXXXXXXXWWWWXXWWXXXXWWXXXXWWWWWWXXXXXXXXXXWWXXWWXXWWWWXXWWXXXXXXWWWWWWWWXXWWXXXXXXWWXXXXWWWWXXXXWWWWWWXXWWWWXXXXWWWWWWWWWWWWWWXXXVUfЮeTUWXXWWXXWWXXWWXXWWWWXXXXXXWWWWXXXXWWXXXXWWWWWWWWXXWWWWXXXXXXWWWWWWWWXXXXWWXXWWWWXXWWWWXXXWX{yTUXXXXXXXWWXXWWWWWWXXWWXXXXWWWWWWXXWWXXWWWWWWXXXXXXXXXXWWXXXXXXXXXXXXXXWWXXXXWWWWXXXXWWWWXXXXXXWWWWWWWWWWXXWWXXXXXXWWWWXXXXXXXXWWWWWWWWXXWWWWWWXXWWWWWWXXXXXXWWWWWWY~զcUVWWWXXWWWWWWXXXXWWWWWWWWXXWWWWWWWWWWXXWWWWXXXXWWWWWWWWWWWWWWWWWWXXWWXXXXXXWWWWWWWWWWWWWWXXXXXXWWXXXXXXXXWWWWXXXXWWXXXXWWXXXXWWXXWWWWWWXXXXWWXXXXWWXXXXXXXXWWWWWZdϒk]VWWWWXXWWWWWWWWWWXXXXXXXXXXWWWWWWWWWWWWWWXXWWXXWWWWWWWWXXWWWWWWWWV^qڵhVVXXXXXXXXXWWWWXXWWXXWWWWXXWWWWWWWWWWXXWWWWWWXXWWWWWWXXWWWWWWWUT{јq_WWWXXWWWWXXWWWWWWXXWWXXWWXXWWWWXXWWWWWWWWWWWWXXWWXXXXWWWWWWWWWWXXWWXXXXWWXXWWWWWWWWWWXXWWXXWWXXWWWWWWWWXXWWWWXpԹnYWWWWWWWWXXWWXXWWXXWWXXWWWWWWWWWWWWWWWWXXWWWWWWWWWWXXWWWWWWWWWWWWXXWWXXWWWWXXXXWWWWWWWWWWWWWWWWWWXXXXWWWWXXWWWWWWWWWWWWXXXXWUT{ڴhVVWWWXXWWWWXXWWXXWWXXXXWWWWWWXXXXWWXXXXWWWWWWWWXXXXXXXXWWWWXXWWWWWWWWWWXXWWWWWWXXWWXXXXWWWWWWXXWWXXXXXXWWWWXXWWWWXXWWWWWWWWWWWWWWXXWWWWWWXXXXXXWWWWWWWWWWWWWWWWXXXXWWXXWWWWWWXXWWXXXXWWWWXXWWWWWWXXWWWWWWWWWWWWWWWWWWXXXXWUT{ڵiUVWXXWWWWXXWWXXWWXXWWWWWWWWWWXXWWWWWWWWWWWWWWWWWWWWXXWWWWWWXXXXWWWWWWWWWWWWXXWWXXWWXXWWWWWWXXXXWWWWWWWWWWWWXXWWWWWWXXWWWWWWWWWWXXWWXXXXXXWWWWXXXXWWXXXXXXXXXXXXWWXXWWXXXXWWXXXXWWXXXXXXXXXXXXXXXXXXWWXXXXXXXXXXXXXXXXXXWWXXXXWWXXXXXXXXXXXXXXXXWWWWXXWWXXXXWWXXXXXXXXXXXXXXXXWWXXXXWWXXXXXXWWWWXXXXWWXXXXWWXXWWXXXXXXXXWWXXWWXXXXWWWWXXXXXXXWViڵiVVXXXXXXXWWXXWWWWXXXXXXXXXXWWXXWWXXXXXXXXXXXXXXXXXXWWXXWWWWXXXXWWXXXXWWXXXXXXWWWWXXXXXXXXXXXXXXXXWWXXXXWWXXXXWWXXWWXXWWWWXXWWWWWWXXXXWWWWXXWWXXWWWWWWWWXXXXWWXXWWWWWWWWWWWWXXWWXXXXWWWWXXXXWWXXWWXXXXWWXXWWXXXXWWXXXXXXXXWWXXXXXXWWXXWWXXXXWWXXWWXXXXXXXXXXXXWWWWWWXXXXWWWWXXXXXXXXXXWWWWXXXXXXXXXXXXXXXXWWXXXXWWWWWWWWWWWWXXXXXXXXXXXXWWXXXXXXWWXXWWWWWWXXXXWWXXXXXXXXWWXXXXXXXXXXWWXXWWXXWWXXXXXXXXXXWWXXXXXXXXWWXXWWXXWWWWXXXXWWXXWWWWXXXXWWWWXXXXWWWWWWXXXWWWWWXXWWWWXXWWWWWWXXXXWWWWWWWWXXXXXXXXWWXXWWWWWWXXWWWWXXXXWWWWWWXXWWXXWWWWXXWWXXXXXXXXWWWWWWXXWWXXXXXXWWWWWWWWXXXXWWWWXXXXXXXXWWWWXXWWWWXXXXXXWWXXXXXXWWWWWWXXWWXXWWWWXXXXXXWWXXXXWWXXXXWWWWWWWWXXWWXXXXXXWWXXXXWWXXWWWWXXXXXXXXXXWWXXXXXXXXXXWWXXXXXXWWWWWWXXXXWWWWXXXXXXWWXXWWWWXXXXWWWWWWXXWWXXWWXXXXWWWWWWXXXXXXXXWWWWWWWWXXXXWWXXXXWWWWXXWWWWWWWWXXWWXXXXXXXXXXWWWWWWXXXXXXXXXXWWXXWWXXXXXXXXXXXXXXXXWWWWXXWWXXXXWWXXXXWWWWWWXXXXXXXXXXWWXXWWXXWWWWXXWWXXXXXXWWWWWWWWXXWWXXXXXXWWXXXXWWWWXXXXWWWWWWXXWWWWXXXXWWWWWWWWWWWWWWXWWZb~ϮeZVWXWWXXWWXXWWXXWWWWXXXXXXWWWWXXXXWWXXXXWWWWWWWWXXWWWWXXXXXXWWWWWWWWXXXXWWXXWWWWXXWWWWXXXVUtʂ[XXXXXXXXWWXXWWWWWWXXWWXXXXWWWWWWXXWWXXWWWWWWXXXXXXXXXXWWXXXXXXXXXXXXXXWWXXXXWWWWXXXXWWWWXXXXXXWWWWWWWWWWXXWWXXXXXXWWWWXXXXXXXXWWWWWWWWXXWWWWWWXXWWWWWWXXXXXXWWWWWYa۷iUVWWWXXWWWWWWXXXXWWWWWWWWXXWWWWWWWWWWXXWWWWXXXXWWWWWWWWWWWWWWWWWWXXWWXXXXXXWWWWWWWWWWWWWWXXXXXXWWXXXXXXXXWWWWXXXXWWXXXXWWXXXXWWXXWWWWWWXXXXWWXXXXWWXXXXXXXXWWWWW_qȄ^YWWWWWXXWWWWWWWWWWXXXXXXXXXXWWWWWWWWWWWWWWXXWWXXWWWWWWWWXXWWWWWWWVV^qڵiVWXXXXXXXXXWWWWXXWWXXWWWWXXWWWWWWWWWWXXWWWWWWXXWWWWWWXXWWWWWWWUT{јq_WWWXXWWWWXXWWWWWWXXWWXXWWXXWWWWXXWWWWWWWWWWWWXXWWXXXXWWWWWWWWWWXXWWXXXXWWXXWWWWWWWWWWXXWWXXWWXXWWWWWWWWXWWWZduڽq_WWWWWWWXXWWXXWWXXWWXXWWWWWWWWWWWWWWWWXXWWWWWWWWWWXXWWWWWWWWWWWWXXWWXXWWWWXXXXWWWWWWWWWWWWWWWWWWXXXXWWWWXXWWWWWWWWWWWWXXXXWUT{ڵiVVWWWXXWWWWXXWWXXWWXXXXWWWWWWXXXXWWXXXXWWWWWWWWXXXXXXXXWWWWXXWWWWWWWWWWXXWWWWWWXXWWXXXXWWWWWWXXWWXXXXXXWWWWXXWWWWXXWWWWWWWWWWWWWWXXWWWWWWXXXXXXWWWWWWWWWWWWWWWWXXXXWWXXWWWWWWXXWWXXXXWWWWXXWWWWWWXXWWWWWWWWWWWWWWWWWWXXXXWUT{ڵiVVWXXWWWWXXWWXXWWXXWWWWWWWWWWXXWWWWWWWWWWWWWWWWWWWWXXWWWWWWXXXXWWWWWWWWWWWWXXWWXXWWXXWWWWWWXXXXWWWWWWWWWWWWXXWWWWWWXXWWWWWWWWWWXXWWXXXXXXXXWWXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXWWXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXWWXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXWWXXXXXXWWXXXXXXXXWWXXXXXXXXXXXXXXXXXXWWXXXWViڵhVVWXXXXXXXXXXXXXXXXXXXXXXXXXXWWXXXXWWXXXXXXXXXXXXXXXXXXXXXXXXWWXXXXXXXXWWXXXXXXXXXXXXWWXXXXXXXXXXXXXXWWWWXXWWXXXXXXXXXXWWXXXXXXXXXXXXXXXXXXWWXXXXXXXXXXXXWWXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXWWXXXXXXXXXXXXXXXXXXXXXXXXXXWWXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXWWXXXXXXXXXXWWXXWWXXXXXXXXXXWWXXXXXXXXWWXXXXXXXXXXXXXXXXWWXXXXXXXXWWXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXWWWWXXXXXXXXXXXXXXXXWWXXXXWWXXXXXXWWXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXWWXXXXXXXXXXXXXXXXXXXXXXXXXXWWXXXXXXWWXXWWXXWWXXWWWWXXXXWWXXWWXXXXXXXXXXXXXXXXXXXXXXWWXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXWWXXXXXXXXXXXXWWXXWWXXXXWWXXXXXXXXWWWWXXXXWWXXXXWWXXXXXXXXXXXXWWXXXXXXXXXXWWXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXWWXXXXXXWWXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXWWXXXXWWXXXXXXWWXXXXXXXXXXXXXXXXWWXXXXXXWWXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXWWXXXXXXXXWWXXXXWWWWXXXXXXXXWWXXXXXXWWXXXXXXWWXXXXXXXXXXXXXXXXXXXXXXWWXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXWWXXXXXXXXXXXXXXXXXXXXXXXXXWUcЮfUVXXXXXXXWWXXXXXXXXWWXXXXXXXXXXXXXXXXXXWWXXXXXXXXXXXXXXXXWWXXXXWWXXXXXXWWXXXXXXXXXXWWXXXVUoΑi]WWXXXXXXXXXXXWWXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXWWXXXXWWXXXXXXXXXXXXXXXXWWXXXXXXWWWWXXXXXXXXXXXXXXXXXXXXXXXXWWXXXXXXXXXXXXWWWWWWXXXXWWWWXXXXXXXXXXWWXXXWW_pɢoUVWXXXXXXXXXXXXXXXXWWXXXXXXWWXXXXWWXXXXXXXXXXWWXXXXWWWWXXXXWWXXXXWWXXWWWWXXWWWWXXXXXXWWWWWWXXXXXXXXXXWWXXXXXXWWXXXXXXXXWWWWXXXXXXWWWWWWWWWWXXXXXXXXXXXXWWXXXXXWVd{WVXXXXXXXWWXXXXWWXXXXXXXXXXWWXXXXWWWWXXXXWWXXXXWWXXWWWWXXWWWWXXXXXWV^qڵiVWXXXXXXXWWWWXXWWXXXXXXXXXXXXWWXXWWWWWWXXXXXXXXXXXXXXWWXXXXWWXUT{јq_WWXWWWWXXXXWWWWWWXXXXXXWWXXXXXXXXWWXXWWXXWWWWXXXXXXXXXXXXXXXXWWXXWWXXXXXXXXXXXXXXXXWWXXXXXXXXWWWWXXXXXXWWVYcžqYWWXXXXWWWWXXXXXXXXXXXXXXXXWWXXXXXXXXWWXXWWWWXXXXWWWWWWWWXXWWXXXXWWXXWWWWWWXXXXXXWWWWXXXXWWXXWWWWWWXXXXWWWWXXXXWWXXXXXXXXXUT{ڵiVVWWWXXXXXXXXXXXXWWXXXXWWXXXXXXWWWWWWXXWWXXXXXXXXWWWWWWXXWWXXWWWWXXXXWWXXXXWWXXXXWWXXXXXXWWXXXXXXXXXXXXXXXXXXWWWWWWWWXXXXXXXXXXWWXXWWWWWWXXWWXXXXWWWWXXWWXXWWWWXXXXWWWWXXWWWWXXXXWWWWXXWWXXXXXXXXWWWWWWXXXXXXWWWWWWWWXXWWWUT{ڵhUVWXXXXXXWWWWWWWWWWWWXXXXWWWWWWWWWWXXWWXXXXXXWWWWWWWWXXWWWWWWWWXXWWWWXXXXXXWWWWWWWWXXWWWWWWWWXXWWXXXXXXWWWWXXXXXXWWWWXXXXWWXXWWXXWWXXXXXXXXWWXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXWWXXXXXXWWXXXXXXXXWWXXXXXXXXXXXXXXXXXXWWXXXWViڵhVVWXXXXXXXXXXXXXXXXXXXXXXXXXXWWXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXWWXXXXXXXXWWXXXXXXXXXXXXWWXXXXXXXXXXXXXXWWWWXXWWXXXXXXXXXXWWXXXXXXXXXXXXXXXXXXWWXXXXXXXXXXXXWWXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXWWXXXXXXXXXXXXXXXXXXXXXXXXXXWWXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXWWXXXXXXXXXXWWXXWWXXXXXXXXXXWWXXXXXXXXWWXXXXXXXXXXXXXXXXWWXXXXXXXXWWXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXWWWWXXXXXXXXXXXXXXXXWWXXXXWWXXXXXXWWXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXWWXXXXXXXXXXXXXXXXXXXXXXXXXXWWXXXXXXWWXXWWXXWWXXWWWWXXXXWWXXWWXXXXXXXXXXXXXXXXXXXXXXWWXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXWWXXXXXXXXXXXXWWXXWWXXXXWWXXXXXXXXWWWWXXXXWWXXXXWWXXXXXXXXXXXXWWXXXXXXXXXXWWXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXWWXXXXXXWWXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXWWXXXXWWXXXXXXWWXXXXXXXXXXXXXXXXWWXXXXXXWWXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXWWXXXXXXXXWWXXXXWWWWXXXXXXXXWWXXXXXXWWXXXXXXWWXXXXXXXXXXXXXXXXXXXXXXWWXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXWWXXXXXXXXXXXXXXXXXXXXXXXXWY_wЫz^XWXXXXXXWWXXXXXXXXWWXXXXXXXXXXXXXXXXXXWWXXXXXXXXXXXXXXXXWWXXXXWWXXXXXXWWXXXXXXXXXXWWXXXVUjԟyaWWXXXXXXXXXXXWWXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXWWXXXXWWXXXXXXXXXXXXXXXXWWXXXXXXWWWWXXXXXXXXXXXXXXXXXXXXXXXXWWXXXXXXXXXXXXWWWWWWXXXXWWWWXXXXXXXXXXWWXXXWVdڳvVVWXXXXXXXXXXXXXXXXWWXXXXXXWWXXXXWWXXXXXXXXXXWWXXXXWWWWXXXXWWXXXXWWXXWWWWXXWWWWXXXXXXWWWWWWXXXXXXXXXXWWXXXXXXWWXXXXXXXXWWWWXXXXXXWWWWWWWWWWXXXXXXXXXXXXWWXXXXXWVhڳtUVXXXXXXXWWXXXXWWXXXXXXXXXXWWXXXXWWWWXXXXWWXXXXWWXXWWWWXXWWWWXXXXXWV^qڵhVWXXXXXXXWWWWXXWWXXXXXXXXXXXXWWXXXWWWWWXXXXXXXXXXXXXXWWXXXXWWXUT{јq_WWXWWWWXXXXWWWWWWXXXXXXWWXXXXXXXXWWXXWWXXWWWWXXXXXXXXXXXXXXXXWWXXWWXXXXXXXXXXXXXXXXWWXXXXXXXXWWWWXXXXXWWY_m“q_WWXXXXXWWXXXXXXXXXXXXXXXXWWXXXXXXXXWWXXWWWWXXXXWWWWWWWWXXWWXXXXWWXXWWWWWWXXXXXXWWWWXXXXWWXXWWWWWWXXXXWWWWXXXXWWXXXXXXXXXUT{ڵiVVWWWXXXXXXXXXXXXWWXXXXWWXXXXXXWWWWWWXXWWXXXXXXXXWWWWWWXXWWXXWWWWXXXXWWXXXXWWXXXXWWXXXXXXWWXXXXXXXXXXXXXXXXXXWWWWWWWWXXXXXXXXXXWWXXWWWWWWXXWWXXXXWWWWXXWWXXWWWWXXXXWWWWXXWWWWXXXXWWWWXXWWXXXXXXXXWWWWWWXXXXXXWWWWWWWWXXWWWUT{ڵhUVWXXXXXXWWXWWWWWWWWWXXXXWWWWWWWWWWXXWWXXXXXXWWWWWWWWXXWWWWWWWWXXWWWWXXXXXXWWWWWWWWXXWWWWWWWWXXWWXXXXXXWWWWXXXXXXWWWWXXXXWWXXWWXXWWXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXWViڵiVVXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXWV`tȗt_VWXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXWVdخfVWXXXXXXXXXXXXXWWXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXWWXXXXXXWWXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXWWXWVj~YWXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXWWXXXXWWXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXWWXXXXXXXXXXWWXXXXXXXXXXXXXXXXXXXXXXXXWWXXXXXXXXXXXXXXXVUmˤpUVXXXXXXXXXXXXXXXXXWWXXXXWWXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXWW_qڵhVVXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXUT{јq^VWXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXWWXXXXXXWWXXXXXXXXXXXXXXXXXXXXXXWWXXXXXXXXXXXXXXXXXWV_sžqYWXXXXXXXXXXXXXXXXXWWXXWWXXXXXXWWXXXXXXXXXXXXWWXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXWWXXXXXXXXWWXXXXWWWWXXXXXXXXXXXXXXXXXXXXWWXUT{ڵiVVXWWXXXXXXWWXXWWXXXXWWXXXXXXXXXXWWXXXXXXXXXXXXXXXXXXXXXXXXXXWWXXWWXXXXWWXXXXXXXXXXXXWWXXXXXXXXXXXXWWXXXXXXXXXXXXWWXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXWWWWWWXXXXXXWWXXWWXXXXWWXXXXWWXXXXXXWWWWXXXXXXWWXXXXXXXXWWXXXXXXXXXXXXXXXUU{ڵhVVWXXXXXXXXXXWWXXXXXXXXXXXXXXXXXXXXWWXXXXXXWWXXXXXXWWXXXXXXXXXXXXXXWWWWXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXWWWWXXXXXXWWXXXXWWXXXXWWXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXWViڵiVWXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXZnܹs`YWXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXWW_qܼkVVXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXWWXXXXXXWWXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXWWXVUp̉bZWXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXWWXXXXWWXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXWWXXXXXXXXXXWWXXXXXXXXXXXXXXXXXXXXXXXXWWXXXXXXXXXXXXXXXVUrܻjVWXXXXXXXXXXXXXXXXXWWXXXXWWXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXWW_qڵhVVXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXUT{јq^VWXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXWWXXXXXXWWXXXXXXXXXXXXXXXXXXXXXXWWXXXXXXXXXXXXXXXWWX_s“q_WWXXXXXXXXXXXXXXXWWXXWWXXXXXXWWXXXXXXXXXXXXWWXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXWWXXXXXXXXWWXXXXWWWXXXXXXXXXXXXXXXXXXXXXWWXUT{ڵiVWXWWXXXXXXWWXXWWXXXXWWXXXXXXXXXXWWXXXXXXXXXXXXXXXXXXXXXXXXXXWWXXWWXXXXWWXXXXXXXXXXXXWWXXXXXXXXXXXXWWXXXXXXXXXXXXWWXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXWWWWWWXXXXXXWWXXWWXXXXWWXXXXWWXXXXXXWWWWXXXXXXWWXXXXXXXXWWXXXXXXXXXXXXXXXUU{ڵhVVWXXXXXXXXXXWWXXXXXXXXXXXXXXXXXXXXWWXXXXXXWWXXXXXXWWXXXXXXXXXXXXXXWWWWXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXWWWWXXXXXXWWXXXXWWXXXXWWXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXWViڵiVWXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXWZct`VWXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXWZbˤpUVXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXVUuјq_WWXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXVTv֨eVWXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXWW_qڵiVWXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXUT{јq_WWXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXWU_tžqYWXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXUU{ڵiVWXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXUT{ڵiVVXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXWViڵiVWXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXWWd~۷mZXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXWY~رtUVXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXWX{֧dWWXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXY~їq_WXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXWW_rڵiVWXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXUT{јq_WWXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXWVZcw“q`XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXUU{ڵiVWXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXUT{ڵiVWXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXWViڵiVWXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXYuضcZWXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXVVxwTVXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXY_ڴiWWXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX[d̉bZXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXWW`rڵiVWXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXVU{јr_WWXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXVUb˼žrYXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXUT{ڵiVWXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXVU{ڵiVWXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXWViڵiWWXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXWV]mø|uqqrrrrrrrrrqqrrrrrrqrrqqqrsv~ѣ}dWWXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXVUr~YWXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXW]lşnVWXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX`q~YWXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX`rڵiVWXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXVU{јr_WWXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXWV[f~ûvqqrrrrrrrqqrrrrrrrrqqqqqym]VWXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXVT{ڵiVWXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXVU{ڵiVWXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXWViڵiWWXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXWUi¹}zwtsromjiiheca_____``````__``____```___``acgiijkmqrruy}ͨtYXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXVVnˋd[WXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXWc~رtUVXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXWWd߹xVVXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX`rڵiVWXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXUU|јr`WWXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXVTf·zzwtrspkiihgea___________``___________bgiijlnqtuwzظhUWXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXVT|ڵiVWXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXVU{ڵiVWXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXWViڵiWXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXZa~wlaYVUUVVVVVWWVVWWWWWWWWXXXXXXWWXXWWWWXXWWWWXXWWVVVVVVVVVUUVYalwǑm]WXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXWViјq_WWXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXWVi{XWXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXWViѪrUVXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX`rڵiVWXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXUU|јr`XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXWV[f}uj\TTUUVVVVVVVVVWWWWWWWWWWWWWWWWWWWWWWWWWWWWWVVVVUUTT[ju|մf\WWXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXVU|ڵiVWXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXVU{ڵiWWXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXYYXXXXYYXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXYYXXXXXXXXXXXXYYXXXXYYXXXXYYYXXXXXXXXXXXXXXXXXXXXXXXXXYYXXXXXXXXXXXXXXYYXXXXXXXXXXXXXXXXXXXXXXXXXXXXYYXXXXXXXXXXXXXXYYXXXXXXYYXXXXXWWiڵiWXYXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXYYXXYYXXXXXXXXXXXXXXXXYYXXXXXXXXXXXXXXXXXXYYXXXXXXXXXXXXXXXXXXXXXXXXXXYYXXYYXXXXXXXXXXXXYYXXXXXXXXXXXXXXYYXXXXXXYYXXXXXXXXXXXXXXXXXXXXXXXXXXYYXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXYYXXXXXXXXXXXXXXXXXXXXXXYYXXXXXXXXXXXXXXYYXXXXXXXXYYXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXYYXXXXXXXXYYXXXXYYXXXXXXXXXXXXXXXXXXYYXXXXYYXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXYYXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXYYXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXYXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXYYXXXXXXXXXXXXXXXXXXXXYYXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXYYXXXXXXXXXXXXXXYYXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXYYXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXYYXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXWVbzĵytqmjheb^ZXWVWWVVVWWXWXXXWWXXXXXXXXXXXXXXXWXXXXXWXXXXXXXWWWWWWWWWVVXZ^aehlpsvzٸiUWXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXWe֧dVWXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXWVmȅ^YXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXVVmݿlVWXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX`rڵiWWXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXVU{јr`XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXWUeĵytpmjfca]XVVVVVWWWWWWWWWXXXXXWWWXXXXXXXXXXXWWWXXXWWWWVVWWWVVX]acfjnrvzѯfUVXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXVU|ڵiWWXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXVU|ڵiWWXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXYYXXXXYYXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXYYXXXXXXXXXXXXYYXXXXYYXXXXYYYYXXXXXXXXXXXXXXXXXXXXXXXXYYXXXXXXXXXXXXXXYYXXXXXXXXXXXXXXXXXXXXXXXXXXXXYYXXXXXXXXXXXXXXYYXXXXXXYYXXXXXXWi۶jWXYXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXYYXXXXXXXXYYXXYYXXXXXXXXXXXXXXXXYYXXYYXXXXXXXXXXXXXXYYXXXXXXXXXXXXXXXXXXXXXXXXXXYYXXYYXXXXXXXXXXXXYYXXXXXXXXXXXXXXYYXXXXXXYYXXXXXXXXXXXXXXXXXXXXXXXXXXYYXXXXXXXXXXXXXXYYXXXXXXXXXXXXXXXXXXXXXXYYXXXXXXXXXXXXXXXXYYXXXXYYXXXXXXXXXXXXXXYYXXXXXXXXYYXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXYYXXXXXXXXYYXXXXYYXXXXXXXXXXXXXXXXXXYYXXXXYYXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXYYXXXXYYXXXXXXXXXXXXXXXXXXXXXXXXXXYYXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXYYXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXYYXXXXXXXXXXXXXXXXXXXXYYXXXXXXXXXXXXXXXXXXXXXXYYXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXYYXXXXXXXXXXXXXXYYXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXYYXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXYYXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXYYXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXYYXXXXXXYnƺqeZUUVVWWWXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXWWVVVVUU\jyղaZXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX_pڳhVWXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXVUsϒl]XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXVUrجfWXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX`rڵiWXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXVU{љr`XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXW[fźqdZUUVVVVWWXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXWWVVVUT]oЬ}aYWXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXVU|ڵiWWXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXVU|ڵiVWXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXYYXXXXYYXXXXYYXXXXYYXXXXXXXXXXYYXXYYYYXXXXYYXXYYYYXXXXYYYYXXXXXXYYYYYYXXXXXXXXXXXXYYYYXXXXYYYYXXYYYYXXXXXXXXYYXXYYXXYYXXYYYYYYXXYYXXXXXXXXXXXXYYXXYYYYXXYYXXYYYYYYYYXXYYYYXXYYXXXXXXXXYYXXXXYXWi۷jWXYXXXXXXXXYYXXYYXXYYYYXXXXYYXXXXXXYYXXXXXXXXXXYYXXXXYYYYXXYYXXYYYYXXXXYYXXXXYYXXXXXXXXYYXXXXXXXXXXXXYYXXYYXXXXYYXXXXXXXXXXYYYYXXXXXXXXYYXXXXXXXXXXXXXXYYYYYYYYXXXXYYYYXXXXXXYYYYXXXXXXXXXXYYYYXXXXXXXXYYXXXXYYXXXXXXXXXXYYXXXXXXYYYYYYXXYYXXXXYYXXYYYYXXXXXXXXYYXXXXXXYYXXYYXXYYXXXXXXYYXXXXYYYYXXXXXXXXXXYYXXXXYYYYXXXXXXXXYYYYYYXXXXXXYYXXYYXXXXYYYYYYXXYYXXXXXXXXXXXXXXXXYYXXXXXXXXXXYYXXXXXXXXYYYYXXYYXXXXXXXXXXYYXXXXYYXXXXXXYYXXXXXXXXYYXXYYXXXXXXXXXXXXXXXXXXYYYYXXXXXXXXXXXXYYXXXXYYYYYYYYYYXXXXXXXXXXXXXXXXXXXXXXYYXXXXXXYYXXXXXXXXXXYYXXXXXXXXXXXXXXXXXXXXYYXXXXYYXXXXYYXXXXXXYYXXXXXXXXYYXXXXXXXXXXXXXXYYYYXXXXXXXXXXXXXXXXXXYYYYXXXXXXYYYYXXXXXXXXXXXXXXYYXXYYYYXXXXYYYYXXXXYYXXXXYYYYXXXXXXXXYYXXXXXXXXXXYYYYXXXXXXYYXXYYXXXXXXXXXXYYYYXXXXYYYYXXYYXXXXXXYYYYXXXXYYYYYYXXXXXXXXXXXXXXXXYYXXYYXXYYYYYYXXXXXXXXXXXXXXXXXXXXXXXXYYXXXXYYXXXXYYYYYYXXYYXXYYXXXXXXXXYYYYXXYYYYXXYYYYXXXXXXXXXXXXXXYYXXXXXXYYXXXXXXXXXXYYYYYYYYYYYYXXYYYYXXXXXXXXXXXXXXXXYYXXYYXXXXXXXXXXXXYYXXXY_~ͻwrnid`\XVVWWWXXXXXXXXXXXXXXXXXXXXXXXXYYXXXXXXXXXXYYXXYYXXXXXXXXXXXXXXXXXXXXXXXXWWWWWWVY]bglrx~̟zbWXXXXYYXXXXXXYYXXXXYYYYXXXXXXXXXXXXXXXXXXXXXXYYXXXXXXXXXXXXYYXXXXXXXXXXXXYYXXXXYXXY]ݾkVWXXXXXXXXXXXYYYYXXXXXXXXXXXXXXYYXXXXXXXXXXXXXXXXXXXXXXXXYYYYXXXXXXYYXXXXXXYYXXXXXXXXXXXXXXXXYYXXXXXXXXXXXXXXYYXXYYXXYYXXXXXXXXXXXXXXXXXXXXXXXXXXXXYYXXXXXVUyե~dWXXXXXXXXYYXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXYYXXXXXXXXXXXXXXXXXXYYXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXYYXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXVUwњs`XXXXXXXXXXXXXXXXXXXXXXXXXXXYYXXXXXXXXYYXXXXYYYYXXXXXXYYYYXXXXXXXXXXXXW_rڵjWXXXXYYXXXXXXXXYYXXXXXXXXXXXXXXYYXXXXXXYYXXXXXXXXXXXXXXXXXXXXYVU|њr`XXXYYXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXYYXXXXXXXXXXXXXXYYXXXXYYXXXXYYXXXXXXXXXXXXXXXXYWUfƳwrnid_[XVVVWWXXXXXXXXXXXXXXXXXXXXYYXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXYXXXXXWWWVVY_eint{ʞzaVWXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXVU|ڵiWWXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXYYXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXYYXXXXXXXXXXXXXXYYXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXVU|ڵiVWXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXYYXXXXYYXXXXYYXXXXYYXXXXXXXXXXYYXXYYYYXXXXYYXXYYYYXXXXYYYYXXXXXXYYYYYYXXXXXXXXXXXXYYYYXXXXYYYYXXYYYYXXXXXXXXYYXXYYXXYYXXYYYYYYXXYYXXXXXXXXXXXXYYXXYYYYXXYYXXYYYYYYYYXXYYYYXXYYXXXXXXXXYYXXXXYXWiɻeWXYXXXXXXXXYYXXYYXXYYYYXXXXYYXXXXXXYYXXXXXXXXXXYYXXXXYYYYXXYYXXYYYYXXXXYYXXXXYYXXXXXXXXYYXXXXXXXXXXXXYYXXYYXXXXYYXXXXXXXXXXYYYYXXXXXXXXYYXXXXXXXXXXXXXXYYYYYYYYXXXXYYYYXXXXXXYYYYXXXXXXXXXXYYYYXXXXXXXXYYXXXXYYXXXXXXXXXXYYXXXXXXYYYYYYXXYYXXXXYYXXYYYYXXXXXXXXYYXXXXXXYYXXYYXXYYXXXXXXYYXXXXYYYYXXXXXXXXXXYYXXXXYYYYXXXXXXXXYYYYYYXXXXXXYYXXYYXXXXYYYYYYXXYYXXXXXXXXXXXXXXXXYYXXXXXXXXXXYYXXXXXXXXYYYYXXYYXXXXXXXXXXYYXXXXYYXXXXXXYYXXXXXXXXYYXXYYXXXXXXXXXXXXXXXXXXYYYYXXXXXXXXXXXXYYXXXXYYYYYYYYYYXXXXXXXXXXXXXXXXXXXXXXYYXXXXXXYYXXXXXXXXXXYYXXXXXXXXXXXXXXXXXXXXYYXXXXYYXXXXYYXXXXXXYYXXXXXXXXYYXXXXXXXXXXXXXXYYYYXXXXXXXXXXXXXXXXXXYYYYXXXXXXYYYYXXXXXXXXXXXXXXYYXXYYYYXXXXYYYYXXXXYYXXXXYYYYXXXXXXXXYYXXXXXXXXXXYYYYXXXXXXYYXXYYXXXXXXXXYYYYYYXXXXYYYYXXYYXXXXXXYYYYXXXXYYYYYYXXXXXXXXXXXXXXXXYYXXYYXXYYYYYYXXXXXXXXXXXXXXXXXXXXXXXXYYXXXXYYXXXXYYYYYYXXYYXXYYXXXXXXXXYYYYXXYYYYXXYYYYXXXXXXXXXXXXXXYYXXXXXXYYXXXXXXXXXXYYYYYYYYYYYYXXYYYYXXXXXXXXXXXXXXXXYYXXYYXXXXXXXXXXXXYYXXW`uƸp]UUWWWXXXXXXXXYYXXXXXXXXXXXXXXXXXXXXXXYYXXXXXXXXXXYYXXYYXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXYYXXWVVWYdwݽp[XXXXYYXXXXXXYYXXXXYYYYXXXXXXXXXXXXXXXXXXXXXXYYXXXXXXXXXXXXYYXXXXXXXXXXXXYYXXXXYYXVTyˤpVWXXXXXXXXXXXYYYYXXXXXXXXXXXXXXYYXXXXXXXXXXXXXXXXXXXXXXXXYYYYXXXXXXYYXXXXXXYYXXXXXXXXXXXXXXXXYYXXXXXXXXXXXXXXYYXXYYXXYYXXXXXXXXXXXXXXXXXXXXXXXXXXXXYYXXXXXY]۶iWWXXXXXXXYYXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXYYXXXXXXXXXXXXXXXXXXYYXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXYYXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX}ˋe\XXXXXXXXXXXXXXXXXXXXXXXXXXXYYXXXXXXXXYYXXXXYYYYXXXXXXYYYYXXXXXXXXXXXXW_rڵjWXXXXYYXXXXXXXXYYXXXXXXXXXXXXXXYYXXXXXXYYXXXXXXXXXXXXXXXXXXXXYWVsɴl^XXXYYXXXXXXXXXXXXXXXXYYXXXXXXXXXXXXXXXXXXXXXXYYXXXXXXXXXXXXXXYYXXXXYYXXXXYYXXXXXXXXXXXXXXXXX[eʿ{j[UUVWWWXXXXXXXXXXXXXXXXXXXXXXXXXXXYYXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXYYXXXXXXXXXXXWVVUX_l~ݿs^YXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXVU|ڵiWWXXXXXXXXXXXXXXXXXYYXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXYYXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXYYXXXXXXXXXXXXXXYYXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXVU|ڵiVWXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXYYXXXXXXYYYYYYYYYYXXYYYYYYYYYYYYYYYYXXYYYYXXXXYYYYYYYYYYXXYYYYXXYYYYYYXXYYXXYYXXYYYYXXXXYYXXYYYYXXYYXXYYYYYYXXYYYYYYYYXXYYYYXXXXYYXXXXXXYYYYXXXXYYYYYYYYYYYYYYYYYYXXXXYYXXXXYYYYXXXXYYXXYYYYYYXXYYYYYYYYXXWjح{|}}|||||||||||||||}}||||}}||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||}}||||||||}}||||||||||||}}||||||||||||||||||||||||||||||||}}||||||||||||}}|||||||||||||||||}||||||||||}}||||||||||}}||||||||||||}}}xof]XXYYYXXYYYYYYYYXXYYXXYYXXYYXXXXXXYYYYXXYYXXYYYYYYYYYYYYXXXXYYXXXXXXXXYYYYYYYYXXXXYYYYXXXXYYYYXXXXXXXXXXYYXXYYXXYYYYXXYYXXYYXXYYXXYYYYXXXXXXYYYYYYYYYYYYXXXXXXYYYYXXXXYYXXYYYYYYXXYYXXXXYYYYXXYYYYYYXXYYYYXXXXYYXXYYYYXXXXYYYYXXYYYYXXXXXXYYYYYYYYXXXXXXXXXXYYYYXXXXXXXXYYYYYYYYXXYYYYXXYYXXXXXXYYXXYYYYXXYYYYYYXXXXYYXXXXYYYYYYYYYYYYYYXXXXXXXXYYYYXXXXXXXXYYYYYYXXYYXXXXYYXXYYYYYYXXYYXXXXXXXXYYXXXXXXYYYYXXYYYYXXXXXXYYYYXXYYYYYYXXYYXXXXXXYYYYYYYYXXYYYYYYXXYYYYXXXXYYXXYYXXYYXXYYYYYYXXYYYYXXYYXXYYXXXXYYXXYYXXYYYYYYXXXXYYYYYYYYYYXXYYXXXXYYXXYYYYXXXXYYYYYYXXYYXXYYXXXXXXXXYYXXXXYYXXYYYYXXYYXXYYXXYYYYYYXXYYYYXXYYXXYYYYXXYYXXYYYYXXYYYYYYYYXXYYYYYYXXYYXXXXYYXXYYXXYYYYYYXXYYYYYYXXYYYYXXYYXXXXYYYYYYXXYYXXXXYYXXYYYYXXYYXXYYXXYYYYXXYYXXYYXXXXYYYYYYYYYYXXYYYYYYYYXXYYYYYYXXYYYYXXYYXXYYXXXXXXYYYYXXYYXXXXYYYYXXYYYYXXXXXXYYXXXXXXXXYYXXXXXXYYXXYYYYYYYYXXYYYYYYXXXXYYXXYYYYYYXXYYYYYYYYYYXXXXXXYYXXYYXXXXYYXXYYXXXXXXYYYYXXXXXXXXYYXXXXXXYYYYYYXXXXYYXXXXXXYYYYXXXXYYXXXXYYXWVlvpke_YVWWXXXXXXYYXXXXYYYYXXYYYYYYXXXXXXXXYYYYXXYYXXXXXXXXYYYYXXYYYYXXXXYYYYYYYYYYXXYYXXXXXXXXXXXWWWX\bhmu~ڸe\XXXXXYYXXXXYYXXXXYYXXXXXXXXXXYYXXYYYYXXXXYYXXYYYYXXXXYYYYXXXXXXYYYYYYXXXXXXXXXXXWUuٳuUWXYYYYXXYYYXYYYYYYYYXXYYYYXXYYXXXXXXXXYYXXXXYYXXYYXXXXXXXXYYXXYYXXXXXXXXXXYYYYXXYYXXXXYYYYXXXXXXYYXXXXXXYYYYXXXXXXXXYYYYYYYYYYYYXXYYYYXXYYXXXXXXYYXXXXXXX_pÝnVWXXXYYYYXXXXYYXXXXXXXXXXXXXXYYXXYYYYYYXXYYYYYYYYXXXXXXYYXXYYYYXXYYXXXXYYXXXXXXYYXXYYXXXXXXYYXXXXXXXXYYYYXXXXYYYYYYXXXXYYXXYYYYXXYYXXXXYYXXXXXXXXXXXXXXXZ_ZXXXXYYXXXXYYYYYYXXXXXXXXYYXXYYXXYYYYXXXXXXXXXXYYYYXXYYYYXXYYYYXXXXXXXXX`rڵjWXXXXXXXXYYXXXXYYYYXXYYYYXXYYXXXXXXYYYYXXYYXXXXYYXXXXYYYYXXXXXXXas}}||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||{{ح{{|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||}uh_ZXXXYYXXYYXXXXYYXXYYXXXXXXXXXXYYXXXXYYXXXXXXXXYYXXXXXXXXYYXXXXXXYYXXXXXXXXXXXXYYYYXXXXYYXXXWVeȲ}tnic]XVWWWXXXXYYYXXXXXXXXXXXXYYYYXXXXXXXXXXXXXXXXXXYYYYXXXXXXYYYYXXXXXXXXXXXXXXYYXXYYXWWWVXY^dks}o^WXXXXXXXXXXXXXXXXYYXXYYXXYYYYYYXXXXXXXXXXXXXXXXXXXXXXXXYYXXXXYYXXXXYYYYYYXXYYXXYYXXXXXXXXYYYYXXYYYYXXYYYYXXXVU|ڵiWWXYYXXYYXXXXXXXXXXYYYYXXYYXXXXXXXXXXXXYYYYXXXXXXXXXXXXXXXXXXYYXXXXXXXXXXXXXXYYXXXXXXYYXXYYXXXXXXXXXXYYXXXXYYYYXXXXXXXXXXXXYYXXXXXXYYXXXXXXXXXXXXXXXXXXXXXXXXXXYYYYXXYYXXXXXXXXXXXXXXXXYYXXXXXXXXXXXXXXXXYYYYXXXXXXXXXXXXYVU|ڵiVWXXXYYXXYYXXXXXXXXYYXXXXXXXXYYXXXXXXXXXXXXXXYYYYYYXXXXXXXXXXXXXXXXYYXXXXXXYYXXYYXXXXXXXXXXXXXXYYXXXXXXXXXXXXXXXXXXXXYYXXXXXXXXYYXXYYXXXXXXYYYYYYYYYYXXYYYYYYYYYYYYYYYYXXYYYYXXXXYYYYYYYYYYXXYYYYXXYYYYYYXXYYXXYYXXYYYYXXXXYYXXYYYYXXYYXXYYYYYYXXYYYYYYYYXXYYYYXXXXYYXXXXXXYYYYXXXXYYYYYYYYYYYYYYYYYYXXXXYYXXXXYYYYXXXXYYXXYYYYYYXXYYYYYYYYXXWjЗo]UUVVVUUUUUUUUUUUUUUVVUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUVVUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUVVUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUVVUUUUUUUUUUUUUUUUVVVUUUUUUUUUVVUUUUUUUUVVVUUUUUUUUUUUUUUUUVWXXXYYYYXXYYYYYYYYXXYYXXYYXXYYXXXXXXYYYYXXYYXXYYYYYYYYYYYYXXXXYYXXXXXXXXYYYYYYYYXXXXYYYYXXXXYYYYXXXXXXXXXXYYXXYYXXYYYYXXYYXXYYXXYYXXYYYYXXXXXXYYYYYYYYYYYYXXXXXXYYYYXXXXYYXXYYYYYYXXYYXXXXYYYYXXYYYYYYXXYYYYXXXXYYXXYYYYXXXXYYYYXXYYYYXXXXXXYYYYYYYYXXXXXXXXXXYYYYXXXXXXXXYYYYYYYYXXYYYYXXYYXXXXXXYYXXYYYYXXYYYYYYXXXXYYXXXXYYYYYYYYYYYYYYXXXXXXXXYYYYXXXXXXXXYYYYYYXXYYXXXXYYXXYYYYYYXXYYXXXXXXXXYYXXXXXXYYYYXXYYYYXXXXXXYYYYXXYYYYYYXXYYXXXXXXYYYYYYYYXXYYYYYYXXYYYYXXXXYYXXYYXXYYXXYYYYYYXXYYYYXXYYXXYYXXXXYYXXYYXXYYYYYYXXXXYYYYYYYYYYXXYYXXXXYYXXYYYYXXXXYYYYYYXXYYXXYYXXXXXXXXYYXXXXYYXXYYYYXXYYXXYYXXYYYYYYXXYYYYXXYYXXYYYYXXYYXXYYYYXXYYYYYYYYXXYYYYYYXXYYXXXXYYXXYYXXYYYYYYXXYYYYYYXXYYYYXXYYXXXXYYYYYYXXYYXXXXYYXXYYYYXXYYXXYYXXYYYYXXYYYYYYXXXXYYYYYYYYYYXXYYYYYYYYXXYYYYYYXXYYYYXXYYXXYYXXXXXXYYYYXXYYXXXXYYYYXXYYYYXXXXXXYYXXXXXXXXYYXXXXXXYYXXYYYYYYYYXXYYYYYYXXXXYYXXYYYYYYXXYYYYYYYYYYXXXXXXYYXXYYXXXXYYXXYYXXXXXXYYYYXXXXXXXXYYXXXXXXYYYYYYXXXXYYXXXXXXYYYYXXXXYYXXXXYXXZ_ïp]UUWWXXXYYYYYYXXYYXXXXYYYYXXYYYYYYXXXXXXXXYYYYXXYYXXXXXXXXYYYYXXYYYYXXXXYYYYYYYYYYXXYYXXXXXXXXYYYYXXYXXWVWYf|РzbWXXXXYYXXXXYYXXXXYYXXXXXXXXXXYYXXYYYYXXXXYYXXYYYYXXXXYYYYXXXXXXYYYYYYXXXXXXXXXXXWVq|XXXYYYYXXYYYYYYYYYYYYXXYYYYXXYYXXXXXXXXYYXXXXYYXXYYXXXXXXXXYYXXYYXXXXXXXXXXYYYYXXYYXXXXYYYYXXXXXXYYXXXXXXYYYYXXXXXXXXYYYYYYYYYYYYXXYYYYXXYYXXXXXXYYXXXXXXWeԭsUWXXXYYYYXXXXYYXXXXXXXXXXXXXXYYXXYYYYYYXXYYYYYYYYXXXXXXYYXXYYYYXXYYXXXXYYXXXXXXYYXXYYXXXXXXYYXXXXXXXXYYYYXXXXYYYYYYXXXXYYXXYYYYXXYYXXXXYYXXXXXXXXXXXXXXX]jwUVXXXYYXXXXYYYYYYXXXXXXXXYYXXYYXXYYYYXXXXXXXXXXYYYYXXYYYYXXYYYYXXXXXXXXX`rڵjWXXXXXXXXYYXXXXYYYYXXYYYYXXYYXXXXXXYYYYXXYYXXXXYYXXXXYYYYXXXXXXXXVUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUU]oЗo]TUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUWXXXXXYYXXYYXXXXYYXXYYXXXXXXXXXXYYXXXXYYXXXXXXXXYYXXXXXXXXYYXXXXXXYYXXXXXXXXXXXXYYYYXXXXYYXXXY`zǷudZUVWXXXXXXXXXXYYYYXXXXXXXXXXXXYYYYXXXXXXXXXXXXXXXXXXYYYYXXXXXXYYYYXXXXXXXXXXXXXXYYXXYYXXXXXXXXWVUZdwٲl[YXXXXXXXXXXXXXXXYYXXYYXXYYYYYYXXXXXXXXXXXXXXXXXXXXXXXXYYXXXXYYXXXXYYYYYYXXYYXXYYXXXXXXXXYYYYXXYYYYXXYYYYXXXVU|ڵiWWXYYXXYYXXXXXXXXXXYYYYXXYYXXXXXXXXXXXXYYYYXXXXXXXXXXXXXXXXXXYYXXXXXXXXXXXXXXYYXXXXXXYYXXYYXXXXXXXXXXYYXXXXYYYYXXXXXXXXXXXXYYXXXXXXYYXXXXXXXXXXXXXXXXXXXXXXXXXXYYYYXXYYXXXXXXXXXXXXXXXXYYXXXXXXXXXXXXXXXXYYYYXXXXXXXXXXXXYVU|ڵiWWXXXYYXXYYXXXXXXXXYYXXXXXXXXYYXXXXXXXXXXXXXXYYYYYYXXXXXXXXXXXXXXXXYYXXXXXXYYXXYYXXXXXXXXXXXXXXYYXXXXXXXXXXXXXXXXXXXXYYXXXXXXXXYYXXYYYYYYYYXXYYYYYYYYXXYYXXXXYYXXYYYYYYYYYYYYYYYYYYYYYYYYYYXXYYYYYYYYXXXXYYYYYYYYYYYYYYXXYYYYYYYYYYYYYYYYYYYYYYYYXXYYYYYYYYYYYYXXYYYYYYXXYYYYYYXXYYYYXXYYYYYYYYYYYYXXYYYYXXXXYYYYYYYYYYYYYYYYXXYYYYYYYYYYYYXXWjјp^VVWWWWVVVVVVWWWWWWWWWWVVVVWWWWWVVVVVVVVVVVVVVVVWWWWWWVVVWWWWVVWWWVVWWVVVWWWWVVVVVVVWWWWVVVVWWWWVVVVVWWWVVVVVVVVWWWVVVVVVWWWWVVVVVVVVVVVVVWWWVVVVVVVVVVWWWVVVWWWVVVVVVVVVWWWWWWWWWVVVVVVVVVWWWWWWWWVVVVWWWWWVVWWVWWWWVVVVVVVVVVVVVVWWWXXXYYYYYYYXXYYYYYYXXXXYYYYYYYYXXYYYYYYYYYYXXXXYYXXYYXXYYYYYYYYYYYYYYYYYYYYYYXXYYYYYYYYYYYYYYYYXXYYYYXXYYXXXXYYYYYYYYYYYYXXYYYYYYYYYYXXYYYYYYYYYYXXYYYYYYYYYYYYYYYYYYYYYYYYYYXXYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYXXYYYYYYYYYYYYYYYYYYXXXXYYYYYYYYXXYYXXYYYYYYXXYYXXYYYYYYXXYYYYYYXXYYYYXXXXYYYYYYYYYYYYXXYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYXXYYYYYYXXYYYYYYYYYYYYYYYYYYXXYYYYXXYYYYXXYYXXYYYYXXYYYYYYXXYYYYYYYYYYYYYYYYXXXXXXYYYYYYYYYYYYYYXXYYXXYYYYYYXXYYYYXXYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYXXYYYYXXYYYYXXXXYYYYYYYYYYXXXXXXYYYYXXXXXXYYXXXXXXYYYYYYYYYYYYYYYYXXXXYYYYYYYYYYXXYYYYYYYYXXYYYYYYYYYYYYYYYYYYYYXXYYYYYYYYYYYYYYYYYYYYYYYYYYXXYYYYYYYYXXYYYYYYYYYYYYYYYYXXXXYYXXYYYYYYXXYYYYXXYYYYYYXXYYYYYYYYYYXXYYYYXXXXYYYYYYXXYYYYYYYYYYYYXXYYYYYYYYYYYYYYYYXXYYYYYYYYYYYYYYYYYYXXYYYYYYYYXXYYYYXXYYXXXXXXYYYYYYYYXXYYYYYYYYYYYYYYXXYYYYYYYYYYYYXXYYYYXXYYYYYYYYYYYYXXYYYYYYXXXXYYYYXXYYYYYYYYYYXXYYYYYYXXYYYYYYYYYYXXXXYYYYYYYYYYXXYYYYYYYYYYYYXXYYYYYYXXYYYYYYYYYYYYXXYYYYYXXauζwmf`YVWWXXYYYYXXYYYYYYXXYYXXYYYYYYYYYYXXXXYYYYYYYYYYYYXXXXYYYYYYYYXXYYYYYYXXYYYYYYYYXXYYYYYYXXYYXXYYYYYYYXXXWWX\cks›lUWYYYXXYYYYYYYYYYXXYYYYXXYYYYXXXXYYYYYYYYYYXXYYYYYYYYYYYYYYYYXXYYXXYYYYXXXXXXYYYXWlȅ_ZXXYYYXXYYYYXXYYYYYYXXYYYYYYYYXXYYXXYYYYYYYYXXYYYYYYYYYYYYXXYYYYYYXXXXXXYYXXXXXXYYXXXXXXYYYYXXYYYYYYXXYYYYYYYYYYYYXXYYXXYYYYYYXXYYYYYYYYYYXXYYYYXXYYYYYXWiyUVYXXYYXXYYYYXXXXYYYYYYYYYYXXYYYYYYXXXXYYYYXXYYXXYYYYYYYYXXYYYYXXYYYYYYYYYYYYYYYYXXYYYYYYYYXXYYXXXXYYXXYYXXXXXXYYXXXXYYYYYYYYXXYYXXYYYYYYXXXXYYYYXXYYXXXbyӬsVWYYYXXYYYYYYXXYYYYYYYYYYYYXXYYXXYYYYXXYYXXYYXXXXYYXXYYXXXXYYXXYYXXXXYXX`rڵiWXXYYXXYYXXXXXXXXYYXXYYYYYYYYXXYYYYXXYYXXYYYYYYYYXXYYXXYYYYYYYYYXWVVWWWWVVVVVVWWWVVVVVVVVVVVVVWWWWVVVVVWWVVVVVVVVVWWWVVVVWWVVWWWVVVVVVVWWWWWVVVVVVVVVVVVVVVVVWWWWVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVWWWVVVVWWVV^pїp^UVVVVVVVVVWWWWVVVVVVVVVVVVVVVVVVWWWVVVVVVVVVVVVVVVVVVWWVVWWWVVVVWWWWVVVVVVVWWWVVVVVVWWWWVVVVVVVVVVVVVVVVWWWWWVVVVVWWWWVVVVVWWWWWVVVVVVVVVVWXXYYYYXXYYYYYYYYYYYYYYYYXXYYYYYYYYXXYYYYXXXXXXXXYYXXYYXXYYYYYYYYXXXXXXYYXXYYYYXXXXYYXXYYXXYXW`uȲunha\XWWXXXXYYYXXXXXXYYXXYYYYXXXXYYYYXXYYYYYYYYXXYYXXYYYYXXYYYYYYYYXXYYYYYYXXYYXXXXYYYYYYXXYYYYYYXXXWWX[bjs}ִe\XXYXXYYXXYYXXXXXXYYYYXXXXXXXXYYYYXXYYYYXXXXXXYYYYXXXXXXYYXXYYXXYYYYXXYYYYYYYYYYYYYYXXXXXXXXYYYYYYXXXXYYYYYVU|۶jWXXXXXXXXYYXYYYYYXXYYYYXXXXXXXXXXYYXXXXYYXXXXYYYYXXYYXXYYXXYYXXXXYYYYXXYYYYYYXXXXYYXXXXYYYYXXXXXXYYXXXXYYYYXXYYXXXXXXXXXXYYYYXXYYYYXXXXXXYYYYXXXXYYYYXXYYYYXXXXYYYYYYYYYYXXYYYYXXXXXXYYYYXXYYXXXXYYYYXXXXYYYYXXYYYYXXYYXXXVU|ڵjWWXXXXXXXXXYYYYXXYYXXYYYYYYYYYYYYYYXXYYXXXXYYXXYYXXYYYYXXXXXXXXYYYYYYXXYYYYXXYYYYXXXXXXYYXXXXXXYYYYXXXXYYXXYYXXXXXXXXYYXXXXXXYYYYXXYYYYYYYYXXYYYYYYYYXXYYXXXXYYXXYYYYYYYYYYYYYYYYYYYYYYYYYYXXYYYYYYYYXXXXYYYYYYYYYYYYYYXXYYYYYYYYYYYYYYYYYYYYYYYYXXYYYYYYYYYYYYXXYYYYYYXXYYYYYYXXYYYYXXYYYYYYYYYYYYXXYYYYXXXXYYYYYYYYYYYYYYYYXXYYYYYYYYYYYYXXWjљr`XXYYYYYYYYYXXYYYYYYYYYYYYXXYYYYYYYYYYYYXXXXXXYYYYYYYYYYYYYYXXXXYYYYYYYYXXYYYYYYXXYYYYYYYYXXYYYYYYYYYYYYYYYYYYXXYYXXYYYYYYYYYYYYYYYYYYXXXXYYYYYYYYYYXXYYYYYYXXYYYYYYYYYYXXYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYXXYYYYXXYYXXYYYYYYYYYYYYYYXXYYYYYYXXXXYYYYYYYYXXYYYYYYYYYYXXXXYYXXYYXXYYYYYYYYYYYYYYYYYYYYYYXXYYYYYYYYYYYYYYYYXXYYYYXXYYXXXXYYYYYYYYYYYYXXYYYYYYYYYYXXYYYYYYYYYYXXYYYYYYYYYYYYYYYYYYYYYYYYYYXXYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYXXYYYYYYYYYYYYYYYYYYXXXXYYYYYYYYXXYYXXYYYYYYXXYYXXYYYYYYXXYYYYYYXXYYYYXXXXYYYYYYYYYYYYXXYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYXXYYYYYYXXYYYYYYYYYYYYYYYYYYXXYYYYXXYYYYXXYYXXYYYYXXYYYYYYXXYYYYYYYYYYYYYYYYXXXXXXYYYYYYYYYYYYYYXXYYXXYYYYYYXXYYYYXXYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYXXYYYYXXYYYYXXXXYYYYYYYYYYXXXXXXYYYYXXXXXXYYXXXXXXYYYYYYYYYYYYYYYYXXXXYYYYYYYYYYXXYYYYYYYYXXYYYYYYYYYYYYYYYYYYYYXXYYYYYYYYYYYYYYYYYYYYYYYYYYXXYYYYYYYYXXYYYYYYYYYYYYYYYYXXXXYYXXYYYYYYXXYYYYXXYYYYYYXXYYYYYYYYYYXXYYYYXXXXYYYYYYXXYYYYYYYYYYYYXXYYYYYYYYYYYYYYYYXXYYYYYYYYYYYYYYYYYYXXYYYYYYYYXXYYYYXXYYXXXXXXYYYYYYYYXXYYYYYYYYYYYYYYXXYYYYYYYYYYYYXXYYYYXXYYYYYYYYYYYYXXYYYYYYXXXXYYYYXXYYYYYYYYYYXXYYYYYYXXYYYYYYYYYYXXXXYYYYYYYYYYXXYYYYYYYYYYYYXXYYYYYYXXYYYYYYYYYYYYXXYYYYYXXk̼r`YWXXXYYYYYYYYYXXYYYYYYXXYYXXYYYYYYYYYYXXXXYYYYYYYYYYYYXXXXYYYYYYYYXXYYYYYYXXYYYYYYYYXXYYYYYYXXYYXXYYYYYYYYXXXXXXXVU\jڸaZXYYXXYYYYYYYYYYXXYYYYXXYYYYXXXXYYYYYYYYYYXXYYYYYYYYYYYYYYYYXXYYXXYYYYXXXXXXYYYXXgϑj]XXYYYXXYYYYXXYYYYYYXXYYYYYYYYXXYYXXYYYYYYYYXXYYYYYYYYYYYYXXYYYYYYXXXXXXYYXXXXXXYYXXXXXXYYYYXXYYYYYYXXYYYYYYYYYYYYXXYYXXYYYYYYXXYYYYYYYYYYXXYYYYXXYYYYYWVnʄ^YXXXYYXXYYYYXXXXYYYYYYYYYYXXYYYYYYXXXXYYYYXXYYXXYYYYYYYYXXYYYYXXYYYYYYYYYYYYYYYYXXYYYYYYYYXXYYXXXXYYXXYYXXXXXXYYXXXXYYYYYYYYXXYYXXYYYYYYXXXXYYYYXXYYXXWg›nVWYYYXXYYYYYYXXYYYYYYYYYYYYXXYYXXYYYYXXYYXXYYXXXXYYXXYYXXXXYYXXYYXXXXYXX`rڵiWXXYYXXYYXXXXXXXXYYXXYYYYYYYYXXYYYYXXYYXXYYYYYYYYXXYYXXYYYYYYYYYYXXYYYYYYXXYYXXYYXXXXYYYYXXXXYYYYXXXXYYYYXXXXXXXXXXYYXXYYYYXXYYYYYYXXYYYYYYYYXXXXYYXXXXYYXXXXYYYYYYYYXXYYYYXXXXYYYYYYXXXXXXXXYYYYYYYYYYYYYXX`rљr`XXYXXYYYYYYYYYYXXYYYYYYXXXXYYXXXXYYXXXXYYXXYYXXYYYYYYYYXXYYXXXXYYYYXXYYYYXXYYYYXXYYYYYYYYYYYYXXYYXXXXXXYYYYYYXXYYYYYYYYYYXXYYYYYYXXXXXXXXXXYYYYYYXXYYYYYYYYYYYYYYYYXXYYYYYYYYXXYYYYXXXXXXXXYYXXYYXXYYYYYYYYXXXXXXYYXXYYYYXXXXYYXXYYXXXZ`tǵu_UVWXXXXYYXXYYYYXXXXXXYYXXYYYYXXXXYYYYXXYYYYYYYYXXYYXXYYYYXXYYYYYYYYXXYYYYYYXXYYXXXXYYYYYYXXYYYYYYXXYYXXXXWWYhѢ|dXXYXXYYXXYYXXXXXXYYYYXXXXXXXXYYYYXXYYYYXXXXXXYYYYXXXXXXYYXXYYXXYYYYXXYYYYYYYYYYYYYYYYXXXXXXYYYYYYXXXXYYYYYVU|۶jWXYXXXXXXYYYYYYYYXXYYYYXXXXXXXXXXYYXXXXYYXXXXYYYYXXYYXXYYXXYYXXXXYYYYXXYYYYYYXXXXYYXXXXYYYYXXXXXXYYXXXXYYYYXXYYXXXXXXXXXXYYYYXXYYYYXXXXXXYYYYXXXXYYYYXXYYYYXXXXYYYYYYYYYYXXYYYYXXXXXXYYYYXXYYXXXXYYYYXXXXYYYYXXYYYYXXYYXXXWU|ڵjWXXXXXXXXXXYYYYXXYYXXYYYYYYYYYYYYYYXXYYXXXXYYXXYYXXYYYYXXXXXXXXYYYYYYXXYYYYXXYYYYXXXXXXYYXXXXXXYYYYXXXXYYXXYYXXXXXXXXYYXXXXXXYYYYXXYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYXXjљr`XXYYYYYYYYYYYXXYYYYYYYYYYYYXXYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYXXYYXXYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYXXYYYYYYXXYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYXXYYYYYYYYYYYYYYYYYYYYYYYYYYYYXXYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYXXYYYYYYYYYYYYXXYYYYYYYYYYYYYYXXYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYXXYYYYYYYYYYXXYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYXXYYYYYYYYYYYYYYYYYYXXYYYYYYYYYYYYXXYYYYYYYYYYXXYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYXXYYYYYYYYXXYYYYYYYYYYYYYYYYXXYYYYYYYYYYXXYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYXXYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYXXYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYXXYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYXXYYYYYYXXYYYYYYYYYYYYYYYYYYYYYYYYYYYYXXXXXXYYYYYYYYYYYYYYYYYYYYYYXXYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYXXYYYYYYYYXXYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYXXYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYXXYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYXXYYYYYYYYYYYYYYXXZwϵti`ZXXXXXXYYYYYYYYXXXXYYYYYYYYYYYYYYYYYYYYYYYYXXXXYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYXXXWY]dm{ΟzcXXYYYYYXXYYYYYYYYYYXXYYYYYYYYYYYYYYYYYYYYXXYYYYYYYYYYYYYYYYYYYYYYXXYYYYYYYYYYYXXatԠybXXYYYYYYYXXXXYYYYYYYYYYYYYYYYXXYYYYYYYYYYYYYYYYYYXXYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYXXYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYXXYYYYYYYYXXXXYYYYYYYYYYXXXWVuЖp_XXYYYYYXXYYYYYYYYYYXXYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYXXYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYXXYYYYYYYYXXYYYYYYXWWlٰhWXXYYYYXXYYXXYYYYYYYYYYYYYYYYYYYYYYYYYYYYXXXXYYYYYYYYYYYYYYYYYYYYXXYYYXX`rڵjWXXXXYYYYYYXXYYYYYYYYYYYYXXYYYYXXXXYYYYYYXXYYYYYYYYXXYYYYYYYYYYYYYYYYXXYYYYYYYYYYYYYYYYYYYYYYXXXXXXYYYYXXYYYYYYYYYYYYYYYYYYYYYYYYYYXXYYYYYYXXYYYYYYYYYYYYYYYYYYXXYYYYYYYYYYYYYYYYXXYYYYYYYYYYYYYYYYYYYYXXYXX`rљr`XXYYYYYYYYYYYYYYYYYXXYYYYYYYYYYXXYYYYYYYYYYYYYYYYYYYYYYYYXXYYXXYYYYXXYYXXYYYYYYYYYYXXYYXXYYXXYYXXYYXXXXYYYYYYXXYYYYYYYYYYYYYYYYYYYYXXYYYYYYYYYYXXYYYYYYYYYYYYXXYYYYXXYYYYYYYYXXYYYYYYYYYYYYYYYYYYYYYYYYXXYYXXYYYYYYYYYYYYYYYYXXYYYYYXXauηzohaYVWXXXXYYYYYYYYYXXYYYYYYXXYYYYYYYYYYYYYYYYYYYYXXYYYYYYYYYYYYYYYYXXYYYYYYYYXXYYYYYYYYYYXXYYYYYYXXYYXXYYYYYXXWX]eozȢsZXXXXYYYYYYXXYYYYXXYYXXYYYYYYYYYYYYYYYYYYXXYYYYYYYYXXYYXXXXYYYYXXXXYYYYYYYYYYYYYYXXYYYYYYYYYYXXYYYYXXYYYYYVU}ڵjWXXYYYYYYYYYYXXXXXXYYXXYYYYYYYYYYXXYYYYYYXXYYYYXXXXYYYYYYXXYYYYXXYYYYYYYYYYYYYYYYYYXXYYXXYYYYXXYYYYYYXXXXYYXXXXYYYYXXXXXXXXYYYYYYXXYYXXYYYYXXYYYYYYYYYYYYYYYYYYYYYYYYYYXXYYYYYYYYYYYYYYXXXXYYXXXXXXYYYYYYYYXXXXYYXXYYXXXXYWU|۶iWXYXXXXYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYXXYYXXYYYYYYXXYYYYXXYYYYYYYYXXXXYYXXYYYYYYYYYYYYYYYYYYYYXXYYYYYYXXXXXXYYYYYYYYXXYYYYXXYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYXXjљr`XXYYYYYYYYYYYXXYYYYYYYYYYYYXXYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYXXYYXXYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYXXYYYYYYXXYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYXXYYYYYYYYYYYYYYYYYYYYYYYYYYYYXXYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYXXYYYYYYYYYYYYXXYYYYYYYYYYYYYYXXYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYXXYYYYYYYYYYXXYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYXXYYYYYYYYYYYYYYYYYYXXYYYYYYYYYYYYXXYYYYYYYYYYXXYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYXXYYYYYYYYXXYYYYYYYYYYYYYYYYXXYYYYYYYYYYXXYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYXXYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYXXYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYXXYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYXXYYYYYYXXYYYYYYYYYYYYYYYYYYYYYYYYYYYYYXXXXXYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYXXYYYYYYYYXXYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYXXYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYXXYYYYYYYYYYYYYXX]hëq_YWXYYYYYXXYYYYYYYYXXXXYYYYYYYYYYYYYYYYYYYYYYYYXXXXYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYXWV\jݽmXXYYYYYXXYYYYYYYYYYXXYYYYYYYYYYYYYYYYYYYYXXYYYYYYYYYYYYYYYYYYYYYYXXYYYYYYYYYYYYX\eحfWXYYYYYYYXXXXYYYYYYYYYYYYYYYYXXYYYYYYYYYYYYYYYYYYXXYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYXXYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYXXYYYYYYYYXXXXYYYYYYYYYYXXXXY|֧֫eWXYYYYYXXYYYYYYYYYYXXYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYXXYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYXXYYYYYYYYXXYYYYYYXWVpԠybXXXYYYYXXYYXXYYYYYYYYYYYYYYYYYYYYYYYYYYYYXXXXYYYYYYYYYYYYYYYYYYYYXXYYYXX`rڵjWXXXXYYYYYYXXYYYYYYYYYYYYXXYYYYXXXXYYYYYYXXYYYYYYYYXXYYYYYYYYYYYYYYYYXXYYYYYYYYYYYYYYYYYYYYYYXXXXXXYYYYXXYYYYYYYYYYYYYYYYYYYYYYYYYYXXYYYYYYXXYYYYYYYYYYYYYYYYYYXXYYYYYYYYYYYYYYYYXXYYYYYYYYYYYYYYYYYYYYXXYXX`rљr`XXYYYYYYYYYYYYYYYYYXXYYYYYYYYYYXXYYYYYYYYYYYYYYYYYYYYYYYYXXYYXXYYYYXXYYXXYYYYYYYYYYXXYYXXYYXXYYXXYYXXXXYYYYYYXXYYYYYYYYYYYYYYYYYYYYXXYYYYYYYYYYXXYYYYYYYYYYYYXXYYYYXXYYYYYYYYXXYYYYYYYYYYYYYYYYYYYYYYYYXXYYXXYYYYYYYYYYYYYYYYXXYYYYXY\owe[VWXYYYYYYYYYYYYYYYYXXYYYYYYXXYYYYYYYYYYYYYYYYYYYYXXYYYYYYYYYYYYYYYYXXYYYYYYYYXXYYYYYYYYYYXXYYYYYYXXYYXXYYYYYYYYYXXXZik]WXXYYYYYYXXYYYYXXYYXXYYYYYYYYYYYYYYYYYYXXYYYYYYYYXXYYXXXXYYYYXXXXYYYYYYYYYYYYYYXXYYYYYYYYYYXXYYYYXXYYYYYWU}ڵjWXXYYYYYYYYYYXXXXXXYYXXYYYYYYYYYYXXYYYYYYXXYYYYXXXXYYYYYYXXYYYYXXYYYYYYYYYYYYYYYYYYXXYYXXYYYYXXYYYYYYXXXXYYXXXXYYYYXXXXXXXXYYYYYYXXYYXXYYYYXXYYYYYYYYYYYYYYYYYYYYYYYYYYXXYYYYYYYYYYYYYYXXXXYYXXXXXXYYYYYYYYXXXXYYXXYYXXXXYWU|۶jWXYXXXXYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYXXYYXXYYYYYYXXYYYYXXYYYYYYYYXXXXYYXXYYYYYYYYYYYYYYYYYYYYXXYYYYYYXXXXXXYYYYYYYYXXYYYYXXYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYXXjљr`XXYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYXWeâvi`ZXXXYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYXXWY^em}ڵzZXYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYXZ۷jXXYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYXXZ`̍ڵjWXYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYWVuϑj^XXYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYXX`rڵjXXYYYYYYYYYYYYYXXYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYXXYYYYYYYYYYYYYYYYYYYYYYYYYYYXX`rљr`XXYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYXXYYYYYYYYYYYYYYYYYYYYYYXXYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYXXYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYXX\e϶tjb\XWXXYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYXXXXYYYYYYYYYYYYYYYYXXYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYXXXX]enzֲhVWYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYXXYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYXXYYYYYYYYYYYYYYYWU|ڵjWXYYYXXYYYYYYYYYYYYYYXXYYYYYYYYYYYYXXYYYYYYYYYYYYYYYYYYYYXXYYYYYYYYYYYYYYYYXXYYYYYYYYYYYYYYYYYYYYYYXXYYYYYYYYYYYYYYXXYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYWU}ڵjWXYYYYYYYYYYYYYYYYYYYYYYYYYYYYYXXYYYYYYYYYYXXYYYYYYYYXXYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYXXjљr`XXYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYXWnθze[WXYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYXWV^pˑl^XXYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYWUxĝnWXYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYXX]k{{ƟnVXYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYXY|ȅ`ZYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYXX`rڵjXXYYYYYYYYYYYYYXXYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYXXYYYYYYYYYYYYYYYYYYYYYYYYYYYXX`rљr`XXYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYXXYYYYYYYYYYYYYYYYYYYYYYXXYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYXXYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYZgªq_YWXXXXYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYXXXXYYYYYYYYYYYYYYYYXXYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYXWWZjϬ{`ZXYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYXXYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYWU|ڵjXXYYYXXYYYYYYYYYYYYYYXXYYYYYYYYYYYYXXYYYYYYYYYYYYYYYYYYYYXXYYYYYYYYYYYYYYYYXXYYYYYYYYYYYYYYYYYYYYYYXXYYYYYYYYYYYYYYXXYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYWV}ڵjXXYYYYYYYYYYYYYYYYYYYYYYYYYYYYYXXYYYYYYYYYYXXYYYYYYYYXXYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYZZYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYZZYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYZZYYYYYYYYYYYYYYYYZZYXXjљraXXYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYZZYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYZZYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYZZYYYYYYYYYYZZYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYZZYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYZZYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYZZYYYYYYYYYYYYYYYYYYZZYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYZZYYYYZZYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYZZYYYYYYYYZZYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYXZzݾmb\YXYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYXXZ_iwٳiWXYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYXVsӬsWXYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYZZYYYYYYYYYXXcyٱsuرuVWYZZYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYZ`|YXYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYXX`r۶jWXYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYXX`rљraXXYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYZ_|uj`ZXXXYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYXXXX]fuɘuaWXYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYVU|۶jXXYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYWV}۶jXXYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYZZYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYZZYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYZZYYYYYYYYYYYYYYYYZZYXXjљraYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYZZYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYZZYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYZZYYYYYYYYYYZZYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYZZYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYZZYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYZZYYYYYYYYYYYYYYYYYYZZYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYZZYYYYZZYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYZZYYYYYYYYZZYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYX^l׾zaVXYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYXX[jЫv[YYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYXWn߹yXXYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYZZYYYYYYYYYXXh̤np|YXYZZYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYX]jرuVWYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYXX`r۶jWXYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYXX`rљraXXYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYcwȶu`YWXYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYXW[ez۸mYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYWU|۶jXXYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYWV}۶jXXYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYZZYYYYZZYYYYZZYYYYYYZZYYYYYYYYZZZZYYYYYYZZYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYZZYYYYYYYYZZYYYYZZZZYYYYYYYYYYYYYYYYYYZZYYYYYYYYYYYYYYZZYYZZYYYYYYYYYYYYYYYYYYYYZZZZYYYYYYZZYYYYYYYYYYYYYXXjљraYYYYYYYYYYYYYZZYYYYZZYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYZZYYYYZZYYYYZZYYYYYYYYYYYYYYZZZZYYYYYYYYYYYYYYYYYYZZZYYYYYYYZZYYYYYYYYYYZZYYYYYYYYYYYYYYZZYYYYZZYYZZYYYYZZYYYYYYYYYYYYZZYYYYYYYYYYYYYYYYYYYYYYYYYYZZYYYYYYYYYYYYYYYYYYYYYYYYZZYYYYYYYYYYYYYYZZYYYYZZYYYYYYYYYYZZYYYYYYYYYYYYYYZZYYYYYYYYYYZZYYYYZZYYYYYYYYZZYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYZZYYYYYYYYYYYYZZZZYYYYYYYYZZYYYYYYYYYYYYYYYYYYYYZZZZYYYYYYYYYYZZYYYYYYYYZZYYYYYYZZYYZZYYZZZZYYYYYYYYYYYYYYYYZZYYYYZZYYYYYYYYYYZZYYYYZZYYYYYYYYZZYYYYYYYYYYYYYYZZYYYYYYYYYYYYYYYYYYYYYYYYZZYYYYYYYYYYYYYYYYZZYYYYYYYYYYYYZZYYYYYYYYYYYYYYYYYYZZYYYYYYYYZZYYZZZZYYYYYYZZYYZZYYYYYYYYZZYYZZYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYZZYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYZZYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYZZYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYZZYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYZZYYYYYYYYYYYYYYYYYYYYYYZZYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYZZYYYYZZYYYYYYYYYYYYYYYYYYYYYYZZYYYYYYYYYYZZYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYZZYYYYYYYYYYYYYYZZYYYYYYYYZZYYYYYYYYZZYYYYYYYYYYYYYYYYYYYYZZYYYYZZYYYYYYYYYXXiӨqc[XXYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYY^fxÈe\YYYYYYYZZYYYYZZYYYYZZYYYYYYYYYYYYYYYYZZYYYYYYYYYYYYYYYYZZYYYYYYYYYYYYYYYYYYYXXjŀ[YYYYYYYYYYYYYYYYYYZZYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYZZYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYXWnšllȆ`ZYYYYYYYYYYYYYYYYYYYYYYYYYYYYYZZYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYZZYYYYYYYYYYYYYYYYYYYYXcyƟoWXYYYYYYYYYYYYYYYYYZZYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYXX`r۶jWXYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYZZYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYXX`rљraXXYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYY[sЫ|maZXXYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYZZYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYZZYYYYYYYYYYYXXY]bmص~`ZYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYWV|۶jXXYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYZZYYYYYYYYYYYYYYYYYYYYYYYYYYZZYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYZZYYYYYYYYYYYYYYYYYWV}۶jXXYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYZZYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYZZYYYYZZYYYYZZYYYYYYZZYYYYYYYYZZZZYYYYYYZZYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYZZYYYYYYYYZZYYYYZZZZYYYYYYYYYYYYYYYYYYZZYYYYYYYYYYYYYYZZYYZZYYYYYYYYYYYYYYYYYYYYZZZZYYYYYYZZYYYYYYYYYYYYYXXjљraYYYYYYYYYYYYYZZYYYYZZYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYZZYYYYZZYYYYZZYYYYYYYYYYYYYYZZZZYYYYYYYYYYYYYYYYYYZZZZYYYYYYZZYYYYYYYYYYZZYYYYYYYYYYYYYYZZYYYYZZYYZZYYYYZZYYYYYYYYYYYYZZYYYYYYYYYYYYYYYYYYYYYYYYYYZZYYYYYYYYYYYYZZYYYYYYYYYYZZYYYYYYYYYYYYYYZZYYYYZZYYYYYYYYYYZZYYYYYYYYYYYYYYZZYYYYYYYYYYZZYYYYZZYYYYYYYYZZYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYZZYYYYYYYYYYYYZZZZYYYYYYYYZZYYYYYYYYYYYYYYYYYYYYZZZZYYYYYYYYYYZZYYYYYYYYZZYYYYYYZZYYZZYYZZZZYYZZYYYYYYYYYYYYZZYYYYZZYYYYYYYYYYZZYYYYZZYYYYYYYYZZYYYYYYYYYYYYYYZZYYYYYYYYYYYYYYYYYYYYYYYYZZYYYYYYYYYYYYYYYYZZYYYYYYYYYYYYZZYYYYYYYYYYYYYYYYYYZZYYYYYYYYZZYYZZZZYYYYYYZZYYZZYYYYYYYYZZYYZZYYYYYYYYYYYYYYZZYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYZZYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYZZYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYZZYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYZZYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYZZYYYYYYYYYYYYYYYYYYYYYYZZYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYZZYYYYZZYYYYYYYYYYYYYYYYYYYYYYZZYYYYYYYYYYZZYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYZZYYYYYYYYYYYYYYZZYYYYYYYYZZYYYYYYYYZZYYYYYYYYYYYYYYYYYYYYZZYYYYZZYYYYYYYYYYYuήe[XXYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYXW^pԢ{cXYYYYYYZZYYYYZZYYYYZZYYYYYYYYYYYYYYYYZZYYYYYYYYYYYYYYYYZZYYYYYYYYYYYYYYYYYYYYXëb[YYYYYYYYYYYYYYYYYZZYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYZZYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYXVs۶ihГm_YYYYYYYYYYYYYYYYYYYYYYYYYYYYYZZYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYZZYYYYYYYYYYYYYYYYYYYXXhڵjXXYYYYYYYYYYYYYYYYYZZYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYXX`r۶jXXYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYZZYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYXX`rљraXXYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYX^lĨj]WXYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYZZYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYZZYYYYYYYYYYYYYYYXVbzΛuaXXYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYWV}۶jXXYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYZZYYYYYYYYYYYYYYYYYYYYYYYYYYZZYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYZZYYYYYYYYYYYYYYYYYWV}۶jXXYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYZZYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYZZYYYYYYYYYYZZYYZZZZZZYYZZYYZZZZYYZZYYYYZZZZYYYYZZZZZZYYYYZZZZYYYYZZYYYYYYYYZZYYZZYYYYYYYYZZZZZZYYZZYYYYYYYYYYZZYYZZYYYYYYYYZZYYYYZZZZYYYYYYYYZZZZYYZZYYYYYYYYYYZZZZZZZZZZYYZZYYZZYYYYYYYYZZYYYYYYZZYYYXXjљsaYYYYYYYYYYYYYZZZZYYZZYYYYZZYYZZYYZZZZYYYYYYYYYYZZYYYYYYYYYYYYYYZZYYYYZZZZZZYYZZYYZZZZZZZZYYYYZZYYZZYYYYYYYYZZZZZZYYZZZZYYZZYYYYZZYYZZYYYYZZYYYYYYYYYYZZZZZZYYYYYYZZZZYYYYYYYYYYYYYYZZYYZZYYYYYYYYYYYYZZZZYYYYYYZZYYZZYYZZZZYYZZYYYYYYYYYYYYYYZZYYYYZZYYZZZZYYZZYYYYYYZZZZYYYYYYYYYYYYYYYYYYYYZZZZZZYYYYZZYYYYYYZZYYZZYYYYZZYYYYZZYYYYYYYYZZYYYYZZYYZZZZYYYYYYYYYYYYZZYYYYYYZZZZYYYYYYYYZZYYZZZZYYYYYYYYYYYYYYYYYYYYZZYYZZYYYYYYYYZZYYYYYYYYYYZZYYYYZZZZYYYYZZYYZZYYYYYYZZZZZZYYYYYYZZYYZZYYYYZZYYYYZZYYYYZZYYYYYYYYYYYYYYYYYYYYYYYYZZZZYYZZYYYYZZYYZZYYYYZZYYYYZZYYYYYYYYYYYYZZYYYYYYYYYYYYYYYYZZYYYYZZYYYYYYZZYYYYYYYYYYYYZZZZYYZZYYZZYYYYZZZZYYYYYYZZYYYYYYYYYYYYYYYYYYYYYYZZYYYYZZYYYYZZYYYYYYYYZZYYZZYYZZYYYYZZYYYYYYYYYYYYYYYYZZYYZZYYZZYYYYYYYYYYZZYYYYYYZZYYZZZZYYYYYYYYZZZZYYYYYYZZYYYYYYYYYYYYYYYYZZZZYYYYZZZZYYYYYYZZYYYYYYYYYYYYYYYYZZYYYYYYYYZZZZZZYYYYYYYYYYYYZZZZYYYYYYYYYYZZZZYYZZYYYYYYZZYYZZZZZZYYYYYYZZZZYYYYYYYYZZYYYYZZYYYYZZZZZZYYZZYYYYYYYYYYZZYYYYYYYYYYYYYYZZYYZZYYYYYYYYYYYYYYZZYYYYYYYYZZYYZZYYZZZZYYZZZZZZYYYYYYZZYYZZZZYYYYZZYYYYYYYYYYZZYYYYZZYYYYZZYYYYZZYYZZYYZZZZZZZZYYZZYYZZZZYYYYYYZZYYZZYYZZYYYYYYZZZZZZYYZZZZZZZZYYYYYYYYYYYYYYZZYYYYYYZZYYYYYYYYYYZZYYYYZZYYYYYYYYYYZZYYYYYYYYYYYYY[`Ęwf\YXYYZZYYZZYYYYYYZZYYYYYYYYYYZZYYYYYYYYYYYYZZYYYYYYYYYYYYZZYYZZYYYYYYYYYYZZZZZZYYZZYYZZZZYYYYYYYYYYYYYYZZZZZZYYYYYYYYZZZZYYYYYYYYYYYYYYZZYYZZYYXZ`k~ÜmWXYYYZZYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYZZYYYYZZYYZZYYZZYYYYYYYYYYYYYYYYYYZZYYYYX`rϓm_YYYYYYYZZYYYYYYYYYYYYYYYYZZZZZZYYYYYYYYYYYYYYZZYYYYZZYYYYYYZZYYZZYYYYZZYYYYYYYYYYZZYYYYZZYYYYZZZZYYZZYYYYYYYYYYZZYYZZZZYYZZYYYYYYYYYYYYZZYYYYZZYYYWUw֨ddե~eXYYZZYYYYYYYYYYYYZZYYZZYYYYYYYYYYYYYYZZYYYYYYZZYYZZYYYYYYYYYYYYYYZZYYYYYYYYYYYYYYZZZZYYYYYYYYYYYYYYYYYYYYZZYYYYZZYYZZYYYYYYYYYYYYYYZZZZYYZZYYYYYXXm֧eXYYYYYYYYYYYYZZYYZZYYYYYYYYYYYYYYYYYYYYYYZZYYZZYYZZYYYYYYYYYYZZYYYYYYYYYXX`r۶jXXYYYYYYYYYZZYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYZZZZYYYYYYYYYYYYYYYYYYYYZZZZYYZZYYYYYYYYYYYYYYYYYYYYZZYYYYYYYYZZYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYZZZZYYYYYYYYZZYYYYYYYYYYYYYYYYYYYYYYYYYYZZZZYYYYYYYYYYYYYYYarљr`XYYYYYYZZYYYYYYYYYYZZYYYYZZYYYYYYYYYYYYYYYYYYZZYYYYZZYYZZYYYYYYYYYYYYYYYYYYYYYYZZYYYYYYYYYYZZYYYYYYYYYYYYYYYYYYYYZZYYYYYYYYYYYYYYYYYYYYYYYYYYYYZZYYYYYYYYYYYYYYYYYYYYYYYYZZZZYYYYYYZZYYZZZZYYYYYYYYZZYYYYYYYYYYYYYYYYYYYYYYYYYXVhĦqf^YXXYYYYYZZZYYYYYYYYYYYYYZZYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYZZZZYYZZYYYYYYYYYYYYYYYYYYYYYYYYZZYYYYZZYYYYYYYXX[cqlVXYYYYYYYYYYYZZYYYYYYYYYYZZYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYWV}۶jXXYYYYYYYYYYYYYYYZZYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYZZYYYYYYYYYYYYYYYYYYZZYYYYYYYYYYYYYYYYYYYYYYYYZZYYYYYYYYYYYYYYYYZZYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYZZYYZZYYYYYYYYYYYYYYYYYYYYZZYYYYYYYYYYYYYYYWV}۶jXXYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYZZYYYYYYYYYYYYYYYYZZYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYZZYYYYYYYYYYZZYYZZZZZZYYZZYYZZZZYYZZYYYYZZZZYYYYZZZZZZYYYYZZZZYYYYZZYYYYYYYYZZYYZZYYYYYYYYZZZZZZYYZZYYYYYYYYYYZZYYZZYYYYYYYYZZYYYYZZZZYYYYYYYYZZZZYYZZYYYYYYYYYYZZZZZZZZZZYYZZYYZZYYYYYYYYZZYYYYYYZZYYYYXjњsaYYYYYYYYYYYYYZZZZYYZZYYYYZZYYZZYYZZZZYYYYYYYYYYZZYYYYYYYYYYYYYYZZYYYYZZZZZZYYZZYYZZZZZZZZYYYYZZYYZZYYYYYYYYZZZZZZYYZZZZYYZZYYYYZZYYZZYYYYZZYYYYYYYYYYZZZZZZYYYYYYZZZZYYYYYYYYYYYYYYZZYYZZYYYYYYYYYYYYZZZZYYYYYYZZYYZZYYZZZZYYZZYYYYYYYYYYYYYYZZYYYYZZYYZZZZYYZZYYYYYYZZZZYYYYYYYYYYYYYYYYYYYYZZZZZZYYYYZZYYYYYYZZYYZZYYYYZZYYYYZZYYYYYYYYZZYYYYZZYYZZZZYYYYYYYYYYYYZZYYYYYYZZZZYYYYYYYYZZYYZZZZYYYYYYYYYYYYYYYYYYYYZZYYZZYYYYYYYYZZYYYYYYYYYYZZYYYYZZZZYYYYZZYYZZYYYYYYZZZZZZYYYYYYZZYYZZYYYYZZYYYYZZYYYYZZYYYYYYYYYYYYYYYYYYYYYYYYZZZZYYZZYYYYZZYYZZYYYYZZYYYYZZYYYYYYYYYYYYZZYYYYYYYYYYYYYYYYZZYYYYZZYYYYYYZZYYYYYYYYYYYYZZZZYYZZYYZZYYYYZZZZYYYYYYZZYYYYYYYYYYYYYYYYYYYYYYZZYYYYZZYYYYZZYYYYYYYYZZYYZZYYZZYYYYZZYYYYYYYYYYYYYYYYZZYYZZYYZZYYYYYYYYYYZZYYYYYYZZYYZZZZYYYYYYYYZZZZYYYYYYZZYYYYYYYYYYYYYYYYZZZZYYYYZZZZYYYYYYZZYYYYYYYYYYYYYYYYZZYYYYYYYYZZZZZZYYYYYYYYYYYYZZZZYYYYYYYYYYZZZZYYZZYYYYYYZZYYZZZZZZYYYYYYZZZZYYYYYYYYZZYYYYZZYYYYZZZZZZYYZZYYYYYYYYYYZZYYYYYYYYYYYYYYZZYYZZYYYYYYYYYYYYYYZZYYYYYYYYZZYYZZYYZZZZYYZZZZZZYYYYYYZZYYZZZZYYYYZZYYYYYYYYYYZZYYYYZZYYYYZZYYYYZZYYZZYYZZZZZZZZYYZZYYZZZZYYYYYYZZYYZZYYZZYYYYYYZZZZZZYYZZZZZZZZYYYYYYYYYYYYYYZZYYYYYYZZYYYYYYYYYYZZYYYYZZYYYYYYYYYYZZYYYYYYYYYYYYY_nßrZYYYYYYZZYYZZYYYYYYZZYYYYYYYYYYZZYYYYYYYYYYYYZZYYYYYYYYYYYYZZYYZZYYYYYYYYYYZZZZZZYYZZYYZZZZYYYYYYYYYYYYYYZZZZZZYYYYYYYYZZZZYYYYYYYYYYYYYYZZYYZZYYYYYZ`x۷|]YYYYZZYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYZZYYYYZZYYZZYYZZYYYYYYYYYYYYYYYYYYZZYYYYY\eԠzdYYYYYYYZZYYYYYYYYYYYYYYYYZZZZZZYYYYYYYYYYYYYYZZYYYYZZYYYYYYZZYYZZYYYYZZYYYYYYYYYYZZYYYYZZYYYYZZZZYYZZYYYYYYYYYYZZYYZZZZYYZZYYYYYYYYYYYYZZYYYYZZYYYY]љq`_p۶jXXYZZYYYYYYYYYYYYZZYYZZYYYYYYYYYYYYYYZZYYYYYYZZYYZZYYYYYYYYYYYYYYZZYYYYYYYYYYYYYYZZZZYYYYYYYYYYYYYYYYYYYYZZYYYYZZYYZZYYYYYYYYYYYYYYZZZZYYZZYYYYYXWqљraYYYYYYYYYYYYYZZYYZZYYYYYYYYYYYYYYYYYYYYYYZZYYZZYYZZYYYYYYYYYYZZYYYYYYYYYXX`r۶jXXYYYYYYYYYZZYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYZZZZYYYYYYYYYYYYYYYYYYYYZZZZYYZZYYYYYYYYYYYYYYYYYYYYZZYYYYYYYYZZYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYZZZZYYYYYYYYZZYYYYYYYYYYYYYYYYYYYYYYYYYYZZZZYYYYYYYYYYYYYYYarљr`XYYYYYYZZYYYYYYYYYYZZYYYYZZYYYYYYYYYYYYYYYYYYZZYYYYZZYYZZYYYYYYYYYYYYYYYYYYYYYYZZYYYYYYYYYYZZYYYYYYYYYYYYYYYYYYYYZZYYYYYYYYYYYYYYYYYYYYYYYYYYYYZZYYYYYYYYYYYYYYYYYYYYYYYYZZZZYYYYYYZZYYZZZZYYYYYYYYZZYYYYYYYYYYYYYYYYYYYYYYYYY[b}cUWYYYYYYYYYZZZZYYYYYYYYYYYYZZYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYZZZZYYZZYYYYYYYYYYYYYYYYYYYYYYYYZZYYYYZZYYYYYYYYYYX\e}۸b[YYYYYYYYYYYZZYYYYYYYYYYZZYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYXV}۶jXXYYYYYYYYYYYYYYYZZZZYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYZZYYYYYYYYYYYYYYYYYYZZYYYYYYYYYYYYYYYYYYYYYYYYZZYYYYYYYYYYYYYYYYZZYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYZZYYZZYYYYYYYYYYYYYYYYYYYYZZYYYYYYYYYYYYYYYWV}۶jXXYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYZZYYYYYYYYYYYYYYYYZZYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYZZZZZZZZZZZZYYZZYYZZYYYYZZZZZZYYZZYYZZZZZZYYYYZZYYZZYYYYYYZZZZZZZZZZZZYYYYZZYYZZZZZZZZYYYYYYZZZZZZZZYYZZZZZZZZZZZZZZYYYYYYYYZZYYZZYYZZYYYYYYZZZZYYYYYYZZZZZZYYZZZZZZYYZZYYYYZZYYZZZZYYZZZZYYZZYYZZZZYYZZYYXjњsaYYZZZYYYYYYZZZZZZYYYYZZZZZZZZYYZZYYYYYYYYZZZZZZZZYYYYZZZZZZYYYYZZZZZZYYZZYYZZZZZZZZZZZZZZYYYYYYYYYYYYYYYYYYZZYYZZYYZZYYZZZZYYYYZZZZZZYYZZZZYYYYZZZZYYZZZZYYZZZZYYYYYYYYZZYYYYZZYYYYZZYYYYZZZZZZYYZZZZYYYYYYZZZZYYYYZZYYZZZZZZYYYYYYZZZZYYYYYYZZYYYYZZZZZZZZZZYYZZZZYYZZYYZZZZYYZZZZZZYYYYYYZZYYYYZZZZZZZZZZYYZZYYZZZZZZYYYYYYZZYYYYZZZZYYZZZZYYYYYYZZYYZZZZYYZZYYZZYYZZZZZZZZZZYYYYYYZZZZZZZZYYZZZZZZYYYYZZZZZZZZZZZZZZYYYYZZZZZZZZYYZZZZZZZZYYZZZZYYZZYYYYZZYYZZYYZZZZYYYYZZZZYYYYZZYYZZZZYYZZZZZZYYYYYYYYZZZZYYYYYYYYYYYYYYZZZZZZYYYYZZZZZZYYYYYYZZZZYYZZYYYYZZZZZZYYZZYYYYYYYYZZZZYYYYYYYYZZYYYYZZYYZZYYZZYYZZYYYYZZYYYYZZZZYYYYYYYYYYZZYYZZYYYYYYYYYYYYZZZZZZYYZZYYYYYYYYZZYYZZZZYYYYZZYYYYZZZZYYZZYYYYYYZZZZZZYYZZZZYYYYYYYYYYYYYYYYZZZZYYYYYYYYZZZZZZYYYYZZZZYYZZYYZZZZYYZZYYZZYYZZZZZZZZZZYYZZYYZZZZYYYYYYYYZZYYZZZZYYYYZZZZYYZZZZYYYYZZYYYYYYYYZZYYYYYYYYZZZZZZYYYYZZZZZZYYYYZZYYYYZZYYYYYYZZZZZZZZYYZZZZYYYYYYYYYYYYZZZZZZZZYYZZZZYYZZZZZZZZYYYYYYYYZZYYZZZZYYYYYYYYZZYYZZYYZZYYZZZZZZYYZZZZZZZZYYZZYYZZYYYYZZYYYYZZZZZZYYZZYYYYYYZZYYYYZZYYYYZZZZZZZZZZZZYYZZYYYYYYYYYYYYZZYYYYZZZZZZYYZZZZZZZZYYZZYYZZZZZZYYZZYYYYZZYYZZYYYYZZZZYYZZYYYYZZZZZZYYZZYYYYZZZZZZZZZZYYZZYYZZYYZZZZZZZZZZYYYYYYYYZZZZZZZZZZYYZZYYXfڽsaYYYYZYYYYZZYYZZYYZZZZYYYYZZYYZZYYZZYYZZYYZZYYYYYYZZYYZZZZYYYYYYZZZZZZZZZZYYZZZZYYYYZZYYZZYYZZYYZZZZYYYYZZYYYYZZYYYYZZYYYYYYZZYYYYZZYYYYYYZZZZZZZZYYYY[csɏk^YYYYYYYZZZZYYZZYYYYYYYYZZYYZZYYZZZZYYYYYYYYZZYYYYYYZZZZYYYYZZZZYYZZYYYYZZZZYY[~دhXYZZZZZYYZZZZZZYYYYYYYYYYYYYYZZYYYYZZYYZZYYYYZZYYZZZZZZYYYYZZZZZZYYYYYYZZYYYYYYZZYYYYYYYYZZZZYYZZYYZZYYZZYYYYYYZZZZZZYYYYZZYYYYZZYYYYYYYYYYYYYYYYY^k͊d\Y^ĞnWXZZZZZYYYYZZYYZZYYYYYYYYYYYYYYZZZZZZYYYYYYYYYYYYYYZZYYZZYYYYZZZZYYYYYYZZYYYYYYYYYYYYZZYYYYYYZZYYYYZZYYYYZZYYYYZZYYYYYYYYYYYYYYZZYYYYYYYYYYZZYYYXVűe\YYZYYYYZZYYYYYYYYYYYYYYZZYYZZYYZZYYYYYYYYYYYYYYZZYYZZYYZZZZZZZZYYYYZZZZYXX`r۶jXXYZZYYYYYYYYYYZZYYYYYYYYYYYYYYZZZZZZYYZZYYYYZZYYZZZZYYZZYYYYYYZZYYZZZZZZYYYYYYYYYYZZZZZZYYYYYYYYYYZZZZYYZZYYYYYYZZYYZZZZZZYYYYYYZZZZYYYYYYYYZZYYZZZZYYYYZZZZYYYYZZYYYYYYYYYYZZYYYYYYYYYYYYYYZZYYZZYYYYYYYYYarљraXYYZZYYYYZZYYYYZZYYYYYYZZYYZZYYZZZZZZYYZZYYZZZZYYYYYYZZZZZZYYZZYYYYYYZZZZZZYYZZZZZZZZYYZZYYYYYYYYYYZZYYYYYYZZYYYYYYYYYYZZYYYYZZYYYYYYZZZZZZYYYYYYYYYYZZYYYYYYZZYYZZYYYYYYYYYYYYYYYYYYZZYYYYYYYYZZZZYYYYYYYYYYZZYYYYYYZZZZYYZYXc{Ȥse[WXYYYYYYYYYZZZZYYYYZZYYYYZZYYYYZZYYYYZZYYYYYYZZYYZZYYYYYYYYYYYYYYZZZZZZZZYYZZZZYYZZZZYYYYZZYYYYYYZZYYYYYYYYZZYYYYYYZZZZYYYYZZZZYYYYYYYYZZZZZZZYYY\etΟ{cXYYYYYYZZZZYYYYZZYYYYYYYYYYYYYYYYZZYYZZYYZZYYZZYYYYZZZZZZYYZZYYYYYYYYZZYYYYYYYYYYYYZZYYYYYYYYYYYYZXV}۶jXXYYYYYYYYYYYYYZZYYYYYYYYZZYYYYYYYYYYYYZZYYYYZZYYYYZZYYZZZZYYZZYYYYYYYYYYYYZZYYZZYYYYYYYYZZYYZZYYYYYYYYYYYYZZYYYYYYYYZZZZZZZZZZYYYYYYYYYYZZYYZZYYZZYYYYYYYYYYYYYYYYYYYYYYYYYYYYZZZZYYYYYYYYZZZZYYYYZZYYZZYYZZYYYYYYYYZZYYYWV}۶jXXYZZYYYYYYYYYYZZYYYYYYYYYYYYYYYYYYZZYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYZZZZYYYYYYYYZZZZYYYYYYYYYYYYZZYYYYZZZZYYYYYYYYYYZZYYYYYYYYYYZZZZZZZZZZZZYYZZYYZZYYYYZZZZZZYYZZYYZZZZZZYYYYZZYYZZYYYYYYZZZZZZZZZZZZYYYYZZYYZZZZZZZZYYYYYYZZZZZZZZYYZZZZZZZZZZZZZZYYYYYYYYZZYYZZYYZZYYYYYYZZZZYYYYYYZZZZZZYYZZZZZZYYZZYYYYZZYYZZZZYYZZZZYYZZYYZZZZYYZZYYXjљsaYYZZZYYYYYYZZZZZZYYYYZZZZZZZZYYZZYYYYYYYYZZZZZZZZYYYYZZZZZZYYYYZZZZZZYYZZYYZZZZZZZZZZZZZZYYYYYYYYYYYYYYYYYYZZYYZZYYZZYYZZZZYYYYZZZZZZYYZZZZYYYYZZZZYYZZZZYYZZZZYYYYYYYYZZYYYYZZYYYYZZYYYYZZZZZZYYZZZZYYYYYYZZZZYYYYZZYYZZZZZZYYYYYYZZZZYYYYYYZZYYYYZZZZZZZZZZYYZZZZYYZZYYZZZZYYZZZZZZYYYYYYZZYYYYZZZZZZZZZZYYZZYYZZZZZZYYYYYYZZYYYYZZZZYYZZZZYYYYYYZZYYZZZZYYZZYYZZYYZZZZZZZZZZYYYYYYZZZZZZZZYYZZZZZZYYYYZZZZZZZZZZZZZZYYYYZZZZZZZZYYZZZZZZZZYYZZZZYYZZYYYYZZYYZZYYZZZZYYYYZZZZYYYYZZYYZZZZYYZZZZZZYYYYYYYYZZZZYYYYYYYYYYYYYYZZZZZZYYYYZZZZZZYYYYYYZZZZYYZZYYYYZZZZZZYYZZYYYYYYYYZZZZYYYYYYYYZZYYYYZZYYZZYYZZYYZZYYYYZZYYYYZZZZYYYYYYYYYYZZYYZZYYYYYYYYYYYYZZZZZZYYZZYYYYYYYYZZYYZZZZYYYYZZYYYYZZZZYYZZYYYYYYZZZZZZYYZZZZYYYYYYYYYYYYYYYYZZZZYYYYYYYYZZZZZZYYYYZZZZYYZZYYZZZZYYZZYYZZYYZZZZZZZZZZYYZZYYZZZZYYYYYYYYZZYYZZZZYYYYZZZZYYZZZZYYYYZZYYYYYYYYZZYYYYYYYYZZZZZZYYYYZZZZZZYYYYZZYYYYZZYYYYYYZZZZZZZZYYZZZZYYYYYYYYYYYYZZZZZZZZYYZZZZYYZZZZZZZZYYYYYYYYZZYYZZZZYYYYYYYYZZYYZZYYZZYYZZZZZZYYZZZZZZZZYYZZYYZZYYYYZZYYYYZZZZZZYYZZYYYYYYZZYYYYZZYYYYZZZZZZZZZZZZYYZZYYYYYYYYYYYYZZYYYYZZZZZZYYZZZZZZZZYYZZYYZZZZZZYYZZYYYYZZYYZZYYYYZZZZYYZZYYYYZZZZZZYYZZYYYYZZZZZZZZZZYYZZYYZZYYZZZZZZZZZZYYYYYYYYZZZZZZZZZZYYZZYYXoԺp[YYZZZZYYYYZZYYZZYYZZZZYYYYZZYYZZYYZZYYZZYYZZYYYYYYZZYYZZZZYYYZYYZZZZZZZZZZYYZZZZYYYYZZYYZZYYZZYYZZZZYYYYZZYYYYZZYYYYZZYYYYYYZZYYYYZZYYYYYYZZZZZZZZYYZZYY[p֧eXYYYYYYZZZZYYZZYYYYYYYYZZYYZZYYZZZZYYYYYYYYZZYYYYYYZZZZYYYYZZZZYYZZYYYYZZZZYXVvݽmXXZZZZZYYZZZZZZYYYYYYYYYYYYYYZZYYYYZZYYZZYYYYZZYYZZZZZZYYYYZZZZZZYYYYYYZZYYYYYYZZYYYYYYYYZZZZYYZZYYZZYYZZYYYYYYZZZZZZYYYYZZYYYYZZYYYYYYYYYYYYYYYYXd{ŀ[YWUzӬsWXZZZZZYYYYZZYYZZYYYYYYYYYYYYYYZZZZZZYYYYYYYYYYYYYYZZYYZZYYYYZZZZYYYYYYZZYYYYYYYYYYYYZZYYYYYYZZYYYYZZYYYYZZYYYYZZYYYYYYYYYYYYYYZZYYYYYYYYYYZZYYYXY|\YZZZYYYYZZYYYYYYYYYYYYYYZZYYZZYYZZYYYYYYYYYYYYYYZZYYZZYYZZZZZZZZYYYYZZZZYYX`r۶jXXYZZYYYYYYYYYYZZYYYYYYYYYYYYYYZZZZZZYYZZYYYYZZYYZZZZYYZZYYYYYYZZYYZZZZZZYYYYYYYYYYZZZZZZYYYYYYYYYYZZZZYYZZYYYYYYZZYYZZZZZZYYYYYYZZZZYYYYYYYYZZYYZZZZYYYYZZZZYYYYZZYYYYYYYYYYZZYYYYYYYYYYYYYYZZYYZZYYYYYYYYYarљraYYYZZYYYYZZYYYYZZYYYYYYZZYYZZYYZZZZZZYYZZYYZZZZYYYYYYZZZZZZYYZZYYYYYYZZZZZZYYZZZZZZZZYYZZYYYYYYYYYYZZYYYYYYZZYYYYYYYYYYZZYYYYZZYYYYYYZZZZZZYYYYYYYYYYZZYYYYYYZZYYZZYYYYYYYYYYYYYYYYYYZZYYYYYYYYZZZZYYYYYYYYYYZZYYYYYYZZZZYYZZ\q}e[XXYYYYYYYYYYYZZZZYYYYZZYYYYZZYYYYZZYYYYZZYYYYYYZZYYZZYYYYYYYYYYYYYYZZZZZZZZYYZZZZYYZZZZYYYYZZYYYYYYZZYYYYYYYYZZYYYYYYZZZZYYYYZZZZYYYYYYYYZZZZZZZZYYYY[mݽoZYYYYYYZZZZYYYYZZYYYYYYYYYYYYYYYYZZYYZZYYZZYYZZYYYYZZZZZZYYZZYYYYYYYYZZYYYYYYYYYYYYZZYYYYYYYYYYYYZXV}۶jXXYYYYYYYYYYYYYZZYYYYYYYYZZYYYYYYYYYYYYZZYYYYZZYYYYZZYYZZZZYYZZYYYYYYYYYYYYZZYYZZYYYYYYYYZZYYZZYYYYYYYYYYYYZZYYYYYYYYZZZZZZZZZZYYYYYYYYYYZZYYZZYYZZYYYYYYYYYYYYYYYYYYYYYYYYYYYYZZZZYYYYYYYYZZZZYYYYZZYYZZYYZZYYYYYYYYZZYYYWV}۶jXXYZZYYYYYYYYYYZZYYYYYYYYYYYYYYYYYYZZYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYZZZZYYYYYYYYZZZZYYYYYYYYYYYYZZYYYYZZZZYYYYYYYYYYZZYYYYYYYYYYZZZZZZZZZZZZZZZZZZZZZZZZZZZZYYZZZZZZZZYYZZZZZZZZYYYYZZZZZZZZZZZZZZZZYYZZZZZZZZZZZZZZZZZZYYZZYYZZZZZZYYZZZZYYYYZZZZZZZZZZZZZZZZZZYYZZZZZZZZZZYYZZYYZZYYZZYYZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZYYYYZZYYZZZZZYXjљraYYZZZZZZZZZYYZZYYZZZZYYYYZZZZZZZZYYZZZZZZYYZZZZZZYYZZZZZZZZZZZZZZZZZZZZYYZZYYZZYYZZZZYYZZZZZZZZZZZZZZYYZZZZZZYYZZZZZZZZYYZZZZZZZZZZZZZZZZZZZZYYYYZZZZZZZZYYYYZZZZZZYYZZYYZZZZYYZZZZZZYYZZYYZZYYYYZZZZZZYYZZZZZZZZYYZZZZZZZZZZZZZZZZYYZZZZYYZZYYZZZZZZYYYYYYYYZZYYZZZZZZZZZZZZZZZZZZZZZZYYYYYYZZZZZZYYYYYYZZZZZZZZZZYYZZZZZZYYYYZZZZZZYYYYZZZZYYZZYYYYYYZZZZZZYYZZZZZZZZYYYYYYZZYYZZZZZZZZZZZZZZZZYYZZZZZZZZYYYYYYZZZZZZZZZZZZZZYYZZZZYYZZZZZZYYZZZZZZYYZZZZZZYYZZZZZZYYZZYYZZZZZZZZZZYYZZZZZZZZZZZZZZYYZZZZZZYYZZYYZZZZZZZZZZZZZZZZZZZZYYZZYYZZYYZZZZYYYYZZYYZZZZYYYYYYYYZZZZZZZZYYZZZZZZYYYYZZYYZZZZYYZZZZYYZZYYYYYYZZZZYYYYYYZZZZZZZZZZZZZZZZZZZZYYZZYYZZZZZZZZYYZZZZYYZZZZZZZZYYYYYYZZZZZZZZZZZZZZZZYYZZYYZZZZYYYYZZZZYYZZYYZZZZZZZZZZZZYYYYZZZZZZZZZZZZZZZZYYZZZZYYZZZZYYYYZZZZZZYYYYYYYYZZZZZZZZYYZZYYYYZZZZZZYYYYZZZZZZYYYYZZZZZZYYZZZZYZZZZZZZYYYYZZZZZZZZZZZZZZYYYYYYYYZZYYZZZZZZZZZZYYYYYYZZZZZZZZZZYYZZZZZZYYZZYYYYZZYYZZYYZZZZZZYYZZYYYYYYZZZZZZYYZZZZZZYYZZZZZZZZZZYYZZYYZZZZZZZZYYYYZZZZZZZZYYZZYYYYZZZZYYZZZZZZZZYYZZZZYYZZZZZZZZZZZZZZYYYYZZZZYYZZZZYYZZZZZZYYZZZZZZZZYYYYYYYYZZZZZZYYZZZZZZZZZZZZZZZZZZYYYYZZYYZZYYYYZZZZZZZZZZZZZZYYZZZZYYZZYYZZZZYYZZYYYYZZZZYYZZZZZZZZZZZZZZZZYYYYYYZZZZZZYYZZZZYYZZ\{аk_YYYYYYYZZYYZZZZZZZZYYYYYYZZZZZZYYYYYYYYYYZZZZYYZZZZYYYYZZZZYYYYZZZZYYYYZZZZZZYYYYZZZZZZZZYYZZZZZZZZZZYYYYYYYYZZZZZZYYZZZZYYZZZZYYZZZZZZZZZZZZZZZZZZYYYYYYY`lŞnWXZYYYYZZYYZZZZZZZZYYZZZZZZZZYYZZZZYYYYZZZZZZZZZZZZYYZZYYYYZZYYZZZZZZZZYYZZZXWq˥qXXYZZZZZZZZYYZZYYYYYYZZZZZZYYYYYYZZZZYYZZYYYYZZYYZZZZYYYYYYYYZZZZYYZZZZZZYYYYZZYYYYZZZZZZYYZZYYZZZZYYYYZZZZZZZZZZYYZZZZZZYYZZYYYYZZZZYYZZYYYYYYZYXj߹yXXXWuxVXYZZYYZZYYYYZZYYZZZZZZYYZZYYYYZZYYZZYYZZZZYYZZZZYYZZZZZZZZZZYYYYZZZZZZZZYYZZZZYYYYYYYYYYZZYYZZYYZZYYYYZZZZZZZZYYYYZZZZZZZZYYYYZZZZZZZZZZYYYYYYZ[`ڴwXXZYYZZYYYYYYYYZZZZZZYYZZYYYYZZZZZZYYZZZZYYZZZZYYYYZZZZYYZZYYYYZZZZZZZZYYZYYar۶jXXYZZZZZZZZYYZZYYZZZZYYYYYYYYZZYYZZZZZZYYYYZZYYZZZZZZYYZZYYYYYYYYZZZZYYYYYYZZZZZZZZZZZZZZZZYYYYZZYYZZZZYYYYYYZZZZZZYYYYZZZZYYYYYYYYYYYYZZZZZZYYYYZZZZYYZZZZZZYYZZYYYYYYZZYYYYYYYYYYZZYYZZYYZZYYZZYYZZYYZZYYYasљsaYYZZZZZYYYYYYYYZZYYZZYYYYZZZZYYYYZZZZZZZZZZZZZZZZZZYYYYZZYYYYZZYYZZYYYYZZZZZZZZYYYYZZZZZZZZZZYYYYYYZZYYZZZZZZZZYYZZYYZZZZZZZZYYYYYYZZYYYYZZZZZZZZYYZZYYZZYYZZYYYYYYYYZZYYZZYYZZZZZZYYZZZZZZZZYYZZZZZZYYZZYYZZYYYYZZZZZZYYYYY\eɭte\YXYYYYYYYYYYYYZZZZYYZZYYZZZZZZZZYYYYZZYYZZYYYYYYYYZZYYZZYYZZZZZZZZYYYYZZYYZZYYYYZZZZZZZZZZYYZZZZZZYYYYZZZZZZYYZZYYYYYYZZZZYYZZZZZZYYYYYYYYYYYYZZYYZYYYY^i~ڷa[YZZYYYYZZYYZZYYZZYYZZYYZZZZYYYYZZYYYYYYYYZZYYYYYYYYZZZZYYYYZZZZZZYYZZYYYYYYZZZZYYZZZZYYZZZZZZZZZXV}۶jXXZYYZZYYZZZZZZYYYYYYZZYYZZYYYYZZZZZZYYZZYYZZYYYYZZZZYYYYZZYYYYYYZZYYYYZZYYZZYYYYYYZZZZYYZZYYZZYYYYZZYYZZZZZZYYYYYYYYYYZZZZYYYYYYYYZZYYZZYYYYYYYYYYZZZZYYZZYYZZYYYYYYZZZZYYZZYYZZZZZZYYZZZZZZYYZZYYZZZZYYZZYYZZYYZZYYYYYYZWV}۶jXXYZZYYYYZZZZZZYYZZZZZZZZYYYYZZYYZZYYYYYYZZZZYYZZZZYYZZZZYYZZYYZZYYYYYYZZYYZZYYZZYYYYZZYYZZYYYYYYZZYYZZZZYYYYZZYYZZYYYYZZYYZZZZZZYYZZZZZZZZZZZZZZZZZZZZZZZZZZZZYYZZZZZZZZYYZZZZZZZZYYYYZZZZZZZZZZZZZZZZYYZZZZZZZZZZZZZZZZZZYYZZYYZZZZZZYYZZZZYYYYZZZZZZZZZZZZZZZZZZYYZZZZZZZZZZYYZZYYZZYYZZYYZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZYYYYZZYYZZZZZYXjљraYYZZZZZZZZZYYZZYYZZZZYYYYZZZZZZZZYYZZZZZZYYZZZZZZYYZZZZZZZZZZZZZZZZZZZZYYZZYYZZYYZZZZYYZZZZZZZZZZZZZZYYZZZZZZYYZZZZZZZZYYZZZZZZZZZZZZZZZZZZZZYYYYZZZZZZZZYYYYZZZZZZYYZZYYZZZZYYZZZZZZYYZZYYZZYYYYZZZZZZYYZZZZZZZZYYZZZZZZZZZZZZZZZZYYZZZZYYZZYYZZZZZZYYYYYYYYZZYYZZZZZZZZZZZZZZZZZZZZZZYYYYYYZZZZZZYYYYYYZZZZZZZZZZYYZZZZZZYYYYZZZZZZYYYYZZZZYYZZYYYYYYZZZZZZYYZZZZZZZZYYYYYYZZYYZZZZZZZZZZZZZZZZYYZZZZZZZZYYYYYYZZZZZZZZZZZZZZYYZZZZYYZZZZZZYYZZZZZZYYZZZZZZYYZZZZZZYYZZYYZZZZZZZZZZYYZZZZZZZZZZZZZZYYZZZZZZYYZZYYZZZZZZZZZZZZZZZZZZZZYYZZYYZZYYZZZZYYYYZZYYZZZZYYYYYYYYZZZZZZZZYYZZZZZZYYYYZZYYZZZZYYZZZZYYZZYYYYYYZZZZYYYYYYZZZZZZZZZZZZZZZZZZZZYYZZYYZZZZZZZZYYZZZZYYZZZZZZZZYYYYYYZZZZZZZZZZZZZZZZYYZZYYZZZZYYYYZZZZYYZZYYZZZZZZZZZZZZYYYYZZZZZZZZZZZZZZZZYYZZZZYYZZZZYYYYZZZZZZYYYYYYYYZZZZZZZZYYZZYYYYZZZZZZYYYYZZZZZZYYYYZZZZZZYYZZZZZZZZZZZZYYYYZZZZZZZZZZZZZZYYYYYYYYZZYYZZZZZZZZZZYYYYYYZZZZZZZZZZYYZZZZZZYYZZYYZZZZYYZZYYZZZZZZYYZZYYYYYYZZZZZZYYZZZZZZYYZZZZZZZZZZYYZZYYZZZZZZZZYYYYZZZZZZZZYYZZYYYYZZZZYYZZZZZZZZYYZZZZYYZZZZZZZZZZZZZZYYYYZZZZYYZZZZYYZZZZZZYYZZZZZZZZYYYYYYYYZZZZZZYYZZZZZZZZZZZZZZZZZZYYYYZZYYZZYYYYZZZZZZZZZZZZZZYYZZZZYYZZYYZZZZYYZZYYYYZZZZYYZZZZZZZZZZZZZZZZYYYYYYZZZZZZYYZZZZYYZ]fֱgVXZYYYYYYZZYYZZZZZZZZYYYYYYZZZZZZYYYYYYYYYYZZZZYYZZZZYYYYZZZZYYZZZZZZYYYYZZZZZZYYYYZZZZZZZZYYZZZZZZZZZZYYYYYYYYZZZZZZYYZZZZYYZZZZYYZZZZZZZZZZZZZZZZZZYYYYYYYXVgڵ{[YZYYYYZZYYZZZZZZZZYYZZZZZZZZYYZZZZYYYYZZZZZZZZZZZZYYZZYYYYZZYYZZZZZZZZYYZZZYXmڳvWXYZZZZZZZZYYZZYYYYYYZZZZZZYYYYYYZZZZYYZZYYYYZZYYZZZZYYYYYYYYZZZZYYZZZZZZYYYYZZYYYYZZZZZZYYZZYYZZZZYYYYZZZZZZZZZZYYZZZZZZYYZZYYYYZZZZYYZZYYYYYYZXWoӬsWXXXqł]YYZZYYZZYYYYZZYYZZZZZZYYZZYYYYZZYYZZYYZZZZZZZZZZYYZZZZZZZZZZYYYYZZZZZZZZYYZZZZYYYYYYYYYYZZYYZZYYZZYYYYZZZZZZZZYYYYZZZZZZZZYYYYZZZZZZZZZZYYYYYYY^l˥qWXZYYZZYYYYYYYYZZZZZZYYZZYYYYZZZZZZYYZZZZYYZZZZYYYYZZZZYYZZYYYYZZZZZZZZYYZYYar۶jXYYZZZZZZZZYYZZYYZZZZYYYYYYYYZZYYZZZZZZYYYYZZYYZZZZZZYYZZYYYYYYYYZZZZYYYYYYZZZZZZZZZZZZZZZZYYYYZZYYZZZZYYYYYYZZZZZZYYYYZZZZYYYYYYYYYYYYZZZZZZYYYYZZZZYYZZZZZZYYZZYYYYYYZZYYYYYYYYYYZZYYZZYYZZYYZZYYZZYYZZYYYasљsaYYZZZZZYYYYYYYYZZYYZZYYYYZZZZYYYYZZZZZZZZZZZZZZZZZZYYYYZZYYYYZZYYZZYYYYZZZZZZZZYYYYZZZZZZZZZZYYYYYYZZYYZZZZZZZZYYZZYYZZZZZZZZYYYYYYZZYYYYZZZZZZZZYYZZYYZZYYZZYYYYYYYYZZYYZZYYZZZZZZYYZZZZZZZZYYZZZZZZYYZZYYZZYYYYZZZZZZYYYYYfŦk[YYYYYYYYYYYYYYYYZZZZYYZZYYZZZZZZZZYYYYZZYYZZYYYYYYYYZZYYZZYYZZZZZZZZYYYYZZYYZZYYYYZZZZZZZZZZYYZZZZZZYYYYZZZZZZYYZZYYYYYYZZZZYYZZZZZZYYYYYYYYYYYYZZYYZZYYZXWbzΙt`XYZYYYYZZYYZZYYZZYYZZYYZZZZYYYYZZYYYYYYYYZZYYYYYYYYZZZZYYYYZZZZZZYYZZYYYYYYZZZZYYZZZZYYZZZZZZZZZXV}۶jXYZYYZZYYZZZZZZYYYYYYZZYYZZYYYYZZZZZZYYZZYYZZYYYYZZZZYYYYZZYYYYYYZZYYYYZZYYZZYYYYYYZZZZYYZZYYZZYYYYZZYYZZZZZZYYYYYYYYYYZZZZYYYYYYYYZZYYZZYYYYYYYYYYZZZZYYZZYYZZYYYYYYZZZZYYZZYYZZZZZZYYZZZZZZYYZZYYZZZZYYZZYYZZYYZZYYYYYYZXV}۶jXYYZZYYYYZZZZZZYYZZZZZZZZYYYYZZYYZZYYYYYYZZZZYYZZZZYYZZZZYYZZYYZZYYYYYYZZYYZZYYZZYYYYZZYYZZYYYYYYZZYYZZZZYYYYZZYYZZYYYYZZYYZZZZZZYYYYZZZZZZZZZZZZZZZZZZZZYYZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZYYZZZZZZZZZZZZZZZZZZYYZZZZZZZZZZZZZZZZYYZZZZZZZZZZZZZYXjљsaYZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZYYZZZZZZYYZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZYYZZYYZZZZZZZZZZZZYYZZZZZZZZZZZZZZZZZZYYYYZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZYYZZZZZZZZZZZZZZZZYYYYZZZZZZZZYYZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZYYZZZZZZZZZZZZZZZZYYZZZZZZZZZZZZZZZZZZZZYYZZZZZZZZZZZZYYZZYYZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZYYZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZYYZZZZZZZZZZZZZZZZZZZZZZZZZZZZYYZZZZZZYYZZZZZZZZZZZZZZZZZZYYZZZZYYZZZZYYZZYYZZZZZZYYZZZZZZZZZZZZZZZZZZYYZZZZZZZZYYZZZZZZZZZZZZYYZZZZZZZZZZZZZZZZZZYYZZZZZZZZZZZZZZYYZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZYYZZZZZZZZZZZZZZZZYYZZZZZZZZZZZZZZZZZZYYZZZZZZZZZZZZYYZZZZZZZZZZZZZZZZZZZZZZYYZZZZYYZZZZZZYYZZZZZZZZZZZZZZZZZZZZZZZZZZZZYYZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZYYZZZZZZZZZZYYZZZZZZZZYYZZZZZZZZZZZZYYZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZYYZZZZZZZZZZZZZZZZZZZZYYZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZYYZZZZZZZZZZZZZZZZYYZZZZZZZZZZZZZZZZZZYYZZZZZZZZZZZZYYZZZZZZZZZZYYZZZZZZZZZZZZZZZZZZZZYYZZYYZZZZYYZZYYZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZYYZZZZZZZZZZZZYYYYZZZZZZZZZZYYZZZZZZZZZZZZZZZZYYZZZZYYZZZZYYZZZZZZZZZZZZZZZZZZZZZZZZYYZZZZZZZZZYYcwg\XYZZZZZZZZZZZZZZZYYZZZZZZZZYYZZZZZZZZYYZZZZZZZZZZYYZZYYZZZZZZZZZZYYZZZZZZZZZZZZYYZZZZZZZZZZZZZZYYZZYYZZZZZZZZZZZZZZZZYYZZZZZZZZZZZZYYYYZZZZZZZZYYZZZZYYZZYYZYX]hNJf]YYZZZZZZZZZYYZZYYYYZZZZZZZZZZZZZZZZZZYYYYZZZZZZZZZZYYZZZZZZZZZZZZZZZZZZZZZYYhzVXZZZYYYYZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZYYZZZZYYZZZZZZZZYYZZZZYYZZZZZZYYZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZYYZZZZZZYYZZZZZZZZZZZXWtŞoXYYXk͑k_ZYZZZYYYYYYZZZZZZYYZZYYZZZZZZYYZZZZZZYYYYZZZZZZZZZZZZZZZZZZYYZZYYZZZZYYZZZZZZZZYYZZZZZZZZZZZZZZZZZZZZZZZZZZZZYYZZZZYYYYZZZZZZZZYYZZZZZZZZZZZYYczݽmXXZZZZZYYYYYYZZZZYYZZZZZZZZZZZZZZZZZZYYYYZZZZZZZZZZZZZZZZZZZZZZYYZZZZYYYYZYYar۶jXXYZZZZZZZZZZZZYYZZYYZZZZZZZZYYZZZZZZZZYYYYZZZZZZZZZZZZYYZZZZZZYYYYZZZZZZZZZZZZZZYYYYYYYYZZYYYYZZZZZZZZZZYYYYZZZZZZZZZZZZZZZZZZYYYYYYYYZZYYZZYYZZZZZZZZZZYYZZYYZZZZYYZZZZYYZZYYZZZZYYZZZZYYZZYYZZZZZZZZZZYYYasљraYYZYYZZZZZZZZZZZZZZZZYYYYZZZZZZZZZZYYZZZZZZZZZZZZZZZZZZYYYYZZZZZZYYZZZZYYZZZZZZZZYYYYZZZZZZZZZZZZZZYYZZYYZZZZZZYYZZYYZZZZYYZZZZYYZZYYZZZZYYZZYYYYZZYYZZZZZZZZZZZZZZYYZZYYYYZZZZYYYYZZZZYYYYZZZZYYZZYYZZZZZZZZZZYYZZZZZZZZZY\v׳xf^YYYZZYYYYZZZZZZZZZZZZZZYYZZZZZZZZZZZZYYZZYYYYYYZZZZYYYYYYZZZZZZYYZZZZZZZZZZZZZZYYZZZZZZYYZZZZZZZZZZYYZZYYYYZZYYYYZZYYZZZZZZYYZZYYZZZZZZZZZZZZZZYYZZYYZZZZZYX[cwܻkWXZZZZZZZZZYYZZYYZZZZYYYYZZZZZZYYYYZZZZYYZZZZYYYYYYZZYYZZZZYYYYZZZZZZZZZZZZZZZZYYYYZZZZZZYYZZYYZXW}۶jXYZYYZZZZYYYYZZZZYYZZZZYYZZZZYYZZZZYYYYYYZZZZZZYYZZZZYYZZYYYYZZYYYYZZYYYYYYYYZZZZYYYYZZZZYYZZYYYYZZZZZZZZZZZZZZZZYYZZYYZZYYZZZZYYZZZZYYZZYYZZZZZZZZZZYYZZYYZZZZZZYYZZYYZZYYZZYYZZYYZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZYYYYYYZXV}۶jXYZYYYYYYZZZZYYZZZZYYYYZZZZZZYYYYZZZZZZZZZZZZZZZZZZYYYYZZYYYYYYZZZZZZYYZZYYZZZZYYYYYYYYZZYYYYZZZZYYZZZZZZZZZZZZZZZZZZYYZZZZYYZZYYZZYYZZZZZZZZZZZZZZZZZZZZYYZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZYYZZZZZZZZZZZZZZZZZZYYZZZZZZZZZZZZZZZZYYZZZZZZZZZZZZZYXjњsaYZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZYYZZZZZZYYZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZYYZZYYZZZZZZZZZZZZYYZZZZZZZZZZZZZZZZZZZYYYZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZYYZZZZZZZZZZZZZZZZZYYYZZZZZZZZYYZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZYYZZZZZZZZZZZZZZZZYYZZZZZZZZZZZZZZZZZZZZYYZZZZZZZZZZZZYYZZYYZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZYYZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZYYZZZZZZZZZZZZZZZZZZZZZZZZZZZZYYZZZZZZYYZZZZZZZZZZZZZZZZZZYYZZZZYYZZZZYYZZYYZZZZZZYYZZZZZZZZZZZZZZZZZZYYZZZZZZZZYYZZZZZZZZZZZZYYZZZZZZZZZZZZZZZZZZYYZZZZZZZZZZZZZZYYZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZYYZZZZZZZZZZZZZZZZYYZZZZZZZZZZZZZZZZZZYYZZZZZZZZZZZZYYZZZZZZZZZZZZZZZZZZZZZZYYZZZZYYZZZZZZYYZZZZZZZZZZZZZZZZZZZZZZZZZZZZYYZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZYYZZZZZZZZZZYYZZZZZZZZYYZZZZZZZZZZZZYYZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZYYZZZZZZZZZZZZZZZZZZZZYYZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZYYZZZZZZZZZZZZZZZZYYZZZZZZZZZZZZZZZZZZYYZZZZZZZZZZZZYYZZZZZZZZZZYYZZZZZZZZZZZZZZZZZZZZYYZZYYZZZZYYZZYYZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZYYZZZZZZZZZZZZYYYYZZZZZZZZZZYYZZZZZZZZZZZZZZZZYYZZZZYYZZZZYYZZZZZZZZZZZZZZZZZZZZZZZZYYZZZZZZZZZYXjÞnVXZZZZZZZZZZZZZZZZZYYZZZZZZZZYYZZZZZZZZYYZZZZZZZZZZYYZZYYZZZZZZZZZZYYZZZZZZZZZZZZYYZZZZZZZZZZZZZZYYZZYYZZZZZZZZZZZZZZZZYYZZZZZZZZZZZZYYYYZZZZZZZZYYZZZZYYZZYYZZYXWhӟxcYYZZZZZZZZZYYZZYYYYZZZZZZZZZZZZZZZZZZYYYYZZZZZZZZZZYYZZZZZZZZZZZZZZZZZZZZZYYdzɂ[YZZZYYYYZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZYYZZZZYYZZZZZZZZYYZZZZYYZZZZZZYYZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZYYZZZZZZYYZZZZZZZZZZZYXy۶kXYYYfԢ|eYYZZZYYYYYYZZZZZZYYZZYYZZZZZZYYZZZZZZYYYYZZZZZZZZZZZZZZZZZZYYZZYYZZZZYYZZZZZZZZYYZZZZZZZZZZZZZZZZZZZZZZZZZZZZYYZZZZYYYYZZZZZZZZYYZZZZZZZZZZZYXhحhXYZZZZZYYYYYYZZZZYYZZZZZZZZZZZZZZZZZZYYYYZZZZZZZZZZZZZZZZZZZZZZYYZZZZYYYYZYYar۶jXYYZZZZZZZZZZZZYYZZYYZZZZZZZZYYZZZZZZZZYYYYZZZZZZZZZZZZYYZZZZZZYYYYZZZZZZZZZZZZZZYYYYYYYYZZYYYYZZZZZZZZZZYYYYZZZZZZZZZZZZZZZZZZYYYYYYYYZZYYZZYYZZZZZZZZZZYYZZYYZZZZYYZZZZYYZZYYZZZZYYZZZZYYZZYYZZZZZZZZZZYYYasљsaYYZYYZZZZZZZZZZZZZZZZYYYYZZZZZZZZZZYYZZZZZZZZZZZZZZZZZZYYZZZZZZZZYYZZZZYYZZZZZZZZYYYYZZZZZZZZZZZZZZYYZZYYZZZZZZYYZZYYZZZZYYZZZZYYZZYYZZZZYYZZYYYYZZYYZZZZZZZZZZZZZZYYZZYYYYZZZZYYYYZZZZYYYYZZZZYYZZYYZZZZZZZZZZYYZZZZZZZYX_mѵp_WXYZZZZYYYYZZZZZZZZZZZZZZYYZZZZZZZZZZZZYYZZYYYYYYZZZZYYYYYYZZZZZZYYZZZZZZZZZZZZZZYYZZZZZZYYZZZZZZZZZZYYZZYYYYZZYYYYZZYYZZZZZZYYZZYYZZZZZZZZZZZZZZYYZZYYZZZZZZZYXauձ|_[ZZZZZZZZZYYZZYYZZZZYYYYZZZZZZYYYYZZZZYYZZZZYYYYYYZZYYZZZZYYYYZZZZZZZZZZZZZZZZYYYYZZZZZZYYZZYYZXW}۶jXYZYYZZZZYYYYZZZZYYZZZZYYZZZZYYZZZZYYYYYYZZZZZZYYZZZZYYZZYYYYZZYYYYZZYYYYYYYYZZZZYYYYZZZZYYZZYYYYZZZZZZZZZZZZZZZZYYZZYYZZYYZZZZYYZZZZYYZZYYZZZZZZZZZZYYZZYYZZZZZZYYZZYYZZYYZZYYZZYYZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZYYYYYYZXV}۶jXYZYYYYYYZZZZYYZZZZYYYYZZZZZZYYYYZZZZZZZZZZZZZZZZZZYYYYZZYYYYYYZZZZZZYYZZYYZZZZYYYYYYYYZZYYYYZZZZYYZZZZZZZZZZZZZZZZZZYYZZZZYYZZYYZZZZZZZZZZZZZZ[[ZZZZZZ[[ZZZZZZZZZZZZZZZZZZ[[ZZZZZZZZZZZZZZZZZZZZ[[ZZZZZZZZZZZZZZZZZZZZZZZZZZ[[ZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZ[[ZZZZZZZZZZZZZZZZ[[ZZZZZZZZ[[ZZZZZZZZZZ[[ZZZZZZZZZZZZZZZZZYXjњsaYYZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZ[[ZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZ[[ZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZ[[ZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZYYZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZYYZZYYZZYYZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZYYZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZYWqÔsaXYZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZYYZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZYYZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZYX\g۸kXYZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZYYZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZYY_l͌f]YZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZYYZZZZZZZZZZYYZZYYZZZZZZZZZZZZZZZZZZYYYYZZZZZZYYZZZZYYZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZY[֨fYYYYasڴjXYZZZZZZZZZZZZZZZZZZZZZZZZZZZZZYYZZZZZZZZZZZZYYZZZZZZZZZZZZZZZZZZZZZZYYZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZYXkқubYYZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZYYZZZZZZZZYYZZZZZZZZZZZZZZZZZYYas۶jXYZZZZZZZZZZZZZZZZZZZZZZZYYZZZZZZZZZZZZZZZZZZZZYYZZZZZZZZZZZZYYZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZYYZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZYYZZZZZZZZZZZZZZZZZZZZZZZZZYYasљsaYYZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZYYZZZZZZZZYYZZZZZZZZZZZZZZYYZZZZZZZZZZZZZZYYYYZZZZYYZZZZZZZZZZZZZZZZZZZZZZZZZZYYZZZZZZZZZZZZZZYYZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZYYZZZZYYZZZZZZZZYYZZZZYYZZZZZZZZZZYYZZZZYXXiȣm`ZXYZZZZZZZZZZZZZZZZZYYZZZZZZZZZZZZYYZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZYYZZYYZZZZZZZZYYZZZZYYZZYYZZZZZZZZZZZZZZZZYYZZZZZZYYZZZZZZZZYYY[auɔp`YYZZZZZZZZZZZZZZZZZZZZZZZZZYYZZYYZZZZZZZZZZZZZZZZZZYYZZZZZZYYZZYYZZZZYYZZZZZZZZZZZZZZZZZZZZZZYXV}۶jXYZZZZZZZZZZZZZZZZZZZZZYYZZZZZZZZZZZZZZYYZZYYZZYYYYZZZZZZZZYYZZZZZZYYZZZZZZZZZZZZZZYYYYZZZZZZZZZZZZZZZZZZZZZZZZZZYYZZYYZZYYZZYYZZZZZZZZZZZZZZZZYYZZZZZZZZZZZZYYZZZZZZZZZZZZZZYYZZZZZZZZZZZZZZYYZZZZZZZZZZZZZZZZZZZZZZZZZZZXW}۶jXYZZZYYZZZZZZZZZZZZZZZZZZZZYYZZZZZZZZZZZZZZZZZZZZZZZZZZZZYYZZZZYYZZZZZZYYZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZYYZZZZZZZZZZYYZZYYZZ[[ZZZZZZZZ[[ZZZZZZ[[ZZZZZZZZZZZZZZZZZZ[[ZZZZZZZZZZ[[ZZZZZZZZ[[ZZZZZZZZZZZZZZZZZZZZZZZZZZ[[ZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZ[[ZZZZZZZZZZZZZZZZ[[ZZZZZZZZ[[ZZZZZZZZZZ[[ZZZZZZZZZZZZZZZZZYYkњsbYYZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZ[[ZZZZZZZZ[[ZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZ[[ZZZZZZZZZZZZ[[ZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZ[[ZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZYYZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZYYZZZZZZYYZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZ\}ơs[ZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZYYZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZYYZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZXVnЪvZYZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZYYZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZ\aљsaYYZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZYYZZZZZZZZZZYYZZYYZZZZZZZZZZZZZZZZZZYYYYZZZZZZYYZZZZYYZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZ]fљsaYYZY]fŞoXXZZZZZZZZZZZZZZZZZZZZZZZZZZZZZYYZZZZZZZZZZZZYYZZZZZZZZZZZZZZZZZZZZZZYYZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZXXǒf]YZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZYYZZZZZZZZYYZZZZZZZZZZZZZZZZZYYas۶jXYZZZZZZZZZZZZZZZZZZZZZZZYYZZZZZZZZZZZZZZZZZZZZYYZZZZZZZZZZZZYYZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZYYZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZYYZZZZZZZZZZZZZZZZZZZZZZZZZYYasњsaYYZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZYYZZZZZZZZYYZZZZZZZZZZZZZZYYZZZZZZZZZZZZZZYYYYZZZZYYZZZZZZZZZZZZZZZZZZZZZZZZZZYYZZZZZZZZZZZZZZYYZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZYYZZZZYYZZZZZZZZYYZZZZYYZZZZZZZZZZYYZZZZYZ_zã~f\XYZZZZZZZZZZZZZZZZZZZYYZZZZZZZZZZZZYYZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZYYZZYYZZZZZZZZYYZZZZYYZZYYZZZZZZZZZZZZZZZZYYZZZZZZYYZZZZZZZZYYZYXavٱhXYZZZZZZZZZZZZZZZZZZZZZZZZZYYZZYYZZZZZZZZZZZZZZZZZZYYZZZZZZYYZZYYZZZZYYZZZZZZZZZZZZZZZZZZZZZZYXV}۶jXXZZZZZZZZZZZZZZZZZZZZZYYZZZZZZZZZZZZZZYYZZYYZZYYYYZZZZZZZZYYZZZZZZYYZZZZZZZZZZZZZZYYYYZZZZZZZZZZZZZZZZZZZZZZZZZZYYZZYYZZYYZZYYZZZZZZZZZZZZZZZZYYZZZZZZZZZZZZYYZZZZZZZZZZZZZZYYZZZZZZZZZZZZZZYYZZZZZZZZZZZZZZZZZZZZZZZZZZZXW}۶jXYZZZYYZZZZZZZZZZZZZZZZZZZZYYZZZZZZZZZZZZZZZZZZZZZZZZZZZZYYZZZZYYZZZZZZYYZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZYYZZZZZZZZZZYYZZYYZZZZZZZZZZ[[ZZZZZZ[[ZZZZ[[[[ZZZZ[[ZZZZ[[ZZZZ[[[[ZZZZ[[[[ZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZ[[ZZZZZZZZ[[ZZZZ[[ZZZZZZZZZZZZZZ[[ZZZZ[[ZZZZZZ[[ZZZZZZZZ[[[[ZZZZ[[ZZZZZZZZZZZZZZ[[[[ZZ[[ZZZZZZZZZZZZZZZZZZZZ[[ZZ[[ZYYkњsbYZZZZZZZZZZZZZZZZZZZZZZZZ[[[[[[ZZ[[ZZZZZZZZZZZZZZZZZZZZ[[ZZ[[ZZZZZZZZZZZZZZ[[ZZZZ[[[[ZZZZZZZZZZZZZZZZ[[ZZZZZZZZZZZZZZ[[[[ZZZZZZZZ[[ZZ[[ZZZZ[[[[ZZZZZZZZ[[[[ZZZZZZZZZZZZ[[ZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZ[[[[[[ZZ[[[[ZZZZ[[ZZZZZZZZZZZZZZ[[ZZZZZZZZZZZZZZZZZZZZZZ[[ZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZ[[[[[[ZZ[[[[[[ZZZZZZZZZZZZZZ[[ZZZZZZZZZZZZZZZZZZZZ[[ZZZZZZ[[ZZ[[[[ZZ[[ZZZZ[[[[ZZZZZZZZZZZZZZZZ[[ZZZZZZZZ[[ZZZZZZZZZZ[[[[ZZZZZZ[[ZZ[[ZZZZZZZZZZ[[ZZ[[ZZZZ[[ZZ[[ZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZ[[ZZZZZZZZ[[ZZZZ[[[[ZZZZZZ[[ZZ[[[[ZZ[[ZZZZ[[ZZZZZZZZZZZZZZZZZZZZZZZZ[[ZZZZZZZZZZ[[ZZZZZZZZZZZZZZ[[[[ZZZZ[[[[[[ZZZZZZZZZZZZZZZZ[[ZZZZ[[ZZZZZZZZZZZZZZ[[[[ZZZZ[[ZZZZZZZZZZ[[ZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZ[[[[ZZZZZZZZZZ[[ZZZZZZ[[ZZZZ[[ZZZZ[[[[[[ZZ[[ZZ[[ZZZZZZZZZZZZ[[ZZZZZZZZZZZZZZZZZZZZ[[[[ZZZZ[[ZZZZZZ[[ZZZZZZZZZZZZZZZZZZ[[ZZZZZZZZZZZZ[[[[ZZ[[ZZZZ[[ZZZZZZZZ[[ZZ[[ZZZZZZZZZZZZZZ[[ZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZ[[ZZZZZZZZZZZZZZZZ[[ZZZZZZ[[ZZZZZZZZZZZZ[[ZZZZ[[ZZZZZZZZZZZZ[[ZZZZZZZZZZZZZZZZZZ[[ZZZZ[[ZZZZZZZZZZ[[[[[[ZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZ[[ZZZZZZ[[ZZZZZZZZZZZZZZ[[[[ZZZZZZZZZZZZ[[ZZZZZZZZZZ[[ZZZZZZZZZZZZZZZZZZZZZZZZZZZZ[[ZZZZZZZZZZZZZZZZZZ[[ZZZZZZZZZZZZZZZZZZZZZZZZZZY]fНycYYZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZ[[ZZZZZZZZZZZZZZZZZZ[[ZZZZ[[ZZZZZZZZZZZZZZZZZZZZZZZZ[[ZZZZ[[ZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZ[[ZZZZZZZZZZZZZZZZZYXar„a\ZZZZZ[[ZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZYZ{֨fXYZZZZZZZZZZZZZZZZZZZZZZZZZ[[ZZZZZZZZZZZZZZZZZZ[[ZZZZ[[ZZZZ[[ZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZ[[[[ZZZZZZZZZZZZZZZZZZZZZZ[[ZYYcy̋e]YZZZZ\ӬtXX[ZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZ[[ZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZ[[ZZZXWtŀ\YZ[[ZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZ[[ZZZZZZZZZZZZZZZZZZZZZZZZZZZZZYYbs۶jYYZZZ[[ZZZZZZZZ[[ZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZYYasњsaYYZZZZZZZZZZZZZZZZZ[[ZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZYY`pÔte]ZYZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZY\bqѫrVXZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZXW}۶jXYZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZYYZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZXW}۶jXYZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZ[[ZZZZZZ[[ZZZZ[[[[ZZZZ[[ZZZZ[[ZZZZ[[[[ZZZZ[[[[ZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZ[[ZZZZZZZZ[[ZZZZ[[ZZZZZZZZZZZZZZ[[ZZZZ[[ZZZZZZ[[ZZZZZZZZ[[[[ZZZZ[[ZZZZZZZZZZZZZZ[[[[ZZ[[ZZZZZZZZZZZZZZZZZZZZ[[ZZ[[ZYYkњsaYZZZZZZZZZZZZZZZZZZZZZZZZ[[[[[[ZZ[[ZZZZZZZZZZZZZZZZZZZZ[[ZZ[[ZZZZZZZZZZZZZZ[[ZZZZ[[[[ZZZZZZZZZZZZZZZZ[[ZZZZZZZZZZZZZZ[[[[ZZZZZZZZ[[ZZ[[ZZZZ[[[[ZZZZZZZZ[[[[ZZZZZZZZZZZZ[[ZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZ[[[[[[ZZ[[[[ZZZZ[[ZZZZZZZZZZZZZZ[[ZZZZZZZZZZZZZZZZZZZZZZ[[ZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZ[[[[[[ZZ[[[[[[ZZZZZZZZZZZZZZ[[ZZZZZZZZZZZZZZZZZZZZ[[ZZZZZZ[[ZZ[[[[ZZ[[ZZZZ[[[[ZZZZZZZZZZZZZZZZ[[ZZZZZZZZ[[ZZZZZZZZZZ[[[[ZZZZZZ[[ZZ[[ZZZZZZZZZZ[[ZZ[[ZZZZ[[ZZ[[ZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZ[[ZZZZZZZZ[[ZZZZ[[[[ZZZZZZ[[ZZ[[[[ZZ[[ZZZZ[[ZZZZZZZZZZZZZZZZZZZZZZZZ[[ZZZZZZZZZZ[[ZZZZZZZZZZZZZZ[[[[ZZZZ[[[[[[ZZZZZZZZZZZZZZZZ[[ZZZZ[[ZZZZZZZZZZZZZZ[[[[ZZZZ[[ZZZZZZZZZZ[[ZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZ[[[[ZZZZZZZZZZ[[ZZZZZZ[[ZZZZ[[ZZZZ[[[[[[ZZ[[ZZ[[ZZZZZZZZZZZZ[[ZZZZZZZZZZZZZZZZZZZZ[[[[ZZZZ[[ZZZZZZ[[ZZZZZZZZZZZZZZZZZZ[[ZZZZZZZZZZZZ[[[[ZZ[[ZZZZ[[ZZZZZZZZ[[ZZ[[ZZZZZZZZZZZZZZ[[ZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZ[[ZZZZZZZZZZZZZZZZ[[ZZZZZZ[[ZZZZZZZZZZZZ[[ZZZZ[[ZZZZZZZZZZZZ[[ZZZZZZZZZZZZZZZZZZ[[ZZZZ[[ZZZZZZZZZZ[[[[[[ZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZ[[ZZZZZZ[[ZZZZZZZZZZZZZZ[[[[ZZZZZZZZZZZZ[[ZZZZZZZZZZ[[ZZZZZZZZZZZZZZ[[ZZZZZZZZZZZZ[[ZZZZZZZZZZZZZZZZZZ[[ZZZZZZZZZZZZZZZZZZZZZZZZZYYbvֳ~a[YZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZ[[ZZZZZZZZZZZZZZZZZZ[[ZZZZ[[ZZZZZZZZZZZZZZZZZZZZZZZZ[[ZZZZ[[ZZZZZZZZZZZZZZZZZZZZ[[ZZZZZZZZZZZZZZZZZZZZZZZZZZ[[ZZZZZZZZZZZZ[[ZZZZZZ[tЖo`YZZZZ[[ZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZXWt۶kXYZZZZZZZZZZZZZZZZZZZZZZZZZ[[ZZZZZZZZZZ[[ZZZZZZ[[ZZZZ[[ZZZZ[[ZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZ[[ZZZZZZZZZZZZZZZZ[[[[ZZZZZZZZZZZZZZZZZZZZZZ[[ZYYiǁ\ZZZZZXWxߺ{ZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZ[[ZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZ[[ZZZYXzxWXZ[[ZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZ[[ZZZZZZZZZZZZZZZZZZZZZZZZZZZZZYYbs۶jXYZZZ[[ZZZZZZZZ[[ZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZYYasњsaYZZZZZZZZZZZZZZZZZZ[[ZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZYYjs[YYZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZYY^kÇd]YZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZXW}۶jXYZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZYYZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZXW}۶kYYZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZ[[[[ZZ[[ZZ[[ZZ[[[[ZZ[[ZZ[[ZZZZZZZZZZ[[[[ZZZZZZZZZZZZZZZZ[[[[ZZ[[[[[[ZZZZZZ[[ZZ[[ZZ[[ZZZZ[[ZZZZZZ[[ZZ[[ZZ[[ZZZZ[[ZZ[[[[ZZ[[[[ZZZZZZ[[[[ZZZZ[[[[[[[[[[ZZ[[ZZ[[[[ZZ[[[[ZZZZ[[ZZ[[ZZZZZZZZZZZZZZ[[ZZZZZZZYYkњsaYZ[ZZ[[ZZZZZZ[[[[[[[[ZZZZ[[[[ZZZZZZZZ[[[[ZZ[[ZZ[[ZZZZZZZZZZZZZZ[[ZZ[[ZZZZZZZZZZ[[[[ZZZZ[[[[ZZ[[ZZ[[[[[[ZZZZZZZZ[[[[[[ZZ[[ZZZZ[[ZZZZZZ[[[[ZZ[[ZZZZ[[ZZZZ[[ZZ[[[[[[[[ZZZZ[[ZZZZZZ[[ZZ[[[[[[ZZZZZZZZ[[ZZ[[ZZ[[ZZ[[ZZ[[[[[[[[[[ZZZZ[[[[ZZ[[ZZZZZZZZZZZZ[[ZZ[[[[[[[[ZZ[[ZZZZ[[ZZ[[[[[[ZZZZ[[[[ZZ[[ZZ[[[[ZZZZZZ[[[[ZZZZ[[ZZZZ[[[[[[[[ZZ[[ZZZZZZ[[[[[[ZZZZZZZZ[[[[[[ZZZZZZ[[ZZZZ[[ZZZZZZ[[ZZZZZZZZ[[[[ZZ[[ZZ[[ZZZZZZ[[ZZZZZZZZ[[[[ZZZZZZZZ[[ZZZZ[[ZZZZZZ[[[[[[ZZZZZZZZZZZZZZ[[[[[[ZZZZZZZZ[[ZZ[[ZZZZZZ[[[[[[[[ZZZZ[[[[ZZ[[[[ZZ[[[[[[ZZ[[ZZZZZZZZZZZZZZZZ[[[[ZZZZ[[ZZ[[ZZZZZZZZ[[[[[[[[ZZZZ[[ZZZZ[[ZZ[[[[ZZ[[ZZ[[ZZZZZZZZ[[ZZ[[ZZZZ[[[[ZZZZZZZZZZ[[[[ZZZZ[[ZZZZZZ[[ZZZZ[[[[[[[[[[ZZZZZZZZZZZZZZZZZZ[[ZZ[[ZZZZZZ[[[[ZZZZZZZZ[[ZZZZZZZZZZZZZZZZZZZZ[[ZZZZ[[ZZZZ[[ZZZZZZ[[ZZZZZZZZ[[[[ZZZZZZZZZZZZ[[[[ZZZZZZZZZZZZZZZZZZ[[[[[[ZZZZ[[[[ZZ[[ZZZZZZZZZZ[[ZZ[[[[ZZZZ[[[[ZZZZ[[ZZ[[[[[[ZZZZZZZZ[[ZZZZZZZZZZ[[[[ZZZZZZ[[ZZ[[ZZZZ[[ZZ[[[[[[ZZZZ[[[[ZZ[[ZZZZZZ[[[[ZZZZ[[[[[[ZZZZ[[ZZ[[ZZZZZZ[[ZZ[[ZZ[[[[[[ZZZZ[[ZZZZZZZZZZZZZZZZZZ[[ZZZZ[[ZZZZ[[[[[[ZZ[[ZZ[[[[ZZZZZZ[[[[ZZ[[[[ZZ[[[[ZZZZZZZZZZZZZZ[[ZZZZZZ[[ZZ[[ZZZZZZ[[[[[[[[[[[[[[[[[[[[ZZ[[ZZ[[ZZZZZZ[[ZZ[[ZZZZZZZZZZ[[[[ZZ[[ZZ[[[[ZZZZZZ[[[[ZZZZZZ[[ZZZZZZZZZZ[[[[ZZZZZZZZ[[[[[[ZYYjٲl[ZZZZ[[ZZZZ[[[[ZZ[[[[ZZZZZZZZZZZZZZZZ[[[[ZZZZZZ[[ZZZZZZZZZZZZZZ[[ZZ[[ZZZZ[[[[[[ZZZZZZZZZZZZZZZZZZZZZZZZ[[[[ZZZZZZZZZZ[[ZZ[[[[ZZ[[ZZZZZZ[[ZZZZZZZZZZ[[ZZ[[[[ZZZZZZZZZZ[[[ZYe~׫gXZ[ZZZZ[[ZZZZZZZZZZZZ[[ZZZZZZ[[[[ZZZZZZ[[ZZZZZZZZZZ[[ZZZZ[[ZZ[[ZZZZ[[ZZZZ[YXoŞpXYZZZZZZZZZ[[ZZZZZZZZZZZZZZZZ[[[[ZZZZZZZZZZZZ[[ZZZZ[[ZZZZ[[ZZ[[ZZ[[[[ZZZZZZZZ[[ZZZZZZ[[ZZ[[ZZZZZZZZZZZZZZ[[ZZZZZZZZZZ[[ZZ[[ZZZZ[[ZZZZ[[[[ZZZYXm{XYZ[[ZYXrdža\ZZZZZZZ[[[[ZZZZ[[ZZZZZZZZZZ[[ZZZZZZZZZZZZZZZZ[[ZZZZZZZZ[[ZZZZZZ[[[[ZZZZZZZZZZ[[[[ZZZZZZ[[ZZ[[[[ZZ[[ZZZZ[[ZZZZZZZZZZZZZZZZZZZZZZZZ[[ZZZZZZZZ\ӬtWXZZZZZZZZZ[[[[ZZZZ[[ZZZZZZZZZZ[[ZZZZZZZZZZZZZZZZ[[ZZZZZZZZ[[ZZZZZZ[[[[ZZZZZYYas۶jXYZZZZZZZ[[[[ZZZZ[[ZZZZZZ[[ZZ[[ZZZZZZZZZZZZZZ[[ZZZZZZZZZZZZ[[[[ZZ[[ZZZZ[[ZZZZZZZZ[[ZZ[[ZZZZZZZZZZZZ[[[[ZZZZZZZZZZ[[ZZZZZZZZZZZZZZ[[[[ZZZZZZZZZZ[[ZZ[[ZZZZZZZZZZ[[[[ZZZZ[[[[ZZZZZZZZZZZZ[[ZZ[[[[ZZZZZZZZZZZZZasњsaYZZZZZZZZZZZZ[[ZZ[[[[ZZZZ[[ZZZZZZZZZZZZZZ[[[[ZZZZZZZZZZZZ[[ZZZZZZZZZZ[[ZZZZZZZZZZZZZZ[[ZZZZZZZZZZZZ[[ZZZZZZZZZZ[[ZZZZZZ[[[[ZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZ[[ZZZZZZ[[ZZZZZZZZZZ[[ZZZZZZ[[ZZZZZZZZ[[[[ZZZZZZZZ[[[[ZZZZZZ[yбnaZYZZZZZZZ[[ZZZZZZZZZZZZZZ[[ZZZZZZZZ[[ZZZZZZZZZZZZZZZZZZ[[ZZZZZZZZZZZZZZZZ[[ZZZZZZZZ[[ZZZZZZ[[ZZZZZZZZZZZZZZZZ[[ZZ[[ZZZZZZZZZZZZ[[ZZZZZZZZZZZZ[[ZZ[[ZZ[[[[ZZZZZZZZZZZZZZZZYZ^qԦeXYZZZZZ[[ZZZZ[[ZZZZZZZZ[[ZZZZZZZZZZZZZZZZZZZZ[[ZZZZ[[[[ZZ[[ZZZZZZZZZZ[[ZZZZZZZZZZZZZZZZ[[[[ZXW}۶kXYZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZ[[ZZZZZZ[[ZZZZZZZZZZZZ[[ZZZZ[[ZZZZZZZZZZZZ[[ZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZ[[ZZZZZZZZZZZZZZ[[ZZZZZZZZZZZZZZ[[ZZZZZZZZZZZZ[[ZZZZZZZZ[[ZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZXW}۶kYY[ZZZZ[[ZZZZZZZZZZ[[ZZZZZZ[[ZZZZZZ[[ZZZZZZ[[ZZZZZZZZZZ[[ZZZZZZZZZZZZ[[ZZZZZZZZZZZZZZZZZZ[[ZZZZZZZZZZZZZZZZZZZZZZ[[ZZZZZZ[[ZZZZ[[ZZZZZZ[[[[ZZ[[ZZ[[ZZ[[[[ZZ[[ZZ[[ZZZZZZZZZZ[[[[ZZZZZZZZZZZZZZZZ[[[[ZZ[[[[[[ZZZZZZ[[ZZ[[ZZ[[ZZZZ[[ZZZZZZ[[ZZ[[ZZ[[ZZZZ[[ZZ[[[[ZZ[[[[ZZZZZZ[[[[ZZZZ[[[[[[[[[[ZZ[[ZZ[[[[ZZ[[[[ZZZZ[[ZZ[[ZZZZZZZZZZZZZZ[[ZZZZZZZYYkњsbYZ[ZZ[[ZZZZZZ[[[[[[[[ZZZZ[[[[ZZZZZZZZ[[[[ZZ[[ZZ[[ZZZZZZZZZZZZZZ[[ZZ[[ZZZZZZZZZZ[[[[ZZZZ[[[[ZZ[[ZZ[[[[[[ZZZZZZZZ[[[[[[ZZ[[ZZZZ[[ZZZZZZ[[[[ZZ[[ZZZZ[[ZZZZ[[ZZ[[[[[[[[ZZZZ[[ZZZZZZ[[ZZ[[[[[[ZZZZZZZZ[[ZZ[[ZZ[[ZZ[[ZZ[[[[[[[[[[ZZZZ[[[[ZZ[[ZZZZZZZZZZZZ[[ZZ[[[[[[[[ZZ[[ZZZZ[[ZZ[[[[[[ZZZZ[[[[ZZ[[ZZ[[[[ZZZZZZ[[[[ZZZZ[[ZZZZ[[[[[[[[ZZ[[ZZZZZZ[[[[[[ZZZZZZZZ[[[[[[ZZZZZZ[[ZZZZ[[ZZZZZZ[[ZZZZZZZZ[[[[ZZ[[ZZ[[ZZZZZZ[[ZZZZZZZZ[[[[ZZZZZZZZ[[ZZZZ[[ZZZZZZ[[[[[[ZZZZZZZZZZZZZZ[[[[[[ZZZZZZZZ[[ZZ[[ZZZZZZ[[[[[[[[ZZZZ[[[[ZZ[[[[ZZ[[[[[[ZZ[[ZZZZZZZZZZZZZZZZ[[[[ZZZZ[[ZZ[[ZZZZZZZZ[[[[[[[[ZZZZ[[ZZZZ[[ZZ[[[[ZZ[[ZZ[[ZZZZZZZZ[[ZZ[[ZZZZ[[[[ZZZZZZZZZZ[[[[ZZZZ[[ZZZZZZ[[ZZZZ[[[[[[[[[[ZZZZZZZZZZZZZZZZZZ[[ZZ[[ZZZZZZ[[[[ZZZZZZZZ[[ZZZZZZZZZZZZZZZZZZZZ[[ZZZZ[[ZZZZ[[ZZZZZZ[[ZZZZZZZZ[[[[ZZZZZZZZZZZZ[[[[ZZZZZZZZZZZZZZZZZZ[[[[[[ZZZZ[[[[ZZ[[ZZZZZZZZZZ[[ZZ[[[[ZZZZ[[[[ZZZZ[[ZZ[[[[[[ZZZZZZZZ[[ZZZZZZZZZZ[[[[ZZZZZZ[[ZZ[[ZZZZ[[ZZ[[[[[[ZZZZ[[[[ZZ[[ZZZZZZ[[[[ZZZZ[[[[[[ZZZZ[[ZZ[[ZZZZZZ[[ZZ[[ZZ[[[[[[ZZZZ[[ZZZZZZZZZZZZZZZZZZ[[ZZZZ[[ZZZZ[[[[[[ZZ[[ZZ[[[[ZZZZZZ[[[[ZZ[[[[ZZ[[[[ZZZZZZZZZZZZZZ[[ZZZZZZ[[ZZ[[ZZZZZZ[[[[[[[[[[[[[[[[[[[[ZZ[[ZZ[[ZZZZZZ[[ZZ[[ZZZZZZZZZZ[[[[ZZ[[ZZ[[[[ZZZZZZ[[[[ZZZZZZ[[ZZZZZZZZZZ[[[[ZZZZZZZZ[[[[[[ZYXpœp`YYZZZ[[ZZZZ[[[[ZZ[[[[ZZZZZZZZZZZZZZZZ[[[[ZZZZZZ[[ZZZZZZZZZZZZZZ[[ZZ[[ZZZZ[[[[[[ZZZZZZZZZZZZZZZZZZZZZZZZ[[[[ZZZZZZZZZZ[[ZZ[[[[ZZ[[ZZZZZZ[[ZZZZZZZZZZ[[ZZ[[[[ZZZZZZZZZZ[[[ZZ]fnXY[ZZZZ[[ZZZZZZZZZZZZ[[ZZZZZZ[[[[ZZZZZZ[[ZZZZZZZZZZ[[ZZZZ[[ZZ[[ZZZZ[[ZZZZ[YYkѫtXYZZZZZZZZZ[[ZZZZZZZZZZZZZZZZ[[[[ZZZZZZZZZZZZ[[ZZZZ[[ZZZZ[[ZZ[[ZZ[[[[ZZZZZZZZ[[ZZZZZZ[[ZZ[[ZZZZZZZZZZZZZZ[[ZZZZZZZZZZ[[ZZ[[ZZZZ[[ZZZZ[[[[ZZZYXrڳvWYZ[[ZYXmϒl_YZZZZZZ[[[[ZZZZ[[ZZZZZZZZZZ[[ZZZZZZZZZZZZZZZZ[[ZZZZZZZZ[[ZZZZZZ[[[[ZZZZZZZZZZ[[[[ZZZZZZ[[ZZ[[[[ZZ[[ZZZZ[[ZZZZZZZZZZZZZZZZZZZZZZZZ[[ZZZZZZZ]eÜoXYZZZZZZZZZ[[[[ZZZZ[[ZZZZZZZZZZ[[ZZZZZZZZZZZZZZZZ[[ZZZZZZZZ[[ZZZZZZ[[[[ZZZZZZYas۶jXYZZZZZZZ[[[[ZZZZ[[ZZZZZZ[[ZZ[[ZZZZZZZZZZZZZZ[[ZZZZZZZZZZZZ[[[[ZZ[[ZZZZ[[ZZZZZZZZ[[ZZ[[ZZZZZZZZZZZZ[[[[ZZZZZZZZZZ[[ZZZZZZZZZZZZZZ[[[[ZZZZZZZZZZ[[ZZ[[ZZZZZZZZZZ[[[[ZZZZ[[[[ZZZZZZZZZZZZ[[ZZ[[[[ZZZZZZZZZZZZZasњsaYYZZZZZZZZZZZ[[ZZ[[[[ZZZZ[[ZZZZZZZZZZZZZZ[[[[ZZZZZZZZZZZZ[[ZZZZZZZZZZ[[ZZZZZZZZZZZZZZ[[ZZZZZZZZZZZZ[[ZZZZZZZZZZ[[ZZZZZZ[[[[ZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZ[[ZZZZZZ[[ZZZZZZZZZZ[[ZZZZZZ[[ZZZZZZZZ[[[[ZZZZZZZZ[[[[ZZZYY_mЯgVXZZZZZZZZZ[[ZZZZZZZZZZZZZZ[[ZZZZZZZZ[[ZZZZZZZZZZZZZZZZZZ[[ZZZZZZZZZZZZZZZZ[[ZZZZZZZZ[[ZZZZZZ[[ZZZZZZZZZZZZZZZZ[[ZZ[[ZZZZZZZZZZZZ[[ZZZZZZZZZZZZ[[ZZ[[ZZ[[[[ZZZZZZZZZZZZZZZZZYYbvÝpYYZZZZZ[[ZZZZ[[ZZZZZZZZ[[ZZZZZZZZZZZZZZZZZZZZ[[ZZZZ[[[[ZZ[[ZZZZZZZZZZ[[ZZZZZZZZZZZZZZZZ[[[[ZXW}۶kXYZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZ[[ZZZZZZ[[ZZZZZZZZZZZZ[[ZZZZ[[ZZZZZZZZZZZZ[[ZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZ[[ZZZZZZZZZZZZZZ[[ZZZZZZZZZZZZZZ[[ZZZZZZZZZZZZ[[ZZZZZZZZ[[ZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZXW}۶kYY[ZZZZ[[ZZZZZZZZZZ[[ZZZZZZ[[ZZZZZZ[[ZZZZZZ[[ZZZZZZZZZZ[[ZZZZZZZZZZZZ[[ZZZZZZZZZZZZZZZZZZ[[ZZZZZZZZZZZZZZZZZZZZZZ[[ZZZZZZ[[ZZZZ[[ZZZZZZZZ[[[[ZZ[[[[[[ZZZZZZZZ[[[[ZZ[[[[[[ZZ[[[[[[[[ZZ[[[[[[ZZZZ[[[[ZZ[[ZZ[[ZZ[[[[[[[[[[ZZ[[[[[[ZZ[[[[[[[[ZZZZZZ[[[[[[ZZZZ[[[[[[[[ZZ[[[[[[[[[[ZZ[[[[[[ZZ[[ZZ[[ZZ[[[[ZZ[[[[[[[[ZZZZ[[[[[[[[[[[[[[[[ZZ[[[[[[[[[YYkњtbZZ[ZZ[[[[[[[[[[[[[[ZZZZ[[ZZ[[ZZ[[[[ZZZZZZZZZZ[[ZZ[[ZZZZ[[[[[[[[[[[[ZZ[[[[[[[[[[[[[[[[[[[[[[[[[[[[ZZ[[ZZ[[[[[[[[[[[[[[ZZ[[[[[[[[[[[[[[[[ZZ[[[[ZZZZZZ[[[[[[[[[[[[[[ZZ[[[[[[[[[[[[[[ZZ[[[[[[[[[[ZZZZZZ[[ZZZZ[[[[[[[[[[ZZ[[ZZ[[[[ZZ[[ZZ[[[[[[[[ZZ[[[[[[[[[[[[[[ZZ[[[[[[ZZ[[[[[[ZZ[[[[[[ZZ[[[[[[[[[[[[[[[[ZZ[[[[ZZZZ[[[[ZZ[[[[ZZZZ[[ZZZZ[[[[[[ZZ[[[[[[[[[[ZZ[[[[[[[[[[[[ZZZZZZ[[[[ZZZZ[[[[[[ZZ[[[[[[[[[[[[[[[[[[[[ZZ[[ZZZZ[[[[ZZ[[ZZZZZZZZ[[ZZZZ[[[[ZZ[[[[ZZ[[ZZ[[ZZ[[ZZ[[ZZ[[[[[[[[[[ZZZZ[[[[ZZZZ[[ZZ[[[[[[[[[[[[ZZ[[ZZ[[[[ZZZZZZZZ[[[[[[ZZ[[ZZZZ[[ZZ[[[[[[[[[[[[[[ZZZZ[[ZZZZZZ[[[[ZZ[[[[ZZ[[[[[[[[[[[[ZZ[[ZZ[[[[ZZ[[[[[[[[[[ZZ[[[[[[ZZ[[[[ZZZZ[[ZZ[[ZZ[[ZZ[[[[[[ZZ[[[[ZZ[[ZZ[[ZZZZ[[ZZ[[[[[[[[[[ZZZZ[[[[ZZ[[[[[[[[ZZZZ[[ZZ[[[[ZZZZ[[[[[[ZZ[[ZZ[[ZZZZZZZZ[[[[[[[[ZZZZ[[ZZ[[ZZ[[ZZ[[[[ZZZZ[[[[ZZ[[[[[[[[ZZ[[ZZ[[[[ZZ[[[[[[[[ZZ[[[[[[[[[[ZZ[[[[ZZ[[ZZ[[[[[[ZZ[[[[[[ZZ[[[[ZZ[[ZZZZ[[[[[[[[[[ZZZZ[[ZZ[[[[[[[[ZZ[[ZZ[[[[ZZ[[ZZ[[ZZZZZZ[[[[[[[[[[[[[[[[[[ZZ[[[[[[ZZ[[[[ZZ[[ZZ[[ZZ[[ZZ[[[[ZZZZ[[ZZ[[[[ZZ[[[[ZZ[[ZZ[[ZZZZ[[ZZ[[ZZZZZZ[[[[ZZ[[[[[[[[[[[[[[ZZZZZZZZ[[[[[[[[ZZ[[[[[[[[[[ZZZZ[[[[[[[[ZZ[[ZZ[[ZZZZZZ[[[[ZZZZZZ[[[[ZZ[[ZZZZZZ[[ZZZZ[[ZZZZ[[[[[[ZZ[[[[ZZZZ[[ZZZZZZZZZZ[[ZZ[[[[ZZZZ[[[[ZZ[[ZZ[[ZZ[[ZZZZ[[[[[[[[[[[[ZZZXXvʧy`[ZZ[ZZ[[[[[[ZZZZZZ[[[[ZZ[[ZZ[[ZZ[[ZZZZ[[ZZ[[[[[[ZZ[[[[[[ZZ[[ZZ[[ZZZZ[[ZZ[[[[[[[[ZZ[[[[ZZZZZZ[[[[ZZ[[[[[[[[ZZZZ[[[[[[[[[[[[[[ZZ[[[[ZZ[[[[[[[[ZZ[[ZZ[[[[ZZZZ[[[[ZZ[[[[[[ZZZZZ[]oװuWX[[[ZZZZ[[[[ZZZZ[[ZZZZ[[[[ZZZZZZ[[[[[[[[ZZ[[[[[[[[[[[[[[[[ZZZZZZZZ[[[[ZZ[ZYfܵwXXZ[[ZZ[[[[ZZ[[ZZZZZZZZ[[[[ZZ[[ZZ[[[[[[[[ZZ[[[[[[ZZ[[ZZ[[ZZZZ[[[[ZZ[[[[[[[[ZZ[[[[[[ZZ[[[[ZZZZZZZZZZ[[[[[[[[[[ZZZZZZ[[[[[[[[ZZZZ[[[[ZZ[[[[ZZ[XWx˥rXYZZZ[YYiԠzdYZZ[[ZZZZ[[[[ZZZZ[[[[[[[[[[ZZZZZZZZZZZZZZZZZZ[[ZZ[[ZZZZZZ[[[[ZZZZZZZZ[[[[ZZZZ[[[[ZZ[[[[[[ZZ[[ZZZZZZZZZZZZZZZZ[[[[ZZ[[[[ZZ[[ZZZZZZZZ[[[[[ZZbsٰiYZ[ZZZZ[[ZZZZZZ[[ZZZZ[[[[[[[[[[ZZZZZZZZZZZZZZZZZZ[[ZZ[[ZZZZZZ[[[[ZZZZZZ[[[[[ZYas۶jXY[[[ZZZZZZZZZZZZZZ[[ZZ[[[[[[ZZZZ[[[[ZZ[[ZZZZ[[ZZZZ[[ZZ[[[[[[ZZ[[[[ZZZZ[[ZZ[[[[[[ZZZZZZZZ[[ZZZZ[[[[ZZ[[[[ZZZZZZ[[ZZ[[ZZZZ[[ZZ[[[[[[[[ZZ[[[[ZZ[[ZZZZZZ[[[[ZZZZ[[[[[[ZZZZ[[ZZ[[ZZZZZZ[[ZZ[[ZZ[[[[[[ZZZZ[[ZZZYYasњtbZZZZZZZZZZZZZZZ[[[[ZZZZ[[ZZ[[ZZZZZZ[[[[[[[[[[[[[[[[[[[[ZZ[[ZZ[[ZZZZ[[[[ZZ[[ZZZZZZZZZZ[[[[ZZ[[[[[[[[ZZZZZZ[[[[ZZZZZZ[[ZZZZZZZZZZ[[[[ZZZZZZZZ[[[[[[ZZZZZZ[[ZZ[[ZZZZZZZZZZ[[[[ZZ[[[[[[ZZZZZZZZZZ[[ZZ[[[[[[ZZZZZZZZ[[[[ZYXjЯh]XYZZZZZZZZZ[[[[[[ZZZZZZZZZZZZ[[[[ZZZZ[[[[[[ZZZZZZZZZZZZZZ[[ZZZZZZZZZZZZZZ[[[[ZZZZZZZZ[[ZZ[[ZZZZ[[[[ZZZZZZZZ[[[[[[ZZZZZZZZZZ[[ZZZZZZZZZZZZZZZZZZZZZZ[[ZZZZZZZZZZ[[[[[[ZZ[[[[[ZY\buܸ|\Z[[[ZZ[[[[[[ZZZZZZZZ[[ZZZZ[[[[[[ZZZZZZZZ[[ZZZZZZ[[[[ZZ[[[[[[[[[[[[[[ZZZZ[[[[ZZ[[[[ZZZZZZZZZXW}۶kXY[ZZ[[ZZZZZZ[[ZZZZ[[ZZZZZZZZ[[ZZZZZZZZ[[ZZZZ[[ZZ[[ZZ[[ZZZZZZZZZZ[[[[ZZZZZZZZZZZZZZZZ[[[[ZZ[[ZZZZZZZZZZ[[ZZ[[ZZZZZZZZZZZZZZZZZZZZ[[ZZ[[ZZZZ[[ZZ[[[[ZZZZ[[ZZZZZZ[[[[ZZZZ[[ZZ[[ZZZZZZ[[ZZ[[[[ZZ[[[[ZZZZ[[ZZZZZZZZZZZZZZZZZZZXW}۶kXYZZZ[[ZZ[[ZZZZZZZZZZZZZZZZZZ[[ZZZZZZZZZZZZ[[ZZZZZZ[[ZZZZ[[ZZ[[ZZZZZZZZZZ[[ZZ[[ZZ[[ZZ[[ZZZZ[[ZZ[[ZZZZZZ[[[[[[ZZZZZZZZ[[ZZZZZZZZZZZZZZZZZZ[[[[ZZ[[[[[[ZZZZZZZZ[[[[ZZ[[[[[[ZZ[[[[[[[[ZZ[[[[[[ZZZZ[[[[ZZ[[ZZ[[ZZ[[[[[[[[[[ZZ[[[[[[ZZ[[[[[[[[ZZZZZZ[[[[[[ZZZZ[[[[[[[[ZZ[[[[[[[[[[ZZ[[[[[[ZZ[[ZZ[[ZZ[[[[ZZ[[[[[[[[ZZZZ[[[[[[[[[[[[[[[[ZZ[[[[[[[[[ZYkњtbZZ[ZZ[[[[[[[[[[[[[[ZZZZ[[ZZ[[ZZ[[[[ZZZZZZZZZZ[[ZZ[[ZZZZ[[[[[[[[[[[[ZZ[[[[[[[[[[[[[[[[[[[[[[[[[[[[ZZ[[ZZ[[[[[[[[[[[[[[ZZ[[[[[[[[[[[[[[[[ZZ[[[[ZZZZZZ[[[[[[[[[[[[[[ZZ[[[[[[[[[[[[[[ZZ[[[[[[[[[[ZZZZZZ[[ZZZZ[[[[[[[[[[ZZ[[ZZ[[[[ZZ[[ZZ[[[[[[[[ZZ[[[[[[[[[[[[[[ZZ[[[[[[ZZ[[[[[[ZZ[[[[[[ZZ[[[[[[[[[[[[[[[[ZZ[[[[ZZZZ[[[[ZZ[[[[ZZZZ[[ZZZZ[[[[[[ZZ[[[[[[[[[[ZZ[[[[[[[[[[[[ZZZZZZ[[[[ZZZZ[[[[[[ZZ[[[[[[[[[[[[[[[[[[[[ZZ[[ZZZZ[[[[ZZ[[ZZZZZZZZ[[ZZZZ[[[[ZZ[[[[ZZ[[ZZ[[ZZ[[ZZ[[ZZ[[[[[[[[[[ZZZZ[[[[ZZZZ[[ZZ[[[[[[[[[[[[ZZ[[ZZ[[[[ZZZZZZZZ[[[[[[ZZ[[ZZZZ[[ZZ[[[[[[[[[[[[[[ZZZZ[[ZZZZZZ[[[[ZZ[[[[ZZ[[[[[[[[[[[[ZZ[[ZZ[[[[ZZ[[[[[[[[[[ZZ[[[[[[ZZ[[[[ZZZZ[[ZZ[[ZZ[[ZZ[[[[[[ZZ[[[[ZZ[[ZZ[[ZZZZ[[ZZ[[[[[[[[[[ZZZZ[[[[ZZ[[[[[[[[ZZZZ[[ZZ[[[[ZZZZ[[[[[[ZZ[[ZZ[[ZZZZZZZZ[[[[[[[[ZZZZ[[ZZ[[ZZ[[ZZ[[[[ZZZZ[[[[ZZ[[[[[[[[ZZ[[ZZ[[[[ZZ[[[[[[[[ZZ[[[[[[[[[[ZZ[[[[ZZ[[ZZ[[[[[[ZZ[[[[[[ZZ[[[[ZZ[[ZZZZ[[[[[[[[[[ZZZZ[[ZZ[[[[[[[[ZZ[[ZZ[[[[ZZ[[ZZ[[ZZZZZZ[[[[[[[[[[[[[[[[[[ZZ[[[[[[ZZ[[[[ZZ[[ZZ[[ZZ[[ZZ[[[[ZZZZ[[ZZ[[[[ZZ[[[[ZZ[[ZZ[[ZZZZ[[ZZ[[ZZZZZZ[[[[ZZ[[[[[[[[[[[[[[ZZZZZZZZ[[[[[[[[ZZ[[[[[[[[[[ZZZZ[[[[[[[[ZZ[[ZZ[[ZZZZZZ[[[[ZZZZZZ[[[[ZZ[[ZZZZZZ[[ZZZZ[[[[ZZ[[[[[[ZZ[[[[ZZZZ[[ZZZZZZZZZZ[[ZZ[[[[ZZZZ[[[[ZZ[[ZZ[[ZZ[[ZZZZ[[[[[[[[[[[[ZZZZ\دhXYZ[[ZZ[[[[[[ZZZZZZ[[[[ZZ[[ZZ[[ZZ[[ZZZZ[[ZZ[[[[[[ZZ[[[[[[ZZ[[ZZ[[ZZZZ[[ZZ[[[[[[[[ZZ[[[[ZZZZZZ[[[[ZZ[[[[[[[[ZZZZ[[[[[[[[[[[[[[ZZ[[[[ZZ[[[[[[[[ZZ[[ZZ[[[[ZZZZ[[[[ZZ[[[[[[ZZZZ[ZYbv][[[[ZZZZ[[[[ZZZZ[[ZZZZ[[[[ZZZZZZ[[[[[[[[ZZ[[[[[[[[[[[[[[[[ZZZZZZZZ[[[[ZZ[ZYbs}[YZ[[ZZ[[[[ZZ[[ZZZZZZZZ[[[[ZZ[[ZZ[[[[[[[[ZZ[[[[[[ZZ[[ZZ[[ZZZZ[[[[ZZ[[[[[[[[ZZ[[[[[[ZZ[[[[ZZZZZZZZZZ[[[[[[[[[[ZZZZZZ[[[[[[[[ZZZZ[[[[ZZ[[[[ZZ[Z\ݽmXYZZZ[ZYcxٱiYYZ[[ZZZZ[[[[ZZZZ[[[[[[[[[[ZZZZZZZZZZZZZZZZZZ[[ZZ[[ZZZZZZ[[[[ZZZZZZZZ[[[[ZZZZ[[[[ZZ[[[[[[ZZ[[ZZZZZZZZZZZZZZZZ[[[[ZZ[[[[ZZ[[ZZZZZZZZ[[[[[ZYfԠzdZZ[ZZZZ[[ZZZZZZ[[ZZ[[[[[[[[[[[[ZZZZZZZZZZZZZZZZZZ[[ZZ[[ZZZZZZ[[[[ZZZZZZ[[[[[ZYbs۶kYZ[[[ZZZZZZZZZZZZZZ[[ZZ[[[[[[ZZZZ[[[[ZZ[[ZZZZ[[ZZZZ[[ZZ[[[[[[ZZ[[[[ZZZZ[[ZZ[[[[[[ZZZZZZZZ[[ZZZZ[[[[ZZ[[[[ZZZZZZ[[ZZ[[ZZZZ[[ZZ[[[[[[[[ZZ[[[[ZZ[[ZZZZZZ[[[[ZZZZ[[[[[[ZZZZ[[ZZ[[ZZZZZZ[[ZZ[[ZZ[[[[[[ZZZZ[[ZZZZYasњtbZZZZZZZZZZZZZZZ[[[[ZZZZ[[ZZ[[ZZZZZZ[[[[[[[[[[[[[[[[[[[[ZZ[[ZZ[[ZZZZ[[[[ZZ[[ZZZZZZZZZZ[[[[ZZ[[[[[[[[ZZZZZZ[[[[ZZZZZZ[[ZZZZZZZZZZ[[[[ZZZZZZZZ[[[[[[ZZZZZZ[[ZZ[[ZZZZZZZZZZ[[[[ZZ[[[[[[ZZZZZZZZZZ[[ZZ[[[[[[ZZZZZZZZ[[[ZZZ^yЯhWYZZZZZZZZZZZ[[[[[[ZZZZZZZZZZZZ[[[[ZZZZ[[[[[[ZZZZZZZZZZZZZZ[[ZZZZZZZZZZZZZZ[[[[ZZZZZZZZ[[ZZ[[ZZZZ[[[[ZZZZZZZZ[[[[[[ZZZZZZZZZZ[[ZZZZZZZZZZZZZZZZZZZZZZ[[ZZZZZZZZZZ[[[[[[ZZ[[[[[[ZYYbvʎj^ZZ[ZZ[[[[[[ZZZZZZZZ[[ZZZZ[[[[[[ZZZZZZZZ[[ZZZZZZ[[[[ZZ[[[[[[[[[[[[[[ZZZZ[[[[ZZ[[[[ZZZZZZZZZXW}۶kYY[ZZ[[ZZZZZZ[[ZZZZ[[ZZZZZZZZ[[ZZZZZZZZ[[ZZZZ[[ZZ[[ZZ[[ZZZZZZZZZZ[[[[ZZZZZZZZZZZZZZZZ[[[[ZZ[[ZZZZZZZZZZ[[ZZ[[ZZZZZZZZZZZZZZZZZZZZ[[ZZ[[ZZZZ[[ZZ[[[[ZZZZ[[ZZZZZZ[[[[ZZZZ[[ZZ[[ZZZZZZ[[ZZ[[[[ZZ[[[[ZZZZ[[ZZZZZZZZZZZZZZZZZZZXW}۶kYYZZZ[[ZZ[[ZZZZZZZZZZZZZZZZZZ[[ZZZZZZZZZZZZ[[ZZZZZZ[[ZZZZ[[ZZ[[ZZZZZZZZZZ[[ZZ[[ZZ[[ZZ[[ZZZZ[[ZZ[[ZZZZZZ[[[[[[ZZZZZZZZ[[ZZZZZZZZZZZZ[[[[[[[[ZZ[[[[[[[[[[[[[[[[[[[[ZZ[[[[[[[[[[[[[[[[[[[[[[ZZ[[[[[[[[[[[[[[[[[[[[[[[[[[ZZZZ[[[[[[[[ZZ[[[[[[ZZ[[[[[[[[[[[[[[[[[[[[[[ZZZZ[[ZZ[[[[ZZ[[[[[[[[[[[[[[[[[[[[[[[[[[ZZ[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[ZYkњsbZZ[[[[[ZZ[[[[[[[[[[[[[[[[ZZ[[[[ZZ[[[[[[[[[[[[[[ZZ[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[ZZ[[[[[[[[[[ZZ[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[ZZ[[[[[[[[[[[[ZZ[[[[[[ZZ[[[[[[[[[[[[[[[[ZZ[[ZZ[[ZZ[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[ZZ[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[ZZ[[[[[[[[[[[[[[[[[[[[[[ZZ[[[[[[[[ZZ[[[[[[[[[[[[[[[[[[[[[[ZZ[[[[[[[[[[[[ZZ[[[[[[[[ZZ[[[[[[[[[[ZZ[[[[[[[[[[[[ZZ[[ZZ[[[[[[[[[[[[ZZ[[[[ZZ[[[[[[[[[[[[[[[[[[ZZ[[[[[[[[[[ZZ[[[[ZZ[[[[[[[[ZZ[[[[[[ZZ[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[ZZ[[[[[[[[[[[[ZZ[[[[[[[[[[[[[[ZZ[[ZZZZ[[[[[[ZZ[[[[[[[[[[[[[[ZZ[[[[ZZ[[[[ZZ[[[[[[[[[[[[ZZ[[[[[[ZZ[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[ZZ[[[[[[[[[[[[[[[[[[[[[[[[ZZ[[[[[[[[[[[[ZZZZ[[ZZ[[[[ZZ[[ZZZZZZ[[[[[[[[[[[[[[[[[[ZZ[[[[[[[[[[ZZ[[[[[[[[ZZ[[[[[[[[ZZ[[[[[[[[[[ZZ[[[[[[[[ZZ[[[[[[[[[[[[[[[[[[[[[[[[[[ZZ[[[[[[[[[[[[[[[[ZZ[[[[[[[[[[[[ZZ[[[[[[[[[[[[ZZ[[[[[[[[[[ZZ[[[[[[ZZ[[[[[[ZZ[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[ZZ[[[[[[[[[[[[[[[[[[[[ZZ[[[[[[ZZ[[[[[[[[ZZ[[ZZ[[[[[[[[ZZ[[[[[[[[[[[[[[[[[[[[ZZ[[[[ZZZZ[[[[ZZ[[[[[[[[ZZ[[[[[[[[[[ZZ[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[ZZ[[[[[[[[[[[[[[[[[[[[[[[[[[ZZZZ[[[[ZZ[[[[[[[[[[[[ZZZZ[[ZZ[[[[[[[[ZZ[[ZZ[[[[ZZ[[[[[[ZZ[[[[[[ZZ[[[[ZZ[[[[[[[[[[[[[ZZ^gˑl_ZZ[[[[[[[[[[[[[[[[[[[[[ZZZZ[[ZZZZZZ[[[[[[ZZ[[ZZZZZZ[[[[ZZ[[[[[[[[[[[[[[[[[[[[[[[[ZZ[[[[[[[[[[[[ZZ[[[[[[[[[[[[[[[[[[[[[[[[[[[[ZZZZ[[[[ZZ[[[[[[[[[[[[[[[[[[ZZ[[[[[[[[[[[[[[[[[ZZ[ȃl_YZZ[[[[[[[[[[[[[[ZZ[[[[[[[[ZZ[[ZZ[[[[ZZZZ[[[[[[ZZ[[[[[[[[[[[[[[[[ZZZZ[[[[Z]eȆa\Z[[ZZ[[[[[[ZZ[[[[[[[[[[[[[[[[[[ZZZZ[[[[[[[[ZZZZZZ[[[[ZZZZ[[ZZ[[[[[[ZZZZ[[[[ZZ[[ZZZZZZ[[[[[[[[ZZ[[[[[[ZZZZ[[[[ZZ[[ZZ[[[[[[[[[[[[ZZ[[ZZ[[[ZZ]fدiYYZ[[[ZZ]fÝoYY[[[[[[[[[[[[[ZZ[[[[[[[[ZZ[[ZZZZ[[ZZ[[ZZ[[[[[[ZZZZ[[[[ZZ[[[[ZZ[[ZZZZ[[ZZ[[[[[[[[[[[[ZZ[[[[[[[[[[ZZ[[ZZZZ[[[[[[[[[[[[[[[[ZZ[[[[[[ZZZZZZ[ZYkϒl_ZZ[[[[[[[[[ZZ[[[[[[[[[[[[ZZ[[[[[[[[ZZ[[ZZ[[ZZ[[[[[[ZZ[[[[[[ZZ[[[[ZZ[[ZZZZ[[ZZZbt۶kYZ[ZZ[[ZZ[[[[ZZ[[ZZ[[[[ZZ[[[[[[[[[[[[[[[[[[[[ZZ[[[[ZZ[[ZZ[[[[[[ZZ[[ZZ[[[[[[[[ZZ[[ZZZZ[[[[[[ZZ[[[[ZZ[[ZZ[[[[[[[[[[[[ZZ[[[[[[[[[[[[ZZZZZZ[[[[[[[[ZZ[[[[[[[[[[[[[[[[ZZ[[[[[[[[[[[[[[ZZZZ[[[[ZZZZ[[[[[[[[ZZ[[[ZYasњsbZZ[[[[[ZZZZZZ[[[[[[ZZZZ[[ZZ[[ZZZZZZ[[[[ZZ[[ZZ[[[[[[[[ZZZZZZ[[ZZZZ[[ZZZZ[[[[[[ZZ[[[[ZZZZ[[ZZ[[ZZ[[[[[[ZZ[[[[ZZZZ[[ZZZZ[[ZZ[[ZZ[[[[[[[[[[ZZ[[[[[[ZZZZ[[ZZZZ[[[[ZZ[[ZZ[[[[[[[[[[[[[[[[[[[[ZZ[[[[[[[[[[[[[[ZZ[[[[[[ZZZZZ_kЯi]YZ[ZZ[[[[ZZ[[ZZ[[ZZ[[[[ZZ[[ZZZZZZ[[ZZ[[[[[[ZZ[[[[ZZ[[ZZ[[[[[[[[[[[[ZZ[[[[[[ZZ[[ZZZZ[[[[ZZ[[[[[[[[[[ZZZZ[[ZZZZ[[[[[[[[[[[[ZZZZ[[ZZZZZZ[[ZZ[[[[[[ZZZZ[[[[[[ZZ[[[[[[ZZ[[ZZ[[[[[[[[[ZY\a{ըfYZ[[[[[ZZZZ[[ZZ[[[[[[[[[[[[[[ZZZZ[[[[[[[[ZZ[[[[ZZ[[[[[[ZZZZZZ[[[[ZZ[[ZZ[[ZZ[[ZZZZZZZZ[[[[ZXW}۶kYY[[[ZZ[[[[[[ZZZZ[[[[[[ZZZZZZZZ[[[[[[[[[[[[ZZZZZZZZ[[[[ZZZZ[[[[ZZ[[ZZ[[ZZ[[ZZ[[[[[[ZZ[[[[ZZ[[ZZ[[ZZ[[[[[[[[[[ZZ[[ZZ[[ZZ[[[[[[[[ZZZZZZ[[[[[[[[ZZ[[[[ZZ[[ZZ[[ZZ[[[[[[ZZZZ[[ZZ[[[[ZZ[[ZZ[[[[ZZZZ[[[[ZZZZZZ[[[[[[[[[[[[[[[[ZZZXW}۶kYYZZZ[[[[ZZ[[[[ZZZZ[[ZZ[[ZZ[[ZZZZZZZZZZZZZZ[[[[ZZZZZZZZ[[[[ZZZZ[[[[[[ZZ[[[[[[[[[[ZZ[[ZZ[[ZZ[[ZZ[[ZZZZ[[[[[[[[ZZ[[ZZ[[ZZZZZZZZ[[[[ZZ[[[[[[[[ZZ[[[[[[[[[[[[[[[[[[[[ZZ[[[[[[[[[[[[[[[[[[[[[[ZZ[[[[[[[[[[[[[[[[[[[[[[[[[[ZZZZ[[[[[[[[ZZ[[[[[[ZZ[[[[[[[[[[[[[[[[[[[[[[ZZZ[[[ZZ[[[[ZZ[[[[[[[[[[[[[[[[[[[[[[[[[[ZZ[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[ZYkњsbZZ[[[[[ZZ[[[[[[[[[[[[[[[[ZZ[[[[ZZ[[[[[[[[[[[[[[ZZ[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[ZZ[[[[[[[[[[ZZ[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[ZZ[[[[[[[[[[[[ZZ[[[[[[ZZ[[[[[[[[[[[[[[[[ZZ[[ZZ[[ZZ[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[ZZ[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[ZZ[[[[[[[[[[[[[[[[[[[[[[ZZ[[[[[[[[ZZ[[[[[[[[[[[[[[[[[[[[[[ZZ[[[[[[[[[[[[ZZ[[[[[[[[ZZ[[[[[[[[[[ZZ[[[[[[[[[[[[ZZ[[ZZ[[[[[[[[[[[[ZZ[[[[ZZ[[[[[[[[[[[[[[[[[[ZZ[[[[[[[[[[ZZ[[[[ZZ[[[[[[[[ZZ[[[[[[ZZ[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[ZZ[[[[[[[[[[[[ZZ[[[[[[[[[[[[[[ZZ[[ZZZZ[[[[[[ZZ[[[[[[[[[[[[[[ZZ[[[[ZZ[[[[ZZ[[[[[[[[[[[[ZZ[[[[[[ZZ[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[ZZ[[[[[[[[[[[[[[[[[[[[[[[[ZZ[[[[[[[[[[[[ZZZZ[[ZZ[[[[ZZ[[ZZZZZZ[[[[[[[[[[[[[[[[[[ZZ[[[[[[[[[[ZZ[[[[[[[[ZZ[[[[[[[[ZZ[[[[[[[[[[ZZ[[[[[[[[ZZ[[[[[[[[[[[[[[[[[[[[[[[[[[ZZ[[[[[[[[[[[[[[[[ZZ[[[[[[[[[[[[ZZ[[[[[[[[[[[[ZZ[[[[[[[[[[ZZ[[[[[[ZZ[[[[[[ZZ[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[ZZ[[[[[[[[[[[[[[[[[[[[ZZ[[[[[[ZZ[[[[[[[[ZZ[[ZZ[[[[[[[[ZZ[[[[[[[[[[[[[[[[[[[[ZZ[[[[ZZZZ[[[[ZZ[[[[[[[[ZZ[[[[[[[[[[ZZ[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[ZZ[[[[[[[[[[[[[[[[[[[[[[[[[[ZZZZ[[[[ZZ[[[[[[[[[[[[ZZZZ[[ZZ[[[[[[[[ZZ[[ZZ[[[[ZZ[[[[[[ZZ[[[[[[ZZ[[[[ZZ[[[[[[[[[[[[[ZZbtشz\Z[[[[[[[[[[[[[[[[[[[[[[[ZZZZ[[ZZZZZZ[[[[[[ZZ[[ZZZZZZ[[[[ZZ[[[[[[[[[[[[[[[[[[[[[[[[ZZ[[[[[[[[[[[[ZZ[[[[[[[[[[[[[[[[[[[[[[[[[[[[ZZZZ[[[[ZZ[[[[[[[[[[[[[[[[[[ZZ[[[[[[[[[[[[[[[[[[[YXlդ~eYYZ[[[[[[[[[[[[[[ZZ[[[[[[[[ZZ[[ZZ[[[[ZZZZ[[[[[[ZZ[[[[[[[[[[[[[[[[ZZZZ[[[[[Z\ϒl_YZ[ZZ[[[[[[ZZ[[[[[[[[[[[[[[[[[[ZZZZ[[[[[[[[ZZZZZZ[[[[ZZZZ[[ZZ[[[[[[ZZZZ[[[[ZZ[[ZZZZZZ[[[[[[[[ZZ[[[[[[ZZZZ[[[[ZZ[[ZZ[[[[[[[[[[[[ZZ[[ZZ[[[ZZbuԡzdZZZ[[[[ZY\ӭuXY[[[[[[[[[[[[[ZZ[[[[[[[[ZZ[[ZZZZ[[ZZ[[ZZ[[[[[[ZZZZ[[[[ZZ[[[[ZZ[[ZZZZ[[ZZ[[[[[[[[[[[[ZZ[[[[[[[[[[ZZ[[ZZZZ[[[[[[[[[[[[[[[[ZZ[[[[[[ZZZZZZ[YYpɇb\Z[[[[[[[[[[ZZ[[[[[[[[[[[[ZZ[[[[[[[[ZZ[[ZZ[[ZZ[[[[[[ZZ[[[[[[ZZ[[[[ZZ[[ZZZZ[[ZYZbt۶kYZ[ZZ[[ZZ[[[[ZZ[[ZZ[[[[ZZ[[[[[[[[[[[[[[[[[[[[ZZ[[[[ZZ[[ZZ[[[[[[ZZ[[ZZ[[[[[[[[ZZ[[ZZZZ[[[[[[ZZ[[[[ZZ[[ZZ[[[[[[[[[[[[ZZ[[[[[[[[[[[[ZZZZZZ[[[[[[[[ZZ[[[[[[[[[[[[[[[[ZZ[[[[[[[[[[[[[[ZZZZ[[[[ZZZZ[[[[[[[[ZZ[[[ZYasњsbZZ[[[[[ZZZZZZ[[[[[[ZZZZ[[ZZ[[ZZZZZZ[[[[ZZ[[ZZ[[[[[[[[ZZZZZZ[[ZZZZ[[ZZZZ[[[[[[ZZ[[[[ZZZZ[[ZZ[[ZZ[[[[[[ZZ[[[[ZZZZ[[ZZZZ[[ZZ[[ZZ[[[[[[[[[[ZZ[[[[[[ZZZZ[[ZZZZ[[[[ZZ[[ZZ[[[[[[[[[[[[[[[[[[[[ZZ[[[[[[[[[[[[[[ZZ[[[[[[ZZZYXfЯiXYZ[[ZZ[[[[ZZ[[ZZ[[ZZ[[[[ZZ[[ZZZZZZ[[ZZ[[[[[[ZZ[[[[ZZ[[ZZ[[[[[[[[[[[[ZZ[[[[[[ZZ[[ZZZZ[[[[ZZ[[[[[[[[[[ZZZZ[[ZZZZ[[[[[[[[[[[[ZZZZ[[ZZZZZZ[[ZZ[[[[[[ZZZZ[[[[[[ZZ[[[[[[ZZ[[ZZ[[[[[[[[[[[YXgşr[Z[[[[[ZZZZ[[ZZ[[[[[[[[[[[[[[ZZZZ[[[[[[[[ZZ[[[[ZZ[[[[[[ZZZZZZ[[[[ZZ[[ZZ[[ZZ[[ZZZZZZZZ[[[[ZXX}۶kYY[[[ZZ[[[[[[ZZZZ[[[[[[ZZZZZZZZ[[[[[[[[[[[[ZZZZZZZZ[[[[ZZZZ[[[[ZZ[[ZZ[[ZZ[[ZZ[[[[[[ZZ[[[[ZZ[[ZZ[[ZZ[[[[[[[[[[ZZ[[ZZ[[ZZ[[[[[[[[ZZZZZZ[[[[[[[[ZZ[[[[ZZ[[ZZ[[ZZ[[[[[[ZZZZ[[ZZ[[[[ZZ[[ZZ[[[[ZZZZ[[[[ZZZZZZ[[[[[[[[[[[[[[[[ZZZXW}۷kYZZZZ[[[[ZZ[[[[ZZZZ[[ZZ[[ZZ[[ZZZZZZZZZZZZZZ[[[[ZZZZZZZZ[[[[ZZZZ[[[[[[ZZ[[[[[[[[[[ZZ[[ZZ[[ZZ[[ZZ[[ZZZZ[[[[[[[[ZZ[[ZZ[[ZZZZZZZZ[[[[ZZ[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[\\[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[\\[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[ZYYkњtbZZ[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[ZZ[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[ZZ[[[[[[[[[[[[[[[[[[[[[[[[[[[[ZZ[[[[[[[[[[[[[[[[[[[[[[[[ZZ[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[ZZ[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[ZZ[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[ZZ[[[[[[[[[[[[[[[[[[[[[[[[ZZZZ[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[ZZ[[[[[[[[[[ZZ[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[ZZ[[[[[[[[[[[[[[[[[[[[ZZZZ[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[ZZ[[[[[[ZZ[[[[ZZ[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[ZYg۸mZZ[[[[[[[[[[[ZZ[[[[[[[[[[[[[[[[[[[[[[[[[[[[ZZ[[[[[[[[ZZ[[[[[[[[[[[[[[[[[[[[[[[[[[ZZ[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[ZZ[[[[[[[[ZZ[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[ZY`oܺmYY[[[[[[[[[[[[[[[[[[[[[ZZ[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[YYzԡ{dYZ[[[[[[[[[ZZ[[[[ZZ[[[[ZZ[[[[[[[[[[[[[[[[ZZ[[[[[[[[[[[[[[ZZ[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[ZYhϓl`ZZ[[[[[[YYzyWY[[[[[[[[[[[ZZ[[[[[[[[[[[[[[[[[[[[[[ZZ[[[[[[[[[[[[[[[[ZZ[[ZZ[[[[ZZ[[[[ZZ[[[[[[[[[[ZZ[[[[ZZ[[[[[[[[[[[[ZZ[[[[ZZ[[[[[[[[[[[[ZZZZ[[[[[[[[[YXt~[Z[[[[[[[[[[[[[[[[[ZZ[[[[[[[[ZZ[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[ZZ[[[[ZZ[[[[ZYZbt۶kYYZ[[[[[[[[ZZ[[[[[[[[[[[[[[[[ZZ[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[ZZ[[[[[[ZZ[[ZZ[[[[[[ZZ[[[[[[ZZ[[[[ZZ[[[[[[[[[[[[[[[[[[[[[[[[[[[[ZZ[[[[[[[[[[[[[[[[[[[[[[[[ZZ[[[[[[ZZ[[[[ZZ[[[[[[[[[[[[[[[[ZZZZZbtњtbZZ[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[ZZ[[[[[[[[[[[[[[[[[[[[[[[[ZZ[[[[[[ZZ[[[[[[[[[[[[ZZZZ[[[[[[[[[[[[[[[[ZZ[[[[[[[[[[ZZZZ[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[ZZ[[[[[[[[[[[[[[ZZ[[[[[[[[[[[[[[[[ZZ[[[[[[[[[[[[[[[[ZZ[[ZXVrЯh^YZZZZ[[ZZ[[ZZZZ[[[[[[[[[[ZZZZ[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[ZZ[[[[[[[[[[[[[[[[[[[[[[[[[[ZZ[[[[[[[[[[ZZ[[[[[[[[[[[[[[[[ZZ[[[[[[[[ZZ[[[[[[[[[[[[[[[[ZZZZ[[[[ZZZZ[[[[[[[[[[ZZ[[[[[[[ZY]fᾃa\[[[[[[[[[[[ZZ[[[[[[ZZ[[ZZ[[[[[[[[[[[[[[[[ZZ[[[[[[[[[[[[[[[[ZZ[[ZZ[[[[[[[[[[ZZZZZZ[[[[[[[YX~۶kYY[[[[[[[[[[[[[[[[[ZZZZZZ[[ZZ[[[[[[[[ZZZZ[[[[[[ZZZZZZ[[ZZ[[ZZ[[[[[[[[[[[[[[[[ZZZZ[[[[[[[[ZZ[[[[[[[[[[[[[[[[[[[[ZZ[[[[[[[[ZZ[[[[ZZ[[[[ZZ[[[[[[[[[[ZZZZ[[ZZZZ[[ZZZZ[[ZZZZ[[[[[[[[[[[[[[ZZ[[[[[[[[[[ZZ[[ZZ[[ZZ[[ZZ[[[[[[[[ZZ[YX}۷kYZ[[[ZZ[[[[[[ZZ[[[[ZZ[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[ZZ[[[[[[[[[[[[ZZZZ[[[[[[[[[[[[[[ZZ[[[[ZZ[[[[ZZ[[ZZ[[[[[[[[[[[[ZZ[[ZZ[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[\\[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[\\[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[ZYYkњtbZZ[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[ZZ[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[ZZ[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[ZZ[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[ZZ[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[ZZ[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[ZZ[[[[[[[[[[[[[[[[[[[[[[[[ZZZZ[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[ZZ[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[ZZ[[[[[[[[[[[[[[[[[[[[ZZZZ[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[ZZ[[[[[[ZZ[[[[ZZ[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[ZYlЛvcYZ[[[[[[[[[[[ZZ[[[[[[[[[[[[[[[[[[[[[[[[[[[[ZZ[[[[[[[[ZZ[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[ZZ[[[[[[[[ZZ[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[Z\{ͨsXY[[[[[[[[[[[[[[[[[[[[[ZZ[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[YXtحhYZ[[[[[[[[[ZZ[[[[ZZ[[[[ZZ[[[[[[[[[[[[[[[[ZZ[[[[[[[[[[[[[[ZZ[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[YYnɇa\[[[[[[[[YXtƃ^[[[[[[[[[[[[ZZ[[[[[[[[[[[[[[[[[[[[[[ZZ[[[[[[[[[[[[[[[[ZZ[[ZZ[[[[ZZ[[[[ZZ[[[[[[[[[[ZZ[[[[ZZ[[[[[[[[[[[[ZZ[[[[ZZ[[[[[[[[[[[[ZZZZ[[[[[[[[[YYzزvXY[[[[[[[[[[[[[[[[[ZZ[[[[[[[[ZZ[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[ZZ[[[[ZZ[[[[ZZYbt۷kYYZ[[[[[[[[ZZ[[[[[[[[[[[[[[[[ZZ[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[ZZ[[[[[[ZZ[[ZZ[[[[[[ZZ[[[[[[ZZ[[[[ZZ[[[[[[[[[[[[[[[[[[[[[[[[[[[[ZZ[[[[[[[[[[[[[[[[[[[[[[[[ZZ[[[[[[ZZ[[[[ZZ[[[[[[[[[[[[[[[[ZZZZZbtњtbZZ[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[ZZ[[[[[[[[[[[[[[[[[[[[[[[[ZZ[[[[[[ZZ[[[[[[[[[[[[ZZZZ[[[[[[[[[[[[[[[[ZZ[[[[[[[[[[ZZZZ[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[ZZ[[[[[[[[[[[[[[ZZ[[[[[[[[[[[[[[[[ZZ[[[[[[[[[[[[[[[[ZZ[ZZ]dЯhWY[ZZZZ[[ZZ[[ZZZZ[[[[[[[[[[ZZZZ[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[ZZ[[[[[[[[[[[[[[[[[[[[[[[[[[ZZ[[[[[[[[[[ZZ[[[[[[[[[[[[[[[[ZZ[[[[[[[[ZZ[[[[[[[[[[[[[[[[ZZZZ[[[[ZZZZ[[[[[[[[[[ZZ[[[[[[[[ZYWmљsaZZ[[[[[[[[[ZZ[[[[[[ZZ[[ZZ[[[[[[[[[[[[[[[[ZZ[[[[[[[[[[[[[[[[ZZ[[ZZ[[[[[[[[[[ZZZZZZ[[[[[[[YX~۶kYZ[[[[[[[[[[[[[[[[[ZZZZZZ[[ZZ[[[[[[[[ZZZZ[[[[[[ZZZZZZ[[ZZ[[ZZ[[[[[[[[[[[[[[[[ZZZZ[[[[[[[[ZZ[[[[[[[[[[[[[[[[[[[[ZZ[[[[[[[[ZZ[[[[ZZ[[[[ZZ[[[[[[[[[[ZZZZ[[ZZZZ[[ZZZZ[[ZZZZ[[[[[[[[[[[[[[ZZ[[[[[[[[[[ZZ[[ZZ[[ZZ[[ZZ[[[[[[[[ZZ[YX}۷kYZ[[[ZZ[[[[[[ZZ[[[[ZZ[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[ZZ[[[[[[[[[[[[ZZZZ[[[[[[[[[[[[[[ZZ[[[[ZZ[[[[ZZ[[ZZ[[[[[[[[[[[[ZZ[[ZZ[[[[[[[[[[[[[[[[\\[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[\\[[\\\\[[[[[[[[\\\\[[[[[[[[[[[[\\[[[[\\\\[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[\\[[[[[[[[[[[[[[[[[[[[\\[[[[[[[[\\[[[[\\[[[[[[[[\\[[\\[[[[[[[[[[[[\\[[[[\\[[[[[[[[[[[ZYkњtbZZ[[[[[[[[[[[[[[[[[[[[[[[[[[[[[\\[[[[[[[[\\[[[[\\[[[[[[[[[[[[[[[[\\[[[[\\[[[[\\[[[[[[[[[[[[[[[[\\\\[[\\[[[[[[[[[[[[[[\\[[[[[[\\[[[[[[\\[[[[\\[[\\[[[[[[[[[[[[[[[[\\[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[\\\\[[[[[[[[[[\\[[[[[[[[[[[[[[\\[[[[[[[[[[[[[[[[[[\\[[[[[[[[\\[[[[[[[[\\[[\\[[[[\\[[[[\\[[[[\\[[[[\\[[[[[[[[[[[[[[\\[[[[[[[[[[\\[[[[[[\\[[[[\\[[[[[[\\[[[[[[[[[[[[[[[[[[[[[[[[[[\\[[[[[[[[[[\\[[[[[[\\[[\\[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[\\[[[[[[\\[[[[[[[[[[[[[[[[\\[[[[[[[[[[\\[[[[[[[[[[[[[[[[[[[[[[[[\\\\\\[[[[[[[[\\[[[[[[[[\\[[[[[[[[[[[[\\[[[[[[[[[[[[\\[[[[[[[[[[\\[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[\\[[[[[[\\[[[[[[[[[[[[[[[[[[[[[[[[\\[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[\\[[[[[[[[[[[[[[[[[[[[[[[[[[[[\\[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[\\[[[[[[[[\\[[[[[[[[\\[[[[[[\\[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[\\[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[\\[[[[[[[[\\[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[\\[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[\\[[[[[[[[[[[[[[[[[[[[[[[[[[[[\\[[[[[[[[[[[[[[[[[YYq„a\Z[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[ZZoxXY[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[YYn۸lYZ[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[\\[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[YXt~[Z[[[[[[[[ZYnΒl`Z[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[\\[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[Z\ƠqYY[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[ZZbt۷kYY[[[[[[[[[[[[[[[[[[[[[[[[[[[[[ZZ[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[ZZ[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[ZZbtњtbZZ[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[ZZ[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[ZZ[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[ZYfЯi^YZ[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[ZZ[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[ZZ[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[ZZ[[[[[[[ZY`q۶kYZ[[[[[[[[[[[[[[[[[[[ZZ[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[ZZ[[[[[[[[[[[[[[[[[[[[ZZ[[[[[YX}۶kYY[ZZ[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[ZZ[[[[[[ZZ[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[ZZ[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[ZZZZ[[ZZ[[[[[[[[[[[[ZZ[[[[[[[[ZZ[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[ZZ[[[[[[[[[[[YW~۷kYZ[[[[[[[[[[[[[[[[[[[ZZ[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[ZZ[[[[[[[[ZZ[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[ZZZZ[[[[[[[[[[\\[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[\\[[\\\\[[[[[[[[\\\\[[[[[[[[[[[[\\[[[[\\\\[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[\\[[[[[[[[[[[[[[[[[[[[\\[[[[[[[[\\[[[[\\[[[[[[[[\\[[\\[[[[[[[[[[[[\\[[[[\\[[[[[[[[[[[ZYkњtbZZ[[[[[[[[[[[[[[[[[[[[[[[[[[[[[\\[[[[[[[[\\[[[[\\[[[[[[[[[[[[[[[[\\[[[[\\[[[[\\[[[[[[[[[[[[[[[[\\\\[[\\[[[[[[[[[[[[[[\\[[[[[[\\[[[[[[\\[[[[\\[[\\[[[[[[[[[[[[[[[[\\[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[\\\\[[[[[[[[[[\\[[[[[[[[[[[[[[\\[[[[[[[[[[[[[[[[[[\\[[[[[[[[\\[[[[[[[[\\[[\\[[[[\\[[[[\\[[[[\\[[[[\\[[[[[[[[[[[[[[\\[[[[[[[[[[\\[[[[[[\\[[[[\\[[[[[[\\[[[[[[[[[[[[[[[[[[[[[[[[[[\\[[[[[[[[[[\\[[[[[[\\[[\\[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[\\[[[[[[\\[[[[[[[[[[[[[[[[\\[[[[[[[[[[\\[[[[[[[[[[[[[[[[[[[[[[[[\\\\\\[[[[[[[[\\[[[[[[[[\\[[[[[[[[[[[[\\[[[[[[[[[[[[\\[[[[[[[[[[\\[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[\\[[[[[[[[[[\\[[[[[[\\[[[[[[[[[[[[[[[[[[[[[[[[\\[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[\\[[[[[[[[[[[[[[[[[[[[[[[[[[[[\\[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[\\[[[[[[[[\\[[[[[[[[\\[[[[[[\\[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[\\[[[[[[[[[[[[\\[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[\\[[[[[[[[\\[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[\\[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[\\[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[\\[[[[[[[[[[[[[[[[[[[[[[[[[[[[\\[[[[[[[[[[[[[[[[[YXvӭtXY[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[\\[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[ZZe|Ł\Z[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[ZZiĞpYY[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[\\[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[YYzزwXY[[[[[[[[ZYiգ}eZZ[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[\\[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[]e۶kYZ[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[ZZbt۷kYZ[[[[[[[[[[[[[[[[[[[[[[[[[[[[[ZZ[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[ZZbtњtbZ[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[ZZ[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[ZZ[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[Z\rЯiXY[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[ZZ[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[ZZ[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[ZZ[[[[[[[[[[\wЪuYZ[[[[[[[[[[[[[[[[[[[ZZ[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[ZZ[[[[[[[[[[[[[[[[[[[[ZZ[[[[[YX}۶kYZ[Z[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[ZZ[[[[[[ZZ[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[ZZ[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[ZZZZ[[ZZ[[[[[[[[[[[[ZZ[[[[[[[[ZZ[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[ZZ[[[[[[[[[[[YW~۶kYZ[[[[[[[[[[[[[[[[[[[ZZ[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[ZZ[[[[[[[[ZZ[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[ZZZZ\\\\\\[[\\\\[[\\[[\\[[\\[[[[[[\\\\[[[[[[\\[[\\\\[[\\[[[[\\\\\\[[\\\\\\[[[[\\[[\\[[\\\\[[[[[[[[\\[[[[[[[[[[[[\\[[[[[[\\[[[[[[\\[[\\[[[[[[\\[[[[[[[[[[[[\\\\[[\\\\\\[[\\\\[[[[\\\\[[[[\\[[[[\\\\[[[[[[[[[[[ZYkњtbZZ[[[\\\\[[\\[[\\[[\\[[\\\\[[\\[[[[[[\\\\\\[[[[[[[[\\[[[[[[\\[[[[\\[[\\[[\\[[[[[[\\[[[[[[[[\\[[[[[[\\\\[[[[[[[[[[\\[[[[[[\\[[[[[[[[[[[[[[[[\\[[[[[[[[\\\\[[[[\\\\\\[[\\\\\\[[[[[[\\[[[[[[[[[[[[[[[[\\\\\\\\[[\\[[[[[[[[[[[[[[\\[[\\[[[[\\\\\\[[[[\\[[[[[[[[[[\\\\[[[[[[\\[[[[\\[[[[\\\\[[\\[[[[\\\\[[\\[[[[[[\\[[[[[[[[[[[[[[[[[[\\\\[[[[\\\\[[[[\\\\[[[[\\[[[[[[\\[[\\[[[[\\[[[[[[[[[[\\[[\\\\[[[[\\\\[[\\[[[[[[[[[[\\[[\\\\[[\\[[\\[[\\[[[[\\[[[[[[[[[[[[[[\\[[[[\\\\[[[[\\[[\\[[[[[[[[[[[[[[[[\\[[[[[[[[[[[[[[[[[[[[\\[[[[[[\\[[[[\\[[[[[[\\\\\\\\[[[[[[[[\\[[[[\\[[[[[[[[[[[[\\\\[[[[[[\\\\[[[[\\[[[[[[[[[[\\[[[[[[[[[[[[[[\\\\[[[[[[[[\\[[[[[[[[\\[[[[\\\\[[[[[[[[[[[[[[[[[[\\[[[[[[[[[[\\[[[[[[[[\\[[[[[[\\\\[[[[\\[[[[[[\\[[\\\\[[\\\\[[[[\\[[[[\\[[[[[[[[[[[[[[\\[[\\\\[[\\[[\\[[\\[[[[[[[[[[[[\\[[[[[[[[[[\\\\\\[[[[\\\\[[\\[[[[\\[[\\[[\\[[[[[[[[\\\\[[[[[[[[[[[[\\[[\\\\[[[[[[[[[[[[\\\\[[[[\\\\[[\\[[\\\\[[\\[[\\\\[[[[\\[[[[[[[[[[\\[[[[\\[[[[[[[[\\[[[[[[[[[[[[[[[[[[\\[[[[\\\\[[\\[[[[[[[[[[[[\\[[[[[[[[[[[[[[\\[[\\\\[[[[[[[[[[[[[[[[[[[[\\[[[[[[[[[[[[[[\\[[[[[[[[[[[[[[[[[[\\[[[[[[[[[[\\[[[[[[[[[[[[[[\\[[[[\\\\[[[[[[[[[[[[[[[[[[[[[[[[[[\\[[\\[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[\\[YW{۶kYY[[[[[[[[[\\[[\\[[[[[[[[[[[[\\[[[[[[[[[[\\[[[[[[[[[[[[\\[[[[[[\\[[[[[[[[[[[[[[[[[[[[\\[[\\\\\\[[\\\\[[\\[[[[[[\\[[[[[[[[[[[[[[[[[[[[\\\\[[[[\\\\[[[[\\[[\\[[[[[[[[\\[[[[\\[[[[\\\\[[[]c̍g^Z[[\\[[\\[[[[[[[[[[\\\\[[[[[[\\[[[[[[[[[[[[[[\\[[[[[[[[[[\\\\[[[[[[[[[[[ZZe{ӬuXY[[[[[[[[[[[[[[[[[[[[[[[[[[[[[\\[[[[\\[[[[[[[[[[[[[[[[[[[[[[\\[[[[[[[[[[[[[[[[[[\\\\[[[[[[\\[[[[[[[[[[[[[[[[[[[[\\\\[[[[[[[[\\[[[[[[[[[Z]ƠqYZ\[[[[\\[ZZe{ڴkZZ[[[[[[[\\\\\\[[[[\\[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[\\[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[\\\\\\[[[[[[[[\\[[[[[[[[\\[[[[[[[[[[[[[ct֨gYZ[[[[[[[[[[[[[[[\\[[\\[[[[\\[[[[[[[[[[[[[[[[[[[[[[[[\\[[[[[[[[\\[[[[[[[[[[[[[ZZbt۷kYZ[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[\\[[[[[[[[[[[[[[[[[[\\[[[[[[\\[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[\\[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[\\[[[[[[[[\\[[[[[[[[[[[[[[[[[[[[[[[ZZbtњtbZ[\[[\\[[[[[[[[\\\\[[[[[[[[[[[[[[[[[[[[[[[[\\[[\\[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[\\[[[[[[[[[[[[[[[[[[\\[[[[[[[[\\[[[[[[[[[[[[[[[[[[[[[[\\[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[\\[[[[[[[[[[[[[]aаi]YZ[[[[[[[\\[[[[[[[[\\[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[\\\\[[[[[[[[[[[[[[[[[[[[[[[[\\[[[[[[[[\\[[[[[[[[[[[[[[[[[[[[[[[[[[\\[[[[[[\\[[[[[[[[[[[[[[\\[[[[[[[[[[[[[ZZf~\Z[[[\\\\\\[[[[[[[[[[[[[[[[\\[[[[[[[[[[[[[[[[\\[[[[[[[[[[\\[[[[[[[[[[[[\\[[[[[[[[[[[[[[[YX~۶kZZ[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[\\[[[[[[[[[[\\[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[\\[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[\\[[[[[[[[[[[[[[[[[[[[[[\\[[[YX~۶kYZ[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[\\\\[[[[[[[[[[[[[[[[\\[[[[[[[[[[[[\\[[[[[[[[[[[[[[[[[[\\\\\\[[\\\\[[\\[[\\[[\\[[[[[[\\\\[[[[[[\\[[\\\\[[\\[[[[\\\\\\[[\\\\\\[[[[\\[[\\[[\\\\[[[[[[[[\\[[[[[[[[[[[[\\[[[[[[\\[[[[[[\\[[\\[[[[[[\\[[[[[[[[[[[[\\\\[[\\\\\\[[\\\\[[[[\\\\[[[[\\[[[[\\\\[[[[[[[[[[[ZYlњtbZZ[[[\\\\[[\\[[\\[[\\[[\\\\[[\\[[[[[[\\\\\\[[[[[[[[\\[[[[[[\\[[[[\\[[\\[[\\[[[[[[\\[[[[[[[[\\[[[[[[\\\\[[[[[[[[[[\\[[[[[[\\[[[[[[[[[[[[[[[[\\[[[[[[[[\\\\[[[[\\\\\\[[\\\\\\[[[[[[\\[[[[[[[[[[[[[[[[\\\\\\\\[[\\[[[[[[[[[[[[[[\\[[\\[[[[\\\\\\[[[[\\[[[[[[[[[[\\\\[[[[[[\\[[[[\\[[[[\\\\[[\\[[[[\\\\[[\\[[[[[[\\[[[[[[[[[[[[[[[[[[\\\\[[[[\\\\[[[[\\\\[[[[\\[[[[[[\\[[\\[[[[\\[[[[[[[[[[\\[[\\\\[[[[\\\\[[\\[[[[[[[[[[\\[[\\\\[[\\[[\\[[\\[[[[\\[[[[[[[[[[[[[[\\[[[[\\\\[[[[\\[[\\[[[[[[[[[[[[[[[[\\[[[[[[[[[[[[[[[[[[[[\\[[[[[[\\[[[[\\[[[[[[\\\\\\\\[[[[[[[[\\[[[[\\[[[[[[[[[[[[\\\\[[[[[[\\\\[[[[\\[[[[[[[[[[\\[[[[[[[[[[[[[[\\\\[[[[[[[[\\[[[[[[[[\\[[[[\\\\[[[[[[[[[[[[[[[[[[\\[[[[[[[[[[\\[[[[[[[[\\[[[[[[\\\\[[[[\\[[[[[[\\[[\\\\[[\\\\[[[[\\[[[[\\[[[[[[[[[[[[[[\\[[\\\\[[\\[[\\[[\\[[[[[[[[[[[[\\[[[[[[[[[[\\\\\\[[[[\\\\[[\\[[[[\\[[\\[[\\[[[[[[[[\\\\[[[[[[[[[[[[\\[[\\\\[[[[[[[[[[[[\\\\[[[[\\\\[[\\[[\\\\[[\\[[\\\\[[[[\\[[[[[[[[[[\\[[[[\\[[[[[[[[\\[[[[[[[[[[[[[[[[[[\\[[[[\\\\[[\\[[[[[[[[[[[[\\[[[[[[[[[[[[[[\\[[\\\\[[[[[[[[[[[[[[[[[[[[\\[[[[[[[[[[[[[[\\[[[[[[[[[[[[[[[[[[\\[[[[[[[[[[\\[[[[[[[[[[[[[[\\[[[[\\\\[[[[[[[[[[[[[[[[[[[[[[[[[[\\[[\\[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[\[[[^ҞxdZZ[[[[[[[[[\\[[\\[[[[[[[[[[[[\\[[[[[[[[[[\\[[[[[[[[[[[[\\[[[[[[\\[[[[[[[[[[[[[[[[[[[[\\[[\\\\\\[[\\\\[[\\[[[[[[\\[[[[[[[[[[[[[[[[[[[[\\\\[[[[\\\\[[[[\\[[\\[[[[[[[[\\[[[[\\[[[[\\\\[[[YXtӞwcZZ[\\[[\\[[[[[[[[[[\\\\[[[[[[\\[[[[[[[[[[[[[[\\[[[[[[[[[[\\\\[[[[[[[[[[[[Z`mߺzZZ[[[[[[[[[[[[[[[[[[[[[[[[[\\[[\\[[[[\\[[[[[[[[[[[[[[[[[[[[[[\\[[[[[[[[[[[[[[[[[[\\\\[[[[[[\\[[[[[[[[[[[[[[[[[[[[\\\\[[[[[[[[\\[[[[[[[[[]e۶lZZ\[[[[\\[ZZ`mşpYY[[[[[[[\\\\\\[[[[\\[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[\\[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[\\\\\\[[[[[[[[\\[[[[[[[[\\[[[[[[[[[[[ZZgјraZZ[[[[[[[[[[[[[[[\\[[\\[[[[\\[[[[[[[[[[[[[[[[[[[[[[[[\\[[[[[[[[\\[[[[[[[[[[[[[[Zbt۷lYZ[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[\\[[[[[[[[[[[[[[[[[[\\[[[[[[\\[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[\\[[[[[[[[[[[[\\[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[\\[[[[[[[[\\[[[[[[[[[[[[[[[[[[[[[[[[ZbtњtbZ[\[[\\[[[[[[[[\\\\[[[[[[[[[[[[[[[[[[[[[[[[\\[[\\[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[\\[[[[[[[[[[[[[[\\[[[[[[[[[[[[[[[[[[\\[[[[[[[[\\[[[[[[[[[[[[[[[[[[[[[[\\[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[\\[[[[[[[[[[[ZZasֳjXY[[[[[[[[[\\[[[[[[[[\\[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[\\\\[[[[[[[[[[[[[[[[[[[[[[[[\\[[[[[[[[\\[[[[[[[[[[[[[[[[[[[[[[[[[[\\[[[[[[\\[[[[[[[[[[[[[[\\[[[[[[[[[[[[[[Z^fΐj_Z[[\\\\\\[[[[[[[[[[[[[[[[\\[[[[[[[[[[[[[[[[\\[[[[[[[[[[\\[[[[[[[[[[[[\\[[[[[[[[[[[[[[[YX~۷kZZ[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[\\[[[[[[[[[[\\[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[\\[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[\\[[[[[[[[[[[[[[[[[[[[[[\\[[[YX~۷kYZ[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[\\\\[[[[[[[[[[[[[[[[\\[[[[[[[[[[[[\\[[[[[[[[[[[[[[[[[[[[[[\\[[\\\\\\[[[[[[\\\\\\[[\\\\\\\\\\\\\\[[\\\\[[[[\\\\[[[[[[[[[[[[[[[[[[\\[[[[\\[[\\[[\\[[\\[[\\[[\\[[\\\\[[[[\\[[\\[[\\[[\\\\\\[[[[[[\\[[\\[[\\\\\\[[\\\\[[[[\\\\\\[[[[[[\\[[\\[[\\[[[[\\\\\\\\\\[[[[[ZYlњtb[[[\\[[\\[[[[\\[[\\[[[[\\\\\\\\[[\\\\\\\\\\\\[[\\\\\\[[[[[[\\\\[[[[[[\\\\\\[[[[\\\\\\\\[[[[\\\\\\[[\\\\\\\\[[[[\\[[\\\\\\\\[[[[[[[[[[[[[[\\\\\\[[[[\\[[\\\\[[[[\\\\\\\\[[\\[[\\[[[[\\\\[[[[\\\\\\\\[[\\\\\\\\[[[[[[[[[[\\\\\\[[[[[[\\[[\\\\[[[[\\[[[[\\\\[[[[[[\\\\[[[[[[\\[[\\\\[[[[[[\\\\\\\\\\[[\\\\[[[[\\\\[[[[[[\\\\[[[[[[[[\\[[[[\\[[\\\\[[[[\\\\\\\\[[[[[[[[\\\\[[[[\\\\[[[[[[\\[[\\\\[[[[[[[[\\\\[[\\\\\\\\\\\\[[[[[[\\\\[[\\\\\\[[\\[[[[[[\\[[[[[[\\\\\\[[[[\\[[[[\\\\\\\\\\\\[[[[\\[[\\\\[[\\[[[[\\\\[[\\\\\\\\\\\\\\\\\\[[[[\\[[\\\\[[[[[[\\[[\\\\[[[[[[[[[[[[\\[[\\[[\\\\[[\\\\\\\\\\[[\\\\\\\\[[[[[[\\\\[[[[[[[[\\[[[[[[\\[[\\\\[[[[[[[[\\[[\\\\[[[[\\\\\\\\[[\\\\[[\\[[\\\\[[[[[[[[\\\\[[\\\\[[\\[[[[[[\\[[\\[[\\\\\\\\[[\\\\\\[[[[\\[[\\[[\\[[\\[[[[\\[[\\\\[[\\[[[[[[\\[[[[[[[[[[\\\\\\[[\\\\[[\\\\[[[[[[[[[[\\\\[[[[\\\\[[\\[[[[[[[[[[[[\\\\[[[[\\\\[[\\[[\\[[\\\\\\\\\\[[[[[[[[[[\\[[\\[[[[[[\\[[[[[[[[\\\\[[\\\\\\\\[[[[[[\\\\[[\\[[[[[[\\[[[[\\\\\\[[[[\\\\\\\\\\\\[[\\\\[[[[[[\\[[[[[[\\[[[[\\[[[[[[[[[[\\\\[[\\\\[[\\[[[[\\\\[[[[[[[[[[[[\\[[\\[[\\\\\\[[[[[[\\\\[[\\[[[[[[[[\\[[[[\\[[[[\\\\\\[[[[[[\\[[[[[[\\\\[[\\\\[[\\[[\\\\[[\\[[\\[[[[[[[[[[[[\\\\\\[[\\[[\\[[[[[[[[\\[[[[\\\\\\[[Z`mɋf^[[[\\\\\\[[[[\\\\\\\\\\[[[[\\\\[[[[[[[[\\[[[[[[\\[[[[[[[[[[[[\\\\[[[[[[[[[[[[[[\\[[[[[[\\\\[[[[[[\\\\[[[[[[\\[[[[[[[[[[[[\\[[\\\\\\[[[[[[[[\\\\\\\\\\[[[[[[\\[[\\\\[[[[[[[[[[\\[[[[[[\ZYkٳkZZ[\\\\\\[[[[\\\\[[\\[[\\[[\\[[[[[[[[[[\\\\\\\\[[\\\\[[[[\\[[\\\\[[\\\\\\\\^Ł][[[[[[\\\\[[[[\\\\[[[[[[[[[[[[[[\\[[\\[[[[[[[[\\[[[[[[\\\\[[[[[[\\[[[[\\\\\\[[[[[[\\\\[[[[[[[[\\[[[[[[\\[[[[[[[[[[\\[[[[[[[[[[[[[[[[[ZZbt֨gZZ[[[\\\\[[[[^ӬuXY[\\\\[[[[\\\\[[[[[[[[[[[[[[[[[[\\[[[[[[[[[[\\[[[[[[[[\\[[[[[[\\\\[[\\\\[[[[[[[[\\[[[[[[\\[[[[\\[[[[[[\\\\\\\\[[[[[[[[\\[[[[\\[[[[[ZYlˆ`\[[[\\[[[[[[\\\\[[[[\\\\[[[[[[[[[[[[[[[[[[\\[[[[[[[[[[\\[[[[[[[[\\[[[[[[\\\\[[\[[bt۷lYZ[\\[[[[[[\\[[[[\\[[[[[[[[[[\\\\\\[[[[\\\\\\\\[[[[\\[[\\\\\\[[[[[[[[\\\\[[[[[[[[[[[[\\[[\\\\\\[[[[[[[[\\\\\\[[[[\\\\[[\\[[\\\\[[\\[[\\\\[[\\\\\\[[[[[[[[\\\\\\\\\\[[[[[[\\[[[[\\\\[[[[[[[[\\\\[[[[\\\\[[\[ZbtњtbZ[[[[[[[[\\[[[[\\[[[[[[[[[[[[\\[[[[[[[[[[\\[[[[[[[[[[[[[[\\[[[[\\\\\\[[[[[[[[[[[[[[[[[[[[[[[[\\[[\\[[[[[[[[[[[[[[[[[[[[[[[[[[[[\\\\[[[[[[[[\\\\[[[[\\\\[[[[[[[[[[[[[[[[\\\\[[[[\\[[[[\\[[[[\\[[[[\\[[[[[[[[\\\ZYkn_ZZ[[[[[\\[[[[\\[[[[[[\\\\[[[[\\\\[[[[\\[[\\\\\\[[[[[[[[[[[[[[\\\\[[\\[[[[[[[[[[[[[[\\[[[[[[\\[[\\\\\\[[[[\\[[\\[[[[[[[[[[\\[[[[\\\\\\\\[[[[[[\\[[[[[[\\\\\\[[\\[[[[\\[[\\\\[[[[\\\\\\\\[[\\[[[[[[]uשgYZ\\\[[\\[[[[\\[[[[[[[[[[[[[[\\[[[[[[[[[[\\[[[[[[\\[[[[\\[[[[\\\\[[[[[[\\[[[[[[[[[[\\[YX~۷kYZ[\\[[\\[[[[[[[[[[[[[[\\\\\\\\[[[[\\[[\\[[\\[[\\[[[[[[\\\\[[[[[[\\[[\\\\[[\\[[[[[[\\[[[[\\\\\\[[[[\\[[[[[[\\\\[[[[[[[[\\[[[[[[[[[[[[\\[[[[[[\\[[[[[[\\[[\\[[[[[[\\[[[[[[[[[[[[\\[[[[[[\\\\[[\\\\[[[[\\\\[[[[[[[[[[[[[[[[[YX~۷kYZ[[[[[[[[[\\[[[[[[[[[[[[[[[[\\\\[[[[[[[[[[[[[[[[[[[[[[[[\\[[[[\\[[[[[[[[\\\\\\[[[[[[[[[[[[[[[[[[[[[[\\\\\\[[[[[[[[[[[[[[[[[[\\[[\\[[[[\\[[\\\\\\[[[[[[\\\\\\[[\\\\\\\\\\\\\\[[\\\\[[[[\\\\[[[[[[[[[[[[[[[[[[\\[[[[\\[[\\[[\\[[\\[[\\[[\\[[\\\\[[[[\\[[\\[[\\[[\\\\\\[[[[[[\\[[\\[[\\\\\\[[\\\\[[[[\\\\\\[[[[[[\\[[\\[[\\[[[[\\\\\\\\\\[[[[[[Zlћtc[[[\\[[\\[[[[\\[[\\[[[[\\\\\\\\[[\\\\\\\\\\\\[[\\\\\\[[[[[[\\\\[[[[[[\\\\\\[[[[\\\\\\\\[[[[\\\\\\[[\\\\\\\\[[[[\\[[\\\\\\\\[[[[[[[[[[[[[[\\\\\\[[[[\\[[\\\\[[[[\\\\\\\\[[\\[[\\[[[[\\\\[[[[\\\\\\\\[[\\\\\\\\[[[[[[[[[[\\\\\\[[[[[[\\[[\\\\[[[[\\[[[[\\\\[[[[[[\\\\[[[[[[\\[[\\\\[[[[[[\\\\\\\\\\[[\\\\[[[[\\\\[[[[[[\\\\[[[[[[[[\\[[[[\\[[\\\\[[[[\\\\\\\\[[[[[[[[\\\\[[[[\\\\[[[[[[\\[[\\\\[[[[[[[[\\\\[[\\\\\\\\\\\\[[[[[[\\\\[[\\\\\\[[\\[[[[[[\\[[[[[[\\\\\\[[[[\\[[[[\\\\\\\\\\\\[[[[\\[[\\\\[[\\[[[[\\\\[[\\\\\\\\\\\\\\\\\\[[[[\\[[\\\\[[[[[[\\[[\\\\[[[[[[[[[[[[\\[[\\[[\\\\[[\\\\\\\\\\[[\\\\\\\\[[[[[[\\\\[[[[[[[[\\[[[[[[\\[[\\\\[[[[[[[[\\[[\\\\[[[[\\\\\\\\[[\\\\[[\\[[\\\\[[[[[[[[\\\\[[\\\\[[\\[[[[[[\\[[\\[[\\\\\\\\[[\\\\\\[[[[\\[[\\[[\\[[\\[[[[\\[[\\\\[[\\[[[[[[\\[[[[[[[[[[\\\\\\[[\\\\[[\\\\[[[[[[[[[[\\\\[[[[\\\\[[\\[[[[[[[[[[[[\\\\[[[[\\\\[[\\[[\\[[\\\\\\\\\\[[[[[[[[[[\\[[\\[[[[[[\\[[[[[[[[\\\\[[\\\\\\\\[[[[[[\\\\[[\\[[[[[[\\[[[[\\\\\\[[[[\\\\\\\\\\\\[[\\\\[[[[[[\\[[[[[[\\[[[[\\[[[[[[[[[[\\\\[[\\\\[[\\[[[[\\\\[[[[[[[[[[[[\\[[\\[[\\\\\\[[[[[[\\\\[[\\[[[[[[[[\\[[[[\\[[[[\\\\\\[[[[[[\\[[[[[[\\\\[[\\\\[[\\[[\\\\[[\\[[\\[[[[[[[[[[[[\\\\\\[[\\[[\\[[[[[[[[\\[[[[\\\\\\[ZZdz~][\[[\\\\\\[[[[\\\\\\\\\\[[[[\\\\[[[[[[[[\\[[[[[[\\[[[[[[[[[[[[\\\\[[[[[[[[[[[[[[\\[[[[[[\\\\[[[[[[\\\\[[[[[[\\[[[[[[[[[[[[\\[[\\\\\\[[[[[[[[\\\\\\\\\\[[[[[[\\[[\\\\[[[[[[[[[[\\[[[[[[\[[dwşqYZ[\\\\\\[[[[\\\\[[\\[[\\[[\\[[[[[[[[[[\\\\\\\\[[\\\\[[[[\\[[\\\\[[\\\\\\\YX{͌f^[[[[[\\\\[[[[\\\\[[[[[[[[[[[[[[\\[[\\[[[[[[[[\\[[[[[[\\\\[[[[[[\\[[[[\\\\\\[[[[[[\\\\[[[[[[[[\\[[[[[[\\[[[[[[[[[[\\[[[[[[[[[[[[[[[[[ZZhњtbZ[[[[\\\\[[[YXyߺ|[Z[\\\\[[[[\\\\[[[[[[[[[[[[[[[[[[\\[[[[[[[[[[\\[[[[[[[[\\[[[[[[\\\\[[\\\\[[[[[[[[\\[[[[[[\\[[[[\\[[[[[[\\\\\\\\[[[[[[[[\\[[[[\\[[[[[YYp{WY[[[\\[[[[[[\\\\[[[[\\\\[[[[[[[[[[[[[[[[[[\\[[[[[[[[[[\\[[[[[[[[\\[[[[[[\\\\[[\[[ct۷lZZ[\\[[[[[[\\[[[[\\[[[[[[[[[[\\\\\\[[[[\\\\\\\\[[[[\\[[\\\\\\[[[[[[[[\\\\[[[[[[[[[[[[\\[[\\\\\\[[[[[[[[\\\\\\[[[[\\\\[[\\[[\\\\[[\\[[\\\\[[\\\\\\[[[[[[[[\\\\\\\\\\[[[[[[\\[[[[\\\\[[[[[[[[\\\\[[[[\\\\[[\[ZbtњtbZZ[[[[[[[\\[[[[\\[[[[[[[[[[[[\\[[[[[[[[[[\\[[[[[[[[[[[[[[\\[[[[\\\\\\[[[[[[[[[[[[[[[[[[[[[[[[\\[[\\[[[[[[[[[[[[[[[[[[[[[[[[[[[[\\\\[[[[[[[[\\\\[[[[\\\\[[[[[[[[[[[[[[[[\\\\[[[[\\[[[[\\[[[[\\[[[[\\[[[[[[[[\\\\]xŠt][[[[[[[[\\[[[[\\[[[[[[\\\\[[[[\\\\[[[[\\[[\\\\\\[[[[[[[[[[[[[[\\\\[[\\[[[[[[[[[[[[[[\\[[[[[[\\[[\\\\\\[[[[\\[[\\[[[[[[[[[[\\[[[[\\\\\\\\[[[[[[\\[[[[[[\\\\\\[[\\[[[[\\[[\\\\[[[[\\\\\\\\[[\\[[[[[ZYfÞqZZ\\\[[\\[[[[\\[[[[[[[[[[[[[[\\[[[[[[[[[[\\[[[[[[\\[[[[\\[[[[\\\\[[[[[[\\[[[[[[[[[[\\[YX~۷lYZ[\\[[\\[[[[[[\\[[[[[[\\\\\\\\[[[[\\[[\\[[\\[[\\[[[[[[\\\\[[[[[[\\[[\\\\[[\\[[[[[[\\[[[[\\\\\\[[[[\\[[[[[[\\\\[[[[[[[[\\[[[[[[[[[[[[\\[[[[[[\\[[[[[[\\[[\\[[[[[[\\[[[[[[[[[[[[\\[[[[[[\\\\[[\\\\[[[[\\\\[[[[[[[[[[[[[[[[[YX~۷lYZ[[[[[[[[[\\[[[[[[[[[[[[[[[[\\\\[[[[[[[[[[[[[[[[[[[[[[[[\\[[[[\\[[[[[[[[\\\\\\[[[[[[[[[[[[[[[[[[[[[[\\\\\\[[[[[[[[[[[[[[[[[[\\[[\\\\[[\\\\[[\\[[\\\\\\[[[[[[[[[[[[[[\\\\\\[[\\\\\\\\\\[[[[[[[[[[[[\\\\\\\\\\\\\\[[\\\\\\\\[[\\\\[[\\\\\\\\[[\\\\\\[[\\\\\\[[\\\\\\\\\\\\\\\\[[\\\\\\\\[[\\\\\\\\[[\\\\[[\\\\\\\\\\\\\\[[\\[[\\\\\\\\\\[[[[[ZZlқuc[[\\\\\[[\\\\\\[[\\[[\\\\\\\\\\[[[[[[[[\\\\\\\\\\\\\\\\\\[[\\\\\\[[\\\\\\\\\\[[[[\\\\\\[[[[[[\\\\[[\\\\\\[[\\\\\\[[\\\\\\[[[[[[\\\\\\[[[[\\\\\\\\[[\\[[\\[[\\\\\\[[\\[[\\\\\\\\\\\\\\\\\\\\\\\\[[\\\\\\\\\\\\[[\\\\[[[[\\\\\\\\\\\\[[\\[[[[\\\\[[[[\\\\[[\\\\\\\\\\\\\\\\\\[[[[\\\\\\\\\\\\[[\\\\\\\\\\[[\\\\\\\\\\\\[[\\\\\\\\\\\\[[\\\\\\\\\\[[[[\\[[\\\\\\[[[[\\\\\\\\[[\\\\\\\\\\\\[[\\\\\\\\\\\\\\\\[[\\\\\\\\\\\\[[\\\\\\\\[[\\[[\\\\[[\\\\\\\\\\[[\\[[\\\\[[\\\\\\\\[[[[\\\\[[\\\\[[[[\\\\[[[[[[\\\\\\\\[[[[[[\\\\\\\\\\\\[[[[[[[[\\\\[[\\\\\\\\\\\\\\\\\\\\\\[[\\\\\\\\\\\\[[\\\\\\\\\\\\\\[[\\\\\\[[\\\\\\[[\\[[\\\\[[\\\\\\\\\\\\\\\\\\\\\\[[\\[[\\\\[[\\\\\\\\[[[[\\\\\\[[\\\\\\\\\\\\\\\\[[\\\\\\\\[[[[\\\\\\[[[[\\[[[[[[\\\\\\\\\\\\\\[[[[\\\\[[\\[[\\[[\\\\\\\\\\\\[[\\\\[[\\\\[[[[[[\\\\\\[[\\\\\\\\\\[[\\[[\\\\[[\\\\[[[[[[\\\\[[[[\\[[[[\\\\\\\\\\\\[[[[[[\\\\\\[[\\\\\\\\[[\\[[\\[[[[[[[[\\[[\\[[\\[[\\\\[[[[\\\\\\[[\\[[\\[[\\\\[[\\[[\\\\[[\\\\\\\\\\\\[[\\\\[[\\[[[[\\[[[[\\[[\\[[\\[[\\\\\\\\\\\\[[\\\\[[\\\\\\\\[[\\\\\\[[\\\\[[\\[[[[\\\\\\\\\\\\\\[[[[[[\\\\\\[[[[\\[[[[[[\\\\[[\\\\[[[[[[\\\\[[\\[[\\[[[[\\[[\\[[[[\\[[\\\\\\\\[[\\\\\\\\[[[[[[[[[[\\\\\\\\\\[[\\\\\\\\[[\\\\\\\\\\[ZZhΨtZZ\\\\\\\\\[[[[\\[[[[\\\\\\\\\\\\\\\\\\\\[[\\\\\\[[\\[[[[\\\\[[[[\\[[\\\\\\\\\\\\\\\\\\\\[[\\[[\\\\\\\\[[[[[[\\\\[[\\[[[[[[\\\\[[\\\\\\[[[[[[\\\\\\\\[[\\\\\\[[\\[[\\\\[[\\[[\\\\\\\\\\\\\]bӭuYZ\[[\\[[\\[[\\\\\\\\\\\\\\\\\\\\[[\\\\\\[[\\[[[[\\[[\\\\[[[[\\\\\\[[\\\\\ZXuњtc[[[\\\\\\\\[[\\[[\\[[[[\\[[[[\\\\[[[[\\[[[[[[\\\\\\[[[[[[\\\\\\\\[[\\\\[[\\[[\\\\\\\\\\\\\\\\[[\\[[[[\\\\[[\\\\\\\\[[\\[[\\\\\\[[\\\ZYňe][[\[[\\\\[[\ZXuLJb\[\\\\\\\\\\[[[[\\\\\\\\[[\\\\[[\\[[\\\\[[[[[[[[\\\\[[\\\\[[\\[[[[[[\\[[[[\\\\\\\\\\\\\\\\\\[[[[\\[[\\\\[[[[[[\\[[\\\\[[[[\\[[[[[[\ZXuڴwXY[\\\\[[[[[[\\\\\\\\\\[[[[\\\\\\\\[[\\\\[[\\[[\\\\[[[[[[[[\\\\[[\\\\[[\\[[[[[[\[Zcu۷lZZ[[[[[[[[[\\\\\\\\\\\\[[\\\\\\[[[[[[[[\\\\\\[[\\\\[[\\[[[[[[[[[[[[\\\\\\[[\\\\[[\\[[\\[[\\\\\\\\\\[[[[[[[[\\\\[[\\[[[[\\\\[[[[[[[[\\\\[[\\\\\\\\[[[[[[\\\\[[\\[[\\[[\\[[[[\\\\\\[[[[\\\\\\\\\\\\[[\\\\[[[[Zbuњtb[Z[\\[[\\\\\\[[\\[[\\\\\\\\[[[[[[[[\\[[[[\\[[[[\\\\\\[[[[[[\\[[[[[[\\\\[[\\\\[[\\[[\\\\[[\\[[\\[[[[[[[[[[[[\\\\\\[[\\[[\\[[[[\\\\\\[[[[\\\\\\\\[[\\\\\\[[[[\\[[\\\\[[[[\\\\[[\\\\[[[[\\\\[[[[[[[[[[[[[[\\\\[[[^gΘtc[[[[[\\\\\\\\\\[[[[\\\\[[[[\\[[\\\\\\\\[[\\\\[[[[\\\\\\[[[[\\\\[[[[\\\\[[[[\\[[[[\\[[\\[[\\[[[[[[[[[[[[[[[[\\[[[[[[[[\\\\[[[[\\\\\\[[\\\\\\\\[[[[\\[[\\[[[[[[\\[[[[\\\\\\\\[[\\[[\\[[[[[[[[[[\\[[\[[]eܸ|][[\\[[\\\\[[[[[[[[\\[[\\\\[[[[\\\\\\[[\\\\[[[[\\[[[[[[\\[[\\[[[[\\[[[[\\[[[[\\[[\\\\[YX~۷lZZ\[[\\\\[[[[\\[[\\[[\\[[[[[[\\[[\\\\\\[[[[[[\\\\\\[[\\\\\\\\\\\\[[[[\\\\[[[[\\\\[[[[[[[[[[[[[[[[[[\\[[[[\\[[\\[[[[[[\\[[\\[[\\[[\\\\[[[[\\[[\\[[\\[[\\\\\\[[[[[[\\[[[[[[\\\\[[[[\\[[[[[[\\\\\\[[[[[[[[[[\\[[\\[[[[\\\\\\\YX~۷lZZ[[[\\[[[[\\[[[[[[[[\\[[\\[[\\\\[[[[[[[[\\[[[[[[\\\\[[[[\\[[[[\\[[[[\\[[[[[[[[[[\\[[\\[[[[\\\\\\[[[[\\[[\\[[\\[[[[[[\\\\[[\\\\[[\\\\[[\\\\[[\\[[\\\\\\[[[[[[[[[[[[[[\\\\\\[[\\\\\\\\\\[[[[[[[[[[[[\\\\\\\\\\\\\\[[\\\\\\\\[[\\\\[[\\\\\\\\[[\\\\\\[[\\\\\\[[\\\\\\\\\\\\\\\\[[\\\\\\\\[[\\\\\\\\[[\\\\[[\\\\\\\\\\\\\\[[\\[[\\\\\\\\\\[[[[[ZZlқuc[[\\\\\[[\\\\\\[[\\[[\\\\\\\\\\[[[[[[[[\\\\\\\\\\\\\\\\\\[[\\\\\\[[\\\\\\\\\\[[[[\\\\\\[[[[[[\\\\[[\\\\\\[[\\\\\\[[\\\\\\[[[[[[\\\\\\[[[[\\\\\\\\[[\\[[\\[[\\\\\\[[\\[[\\\\\\\\\\\\\\\\\\\\\\\\[[\\\\\\\\\\\\[[\\\\[[[[\\\\\\\\\\\\[[\\[[[[\\\\[[[[\\\\[[\\\\\\\\\\\\\\\\\\[[[[\\\\\\\\\\\\[[\\\\\\\\\\[[\\\\\\\\\\\\[[\\\\\\\\\\\\[[\\\\\\\\\\[[[[\\[[\\\\\\[[[[\\\\\\\\[[\\\\\\\\\\\\[[\\\\\\\\\\\\\\\\[[\\\\\\\\\\\\[[\\\\\\\\[[\\[[\\\\[[\\\\\\\\\\[[\\[[\\\\[[\\\\\\\\[[[[\\\\[[\\\\[[[[\\\\[[[[[[\\\\\\\\[[[[[[\\\\\\\\\\\\[[[[[[[[\\\\[[\\\\\\\\\\\\\\\\\\\\\\[[\\\\\\\\\\\\[[\\\\\\\\\\\\\\[[\\\\\\[[\\\\\\[[\\[[\\\\[[\\\\\\\\\\\\\\\\\\\\\\[[\\[[\\\\[[\\\\\\\\[[[[\\\\\\[[\\\\\\\\\\\\\\\\[[\\\\\\\\[[[[\\\\\\[[[[\\[[[[[[\\\\\\\\\\\\\\[[[[\\\\[[\\[[\\[[\\\\\\\\\\\\[[\\\\[[\\\\[[[[[[\\\\\\[[\\\\\\\\\\[[\\[[\\\\[[\\\\[[[[[[\\\\[[[[\\[[[[\\\\\\\\\\\\[[[[[[\\\\\\[[\\\\\\\\[[\\[[\\[[[[[[[[\\[[\\[[\\[[\\\\[[[[\\\\\\[[\\[[\\[[\\\\[[\\[[\\\\[[\\\\\\\\\\\\[[\\\\[[\\[[[[\\[[[[\\[[\\[[\\[[\\\\\\\\\\\\[[\\\\[[\\\\\\\\[[\\\\\\[[\\\\[[\\[[[[\\\\\\\\\\\\\\[[[[[[\\\\\\[[[[\\[[[[[[\\\\[[\\\\[[[[[[\\\\[[\\[[\\[[[[\\[[\\[[[[\\[[\\\\\\\\[[\\\\\\\\[[[[[[[[[[\\\\\\\\\\[[\\\\\\\\[[\\\\\\\\\\[ZZkܼmYZ\\\\\\\\\[[[[\\[[[[\\\\\\\\\\\\\\\\\\\\[[\\\\\\[[\\[[[[\\\\[[[[\\[[\\\\\\\\\\\\\\\\\\\\[[\\[[\\\\\\\\[[[[[[\\\\[[\\[[[[[[\\\\[[\\\\\\[[[[[[\\\\\\\\[[\\\\\\[[\\[[\\\\[[\\[[\\\\\\\\\\\\\ZXtߺzZZ\[[\\[[\\[[\\\\\\\\\\\\\\\\\\\\[[\\\\\\[[\\[[[[\\[[\\\\[[[[\\\\\\[[\\\\\ZYpէgZZ[\\\\\\\\[[\\[[\\[[[[\\[[[[\\\\[[[[\\[[[[[[\\\\\\[[[[[[\\\\\\\\[[\\\\[[\\[[\\\\\\\\\\\\\\\\[[\\[[[[\\\\[[\\\\\\\\[[\\[[\\\\\\[[\\\ZYsŁ][[\\[[\\\\[[\ZYpϓm`[[\\\\\\\\\[[[[\\\\\\\\[[\\\\[[\\[[\\\\[[[[[[[[\\\\[[\\\\[[\\[[[[[[\\[[[[\\\\\\\\\\\\\\\\\\[[[[\\[[\\\\[[[[[[\\[[\\\\[[[[\\[[[[[[\ZYzʤrYZ[\\\\[[[[[[\\\\\\\\\\[[[[\\\\\\\\[[\\\\[[\\[[\\\\[[[[[[[[\\\\[[\\\\[[\\[[[[[[\[Zcu۷lZZ[[[[[[[[[\\\\\\\\\\\\[[\\\\\\[[[[[[[[\\\\\\[[\\\\[[\\[[[[[[[[[[[[\\\\\\[[\\\\[[\\[[\\[[\\\\\\\\\\[[[[[[[[\\\\[[\\[[[[\\\\[[[[[[[[\\\\[[\\\\\\\\[[[[[[\\\\[[\\[[\\[[\\[[[[\\\\\\[[[[\\\\\\\\\\\\[[\\\\[[[ZZbtњtc[[[\\[[\\\\\\[[\\[[\\\\\\\\[[[[[[[[\\[[[[\\[[[[\\\\\\[[[[[[\\[[[[[[\\\\[[\\\\[[\\[[\\\\[[\\[[\\[[[[[[[[[[[[\\\\\\[[\\[[\\[[[[\\\\\\[[[[\\\\\\\\[[\\\\\\[[[[\\[[\\\\[[[[\\\\[[\\\\[[[[\\\\[[[[[[[[[[[[[[\\\\[ZZe}Ӯy\[[[[[[\\\\\\\\\\[[[[\\\\[[[[\\[[\\\\\\\\[[\\\\[[[[\\\\\\[[[[\\\\[[[[\\\\[[[[\\[[[[\\[[\\[[\\[[[[[[[[[[[[[[[[\\[[[[[[[[\\\\[[[[\\\\\\[[\\\\\\\\[[[[\\[[\\[[[[[[\\[[[[\\\\\\\\[[\\[[\\[[[[[[[[[[\\[[\\[YXpɍi^[[\[[\\\\[[[[[[[[\\[[\\\\[[[[\\\\\\[[\\\\[[[[\\[[[[[[\\[[\\[[[[\\[[[[\\[[[[\\[[\\\\[YX~۷lZ[\[[\\\\[[[[\\[[\\[[\\[[[[[[\\[[\\\\\\[[[[[[\\\\\\[[\\\\\\\\\\\\[[[[\\\\[[[[\\\\[[[[[[[[[[[[[[[[[[\\[[[[\\[[\\[[[[[[\\[[\\[[\\[[\\\\[[[[\\[[\\[[\\[[\\\\\\[[[[[[\\[[[[[[\\\\[[[[\\[[[[[[\\\\\\[[[[[[[[[[\\[[\\[[[[\\\\\\\YX~۷lZZ[[[\\[[[[\\[[[[[[[[\\[[\\[[\\\\[[[[[[[[\\[[[[[[\\\\[[[[\\[[[[\\[[[[\\[[[[[[[[[[\\[[\\[[[[\\\\\\[[[[\\[[\\[[\\[[[[[[\\\\[[\\\\[[\\[[\\\\\\\\\\\\\\\\\\\\\\\\[[\\\\\\\\\\\\\\[[\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\[[\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\[[\\\\\\[[\\\\\\\\\\\\\\\\\\\\\\\\\\\[Zlқuc[[\\\\\\\\\\\\\[[\\\\\\\\\\[[\\\\\\[[\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\[[\\\\\\\\\\[[[[\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\[[\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\[[\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\[[\\\\\\\\[[\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\[[\\\\\\\\\\\\\\\\\\[[\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\[[\\\\\\[[\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\[[\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\[[[[\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\[[[[\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\[[\\\\\\\\\\\\\\\\\\\\\\\\[[\\\\\\[[\\\\\\\\[[\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\[[\\\\\\\\[[[[[[\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\[[\\\\\\\\\\\\\\\\\\\\\\\\[[\\\\\\\\\\\\[[[[\\[[\\\\[[\\\\\\\\\\\\[[\\\\\\\\\\[[\\\\[[\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\[[\\\\\\\\\\\\\\\\\\\\[[\\\\\\\\[[\\\\\\\\\\\\\\\\\\[[\\\\\\\\\\[[\\[[\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\[[\\\\\\\\\\\\\\[[\\[[\\\\[[\\\\\\\\\\\\[[[[\\\\\\\\\\\\\\\ZYnתgY[\\\\\\\\\\\[[\\[[\\\\\\\\\\\\\\[[[[\\\\\\[[\\\\\\\\\\\\\\\\\\[[\\\\\\[[\\[[[[\\\\\\[[\\\\[[\\\\\\[[[[[[[[\\\\\\\\\\\\[[\\[[\\[[\\\\\\\\\\[[[[[[\\\\\\[[\\[[\\\\\\[[\\[[[[\\\\[[\\\\\\\\[ZYkŁ][\\\\\\\\\\\[[[[\\\\\\\\[[\\\\\\\\[[[[\\\\[[\\\\\\\\\\\\\\\\\\\\\\\\\\\\[ZZlٱjZ[\\\\\[[\\\\\\\\\\[[[[[[\\\\\\\\\\\\[[\\\\\\\\\\\\[[[[\\\\\\\\\\\\\\\\[[\\\\\\\\\\\\\\\\\\[[\\\\\\\\\\\\[[[[\\\\[[[[\\\\\\\\\\[[[[[YXwߺzZZ\\\\\\\[[\\\[Zjԡ{e[[\[[\\[[\\\\[[\\\\\\\\[[[[\\\\\\[[\\\\\\\\\\\\\\\\[[\\\\\\\\[[[[\\\\\\[[[[[[\\\\\\\\\\\\[[[[[[[[\\\\[[\\\\\\\\\\\\\\\\\\\\\\[[\\\[]۸mZZ\\\\\\\\\\\\\[[\\[[\\\\[[\\\\\\\\[[[[\\\\\\[[\\\\\\\\\\\\\\\\[[\\\\\\\\[[[[\\\[[bt۷lZZ[\\\\[[[[[[\\\\\\\\\\\\\\\\\\[[\\[[\\\\[[\\\\\\\\[[\\\\[[[[\\[[\\\\\\\\\\\\\\[[[[[[\\\\\\[[\\\\\\\\[[\\[[\\[[[[[[\\\\[[\\[[\\[[\\\\\\[[\\\\\\[[\\[[\\[[\\\\[[\\[[\\\\[[\\\\\\\\\\\\[[\\\\[[\\[[[[\\[[[[\[Zbtқuc[[\\\\\\\\\[[[[[[\\\\\\[[[[\\[[[[[[\\\\[[\\\\[[[[[[\\\\[[\\\\\\[[[[\\[[\\[[[[\\[[\\\\\\\\[[\\\\\\\\[[\\\\[[[[\\\\\\\\\\[[\\\\\\\\[[\\\\\\\\\\[[\\\\[[\\\\[[\\[[\\\\[[[[[[\\[[\\\\\\[[\\\\\\\\\\\\\\\\\\\\\\\ZYo֨g[[\\\\\\\\\\\[[\\\\\\\\[[\\\\[[\\[[\\[[[[\\\\\\\\[[\\\\\\\\\\\\[[\\[[\\\\\\\\\\[[\\[[\\\\[[\\\\\\\\\\\\[[\\\\[[\\[[[[\\[[\\\\[[\\\\[[\\\\[[\\[[[[[[\\\\[[\\[[\\\\[[\\[[[[\\\\\\\\\\\\[[[[\\\\\\\\[[[[\ZYe~ԣ~fZZ[\\\\\\[[\\\\\\[[[[[[\\\\[[\\\\\\[[[[\\\\\\\\\\\\\\\\\\\\\\[[[[\\[[[[[[\\\\\\\\\\\YX~۷lZ[\\\[[\\[[\\\\\\[[\\[[[[\\[[\\\\[[[[[[\\\\\\[[[[[[[[[[[[[[[[\\\\[[\\\\\\[[\\[[[[[[[[[[[[\\\\\\\\\\\\\\[[\\\\\\\\[[\\[[[[\\\\[[\\[[[[\\\\[[\\[[\\[[\\\\[[\\\\\\\\\\[[\\\\[[\\[[\\\\\\\\[[\\\\[[\\\\[[\\\\\\\\[[\\[[\\\\\\\YX~۷lZZ[[[\\\\[[\\\\\\[[[[\\\\\\\\\\\\[[\\\\\\\\[[[[\\[[[[[[\\\\\\[[\\\\\\[[\\[[\\[[[[[[[[\\\\\\\\\\[[\\[[[[\\\\[[\\\\\\[[\\[[[[[[[[\\\\[\\\\\\\\\\\\\\\\\\\\\\\\\[[\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\[[\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\[[\\\\\\[[\\\\\\\\\\\\\\\\\\\\\\\\\\\[Zlқuc[[\\\\\\\\\\\\\[[\\\\\\\\\\[[\\\\\\[[\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\[[\\\\\\\\\\[[[[\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\[[\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\[[\\\\\\\\[[\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\[[\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\[[\\\\\\[[\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\[[\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\[[[[\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\[[[[\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\[[\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\[[\\\\\\\\[[\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\[[\\\\\\\\[[[[[[\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\[[\\\\\\\\\\\\\\\\\\\\\\\\[[\\\\\\\\\\\\[[[[\\[[\\\\[[\\\\\\\\\\\\[[\\\\\\\\\\[[\\\\[[\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\[[\\\\\\\\\\\\\\\\\\\\[[\\\\\\\\[[\\\\\\\\\\\\\\\\\\[[\\\\\\\\\\[[\\[[\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\[[\\\\\\\\\\\\\\[[\\[[\\\\[[\\\\\\\\\\\\[[[[\\\\\\\\\\\\\\\ZYrњtbZ[\\\\\\\\\\\\\\\[[\\\\\\\\\\\\\\[[[[\\\\\\[[\\\\\\\\\\\\\\\\\\[[\\\\\\[[\\[[[[\\\\\\[[\\\\[[\\\\\\[[[[[[[[\\\\\\\\\\\\[[\\[[\\[[\\\\\\\\\\[[[[[[\\\\\\[[\\[[\\\\\\[[\\[[[[\\\\[[\\\\\\\\[[[dy̋e^\\\\\\\\\\\[[[[\\\\\\\\[[\\\\\\\\[[[[\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\[[ZhݽnZ[\\\\\[[\\\\\\\\\\[[[[[[\\\\\\\\\\\\[[\\\\\\\\\\\\[[[[\\\\\\\\\\\\\\\\[[\\\\\\\\\\\\\\\\\\[[\\\\\\\\\\\\[[[[\\\\[[[[\\\\\\\\\\[[[[[[]ӭuYZ\\\\\\\[[\\\[[e{دjZ[\[[\\[[\\\\[[\\\\\\\\[[[[\\\\\\[[\\\\\\\\\\\\\\\\[[\\\\\\\\[[[[\\\\\\[[[[[[\\\\\\\\\\\\[[[[[[[[\\\\[[\\\\\\\\\\\\\\\\\\\\\\[[\\\]d֨gZ[\\\\\\\\\\\\\[[\\[[\\\\[[\\\\\\\\[[[[\\\\\\[[\\\\\\\\\\\\\\\\[[\\\\\\\\[[[[\\\[[ct۷lZ[[\\\\[[[[[[\\\\\\\\\\\\\\\\\\[[\\[[\\\\[[\\\\\\\\[[\\\\[[[[\\[[\\\\\\\\\\\\\\[[[[[[\\\\\\[[\\\\\\\\[[\\[[\\[[[[[[\\\\[[\\[[\\[[\\\\\\[[\\\\\\[[\\[[\\[[\\\\[[\\[[\\\\[[\\\\\\\\\\\\[[\\\\[[\\[[[[\\[[[[\[Zbuқuc[[\\\\\\\\\[[[[[[\\\\\\[[[[\\[[[[[[\\\\[[\\\\[[[[[[\\\\[[\\\\\\[[[[\\[[\\[[[[\\[[\\\\\\\\[[\\\\\\\\[[\\\\[[[[\\\\\\\\\\[[\\\\\\\\[[\\\\\\\\\\[[\\\\[[\\\\[[\\[[\\\\[[[[[[\\[[\\\\\\[[\\\\\\\\\\\\\\\\\\\\\\\\_}࿈g^[\\\\\\\\\\\\[[\\\\\\\\[[\\\\[[\\[[\\[[[[\\\\\\\\[[\\\\\\\\\\\\[[\\[[\\\\\\\\\\[[\\[[\\\\[[\\\\\\\\\\\\[[\\\\[[\\[[[[\\[[\\\\[[\\\\[[\\\\[[\\[[[[[[\\\\[[\\[[\\\\[[\\[[[[\\\\\\\\\\\\[[[[\\\\\\\\[[[[\[[^gܼmYZ[\\\\\\[[\\\\\\[[[[[[\\\\[[\\\\\\[[[[\\\\\\\\\\\\\\\\\\\\\\[[[[\\[[[[[[\\\\\\\\\\\YX~۷lZ[\\\[[\\[[\\\\\\[[\\[[[[\\[[\\\\[[[[[[\\\\\\[[[[[[[[[[[[[[[[\\\\[[\\\\\\[[\\[[[[[[[[[[[[\\\\\\\\\\\\\\[[\\\\\\\\[[\\[[[[\\\\[[\\[[[[\\\\[[\\[[\\[[\\\\[[\\\\\\\\\\[[\\\\[[\\[[\\\\\\\\[[\\\\[[\\\\[[\\\\\\\\[[\\[[\\\\\\\YX~۷lYZ[[[\\\\[[\\\\\\[[[[\\\\\\\\\\\\[[\\\\\\\\[[[[\\[[[[[[\\\\\\[[\\\\\\[[\\[[\\[[[[[[[[\\\\\\\\\\[[\\[[[[\\\\[[\\\\\\[[\\[[[[[[[[\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\[Zlқuc[[\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\ZYt͌e^[\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\[[^gњtc[[\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\[[cu˦sYZ\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\[[\\[[\\[[\\[[\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\[[_hşqYZ\\\\\\\\\\\\\[amݾnZ[\\\[[\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\[[\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\[[[aoњuc[[\\\\\\\\\\\\\\\[[\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\[[cu۷lZ[\\\\\\\\\\\\\\\\\\\[[\\\\[[\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\[[\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\[[\\\\\\\\[[\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\[[[[\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\[[\[[cuқuc[[\[[\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\[[\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\[[[[\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\[[\\\\\\\\\\\\\\\\\\\\\\\\\\[[\\[[\\\\\\\\\\\\\\\\\\\\[`ls]\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\[[[[\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\[[\\\\\\\\\\\\\\\\\\\\\\\\\\[[\\[[\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\[[\\\\\\\\\\\\\\\\\\\\\\[[\\\\\\\\\\\\\\\\\\\\[[\\\\\\\\[[]uկuXY[\\\\\\\\\\\\\\[[\\\\\\[[\\\\\\\\[[\\\\\\\\\\\\\\[[\\\\\\\\\\\\\\\\\\\\[[\\\\\\[[\YX~۷lZ[\\\\\\\\\\\[[\\[[[[\\\\\\\\\\\\\\[[\\\\\\\\\\\\\\\\\\[[\\[[\\\\\\[[\\\\\\\\\\\\[[\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\[[\\\\\\\\[[\\\\[[[[\\\\\\\\\\\\\\\\\\[[[[\\\\\\\\[[[[\\\\\\\\\\\\\\\\\\[[\\\\[[\\[[\\\\[[\\[[\\\\\\\\\\\YX~۷lZZ\\\\\\\[[\\[[\\\\\\\\\\\\\\[[\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\[[[[\\\\\\\\[[\\\\[[\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\[[[[\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\[Zlқuc[[\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\ZYwł^[\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\]~֧g[[\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\_hڴwYZ\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\[[\\[[\\[[\\[[\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\[[ct۷lZ[\\\\\\\\\\\\\\]bΨsYZ\\\[[\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\[[Ze{̍h_[\\\\\\\\\\\\\\\\[[\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\[cu۷lZ[\\\\\\\\\\\\\\\\\\\[[\\\\[[\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\[[\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\[[\\\\\\\\[[\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\[[[[\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\[[\[[cuқuc[[\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\[[\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\[[[[\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\[[\\\\\\\\\\\\\\\\\\\\\\\\\\[[\\[[\\\\\\\\\\\\\\\\\\\[Zg͠|eZ[\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\[[[[\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\[[\\\\\\\\\\\\\\\\\\\\\\\\\\[[\\[[\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\[[\\\\\\\\\\\\\\\\\\\\\\[[\\\\\\\\\\\\\\\\\\\\[[\\\\\\\\[ZZgƒ`\[\\\\\\\\\\\\\\[[\\\\\\[[\\\\\\\\[[\\\\\\\\\\\\\\[[\\\\\\\\\\\\\\\\\\\\[[\\\\\\[[\YX~۷lZ[\\\\\\\\\\\[[\\[[[[\\\\\\\\\\\\\\[[\\\\\\\\\\\\\\\\\\[[\\[[\\\\\\[[\\\\\\\\\\\\[[\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\[[\\\\\\\\[[\\\\[[[[\\\\\\\\\\\\\\\\\\[[[[\\\\\\\\[[[[\\\\\\\\\\\\\\\\\\[[\\\\[[\\[[\\\\[[\\[[\\\\\\\\\\\YX~۷lZ[\\\\\\\[[\\[[\\\\\\\\\\\\\\[[\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\[[[[\\\\\\\\[[\\\\[[\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\[[[[\\\\\\\\\\\\\\\\\\\\]]\\]]\\\\\\\\\\\\\\\\\\\\]]\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\]]\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\]]\\\[Zlқuc\[\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\]]]\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\]]\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\]]\\\\\\\\\\\\\\\\\\\\\\\\\\]]\\\\\\\\\\\\\\]]\\]]\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\]]\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\]]\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\]]\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\]]\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\]]\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\ZYzߺ{ZZ\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\[Zuٲk[[\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\^|XY\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\[Zg֨hZ[\\\\\\\\\\\\\\[\|yXZ\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\[ZjƂ][\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\[cu۷lZ[\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\[cuқuc[[\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\ZYpճd][\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\[[`kΗrb[[\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\ZX~۷lZ[\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\YX~۷lZ[\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\]]\\]]\\\\\\\\\\\\\\\\\\\\]]\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\]]\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\]]\\\[Zlқud\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\]]]]\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\]]\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\]]\\\\\\\\\\\\\\\\\\\\\\\\\\]]\\\\\\\\\\\\\\]]\\]]\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\]]\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\]]\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\]]\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\]]\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\]]\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\YX}ӭuYZ\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\[ZmݾoZ[\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\ZXz˅_\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\[Zmњtc[\\\\\\\\\\\\\\\ZXuƂ]\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\[ZnyXZ\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\[cu۷lZ[\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\[cuқuc[[\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\_~ۺlYZ\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\^zجiZ[\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\ZX~۷lZ[\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\YX~۷lZ[\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\]]]]\\\\]]\\\\\\\\\\\\\\\\]]]]\\\\]]\\\\\\\\\\\\\\\\\\\\\\]]]]\\]]\\\\]]\\\\\\\\\\\\\\]]\\\\\\\\]]\\\\]]\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\]]]]\\\\\\]]\\\\\\]]\\\\\\\\\\]]]]\\\\\\\\\\\\\\\\]]\\]]\\\\\\\[Zlқud\\\\\\\\\\\\\\\\\\\\\]]\\\\]]\\\\\\\\\\\\]]\\\\\\\\\\\\\\\\]]\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\]]\\\\\\\\\\\\\\\\\\]]\\]]]]\\\\\\]]\\\\\\\\]]\\\\\\\\\\\\\\]]\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\]]\\\\\\\\\\\\]]\\\\\\\\\\]]\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\]]\\\\]]]]\\\\]]\\\\]]\\\\]]]]\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\]]\\\\\\\\]]\\\\]]\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\]]\\\\\\\\\\\\\\\\\\\\\\\\\\\\]]\\\\\\\\\\\\\\\\\\\\\\\\]]\\]]\\\\\\\\\\\\]]\\\\\\\\\\\\]]]]\\\\\\\\\\]]\\\\\\\\\\\\\\]]\\\\\\\\\\\\\\\\\\\\\\]]\\\\\\]]\\\\]]\\\\\\\\\\\\\\\\]]\\\\\\\\\\\\\\\\\\\\\\]]\\\\]]\\\\\\\\\\\\\\\\]]]]]]\\\\\\\\]]\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\]]]]\\\\\\]]\\\\\\\\\\\\\\\\\\]]\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\]]\\]]]]\\\\\\\\\\\\\\\\\\\\\\\\\\\\]]\\\\\\\\\\\\\\\\\\\\\\\\\\]]\\\\\\]]]]\\\\\\\\\\\\\\\\\\\\\\\\]]\\\\\\\\\\\\]]\\\\\\\\\\\\\\\\\\]]\\\\]]]]\\]]\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\]]\\\\\\\\]]\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\]]\\\\\\\\\\\\\\\\]]\\\\]]\\\\\\\\\\\\\\\\\\]]\\\\\\\\\\]]\\\\]]\\\\\\\\]]]]\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\]]\\\\\\\\\\\\\\\\\\\\]]\\\\]]\\\\\\]]\\\\\\\\\\\\\\\\\\]]\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\YX}şqYZ\\\]]\\\\\\\\\\\\\\\\\\]]\\\\\\\\\\\\]]\\\\\\\\\\\\\\\\\\\\\\]]\\\\\\\\\\\\\\\\\\\\]]]]\\]]\\\\\\\\\\\\\\\\\\]]\\\\\\\\\\\\\\\\\\]]]]\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\]]\\\\\\\\\\]]\\\\]]\\\\]\[ez̦sY[\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\]]\\\\\\\\\\\\\\\\\ZYuГma\\\\\\\\\\\\\\\\\\\\\\\\\\\\\]]\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\]]\\\\\\\\\\\\\\\\\\\\\\\\]]\\\\\\\ZZs͌f^\\]\\\\]]\\\\\\\ZYq̎h_\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\]]\\\\\\\\\\\\\\\\\\\\\\\\]]\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\ZYsΨsY[\\\\\\\\\\\\\\\\\\\\\]]\\\\\\\\\\\\\\\\\\\\\\\\\\\\]]\\\\\\\\\\\\\\\\\\]]\\\\\\\\[cu۷lZ[\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\]]\\\\\\\\]]\\\\\\\cuқuc[[\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\]]\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\[am͕paZ[\\\\\\\\\\\\\\\\\\\\\\\\\\\\\]]\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\[[mpZ[\\\\\]]\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\]]\\\\\\\\\\\\\\\\\\\\\\\\\\\\\ZY~۷lZ[\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\YX~۷lZ[\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\]]\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\]]]]\\\\]]\\\\\\\\\\\\\\\\]]]]\\\\]]\\\\\\\\\\\\\\\\\\\\\\]]]]\\]]\\\\]]\\\\\\\\\\\\\\]]\\\\\\\\]]\\\\]]\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\]]]]\\\\\\]]\\\\\\]]\\\\\\\\\\]]]]\\\\\\\\\\\\\\\\]]\\]]\\\\\\\[[lқud\\\\\\\\\\\\\\\\\\\\\]]\\\\]]\\\\\\\\\\\\]]\\\\\\\\\\\\\\\\]]\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\]]\\\\\\\\\\\\\\\\\\]]\\]]]]\\\\\\]]\\\\\\\\]]\\\\\\\\\\\\\\]]\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\]]\\\\\\\\\\\\]]\\\\\\\\\\]]\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\]]\\\\]]]]\\\\]]\\\\]]\\\\]]]]\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\]]\\\\\\\\]]\\\\]]\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\]]\\\\\\\\\\\\\\\\\\\\\\\\\\\\]]\\\\\\\\\\\\\\\\\\\\\\\\]]\\]]\\\\\\\\\\\\]]\\\\\\\\\\\\]]]]\\\\\\\\\\]]\\\\\\\\\\\\\\]]\\\\\\\\\\\\\\\\\\\\\\]]\\\\\\]]\\\\]]\\\\\\\\\\\\\\\\]]\\\\\\\\\\\\\\\\\\\\\\]]\\\\]]\\\\\\\\\\\\\\\\]]]]]]\\\\\\\\]]\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\]]]]\\\\\\]]\\\\\\\\\\\\\\\\\\]]\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\]]\\]]]]\\\\\\\\\\\\\\\\\\\\\\\\\\\\]]\\\\\\\\\\\\\\\\\\\\\\\\\\]]\\\\\\]]]]\\\\\\\\\\\\\\\\\\\\\\\\]]\\\\\\\\\\\\]]\\\\\\\\\\\\\\\\\\]]\\\\]]]]\\]]\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\]]\\\\\\\\]]\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\]]\\\\\\\\\\\\\\\\]]\\\\]]\\\\\\\\\\\\\\\\\\]]\\\\\\\\\\]]\\\\]]\\\\\\\\]]]]\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\]]\\\\\\\\\\\\\\\\\\\\]]\\\\]]\\\\\\]]\\\\\\\\\\\\\\\\\\]]\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\_ܼnZ[\\\]]\\\\\\\\\\\\\\\\\\]]\\\\\\\\\\\\]]\\\\\\\\\\\\\\\\\\\\\\]]\\\\\\\\\\\\\\\\\\\\]]]]\\]]\\\\\\\\\\\\\\\\\\]]\\\\\\\\\\\\\\\\\\]]]]\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\]]\\\\\\\\\\]]\\\\]]\\\\]\\_hسwYZ\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\]]\\\\\\\\\\\\\\\\\ZZpԠze\[\\\\\\\\\\\\\\\\\\\\\\\\\\\]]\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\]]\\\\\\\\\\\\\\\\\\\\\\\\]]\\\\\\\[[yā]\\\]\\\\]]\\\\\\\[ZlҜwd\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\]]\\\\\\\\\\\\\\\\\\\\\\\\]]\\]]\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\ZYwݾnZ[\\\\\\\\\\\\\\\\\\\\\]]\\\\\\\\\\\\\\\\\\\\\\\\\\\\]]\\\\\\\\\\\\\\\\\\]]\\\\\\\[[cu۷l[[\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\]]\\\\\\\\]]\\\\\\\duқuc[\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\]]\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\[Zg׳z][\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\]]\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\[[dxհz]\\\\\\]]\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\]]\\\\\\\\\\\\\\\\\\\\\\\\\\\\\ZY~۷lZ[\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\ZX~۷lZ[\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\]]\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\]]]]\\]]\\\\]]]]\\]]]]\\\\]]\\]]\\\\]]\\\\]]\\]]\\]]\\\\]]\\\\\\]]\\\\\\]]\\]]\\\\]]]]\\\\]]\\]]\\]]]]]]]]\\]]\\\\\\\\\\\\]]\\\\\\\\\\]]]]]]\\]]\\]]\\]]\\\\\\]]\\\\]]\\]]]]]]]]]]\\\\\\]]\\\\\\\\]]]]\[[lқud\\\\\]]\\]]\\]]\\\\\\\\\\]]\\\\]]\\\\\\\\\\]]]]\\]]\\]]]]]]\\\\]]]]]]\\\\]]\\\\\\\\\\\\]]]]\\\\]]]]\\]]\\]]]]]]]]\\]]\\]]]]\\]]]]\\\\\\\\]]]]]]]]\\]]]]\\\\]]\\]]\\]]]]]]]]\\\\]]]]]]\\\\\\]]]]]]]]]]]]\\]]\\]]\\]]\\\\\\\\]]\\\\\\\\\\]]\\]]\\]]\\]]\\\\]]\\]]]]\\\\\\]]]]\\\\\\\\\\\\\\\\\\]]]]\\\\]]\\\\\\]]]]\\\\\\\\\\\\\\\\\\\\]]\\\\\\]]\\\\]]\\\\]]\\]]]]\\\\\\]]]]\\\\]]]]]]]]]]\\]]\\]]\\\\\\]]\\\\]]\\]]\\]]\\\\\\\\\\]]\\\\\\\\]]\\\\\\]]]]\\]]\\\\]]\\\\\\\\]]\\\\\\\\]]\\]]]]]]\\]]\\\\]]\\\\\\\\]]\\]]\\\\\\\\\\]]\\]]\\]]]]]]\\]]\\\\\\]]\\\\\\\\\\\\]]]]\\\\\\]]\\\\]]\\\\\\]]\\\\\\\\\\]]\\]]\\\\\\\\]]]]]]]]\\\\\\\\\\\\\\]]]]]]\\\\]]\\\\\\\\\\\\\\\\\\\\]]\\]]\\\\]]]]\\\\]]]]\\\\\\\\\\\\\\\\]]\\]]\\]]]]\\\\\\\\\\]]\\\\\\]]\\]]\\\\\\]]]]\\]]\\]]\\\\]]\\\\\\\\\\\\]]]]\\\\\\\\\\]]]]\\\\\\\\\\\\]]\\\\\\\\\\]]\\\\\\\\]]\\\\\\\\\\\\\\]]]]\\\\\\]]\\\\\\]]\\\\\\\\\\\\\\\\\\\\\\\\]]\\\\\\]]]]\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\]]\\]]\\]]\\\\]]\\]]\\\\]]]]\\\\\\\\\\\\\\\\\\\\\\\\]]\\\\\\\\\\\\\\]]\\\\\\]]\\\\\\\\\\\\\\\\\\]]\\\\]]]]\\]]\\]]\\\\\\\\\\\\]]\\\\\\\\\\\\\\\\]]\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\]]\\\\\\\\\\\\\\\\\\]]\\\\\\\\\\]]\\\\]]\\\\\\]]\\]]\\]]\\\\[anܹmZ[\\\\\\\\\\\\\\\]]\\\\\\]]\\]]\\]]\\\\]]\\\\\\\\\\\\\\]]]]\\\\\\\\\\\\\\\\]]\\]]\\\\\\\\]]]]]]\\\\\\\\]]]]]]]]\\]]]]\\]]]]]]\\\\\\]]\\]]\\\\]]\\\\]]\\\\\\\\]]]]\\]]\\\\\\\\\\\\\\\\\\\\\\\\]]]\]{YZ]\\\\\\\\\\\\\\\\\\\\\\\\\\]]\\]]\\]]\\\\]]\\\\\\\\\\\\\\\\\\\\\\\\]]\\\[[k׫h[[\]]\\]]\\]]\\\\\\\\]]\\\\\\\\\\\\\\\\]]\\\\\\\\\\\\]]]]\\\\\\\\\\\\\\\\]]\\\\\\\\\\\\\\\\]]]]\\\\\\\\\\\\\\\\\\]]\\\\\\\\\\\\\\^ڴy[[\\\\\]]]]\\\\]]\\[f~خi[\\\\\\]]\\\\]]\\\\\\\\]]\\\\\\\\]]\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\]]]]\\\\]]]]\\\\]]\\\\\\\\\\\\\\\\]]\\]]\\\ZX|ٰjZ[\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\]]\\\\\\\\\\\\]]\\\\\\\\\\\\\\\\\\\\\\]]\\\\\\\\[cu۷l[\\\\]]\\\\\\\\]]\\\\\\]]\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\]]\\\\\\\\]]\\\\]]\\\\\\]]\\\\\\\\\\]]\\\\\\\\\\]]\\\\\\\\\\\\\\\\\\\\]]\\]]\\\\\\\\\\\\\\]]\\\\]]\\\\\\\\\\\\]]\\\\\\\\]]\\\\\\\\\\\\]]\\\cuқuc[\]]]\\]]\\]]\\\\\\\\\\\\\\\\\\]]\\]]]]\\\\\\\\]]\\\\\\\\\\\\\\\\\\]]\\\\]]\\\\]]\\\\\\\\\\\\\\\\\\\\\\\\\\\\]]\\\\]]\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\]]\\\\\\\\\\]]\\\\\\\\\\\\\ZYpڳl[[\\\\\\\]]]]\\\\\\\\\\\\\\\\\\]]]]\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\]]\\\\]]\\\\\\\\\\\\\\]]\\]]\\\\\\\\\\\\\\\\\\\\]]\\\\\\\\\\\\\\\\]]\\\\]]\\\\\\\\\\]]\\\\\\\\]]\\\\\\\\\\\\]]\\\\\\]]\\\\\\\\\\\\\\\\]]\\\]cĆc^\\\\\\\\\\\\\\\]]\\]]\\\\\\\\]]\\\\\\\\\\\\\\\\\\\\\\]]\\\\\\\\]]\\\\]]\\\\\\\\\ZY۷l[[\\\\\]]\\\\\\\\\\\\\\\\\\\\]]\\\\\\\\\\\\\\\\\\\\\\]]\\\\\\\\\\\\\\\\\\]]\\]]\\\\\\\\\\\\\\\\\\\\]]\\\\\\\\\\\\]]\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\]]\\\\\\]]\\\\\\\\\\\\\\\\\\]]\\\\\\\\\\\\\\\\\\\ZX~۷lZ[\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\]]\\\\\\\\\\]]\\\\\\\\\\\\\\\\\\\\\\\\\\]]\\\\\\\\\\\\\\]]\\]]\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\]]]]\\]]\\\\]]]]\\]]]]\\\\]]\\]]\\\\]]\\\\]]\\]]\\]]\\\\]]\\\\\\]]\\\\\\]]\\]]\\\\]]]]\\\\]]\\]]\\]]]]]]]]\\]]\\\\\\\\\\\\]]\\\\\\\\\\]]]]]]\\]]\\]]\\]]\\\\\\]]\\\\]]\\]]]]]]]]]]\\\\\\]]\\\\\\\\]]]]\[[mқud\\\\\]]\\]]\\]]\\\\\\\\\\]]\\\\]]\\\\\\\\\\]]]]\\]]\\]]]]]]\\\\]]]]]]\\\\]]\\\\\\\\\\\\]]]]\\\\]]]]\\]]\\]]]]]]]]\\]]\\]]]]\\]]]]\\\\\\\\]]]]]]]]\\]]]]\\\\]]\\]]\\]]]]]]]]\\\\]]]]]]\\\\\\]]]]]]]]]]]]\\]]\\]]\\]]\\\\\\\\]]\\\\\\\\\\]]\\]]\\]]\\]]\\\\]]\\]]]]\\\\\\]]]]\\\\\\\\\\\\\\\\\\]]]]\\\\]]\\\\\\]]]]\\\\\\\\\\\\\\\\\\\\]]\\\\\\]]\\\\]]\\\\]]\\]]]]\\\\\\]]]]\\\\]]]]]]]]]]\\]]\\]]\\\\\\]]\\\\]]\\]]\\]]\\\\\\\\\\]]\\\\\\\\]]\\\\\\]]]]\\]]\\\\]]\\\\\\\\]]\\\\\\\\]]\\]]]]]]\\]]\\\\]]\\\\\\\\]]\\]]\\\\\\\\\\]]\\]]\\]]]]]]\\]]\\\\\\]]\\\\\\\\\\\\]]]]\\\\\\]]\\\\]]\\\\\\]]\\\\\\\\\\]]\\]]\\\\\\\\]]]]]]]]\\\\\\\\\\\\\\]]]]]]\\\\]]\\\\\\\\\\\\\\\\\\\\]]\\]]\\\\]]]]\\\\]]]]\\\\\\\\\\\\\\\\]]\\]]\\]]]]\\\\\\\\\\]]\\\\\\]]\\]]\\\\\\]]]]\\]]\\]]\\\\]]\\\\\\\\\\\\]]]]\\\\\\\\\\]]]]\\\\\\\\\\\\]]\\\\\\\\\\]]\\\\\\\\]]\\\\\\\\\\\\\\]]]]\\\\\\]]\\\\\\]]\\\\\\\\\\\\\\\\\\\\\\\\]]\\\\\\]]]]\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\]]\\]]\\]]\\\\]]\\]]\\\\]]]]\\\\\\\\\\\\\\\\\\\\\\\\]]\\\\\\\\\\\\\\]]\\\\\\]]\\\\\\\\\\\\\\\\\\]]\\\\]]]]\\]]\\]]\\\\\\\\\\\\]]\\\\\\\\\\\\\\\\]]\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\]]\\\\\\\\\\\\\\\\\\]]\\\\\\\\\\]]\\\\]]\\\\\\]]\\]]\\]]\\\\[cvٰj[[\\\\\\\\\\\\\\\]]\\\\\\]]\\]]\\]]\\\\]]\\\\\\\\\\\\\\]]]]\\\\\\\\\\\\\\\\]]\\]]\\\\\\\\]]]]]]\\\\\\\\]]]]]]]]\\]]]]\\]]]]]]\\\\\\]]\\]]\\\\]]\\\\]]\\\\\\\\]]]]\\]]\\\\\\\\\\\\\\\\\\\\\\\\]]][YwŁ]\]\\\\\\\\\\\\\\\\\\\\\\\\\\]]\\]]\\]]\\\\]]\\\\\\\\\\\\\\\\\\\\\\\\]]\\\\[f{۷m[[\]]\\]]\\]]\\\\\\\\]]\\\\\\\\\\\\\\\\]]\\\\\\\\\\\\]]]]\\\\\\\\\\\\\\\\]]\\\\\\\\\\\\\\\\]]]]\\\\\\\\\\\\\\\\\\]]\\\\\\\\\\\\\_g̦sZ[\\\\\]]]]\\\\]]\\\amoZ[\\\\\]]\\\\]]\\\\\\\\]]\\\\\\\\]]\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\]]]]\\\\]]]]\\\\]]\\\\\\\\\\\\\\\\]]\\]]\\\\`ԡ{e[[\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\]]\\\\\\\\\\\\]]\\\\\\\\\\\\\\\\\\\\\\]]\\\\\\\\[cu۷m[\\\\]]\\\\\\\\]]\\\\\\]]\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\]]\\\\\\\\]]\\\\]]\\\\\\]]\\\\\\\\\\]]\\\\\\\\\\]]\\\\\\\\\\\\\\\\\\\\]]\\]]\\\\\\\\\\\\\\]]\\\\]]\\\\\\\\\\\\]]\\\\\\\\]]\\\\\\\\\\\\]]\\\cuқuc[\]]]\\]]\\]]\\\\\\\\\\\\\\\\\\]]\\]]]]\\\\\\\\]]\\\\\\\\\\\\\\\\\\]]\\\\]]\\\\]]\\\\\\\\\\\\\\\\\\\\\\\\\\\\]]\\\\]]\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\]]\\\\\\\\\\]]\\\\\\\\\\\\\]_~˖rb[\\\\\\\\]]]]\\\\\\\\\\\\\\\\\\]]]]\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\]]\\\\]]\\\\\\\\\\\\\\]]\\]]\\\\\\\\\\\\\\\\\\\\]]\\\\\\\\\\\\\\\\]]\\\\]]\\\\\\\\\\]]\\\\\\\\]]\\\\\\\\\\\\]]\\\\\\]]\\\\\\\\\\\\\\\\]]\\\[YpЕoa\\\\\\\\\\\\\\\]]\\]]\\\\\\\\]]\\\\\\\\\\\\\\\\\\\\\\]]\\\\\\\\]]\\\\]]\\\\\\\\\ZY۷l[\\\\\\]]\\\\\\\\\\\\\\\\\\\\]]\\\\\\\\\\\\\\\\\\\\\\]]\\\\\\\\\\\\\\\\\\]]\\]]\\\\\\\\\\\\\\\\\\\\]]\\\\\\\\\\\\]]\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\]]\\\\\\]]\\\\\\\\\\\\\\\\\\]]\\\\\\\\\\\\\\\\\\\ZY~۷lZ[\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\]]\\\\\\\\\\]]\\\\\\\\\\\\\\\\\\\\\\\\\\]]\\\\\\\\\\\\\\]]\\]]\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\]]\\]]\\]]]]\\]]\\]]]]]]]]\\\\\\]]]]]]]]\\\\]]]]]]]]\\]]\\]]]]]]]]]]]]]]\\\\]]\\]]]]]]]]\\\\\\]]\\]]]]]]\\]]]]\\]]\\]]]]]]]]]]]]\\]]]]]]\\]]]]\\]]]]]]]]]]]]]]]]]]\\]]\\\\]]]]]]]]]]]]\\\\]]]]]]]]]]\\]]][[mқud\\]]]]]]]]]]]]]]]]]]]]]]]]]\\]]\\]]\\]]]]]]]]]]\\]]]]]]\\\\]]\\]]]]]]]]]]]]]]]]]]]]]]]]\\]]]]]]\\]]]]]]\\\\]]]]\\]]]]]]]]\\]]]]\\]]\\\\]]\\]]\\]]]]]]]]]]\\\\\\]]]]\\]]]]]]]]]]]]\\]]]]]]\\]]\\]]\\\\]]\\\\]]\\]]]]\\]]]]\\]]]]\\]]\\\\]]]]]]]]]]\\\\\\\\\\]]]]\\]]]]]]]]]]]]]]]]]]]]]]]]\\\\\\]]\\]]\\]]\\]]]]]]]]]]\\]]\\]]\\]]]]]]]]\\\\\\]]]]\\\\\\]]]]]]]]\\]]\\]]]]]]\\]]]]]]\\]]]]]]\\]]]]\\\\]]\\]]\\\\\\]]]]]]]]]]]]]]\\]]\\]]\\\\]]]]]]\\\\\\]]]]\\]]\\\\]]\\\\]]]]]]]]]]\\\\\\\\\\]]\\]]]]\\]]]]\\]]]]]]]]\\]]\\]]]]]]\\]]\\]]\\\\]]\\]]\\]]]]]]\\]]]]]]]]\\]]]]]]\\]]]]]]\\\\\\]]]]]]\\\\]]]]]]\\]]]]]]\\\\]]\\\\\\]]\\\\]]]]]]\\]]]]]]\\]]]]\\\\]]]]]]\\]]]]]]]]\\]]\\]]]]\\\\]]]]\\]]\\]]\\]]]]]]\\]]]]\\]]]]\\]]\\]]]]]]]]]]\\\\]]\\]]]]\\]]\\]]]]\\\\]]]]\\\\]]]]]]]]\\]]\\\\\\\\]]]]\\]]]]\\\\\\\\]]\\\\\\\\]]]]\\\\\\\\]]]]]]]]]]\\]]\\]]\\]]]]]]]]]]\\\\]]]]]]\\\\]]]]\\\\]]\\\\\\\\\\\\]]]]\\]]\\\\]]]]\\]]]]]]\\]]]]\\\\\\]]]]]]]]]]]]]]\\]]]]]]\\]]]]\\]]\\\\]]]]]]\\]]]]]]]]]]]]]]]]]]\\]]\\]]\\]]]]\\]]\\\\]]]]]]]]]]]]]]\\]]]]\\]]\\]]]]\\]]\\\\]]]]]]]]]]\\\\]]]]]]\\\\\\]]\\\\\\]]\\]]\\\\]]\\]]]]\\]]\\]]\\]]\\]]]]]]]]]]]]]]\\\\\\]]]]\\]]]]]]]]]]]]\\\\]]]]]]]]\\\\]]]]]]\\\\\\\duԡ|f\\]]]\\\\]]\\\\]]\\]]]]]]\\\\\\\\]]\\]]]]\\]]]]]]\\]]\\\\]]\\]]\\\\\\]]\\]]\\\\\\\\\\\\]]\\\\\\]]\\]]]]]]\\]]]]]]\\\\\\]]\\]]]]]]]]\\\\]]\\\\\\]]\\]]\\]]\\]]]]\\\\]]]]\\\\]]\\]]]]\\\\\\]]\\]]\[Zrˉc^\\\\\\\\\\\]]\\\\\\]]\\\\\\\\]]\\\\]]\\\\]]]]]]\\]]]]]]]]\\]]]]]]\\]]\\]\\amşrZ[\]]\\]]\\]]\\\\\\]]\\\\\\]]]]\\\\\\\\\\]]]]]]\\]]]]]]]]]]]]\\]]\\\\\\\\\\\\\\]]]]]]\\]]]]\\]]]]]]\\\\]]\\\\]]]]\\\\\\]]\\]]\\\duݾo[\]]]]]]]\\]]]]\\]]]]`ѫuY[]]]]]]]\\]]\\]]\\\\\\\\\\]]]]]]\\]]]]\\\\\\]]\\\\\\\\\\\\]]\\\\\\\\]]]]]]]]\\\\]]\\]]\\\\\\]]]]\\]]\\\\\\\\]]\\\\]]]]\\\\\\\amϓma\\]\\\\\\]]]]]]\\]]\\\\]]\\\\]]]]\\\\\\]]]]]]]]\\\\]]\\\\\\\\\\\\\\\\\\]]\\\\]]\\\\\cu۷mZ\\\\]]\\\\\\]]]]\\]]]]\\\\]]]]]]]]\\\\\\\\\\\\]]]]\\\\\\\\\\]]\\\\\\\\\\\\\\\\]]\\]]\\]]\\]]]]\\]]]]]]\\\\\\]]\\\\\\\\]]\\\\]]\\]]]]]]]]\\\\]]]]\\\\\\\\\\]]]]\\]]]]]]\\]]\\]]\\\\\\\\]]]]]]\\]]\\\\]]\\\\[cuқuc\\\\\\\\\]]]]\\]]\\]]]]\\\\\\]]]]\\\\\\\\\\]]\\\\]]]]\\\\\\]]\\]]]]\\\\\\\\\\\\\\\\]]\\\\\\\\\\\\\\\\\\\\\\\\]]\\\\\\\\\\\\\\\\]]\\\\\\\\\\\\\\]]\\\\\\]]\\]]\\]]\\\\]]]]]]\\\\\\\\]]\\\\\\\\\\]]]]]]\\\am۸a]\\\\\\\\\\\\\]]]]\\\\]]\\\\\\\\\\\\\\\\]]]]\\\\\\\\\\\\\\]]\\\\\\\\\\]]\\\\\\\\\\\\\\\\\\]]\\\\\\]]\\\\]]\\\\\\]]]]\\\\\\\\\\\\\\\\\\\\\\\\\\\\]]\\]]\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\]]\\\\\\]]\\]]\\]]\\\\\\\\\\\\\[Zgզg[[\]]\\\\]]]]\\\\\\\\\\\\\\\\\\\\]]\\\\\\\\\\\\\\]]\\\\\\\\\\]]\\\\\\]]\\\\\\]]\ZY۷lZ\]\\\\]]\\\\\\\\\\\\]]\\\\\\\\\\\\\\]]]]\\\\\\\\\\\\\\\\\\\\\\\\]]]]\\\\\\\\\\\\\\]]\\]]\\\\\\\\\\\\\\\\\\\\]]\\]]\\\\]]\\]]]]\\\\\\\\\\]]]]\\]]]]\\\\]]\\\\\\\\\\]]\\\\]]]]]]]]]]\\\\]]]]]]\\\\]]]]\\\\\\\\\\]]\\\\]]\\]ZY۷lZ[\\\\\\\]]\\\\\\\\\\]]\\]]]]\\\\\\\\\\\\\\\\]]\\\\\\\\\\\\]]\\]]\\]]]]]]\\\\\\\\\\\\]]\\\\]]]]]]]]\\\\\\\\\\]]\\\\\\\\]]\\\\\\]]\\]]\\]]\\]]]]\\]]\\]]]]]]]]\\\\\\]]]]]]]]\\\\]]]]]]]]\\]]\\]]]]]]]]]]]]]]\\\\]]\\]]]]]]]]\\\\\\]]\\]]]]]]\\]]]]\\]]\\]]]]]]]]]]]]\\]]]]]]\\]]]]\\]]]]]]]]]]]]]]]]]]\\]]\\\\]]]]]]]]]]]]\\\\]]]]]]]]]]\\]]]\[mқud\\]]]]]]]]]]]]]]]]]]]]]]]]]\\]]\\]]\\]]]]]]]]]]\\]]]]]]\\\\]]\\]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]\\]]]]]]\\\\]]]]\\]]]]]]]]\\]]]]\\]]\\\\]]\\]]\\]]]]]]]]]]\\\\\\]]]]\\]]]]]]]]]]]]\\]]]]]]\\]]\\]]\\\\]]\\\\]]\\]]]]\\]]]]\\]]]]\\]]\\\\]]]]]]]]]]\\\\\\\\\\]]]]\\]]]]]]]]]]]]]]]]]]]]]]]]\\\\\\]]\\]]\\]]\\]]]]]]]]]]\\]]\\]]\\]]]]]]]]\\\\\\]]]]\\\\\\]]]]]]]]\\]]\\]]]]]]\\]]]]]]\\]]]]]]\\]]]]\\\\]]\\]]\\\\\\]]]]]]]]]]]]]]\\]]\\]]\\\\]]]]]]\\\\\\]]]]\\]]\\\\]]\\\\]]]]]]]]]]\\\\\\\\\\]]\\]]]]\\]]]]\\]]]]]]]]\\]]\\]]]]]]\\]]\\]]\\\\]]\\]]\\]]]]]]\\]]]]]]]]\\]]]]]]\\]]]]]]\\\\\\]]]]]]\\\\]]]]]]\\]]]]]]\\\\]]\\\\\\]]\\\\]]]]]]\\]]]]]]\\]]]]\\\\]]]]]]\\]]]]]]]]\\]]\\]]]]\\\\]]]]]]]]\\]]\\]]]]]]\\]]]]\\]]]]\\]]\\]]]]]]]]]]\\\\]]\\]]]]\\]]\\]]]]\\\\]]]]\\\\]]]]]]]]\\]]\\\\\\\\]]]]\\]]]]\\\\\\\\]]\\\\\\\\]]]]\\\\\\\\]]]]]]]]]]\\]]\\]]\\]]]]]]]]]]\\\\]]]]]]\\\\]]]]\\\\]]\\\\\\\\\\\\]]]]\\]]\\\\]]]]\\]]]]]]\\]]]]\\\\\\]]]]]]]]]]]]]]\\]]]]]]\\]]]]\\]]\\\\]]]]]]\\]]]]]]]]]]]]]]]]]]\\]]\\]]\\]]]]\\]]\\\\]]]]]]]]]]]]]]\\]]]]\\]]\\]]]]\\]]\\\\]]]]]]]]]]\\\\]]]]]]\\\\\\]]\\\\\\]]\\]]\\\\]]\\]]]]\\]]\\]]\\]]\\]]]]]]]]]]]]]]\\\\\\]]]]\\]]]]]]]]]]]]\\\\]]]]]]]]\\\\]]]]]]\\\\\\\duњtc\\]]]\\\\]]\\\\]]\\]]]]]]\\\\\\\\]]\\]]]]\\]]]]]]\\]]\\\\]]\\]]\\\\\\]]\\]]\\\\\\\\\\\\]]\\\\\\]]\\]]]]]]\\]]]]]]\\\\\\]]\\]]]]]]]]\\\\]]\\\\\\]]\\]]\\]]\\]]]]\\\\]]]]\\\\]]\\]]]]\\\\\\]]\\]]\\[lΐj`\\\\\\\\\\\]]\\\\\\]]\\\\\\\\]]\\\\]]\\\\]]]]]]\\]]]]]]]]\\]]]]]]\\]]\\]]\^cӭvYZ\]]\\]]\\]]\\\\\\]]\\\\\\]]]]\\\\\\\\\\]]]]]]\\]]]]]]]]]]]]\\]]\\\\\\\\\\\\\\]]]]]]\\]]]]\\]]]]]]\\\\]]\\\\]]]]\\\\\\]]\\]]\\[hخj[\]]]]]]]\\]]]]\\]]]ZYz{[[]]]]]]]\\]]\\]]\\\\\\\\\\]]]]]]\\]]]]\\\\\\]]\\\\\\\\\\\\]]\\\\\\\\]]]]]]]]\\\\]]\\]]\\\\\\]]]]\\]]\\\\\\\\]]\\\\]]]]\\\\\\\f|LJc]\]]\\\\\\]]]]]]\\]]\\\\]]\\\\]]]]\\\\\\]]]]]]]]\\\\]]\\\\\\\\\\\\\\\\\\]]\\\\]]\\\\\du۷l[[\\\]]\\\\\\]]]]\\]]]]\\\\]]]]]]]]\\\\\\\\\\\\]]]]\\\\\\\\\\]]\\\\\\\\\\\\\\\\]]\\]]\\]]\\]]]]\\]]]]]]\\\\\\]]\\\\\\\\]]\\\\]]\\]]]]]]]]\\\\]]]]\\\\\\\\\\]]]]\\]]]]]]\\]]\\]]\\\\\\\\]]]]]]\\]]\\\\]]\\\\[cuқud\\\\\\\\\]]]]\\]]\\]]]]\\\\\\]]]]\\\\\\\\\\]]\\\\]]]]\\\\\\]]\\]]]]\\\\\\\\\\\\\\\\]]\\\\\\\\\\\\\\\\\\\\\\\\]]\\\\\\\\\\\\\\\\]]\\\\\\\\\\\\\\]]\\\\\\]]\\]]\\]]\\\\]]]]]]\\\\\\\\]]\\\\\\\\\\]]]]]]\\[goY[\\\\\\\\\\\\\]]]]\\\\]]\\\\\\\\\\\\\\\\]]]]\\\\\\\\\\\\\\]]\\\\\\\\\\]]\\\\\\\\\\\\\\\\\\]]\\\\\\]]\\\\]]\\\\\\]]]]\\\\\\\\\\\\\\\\\\\\\\\\\\\\]]\\]]\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\]]\\\\\\]]\\]]\\]]\\\\\\\\\\\\\\[amܼnZ[\]]\\\\]]]]\\\\\\\\\\\\\\\\\\\\]]\\\\\\\\\\\\\\]]\\\\\\\\\\]]\\\\\\]]\\\\\\]]\ZY۷lZ[]\\\\]]\\\\\\\\\\\\]]\\\\\\\\\\\\\\]]]]\\\\\\\\\\\\\\\\\\\\\\\\]]]]\\\\\\\\\\\\\\]]\\]]\\\\\\\\\\\\\\\\\\\\]]\\]]\\\\]]\\]]]]\\\\\\\\\\]]]]\\]]]]\\\\]]\\\\\\\\\\]]\\\\]]]]]]]]]]\\\\]]]]]]\\\\]]]]\\\\\\\\\\]]\\\\]]\\]ZY۷mZ\\\\\\\\]]\\\\\\\\\\]]\\]]]]\\\\\\\\\\\\\\\\]]\\\\\\\\\\\\]]\\]]\\]]]]]]\\\\\\\\\\\\]]\\\\]]]]]]]]\\\\\\\\\\]]\\\\\\\\]]\\\\\\]]\\]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]\[mқud\\]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]\\]]]]]]]]]]]]]]]]]]]]]]]]\\]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]\\]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]\\]]]]\\]]]]\\]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]\\]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]\\]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]\\]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]\\]]]]]]]]]]\\]]]]]]]]]]]]\\]]]]]]]]\\]]]]]]]]]]\\]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]\\\\]]]]\\]]]]]]]]]]\\]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]\\]]]]]]]]\\]]]]]]\\]]\\]]]]]]]]]]]]]]]]]]]]]]\\]]]]]]]]]]\\]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]\\\\]]]]\\]]]]\\]]\\]]\\]]\\]]]]\\]]]]]]]]\\]]]]]]]]]]\\]]\\\\]]]]]]]]]]]]]]]]\\]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]\\]]]]]]]]]]]]]]\\]]]]]]]]]]]]]]\\]]]]]]]]]]]]\\]]]]]]]]]]]]]]]]]]]]]]]]]]]]\\\\]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]\\\\]]]]\\]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]\\cuњuc\\]]]]]]]]]]]]]]]]]]]]]]]]]]]\\]]]]\\]]]]]]]]\\]]]]\\]]]]]]]]\\]]]]]]]]\\]]]]]]]]]]\\]]]]]]]]]]]]]]]]]]]]]]\\]]\\]]\\\\]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]\\\\\\]]]]]]]]]]]]]]]]]]]]]]]]]\\f~Зqb\\]]]]]]]\\]]]]]]]]\\]]]]]]]]]]]]]]]]]]\\\\]]\\]]]]]]]]\\\\\\]]\\]]]]]]\\]\]~zYZ\]]]]]]]]]]]]\\]]]]]]]]]]]]\\]]]]]]]]]]]]]]]]\\]]\\]]]]]]\\]]]]\\]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]\\[mҜwd\\]]]]]]]]]\\\\\\\\\[Yuł^\]]]]]\\]]]]]]]]\\]]]]]]\\]]]]]]\\\\]]\\\\]]\\]]]]\\]]]]\\]]]]]]]]\\]]]]]]]]]]\\]]\\]]]]]]]]\\]]]]]]]]]]\\\\\\]]]]]]]]]]]]\\[j߻}]\]]]]]\\\\]]]]\\\\]]]]]]\\]]\\\\\\]]]]]]]]]]]]\\\\\\]]]]]]\\]]]]]]]]\\]]]]]]]]]]]]]\\du۷l[[]\\\\]]]]]]]]\\]]]]]]]]\\]]]]]]]]\\\\]]]]]]\\]]]]]]]]]]]]]]\\\\]]]]]]]]\\\\]]]]\\\\\\]]\\\\\\]]]]]]]]]]\\]]]]]]\\]]\\]]\\]]]]]]]]]]]]]]]]\\\\]]\\]]\\\\\\\\]]]]]]]]]]\\]]]]]]\\]]\\\\]]\\]]]]]]]]\\]]]]\\\cuқud\\\]]\\\\]]]]\\]]]]\\\\]]\\]]\\]]]]\\]]\\\\]]\\]]]]]]]]]]]]\\]]]]\\]]\\\\]]\\\\]]\\]]\\]]\\\\\\]]]]]]]]\\]]]]\\]]\\\\]]\\]]]]]]\\]]]]\\\\\\\\]]]]]]\\]]]]]]\\\\\\]]]]]]\\\\]]\\\\\\]]]]\\]]]]\\\\\\]]][ZmϜxd[\]\\\\]]]]]]]]]]]]]]]]\\\\\\]]\\\\]]]]\\]]]]\\\\\\]]]]\\\\\\\\]]]]\\\\]]\\]]]]]]\\]]]]]]]]]]\\]]]]]]]]]]]]]]]]]]]]]]\\]]]]\\]]\\]]]]]]\\]]\\]]]]\\]]]]]]]]]]\\]]\\\\]]]]]]\\\\\\]]]]]]]]]]]]]]\\]]\\]]\\]]\\\\]]\\]]]]`~կvY[]]]\\]]\\\\\\\\]]]]]]]]]]]]\\]]\\]]\\\\\\]]\\]]]]]]\\\\\\]]]]\\]]\\\\]]\\]]\\]ZY۷m[\]\\\\]]]]]]]]]]\\\\\\\\\\\\\\\\]]]]\\\\\\]]]]]]\\]]\\]]]]]]]]]]\\\\\\\\]]]]]]\\\\\\]]]]\\]]]]]]\\]]]]\\\\]]]]]]]]]]\\\\]]\\\\]]\\\\\\]]\\\\\\]]]]\\]]]]]]]]]]\\\\\\\\\\]]]]]]]]]]\\\\\\]]\\]]\\]]\\\\\\]]\\]]]]]]\\\\]]]ZY۷m[\\\\]]\\\\]]]]\\\\\\\\\\\\\\]]]]\\]]]]\\\\\\\\\\]]\\]]\\]]\\\\]]\\\\]]\\]]\\\\]]\\\\]]]]\\]]\\]]\\\\]]]]]]]]\\\\\\\\]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]\[mқud\\]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]\\]]]]]]]]]]]]]]]]]]]]]]]]\\]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]\\]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]\\]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]\\]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]\\]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]\\]]]]]]]]]]\\]]]]]]]]]]]]\\]]]]]]]]]]]]]]]]]]]]\\]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]\\\\]]]]\\]]]]]]]]]]\\]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]\\]]]]]]]]\\]]]]]]\\]]\\]]]]]]]]]]]]]]]]]]]]]]\\]]]]]]]]]]\\]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]\\\\]]]]\\]]]]\\]]\\]]\\]]]]]]]]\\]]]]]]]]\\]]]]]]]]]]\\]]\\\\]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]\\]]]]]]]]]]]]]]\\]]]]]]]]]]]]]]\\]]]]]]]]]]]]\\]]]]]]]]]]]]]]]]]]]]]]]]]]]]\\\\]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]\\\]]]]\\]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]\\ezқud\\]]]]]]]]]]]]]]]]]]]]]]]]]]]\\]]]]\\]]]]]]]]\\]]]]\\]]]]]]]]\\]]]]]]]]\\]]]]]]]]]]\\]]]]]]]]]]]]]]]]]]]]]]\\]]\\]]\\\\]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]\\\\\\]]]]]]]]]]]]]]]]]]]]]]]]]\\amԢ|f\\]]]]]]]\\]]]]]]]]]]]]]]]]]]]]]]]]]]]]\\\\]]\\]]]]]]]]\\\\\\]]\\]]]]]]\\][Yxŀ\\\]]]]]]]]]]]]\\]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]\\]]\\]]]]]]\\]]]]\\]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]\[Zr̎h_\]]]]]]]]]]\\\\\\\\\[Zp͎i`\]]]]\\]]]]]]]]\\]]]]]]\\]]]]]]\\\\]]\\\\]]\\]]]]\\]]]]\\]]]]]]]]\\]]]]]]]]]]\\]]\\]]]]]]]]\\]]]]]]]]]]\\\\\\]]]]]]]]]]]]\\[oӭvZ[]]]]]\\\\]]]]\\\\]]]]]]\\]]\\\\\\]]]]]]]]]]]]\\\\\\]]]]]]\\]]]]]]]]\\]]]]]]]]]]]]]\\du۷m[[]\\\\]]]]]]]]\\]]]]]]]]\\]]]]]]]]\\\\]]]]]]\\]]]]]]]]]]]]]]\\\\]]]]]]]]\\\\]]]]\\\\\\]]\\\\\\]]]]]]]]]]\\]]]]]]\\]]\\]]\\]]]]]]]]]]]]]]]]\\\\]]\\]]\\\\\\\\]]]]]]]]]]\\]]]]]]\\]]\\\\]]\\]]]]]]]]\\]]]]\\\duқud\\\]]\\\\]]]]\\]]]]\\\\]]\\]]\\]]]]\\]]\\\\]]\\]]]]]]]]]]]]\\]]]]\\]]\\\\]]\\\\]]\\]]\\]]\\\\\\]]]]]]]]\\]]]]\\]]\\\\]]\\]]]]]]\\]]]]\\\\\\\\]]]]]]\\]]]]]]\\\\\\]]]]]]\\\\]]\\\\\\]]]]\\]]]]\\\\\\]]]\]xܺc]\]]\\\\]]]]]]]]]]]]]]]]\\\\\\]]\\\\]]]]\\]]]]\\\\\\]]]]\\\\\\\\]]]]\\\\]]\\]]]]]]\\]]]]]]]]]]\\]]]]]]]]]]]]]]]]]]]]]]\\]]]]\\]]\\]]]]]]\\]]\\]]]]\\]]]]]]]]]]\\]]\\\\]]]]]]\\\\\\]]]]]]]]]]]]]]\\]]\\]]\\]]\\\\]]\\]]][Zq^\]]]\\]]\\\\\\\\]]]]]]]]]]]]\\]]\\]]\\\\\\]]\\]]]]]]\\\\\\]]]]\\]]\\\\]]\\]]\\]ZY۷m[\]\\\\]]]]]]]]]]\\\\\\\\\\\\\\\\]]]]\\\\\\]]]]]]\\]]\\]]]]]]]]]]\\\\\\\\]]]]]]\\\\\\]]]]\\]]]]]]\\]]]]\\\\]]]]]]]]]]\\\\]]\\\\]]\\\\\\]]\\\\\\]]]]\\]]]]]]]]]]\\\\\\\\\\]]]]]]]]]]\\\\\\]]\\]]\\]]\\\\\\]]\\]]]]]]\\\\]]]ZY۷m[\\\\]]\\\\]]]]\\\\\\\\\\\\\\]]]]\\]]]]\\\\\\\\\\]]\\]]\\]]\\\\]]\\\\]]\\]]\\\\]]\\\\]]]]\\]]\\]]\\\\]]]]]]]]\\\\\\\\]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]\[mқud\\]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]\[iқud\\]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]`ٰj[\]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]][Ztˈc^\]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]][YwƂ^\]]]]]]]]]]]]]]]]]]]]\[kԠze\\]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]][ZtşqZ[]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]\\du۷m[\]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]\\]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]\\duқud\\]]]]]]]]]\\]]]]]]]]]]]]\\]]]]]]]]]]\\]]]]]]]]]]]]\\]]]]]]]]]]]]]]]]\\]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]\\]]\\]]]]]]]]]]]]]]]]]]]]]^cğs]\\]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]\\]]]]]]]]]]]]]]]]\\]]\\]]]]]]]]]]]]]]]]]]]]]]\\]]]]]]]]]]\\]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]\\\\]]]]\\]]]]\\]]\\]]\\]]\\]]]]\\]]]]]]]]\\]]]]]]]]]]\\[hˍh_\]]]]\\]]]]]]]]]]]]]]\\]]]]]]]]]]]]\\]]]]]]]]]]]]]]]]]]]]]]]]]]]]\\\\]]]]]]]]]ZY۷m[\]]]]]]]\\]]]]]]]]]]]]]]\\]]]]]]]]]]]]]]]]\\]]\\]]\\]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]\\]]\\]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]\\]]]]]]]]]]\\]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]\\]]]]]]]]]]]]]]]]]]]]]]]]\\]]]]]]\\]]\\]]]]]]]]]ZY۷m[\]]]]]\\]]]]\\]]]]]]]]]]]]\\\\]]]]]]]]]]]]]]]]]]]]]]\\]]\\\\]]]]]]]]]]]]]]]]]]]]]]]]]]\\]]]]\\]]]]]]]]]]]]]]]]]]]]]]]]\\]]]]]]]]\\]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]\[mқud\]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]\[kқud\\]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]][Y}۷m[\]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]\[oГnb\]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]\]~zYZ]]]]]]]]]]]]]]]]]]]]\\f|ٰj[\]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]][Yx۷m[\]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]\\du۷m[\]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]\\]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]\\duқud\\]]]]]]]]]\\]]]]]]]]]]]]\\]]]]]]]]]]\\]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]\\]]\\]]]]]]]]]]]]]]]]]]]\\csթi[\\]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]\\]]]]]]]]]]]]]]]]\\]]\\]]]]]]]]]]]]]]]]]]]]]]\\]]]]]]]]]]\\]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]\\\\]]]]\\]]]]\\]]\\]]\\]]]]]]]]\\]]]]]]]]\\]]]]]]]]]]\\\amӞxe\\]]]\\]]]]]]]]]]]]]]\\]]]]]]]]]]]]\\]]]]]]]]]]]]]]]]]]]]]]]]]]]]\\\\]]]]]]]]][Y۷m[\]]]]]]]\\]]]]]]]]]]]]]]\\]]]]]]]]]]]]]]]]\\]]\\]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]\\]]\\]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]\\]]]]]]]]]]\\]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]\\]]]]]]\\]]\\]]]]]]]]]ZY۷m[\]]]]]\\]]]]\\]]]]]]]]]]]]\\\\]]]]]]]]]]]]]]]]]]]]]]\\]]\\\\]]]]]]]]]]]]]]]]]]]]]]]]]]\\]]]]\\]]]]]]]]]]]]]]]]]]]]]]]]\\]]]]]]]]\\]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]\\mқud\]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]\[mқud\\]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]][Zy۷m[\]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]\[iԢ|f\\]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]^cԮvY[]]]]]]]]]]]]]]]]]]]]\\bnݾo[\]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]][Y|שi\\]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]\\dv۷m[\]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]\\duқud\\]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]\[kŎl`\\]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]`~ڳl[\]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]][Z۷m[\]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]][Y۷m[\]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]\\mқud\]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]\[mқvd\]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]][[tݾo[\]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]\\duٰk[\]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]\\apÞq[[]]]]]]]]]]]]]]]]]]]]]]^dΨtZ\]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]`љtc\\]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]\dv۷m[\]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]\\dvқud\\]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]][Zrԯz^]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]][ZqǡrZ[]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]][Z۷m[\]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]][Y۷m[\]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]\[mқud\\]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]\[mқvd]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]\[o̧t[[]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]\_gݾp[\]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]\\hٲl\\]]]]]]]]]]]]]]]]]]]]]]\]}zZ[]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]anˇb^]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]eu۷m[\]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]\dvқud\\]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]][Yy۷n\\]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]\[hٳwY[]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]][Y۷m[\]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]ZY۷m[\]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]\[mқvd\\]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]\\[[[[[[[[[[[[[[[[[[[[\\\\\\\]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]\\\\\[\\[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[\\\\]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]\\\\\[[\\\[[[[[[[[[[[[[[[[[[[[[[[[Z[[[\[[\\\\\\]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]\[mқvd]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]\[kԮw[[]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]^ʥt[\]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]\[mԢ|f\]]]]]]]]]]]]]]]]]]]]]]]\ZvƂ_]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]\\f|}Y[]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]\du۷m[\]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]\duқud\\]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]^cНxe\\]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]am^\]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]ZY۷m[\]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]][Y۷m[\]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]\\mқvd]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]\\\[[[ZZZZZZZZZZZZZZZZZYZ[[Z[[\\\\]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]\]]\\\[[[[[[ZZZZZZZZZZZZZZYYYZZZZZZZZZZZZ[[[[\\\\\]\]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]\\[\[[[[[ZZZZZZZZZZZZZZZZZZZZZZZZYYYYZZ[[[[[\\\\\\\]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]\\mқud\]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]\\f}Ӯv[\]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]\[{կw[\]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]\[rДnb]]]]]]]]]]]]]]]]]]]]]]]]\[r̎ia]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]\\kڴyZ[]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]\du۷m\\]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]\duқud\\]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]\eyÆc^]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]_ˍh`\]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]][Y۷m\\]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]][Y۷m[\]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]\\mқve]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]\\\[]bgkoruxz~~{xvurolhea^\[[\]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]\\\[[[[]`cdfkmmptwwwxz~~}zxwwupmmkfdca][\\\\]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]\\\\\[]acdfkmmpuwwwxz~~|zxwwupmmkfcb`][\\\\]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]\\mҝwe\\]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]\bpسx[\]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]\Zv|\\]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]][ZwȈd^]]]]]]]]]]]]]]]]]]]]]]]]\\mҝwe]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]\[pʤt[\]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]\du۷m\\]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]duқud]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]\[lԭvY[]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]][YvӞye\\]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]][Y۷m\\]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]][Y۷m[\]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]^^]]]]^^^^]]]]]]]]]]]]]]]]]]]]]]]]]]^^]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]^^]]]]]]]]]]]]]]]]]]]]]]]]]]]\\mқve]]]]]]]]]]]]]]]]]]]]]]]]]^^]]]]]]]]]]]]]]^^]]]]]]]]]]]]]]]]]]]]]]]]^^]]]]]]]]]]]]]]]]]]]]]]]]^^]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]^^^^]]]]]]]]]]]]]]]]^^]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]^^]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]\[ZZ`n}Ľwmd]ZZ[\]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]\\[[[ZY_jqt}ƿ}tqj_YZ[[[\\]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]^^]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]\\[[[ZY_jqt}ƿ}tqj_YZ[[\\\]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]\\mӠzf\]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]_e|Z\]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]\[rƂ_]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]][Y|}]\]]]]]]]]]]]]]]]]]]]]]]]]\\iخj\]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]][[tܹn\\]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]\du۷m\]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]evқud\]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]\Zs۸m[\]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]\[mڳl\\]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]][Z۷m\]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]][Z۷m\\]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]^^]]]]]]]]]]]]^^]]]]^^^^]]]]]]]]]]]]]]]]]]]]]]]]]]^^]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]^^]]]]]]]]]]]]]]]]]]]]]]]]]]]]\mқve]]]]]]]]]]]]]]]]]]]]]]]]]^^]]]]]]]]]]]]]]^^]]]]]]]]]]]]]]]]]]]]]]]]^^]]]]]]]]]]]]]]]]]]]]]]]]^^]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]^^^^]]]]]]]]]]]]]]]]^^]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]^^]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]^^]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]\\^djqv{Ǽ{wqlfb_]\]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]\\\[]bfjnruxz};~zwtpmie`][\\]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]^^]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]^^]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]\\\[]bfjnruxz};~zwtpmiea]\\\]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]\m֧h\]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]_~Z[]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]][m͍g`]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]^bԮvZ[]]]]]]]]]]]]]]]]]]]]]]]]]]dtp[\]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]][Zx֩i\]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]dv۷m\]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]evқvd\]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]\]{Нye]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]fzǢr[\]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]][Z۷m\\]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]][Z۷m\]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]^^]]^^^^]]]]^^]]^^]]]]]]^^]]^^]]^^]]^^]]^^^^^^]]]]]]]]]]]]^^^^^^^^]]]]]]^^^^]]^^]]]]^^^^]]^^^^^^]]^^^^^^^^]]]]^^]]^^]]]]^^^^]]^^^^]]]]^^]]]]]]]]]]^^]]^^]]]]]]]]^^^^]]^^^^]]]]]]^^]]^^^^]]^^]]]]^^]]^^]]^]\nқve]]]]]^^^^^^^^^^]]^^^^]]]]]]^^^^^^^^^^]]]]^^^^^^^^]]^^^^^^^^]]^^]]]]]]]]^^^^]]]]]]^^]]]]]]^^^^^^]]]]^^]]^^^^]]]]^^]]]]^^]]]]^^^^^^]]^^]]^^]]]]]]]]]]]]^^]]]]^^]]]]]]]]^^^^]]^^^^]]]]^^]]]]]]^^]]^^]]]]]]]]]]]]]]^^^^]]]]]]]]]]^^^^]]^^^^]]^^]]]]]]]]^^]]^^^^]]]]]]]]^^]]^^]]]]^^]]]]]]^^]]]]]]]]]]^^^^^^]]]]]]]]]]^^]]^^]]]]]]]]]]^^^^^^]]^^^^]]]]^^^^]]]]^^]]^^^^]]]]^^]]]]^^^^]]]]]]]]^^]]]]^^]]\[ZbsƼ|nd][\]]]]^^^^^]]^^]]^^]]^^]]]]]]^^^^^^^^^^^^]]]]]]]]]]^^^^^^^^]]^^]]^^^^]]]]]]]]^^^^^^]]]]]]^^]]]]^^]]]]^^]]^^^^]]]]^^]]^^]]]]^^]]]]]]]]]]]]^^]]\\[ZYan{ĺvj_ZZ[\]]]]]]]^^]]]]]]]]^^]]^^^^^^^^^^]]]]]]]]]]]]]]]]^^^^^^^^]]]]]]]]]]]]]]^^]]]]]]^^]]]]^^^^^^]]^^]]^^]]^^]]]]]]^^]]]]^^]]]]]]]]]]]]]]^^]]]]]]]]]]]]^^]]]]^^]]^^^^]]]]]]^^^^^^^^]]]]]]]]^^]]]]^^]]^^]]]]^^]]]]]]^^]]^^]]]]]]^^^^^^]]]]^^]]]]]]]]^^]]^^]]^^^]]]\\[ZYan{ĺvj_Z[[\\]]]]]]^^]]]]]]]]^^^^]]]]]]^^]]^^]]]]]]]]^^^^]]^^^^^^]]]]]]]]]]]]]]]]]]^^^^]]]]^^]]]]]]]]]]]^^^]]^^^^^^^^]]]]]]^^]]]]]]]]^^]]]]]]^^^^]]^^]]^^]]]]]]^^]]]]]]^^^]]]]]^]\nٲl\]]^^]]^^]]^^]]]]]]]]]]]]^^]]^^]]]]]]]]]]]]^^]]]]]]^^]]]]]]]]]]]]^^]]]]]]^^]]^^]]^^]]]]]]^^]]]]^^]]]]^^]]^^]]]]]]]]]]]]^^^^]]]]]]]]]]]]]]^^]]^^]]]]^^]]]]]]]]]]]]^^]]^^]]]]]]]]]]]]]]]]]]]]]]]]]]]]]\\Z[]]]]]]]^^^^]]]]]]]]]]^^]]]]]]]]]]]]^^]]]]]]]]^^]]]]]]]]]]]]]]]]^^]]]]]]]]]]\iқud]]]]]]]]]]]]]^^]]]]]]^^]]]]]]]]]]]]]]]]]]]]]]^^]]]]^^]]]]]]]]]]]]]]]]]]^^]]^^]]^^^^]]]]^^]]]]^^]]]]]]]]]]]]]]]]]]^^]]]]]dtŠq[\]]]]]^^]]^^]]]]]]]]]]]]]]]^bҬv[\]]]^^]]]]]]]]]]]]]]^^]]]]]]]]]]^^]]^^]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]^^]]]]]]]]]]]]]]^^]]]]]]]]]]]]]]]]]]]]]]]]]]]]][Y{қve]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]^^]]]]]]^^]]]]]]]]]]^^]]]]^^]]]]]]]]]]]]]]]]]]]]]]]ev۷m\]]]]]]]]^^]]]]]]^^]]]]]]]]]]]]]]]]]]^^]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]^^]]]]]]]]]]]]]]^^]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]^^]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]^^]]]]]]]]]]]evқvd]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]^^]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]^dÆd^]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]`iٳxZ\]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]][Z۷m\\]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]][Z۷m\\]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]^^]]^^^^]]]]^^]]^^]]]]]]^^]]^^]]^^]]^^]]^^^^^^]]]]]]]]]]]]^^^^^^^^]]]]]]^^^^]]^^]]]]^^^^]]^^^^^^]]^^^^^^^^]]]]^^]]^^]]]]^^^^]]^^^^]]]]^^]]]]]]]]]]^^]]^^]]]]]]]]^^^^]]^^^^]]]]]]^^]]^^^^]]^^]]]]^^]]^^]]^]\nқve]]]]]^^^^^^^^^^]]^^^^]]]]]]^^^^^^^^^^]]]]^^^^^^^^]]^^^^^^^^]]^^]]]]]]]]^^^^]]]]]]^^]]]]]]^^^^^^]]]]^^]]^^^^]]]]^^]]]]^^]]]]^^^^^^]]^^]]^^]]]]]]]]]]]]^^]]]]^^]]]]]]]]^^^^]]^^^^]]]]^^]]]]]]^^]]^^]]]]]]]]]]]]]]^^^^]]]]]]]]]]^^^^]]^^^^]]^^]]]]]]]]^^]]^^^^]]]]]]]]^^]]^^]]]]^^]]]]]]^^]]]]]]]]]]^^^^^]\\\\\\[[\\\\\\\\\\\\[[[[\\\\\\\[[\\\\\\\[\\\\[\\]]^^]]^^^^]]]]^^]]]]^^^^]]]]]]]]^^]]]]]]]ajqyò~uoic_]\]]]^]]^^]]^^]]^^]]]]]]^^^^^^^^^^^^]]]]]]]]]]^^^^^^^^]]^^]]^^^^]]]]]]]]^^^^^^]]]]]]^^]]]]^^]]]]^^]]^^^^]]]]^^]]^^]]]]^^]]]]]]]]]]\\\]aekpuy}{vrnic_]\\]]]]]]]]]]]^^]]^^^^^^^^^^]]]]]]]]]]]]]]]]^^^^^^^^]]^^]]]]]]]]]]^^]]]]]]^^]]]]^^^^^^]]^^]]^^]]^^]]]]]]^^]]]]^^]]]]]]]]]]]]]]^^]]]]]]]]]]]]^^]]]]^^]]^^^^]]]]]]^^^^^^^^]]]]]]]]^^]]]]^^]]^^]]]]^^]]]]]]^^]]^^]]]]]]^^^^^^]]]]^^]]]]]]]]^^]]^^]]]\\]`ejpuy}{wrnib^]\\]]]]]]]]]]]^^^^]]]]]]^^]]^^]]]]]]]]^^^^]]^^^^^^]]]]]]]]]]]]]]]]]]^^^^]]]]^^]]]]]]]]]]^^^^]]^^^^^^^^]]]]]]^^]]]]]]]]^^]]]]]]^^^^]]^^]]^^]]]]]]^^]]]]]]^^^^]]]]^]\mܼo\\]^^]]^^]]^^]]]]]]]]]]]]^^]]^^]]]]]]]]]]]]^^]]]]]]^^]]]]]]]]]]]]^^]]]]]]^^]]^^]]^^]]]]]]^^]]]]^^]]]]^^]]^^]]]]]]]]]]]]^^^^]]]]]]]]]]]]]]^^]]^^]]]]^^]]]]]]]]]]]]^^]]^^]]]]]]]]]]]]]]]]]]]]]]]]]]]]]\[|ɀZ[]]]]]]]^^^^]]]]]]]]]]^^]]]]]]]]]]]]^^]]^^]]]]^^]]]]]]]]]]]]]]]]^^]]]]]]]]]]]dtשi\]]]]]]]]]]]]^^]]]]]]^^]]]]]]]]]]]]]]]]]]]]]]^^]]]]^^]]]]]]]]]]]]]]]]]]^^]]^^]]^^^^]]]]^^]]]]^^]]]]]]]]]]]]]]]]]]^^]]]]]j۷m\]]]]]]^^]]^^]]]]]]]]]]]]]]][Y}|\\]]]^^]]]]]]]]]]]]]]^^]]]]]]]]]]^^]]^^]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]^^]]]]]]]]]]]]]]^^]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]_ˎja]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]^^]]]]]]^^]]]]]]]]]]^^]]]]^^]]]]]]]]]]]]]]]]]]]]]]]ev۷m\]]]]]]]]^^]]]]]]^^]]]]]]]]]]]]]]]]]]^^]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]^^]]]]]]]]]]]]]]^^]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]^^]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]^^^^]]]]]]]]]evқve]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]^^]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]dsհvZ\]]]]]]]]]^^]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]_^]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]][Z۷m\\]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]][Z۷m\\]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]^^^^]]^^^^^^]]^^^^^^^^^^]]^^^^]]]]]]^^^^^^^^]]^^^^^^^^]]^^^^^^^^]]]]^^]]^^^^^^^^^^^^^^^^^^]]^^^^^^]]^^^^^^^^^^^^^^]]^^^^^^]]^^^^^^]]^^^^]]^^^^]]^^]]^^^^^^^^^^]]^^^^^^^^^^^^^^^^^^^^^^^^]]^^]]^^]]]]^^^^^]\nқve]]^]]^^^^^^^^^^^^^^]]^^^^]]]]^^]]]]^^^^^^]]^^^^^^^^^^]]]]^^]]^^^^^^]]]]^^^^^^^^^^^^^^^^^^]]^^^^^^^^^^]]]]]]^^^^^^^^^^^^]]^^^^]]]]^^^^^^]]^^^^]]^^]]^^^^]]]]^^]]^^^^^^^^]]^^]]^^]]^^]]^^]]^^^^^^^^^^^^^^]]^^]]]]^^]]^^^^^^^^^^^^^^^^^^^^]]^^]]^^^^^^]]^^]]^^^^]]]]^^^^]]^^^^]]]]^^^^^^^^]]]]^^]]^^^^^^^]\[[[[ZZZZ[ZZZZZZ[[[ZZZZZZ[[[[[ZZZZ[[ZZ[ZZZZZZZZ[\]^^]]^^^^^^^^^^^^]]^^]]^^]]^^]]]]]]]]]]_mȻpd^[\]]]^^]]^^^^]]^^^^^^^^^^^^^^]]^^^^^^^^^^^^^^^^^^^^]]]]^^^^^^^^^^^^^^]]^^^^^^]]^^^^]]]]^^]]^^^^^^]]]]]]^^]]]]]]^^]]^^]]^^^^]]]]]\\[[_iwƼpd][\\]]]]^^]]^^^^^^^^^^^^^^]]]]^^]]]]]]^^^^]]]]^^^^^^]]^^]]^^^^^^^^^^^^^^^^]]]]^^]]^^]]]]^^]]]]]]^^^^^^]]]]^^^^^^^^^^^^^^^^^^^^^^]]^^^^]]]]]]^^^^^^^^^^^^^^^^]]^^]]^^]]^^^^^^^^^^^^]]^^^^^^]]]]^^]]]]^^]]^^^^^^]]^^^^^^^^]]^^^^]]^^^^]]^^^^^^^^]]\\Z_iwƻqd][\]]]]]^^^^^^^^]]]]^^]]^^^^]]^^]]^^]]^^^^]]^^]]^^^^]]]]^^^^^^^^^^^^^^^^]]^^^^^^]]]]]]]]]]^^^^^^^^]]]]]]^^^^]]^^]]^^^^^^^^^^^^^^^^^^^^]]]]^^]]]]]]]]]]]]^^]]]]]]^]\jǡr[\]]]]]]]^^]]^^]]^^^^]]]]^^^^]]]]]]]]]]]]^^^^^^^^]]^^]]]]^^^^^^^^]]^^]]]]]]]]^^]]]]^^^^^^]]^^^^]]]]]]^^]]]]^^]]^^^^]]^^^^]]^^]]^^]]]]^^]]^^^^]]^^^^]]^^]]^^^^]]]]^^]]^^]]]]]]]]]]^^^^]]^^^^]]^^]]]]^\[yɀZ\]^^]]^^^^^^]]^^]]]]^^]]^^^^^^]]]]^^]]^^^^]]^^]]^^]]^^^^^^^^^^^^]]]]^^^^]]]]]^b۸n\]]^^]]]]]]^^]]]]]]^^^^]]^^^^^^^^^^]]^^]]^^^^]]^^]]^^]]^^^^]]^^]]^^^^]]^^]]]]^^]]]]^^^^^^]]]]]]]]^^^^^^^^^^^^]]^^^^]]]]\nתi\]^]]^^]]^^]]^^]]]]^^]]]]]]]\[yƂ_]^^^^^^^^^]]]]^^]]^^]]]]^^^^]]]]]]^^]]]]]]]]^^]]]]]]]]^^]]^^]]]]^^^^^^]]]]^^^^^^^^]]]]]]^^]]]]^^]]^^]]]]]]^^]]^^]]^]]`j`]]]]^^^^^^^^]]^^^^]]]]^^]]]]^^^^^^^^^^]]]]]]^^^^]]^^^^]]^^]]^^^^]]]]]]]]]]^^^^^^^^]]^^]]]ev۷m\]^^^]]^^]]]]^^]]]]]]^^^^]]^^^^]]]]]]^^^^]]]]^^^^]]^^]]]]^^^^^^]]^^^^^^^^^^]]^^^^^^^^^^]]]]]]^^]]^^]]^^^^]]]]]]^^]]^^^^]]]]^^]]^^]]]]^^^^]]]]]]^^]]]]]]^^]]]]]]]]]]]]^^^^]]]]]]]]]]]]]]]]]]]]^^]]]]]]^^^^]]]evқve]]^]]]]]]]]]]]]^^^^]]]]]]^^^^^^]]^^]]]]]]]]]]^^^^^^]]]]]]]]]]]]]]]]]]]]]]^^]]^^]]]]^^]]]]]]]]]]^^^^]]]]^^]]^^]]^^]]]]]]]]^^]]]]]]^^^^]]]]]]]]]]^^]]]]]]]]]]^^^^^^]]^^]]]]]]]]]]]]]]]]]]]]^^^^^^^]\lܼn[\]]]]]]]^^]]]]^^^^^^]]^^^^]]]]^^]]^^]]]]]]]]]]^^^^]]^^]]]]]]]]]]]]]]]]]]^^^^]]]]]]^^]]]]]]]]^^^^]]]]^^]]^^^^]]]]]]]]]]^^]]]]]]^^^^]]]]^^]]]]^^^^^^]]]]]]]]^^^^]]]]]]^^]]]]]]]]^^]]^^]]]]^^]]]]^^]]]]^^]]]]^^]]]]]]]]]]]]]]^^^^]]]]]]\ůe_]]]]]^^]]^^]]^^]]^^]]^^]]^^]]^^]]]]]]]]]]]]]]^^]]^^^^]]]]^^]]]]]]]]^^]^^^][Z۷n\]]]^^^^^^^]]^^]]^^]]]]]]^^]]]]]]]]]]]]^^]]]]]]^^]]]]^^^^]]^^^^^^^^]]]]^^]]^^]]]]^^^^]]^^]]^^]]^^^^]]]]]]^^]]]]]]]]]]]]]]]]^^]]]]]]]]]]^^]]^^]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]^^]]]]]]]]]]]]^^]]^^]]^^]]]]]]^^]]^^]]^^]]^^][Z۷m\\]]]]]]]]]]]^^]]]]]]]]]]]]^^]]^^]]]]^^]]]]]]]]]]]]]]]]]]]]]]^^]]]]]]]^^^^^^^]]]]^^^^]]^^]]]]^^]]]]]]]]]]]]]]]]]]]]^^^^]]]]^^]]]]]]^^^^]]^^^^^^]]^^^^^^^^^^]]^^^^]]]]]]^^^^^^^^]]^^^^^^^^]]^^^^^^^^]]]]^^]]^^^^^^^^^^^^^^^^^^]]^^^^^^]]^^^^^^^^^^^^^^]]^^^^^^]]^^^^^^]]^^^^]]^^^^]]^^]]^^^^^^^^^^]]^^^^^^^^^^^^^^^^^^^^^^^^]]^^]]^^]]]]^^^^^]\nҜve]]^]]^^^^^^^^^^^^^^]]^^^^]]]]^^]]]]^^^^^^]]^^^^^^^^^^]]]]^^]]^^^^^^]]]]^^^^^^^^^^^^^^^^^^]]^^^^^^^^^^]]]]]]^^^^^^^^^^^^]]^^^^]]]]^^^^^^]]^^^^]]^^]]^^^^]]]]^^]]^^^^^^^^]]^^]]^^]]^^]]^^]]^^^^^^^^^^^^^^]]^^]]]]^^]]^^^^^^^^^^^^^^^^^^^^]]^^]]^^^^^^]]^^]]^^^^]]]]^^^^]]^^^^]]]]^^^^^^^^]]]]^^]]^^^^^]]dqz~zmd`]]]^^^^^^^^^^^^]]^^]]^^]]^^]]]]]]]bjs~л|sme^\]]]]^^^^]]^^^^^^^^^^^^^^]]^^^^^^^^^^^^^^^^^^^^]]]]^^^^^^^^^^^^^^]]^^^^^^]]^^^^]]]]^^]]^^^^^^]]]]]]^^]]]]]]^^]]^^]]^^^]]\[^djou{ŷysmf`]\]]]]^^^^^^^^^^^^^^]]]]^^]]]]]]^^^^]]]]^^^^^^]]^^]]^^^^^^^^^^^^^^^^]]]]^^]]^^]]]]^^]]]]]]^^^^^^]]]]^^^^^^^^^^^^^^^^^^^^^^]]^^^^]]]]]]^^^^^^^^^^^^^^^^]]^^]]^^]]^^^^^^^^^^^^]]^^^^^^]]]]^^]]]]^^]]^^^^^^]]^^^^^^^^]]^^^^]]^^^^]]^^^]]\\^djpu{Ÿysmf`]\]]]^^^^^]]]]^^]]^^^^]]^^]]^^]]^^^^]]^^]]^^^^]]]]^^^^^^^^^^^^^^^^]]^^^^^^]]]]]]]]]]^^^^^^^^]]]]]]^^^^]]^^]]^^^^^^^^^^^^^^^^^^^^]]]]^^]]]]]]]]]]]]^^]]]]]]^]]hѫv[\]]]]]]]^^]]^^]]^^^^]]]]^^^^]]]]]]]]]]]]^^^^^^^^]]^^]]]]^^^^^^^^]]^^]]]]]]]]^^]]]]^^^^^^]]^^^^]]]]]]^^]]]]^^]]^^^^]]^^^^]]^^]]^^]]]]^^]]^^^^]]^^^^]]^^]]^^^^]]]]^^]]^^]]]]]]]]]]^^^^]]^^^^]]^^]]]]^\[uɀ[\]^^]]^^^^^^]]^^]]]]^^]]^^^^^^]]]]^^]]^^^^]]^^]]^^]]^^^^^^^^^^^^]]]]^^^^]]]]]\Z}ßr\\]^^]]]]]]^^]]]]]]^^^^]]^^^^^^^^^^]]^^]]^^^^]]^^]]^^]]^^^^]]^^]]^^^^]]^^]]]]^^]]]]^^^^^^]]]]]]]]^^^^^^^^^^^^]]^^^^]]]\\rњtd]]^]]^^]]^^]]^^]]]]^^]]]]]]]\\t͍g`^^^^^^^^^]]]]^^]]^^]]]]^^^^]]]]]]^^]]]]]]]]^^]]]]]]]]^^]]^^]]]]^^^^^^]]]]^^^^^^^^]]]]]]^^]]]]^^]]^^]]]]]]^^]]^^]]^]]evڵy[\]]]^^^^^^^^]]^^^^]]]]^^]]]]^^^^^^^^^^]]]]]]^^^^]]^^^^]]^^]]^^^^]]]]]]]]]]^^^^^^^^]]^^]]]ev۷m\]^^^]]^^]]]]^^]]]]]]^^^^]]^^^^]]]]]]^^^^]]]]^^^^]]^^]]]]^^^^^^]]^^^^^^^^^^]]^^^^^^^^^^]]]]]]^^]]^^]]^^^^]]]]]]^^]]^^^^]]]]^^]]^^]]]]^^^^]]]]]]^^]]]]]]^^]]]]]]]]]]]]^^^^]]]]]]]]]]]]]]]]]]]]^^]]]]]]^^^^]]]evқve]]^]]]]]]]]]]]]^^^^]]]]]]^^^^^^]]^^]]]]]]]]]]^^^^^^]]]]]]]]]]]]]]]]]]]]]]^^]]^^]]]]^^]]]]]]]]]]^^^^]]]]^^]]^^]]^^]]]]]]]]^^]]]]]]^^^^]]]]]]]]]]^^]]]]]]]]]]^^^^^^]]^^]]]]]]]]]]]]]]]]]]]]^^^^^^^\[sԥh]]]]]]]]]^^]]]]^^^^^^]]^^^^]]]]^^]]^^]]]]]]]]]]^^^^]]^^]]]]]]]]]]]]]]]]]]^^^^]]]]]]^^]]]]]]]]^^^^]]]]^^]]^^^^]]]]]]]]]]^^]]]]]]^^^^]]]]^^]]]]^^^^^^]]]]]]]]^^^^]]]]]]^^]]]]]]]]^^]]^^]]]]^^]]]]^^]]]]^^]]]]^^]]]]]]]]]]]]]]^^^^]]]]]]\kֹe_]]]]]^^]]^^]]^^]]^^]]^^]]^^]]^^]]]]]]]]]]]]]]^^]]^^^^]]]]^^]]]]]]]]^^^^^^][Z۷n\]]^^^^^^^^]]^^]]^^]]]]]]^^]]]]]]^^]]]]^^]]]]]]^^]]]]^^^^]]^^^^^^^^]]]]^^]]^^]]]]^^^^]]^^]]^^]]^^^^]]]]]]^^]]]]]]]]]]]]]]]]^^]]]]]]]]]]^^]]^^]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]^^]]]]]]]]]]]]^^]]^^]]^^]]]]]]^^]]^^]]^^]]^^][Z۷m\]]]]]]]]]]]]^^]]]]]]]]]]]]^^]]^^]]]]^^]]]]]]]]]]]]]]]]]]]]]]^^]]]]]]^^^^^^^^]]]]^^^^]]^^]]]]^^]]]]]]]]]]]]]]]]]]]]^^^^]]]]^^]]]]]]^^^^^^^^^^^^]]^^^^^^^^^^^^^^]]^^^^^^^^^^^^^^^^^^^^^^^^^^]]]]^^^^^^]]^^^^^^^^^^]]]]^^^^^^^^^^^^^^^^^^^^]]]]^^^^^^^^]]^^^^^^^^^^^^^^^^^^^^^^^^^^]]^^^^^^^^^^^^^^^^^^]]^^^^^^^^^^]]^^^^^^^^^^^^^^]]^^^^^^^^^]]nҜve]]^^^^^^^]]^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^]]^^^^]]^^^^^^]]]]^^^^^^^^^^^^^^]]^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^]]^^^^^^^^^^]]^^]]^^^^^^^^^^^^^^^^^^^^]]]]^^^^^^^^^^]]]]^^^^]]^^]]^^^^^^^^^^^^^^]]^^^^^^^^]]^^^^^^^^^^^^^^^^]]^^]]^^^^^^^^^^]]^^^^^^^^]]^^^^]]^^^^^^]]^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^]]\q˶qd]]]^^^^^^^^^^^^^^^^^^]]^^^^]]]]]]_mƷydZ[]]]^^]]^^^^^^^^]]]]^^^^]]^^^^^^^^]]^^]]^^^^^^^^^^^^^^^^^^^^^^]]]]^^^^^^^^^^^^^^]]^^^^^^]]]]^^^^^^^^^^^^^^^^^^^^^^^^]]\[Zbtyj_[\]]^^^^^^^^^^^^^^^^^]]^^^^^^^^^^^^]]^^]]^^^^^^^^^^^^^^^^^^^^]]^^^^^^^^^^^^^^^^^^^^^^^^]]^^]]^^^^^^^^^^^^^^^^]]^^^^^^^^^^^^^^^^^^^^^^^^^^^^]]^^^^^^^^^^^^^^]]^^^^^^^^]]^^^^]]]]^^]]]]^^]]^^]]^^^^^^^^^^]]^^^^^^^^^^^^^^^^^^^^^^^^]]\[Zbtyi_Z\]]]]]^^]]^^^^^^^^^^]]^^^^^^^^^^^^^^^^^^^^^^^^^^]]]]^^^^^^^^^^^^^^^^^^^^^^]]]]^^]]^^^^]]]]^^^^^^]]]]]]^^^^^^]]^^^^^^^^]]^^^^^^^^^^]]]]]]^^]]]]^^^^^^^^^^^]]fyܷz[\^^^^^^^^^^^]]^^^^]]^^^^^^^^^^^^^^^^^^^^^^^^]]]]^^]]]]^^^^^^]]^^]]^^^^^^^^^^^^^^^^]]]]^^^^^^^^^^^^^^^^^^]]^^^^^^^^^^^^^^^^^^^^^^]]^^^^^^^^^^^^^^^^]]]]]]^^]]^^]]]]]]^^^^^^^^^^]]^^^^]]^^^^^^^^]]^^]\\rɀ[\^]]^^^^^^^^]]^^^^^^]]]]^^^^^^]]^^^^]]^^^^]]^^]]^^^^^^^^]]^^^^^^^^^^^^^^^^^^^\[yΨu[\^]]^^^^^^^^]]^^]]^^^^^^^^^^]]^^^^^^]]]]^^^^^^^^]]^^^^^^^^]]^^^^^^^^^^]]^^^^^^]]^^]]]]^^]]]]^^^^^^^^^^^^^^^^^^^^^^^^^\[wˈb^]^^^^^^^^]]^^^^^^^^^^]]]]]]]\\nқvd]]^^^]]^^^^^^]]^^^^^^^^^^^^^^^^^^^^^^^^]]]]^^^^]]^^^^^^^^^^^^]]^^]]^^^^]]^^^^^^^^^^^^]]^^^^]]]]^^]]]]^^]]^^]]^^]]]]\i̧t[\^^^]]^^]]^^^^^^^^^^^^^^^^^^^^^^^^^^]]^^^^^^^^]]^^^^^^^^^^]]^^^^^^]]]]^^]]]]]]^^^^^^^^^]]ev۷m\]]]]]]^^^^]]]]^^^^]]]]^^^^^^]]^^^^^^^^^^^^^^^^^^]]^^^^]]^^]]^^^^]]^^^^]]^^^^^^^^^^^^^^^^]]^^^^^^]]^^^^^^^^^^^^^^]]^^]]^^^^^^^^^^]]^^]]^^^^]]]]^^^^]]]]^^^^]]^^]]^^^^^^]]]]^^^^^^^^^^]]^^^^^^^^]]^^^^]]^^^]]evқve]]^]]]]^^]]^^^^^^]]]]]]^^]]^^^^^^]]^^^^]]]]^^^^]]^^]]]]^^^^]]^^]]^^]]]]^^^^^^]]]]]]^^^^^^^^^^^^^^^^^^]]]]^^^^^^]]]]^^^^]]^^]]]]^^]]^^]]^^^^^^^^]]]]^^^^^^]]^^^^]]]]]]^^^^^^^^^^]]]]^^]]^^^^^^^^]\Zxʏka]]]]]^^]]]]]]^^^^^^]]]]]]^^]]]]^^]]^^]]^^^^^^]]^^^^^^^^]]^^^^^^^^]]]]^^]]^^]]]]]]^^]]]]^^^^^^^^]]^^^^]]]]]]]]]]^^^^^^^^]]]]^^^^^^]]]]^^]]]]]]]]^^^^^^]]]]^^^^]]]]^^^^]]^^^^^^^^^^^^^^^^^^^^]]^^^^^^]]^^^^^^]]^^]]^^]]^^^^^^^^^^^^^^^]]dsŷp`^]^^^^^^^^]]^^^^^^^^^^^^^^^^^^^^]]^^^^^^^^^^^^^^^^^^^^]]^^^^^^]]]]^^]]]]^^]\Z۷m\]^]]^^]]^^^^^^^^^^]]]]^^^^^^]]^^]]^^^^]]]]^^^^^^]]^^]]^^^^^^]]]]^^^^]]]]^^^^^^]]]]^^]]^^^^^^^^^^]]]]]]^^^^^^^^^^^^]]^^^^]]^^^^^^]]]]]]^^]]]]^^]]^^]]]]]]^^^^]]^^^^^^]]]]]]]]]]]]^^^^]]]]]]^^]]]]^^^^^^^^]]^^]]]]^^^^]]]]][Z۸m\]^]]]]^^]]^^]]^^^^]]]]]]^^^^]]^^]]^^^^^^]]]]]]^^^^]]^^^^^^^^^^]]^^^^]]^^]]^^^^^^]]]]^^^^^^]]]]]]^^]]^^]]^^^^]]]]^^]]]]]]^^]]^^^^^^^^^^^^^^^^^^]]^^^^^^^^^^^^^^]]^^^^^^^^^^^^^^^^^^^^^^^^^^]]]]^^^^^^]]^^^^^^^^^^]]]]^^^^^^^^^^^^^^^^^^^^]]]]^^^^^^^^]]^^^^^^^^^^^^^^^^^^^^^^^^^^]]^^^^^^^^^^^^^^^^^^]]^^^^^^^^^^]]^^^^^^^^^^^^^^]]^^^^^^^^^]]nҜve]]^^^^^^^]]^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^]]^^^^]]^^^^^^]]]]^^^^^^^^^^^^^^]]^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^]]^^^^^^^^^^]]^^]]^^^^^^^^^^^^^^^^^^^^]]]]^^^^^^^^^^]]]]^^^^]]^^]]^^^^^^^^^^^^^^]]^^^^^^^^]]^^^^^^^^^^^^^^^^]]^^]]^^^^^^^^^^]]^^^^^^^^]]^^^^]]^^^^^^]]^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^]\[xҜwe]]]^^^^^^^^^^^^^^^^^^]]^^^^]]\^dm{ɴyrjb]]]]]^^^^^^^^]]]]^^^^]]^^^^^^^^]]^^]]^^^^^^^^^^^^^^^^^^^^^^]]]]^^^^^^^^^^^^^^]]^^^^^^]]]]^^^^^^^^^^^^^^^^^^^^]]]]afnuzǴxpha]]]]]^^^^^^^^^^^^]]^^^^^^^^^^^^]]^^]]^^^^^^^^^^^^^^^^^^^^]]^^^^^^^^^^^^^^^^^^^^^^^^]]^^]]^^^^^^^^^^^^^^^^]]^^^^^^^^^^^^^^^^^^^^^^^^^^^^]]^^^^^^^^^^^^^^]]^^^^^^^^]]^^^^]]]]^^]]]]^^]]^^]]^^^^^^^^^^]]^^^^^^^^^^^^^^^^^^^^]]\]afnu{Ǵwoha]\]]]]]^^^^^^^^^^]]^^^^^^^^^^^^^^^^^^^^^^^^^^]]]]^^^^^^^^^^^^^^^^^^^^^^]]]]^^]]^^^^]]]]^^^^^^]]]]]]^^^^^^]]^^^^^^^^]]^^^^^^^^^^]]]]]]^^]]]]^^^^^^^^^^^]]ev^]^^^^^^^^^^^]]^^^^]]^^^^^^^^^^^^^^^^^^^^^^^^]]]]^^]]]]^^^^^^]]^^]]^^^^^^^^^^^^^^^^]]]]^^^^^^^^^^^^^^^^^^]]^^^^^^^^^^^^^^^^^^^^^^]]^^^^^^^^^^^^^^^^]]]]]]^^]]^^]]]]]]^^^^^^^^^^]]^^^^]]^^^^^^^^]]^^]\\oնz[\^]]^^^^^^^^]]^^^^^^]]]]^^^^^^]]^^^^]]^^^^]]^^]]^^^^^^^^]]^^^^^^^^^^^^^^^^^^^]\uڵy[\^]]^^^^^^^^]]^^]]^^^^^^^^^^]]^^^^^^]]]]^^^^^^^^]]^^^^^^^^]]^^^^^^^^^^]]^^^^^^]]^^]]]]^^]]]]^^^^^^^^^^^^^^^^^^^^^^^^^]]~|Z[^^^^^^^^^]]^^^^^^^^^^]]]]]]]]\i׫j]]^^^]]^^^^^^]]^^^^^^^^^^^^^^^^^^^^^^^^]]]]^^^^]]^^^^^^^^^^^^]]^^]]^^^^]]^^^^^^^^^^^^]]^^^^]]]]^^]]]]^^]]^^]]^^]]]]\nݾp\]^^^]]^^]]^^^^^^^^^^^^^^^^^^^^^^^^^^]]^^^^^^^^]]^^^^^^^^^^]]^^^^^^]]]]^^]]]]]]^^^^^^^^^]]ev۷m\]]]]]]^^^^]]]]^^^^]]]]^^^^^^]]^^^^^^^^^^^^^^^^^^]]^^^^]]^^]]^^^^]]^^^^]]^^^^^^^^^^^^^^^^]]^^^^^^]]^^^^^^^^^^^^^^]]^^]]^^^^^^^^^^]]^^]]^^^^]]]]^^^^]]]]^^^^]]^^]]^^^^^^]]]]^^^^^^^^^^]]^^^^^^^^]]^^^^]]^^^]]ewқve]]^]]]]^^]]^^^^^^]]]]]]^^]]^^^^^^]]^^^^]]]]^^^^]]^^]]]]^^^^]]^^]]^^]]]]^^^^^^]]]]]]^^^^^^^^^^^^^^^^^^]]]]^^^^^^]]]]^^^^]]^^]]]]^^]]^^]]^^^^^^^^]]]]^^^^^^]]^^^^]]]]]]^^^^^^^^^^]]]]^^]]^^^^^^^^]]_ༀ_]^]]]]^^]]]]]]^^^^^^]]]]]]^^]]]]^^]]^^]]^^^^^^]]^^^^^^^^]]^^^^^^^^]]]]^^]]^^]]]]]]^^]]]]^^^^^^^^]]^^^^]]]]]]]]]]^^^^^^^^]]]]^^^^^^]]]]^^]]]]]]]]^^^^^^]]]]^^^^]]]]^^^^]]^^^^^^^^^^^^^^^^^^^^]]^^^^^^]]^^^^^^]]^^]]^^]]^^^^^^^^^^^^^^^^]^dƼ{oc]]^^^^^^^^^]]^^^^^^^^^^^^^^^^^^^^]]^^^^^^^^^^^^^^^^^^^^]]^^^^^^]]]]^^]]]]^^]\Z۷m\]^]]^^]]^^^^^^^^^^]]]]^^^^^^]]^^]]^^^^]]]]^^^^^^]]^^]]^^^^^^]]]]^^^^]]]]^^^^^^]]]]^^]]^^^^^^^^^^]]]]]]^^^^^^^^^^^^]]^^^^]]^^^^^^]]]]]]^^]]]]^^]]^^]]]]]]^^^^]]^^^^^^]]]]]]]]]]]]^^^^]]]]]]^^]]]]^^^^^^^^]]^^]]]]^^^^]]]]][Z۸m\]^]]]]^^]]^^]]^^^^]]]]]]^^^^]]^^]]^^^^^^]]]]]]^^^^]]^^^^^^^^^^]]^^^^]]^^]]^^^^^^]]]]^^^^^^]]]]]]^^]]^^]]^^^^]]]]^^]]]]]]^^]]^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^]]^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^]]nҜwe]]^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^]]^^^^]]^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^]\xҜwe]]^^^^^^^^^^^^^^^^^^^^^^^^^^\\ctȷm_]\]]^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^]]\\_i{k_]\]]^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^]]^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^]]^^^^^^^^^^^^]]^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^]]\[`j{k_\\]]^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^]]^^^^^^^^^^]]^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^]]]]^^^]]ewɉe`^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^]]^^^^^^]]^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^]]^^^^^^^^^^^^^^^^^^^^]]^^]]^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\\o»m]]^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^]]^^^^^^^^^^^^^^^^^^^^]]^^^^^^^]\p}Z\^^^^^^^^^^^]]^^^^^^^^^^^^^^^^^^^^]]^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^]]^^^^^^^^]]^^^^^^^^^^^^]]^^^^^^^^^^^^^_eհw[]^^^^^^^^^]]^^^^^^^^^^^^^^^^]]]evܼo\]^]]^^^^^^^^^^^^^^^^^^^^^^^^]]^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^]]]]^^^^^^^^^^^^^^^^^^^^]]^^^^^^^^^^^^^^^^^^]]^^^^^]\rٰl]]^^^^^^^^^^^]]^^^^^^^^^^^^^^^^^^]]^^^^^^^^^^^^^^^^^^^^^^]]^^^^^^^^^^^^^^^^^^]]^^^^^^^^^]]ev۷n\]^^^]]]]^^^^^^^^^^^^^^^^^^]]^^^^^^^^^^]]^^^^^^^^]]^^^^^^^^^^]]]]^^^^^^^^^^^^^^]]^^]]^^^^^^^^^^]]]]]]^^^^]]^^^^^^^^^^]]^^^^^^^^^^^^^^^^]]^^^^^^^^^^^^]]^^^^^^]]^^^^^^^^]]]]^^]]^^^^^^^^^^^^^^^^]]^^^^^^^^^]]ewқve]]]^^^^^^^^^^^^^^^^^^]]^^]]^^^^^^^^]]^^^^^^^^^^^^^^^^^^^^^^^^]]^^^^^^^^^^]]^^^^^^^^^^]]^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^]]]]^^^^]]^^^^^^]]^^^^^^^^^^^^^^]]^^]]^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^]]^]]ajΪv]]^^^^^]]^^^^^^^^^^^^^^^^^^]]^^^^^^^^^^]]^^^^^^^^]]^^^^]]^^^^]]^^]]^^]]^^^^^^^^]]^^^^^^^^]]^^^^^^^^^^^^^^^^^^^^^^^^^^]]^^^^]]]]]]^^]]^^]]^^]]^^^^^^^^]]^^^^^^^^^^^^^^^^]]^^^^^^^^^^^^^^]]]]^^^^^^^^^^^^^^^^^^^^^^^^]]]]^^^^^^^^^^^^^^^^^]]~̿|wrnjgc_]]^^^^^^^^^]]^^]]^^^^^^]]^^^^^^^^^^]]^^]]^^^^^^^^^^^^^^^^^^^^^^^^]]]]^^^^^^^[Z۸n\]^^^^^^^^^^^^^^^^^^^^^]]]]^^^^]]^^^^^^^^^^]]^^]]^^^^^^^^]]^^^^^^^^^^]]^^^^^^^^^^^^^^^^^^^^^^^^]]^^^^^^^^^^^^^^^^^^]]^^^^^^^^^^^^]]]]^^^^^^^^]]^^]]^^^^^^^^^^^^]]]]^^]]^^^^^^]]^^]]^^^^^^]]]]^^^^]]]]^^]]^^]]]]^^^^]]^^^^^\Z۷m\]^^^^^]]^^^^^^^^^^^^^^^^^^^^^^^^^^]]^^^^^^]]^^]]^^]]^^^^^^]]]]^^^^^^^^^^^^]]]]^^^^^^^^]]^^^^^^^^]]^^^^^^]]^^^^^^^^]]^^^^^^^^^^]]]]^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^]]nҜwe]]^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^]]^^^^]]^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^]\wқwe]]^^^^^^^^^^^^^^^^^^^^^^^^^^cl}īwne_]]^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^]]^afmuֽwohb^]]^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^]]^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^]]^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^]]]^agmuսwohc^]]]^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^]]^^^^^^^^^^]]^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^]]]]^^^]]dsДoc]^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^]]^^^^^^]]^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^]]^^^^^^^^^^^^^^^^^^^^]]^^]]^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^]\jž{xwwwwwwwvwwpd]^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^]]^^^^^^^^^^^^^^^^^^^^]]^^^^^^^]]kˇa^^^^^^^^^^^^]]^^^^^^^^^^^^^^^^^^^^]]^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^]]^^^^^^^^]]^^^^^^^^^^^^]]^^^^^^^^^^^]]boŠr\]^^^^^^^^^]]^^^^^^^^^^^^^^^^]]]aj̧u[]^]]^^^^^^^^^^^^^^^^^^^^^^^^]]^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^]]]]^^^^^^^^^^^^^^^^^^^^]]^^^^^^^^^^^^^^^^^^]]^^^^^]\wԠ{f]]^^^^^^^^^^^]]^^^^^^^^^^^^^^^^^^]]^^^^^^^^^^^^^^^^^^^^^^]]^^^^^^^^^^^^^^^^^^]]^^^^^^^^^]]ev۷n]]^^^]]]]^^^^^^^^^^^^^^^^^^]]^^^^^^^^^^]]^^^^^^^^]]^^^^^^^^^^]]]]^^^^^^^^^^^^^^]]^^]]^^^^^^^^^^]]]]]]^^^^]]^^^^^^^^^^]]^^^^^^^^^^^^^^^^]]^^^^^^^^^^^^]]^^^^^^]]^^^^^^^^]]]]^^]]^^^^^^^^^^^^^^^^]]^^^^^^^^^]]ewқve]]]^^^^^^^^^^^^^^^^^^]]^^]]^^^^^^^^]]^^^^^^^^^^^^^^^^^^^^^^^^]]^^^^^^^^^^]]^^^^^^^^^^]]^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^]]]]^^^^]]^^^^^^]]^^^^^^^^^^^^^^]]^^]]^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^]]^]]f{ܹn\]^^^^^]]^^^^^^^^^^^^^^^^^^]]^^^^^^^^^^]]^^^^^^^^]]^^^^]]^^^^]]^^]]^^]]^^^^^^^^]]^^^^^^^^]]^^^^^^^^^^^^^^^^^^^^^^^^^^]]^^^^]]]]]]^^]]^^]]^^]]^^^^^^^^]]^^^^^^^^^^^^^^^^]]^^^^^^^^^^^^^^]]]]^^^^^^^^^^^^^^^^^^^^^^^^]]]]^^^^^^^^^^^^^^^^^\[u}oe^[\\\\]]^^^^^^^^^^^^]]^^]]^^^^^^]]^^^^^^^^^^]]^^]]^^^^^^^^^^^^^^^^^^^^^^^^]]]]^^^^^^^\Z۸n\]^^^^^^^^^^^^^^^^^^^^^]]]]^^^^]]^^^^^^^^^^]]^^]]^^^^^^^^]]^^^^^^^^^^]]^^^^^^^^^^^^^^^^^^^^^^^^]]^^^^^^^^^^^^^^^^^^]]^^^^^^^^^^^^]]]]^^^^^^^^]]^^]]^^^^^^^^^^^^]]]]^^]]^^^^^^]]^^]]^^^^^^]]]]^^^^]]]]^^]]^^]]]]^^^^]]^^^^^\[۷m\]^^^^^]]^^^^^^^^^^^^^^^^^^^^^^^^^^]]^^^^^^]]^^]]^^]]^^^^^^]]]]^^^^^^^^^^^^]]]]^^^^^^^^]]^^^^^^^^]]^^^^^^]]^^^^^^^^]]^^^^^^^^^^]]]]^^^^^^^^__^^^^^^^^^^^^^^^^^^^^__^^^^^^^^^^^^^^^^^^__^^^^^^^^^^^^^^^^^^^^^^^^^^__^^__^^^^^^^^^^^^^^^^^^^^^^^^^^^^__^^^^^^__^^^^^^^^^^^^^^^^^^^^^^^^^^__^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^]]nҜwe]]^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^__^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^]\wқwe]]^^^^^^^^^^^^^^^^^^^^^^^^^`qud^]^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^]]]_j{ob\]]^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^]]]`j{ob[]]^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^]blԢ}g]]^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^bks|~}ywwwwwwwwwwvtronnnnnnnnnnmigeeeeeeeeeeec`^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^]]exДob]]^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^]]g}۸n\]^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^]`۵y[\^^^^^]]^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^]]^^^^^^^^^^^^^^^^^\[{Ώja]^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^]]^^^^^^^^^^^^^^^^^]]ev۷n]]^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^]]^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^]]^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^]]ewқwe]]^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^]\nԡ{f]]^^^^^]]^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^]]^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^]]^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^]\mø~zupkgb_]\]]]]]]^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^]]^^^^^\[۷n\]^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^]]^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^]]^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^]]^^^^^^^^^^^^^^^^^^]]^^^^^^^^^^^^^^^^^^^^^^^^^^^^]]^^^^^\[۸n\]^^^^^^^^^^^^^]]^^^^^^]]^^^^^^^^^^^^^^^^^^^^^^^^]]^^^^^^^^^^^^^^^^^^]]^^^^^^^^^^^^]]^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^__^^^^^^^^^^^^^^^^^^^^__^^__^^^^^^^^^^^^^^__^^^^^^^^^^^^^^^^^^^^^^^^^^__^^__^^^^^^^^^^^^^^^^^^^^^^^^^^^^__^^^^^^__^^^^^^^^^^^^^^^^^^^^^^^^^^__^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^]]nҜwe]^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^__^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^]\wҜwe]]^^^^^^^^^^^^^^^^^^^^^^^`hwиwlb^]]^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^]]^bjs~ϻric^]]^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^]]^bjtϻric^]]^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^`eڳm]]^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^]\[[[[[[[[ZZ[[[[\\\\\\\\\\\\\\]]]]]]]]]]]]]]]]]]]]]]]]]]^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^]ajգ}g]]^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^]]lתj]]^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\[{`^^^^^^]]^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^]]^^^^^^^^^^^^^^^^^]`ƃ_]^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^]]^^^^^^^^^^^^^^^^^]]ew۷n]]^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^]]^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^]]^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^]]ewҜwe]]^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^]\uɎj`]^^^^^^]]^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^]]^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^]]^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^]]g{õvh`][[\\]]^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^]]^^^^^\[۷n\]^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^]]^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^]]^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^]]^^^^^^^^^^^^^^^^^^]]^^^^^^^^^^^^^^^^^^^^^^^^^^^^]]^^^^^\[۸n]]^^^^^^^^^^^^^]]^^^^^^]]^^^^^^^^^^^^^^^^^^^^^^^^]]^^^^^^^^^^^^^^^^^^]]^^^^^^^^^^^^]]^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^__^^^^__^^^^__^^____^^^^__^^^^^^^^^^^^^^^^^^^^^^^^^^^^__^^__^^^^__^^^^^^^^^^^^__^^^^^^^^__^^^^^^^^^^^^^^__^^____^^^^^^__^^^^^^^^^^^^^^^^^^^^____^^^^^^^^__^^^^^^^^^^^^^^^^^^^^^^^^______^^__^^^^_]]nҜwe^^_^^^^^^^^^^^^^^^^^^^^^^^^__^^^^^^^^______^^^^__^^^^^^^^^^^^^^^^^^^^^^^^__^^^^^^^^__^^^^^^^^^^^^^^^^^^^^^^____^^^^__^^__^^^^^^^^^^__^^^^^^^^^^____^^^^__^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^__^^^^^^^^^^^^^^^^__^^^^^^^^__^^^^^^____^^^^^^__^^^^^^^^^^^^__^^__^^^^^^^^^^^^^^__^^^^__^^^^^^__^^^^^^^^^^^]\wҜwe]]^^^__^^__^^^^^^^^^^^^]_d|o_]]]^__^^^^^^^^^^^^__^^^^^^^^__^^^^^^^^^^^^^^^^^^^^^^__^^^^^^^^^^^^^^__^^^^__^^^^^^^^^^^^^^^]]]`mʸob\]]^^^^^^^^^^^^^^^^__^^^^^^^^^^^^^^^^^^^^^^^^^^__^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^__^^^^^^^^^^^^__^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^__^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^__^^^^^^^^____^^^^^^]]`mʸoa\]]^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^__^^^^^^^^^^^^__^^^^^^^^^^^^__^^^^^^^^^^^^^^^^^^^^^^^^__^^__^^__^^__^^^^^^^^^^^^^^^^^^^^^^^^__^^^]^ɣt\]^^^^^^^^^^^^^__^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^__^^^^__^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^__^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^_^]]\\\\\\\\\\\\\\]]]]]]]]]]]]]]]]]]]]]]]]]]^^^]]]]]]^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^__^^^^^^^^^^^^^^^^^^^^^^^^^^^^__^^^^^^__^^^^^^^^^^^^^^^]`ٰl]]^^^__^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^__^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^__^^^^^^^^^^^^^^^^^^^]\rқve]^^^^^^^^^^^^^^^^^^^^^^^^__^^^^^]\vˎjb^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^____^^^^^^^^^^^^^^^^^^^^^^]aj}]]^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^]]ew۸n]]^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^]ewҜwe]]^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\Zyༀ`^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^]ajͿ}yurnje`]]]]]]]]^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\[۸n\]^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\[۷n]]^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^__^^^^__^^^^__^^____^^^^__^^^^^^^^^^^^^^^^^^^^^^^^^^^^__^^__^^^^__^^^^^^^^^^^^__^^^^^^^^__^^^^^^^^^^^^^^__^^____^^^^^^__^^^^^^^^^^^^^^^^^^^^____^^^^^^^^__^^^^^^^^^^^^^^^^^^^^^^^^______^^__^^^^_^]nҜwf^^_^^^^^^^^^^^^^^^^^^^^^^^^__^^^^^^^^______^^^^__^^^^^^^^^^^^^^^^^^^^^^^^__^^^^^^^^__^^^^^^^^^^^^^^^^^^^^^^____^^^^__^^__^^^^^^^^^^__^^^^^^^^^^____^^^^__^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^__^^^^^^^^^^^^^^^^__^^^^^^^^__^^^^^^____^^^^^^__^^^^^^^^^^^^__^^__^^^^^^^^^^^^^^__^^^^__^^^^^^__^^^^^^^^^^^]\wҜwe]]^^^__^^__^^^^^^^^^^^^al˰~sjb^^_^^^^^^^^^^^^__^^^^^^^^__^^^^^^^^^^^^^^^^^^^^^^__^^^^^^^^^^^^^^__^^^^__^^^^^^^^^^^^]]^bjs~ƪric^]^^^^^^^^^^^^^^__^^^^^^^^^^^^^^^^^^^^^^^^^^__^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^__^^^^^^^^^^^^__^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^__^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^__^^^^^^^^____^^^^^bjs~ƪric^]]^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^__^^^^^^^^^^^^__^^^^^^^^^^^^__^^^^^^^^__^^^^^^^^^^^^^^__^^__^^__^^__^^^^^^^^^^^^^^^^^^^^^^^^__^^^\[۷|^]^^^^^^^^^^^^^__^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^__^^^^__^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^__^^__^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^__^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^__^^__^^^^^^^^__^^^^^^^^^^^^^^^^^^^^^^^^^^^^__^^^^^^^^^^^^^^^^^^^^^^^^^^^^__^^^^^^__^^^^^^^^^^^^^^^\[{ܽp]]^^^__^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^__^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^__^^^^^^^^^^^^^^^^^^^]\wˎja^^^^^^^^^^^^^^^^^^^^^^^^^__^^^^^]]qқve^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^____^^^^^^^^^^^^^^^^^^^^^]]evԮw\]^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^]]ew۸n]]^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^]ewҜwe]]^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^]_Ыv[]^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^]`Ǿ~oaZ[\\]]]]^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\[۸n]]^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\[۷n]]^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^__^^____^^____^^^^^^^^^^^^^^^^^^______^^^^____^^^^____^^^^^^^^^^^^^^__^^__^^^^^^^^__^^^^^^____^^^^^^__^^^^______^^^^^^____^^^^^^^^__^^^^^^__^^^^^^^^^^____^^^^^^^^^^^^^^^^^^__^^^^____^^____^^__^^_______]]nҜwf^^^^^__^^______^^^^^^^^__^^^^^^____^^^^____^^^^^^^^^^^^^^^^^^__^^^^^^^^^^__^^__^^^^__^^^^^^____^^____^^^^^^__^^____^^____^^____^^^^__^^^^^^^^^^^^^^________^^______^^__^^^^^^__^^^^__^^^^^^__^^______^^^^________^^^^__^^______^^^^^^^^____^^^^^^^^^^____^^______^^^^^^^^______^^^^____^^__^^____^^_]\wҜwe]]^____^^^^____^^__^^^aj̹j]]^__^^__^^^^__^^^^__^^^^__^^^^______^^__^^^^^^____^^^^______^^____^^^^______^^^^___^]]`mʸob\]^^^^^^^__^^^^__^^^^^^^^^^^^^^^^__^^__^^^^__^^^^^^__^^__^^______^^____^^^^__^^^^____^^__^^__^^^^__^^__^^^^^^__^^__^^^^__^^______^^__^^__^^^^^^^^^^^^____^^^^____^^^^______^^^^__^^^^^^^^__^^_^]]`mʸob\]^^___^^________^^__^^^^^^^^^^^^__^^______^^________^^__^^____^^^^^^^^^^__^^^^______^^^^^^__^^__^^^^^^^^____^^^^^^^^__________^^__^^^^___]\}Ƈd_^^^__^^^^__^^^^______^^^^__^^^^^^__^^^^^^__^^__^^^^^^^^^^^^__^^^^^^__^^^^__^^^^__^^^^____^^__^^^^__^^^^__^^^^^^^^__^^^^^^^^^^____^^^^^^__^^^^^^^^^^^^^^^^____^^____^^^^^^__^^^^__^^^^^^__^^____^^__^^^^^^^^^^^^^^__^^______^^^^^^__^^^^__^^__^^^^____^^__^^^^^^^^__^^__^^^^^^^^^^^^^^^^^^__^^^^^^^^__^^^^__^^____^^____^^^^^^__^^^^^^____^^^][wǢt]]^^^^^__^^^^^^^^^^^^^^__^^______^^__^^^^^^^^^^^^^^__^^__^^^^^^^^____^^__^^^^____^^^^^^^^^^____^^^^^^^^^^____^^^^^\[|`^^^^^^__^^^^^^^^^^__^^^^^^^^^^^^^]]lתj]^^____^^__^^^^^^____^^^^^^^^__^^^^^^__^^^^^^^^^^^^^^__^^^^__^^^^^^^^^^^^^^^^^^^^__^^^^^^__^^^^^^__^^^^__^^^^^]]jƠs\]^^^__^^^^^^^^^^^^^^^^__^^^^^^^^^^____^^__^^^^^^____^^^^^^^^__^^^^^^__^^^^^^^^^^^^^^__^^^^]ew۸n]]^^^^^^^^^^^__^^^^^^^^^^^^__^^^^^^^^^^^^^^^^^^^^^^^^^^^^____^^^^^^^^__^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^__^^__^^^^____^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^__^^^^^^__^^^^^^__^^^^^^^^^^^^^^^^^^^^^^^^^^^]]ewҜwe]]^^^^^^^^^^^^^^^^^^^^^^^__^^^^^^^^^^^^^^^^^^__^^^^^^^^^^^^__^^^^^^^^^^^^__^^^^__^^__^^^^^^^^^^^^^^__^^__^^__^^__^^^^^^^^^^^^^^^^^^____^^__^^^^^^^^^^^^^^__^^^^^^^^^^^^^^^^^^^^__^^^^^^^^__^^]ajܻo\]^^^__^^^^^^^^^^^^__^^^^__^^__^^^^^^^^^^^^^^__^^__^^__^^__^^^^^^^^^^^^^^^^^^____^^__^^^^^^^^^^^^^^__^^^^^^^^^^^^^^^^^^^^__^^^^^^^^__^^^^^^^^^^__^^^^^^^^^^______^^__^^^^^^^^^^^^^^______^^^^^^^^^^^^^^__^^^^^^____^^^^__^^^^__^^^^^^^^^^^^^]]y|yuqlhc^\]]]]]]^^^^^^^^^^^^^^^^^^____^^__^^^^__^^^^^^^^__^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^__^^^^^^^^^^^\[۸n]]^__^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^__^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^____^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^__^^^^^^^^^^^^^^^^__^^^^^^^^__^^^^^^^^^^^^^\[۸n]]^^^^^^^^^^^^^^^^^^^^^^^^^____^^^^^^^^^^^^^^^^^^^^^^^^__^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^____^^^^__^^^^^^^^^^^^^^^^^^^^^^^^^^^^__^^____^^____^^^^^^^^^^^^^^^^^^______^^^^____^^^^____^^^^^^^^^^^^^^__^^__^^^^^^^^__^^^^^^____^^^^^^__^^^^______^^^^^^____^^^^^^^^__^^^^^^__^^^^^^^^^^____^^^^^^^^^^^^^^^^^^__^^^^____^^____^^__^^_______^]nҜwf^^^^^__^^______^^^^^^^^__^^^^^^____^^^^____^^^^^^^^^^^^^^^^^^__^^^^^^^^^^__^^__^^^^__^^^^^^____^^____^^^^^^__^^____^^____^^____^^^^__^^^^^^^^^^^^^^________^^______^^__^^^^^^__^^^^__^^^^^^__^^______^^^^________^^^^__^^______^^^^^^^^____^^^^^^^^^^____^^______^^^^^^^^______^^^^____^^__^^____^^_]\xҜwe]^^____^^^^____^^_^^^anĠu^]^__^^__^^^^__^^^^__^^^^__^^^^______^^__^^^^^^____^^^^______^^____^^^^______^^^^^]\`jt~ƪqf_]]^^^^__^^^^__^^^^^^^^^^^^^^^^__^^__^^^^__^^^^^^__^^__^^______^^____^^^^__^^^^____^^__^^__^^^^__^^__^^^^^^__^^__^^^^__^^______^^__^^__^^^^^^^^^^^^____^^^^____^^^^______^^^^__^^^^^^^^_^^]\`jtƪqf`^^^_^^________^^__^^^^^^^^^^^^__^^______^^________^^__^^____^^^^^^^^^^__^^^^______^^^^^^__^^__^^^^^^^^____^^^^^^^^__________^^__^^^^___]\{қue]]^__^^^^__^^^^______^^^^__^^^^^^__^^^^^^__^^__^^^^^^^^^^^^__^^^^^^__^^^^__^^^^__^^^^____^^__^^^^__^^^^__^^^^^^^^__^^^^^^^^^^____^^^^^^__^^^^^^^^^^^^^^^^____^^____^^^^^^__^^^^__^^^^^^__^^____^^__^^^^^^^^^^^^^^__^^______^^^^^^__^^^^__^^__^^^^____^^__^^^^^^^^__^^__^^^^^^^^^^^^^^^^^^__^^^^^^^^__^^^^__^^____^^____^^^^^^__^^^^^^____^^^]\sԮx\]^^^^^__^^^^^^^^^^^^^^__^^______^^__^^^^^^^^^^^^^^__^^__^^^^^^^^____^^__^^^^____^^^^^^^^^^____^^^^^^^^^^____^^^^^^b۵z[]^^^^^__^^^^^^^^^^__^^^^^^^^^^^^^]]g|ܹo]]^____^^__^^^^^^____^^^^^^^^__^^^^^^__^^^^^^^^^^^^^^__^^^^__^^^^^^^^^^^^^^^^^^^^__^^^^^^__^^^^^^__^^^^__^^^^^]]n۶n]]^^^__^^^^^^^^^^^^^^^^__^^^^^^^^^^____^^__^^^^^^____^^^^^^^^__^^^^^^__^^^^^^^^^^^^^^__^^^^]ew۸n]]^^^^^^^^^^^__^^^^^^^^^^^^__^^^^^^^^^^^^^^^^^^^^^^^^^^^^____^^^^^^^^__^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^__^^__^^^^____^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^__^^^^^^__^^^^^^__^^^^^^^^^^^^^^^^^^^^^^^^^^^]]ewҜwe]^^^^^^^^^^^^^^^^^^^^^^^^__^^^^^^^^^^^^^^^^^^__^^^^^^^^^^^^__^^^^^^^^^^^^__^^^^__^^__^^^^^^^^^^^^^^__^^__^^__^^__^^^^^^^^^^^^^^^^^^____^^__^^^^^^^^^^^^^^__^^^^^^^^^^^^^^^^^^^^__^^^^^^^^__^]]fz֨i]]^^^__^^^^^^^^^^^^__^^^^__^^__^^^^^^^^^^^^^^__^^__^^__^^__^^^^^^^^^^^^^^^^^^____^^__^^^^^^^^^^^^^^__^^^^^^^^^^^^^^^^^^^^__^^^^^^^^__^^^^^^^^^^__^^^^^^^^^^______^^__^^^^^^^^^^^^^^______^^^^^^^^^^^^^^__^^^^^^____^^^^__^^^^__^^^^^^^^^^^^^]\rvj`[\\]]^^^^^^__^^^^^^^^^^^^^^^^^^^^____^^__^^^^__^^^^^^^^__^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^__^^^^^^^^^^^\[۸n]]^__^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^__^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^__^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^____^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^__^^^^^^^^^^^^^^^^__^^^^^^^^__^^^^^^^^^^^^^\[۸n]]^^^^^^^^^^^^^^^^^^^^^^^^^____^^^^^^^^^^^^^^^^^^^^^^^^__^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^____^^^^__^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^__^^__^^______^^________^^^^__^^____________^^______^^^^__^^^^____^^^^__^^^^^^______^^^^^^________^^____^^____________________^^__^^^^____^^________^^__________^^__________________^^^^__^^____^^^^^^]oҜwf^^^^^^^^^__^^^^^^__^^____^^^^^^__________^^^^________^^________^^______^^^^^^____^^________^^^^^^______^^________^^______^^^^__________^^__^^^^__^^________^^^^____^^^^^^__^^____________^^______^^__^^^^______^^____^^__^^^^^^__^^________^^____^^__^^______________^^^^^^^^____^^__^^^^____^^^^^^^]]xҜwe^^_______^^____^^^^^aj޻a^^________^^^^____^^^^__^^^^^^____^^__________^^__^^^^^^__^^^^^^^^^^____^^^^____^\[hʸze^]^___^^__^^__^^^^______^^______^^^^^^____^^__^^____^^________^^____^^^^______^^^^^^^^^^________^^____^^^^^^^^__^^__^^______^^__^^^^____^^____^^^^^^__^^__^^^^__^^__^^^^__^^^^__^^^^__^^^\[hʸze_]^^__^^____^^____^^^^__^^^^__^^______^^^^______^^^^__^^__^^^^^^__^^^^__^^____^^^^^^^^____^^__^^^^____^^^^^^__^^______^^______^^__^^___]\y۸n]]^^^__^^^^^^__^^__^^^^^^^^__^^^^^^^^__^^^^____^^^^____^^^^____^^__^^__^^^^^^^^^^^^^^^^__^^__^^____^^^^^^^^__^^^^^^^^^^^^^^^^^^____^^^^__^^__^^__^^____^^__^^^^____^^__^^^^^^______^^^^^^^^__^^^^^^______^^______^^__^^^^^^^^__^^^^^^^^__^^^^____^^__^^__^^^^^^^^^^^^__^^^^^^^^____^^____^^^^^^^^__________^^^^^^__^^^^^^__^^__^^^^^^^^^^__^]]o|[\^^^^^^^^^__^^__________^^^^^^__^^^^^^__^^____^^______^^^^^^________^^__^^^^__^^^^^^^^__^^____^^__^^____^^^^__^^^cp̧u\]^______^^____^^____^^________^^^^]aj˥t\]_____^^__^^^^__^^^^__^^__^^____^^^^__^^^^____^^^^^^^^^^^^__^^______^^__^^^^^^____^^________^^____^^^^______^]\sեh]^_^^^^__^^^^__^^__^^^^__^^^^^^^^______^^__^^^^__^^^^__^^__^^____^^^^__^^^^____^^^^^^^^^^^^^ew۸o]]^____^^^^^^^^______^^__^^__^^^^__^^__^^^^^^__^^____^^__^^____^^^^______^^^^^^^^^^^^____^^^^____^^^^______^^^^__^^__^^^^__^^__^^________^^________^^^^^^__^^__^^^^__^^^^______^^____^^^^^^^^^^^^^^__^^^^^]]ewҜwe^^^^^^^____^^________^^__^^^^^^^^^^^^__^^______^^________^^__^^____^^^^^^^^____^^^^______^^^^____^^__^^^^^^^^____^^^^^^^^__________^^__^^^^______^^^^^^____________^^^^__^^^^^^__________^^^]]mЖqd^^_^^__^^____^^^^^^^^____^^^^______^^^^____^^__^^^^^^^^____^^^^^^^^__________^^__^^^^______^^^^^^____________^^^^__^^^^^^__________^^^^^^^^^^__^^^^^^^^^^^^^^__^^______^^__^^__^^^^^^^^^^^^^^^^^^____^^^^__^^^^^^^^^^__^^^^____^^^^__^^^^^^^]]mŹyuqmjea^\]]]]^^^^^^^^^^__^^^^^^^^__^^^^__^^^^^^^^^^^^__^^^^^^^^^^^^^^^^____^^__^^__^^^^^^__^^^^__^^^^^^__^^__^^__^^^^^\[۸n]]^^^^^^^______^^^^^^^^^^^^^^^^^^^^^^____^^^^__^^^^^^__^^^^^^^^^^^^^^^^__^^^^__^^^^^^^^__^^^^^^^^^^^^^^^^^^^^____^^____^^__^^^^^^__^^______^^^^__^^^^^^____^^^^__^^^^^^^^__^^^^^^^^^^^^^^^^^^^^__^^__^^^^__^^^^^^^^__^^__^\[۸n]]_^^____^^^^^^__^^^^__^^^^^^^^^^__^^__^^^^^^^^^^______^^^^^^^^^^__^^^^__^^^^^^^^__^^^^^^__^^^^__^^^^__^^^^^^__^^^^__^^__^^^^^^^^^^^^^^__^^__^^______^^________^^^^__^^____________^^______^^^^__^^^^____^^^^__^^^^^^______^^^^^^________^^____^^____________________^^__^^^^____^^________^^__________^^__________________^^^^__^^____^^^^^^]oҜwf^^^^^^^^^__^^^^^^__^^____^^^^^^__________^^^^________^^________^^______^^^^^^____^^________^^^^^^______^^________^^______^^^^__________^^__^^^^__^^________^^^^____^^^^^^__^^____________^^______^^__^^^^______^^____^^__^^^^^^__^^________^^____^^__^^______________^^^^^^^^____^^__^^^^____^^^^^^^]]xҜwf^^_______^^____^^^_anᾂa^^________^^^^____^^^^__^^^^^^____^^__________^^__^^^^^^__^^^^^^^^^^____^^^^^^]`elvßwlc_^^^^__^^__^^^^______^^______^^^^^^____^^__^^____^^________^^____^^^^______^^^^^^^^^^________^^____^^^^^^^^__^^__^^______^^__^^^^____^^____^^^^^^__^^__^^^^__^^__^^^^__^^^^__^^^^_^]_elvßxlc^^^^^____^^____^^^^__^^^^__^^______^^^^______^^^^__^^__^^^^^^__^^^^__^^____^^^^^^^^____^^__^^^^____^^^^^^__^^______^^______^^__^^___]\uѬy^^^^^__^^^^^^__^^__^^^^^^^^__^^^^^^^^__^^^^____^^^^____^^^^____^^__^^__^^^^^^^^^^^^^^^^__^^__^^____^^^^^^^^__^^^^^^^^^^^^^^^^^^____^^^^__^^__^^__^^____^^__^^^^____^^__^^^^^^______^^^^^^^^__^^^^^^______^^______^^__^^^^^^^^__^^^^^^^^__^^^^____^^__^^__^^^^^^^^^^^^__^^^^^^^^____^^____^^^^^^^^__________^^^^^^__^^^^^^__^^__^^^^^^^^^^__^]]jDŽ`^^^^^^^^^^__^^__________^^^^^^__^^^^^^__^^____^^______^^^^^^________^^__^^^^__^^^^^^^^__^^____^^__^^____^^^^__^^]iܽp]]^______^^____^^____^^________^^^^^^`۶{]]_____^^__^^^^__^^^^__^^__^^____^^^^__^^^^____^^^^^^^^^^^^__^^______^^__^^^^^^____^^________^^____^^^^______^]\wЕpc^^_^^^^__^^^^__^^__^^^^__^^^^^^^^______^^__^^^^__^^^^__^^__^^____^^^^__^^^^____^^^^^^^^^^^^^ew۸o]]^____^^^^^^^^______^^__^^__^^^^__^^__^^^^^^__^^____^^__^^____^^^^______^^^^^^^^^^^^____^^^^____^^^^______^^^^__^^__^^^^__^^__^^________^^________^^^^^^__^^__^^^^__^^^^______^^____^^^^^^^^^^^^^^__^^^^^^^fwҜwe^^^^^^^____^^________^^__^^^^^^^^^^^^__^^______^^________^^__^^____^^^^^^^^____^^^^______^^^^____^^__^^^^^^^^____^^^^^^^^__________^^__^^^^______^^^^^^____________^^^^__^^^^^^__________^^^]\sȉe`___^^__^^____^^^^^^^^____^^^^______^^^^____^^__^^^^^^^^____^^^^^^^^__________^^__^^^^______^^^^^^____________^^^^__^^^^^^__________^^^^^^^^^^__^^^^^^^^^^^^^^__^^______^^__^^__^^^^^^^^^^^^^^^^^^____^^^^__^^^^^^^^^^__^^^^____^^^^__^^^^^^^^]g|ƻ~pe^[\]]]]^__^^^^^^^^^^^^^^__^^^^^^^^__^^^^__^^^^^^^^^^^^__^^^^^^^^^^^^^^^^____^^__^^__^^^^^^__^^^^__^^^^^^__^^__^^__^^^^^\[۸n]]^^^^^^^______^^^^^^^^^^^^^^^^^^^^^^____^^^^__^^^^^^__^^^^^^^^^^^^^^^^__^^^^__^^^^^^^^__^^^^^^^^^^^^^^^^^^^^____^^____^^__^^^^^^__^^______^^^^__^^^^^^____^^^^__^^^^^^^^__^^^^^^^^^^^^^^^^^^^^__^^__^^^^__^^^^^^^^__^^__^\[۸n]]_^^____^^^^^^__^^^^__^^^^^^^^^^__^^__^^^^^^^^^^______^^^^^^^^^^__^^^^__^^^^^^^^__^^^^^^__^^^^__^^^^__^^^^^^__^^^^__^^__^^^^^^^^^^^^______________________________________________________^^^^^^____________^^____________^^^^________________^^__________________^^____________^^______^^____________^^________________^^^^________^^_____^]oҜwf^^_^^______________________________________^^________^^^^________________________^^________^^__________^^__^^^^^^______________________^^____________________^^____^^____^^__^^__________________^^__^^____^^________^^____^^^^__^^______________^^__^^____________________^^__^^^^______^^__^^__^^_]]xҜwf^^_^^__^^^^__^^^^^bjϫx^^^________^^__^^____^^^^^^__^^__^^______________________^^________________^^^]\duo`^^^_______^^__________^^______^^^^__^^______^^____________^^______^^__^^^^________^^____^^________^^__^^______________^^__^^____^^__^^____________^^__________________________^^^]\cuo`^^^^____^^____________________^^__^^__^^__^^^^______________^^________^^__^^____^^__^^______^^____^^__^^____________^^^^____^^^^___]]qÆe`___^^______^^^^__^^__________________^^______________________^^____^^______^^__^^__^^____^^__________^^____________^^^^^^______________^^______^^____^^__^^________^^__________________^^__^^__^^__________^^______________^^^^__^^________^^__^^______________________^^^^^^__^^______^^__^^____^^____^^__^^__^^__^^______________^^_____^^ev͐kb^^^____^^____^^^^^^______^^______________^^____^^________^^^^____________^^____^^^^________________^^^^____^^^]]n׬k]^___^^^^^^__^^______^^^^__^^^^^^^^^]]}Ńa^_^^__^^__^^____^^^^^^__^^__^^______^^__^^__^^__^^__________^^____^^__________^^__^^__^^__^^__^^__^^____^^^^_]\|ˇb^^__^^^^^^^^^^__^^______^^____^^________^^^^^^____^^^^^^__^^__^^______^^__^^__^^__^^_______^^fw۸o]]^____^^^^______^^__^^^^^^________^^____^^____^^______________^^__^^^^____^^^^__^^__^^__^^__^^________^^^^__^^^^____^^__^^^^^^^^__________^^__^^^^^^__^^______^^^^______^^____^^^^__^^____________^^^^__^]^fwҜwe^^_______^^__^^__________^^^^__^^^^__^^______^^^^______^^____^^____^^^^__^^^^__^^____^^^^^^^^____^^__^^^^____^^^^^^__^^______^^______^^__^^____________^^^^__^^____________^^^^____^^_______][y_^_^^____^^____^^^^__^^^^__^^____^^^^^^______^^__^^^^____^^^^^^__^^______^^__________^^____________^^^^__^^____________^^^^____^^________^^__^^____^^^^^^__^^__^^__^^^^^^^^____^^^^__^^^^____^^^^____^^__^^^^^^^^______^^^^__^^__^^^^__^^^^___^^bk}wsolhc`]]]]]]]^______^^______^^^^______^^________^^__^^^^^^^^__^^__^^^^^^^^^^____^^____^^______^^^^____^^^^^^^^__________^^^^^\[۸o]]___^^____^^______^^^^^^^^______^^^^^^__^^__^^____^^__^^____^^______^^______^^____^^__^^________^^^^^^^^__^^^^^^____^^________________^^____^^____^^^^^^^^^^__^^__^^____^^^^__^^^^______^^^^__^^______^^^^^^_____________]\۸n]]^^^^^^^^^____^^______________^^^^^^__^^____^^^^__^^^^^^^^^^^^__^^^^____^^^^^^^^^^^^^^^^^^__^^^^__^^__^^____^^^^^^^^____^^^^^^^^^^^^______________________________________________________^^^^^^____________^^____________^^^^________________^^__________________^^____________^^____________________^^________________^^^^________^^_____^]oҜwf^^_^^______________________________________^^________^^^^________________________^^________^^__________^^__^^^^^^______________________^^____________________^^____^^____^^__^^__________________^^__^^____^^________^^____^^^^__^^______________^^__^^____________________^^__^^^^______^^__^^__^^_]]xҜwf^^_^^__^^^^__^^^^^kܻp]]^________^^__^^____^^^^^^__^^__^^______________________^^________________^^`ep˰{lc_^^_____^^__________^^______^^^^__^^______^^____________^^______^^__^^^^________^^____^^________^^__^^______________^^__^^____^^__^^____________^^__________________________^^`eo˰{lc_]^___^^____________________^^__^^__^^__^^^^______________^^________^^__^^____^^__^^______^^____^^__^^____________^^^^____^^^^___^]mӝxe]^_^^______^^^^__^^__________________^^______________________^^____^^______^^__^^__^^____^^__________^^____________^^^^^^______________^^______^^____^^__^^________^^__________________^^__^^__^^__________^^______________^^^^__^^________^^__^^______________________^^^^^^__^^______^^__^^____^^____^^__^^__^^__^^______________^^_____^^bjћue^^^____^^____^^^^^^______^^______________^^____^^________^^^^____________^^____^^^^________________^^^^____^^^]]sқwe^^___^^^^^^__^^______^^^^__^^^^^^^^^]\w͎ia^^^__^^__^^____^^^^^^__^^__^^______^^__^^__^^__^^__________^^____^^__________^^__^^__^^__^^__^^__^^____^^^^_^`}[\^__^^^^^^^^^^__^^______^^____^^________^^^^^^____^^^^^^__^^__^^______^^__^^__^^__^^_______^^fw۸o]]^____^^^^______^^__^^^^^^________^^____^^____^^______________^^__^^^^____^^^^__^^__^^__^^__^^________^^^^__^^^^____^^__^^^^^^^^__________^^__^^^^^^__^^______^^^^______^^____^^^^__^^____________^^^^__^^^fwҜwf^^_______^^__^^__________^^^^__^^^^__^^______^^^^______^^____^^____^^^^__^^^^__^^____^^^^^^^^____^^__^^^^____^^^^^^__^^______^^______^^__^^____________^^^^__^^____________^^^^____^^_______^^Ыw\]_^^____^^____^^^^__^^^^__^^____^^^^^^______^^__^^^^____^^^^^^__^^______^^__________^^____________^^^^__^^____________^^^^____^^________^^__^^____^^^^^^__^^__^^__^^^^^^^^____^^^^__^^^^____^^^^____^^__^^^^^^^^______^^^^__^^__^^^^__^^^^_____`bp~rg`]\\]]]^^^^^^^^^^______^^______^^^^______^^________^^__^^^^^^^^__^^__^^^^^^^^^^____^^____^^______^^^^____^^^^^^^^__________^^^^^]\۸o]^___^^____^^______^^^^^^^^______^^^^^^__^^__^^____^^__^^____^^______^^______^^____^^__^^________^^^^^^^^__^^^^^^____^^________________^^____^^____^^^^^^^^^^__^^__^^____^^^^__^^^^______^^^^__^^______^^^^^^_____________]\۸n]]^^^^^^^^^____^^______________^^^^^^__^^____^^^^__^^^^^^^^^^^^__^^^^____^^^^^^^^^^^^^^^^^^__^^^^__^^__^^____^^^^^^^^____^^^^^^^^^^________________________``______________________________________________________________________________________``_______________________________________________________________________________________^]oҜwf^^___________``____________________________________________________________________________________________________________________^^_______________________________________________________________________________________________________________________________________________________________]]xҜwf^^_____^^______^^`{զi]^________________________________________________________________________^^`exǭob]^________________________________________________________________________________________________________________________________________________________________________^^`exǭob]^_^^__^^__________________________________________________________________^^___________________________________________________^]jܽo\]_____^^^^______^^__^^______________^^______^^__________^^______________________________________________^^____^^____^^__^^__^^__^^____^^__^^____^^__________^^^^^^^^________________^^______________________________^^__^^______________^^______________^^____________^^__________________________^^^^________________^^________________^^_^aդi]^^____________________^^__^^__________________________________^^________________________^^________^^__^^____^]\w͎ia_____________^^__^^_________________]\sҜwf^^___^^^^__^^__^^__^^__^^________________________________^^^^__________^^^^____________^^_________________^^bkհx[]^______^^________^^______^^____________^^____^^__^^__^^__^^______________________^^_______^^fw۸o]]^______^^______________________________^^__________________^^____________^^____________^^________^^________________^^__^^______________^^________________________________^^^^________^^____^^___________^^fwҜwf^^___________^^____^^________________________^^__^^__^^^^______________^^________^^________^^^^________^^________^^______________^^____^^^^__________________________^^^^__________^^^^^^^^^`eܻp]]^^^______________^^________^^________^^^^________^^________^^______________^^____^^^^__________________________^^^^__________^^^^^^^^____^^__^^^^____^^^^__________________^^^^__^^____^^______^^__^^________^^________^^^^^^__________^^______`dkmhda^]]]]]^^_______^^^^__^^____^^__^^^^^^__^^______^^____^^__^^____________^^______^^____^^__________________^^__^^^^____________^^_]\۸o]^___^^______________________________________^^______^^__________^^________^^__^^________________________________^^______^^^^__________^^__^^____^^__^^____^^__^^__________^^^^____________^^______^^______^^______^^^^__^][۸o]]_^^__^^________^^______^^____^^^^____^^________^^____^^__^^^^__^^__^^__^^____^^________^^^^____________________^^^^^^________^^__________________________``______________________________________________________________________________________``_______________________________________________________________________________________^^oҜwf^^___________``____________________________________________________________________________________________________________________^^_______________________________________________________________________________________________________________________________________________________________]]xҜwf^^______________fw͔pd________________________________________________________________________^^`frЮ{lc_^____________________________________________________________________________________________________________________________________________________________________^]`frЮ{lc_^^__^^__________________________________________________________________^^___________________________________________________^^fwֳc`_____^^^^______^^__^^______________^^______^^__________^^______________________________________________^^____^^____^^__^^__^^________^^__^^____^^__________^^^^^^^^____________________________________________________^^______________^^______________^^____________^^__________________________^^^^________________^^________________^^_]\zٰm]^^____________________^^__^^__________________________________^^________________________^^________^^__^^____^]]}Ƅ`^_____________^^__^^_________________^]nثk]^___^^^^__^^__^^__^^__^^________________________________^^^^__________^^^^____________^^_________________^^fwŠs]]^______^^________^^______^^____________^^____^^__^^__^^__^^_______________________________^^fw۸o]^^______^^______________________________^^__________________^^____________^^____________^^________^^________________^^__^^______________^^________________________________^^^^________^^____^^___________^^fwҜwf^^___________^^____^^________________________^^__^^__^^^^______________^^________^^________^^^^________^^________^^______________^^____^^^^__________________________^^^^__________^^^^^^^^^dq֨j]^^^^______________^^________^^________^^^^________^^________^^______________^^____^^^^__________________________^^^^__________^^^^^^______^^__^^^^____^^^^__________________^^^^__^^____^^______^^__^^________^^________^^^^^^__________^^_______^]]^^____^^__________^^^^__^^____^^__^^^^^^__^^______^^____^^__^^____________^^______^^____^^__________________^^__^^^^____________^^_]\۸o]^___^^______________________________________^^______^^__________^^________^^__^^________________________________^^______^^^^__________^^__^^____^^__^^____^^__^^__________^^^^____________^^______^^______^^______^^^^__^][۸o]^_^^__^^________^^______^^____^^^^____^^________^^____^^__^^^^__^^__^^__^^____^^________^^^^____________________^^^^^^________^^________``____````__________________________________________________________``__________________``____________``________``____``______``________________________________``______________``____________````__^oҜwf^^___________________________``____________________________``________``______________________________________``__________________________``________________``______________``__________``__________``____``________________________``____________________________``__________``_____________________^]xҜwf^^___``````____aw„b________``____````______``____________________``____________``___________]]fzŨpa_^________``__________________``__________________________________________``________________________________________``__``__________________________``_______________]]fzŨpa^^________________________``__``______________``________________________________________________````__________``______________^aiʖue^^___________________________________``______________________________________________``__________________________________``__``__________________________________________________________________``______________________________________``________``_____________________________________________________________________________________]]vݾq]]___________________________________________________``_______________________________________________________^`}]]____________________________________^^iݽp]^________________________________________________________________________________________________________^^j۸o]^___________________________``_____________________________________________________________^^fw۸o]^___________________________________________________________________________________________________________________________________^^________________________^^______________^^__^^__________^^_________^^fwҜwf^^________________________________________________________________________________________________________________________________________________________________________________________^]jЗqd^^___________________________________^^__________________________________________________________________________________________________________________________________^^__________________^^________________________________________^^__^^_____^^^^_______________^^________________________________________________^^________________________________^^_____________________________]\۸o]^^________________________^^__________________________________________________^^____________________________^^____________________^^______________^^____________________________________________________________^^__^^___]\۸o]^_______^^______________________^^______^^____________________^^________^^__________^^________________^^____________^^^^____^^__________``____````__________________________________________________________``__________________``____________``________``____``______``________________________________``______________``____________````__^oҜwf^____________________________``____________________________``________``______________________________________``__________________________``________________``______________``__________``__________``____``________________________``____________________________``__________``_____________________^]xҜwf^____``````_^^dqزy\]_______``____````______``____________________``____________``_________^_do˰{kb_^______``__________________``__________________________________________``________________________________________``__``__________________________``_____________^_do˰zkb_^______________________``__``______________``________________________________________________````__________``________________aڴp`____________________________________``______________________________________________``__________________________________``__``____________________________________________________``____________``______________________________________``________``________________________________________________________________________________``___^]r̨v]]___________________________________________________``______________________________________________________^bkҭw\]_____________________________________^dp̨u]]_____________________________________________``_________________________________________________________^]nתj^^___________________________``_____________________________________________________________^^fw۸o]^___________________________________________________________________________________________________________________________________^^________________________^^______________^^______________^^_________^^fwҜwf^^________________________________________________________________________________________________________________________________________________________________________________________^]oȉe`_____________________________________^^__________________________________________________________________________________________________________________________________^^__________________^^________________________________________^^__^^________________________^^________________________________________________^^________________________________^^_____________________________]\۸o]^^________________________^^__________________________________________________^^____________________________^^____________________^^______________^^____________________________________________________________^^__^^___]\۸o]^_______^^______________________^^______^^____________________^^________^^__________^^________________^^____________^^^^____^^______``````______``__``____````````________``______``________``````__________``__``____``________````____``________``__________________``______________``____________``____``__________``__``````________``_^^oҜxf__`____``__````______``________````______``______``__``____````________``____``________________________________``__````________``______````______``__``__________________________________````__``____________``__``________``__``______________``__________````______________``_____________________^]yҜwf^_`__``_____]]nr]^_______________``__________``________________````__________________`_^_asǫka^^_``____________________``________``________``________``__________________``________``______````______``````____``__________________``______``______``________^^asȫja^_`______________________``______________``____``____________``________``____________``__________________``______________```^^}ضe`_____````________``______``__``________``________``__``________________``______________``______``____``____``______________________________________________````________``````______``____________________________``__``______``__________________________``__________________________``____________``__________``____``____________``____^mڵz\]_____``______``__________``______________``__________________________``____________``________________``___^^h|q]]_____``____________``__``________``____b۵z\]_________________``____````________________________________________________________``__``_______________^]qҝxf^^___``__________``__________________````____________________``_____________________________^^fw۸o]^`____________________``____________________``__________________``__``______``__________________``____________________________________````______________``_______________________________________________^^fwҜwf^^___________````__________________``__________``____________________________________``__________________________````__________``____________``____________________________``_____________]]s_^___________``________________________________________________``____________``____________________________________________________________________________``____________________________``______________________________________``__________________``____________________________________________________________________``________________``______________________`____________________]\۸o]^___________``__````____________________________________``____________________________________________________``______________________________________________________________________________________________________``_]\۸o^^___``________________________________________``____________________________________________________________________________________``````______``__``____````````________``______``________``````__________``__``____``________````____``________``__________________``______________``____________``____``__________``__``````________``_^^oҜxf__`____``__````______``________````______``______``__``____````________``____``________________________________``__````________``______````______``__``__________________________________````__``____________``__``________``__``______________``__________````______________``_____________________^]yҜwf^_`__``____^ahحl^^_______________``__________``________________````___________________`bkzϩvia^_`____________________``________``________``________``__________________``________``______````______``````____``__________________``______``______``______^_ajzϨvia^^_____________________``______________``____``____________``________``____________``__________________``______________```^]yР|i`____````________``______``__``________``________``__``________________``______________``______``____``____``______________________________________________````________``````______``____________________________``__``______``__________________________``__________________________``____________``__________``____``____________``_____i~^^_____``______``__________``______________``__________________________``____________``________________``___^]mدl^^_____``____________``__``________``___]\~a__________________``____````________________________________________________________``__``_______________^]uˏkb^____``__________``__________________````____________________``______________________________^fw۸o]^`____________________``____________________``__________________``__``______``__________________``____________________________________````______________``_______________________________________________^^fwҜwf^^___________````__________________``__________``____________________________________``__________________________````__________``____________``____________________________``_____________]]xԯx\]___________``________________________________________________``____________``____________________________________________________________________________``____________________________``______________________________________``__________________``____________________________________________________________________``________________``______________________``___________________]\۸o]^___________``__````____________________________________``____________________________________________________``______________________________``______________________________________________________________________``_]\۸o^^___``________________________________________``____________________________________________________________________________________````__``__``````````______````__````____``__``````````````____````````______````__````__````__````__````````__````__``````__``````__``__``````__````______````____``__``````__``````____``__``__``_____^^oҜwf^____``______``____``____``____``__``__``__``````````````______``````______````________``````````__``______``__````__````````````____``__````______``____````__``______``__``````____________``````````____``____________``__``__````__``____``________``____````__``__````````____````____``____``_^]yҜxf__```````_^^iљte_____``__``__``________``____``__``____````__``__``__``____``````___^^ajg]^_____``________````__````____``````________``__````````````________________``````````____``__``````____``____``__````____``__``````````____````____``__`_^ajg]^_____``____``__``__````________````____________````__``______``____``____``____``______````__``````____``______``__``___^]tȤya___```````______________``____````____________``______````____``__``__````__``______``________````__``______``__________``______``__``______``____``````______``______``````__````______``________________````__````````````________````__``________``______``__``____________``__``__``________________________``____``__``______``____^dpȅa^___````____``__``____````____``____``____________``________``__````````________``______````__________````_^]qӞyg___________``______````````________``___]]yˏkb___________````````````__````__````__________``______``__``______________````________``________``______`^]z`___`____``____``____````______________``________``````__``__``________````________````__``__`__fx۸o^^___________````__``______``____````````____````______````____``____``______``________``____``__``______``____________``______``````__``____``__________``________``__``__````______``______``_____________fxҜwf^^_____``______``__``__``____________________``______________``____````__________``__``____````__________``____________``____``______________``__``____________________``_________________]\|ơs]^_________``____````____``____``____________``____________________________________________``__``____________________________________________________``____``__``______``__``__________``____________________``__``__````________________``____________``__````````________``__``__``________``______``____________________````____________````______________________``____``__````_______]\۸o^^_``______``____________``__````________________________``__________________``__________``____``________``______``________________________``__________________________``______``____________________``____````__``````___]\۸o]^_________``__________``______``____``____``________``__________``________``______````______``__________````____________````________````__``__``````````______````__````____``__``````````````____````````______````__````__````__````__````````__````__``````__``````__``__``````__````______````____``__``````__``````____``__``__``_____^^pҜwf^____``______``____``____``____``__``__``__``````````````______``````______````________``````````__``____````__````__````````````____``__````______``____````__``______``__``````____________``````````____``____________``__``__````__``____``________````__````__``__````````____````____``____``_^]yҜxf__```````__bvljfa_____``__``__``________``____``__``____````__``__``__``____``````__^`ftmd_____``________````__````____``````________``__````````````________________``````````____``__``````____``____````````____``__``````````____````____``__^agund_____``____``__``__````________````____________````__``______``____``____``____``______````__``````____``______``__``____^pÒrc^_```````______________``____````____________``______````____``__``__````__``______``________````__``______``__________``______``__``______``____``````______``______``````__````______``________________````__````````````________````__``________``______``__``____________``__``__``________________________``____``__``______``_____af͎jb___````____``__``____````____``____``____________``________``__````````________``______````__________````_]]w͏kb___________``______````````________``___^]tҜwf___________````````````__````__````__________``______``__``______________````________``________``______`_`ڵz\]_``____``____``____````______________``________``````__``__``________````________````__``__`__fx۸o^^___________````__``______``____````````____````______````____``____``______``________``____``__``______``____________``______``````__``____``__________``________``__``__````______``______``_____________gxҜwf^______``______``__``__``____________________``______________``____````__________``__``____````__________``____________``____``______________``__``____________________``__________________`ڴn]^_________``____````____``____``____________``____________________________________________``__``____________________________________________________``____``__``______``__``__________``____________________``__``__````________________``____________``__````````________``__``__``________``______``____________________````____________````______________________``____``__````_______]\۸p^^_``______``____________``__````________________________``__________________``__________``____``________``______``________________________``__________________________``______``____________________``____````__``````___]\۸o]^_________``__________``______``____``____``________``__________``________``______````______``__________````____________````______````__``__``````__``````__````````__````````__``````````````````````````````````````__````````__``````````````````__````````____````__````````````__````````````````````````````````````````____``````__`_^pҜwf^_`__``__````__``````````````````````````````````````````````__````````````__``````````__``````````````__````__``````__``````````````__``````````````__````````__``````````````````````````````````````````````````__``````````````````````````````__````````__````````````````````````````__````__`^]yҜxf___``````_bk۷}`^_____``````____````````````````````__``__````````__```````````````^]fz̰ra`_``__``__``____``````````````__````````````````````__````__``````````__``````````__````__``````__````````````______``````````````````````__````````_^]fz̰ra`_````______````````__````````````__````````__``````````````__``__````______``__``__``__``````__``````````````__``_____^^k׵m\^_``__``__``____``____``__````__``__``__``````````__````````__``````````__``````````````````````````````__``__````````__````````__````````____``````````````````____````__``__``____``````__``````__``__````__``__``______``__````__``__``____````________``````____````````____``__````````__````````______``````__````````````_______^`Ҝwf__```__````__``______``____``__````____``__________````````__````````__``````````__``__``____``__``_______]\|DŽa_`__````__``````________``____``__``_____^^pתk^^_``````____````____````____````______``````````____````````____````__``__``````____``````____``____```af̨v]^`__``____````________``````__``__``__``__``````____````____````____````__________``````____`__fx۸o^^```````````````__``````______````````______``````````____``____````````________``````__``````````____``__````____``__````````````__``____````__````____``__``__``__````__``______``______````__````__``___fxҜwf^_`____````__________________``____``__``__````________````__``______``__``__````____``__________``____``______````__``````____``______``______````__````__``____``__``__``____``__````___bkԠzg^^___````__``______``````__````____``__________````__``________``__``````____``______``__``__````__``____``____``__``__``____``__````__``____``````______````````__________``____````__``________``______``______``__``________``____``____``````____________``____``______``______``````__``__``````____``________````__``____``________``______``__``````__````__``______``__``__````__`]\۸o^_`__``________``__________________````________________``__````__``````````__``____``____``__``____``______``__``______````__``____````______``______``__``____``````______``````__````__``______``````__``____``````__``_]\۸o^^_````______``__``____``````______````````__````__``````__``````____``__````__````______````__________``______``__``__````````__``````__``__``````__``````__````````__````````__``````````````````````````````````````__````````__``````````````````__````````____````__````````````__````````````````````````````````````````____``````__`_^pҜwf^_`__``__````__``````````````````````````````````````````````__````````````__``````````__``````````````__````__``````__``````````````__``````````````__````````__``````````````````````````````````````````````````__``````````````````````````````__````````__````````````````````````````__````__`^]yҜxf___`````__kɤu]^_____``````____````````````````````__``__````````__`````````````_^cmеxg_____``__``____``````````````__````````````````````__````__``````````__``````````__````__``````__````````````______``````````````````````__```````_^bmеxg__```______````````__````````````__````````__``````````````__``__````______``__``__``__``````__``````````````__``_______fvбla^_`__``__``____``____``__````__``__``__``````````__````````__``````````__``````````````````````````````__``__````````__````````__````````____``````````````````____````__``__``____``````__``````__``__````__``__``______``__````__``__``____````________``````____````````____``__````````__````````______``````__````````````_______^]zתk__```__````__``______``____``__````____``__________````````__````````__``````````__``__``____``__``________a}]]`__````__``````________``____``__``______^j۸p^^_``````____````____````____````______``````````____````````____````__``__``````____``````____``____`__dqݿq]^`__``____````________``````__``__``__``__``````____````____````____````__________``````____`__fx۸p^_```````````````__``````______````````______``````````____``____````````________``````__``````````____``__````____``__````````````__``____````__````____``__``__``__````__``______``______````__````__``___fxҜwf^_`____````__________________``____``__``__````________````__``______``__``__````____``__________``____``______````__``````____``______``______````__````__``____``__``__``____``__````___fw͏kb_____````__``______``````__````____``__________````__``________``__``````____``______``__``__````__``____``____``__``__``____``__````__``____``````______````````__________``____````__``________``______``______``__``________``____``____``````____________``____``______``______``````__``__``````____``________````__``____``________``______``__``````__````__``______``__``__````__`]]۸p^_`__``________``__________________````________________``__````__``````````__````__``____``__``____``______``__``______````__``____````______``______``__``____``````______``````__````__``______``````__``____``````__``_]\۸p^^_````______``__``____``````______````````__````__``````__``````____``__````__````______````__________``______``__``__````````__```````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````_^pҜxf__```````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````__````__```````````````````````````````````````````````````````````````````^]yҜxf__```````a{ڴn^_```````````__````````````````````````````__`````````````````````^]mãxa__``````````````````````__``````````````````````__````````````````````````````````````````````````````````__````````````````````````````````````_^\mãxa__``````````__``````````````````````````____````````````__``````__``````````````````````__``````````____````__``````````eѱm\^`__````````````````````````````````````````````````____``````````````````````````__````````````````__``````````````````````````__````````__````__````````````__````````````````````````````````````__``__``````````__``````````__``````````````__````__``````````````````__````````````````````````__``__````````__``````__`````````^]t۸p^_`__````````````````````````````__````__````__``````````````````__````````__``__``````````````____`````__blԯy]^_````````````____````````````__``````__`__erŠt]^```````__``````````______````__````````````````````````````__``__````````````````````__`````````````_^i~ٱm^^_``````__````````__``````````__````__``````````__``````````______````__`````````````````````__fx۸p^_```````__````````````````__``````````__````__``````__````````````````__``````````````````````__``````````__``__````````````````__``__``__````````____````````__````____``````____``````__```````````````__fxҜxf__`__````````__``__``````````````____``````````````````````__````````````````````````__``__````______``__``__``__``````__``````````````````______``````````````__````__````````````__```_^kDŽa_`````````__````````````````````````__``__````______``__``__``__``````__``````````````````______``````````````__````__````````````__````````````````__````````````____``____``__````````````````____````````````````__``__````````````````__``````````____``````````____``````````__``````````````____````````__````````````____````__``__``__``________``____``````______````__```````````]\۸p^^_``````__``````````````````____````____``____````````````````````````__``````````__````````````____````````````____``______``__``__``````__````__``__````````````__``__````__``````````````__``__````````__``________```]\۸p^_`____``````````__``````__``__````__````````__``____``____``__````````````````______````__````````______````````__``__``____```````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````_^pҝxg__```````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````__````__```````````````````````````````````````````````````````````````````^]yҜxg__````__erԡ}h__```````````__````````````````````````````__`````````````````````eqřzkc`_````````````````````__``````````````````````__````````````````````````````````````````````````````````__```````````````````````````````````__eqř{kca_````````__```````````````````````````___````````````__``````__``````````````````````__``````````____````__`````````^\|гqe`__````````````````````````````````````````````````____``````````````````````````__````````````````__``````````````````````````__````````__````__````````````__````````````````````````````````````__``__``````````__``````````__``````````````__````__``````````````````__````````````````````````__``__````````__``````__`````````_^oơt]^`__````````````````````````````__````__````__``````````````````__````````__``__``````````````____`````__gyğs^^_````````````____````````````__``````__```afհy]^```````__``````````______````__````````````````````````````__``__````````````````````__`````````````_^mԢ}h^^_``````__````````__``````````__````__``````````__``````````______````__`````````````````````__fx۸p^_```````__````````````````__``````````__````__``````__````````````````__``````````````````````__``````````__``__````````````````__``__``__````````____````````__````____``````____``````__```````````````__fxҜxf__`__````````__``__``````````````____``````````````````````__````````````````````````__``__````______``__``__``__``````__``````````````````______``````````````__````__````````````__```_^o}]^`````````__````````````````````````__``__````______``__``__``__``````__``````````````````______``````````````__````__````````````__````````````````__````````````____``____``__````````````````____````````````````__``__````````````````__``````````____``````````____``````````__``````````````____````````__````````````____````__``__``__``________``____``````______````__```````````]\۸p^^_``````__``````````````````____````____``____````````````````````````__``````````__````````````____````````````____``______``__``__``````__````__``__````````````__``__````__``````````````__``__````````__``________```^]۸p^_`____``````````__``````__``__````__````````__``____``____``__````````````````______````__````````______````````__``__``____``````````````````aa````````````````````aa````````````````````````````````````````````````````````````````````````````````aa``````````````````````````````````````````````````````````````````````aa```````````_^pҝxg__```````````````````````````````````````````````````````````````````````````````````````````````````aa``````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````aa`````````````````````````````````````````````````````^]yҜxf__````_^nΐkb_````````````````````````````````````aa``````````````````````````bvʫkb__```````````````````````````````````````````````````````````````````````````````````````````````````````````````````aa``````````````````````auʫkb__``````````````````````````````````````````````````````````````````````````````````````````````````````````````````^]vռua__``````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````aa`````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````_^kԯy]^``````````````````````````````````````````````````````````````````````````````````````````````````````_^mٳn^_``````````````````````````````````````````_`~\]````````````````````````````````````````````````````````````````````````````````````````````````````^^rΐkb__````````````````````````````````````````````````````````````````````````````````````````````__fx۸p^_```````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````__```````````````````````````````````````````````````````````__fxҜxf__```````````__````````__``````````````````````````````````````````````````````````````````````````````````````````````````````____````__``````````````````````````__``````__```````````^^tԯx]^`````````````````````````````````````````````````````````````````````````````____````__``````````````````````````__``````__``````````````````````____````__````````````````````````````````````````````````__``____``````````__````__``____``````````````````````````````````__````____````````__````````````__````````````````````````````````````````````__`````````````````````````````]\۸p^_`````__``````````````````````__``````````````````````````````````````````````__``````````````````````````````````````````````````````````__````````````````````````````````````````____````````````````````````````__```^]۸p^_```````````````__``````````````````````````__````````````````__````__``__````````__``__``````````````````````````````__``__``````````````````aa````````````````````aa````````````````````````````````````````````````````````````````````````````````aa``````````````````````````````````````````````````````````````````````aa```````````_^pҝxg__```````````````````````````````````````````````````````````````````````````````````````````````````aa``````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````aa`````````````````````````````````````````````````````^]yҜxg__````aeƒa_`````````````````````````````````````aa```````````````````````_`gxϧob````````````````````````````````````````````````````````````````````````````````````````````````````````````````````aa```````````````````_`gxϨob```````````````````````````````````````````````````````````````````````````````````````````````````````````````````_^qyjb`__```````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````aa``````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````_fx|]^``````````````````````````````````````````````````````````````````````````````````````````````````````_^rգ~i__``````````````````````````````````````````^]z̉d`````````````````````````````````````````````````````````````````````````````````````````````````````_^vDŽa_``````````````````````````````````````````````````````````````````````````````````````````````__fx۸p^_```````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````__```````````````````````````````````````````````````````````__fxҜxf__```````````__````````__``````````````````````````````````````````````````````````````````````````````````````````````````````____````__``````````````````````````__``````__```````````^]yơt]^`````````````````````````````````````````````````````````````````````````````____````__``````````````````````````__``````__``````````````````````____````__````````````````````````````````````````````````__``____``````````__````__``____``````````````````````````````````__````____``````````````````````__````````````````````````````````````````````__`````````````````````````````]]۸p^_`````__```````````````````````_``````````````````````````````````````````````__``````````````````````````````````````````````````````````__````````````````````````````````````````____````````````````````````````__```^]۸p^_```````````````__``````````````````````````__````````````````__````__````````````__``__``````````````````````````````````__````````````````````````````````aa``````````````````````````````````````````````````````````````````````````````````````````````````````aa````````````````````aa````````aa````````aa``````````````````aaaa`````_^pҝxg__```````aa````````````````````````aa````````````aa``aa````aa````````````````````````````````aa``````````````````````````aaaa````````````````````aa``````````````````````````````````````````aa````````````aa``````````````````````aa``````aa````````````````````````````````````````````aa`````````_]yҜxg```a`_fuЬy^_`````````````````````````aa````````````````````````````````````axԴkb_````aa````````````````````````````````````````````aa``````````aa``````````````````aa````````````````aa````aa``````````aa````````````````axӴkc_````aa````````````````````````aa````````````````````````````````aa``````````````````````````````aa```````````````__jĦkb^_`````````````````````````````````````````````````````````````````````````````````````````````aa``````````aa``````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````aa````````````````````````````````````````````````````````````aa```````````````bj]^a``aa``````````````aa``````````aa`````````````````````````````````````````````````````````````````````^]vЕpd_``````````````````````aa```````````````````^]vћvf__```````````````````````````aa`````````````````````````````````````````````````````````````````````_]{~^^```````````aa``````````aa````````````````````````aa``````````````````````````````````aa```````__fx۸p__`````````````````aa``````````````aa````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````aa```````````````__fxҜxf__`````````````````````````````````````````````````````````````````aa````````````````````````````````````````````````````````````````````aa`````````````````````````````````````````````^]}۸p^_```````````````````````````aa````````aa````````````````````````````````````````````````aa`````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````]]۸p^_````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````^]۸p^_```````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````aa``````````````````````````````````````````````````````````````````````````````````````````````````````aa````````````````````aa````````aa````````aa``````````````````aaaa`````_^pҝxf_````````aa````````````````````````aa````````````aa``aa````aa````````````````````````````````aa``````````````````````````aaaa````````````````````aa``````````````````````````````````````````aa````````````aa``````````````````````aa``````aa````````````````````````````````````````````aa`````````_]yҝxg```a`_oݽq^_`````````````````````````aa`````````````````````````````````ackyԩoba```aa````````````````````````````````````````````aa``````````aa``````````````````aa````````````````aa````aa``````````aa`````````````ackyԩpc`_``aa````````````````````````aa````````````````````````````````aa``````````````````````````````aa`````````````````eqʧxkd`__``````````````````````````````````````````````````````````````````````````````````````````aa``````````aa``````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````aa````````````````````````````````````````````````````````````aa````````````````bˈcaa``aa``````````````aa``````````aa`````````````````````````````````````````````````````````````````````_^|Ȋga```````````````````````aa```````````````````_^q׫k^_```````````````````````````aa`````````````````````````````````````````````````````````````````````_`ԯy]^```````````aa``````````aa````````````````````````aa``````````````````````````````````aa````````_gx۸p__`````````````````aa``````````````aa````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````aa```````````````__gxҜxf_``````````````````````````````````````````````````````````````````aa````````````````````````````````````````````````````````````````````aa`````````````````````````````````````````````_`תk__```````````````````````````aa````````aa````````````````````````````````````````````````aa`````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````^]۸p^_````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````^]۸p^_`````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````aaaa``aa````````````````aaaa``aa````````````````````aa``aa``````````aa````````````````````aa``aa````````````````aa````````aa``aa``aaaaaa``aaaa````````````````aaaaaa````````aa````````````````````````aa`__pҝxg_````````````aa````aa``````````````aa````aa````````````````aa``aa``````aa``````````````````aa````````````````aa``````````aa``````````````aa````aaaa````aa````aa``aa``````aaaa````````aa``````aa````````````````aa````````aaaa````````````````````aaaa``````````````````````````````````````````````a_^yҝxg_````b~جl__```````````aa``````````````````aa````````````````aa````aa```clԴkb_``````````````````````````````````````````````aa````````````````aa````aaaa````````aa````````aaaa``````````aa````````````````````a`_clԴkb__```````````aa````````````````````aa``````````aa````````````````````````````aa``````````````aa``````````````aa````c£ob`_``aa````aa``````aa``````aa``````````````````````aa````````aa``````````````````````````````aa``````````````````````````````````````````````aa``````````````aaaa````````````````````````aa``````````````aa``````````````aaaa``````aa````````````````````````````````````aa`````````````````````````````````````````````````````__~Еqe`````````````````````````````````aa``````````aa``````````````````aa````````````````````````aa`````````_aༀ`_```aa``````````````````````````````aa```````_^l۸p__`````````````aa``````````````````````````````````````````````````````````````````aa````````````a``afơt^^```````````````````````aa``````````aa````````````aa``````````````aa``aa``````````````````````a`_gx۸p^_`````````````````````````````````````````````````````````````````````aa``````````aa````aa``````````````````aaaa``````````````````````aa````````````````````````````````````````````````````````aa````````_gxҜxf_`a``````````````````````````````````````aa``````aa``````````aaaa````````````````````````````````````aa``````````````aa`````````````````````````````````````````````````````````````````afҝxg_``````````````aa``````````aa``````````````````````````````````````````````````````````````````aa````````````````````````````````````````````````````````````````````````````aa``````````````````````````````````````````````````````````aa````````````aa``````aa````````````````````aa````````````````````````````````````aa``aa```````````````````````````````````````````````````````````^]۸p^_```````````````````````````aa``````````aa````````````````````aa``````````aa``````aa``````````````````````````````aa``````````````````````````````````````````````````````````````````````````````````````aa`````````````^]۸p_````````````aa``````````aa````````````````````````````````````````````````````````````````````````````````````aa``````````````````aaaa``aa````````````````aaaa``aa````````````````````aa``aa``````````aa````````````````````aa``aa````````````````aa````````aa``aa``aaaaaa``aaaa````````````````aaaaaa````````aa````````````````````````aa`__pӝxg_````````````aa````aa``````````````aa````aa````````````````aa``aa``````aa``````````````````aa````````````````aa``````````aa``````````````aa````aaaa````aa````aa``aa``````aaaa````````aa``````aa````````````````aa````````aaaa````````````````````aaaa``````````````````````````````````````````````a_^yҝxg_```erϚvf_````````````aa``````````````````aa````````````````aa````aa``cpԩob``````````````````````````````````````````````aa````````````````aa````aaaa````````aa````````aaaa``````````aa`````````````````````aboԩob````````````aa````````````````````aa``````````aa````````````````````````````aa``````````````aa``````````````aa```^]yƫ}qha^_`````aa``````aa``````aa``````````````````````aa````````aa``````````````````````````````aa``````````````````````````````````````````````aa``````````````aaaa````````````````````````aa``````````````aa``````````````aaaa``````aa````````````````````````````````````aa`````````````````````````````````````````````````````_^yգ~j`````````````````````````````````aa``````````aa``````````````````aa````````````````````````aa`````````bjԯy]^```aa``````````````````````````````aa````````_fxȣu^_`````````````aa``````````````````````````````a```````````````````````````````````aa````````````a``eq۷o^_```````````````````````aa``````````aa````````````aa``````````````aa``aa``````````````````````a`_gx۸p^_`````````````````````````````````````````````````````````````````````aa``````````aa````aa``````````````````aaaa``````````````````````aa````````````````````````````````````````````````````````aa````````_gyҜxf_`a``````````````````````````````````````aa``````aa``````````aaaa````````````````````````````````````aa``````````````aa`````````````````````````````````````````````````````````````````do͐lc```````````````aa``````````aa``````````````````````````````````````````````````````````````````aa````````````````````````````````````````````````````````````````````````````aa``````````````````````````````````````````````````````````aa````````````aa``````aa````````````````````aa````````````````````````````````````aa``aa```````````````````````````````````````````````````````````^]۸p^_```````````````````````````aa``````````aa````````````````````aa``````````aa``````aa``````````````````````````````aa``````````````````````````````````````````````````````````````````````````````````````aa`````````````^]۸p_````````````aa``````````aa````````````````````````````````````````````````````````````````````````````````````aa``````````````````````aa``````aaaa``aaaa``aa````aa````aa``aaaa````aa````aaaaaa``aa``````````aaaaaaaaaa``````````aa``aa````aaaaaaaaaaaa````aa``aaaa``````aa``aaaaaaaa``````````aa````aa````aaaaaa````````````````aa`````````__pӝyg```aaaa````````````aa````````````aa``aaaa``aaaa````aa````````````````````````````````````````````````aa````````aa``aa``aaaa``````````````aa````````aaaa``aaaa````````aa``aa````aa``aa``````aaaa``aaaaaa````````````aaaa``````aa````aaaa``````aa``````aa````````aaaa``aaaa``````aaaa````aa``aa``aaaa`_^yҝxg``_^nÆea```aa````aaaaaa````aa``````````aa``````````````aa````aa````_ckԴkc``aaa``aa````aa``````````````aa```````aaaaaaaaa``aa``aa````````aa``````aa``aa``````aa``aa````aaaaaaaa``aa````````aa````````aa`__bkԴkc```aa``````aa``````````aa````aa``aa``````aaaa``aa``````````````````````````````````````````````````aa````aa`````^^qDZ{f]^``aaaaaaa``````aa````aa````aa``````aa````aaaa``````aa````aa````aaaa````aa``````````aa``````aaaa``aa``````aa``aa``aa````aaaa````aa``````aa``````````````aa````````````aa````````aaaa``````````````````````````````aa````aa````````````aaaa````````aaaa````````````aaaaaa``````aa````aa``aaaaaa````````aaaa`````````````````_^sٱn_``````````````````````aa````````````````aa````aaaaaa````aaaa``````````aa````````````````````aa``aa``_fwơu^_`aa````aa``aa````````aaaa``````aa````````aaa``bjٴz]_`````aaaa``aaaa````aa``aa``````````````````````````aa``````aa````````````````aa``aa````aa`````````iեj_`a````aa````````aaaa``````aa````````````aa``````aa``````````````````````aa```````````````````````gy۸p^_```````aaaa````aa``````aa``````````````````````aaaa````aa``````````````````aa````````aaaa``````````aa````````````aaaa``````aa````````````````````````````aa``aa````````````````aa``aaaa``aa````````````a``gyҜxf_`a``````````aa````````aaaa````aa````````````````````````````````````````aa````aaaa``````````````````````````````````````aa``aa``aaaa````````````aa``````````````aa````aa```````````````hzDža``````````````````````aaaa``aa``aaaa``````````````aa``````````aaaa``````````````````````````aa``aaaa``````aa``aa````````aa````````aa``````````````````````````````aa````````````````aa````````````aa````````aa``````````````aa``````aa````````aaaa````aa````````````````aa``````````````````````````````````````````````````````aa``````aa``````````````````````````aa``aa``aa```````````````^]۸p_`a``````````````````````aa``````aa``````aa````````aa````````aa``````````````````````````````````````````aa````aa``aa````````````````````aa``````````aa``````````````aa``````````````aa``````````````````````aaaa`````````^]۸p^_`aa``````````aa``````````aa``````````````````````aa````````````````````````````````````aa````````aa````````````aa````````````````````aa``````aaaa``aaaa``aa````aa````aa``aaaa````aa````aaaaaa``aa``````````aaaaaaaaaa``````````aa``aa````aaaaaaaaaaaa````aa``aaaa``````aa``aaaaaaaa``````````aa````aa````aaaaaa````````````````aa`````````__pӝyh```aaaa````````````aa````````````aa``aaaa``aaaa````aa````````````````````````````````````````````````aa````````aa``aa``aaaa``````````````aa````````aaaa``aaaa````````aa``aa````aa``aa``````aaaa``aaaaaa````````````aaaa``````aa````aaaa``````aa``````aa````````aaaa``aaaa``````aaaa````aa``aa``aaaa`_^yҝxg``ac~ٴz]_```aa````aaaaaa````aa``````````aa``````````````aa````aa```acoԩocaa`a``aa````aa````aa````````aa``````aaaaaaaaaa``aa``aa````````aa``````aa``aa``````aa``aa````aaaaaaaa``aa````````aa````````aa`acoԩoc``aa``````aa``````````aa````aa``aa``````aaaa``aa``````````````````````````````````````````````````aa````aa`````__jչxpib__`aaaa``````aa````aa````aa``````aa````aaaa``````aa````aa````aaaa````aa``````````aa``````aaaa``aa``````aa``aa``aa````aaaa````aa``````aa``````````````aa````````````aa````````aaaa``````````````````````````````aa````aa````````````aaaa````````aaaa````````````aaaaaa``````aa````aa``aaaaaa````````aaaa`````````````````_^nݿr__`````````````````````aaaa``````````````aa````aaaaaa````aaaa``````````aa````````````````````aa``aa``_l۸p_``aa````aa``aa````````aaaa``````aa````````aaaa``b```````aaaa``aaaa````aa``aa````````````````````aa````aa``````aa````````````````aa``aa````aa````````_nϕqe``a````aa````````aaaa``````aa````````````aa``````aa``aa``````````````````aa```````````````````````gy۸p^_```````aaaa````aa``````aa``````````````````````aaaa````aa``````````````````aa````````aaaa``````````aa````````````aaaa``````aa````````````````````````````aa``aa````````````````aa``aaaa``aa````````````a``gyҝxg_`a``````````aa````````aaaa````aa````````````````````````````````````````aa````aaaa``````````````````````````````````````aa``aa``aaaa````````````aa``````````````aa````aa```````````````k}]^`````````````````````aaaa``aa``aaaa``````````````aa``````````aaaa``````````````````````````aa``aaaa``````aa``aa````````aa````````aa``````````````````````````````aa````````````````aa````````````aa````````aa``````````````aa``````aa````````aaaa````aa````````````````aa``````````````````````````````````````````````````````aa``````aa``````````````````````````aa``aa``aa```````````````^]۸p_`a``````````````````````aa``````aa``````aa````````aa````````aa``````````````````````````````````````````aa````aa``aa````````````````````aa``````````aa``````````````aa``````````````aa``````````````````````aaaa`````````^]۸p^_`aa``````````aa``````````aa``````````````````````aa````````````````````````````````````aa````````aa````````````aa````````````````aa``aaaa``aaaa````aaaaaaaa``aaaaaaaa````aaaa``````aaaaaaaaaaaaaaaaaaaaaa``aaaaaaaaaa``aaaa````aaaa````aaaaaa``aaaaaa``aaaa``aa``aaaaaa``aaaaaa````aaaaaa``aaaa``aaaaaaaaaa``aaaa``aa``aaaa``aa````aa``aaa__pӝyg``aaaaa``aaaaaaaa``````aaaaaaaaaa````aaaaaaaaaaaa``aa``aa``````aa``````aaaaaaaaaaaaaa``aa``aa``aa``aaaaaaaaaaaa``aa``aa``aaaaaaaaaaaaaaaaaaaaaa````aa``aaaaaaaaaa``aaaaaa``aa````aa``aa``aaaaaaaa``aaaaaaaaaaaaaaaaaaaa``````aaaaaaaaaaaaaaaaaaaa````aaaaaa``aa``aaaaaa``aaaaaaaaaa``aaaaaaaaaa````a_^yҝxg``eqȣu^_aaa``aaaa``aa``aa``````aa``aaaa````````````aa``````aa``a``clԴkc`aaaaaaaaaaaa````aaaaaaaa````aa``aaaaaa````aaaa````aaaaaa``aaaaaa``aaaaaaaa``aaaaaaaa``aa````aa``````aaaaaa````````aaaa``aa`clԴkc``a````aa``aaaa````aaaaaaaaaa````aaaaaaaaaaaa````````aa``aaaaaa``aa``````aaaaaaaaaa``aa``aaaa``aaaa``aa`````````dmİ{g]^_`aaa``aaaaaaaa``aa``aaaaaaaaaaaa``aa``aaaa``aaaaaa``aaaaaaaaaaaa``````aa````aaaaaaaa``````aa``aaaaaa``````aaaa``aa``aa``aa````aaaa``aa````aaaaaaaaaa````aaaa````aa``````aaaa``aa``aa````aaaa````aa``aa``aaaaaa``aaaa``aa````aa````aaaaaaaa````aaaa````aaaaaa``````````````````aa````aa````aa``````aa``aa``aa````aa```__iͨw^_`````````````````aa````aa````aaaa``aa````````````aa````aaaa``aa``aaaaaaaa``````````aaaaaa``aa````a`_r׫l_`aaaaa````aa``aa````````aa````aaaaaaaaaa````aa`__~ʊgb`````````aaaa``aaaaaaaa``aaaa````aaaaaaaa``aa``aa``````````aa````aa``aa``````aaaaaaaa``aaaa``aa`__rȆc``aa``aaaaaa``````aa``aa``aa````aa````````````aa``aa````aa````````aa````aaaa``aa````aa``aa````aa```gy۸p__`aa``aaaa````````aa``aaaa``aa``aa``aaaa````````````aaaa````````aaaa``````aaaa``aa````aaaaaa````aa````aa````````aaaaaa````aaaa``aaaa````````aa````````aaaa``aa``aaaaaa````aaaaaaaa``````aa````aa````aa````_gxҝxg```````aaaa``aa````````aa``````aaaaaa``````aa``````aa``aa``aa``````aa``aa````aaaaaaaa``````aaaa``````aa``aa````aaaa``aa``aa``aa``````````````aaaa````aa``````aa``aa``aa``aaaaaa````aa``_nԯy]_`aa``aa``````aa``aa````aa``````aaaa````````aa``````````````````aaaa``````aa````aa````````aa``aaaa````aaaa````aa``aa````````aa``````aaaa````aaaaaa````````````aaaa````````````aaaa``````aa````````````aa````````aaaa``aa``````````aaaa````aa````aa``aa````aa``aa``````````````aa``aaaa````````aa````aa``````aa``````````aaaa````aaaaaa````````````````````aaaaaaaa``````````````aa``aaaa``aaa^]۸p__```````aaaa``aa``aaaaaaaa````aaaa````aa``````aaaaaa````aa``````aa````aa````````````````````aa``````````````aaaa``aaaa````````aa``````````aa````````aaaa``aa````aa````````aa``aaaaaa````````````````````````````````aa```^]۸p__```````````````````````aa``aaaa````aa``aa``aa``aa``````````aa````aaaaaa``aa``````````````aa````aa````````aaaa````````````aa``````aa``aaaa``aaaa````aaaaaaaa``aaaaaaaa````aaaa``````aaaaaaaaaaaaaaaaaaaaaa``aaaaaaaaaa``aaaa````aaaa````aaaaaa``aaaaaa``aaaa``aa``aaaaaa``aaaaaa````aaaaaa``aaaa``aaaaaaaaaa``aaaa``aa``aaaa``aa````aa``aaa`_qӝyg``aaaaa``aaaaaaaa``````aaaaaaaaaa````aaaaaaaaaaaa``aa``aa``````aa``````aaaaaaaaaaaaaa``aa``aa``aa``aaaaaaaaaaaa``aa``aa``aaaaaaaaaaaaaaaaaaaaaaaa``aa``aaaaaaaaaa``aaaaaa``aa````aa``aa``aaaaaaaa``aaaaaaaaaaaaaaaaaaaa``````aaaaaaaaaaaaaaaaaaaa````aaaaaa``aa``aaaaaa``aaaaaaaaaa``aaaaaaaaaa````a_^yӝyh_^lٳo_`aaa``aaaa``aa``aa``````aa``aaaa````````````aa``````aa``a``kԩocaaaaaaaaaaaa````aaaaaaaa````aa``aaaaaa````aaaa````aaaaaa``aaaaaa``aaaaaaaa``aaaaaaaa``aa````aa``````aaaaaa````````aaaa``a``kԩpcaa````aa``aaaa````aaaaaaaaaa````aaaaaaaaaaaa```````aaa``aaaaaa``aa``````aaaaaaaaaa``aa``aaaa``aaaa``aa``````````bչyqkda````aaaaaaaa``aa``aaaaaaaaaaaa``aa``aaaa``aaaaaa``aaaaaaaaaaaa``````aa````aaaaaaaa``````aa``aaaaaa``````aaaa``aa``aa``aaaa``aaaa``aa````aaaaaaaaaa````aaaa````aa``````aaaa``aa``aa````aaaa````aa``aa``aaaaaa``aaaa``aa````aa````aaaaaaaa````aaaa````aaaaaa``````````````````aa````aa````aa``````aa``aa``aa````aa`````eqٴ{]^`````````````````aa````aa````aaaa``aa````````````aa````aaaa``aa``aaaaaaaa``````````aaaaaa``aa````a_^wқvg``aaaaa````aa``aa````````aa````aaaaaaaaaa````aa`_^yИse`````````aaaa``aaaaaaaa``aaaa````aaaaaaaa``aa``aa``````````aa````aa``aa``````aaaaaaaa``aaaa``aa`_^w}]^`aa``aaaaaa``````aa``aa``aa````aa````````````aa``aa````aa````````aa````aaaa``aa````aa``aa````aa```gy۸q_``aa``aaaa````````aa``aaaa``aa``aa``aaaa````````````aaaa````````aaaaaa````aaaa``aa````aaaaaa````aa````aa````````aaaaaa````aaaa``aaaa````````aa````````aaaa``aa``aaaaaa````aaaaaaaa``````aa````aa````aa````_gxӝyh```````aaaa``aa````````aa``````aaaaaa``````aa``````aa``aa``aa``````aa``aa````aaaaaaaa``````aaaa``````aa``aa````aaaa``aa``aa``aa``````````````aaaa````aa``````aa``aa``aa``aaaaaa````aa`__rơu^_`aa``aa``````aa``aa````aa````aaaaaa````````aa``````````````````aaaa``````aa````aa````````aa``aaaa````aaaa````aa``aa````````aa``````aaaa````aaaaaa````````````aaaa````````````aaaa``````aa````````````aa````````aaaa``aa``````````aaaa````aa````aa``aa````aa``aa``````````````aa``aaaa````````aa````aa``````aa``````````aaaa````aaaaaa````````````````````aaaaaaaa``````````````aa``aaaa``aaa^]۸p__```````aaaa``aa``aaaaaaaa````aaaa````aa``````aaaaaa````aa``````aa````aa````````````````````aa``````````````aaaa``aaaa````````aa``````````aa````````aaaa``aa````aa````````aa``aaaaaa````````````````aa``````````````aa```^]ܸp_````````````````````````aa``aaaa````aa``aa``aa``aa``````````aa````aaaaaa``aa``````````````aa````aa````````aaaa````````````aa``````````aaaa``aa````aaaaaa``aaaaaaaaaaaaaaaa``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``aaaaaaaaaa``aaaaaa``aaaaaaaaaa``aaaaaaaa``aaaaaaaa``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``aaaaaaaaaa``aaaa``aa``aaaaaaaaaaaaa``qӝyg``aaa``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``aa``aa``aaaaaaaaaa``aaaaaa``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``aaaaaaaaaaaaaaaaaa``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``aaaaaaaaaa``aaaaaa``aaaa``aaaaaa``aaaaaaaa````aaaa``aaaaaaaa``aaaaaaaaaaaaaaaaaaaa````aa``aaaaa_^zӝyh^]wқvgaaa``aaaa``````aaaaaaaaaaaaaaaa``aa````aaaaaaaaaaaaaaaa````bzԴkc`````aaaaaaaa``aa``aa````aaaaaaaaaa``aa``aa``aaaaaaaaaaaaaaaaaaaaaa``aaaaaaaa``````aaaaaaaaaa````aaaaaa``aaaaaaaaaaaa``a`byԴld`aaaaaa``aaaa````aaaaaa``aaaaaaaaaaaaaaaaaaaa````aaaaaaaaaaaa``aaaaaaaaaaaaaa``aa``aaaaaa``aaaaaaaaaaaaaaaaaaa``vımb__``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``aaaaaa``aaaaaaaaaaaaaa``aaaaaaaaaaaaaaaaaaaaaaaaaa``aaaaaaaaaaaaaaaaaaaaaa````aaaaaaaaaaaaaa``aaaaaa``aaaa``aaaaaaaaaaaaaa``aaaaaa``aaaaaaaaaaaa``aaaaaa````aaaa````aaaaaa``aa````aa``aaaaaaaaaaaa``aaaaaaaaaaaa``aaaaaa``aaaaaaaaaaaaaaaaaa``````aa``aaaaaa``aaaaaaaaaaaad~]^`aa``aaaa``aaaaaaaaaaaaaa````aa``aa````aaaaaaaa``````aa``````aaaaaaaaaaaa``aa``aa``aaaaaaaa``aaaaa_^{̊eaaaaaaaaaaaa``````````````````aaaaaa``aaaa``aaaaa`_s֩k_`a``aaaaaaaa``aaaaaa``aa``aaaaaaaaaa````aa``aaaaaaaa````aaaa``aaaaaaaa``````aaaa``aaaaaa````aa`_]{ԯy]_aaaaaaa``aaaaaa``aaaa``aaaaaaaaaa````aaaaaaaaaaaaaaaaaa``aaaaaa``aa``aaaaaaaaaaaa``aaaaaaaaaaaa```gy۸p_`a``aa``aaaa``aaaa``aaaa``aaaaaaaa``aa````````aaaa``aa````aa``aa``aaaaaa``aa``aa``````aaaaaaaaaaaa``aaaa````aaaa``aa``````aaaaaaaaaa``aa``aaaaaaaa````aaaa``aaaa``aaaaaa``aa````````aaaaaaaaaaaa``aaaaaaa``gyӝyg``a````````aaaa````aaaa````aa``aa``aaaaaaaa``aaaa````aa````aaaaaaaa``````aaaaaaaa````aa````aa````aaaa``aa``aa````aaaa``aaaa````aaaaaaaaaaaaaa````````````aaaa````aa````aa``aaaaaa``aa`_^w۸p_``aa````````aa````````aaaaaa``aa``aaaa````aaaa``aa````aaaa``aaaa``aaaaaaaaaaaaaaaaaa``aa``````aaaa``aa``aaaaaaaa``aaaaaaaa``````aa``aa````aaaaaaaaaaaa``aaaa``````````````aa``````````aaaaaaaa``aaaaaaaaaaaa````aa``aaaaaa``aaaaaaaa``aa``aaaa``aaaaaaaaaaaa``aaaaaaaaaaaaaa``aa``````aaaaaaaaaa``aaaaaaaa``````aaaa````````aaaa``aaaaaaaaaa``aaaaaaaa````````aaaa``````aaaaaaaaaaaa````````a^]۸p__`````aaaa````aaaaaaaaaaaaaa``aaaa``aa``````aaaa````aa``````````aa``````aa````aa``aa``````````aaaa``aaaaaaaaaaaaaaaa````aa````````aaaa````aa``````aa``````aa````aa``````````````aaaaaaaaaa``aaaa``````````aa````aaaa``aa`^]ܸp_``````aa``aaaa``aaaa````````````aaaaaa``aa``aa``````aa``aaaa``aaaa``aa````aa``aa``aaaaaa``aaaaaa``aa``aa``aa``aa``aaaa``aaaa``aaaa````aaaa``aa````aaaaaa``aaaaaaaaaaaaaaaa``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``aaaaaaaaaa``aaaaaa``aaaaaaaaaa``aaaaaaaa``aaaaaaaa``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``aaaaaaaaaa``aaaa``aa``aaaaaaaaaaaaa``qӝyg``aaa``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``aa``aa``aaaaaaaaaa``aaaaaa``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``aaaaaaaaaaaaaaaaaa``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``aaaaaaaaaa``aaaaaa``aaaa``aaaaaa``aaaaaaaa````aaaa``aaaaaaaa``aaaaaaaaaaaaaaaaaaaa````aa``aaaaa_^zӝxgbjȊgbaaa``aaaa``````aaaaaaaaaaaaaaaa``aa````aaaaaaaaaaaaaaaa```hyԩm`````aaaaaaaa``aa``aa````aaaaaaaaaa``aa``aa``aaaaaaaaaaaaaaaaaaaaaa``aaaaaaaa``````aaaaaaaaaa````aaaaaa``aaaaaaaaaaaa``ahxԪm``aaaaa``aaaa````aaaaaa``aaaaaaaaaaaaaaaaaaaa````aaaaaaaaaaaa``aaaaaaaaaaaaaa``aa``aaaaaa``aaaaaaaaaaaaaaaaaaa`_l־yqida_``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``aaaaaa``aaaaaaaaaaaaaa``aaaaaaaaaaaaaaaaaaaaaaaaaa``aaaaaaaaaaaaaaaaaaaaaa``aaaaaaaaaaaaaaaa``aaaaaa``aaaa``aaaaaaaaaaaaaa``aaaaaa``aaaaaaaaaaaa``aaaaaa````aaaa````aaaaaa``aa````aa``aaaaaaaaaaaa``aaaaaaaaaaaa``aaaaaa``aaaaaaaaaaaaaaaaaa``````aa``aaaaaa``aaaaaaaaaaa^]Džb``aa``aaaa``aaaaaaaaaaaaaa````aa``aa````aaaaaaaa``````aa``````aaaaaaaaaaaa``aa``aa``aaaaaaaa``aaaaaab]_aaaaaaaaaaa``````````````````aaaaaa``aaaa``aaaaa`_n۸q_`a``aaaaaaaa``aaaaaa``aa``aaaaaaaaaa````aa``aaaaaaaa````aaaa``aaaaaaaa``````aaaa``aaaaaa````aa``aƢu__aaaaaaa``aaaaaa``aaaa``aaaaaaaaaa````aaaaaaaaaaaaaaaaaa``aaaaaa``aa``aaaaaaaaaaaa``aaaaaaaaaaaa```gyܸp_`a``aa``aaaa``aaaa``aaaa``aaaaaaaa``aa````````aaaa``aa````aa``aa``aaaaaa``aa``aa``````aaaaaaaaaaaa``aaaa````aaaa``aaaa````aaaaaaaaaaaaaa``aaaaaaaa````aaaa``aaaa``aaaaaa``aa````````aaaaaaaaaaaa``aaaaaaa``gyӝyg``a````````aaaa````aaaa````aa``aa``aaaaaaaaaaaaaa````aa````aaaaaaaa``````aaaaaaaa````aa````aa````aaaa``aa``aa````aaaa``aaaa````aaaaaaaaaaaaaa````aa``````aaaa````aa````aa``aaaaaaaaaa`_^{جm_``aa````````aa````````aaaaaa``aa``aaaa````aaaa``aa````aaaa``aaaa``aaaaaaaaaaaaaaaaaa``aa``````aaaaaaaa``aaaaaaaa``aaaaaaaa``````aa``aa````aaaaaaaaaaaa``aaaa``````````````aa``````````aaaaaaaa``aaaaaaaaaaaa````aa``aaaaaa``aaaaaaaa``aa``aaaa``aaaaaaaaaaaa``aaaaaaaaaaaaaa``aa``````aaaaaaaaaa``aaaaaaaa``````aaaa````````aaaa``aaaaaaaaaa``aaaaaaaa````````aaaa``````aaaaaaaaaaaa````````a^]۸p__`````aaaa````aaaaaaaaaaaaaa``aaaa``aa``````aaaa````aa``````````aa``````aa``aaaa``aa``````````aaaa``aaaaaaaaaaaaaaaa````aa````````aaaa````aa``````aa``````aa````aa``````````````aaaaaaaaaa``aaaa````aa````aa````aaaa``aa`^]ܸp_``````aa``aaaa``aaaa````````````aaaaaa``aa``aa``````aa``aaaaaaaaaa``aa````aa``aa``aaaaaa``aaaaaa``aa``aa``aa``aa``aaaa``aaaa``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``aa``aaaaaaaaaaaaaaaa``aaaaaaaa``aaaaaa````aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``qҝyg``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``aaaaaaaaaaaaaaaaaaaaaaaaaa``aaaaaaaaaaaaaa``aaaaaaaaaaaaaaaaaaaaa_^zӞxfkༀ``aaaaaaaaaaa````aaaaaaaaaaaaaaaaaaaaaaaa``aaaaaaaaaaaaa`aacyͿԱ}a```aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``aaaaaaaa``aaaaaabyͿԱ}b``aaaaaaaaaaaaaaaaaa``aaaa``aaaaaaaaaaaaaaaaaa``aaaa``aaaaaaaaaaaa``aaaaaa``aaaaaa``aaaaaaaaaaaaaaaaaaaaaaaaaa`eo˽}lb^_``aaaaa``aaaaaaaaaa``aaaaaaaaaaaaaaaaaaaaaaaaaaaa``aaaaaaaaaaaaaa``aaaaaaaaaaaaaaaaaaaa````aaaaaaaaaaaaaa``aaaaaaaaaaaaaaaaaaaaaaaaaa``aa``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``aaaaaaaa``aaaaaaaaaaaaaaaaaaaaaaaa``aaaaaaaa````aaaaaaaaaaaaaa``aaaaaaaaaaaaaaaa``aaaaaaaaaaaaaaaaaa``aaaaaaaaaaaaaaaaaaaaaaaaa_^|͐lc``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``aaaaaa````aaaaaaaa``aa``aaaaaaaaaaaaaaaa``aaaa````aaa``dmձy^_aaaaaaaaaaaaaaaaa````aaaaaaaaaaaaaaaaaaaaaaaaaaa``jƢu^_aaaaaaaaaaaaaaaaaaaaa``aaaaaa``aaaaaa``aaaa``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``aa````aaabhܹq_`aaaaa``aaaaaaaaaaaaaaaaaaaaaaaaaaaa````aaaa``aaaa````aa``aaaaaaaaaa``aaaaaaaa``aaaaaaaa``aaaaaaa``gy۸p_`aaaaa``aaaaaaaaaaaaaaaaaaaaaaaaaaaa``aaaaaaaaaa``aaaaaa``aaaaaaaaaaaaaa``aaaaaaaaaa``aaaaaa````aaaa``aaaaaa``aaaaaaaaaaaaaaaaaa``aaaa``aaaaaaaaaaaaaaaaaaaa``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``gyӝyg``a``aaaa````aaaaaaaaaa``aaaaaaaaaaaaaaaaaaaaaaaaaa``aaaaaaaaaa``aaaaaaaaaaaaaaaa````aa``aaaaaaaaaaaaaa``aaaaaaaaaa````aaaa``aa``aaaaaaaaaaaaaaaaaa````aaaa``aaaaaaaaaaaaaaaaaaaaaaaaa_^~Ԣ~i``aaaaaaaaaaaaaaa``aaaaaaaaaaaaaaaaaa````aaaaaaaaaa``aaaaaa``aaaaaaaaaaaaaa``aaaaaaaaaaaaaaaa``aaaaaaaaaaaaaaaaaaaa``aaaaaaaaaa``aaaaaaaa``aa``aa``aaaa``aaaaaaaaaaaaaaaaaa``aa````aaaaaaaaaaaaaaaaaaaaaa``aaaaaa``aaaaaaaaaaaaaaaa``aaaaaaaaaaaaaaaa``aaaa``aaaaaaaa``aaaaaaaaaa``aaaaaaaaaaaaaaaaaaaaaa````aa``aaaa````aaaaaaaaaaaaaaaa``aaaaaaaa``aaaaaaaaaaaaaa``aaaaaaaaaaaaaaaaaa``aa``a_]۸p_``aa``aa``aaaaaaaaaaaaaaaaaaaaaaaaaaaa``aaaaaaaaaa``aa``aa``aa``aaaaaaaaaa``aaaa``aaaaaaaaaaaa``````aaaa``aaaaaaaaaaaaaa``aaaaaaaa``aaaaaaaaaaaaaaaaaa````aaaa``aaaaaaaa``aaaaaaaaaa``aaaa``aaaaaaaaaaaaaa``````aaaaaaaaa^]ܸp_`aaaaaaaaa``aaaa``aaaa``aaaa``aaaaaaaa``````aaaaaa````aaaa``aaaaaaaaaaaa``````aaaa``aa``aaaa``aaaaaaaaaaaaaa``aa``aa``aaaaaaaaaa``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``aa``aaaaaaaaaaaaaaaa``aaaaaaaa``aaaaaa````aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``qӝyh``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``aaaaaaaaaaaaaaaaaaaaaaaaaa``aaaaaaaaaaaaaa``aaaaaaaaaaaaaaaaaaaaa_^zӞyhvϪx__aaaaaaaaaaaa```aaaaaaaaaaaaaaaaaaaaaaaa``aaaaaaaaaaaaa`_fwŻxyyyyyyyyyyyyyyyyyЛxha`aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``aaaaaaaa``aaa`_fwŻxyyyyyyyyyyyyyyyyyЛxiaaaaaaaaaaaaaaaaaaa``aaaa``aaaaaaaaaaaaaaaaaa``aaaa``aaaaaaaaaaaa``aaaaaa``aaaaaa``aaaaaaaaaaaaaaaaaaaaaaaaaaaabϺxrkd```````aaaaaaaaaa``aaaaaaaaaaaaaaaaaaaaaaaaaaaa``aaaaaaaaaaaaaa``aaaaaaaaaaaaaaaaaaaa````aaaaaaaaaaaaaa``aaaaaaaaaaaaaaaaaaaaaaaaaa``aa``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``aaaaaaaa``aaaaaaaaaaaaaaaaaaaaaaaa``aaaaaaaa````aaaaaaaaaaaaaa``aaaaaaaaaaaaaaaa``aaaaaaaaaaaaaaaaaa``aaaaaaaaaaaaaaaaaaaaaaaaa`_wҝyh``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``aaaaaa````aaaaaaaa``aa``aaaaaaaaaaaaaaaa``aaaa````aaa``hyƢu__aaaaaaaaaaaaaaaaa````aaaaaaaaaaaaaaaaaaaaaaaaaaa``erձz^_aaaaaaaaaaaaaaaaaaaaa``aaaaaa``aaaaaa``aaaa``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``aa````aa`ep֩l``aaaaa``aaaaaaaaaaaaaaaaaaaaaaaaaaaa````aaaa``aaaa````aa``aaaaaaaaaa``aaaaaaaa``aaaaaaaa``aaaaaaa``hy۸q_`aaaaa``aaaaaaaaaaaaaaaaaaaaaaaaaaaa``aaaaaaaaaa``aaaaaa``aaaaaaaaaaaaaa``aaaaaaaaaa``aaaaaa````aaaa``aaaaaa``aaaaaaaaaaaaaaaaaa``aaaa``aaaaaaaaaaaaaaaaaaaa``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``gyӝyh``a``aaaa````aaaaaaaaaa``aaaaaaaaaaaaaaaaaaaaaaaaaa``aaaaaaaaaa``aaaaaaaaaaaaaaaa````aa``aaaaaaaaaaaaaa``aaaaaaaaaa````aaaa``aa``aaaaaaaaaaaaaaaaaa````aaaa``aaaaaaaaaaaaaaaaaaaaaaaaa`_Жre``aaaaaaaaaaaaaaa``aaaaaaaaaaaaaaaaaa````aaaaaaaaaa``aaaaaa``aaaaaaaaaaaaaa``aaaaaaaaaaaaaaaa``aaaaaaaaaaaaaaaaaaaa``aaaaaaaaaa``aaaaaaaa``aa``aa``aaaa``aaaaaaaaaaaaaaaaaa``aa````aaaaaaaaaaaaaaaaaaaaaa``aaaaaa``aaaaaaaaaaaaaaaa``aaaaaaaaaaaaaaaa``aaaa``aaaaaaaa``aaaaaaaaaa``aaaaaaaaaaaaaaaaaaaaaa````aa``aaaa````aaaaaaaaaaaaaaaa``aaaaaaaa``aaaaaaaaaaaaaa``aaaaaaaaaaaaaaaaaa``aa``a_^۸p_``aa``aa``aaaaaaaaaaaaaaaaaaaaaaaaaaaa``aaaaaaaaaa``aa``aa``aa``aaaaaaaaaa``aaaa``aaaaaaaaaaaa``````aaaa``aaaaaaaaaaaaaa``aaaaaaaa``aaaaaaaaaaaaaaaaaa````aaaa``aaaaaaaa``aaaaaaaaaa``aaaa``aaaaaaaaaaaaaa``````aaaaaaaaa_^۸p_`aaaaaaaaa``aaaa``aaaa``aaaa``aaaaaaaa``````aaaaaa````aaaa``aaaaaaaaaaaa``````aaaa``aa``aaaa``aaaaaaaaaaaaaa``aa``aa``aaaaaaaaaa``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbaaaaaaaaaaaaaabbaaaaaaaaaaaaaaaaaabbaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``qӞyh``aaaaaaaaaaaaabbaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabaaaaaaaaaaaabbaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa`_zҝzn۷p``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbaaa_]r}{zwsqqojhhhhhhgghhhhhhhhhhjoqqsx{}ƣybaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa_]rͿ}{zxsqqnjgghhhhgghhhhhhhhhhjoqqsx{}ƣycaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``vʼnb`_```aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``r׫m``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``m۸q_`aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaad]^aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``hzјsf`aaaaaaaaaaaaaaaaaa``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``hy۸q_`aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``aaaaaaaaaaaa``aaaaaaaaaaaaaaaaa``gyҝyh``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``aaaaaaaaaaaaaa````aaaaaaaa``aaaa``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``aaaaaaaaaaaaaaaaaaaaaaaaaa``c̈daa``aaaaaaaaaaaaaaaa``aaaaaaaaaaaa``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``aaaaaaaaaaaaaaaaaaaaaa``aa``aaaaaaaa````aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``aaaaaaaa``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``aaaa``aaa_^۸p_`aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``aaaaaaaaaaaaaaaaaaaaaaaaaa``aaaaaaaaaaaa``aa``aaaaaa``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``aa````aaaaaaa_^۸p_`aaaaaaaaaaaaaaaaaaa``aaaaaaaaaa``aaaa``aaaaaa``aaaaaaaaaaaaaaaaaaaaaaaaaa``aaaaaaaaaaaaaaaaaaaaaaaaaa``aaaaaaaa``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbaaaaaaaaaaaaaabbaaaaaaaaaaaaaaaaaabbaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbaaa``qӞyh`aaaaaaaaaaaaaabbaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbaaaaaaaaaaaabbaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa`_zҜԢ}j``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbaa`dnŷrd]^_^^__``````aa```````````aaa```___^`bkyÓse`aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa`dnŷrd]^^___```````aa`````````aaaa`````__^_bkyÓse`aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``mѼ{uojda``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``m۷p``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``q׫l``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa_]~̊eaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``lʋgbaaaaaaaaaaaaaaaaaaa``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa`hy۹q_`aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``aaaaaaaaaaaa``aaaaaaaaaaaaaaaaa``hyҝyh`aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``aaaaaaaaaaaaaa````aaaaaaaa``aaaa``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``aaaaaaaaaaaaaaaaaaaaaaaaaa`biŀ]^a``aaaaaaaaaaaaaaaa``aaaaaaaaaaaa``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``aaaaaaaaaaaaaaaaaaaaaa``aa``aaaaaaaa````aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``aaaaaaaa``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``aaaa``aaa_^۸q_`aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``aaaaaaaaaaaaaaaaaaaaaaaaaa``aaaaaaaaaaaa``aa``aaaaaa``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``aa````aaaaaaa_^۸q_`aaaaaaaaaaaaaaaaaaa``aaaaaaaaaa``aaaa``aaaaaa``aaaaaaaaaaaaaaaaaaaaaaaaaa``aaaaaaaaaaaaaaaaaaaaaaaaaa``aaaaaaaa``aaaaaaaaaaaaaaaaaaaabbaaaaaaaaaabbbbaaaabbaaaaaaaaaaaaaaaaaabbaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbaaaaaaaaaabbaaaaaaaaaaaaaaaaaabbaaaaaaaaaaaaaabbaabbbbbbaaaaaaaaaaaaaaaaaabbaabbbbaaaabbaaaaaaaaaaaaaabbaabbaaaaaaaaa`_qӝyhaaabbaabbbbaaaabbbbaaaaaabbaaaaaabbbbaabbbbaaaaaabbaaaaaaaaaaaaaaaaaaaabbaaaabbaaaaaaaaaaaaaaaaaaaabbaaaaaaaaaaaaaaaaaaaaaabbaaaaaaaaaaaaaaaaaaaabbaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbaaaaaaaaaaaaaaaaaaaabbaaaabbaaaaaaaaaaaaaaaaaabbaaaabbaaaaaaaaaaaabbaaaaaaaaaabbaaaaa`_zћΑld`aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbaabbaaaaaaaaaaa`^nŴ}wsojea__`````````aaaaaa``````````aaaaa`````adhmquz׵o_`aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa`_oų}wsnjeb__``````aaa``aaaa``a```aaaa``````````achmquz׵o_`aaaaabbaaaaaaaaaaaaaaaaaaaaaabbaaaaaaaabbaaaaaaaaaaaaaaaaaaaaaaaabbaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa`epò~mc`__``aaaaaaabbaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbaaaaaabbaaaaaaaaaaaaaaaaaaaaaabbaaaaaaaaaaaaaabbaabbbbaaaaaaaaaaaaaabbaaaaaaaaaabbaabbaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbaaaaaaaaaaaaaabbaaaaaaaabbbbaaaaaabbaaaaaaaabbaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbaaaabbaaaaaaaaaa`hyt_`abbaaaaaaaaaaaaaaaaaaaaaaaabbaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa`_wҝxg`aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaba_^zқwg`aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``qa`aaabbbbaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa`hy۹q``abbaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa`hyӝyh``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``ft}^_aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa^^۸q_`aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa_^۸q_`aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbaaaaaaaaaabbbbaaaabbaaaaaaaaaaaaaaaaaabbaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbaaaaaaaaaabbaaaaaaaaaaaaaaaaaabbaaaaaaaaaaaaaabbaabbbbbbaaaaaaaaaaaaaaaaaabbaabbbbaaaabbaaaaaaaaaaaaaabbaabbaaaaaaaaa`_qӝyhaaabbaabbbbaaaabbbbaaaaaabbaaaaaabbbbaabbbbaaaaaabbaaaaaaaaaaaaaaaaaaaabbaaaabbaaaaaaaaaaaaaaaaaaaabbaaaaaaaaaaaaaaaaaaaaaabbaaaaaaaaaaaaaaaaaaaabbaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbaaaaaaaaaaaaaaaaaaaabbaaaabbaaaaaaaaaaaaaaaaaabbaaaabbaaaaaaaaaaaabbaaaaaaaaaabbaaaaa`_zӡ„caaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbaabbaaaaaaaaaaabgIJ~mc`^_``aaaaaaaaaaaaabbaaaaaaaaaaaaaaaaaaaaaabbaaa`__^bhsѰib`aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabhò~mc`___`aabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``__ahsѰicaaaaabbaaaaaaaaaaaaaaaaaaaaaabbaaaaaaaabbaaaaaaaaaaaaaaaaaaaaaaaabbaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaac}ų|uojeb`_```aabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbaaaaaabbaaaaaaaaaaaaaaaaaaaaaabbaaaaaaaaaaaaaabbaabbbbaaaaaaaaaaaaaabbaaaaaaaaaabbaabbaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbaaaaaaaaaaaaaabbaaaaaaaabbbbaaaaaabbaaaaaaaabbaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbaaaabbaaaaaaaaaa`dmͨw_`abbaaaaaaaaaaaaaaaaaaaaaaaabbaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa_^|̐ldaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabba`_u׫m`aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa`_u۶|^_aaabbbbaaaaaaaaaaaaaabbaaaaaaaaaaaaaabbaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa`hy۸q``abbaaaaaaaaaaaaaaaaaaaabbaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``hyҝyh``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``j~ձz__aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa_^۹q_`aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa_^۹q_aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbaaaaaaaabbbbaaaaaaaabbaabbaabbaaaaaabbaabbbbbbaaaabbaaaaaabbaabbaaaabbaaaabbbbaabbaaaabbbbbbaaaaaaaabbaaaaaaaabbaaaaaabbbbaabbbbaaaaaabbaaaaaaaabbaaaabbaaaaaabbbbaaaabbbbaaaaaabbbbaabbaaaaaabbaaa``qӞyh`aaaaaaaaaaaaaabbaaaaaabbbbaaaaaaaaaabbaabbaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbaaaaaaaabbaaaaaaaaaaaaaabbaaaaaabbbbaabbbbaaaaaaaaaaaabbaaaaaabbaaaaaabbaaaaaabbaabbaaaaaabbbbaaaaaaaaaaaaaaaaaaaaaaaaaaaabbaaaaaaaaaaaaaaaaaaaabbaaaaaaaabbaaaaaaaaaabbaaaabbaaaaaabbaaaaaabbbbbbaaaabbbbaaaaaaaaaaaaaaa`_z׮Ьz``aaaaabbaaaaaaaaaabbaaaaaaaaaabbaaaaaaaabbaaaaaabbbbaa`h{־|uojd`````aaaaaaaabbaaaaaaaaaabbaaaaaaaabbaabbaaaaaaaa````bflry̢j`abaaaaaaaaaaaabbaaaaaabbaaaaaaaabbaaaaaabbaaaaaabbbbbbaaaaaaaaaaaaaaaaaabbbbaaaaaaaaaaaaaaaaaaaabbbbaaaaaa`i{־|uojd````aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbaaaa````bflrx̢j`abaaaaaaaabbaaaaaaaaaaaaaaaaaaaabbaaaabbaaaaaaaaaaaaaaaaaaaaaaaabbaaaaaaaaaabbbbaaaaaaaaaaaaaaaaaaaaaaaabbaaaqòrha^_``aaaaaaaaaaaaaaabbbbaaaabbaabbaaaaaaaaaaaabbaaaaaabbaabbaaaaaaaaaabbaaaaaaaabbaaaaaaaaaaaaaabbbbaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbaaaaaabbaaaaaaaaaaaaaaaaaaaaaabbaaaaaabbaaaaaaaaaaaabbaaaaaaaaaaaaaaaaaaaaaabbaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbaaaaaaaaaaaaaaaaaabbbbbbaabbaaaacڶ{^`baaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbaaaabbaaaabbaaaaaaaaaaaaaaaaaaaaaaaaaabbaaaaaaaaaaaaaabbaaa^]„c`aaabbaaaaaabbaaaaaaaaaaaaaaaaaaaaaaaabbaaaaaaaaaabbba`o۸q``abbaaaabbaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbaabbaaaabbaaaaaabbaaaaaaaaaaaaaaaaaaaab`_zͨx__abbaaaabbaaaaaaaaaaaaaaaaaaaaaaaabbbbaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbaabbaaaaaaaaaaaaaaaaaabbaaaa`hy۸q_`aaaaaaaaabbaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbaaaaaaaaaaaaaaaaaaaaaaaaaaaabbaaaaaabbaaaaaaaaaaaabbaaaaaaaaaaaaaaaaaaaaaaaaaaaabbaaaaaaaaaabbaabbaaaaaaaaaaaaaaaa`hzҝyhaaaaaaabbaaaaaaaabbaaaabbaaaabbaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbaaaaaabbaaaaaaaaaaaaaaaaaaaaaaaaaabbaaaaaaaabbaaaaaaaaaaaaaaaabbbbaaaaaaaaaabbaaaaaaaaaaaaaaaaaabbaaaaaaaaaaaaaaaaa``m˦w_`aaaaaaaaabbaabbaaaaaaaaaaaaaabbaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbaaaaaaaaaaaabbaaaaaaaaaaaabbaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbaaaaaabbaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbaaaaaaaaaaaabbaaaaaaaaaaaaaaaaaaaaaabbaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbaabbaaaabbaabbaaaabbaabbaaaaaaaaaaaaaaaabbaaaaaaaaaabbaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa_^۹q``aaaaaaaaaaaaaaaaaaaaaaaaaaabbaaaaaaaaaabbaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbaaaaaaaaaaaaaabbaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbaaaabbbbaaaaaaaabbaaaaaaaaaabbaaaaaaaaaabbaaaabbaaaaa_^۹q`aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbaaaaaaaabbbbaaaaaaaabbaabbaabbaaaaaabbaabbbbbbaaaabbaaaaaabbaabbaaaabbaaaabbbbaabbaaaabbbbbbaaaaaaaabbaaaaaaaabbaaaaaabbbbaabbbbaaaaaabbaaaaaaaabbaaaabbaaaaaabbbbaaaabbbbaaaaaabbbbaabbaaaaaabbaaaa`qӞyh`aaaaaaaaaaaaaabbaaaaaabbbbaaaaaaaaaabbaabbaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbaaaaaaaabbaaaaaaaaaaaaaabbaaaaaabbbbaabbbbaaaaaaaaaaaabbaaaaaabbaaaaaabbaaaaaabbaabbaaaaaabbbbaaaaaaaaaaaaaaaaaaaaaaaaaaaabbaaaaaaaaaaaaaaaaaaaabbaaaaaaaabbaaaaaaaaaabbaaaabbaaaaaabbaaaaaabbbbbbaaaabbbbaaaaaaaaaaaaaaa`_zݽr`aaaaaabbaaaaaaaaaabbaaaaaaaaaabbaaaaaaaabbaaaaaabbbbaadvınc`_```abbaaaaaaaaaabbaaaaaaaaaabbaaaaaaaabbaabbaaaaaaaaaaaaaaa__cm~yebaaaaaaaaaaaaabbaaaaaabbaaaaaaaabbaaaaaabbaaaaaabbbbbbaaaaaaaaaaaaaaaaaabbbbaaaaaaaaaaaaaaaaaaaabbbbaaaaaacvınc`_`aaabbbbbbaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbaabbaaaaa``__cm}yebaaaaaaaaabbaaaaaaaaaaaaaaaaaaaabbaaaabbaaaaaaaaaaaaaaaaaaaaaaaabbaaaaaaaaaabbbbaaaaaaaaaaaaaaaaaaaaaaaabbaaagvųyrlhda`````aaaaaaaabbbbaaaabbaabbaaaaaaaaaaaabbaaaaaabbaabbaaaaaaaaaabbaaaaaaaabbaaaaaaaaaaaaaabbbbaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbaaaaaabbaaaaaaaaaaaaaaaaaaaaaabbaaaaaabbaaaaaaaaaaaabbaaaaaaaaaaaaaaaaaaaaaabbaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbaaaaaaaaaaaaaaaaaabbbbbbaabbaaa_^~aabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbaaaabbaaaabbaaaaaaaaaaaaaaaaaaaaaaaaaabbaaaaaaaaaaaaaabbaaaae۶|^`aaabbaaaaaabbaaaaaaaaaaaaaaaaaaaaaaaabbaaaaaaaaaabbbaajȣv_`abbaaaabbaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbaabbaaaabbaaaaaabbaaaaaaaaaaaaaaaaaaaab``ݾs``abbaaaabbaaaaaaaaaaaaaaaaaaaaaaaabbbbaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbaabbaaaaaaaaaaaaaaaaaabbaaaa`hy۸q_`aaaaaaaaabbaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbaaaaaaaaaaaaaaaaaaaaaaaaaaaabbaaaaaabbaaaaaaaaaaaabbaaaaaaaaaaaaaaaaaaaaaaaaaaaabbaaaaaaaaaabbaabbaaaaaaaaaaaaaaaa`hzӝyhaaaaaaabbaaaaaaaabbaaaabbaaaabbaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbaaaaaabbaaaaaaaaaaaaaaaaaaaaaaaaaabbaaaaaaaabbaaaaaaaaaaaaaaaabbbbaaaaaaaaaabbaaaaaaaaaaaaaaaaaabbaaaaaaaaaaaaaaaaa``pt_`aaaaaaaaabbaabbaaaaaaaaaaaaaabbaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbaaaaaaaaaaaabbaaaaaaaaaaaabbaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbaaaaaabbaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbaaaaaaaaaaaabbaaaaaaaaaaaaaaaaaaaaaabbaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbaabbaaaabbaabbaaaabbaabbaaaaaaaaaaaaaaaabbaaaaaaaaaabbaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa_^۹q``aaaaaaaaaaaaaaaaaaaaaaaaaaabbaaaaaaaaaabbaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbaaaaaaaaaaaaaabbaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbaaaabbbbaaaaaaaabbaaaaaaaaaabbaaaaaaaaaabbaaaabbaaaaa_^۹q`aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbaabbbbbbbbaabbaaaaaaaabbbbbbaabbaaaaaabbaaaabbaabbbbaaaabbaabbaabbbbbbbbaabbaabbaaaaaaaabbbbaabbaabbaabbaaaabbbbaabbaabbbbbbbbbbbbaaaaaaaaaabbaabbbbaabbbbbbbbbbaabbaaaaaaaabbaabbaaaaaabbaabbbbbbba`qӞzh`aabbbbbbbbbbbbbbbbaaaabbaabbaaaabbbbbbaabbbbbbbbbbbbbbbbbbaabbaaaabbbbbbaaaaaaaaaaaaaabbaabbbbaaaabbbbbbbbbbaaaabbaabbaaaaaabbaaaaaaaaaaaaaabbaabbaabbaaaabbbbaabbaaaabbaabbaabbbbbbaabbbbaaaabbaabbbbaaaabbbbbbaaaaaaaabbbbaaaabbbbaabbaaaaaabbaabbaabbaabbaaaabbaabbbbbbaabbbbbbbbbabbaaaaaaaaaab`_zحm`abaaaabbbbbbbbaaaaaabbbbbbbbaabbaaaaaaaaaaaabbaaaaaaadlչzrlea``a`aaaabbbbbbbbbbaaaabbaaaabbbbaaaabbaaaaaaaaaaaaaabbbbbbbaaa`adjq{‘rfaabaabbbbbbaabbbbaaaabbaaaabbaabbaaaaaabbaabbbbbbaaaabbbbbbaaaabbbbbbbbbbbbaaaaaaaaaabbbbbbaaaabbbbaaaaadlչzrke``aaaabaabbbbaaaabbbbbbaaaaaabbbbaabbbbaaaaaaaabbaaaaaabbbbaaa``adjq{‘qeaaabbaabbaaaabbbbbbaaaaaaaabbaabbbbbbaaaabbbbbbaabbbbbbbbaabbaaaaaaaaaaaabbaaaabbbbbbbbaaaaaabbaabbaaaaaaaaabfɼymc^_```aaaabbbbaaaabbbbaaaabbbbbbaabbbbaaaaaabbaaaabbaaaaaaaabbbbbbbbaabbbbaaaabbaabbbbbbbbaaaabbbbbbbbbbaaaaaaaabbaabbbbbbbbaaaaaaaabbaabbbbaabbaaaaaaaaaaaaaabbaabbaabbaaaaaaaabbaaaabbbbbbaabbaabbaaaaaaaaaaaabbbbaabbbbbbbbbbbbbbaabbaabbaaaabbaaaaaaaabbbbaabbaaaaaaaabbbbaabbbbaaaaaaa`_zʋhcaaaaaaabbaaaaaabbaaaabbaaaabbbbaaaaaaaaaaaabbaaaabbaaaaaaaabbaabbaaaaaabbaabbaaaaaabbaabbaaaa`gwͨw_`abbbbaaaabbaaaaaaaaaaaaaaaabbaabbbbbbaabbaaaabbbbaabaaerٴ{^`baaaaaabbaaaabbaabbaabbbbbbaaaaaabbaaaabbaabbbbaaaabbbbbbbbbbaaaaaaaaaabbbbaaaaaabbbbaaaaaacحm``abbbbaaaaaabbaaaaaaaabbaaaabbbbaaaaaabbaaaaaaaabbaaaabbaaaaaaaaaaaabbbbaabbaaaabbaaaaaaaaaaaaaaaaaaahz۸q``aaabbaaaabbaaaaaaaaaaaaaaaaaaaaaaaaaaaabbaaaaaaaaaaaaaaaaaaaaaaaabbbbaaaabbbbaabbaaaaaaaabbaaaaaaaabbaaaaaaaabbaaaaaaaabbaaaaaaaaaaaabbaaaaaaaaaaaaaaaaaaaaaaaaaabbaaaaaaaaaaaabbaaaaaaaaaabbbbaaaaaaaaaaahzӞyhaaabbaaaaaaaabbbbaaaaaabbaaaaaabbaaaaaaaaaaaaaabbaabbaaaaaaaabbbbaabbaaaaaaaaaaaaaabbaaaaaaaaaaaaaabbaaaaaaaaaaaabbaaaabbbbaaaabbaaaaaaaabbbbaabbbbaabbbbaabbbbbbaabbaaaabbaaaaaaaaa``r۷p`aaaaaaaaaabbbbaabbaaaaaabbaaaaaaaaaaaabbaabbaabbaaaaaabbaaaaaaaabbaabbaabbbbaaaabbaaaaaaaabbaaaabbbbaabbaaaabbaabbaaaabbaabbaaaaaabbaaaabbaaaaaaaaaabbbbaabbaaaaaaaaaabbaabbaaaaaaaaaabbaaaaaaaaaaaaaaaabbaaaaaabbaaaaaaaaaabbaabbbbaaaaaabbaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbaaaaaaaaaaaaaaaaaaaaaaaaaabbaabbaaaaaaaaaabbaaaaaaaaaaaabbaabbbbaabbaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbaaaabbaaaaaaa_^۹q``aaaaabbaaaaaaaaaaaaaaaaaabbaabbaabbaaaaaaaaaaaaaabbaaaabbaaaaaabbaaaaaaaaaaaaaaaaaaaaaaaaaabbbbaabbaaaaaaaabbaaaaaaaabbbbaaaaaaaaaaaabbaabbaaaabbaabbaaaaaaaaaaaaaabbaaaabbaaaaaaaabbaaaaaaaaaabbbbaaaaaaaaaabbaabbbbaaa_^۹q`abaaaaaaaaaaaaaaaaaabbaaaabbaaaabbbbaaaaaaaabbaaaaaaaaaaaaaabbbbaabbbbbbaaaaaaaaaabbaaaaaabbaaaabbaabbaaaaaaaabbaabbaaaaaaaaaaaaaabbbbbbaabbbbbbbbaabbaaaaaaaabbbbbbaabbaaaaaabbaaaabbaabbbbaaaabbaabbaabbbbbbbbaabbaabbaaaaaaaabbbbaabbaabbaabbaaaabbbbaabbaabbbbbbbbbbbbaaaaaaaaaabbaabbbbaabbbbbbbbbbaabbaaaaaaaabbaabbaaaaaabbaabbbbbbba`rӞziaaabbbbbbbbbbbbbbbbaaaabbaabbaaaabbbbbbaabbbbbbbbbbbbbbbbbbaabbaaaabbbbbbaaaaaaaaaaaaaabbaabbbbaaaabbbbbbbbbbaaaabbaabbaaaaaabbaaaaaaaaaaaaaabbaabbaabbaaaabbbbaabbaaaabbaabbaabbbbbbaabbbbaaaabbaabbbbaaaabbbbbbaaaaaaaabbbbaaaabbbbaabbaaaaaabbaabbaabbaabbaaaabbaabbbbbbaabbbbbbbbbbbbaaaaaaaaaaba_zЛwhaabaaaabbbbbbbbaaaaaabbbbbbbbaabbaaaaaaaaaaaabbaaaaaaamİ|h^``aabbaaaaaabbbbbbbbbbaaaabbaaaabbbbaaaabbaaaaaaaaaaaaaabbbbbbbbbbaaa``agxدnaabaabbbbbbaabbbbaaaabbaaaabbaabbaaaaaabbaabbbbbbaaaabbbbbbaaaabbbbbbbbbbbbaaaaaaaaaabbbbbbaaaabbbbbbaaamİ|h^_`aabbbbbbaabbbbaaaabbbbbbaaaaaabbbbaabbbbaaaaaaaabbaaaaaabbbbbbaaaaaa`agxدnaaabbaabbaaaabbbbbbaaaaaaaabbaabbbbbbaaaabbbbbbaabbbbbbbbaabbaaaaaaaaaaaabbaaaabbbbbbbbaaaaaabbaabbaaaaaaaaa`_tм|xsmhda``aaaaaaaabbbbaaaabbbbbbaabbbbaaaaaabbaaaabbaaaaaaaabbbbbbbbaabbbbaaaabbaabbbbbbbbaaaabbbbbbbbbbaaaaaaaabbaabbbbbbbbaaaaaaaabbaabbbbaabbaaaaaaaaaaaaaabbaabbaabbaaaaaaaabbaaaabbbbbbaabbaabbaaaaaaaaaaaabbbbaabbbbbbbbbbbbbbaabbaabbaaaabbaaaaaaaabbbbaabbaaaaaaaabbbbaabbbbaaaaaaaa`uЕqeaaaaaaabbaaaaaabbaaaabbaaaabbbbaaaaaaaaaaaabbaaaabbaaaaaaaabbbbbbaaaaaabbaabbaaaaaabbaabbaaaa`ms`aabbbbaaaabbaabbaaaaaaaaaaaabbaabbbbbbaabbaaaabbbbaabbachaabaaaaaabbaaaabbaabbaabbbbbbaaaaaabbaaaabbaabbbbaaaabbbbbbbbbbaaaaaaaaaabbbbaaaaaabbbbaaaaadkӝyh`aabbbbaaaaaabbaaaaaaaabbaaaabbbbaaaaaabbaaaaaaaabbaaaabbaaaaaaaaaaaabbbbaabbaaaabbaaaaaaaaaaaaaaaaaaahz۹r``aaabbaaaabbaaaaaaaaaaaaaaaaaaaaaaaaaaaabbaaaaaaaaaaaaaaaaaaaaaaaabbbbaaaabbbbaabbaaaaaaaabbaaaaaaaabbaaaaaaaabbaaaaaaaabbaaaaaaaaaaaabbaaaaaaaaaaaaaaaaaaaaaaaaaabbaaaaaaaaaaaabbaaaaaaaaaabbbbaaaaaaaaaaaizӞyhaaabbaaaaaaaabbbbaaaaaabbaaaaaabbaaaaaaaaaaaaaabbaabbaaaaaaaabbbbaabbaaaaaaaaaaaaaabbaaaaaaaaaaaaaabbaaaaaaaaaaaabbaaaabbbbaaaabbaaaaaaaabbbbaabbbbaabbbbaabbbbbbaabbaaaabbaaaaaaaaa``uحm`aaaaaaaaaabbbbaabbaaaaaabbaaaaaaaaaaaabbaabbaabbaaaaaabbaaaaaaaabbaabbaabbbbaaaabbaaaaaaaabbaaaabbbbaabbaaaabbaabbaaaabbaabbaaaaaabbaaaabbaaaaaaaaaabbbbaabbaaaaaaaaaabbaabbaaaaaaaaaabbaaaaaaaaaaaaaaaabbaaaaaabbaaaaaaaaaabbaabbbbaaaaaabbaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbaaaaaaaaaaaaaaaaaaaaaaaaaabbaabbaaaaaaaaaabbaaaaaaaaaaaabbaabbbbaabbaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbaaaabbaaaaaaa_^۹q`aaaaaabbaaaaaaaaaaaaaaaaaabbaabbaabbaaaaaaaaaaaaaabbaaaabbaaaaaabbaaaaaaaaaaaaaaaaaaaaaaaaaabbbbaabbaaaaaaaabbaaaaaaaabbbbaaaaaaaaaaaabbaabbaaaabbaabbaaaaaaaaaaaaaabbaaaabbaaaaaaaabbaaaaaaaaaabbbbaaaaaaaaaabbaabbbbaaa_^۹q`abaaaaaaaaaaaaaaaaaabbaaaabbaaaabbbbaaaaaaaabbaaaaaaaaaaaaaabbbbaabbbbbbaaaaaaaaaabbaaaaaabbaaaabbaabbaaaaaaaabbaabbaaaaaaaaaaaaaabbbbbbbbbbaabbaaaabbbbbbaaaabbaaaabbbbbbbbbbbbbbbbbbbbbbbbbbaabbaabbbbbbbbbbbbbbbbbbbbbbbbbbaabbaaaabbaabbbbbbbbbbaaaabbaabbaabbbbbbaabbbbaabbbbbbbbaabbaabbaabbbbbbbbbbaaaabbbbbbbbbbbbaabbaaaabbbbbbbbbaarӞziaaabbbbaabbbbbbbbaabbaabbbbaabbbbbbbbaabbbbaabbbbbbbbbbaabbbbaabbbbbbaabbbbaaaaaabbbbbbbbaabbbbbbbbbbaaaabbbbbbbbbbbbaabbbbbbbbbbbbbbaabbbbbbbbaabbbbbbaabbbbbbbbbbbbbbbbbbbbaabbbbaabbbbbbbbbbaabbbbaabbbbaabbbbaabbbbbbbbbbbbbbbbbbaabbbbbbaabbbbaaaabbbbaabbbbbbaabbbbbbbbbbaabbbbbbbbbbbbbbbbaaba_züÇfbbaabbbbbbbbaabbbbbbbbaaaabbbbbbbbbbbbbbbbaabbbbaaaaaac|ٻyqic``aabbbbbbbaabbbbbbbbbbbbbbaabbbbbbbbbbbbaaaaaabbbbbbbbbbaabbbbbbaabbaa`achq{Ѯ}caaabbbaaaaaabbbbbbbbbbbbbbbbaabbbbbbbbbbaabbbbbbbbbbbbaaaabbbbbbaaaaaabbaabbbbbbaaaabbbbaaaaaaaaaabbaac|ٻzqjc`aaabaabbbbbbaabbaabbbbbbbbbbaabbbbaabbaabbaaaabbbbaaaabbbbbbaabbaabbba`abhq{Ѯ}cabaabbaaaabbbbaabbbbaabbaabbaabbaabbbbbbbbaabbbbaaaaaabbaabbaaaaaabbbbaabbbbbbbbbbaaaaaabbaaaabbbbaabbbbbba``i|¶ykc`_``aaaabbaabbbbaaaaaaaabbbbbbbbaabbaabbbbaaaaaabbbbaabbbbbbbbaabbbbaaaabbbbbbbbbbaaaabbbbbbbbbbbbaaaabbbbbbbbbbaaaabbbbbbbbbbbbbbaaaabbbbbbaaaabbbbbbaabbbbbbaaaaaaaabbbbaabbbbaaaabbbbbbaaaabbaabbaaaabbbbaabbaaaaaabbaabbbbbbaabbaabbaabbbbbbbbaabbaabbbbbbaabbaabbbbbbaabbaabbba`oӟ{iaaabbaabbbbbbaaaabbbbaabbbbaaaabbaaaaaaaaaabbbbaabbbbaaaabbaabbbbbbbbbbbbaabbbbbbaaaabbbbaaba`qٲo`abbbbbaabbbbaaaabbaabbbbbbbbbbbbaabbbbaaaabbaabbaabbaaaaaʋhbaaaaaaaaaaabbbbbbbbaaaabbbbbbbbaabbbbaabbbbaabbbbbbaaaaaabbaabbbbbbaabbaaaabbbbbbaabbbbbaahyΐkdaabaabbbbaabbaabbaaaabbbbaaaabbaaaabbbbaabbaabbbbbbaaaaaabbbbbbbbbbaabbaabbbbbbbbaabbaabbaabbaabbaaaaahy۹q``aaabbbbaabbaabbaabbaaaabbaabbaaaaaabbaaaabbaaaaaabbaaaaaaaaaaaaaabbbbbbbbbbbbbbaaaabbaabbbbaabbaaaabbaaaabbaabbbbbbbbbbbbbbaabbaabbbbbbbbbbbbaabbbbbbbbaaaabbbbbbaaaabbaabbbbaaaabbbbaaaaaaaaaaaaaaaabbaaaizӞzhaaaaaaabbaaaabbbbaabbaaaabbbbbbaaaabbbbbbbbaaaabbbbaaaaaaaabbaabbaaaabbbbaabbbbbbaaaabbbbaabbbbbbbbbbbbaabbbbbbaaaabbaabbbbaaaabbaabbbbaabbbbaaaaaaaabbaaaaaaaaaaaaaabbbbbbaabbaabba`_xգ~jaaaaaaaaabbbbbbaaaaaaaaaabbbbbbbbaaaabbaaaaaabbbbbbbbaaaabbaabbaabbaabbbbbbaaaaaabbbbbbbbaaaabbaabbbbbbaaaabbaabbaaaaaaaaaabbbbaaaaaaaabbaabbbbaabbaaaaaaaabbaaaabbaabbbbaabbaaaaaaaabbaabbbbaaaabbaaaaaaaaaabbbbbbbbbbaaaabbaabbbbaaaabbbbaaaabbbbaabbaabbaabbaaaaaaaaaaaaaaaaaabbbbaabbaabbaabbaaaaaaaaaaaabbaabbbbaaaabbbbbbaaaaaaaaaaaaaaaaaaaabbbbaaaaaabbaaaabbaaaabbbbaaaaaaaaaaaaaaaaaab_^۹q`abaaaabbbbaaaaaaaabbbbaaaaaaaabbbbbbaabbaaaaaaaaaaaabbaabbaaaaaaaaaabbaaaaaabbaaaaaabbbbaabbaaaaaabbaaaaaabbaaaaaabbbbaaaabbbbbbaaaaaabbaaaaaaaabbaaaaaaaaaabbaaaaaaaaaaaaaaaaaabbaaaabbbbaabbaabbaabbbbbbaaaabbaabbaabba_^۹q`abbbbbaabbaabbaaaaaabbbbbbbbaaaaaaaabbaabbaabbaaaabbaabbbbaaaaaaaaaaaabbaabbaaaabbaaaaaaaaaaaabbaaaabbbbaaaaaaaabbbbaabbaabbbbaaaabbbbbbbbbbaabbaaaabbbbbbaaaabbaaaabbbbbbbbbbbbbbbbbbbbbbbbbbaabbaabbbbbbbbbbbbbbbbbbbbbbbbbbaabbaaaabbaabbbbbbbbbbaaaabbaabbaabbbbbbaabbbbaabbbbbbbbaabbaabbaabbbbbbbbbbaaaabbbbbbbbbbbbaabbaaaabbbbbbbbba`rӞziaaabbbbaabbbbbbbbaabbaabbbbaabbbbbbbbaabbbbaabbbbbbbbbbaabbbbaabbbbbbaabbbbaaaaaabbbbbbbbaabbbbbbbbbbaaaabbbbbbbbbbbbaabbbbbbbbbbbbbbaabbbbbbbbaabbbbbbaabbbbbbbbbbbbbbbbbbbbaabbbbaabbbbbbbbbbaabbbbaabbbbaabbbbaabbbbbbbbbbbbbbbbbbaabbbbbbaabbbbaaaabbbbaabbbbbbaabbbbbbbbbbaabbbbbbbbbbbbbbbbaab`_zȼyyzzzzzzzzyy|ٴ{^`baabbbbbbbbaabbbbbbbbaaaabbbbbbbbbbbbbbbbaabbbbaaaa`fuͷ{g^_abbaabbbbbbbbaabbbbbbbbbbbbbbaabbbbbbbbbbbbabaaaabbbbbbbbbbaabbbbbbaabbaabbba`bgzɗugaabbbaaaaaabbbbbbbbbbbbbbbbaabbbbbbbbbbaabbbbbbbbbbbbaaaabbbbbbaaaaaabbaabbbbbbaaaabbbbaaaaaaaaaaba`guͷ{g^`abbbbbbaabbbbbbaabbaabbbbbbbbbbaabbbbaabbaabbaaaabbbbaaaabbbbbbaabbaabbbbbbba`ahzɗug`aabbaaaabbbbaabbbbaabbaabbaabbaabbbbbbbbaabbbbaaaaaabbaabbaaaaaabbbbaabbbbbbbbbbaaaaaabbaabbbbbbaabbbbbbaaacg;ztokfa``a``abbbaaaaaaaabbbbbbbbaabbaabbbbaaaaaabbbbaabbbbbbbbaabbbbaaaabbbbbbbbbbaaaabbbbbbbbbbbbaaaabbbbbbbbbbaaaabbbbbbbbbbbbbbaaaabbbbbbaaaabbbbbbaabbbbbbaaaaaaaabbbbaabbbbaaaabbbbbbaaaabbaabbaaaabbbbaabbaaaaaabbaabbbbbbaabbaabbaabbbbbbbbaabbaabbbbbbaabbaabbbbbbaabbaabbbaaj׫m`aabbaabbbbbbaaaabbbbaabbbbaaaabbaaaaaaaaaabbbbaabbbbaaaabbaabbbbbbbbbbbbaabbbbbbaabbbbbbaab``vգ~jaabbbbbaabbbbaaaabbaabbbbbbbbbbbbaabbbbaaaabbaabbaabbaab`_{Жrfaaaaaaaaaaabbbbbbbbaaaabbbbbbbbbabbbbaabbbbaabbbbbbaaaaaabbaabbbbbbaabbaaaabbbbbbaabbbbba`mdžcabbbaabbbbaabbaabbaaaabbbbaaaabbaaaabbbbaabbaabbbbbbaaaaaabbbbbbbbbbaabbaabbbbbbbbaabbaabbaabbaabbaabaaiy۹r``aaabbbbaabbaabbaabbbbaabbaabbaaaaaabbaaaabbaaaaaabbaaaaaaaaaaaaaabbbbbbbbbbbbbbaaaabbaabbbbaabbaaaabbaaaabbaabbbbbbbbbbbbbbaabbaabbbbbbbbbbbbaabbbbbbbbaaaabbbbbbaaaabbaabbbbaaaabbbbaaaaaaaaaaaabbaabbaaaizӞzhaaaaaaabbaaaabbbbaabbaaaabbbbbbaaaabbbbbbbbaaaabbbbaaaaaaaabbaabbaaaabbbbaabbbbbbbbaabbbbaabbbbbbbbbbbbaabbbbbbaaaabbaabbbbaaaabbaabbbbaabbbbaaaaaaaabbaaaaaaaaaaaaaabbbbbbaabbaabba`_{јtfaaaaaaaaabbbbbbaaaaaaaaaabbbbbbbbaaaabbaaaaaabbbbbbbbaaaabbaabbaabbaabbbbbbaaaaaabbbbbbbbaaaabbaabbbbbbaaaabbaabbaaaaaaaaaabbbbaaaaaaaabbaabbbbaabbaaaaaaaabbaaaabbaabbbbaabbaaaaaaaabbaabbbbaaaabbaaaaaaaaaabbbbbbbbbbaaaabbaabbbbaaaabbbbaaaabbbbaabbaabbaabbaaaaaaaaaaaaaaaaaabbbbaabbaabbaabbbbaaaaaaaaaabbaabbbbaaaabbbbbbaaaaaaaaaaaaaaaaaaaabbbbaaaaaabbaaaabbaaaabbbbaaaaaaaaaaaaaaaabbb_^۹q`abaaaabbbbaaaaaaaabbbbaaaaaaaabbbbbbaabbaaaaaaaaaaaabbaabbaaaaaaaaaabbaaaaaabbaaaaaabbbbaabbaaaaaabbaaaaaabbaaaaaabbbbaaaabbbbbbaaaaaabbaaaabbaabbaaaaaaaaaabbaaaaaaaaaaaaaaaaaabbaaaabbbbaabbaabbaabbbbbbaaaabbaabbaabba_^۹q`abbbbbaabbaabbaaaaaabbbbbbbbaaaaaaaabbaabbaabbaaaabbbbbbbbaaaaaaaaaaaabbaabbaaaabbaaaaaaaaaaaabbaaaabbbbaaaaaaaabbbbaabbaabbbbaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbaabbbbbbbbbbbbaabbbbbbbbbbaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbaabbaabbaabbbbbbaabbaabbbbbbbbbbbbbbbbbbbbbbbbaabbbbaabbbbbbbbba`rӞzibbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbaabbbbbbbbbbbbbbbbbbbbbbaabbbbbbbbbbaabbbbbbbbbbaabbbbaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbaaaaaabbbbbbbbbbbbbbbbbbbbaabbbbbbaabbbbbbbbbbbbaaaabbbbbbaabbbbbbbbbbbbbbbbbbbbaabbbbbbbbbbbbbbbbaaaaaaaab`_zѼzwurojhiiiiiiiiiiijknpswz}ɤv_abbbbbbbbbbbbbaabbbbbbbbaabbbbbbbbbbbbbbbbbbbbbbbbb`_q̲sib``abbbbbbbbbbbbbbbbaabbbbbbbbbbbbbbbbaabbbbbbbbbbbbbbbbbbbbbbbbbbbbaaaaaabbbbbaaacirڻr`abbbbbbbbbbbbbbbbbaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbaabbaaaabbbbbbbbbbbbbbba`q˱sic``abbbbbbbbbbbbbbbbbbbbaabbbbbbaabbaabbbbbbbbbbaabbaabbbbbbaabbbbbbbbbbbbbbbbbaaabirڻq_`bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbaabbbbbbbbbbbbbbbbbbbbbbbbbbbbaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbrǼre^_``aabbbbbaabbbbaabbaabbbbbbbbbbbbbbaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbaabbaaaabbbbbbbbbbbbbbbbbbaaaabbbbbbbbbbaabbbbbbbbbbbbbbaaaabbbbbbbbbbaabbbbaabbbbbbbbaaaabbbbbbbbbbbbbbbbaabbbbbbbbaabbbbbbbbbbbbbbbbbbbbbbaabbbbaabbbbaaaabbbbbbbbbbbbbbaabbbbbbbbbbaabbbbbbaabbbbbbafr۹q`abbbbbbbbbaabbbbbbbbbbaabbbbbbbbbbbbbbbbbbbbaabbbbbbbbaaaaaabbbbbbaabbbbbbbbbbbbbbbbbbbbbbb`_|ϒmdabbaabbbbbbbbaaaabbaabbbbbbbbbbbbbbbbbbbbaabbbbbbbbaabbba`vդkaabbbaaaabbaabbbbaabbbbbbaabbbbbbbbbbaabbbbbbbbaabbbbbbbbbbaabbaaaabbbbbbaabbaabbbbbbaaba`rༀaabbbbbbbaaaabbbbbbbbbbaabbaabbbbbbbbbbbbaabbaabbbbbbbbbbbbbbbbbbaaaabbbbbbbbbbbbbbaabbaabbbbaabbaabbbaaiz۹raabaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbaabbbbbbbbbbaaaabbbbbbaabbbbbbbbbbbbaaaabbbbbbbbbbaabbbbbbaaaabbbbaaaabbbbaabbaabbbbbbbbbbbbbbaabbbbaabbbbbbbbbbbbaabbaabbbbaabbbbbbbbbbaabbbbaaaabbbbbbbbbbbbbbaaaabbbaaizӞzhaabbbbbaaaabbbbaaaabbbbbbbbbbbbbbaabbbbaaaabbbbbbbbaaaabbaabbbbaabbbbbbaabbbbbbaaaabbaabbbbbbbbbbaaaaaabbbbaabbaabbbbbbaabbbbaabbbbbbaabbbbaabbbbbbbbaaaabbbbbbaabbbbbbbbaabbbbaabbb`_}͎jcaaabbbbbbbbaabbaaaabbbbbbaaaabbaabbbbaaaabbbbaaaabbbbbbbbbbbbbbbbbbbbbbbbaabbbbbbbbbbaabbaabbbbbbbbbbbbbbbbaabbaabbaabbbbbbbbaabbbbbbbbbbaabbbbaaaabbaabbaaaabbbbbbbbaabbbbbbbbbbbbbbbbbbaaaabbbbbbbbaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbaabbbbbbbbaabbbbaabbbbbbbbbbbbaabbbbbbbbbbbbbbbbbbbbaabbaabbbbaabbaabbbbbbbbbbbbbbbbbbbbbbbbbbbbaaaabbaabbaaaaaabbaabbaabbaabbaabbbbbbbbbbbbbbaabba_^۹q`abbbaaaaaaaabbaaaabbbbbbaabbbbaabbbbbbaaaaaabbbbbbbbbbbbbbaaaaaabbbbbbbbaabbaabbaabbbbbbbbbbaaaabbbbbbbbbbaaaabbbbbbaabbbbbbbbbbbbbbbbbbaabbbbbbaaaaaabbbbbbaabbbbaaaabbaaaabbaabbbbbbaabbaaaaaaaabbbbbbbbbbbbbbaabbbbbbb_^۹q`aabbaabbbbaaaabbaaaabbaabbbbbbaabbaabbbbbbbbbbbbbbaabbaaaabbbbbbbbbbbbbbbbaabbbbaaaabbbbbbaabbbbbbbbbbaaaaaabbaabbbbbbbbbbaabbaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbaabbbbbbbbbbbbaabbbbbbbbbbaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbaabbaabbaabbbbbbaabbaabbbbbbbbbbbbbbbbbbbbbbbbaabbbbaabbbbbbbbba`qӞzibbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbaabbbbbbbbbbbbbbbbbbbbbbaabbbbbbbbbbaabbbbbbbbbbaabbbbaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbaaaaaabbbbbbbbbbbbbbbbbbbbaabbbbbbaabbbbbbbbbbbbaaaabbbbbbaabbbbbbbbbbbbbbbbbbbbaabbbbbbbbbbbbbbbbaaaaaaaaba_zʽthb_````aaaaaabbbbaaaaa`````_aclyڴo`abbbbbbbbbbbbbaabbbbbbbbaabbbbbbbbbbbbbbbbbbbbbbbbbcfƪrcaaabbbbbbbbbbbbbbbbbbbaabbbbbbbbbbbbbbbbaabbbbbbbbbbbbbbbbbbbbbbbbbbbbaaaaaabbbbbbbbba_fwִgcbbbbbbbbbbbbbbbbbaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbaabbaaaabbbbbbbbbbbbbbbcgƪrcaaabbbbbbbbbbbbbbbbbbbbbbbaabbbbbbaabbaabbbbbbbbbbaabbaabbbbbbaabbbbbbbbbbbbbbbbbbbba`_gwִfcbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbaabbbbbbbbbbbbbbbbbbbbbbbbbbbbaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbaagv}ytpkfb````aabbbaabbaabbbbbbbbbbbbbbaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbaabbaaaabbbbbbbbbbbbbbbbbbaaaabbbbbbbbbbaabbbbbbbbbbbbbbaaaabbbbbbbbbbaabbbbaabbbbbbbbaaaabbbbbbbbbbbbbbbbaabbbbbbbbaabbbbbbbbbbbbbbbbbbbbbbaabbbbaabbbbaaaabbbbbbbbbbbbbbaabbbbbbbbbbaabbbbbbaabbbbbbachǢv_`bbbbbbbbbaabbbbbbbbbbaabbbbbbbbbbbbbbbbbbbbaabbbbbbbbaaaaaabbbbbbaabbbbbbbbbbbbbbbbbbbbbbbabdžcabbbaabbbbbbbbaaaabbaabbbbbbbbbbbbbbbbbbbbaabbbbbbbbaabbbaarڴp`abbbaaaabbaabbbbaabbbbbbaabbbbbbbbbbaabbbbbbbbaabbbbbbbbbbaabbaaaabbbbbbaabbaabbbbbbaaba`vҮz`abbbbbbbaaaabbbbbbbbbbaabbaabbbbbbbbbbbbaabbaabbbbbbbbbbbbbbbbbbaaaabbbbbbbbbbbbbbaabbaabbbbaabbaabbbaaiz۹raabaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbaabbbbbbbbbbaaaabbbbbbaabbbbbbbbbbbbaaaabbbbbbbbbbaabbbbbbaaaabbbbaaaabbbbaabbaabbbbbbbbbbbbbbaabbbbaabbbbbbbbbbbbaabbaabbbbaabbbbbbbbbbaabbbbaaaabbbbbbbbbbbbbbbbaabbbaaizӞziaabbbbbaaaabbbbaaaabbbbbbbbbbbbbbaabbbbaaaabbbbbbbbaaaabbaabbbbaabbbbbbaabbbbbbaaaabbaabbbbbbbbbbaaaaaabbbbaabbaabbbbbbaabbbbbbbbbbbbaabbbbaabbbbbbbbaaaabbbbbbaabbbbbbbbaabbbbaabbb`_ʇcabaabbbbbbbbaabbaaaabbbbbbaaaabbaabbbbaaaabbbbaaaabbbbbbbbbbbbbbbbbbbbbbbbaabbbbbbbbbbaabbaabbbbbbbbbbbbbbbbaabbaabbaabbbbbbbbaabbbbbbbbbbaabbbbaaaabbaabbaaaabbbbbbbbaabbbbbbbbbbbbbbbbbbaaaabbbbbbbbaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbaabbbbbbbbaabbbbaabbbbbbbbbbbbaabbbbbbbbbbbbbbbbbbbbaabbaabbbbbbbbaabbbbbbbbbbbbbbbbbbbbbbbbbbbbaabbbbaabbaaaaaabbaabbaabbaabbaabbbbbbbbbbbbbbaabba`^۹r`abbbaabbaaaabbaaaabbbbbbaabbbbaabbbbbbaaaaaabbbbbbbbbbbbbbaaaaaabbbbbbbbaabbaabbaabbbbbbbbbbaaaabbbbbbbbbbaaaabbbbbbaabbbbbbbbbbbbbbbbbbaabbbbbbaaaaaabbbbbbaabbbbaaaabbaaaabbaabbbbbbaabbaaaaaaaabbbbbbbbbbbbbbaabbbbbbb_^۹r`aabbaabbbbaaaabbaaaabbaabbbbbbaabbaabbbbbbbbbbbbbbaabbaaaabbbbbbbbbbbbbbbbaabbbbaaaabbbbbbaabbbbbbbbbbaaaaaabbaabbbbbbbbbbaabbaaaabbbbbbbbbbbbbbbbbbbbbbaabbbbbbbbbbaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbaabbba`qӞziabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbaaaabbbbbbbbaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbba`zлyrmgcaaaaaaaabbabaabbbaaaaaaaaa``adinsx~Ҝxhaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbaabbbbbbbbaabbbbahwѯ}nfbaaaabbaabbaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbaabbbbaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbabhq~˙whaabbbbbbbbbbbbbbbbbbbbbbbaabbbbbbbbbbbbbbbbbbaabbbbbbbbbbbbbbbbbbbbbbbbaabbbbbbbbbbbbbbbbbbbbbbahwѯ~nfaaabbbbbbbbbbaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbaabbbbbbbbbbbbbbbbaa`bhq}˘whaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbaabbbbbbbbaabcfķse^_```aabbaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbaabbbbbbbbaabbbbbbaabbbbbbbbbbbbbbbbbbbbbbbbbbbbaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbaabbbbaabbbbbbaabbaabbbbbbbbbbbbbbaabbbbbbbbbbaaaabbbbbbbbbbbbbbaabbbbbbbbbbbbbbbbbbbbaabbbbaabbaabbbbaabbbbaaa԰z_`aaaaabbbbaabbbbbbaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbaabbbbbbbbbbaabch`abbbbbbbbbbbbbbbbbbbbbbbaabbbbbbbbbbbbbbbbbbbbbbaabbbbbbbaamŠu`abbbbbaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbaabbbbbbbbbbbbbbbbbbbbbbbbbbbbaabbbbbbbbaabbbbb``zt`abbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbaabbbbbbbbbbbbbbbaaiz۹raabbbbbaabbbbaabbbbbbbbbbbbbbbbbbaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbaabbbbbbbbbbbbbbbbaabbbbbbbbbbbbbbbbbbbbaabbbbbbbbbbbbbbbaaizӞziaaabbbbbbaabbaabbbbbbbbaabbbbbbbbbbbbbbbbbbbbaaaabbbbbbaaaabbbbbbbbaaaabbbbbbbbbbbbaabbbbbbbbbbbbaabbbbbbbbbbbbbbaabbaabbbbbbbaaaaabbbbaabbbbbbbbaabbbbbbbbbbaabbbbbbbbbbbbbbbbaabbb`_ƃa`bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbaabbbbbbbbbbbbbbbbaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbaaaaaabbbbbbbbbbbbbbbbaabbaabbbbbbbbbbbbbbbbbbbbbbaabbaabbbbbbbbbbbbbbbbbbbbbbaabbbbaaaabbbbaabbaabbbbaabbbbbbbbbbaabbbbbbaabbaabbaabbbbbbbbbbbbaaaabbbbbbbbbbbbbbbbbbbbaaaabbaabba`_۹r`abbbaabbbbbbbbbbbbbbbbaabbbbaabbbbaabbbbbbbbaaaabbbbaaaaaabbbbbbbbbbaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbaabbbbbbbbbbbbbbbbaaaabbbbbbbbaabbbbbbbbbbbbaabbbbbbbbbbbbbbbbbbaabbbbbbbbbbbbbbbbaaaabbbbaabbbbbbaabbbbbbbbbbbba_^۹q`aabbbbaabbbbbbbbaabbaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbaabbbbbbbbbbbbaabbbbbbbbbbaabbbbbbbbaabbbbaabbbbbbbbaabbbbbbbbaabbbbaabbbbbbaabbbbbbbbbbbbbbbbbbbbbbaabbbbbbbbbbaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbaabbba`rӞziabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbaaaabbbbbbbbaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbba`zĮ~md_`aabbbbbbbbbbbbbbbbbbbbbbbbbbbaabbaa`_^gxɋhcbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbaabbbbbbbbaabbbbaqɮre`bbbbaabbaabbaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbaabbbbaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbaacuڵraabbbbbbbbbbbbbbbbbbbbbbbaabbbbbbbbbbbbbbbbbbaabbbbbbbbbbbbbbbbbbbbbbbbaabbbbbbbbbbbbbbbbbbbbbbaqɮre`aabbbbbbbbbbbbaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbaabbbbbbbbbbbbbbbbaabbaaduڶraaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbaabbbbbbbbaaba`p}xsokfb```aaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbaabbbbbbbbaabbbbbbaabbbbbbbbbbbbbbbbbbbbbbbbbbbbaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbaabbbbaabbbbbbaabbaabbbbbbbbbbbbbbaabbbbbbbbbbaaaabbbbbbbbbbbbbbaabbbbbbbbbbbbbbbbbbbbaabbbbaabbaabbbbaabbbbb`_|~^`aaaaabbbbaabbbbbbaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbaabbbbbbbbbbaaaftҮz_abbbbbbbbbbbbbbbbbbbbbbbaabbbbbbbbbbbbbbbbbbbbbbaabbbbbbbaaiz԰z_abbbbbaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbaabbbbbbbbbbbbbbbbbbbbbbbbbbbbaabbbbbbbbaabbbbb`aٲo`abbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbaabbbbbbbbbbbbbbbaaizܹraabbbbbaabbbbaabbbbbbbbbbbbbbbbbbaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbaabbbbbbbbbbbbbbbbaabbbbbbbbbbbbbbbbbbbbaabbbbbbbbbbbbbbbaaizӞziaaabbbbbbaabbaabbbbbbbbaabbbbbbbbbbbbbbbbbbbbaaaabbbbbbaaaabbbbbbbbaaaabbbbbbbbbbbbaabbbbbbbbbbbbbbbbbbbbbbbbbbbbaabbaabbbbbbbbaaaabbbbaabbbbbbbbaabbbbbbbbbbaabbbbbbbbbbbbbbbbaabbbab_`bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbaabbbbbbbbbbbbbbbbaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbaaaaaabbbbbbbbbbbbbbbbaabbaabbbbbbbbbbbbbbbbbbbbbbaabbaabbbbbbbbbbbbbbbbbbbbbbaabbbbaaaabbbbaabbaabbbbaabbbbbbbbbbaabbbbbbaabbaabbbbbbbbbbbbbbbbaaaabbbbbbbbbbbbbbbbbbbbaaaabbaabba`_۹r`abbbaabbbbbbbbbbbbbbbbaabbbbaabbbbaabbbbbbbbaaaabbbbaaaaaabbbbbbbbbbaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbaabbbbbbbbbbbbbbbbaaaabbbbbbbbaabbbbbbbbbbbbaabbbbbbbbbbbbbbbbbbaabbbbbbbbbbbbbbbbaaaabbbbaabbbbbbaabbbbbbbbbbbba`^۹q`aabbbbaabbbbbbbbaabbaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbaabbbbbbbbbbbbaabbbbbbbbbbaabbbbbbbbaabbbbaabbbbbbbbaabbbbbbbbaabbbbaabbbbbbaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbccbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbccbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbaarӞzibbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbccbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbccbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbba`zá|rjea`abbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbaa`chnszཁbabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbcֻ}ofbabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbfrصdbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbaabbcֻ}ofbabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbaabgrصdbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbagtķse^_``aaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbba`xŁ^`bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbaabbbbbbbbbbbaalt`abbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbadl~_`baabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbcեkaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbizܹr`abbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbaaaabbbbbbbbbbbbbbbbaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbaizӞziabbbbbbbbbbbbbbbbbbbbaabbbbbbbbbbbbbbbbbbbbbbaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbaabbbbbbaabbbbbbbbbbbbbchٴ|_`bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbaabbbbbbbbbbbbbbbbbbbbbbbbbbbbaabbbbbbbbbbbbbbaabbbbbbbbbbbbbbbbbbaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbaaaabbbbbbbbbbbbbbbbbbaabbbbbbbbbbbbbbbbbbbbaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbaabbbbbbbbbbbbbbbbbbbbbbaabbbbbbbbbbbbbbbbbbbbbbbbaabbb`_۹q`abbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbaabbbbbbbbaabbbbbbaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb`_۹q`abbbbbbbbbaabbbbbbbbbbbbbbbbbbaabbbbaabbaabbbbbbbbaabbbbbbbbbbbbbbbbbbbbbbbbbbbbaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbccbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbccbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbccbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbarӞzibbcbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbccbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbccbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbba`zл|hb`abbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbba``dqЫy`abbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbaagvζvdaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbba`i|͖rfabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbaaaguζvdbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbba`i|͖rfbabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbdz~zvqmifcbaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbaat̊ebbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbaabbbbbbbbbbba`rٲpabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbadȈebbaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbdlЖsfbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbizܹr`abbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbaaaabbbbbbbbbbbbbbbbaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbaizӞziabbbbbbbbbbbbbbbbbbbbaabbbbbbbbbbbbbbbbbbbbbbaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbaabbbbbbaabbbbbbbbbbbbbfoЬy`abbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbaabbbbbbbbbbbbbbbbbbbbbbbbbbbbaabbbbbbbbbbbbbbaabbbbbbbbbbbbbbbbbbaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbaaaabbbbbbbbbbbbbbbbbbaabbbbbbbbbbbbbbbbbbbbaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbaabbbbbbbbbbbbbbbbbbbbbbaabbbbbbbbbbbbbbbbbbbbbbbbaabbb`_ܹq`abbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbaabbbbbbbbaabbbbbbaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb`_ܹq`abbbbbbbbbaabbbbbbbbbbbbbbbbbbaabbbbaabbaabbbbbbbbaabbbbbbbbbbbbbbbbbbbbbbbbbbbbaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbaabbbbbbbbbbbbbbbbbbbbccbbbbccbbbbbbbbbbbbbbccbbbbbbbbbbccccbbbbccccbbbbbbbbbbbbbbbbbbbbccbbbbbbbbccccbbbbbbbbbbbbccbbccbbbbccccbbccccccbbbbbbbbbbbbbbbbbbbbbbbbbbccbbccbbbbbbbbbbccbbccbbbbbbbbccbbccbbbbbbbbbbbbbbbbbaaqӞzibbbccccbbbbbbccbbbbbbccbbbbccbbbbbbbbccccbbccbbbbccbbbbbbbbbbbbbbccbbccbbbbbbbbbbbbbbccbbccbbbbbbbbbbbbbbccccccbbbbbbbbbbbbbbbbbbbbbbbbccbbccbbbbbbbbbbbbbbbbccbbbbbbbbbbccbbbbbbbbbbbbbbbbbbccbbccbbbbbbbbbbbbbbccbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbccbbbbbbbbbbbbbbbbbbbbbbccbbbbbbbbbbbbbbbbbbbbbbba`zticbabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbccbbbbbbbbbbaabfnu{۸qaabbbbbbbccbbccbbbbbbbbbbccccbbbbbbbbbbbbbbbbbbbbbaarrgbbbbbbbccbbbbbbccbbbbbbbbbbbbbbbbbbbbbbbbbbccbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbaacivٲo`abbbbbbbbbbbccbbccbbbbbbbbbbbbccbbcccbbbbbbbbbbbbbbbbbbbbbbbbbbbbbccbbbbbbccbbbbccbbbbbbba`rrgbbbbbbbbbbbbbccbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbccbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbccbbbbbbbbbbbbacjwٲoaabbbbbbbbbccbbbbbbbbbbbbbbbbccbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbjzŻ{qib_``aabbbbbbbbbbbbbbbbbbccbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbccbbbbbbbbbbccbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbccbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbapЗsgbbbccbbbbbbbbbbbbbbbbbbbbbbccbbccbbbbbbbbbbbbbbbbccbbbbbbbbbbbbbbbbbbbbccbbbbbbbbbbbbbbb``vեkaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbaa~ЖsfbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbaizȈebbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbaizܹq`abbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbizӞziabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbabhvʦw``bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb`_ܹrabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbba_ܹraabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbaabbbbbbbbbbbbbbbbbbccbbbbccbbbbbbbbbbbbbbccbbbbbbbbbbccccbbbbccccbbbbbbbbbbbbbbbbbbbbccbbbbbbbbccccbbbbbbbbbbbbccbbccbbbbccccbbccccccbbbbbbbbbbbbbbbbbbbbbbbbbbccbbccbbbbbbbbbbccbbccbbbbbbbbccbbccbbbbbbbbbbbbbbbbbaarӞzibbbccccbbbbbbccbbbbbbccbbbbccbbbbbbbbccccbbccbbbbccbbbbbbbbbbbbbbccbbccbbbbbbbbbbbbbbccbbccbbbbbbbbbbbbbbccccccbbbbbbbbbbbbbbbbbbbbbbbbccbbccbbbbbbbbbbbbbbbbccbbbbbbbbbbccbbbbbbbbbbbbbbbbbbccbbccbbbbbbbbbbbbbbccbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbccbbbbbbbbbbbbbbbbbbbbbbccbbbbbbbbbbbbbbbbbbbbbbba`{Ѻj_`bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbccbbbbbbbbbbbbbba`_h|ȟ~kbbbbbbbbbccbbccbbbbbbbbbbccccbbbbbbbbbbbbbbbbbbbbbceơj`abbbbbbbccbbbbbbccbbbbbbbbbbbbbbbbbbbbbbbbbbccbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbcbaem̩|dbbbbbbbbbbbbccbbccbbbbbbbbbbbbccbbccccbbbbbbbbbbbbbbbbbbbbbbbbbbbbccbbccbbccbbbbccbbbbbbbbeơj`abbbbbbbbbbbbbccbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbccbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbccbbbbbbbbbbbbbaaem̩|dbbbbbbbbbbccbbbbbbbbbbbbbbbbccbbbbbbbbbbbbbbbbbbbbbbbbbbbbccbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbc~ǹ}xuqmieb`aaaabbbbbbbbbbccbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbccbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbccbbbbbbbbbbccbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbccbbbbccbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbk~եkbbbccbbbbbbbbbbbbbbbbbbbbbbccbbccbbbbbbbbbbbbbbbbccbbbbbbbbbbbbbbbbbbbbccbbbbbbbbbbbbbbb``{Жsgbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbba`xզlbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbam~_`bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbaaizܹq`abbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbizӞziabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbaaj|ßu`abbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb`_۸p^_a````````````````````````````aa```````````````aaaa`````aa``aaaaa`````aaa`````a`a``````````````````````````````aaaa``````````````````````````````````a``````aaaaa````a```````````````````````````````a```````````````````^]ܹrabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbaabbbbbbbbbbccbbbbbbccccbbbbccccbbccccbbbbbbccccccccbbccccccbbccbbbbbbbbccccccccbbbbbbccccccccbbbbccccccbbbbcbbbccccccccccccccbbbbbbbbccbbbbbbbbbbbbccbbccccccbbbbbbccbbccccccccbbbbccccbbbbbbccccbbccccbbbbccccbbbbbaarӞzibbbccccccccbbccccccccbbccccbbbbbbbbccbbccbbccccbbbbbbbbbbccbbccccccccccbbccbbbbccbbccccbbbbccbbbbbbbbccbbccbbbbccbbbbccccbbccccbbbbbbbbbbbbccbbbbbbbbbbbbccccbbccbbccbbccbbbbbbccbbccccbbbbbbbbbbccbbccbbbbbbbbbbbbccccbbbbccbbbbbbccccbbbbbbbbbbbbccbbbbccccbbbbccccbbccbbccccbbccbbbbccccbbbbccccba`{ȡvkeabbccbbbbccbbbbbbccbbccccbbbbbbbbccccbbbbccccbbbbbbccbbbbacjsofbbbbbbbccbbbbccccbbccccccbbbbccccbbbbccccccccbbcbbgrٻ~kdabbbbbbbbbbbbccbbccbbccbbbbccbbbbbbccccccccbbccbbbbccbbccbbbbbbbbbbccccbbccccbbbbbbbbbbccccbbccbbbbcccbbcepĎmebbbbbccbbbbccbbccbbccbbbbbbbbbbbbbbccbbbbbbbbccbbbbbbbbccccbbccccccbbccccccbbbbbbccbbbbafrٻ~kdabcccbbbbccccbbbbbbccbbbbbbbbccbbbbbbbbccbbbbccbbbbbbbbccbbbbbbbbbbbbccbbbbccbbbbbbbbbbccccccccbbbbbbbbabepĎmebbbbbccbbbbccbbbbbbccbbbbbbccccccbbbbbbbbbbbbccccbbccbbbbccccbbbbbbbbccccbbccbbbbbbbbbbbbbbccbbbbbbbbbbccbbbbbnznd_```aaabbccbbbbbbbbbbccbbccbbccbbbbbbccccbbbbbbbbbbbbccccbbbbbbbbccbbbbbbccbbccccccbbbbccbbccbbbbccbbbbccbbbbbbbbbbbbccbbbbbbccccccccbbbbbbbbbbbbccbbbbbbccbbbbbbccccbbbbbbbbbbbbbbbbbbbbbbbbbbccbbbbccbbbbbbccbbbbccccbbccbbbbccbbbbbbccbbbbaenٲpaabbbbbbbbbbbbbbbbbbbbbbbccccbbbbbbbbccbbccccbbccbbbbccbbbbbbccbbccbbbbbbbbccbbccbbbbbbc`_Ȉecbbbccbbbbbbbbccccbbccccbbbbbbbbbbbbbbbbccbbbbbbbbccbbbbbbccbaar۸rabbbbbbbbbbbbbbbbbbbbccccbbbbccccbbbbbbbbbbbbbbbbbbbbccbbccbbbbbbbbbbbbccbbccbbbbbbcbar԰z`abbbbbbbbbbbbbbbbbbbbbccbbccbbbbbbbbbbbbccbbbbbbbbbbbbbbccbbbbbbbbbbbbbbbbbbbbbbbbccbbbbccccbbbbbbbbbbbaaizܹraabccbbbbbbbbbbbbccbbccccbbbbbbccbbbbbbbbbbbbbbbbbbbbccbbccbbccbbbbccccbbbbbbbbbbbbbbccbbbbccbbbbbbbbbbccbbbbbbbbbbbbbbbbbbccbbbbbbbbbbbbbbbbccbbbbbbbbbbbbbbbbbbbbccbbbbbbbbccbbbbbbbbbbbbccbbbbbbbbccbbbbbizӞzibbbbbbbbbccccbbbbbbbbbbbbccbbccbbbbbbbbccbbbbbbbbbbbbbbbbccbbbbbbccbbbbbbbbbbbbbbbbccbbbbbbbbbbbbbbbbccbbbbbbbbbbccbbbbbbbbccbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbccbbbbbbbbccbbbbaj~ݽsaabbbbbbbbbbbbbbbbbbbbbccbbbbbbbbbbbbbbbbccbbbbbbbbbbbbbbbbbbbbbbbbbbbbccbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbccbbbbbbbbbbbbbbbbccbbbbbbbbbbbcccbbbbbbbbccbbbbbbbbccbbbbbbbbbbccbbbbbbbbbbccbbbbbbbbbbbbbbbbbbbbbbbbbbccbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbccbbbbbbbbbbccbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbccbbccbbbbccbbbbbbbbccbbbbbbbbbbbbbcccbbbbbbbbccbbbbbbb`_۸o]^_``__________________________________________________________``______________________________________`_________``_______________________________________________________________________________________________________]\ܹq`abbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbccbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbccbbbbbbbbbbbbbbbbbbbbccbbbbbbccccbbbbccccbbccccbbbbbbccccccccbbccccccbbccbbbbbbbbccccccccbbbbbbccccccccbbbbccccccbbbbccbbccccccccccccccbbbbbbbbccbbbbbbbbbbbbccbbccccccbbbbbbccbbccccccccbbbbccccbbbbbbccccbbccccbbbbccccbbbbbaarӞzibbbccccccccbbccccccccbbccccbbbbbbbbccbbccbbccccbbbbbbbbbbccbbccccccccccbbccbbbbccbbccccbbbbccbbbbccbbccbbccbbbbccbbbbccccbbccccbbbbbbbbbbbbccbbbbbbbbbbbbccccbbccbbccbbccbbbbbbccbbccccbbbbbbbbbbccbbccbbbbbbbbbbbbccccbbbbccbbbbbbccccbbbbbbbbbbbbccbbbbccccbbbbccccbbccbbccccbbccbbbbccccbbbbccccba`{Ħ~hbabcbbccbbbbccbbbbbbccbbccccbbbbbbbbccccbbbbccccbbbbbbccbbcccbaberrfcbbbbbbbccbbbbccccbbccccccbbbbccccbbbbccccccccbbcbanԺ}j`bcbbbbbbbbbbbbccbbccbbccbbbbccbbbbbbccccccccbbccbbbbccbbccbbbbbbbbbbccccbbccccbbbbbbbbbbccccbbccbbbbcccccbbchզkabbbbccbbbbccbbccbbccbbbbbbbbbbbbbbccbbbbbbbbccbbbbbbbbccccbbccccccbbccccccbbbbbbccbbba`nԺ}i`bcccccbbbbccccbbbbbbccbbbbbbbbccbbbbbbbbccbbbbccbbbbbbbbccbbbbbbbbbbbbccbbbbccbbbbbbbbbbccccccccbbbbbbbbbbbdhէlabbbbccbbbbccbbbbbbccbbbbbbccccccbbbbbbbbbbbbccccbbccbbbbccccbbbbbbbbccccbbccbbbbbbbbbbbbbbccbbbbbbbbbbccbbcbbem|yupkgbaaaabbbbbbbbbccbbccbbccbbbbbbccccbbbbbbbbbbbbccccbbbbbbbbccbbbbbbccbbccccccbbbbccbbccbbbbccbbbbccbbbbbbbbbbbbccbbbbbbccccccccbbbbbbbbbbbbccbbbbbbccbbbbbbccccbbbbbbbbbbbbbbbbbbbbbbbbbbccbbbbccbbbbbbccbbbbccccbbccbbbbccbbbbbbccbbbbbadtaabccbbbbbbbbbbbbbbbbbbbbccccbbbbbbbbccbbccccbbccbbbbccbbbbbbccbbccbbbbbbbbccbbccbbbbbbbce~_`cbbccbbbbbbbbccccbbccccbbbbbbbbbbbbbbbbccbbbbbbbbccbbbbbbccbaamǣv`abbbbbbbbbbbbbbbbbbbccccbbbbccccbbbbbbbbbbbbbbbbbbbbccbbccbbbbbbbbbbbbccbbccbbbbbbcaavƢwaabbbbbbbbbbbbbbbbbbbbbccbbccbbbbbbbbbbbbccbbbbbbbbbbbbbbccbbbbbbbbbbbbbbbbbbbbbbccccbbbbccccbbbbbbbbbbbbaizܹrabbccbbbbbbbbbbbbccbbccccbbbbbbccbbbbbbbbbbbbbbbbbbbbccbbccbbccbbbbccccbbbbbbbbbbbbbbccbbbbccbbbbbbbbbbccbbbbbbbbbbbbbbbbbbccbbbbbbbbbbbbbbbbccbbbbbbbbbbbbbbbbbbbbccbbbbbbbbccbbbbbbbbbbbbccbbbbbbbbccbbbbbizӞzibbbbbbbbbccccbbbbbbbbbbbbccbbccbbbbbbbbccbbbbbbbbbbbbbbbbccbbbbbbccbbbbbbbbbbbbbbbbccbbbbbbbbbbbbbbbbccbbbbbbbbbbccbbbbbbbbccbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbccbbbbbbbbccbbbaamڴpabbbbbbbbbbbbbbbbbbbbbbccbbbbbbbbbbbbbbbbccbbbbbbbbbbbbbbbbbbbbbbbbbbbbccbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbccbbbbbbbbbbbbbbbbccbbbbbbbbbbccccbbbbbbbbccbbbbbbbbccbbbbbbbbbbccbbbbbbbbbbccbbbbbbbbbbbbbbbbbbbbbbbbbbccbbccbbbbbbbbbbbbbbbbbbbbbbbbbbbbccbbbbbbbbbbccbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbccbbccbbbbccbbbbccbbccbbbbbbbbbbbbccccbbbbbbbbccbbbbbbb`_ũܹq`abbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbccbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbccbbbbbbbbbbbbbbbbbbbbbbccccccbbccbbbbccccbbccccbbbbccccccccccccccccccccccccccccccccccbbccccccccccccbbccccccccccccbbccbbccbbccccbbccccccccccccccccbbccccbbccccbbccccccccccccbbccccccbbbbccccccccbbccccccbbccbbbbbbccccccccbbccbaarӞzibbbbbccccbbccccbbbbbbbbccccccccccbbccccccbbccbbbbbbccccbbccbbccbbccccccbbccccbbccccccccbbccccccccbbccccbbbbbbccbbccccbbccbbccccccccccbbccbbccbbccccccccccccccbbccccbbbbccccccbbbbccccccccccccccbbbbccccccccccccccbbccbbccccccccccbbbbbbccccccccbbbbccccccccccbbccccccccbbccccccccccccbbccbbccccbbccba`{Ѷ{kcbbbbccccccbbccccccbbbbccbbccccccbbccccccccccccccccbbccccccbbbbbbcgmmgcccccccccbbbbbbbbccccbbccbbbbccccbbccbbccccccccccca_yԪvjdbbbccccbbccccbbccccccbbccccbbccccbbbbbbbbccbbbbccccbbbbccccbbccbbccbbccbbbbccbbccccccccbbccccccbbccccccbbcbbcdk{Šu`acccbbccccbbbbccccccccbbccccccbbbbbbbbccccccccbbccccccccbbbbccbbbbbbccccbbbbccbbccccca_yԪwjdbbcbbccccccccccccccbbccccbbccccccccccccbbbbccbbccccccbbccbbbbbbbbccccbbbbccbbccccccbbccccccccbbccbbbbccccbbbcdkzšv`abccccccbbccbbbbccccccccbbbbccbbccbbccbbccccbbccccccccbbbbbbbbccccbbbbccccccbbbbbbbbbbccccccccbbbbbbccccccbbbcerȿse_`aaabbccbbbbccccbbccccccccbbccbbbbbbbbccccbbccbbccccbbccbbccbbccccccccccccbbbbbbccccccbbccbbccccccbbccccbbccccbbbbccccccccbbccccccccccccccbbccccccbbbbbbbbccccccccccbbbbccccccccccccccccbbccccccccbbccccbbbbccccccbbccccccbbbbccccccbaaͩy`acccbbccccbbccccccbbbbccccbbccccccbbbbbbbbbbbbccccbbbbccbbbbccccbbccbbbbccbbbbbbbbcccbbgs԰z`acbbbbccbbccccbbbbbbbbbbbbbbccbbccccbbccccbbbbbbbbbbbbccccccbbbiz԰z`abbbccbbccccbbccbbbbccbbccccccccbbccccbbbbccccbbccbbbbccbbbbccbbccbbbbccbbbbccbbbbcb`yܹrabbccccbbccbbbbbbccccccccbbccbbbbccccbbbbccbbbbccccccbbccccccccbbccbbccccbbccbbbbccbbccccccccbbccbbccbbcbbizܹrabbccbbccccbbbbbbbbbbbbccbbbbbbbbccbbbbbbccccccccccccccbbccccccbbbbbbccbbbbbbbbccccccccbbbbbbccccbbbbbbbbbbbbbbccccccccbbbbccbbbbccbbccbbbbccbbbbbbbbccccbbbbccccbbbbccccccccbbbbccbbbbbbbbccbbbbbbbbbbbbbbbizӞzibbcbbccbbccbbbbccbbbbccbbbbccbbccbbbbbbbbbbbbbbbbbbccccccbbccccbbccccbbccbbccbbbbbbbbccccccbbbbccbbbbccccbbccccccccccbbccbbbbccccbbccbbbbbbbbbbbbbbccbbbbbbbbbbccbbccccbbccccccbbbaapתmabbbbbbbbccccccbbbbccbbbbccbbbbbbccccbbbbbbccccccbbbbccbbbbccccbbccbbbbccccbbccbbbbccccbbccccbbbbbbbbbbbbccbbbbbbbbbbccbbccbbbbccbbbbbbbbccccccbbbbccccbbbbbbccbbccccccbbbbbbbbbbbbbbccbbccbbbbbbbbccccccbbccbbbbbbbbbbbbccbbccbbbbccbbccbbccbbbbccbbccbbccbbbbbbccbbbbccbbbbbbbbbbbbbbbbbbbbbbccbbbbbbbbccbbbbbbccbbccbbbbbbbbbbbbbbccbbbbbbbbbbccccccbbbbccbbccccbbbbccbbccccbbbbbbccccbbbbbbccc`_ܹraabbbccbbbbbbccbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbccbbbbccbbbbccbbccbbbbbbbbbbbbbbccbbbbbbbbbbbbbbbbccbbbbbbbbbbbbbbbbbbbbccbbbbbbccccccbbccbbbbccccbbccccbbbbccccccccccccccccccccccccccccccccccbbccccccccccccbbccccccccccccbbccbbccbbccccbbccccccccccccccccbbccccbbccccbbccccccccccccbbccccccbbbbccccccccbbccccccbbccbbbbbbccccccccbbccbaarӟzibbbbbccccbbccccbbbbbbbbccccccccccbbccccccbbccbbbbbbccccbbccbbccbbccccccbbccccbbccccccccbbccccccccbbccccbbbbbbccbbccccbbccbbccccccccccbbccbbccbbccccccccccccccbbccccbbbbccccccbbbbccccccccccccccbbbbccccccccccccccbbccbbccccccccccbbbbbbccccccccbbbbccccccccccbbccccccccbbccccccccccccbbccbbccccbbccbaa{ҳudbbbbbbccccccbbccccccbbbbccbbccccccbbccccccccccccccccbbccccccbbbbcccbbabbccccccccbbbbbbbbccccbbccbbbbccccbbccbbccccccccccbdjյmebbcbbccccbbccccbbccccccbbccccbbccccbbbbbbbbccbbbbccccbbbbccccbbccbbccbbccbbbbccbbccccccccbbccccccbbccccccbbccccbbdzۺgdcccbbccccbbbbccccccccbbccccccbbbbbbbbccccccccbbccccccccbbbbccbbbbbbccccbbbbccbbcccbbdjյmeabcccbbccccccccccccccbbccccbbccccccccccccbbbbccbbccccccbbccbbbbbbbbccccbbbbccbbccccccbbccccccccbbccbbbbccccbbccbbdzܺgcbccccccbbccbbbbccccccccbbbbccbbccbbccbbccccbbccccccccbbbbbbbbccccbbbbccccccbbbbbbbbbbccccccccbbbbbbccccccbbcbbem}yuplgcaaaaabcccbbccccccccbbccbbbbbbbbccccbbccbbccccbbccbbccbbccccccccccccbbbbbbccccccbbccbbccccccbbccccbbccccbbbbccccccccbbccccccccccccccbbccccccbbbbbbbbccccccccccbbbbccccccccccccccccbbccccccccbbccccbbbbccccccbbccccccbbbbccccccba`{۷}`acccbbccccbbccccccbbbbccccbbccccccbbbbbbbbbbbbccccbbbbccbbbbccccbbccbbbbccbbbbbbbbcccbalŠvaacbbbbccbbccccbbbbbbbbbbbbbbccbbccccbbccccbbbbbbbbbbbbccccccbbbenགbbbbbccbbccccbbccbbbbccbbccccccccbbccccbbbbccccbbccbbbbccbbbbccbbccbbbbccbbbbccbbbbca`}תmabbccccbbccbbbbbbccccccccbbccbbbbccccbbbbccbbbbccccccbbccccccccbbccbbccccbbccbbbbccbbccccccccbbccbbccbbcbbizܹrabbccbbccccbbbbbbbbbbbbccbbbbbbbbccbbbbbbccccccccccccccbbccccccbbbbbbccbbbbbbbbccccccccbbbbbbccccbbbbbbbbbbbbbbccccccccbbbbccbbbbccbbccbbbbccbbbbbbbbccccbbbbccccbbbbccccccccbbccccbbbbbbbbccbbbbbbccbbbbbbbjzӞzibbcbbccbbccbbbbccbbbbccbbbbccbbccbbbbbbbbbbbbbbccbbccccccbbccccbbccccbbccbbccbbbbbbbbccccccbbbbccbbbbccccbbccccccccccbbccbbbbccccbbccbbbbbbbbbbbbbbccbbbbbbbbbbccbbccccbbccccccbbbaarգ~jbbbbbbbbbccccccbbbbccbbbbccbbbbbbccccbbbbbbccccccbbbbccbbbbccccbbccbbbbccccbbccbbbbccccbbccccbbbbbbbbbbbbccbbbbbbbbbbccbbccbbbbccbbbbbbbbccccccbbbbccccbbbbbbccbbccccccbbbbbbbbbbbbbbccbbccbbbbbbbbccccccbbccbbbbbbbbbbbbccbbccbbbbccbbccbbccbbbbccbbccbbccbbbbbbccbbbbccbbbbbbbbbbbbbbbbbbbbbbccbbbbbbbbccbbbbbbccbbccbbbbbbbbbbbbbbccbbbbbbbbbbccccccbbbbccbbccccbbbbccbbccccbbbbbbccccbbbbbbccca_ܹraabbbccbbbbbbccbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbccbbbbccbbbbccbbccbbbbbbbbbbbbbbccbbbbbbbbbbbbbbbbccbbbbbbbbbbbbbbbbccbbccbbbbccccbbbbccccccccccccccccbbccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccbbccccccccccccccccccccccccccccccccccccccccccccccccccccccccbbccccccccccccccccccccccccccccbbccccccccccccbbcbarӟzibbcccccccbbbbccccccbbccccccccccccbbccccccccccccccbbccccccccccccccccccccccccccccccccccccccccccccbbccccccccccccccccccccbbccccccccccbbccccccccccccccccccccccccccccccbbccccccccbbccbbccccbbccccccccccccccccccccccbbccccccccccccccbbccccccccccccccccccccccccccccccccccccccccbbccccccccbbccccccbbccccccccca`{ѳpgcbcccccccccccccccccccccccbbccccbbccccccccccccccccccccccccccccccccccbbbbbcccccccccbbccccccccccccccccccccccbbccccbbcccccccbblիrecbccccccccbbccccccccccccccccccccccccbbccccccccccccccccccbbccccbbccccccccccbbccccccccccccccccccbbccccccccccbbcccccbbjz̚xibbbccccccccccccccccccccccccccccccccbbccccccccccccccbbccbbccccccccccccccccccccccccbbblիrebbccccccccccccccccccbbbbccccccccccccccccccccccccccccccccccbbccccccccbbccccccccccccccccccccccccccccccccccccccccccbbbjz̚wibbcccccccccccccccccccccccccbbccccccccbbccccccccbbbbccccccccccbbccccbbccccccccccbbccccccccccccccccbbccccbbccccbbewķse__`aabbccccccccccccccccbbccbbbbbbbbccbbccccccccccccccccccbbccccccccccccccccccbbccbbccccccccccccccccbbccccccbbccccccccccccbbccbbccccccbbccccccccccbbbbbbccccccbbccccccbbccccccccccbbccccbbccbbccccccccccccbbccccccccbbcccccccccbavā_acccccccccbbbbbbccccccccccccccccbbccccccccccccbbccbbccccccccccbbbbccccccccccccccccbbbaarڴqbabccccccccccbbccbbbbccccccccbbbbccccbbccccbbccccccccccccccbbbbcbdɌidbccbbccccccbbccccccccccccccccccccccccccccbbccccccbbccccccccccccccccccccccccccbbccca_љugbbcccccccccbbccbbbbccccbbbbccccccccccbbbbbbccbbccbbbbccbbbbbbccccccccccccbbccbbccccccccccccbbccccccccccbbbizܹrabcccbbccccbbbbccccccccccccccccbbccbbccbbbbbbccccccbbbbccbbbbbbbbccccccccccccccccbbccccbbccccccbbccbbccccccccccccccccccccbbccccccbbccccbbccbbbbccccccccccccbbccbbccbbccccbbccbbbbccbbbbccccccbbbbbbccccbbcbbjzӞzibbcccccccccccbbbbccccbbccccccccccbbbbccccccccccccccbbbbbbccccccccccccbbbbccccccccccbbccccccccccccccccccbbccbbccccbbccccccbbccbbbbbbbbccccbbbbbbccccccbbccbbccbbbbcccccccccccccccccbarԠ|jbbcccccbbbbbbbbccccccccccbbbbccccccccccccbbccccccccccbbbbccbbccccbbccccccccccccbbbbccbbbbbbccbbbbccbbccccccbbccbbccbbbbccccccccccbbccccccbbccccccbbccccccccccbbccbbbbccbbbbccccccccccbbbbccbbccbbccbbccccccccccccccbbccccbbccccccbbccbbccccccccccbbccccbbccccbbccccccccccccbbbbbbbbccccccbbccccccccccbbccccbbccbbbbbbccbbccccbbccccccccccccbbccccccccbbbbccccccbbbbccbbccccccbbbbbbccccbbccbbccbbca_ܹrabcccbbccbbccbbccccccbbbbccccbbccbbbbbbbbbbccccbbccccccccbbccccccccbbbbbbbbccbbccbbccccccbbbbbbbbccccccccccbbccccbbbbccccccbbbbccccccccbbbbccccccccccccccccbbccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccbbccccccccccccccccccccccccccccccccccccccccccccccccccccccccbbccccccccccccccccccccccccccccbbccccccccccccbbcbarӝyh`aaaaaaaaaa``aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa``aaaaaaaaaaaaaaaaaaaaaaaabbcccccbbccccccccccccccbbccccccccccccccccccccccccccccccccccccccccbbccccccccbbccccccbbccccccccca`{ҳp`acccccccccccccccccccccccccbbccccbbccccccccccccccccccccccccccccccccccbbbbccccccccccbbccccccccccccccccccccccbbccccbbcccccccbbuԵmebccccccccccbbccccccccccccccccccccccccbbccccccccccccccccccbbccccbbccccccccccbbccccccccccccccccccbbccccccccccbbccccccccdzڴpaabccccccccccccccccccccccccccccccccbbccccccccccccccbbccbbccccccccccccccccccccccccbbbvԵmebbcccccccccccccccccccbbbbccccccccccccccccccccccccccccccccccbbccccccccbbccccccccccccccccccccccccccccccccccccccccccbbbcezڴpabcccccccccccccccccccccccccbbccccccccbbccccccccbbbbccccccccccbbccccbbccccccccccbbccccccccccccccccbbccccbbcccccbaj}}yuplgc`aabbbbccccccccbbccbbbbbbbbccbbccccccccccccccccccbbccccccccccccccccccbbccbbccccccccccccccccbbccccccbbccccccccccccbbccbbccccccbbccccccccccbbbbbbccccccbbccccccbbccccccccccbbccccbbccbbccccccccccccbbccccccccbbcccccccccbarˈdbcccccccccbbbbbbccccccccccccccccbbccccccccccccbbccbbccccccccccbbbbccccccccccccccccbbba`vեlbbbccccccccccbbccbbbbccccccccbbbbccccbbccccbbccccccccccccccbbbbca_~Зsgbbcbbccccccbbccccccccccccccccccccccccccccbbccccccbbccccccccccccccccccccccccccbbcbcceʌidbccccccccccbbccbbbbccccbbbbccccccccccbbbbbbccbbccbbbbccbbbbbbccccccccccccbbccbbccccccccccccbbccccccccccbbbizܹrabcccbbccccbbbbccccccccccccccccbbccbbccbbbbbbccccccbbbbccbbbbbbbbccccccccccccccccbbccccbbccccccbbccbbccccccccccccccccccccbbccccccbbccccbbccbbbbccccccccccccbbccbbccbbccccbbccbbbbccbbbbccccccbbbbbbccccbbcbbjzӟzibbcccccccccccbbbbccccbbccccccccccbbbbccccccccccccccbbbbbbccccccccccccbbbbccccccccccbbccccccccccccccccccbbccbbccccbbccccccbbccbbbbbbbbccccbbbbbbccccccbbccbbccbbbbcccccccccccccccccbasқwhbbcccccbbbbbbbbccccccccccbbbbccccccccccccbbccccccccccbbbbccbbccccbbccccccccccccbbbbccbbbbbbccbbbbccbbccccccbbccbbccbbbbccccccccccbbccccccbbccccccbbccccccccccbbccbbbbccbbbbccccccccccbbbbccbbccbbccbbccccccccccccccbbccccbbccccccbbccbbccccccccccbbccccbbccccbbccccccccccccbbbbbbbbccccccbbccccccccccbbccccbbccbbbbbbccbbccccbbccccccccccccbbccccccccbbbbccccccbbbbccbbccccccbbbbbbccccbbccbbccbbca_ܹrabcccbbccbbccbbccccccbbbbccccbbccbbbbbbbbbbccccbbccccccccbbccccccccbbbbbbbbccbbccbbccccccbbbbbbbbccccccccccbbccccbbbbccccccbbbbccccddccccccccccccccccccccccccccddcccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccbbrҜxf__````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````````abcddccccccccccccddccccccccccccccccccccccccddccccccccccccccccccccccccccccccccccccddcccccccccccaa{ѳpebbcccccccccccccccccccccccccccccccccccccccccbbccccccccccccccccccccccccccbbcccccccccccccccccccccccccccccccccccccccccccccccccceԫqeccccccccbbcccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccbcjzӯy`accccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccbeԫrebbcccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccbcjzӯz`acccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccbbcccccbbejyķsf_`aabbbccccccccccccccccccccccccccccbbccccccccccccccccccccccccccccccccccccccccccccccccccccccccbbccccccccccccbbccccccbbccccccccccccccccccbbccccccccccccccccbbccccccccccbbccccccccccccccccccbbccccccccbbcccccccccccccccccbbnϒnebccbbbbccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccbbccccccccccccccca`{Зsgbbcccccccccccccccccccccbbbbcccccccccccccccccccccccccccccccccccccb`yեkbbcccccccccccccccccccccccccccccccccccbbccccccccbbccccccccccccbbccccbbccbbcccccccbbgsƒcbcccccccccbbbbccccccccccccccccccccccccccccccccccccccbbccccccccccccccccccbbcccccccccccccccccccccccccccccccbbizܹrabcccccccccccccccccccccccbbccbbccccccccccbbccccccccccbbccccccccccccccccccbbccccccccccccccccccccbbccccccccccccccccccccccccccccccccccccccccccccbbccccccccccccbbccccccbbcccccccccccccccccccccccccccccccccccccbbjzӟzjbbcbbccccccccccccccccccccbbccccccccccccccccccccccbbccccbbccccccccccbbccccccccbbccccccbbccccccccccccccccccccbbccccccccccccccccbbccccccccccccccccccccccccccccccccccccccbbbbccccbbcccbavДpfbbcccccbbbbccccccccccccccbbccccccccbbccccccbbccccccccccccccccbbbbccccccccccccccccccbbccccccccbbccccccccccccccccccccccccccccbbccccccccccccccccccccccccccccccccbbccccccccbbccccbbccbbccccccccccccccccccbbbbccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccbbccccccccccccbbbbbbccccccccccccccccccccccccccccbbccccccccccccccccccccbbccccccbbccccccccccccccccccccccccbbbbccccccccbbccccc`_ܹrabcccccccccccbbccccccccccccccccbbccbbbbccccccccccccccbbccccccccccccccccccccccccccbbccccccccccccccccccccccccccccccccccccccccccccccccddccccccccccccccccccccccccccddcccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccbbrٱ|kbcdccccccccccccddccccccccccccccccccccccccddccccccccccccccccccccccccccccccccccccddcccccccccccba{ضq`bcccccccccccccccccccccccccccccccccccccccccccbbccccccccccccccccccccccccccbbccccccccccccccccccccccccccccccccccccccccccccccccbgrַnebbcccccccbbccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccd{ʼnhdcccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccbgrַnebbbccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccd{Ŋidcccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccbbcccccccbafr}yuplgcaabbbbcccccccccccccccccccccbbccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccbbccccccbbccccccccccccccccccbbccccccccccccccccbbccccccccccbbccccccccccccccccccccccccccccbbcccccccccccccccccbbiyӟzjbbcbbbbccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccbbcccccccccccccccbcˌidbccccccccccccccccccccccbbbccccccccccccccccccccccccccccccccccccccbauڴqbbcccccccccccccccccccccccccccccccccccbbccccccccbbccccccccccccbbccccbbccbbcccccccbbl۷}`bcccccccccbbbbccccccccccccccccccccccccccccccccccccccbbccccccccccccccccccbbcccccccccccccccccccccccccccccccbbizܹrabcccccccccccccccccccccccbbccbbccccccccccbbccccccccccbbccccccccccccccccccbbccccccccccccccccccccbbccccccccccccccccccccccccccccccccccccccccccccbbccccccccccccbbccccccbbcccccccccccccccccccccccccccccccccccccbbjzӟzjbbcbbccccccccccccccccccccbbccccccccccccccccccccccbbccccbbccccccccccbbccccccccbbccccccbbccccccccccccccccccccbbccccccccccccccccbbccccccccccccccccccccccccccccccccccccccbbbbccccbbcccbax͍idbccccccbbbbccccccccccccccbbccccccccbbccccccbbccccccccccccccccbbbbccccccccccccccccccbbccccccccbbccccccccccccccccccccccccccccbbccccccccccccccccccccccccccccccccbbccccccccbbccccbbccbbccccccccccccccccccbbbbccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccbbccccccccccccbbbbbbccccccccccccccccccccccccccccbbccccccccccccccccccccbbccccccbbccccccccccccccccccccccccbbbbccccccccbbccccc`_ܹrabcccccccccccbbccccccccccccccccbbccbbbbccccccccccccccbbccccccccccccccccccccccccccbbccccccccccccccccccccccccccccccccccccccccccccccccccccddccccccccccccccccddccccccddccccccccccccccccccccccccccccddccccddccccccccccccccccddccccddddccccccddccddddccccccddccccccccccccddccccccccccccccccccccccccccccddddccccccccccccccccccccccccddccccccddccccdbbṟ|abcccccddccccddddccccccddccccccddddccccddccccccddccccccccccddccccccddccccccccccccccddccccccdba{ĕugbbcccccccccccccccccccddccccccccccccddddccccccccccccccccccccccddccccccccccccddccccccddccccccccccccccccccccccccddccddcccccccbbnٰtecbccccccccccccccccccccccccccddccccccccccccccccccccccccccccccccccccccccddccccccddccccccddccccccddccddddccccddccccddcccccccbbmѠ}kbbcddccddccccddccccccccccccccccddccccccccccccccddccddddccccccccccccddccccccccdcbnٰsecbccccccccccccccddccccccccccccddccccccccccccccccccccccccccccccccccccccccccddccccccccccccccccccccccccccccccccccddcccccccccbbmѠ}jbbcccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccddccccccccccccccccccccccccccddccccccccccccbcgtķsf``aabbbccccccccccccddccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccddccccccccccccccccccccccccddcccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccdh׬nbbcccccccccccccccccccccccccccccccccccccccccccddccccccccccccccccccccccccccddcccccccccdjƒcbcccccccccccccddccccccccccccccccccccccccccccccccccccccccccccccccdcbpšwaacccccccccddccccccccccccccccccccddcccccccccccccccccccccccccccccccccccccccccccccbbqͪyabcccccccddcccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccjzܹrabcccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccddccccccccccccccccccccccccccccccccccccccddcccccccccccccccccccccccccccccbbjzӟzjbbcccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccbbccccccccccbbcccbazˇbbcccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccbbccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccbbccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccca`ܹrbbcccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccbbccccccccccccccccccccccccccccccccccccccccccccccccddccccccccccccccccddccccccddccccccccccccccccccccccccccccddccccddccccccccccccccccddccccddddccccccddccddddccccccddccccccccccccddccccccccccccccccccccccccccccddddccccccccccccccccccccccccddccccccddccccdbbrʄ`acccccddccccddddccccccddccccccddddccccddccccccddccccccccccddccccccddccccccccccccccddccccccdba{Ǥ{eccccccccccccccccccccccddccccccccccccddddccccccccccccccccccccccddccccccccccccddccccccddccccccccccccccccccccccccddccddcccccccbbwsgbccccccccccccccccccccccccccccddccccccccccccccccccccccccccccccccccccccccddccccccddccccccddccccccddccddddccccddccccddccccccccbfnܺrabcddccddccccddccccccccccccccccddccccccccccccccddccddddccccccccccccddccccccccdbbwsgbbcccccccccccccccddccccccccccccddccccccccccccccccccccccccccccccccccccccccccddccccccccccccccccccccccccccccccccccddccccccccccbfnܺrabcccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccddccccccccccccccccccccccccccddcccccccccccccccfn{wsnjfcbbbbbccccccddccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccddccccccccccccccccccccccccccddccccccccccccccccccccccccddccccccccccccccccccccccccccccccccccccddccccccccccccccccccccccccccccca_ܹsbbcccccccccccccccccccccccccccccccccccccccccccddccccccccccccccccccccccccccddccccccccbgsٵ}`bcccccccccccccddccccccccccddccccccccccccccccccccccccccccccccccccdcblհ{`acccccccccddccccccccccccccccccccddcccccccccccccccccccccccccccccccccccccccccccccbbuݾtabcccccccddcccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccjzܹrabcccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccddccccccccccccccccccccccccccccccccccccccddcccccccccccccccccccccccccccccbbjzӟzjbbcccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccbbcccccccccccccccba{ʃ`acccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccbbccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccca`ܹrbbcccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccbbccccccccccccccccccccccccccccccccccccccccccccccccddccccccccccddccccccccccccddccccccccddccccddddccccccccddccddccccccccccddccddddddddddccccccddccddccccddccccddccccccddccddddccddccddccccddccccddddddccddccddccddccccddccccddccccddccddddccccccccddddcccbbrʄ`acccccccddddddddccccccccccddccddccccccccccddccccccddccccccddccccccddddccccccccccccccddccddcba|Нzkcccddddddccddddccddccddccddccddccccddddccddddccddccddddccddddccccddddddccccccddccddccccddccccccccccccccddccddccccccccddccddcceܽygdcccccddccddccccccccccddccccddccccddddddddccddddccddccddddccccccccddddccccddccddccccccddccddccccddccddccddccddccccddccddccdcccfrհ{`adddccccddddccddccccccccccccddddccccccccccccccddccddddccddddccccccccccddccddcceܽygdcccccccddccddddccccccddccccccddccccddccccccccccccccccddddccddccccddddccccccccccccccccccccddddddccccccddddccddccccccccddcccccdfqհz`bdddccccddccccccccccccccccccddddccccccddddccccccddccddccccccddccccddddccccccddccccccccccccccddddccddccccccddccddcdfrȾzne`abbbbcccccccccccccddddccccccddccccccddccccddccccccddccddccddccccccccddccddccccccccccccddccddccddddccccccccccccccccccccddccddccccccccccccddddccccccccccccccccccccccccddddccccccccccccddccccccccccccccccda`}ǣwabcddddccccccccccccccddddccccccccccccccddccccccccccccccccccccccccddccccddccccccccdcblȤxabdccccddccccccccccddddccccddddccccccccccccccccccccccccccccccddccccbgs`adccccccccccccccddccccccccccccccccccccccccccccccccccccccccccccccddddccccccddcccbayخnbcdddccccccccccccccccccddccccccccccddccccccccddccccccddccccccddccccccddccddddccccddccccddcccccccccccccccccbbjzܹsbbcccddccccccddccccccccddccccccccccccccddccddddccccccccccccddddccccddddccddccccddccddccddddccccddccccccccccddccddddccccccccddccccccccccccccccccccccccddccccddccccccccccccddccccccccccccccccccccddcccccccccbbjzӟzjbbcccccccccddccccccddccccccccccccccccccccccccccddccddccccccccccccccccccccccccccccccccccccccccccccccccddccccccccccccccccccccddccccccccccccccccddccccccccccccccccdcccddccddccccccccdba{ʄ`acccccddccddccccccccccccccccccccccccccccccccccccccccccccccccddccccccccccccccccccccddccccddccccccccccddccccccccccccccdddcccddccddccccccccddccccccccccccccccccccddccccddccccccccccccccccccccccccccccccccccddccddccccccccccccddccccccccccddccccccddccccddccccccccddccccccccccccccccccccddddccddccddccccccccccccccccccccccccccccccccccccccccccccccccccddccccccddccccccccccccccccccccddccccccccccccccccca`ܹrbbcccccccccccccccccccccccddccccccccccccccccccccccccccccccddccccccccccccccccccccccccccccccccccccccddccccccccccccccccccccccccccccccccccccddccccccccccddccccccccccccddccccccccddccccddddccccccccddccddccccccccccddccddddddddddccccccddccddccccddccccddccccccddccddddccddccddccccddccccddddddccddccddccddccccddccccddccccddccddddccccccccddddcccbbrʅ`acccccccddddddddccccccccccddccddccccccccccddccccccddccccccddccccccddddccccccccccccccddccddcba|صdccccddddddccddddccddccddccddccddccccddddccddddccddccddddccddddccccddddddccccccddccddccccddccccccccccccccddccddccccccccddccdccgrɞ}jbccccccddccddccccccccccddccccddccccddddddddccddddccddccddddccccccccddddccccddccddccccccddccddccccddccddccddccddccccddccddccddccbemŊjedddccccddddccddccccccccccccddddccccccccccccccddccddddccddddccccccccccddccdcbgrɞ}jbcdccccccddccddddccccccddccccccddccccddccccccccccccccccddddccddccccddddccccccccccccccccccccddddddccccccddddccddccccccccddccccdcbemŊjecddccccddccccccccccccccccccddddccccccddddccccccddccddccccccddccccddddccccccddccccccccccccccddddccddccccccddccdddccfoǹ}yuojecbbbbccccccccddddccccccddccccccddccccddccccccddccddccddccccccccddccddccccccccccccddccddccddddccccccccccccccccccccddccddccccccccccccddddccccccccccccccccccccccccddddccccccccccccddccccccccccccccccdbazӯ{aacddddccccccccccccccddddccccccccccccccddccccccccccccccccccccccccddccccddccccccccdcbqܹsbcdccccddccccccccccddddccccddddccccccccccccccccccccccccccccccddcccccejȉfddccccccccccccccddccccccccccccccccccccccccccccccccccccccccccccccddddccccccddcccb`}Ӟzjbcdddccccccccccccccccccddccccccccccddccccccccddccccccddccccccddccccccddccddddccccddccccddccccccccccccccccccbj{ܹsbbcccddccccccddccccccccddccccccccccccccddccddddccccccccccccddddccccddddccddccccddccddccddddccccddccccccccccddccddddccccccccddccccccccccccccccccccccccddccccddccccccccccccddccccccccccccccccccccddcccccccccbbj{ӟzjbccccccccccddccccccddccccccccccccccccccccccccccddccddccccccccccccccccccccccccccccccccccccccccccccccccddccccccccccccccccccccddccccccccccccccccddccccccccccccccccddccddccddccccddccdba|Ă`bcccccddccddccccccccccccccccccccccccccccccccccccccccccccccccddccccccccccccccccccccddccccddccccccccccddccccccccccccccddddccddccddccccccccddccccccccccccccccccccddccccddccccccccccccccccccccccccccccccccccddccddccccccccccccddccccccccccddccccccddccccddccccccccddccccccccccccccccccccddddccddccddccccccccccccccccccccccccccccccccccccccccccccccccccddccccccddccccccccccccccccccccddccccccccccccccccca`ܹsbbcccccccccccccccccccccccddccccccccccccccccccccccccccccccddccccccccccccccccccccccccccccccccccccccddccccccccccccccccccccccccccccccccccccddddddddddccccddccddddddddddddddddddddccddddddddddddccccddccddccccccddddddddccccddddddddddccddddccddccccccddddddddddddddddddccddddddddccddddccddddddddccddddccddddddddccccddddddddddddddddccdddddddddbbrʅ`adddccddddccddddddddddccccccddccccccccccccccccddccccccddddddccddddddccddccccddddddccdddddddba|۷rbcdddddddccddccccddccddccccddccccddccccddccccddddccddddccddccccccddddddddddddddddddccddccddccddccddccddccccddddccddddddddddcbbo̫jebccddddddccddccddccddddccddccddddccddddddddccccddccddccddccddddddccddddccddddddddccccddddddccccccccccccddddddddddddccccccddddcccceyѡ~kcccddddccccccddccccccddccccddddddddddddccccccddddddccddddddccccddccddcccccbbn̫jdccdddccddccccddccccddccddccddccddddccddccddccddddccccddddddccddddddccddccccddccccddccccddccddddccccccddddddccccddccccccddddccddcceyѡ~kbccddddddccccccddddddccddddddddddccccddccddddccddccddddccccccccccddddddccddddddddddddddccddddddddddccddddddccddddddfo}·{mebaabccccccddddccddddccccddddccccddddccccccccddddddddddccccccddccccccddccccccccccccddddccccccddddddddddccddddccccddccccccddddddccddddccddddddccccccccddddddccccccddccddccccddccddccddddccddddddccdcbuܹ~`bdddccddddccddddccccccccccddccddccddddccccddccccddddddccccddccddccddccccccdddddddbav׬obbcddccccccccccddddccccccccccccccccddddccddddddccccccddccddccddcccccccЗthcccddccddddccddddccccddccddccccccccccccccddccccccccccccddccddccddddccccddddccda`Αmfcccccccddddddddccddddccddccddddccccccccddddccddddccddccccccddccccccccddccddccddddddccccddccddccddccccccccdcbj{ܹsbbdddccddccccccccccccddddccccddddccddccddccddddddddddccccccccccddccddccccccddccccccccddddccddddddccccccccddddccddccccccddccccccccddccccddddccddddddccddddccccccddccccccddccccddccccccccccddddccddddccddcccccj{ӟzjbcdddddccccccddccccccddddccddddccddccddddccccccddccccccccccccddddccccddccccccccccccddccccddddccccccddddddccccddccccddccccddccccccddccccccddccccccccccccccddddccddccccccddccdddddddba}ڶ~abcccccddccccccccccccddddccccddccccccccccccddccccddddccccccddddddccccddccddddccccddccccddddccccccddccccccccccccccddddccddccccccddccddddddddccccccccddddccddddccddddccccddccccddccddccccccccccccddddccccccccccccccccddccccddddccccccddccccccddddddccddccccccddddccddccddddccccddddccccccccccccccddccddccddccddddccccccccddccccddddddccccccccccccccddddccddddccccccccddccddccddccddddddccddccccccddccca`ܹsbbcccccddccccccddccddddccccccccccccccccccccccddccccccccccccccddccccddddccccddccccddccccccccddddddccccccccddccccccccccccddccccddccccccccddddddddddccccddccddddddddddddddddddddccddddddddddddccccddccddccccccddddddddccccddddddddddccddddccddccccccddddddddddddddddddccddddddddccddddccddddddddccddddccddddddddccccddddddddddddddddccdddddddddcbsʅ`bdddccddddccddddddddddccccccddccccccccccccccccddccccccddddddccddddddccddccccddddddccdddddddba|˚yiccdddddddccddccccddccddccccddccccddccccddccccddddccddddccddccccccddddddddddddddddddccddccddccddccddccddccccddddccddddddddddcbcyհoabcccddddddccddccddccddddccddccddddccddddddddccccddccddccddccddddddccddddccddddddddccccddddddccccccccccccddddddddddddccccccddddccdcbl۶qabcddddccccccddccccccddccccddddddddddddccccccddddddccddddddccccddccddcccccbbxկoabcddddccddccccddccccddccddccddccddddccddccddccddddccccddddddccddddddccddccccddccccddccccddccddddccccccddddddccccddccccccddddccdddcbl۶qabcddddddccccccddddddccddddddddddccccddccddddccddccddddccccccccccddddddccddddddddddddddccddddddddddccddddddccddddddccey;xsnhebabbcdddccddddccccddddccccddddccccccccddddddddddccccccddccccccddccccccccccccddddccccccddddddddddccddddccccddccccccddddddccddddccddddddccccccccddddddccccccddccddccccddccddccddddccddddddccdcbp„dcdddccddddccddddccccccccccddccddccddddccccddccccddddddccccddccddccddccccccdddddddb`{Ҝyjcccddccccccccccddddccccccccccccccccddddccddddddccccccddccddccddccccdba{֧mbccddccddddccddddccccddccddccccccccccccccddccccccccccccddccddccddddccccddddccddfƇecdccccccddddddddccddddccddccddddccccccccddddccddddccddccccccddccccccccddccddccddddddccccddccddccddccccccccdcbj{ܹsbcdddccddccccccccccccddddccccddddccddccddccddddddddddccccccccccddccddccccccddccccccccddddccddddddccccccccddddccddccccccddccccccccddccccddddccddddddccddddccccccddccccccddccccddccccccccccddddccddddccddcccccj{ӟ{jbcdddddccccccddccccccddddccddddccddccddddccccccddccccccccccccddddccccddccccccccccccddccccddddccccccddddddccccddccccddccccddccccccddccccccddccccccccccccccddddccddccccccddccdddddddbaӰ|bbcccccddccccccccccccddddccccddccccccccccccddccccddddccccccddddddccccddccddddccccddccccddddccccccddccccccccccccccddddccddccccccddccddddddddccccccccddddccddddccddddccccddccccddccddccccccccccccddddccccccccccccccccddccccddddccccccddccccccddddddccddccccccddddccddccddddccccddddccccccccccccccddccddccddccddddccccccccddccccddddddccccccccccccccddddccddddccccccccddccddccddccddddddccddccccccddccca`ܹsbbcccccddccccccddccddddccccccccccccccccccccccddccccccccccccccddccccddddccccddccccddccccccccddddddccccccccddccccccccccccddccccddccccddccddddddccddddddddddddddccddddddddddddddddddddddddddddddddccccddddccddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddccddddccddddddddddddddddddddddddccdddddddddddddddddddddddcbsʅabdccccddccddccddddddddccddccddddccddddddddccddddddddddccccddccdddddddddddddddddddddddddddddba{׵iedddddddddddddccddddddddddddddddddddddddddddddddddddddddddddddddddddddddccddddccccddddddddddddddddddddddddddddddddccccddcccccdeŽnfccdccddddddddccccddddddddddddddddddccddddddddddddccccddccddddddddddddddddddddddddddddddddddddddddccddddddddddddddddddddddddccdddddccekʦxabdddccddddccddddddddccccccddddddddddddddddddddddddddccddddddddddddccdddddceŽnfccdddccddddccddccccddddddddddddddddddddddddddddddccddddddddddddddddddddccddddddddccddddddddddddddddddccddddddddddccddccddddddddddcccekʦx`acddccddddccddccccccddddddddddddddccddddddddccddddddddccddddddccddddddddddddddddddddddccddccddddddddddddccdddddddddcdiuƸujc`abbcddddccddddddddddddddddddccddccccddddddddddddccddddddddddccccddddddddddccddddccddddddddddddddddddddddddddddddddddddccddddddddddddddddddddddddddddddddddddddccddddddccddddddddddccdddddcblˍjedddccddccddddccccccddddccddccddddccddddccccddddddddddccccddddddccddddddccddddddca`̋hdccdddccddddddccddddddddccddddddccccddddccddccddccddddddddddccccddddcbbw۸rbbdccddddccddddddddccccddddddddddddddddccddddddddddccddddccddddddccddddddccdccht۸bbcddddccddddccddccccddccddccddddddddccddddddccccddddddccccddddddccccddccccccddddddddddddddccccddddccddccddcccj{ܹsbbcccccddddccccddccccddddddddddddccccccddddddccddddddddccddccddccccccccddccddccddccddddccccddddddccddccddccddccccccccddddccddddddddddddccddddccddccccddccccddccddccddccddddddddccddccddddccddddddddccdddddccj{ӟ{jbccccddddccddccddccccddccddccccddccddddddddccddddddddccccccccccddddddddddccccddddddccddddddddddccccddccddddccccccddddccccccddccccddccccddddddddddddddccddddddddddccdddddddddddddddb`԰|bbdccddddddddccccccccccccddddddccccccccddddccddccddddddccccddccddddccddccddddccccccccccddddddccddddddddddddddccddddddddddccddddddddddddddddddddccccddccddccccddccccddccddddccccccddddccddddddddddccddddddccddddddddccddddddddccccccddccddccddddccccccccddddddddddccccddddccddddddddccddccccccccccccccddddddddddccddddddddddddddccddccccccddddddccddddddddddddddccccddccccccccccddccccccddddddddccddda`ܹsbbcddddddddddccccccddccccddccddccccccccddccccddccddccccddddccccccddccddccddddddccccccccccccddddddddddccddddddccccccccddccccddccccccddccddddddccddddddddddddddccddddddddddddddddddddddddddddddddccccddddccddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddccddddccddddddddddddddddddddddddccdddddddddddddddddddddddcbsʅabdccccddccddccddddddddccddccddddccddddddddccddddddddddccccddccdddddddddddddddddddddddddddddba{ܿtabdddddddddddddccddddddddddddddddddddddddddddddddddddddddddddddddddddddddccddddccccddddddddddddddddddddddddddddddddccccddcccccfoȤw`bdddccddddddddccccddddddddddddddddddccddddddddddddccccddccddddddddddddddddddddddddddddddddddddddddccddddddddddddddddddddddddccddddddcbas۹fddddccddddccddddddddccccccddddddddddddddddddddddddddccddddddddddddccddddcfoɤw`bdddddccddddccddccccddddddddddddddddddddddddddddddccddddddddddddddddddddccddddddddccddddddddddddddddddccddddddddddccddccddddddddddccdb`s۹gdcddccddddccddccccccddddddddddddddccddddddddccddddddddccddddddccddddddddddddddddddddddccddccddddddddddddccdddddddddddb`n̻}xrkfcbbbbcddddddddddddddddddccddccccddddddddddddccddddddddddccccddddddddddccddddccddddddddddddddddddddddddddddddddddddccddddddddddddddddddddddddddddddddddddddccddddddccddddddddddccdddddcchtјthcddccddccddddccccccddddccddccddddccddddccccddddddddddccccddddddccddddddccdddddcccfā_acddddccddddddccddddddddccddddddccccddddccddccddccddddddddddccccddddccbsǣwabdccddddccddddddddccccddddddddddddddddccddddddddddccddddccddddddccddddddccdccmͩzbbcddddccddddccddccccddccddccddddddddccddddddccccddddddccccddddddccccddccccccddddddddddddddccccddddccddccddcccj{ܹsbbcccccddddccccddccccddddddddddddccccccddddddccddddddddccddccddccccccccddccddccddccddddccccddddddccddccddccddccccccccddddccddddddddddddccddddccddccccddccccddccddccddccddddddddccddccddddccddddddddccdddddccj{ӟ{jbbcccddddccddccddccccddccddccccddccddddddddccddddddddccccccccccddddddddddccccddddddccddddddddddccccddccddddccccccddddccccccddccccddccccddddddddddddddccddddddddddccdddddddddddddddb`԰|abdccddddddddccccccccccccddddddccccccccddddccddccddddddccccddccddddccddccddddccccccccccddddddccddddddddddddddccddddddddddccddddddddddddddddddddccccddccddccccddccccddccddddccccccddddccddddddddddccddddddccddddddddccddddddddccccccddccddccddddccccccccddddddddddccccddddccddddddddccddccccccccccccccddddddddddccddddddddddddddccddccccccddddddccddddddddddddddccccddccccccccccddccccccddddddddccdddb`ܹrbbcddddddddddccccccddccccddccddccccccccddccccddccddccccddddccccccddccddccddddddccccccccccccddddddddddccddddddccccccccddccccddccccccdddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddcbsʅabddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddba|П|jbcddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddcclѢkbcdddddddddddddddddddccddddddddddddddccdddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddcbiw˖thcdddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddcclѢkbcddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddcbiw˖thccdddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddccddddddddccddddddddddddddddddccdddddddddddddddddddddcbfo¶~oe`abbcddddddddddccddddddddccddddddddddddddddddddddddddddddddddddddddddddccddddddccddddddddddddddddddddddddddddccddddddddddddddddddddddddccddddddddddddddddddddddddddccddddddddddddddddddfեlbcdddddddddccddccddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddccchs۷}`bdccddccddddddddddddddddddddddccddddddddddddddddddddddddddddddccdddddcboհ|abdddddddddddddccddddddddddddddddddddddccdddddddddddddddddddddddddddddddddddcbqubbdddddddddddddddddddccccddddddddddddddddddddddddddddddddddddddddddddccddddddddddddddddddddddddccddddddccdddccj{ܹsbcdddccddddddddccccccddddddddddddddddddddddddddddddddddddddddccddddddddddddddddddddddddccddddddddddddccccddccddddccddddddddddddccddddddddddccddddccddddccddddddddddddddddddddddddddddddccdddddddddddddddddccj{ӟ{jcccddddddddddddddddddddddddddddccddddccddddddddddddddccddccddddccddddddddccddccccccddddddddddddddccddddddddddddccddddddddddddccddddddddddddddddddddddccddccdddddddddddddddddddddddb`ձ|bbdddddddddccccddccddddccddddddddddddccccccddddddddddddddccddddddddccddddddddddddddddccddddddddddddddddddddddccddccddddddddddddccddddddddddddddddccccddddddddddddccddccddddddddddddddccccccddddccddddddddccddddddddddddccddddddddddddccddddccccccccddccccccddccccddddddddccddddddddddccccddddddccddddddddddddddddccccddddccddddccddddccccddddccddddddddddddddddddddddddddddddccddddddddddddddddddccdb`ܹsbccddddccccddddddddddddddccddddddddddddddccccddddccccddddccddddddccccccddddddddddccccddddddccddddddddccddddddddddccddddccddddccdddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddcbs˅abddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddba|ݼjeddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddcbsۻjedddddddddddddddddddddccddddddddddddddccdddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddce֨mccddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddcbsۻieddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddce֨nccdddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddccddddddddccddddddddddddddddddccdddddddddddddddddddddddcbiyɶzupjebbccdddddccddddddddddddddddddddddddddddddddddddddddddddddddddddddccddddddccddddddddddddddddddddddddddddccddddddddddddddddddddddddccddddddddddddddddddddddddddccdddddddddddddddddb`ٱpbcdddddddddddddccddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddcccm̨yabdccddccddddddddddddddddddddddccddddddddddddddddddddddddddddddccdddddccjy༁bbdddddddddddddccddddddddddddddddddddddccdddddddddddddddddddddddddddddddddddbbuٱqbcdddddddddddddddddddccccddddddddddddddddddddddddddddddddddddddddddddccddddddddddddddddddddddddccddddddccdddccj{ܹsbcdddccdddddddddcccccddddddddddddddddddddddddddddddddddddddddccddddddddddddddddddddddddccddddddddddddccccddccddddccddddddddddddccddddddddddccddddddddddccdddddddddddddddddddddddddddddddddddddddddddddddddccj{ӟ{jcccddddddddddddddddddddddddddddccddddccddddddddddddddccddccddddccddddddddddddccccccddddddddddddddccddddddddddddccddddddddddddccddddddddddddddddddddddccddccdddddddddddddddddddddddbaϫzbbdddddddddccccddccddddccddddddddddddccccccddddddddddddddccddddddddccddddddddddddddddccddddddddddddddddddddddccddccddddddddddddccddddddddddddddddccccddddddddddddccddccddddddddddddddccccccddddccddddddddccddddddddddddccddddddddddddccddddccccccccddccccccddccccddddddddccddddddddddccccddddddccddddddddddddddddccccddddccddddccddddccccddddccddddddddddddddddddddddddddddddccddddddddddddddddddccdbaܹsbccddddccccddddddddddddddccddddddddddddddccccddddccccddddccddddddccccccddddddddddccccddddddccddddddddccddddddddddccddddccddddccddddddddddddddddddddddddddddddddddddddddddddddddddddddeeddddddddddddddddddddddddddeeddddddddddddddeeddddddddddddeeddddddddddddddeeddddddddddddddddddddddddeeeeddddddddddddddddddddddeedddddddddddddddddddddddcbs˅abdddddddddddddddddddddddddddddddeeddddddddeeddddeedddddddddddddddddddddddddddddddddddddddddba|ţzdcdddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddeeddddddddddddddddddddddddddddddeedba{xdcdddddddddddddddddddddddddddddddddddddddddddeeddddddddeeeeddddddddddeeddddddddddddddddddddddddddddddddddeedddddddddddddddddddddddddddddddccvܽtbcddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddba|xdcdddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddeeddddddddddddddddddddddeedddddddddddddddddccvܽtbcddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddccejsȼzi`abccddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddeedddddddddddddddddddddddddddddddddddddddddddddddddddddba|ܻtbcddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddcbqܻtbcddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddeiȇecddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddbbzԠ}kccddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddccj{ܹsbcddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddccj{ӟ{jccdddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddccdddddddddddddddddddddddddddddddddddddddb`šwbbdddddddddccddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddccddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddccddddccddddddddddddddddddddddddddddddddddccdddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddbaܹsbcdddddddddddddccddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddccddddddddccddddccddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddeeddddddddddddddddddddddddddeeddddddddddddddeeddddddddddddeeddddddddddddddeeddddddddddddddddddddddddeeeeddddddddddddddddddddddeedddddddddddddddddddddddcbs˅abdddddddddddddddddddddddddddddddeeddddddddeeddddeedddddddddddddddddddddddddddddddddddddddddbb|׭obcdddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddeeddddddddddddddddddddddddddddddedddgҦmccdddddddddddddddddddddddddddddddddddddddddddeeddddddddeeeeddddddddddeeddddddddddddddddddddddddddddddddddeedddddddddddddddddddddddddddddddccmѮ|ccdddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddgҥmbcdddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddeeddddddddddddeeddddddddddddddddddddddeedddddddddddddddddccmѮ|ccdddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddcceyп~xrlfcbbccdddeeddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddeedddddddddddddddddddddddddddddddddddddddddddddddddddddcbxǣwbcddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddcbvجoccddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddb`ϓogddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddba~Βogcdddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddccj{ܹsbcddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddccj{ӟ{jcddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddccdddddddddddddddddddddddddddddddddddddddb`ݾubcdddddddddccddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddccddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddccddddccddddddddddddddddddddddddddddddddddccdddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddbaܹsbcdddddddddddddccddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddccddddddddccddddccddddddddddddddddddddddddeeeeddddddddddeeddddeeeeddddddddddddddddddddddddddddddddddddddddddddddddddddeeeeddddddddddddddeeddeeddeeddddddddddddddddddddddddddddddddddeeddddddddeeeeddddddddddeeddddddddddddddddddeeeeeeddeedddddddcbs˅abdddeeddeeddddeeddddddddddddeeddeeddddddeeddeeddeeeeddeeeeddddddddddddddeeddddeeddeedddddddcb|͕rgcdeddddddeeddddddddddddddddddddeeddddddddddddddddddddddddddddddddddddddddddddddddddddeedddddddddddddddddddddddddddddddddddddddhtledddeeddddddddddddddddeeddddddddddddddddddeeddddddddddddddddddddddddddeeddddddddddddddddddddddddddddddddddddddddddddeeddddddddddddddddeeddddcelÆeddddddddddddeeddddddddddddddddddeeddddddddeeddddeeddddddddeedddddddddiukedddddddddddddddddddddddddddddeeddddeeddddddddddddddddeeddddddddddddddeeeeddddddddddddddddddddddddddddeeddddddddddddddddddddddddddddeeddeedddelÆeddddddeeeeddddddddddddeeddddddddddeeddddddddddddddddeeddddddddddddddddddddddddddddeeddeeddddddddddddddddddeeeeddeeddddddccciuɻ~oeabccdddddddddddddddddddddeeddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddeeeeddddddddddddddddddddddddddddeeddddddddddddctհ|acdddddddddddddddddddddddddddddddddeeddddddddddddddddddddddddddddddddddddddddecb|ӟ{jccdddddddddddddddddddddddddddddddddddeeddddddddddddddddddeeddddddeedddddca|դmdddddddddddddddeeddddddddddddddddddddddddddddddddddeedddddddddddddddddddddbaȈeddddddddddddddddddddddddddeeddddddddeeddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddeedddddddddk{ܺsbceddddeeddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddeeddddddeeddddddddddddddddddddddddddddddddddddddddeedddddccj{ӟ{jcddddddddddddddddddddddddeeddddddddddddddddddeedddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddbaܻtbcdddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddeeddddddddddddddddddddeeddddddddddddeeddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddeeddddddddddddddddddddddddddddeedddddddddddddddddddddddddddddddddddddddddddddddddddddddddbaܹsbcdddddddddddddddddddddddddddddddddddddddddddddddddddddddddeeddddddddddddddddddddddeeddddddddddddddddddddddddddddddddddddddddddddddddeeeeddddddddddeeddddeeeeddddddddddddddddddddddddddddddddddddddddddddddddddddeeeeddddddddddddddeeddeeddeeddddddddddddddddddddddddddddddddddeeddddddddeeeeddddddddddeeddddddddddddddddddeeeeeeddeeddddddddbs˅abdddeeddeeddddeeddddddddddddeeddeeddddddeeddeeddeeeeddeeeeddddddddddddddeeddddeeddeedddddddcb}྄edddeddddddeeddddddddddddddddddddeeddddddddddddddddddddddddddddddddddddddddddddddddddddeeddddddddddddddddddddddddddddddddddddddcn̨yabdddeeddddddddddddddddeeddddddddddddddddddeeddddddddddddddddddddddddddeeddddddddddddddddddddddddddddddddddddddddddddeeddddddddddddddddeedddddb`|Еqgcddddddddddeeddddddddddddddddddeeddddddddeeddddeeddddddddeedddddddccn̨xabdddddddddddddddddddddddddddddeeddddeeddddddddddddddddeeddddddddddddddeeeeddddddddddddddddddddddddddddeeddddddddddddddddddddddddddddeeddeedddba{Еqgcddddeeeeddddddddddddeeddddddddddeeddddddddddddddddeeddddddddddddddddddddddddddddeeddeeddddddddddddddddddeeeeddeedddddddddbal˶}wpjecccdddddddddddddddddeeddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddeeeeddddddddddddddddddddddddddddeeddddddddddddco༁ccdddddddddddddddddddddddddddddddddeeddddddddddddddddddddddddddddddddddddddddecc̓ogdddddddddddddddddddddddddddddddddddddeeddddddddddddddddddeeddddddeedddddcbxٳqcddddddddddddddeeddddddddddddddddddddddddddddddddddeeddddddddddddddddddddddg⾀abdddddddddddddddddddddddddeeddddddddeeddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddeedddddddddk{ܺsbceddddeeddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddeeddddddeeddddddddddddddddddddddddddddddddddddddddeeddddddck{ӟ{kcddddddddddddddddddddddddeeddddddddddddddddddeedddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddb`ܹsbcdddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddeeddddddddddddddddddddeeddddddddddddeeddddddddddddddddddddddddddddddddddddddddddddddddeeddddddddddddddddddddddddddddddddddddeeddddddddddddddddddddddddddddeedddddddddddddddddddddddddddddddddddddddddddddddddddddddddbaܹsbcdddddddddddddddddddddddddddddddddddddddddddddddddddddddddeeddddddddddddddddddddddeeddddddddddddddddddddddddddddddddddddddddddddddddeeeeddddeeeeeeddeeeeddeeeeddeeddddddeeeeddddddddddddddddeeddddddddddeeddeeeeddddeeddddddeeeeddddeeeeeeddddeeddddddddeeddeeeeddddddddddeeeeddddeeddddddeeddddeeeeddddddeeddddddddeeddeeeeeeeeddddddeeddedct˅abeeeeeddddddeeddddddddeeeeeeddeeddddeeeeeeddddddeeddddddddeeddeeeeddddddddddddeeddeedddddddcb}Ь|ccdddddeeeeddddeeddddeeddddeeeeeeddeeddddeeddddddddddddeeddddddddddddddddddeeddddddddddeeeeddeeddddddddddddeeeeddddddddddddddedcuخobcdeeddddeeddeeddeeddeeeeeeeeddeeeeddddddeeddeeddeeeeddeeddddddeeddddddddddeeeeddddeeddddddddeeeeeeeeddeeeeddddeeeeddeeeeeeeeddddddddeeddeeeeecbs֩ncddddddeeddddddeeeeddeeddddeeeeeeeeddddddddeeddddddeeddddeeddeeeedcbuخobcdddddddddddeeeeeeddddeeddeeddddddddddddddeeddddddddddddeeddeeddddddeeddddddeeddeeeeddddeeddddddddeeeeddeeeeeeddddeeddddddeeddddddddddddeedddcbs֩ncdeddeeddddddddeeddddeeddddddeeddeeddddddddddddeeeeeeddddddddeeeeddddeeddddddddeeddeeeeddddeeddddddddeeddddddeeeeddddeeddedcfnwôwjebcdddeeddddddeeddeeddddddeeddddddddddeeddddddddeeeeeeddddddddddeeeeddddddeeeeddddeeeeddddddeeddeeddddddddeeddddddeeddddddddddddeeddddddddddddddddeeddddeeeeeeeeddddedcj{ȈfddddddddddddddddddddddddddddeeddddddddddeeddddeeddeeeeddddddeeeeddddddddddddddeÆfddddddddddeeddddddddddeeeeddeeddddddddeeddeeeeddddddddddeeddeeddeeddddddddctvccdddeeeeddddddddddeeeeddddddddddeeeeddddddddddddeeddeeddddddddddeeeeeeddditհ|aceddeeddddddddeeeeddeeddddddddeeeeddddddddeeddddddddddddddddeeddddddddddddddddddddddddddddeeeeddddddddddeedddddk|ܹsccdddddddddddeeddeeddddddddddeeddddddddddeeddeeddddddddeeddddeeddeeddddddddddddddddddddddddddddddddddddddddddddddddddeeeeddeeddddddddddddddddddeeeeddddddddddddddddddddddeeddddeeddddddddddddddddddddeeeeeddk{ӟ{kdddddddddddddddddddddddddddddddddddddeeddddddddddddddddddddeeddddddddddddddddddddddddddddddddeeddddddddddddddddddddddddddddddddddddddddddddddddddeeddeeddddddddddddeeddddddddeeeedb`ܺsbcdddddddeeddddddddddeeeeddddddddddddddddddddddddddddddddeeeeddddddddddddddddddddddddddddddddddddeeddddddeeddddddddddddddddddddddddddddddeeeeddddddddddddddddddeeddddddddddddeeddddddddddddddddddddddddddddddddddeeddddeeddddddddddeeddddeeddddddeeddddeeeeeeddddddddddddeeddddddddeeddeeddddddddddeeddddddddddddddddddeeddddddddeeddddddddddddddddddddddddddddddddddddddddeedddddddddddddddddddddddbaܹsbcdddddddddddeeeeddddddddddeeddddeeddddddddddddddeeddddddeeddddddddddddddddddddddddddddddddddddddddddddddddddddddddeeddddeeddddddddddeeeeddddeeeeeeddeeeeddeeeeddeeddddddeeeeddddddddddddddddeeddddddddddeeddeeeeddddeeddddddeeeeddddeeeeeeddddeeddddddddeeddeeeeddddddddddeeeeddddeeddddddeeddddeeeeddddddeeddddddddeeddeeeeeeeeddddddeeddedctʅabeeeeeddddddeeddddddddeeeeeeddeeddddeeeeeeddddddeeddddddddeeddeeeeddddddddddddeeddeedddddddcb}ܻtccdddddeeeeddddeeddddeeddddeeeeeeddeeddddeeddddddddddddeeddddddddddddddddddeeddddddddddeeeeddeeddddddddddddeeeeddddddddddddddedc}Ȕtidddeeddddeeddeeddeeddeeeeeeeeddeeeeddddddeeddeeddeeeeddeeddddddeeddddddddddeeeeddddeeddddddddeeeeeeeeddeeeeddddeeeeddeeeeeeeeddddddddeeddeeeeeddl~ݽubcdddddeeddddddeeeeddeeddddeeeeeeeeddddddddeeddddddeeddddeeddeeeedcc|ȕtidddddddddddddeeeeeeddddeeddeeddddddddddddddeeddddddddddddeeddeeddddddeeddddddeeddeeeeddddeeddddddddeeeeddeeeeeeddddeeddddddeeddddddddddddeeddddcl~ݽubceddeeddddddddeeddddeeddddddeeddeeddddddddddddeeeeeeddddddddeeeeddddeeddddddddeeddeeeeddddeeddddddddeeddddddeeeeddddeeddeeddccewİwpjebcdddddddeeddeeddddddeeddddddddddeeddddddddeeeeeeddddddddddeeeeddddddeeeeddddeeeeddddddeeddeeddddddddeeddddddeeddddddddddddeeddddddddddddddddeeddddeeeeeeeeddddeddgpΐlfdddddddddddddddddddddddddddeeddddddddddeeddddeeddeeeeddddddeeeedddddddddddddgo۷~acdddddddddeeddddddddddeeeeddeeddddddddeeddeeeeddddddddddeeddeeddeedddddddddpϬ{bcdddeeeeddddddddddeeeeddddddddddeeeeddddddddddddeeddeeddddddddddeeeeeeddcmŢwbceddeeddddddddeeeeddeeddddddddeeeeddddddddeeddddddddddddddddeeddddddddddddddddddddddddddddeeeeddddddddddeedddddk|ܹsccdddddddddddeeddeeddddddddddeeddddddddddeeddeeddddddddeeddddeeddeeddddddddddddddddddddddddddddddddddddddddddddddddddeeeeddeeddddddddddddddddddeeeeddddddddddddddddddddddeeddddeeddddddddddddddddddddeeeeeddk{ӟ{kdddddddddddddddddddddddddddddddddddddeeddddddddddddddddddddeeddddddddddddddddddddddddddddddddeeddddddddddddddddddddddddddddddddddddddddddddddddddeeddeeddddddddddddeeddddddddeeeeddhܺsbcdddddddeeddddddddddeeeeddddddddddddddddddddddddddddddddeeeeddddddddddddddddddddddddddddddddddddeeddddddeeddddddddddddddddddddddddddddddeeeeddddddddddddddddddeeddddddddddddeeddddddddddddddddddddddddddddddddddeeddddeeddddddddddeeddddeeddddddeeddddeeeeeeddddddddddddeeddddddddeeddeeddddddddddeeddddddddddddddddddeeddddddddeeddddddddddddddddddddddddddddddddddddddddeedddddddddddddddddddddddbaܹsbcdddddddddddeeeeddddddddddeeddddeeddddddddddddddeeddddddeeddddddddddddddddddddddddddddddddddddddddddddddddddddddddeeddddeeddddddddddeeeeeeeeeeeeddeeeeeeeeeeeeeeeeeeddeeeeeeeeeeeeeeeeddddeeeeeeeeeeddeeeeddeeeeddeeeeeeeeeeeeeeeeeeeeeeeeddeeddeeeeeeeeeeeeddeeeeddeeeeeeeeeeeeeeeeeeeeddeeeeeeddeeeeeeddeeddddeeeeddeeddeeeeeeeeeeeeeeeeedct˅abeeeeeeeeeeeeeeeeeeeddeeeeeeeeddeeddddddeeeeeeeeddeeeeeeddeeeeeeddeeeeeeeeeeeeeeeeeeeeeeddecb}դmddeeeeeeeddeeeeddeeeeeeddeeddddeeeeeeeeddeeddeeddeeeeeeeeddeeddeeddeeeeddeeddddddeeeeeeddddeeddeeeeddeeddeeddddeeeeeeeeeeeeedddfѰgedddddeeeeeeeeeeeeeeddeeddeeddddeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeddeeeeeeddeeeeddeeeeeeddeeeeeeeeeeeeeeeeeeeeeeeeddeeddeeeeeeeeeeeeddddeedejѮ{bcdddeeeeddddddddddeeeeeeeeeeddddeeeeeeddeeddddddddeeddeeeeeeeeddddfѰgeeeeddddeeddddeeddeeddddddeeddddeeeeddddeeeeddeeddddeeeeeeeeeeeeddeeddeeddddeeeeddddddeeddeeddeeeeeeeeeeeeeeddddddeeddddeeeeddeeeeddeeeeddddeeeedejѮ{bbdeeddddeeddeeddeeddddeeddeeddddeeeeeeeeeeddeeeeeeeeeeddeeeeeeddddddeeeeddddddeeeeddddddddeeeeeeddddeeddeeddeeeeddddeeeeeedddddjtƳyiabcddddddeeddeeeeeeeeddeeddddeeeeddddddeeddddeeeeddeeeeeeeeeeddddeeeeddddddddddeeeeeeeeddddeeeeeeeeeeeeddeeeeeeeeeeeeddeeeeddddeeddddeeddeeeeeeddddeeeeeeeeddddeeedfњvjdddeeddeeeeeeddddeeeeeeeeeeeeddeeddddeeddddeeddeeeeeeeeddeeddeeeeddeedddddcclΪzbceddddeeeeeeeeeeddeeddddeeddeeddeeddeeddeeddddeeddddeeeeddeeddeeddddddeedddk{ༀabeddddeeeeeeddddeeeeddddddeeddeeddeeeeeeddddeeeeddeeddddeeddddeeeeeeddedbqڵrcdeeeeeddeeddddddeeddddeeddddddeeddeeeeddddeeeeeeeeeeddeeeeeeeeeeddeeddeeeeddddeeeeddddeeeeeeddddddddddeeddeeeddk|ܺtcdeddddddeeddeeddddeeeeddeeddddddeeddeeeeeeddddeeddeeeeeeddeeeeeeeeeeddeeddddeeddddeeeeeeddddeeeeddddddddeeddeeddddddeeddddeeeeddddddddddddddddddeeddddeeeeddddddddddddddddeeddddddddddddeeddddeeddeeeeddddck|ӟ|kdddddddeeddddddeeddddeeeeeeddddeeddddddddddeeddeeddddddddddddddddddddddeeeeeeddeeeeddeeeeddddeeeeddeeddeeddddddeeeeeeeeddddddeeeeeeddddddeeddeeddddddeeddddeeddddddddeeeeddeeddeddiuܹsbcdeeddddeeddddddddeeeeddddddddddeeddeeddddddeeeeddddddeeeeeeddeeddddeeddddeeeeddddddeeddddddddeeddddeeddeeeeeeeeddeeeeddddddeeeeddeeddeeeeddeeddeeddeeeeddeeeeeeddddddddeeeeeeddddddddeeeeddddeeddddddddeeddddddeeeeeeddddddddddddddddddddddddeeddddddddddeeeeeeeeeeeeeeddeeddddddddeeeeddeeddeeddeeddddddeeeeddddeeddddeeeeddeeddddddddddeeddddddeeddddddddddeeddeeddddeeddddeeeeddddddeeeedddddddbaܺsbcdddeeddddddddddddeeddddddddddeeeeeeddeeddddddeeddddddddddddddddddddeeddddddddeeddddddddddddddeeddddeeddddddeeddeeeeeeddddeedddddddeeeeeeeeeeeeeddeeeeeeeeeeeeeeeeeeddeeeeeeeeeeeeeeeeddeeeeeeeeeeeeddeeeeddeeeeddeeeeeeeeeeeeeeeeeeeeeeeeddeeddeeeeeeeeeeeeddeeeeddeeeeeeeeeeeeeeeeeeeeddeeeeeeddeeeeeeddeedddeeeeeddeeddeeeeeeeeeeeeeeeeedct˅aceeeeeeeeeeeeeeeeeeeddeeeeeeeeddeeddddddeeeeeeeeddeeeeeeddeeeeeeddeeeeeeeeeeeeeeeeeeeeeeddecb}˒ogdeeeeeeeeddeeeeddeeeeeeddeeddddeeeeeeeeddeeddeeddeeeeeeeeeeeeddeeddeeeeddeeddedddeeeeeeedddeeddeeeeeeeeddeeddddeeeeeeeeeeeeeddhqܺsbcdddddeeeeeeeeeeeeeeddeeddeeddddeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeddeeeeeeddeeeeddeeeeeeddeeeeeeeeeeeeeeeeeeeeeeeeddeeddeeeeeeeeeeeeddddeeeca|གྷdcdddeeeeddddddddddeeeeeeeeeeddddeeeeeeddeeddddddddeeddeeeeeeeedddhqܺsbceeeddddeeddddeeddeeedddddeeddddeeeeddddeeeeddeeddddeeeeeeeeeeeeddeeddeeddddeeeeddddddeeddeeddeeeeeeeeeeeeeeddddddeeddddeeeeddeeeeddeeeeddddeeeeeca|གྷdcdeeddddeeddeeddeeddddeeddeeddddeeeeeeeeeeddeeeeeeeeeeddeeeeeeddddddeeeeddddddeeeeddddddddeeeeeeddddeeddeeddeeeeddddeeeeeeddeeedbhtİ|slebcdddeeddeeeeeeeeddeeddddeeeeddddddeeddddeeeeddeeeeeeeeeeddddeeeeddddddddddeeeeeeeeddddeeeeeeeeeeeeddeeeeeeeeeeeeddeeeeddddeeddddeeddeeeeeeddddeeeeeeeeddddeeecbզmdddeeddeeeeeeddddeeeeeeeeeeeeddeeddddeeddddeeddeeeeeeeeddeeddeeeeddeedddddccqvcceddddeeeeeeeeeeddeeddddeeddeeddeeddeeddeeddddeeddddeeeeddeeddeeddddddeedddgpȈfdeddddeeeeeeddddeeeeddddddeeddeeddeeeeeeddddeeeeddeeddddeeddddeeeeeeddecbuեmddeeeeeddeeddddddeeddddeeddddddeeddeeeeddddeeeeeeeeeeddeeeeeeeeeeddeeddeeeeddddeeeeddddeeeeeeddddddddddeeddeeeddk|ܺtcdeddddddeeddeeddddeeeeddeeddddddeeddeeeeeeddddeeddeeeeeeddeeeeeeeeeeddeeddddeeddddeeeeeeddddeeeeddddddddeeddeeddddddeeddddeeeeddddddddddddddddddeeddddeeeeddddddddddddddddeeddddddddddddeeddddeeddeeeedddcck|ӟ|kdddddddeeddddddeeddddeeeeeeddddeeddddddddddeeddeeddddddddddddddddddddddeeeeeeddeeeeddeeeeddddeeeeddeeddeeddddddeeeeeeeeddddddeeeeeeddddddeeddeeddddddeeddddeeddddddddeeeeddeeddeddk}ܹsccdeeddddeeddddddddeeeeddddddddddeeddeeddddddeeeeddddddeeeeeeddeeddddeeddddeeeeddddddeeddddddddeeddddeeddeeeeeeeeddeeeeddddddeeeeddeeddeeeeddeeddeeddeeeeddeeeeeeddddddddeeeeeeddddddddeeeeddddeeddddddddeeddddddeeeeeeddddddddddddddddddddddddeeddddddddddeeeeeeeeeeeeeeddeeddddddddeeeeddeeddeeddeeddddddeeeeddddeeddddeeeeddeeddddddddddeeddddddeeddddddddddeeddeeddddeeddddeeeeddddddeeeedddddddbaܺsccdddeeddddddddddddeeddddddddddeeeeeeddeeddddddeeddddddddddddddddddddeeddddddddeeddddddddddddddeeddddeeddddddeeddeeeeeeddddeeddddddeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeedct˅aceeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeecb}྅fdeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeddnӟ{kcdeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeedbsɍjedeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeddnӟ{jcdeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeedbsɍjedeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeddeeeeeeeeeeedceioyı~jabddeeeeeeeeeeeeeeeeeeeeeddddeeeeeeeeeeeeeeeeddeeddddeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeddddeeeeeeeeeeeeeeddeeeeeeeeeeddecbzٳrcdeeeddeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeddeeeeeeddeeeeeeeeeeeeeeeeeeeeeeeeddecbvڳrccdddddeeddeeddeeeeeeeeeeeeeeeeeeeeeeddeeeeeeeeeeeeddeeeeddeeeeeeeeddeeeeddeefΓpgddeeeddeeddeeeeeeeeeeeeeeeeeeeeeeeeeeeeddeeeeeeddeeeeeeeeeeeeeeeeeedddcbyјuideeeeeeddeeeeddeeeeeeeeeeeeeeeeddeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeddeeeeeeeeeeeeddeeeeeeddeeeeeeeeeeeeeeeeeeeeeddk|ܺtcdeeeeeeeddddddddeeeeeeeeeeddddeeeeeeeeeeddddeeeeeeeeddeeeeeeeeddeeeeeeeeddeeddeeeeeeddeeddeeeeeeeeddeeeeeeddeeddddeeeeeeeeeeeeeeeeddddeeddddeeeeddeeddddeeddddeeeeeeddeeeeddeeddddeeeeeeeeeeeeeeeeeeeedddddk|ӟ{kcdeeeeeeeeeeeeeddeeeeddeeeeddeeddeeddddeeeeddddddeeeeeeddeeeeeeeeeeddddddddeeddeeeeddeeeeeeddeeeeeeeeeeeeeeeeddddeeeeeeeeddeeeeeeddeeeeeeeeeeddeeeeeeddeeddeeeeeeeeeeeeeeddeeddeddk|ܹtcdeeeddddeeeeeeddeeeeeeeeeeddeeeeddeeddeeeeeeeeeeeeddeeeeeeeeeeeeeeeeddeeeeeeeeeeddeeeeddddddeeddddeeddeeeeeeddddddddeeeeeeeeeeeeddeeddeeeeddddddeeeeeeeeddeeeeddeeeeeeeeddeeddeeddeeddddeeddeeeeddeeddddeeddeeeeeeeeddddeeeeddeeeeeeeeeeeeeeddddeeeeddeeddeeeeeeddddeeeeddeeeeddeeeeeeddddeeddeeeeeeddddeeeeddeeeeeeeeeeeeeeddeeeeeeddddeeeeddddeeddddddddddeeeeddeeeeeeeeeeeeddeeeeeeeeddddeeddeedbaܹsccdddddeeeeeeddeeeeddddddddddeeeeddddeeeeddeeeeddeeddeeddddeeeeeeeeeeeeddddddeeeeeeeeeeeeeeeeeeddddeeddeeeeeeddeeddeeddeeeeeeddeeddeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeedct˅aceeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeecb}Ѯ|bceeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeedcuŋkfeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeddl~ӝzjddeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeedcuŋjeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeddl~ӝzjddeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeddeeeeeeeeeeeeeedcbj~պ|slecddeeeeeeeeeeeeeeeeeeddddeeeeeeeeeeeeeeeeddeeddddeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeddddeeeeeeeeeeeeeeeeeeeeeeeeeeeeedcvvcceeeddeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeddeeeeeeddeeeeeeeeeeeeeeeeeeeeeeeeddecbzդmddddeddeeddeeddeeeeeeeeeeeeeeeeeeeeeeddeeeeeeeeeeeeddeeeeddeeeeeeeeddeeeeddeca~ԡ}lddeeeddeeddeeeeeeeeeeeeeeeeeeeeeeeeeeeeddeeeeeeddeeeeeeeeeeeeeeeeeedddcb|ˍkfeeeeeeeddeeeeddeeeeeeeeeeeeeeeeddeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeddeeeeeeeeeeeeddeeeeeeddeeeeeeeeeeeeeeeeeeeeeddk|ܺtcdeeeeeeeddddddddeeeeeeeeeeddddeeeeeeeeeeddddeeeeeeeeddeeeeeeeeddeeeeeeeeddeeddeeeeeeddeeddeeeeeeeeddeeeeeeddeeeeddeeeeeeeeeeeeeeeeddddeeddddeeeeddeeddddeeddddeeeeeeddeeeeddeeddddeeeeeeeeeeeeeeeeeeeedddddk|Ӡ{kcdeeeeeeeeeeeeeeeeeeeddeeeeddeeddeeddddeeeeddddddeeeeeeddeeeeeeeeeeddddddddeeddeeeeddeeeeeeddeeeeeeeeeeeeeeeeddddeeeeeeeeddeeeeeeddeeeeeeeeeeddeeeeeeddeeddeeeeeeeeeeeeeeeeeeddeddk{ܹtcdeeeddddeeeeeeddeeeeeeeeeeddeeeeddeeddeeeeeeeeeeeeddeeeeeeeeeeeeeeeeddeeeeeeeeeeddeeeeddddddeeddddeeddeeeeeeddddddddeeeeeeeeeeeeddeeddeeeeddddddeeeeeeeeddeeeeddeeeeeeeeddeeddeeddeeddddeeddeeeeddeeedddeeddeeeeeeeeddddeeeeddeeeeeeeeeeeeeeddddeeeeddeeddeeeeeeddddeeeeddeeeeddeeeeeeddddeeddeeeeeeddddeeeeddeeeeeeeeeeeeeeddeeeeeeddddeeeeddddeeddddddddddeeeeddeeeeeeeeeeeeddeeeeeeeeddddeeddeedcaܹscddddddeeeeeeddeeeeddddddddddeeeeddddeeeeddeeeeddeeddeeddddeeeeeeeeeeeeddddddeeeeeeeeeeeeeeeeeeddddeeddeeeeeeddeeddeeddeeeeeeddeeddeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeddt˅bceeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeecc}ݽucdeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeecb{ѯ~edeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeekڵrcdeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeecb{ѯ~edeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeejڵrcdeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeedcfluű~jabdeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeedcrΪzbceeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeecaϓpgeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeecbzٱqddeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeecbÅedeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeddk|ܺtddeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeddk|Ӡ|kddeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeddk|ܺtcdeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeecaܹtcdeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeddeeddeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeddddeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeddt˅bceeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeecc}׫oddeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeedeܼtcdeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeecaȤybceeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeedeܻtcdeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeecaȤxbceeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeddfsպ|slfcdeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeddm۸~bceeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeedfȈfdeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeedcvŸwcdeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeedfٶ~bceeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeddk|ܺtddeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeddk|Ӡ|lddeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeddk|ܺtcdeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeecbܹtcdeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeddeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeddeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeddtˆbceeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeecc}њvjddeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeefkդmddeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeedbyձ}bceeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeefkդmddeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeecbzձ}bceeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeiqyű~kbcdeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeddiuŃaceeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeegpགcceeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeedcrӰ}cceeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeedgpɥycdeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeddk|ܺtcdeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeddk|Ӡ|lddeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeddk|ܺtcdeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeecaܺtcdeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeddtˆbceeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeedc}ˎkfeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeejvɒpgeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeedcsངedeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeddjvɑpheeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeddtངedeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeddfqպ|rjfddeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeefk̋heeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeedk{Ӱ|bceeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeddmགddeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeedk|ܺtcdeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeedl|ܺtcdeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeddk|Ԡ|ldeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeddk|ܺtcdeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeecaܺtcdeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeddu˅bceeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeedc}Æeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeedo۹feeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeedlɍlfeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeddo۹geeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeddmɍlfeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeedehnu}ŰzjcddeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeedeљujeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeedpŸwcdeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeedgpȈfeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeedpحpddeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeedl|ܺuddeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeedk|Ӡ|leeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeddk|ܺuddeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeecaܺtcdeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeddu˅bdeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeedc}ٶ~cdeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeedct˧ybceeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeehpњwjdeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeedcu˧ycdeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeehpњwjeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeddbakԵxnhedeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeedb~դmdeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeedduڳrddeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeefДpheeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeduӠ|kdeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeedl|ܺuddeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeedl|Ӡ|leeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeddk|۷sddeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeecbܺtcdeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeffeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeffeeffeeeeeeeeffeeeeeeedct˅bdeeeeeeeeeeeeefffeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeffeeeeeeeeeeeeeeeeeeeeeeedc}ɥycdeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeedcz۷scdeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeef׫pdeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeedcz۷sddeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeef׫pdeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeedcfmszͻpgdeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeedcyخqddeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeedczզndeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeddդmdeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeedcyϒngeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeedl}ܺtddeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeel|Ԡ}leeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeedl|ذqdeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeecbܺudeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeffeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeffeeffeeeeeeeeffeeeeeeeedtˆbdeeeeeeeeeeeeeffffeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeffeeeeeeeeeeeeeeeeeeeeeeedc}ܺudeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeddӢmeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeedc|ܺudeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeddӢmeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeedb|ܺuddeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeedcgpƨ~rjeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeedctܺuddeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeddЙujeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeedc}ڳrdeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeecb}ƈfeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeddl}ܺtddeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeel|Ӡ}leeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeedl|دqdeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeedbܺudeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeffffeeeeffeeeeffeeeeffeeeeffffeeffeeeeffeeffffeeeeeeeeffeeeeeeeeeeffffeeeeffffffffeeeeeeeeeeeeffeeeeffffeeffeeffeeffffeeeeeeffffffffeeffeeeeeeeeeeffeeffeeffffffeeeeeeffeeffffeeffeeeeffffeeffeeffeeeeduˆbdfeeeeeeeeffffeeeeffeeeeeeffeeeeffffeeeeffeeeeffeeeeeeeeeeffeeeeeeeeffeeeeeeffeeffeeffeeeefdc}حpdeeffeeeeeeffeeeeeeeeeeeeeeffeeeeffeeeeffeeeeeeffeeeeeeeeeeeeeeffeeeeeeeeeeffeeeeeeeeffeeeeeeeeeeeeeeeeeeffeeffeeffeeeeffeefffegʍkfeeeeeeeffeeeeeeeeffeeeeeeeeeeeeeeeeffeeffeeeeffeeeeffeeffffeeeeeeffeeeeeeeeeeeeeeffeeeeffeeeeffffffeeeeeeeeeeffeeffeeeeeeeeeeffeeeeeeeeeeeeeeeeefffeeeeeeedcwȤyddeeeeeeeeeeeeeeeffeeeeeeeeffeeeeffffeeffeeffeeffffeeffeeeegʍkfeefffffeeeeeeeeeeeeeeeeffeeeeffeeeeeeeeeeeeeeefffeeeeeeeeeeeeeeeeffeeeeeeeeeeeeeeeeeeeeeeeeeeeeffeeeeffffeeeeeeeeeeffeeeeeeffeeeeffeeeeeeeeffeeffeeffeeeeedcwȤycdeeeffeeeeeeeeeeeeffffeeffeeeeffeeeeeeeeffeeffeeeeeeeeeeeeeeffeeeeeeeeeeeeeeeeffeeeeeeeefffeeeeeeeeeeeffeeeeeeeeeeeeeeeeeeeeffeeeeffeeeeeeeeeeeedehmu{ūugeeeeeeeeeeeeeeeeeeeeeeeeeeeeffeeeeeeeeeeffeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeffeeeeeeeeeeffeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeddpǤyddeeeeeeeeeeeeeeeeeeeeeffeeeeeeeeeeeeeeeeffeeeeeeeeeeeeeeeeffeeeeeeeeeefȊheeeeeeeeeeeeeeeeeeffffeeeeeeeeeeeeffeeeeeeeeeeeeeeeeeeeeeeffeeeeeeeeeeffeeffeeeeeedwvddeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeecb۸ddeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeffeeeeeeeeeeeeeeeeeeeeeeeeedel}ܺudeeeeeeeeeeeeeeeeffeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeel}Ӡ}ldeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeel|۷sdeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeecbܺudeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeffffeeeeffeeeeffeeeeffeeeeffffeeffeeeeffeeffffeeeeeeeeffeeeeeeeeeeffffeeeeffffffffeeeeeeeeeeeeffeeeeffffeeffeeffeeffffeeeeeeffffffffeeffeeeeeeeeeeffeeffeeffffffeeeeeeffeeffffeeffeeeeffffeeffeeffeeeeduˆbdfeeeeeeeeffffeeeeffeeeeeeffeeeeffffeeeeffeeeeffeeeeeeeeeeffeeeeeeeeffeeeeeeffeeffeeffeeeefdc~Ԡ|leeeffeeeeeeffeeeeeeeeeeeeeeffeeeeffeeeeffeeeeeeffeeeeeeeeeeeeeeffeeeeeeeeeeffeeeeeeeeffeeeeeeeeeeeeeeeeeeffeeffeeffeeeeffeefeehoཀbcfeeeeeeffeeeeeeeeffeeeeffeeeeeeeeeeffeeffeeeeffeeeeffeeffffeeeeeeffeeeeeeeeeeeeeeffeeeeffeeeeffffffeeeeeeeeeeffeeffeeeeeeeeeeffeeeeeeeeeeeeeeeeffffffeeeeeedrֳ~cdeeeeeeeeeeeeeeeffeeeeeeeeffeeeeffffeeffeeffeeffffeeffeeehoཀbceffffffeeeeeeeeeeeeeeeeffeeeeffeeeeeeeeeeeeeeffffeeeeeeeeeeeeeeeeffeeeeeeeeeeeeeeeeeeeeeeeeeeeeffeeeeffffeeeeeeeeeeffeeeeeeffeeeeffeeeeffeeffeeffeeffeeeeeedrֳ~cdeeeffeeeeeeeeeeeeffffeeffeeeeffeeeeeeeeffeeffeeeeeeeeeeeeeeffeeeeeeeeeeeeeeeeffeeeeeeeeffffeeeeeeeeeeffeeeeeeeeeeeeeeeeeeeeffeeeeffeeeeeeeeeeffffeedcbk̲rjeeeeeeeeeeeeeeeeeeeeeeeeeeffeeeeeeeeeeffeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeffeeeeeeeeeeffeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeel|ձ}cdeeeeeeeeeeeeeeeeeeeeeffeeeeeeeeeeeeeeeeffeeeeeeeeeeeeeeeeffeeeeeeeeeho⿁bdeeeeeeeeeeeeeeeeeffffeeeeeeeeeeeeffeeeeeeeeeeeeeeeeeeeeeeffeeeeeeeeeeffeeffeeeeeedsЬ{cdeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeegΫ{cdeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeffeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeffeeeeeeeeeeeeeeeeeeeeeeeeeeel}ܺudeeeeeeeeeeeeeeeeffeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeffeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeel}Ԡ}ldeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeel|ܺudeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeecbܺudeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeffffffffeeffeeffeeeeffeeeeffffffffeeffffeeeeeeeeffeeeeeeffeeffeeeeeeffffffeeffeeffeeffeeffffffffffeeffffeeffeeeeffffffffeeeeffeeffeeeeeeffffffffffffffeeffffffeeffffffffeeeeffeeeeffffeeffffffeeeeeefeduˆbdfeeeeeeffffffeeffffffffffffeeeeffffffeeffffffffffffffeeffffeeffffffffeeffeeffffffffeeeefffec}ϒoheefffffeeeeffffeeffffffeeeeffeeffffffeeffffeeffffeeeeffeeffeeffeeffffffeeeeffffffffffeeffffffffffffffffffffeeeeffeeeeeeffffeeel|Ь{cdeffffeeeeffeeffffffeeffffeeffffffffffeeeeffffffeeffffffffffeeeeffffffffffffeeeeffffffeeffeeffffffffffeeffffffffffffffffeeffffeeffeeeeeeffffffeeffffeefffffeem~Ãbcfeeffffeeffeeffffffffeeeeffffffffffeeffffffeeffffeeeeeeel|Ь{bdfffeeffffffeeffeeeeffffffeeeeffeeffffeeeeffeeffffffffffffffffffffeeeeeeeeeeeeeeeeeeffeeffeeeeeeffffffffffeeffeeffeeeeeeffffeeffeeffffeeffeeeeffffffeeffeefeem~Ãbceeeffeeeeffeeffffffeeffffeeeeffeeffffffeeeeeeeeffffeeffffeeffffeeeeeeffffffffeeffffffffffffffffffffffeeffeeffffffeeeeeeeeffffffeeffffffeeffeeeeeeeeeddfmsxɰuideeeeffeeffffeeffeeeeeeffffffffffeeffffeeeeeeeeffeeeeffeeeeeeeeeeffeeffffeeffffeeeeeeeeffeeeeffffeeffeeeeffeeffeeffeeeeffffeeffffffeeeeeeeeeho⿂bdeeeffeeeeffeeeeffffffffffeeeeffeeeeeeffffeeffeeffffffeeeeffffeefffeel|ձ}cdfeeffffffffffeeeeffeeeeeeffffeeeeffeeeeeeeeffeeeeffeeeeeeffffffeeeeeeeeeeeeeefffeenཁbdfffeeeeeeeeeeeeffffeeffeeeeffeeeeffeeeeffffeeeeeeeeffffffeeeefeehqwdeeeeeeeeeeeeeeffeeffffeeeeeeeeffeeeeffeeeeeeffeeeeffffffeeffffffffeeeeeeffeeffeeffffeeeeeeeeeeffffffeeffeeeeeeeeeeel}ܺudeeeeeeeeeeeeeeeeeeffeeeeeeffffffeeffffffffffeeffeeffeeffffffffeeeeeeeeeeffeeffeeeeeeeeeeeeeeffffeeeeeeeeeeeeeeffffeeffeeeeffeeffeeeeffeeeeeeeeeeeeeeeeffffeeeeeeeeeeeeeeffffeeeeeeeeeeffeeffeeeeeeeeeeeeeeel}Ԡ}leeeeeeeeeffeeeeeeeeffffeeffffeeeeeeffffffffeeffeeeeeeeeffeeeeffffffeeeeeeeeeeeeeeeeeeeeeeffffeeeeeeeeffeeeeffeeeeeeeeeeeeeeffffeeeeffeeffffeeffeeeeeeffeeeeeeeeeeffeeeeeeeeeeffeeel}ܺudefffeeeeffeeffeeffffeeffeeeeffeeeeeeeeeeffeeeeeeffffeeeeeeeeeeeeeeeeffeeeeeeeeffeeeeffffeeeeeeffeeffffeeffeeffffeeeeeeeeeeeeeeeeeeeeeeeeffeeeeeeeeeeffeeeeeeeeeeffeeffffeeffffffffeeeeeeeeeeeeeeeeffeeeeffeeeeeeeeeeeeeeffffeeeeeeeeeeeeeeeeffeeeeeeeeeeeeeeeeeeeeeeeeffeefffeeeffffeeeeeeeeeeffeeeeeeffeeeeffeeeeeeeeffeeffffffeeeeeeeeeeeeffeeeeeeeeeeeeeeeeeeeeffffeeeeffeeeeeeffeeeeeeeeeeeeeeecbܺudeeeeeeffeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeffeeeeeeeeeeffeeeeeeeeeeeeeeeeeeeeffeeeeeeffeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeffeeffeeeeeeeeffffffffeeffeeffeeeeffeeeeffffffffeeffffeeeeeeeeffeeeeeeffeeffeeeeeeffffffeeffeeffeeffeeffffffffffeeffffeeffeeeeffffffffeeeeffeeffeeeeeeffffffffffffffeeffffffeeffffffffeeeeffeeeeffffeeffffffeeeeeefeduˆbdfeeeeeeffffffeeffffffffffffeeeeffffffeeffffffffffffffeeffffeeffffffffeeffeeffffffffeeeefffed}ȉgeeefffffeeeeffffeeffffffeeeeffeeffffffeeffffeeffffeeeeffeeffeeffeeffffffeeeeffffffffffeeffffffffffffffffffffeeeeffeeeeeeffffeedqݿvdeeffffeeeeffeeffffffeeffffeeffffffffffeeeeffffffeeffffffffffeeeeffffffffffffeeeeffffffeeffeeffffffffffeeffffffffffffffffeeffffeeffeeeeeeffffffeeffffeefffffeeiq̌iffeeffffeeffeeffffffffeeeeffffffffffeeffffffeeffffeeeeeedq޿vdefffeeffffffeeffeeeeffffffeeeeffeeffffeeeeffeeffffffffffffffffffffeeeeeeeeeeeeeeeeeeffeeffeeeeeeffffffffffeeffeeffeeeeeeffffeeffeeffffeeffeeeeffffffeeffeefeehq̌ieeeeffeeeeffeeffffffeeffffeeeeffeeffffffeeeeeeeeffffeeffffeeffffeeeeeeffffffffeeffffffffffffffffffffffeeffeeffffffeeeeeeeeffffffeeffffffeeffeeeeeeffffeeeddflwұrjfeeffeeffffeeffeeeeeeffffffffffeeffffeeeeeeeeffeeeeffeeeeeeeeeeffeeffffeeffffeeeeeeeeffeeeeffffeeffeeeeffeeffeeffeeeeffffeeffffffeeeeeeffeegȇeeeeeffeeeeffeeeeffffffffffeeeeffeeeeeeffffeeffeeffffffeeeeffffeefffeeqƣydefeeffffffffffeeeeffeeeeeeffffeeeeffeeeeeeeeffeeeeffeeeeeeffffffeeeeeeeeeeeeeefffeejvȉgefffeeeeeeeeeeeeffffeeffeeeeffeeeeffeeeeffffeeeeeeeeffffffeeeefeel|ٲrdeeeeeeeeeeeeeeffeeffffeeeeeeeeffeeeeffeeeeeeffeeeeffffffeeffffffffeeeeeeffeeffeeffffeeeeeeeeeeffffffeeffeeeeeeeefeel}ܺudeeeeeeeeeeeeeeeeeeffeeeeeeffffffeeffffffffffeeffeeffeeffffffffeeeeeeeeeeffeeffeeeeeeeeeeeeeeffffeeeeeeeeeeeeeeffffeeffeeeeffeeffeeeeffeeeeeeeeeeeeeeeeffffeeeeeeeeeeeeeeffffeeeeeeeeeeffeeffeeeeeeeeeeeeeeel}Ԡ}leeeeeeeeeffeeeeeeeeffffeeffffeeeeeeffffffffeeffeeeeeeeeffeeeeffffffeeeeeeeeeeeeeeeeeeeeeeffffeeeeeeeeffeeeeffeeeeeeeeeeeeeeffffeeeeffeeffffeeffeeeeeeffeeeeeeeeeeffeeeeeeeeeeffeeel}ܺudefffeeeeffeeffeeffffeeffeeeeffeeeeeeeeeeffeeeeeeffffeeeeeeeeeeeeeeeeffeeeeeeeeffeeeeffffeeeeeeffeeffffeeffeeffffeeeeeeeeeeeeeeeeeeeeeeeeffeeeeeeeeeeffeeeeeeeeeeffeeffffeeffffffffeeeeeeeeeeeeeeeeffeeeeffeeeeeeeeeeeeeeffffeeeeeeeeeeeeeeeeffeeeeeeeeeeeeeeeeeeeeeeeeffeeffffeeffffeeeeeeeeeeffeeeeeeffeeeeffeeeeffeeffeeffffffeeeeeeeeeeeeffeeeeeeeeeeeeeeeeeeeeffffeeeeffeeeeeeffeeeeeeeeeeeeeeedbܺudeeeeeeffeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeffeeeeeeeeeeffeeeeeeeeeeeeeeeeeeeeffeeeeeeffeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeffeeffeeeeffffffffeeffffffffffffffffffffffffffffffffffffffeeffffffffffffffffeeffffffffffffffffffffffeeffffeeffeeffffffffffffffffffffffffffffeeffffffffffffffffffffffffffffffffffffffffffffffffffeeffeefffffffffffffeduˆcdfffffffffffffffffffffffffffffffffffffffffffffffffffeeffffffeeffffffffeeffffffffeefffffffffed~གྷddeffffffffffffffffffffffffffffffffffffffffeeffffffffffffffffeeffffffffeeffffffffffeeffffffffffffffffffffffeeffffffffffffffffeddvدqdefffffffffffeeffffffffffffffffffffffffffffeeffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffeeffffffffeeeeffffeeffffeeffffffffffffffffffffeefffffegљvjeefeeffeeeeffffffffffffffffeeffeeffffffeeffeeffffffeefedvدqeefffeeffffffffffffeeffffffffffffeeeeffffffeeffeeffffffffffffeeffffffffffffffffeeffffffffeeffffffffffffffeeffffeeffffeeeeffffffffffffffffeeeeffffffeeffffffffeegљvjeefeeffffffffffffffffeeffffffffffffffffeeffffffffffffeeeeffeeffffffffffffeeffffffffffffffffffffffffffffffffffffffffffffffffffffffeeeeffeeffffffeeffffeeeedegkpu|ǫugeeffeeffffffffffffeeffffffffffeeffffffffffffeeffffffeeeeffffffffffffeeffffffffffffeeffffffffffffffffffffffffeeffffeefffffffffffffffffffffed͏lgeffffffeeffffffffffffffffffffffffffeeffeeeeffeeffffffffffffeeeefffedvڵseefeeffffeeffffffffffffeeffeeeeffeeffffffffffffffeeffffffffeeeeeeffffffffeeffffffffffiϔqieeeeeffffffffffeeffeeffffeeffffffffeeffffffffeeffffffffffeefffeepԢ~meeeffffffffffeeffffffffffffeeffffffffffffffeeffeeffffeeffffffeeffffffffffffffeeeeffffeeffffeeffffeeeeffffffeefffffeel}ܺudefffffeeffffffffeeeeeeffffeeffffffffffffeeffeeffffffffeeffffeeffeeffffffffffffffeeffeeffffffeeeeffeeeeffeeeeeeeeffffffffffffffffffffeeffeeffeeffffeeffffeeffeeeeeeffeeffffffffffeeeeffffffeeffffeeffffeeeeel}Ԡ}leefeeffeeffeeeeffffeeffeeffffffeeffeeffffeeeeeeeeeeffeeffffffffeeeeffffeeeeffffffeeeeeeffffffffffeeeeeeffffffffeeeeeeeeffffffeeffffffffeeffffffffeeffeeffffeeffffeeffffffffffeefeel}ܺudeeffeeffeeffeeffeeffffffffeeffffeeffffffeeeeeeffffffffffffffeeeeeeffffffffeeeeffffffffffeeffffffeeffffffeeffeeeeffeeffffeeffffeeffeeeeffeeffffffffeeffffeeeeffeeffffffffffffffeeeeeeffffffeeeeffffeeffeeeeeeffffeeeeffeeffeeffeeffffffffffffffffeeeeffeeeeffeeffeeffeeeeeeffffeeffeeeeffffeeffeeeeffffeeeeffffeeeeffeeffffffeeeeffffeeffffffffeeeeeeeeeeeeffffeeffeeffeeeeeeffeeffffffffeeffffeeffedbܺudeeffffffeeffeeeeffffeeffffffffeeeeeeeeffffeeffffeeffffeeeeffffeeffeeffeeeeeeffeeeeffffeeffeeffeeeeeeeeffeeeeffffeeeeffffeeeeffffffffffffffeeffffffffffffffffffffffffffffffffffffffeeffffffffffffffffeeffffffffffffffffffffffffffffeeffeeffffffffffffffffffffffffffffeeffffffffffffffffffffffffffffffffffffffffffffffffffeeffeefffffffffffffeduˆcdfffffffffffffffffffffffffffffffffffffffffffffffffffeeffffffeeffffffffeeffffffffeefffffffffed~ձ~cdeffffffffffffffffffffffffffffffffffffffffeeffffffffffffffffeeffffffffeeffffffffffeeffffffffffffffffffffffeeffffffffffffffffedc{ӟ{leefffffffffffeeffffffffffffffffffffffffffffeeffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffeeffffffffeeeeffffeeffffeeffffffffffffffffffffeefffffdcզoeefeeffeeeeffffffffffffffffeeffeeffffffeeffeeffffffeefdc{ӟ{leefffeeffffffffffffeeffffffffffffeeeeffffffeeffeeffffffffffffeeffffffffffffffffeeffffffffeeffffffffffffffeeffffeeffffeeeeffffffffffffffffeeeeffffffeeffffffffedcզoeefeeffffffffffffffffeeffffffffffffffffeeffffffffffffeeeeffeeffffffffffffeeffffffffffffffffffffffffffffffffffffffffffffffffffffffeeeeffeeffffffeeffffeeffeeeeedcflx̳qifeeeffffffffffffeeffffffffffeeffffffffffffeeffffffeeeeffffffffffffeeffffffffffffeeffffffffffffffffffffffffeeffffeefffffffffffffffffffffec}њvjeefffffeeffffffffffffffffffffffffffeeffeeeeffeeffffffffffffeeeefffdc{զneefeeffffeeffffffffffffeeffeeeeffeeffffffffffffffeeffffffffeeeeeeffffffffeefffffffffdcԠ}meeeeeffffffffffeeffeeffffeeffffffffeeffffffffeeffffffffffeefffeduϔqieeeffffffffffeeffffffffffffeeffffffffffffffeeffeeffffeeffffffeeffffffffffffffeeeeffffeeffffeeffffeeeeffffffeefffffeel}ܺudefffffeeffffffffeeeeeeffffeeffffffffffffeeffeeffffffffeeffffeeffeeffffffffffffffeeffeeffffffeeeeffeeeeffeeeeeeeeffffffffffffffffffffeeffeeffeeffffeeffffeeffeeeeeeffeeffffffffffeeeeffffffeeffffeeffffeeeeel}Ӡ}leefeeffeeffeeeeffffeeffeeffffffeeffeeffffeeeeeeeeeeffeeffffffffeeeeffffeeeeffffffeeeeeeffffffffffeeeeeeffffffffeeeeeeeeffffffeeffffffffeeffffffffeeffeeffffeeffffeeffffffffffeefeel}ܺudeeffeeffeeffeeffeeffffffffeeffffeeffffffeeeeeeffffffffffffffeeeeeeffffffffeeeeffffffffffeeffffffeeffffffeeffeeeeffeeffffeeffffeeffeeeeffeeffffffffeeffffeeeeffeeffffffffffffffeeeeeeffffffeeeeffffeeffeeeeeeffffeeeeffeeffeeffeeffffffffffffffffeeeeffeeeeffeeffeeffeeeeeeffffeeffeeeeffffeeffeeeeffffeeeeffffeeeeffeeffffffeeeeffffeeffffffffeeeeeeeeeeeeffffeeffeeffeeeeeeffeeffffffffeeffffeeffedbܺudeeffffffeeffeeeeffffeeffffffffeeeeeeeeffffeeffffeeffffeeeeffffeeffeeffeeeeeeffeeeeffffeeffeeffeeeeeeeeffeeeeffffeeeeffffeeeefffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffeeuˆcdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffed~Ȥzdeffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdc͎jgfffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffeefffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffed|ڴseefffffffffffffffffffffffffffeefffffffffffffffffffffffec͍jffffffffffffffffffffffeeffffeeffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffeeffffffffffffffeefffffffffffffffffffffffffffffffffffffffffffffed|ڳseefffffffffffffffffffffffffffeeffffffffffffffffffffffffffffffffeeffffffffffffffffffffffffffffffffffffffffffffffeefffffffffffffffffffffffffffffffffffffffffffeeedegkpv}ɮpheefffffffffffffffffffffffffffffeeffffffffffffffffffffeeffffffffffffeeffffffffffffffffffffffffffffffffffffffffffffffffffffffeeffffffeefedwզneefeefffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdcљujeffffffffffffffffffffffffffffffffffeefffffffffffffffffffffffffffffffffffffffffffffffec}حqeefffffffffeeffeeffffffffffffffffffffffffffffffffffffffeefffffedyȉgefffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffeeffffffffffffffffeeffffffffeefffffffffffffffffffeel}ܺudefffffffffeeeeffffffffffffeeeeeeeeffffffffffffffffeeffffffffeeffffffffffeeffffffffffffffffffffffeeeeffffffffffffffffffffffffffffffeeffffffffffffffeeffffffffffffffffffffffffffffffffffffffffffffffffffffeeel}Ӡ}leeeffffffffffffffffffffffffffffffffffffffffffffffffffffffffeeffffffffffffffeeffffffffffffffffffffffffffffeeffffffffffffffffffffffffeeffffffffffffffffeeeefffffffffffffffffffffffeel}ܺueefffffeeeeffeeffffffeeffffffeeffeeffffffffffffffffffffffffffeeffffffffffffffffffffffeeffffffffffeeffffffeeffeeeeffffffffffffffffeeffffffeeeeffffffffffffffffffffffffffffffffffffffffffffffffeeffeeffffffffeeeeffffffffffffffffffeeffffffffffffffffffffffeeffffffeeeeffffeeffffffffeeffffeeffffeeeeffffffeeeeeeffffeeeeffffffeeffffeeffeeffffffffffffeeeeffffffffffffffffffffffffeeffffffffffffffffedcܺudefffffffeeffeeffeeffffffffffeeffffffffffffffeeeeffffffeeffffeeeeeeffffffffffffffeeeeffffffffeeffffffffffffffffffeeffffffffeeffeefffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffeeuˆcdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffed~ܺueeffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffefÃbdfffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffeefffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffedwwdeffffffffffffffffffffffffffffffffffffffffffffffffffffefÃbdfffffffffffffffffffffeeffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffeeffffffffffffffeefffffffffffffffffffffffffffffffffffffffffffffeewwdefffffffffffffffffffffffffffeeffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffeeffffffffffffffffffffffffffffffffffffffffffffffeeeeeddflxЬ|ngeefffffffffffffffffffffffffffeeffffffffffffffffffffeeffffffffffffeeffffffffffffffffffffffffffffffffffffffffffffffffffffffeeffffffeefeesڳseefeeffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffhˎlgfffffffffffffffffffffffffffffffffffeefffffffffffffffffffffffffffffffffffffffffffffffedyܼvdefffffffffeeffeeffffffffffffffffffffffffffffffffffffffeefffffec}ཁcdfffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffeeffffffffffffffffeeffffffffeefffffffffffffffffffeel}ܺudefffffffffeeeeffffffffffffeeeeeeeeffffffffffffffffeeffffffffeeffffffffffeeffffffffffffffffffffffeeeeffffffffffffffffffffffffffffffeeffffffffffffffeeffffffffffffffffffffffffffffffffffffffffffffffffffffeeel}Ӡ}leeeffffffffffffffffffffffffffffffffffffffffffffffffffffffffeeffffffffffffffeeffffffffffffffffffffffffffffeeffffffffffffffffffffffffeeffffffffffffffffeeeefffffffffffffffffffffffeekzܺueefffffeeeeffeeffffffeeffffffeeffeeffffffffffffffffffffffffffeeffffffffffffffffffffffeeffffffffffeeffffffeeffeeeeffffffffffffffffeeffffffeeeeffffffffffffffffffffffffffffffffffffffffffffffffeeffeeffffffffeeeeffffffffffffffffffeeffffffffffffffffffffffeeffffffeeeeffffeeffffffffeeffffeeffffeeeeffffffeeeeeeffffeeeeffffffeeffffeeffeeffffffffffffeeeeffffffffffffffffffffffffeeffffffffffffffffedcܺudefffffffeeffeeffeeffffffffffeeffffffffffffffeeeeffffffeeffffeeeeeeffffffffffffffeeeeffffffffeeffffffffffffffffffeeffffffffeeffeeffffffffffffffffffffffffffffffffffffffffffffffffggfffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffeeuˆcdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffed~حqefffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffgmֳ~ceffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffeesΫ|deffffffffffffffffffffffffffffffffffffffffffffffffffffgmֳ~ceffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffeesΫ{defffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffeeeegkquz¡ndeffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffeenwdeffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffiqÆfeffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffeeuͩ{deffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdcЭ|ddffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffeem}ܺueefffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffeefffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffeem}Ӡ}meefffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffejsܺueefffffffffffffffffffffffffffffffffffffffffeeffffffffffffffeeffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffeeffffffffffffffffffffffffffffffffffeeffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffeeffffffffffffffffffffffffffffffffffffffffffffffffeefffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdcܺueefffffffffffffffffeeffffffffffffffffffeeffffffffffffffffffffffffeeffffffffffffffffeeffffffeeffffffffffffffeeffffffffffffffeeffffffffffffffffffffffffffffffffffffffffffffffffffffggfffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffeeuˆcdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffed~ԢmefffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffkwǤzdeffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffeeo۸deffffffffffffffffffffffffffffffffffffffffffffffffffffkvǤzdeffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffeeo۸cdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffeeedeho}¥tjffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffeejv̪{deffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffm}ڷcefffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffeq۹eeffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffehweeffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffeem}ܺueefffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffeefffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffeem}Ԡ}meeffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffgmܺudefffffffffffffffffffffffffffffffffffffffffeeffffffffffffffeefffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffeffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffeeffffffffffffffffffffffffffffffffffffffffffffffffeefffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdcܺueefffffffffffffffffeeffffffffffffffffffeefffffffffffffffffffffffffeffffffffffffffffeeffffffeeffffffffffffffeeffffffffffffffeeffffffffffggffffggffggffffffggffffffggggffffggffggffggggffffffffggffffffffffffggffffffggffffffggffggffffffffffffffffffffffggffggffggffggggffffffggffffffffffffffffffffffffffffggffggfffffffffffffffffffffffffffeeuˆdefffggffffffffffggffffffffggffffggffffffggffggffffffffffggffffffggffffffffffffffffffggggfffed~љujfffffffffffffggffggggffggffffffffffffggffffffffffffffffffffffggffffggffggffffffffffffffggffffffffffffffffffffffffffffffffffffepܺueefffffffffffffffffffggffffffffffffffffffffffffffffffffggggggffffffffffffffffggffffffffffffffffggffffggffffggffffffffffffggffffffffffffffffffffffffffffffffffggfeel{ńcefffffffffffffggffffffffffffffffffffffffffffffffffgffoܺueefffffffffffffffffffffffffffffffffffffggffffffffffffffggffffffffffffffffffffffggffffffffffffffffffffffffffffffffffffffffffffffggfffffffffffffffffffffffffffffffffl{ńcdfffffggffffffffffffffffffffffffffffggffffffffffffffffffffffffffffffffffffffffffffffffffffggffffggffffffffffffffggffffffffffffffffffffffffffffffffffffffffffffffffffffffeeeefimrw|Ͳwhffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffi׳~deffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffeeqɦzdefffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffekxljhefffffffffffffffffffffffffffffffffffffffffffffffffggfffffffffiqڴseeffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffeem}ܺueeffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffeem}Ԡ}meeffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffefܻudeffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdcܺueefffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffggffffggffggffffffggffffffggggffffggffggffggggffffffffggffffffffffffggffffffggffffffggffggffffffffffffffffffffffggffggffggffggggffffffggffffffffffffffffffffffffffffggffggfffffffffffffffffffffffffffeeuˆdefffggffffffffffggffffffffggffffggffffffggffggffffffffffggffffffggffffffffffffffffffggggfffed~͐mhfffffffffffffggffggggffggffffffffffffggffffffffffffffffffffffggffffggffggffffffffffffffggfffffffffffffffffffffffffffffffffffeetدqeffffffffffffffffffffggffffffffffffffffffffffffffffffffggggggffffffffffffffffggffffffffffffffffggffffggffffggffffffffffffggffffffffffffffffffffffffffggffffffggfffir̋hffffffffffffffggffffffffffffffffffffffffffffffffffgfesدreffffffffffffffffffffffffffffffffffffffggffffffffffffffggffffffffffffffffffffffggffffffffffffffffffffffffffffffffffffffffffffffggfffffffffffffffffffffffffffffffffiq̋hffffffggffffffffffffffffffffffffffffggffffffffffffffffffffffffffffffffffffggffffffffffffffggffffggffffffffffffffggfffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffeedchrҷ}meeffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdcགྷeeffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffeeuܺvefffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffglϓoifffffffffffffffffffffffffffffffffffffffffffffffffggffffffffel|էoeeffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffeem}ܺueefffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffem}Ԡ}meeffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdcܻueeffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdcܻueefffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffggffffffggggffffggffffffggffffggffffggffffffffggggggffggggffggffggffffffffffffffggffggffggggffffffffffffffffggffggggffggffffffffggggggffggffffffggggffffffggffffffffggffffggffggffggggffffggffffffggffggfeevˆcefggffggffffggggggffffggffggffggffffffggggffggggffggffffggggggggffggggggffffffffffffffggfffed~ȈgffggffffffffffffggggffffggffffggggffffffffffffffffffffffggffffggffffggffffffffffffffggffffffffffggffffffffffffffffffggffffffgfevեnfffffggffffffffffggggffffffggffffffffggffggffffggffffggggffggffffggffffffffffffffggffffffffffggffffffggggffggffffggggggffffggffffffffffggffffffggggffffffggggffffffhЕriffgggggggffffggffggffggffggffffffggggffffffggffgggfevեoeffffffggffffffggffggffffffggffffffffffffggggffggggggffggggffffggggffffffffffffffffffffffffffffggffggffffffffffffffffffggffffffffffffggffffffffffffggffggffffffffffhЕrjfffggffggffffffggffffffffggffffffggffffffffffffggffffffffffffffffffffffffggffffffffggggffffffggffffggggggffffggggggggggffffggffffffffffffffffffggffffffffffffggffffffffffffffeeeeefimrx}Ŧ}gffffffffffggffffffffffffggggffffggggffffggffggffffffggggggffffffffffffffffffffggffggffggffffggggffffffffffffffffffffggggffffffggfecȉgfffgggffffffffggggffffffffffffffffffffffffffffggfffffffffffffffedzحqeefffffffggffffffggffffffggffffffffffggffffffffffffffggffffffffffffffffffffggffffggggfffefԠ}mfffggffggggffggggffffggffffffffffffffffffggggfffffffffffffeepњvjeffffffggffffffffffggggggffffffffffffffffggffffffffffffffffggffffggffffggffffffggffffggffffffffffffffffffffffffffggfeem}ܺueefffffffffffffffffggffffffffffffffffffffffffffffffffffggggffffffffgggfffffffffffffggffffggggffffffffffggffffffffffffffffffffggffffffffffffffffffffggffffffffggffffggffffffffggffggffffffffffffggffffggfffffm}Ԡ}meefffffffffffffffffffffffffffffffffffffggffffffffggffffggffffffffffffffffffffffggffggffffffffffffffffffggffffggffffffffffffffffffffffggffffffffffffggffggffffffffffggffffggfffffffdcܻueefffffffggffffggffffffffffffffffffffffggffggffffffffffffffffffggffffggffffffffffffffffffffffggffffffffffffggffggffffffffffggffffggffffffffffffffffffffffffffffffffffffffggggffffffffffffffffffffffffffffffffffffffggffffffggffffffffffffggffffffffffffffffggffffffffffffffffffffggffffggffffffffffffffggffffffffffffffffffggffffffffffggggffffffffffffffffffffffffffggffffffffffffffffffffffggfffffdcܻveefffffffffffffffffffffffffffffffffffffffffffffffggffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffggffffffggggffffggffffffggffffggffffggffffffffggggggffggggffggffggffffffffffffffggffggffggggffffffffffffffffggffggggffggffffffffggggggffggffffffggggffffffggffffffffggffffggffggffggggffffggffffffggffggfeevˆcefggffggffffggggggffffggffggffggffffffggggffggggffggffffggggggggffggggggffffffffffffffggfffed~defggffffffffffffggggffffggffffggggffffffffffffffffffffffggffffggffffggffffffffffffffggffffffffffggffffffffffffffffffggffffffgeezњwkfffffggffffffffffggggffffffggffffffffggffggffffggffffggggffggffffggffffffffffffffggffffffffffggffffffggggffggffffggggggffffggffffffffffggffffffggggffffffggggfffffedӟ{mefgggggggffffggffggffggffggffffffggggffffffggffgggeeyњvkfffffffggffffffggffggffffffggffffffffffffggggffggggggffggggffffggggffffffffffffffffffffffffffffggffggffffffffffffffffffggffffffffffffggffffffffffffggffggfffffffffedӟ|mfffggffggffffffggffffffffggffffffggffffffffffffggffffffffffffffffffffffffggffffffffggggffffffggffffggggggffffggggggggggffffggffffffffffffffffffggffffffffffffggffffffffffffffffggfffeeedehp}ȟrigfffffffggffffffffffffggggffffggggffffggffggffffffggggggffffffffffffffffffffggffggffggffffggggffffffffffffffffffffggggffffffggfed{ϓpifggggffffffffggggffffffffffffffffffffffffffffggfffffffffffffffed~Ԡ}meefffffffggffffffggffffffggffffffffffggffffffffffffffggffffffffffffffffffffggffffggggfffedدreefggffggggffggggffffggffffffffffffffffffggggfffffffffffffeesʎmgfffffffggffffffffffggggggffffffffffffffffggffffffffffffffffggffffggffffggffffffggffffggffffffffffffffffffffffffffggfffm}ܻveefffffffffffffffffggffffffffffffffffffffffffffffffffffggggffffffffggggffffffffffffggffffggggffffffffffggffffffffffffffffffffggffffffffffffffffffffggffffffffggffffggffffffffggffggffffffffffffggffffggfffffm}Ԡ}meefffffffffffffffffffffffffffffffffffffggffffffffggffffggffffffffffffffffggffffggffggffffffffffffffffffggffffggffffffffffffffffffffffggffffffffffffggffggffffffffffggffffggfffffffecܺueefffffffggffffggffffffffffffffffggffffggffggffffffffffffffffffggffffggffffffffffffffffffffffggffffffffffffggffggffffffffffggffffggffffffffffffffffffffffffffffffffffffffggggffffffffffffffffffffffffffffffffffffffggffffffggffffffffffffggffffffffffffffffggffffffffffffffffffffggffffggffffffffffffffggffffffffffffffffffggffffffffffggggffffffffffffffffffffffffffggffffffffffffffffffffffggfffffecܻveefffffffffffffffffffffffffffffffffffffffffffffffggffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffggggffggffggffggffffffffffffggggggggggggggffggggggggffggffffggggffggffffggggffggffggffffggffggggggggggffggggffggffggggggggffggggffggggffggggggggffggffggggggggggffffffggffggggffggffffffffggggffggggffffgfevˇdefffffggggffffggggggggggggggggffffggggggggggggffggggggggggffggggggggffggffggggggggggggffffgee~ٷdegffffggggggggggffggggggffffffffggggffffffffffffffggffggffffggggggffffffggggffggffffggggggffggffffffffggggffffffffggffggffggfee}͍ifffgffggggggffffggggffffggffffggggggggggggggggggggffffffggggggggggffffggggffggggffffggggggffggggffffggffffffggffggffffggffffggggffggffggggggggggggffggffggggffffggged֨peffffffggffggggggffffffggggggffggggggggggggffffggged|͍jffffggffggffggffggggggffffffggffggffggggffffggggffffggggggffffffffffggffggffffggggggggggffffffggggffggffffggffffffggffggffggggffggffffffggffggffffffffffffffggffggfed֨peffggggggffffffggffffffffggggggffggggffggffffggffggggggggffffffffffffffggggggffffggffggggffffffffffggffggffffggffffffffggggggggffggggggffggggggffggffffggffffffggffggggggggffggggggffeeeefimrw|гqiffgggggggffffffggffffffffffffggffffggffffggffggffggggffffffffffggggffffggffffggffffggffffffffggggffggggggggffffffffggfffffffffeevԠ}mffgffffffffffffggffggggffffggffffggffffggffggggffffffffggggffgecϓpifffggffggggffffggggffggffggggggggffffffggggffffffffggffffffggffggggffffffffggffggggffffgee|weefggffggffggggggffffggffggffggffffggggffffggggggggffggggfeex྅fffggffggggffggffffggggffggggffggffffggffggffffggffffffggffggffffffggggffggffffggggggffffggffffffggffggffffffggggfffffffm}ܻveefffffggggggggffggggffggffggffggffffffggggffffffggffggggffggggffggggggffggggggffffggffggffggggffffffffggffffffffffffggffffffggffffffggffggffffffggffffffffffffggggffggggggffggggffffggggffffggffffggggfffffm}Ԡ}mfffggffffffffggggffggffggffggffffggffggffffffggggggffffffffggffffffggffffggffggffggffffffggffffffffggffffffggggffffffffffggffffffggffffffffffffffffggffffffffggggffffffggffffgggggecܺueefffggggggffffffffggffffffggffffggffggffggffffffggffffffffggffffffggggffffffffffggffffffggffffffffffffffffggffffffffggggffffffggffffggggggffffffggffffffffffffffffffggffggffggffffffffffffffggffggffffggffggffffggffffffffffggggffffffggffffggffffffggffggffffggffffggffffffggffffffffffffffffffggggffffggggffffggggffffggffffffggffggffffggffffffffffggffggggffffggggffggffffffffffggffggggffggffgecܻueefffffffffggffggffffffffffffffggffggffffggffffffffggffffffffffffffffggffffffggffffffffffggffffffffffffggffffffffggffffffffggffffffggggffggffggffggffffffffffffggggggggggggggffggggggggffggffffggggffggffffggggffggffggffffggffggggggggggffggggffggffggggggggffggggffggggffggggggggffggffggggggggggffffffggffggggffggffffffffggggffggggffffgfevˇdefffffggggffffggggggggggggggggffffggggggggggggffggggggggggffggggggggffggffggggggggggggffffgee~Ϋ|degffffggggggggggffggggggffffffffggggffffffffffffffggffggffffggggggffffffggggffggffffggggggffggffffffffggggffffffffggffggffggfedńcefggffggggggffffggggffffggffffggggggggggggggggggggffffffggggggggggffffggggffggggffffggggggffggggffffggffffffggffggffffggffffggggffggffggggggggggggffggffggggffffgggee}ٳseffffffggffggggggffffffggggggffggggggggggggffffgggedńcefffggffggffggffggggggffffffggffggffggggffffggggffffggggggffffffffffggffggffffggggggggggffffffggggffggffffggffffffggffggffggggffggffffffggffggffffffffffffffggffggfee}ٳseefggggggffffffggffffffffggggggffggggffggffffggffggggggggffffffffffffffggggggffffggffggggffffffffffggffggffffggffffffffggggggggffggggggffggggggffggffffggffffffggffggggggggffggggggggfffffffeeddgmwլuiggggggggffffffggffffffffffffggffffggffffggffggffggggffffffffffggggffffggffffggffffggffffffffggggffggggggggffffffffggfffffffffeeq׬qffgffffffffffffggffggggffffggffffggffffggffggggffffffffggggfffgkljhfgffggffggggffffggggffggffggggggggffffffggggffffffffggffffffggffggggffffffffggffggggffffgfexϫ|defggffggffggggggffffggffggffggffffggggffffggggggggffggggfed|ղ~defggffggggffggffffggggffggggffggffffggffggffffggffffffggffggffffffggggffggffffggggggffffggffffffggffggffffffggggfffffffm}ܻveefffffggggggggffggggffggffggffggffffffggggffffffggffggggffggggffggggggffggggggffffggffggffggggffffffffggffffffffffffggffffffggffffffggffggffffffggffffffffffffggggffggggggffggggffffggggffffggffffggggfffffm}Ԡ}mfffggffffffffggggffggffggffggffffggffggffffffggggggffffffffggffffffggffffggffggffggffffffggffffffffggffffffggggffffffffffggffffffggffffffffffffffffggffffffffggggffffffggffffgggggecݽweefffggggggffffffffggffffffggffffggffggffggffffffggffffffffggffffffggggffffffffffggffffffggffffffffffffffffggffffffffggggffffffggffffggggggffffffggffffffffffffffffffggffggffggffffffffffffffggffggffffggffggffffggffffffffffggggffffffggffffggffffffggffggffffggffffggffffffggffffffffffffffffffggggffffggggffffggggffffggffffffggffggffffggffffffffffggffggggffffggggffggffffffffffggffggggffggffgedܻueefffffffffggffggffffffffffffffggffggffffggffffffffggffffffffffffffffggffffffggffffffffffggffffffffffffggffffffffggffffffffggffffffffggggggggggggggggggffggggggggggggffggggggggggggffggffggggggggggggffggffffggggggggggggggggggffffggggggggggffggggggggggggggggggggggggggffggffggggggggffggggggggggggggggggggggggggggggggggffggggggggffgggggfevˇcegggggffggggggggggggggggggggggggggggggggggggggggggggggggggggggggffggggggggggggggggggffgggggee~xefgggggffggggggggggggggggggffggggggggggggggggggggggggggggggggggggggggffggggffffggffffggffffggggggggggggffggggggffggggggggggffgec۸degggggggggffffggggggggggggffffggggggggggggggffggggggggggggggggggffggggggffffffggggggggggggffffggggggggggggggggggggggggggggffffffggggggggggggggffggffggffffffgggggggfezܼveffggffggggffffffggggggffffffffffggffggggggffggggged۸degggffggffggffggggffggggggggggffggggggggffggggggggffggggffggggffggggggggffggffggggggggggffggffggffggggffggggffffggggggffggggggffggggffggffggffgggggggggggggggggggggeezܼveegggggggggffffggggggffggffggggffggggggffggggggffggffggffffffggffggffffggggggggffggffggffggggggffggffggggggggggffggggffggggggggffffggggggffffffffggggggggggggffggggggffggffffggggggffggggffffeeefhkosx|նqifggffggggggggffffggggffffffggggffggffggggggggggggggffggggggggffffggffggggffggffggggggggggggggggffggffggggffggggffggggggggffgffm}ڶuefgffffggffggggffffggggffggggffggggggffffggggffffffggggggggfffm{۹eegffggggggffggggggffggggffffggggggffggggggffffffggggffffggggggffggffggffggggffggffggggffgffrܸdegffffffggggggggggggggffffggggffggggffggffggffffffffggggfedȥzeegggggggggggggffggffggggggggggffggggggggggggffffggggggffggggffffggffffffggffggffffggffffggggffggffggggggggggggffggffgffm}ܻveegffggggffffggffggggggffffffggggggffggggggggggggggffggggffffggggffggffffffffffffffggffffggffggffggffggffggffggffggggffffggffggffggffggggggffffffggffggffggggggffggggffffggggggffffffggffggffggffffgggggggffm}Ԡ}meffffffggffggffggffffggffggffffggggggggffggggggggggggffggggggffffffggggffffffggggggffffggggggggffffggggggffggggggggffffggffggggggggffffffffffffffggggggffffggffggggffffffggggggffgecġyeefggggffggffggggggffffggffffggffffffffggggggggffggffggffggggffggffggggggffggffggffggggffggggffggffggffggggffggffffggffggggffggffffggggffggffffffggggffggffggggffggffffggggffggggggffffggffggggffffggffffffffffggffggffffggggggffffggffggggggffffffggggffggggggggffffggggggggffggggggffffffggffffffggggffggggggffffggffffggggffffggggggggffffggffffffggggffffggggggffggffggffffffffggggggggffffggfffedмܻveffffffffffggffffffffffggffggggggffggffffffffggggggffffffffggggffggffffffggggggggggffffffggggffffffffggffggggffffggggffffggffggffffffggggggggggggggggggffggggggggggggffggggggggggggffggffggggggggggggffggffffggggggggggggggggggffffggggggggggffggggggggggggggggggggggggggffggffggggggggffggggggggggggggggggggggggggggggggggffggggggggffgggggfevˇdegggggffggggggggggggggggggggggggggggggggggggggggggggggggggggggggffggggggggggggggggggffgggggee~۷uefgggggffggggggggggggggggggffggggggggggggggggggggggggggggggggggggggggffggggffffggffffggffffggggggggggggffggggggffggggggggggffgfhѮ}eegggggggggffffggggggggggggffffggggggggggggggffggggggggggggggggggffggggggffffffggggggggggggffffggggggggggggggggggggggggggggffffffggggggggggggggffggffggggffffgggggggfewƣzeefggffggggffffffggggggffffffffffggffggggggffgggggfiѮ}degggffggffggffggggffggggggggggffggggggggffggggggggffggggffggggffggggggggffggffggggggggggffggffggffggggffggggffffggggggffggggggffggggffggffggffgggggggggggggggggggggfewƣzeegggggggggffffggggggffggffggggffggggggffggggggffggffggffffffggffggffffggggggggffggffggffggggggffggffggggggggggggggggffggggggggffffggggggffffffffggggggggggggffggggggffggffffggggggffggggffggffgffffeedchr}լuigfffggggggggffffggggffffffggggffggffggggggggggggggffggggggggffffggffggggffggffggggggggggggggggffggffggggffggggffggggggggffgffjrxefgffffggffggggffffggggffggggffggggggffffggggffffffggggggggfferͩ|eegffggggggffggggggffggggffffggggggffggggggffffffggggffffggggggffggffggffggggffggffggggffgffm}Æffgffffffggggggggggggggffffggggffggggffggffggffffffffggggffgܻvefgggggggggggggffggffggggggggggffggggggggggggffffggggggffggggffffggffffffggffggffffggffffggggffggffggggggggggggffggffgffm~ܻvefgffggggffffggffggggggffffffggggggffggggggggggggggffggggffffggggffggffffffffffffffggffffggffggffggffggffggffggffggggffffggffggffggffggggggffffffggffggffggggggffggggffffggggggffffffggffggffggffffgggggggffm}Ԡ}mfffffffggffggffggffffggffggffffggggggggffggggggggggggffggggggffffffggggffffffggggggffffggggggggffffggggggffggggggggffffggffggggggggffffffffffffffggggggffffggffggggffffffggggggffged˨{eefggggffggffggggggffffggffffggffffffffggggggggffggffggffggggffggffggggggffggffggffggggffggggffggffggffggggffggffffggffggggffggffffggggffggffffffggggffggffggggffggffffggggffggggggffffggffggggffffggffffffffffggffggffffggggggffffggffggggggffffffggggffggggggggffffggggggggffggggggffffffggffffffggggffggggggffffggffffggggffffggggggggffffggffffffggggffffggggggffggffggffffffffggggggggffffggfffedæ||~~~~}}}}}}}}}}}}}}}}}}}}}~~~}}}}}}}}}~}}}}}}}}}}}}~~}}}~~}}}~~~~}}~~~~~~~~}}}~~~}}~~~~}}}}}}}}}}}}}}}~}}}}~~}}~~~~~~}}}}}}~~~~~~}}}}~~~~~~~}}}}}~}}}}}~}}~~~~}}~~}}~~~~~~~~}}~~~}}}}~~~~}}}}}}~~}}}}~}}}}}}}}}}}}~~~~~}}{{ܻveffffffffffggffffffffffggffggggggffggffffffffggggggffffffffggggffggffffffggggggggggffffffggggffffffffggffggggffffggggffffggffggffffgggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggfevˇdeggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggee~ٱseffggggffgggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggffjr˨{eegggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggffggggggggffgggggggggggggggggggggggggggggggggggggggggggggfeuЬ}eegggggggggggggggggggggggggggffggggggggggggggffggfjr˨{eegggggggggggggggggggggggggggggggggggggggggggggggggggggggffggggggffgggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggfeuЭ}eegggggggggggggggffffggggggggggggggggggggggggggggggggggggggggggggggffggggggggggggggggggggggggggggggggggffggggggggggggggggggggggggffggggggggggffggggggggggggggggggggggggggffggggffggggggggggggggffffffeeefjmrvz~շqjffgggggggggggggggggggffggggggggggggggggggggffffffggggggggggggggggggggggggggggffggggggggggggggggggffggggggggggggggggggggggffffiΫ|eegggggggffggggggffggggffggggggggggggggggggggggggggggggggggffevܼvefgggggggggggggggggggggffggggggggggggggggggggggffggggggggggggggggffffgggggggggggggggggggggggipˏmhffgggggggggggggggggggggggffggggggggggggggggggggggggggggfhmخrffgggggggffggggggggggggggggggggggggggffffffggggggggggggggggggggggggggggggggggggggffggggffggggggggggggggggggggggggggggfffm~ܻvefgggggffggggggggffggffggggggggggffggggffffggggggggggggggggggffffggffffffggggggggggggggffggggggggffggggffggggggggffggggggffggggggffggggggggggggggggggggggggggggggggggggffggggffggggggggggggggffggffgggggggffm}Ԡ~mffgggggggggggggffggggggffggffggggggggggffffffffggggggggggggggggggffggggggffggggggggggffffggggggffffffggggffggggggffggggggffggggggffffffggggggffffggggggggffggffggggggggggffggffgggedѯ}defffffggggggggggggggggggffggggggffggggggggggffffggggggffffffggggffggggggffggggggffggggggggffffggffggffffggggggggffggffggffggggggffggffggggggggggggggggggggggggffggggggggggggffggggffffggggggggggggffggffffggggffffggggffggggggggggggggggggffffggggggggggggffggggggggggffggggggggggggffggggggggggggffggggggggggffffggffggggggffffggggggggffggggggggggggffggggggggggggggggffggggggggggggffggggggggffgedܽ|lmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmkjܻvefgggffffggffggggggggggggggggggggggggffggggggggggggffffggffffggggggggggffffggffffggggffffggggffffggggggggggggggggffffggggggggggggffgggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggfevˇdeggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggee~׫qfffggggffgggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggffm|Ţzefgggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggffgggggggggggggggggggggggggggggggggggggggggggggggggggggggferٷdegggggggggggggggggggggggggggggggggggggggggggffgffm|Ţyefgggggggggggggggggggggggggggggggggggggggggggggggggggggggffggggggffgggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggffrٷeegggggggggggggggffffggggggggggggggggggggggggggggggggggggggggggggggffggggggggggggggggggggggggggggggggggffggggggggggggggggggggggggffggggggggggffggggggggggggggggggggggggggffggggggggggggggggggggffffggffggfffeeedir}լujggggggggggggggggggggffgggggggggggggggggggggfffffggggggggggggggggggggggggggggggggggggggggggggggggffggggggggggggggggggggggffged۸degggggggffggggggffggggffggggggggggggggggggggggggggggggggggfee{حrffgggggggggggggggggggggffggggggggggggggggggggggffggggggggggggggggffffgggggggggggggggggggggggfiҜykffgggggggggggggggggggggggffggggggggggggggggggggggggggggfkwӟ|mffgggggggffggggggggggggggggggggggggggffffffggggggggggggggggggggggggggggggggggggggffggggffggggggggggggggggggggggggggggfffm~ܻvefgggggffggggggggffggffggggggggggffggggffffggggggggggggggggggffffggffffffggggggggggggggffggggggggffggggffggggggggffggggggffggggggffggggggggggggggggggggggggggggggggggggffggggffggggggggggggggffggffgggggggffm~ԡ~nffgggggggggggggffggggggffggffggggggggggffffffffggggggggggggggggggffggggggffggggggggggffffggggggffffffggggffggggggffggggggffggggggffffffggggggffffggggggggffggffggggggggggffggffgggedղ~defffffggggggggggggggggggffggggggffggggggggggffffggggggffffffggggffggggggffggggggffggggggggffffggffggffffggggggggffggffggffggggggggggffggggggggggggggggggggggggffggggggggggggffggggffffggggggggggggffggffffggggffffggggffggggggggggggggggggffffggggggggggggffggggggggggffggggggggggggffggggggggggggffggggggggggffffggffggggggffffggggggggffggggggggggggffggggggggggggggggffggggggggggggffggggggggffgedܺueeffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdcܻvefgggffffggffggggggggggggggggggggggggffggggggggggggffffggffffggggggggggffffggffffggggffffggggffffggggggggggggggggffffggggggggggggffgggggghhgghhgghhhhgggggggggghhgggggggggggggggggggggghhgggghhgggggggggggggggggggghhgggggggggggghhgggggggggggggggggggggggghhgggggghhgggggggggggggggghhgggggggggggggggggggggggggggggggggggggggggghhgggggggggffvˇdeggggggggghhgggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggghhgggee~դoffggggggggggggghhhhgggggggggggggggggggggggghhgggggghhgggggggggggggggggggggggggggggggggggggggggghhgggggggggggggggggggggggggggffpݾwefghhgggggggggghhgggggggggggggghhgggggggggggggghhhhgggggggggggggggggggggggggggghhgggggggggggggggggggggggggggggggggghhhhgggggggggggggggggggggggggggggghhgggggggggggggffodeggggggggggggggggggggggggggggggggggggggggggggggffpݾwffggggghhgggggggggggggggggggggggggggggggggggggghhgggggggggggggggggggggggggggggggggggggggggggggggghhgggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggghgfodeggggggggggghhgggggggghhgggggggggggggggggggggggggggggggggggggggggggggggggggggggggggghhgggggghhgggggggggggggggggggggggggggggggggggghhgggggggggggggggggggggggggggghhgggggggggggggghhgggghhgggggggggggggggggfffffefjmrvy|շqiffggggggggggggggggggggggggggggggggggggghhhggggggggggggggggggggggggggggggggggggggggggghhgggggggggggggggggggggggggggggggggghfe~ńdeghhgggggggggggggggggggggggggggggggggggggggggggggggggggggggedԠ~mffggggggggggggggggggggggggggggggggggggggggggggggggggggghhgggggggggggggggggggggggggggggggggggeeجqefggggggggggggggggggggggggggggggggggggggggggggggggggggffp͎khggggggggggggghhgggggggggggggggggggggggggggggggghhgggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggffm~ܻvefggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggffm~ԡ~mffggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggeeղ~efgggggggggggggggggggggggggggggggggggggffggggggggggggffggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggffggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggffggggggggggggggggggggggggggggggggffggggggggffgggggggggggggggggggggggggggggggggggggggggggggggggggggedܺueeffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffecܻvefgggggggggggggggggggggffggggggggggggggggggggggggggggggggggggffggggggggggggggggggggggggggggggffggggggggggggggggggggggggggggggffgggggggggghhgghhgghhhhgggggggggghhgggggggggggggggggggggghhgggghhgggggggggggggggggggghhgggggggggggghhgggggggggggggggggggggggghhgggggghhgggggggggggggggghhgggggggggggggggggggggggggggggggggggggggggghhgggggggggffvγefggggggggghhgggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggghhgggee~Ҝylggggggggggggggghhhhgggggggggggggggggggggggghhgggggghhgggggggggggggggggggggggggggggggggggggggggghhgggggggggggggggggggggggggggffsڴtffghhgggggggggghhgggggggggggggghhgggggggggggggghhhhgggggggggggggggggggggggggggghhgggggggggggggggggggggggggggggggggghhhhgggggggggggggggggggggggggggggghhggggggggggggggflyȇefggggggggggggggggggggggggggghhgggggggggggggggggffsڴuffggggghhgggggggggggggggggggggggggggggggggggggghhgggggggggggggggggggggggggggggggggggggggggggggggghhgggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggghgflyȇeeggggggggggghhgggggggghhgggggggggggggggggggggggggggggggggggggggggggggggggggggggggggghhgggggghhgggggggggggggggggggggggggggggggggggghhgggggggggggggggggggggggggggghhgggggggggggggghhgggghhggggggggggggggggggggggggffffeedgmwլuihggggggggggggggggggggggggggggggggggggghhhhgggggggggggggggggggggggggggggggggggggggggghhgggggggggggggggggggggggggggggggggghfez͍jggghgggggggggggggggggggggggggggggggggggggggggggggggggggggggfgϕrjggggggggggggggggggggggggggggggggggggggggggggggggggggggghhgggggggggggggggggggggggggggggggggggfe|ܻvefggggggggggggggggggggggggggggggggggggggggggggggggggggfetńceggggggggggggghhgggggggggggggggggggggggggggggggghhgggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggffm~ܻvefggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggffm~ԡ~mffggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggfe~Ա~efgggggggggggggggggggggggggggggggggggggffggggggggggggffggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggffggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggffgggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggedܻvefgggggggggggggggggffggggggggggggggggggggggggggggggggggggggggggggggggggggggffggggggggggffggggggggggggggggggggggggggggggggggggffggffggggggggggffggggffggggggggggggggggffggggggggggggggggggggggggggggggggffggggggggggggffgggedܻvefgggggggggggggggggggggffggggggggggggggggggggggggggggggggggggffggggggggggggggggggggggggggggggffggggggggggggggggggggggggggggggffgggggggghhgggggghhgggghhgggggghhgggghhgghhgghhgggggggggghhgggghhgggggghhgghhgghhhhgghhgggghhhhgggghhhhhhgggggggghhgggggggggggghhgggggghhgggggghhgggggggghhgghhhhhhgghhhhhhgghhhhgggggggggghhgggggghhgggggghhgffvٳofghhhgggggggggggggggggghhgghhgggghhgghhhhgghhgghhgghhgghhhhhhgggggggggghhgggggggggggggggghhhfe~ϒoiggggggggggghhgggggggggghhgghhgggghhgghhhhhhgggghhhhgghhhhgghhhhgghhgggggggggggggggggggggggghhgggggghhgghhgggggggghhhhgggggggffu֧pffggghhgggggggghhhhgggghhhhhhhhgggghhgggggggggggggggghhhhgggggggggghhgggggggghhgggghhgggghhgggggggggghhgggggggggggghhgggggggggghhhhgghhhhgggggggggggghhgggggggggggghhgioˋhgggghhgggggghhhhgggggggggggghhgggghhhhgggghhhhgffu֧pffggggggggggggggghhgggggggggggggggggghhgggggggghhhhgggggggggggggggghhgggggghhgghhhhgggggggggggggggghhgggggggggggggggggghhgggggggggggggggggghhhhgghhgggghhgggggggggggggioˋifghhhhhhgggggggghhgggggggggggggghhgghhgggggghhgghhgggggghhgggggghhhhgghhgggghhgggggggggggghhgggggghhgghhgggghhgggggghhgghhgggghhgggghhgggggggggggggggggggghhgggggggggghhgghhhhgggggggggggggggggggggggggghhgggggggffffffgikptx}շrjggggggggghhgggggggghhgggggggggggggggggghhgggggggghhgggggggghhhhgghhhhhhgghhgghhgggggggggggggggggggghhgggggggghhgggggggggfeuњwkfgggghhgggggggggggggggggggggggggggggggggggggggggggggggghgghmȊigggggggggggggggggggggggggggggggggggggggggggggghhgggghhgggghhgggggghhgggggggghhhhgggggggggggggffyȥ{efghhgggggggggggggggghhhhgggggggggggghhgggggggggggggggfexܸdeghhgggggggghhhhgghhgggggggggggggggggggghhgghhgggggggggggggghhhhhhgggggggggggggggghhgggggggggggggggggggggggggghhgghhgggffm~ܻvefhgggggggggggggggggggggggggggggggghhgggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggghhgggggggggggggggggggggggggggggggggggggghhgggggggggggggggggggggggggggggggggggggffm~ԡ~nffggggggggggghhgggghhhhgggggggghhgggggggggggggggggggggggggggggggggggggghhgggggggggggggghhgggggggghhgggggggggggggggggggggggggggggggggggggghhhhgggggggggggggghhhhhhgggggghhgggggghhgfe~Ա~eeggggggggggggggggggggggggggggghhgggghhgggggggggggggggggghhgggggggggggggggggggggggggggggggggggggghhhhgggggggggggggghhhhhhgggggggggggggghhgggggggggggggggggggggggggggggggggggggghhgggggggggggggggggggggggggggggggggggggggggggggggggggggghhgggghhgggggggghhgggggggggggggggggggggggggggggghhgggghhgggggggggggggggggggghhgggghhgggggggggggggggggggggggggggggghhgggggggggggggghhgggggggggggggggggggggggggedܻvffggggggggggggggggggggggggggggghhgggggghhgggggggggggggggggggggggggggggggghhgggggggggggggggggggggggggggggghhgggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggedܻvefggggggggggggggggghhgggggggggghhgggggggghhgggggggggggggggggggghhgggggggggggggggggggggggggggggggghhgghhgggggggghhgggggggggggggggghhgggghhgggggghhgggghhgggggghhgghhhhgghhgghhgggggggggghhgggghhgggghhhhgghhgghhhhgghhgggghhhhgggghhhhhhgggggggghhgggggggggggghhgggggghhgggggghhgggggggghhgghhhhhhgghhhhhhgghhhhgggggggggghhgggggghhgggggghhgffvӠ{kcdeddddddeeddeeeddddeeeeddddddddeeeddeedddddddddddeeeeeeddddddeeeedddeeeeeeeeeeeeeeeeeeeeeeddddeeeeeeddeeeeeddddddeeeedddddddeeedddeeeeeeeeddeeeeddedddddeeeeeeeeeeeeeddeeedddeeeeeddeeeeeeddddddeddeeefghhhhgggggggggggggggggghhgghhgggghhgghhhhgghhgghhgghhgghhhhhhgggggggggghhgggggggggggggggghhhfe~͋hfggggggggggghhgggggggggghhgghhgggghhgghhhhhhgggghhhhgghhhhgghhhhgghhgggggggggggggggggggggggghhgggggghhgghhgggggggghhhhgggggggffyԡ~mffggghhgggggggghhhhgggghhhhhhhhgggghhgggggggggggggggghhhhgggggggggghhgggggggghhgggghhgggghhgggggggggghhgggggggggggghhgggggggggghhhhgghhhhgggggggggggghhgggggggggggghhhgiϒoiggghhgggggghhhhgggggggggggghhgggghhhhgggghhhhgffyԡ~nffggggggggggggggghhgggggggggggggggggghhgggggggghhhhgggggggggggggggghhgggggghhgghhhhgggggggggggggggghhgggggggggggggggggghhgggggggggggggggggghhhhgghhgggghhgggggggggggggfiϒoighhhhhhgggggggghhgggggggggggggghhgghhgggggghhgghhgggggghhgggggghhhhgghhgggghhgggggggggggghhgggggghhgghhgggghhgggggghhgghhgggghhgggghhgggggggggggggggggggghhgggggggggghhgghhhhgggggggggggggggggggggggggghhgggggggggggghhggfffeehnwխsgfggggggghhgggggggghhgggggggggggggggggghhgggggggghhgggggggghhhhgghhhhhhgghhgghhgggggggggggggggggggghhgggggggghhgggggggggffpզoffggghhgggggggggggggggggggggggggggggggggggggggggggggggghgglyགdehgggggggggggggggggggggggggggggggggggggggggggghhgggghhgggghhgggggghhgggggggghhhhggggggggggggggftղeeghhgggggggggggggggghhhhgggggggggggghhgggggggggggggggfe|ͪ|efghhgggggggghhhhgghhgggggggggggggggggggghhgghhgggggggggggggghhhhhhgggggggggggggggghhgggggggggggggggggggggggggghhgghhgggffn~ܻvefhgggggggggggggggggggggggggggggggghhgggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggghhgggggggggggggggggggggggggggggggggggggghhggggggggggggggggggggggggggggggggggggggfm~ԡ~nfgggggggggggghhgggghhhhgggggggghhgggggggggggggggggggggggggggggggggggggghhgggggggggggggghhgggggggghhgggggggggggggggggggggggggggggggggggggghhhhgggggggggggggghhhhhhgggggghhgggggghhgfe~ٶeeggggggggggggggggggggggggggggghhgggghhgggggggggggggggggghhgggggggggggggggggggggggggggggggggggggghhhhgggggggggggggghhhhhhgggggggggggggghhgggggggggggggggggggggggggggggggggggggghhgggggggggggggggggggggggggggggggggggggggggggggggggggggghhgggghhgggggggghhgggggggggggggggggggggggggggggghhgggghhgggggggggggggggggggghhgggghhgggggggggggggggggghhgggggggggghhgggggggggggggghhgggggggggggggggggggggggggedܻvffggggggggggggggggggggggggggggghhgggggghhgggggggggggggggggggggggggggggggghhgggggggggggggggggggggggggggggghhgggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggedܻvefggggggggggggggggghhgggggggggghhgggggggghhgggggggggggggggggggghhgggggggggggggggggggggggggggggggghhgghhgggggggghhgggggggggggggggghhhhhhhhhhgghhhhhhhhhhhhhhgghhgghhhhgghhhhhhgghhgghhhhhhhhhhhhhhhhgghhhhhhhhhhgghhhhgghhgggggghhgghhgggghhhhhhgghhhhhhgghhgggghhhhgggghhgggghhhhgghhhhhhgghhgghhhhhhgggggghhhhgghhgghhgghhgghhhhgghhhhgggghffwԠ}meeefffffeeeeefffffeeeffeeeeeeeeeefeeeeeeeeeeeeffffefeeeeeeeeeeeeeeeeeeffeeeeeefefffeefffffeeeefffffffffeeffeeeeeeffeeeffffeeeefeeeeeeeefefffeeeeeefeeeeeeeeeeeeffeeffeeeefeeeeeffffeefeeeeeeeeeefeeeeffgghhhhhhhhhhhhhhhhgghhhhhhhhhhgghhhhgghhgghhgghhhhhhgghhgghhhhhhhhhhgghhhhhhhhgggggghhhhgghhhfëefghhgghhhhhhhhhhgggghhhhhhhhhhgghhhhhhgghhhhgghhhhhhgghhgggggghhhhgggggghhhhhhhhhhhhhhgggggggghhhhhhhhgggghhhhhhhhgghhgghhgggfe}Ԣ~nffghhhhhhhhgggghhhhgggghhgggggggghhgghhhhhhgggghhhhgghhgggggggggggghhgghhgggggghhgghhhhgghhhhhhhhgghhgghhhhgghhhhgggggghhgghhhhgghhgghhhhhhhhhhgghhgghhgggghhgghhhhhhhfeҜymggggggghhgggggghhhhhhhhgggggghhhhhhhhgggghhgghfe}ԡ~nggghhhhgghhhhgghhhhgggghhhhhhhhgggggghhhhgggggggggghhgggggghhgghhgghhgghhgggghhgghhhhhhgghhhhhhgghhhhgggggggggghhgggghhhhhhgghhhhhhhhgggggggghhhhgghhgghhhhhhhhgghhgggfeҜylfghgghhhhgggghhgggghhhhhhgggggghhgggghhhhhhhhhhgghhhhhhhhhhgghhgghhhhhhgghhgggggggghhhhgggggghhgggghhgghhhhhhgghhgghhhhhhhhhhhhgggghhgggggghhhhhhhhgggggggghhhhhhhhgggggghhhhgghhgghhhhgghhgghhgghhgggggggghhgghhhhgggggggffffgilptx}ճhfggghhgggghhgggggghhgggghhgggggghhgggggggghhhhgghhgghhgghhgggggggggggggggghhgggggggggghhhhhhgggggghhhhhhhhhhgggghhgghhhgglwذsfghgghhhhgghhhhgggghhhhgggghhgghhgghhgghhgggggggghhhhggggfqЭ}efghhgggggggghhhhhhhhhhgggggggggghhhhgggghhhhgghhgghhhhgggghhgggghhgggghhgggghhgghhgghhgghhhhgggo⿃dehgghhhhgghhhhhhhhhhhhgggghhgggggggggghhgggghhhhgghhhfeܽwffhgghhgggghhgggggghhhhgggggggggghhgghhhhgggggggghhhhgghhgghhhhgghhhhgggggggghhgghhgggggggggghhgggghhhhgggggggggggghhgggffn~ܻvffghhhhgggghhgggggggghhgggggggggggghhgggghhhhhhgghhhhgghhgggghhgghhgggghhhhgggggghhgggggghhhhhhgggggggggggggggggggggggggggggghhgggggghhgggghhgggggggghhgghhgggggggghhgggggggghhgghhgggghhgggggghhgghhhhhhhgfm~ԡ~nfghhhgghhgggggggggggghhgggghhgghhgghhgghhhhgggggghhhhgggggggggghhhhgggggggggghhhhhhgghhgggghhgggggggggggggghhgghhgggggggggghhgggggghhgggggghhhhgggggghhhhhhgggggggggghhgggghhgggghfe~efhgggggghhgggggggggggghhhhhhgggggggghhhhhhgggggggghhgghhgggggggggghhgghhgggggggggghhgggggghhgggggghhhhgghhgghhgghhgggghhgggggggghhhhhhgghhgggggggggggggggggggggggghhhhgggggggggggggggggghhgggggggggggggggggghhgggggggghhgghhgggggggggggggggggggggggghhgghhhhhhgggggghhgggggggggggggggggggggggggggggggghhgggghhhhhhhhgghhgggghhgghhgggggggggggggggggghhgghhgggggghhgghhgghhgggghhgggghhhhhhgggggggggedܻvefghhhhhhgggggggghhgggghhgggggggggggggggggggggggggghhgggggggggggghhgggghhgggggggggggggggghhhhgggggghhhhgghhgggggghhgggggghhgggggggggghhhhgggggggggggggggggghhgggggghhgghhgggggggggggghhgggghhhhgghhhhgggggggggggggggghhhhgedܻvefggggggggggggggggggggggggggggggggggggghhgggghhgggggghhgggggghhgghhgggggghhgggggggggghhgggggggggggghhgggghhgggggggggggggghhgggggggghhhhhhhhgghhhhhhhhhhhhhhgghhgghhhhgghhhhhhgghhgghhhhhhhhhhhhhhhhgghhhhhhhhhhgghhhhgghhgggggghhgghhgggghhhhhhgghhhhhhgghhgggghhhhgggghhgggghhhhgghhhhhhgghhgghhhhhhgggggghhhhgghhgghhgghhgghhhhgghhhhgggghgfwԡ~ngghhhhhhhgghhhhhhhhhhhhhhhhhhhhhhhhgggggghhgghhhhhhhhgghhgghhhhgghhgghhhhgggghhhhgggghhhhhhgghhhhhhhhhhhhhhhhhhgghhgghhgghhgghhhhgggghhhhgggghhgghhhhhhgggggghhhhhhhhhhhhhhgghhhhhhhhhhgghhgggghhhhhhhhgghhhhhhhhhhhhhhhhgghhhhhhhhhhgghhhhgghhgghhgghhhhhhgghhgghhhhhhhhhhgghhhhhhhhgggggghhhhgghhhfeŅdeghhgghhhhhhhhhhgggghhhhhhhhhhgghhhhhhgghhhhgghhhhhhgghhgggggghhhhgggggghhhhhhhhhhhhhhgggggggghhhhhhhhgggghhhhhhhhgghhgghhgggfeқxlfgghhhhhhhhgggghhhhgggghhgggggggghhgghhhhhhgggghhhhgghhgggggggggggghhgghhgggggghhgghhhhgghhhhhhhhgghhgghhhhgghhhhgggggghhgghhhhgghhgghhhhhhhhhhgghhgghhgggghhgghhhhhhheeդoggggggghhgggggghhhhhhhhgggggghhhhhhhhgggghhgghfeқylggghhhhgghhhhgghhhhgggghhhhhhhhgggggghhhhgggggggggghhgggggghhgghhgghhgghhgggghhgghhhhhhgghhhhhhgghhhhgggggggggghhgggghhhhhhgghhhhhhhhgggggggghhhhgghhgghhhhhhhhgghhgggeeդofghgghhhhgggghhgggghhhhhhgggggghhgggghhhhhhhhhhgghhhhhhhhhhgghhgghhhhhhgghhgggggggghhhhgggggghhgggghhgghhhhhhgghhgghhhhhhhhhhhhgggghhgggggghhhhhhhhgggggggghhhhhhhhgggggghhhhgghhgghhhhgghhgghhgghhgggggggghhgghhhhgggghhhhgghhhgfffedgnwП}nggghhgggghhgggggghhgggghhgggggghhgggggggghhhhgghhgghhgghhgggggggggggggggghhgggggggggghhhhhhgggggghhhhhhhhhhgggghhgghhhhhinܻwfghgghhhhgghhhhgggghhhhgggghhgghhgghhgghhgggggggghhhhgggffwyffghhgggggggghhhhhhhhhhgggggggggghhhhgggghhhhgghhgghhhhgggghhgggghhgggghhgggghhgghhgghhgghhhhgggjsɌkhhgghhhhgghhhhhhhhhhhhgggghhgggggggggghhgggghhhhgghhhfgخrfghgghhgggghhgggggghhhhgggggggggghhgghhhhgggggggghhhhgghhgghhhhgghhhhgggggggghhgghhgggggggggghhgggghhhhgggggggggggghhgggffn~ܻvffghhhhgggghhgggggggghhgggggggggggghhgggghhhhhhgghhhhgghhgggghhgghhgggghhhhgggggghhgggggghhhhhhgggggggggggggggggggggggggggggghhgggggghhgggghhgggggggghhgghhgggggggghhhhgggggghhgghhgggghhgggggghhgghhhhhhhgfn~ԡ~nfghhhgghhgggggggggggghhgggghhgghhgghhgghhhhgggggghhhhgggggggggghhhhgggggggggghhhhhhgghhgggghhgggggggggggggghhgghhgggggggggghhgggggghhgggggghhhhgggggghhhhhhgggggggggghhgggghhgggghfe}džeehgggggghhgggggggggggghhhhhhgggggggghhhhhhgggggggghhgghhgggggggggghhgghhgggggggggghhgggggghhgggggghhhhgghhgghhgghhgggghhgggggggghhhhhhgghhgggggggggggggggggggggggghhhhgggggggggggggggggghhgggggggggggggggggghhgggggggghhgghhgggggggggggggggggggggggghhgghhhhhhgggggghhgggggggggggggggggggggggggggggggghhgggghhhhhhhhgghhgggghhgghhgggggggggggggggggghhgghhgggggghhgghhgghhgggghhgggghhhhhhgggggggggedܻvefghhhhhhgggggggghhgggghhgggggggggggggggggggggggggghhgggggggggggghhgggghhgggggggggggggggghhhhgggggghhhhgghhgggggghhgggggghhgggggggggghhhhgggggggggggggggggghhgggggghhgghhgggggggggggghhgggghhhhgghhhhgggggggggggggggghhhhgedܻvefggggggggggggggggggggggggggggggggggggghhgggghhgggggghhgggggghhgghhgggggghhgggggggggghhgggggggggggghhgggghhgggggggggggggghhgggggggghhgghhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhgghhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhgghhhhhhhhgghhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhgghhhhhhgggghhhhhhhhhhhhhhhhhhhhgghhhhhhhhhhhhhhhhgghhhhhhhhhhhhhhhhhhgghhhhhgfvԡ~nggghhgghhhhhhhhhhhhhhhhhhhhhhhhhhhhhhgghhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhgggghhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhgghhhhhhhhhhhhhhhhhhhhhhhhhhgghhgghhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhgghhhhhhhhhhhhhhhhhhhhgghhhhhhhhgghhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhfe~۸efhgghhhhhhhhgghhgggghhhhhhhhhhhhhhhhgghhgghhhhhhgghhgghhhhhhgghhhhgghhgghhhhhhhhhhhhhhgghhhhgghhhhhhhhhhhhhhgghhhhhhhhhhhhhhhfe͍jhhhhhhhhhhhhhhgghhhhhhhhhhhhgghhhhhhhhhhhhhhhhgghhhhhhhhgghhhhgghhhhhhhhhhgghhgggghhhhhhhhhhhhhhhhhhhhgghhhhhhhhhhhhhhhhhhgghhgghhhhhhhhhhhhhhhhgghhhhhhgghhgghhhhhhgghfe׫rgghhhgggghhhhhhhhgghhhhhhhhhhhhgghhhhhhhhhhhhgfe͎khhhhhhhhhhhhgghhgggggghhhhhhhhgghhhhhhgghhhhhhgghhgggghhhhgghhhhgggghhhhgghhhhhhgghhgghhhhhhgggggghhhhhhhhgghhgghhhhhhhhgghhhhgggghhgghhhhhhhhhhgggghhhhgghhhhhhgghhhhhfe׫rgghgggghhhhgghhhhhhhhgghhgghhhhhhhhhhhhhhgggghhhhgggghhhhhhhhhhhhhhhhhhhhhhhhhhgghhgghhgghhgghhhhhhgghhhhgghhhhhhhhhhhhgghhhhhhgghhgghhgghhhhhhhhhhgggggghhgggghhhhhhhhhhgghhhhgghhhhgghhgghhhhhhhhhhhhgghhgggghhgggghhhhhhhhhhhgggfffgilquy}Ȧ~ihhhhhhhhhhgggghhhhgggghhhhhhhhgghhgghhgghhgghhgghhgggghhgghhhhgggghhgghhgghhgggghhhhgghhhhhhgghhgghhhhgghhhhhhgggghhhhhghȥ{efhhhhhgghhhhhhhhgggghhhhgghhhhhhhhhhgggghhhhhhhhhhhhhhhff{ڴtfghgghhhhhhgghhhhhhgghhgghhhhhhhhhhgghhhhgggggghhgghhgghhhhgghhhhhhhhhhhhhhhhhhhhhhhhhhgghhgghhggiКxlggggghhhhgghhhhhhhhgghhgggghhhhhhhhhhhhhhgghhgghhggginԡ~ngghhhhhhhgggghhhhgghhhhgggggggggghhgghhhhgghhhhgghhhhgghhhhhhhhgghhhhhhhhgghhhhgggggghhgghhhhgghhgghhhhhhhhhhgghhgghhgggggn~ܻwffghhgghhgggggghhgggggghhhhhhhhgggggghhhhhhhhgggghhgghhgghhhhhhhhgggggghhhhhhhhgghhgghhgghhhhhhhhhhgggghhgghhhhhhhhhhgghhhhgghhhhgghhhhgghhhhhhhhhhgggggghhhhgggghhhhgghhgghhgghhgghhgghhgghhgggghhgghhhhhgfn~ԡ~nfghhhhhhhgghhhhgghhgghhgggggghhgghhhhgggggggggghhgghhhhhhhhhhgghhhhgghhgggggghhgghhhhgggghhgggghhhhhhgggggghhgggghhhhhhhhhhgghhhhhhhhhhhhhhgghhhhhhgghhgghhgggghhhhgggggghhgggghhgfezʇdeggggghhgghhhhhhhhhhgghhhhgghhgggggghhgghhhhgggghhgggghhhhhhgggggghhgggghhhhhhhhhhgghhhhhhhhhhhhhhgghhhhhhgghhgghhgggghhhhgggggghhgggghhgghhhhgghhhhhhhhgghhhhhhgghhgghhgggghhgggghhhhhhhhhhhhgggghhgggghhgghhhhgghhgggggghhgghhgghhgghhgghhhhgghhhhhhhhgghhgghhgghhhhhhhhgggggggghhgghhhhhhgggggggghhhhgghhgghhgghhhhgggghhgggghhgghhhhhhhhgggggggghhhhgggghhhhhhgggghhgggghhgghhhhgggghhhhhhgghhgedܻvffghhgghhhhhhgggggggghhhhhhhhhhhhgghhhhhhhhgghhhhgghhgghhhhgghhhhhhgghhgghhgghhhhhhhhgghhgghhhhgggghhgghhgggggggggggghhgghhgggghhhhgggghhhhhhgghhgggghhhhgggghhgggghhgggghhhhhhgghhgghhhhhhgggggghhhhgghhgghhgghhggggggggheeܻvffggghhhhhhgggghhhhgggggggggggghhhhgghhhhhhhhgghhhhhhgghhhhgggghhgghhgggggggggghhgghhgghhgghhhhhhgghhhhhhhhgghhgghhgggghhgggghhhhgghhgghhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhgghhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhgghhhhhhhhgghhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhgghhhhhhgggghhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhgghhhhhhhhhhhhhhhhhhgghhhhhgfvԡ~nggghhgghhhhhhhhhhhhhhhhhhhhhhhhhhhhhhgghhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhgggghhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhgghhhhhhhhhhhhhhhhhhhhhhhhhhgghhgghhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhgghhhhhhhhhhhhhhhhhhhhgghhhhhhhhgghhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhfeղefhgghhhhhhhhgghhgggghhhhhhhhhhhhhhhhgghhgghhhhhhgghhgghhhhhhgghhhhgghhgghhhhhhhhhhhhhhgghhhhgghhhhhhhhhhhhhhgghhhhhhhhhhhhhhhfeˇdehhhhhhhhhhhhhgghhhhhhhhhhhhgghhhhhhhhhhhhhhhhgghhhhhhhhgghhhhhhhhhhhhhhhhgghhgggghhhhhhhhhhhhhhhhhhhhgghhhhhhhhhhhhhhhhhhgghhgghhhhhhhhhhhhhhhhgghhhhhhgghhgghhhhhhgghfeٱtfghhhgggghhhhhhhhgghhhhhhhhhhhhgghhhhhhhhhhhhgfeˇdfhhhhhhhhhhhgghhgggggghhhhhhhhgghhhhhhgghhhhhhgghhgggghhhhgghhhhgggghhhhgghhhhhhgghhgghhhhhhgggggghhhhhhhhgghhgghhhhhhhhgghhhhgggghhgghhhhhhhhhhgggghhhhgghhhhhhgghhhhhfeٱtfghgggghhhhgghhhhhhhhgghhgghhhhhhhhhhhhhhgggghhhhgggghhhhhhhhhhhhhhhhhhhhhhhhhhgghhgghhgghhgghhhhhhgghhhhgghhhhhhhhhhhhgghhhhhhgghhgghhgghhhhhhhhhhgggggghhgggghhhhhhhhhhgghhhhgghhhhgghhgghhhhhhhhhhhhgghhgggghhgggghhhhhhhhhhhhhhhhhhhggfffehnwŗxlgghhhhhhhgggghhhhgggghhhhhhhhgghhgghhgghhgghhgghhgggghhgghhhhgggghhgghhgghhgggghhhhgghhhhhhgghhgghhhhgghhhhhhgggghhhhhfeղefhhhhhgghhhhhhhhgggghhhhgghhhhhhhhhhgggghhhhhhhhhhhhhhhfeզofghgghhhhhhgghhhhhhgghhgghhhhhhhhhhgghhhhgggggghhgghhgghhhhgghhhhhhhhhhhhhhhhhhhhhhhhhhgghhgghhgee֨pggggghhhhgghhhhhhhhgghhgggghhhhhhhhhhhhhhgghhgghhggflwϕsjghhhhhhhhgggghhhhgghhhhgggggggggghhgghhhhgghhhhgghhhhgghhhhhhhhgghhhhhhhhgghhhhgggggghhgghhhhgghhgghhhhhhhhhhgghhgghhgggggn~ܻwffghhgghhgggggghhgggggghhhhhhhhgggggghhhhhhhhgggghhgghhgghhhhhhhhgggggghhhhhhhhgghhgghhgghhhhhhhhhhgggghhgghhhhhhhhhhgghhhhgghhhhgghhhhgghhhhhhhhhhgggggghhhhgggghhhhgghhgghhgghhgghhgghhgghhgggghhgghhhhhgfn~ԡ~nfghhhhhhhgghhhhgghhgghhgggggghhgghhhhgggggggggghhgghhhhhhhhhhgghhhhgghhgggggghhgghhhhgggghhgggghhhhhhgggggghhgggghhhhhhhhhhgghhhhhhhhhhhhhhgghhhhhhgghhgghhgggghhhhgggggghhgggghhgffxˇdeggggghhgghhhhhhhhhhgghhhhgghhgggggghhgghhhhgggghhgggghhhhhhgggggghhgggghhhhhhhhhhgghhhhhhhhhhhhhhgghhhhhhgghhgghhgggghhhhgggggghhgggghhgghhhhgghhhhhhhhgghhhhhhgghhgghhgggghhgggghhhhhhhhhhhhgggghhgggghhgghhhhgghhgggggghhgghhgghhgghhgghhhhgghhhhhhhhgghhgghhgghhhhhhhhgggggggghhgghhhhhhgggggggghhhhgghhgghhgghhhhgggghhgggghhgghhhhhhhhgggggggghhhhgggghhhhhhgggghhgggghhgghhhhgggghhhhhhgghhgedܻwffghhgghhhhhhgggggggghhhhhhhhhhhhgghhhhhhhhgghhhhgghhgghhhhgghhhhhhgghhgghhgghhhhhhhhgghhgghhhhgggghhgghhgggggggggggghhgghhgggghhhhgggghhhhhhgghhgggghhhhgggghhgggghhgggghhhhhhgghhgghhhhhhgggggghhhhgghhgghhgghhgggggggghfeܻwffggghhhhhhgggghhhhgggggggggggghhhhgghhhhhhhhgghhhhhhgghhhhgggghhgghhgggggggggghhgghhgghhgghhhhhhgghhhhhhhhgghhgghhgggghhgggghhhhgghhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhiihhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhiihhhhhhhhiihhhhhhhgfwԡ~ngghhhhhhhhhiihhhhhhhhhhhhhhiihhiihhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhfeղefhhhhhhhhhhhhhhhhhhhhhhhiihhhhhhhhhhhhhhhhhhhhhhhhhhhhhhiihhhhhhhhhhhhhhhhhhhhhhiihhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhfdˇdfhhhhhhhhhhhhhhhhhhhiihhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhfe۸vfghhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhfeˇefhhhhhhhgghhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhfe۸ufghhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhgggffgilpuy}ظuffhhhgghhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhgghhgghhhhhhhhgghhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhgghhgghhhhhfe}⿃efhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhgghhhhhhhhhhhhgghhhhhfeЕrjgghhhhhhhhhhhhhhhhhgghhhhhhhhhhhhhhhhhhhhhhhhhhgggghhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhfeڴufghhhhhhhhhhhgghhhhhhhhhhhhhhhhgghhhhhhhhhhhhhhhhhggpɋighhhhhhhhhhhgghhhhhhhhgghhhhgghhhhhhhhhhgghhgghhhhhhhhhhhhhhhhhhhhhhgghhhhhhhhhhhhhhhhhhgghhgghhhhhhhhhhhhhhhhgghhhhhhgghgfn~ܻwffhhhhhhhhhhhgggghhhhhhhhgghhhhhhhhhhhhgghhhhhhhhhhhhhhhhhhhhhhhhhhhhgghhhhhhhhhhhhhhhhgghhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhgghhhhhhhhgghhhhhhhhhhhhhhhhhhhhhhhhhhgghhhhhhgghhhhgghhhhhhhhhhgghggn~ԡ~nggghhhhhhhhhhhhhhhhgghhhhgghhhhhhhhhhgghhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhgggghhhhgghhhhhhhhgghhgghhhhhhhhhhhhhhgggghhhhgggghhhhhhhhhhhhhhhhhhhhhhhhhhgghhgghhgghhgghhhhhhgghgfwˇdehhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhgggghhhhgghhhhhhhhgghhgghhhhhhhhhhhhhhgggghhhhgggghhhhhhhhhhhhhhhhhhhhhhhhhhgghhgghhgghhgghhhhhhgghhhhgghhhhgghhhhhhgggghhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhgghhhhhhhhgghhhhhhhhhhhhhhhhgghhhhhhhhhhgghhhhhhhhgghhhhhhhhhhhhhhhhhhhhhhhhhhgghhhhhhhhgggggghhhhhhhhhhhhhhgghhhhhhhhhhhhhhhhhhgggghhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhgghhhhhhhhhhhhhhgggghhhhhhhhhhheeܻwfghhhhhhhgghhhhhhhhhhgghhhhgghhhhhhhhhhhhgghhgghhhhhhhhhhhhhhhhgghhhhhhhhhhhhhhhhgghhhhhhhhhhhhhhhhhhhhgggggggghhgghhhhgghhhhhhhhhhhhhhgggghhhhhhhhhhgggghhhhgggghhhhgghhhhhhhhhhhhhhgghhhhhhhhhhhhhhhhgggggggghhhhhhhhggheeܻvfghhhhhhhhhhhgghhgghhhhhhgghhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhgghhhhhhhhgghhhhhhhhgggghhhhhhhhhhhhhhhhhhgghhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhiihhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhiihhhhhhhhhhhhhhhhhhhhhhhhiihhhhhhhhiihhhhhhhgfwԡ~nghhhhhhhhhhiihhhhhhhhhhhhhhiihhiihhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhffϬ}efhhhhhhhhhhhhhhhhhhhhhhhiihhhhhhhhhhhhhhhhhhhhhhhhhhhhhhiihhhhhhhhhhhhhhhhhhhhhhiihhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhghɅcdffffffffffffffffffggffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffed}ݾxfghhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhghɆcdffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffed}ݾxfghhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhggffeehnxҳnighhgghhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhgghhgghhhhhhhhgghhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhgghhgghhhhhgfyȊighhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhgghhhhhhkȊigghhhhhhhhhhhhhhhhhhgghhhhhhhhhhhhhhhhhhhhhhhhhhgggghhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhgfzŸyfghhhhhhhhhhhgghhhhhhhhhhhhhhhhgghhhhhhhhhhhhhhhhhgfuགྷefhhhhhhhhhhhgghhhhhhhhgghhhhhhhhhhhhhhhhgghhgghhhhhhhhhhhhhhhhhhhhhhgghhhhhhhhhhhhhhhhhhgghhgghhhhhhhhhhhhhhhhgghhhhhhgghgfn~ܻwfghhhhhhhhhhhgggghhhhhhhhgghhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhgghhhhhhhhhhhhhhhhgghhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhgghhhhhhhhgghhhhhhhhhhhhhhhhhhhhhhhhhhgghhhhhhgghhhhgghhhhhhhhhhgghggn~ԡ~nggghhhhhhhhhhhhhhhhgghhhhgghhhhhhhhhhgghhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhgggghhhhgghhhhhhhhgghhgghhhhhhhhhhhhhhgggghhhhgggghhhhhhhhhhhhhhhhhhhhhhhhhhgghhgghhgghhgghhhhhhgghgfv͌ighhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhgggghhhhgghhhhhhhhgghhgghhhhhhhhhhhhhhgggghhhhgggghhhhhhhhhhhhhhhhhhhhhhhhhhgghhgghhgghhgghhhhhhgghhhhgghhhhgghhhhhhgggghhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhgghhhhhhhhgghhhhhhhhhhhhhhhhgghhhhhhhhhhgghhhhhhhhgghhhhhhhhhhhhhhhhhhhhhhhhhhgghhhhhhhhgggggghhhhhhhhhhhhhhgghhhhhhhhhhhhhhhhhhgggghhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhgghhhhhhhhhhhhhhgggghhhhhhhhhhhfeܻwfghhhhhhhgghhhhhhhhhhgghhhhgghhhhhhhhhhhhgghhgghhhhhhhhhhhhhhhhgghhhhhhhhhhhhhhhhgghhhhhhhhhhhhhhhhhhhhgggggggghhgghhhhgghhhhhhhhhhhhhhgggghhhhhhhhhhgggghhhhgggghhhhgghhhhhhhhhhhhhhgghhhhhhhhhhhhhhhhgggggggghhhhhhhhgghfeܻwfghhhhhhhhhhhgghhgghhhhhhgghhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhgghhhhhhhhgghhhhhhhhgggghhhhhhhhhhhhhhhhhhgghhhhhhhhhhhhhhhhhhhhhhhhhhhhiihhhhiihhiiiihhiihhhhiiiihhhhhhhhiihhiihhhhiihhhhhhiiiihhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhiihhhhiihhhhhhhhhhhhhhhhhhhhhhhhhhiihhhhhhhhhhhhhhhhiihhhhiihhhhhhiihhiihhhhhhhhhhhhhhhhiihhhhhhhhiihhhhhhhhhhhggwԡ~nghihhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhiihhhhiiiiiihhiihhhhhhhhhhhhiihhiihhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhiihhhhhhhhiihhhhhhhhhhhhhhiihhhhhhhhhhhhhhhhhhiihhhhhhhhhhhhhhhhiihhhhhhhhhhiihhiihhhhhhhhhhhhhhhhhhhhhhhhhhhhiihhiihhhhhhhhiihhhhiiiihhiihhhhhhhhhhhhhhhhhhhhhhhhiihhhffyfghhhhhhhhhhhhhhhhhhhiiiihhhhhhhhhhhhhhiihhhhhhhhhhhhhhiihhhhhhhhhhiiiihhhhhhhhhhhhhhhhhhhhhhiihhhhhhhhhhiihhhhhhhhhhhhhhiihhhinƃbceeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeedczŢzfghhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhinƃaceeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeedcyŢzfghhhhhhhhhhhhhhhhhhhhhhhiihhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhiihhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhiihhhhhhhhiihhhhhhhhhhhhhhhhhhhhhhhhhhhhhhiihhhhiihhhhhhiihhhhhhhhhhhhgggffgimqu{̡ofghhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhiihhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhiihhhhhhhhhhhhhhhhhhhgfuϕskghhhhhhhhhhiihhhhhhhhhhhhhhhhhhhhihhhhhhhhhhhhhhhhhhhglx྄ffhhhhhhhhhhhhhhhhhhhhhiihhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhiihgfuϫ}ffhhhhhhhhhhhhhhhhhhhhhhhhhiihhhhhhhhhhhhhhhhhhhhhgfyЭ~ffhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhiihhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhggn~ܻwfghhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhiihhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhiihhiihhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhggn~ԡ~ngghhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhiihhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhgfuЖskghhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhiihhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhgghhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhfeܻwfghhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhgghhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhgghfeܻwfghhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhgghhhhhhhhhhhhhhhhhhhhhhhhhhhhgghhhhhhhhiihhhhiihhiiiihhiihhhhiiiihhhhhhhhiihhiihhhhiihhhhhhiiiihhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhiihhhhiihhhhhhhhhhhhhhhhhhhhhhhhhhiihhhhhhhhhhhhhhhhiihhhhiihhhhhhiihhiihhhhhhhhhhhhhhhhiihhhhhhhhiihhhhhhhhhhhggwԡ~nghihhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhiihhhhiiiiiihhiihhhhhhhhhhhhiihhiihhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhiihhhhhhhhiihhhhhhhhhhhhhhiihhhhhhhhhhhhhhhhhhiihhhhhhhhhhhhhhhhiihhhhhhhhhhiihhiihhhhhhhhhhhhhhhhhhhhhhhhhhhhiihhiihhhhhhhhiihhhhiiiihhiihhhhhhhhhhhhhhhhhhhhhhhhiihhhffܻwfghhhhhhhhhhhhhhhhhhhiiiihhhhhhhhhhhhhhiihhhhhhhhhhhhhhiihhhhhhhhhhiiiihhhhhhhhhhhhhhhhhhhhhhiihhhhhhhhhhiihhhhhhhhhhhhhhiihhhkuΞ˨}fghhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhgkuΞ˨}fghhhhhhhhhhhhhhhhhhhhhhhiihhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhiihhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhiihhhhhhhhiihhhhhhhhhhhhhhhhhhhhhhhhhhhhhhiihhhhiihhhhhhiihhhhhhhhhhhhhhhhhhhhgffeeis~ܽ{jhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhiihhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhiihhhhhhhhhhhhhhhhhhhggpӟ}nghhhhhhhhhhiihhhhhhhhhhhhhhhhhhhhiihhhhhhhhhhhhhhhhhggqղefhhhhhhhhhhhhhhhhhhhhhiihhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhiihggp۹fghhhhhhhhhhhhhhhhhhhhhhhhhiihhhhhhhhhhhhhhhhhhhhhge}yfghhhhhhhhhhhhhhhhhhhhhhhhhhhiihhhhhhhhhhhhiihhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhggn~ܻwfghhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhiihhhhiihhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhiihhiihhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhgn~Ԣngghhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhiihhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhgfsҝzmgghhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhiihhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhgghhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhfeܻwfghhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhgghhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhgghfeܻwfghhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhgghhhhhhhhiiiihhhhhhhhiiiihhhhiiiihhiihhiiiiiiiiiihhiiiihhiiiihhiiiiiiiiiiiihhhhhhhhiihhhhhhhhhhiihhhhhhiiiihhiihhhhhhiihhhhiihhhhhhiiiiiiiihhiiiiiiiihhhhiihhiihhhhiihhiihhhhhhhhhhhhhhhhiihhhhhhhhhhhhhhhhhhiiigfwԡ~ohhiiihhiihhiiiiiihhiiiiiihhiihhhhiihhhhhhiihhhhhhiihhiiiiiihhiihhhhhhhhiihhiiiihhiihhiiiihhiihhiiiihhiihhhhiiiihhhhiihhhhiihhhhhhhhiiiiiiiiiiiiiihhiiiihhhhhhiihhiiiihhhhhhhhiihhhhhhiihhiiiiiihhhhhhhhiihhiihhiiiihhhhiihhhhhhhhhhhhhhiihhiihhhhiiiihhiihhiiiihhiiiihhhhiihhhhhhiihhhhhhhhhhhhhhiihffܻwghihhhhhhiiiihhhhhhhhiihhhhiihhhhhhiiiihhhhhhhhhhhhhhiihhhhhhiiiiiihhiiiihhiihhhhhhhhiihhhhiihhhhhhhhiiiihhhhhhhhiiiihhhhhhhhhm|үfghiihhhhhhiihhhhiiiihhiihhhhiihhhhhhhhiihhhhgm{ү~ffhhhiihhiihhhhiiiihhiihhiihhhhhhiihhiiiiiihhiiiiiihhhhhhhhiihhiihhhhhhhhhhhhhhhhhhhhhhhhhhhhiihhhhiihhiihhhhhhhhhhhhhhhhhhhhhhhhiiiihhhhiihhiihhhhhhiihhiiiihhhhhhhhhhhhiihhhhhhhhhhhhiihhhhhhhhhhhhhhhhhhhhiiiihhhhiihhiiiihhiihhhhiihhhhhhiiiiiihhhhihhggffhkosw}ڼskhhhhhiihhhhhhhhhhhhiihhhhiihhhhhhhhhhiihhhhhhhhhhhhhhhhhhiihhiihhhhhhiiiihhhhhhhhhhhhhhiiiihhiihhhhiihhiihhiihhhhhhgjs֩qgghhhhhhhiihhiihhiiiihhhhhhhhhhhhiihhhhiihhiihhhhhhihgwȥ{fghhhhhhhhhhhhhiihhhhhhhhhhhhhhiihhhhhhhhiihhhhhhhhhhhhiihhhhhhhhhhhhhhhhhhhhhhhhiihhhhhhiihhhhhhhhglxNJihhiihhhhhhhhiihhhhhhhhhhhhhhhhhhhhiiiihhiiiihhhhigeڴughhhhiihhhhhhiihhiihhhhhhhhhhiihhhhiihhiihhhhhhhhhhiihhhhhhhhhhhhhhhhhhiihhhhhhhhhhhhhhiihhhhhhhhhhiihhhhhhhhhhiihhhhiiiihggn~ܻwfghhhhhhhhhhhhhhhhhhhhhhhiiiihhhhiihhhhhhiihhhhhhhhhhhhhhhhhhhhiihhhhiihhhhhhiihhhhhhhhhhhhhhhhhhhhhhhhhhhhhhiiiihhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhiihhhhhhhhhhiihhiiiihhhhiiiihhhhhhhhiihhhhhhhhiihhhhihgn~ԢohhhhhhhhhhhhhhhiihhhhiihhhhiihhhhhhhhhhhhhhhhhhhhhhhhhhiihhhhhhhhhhhhhhiihhhhhhiihhhhiihhhhhhhhhhhhhhiihhhhhhhhhhhhhhhhhhhhhhhhhhhhiihhiihhhhhhhhiihhhhhhhhhhhhhhhhiihhhhhhhhhhhhhggpԠ}ngghhhhhhhhhhhiihhhhhhhhhhhhhhhhhhhhhhiihhhhiihhhhhhhhhhhhhhiihhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhiihhhhhhhhiihhhhhhhhhhiihhhhhhhhhhhhiihhhhhhhhhhhhhhhhhhhhiihhhhhhiiiihhhhhhhhhhhhhhhhhhhhiihhhhhhhhhhhhhhhhhhhhiihhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhiihhhhhhiihhhhhhhhhhhhhhhhiihhhhiihhhfeܻwfghhhiihhhhhhhhhhhhhhhhhhhhiihhhhhhhhhhhhhhhhhhhhhhiihhhhhhhhhhhhhhhhhhiihhhhiiiihhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhiihhhhhhhhhhhhiihhhhhhhhhhhhhhhhhhhhiihhhhhhhhhhhhhhiihhhhhhiihhhhhhhhhhhhhhhhhhhhhhhhhhiihhhhhhiihhhhhfeܻwfghhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhiiiihhhhhhhhiiiihhhhiiiihhiihhiiiiiiiiiihhiiiihhiiiihhiiiiiiiiiiiihhhhhhhhiihhhhhhhhhhiihhhhhhiiiihhiihhhhhhiihhhhiihhhhhhiiiiiiiihhiiiiiiiihhhhiihhiihhhhiihhiihhhhhhhhhhhhhhhhiihhhhhhhhhhhhhhhhhhiiigfwԢohhiiihhiihhiiiiiihhiiiiiihhiihhhhiihhhhhhiihhhhhhiihhiiiiiihhiihhhhhhhhiihhiiiihhiihhiiiihhiihhiiiihhiihhhhiiiihhhhiihhhhiihhhhhhhhiiiiiiiiiiiiiihhiiiihhhhhhiihhiiiihhhhhhhhiihhhhhhiihhiiiiiihhhhhhhhiihhiihhiiiihhhhiihhhhhhhhhhhhhhiihhiihhhhiiiihhiihhiiiihhiiiihhhhiihhhhhhiihhhhhhhhhhhhhhiihgfܺwghihhhhhhiiiihhhhhhhhiihhhhiihhhhhhiiiihhhhhhhhhhhhhhiihhhhhhiiiiiihhiiiihhiihhhhhhhhiihhhhiihhhhhhhhiiiihhhhhhhhiiiihhhhhhhhhpֳffhiihhhhhhiihhhhiiiihhiihhhhiihhhhhhhhiihhhggpֳffhhhiihhiihhhhiiiihhiihhiihhhhhhiihhiiiiiihhiiiiiihhhhhhhhiihhiihhhhhhhhhhhhhhhhhhhhhhhhhhhhiihhhhiihhiihhhhhhhhhhhhhhhhhhhhhhhhiiiihhhhiihhiihhhhhhiihhiiiihhhhhhhhhhhhiihhhhhhhhhhhhiihhhhhhhhhhhhhhhhhhhhiiiiiihhiihhiiiihhiihhhhiihhhhhhiiiiiihhhhiihhhhhhhhgffeem}Ԫqfghhhiihhhhhhhhhhhhiihhhhiihhhhhhhhhhiihhhhhhhhhhhhhhhhhhiiiiiihhhhhhiiiihhhhhhhhhhhhhhiiiihhiihhhhiihhiihhiihhhhhhhhiڴugghhhhhhhiihhiihhiiiihhhhhhhhhhhhiihhhhiihhiihhhhhhigf{ܺvgghhhhhhhhhhhhhiihhhhhhhhhhhhhhiihhhhhhhhiihhhhhhhhhhhhiihhhhhhhhhhhhhhhhhhhhhhhhiihhhhhhiihhhhhhhhhjnДqjhiihhhhhhhhiihhhhhhhhhhhhhhhhhhhhiiiihhiiiihhhhigg֨pghhhhiihhhhhhiihhiihhhhhhhhhhiihhhhiihhiihhhhhhhhhhiihhhhhhhhhhhhhhhhhhiihhhhhhhhhhhhhhiihhhhhhhhhhiihhhhhhhhhhiihhhhiiiihggn~ܻwfghhhhhhhhhhhhhhhhhhhhhhhiiiihhhhiihhhhhhiihhhhhhhhhhhhhhhhhhhhiihhhhiihhhhhhiihhhhhhhhhhhhhhhhhhhhhhhhhhhhhhiiiihhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhiihhhhhhhhhhiihhiiiihhhhiiiihhhhhhhhiihhhhhhhhiihhhhihgn~Ԣohhhhhhhhhhhhhhhiihhhhiihhhhiihhhhhhhhhhhhhhhhhhhhhhhhhhiihhhhhhhhhhhhhhiihhhhhhiihhhhiihhhhhhhhhhhhhhiihhhhhhhhhhhhhhhhhhhhhhhhhhhhiihhiihhhhhhhhiihhhhhhhhhhhhhhhhiihhhhhhhhhhhhhggn~դpgghhhhhhhhhhhiihhhhhhhhhhhhhhhhhhhhhhiihhhhiihhhhhhhhhhhhhhiihhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhiihhhhhhhhiihhhhhhhhhhiihhhhhhhhhhhhiihhhhhhhhhhhhhhhhhhhhiihhhhhhiiiihhhhhhhhhhhhhhhhhhhhiihhhhhhhhhhhhhhhhhhhhiihhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhiihhhhhhiihhhhhhhhhhhhhhhhiihhhhiihhhfeܻwfghhhiihhhhhhhhhhhhhhhhhhhhiihhhhhhhhhhhhhhhhhhhhhhiihhhhhhhhhhhhhhhhhhiihhhhiiiihhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhiihhhhhhhhhhhhiihhhhhhhhhhhhhhhhhhhhiihhhhhhhhhhhhhhiihhhhhhiihhhhhhhhhhhhhhhhhhhhhhhhhhiihhhhhhiihhhhhfeܻwfghhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhiihhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhiiiihhiiiihhiiiiiihhiiiihhiiiiiiiihhhhhhhhiiiihhiihhiiiiiihhiiiiiiiiiiiihhhhhhiiiihhiiiiiiiiiiiiiiiiiiiiiihhiiiiiiiiiiiiiihhiiiihhiiiiiiiihhhhiiiiiiiihhiihhiiiiiihhhhiiiiiiiiiihhiiiihhhhiiiihhhhhgfwԢohhiiiiiiiiihhhhhhiiiiiiiiiiiihhhhhhiihhiiiiiihhhhhhhhiiiiiiiiiihhiihhhhhhhhiiiihhiiiiiihhiihhiiiihhhhiiiihhiihhiiiihhhhiiiihhiiiihhiiiiiihhiiiiiiiiiihhhhiiiiiiiihhhhhhiiiiiiiiiiiiiiiihhiiiiiiiihhiiiiiiiihhhhhhiihhhhiiiihhhhiihhiiiiiiiiiiiiiiiiiihhiihhhhhhhhhhiiiiiihhhhiiiihhhhiiiihhhhhhhhiiigf۷vghiiiiihhhhiiiihhhhhhhhiiiiiihhiihhhhhhhhiiiiiiiiiihhiiiihhiiiihhhhiiiiiihhiiiiiihhhhiiiiiihhhhiihhhhiihhiiiihhhhhhiiiihhhhhhgrٷffhhhhhhhhhhhiiiiiihhhhiihhiihhhhhhiiiiiiiihggrٷfgihhhhhhiiiihhiiiihhhhiiiihhiihhiihhiihhiiiiiiiiiiiiiiiihhhhhhiiiihhhhiihhiiiihhhhiihhhhhhhhhhhhhhiiiiiiiiiihhhhhhiiiiiihhhhiihhhhhhiiiihhhhiihhiiiihhiiiihhhhiihhiihhiihhiihhiihhhhhhiihhiihhiiiihhiiiiiihhiihhhhiiiiiihhhhhhiihhiihhiiiiiiiihhhhhhiiiihhiihhhhgggffinsw|˨{efhiihhiihhiiiihhiihhhhiiiiiihhhhiihhhhhhhhiiiiiihhiiiiiihhhhiihhiiiihhiihhhhiihhhhhhhhiiiihhiiiiiiiiiiiiiihhiihhhhhggyfghiihhhhhhhhhhhhiihhiiiihhhhiiiiiihhiiiihhhhiihhhhhgfתqhhihhiihhiiiiiihhhhhhiiiihhhhhhiihhhhiiiiiiiiiihhiiiihhiihhiiiihhiiiihhhhhhhhiihhhhhhiihhiiiihhiihhihhԡohhihhhhhhiiiihhiihhiiiiiihhhhhhhhhhhhhhiiiiiihhihjћxlghhhhhhhhiihhhhiihhiihhiiiihhhhiihhhhhhhhhhiihhiiiihhhhiihhhhiihhiihhiihhhhiiiihhiihhiihhhhiihhhhiiiihhhhhhiihhhhiiiihhiihhhoܻwfghhhhhiihhiihhhhhhiihhhhiiiihhiiiiiiiihhhhhhhhiihhhhiihhiiiihhiihhiiiiiihhiihhhhiiiihhhhhhhhiiiiiiiiiihhhhiihhhhiihhhhiihhhhiihhhhhhhhiihhhhiihhhhhhiihhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhiihhhhiiiihhiiihgnԢohhhiiiiiihhhhhhhhiihhhhhhhhiihhiihhhhiihhiihhhhhhhhhhhhhhiihhhhiihhhhhhhhhhhhhhhhiihhiihhhhiihhhhiiiiiihhiihhhhiihhhhiiiiiiiiiihhhhiiiiiihhhhhhhhhhhhhhhhhhiihhhhhhhhiihhiihhhhiihhho׫rgghiihhhhhhhhhhiihhhhiihhhhhhhhhhhhhhhhiihhhhhhhhiiiihhiiiiiihhhhhhiihhiiiiiihhiiiiiihhhhhhiiiihhiihhhhhhhhhhhhhhiihhhhhhhhhhhhiihhhhiihhiihhhhiihhhhhhhhhhhhhhhhiiiihhhhhhhhiihhhhhhiihhhhhhiihhhhhhhhiihhiihhiiiihhhhhhhhhhhhhhhhiiiihhhhiiiihhiihhhhhhhhiihhhhiihhhhiihhhhhhiihhiiiiiihhhhhhhhhhiihhhhhhhhhhhhiiiihhhhiihhhhiiiihhiihhhhiihhhhhhhhiiiihhiihhhhhhhhhhhhhhhhhhhhhhhhhhhhiihhhhhhhfeܻwgghhhiihhhhiihhhhhhhhhhhhhhhhiihhhhiihhiihhhhhhiihhhhhhhhiiiiiihhhhhhhhhhhhiiiihhiiiiiihhhhhhhhhhhhhhiihhiihhiihhiiiiiihhiihhhhhhhhhhhhiihhiiiihhiihhiihhiiiihhiihhhhiihhhhhhhhiihhhhiihhiihhhhhhhhhhhhiihhhhhhhhhhiihhhhhfeܻwgghhhhhhhiihhhhiiiihhhhhhiiiihhhhhhhhhhhhhhiihhhhiihhhhhhhhiiiiiihhhhiiiihhhhhhhhhhhhhhiiiiiiiihhhhhhiihhhhiihhhhhhiiiihhhhhhhhhhhhhhhhhhiiiihhiiiihhiiiiiihhiiiihhiiiiiiiihhhhhhhhiiiihhiihhiiiiiihhiiiiiiiiiiiihhhhhhiiiihhiiiiiiiiiiiiiiiiiiiiiihhiiiiiiiiiiiiiihhiiiihhiiiiiiiihhhhiiiiiiiihhiihhiiiiiihhhhiiiiiiiiiihhiiiihhhhiiiihhhhhgfwԢohhiiiiiiiiihhhhhhiiiiiiiiiiiihhhhhhiihhiiiiiihhhhhhhhiiiiiiiiiihhiihhhhhhhhiiiihhiiiiiihhiihhiiiihhhhiiiihhiihhiiiihhhhiiiihhiiiihhiiiiiihhiiiiiiiiiihhhhiiiiiiiihhhhhhiiiiiiiiiiiiiiiihhiiiiiiiihhiiiiiiiihhhhhhiihhhhiiiihhhhiihhiiiiiiiiiiiiiiiiiihhiihhhhhhhhhhiiiiiihhhhiiiihhhhiiiihhhhhhhhiiigfٰsghiiiiihhhhiiiihhhhhhhhiiiiiihhiihhhhhhhhiiiiiiiiiihhiiiihhiiiihhhhiiiiiihhiiiiiihhhhiiiiiihhhhiihhhhiihhiiiihhhhhhiiiihhhhhhgtགྷffhhhhhhhhhhhiiiiiihhhhiihhiihhhhhhiiiiiiiihggtགྷfgihhhhhhiiiihhiiiihhhhiiiihhiihhiihhiihhiiiiiiiiiiiiiiiihhhhhhiiiihhhhiihhiiiihhhhiihhhhhhhhhhhhhhiiiiiiiiiihhhhhhiiiiiihhhhiihhhhhhiiiihhhhiihhiiiihhiiiihhhhiihhiihhiihhiihhiihhhhhhiihhiihhiiiihhiiiiiihhiihhhhiiiiiihhhhhhiihhiihhiiiiiiiihhhhhhiiiihhiihhiihhhhiihhgffinzŽojhhihhiihhiiiihhiihhhhiiiiiihhhhiihhhhhhhhiiiiiihhiiiiiihhhhiihhiiiihhiihhhhiihhhhhhhhiiiihhiiiiiiiiiiiiiihhiihhhhhgfά}fghiihhhhhhhhhhhhiihhiiiihhhhiiiiiihhiiiihhhhiihhhhhhiКxmhiihhiihhiiiiiihhhhhhiiiihhhhhhiihhhhiiiiiiiiiihhiiiihhiihhiiiihhiiiihhhhhhhhiihhhhhhiihhiiiihhiihhigfدsghihhhhhhiiiihhiihhiiiiiihhhhhhhhhhhhhhiiiiiihhhkrʐnjhhhhhhhhhiihhhhiihhiihhiiiihhhhiihhhhhhhhhhiihhiiiihhhhiihhhhiihhiihhiihhhhiiiihhiihhiihhhhiihhhhiiiihhhhhhiihhhhiiiihhiihhhoܻwfghhhhhiihhiihhhhhhiihhhhiiiihhiiiiiiiihhhhhhhhiihhhhiihhiiiihhiihhiiiiiihhiihhhhiiiihhhhhhhhiiiiiiiiiihhhhiihhhhiihhhhiihhhhiihhhhhhhhiihhhhiihhhhhhiihhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhiihhhhiiiihhiiihgnԢohhhiiiiiihhhhhhhhiihhhhhhhhiihhiihhhhiihhiihhhhhhhhhhhhhhiihhhhiihhhhhhhhhhhhhhhhiihhiihhhhiihhhhiiiiiihhiihhhhiihhhhiiiiiiiiiihhhhiiiiiihhhhhhhhhhhhhhhhhhiihhhhhhhhiihhiihhhhiihhhmxٱtgghiihhhhhhhhhhiihhhhiihhhhhhhhhhhhhhhhiihhhhhhhhiiiihhiiiiiihhhhhhiihhiiiiiihhiiiiiihhhhhhiiiihhiihhhhhhhhhhhhhhiihhhhhhhhhhhhiihhhhiihhiihhhhiihhhhhhhhhhhhhhhhiiiihhhhhhhhiihhhhhhiihhhhhhiihhhhhhhhiihhiihhiiiihhhhhhhhhhhhhhhhiiiihhhhiiiihhiihhhhhhhhiihhhhiihhhhiihhhhhhiihhiiiiiihhhhhhhhhhiihhhhhhhhhhhhiiiihhhhiihhhhiiiihhiihhhhiihhhhhhhhiiiihhiihhhhhhhhhhhhhhhhhhhhhhhhhhhhiihhhhhhhfeܻwgghhhiihhhhiihhhhhhhhhhhhhhhhiihhhhiihhiihhhhhhiihhhhhhhhiiiiiihhhhhhhhhhhhiiiihhiiiiiihhhhhhhhhhhhhhiihhiihhiihhiiiiiihhiihhhhhhhhhhhhiihhiiiihhiihhiihhiiiihhiihhhhiihhhhhhhhiihhhhiihhiihhhhhhhhhhhhiihhhhhhhhhhiihhhhhfeܻwgghhhhhhhiihhhhiiiihhhhhhiiiihhhhhhhhhhhhhhiihhhhiihhhhhhhhiiiiiihhhhiiiihhhhhhhhhhhhhhiiiiiiiihhhhhhiihhhhiihhhhhhiiiihhhhhhhhhhhhiiiiiiiiiiiiiihhiiiiiiiihhiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihhiiiiiiiiiiiihhiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihhiiiiiiiihhiiiiiiiihhhhiiiiiiiiiihhiiiiiiiiiiiiiiiiiihhiiiihhiiiiiiiiiiiiiiiiiiihgwԢohhiiiiiiiiiiiiihhiiiihhiiiiiiiihhiiiiiiiiiiiiiiiiiiiiiiiiiihhiiiihhiiiiiiiiiiiiiiiiiiiiiiiihhiiiiiiiiiiiiiiiiiihhiiiiiiiiiihhiiiiiiiiiiiiiiiiiihhiiiiiihhiiiiiiiiiiiiiiiihhiiiiiiiiiihhiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihhiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihhiihhiiiiiiiiigfզqhhiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihhiiiiiiiiiiiiiihhiiiiiiiiiiiiiiiiiiiiiihhiiiiiihhiiiiiihhiihhiihhiiiiiiiiiiiiiiiiiiiiihgvLJefiiiiiiiiiiiiihhiiiiiiiiiiiiiiiiiihhhhiiiiihgvdžefhiiiiiiiiiihhhhiihhiiiiiiiihhhhiihhiihhiiiiiiiiiiiiiihhiiiiiiiiiiiiiiiihhiihhiiiiiihhhhiihhiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihhiiiiiiiiiihhiiiiiiiiiiiiiiiiiiiihhiihhiiiiiiiihhiiiiiihhiiiihhiiiihhiiiihhiihhiiiiiiiiiiiihhiiiiiihhhhhhiiiihhhhhhiiiihhiiiiiiiiiiiihhiiiihhhgghimrx}ӧqgghiiiiiiiiiiiiiihhiiiihhhhiiiiiiiihhhhiihhiiiiiihhiiiiiiiiiihhiiiiiihhiiiiiihhiiiihhiihhhhiihhhhiiiiiiiihhiihhiihgf{ܹegihhiiiiiiiiiiiiiiiihhiiiiiiiiiiiiiiiiiiiihhhhiiihhjnɍliiiihhiiiiiiiihhiiiiiihhiiiiiiiihhiiiiiihhiihhiihhhhiiiiiihhiiiihhhhiiiiiihhhhhhiiiihhhhhhhhiiiiiiiiigf{ܻwghihhhhiiiiiiiiiiiihhhhhhhhiiiiiiiiiiiihhiiiihhho࿆hhiiihhhhiiiihhiiiiiiiiiihhhhhhhhhhiiiiiiiihhiihhiiiihhiiiihhhhhhiiiiiihhiihhiiiiiiiiiiiiiiiiiiiiiihhiihhhhiiiiiihhhhiihhhhihhoܻwghihhiihhhhhhhhhhhhiiiiiiiihhhhiihhiihhhhhhiihhiiiiiihhhhhhiiiihhhhiiiihhiihhiiiiiiiiiiiiiiiihhiiiihhhhiiiiiihhiiiihhhhhhiihhiihhiihhiiiiiihhiiiihhiiiihhhhiihhiiiiiiiiiiiiiiiiiihhiiiiiihhiihhiihhiihhiihhgoԢngghiiiihhiiiiiiiiiiiiiiiiiiiiiiiihhiihhiihhiiiiiihhiihhiiiiiihhiiiiiihhiiiiiiiihhhhhhiiiiiiiiiihhiiiiiihhiihhiihhiiiiiiiiiiiiiiiiiiiihhiiiiiihhiihhiihhiihhhhhhiihhhhiihhhhhhhhiiiiiil۸vggiiiiihhiihhiiiiiihhiiiiiiiiiiiiiiiihhhhhhiiiihhiiiihhiiiihhhhiihhiihhiihhiihhiiiiiiiiiiiihhhhiiiiiiiiiiiihhiiiihhhhiihhhhiihhhhhhhhiihhiiiiiiiiiiiihhiiiiiiiiiiiiiiiihhiiiihhiihhiihhiiiihhiiiihhiiiihhiiiiiihhiiiiiiiiiihhhhhhiihhhhiiiihhiiiiiiiihhiiiiiiiiiihhiiiiiihhiihhhhhhiiiihhhhhhiihhiiiihhiihhhhiiiiiiiihhiiiiiihhhhiiiiiihhiiiiiihhhhhhiiiiiiiihhhhiiiihhhhiiiiiihhhhhhiiiihhiiiiiihfeܻwfgihhiiiiiihhihiihhiiiihhhhiihhiiiiiihhhhiihhiiiiiihhiihhhhhhhhiihhhhhhhhiiiihhiihhiihhiihhiiiihhiihhhhhhhhhhiihhhhhhiiiihhhhhhiihhiihhhhhhiiiiiihhiihhhhiiiihhhhiihhhhhhiihhhhiiiiiihhiiiiiiiihhhhhhiiiiiihhhhhhiihhhhhhifeܻwgghiihhiihhhhhhiihhhhhhhhhhiiiihhhhiiiihhiihhiihhhhiiiihhiiiiiiiihhiihhhhiiiihhiihhhhiihhhhiiiihhiihhhhiiiiiihhiiiiiihhhhhhhhhhiihhiiiiiiiiiiiiiihhiiiiiiiihhiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihhiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihhiiiiiiiihhiiiiiiiihhhhiiiiiiiiiihhiiiiiiiiiiiiiiiiiihhiiiihhiiiiiiiiiiiiiiiiiiihgwԢohhiiiiiiiiiiiiihhiiiihhiiiiiiiihhiiiiiiiiiiiiiiiiiiiiiiiiiihhiiiihhiiiiiiiiiiiiiiiiiiiiiiiihhiiiiiiiiiiiiiiiiiihhiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihhiiiiiihhiiiiiiiiiiiiiiiihhiiiiiiiiiihhiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihhiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihhiihhiiiiiiiiigfԢohhiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihhiiiiiiiiiiiiiihhiiiiiiiiiiiiiiiiiiiiiihhiiiiiiiiiiiiiihhiihhiihhiiiiiiiiiiiiiiiiiiiiihgwˈegiiiiiiiiiiiiihhiiiiiiiiiiiiiiiiiihhhhiiiiihgwˈefhiiiiiiiiiihhhhiihhiiiiiiiihhhhiihhiihhiiiiiiiiiiiiiihhiiiiiiiiiiiiiiiihhiihhiiiiiihhhhiihhiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihhiiiiiiiiiihhiiiiiiiiiiiiiiiiiiiihhiihhiiiiiiiihhiiiiiihhiiiihhiiiihhiiiihhiihhiiiiiiiiiiiihhiiiiiihhhhhhiiiihhhhhhiiiihhiiiiiiiiiiiihhiiiiiiiiiiihhgfgjs |ihhiiiiiiiiiiiiiihhiiiihhhhiiiiiiiihhhhiihhiiiiiihhiiiiiiiiiihhiiiiiihhiiiiiihhiiiihhiihhhhiihhhhiiiiiiiihhiihhiihggwÆggihhiiiiiiiiiiiiiiiihhiiiiiiiiiiiiiiiiiiiihhhhiiihhmxegiiihhiiiiiiiihhiiiiiihhiiiiiiiihhiiiiiihhiihhiihhhhiiiiiihhiiiihhhhiiiiiihhhhhhiiiihhhhhhhhiiiiiiiiihgwȥ{fgihhhhiiiiiiiiiiiihhhhhhhhiiiiiiiiiiiihhiiiihhgsղfgiiihhhhiiiihhiiiiiiiiiihhhhhhhhhhiiiiiiiihhiihhiiiihhiiiihhhhhhiiiiiihhiihhiiiiiiiiiiiiiiiiiiiiiihhiihhhhiiiiiihhhhiihhhhihhoܻwghihhiihhhhhhhhhhhhiiiiiiiihhhhiihhiihhhhhhiihhiiiiiihhhhhhiiiihhhhiiiihhiihhiiiiiiiiiiiiiiiihhiiiihhhhiiiiiihhiiiihhhhhhiihhiihhiihhiiiiiihhiiiihhiiiihhhhiihhiiiiiiiiiiiiiiiiiihhiiiiiihhiihhiihhiihhiihhgoԢoghhiiiihhiiiiiiiiiiiiiiiiiiiiiiiihhiihhiihhiiiiiihhiihhiiiiiihhiiiiiihhiiiiiiiihhhhhhiiiiiiiiiihhiiiiiihhiihhiihhiiiiiiiiiiiiiiiiiiiihhiiiiiihhiihhiihhiihhhhhhiihhhhiihhhhhhhhiiiiifeݿxfhiiiiihhiihhiiiiiihhiiiiiiiiiiiiiiiihhhhhhiiiihhiiiihhiiiihhhhiihhiihhiihhiihhiiiiiiiiiiiihhhhiiiiiiiiiiiihhiiiihhhhiihhhhiihhhhhhhhiihhiiiiiiiiiiiihhiiiiiiiiiiiiiiiihhiiiihhiihhiihhiiiihhiiiihhiiiihhiiiiiihhiiiiiiiiiihhhhhhiihhhhiiiihhiiiiiiiihhiiiiiiiiiihhiiiiiihhiihhhhhhiiiihhhhhhiihhiiiihhiihhhhiiiiiiiihhiiiiiihhhhiiiiiihhiiiiiihhhhhhiiiiiiiihhhhiiiihhhhiiiiiihhhhhhiiiihhiiiiiihfeܻwfhihhiiiiiihhiiiihhiiiihhhhiihhiiiiiihhhhiihhiiiiiihhiihhhhhhhhiihhhhhhhhiiiihhiihhiihhiihhiiiihhiihhhhhhhhhhiihhhhhhiiiihhhhhhiihhiihhhhhhiiiiiihhiihhhhiiiihhhhiihhhhhhiihhhhiiiiiihhiiiiiiiihhhhhhiiiiiihhhhhhiihhhhhhifeܻwgghiihhiihhhhhhiihhhhhhhhhhiiiihhhhiiiihhiihhiihhhhiiiihhiiiiiiiihhiihhhhiiiihhiihhhhiihhhhiiiihhiihhhhiiiiiihhiiiiiihhhhhhhhhhiihhiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihgxԢohhiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihhiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihfԢohhiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihgwˈefiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihgwˈefiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihhiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihhgghkqv{ܼnjhiiiiiiiiiiiiiiiihhiiiiiiiiiiiiiiiiiiiihhiiiiiiiiiiiiiiiiiiiiiiiiiihhiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihhiiiiiiiiihgsʋjhiiiiiiiiiiiiihhiiiiiiiiiiiiiiiiiihhiiiiiiiiiiiiihhqճfgiiiiiiiiiiiiiiiiiiiiiiiiiiihhiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihhsղfgiiiiiiihhiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihgwȥ{fgiiiiiiiiiiiiiiihhiiiiiihhiiiihhhhiiiiiiiiiiiiiiiiiiiihhiihhiihhiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihhiiiiiiiiiiiiiiiiiiihhoܻwghiiiiiiihhiiiiiiiiiiiihhiiiiiiiiiihhiiiiiihhiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihhiihhiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihhiiiiiiiiiiiiiiiiiihhiiiiiiiiiiiiiiiiihhoԢohhiiiiiiihhiihhiihhhhiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihhhhiiiiiiiiiiiiiihhhhiiiiiiiiiihhhhiihhiiiiiiiiiiiiiihhiiiiiiiiiiiiiiiiiihhiiiiiiiiiiiiiiiihhiihhiihhiihhiiiihhiiiiiiiiiiifeŢzghiiiiiiiiiiihhhhhhiihhiiiiiiiiiihhhhiiiihhiiiihhhhiihhiiiiiiiiiiiiiihhiiiiiiiiiiiiiiiiiihhhhhhiiiiiiiiiiiihhiihhiiiihhhhiiiihhiihhiiiiiihhiiiiiiiiiiiiiiiiiiiiiiiihhhhiiiiiiiiiiiiiiiiiiiiiiiiiiiihhiiiiiiiiiiiiiiiiiiiiiiiihhiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihhhhhhiiiiiiiihhiiiiiiiiiiiiiihhhhiiiiiihhiihhiiiiiiiihhiiiiiiiiiiiiiihhiiiiiiiiiiiiiiiihhiiiiiiiiiihhiiiihhiihhiihhiiiiiiiiiiiihhigeܻwfhihhhhiihhiiiihhiiiihhhhiiiiiiiihhiihhiiiiiiiihhhhiiiiiiiiiihhiihhiiiihhhhhhiiiihhhhiiiiiihhiiiiiiiihhiihhiihhiihhhhiiiihhhhiihhiiiiiiiiiiiihhiiiiiihhiiiiiiiiiihhiiiihhhhiihhiiiiiihhiiiihhiiiiiiiiiiiiiiiiiiiihhiiiiiiigeܻwfgihhhhiihhhhiiiiiihhhhiiiihhhhiiiiiiiiiiiiiiiiiiiiiihhiiiihhiiiihhhhhhiiiihhiiiihhiihhhhiiiihhiiiiiiiiiihhhhhhhhhhhhiiiihhiiiiiihhiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihgxԢohhiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihhiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihfԢohhiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihgz̋ihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihgz̋hhiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihhiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihgggjsР~nhhiiiiiiiiiiiiiiihhiiiiiiiiiiiiiiiiiiiihhiiiiiiiiiiiiiiiiiiiiiiiiiihhiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihhiiiiiiiiihhn}ДrkiiiiiiiiiiiiihhiiiiiiiiiiiiiiiiiihhiiiiiiiiiiiiihgvȦ|ggiiiiiiiiiiiiiiiiiiiiiiiiiiihhiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihn}྅ggiiiiiiihhiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiigg{ܼxghiiiiiiiiiiiiiiihhiiiiiiiiiiiihhhiiiiiiiiiiiiiiiiiiiiihhiihhiihhiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihhiiiiiiiiiiiiiiiiiiihhoܻwghiiiiiiihhiiiiiiiiiiiihhiiiiiiiiiihhiiiiiihhiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihhiihhiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihhiiiiiiiiiiiiiiiiiihhiiiiiiiiiiiiiiiiihhoԢohhiiiiiiihhiihhiihhhhiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihhhhiiiiiiiiiiiiiihhhiiiiiiiiiiihhhhiiiiiiiiiiiiiiiiiihhiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihhiihhiihhiihhiiiihhiiiiiiiiiiige˩}ggiiiiiiiiiiihhhhhhiihhiiiiiiiiiihhhiiiiihhiiiihhhhiiiiiiiiiiiiiiiiiihhiiiiiiiiiiiiiiiiiiiihhhhiiiiiiiiiiiihhiihhiiiihhhhiiiihhiihhiiiiiihhiiiiiiiiiiiiiiiiiiiiiiiihhhhiiiiiiiiiiiiiiiiiiiiiiiiiiiihhiiiiiiiiiiiiiiiiiiiiiiiihhiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihhhhhhiiiiiiiihhiiiiiiiiiiiiiihhhhiiiiiihhiihhiiiiiiiihhiiiiiiiiiiiiiihhiiiiiiiiiiiiiiiihhiiiiiiiiiihhiiiihhiihhiihhiiiiiiiiiiiihhigfܻwghihhhhiihhiiiihhiiiihhhhiiiiiiiihhiihhiiiiiiiihhhhiiiiiiiiiihhiihhiiiihhhhhhiiiihhhhiiiiiihhiiiiiiiihhiihhiihhiiihhhiiiihhhhiihhiiiiiiiiiiiihhiiiiiihhiiiiiiiiiihhiiiihhhhiihhiiiiiihhiiiihhiiiiiiiiiiiiiiiiiiiihhiiiiiiigeܻwfhihhhhiihhhhiiiiiihhhhiiiihhhhiiiiiiiiiiiiiiiiiiiiiihhiiiihhiiiihhhhhhiiiihhiiiihhiihhhhiiiihhiiiiiiiiiihhhhhhhhhhhhiiiihhiiiiiihhiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihgxԢohhiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiigfԢohhiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiigf~ϒojiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiigg~ϒojiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihhiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihhhhkqv{ܻwfhiiiiiiiiiiiiiiiiiiiiiiiiiiihhiiiiiiiiiiiiiiiiiiiiiiiiiiiihhiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiimԢohiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihg{ܼxghiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiimɋjhiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiigfدthiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihhhhiiiiiiiiihhoܻxghiiiiiiiiiiiiiiiiiiiiiiiiihhiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihhiiiiiiiiiiiiiiiiihhoԢohhiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihhiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihhiiigfүfgihhiiiiiiiiiiiiiiiiiiiiiihhiihhiiiiiiiiiiiiiihhiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihhiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihhiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiigfܻwghiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihhiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihhiiiiiiiihhiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihhiiiiiiiiiiigeܻwghhiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihhiiiiiiiiiiiiiiiiiihhiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihgxԢohhiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiigfӟ}nhiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiigfљvmiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiggљvlhiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihhiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihhghjuҲliiiiiiiiiiiiiiiiiiiiiiiiiiiihhiiiiiiiiiiiiiiiiiiiiiiiiiiiihhiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiigeدshiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiigfحshhiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiifeДrkiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiggԠ}oiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihhhhiiiiiiiiihhoܻxghiiiiiiiiiiiiiiiiiiiiiiiiihhiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihhiiiiiiiiiiiiiiiiihhoԢohiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihhiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihhiiigfضfgihhiiiiiiiiiiiiiiiiiiiiiihhiihhiiiiiiiiiiiiiihhiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihhiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihhiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiigfܻwghiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihhiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihhiiiiiiiihhiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihhiiiiiiiiiiigeܻxghhiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihhiiiiiiiiiiiiiiiiiihhiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiijjiiiiiiiiiijjiiiiiijjiiiiiiiiiijjiiiijjiiiiiiiijjiiiiiijjiiiiiiiiiiiiiiiiiiiiiiiiiiiijjiijjiiiijjiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiijjjjiiiiiiiiiiiiiiiiiiiiiiiiiiiijjjjiiiiiiiijjiihxԢohhiiijjiiiiiijjiiiijjiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiijjiiiiiiiiiiiiiiiiiiiiiiiiiiiijjiiiiiiiiiiiiiiiiiiiiiiiijjiiiiiijjjjiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiijjiiiiiiiiiiiiiiiiiiiiiiiiiiiiiijjiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiijjiiiiiiiiiiiiiiiijjiiiiiiiiiiiiiiiiiiiiiiiiiijjiiiiiiiiiiiiiiiiiiiiihfјvmiiiiiiiiiiiiiiijjiiiiiiiijjiiiiiiiiiiiiiiiiiiiiiiiiiiiiiijjiiiiiiiiiiiijjiiiiiiiiiiiijjiiiiiiiiiiiiiiiiiiiiiiiiiiiijjiiiiiiigfӟ}oiiijjiiiiiijjiiiiiiiiiiiiiiiiiiiiiiiiiiiiigfӟ}nhhiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiijjiiiiiiiiiiiiiiiiiiiiiijjiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiijjiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiijjiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihhhhilryɘxmiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiijjiiiiiiiiiiiiiiiiigfܼwgiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiigfҝzniiiiiiiiijjiiiiiiiiiiiiiiiiiiiiiiiiiijjiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiijjiiiiiiiiiiiiiiiiiiiiiiiiigfԢpiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihjΏmjiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihhoܻwghiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihhoԢohiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiigg޼fgiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiigfܻxghiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiigfܻxghiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiijjiiiiiiiiiijjiiiiiijjiiiiiiiiiijjiiiijjiiiiiiiijjiiiiiijjiiiiiiiiiiiiiiiiiiiiiiiiiiiijjiijjiiiijjiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiijjjjiiiiiiiiiiiiiiiiiiiiiiiiiiiijjjjiiiiiiiijjiihxԢohhiiijjiiiiiijjiiiijjiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiijjiiiiiiiiiiiiiiiiiiiiiiiiiiiijjiiiiiiiiiiiiiiiiiiiiiiiijjiiiiiijjjjiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiijjiiiiiiiiiiiiiiiiiiiiiiiiiiiiiijjiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiijjiiiiiiiiiiiiiiiijjiiiiiiiiiiiiiiiiiiiiiiiiiijjiiiiiiiiiiiiiiiiiiiiihgϒojiiiiiiiiiiiiiiijjiiiiiiiijjiiiiiiiiiiiiiiiiiiiiiiiiiiiiiijjiiiiiiiiiiiijjiiiiiiiiiiiijjiiiiiiiiiiiiiiiiiiiiiiiiiiiijjiiiiiiigfԢpiiijjiiiiiijjiiiiiiiiiiiiiiiiiiiiiiiiiiiiigfԢohiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiijjiiiiiiiiiiiiiiiiiiiiiijjiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiijjiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiijjiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiigfkxدsgiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiijjiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiijjiiiiiiiiiiiiiiiiihg~Ƥ{ghiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihj̑ojiiiiiiiiijjiiiiiiiiiiiiiiiiiiiiiiiiiijjiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiijjiiiiiiiiiiiiiiiiiiiiiiiiigg~دtiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiikrąefiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihhoܻxghiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihhoԢohiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihg~…fgiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiigfܻxgiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiigfܻxghiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiijjiijjjjjjjjiijjiijjiiiiiiiiiiiiiiiiiiiijjjjiiiijjiiiiiijjiiiiiiiiiijjjjjjiiiijjjjiiiijjjjiiiiiiiiiijjiiiiiijjiiiijjiijjiiiiiijjjjiiiiiijjiijjjjjjjjiiiiiijjjjiiiiiiiijjiiiiiijjiiiijjiiiijjjjiiiiiiiiiihxԢpiiijjiiiiiiiijjjjiiiijjiiiiiiiiiijjiijjiiiijjiijjiijjiiiiiiiijjjjiijjiiiiiiiiiijjiiiiiiiiiiiiiijjiijjiiiiiiiijjjjiijjiiiijjiiiiiijjiiiijjjjiiiiiiiiiijjjjiijjjjiijjjjiiiiiiiiiiiiiiiiiiiiiiiiiijjiijjjjiiiiiiiiiiiiiiiiiijjiiiiiiiiiijjjjjjiiiiiijjiijjiiiijjiijjjjjjiiiiiiiijjjjiiiiiiiiiiiijjiijjjhg̋ihiijiiiijjjjiiiiiijjiiiijjjjiiiiiiiiiijjiiiijjjjiijjiiiiiiiiiiiijjiiiiiiiijjiijjiiiijjjjiiiiiiiiiiiiiiiiiiiiiiiiiijjiiiiiijjiggԢohiijjjjiiiiiiiiiiiiiijjiijjiijjjjiiiijjiiihgԢpiiijjiiiiiiiiiijjiijjjjjjiiiiiiiiiijjiiiiiiiiiijjiijjiiiiiiiijjiiiijjiiiijjiijjiiiiiiiiiiiiiiiiiiiiiijjjjiijjjjiiiiiiiiiijjiiiiiiiiiiiiiijjjjiiiiiiiijjiiiiiiiijjjjiiiiiijjiiiiiijjiiiiiiiiiiiiiiiiiiiiiiiiiiiiiijjiiiiiiiijjiiiiiijjiijjiiiiiiiiiiiiiiiiiijjiiiiiiiiiijjjjiiiiiiiiiiiiiiiiiijiihhims|Ȧ{fgiiiiiiiiiiiiijjjjjjjjiiiiiiiiiiiiiiiijjiiiijjiiiiiiiiiijjjjiiiiiiiijjiiiiiiiiiiiiiiiijjiiiijjiiiiiiiiiiiijjiiihhzЮghiiiiiiiiiiiiiiiiiiiiiiijjiiiijjiiiiiiiiiiiiiiiksĈjiiiiiijjiiiiiiiiiijjiiiiiijjjjiiiijjiiiiiijjiiiiiiiiiiiiiiiiiiiijjiijjiiiiiijjiiiijjiijjiiiiiiiiiiiiiiiiihhyܻxhhiiiiiiiiiiijjiiiiiiiiiiiiiiiijjiiiiiijjiiho״fgiiijjiiiiiiiiiijjiiiijjiijjiiiiiiiiiiiijjiijjiiiiiiiijjiiiiiijjiiiiiiiiiiiijjiiiiiijjjjiiiiiiiiiiiiiijjiiiiiiiiiiiijjiiiiiiiiipܻxhiijjiiiiiiiiiiiiiiiiiiiiiijjiiiiiiiiiijjiiiiiiiiiijjiiiiiiiiiijjiiiiiiiiiiiiiiiiiijjiiiiiiiiiiiiiiiijjiiiiiiiiiiiiiiiiiiiiiiiijjiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiijjiiiiiiiiiiiiiiiiiiiiiijjiiiiiiiiiiiiiiipԢpiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiijjiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiijjiiiiiiiijjiiiiiiiiiiiiiiiiiiiiiiiiiijjjjiiiijjiiiiiiiiiiiiiijjiiiiiiiiiiiiiiihhzȇefiiiiiiijjiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiijjiijjiiiiiijjiiiiiiiiiiiiiiiiiiiiiiiijjiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiijjiiiijjiiiiiiiiiiiiiiiiiiiiiijjiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiijjiijjjjiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiijjiiiiiijjiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiijjiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiijjiijjiiiiiiiiigfܻwgiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiijjiiiiiiiiiiiiiiiiiiiiiiiijjiiiiiiiiiijiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiijjiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiijjiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiigfܻxghijjiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiijjiiiiiiiiiiiiiiiiiiiijjiijjjjjjjjiijjiijjiiiiiiiiiiiiiiiiiiiijjjjiiiijjiiiiiijjiiiiiiiiiijjjjjjiiiijjjjiiiijjjjiiiiiiiiiijjiiiiiijjiiiijjiijjiiiiiijjjjiiiiiijjiijjjjjjjjiiiiiijjjjiiiiiiiijjiiiiiijjiiiijjiiiijjjjiiiiiiiiiihxԢpiiijjiiiiiiiijjjjiiiijjiiiiiiiiiijjiijjiiiijjiijjiijjiiiiiiiijjjjiijjiiiiiiiiiijjiiiiiiiiiiiiiijjiijjiiiiiiiijjjjiijjiiiijjiiiiiijjiiiijjjjiiiiiiiiiijjjjiijjjjiijjjjiiiiiiiiiiiiiiiiiiiiiiiiiijjiijjjjiiiiiiiiiiiiiiiiiijjiiiiiiiiiijjjjjjiiiiiijjiijjiiiijjiijjjjjjiiiiiiiijjjjiiiiiiiiiiiijjiijjjhgˉfgijjiiiijjjjiiiiiijjiiiijjjjiiiiiiiiiijjiiiijjjjiijjiiiiiiiiiiiijjiiiiiiiijjiijjiiiijjjjiiiiiiiiiiiiiiiiiiiiiiiiiijjiiiiiijjihgԢohiijjjjiiiiiiiiiiiiiijjiijjiijjjjiiiijjiiihgԢpiiijjiiiiiiiiiijjiijjjjjjiiiiiiiiiijjiiiiiiiiiijjiijjiiiiiiiijjiiiijjiiiijjiijjiiiiiiiiiiiiiiiiiiiiiijjjjiijjjjiiiiiiiiiijjiiiiiiiiiiiiiijjjjiiiiiiiijjiiiiiiiijjjjiiiiiijjiiiiiijjiiiiiiiiiiiiiiiiiiiiiiiiiiiiiijjiiiiiiiijjiiiiiijjiijjiiiiiiiiiiiiiiiiiijjiiiiiiiiiijjjjiiiiiiiiiiiiiiiiiijjiiiiihgioܼliiiiiiiiiiiiiijjjjjjjjiiiiiiiiiiiiiiiijjiiiijjiiiiiiiiiijjjjiiiiiiiijjiiiiiiiiiiiiiiiijjiiiijjiiiiiiiiiiiijjiiiihvܹfhiiiiiiiiiiiiiiiiiiiiiiijjiiiijjiiiiiiiiiiiiiihpڸghjiiiijjiiiiiiiiiijjiiiiiijjjjiiiijjiiiiiijjiiiiiiiiiiiiiiiiiiiijjiijjiiiiiijjiiiijjiijjiiiiiiiiiiiiiiiiihhtȦ|ghiiiiiiiiiiijjiiiiiiiiiiiiiiiijjiiiiiijjiihtȦ|ghiiijjiiiiiiiiiijjiiiijjiijjiiiiiiiiiiiijjiijjiiiiiiiijjiiiiiijjiiiiiiiiiiiijjiiiiiijjjjiiiiiiiiiiiiiijjiiiiiiiiiiiijjiiiiiiiiipܻxhiijjiiiiiiiiiiiiiiiiiiiiiijjiiiiiiiiiijjiiiiiiiiiijjiiiiiiiiiijjiiiiiiiiiiiiiiiiiijjiiiiiiiiiiiiiiiijjiiiiiiiiiiiiiiiiiiiiiiiijjiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiijjiiiiiiiiiiiiiiiiiiiiiijjiiiiiiiiiiiiiiipԢpiiiiiiiiiiiiiiiiijjiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiijjiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiijjiiiiiiiijjiiiiiiiiiiiiiiiiiiiiiiiiiijjjjiiiijjiiiiiiiiiiiiiijjiiiiiiiiiiiiiiihhw͎liiiiiiiijjiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiijjiijjiiiiiijjiiiiiiiiiiiiiiiiiiiiiiiijjiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiijjiiiijjiiiiiiiiiiiiiiiiiiiiiijjiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiijjiijjjjiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiijjiiiiiijjiijjiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiijjiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiijjiijjiiiiiiiiigfܻxhiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiijjiiiiiiiiiiiiiiiiiiiiiiiijjiiiiiiiiiijjiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiijjiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiijjiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiigfܻxgiijjiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiijjiiiiiiiiiiiiiiiiiijjjjjjiijjjjjjiiiijjjjjjjjiijjjjjjjjjjiiiijjiijjiijjjjjjiijjjjjjjjjjiijjiijjjjjjjjjjjjiijjiijjjjjjjjiiiijjjjjjjjjjjjiijjjjjjjjjjiijjjjjjjjjjiijjjjiijjiijjjjjjjjjjjjjjjjiijjjjjjjjjjjjjjjjjjjjiijjjjjjjjjihxԢpiiijjjjiijjjjjjjjjjjjjjjjjjjjiiiiiijjjjiiiiiijjjjjjiiiijjiijjjjiiiiiijjjjjjjjjjiiiijjjjjjjjiijjjjjjjjiijjiijjiiiiiijjjjiijjjjjjjjiiiijjjjiijjiijjjjjjjjiijjjjjjiiiijjjjjjjjjjiijjiijjjjiijjjjjjjjiiiijjjjjjiiiiiiiijjjjjjjjjjjjiijjjjjjiijjiiiijjjjjjiijjjjiijjiijjiiiiiiiijjjjjjiijjjjiijjiijjiijjjhg̉fgjjjjjjjiijjiijjiiiijjjjjjjjiijjjjjjjjjjjjiijjjjjjiiiijjiiiiiijjjjiijjiiiiiijjiijjjjiijjjjiijjiiiijjjjiijjiijjjjiijjiijjjjjjihgԢpiiijjiijjjjiiiiiijjjjjjjjiijjjjiijjjjjjjjihgԢpiiiiiiijjiijjjjiijjiiiijjjjjjiiiiiiiiiijjiiiijjjjjjiijjjjjjiiiijjiijjjjiijjjjjjjjiijjiiiiiiiiiijjiiiiiiiijjjjiijjiijjjjjjjjiiiiiijjjjjjiijjjjjjjjiijjiiiiiiiijjiiiiiiiiiijjiiiijjiijjiiiijjiiiijjjjiiiijjiiiiiiiiiijjiijjjjjjiiiijjiijjiiiiiijjiiiijjiijjjjiiiijjiiiiiiiijjjjjjjjjjiiiijjiiiiiijjjjiihijox̙xmiiijjjjjjiiiiiiiijjiiiijjiijjiiiiiijjjjiijjjjiijjiijjjjiijjiijjjjjjiiiiiiiijjjjjjjjjjiiiiiiiiiijjiiiiiiiijjiiiiirƆfgiiijjiiiiiiiijjjjiijjjjiijjjjjjjjiiiiiiiijjihhuɨ}ghjiiiijjjjjjjjiiiijjiijjjjiijjjjiiiijjjjiiiijjiiiijjiiiiiiiijjiijjjjjjjjiijjiiiiiijjiijjjjiiiijjiiiijjiiiiipճghjjjiiiiiijjjjiiiijjiijjjjiiiijjjjiiiiiiihhxܼxhijiijjjjjjiiiijjiiiijjjjiiiijjiiiijjiijjjjiijjjjiiiijjiiiiiiiiiijjiijjjjiijjiiiijjiijjiiiiiiiiiijjjjiiiiiijjjjjjiijjjjiiiijjiiipܻxhijiiiiiiiiiijjjjiiiiiiiiiijjjjjjiijjjjiiiijjiiiijjiiiiiijjiijjiiiiiiiijjiijjiijjiiiiiiiiiiiijjiiiiiijjjjiijjiiiijjiiiijjiiiiiijjiiiijjiijjjjiijjiiiijjjjjjiiiiiijjjjjjjjiiiiiiiiiijjiiiijjiiiijjiiiiiijjjiipԢpiiiiiiiiijjjjiiiijjjjjjiiiiiijjjjjjiiiiiiiiiiiiiijjjjiiiiiiiijjiiiiiiiijjiiiiiijjiijjjjjjiijjjjiijjiiiiiijjiiiiiiiiiijjiiiiiiiiiijjiiiiiijjjjjjjjjjiiiijjiijjiiiijjjjjjjjjjiijjjjiiiihuқymiiiiijjjjiiiijjjjiijjiijjiijjiiiiiiiijjjjjjiijjiiiiiiiiiiiijjjjiiiiiiiiiiiiiiiijjjjjjjjjjiiiijjiiiiiijjiijjjjiiiiiiiiiijjiijjiijjiijjiijjjjjjjjjjiiiiiijjiijjiiiiiiiiiiiiiiiijjjjjjiiiijjiiiijjiiiijjjjiiiijjiiiijjiiiiiiiiiiiijjjjiiiiiiiiiijjjjiijjiijjiiiiiijjjjiiiiiiiiiijjjjjjiiiiiiiiiiiiiiiiiiiijjiiiiiiiijjiiiiiiiijjiiiiiijjiiiiiiiijjjjiiiiiiiijjiiiijjiiiiiijjjjjjiiiiiiiiiiiiiiiijjigfܻxhiiiiiiiiiijjiiiijjiijjiiiiiiiiiiiiiiiiiiiiiijjjjiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiijjjjjjiiiijjiiiiiiiiiiiiiiiiiiiijjiiiiiiiiiijjiiiijjjjiijjiiiijjjjiiiijjjjiiiiiijjiiiiiiiiiiiijjiiiiiiiijjiijjiiiiiiiiiiiiiiiiiiiijjiijgfܻxgijjjiiiiiiiiiiiiiiiiiijjiiiiiiiiiiiijjiiiiiiiiiiiijjiiiiiiiiiiiijjiiiiiiiijjiiiiiiiiiiiijjjjiiiiiiiiiiiijjiiiiiiiiiiiiiiiiiijjiiiijjjjjjiijjjjjjiiiijjjjjjjjiijjjjjjjjjjiiiijjiijjiijjjjjjiijjjjjjjjjjiijjiijjjjjjjjjjjjiijjiijjjjjjjjiiiijjjjjjjjjjjjiijjjjjjjjjjiijjjjjjjjjjiijjjjiijjiijjjjjjjjjjjjjjjjiijjjjjjjjjjjjjjjjjjjjiijjjjjjjjjihxԢpiiijjjjiijjjjjjjjjjjjjjjjjjjjiiiiiijjjjiiiiiijjjjjjiiiijjiijjjjiiiiiijjjjjjjjjjiiiijjjjjjjjiijjjjjjjjiijjjjjjiiiiiijjjjiijjjjjjjjiiiijjjjiijjiijjjjjjjjiijjjjjjiiiijjjjjjjjjjiijjiijjjjiijjjjjjjjiiiijjjjjjiiiiiiiijjjjjjjjjjjjiijjjjjjiijjiiiijjjjjjiijjjjiijjiijjiiiiiiiijjjjjjiijjjjiijjiijjiijjjhg̉fhjjjjjjjiijjiijjiiiijjjjjjjjiijjjjjjjjjjjjiijjjjjjiiiijjiiiiiijjjjiijjiiiiiijjiijjjjiijjjjjjjjiiiijjjjiijjiijjjjiijjiijjjjjjihfգpiiijjiijjjjiiiiiijjjjjjjjiijjjjiijjjjjjjjihfգpiiiiiiijjiijjjjiijjiiiijjjjjjiiiiiiiiiijjiiiijjjjjjiijjjjjjiiiijjiijjjjiijjjjjjjjiijjiiiiiiiiiijjiiiiiiiijjjjiijjiijjjjjjjjiiiiiijjjjjjiijjjjjjjjiijjiiiiiiiijjiiiiiiiiiijjiiiijjiijjiiiijjiiiijjjjiiiijjiiiiiiiiiijjiijjjjjjiiiijjiijjiiiiiijjiiiijjiijjjjiiiijjiiiiiiiijjjjjjjjjjiiiijjiiiiiijjjjjjjjiihioدthiijjjjjjiiiiiiiijjiiiijjiijjiiiiiijjjjiijjjjiijjiijjjjiijjiijjjjjjiiiiiiiijjjjjjjjjjiiiiiiiiiijjiiiiiiiijjjjiiimy͎liiiijjiiiiiiiijjjjiijjjjiijjjjjjjjiiiiiiiijjihg{ܻxhijiiiijjjjjjjjiiiijjiijjjjiijjjjiiiijjjjiiiijjiiiijjiiiiiiiijjiijjjjjjjjiijjiiiiiijjiijjjjiiiijjiiiijjiiiiilt࿅hhjjjiiiiiijjjjiiiijjiijjjjiiiijjjjiiiiiiihg|دtiijiijjjjjjiiiijjiiiijjjjiiiijjiiiijjiijjjjiijjjjiiiijjiiiiiiiiiijjiijjjjiijjiiiijjiijjiiiiiiiiiijjjjiiiiiijjjjjjiijjjjiiiijjiiipܼxhijiiiiiiiiiijjjjiiiiiiiiiijjjjjjiijjjjiiiijjiiiijjiiiiiijjiijjiiiiiiiijjiijjiijjiiiiiiiiiiiijjiiiiiijjjjiijjiiiijjiiiijjiiiiiijjiiiijjiijjjjiijjiiiijjjjjjiiiiiijjjjjjjjiiiiiiiiiijjiiiijjiiiijjiiiiiijjjiipԢpiiiiiiiiijjjjiiiijjjjjjiiiiiijjjjjjiiiiiiiiiiiiiijjjjiiiiiiiijjiiiiiiiijjiiiiiijjiijjjjjjiijjjjiijjiiiiiijjiiiiiiiiiijjiiiiiiiiiijjiiiiiijjjjjjjjjjiiiijjiijjiiiijjjjjjjjjjiijjjjiiiiisզqiiiiijjjjiiiijjjjiijjiijjiijjiiiiiiiijjjjjjiijjiiiiiiiiiiiijjjjiiiiiiiiiiiiiiiijjjjjjjjjjiiiijjiiiiiijjiijjjjiiiiiiiiiijjiijjiijjiijjiijjjjjjjjjjiiiiiijjiijjiiiiiiiiiiiiiiiijjjjjjiiiijjiiiijjiiiijjjjiiiijjiiiijjiiiiiiiiiiiijjjjiiiiiiiiiijjjjiijjiijjiiiiiijjjjiiiiiiiiiijjjjjjiiiiiiiiiiiiiiiiiiiijjiiiiiiiijjiiiiiiiijjiiiiiijjiiiiiiiijjjjiiiiiiiijjiiiijjiiiiiijjjjjjiiiiiiiiiiiiiiiijjigfܻxhiiiiiiiiiijjiiiijjiijjiiiiiiiiiiiiiiiiiiiiiijjjjiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiijjjjjjiiiijjiiiiiiiiiiiiiiiiiiiijjiiiiiiiiiijjiiiijjjjiijjiiiijjjjiiiijjjjiiiiiijjiiiiiiiiiiiijjiiiiiiiijjiijjiiiiiiiiiiiiiiiiiiiijjiijgfܻxgijjjiiiiiiiiiiiiiiiiiijjiiiiiiiiiiiijjiiiiiiiiiiiijjiiiiiiiiiiiijjiiiiiiiijjiiiiiiiiiiiijjjjiiiiiiiiiiiijjiiiiiiiiiiiiiiiiiijjiiiijjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjiijjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjihxԢpiijjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjiijjjjjjjjjjjjjjjjiijjjjjjjjjjjjjjjjjjjjjjjjiijjjjjjjjjjjjjjjjjjjjjjjjjjiijjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjiijjjjjjjjjjjjjjjjjjjjjjjjiiiijjiijjjjjjjjjjjjjjjjjjiijjjjjjjih̉fhijjjjiijjjjjjjjiijjjjjjjjjjjjjjjjjjjjjjjjjjjjjjiijjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjiijjjjjjjjjjjjiijjjjjjjjjjjjjjjjjjjhfէqiiijjjjjjjjjjjjjjjjjjjjjjjjjjjjiijjjjjjiijhfէqiijjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjiiiiiijjjjiijjjjjjjjjjjjiijjjjjjiijjjjiijjjjjjjjiijjiijjjjjjjjjjjjjjjjjjiijjjjjjjjjjjjjjiijjiijjjjjjjjiijjjjjjiiiijjjjjjjjiijjjjjjjjjjjjiiiijjjjjjjjjjjjjjiijjjjjjjjiijjjjiiiijjiijjjjjjiijjjjjjjjjjjjjjjjjjjjjjjjjjiiiijjjjiijjjjiijjjjjjjjiijjjjjjjjiijjjjjjjjiijjiiiijoxɦ|ghjjjjjiiiijjjjjjjjjjiiiijjjjjjiijjiijjiijjjjjjjjjjiiiijjjjjjiijjjjjjjjiijjjjjjjjjjiijjjjiijjjjjjjjjjiijjjjjjjjijlқyniijiijjiijjiiiijjjjjjjjjjjjjjiijjjjjjjjjjjjjhgدtiijjjjjjjiiiijjjjjjjjjjjjjjjjjjjjjjjjiijjjjjjjjiiiijjiijjjjjjjjjjjjjjjjiijjiijjiijjjjiijjiiiijjjjjjjjiijjiiiikɋkiijjjjjjjjiijjjjiijjjjjjiijjjjjjiijjjjjjjhgԢpiijjjjjjjjjiijjiijjiijjjjiijjiiiijjjjjjjjiijjiiiiiijjiijjiiiijjjjjjiijjjjjjjjjjjjjjjjjjjjiiiijjjjjjjjiijjiijjjjjjjjiijjjjiijjjiipܼxhijiijjjjjjjjjjjjiijjjjjjjjiijjjjjjjjjjjjjjiijjiijjjjiiiiiiiiiijjiijjiijjjjjjiijjjjjjjjjjjjjjiijjiiiiiijjjjjjiijjjjjjiijjjjiiiijjjjjjjjjjiijjjjjjiijjiijjjjiiiijjiijjiijjiiiijjiiiijjiijjjjjjjjjjjjjjjjiiiiipԢpiiiiijjjjiijjjjiijjjjjjjjjjjjjjiiiijjjjjjjjiijjjjjjiijjjjiiiijjjjiijjiijjiijjiiiiiiiijjiiiijjjjiiiiiiiijjjjiijjjjjjiijjjjjjjjjjiijjjjiijjiiiijjjjiiiijjjjjjjjiijjjjjjiiiiiiiijjjjjjjiiqجsiijjjjjjjjjiijjjjjjiijjiijjiiiijjjjjjjjjjjjiijjjjiijjiijjiijjiijjjjiiiiiijjjjiijjjjjjjjiijjjjjjjjiijjjjiijjjjjjjjjjiiiiiiiiiiiijjjjjjjjjjiijjiijjjjiijjiiiiiijjjjiiiijjjjjjjjjjjjiijjiiiiiijjjjjjiijjjjjjiijjjjiiiijjjjiijjiijjjjiiiijjjjiiiiiiiiiijjiijjjjjjjjiijjiiiiiijjiijjjjjjiijjiiiiiiiijjjjiiiijjiiiiiijjjjjjjjjjjjjjjjjjjjjjiijjiijjjjiijjiiiijjiijjiiiijjjjiijjiiiijjiijjjjjjiijjiijjjgfܻxhijiiiiiiiijjjjiiiijjjjjjjjjjiiiiiiiiiijjiiiiiiiijjiiiiiijjiijjiiiijjjjiiiijjiiiijjiiiiiiiiiijjjjjjjjiijjjjiijjjjjjjjiiiiiiiiiiiijjiijjjjjjjjiiiiiijjjjjjjjjjiiiijjiiiijjiiiiiiiijjjjiiiijjiijjiijjiijjjjiiiiiijjiijjiijjjhfܻxhijiiiijjiiiiiiiiiiiijjjjiijjiijjiijjiijjjjiijjjjjjiiiiiiiijjjjjjiijjiiiiiijjiijjiijjjjiijjiiiiiiiijjjjiijjjjjjjjiiiijjiijjiiiijjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjihxԢpiijjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjiijjjjjjjjjjjjjjjjiijjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjiiiijjiijjjjjjjjjjjjjjjjjjiijjjjjjjih̉fhijjjjiijjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjiijjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjiijjjjjjjjjjjjjjjjjjjhfخtiiijjjjjjjjjjjjjjjjjjjjjjjjjjjjiijjjjjjiijhfخtiijjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjiiiiiijjjjiijjjjjjjjjjjjiijjjjjjiijjjjiijjjjjjjjiijjiijjjjjjjjjjjjjjjjjjiijjjjjjjjjjjjjjiijjiijjjjjjjjiijjjjjjiiiijjjjjjjjiijjjjjjjjjjjjiiiijjjjjjjjjjjjjjiijjjjjjjjiijjjjiiiijjiijjjjjjiijjjjjjjjjjjjjjjjjjjjjjjjjjiiiijjjjiijjjjiijjjjjjjjiijjjjjjjjiijjjjjjjjiijjiijjjigmyܻjijjjjjiijjjjjjjjjjjjiiiijjjjjjiijjiijjiijjjjjjjjjjiiiijjjjjjiijjjjjjjjiijjjjjjjjjjiijjjjiijjjjjjjjjjiijjjjjjjjjhf֨riijiijjiijjiiiijjjjjjjjjjjjjjiijjjjjjjjjjjjjihԢpiijjjjjjjiiiijjjjjjjjjjjjjjjjjjjjjjjjiijjjjjjjjiiiijjiijjjjjjjjjjjjjjjjiijjiijjiijjjjiijjiiiijjjjjjjjiijjiiihfЕsliijjjjjjjiijjjjiijjjjjjiijjjjjjiijjjjjjjhhΖulijjjjjjjjjjiijjiijjiijjjjiijjiiiijjjjjjjjiijjiiiiiijjiijjiiiijjjjjjiijjjjjjjjjjjjjjjjjjjjiiiijjjjjjjjiijjiijjjjjjjjiijjjjiijjjiipܼxhijiijjjjjjjjjjjjiijjjjjjjjiijjjjjjjjjjjjjjiijjiijjjjiiiiiiiiiijjiijjiijjjjjjiijjjjjjjjjjjjjjiijjiiiiiijjjjjjiijjjjjjiijjjjiiiijjjjjjjjjjiijjjjjjiijjiijjjjiiiijjiijjiijjiiiijjiiiijjiijjjjjjjjjjjjjjjjiiiiipԢpiiiiijjjjjjjjjjiijjjjjjjjjjjjjjiiiijjjjjjjjiijjjjjjiijjjjiiiijjjjiijjiijjiijjiiiiiiiijjiiiijjjjiiiiiiiijjjjiijjjjjjiijjjjjjjjjjiijjjjiijjiiiijjjjiiiijjjjjjjjiijjjjjjiiiiiiiijjjjjjjjinyٲuhijjjjjjjjjiijjjjjjiijjiijjiiiijjjjjjjjjjjjiijjjjiijjiijjiijjiijjjjiiiiiijjjjiijjjjjjjjiijjjjjjjjiijjjjiijjjjjjjjjjiiiiiiiiiiiijjjjjjjjjjiijjiijjjjiijjiiiiiijjjjiiiijjjjjjjjjjjjiijjiiiiiijjjjjjiijjjjjjiijjjjiiiijjjjiijjiijjjjiiiijjjjiiiiiiiiiijjiijjjjjjjjiijjiiiiiijjiijjjjjjiijjiiiiijiijjjjiiiijjiiiiiijjjjjjjjjjjjjjjjjjjjjjiijjiijjjjiijjiiiijjiijjiiiijjjjiijjiiiijjiijjjjjjiijjiijjjhfܼyhijiiiiiiiijjjjiijjjjjjjjjjjjiiiiiiiiiijjiiiiiiiijjiiiiiijjiijjiiiijjjjiiiijjiiiijjiiiiiiiiiijjjjjjjjiijjjjiijjjjjjjjiiiiiiiiiiiijjiijjjjjjjjiiiiiijjjjjjjjjjiiiijjiiiijjiiiiiiiijjjjiiiijjiijjiijjiijjjjiiiiiijjiijjiijjjhfܻyhijiiiijjiiiiiiiiiiiijjjjiijjiijjiijjiijjjjiijjjjjjiiiiiiiijjjjjjjjjjiiiiiijjiijjiijjjjiijjiiiiiiiijjjjiijjjjjjjjiiiijjiijjiiiijjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjihxԢpijjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjhg̉fhjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjhf۷whijjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjhf۷whijjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjiijns{ɏojjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjigڵviijjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjikЕsljjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjhg~ԢpiijjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjikĊkjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjiijjiijjiijjjjjjjjjjjiipܼxhijjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjiijjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjiiiijjjjiijjjjjjjjjjjjjjjjjjjjjjjjjjiijjjjjjiijjjjjjjjjjjjjjjjjjjjjjiiiijjjjiijjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjiipԢpiijjjjjjjiijjjjjjjjiijjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjiijjjjjjjjjjjjjjjjjjjjjjjjjjjjiijjjjjjjjjjjjjjm۸whiijjjjjjjjjjjjjjjjiijjjjjjjjjjjjjjjjjjjjjjjjiijjjjjjjjiiiijjjjjjjjjjjjjjjjjjjjjjjjjjjjiijjjjjjiijjjjjjiijjjjjjjjjjjjjjjjjjjjjjjjjjjjjjiijjiijjjjjjjjjjjjjjjjjjjjjjjjiijjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjiijjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjiijjjjjjjjiijjjjjjjjjjiijjjjjjjjjjjjjjjjiijjjjjjjjjjjjiijjjjjjjjjjjjjjjjjjjjjjjjiijjjjjjjjjjiiiijjiijjjhgܼyiijiijjjjjjiijjjjijjjjjjjjjiijjiijjjjjjjjjjjjjjjjjjiijjjjiijjjjiiiijjiijjjjiijjjjjjiijjjjjjjjiijjjjjjjjjjiijjjjjjjjjjjjjjjjjjjjiijjiijjiijjjjiijjiiiiiiiijjjjjjjjjjjjjjjjjjjjiijjjjjjjjjjjjjjjjjjjjjjjjjjiijjjjjjjjjjjjiijhfܻyiijjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjiijjjjjjjjjjjjjjjjjjiijjjjjjjjiijjiijjjjjjiijjjjjjjjjjiijjjjjjjjjjiijjjjiiiiiijjiijjiijjjjiijjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjiiyԢpijjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjhg̉fhjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjhgܼyhijjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjhfܼyhijjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjihgpԠ~oiijjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjih}zhijjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjiltȋkijjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjihzدuiijjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjilsܹghjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjiijjiijjiijjjjjjjjjjjiipܼxhijjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjiijjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjiiiijjjjiijjjjjjjjjjjjjjjjjjjjjjjjjjiijjjjjjiijjjjjjjjjjjjjjjjjjjjjjiiiijjjjiijjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjiipԢpiijjjjjjjjjjjjjjjjjiijjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjiijjjjjjjjjjjjjjjjjjjjjjjjjjjjiijjjjjjjjjjjjjhf zhiijjjjjjjjjjjjjjjjiijjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjiiiijjjjjjjjjjjjjjjjjjjjjjjjjjjjiijjjjjjiijjjjjjiijjjjjjjjjjjjjjjjjjjjjjjjjjjjjjiijjiijjjjjjjjjjjjjjjjjjjjjjjjiijjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjiijjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjiijjjjjjjjiijjjjjjjjjjiijjjjjjjjjjjjjjjjjjjjjjjjjjjjjjiijjjjjjjjjjjjjjjjjjjjjjjjiijjjjjjjjjjiiijjjiijjjhgܼyiijiijjjjjjiijjjjjjjjjjjjjjiijjiijjjjjjjjjjjjjjjjjjiijjjjiijjjjiiiijjiijjjjiijjjjjjiijjjjjjjjiijjjjjjjjjjiijjjjjjjjjjjjjjjjjjjjiijjiijjiijjjjiijjiiiiiiiijjjjjjjjjjjjjjjjjjjjiijjjjjjjjjjjjjjjjjjjjjjjjjjiijjjjjjjjjjjjiijhfܼyiijjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjiijjjjjjjjjjjjjjjjjjiijjjjjjjjiijjiijjjjjjiijjjjjjjjjjiijjjjjjjjjjiijjjjiiiiiijjiijjiijjjjiijjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjiiyԢpiijjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjhh̉ghjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjhgܼxhijjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjhgܼyiijjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjiikqz۷whijjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjiiyʨ~hijjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjiiqܺhijjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjiivܼyhijjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjiipϬ~ghjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjipܼxhijjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjiipԢpiijjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjhgϬ~ghjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjhfܼyhijjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjhfܼyhijjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjiiyԢpijjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjhh̉ghjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjhgܼyhijjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjhgܼyiijjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjiik~̪}ghjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjiiuճhhjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjihvͫ~hijjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjirȦ|hijjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjiit {hijjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjipܼxhijjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjiipԢpiijjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjhgٶghjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjhfܼxhijjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjhfܼyhijjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjiiyԢqijjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjhh̊ghjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjhfܼyiijjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjhgܼyiijjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjijozགྷfhjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjipghjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjih{ݽyiijjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjimuճgijjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjihwڶwiijjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjipܼxhijjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjqգpiijjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjhh߼gijjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjhgܼxhijjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjhfܼyiijjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjiyԢqijjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjih̊gijjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjhfܼyiijjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjhgܼyiijjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjigqːpkjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjluʌkjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjhgدuijjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjk࿆iijjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjihzէriijjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjipܼyhijjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjqգpiijjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjihÇhijjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjhgܼxhijjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjhgܼyijjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkkjjjjjjjjjjjjjjjjjjjjkkjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkkjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkkjjjjjjjjjjkkjjjjkkjjjjjjjjkkjjjjjjjjjjjjjjjjiyԢpijjjjjjjjjjjjkkjjjjjjjjjjjjjjkkjjjjjjkkjjkkjjjjjjjjjjjjjjjjkkjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkkjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkkjjjjjjkkjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjih̊gijjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkkjjjjjjjjjjjjjjjhfܼyiijjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjhfܼyijjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjilrԥqijjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjlЗumjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjigԢpijjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjiiɌkjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjihЗumjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjqܼyiijjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjqգpiijjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjii{ʌkjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjhgܼxhijjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjhgܼyiijjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkkjjjjjjjjjjjjjjjjjjjjkkjjjjjjkkjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkkjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkkjjjjjjjjjjkkjjjjjjkkjjjjjjjjjjjjkkjjjjjjjjjjkkjjjjkkjjjjjjjjkkjjjjjjjjjjjjjjjjiyԣpijjjjjjjjjjjjkkjjjjjjjjjjjjjjkkjjjjjjkkjjkkjjjjjjjjjjjjjjjjkkjjjjjjjjjjjjjjjjjjjjkkjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkkjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkkjjjjjjkkjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjih̊gijjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkkjjjjjjjjkkjjjjjjjjjjjjjjjjmܼyijjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjmܼyijjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjiimy۷wiijjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjigգqjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjlЗumjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjihЖsmjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjigɌljjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjqܼyiijjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjqգpijjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjiiwЕsljjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjhgܼyijjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjhgܼyiijjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkkkkjjkkkkjjjjkkkkjjkkjjjjjjjjkkkkjjjjjjjjkkkkjjjjkkjjkkkkkkkkjjkkjjkkkkkkkkjjjjkkjjjjjjjjjjjjkkjjjjjjkkkkkkkkjjkkjjjjkkjjkkjjjjjjkkjjjjjjkkkkjjjjjjkkjjkkjjjjjjjjjjjkkkkkjjjjkkjjjjjjkkjjjjkkkkkkkkjjjjiyգqjjkjjkkjjjjjjkkkkjjjjjjjjjjjjjjjjjjkkkkkkjjkkjjkkjjkkkkjjkkkkjjkkjjjjjjkkkkkkkkkkjjjjkkjjkkkkkkjjkkkkjjjjjjjjjjjjjjjjjjjjjjkkjjkkkkjjjjjjkkjjkkjjkkjjjjjjkkjjkkjjjjkkjjkkkkkkkkkkjjjjkkjjjjjjjjkkkkjjjjjjjjkkkkjjjjkkjjjjjjkkjjjjjjjjjjkkjjkkjjkkjjjjjjjjjjjjkkjjjjjjjjjjjjjjkkjjjjjjjjjjjjjjkkjjjjkii̊gijjjjjjjkkkkjjkkkkjjjjjjjjkkkkjjkkjjjjjjkkjjjjkkjjkkkkjjjjjjkkjjjjjjjjjjjjjjjjjjkkkkjjkkjjkkjjjjkkkkjjjjkkjjkkkkjjkkjjkkjjkjjo{ܼyijjjjjjjjkkjjjjjjkkjjkkkkjjjjkkjjjjjjjjjjjnzܼyijjkkjjjjjjjjjjjjkkjjjjjjjjjjjjjjjjjjjjkkjjjkkjjjjjjjjjjjjjjjkkjjjjjjjjkkjjjjkkkkjjjjjjkkkkjjkkjjjjjjjjjjjjjjkkjjkkjjkkkkjjjjjjjjjjjjjjjjjjjjkkjjkkjjjjjjjjjjjjkkjjjjjjjjjjjjjjjjjjjjjjjjjjkkjjjjjjkkjjjjjjkkjjjjjjjjjjjjjjjjkkjjjjkkjjjjjjjjkkjjjjjjjjjjjjjjjjjjjjkkjjjjkkkkjjkkjjjjjjjjjjkkjjjjjjjjjjjjjjjjkkkkjjjjjjjjjjnzǥ|hijjjjjjjjjjjjjkkjjjjjjkkjjjjjjjjjjjjkkjjjjkkjjjjjjjjjjjjkkjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkkjjjjjjjjjjjjjjkkjihدuijjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkjjmuʌljjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkkkjjkkjjjjjjjjjjjjjjjjjjjjkkjjjjjjjjjjjjjjjjjjjjjjjjkkkkjjjjjjjjjjjjjjjjjjjih}ԣqjjjjjjjjjjjjjjjjjjjjjjjjjkkjjkkjjjjjig࿆iijjjjjjjjjjjkkjjjjkkjjjjjjjjjjjjjjkkjjjjjjjjjjkkjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkkjjjjjjjjjjjjjjjjjjjjjqܼyiijjjjjjjjjjjjjjjjjjjjjjjjjjjjjkkjjjjjjjjjjjjjjjjjjjjjjjjjjkkjjkkjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjqգqjjjjjkkjjjjjjjjjjjjjjjjjjjjjjjjkkjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkkjjkkjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkkjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjitԣqjjjjjjjjjjjjjjjjjjjjjjjkkjjkkjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkkjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjhgܼyiijjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjhgܼyijjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkkkkjjkkkkjjjjkkkkjjkkjjjjjjjjkkkkjjjjjjkkkkkkjjjjkkjjkkkkkkkkjjkkjjkkkkkkkkjjjjkkjjjjjjjjjjjjkkjjjjjjkkkkkkkkjjkkjjjjkkjjkkkkjjjjkkjjjjjjkkkkjjjjjjkkjjkkjjjjjjjjjjkkkkkkjjjjkkjjjjjjkkjjjjkkkkkkkkjjjjiyգqjjkjjkkjjjjjjkkkkjjjjjjjjjjjjjjjjjjkkkkkkjjkkjjkkjjkkkkjjkkkkjjkkjjjjjjkkkkkkkkkkjjjjkkjjkkkkkkjjkkkkjjjjjjkkjjjjjjjjjjjjjjkkjjkkkkjjjjjjkkjjkkjjkkjjjjjjkkjjkkjjjjkkjjkkkkkkkkkkjjjjkkjjjjjjjjkkkkjjjjjjjjkkkkjjjjkkjjjjjjkkjjjjjjjjjjkkjjkkjjkkjjjjjjjjjjjjkkjjjjjjjjjjjjjjkkjjkkjjjjjjjjjjkkjjjjkii̊gijjjjjjjkkkkjjkkkkjjjjjjjjkkkkjjkkjjjjjjkkjjjjkkjjkkkkjjjjjjkkjjjjjjjjjjjjjjjjjjkkkkjjkkjjkkjjjjkkkkjjjjkkjjkkkkjjkkjjkkjjkjjqܼyijjjjjjjjkkjjjjjjkkjjkkkkjjjjkkjjjjjjjjjjjqܼyijjkkjjjjjjjjjjjjkkjjjjjjjjjjjjjjjjjjjjkkjjkkkkjjjjjjjjjjjjjjkkjjjjjjjjkkjjjjkkkkjjjjjjkkkkjjkkjjjjjjjjjjjjkkkkjjkkjjkkkkjjjjjjjjjjjjjjjjjjjjkkjjkkjjjjjjjjjjjjkkjjjjjjjjjjjjjjjjjjjjjjjjjjkkjjjjjjkkjjjjjjkkjjjjjjjjjjjjjjjjkkjjjjkkjjjjjjjjkkjjjjjjjjjjjjjjjjjjjjkkjjjjkkkkjjkkjjjjjjjjjjkkjjjjjjjjjjjjjjjjkkkkjjjjjjjjjjjmu׵iijjjjjjjjjjjjjkkjjjjjjkkjjjjjjjjjjjjkkjjjjkkjjjjjjjjjjjjkkjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkkjjjjjjjjjjjjjjkkjji{ܺyijjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkjjq῅gijjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkkkkjjkkjjjjjjjjjjjjjjjjjjjjkkjjjjjjjjjjjjjjjjjjjjjjjjkkkkjjjjjjjjjjjjjjjjjjjjixذuijjjjjjjjjjjjjjjjjjjjjjjjkkjjkkjjjjjjmճiijjjjjjjkkjjkkjjjjkkjjjjjjkkjjjjjjkkjjjjjjjjjjkkjjjjjjjjjjjjjjkkjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkkjjjjjjjjjjjjjjjjjjjjjqܼyijjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkkjjjjjjjjjjjjjjjjjjjjjjjjjjkkjjkkjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkkjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkkjjjjjjjjjjjjjjjjjqգqjjjjjkkjjjjjjjjjjjjjjjjjjjjjjjjkkjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkkjjkkjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkkjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjqخtjjjjjjjjjjjjjjjjjjjjjjjkkjjkkjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkkjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjigܼyiijjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjigݼyijjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkkkkjjkkkkkkkkjjkkjjkkkkkkkkkkjjkkjjjjkkkkkkkkkkjjkkkkkkjjkkkkjjjjjjkkkkkkjjkkkkkkkkjjjjkkkkjjkkkkjjkkkkkkkkkkjjkkkkjjjjkkjjkkkkkkkkkkjjjjkkkkkkkkkkjjkkkkkkkkkkkkkkkkkkjjkkjjkkkkkkkkkkkkkkkkkkkkkkkkkkkjiyգqjjkkkjjjjjjkkkkkkkkjjjjkkkkkkjjkkkkkkkkkkkkkkkkjjkkjjkkjjkkkkjjkkkkjjjjkkkkjjkkjjkkkkjjkkkkkkkkkkjjkkkkkkjjjjkkkkkkkkjjkkjjjjkkjjjjkkjjkkjjjjkkjjjjkkjjjjkkjjjjkkkkkkkkkkjjjjjjkkkkkkkkkkkkkkjjkkkkkkkkjjjjjjjjkkjjkkkkkkkkjjkkkkjjkkkkkkkkkkjjkkkkkkkkjjjjjjjjkkkkkkkkkkjjkkkkjjjjjjkkkkkkkkkkkkjjjii̊gikkkkkkkkkjjkkkkjjkkkkkkjjkkkkjjkkjjkkjjjjkkjjkkkkjjkkkkkkjjkkkkjjjjkkjjkkkkkkkkkkkkjjkkkkkkjjjjkkkkkkkkjjjjkkkkkkkkkkjjjjjjjqܼyijjjjjjkkkkjjjjkkkkkkjjkkkkkkkkkkjjjjkkjjjqܼyijkjjjjkkjjjjkkkkjjjjkkjjkkkkjjkkkkkkkkjjkkkkkkkkkkjjjjjjkkjjkkjjkkkkjjjjjjkkkkkkkkjjkkkkkkkkkkjjjjkkjjjjkkkkjjkkkkjjjjjjkkkkkkkkkkkkkkkkkkjjkkkkjjjjjjkkkkjjkkjjjjkkkkjjjjjjjjkkkkjjkkkkkkjjkkjjkkjjjjkkkkkkjjjjkkjjkkkkkkkkkkkkkkjjjjjjjjkkkkkkkkkkkkjjkkjjkkkkjjjjjjkkkkjjkkkkkkkkkkkkkkjjjjkkkkkkkkkkjjjjjjjjkkkkkkjjkjjkmuƌljjjjjjkkkkkkjjjjjjkkjjjjkkjjkkjjkkjjjjkkjjjjkkkkjjkkjjjjkkkkjjjjkkkkjjkkjjjjjjjjjjkkkkkkjjjjjjkkjjjjjjkkkkjjkjiwĢ|ijkkkkkjjkkkkkkkkjjjjjjkkjjjjjjjjkkjjjjiuѯhjkkkkkjjjjkkjjjjjjjjjjkkjjjjkkjjjjkkjjjjjjjjjjjjkkjjkkkkkkjjkkjjjjkkkkjjjjjjkkjjjjjjkkjjkkkkjjjjkkkkjjjjkkjjkkkkjjjsܼyijkjjkkjjkkjjkkkkjjkkjjkkkkjjkkkkkjjnzɧ}ijkkkjjkkkkjjjjkkjjjjjjjjkkjjkkkkkkjjkkjjjjjjkkkkkkkkjjjjjjkkjjjjjjjjkkjjjjkkkkjjkkjjkkjjkkkkjjjjjjkkkkjjjjkkjjjjkkjjjjjjkkjjjjkkjjjqܼyijkjjjjkkjjjjkkkkjjjjjjjjkkkkjjkkkkkkjjkkjjjjkkjjkkkkjjjjjjkkjjkkjjjjjjjjkkjjjjjjkkjjjjjjjjjjjjjjjjjjkkkkkkjjjjkkkkjjjjjjkkjjkkjjjjjjkkkkjjkkkkjjjjjjjjjjjjjjjjjjjjjjjjkkjjkkjjjjjjkkkkkkkkkkkkjjjjjjjjjjkjjqգqjjjkkkkjjjjjjkkjjjjjjkkkkjjjjkkjjjjjjkkjjjjkkkkjjkkjjjjkkkkjjjjjjjjjjkkjjkkjjjjjjkkjjkkkkjjjjjjjjkkkkjjkkjjkkjjjjjjjjkkjjjjkkkkjjkkkkjjjjjjjjjjjjkkjjkkjjkkkkkkkkkkjjkkjjjjjjjjjjjjjjjjjny۷xijjkkjjjjkkkkjjjjjjjjjjjjjjkkjjjjjjkkjjkkkkjjjjjjjjkkjjjjkkjjkkjjkkjjjjjjjjkkkkkkjjkkkkjjjjjjjjjjjjkkkkkkjjkkkkkkjjjjjjjjjjjjjjjjjjjjjjjjkkkkjjjjjjjjjjkkkkjjjjjjjjjjkkjjjjjjjjjjkkjjjjjjjjkkjjkkkkkkjjkkjjjjjjjjkkjjjjjjjjkkjjjjjjjjjjjjjjjjjjjjjjjjjjjjkkjjjjkkjjjjkkkkkkjjjjjjkkjjjjjjjjjjjjjjkkjjkkkkjjjjjjjjjjjjjjjjkkjjjjjjjjjjjjjjjjjjjjjjjjjjjjkkjjjjjjjjjjjjjjkkjjjjjjjjjjkkjjjjjjjjjigܼyijjkkjjjjjjjjkkjjjjjjjjjjjjjjjjjjjjjjkkjjjjkkjjjjjjjjjjjjjjkkjjjjjjjjkkjjjjjjjjjjjjkkjjjjjjkkjjkkjjjjkkjjjjkkjjjjjjjjjjjjkkjjjjjjjjkkkkjjjjjjjjjjjjjjkkjjjjjjjjjjjjjjkkkkjjjjjjjjjjjjjjjjjjjjjjjjjjkkjjjjjjjjjjjjkkjjjjkkjigݼyijjkkjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkkjjkkjjjjjjjjjjjjjjkkjjjjjjkkjjjjjjjjjjjjjjjjkkkkjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkkkkjjkkkkkkkkjjkkjjkkkkkkkkkkjjkkjjjjkkkkkkkkkkjjkkkkkkjjkkkkjjjjjjkkkkkkjjkkkkkkkkjjjjkkkkjjkkkkjjkkkkkkkkkkjjkkkkjjjjkkjjkkkkkkkkkkjjjjkkkkkkkkkkjjkkkkkkkkkkkkkkkkkkjjkkjjkkkkkkkkkkkkkkkkkkkkkkkkkkkjizգqjjkkkjjjjjjkkkkkkkkjjjjkkkkkkjjkkkkkkkkkkkkkkkkjjkkjjkkjjkkkkjjkkkkjjjjkkkkjjkkjjkkkkjjkkkkkkkkkkjjkkkkkkjjjjkkkkkkkkjjkkjjjjkkjjjjkkjjkkjjjjkkjjjjkkjjjjkkjjjjkkkkkkkkkkjjjjjjkkkkkkkkkkkkkkjjkkkkkkkkjjjjjjjjkkjjkkkkkkkkjjkkkkjjkkkkkkkkkkjjkkkkkkkkjjjjjjjjkkkkkkkkkkjjkkkkjjjjjjkkkkkkkkkkkkjjjii̊hikkkkkkkkkjjkkkkjjkkkkkkjjkkkkjjkkjjkkjjjjkkjjkkkkjjkkkkkkjjkkkkjjjjkkjjkkkkkkkkkkkkjjkkkkkkjjjjkkkkkkkkjjjjkkkkkkkkkkjjjjjjjqݼyijjjjjjkkkkjjjjkkkkkkjjkkkkkkkkkkjjjjkkjjjqܼyijkjjjjkkjjjjkkkkjjjjkkjjkkkkjjkkkkkkkkjjkkkkkkkkkkjjjjjjkkjjkkjjkkkkjjjjjjkkkkkkkkjjkkkkkkkkkkjjjjkkjjjjkkkkjjkkkkjjjjjjkkkkkkkkkkkkkkkkkkjjkkkkjjjjjjkkkkjjkkjjjjkkkkjjjjjjjjkkkkjjkkkkkkjjkkjjkkjjjjkkkkkkjjjjkkjjkkkkkkkkkkkkkkjjjjjjjjkkkkkkkkkkkkjjkkjjkkkkjjjjjjkkkkjjkkkkkkkkkkkkkkjjjjkkkkkkkkkkjjjjjjjjkkkkkkjjkkkkjjkЖtmjjjjjkkkkkkjjjjjjkkjjjjkkjjkkjjkkjjjjkkjjjjkkkkjjkkjjjjkkkkjjjjkkkkjjkkjjjjjjjjjjkkkkkkjjjjjjkkjjjjjjkkkkjjkjjsϭijkkkkkjjkkkkkkkkjjjjjjkkjjjjjjjjkkjjjjiz {ijkkkkkjjjjkkjjjjjjjjjjkkjjjjkkjjjjkkjjjjjjjjjjjjkkjjkkkkkkjjkkjjjjkkkkjjjjjjkkjjjjjjkkjjkkkkjjjjkkkkjjjjkkjjkkkkjjjnzǥ}ijkjjkkjjkkjjkkkkjjkkjjkkkkjjkkkkkjjsܺyijkkkjjkkkkjjjjkkjjjjjjjjkkjjkkkkkkjjkkjjjjjjkkkkkkkkjjjjjjkkjjjjjjjjkkjjjjkkkkjjkkjjkkjjkkkkjjjjjjkkkkjjjjkkjjjjkkjjjjjjkkjjjjkkjjjqܼyijkjjjjkkjjjjkkkkjjjjjjjjkkkkjjkkkkkkjjkkjjjjkkjjkkkkjjjjjjkkjjkkjjjjjjjjkkjjjjjjkkjjjjjjjjjjjjjjjjjjkkkkkkjjjjkkkkjjjjjjkkjjkkjjjjjjkkkkjjkkkkjjjjjjjjjjjjjjjjjjjjjjjjkkjjkkjjjjjjkkkkkkkkkkkkjjjjjjjjjjkjjqգqjjjkkkkjjjjjjkkjjjjkkkkkkkkjjkkkkjjjjkkjjjjkkkkjjkkjjjjkkkkjjjjjjjjjjkkjjkkjjjjjjkkjjkkkkjjjjjjjjkkkkjjkkjjkkjjjjjjjjkkjjjjkkkkjjkkkkjjjjjjjjjjjjkkjjkkjjkkkkkkkkkkjjkkjjjjjjjjjjjjjjjjjlq {ijjkkjjjjkkkkjjjjjjjjjjjjjjkkjjjjjjkkjjkkkkjjjjjjjjkkjjjjkkjjkkjjkkjjjjjjjjkkkkkkjjkkkkjjjjjjjjjjjjkkkkkkjjkkkkkkjjjjjjjjjjjjjjjjjjjjjjjjkkkkjjjjjjjjjjkkkkjjjjjjjjjjkkjjjjjjjjjjkkjjjjjjjjkkjjkkkkkkjjkkjjjjjjjjkkjjjjjjjjkkjjjjjjjjjjjjjjjjjjjjjjjjjjjjkkjjjjkjjjjjkkkkkkjjjjjjkkjjjjjjjjjjjjjjkkjjkkkkjjjjjjjjjjjjjjjjkkjjjjjjjjjjjjjjjjjjjjjjjjjjjjkkjjjjjjjjjjjjjjkkjjjjjjjjjjkkjjjjjjjjjigܼyijjkkjjjjjjjjkkjjjjjjjjjjjjjjjjjjjjjjkkjjjjkkjjjjjjjjjjkkjjkkjjjjjjjjkkjjkkjjkkjjjjkkjjjjjjkkjjkkjjjjkkjjjjkkjjjjjjjjjjjjkkjjjjjjjjkkkkjjjjjjjjjjjjjjkkjjjjjjjjjjjjjjkkkkjjjjjjjjjjjjjjjjjjkkjjjjjjkkjjjjjjjjjjjjkkjjjjkkjigݼyijjkkjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkkjjkkjjjjjjjjjjjjjjkkjjjjjjkkjjjjjjjjjjjjjjjjkkkkjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkkkkkkkkkkkkkkjjjjjjkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkjjkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkjjkkkkkjjzգqjjkkkkkkkjjkkkkkkkkkkkkkkkkkkkkkkkkkkkkjjkkjjkkkkkkkkkkkkkkkkjjkkkkkkkkjjkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkjjkkkkkkkkkkkkjjkkjjkkkkjjjjkkkkjjkkkkjjkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkjjjjkkkkkkjjkkkkjjkkkkjjkkkkkkkkkkkkkkjjkkkji̊hikkkkkkkkkkkkkkkkkkkkkkkkkkkkkjjkkkkkkkkjjkkkkkkkkkkjjkkkkkkkkkkkkkkkkkkkkkkkkkkjjkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkjjjqݼzjjkkkkkkkkkkkkkkkkkkkkkkkkkkkjjkkkkkkkkkjjqܼyijjjjkkkkkkkkkkkkkkjjkkjjjjkkkkkkkkkkjjkkkkjjjjkkkkkkkkkkkkjjkkjjkkkkkkkkjjkkjjkkjjjjkkkkkkkkkkkkkkjjkkkkkkkkjjkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkjjkkkkkkkkkkkkjjkkkkkkkkkkkkkkkkkkkkjjkkkkkkkkkkkkkkkkkkkkkkkkjjkkkkkkkkkkjjkkkkkkjjkkkkkkkkkkkkkkkkkkkkjjkkkkkkkkkkkkkkkkjjkkkkkkkkjjkkkkkkkkkkjjkkkkkkkkjjkkjjkkkkjjkkkkkkkkkjjjjuգqjjjkkjjjjkkkkjjkkkkkkjjkkjjkkkkkkkkkkkkkkjjkkkkkkjjjjjjkkkkjjkkkkkkkkkkjjkkjjkkkkkkkkkkkkkkjjkkjjkkkkkkkkkkkjjozܺhikkkkkkkjjkkkkkkkkkkkkkkkkkkkkkkkkkkkjiڶwijkjjkkkkkkkkjjkkkkkkkkkkkkkkjjkkkkkkkkjjkkkkjjjjkkkkjjjjkkkkjjjjkkkkkkkkkkjjjjkkkkkkkkkkkkkkkkkkkkkkkkkkkkjjkkjjjjjkmЯijkkkkkjjjjkkkkkkkkkkkkkkkkkkkkkkjjiw׫sjjkjjkkkkjjkkjjkkjjkkjjkkkkjjjjkkkkkkkkkkkkkkjjkkkkjjjjkkkkkkjjkkkkkkkkkkkkjjkkkkkkkkjjjjkkjjkkkkkkjjkkkkkkkkkkjjkkkkkkjjkkkkkkkkkjjqܼyijkkkjjkkkkjjjjkkkkkkjjkkkkkkkkjjkkjjjjkkjjkkkkjjkkjjkkjjkkkkkkkkjjjjjjjjjjjjkkkkjjjjjjkkkkkkkkkkkkkkkkkkkkjjjjkkjjkkkkjjkkkkkkkkkkkkkkjjjjkkkkkkjjkkkkkkkkkkjjkkjjkkkkkkkkkkkkkkkkkkjjkkkkkkkkkkkkkkjjkkkjjqգrjjkkkkkjjjjjjkkjjkkkkkkkkjjjjjjjjkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkjjkkjjjjjjjjkkjjkkkkkkkkjjjjkkkkkkkkkkkkkkjjkkjjjjjjkkkkkkkkkkkkjjkkkkkkkkjjjjkkkkjjjjjjkkjjkkkkkkkkkkkkkkjjkkkkjjkkjjkkjjkϬijkkkjjjjkkkkkkjjjjjjkkjjkkkkkkkkkkkkkkkkjjjjkkjjkkkkjjkkkkjjkkjjjjjjkkkkkkjjkkkkkkkkkkkkkkkkjjkkkkkkjjjjkkjjkkkkkkjjkkkkkkkkkkkkjjkkkkkkjjkkjjkkkkjjkkkkjjkkkkjjkkjjkkkkjjkkkkkkkkkkkkkkjjjjjjkkjjkkjjkkkkkkjjjjkkkkkkjjjjkkjjjjkkjjjjkkkkjjkkjjjjkkkkkkjjkkkkjjjjjjjjkkkkkkjjkkjjkkkkjjjjkkjjkkkkkkkkjjjjkkkkjjkkkkjjkkkkkkkkjjjjjjkkkkkkkkkkkkkkjjkkjjkkkkkkjjjjjjkkjjkkkkkkkkjjkkkkkkkkkkkigܼyijkkkkkjjkkkkjjkkjjkkkkjjkkkkjjkkkkkkkkjjjjkkjjjjjjkkkkjjkkjjjjkkjjkkkkjjkkkkkkjjjjkkkkjjjjjjkkkkkkjjjjjjkkkkjjjjkkkkjjkkkkjjkkkkjjkkkkjjkkkkkkkkjjjjkkjjjjkkjjjjjjjjjjkkkkkkkkkkjjjjjjjjkkkkkkkkjjkkjjkkjjkkjjjjkkkkjjjjjihݼyijjjjjjjjkkkkjjkkjjjjjjkkjjjjkkkkkkkkjjkkkkjjkkjjkkkkkkkkjjjjkkkkjjjjkkkkkkkkkkjjjjjjkkjjjjkkjjkkkkjjkkjjjjkkkkjjkkjjkkjjjjjjjjkkjjkkkkkkkkkkkkkkjjjjjjkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkjjkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkjjkkkkkjjzգqjjkkkkkkkjjkkkkkkkkkkkkkkkkkkkkkkkkkkkkjjkkjjkkkkkkkkkkkkkkkkjjkkkkkkkkjjkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkjjkkkkkkkkkkkkjjkkjjkkkkjjjjkkkkjjkkkkjjkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkjjjjkkkkkkjjkkkkjjkkkkjjkkkkkkkkkkkkkkjjkkkji̊hikkkkkkkkkkkkkkkkkkkkkkkkkkkkkjjkkkkkkkkjjkkkkkkkkkkjjkkkkkkkkkkkkkkkkkkkkkkkkkkjjkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkjjjqܼzjjkkkkkkkkkkkkkkkkkkkkkkkkkkkjjkkkkkkkkkjjqܼzijjjjkkkkkkkkkkkkkkjjkkjjjjkkkkkkkkkkjjkkkkjjjjkkkkkkkkkkkkjjkkjjkkkkkkkkjjkkjjkkjjjjkkkkkkkkkkkkkkjjkkkkkkkkjjkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkjjkkkkkkkkkkkkjjkkkkkkkkkkkkkkkkkkkkjjkkkkkkkkkkkkkkkkkkkkkkkkjjkkkkkkkkkkjjkkkkkkjjkkkkkkkkkkkkkkkkkkkkjjkkkkkkkkkkkkkkkkjjkkkkkkkkjjkkkkkkkkkkjjkkkkkkkkjjkkjjkkkkjjkkkkkkkkkkkkjmuٱvjjjkkjjjjkkkkjjkkkkkkjjkkjjkkkkkkkkkkkkkkjjkkkkkkjjjjjjkkkkjjkkkkkkkkkkjjkkjjkkkkkkkkkkkkkkjjkkjjkkkkkkkkkkkkjlqĊkjkkkkkkkjjkkkkkkkkkkkkkkkkkkkkkkkkkkkji֩sjjkjjkkkkkkkkjjkkkkkkkkkkkkkkjjkkkkkkkkjjkkkkjjjjkkkkjjjjkkkkjjjjkkkkkkkkkkjjjjkkkkkkkkkkkkkkkkkkkkkkkkkkkkjjkkjjjjkihܺhjkkkkkjjjjkkkkkkkkkkkkkkkkkkkkkkjji{Ҝzojjkjjkkkkjjkkjjkkjjkkjjkkkkjjjjkkkkkkkkkkkkkkjjkkkkjjjjkkkkkkjjkkkkkkkkkkkkjjkkkkkkkkjjjjkkjjkkkkkkjjkkkkkkkkkkjjkkkkkkjjkkkkkkkkkjjqܼyijkkkjjkkkkjjjjkkkkkkjjkkkkkkkkjjkkjjjjkkjjkkkkjjkkjjkkjjkkkkkkkkjjjjjjjjjjjjkkkkjjjjjjkkkkkkkkkkkkkkkkkkkkjjjjkkjjkkkkjjkkkkkkkkkkkkkkjjjjkkkkkkjjkkkkkkkkkkjjkkjjkkkkkkkkkkkkkkkkkkjjkkkkkkkkkkkkkkjjkkkjjqգqjjkkkkkjjjjjjkkjjkkkkkkkkjjjjjjjjkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkjjkkjjjjjjjjkkjjkkkkkkkkjjjjkkkkkkkkkkkkkkjjkkjjjjjjkkkkkkkkkkkkjjkkkkkkkkjjjjkkkkjjjjjjkkjjkkkkkkkkkkkkkkjjkkkkjjkkjjkkjihܹhjkkkjjjjkkkkkkjjjjjjkkjjkkkkkkkkkkkkkkkkjjjjkkjjkkkkjjkkkkjjkkjjjjjjkkkkkkjjkkkkkkkkkkkkkkkkjjkkkkkkjjjjkkjjkkkkkkjjkkkkkkkkkkkkjjkkkkkkjjkkjjkkkkjjkkkkjjkkkkjjkkjjkkkkjjkkkkkkkkkkkkkkjjjjjjkkjjkkjjkkkkkkjjjjkkkkkkjjjjkkjjjjkkjjjjkkkkjjkkjjjjkkkkkkjjkkklnnljjiijjjkkkkjjkkjjkkkkjjjjkkjjkkkkkkkkjjjjkkkkjjkkkkjjkkkkkkkkjjjjjjkkkkkkkkkkkkkkjjkkjjkkkkkkjjjjjjkkjjkkkkkkkkjjkkkkkkkkkkkigܼyijkkkkkjjkkkkjjkkjjkkkkjjkkkkjjkkkkkkkkjjjjkkjjjjjjkkkkjjkkjjjjkkjjkkkkjjkkkkkkjjjjkkkkjjjjjjkkkkkkjjjjjjkkkkjjjjkkkkjjkkkkjjkkkkjjkkkkjjkkkkkkkkjjjjkkjjjjkkjjjjjjjjjjkkkkkkkkkkjjjjjjjjkkkkkkkkjjkkjjkkjjkkjjjjkkkkjjjjjihݼyijjjjjjjjkkkkjjkkjjjjjjkkjjjjkkkkkkkkjjkkkkjjkkjjkkkkkkkkjjjjkkkkjjjjkkkkkkkkkkjjjjjjkkjjjjkkjjkkkkjjkkjjjjkkkkjjkkjjkkjjjjjjjjkkjjkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkjjkkkkkkkkkjjzգqjjkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkjjkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkji̊hikkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkjjkkkkkkkkkkkkkkkkkkkkkkkkkkkkkjjqܼzjjkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkjjqܼzjjkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkjjkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkjjkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkjjkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkmy{ijkkkkkkkkkkkkkkkjjkkkkkkjjkkjjkkkkkkkkkkkkkkkkkkkkkkkkkkjjkkkkkkkkjjkkkkkkkkkkkkkkkkkkkkjjkkkkjjkkkkkkkkjjkkkjk̒qlkkkkkkkkkkkkkjjkkkkkkkkkkkkkkkkkkkkkklҜznjjkkkkkjjkkkkkkkkkkkkkkkkkkkkjjkkkkkkkkkkkkkkkkkkkkkkkkkkjjkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkjjkkkkkkkkkkkihƇgikkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkjiΏmkjjjkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkjjkkkkkkkkkkkkkkkkkkkkkkjjkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkjjqܼyijkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkjjkkkkkkkkkkkkjjjjjjkkkkkkjjkkkkkkkkjjkkjjkkkkkkkkkkkkkkkkkkjjkkkkkkkkjjkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkjjkkkkkkkkkkkkkkkkjjjjkjjqգqjjjkkkkkkkkkkkkjjkkkkkkkkkkkkkkkkkkjjkkjjjjjjkkkkkkjjkkkkkkkkkkkkjjkkkkkkkkkkkkkkkkkkkkkkkkjjkkkkkkkkkkkkkkkkkkjjjjkkkkjjkkkkkkkkkkkkjjkkkkkkjjkkkkkkkkjjkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkjiiƇhikkkjjkkkkkkjjkkjjkkkkkkkkjjkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkjjkkkkjjkkkkjjjjkkkkkkkkkkkkkkkkkkkkkkkkkkjjkkkkkkkkjjkkkkkkjjkkkkkkkkjjkkkkkkkkkkkkjjkkjjkkjjkkkkkkkkkkkkkkkkkkkkkkjjkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkjjkkkkkkkkkkkkjjkkkowxrmiiiijjjkkkkkkkjjjjjjkkkkkkkkkkkkkkkkkkkkkkkkjjkkkkkkkkkkkkkkkkkkkkjjkkkkkkkkkkkkkkkkkkjjkkkkkkkkkkkkjjkkkkkkkkkkkkkkkkkkkkkigܼyijjkkkkkkjjkkkkkkkkkkjjkkjjkkkkkkkkkkkkkkkkjjjjkkkkkkkkkkkkkkjjkkkkkkkkjjkkkkkkkkkkkkkkjjkkkkkkkkjjkkkkjjjjkkkkkkjjkkkkjjkkkkkkjjjjkkjjkkkkkkjjkkkkkkkkkkjjjjkkkkjjkkjjjjkkkkkkkkkkkkjjkkjjkkjjkkjjkkkkkkkkkkkkkkkkjjjjkkjigݼzijkkkkkkkkkkkkkkkkkkkkkkkkkjjkkkkkkkkkkkkkkkkkkkkkkjjkkjjkkjjkkjjkkkkkkkkkkkkjjkkkkkkjjjjkkkkkkkkjjkkkkkkkkkkkkkkkkjjjjkkkkkkkkjjkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkjjzգrjjkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkjjkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkji̊hikkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkjjkkkkkkkkkkkkkkkkkkkkkkkkkkkkkjjqܼzjjkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkjjrܼzjjkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkjjkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkjjkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkjjkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkjmuЭijkkkkkkkkkkkkkkkjjkkkkkkjjkkjjkkkkkkkkkkkkkkkkkkkkkkkkkkjjkkkkkkkkjjkkkkkkkkkkkkkkkkkkkkjjkkkkjjkkkkkkkkjjkkkihқyojkkkkkkkkkkkkjjkkkkkkkkkkkkkkkkkkkkkmtˑqlkkkkkkkjjkkkkkkkkkkkkkkkkkkkkjjkkkkkkkkkkkkkkkkkkkkkkkkkkjjkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkjjkkkkkkkkkkkji~ΐnkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkjhŇhikjjkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkjjkkkkkkkkkkkkkkkkkkkkkkjjkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkjjqܼyjjkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkjjkkkkkkkkkkkkjjjjjjkkkkkkjjkkkkkkkkjjkkjjkkkkkkkkkkkkkkkkkkjjkkkkkkkkjjkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkjjkkkkkkkkkkkkkkkkjjjjkjjqգqjjjkkkkkkkkkkkkjjkkkkkkkkkkkkkkkkkkjjkkjjjjjjkkkkkkjjkkkkkkkkkkkkjjkkkkkkkkkkkkkkkkkkkkkkkkjjkkkkkkkkkkkkkkkkkkjjjjkkkkjjkkkkkkkkkkkkjjkkkkkkjjkkkkkkkkjjkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkjji~͎ljkkkjjkkkkkkjjkkjjkkkkkkkkjjkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkjjkkkkjjkkkkjjjjkkkkkkkkkkkkkkkkkkkkkkkkkkjjkkkkkkkkjjkkkkkkjjkkkkkkkkjjkkkkkkkkkkkkjjkkjjkkjjkkkkkkkkkkkkkkkkkkkkkkjjkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkjjkkkkkkkkkkkkjjkjjv~zuqmjjijjjjjjjjjjkkkkkkkkkkkkkkkkkkkkkkkkjjkkkkkkkkkkkkkkkkkkkkjjkkkkkkkkkkkkkkkkkkjjkkkkkkkkkkkkjjkkkkkkkkkkkkkkkkkkkkkihܼyijjkkkkkkjjkkkkkkkkkkjjkkjjkkkkkkkkkkkkkkkkjjjjkkkkkkkkkkkkkkjjkkkkkkkkjjkkkkkkkkkkkkkkjjkkkkkkkkjjkkkkjjjjkkkkkkjjkkkkjjkkkkkkjjjjkkjjkkkkkkjjkkkkkkkkkkjjjjkkkkjjkkjjjjkkkkkkkkkkkkjjkkjjkkjjkkjjkkkkkkkkkkkkkkkkjjjjkkjigܼzjjkkkkkkkkkkkkkkkkkkkkkkkkkjjkkkkkkkkkkkkkkkkkkkkkkjjkkjjkkjjkkjjkkkkkkkkkkkkjjkkkkkkjjjjkkkkkkkkjjkkkkkkkkkkkkkkkkjjjjkkkkkkkkjjkkkkllllkkkkkkkkllllkkkkkkkkkkllllkkkkkkllkkkkkkkkkkkkkkllkkkkllllllllkkkkkkkkllkkkkkkllkkkkkkllkkkkkkkkkkkkkkkkkkkkkkllkkkkkkkkkkkkkkkkkkkkllkkllllkkkkkkkkkkkkkkkkkkkkkkllkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkjjzգrjjkkkkkkkkkllkkkkkkkkllkkkkkkkkkkllkkkkkkllkkllkkkkkkllkkkkkkkkkkkkkkllkkkkkkkkkkkkllllkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkllkkllkkkkkkkkkkkkkkkkkkkkkkkkllkkkkkkkkkkkkkkkkkkkkkkllkkkkkkllllkkkkkkkkkkkkkkkkkkkkllkkkkkkkkkkkkkkkkkkkkkkllkkllkkkkllkkkkkkkkkkkkkkkkkkkkkklji̊hikkkkkkkkkkkkkkkkkllkkkkkkkkkkkkkkkkllkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkllkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkjjqܼzjjkkkkkkkkkkkkkkkkkkkkkkkkkkkllkkkkkkkkkjjrܼzjjkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkllkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkllkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkllkkkkkkkkllkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkllkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkllkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkmܺijkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkji~դqjjkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkjjqkjkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkjjzҜzojkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkih׵hjkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkjjqܼzjjkkkkkkkkkkkkkkkjjjjkkkkkkkkkkkkkkkkkkkkkkjjkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkjjqգqjjkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkji{Зumkkkjjkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkihʿtmjiiijjjkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkihܼzjjkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkjjkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkjjkkkkkkkkkkkkjjkkkkkkkkkkkkkkkkjjkkkkkkkkkkkihܼyjjkkkkkkkkkkkkkkkkkkkkkkkkkkkjjkkkkkkkkkkjjkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkjjkkkkkkjjkkkkkkkkkkjjkkkkkkkkkkkkkkkkllllkkkkkkkkllllkkkkkkkkkkllllkkkkkkllkkkkkkkkkkkkkkllkkkkllllllllkkkkkkkkllkkkkkkllkkkkkkllkkkkkkkkkkkkkkkkkkkkkkllkkkkkkkkkkkkkkkkkkkkllkkllllkkllkkkkkkkkkkkkkkkkkkllkkkkkkkkllkkkkkkkkkkllkkkkkkkkkjjzգrjkkkkkkkkkkllkkkkkkkkllkkkkkkkkkkllkkkkkkllkkllkkkkkkllkkkkkkkkkkkkkkllkkkkkkkkkkkkllllkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkllkkllkkkkkkkkkkkkkkkkkkkkkkkkllkkkkkkkkkkkkkkkkkkkkkkllkkkkkkllllkkkkkkkkkkkkkkkkkkkkllkkkkkkkkkkkkkkkkkkkkkkllkkllkkkkllkkkkkkkkkkkkkkkkkkkkkklji̊hikkkkkkkkkkkkkkkkkllkkkkkkkkkkkkkkkkllkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkllkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkjjqܼzjjkkkkkkkkkkkkkkkkkkkkkkkkkkkllkkkkkkkkkkjqݼzjjkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkllkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkllkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkllkkkkkkkkllkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkllkkkkkkkkkkkkkkkkkkkkkkkkllkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkllkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkjjsĈjjkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkjjzذujjkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkjjvֳijkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkjju֩sjjkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkknȧ~ijkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkjjqܼzjjkkkkkkkkkkkkkkkjjjjkkkkkkkkkkkkkkkkkkkkkkjjkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkjjrգqjjkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkjjxգqjjkjjkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkjlɼ~zvqmjjjjjjkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkihܼzjjkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkjjkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkjkkkkkkkkkkkkkjjkkkkkkkkkkkkkkkkjjkkkkkkkkkkkihܼyjjkkkkkkkkkkkkkkkkkkkkkkkkkkkkjkkkkkkkkkkjjkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkjjkkkkkkjjkkkkkkkkkkjjkkkkkkkkkkkkkkkkllkkkkkkkkkkllkkkkllkkkkkkkkkkkkllkkllkkkkllllllkkkkllkkkkllllkkllkkkkkkkkllkkllkkllkkkkkkkkllllkkkkllkkkkkkkkllllllllkkkkllkkkkkkllllkkkkllkkllkkllkkllllkkllllllkkllkkkkllkkllkkkkkkkkkkkkllllkkkkkkkjjzգrkklllllkkllkkllkkkkllkkkkllkkllkkllkkllllllllkkkkllkkkkllkkkkllllkkkkllkkkkkkkkkkllkkkkkkllllkkllkkkkkkllkkllkkllkkkkllllkkkkkkkkkkkkllkkkkkkllkkkkkkllkkkkkkkkllkkkkllkkkkkkllllkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkllkkkkllkkkkllllkkkkllllkkllkkkkllllkkkkkkkkkkkkllllllkkkkkkllkkkkllkkllkkllkkkkkklllji̊hikllllllkkkkkkkkllkkkkkkkkkkkkkkkkkkkkkkkkkkllkkkkkkkkllkkkkkkllkkkkllllllkkkkkkllllkkkkkkkkllkkllkkkkkkkkllllllkkllkkllkkkjjqܼzjklkkkkkkllkkkkllkkkkkkllkkllkkkkllllkklkjqݼzjjkllkkllkkllkkkkkkllkkkkkkllllkkkkllkkkkkkllllllkkkkkkkkkkkkkkkkkkkkllkkkkllkkkkkkkkkkkkkkkkkkkkllkkkkkkkkllllkkkkllllkkkkkkkkkkllllkkkkkkkkkkkkkkkkllkkllkkkkkkllkkkkkkkkkkkkllkkllllkkkkkkllkkkkkkkkkkkkkkkkllkkllkkkkkkkkkkllllllkkkkkkkkkkllkkkkllkkkkkkkkllkkkkkkllkkkkllkkkkllkkkkkkllkkkkllkkkkkkkkkkkkkkkkkkkkkkkkkkllkkkkjmsˍmjkkkkkkkkkkkllkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkllkkllllkkkkkkkklllkkkkkkkkkkkkkllkkkkllllkkkkkkkkkkllkkkkkkkkkklkjuܼzjjlkkllkkkkkkkkkkkkllkkkkllkkkkllkjj{ɧ~ijkkkllllllkkkkkkkkkkkkkkkkkkkkkkkkllkkkkkkllkkkkkkkkllkkkkllkkkkkkkkkkkkkkkkllkkkkllkkllllkkkkkkkkkkkkkkkkllllkkllkkkkjp|۶xjjkkkkkkkkkkkkkkkkkkkkkkkkkkklkkozܼzjjkkkkkkkllkkkkkkkkkkkkkkkkllkkllkkkkkkkkkkkkkkkkkkkkkkkkkkkkllkkkkkkkkkkkkkkkkkkkkkkllllkkkkkkllllkkkkkkkkkkkkllkkkkkkllllkkkkkkkkkjjqܼzjjkkkkkkkkkkkkkkkkkkkkkkkkkkkllkkkkkkllkkkkkkkkkkkkkkkkkkllllkkkkklllkkkkkkkkllkkkkkkkkllkkkkkkkkkkkkllkkkkllkkkkkkkkkkkkkkllkkkkkkkkkkllkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkllkkkkkkkkkkkkkkkkkkkkkkkkkkllkkkkkjjrգqjjkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkllkkkkkkkkkkkkkkkkllkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkllkkkkkkkkkkkkllkkllkkkkkkkkkkkkkkkkkkllkkkkkkkkkkkkllkkkkkkkkkkkkkkkjjsذujjkkkkkkkllkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkllkkkkkkkkkkkkllkkllkkkkkkkkkkkkkkkkkkllkkkkkkkkkkkkllkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkllkkkkkkkkkkkkkkkkkkkkllkkkkkkkkkkkkkkllkkkkllkkkkkkkkkkkkknvɿumjiijjkkkkkkkkkkkkkkkkkkkkkkkkkkkkkllkkkkllkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkihܼzjjkllkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkllkkkkkkkkkkkkkkkkkkkkkkllkkkkkkkkkkllkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkihܼzjjkkkkkkkkkkkkkkkllkkkkkkllkkkkkkkkkkkkkkkkkkkkllkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkllkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkllkkkkkkkkkkllkkkkllkkkkkkkkkkkkllkkllkkkkllllllkkkkllkkkkllllkkllkkkkkkkkllkkllkkllkkkkkkkkllllkkkkllkkkkkkkkllllllllkkkkllkkkkkkllllkkkkllkkllkkllkkllllkkllllllkkllkkkkllkkllkkkkkkkkkkkkllllkkkkkkkjjzգrkklllllkkllkkllkkkkllkkkkllkkllkkllkkllllllllkkkkllkkkkllkkkkllllkkkkllkkkkkkkkkkllkkkkkkllllkkllkkkkkkllkkllkkllkkkkllllkkkkkkkkkkkkllkkkkkkllkkkkkkllkkkkkkkkllkkkkllkkkkkkllllkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkllkkkkllkkkkllllkkkkllllkkllkkkkllllkkkkkkkkkkkkllllllkkkkkkllkkkkllkkllkkllkkkkkkllljj̊hjkllllllkkkkkkkkllkkkkkkkkkkkkkkkkkkkkkkkkkkllkkkkkkkkllkkkkkkllkkkkllllllkkkkkkllllkkkkkkkkllkkllkkkkkkkkllllllkkllkkllkkkkjqݼzjklkkkkkkllkkkkllkkkkkkllkkllkkkkllllkklkkq~ܼzjjkllkkllkkllkkkkkkllkkkkkkllllkkkkllkkkkkkllllllkkkkkkkkkkkkkkkkkkkkllkkkkllkkkkkkkkkkkkkkkkkkkkllkkkkkkkkllllkkkkllllkkkkkkkkkkllllkkkkkkkkkkkkkkkkllkkllkkkkkkllkkkkkkkkkkkkllkkllllkkkkkkllkkkkkkkkkkkkkkkkllkkllkkkkkkkkkkllllllkkkkkkkkkkllkkkkllkkkkkkkkllkkkkkkllkkkkllkkkkllkkkkkkllkkkkllkkkkkkkkkkkkkkkkkkkkkkkkkkllkkkkkji|Жumkkkkkkkkkkkllkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkllkkllllkkkkkkkkllllkkkkkkkkkkkkllkkkkllllkkkkkkkkkkllkkkkkkkkkklkjrɧ~ijlkkllkkkkkkkkkkkkllkkkkllkkkkllkjiܻzjjkkkllllllkkkkkkkkkkkkkkkkkkkkkkkkllkkkkkkllkkkkkkkkllkkkkllkkkkkkkkkkkkkkkkllkkkkllkkllllkkkkkkkkkkkkkkkkllllkkllkkkkklqá|jjkkkkkkkkkkkkkkkkkkkkkkkkkkklkjsذvjjkkkkkkkllkkkkkkkkkkkkkkkkllkkllkkkkkkkkkkkkkkkkkkkkkkkkkkkkllkkkkkkkkkkkkkkkkkkkkkkllllkkkkkkllllkkkkkkkkkkkkllkkkkkkllllkkkkkkkkkjjqݼzjjkkkkkkkkkkkkkkkkkkkkkkkkkkkllkkkkkkllkkkkkkkkkkkkkkkkkkllllkkkkllllkkkkkkkkllkkkkkkkkllkkkkkkkkkkkkllkkkkllkkkkkkkkkkkkkkllkkkkkkkkkkllkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkllkkkkkkkkkkkkkkkkkkkkkkkkkkllkkkkkkjrգqjkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkllkkkkkkkkkkkkkkkkllkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkllkkkkkkkkkkkkllkkllkkkkkkkkkkkkkkkkkkllkkkkkkkkkkkkllkkkkkkkkkkkkkkkkjozݾzjjkkkkkkkllkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkllkkkkkkkkkkkkllkkllkkkkkkkkkkkkkkkkkkllkkkkkkkkkkkkllkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkllkkkkkkkkkkkkkkkkkkkkllkkkkkkkkkkkkkkllkkkkllkkkkkkkkkkkkkrɼ~zvrmjjjjjjkkkkkkkkkkkkkkkkkkkkkllkkkkllkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkllkkkkkkkkkkkkkkkkkkkkkkkkkihܼzjjkllkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkllkkkkkkkkkkkkkkkkkkkkkkllkkkkkkkkkkllkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkllkkkkkkkkkkkkkkkkkkllkkkkkkkkllkkkkkkkkkkllkjhܼzjjkkkkkkkkkkkkkkkllkkkkkkllkkllkkkkkkkkkkkkkkkkllkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkllkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkllkkkkllkkllkkllllkkllkkkkkkkkkkkkkkllllllkkllllkkllkkkkllllllkkllkkllllllllllkkllllllkkkkllllllllkkllllllkkllkkkkllllkkkkllllkkllkkllkkkkkkkkllllllllkkkkkkkkllllllllllllkkllkkllkkkkllkkllllljjzգrkkkllllkkllllkkkkkkkkkkkkllllllllllkkkkllllllllllllllkkllllkkkkllllkkkkkkllkkkkllllkkkkkkkkkkllkkllllllllkkllkkllkkllllllkkllllllllllkkllllllkkllkkllllkkkkkkkkkkkkllkkkkkkllllkkllkkkkllkkllkkkkkkllllllllllkkllkkllllllllkkkkllkkkkllllllllllkkllllkkkkllkkllkkkkkkllllllkkkkkkllllllkkllllllllkkljj̊hjlkkllkkllllllkkkkllkkllkkllkkllkkkkkkkkllkkkkllkkkkllllkkllllllkkkkllkkkkkkllllllllllllllllllllkkllkkkkllkkllllkkllkkllllkkknxݼzjkkkkllkkllllllkkkkkkllllkkllllllllkkkkllkoyܼzjjlkkkkllkkllllkkllllkkllllkkllkkllkkllllkkllllkkllllkkllkkllllkkllkkllllkkkkllkkkkkkllkkllllkkllkkkkkkkkllllllllllllkkllkkllllkkllllllllllkkllllkkkkllllkkllkkllkkkkllkkkkllllkkkkkkkkkkllllkkkkkkllkkkkkkkkllkkllllkkllkkllllllkkllllkkllkkkkllkkllkkkkllkkkkkkllkkllkkkkkkllllkkllkkkkllllllkkkkllkkkkkkllkkllkkkkllllllkkkkkklllkjrգqkklllllkkllllkkllkkllkkllkkkkkkllllkkkkkkllkkllllkkllllkkllllllkkllllllkkkkllkkllllllllkkkkkkkkllllkkkkkkkkkkkmuִijlllkkkkllllkkkkllkkkkllllkkkkkkkjh׫tjkkllkkllkkkkkkkkllllllllkkllkkllkkllllkkllkkkkkkllllllllkkkkkkllllkkkkllkkllllllllkkllllkkkkllllkkkkkkllllkkkkllllkkkkkkkϭjjlllllkkkkkkllkkkkkkkkllkkkkkjjxգrkkkllkkllllkkkkkkkkkkkkkkkkkkkkkkkkkkllllllllkkkkllkkkkkkkkllllkkllkkkkkkllkkkkkkllllkkllkkkkkkllkkkkllkkllllkkllkkkkllkkkkkkllllkkkjjrݼzjjkkkkkllkkllkkllkkkkllllkkllkkkkkkkkkkkkkkkkkkllllkkkkkkkkllllkkllllkkllllllkkkkkkllllkkkkkkkkkkkkllkkkkllllllllkkkkkkkkllkkkkllllkkkkkkllkkkkkkkkkkllkkkkkkllllllllkkkkkkkkkkllkkkkkkllllllllllllkkkkkklkkqգrkklkkkkkkllkkllkkllllkkllkkllkkllllkkllllllkkllllkkkkkkllkkkkllllllkkkkkkkkkkllkkkkkkllllllkkkkkkllkkkkkkkkkkkkkkllkkkkkkkkkkkkllllkkllkkkkkkkkkkllkkllkkkkkkkkllllkkkkkkkkkkkkkkllkkkkkkklnάijkkkkkllkkkkllllllkkkkkkkkkkllkkkkkkllllllkkkkkkllkkkkkkkkkkkkkkllkkkkkkkkkkkkllllkkllkkkkkkkkkkllkkllkkkkkkkkllllkkkkkkkkkkkkkkllkkkkkkllkkkkllllllkkkkkkkkkkkkllkkkkllllkkllkkkkkkkkkkkkkkllllkkkkllllkkkkllllkkkkkkllkkkkkkkkllllllkkkkllkkkkkkkkkkkkjvtmjiijjkkkkkllllkkkkkkkkkkkkkkkkllkkkkkkkkkkllkkkkkkkkkkkkkkllkkkkkkkkkkkkkkkkkkkkkkkkllkkkkkkkkkkkkljhܼzjjkkkkkkkkkkkkkllllkkkkkkkkkkkkkkkkkkkkllkkkkkkkkkkkkkkkkkkkkkkllkkkkkkllllkkkkkkkkkkkkllkkllkkkkkkkkllkkllkkllkkkkkkkkllllkkkkllkkkkkkkkllllllllkkkkkkkkkkkkllllkkkkllkkllkkllkkkkkkkkllllllkkkkkkkkllkkllkkkkkkkkkkkkkkljhܼzjjkkkkkllkkkkkkkkkkkkllllllllllkkkkkkkkllkkkkkkkkllkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkllkkkkllllllkkkkkkllkkkkkkkkkkkkkkllkkllllllkkkkkkkkkkkkllkkkkllkkllkkllllkkllkkkkkkkkkkkkkkllllllkkllllkkllkkkkllllllkkllkkllllllllllkkllllllkkkkllllllllkkllllllkkllkkkkllllkkkkllllkkllkkllkkkkkkkkllllllllkkkkkkkkllllllllllllkkllkkllkkkkllkklllllkjzգrkkkllllkkllllkkkkkkkkkkkkllllllllllkkkkllllllllllllllkkllllkkkkllllkkkkkkllkkkkllllkkkkkkkkkkllkkllllllllkkllkkllkkllllllkkllllllllllkkllllllkkllkkllllkkkkkkkkkkkkllkkkkkkllllkkllkkkkllkkllkkkkkkllllllllllkkllkkllllllllkkkkllkkkkllllllllllkkllllkkkkllkkllkkkkkkllllllkkkkkkllllllkkllllllllkkljj̊hjlkkllkkllllllkkkkllkkllkkllkkllkkkkkkkkllkkkkllkkkkllllkkllllllkkkkllkkkkkkllllllllllllllllllllkkllkkkkllkkllllkkllkkllllkkkmrܽzjkkkkllkkllllllkkkkkkllllkkllllllllkkkkllkmrܼzjklkkkkllkkllllkkllllkkllllkkllkkllkkllllkkllllkkllllkkllkkllllkkllkkllllkkkkkkkkkkkkkkjjjkjjjjjjjjjjjjjjklllllllllllkkllkkllllkkllllllllllkkllllkkkkllllkkllkkllkkkkllkkkkllllkkkkkkkkkkllllkkkkkkllkkkkkkkkllkkllllkkllkkllllllkkllllkkllkkkkllkkllkkkkllkkkkkkllkkllkkkkkkllllkkllkkkkllllllkkkkllkkkkkkllkkllkkkkllllllkkkkkkllllllqخukklllllkkllllkkllkkllkkllkkkkkkllllkkkkkkllkkllllkkllllkkllllllkkllllllkkkkllkkllllllllkkkkkkkkllllkkkkkkkkkkkkm῅hjlllkkkkllllkkkkllkkkkllllkkkkkkkjkҝ{pkkkllkkllkkkkkkkkllllllllkkllkkllkkllllkkllkkkkkkllllllllkkkkkkllllkkkkllkkllllllllkkllllkkkkllllkkkkkkllllkkkkllllkkkkkji۸ijlllllkkkkkkllkkkkkkkkllkkkkkjj|Ηwnkkkllkkllllkkkkkkkkkkkkkkkkkkkkkkkkkkllllllllkkkkllkkkkkkkkllllkkllkkkkkkllkkkkkkllllkkllkkkkkkllkkkkllkkllllkkllkkkkllkkkkkkllllkkkkjrܼzjjkkkkkllkkllkkllkkkkllllkkllkkkkkkkkkkkkkkkkkkllllkkkkkkkkllllkkllllkkllllllkkkkkkllllkkkkkkkkkkkkllkkkkllllllllkkkkkkkkllkkkkllllkkkkkkllkkkkkkkkkkllkkkkkkllllllllkkkkkkkkkkllkkkkkkllllllllllllkkkkkklkkqգrkklkkkkkkllkkllkkllllkkllkkllkkllllkkllllllkkllllkkkkkkllkkkkllllllkkkkkkkkkkllkkkkkkllllllkkkkkkllkkkkkkkkkkkkkkllkkkkkkkkkkkkllllkkllkkkkkkkkkkllkkllkkkkkkkkllllkkkkkkkkkkkkkkllkkkkkkljhܺijkkkkkllkkkkllllllkkkkkkkkkkllkkkkkkllllllkkkkkkllkkkkkkkkkkkkkkllkkkkkkkkkkkkllllkkllkkkkkkkkkkllkkllkkkkkkkkllllkkkkkkkkkkkkkkllkkkkkkllkkkkllllllkkkkkkkkkkkkllkkkkllllkkllkkkkkkkkkkkkkkllllkkkkllllkkkkllllkkkkkkllkkkkkkkkllllllkkkkllkkkkkkkkkkkjjzɼ~zvqmkjjjkkkkkkkkkkkkkkkkkkkllkkkkkkkkkkllkkkkkkkkkkkkkkllkkkkkkkkkkkkkkkkkkkkkkkkllkkkkkkkkkkkkljhݼzjjkkkkkkkkkkkkkllllkkkkkkkkkkkkkkkkkkkkllkkkkkkkkkkkkkkkkkkkkkkllkkkkkkllllkkkkkkkkkkkkllkkllkkkkkkkkllkkllkkllkkkkkkkkllllkkkkllkkkkkkkkllllllllkkkkkkkkkkkkllllkkkkllkkllkkllkkkkkkkkllllllkkkkkkkkllkkllkkkkkkkkkkkkkkljhݼzjjkkkkkllkkkkkkkkkkkkllllllllllkkkkkkkkllkkkkkkkkllkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkllkkkkllllllkkkkkkllkkkkkkkkkkkkkkllkkllllllkkllllllkkllkkllkkkkllllllllkkkkllllkkllllkkllllllllllllkkllllllllllkkllllllllllllllllllllllllllllllllkkllllllkkllllllllllllllllllllllllllllllllllllllkkllllkkllllllkkllllllllllllllllkkllllllkklllllllllllkjzգrkklkkllllllkkllllllllllllllllllllllkkllllllllllllllllllllllllllllllllllkkllllllllllllllllllllllllllllllllllllllllllllllllllkkllllllkkllllkkllllkkllllllkkllkkllllllllllllllkkllllllllllkkllllllllllllllllkkllllllllkkllkkllkkllkkllllllllkkllllllllkkllkkllkkkkllllllllllkkkkllllkkllllllkkllllllllljj̊ijlllllllllllllllkkllkkllllkkllkkllllllllkkllllllllllllllllllkkllllllllllllllllllkkllllllllllllkkkkllllllkkkklllllllllllllllllklܼzjklllllllllllkkkkllllllllllllkkllllllllllkklܽzjklllllllllkkkkllllllllllkkllllllllkkllllkkllllkkkkllkkkkkkllkkllllkklllllllkkkkkjjjjjjjjjjjjiiiiihiiiijjkkkkllllkkllllllllllllllllllkkkkkkkkllllkkllllkkllllllkkllllllllllllllllllkkkkllllkkkkllkkkkllllllllllllllllllllllllkkllllllllllkkllllllllllllkkkkllllllllllllkkkkllkkkkkkllkkllkkllllllkkllllkkllkkllllllllllllkkllkkllllkklkl۸yjklkkllkkllllllkkkkkkllllllkkllllllllllllllkkllllkkllllllkkllkkkkkkkkllkkkkllllkkllkkllkkllkkllkkllllllllllllkjjȉhjlkkkkllllkkllllllkkllllllllllllkmqΐnkkkkkkkkkkkkllkkllkkllkkkkllkkllkkkkllllllllkkllllllllllllkkllllllllkkkkllllkkkkkkllllllkkkkllllllllkkkkllllllkkllllllllkji†ijlkkllkkllkkkkllllkkllllkkllljjŌmllllllllllllllllkkkkllkkkkkkllllllkkllllkkkkkkkkllkkkkkkkkkkllllllllllkkkkkkkkkkkkkkllllllkkllllllllkkkkkkkkkkkkkkllkkllllkkkkkkllkklkkqܼzjkkkkkkllllllkkkkkkllkkkkkkllkkkkllllllkkkkllllllkkkkkkllkkllllkkllkkkkllllkkkkllkkllllllllllllkkllllkkkkllllllllkkllkkkkllllllllllkkkkkkkkllllkkkkllllkkkkkkllllllllkkllllkkkkkkllllkkllllllllllllkklllllkkrգrkkkllllkkkkkkllllllllkkllllkkkkllkkllllllllllllllllkkllkkllkkkkllllllllkkllkkllkkllllllllkkkkllllkkllllkkllllllllllllllllkkllllkkkkkkllllllllllkkkkllkkllllllkkkkllllllllkkkkkkkkllllkkkkljiLjijlkkllkkllkkkkllllllllkkllkkllkkllllllllkkkkllllkkllllkkllllllllllllllllkkllllkkkkkkllllllllllkkkkllkkllllllkkkkllllllllkkkkkkkkllllkkkkllllllkkllkkkkllllllkkkkllkkkkkkllllkkkkkkkkkkkkkkkkllllkkkkkkkkkkllkkllllkkkkllllkkkkllllllllllkkllllkkkkkkkkljj~umjjjjjjklllkkkkkkllkkkkllllkkkkkkllkkkkllkkllkkkkllkkkkkkkkllllllllkkkkkkkkllkkkkkkkkllllkkkjhݼzjklllkkkkkkllllllkkllkkllkkkkkkkkkkllkkkkllkkllkkllllkkkkkkkkkkkkkkkkkkllllkkkkllllkkllkkkkllllllkkllkkkkllllllllkkllllllkkkkllllllllkkllllkkkkllkkkkllkkkkkkllllkkllkkllkkkkkkkkllkkllllkkkkkkkkllllllllllkkkkllkkllkkkkkjhݼzjjkllkkkkllkkllkkllkkkkllkkkkllllllkkkkkkllkkllkkkkllkkkkllkkkkllkkllllkkkkkkkkllllkkkkkkkkkkkkllllkkllllkkkkkkllkkkkllkkllkkkkllkkllllllkkllkkllkkkkllllllllkkkkllllkkllllkkllllllllllllkkllllllllllkkllllllllllllllllllllllllllllllllkkllllllkkllllllllllllllllllllllllllllllllllllllkkllllkkllllllkkllllllllllllllllkkllllllkklllllllllllkjzգrkklkkllllllkkllllllllllllllllllllllkkllllllllllllllllllllllllllllllllllkkllllllllllllllllllllllllllllllllllllllllllllllllllkkllllllkkllllkkllllkkllllllkkllkkllllllllllllllkkllllllllllkkllllllllllllllllkkllllllllkkllkkllkkllkkllllllllkkllllllllkkllkkllkkkkllllllllllkkkkllllkkllllllkkllllllllljj̊ijlllllllllllllllkkllkkllllkkllkkllllllllkkllllllllllllllllllkkllllllllllllllllllkkllllllllllllkkkkllllllkkkkllllllllllllllllljiܺzjklllllllllllkkkkllllllllllllkkllllllllllkjhܺyjklllllllllkkkkllllllllllkkllllllllkkllllkkllllkkkkkkkkkkkkjjjjjjjjjjjjjjjjkmqrrrrtxzzzz{}wnkkkllllkkllllllllllllllllllkkkkkkkkllllkkllllkkllllllkkllllllllllllllllllkkkkllllkkkkllkkkkllllllllllllllllllllllllkkllllllllllkkllllllllllllkkkkllllllllllllkkkkllkkkkkkllkkllkkllllllkkllllkkllkkllllllllllllkkllkkllllkklkjvá}jklkkllkkllllllkkkkkkllllllkkllllllllllllllkkllllkkllllllkkllkkkkkkkkllkkkkllllkkllkkllkkllkkllkkllllllllllllkjiΐnlkkkkkllllkkllllllkkllllllllllllkp}Ňhjkkkkkkkkkkkllkkllkkllkkkkllkkllkkkkllllllllkkllllllllllllkkllllllllkkkkllllkkkkkkllllllkkkkllllllllkkkkllllllkkllllllllkjj{ʍmkkkkllkkllkkkkllllkkllllkkllljiܺijlllllllllllllllkkkkllkkkkkkllllllkkllllkkkkkkkkllkkkkkkkkkkllllllllllkkkkkkkkkkkkkkllllllkkllllllllkkkkkkkkkkkkkkllkkllllkkkkkkllkklkkrܼzjkkkkkkllllllkkkkkkllkkkkkkllkkkkllllllkkkkllllllkkkkkkllkkllllkkllkkkkllllkkkkllkkllllllllllllkkllllkkkkllllllllkkllkkkkllllllllllkkkkkkkkllllkkkkllllkkkkkkllllllllkkllllkkkkkkllllkkllllllllllllkklllllkkrգrkkkllllkkkkkkllllllllkkllllkkkkllkkllllllllllllllllkkllkkllkkkkllllllllkkllkkllkkllllllllkkkkllllkkllllkkllllllllllllllllkkllllkkkkkkllllllllllkkkkllkkllllllkkkkllllllllkkkkkkkkllllkkkkljjϒpllkkllkkllkkkkllllllllkkllkkllkkllllllllkkkkllllkkllllkkllllllllllllllllkkllllkkkkkkllllllllllkkkkllkkllllllkkkkllllllllkkkkkkkkllllkkkkllllllkkllkkkkllllllkkkkllkkkkkkllllkkkkkkkkkkkkkkkkllllkkkkkkkkkkllkkllllkkkkllllkkkkllllllllllkkllllkkkkkkkkljiɼ~zvrnlkjjkkkkkllkkkkllllkkkkkkllkkkkllkkllkkkkllkkkkkkkkllllllllkkkkkkkkllkkkkkkkkllllkkkjhݼzjklllkkkkkkllllllkkllkkllkkkkkkkkkkllkkkkllkkllkkllllkkkkkkkkkkkkkkkkkkllllkkkkllllkkllkkkkllllllkkllkkkkllllllllkkllllllkkkkllllllllkkllllkkkkllkkkkllkkkkkkllllkkllkkllkkkkkkkkllkkllllkkkkkkkkllllllllllkkkkllkkllkkkkkihݼzjjkllkkkkllkkllkkllkkkkllkkkkllllllkkkkkkllkkllkkkkllkkkkllkkkkllkkllllkkkkkkkkllllkkkkkkkkkkkkllllkkllllkkkkkkllkkkkllkkllkkkkllkklllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllkk{գrkklllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllljj̊ijlllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllljiڳwjklllllllllllllllllllllllllllllllllllllllljiڳwjklllllllllllllllllllllllllllllllllkkllllkkllllllkkkkkkkkjjjjjjjjjjjjjiiiijmt}vjkkllllkkllkkkkllllllllllllllllllllllllllllllllllllllllllllllllllllllllkkllllllllllllllkkkkllllllllllllllkkllllllllllllllllllllllllllkkllllllllllllllllkkkkllllllllllllllllllllllkkllllkkllllllllllllllllllllllllllllkkkkllllkoyЮjjlllllllkkllllllllllllkkkkllllkkllllllllllllllllllllllllllkkllllllllllllllllllkkllllllllllllllllllllllllllllljj}ҝ{pkkllllllllllllllllllllllllllllkkv׵ijlllllllllllllllllllkkllllllllllkkllllllllllkkkkllkkllllllllllllllllllkkllllllkkllllllllllkkkkllllllkkllllllllllllllllkklkjwИvnkklllllllllllllllllllllllkkljiЮjjlllllllllllllllkkllkkllllllllllllllllllllllllllllkkllllkkllllllllllllllllkkkkllllkkllllllllkkkkllkkkkllllllkkllllkkllkkkklllllllllllkkrܼzjklkkllllkkkkllllllllllllllllllllllllllllllllllkkkkllllllkkkkllllllkkllllllllllkkllllkkllkkllllllllllllkkllllllllllllllllkkllllllllllkkllllllkkllllllllllkkllllllkkllkkkkllllllllllllkkllkkllllkkkkkklllllkkrգrkkkllllllllllllllllllllkkkkllllllllkkllllllkkkkllllllllllkkllllllkkkkllllllllllkkllllllllllllllllllllllkkllllllkkkkllllllkkllllkkkkkkllllllkkllllllllkkllkklllllllllllllllllllllllllllllllkj|Ԣqkklllllkkllllllkkkkllllllllllkkllllllllllllllllllllllkkllllllkkkkllllllkkllllkkkkkkllllllkkllllllllkkllkkllkkllllllllllllllllllkkllllllkkllkkllllkkkkkkllllkkllkkkkkkllllllllllkkllllllkkkkkkllllllllllllllkkllllllllkkllllllkkllllllllllkkllllkkkkllljiumjijjjkklllllllllllkkllllllllllllllkkllkkllllllllllllllllllllllllkkkkllkkllkkllkkllkjhݼzjklllllllllllllllkkllllllllllllkkllkkllkkkkllllllllkkkkllkkkkkkllkkkkllllllllllkkllllllllllkkllllllllllllllllllllkkllllllllllkkllkkllkkllllllllllllllllllllllllllllllllkkllllkkllllkkllllllkkkkkkkkllllllkkllkkllkkkkkklllihݼzjjkkkkkkkllllllllllkkllllllllkkllllllllllkkllllkkllllkkllkkllllkkkkkkllkkllllllkkllllllllllllllkkllllllllllkklllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllkk{գrkklllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllljj̊ijlllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllljiξtkklllllllllllllllllllllllllllllllllllllllljiξtkklllllllllllllllllllllllllllllllllkkllllkklllllmpqrrrrtvyzzzz||jkkllllkkllkkkkllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllkkkkllllllllllllllllllllllllllllllllllllllllllkkllllllllllllllllkkkkllllllllllllllllllllllkkllllkkllllllllllllllllllllllllllllkkkkllllllm׶jjlllllllkklllllllllllllkklllllkkllllllllllllllllllllllllllkkllllllllllllllllllkklllllllllllllllllllllllllllllkjxתtkkllllllllllllllllllllllllllllkjzȧ~jklllllllllllllllllllkkllllllllllkkllllllllllkkkkllkkllllllllllllllllllkkllllllkkllllllllllkkkkllllllkkllllllllllllllllkkllkrգrkkllllllllllllllllllllllllklkm|jklllllllllllllllkkllkkllllllllllllllllllllllllllllkkllllkkllllllllllllllllkkkkllllkkllllllllkkkkllkkkkllllllkkllllkkllkkkklllllllllllkkrܼzjklkkllllkkkkllllllllllllllllllllllllllllllllllkkkkllllllkkkkllllllkkllllllllllkkllllkkllkkllllllllllllkkllllllllllllllllkkllllllllllkkllllllkkllllllllllkkllllllkkllkkkkllllllllllllllllkkllllkkkkkklllllkkrգrkkkllllllllllllllllllllkkkkllllllllkkllllllkkkkllllllllllkkllllllkkkkllllllllllkkllllllllllllllllllllllkkllllllkkkkllllllkkllllkkkkkkllllllkkllllllllkkllkklllllllllllllllllllllllllllllllkjxذvkklllllkkllllllkkkkllllllllllkkllllllllllllllllllllllkkllllllkkkkllllllkkllllkkkkkkllllllkkllllllllkkllkkllkkllllllllllllllllllkkllllllkkllkkllllkkkkkkllllkkllkkkkkkllllllllllkkllllllkkkkkkllllllllllllllkkllllllllkkllllllkkllllllllllkkllllkkkklllkmɼ~zvrnkjjkkkkllllkkllllllllllllllkkllkkllllllllllllllllllllllllkkkkllkkllkkllkkllkjiݼzjklllllllllllllllkkllllllllllllkkllkkllkkkkllllllllkkkkllkkkkkkllkkkkllllllllllkkllllllllllkkllllllllllllllllllllkkllllllllllkkllkkllkkllllllllllllllllllllllllllllllllkkllllkkllllkkllllllkkkkkkkkllllllkkllkkllkkkkkkllljiܼzjjkkkkkkkllllllllllkkllllllllkkllllllllllkkllllkkllllkkllkkllllkkkkkkllkkllllllkkllllllllllllllkkllllllllllkkllllllllllllllllllllllllllllmmllllllmmllllmmmmllllllllllllllllllllllllllllllllllllllllllllllllllllllmmllllllllllllllllllllllllllmmllllllllllllllllllllllllllmmllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllmmlkk{գrkklllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllmmllllllllllllllllllllllllllllllllllmmllllllllllllllllllllllllllllllmmllllllllllllllllmmllllllmmllllllllllllllllllllllllllllllmmllllllllllllllllllllllllllllllllmmllllllllllllmmllllllllllllllllllllllllmmllmmllmkj̊ijlllllllllllllllllllllllllllllllllllllllllmmllllllmmllllllllllllllllllllllllllllllllllllllllllllmmllllllllllllllllllllllllllljiݾ|tnlllllllllllllllllllllllllllllllllllllllllljiܾ|tollllllllllllllllllllllllllllllllllllllllllllllllpy~ƥ~jjlllllllllllllllllmmllllllllllllllllllllllllllllllmmllllllllllllllllmmllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllmmlllllllllllllllllllllllllllllllllllllllllllllllllllllllllllkkڸjjlllllllllllllllllllllllmlllllllllllllllllllllllllllllllllllllllllmmlllllllllllllllllllllllllllllllllllllllllkkt۶xjkllllllllllllllllllllllllllllkj~ܼzjklllllllllllllllllllllllllllllllllllllllllllllllllllmmlllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllnuذvjkllllllllllllllllllllllllllnvٲwkklllllllllllllllllllllllllllllllllmmlllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllkkrܼzjkllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllsգrkkllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllkktܼzjklllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllkkllllllllllllllllllllllllllllllllllllllllllllllllllkkllllllllllllllllllllllllllllllkkllllllkkllllllllkkllllllllkklllllllnvumjijjkkllllllllllllllllllllllllllllllllllllllllllllllllllllkkllllllllllllkkljiݼzjklllllllllkkllllllllllllllllllllllllllllllllllllllkkllllllllllllllllllllllllllllllllllllkkllllllllllllllllllllllllllllllllllllllllllkkllllllllllllllllllkkllllllllkkllllllllllllllllkkkkllllllllllllkkllllllllllkkllllllljiܼzjklllllllllllllllllllllllllkkllllllllkkllllllllllllllllllllllllllllllkkllllllllllllllllllllllllllllllllllllkkllllllllllllllllllllllllllllmmllllllmmllllmmmmllllllllllllllllllllllllllllllllllllllllllllllllllllllmmllllllllllllllllllllllllllmmllllllllllllllllllllllllllmmllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllmmlkk{գrkklllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllmmllllllllllllllllllllllllllllllllllmmllllllllllllllllllllllllllllllmmllllllllllllllllmmllllllmmllllllllllllllllllllllllllllllmmllllllllllllllllllllllllllllllllmmllllllllllllmmllllllllllllllllllllllllmmllmmllmkj̊ijlllllllllllllllllllllllllllllllllllllllllmmllllllmmllllllllllllllllllllllllllllllllllllllllllllmmllllllllllllllllllllllllllljiٲuhiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiijjiiiiiiiiiiiiiiiijjjiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiijjiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiijjiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiijjkllllllllllllllllllllllllllllllllllllllllllljiٲuhhiiiiiiijjiiiiiiiiiiiiiiiiiiiiiiiiiiiijiiiiiiiiiijjjiiiiiiiiiiiiiiiiiiiiiijiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiijiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiijiiiiiiiiiiiiiiiiiiiiiiiiiiiiijjklllllllllllllllllllllllllllllllllllllllllllllllkkv̫jklllllllllllllllllmmllllllllllllllllllllllllllllllmmllllllllllllllllmmllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllmmlllllllllllllllllllllllllllllllllllllllllllllllllllllllllllkkw࿆ijlllllllllllllllllllllllmmllllllllllllllllllllllllllllllllllllllllmmllllllllllllllllllllllllllllllllllllllllllkp{á|jklllllllllllllllllllllllllllljjخvkklllllllllllllllllllllllllllllllllllllllllllllllllllmmllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllmܻzjklllllllllllllllllllllllllkrգrkklllllllllllllllllllllllllllllllllmmlllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllkkrܼzjkllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllsգrkklllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllkp{˩~jjlllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllkkllllllllllllllllllllllllllllllllllllllllllllllllllkkllllllllllllllllllllllllllllllkkllllllkkllllllllkklllllllllllllllkkrɼ~zvrnlllllllllllllllllllllllllllllllllllllllllllllllllllkkllllllllllllkkljiݼzjklllllllllkkllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllkkllllllllllllllllllkkllllllllkkllllllllllllllllkkkkllllllllllllkkllllllllllkkllllllljiܼzjklllllllllllllllllllllllllkkllllllllkkllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllkkllllllllllllllllllllllllmmllmmmmllllllllmmmmllmmllllmmllllmmmmmmmmllmmllllmmllllllllmmllmmllmmllllmmllmmmmllmmllllmmllllmmllllmmllllllmmllllmmmmllllllmmllllllllllllllllllllllmmllllllllmmllmmmmllllllllmmllllllmmmmmmllllllllllk{գrkklmmmmmmllmmllllllllllllllllllllmmllllllllmmllmmllllllllllllllmmllmmllmmllllmmllllllllmmllmmllllmmllllllllllllllllllllllllllllmmllmmllmmllllmmllllllllmmllmmllmmllllllllmmllmmllllllllllllllllmmmmllllmmllmmllllllllmmllllllmmllllllmmllmmmmmmllllmmllmmllllllllllmmllllmmmmllmmllllmmlllllllllllllkj̊ijlllllllllmmllllllllllllllllmmllllllllllllmmllllmmmmllllmmllmmllllllllllllllllllmmllllllllllllllllllllllllllmmllllllllllllllljiܹxijjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkkjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkkkjjjjjjjjjjjjjjjjjkjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkkjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjklllllllllmmllllllllllllllllllllmmllllllllmmljiܹxijjjjjjjjjjjjjjjjjjjjjkkjjjjjjjjjjjjjjjjjjjjjjjjjjjjkkjjjjjjjjjjjjjjjjjjjjjjkkkkjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkklllllllllmmllllllmmmmllllllllmmlllllllllllllllllkj}ұjkmllllllllllllllllllllllllllmmllmmmmmmllllllllllllllllllllllllllllllllllllmmllmmllllmmllllmmllllllllmmllllmmllllllllllllllllllllllllllllllllmmllmmllllllllllmmmmllllllllllllllllmmllllllllllllllllllllllmmlllllllllllllllllllllq~ȊijlllmmllllllllllllllllllmmllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllnϮjklllmmllllllllllllllmmllllllljiӟ}qkllllllllllllllllllmmllllmmllllllllllmmllllllllllllllllllllllllmmllllllllllllllllllmmllllllmmlllllllllllllllllllllllllllllllkjţ}jkllllllllllllllllllllllllkkvЗunlllmmllllllllmmllllllllllllllllmmllllllllllllllllllllllllllllllllllllllllllllllllmmllmmllllllllllllllllllllllllmmlllllllllllllllllllllkkrܼ{kklllllllllllllllllllllllllllllllmmllllllllllllllllllllllllllllllmmllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllmmlllllllllllllllllllllllllllllllllllllllllllllllllllllllllllkkrգrkklllllllllllllllllllllllllllllllllllllllllllllllllllllllllmmllllllllllllllllmmllllllmmllllllmmllllllllllllllllllllllllllllllllllllllmmllllllmmllllllllllllllllllllllllllllllllllllllmmllllllo۸ijlllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllmmllllllllllmmllllllllllllllllllllllllllllllmmllllllllllllllllllllllllllllllllllllllllllllllllllllllllllmmllllllllmmllllllllllllllllllllllllllllllllmmmllllllkjxrkklllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllljiݼzjklllllllllllllllllllllllllllllmmllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllljiܼzjklllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllmmllllllllllllllllllllllllllllllllllllllllmmllmmmmllllllllmmmmllmmllllmmllllmmmmmmmmllmmllllmmllllllllmmllmmllmmllllmmllmmmmllmmllllmmllllmmllllmmllllllmmllllmmmmllllllmmllllllllllllllllllllllmmllllllllmmllmmmmllllllllmmllllllmmmmmmllllllllllk{գrkllmmmmmmllmmllllllllllllllllllllmmllllllllmmllmmllllllllllllllmmllmmllmmllllmmllllllllmmllmmllllmmllllllllllllllllllllllllllllmmllmmllmmllllmmllllllllmmllmmllmmllllllllmmllmmllllllllllllllllmmmmllllmmllmmllllllllmmllllllmmllllllmmllmmmmmmllllmmllmmllllllllllmmllllmmmmllmmllllmmlllllllllllllkj̋iklllllllllmmllllllllllllllllmmllllllllllllmmllllmmmmllllmmllmmllllllllllllllllllmmllllllllllllllllllllllllllmmlllllllllllllllkjݽzkkmllmmmmllmmllllllmmllllllllllllllmmmmllllllllllmmllllllllllmmllmmllmmllllllllllllllllllllllllllllllllllllllllllllllllmmmmmmllllmmllllllllllllllllllllllllllllllllllllllllllmmmmllllllllllmmllllllllllllllllllllllllllmmllllllllmmllmmllllllllmmllllllllllllllllllllmmllllllllmmljjܽ{kklllllllllllllllllllllllllllmmllllllllllllllllllllllmmllllllllllllllmmllllllmmllllllllllllllllllllllllllllllllllllllllllllllllllllllmmllllllllmmllllllllllllllllllllllllllllllllmmllllmmllllllmmllllmmllllmmllllllllllmmllllllllmmllllllllllllmmllllllmmmmllllllllmmlllllllllllllllllkjڹjkmllllllllllllllllllllllllllmmllmmmmmmllllllllllllllllllllllllllllllllllllmmllmmllllmmllllmmllllllllmmllllmmllllllllllllllllllllllllllllllllmmllmmllllllllllmmmmllllllllllllllllmmllllllllllllllllllllllmmlllllllllllllllllllllmr͎mklllmmllllllllllllllllllmmllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllljiܺjklllmmllllllllllllllmmlllllllln̓rmlllllllllllllllllllmmllllmmllllllllllmmllllllllllllllllllllllllmmllllllllllllllllllmmllllllmmllllllllllllllllllllllllllllllljjϮjkllllllllllllllllllllllllkjzʎnllllmmllllllllmmllllllllllllllllmmllllllllllllllllllllllllllllllllllllllllllllllllmmllmmllllllllllllllllllllllllmmllllllllllllllllllllllkrݼ{kllllllllllllllllllllllllllllllllmmllllllllllllllllllllllllllllllmmllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllmmlllllllllllllllllllllllllllllllllllllllllllllllllllllllllllkksգrkklllllllllllllllllllllllllllllllllllllllllllllllllllllllllmmllllllllllllllllmmllllllmmllllllmmllllllllllllllllllllllllllllllllllllllmmllllllmmllllllllllllllllllllllllllllllllllllllmmllllljiŌmllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllmmllllllllllmmllllllllllllllllllllllllllllllmmllllllllllllllllllllllllllllllllllllllllllllllllllllllllllmmllllllllmmllllllllllllllllllllllllllllllllmmmmlllllkj}ɻykklllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllljiݼzjklllllllllllllllllllllllllllllmmllllllllllllllllllmmllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllljiܼzjklllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllmmllllllllllllllllllllllllllllllllllllllmmllmmllmmmmmmllmmmmllmmmmmmllmmmmllmmllllmmllmmmmmmmmmmmmmmmmmmmmmmllllllmmmmllllllmmllmmllmmmmmmmmllllmmllmmllmmllmmmmmmmmmmmmllllllmmllmmmmmmmmllmmllmmllllllmmmmllmmllmmmmmmmmllmmllllllmmllllllmmlllkk{գrklmllmmllllllmmmmllmmllllmmllllllllllmmllllllllmmmmllmmmmllmmllllllmmllllmmmmllmmmmllmmllmmmmllllmmllmmmmmmmmmmmmllllllllmmmmllmmmmllmmllllmmmmmmllllmmmmmmmmllmmllmmllmmmmllllllllllmmmmmmmmmmmmllmmllmmllmmllmmllllmmllllllllmmmmmmllllmmmmmmmmmmmmllmmllllllmmllllmmmmllllllllmmllllmmllmmllllmmmkj̋jkmllmmmmmmmmllmmmmmmmmllmmllmmmmllllllmmllmmllmmllllllllmmmmmmllmmmmllmmmmllmmmmllllmmllllmmmmmmmmmmllllmmllmmllllllmmllllllmkiݽ{kklmmllllllllllllmmllmmmmmmmmllllllmmllmmmmllllmmllmmmmllmmllllllllmmmmllllllmmllllmmmmmmllmmllmmmmmmmmmmllmmllmmmmmmllmmllllllllmmmmllllllmmllllllllmmmmllllllmmmmllmmllmmllmmllllllllmmllllmmmmllllmmmmllllmmllllllllmmmmllmmllllllmmllmmllmmllllllmmmmllmmmmmmllllmmllmmllmmmmmjiܽ{kkmmmmmmmllmmllllmmmmllllmmllllllmmmmmmllmmllmmmmllllmmmmllllllllllmmllllllmmllllmmmmllmmllmmmmllllmmllllllmmllllllllllllllllllmmmmllmmllmmllllllllmmmmllmmllllllmmmmmmmmllmmmmllmmllmmmmllllmmllllllllmmllmmllllllllmmllmmmmllmmmmllmmllllmmllllllmmllmmllllmmmmllllmmllllllmmllllmmlkj|‡jklllmmllllmmllllllllmmllllllmmmmllmmllllllmmmmllmmllmmmmllllllllmmllllllllllmmmmllmmmmmmllllllllllmmllllmmllllmmmmmmllllllllllmmllllmmllmmllllmmmmllmmllmmmmllllmmllllllllllllmmllllmmllllmmmmllllmmmmllllllllllmmllllllllllllmllДrmlmmllllllmmmmllllllllllllmmllmmllmmllmmmmllllmmllmmmmllmmllllllmmllllllllllllllllmmmmlllllllllllllllllllllllllkiljijlllllllllllllllmmllllllmmllkp{ŋlklmmllllmmmmllmmllllmmllllllmmllllmmmmllllmmllmmmmllllllmmmmllllmmllllllmmmmllllllllmmmmmmmmmmllllllllllllllllllllmmllllllmmlkk}ܻjjlmmllllllmmllllllllllmmmkj~kklllllllllllllmmmmllmmllllmmllmmmmllmmllllllmmllllllmmllllllllllllllmmllmmmmmmllllllmmmmllllllllmmllmmllllllllllmmllllmmllllmmllmmmmlllllrݽ{klmmmllllllmmllllllllmmmmllmmllllmmllllllllllllllllmmllmmllmmllllmmmmllllmmmmllllllllllllllllmmllllllmmmmllllmmllllmmmmllllmmllmmllllllmmllllllmmllllllllmmllllmmllllmmllllllllllmmmmmmlllllllllllllllllllllsգrkklllllllllllllllllllllllllllllllllllllllllllllllllmmllllllllllmmllllllllllllmmllllmmllllllllllllllmmmmllllllllllllllllmmllllllllllllllmmllllllllllllllllllmmllllmmllllmmllmmlllllllllllllllkjΗvolllllllllllllllmmllllmmllmmllllmmllllllllllllllmmllllllllllmmllllllmmllllllllmmllllllllllllllmmllllllllmmllllllllllmmllllllllllllllllmmllllllllllllllmmmmllllllllllllllllllllllllllllllllllllmmllllllllllllllmmllllllllllllllllllllmmllllllllllmmlkjΰjkmllllllllllllllllmmllllllllllllllllllllllmmllmmllllmmllmmllllllllljiݼ{kllllmmllllllllllllllmmllllllllllmmllllllllmmllllllllllllllllllllllmmllllllllllllllllllllllllllmmllllmmllllllllllllllmmllllmmllllllllllllllllllllllllllllmmllllllllllllllllllllllllllllllllllllllllmmllmmllllmmllllmmllllljiܼ{kklllllllllllllllllmmllllllllllllllllllllmmllllllllllllllmmmmllllmmllllllllllmmllllllllllllllmmllllllllllllllllllllllllllllllllllllmmllmmllmmmmmmllmmmmllmmmmmmllmmmmllmmllllmmllmmmmmmmmmmmmmmmmmmmmmmllllllmmmmllllllmmllmmllmmmmmmmmllllmmllmmllmmllmmmmmmmmmmmmllllllmmllmmmmmmmmllmmllmmllllllmmmmllmmllmmmmmmmmllmmllllllmmllllllmmlllkk{դsllmllmmllllllmmmmllmmllllmmllllllllllmmllllllllmmmmllmmmmllmmllllllmmllllmmmmllmmmmllmmllmmmmllllmmllmmmmmmmmmmmmllllllllmmmmllmmmmllmmllllmmmmmmllllmmmmmmmmllmmllmmllmmmmllllllllllmmmmmmmmmmmmllmmllmmllmmllmmllllmmllllllllmmmmmmllllmmmmmmmmmmmmllmmllllllmmllllmmmmllllllllmmllllmmllmmllllmmmkj̋jkmllmmmmmmmmllmmmmmmmmllmmllmmmmllllllmmllmmllmmllllllllmmmmmmllmmmmllmmmmllmmmmllllmmllllmmmmmmmmmmllllmmllmmllllllmmllllllmki|kklmmllllllllllllmmllmmmmmmmmllllllmmllmmmmllllmmllmmmmllmmllllllllmmmmllllllmmllllmmmmmmllmmllmmmmmmmmmmllmmllmmmmmmllmmllllllllmmmmllllllmmllllllllmmmmllllllmmmmllmmllmmllmmllllllllmmllllmmmmllllmmmmllllmmllllllllmmmmllmmllllllmmllmmllmmllllllmmmmllmmmmmmllllmmllmmllmmmmmkj{klmmmmmmmllmmllllmmmmllllmmllllllmmmmmmllmmllmmmmllllmmmmllllllllllmmllllllmmllllmmmmllmmllmmmmllllmmllllllmmllllllllllllllllllmmmmllmmllmmllllllllmmmmllmmllllllmmmmmmmmllmmmmllmmllmmmmllllmmllllllllmmllmmllllllllmmllmmmmllmmmmllmmllllmmllllllmmllmmllllmmmmllllmmllllllmmllllmmlkkzɋkklllmmllllmmllllllllmmllllllmmmmllmmllllllmmmmllmmllmmmmllllllllmmllllllllllmmmmllmmmmmmllllllllllmmllllmmllllmmmmmmllllllllllmmllllmmllmmllllmmmmllmmllmmmmllllmmllllllllllllmmllllmmllllmmmmllllmmmmllllllllllmmllllllllllllmkj~ћypllmllllllmmmmllllllllllllmmllmmllmmllmmmmllllmmllmmmmllmmllllllmmllllllllllllllllmmmmlllllllllllllllllllllllllkjΏnllllllllllllllllmmllllllmmllktܻjklmmllllmmmmllmmllllmmllllllmmllllmmmmllllmmllmmmmllllllmmmmllllmmllllllmmmmllllllllmmmmmmmmmmllllllllllllllllllllmmllllllmmllkyŊkklmmllllllmmllllllllllmmmkjճjjlllllllllllllmmmmllmmllllmmllmmmmllmmllllllmmllllllmmllllllllllllllmmllmmmmmmllllllmmmmllllllllmmllmmllllllllllmmllllmmllllmmllmmmmlllllsݽ{klmmmllllllmmllllllllmmmmllmmllllmmllllllllllllllllmmllmmllmmllllmmmmllllmmmmllllllllllllllllmmllllllmmmmllllmmllllmmmmllllmmllmmllllllmmllllllmmllllllllmmllllmmllllmmllllllllllmmmmmmlllllllllllllllllllllsդskklllllllllllllllllllllllllllllllllllllllllllllllllmmllllllllllmmllllllllllllmmllllmmllllllllllllllmmmmllllllllllllllllmmllllllllllllllmmllllllllllllllllllmmllllmmllllmmllmmlllllllllllllllkj~զtlllllllllllllllmmllllmmllmmllllmmllllllllllllllmmllllllllllmmllllllmmllllllllmmllllllllllllllmmllllllllmmllllllllllmmllllllllllllllllmmllllllllllllllmmmmllllllllllllllllllllllllllllllllllllmmllllllllllllllmmllllllllllllllllllllmmllllllllllmmlkjضjkmllllllllllllllllmmllllllllllllllllllllllmmllmmllllmmllmmllllllllljiܽ{kllllmmllllllllllllllmmllllllllllmmllllllllmmllllllllllllllllllllllmmllllllllllllllllllllllllllmmllllmmllllllllllllllmmllllmmllllllllllllllllllllllllllllmmllllllllllllllllllllllllllllllllllllllllmmllmmllllmmllllmmllllljiܼ{kklllllllllllllllllmmllllllllllllllllllllmmllllllllllllllmmmmllllmmllllllllllmmllllllllllllllmmllllllllllllllllllllllllllllllllllllmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmllmmmmmmmmmmmmllllmmllmmllmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmllmmmmmmmmmmmmllmmmmmmmmmmllmmmmmmmmllllmmmmmmmmllmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmllmmmmmmmlk{դsllmmmmmllmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmllmmmmmmmmmmllmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmllllmmmmmmmmmmmmmmmmmmmmllmmmmmmmmmmmmmmmmllmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmllmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmllmmmmmmmmmmmmmmmkj̋jkmmmmmmmmmmmmmllllllmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmllmmmmmmllmmmmllmmmmllmmmmmmllmmmmmmmmmmmmmmmmmmmmmmmmllmmmmmmmmmmmmmmmmmmmkjƤ~kkmmmmmllmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmllllmmmmllmmmmmmmmmmmmmmmmmmmmmmmmmmmmllllmmmmllllmmmmmmmmmmmmmmmmmmmmmmmmmmllmmllmmllmmllmmmmmmllmmmmllmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmllmmmmmmmmllmmmmmmmmmmmmmmmmllmmmmmmmmmmmmmmmmmmmmllmmmmmmmmmmmmmmmmmmmkjƤ~kkmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmllllmmmmmmmmmmmmllllmmmmmmmmllmmmmmmmmmmmmmmmmmmmmmmllmmllllmmmmmmmmmmmmmmmmmmmmmmmmmmllllmmmmmmmmmmmmllmmmmmmmmmmllmmmmllmmmmmmmmmmmmmmllllllmmllmmmmmmmmmmllmmmmmmmmmmmmmmmmllmmmmmmmmllmmmmmmmmmmllllmmllmmllmmmmmmmmmmmmmmmmmmmmllmmmmmmmmmmmmlllkk{͏nlmmmmmmmmmmmmmmmmmmmmmmmmmllmmllmmllllmmllmmllmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmllmmmmllmmllmmmmmmmmmmmmllllllmmllmmmmllmmllllllmmllmmmmllmmmmllmmmmllmmmmmmmmllmmmmmmmmmmmmmmllllllmmllmmmmllmmllllmmllmmmmllmmllmmllllmmllmmmmmlkyԡrllmllmmllllllmmmmmmmmllllllmmmmmmmmllllmmmmmmllmmllmmmmllllllmmmmmmmmllmmllmmllmmmmmmmmmmllllmmllmmmmmmllllllmlk{јwolllmmllmmllmmllmmmmllmmmmmlkyЮjkmmmmmllmmmmmmmmllmmmmllllmmmmmmmmmmmmllmmmmllllllllllmmllmmmmmmmmmmllllmmllmmmmmmllmmmmmmmmmmmmmmmmllmmmmmmllllllmmmmmmmmmmmlluˎnllllmmmmmmmmmmmmllmmllmmlkjţ}kkmmmllllllllllllmmmmllmmmmllmmmmmmmmmmmmmmllmmllmmllllllmmmmmmmmmmmmmmllllmmmmmmllmmllllmmllllmmmmmmmmllmmmmmmmmmmllmmllllllllmmllmmmmlllsݽ{klmllllmmmmmmllmmmmmmllmmmmmmllmmmmllmmmmmmllllmmllmmmmllmmllmmmmllllmmmmllmmllmmmmllmmmmllmmllllllllllmmllmmmmmmmmmmllllllllmmmmllmmllmmmmllllmmmmllmmllmmmmmmmmmmmmmmllllmmllllmmmmllllllllllllllllmmmmmlksդslllmmllmmllmmmmllmmllmmmmmmllllmmmmllmmmmllllllmmmmllmmmmllllllmmmmllllllmmllllllllmmllllllllllmmmmmmllmmmmmmllmmllmmllllmmllmmllllmmllmmmmmmmmmmllllllllmmmmllllllmmllllmmmmmmmmmmllllmmmmlkkyܺzklmllmmllllllmmmmllmmmmllmmllmmmmllmmllmmllmmmmmmmmmmmmmmllllllmmllmmmmmmllllllllmmmmmmmmmmllllllmmllmmmmllllllmmllllllmmmmmmmmllllmmmmllllllllllllmmmmmmllmmllmmmmllmmmmllllllmmllllllmmmmmmllmmllmmllmmmmmmmmllmmmmmmllmmmmmmllmmmmmmmmllmmmmllmlm˩jkmmmllmmmmllmmllllmmmmmmmmmmllllllmmllllmmllmmllllllllmmllllmmmmllljjܽ{kklllmmllmmmmllllllllllllllllllllmmllmmllmmmmllllllmmllmmllllllllllmmllmmllllllllmmllllmmllllllllllllmmllllllmmllllllmmmmmmllmmllmmllmmllmmmmmmmmmmllmmllllllllllllllmmllmmllmmllmmllllllllmmllmmllllllllllmmllmmllmmmmllljiܼ{klmmmmmmmmmllmmmmllmmmmllllllllmmmmmmllllmmllmmllmmmmllllmmmmmmllmmmmmmllllllmmllmmmmmmmmllmmllllllllmmmmllmmllllmmllmmllllllllmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmllmmmmmmmmmmmmllllmmmmmmllmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmllmmmmmmmmmmllmmmmmmmmllllmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmllmmmmmmmlk{դsllmmmmmllmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmllmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmllllmmmmmmmmmmmmmmmmmmmmllmmmmmmmmmmmmmmmmllmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmllmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmllmmmmmmmmmmmmmmmkj̋jkmmmmmmmmmmmmmllllllmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmllmmmmmmllmmmmllmmmmllmmmmmmllmmmmmmmmmmmmmmmmmmmmmmmmllmmmmmmmmmmmmmmmmmmmkj̫kkmmmmmllmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmllllmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmlllmmmmmllllmmmmmmmmmmmmmmmmmmmmmmmmmmllmmllmmllmmllmmmmmmllmmmmllmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmllmmmmmmmmllmmmmmmmmmmmmmmmmllmmmmmmmmmmmmmmmmmmmmllmmmmmmmmmmmmmmmmmmmkj̫jkmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmllllmmmmmmmmmmmmllllmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmllmmllllmmmmmmmmmmmmmmmmmmmmmmmmmmllllmmmmmmmmmmmmllmmmmmmmmmmllmmmmllmmmmmmmmmmmmmmllllmmmmllmmmmmmmmmmllmmmmmmmmmmmmmmmmllmmmmmmmmllmmmmmmmmmmllllmmllmmllmmmmmmmmmmmmmmmmmmmmllmmmmmmmmmmmmlllkk{Жtnmmmmmmmmmmmmmmmmmmmmmmmmmllmmllmmllllmmllmmllmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmllmmmmllmmllmmmmmmmmmmmmllllllmmllmmmmllmmllllllmmllmmmmllmmmmllmmmmllmmmmmmmmllmmmmmmmmmmmmmmllllllmmllmmmmllmmllllmmllmmmmllmmllmmllllmmllmmmmmlluդsklmllmmllllllmmmmmmmmllllllmmmmmmmmllllmmmmmmllmmllmmmmllllllmmmmmmmmllmmllmmllmmmmmmmmmmllllmmllmmmmmmllllllmllwդslllmmllmmllmmllmmmmllmmmmmkk} }klmmmmmllmmmmmmmmllmmmmllllmmmmmmmmmmmmllmmmmllllllllllmmllmmmmmmmmmmllllmmllmmmmmmllmmmmmmmmmmmmmmmmllmmmmmmllllllmmmmmmmmmmmllq|Зvnlllmmmmmmmmmmmmllmmllmmlln۶yklmmmllllllllllllmmmmllmmmmllmmmmmmmmmmmmmmllmmllmmllllllmmmmmmmmmmmmmmllllmmmmmmllmmllllmmmmllmmmmmmmmllmmmmmmmmmmllmmllllllllmmllmmmmlllsݽ{klmllllmmmmmmllmmmmmmllmmmmmmllmmmmllmmmmmmllllmmllmmmmllmmllmmmmllllmmmmllmmllmmmmmmmmmmllmmllllllllllmmllmmmmmmmmmmllllllllmmmmllmmllmmmmllllmmmmllmmmmmmmmmmmmmmmmmmllllmmllllmmmmllllllllllllllllmmmmmlksդslllmmllmmllmmmmllmmllmmmmmmllllmmmmllmmmmllllllmmmmllmmmmllllllmmmmllllllmmllllllllmmllllllllllmmmmmmllmmmmmmllmmllmmllllmmllmmllllmmllmmmmmmmmmmllllllllmmmmllllllmmllllmmmmmmmmmmllllmmmmlkkt˪jkmllmmllllllmmmmllmmmmllmmllmmmmllmmllmmllmmmmmmmmmmmmmmllllllmmllmmmmmmllllllllmmmmmmmmmmllllllmmllmmmmllllllmmllllllmmmmmmmmllllmmmmllllllllllllmmmmmmllmmllmmmmllmmmmllllllmmllllllmmmmmmllmmllmmllmmmmmmmmllmmmmmmllmmmmmmllmmmmmmmmllmmmmlllowܽzjkmmmllmmmmllmmllllmmmmmmmmmmllllllmmllllmmllmmllllllllmmllllmmmmllljjܽ{kklllmmllmmmmllllllllllllllllllllmmllmmllmmmmllllllmmllmmllllllllllmmllmmllllllllmmllllmmllllllllllllmmllllllmmllllllmmmmmmllmmllmmllmmllmmmmmmmmmmllmmllllllllllllllmmllmmllmmllmmllllllllmmllmmllllllllllmmllmmllmmmmllljiܽ{klmmmmmmmmmllmmmmllmmmmllllllllmmmmmmllllmmllmmllmmmmllllmmmmmmllmmmmmmllllllmmllmmmmmmmmllmmllllllllmmmmllmmllllmmllmmllllllllmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmlk{դsllmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmkj̋jkmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmkjӱjkmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmkkӱjkmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmlk{ӟ}qllmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmllmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmlq|գsllmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmllsٰwllmmmmmmmmmllmmmmmmmmmmmmmkjٲwllmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmllmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmllmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmlllloգsklmmmllmmmmmmmmmmllmmmmloxתullmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmllllmmmmmmllmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmllmmmmmmmmmmmmmllsݽ{klmmmmmmmmmllmmmmmmmmmmllmmmmmmmmmmllllmmmmmmmmllmmmmmmmmmmllmmmmmmmmmmmmllmmmmllmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmllmmmmllmmmmmmmmmmllmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmllmmmmmmmmlllsդsllmmmmmmmmmmmmmmmmmmmmmmmmmmmllllmmmmllmmmmllmmllmmllmmllmmmmllmmllmmmmllmmmmmmmmmmllllllllmmmmmmmmmmmmmmmmllmmmmmmmmmmmmllmmmmmmmmmmmmmmmmllmmllmmmmmmmmmmmmmmllmmmmmmmmmmmmmmllmmmmmmmmmmmlkp|۹jkmllmmmmllmmllmmmmllmmmmmmmmmmllllllllmmmmmmmmmmmmmmmmllmmmmmmmmmmmmllmmmmmmmmmmmmmmmmllmmllmmmmmmmmmmmmmmllmmmmmmmmmmmmmmllmmmmmmmmmmmmllmmmmmmmmmmmmmmmmmmmmmmmmmmllllllmmmmmmmmmmmmmmllmmmmmmmmmmmmmmllllmmmmllmmmmmmmmmmmmmmmmmmmmmmmmmmmmmlluٰwkklmmmmmmmmllmmllmmllllmmllmmmmmmmmmmmmmmmmmmmmllllmmmmmmllllllmmmmljiܽ{klmmmmmllmmllmmmmmmmmmmmmmmmmmmllmmmmllmmmmmmllmmmmllllmmmmmmllmmmmmmmmllmmllmmllmmmmmmmmmmmmllllmmllmmllmmllmmllllmmmmmmmmmmmmmmmmmmmmllmmmmllmmllmmllmmmmmmmmmmllmmmmmmmmllllmmmmmmllllllllmmmmmmllmmmmmmmmmmmmllmmmmmmljjܽ{klmmmmmllmmmmmmmmmmmmmmmmmmmmmmllmmllmmmmmmmmmmmmllmmmmmmmmllmmmmmmllllmmllmmmmmmmmllllllmmmmmmmmmmllmmllllllmmmmllmmllmmmmllmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmlk{դsllmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmkj̋jkmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmkj׶jkmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmkk׶jkmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmlk{תullmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmns֨tllmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmlowܻzklmmmmmmmmmllmmmmmmmmmmmmmkjգsllmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmllmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmllmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmllljjدwklmmmllmmmmmmmmmmllmmmllrѝ|qlmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmllllmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmllmmmmmmmmmmmmmllsݽ{klmmmmmmmmmllmmmmmmmmmmllmmmmmmmmmmllllmmmmmmmmmmmmmmmmmmmmllmmmmmmmmmmmmllmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmllmmmmllmmmmmmmmmmllmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmllmmmmmmmmlllsդsllmmmmmmmmmmmmmmmmmmmmmmmmmmmllllmmmmllmmmmllmmllmmllmmmmmmmmllmmllmmmmllmmmmmmmmmmllllllllmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmllmmmmmmmmmmmmmmllmmmmmmmmmmmmmmllmmmmmmmmmmmmlnrŌnlmmmmmmmllmmllmmmmllmmmmmmmmmmllllllllmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmllmmmmmmmmmmmmmmllmmmmmmmmmmmmmmllmmmmmmmmmmmmllmmmmmmmmmmmmmmmmmmmmmmmmmmllllllmmmmmmmmmmmmmmllmmmmmmmmmmmmmmllllmmmmllmmmmmmmmmmmmmmmmmmmmmmmmmmmmmlkzԢrlllmmmmmmmmllmmmmmmllllmmllmmmmmmmmmmmmmmmmmmmmllllmmmmmmllllllmmmmljjݽ{klmmmmmllmmllmmmmmmmmmmmmmmmmmmllmmmmllmmmmmmllmmmmllllmmmmmmllmmmmmmmmllmmllmmllmmmmmmmmmmmmllllmmllmmllmmllmmllmmmmmmmmmmmmmmmmmmmmmmmmmmmmllmmllmmllmmmmmmmmmmllmmmmmmmmllllmmmmmmllllllllmmmmmmllmmmmmmmmmmmmllmmmmmmljjݽ{klmmmmmllmmmmmmmmmmmmmmmmmmmmmmllmmllmmmmmmmmmmmmllmmmmmmmmllmmmmmmllllmmmmmmmmmmmmllllllmmmmmmmmmmllmmllllllmmmmllmmllmmmmllmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmlk{դsllmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmlk̋jkmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmkkڹjkmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmkjڸjkmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmlk{۷yklmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmlmٲwlmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmlnţ}klmmmmmmmmmmmmmmmmmmmmmmmmkjЗuommmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmlj۸zklmmmmmmmmmmmmmmmmmmmmlluːommmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmllsݽ{klmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmllsդsllmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmlmΗwplmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmlk~ϒqmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmjjݽ{klmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmjiݽ{klmmmmmmmmmllmmmmmmmmmmmmmmllmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmllmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmlk{դslmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmlk̋jkmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmlk࿇jkmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmkk࿇jkmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmlly }klmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmkj۸zllmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmkjЮklmmmmmmmmmmmmmmmmmmmmmmmmmpȍnmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmlkâ}klmmmmmmmmmmmmmmmmmmmmlkyjkmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmllsܽ{klmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmlsդslmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmkjէtlmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmllňikmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmkjݽ{klmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmkjܽ{klmmmmmmmmmllmmmmmmmmmmmmmmllmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmllmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmml{դsmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmkj̋jkmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmllȊjkmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmlkȊjkmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmlu˪klmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmljܻ{klmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmkjܻklmmmmmmmmmmmmmmmmmmmmmmmmq|ܻllmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmllzЮkkmmmmmmmmmmmmmmmmmmmmlk}ֵjkmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmllsܽ|llmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmsդslmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmlk|ܺzllmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmn׶jlmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmkjݽ{llmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmkjܽ{klmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmml|դtmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmkǩjlmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmll}͍klmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmll}͍llmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmltԳklmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmlk~ܽ{klmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmlkŊllmmmmmmmmmmmmmmmmmmmmmmmluЮklmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmuڹjkmmmmmmmmmmmmmmmmmmmmljʨllmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmlsܽ|lmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmtդslmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmllwͫkkmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmpyɨklmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmkjݽ|llmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmkjܽ{llmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmnnmmmmmmnnmmmmmmmmmmmmnnmmmmnnmmmmmmmmmmmmnnmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmnnmmmmmmmmmmmmmmnnmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmnml|դtmmmmmmmmmmmmmmmmmmmmmmmmmnnmmmmmmmmmmmmmmmmmmmmnnmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmnnmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmnnmmnlǩjkmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmml|ΐommmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmml|ΐommmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmlltݼjlmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmml}ܽ{klmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmlkzˎnmmmmmmmmmmmmmmmmmmmmmmmmlzâ}llmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmq}Èjkmmmmmmmmmmmmmmmmmmmmkjݽ|lmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmsܽ{lmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmtդslmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmlr}྆jkmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmlmwݽ{klmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmkjݽ|llmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmkjܽ{llmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmnnmmmmmmnnmmmmmmmmmmmmnnmmmmnnmmmmmmmmmmmmnnmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmnnmmmmmmmmmmmmmmnnmmmmmmmmmmmmmmnnmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmnml|դtmmmmmmmmmmmmmmmmmmmmmmmmmnnmmmmmmmmmmmmmmmmmmmmnnmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmnnmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmnnmmnlǩjkmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmml{Жuommmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmml{Жuommmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmlsŋmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmlzݽ{lmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmlluЗvommmmmmmmmmmmmmmmmmmmmmml~ڵzllmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmntʎnmmmmmmmmmmmmmmmmmmmmmlmدwmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmtܽ{kmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmsդtlmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmns̓snmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmlk}دwllmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmljݽ{llmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmkjݽ|lmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmnnmmmmnnmmnnmmnnmmmmmmmmmmnnnnmmmmmmmmmmmmmmmmnnnnmmnnmmmmmmmmmmnnmmnnnnmmmmmmmmmmmmmmmmmmnnmmnnmmmmnnmmnnnnmmmmnnmmmmmmnnnnnnmmnnnnnnmmmmmmnnmmnnnnmmnnnnmmmmnnmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmml|դtmmmmmnnmmmmnnmmmmnnmmmmmmmmmmmmmmmmnnmmnnmmmmmmmmmmmmmmmmmmnnmmmmmmmmmmnnnnmmmmnnmmmmmmmmmmnnnnmmmmmmmmnnnnmmmmnnmmmmnnmmmmmmnnnnmmnnmmmmnnmmmmnnmmnnnnnnnnmmmmnnmmmmmmnnmmmmnnnnmmmmmmmmnnmmnnmmnnmmnnmmmmmmmmnnmmmmmmmmnnmmnnmmmmmmmmmmmmnnmmnnnnmmnnmmnnmmmmnnmmmmnnnnmmmmnnmmmmnnmmmmnnmmmmmmmmnlǩjkmmmmmmmmmmmmmmmmmmmnnnnmmnnmmnnmmmmmmnnmmmmmmmmnnmmmmmmmmmmmmmmmmnnmmmmmmnnmmnnmmmmmmmmmmmmmmmmnnmmmmmmmmmmmmmmmmmmmmmmmmmmnmlzӠ~rmmmmmmmmmmmmmmmnnmmmmmmnnmmmmnnmmmmmmmmmmmmmmmmmmmmmmnnmmmmmmmmmmnnmmmmmmmmmmmmmmnnnnmmmmmmmmmmmmmmmmnnnnmmmmmmnnnnmmmmmmmmmmmmmmmmmmmmmmnnnmmmmmmmmmmmmmmmmmmmmmmmmmmmnnnnmmmmmmmmmmmmmmmmmmnnmmnnnnmmmmmmmmmmnnmmmmnnnnmmnnmmmmmmmmmmmmmmnnmmnnmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmlzӠ~rmmmmmmmmmmmmmnnmmmmmmmmmmnnmmmmnnnnmmmmmmmmmmmmmmmmmmnnmmmmmmmmmmnnnnmmmmmmmmmmmmmmmmmmnnmmmmmmmmnnmmnnmmnnmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmnnmmnnmmmmmmmmmmnnnnmmmmmmnnmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmnnmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmnnmmmmnnmmmmmmmmmmmmmmmmmmmpz͔snmmmmmmmmmmmnnmmnnmmmmnnmmmmmmmmmmmmmmmmmmmmmmnnnmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmnnmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmnnmmmmmmmmmmmmmmmmmmmmmmmmmmmmnnmmmmmmmmmmmmmmmmmmmmnnmmmmmmmmmmmmmmmmmmmmmmmmmmnnmmmmmmmmmmmuݽ{lmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmnnmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmnnmmnnmmmmmmnmmr}դslmmmmmmmmmmmmmmnnnnnnmlkզtmmmmmmmmmmmmmnnmmmmmmmmmmmmnnmmmmnnmmmmmmmmmmmmmmnnmmmmmmmmmmnnmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmnnmmmmmmmmmЙxpmmmmmmmmmmmmmnnmmmmmnsӟ~rmmnmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmnnmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmtܽ{kmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmnnmmlsդtmmmmmmmmmmmmmmmnnmmnnmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmnnmmmmmmmmmmmmmmmmmmmmmmmmmlmէummmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmljӟ~rlmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmljݽ{klmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmkjݽ|lmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmnnmmmmnnmmnnmmnnmmmmmmmmmmnnnnmmmmmmmmmmmmmmmmnnnnmmnnmmmmmmmmmmnnmmnnnnmmmmmmmmmmmmmmmmmmnnmmnnmmmmnnmmnnnnmmmmnnmmmmmmnnnnnnmmnnnnnnmmmmmmnnmmnnnnmmnnnnmmmmnnmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmml|դtmmmmmnnmmmmnnmmmmnnmmmmmmmmmmmmmmmmnnmmnnmmmmmmmmmmmmmmmmmmnnmmmmmmmmmmnnnnmmmmnnmmmmmmmmmmnnnnmmmmmmmmnnnnmmmmnnmmmmnnmmmmmmnnnnmmnnmmmmnnmmmmnnmmnnnnnnnnmmmmnnmmmmmmnnmmmmnnnnmmmmmmmmnnmmnnmmnnmmnnmmmmmmmmnnmmmmmmmmnnmmnnmmmmmmmmmmmmnnmmnnnnmmnnmmnnmmmmnnmmmmnnnnmmmmnnmmmmnnmmmmnnmmmmmmmmnlǩjlmmmmmmmmmmmmmmmmmmmnnnnmmnnmmnnmmmmmmnnmmmmmmmmnnmmmmmmmmmmmmmmmmnnmmmmmmnnmmnnmmmmmmmmmmmmmmmmnnmmmmmmmmmmmmmmmmmmmmmmmmmmnmmx֩ummmmmmmmmmmmmmmnnmmmmmmnnmmmmnnmmmmmmmmmmmmmmmmmmmmmmnnmmmmmmmmmmnnmmmmmmmmmmnnmmnnnnmmmmmmmmmmmmmmmmnnnnmmmmmmnnnnmmmmmmmmmmmmmmmmmmmmmmnnnnmmmmmmmmmmmmmmmmmmmmmmmmmmnnnnmmmmmmmmmmmmmmmmmmnnmmnnnnmmmmmmmmmmnnmmmmnnnnmmnnmmmmmmmmmmmmmmnnmmnnmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmlx֩ummmmmmmmmmmmmnnmmmmmmmmmmnnmmmmnnnnmmmmmmmmmmmmmmmmmmnnmmmmmmmmmmnnnnmmmmmmmmmmmmmmmmmmnnmmmmmmmmnnmmnnmmnnmmmmmmmmmmnnmmmmmmmmmmmmmmmmmmmmmmnnmmnnmmmmmmmmmmnnnnmmmmmmnnmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmnnmmmmnnmmmmmmmmmmmmmmmmmmmmmmmmnnmmmmnnmmnnmmmmmmmmmmmmmmmntӞ}rmmmmmmmmmmmnnmmnnmmmmnnmmmmmmmmmmmmmmmmmmmmmmnnnnmmmmmmnnmmmmmmnmmmmmmmmmmmmmmmmmmmnnmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmnnmmmmmmmmmmmmnnmmmmmmmmmmmmmmmmmmmmmmmmmmmmnnmmmmmmmmmmmmmmmmmmmmnnmmmmmmmmmmmmmmmmmmmmmmmmmmnnmmmmmmmmmmmtݽ|lmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmnnmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmnnmmnnmmmmmmnnmntدwlmmmmmmmmmmmmmmnnnnnnmlkЙxpmmmmmmmmmmmmmnnmmmmmmmmnnmmnnmmmmnnmmmmmmnnmmmmmmnnmmmmmmmmmmnnmmmmmmmmmmmmmmnnmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmnnmmmmmmmlkգsmmmmmmmmmmmmmnnmmmmmr}͔snmnnmmmmmmmmmmmmmmnnmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmnnmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmtݽ{lmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmnnmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmnnmmlsդtmmmmmmmmmmmmmmmnnmmnnmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmnnmmmmmmmmmmmmmmmmmmmmmmmmmkkܺzlmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmn˓snmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmljݽ{lmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmljݽ|lmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmnnmmnnnnnnmmnnnnnnnnnnmmnnnnnnmmnnnnnnmmnnmmnnnnnnmmnnnnnnnnmmnnmmnnnnnnnnnnmmnnmmmmmmnnnnnnnnmmmmmmnnnnnnmmmmnnnnnnmmmmnnnnnnnnnnmmmmnnmmmmnnmmnnmmnnnnmmnnnnnnmmmmmmnnnnnnnnnnnnnnnnmmnnnnnnnnnnnnnnnnnml|եtmmnnnnnnnnnnnmmnnmmnnmmnnnnmmmmnnnnmmmmmmnnmmmmnnnnnnnnnnmmmmnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnmmmmnnnnnnnnnnnnmmmmnnnnnnnnnnmmnnmmnnnnmmmmmmnnnnnnnnnnnnnnmmnnnnnnnnnnnnnnnnnnnnnnnnnnmmmmmmmmnnnnnnnnnnnnnnmmmmmmnnnnmmnnmmnnmmnnnnmmmmnnnnnnnnnnnnmmnnmmmmmmnnnnmmmmnnnnnnmmnnmmmmmmnnnnnnnnnnnnnnmlǩjlmnnnnmmmmnnmmmmmmnnnnnnmmnnnnnnnnnnnnmmmmmmmmnnnnmmnnmmmmmmnnnnmmmmmmnnmmnnmmmmmmmmnnmmnnmmnnnnnnnnnnnnmmmmmmmmnnmmmmnnnnmmmmmuٳymmnmmmmmmmmmmnnnnmmnnnnnnnnmmnnnnmmnnnnmmmmnnnnmmnnnnmmnnmmnnnnnnnnnnmmnnnnnnmmmmnnnnnnnnnnmmmmmmmmnnnnnnmmnnmmmmmmnnnnmmmmmmmmnnnnnnnnmmnnnnnnmmnnnnmmnnmmmmmmmmmmnnmmnnmmnnnnmmmmnnnnnnnnnnnnmmnnmmmmmmmmmmmmnnnnmmmmnnmmnnmmnnnnnnnnnnmmmmnnnnnnnnnnmmmmnnnnmmmmmmnnnnmmmmmmnmmuٳxlmmmmnnmmnnnnnnnnnnnnmmmmmmmmnnnnnnnnnnmmmmmmnnmmnnnnmmmmmmmmmmnnmmnnmmnnnnmmmmmmmmmmmmnnmmnnnnnnmmmmmmmmnnnnmmmmnnmmnnmmnnmmmmmmnnmmmmmmnnmmnnnnnnmmnnnnnnmmnnmmnnmmnnnnmmmmmmmmnnnnnnnnmmnnnnmmnnnnmmnnnnnnnnnnnnnnmmnnmmmmmmmmnnnnmmnnnnnnnnmmnnnnmmnnnnmmmmmmmmmmmmmmmmmmnnnnnnmmmmm׫ummmnnnnmmnnmmmmnnmmmmmmmmnnmmmmnnnnnnnnmmmmmmmmmmmmmmmmmmnnmmnnmmnnmmmmnnmmmmmmnnmmmmmmmmmmmmmmnnnnmmmmmmmmnnnnmmmmnnnnmmmmmmmmmmmmnnmmnnnnmmmmnnmmnnnnmmmmnnmmnnnnmmmmmmmmnnnnmmnnnnnnnnmmnnnnnnmmmmmmnnmmnnmmmmmmmmnnmmnnnnmmmtݽ|lmnmmmmmmnnmmnnnnmmmmmmmmnnmmmmmmmmmmnnnnnnnnmmnnnnmmnnmmnnmmmmmmmmmmnnnnmmmmnnmmnnmmmmmmnnmmmmnnmmnnmmnnmmnnnnnnmmm۸zlmmnnmmnnmmnnmmmmmmnnmljˏomnmmnnnnmmmmmmmmmmnnmmnnnnmmmmnnmmmmmmmmmmnnmmnnnnmmmmmmmmmmnnnnmmnnmmmmmmnnmmmmmmmmnnmmmmnnnnmmmmmmnnmmnnnnmmmmmmnnmmmmmmnnmmmmnnmmmlkجvmmnmmnnnnmmnnnnmmnmmvŋmmnnnmmnnmmmmmmmmmmmmmmmmnnmmmmnnnnmmmmmmnnmmnnnnmmmmmmnnmmmmmmmmmmmmnnmmmmmmmmmmmmmmmmnnmmmmnnmmmmnnnnmmmmmmmmmmmmmmmmnnmmmmnnnnmmmmmmnnmmmmmtݽ{lmmmmmmmmmmmmmmmmmmnnmmmmmmnnmmmmmmmmmmmmmmmmmmnnnnmmmmmmnnnnmmmmmmnnmmnnmmmmmmnnmmmmnnnnmmmmmmmmmmmmmmmmmmmmmmmmnnmmnnmmmmmmnnmmnnnnnnnnmmmmmmmmmmnnmmnnnnmmnnnnmmmmnnmmmmnnmmnnmmmmmmmmmmmmmmmmmmmmmmmmmmmsդtmmnnnmmmmmmmmmmmmmmnnmmmmmmnnmmnnnnmmmmmmmmnnmmmmnnmmnnmmmmmmmmmmmmmmnnnnmmnnnnmmmmmmmmmmmmnnmmnnmmmmnnnnmmnnmmmmmmmmmmmmmmmmmmmmnnnnmmmmmmmmmmnnnnmmmmmmmmmmmmmmmmmmmmmmnnmmmmmmmmmmmmnnnnnnmmnll~̫klmnnmmmmnnmmmmmmmmnnnnmmmmnnnnmmnnmmmmmmmmmmmmmmnnmmnnmmmmmmmmmmmmmmmmmmmmmmmmnnmmmmmmmmmmmmnnmmmmmmnnmmmmmmmmmmmmmmmmmmmmnnmmnnnnnnmmnnmmmmnnmmmmmmnnmmmmmmmmmmnnmmmmmmmmmmnnmmmmnnnnmmmmmmmmmmmmmmmmmmnnmmmmmmmmmmnnnnmmmmmmmmmmmmmmmmmpxmmmmmnnnnmmmmmmnnmmmmmmmmmmmmmmnnmmmmmmmmmmnnmmmmmmmmmmmmmmmmmmmmmmnnmmmlkݽ{lmmmmmmmmmmmmnnmmmmmmmmnnmmmmmmmmmmmmmmmmmmmmmmnnmmmmmmmmmmmmmmmmmmnnmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmnnnnmmmmmmmmnnmmmmmmmmmmmmmmmmmmmmmmmmnnnnnnmmmmmmmmnnmmmmmmmmnnmmmmmmmmmmmmnnmmmmmmmmmmmmnnmmmmmmmmmmnnmmmmmmmmmmmmmmmkjݽ|lmmmmmmmmmmmmmmmmmmnnmmmmmmmmnnmmmmnnmmnnmmmmmmmmmmmmnnnnmmmmmmmmmmmmmmmmmmmmmmnnmmmmmmnnmmnnmmmmmmnnmmmmmmmmnnmmmmmmmmnnmmmmmmmmmmnnmmnnnnnnmmnnnnnnnnnnmmnnnnnnmmnnnnnnmmnnmmnnnnnnmmnnnnnnnnmmnnmmnnnnnnnnnnmmnnmmmmmmnnnnnnnnmmmmmmnnnnnnmmmmnnnnnnmmmmnnnnnnnnnnmmmmnnmmmmnnmmnnmmnnnnmmnnnnnnmmmmmmnnnnnnnnnnnnnnnnmmnnnnnnnnnnnnnnnnnml|եtmmnnnnnnnnnnnmmnnmmnnmmnnnnmmmmnnnnmmmmmmnnmmmmnnnnnnnnnnmmmmnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnmmmmnnnnnnnnnnnnmmmmnnnnnnnnnnmmnnmmnnnnmmmmmmnnnnnnnnnnnnnnmmnnnnnnnnnnnnnnnnnnnnnnnnnnmmmmmmmmnnnnnnnnnnnnnnmmmmmmnnnnmmnnmmnnmmnnnnmmmmnnnnnnnnnnnnmmnnmmmmmmnnnnmmmmnnnnnnmmnnmmmmmmnnnnnnnnnnnnnnmlǩklmnnnnmmmmnnmmmmmmnnnnnnmmnnnnnnnnnnnnmmmmmmmmnnnnmmnnmmmmmmnnnnmmmmmmnnmmnnmmmmmmmmnnmmnnmmnnnnnnnnnnnnmmmmmmmmnnmmmmnnnnmmmmmsܺ{lmnmmmmmmmmmmnnnnmmnnnnnnnnmmnnnnmmnnnnmmmmnnnnmmnnnnmmnnmmnnnnnnnnnnmmnnnnnnmmmmnnnnnnnnnnmmmmmmmmnnnnnnmmnnmmmmmmnnnnmmmmmmmmnnnnnnnnmmnnnnnnmmnnnnmmnnmmmmmmmmmmnnmmnnmmnnnnmmmmnnnnnnnnnnnnmmnnmmmmmmmmmmmmnnnnmmmmnnmmnnmmnnnnnnnnnnmmmmnnnnnnnnnnmmmmnnnnmmmmmmnnnnmmmmmmnmmsܻ{lmmmmnnmmnnnnnnnnnnnnmmmmmmmmnnnnnnnnnnmmmmmmnnmmnnnnmmmmmmmmmmnnmmnnmmnnnnmmmmmmnnmmmmnnmmnnnnnnmmmmmmmmnnnnmmmmnnmmnnmmnnmmmmmmnnmmmmmmnnmmnnnnnnmmnnnnnnmmnnmmnnmmnnnnmmmmmmmmnnnnnnnnmmnnnnmmnnnnmmnnnnnnnnnnnnnnmmnnmmmmmmmmnnnnmmnnnnnnnnmmnnnnmmnnnnmmmmmmmmmmmmmmmmmmnnnnnnmmmlj۷zlmmnnnnmmnnmmmmnnmmmmmmmmnnmmmmnnnnnnnnmmmmmmmmmmmmmmmmmmnnmmnnnnnnmmmmnnmmmmmmnnmmmmmmmmmmmmmmnnnnnnmmmmmmnnnnmmmmnnnnmmmmmmmmmmmmnnmmnnnnmmmmnnmmnnnnmmmmnnmmnnnnmmmmmmmmnnnnmmnnnnnnnnmmnnnnnnmmmmmmnnmmnnmmmmmmmmnnmmnnnnmmmtݽ|lmnmmmmmmnnmmnnnnmmmmmmmmnnmmmmmmmmmmnnnnnnnnmmnnnnmmnnmmnnmmmmmmmmmmnnnnmmmmnnmmnnmmmmmmnnmmmmnnmmnnmmnnmmnnnnnnmlkâ~lmmnnmmnnmmnnmmmmmmnnmmpklnmmnnnnmmmmmmmmmmnnmmnnnnmmmmnnmmmmmmmmmmnnmmnnnnmmmmmmmmmmnnnnmmnnmmmmmmnnmmmmmmmmnnmmmmnnnnmmmmmmnnmmnnnnmmmmmmnnmmnnmmnnmmmmnnmmmml|ڵylmnmmnnnnmmnnnnmmnmlzܻklnnnmmnnmmmmmmmmmmmmmmmmnnmmmmnnnnmmmmmmnnmmnnnnmmmmmmnnmmmmmmmmmmmmnnmmmmmmmmmmmmmmmmnnmmmmnnmmmmnnnnmmmmmmmmmmmmmmmmnnmmmmnnnnmmmmmmnnmmmmmtݽ|lmmmmmmmmmmmmmmmmmmnnmmmmmmnnmmmmmmmmmmmmmmmmmmnnnnmmmmmmnnnnmmmmmmnnmmnnmmmmmmnnmmmmnnnnmmmmmmmmmmmmmmmmmmmmmmmmnnmmnnmmmmmmnnmmnnnnnnnnmmmmmmmmmmnnmmnnnnmmnnnnmmmmnnmmmmnnmmnnmmmmmmmmmmmmmmmmmmmmmmmmmmmtդtmmnnnmmmmmmmmmmmmmmnnmmmmmmnnmmnnnnmmmmmmmmnnmmmmnnmmnnmmmmmmmmmmmmmmnnnnmmnnnnmmmmmmmmmmmmnnmmnnmmmmnnnnmmnnmmmmmmmmmmmmmmmmmmmmnnnnmmmmmmmmmmnnnnmmmmmmmmmmmmmmmmmmmmmmnnmmmmmmmmmmmmnnnnnnmmnmmyܼmmmnnmmmmnnmmmmmmmmnnnnmmmmnnnnmmnnmmmmmmmmmmmmmmnnmmnnmmmmmmmmmmmmmmmmmmmmmmmmnnmmmmmmmmmmmmnnmmmmmmnnmmmmmmmmmmmmmmmmmmmmnnmmnnnnnnmmnnmmmmnnmmmmmmnnmmmmmmmmmmnnmmmmmmmmmmnnmmmmnnnnmmmmmmmmmmmmmmmmmmnnmmmmmmmmmmnnnnmmmmmmmmmmmmmmmmmuֵklmmmnnnnmmmmmmnnmmmmmmmmmmmmmmnnmmmmmmmmmmnnmmmmmmmmmmmmmmmmmmmmmmnnmmmlkݽ|lmmmmmmmmmmmmnnmmmmmmmmnnmmmmmmmmmmmmmmmmmmmmmmnnmmmmmmmmmmmmmmmmmmnnnnmmmmmmmmmmmmmmmmmmmmmmmmmmmmnnnnmmmmmmmmnnmmmmmmmmmmmmmmmmmmmmmmmmnnnnnnmmmmmmmmnnmmmmmmmmnnmmmmmmmmmmmmnnmmmmmmmmmmmmnnmmmmmmmmmmnnmmmmmmmmmmmmmmmkjܽ|lmmmmmmmmmmmmmmmmmmnnmmnnmmmmnnmmmmnnmmnnmmmmmmmmmmmmnnnnmmmmmmmmmmmmmmmmmmmmmmnnmmmmmmnnmmnnmmmmmmnnmmmmmmmmnnmmmmnnmmnnmmmmmmmmmmmmnnnnnnnnnnnnmmnnmmnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnmmnnnnnnnnnnnnnnmmnnnnnnmmnnnnmmnnnnnnnnnnnnmmnnmmmmnnmmmmnnmmmmnnnnnnnnmmnnnnnnnnnnnnnnnnnnnnnnnnmmnnmmnnnnnnnnnnnnnnnnnnnnnnnnnnnmm|եtmmnnnnnnnnnnnnnnnnnnnnnmmnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnmmnnnnnnnnnnmmnnnnnnnnnnnnnnnnnnnnnnnnmmnnnnnnnnmmmmnnnnnnnnnnnnnnnnnnnnnnnnnnnnmmnnnnnnmmnnnnnnnnnnnnmmnnmmnnnnnnnnmmnnnnnnnnnnmmnnmmnnmmnnnnnnnnnnmmnnnnnnnnnnnnnnnnnnnnmmnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnmmnnmmnnnnnnnnnnnmk͌klnnnnnnnnnnnnnnnnnnnnnnnnnnnmmnnnnnnnnnnnnnnnnmmnnmmnnnnmmnnnnnnnnnnnnnnnnnnmmmmnnnnnnnnnnmmnnmmnnnnnnnnmmnnnnnnnnmmnnnnnnnnnmmr}lmnnnnnnnnnmmnnnnnnnnnnmmnnnnnnnnnnnnnnnnmmnnnnnnnnnnmmnnmmmmnnnnnnnnnnnnmmnnnnnnnnnnnnnnmmmmnnnnnnnnnnmmnnnnnnnnnnmmnnnnnnnnnnnnnnnnnnnnmmnnnnnnmmnnnnmmnnmmnnmmnnnnnnnnnnnnnnmmnnnnnnnnmmnnmmnnnnmmnnnnmmnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnmmmmnnnnmmnnnnnnnnnnnnnnnnnnnnnnnnnnnnnmmr}lmmnnmmnnnnnnnnnnnnnnnnmmmmmmnnnnnnnnnnnnnnnnnnnnnnnnnnmmnnmmnnnnnnnnnnnnnnnnmmnnnnnnnnnnnnmmnnnnnnmmnnnnnnnnnnnnmmnnnnnnnnnnnnnnnnnnnnnnmmnnnnnnmmnnmmnnnnnnnnnnnnnnnnnnnnmmnnnnnnmmnnnnnnnnmmnnnnnnmmnnnnnnnnnnnnnnmmmmnnnnnnnnmmnnnnnnnnnnmmnnnnnnnnnnnnnnnnmmnnnnnnnnnnnnnnmmnnnnnlkâ~lmmnnnnmmnnmmnnnnnnnnnnnnnnnnmmnnnnnnnnmmnnnnnnnnnnnnnnmmnnmmnnmmnnmmmmnnnnnnnnnnnnnnnnnnnnmmnnnnnnmmmmnnnnnnnnnnnnnnnnnnmmnnnnnnnnmmmmnnnnmmnnnnmmnnnnnnmmmmnnnnmmmmnnnnnnnnnnnnmmmmnnnnnnnnnnnnnnnnmmmmnnnnmmnnnnnnnnnnmmnnnmmtݽ|lmmmmnnnnnnmmnnmmnnmmnnnnmmnnmmnnnnmmnnnnnnnnmmmmnnnnnnmmnnnnnnnnnnnnnnnnmmnnnnnnnnmmmmnnnnnnmmnnnnmmmmmmnnnnnnnnnlkϮlmnnnnnnnnnnnnnnnmmnmmr}Ѱklmnnnnnnmmmmnnnnnnnnmmmmnnnnmmnnnnnnmmnnnnnnnnnnnnnnmmnnmmnnmmnnnnnnmmmmnnnnnnnnnnnnnnnnnnmmnnnnnnnnmmnnnnnnnnnnmmnnmmnnmmnnnnnnnnnnnmmxݿ|lmmnnnnnnmmmmmmnnnml}Яklnnnnnnnmmmmnnnnnnnnnnnnnnnnnnmmnnnnmmnnnnmmnnmmmmnnnnmmmmnnmmnnnnmmnnmmnnnnnnnnmmnnnnnnnnmmnnnnnnmmnnmmmmnnmmnnnnmmmmnnmmnnnnnnmmmmnnnnnnmmmtݽ|mmmnnnnnnnnmmnnnnnnmmmmnnnnnnmmmmmmnnnnnnmmnnnnnnnnnnmmmmnnmmnnnnmmnnmmnnnnnnmmmmmmmmnnnnnnnnnnnnnnnnnnnnnnmmnnnnnnnnnnmmnnnnnnnnnnnnnnnnnnnnmmmmnnmmnnnnnnnnmmnnnnnnnnnnmmmmmmnnnnmmnnnnnnnnnnmmnnnnnnmmnmmtեtmmmnnnnmmnnmmmmmmnnnnnnmmnnnnnnnnmmmmnnnnnnnnnnnnnnmmnnmmmmnnnnnnnnmmnnnnmmnnnnnnnnmmmmnnnnmmnnmmmmmmnnmmmmnnnnnnnnnnnnnnmmnnmmnnmmnnmmnnmmmmnnnnmmnnnnmmnnnnnnnnmmnnnnnnnnnnnnnnmmnnmmnnmmnnnnmmmsʓsnmmnmmnnnnmmmmmmmmmmnnnnnnmmnnmmnnmmnnmmnnnnnnmmmmnnnnnnnnnnmmmmnnnnmmmmmmmmnnmmmmmmnnnnmmmmmmmmmmnnnnmmmmnnmmnnmmmmnnmmmmnnnnnnmmmmmmnnnnmmmmmmnnmmmmnnnnmmmmnnnnnnnnnnmmmnnnmmnnnnnnnnnnmmmmnnnnmmnnnnnnmmmmmmnnnnnnnnnnnnnnmmmmnnmmmml|ʩklnmmnnmmnnmmnnmmmmmmnnmmnnnnnnnnnnnnnnmmmmnnmmnnnnmmnnnnnnnnmmnnmmmmmmmlkݽ|lmnnnmmmmmmnnmmmmmmnnmmnnmmmmmmmmnnmmnnnnnnnnmmmmmmnnmmmmnnnnnnmmmmmmnnnnnnmmmmmmnnmmmmmmnnnnmmmmmmmmnnmmmmmmmmmmmmmmmmmmmmnnmmmmmmnnmmnnnnnnmmmmnnnnnnnnmmmmmmnnnnmmmmnnmmmmmmmmmmmmnnnnmmmmmmnnnnmmnnnnnnmmmmmmmmnnnnnnmkjݽ|lmnnnnnnnnnmmnnnnnnmmmmmmnnmmnnmmmmnnnnnnnnmmmmnnnnnnmmmmmmmmmmmmmmmmnnnnnnmmmmnnmmmmnnmmnnmmmmnnmmmmmmmmnnnnmmnnnnnnmmmmmmnnmmmmnnmmnnnnnnnnnnnnmmnnmmnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnmmnnnnnnnnnnnnnnmmnnnnnnmmnnnnmmnnnnnnnnnnnnmmnnmmmnnnmmmmnnmmmmnnnnnnnnmmnnnnnnnnnnnnnnnnnnnnnnnnmmnnmmnnnnnnnnnnnnnnnnnnnnnnnnnnnmm|եtmmnnnnnnnnnnnnnnnnnnnnnmmnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnmmnnnnnnnnnnmmnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnmmmmnnnnnnnnnnnnnnnnnnnnnnnnnnnnmmnnnnnnmmnnnnnnnnnnnnmmnnnnnnnnnnnnmmnnnnnnnnnnmmnnmmnnmmnnnnnnnnnnmmnnnnnnnnnnnnnnnnnnnnmmnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnmmnnmmnnnnnnnnnnnmk͌klnnnnnnnnnnnnnnnnnnnnnnnnnnnmmnnnnnnnnnnnnnnnnmmnnmmnnnnmmnnnnnnnnnnnnnnnnnnmmmmnnnnnnnnnnmmnnmmnnnnnnnnmmnnnnnnnnmmnnnnnnnnnnmpyȧlmnnnnnnnnnmmnnnnnnnnnnmmnnnnnnnnnnnnnnnnmmnnnnnnnnnnmmnnmmmmnnnnnnnnnnnnmmnnnnnnnnnnnnnnmmmmnnnnnnnnnnmmnnnnnnnnnnmmnnnnnnnnnnnnnnnnnnnnmmnnnnnnmmnnnnmmnnmmnnmmnnnnnnnnnnnnnnmmnnnnnnnnmmnnmmnnnnmmnnnnmmnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnmmmmnnnnmmnnnnnnnnnnnnnnnnnnnnnnnnnnnnnmmqyȧlmmnnmmnnnnnnnnnnnnnnnnmmmmmmnnnnnnnnnnnnnnnnnnnnnnnnnnmmnnmmnnnnnnnnnnnnnnnnmmnnnnnnnnnnnnmmnnnnnnmmnnnnnnnnnnnnmmnnnnnnnnnnnnnnnnnnnnnnmmnnnnnnmmnnmmnnnnnnnnnnnnnnnnnnnnmmnnnnnnmmnnnnnnnnmmnnnnnnmmnnnnnnnnnnnnnnmmmmnnnnnnnnmmnnnnnnnnnnmmnnnnnnnnnnnnnnnnmmnnnnnnnnnnnnnnmmnnnnnlkѰklmnnnnmmnnmmnnnnnnnnnnnnnnnnmmnnnnnnnnmmnnnnnnnnnnnnnnmmnnmmnnmmnnmmmmnnnnnnnnnnnnnnnnnnnnmmnnnnnnmmmmnnnnnnnnnnnnnnnnnnmmnnnnnnnnmmmmnnnnmmnnnnmmnnnnnnmmmmnnnnmmmmnnnnnnnnnnnnmmmmnnnnnnnnnnnnnnnnmmmmnnnnmmnnnnnnnnnnmmnnnnmr}ݽ|lmmmmnnnnnnmmnnmmnnmmnnnnmmnnmmnnnnmmnnnnnnnnmmmmnnnnnnmmnnnnnnnnnnnnnnnnmmnnnnnnnnmmmmnnnnnnmmnnnnmmmmmmnnnnnnnnnml~ܻlmnnnnnnnnnnnnnnnmmnmmvâ~lmmnnnnnnmmmmnnnnnnnnmmmmnnnnmmnnnnnnmmnnnnnnnnnnnnnnmmnnmmnnmmnnnnnnmmmmnnnnnnnnnnnnnnnnnnmmnnnnnnnnmmnnnnnnnnnnmmnnmmnnmmnnnnnnnnnnnmmtȦllmnnnnnnmmmmmmnnnll¡~lmnnnnnnnmmmmnnnnnnnnnnnnnnnnnnmmnnnnmmnnnnmmnnmmmmnnnnmmmmnnmmnnnnmmnnmmnnnnnnnnmmnnnnnnnnmmnnnnnnmmnnmmmmnnmmnnnnmmmmnnmmnnnnnnmmmmnnnnnnmmmtݽ|mmmnnnnnnnnmmnnnnnnmmmmnnnnnnmmmmmmnnnnnnmmnnnnnnnnnnmmmmnnmmnnnnmmnnmmnnnnnnmmmmmmmmnnnnnnnnnnnnnnnnnnnnnnmmnnnnnnnnnnmmnnnnnnnnnnnnnnnnnnnnmmmmnnmmnnnnnnnnmmnnnnnnnnnnmmmmmmnnnnmmnnnnnnnnnnmmnnnnnnmmnmmtեtmmmnnnnmmnnmmmmmmnnnnnnmmnnnnnnnnmmmmnnnnnnnnnnnnnnmmnnmmmmnnnnnnnnmmnnnnmmnnnnnnnnmmmmnnnnmmnnmmmmmmnnmmmmnnnnnnnnnnnnnnmmnnmmnnmmnnmmnnmmmmnnnnmmnnnnmmnnnnnnnnmmnnnnnnnnnnnnnnmmnnmmnnmmnnnnmmmnsդsmmnmmnnnnmmmmmmmmmmnnnnnnmmnnmmnnmmnnmmnnnnnnmmmmnnnnnnnnnnmmmmnnnnmmmmmmmmnnmmmmmmnnnnmmmmmmmmmmnnnnmmmmnnmmnnmmmmnnmmmmnnnnnnmmmmmmnnnnmmmmmmnnmmmmnnnnmmmmnnnnnnnnnnmmnnnnmmnnnnnnnnnnmmmmnnnnmmnnnnnnmmmmmmnnnnnnnnnnnnnnmmmmnnmmmmmܺ{lmnmmnnmmnnmmnnmmmmmmnnmmnnnnnnnnnnnnnnmmmmnnmmnnnnmmnnnnnnnnmmnnmmmmmmmlkݽ|lmnnnmmnnmmnnmmmmmmnnmmnnmmmmmmmmnnmmnnnnnnnnmmmmmmnnmmmmnnnnnnmmmmmmnnnnnnmmmmmmnnmmmmmmnnnnmmmmmmmmnnmmmmmmmmmmmmmmmmmmmmnnmmmmmmnnmmnnnnnnmmmmnnnnnnnnmmmmmmnnnnmmmmnnmmmmmmmmmmmmnnnnmmmmmmnnnnmmnnnnnnmmmmmmmmnnnnnnmljݽ|lmnnnnnnnnnmmnnnnnnmmmmmmnnmmnnmmmmnnnnnnnnmmmmnnnnnnmmmmmmmmmmmmmmmmnnnnnnmmmmnnmmmmnnmmnnmmmmnnmmmmmmmmnnnnmmnnnnnnmmmmmmnnmmmmnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnml|եtmmnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnmk͌klnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnmoѰlmnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnmmnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnmmnnnnnnnmoѰlmnnnnnnnnnnnnnmmnnnnnnnnnnnnnnmmnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnmmnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnmmnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnmmnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnmmnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnmmnnnnnmlklnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnmmnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnmmnnnnnnnnnnnnnnnnnnnnnnmmnnnnmmnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnmmnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnmmnnnnmmnnnnnnnnqݽ|mmnnnnnnnnnnnnnmmnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnmmmmnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnmmnnnnnnnnnnnnnnnmmzNJklnnnnnnnnnnnnnnnnnnmmz۷zmmnnnnnnnnnnnnnnnmmnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnmmnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnmmnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnmpvѰllmnnnnnnnnnnnnnnnlkٲxmmnnnnnmmnnnnnnnnnnnnnnnnnnnnnnnnnnmmnnnnnnnnnnmmnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnmmnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnmmtݽ|lmnnnnnnnmmnnnnnnnnnnmmnnnnnnnnnnnnnnmmnnnnnnnnnnnnnnnnmmnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnmmnnnnnnnnnnnnnnnnmmnnnnnnnnnnnnnnnnmmmmnnnnnnnnnnnnnnnnmmnnnnnnnnnnnnnnnnnnmmnnnnnnnnnnnnnnmmnmmtդtmmnnnnnnnnnmmnnnnnnmmnnnnnnnnnnnnnnnnnnmmnnnnnnnnnnmmnnnnmmnnnnnnmmnnnnnnnnnnnnmmnnnnnnnnnnnnnnnnmmnnnnnnnnnnnnnnnnnnnnnnnnnnnnmmnnnnnnnnnnnnnnnnmmnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnmmnmmܽ|lmnnnnnmmnnnnnnmmnnnnnnnnnnnnnnnnnnnnnnnnnnnnmmmmnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnmmnnmmnnnnnnnnmmmmnnnnnnnnnnmmmmnnnnnnnnnnnnnnmmnnmmnnnnnnnnmmnnnnnnmmnnnnnnnnnnnnnnnnnnnnnnnnnnnnmmmmmmnnnmo֧ummnnnnnnnnnnnnnnnnnmmnnnnnnmmnnnnnnnnmmnnnnnnmmnnnnnnmmnnnnnnnnmmmmnnnnnlkݽ|lmnnnnnnnmmnnnnmmnnnnmmnnnnnnmmmmnnnnnnnnmmnnnnnnnnnnmmnnnnmmnnmmnnnnnnnnnnnnnnnnnnnnmmmmnnnnmmnnnnnnnnmmnnmmnnnnnnnnnnnnnnnnnnnnnnnnnnmmmmnnnnnnnnnnmmmmnnmmnnnnmmmmnnmmmmmmnnmmnnnnnnnnmmnnnnnnnnnnnnnnnnnnnnmmmmmmnnnnnlkݽ|lmnnnnnnnnnnnnnmmmmnnnnmmnnmmmmnnnnnnnnnnmmmmnnmmnnmmnnmmnnmmnnnnnnnnmmnnmmmmmmmmmmmmnnnnnnnnnnnnmmmmnnmmnnnnmmnnnnnnnnmmnnnnmmnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnml|եtmmnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnml͌klnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnlkܻlmnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnmmnnnnnnnlkܻlmnnnnnnnnnnnnnmmnnnnnnnnnnnnnnmmnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnmmnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnmmnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnmmnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnmmnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnmmnnnnnmlˏomnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnmmnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnmmnnnnnnnnnnnnnnnnnnnnnnmmnnnnmmnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnmmnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnmnnnnnmmnnnnnnnljݽ}mmnnnnnnnnnnnnnmmnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnmmmnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnmmnnnnnnnnnnnnnnnmmvΐomnnnnnnnnnnnnnnnnnnmm~׫vmmnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnmmnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnmoܻklmnnnnnnnnnnnnnnnmmդtmmnnnnnnmnnnnnnnnnnnnnnnnnnnnnnnnnnmmnnnnnnnnnnmmnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnmmnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnmmtݽ|lmnnnnnnnmmnnnnnnnnnnmmnnnnnnnnnnnnnnmmnnnnnnnnnnnnnnnnmmnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnmmnnnnnnnnnnnnnnnnmmnnnnnnnnnnnnnnnnmmmmnnnnnnnnnnnnnnnnmmnnnnnnnnnnnnnnnnnnmmnnnnnnnnnnnnnnmmnmmtդtmmnnnnnnnnnmmnnnnnnmmnnnnnnnnnnnnnnnnnnmmnnnnnnnnnnmmnnnnmmnnnnnnmmnnnnnnnnnnnnmmnnnnnnnnnnnnnnnnmmnnnnnnnnnnnnnnnnnnnnnnnnnnnnmmnnnnnnnnnnnnnnnnmmnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnmmnlkұmmnnnnnmmnnnnnnmmnnnnnnnnnnnnnnnnnnnnnnnnnnnnmmmmnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnmmnnmmnnnnnnnnmmmmnnnnnnnnnnmmmmnnnnnnnnnnnnnnmmnnmmnnnnnnnnmmnnnnnnmmnnnnnnnnnnnnnnnnnnnnnnnnnnnnmmmmmmnnmqzϙxpmnnnnnnnnnnnnnnnnnnmmnnnnnnmmnnnnnnnnmmnnnnnnmmnnnnnnmmnnnnnnnnmmmmnnnnnlkݽ|lmnnnnnnnmmnnnnmmnnnnmmnnnnnnmmmmnnnnnnnnmmnnnnnnnnnnmmnnnnmmnnmmnnnnnnnnnnnnnnnnnnnnmmmmnnnnmmnnnnnnnnmmnnmmnnnnnnnnnnnnnnnnnnnnnnnnnnmmmmnnnnnnnnnnmmmmnnmmnnnnmmmmnnmmmmmmnnmmnnnnnnnnmmnnnnnnnnnnnnnnnnnnnnmmmmmmnnnnnlkݽ|lmnnnnnnnnnnnnnmmmmnnnnmmnnmmmmnnnnnnnnnnmmmmnnmmnnmmnnmmnnmmnnnnnnnnmmnnmmmmmmmmmmmmnnnnnnnnnnnnmmmmnnmmnnnnmmnnnnnnnnmmnnnnmmnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnmm|եtmmnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnml͌kmnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnmkNJklnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnmkNJklnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnmm~Йxpmnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnljݽ}mmnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnmpyљxqmnnnnnnnnnnnnnnnnnmlӟ}rmnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnmmNJklnnnnnnnnnnnnnnnnmpјwpmnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnmmtݽ}mmnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnmmtդtmmnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnml}Œomnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnmmnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnmmnnnnnnnnnnmmnnnnnnnnnnmmnnnnnnnnnnnnnnnnnnnnnnnnnmmwƍomnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnmmnnnnnnnnmmnlkݽ|mmnnnnnmmmmnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnmmnnnnnnnnnnnnnnmmnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnmmnnnnnnnnnlkݽ|lmnnnnnnnnnnnnnnnnnnnnnnnnnnnnnmmnnmmnnnnnnnnnnnnnnnnnnmmnnnnnnnnnnnnmmnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnmm}եumnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnml͌kmnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnmlΑpnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnmlΑpmnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnmm{֨ummnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnmnݾ}mmnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnmpգtmmnnnnnnnnnnnnnnnnml̓tonnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnmlΑpnnnnnnnnnnnnnnnnnpuʏpnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnmmtݽ}mmnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnmmtդummnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnmmwϛ|rmnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnmmnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnmmnnnnnnnnnnmmnnnnnnnnnnmmnnnnnnnnnnnnnnnnnnnnnnnnnml}طkmnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnmmnnnnnnnnmmnlkݽ|mmnnnnnmmmmnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnmmnnnnnnnnnnnnnnmmnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnmmnnnnnnnnnlkݽ|lmnnnnnnnnnnnnnnnnnnnnnnnnnnnnnmmnnmmnnnnnnnnnnnnnnnnnnmmnnnnnnnnnnnnmmnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnoonnnnoonnnnnnnnoonnnnnnnnoonnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnoooonnnnnnnnnnnnnnoooooonnnnnnoonnnnnnoonnnnnnnnnnnnnnnnnnnnnnnnnnoonnnnnnnnnnoonnnnnnnnnnnnoonnnmm}եunnnnnnnnnoonnnnnnnnnnoonnnnoonnnnnnnnnnnnnnoonnnnoonnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnoonnnnnnnnnnnnnnnnnnnnnnnnnnnnnnoonnnnnnnnnnnnnnnnnnnnnnoonnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnoonnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnoonnnnnnnnnnnnnnnnnnnnnnnnnml͌kmnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnoonnnnnnnnnnnnnnnnnnnnnnnnoonnnnoonnnnnnnnnnnmlњyqnnnnnnnnnnnnnnnnnnnnnnnoonnnnnnnnnnnooonnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnoonnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnoonnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnoonnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnoonnnnnnoonnnnnnnnnnnnnnnnnnnmlњyqmnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnoonnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnoonnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnmmyܻ{mmnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnotݾ}mmnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnmm׬wmmnnnnnnnnnnnnnnnnlknnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnmm}њyqnnnnnnnnnnnnnnmmsmmnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnuݽ|mmnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnmmtեunnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnmqzزymmnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnmk¡}lmnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnlkݽ|mmnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnlkݽ|mmnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnoonnnnoonnnnnnnnoonnnnnnnnoonnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnoooonnnnnnnnnnnnnnoooooonnnnnnoonnnnnnoonnnnnnnnnnnnnnnnnnnnnnnnnnoonnnnnnnnnnoonnnnnnnnnnnnoonnnnm}եunnnnnnnnnoonnnnnnnnnnoonnnnoonnoonnnnnnnnnnoonnnnoonnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnoonnnnnnnnnnnnnnnnnnnnnnnnnnnnnnoonnnnnnnnnnnnnnnnnnnnnnoonnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnoonnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnoonnnnnnnnnnnnnnnnnnnnnnnnnmm͌kmnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnoonnnnnnnnnnnnnnnnnnnnnnnnoonnnnoonnnnnnnnnnnmlգtnnnnnnnnnnnnnnnnnnnnnnnoonnnnnnnnnnoooonnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnoonnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnoonnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnoonnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnoonnnnnnoonnnnnnnnnnnnnnnnnnnmlգtmnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnoonnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnoonnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnmmw̫lmnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnr{ܹ{mmnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnml۷zmmnnnnnnnnnnnnnnnnnqֵlmnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnmyգtnnnnnnnnnnnnnnmmvճlmnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnuݽ|mmnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnmuեunnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnpȨmmnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnotدwmmnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnlkݽ}mmnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnmkݽ|mmnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnoooooooonnnnnnoonnnnnnnnnnnnoooooonnnnnnnnoooooonnnnnnnnoonnoonnoonnnnnnoonnoonnnnnnoonnoonnnnnnoonnnnnnoooonnoonnoooooonnnnoonnnnoonnoooooonnoonnnnnnoonnnnnnnnoonnnnnnoooonnnnoonnnnnnnnnnnnoonnnnnnnnm}եunnooonnnnnnnnnnnnnnnnnnnnnnnnnnnnoonnnnnnnnoooooooonnoonnoooonnoooonnnnnnnnnnnnnnnnoonnoooonnnnoonnoonnoonnnnoonnnnoooooonnnnnnnnnnnnnnoonnnnoooonnnnnnoonnnnnnoonnnnnnnnnnnnnnoonnoonnnnnnnnnnnnnnoooooonnnnnnnnoonnnnoonnnnoonnnnnnoonnnnnnnnnnnnoonnnnoonnnnnnoonnnnoonnnnnnnnnnnnnnnnoooonnnnnnomm͌kmnnnoonnoonnnnnnnnnnnnoonnnnoooonnoooonnnnnnnnnnnnnnnnoooonnnnnnoonnnnnnnnnnnnnnoonnoonnnnoooooonnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnmm~حwnnnnnnnnnnnnnnnnnoonnnnnnnnnnnnnnnnnnnnnnoonnnnnnnnnnnnnnnnoonnoonnnnnnnnnnnnnnnnnnnnnnnnnnoooonnnnnnnnnnnnoonnnnoonnoooonnnnnnoooonnnnnnoooonnoonnnnnnoooonnnnnnnnnnnnnnoonnnnnnnnnnnnnnoonnnnnnnnnnnnoonnnnnnnnoonnnnoonnoonnoonnnnnnnnnnnnnnnnoonnnnnnnnnnnnnnoonnnnnnoooonnonmجwnnooonnoonnnnnnnnoonnnnoonnnnoooonnnnoonnnnnnnnnnnnnnnnnnnnoooonnnnoonnnnnnnnnnnnnnnnnnnnoonnnnnnnnnnnnnnoonnnnnnnnnnnnnnoonnnnnnnnnnnnnnoooooooonnnnnnnnnnnnoonnnnoooonnnnnnnnnnnnnnoonnnnnnnnnnoonnnnoonnnnnnoonnnnoonnoonnnnnnnnnnnnnnnnnnnnnnoonnoonnnnnnnnnnnnnnnnnnnnnnnnnnnnonntۺlmnooonnnnnnnnnnnoonnoonnnnnnnnnnnnoonnoooonnnnnnoonnnnnnnnnnnnnnnnnnnnoonnoonnoonnnnoooonnnnnnnnnnnnnnoonnnnoonnnnnnnnnnoonnnnnnnnnnnnnnnnnnoonnnnnnnnnnnnnnnnoonnnnnnoonnnnnnnnnnnnoonnnnnnnnoonnnnoonnnnnnoonnnnnnnnoonnnnntذxmnonnnnnnnnoooonnnnnnnnnnnnoonnoonnnnnnnnoonnoonnnnnnnnnnnnoonnnnnnoonnnnnnnnnnnnnnnnoonnnnnnnnnnnnnnnnoonnnnoonnnnommã~mmnnnoonnnnnnnnnnnr}ʩlmnnnnnnnoonnnnnnnnnnnnnnnnnnnnnnnnnnoonnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnoonnnnnnnnnnoooonnnnnnnnnnnnnnnnnnnnnnnnoonnnnnnnnnnnnnnnnnnnnoonnonntجwnnnnnnnoonnnnnmmzŤmmnnnoonnnnnnnnnnnnnnnnnnnnoonnnnnnnnnnnnnnnnnnnnnnnnnnnnoonnoonnoonnnnnnnnoonnnnnnnnnnnnnnnnoonnnnoonnnnnnnnnnnnnnnnoonnnnnnnnnnnnnnnnnnnnnnnnmuݽ|mmnnnnnnnnnnnnnnnoonnnnoonnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnoooonnnnnnnnnnnnnnnnnnnnnnnnnnnnnnoonnnnnnnnnnnnnnoonnnnnnnnoooonnnnnnoonnnnnnnnnnnnnnnnnnnnnnnnnnoonnoonnnnnnnnnnnnnnnnnnnnnnnnnnnnoonnnnnnnnnnnuեumnnnnnnnnnnnnoonnnnnnnnnnnnnnnnnnnnnnnnnnnnnnoooonnnnnnnnoonnnnnnnnnnnnnnnnnnoonnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnooonnnnnnnnnnnnnnnnnnnnnnnnoonnoonnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnmm޿pnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnoonnnnnnnnnnnnnnnnnnnnnnnnnnnnoonnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnoonnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnoonnnnnnnnmuӠ~snnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnlkݽ}mmnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnoonnnnnnnnoonnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnmkݽ|mmnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnoooooooonnnnnnoonnnnnnnnnnnnoooooonnnnnnnnoooooonnnnnnnnoonnoonnoonnnnnnoonnoonnnnnnoonnoonnnnnnoonnnnnnoooonnoonnoooooonnnnoonnnnoonnoooooonnoonnnnnnoonnnnnnnnoonnnnnnoooonnnnoonnnnnnnnnnnnoonnnnnnnnm}եunnooonnnnnnnnnnnnnnnnnnnnnnnnnnnnoonnnnnnnnoooooooonnoonnoooonnoooonnnnnnnnnnnnnnnnoonnoooonnnnoonnoonnoonnnnoonnnnoooooonnnnnnnnnnnnnnoonnnnoooonnnnnnoonnnnnnoonnnnnnnnnnnnnnoonnoonnnnnnnnnnnnnnoooooonnnnnnnnoonnnnoonnnnoonnnnnnoonnnnnnnnnnnnoonnnnoonnnnnnoonnnnoonnnnnnnnnnnnnnnnoooonnnnnnomm͍lmnnnoonnoonnnnnnnnnnnnoonnnnoooonnoooonnnnnnnnnnnnnnnnoooonnnnnnoonnnnnnnnnnnnnnoonnoonnnnoooooonnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnm|۷{mnnnnnnnnnnnnnnnnoonnnnnnnnnnnnnnnnnnnnnnoonnnnnnnnnnnnnnnnoonnoonnnnnnnnnnnnnnnnnnnnnnnnnnoooonnnnnnnnnnnnoonnnnoonnoooonnnnnnoooonnnnnnoooonnoonnnnnnoooonnnnnnnnnnnnnnoonnnnnnnnnnnnnnoonnnnnnnnnnnnoonnnnnnnnoonnnnoonnoonnoonnnnnnnnnnnnnnnnoonnnnnnnnnnnnnnoonnnnnnoooonnonm|۷{mnooonnoonnnnnnnnoonnnnoonnnnoooonnnnoonnnnnnnnnnnnnnnnnnnnoooonnnnoonnnnnnnnnnnnnnnnnnnnoonnnnnnnnnnnnnnoonnnnnnnnnnnnnnoonnnnnnnnnnnnnnoooooooonnnnnnnnnnnnoonnnnoooonnnnnnnnnnnnnnoonnnnnnnnnnoonnnnoonnnnnnoonnnnoonnoonnnnnnnnnnnnnnnnnnnnnnoonnoonnnnnnnnnnnnnnnnnnnnnnnnnnnnonnqyƎonnoooonnnnnnnnnnoonnoonnnnnnnnnnnnoonnoooonnnnnnoonnnnnnnnnnnnnnnnnnnnoonnoonnoonnnnoooonnnnnnnnnnnnnnoonnnnoonnnnnnnnnnoonnnnnnnnnnnnnnnnnnoonnnnnnnnnnnnnnnnoonnnnnnoonnnnnnnnnnnnoonnnnnnnnoonnnnoonnnnnnoonnnnnnnnoonnnnnu֩vmnonnnnnnnnoooonnnnnnnnnnnnoonnoonnnnnnnnoonnoonnnnnnnnnnnnoonnnnnnoonnnnnnnnnnnnnnnnoonnnnnnnnnnnnnnnnoonnnnoonnnnonm}έlmnnnoonnnnnnnnnnnwܼ|mmnnnnnnnoonnnnnnnnnnnnnnnnnnnnnnnnnnoonnoonnnnnnnnnnnnnnnnnnnnnnnnnnnnoonnnnnnnnnnoooonnnnnnnnnnnnnnnnnnnnnnnnoonnnnnnnnnnnnnnnnnnnnoonnonnqyڶzmmnnnnnoonnnnnmm~۷zmmnnnoonnnnnnnnnnnnnnnnnnnnoonnnnnnnnnnnnnnnnnnnnnnnnnnnnoonnoonnoonnnnnnnnoonnnnnnnnnnnnnnnnoonnnnoonnnnnnnnnnnnnnnnoonnnnnnnnnnnnnnnnnnnnnnnnmuݽ}mmnnnnnnnnnnnnnnnoonnnnoonnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnoooonnnnnnnnnnnnnnnnnnnnnnnnnnnnnnoonnnnnnnnnnnnnnoonnnnnnnnoooonnnnnnoonnnnnnnnnnnnnnnnnnnnnnnnnnoonnoonnnnnnnnnnnnnnnnnnnnnnnnnnnnoonnnnnnnnnnnuեumnonnnnnnnnnnoonnnnnnoonnnnnnnnnnnnnnnnnnnnnnoooonnnnnnnnoonnnnnnnnnnnnnnnnnnoonnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnoooonnnnnnnnnnnnnnnnnnnnnnnnoonnoonnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnmmϛ|rmnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnoonnnnnnnnnnnnnnnnnnnnnnnnnnnnoonnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnoonnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnoonnnnnnnml|̓tonnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnlkݽ}mmnnnnnnnnnnnnnnnnnnnnnoonnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnoonnnnnnnnoonnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnmkݽ|mmnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnoooonnnnnnnnnnoonnoooooooooonnoooonnoonnnnnnoonnoooonnnnoonnnnoooooonnnnnnoonnnnoooooooooonnoooooooooooooooooooooonnoonnoonnnnoooonnnnnnoonnnnoonnoooonnoooooooonnoooooonnoonnoonnnnoonnnnoooooooooooonnnnm}եunnooooooonnnnnnnnoonnoooooonnnnnnnnoooonnnnnnoonnoooonnnnoonnnnoonnoooooooonnnnnnoooooonnnnoooooonnnnoonnnnoonnoooonnnnoooooonnoonnnnoonnoooooonnnnoooonnoooooooooonnoooonnnnnnnnnnnnnnnnnnnnnnoooooonnoooooonnnnnnnnoooooooooooonnoooooooonnoooonnoonnoooonnoooooonnoonnoooooooooooonnoonnoooonnooomm͍lmnnnoooonnoooooonnoonnoooooonnnnnnoooonnoonnoonnoonnnnoonnoooonnnnoonnoonnoooooonnnnoonnnnoooooonnoooonnnnnnoooonnoooooonnoonnnnmzã~mnnoonnnnnnnnoooonnoonnnnoonnoooooooonnoooooonnnnnnnnnnoonnnnnnnnoonnoooooooonnnnoonnoonnnnoooooooonnnnnnoonnnnoooooooooonnnnnnoonnoooooooooonnoonnnnoonnnnnnoooooonnnnnnoooooooooonnnnoonnnnnnoooooonnnnnnnnoonnoonnoonnoonnnnoonnoonnnnnnoonnoonnoonnnnoooonnoooonnnnoonnoonnnnmzãmnooooonnnnnnnnoonnnnoooooonnnnoonnnnoonnoooonnnnnnoooooooonnnnnnnnnnoooonnnnoooooooooooooonnnnoooonnnnnnoooonnnnoonnoooonnnnnnnnoonnnnnnoonnnnoonnnnoooonnoonnoooonnnnnnoonnoonnoooonnoonnoonnoooooooooooonnoooonnoonnoonnnnoooooonnnnnnoonnoonnnnnnoooooonnnnnnoonnnnnnnnoonnnnoonnnnoϘyqnnnnnnnoooonnnnoonnoonnoonnnnnnnnnnoonnoooonnnnnnoonnnnnnnnoooooooooooonnoooooonnnnnnoonnoonnnnoooooooonnnnnnoooonnnnnnoonnnnnnnnoooooonnnnoonnnnoonnoonnnnoonnnnnnnnoooonnnnoooonnnnnnoonnnnnnnnoonnnnnnnnoonnnnnnnnnnnnnnnuզumnooooooonnoonnnnnnnnnnnnoonnoonnoonnnnnnnnnnnnnnnnnnoooooonnnnoonnoooonnnnnnoonnnnnnnnoooooonnnnoonnnnoooonnoonnnnonmyطlmooonnnnnnooooonm{حwnnonnoonnnnnnnnnnnnoonnoonnnnoonnoonnoonnnnnnnnoonnoooonnnnoonnnnoooonnnnnnnnnnnnnnoonnnnoooonnnnnnnnnnnnnnoonnoonnnnnnnnnnnnnnoonnoonnnnnnnnpݿ}mmnnnoooonnnnnmm׫vmnnnnnnnnnnoonnnnnnnnnnnnnnnnnnnnoonnoonnnnoooonnnnnnnnnnnnnnnnnnnnoonnnnoooonnnnnnnnnnnnnnoonnoonnnnnnnnnnnnnnnnnnoonnnnoonnnnoonnoonnnnnnnnnnnuݽ}mnonnnnoooonnnnnnnnnnnnnnoonnnnoooonnnnnnnnoooonnnnoooonnnnnnnnnnnnnnoooonnoonnnnnnoonnnnoonnnnnnoooonnnnnnnnoonnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnoooonnnnnnnnoonnoooooooonnnnoooonnnnnnoonnnnnnnnnnnnnnnuեunnnnnnnnnnnoonnoooonnoooonnoonnnnoonnnnnnnnoonnnnnnoooonnnnnnnnnnoonnoooonnoonnnnnnnnnnoonnnnoonnnnoonnnnnnnnnnnnoonnnnoonnnnoooonnoooonnnnnnnnnnnnoonnnnnnnnnnnnnnoonnoonnoonnnnnnnnnnoonnoooonnnnnnmzزymnnoonnnnoonnoonnnnnnnnnnoonnnnoonnnnoonnnnnnnnnnnnoonnnnoonnnnoonnnnoooonnnnnnnnnnnnoonnnnnnnnnnnnnnoonnoonnoonnnnnnnnnnoonnoooonnnnnnnnnnnnnnoonnnnnnnnnnnnnnoonnnnnnnnnnnnoonnnnnnnnnnnnnnnnnnnnoooonnnnoooonnoonnoooonnnnnmknmnoonnnnnnnnnnnnnnnnnnnnnnoooonnnnnnoonnnnnnnnnnnnnnnnoonnnnoonnnnnnnnnnnnnmkݽ}mmnnnnnnnnnnnoonnnnoonnnnnnnnnnoooonnnnnnoonnnnnnnnnnnnnnoonnnnnnnnnnoooonnnnnnnnnnoonnnnnnnnnnnnnnoonnoonnnnnnoonnnnnnnnnnnnnnnnnnoooonnoonnnnnnoonnnnnnnnnnoonnnnnnoonnnnnnnnnnnnnnnnnnnnoonnnnnnoooonnnnnnnnnnnnnnnnnnnmkݽ}mmonnnnnnoonnnnoonnnnnnoonnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnoonnnnnnnnnnnnoonnnnnnnnnnnnnnnnnnnnoonnnnnnnnoonnnnoonnoooooonnnnnnnnnnoonnoooooooooonnoooonnoonnnnnnoonnoooonnnnoonnnnoooooonnnnnnoonnnnoooooooooonnoooooooooooooooooooooonnoonnoonnnnoooonnnnnnoonnnnoonnoooonnoooooooonnoooooonnoonnoonnnnoonnnnoooooooooooonnnnm}եunnooooooonnnnnnnnoonnoooooonnnnnnnnoooonnnnnnoonnoooonnnnoonnnnoonnoooooooonnnnnnoooooonnnnoooooonnnnoonnnnoonnoooonnnnoooooonnoonnnnoonnoooooonnnnoooonnoooooooooonnoooonnnnnnnnnnnnnnnnnnnnnnoooooonnoooooonnnnnnnnoooooooooooonnoooooooonnoooonnoonnoooonnoooooonnoonnoooooooooooonnoonnoooonnooomm͍lmnnnoooonnoooooonnoonnoooooonnnnnnoooonnoonnoonnoonnnnoonnoooonnnnoonnoonnoooooonnnnoonnnnoooooonnoooonnnnnnoooonnoooooonnoonnnnnxЯlmnoonnnnnnnnoooonnoonnnnoonnoooooooonnoooooonnnnnnnnnnoonnnnnnnnoonnoooooooonnnnoonnoonnnnoooooooonnnnnnoonnnnoooooooooonnnnnnoonnoooooooooonnoonnnnoonnnnnnoooooonnnnnnoooooooooonnnnoonnnnnnoooooonnnnnnnnoonnoonnoonnoonnnnoonnoonnnnnnoonnoonnoonnnnoooonnoooonnnnoonnoonnnnnxЯmmooooonnnnnnnnoonnnnoooooonnnnoonnnnoonnoooonnnnnnoooooooonnnnnnnnnnoooonnnnoooooooooooooonnnnoooonnnnnnoooonnnnoonnoooonnnnnnnnoonnnnnnoonnnnoonnnnoooonnoonnoooonnnnnnoonnoonnoooonnoonnoonnoooooooooooonnoooonnoonnoonnnnoooooonnnnnnoonnoonnnnnnoooooonnnnnnoonnnnnnnnoonnnnoonnnmk֩vnnnnnnnoooonnnnoonnoonnoonnnnnnnnnnoonnoooonnnnnnoonnnnnnnnoooooooooooonnoooooonnnnnnoonnoonnnnoooooooonnnnnnoooonnnnnnoonnnnnnnnoooooonnnnoonnnnoonnoonnnnoonnnnnnnnoooonnnnoooonnnnnnoonnnnnnnnoonnnnnnnnoonnnnnnnnnnnnnnnvգtnnooooooonnoonnnnnnnnnnnnoonnoonnoonnnnnnnnnnnnnnnnnnoooooonnnnoonnoooonnnnnnoonnnnnnnnoooooonnnnoonnnnoooonnoonnnnonnulmooonnnnnnooooonm~ӟ~snnonnoonnnnnnnnnnnnoonnoonnnnoonnoonnoonnnnnnnnoonnoooonnnnoonnnnoooonnnnnnnnnnnnnnoonnnnoooonnnnnnnnnnnnnnoonnoonnnnnnnnnnnnnnoonnoonnnnnnomlȧmmnnnoooonnnnnmlҞ}rnnnnnnnnnnnoonnnnnnnnnnnnnnnnnnnnoonnoonnnnoooonnnnnnnnnnnnnnnnnnnnoonnnnoooonnnnnnnnnnnnnnoonnoonnnnnnnnnnnnnnnnnnoonnnnoonnnnoonnoonnnnnnnnnnnuݽ}mnonnnnoooonnnnnnnnnnnnnnoonnnnoooonnnnnnnnoooonnnnoooonnnnnnnnnnnnnnoooonnoonnnnnnoonnnnoonnnnnnoooonnnnnnnnoonnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnoooonnnnnnnnoonnoooooooonnnnoooonnnnnnoonnnnnnnnnnnnnnnuեunnnnnnnnnnnoonnoooonnoooonnoonnnnoonnnnnnnnoonnnnnnoooonnnnnnnnnnoonnoooonnoonnnnnnnnnnoonnnnoonnnnoonnnnnnnnnnnnoonnnnoonnnnoooonnoooonnnnnnnnnnnnoonnnnnnnnnnnnnnoonnoonnoonnnnnnnnnnoonnoooonnnnnnntȨmnnoonnnnoonnoonnnnnnnnnnoonnnnoonnnnoonnnnnnnnnnnnoonnnnoonnnnoonnnnoooonnnnnnnnnnnnoonnnnnnnnnnnnnnoonnoonnoonnnnnnnnnnoonnoooonnnnnnnnnnnnnnoonnnnnnnnnnnnnnoonnnnnnnnnnnnoonnnnnnnnnnnnnnnnnnnnoooonnnnoooonnoonnoooonnnnnotѰlmnoonnnnnnnnnnnnnnnnnnnnnnoooonnnnnnoonnnnnnnnnnnnnnnnoonnnnoonnnnnnnnnnnnnmlݽ}mmnnnnnnnnnnnoonnnnoonnnnnnnnnnoooonnnnnnoonnnnnnnnnnnnnnoonnnnnnnnnnoooonnnnnnnnnnoonnnnnnnnnnnnnnoonnoonnnnnnoonnnnnnnnnnnnnnnnnnoooonnoonnnnnnoonnnnnnnnnnoonnnnnnoonnnnnnnnnnnnnnnnnnnnoonnnnnnoooonnnnnnnnnnnnnnnnnnnmlݽ}mnonnnnnnoonnnnoonnnnnnoonnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnoonnnnnnnnnnnnoonnnnnnnnnnnnnnnnnnnnoonnnnnnnnoonnnnoonnoooooooooooooooooooooooooooooooooooooooooooooooonnnnoooonnoooooooonnoonnoooooooooooooonnnnoooooonnoooooooooooooooooooooooooonnoonnoooooooooooooooooooooooooonnoooooonnoooooooooooooooooooooooooooooooooooonnm}եunnooooooooooooooooooooooooonnoooooooooooooonnoooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooonnnnoooooooooooooooooooooooooooooooonnoonnnnoooooonnoooooooooooooooooonnnnoooooooooooonnoooooooooooooooooooooooooooooooooonnoooooooooooooooonnooooooooooooooooooooooooooooooooooomm͍lmooooooooooooooooooooonnoooooooooooooonnnnnnnnnnoooooooonnoonnnnoooooonnoooooooonnoooooooooooooonnoooooooooooonnoooooonnooooooonnuܻlmooooooonnoooooooooooooooooooooooooooooooooooooonnoonnnnoooooooonnoooooooonnnnoonnoonnoonnoooooooooonnnnnnoooooonnoooooooooooooooonnoonnoonnnnoooooooooonnnnnnoonnoooooooooonnoooooooooooonnoooooooonnoooooooooooooooonnoooooooooooonnoonnoooooooooooooooooooooooonnoooooonnnnonnuܻlmooooonnoonnnnoooooooooonnoooooooooooooooooonnoooooooooooooooooonnoonnoooooooooooooooooonnoooooooooooooooonnnnooonoooooooonnnnoooooooooooonnoooooooooooonnoooooonnoooooonnnnoooooooonnoooooooooooooooooooooooooooonnoonnoonnnnoooooooooooooooonnoooooooooooooooonnoooonnooooooooooooomlݿ}mnnoooonnnnoooonnnnoooooooonnnnnnoooonnnnnnoooooooooooooooooooonnoonnnnnnoooonnoooooooooooooonnnnnnoooooooooonnnnoonnoooooooooooooooonnoooooooonnnnoooooonnoooonnoooonnoooooooooooooonnoooooooooooonnoooooooooonnooooooooonnzԠsnnnoonnnnoonnoonnnnoooooooooooooonnnnoonnnnoooooonnoooonnoonnoooonnnnoonnnnoonnnnoonnnnoooooonnoonnoooooooooooooonnoonosɋkmnoooooooooooonmmϒronnnoooooooooonnoooooonnnnnnoonnoonnoonnoooonnoonnnnoonnnnnnnnoooonnoooonnoonnoooooooonnoooooonnnnoonnnnoonnoonnoooonnoooooooonnnnoonnoonnnnommѰmmnoonnnnoooonmkˑqoooooonnoooooooonnoooonnoooonnnnoooonnnnnnoooooonnoonnoooonnnnnnnnnnnnnnnnnnoooonnnnnnoonnnnoonnoonnnnoonnoooonnnnnnoooonnnnnnoonnoonnnnoonnnnnnnuݽ}mnooonnoonnnnoooonnoonnnnoooonnoooonnnnoooooonnoooooooooonnoooooonnoooonnnnoooooonnnnnnnnoooooooooonnnnoonnoonnoonnnnnnoooooonnoooooonnoooonnnnoonnnnnnoooooooonnoooooonnnnoonnoooonnoooooonnoonnnnnnoonnnnnuեunnooooooonnnnoooonnnnoonnnnnnnnoonnoooooonnnnoooonnoonnnnnnnnnnnnoonnnnnnnnnnoonnoooonnoooooooonnoonnoooonnoooonnnnnnnnnnnnoonnoonnoooooooooonnoonnoonnnnoonnoooooooonnnnoonnnnnnnnoonnnnoooooooooooooos޿onnnnnnnnnnnnnnoonnoooonnoooooooonnoonnoooonnoooonnnnnnnnnnnnoonnoonnoooooonnoonnoonnoonnoooonnoooooooonnnnoonnnnnnnnoonnnnoooooooooooooonnnnoooonnoonnoonnnnoonnoonnnnnnnnoonnnnoooooooonnnnnnoooonnoonnnnoonnnnnnoonnnnoonnnuܼ|mmnoooooonnnnnnnnoooonnnnnnnnnnoonnnnnnoonnoonnoonnoonnnnoonnoooooonnoooooonmlݽ}mnnnnnnnnoonnnnnnnnnnnnoooooonnnnnnnnnnoonnoooonnoonnnnnnoonnnnnnnnnnoonnoooonnnnnnnnnnoooonnnnnnnnoonnnnoooooooooonnoooooooooonnoonnoooooonnoonnnnnnnnoonnnnnnnnoonnnnoonnoooonnoooooonnnnnnoooonnoonnoonnnnoonnnnoooonnomlݽ}mnooooonnnnoonnoonnnnoooonnoonnnnnnoonnnnnnoooonnoonnnnnnoonnoooonnoooonnoonnnnoonnnnnnoooonnnnnnnnoooooooooonnnnoonnnnnnoooooonnnnoooooooooooooooooooooooooooooooooooooooooooooonnnnoooonnoooooooonnoonnoooooooooooooonnnnoooooonnoooooooooooooooooooooooooonnoonnoooooooooooooooooooooooooonnoooooonnoooooooooooooooooooooooooooooooooooonnm}եunnooooooooooooooooooooooooonnoooooooooooooonnoooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooonnnnoooooooooooooooooooooooooooooooonnoonnnnoooooonnoooooooooooooooooonnnnoooooooooooonnoooooooooooooooooooooooooooooooooonnoooooooooooooooonnooooooooooooooooooooooooooooooooooomm͍lmooooooooooooooooooooonnoooooooooooooonnnnnnnnnnoooooooonnoonnnnoooooonnoooooooonnoooooooooooooonnoooooooooooonnoooooonnooooooonnqyƎpoooooooonnoooooooooooooooooooooooooooooooooooooonnoonnnnoooooooonnoooooooonnnnoonnoonnoonnoooooooooonnnnnnoooooonnoooooooooooooooonnoonnoonnnnoooooooooonnnnnnoonnoooooooooonnoooooooooooonnoooooooonnoooooooooooooooonnoooooooooooonnoonnoooooooooooooooooooooooonnoooooonnnnoooqzƎpoooooonnoonnnnoooooooooonnoooooooooooooooooonnoooooooooooooooooonnoonnoooooooooooooooooonnoooooooooooooooonnnnoooooooooooonnnnoooooooooooonnoooooooooooonnoooooonnoooooonnoooooooooonnoooooooooooooooooooooooooooonnoonnoonnnnoooooooooooooooonnoooooooooooooooonnoooonnooooooooooooommҲmnnoooonnnnoooonnnnoooooooonnnnnnoooonnnnnnoooooooooooooooooooonnoonnnnnnoooonnoooooooooooooonnnnnnoooooooooonnnnoonnoooooooooooooooonnoooooooonnnnoooooonnoooonnoooonnoooooooooooooonnoooooooooooonnoooooooooonnooooooooonm|њzqnnnoonnnnoonnoonnnnoooooooooooooonnnnoonnnnoooooonnoooonnoonnoooonnnnoonnnnoonnnnoonnnnoooooonnoonnoooooooooooooonnoonmkϒrnnnooooooooooonmlƊlmonnoooooooooonnoooooonnnnnnoonnoonnoonnoooonnoonnnnoonnnnnnnnoooonnoooonnoonnoooooooonnoooooonnnnoonnnnoonnoonnoooonnoooooooonnnnoonnoonnnnonmܻlmnoonnnnoooonnp‰lmooooonnoooooooonnoooonnoooonnnnoooonnnnnnoooooonnoonnoooonnnnnnnnnnnnnnnnnnoooonnnnnnoonnnnoonnoonnnnoonnoooonnnnnnoooonnnnnnoonnoonnnnoonnnnnnnuݽ}mnooonnoonnnnoooonnoonnnnoooonnoooonnnnoooooonnoooooooooonnoooooonnoooonnnnoooooonnnnnnnnoooooooooonnnnoonnoonnoonnnnnnoooooonnoooooonnoooonnnnoonnnnnnoooooooonnoooooonnnnoonnoooonnoooooonnoonnnnnnoonnnnnuեunnooooooonnnnoooonnnnoonnnnnnnnoonnoooooonnnnoooonnoonnnnnnnnnnnnoonnnnnnnnnnoonnoooonnoooooooonnoonnoooonnoooonnnnnnnnnnnnoonnoonnoooooooooonnoonnoonnnnoonnoooooooonnnnoonnnnnnnnoonnnnooooooooooooomlН}rnnnnnnnnnnnnnoonnoooonnoooooooonnoonnoooonnoooonnnnnnnnnnnnoonnoonnoooooonnoonnoonnoonnoooonnoooooooonnnnoonnnnnnnnoonnnnoooooooooooooonnnnoooonnoonnoonnnnoonnoonnnnnnnnoonnnnoooooooonnnnnnoooonnoonnnnoonnnnnnoonnnnoonmm|թvnnnoooooonnnnnnnnoooonnnnnnnnnnoonnnnnnoonnoonnoonnoonnnnoonnoooooonnoooooonmlݽ}mnnnnnnnnoonnnnnnnnnnnnoooooonnnnnnnnnnoonnoooonnoonnnnnnoonnnnnnnnnnoonnoooonnnnnnnnnnoooonnnnnnnnoonnnnoooooooooonnoooooooooonnoonnoooooonnoonnnnnnnnoonnnnnnnnoonnnnoonnoooonnoooooonnnnnnoooonnoonnoonnnnoonnnnoooonnomlݽ}mnooooonnnnoonnoonnnnoooonnoonnnnnnoonnnnnnoooonnoonnnnnnoonnoooonnoooonnoonnnnoonnnnnnoooonnnnnnnnoooooooooonnnnoonnnnnnoooooonnnnooooooooooooooooooooooooooooooooooooooooooooppooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooppooooooooooooonm}զunnoooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooonm͍lmooooooooooooooooooooooooooooooooooooooooooooooooooooooonnoooooooooooooooooooooooooooooooooooooooooonnoooooooooonnooooooooooooooonpϚzqooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooonnooooooooooooooooooooooooooooooooooonpϚyqooooooooooooonnoooooooooonnoooooooooooooooooooooooooonnoonnoooooooooooooooooonnoooonnoooooooooooooooooooooooooooooooooooooooooonnoonnoooooooooonnoooooooooooooonnoooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooonnoooooooooooooooooooooooooooooooooooooooooonnooooonmŒpnooooooooooooooooooonnoooooooooooooooooooooonnoooooooooooooooooooooooooooooooonnoooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooonnoooonnooooooooooooonn}ϑpnnoooooooonnoooooooooooooooooooooooooooooooooonnoooonnnnoooonnoonnoooooooooooooooooooooooooooooooonnoooooooooooooooooonmlӟ~snnnooooooooooomlطmnooooooooooooooooooooooooooooooooooooooooooooooooooooooooonnoooooooooooooooooooooooooooooooooooooonnoooonnoooooooooooooonnnnooooooooooooooooonn{Ȋlmooooonnnnoonqyֵlmooooooooooooooooonnoonnoooooooonnoooooonnoooooooooonnoooooooooooooooooooooooooooooooooooooooooooooonnnnoooooonnnnoooooooonnoooooooooooooooooonnnuݽ}mnooooooooonnoooooooonnoooooooooooooooooooooooooooooooonnnnoooooooooooooooooooooooooooooooooooooooooooooonnoooooonnoooooooooooooooooooonnoooooooooooooooooooooonnoonnoooonnoooonnnnnnoooonnoonnooooooooooonnuեunnooooooooonnoooooooooooonnoooooooooooooooonnoooooooonnoooonnoooooooooonnoonnnnoooonnoooooooooooonnnnoooonnoonnoooooooooooonnnnoooooonnoooooonnoooooonnoonnoooooonnoooooooooooooooonnoooooonnooooooooommڷzmnooooonnoonnoooooooooooooooooooooonnoooonnoonnoooooooonnoooonnoooooonnoooooonnoooooonnoooooooooonnoooooooooooooooonnoooooooooooooooooooooooooooooooonnnnoooonnoooooonnnnoooooooonnoooooooooonnnnoooooooooooonnooooooooooomlΘyqnoonnoooonnoooooonnoooooonnoooonnoooonnnnoooooooooonnoooooonnoonnoooooonnnnnmlݽ}mnooooooonnnnoooooooooooooooonnoooooooooooooonnoooooooooooooooooooooooooonnnnoonnoooooooonnoooooooonnoooooooonnnnoooonnoooooooooooooooooooooooooooonnoonnoonnoonnoooonnnnoooonnnnoonnoooooonnnnnnooooooooooooooooooooooooomlݽ}nnnnnoonnoooooonnoooooonnoooooonnoonnoooonnoooooonnoooooooooooooooooooooooooooooooooonnoonnnnnnnnoooonnoooooooonnoooooooonnooooooooooooooooooooooooooooooooooooooooooooooooooooppooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooppooooooooooooonm}զvnnoooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooonm͍lmooooooooooooooooooooooooooooooooooooooooooooooooooooooonnoooooooooooooooooooooooooooooooooooooooooonnoooooooooonnooooooooooooooomlեunooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooomlեunoooooooooooonnoooooooooonnoooooooooooooooooooooooooonnoonnoooooooooooooooooonnoooonnoooooooooooooooooooooooooooooooooooooooooonnoonnoooooooooonnoooooooooooooonnoooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooonnoooooooooooooooooooooooooooooooooooooooooonnooooonm|ΚzrnoooooooooooooooooonnoooooooooooooooooooooonnoooooooooooooooooooooooooooooooonnoooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooonnooooooooooooooooooonňlmnoooooooonnoooooooooooooooooooooooooooooooooonnoooonnnnoooonnoooooooooooooooooooooooooooooooooooonnoooooooooooooooooonmmתwnnnooooooooooonpʩmnooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooonnoooonnoooooooooooooonnnnooooooooooooooooonnwϑpnooooonnnnoonuȨmnooooooooooooooooonnoonnoooooooonnoooooonnoooooooooonnoooooooooooooooooooooooooooooooooooooooooooooonnnnoooooonnnnoooooooonnoooooooooooooooooonnnuݽ}nnooooooooonnoooooooonnoooooooooooooooooooooooooooooooonnnnoooooooooooooooooooooooooooooooooooooooooooooonnoooooonnoooooooooooooooooooonnoooooooooooooooooooooonnoonnoooonnoooonnnnnnoooonnoonnooooooooooonnuեunnooooooooonnoooooooooooonnoooooooooooooooonnoooooooonnoooonnoooooooooonnoonnnnoooonnoooooooooooonnnnoooonnoonnoooooooooooonnnnoooooonnoooooonnoooooonnoonnoooooonnoooooooooooooooonnoooooonnooooooooonmzϯnnooooonnoonnoooooooooooooooooooooonnoooonnoonnoooooooonnoooonnoooooonnoooooonnoooooonnoooooooooonnoooooooooooooooonnoooooooooooooooooooooooooooooooonnnnoooonnoooooonnnnoooooooonnoooooooooonnnnoooooooooooonnooooooooooopvŒpnnoonnoooonnoooooonnoooooooooooonnoooonnnnoooooooooonnoooooonnoonnoooooonnnnnmlݽ}mnooooooonnnnoooooooooooooooonnoooooooooooooonnoooooooooooooooooooooooooonnnnoonnoooooooonnoooooooonnoooooooonnnnoooonnoooooooooooooooooooooooooooonnoonnoooooonnoooooonnoooonnnnoonnoooooonnnnnnooooooooooooooooooooooooomlݽ}nnnnnoonnoooooonnoooooonnoooooonnoonnoooonnoooooonnoooooooooooooooooooooooooooooooooonnoonnnnnnnnoooonnoooooooonnoooooooonnooooooooooooooooooooooooooooooppooooooooooooooppooppooppooooooooooooooooooooooooooooooooooooppooooooooooooppooooooooooooppooooooooooooooooppooooooooooooooooooooooooooooooooppooooooooppooooooooooppooooooppoooopnn}զvnnoooooooooppooooooooooooooooppooooppooooppooooppooppooooooooppooooooooppooooooooooppppooooooppooooooppooooooooooooooooppooppppooooooppooooooooppooooppooooppooooppppooooppooooooooppooppooooppppooooppooooooppooppooooooooppooooooooooooooooooooooppooooooooooooppooooppooooppppooooooooooooooooooonm͍lmoooooooppooooooppooooooooooooooooppooooooooppooooooooooooooooooooooooppooooooooooooooppooppooppooooooooooooooooooooooooooooooooommٱynopooooppooooppooooooooooooooooppooooooooooooooooooooooooooooooppoooooooopppppoooooooooooooooppooooooooooooooooooooooooooooooooooooppooooooooooooppooooppooppooppooooooooppooooooooooooooooooooooooooooooooppppooooppooooooooooooooooooooooopooooppooooooooooooooooooooooooooooommٱynooooooooppooooooooppooppooooppooooooooooooooooooooooooooooooooppooooooooppooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooppooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooppoooooooooooooooooooooooooooooooooooooooooooooooooooooooony׮xnnoppooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooppooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooppooooooooooooooppooooooooooooooooooooooooooooooooooooooooooooooonmɋlmoooooooooooooooooooooooooooooooooooooppooooooooooooooooooooooooooooooooooooooooooooppooooooooooooooooooooooooooppooooonnٳznnooooooooooonqyݾ}mnoooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooppooooooooooooooooooooooooooppooooooooooooooooooooooooooooooooooooooooooooooooos~њyqnooooooooonnyܹ{mnoooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooonnuݽ}mnoooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooonnuզunnooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooonnooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooonnsƒtpooooooooooooooooooooonnoooooooooooooooooooonnooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooonnwҲnnooooooooooooooooooooooooooooooooonnoooooooonnooooooooooooooooooooooooooooooomlݽ}mnooooooooooooonnoooooooooooooooooooonnoooooooooooooooooooooooooooooooooonnoooooooooooooooooooooooooooooooooooooooooonnoooooooooooooooooooooooooooooooooooooooooonnoooooooooooooooooooooooooonnooooooooooooooooooooooooooomlݽ}mnooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooonnoonnoooooonnoooooooooooooooooooooonnoooonnoonnoonnoonnooooooooooooooooooooooooooooooooppooooooooooooooppooppooppooooooooooooooooooooooooooooooooooooppooooooooooooppooooooooooooppooooooooooooooooppooooooooooooooooooooooooooooooooppooooooooppooooooooooppooooooppoooopon}զunooooooooooppooooooooooooooooppooooppooooppooooppooppooooooooppooooooooppooooooooooppppooooooppooooooppooooooooooooooooppooppppooooooppooooooooppooooppooooppooooppppooooppooooooooppooppooooppppooooppooooooppooppooooooooppooooooooooooooooooooooppooooooooooooppooooppooooppppooooooooooooooooooonm͍lmoooooooppooooooppooooooooooooooooppooooooooppooooooooooooooooooooooooppooooooooooooooppooppooppooooooooooooooooooooooooooooooooonm~nnpooooppooooppooooooooooooooooppooooooooooooooooooooooooooooooppooooooooppppppooooooooooooooppooooooooooooooooooooooooooooooooooooppooooooooooooppooooppooppooppooooonmmmnnnnnnnnnnoooooooooooooooooooooooppppooooppooooooooooooooooooooooppooooppooooooooooooooooooooooooooooonm~mnoooooooppooooooooppooppooooppooooooooooooooooooooooooooooooooppooooooooppooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooppooooooooonmmmmmnnnnnnnooooooooooooooooooooooooooooooooooooppooppooooooooooooooooooooooooooooooooooooooooooooooooooooooooouâ~mnoppooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooppooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooppooooooooooooooppooooooooooooooooooooooooooooooooppooooooooooooommÊmnoooooooooooooooooooooooooooooooooooooppooooooooooooooooooooooooppooooooooooooooooooppooooooooooooooooooooooooooppooooonn{ݾ}mnoooooooooonnuذynnoooooooooooooooooooooooooppooooooooooooooooooooooooooooooppooooppooooooooooooooooooooooooooppooooooooooooooooooooooooooooooooooooooooooooooooopuդunooooooooonn}׫wnnoooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooonnvݾ}mnoooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooonnuզunnooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooonnoooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooonpu֨unnooooooooooooooooooonnoooooooooooooooooooonnooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooonnݿ}mnooooooooooooooooooooooooooooooooonnoooooooonnooooooooooooooooooooooooooooooomlݽ}mnooooooooooooooooooooooooooooooooooonnoooooooooooooooooooooooooooooooooonnoooooooooooooooooooooooooooooooooooooooooonnoooooooooooooooooooooooooooooooooooooooooonnoooooooooooooooooooooooooonnooooooooooooooooooooooooooomlݾ}mnooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooonnoonnoooooonnoooooooooooooooooooooonnoooonnoonnoonnoonnooooooooooooooppooppooppooooooooooppooooppooooooooooooppooppooppppooppppooppppppooppooppppppppppppppppppooooppppppooppooooooooooooooppppooooooppooppooooppooppooooppooooooppppooooooppppooppooppppooooooppoooooopppon~զunopppooppooooooppooppppppooooooooppppooppppooooooppppooppppooooppppppppooooppooooooooppppooppppppooooooooooooooooooooooppppooooooooppooooppppppppppooooooppooppppppooppppooppooooooooooooooooooppooooppooooppooooooooooppooppppooooppooppppooooppppooooooppppppooooooooooooppppooppppppooppppooooooonm͍mmpppooppooooooooppooooppooppooooooooooooppooooooooooppooooppooooppooooooooppooooooppppooooooooooppppppppppooppppppppoooooooooopponmԲmnoooppppooooppooppooppooooppooppooooooppppooppooppooooppooppppppooooooooooppppppooppooooooppooooooooooooppooppooppooooooppooooooooooppppooppppppooppooooppooppooooooonmlmmmmmmnnnnnnooooooooppooooppppooooppooooooooppppooppooooooppooooooppppooppooooooppooooooooppppoooopppponmԲmnoooooooooooooooooooooooooppooppppooooppppppooooooooooppppooppppooooooooooooooooooooppooooppooooppppppooooppooooooppooooooppooppppppooooooooppooooooppooooppppooppooonmmmmmmmmnnnoooooooooooooooooppooooooooooppppooooooppooooooooooooooooppppooppppooooooppooppppooooooppooppppooooopsطlnpooooooooooooooooooooooooooppooooooooppooooooppooooppppppooooooppppooooooooppooppooooooooooooooooppooppooooooooooooooooooooooooooppooooooooooooooooooooppooooppooooppooooppooooooooooooppppppooooooooooooooppppppppooomlۺmnpppppooooooooppooooooooooooooooppooooooooppooppooooooppooooooooooppooooooooppppooooooooppooooooppppooooppooooooooooooonnxʩmnoooooooooonnzԠtoopooooooooooooooooooooppooooooooooooooooooooooppooooppppooppooooppooppooooooooooooppooppooooooooooooppooooooooooooppooooooooppppooooppooooooooonpخxnnoppooooonmӟ~toooooooppooooooooooooooooooooooooooooooooppppooooooooooooooooooppppppppppooooooooooooooooooooooppooooooooooooooooooppooooooooooooooooooooooooooonnvݾ}nnoooooooooooooooooooooooppooppppooooooppooooooooooppppooooooooppooooooooooppppooooooooooppooooooooppppppooooppppooooooooooooooooooppooooooooooooooooooooooooooooppppooooooooooooooooooooooooooppooooppooooouզunnoooooooooooooooooppooppooooooooooooooooooooooooooooooooooooooooppooppooooooooppppooooooooooooooooooppooooooooooooooooooooooooooooooooooooooooooooppppoooooooooooooooooooooooooooooooooooooooooooooooooopǦmnoppooooooooppppooooooooooooooooooppooooooooooooooooooooooooooppooooooooooooooooppppooooooooooooooooooooppooooooooooooooooooooooooooopppooppooooooooooooooooppooooooooooooooooppooooooooooooooppoooooooooooooooooooooop֪vnnoooooooooooooppooooooooooooooppooooooooooooooooooooooooooooooooooooooooooooomlݽ}mnoppooppooooooooooppooooooooooooooooooooooooooppooooooooooooooooooppooppooooooooooooooooooooppooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooppooooooooooooppooomlݾ}nnoooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooppooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooppooppooppooooooooooppooooppooooooooooooppooppooppppooppppooppppppooppooppppppppppppppppppooooppppppooppooooooooooooooppppooooooppooppooooppooppooooppooooooppppooooooppppooppooppppooooooppoooooopppon~զunopppooppooooooppooppppppooooooooppppooppppooooooppppooppppooooppppppppooooppooooooooppppooppppppooooooooooooooooooooooppppooooooooppooooppppppppppooooooppooppppppooppppooppooooooooooooooooooppooooppooooppooooooooooppooppppooooppooppppooooppppooooooppppppooooooooooooppppooppppppooppppooooooonm͍mnpppooppooooooooppooooppooppooooooooooooppooooooooooppooooppooooppppooooooppooooooppppooooooooooppppppppppooppppppppoooooooooopponn~Œpnoooppppooooppooppooppooooppooppooooooppppooppooppooooppooppppppooooooooooppppppooppooooooppooooooooooooppooppooppooooooppooooooooooppppooppppppooppooooppooppooooopqy|zyvtqonnnnnnnonnooppppooooppooooooooppppooppooooooppooooooppppooppooooooppooooooooppppoooopppponn~pnoooooooooooooooooooooooooppooppppooooppppppooooooooooppppooppppooooooooooooooooooooppooooppooooppppppooooppooooooppooooooppooppppppooooooooppooooooppooooppppooppooqy}{ywtqnnmnnnnnnnonoopooooooooooppppooooooppooooooooooooooooppppooppppooooooppooppppooooooppooppppoooopmlȓupoooooooooooooooooooooooooooppooooooooppooooooppooooppppppooooooppppooooooooppooppooooooooooooooooppooppooooooooooooooooooooooooooppooooooooooooooooooooppooooppooooppooooppooooooooooooppppppooooooooooooooppppppppoooorѱmnpppppooooooooppooooooooooooooooppooooooooppooppooooooppooooooooooppooooooooppppooooooooppooooooppppooooppooooooooooooooot~մmnoooooooooonn}͕uppppooooooooooooooooooooppooooooooooooooooooooooppooooppppooppooooppooppooooooooooooppooppooooooooooooppooooooooooooppooooooooppppooooppooooooooonmڵ{nnoppooooonm͕upoooooooppooooooooooooooooooooooooooooooooppppooooooooooooooooooppppppppppooooooooooooooooooooooppooooooooooooooooooppooooooooooooooooooooooooooonnvݾ}nooooooooooooooooooooooooppooppppooooooppooooooooooppppooooooooppooooooooooppppooooooooooppooooooooppppppooooppppooooooooooooooooooppooooooooooooooooooooooooooooppppooooooooooooooooooooooooooppooooppooooouզunooooooooooooooooooppooppooooooooooooooooooooooooooooooooooooooooppooppooooooooppppooooooooooooooooooppooooooooooooooooooooooooooooooooooooooooooooppppoooooooooooooooooooooooooooooooooooooooooooooooopon~ݿupoopooooooooppppooooooooooooooooooppooooooooooooooooooooooooooppooooooooooooooooppppooooooooooooooooooooppooooooooooooooooooooooooooppppooppooooooooooooooooppooooooooooooooooppooooooooooooooppoooooooooooooooooooons~̘zqoooooooooooooooppooooooooooooooppooooooooooooooooooooooooooooooooooooooooooooommݽ}mnoppooppooooooppooppooooooooooooooooooooooooooppooooooooooooooooooppooppooooooooooooooooooooppooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooppooooooooooooppooomlݽ}nnoooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooppooooooooooooooooooooooooooooooooooooooooooooooooooooooooooppooppooppppppooppooppppppooppppppppppppppppooooooppppppppppooppppppooppooppooppppppppppppppppppppooppppppppppppppooppppppooppppooppooooooooppppppppppppppppppppppppppppppppppooppppooppoopppppppppppppon~զuoooppppppooppppooooppppppooppppooppppppppppooppppppppooppppppooppppppppooppppppooooooppppppppppooppppooooppppppooooooppppppppppppppooppppooppooooppppooppppppooppppppppppppppppppppppppppooppppooppooppppppooppppooppppooooppppppppppooooppooppppppooppooppooppppooooooooppppooppooppppppppppppoopponm͍mnpppppppooppooppppppppooppppppppppooooppppppppooooppppooooppooooooooooooppppooooppppppppppppooooooppppppooppppppppppppppooooppppponz̕upoppppppooppooooppooooppooooooooppppooooppppooppppooppppppppppppppooooppooppooppooooppooooppooppppppppppooppooppppppooooooppooppooppooooppppooppppppppppppppppppppoqvȻwqnlmmmnnnnnooppooooppooooppooppppooppppooooppppppppppooppooooooppppppppppooooppooooppoooopooz̔upoppppppppooooppppppooooppppppooppppppooppppppooooppooooppppooooooooppppppooppooooppooppooooooppooppooooooppppooooooooppooooppppppooppppppooppppooppooppoooooooooooquȻwqnmmmnnnnnnnnooppppooooooooppppppppppooppooppooooppooppooooppppooppooooooppppppooppooppppoooooopnmԧvnopooppooppooppooooooooppooooppooooppppooppppppooooppooooooppppppppppppppppppppooppooooppooppppooppooppppooppooppooooooooooooppooppooooooooooooooooooppppppppooppppppppooooppppppooooooooppooppooppppppppppooppooppoons~Ȩnnoppooppooppooooooppppooppppooooooppppppppppooppppppppooooppooooppppppooooooooooooppooooooppppooooppooppooppppppooppppooppr޽mnpoopppppppnnōpopooooppooppooppooppppppooooooppooppooppppppppooppooppooooppppooooppooppooppooooppooppooooooppppooppooppooooppooppppppooooooooooppppppooppoooooopnmܻ}nopoooopponmƍpnoppooppooppooooooppppppppooppooppooppppooooppooppooppooppppppooppppooppooppooooppooppooppooppooooppppooppppooppooooppooppppooooppppppooooooppooonnuݾ}nopppppooppppppooppooooppooppooppppppooppooooooppppooooooooooppppooppooooppooppooooppooppooppppooppooppooooooppppppooooppppppppooppooppooppooooppooppooooooooppooooooooppooooppppooooooppooooooooppooooooonnuզunopooooooppppooooooooppooooooooooppooooppooooooooppooooppooooppooooooooooooooooppooooppooooppooppooppooooppooooppppppooooppooooppppooooooppooooppppooppooooooooooppppooppppooooooppooooooooppooppppoooopooyѦvnnoooppooooppooooppooooppooppooppooooppppooppppppooooppooooppppooooooppooooppppooppooooooooooppppooppppooooooppooooooooppooooppooooppppppppppooooppooooooooppooppooooppppooooppooooppppooppooooooooppooooppooppooonm{ܽqooppooooppooooooppooooooooooooooooooppppooooooooooooooppooooppppooooppooppooooommݽ}nnoooooooppooooooooppooppooooppooooooppooooooooooooooooooooooooooooooooooppooppooooppppooppppppooppooppooppooppppppppppooooooooppooppooooooooooooooppooooooooooooppooooppooppooooppooooooooppooooooppooooooooooppooooooooomlݽ}nnoooppooooooooooooooppppooooooooooooppppooooooppooooooooooppppooooppooooooooooooooooppooppooooppooooooooooooooooooooooppooppooooooooppooppooppppppooppooppppppooppppppppppppppppooooooppppppppppooppppppooppooppooppppppppppppppppppppooppppppppppppppooppppppooppppooppooooooooppppppppppppppppppppppppppppppppppooppppooppoopppppppppppppon}զvoooppppppooppppooooppppppooppppooppppppppppooppppppppooppppppooppppppppooppppppooooooppppppppppooppppooooppppppooooooppppppppppppppooppppooppooooppppooppppppooppppppppppppppppppppppppppooppppooppooppppppooppppooppppooooppppppppppooooppooppppppooppooppooppppooooooooppppooppooppppppppppppoopponm͍mnpppppppooppooppppppppooppppppppppooooppppppppooooppppooooppooooooppooooppppooooppppppppppppooooooppppppooppppppppppppppoooopppppoovԠtoopppppooppooooppooooppooooooooppppooooppppooppppooppppppppppppppooooppooppooppooooppooooppooppppppppppooppooppppppooooooppooppooppooooppppoopppppppppppppppppppoot»~|ywvtpmmnnnnnnnooopooppppooppppooooppppppppppooppooooooppppppppppooooppooooppoooopoovԠtoppppppppooooppppppooooppppppooppppppooppppppooooppooooppppooooooooppppppooppooooppooppooooooppooppooooooppppooooooooppooooppppppooppppppooppppooppooppoooooooooootû|ywvsomnnnnnnnnnoooppppppppppooppooppooooppooppooooppppooppooooooppppppooppooppppoooooopnmݾ}mnpooppooppooppooooooooppooooppooooppppooppppppooooppooooooppppppppppppppppppppooppooooppooppppooppooppppooppooppooooooooooooppooppooooooooooooooooooppppppppooppppppppooooppppppooooooooppooppooppppppppppooppoopponnx~nnoppooppooppooooooppppooppppooooooppppppppppooppppppppooooppooooppppppooooooooooooppooooooppppooooppooppooppppppooppppoopnmŌnnpoopppppppnmܻmnpooooppooppooppooppppppooooooppooppooppppppppooppooppooooppppooooppooppppppooooppooppooooooppppooppooppooooppooppppppooooooooooppppppooppoooooopon~ģnopoooopponoۺmnoppooppooppooooooppppppppooppooppooppppooooppooppooppooppppppooppppooppooppooooppooppooppooppooooppppooppppooppooooppooppppooooppppppooooooppoooonuݾ~nopppppooppppppooppooooppooppooppppppooppooooooppppooooooooooppppooppooooppooppooooppooppooppppooppooppooooooppppppooooppppppppooppooppooppooooppooppooooooooppooooooooppooooppppooooooppooooooooppooooooonnvզvoopooooooppppooooooooppooooooooooppooooppooooooooppooooppooooppooooooooooooooooppooooppooooppooppooppooooppooooppppppooooppooooppppooooooppooooppppooppooooooooooppppooppppooooooppooooooooppooppppooooppot~~nnoooppooooppooooppooooppooppooppooooppppooppppppooooppooooppppooooooppooooppppooppooooooooooppppooppppooooooppooooooooppooooppooooppppppppppooooppooooooooppooppooooppppooooppooooppppooppooooooooppooooppooppooopsͬmnoppooooppooooooppooooooooooooooooooppppooooooooooooooppooooppppooooppooppooooommݽ}nnoooooooppooooooooppooppooooppooooooppooooooooooooooooooooooooooooooooooppooppooooppppooppppppooppooppooppooppppppppppooooooooppooppooooooooooooooppooooooooooooppooooppooppooooppooooooooppooooooppooooooooooppooooooooomlݽ}nnoooppooooooooooooooppppooooooooooooppppooooooppooooooooooppppooooppooooooooooooooooppooppooooppooooooooooooooooooooooppooppooooooppppppppppppppppppppppppooppppppppppppppppooooppppppppppppppppooppppppppppppppppppppppppppppppppppooppppppppppppppppooppooppppppooppppooppppppppppppppppppppppppppppppppppppppoopppppppppppppppppppppppppon}զvoooooppppppppooppppppppppppppooooppppppppppooppppppppooppppppppppppppooppppppppppppppppppppppppppppppppppooppppppooppppppppppppppppppppppooppppppppppooppppppppppppppppppppppppppppppooppppppppooppooooppppppppppppppppppppppppppppppppppppppppppppppppppppppooppppppppppppppppppooooppppppoopppppppnm͍mnpppppppooppppppppppppooppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppooppppppppppooppppppppppoopporyذyoooppooppppppooppppppppppppppooooppppooooppppppppppppppppppppppppppppppooppooppooppppppppppppppppooppppppppppppppppppooppppppppooppppppppppppppppppoopppppppppppooyȼsmmmmnnnnnooooppppppppppppppppppppooooppppppooppppppppppppppooppppooppppppppoooryذyoopppppppooppppppppooppooppppooooppppppppppppppppppppppppppooppppooppppppooooppppooooooppppppppooppooppppppppppppppppppppppppppppppppppppppppppoopppppppppppppppooyȻrlmmmnnnnnnoooppppppppppooppppppooppppooppooppppppppooppppppppppppppppppooppppppoopon~׵lnpppppppooppooppppppppooppppppppppppppppppooppppppppppppppppppooppppppppppppooooppppooooooppppppppppppppppppppooppppooppppppppppooooppppppppppppppppppppooooppppppppppooppppppppooppppooooooppoopppppppppppppppppponn}۷{nooppppppppppooppppppppppooooooppppppppppppooooppppppppppppppppppppppppppooppppppppooppppooppppppppppppooppppppppoooopppppnm̑qooppppoopponmЯmnpooooppooppppppppooooppppooppppooppppooppppooppooppppppppppppooppppppppooooppooooooppppppooooppppooppooooppppppppppppppooooppooppppppooooppppooponzЯmnppppppppqu̫mnoppppooppppppppooppooppppppooppppooppppppppppppppppppppppooooppppppppooppppppppppppooooppppppppppooooooppooppooooppooooooppppppppppppppppoooopppoouݾ}nopooooppooppooppppppppppooppppooooppooppppppooppppooppooppooppooppppppooooppooooooppooooppppppppppppooppppooppppppooppooppppppppppppppppppooooppppppooppppooppooooppppppppppooooppooppppppppppppooooppooooovզvoopppooooppppppppppooppppppppppppooooppppooppppppppppooooooppooppppppppooooooppppooppppooooooppppooppppooppppppppppppppppppooppooppppooppppppooooppooooppppooooooooppppppooppooppppooppppppppppooppppppppppsۼpooooooooppppooppppooooooppppooppppooppppppppppppppppooooppooppppooppppppooooooooooooppooooooooppppppooppooppooooppppppppppooppppppppppppppooppppooppppooppooooppooooooppppppppooooppooppooooooppppppppooooppoopoot~ܻ|nnpppppooppppooppppooooppooppppppppppppppppppooppppppppppooppooppooppppooppooooommݽ}nopppppppppooppppppppppppooppooooooppppppooppooppppppooppppppooppppooppooooooppppppppppooppppppooppooppooppppppppppppppooppppooppooppppooppppooppppooooppooooppooooooooppppppppppppppooppppooooppppooppppooppppooppoooooopmmݽ~nnoooooooooppooppooooooooppooppooooppppooooooooooppppooppppppooooppppppppppppppooooooppooooppppooooooppooppooooooppooooooppooooooppppppppppppppppppppppppppooppppppppppppppppooopppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppooppooppppppooppppooppppppppppppppppppppppppppppppppppppppoopppppppppppppppppppppppppon~զvoooooppppppppooppppppppppppppooooppppppppppooppppppppooppppppppppppppooppppppppppppppppppppppppppppppppppppppppppooppppppppppppppppppppppooppppppppppppppppppppppppppppppppppppppppppppppppppppooppooooppppppppppppppppppppppppppppppppppppppppppppppppppppppooppppppppppppppppppooooppppppoopppppppnn͍mnpppppppooppppppppppppooppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppooppppppppppooppppppppppooppppqânnoppooppppppooppppppppppppppooopppppooooppppppppppppppppppppppppppppppooppooppooppppppppppppppppooppppppppppppppppppooppppppppooppppppppppppppppppoopppppppppppon|xvurpnnnnnnoooopppppppppooooppppppooppppppppppppppooppppooppppppppooppqânopppppppooppppppppooppoopppppoooppppppppppppppppppppppppppooppppooppppppooooppppooooooppppppppooppooppppppppppppppppppppppppppppppppppppppppppoopppppppppppppppnn~{xuurpnnnnnooooooopppppooppppooppooppppppppooppppppppppppppppppooppppppoopoozȔwqoppppppooppooppppppppooppppppppppppppppppooppppppppppppppppppooppppppppppppooooppppooooooppppppppppppppppppppooppppooppppppppppooooppppppppppppppppppppooooppppppppppooppppppppooppppooooooppoopppppppppppppppppponn׬xoooppppppppppooppppppppppooooooppppppppppppooooppppppppppppppppppppppppppooppppppppooppppooppppppppppppooppppppppoooopppppnnЗwqoppppooppooqânopooooppooppppppppooooppppooppppooppppooppppooppooppppppppppppooppppppppooooppooooooppppppooooppppooppooooppppppppppppppooooppooppppppooooppppoopoouۺmnpppppppos}ݾ}nnoppppooppppppppooppooppppppooppppooppppppppppppppppppppppooooppppppppooppppppppppppooooppppppppppooooooppooppooooppooooooppppppppppppppppoooopppoouݾ~nopooooppooppooppppppppppooppppooooppooppppppooppppooppooppooppooppppppooooppooooooppooooppppppppppppooppppooppppppooppooppppppppppppppppppooooppppppooppppooppooooppppppppppooooppooppppppppppppooooppooooovզvoopppooooppppppppppooppppppppppppooooppppooppppppppppooooooppooppppppppooooooppppooppppooooooppppooppppooppppppppppppppppppooppooppppooppppppooooppooooppppooooooooppppppooppooppppooppppppppppoopppppppppnmѡtnooooooppppooppppooooooppppooppppooppppppppppppppppooooppooppppooppppppooooooooooooppooooooooppppppooppooppooooppppppppppooppppppppppppppooppppooppppooppooooppooooooppppppppooooppooppooooooppppppppooooppooponzԧwoopppppooppppooppppooooppooppppppppppppppppppooppppppppppooppooppooppppooppooooomlݾ}nnpppppppppooppppppppppppooppooooooppppppooppooppppppooppppppooppppooppooooooppppppppppooppppppooppooppooppppppppppppppooppppooppooppppooppppooppppooooppooooppooooooooppppppppppppppooppppooooppppooppppooppppooppoooooopnmݾ~nnoooooooooppooppooooooooppooppooooppppooooooooooppppooppppppooooppppppppppppppooooooppooooppppooooooppooppooooooppooooooppooooooppppppppppppppppppppppppppppppppppppqqppppppppppppppppppppppppppppqqppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppqqpppppppppppppppppppppppppppppppppppppppppppppppppppppppon~զvoopppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppqqppppppppppppqqpppppppppppppppppppppppppppppon͎mnpppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppqqpppppppppppppppppppppppppppppppooطmnpppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppqqppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppqqpppppppppppppppppppnmú{qmmmnnnnnnoooppppppppppppppppppppppppppppppppppppppppppppppppppppnnطmnppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppnmú{qmmmmmnnooooopppppppppppppppppppppppooppppppppppppppppppppppppppppppppotլxooppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppnmӠtoopooppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppooppppppppppppppppppppppppppppppppppppoon}ԡtooppppppporzٳzoopppppppooppppppppppppppppppppppppooooppppooppppppppppppppppooppppppppppppppppppppppppooppppppppppppppppppppppppppppppppppppppppppoopppppppppppppppptÊmnppppppoovٲznopppppppppppppppppppppppppppppppppppppppppppppppooppppppppppppppppppppppooooppppppooppppppppppppppppooppppppppppooppppppppppppppppppooppppppppppooovݾ~oopppooppppppooppppppppppppppppppppppppppppppppppppppooppppppooppppppppppooppppppppppppppppooppooppppppppppooppppppppppooppppppppppppppppppppppppppppppppppppppppooppppppppppppooppooppoopppppppppppppppppoovզvoopppppppppppppppppppppooppppppppppppppppppppooppppppppppppooooppppppppppppppppppppppppooppppppppppppppppppppppppppooppppppooppppppppppppppooppppppppppppppooppppppppppppppppppppppppppppppoopppppppppppppon}~mnpppppppppppppppooppppppppooppppppppppppppppooppppppooppppppppppppppooppppppppppppppooppppppppppppppppppppppppppppppooppppppppppppppppppppppppppppppooppppppppooppppooppooppppppppppppooppppppoopppppppppppppnmȓuqpppppppppppppppppppppppppppppppppppppppppppppppppppppppppppoopppppppppppppppppppmmݾ}nnoppppppppppppppppppppppppppooppppppppppppppppooooooppppppppppppooppppppppppppppooppppooppppppppppppppooooppppppppppppppppooppooppppppppppppooppooppppooooppppooppppppppppppooppppppppppooppppppppppoooooopppppppppppppppnmݾ~nooppppppppooppooppppppppppppooppppppppppppppppooppppooppppppppppppppppppppppooppppppooppppppppppppppppppppppooppppppppppppppppppooppppppppppppppppppppppppppppppppppqqppppppppppppppppppppppppppppqqppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppqqpppppppppppppppppppppppppppppppppppppppppppppppppppppppon~զvoppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppqqppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppqqppppppppppppqqpppppppppppppppppppppppppppppnn͎mnpppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppqqppppppppppppppppppppppppppppppponǑsppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppqqppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppqqpppppppppppppppppppps~|xutrqppppppppppppppppppppppppppppppppppppppppppppppppppnmǐrpppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppps~|xutrqpppppppppppppppppppppoopppppppppppppppppppppppppppppppppquŤooppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppprϖvqpppooppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppooppppppppppppppppppppppppppppppppppppoonz׬xooppppppoovզvoopppppppooppppppppppppppppppppppppooopppppooppppppppppppppppooppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppoopppppppppppppppnmʏpoppppppoozզvoopppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppooooppppppooppppppppppppppppooppppppppppooppppppppppppppppppooppppppppppooovݾ~oopppooppppppooppppppppppppppppppppppppppppppppppppppooppppppooppppppppppooppppppppppppppppppppooppppppppppooppppppppppppppppppppppppppppppppppppppppppppppppppppooppppppppppppooppooppoopppppppppppppppppoovզvoopppppppppppppppppppppooppppppppppppppppppppooppppppppppppooopppppppppppppppppppppppppooppppppppppppppppppppppppppooppppppooppppppppppppppooppppppppppppppooppppppppppppppppppppppppppppppoopppppppppppppoowػwqoppppppppppppppooppppppppooppppppppppppppppooppppppooppppppppppppppooppppppppppppppooppppppppppppppppppppppppppppppooppppppppppppppppppppppppppppppooppppppppooppppooppooppppppppppppooppppppooppppppppppppoqxظmnpppppppppppppppppppppppppppppppppppppppppppppppppppppppppppoopppppppppppppppppppnmݾ~nnoppppppppppppppppppppppppppooppppppppppppppppooooooppppppppppppooppppppppppppppooppppooppppppppppppppooooppppppppppppppppooppooppppppppppppooppooppppooooppppooppppppppppppooppppppppppooppppppppppoooooopppppppppppppppnmݾ~nooppppppppooppooppppppppppppooppppppppppppppppooppppooppppppppppppppppppppppooppppppooppppppppppppppppppppppooppppppppppppppppppooppppqqppppppppqqppqqppppppqqppppppppppppppppppppppppppppppppqqppppqqppppppppppppppppppppppppppqqppppppppppppppqqppppppppqqppppppppppppqqppppppppppppqqppppppppppppppppppppppppppppqqqqpppppppppppppppppppoo~զvpppppppppppppqqppppppppppppppppppppppppppppppppppppppppppppppppppppqqppppppqqqqppppppppppppppppppppppppppppppppppppppppppppppppppppppppqqppppppppppppqqqqppppppppppppqqppqqqqppppppppppppppppqqppqqppppppppppppppppppppppppppppppppppppppqqppppppppqqppppppppppqqppqqppppppqqqqpppppppppppppppppppppnn͎mnpppqqppqqppppppppppppppppppqqppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppqqppppppppppppppppqqppppppppponџ~tppqppppppppppppqqppppppppppppppppppppppppppppppppppppppppqqppqqqqppppppppppppppppppppppppppppppppppppppppppppqqppppppppppppppppppppppppppppppppqqpppppppppppppt~ſ}xrpppppppqqppppppppppppppppppppppppppppppppppppppppponў~toppppppppppppppppppppppppqqppppppppppppppppppppppppppppppppppppppppppppppppqqppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppqqppppppppppppotſ}xrpppppppppppppppppppppppppppppppqqppppppppppqqppppppppppqppݾrppppppppppppppppppppppppppppppqqppppppppppppppqqppqqppppppppppqqppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppqqppqqppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppot~ʏpopppppppppppppppppppppppppppppppppppqqppppppppqqpppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppoov۸|ooppppppoozњyrpppppppppppppppppppppppppppppppppppppppppppppppqqppppppppppppppppppppppppppqqpppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppomϖvqppppppoo~њyrppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppoovݾ~nopppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppqqpppppppppppoovզvoopppppppppppppppppppppppppqqpppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppquѫxnopppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppqqppppppppppppppppppppppponyânoppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppnmݾ~noppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppnmݾ~nopppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppqqppppppppqqppqqppppppqqppppppppppppppppppppppppppppppppqqppppqqppppppppppppppppppppppppppqqppppppppppppppqqppppppppqqppppppppppppqqppppppppppppqqppppppppppppppppppppppppppppqqqqpppppppppppppppppppoo~զvpppppppppppppqqppppppppppppppppppppppppppppppppppppppppppppppppppppqqppppppqqqqppppppppppppppppppppppppppppppppppppppppppppppppppppppppqqppppppppppppqqqqppppppppppppqqppqqqqppppppppppppppppqqppqqppppppppppppppppppppppppppppppppppppppqqppppppppqqppppppppppqqppqqppppppqqqqpppppppppppppppppppppnn͎mnpppqqppqqppppppppppppppppppqqppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppqqppppppppppppppppqqpppppppppon~دyopqppppppppppppqqppppppppppppppppppppppppppppppppppppppppqqppqqqqppppppppppppppppppppppppppppppppppppppppppppqqppppppppppppppppppppppppppppppppqqpppppppppppooyvoppppppqqppppppppppppppppppppppppppppppppppppppppppo~دyoopppppppppppppppppppppppqqppppppppppppppppppppppppppppppppppppppppppppppppqqppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppqqpppppppppppooyvoppppppppppppppppppppppppppppppqqppppppppppqqppppppppppqonПtoopppppppppppppppppppppppppppqqppppppppppppppqqppqqppppppppppqqppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppqqppqqpppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppooyŠmopppppppppppppppppppppppppppppppppppqqppppppppqqpppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppposzâooppppppon~ˑrppppppppppppppppppppppppppppppppppppppqqppppppppqqppppppppppppppppppppppppppqqpppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppooҝ|spppppponɐqppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppowݾ~nopppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppqqppppppppppppppppppppppppppqqppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppqqpppppppppppoovզvoppppppppppppppppppppppppppqqpppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppnmĥqppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppqqppppppppppppppppppppppppsخyooppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppnmݾ~ooppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppnmݾ~nopppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppqqqqppppppppqqqqppppppqqqqppppqqppqqppppppppppppqqppppppppqqppppppppppppqqppqqppqqppppppppppppppppqqppqqqqqqppqqqqppqqppppqqppppppppppppqqppqqqqppppppqqppqqppppppqqppqqppppqqqqppppppppqqppppppppppqqpoo~զvopqppppqqppppqqqqqqppqqppqqqqppppppppppppqqqqppppppppppppqqppqqppqqppppppppppppppppppqqppqqqqppppppppppppqqqqppqqqqqqppqqppqqppppppppppqqppppqqqqqqppppppppqqqqppppqqppppppppppppppqqppppqqppqqppqqppppppqqppqqppppppqqqqppppppqqqqppppqqppppppppppqqppqqppqqppppppppppqqppppqqppppppqqqqpppppppppppnn͎mnpppqqppqqqqppqqppppqqqqppppppppppppppppppppqqqqppqqqqqqqqppppppqqppppppppppppppppppppqqppqqqqppppqqppqqqqqqqqppppppqqppppppppqqpppooy~nopppppppppppppqqqqppppppppppppppppppppppppppppppppppqqppppqqppqqppppppppppppqqppppppppppppqqppppqqppppqqppppppppqqppppqqqqqqqqppppppppppqqppppqqppppqqppqqpooʱ|oppppppppppppppqqppppppppppppppppppppppppqqppppqqqppy~nopppppqqppppqqppppppppppppqqppppppppppppqqqqppppppppppppppppqqppppppppppppppppppppqqppqqppppppppppqqqqppppppppppqqppqqppppppppppppqqppppppppppqqpppppppppppooʰ|oppppqqppqqppppppppqqppppppppppppppppppppppqqppppqqpppppooڸ|nopppppppppppppppppppppqqppppqqppppqqppppppppppppppppppppppqqppppppppppppppppppqqppppqqppppppqqppppppppppppppppppppqqppppppppppppqqppppppppppppppppppppppppqqppppppppppppppppppqqppppppppppppppqqqqpppppppppppon~׶nopqqppppppppqqppppppppppppppppppppppppppqqppqqqqppqqppppppppppppppppppppqqppppppppppppppppppppppppppppppqqppppppppqqppppppppppq̫noppppppoonopppqqppppppppppppppqqppppppppppppppppppppppppppppppppqqppppqqppppppppppppppppqqqqppppppppppppppppppppppppppppppppppppppppppppppppppppqqppppppppqqpppoo~ԣupppppponܼooqppppppppppppppppppppppppppppppppppqqppppppppppppppppppppppppqqppppppppppppppppppppppppppppppppppppppppppqqpppppppppppppppppppppppppppppppppppppppppvݾ~nopppppppppppppqqppqqppppppppqqqqqqppppppppqqppppppppppppppqqppqqppppppppppppppppppppppppppppqqppqqppppppppppppppppppqqppppppppppppppppppppppppppppppppppppppppppppqqpppppppppppppppppppppppppppppppppppppoovզvoppppppppppppppppppppppppppppppqqppppppppppppppppppppppppppppppppppppppqqppppppppppppppppppppppppppppppqqppppppppppppppppppppppppppppppppppppppqqppppppppppppppppppppppppppppppppppppppqqpppppppppppppppppppon~zroppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppqqppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppqqppppppppppppppppppqqppppppppppppppppppppqqppppppppppot~ϛ|sppqpppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppnmݾ~oopppppqqppppppppppppppppppppppppppppppppppppppppqqppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppqqppppppppppppppppppppppqqpppppppppppppppppppppppppppppppppppppppppppnmݾ~nopppqqppppppppqqppppppppppppppppppppppppppqqppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppqqqqppppppppqqqqppppppqqqqppppqqppqqppppppppppppqqppppppppqqppppppppppppqqppqqppqqppppppppppppppppqqppqqqqqqppqqqqppqqppppqqppppppppppppqqppqqqqppppppqqppqqppppppqqppqqppppqqqqppppppppqqppppppppppqqpoo~զvppqppppqqppppqqqqqqppqqppqqqqppppppppppppqqqqppppppppppppqqppqqppqqppppppppppppppppppqqppqqqqppppppppppppqqqqppqqqqqqppqqppqqppppppppppqqppppqqqqqqppppppppqqqqppppqqppppppppppppppqqppppqqppqqppqqppppppqqppqqppppppqqqqppppppqqqqppppqqppppppppppqqppqqppqqppppppppppqqppppqqppppppqqqqpppppppppppon͎mnpppqqppqqqqppqqppppqqqqppppppppppppppppppppqqqqppqqqqqqqqppppppqqppppppppppppppppppppqqppqqqqppppqqppqqqqqqqqppppppqqppppppppqqppppotԴpppppppppppppppqqqqppppppppppppppppppppppppppppppppppqqppppqqppqqppppppppppppqqppppppppppppqqppppqqppppqqppppppqqqqppppqqqqqqqqppppppppppqqppppqqppppqqppqqpppܹ}oppppppppppppppqqppppppppppppppppppppppppqqppppqqqqptԴpppppppqqppppqqppppppppppppqqppppppppppppqqqqppppppppppppppppqqppppppppppppppppppppqqppqqppppppppppqqqqppppppppppqqppqqppppppppppppqqppppppppppqqpppppppppppppܹ}oppppqqppqqppppppppqqppppppppppppppppppppppqqppppqqpppppppzϱsqpppppppppppppppppppppqqppppqqppppqqppppppppppppppppppppppqqppppppppppppppppppqqppppqqppppppqqppppppppppppppppppppqqppppppppppppqqppppppppppppppqqppppppppqqppppppppppppppppppqqppppppppppppppqqqqpppppppppppopɨnopqqppppppppqqppppppppppppppppppppppppppqqppqqqqppqqppppppppppppppppppppqqppppppppppppqqppppppppppppppppqqppppppppqqppppqqpppnmմnopppppponմnopppqqppppppppppppppqqppppppppppppppppppppppppppppppppqqppppqqppppppppppppppppqqqqppppppppppppppppppppppppppppppppppppppppppppppppppppqqppppppppqqpppoo{׬yppppppomаnoqppppppppppppppppppppppppppppppppppqqppppppppppppppppppppppppqqppppppppppppppppppppppppppppppppppppppppppqqpppppppppppppppppppppppppppppppppppppppppvݾ~nopppppppppppppqqppqqppppppppqqqqqqppppppppqqppppppppppppppqqppqqppppppppppppppppppppppppppppqqppqqppppppppppppppppppqqppppppppppppppppppppppppppppppppppppppppppppqqppppppppppppppppppppppppppppppppppppppovզvoppppppppppppppppppppppppppppppqqppppppppppppppppppppppppppppppppppppppqqppppppppppppppppppppppppppppppqqppppppppppppppppppppppppppppppppppppppqqppppppppppppppppppppppppppppppppppppppqqpppppppppppppppppppppwկzoopppppppppppppppppppppppppppppppppppppqqppppppppppppppppppppppppppppqqppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppqqppppppppppppppppppqqppppppppppppppppppppqqppppppppppo{޿qppqqpppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppomݾ~nopppppqqppppppppppppppppppppppppppppppppppppppppqqppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppqqppppppppppppppppppppppqqpppppppppppppppppppppppppppppppppppppppppppnmݾ~nopppqqppppppppqqppppppppppppppppppppppppppqqppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppqqppqqqqqqqqqqppqqppppqqqqppppqqqqqqppqqqqqqqqppqqqqqqppqqqqqqppqqqqqqqqppqqppppqqppqqqqppqqppppqqqqqqppppppqqqqqqppppppppqqppppqqqqqqqqqqppppqqppppqqppppqqqqppppqqqqqqqqppqqppqqqqppqqqqqqqqppqqqqqqqqqpo~զvpppqqqqqqqqppppqqqqqqppqqqqppppqqppqqqqppqqqqppqqqqqqppppppppppqqppqqqqppppppqqppqqqqqqqqqqqqppppqqppppppqqppqqqqqqqqppppppqqppppppqqppqqqqqqppppppqqqqppppqqppqqqqqqppqqqqqqppqqppqqppqqppqqqqqqppqqppqqppqqqqppppppqqppppqqqqqqqqqqqqppqqppqqqqppqqppppppppppppppppppppppqqppppppqqqqqqppqqppqqqqqon͎mnqppqqppqqqqqqqqqqppppqqqqqqppppqqqqqqqqqqqqppppppppppqqppppppppppqqppqqppppqqppppqqqqppqqqqppppppqqqqqqqqppppqqqqqqqqppqqppppqqqqqpppsȓuqpppqqqqppqqqqqqqqqqppqqppqqqqqqppppppqqppqqppqqppqqqqppqqppppppqqqqppppqqqqppppppqqppppqqppppppqqppppppqqppqqppppppqqqqppppqqppqqppqqqqppqqqqqqppppppqqqqpqvحypppqqppppppppqqppppqqqqppppqqqqqqppqqppqqppppppppppppsȓvqqqqppppppppppqqqqqqppppppppppppppppqqppqqppqqppppppppqqqqqqqqppqqppppppppqqppppppqqppppqqppqqqqppppppppppppqqqqqqppqqppqqppqqppppqqppqqppqqqqppppqqqqqqpppqvحypppppppppqqqqqqqqppppppqqppqqppppqqqqqqqqppppqqppqqqqqqpppuʜ~toppppqqqqppppppppppppppqqqqqqppppppqqppppqqqqppppqqppqqppqqppppppppqqppqqqqppqqppqqppqqppppqqppppqqqqppppqqppppppppqqppqqqqppppppppqqppppppppppppppppqqppqqqqppppppqqppppppppqqppqqppppppppppqqqqqqqqppqqpppquܺ}oopqqqqqqppqqppppppqqppppqqppppppppqqqqppppqqppqqqqppppppppppppqqppqqppppqqppqqppppppppqqppppppppqqppppppqqppppppppppppppppqqqon޾nopppqqpnmƥooqppppqqppqqqqppppppqqppppqqqqppppppppppppppqqppppppppqqqqppqqppppppppqqppppppqqppppppqqppppppppqqppqqqqppppppppppqqqqppppppppppppppppppqqqqpppppppppppv۸}oopppqnmģopqppppqqqqqqppppppppppqqppppppppppppppppqqppppppppppppqqqqppppppppppppppqqqqppppqqppqqppppqqppppppppppqqppqqqqppqqppppppqqppppppppqqqqppppqqqqpppppppvݾ~opqqqppppppppppppqqppqqppppppppqqppppppppppppppppqqppppqqppqqppppqqqqqqqqppppppppqqppppqqppppqqppppppppppqqppppqqppppqqppppppqqqqqqqqppppppppppppppppqqppppqqppqqqqppppppppqqppppppppppppppqqppppqqpppppppoovզvpppppppppqqppppppppppqqppppppppppqqppppppqqqqppqqppppqqppqqppppppppqqppppppppppppppppppppqqppppppppppppppppppppqqqqppppppppqqppppqqppqqppppppppqqppppqqppppqqppppppppppppppppppqqppppppppppqqppppqqqqpppppppppquҳqppppppqqppqqppppppqqppppppppppppppqqqqppppppppqqqqppppqqppqqqqppppppqqppqqqqppppqqppppppppppppppppqqppppppppppppqqppppppppqqppppppppppqqppppppppqqppppqqppppppppppppppppppppppppppqqppppppqqpppppppppprɩoopqqppppppqqppppppppppppppppppppqqqqqqppppppppppppqqppqqppppqqppppppppqqppppppppppqomݾ~nopppppppqqppppqqppppqqppqqqqppppppppppppppqqppppppppppppppppppppppppppppppppppppppppppppppqqppqqppppppqqppppppppppppppppppppppppqqppppppppppppqqppppppppppqqppppppppppppppppqqppppppppqqppppqqqqppppppppppppppppppqqppppqnmݾ~oopppppppppppppppppqqppppppppppppppppppppppppqqppppppppqqppppppppppppppppppppppqqppppppppppppppppppppppppppppppppppppppqqqqppppppppqqppqqqqqqqqqqppqqppppqqqqppppqqqqqqppqqqqqqqqppqqqqqqppqqqqqqppqqqqqqqqppqqppppqqppqqqqppqqppppqqqqqqppppppqqqqqqppppppqqqqppppqqqqqqqqqqppppqqppppqqppppqqqqqqppqqqqqqqqppqqppqqqqppqqqqqqqqppqqqqqqqqqpo~զwpppqqqqqqqqppppqqqqqqppqqqqppppqqppqqqqppqqqqppqqqqqqppppppppppqqppqqqqppppppqqppqqqqqqqqqqqqppppqqppppppqqppqqqqqqqqppppppqqppppppqqppqqqqqqppppppqqqqppppqqppqqqqqqppqqqqqqppqqppqqppqqppqqqqqqppqqppqqppqqqqppppppqqppppqqqqqqqqqqqqppqqppqqqqppqqppppppppppppppppppppppqqppppppqqqqqqppqqppqqqqqon͎moqppqqppqqqqqqqqqqppppqqqqqqppppqqqqqqqqqqqqppppppppppqqppppppppppqqppqqppppqqppppqqqqppqqqqppppppqqqqqqqqppppqqqqqqqqppqqppppqqqqqqponեvoppqqqqppqqqqqqqqqqppqqppqqqqqqppppppqqppqqppqqppqqqqppqqppppppqqqqppppqqqqppppppqqppppqqppppppqqppppppqqppqqppppppqqqqppppqqppqqppqqqqppqqqqqqppppppqqqppvҠupppqqppppppppqqppppqqqqppppqqqqqqppqqppqqppppppppppponզvppqppppppppppqqqqqqppppppppppppppppqqppqqppqqppppppppqqqqqqqqppqqppppppppqqppppppqqppppqqppqqqqppppppppppppqqqqqqppqqppqqppqqppppqqppqqppqqqqppppqqqqqqpppvҠupppppppppqqqqqqqqppppppqqppqqppppqqqqqqqqppppqqppqqqqqqpppqvڵ|pppppqqqqppppppppppppppqqqqqqppppppqqppppqqqqppppqqppqqppqqppppppppqqppqqqqppqqppqqppqqppppqqppppqqqqppppqqppppppppqqppqqqqppppppppqqppppppppppppppppqqppqqqqppppppqqppppppppqqppqqppppppppppqqqqqqqqppqqpppv׫ypppqqqqqqppqqppppppqqppppqqppppppppqqqqppppqqppqqqqppppppppppppqqppqqppppqqppqqppppppppqqppppppppqqppppppqqppppppppppppppppqqqpoŋmopppqqpop۷|ppqppppqqppqqqqppppppqqppppqqqqppppppppppppppqqppppppppqqqqppqqppppppppqqppppppqqppppppqqppppppppqqppqqqqppppppppppqqqqppppppppppppppppppqqqqppppppppppps{ooppppqs۷|opqppppqqqqqqppppppppppqqppppppppppppppppqqppppppppppppqqqqppppppppppppppqqqqppppqqppqqppppqqppppppppppqqppqqqqppqqppppppqqppppppppqqqqppppqqqqpppppppvݾopqqqppppppppppppqqppqqppppppppqqppppppppppppppppqqppppqqppqqppppqqqqqqqqppppppppqqppppqqppppqqppppppppppqqppppqqppppqqppppppqqqqqqqqppppppppppppppppqqppppqqppqqqqppppppppqqppppppppppppppqqppppqqppppppppovզvpppppppppqqppppppppppqqppppppppppqqppppppqqqqppqqppppqqppqqppppppppqqppppppppppppppppppppqqppppppppppppppppppppqqqqppppppppqqppppqqppqqppppppppqqppppqqppppqqppppppppppppppppppqqppppppppppqqppppqqqqpppppppppnm͡unopppqqppqqppppppqqppppppppppppppqqqqqqppppppqqqqppppqqppqqqqppppppqqppqqqqppppqqppppppppppppppppqqppppppppppppqqppppppppqqppppppppppqqppppppppqqppppqqppppppppppppppppppppppppppqqppppppqqppppppppouٳznopqqppppppqqppppppppppppppppppppqqqqqqppppppppppppqqppqqppppqqppppppppqqppppppppppqomݾ~nopppppppqqppppqqppppqqppqqqqppppppppppppppqqppppppppppppppppppppppppppppppppppppppppppppppqqppqqppppppqqppppppppppppppppppppppppqqppppppppppppqqppppppppppqqppppppppppppppppqqppppppppqqppppqqqqppppppppppppppppppqqppppqnmݾ~oopppppppppppppppppqqppppppppppppppppppppppppqqppppppppqqppppppppqqppppppppppppqqppppppppppppppppppppppppppppppppppppppqqqqppppppppqqppqqppqqqqppqqqqppqqqqqqqqqqqqqqqqqqqqppqqqqqqqqppqqqqqqqqqqqqqqppqqqqqqqqqqqqqqqqppqqqqqqqqqqqqqqqqqqqqqqppqqppqqppqqqqqqqqqqqqppqqqqqqqqqqqqppqqqqppppqqqqqqqqqqqqqqqqppqqqqqqqqqqppqqqqqqppqqqqqqqqqpo~զwppqqqqqqqppppqqqqqqqqqqppqqqqqqqqqqqqqqqqppppqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqppqqqqqqqqqqqqqqqqppppqqqqqqqqqqqqqqqqqqppppqqqqqqqqqqppqqqqqqqqqqqqqqqqqqppqqqqqqqqqqqqqqppqqqqqqqqqqqqqqqqqqqqqqqqqqqqppqqppppqqqqqqqqqqqqqqqqqqppqqqqqqppppqqqqqqqqppqqqqqqqqqqppqqqqppqqqqqqqqqqqqppqqqqppqqqqqqppqon͎noqqqqqppqqqqppqqppqqqqqqqqqqqqqqqqppqqqqqqqqqqqqqqqqqqqqppqqqqqqqqqqppqqqqqqqqqqqqqqqqqqppppqqqqqqqqqqqqqqqqppqqqqqqqqqqqqqqqqqqqqqqqonݾ~opqqqqqqqppqqqqqqqqqqqqqqqqqqqqppqqqqqqqqqqqqqqqqqqqqqqqqqqqqppqqqqqqppqqqqqqqqqqqqqqqqqqqqppqqqqqqqqqqppqqqqppqqqqqqqqqqqqqqqqqqppqqqqqqppppppppqqqqqqqpo}̓sqpppqqqqqqqqqqqqqqqqppqqqqqqqqqqppppqqqqqqqqqqqqqqqqqonݾ~opqqqqqqqqqppqqqqqqqqppqqppqqqqqqqqqqppqqppqqppqqqqqqqqqqqqqqqqqqqqppqqqqqqppppqqqqppqqppqqqqqqqqqqppqqqqqqqqqqqqppqqqqppqqqqqqppqqqqppqqqqqqqqppppqqqqqpo}̓sppqqqqppqqppqqppqqqqqqqqppqqqqqqqqqqqqqqppppppqqqqqqqqqqqqqppԵrpqqqppqqqqqqppqqqqqqqqqqqqppqqqqqqppppqqppqqqqppqqqqqqppqqqqqqqqqqqqqqppqqqqqqqqppppqqqqppqqqqqqqqqqqqqqppqqqqqqqqqqqqqqqqqqppppqqppqqqqppppppqqppqqppqqqqqqqqqqqqppqqqqqqqqppqqqqqqppqqppqqqqppqqqqqqppppo~Ӡupppqqqqqqqqqqqqqqqqqqppqqppqqqqppqqqqqqppqqqqqqqqqqqqqqqqqqppqqqqqqqqqqqqqqqqqqppqqqqqqppppqqqqqqppppqqqqqqppqqqqppqqqqppqqqqqpo}ˍmnpqqqqprw֨wppqppppppqqppppqqqqppqqppppqqppqqppppqqppqqqqqqppqqqqppppppppppqqppqqqqqqppppppppqqqqqqppqqqqppppqqqqppppqqqqppppqqppqqqqqqppqqppppqqppppqqqqppqqqqqqppqpqǧooqpppt֨wppqqqqqppqqqqppppqqppqqppppppqqppppqqppppqqppqqqqppppqqqqppqqqqppqqppqqqqppqqppppqqqqqqppqqqqppqqppqqqqqqppppppppqqppppppqqppqqppppppppppqqppqqqqqqqppvݾ~opqppppqqppqqqqppqqppqqppppqqqqppppppppqqqqqqqqqqppqqppppppqqqqppppppqqqqqqqqqqppqqppppqqqqppppqqppqqppqqqqppppqqqqppqqqqppqqppppqqppppppqqppppqqppqqppqqqqppqqqqppqqppppppppppqqppqqppppppqqppppqqqqqqpppppvզvopqppppppppqqppqqqqppppqqqqqqppppqqqqppppqqppqqqqppppppqqqqppqqppqqqqqqqqqqqqqqppppppppppqqqqppqqqqppqqppqqqqqqqqppppqqqqppqqqqppqqppqqqqppppqqppppppqqppqqqqqqppqqqqppqqppppppppqqqqppqqppppqqppppqqppqqqqqqqon~ťnoqqqppqqppqqqqppppppppppqqppqqppqqqqppppqqppppqqqqppppppqqqqppppqqppppppqqqqqqqqqqqqqqqqqqqqppqqqqqqppqqppqqqqppqqqqqqppqqppqqppppqqppqqppppppppppqqppqqqqppppppqqqqppqqppqqqqqqppqqqqppppqqqqppqom~Ϝ}soppppppqqqqqqppqqppqqqqqqqqppppqqqqppqqppppppqqppppppqqqqqqqqppppppppppqqppqqppppqqponݾ~nopppppppqqqqppppppppppppqqppppppqqppppqqqqqqppppqqqqppppppppppqqppqqqqppqqqqqqppqqqqqqppppqqppqqqqppppppppppppppppppqqqqqqqqppppqqppqqqqqqppqqqqppppppppppqqppqqppqqppqqqqqqqqqqqqqqqqppqqqqppqqppqqppppppqqppqqqqqqqqpppnnݾ~oopqqppppqqppppppppppqqqqppppppppppppppppppppqqppppqqqqppppqqppqqppppqqqqppppppppppppppppppppppppppppqqppppppppppppppppppqqppqqppppqqppqqppqqqqppqqqqppqqqqqqqqqqqqqqqqqqqqppqqqqqqqqppqqqqqqqqqqqqqqppqqqqqqqqqqqqqqqqppqqqqqqqqqqqqqqqqqqqqqqppqqppqqqpqqqqqqqqqqqqppqqqqqqqqqqqqppqqqqppppqqqqqqqqqqqqqqqqppqqqqqqqqqqppqqqqqqppqqqqqqqqqpoզvpqqqqqqqqppppqqqqqqqqqqppqqqqqqqqqqqqqqqqppppqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqppqqqqqqqqqqqqqqqqppppqqqqqqqqqqqqqqqqqqppppqqqqqqqqqqppqqqqqqqqqqqqqqqqqqppqqqqqqqqqqqqqqppqqqqqqqqqqqqqqqqqqqqqqqqqqqqppqqppppqqqqqqqqqqqqqqqqqqppqqqqqqppppqqqqqqqqppqqqqqqqqqqppqqqqppqqqqqqqqqqqqppqqqqppqqqqqqppqon͎noqqqqqppqqqqppqqppqqqqqqqqqqqqqqqqppqqqqqqqqqqqqqqqqqqqqppqqqqqqqqqqppqqqqqqqqqqqqqqqqqqppppqqqqqqqqqqqqqqqqppqqqqqqqqqqqqqqqqqqqqqqqpoҲopqqqqqqqppqqqqqqqqqqqqqqqqqqqqppqqqqqqqqqqqqqqqqqqqqqqqqqqqqppqqqqqqppqqqqqqqqqqqqqqqqqqqqppqqqqqqqqqqqqqqqqppqqqqqqqqqqqqqqqqqqppqqqqqqppppppppqqqqqqqppnoqppqqqqqqqqqqqqqqqqppqqqqqqqqqqppppqqqqqqqqqqqqqqqqqpoҲooqqqqqqqqqppqqqqqqqqppqqqqqqqqqqqqqqppqqppqqppqqqqqqqqqqqqqqqqqqqqppqqqqqqppppqqqqppqqppqqqqqqqqqqppqqqqqqqqqqqqppqqqqppqqqqqqppqqqqppqqqqqqqqppppqqqqqppnopqqqqppqqppqqppqqqqqqqqppqqqqqqqqqqqqqqppppppqqqqqqqqqqqqqon͠uppqppqqqqqqppqqqqqqqqqqqqppqqqqqqppppqqppqqqqppqqqqqqppqqqqqqqqqqqqqqppqqqqqqqqppppqqqqppqqqqqqqqqqqqqqppqqqqqqqqqqqqqqqqqqppppqqppqqqqppppppqqppqqppqqqqqqqqqqqqppqqqqqqqqppqqqqqqppqqppqqqqppqqqqqqppppr̖vqpppqqqqqqqqqqqqqqqqqqppqqppqqqqppqqqqqqppqqqqqqqqqqqqqqqqqqppqqqqqqqqqqqqqqqqqqqqqqqqqqppppqqqqqqppppqqqqqqppqqqqppqqqqppqqqqqppyДsppqqqqpuћ{sqqqppppppqqppppqqqqppqqppppqqppqqppppqqppqqqqqqppqqqqppppppppppqqppqqqqqqppppppppqqqqqqppqqqqppppqqqqppppqqqqppppqqppqqqqqqppqqppppqqppppqqqqppqqqqqqppqomήopqppoxћ{sppqqqqqppqqqqppppqqppqqppppppqqppppqqppppqqppqqqqppppqqqqppqqqqppqqppqqqqppqqppppqqqqqqppqqqqppqqppqqqqqqppppppppqqppppppqqppqqppppppppppqqppqqqqqqqqpwݾ~opqppppqqppqqqqqqqqppqqppppqqqqppppppppqqqqqqqqqqppqqppppppqqqqppppppqqqqqqqqqqppqqppppqqqqppppqqppqqppqqqqppppqqqqppqqqqppqqppppqqppppppqqppppqqppqqppqqqqppqqqqppqqppppppppppqqppqqppppppqqppppqqqqqqpppppwզwopqppppppppqqppqqqqppppqqqqqqppppqqqqppppqqppqqqqppppppqqqqppqqppqqqqqqqqqqqqqqppppppppppqqqqppqqqqppqqppqqqqqqqqppppqqqqppqqqqppqqppqqqqppppqqppppppqqppqqqqqqppqqqqppqqppppppppqqqqppqqppppqqppppqqppqqqqqqqpow|sppqppqqppqqqqppppppppppqqppqqppqqqqppppqqppppqqqqppppppqqqqppppqqppppppqqqqqqqqqqqqqqqqqqqqppqqqqqqppqqppqqqqppqqqqqqppqqppqqppppqqppqqppppppppppqqppqqqqppppppqqqqppqqppqqqqqqppqqqqppppqqqqpppryqppppppppqqqqqqppqqppqqqqqqqqppppqqqqppqqppppppqqppppppqqqqqqqqppppppppppqqppqqppppqqponݾ~oopppppppqqqqppppppppppppqqppppppqqppppqqqqqqppppqqqqppppppppppqqppqqqqppqqqqqqppqqqqqqppppqqppqqqqppppppppppppppppppqqqqqqqqppppqqppqqqqqqppqqqqppppppppppqqppqqppqqppqqqqqqqqqqqqqqqqppqqqqppqqppqqppppppqqppqqqqqqqqpppnnݾ~oopqqppppqqppppppppppqqqqppppppppppppppppppppqqppppqqqqppppqqppqqppppqqqqppppppppppppppppppppppppppppqqppppppppppppppppppqqppqqppppqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqrrqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqpoզvpqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqppqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqon͎noqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqpp{Žqpqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqppqqqqqqqqqqqqqqqqqqqqqqqqqqqqppqqqqqqppqqqqqqqqqqqqqqqqppqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqrұnoqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqpp{rpqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqppqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqppqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqppqqqqqqqqqqqqrұnoqqqqqqqqqppqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqpo~npqqqqqqqqqqqppqqqqqqqqqqqqqqqqqqqqqqppqqqqqqqqqqqqqqqqqqqqppqqqqqqqqqqppqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqppqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqppppqqqqqqppqqqqqqqqqqqqqqqqqqqqppqqqqppqqqqppqqqqqqqqqs{qpqqqqqppqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqppqqqqqqqqppqqqqppqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqppqqppqqpuԠupqqqqpyˑqppqqqqqqqqppqqqqqqqqqqqqppqqqqqqqqqqqqqqqqppqqqqqqqqppqqqqqqqqqqppqqqqqqppqqqqqqqqqqqqqqqqqqqqqqqqqqppppqqqqppqqqqqqqqqqqqqqppqqqqqqqqppqqqqqqqqppqqqqqqqooظnoqqpo{ˑrppqqppqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqppqqqqqqqqqqppqqqqqqqqppqqqqqqqqqqqqqqqqqqppqqqqqqqqqqqqqqqqqqppppqqqqqqqqqqqqqqqqqqqqqqqqppqqqqqqqqqqqqqqqppwݾ~opqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqppqqqqppqqqqqqqqqqqqqqqqqqqqqqppppqqqqqqppqqqqqqqqqqqqqqqqqqqqqqqqppppqqqqqqppqqqqqqqqqqppqqppqqqqqqqqqqqqqqqqqqqqppqqppqqqqqqqqqqqqqqqqppqqqqppqqqqqqqqqqpppwզwpppppppqqqqqqppppqqqqqqppqqqqqqppqqqqppqqqqqqppqqqqppqqqqqqqqqqqqqqppqqppppppqqppqqqqppqqqqqqppqqqqqqqqqqqqqqqqqqqqppppqqqqqqqqppqqppqqqqqqqqqqqqqqppqqqqqqqqppqqqqqqqqppqqqqqqqqppqqqqqqqqppqqppqqqqqqqqqqqqqqpqvع}npqqqppqqqqppqqppqqqqqqqqqqqqqqqqqqqqqqppqqqqqqqqqqppppqqqqqqppqqqqppppqqqqqqppppppppqqqqppqqqqqqqqppppqqqqppqqqqppqqqqppqqqqqqppppqqppqqqqppqqppqqqqqqqqqqqqppqqqqqqqqppqqqqppqqppqqppqqqqqqqpozɩppqqqqqqqqqqqqqppqqqqqqqqppqqqqppqqqqqqqqqqppppqqqqppppppqqqqppppqqppqqqqqqqqqqqqqqqqqonݾ~oopqqppqqppqqppppqqqqqqqqqqppppqqqqqqqqqqqqqqqqppqqqqqqppqqppqqppppqqqqqqqqqqqqqqqqqqqqqqppqqqqqqppqqqqppppppqqqqppqqqqqqqqppqqqqqqqqqqqqqqppqqqqqqqqqqqqppqqqqppppqqqqqqqqqqppqqqqqqqqppqqqqppppqqppppppqqqqqqqqqqqqppqqpomݾ~oppppqqqqqqppqqppppqqqqppqqqqqqppqqppqqqqqqqqqqqqqqqqppppqqqqppppqqqqqqqqqqqqqqqqppppppqqqqqqqqppqqppqqqqppqqppppppqqqqqqppppqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqrrqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqpo~զwpqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqppqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqpo͎noqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqpwРuppqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqppqqqqqqqqqqqqqqqqqqqqqqqqqqqqppqqqqqqppqqqqqqqqqqqqqqqqppqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqpt~ãopqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqppvРupqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqppqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqppqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqppqqqqqqqqqqpt~ãopqqqqqqqqqppqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqppwټxrpqqqqqqqqqqppqqqqqqqqqqqqqqqqqqqqqqpqqqqqqqqqqqqqqqqqqqqqppqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqppqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqpppqqqqqqppqqqqqqqqqqqqqqqqqqqqppqqqqppqqqqppqqqqqqqpoyԳnoqqqqqppqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqppqqqqqqqqppqqqqppqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqppqqppqqqrv׫xppqqpp}ŠmopqqqqqqqqppqqqqqqqqqqqqppqqqqqqqqqqqqqqqqppqqqqqqqqppqqqqqqqqqqppqqqqqqppqqqqqqqqqqqqqqqqqqqqqqqqqqppppqqqqppqqqqqqqqqqqqqqppqqqqqqqqppqqqqqqqqppqqqqqqqponoqqpoŠmopqqppqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqppqqqqqqqqqqppqqqqqqqqppqqqqqqqqqqqqqqqqqqppqqqqqqqqqqqqqqqqqqppppqqqqqqqqqqqqqqqqqqqqqqqqppqqqqqqqqqqqqqqqppwݾ~opqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqppqqqqppqqqqqqqqqqqqqqqqqqqqqqppppqqqqqqppqqqqqqqqqqqqqqqqqqqqqqqqppppqqqqqqppqqqqqqqqqqppqqppqqqqqqqqqqqqqqqqqqqqppqqqqqqqqqqqqqqqqqqqqppqqqqppqqqqqqqqqqpppwզwpppppqqqqqqqqppppqqqqqqppqqqqqqppqqqqppqqqqqqppqqqqppqqqqqqqqqqqqqqppqqppppppqqppqqqqppqqqqqqppqqqqqqqqqqqqqqqqqqqqppppqqqqqqqqppqqppqqqqqqqqqqqqqqppqqqqqqqqppqqqqqqqqppqqqqqqqqppqqqqqqqqppqqppqqqqqqqqqqqqqqqonԷxrpqqppqqqqppqqppqqqqqqqqqqqqqqqqqqqqqqppqqqqqqqqqqppppqqqqqqppqqqqppppqqqqqqppppppppqqqqppqqqqqqqqppppqqqqppqqqqppqqqqppqqqqqqppppqqppqqqqppqqppqqqqqqqqqqqqppqqqqqqqqppqqqqppqqppqqppqqqqqqprvٳ{ppqqqqqqqqqqqqqppqqqqqqqqppqqqqppqqqqqqqqqqppppqqqqppppppqqqqppppqqppqqqqqqqqqqqqqqqqqonݾ~ooqqqppqqppqqppppqqqqqqqqqqppppqqqqqqqqqqqqqqqqppqqqqqqppqqppqqppppqqqqqqqqqqqqqqqqqqqqqqppqqqqqqppqqqqppppppqqqqppqqqqqqqqppqqqqqqqqqqqqqqppqqqqqqqqqqqqppqqqqppppqqqqqqqqqqppqqqqqqqqppqqqqppppqqppppppqqqqqqqqqqqqppqqpomݾ~oppqqqqqqqqppqqppppqqqqppqqqqqqqqqqppqqqqqqqqqqqqqqqqppppqqqqppppqqqqqqqqqqqqqqqqppppppqqqqqqqqppqqppqqqqppqqppppppqqqqqqppppqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqrrqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqrrqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqrrrrqqqqqqqqqqqqqqqqqqqqrrqqqqqpoզwpqqqqqqqqqqqqrrqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqrrqqqqqqqqqqqqqqqqqqqqqqqqqqqpo͎noqqqqqrrqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqrrqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqquܼ~opqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqrrqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqrrqqqqqqqqqqqqqqqqqqqpo{ڴ{ppqqqqqqqqqqqqqqqrrqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqquܼ~ppqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqrrrrqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqrrrrqqqqqqqqqqqqqqqqqqqqqqqqqqqpp{ڴ{pqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqvѫypqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqonopqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqrrqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqpqڴ{ppqqpp׶noqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqrrqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqpp}ɍnoqqpp׶npqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqppwݾ~opqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqpqwզvppqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqpo}ЪyopqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqppqqppqqqqqqqqqqqqqqqqqqqqqqqqppqqqqqqqqqqppqqqqqqqqqqqqqqqqqqqqppqqqqqqqqqqqqqqqqqqqqqqppqqqqqqqqqqqqqqqqqqqqqqqppwН~tqpqqqqqqqqqppqqqqqqqqqqqqqqqqqqqqqqppqqqqqqqqqqqqqqqqqqqqqqqqqqppqqqqqqqqqqqqqqqqqqqqqonݾ~opqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqppqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqppqqqqppqqqqqqqqqqqqqqqqqqqqqqqqppqqppqqqqqqqqqqqqqqppqqqqqqqqppqqqqqqqqqqqqqqqonݾ~opqqqqqqqqqppppqqqqqqqqppqqqqqqppqqqqqqqqqqqqqqqqqqppqqppqqqqqqqqqqqqppqqqqppqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqppppqqqqqqppppqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqrrqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqrrqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqrrrrqqqqqqqqqqqqqqqqqqqqrrqqqqqpoէwpqqqqqqqqqqqqrrqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqrrqqqqqqqqqqqqqqqqqqqqqqqqqqqpo͏noqqqqqrrqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqrrqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqpnԴqpqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqrrqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqrrqqqqqqqqqqqqqqqqqqqppԤwpqqqqqqqqqqqqqqqqrrqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqpnԴqpqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqrrrrqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqrrrrqqqqqqqqqqqqqqqqqqqqqqqqqqqppԤvpqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqonƨwrqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqprxٰzppqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqrrqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqonݽ~ppqqpoɨopqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqrrqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqppxϓrqqqpoɨopqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqppwݾ~opqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqpqwզwpqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqppvƨwrpqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqppqqppqqqqqqqqqqqqqqqqqqqqqqqqppqqqqqqqqqqppqqqqqqqqqqqqqqqqqqqqppqqqqqqqqqqqqqqqqqqqqqqppqqqqqqqqqqqqqqqqqqqqqqpqrݾrqqqqqqqqqqqqppqqqqqqqqqqqqqqqqqqqqqqppqqqqqqqqqqqqqqqqqqqqqqqqqqppqqqqqqqqqqqqqqqqqqqqqpnݾ~opqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqppqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqppqqqqppqqqqqqqqqqqqqqqqqqqqqqqqppqqppqqqqqqqqqqqqqqppqqqqqqqqppqqqqqqqqqqqqqqqonݾ~opqqqqqqqqqppppqqqqqqqqppqqqqqqqqqqqqqqqqqqqqqqqqqqppqqqqqqqqqqqqqqqqppqqqqppqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqppppqqqqqqqpppqqqqqqqqrrrrqqqqrrqqrrrrqqqqrrqqqqqqqqrrrrqqrrqqrrrrqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqrrrrqqqqqqrrqqqqrrqqqqrrqqqqqqqqqqqqqqqqqqrrqqqqqqqqqqqqrrqqqqqqqqqqqqqqqqqqqqqqqqrrqqrrqqqqqqrrqqqqqqqqrrrrqqqqqqqqqqqqqqqppզwqqqqqqqqqqqqqqqqqqqrrqqrrrrqqqqqqqqqqqqqqqqqqqqqqqqqqqqrrqqqqqqrrqqqqqqqqqqrrqqqqqqqqrrqqqqqqqqqqrrqqqqqqqqqqrrqqrrqqqqqqqqqqrrqqqqqqqqrrqqqqqqqqqqrrqqqqrrqqqqqqrrqqqqqqqqqqqqqqqqqqqqqqqqqqrrqqqqqqqqrrqqqqqqqqqqqqrrqqrrrrqqqqrrqqqqqqqqqqqqqqqqqqqqrrqqqqrrqqqqqqrrqqrrrrrrrrqqrrqqqqqqqqqqqqqqqpoΏnoqqqqqqqqqqqqqqqrrqqqqqqqqqqrrrrqqqqqqqqqqqqqqrrqqqqqqqqqqqqqqqqrrqqqqqqrrqqqqqqqqqqrrrrqqrrqqqqqqqqqqqqqqqqqqqqqqrrqqrrqqrrqqqqqqqqqqqpoȓvrqqqqqqqqqqqqqqqqqrrqqqqqqrrqqqqqqqqqqqqqqqqqqqqrrqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqrrqqqqqqqqqqqqrrqqqqqqqqqqqqqqqqqqqqrrqqqqqqqqrrqqqqqqqpr̔urqqqqqqqqqqqrrqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqrrqqqqqqrrrrrpnȔvqqqrqqqqqqqqrrqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqrrqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqrrrrqqrrqqqqqqqqrrqqqqqqqpr̔urqqqqqqqqqqqqqqqqqqqrrqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqpnʤwppqqqqqqqqqqqqqqqqqqqrrqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqrrqqqqqqqqrrqqqqqqqqqqqqqqqqqqqqqqqqqqqqrrqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqrrqqqqqqqqrrqqqqqqrrqqqqqqqqqqrrqqqqqqqqqqqqqqqqqqqpoyԢvqqqqqqqqqqqqqqqqqqqrrrrqqqqqqqqrrqqqqrrqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqrrrrqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqpoƦppqqooܺ}pqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqrrqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqrrqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqt{Ҝ{tqqooܺ~ppqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqrrqqqqqqqqqqqqqqqqqqqqqqqqqqrrqqqqqqqqqqqqqqrrqqqqrrqqqqqqqqqqqqpwݿppqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqrrqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqrrqqqqqqqqqqqqqqqqqqqqqqqqqqrrqqqqqqqqqwզwqpqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqrrqqqqrrqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqrrqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqquʤwppqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqrrqqqqqqqqqqqqqqqqqqqqrrqqqqqppszťppqqqqqqqqqqqqqqqqqrrqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqrrqqqqqqqpnݾ~opqqqqqqqqqqqqqqqrrqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqpnݾ~opqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqrrrrqqqqrrqqrrrrqqqqrrqqqqqqqqrrrrqqrrqqrrrrqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqrrrrqqqqqqrrqqqqrrqqqqrrqqqqqqqqqqqqqqqqqqrrqqqqqqqqqqqqrrqqqqqqqqqqqqqqqqqqqqqqqqrrqqrrqqqqqqrrqqqqqqqqrrrrqqqqqqqqqqqqqqqppզxqqqqqqqqqqqqqqqqqqqrrqqrrrrqqqqqqqqqqqqqqqqqqqqqqqqqqqqrrqqqqqqrrqqqqqqqqqqrrqqqqqqqqrrqqqqqqqqqqrrqqqqqqqqqqrrqqrrqqqqqqqqqqrrqqqqqqqqrrqqqqqqqqqqrrqqqqrrqqqqqqrrqqqqqqqqqqqqqqqqqqqqqqqqqqrrqqqqqqqqrrqqqqqqqqqqqqrrqqrrrrqqqqrrqqqqqqqqqqqqqqqqqqqqrrqqqqrrqqqqqqrrqqrrrrrrrrqqrrqqqqqqqqqqqqqqqpoΏnoqqqqqqqqqqqqqqqrrqqqqqqqqqqrrrrqqqqqqqqqqqqqqrrqqqqqqqqqqqqqqqqrrqqqqqqrrqqqqqqqqqqrrrrqqrrqqqqqqqqqqqqqqqqqqqqqqrrqqrrqqrrqqqqqqqqqqqpp֨xpqqqqqqqqqqqqqqqqrrqqqqqqrrqqqqqqqqqqqqqqqqqqqqrrqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqrrqqqqqqqqqqqqrrqqqqqqqqqqqqqqqqqqqqrrqqqqqqqqrrqqqqqqpunpqqqqqqqqqqqrrqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqrrqqqqqqrrrrrqp֩wpqrqqqqqqqqrrqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqrrqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqrrrrqqrrqqqqqqqqrrqqqqqqpunpqqqqqqqqqqqqqqqqqqqrrqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqpp{sqqqqqqqqqqqqqqqqqqqqrrqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqrrqqqqqqqqrrqqqqqqqqqqqqqqqqqqqqqqqqqqqqrrqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqrrqqqqqqqqrrqqqqqqrrqqqqqqqqqqrrqqqqqqqqqqqqqqqqqqqqqʕwrqqqqqqqqqqqqqqqqqqqrrrrqqqqqqqqrrqqqqrrqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqrrrrqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqppϯopqqpq׬yqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqrrqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqrrqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqrդvqqpq׬zqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqrrqqqqqqqqqqqqqqqqqqqqqqqqqqrrqqqqqqqqqqqqqqrrqqqqrrqqqqqqqqqqqqpwݿppqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqrrqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqrrqqqqqqqqqqqqqqqqqqqqqqqqqqrrqqqqqqqqqwզwpqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqrrqqqqrrqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqrrqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqpnwrpqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqrrqqqqqqqqqqqqqqqqqqqqrrqqqqqqs~֬yppqqqqqqqqqqqqqqqqqrrqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqrrqqqqqqqonݾ~opqqqqqqqqqqqqqqqrrqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqooݾ~opqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqrrrrrrqqqqqqrrrrqqrrqqrrqqqqrrqqrrrrrrrrqqqqqqrrqqqqqqqqqqrrrrrrqqqqrrqqqqqqqqqqqqqqqqrrrrqqqqrrrrqqrrqqqqqqqqqqqqrrrrrrqqrrqqqqqqqqqqqqrrqqrrrrqqqqqqqqqqqqrrqqrrqqqqqqrrqqqqqqqqrrrrqqrrrrrrqqqqqqqqrqpէxqqqrrqqqqqqqqqqrrqqqqqqqqqqrrqqqqqqrrqqqqqqqqrrqqqqqqrrrrrrrrrrqqrrqqqqrrrrrrqqqqqqqqqqqqqqrrqqqqqqqqrrqqqqrrqqqqqqqqrrrrqqrrqqqqqqqqrrrrqqrrqqrrqqqqqqqqqqqqrrqqrrqqrrqqrrqqqqrrrrrrqqqqrrqqrrrrqqqqqqqqqqqqqqqqrrrrqqqqqqrrqqrrrrqqqqqqrrqqqqqqqqqqqqqqrrrrqqqqqqqqqqqqqqqqrrqqrrqqqqqqqqrrrrqqqqrpoΏnoqqqrrqqqqqqrrqqqqqqqqrrrrqqqqqqqqqqrrrrqqqqqqrrrrqqqqrrrrqqqqqqqqqqqqqqrrrrqqqqqqqqqqrrqqqqqqqqqqqqqqrrqqrrqqqqqqqqqqqqqqrrrrqqqqqqqqrqpzǧopqrrqqqqqqqqqqrrqqqqrrrrrrqqrrqqqqqqqqrrqqqqqqrrqqqqqqqqqqqqqqqqqqqqrrqqrrrrrrqqrrqqqqqqqqqqqqrrrrqqqqqqrrqqqqqqqqqqqqqqrrrrrrrrqqrrrrqqqqqqrrqpo~Ӳopqrrqqqqqqqqrrqqqqqqqqqqqqrrrrrrrrqqqqqqqqqqqqqqqqqqqqrrrqqzȧoprqqqqqqqqrrrrqqqqrrrrqqrrqqqqqqqqqqqqqqqqqqqqqqrrrrqqrrqqqqqqrrrrqqqqqqqqqqqqqqrrqqqqqqqqqqrrqqqqrrqqqqrrqqqqqqqqqqqqrrrrqqqqqqrrqqqqqqqqqqqqrqp~Ҳnpqqqqqqqqqqqqqrrrrrrqqqqqqqqrrrrqqqqqqqqqqrrqqrrqqrrrrqqqqqqqqqqqu~ۿ{sqqrrrqqqqrrqqqqrrqqqqqqqqrrrrqqqqrrrrqqqqqqqqqqqqrrrrqqqqrrqqrrqqrrqqqqqqrrrrqqqqrrqqqqqqqqqqqqqqqqqqqqqqrrqqqqrrqqqqrrqqrrqqqqrrqqrrqqqqrrqqqqqqqqqqqqqqrrqqqqrrqqqqrrqqqqqqqqqqqqqqqqqqqqqqqrvعrqqqqqqqqrrqqrrqqqqqqqqqqrrqqrrrrqqqqqqrrqqrrqqqqrrrrqqqqqqqqqqqqqqqqrrqqqqqqqqqqqqqqqqqqqqrrqqrrqqrrrrqqqqqqqqrrqqqqqqrrrrqqqqrrqqqqp{ظnoqqrvԠupqqqqqqqqqqrrrrqqrrqqqqqqqqqqqqqqqqqqqqqqrrqqqqqqrrqqqqqqqqqqrrqqrrqqqqqqrrqqqqqqqqrrqqqqrrqqqqqqqqrrqqrrrrqqqqqqqqrrqqqqrrqqqqqqrrqqqqrrqqqqqqqqqqrrqqrrqqqpp֩xpprwԠuqqrqqrrqqqqqqqqqqqqqqqqqqqqqqqqqqrrqqqqqqqqrrqqqqqqqqqqqqqqqqrrqqrrqqrrrrqqrrqqqqrrqqqqqqqqrrqqqqqqqqrrqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqrrqqqqqqqqqqqqqxݾ~ppqqqqqrrrrqqqqqqqqqqqqqqrrqqqqqqqqqqqqrrqqqqqqqqrrqqqqqqqqqqqqqqqqrrqqqqrrqqrrqqrrqqqqqqqqqqqqqqqqqqqqqqrrqqqqqqqqqqrrqqqqqqqqqqrrqqqqqqrrrrqqrrqqqqqqqqqqqqqqqqqqrrqqqqrrqqqqqqqqqqrrqqqqqqqqqqqqrrqqqqqqqwզwppqrrqqqqqqqqqqqqqqrrqqqqqqqqrrqqqqqqqqrrqqrrqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqrrqqqqqqqqrrqqqqqqqqqqrrqqqqrrqqqqqqqqqqrrqqqqqqqqqqqqqqpzȤwppqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqrrqqqqqqrrqqqqqqqqrrqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqrrqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqpszɖxrqrrqqqqqqqqrrqqqqqqqqqqqqrrqqqqrrqqrrqqqqrrrrqqqqqqqqqqqqrrqqqqqqqqqqqqqqqqqqrrqqqqrrqqqonݾpqqqqqqqqqqqqqqqqqqqqqqqqrrrrqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqrrqqrrqqqqqqqqqqqqqqqqqqqqqqqqqqqqrrqqqqqqqqqqqqqqqqqqqqqqrrqqqqrrrrqqqqqqqqqqqqqqqqqqrrqqqqrrrrqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqonݿ~opqqqqqrrrrqqqqqqqqqqrrqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqrrqqqqqqqqqqqqqqqqqqrrqqqqqqqqqqqqqqrrqqqqqqrrqqqqqqqqqqqqrrqqqqqqqqrrqqrrrrrrqqqqqqrrrrqqrrqqrrqqqqrrqqrrrrrrrrqqqqqqrrqqqqqqqqqqrrrrrrqqqqrrqqqqqqqqqqqqqqqqrrrrqqqqrrrrqqrrqqqqqqqqqqqqrrrrrrqqrrqqqqqqqqqqqqrrqqrrrrqqqqqqqqqqqqrrqqrrqqqqqqrrqqqqqqqqrrrrqqrrrrrrqqqqqqqqrqpէxqqqrrqqqqqqqqqqrrqqqqqqqqqqrrqqqqqqrrqqqqqqqqrrqqqqqqrrrrrrrrrrqqrrqqqqrrrrrrqqqqqqqqqqqqqqrrqqqqqqqqrrqqqqrrqqqqqqqqrrrrqqrrqqqqqqqqrrrrqqrrqqrrqqqqqqqqqqqqrrqqrrqqrrqqrrqqqqrrrrrrqqqqrrqqrrrrqqqqqqqqqqqqqqqqrrrrqqqqqqrrqqrrrrqqqqqqrrqqqqqqqqqqqqqqrrrrqqqqqqqqqqqqqqqqrrqqrrqqqqqqqqrrrrqqqqrpoΏnpqqqrrqqqqqqrrqqqqqqqqrrrrqqqqqqqqqqrrrrqqqqqqrrrrqqqqrrrrqqqqqqqqqqqqqqrrrrqqqqqqqqqqrrqqqqqqqqqqqqqqrrqqrrqqqqqqqqqqqqqqrrrrqqqqqqqqrqquݿurqrrqqqqqqqqqqrrqqqqrrrrrrqqrrqqqqqqqqrrqqqqqqrrqqqqqqqqqqqqqqqqqqqqrrqqrrrrrrqqrrqqqqqqqqqqqqrrrrqqqqqqrrqqqqqqqqqqqqqqrrrrrrrrqqrrrrqqqqqqrrqqr¢ppqrrqqqqqqqqrrqqqqqqqqqqqqrrrrrrrrqqqqqqqqqqqqqqqqqqqqrrrqquݿvrqqqqqqqqqrrrrqqqqrrrrqqrrqqqqqqqqqqqqqqqqqqqqqqrrrrqqrrqqqqqqrrrrqqqqqqqqqqqqqqrrqqqqqqqqqqrrqqqqrrqqqqrrqqqqqqqqqqqqrrrrqqqqqqrrqqqqqqqqqqqqrrspqqqqqqqqqqqqqqrrrrrrqqqqqqqqrrrrqqqqqqqqqqrrqqrrqqrrrrqqqqqqqqqqrqsֱ~trqrrqqqqrrqqqqrrqqqqqqqqrrrrqqqqrrrrqqqqqqqqqqqqrrrrqqqqrrqqrrqqrrqqqqqqrrrrqqqqrrqqqqqqqqqqqqqqqqqqqqqqrrqqqqrrqqqqrrqqrrqqqqrrqqrrqqqqrrqqqqqqqqqqqqqqrrqqqqrrqqqqrrqqqqqqqqqqqqqqqqqqqqqqqzȧopqqqqqqqrrqqrrqqqqqqqqqqrrqqrrrrqqqqqqrrqqrrqqqqrrrrqqqqqqqqqqqqqqqqrrqqqqqqqqqqqqqqqqqqqqrrqqrrqqrrrrqqqqqqqqrrqqqqqqrrrrqqqqrrqqqqpwnoqpu̖wrqqqqqqqqqqqrrrrqqrrqqqqqqqqqqqqqqqqqqqqqqrrqqqqqqrrqqqqqqqqqqrrqqrrqqqqqqrrqqqqqqqqrrqqqqrrqqqqqqqqrrqqrrrrqqqqqqqqrrqqqqrrqqqqqqrrqqqqrrqqqqqqqqqqrrqqrrqqqpoٱzppuΗwrqrrqqrrqqqqqqqqqqqqqqqqqqqqqqqqqqrrqqqqqqqqrrqqqqqqqqqqqqqqqqrrqqrrqqrrrrqqrrqqqqrrqqqqqqqqrrqqqqqqqqrrqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqrrqqqqqqqqqqqqqxݾppqqqqqrrrrqqqqqqqqqqqqqqrrqqqqqqqqqqqqrrqqqqqqqqrrqqqqqqqqqqqqqqqqrrqqqqrrqqrrqqrrqqqqqqqqqqqqqqqqqqqqqqrrqqqqqqqqqqrrqqqqqqqqqqrrqqqqqqrrrrqqrrqqqqqqqqqqqqqqqqqqrrqqqqrrqqqqqqqqqqrrqqqqqqqqqqqqrrqqqqqqpxզwpqqrrqqqqqqqqqqqqqqrrqqqqqqqqrrqqqqqqqqrrqqrrqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqrrqqqqqqqqrrqqqqqqqqqqrrqqqqrrqqqqqqqqqqrrqqqqqqqqqqqqqqqu¤wrpqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqrrqqqqqqrrqqqqqqqqrrqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqrrqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqt~ֵnprrrqqqqqqqqrrqqqqqqqqqqqqrrqqqqrrqqrrqqqqrrrrqqqqqqqqqqqqrrqqqqqqqqqqqqqqqqqqrrqqqqrrqqqpnݾpqqqqqqqqqqqqqqqqqqqqqqqqrrrrqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqrrqqrrqqqqqqqqqqqqqqqqqqqqqqqqqqqqrrqqqqqqqqqqqqqqqqqqqqqqrrqqqqrrrrqqqqqqqqqqqqqqqqqqrrqqqqrrrrqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqpnݿopqqqqqrrrrqqqqqqqqqqrrqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqrrqqqqqqqqqqqqqqqqqqrrqqqqqqqqqqqqqqrrqqqqqqrrqqqqqqqqqqqqrrqqqqqqqqrrrrrrrrrrrrrrrrqqrrrrrrqqrrqqrrqqrrrrrrrrrrqqqqqqrrqqrrrrqqqqqqrrrrrrqqrrrrrrrrrrqqrrqqrrrrqqrrrrrrqqrrrrrrqqqqrrqqqqrrrrrrrrrrrrqqqqqqrrrrrrqqrrrrrrqqqqrrrrrrqqqqrrqqrrqqrrrrrrqqrrrrqqqqrrrrrrqqrrqqrrrqpէxqqrrrqqrrqqrrrrqqrrrrrrrrqqrrrrrrqqrrqqqqrrqqqqrrqqqqrrqqrrrrqqqqrrrrrrrrqqqqrrqqrrqqrrrrqqrrrrrrqqqqrrrrqqrrqqrrqqrrrrqqrrqqqqrrqqqqrrrrrrqqrrrrrrrrqqqqqqqqqqqqrrrrrrrrqqqqrrrrrrqqrrrrrrrrrrrrqqrrqqrrrrqqrrqqrrrrqqqqqqqqrrrrrrrrqqrrrrrrrrrrrrrrqqrrrrrrrrrrqqrrrrrrrrrrrrrrrrrrrrqqqqrrqqrrqqqpoΏnprrrrrqqqqqqrrqqrrqqrrrrqqqqqqqqrrrrrrrrrrqqqqrrrrrrrrrrrrrrqqrrqqqqqqrrqqrrqqrrrrrrrrqqqqrrrrrrrrrrrrrrqqrrqqrrqqrrrrrrrrrrrrrrrrqqqqrrqqtУwqqrrrqqqqqqrrqqrrqqrrqqqqqqqqqqrrrrrrrrrrqqrrqqrrqqrrrrrrrrrrrrqqqqqqqqqqrrqqrrrrrrrrqqqqqqrrrrrrrrrrrrqqrrqqqqqqrrrrrrqqrrrrqqrrrrrrrrqqqqrrqt{دzqqrrrqqrrrrqqrrrrrrrrqqqqqqrrqqrrrrqqrrrrqqqqrrrrrrrrqqrrqqqqtУwqqrrrqqqqrrrrrrrrrrqqrrqqqqrrqqqqqqrrqqqqrrrrrrrrrrrrqqrrrrrrqqqqqqrrqqrrrrrrrrqqrrrrqqrrrrrrqqqqqqqqrrrrqqrrrrrrrrqqrrrrqqrrrrqqqqqqqqrrrrrqqt{دzqqqrrqqqqqqqqrrqqqqrrqqrrrrqqrrrrqqqqqqqqrrqqqqrrrrrrrrqqqqrrrrqqrqpֻ{sqqrqqqqrrrrrrrrqqqqqqrrrrqqrrqqqqrrrrrrqqqqqqqqrrqqrrqqqqqqrrqqqqqqqqqqrrrrqqqqqqqqrrqqrrrrqqqqrrqqrrqqqqrrrrrrqqqqrrrrqqrrqqrrqqqqqqrrqqrrrrrrrrqqqqqqqqrrrrqqrrqqqqrrqqqqrrrrqqrrrrqqrrrrsڵ|ppqrrrrqqqqrrqqqqrrqqqqrrqqrrqqqqrrrrqqrrqqrrrrqqrrrrqqqqqqqqrrqqrrqqqqrrqqrrrrrrqqqqrrqqqqqqqqqqqqrrqqqqqqqqqqqqrrrrqqrrqqrrqqqqrrqqqszɍnoppzrpqqqqqrrrrqqqqqqrrqqrrqqrrqqrrrrqqqqqqqqqqqqqqqqqqqqrrqqqqqqqqqqqqqqqqrrqqqqrrqqrrqqqqqqqqrrrrqqqqqqrrqqqqqqqqrrqqqqqqqqqqrrrrrrrrqqqqqqrrrrqqrrrrqqqqqqqqqqrppܺ~ppxǎqpqqqqqrrrrqqqqrrqqqqqqqqqqqqqqqqqqqqqqrrqqqqqqqqrrrrrrrrqqqqrrrrqqqqqqqqqqqqrrqqqqqqqqqqqqqqqqqqrrrrqqqqrrrrrrrrrrqqqqrrrrrrqqqqqqqqqqqqqqrrqqqqqqqqqqqqqxݿpqqqqrrqqqqqqqqrrrrrrrrrrqqqqqqrrqqrrqqqqqqqqqqqqqqqqrrrrrrrrqqqqqqqqqqqqrrqqqqrrrrqqqqqqqqrrqqqqrrqqqqrrqqrrqqqqqqrrqqqqrrrrqqrrrrrrqqqqrrqqqqrrqqqqqqqqrrqqqqqqqqqqrrrrrrqqrrqqqqqqrrqqrrrrqqrrrrrrqqqqqqqxզwqqqqqqqrrqqqqqqqqqqqqqqqqrrqqrrrrqqrrqqrrqqrrqqrrqqqqqqqqqqqqqqrrqqrrqqqqqqqqrrqqqqqqqqqqqqqqqqrrqqqqrrqqqqrrrrqqqqrrqqqqqqrrqqqqqqqqqqrrrrqqrrrrqqqqqqrrrrrrrrqqqqqqqqqqrrqqqqqqqqqqqqqqqqrrrrqqqqqqrrrrqqqqrrrrrrqrtȤwopqqqqqrrqqrrqqqqqqqqqqqqqqqqqqqqqqqqrrrrqqqqqqqqqqrrqqqqqqrrqqqqrrqqqqqqqqrrqqqqrrrrrrqqqqrrrrrrqqqqrrrrqqqqrrqqqqrrqqqqqqrrrrqqrrqqrrqqqqqqqqrrqqrrqqqqqqqqqqrrqqqqrrqqqqqqqqqt{ܺ}pqqqqqqrrrrqqqqrrqqqqqqqqqqqqrrqqqqrrrrqqqqqqrrrrqqrrrrqqqqqqqqqqqqrrqqqqqqqqrrqqqqrrqqqqqpnݿpqrqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqrrqqqqrrrrqqqqqqrrqqqqrrqqqqrrqqqqqqrrqqqqqqqqqqqqqqqqrrqqqqqqqqqqqqqqqqqqqqqqqqrrrrqqqqqqrrqqqqrrqqqqqqqqqqqqqqrrqqqqqqrrqqqqqqqqqqqqqqrrqqqqrrqqqqrrrrqqqqrrqqqqqqqqrrqqqpnݿpqqqqqqqqqqqqrrqqqqqqqqqqqqqqqqqqrrrrqqqqqqqqqqqqqqqqqqqqqqrrqqqqqqrrrrqqqqqqqqqqqqrrqqqqqqrrqqrrqqqqqqrrqqqqqqqqrrqqrrqqrrqqqqqqrrrrrrrrrrrrrrrrqqrrrrrrqqrrqqrrqqrrrrrrrrrrqqqqqqrrqqrrrrqqqqqqrrrrrrqqrrrrrrrrrrqqrrqqrrrrqqrrrrrrqqrrrrrrqqqqrrqqqqrrrrrrrrrrrrqqqqqqrrrrrrqqrrrrrrqqqqrrrrrrqqqqrrqqrrqqrrrrrrqqrrrrqqqqrrrrrrqqrrqqrrrqp֧xqqrrrqqrrqqrrrrqqrrrrrrrrqqrrrrrrqqrrqqqqrrqqqqrrqqqqrrqqrrrrqqqqrrrrrrrrqqqqrrqqrrqqrrrrqqrrrrrrqqqqrrrrqqrrqqrrqqrrrrqqrrqqqqrrqqqqrrrrrrqqrrrrrrrrqqqqqqqqqqqqrrrrrrrrqqqqrrrrrrqqrrrrrrrrrrrrqqrrqqrrrrqqrrqqrrrrqqqqqqqqrrrrrrrrqqrrrrrrrrrrrrrrqqrrrrrrrrrrqqrrrrrrrrrrrrrrrrrrrrqqqqrrqqrrqqqpoΏoprrrrrqqqqqqrrqqrrqqrrrrqqqqqqqqrrrrrrrrrrqqqqrrrrrrrrrrrrrrqqrrqqqqqqrrqqrrqqrrrrrrrrqqqqrrrrrrrrrrrrrrqqrrqqrrqqrrrrrrrrrrrrrrrrqqqqrrqpnܼqqrrrqqqqqqrrqqrrqqrrqqqqqqqqqqrrrrrrrrrrqqrrqqrrqqrrrrrrrrrrrrqqqqqqqqqqrrqqrrrrrrrrqqqqqqrrrrrrrrrrrrqqrrqqqqqqrrrrrrqqrrrrqqrrrrrrrrqqqqrqpzџuqrrrrqqrrrrqqrrrrrrrrqqqqqqrrqqrrrrqqrrrrqqqqrrrrrrrrqqrrqqqpoܼqqrrrqqqqrrrrrrrrrrqqrrqqqqrrqqqqqqrrrqqqrrrrrrrrrrrrqqrrrrrrqqqqqqrrqqrrrrrrrrqqrrrrqqrrrrrrqqqqqqqqrrrrqqrrrrrrrrqqrrrrqqrrrrqqqqqqqqrrrrrqpyџuqqqrrqqqqrrqqrrqqqqrrqqrrrrqqrrrrqqqqqqqqrrqqqqrrrrrrrrqqqqrrrrqqrqpױurqqqqqrrrrrrrrqqqqqqrrrrqqrrqqqqrrrrrrqqqqqqqqrrqqrrqqqqqqrrqqqqqqqqqqrrrrqqqqqqqqrrqqrrrrqqqqrrqqrrqqqqrrrrrrqqqqrrrrqqrrqqrrqqqqrrrrqqrrrrrrrrqqqqqqqqrrrrqqrrqqqqrrqqqqrrrrqqrrrrqqrqquӤwqqqrrrrqqqqrrrqqqrrqqqqrrqqrrqqqqrrrrqqrrqqrrrrqqrrrrqqqqqqqqrrqqrrqqqqrrqqrrrrrrqqqqrrqqqqqqqqqqqqrrqqqqqqqqqqqqrrrrqqrrqqrrqqqqrrqqqqsϓsqpp}ֶopqqqqqrrrrqqqqqqrrqqrrqqrrqqrrrrqqqqqqqqqqqqqqqqqqqqrrqqqqqqqqqqqqqqqqrrqqqqrrqqrrrqqqqqqqrrrrqqqqqqrrqqqqqqqqrrqqqqqqqqqqrrrrrrrrqqqqqqrrrrqqrrrrqqqqqqqqqqrqp}ãop{ۻopqqqqqrrrrqqqqrrqqqqqqqqqqqqqqqqqqqqqqrrqqqqqqqqrrrrrrrrqqqqrrrrqqqqqqqqqqqqrrqqqqqqqqqqqqqqqqqqrrrrqqqqrrrrrrrrrrqqqqrrrrrrqqqqqqqqqqqqqqrrqqqqqqqqqqqqqxݿpqqqqrrqqqqqqqqrrrrrrrrrrqqqqqqrrqqrrqqqqqqqqqqqqqqqqrrrrrrrrqqqqqqqqqqqqrrqqqqrrrrqqqqqqqqrrqqqqrrqqqqrrqqrrqqqqqqrrqqqqrrrrqqrrrrrrqqqqrrqqqqrrqqqqqqqqrrqqqqqqqqqqrrrrrrqqrrqqqqqqrrqqrrrrqqrrrrrrqqqqqqqxզxqqqqqqqrrqqqqqqqqqqqqqqqqrrqqrrrrqqrrqqrrqqrrqqrrqqqqqqqqqqqqqqrrqqrrqqqqqqqqrrqqqqqqqqqqqqqqqqrrqqqqrrqqqqrrrrqqqqrrqqqqqqrrqqqqqqqqqqrrrrqqrrrrqqqqqqrrrrrrrrqqqqqqqqqqrrqqqqqqqqqqqqqqqqrrrrqqqqqqrrrrqqqqrrrrrrqpo~zspqqqqrrqqrrqqqqqqqqqqqqqqqqqqqqqqqqrrrrqqqqqqqqqqrrqqqqqqrrqqqqrrqqqqqqrrrrqqqqrrrrrrqqqqrrrrrrqqqqrrrrqqqqrrqqqqrrqqqqqqrrrrqqrrqqrrqqqqqqqqrrqqrrqqqqqqqqqqrrqqqqrrqqqqqqqrt~Уwqqqqqqqrrrrqqqqrrqqqqqqqqqqqqrrqqqqrrrrqqqqqqrrrrqqrrrrqqqqqqqqqqqqrrqqqqqqqqrrqqqqrrqqqqqpnݿpqrqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqrrqqqqrrrrqqqqqqrrqqqqrrqqqqrrqqqqqqrrqqqqqqqqqqqqqqqqrrqqqqqqqqqqqqqqqqqqqqqqqqrrrrqqqqqqrrqqqqrrqqqqqqqqqqqqqqrrqqqqqqrrqqqqqqqqqqqqqqrrqqqqrrqqqqrrrrqqqqrrqqqqqqqqrrqqqpnݿpqqqqqqqqqqqqrrqqqqqqqqqqqqqqqqqqrrrrqqqqqqqqqqqqqqqqqqqqqqrrqqqqqqrrrrqqqqqqqqqqqqrrqqqqqqrrqqrrqqqqqqrrqqqqqqqqrrqqrrqqrrqqqqqqrrqqrrrrrrrrrrrrrrrrrrrrrrrrqqqqrrrrrrqqrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrqqrrrrrrrrrrrrrrrrrrrrrrrrrrqqrrrrrrrrqqrrqqrrqqrrrrrrrrrrqqqqrrrrrrqqrrrrrrrrrrrrqqrrrrrrrrrrrrrrrrrrrrrrrrrrrrqqrrrrrrrrrrqqrrrqp֧xqrrqqrrrrrrrrqqrrrrqqrrrrrrrrrrrrrrqqrrrrrrrrqqrrqqrrrrrrrrrrrrrrrrrrrrrrrrrrqqqqqqqqrrrrrrrrrrrrqqrrqqrrrrrrrrrrrrrrqqrrrrrrqqrrrrrrrrrrrrrrrrrrrrqqqqrrqqrrrrqqrrrrqqrrrrrrrrqqrrrrrrrrqqrrrrrrqqrrrrrrrrqqrrrrrrrrrrqqrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrqqrrrrqqrrrrrrqqqqrrrrrrrrrrqqrrrrqqrrrrrrrppΏoprrrrrrrrrrrrrqqrrrrrrrrrrqqrrqqrrrrrrrrqqqqrrrrrrrrrrrrrrqqrrqqrrrrrrrrqqrrrrrrrrrrrrrrrrqqrrrrqqqqrrrrrrrrrrrrrrrrrrqqqqrrrrrrqqrrrrrrrqoڻrqrrrrrrrrrqqrrqqrrqqrrqqqqqqrrqqrrrrrrqqqqrrrrrrqqrrrrrrrrrrqqqqrrrrrrqqrrrrrrrrrrrrrrrrqqqqqqqqqqrrrrrrrrrrqqqqrrrrrrrrqqrrrrqqrrqqqqrrrrqpoȒurrrrqqrrqqqqrrrrrrrrrrrrrrrrrrrrqqqqqqrrqqrrqqrrqqrrrrqqrrrrrppڻsrrqqrrrrrrrrqqrrrrqqrrrrrrrrqqrrrrqqrrrrrrrrrrrrrrrrrrqqrrrrqqrrqqrrqqrrrrqqrrrrrrqqqqrrqqrrqqrrrrrrqqqqrrrrrrrrrrqqrrqqrrqqrrqqqqrrrrrrrrrqoȒtrrrrrrrrqqrrrrrrrrqqrrqqqqqqqqrrrrrrrrrrrrqqqqqqrrrrrrrrrrrrqqqqrrqqqwּuqqrrrrrqqrrrrrrrrrrqqqqqqrrrrrrrrrrrrrrrrrrrrqqrrqqqqqqrrrrrrqqrrrrrrrrrrrrqqqqrrqqqqrrrrrrrrrrrrrrrrrrqqrrrrqqqqrrrrrrrrrrqqrrqqqqrrrrrrrrrrqqrrqqrrqqrrrrqqqqrrrrrrrrrrrrqqrrqqqqqqqpo~ȓvrrqqrrrrqqrrqqqqqqrrqqqqqqqqqqrrqqrrrrrrrrrrrrrrqqrrqqrrrrqqrrrrqqqqqqrrqqrrrrqqrrqqrrrrrrrrrrrrrrrrrrqqqqrrqqrrrrrrrrqqqqrrqqqqrrqqrrrppҜ|tppʪppqrrrrqqrrqqrrqqrrrrrrrrrrrrrrrrqqrrrrrrrrrrrrrrrrqqrrrrqqrrrrqqqqrrrrrrqqqqqqqqrrrrqqqqrrrrqqrrqqqqqqrrrrrrqqrrqqrrqqqqrrrrrrrrrrrrrrrrrrqqrrrrqqqqqqqqqqrrqqqz̬oo~̬pprqqqrrrrrqqqqqqqqrrqqqqrrqqrrqqqqqqqqrrrrqqrrqqqqrrqqrrqqrrrrrrrrrrqqqqrrrrrrrrrrrrrrrrqqrrrrqqrrrrqqqqrrrrqqrrqqrrrrrrrrrrrrrrrrqqrrrrrrqqrrqqqqrrrrqqqxݿpqqrrrrrrqqqqrrrrrrrrrrrrrrrrrrqqrrrrrrrrqqrrrrrrrrrrrrrrrrrrrrqqqqrrrrrrrrrrqqqqrrrrqqqqrrrrrrqqqqqqrrrrqqqqrrrrqqrrrrqqqqqqrrqqrrqqrrqqqqrrrrrrrrrrrrrrrrrrqqrrrrrrqqrrqqqqrrqqrrrrqqrrrrrrrrqqrrrrqqqqqqqxզwqqrrrqqrrqqrrqqrrrrqqqqqqrrqqqqqqqqqqqqqqqqrrqqrrqqqqrrrrqqqqrrqqqqrrqqrrrrrrrrqqrrrrrrqqrrqqqqrrqqqqrrqqrrrrqqrrqqqqrrrrqqrrrrrrrrqqrrrrrrrrqqqqrrqqrrrrqqqqrrrrqqrrrrqqqqrrqqqqqqrrqqrrqqrrrrqqrrrrrrrrrrqqrrqqqqrqqv˭zopqqqqqqqqqrrqqqqqqrrqqqqqqqqqqrrqqrrrrrrrrqqrrrrrrrrrrqqrrqqrrqqqqqqrrrrqqrrqqrrrrrrrrrrqqrrqqrrqqrrrrrrrrrrrrrrrrqqrrqqqqrrqqrrqqqqqqqqrrrrrrqqrrrrrrqqqqqqqqqqqqrrqqrrqqqt{ݿvrqrrrrqqqqrrqqrrqqrrrrrrqqrrrrqqrrrrqqqqqqqqrrqqqqqqqqrrqqqqqqrrrrrrqqrrrrrrqqrrrrrrrrrrqqrpnݿpqqqqrrqqrrqqrrqqqqqqrrqqqqqqrrqqrrqqqqrrrrrrrrrrqqqqqqqqrrrrrrrrrrqqrrqqrrqqqqrrrrrrqqqqqqrrrrqqqqqqrrqqqqrrqqrrrrrrqqqqqqrrqqrrrrrrqqrrrrrrrrrrqqqqqqqqqqqqrrqqrrqqrrqqqqqqrrqqqqqqqqrrqqrrqqrrrrrrqqrrqqqqrrqqrrqqqqrrrpnݿpqqrrqqrrrrqqrrrrrrrrqqqqqqrrqqqqrrqqqqqqqqrrqqrrrrrrqqqqrrrrqqrrqqqqqqqqqqqqrrqqqqqqqqqqrrqqrrrrqqrrrrqqrrqqrrqqrrqqqqqqrrqqqqqqqqqqrrrrrrrrrrrrrrrrrrrrrrrrqqqqrrrrrrqqrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrqqrrrrrrrrrrrrrrrrrrrrrrrrrrqqrrrrrrrrqqrrqqrrqqrrrrrrrrrrqqqqrrrrrrqqrrrrrrrrrrrrqqrrrrrrrrrrrrrrrrrrrrrrrrrrrrqqrrrrrrrrrrqqrrrqp֧xqrrqqrrrrrrrrqqrrrrqqrrrrrrrrrrrrrrqqrrrrrrrrqqrrqqrrrrrrrrrrrrrrrrrrrrrrrrrrqqqqqqqqrrrrrrrrrrrrqqrrqqrrrrrrrrrrrrrrqqrrrrrrqqrrrrrrrrrrrrrrrrrrrrqqqqrrqqrrrrqqrrrrqqrrrrrrrrqqrrrrrrrrqqrrrrrrqqrrrrrrrrqqrrrrrrrrrrqqrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrqqrrrrqqrrrrrrqqqqrrrrrrrrrrqqrrrrqqrrrrrrrpoΏoprrrrrrrrrrrrrqqrrrrrrrrrrqqrrqqrrrrrrrrqqqqrrrrrrrrrrrrrrqqrrqqrrrrrrrrqqrrrrrrrrrrrrrrrrqqrrrrqqqqrrrrrrrrrrrrrrrrrrrrqqrrrrrrqqrrrrrrrqq|Ѣvqqrrrrrrrqqrrqqrrqqrrqqqqqqrrqqrrrrrrqqqqrrrrrrqqrrrrrrrrrrqqqqrrrrrrqqrrrrrrrrrrrrrrrrqqqqqqqqqqrrrrrrrrrrqqqqrrrrrrrrqqrrrrqqrrqqqqrrrrqrwںoprrrqqrrqqqqrrrrrrrrrrrrrrrrrrrrqqqqqqrrqqrrqqrrqqrrrrqqrrrrrqp|Ѣvqqqrrrrrrrrqqrrrrqqrrrrrrrrqqrrrrqqrrrrrrrrrrrrrrrrrrqqrrrrqqrrqqrrqqrrrrqqrrrrrrqqqqrrqqrrqqrrrrrrqqqqrrrrrrrrrrqqrrqqrrqqrrqqqqrrrrrrrrrswںoprrrrrrrqqrrrrrrrrqqrrqqqqqqqqrrrrrrrrrrrrqqqqqqrrrrrrrrrrrrqqqqrrqqrrwطxsqqrrrqqrrrrrrrrrrqqqqqqrrrrrrrrrrrrrrrrrrrrqqrrqqqqqqrrrrrrqqrrrrrrrrrrrrqqqqrrqqqqrrrrrrrrrrrrrrrrrrqqrrrrqqqqrrrrrrrrrrqqrrqqqqrrrrrrrrrrqqrrqqrrqqrrrrqqqqrrrrrrrrrrrrqqrrqqqqqqqt|ںoprqqrrrrqqrrqqrrqqrrqqqqqqqqqqrrqqrrrrrrrrrrrrrrqqrrqqrrrrqqrrrrqqqqqqrrqqrrrrqqrrqqrrrrrrrrrrrrrrrrrrqqqqrrqqrrrrrrrrqqqqrrqqqqrrqqrrrpoեwpoݿpqqrrrrqqrrqqrrqqrrrrrrrrrrrrrrrrqqrrrrrrrrrrrrrrrrqqrrrrqqrrrrqqqqrrrrrrqqqqqqqqrrrrqqqqrrrrqqrrqqqqqqrrrrrrqqrrqqrrqqqqrrrrrrrrrrrrrrrrrrqqrrrrqqqqqqqqqqrrqqqvԳnnݾpqrqqrrrrrrqqqqqqqqrrqqqqrrqqrrqqqqrrqqrrrrqqrrqqqqrrqqrrqqrrrrrrrrrrqqqqrrrrrrrrrrrrrrrrqqrrrrqqrrrrqqqqrrrrqqrrqqrrrrrrrrrrrrrrrrqqrrrrrrqqrrqqqqrrrrqqqwݿpqqrrrrrrqqqqrrrrrrrrrrrrrrrrrrqqrrrrrrrrqqrrrrrrrrrrrrrrrrrrrrqqqqrrrrrrrrrrqqqqrrrrqqqqrrrrrrqqqqqqrrrrqqqqrrrrqqrrrrqqqqqqrrqqrrqqrrqqqqrrrrrrrrrrrrrrrrrrqqrrrrrrqqrrqqqqrrqqrrrrqqrrrrrrrrqqrrrrqqqqqqqxզwqqrrrqqrrqqrrqqrrrrqqqqqqrrqqqqqqqqqqqqqqqqrrqqrrqqqqrrrrqqqqrrqqqqrrqqrrrrrrrrqqrrrrrrqqrrqqqqrrqqqqrrqqrrrrqqrrqqqqrrrrqqrrrrrrrrqqrrrrrrrrqqqqrrqqrrrrqqqqrrrrqqrrrrqqqqrrqqqqqqrrqqrrqqrrrrqqrrrrrrrrrrqqrrqqqqrrrrs˯}tpqqqqqqqqrrqqqqqqrrqqqqqqqqqqrrqqrrrrrrrrqqrrrrrrrrrrqqrrqqrrqqqqqqrrrrqqrrqqrrrrrrrrrrqqrrqqrrqqrrrrrrrrrrrrrrrrqqrrqqqqrrqqrrqqqqqqqqrrrrrrqqrrrrrrqqqqqqqqqqqqrrqqrrqqs~ȧopqrrrrqqqqrrqqrrqqrrrrrrqqrrrrqqrrrrqqqqqqqqrrqqqqqqqqrrqqqqqqrrrrrrqqrrrrrrqqrrrrrrrrrrqqrpnݿpqqqqrrqqrrqqrrqqqqqqrrqqqqqqrrqqrrqqrrrrrrrrrrrrqqqqqqqqrrrrrrrrrrqqrrqqrrqqqqrrrrrrqqqqqqrrrrqqqqqqrrqqqqrrqqrrrrrrqqqqqqrrrrrrrrrrqqrrrrrrrrrrqqqqqqqqqqqqrrqqrrqqrrqqqqqqrrqqqqqqqqrrrrrrqqrrrrrrqqrrqqqqrrqqrrqqqqrrrpoݿpqqrrqqrrrrqqrrrrrrrrqqqqqqrrqqqqrrqqqqqqqqrrqqrrrrrrqqqqrrrrqqrrqqqqqqqqqqqqrrqqqqqqqqqqrrqqrrrrqqrrrrrrrrqqrrqqrrqqqqqqrrqqqqqqqqrrrrrrrrrrrrqqrrrrrrrrqqrrrrqqrrrrrrrrrrrrrrrrrrrrrrqqrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrqqrrqqrrrrrrrrrrqqrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrqp֧xqqrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrqqrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrqqrrrrrrrrrrrrrrrrrrrrqqqqrrrrrrrrrrqqrrrrrrrrrrrrrrrrrrrrrrrrqqrrrrrrqqqqrrrrrrqqqqrrrrrrrrrrrrrrrrrrrrrrqqrrrrrrrrrrrrrrrrrrrrqqqqrrrrqqrrrrrrrrrrrrrrrrrrqqrrqqrrrrrrqqrrrrrrrrrrrrrrrrrrrppΏoprrrrrrrrrrrqqrrrrrrrrrrrrqqrrqqqqrrrrrrrrrrqqrrrrrrrrrrrrrrrrqqrrrrrrrrrrrrrrrrrrrrrrqqrrrrrrrrrrrrrrrrqqrrrrqqrrqqrrrrrrrrrrrrrrrrrrrrrqru~oqrrrrrrrrrrrrrrrrrqqrrqqrrrrqqrrrrrrrrrrrrrrrrrrrrrrrrrrrrqqrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrqqrrrrrrrrrrrrrrrrrrrrrrrqqxȨpqrrrrrrrrrrrqqrrrrrrqqrrrrrrqqqqrrrrrrrrrrqqrrrrrrrrrrrrqqrrrrqu~ppqqqrrqqrrrrrrqqrrqqrrrrqqrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrqqrrrrrrrrrrqqrrrrqqrrrrrrrrqqrrrrrrrrrrrrqqrrrrqqqqrrrrrrrrrrrrrrrrrrrrrrrrrqqyȨpqrqqrrrrrrrrrrrrrrqqrrrrqqrrrrrrrrrrrrrrrrrrrrqqrrrrrrrrrrrrqqrrrrrrrqrţxpqrrrrrrrrrrrqqrrrrrrqqrrrrrrrrrrqqrrqqqqrrrrrrrrrrrrrrqqrrrrrrrrrrrrqqrrrrrrrrrrrrrrqqrrrrrrqqrrrrrrrrqqrrrrqqrrrrrrrrqqrrrrrrrrrrrrrrrrrrrrrrrrrrqqrrrrrrqqrrrrrrqqrrrrrrrrrrrrrqp|Ȩpqrrrrrqqrrrrqqrrrrrrrrrrqqrrqqqqrrrrrrrrrrrrrrrrrrqqqqrrrrrrrrrrrrrrrrrrqqrrrrqqrrrrrrrrrrrrrrqqrrrrrrrrrrrrrrrrrrrrrrrrrrqqrrrrrrrrqqrqpدzooٳ{qqqrrrrqqrrrrrrqqrrrrrrrrrrrrrrrrrrrrqqrrrrqqrrrrqqrrrrqqrrqqrrrrrrqqrrrrqqrrrrqqrrrrrrrrqqrrrrqqrrrrqqqqrrrrqqrrrrqqrrrrrrrrrrqqrrrrrrqqrrrrrrrrrrrrqqrrqqrrqqqruٹnnٲ{qqrrrrrrrqqrrrrrrrrrrqqrrrrrrrrqqrrrrrrqqqqqqrrrrrrrrrrrrrrrrqqqqrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrqqrrrrqqrrrrrrrrrrrrqqqqrrrrqqqqqqrrqqrrrrrrrrrrrqqwݿpqqrrrrrrrrrrqqqqqqrrrrrrrrrrqqqqrrrrrrrrqqrrrrrrrrrrrrrrrrrrrrqqrrrrrrrrqqrrrrrrrrrrrrrrrrrrqqrrrrrrrrrrrrqqrrrrqqqqrrrrrrrrrrrrrrrrrrqqqqqqrrqqrrrrqqrrrrrrrrqqrrrrrrqqqqqqrrrrqqrrqqrrrrrrrrrrrrrrrrrrrrrxէwqqqrrqqrrqqrrqqrrrrrrrrrrrrrrrrqqrrrrrrrrrrrrqqrrrrrrrrrrrrrrrrrrqqqqrrqqrrrrrrqqrrrrqqrrrrqqrrrrrrrrrrqqrrrrrrrrrrrrrrrrrrqqrrrrqqrrrrrrrrrrrrrrrrrrrrqqrrrrrrrrrrqqrrrrrrrrrrqqrrrrrrrrrrqqrrrrrrrrqqqqrrqqrrrrqqrrrqqѸ}npqrrrrrrrrrrqqrrrrrrrrrrrrrrrrrrqqrrqqqqrrrrrrrrrrqqrrrrqqrrqqrrrrqqrrqqrrrrrrrrrrrrrrrrrrrrrrqqrrrrrrqqrrrrqqrrrrqqrrqqrrqqqqqqrrqqrrrrqqrrrrqqrrrrrrrrrrrrrrrrrrqqrqqs{֩ypqqqqrrrrrrrrrrqqrrqqrrqqqqrrrrrrrrqqqqrrrrqqrrrrqqqqrrrrrrrrrrqqqqrrrrrrrrrrrrrrrrqqqqqqrrrpnݿpqrqqrrqqrrqqrrrrqqqqrrrrqqrrrrqqrrrrqqrrrrqqrrqqrrrrrrrrrrrrqqrrqqqqrrrrrrrrrrqqqqrrqqrrrrrrrrrrqqrrqqrrrrrrrrrrrrrrrrrrqqrrqqrrqqrrrrqqrrrrrrqqqqrrrrrrrrrrqqrrrrrrrrrrrrrrqqrrqqrrqqrrrrqqrrrrrrrrrrrrrrrrrrrrrrrrrrrrrpoݿpqqqqrrqqrrrrrrrrqqqqrrqqqqrrrrrrqqqqrrrrrrrrrrrrrrqqqqrrrrrrrrrrrrqqrrrrrrrrqqqqqqrrqqqqqqrrrrrrrrqqrrrrrrrrrrrrrrqqrrqqrrqqrrqqrrrrrrrrrrrrrrqqrrrrrrrrqqrrrrqqrrrrrrrrrrrrrrrrrrrrrrqqrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrqqrrqqrrrrrrrrrrqqrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrqp֧xqqrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrqqrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrqqrrrrrrrrrrrrrrrrrrrrqqqqrrrrrrrrrrqqrrrrrrrrrrrrrrrrrrrrrrrrqqrrrrrrqqqqrrrrrrqqqqrrrrrrrrrrrrrrrrrrrrrrqqrrrrrrrrrrrrrrrrrrrrqqqqrrrrqqrrrrrrrrrrrrrrrrrrqqrrqqrrrrrrqqrrrrrrrrrrrrrrrrrrrppΏoprrrrrrrrrrrqqrrrrrrrrrrrrqqrrqqqqrrrrrrrrrrqqrrrrrrrrrrrrrrrrqqrrrrrrrrrrrrrrrrrrrrrrqqrrrrrrrrrrrrrrrrqqrrrrqqrrqqrrrrrrrrrrrrrrrrrrrrrrrrsټytrrrrrrrrrrrrrrrrrqqrrqqrrrrqqrrrrrrrrrrrrrrrrrrrrrrrrrrrrqqrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrqqrrrrrrrrrrrrrrrrrrrrrrrqqڵ}qqrrrrrrrrrrrqqrrrrrrqqrrrrrrqqqqrrrrrrrrrrqqrrrrrrrrrrrrqqrrrrqqsټysqqqrrqqrrrrrrqqrrqqrrrrqqrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrqqrrrrrrrrrrqqrrrrqqrrrrrrrrqqrrrrrrrrrrrrqqrrrrqqqqrrrrrrrrrrrrrrrrrrrrrrrrrqqڵ}pqrqqrrrrrrrrrrrrrrqqrrrrqqrrrrrrrrrrrrrrrrrrrrqqrrrrrrrrrrrrqqrrrrrrrqp}tqqrrrrrrrrrqqrrrrrrqqrrrrrrrrrrqqrrqqqqrrrrrrrrrrrrrrqqrrrrrrrrrrrrqqrrrrrrrrrrrrrrqqrrrrrrqqrrrrrrrrqqrrrrqqrrrrrrrrqqrrrrrrrrrrrrrrrrrrrrrrrrrrqqrrrrrrqqrrrrrrqqrrrrrrrrrrrrqswٴ|qqrrrrrqqrrrrqqrrrrrrrrrrqqrrqqqqrrrrrrrrrrrrrrrrrrqqqqrrrrrrrrrrrrrrrrrrqqrrrrqqrrrrrrrrrrrrrrqqrrrrrrrrrrrrrrrrrrrrrrrrrrqqrrrrrrrrqqrqq}ڶ}ppեwqqqrrrrqqrrrrrrqqrrrrrrrrrrrrrrrrrrrrqqrrrrqqrrrrqqrrrrqqrrqqrrrrrrqqrrrrqqrrrrqqrrrrrrrrqqrrrrqqrrrrqqqqrrrrqqrrrrqqrrrrrrrrrrqqrrrrrrqqrrrrrrrrrrrrqqrrqqrrqqrpommզxqqrrrrrrrqqrrrrrrrrrrqqrrrrrrrrqqrrrrrrqqqqqqrrrrrrrrrrrrrrrrqqqqrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrqqrrrrqqrrrrrrrrrrrrqqqqrrrrqqqqqqrrqqrrrrrrrrrrrrqxݿpqqrrrrrrrrrrqqqqqqrrrrrrrrrrqqqqrrrrrrrrqqrrrrrrrrrrrrrrrrrrrrqqrrrrrrrrqqrrrrrrrrrrrrrrrrrrqqrrrrrrrrrrrrqqrrrrqqqqrrrrrrrrrrrrrrrrrrqqqqqqrrqqrrrrqqrrrrrrrrqqrrrrrrqqqqqqrrrrqqrrqqrrrrrrrrrrrrrrrrrrrrrxէxqqqrrqqrrqqrrqqrrrrrrrrrrrrrrrrqqrrrrrrrrrrrrqqrrrrrrrrrrrrrrrrrrqqqqrrqqrrrrrrqqrrrrqqrrrrqqrrrrrrrrrrqqrrrrrrrrrrrrrrrrrrqqrrrrqqrrrrrrrrrrrrrrrrrrrrqqrrrrrrrrrrqqrrrrrrrrrrqqrrrrrrrrrrqqrrrrrrrrqqqqrrqqrrrrqqrrrqqzԺvqqrrrrrrrrrqqrrrrrrrrrrrrrrrrrrqqrrqqqqrrrrrrrrrrqqrrrrqqrrqqrrrrqqrrqqrrrrrrrrrrrrrrrrrrrrrrqqrrrrrrqqrrrrqqrrrrqqrrqqrrqqqqqqrrqqrrrrqqrrrrqqrrrrrrrrrrrrrrrrrrqqqsxœwsrqqqqrrrrrrrrrrqqrrqqrrqqqqrrrrrrrrqqqqrrrrqqrrrrqqqqrrrrrrrrrrqqqqrrrrrrrrrrrrrrrrqqqqqqrrrpoݿpqrqqrrqqrrqqrrrrqqqqrrrrqqrrrrqqrrrrrrrrrrqqrrqqrrrrrrrrrrrrqqrrqqqqrrrrrrrrrrqqqqrrqqrrrrrrrrrrqqrrqqrrrrrrrrrrrrrrrrrrqqrrqqrrqqrrrrqqrrrrrrqqrrrrrrrrrrrrqqrrrrrrrrrrrrrrqqrrqqrrqqrrrrqqrrrrrrrrrrrrrrrrrrrrrrrrrrrrrpoݿpqqqqrrqqrrrrrrrrqqqqrrqqqqrrrrrrqqqqrrrrrrrrrrrrrrqqqqrrrrrrrrrrrrqqrrrrrrrrqqqqqqrrqqqqqqrrrrrrrrqqrrrrrrrrrrrrrrqqrrqqrrqqrrqqrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrqq֧xqqrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrqqrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrqqrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrppΏoprrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrqqѫzqqrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrqqrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrqsգwqrrrrqqqqrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrqqѬzpqrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrqqrrrrrrrrrrrqsգwqqrrrrrrrrrrrrrrrrrqqrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrqqqxͳ|oprrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrqqrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrqqrrrrrrrrrrrrrrrrrrrrqqqqrrrrrrrrrrrrrrrrqqrrrrrrrrrrrrrqpxОuqrrrrrrrrrrrrrrrrrrrrqqqqrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrqqrrrrrrrrrrrrrrrrrrrrrqqzܻ~prЖvrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrqqrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrqqrrrrrrrrrrqqrrrrrrqqrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrqqrrrrrrrrrpoʎmmћztrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrqqrrrrrrrrrrrrrrrrrrrrrrrrrrqqrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrqqrrrrrrrrrrrrqqrrrrrrrrrrrrrrqqrrrrrrrrrrrrrrrrrrrrrrrrrxݿpqrrrrrrrrrrrrrrrrrqqrrrrrrrrrrrrrrrrrrrrrrrrrrrrqqrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrqqrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrqqrrrrrrqqrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrqqrrrrrrrrqqqqrrrrrrrrrrrrrrrrrrrrrrrrrrqxէxqqrrrrrrrrrrrqqrrrrrrrrrrrrrrrrrrqqqqrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrqqrrrrrrrrrrqqrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrqqrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrqqrrrrrrqqrrrrrrrrrrrrqqrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrqqrsyǪrqqrrrrrrrrrrrrrrrrrrrrrrrrrrrrqqrrrrrrqqrrrrqqqqrrrrrrrrrrrrqqrrrrrrqqrrrrrrrrrrrrrrrrrrrrrrrrqqqqrrrrrrrrrrrrqqqqrrrrrrrrrrrrqqrrrrqqrrqqrrrrrrqqrrqqrrrrrrrrrrrqpx˫rqrrrrrrrrrrrqqrrrrrrrrrrrrrrqqrrrrqqrrrrrrrrqqrrrrrrrrrrrrrrrrrrrrrrrrqqrrrrrrrrrrrrrrrrrrrrrqoݿpqrrrrrqqrrrrrrrrrrqqrrrrrrrrrrqqrrrrrrrrqqqqrrqqrrrrrrrrqqqqrrrrrrrrrrrrqqrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrqqrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrqqrrrrrrrrrrqqrrqqrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrqqrrrrqqrrrrrrrrqqrrrpoݿpqrrrrrqqrrrrrrrrrrrrrrrrrrrrrrqqrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrqqrrrrrrrrrrrrqqrrqqrrqqrrrrrrrrrrrrqqrrrrrrrrrrrrrrrrrrrrrrqqrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrq֧xqrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrqqrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrqqrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrppΏoprrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrqǨtrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrqqrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrqqwɕxsrrrrrqqqqrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrqǨtrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrqqrrrrrrrrrqqwɕxsrrrrrrrrrrrrrrrrrrrqqrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrqqrsxжwrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrqqrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrqqrrrrrrrrrrrrrrrrrrrrqqqqrrrrrrrrrrrrrrrrqqrrrrrrrrrrrqqt}sqrrrrrrrrrrrrrrrrrrrrrqqqqrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrqqrrrrrrrrrrrrrrrrrrrrrrrvŤryǍoprrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrqqrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrqqrrrrrrrrrrqqrrrrrrqqrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrqqrrrrrrrrrqpϓssʒsrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrqqrrrrrrrrrrrrrrrrrrrrrrrrrrqqrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrqqrrrrrrrrrrrrqqrrrrrrrrrrrrrrqqrrrrrrrrrrrrrrrrrrrrrrrrrxݿpqrrrrrrrrrrrrrrrrrqqrrrrrrrrrrrrrrrrrrrrrrrrrrrrqqrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrqqrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrqqrrrrrrqqrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrqqrrrrrrrrqqqqrrrrrrrrrrrrrrrrrrrrrrrrrrqxէxqrrrrrrrrrrrrqqrrrrrrrrrrrrrrrrrrqqqqrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrqqrrrrrrrrrrqqrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrqqrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrqqrrrrrrqqrrrrrrrrrrrrqqrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrqqrqo˥~vrqrrrrrrrrrrrrrrrrrrrrrrrrrrqqrrrrrrqqrrrrqqqqrrrrrrrrrrrrqqrrrrrrqqrrrrrrrrrrrrrrrrrrrrrrrrqqqqrrrrrrrrrrrrqqqqrrrrrrrrrrrrqqrrrrqqrrqqrrrrrrqqrrqqrrrrrrrrqqqs{س|qqrrrrrrrrrrrqqrrrrrrrrrrrrrrqqrrrrqqrrrrrrrrqqrrrrrrrrrrrrrrrrrrrrrrrrqqrrrrrrrrrrrrrrrrrrrrrpoݿpqrrrrrqqrrrrrrrrrrqqrrrrrrrrrrqqrrrrrrrrqqqqrrqqrrrrrrrrqqqqrrrrrrrrrrrrqqrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrqqrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrqqrrrrrrrrrrqqrrqqrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrqqrrrrqqrrrrrrrrqqrrrpoݿqqrrrrrqqrrrrrrrrrrrrrrrrrrrrrrqqrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrqqrrrrrrrrrrrrqqrrqqrrqqrrrrrrrrrrrrqqrrrrrrrrrrrrrrrrrrrrrrqqrrrrrrssrrrrrrrrrrrrrrrrrrssrrrrrrrrrrrrrrrrrrrrssrrrrrrrrrrrrrrrrrrrrrrrrrrssrrrrssrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrssrrssrrrrrrrrrrrrssrrrrrrrrssrrrrrrrrrrssrrrrrrrrrrrrrrrrssrrrrrrrrrrrrrrsrq֧xrqrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrssrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrssrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrqpΏoprrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrqxŗ{tqrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrqpԵrqrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrxŗ{trrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrqqrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrqpԵrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrs¦srrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrqqrrrrrrrrrrrrrrrrrrrqo|ɪrqrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrruѰvظpqrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrqqҜݽqqrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrqqrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrqxݿprrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrqqrrrrrrrrqqrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrxէxrrrrrrrrrrrrrrrrrqqrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrqqrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrqqrrrrrrrrqqrrrrrrrrrrrrrrrrrrrrrrrrqzӺuqqrqqrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrqqqqrrrrrrqqrrrrrrrrrrrrrrrrrrrrrrrqp{̜~urrrrrqqrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrqqrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrqqrrrrrrrrrrrrrrqpoݿpqrrrrrrrrrrrrrrrrrrrrrqqrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrqqrrrrrrrrrrrrrrrrrrrrqqrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrqqrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrqqrrrrrrrrrrrqoݿqqrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrqqrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrqqrrrrrrrrrrrrrrrrrrrrrrrrqqrrrrrrrrrrrrrrrrrrssrrrrrrrrrrrrrrrrrrssrrrrrrrrssssrrrrrrrrssrrrrrrrrrrrrrrrrrrrrrrrrrrssrrrrssrrrrrrrrrrrrrrssrrrrrrrrrrrrrrrrrrrrrrrrrrrrssrrssrrrrrrrrrrrrssrrrrrrrrssrrrrrrrrrrssrrrrrrrrrrrrrrrrssrrrrrrrrrrrrrrsrq֧yqrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrssrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrssrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrssrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrqpΐpqrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrsxٳ~srrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrtyqqrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrsxٳ~srrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrqqrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrqsyqqrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrqq|Ƥ~vsqrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrqqrrrrrrrrrrrrrrrrrrqt~ٳ|qqrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrpoۻz˫qqrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrqr{Ԣϯpqrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrqqrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrqxݿqrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrqqrrrrrrrrqqrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrryէxrrrrrrrrrrrrrrrrrqqrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrqqrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrqqrrrrrrrrqqrrrrrrrrrrrrrrrrrrrrrrrrru{ٸ{tpqqrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrqqqqrrrrrrqqrrrrrrrrrrrrrrrrrrrrrqrvԵtrrrrrrqqrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrqqrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrqqrrrrrrrrrrrrrrqpoݿpqrrrrrrrrrrrrrrrrrrrrrqqrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrqqrrrrrrrrrrrrrrrrrrrrqqrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrqqrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrqqrrrrrrrrrrrqpݿqqrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrqqrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrqqrrrrrrrrrrrrrrrrrrrrrrrrqqrrrrrrrrrrrrrrrrssssrrssssssrrssrrrrssrrrrssssssrrssssrrssssrrrrrrrrrrssssrrrrssrrssssrrrrrrrrssssssssrrssssssrrssrrssrrssssrrrrssssrrrrssssssssrrrrssrrrrrrssrrssrrssssrrssssssrrrrrrrrssrrssssssrrssrrrrrrrrssrrssssrrq֨xqrsrrrrssssssssssssssrrrrrrrrrrrrrrrrrrssssssrrssrrssrrrrrrssssrrssssssrrrrssrrrrssssssrrrrrrrrssssrrssssrrrrrrssssrrssrrrrssssrrssrrssssssrrssrrrrrrrrssssrrrrssssssrrrrrrrrrrrrssrrrrrrssssssssrrssssrrrrssrrrrssrrssssrrssrrssrrrrrrrrssssssssrrssrrssrrrrrrssssrrssrrrrrrrrrrrrssssssssssssssrrrqpΐpqsrrrrssrrrrrrrrrrssrrrrrrssssrrrrssssrrssssssrrrrssrrssrrssrrrrssssssssrrrrssrrssrrrrrrrrrrrrssrrrrssrrssrrssssrrrrrrssrrrrssrrrrssssrrssrrsrr׺xtrssrrrrssssssrrrrssssrrrrrrrrssrrrrssrrrrrrrrrrrrrrssssrrrrssrrrrrrrrrrssssrrrrrrssrrrrrrrrrrrrrrrrssrrrrrrssssrrssrrrrrrssrrrrqz׫zrrsssrrrrssrrrrrrrrrrrrrrrrrrssssssssrrrrrrssssrrssrrrrssrrssrrrrssrrs׺xsrrrrrssssrrrrssssrrrrssrrrrrrssrrssssrrrrssrrrrrrssrrrrrrrrssrrrrrrrrsssrrrssrrrrrrssrrssssssssrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrsrqz׫zrrrrrrrrrrrrrrrssrrrrrrssssssrrrrrrssrrrrrrrrrrrrrrrrssrrrrrrrrrrrrrrrrssrrrvҺuqrrrrssrrrrssrrrrrrrrssrrssrrrrrrrrrrssrrssrrrrrrrrrrrrrrrrrrrrssrrrrssrrrrrrrrrrssrrrrrrrrrrrrrrrrrrssrrrrrrssrrrrrrrrssrrssrrrrssrrrrrrrrrrrrssrrrrrrrrssrrrrrrssrqo}О~uqrrrrrrrrrrssssrrrrrrrrrrrrssrrrrrrrrrrrrrrrrrrrrrrssrrrrrrrrrrrrrrrrssrrssrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrssrrrrrrrrrrrrrrrrrrssrrrrrrrrrrssrqpË}ݿqrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrssrrrrrrrrrrrrrrrrrrssrrrrssrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrssrrrrrrrrrrrrrrrrssrrrrrrrrrrrrrrrrrrrwեqqrrrrrrrrrrrrrrrrrrrrrssrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrqxݿqqrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrssrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrqxէxrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrssrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrssrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrtȭzopqrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrsڶ~rrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrpoݿqqrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrqoݿqqrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrqqrrrrrrrrrrrrrrrrrrrrrrrrrrrrqqrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrssssrrssssssrrssrrrrssrrrrssssssrrssssrrssssrrrrrrrrrrssssrrrrssrrssssrrrrrrrrssssssssrrssssssrrssrrssrrssssrrrrssssrrrrssssssssrrrrssrrrrrrssrrssrrssssrrssssssrrrrrrrrssrrssssssrrssrrrrrrrrssrrssssrrq֨yqrsrrrrssssssssssssssrrrrrrrrrrrrrrrrrrssssssrrssrrssrrrrrrssssrrssssssrrrrssrrrrssssssrrrrrrrrssssrrssssrrrrrrssssrrssrrrrssssrrssrrssssssrrssrrrrrrrrssssrrrrssssssrrrrrrrrrrrrssrrrrrrssssssssrrssssrrrrssrrrrssrrssssrrssrrssrrrrrrrrssssssssrrssrrssrrrrrrssssrrssrrrrrrrrrrrrssssssssssssssrrrqqΐpqsrrrrssrrrrrrrrrrssrrrrrrssssrrrrssssrrssssssrrrrssrrssrrssrrrrssssssssrrrrssrrssrrrrrrrrrrrrssrrrrssrrssrrssssrrrrrrssrrrrssrrrrssssrrssrrsrqժzrrsrrrrssssssrrrrssssrrrrrrrrssrrrrssrrrrrrrrrrrrrrssssrrrrssrrrrrrrrrrssssrrrrrrssrrrrrrrrrrrrrrrrssrrrrrrssssrrssrrrrrrssrrrsu͚|urrsssrrrrssrrrrssrrrrrrrrrrrrssssssssrrrrrrssssrrssrrrrssrrssrrrrssrrqժzrrrrrssssrrrrssssrrrrssrrrrrrssrrssssrrrrssrrrrrrssrrrrrrrrssrrrrrrrrssssrrssrrrrrrssrrssssssssrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrsv͛|urssrrrrrrrrrrrrssssrrrrssssssrrrrrrssrrrrrrrrrrrrrrrrssrrrrrrrrrrrrrrrrssrrrrsٸ~vrrrssrrrrssrrrrrrrrssrrssrrrrrrrrrrssrrssrrrrrrrrrrrrrrrrrrrrssrrrrssrrrrrrrrrrssssrrrrrrssrrrrrrrrssrrrrrrssrrrrrrrrssrrssrrrrssrrssrrrrrrrrssrrrrrrrrssrrrrrrrstysqrrrrrrrrrrrssssrrrrrrrrrrrrssrrrrrrrrrrssrrrrrrrrrrssrrssrrrrrrrrrrrrssrrssrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrssrrrrrrrrrrrrrrrrrrssrrrrrrrrrrssrqqɎٳ|rrrrrrrrrssrrrrrrrrrrrrssrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrssrrrrrrrrrrrrrrrrrrssrrrrssrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrssrrrrrrrrrrrrrrrrssrrrrrrrrrrrrrrrrrrrsx׬ٳ|rqrrrrrrrrrrrrrrrrrrrrrssrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrqxݿqqrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrssrrrrrrrrrrssrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrqx֧yrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrssrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrssrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrqq{˱zurrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrqsv~ʝvrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrqoݿqrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrqpݿqqrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrqqrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrssssssssssssssssrrrrrrssssssrrssssrrrrssssssssssrrssssssssrrssssrrssssssrrrrssssrrrrssssssssssrrssssssssssrrssssssrrrrssssrrssssssssssssrrssssssssrrssssssssssssssrrssrrssssrrssssssssssrrsssssssssssssssrq֨yrrsssrrssssssssrrssssssssssssrrssrrrrssrrrrrrrrssrrssrrssrrssssssssssrrssssrrssssssssssrrssssrrssssssrrssssrrssssrrssssssssssrrssssssssssssssssssssssrrssrrrrssssrrssssssssssssssssssssssssrrssrrssssssssssrrssssssrrssssrrssssrrrrssssssssssssssssrrrrssssssssssssrrssssrrssssssssrrrrssssssrrrrssrqqΐpqrssssssrrssssssrrssssssrrrrrrssrrrrssssssssrrssssssssssrrssssssrrssssssssssssrrrrrrrrssssssrrrrrrssssssrrrrrrrrssrrssssssssssssrrssssrrsssssrr{̮srsssssrrssssssssssssssssssssssrrssssrrssssssrrssssrrrrssrrssssssssssssrrrrrrrrrrssrrssrrssssssssssrrssssssrrssrrssssssrrrrrrrvݿtrsssssrrssssssrrrrssssrrssrrssssrrrrssrrssssssrrssssrrssssssssssssssrrr{̮trrrsssssssrrssrrssrrssrrssssssrrssssssrrrrssrrssssssrrrrssrrrrssrrrrssrrrrssssssrrssrrssssrrrrrrssssrrssssssssssssrrrrssssrqrvݿtrrssssrrssssssssrrrrrrssssrrssrrssrrrrrrrrssssssssssssssssssssrrssrrssssssrrrqrʲsrrssrrssssssssssssrrrrrrrrssrrssssssssssssssssssssrrssrrssssrrssssssssrrssssrrssrrrrrrssssssssssssssrrrrssrrssrrrrrrssrrssssssssssrrrrssssrrrrrrrrssrrrrsssssrrtxʪqqrrrssssssssssssssssssssrrssssrrssrrssrrssssssrrssrrrrssssssrrssrrssrrrrrrrrssssrrrrssrrrrssrrssrrssrrrrrrssrrssssssrrrrrrssrrssrrrrrrrrrrsssrq̑էxrrsssrrrrrrssrrssssrrssssrrssrrrrssrrssssrrssrrssrrssssrrrrrrssssssrrrrrrssssssssssssssrrssssssssrrssrrrrrrrrssssssssssssssrrrrrrrrssssssssrrssssssssrrrrssssrrrrrrrrs۸զxrrsssrrssrrssssssssssssrrrrrrrrrrssssrrssrrssssrrrrrrrrssrrssrrrrrrrrrrssrrssssssrrssssssssrrrrssrrrrrrrrssrrssssssssrrssrrrrssssssssrrrrssrrrrrrrrssssrrsrryݿqrrrrrrssrrssssrrrrrrrrrrrrrrssssssrrssssssssssrrssssrrrrrrssrrrrrrrrssrrrrssrrrrssssrrrrssssssssrrrrrrssrrrrssrrrrssrrssssrrrrssrrssrrrrrrrrssssrrrrrrrrrrssrrssrrssssrrrrssssssssssrrssssrrssssssrrrrssrrry֧yrrsrrrrssrrrrrrssrrssrrrrssrrrrssrrrrssssssrrssssrrrrrrrrrrrrssrrssrrssssssssssrrrrssrrrrrrssrrrrrrssrrrrrrssssrrssssrrrrrrssrrrrssrrssrrrrrrrrrrssssrrssssrrssssrrrrssrrssrrrrrrrrrrrrssrrssrrrrssssrrssssrrrrrrssrrrrrrsrrtzŮ|tqqrrrrrssrrrrrrrrrrssssssrrssrrrrrrrrrrrrrrrrssssrrrrrrssrrrrrrssrrrrrrrrrrrrrrssssrrssrrrrrrrrrrrrssrrrrrrrrrrrrssrrssssssssrrrrrrrrrrrrrrrrrrrqquвurrrsrrrrrrrrssrrrrrrrrssrrrrrrssrrssrrrrssssrrssssrrrrssrrssssssrrrrrrrrrrrrssssssssrrrrrrssrrrrrqoݿqrrrrssrrrrssrrrrrrssrrrrrrssrrssrrrrrrrrssrrrrssrrssrrrrrrrrssrrrrrrssrrrrssrrrrrrrrrrrrrrrrrrssrrrrrrrrrrrrrrssrrrrrrrrrrrrrrrrrrrrrrrrrrrrssrrrrrrrrssrrrrrrrrrrrrrrrrrrrrrrrrrrssrrssrrrrrrrrrrrrrrrrssrrrrssrrrrrrrrsqpݿqqrrrrrrrrrrrrrrrrrrrrrssrrrrrrrrrrrrssrrrrrrssrrrrrrrrrrrrrrssrrrrrrrrrrrrrrrrrrrrrrrrssssrrrrrrrrssssrrrrssrrrrrrrrrrrrrrrrssrrrrssssssssssssssssrrrrrrssssssrrssssrrrrssssssssssrrssssssssrrssssrrssssssrrrrssssrrrrssssssssssrrssssssssssrrssssssrrrrssssrrssssssssssssrrssssssssrrssssssssssssssrrssrrssssrrssssssssssrrsssssssssssssssrq֨yrrsssrrssssssssrrssssssssssssrrssrrrrssrrrrrrrrssrrssrrssrrssssssssssrrssssrrssssssssssrrssssrrssssssrrssssrrssssrrssssssssssrrssssssssssssssssssssssrrssrrrrssssrrssssssssssssssssssssssssrrssrrssssssssssrrssssssrrssssrrssssrrrrssssssssssssssssrrrrssssssssssssrrssssrrssssssssrrrrssssssrrrrssrrqΐoqrssssssrrssssssrrssssssrrrrrrssrrrrssssssssrrssssssssssrrssssssrrssssssssssssrrrrrrrrssssssrrrrrrssssssrrrrrrrrssrrssssssssssssrrssssrrsssssrrwʣysrsssrrssssssssssssssssssssssrrssssrrssssssrrssssrrrrssrrssssssssssssrrrrrrrrrrssrrssrrssssssssssrrssssssrrssrrssssssrrrrrrt˫pqsssssrrssssssrrrrssssrrssrrssssrrrrssrrssssssrrssssrrssssssssssssssrrrwʣyrrsssssssrrssrrssrrssrrssssssrrssssssrrrrssrrssssssrrrrssrrrrssrrrrssrrrrssssssrrssrrssssrrrrrrssssrrssssssssssssrrrrssssrrs˫prsssssrrssssssssrrrrrrssssrrssrrssrrrrrrrrssssssssssssssssssssrrssrrssssssrrrrryиysqqrrsssssssssssrrrrrrrrssrrssssssssssssssssssssrrssrrssssrrssssssssrrssssrrssrrrrrrssssssssssssssrrrrssrrssrrrrrrssrrssssssssssrrrrssssrrrrrrrrssrrrrsssrrtxس}qqrrrssssssssssssssssssssrrssssrrssrrssrrssssssrrssrrrrssssssrrssrrssrrrrrrrrssssrrrrssrrrrssrrssrrssrrrrrrssrrssssssrrrrrrssrrssrrrrrrrrrrsssrr}ЖМ}urrsssrrrrrrssrrssssrrssssrrssrrrrssrrssssrrssrrssrrssssrrrrrrssssssrrrrrrssssssssssssssrrssssssssrrssrrrrrrrrssssssssssssssrrrrrrrrssssssssrrssssssssrrrrssssrrrrrrrqpќ}urrsssrrssrrssssssssssssrrrrrrrrrrssssrrssrrssssrrrrrrrrssrrssrrrrrrrrrrssrrssssssrrssssssssrrrrssrrrrrrrrssrrssssssssrrssrrrrssssssssrrrrssrrrrrrrrssssrrsrryݿqrrrrrrssrrssssrrrrrrrrrrrrrrssssssrrssssssssssrrssssrrrrrrssrrrrrrrrssrrrrssrrrrssssrrrrssssssssrrrrrrssrrrrssrrrrssrrssssrrrrssrrssrrrrrrrrssssrrrrrrrrrrssrrssrrssssrrrrssssssssssrrssssrrssssssrrrrssrrry֧yrrsrrrrssrrrrrrssrrssrrrrssrrrrssrrrrssssssrrssssrrssrrrrrrrrssrrssrrssssssssssrrrrssrrrrrrssrrrrrrssrrrrrrssssrrssssrrrrrrssrrrrssrrssrrrrrrrrrrssssrrssssrrssssrrrrssrrssrrrrrrrrrrrrssrrssrrrrssssrrssssrrrrrrssrrrrrrssrqoΰ}vrrrrrssrrrrrrrrrrssssssrrssrrrrrrrrrrrrrrrrssssrrrrrrssrrrrrrssrrrrrrrrrrrrrrssssrrssrrrrrrrrrrrrssrrrrrrrrrrrrssrrssssssssrrrrrrrrrrrrrrrrrrqt|ط}qqrssrrrrrrrrssrrrrrrrrssrrrrrrssrrssrrrrssssrrssssrrrrssrrssssssrrrrrrrrrrrrssssssssrrrrrrssrrssrqoݿqrrrrssrrrrssrrrrrrssrrrrrrssrrssrrrrrrrrssrrrrssrrssrrrrrrrrssrrrrrrssrrrrssrrrrrrssrrrrrrssrrssrrrrrrrrrrrrrrssrrrrrrrrrrrrrrssrrrrrrrrrrrrssrrrrrrrrssrrrrrrrrrrrrrrrrrrrrrrrrrrssrrssrrrrrrrrrrrrrrrrssrrrrssrrrrrrrrsqpݿqqrrrrrrrrrssrrrrrrrrrrssrrrrrrrrrrrrssrrrrrrssrrrrrrrrrrrrrrssrrrrrrrrrrrrrrrrrrrrrrssssssrrrrrrrrssssrrrrssrrrrrrrrrrssrrrrssrrrrssssssssssssssssssssssssssrrssssssssssssssssrrssssssrrssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssrrssssrrssssssssssssssssssssssssssssrqq֨yrrsssssssssrrssssssssssssssssssssssssssssssssssssssrrssssssssssssssssssssssssssrrssssssrrssssssssssssssssssssssssssssssssssssssssssssssssssrrssssssssssssssssssrrssssssrrssssssssssssssssssssssssssssssrrssssssssssssssssssssssssssssssssssrrssssssssssssssssssssssrrssssssssssssssssssssssssrrsssssqqΐpqsssssssssssssrrssssssssssssssssrrssssssssssssrrssssssssssssssssssrrssssssssssssssssssssssssssssssssssssssssssrrrrssssssssssssssssssssssssssssssvɬtrsssssssrrssssssssssssrrssssssssssssrrssssssssssssssssssssssssssssssssssssssssssssssssssssssrrssssssssssssrrssssssssssssrtyٳ|qrsssssssssssssssssssssssssssssssssssssssssssssssssssssrrrrsssssssssssrssvʬsrrssssssrrssrrssrrssssssrrssssssssssssssssrrssssssssssssssssssrrssssssssssssssrrssssssssssssssrrssssssssssssssssssssssssrtxٳ|qrsssssssssssrrssssssssssssssssssssssssssrrrrssssssssssrrssssssrrssssssssssssssrtxнxpqrrrssssssssssssssssrrssssssrrssssssrrssssssssssssssrrssssssrrssssssssssssssssrrssssssssssssssssrrssssssssssssssrrrrssssrrssssssssssssssssssssrrsssssssrqw˝vrrsssssssssssssssrrssssrrssssssrrssssssssssssssssrrssssssssssrrssssssssssrrssssssssssssssssssssrrssssssrrssssssssssrrssssssssssssrrsssssssssssrryҠȑtrrssssrrssssssssrrssssrrrrssrrrrssrrrrssssssssssssssssssssssssssssrrssssssrrssrrssssssssssssssrrssssssssssssssssrrssssssssssssssrrrrssssssrrssssssssssssrrssrrsssssssrqƾ̓trsssssssssssrrrrssssssssrrssrrssssrrssssssrrssrrrrssrrssssrrrrssrrssssssrrrrssssrrssssrrrrssrrssssrrssssssrrssrrrrssssssssssssssssssrrssssssssssssrrrrssrrsrryݿrrsssrrrrssssssssssssssssssssssssssrrssssrrssssssssssssssssssssssssrrrrssssrrssssssssssrrssssssssssrrssssrrssssssrrssssssssssssssssrrssssssssssssssssssssssrrssrrssssssssrrrrrrssrrssrrrrrrsssssssssssssssrqy֨xrrsssssssssrrssrrrrrrssssssssssssssrrrrrrssssssssrrssssrrssrrrrssrrssrrssssssssrrssssrrrrssssssrrrrssrrssrrssssssssssssssssssssssrrssrrssssssssssssssssssrrrrssssssrrssrrssssrrssssrrssssrrrrrrrrssssssrrssssssssssssrrssrrsrqyȱsrrrsrrrrssrrrrssssssssssssrrssrrssssssrrssssrrrrssssrrrrssssrrssssssrrrrrrssssssrrssssrrssssssssssrrrrrrssssrrrrssrrssssrrrrsssssssssssssrrqp{Ȝvrrsssssrrssssssssssssssssrrssssrrssssssrrrrssssrrssssrrssssrrssssssssssssrrrrssssrrssssrrssssssrrsqoݿqrsssssrrssrrrrssrrssssssssssssssrrrrrrrrrrssssssssssssssssssrrrrssssssssssssrrrrrrrrrrrrrrssssssssrrssrrssssrrrrssrrssssrrrrssssssssssrrrrssssssssrrssssssrrssssrrrrssssssssrrssssssrrssssssssssrrrrssssrrssrrssssssrrrrsqpݿqqrrrrrrrrrrrrrssssssssrrrrrrssssssssrrrrrrssssrrrrssrrssssssssssssrrrrrrrrssssrrrrrrssrrssrrrrssssssssssrrssssssssssssrrrrssssssrrssssssssssssssssssssssssssrrssssssssssssssssrrssssssrrssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssrrssssrrssssssssssssssssssssssssssssrqq֨yrrsssssssssrrssssssssssssssssssssssssssssssssssssssrrssssssssssssssssssssssssssrrssssssrrssssssssssssssssssssssssssssssssssssssssssssssssssrrssssssssssssssssssrrssssssrrssssssssssssssssssssssssssssssrrssssssssssssssssssssssssssssssssssrrssssssssssssssssssssssrrssssssssssssssssssssssssrrsssssqqΐpqsssssssssssssrrssssssssssssssssrrssssssssssssrrssssssssssssssssssrrssssssssssssssssssssssssssssssssssssssssssrrrrsssssssssssssssssssssssssssssrqʣyrrsssssrrssssssssssssrrssssssssssssrrssssssssssssssssssssssssssssssssssssssssssssssssssssssrrssssssssssssrrsssssssssssrr{ϟwrssssssssssssssssssssssssssssssssssssssssssssssssssssssrrrrsssssssssssssrqʣyrrsssssrrssrrssrrssssssrrssssssssssssssssrrssssssssssssssssssrrssssssssssssssrrssssssssssssssrrsssssssssssssssssssssssrr{ϟvrrsssssssssssrrssssssssssssssssssssssssssrrrrssssssssssrrssssssrrsssssssssssssssrq|vsrrsssssssssssssssrrssssssrrssssssrrssssssssssssssrrssssssrrssssssssssssssssrrssssssssssssssssrrssssssssssssssrrrrssssrrssssssssssssssssssssrrssssrrrw׸trsssssssssssssssssrrssssrrssssssrrssssssssssssssssrrssssssssssrrssssssssssrrssssssssssssssssssssrrssssssrrssssssssssrrssssssssssssrrsssssssssssssu}ذݽpqrssssrrssssssssrrssssrrrrssrrrrssrrrrssssssssssssssssssssssssssssrrssssssrrssrrssssssssssssssrrssssssssssssssssrrssssssssssssssrrrrssssssrrssssssssssssrrssrrsssssssrqpqsssssssssssrrrrssssssssrrssrrssssrrssssssrrssrrrrssrrssssrrrrssrrssssssrrrrssssrrssssrrrrssrrssssrrssssssrrssrrrrssssssssssssssssssrrssssssssssssrrrrssrrsrryݿrrsssrrrrssssssssssssssssssssssssssrrssssrrssssssssssssssssssssssssrrrrssssrrssssssssssrrssssssssssrrssssrrssssssrrssssssssssssssssrrssssssssssssssssssssssrrssrrssssssssrrrrrrssrrssrrrrrrsssssssssssssssrqx֨xrrsssssssssrrssrrrrrrssssssssssssssrrrrrrssssssssrrssssrrssrrrrssrrssrrssssssssrrssssrrrrssssssrrrrssrrssrrssssssssssssssssssssssrrssrrssssssssssssssssssrrrrssssssrrssrrssssrrssssrrssssrrrrrrrrssssssrrssssssssssssrrssrrssstxϸytrrrrrssrrrrssssssssssssrrssrrssssssrrssssrrrrssssrrrrssssrrssssssrrrrrrssssssrrssssrrssssssssssrrrrrrssssrrrrssrrssssrrrrsssssssssssrrsw|ίtrrssssssrrssssssssssssssssrrssssrrssssssrrrrssssrrssssrrssssrrssssssssssssrrrrssssrrssssrrssssssrrsqpݿqrsssssrrssrrrrssrrssssssssssssssrrrrrrrrrrssssssssssssssssssrrrrssssssssssssrrrrrrrrrrrrrrssssssssrrssrrssssrrrrssrrssssrrrrssssssssssrrrrssssssssrrssssssrrssssrrrrssssssssrrssssssrrssssssssssrrrrssssrrssrrssssssrrrrsqpݿqqrrrrrrrrrrrrrssssssssrrrrrrssssssssrrrrrrssssrrrrssrrssssssssssssrrrrrrrrssssrrrrrrssrrssrrrrssssssssssrrssssssssssssrrrrssssssrrsssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssrq֨yrrssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssqqΐprssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssrryʬtrssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssrtݿvsssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssrryʬtrsssssssrrsssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssstݿvssssssssssssssssssssrrssssssssssssssrrssssssssssssrrssssssssssssssssssssrrsssssssrrzvqrsrrssssssssssssssssssssssssssssssssssssssssssrrssssssssssssssssssssssssssssssssssrrssssssssssssssssssrrssssssrrssssssssssssssssssssssssssssssssrrtݿrrsssssssssssssssssssssssssrrssssssssssssssssssssssssssssssssssssssrrsssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssrtѱqrsssssssssssssssssssssssssrrssrrssssssrrssssssssssssrrssssssssssssssssssssssssssrrssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssrrr}ҳqqrssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssrrssssssssssssrrrrssssssssssssssssrrssssssssssssrrssssssssssssrrsssssssssssssssssssssrryݿrrsssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssrrssrrssssssssssssssrrssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssrrsssssssssssssssssssssssssssssssssssssssssssssssrrx֨xrrsssssrrrrrrssssssrrssssssssssrrrrssssssssssssssssssssssssrrssrrrrrrssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssrrssrrssssssssssssssssssssssssrrssssssssssssssrrssssssrrssssssssssssssssssssssssrrsssssssssssrtнxpqrssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssrrssssssssrrsssssssssssssssssssssssssssssssssssssssssssssrqvذ|rrrssssssrrrrrrssssssssssssssssssssssrrssssssssrrsssssssssssssssssssssssssssssssssssssssssssssssssssqpݿrrsssrrssssssrrssssssssssssssssrrssssssssssssssssssssssssssssssrrssssssssssssssrrssssssrrssssssssssssssssssssssssrrrrssrrssssssssssssssssssssssssrrssrrssssssssssrrssssrrrrssssssssrrrrssssssssssssssssssrrssssrrssssssssrqpݿqrsssssssrrssssrrssssssssssssssssssssssssssssssrrssssssssssssrrssssssssssssssssssssssssrrssssssssrrssssssssssrrssssssssrrsssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssrq֨yrrssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssqqΐqrsssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssstxʣyrrssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssy˫qrsssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssstxʣyrrsssssrrsssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssz˫qrsssssssssssssssssssrrssssssssssssssrrssssssssssssrrssssssssssssssssssssrrssssssssstx˳xtrqrsssssssssssssssssssssssssssssssssssssssssrrssssssssssssssssssssssssssssssssssrrssssssssssssssssssrrssssssrrssssssssssssssssssssssssssssrrru{Ѩzrrsssssssssssssssssssssssssrrssssssssssssssssssssssssssssssssssssssrrsssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssrpãrrsssssssssssssssssssssssssrrssrrsssssssrssssssssssssrrssssssssssssssssssssssssssrrssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssrrryťqqrssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssrrssssssssssssrrrrssssssssssssssssrrssssssssssssrrssssssssssssrrsssssssssssssssssssssrryݿrrsssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssrrssrrssssssssssssssrrssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssrrsssssssssssssssssssssssssssssssssssssssssssssssrry֨yrrsssssrrrrrrssssssrrssssssssssrrrrssssssssssssssssssssssssrrssrrrrrrssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssrrssrrssssssssssssssssssssssssrrssssssssssssssrrssssssrrssssssssssssssssssssssssrrsssssssssssrry}wsrrrrsssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssrrssssssssrrssssssssssssssssssssssssssssssssssssssssssrrrvƗ|urrrssssssrrrrrrssssssssssssssssssssssrrssssssssrrsssssssssssssssssssssssssssssssssssssssssssssssssssqpݿrrsssrrssssssrrssssssssssssssssrrssssssssssssssssssssssssssssssrrssssssssssssssrrssssssrrssssssssssssssssssssssssrrrrssrrssssssssssssssssssssssssrrssrrssssssssssrrssssrrrrssssssssrrrrssssssssssssssssssrrssssrrssssssssrqpݿrrsssssssrrssssrrssssssssssssssssssssssssssssssrrssssssssssssrrssssssssssssssssssssssssrrssssssssrrssssssssssrrssssssssrrssssssssssssttssssssssssttssssttssttssssssssssttssssttssssttssssssssssssttssssssssssttssssttssssssssssssssttssssssssssssssttssssssttssssssssssttssttttssssssssssssssttssssssssssssssttsssssssssssssssssssssssssssssrq֨yrrsttssssssssssssssssssssttssssssssssssttssssssssssssssssssssssttttssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssttssssssssssssssssssssssssttssssttssssssssssttssssssssssssssssssssssssssssssssssssttssssssssssssssssssssssssssssssssttssssssttsssssrqΐprsssssssssssssssssssttssssssssssssssssssssssssssssssssssssssttssssssssssssttssssssttssssssssssssssssssssssssssssssttssssssttsssssssssssssssssstttstʬtrsstssssssssttssssssssssssssssssssssttssssssssssssssttssssttssssssssssssssssssssssssttssssssssssssssssttsssssssssstٳ}rstssssssttssssssssssssssssssssssssssssssssssttsssssssssssssssssssssssssssssrsʬtrrssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssttssssssssssssssssssssssssssssssssttsssssssssstٳ}rrssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssst̶ysqrsssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssrqpzytsssssssssssssssssssssssssssssssssssssssssssssssssssssttssssssssssssssssssssssssssssssssssssssssssssssssssssssssttsssssssssssssssssssssssssssssssssrqڵ}rrssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssu{۹~rrssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssrryݿrrssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssrry֨yrrsssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssrrssssssssssssssssssssssssssssssssssssssssssssssstyůvqrrrssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssrrqsǨusssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssrpݿqrsssssssssssssssssssssssssssrrssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssrrsssssssssssssssssssssssssssssssqpݿqrsssssssssssssssssssssssssssssssssssrrssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssrrssssssssssttssssssssssttssssttssttssssssssssttssssttssssttssssssssssssttssssttssssttssssttssssssssssssssttssssssssssssssttssssssttssssssssssttssttttssssssssssssssttssssssssssssssttsssssssssssssssssssssssssssssrq֨yrssttssssssssssssssssssssttssssssssssssttssssssssssssssssssssssttttssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssttssssssssssssssssssssssssttssssttssssssssssttssssssssttssssssssssssssssssssssssssttssssssssssssttssssssssssssssssssttssssssttsssssrqΐprsssssssssssssssssssttssssssssssssssssssssssssssssssssssssssttssssssssssssttssssssttssssssssssssssssssssssssssssssttssssssttsssssssssssssssssstttsr˦}utsssssssssttssssssssssssssssssssssttssssssssssssssttssssttssssssssssssssssssssssssttssssssssssssssssttsssssssrsz͟wsstssssssttssssssssssssssssssssssssssssssssssttsssssssssssssssssssssssssssssrq~˦}ussssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssttssssssssssssssssssssssssssssssssttsssssssssz͟wrssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssttsssssssssssrr|Կzvsrrssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssrqtzʪqrsssssssssssssssssssssttssssssssssssssssssssssssssssssttssssssssssssssssssssssssssssssssssssssssssssssssssssssssttsssssssssssssssssssssssssssssssssrrէyrrssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssrtح{rrsssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssryݿrrsssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssry֨yrrsssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssrrsssssssssssssssssssssssssssssssssssssssssssssssrqе|wsrrrssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssrrrv}Ҭ{qrssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssrpݿqrsssssssssssssssssssssssssssrrssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssrrsssssssssssssssssssssssssssssssqpݿqrsssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssrrssssssssssssssssssssssssssssssssssttssttssssttttttttssttssttttssttttssssssssssssssssttssttttttssttssttssttssssttssssttttttssssttssssssssttssssttttttssttttssssssttssssttssttssssttssttssssssssssssssttttttttsssssrr֨yrssttssssttttssttssttttssttssssttttssssttttttssssssssttttssssssssssssssssssttssssssttssttssssttssssssttssttttttssttttssssssssssssssssttttttssssttssssssssssssttttssttssssttttttssssssssttssssssssssssssttttssssssssssttssttttssttssssssttssssssssssttssttttssssssssssttttssssssssttssssttttttttttsstrrΐprtttttssssssttttssttssttssssttssssttttssttssttssssttssssttssttttssssssssssssssssssttssttssssttssssttssttssttssssssttttttssssssttssttttttttttssssssrwӸ}urssttssssttssssttttttssttssssssttttssssttttttssttttssssttttttssssttttttssttttssttttssssttssssssssssssttsssssrtٻwssttttssssssssssssttssssssssssssssssssssttssssttssssssssssssssssttssssssssttssrvӸ}urstttssssssssttssssssssssssssttssssttttssssttttttssssttssssssssttssttssttttssttssttttttttssssssttsssssssstssrtٻvssstssttssssssssssssssttssttssssssttttssttttttttssttssssssssssssttssssttssssttttsssssssuzɵ}uqrsssssttssssssssttssssssttssttssssssssssssssssssttssssssttttssttssttttssssssssssssssssttssssttssssttttssssssttssttsssssssssssstsrqpyد{rssssttssssssttttttttssssssssssssssssssssssssssssssssttttttssttssttssssssssssssssssssssttssssssssssssssssssssssttttssssttssssssssssssssssttssttttttsrrқ{usssssssssttssttssssssssssssttssssssssssssttssttssttttssssssssssssssssssssttssttssssssssssssttttssssssssssssssssssssssssttttssssttssssssttssssssssssssssssttssssttsssssssrrԢxsssssttssttssssssttttttssssssssssssssssssssttssttssttssssttttsssssssssssssssssssstttsssssssssssssssttssssssssssssssssssttssssssssttssssssssttsssssssssssstttssyrrsssssttssssssssssssssttssttssssssssssssssssssssssssssssssttssssssttssssssttssssssssssttssssssssssssssssssssssssssssssssssssssssssssttssssssssssssssssssttssssssssssssssssssssttssssssttssssssssssssssttsssy֨yrrsssssssssssssssttttttssssssttssttssssttssssssttssssssssttssssssssssssssttssttttssssssssssssttttssssssssssttssssttssssssstttssssttssssssssssttssssssssssssssssssssssssssssssssssssssssssssssttssssssssssssttssssssssssttttssssssrwϿvqqrssssssssssssssssttssssssttssssssssssssssssssssssssssssssssssssssssssssssttssssssssssssssssssssssssssssssssssttssssrrtټzusssssssssssssttssssssssttssssssssssssssssssssssssttsssssssssssssssssssssssssssssssssssssssssssssssssssrpݿqrsssssssssssssssssssttssssttsstttsssssssssssssssssssssssssttssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssttssssssssssssssttssssssssssttssssssssssttsssssssssssssssssssssssssssssssssssssssssssssssqpݿrrsssssttssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssttssttssssttttttttssttssttttssttttssssssssssssssssttssttttttssttssttssttssssttssssttttttssssttssssssssttssssttttttssttttssssssttssssttssttssssttssttssssssssssssssttttttttsssssrr֨yrssttssssttttssttssttttssttssssttttssssttttttssssssssttttssssssssssssssssssttssssssttssttssssttssssssttssttttttssttttssssssssssssssssttttttssssttssssssssssssttttssttssssttttttssssssssttssssssssssssssttttssssssssssttssttttssttssssssttssssssssssttssttttssssssssssttttssssssssttssssttttttttttsstrrΐqrtttttssssssttttssttssttssssttssssttttssttssttssssttssssttssttttssssssssssssssssssttssttssssttssssttssttssttssssssttttttssssssttssttttttttttsssssssst׳xtrstssssttssssttttttssttssssssttttssssttttttssttttssssttttttssssttttttssttttssttttssssttssssssssssssttsssst{Ĥrrsttttssssssssssssttssssssssssssssssssssttssssttssssssssssssssssttssssssssttsssstײxtsttssssssssttssssssssssssssttssssttttssssttttttssssttssssssssttssttssttttssttssttttttttssssssttssssssssstt{Ĥrrsttssttssssssssssssssttssttssssssttttssttttttttssttssssssssssssttssssttssssttttsssssstrq~ytrrsssssssssssttssssssttssttssssssssssssssssssttssssssttttssttssttttssssssssssssssssttssssttssssttttssssssttssttsssssssssssrrtzȚ}vsssssttssssssttttttttssssssssssssssssssssssssssssssssttttttssttssttssssssssssssssssssssttssssssssssssssssssssssttttssssttssssssssssssssssttssttttttsrs{˓tssssssssssttssttssssssssssssttssssssssssssttssttssttttssssssssssssssssssssttssttssssssssssssttttssssssssssssssssssssssssttttssssttssssssttssssssssssssssssttssssttsssssssrq͘yusssssttssttssssssttttttssssssssssssssssssssttssttssttssssttttssssssssssssssssssssttttssssssttssssssttssssssssssssssssssttssssssssttssssssssttsssssssssssstttssyrrsssssttssssssssssssssttssttssssssssssssssssssssssssssssssttssssssttssssssttssssssssssttssssssssssssssssssssssssssssssssssssssssssssttssssssssssssssssssttssssssssssssssssssssttssssssttssssssssssssssttsssy֨yrssssssssssssssssttttttssssssttssttssssttssssssttssssssssttssssssssssssssttssttttssssssssssssttttssssssttssttssssttssttssttttssssttssssssssssttssssssssssssssttssssssssssssssssssssssssssssssttssssssssssssttssssssssssttttssssssssu˳ztqrrssssssssssssttssssssttssssssssssssssssssssssssssssssssssssssssssssssttssssssssssssssssssssssssssssssssssssrrsw}qrsssssssssssssttssssssssttssssssssssssssssssssssssttsssssssssssssssssssssssssssssssssssssssssssssssssssrpݿrrsssssssssssssssssssttssssttssttttssssssssssssssssssssssssttssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssttssssttssssssssssssssttssssttssssttssssssssssttsssssssssssssssssssssssssssssssssssssssssssssssqpݿrrsssssttssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssttssssttssttssttttttssssssssttttssttttttssttttssssttssssttssttttttttssttssssttttttssttttttssttttttssttssttttssssttttttttttssttttssttttttssttttttssttttttttttssttttssssttssssttttssssssttttttttsstttttttttsr֨zsstttssttssttttssttttssttttssttssssssttssttssssttttssssttttttssttssssttttssssttssssttttssttttttssttssttttttssssssttttssttssttssttssttttssttttssssttssttttttttttssssttssssttttttssttttttssssttttssttttttttttssttttttttttttttssttttttttttttttttttttttttssssssttssttttttssssttssttttssttssttttssssttttsrrΐqrtssttttttssssssttttttttttttttssttttttttttssttssssttssssttssttttttssttttttttssttssssttttssttttssttssttssttttttssttssttttttttssttttssssssttttttsstttss׿xrrsssttssssssttttssttttttttttssttssssssttssssssssssttttssssttttttssssssttssttttttssssttssssssssssssttsssuy֩yrrsssttttttssttssttssssssttttttttttssttttssttssttssssttttttssttssttssssssttttsstsr׿xrstssttssssttttssssttssssssttssttssssttssttssssttssssttttssttssssssssttttttttttssttssssssttssttttttsssssuy֩zrssttssssttttttssssssssssssttssssttttssttssttttssttttssssttssssttssttttttssssttttttsssstsrzͿwpqrssttssssttssttssssttssssttttttssssssssssssttssssttttssttssttttssttttssssttssssttssttttttssssttttttssssttssttssssssttssrrqy̭ussttttttttssssssttssttssttttssttssttttssssssttssttssttssssssssttttssssttssssttttssssttttssttssssssssttttttssssttssttssssttssssttttttssttssssssssssssssswrrsssssttttttssttssssssttssssssssssssssssssssssttssssssssttttttttssttttttssttssssssttttssssttttssttttttssssssssttssttssssssttssttssssttssttssssttssttttttssttttttsssssssstrrÏtssssttssssttssttssttttssssssssssttttssssttssssttssssttssssssssttttssttttttttssssssssttssssssssssssttssttssssttssssssttssssssssssssssttttssssssssttttssssttttsssyݿrssttttttssssssttssttssssssssttssttttssssssssssssttssttssttssssssttttssttssttttttssssssssttttssssssssttssssssttssttttssssssssttssssssssssttttttttssttttssttssttssssssssssttttssssttssttssssssttssssssssttsssy֨ysstssssttttssttssssssssssssttttssssttttssttssssssssssssttttssssssssssssssttssttttssttttssssssssssttssttssssssttssssssssttttssttttttssssssssttttssttssssssttssssttssttssssttttssttssttssttttssssssttssssssttssssssssssttttssssttttsss{οypqrrsttssttssttssttssssssttttttssssssttssttssssssssssssttssttttttttssttssssttssssttttssssttssssttssttttssssssrsuɠwrrsssttssssssssttssssssssssttssssttssssssttssttssssssssssssssttttttssssssssttssssssssssttssssttttsssssssrqrrsssssssttssttssssssttttssssssssttssssssssssttttttssssttssssssssttssssssssssttssssssssssttttssttttttttssssttttssssssttttssssttssssssssssssttssssssssttttttssssssssssssssssssssssttttssttssttssttttttssssttssttssssttsssssqpݿrrsssssssssssssssssssssttssssssssssssssssssttttssttssssttssssssssssssssssssttssssttssssssssssttttssssssttssssssssssssssttttssssssssttssssttssttssttttttssssssssttttssttttttssttttssssttssssttssttttttttssttssssttttttssttttttssttttttssttssttttssssttttttttttssttttssttttttssttttttssttttttttttssttttssssttssssttttssssssttttttttsstttttttttsr֨zsstttssttssttttssttttssttttssttssssssttssttssssttttssssttttttssttssssttttssssttssssttttssttttttssttssttttttssssssttttssttssttssttssttttssttttssssttssttttttttttssssttssssttttttssttttttssssttttssttttttttttssttttttttttttttssttttttttttttttttttttttttssssssttssttttttssssttssttttssttssttttssssttttsrqΐqrtssttttttssssssttttttttttttttssttttttttttssttssssttssssttssttttttssttttttttssttssssttttssttttssttssttssttttttssttssttttttttssttttssssssttttttsstttsszڼ~urssttssssssttttssttttttttttssttssssssttssssssssssttttssssttttttssssssttssttttttssssttsssssssssssstsrtwƕytsssssttttttssttssttssssssttttttttttssttttssttssttssssttttttssttssttssssssttttsstsrzڼ~vrssttssssttttssssttssssssttssttssssttssttssssttssssttttssttssssssssttttttttttssttssssssttssttttttssstwƕyusssttssssttttttssssssssssssttssssttttssttssttttssttttssssttssssttssttttttssssttttttssssttsuz͸~xusrssssttssttssssttssssttttttssssssssssssttssssttttssttssttttssttttssssttssssttssttttttssssttttttssssttssttssssssrsux~ֲ}rssttttttttssssssttssttssttttssttssttttssssssttssttssttssssssssttttssssttssssttttssssttttssttssssssssttttttssssttssttssssttssssttttttssttsssssssssssssssuyֶqrsssssttttttssttssssssttssssssssssssssssssssssttssssssssttttttttssttttttssttssssssttttssssttttssttttttssssssssttssttssssssttssttssssttssttssssttssttttttssttttttsssssssstsr~׷qrsssttssssttssttssttttssssssssssttttssssttssssttssssttssssssssttttssttttttttssssssssttssssssssssssttssttssssttssssssttssssssssssssssttttssssssssttttssssttttsssyݿrssttttttssssssttssttssssssssttssttttssssssssssssttssttssttssssssttttssttssttttttssssssssttttssssssssttssssssttssttttssssssssttssssssssssttttttttssttttssttssttssssssssssttttssssttssttssssssttssssssssttsssy֨ysstssssttttssttssssssssssssttttssssttttssttssssssssssssttttssssssssssssssttssttttssttttssssssssssttssttssssssttssssssssttttssttttttssssssssttttssttssssssttssssttssttssssttttssttssttssttttssssssttssssssttssssssssssttttssssttttssstyμ|vsrrssstssttssttssssssttttttssssssttssttssssssssssssttssttttttttssttssssttssssttttssssttssssttsstttsssrsux~ΰussssssttssssssssttssssssssssttssssttssssssttssttssssssssssssssttttttssssssssttssssssssssttssssttttsssssssrprrsssssssttssttssssssttttssssssssttssssssssssttttttssssttssssssssttssssssssssttssssssssssttttssttttttttssssttttssssssttttssssttssssssssssssttssssssssttttttssssssssssssssssssssssttttssttssttssttttttssssttssttssssttsssssrpݿrrsssssssssssssssssssssttssssssssssssssssssttttssttssssttssssssssssssssssssttssssttssssssssssttttssssssttssssssssssssssttttssssssssttttttttttttttttttttttttttttttttttttssttttttttttttttttttttssttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttssttssttttttttttttttttttttttttttttssssttttttttttttsstttttsr֨zsstttttttttttttttttttttssssttttttssttttttttttttttttttttssttttttttttttssttttttssssttttttttttttttttttttssttttttttttttttttssttssttttttttttttttssttttttttssttttttttssttttttttttttttssttttttttttttssttttttttttttttttttttssttssttttttttttttttttttttttttttttttssttttttttttttttttttttttttttttttttttttttttttsrqΑqrtttttttttttssttssttttttttttttttttttttttttttttttttttssttttttttttttttttttttttssttttttttttttttttttttssttssttttssttttttttttttttttttttttttttssttssttsstttuy̳}qrsssssttssttssttttttssssttttttttttttssttttttttttttttttttssttttttttttttssttssttttttttttttttttttsstsrwˬtssttttttttttttttttttttttssttttttttssttssttttttttttssttttttttssssttttttssssssssttttsuy̳}prsttttttssttssttttttttttttssttttttttssttttttttttttttttssttssttttttttttttttsstttttttttttttttttttttsrvˬtstttssttssttssttttttttttssssssttttttttssttssttttssttttttttttttttttttttssttssttssttssssttttttuȺytrrsstttttttttttssttssttssttttttttttssssssttttttttssttssttttssttttttttttttttttttttssttssttssttsssstttttttttttssrrtzƗ|usstttssssttttttttttssssssssttttssttssssttttssssttttttttttssttttttssssttssttttssttttttssttssttttttssssttttttttssssssttttttttttssttttttttssttttttsstttttttstǧrstssssttttttttttttssttttttssssttssttttttttttssttttssttttttttttttttttttttttttttttttttttttssttttttttttttttttttttssttttttttttttttttssttttttssttttttttttssttttttssssttsstttttssz˫rrtssttssttttttttttttttssttttttttssssttssttttssttssttttttttttttttttssttttttttssttttssttttttttssttssttssttssssssssttttttttttssttssssttttttssssttttttttssttttttsssyݿrstttttttssssssssttttssttttttttttssttttttttttssttssssttttttssttttttssssttssssttttttssttttttssssssttttssssttttttssttssttssttttssttssttttssttttttttssssttssttssttttttttttttttttssttttttttssssttttttssssttsssssz֨ysstttttssttttttttttssttssttttssttttssssssttttssssttssssttttttttttttssssssttttttssttttttttssttssttssssssssttssttssttssttttssssttttttssttssttssttssssssssttttssttttttttttttssttttssttssssttssssttssttssttssttttssttttttttttttttttttttttuɸ~trrrsssssttttttttttssssssttttssttssssssttttssssttttttttttttssttssssssttttttssttttttssttssssssttttsssrqtyְ}sstttttssssssssttttssttssssssssttssssttttssttssssssssttssttssttssttttttttttssssssttssttttssttssssttttttsssqprrtssssssssttttssssttssttssssttttssssttssssttssssssssssttttssttssttttssttttttttssssssssttssttssttttttssssssssttttttttttssttttssssssssssssssttttssssttssttssssssssttssssssttttttssttssttssssssttttttttssssssssttsssstttttttrqrrtssttssttssttssttttssssttssssssttttssttssttttttssssttssssttssttttttssttssssssttssssssssttssttssttttssssttttttttssssssttssssssssttttttttttttttttttttttttttttttttttttttssttttttttttttttttttttssttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttssttssttttttttttttttttttttttttttttssssttttttttttttsstttttsr֨zsstttttttttttttttttttttssstttttttssttttttttttttttttttttssttttttttttttssttttttssssttttttttttttttttttttttttttttttttttttttssttssttttttttttttttssttttttttssttttttttssttttttttttttttssttttttttttttttttttttttttttttttttttssttssttttttttttttttttttttttttttttttssttttttttttttttttttttttttttttttttttttttttttsrrΑqrtttttttttttssttssttttttttttttttttttttttttttttttttttssttttttttttttttttttttttssttttttttttttttttttttssttssttttssttttttttttttttttttttttttttssttssttsstttrrз{vssssttssttssttttttssssttttttttttttssttttttttttttttttttssttttttttttttssttssttttttttttttttttttssru}ش~rssttttttttttttttttttttttttttttttttssttssttttttttttssttttttttssssttttttsssssssstttttrqз|vtsttttssttssttttttttttttssttttttttssttttttttttttttttssttssttttttttttttttsstttttttttttttttttttsru}ش~rstttssttssttssttttttttttssssssttttttttssttssttttssttttttttttttttttttttssttssttssttsssstttttssyȶ{vsssssttttttssttssttssttttttttttssssssttttttttssttssttttssttttttttttttttttttttssttssttssttssssttttttsssrruzίqrtttttssssttttttttttssssssssttttssttssssttttssssttttttttttssttttttssssttssttttssttttttssttssttttttssssttttttttssssssttttttttttssttttttttssttttttsstttttttrq۸~rstssssttttttttttttssttttttssssttssttttttttttssttttssttttttttttttttttttttttttttttttttttttssttttttttttttttttttttssttttttttttttttttssttttttssttttttttttssttttttssssttsstttttttv~ݿrstssttssttttttttttttttssttttttttssssttssttttssttssttttttttttttttttssttttttttssttttssttttttttssttssttssttssssssssttttttttttssttssssttttttssssttttttttssttttttssszݿrstttttttssssssssttttssttttttttttssttttttttttssttssssttttttssttttttssssttssssttttttssttttttssssssttttssssttttttssttssttssttttssttssttttssttttttttssssttssttssttttttttttttttttssttttttttssssttttttssssttsssssz֨ysstttttssttttttttttssttssttttssttttssssssttttssssttssssttttttttttttssssssttttttssttttttttssttssttssssssssttssttssttssttttssssttttttssttssttssttssssssssttttssttttttttttttssttttssttssssttssssttssttssttssttttsstttttttttttttttttttttsswİ~ytrrsstttttttttssssssttttssttssssssttttssssttttttttttttssttssssssttttttssttttttssttsssssssssrrty}ؽ}vsttttttssssssssttttssttssssssssttssssttttssttssssssssttssttssttssttttttttttssssssttssttttssttssssttttttsssrqrstssssssssttttssssttssttssssttttssssttssssttssssssssssttttssttssttttssttttttttssssssssttssttssttttttssssssssttttttttttssttttssssssssssssssttttssssttssttssssssssttssssssttttttssttssttssssssttttttttssssssssttsssstttttttrqrstssttssttssttssttttssssttssssssttttssttssttttttssssttssssttssttttttssttssssssttssssssssttssttssttttssssttttttttssssssttssssssssttttttttttttttttttttuuttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttuutttttttttttttttttttttttttttsr֨zsstttttttuuttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttuuttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttuuttttttttttttttttttttttttttttttttttttttttttuuttuutttttttttttttttttttttttttttttttttttttttttttttttttrrΑqrttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttsrzǯ}urstttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttuutttttttttttrq|̝wsstttttttttttttuuttttttttttttttttttttttttttttttttttttttttttttttttuutttttttttttttttttsszǯ}urstttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttsstttttttttttttttttttttttrq|̝wsttssttttttttttttttttttttttttttttttttttttttttttssttsstttttttttttttttttttttttttttttttttttttttttuxʺ}usrrsstttssttttttttttttttttttttttttttttttttttttttttttssttssttttttttttttttttttttttttttttttttttttttttsrrrqyհ|rstttttttttttttttttttttttttttttttttttttttttttttssttttttttttttttssttttssttttttttttttssttssttttttttttttttttttttttttttttttttttttssttssttttttttttsstttttttttttrr֩zsssttttttttttttttttttttttttttttttttttttttttttttssttttttssttttttttttttttttttttttttttttssttttttssttttttttttttttttssttttttttttttttttttttttttttttttttttttttttttttttttttsstttttttsuٴ~sstttttttttttttttssssttttttttssttttttttttttttssttttssttttttttttttttttssssttttttttttttttttttttttssttttttttttttttttttttttttttttssttttttttssttttttttttsstttttttttsszrstttttttttttttttttttttssssttssssttttttttttttssttttttttttttttttttttttttssttttttttssttttttttttttssttttttttttttttttssssttttttttttttttttttttttttttttttttssssttttttttttttttttttttttttttttttttttttttttttttsstttssz֨zsstttttttttttttttssttttttttttttttttttttssttttttttssssssttttttttttttttttttttttttttttttttttttttttssttttttttttttttttttttttttssttttttttttttssssttssttssssttttttttttttssttttttttttssttttssttssssttttttttttttttttttttttssttttssttttttttttssstwȵwpqrssttttttssttssttssttttttttttssttttttttssttttttttttssttttttttttttttttttttttttttttttssssrrqx۸vttttttssttttttttttttssttttssttttttttttttttttttssssttttttttssssttssttttttttsstttttttttttttttttttttttttttttttrqrstttttttttttssttttssttssssssttssssttssttttssssttttssssssttttttttttssttttttttttttttttttttssttssttssttttssttssssssssttttttttttttttssttttssttssttttttttttttttttssttttssssttttttttttssttttttssttssttttttttttttttssssssttttsstrqrstttssttttttttssttttttttttttssssttttssttttssttssssssttssttttssttttssttttssttttttttssttttttttssttttssssssttssttttssttssttttttttttssttttttttttttttttttuuttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttuutttttttttttttttttttttttttttsr֨zsttttttttuuttttttttttttttuuttttttttttttttttttttttttttttttttttttttttttttttuuttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttuuttttttttttttttttttttttttttttttttttttttttttuuttuutttttttttttttttttttttttttttttttttttttttttttttttttrrΑqrttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttuyϱ}wtssttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttuuttttttttssuzնuttttttttttttttttuuttttttttttttttttttttttttttttttttttttttttttttttttuutttttttttttttttttttuzϱ}wtstttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttssttttttttttttttttttttstuzնuttttttttttttttttttttttttttttttttttttttttttttttttttttsstttttttttttttttttttttttttttttttttttttttttsr~ʻ}xusrrsssttttttttttttttttttttttttttttttttttttttttttttsstttttttttttttttttttttttttttttttttsssrrsv{}vtttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttssttttssttttttttttttssttttttttttttttttttttttttttttttttttttttttssttssttttttttttsstttttttttttsrѝ~vtstttttttttttttttttttttttttttttttttttttttttttttssttttttssttttttttttttttttttttttttttttssttttttssttttttttttttttttssttttttttttttttttttttttttttttttttttttttttttttttttttsstttttttrqզzssttttttttttttttttsssttttttttssttttttttttttttssttttttttttttttttttttttssssttttttttttttttttttttttssttttttttttttttttttttttttttttssttttttttssttttttttttssttttttttttszrstttttttttttttttttttttssstttssssttttttttttttssttttttttttttttttttttttttssttttttttssttttttttttttssttttttttttttttttssssttttttttttttttttttttttttttttttttssstttttttttttttttttttttttttttttttttttttttttttttsstttssz֨zsstttttttttttttttssttttttttttttttttttttsstttttttttsssssttttttttttttttttttttttttttttttttttttttttssttttttttttttttttttttttttssttttttttttttssssttssttssssttttttttttttssttttttttttssttttssttssssttttttttttttttttttttttssttttssttttttttttsstsrzĵ~yurrsssssttssttssttttttttttssttttttttssttttttttttssttttttttttttttttttttttttttsssrrsvzƜwsstttttssttttttttttttssttttssttttttttttttttttttssssttttttttssssttssttttttttsstttttttttttttttttttttttttttttttrqrstttttttttttssttttssttssssssttssssttssttttssssttttssssssttttttttttssttttttttttttttttttttssttssttssttttssttssssssssttttttttttttttssttttssttssttttttttttttttttssttttssssttttttttttssttttttssttssttttttttttttttssssssttttsstrqrstttssttttttttssttttttttttttssssttttssttttssttssssssttssttttssttttssttttssttttttttssttttttttssttttssssssttssttttssttssttttttttttssttttuuttttttttttttttttuuttttttttttttttttuuttttttuuttttuuttttttuuuuttttttttttuuuuttttttuuttttttttttuuttttttttttttuuttuuttttttttttttttttttttttttuuttttuuuuttuuuuttttttttttttttuuttuuttttttttttttttttttuuuutss֨ztttttttttttttttttttttttttttttttttttuuttttttttttttuuttttttttttttttttttuuuuttttttttttttttuuttttttuuttttttttuuttttttuuuuttttuuttttttttuuuuttttttttttttuuttttuuttttttttttttttuuttuuttttttttuuttttttttttttuuttttuuttttttttttttttttttttttttttttttttttttttttttuuttttttttuuuuttuuuuuuttttttttttttttttuutttttrrΑqrtttttttttuuttttttttttttttttttuuttttttttttttttuuuuttttttttttttttttttttttttttttttttttuuttttttttuuttttttttttttttttttuuttttttttttttttttttttttttttttttttttttuȮvssttuuttttttttttttttttttttttuuuuuuttttttttttttttttttttttttttttuuttuuttuuttttttttuuttttsty۷tttttuuttttttttttuuttttttttttttttttttttuuttttttuuttttttttuuttttttttttttuuttuuttuuttttttttuȮutsttttttttttttttttttttttttttttttttttttttttttttttuuuuttttttuuttttttttuuttttttttttttttttsuz۷tstttttttttttuuttttuuttttttttttttttttttttttttuuttttttttttttttttttttttttttttttttttttttttttttttttutsv}ɹztqrrssttttttttttuuttttttttttttttttttttttttuuttutttttttttttttttttttttttttttttttttttttssrrrru~vttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttuuttttuuttttttttttttttttttttttuuttttttttuuttttttttuutttttttttttttttttttttttttttttttttttsr̓uttttttttttttttttttttttttttttttttttttttttttttttttttttuuttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttuuttttttttttttttttttttttttuuttttttttttttttttttttttuutttttrrИxutttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttuuttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttszssttttttttttttttttttttttttutttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttssz֨zsstttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttuuttttttttttttttttttttttttsuzxqqrrssstttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttssrrrqu~åwtsttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttsrqrstttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttssttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttsstttttttttrqrssttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttssttttttttttssttttttttttuuttttttttttttttttuuttttttttttttttttuuttttttuuttttuuttttttuuuuttttttttttuuuuttttttuuttttttttttuuttttttttttttuuttuuttttttttttttttttttttttttuuttttuuuuttuuuuttttttttttttttuuttuuttttttttttttttttttuuuutss֨ztttttttttttttttttttttttttttttttttttuuttttttttttttuuttttttttttttttttttuuuuttttttttttttttuuttttttuuttttttttuuttttttuuuuttttuuttttttttuuuuttttttttttttuuttttuuttttttttttttttuuttuuttttttttuuttttttttttttuuttttuuttttttttttttttttttttttttttttttttttttttttttuuttttttttuuuuttuuuuuuttttttttttttttttuutttttsrΑqrtttttttttuuttttttttttttttttttuuttttttttttttttuuuuttttttttttttttttttttttttttttttttttuuttttttttuuttttttttttttttttttuutttttttttttttttttttttttttttttttttttss|˴{urstttttttttttttttttttttttuuuuuuttttttttttttttttttttttttttttuuttuuttuuttttttttuttstw~˞xtttttuuttttttttttuuttttttttttttttttttttuuttttttuuttttttttuuttttttttttttuuttuuttuutttttttss|˴{urstttttttttttttttttttttttttttttttttttttttttttuuuuttttttuuttttttttuuttttttttttttsstx~˞xsttttuuttttttuuttttuuttttttttttttttttttttttttuuttttttttttttttttttttttttttttttttttttttttttttttttuutsq|yussssssssttttttttttttttttttttttttttuuttuutttttttttttttttttttttttttttttsssrstvx|Ϩzsstttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttuuttttuuttttttttttttttttttttttuuttttttttuuttttttttuutttttttttttttttttttttttttttttttttttss{Íqrtttttttttttttttttttttttttttttttttttttttttttttttttttuuttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttuuttttttttttttttttttttttttuuttttttttttttttttttttttuutttttsrɏqrtttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttuuttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttszsstttttttttttttttttttttttuuttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttsz֨zsstttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttuutttttttttttttttttttttttttsr~ĵ~zvsrrssssttttttttttttttttttttttttttttttttttttttttttttttttttttsssssrsux|Χzsstttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttsrqrstttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttssttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttsstttttttttrqrssttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttssttttttttttssttttttuuttttttuuttuuuuuuttttttttuuuuttuuuuttttttuuuuttuuuuttttuuuuuuuuttttuuttttuuttuuuuttttuuuuttttttttttttuuttttttttuuuuuuttttttuuttttuuuuuuuuuuttuuuuuuttuuttuuttuuttttuuuuttuuttttuuttttttuuuuttuuttttuutttts֨zttuuuuuuuttuuttttttttuuttuuttuuttuuuuuuttuuttttuuttttttuuttuuuuttuuttuuuuuuuuttuuttuuuuttttttttuuttttuuttuuttttttttttuuuuttuuttttttuuttttuuttttuuuuttttttuuuuttttttttttttttttttttuuttuuuuttuuttuuuuuuuuttuuttttttuuttuuttuuttuuuuttttttuuuuttuuuuttttttttttttuuttttuuttttuuuuttuuttttttttuuttuuuuttusrΑqstuuttuuuuttttttuuttuuttttttttttuuttttttttttttttuuttttttttuuuuttttuuttuuttuuttttttuuttttttttttuuttttuuuuuuuuuuttuuttuuttttuuuuttttuuttuuttttuuuuttttuuttsu{̹yqrsttttttttttttuuuuttttuuttuuttuuttttttttttttuuuuuuttuuttuuttttttuuuuuuttttttttssuгwuuuuttttuuuuttuuuuttttttttttuuttuuttttttttttttttttuuttttuuttttttttttttttttttttuuttuutttttttv{̹yqrtttuuttttuuttttttuuuuuuuuttuuttttttttttttttttuuuuuuuuuuuuttttuuttttuuttuuttttssuгwttttttttttttttuuuuttttttuuttuuuuttttttttuuttttuuuuttuuttttttttttttuuttttttttttuuttttuuttuuttttuutttssyǽztqrsssssttttttttuuuuttttttttttttttttttttttuuttttttttttttttttttttttttssrrrsu{ոzutttttttttttuuuuttttttttttttttttttttttttttttttttttttttttttttuuuuttttttttttuuttuuttttttttttttttttuuuuttttuuttttuuttttttttttttttttttttttttttttttuuttttuuuuuutttttw~׸rstttuuttuuuuttuuttttttttttuuttttttttttttttttuuttttuuuuttttttttttttttttttttttttttttttttttuuttttttuuttttttuuttttuuttttuuttttttuuttttuuttttttttttttttuuttttuuttttttuutttttttttttssݽqstuuttttttttttttttttttttttttttttttttttttuuttttttuuttttttuuttttttuuttttttttuuuuuuuuttttttuuttttttttttttttttttuuttuuttttuuttttttttttttttuuttttttttuuuuttttuuuuttttszrstttttuuuuuuuuttttttttttttttttttttttttttttttttuuttttttttttttttttttttuuttttttttttttttttttttuuuuttttuuttttttttttttuuttttttttuuttuuttttttttttttuuttuuttttuuttttuuttttttuuttuuttttttttttttttttttttttttttuuttttsz֨zsstttttttttuuttttttttttttttttttuuttuuttttuuttttttttttttttttttttttttttttttttttttttttttttttttttttttttttuuttttttttttttttttttttuuttttttttttttttttttttttttttttuuttttttttttttttttttttttttuuttttttuuttttttttuuttttuuttttuuuuttttttttttttttttuuttsv~ø~uqrsssssstttttttttttttttttttttttuuttttttttttttttttttuuttttsssssrrtzгzusttttttttttttttttttttttuuttttttttttuuuuttttttttttttttttttttttttttttuuttttttuuttttttuuuuuuuuttttuuttuuttuuttuutrqrstttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttuuttttttuuuuttttttttttttttttttttttttttttttttttttttttttuuttuuttttttttttttttttttttttttttttttttuuttttttttttttttttttttttttttttuuttttttttttttttttttttttttttttuuusqsstttttttttttttttttttttttttuuttttttttttttttttttttttttttttttuuttttttuuttuuttttttttttttttttttttttttttuuttttttttttttttttuuttttttttuuttuuttttttuuttuuuuuuttttttttuuuuttuuuuttttttuuuuttuuuuttttuuuuuuuuttttuuttttuuttuuuuttttuuuuttttttttttttuuttttttttuuuuuuttttttuuttttuuuuuuuuuuttuuuuuuttuuttuuttuuttttuuuuttuuttttuuttttttuuuuttuuttttuutttts֨zttuuuuuuuttuuttttttttuuttuuttuuttuuuuuuttuuttttuuttttttuuttuuuuttuuuuuuuuuuuuttuuttuuuuttttttttuuttttuuttuuttttttttttuuuuttuuttttttuuttttuuttttuuuuttttttuuuutttttttttttttttttttuuuttuuuuttuuttuuuuuuuuttuuttttttuuttuuttuuttuuuuttttttuuuuttuuuuttttttttttttuuttttuuttttuuuuttuuttttttttuuttuuuuttusrϑrstuuttuuuuttttttuuttuuttttttttttuuttttttttttttttuuttttttttuuuuttttuuttuuttuuttttttuuttttttttttuuttttuuuuuuuuuuttuuttuuttttuuuuttttuuttuuttttuuuuttttuutttsr{usssttttttttuuuuttttuuttuuttuuttttttttttttuuuuuuttuuttuuttttttuuuuuuttttsssu{ظstuuuttttuuuuttuuuuttttttttttuuttuuttttttttttttttttuuttttuuttttttttttttttttttttuuttuutttttttsr{usstttttuuttttttuuuuuuuuttuuttttttttttttttttuuuuuuuuuuuuttttuuttttuuttuutssuzظsstttttttttttttuuuuttttttuuttuuuuttttttttuuttttuuuuttuuttttttttttttuuttttttttttuuttttuuttuuttttuuttttttuź~}{ytrrsssstttssssstttttttttsttttttttttttssstsssttssssrrrsuwy|ڽrsuttttttttttuuuuttttttttttttttttttttttttttttttttttttttttttttuuuuttttttttttuuttuuttttttttttttttttuuuuttttuuttttuuttttttttttttttttttttttttttttttuuttttuuuuuuttttttuʪsstttuuttuuuuttuuttttttttttuuttttttttttttttttuuttttuuuuttttttttttttttttttttttttttttttttttuuttttttuuttttttuuttttuuttttuuttttttuuttttuuttttttttttttttuuttttuuttttttuuttttttttttttt|аrstuuttttttttttttttttttttttttttttttttttttuuttttttuuttttttuuttttttuuttttttttuuuuuuuuttttttuuttttttttttttttttttuuttuuttttuuttttttttttttttuuttttttttuuuuttttuuuuttttszrstttttuuuuuuuuttttttttttttttttttttttttttttttttuuttttttttttttttttttttuuttttttttttttttttttttuuuuttttuuttttttttttttuuttttttttuuttuuttttttttttttuuttuuttttuuttttuuttttttuuttuuttttttttttttttttttttttttttuutttttz֨zsttttttttttuuttttttttttttttttttuuttuuttttuuttttttttttttttttttttttttttttttttttttttttttttttttttttttttttuuttttttttttttttttttttuuttttttttttttttttttttttttttttuuttttttttttttttttttttttttuuttttttuuttttttttuuttttuuttttuuuuttttttttttttttttuutttsr|ywusrrsssstsssttttttttstttttsttsttttttssssssssssstuy{~Ե~rstttttttttttttttttttttttuuttttttttttuuuuttttttttttttttttttttttttttttuuttttttuuttttttuuuuuuuuttttuuttuuttuuttuutsqrstttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttuuttttttuuuuttttttttttttttttttttttttttttttttttttttttttuuttuuttttttttttttttttttttttttttttttttuuttttttttttttttttttttttttttttuuttttttttttttttttttttttttttttuuusrsstttttttttttttttttttttttttuuttttttttttttttttttttttttttttttuuttttttuuttuuttttttttttttttttttttttttttuuttttttttttttttttuuttttttttuuttuuttuuuuttttuuuuuuuuuuuuttuuuuuuuuuuttuuuuuuuuttuuuuuuuuuuuuuuuuttuuuuuuttttttuuuuuuuuuuttuuuuttttuuuuuuttuuuuuuuuuuuuuuuuuuuuuuuuuuuuttttuuuuttuuuuuuuuuuuuuuuuuuuuuuuuttuuuuuuuuttuuuuttuuttuuuuuuuuuuuts֨zttuuuuuuuuuuuuuuuuuuuuuttttuuuuuuttuuuuuuuuuuuuuuuuuuuuuuttuuuuuuuuuuuuuuuuuuuuttuuuuuuuuuuttuuuuuuuuttuuuuuuuuuuttttuuuuuuttttttuuuuttttuuttuuttttttuuuuuuttuuuuuuuuuuuuuuuuttttuuuuuuttuuuuuuuuuuuuuuuuuuttuuuuuuuuuuuuuuuuttttttuuuuuuuuuuuuttttttuuuuuuuuuuttttttttuuuuuuuuuuuuuuttttttuuuuuuttusrϑrsuuuuuuuttuuuuuuuuuuttttttuuuuuuuuuuuuuuuuttuuuuuuuuttuuuuuuuuttuuttuuttuuuuuuttttuuttuuuuuuuuuuuuuuuuuuttuuttuuttttttuuuuuuttuuuuttuuuuttttuuttttuuttuuutsyɸzqrstuuuttuuttuuuuuuuuuuuuuuuuttuuuuttttuuuuuuuuuuttuuuuuuttuuttuuuuuuutsrqzȞxtttttuuuuttttuuuuttttttuuuuuuuuuuttttuuuuuuttuuuuuuuuttttuuuuttuuttuuttttuuuuttuuttuuuuuuuuutsyɸzqrsttuuuuuuuuuuuuuuuuuuuuttuuttuuuuttttuuttttuuuuuuuuuuttuuttttuuuuttuttrqyȞxttuuuttttuuuuuuuuttttuuttuuttuuuuttuuttuuuuuuuuttttttttttttuuttuuuuttttttuuttttuuttttuuttuuuuttuuuuttttt~żwqqrrrrsssssssssttttttttssssssssssssssssttsssssrrrrrqtzɟxstuttttuuttuuttuuttttuuttuuuuuuuuttttuuuuuuuuuuuuuuuuuuttttttttttuuuuuuttuuuuttuuuuttttuuuuuuttttuuttuuuuuuttuuttttttuuuuuuttuuttttuuuuuuttuuttttttuuuuttttuutttssܻstuuuttttuuttuuttttuuuuuuuuttuuttuuttttttuuuuuuuuuuuuttuuttttuuttuuttuuuuuuttuuuuttttuuuuttuuttuuuuttuuttttuuuuttttttuuttuuuuttttuuuuttttttttuuttuuuuuuuuttttttuuttuuuuuuuutttttysttttuuttttttuuttttttttttuuuuuuttuuttuuuuttttttttttttuuttttttuuttuuttuuuuttttttuuuuuuuuuuttttuuttuuuuuuttttuuuuuuttuuttuuuuttttuuuuuuttttuuttuuuuttuuttttttuuttutszsstttttuuttttuuttuuttuuttttttuuttttttttuuttttttttuuttttuuttuuuuuuuuuuttttttttttuuuuttttuuuuttuuttuuuuttttuuttttuuttttuuttttuuttuuttuuttuuttttuuuuuuuuttttttttttttttttuuuuuuttttttttttuuuuuuuuttttttttttuutttz֨zttuttttttttttttuuttttttttttttttttttttttttttuuttuuttttttttuuttttttttttttttuuuuttttttttttttuuuuuuuuttuuuuuuttttuuttttuuttttttttttttttuuttuuttttuuttttttttuuttuuuuttttttttttttuuuuuuttuuttttttttttuuuuuuuuttttuuttuuuuttttuuuuuuttttuuuutttttttw÷zuqrrrrsssssttttttsssttttssttsstttttssrssrrrrrru{չ~vsttuuuuttuuttttttttttuuttuuuuttttttuuttuuttttuuttuuttttttttttuuuuttuuuuttttuuttuuttttttttttuuttuuuuttttttttuuttusqsstttuuttttttuuttuuuuttttuuttttttuuttttttttttttttttttttttttuuttttttttttttuuuuttttttttttttuuttuuttttuuuuttttttttttttuuuuttttttttttttttttuuttttttttuuttttttttttttttuuttttttttttttttuuttuuttttttttttttttttttuuttuuttttuuttttusrsstttttttttttttttttttttttuuttttttttttuuttttuuttuuttttttuuttttttttttuuttuuttttttttttttuuttttttttttuuttttttttuuuuuuttuuuuuuttttttuuttuuttuuuuttttuuuuuuuuuuuuttuuuuuuuuuuttuuuuuuuuttuuuuuuuuuuuuuuuuttuuuuuuttttttuuuuuuuuuuttuuuuttttuuuuuuttuuuuuuuuuuuuuuuuuuuuuuuuuuuuttttuuuuttuuuuuuuuuuuuuuuuuuuuuuuuttuuuuuuuuttuuuuttuuttuuuuuuuuuuuts֨zttuuuuuuuuuuuuuuuuuuuuuttttuuuuuuttuuuuuuuuuuuuuuuuuuuuuuttuuuuuuuuuuuuuuuuuuuuttuuuuuuuuuuttuuuuuuuuttuuuuuuuuuuttttuuuuuuttttttuuuuttttuuttuuttttttuuuuuuttuuuuuuuuuuuuuuuuttttuuuuuuttuuuuuuuuuuuuuuuuuuttuuuuuuuuuuuuuuuuttttttuuuuuuuuuuuuttttttuuuuuuuuuuttttttttuuuuuuuuuuuuuuttttttuuuuuuttusrϑrsuuuuuuuttuuuuuuuuuuttttttuuuuuuuuuuuuuuuuttuuuuuuuuttuuuuuuuuttuuttuuttuuuuuuttttuuttuuuuuuuuuuuuuuuuuuttuuttuuttttttuuuuuuttuuuuttuuuuttttuuttttuuttuuuuttu~xttsstuuttuuuuuuuuuuuuuuuuttuuuuttttuuuuuuuuuuttuuuuuuttuuttuutttttx~ϰvuuttttuuuuttttuuuuttttttuuuuuuuuuuttttuuuuuuttuuuuuuuuttttuuuuttuuttuuttttuuuuttuuuuuuuuuuuuuuttu~xtstttuuuuuuuuuuuuuuuuttuuttuuuuttttuuttuuuuuuuuuuuuttuuttttuuttsstx~ϰvuuuuuuttttuuuuuuuuttttuuttuuttuuuuttuuttuuuuuuuuttttttttttttuuttuuuuttttttuuttttuuttttuuttuuuuttuuuutttttw~ż~{zzzzzzzzzzzzzzzzzzzzzzzzz|}˭uttuuttttuuttuuttuuttttuuttuuuuuuuuttttuuuuuuuuuuuuuuuuuuttttttttttuuuuuuttuuuuttuuuuttttuuuuuuttttuuttuuuuuuttuuttttttuuuuuuttuuttttuuuuuuttuuttttttuuuuttttuutttsrخ|ttuuuttttuuttuuttttuuuuuuuuttuuttuuttttttuuuuuuuuuuuuttuutttuuuttuuttuuuuuuttuuuuttttuuuuttuuttuuuuttuuttttuuuuttttttuuttuuuuttttuuuuttttttttuuttuuuuuuuuttttttuuttuuuuuuuutttttvzڳ~tttttuuttttttuuttttttttttuuuuuuttuuttuuuuttttttttttttuuttttttuuttuuttuuuuttttttuuuuuuuuuuttttuuttuuuuuuttttuuuuuuttuuttuuuuttttuuuuuuttttuuttuuuuttuuttttttuuttuttzsstttttuuttttuuttuuttuuttttttuuttttttttuuttttttttuuttttuuttuuuuuuuuuuttttttttttuuuuttttuuuuttuuttuuuuttttuuttttuuttttuuttttuuttuuttuuttuuttttuuuuuuuuttttttttttttttttuuuuuuttttttttttuuuuuuuuttttttttttuutttz֨zttuttttttttttttuuttttttttttttttttttttttttttuuttuuttttttttuuttttttttttttttuuuuttttttttttttuuuuuuuuttuuuuuuttttuuttttuuttttttttttttttuuttuuttttuuttttttttuuttuuuuttttttttttttuuuuuuuuuuttttttttttuuuuuuuuttttuuttuuuuttttuuuuuuttttuuuuttttttusqĹ}{zzzzzzzzzzzzzzzzzzzz{|}պrstttuuuuttuuttttttttttuuttuuuuttttttuuttuuttttuuttuuttttttttttuuuuttuuuuttttuuttuuttttttttttuuttuuuuttttttttuuttusqsstttuuttttttuuttuuuuttttuuttttttuuttttttttttttttttttttttttuuttttttttttttuuuuttttttttttttuuttuuttttuuuuttttttttttttuuuuttttttttttttttttuuttttttttuuttttttttttttttuuttttttttttttttuuttuuttttttttttttttttttuuttuuttttuuttttusrsstttttttttttttttttttttttuuttttttttttuuttttuuttuuttttttuuttttttttttuuttuuttttttttttttuuttttttttttuuttttttttuuuuuuttuuuuuuttttttuuttuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuts֨{ttuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuttuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuttuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuttuuuuuuuuuuuuuuusrϑrsuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuttuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuutt~ɻusssttuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuttsssuٱ~utuuuuuuuuuttuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuttttuuuuuuttuuuuuuuuuuuuuuuuuuttuuuuuuuuuuuuuuuuuuuuutt~ɻvsssttuuuuuuuuuuuuuuuuuuuuuttuuttuuuuuuuuuuuuuuuuuuuuttuuuuuttsssuٱ~utuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuttttuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuwŻӦ{uuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuttuuuuuuuuuuuuuuuuuuuuuuttttuuttuuuuttuuuuuuuuuuuuuuuuuuttuuuuuuuuuuuuuuuuttuuttuuuuuuuuuuuuuuuuttuuuuuuuuuuttttuuuuuuuuuuuuuuussԢytttuuttuuuuttuuuuuuuuuuuuuuuuuuuuuuuuttuuttuuuuuuttuuuuuuuuuuuuuuuuuuttuuttttuuuuuuuuuuttuuuuuuuuuuuuuuuuuuuuuuuuuuuuttuuuuuuttuuuuttuuuuuuuuuuuuuuuuuuuuuuuuttuuuuuuuuuuttuuuuutu֨ztttttuuuuuuuuttuuttuuttuuttuuttuuttuuuuttuuuuuuuuuuuuuuttuuttuuuuuuuuuuuuuuuuuuuuuuuuttuuuuuuuuttuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuttuuuuuuuuttuuuuuuuuttuuuttzstuuuuuuuuuuuuuttttuuuuuuttuuuuuuuuttuuuuuuuuttuuttuuuuuuttuuuuuuuuuuttuuuuuuuuuuttuuuuttttttuuttuuttuuuuttuuuuuuuuuuuuuuuuuuuuuuuuuuttuuttuuuuuuuuuuuuuuttttuuuuuuuuuuttuuuuuuuuuuttuuuuuuuuuuuuuuttuuuutssz֨zttuuuuuttuuuuuuuuuuuuuuuuuuuuuuuuuuuuttuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuttuuuuuuuuttuuuuuuuuuuuuuuuuuuuuuuuuuuuuttuuttttuuuuuuuuttuuuuttttttuuuuttuuttuuttuuuuuuuuuuttttttuuuuuuttuuuuuuuuuuuuuuuuttuuttttttttttuuuuuuuuttuuuuuuuuuuuuttuuttuuutswɽպwstuuuttuuttuuttttttttuuuuuuuuuuttuuttttuuuuttuuuuuuttuuttttttttuuuuuuttuuttuuuuuuttuuttttuuttttuuttttttuuuuuutttttsqsstuuttttuuuuttuuttttuuuuttttttuuttuuuuttuuuuuuuuuuttuuuuttttttuuttuuuuttuuuuttuuuuttuuuuuuuuttuuttuuttuuuuuuttttttuuttuuuuttuuttttttttuuuuttuuuuuuttuuuuttuuttttttuuuuttuuuuuuuuuuuuuuuuttuuuuuuttuuttuuuuuuuuuuttttttttusrsstttuuttuuuuttuuuuttuuttuuuuuuttuuttuuttttuuttttttuuuuuuuuuuttttuuttttuuttttuuttuuttttttuuttuuttuuttuuttuuuuttuuuuuuttttuuttttttuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuts֨{tuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuttuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuttuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuttuuuuuuuuuuuuuuussϑrsuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuttuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuutw~ɵ|wttstttuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuttttttw|ř~wtuuuuuuuuuuttuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuttttuuuuuuttuuuuuuuuuuuuuuuuuuttuuuuuuuuuuuuuuuuuuuuuuuw~ɵ|wutstttuuuuuuuuuuuuuuuttuuttuuuuuuuuuuuuuuuuuuuutttttttw|ř~wtuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuttttuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuutw~ſعutuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuttuuuuuuuuuuuuuuuuuuuuuuttttuuttuuuuttuuuuuuuuuuuuuuuuuuttuuuuuuuuuuuuuuuuuuuuttuuuuuuuuuuuuuuuuttuuuuuuuuuuttttuuuuuuuuuuuuuuuts͘zvuttuuttuuuuttuuuuuuuuuuuuuuuuuuuuuuuuttuuttuuuuuuttuuuuuuuuuuuuuuuuuuttuuttttuuuuuuuuuuttuuuuuuuuuuuuuuuuuuuuuuuuuuuuttuuuuuuttuuuuttuuuuuuuuuuuuuuuuuuuuuuuuttuuuuuuuuuuttuuuuusrҞwtttttuuuuuuuuttuuttuuttuuttuuttuuttuuuuttuuuuuuuuuuuuuuttuuttuuuuuuuuuuuuuuuuuuuuuuuuttuuuuuuuuttuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuttuuuuuuuuttuuuuuuuuttuuuttzstuuuuuuuuuuuuuttttuuuuuuttuuuuuuuuttuuuuuuuuttuuttuuuuuuttuuuuuuuuuuttuuuuuuuuuuttuuuuttttttuuttuuttuuuuttuuuuuuuuuuuuuuuuuuuuuuuuuuttuuttuuuuuuuuuuuuuuttttuuuuuuuuuuttuuuuuuuuuuttuuuuuuuuuuuuuuttuuuuttsz֨zttuuuuuttuuuuuuuuuuuuuuuuuuuuuuuuuuuuttuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuttuuuuuuuuttuuuuuuuuuuuuuuuuuuuuuuuuuuuuttuuttttuuuuuuuuttuuuuttttttuuuuttuuttuuttuuuuuuuuuuttttttuuuuuuttuuuuuuuuuuuuuuuuttuuttttttttttuuuuuuuuttuuuuuuuuuuuuttuuttuuuuusqſպrsuuuuuttuuttuuttttttttuuuuuuuuuuttuuttttuuuuttuuuuuuttuuttttttttuuuuuuttuuttuuuuuuttuuttttuuttttuuttttttuuuuuutttttsrsstuuttttuuuuttuuttttuuuuttttttuuttuuuuttuuuuuuuuuuttuuuuttttttuuttuuuuttuuuuttuuuuttuuuuuuuuttuuttuuttuuuuuuttttttuuttuuuuttuuttttttttuuuuttuuuuuuttuuuuttuuttttttuuuuttuuuuuuuuuuuuuuuuttuuuuuuttuuttuuuuuuuuuuttttttttusrsstttuuttuuuuttuuuuttuuttuuuuuuttuuttuuttttuuttttttuuuuuuuuuuttttuuttttuuttttuuttuuttttttuuttuuttuuttuuttuuuuttuuuuuuttttuuttttttuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuts֨{tuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuussϑrsuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuvɹ~vsrssttuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuttsstv~ävuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuvɹvtsssttuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuutttsstv~äwuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuv׳~ttuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuutt~Ðutuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuts̔vuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuttzstuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuttuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuttttuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuttz֨zttuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuttuuuuttuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuttuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuutsxպwstuuuuuuuuuuuuuuuuuuuuuuuuuttuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuttuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuttuuuuuuuuuuuuuuuuuuttuuusrstuuuuuuuuuuuuuuuuuttuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuttuuuuuuttuuuuuuuuuuttuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuttuuuuuuuuttuuuuuuuuuuuuuuuuuuttuuuuuuuuuuuuuuuuuuuuttuuuuuuttuuuuuuttttttuuuuuuttuuusrstuuuuuuuuuuuuuuuuuuuuuttuuuuuuuuuuuuuuuuuuttuuttuuuuuuuuuuuuuuuuttuuuuuuttuuttuuuuuuttuuuuuuuuuuuuuuuuttuuuuuuttuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuutt֩{tuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuussϑrsuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuutt{ʻ}yvutsstttttuuuuuuuttuuuuuuuuutttttttttssuy}Ϩ{ttuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuut{ʻ}yvutstttttttttttttttuuuuuuttuuutttttssstuy|Ϩ{ttuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuutt{׼~wtuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuz׸rtuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuutsqsuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuttzstuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuttuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuttttuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuutt{֨zttuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuttuuuuttuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuttuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuttvպrsuuuuuuuuuuuuuuuuuuuuuuuuuuuttuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuttuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuttuuuuuuuuuuuuuuuuuuttuuusrstuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuttuuuuuuttuuuuuuuuuuttuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuttuuuuuuuuttuuuuuuuuuuuuuuuuuuttuuuuuuuuuuuuuuuuuuuuttuuuuuuttuuuuuuutttttuuuuuuttuuusrstuuuuuuuuuuuuuuuuuuuuuttuuuuuuuuuuuuuuuuuuttuuttuuuuuuuuuuuuuuuuttuuuuuuttuuttuuuuuuttuuuuuuuuuuuuuuuuttuuuuuuttuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuut֩{tuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuutsϑrsuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuutvz˾|vtsssttssttttuutttttttttttttttttttssrrwոzvuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuutvz˾|vtsssttsstttttttttttuuuttttuuttttsssrrxոzvtuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuv{׳wuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuvyˬstuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuttӳssuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuutt{stuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuutt{֨zttuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuzպwstuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuusrstuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuusrstuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuut֩{tuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuutsϒrtuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuutsƺ~|{{{{{{{zzzz{{{{{z|ٻsuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuutsƺ~|{{{{{{{zzzz{{{{{{}ٻstuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuts{׼~wuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuutrstuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuzŦstuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuut{ttuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuut{֩{tuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuutrպrtuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuusrstuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuusrstuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuvvuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuvvuuvvuuvvuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuvvuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuut֩{uuuuuuuuuuuuuuuuuvvvvuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuvvuuuuuuuuuuuuuuuuuuuuuuuuuuuuvvuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuvvuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuvvuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuutsϒrtuvvuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuxțxuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuutwțwtuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuv{ڴwuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuutsڴ~tuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuyܺttuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuutztuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuu{֩{tuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuutswպwtuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuusrsuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuusrstuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuvvuuuuuuuuuuuuuuuuuuuuuuuuuuvvuuuuvvuuuuuuvvuuvvuuvvuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuvvuuuuvvuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuut֩{uuuuuuuuuuuuuuuuuvvvvuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuvvuuuuuuuuuuuuuuuuuuuuuuuuuuuuvvuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuvvuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuvvuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuutsϒstuvvuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuutrˬrtuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuutrˬrsuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuus{˜~wtuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuutt֧ztuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuutrج}uuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuut{tuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuu{֩{tuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuutrԺrtuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuusrtuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuusrttuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuvvuuuuuuuuvvuuuuuuuuuuuuvvuuuuvvuuuuuuuuuuuuuuuuuuuuuuvvvvuuuuuuvvvvuuuuuuuuuuuuvvuuvvuuuuvvvvuuvvvvvvuuuuuuuuuuuuuuuuuuuuuuuuuuvvuuvvuuvvuuvvuuvvuuvvvvuuvvuuvvuuvvuuuuvvuuuuuuvvuuuuuuuuuuuuvvuuuuvvuuutt֩{uuvuuuuvvuuuuuuuuvvvvuuuuuuuuvvuuvvuuvvuuuuuuvvuuvvuuuuvvuuuuuuuuvvvvuuuuuuuuuuuuuuuuvvvvvvuuuuuuuuuuuuuuuuuuuuvvuuvvuuvvuuuuuuuuuuuuvvuuvvuuvvuuuuuuvvuuuuuuvvvvuuuuvvvvvvuuvvuuuuuuuuvvuuvvvvuuuuvvuuuuvvuuuuuuuuuuvvuuuuuuuuvvuuuuuuvvuuuuuuuuuuuuuuvvuuuuuuuuuuuuuuuuuuuuvvuuvvuuuuuuuuuuuuuuuuutsϒstvuuuuvvuuuuuuuuvvuuuuuuuuuuuuuuvvuuuuuuuuuuuuuuuuvvuuuuuuuuuuuuuuuuuuuuvvuuuuuuuuvvuuuuvvvvvvuuuuuuvvuuuuuuuuuuuuuuvvuuuuvvuuuuuuuuuuuuuuvvuuvvuuuuvvvvuuuuuuuuuutyˤztuuvvuuuuuuuuuuuuvvuuuuuuuuuuuuuuvvuuuuuuuuuuvvuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuvvvvuuuuvvuuuuvvuuuuuuuuuuuuuutyˤztuuuuuuuuuuuuuuuuuuuuuuvvuuuuuuuuuuuuuuuuuuvvuuuuuuuuuuuuvvuuuuuuuuuuuuvvuuuuvvuuuuuuuuuuuuuuuuuuvvuuvvuuvvuuvvuuuuuuuuuv{ٹwuuuuuuvvuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuvvuuuuuuuuuuuuuuuuuuvvuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuvvuuuuuuuuuuuuuuuuuuuuuuuuuuuuvvuuuuuuuuuuuuuuuuuuuuvvuuuutљzvuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuvvuuuuuuuuuuuuuuuuuuvvuuuuuuuuuuuuuuuuuuuuvvuuuuuuvvuuuuuuuuuuuuuuvvuuvvuuuuuuvvuuuuvvuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuvvuuuuuuvvuuuuuuuuuuutrӞwuuuuuuuuuuuuuuuuuuuuuvvuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuvvuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuut{ttuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuvvuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuvvuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuvvuuuuuuu{֩{uuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuutwжxtuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuusrtuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuusrtuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuvvuuuuuuuuvvuuuuuuuuuuuuvvuuuuvvuuuuuuuuuuuuuuuuuuuuuuvvvvuuuuuuvvvvuuuuuuuuuuuuvvuuvvuuuuvvvvuuvvvvvvuuuuuuuuuuuuuuuuuuuuuuuuuuvvuuvvuuvvuuvvuuvvuuvvvvuuvvuuvvuuvvuuuuvvuuuuuuvvuuuuuuuuuuuuvvuuuuvvuuutt֩|uuvuuuuvvuuuuuuuuvvvvuuuuuuuuvvuuvvuuvvuuuuuuvvuuvvuuuuvvuuuuuuuuvvvvuuuuuuuuuuuuuuuuvvvvvvuuuuuuuuuuuuuuuuuuuuvvuuvvuuvvuuuuuuuuuuuuvvuuvvuuvvuuuuuuvvuuuuuuvvvvuuuuvvvvvvuuvvuuuuuuuuvvuuvvvvuuuuvvuuuuvvuuuuuuuuuuvvuuuuuuuuvvuuuuuuvvuuuuuuuuuuuuuuvvuuuuuuuuuuuuuuuuuuuuvvuuvvuuuuuuuuuuuuuuuuuttϒstvuuuuvvuuuuuuuuvvuuuuuuuuuuuuuuvvuuuuuuuuuuuuuuuuvvuuuuuuuuuuuuuuuuuuuuvvuuuuuuuuvvuuuuvvvvvvuuuuuuvvuuuuuuuuuuuuuuvvuuuuvvuuuuuuuuuuuuuuvvuuvvuuuuvvvvuuuuuuuuuuvvwϰvuuuuvvuuuuuuuuuuuuvvuuuuuuuuuuuuuuvvuuuuuuuuuuvvuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuvvvvuuuuvvuuuuvvuuuuuuuuuuuuuuuuvϰvuuuuuuuuuuuuuuuuuuuuuuuuvvuuuuuuuuuuuuuuuuuuvvuuuuuuuuuuuuvvuuuuuuuuuuuuvvuuuuvvuuvvuuuuuuuuuuuuuuvvuuvvuuvvuuvvuuuuuuuuuutz׾yuuuuuuuvvuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuvvuuuuuuvvuuuuuuuuuuuuuuuuuuvvuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuvvuuuuuuuuuuuuuuuuuuuuuuuuuuuuvvuuuuuuuuuuuuuuuuuuuuvvuuuutɐrsuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuvvuuuuuuuuuuuuuuuuuuvvuuuuuuuuuuuuuuuuuuuuvvuuuuuuvvuuuuuuuuuuuuuuvvuuvvuuuuuuvvuuuuvvuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuvvuuuuuuvvuuuuuuuuuuutt̔vuuuuuuuuuuuuuuuuuuuuuuvvuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuvvuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuvvuuuuuuuuuuuuuuuuuuuuuuuuuuuuvvuuuuuuuuuuu{ttuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuvvuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuvvuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuvvuuuuuuu{֩{uuuuuvvuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuutrδstuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuusrtuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuutrtuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuvvvvvvuuuuvvvvvvvvuuvvvvuuvvuuuuvvuuuuvvvvvvvvuuvvuuvvvvvvvvvvuuvvvvvvuuuuuuvvvvuuvvuuvvuuvvuuvvuuuuuuvvvvuuuuvvuuvvuuvvvvuuuuvvuuvvuuvvvvvvvvuuvvvvvvuuvvuuvvuuuuvvvvvvvvvvvvvvuuvvuuuuvvvvuuvvuuvvvvuut֩|uuuuuvvuuvvuuuuvvuuuuvvvvvvvvuuvvvvuuvvvvvvvvuuvvuuuuvvvvuuvvuuvvvvuuvvvvuuvvuuuuvvuuvvuuuuvvvvvvvvvvvvvvvvvvuuvvuuvvvvvvuuuuuuvvuuuuvvvvuuvvuuvvuuvvvvvvuuvvvvvvvvuuvvuuuuuuvvuuvvvvvvuuuuvvuuvvvvvvvvvvuuuuuuvvvvuuuuvvuuuuuuvvuuvvvvvvvvvvvvvvvvvvuuvvvvuuvvuuuuvvvvvvuuvvvvuuuuuuvvvvvvuuvvuuvvvutϒstvvvuuuuuuvvuuvvuuuuvvuuuuuuvvuuvvvvvvvvuuuuuuvvvvvvvvvvuuuuuuuuvvvvuuuuvvuuuuuuvvvvuuvvuuuuvvvvuuvvuuuuvvvvuuvvuuuuvvvvvvvvvvuuuuvvvvvvvvvvuuvvuuuuuuuuuuuuuuvvuuvvv|ְ~uuvvvvvuuuuuuvvuuvvvvuuuuuuuuuuuuuuuuvvuuvvuuuuvvuuvvvvvvuuvvvvvvvvvvuuvvvvvvuuuuuuvvvvvvuuvvuuvvuuuuvvuuvvuuuuuuu|ְ~uuuvvuuvvvvuuvvvvvvvvuuvvuuuuvvuuuuuuvvuuvvvvvvuuvvvvvvvvuuvvuuvvvvuuuuuuuuvvvvuuvvvvvvvvuuvvvvvvuuvvuuuuuuuuvvvvvvuuuuvvvuuvz׳yvuuuuuuuuuvvuuuuvvvvvvvvuuuuuuuuuuuuuuuuuuuuuuvvuuvvuuuuvvuuuuuuuuuuuuuuuuuuuuuuvvvvuuuuuuuuvvvvuuuuvvvvuuuuuuuuuuuuvvuuvvvvuuuuvvuuuuuuuuuuvvuuvvvvuuuuuuuuvvvvuuvvvvvvvvuuvuu}ݾstvvvuuuuuuuuvvuuuuuuvvuuvvvvuuuuuuuuvvuuuuvvuuuuvvvvvvvvuuvvvvuuvvuuvvvvuuuuuuuuvvvvuuuuvvuuvvuuuuuuvvuuvvuuuuvvuuvvuuvvvvvvuuuuvvuuvvuuvvuuuuuuuuuuuuuuuuuuvvuuuuuuuuuuuuuuuuuuuuvvuutÏttvuuuuuuvvuuuuuuuuvvuuuuvvuuuuuuvvuuuuuuvvuuuuuuvvuuvvuuvvuuuuuuvvuuuuvvuuuuuuuuuuuuuuvvuuuuvvuuuuuuuuvvuuuuuuvvvvuuuuvvuuuuuuuuuuvvuuuuuuvvuuuuvvuuuuuuuuvvvvvvuuuuu{tuuuuuuuuvvuuuuuuuuvvuuuuvvuuuuuuuuvvuuuuuuvvvvuuuuuuuuvvuuuuuuvvvvuuuuvvuuuuvvuuuuvvuuuuuuuuuuvvuuvvuuuuvvuuuuuuuuuuuuuuuuuuuuuuuuvvvvuuuuvvuuvvuuuuvvuuvvuuuuvvvvvvuuuuuuuuuuuuuuvvuuuuvvuuvvuuuuvvuuuuuuu{֩{uuuuuvvuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuvvuuuuuuuuuuvvuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuvvuuuuuuuuuuuuuuuuuuuuuuuuuuvvuuuuvvuuvvuuuuvvuuuuuuuuvvuuuuuuuuuuuuuuuuuuvvuuvvuuuuuuuuuuuuuuuuuuuuuuuuvvuuuuuuvvuuuuvvvvuuvvuuuuvvuuuuuuuuuuuuuuuuvutxèwtuvuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuvvvvvvuuuuvvuuvvuuuuuuuuuuuuvvuuvvvvuuvvuuuuuuuuvvuuuuvvuuuuuuuuuuuuuuvvuuuuuuuuuuuuuuutrtuuuuvvuuuuvvuuvvvvuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuvvuuuuuuuuuuvvuuuuuuuuuuuuuuuuuuvvuuuuuuuuuuuuuuuuuuuuuuvvvvuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuvvuuuuuuuuvvuuuuuuuuuuvvuuuuvvvvuuuuuuuuvvutrtuuuuvvuuuuvvvvuuuuuuuuuuuuuuuuuuuuuuvvuuuuuuvvuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuvvuuuuvvuuuuuuuuuuuuuuvvuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuvvvvvvuuuuvvvvvvvvuuvvvvuuvvuuuuvvuuuuvvvvvvvvuuvvuuvvvvvvvvvvuuvvvvvvuuuuuuvvvvuuvvuuvvuuvvuuvvuuuuuuvvvvuuuuvvuuvvuuvvvvuuuuvvuuvvuuvvvvvvvvuuvvvvvvuuvvuuvvuuuuvvvvvvvvvvvvvvuuvvuuuuvvvvuuvvuuvvvvuut֩|uuuuuvvuuvvuuuuvvuuuuvvvvvvvvuuvvvvuuvvvvvvvvuuvvuuuuvvvvuuvvuuvvvvuuvvvvuuvvuuuuvvuuvvuuuuvvvvvvvvvvvvvvvvvvuuvvuuvvvvvvuuuuuuvvuuuuvvvvuuvvuuvvuuvvvvvvuuvvvvvvvvuuvvuuuuuuvvvvvvvvvvuuuuvvuuvvvvvvvvvvuuuuuuvvvvuuuuvvuuuuuuvvuuvvvvvvvvvvvvvvvvvvuuvvvvuuvvuuuuvvvvvvuuvvvvuuuuuuvvvvvvuuvvuuvvvutϒstvvvuuuuuuvvuuvvuuuuvvuuuuuuvvuuvvvvvvvvuuuuuuvvvvvvvvvvuuuuuuuuvvvvuuuuvvuuuuuuvvvvuuvvuuuuvvvvuuvvuuuuvvvvuuvvuuuuvvvvvvvvvvuuuuvvvvvvvvvvuuvvuuuuuuuuuuuuuuvvuuvvvuv׼xuvvvvvvuuuuuuvvuuvvvvuuuuuuuuuuuuuuuuvvuuvvuuuuvvuuvvvvvvuuvvvvvvvvvvuuvvvvvvuuuuuuvvvvvvuuvvuuvvuuuuvvuuvvuuuuuuvuv׼xuuuvvuuvvvvuuvvvvvvvvuuvvuuuuvvuuuuuuvvuuvvvvvvuuvvvvvvvvuuvvuuvvvvuuuuuuuuvvvvuuvvvvvvvvuuvvvvvvuuvvuuuuuuuuvvvvvvuuuuvvvvvuuw~׼~wuuvuuuuuuuuvvuuuuvvvvvvvvuuuuuuuuuuuuuuuuuuuuuuvvuuvvuuuuvvuuuuuuuuuuuuuuuuuuuuuuvvvvuuuuuuuuvvvvuuuuvvvvuuuuuuuuuuuuvvuuvvvvuuuuvvuuuuuuuuuuvvuuvvvvuuuuuuuuvvvvuuvvvvvvvvuuvvuzбtuvvvuuuuuuuuvvuuuuuuvvuuvvvvuuuuuuuuvvuuuuvvuuuuvvvvvvvvuuvvvvuuvvuuvvvvuuuuuuuuvvvvuuuuvvuuvvuuuuuuvvuuvvuuuuvvuuvvuuvvvvvvuuuuvvuuvvuuvvuuuuuuuuuuuuuuuuuuvvuuuuuuuuuuuuuuuuuuuuvvuuu׸suvuuuuuuvvuuuuuuuuvvuuuuvvuuuuuuvvuuuuuuvvuuuuuuvvuuvvuuvvuuuuuuvvuuuuvvuuuuuuuuuuuuuuvvuuuuvvuuuuuuuuvvuuuuuuvvvvuuuuvvuuuuuuuuuuvvuuuuuuvvuuuuvvuuuuuuuuvvvvvvuuuuu{tuuuuuuuuvvuuuuuuuuvvuuuuvvuuuuuuuuvvuuuuuuvvvvuuuuuuuuvvuuuuuuvvvvuuuuvvuuuuvvuuuuvvuuuuuuuuuuvvuuvvuuuuvvvvuuuuuuuuuuuuuuuuuuuuuuvvvvuuuuvvuuvvuuuuvvuuvvuuuuvvvvvvuuuuuuuuuuuuuuvvuuuuvvuuvvuuuuvvuuuuuuu{֩{uuuuuvvuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuvvuuuuuuuuuuvvuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuvvuuuuuuuuuuuuuuuuuuuuuuuuuuvvuuuuvvuuvvuuuuvvuuuuuuuuvvuuuuuuuuuuuuuuuuuuvvuuvvuuuuuuuuuuuuuuuuuuuuuuuuvvuuuuuuvvuuuuvvvvuuvvuuuuvvuuvvuuuuuuuuuuuuvvuut{ǥ{suuvvuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuvvvvvvuuuuvvuuvvuuuuuuuuuuuuvvuuvvvvuuvvuuuuuuuuvvuuuuvvuuuuuuuuuuuuuuvvuuuuuuuuuuuuuuutstuuuuvvuuuuvvuuvvvvuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuvvuuuuvvuuuuvvuuuuuuuuuuuuuuuuuuvvuuuuuuuuuuuuuuuuuuuuuuvvvvuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuvvuuuuuuuuvvuuuuuuuuuuvvuuuuvvvvuuuuuuuuvvutstuuuuvvuuuuvvvvuuuuuuuuuuuuuuuuuuuuuuvvuuuuuuvvuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuvvuuuuvvuuuuuuuuuuuuuuvvuuuuuuuuuuuuuuuuuuuuuuuuuuuuvvvvvvuuvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvuuvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvuuvvvvvvuuvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvuuvvvvvvvvvvvvuuvvvvvvvvvvvvvvvvvvvvvvvvvvvuu֩{uuvvvvvvvvvvvuuvvvvvvvvvvvvuuvvvvuuvvvvvvvvvvuuvvvvuuvvvvuuvvvvvvvvuuvvvvvvvvvvvvvvuuvvvvvvvvvvvvvvvvuuvvvvvvvvvvvvvvvvvvuuuuvvuuvvvvvvvvuuvvvvuuuuvvuuvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvuuvvvvvvuuvvvvvvuuvvvvvvvvvvvvvvvvvvvvvvuuvvvvvvvvuuvvvvvvvvuuuuuuvvvvvvvvuuvvvvvvvvvvvvvvvvvvuuuuvutϒstvuuvvvvvvvvvvuuvvvvvvvvvvvvvvvvuuvvvvvvvvvvvvvvuuvvvvvvuuvvuuvvvvvvuuvvvvvvvvvvvvvvvvuuvvuuvvvvvvvvvvuuvvvvvvvvvvvvvvvvvvvvvvvvvvuuuuvvvvvvvvvvvvuuvvvvuuvvvvvvvvvvvuu|׳xvvvvvvvvvvvvvvuuvvuuvvvvvvvvvvvvuuvvvvvvuuvvuuvvvvvvvvuuvvvvvvvvvvvvvvvvvvvvvvuuvvvvvvuuvvuuvvuuvvvvvvvvuuvvvvvvuuvuu|׳xvvvvvvvvvvuuvvuuvvvvvvvvvvuuuuvvuuuuvvuuvvvvvvuuuuvvvvvvvvvvvvuuvvvvvvuuvvuuvvvvvvvvvvuuuuvvuuvvvvvvvvvvvvvvvvvvvvuuvvvvvvvvvvuvxسxvuvvvvvvvvvvvvvvuuvvuuvvvvuuvvvvuuvvvvvvvvuuvvuuvvuuvvvvuuuuvvvvvvvvvvvvuuvvvvuuvvvvvvuuuuvvvvvvvvuuvvvvvvvvuuvvuuvvvvvvvvvvvvuuvvvvuuvvvvvvuuuuvvvvuuuuuuvvvvvvvvuuvvvvvvvvvvvvvvxtuvuuvvuuvvvvvvvvvvvvvvvvvvuuvvuuvvvvuuvvuuvvvvuuvvvvvvvvuuuuvvuuvvuuvvvvvvvvvvvvvvvvuuvvvvvvvvvvuuvvvvvvuuuuvvuuuuuuvvvvvvvvvvvvvvuuuuvvvvuuvvuuvvuuvvvvvvvvvvvvuuuuvvuuvvvvuuuuuuvvvuu{̬tuvuuvvvvvvvvvvvvvvuuvvuuvvvvuuvvuuuuvvvvvvvvuuuuvvuuuuvvvvuuuuuuvvvvvvvvvvuuvvvvuuuuvvuuvvuuvvvvvvuuvvuuvvvvvvvvvvvvvvuuvvvvvvvvuuuuvvvvvvvvuuvvvvvvuuvvvvvvvvvvvvuuu{tuuvvuuvvuuuuvvvvuuvvuuvvvvvvvvuuvvvvvvvvvvvvvvuuvvuuvvvvvvvvuuvvvvuuvvvvvvvvvvvvuuuuvvuuuuvvuuuuuuvvvvuuvvvvvvvvvvvvvvvvvvuuuuvvvvvvvvvvvvuuvvvvvvvvvvuuvvvvvvvvuuvvuuuuuuvvvvvvuuuuuuvvvvuuvvvvuuvvuuvvvuu{֩{uuvvvuuuuuuuuvvvvuuuuvvuuuuuuuuvvuuvvuuuuvvvvvvuuuuuuvvvvuuvvuuvvvvvvvvuuvvuuuuuuuuvvvvuuuuuuuuvvuuuuvvuuvvuuuuuuvvvvuuvvvvuuvvvvuuuuvvuuuuvvvvvvvvvvuuvvuuuuvvvvvvuuvvuuuuvvuuvvuuvvvvuuvvvvvvuuvvvvvvvvuuvvvvuuvvuuvvuuuuvvvvvvuuvvuuvvuuvvuuuuvvuuvvuuuw|ٹ{wuuvvvvvuuuuvvuuuuuuvvvvvvuuuuuuuuvvvvvvvvvvvvuuuuuuuuuuuuuuvvuuuuuuuuuuvvuuvvvvuuuuvvvvvvuuvvvvuuuuvvvvvvvvvvuuvvuuuuuuuuuuvvutstuuuuvvuuuuvvvvvvvvuuuuvvvvuuvvuuvvvvuuvvvvuuuuuuuuvvuuuuuuvvvvvvvvuuvvuuvvuuuuuuuuuuvvuuuuvvvvuuvvvvuuuuuuvvuuvvvvuuvvuuvvuuvvvvvvvvvvuuuuuuvvvvuuvvuuvvvvvvvvuuvvvvvvvvvvuuvvuuuuvvvvvvvvuuuuvvvvvvuuvvvvvvvvuuvvvvuuvvutstuuuuvvuuvvuuuuuuvvuuvvuuuuvvvvuuvvvvvvuuuuuuuuuuvvuuuuuuuuuuuuuuvvvvvvuuvvuuuuvvuuuuvvuuuuuuvvuuvvvvuuvvuuuuuuuuuuuuuuuuuuuuuuvvuuvvvvvvuuvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvuuvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvuuvvvvvvvvvvvvuuvvvvvvvvvvvvvvvvvvvvvvvvvvvuu֩{uuvvvvvvvvvvvuuvvvvvvvvvvvvuuvvvvuuvvvvvvvvvvuuvvvvuuvvvvuuvvvvvvvvvvvvvvvvvvvvvvvvvuvvvvvvvvvvvvvvvvuuvvvvvvvvvvvvvvvvvvuuuuvvuuvvvvvvvvuuvvvvuuuuvvuuvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvuuvvvvvvuuvvvvvvuuvvvvvvvvvvvvvvvvvvvvvvuuvvvvvvvvuuvvvvvvvvuuuuuuvvvvvvvvuuvvvvvvvvvvvvvvvvvvuuuvvutϒstvuuvvvvvvvvvvuuvvvvvvvvvvvvvvvvuuvvvvvvvvvvvvvvuuvvvvvvuuvvuuvvvvvvuuvvvvvvvvvvvvvvvvuuvvuuvvvvvvvvvvuuvvvvvvvvvvvvvvvvvvvvvvvvvvuuuuvvvvvvvvvvvvuuvvvvuuvvvvvvvvvvvvvvw׼~xuvvvvvvvvvvvvvvuuvvuuvvvvvvvvvvvvuuvvvvvvuuvvuuvvvvvvvvuuvvvvvvvvvvvvvvvvvvvvvvuuvvvvvvuuvvuuvvuuvvvvvvvvuuvvvvvvuuvvuuw׼xuvvvvvvvvvvuuvvuuvvvvvvvvvvuuuuvvuuuuvvuuvvvvvvuuuuvvvvvvvvvvvvuuvvvvvvuuvvuuvvvvvvvvvvuuuuvvuuvvvvvvvvvvvvvvvvvvvvuuvvvvvvvvvvvvuxԹxuuvvvvvvvvvvvvvvvuuvvuuvvvvuuvvvvuuvvvvvvvvuuvvuuvvuuvvvvuuuuvvvvvvvvvvvvuuvvvvuuvvvvvvuuuuvvvvvvvvuuvvvvvvvvuuvvuuvvvvvvvvvvvvuuvvvvuuvvvvvvuuuuvvvvuuuuuuvvvvvvvvuuvvvvvvvvvvvvvtsڴuuvuuvvuuvvvvvvvvvvvvvvvvvvuuvvuuvvvvuuvvuuvvvvuuvvvvvvvvuuuuvvuuvvuuvvvvvvvvvvvvvvvvuuvvvvvvvvvvuuvvvvvvuuuuvvuuuuuuvvvvvvvvvvvvvvuuuuvvvvuuvvuuvvuuvvvvvvvvvvvvuuuuvvuuvvvvuuuuuuvvvvvxݿuuvuuvvvvvvvvvvvvvvuuvvuuvvvvuuvvuuuuvvvvvvvvuuuuvvuuuuvvvvuuuuuuvvvvvvvvvvuuvvvvuuuuvvuuvvuuvvvvvvuuvvuuvvvvvvvvvvvvvvuuvvvvvvvvuuuuvvvvvvvvuuvvvvvvuuvvvvvvvvvvvvuuu{tuuvvuuvvuuuuvvvvuuvvuuvvvvvvvvuuvvvvvvvvvvvvvvuuvvuuvvvvvvvvuuvvvvuuvvvvvvvvvvvvuuuuvvuuuuvvuuuuuuvvvvuuvvvvvvvvvvvvvvvvvvuuuuvvvvvvvvvvvvuuvvvvvvvvvvuuvvvvvvvvuuvvuuuuuuvvvvvvuuuuuuvvvvuuvvvvuuvvuuvvvuu|֩{uuvvvuuuuuuuuvvvvuuuuvvuuvvuuuuvvuuvvuuuuvvvvvvuuuuuuvvvvuuvvuuvvvvvvvvuuvvuuuuuuuuvvvvuuuuuuuuvvuuuuvvuuvvuuuuuuvvvvuuvvvvuuvvvvuuuuvvuuuuvvvvvvvvvvuuvvuuuuvvvvvvuuvvuuuuvvuuvvuuvvvvuuvvvvvvuuvvvvvvvvuuvvvvuuvvuuvvuuuuvvvvvvuuvvuuvvuuvvuuuuvvuuvvuuvutz־ytuvvvvvvvuuuuvvuuuuuuvvvvvvuuuuuuuuvvvvvvvvvvvvuuuuuuuuuuuuuuvvuuuuuuuuuuvvuuvvvvuuuuvvvvvvuuvvvvuuuuvvvvvvvvvvuuvvuuuuuuuuuuvvutstuuuuvvuuuuvvvvvvvvuuuuvvvvuuvvuuvvvvuuvvvvuuuuuuuuvvuuuuuuvvvvvvvvuuvvuuvvuuuuuuuuuuvvuuuuvvvvuuvvvvuuuuuuvvuuvvvvuuvvuuvvuuvvvvvvvvvvuuuuuuvvvvuuvvuuvvvvvvvvuuvvvvvvvvvvuuvvuuuuvvvvvvvvuuuuvvvvvvuuvvvvvvvvuuvvvvuuvvutstuuuuvvuuvvuuuuuuvvuuvvuuuuvvvvuuvvvvvvuuuuuuuuuuvvuuuuuuuuuuuuuuvvvvvvuuvvuuuuvvuuuuvvuuuuuuvvuuvvvvuuvvuuuuuuuuuuuuuuuuuuuuuuvvuuvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvwwvvvvvvvvvvvvvvvvvvvuu֩|uuvvvvvvvvvvvvvvvwwvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvwwvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvwwvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvutϒsuvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvwwvvwwvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvuv|׳xvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvuu|׳xvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvx̨xvuuuvvvvvvvvvvvvvvvvvvuuvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvuuvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvut֩|uuvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvuuvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvuuvvvvvvvvvvvvvvvvuuvvvvvvvvvvvvvvvvvvvvvvvvvvvvvuwٰ~uuvuuvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvuuvvvvvvvvuuvvvvvvvvvvvvvvvvvvuuvvvvvvvvvvvvvvvvvvvvuuvvvvvvuuvvvvvvvvvvvvvvvvvvuuvvvvvvvvuuvvvvvvvvvvvvuuvvvvvvvvvvuuvvvvvvvuu{tuvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvuuuuvvvvvvvvvvuuvvvvvvvvvvvvvvvvvvvvuuvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvuu|֩{uuvvvvvuuvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvuuvvvvuuvvvvvvvvvvvvvvvvvvvvvvvvvvuuvvvvvvuuvvvvvvvvvvvvuuvvuuvvvvuuuuvvvvvvuuvvvvvvvvvvvvvvvvvvvvuuuuvvuuvvvvuuvvuuvvvvuuvvvvvvvvuuvvvvvvvvvvvvvvvvuuvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvuuuuvvvvuuuuvvvvvuuvzϰyvuuvvvvvvvvvvvvvuuvvvvvvvvvvvvuuvvuuvvuuvvvvuuvvvvvvvvvvvvvvuuvvvvvvuuvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvuuvvvvvvuuvvuuuuvvvvvvvvvvuuvtstuuvvuuvvvvvvvvvvuuuuvvuuvvvvvvvvvvvvuuuuvvvvvvuuvvvvvvvvuuuuuuuuvvvvvvvvvvvvvvvvvvvvuuvvvvvvuuuuvvvvvvvvvvuuuuvvvvvvuuvvuuvvvvuuuuvvvvuuvvvvvvvvvvvvvvuuvvuuvvvvvvvvvvvvvvvvuuvvvvvvvvuuvvuuuuvvvvuuvvvvuuuuuuvvvvvvuuvvvtstuvvvvvvvvvvvvvvvuuvvvvvvvvvvvvvvvvuuvvuuvvvvuuvvuuvvvvvvvvuuuuuuvvuuuuvvuuvvvvuuvvuuvvuuvvvvuuuuvvvvvvvvvvvvvvvvuuvvvvvvuuvvvvuuvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvwwvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvwwvvvvvvvvvvvvvvvvvvvuu֩|uuvvvvvvvvvvvvvvvwwvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvwwvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvwwvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvutϒsuvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvwwvvwwvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvw׼xuvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvw׼xuvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvuuwɮwuvvvvvvvvvvvvvvvvvvvvvvvuuvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvuuvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvuuОxuvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvuvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvuuvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvusգzuvvuuvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvuuvvvvvvvvuuvvvvvvvvvvvvvvvvvvuuvvvvvvvvvvvvvvvvvvvvuuvvvvvvuuvvvvvvvvvvvvvvvvvvuuvvvvvvvvuuvvvvvvvvvvvvuuvvvvvvvvvvuuvvvvvvvuu{tuvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvuuuuvvvvvvvvvvuuvvvvvvvvvvvvvvvvvvvvuuvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvuu|֩{uuvvvvvuuvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvuuvvvvuuvvvvvvvvvvvvvvvvvvvvvvvvvvuuvvvvvvuuvvvvvvvvvvvvuuvvuuvvvvuuuuvvvvvvuuvvvvvvvvvvvvvvvvvvvvuuuuvvuuvvvvuuvvuuvvvvuuvvvvvvvvuuvvvvvvvvvvvvvvvvuuvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvuuuuvvvvuuuuvvvvvvuuuxɱxuuuvvvvvvvvvvvvvvuuvvvvvvvvvvvvuuvvuuvvuuvvvvuuvvvvvvvvvvvvvvuuvvvvvvuuvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvuuvvvvvvuuvvuuuuvvvvvvvvvvuuvtsuuuvvuuvvvvvvvvvvuuuuvvuuvvvvvvvvvvvvuuuuvvvvvvuuvvvvvvvvuuuuuuuuvvvvvvvvvvvvvvvvvvvvuuvvvvvvuuuuvvvvvvvvvvuuuuvvvvvvuuvvuuvvvvuuuuvvvvuuvvvvvvvvvvvvvvuuvvuuvvvvvvvvvvvvvvvvuuvvvvvvvvuuvvuuuuvvvvuuvvvvuuuuuuvvvvvvuuvvvtstuvvvvvvvvvvvvvvvuuvvvvvvvvvvvvvvvvuuvvuuvvvvuuvvuuvvvvvvvvuuuuuuvvuuuuvvuuvvvvuuvvuuvvuuvvvvuuuuvvvvvvvvvvvvvvvvuuvvvvvvuuvvvvuuvvvvvvwwvvvvvvvvvvvvvvvvvvvvwwvvwwwwvvvvvvwwvvwwwwvvvvvvvvvvwwvvvvvvvvvvvvwwvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvwwvvvvvvvvvvvvvvvvvvwwvvvvvvvvwwvvvvvvwwvvwwvvvvwwvvvvwwvvvvvvvvvvvvvvvvvvvvvvvvvvvvwwvvvvwwvvvuu֩|uuvwwvvwwvvvvvvwwvvvvvvvvvvvvvvwwvvvvvvvvvvvvvvwwvvwwvvvvwwvvvvvvvvwwvvvvvvvvvvvvvvvvvvvvwwvvwwvvvvvvwwvvvvwwwwvvvvvvvvvvvvvvvvwwvvvvvvvvvvvvvvwwvvvvvvvvvvvvvvvvvvvvwwvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvwwvvvvvvvvwwvvvvwwvvvvwwvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvwwvvvvwwvvvvvvwutϒstvvvvvvvvvvvvvvvvvvvvvvvvvwwvvvvwwvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvwwvvvvvvvvvvvvvvvvwwvvvvwwvvvvvvvvvvvvvvvvvvvvvuv}׳xvvvvvvvvvvvvvvvvwwvvvvvvvvvvvvvvvvvvvvvvvvvvvvwwvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvwwvvvvvvvvvvvvvvvvvvvvvvvvvvwwvvvvv}׳xvvvvvvvvvvwwvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvwwvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv{վ|uvvvvvvvvvvvvvvwwvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvwwvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvuuȓxvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvutЗxvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvwwvvvvvvvvvvvvvvvuu{tuvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvuu|֩{uuvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvwwvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvuvxվxvuvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvtsuuvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvuuvvvvvvvvvvvvvvvvvvvvvvuuvvvvvvvvvvvvvtstuvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvuuvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvwwvvvvvvvvvvvvvvvvvvvvwwvvwwwwvvvvvvwwvvwwwwvvvvvvvvvvwwvvvvvvvvvvvvwwvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvwwvvvvvvvvvvvvvvvvvvwwvvvvvvvvwwvvvvvvwwvvwwvvvvwwvvvvwwvvvvvvvvvvvvvvvvvvvvvvvvvvvvwwvvvvwwvvvuu֩|uuvwwvvwwvvvvvvwwvvvvvvvvvvvvvvwwvvvvvvvvvvvvvvwwvvwwvvvvwwvvvvvvvvwwvvvvvvvvvvvvvvvvvvvvwwvvwwvvvvvvwwvvvvwwwwvvvvvvvvvvvvvvvvwwvvvvvvvvvvvvvvwwvvvvvvvvvvvvvvvvvvvvwwvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvwwvvvvvvvvwwvvvvwwvvvvwwvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvwwvvvvwwvvvvvvwutϒstvvvvvvvvvvvvvvvvvvvvvvvvvwwvvvvwwvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvwwvvvvvvvvvvvvvvvvwwvvvvwwvvvvvvvvvvvvvvvvvvvvvvvvxּxuvvvvvvvvvvvvvvvvwwvvvvvvvvvvvvvvvvvvvvvvvvvvvvwwvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvwwvvvvvvvvvvvvvvvvvvvvvvvvvvwwvvwvvvxּxvvvvvvvvvvvwwvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvwwvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvus~ѹwvvvvvvvvvvvvvvvvwwvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvwwvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvuuݾtuvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvuuȏsuvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvwwvvvvvvvvvvvvvvvvu|tuvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvuu|֩|uuvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvwwvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvuuwѹwvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvutuuvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvuuvvvvvvvvvvvvvvvvvvvvvvuuvvvvvvvvvvvvvtstuvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvuuvvvvvvvvvvvvvvvvvvvvvvvvvvvvwwwwwwvvwwwwwwvvvvvvwwvvvvvvvvvvvvvvvvvvwwwwvvvvwwvvvvvvwwvvvvvvvvvvwwvvvvwwwwwwvvvvvvwwvvvvvvwwwwwwvvvvvvwwwvvvwwvvvvwwvvwwwwwwvvwwwwwwwwvvvvvvwwvvvvwwvvvvvvvvwwvvwwwwvvvvwwwwwwvvvvwwvvvvwwvvvvvvwwvvvuu֪|vvvwwvvwwvvvvvvvvvvvvvvvvwwvvvvwwvvvvwwvvwwvvvvvvvvvvwwvvvvwwvvvvvvvvvvvvwwvvvvvvvvvvwwwwvvvvvvwwvvvvwwvvvvvvvvvvvvvvwwvvvvwwvvwwwwvvvvvvvvvvwwvvwwvvwwwwvvvvvvvvvvvvvvvvwwvvwwvvwwvvvvvvvvvvvvvvvvwwvvvvvvvvvvvvvvvvwwvvvvvvvvvvvvvvwwvvvvwwwwvvvvwwvvvvvvwwwwvvvvvvvvvvwwvvvvwwvvvvvvwwwwvvwwvvvvvutϓsuvwwwwvvvvwwvvwwvvvvwwwwvvvvvvvvvvwwvvvvvvvvwwvvvvvvvvwwwwwwvvvvwwvvvvvvvvwwvvvvwwvvwwvvvvvvvvvvvvvvvvwwwwvvvvvvvvvvvvvvvvvvvvvvwwvvwwvvwwvvvvvvwwwwvvvvvvvvwwvvwwwwwwvvvvvvvzϰxvvvvwwwwvvvvvvwwwwwwvvwwwwwwvvvvvvvvvvvvwwwwvvwwwwwwwwvvvvvvvvvvvvvvvvvvvvwwwwvvvvvvwwvvvvvvvvvvvvvvvvvvvvvvvvwwvvwwwwvvvvvvvvvvvzϰxvvvvvvvvvvvvvvvvvvvvwwwwwwvvvvvvvvvvvvvvvvwwvvvvvvvvwwvvvvvvvvvvvvvvvvwwvvwwvvvvvvvvvvvvvvvvvvvvvvvvvvvvwwvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvuuxȮzvvwvvvvvvvvvvvvvvvvvvvvvvvvvvwwwwwwwwvvvvvvvvwwvvvvvvvvvvvvvvvvvvwwvvvvvvvvvvvvwwvvvvvvvvvvvvvvvvvvvvwwvvvvwwvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv|ѳtuvvvvvwwvvvvwwvvwwvvvvwwvvvvvvvvvvvvwwvvvvvvvvwwvvvvwwvvvvvvvvvvvvwwvvwwvvvvwwvvvvwwvvvvvvvvvvvvvvwwvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvwwwwvvvvvvvvwwvvvvvvvvvvwwwwwwvvvvvvvvvvvvvvvvvvvvvvvvvuuٺtuvvvvvwwwwvvvvvvvvvvvvvvvvvvwwvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvwwwwvvvvvvvvvvvvvvwwvvvvvvwwvvwwvvvvwwvvvvvvvvvvvvvvvvvvvvvvvvvvwwvvvvvvvvvvvvwwvvvvvvvvu|uuvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvwwvvvvvvwwvvvvvvwwvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvwwvvvvvvvvvvwwvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvwwvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvwwvvvvvvvvvvv|֩|vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvwwvvvvvvvvvvvvwwvvvvvvvvvvvvwwvvvvwwvvvvwwvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvwwvvvvvvvvvvwwvvvvwwvvvvwwvvvvvvvvvvvvvvvvvvvvvvwwvvvvwwwwvvvvuuvzǮzvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvwwvvvvvvvvvvvvvvwwvvvvvvvvvvvvwwvvvvvvvvvvvvvvvvvvwwvvvvvvwwvvvvvvwwvvvvvvvvvvvvvvvvwwvvvvvvvvvvvvvtsuuvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvwwvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvwwvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvwwvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvtstuvvvvvvvvvvvvvvvvvvvvvvvvvvvwwvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvwwvvvvvvvvvvvvvvvvwwvvvvvvvvvvvvvvvvvvvvwwvvvvvvwwvvvvwwvvvvvvvvvvwwwwwwvvwwwwwwvvvvvvwwvvvvvvvvvvvvvvvvvvwwwwvvvvwwvvvvvvwwvvvvvvvvvvwwvvvvwwwwwwvvvvvvwwvvvvvvwwwwwwvvvvvvwwwwvvwwvvvvwwvvwwwwwwvvwwwwwwwwvvvvvvwwvvvvwwvvvvvvvvwwvvwwwwvvvvwwwwwwvvvvwwvvvvwwvvvvvvwwvvvuu֪|vvvwwvvwwvvvvwwvvvvvvvvvvwwvvvvwwvvvvwwvvwwvvvvvvvvvvwwvvvvwwvvvvvvvvvvvvwwvvvvvvvvvvwwwwvvvvvvwwvvvvwwvvvvvvvvvvvvvvwwvvvvwwvvwwwwvvvvvvvvvvwwvvwwvvwwwwvvvvvvvvvvvvvvvvwwvvwwvvwwvvvvvvvvvvvvvvvvwwvvvvvvvvvvvvvvvvwwvvvvvvvvvvvvvvwwvvvvwwwwvvvvwwvvvvvvwwwwvvvvvvvvvvwwvvvvwwvvvvvvwwwwvvwwvvvvvuuϓtuvwwwwvvvvwwvvwwvvvvwwwwvvvvvvvvvvwwvvvvvvvvwwvvvvvvvvwwwwwwvvvvwwvvvvvvvvwwvvvvwwvvwwvvvvvvvvvvvvvvvvwwwwvvvvvvvvvvvvvvvvvvvvvvwwvvwwvvwwvvvvvvwwwwvvvvvvvvwwvvwwwwwwvvvvvvvut˱yuvvvvwwwwvvvvvvwwwwwwvvwwwwwwvvvvvvvvvvvvwwwwvvwwwwwwwwvvvvvvvvvvvvvvvvvvvvwwwwvvvvvvwwvvvvvvvvvvvvvvvvvvvvvvvvwwvvwwwwvvvvvvvvvvvut˱yuvvvvvvvvvvvvvvvvvvvvwwwwwwvvvvvvvvvvvvvvvvwwvvvvvvvvwwvvvvvvvvvvvvvvvvwwvvwwvvvvvvvvvvvvvvvvvvvvvvvvvvvvwwvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvuuyǪ}tuvwwvvvvvvvvvvvvvvvvvvvvvvvvvvwwwwwwwwvvvvvvvvwwvvvvvvvvvvvvvvvvvvwwvvvvvvvvvvvvwwvvvvvvvvvvvvvvvvvvvvwwvvvvwwvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvyƧuuvvvvvwwvvvvwwvvwwvvvvwwvvvvvvvvvvvvwwvvvvvvvvwwvvvvwwvvvvvvvvvvvvwwvvwwvvvvwwvvvvwwvvvvvvvvvvvvvvwwvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvwwwwvvvvvvvvwwvvvvvvvvvvwwwwwwvvvvvvvvvvvvvvvvvvvvvvvvvuu}˭uuvvvvvwwwwvvvvvvvvvvvvvvvvvvwwvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvwwwwvvvvvvvvvvvvvvwwvvvvvvwwvvwwvvvvwwvvvvvvvvvvvvvvvvvvvvvvvvvvwwvvvvvvvvvvvvwwvvvvvvvuu|uuvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvwwvvvvvvwwvvvvvvwwvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvwwvvvvvvvvvvwwvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvwwvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvwwvvvvvvvvvvv|֩|vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvwwvvvvvvvvvvvvwwvvvvvvvvvvvvwwvvvvwwvvvvwwvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvwwvvvvvvvvvvwwvvvvwwvvvvwwvvvvvvvvvvvvvvvvvvvvvvwwvvvvwwwwvvvvvvvut|é}tuvwwvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvwwvvvvvvvvvvvvvvwwvvvvvvvvvvvvwwvvvvvvvvvvvvvvvvvvwwvvvvvvwwvvvvvvwwvvvvvvvvvvvvvvvvwwvvvvvvvvvvvvvtsuuvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvwwvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvwwvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvwwvvvvvvvvvvvvvvwwvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvusuuvvvvvvvvvwwvvvvvvvvvvvvvvvvwwvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvwwvvvvvvvvvvvvvvvvwwvvvvvvvvvvvvvvvvvvvvwwvvvvvvwwvvvvwwvvvvvvvvvvwwwwvvwwvvwwwwvvvvvvvvwwwwwwvvwwwwvvwwvvvvwwwwvvwwwwwwwwvvwwwwwwwwvvvvwwvvwwvvvvvvwwwwwwwwvvwwwwwwwwvvwwwwwwwwwwvvwwvvwwvvvvwwwwwwwwvvvvvvwwwwvvvvwwvvwwvvvvvvvvwwvvvvvvwwvvwwwwwwvvvvwwwwvvwwwwwwwwvvwwwvu֩}vvwvvvvwwwwwwwwwwvvwwvvvvwwvvvvwwvvvvvvwwvvwwvvvvwwwwwwwwvvvvvvwwvvvvvvvvvvwwwwvvvvvvwwwwvvwwwwvvvvwwvvvvvvvvwwvvvvwwwwwwvvwwvvvvwwwwwwvvvvwwwwvvwwwwwwvvvvwwwwwwvvwwvvwwvvwwwwvvwwwwvvwwwwvvwwwwvvwwwwwwwwvvwwvvwwwwvvwwwwvvwwwwwwvvwwvvwwwwwwvvvvwwvvwwvvwwvvwwwwvvwwwwwwvvvvwwwwvvwwwwvvvvwwwwvvvuuϓtuvwwwwwwvvvvvvvvwwwwvvwwvvvvvvwwwwvvwwwwwwvvvvwwwwvvvvvvvvwwvvwwwwwwwwwwwwwwvvwwvvwwvvvvwwwwvvvvvvvvvvwwvvwwvvwwwwwwvvwwwwvvwwwwvvvvwwwwwwvvwwwwvvvvvvwwwwwwvvvvvvvvwwwwwwvvwvuy˥yvvvvwwwwvvwwwwvvwwwwwwwwvvwwvvvvwwvvwwvvwwwwvvvvwwwwvvvvvvvvvvwwwwwwwwwwvvvvwwvvwwvvvvvvwwvvvvwwvvvvvvwwvvwwvvwwwwvvwwwwvvvvwwwwvvvvuy˥ywvvwwwwwvvwwwwvvwwvvvvvvwwvvvvwwwwvvvvwwwwvvvvwwwwvvvvvvvvvvwwwwwwwwvvvvwwwwwwwwvvvvvvvvwwvvvvvvwwwwvvvvvvvvvvwwwwwwvvvvvvvvvvwwwwvvwwvvvvwwwwwvuwzӳ~xuvvvvwwvvvvvvvvwwvvvvwwvvvvwwvvvvvvwwvvwwwwvvvvvvvvwwwwvvvvvvvvvvvvvvvvwwvvwwwwwwvvvvvvwwvvvvwwvvvvvvvvwwvvvvwwvvvvwwvvwwwwvvvvwwvvvvvvwwwwvvwwvvvvwwvvwwwwvvwwvvvvvvvvwwvvvvvvwwwwwwvvwwvvwvxܻuvwwwvvwwvvwwvvvvvvwwvvwwwwvvvvvvvvvvwwvvwwvvvvvvwwwwwwwwwwvvwwvvvvvvvvwwwwvvvvwwwwvvvvvvwwvvvvvvvvwwwwvvwwvvvvvvvvvvvvvvvvwwwwwwvvwwvvwwvvwwvvvvwwvvwwwwvvvvwwwwvvvvvvvvvvvvvvvvwwwwvvvvvvvyuuvvvwwvvvvwwwwvvvvwwwwvvvvvvwwvvvvvvvvwwvvvvwwwwvvvvwwvvwwvvvvvvvvvvwwwwwwwwvvwwwwwwwwvvwwwwvvwwvvvvwwvvvvvvvvwwvvvvvvvvvvvvwwvvwwvvvvvvvvvvwwvvvvwwvvvvvvwwwwvvvvvvvvv|uvwvvwwvvwwvvvvvvwwvvvvwwvvvvvvvvwwvvvvwwvvwwwwwwvvwwvvvvvvvvwwvvvvwwwwwwvvwwwwvvvvvvvvvvvvwwvvvvvvwwvvvvvvvvvvwwvvwwvvvvvvwwwwvvwwwwwwvvvvwwvvwwvvwwvvwwwwvvvvvvvvwwvvvvvvwwvvvvvvvvvvwwvvvvvvwwvvvvwwwwvvv|֩|vvwvvvvvvvvvvwwvvwwvvvvvvvvvvvvvvwwwwwwvvvvwwwwwwvvvvvvvvvvvvvvvvvvvvwwvvvvwwvvvvvvvvvvvvvvvvvvwwwwwwwwvvvvvvvvwwvvvvwwvvvvvvvvvvwwvvvvvvwwvvwwvvwwwwvvwwvvvvvvwwvvvvwwvvvvvvvvwwvvvvvvvvvvvvwwvvvvvvvvwwwwvvvvvvwwvvvvvvvvvvvvvvvvwwvvvvwwvvvvwwwwvvvvvvwwwwvvvvvvuw}ϰ~xuuvvvvvvvvvvvvvvvvvvvvvwwwwvvwwwwvvvvvvvvvvwwvvwwvvvvvvvvvvvvvvvvvvwwvvwwvvvvvvvvvvvvwwvvvvwwvvvvvvwwvvvvwwwwvvvvvvvvwwwwwwwwvvvvvvvvvvvutuuvvvwwvvwwwwwwvvvvvvvvwwvvwwvvvvvvvvvvvvvvvvvvvvwwvvwwvvvvvvwwvvvvvvwwwwvvvvwwvvwwvvwwwwvvvvvvvvvvvvvvvvvvvvwwwwvvvvvvvvwwvvvvvvvvvvvvvvvvwwwwvvvvvvvvvvvvvvwwvvwwwwvvvvwwvvvvwwwwvvvvvvwwvvvvvvvvvvvvvvwwwwvvwwvvvvvvwwvusuuvwwvvvvvvwwvvvvwwvvwwvvvvvvvvvvvvvvwwvvvvvvvvwwvvvvvvwwwwvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvwwvvvvvvvvwwvvvvvvvvwwvvwwvvvvvvvvwwwwwwwwwwvvwwvvwwwwvvvvvvvvwwwwwwvvwwwwvvwwvvvvwwwwvvwwwwwwwwvvwwwwwwwwvvvvwwvvwwvvvvvvwwwwwwwwvvwwwwwwwwvvwwwwwwwwwwvvwwvvwwvvvvwwwwwwwwvvvvvvwwwwvvvvwwvvwwvvvvvvvvwwvvvvvvwwvvwwwwwwvvvvwwwwvvwwwwwwwwvvwwwvu֩}vwwvvvvwwwwwwwwwwvvwwvvvvwwvvvvwwvvvvvvwwvvwwvvvvwwwwwwwwvvvvvvwwwwvvvvvvvvwwwwvvvvvvwwwwvvwwwwvvvvwwvvvvvvvvwwvvvvwwwwwwvvwwvvvvwwwwwwvvvvwwwwvvwwwwwwvvvvwwwwwwvvwwvvwwvvwwwwvvwwwwvvwwwwvvwwwwvvwwwwwwwwvvwwvvwwwwvvwwwwvvwwwwwwvvwwvvwwwwwwvvvvwwvvwwvvwwvvwwwwvvwwwwwwvvvvwwwwvvwwwwvvvvwwwwvvvuuϓtuvwwwwwwvvvvvvvvwwwwvvwwvvvvvvwwwwvvwwwwwwvvvvwwwwvvvvvvvvwwvvwwwwwwwwwwwwwwvvwwvvwwvvvvwwwwvvvvvvvvvvwwvvwwvvwwwwwwvvwwwwvvwwwwvvvvwwwwwwvvwwwwvvvvvvwwwwwwvvvvvvvvwwwwwwvvwwvvu}ɮwvvvvvvwwwwvvwwwwvvwwwwwwwwvvwwvvvvwwvvwwvvwwwwvvvvwwwwvvvvwwvvvvwwwwwwwwwwvvvvwwvvwwvvvvvvwwvvvvwwvvvvvvwwvvwwvvwwwwvvwwwwvvvvwwwwvvvvwvt}ɮwvvwwwwwwwwvvwwwwvvwwvvvvvvwwvvvvwwwwvvvvwwwwvvvvwwwwvvvvvvvvvvwwwwwwwwvvvvwwwwwwwwvvvvvvvvwwvvvvvvwwwwvvvvvvvvvvwwwwwwvvvvvvvvvvwwwwvvwwvvvvwwwwwwvvvvw͵yuvwvvvvwwvvvvvvvvwwvvvvwwvvvvwwvvvvvvwwvvwwwwvvvvvvvvwwwwvvvvvvvvvvvvvvvvwwvvwwwwwwvvvvvvwwvvvvwwvvvvvvvvwwvvvvwwvvvvwwvvwwwwvvvvwwwwvvvvwwwwvvwwvvvvwwvvwwwwvvwwvvvvvvvvwwvvvvvvwwwwwwvvwwvvwutخ}uvwwwvvwwvvwwvvvvvvwwvvwwwwvvvvvvvvvvwwvvwwvvvvvvwwwwwwwwwwvvwwvvvvvvvvwwwwvvvvwwwwvvvvvvwwvvvvvvvvwwwwvvwwvvvvvvvvvvvvvvvvwwwwwwvvwwvvwwvvwwvvvvwwvvwwwwvvvvwwwwwwvvvvvvvvvvvvvvwwwwvvvvvvvvwڵvvvvvwwvvvvwwwwvvvvwwwwvvvvvvwwvvvvvvvvwwvvvvwwwwvvvvwwvvwwvvvvvvvvvvwwwwwwwwvvwwwwwwwwvvwwwwvvwwvvvvwwvvvvvvvvwwvvvvvvvvvvvvwwvvwwvvvvvvvvvvwwvvvvwwvvvvvvwwwwvvvvvvvvv|uvwvvwwvvwwvvvvvvwwvvvvwwvvvvvvvvwwvvvvwwvvwwwwwwvvwwvvvvvvvvwwvvvvwwwwwwvvwwwwvvvvvvvvvvvvwwvvvvvvwwvvvvvvvvvvwwvvwwvvvvvvwwwwvvwwwwwwvvvvwwvvwwvvwwvvwwwwvvvvvvvvwwvvvvvvwwvvvvvvvvvvwwvvvvvvwwvvvvwwwwvvv|֩|vvwvvvvvvvvvvwwvvwwvvvvvvvvvvvvvvwwwwwwvvvvwwwwwwvvvvvvvvvvvvvvvvvvvvwwvvvvwwvvvvvvvvvvvvvvvvvvwwwwwwwwvvvvvvvvwwvvvvwwvvvvvvvvvvwwvvvvvvwwvvwwvvwwwwvvwwvvvvvvwwvvvvwwvvvvwwvvwwvvvvvvvvvvvvwwvvvvvvvvwwwwvvvvvvwwvvvvvvvvvvvvvvvvwwvvvvwwvvvvwwwwvvvvvvwwwwvvvvvvvvuxǰxuvvvvvvvvvvvvvvvvvvvvvvvvwwwwvvwwwwvvvvvvvvvvwwvvwwvvvvvvvvvvvvvvvvvvwwvvwwvvvvvvvvvvvvwwvvvvwwvvvvvvwwvvvvwwwwvvvvvvvvwwwwwwwwvvvvvvvvvvvutuuvvvwwvvwwwwwwvvvvvvvvwwvvwwvvvvvvvvvvvvvvvvvvvvwwvvwwvvvvvvwwvvvvvvwwwwvvvvwwvvwwvvwwwwvvvvvvvvvvvvvvvvvvvvwwwwvvvvvvvvwwvvvvvvvvvvvvvvvvwwwwvvvvvvvvvvvvvvwwvvwwwwvvvvwwvvvvwwwwvvvvvvwwvvvvvvvvvvvvvvwwwwvvwwvvvvvvwwvutuuvwwvvvvvvwwvvvvwwvvwwvvvvvvvvvvvvvvwwvvvvvvvvwwvvvvvvwwwwvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvwwvvvvvvvvwwvvvvvvvvwwvvwwvvvvvvvvwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwvvwwvvvvvvwwwwwwwwvvvvwwvvwwwwwwwwwwwwvvvvwwvvvvwwvvvvvvwwwwvvwwwwwwwwwwwwwwwwwwvvwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwvvwwvvvvwwwwwwwwwwwwvvwwwwvvwwwwwwwwwwwwwwvvwwwwwwwwwvu֩|vwwwwwwwwwwvvwwvvwwwwvvwwwwvvwwwwwwwwwwwwwwwwvvwwvvwwwwwwwwvvwwvvwwwwwwwwwwwwwwvvvvwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwvvvvwwwwwwwwwwvvwwwwwwvvwwwwwwwwvvwwwwvvwwvvwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwvvwwwwvvvvwwvvvvvvvvvvwwwwvvwwwwvvwwwwvvwwwwwwwwwwwwwwvvwwwwwwwwvvwwwwwwwwvvvuuϓtuwwwwwwwwwvvwwwwwwwwvvvvwwwwwwwwvvvvwwwwvvwwvvvvvvvvwwwwwwvvwwwwwwvvwwwwwwvvwwwwwwwwwwvvwwvvvvvvvvwwwwwwwwvvwwwwwwwwwwvvvvwwvvvvwwvvwwwwvvwwwwvvvvwwwwwwwwwwwwwwvvwwwwwwwwwwvvvvux~վ}vvvvvwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwvvwwwwwwwwwwvvvvwwvvwwvvvvwwwwwwvvwwwwvvwwwwwwwwvvwwvvvvwwwwvvwwwwwwwwwwwwwwwwvvwwwwwwwwwwwwvvwwvvvvux~վ}vvvvwwwwwwwwwwwwwwwwwwwvvwwwwwwwwwwwwwwwwwwwwvvvvvvvvvvvvvvwwvvwwvvwwwwvvvvwwvvwwvvwwvvwwwwwwwwwwwwwwvvwwwwwwvvwwwwwwwwvvwwwwwwwwwwwwvvwwvvwwwwwwwwwwvvv{кywvvvvvwwvvvvvvwwvvwwwwvvwwvvwwwwwwwwvvwwwwwwwwvvwwwwwwwwwwvvwwwwwwvvwwvvvvwwvvwwwwvvvvvvwwwwwwvvwwvvvvwwwwwwwwvvwwvvvvvvwwwwvvvvwwvvwwwwwwwwwwwwvvwwwwvvwwwwvvwwwwwwwwwwwwvvwwvvvvvvwwwwwwvvwwwuuӟyvwwwwwwwwwwwwvvwwvvvvwwwwwwwwwwwwvvwwvvwwvvvvwwwwwwwwvvwwwwvvwwwwwwwwvvwwwwwwwwwwwwwwwwwwwwwwvvvvwwwwwwwwwwwwwwvvvvwwvvwwvvwwwwvvvvvvvvwwwwwwwwwwvvwwwwwwwwvvwwwwwwvvwwvvvvvvvvwwwwvvwwwwwwwuu֩|vvwwwwwvvwwwwwwwwwwvvvvwwvvwwwwwwvvvvwwwwwwvvvvwwwwwwvvwwwwvvwwwwvvvvwwwwvvvvvvwwwwwwwwvvvvwwvvwwvvwwwwwwwwwwwwvvwwvvwwwwwwwwvvwwwwvvwwvvvvwwwwvvvvwwvvwwvvvvwwvvwwwwvvv|uvwvvvvvvwwvvwwvvwwvvvvwwwwwwvvwwwwvvvvvvvvwwwwvvwwwwwwvvvvvvwwvvwwwwvvwwwwwwvvwwwwwwwwwwvvwwwwvvwwvvwwwwwwvvvvwwvvvvwwvvwwwwwwvvvvwwwwvvwwwwwwvvwwwwvvvvvvvvwwwwwwwwvvwwwwwwwwwwwwwwwwvvwwwwvvwwvvwwvvwwvvv|֩|vvwwwwwvvvvwwvvwwvvwwvvwwvvwwwwvvwwvvvvvvwwwwvvvvvvwwwwvvwwwwwwvvwwwwwwwwvvvvwwvvvvvvvvvvwwwwvvvvwwvvwwvvvvwwvvvvwwwwvvvvwwwwvvwwwwwwvvvvwwwwwwvvwwwwwwwwvvvvvvvvwwwwwwwwvvwwvvvvwwvvvvwwvvvvwwwwwwvvwwwwvvvvvvvvwwwwwwvvvvvvwwwwvvwwwwvvwwwwwwvvvvvvwwvvvvvvvvwwvvwwvwy~̳~yvvvvwwwwwwwwwwwwvvvvvvvvwwwwvvvvwwwwvvvvvvvvwwvvvvvvvvvvwwwwvvvvvvvvwwvvvvwwwwwwvvvvvvvvvvwwvvvvvvvvvvwwvvwwwwwwvvwwvvvvvvwwvvwwvvvvvvvvvvwutuuvwwwwvvwwwwvvvvvvwwwwwwvvvvvvwwvvvvwwwwvvwwwwvvvvvvwwwwvvwwwwwwvvvvwwvvvvvvwwwwwwvvwwvvwwvvwwwwwwwwvvvvvvvvvvvvwwwwvvvvwwvvvvwwvvvvwwwwwwwwvvvvvvwwvvvvwwvvwwvvwwwwwwvvvvvvwwwwwwwwvvwwwwwwwwwwvvvvvvvvwwwwwwvvvvwwvvvvwutuvwvvvvvvvvvvvvvvwwwwvvvvvvvvwwwwwwvvwwwvvvvvvvvvwwvvwwwwvvvvvvwwwwvvwwvvvvwwwwvvwwvvvvvvwwvvwwvvvvvvwwwwwwwwvvwwvvvvwwvvwwwwvvvvwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwvvwwvvvvvvwwwwwwwwvvvvwwvvwwwwwwwwwwwwvvvvwwvvvvwwvvvvvvwwwwvvwwwwwwwwwwwwwwwwwwvvwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwvvwwvvvvwwwwwwwwwwwwvvwwwwvvwwwwwwwwwwwwwwvvwwwwwwwwwvu֩|vvwwwwwwwwwvvwwvvwwwwvvwwwwvvwwwwwwwwwwwwwwwwvvwwvvwwwwwwwwvvwwvvwwwwwwwwwwwwwwvvvvwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwvvvvwwwwwwwwwwvvwwwwwwvvwwwwwwwwvvwwwwvvwwvvwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwvvwwwwvvvvwwvvvvvvvvvvwwwwvvwwwwvvwwwwvvwwwwwwwwwwwwwwvvwwwwwwwwvvwwwwwwwwvvvuuϓtuwwwwwwwwwvvwwwwwwwwvvvvwwwwwwwwvvvvwwwwvvwwvvvvvvvvwwwwwwvvwwwwwwvvwwwwwwvvwwwwwwwwwwvvwwvvvvvvvvwwwwwwwwvvwwwwwwwwwwvvvvwwvvvvwwvvwwwwvvwwwwvvvvwwwwwwwwwwwwwwvvwwwwwwwwwwvvvvwvuzѹxwwwwvvwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwvvwwwwwwwwwwvvvvwwvvwwwwvvwwwwwwvvwwwwvvwwwwwwwwvvwwvvvvwwwwvvwwwwwwwwwwwwwwwwvvwwwwwwwwwwwwvvwwvvvvvvuzѹxvvvvwwwwwwwwwwwwwwwwwwwwvvwwwwwwwwwwwwwwwwwwwwvvvvvvvvvvvvvvwwvvwwvvwwwwvvvvwwvvwwvvwwvvwwwwwwwwwwwwwwvvwwwwwwvvwwwwwwwwvvwwwwwwwwwwwwvvwwvvwwwwwwwwwwwwwvt{˳xvvwwvvvvwwvvvvvvwwvvwwwwvvwwvvwwwwwwwwvvwwwwwwwwvvwwwwwwwwwwvvwwwwwwvvwwvvvvwwvvwwwwvvvvvvwwwwwwvvwwvvvvwwwwwwwwvvwwvvvvvvwwwwvvvvwwvvwwwwwwwwwwwwvvwwwwvvwwwwvvwwwwwwwwwwwwvvwwvvvvvvwwwwwwvvwwwvu̕xvwwwwwwwwwwwwwwwwwvvvvwwwwwwwwwwwwvvwwvvwwvvvvwwwwwwwwvvwwwwvvwwwwwwwwvvwwwwwwwwwwwwwwwwwwwwwwvvvvwwwwwwwwwwwwwwvvvvwwvvwwvvwwwwvvvvvvvvwwwwwwwwwwvvwwwwwwwwvvwwwwwwvvwwvvvvvvvvwwwwvvwwwwwwwuuўyvwwwwwwvvwwwwwwwwwwvvvvwwvvwwwwwwvvvvwwwwwwvvvvwwwwwwvvwwwwvvwwwwvvvvwwwwvvvvvvwwwwwwwwvvvvwwvvwwvvwwwwwwwwwwwwvvwwvvwwwwwwwwvvwwwwvvwwvvvvwwwwvvvvwwvvwwvvvvwwvvwwwwvvv|uvwvvvvvvwwvvwwvvwwvvvvwwwwwwvvwwwwvvvvvvvvwwwwvvwwwwwwvvvvvvwwvvwwwwvvwwwwwwvvwwwwwwwwwwvvwwwwvvwwvvwwwwwwvvvvwwvvvvwwvvwwwwwwvvvvwwwwvvwwwwwwvvwwwwvvvvvvvvwwwwwwwwvvwwwwwwwwwwwwwwwwvvwwwwvvwwvvwwvvwwvvv}֩|vvwwwwwvvvvwwvvwwvvwwvvwwvvwwwwvvwwvvvvvvwwwwvvvvvvwwwwvvwwwwwwvvwwwwwwwwvvvvwwvvvvvvvvvvwwwwvvvvwwvvwwvvvvwwvvvvwwwwvvvvwwwwvvwwwwwwvvvvwwwwwwvvwwwwwwwwvvvvvvvvwwwwwwwwvvwwvvvvwwvvvvwwvvvvwwwwwwvvwwwwvvvvvvvvwwwwwwvvvvvvwwwwvvwwwwvvwwwwwwvvvvvvwwvvvvvvvvwwvvwwwwwutȯ~tuwvvvvwwwwwwwwwwwwvvvvvvvvwwwwvvvvwwwwvvvvvvvvwwvvvvvvvvvvwwwwvvvvvvvvwwvvvvwwwwwwvvvvvvvvvvwwvvvvvvvvvvwwvvwwwwwwvvwwvvvvvvwwvvwwvvvvvvvvvvwutuuvwwwwvvwwwwvvvvvvwwwwwwvvvvvvwwvvvvwwwwvvwwwwvvvvvvwwwwvvwwwwwwvvvvwwvvvvvvwwwwwwvvwwvvwwvvwwwwwwwwvvvvvvvvvvvvwwwwvvvvwwvvvvwwvvvvwwwwwwwwvvvvvvwwvvvvwwvvwwvvwwwwwwvvvvvvwwwwwwwwvvwwwwwwwwwwvvvvvvvvwwwwwwvvvvwwvvvvwutuvwvvvvvvvvvvvvvvwwwwvvvvvvvvwwwwwwvvwwwwvvvvvvvvwwvvwwwwvvvvvvwwwwvvwwvvvvwwwwvvwwvvvvvvwwvvwwvvvvvvwwwwwwwwvvwwvvvvwwvvwwwwvvvvwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwvvwwwwwwwwwwwwwwwwvvwwwwwwwwwwwwwwwwwwwwwwwwvvwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwvvwwvvwwwwwwwwwwwwvvwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwvvwwwvu֪}wwwwwwwvvwwwwwwwwwwwwwwwwwwwwvvwwvvwwwwwwwwwwwwwwvvwwwwwwwwwwwwwwwwwwwwwwwwwwwwvvwwwwwwwwwwwwwwwwvvwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwvvwwwwwwwwvvwwwwwwvvwwvvwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwvvwwwwvvwwwwwwwwwwwwwwwwvvwwwwwwwwwwwwwwvvwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwvvwwwwwwwvuϓtuvvvwwvvwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwvvwwwwwwwwwwwwvvvvwwwwwwvvwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwvvwwwwwwvvwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwvwzȮ{wwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwvvwwvvwwwwwwvvvvwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwvwzȮzwwwwwwwwwwwwwwwwwwwwwwwvvwwwwwwvvwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwvvwwwwwwwwwwvvwwwwvvwwwwwwvvwwwwwwwwwwwwvvvvwwvvwwwwvvwwwwwwwwwvuw{ոzwvwvvvvwwwwwwwwwwwwwwwwwwwwvvwwvvwwwwwwvvwwwwwwwwwwwwvvwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwvvwwwwwwwwwwvvvvvvvvwwwwwwwwvvwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwvvwwwwwwwwwwwwvvwwwwwwwwwwwwwwvvwwwwwvvÐvvwwwwwwwwwvvwwwwvvvvwwwwwwwwwwvvwwwwwwwwwwwwwwwwwwvvwwwwwwwwwwwwvvwwwwwwwwwwwwwwwwwwvvwwvvwwwwwwwwwwwwwwwwwwwwwwwwwwvvvvvvwwwwvvwwvvwwwwwwwwwwwwvvvvwwwwvvvvvvwwwwwwwwvvvvwwwwwwwwwwwwwwwwwwwuuȔxvwwwvvwwwwwwwwvvwwwwvvwwwwwwwwvvwwwwwwwwwwwwwwwwwwwwvvwwvvwwwwwwwwwwwwwwwwwwwwvvvvvvwwwwwwwwwwwwwwvvwwwwwwwwwwwwwwwwvvwwwwvvwwwwwwwwwwwwwwwwvvwwwwwwwwwwvvwwwwwwvvwwwwvvv|uvwvvvvwwwwwwwwwwwwwwwwwwwwwwvvwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwvvwwwwwwwwwwwwwwwwvvwwvvwwwwwwvvwwwwvvwwwwwwwwwwvvwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwvvwwwwwwvvwwvvwwwwwwwwwwwwvvwwwwwwwwwwwwwwwwvvvvwwwvv}֪|vvwwwwwwwwwwwwwvvvvwwwwvvwwwwvvvvwwwwwwvvwwvvvvwwwwwwwwwwwwvvwwvvwwwwwwwwvvwwwwvvwwwwwwvvwwwwvvwwvvwwwwwwwwvvvvwwwwvvwwwwwwwwwwwwwwwwwwvvwwwwvvwwwwvvwwvvwwvvwwwwwwwwwwwwvvvvwwvvwwvvwwwwwwwwwwwwwwwwwwwwwwwwwwwwvvwwwwvvwwvvwwwwwwwwwwwwwwwwvvwwwwwwwwwwwwvvwwvvwwwwwwwvuxϲxuvvvvwwwwvvwwwwwwwwwwvvvvwwvvwwvvwwwwvvvvwwvvvvwwwwvvwwwwwwwwvvwwvvwwwwwwvvwwwwwwwwwwwwwwwwwwvvwwwwvvwwwwwwwwwwwwvvwwwwwwwwwwvvwwwwwwwwwwvvwwwutuvvwwwwwwwwwwwwwwwwwwwwvvwwwwvvwwvvwwwwwwwwwwvvwwwwwwvvwwwwwwwwvvwwwwvvwwwwwwwwvvwwwwwwwwwwwwwwwwwwwwvvwwvvwwwwvvwwvvwwwwvvwwvvvvvvwwwwwwvvwwwwwwwwvvwwwwwwvvwwwwwwwwvvvvwwwwwwwwwwwwwwwwwwwwwwvvwwwwvvwwwwvvwwwwvvwwwwvvwutuvwwwwwwwvvwwwwwwwwwwwwvvwwwwwwvvwwwwwwwwwwwwvvwwvvvvwwwwwwwwwwvvvvwwwwwwwwwwwwwwvvvvwwwwwwwwvvwwvvwwwwwwwwwwwwwwvvwwwwwwwwwwvvwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwvvwwwwwwwwwwwwwwwwvvwwwwwwwwwwwwwwwwwwwwwwwwvvwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwvvwwvvwwwwwwwwwwwwvvwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwvvwwwwv֪}wwwwwwwvvwwwwwwwwwwwwwwwwwwwwvvwwvvwwwwwwwwwwwwwwvvwwwwwwwwwwwwwwwwwwwwwwwwwwwwvvwwwwwwwwwwwwwwwwvvwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwvvwwwwwwwwvvwwwwwwvvwwvvwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwvvwwwwvvwwwwwwwwwwwwwwwwvvwwwwwwwwwwwwwwvvwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwvvwwwwwwwvuϓtuvvvwwvvwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwvvwwwwwwwwwwwwvvvvwwwwwwvvwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwvvwwwwwwvvwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwvx|ǫ~uvwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwvvwwvvwwwwwwvvvvwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwvx|ǫ}uvwwwwwwwwwwwwwwwwwwwwwwwvvwwwwwwvvwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwvvwwwwwwwwwwvvwwwwvvwwwwwwvvwwwwwwwwwwwwvvvvwwvvwwwwvvwwwwwwwwwwwwvvx̷zuvwwwvvvvwwwwwwwwwwwwwwwwwwwwvvwwvvwwwwwwvvwwwwwwwwwwwwvvwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwvvwwwwwwwwwwvvvvvvvvwwwwwwwwvvwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwvvwwwwwwwwwwwwvvwwwwwwwwwwwwwwvvwwwwwvv~ַuuwwwwwwwwwvvwwwwvvvvwwwwwwwwwwvvwwwwwwwwwwwwwwwwwwvvwwwwwwwwwwwwvvwwwwwwwwwwwwwwwwwwvvwwvvwwwwwwwwwwwwwwwwwwwwwwwwwwvvvvvvwwwwvvwwvvwwwwwwwwwwwwvvvvwwwwvvvvvvwwwwwwwwvvvvwwwwwwwwwwwwwwwwwwwvuݾtuwwwvvwwwwwwwwvvwwwwvvwwwwwwwwvvwwwwwwwwwwwwwwwwwwwwvvwwvvwwwwwwwwwwwwwwwwwwwwvvvvvvwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwvvwwwwvvwwwwwwwwwwwwwwwwvvwwwwwwwwwwvvwwwwwwvvwwwwwvv|uvwvvvvwwwwwwwwwwwwwwwwwwwwwwvvwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwvvwwwwwwwwwwwwwwwwvvwwvvwwwwwwvvwwwwvvwwwwwwwwwwvvwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwvvwwwwwwvvwwvvwwwwwwwwwwwwvvwwwwwwwwwwwwwwwwvvvvwwwwv}֪|vvwwwwwwwwwwwwwvvvvwwwwvvwwwwvvvvwwwwwwvvwwvvvvwwwwwwwwwwwwvvwwvvwwwwwwwwvvwwwwvvwwwwwwvvwwwwvvwwvvwwwwwwwwvvvvwwwwvvwwwwwwwwwwwwwwwwwwvvwwwwvvwwwwvvwwvvwwvvwwwwwwwwwwwwvvvvwwvvwwvvwwwwwwwwwwwwwwwwwwwwwwwwwwwwvvwwwwvvwwvvwwwwwwwwwwwwwwwwvvwwwwwwwwwwwwvvwwvvwwwwwwwwwvuxǰxuvwvvvvwwwwvvwwwwwwwwwwvvvvwwvvwwvvwwwwvvvvwwvvvvwwwwvvwwwwwwwwvvwwvvwwwwwwvvwwwwwwwwwwwwwwwwwwvvwwwwvvwwwwwwwwwwwwvvwwwwwwwwwwvvwwwwwwwwwwvvwwwutuvvwwwwwwwwwwwwwwwwwwwwvvwwwwvvwwvvwwwwwwwwwwvvwwwwwwvvwwwwwwwwvvwwwwvvwwwwwwwwvvwwwwwwwwwwwwwwwwwwwwvvwwvvwwwwvvwwvvwwwwvvwwvvvvvvwwwwwwvvwwwwwwwwvvwwwwwwvvwwwwwwwwvvvvwwwwwwwwwwwwwwwwwwwwwwvvwwwwvvwwwwvvwwwwvvwwwwvvwutuvwwwwwwwvvwwwwwwwwwwwwvvwwwwwwvvwwwwwwwwwwwwvvwwvvvvwwwwwwwwwwvvvvwwwwwwwwwwwwwwvvvvwwwwwwwwvvwwvvwwwwwwwwwwwwwwvvwwwwwwwwwwvvwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwxxwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwxxwwwwwwwwwwwwwwwwwvv֪}wwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwvvwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwvuϓtuwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwvvwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwx}Գ~yuvwwwwwwwwwwwwwwwwwwwwwvvwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwx}Դ~yvwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwvvwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwvvwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwvvw{̵zwvwwwwvvwwwwwwwwwwwwwwwwwwwwwwwwwwvvwwwwwwwwwwwwwwwwvvwwwwwwwwwwwwvvwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwvvwwwwwwwwwwwwwwwwwwvvwwwwv{ȩuvwwwwwwwwwwwvvwwwwwwwwwwvvwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwvvwwwwwwvvwwwwwwwwwwwwwwwwwwwwwwwwwwwwvvwwvvwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwvvwwwwwwwvvѳuuwwwwwwwwwwwwwwwwwvvwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwvvwwwwwwwwwwwwwwwwwwvvwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwv|uvwwwwwvvwwwwwwwwwwwwwwwwwwwwwwwwvvwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwvvwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwvvwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwvvwwwwwwvvwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwvv}֪|vwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwvvwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwvvwwwwwwwwwwvvwwwwwwwwwwwwwwwwwwwwwwvvwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwvvwy~˳ywvwwwwwwwwwwwwwwwwwwwwvvwwvvwwwwwwwwwwwwwwwwwwwwwwwwwwvvwwwwwwwwwwvvwwwwwwwwwwwwwwwwwwwwwwwwwwvvwwwwwwwwwwvvwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwvutuvwwwwwvvwwwwwwwwwwwwwwwwvvwwvvwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwvvvvwwwwwwwwwwwwwwvvwwwwwwwwwwwwwwwwwwwwwwwwwwwwvvwwwwvvwwwwwwwwwwwwwwwwvvwwwwwwwwwwwwwwwwwwwwvvwwwwwwwwvvwwwwvvvvwwvvwwwwwwwwwwwwwwwwwwvvwutuvvvvwwwwwwwwwwwwvvwwvvwwwwwwwwwwwwvvwwwwwwwwwwwwwwwwvvwwwwwwwwwwwwwwwwwwvvwwwwwwvvwwwwwwwwwwwwwwwwwwwwwwvvwwwwvvwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwxxwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwxxwwwwwwwwwwwwwwwwwvv֪}wwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwvuϓuuwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwvvwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwuuͶyvwwwwwwwwwwwwwwwwwwwwwwwwvvwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwut~Ͷyuvwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwvvwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwvvwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwvuzǯxvwwwwwwwvvwwwwwwwwwwwwwwwwwwwwwwwwwwvvwwwwwwwwwwwwwwwwvvwwwwwwwwwwwwvvwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwvvwwwwwwwwwwwwwwwwwwvvwwwwwx|ܻvvwwwwwwwwwwwvvwwwwwwwwwwvvwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwvvwwwwwwvvwwwwwwwwwwwwwwwwwwwwwwwwwwwwvvwwvvwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwvvwwwwwwwwv{ƨvvwwwwwwwwwwwwwwwwwvvwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwvvwwwwwwwwwwwwwwwwwwvvwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwv|uvwwwwwvvwwwwwwwwwwwwwwwwwwwwwwwwvvwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwvvwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwvvwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwvvwwwwwwvvwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwvv}֪|vwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwvvwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwvvwwwwwwwwwwvvwwwwwwwwwwwwwwwwwwwwwwvvwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwuu|ítuwwwwwwwwwwwwwwwwwwwwwwwvvwwvvwwwwwwwwwwwwwwwwwwwwwwwwwwvvwwwwwwwwwwvvwwwwwwwwwwwwwwwwwwwwwwwwwwvvwwwwwwwwwwvvwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwvutuvwwwwwvvwwwwwwwwwwwwwwwwvvwwvvwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwvvvvwwwwwwwwwwwwwwvvwwwwwwwwwwwwwwwwwwwwwwwwwwwwvvwwwwvvwwwwwwwwwwwwwwwwvvwwwwwwwwwwwwwwwwwwwwvvwwwwwwwwvvwwwwvvvvwwvvwwwwwwwwwwwwwwwwwwvvwutuvvvvwwwwwwwwwwwwvvwwvvwwwwwwwwwwwwvvwwwwwwwwwwwwwwwwvvwwwwwwwwwwwwwwwwwwvvwwwwwwvvwwwwwwwwwwwwwwwwwwwwwwvvwwwwvvwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwxxwwxxwwxxwwwwwwwwxxwwwwwwwwwwwwwwxxwwwwwwwwxxwwwwxxwwwwwwwwwwwwxxwwwwwwwwwwwwwwwwxxxxwwwwwwxxwwwwwwxxwwwwxxwwwwwwxxwwxxwwxxwwwwwwwwxxwwwwwwwwwwwwwwwwxxwwxxwwxxxxwwwwwwwwwwwwwwwwwwwwxxwwxwv֪}vvwwwwwwwwwxxwwwwxxwwwwwwwwxxwwwwwwwwwwwwwwwwwwwwxxwwwwxxxxwwxxwwwwwwwwwwxxwwwwwwwwwwwwwwwwwwxxwwwwwwwwwwwwwwxxwwwwwwwwwwwwwwwwwwwwwwwwxxwwwwwwwwwwwwwwxxwwxxwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwxxwwwwwwxxwwwwwwwwwwwwxxwwwwxxwwwwwwwwwwwwxxwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwxxwwwwxxwwwwwvuϓuvxwwwwwwwwwwwwwwwwwwwwwwwwwwwwxxwwwwwwwwxxwwxxwwwwwwwwwwwwxxwwwwwwxxwwwwxxwwwwwwwwxxwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwxxwwwwwwwwwwwwwwwwwwxxwwwwwwwwwwwwwwwwwwwwxxwwwwwwxxwwwwwwxxwvvyкzwwwxwwwwwwwxxxwwwwxxwwwwwwwwwwxxwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwxxwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwxxwwwwwwwwwwwwwvuyкzwvwwwwwwwwwwxxwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwxxwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwxxwwxxwwwwwwwwwwwwxxwwwwwwwwwwwwwwwwwwxxwwwwxxwwwwwwwwwwwwwwwwwwwwwwwwvw{ūzwvvwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwxxwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwxxwwwwwwwwwwwwwwwwwwxxwwwwwwxxwwwwwwwwwwwwwwwwwwxxwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwvwذ~vvwxxwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwzܻvvwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwv}uvwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwv}֪}wwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwvvwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwvux}yvvvwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwutvvwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwvvwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwvvvvwwwwwwwwwwwwwwwwwwwutvvwwwwwwwwwwwvvwwwwwwwwwwwwwwwwwwvvwwwwwwwwwwwwvvwwwwwwwwvvwwwwwwwwvvwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwvvwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwxxwwxxwwxxwwwwwwwwxxwwwwwwwwwwwwwwxxwwwwwwwwxxwwwwxxwwwwwwwwwwwwxxwwwwwwwwwwwwwwwwxxxxwwwwwwxxwwwwwwxxwwwwxxwwwwwwxxwwxxwwxxwwwwwwwwxxwwxxwwwwwwwwwwwwxxwwxxwwxxxxwwwwwwwwwwwwwwwwwwwwxxwwxwv֪}vwwwwwwwwwwxxwwwwxxwwwwwwwwxxwwwwwwwwwwwwwwwwwwwwxxwwwwxxxxwwxxwwwwwwwwwwxxwwwwwwwwwwwwwwwwwwxxwwwwwwwwwwwwwwxxwwwwwwwwwwwwwwwwwwwwwwwwxxwwwwwwwwwwwwwwxxwwxxwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwxxwwwwwwxxwwwwxxwwwwwwxxwwwwxxwwwwwwwwwwwwxxwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwxxwwwwxxwwwwwvuϓuvxwwwwwwwwwwwwwwwwwwwwwwwwwwwwxxwwwwwwwwxxwwxxwwwwwwwwwwwwxxwwwwwwxxwwwwxxwwwwwwwwxxwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwxxwwwwwwwwwwwwwwwwwwxxwwwwwwwwwwwwwwwwwwwwxxwwwwwwxxwwwwwwxxwwwvvy˴ywwwwxxwwwwwwxxxxwwwwxxwwwwwwwwwwxxwwwwwwwwwwwwwwxxwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwxxwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwxxwwwwwwwwwwwwwwwwvy˳ywwwwwwwwwwwwwwxxwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwxxwwwwxxwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwxxwwxxwwwwwwwwwwwwxxwwwwwwwwwwwwwwwwwwxxwwwwxxwwwwwwwwwwwwwwwwwwwwwwwwwwvvu}μ}xvwxwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwxxwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwxxwwwwwwwwwwwwwwwwwwxxwwwwwwxxwwwwwwwwwwwwwwwwwwxxwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwvuԣ{vwwxxwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwxxwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwutخ~vvwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwxxwwwwwwwwwwwwwwwwwwwwwwwwwwwwv}vvwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwv}֪}wwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwvvwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwvwx̸|wuvwvvwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwuuvvwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwvvvwwwwwwwwwwwwwwwwwwwwuuvvwwwwwwwwwwwvvwwwwwwwwwwwwwwwwwwvvwwwwwwwwwwwwvvwwwwwwwwvvwwwwwwwwvvwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwvvwwwwwwwwwwwwwwwwwwwwwwxxxxxxwwxxwwxxwwwwwwwwwwwwwwxxxxxxxxwwxxxxxxwwwwxxxxxxwwxxxxxxwwwwxxwwwwwwwwxxwwxxwwwwwwwwwwxxxxxxxxxxwwxxxxxxwwwwxxxxxxwwwwxxxxxxxxxxxxwwxxwwxxwwwwwwxxwwwwwwwwwwwwxxxxwwwwwwxxxxxxxxxxwwxxxxxxwwxxwwwwv֪}wwwxxxxxxwwxxxxxxwwwwwwwwxxwwxxxxxxxxwwwwwwwwxxwwwwwwxxxxwwxxxxxxxxxxxxxxxxwwxxxxwwxxxxwwwwwwwwwwxxwwwwwwxxxxwwwwxxwwwwxxxxxxwwwwxxwwxxwwxxwwwwwwxxxxxxxxwwxxxxxxwwxxwwwwwwxxwwwwxxwwxxwwwwxxxxxxxxwwxxwwxxxxwwxxxxxxwwwwwwwwwwxxxxwwwwwwwwwwwwwwwwxxxxwwxxxxxxwwwwwwxxwwxxwwxxwwwwxxwwwwwwxxwwxxwwxvuϓuvwwwxxwwxxwwwwwwwwwwxxwwxxwwwwwwwwxxwwwwwwxxxxxxxxxxwwwwxxwwwwwwxxwwwwxxwwxxxxxxwwwwwwwwxxxxxxwwwwxxwwxxwwwwwwxxxxxxxxwwxxwwwwxxxxxxxxwwxxxxwwxxwwxxxxwwwwwwwwxxxxwwwwxxwwxxwwwwwwxxwwwwwwwwzո{wwwwwwwwwwwxxxxwwxxxxxxwwwwwwwwxxxxwwxxwwwwwwxxwwwwxxwwxxwwxxxxxxwwxxwwxxwwxxxxwwwwwwxxwwwwwwxxwwwwxxwwwwwwwwwwwwxxwwxxxxwwxxwwwwxxxxwwxxxwwwxxwwwwwwxxwwxxxwwxzոzwwwwwwwwwwwxxxxwwxxwwwwwwxxwwxxxxxxxxwwwwwwwwwwxxwwxxxxwwxxxxwwwwxxwwwwxxwwxxwwwwwwxxwwwwwwxxwwwwwwwwwwwwwwwwxxwwwwxxxxwwwwwwxxwwwwwwxxxxwwwwxxwwwwwwxxxxwwxxwwxxxxwwwwwwxwwvvy~̵}xwwwxwwxxwwxxwwxxxxwwwwwwwwxxwwwwxxxxxxwwwwwwwwwwwwwwxxxxwwxxxxwwwwwwwwwwwwxxwwxxwwxxxxxxwwxxwwwwwwxxwwwwwwwwwwwwxxxxwwwwxxwwwwxxxxwwwwwwwwwwwwxxwwwwwwwwxxwwwwwwwwwwwwxxxxxxxxxxwwwwwwwwxxwwwwwwwwxxwwwwwwwwwvu͗zwwwwwwwwwwxxwwwwxxwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwxxwwwwwwwwwwxxwwwwwwwwxxwwwwxxwwwwxxwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwxxwwwwxxxxwwwwwwxxwwwwxxwwxxwwwwxxwwwwwwwwwwwwwwxxwwwwwwwwwwwwxxwwwwwwwvuӟzwwwwwxxwwwwxxwwxxwwxxxxwwwwxxwwwwwwwwwwxxwwxxwwwwwwxxwwwwwwwwwwwwwwwwwwwwwwwwwwxxwwwwwwwwwwwwwwwwxxxxwwwwwwwwwwwwwwwwwwwwwwwwxxwwwwxxwwwwwwwwxxxxxxwwwwwwwwwwwwwwwwwwwwwww}vvwwwwwwwwwwwwwwwxxwwwwwwwwwwwwwwwwwwxxwwwwwwxxwwwwwwwwwwwwwwwwwwxxwwwwwwwwwwxxwwwwwwwwxxxxwwwwwwwwwwwwwwwwwwwwwwwwxxwwwwxxwwxxwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwxxwwwwxxwwwwwwwwxxwwwwxxwwwwwwxxwwwwwwwwwww}֪}wwwwwwwwwwwwwwwwwwwxxwwwwxxwwwwxxwwwwwwwwwwwwwwxxwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwxxwwwwwwwwwwwwwwwwwwwwxxwwwwxxwwxxwwwwxxxxwwwwwwxxwwwwwwwwwwwwwwwwwwwwwwxxwwwwwwwwwwwwwwwwwwwwwwwwxxwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwxxwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwxxwwwwxxxxwwwwwwwvwz̵|xwvwwwwwwwwwwwwwwwwwwwwwwwwxxwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwxxwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwxxwwwwwwwwwwwwwwwwxxxxwwwwwwwwwwwwwwwwwwwwxxwwwwwwwwwuuvwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwxxwwwwwwwwwwwwwwwwwwwwwwwwwwwwwxxxwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwvuvvwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwxxwwwwwwwwwwwwwwwwwwwwxxwwwwwwwwxxwwwwwwwwwwwwwwwwwwwwwwwwwwxxxxwwwwxxwwwwwwwwwwwwwwwwwwwwwwwwwwxxxxxxwwxxwwxxwwwwwwwwwwwwwwxxxxxxxxwwxxxxxxwwwwxxxxxxwwxxxxxxwwwwxxwwwwwwwwxxwwxxwwwwwwwwwwxxxxxxxxxxwwxxxxxxwwwwxxxxxxwwwwxxxxxxxxxxxxwwxxwwxxwwwwxxxxwwwwwwwwwwwwxxxxwwwwwwxxxxxxxxxxwwxxxxxxwwxxwwwwvת}wwwxxxxxxwwxxxxxxwwwwwwwwxxwwxxxxxxxxwwwwwwwwxxwwwwwwxxxxwwxxxxxxxxxxxxxxxxwwxxxxwwxxxxwwwwwwwwwwxxwwxxwwxxxxwwwwxxwwwwxxxxxxwwwwxxwwxxwwxxwwwwwwxxxxxxxxwwxxxxxxwwxxwwwwwwxxwwwwxxwwxxwwwwxxxxxxxxwwxxxxxxxxwwxxxxxxwwwwwwwwwwxxxxwwwwwwwwwwwwwwwwxxxxwwxxxxxxwwwwxxxxwwxxwwxxwwwwxxwwwwwwxxwwxxwwxvuДuvwxxxxwwxxwwwwwwwwwwxxwwxxwwwwwwwwxxwwwwwwxxxxxxxxxxwwwwxxwwwwwwxxwwwwxxwwxxxxxxwwwwwwwwxxxxxxwwwwxxwwxxwwwwwwxxxxxxxxwwxxwwwwxxxxxxxxwwxxxxwwxxwwxxxxwwwwwwwwxxxxwwwwxxwwxxwwwwwwxxwwwwwwwwwvu͸zvwwxxwwwwwwwwxxxxwwxxxxxxwwwwwwwwxxxxwwxxwwwwwwxxwwwwxxwwxxwwxxxxxxwwxxwwxxwwxxxxwwwwwwxxwwwwwwxxwwwwxxwwwwwwwwwwwwxxwwxxxxwwxxwwwwxxxxwwxxxxwwxxwwwwwwxxwwxxxxxwwvt͸zvwwwwwwwwwwwwxxxxwwxxwwwwwwxxwwxxxxxxxxwwwwwwwwwwxxwwxxxxwwxxxxwwwwxxwwwwxxwwxxwwwwwwxxwwwwwwxxwwwwwwwwwwwwwwwwxxwwwwxxxxwwwwwwxxwwwwwwxxxxwwwwxxwwwwwwxxxxwwxxwwxxxxwwwwwwxxwwxxwut~zuvwwwxxwwxxwwxxwwxxxxwwwwwwwwxxwwwwxxxxxxwwwwwwwwwwwwwwxxxxwwxxxxwwwwwwwwwwwwxxwwxxwwxxxxxxwwxxwwwwwwxxwwwwwwwwwwwwxxxxwwwwxxwwwwxxxxwwwwwwwwwwwwxxwwwwwwwwxxwwwwwwwwwwwwxxxxxxxxxxwwwwwwwwxxwwwwwwwwxxwwwwwwwwwvvŏuvwwwwwwwwwxxwwwwxxwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwxxwwwwwwwwwwxxwwwwwwwwxxwwwwxxwwwwxxwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwxxwwwwxxxxwwwwwwxxwwwwxxwwxxwwwwxxwwwwwwwwwwwwwwxxwwwwwwwwwwwwxxwwwwwwwwv̖xwwwwwwxxwwwwxxwwxxwwxxxxwwwwxxwwwwwwwwwwxxwwxxwwwwwwxxwwwwwwwwwwwwwwwwwwwwwwwwwwxxwwwwwwwwwwwwwwwwxxxxwwwwwwwwwwwwwwwwwwwwwwwwxxwwwwxxwwwwwwwwxxxxxxwwwwwwwwwwwwwwwwwwwwwww}vvwwwwwwwwwwwwwwwxxwwwwwwwwwwwwwwwwwwxxwwwwwwxxwwwwwwwwwwwwwwwwwwxxwwwwwwwwwwxxwwwwwwwwxxxxwwwwwwwwwwwwwwwwwwwwwwwwxxwwwwxxwwxxwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwxxwwwwxxwwwwwwwwxxwwwwxxwwwwwwxxwwwwwwwwwww}ת}wwwwwwwwwwwwwwwwwwwxxwwwwxxwwwwxxwwwwwwwwwwwwwwxxwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwxxwwwwwwwwwwwwwwwwwwwwxxwwwwxxwwxxwwwwxxxxwwwwwwxxwwwwwwwwwwwwwwwwwwwwwwxxwwwwwwwwwwwwwwwwwwwwwwwwxxwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwxxwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwxxwwwwxxxxwwwwwwwwwvvx|zuvwwwwwwwwwwwwwwwwwwwwwwwwwwwxxwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwxxwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwxxwwwwwwwwwwwwwwwwxxxxwwwwwwwwwwwwwwwwwwwwxxwwwwwwwwwuuvwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwxxwwwwwwwwwwwwwwwwwwwwwwwwwwwwxxxxwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwxxwwxxwwwwwwwwwwwwwwwwwwwvuvvwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwxxwwwwwwwwwwwwwwwwwwwwxxwwwwwwwwxxwwwwwwwwwwwwwwwwwwwwwwwwwwxxxxwwwwxxwwwwwwwwxxwwwwwwwwwwwwwwxxxxxxxxxxwwxxxxxxwwxxxxxxxxxxwwwwxxwwxxxxwwxxwwwwwwxxwwxxxxxxwwxxxxwwxxwwxxxxxxxxxxxxxxxxxxxxxxxxxxwwxxxxxxxxxxxxxxxxxxxxxxwwwwxxxxxxxxxxxxxxxxxxxxwwwwxxxxxxxxxxxxxxwwxxxxwwxxxxxxxxxxxxxxxxxxxxxxxxxxxwwת}wwxxxwwxxxxxxxxwwxxwwxxxxxxxxxxxxxxwwxxxxxxxxxxxxxxxxwwxxxxxxwwwwxxxxwwxxxxwwxxwwxxxxxxwwwwxxxxxxxxwwxxxxwwxxxxwwwwxxxxxxxxxxwwxxxxxxxxxxxxxxxxwwxxxxxxwwwwxxxxxxxxwwxxxxxxxxwwwwxxxxwwxxwwwwxxxxxxxxxxxxxxwwwwwwxxxxwwxxxxxxxxxxxxxxxxwwxxxxxxwwwwxxxxxxxxxxxxwwxxxxxxxxxxwwxxxxxxwwxxxxxxxxwwxxwwxvuДuvxxxwwxxxxxxxxxxxxxxxxwwxxxxxxxxxxxxxxxxwwwwxxxxwwwwxxwwwwxxxxwwxxxxxxxxxxxxxxxxwwwwxxwwxxxxxxxxxxxxwwxxxxxxxxxxxxxxwwwwxxxxwwxxxxxxxxwwwwxxwwxxwwxxxxxxxxxxxxxxxxwwxxxxxxxxwwwwxxxxxxwwwwxxwwvy̶{xwwwxxwwxxwwxxxxwwwwxxxxxxxxxxxxxxwwxxxxwwxxxxxxxxwwxxxxxxxxxxxxwwxxxxxxxxwwwwxxwwwwxxwwxxxxxxwwxxxxxxxxxxxxwwxxxxwwxxxxxxxxxxxxxxxxxxxxxxwwxxwwxxxxxxxxxxxxxxxxxxwvvy̶{xwwxxxxxxxwwxxxxxxxxxxwwxxxxxxxxxxxxxxxxxxxxwwxxxxwwxxwwxxxxwwwwxxwwxxxxxxwwwwxxxxwwxxxxxxxxxxxxxxxxxxwwxxxxxxxxwwxxxxxxxxwwwwwwxxwwxxwwxxxxwwwwwwwwxxxxxxxxxxwwwwxxxxxxxxwwxxwwxxwwvy̵{wvwwwwwwxxxxxxxxxxxxwwwwxxxxxxxxxxxxxxxxxxwwwwwwxxxxxxwwxxxxwwxxxxxxxxwwxxxxxxwwwwxxxxxxxxwwwwxxxxxxxxwwxxxxxxxxwwxxwwxxwwxxwwwwxxxxxxxxxxwwxxwwxxxxwwxxxxwwxxxxxxxxwwwwwwxxwwxxxxwwxxxxwwwwxxwwwwwwwwxxwwwwxxwwwwwعuvxxxxxwwxxxxwwxxwwwwwwxxxxxxxxxxxxxxxxxxwwxxwwxxwwwwwwxxwwxxxxxxxxwwxxxxwwxxxxxxwwwwwwwwxxxxxxxxxxxxxxwwxxxxwwxxxxwwwwwwxxxxxxxxxxwwxxwwxxwwxxxxxxxxwwxxxxwwxxxxxxwwwwxxxxwwxxxxxxxxwwxxwwwwwwwwxwvÐvvxwwwwwwxxwwxxxxwwxxwwwwxxxxxxxxwwwwwwwwwwxxxxwwwwwwwwwwxxxxwwwwxxxxwwwwwwwwxxwwwwxxwwwwxxwwxxxxxxwwxxwwwwwwwwxxxxxxwwwwwwwwxxxxwwxxwwwwwwxxxxxxxxxxwwwwwwxxxxwwwwwwwwxxwww}vwxwwxxwwxxxxwwxxxxxxxxwwwwxxwwwwwwxxxxwwxxwwwwxxwwwwwwwwwwwwxxxwwwxxwwwwxxwwxxwwxxxxwwwwxxxxxxxxxxwwxxxxwwwwxxxxxxxxxxxxwwxxwwxxxxxxwwxxxxxxxxwwxxwwwwwwxxxxxxwwwwwwxxxxwwxxwwwwxxwwxxxxwwwwwwwwwwxxwwwwwwv}ת}wvwwwwwwwwwwwwwwwwwwwwwwwxxxxwwwwwwwwxxwwxxwwwwxxxxwwxxxxwwwwwwwwxxxxwwwwwwwwxxwwwwxxxxxxwwwwxxxxwwwwxxwwwwxxxxwwxxwwwwwwxxwwxxwwwwwwwwwwwwxxxxxxwwxxwwwwwwwwxxwwxxxxwwwwwwwwwwxxxxxxxxwwwwwwxxxxxxwwxxxxwwwwwwxxwwwwwwwwwwwwxxxxxxwwxxxxwwwwwwwwwwxxxxwwxxwwwwxxwwxxxxxxxxwwxxwwwwwwwwy}͵{xvwwwwxxwwwwwwwwxxxxwwwwxxxxwwwwwwxxwwwwwwwwxxwwwwwwwwxxwwwwwwwwwwwwwwxxwwwwxxwwwwwwxxwwwwxxwwwwwwwwwwxxxxxxxxwwwwwwwwwwxxwwxxwwwwwwxxxxwwxxwwxxwwwwwwwwwwwuuvwxxxxxwwwwxxwwwwxxxxwwxxwwwwxxxxwwxxwwwwxxxxwwxxwwwwwwwwwwwwwwxxwwwwwwwwwwxxwwxxwwwwwwwwwwwwwwxxxxxxwwwwxxxxwwwwwwxxwwxxxxxxwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwxxxxwwxxwwwwwwwwwwwwxxwwxxwwwwxxwwxxwwwwwwwwwwwwxxwwxxwwwwwwwwwvuvwxwwxxxxwwxxwwwwxxxxwwxxwwwwxxxxxxwwwwxxwwwwxxxxxxwwwwwwwwwwwwwwwwxxwwwwxxwwwwwwwwxxwwwwxxwwwwwwxxwwwwwwwwwwwwwwwwwwxxxxwwwwwwwwwwxxxxxxxxxxwwxxxxxxwwxxxxxxxxxxwwwwxxwwxxxxwwxxwwwwwwxxwwxxxxxxwwxxxxwwxxwwxxxxxxxxxxxxxxxxxxxxxxxxxxwwxxxxxxxxxxxxxxxxxxxxxxwwwwxxxxxxxxxxxxxxxxxxxxwwwwxxxxxxxxxxxxxxwwxxxxwwxxxxxxxxxxxxxxxxxxxxxxxxxxxww׫}wwxxxwwxxxxxxxxwwxxwwxxxxxxxxxxxxxxwwxxxxxxxxxxxxxxxxwwxxxxxxwwwwxxxxwwxxxxwwxxwwxxxxxxwwwwxxxxxxxxwwxxxxwwxxxxwwwwxxxxxxxxxxwwxxxxxxxxxxxxxxxxwwxxxxxxwwwwxxxxxxxxwwxxxxxxxxwwwwxxxxwwxxwwwwxxxxxxxxxxxxxxwwwwwwxxxxwwxxxxxxxxxxxxxxxxwwxxxxxxwwwwxxxxxxxxxxxxwwxxxxxxxxxxwwxxxxxxwwxxxxxxxxwwxxwwxvuϓuvxxxwwxxxxxxxxxxxxxxxxwwxxxxxxxxxxxxxxxxwwwwxxxxwwwwxxwwwwxxxxwwxxxxxxxxxxxxxxxxwwwwxxwwxxxxxxxxxxxxwwxxxxxxxxxxxxxxwwwwxxxxwwxxxxxxxxwwwwxxwwxxwwxxxxxxxxxxxxxxxxwwxxxxxxxxwwwwxxxxxxwwwwxxxxwwvx}ȯywwxxwwxxwwxxwwxxxxwwwwxxxxxxxxxxxxxxwwxxxxwwxxxxxxxxwwxxxxxxxxxxxxwwxxxxxxxxwwwwxxwwwwxxwwxxxxxxwwxxxxxxxxxxxxwwxxxxwwxxxxxxxxxxxxxxxxxxxxxxwwxxwwxxxxxxxxxxxxxxxxxxwwwwwx}ȯyxwxxxxxxxxxxwwxxxxxxxxxxwwxxxxxxxxxxxxxxxxxxxxwwxxxxwwxxwwxxxxwwwwxxwwxxxxxxwwwwxxxxwwxxxxxxxxxxxxxxxxxxwwxxxxxxxxwwxxxxxxxxwwwwwwxxwwxxwwxxxxwwwwwwwwxxxxxxxxxxwwwwxxxxxxxxwwxxwwxxxxxwwvt|zuvvwwwwwwwwxxxxxxxxxxxxwwwwxxxxxxxxxxxxxxxxxxwwwwwwxxxxxxwwxxxxwwxxxxxxxxwwxxxxxxwwwwxxxxxxxxwwwwxxxxxxxxwwxxxxxxxxwwxxwwxxwwxxwwwwxxxxxxxxxxwwxxwwxxxxwwxxxxwwxxxxxxxxwwwwwwxxwwxxxxwwxxxxwwwwxxwwwwwwwwxxwwwwxxwwwww}ˬvwxxxxxwwxxxxwwxxwwwwwwxxxxxxxxxxxxxxxxxxwwxxwwxxwwwwwwxxwwxxxxxxxxwwxxxxwwxxxxxxwwwwwwwwxxxxxxxxxxxxxxwwxxxxwwxxxxwwwwwwxxxxxxxxxxwwxxwwxxwwxxxxxxxxwwxxxxwwxxxxxxwwwwxxxxwwxxxxxxxxwwxxwwwwwwwwxwwعuvxwwwwwwxxwwxxxxwwxxwwwwxxxxxxxxwwwwwwwwwwxxxxwwwwwwwwwwxxxxwwwwxxxxwwwwwwwwxxwwwwxxwwwwxxwwxxxxxxwwxxwwwwwwwwxxxxxxwwwwwwwwxxxxwwxxwwwwwwxxxxxxxxxxwwwwwwxxxxwwwwwwwwxxwww}vwxwwxxwwxxxxwwxxxxxxxxwwwwxxwwwwwwxxxxwwxxwwwwxxwwwwwwwwwwwwxxxxwwxxwwwwxxwwxxwwxxxxwwwwxxxxxxxxxxwwxxxxwwwwxxxxxxxxxxxxwwxxwwxxxxxxwwxxxxxxxxwwxxwwwwwwxxxxxxwwwwwwxxxxwwxxwwwwxxwwxxxxwwwwwwwwwwxxwwwwwwv}ת}wwwwwwwwwwwwwwwwwwwwwwwwwxxxxwwwwwwwwxxwwxxwwwwxxxxwwxxxxwwwwwwwwxxxxwwwwwwwwxxwwwwxxxxxxwwwwxxxxwwwwxxwwwwxxxxwwxxwwwwwwxxwwxxwwwwwwwwwwwwxxxxxxwwxxwwwwwwwwxxwwxxxxwwwwwwwwwwxxxxxxxxwwwwwwxxxxxxwwxxxxwwwwwwxxwwwwwwwwwwwwxxxxxxwwxxxxwwwwwwwwwwxxxxwwxxwwwwxxwwxxxxxxxxwwxxwwwwwwxxxwvx|zuvwxxwwwwxxwwwwwwwwxxxxwwwwxxxxwwwwwwxxwwwwwwwwxxwwwwwwwwxxwwwwwwwwwwxxwwxxwwwwxxwwwwwwxxwwwwxxwwwwwwwwwwxxxxxxxxwwwwwwwwwwxxwwxxwwwwwwxxxxwwxxwwxxwwwwwwwwwwwvuvwxxxxxwwwwxxwwwwxxxxwwxxwwwwxxxxwwxxwwwwxxxxwwxxwwwwwwwwwwwwwwxxwwwwwwwwwwxxwwxxwwwwwwwwwwwwwwxxxxxxwwwwxxxxwwwwwwxxwwxxxxxxwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwxxxxwwxxwwwwwwwwwwwwxxwwxxwwwwxxwwxxwwwwwwwwwwwwxxwwxxwwwwwwwwwvuvwxwwxxxxwwxxwwwwxxxxwwxxwwwwxxxxxxwwwwxxwwwwxxxxxxwwwwwwwwwwwwwwwwxxwwwwxxwwwwwwwwxxwwwwxxwwwwwwxxwwwwwwwwwwwwwwwwwwxxxxwwwwwwwwwwxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxwwxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxwwxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxww׫~wwxxxxxxxxxxxxxxxxxwwxxxxxxxxxxxxxxxxxxxxxxxxxxxxwwxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxwwxxxxxxxxxxxxxxxxxxxxxxxxwwxxxxxxxxxxxxxxxxxxxxxxxxxxxxwwxxwwxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxwwxxxxxxxxxxxxxxxxxxxxxvvϓuvxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxwwxxxxxxxxxxxxxxxxwwxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxwwxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxwwxxxwwwy~Ŭ{xwwxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxwwxxwwxxxxxxxxxxxxxxxxxxwwxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxwwxy}Ŭ{xwxxxxxxxxxxxwwxxwwxxxxxxxxxxxxwwxxxxxxxxxxxxxxxxwwwwxxxxxxxxxxxxwwxxwwxxxxxxxxxxxxxxwwxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxwwxxxxwwxxwwwwxxxxwwwwxxwwwwxxxxxxxxxxxxxxxxxxxxxxxxwwvy~Ͷ{xvvwwxxxxxwwxxxxxxxxxxxxxxxxwwxxxxxxwwxxxxwwxxxxwwwwxxxxwwxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxwwxxxxxxxxxxxxxxxxxxwwxxxxxxxxxxwwxxxxwwxxxxxxxxwwwwxxxxxxxxxxwwxxwwxxxxxxxxxxxxxxxxxxxxxxwwxxwwxxxxxxwwxxxxxxxxxxxxwwxxwwxxxwwzܼvwwxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxwwxxxxxxwwxxxxwwxxxxxxxxxxxxwwxxxxxxwwwwxxwwxxwwxxxxxxxxxxxxxxxxxxxxxxxxwwxxwwxxwwxxxxxxxxxxxxxxxxxxxxxxxxwwxxxxwwxxwwwwxxxxxxxxxxwwxxxxxxxxxxxxxxxxwwwwwwxxxxxxw|ͮvwxxxwwxxxxxxxxxxwwxxwwxxxxwwxxxxxxxxwwxxxxxxxxxxwwxxwwxxwwxxxxxxwwxxxxxxxxxxxxwwxxxxxxwwxxxxxxxxwwxxxxxxxxwwwwxxxxxxwwwwxxxxxxxxxxwwxxxxxxxxwwwwxxxxxxxxwwwwwwxxxxxxxxxxxww}wwxxxxxxxxxwwwwxxxxxxxxxxxxxxwwxxwwxxxxxxwwxxxxwwwwxxxxxxxxxxwwxxxxwwwwxxwwxxxxxxwwxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxwwwwxxxxxxxxwwwwxxxxxxxxxxxxxxxxxxwwxxxxxxxxxxxxxxxxxxxxxxxxxxwwxxxxwwxxxxxxxww}ת}wwwxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxwwwwxxwwwwxxwwwwxxxxxxxxxxxxwwxxxxxxwwwwxxxxwwwwwwwwxxxxxxwwxxwwxxxxwwwwwwxxwwxxxxxxxxxxxxxxwwwwwwwwxxxxxxxxwwxxxxwwwwxxxxxxwwxxwwxxxxxxxxxxxxxxxxxxxxwwxxxxwwxxxxxxwwxxwwwwxxwwwwxxwwxxwwxxxxwwxxwwwwxxxxxxxxxxxxxxwwxxxxxxwwwwxxwwxxxxwwwwxxwwxxxwwwx}Ͷ{wvwwxxxxwwxxxxwwxxxxwwxxxxxxxxxxxxxxxxxxxxwwxxxxxxxxxxxxxxwwxxxxxxxxxxxxxxxxwwxxwwxxxxxxxxxxxxxxxxxxwwxxxxxxwwwwxxwwxxwwxxwwxxwwxxwwwwwwxxxxwwwwxxwwxxwwwwxxxxxvuvwxwwxxwwxxxxxxxxwwxxxxxxxxwwwwwwxxxxxxwwwwxxxxxxwwxxwwxxwwxxxxxxxxwwxxwwwwxxxxwwxxxxwwxxxxxxxxxxxxwwwwxxwwxxxxwwxxxxxxwwwwxxxxwwxxwwwwwwxxwwwwxxxxwwwwxxwwwwwwxxxxxxxxxxwwwwxxwwwwwwwwxxwwxxwwxxwwxxwwwwxxwwwwxxwwwwwwxxxvuwwxxxxxwwxxxxwwxxwwxxxxxxxxwwxxxxxxxxxxxxxxwwwwwwxxwwxxwwxxxxxxxxxxwwxxxxwwwwxxwwxxxxxxxxxxxxwwxxwwxxwwwwxxxxwwxxwwxxxxwwxxwwwwwwwwxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxwwxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxwwת~wwxxxxxxxxxxxxxxxxxwwxxxxxxxxxxxxxxxxxxxxxxxxxxxxwwxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxwwxxxxxxxxxxxxxxxxxxxxxxxxwwxxxxxxxxxxxxxxxxxxxxxxxxxxxxwwxxwwxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxwwxxxxxxxxxxxxxxxxxxxxxvvϓuvxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxwwxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxwwxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxwwxxxxxxxwvzϼ}xvwxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxwwxxwwxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxwvzϽ}xvwxxxxxxxxxxxxxwwxxwwxxxxxxxxxxxxwwxxxxxxxxxxxxxxxxwwwwxxxxxxxxxxxxwwxxwwxxxxxxxxxxxxxxwwxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxwwxxxxwwxxwwwwxxxxwwwwxxwwwwxxxxxxxxxxxxxxxxxxxxxxxxxxxxwvu}zvwwwwwwxxxxxxwwxxxxxxxxxxxxxxxxwwxxxxxxwwxxxxwwxxxxwwwwxxxxwwxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxwwxxxxxxxxxxxxxxxxxxwwxxxxxxxxxxwwxxxxwwxxxxxxxxwwwwxxxxxxxxxxwwxxwwxxxxxxxxxxxxxxxxxxxxxxwwxxwwxxxxxxwwxxxxxxxxxxxxwwxxwwxxxxxxyذwwwxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxwwxxxxxxwwxxxxwwxxxxxxxxxxxxwwxxxxxxwwwwxxwwxxwwxxxxxxxxxxxxxxxxxxxxxxxxwwxxwwxxwwxxxxxxxxxxxxxxxxxxxxxxxxwwxxxxwwxxwwwwxxxxxxxxxxwwxxxxxxxxxxxxxxxxwwwwwwxxxxxxxy}vwxxxwwxxxxxxxxxxwwxxwwxxxxwwxxxxxxxxwwxxxxxxxxxxwwxxwwxxwwxxxxxxwwxxxxxxxxxxxxwwxxxxxxwwxxxxxxxxwwxxxxxxxxwwwwxxxxxxwwwwxxxxxxxxxxwwxxxxxxxxwwwwxxxxxxxxwwwwwwxxxxxxxxxxxww}wwxxxxxxxxxwwwwxxxxxxxxxxxxxxwwxxwwxxxxxxwwxxxxwwwwxxxxxxxxxxwwxxxxwwwwxxwwxxxxxxwwxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxwwwwxxxxxxxxwwwwxxxxxxxxxxxxxxxxxxwwxxxxxxxxxxxxxxxxxxxxxxxxxxwwxxxxwwxxxxxxxww}ת}wwwxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxwwwwxxwwwwxxwwwwxxxxxxxxxxxxwwxxxxxxwwwwxxxxwwwwwwwwxxxxxxwwxxwwxxxxwwwwwwxxwwxxxxxxxxxxxxxxwwwwwwwwxxxxxxxxwwxxxxwwwwxxxxxxwwxxwwxxxxxxxxxxxxxxxxxxxxwwxxxxwwxxxxxxwwxxwwwwxxwwwwxxwwxxwwxxxxwwxxwwwwxxxxxxxxxxxxxxwwxxxxxxwwwwxxwwxxxxwwwwxxwwxxxxxxwwwx}zuwwwwxxxxxxwwxxxxwwxxxxwwxxxxxxxxxxxxxxxxxxxxwwxxxxxxxxxxxxxxwwxxxxxxxxxxxxxxxxwwxxwwxxxxxxxxxxxxxxxxxxwwxxxxxxwwwwxxwwxxwwxxwwxxwwxxwwwwwwxxxxwwwwxxwwxxwwwwxxxxxvuvwxwwxxwwxxxxxxxxwwxxxxxxxxwwwwwwxxxxxxwwwwxxxxxxwwxxwwxxwwxxxxxxxxwwxxwwwwxxxxwwxxxxwwxxxxxxxxxxxxwwwwxxwwxxxxwwxxxxxxwwwwxxxxwwxxwwwwwwxxwwwwxxxxwwwwxxwwwwwwxxxxxxxxxxwwwwxxwwwwwwwwxxwwxxwwxxwwxxwwwwxxwwwwxxwwwwwwxxxvuvwxxxxxwwxxxxwwxxwwxxxxxxxxwwxxxxxxxxxxxxxxwwwwwwxxwwxxwwxxxxxxxxxxwwxxxxwwwwxxwwxxxxxxxxxxxxwwxxwwxxwwwwxxxxwwxxwwxxxxwwxxwwwwwwwwxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxyyyyxxyyxxxxyyxxxxxxxxxxxxxxxxxxxxxxyyxxxxxxxxxxxxyyxxxxyyxxxxxxxxxxxxyyxxxxxxxxxxxxxxxxxxyyyxxxxxyyxxxxxxyyxxxxxxxxxxxxxxxxxxxxxxxxxxxxyyxxxxxxxxxxxxxxxxxxxxxxxxyyxxxxxxxwwת}wwxxxxxyyxxxxxxxxxxxxyyxxxxxxxxxxxxxxxxxxxxxxxxyyxxyyxxxxxxxxxxxxyyxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxyyxxxxxxxxxxxxyyyyxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxyyxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxyyxxxxxxxxxxxxxxxxxxxxxxyyxxxxxxxxxxxxxxxxxxxxyyxxxxxxxxxxxxyyxxyyxxxxxxxxxxxxxxxxxxxwvϓuvxxxyyxxxxxxxxxxxxxxxxxxxxxxxxxxxxyyxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxyyyyxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxwwx|Ͷ~yxwxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxyyxxxxyyxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxyyxxxxxxxxxxxxxxxxxxxxxxxxxxxwwx|Ͷ~ywwxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxwwvy~®|xwwxxxxxxxxxxxxxxxxxxxxxxxxxwwxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxwwդ|wwxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxwxٱwwxxxxxxxxxxxxxxxwwxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxwwwwxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxwwxxxxxxxxxxwwxww}wwxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxwwxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxwwxxxxxxxxxxxxxxxxxxxxxxxxwwxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxwwxxxxxxxxxxxxxxwwxxxxwww~ת~wwxwwxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxwwxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxwwxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxwwxxxxxxxxxxxxwwxxxxxxxxxxxxxxxxxxxxxxwwxxxxxxxxxxwwxxxxxxwwxxwwxxwwxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxwwwwwwy|ó|xvwwxxxxxxxxxxxxxxxxxxxxwwxxxxxxxxxxxxxxxxxxwwxxxxxxxxwwxxxxxxwwxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxwwxxxxxxxxwwxxxxxxxxwwxxxxxxxxwwxxwwxxxxxxxxxvuvwxxxxxxxxxwwxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxwwxxxxwwxxxxxxwwxxxxxxxxxxxxxxwwxxxxxxxxxxxxxxwwxxxxxxxxwwxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxwwxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxvuwwwxxxxxxxxxxxxxxxxxxxxxxxxxxxxwwxxxxwwxxxxwwwwxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxwwwwxxxxwwxxxxxxxxxxxxxxxxxxxxwwxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxyyyyxxyyxxxxyyxxxxxxxxxxxxxxxxxxxxxxyyxxxxxxxxxxxxyyxxxxyyxxxxxxxxxxxxyyxxxxxxxxxxxxxxxxxxyyyyxxxxyyxxxxxxyyxxxxxxxxxxxxxxxxxxxxxxxxxxxxyyxxxxxxxxxxxxxxxxxxxxxxxxyyxxxxxxxwwת}wxxxxxxyyxxxxxxxxxxxxyyxxxxxxxxxxxxxxxxxxxxxxxxyyxxyyxxxxxxxxxxxxyyxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxyyxxxxxxxxxxxxyyyyxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxyyxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxyyxxxxxxxxxxxxxxxxxxxxxxyyxxxxxxxxxxxxxxxxxxxxyyxxxxxxxxxxxxyyxxyyxxxxxxxxxxxxxxxxxxxwvϔuvxxxyyxxxxxxxxxxxxxxxxxxxxxxxxxxxxyyxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxyyyyxxyyxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxyyxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxwwv{{vxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxyyxxxxyyxxxxyyxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxyyxxxxxxxxxxxxxxxxxxxxxxxxxxyyxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxwvuz{vwxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxwvvzɷyuwxxxxxxxxxxxxxxxxxxxxxxxxxxxxxwwxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxwvЛ}yxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxvvդ|wxxxxxxxxxxxxxxxxwwxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxwwwwxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxwxxxxxxxxxxxwwxww}wwxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxwwxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxwwxxxxxxxxxxxxxxxxxxxxxxxxwwxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxwwxxxxxxxxxxxxxxwwxxxxwww~ת~wwxwwxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxwwxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxwwxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxwwxxxxxxxxxxxxwwxxxxxxxxxxxxxxxxxxxxxxwwxxxxxxxxxxwwxxxxxxwwxxwwxxwwxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxwwxxxxxwwwyʷzuvwxxxxxxxxxxxxxxxxxxxxxxxxwwxxxxxxxxxxxxxxxxxxwwxxxxxxxxwwxxxxxxwwxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxwwxxxxxxxxwwxxxxxxxxwwxxxxxxxxwwxxwwxxxxxxxxxvuvwxxxxxxxxxwwxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxwwxxxxwwxxxxxxwwxxxxxxxxxxxxxxwwxxxxxxxxxxxxxxwwxxxxxxxxwwxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxwwxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxvuvwwxxxxxxxxxxxxxxxxxxxxxxxxxxxxwwxxxxwwxxxxwwwwxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxwwwwxxxxwwxxxxxxxxxxxxxxxxxxxxwwxxxxxxxxxxxxxxxxxxxxxxxxxxxxyyxxyyyyyyyyxxxxyyxxxxxxyyyyyyxxxxxxxxyyyyxxxxyyxxyyxxyyxxxxxxxxxxxxyyyyxxxxyyyyxxxxxxyyxxxxxxxxxxxxxxyyxxxxxxxxxxxxyyxxyyyyxxxxyyxxxxyyxxxxxxxxxxyyxxyyxxxxxxyyyyxxxxxxxxxxyyyyyyxxxxxxyyxxxwwת~wxyxxxxyyyyxxyyyyyyxxxxxxxxxxyyxxxxyyxxxxxxxxyyyyxxxxxxxxxxyyxxxxyyxxxxxxxxxxxxyyxxyyxxxxxxxxxxxxxxxxxxxxxxyyxxxxyyyyxxxxxxxxxxxxxxxxxxyyyyxxxxyyyyyyyyyyyyxxxxxxyyxxxxxxxxxxyyxxxxxxxxxxxxxxxxxxyyyyxxxxxxxxxxxxxxxxxxxxxxxxyyxxyyxxxxyyxxxxxxxxyyyyxxxxxxxxxxxxyyxxxxyyxxxxxxyyxxxxyyxxxxyyyyxxxxxvvϓuvyxxxxxxxxxxxxyyxxxxyyxxxxyyxxyyxxxxxxxxxxyyxxxxxxxxxxxxxxxxxxxxxxxxyyxxxxxxyyxxxxxxxxyyxxyyyyyyxxxxxxxxxxxxyyxxxxxxxxxxxxyyxxxxyyyyxxyyxxxxyyyyxxyyxxxxyyyyxxyyxxxxxxxxxxxxxxyyxxxxxxxxxxyyxxyyxxxxyxxwwx|ij|xwxxxxxxxxxxxxxxxxxxxxxxyyxxyyxxxxxxxxxxxxxxyyxxxxxxxxxxxxxxxxxxxxxxxxxxyyxxxxyyxxyyyyxxxxxxyyyyxxxxxxyyyyxxyyxxxxxxyyyyxxyyxxxxxxxxxxyyyyxxxxyyxxxxxxyyxxxxxxxxxxxxyyxxxxxxxxyyyyyyyxxwwy|ij|xwxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxyyxxxxxxxxxxxxxxxxxxxxxxxxxxxxyyxxxxxxxxxxxxxxxxxxxxxxyyxxxxxxxxxxxxxxyyxxyyxxxxxxxxxxxxxxyyxxxxxxyyxxxxxxxxxxxxxxyyxxxxxxxxxxxxxxxxyyxxyyxxxxyyxxxxxxxxyyxxxxyyxxxxyyyxxwwxzųzxwxxxxxxxxxxxxxxxxxxxxxxxxxxxxyyxxxxxxxxxxxxxxxxxxxxxxxxxxxxyyxxxxxxxxxxxxxxyyxxxxxxxxyyxxxxxxxxxxxxxxxxxxyyxxxxyyxxxxxxyyxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxyyxxxxxxxxxxxxyyxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxyyxxxxxwwȓxwxxxxxxxyyyxxxxxxxxxxxyyxxxxyyxxyyyyxxxxxxxxxxxxxxxxxxyyxxxxxxxxyyyyyyxxyyxxxxxxxxxxxxxxyyyyxxxxxxxxxxxxxxxxxxxxyyxxxxyyxxyyxxxxxxxxxxxxxxyyxxxxxxxxxxyyxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxyyxxxxxxxxxxxwvљzxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxyyxxxxxxxxxxxxxxxxxxyyxxxxyyxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxyyxxxxxxxxxxxxxxxxxxxxxxxxxxxww}vwxyyxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxyyxxxxxxxxxxxxyyxxxxxxyyxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxyyxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxyyxxxxxxxxyyyyyyxxxxyyxxxyyyxxxxyyxxxxxxxww~ת~wwxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxyyxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxyyxxxxxxxxxxxxxxxxyyxxxxxxxxxxxxxxxxxxxxxxyyxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxyyxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxyyxxyyxxxxxxxxxxxxxxxxxxxxxxxxxxxxxwwwxzʸ|xvwxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxvuvwxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxvuvwxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxyyxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxyyxxyyyyyyyyxxxxyyxxxxxxyyyyyyxxxxxxxxyyyyxxxxyyxxyyxxyyxxxxxxxxxxxxyyyyxxxxyyyyxxxxxxyyxxxxxxxxxxxxxxyyxxxxxxxxxxxxyyxxyyyyxxxxyyxxxxyyxxxxxxxxxxyyxxyyxxxxxxyyyyxxxxxxxxxxyyyyyyxxxxxxyyxxxww׫~xxyxxxxyyyyxxyyyyyyxxxxxxxxxxyyxxxxyyxxxxxxxxyyyyxxxxxxxxxxyyxxxxyyxxxxxxxxxxxxyyxxyyxxxxxxxxxxxxxxxxxxxxxxyyxxxxyyyyxxxxxxxxxxxxxxxxxxyyyyxxxxyyyyyyyyyyyyxxxxxxyyxxxxxxxxxxyyxxxxxxxxxxxxxxxxxxyyyyxxxxxxxxxxxxxxxxxxxxxxxxyyxxyyxxxxyyxxxxxxxxyyyyxxxxxxxxxxxxyyxxxxyyxxxxxxyyxxxxyyxxxxyyyyxxxxxwvДuwyxxxxxxxxxxxxyyxxxxyyxxxxyyxxyyxxxxxxxxxxyyxxxxxxxxxxxxxxxxxxxxxxxxyyxxxxxxyyxxxxxxxxyyxxyyyyyyxxxxxxxxxxxxyyxxxxxxxxxxxxyyxxxxyyyyxxyyxxxxyyyyxxyyxxxxyyyyxxyyxxxxxxxxxxxxxxyyxxxxxxxxxxyyxxyyxxxxyyxxxxxwv{ʸ{vwxxxxxxxxxxxxxxxxxxxxxxxxxyyxxyyxxxxxxxxxxxxxxyyxxxxxxxxxxxxxxxxxxxxxxxxxxyyxxxxyyxxyyyyxxxxxxyyyyxxxxxxyyyyxxyyxxxxxxyyyyxxyyxxxxxxxxxxyyyyxxxxyyxxxxxxyyxxxxxxxxxxxxyyxxxxxxxxyyyyyyyyxxyxxwv{ʸ{vwwxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxyyxxxxxxxxxxxxxxxxxxxxxxxxxxxxyyxxxxxxxxxxxxxxxxxxxxxxyyxxxxxxxxxxxxxxyyxxyyxxxxxxxxxxxxxxyyxxxxxxyyxxxxxxxxxxxxxxyyxxxxxxxxxxxxxxxxyyxxyyxxxxyyxxxxxxxxyyxxxxyyxxxxyyyyxxxxxxwvu}ɻywwxxxxyyxxxxxxxxxxxxxxxxxxxxxxxxxxyyxxxxxxxxxxxxxxxxxxxxxxxxxxxxyyxxxxxxxxxxxxxxyyxxxxxxxxyyxxxxxxxxxxxxxxxxxxyyxxxxyyxxxxxxyyxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxyyxxxxxxxxxxxxyyxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxyyxxxxxxwܾvwxxxxxxxyyyyxxxxxxxxxxyyxxxxyyxxyyyyxxxxxxxxxxxxxxxxxxyyxxxxxxxxyyyyyyxxyyxxxxxxxxxxxxxxyyyyxxxxxxxxxxxxxxxxxxxxyyxxxxyyxxyyxxxxxxxxxxxxxxyyxxxxxxxxxxyyxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxyyxxxxxxxxxxxwwɑuwxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxyyxxxxxxxxxxxxxxxxxxyyxxxxyyxxxxxxxxxxxxxxxxxxxxxxxxyyxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxyyxxxxxxxxxxxxyyxxxxxxxxxxxxxxw~vwxyyxxxxxxxxxxxxxxxxxxxxyyxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxyyxxxxxxxxxxxxyyxxxxxxyyxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxyyxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxyyxxxxxxxxyyyyyyxxxxyyxxyyyyxxxxyyxxxxxxxxw~׫~wxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxyyxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxyyxxxxxxxxxxxxxxxxyyxxxxxxxxxxxxxxxxxxxxxxyyxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxyyxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxyyxxyyxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxwwvyʼ}ywwwxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxvuvwxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxvuvwxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxyyxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxyyxxyyxxyyxxxxxxyyyyxxxxyyxxxxyyyyyyxxxxyyyyxxxxyyyyyyyyyyxxxxyyxxyyxxxxyyyyxxyyxxyyxxxxxxxxxxyyxxxxyyyyxxyyyyyyxxyyyyyyyyyyxxxxyyxxyyxxyyyyyyxxyyxxyyxxyyxxxxxxyyyyxxyyyyyyxxyyyyyyyyyyyyyyyyyyyyxxyyyyxww׫~xxyyyyyyyyyxxyyxxyyyyyyyyxxxxyyxxyyxxyyyyyyxxyyyyxxyyxxyyxxxxyyxxyyxxxxyyyyyyxxxxyyxxxxxxyyxxyyxxxxyyyyyyxxxxxxyyyyxxyyyyyyyyxxxxxxyyyyyyyyxxyyxxxxyyyyyyxxyyyyxxyyxxyyyyxxyyyyyyyyxxyyyyyyyyxxyyyyxxyyxxyyxxyyxxxxyyyyyyxxxxxxyyyyyyyyxxyyyyyyyyyyyyxxyyyyyyxxxxyyxxyyyyyyxxyyxxxxxxyyyyxxxxxxxxxxywwДuwxxxyyyyyyxxxxxxxxyyyyxxyyxxxxxxxxxxyyxxyyxxyyxxxxxxxxxxyyxxyyyyyyxxxxyyyyyyxxxxxxyyyyxxyyyyyyyyxxxxxxyyyyyyxxxxyyxxyyxxyyxxyyyyyyyyxxyyyyxxxxxxxxyyyyxxxxyyyyyyxxxxxxxxxxyyyyyyyyxxyyxxxxyyyyxxyyyyxxyyyyxxwy|̸|ywxxyyxxyyyyyyxxxxyyxxxxxxxxxxxxxxyyxxyyyyyyyyxxxxyyxxyyxxxxyyyyyyxxxxxxxxxxxxxxyyyyyyyyyyxxxxxxyyxxyyyyyyyyyyxxyyxxxxxxxxxxyyxxyyyyxxxxxxyyyyyyyyyyxxxxxxxxxxxxyyyyyyxxxxxxxxxxxxyyxxxxxxxxxxxwwy|̸|ywxxxxyyxxyyyyxxxxxxxxyyyyyyxxxxxxxxxxyyyyxxxxyyyyyyyyyyyyyyxxxxxxyyxxxxyyyyyyxxxxyyxxyyyyxxyyxxxxxxxxxxxxyyxxxxyyxxxxxxyyxxyyxxyyyyxxxxxxyyxxyyxxxxyyxxxxxxyyxxyyyyyyyyyyyyyyyyyyxxxxyyxxyyxxxxyyyyyyxxxxyyxxxxyxwvvyξ{xwxxxyyxxxxyyyyyyxxxxxxyyxxyyxxxxxxyyxxyyxxxxxxyyxxxxxxxxyyxxxxyyxxxxxxyyxxxxyyyyxxxxxxxxxxxxyyyyxxyyxxxxxxxxxxxxyyyyxxyyxxxxxxxxxxxxxxyyyyxxyyyyyyxxxxxxxxyyxxyyyyxxyyyyxxyyxxxxxxxxxxxxyyyyyyxxxxyyyyyyxxyyyyxxxxxxyyxxxxxxxxyyyyyxxΰwwxxxxxxxxxyyyyyyxxyyyyyyxxxxxxxxxxxxxxxxyyxxxxxxxxxxxxyyxxxxxxxxyyyyxxxxxxxxxxyyxxxxyyxxyyxxxxyyxxxxyyyyxxyyxxxxxxyyxxxxyyxxxxxxxxxxxxyyxxxxxxyyxxxxxxxxxxxxxxyyyyxxxxxxxxyyxxxxxxxxxxxxxxxxyyxxxxxxxwwٻvwyxxyyyyyyxxyyyyxxxxxxxxxxyyxxxxyyyyyyxxxxyyxxyyxxxxxxxxyyyyxxyyxxxxyyxxyyxxxxxxxxyyxxxxxxxxxxxxxxyyyyxxxxxxxxxxyyxxyyyyxxyyxxxxxxyyxxxxxxxxxxyyxxxxxxxxxxxxxxxxyyyyxxxxxxxxx~wwxxxxxxxyyxxxxyyyyyyxxxxxxxxyyxxyyxxyyxxxxyyxxxxyyyyxxyyxxyyxxxxyyxxxxyyxxyyyyxxxxxxxxxxxxxxxxxxyyxxyyxxxxyyxxxxyyxxyyxxxxxxxxxxxxxxyyxxxxxxxxxxxxxxxxxxxxxxxxxxxxyyxxxxxxxxxxxxyyyyxxxxyyxxxxxxxxyyxxyyyxw~׫~wxxyyxxxxxxyyxxyyyyyyxxyyxxxxxxxxxxxxxxxxxxxxxxxxxxxxyyxxxxxxyyxxyyxxxxxxxxxxyyyyyyxxxxxxyyyyyyxxxxxxxxxxxxxxxxyyxxxxyyxxxxxxxxxxxxxxxxxxxxxxyyxxxxyyxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxyyyyxxxxxxxxxxyyyyxxxxxxxxxxyyyyxxxxxxxxyyxxxxxxxxyyxxyyxxxxxxyyxxyyxxxxxxyyxxxxxxxxxxxxyyxxxxxxxxxxxxxxxwwxzŷ}yxwwxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxyyxxxxxxxxxxxxyyyyyyxxxxxxxxxxxxxxxxyyyyyyxxxxyyxxxxxxxxxxyyxxxxxxyyxxxxxxxxyyxxxxxxxxxxxxxxxxxxxxxxxxxxyyyyyyyyxxxxxxxxyyxxxxxxxxxvuwxxxxxxxxxxyyxxxxyyxxxxxxxxxxxxxxxxyyxxyyxxxxxxyyxxxxxxyyyyxxyyxxxxxxyyxxxxxxxxxxxxxxyyxxxxxxxxxxxxyyxxxxxxxxxxxxxxxxxxxxyyxxxxxxxxxxxxxxyyxxxxxxxxxxxxxxyyyyxxxxxxxxxxxxyyxxxxxxyyxxxxxxxxxxxxxxxxxxxxxxyyxxxxyyxxxxyyxxxvuvwxyyxxxxyyxxxxxxxxxxxxxxyyxxxxxxyyxxxxyyxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxyyxxyyyyxxxxxxxxxxxxxxxxxxxxxxxxxxyyyyxxxxxxyyxxyyxxyyxxxxxxyyyyxxxxyyxxxxyyyyyyxxxxyyyyxxxxyyyyyyyyyyxxxxyyxxyyxxxxyyyyxxyyxxyyxxxxxxxxxxyyxxxxyyyyxxyyyyyyxxyyyyyyyyyyxxxxyyxxyyxxyyyyyyxxyyxxyyxxyyxxxxxxyyyyxxyyyyyyxxyyyyyyyyyyyyyyyyyyyyxxyyyyxxw׫~xxyyyyyyyyyxxyyxxyyyyyyyyxxxxyyxxyyxxyyyyyyxxyyyyxxyyxxyyxxxxyyxxyyxxxxyyyyyyxxxxyyxxxxxxyyxxyyxxxxyyyyyyxxxxxxyyyyxxyyyyyyyyxxxxxxyyyyyyyyxxyyxxxxyyyyyyxxyyyyxxyyxxyyyyxxyyyyyyyyxxyyyyyyyyxxyyyyxxyyxxyyxxyyxxxxyyyyyyxxxxxxyyyyyyyyxxyyyyyyyyyyyyxxyyyyyyxxxxyyxxyyyyyyxxyyxxxxxxyyyyxxxxxxxxxxywwДuwxxxyyyyyyxxxxxxxxyyyyxxyyxxxxxxxxxxyyxxyyxxyyxxxxxxxxxxyyxxyyyyyyxxxxyyyyyyxxxxxxyyyyxxyyyyyyyyxxxxxxyyyyyyxxxxyyxxyyxxyyxxyyyyyyyyxxyyyyxxxxxxxxyyyyxxxxyyyyyyxxxxxxxxxxyyyyyyyyxxyyxxxxyyyyxxyyyyxxyyyyyyyyxxwy~~yvwxyyyyyyxxyyyyyyxxxxyyxxxxxxxxxxxxxxyyxxyyyyyyyyxxxxyyxxyyxxxxyyyyyyxxxxxxxxxxxxxxyyyyyyyyyyxxxxxxyyxxyyyyyyyyyyxxyyxxxxxxxxxxyyxxyyyyxxxxxxyyyyyyyyyyxxxxxxxxxxxxyyyyyyxxxxxxxxxxxxyyxxxxxxxxxxxxyxxwwy}~ywwxyyxxxxyyxxyyyyxxxxxxxxyyyyyyxxxxxxxxxxyyyyxxxxyyyyyyyyyyyyyyxxxxxxyyxxxxyyyyyyxxxxyyxxyyyyxxyyxxxxxxxxxxxxyyxxxxyyxxxxxxyyxxyyxxyyyyxxxxxxyyxxyyxxxxyyxxxxxxyyxxyyyyyyyyyyyyyyyyyyxxxxyyxxyyxxxxyyyyyyxxxxyyxxxxyyxxxxxwwwzʾzvwxxxyyxxyyxxxxyyyyyyxxxxxxyyxxyyxxxxxxyyxxyyxxxxxxyyxxxxxxxxyyxxxxyyxxxxxxyyxxxxyyyyxxxxxxxxxxxxyyyyxxyyxxxxxxxxxxxxyyyyxxyyxxxxxxxxxxxxxxyyyyxxyyyyyyxxxxxxxxyyxxyyyyxxyyyyxxyyxxxxxxxxxxxxyyyyyyxxxxyyyyyyxxyyyyxxxxxxyyxxxxxxxxyyyyyyx}wxxxxxxxxxxyyyyyyxxyyyyyyxxxxxxxxxxxxxxxxyyxxxxxxxxxxxxyyxxxxxxxxyyyyxxxxxxxxxxyyxxxxyyxxyyxxxxyyxxxxyyyyxxyyxxxxxxyyxxxxyyxxxxxxxxxxxxyyxxxxxxyyxxxxxxxxxxxxxxyyyyxxxxxxxxyyxxxxxxxxxxxxxxxxyyxxxxxxxxw~̮wwyxxyyyyyyxxyyyyxxxxxxxxxxyyxxxxyyyyyyxxxxyyxxyyxxxxxxxxyyyyxxyyxxxxyyxxyyxxxxxxxxyyxxxxxxxxxxxxxxyyyyxxxxxxxxxxyyxxyyyyxxyyxxxxxxyyxxxxxxxxxxyyxxxxxxxxxxxxxxxxyyyyxxxxxxxxx~wwxxxxxxxyyxxxxyyyyyyxxxxxxxxyyxxyyxxyyxxxxyyxxxxyyyyxxyyxxyyxxxxyyxxxxyyxxyyyyxxxxxxxxxxxxxxxxxxyyxxyyxxxxyyxxxxyyxxyyxxxxxxxxxxxxxxyyxxxxxxxxxxxxxxxxxxxxxxxxxxxxyyxxxxxxxxxxxxyyyyxxxxyyxxxxxxxxyyxxyyyxx~׫~wxxyyxxxxxxyyxxyyyyyyxxyyxxxxxxxxxxxxxxxxxxxxxxxxxxxxyyxxxxxxyyxxyyxxxxxxxxxxyyyyyyxxxxxxyyyyyyxxxxxxxxxxxxxxxxyyxxxxyyxxxxxxxxxxxxxxxxxxxxxxyyxxxxyyxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxyyyyxxxxxxxxxxyyyyxxxxxxxxxxyyyyxxxxxxxxyyxxxxxxxxyyxxyyxxxxxxyyxxyyxxxxxxyyxxxxxxxxxxxxyyxxxxxxxxxxxxxxyyxxxxwvu|õ|uvwwxyyxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxyyxxxxxxxxxxxxyyyyyyxxxxxxxxxxxxxxxxyyyyyyxxxxyyxxxxxxxxxxyyxxxxxxyyxxxxxxxxyyxxxxxxxxxxxxxxxxxxxxxxxxxxyyyyyyyyxxxxxxxxyyxxxxxxxxxvuwxxxxxxxxxxyyxxxxyyxxxxxxxxxxxxxxxxyyxxyyxxxxxxyyxxxxxxyyyyxxyyxxxxxxyyxxxxxxxxxxxxxxyyxxxxxxxxxxxxyyxxxxxxxxxxxxxxxxxxxxyyxxxxxxxxxxxxxxyyxxxxxxxxxxxxxxyyyyxxxxxxxxxxxxyyxxxxxxyyxxxxxxxxxxxxxxxxxxxxxxyyxxxxyyxxxxyyxxxvuvwxyyxxxxyyxxxxxxxxxxxxxxyyxxxxxxyyxxxxyyxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxyyxxyyyyxxxxxxxxxxxxxxxxxxxxxxxxxxyyyyxxxxxxyyyyyyyyyyxxxxyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyxxyyyyyyyyyyyyyyyyxxyyyyyyyyxxyyyyyyyyyyyyyyxxxxyyyyyyyyxxyyyyyyyyxxyyxxyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyxxyyxxyyxxyyxxyyxxyyyyyyyyyyyyyyxxyyxxyyyyyyyxw׫~xxyyyxxyyyyyyyyyyyyyyyyxxyyyyyyyyyyyyxxxxyyyyyyyyyyyyyyyyyyyyxxxxyyxxyyxxyyxxyyyyyyyyyyyyxxyyxxyyyyyyyyxxyyxxyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyxxyyxxyyxxxxyyyyyyyyyyyyxxyyyyyyyyyyyyyyyyxxyyyyyyyyyyyyxxyyyyyyyyxxyyyyyyyyyyyyyyxxxxyyyyyyyyyyxxyyyyyyyyxxyyxxxxyyyyyyyyyyyyxxyyyyyyxxyyyyyyyyyyyyywwДuwyyyyyxxyyyyyyyyxxyyyyyyyyyyyyxxxxyyyyxxyyyyxxyyyyyyxxyyyyyyyyyyxxxxyyyyyyyyyyyyyyxxyyyyxxxxxxxxyyxxyyxxyyxxxxxxxxyyxxxxyyxxyyyyyyyyyyyyyyyyyyxxyyyyyyyyyyyyxxyyyyyyyyyyxxyyyyyyyyyyyyyyxxyyxxxxyyyyyyxxyyyyyyyxxxz}ʹ}zxxxyyyyyyyyyyyyyyyyyyyxxyyyyxxyyyyyyyyxxyyyyxxxxxxyyxxxxyyxxyyxxyyyyyyxxyyxxxxxxyyyyyyxxyyyyyyyyyyyyyyyyxxyyxxxxxxxxxxyyxxyyyyxxxxyyyyxxyyyyyyyyyyxxxxyyxxyyyyyyxxyyyyyyyyxxyyyyyyyyyyyyyyyyxxyyyyyyxxxxxxz}ʹ}zxxxxyyxxyyxxyyyyyyxxyyxxxxyyxxyyxxyyyyyyyyxxyyyyyyyyyyyyyyyyxxxxyyyyyyyyyyyyyyyyxxyyyyxxyyyyyyxxyyxxyyyyyyxxyyyyxxxxyyyyyyyyyyxxyyyyyyxxyyyyxxxxxxyyyyyyyyxxyyyyyyxxyyxxyyyyyyyyyyyyyyxxyyxxxxyyxxyyyyyyxxyyxxyyyyyyxxyyyyxxwwx{{ywxxyyxxyyxxyyxxxxyyyyyyyyyyyyyyyyxxyyyyyyyyyyyyyyyyxxyyyyxxyyyyyyyyyyyyyyyyxxyyyyxxxxxxyyyyyyxxyyxxxxyyyyyyyyyyxxyyyyyyyyyyxxxxxxxxyyyyxxxxyyyyyyxxyyxxxxyyxxyyyyyyyyyyyyxxyyyyxxxxxxxxxxxxyyyyyyyyyyyyxxxxyyyyyyyyyyxxxxyyyyxxyyyyyyyyyyyy{۶wxxxxyyyyxxxxyyyyxxxxxxyyxxxxyyxxxxxxxxyyxxxxxxxxyyxxyyyyxxyyxxxxyyxxxxxxyyyyyyyyxxxxxxyyxxxxyyxxyyyyyyyyxxxxxxyyxxyyxxyyyyxxxxxxyyyyxxxxxxyyyyyyyyyyxxxxyyyyyyyyxxyyyyyyxxxxxxxxxxyyxxxxyyxxyyxxyyyyxxxzwxyyyyyxxxxxxyyyyxxyyxxyyxxyyxxyyyyxxyyyyxxxxyyxxyyyyyyyyyyxxxxyyxxxxyyyyyyxxyyyyyyxxxxxxyyxxyyxxyyyyyyxxyyyyyyyyyyyyyyxxyyyyyyyyyyyyyyyyyyyyyyyyxxxxxxyyxxyyyyyyyyxxyyxxyyxxx~wxyxxxxyyyyxxxxyyxxyyyyyyxxxxxxyyyyyyyyxxyyyyxxyyyyxxxxyyxxyyxxxxyyxxxxyyxxyyxxxxxxyyxxyyyyxxyyxxxxyyxxxxxxyyxxyyxxyyxxyyxxxxxxyyxxyyyyxxyyxxxxyyyyyyyyxxxxxxyyyyxxyyxxyyxxxxyyyyyyyyyyyyyyyyyyxxxxyyyyxxyxx~׫~wxyxxxxyyyyyyxxyyxxxxxxyyyyxxxxxxyyyyxxyyyyyyyyxxxxxxxxyyyyyyyyxxxxyyxxyyyyxxyyyyxxyyyyyyyyxxxxxxyyxxyyyyyyyyyyyyyyyyxxyyyyyyyyxxyyyyyyxxyyxxxxyyyyyyyyyyxxxxxxxxxxxxxxxxyyyyxxyyxxyyxxyyyyyyxxxxyyyyyyxxyyxxxxxxxxxxxxyyxxxxxxyyyyyyxxxxxxyyyyxxxxyyyyyyxxxxyyyyxxyyxxxxxxxxyyyyxxxxyyxxxxyyyyyyyyxxxxyyxxxwwy}ǻ}ywwxxxxxxxxxxxxxxxxxxxxxxxyyyyyyxxxxyyyyyyyyxxxxyyyyxxxxxxxxxxyyxxyyxxyyxxyyyyyyxxxxxxyyxxxxyyyyyyxxyyyyyyyyyyxxxxyyyyyyxxxxxxxxxxyyyyxxyyyyyyxxxxxxxxxxxxyyxxyyxxyyxxxxxxyyyyxxywuwwxyyyyxxxxyyxxyyxxyyyyyyxxyyyyxxyyyyxxxxxxxxyyxxxxxxxxyyyyxxxxyyxxyyxxxxxxxxxxyyxxyyyyyyxxyyyyxxyyyyyyxxyyyyxxyyxxyyxxyyxxyyxxxxxxxxyyxxxxxxyyxxyyxxxxyyyyxxxxyyxxyyxxyyxxyyyyyyxxxxxxyyxxyyxxyyyyyyyyxxyyxxxxxxxxxxyyxxxvuwwxxxxxxxxxxxyyxxyyxxyyxxyyyyxxxxxxxxxxxxxxyyyyxxyyxxyyyyyyyyxxyyyyxxyyxxxxxxxxyyxxxxyyxxyyxxxxxxxxxxxxyyxxxxxxxxxxyyxxxxyyxxxxyyyyyyyyyyyyyyxxxxyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyxxyyyyyyyyyyyyyyyyxxyyyyyyyyxxyyyyyyyyyyyyyyxxxxyyyyyyyyxxyyyyyyyyxxyyxxyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyxxyyxxyyxxyyxxyyxxyyyyyyyyyyyyyyxxyyxxyyyyyyyxw׫~xyyyyxxyyyyyyyyyyyyyyyyxxyyyyyyyyyyyyxxxxyyyyyyyyyyyyyyyyyyyyxxxxyyxxyyxxyyxxyyyyyyyyyyyyxxyyxxyyyyyyyyxxyyxxyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyxxyyxxyyxxxxyyyyyyyyyyyyxxyyyyyyyyyyyyyyyyxxyyyyyyyyyyyyxxyyyyyyyyxxyyyyyyyyyyyyyyxxxxyyyyyyyyyyxxyyyyyyyyxxyyyxxxyyyyyyyyyyyyxxyyyyyyxxyyyyyyyyyyyyywwДvwyyyyyxxyyyyyyyyxxyyyyyyyyyyyyxxxxyyyyxxyyyyxxyyyyyyxxyyyyyyyyyyxxxxyyyyyyyyyyyyyyxxyyyyxxxxxxxxyyxxyyxxyyxxxxxxxxyyxxxxyyxxyyyyyyyyyyyyyyyyyyxxyyyyyyyyyyyyxxyyyyyyyyyyxxyyyyyyyyyyyyyyxxyyxxxxyyyyyyxxyyyyyyyyyyyxxvu|˻|vvxxyyyyyyyyyyyyyyyyyyyyyyyxxyyyyxxyyyyyyyyxxyyyyxxxxxxyyxxxxyyxxyyxxyyyyyyxxyyxxxxxxyyyyyyxxyyyyyyyyyyyyyyyyxxyyxxxxxxxxxxyyxxyyyyxxxxyyyyxxyyyyyyyyyyxxxxyyxxyyyyyyxxyyyyyyyyxxyyyyyyyyyyyyyyyyxxyyyyyyxxyyyyxxwvu|˻}uvwxxyyyyyyxxyyxxyyyyyyxxyyxxxxyyxxyyxxyyyyyyyyxxyyyyyyyyyyyyyyyyxxxxyyyyyyyyyyyyyyyyxxyyyyxxyyyyyyxxyyxxyyyyyyxxyyyyxxxxyyyyyyyyyyxxyyyyyyxxyyyyxxxxxxyyyyyyyyxxyyyyyyxxyyxxyyyyyyyyyyyyyyxxyyxxxxyyxxyyyyyyxxyyxxyyyyyyxxyyyyyyxxxxxwwxzɾ{vvwxyyyyyyyxxyyxxyyxxxxyyyyyyyyyyyyyyyyxxyyyyyyyyyyyyyyyyxxyyyyxxyyyyyyyyyyyyyyyyxxyyyyxxxxxxyyyyyyxxyyxxxxyyyyyyyyyyxxyyyyyyyyyyxxxxxxxxyyyyxxxxyyyyyyxxyyxxxxyyxxyyyyyyyyyyyyxxyyyyxxxxxxxxxxxxyyyyyyyyyyyyxxxxyyyyyyyyyyxxxxyyyyxxyyyyyyyyyyywu֩}xxxxxyyyyxxxxyyyyxxxxxxyyxxxxyyxxxxxxxxyyxxxxxxxxyyxxyyyyxxyyxxxxyyxxxxxxyyyyyyyyxxxxxxyyxxxxyyxxyyyyyyyyxxxxxxyyxxyyxxyyyyxxxxxxyyyyxxxxxxyyyyyyyyyyxxxxyyyyyyyyxxyyyyyyxxxxxxxxxxyyxxxxyyxxyyxxyyyyxxyyzڴwxyyyyyxxxxxxyyyyxxyyxxyyxxyyxxyyyyxxyyyyxxxxyyxxyyyyyyyyyyxxxxyyxxxxyyyyyyxxyyyyyyxxxxxxyyxxyyxxyyyyyyxxyyyyyyyyyyyyyyxxyyyyyyyyyyyyyyyyyyyyyyyyxxxxxxyyxxyyyyyyyyxxyyxxyyxxx~£wxyxxxxyyyyxxxxyyxxyyyyyyxxxxxxyyyyyyyyxxyyyyxxyyyyxxxxyyxxyyxxxxyyxxxxyyxxyyxxxxxxyyxxyyyyxxyyxxxxyyxxxxxxyyxxyyxxyyxxyyxxxxxxyyxxyyyyxxyyxxxxyyyyyyyyxxxxxxyyyyxxyyxxyyxxxxyyyyyyyyyyyyyyyyyyxxxxyyyyxxyxx~׫~xxyxxxxyyyyyyxxyyxxxxxxyyyyxxxxxxyyyyxxyyyyyyyyxxxxxxxxyyyyyyyyxxxxyyxxyyyyxxyyyyxxyyyyyyyyxxxxxxyyxxyyyyyyyyyyyyyyyyxxyyyyyyyyxxyyyyyyxxyyxxxxyyyyyyyyyyxxxxxxxxxxxxxxxxyyyyxxyyxxyyxxyyyyyyxxxxyyyyyyxxyyxxxxxxxxxxxxyyxxxxxxyyyyyyxxxxxxyyyyxxxxyyyyyyxxxxyyyyxxyyxxxxxxxxyyyyxxxxyyxxxxyyyyyyyyxxxxyyxxyyxxwwwvu}õ~uvvwwxxyyxxxxxxxxxxxxxxxxxxxxxxyyyyyyxxxxyyyyyyyyxxxxyyyyxxxxxxxxxxyyxxyyxxyyxxyyyyyyxxxxxxyyxxxxyyyyyyxxyyyyyyyyyyxxxxyyyyyyxxxxxxxxxxyyyyxxyyyyyyxxxxxxxxxxxxyyxxyyxxyyxxxxxxyyyyxxywv£wwxyyyyxxxxyyxxyyxxyyyyyyxxyyyyxxyyyyxxxxxxxxyyxxxxxxxxyyyyxxxxyyxxyyxxxxxxxxxxyyxxyyyyyyxxyyyyxxyyyyyyxxyyyyxxyyxxyyxxyyxxyyxxxxxxxxyyxxxxxxyyxxyyxxxxyyyyxxxxyyxxyyxxyyxxyyyyyyxxxxxxyyxxyyxxyyyyyyyyxxyyxxxxxxxxxxyyxxxwv£wwxxxxxxxxxxxyyxxyyxxyyxxyyyyxxxxxxxxxxxxxxyyyyxxyyxxyyyyyyyyxxyyyyxxyyxxxxxxxxyyxxxxyyxxyyxxxxxxxxxxxxyyxxxxxxxxxxyyxxxxyyxxxxyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyxw׫yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyxxyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyxxyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyywvДvwyyyyyyyyyyyyyyyxxyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyxxyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyxwwy}˽~ywxxyyxxyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyxxyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyxxwwy~˽~ywxxxyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyxxyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyxxyyyyxxyyxxyyyyyyyyyyyyyyyyyyyyyyyyyyyyxxyyyyyyyyyyyyyyyyyyxxyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyxxyyyyyyyyyyyyxxyyyyyyyyyyyyyyyyyyxxxxyz~ö}ywxxxyyyyyyyyyyyyyxxyyxxyyyyxxyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyxxyyyyyyxxyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyxxyyyyyyyyyyyyyyyyxxyyyyyyyyyyxxyyyyyyyyyyyyxxyyyyyyyyyyxxyyyyyyyyyyyyyyyyxxyyyyyyyyyyyyyyyyyyyyyyyyywvњ|yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyxxyyxxyyyyyyyyyyyyyyyyyyyyyyxxyyyyyyxxyyxxyyxxyyxxxxyyyyxxyyxxyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyxxyyyyyyyyyyyyyyxxxxyyyyyyyyxxxxyyxxyyyyxxyyyyyyxxxxxxyxwզ}xxxyyyyyyyyyyyyyyyyxxyyyyyyyyyyyyyyyyyyyyyyyyyyyyxxyyyyyyyyxxyyyyyyyyyyyyyyxxyyyyyyyyyyyyxxyyyyyyyyyyyyyyyyyyyyxxyyxxyyyyyyyyyyyyyyyyyyyyyyyyxxyyyyxxxxyyyyyyyyyyyyyyyyyyxxyxx~¤wxyyyyyyyyyyyyyyyyyyyyyyyyyxxyyxxyyyyxxyyyyyyyyyyyyyyyyxxyyyyyyyyyyxxyyyyyyyyyyyyyyyyyyyyxxxxyyyyyyyyyyyyyyyyyyyyxxyyyyyyyyxxyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyxxyyxxyyyyyyyyyyyyyyyyyyyyxxyyxxxxyyyyyxx~׫~xxxyyyyyyxxyyxxxxyyyyxxyyyyxxyyxxyyyyyyyyyyyyyyxxyyxxxxyyyyyyyyyyyyyyxxyyyyyyyyyyyyyyyyxxyyxxxxxxyyyyyyyyyyyyxxyyyyyyyyyyyyyyyyyyxxyyxxyyyyxxxxyyxxxxyyyyyyxxyyxxyyyyyyyyyyyyyyyyyyyyyyyyyyxxyyxxyyyyxxyyyyxxxxyyxxyyxxxxyyyyyyyyyyyyxxyyyyxxyyyyyyxxxxyyyyyyyyxxyyyyxxyyyyyyxxyyxxyyxxxxxxyyxxyyyyyyyyyyyyyyyyxxxwwy}yvwxxxyyyyyyxxxxyyyyxxyyyyyyyyyyxxyyxxxxyyyyxxyyyyxxyyyyyyyyxxyyyyxxxxxxyyxxyyyyyyyyyyyyyyyyyyxxyyyyyyyyyyyyyyyyyyxxyyyyxxyyxxyyxxyyyyyyxxxxyyxxxxyyyyyyyyyyyyxxxxyyyyyyyyxxyyyyyyyyyyxwv£wwxyyyyyyyyyyyyxxyyyyyyyyxxxxyyyyyyyyxxxxyyyyyyyyxxxxxxyyxxyyyyyyyyxxyyxxxxyyyyyyyyxxyyxxyyyyxxyyxxyyyyyyxxyyyyyyyyyyyyxxyyxxxxyyyyyyyyxxxxyyyyyyxxyyyyyyyyxxxxyyxxyyyyyyyyxxxxyyyyxxyyyyxxxxyyxxyyyyxxyyxxyyyyyyyyyyyyxxywv£wxyxxyyyyyyyyyyyyyyyyyyxxyyxxyyxxyyyyyyxxyyxxyyyyyyxxyyyyyyyyyyyyyyyyxxxxxxyyxxyyyyyyxxyyyyyyxxyyxxyyxxyyyyyyyyyyyyxxyyyyyyxxxxyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyxx}yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyxxyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyxxyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyxwѻvwyyyyyyyyyyyyyyyxxyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyxxyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyxxwxzźzxwxxyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyxxyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyxxwxzźzxwxxyyxxyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyxxyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyxxyyyyxxyyxxyyyyyyyyyyyyyyyyyyyyyyyyyyyyxxyyyyyyyyyyyyyyyyyyxxyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyxxyyyyyyyyyyyyxxyyyyyyyyyyyyyyyyyyyyyyyyxxwvvx~ʿzvwwxxyyyyyyyyyyyyyyyyyyyyyyxxyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyxxyyyyyyxxyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyxxyyyyyyyyyyyyyyyyxxyyyyyyyyyyxxyyyyyyyyyyyyxxyyyyyyyyyyxxyyyyyyyyyyyyyyyyxxyyyyyyyyyyyyyyyyyyyyyyyyyxwѺvwyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyxxyyxxyyyyyyyyyyyyyyyyyyyyyyxxyyyyyyxxyyxxyyxxyyxxxyyyyyxxyyxxyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyxxyyyyyyyyyyyyyyxxxxyyyyyyyyxxxxyyxxyyyyxxyyyyyyxxxxxxyxwѽ~zyxyyyyyyyyyyyyyyyyyxxyyyyyyyyyyyyyyyyyyyyyyyyyyyyxxyyyyyyyyxxyyyyyyyyyyyyyyxxyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyxxyyxxyyyyyyyyyyyyyyyyyyyyyyyyxxyyyyxxxxyyyyyyyyyyyyyyyyyyxxyyx}ưxxyyyyyyyyyyyyyyyyyyyyyyyyyxxyyxxyyyyyyyyyyyyyyyyyyyyyyxxyyyyyyyyyyxxyyyyyyyyyyyyyyyyyyyyxxxxyyyyyyyyyyyyyyyyyyyyxxyyyyyyyyxxyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyxxyyxxyyyyyyyyyyyyyyyyyyyyxxyyxxxxyyyyyyx}}xxxyyyyyyxxyyxxxxyyyyxxyyyyxxyyxxyyyyyyyyyyyyyyxxyyxxxxyyyyyyyyyyyyyyxxyyyyyyyyyyyyyyyyxxyyxxxxxxyyyyyyyyyyyyxxyyyyyyyyyyyyyyyyyyxxyyxxyyyyxxxxyyxxxxyyyyyyxxyyxxyyyyyyyyyyyyyyyyyyyyyyyyyyxxyyxxyyyyxxyyyyxxxxyyxxyyxxxxyyyyyyyyyyyyxxyyyyxxyyyyyyxxxxyyyyyyyyxxyyyyxxyyyyyyxxyyxxyyxxxxxxyyxxyyyyyyyyyyyyyyyyxxyyyyxxwwvx~Ĺ|uwwxxxxyyyyyyyyyyxxxxyyyyxxyyyyyyyyyyxxyyxxxxyyyyxxyyyyxxyyyyyyyyxxyyyyxxxxxxyyxxyyyyyyyyyyyyyyyyyyxxyyyyyyyyyyyyyyyyyyxxyyyyxxyyxxyyxxyyyyyyxxxxyyxxxxyyyyyyyyyyyyxxxxyyyyyyyyxxyyyyyyyyyyxwwưxxxyyyyyyyyyyyyxxyyyyyyyyxxxxyyyyyyyyxxxxyyyyyyyyxxxxxxyyxxyyyyyyyyxxyyxxxxyyyyyyyyxxyyxxyyyyxxyyxxyyyyyyxxyyyyyyyyyyyyxxyyxxxxyyyyyyyyxxxxyyyyyyxxyyyyyyyyxxxxyyxxyyyyyyyyxxxxyyyyxxyyyyxxxxyyxxyyyyxxyyxxyyyyyyyyyyyyxxywwưxxyxxyyyyyyyyyyyyyyyyyyxxyyxxyyxxyyyyyyxxyyxxyyyyyyxxyyyyyyyyyyyyyyyyxxxxxxyyxxyyyyyyxxyyyyyyxxyyxxyyxxyyyyyyyyyyyyxxyyyyyyxxxxyyyyyyyyyyyyyyyyyyyyyyyyzzyyyyyyyyyyzzyyzzyyyyyyyyyyyyyyyyyyyyyyyyzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy|~{yyyyyyyyyyyyyzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzyyyyyyyyzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyx~xxyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyxxy{Ǽ{yxxyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyxxxyy|Ǽ{yxxxyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyxxxwwxz}Ż~{ywxxxyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyx}xxyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyx~zyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyxxyyyz}|xyyxxyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyz}}zyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyxxxwwxz}~ywwxxxxxyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyxxyyyyyyyyyyyyyyyyyyyyyyyyyyyyxxyyyyyyyyyyyyyyyyyyyyyxx|yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyxxyyyyyyyyyyyyxxyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyxxyyyyyyyyxxyyyyyyyyyyyyyyyyyyxxyyyyyyyyyyyyyyyyyyyyyyyyxxxxyyyyxxyyyyyyyyyyyyyyyyxxyyyxx|xxxyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyxxyyyyyyyyyyxxyyyyyyxxyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyxxyyyyyyyyyyyyxxyyyyyyyyyyyyyyyyyyyyyyxxyyyyyyyyyyyyyyyyyyyyzzyyyyyyyyyyzzyyzzyyyyyyyyyyyyyyyyyyyyyyyyzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyxwwvvwwwvvvwwvvvvwwwwwvvvwwwwwwwwwwwwwwvvvvvvvvwwwwwwwwvvwxyyyyyyyyyyyyyyyzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzyyyyyyyyzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyxwwwvvvvwwwwwwvvvvvwwwwwwwwvvvvvvvvvwvvvvvvvwwwwvvwwvvwxyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyxxwwvzʿ|vvwwxyzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyxxwvz˿{vwxxxyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyxxxxwvwzź{vwwwxxyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyxwwvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvwxyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyxwvvvvvvvvvvvvvvvvvvvvvvvvvvvvwwwwvvvvvvvvvvvvvvvvvvvvvvwxyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyxxyyyyyxwvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvwwxyyyyxxyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyxxvvvvvvvvvvvvvvvvvvvvvvvvwvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvxxyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyxxxwwvy~úywwwwxxyyyyyyxxyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyxxyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyxwvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvwxyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyxxyyyyyyyyyyyyxxyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyxxyyyyyyyyxxyyyyyyyyyyyyyyyyyyxxyyyyyyyyyyyyyyyyyyyyyyyyxxxyyyyyxxyyyyyyyyyyyyyyyyxxyyyyyxwvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvwvvvvvvvvvvvvvvvvvvvvvvvwxyyxxyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyxxyyyyyyyyyyxxyyyyyyxxyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyxxyyyyyyyyyyyyxxyyyyyyyyyyyyyyyyyyyyyyyxyyyyyyzzzzzzyyyyyyzzyyyyyyzzyyyyzzyyyyyyzzyyyyyyyyzzyyyyyyyyyyyyzzyyzzyyyyzzyyzzyyzzyyyyyyyyyyyyyyzzyyzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzyyyyyyyyyyyyzzyyyyzzzzyyyyyyyyyyyyzzyyyyyyyyyyyyyyyyzzyyzzyyzzyxxwwwwxwwwwwwwwwwwxxwwwwwxxxxxxxxxxxxwwxxxxxxwwxxxxxwxxwxyyyyyyzzyyyyyyyyyyzzyyyyzzzzyyyyyyzzyyyyyyyyzzzzyyyyyyyyyyzzyyyyyyyyyyyyyyyyyyyyyyzzyyyyyyzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzzzyyyyyyyyzzyyzzyyyyyyzzzzyyzzzzyyzzyyyyyyyyyyyyyyyyzzyyyyyyyyyyyyzzyyyyyyyyyyyyyyzzyyyyyyzzyyyyzzyyyyyyyyyyzzyyyyyyyyyyyyyyyyyyyyzzyyzzzzyyzzyyzzzzyyyyyyyyyyyyyyzzyyyyyyyyyyxxxxwwwwwwwwwxxxxxxxxxxxwwxxwwwwwwxxxxwwwwxxxxwwwwwwwxyyyyzzyyyyyyyyzzyyyyyyyyyyyyyyyyyyzzyyzzyyyyyyzzyyzzyyyyyyyyyyyyzzyyyyyyyyyyzzyyyyyyyyyyzzyyyyyyyyyyyyyyzzyyyyyyzzyyyyyyyyyyyyyyzzyyzzyyyyyyyyyyyyzzzzyyyyyyyyzzyyyyyyyyzzyyyyyyyyzzyyyyyyyyyyyyzzyyyyyyyyyyzzyyyyzzyyyyyyyyyyyyyyyxxy{}zxxxxyyzyyyyyyzzyyyyyyyyyyyyyyyyzzzzyyzzyyzzyyyyzzyyzzzzyyyyyyyyyyyyyyyyzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzyyyyyyzzyyyyyyyyzzyyyyyyyyyyyyyyyyyyyyzzyyyyyyyyzzzzyyyyyyyyyyyyzzyyyyyyzzyyyyyyzzyyyyyyyyyyyyyyyyyyzzzzyyzzyyyyyyyyyyyyyyyyyyyxwy{}ywwxxxyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzyyyyyyyyyyyyzzyyyyyyyyzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzyyyyyyyyzzyyyyyyyyyyyyyyzzyyyyzzyyyyyyyyyyyyyyyyyyzzyyyyzzyyzzzzyyyyyyzzyyyyyyyyyyyyyyzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzyyzzyyyyyyyyyyzzzzyyxxyxwxyz}ƽ}ywxxxxxyyyyyzzyyyyyyyyyyzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzyyzzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzyyyyyyzzzzyyyyyyyyyyzzyyyyyyyyyyyyyyyyyyyyyyzzyyyyyyyyyyyyyyzzyyyyyyyyyyzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyxwxxxxwwwwwwwwwxwwxwwwwwxxwwwwwwwwwwwwwwxwwwwwwwwwwwwwwwwwwxyyyyzzyyyyyyyyyyyyyyyyyyzzyyyyyyyyyyyyyyyyyyzzyyzzyyyyyyyyyyyyyyyyzzyyyyyyyyyyyyyyyyyyyyzzyyyyyyyyyyyyyyyyyyyyyyyyzzyyyyzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzzzyyyyyyzzyyyyyyyyyyyyyyyyyyyyzzyyzzyyyyyyyyyyzzzzyyyyxxwwwwwwwwwwwwwwwwwwwwwwwwwwwwwxwwwwwwwwwwwwwwxxwwwwwxxxxyyyyyyyzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyxwwwwwwxxxxxxwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwxxwwwwwwwwwwxxyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzyyxwwwwwwwwwwwwwxxxxwwwwwwwwwwwwwwwwwwwwwwwwxxxwwwwwwwwxwwwxyyyyyyyyyyyyyyyyyyyyyyyyyzzyyyyzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzyyyyyyyyyyyyyyyyyyyyyyzzzzzzyyyyyyyyyyyyyyxxxxxyz|Ŀ~zyxwxxxyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzyyyyyyyyyyyyyyyyzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyxwwwwwxxwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwxxwwwwwwwwwwxxxyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyxwwwwwwxxwwwwwwwwwwwwwwwwwwwwwxwwwwwwwwwwwwwwwwwwwwwwwwwwxxyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzzzzzyyyyyyzzyyyyyyzzyyyyzzyyyyyyzzyyyyyyyyzzyyyyyyyyyyyyzzyyzzyyyyzzyyzzyyzzyyyyyyyyyyyyyyzzyyzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzyyyyyyyyyyyyzzyyyyzzzzyyyyyyyyyyyyzzyyyyyyyyyyyyyyyyzzyyzzyyzzyyyyyyyyyyyyzzyyyyzzyyyyyyyyzzzzzzzzzzyyyyzzyyyyzzyyyyyyyyzzyyyyzzyyyyyyyyyyzzyyyyzzzzyyyyyyzzyyyyyyyyzzzzyyyyyyyyyyzzyyyyyyyyyyyyyyyyyyyyyyzzyyyyyyzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzzzyyyyyyyyzzyyzzyyyyyyzzzzyyzzzzyyzzyyyyyyyyyyyyyyyyzzyyyyyyyyyyyyzzyyyyyyyyyyyyyyzzyyyyyyzzyyyyzzyyyyyyyyyyzzyyyyyyyyyyyyyyyyyyyyzzyyzzzzyyzzyyzzzzyyyyyyyyyyyyyyzzyyyyyyyyyyzzzzyyyyyyyyyyyyyyyyyyzzyyyyyyzzyyzzzzyyyyyyzzyyzzyyyyyyyyzzyyyyyyyyzzyyyyyyyyyyyyyyyyyyzzyyzzyyyyyyzzyyzzyyyyyyyyyyyyzzyyyyyyyyyyzzyyyyyyyyyyzzyyyyyyyyyyyyyyzzyyyyyyzzyyyyyyyyyyyyyyzzyyzzyyyyyyyyyyyyzzzzyyyyyyyyzzyyyyyyyyzzyyyyyyyyzzyyyyyyyyyyyyzzyyyyyyyyyyzzyyyyzzyyyyyyyyyyyyyyzzyyyyxxwwvzʿ|vwwwxyyzzyyyyzzyyyyyyzzyyyyyyyyyyyyyyyyzzzzyyzzyyzzyyyyzzyyzzzzyyyyyyyyyyyyyyyyzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzyyyyyyzzyyyyyyyyzzyyyyyyyyyyyyyyyyyyyyzzyyyyyyyyzzzzyyyyyyyyyyyyzzyyyyyyzzyyyyyyzzyyyyyyyyyyyyyyyyyyzzzzyyzzyyyyyyyyyyyyyyyyyyyyyyyxxxxwvzʿ|vwwwxxyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzyyyyyyyyyyyyzzyyyyyyyyzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzyyyyyyyyzzyyyyyyyyyyyyyyzzyyyyzzyyyyyyyyyyyyyyyyyyzzyyyyzzyyzzzzyyyyyyzzyyyyyyyyyyyyyyzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzyyzzyyyyyyyyyyzzzzyyyyyyyyyyyxxxwwwwv{üyvwxxxxxyyzzyyyyyyyyzzyyyyyyyyyyzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzyyzzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzyyyyyyzzzzyyyyyyyyyyzzyyyyyyyyyyyyyyyyyyyyyyzzyyyyyyyyyyyyyyzzyyyyyyyyyyzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzyyyyyyyyyyyyyyyyyyzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzyyyyyyyyyyyyyyyyyyzzyyyyyyyyyyyyyyyyyyzzyyzzyyyyyyyyyyyyyyyyzzyyyyyyyyyyyyyyyyyyyyzzyyyyyyyyyyyyyyyyyyyyyyyyzzyyyyzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzzzyyyyyyzzyyyyyyyyyyyyyyyyyyyyzzyyzzyyyyyyyyyyzzzzyyyyyyyyzzyyyyyyyyyyyyyyyyyyyyyyyyzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzyyyyyyyyyyyyyyyyzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzyyyyzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzyyyyyyyyyyyyyyyyyyyyyyzzzzzzyyyyyyyyyyyyyyyyyyyyyyxxxwwwvy~Ǿ{vvwwwxxyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzyyyyyyyyyyyyyyyyzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzzzyyzzzzyyzzyyyyyyyyyyzzzzyyzzzzzzyyyyyyzzzzyyyyyyzzzzyyyyyyyyyyzzyyyyyyzzzzzzzzzzyyyyzzzzzzyyzzzzyyyyzzyyyyyyzzzzyyzzyyzzzzzzyyyyyyzzzzzzyyyyyyzzyyzzyyzzzzzzyyzzyyzzyyzzzzzzyyzzzzzzzzzzyyyyzzyyzzzzzzyyyyzzzzyyzzzzyyyyzzyyzzzzyyzzyyyyzzzzzzyyzzzzzzzzzzyyzzyyzzyyyyzzyyyyzzzzyyyyyyyyzzyyyyzzzzzzzzyyzzyyzzyyzzzzyyyyzzyyzzyyyyzzyyzzzzyyyyzzyyzzyyzzzzyyyyzzzzzzzzzzyyyyyyzzyyyyzzzzyyzzyyzzyyzzyyzzzzzzzzzzzzyyyyzzzzyyzzyyzzzzzzzzyyzzyyyyzzyyzzyyzzzzzzyyyyyyyyzzzzyyyyzzyyzzzzyyyyzzzzzzyyzzzzzzyyzzzzzzzzyyzzzzyyyyzzyyzzzzyyzzyyyyzzzzzzyyyyzzzzzzyyyyyyyyyyyyyyyyyyzzzzzzzzyyzzyyyyzzyyyyyyyyzzyyyyzzyyyyzzyyyyyyzzyyzzyyzzyyzzzzyyyyyyzzyyzzzzzzzzzzyyyyyyyyyyzzzzzzyyyyyyyyyyyyzzzzzzyyyyzzyyyyzzyyyyyyzzyyyyyyyyzzzzyyzzyyyyyyzzyyzzzzyyyyzzyyzzzzzzyyyyzzzzyyyyyyzzyyzzzzyyyyzzzzzzyyyyyyyyzzyyzzyyzzzzyyzzyyyyyyzzzzzzyyyyyyzzzzyyyyyyyyyyyyyyyyzzzzzzyyyyyyxxxy{~}zxxxyyyyzzyyyyyyyyzzyyyyzzzzyyyyyyyyyyyyyyzzyyyyzzyyyyzzyyyyzzyyzzzzyyyyzzyyzzzzyyyyyyzzyyyyzzyyzzzzzzyyzzzzzzyyzzyyzzzzzzyyzzyyyyyyzzyyzzzzzzyyzzzzyyzzzzzzzzyyzzzzzzzzyyyyyyzzyyyyyyyyyyyyzzyyyyyyzzyyyyzzyyzzyyyyzzyyyyyyyyyyyyzzzzyyyyzzyyyyyyzzyyyyyyxxxy|~}yxxxyyyyzzzzyyyyzzyyyyyyyyzzzzzzyyyyzzzzyyzzzzyyyyyyzzyyyyzzyyyyyyyyyyzzzzzzyyzzyyyyzzyyzzyyyyyyyyyyzzyyyyzzyyyyyyyyyyyyzzyyyyyyzzyyyyzzzzyyyyyyyyyyzzyyzzyyzzyyyyyyyyyyyyyyyyyyyyyyzzyyyyyyzzyyyyyyyyyyzzyyyyyyzzzzyyzzyyzzyyzzyyyyzzzzyyyyyyyyzzyyzzzzyyzzzzzzyyyyzzyyyyzzyyyyyyyyxxxxwz}}zyxxyyyyyyyzzyyzzyyyyyyyyyyyyyyyyyyzzyyyyyyyyyyzzyyzzyyyyzzyyyyyyyyyyyyyyzzyyyyyyyyzzzzyyyyyyzzzzyyyyyyzzyyzzyyzzzzyyzzyyyyyyyyzzzzyyyyyyyyzzyyyyyyzzyyyyyyzzyyyyzzyyyyyyzzyyyyyyyyzzzzyyyyzzzzyyyyyyyyyyzzyyzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzzzyyyyzzzzyyyyzzzzzzyyyyyyzzyyyyyyyyyyzzyyyyzzzzyyzzyyzzyyyyyyyyyyyyzzyyyyyyyyyyzzzzzzyyyyyyzzyyyyyyzzyyzzyyyyzzzzyyyyyyyyyyzzzzzzyyzzyyzzyyyyyyyyyyyyyyyyzzyyyyyyyyzzyyyyzzyyyyyyzzyyyyyyzzyyyyyyyyyyyyyyzzyyzzyyyyzzyyyyyyyyyyzzyyyyyyzzzzzzzzyyzzyyzzzzyyyyzzzzzzyyzzyyyyzzyyzzyyzzzzyyyyyyyyyyyyyyzzzzyyzzzzyyyyyyyyzzyyyyyyyyyyzzyyzzyyyyzzzzzzyyyyyyyyzzyyyyzzyyyyyyyyyyyyyyzzyyyyzzyyyyyyzzyyyyzzyyyyzzyyyyyyyyzzzzyyyyzzzzyyyyyyyyyyyyzzzzyyyyyyyyyyyyzzzzyyyyyyyyyyyyyyyyzzyyyyyyyyyyyyyyyyzzzzyyyyzzyyyyyyyyyyyyzzyyyyzzyyyyyyyyyyyyyyzzyyyyyyzzzzzzyyzzyyyyzzyyzzyyyyyyyyzzzzyyyyzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzyyyyyyyyyyyyyyyyyyzzzzyyzzyyyyyyyyyyyyyyyyyyzzzzyyyyyyyyyyyyyyyyyyzzzzzzzzyyyyyyzzyyyyzzzzyyyyyyyyzzzzyyyyyyzzzzyyzzzzyyyyyyyyyyyyyyzzyyyyyyyyyyyyyyyyyyyyyyyyzzyyzzyyyyyyyyyyyyyyyyyyyyzzzzyyyyyyyyyyzzyyyyyyyyzzyyyyyyyyzzzzyyyyyyyyyyzzyyyyyyyyyyzzyyyyzzyyyyyyyyyyzzyyyyyyzzzzyyyyyyzzyyyyyyyyyyyyzzyyyyyyyyyyyyzzzzzzyyyyyyyyyyzzyyyyyyyyzzyyyyyyyyyyyyyyzzzzyyzzyyyyyyzzzzyyyyyyyyzzyyyyyyyyzzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzzzzzzzzzyyyyyyyyyyyyyyyyyyyyyyzzzzyyyyyyyyyyyyzzzzyyzzyyyyyyzzyyyyyyyyyyyyzzyyzzyyyyyyzzzzyyyyzzyyzzyyyyyyyyzzzzyyyyzzyyzzyyyyyyyyyyyyyyyyyyyyyyyyyxxxxyz|~}ywxxxxxxyyyyyyyyzzyyzzyyzzzzzzyyyyyyyyzzyyyyyyyyyyzzyyzzyyyyyyzzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzyyyyzzyyzzyyyyyyyyyyzzzzzzyyyyyyyyzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzyyyyyyyyyyyyyyyyyyzzyyzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzyyyyyyyyyyyyzzyyyyyyyyyyyyyyyyyyyyyyyyyyzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzyyyyyyyyyyyyyyyyyyyyzzyyzzyyyyyyyyyyyyyyzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzyyyyzzyyyyzzyyyyyyyyyyyyyyyyyyyyzzyyyyyyyyyyyyzzyyyyzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzzzyyyyyyyyyyzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzyyyyyyyyzzzzzzyyzzzzyyzzyyyyyyyyyyzzzzyyzzzzzzyyyyyyzzzzyyyyyyzzzzyyyyyyyyyyzzyyyyyyzzzzzzzzzzyyyyzzzzzzyyzzzzyyzzzzyyyyyyzzzzyyzzyyzzzzzzyyyyyyzzzzzzyyyyyyzzyyzzyyzzzzzzyyzzyyzzyyzzzzzzyyzzzzzzzzzzzyyyzzyyzzzzzzyyyyzzzzyyzzzzyyyyzzyyzzzzyyzzyyyyzzzzzzyyzzzzzzzzzzyyzzyyzzyyyyzzyyyyzzzzyyyyyyyyzzyyyyzzzzzzzzyyzzyyzzyyzzzzzzyyzzyyzzyyyyzzyyzzzzyyyyzzyyzzyyzzzzyyyyzzzzzzzzzzyyyyyyzzyyyyzzzzyyzzyyzzyyzzyyzzzzzzzzzzzzyyyyzzzzyyzzyyzzzzzzzzyyzzyyyyzzyyzzyyzzzzzzyyyyyyyyzzzzyyyyzzyyzzzzyyyyzzzzzzyyzzzzzzyyzzzzzzzzyyzzzzyyyyzzyyzzzzyyzzyyyyzzzzzzyyyyzzzzzzyyyyyyyyyyyyyyyyyyzzzzzzzzyyzzyyyyzzyyyyyyyyzzyyyyzzyyyyzzyyyyyyzzyyzzyyzzyyzzzzyyyyyyzzyyzzzzzzzzzzyyyyyyyyyyzzzzzzyyyyyyyyyyyyzzzzzzyyyyzzyyyyzzyyyyyyzzyyyyyyyyzzzzyyzzyyyyyyzzyyzzzzyyyyzzyyzzzzzzyyyyzzzzyyyyyyzzyyzzzzyyyyzzzzzzyyyyyyyyzzyyzzyyzzzzyyzzyyyyyyzzzzzzyyyyyyzzzzyyyyyyyyyyyyyyyyzzzzzzyyzzzzzzyyyyyyxxxwwxz¼zvwwxxxxyyzzzzzzzzzzyyyyyyyyzzyyyyzzzzyyyyyyyyyyyyyyzzyyyyzzyyyyzzyyyyzzyyzzzzyyyyzzyyzzzzyyyyyyzzyyyyzzyyzzzzzzyyzzzzzzyyzzyyzzzzzzyyzzyyyyyyzzyyzzzzzzyyzzzzyyzzzzzzzzyyzzzzzzzzyyyyyyzzyyyyyyyyyyyyzzyyyyyyzzyyyyzzyyzzyyyyzzyyyyyyyyyyyyzzzzyyyyzzyyyyyyzzyyyyyyyyyyyyyxxwwwww{¼~yvwwwxxyxyyyzzzzyyzzzzyyyyzzyyyyyyyyzzzzzzyyyyzzzzyyzzzzyyyyyyzzyyyyzzyyyyyyyyyyzzzzzzyyzzyyyyzzyyzzyyyyyyyyyyzzyyyyzzyyyyyyyyyyyyzzyyyyyyzzyyyyzzzzyyyyyyyyyyzzyyzzyyzzyyyyyyyyyyyyyyyyyyyyyyzzyyyyyyzzyyyyyyyyyyzzyyyyyyzzzzyyzzyyzzyyzzyyyyzzzzyyyyyyyyzzyyzzzzyyzzzzzzyyyyzzyyyyzzyyyyyyzzzzyyzzyxxxxxwwwwwvv|ʿyvwwwwxyyyyyyyzzyyyyyyzzyyzzyyyyyyyyyyyyyyyyyyzzyyyyyyyyyyzzyyzzyyyyzzyyyyyyyyyyyyyyzzyyyyyyyyzzzzyyyyyyzzzzyyyyyyzzyyzzyyzzzzyyzzyyyyyyyyzzzzyyyyyyyyzzyyyyyyzzyyyyyyzzyyyyzzyyyyyyzzyyyyyyyyzzzzyyyyzzzzyyyyyyyyyyzzyyzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzzzyyyyzzzzyyyyzzzzzzyyyyyyzzyyyyyyyyyyzzyyyyzzzzyyzzyyzzyyyyyyyyyyyyzzyyyyyyyyyyzzzzzzyyyyyyzzyyyyyyzzyyzzyyyyzzzzyyyyyyyyyyzzzzzzyyzzyyzzyyyyyyyyyyyyyyyyzzyyyyyyyyzzyyyyzzyyyyyyzzyyyyyyzzyyyyyyyyyyyyyyzzyyzzyyyyzzyyyyyyyyyyzzyyyyyyzzzzzzzzyyzzyyzzzzyyyyzzzzzzyyzzyyyyzzyyzzyyzzzzyyyyyyyyyyyyyyzzzzyyzzzzyyyyyyyyzzyyyyyyyyyyzzyyzzyyyyzzzzzzyyyyyyyyzzyyyyzzyyyyyyyyyyyyyyzzyyyyzzyyyyyyzzyyyyzzyyyyzzyyyyyyyyzzzzyyyyzzzzyyyyyyyyyyyyzzzzyyyyyyyyyyyyzzzzyyyyyyyyyyyyyyyyzzyyyyyyyyyyyyyyyyzzzzyyyyzzyyyyyyyyyyyyzzyyyyzzyyyyyyyyyyyyyyzzyyyyyyzzzzzzyyzzyyyyzzyyzzyyyyyyyyzzzzyyyyzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzyyyyyyyyyyyyyyyyyyzzzzyyzzyyyyyyyyyyyyyyyyyyzzzzyyyyyyyyyyyyyyyyyyzzzzzzzzyyyyyyzzyyyyzzzzyyyyyyyyzzzzyyyyyyzzzzyyzzzzyyyyyyyyyyyyyyzzyyyyyyyyyyyyyyyyyyyyyyyyzzyyzzyyyyyyyyyyyyyyyyyyyyzzzzyyyyyyyyyyzzyyyyyyyyzzyyyyyyyyzzzzyyyyyyyyyyzzyyyyyyyyyyzzyyyyzzyyyyyyyyyyzzyyyyyyzzzzyyyyyyzzyyyyyyyyyyyyzzyyyyyyyyyyyyzzzzzzyyyyyyyyyyzzyyyyyyyyzzyyyyyyyyyyyyyyzzzzyyzzyyyyyyzzzzyyyyyyyyzzyyyyyyyyzzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzzzzzzzzzyyyyyyyyyyyyyyyyyyyyyyzzzzyyyyyyyyyyyyzzzzyyzzyyyyyyzzyyyyyyyyyyyyzzyyzzyyyyyyzzzzyyyyzzyyzzyyyyyyyyzzzzyyyyzzyyzzyyyyyyyyyyyyyyyyyyyyzzyyyyzzzyyyyxxxwwwwwvvzƽ|vvwwxxxxxxxyyyyyyyyyyyyyyyyzzyyzzyyzzzzzzyyyyyyyyzzyyyyyyyyyyzzyyzzyyyyyyzzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzyyyyzzyyzzyyyyyyyyyyzzzzzzyyyyyyyyzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzyyyyyyyyyyyyyyyyyyzzyyzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzyyyyyyyyyyyyzzyyyyyyyyyyyyyyyyyyyyyyyyyyzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzyyyyyyyyyyyyyyyyyyyyzzyyzzyyyyyyyyyyyyyyzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzyyyyzzyyyyzzyyyyyyyyyyyyyyyyyyyyzzyyyyyyyyyyyyzzyyyyzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzzzyyyyyyyyyyzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzyyyyyyyyzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzyyzzzzzzzzzzyyzzzzzzzzzzzzzzzzzzzzzzzzyyzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzyyzzzzzzzzyyzzzzzzzzzzzzzzzzzzzzzzyyzzzzzzzzyyzzyyzzzzzzzzzzyyzzzzzzzzzzyyzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzyyzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzyyzzzzzzzzzzzzzzzzyyzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzyyyyyyyxxxy{~~}zyxxxyyyyyyzzzzzzzzyyzzzzzzzzzzzzzzzzzzzzyyzzyyzzzzzzyyzzzzzzzzzzzzyyzzzzzzzzzzzzzzzzzzyyyyzzyyzzzzyyzzzzzzzzzzyyzzzzzzzzzzzzzzzzzzyyzzzzzzzzzzzzyyzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzyyzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzyyzzzzzzzzzzzzyyzzzzzzzzzzzzzzzzzzzzzzyyzzzzzzzzzzzyyyyyyyxxxxy{~~|zyxxxxxyyyyzzzzzzzzzzyyzzzzzzzzzzyyzzyyzzzzyyzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzyyzzzzyyyyzzzzzzzzzzyyzzzzzzzzzzzzyyzzzzzzzzzzyyyyyyzzzzyyyyyyzzzzzzzzyyzzzzzzyyzzzzzzzzzzzzzzzzyyzzzzzzzzzzyyzzzzzzzzyyzzzzzzyyzzzzyyzzzzzzzzzzzzzzyyzzzzzzzzyyyyzzzzyyzzzzzzyyzzzzzzzzzzzzyyzzzzzzzzyyzzyyyyzzzzzzzzyyyyyyxxxxxxwy}~|zxwxxxxyyyyyzzzzzzzzzzzyyzzzzzzzzyyyyyyzzyyzzzzyyzzzzzzyyzzzzzzzzzzzzzzzzzzzzzzzzzzzzyyzzzzyyzzyyyyzzyyzzyyzzyyyyyyyyzzyyyyyyzzzzzzzzzzzzzzzzzzzzzzyyzzzzzzyyyyzzyyyyyyyyzzzzzzyyyyzzzzzzyyyyyyzzzzzzzzzzyyzzyyyyzzzzzzzzyyzzyyzzyyzzyyzzzzyyzzzzzzyyyyzzzzzzzzyyzzzzzzzzzzyyzzzzzzzzyyzzzzyyzzzzzzzzzzzzzzzzzzzzyyyyzzzzyyyyzzzzzzyyzzyyyyyyzzyyzzyyzzzzzzzzyyzzzzzzzzyyyyyyzzyyzzzzyyyyzzzzzzzzzzyyzzzzyyzzzzzzzzzzyyyyzzzzyyyyyyzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzyyzzzzzzzzyyyyzzzzzzyyzzzzzzyyzzyyzzzzzzzzzzyyyyzzyyyyyyyyzzyyzzzzzzyyzzyyzzyyzzzzyyyyzzyyzzyyyyzzyyzzzzzzzzzzzzzzzzzzyyzzzzzzyyzzzzzzyyyyyyzzyyyyzzyyyyyyyyzzzzyyyyzzzzzzzzyyyyyyzzyyyyzzzzzzyyyyyyzzzzzzyyzzzzyyzzyyzzzzzzyyyyzzzzyyyyyyyyyyzzzzzzzzzzyyyyzzzzyyyyyyzzzzzzyyyyyyzzyyzzzzzzzzyyyyyyzzyyzzzzzzyyyyyyyyzzzzyyzzzzzzzzyyyyzzzzzzzzyyyyzzzzyyyyzzzzzzzzyyzzzzyyzzyyzzyyyyyyzzzzyyzzzzyyzzzzzzzzzzzzzzyyzzyyzzzzzzzzzzyyyyzzzzzzzzzzzzyyzzyyzzyyzzyyzzyyyyyyyyzzzzyyyyyyyyzzzzyyyyyyzzzzyyzzzzyyzzzzzzzzzzyyzzzzzzyyyyyyzzzzzzyyyyzzzzyyzzzzzzyyyyyyyyzzyyyyyyyyzzzzzzzzyyyyzzyyyyyyzzyyyyzzyyzzzzzzyyzzzzzzyyzzyyzzyyzzzzzzyyyyzzzzyyyyzzzzzzzzzzyyzzyyyyyyyyzzzzzzzzzzyyzzzzzzzzzzyyyyzzzzyyzzyyyyzzyyyyzzzzzzyyyyyyyyyyzzyyyyzzyyzzyyyyyyzzzzyyzzyyyyyyyyzzyyzzyyyyyyzzzzyyzzyyyyyyyyyyzzyyzzyyyyyyyyyyzzzzyyzzyyyyzzyyyyyyzzyyyyyyyyzzzzyyzzyyyyzzyyyyyyyyzzyyzzzzyyyyyyyyyyzzzzyyzzyyyyzzyyyyyyyyyyzzyyzzzzzzzzyyzzyyzzyyzzyyzzyyyyzzzzzzzzyyzzyyzzyyzzzzyyyyzzzzzzyyyyyyzzzzyyzzzzyyyyyyzzzzyyzzyyyyyyyxyxxxxxxwwx{}~}zwwwxxxxyyyyyyzzzzzzzzzzzzyyzzyyyyzzyyzzyyzzzzyyyyzzyyzzyyyyyyzzyyyyzzzzyyyyzzyyzzyyzzyyyyyyyyyyzzyyyyyyyyyyyyyyyyyyzzzzzzzzzzzzyyyyyyyyzzyyyyyyyyyyzzzzzzzzyyzzyyzzyyyyyyzzzzzzyyyyyyyyzzyyyyyyzzzzzzyyyyyyyyyyzzyyyyzzyyyyyyyyzzyyyyyyzzyyyyyyyyyyyyyyyyyyzzzzzzyyyyzzyyyyyyyyzzyyzzyyzzzzzzyyzzzzyyzzzzyyyyyyzzzzzzyyyyyyzzzzyyzzyyyyyyzzzzyyyyzzyyzzzzyyyyyyzzyyzzyyzzzzyyyyyyyyzzyyyyzzyyyyyyyyzzyyyyzzyyzzzzzzzzzzzzzzzzyyyyzzyyyyyyyyyyzzzzyyyyzzyyyyyyzzyyyyyyyyzzzzzzyyyyyyyyyyyyzzzzyyzzyyyyzzyyzzzzzzyyyyyyyyzzyyzzyyyyyyyyyyzzyyyyyyzzzzyyzzyyyyzzyyyyzzyyyyyyyyyyyyzzyyzzyyyyyyzzyyyyzzyyzzzzzzzzyyyyyyzzyyzzyyyyyyyyzzyyyyzzyyyyyyyyyyyyzzzzyyyyzzzzzzzzyyyyyyyyyyzzyyzzyyyyyyzzyyyyyyyyyyyyyyyyyyyyzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzyyzzzzzzzzzzyyzzzzzzzzzzzzzzzzzzzzzzzzyyzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzyyzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzyyzzyyzzzzzzzzzzyyzzzzzzzzzzyyzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzyyzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzyyzzzzzzzzzzzzzzzzyyzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzyyyxxxxxxxxwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwxxxxxxxxxyyyzzzzzzzzzzzzzzzzzzzyyzzzzzzzzzzzzzzzzzzzzyyzzzzzzzzzzyyzzzzzzzzzzzzyyzzzzzzzzzzzzzzzzzzyyyyzzyyzzzzzzzzzzzzzzzzyyzzzzzzzzzzzzzzzzzzyyzzzzzzzzzzzzyyzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzyyzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzyyzzzzzzzzzzzzyyzzzzzzzzzzzzzzzzzzzzzzyyzzzzzzzzzzzzyyzzzzzzyyzzyyyyxxxxwxxwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwxxxxxxxyyyyyyzzzzzzzzzzzzzzzzzzzzyyzzzzzzzzzzyyzzyyzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzyyyyzzzzzzzzzzyyzzzzzzzzzzzzyyzzzzzzzzzzyyyyyzzzzzyyyyyzzzzzzzzzyyzzzzzzyyzzzzzzzzzzzzzzzzyyzzzzzzzzzzyyzzzzzzzzzzzzzzzzyyzzzzyyzzzzzzzzzzzzzzyyzzzzzzzzyyyyzzzzzzzzzzzzyyzzzzzzzzzzzzyyzzzzzzzzyyzzzyyyzzzzzzzzzzzzyyzzyyzzyyyyyyxxxxxxxxxxxxxwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwvvwwxxxwxxxxxyyyyyyyyyyyyzzyyzzzzzzzzzzzzzzzzzzzzzzyyyyyyzzyyzzzzyyzzzzzzyyzzzzzzzzzzzzzzzzzzzzzzzzzzzzyyzzzzyyzzyyyyzzyyzzyyzzyyyyyyyyzzyyyyyyzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzyyyyzzyyyyyyyyzzzzzzzzyyzzzzzzyyyyyyzzzzzzzzzzyyzzyyyyzzzzzzzzyyzzyyzzyyzzyyzzzzyyzzzzzzyyyyzzzzzzzzyyzzzzzzzzzzyyzzzzzzzzzzzzzzyyzzzzzzzzzzzzzzzzzzzzyyyyzzzzyyyyzzzzzzyyzzyyyyyyzzyyzzzzzzzzzzzzyyzzzzzzzzzyyyyzzzyyzzzzyyyyzzzzzzzzzzyyzzzzyyzzzzzzzzzzyyyyzzzzyyyyyyzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzyyzzzzzzzzyyyyzzzzzzyyzzzzzzyyzzyyzzzzzzzzzzyyyyzzyyyyyyyyzzyyzzzzzzyyzzyyzzyyzzzzyyyyzzyyzzyyyyzzyyzzzzzzzzzzzzzzzzzzyyzzzzzzyyzzzzzzyyyyyyzzyyyyzzyyyyyyyyzzzzyyyyzzzzzzzzyyyyyyzzyyyyzzzzzzyyyyyyzzzzzzyyzzzzyyzzyyzzzzzzyyyyzzzzyyyyyyyyyyzzzzzzzzzzyyyyzzzzyyyyyyzzzzzzyyyyyyzzyyzzzzzzzzyyyyyyzzyyzzzzzzyyyyyyyyzzzzyyzzzzzzzzyyyyzzzzzzzzyyyyzzzzyyyyzzzzzzzzyyzzzzyyzzyyzzyyyyyyzzzzyyzzzzyyzzzzzzzzzzzzzzyyzzyyzzzzzzzzzzyyyyzzzzzzzzzzzzyyzzyyzzyyzzyyzzyyyyyyyyzzzzyyyyyyyyzzzzyyyyyyzzzzyyzzzzyyzzzzzzzzzzyyzzzzzzyyyyyyzzzzzzyyyyzzzzyyzzzzzzyyyyyyyyzzyyyyyyyyzzzzzzzzyyyyzzyyyyyyzzyyyyzzyyzzzzzzyyzzzzzzyyzzyyzzyyzzzzzzyyyyzzzzyyyyzzzzzzzzzzyyzzyyyyyyyyzzzzzzzzzzyyzzzzzzzzzzyyyyzzzzyyzzyyyyzzyyyyzzzzzzyyyyyyyyyyzzyyyyzzyyzzyyyyyyzzzzyyzzyyyyyyyyzzzzzzyyyyyyzzzzyyzzyyyyyyyyyyzzyyzzyyyyyyyyyyzzzzyyzzyyyyzzyyyyyyzzyyyyyyyyzzzzyyzzyyyyzzyyyyyyyyzzyyzzzzyyyyyyyyyyzzzzyyzzyyyyzzyyyyyyyyyyzzyyzzzzzzzzyyzzyyzzyyzzyyzzyyyyzzzzzzzzyyzzyyzzyyzzzzyyyyzzzzzzyyyyyyzzzzyyzzzzyyyyyyzzzzyyzzyyyyyyyyyyyyyyyyyyyyxxyxxxxxxwwxxwwwwvwwwwwwwwwwwwwvwwwwwwwwwwwwwwwwwwwwwwwxxxxyyyyyzzyyzzyyzzyyyyzzzzzzzzzzzzyyzzyyyyzzyyzzyyzzzzyyyyzzyyzzyyyyyyzzyyyyzzzzyyyyzzyyzzyyzzyyyyyyyyyyzzyyyyyyyyyyyyyyyyyyzzzzzzzzzzzzyyyyyyyyzzyyyyyyyyyyzzzzzzzzyyzzyyzzyyyyyyzzzzzzyyyyyyyyzzyyyyyyzzzzzzyyyyyyyyyyzzyyyyzzyyyyyyyyzzyyyyyyzzyyyyyyyyyyyyyyyyyyzzzzzzyyyyzzyyyyyyyyzzyyzzyyzzzzzzyyzzzzyyzzzzyyyyyyzzzzzzyyyyyyzzzzyyzzyyyyyyzzzzyyyyzzyyzzzzyyyyyyzzyyzzyyzzzzyyyyyyyyzzyyyyzzyyyyyyyyzzyyyyzzyyzzzzzzzzzzzzzzzzyyyyzzyyyyyyyyyyzzzzyyyyzzyyyyyyzzyyyyyyyyzzzzzzyyyyyyyyyyyyzzzzyyzzyyyyzzyyzzzzzzyyyyyyyyzzyyzzyyyyyyyyyyzzyyyyyyzzzzyyzzyyyyzzyyyyzzyyyyyyyyyyyyzzyyzzyyyyyyzzyyyyzzyyzzzzzzzzyyyyyyzzyyzzyyyyyyyyzzyyyyzzyyyyyyyyyyyyzzzzyyyyzzzzzzzzyyyyyyyyyyzzyyzzyyyyyyzzyyyyyyyyyyyyyyyyyyyyzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzyyyyyyxyyyyxxxxxxxyyxxxxxxyyxxyyxxxxxxxxxxxxxxyyyyyyyyzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzyyyyyyxxxxxxxxxxxxxxxxxxxyxxxxxxxxxyyxxxxxxxxxxyyyyyyyyyzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzyyyyyyyyyyyyxxxxxxxxxxxxxxxxxxxxxxxxxxyyxxxxxxxxxxxxxxxxxxxyyyyyyyyyzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzyyzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzyyzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzyyzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzyyzzzzzzzzyyzzzzzzzzzzzzzzzzyyyyzzzzyyzzzzzzyyzzzzzzzzzzzzzzzzzzzzzzzzzzyyzzzzzzzzzzzzyyzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzyyzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzyyzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzyyzzzzzzzzyyzzzzzzzzzzzzzzzzzzzzzzzzzzzzyyyyzzzzzzzzzzzzzzzzzzzzyyyyzzzzzzyyzzzzzzzzzzzzzzyyyyzzzzzzzzzzzzzzyyyyyyyyyyxxxxxxxxxxxxxxwxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxyyyyyyyyyzzzzyyzzzzzzzzyyzzzzyyyyyyzzzzzzyyzzzzzzyyzzzzzzzzzzzzzzzzzzzzzzyyzzzzzzyyzzzzzzyyzzzzzzyyzzzzzzzzzzyyzzyyzzzzzzzzzzzzyyzzyyzzzzzzzzzzyyzzzzzzyyzzyyzzzzzzzzzzyyzzzzzzzzzzzzzzzzzzzzzzzzzzzzyyzzzzzzzzzzzzyyzzyyyyyyyyzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzyyzzzzzzzzzzzzyyzzzzyyzzzzyyzzzzzzzzzzzzzzzzzzzzyyzzzzzzzzzzzzyyzzzzzzzzzzzzzzzzzzyyyyzzzzzzyyzzzzyyyyzzzzzzyyzzzzyyzzzzzzzzyyyyyyzzzzzzzzzzyyzzzzzzzzzzzzzzzzzzzzyyzzzzzzzzyyzzzzyyzzzzzzyyyyzzzzyyzzzzzzzzyyzzzzzzzzyyzzzzzzzzzzyyzzzzyyzzyyzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzyyzzzzzzzzyyyyyyzzzzzzzzzzzzzzyyyyzzyyzzzzzzyyyyzzyyzzzzzzzzzzyyzzyyzzzzzzyyzzzzzzzzzzyyyyzzzzzzyyzzzzzzyyyyyyzzzzzzyyyyzzyyzzyyyyzzzzzzzzzzyyyyzzzzzzzzyyzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzyyzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzyyzzzzzzzzyyzzzzzzzzzzzzzzzzyyyyzzzzyyzzzzzzyyzzzzzzzzzzzzzzzzzzzzzzzzzzyyzzzzzzzzzzzzyyzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzyyzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzyyzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzyyzzzzzzzzyyzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzyyzzzzzzzzzzzzzzzzzzzzyyyyzzzzzzyyzzzzzzzzzzzzzzyyyyzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzyyzzyyzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzyyzzyyzzzzyyzzzzzzzzyyzzzzyyyyyyzzzzzzyyzzzzzzyyzzzzzzzzzzzzzzzzzzzzzzyyzzzzzzyyzzzzzzyyzzzzzzyyzzzzzzzzzzyyzzyyzzzzzzzzzzzzzzzzyyzzzzzzzzzzyyzzzzzzzzzzzzzzzzzzzzzzyyzzzzzzzzzzzzzzzzzzzzzzzzzzzzyyzzzzzzzzzzzzyyzzyyyyyyyyzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzyyzzzzyyzzzzzzzzzzzzzzzzzzzzyyzzzzzzzzzzzzyyzzzzzzzzzzzzzzzzzzyyyyzzzzzzzzzzzzyyyzzzzzzzyyzzzzyyzzzzzzzzyyyyzzzzzzzzzzzzyyzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzyyzzzzyyzzzzzzyyyzzzzzyyzzzzzzzzyyzzzzzzzzyyzzzzzzzzzzyyzzzzyyzzyyzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzyyzzzzzzzzzyyyyyzzzzzzzzzzzzzzyyyyzzyyzzzzzzyyyyzzyyzzzzzzzzzzzzzzyyzzzzzzyyzzzzzzzzzzyyyyzzzzzzyyzzzzzzyyyyyyzzzzzzyyyyzzyyzzzyyyzzzzzzzzzzyyyyzzzzzzzzyyzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz{{zzzzzzzzzzzzzzzzzz{{zzzzzzzzzzzzzz{{zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz{{zzzzzzzzzzzzzzzzzzzzzzzz{{zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz{{zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz{{zzzzzzzzzzzzzzzzzzzzzzzzzz{{zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz{{zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz{{zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz{{zzzzzzzzzzzzzzzzzz{{zzzzzzzzzzzzzz{{zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz{{zzzzzzzzzzzzzzzzzzzzzzzz{{zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz{{zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz{{zzzzzzzzzzzzzzzzzzzzzzzzzz{{zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz{{zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz{{zzzzzz{{zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz{{zzzz{{zz{{zz{{{{{{{{zzzzzz{{zzzzzzzz{{{{zzzz{{{{{{zzzz{{zz{{{{zz{{zzzzzzzzzz{{zz{{zz{{{{{{{{zzzz{{zzzz{{{{{{{{zzzz{{{{zzzz{{zzzz{{zzzzzzzzzz{{{{zz{{zzzz{{zzzzzz{{{{zzzzzzzz{{zz{{zzzz{{zzzzzzzzzz{{{{{{{{zzzz{{{{zz{{zzzzzzzzzz{{{{zzzz{{zz{{zzzzzzzz{{zz{{zzzz{{zzzzzzzz{{{{zz{{{{{{{{{{zzzzzz{{{{zzzz{{{{zz{{{{zzzzzzzz{{{{{{{{{{zzzz{{zzzz{{{{zzzzzzzz{{zz{{{{zzzz{{zzzzzz{{{{zz{{{{zz{{zzzz{{{{zzzzzzzzzzzzzz{{zz{{{{zzzz{{zz{{{{{{zz{{zzzz{{zzzzzzzzzzzzzz{{zz{{zz{{{{zzzzzzzz{{zzzzzzzz{{zzzzzz{{zz{{zzzzzz{{zzzz{{{{{{{{{{{{{{{{zz{{zz{{{{{{{{zz{{zz{{{zzzzz{{zzzzzz{{{{zzzz{{zzzz{{{{zzzzzzzzzzzzzzzzzz{{{{{{{{zz{{zz{{{{{{{{zz{{{{zzzzzzzzzz{{zz{{zz{{zz{{zzzzzzzz{{zzzzzz{{zzzz{{zzzzzz{{{{zzzzzzzzzzzzzz{{zzzzzzzz{{zz{{zzzzzzzz{{{{{{zzzzzzzz{{zzzzzzzzzzzz{{{{zzzzzzzzzzzz{{zzzz{{zzzzzzzzzz{{{{zz{{{{{{zzzzzz{{zz{{{{{{zzzzzzzzzzzzzz{{zzzzzzzzzzzzzz{{zzzz{{zzzz{{zzzzzz{{zzzz{{zz{{zz{{zzzzzzzzzzzz{{zzzzzzzzzzzzzzzz{{zzzzzzzz{{zzzzzzzzzzzz{{{{zzzzzzzzzzzzzz{{zz{{zzzzzzzz{{zzzzzzzzzzzzzzzzzz{{zzzzzzzzzzzzzzzzzzzzzz{{{{zzzzzz{{{{zzzzzzzz{{zz{{{{zzzz{{{{zz{{zzzzzzzzzz{{zzzzzzzzzz{{zz{{zzzzzzzzzzzz{{{{zzzzzz{{zzzz{{zz{{zz{{zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz{{zzzzzz{{{{zzz{{{zzzzzzzzzz{{{{zzzz{{{{zzzzzzzz{{zzzzzzzz{{zzzzzzzzzzzz{{zzzz{{zzzzzzzzzzzzzz{{zzzzzzzzzz{{zzzzzzzzzzzzzzzz{{zzzzzzzzzzzz{{zzzzzzzzzz{{zzzz{{zzzzzzzz{{zzzzzzzzzzzzzz{{zzzzzzzzzzzzzz{{zzzzzzzzzzzzzzzzz{{{{{zzzzzzzzzzzzzzzzzz{{zzzzzzzz{{zzzzzzzzzzzzzzzzzzzzzzzz{{zzzzzz{{zzzzzzzz{{zzzzzzzzzzzzzzzzzzzzzzzz{{{{zzzzzzzzzzzz{{zzzzzzzzzzzzzz{{zz{{{{zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz{{zzzzzzzzzzzzzzzz{{zzzzzzzz{{zzzzzzzz{{zz{{zzzz{{z{{{zzzzzzzzzzzzzzzzzzzzzzzzzzzzzz{{zzzzzz{{zz{{zzzzzzzzzzzz{{zzzz{{{{zzzz{{zzzzzzzzzzzzzzzz{{{{zzzzzz{{zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz{{zzzzzzzzzzzzzzzzzz{{zzzzzzzzzzzzzzzzzz{{zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz{{zz{{zzzzzzzzzzzzzzzz{{zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz{{zzzzzzzzzz{{zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz{{zzzzzzzzzzzzzz{{zzzzzzzz{{zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz{{zzzzzzzz{{zzzz{{zzzzzzzz{{zz{{zzzz{{zzzz{{zzzzzzzzzzzzzzzzzzzzzz{{zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz{{zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz{{zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz{{zzzzzzzzzzzzzzzzzzzz{{zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz{{zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz{{zzzz{{zz{{zz{{{{{{{{zzzzzz{{zzzzzzzz{{{{zzzz{{{{{{zzzz{{zz{{{{zz{{zzzzzz{{zz{{zz{{zz{{{{{{{{zzzz{{zzzz{{{{{{{{zzzz{{{{zzzz{{zzzz{{zzzzzzzzzz{{{{zz{{zzzz{{zzzzzz{{{{zzzzzzzz{{zz{{zzzz{{zzzzzzzzzz{{{{{{{{zzzz{{{{zz{{zzzzzzzzzz{{{{zzzz{{zz{{zzzzzzzz{{zz{{zzzz{{zzzzzzzz{{{{zz{{{{{{{{{{zzzzzz{{{{zzzz{{{{zz{{{{zzzzzzzz{{{{{{{{{{zzzz{{zzzz{{{{zzzzzzzz{{zz{{{{zzzz{{zzzzzz{{{{zz{{{{zz{{zzzz{{{{zzzzzzzzzzzzzz{{zz{{{{zzzz{{zz{{{{{{zz{{zzzz{{zzzzzzzzzzzzzz{{zz{{zz{{{{zzzzzzzz{{zzzzzzzz{{{{zzzz{{zz{{zzzzzz{{zzzz{{{{{{{{{{{{{{{{zz{{zz{{{{{{{{zz{{zz{{{{zzzz{{zzzzzz{{{{zzzz{{zzzz{{{{zzzzzzzzzzzzzzzzzz{{{{{{{{zz{{zz{{{{{{{{zz{{{{zzzzzzzzzz{{zz{{zz{{zz{{zzzzzzzz{{zzzzzz{{zzzz{{zzzzzz{{{{zzzzzzzzzzzzzz{{zzzzzzzz{{zz{{zzzzzzzz{{{{{{zzzzzzzz{{zzzzzzzzzzzz{{{{zzzzzzzzzzzz{{zzzz{{zzzzzzzzzz{{{{zz{{{{{{zzzzzz{{zz{{{{{{zzzzzzzzzzzzzz{{zzzzzz{{zzzzzz{{zzzz{{zzzz{{zzzzzz{{zz{{{{zz{{zz{{zzzzzzzzzzzz{{zz{{zzzzzzzzzzzz{{zzzzzzzz{{zzzzzzzzzzzz{{{{zzzzzzzzzzzzzz{{zz{{zzzzzzzz{{zzzzzzzzzzzzzzzzzz{{zzzzzzzzzzzzzzzzzzzzzz{{{{zzzzzz{{{{zzzzzzzz{{zz{{{{zzzz{{{{zz{{zzzzzzzzzz{{zzzzzzzzzz{{zz{{zzzzzzzzzzzz{{{{zzzzzz{{zzzz{{zz{{zz{{zzzzzzzzzz{{zzzzzzzzzzzzzzzzzzzz{{zzzzzz{{{{zz{{{{{{zzzzzzzz{{{{zzzz{{{{zzzzzzzz{{zzzzzzzz{{zzzzzzzzzzzz{{zzzz{{zzzzzzzzzzzzzz{{zzzzzzzzzz{{zzzzzzzzzzzzzzzz{{zzzzzzzzzzzz{{zzzzzzzzzz{{zzzz{{zzzzzzzz{{zzzzzzzzzzzzzz{{zzzzzzzzzzzzzz{{zzzzzzzzzzzzzzzz{{{{{{zzzzzzzzzzzzzzzzzz{{zzzzzzzz{{zzzzzzzzzzzzzzzzzz{{zzzz{{zzzzzz{{zzzzzzzz{{zzzzzzzzzzzzzzzzzzzzzzzz{{{{zzzzzzzzzzzz{{zzzzzzzzzzzzzz{{zz{{{{zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz{{zzzzzzzzzzzzzzzz{{zzzzzzzz{{zzzzzzzz{{zz{{zzzz{{{{{{zzzzzzzzzzzzzzzzzzzzzzzzzzzzzz{{zzzzzz{{zz{{zzzzzzzzzzzz{{zzzz{{{{zzzz{{zzzzzzzzzzzzzzzz{{{{zzzzzz{{zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz{{zzzzzzzzzzzzzzzzzz{{zzzzzzzzzzzzzzzzzz{{zzzzzzzzzzzzzzzzzzzzzzzzzzzzzz{{zzzzzz{{zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz{{zz{{zzzzzzzzzzzzzzzz{{zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz{{zzzzzzzzzz{{zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz{{zzzz{{zzzzzzzz{{zzzz{{zzzzzzzz{{zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz{{zzzzzzzz{{zzzz{{zzzzzzzz{{zz{{zzzz{{zzzz{{zzzzzzzzzzzzzzzzzzzzzz{{zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz{{zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz{{zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz{{zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz{{zzzzzzzzzzzzzzzzzzzz{{zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz{{zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz{{zz{{zz{{{{{{zz{{{{{{{{{{{{{{zz{{{{{{zz{{{{zz{{{{zzzz{{{{{{zz{{{{zz{{{{{{{{zz{{zzzz{{zz{{{{zz{{{{{{{{zz{{zz{{{{zzzz{{zz{{{{zz{{{{zzzz{{zzzzzzzz{{{{{{{{{{zz{{{{{{{{zz{{{{{{{{{{{{{{{{{{zz{{{{zz{{{{zz{{{{{{zzzz{{zz{{{{{{{{{{{{{{zz{{zz{{zz{{{{{{{{{{zz{{{{zz{{{{{{{{{{{{{{{{{{{{zzzz{{{{zzzz{{{{{{zzzzzz{{{{{{{{{{{{{{{{{{{{zz{{{{{{{{{{zzzz{{{{{{{{{{{{{{zz{{{{{{{{{{zzzz{{{{{{{{zz{{{{{{zzzz{{{{{{{{zzzzzz{{{{{{zz{{{{{{{{zz{{{{{{{{zz{{{{{{zz{{{{zz{{zz{{{{{{{{{{{{{{{{{{{{{{{{{{zz{{{{{{{{{{{{{{{{{{{{{{{{{{zzzzzz{{{{{{{{{{zzzz{{{{{{{{{{zzzz{{zzzz{{{{{{{{{{zz{{{{{{{{zz{{{{zz{{{{{{zzzz{{{{zz{{zz{{{{zz{{zz{{{{{{{{zz{{zzzz{{{{zz{{{{zz{{{{{{{{{{{{{{{{zz{{{{{{{{{{zzzz{{zz{{{{zz{{{{zz{{zz{{zzzzzzzzzz{{{{zzzz{{{{{{{{{{{{{{zzzz{{zz{{{{zzzz{{{{zzzzzz{{{{zz{{{{{{{{zz{{zz{{{{{{zz{{{{zz{{{{{{{{{{{{{{zz{{zz{{{{zz{{{{{{zzzz{{zz{{{{{{zz{{{{{{{{{{{{zz{{zzzzzz{{{{zz{{{{zzzz{{{{zz{{zzzzzzzz{{{{{{{{{{zz{{{{{{zz{{zzzzzz{{{{{{{{{{zzzz{{{{{{{{{{{{{{{{{{{{{{zz{{{{zz{{zzzzzz{{{{zz{{{{{{{{zzzz{{zz{{zzzz{{{{{{{{{{zzzz{{zzzz{{{{{{{{{{{{{{{{{{zz{{{{{{{{{{zz{{zzzz{{zzzz{{{{{{{{zzzzzz{{{{{{{{{{zzzz{{zzzzzz{{{{{{{{{{zzzz{{zz{{zzzzzz{{zzzz{{zz{{{{zzzz{{zz{{zz{{zz{{{{{{zz{{{{{{zz{{zzzzzzzzzz{{{{zzzz{{{{{{{{zz{{{{zz{{{{{{zzzzzz{{{{zzzzzzzzzzzz{{{{{{{{{{{{{{zzzzzz{{{{{{zz{{{{zzzzzz{{zzzzzzzzzz{{zz{{zz{{{{{{{{zz{{zzzzzz{{{{zzzz{{{{{{{{{{{{{{zzzz{{{{zzzz{{{{{{{{{{{{{{{{{{{{zzzzzz{{zzzzzz{{{{zz{{{{zz{{{{{{{{zz{{{{zz{{{{{{zz{{zz{{{{zz{{{{{{{{{{{{{{{{{{{{zz{{{{zz{{zz{{{{zz{{{{{{zzzzzz{{zz{{zzzz{{{{{{{{zzzz{{zz{{zz{{{{{{zz{{{{zz{{{{{{{{{{{{zz{{{{{{zzzzzz{{{{{{zz{{{{{{{{{{{{{{{{zzzz{{{{{{{{{{{{{{{{{{{{zz{{{{zz{{zzzzzz{{{{zz{{zz{{zzzz{{{{{{zz{{{{zzzz{{zzzz{{{{zzzz{{zz{{{{zzzz{{{{{{zz{{zz{{zz{{zzzzzz{{{{zzzzzzzz{{{{{{zzzzzz{{{{{{zz{{{{{{zz{{zz{{zzzzzz{{zz{{{{{{zz{{zzzzzz{{{{{{{{{{{{{{{{zzzzzzzz{{zz{{{{zz{{zzzzzz{{{{{{zzzzzzzz{{zzzz{{{{zzzz{{{{{{{{zzzzzzzz{{{{{{zzzzzzzz{{{{{{zzzz{{{{zzzz{{{{zz{{{{zz{{{{{{zzzzzz{{zz{{zzzz{{zz{{{{{{zzzz{{{{{z{{zzzzzzzzzz{{{{{{{{{{{{zzzz{{{{{{zzzzzzzzzz{{zzzz{{zz{{{{zzzz{{{{zz{{zzzzzz{{{{{{zzzz{{zz{{{{{{zz{{zz{{zz{{zzzzzzzz{{zz{{{{zz{{zzzz{{zz{{{{zz{{zzzz{{zz{{zz{{{{{{zzzzzz{{zzzz{{{{zz{{{{{{zzzz{{{{zz{{{{{{zzzzzzzzzz{{{{zz{{{{zzzz{{{{{{{{{{zzzz{{{{{{{{{{{{{{{{{{{{{{zzzzzz{{zzzz{{zz{{{{zzzzzzzz{{zz{{{{{{{{zz{{{{{{{{zz{{{{{{zz{{{{zzzzzz{{zz{{{{{{zz{{{{zzzz{{zzzz{{{{{{zzzz{{zz{{zzzz{{zzzz{{{{{{zzzz{{zz{{zz{{zzzzzzzzzzzz{{zz{{zzzz{{zzzzzzzz{{{{zz{{zz{{zz{{zzzzzzzzzz{{{{zzzzzzzzzzzzzz{{{{{{zz{{zzzzzzzzzz{{zz{{zzzzzzzz{{zzzzzzzzzz{{zz{{zzzz{{{{{{{{zzzz{{{{zzzz{{{{zzzz{{zz{{zz{{{{{{zz{{{{zz{{{{{{zz{{zzzzzzzzzz{{zzzzzzzzzzzz{{zzzzzzzzzz{{{{{{{{zzzz{{{{zzzzzz{{zzzz{{zz{{{{{{zzzzzzzz{{{{zzzz{{{{zzzzzzzzzz{{zzzz{{{{zz{{z{{{zzzzzzzz{{zz{{zz{{{{zzzzzzzzzzzz{{zz{{{{zzzz{{zz{{{{zz{{{{zz{{zzzz{{{{{{zzzzzzzz{{{{{{zz{{zzzz{{zz{{zz{{{{zz{{zzzzzzzzzz{{zz{{{{zz{{zzzz{{zzzz{{{{zzzz{{{{zzzz{{zzzzzz{{zz{{zzzzzz{{zzzzzzzzzzzzzz{{zz{{zzzzzzzzzzzzzzzzzz{{zz{{zz{{zzzz{{zz{{{{{{zzzz{{zzzzzz{{zzzzzzzzzzzz{{zzzz{{zzzzzz{{zz{{zzzzzzzzzzzz{{{{zzzzzzzz{{{{{z{{zz{{{{{{zz{{zzzzzz{{zz{{zzzz{{{{zz{{{{zzzzzzzz{{zz{{zzzzzzzzzz{{zz{{zzzzzzzzzzzz{{zzzz{{zzzz{{{{zzzzzzzzzzzz{{{{zzzzzzzz{{zz{{{{zzzz{{zz{{zzzzzzzzzz{{zzzzzzzz{{zz{{zzzzzz{{{zzzzzzzzzzzzzzz{{zzzzzz{{zz{{zz{{zzzzzzzz{{zz{{zzzzzz{{zzz{{{zzzzzzz{{{{{{{{{zzzzzzzzzzzzzzzz{{zzzzzzzz{{zzzzzz{{zzzzzzzzzzzzzzzzzzzzzz{{zz{{zzzzzzzzzzzz{{zzzz{{zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz{{zzzz{{{{zzzzzzzzzzzzzz{{{{zzzz{{zzzzzzzz{{zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz{{zz{{zzzzzzzzzzzz{{zz{{{zzzzzzzzz{{zzzzzzzzzzzzzzzzzz{{zzzzzz{{{{zz{{zzzzzzzzzz{{zzzzzzzzzz{{{{zzzzzzzz{{zzzzzzzzzz{{zzzzzzzzzz{{{{zzzzzzzzzzzzzzzzzzzz{{zzzzzzzzzz{{zzzz{{zzzzzzzzzzzzzzzz{{zzzz{{zz{{zzzz{{zzzzzzzzzzzzzzzz{{zzzzzzzzzzzz{{zzzzzzzzzzzzzzzz{{{{zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz{{zzzz{{{{zzzzzzzz{{zzzzzzzzzzzzzzzzzzzzzzzzzz{{zzzzzzzzzz{{zzzz{{zzzzzzzz{{zzzzzzzz{{zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz{{{{zzzzzzzzzz{{zz{{zz{{{{{{zz{{{{{{{{{{{{{{zz{{{{{{zz{{{{zz{{{{zzzz{{{{{{zz{{{{zz{{{{{{{{zz{{zzzz{{zz{{{{zz{{{{{{{{zz{{zz{{{{zzzz{{zz{{{{zz{{{{zzzz{{zzzzzzzz{{{{{{{{{{zz{{{{{{{{zz{{{{{{{{{{{{{{{{{{zz{{{{zz{{{{zz{{{{{{zzzz{{zz{{{{{{{{{{{{{{zz{{zz{{zz{{{{{{{{{{zz{{{{zz{{{{{{{{{{{{{{{{{{{{zzzz{{{{zzzz{{{{{{zzzzzz{{{{{{{{{{{{{{{{{{{{zz{{{{{{{{{{zzzz{{{{{{{{{{{{{{zz{{{{{{{{{{zzzz{{{{{{{{zz{{{{{{zzzz{{{{{{{{zzzzzz{{{{{{zz{{{{{{{{zz{{{{{{{{zz{{{{{{zz{{{{zz{{zz{{{{{{{{{{{{{{{{{{{{{{{{{{zz{{{{{{{{{{{{{{{{{{{{{{{{{{zzzzzz{{{{{{{{{{zzzz{{{{{{{{{{zzzz{{zzzz{{{{{{{{{{zz{{{{{{{{zz{{{{zz{{{{{{zzzz{{{{zz{{zz{{{{zz{{zz{{{{{{{{zz{{zzzz{{{{zz{{{{zz{{{{{{{{{{{{{{{{zz{{{{{{{{{{zzzz{{zz{{{{zz{{{{zz{{zz{{zzzzzzzzzz{{{{zzzz{{{{{{{{{{{{{{zzzz{{zz{{{{zzzz{{{{zzzzzz{{{{zz{{{{{{{{zz{{zz{{{{{{zz{{{{zz{{{{{{{{{{{{{{zz{{zz{{{{zz{{{{{{zzzz{{zz{{{{{{zz{{{{{{{{{{{{zz{{zzzzzz{{{{zz{{{{zzzz{{{{zz{{zzzzzzzz{{{{{{{{{{zz{{{{{{zz{{zzzzzz{{{{{{{{{{zzzz{{{{{{{{{{{{{{{{{{{{{{zz{{{{zz{{zzzzzz{{{{zz{{{{{{{{zzzz{{zz{{zzzz{{{{{{{{{{zzzz{{zzzz{{{{{{{{{{{{{{{{{{zz{{{{{{{{{{zz{{zzzz{{zzzz{{{{{{{{zzzzzz{{{{{{{{{{zzzz{{zzzzzz{{{{{{{{{{zzzz{{zz{{zzzzzz{{zzzz{{zz{{{{zzzz{{zz{{zz{{zz{{{{{{zz{{{{{{zz{{zzzzzzzzzz{{{{zzzz{{{{{{{{zz{{{{zz{{{{{{zzzzzz{{{{zzzzzzzzzzzz{{{{{{{{{{{{{{zzzzzz{{{{{{zz{{{{zzzzzz{{zzzzzzzzzz{{zz{{zz{{{{{{{{zz{{zzzzzz{{{{zzzz{{{{{{{{{{{{{{zzzz{{{{zzzz{{{{{{{{{{{{{{{{{{{{zzzzzz{{zzzzzz{{{{zz{{{{zz{{{{{{{{zz{{{{zz{{{{{{zz{{zz{{{{zz{{{{{{{{{{{{{{{{{{{{zz{{{{zz{{zz{{{{zz{{{{{{zzzzzz{{zz{{zzzz{{{{{{{{zzzz{{zz{{zz{{{{{{zz{{{{zz{{{{{{{{{{{{zz{{{{{{zzzzzz{{{{{{zz{{{{{{{{{{{{{{{{zzzz{{{{{{{{{{{{{{{{{{{{zz{{{{zz{{zzzzzz{{{{zz{{zz{{zzzz{{{{{{zz{{{{zzzz{{zzzz{{{{zzzz{{zz{{{{zzzz{{{{{{zz{{zz{{zz{{zzzzzz{{{{zzzzzzzz{{{{{{zzzzzz{{{{{{zz{{{{{{zz{{zz{{zzzzzz{{zz{{{{{{zz{{zzzzzz{{{{{{{{{{{{{{{{zzzzzzzz{{zz{{{{zz{{zzzzzz{{{{{{zzzzzzzz{{zzzz{{{{zzzz{{{{{{{{zzzzzzzz{{{{{{zzzzzzzz{{{{{{zzzz{{{{zzzz{{{{zz{{{{zz{{{{{{zzzzzz{{zz{{zzzz{{zz{{{{{{zzzz{{{{{{{{zzzzzzzzzz{{{{{{{{{{{{zzzz{{{{{{zzzzzzzzzz{{zzzz{{zz{{{{zzzz{{{{zz{{zzzzzz{{{{{{zzzz{{zz{{{{{{zz{{zz{{zz{{zzzzzzzz{{zz{{{{zz{{zzzz{{zz{{{{zz{{zzzz{{zz{{zz{{{{{{zzzzzz{{zzzz{{{{zz{{{{{{zzzz{{{{zz{{{{{{zzzzzzzzzz{{{{zz{{{{zzzz{{{{{{{{{{zzzz{{{{{{{{{{{{{{{{{{{{{{zzzzzz{{zzzz{{zz{{{{zzzzzzzz{{zz{{{{{{{{zz{{{{{{{{zz{{{{{{zz{{{{zzzzzz{{zz{{{{{{zz{{{{zzzz{{zzzz{{{{{{zzzz{{zz{{zzzz{{zzzz{{{{{{zzzz{{{{{{zz{{zzzzzzzzzzzz{{zz{{zzzz{{zzzzzzzz{{{{zz{{zz{{zz{{zzzzzzzzzz{{{{zzzzzzzzzzzzzz{{{{{{zz{{zzzzzzzzzz{{zz{{zzzzzzzz{{zzzzzzzzzz{{zz{{zzzz{{{{{{{{zzzz{{{{zzzz{{{{zzzz{{zz{{zz{{{{{{zz{{{{zz{{{{{{zz{{zzzzzzzzzz{{zzzzzzzzzzzz{{zzzzzzzzzz{{{{{{{{zzzz{{{{zzzzzz{{zzzz{{zz{{{{{{zzzzzzzz{{{{zzzz{{{{zzzzzzzzzz{{zzzz{{{{zz{{{{{{zzzzzzzz{{zz{{zz{{{{zzzzzzzzzzzz{{zz{{{{zzzz{{zz{{{{zz{{{{zz{{zzzz{{{{{{zzzzzzzz{{{{{{zz{{zzzz{{zz{{zz{{{{zz{{zzzzzzzzzz{{zz{{{{zz{{zzzz{{zzzz{{{{zzzz{{{{zzzz{{zzzzzz{{zz{{zzzzzz{{zzzzzzzzzzzzzz{{zz{{zzzzzzzzzzzzzzzzzz{{zz{{zz{{zzzz{{zz{{{{{{zzzz{{zzzz{{{{zzzzzzzzzzzz{{zzzz{{zzzzzz{{zz{{zzzzzzzzzzzz{{{{zzzzzzzz{{{{{{{{zz{{{{{{zz{{zzzzzz{{zz{{zzzz{{{{zz{{{{zzzzzzzz{{zz{{zzzz{{zzzz{{zz{{zzzzzzzzzzzz{{zzzz{{{{zz{{{{zzzzzz{{zzzz{{{{zzzzzzzz{{zz{{{{zzzz{{zz{{zzzzzz{{zz{{zzzzzzzz{{zz{{zzzzzz{{{{zzzzzzzzzz{{zz{{zzzzzz{{zz{{zz{{zzzzzzzz{{zz{{zzzzzz{{zz{{{{zzzzzz{{{{{{{{{{zzzzzzzzzzzz{{zz{{zzzzzz{{{{zzzzzz{{zzzzzzzzzzzzzzzzzzzzzz{{zz{{zzzzzzzzzzzz{{zzzz{{zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz{{zzzz{{{{zzzzzzzzzzzzzz{{{{zzzz{{zzzzzzzz{{zzzzzzzzzzzzzzzzzzzzzzzzzzzz{{zzzzzzzzzz{{zz{{zzzzzzzzzzzz{{zz{{{{zzzzzzzz{{zzzzzzzzzzzzzzzzzz{{zz{{zz{{{{zz{{zzzzzzzzzz{{zzzzzzzzzz{{{{zzzzzzzz{{zzzzzzzzzz{{zzzzzzzzzz{{{{zzzzzzzzzz{{zzzzzzzz{{zz{{zzzzzz{{zzzz{{zzzzzzzzzzzzzzzz{{zzzz{{zz{{zzzz{{zzzzzzzzzzzzzzzz{{zzzzzzzzzzzz{{zzzzzzzzzzzzzzzz{{{{zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz{{zzzz{{{{zzzzzzzz{{zzzzzzzzzzzzzzzzzzzzzzzzzz{{zzzzzzzzzz{{zzzz{{zzzzzzzz{{zzzzzzzz{{zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz{{{{zzzzzzzzzz{{{{{{zz{{{{{{{{{{{{{{{{zz{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{zzzz{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{zz{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{zz{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{zz{{{{{{{{{{{{{{zz{{{{{{zz{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{zz{{{{{{{{{{{{{{{{zz{{{{{{{{{{zz{{{{{{{{{{{{{{zz{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{zz{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{zz{{{{{{{{{{{{zz{{{{{{{{{{{{zz{{{{{{{{{{{{{{{{{{{{{{{{{{zz{{{{{{{{{{zz{{zz{{{{{{{{{{{{{{{{{{{{zz{{zz{{{{{{{{{{{{{{{{{{{{{{{{{{zzzz{{zz{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{zz{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{zz{{{{{{{{{{{{{{{{{{{{{{zz{{{{zzzz{{{{{{{{{{{{{{{{{{{{zz{{{{{{{{{{{{{{zz{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{zz{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{zz{{{{{{{{{{{{{{{{{{{{{{{{{{{{zz{{{{zz{{{{{{{{{{{{{{zz{{{{{{{{zz{{{{{{zz{{{{{{{{{{{{{{zz{{{{{{zz{{{{{{{{{{{{{{{{zz{{zzzzzz{{{{{{{{{{{{zzzz{{{{zz{{{{{{{{{{{{{{{{{{{{{{{{zz{{{{{{{{zz{{{{{{{{{{{{{{zz{{{{{{{{{{{{{{zzzz{{{{{{{{{{zz{{{{{{{{zz{{{{{{{{{{{{zzzz{{{{{{zzzz{{{{{{{{{{zz{{zz{{{{{{{{zz{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{zz{{zz{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{zz{{{{{{{{{{{{{{{{{{{{{{zz{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{zz{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{zz{{{{{{{{{{{{zz{{{{{{{{{{{{{{{{{{{{{{{{{{zz{{{{{{zz{{zz{{{{{{{{{{{{{{{{zz{{zz{{zz{{{{{{{{{{{{{{{{{{zz{{{{{{{{{{zzzz{{{{{{{{{{zz{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{zz{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{zz{{{{{{{{{{{{{{{{{{{{zz{{{{zz{{{{{{{{{{{{{{{{zz{{{{{{zz{{{{{{{{{{{{zzzz{{{{zzzz{{{{zz{{{{{{{{{{{{{{zz{{{{{{{{{{{{{{{{{{{{{{{{zz{{{{{{{{{{zz{{zz{{{{zz{{{{{{{{{{{{{{{{{{{{{{{{zz{{{{{{{{{{{{zz{{{{zzzz{{{{{{{{{{{{{{{{{{{{zzzz{{{{{{{{{{{{zz{{{{{{{{{{{{{{zz{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{zz{{{{{{{{{{{{{{{{{{{{{{{{{{{{zz{{{{{{zz{{{{{{zz{{{{{{{{{{{{{{{{{{{{{{{{{{{{zz{{{{{{{{{{{{{{zz{{{{{{{{{{{{zz{{zz{{{{{{{{{{{{{{{{{{{{{{{{zz{{{{{{{{{{{{{{{{{{{{zz{{{{{{{{{{{{{{zz{{{{zz{{{{zz{{{{{{{{{{{{{{zzzz{{{{{{{{zz{{{{{{{{zzzz{{{{{{zzzz{{zz{{{{{{zzzz{{{{{{{{{{zz{{{{zz{{{{{{{{{{{{zz{{{{{{zz{{{{{{{{{{{{{{{{{{{{{{{{{{zz{{{{zz{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{zzzz{{{{{{zzzzzz{{{{{{{{{{{{zz{{zz{{{{zz{{{{{{{{zz{{{{zz{{{{zzzz{{zz{{{{{{zzzz{{{{{{zz{{zz{{{{{{{{{{{{zzzzzzzz{{zz{{{{{{zz{{zz{{{{zzzz{{zz{{{{zz{{{{{{{{zzzz{{{{{{{{zz{{{{{{{{{{{{zzzzzz{{{{zzzz{{{{zz{{{{{{{{{{{{{{{{{{{{{{zz{{{{{{{{{{{{zz{{zz{{{{{{{{zz{{{{zzzz{{{{{{{{{{{{{{zz{{zzzz{{zz{{zz{{{{zz{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{zz{{{{{{zz{{{{zz{{zzzzzz{{{{{{{{{{zz{{{{{{{{{{{{zz{{{{{{{{zz{{{{{{{{{{{{{{zz{{{{zz{{{{{{{{{{{{zzzzzz{{{{{{zzzz{{{{{{{{{{zz{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{zz{{zzzz{{{{{{{{{{{{zz{{{{{{{{zzzzzz{{zz{{{{zzzz{{{{{{{{{{{{zz{{zz{{{{{{zzzz{{{{zz{{{{{{{{{{zzzzzzzz{{zz{{{{{{{{{{{{zzzz{{{{zz{{zz{{{{{{{{zz{{{{{{{{{{{{{{{{{{{{zz{{{{{{{{{{{{{{{{{{{{{{zz{{{{zz{{{{{{{{{{zzzz{{{{zz{{zz{{{{{{zzzz{{{{{{zzzzzz{{zzzz{{{{{{zzzz{{{{zzzz{{{{{{{{zz{{{{{{zz{{{{zzzz{{zz{{{{zz{{zz{{zz{{{{zzzzzzzzzz{{zzzz{{{{{{{{zz{{{{{{zz{{{{{{{{{{{{zzzz{{{{{{{{{{{{{{zzzzzzzz{{{{{{{{zz{{zz{{{{{{zz{{zzzz{{{{zz{{zz{{{{zzzz{{{{zz{{{{{{{{{{zz{{{{{{{{zz{{zzzz{{zz{{{{zzzz{{{{zz{{{{zz{{{{{{{{{{zz{{zz{{zz{{{{{{{{{{zz{{{{{{zzzz{{zzzz{{{{{{zz{{{{{{{{{{zzzz{{{{{{{{zz{{zz{{{{{{zzzzzz{{{{{{{{{{zz{{{{zz{{zzzzzz{{{{zz{{zzzz{{zz{{{{{{{{zz{{{{zzzz{{{{{{zz{{zz{{{{{{zz{{zzzz{{{{zz{{zz{{zz{{zz{{zz{{zzzz{{{{{{zzzz{{zz{{zz{{zzzzzz{{{{{{zz{{{{{{zzzz{{zz{{{{zz{{{{{{{{{{{{zz{{{{{{{{zzzz{{zz{{zzzz{{{{{{{{{{zzzz{{{{zzzzzz{{{{zzzzzz{{{{{{zzzz{{{{zz{{zz{{zzzz{{zzzzzzzz{{{{zz{{{{{{{{zzzz{{zzzzzzzz{{zzzzzzzz{{zzzz{{zzzz{{zz{{zzzzzzzzzz{{{{zzzz{{zzzzzzzzzz{{{{{{{{{{zz{{{{zz{{zz{{zz{{zz{{{{{{{{zz{{{{{{{{{{zzzz{{{{zzzz{{{{zzzzzz{{zzzzzz{{zzzzzzzzzz{{{{{{{{zzzz{{zzzz{{{{zz{{{{zzzz{{{{zz{{zz{{{{{{zzzzzz{{zzzzzz{{zz{{{{zz{{{{{{{{zz{{{{zzzzzzzz{{zzzz{{{{{{zz{{{{{{zz{{{{{{{{{{{{{{{{zz{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{zzzz{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{zz{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{zz{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{zz{{{{{{{{{{{{{{zz{{{{{{zz{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{zz{{{{{{{{{{{{{{{{zz{{{{{{{{{{zz{{{{{{{{{{{{{{zz{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{zz{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{zz{{{{{{{{{{{{zz{{{{{{{{{{{{zz{{{{{{{{{{{{{{{{{{{{{{{{{{zz{{{{{{{{{{zz{{zz{{{{{{{{{{{{{{{{{{{{zz{{zz{{{{{{{{{{{{{{{{{{{{{{{{{{zzzz{{zz{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{zz{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{zz{{{{{{{{{{{{{{{{{{{{{{zz{{{{zzzz{{{{{{{{{{{{{{{{{{{{zz{{{{{{{{{{{{{{zz{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{zz{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{zz{{{{{{{{{{{{{{{{{{{{{{{{{{{{zz{{{{zz{{{{{{{{{{{{{{zz{{{{{{{{zz{{{{{{zz{{{{{{{{{{{{{{zz{{{{{{zz{{{{{{{{{{{{{{{{zz{{zzzzzz{{{{{{{{{{{{zzzz{{{{zz{{{{{{{{{{{{{{{{{{{{{{{{zz{{{{{{{{zz{{{{{{{{{{{{{{zz{{{{{{{{{{{{{{zzzz{{{{{{{{{{zz{{{{{{{{zz{{{{{{{{{{{{zzzz{{{{{{zzzz{{{{{{{{{{zz{{zz{{{{{{{{zz{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{zz{{zz{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{zz{{{{{{{{{{{{{{{{{{{{{{zz{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{zz{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{zz{{{{{{{{{{{{zz{{{{{{{{{{{{{{{{{{{{{{{{{{zz{{{{{{zz{{zz{{{{{{{{{{{{{{{{zz{{zz{{zz{{{{{{{{{{{{{{{{{{zz{{{{{{{{{{zzzz{{{{{{{{{{zz{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{zz{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{zz{{{{{{{{{{{{{{{{{{{{zz{{{{zz{{{{{{{{{{{{{{{{zz{{{{{{zz{{{{{{{{{{{{zzzz{{{{zzzz{{{{zz{{{{{{{{{{{{{{zz{{{{{{{{{{{{{{{{{{{{{{{{zz{{{{{{{{{{zz{{zz{{{{zz{{{{{{{{{{{{{{{{{{{{{{{{zz{{{{{{{{{{{{zz{{{{zzzz{{{{{{{{{{{{{{{{{{{{zzzz{{{{{{{{{{{{zz{{{{{{{{{{{{{{zz{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{zz{{{{{{{{{{{{{{{{{{{{{{{{{{{{zz{{{{{{zz{{{{{{zz{{{{{{{{{{{{{{{{{{{{{{{{{{{{zz{{{{{{{{{{{{{{zz{{{{{{{{{{{{zz{{zz{{{{{{{{{{{{{{{{{{{{{{{{zz{{{{{{{{{{{{{{{{{{{{zz{{{{{{{{{{{{{{zz{{{{zz{{{{zz{{{{{{{{{{{{{{zzzz{{{{{{{{zz{{{{{{{{zzzz{{{{{{zzzz{{zz{{{{{{zzzz{{{{{{{{{{zz{{{{zz{{{{{{{{{{{{zz{{{{{{zz{{{{{{{{{{{{{{{{{{{{{{{{{{zz{{{{zz{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{zzzz{{{{{{zzzzzz{{{{{{{{{{{{zz{{zz{{{{zz{{{{{{{{zz{{{{zz{{{{zzzz{{zz{{{{{{zzzz{{{{{{zz{{zz{{{{{{{{{{{{zzzzzzzz{{zz{{{{{{zz{{zz{{{{zzzz{{zz{{{{zz{{{{{{{{zzzz{{{{{{{{zz{{{{{{{{{{{{zzzzzz{{{{zzzz{{{{zz{{{{{{{{{{{{{{{{{{{{{{zz{{{{{{{{{{{{zz{{zz{{{{{{{{zz{{{{zzzz{{{{{{{{{{{{{{zz{{zzzz{{zz{{zz{{{{zz{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{zz{{{{{{zz{{{{zz{{zzzzzz{{{{{{{{{{zz{{{{{{{{{{{{zz{{{{{{{{zz{{{{{{{{{{{{{{zz{{{{zz{{{{{{{{{{{{zzzzzz{{{{{{zzzz{{{{{{{{{{zz{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{zz{{zzzz{{{{{{{{{{{{zz{{{{{{{{zzzzzz{{zz{{{{zzzz{{{{{{{{{{{{zz{{zz{{{{{{zzzz{{{{zz{{{{{{{{{{zzzzzzzz{{zz{{{{{{{{{{{{zzzz{{{{zz{{zz{{{{{{{{zz{{{{{{{{{{{{{{{{{{{{zz{{{{{{{{{{{{{{{{{{{{{{zz{{{{zz{{{{{{{{{{zzzz{{{{zz{{zz{{{{{{zzzz{{{{{{zzzzzz{{zzzz{{{{{{zzzz{{{{zzzz{{{{{{{{zz{{{{{{zz{{{{zzzz{{zz{{{{zz{{zz{{zz{{{{zzzzzzzzzz{{zzzz{{{{{{{{zz{{{{{{zz{{{{{{{{{{{{zzzz{{{{{{{{{{{{{{zzzzzzzz{{{{{{{{zz{{zz{{{{{{zz{{zzzz{{{{zz{{zz{{{{zzzz{{{{zz{{{{{{{{{{zz{{{{{{{{zz{{zzzz{{zz{{{{zzzz{{{{zz{{{{zz{{{{{{{{{{zz{{zz{{zz{{{{{{{{{{zz{{{{{{zzzz{{zzzz{{{{{{zz{{{{{{{{{{zzzz{{{{{{{{zz{{zz{{{{{{zzzzzz{{{{{{{{{{zz{{{{zz{{zzzzzz{{{{zz{{zzzz{{zz{{{{{{{{zz{{{{zzzz{{{{{{zz{{zz{{{{{{zz{{zzzz{{{{zz{{zz{{zz{{zz{{zz{{zzzz{{{{{{zzzz{{zz{{zz{{zzzzzz{{{{{{zz{{{{{{zzzz{{zz{{{{zz{{{{{{{{{{{{zz{{{{{{{{zzzz{{zz{{zzzz{{{{{{{{{{zzzz{{{{zzzzzz{{{{zzzzzz{{{{{{zzzz{{{{zz{{zz{{zzzz{{zzzzzzzz{{{{zz{{{{{{{{zzzz{{zzzzzzzz{{zzzzzzzz{{zzzz{{zzzz{{zz{{zzzzzzzzzz{{{{zzzz{{zzzzzzzzzz{{{{{{{{{{zz{{{{zz{{zz{{zz{{zz{{{{{{{{zz{{{{{{{{{{zzzz{{{{zzzz{{{{zzzzzz{{zzzzzz{{zzzzzzzzzz{{{{{{{{zzzz{{zzzz{{{{zz{{{{zzzz{{{{zz{{zz{{{{{{zzzzzz{{zzzzzz{{zz{{{{zz{{{{{{{{zz{{{{zzzzzzzz{{zzzz{{{{{{zz{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{zz{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{zz{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{zz{{{{{{{{{{{{{{zz{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{zz{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{zz{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{zz{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{zz{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{zz{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{zz{{{{{{{{{{{{{{{{zz{{{{{{{{{{{{{{zz{{{{{{{{{{zz{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{zz{{{{{{{{{{{{{{zz{{{{{{{{zz{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{zz{{{{{{{{{{{{{{{{{{zz{{{{{{{{{{{{{{{{{{{{zzzz{{{{{{zz{{{{{{{{{{{{{{zz{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{zz{{{{{{{{zz{{{{zz{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{zz{{zz{{{{{{{{{{{{{{zzzz{{{{{{{{{{zz{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{zz{{{{{{{{{{{{zz{{{{{{{{{{{{zz{{{{{{{{{{zz{{{{{{{{{{{{{{{{{{{{{{{{{{zz{{{{{{{{{{{{{{{{{{zz{{{{zz{{{{{{{{{{{{{{zzzz{{{{{{{{{{{{{{zz{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{zz{{{{zz{{{{{{{{{{{{{{{{{{zz{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{zz{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{zz{{{{{{{{zz{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{zz{{zz{{{{zz{{{{{{{{{{{{{{{{{{{{{{{{{{zz{{{{{{{{{{zz{{{{{{{{zzzz{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{zz{{{{{{{{{{zz{{{{{{zz{{{{{{{{{{zz{{{{{{{{zz{{zz{{{{{{{{{{zz{{{{zz{{{{{{zz{{{{{{{{{{{{{{{{{{{{{{{{{{{{zz{{{{{{{{{{{{{{{{{{{{{{zzzz{{{{{{{{{{{{{{{{zz{{zz{{{{{{{{{{zz{{zz{{{{{{{{zz{{{{zz{{{{zzzz{{{{{{{{{{{{{{zz{{zz{{{{{{{{{{{{zz{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{zz{{{{{{{{{{{{{{{{{{{{{{{{{{zz{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{zzzzzz{{zz{{zz{{{{{{zz{{zz{{{{{{{{zz{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{zz{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{zz{{{{{{{{zz{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{zz{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{zz{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{z{{{{{{{{{{{{{{zz{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{zz{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{zz{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{zz{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{zz{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{zz{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{zz{{{{{{{{{{{{{{{{zz{{{{{{{{{{{{{{{{{{{{{{{{{{zz{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{zz{{{{{{{{{{{{{{zz{{{{{{{{zz{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{zz{{{{{{{{{{{{{{{{{{zz{{{{{{{{{{{{{{{{{{{{zzzz{{{{{{zz{{{{{{{{{{{{{{zz{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{zz{{{{{{{{zz{{{{zz{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{zz{{zz{{{{{{{{{{{{{{zzzz{{{{{{{{{{zz{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{zz{{{{{{{{{{{{zz{{{{{{{{{{{{zz{{{{{{{{{{zz{{{{{{{{{{{{{{{{{{{{{{{{{{zz{{{{{{{{{{{{{{{{{{zz{{{{zz{{{{{{{{{{{{{{zzzz{{{{{{{{{{{{{{zz{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{zz{{{{zz{{{{{{{{{{{{{{{{{{zz{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{zz{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{zz{{{{{{{{zz{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{zz{{zz{{{{zz{{{{{{{{{{{{{{{{{{{{{{{{{{zz{{{{{{{{{{zz{{{{{{{{zzzz{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{zz{{{{{{{{{{zz{{{{{{zz{{{{{{{{{{zz{{{{{{{{zz{{zz{{{{{{{{{{zz{{{{zz{{{{{{zz{{{{{{{{{{{{{{{{{{{{{{{{{{{{zz{{{{{{{{{{{{{{{{{{{{{{zzzz{{{{{{{{{{{{{{{{zz{{zz{{{{{{{{{{zz{{zz{{{{{{{{zz{{{{zz{{{{zzzz{{{{{{{{{{{{{{zz{{zz{{{{{{{{{{{{zz{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{zz{{{{{{{{{{{{{{{{{{{{{{{{{{zz{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{zzzzzz{{zz{{zz{{{{{{zz{{zz{{{{{{{{zz{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{zz{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{zz{{{{{{{{zz{{{{||{{{{{{{{{{{{{{{{||{{{{{{{{{{{{{{{{{{{{{{||{{{{{{||||{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{||{{{{{{||{{||{{{{{{{{{{{{||{{{{{{{{{{{{||{{{{{{{{{{{{{{{{||||{{{{{{||{{{{{{{{{{{{{{{{{{{{{{{{||||||{{{{{{{{{{{{{{{{{{{{{{{{||{{{{{{{{{{{{||{{||{{{{||{{{{{{{{{{{{{{{{{{||{{{{{{{{{{{{{{{{{{||{{{{{{{{{{{{{{{{||{{{{||{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{||{{||{{{{{{{{{{{{{{{{||{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{||{{{{{{{{{{||{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{||{{{{{{{{{{{{{{||{{{{{{{{||{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{||{{{{{{{{||{{{{||{{{{{{{{||{{||{{{{||{{{{||{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{||{{{{{{{{{{{{{{{{{{{{{{{{{{||{{{{||{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{||{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{||{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{||{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{||{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{zz{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{zz{{{{zz{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{zz{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{zz{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{zz{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{zz{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{zz{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{||{{{{{{{{{{{{{{{{||{{{{{{{{{{{{{{{{{{{{{{||{{{{{{||||{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{||{{{{{{||{{||{{{{{{{{{{{{||{{{{{{{{{{{{||{{{{{{{{{{{{{{{{||||{{{{{{||{{{{{{{{{{{{{{{{{{||{{{{||||||{{{{{{{{{{{{{{{{{{{{{{{{||{{{{{{{{{{{{||{{||{{{{||{{{{{{{{{{{{{{{{{{||{{{{{{{{{{{{{{{{{{||{{{{{{{{{{{{{{{{||{{{{||{{{{{{||{{{{{{||{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{||{{||{{{{{{{{{{{{{{{{||{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{||{{{{{{{{{{||{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{||{{{{||{{{{{{{{||{{{{||{{{{{{{{||{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{||{{{{{{{{||{{{{||{{{{{{{{||{{||{{{{||{{{{||{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{||{{{{{{{{{{{{{{{{{{{{{{{{{{||{{{{||{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{||{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{||{{{{{{{{{{{{{{{{{{{{{{||{{{{{{{{{{{{{{{{{{{{{{{{{{||{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{||{{{{{{{{||{{{{{{{{{{{{{{{{{{{{||{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{||{{{{{{{{{{{{{{{{{{{{||{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{zz{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{zz{{{{zz{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{zz{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{zz{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{zz{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{||||||{{{{||{{{{||{{{{||{{{{{{{{{{{{{{{{||{{{{{{{{||||{{{{||||{{{{||{{{{||||{{{{||{{{{||{{{{||||||{{||{{||{{||{{{{{{||||{{{{{{{{{{||{{{{{{{{||||{{{{||{{||{{||{{||{{{{{{{{{{||{{||{{||{{{{{{{{||||{{||||||||{{{{{{{{||{{||||{{{{{{{{{{||||{{{{{{{{{{||{{{{{{{{{{{{{{||||{{{{{{{{{{||{{||{{{{{{{{{{||||{{{{||||{{{{||{{{{||||{{||||||{{{{{{{{{{||{{{{{{{{{{{{||{{{{||{{{{||{{{{{{{{{{||||||{{||||{{{{||||{{{{{{{{{{{{{{{{{{||{{||||{{{{||||{{{{{{{{{{{{||||{{{{||{{{{{{||{{||{{{{{{||{{{{{{{{{{{{{{||{{{{{{{{{{{{||||{{||{{{{||{{||{{||||{{{{{{{{||{{{{{{||{{||{{||{{{{{{||{{{{||||{{{{{{{{{{||||{{||||{{{{{{{{||||||{{{{{{||{{||{{{{||||||{{||{{{{{{{{{{{{{{{{||{{{{{{{{{{||{{{{{{{{||||{{||{{{{||{{{{||{{||||{{||{{||{{{{{{{{||{{||{{{{||||{{{{{{{{{{||{{||{{{{{{{{{{{{||{{{{{{{{{{{{{{{{||||{{{{{{||{{{{{{||{{{{||{{{{{{||{{||{{||{{{{{{{{||{{||{{{{{{{{{{{{||{{||{{||||{{{{{{{{{{{{{{{{{{{{||{{||{{{{{{{{{{{{||||{{{{{{{{{{{{{{{{{{{{{{{{||||{{{{||{{{{{{||{{{{{{{{{{{{{{{{||{{{{||{{{{{{{{||{{{{{{{{{{{{{{{{{{{{||||{{||||{{||{{{{{{||{{||{{{{{{{{{{{{{{{{||||{{{{{{{{{{{{{{||{{{{{{{{{{{{{{{{{{{{||{{||{{{{||{{{{{{{{||{{||{{{{{{{{{{||{{{{{{{{{{{{{{{{{{{{{{{{||{{{{{{||{{{{||||{{{{||{{{{||{{{{||||{{{{||||{{{{{{{{{{{{{{{{{{{{{{{{||{{{{||{{{{{{{{||{{{{||{{{{{{{{{{{{{{||{{{{||{{{{{{||{{{{{{{{||||{{{{||{{{{{{{{{{||{{||||{{||{{{{{{||{{{{{{{{{{{{||{{||{{{{{{{{||{{||{{{{{{{{{{{{||{{{{{{||{{{{||{{{{{{{{||{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{|||{{||{{{{{{{{{{{{{{{{{{{{||{{||{{{{{{{{{{{{{{{{{{{{||||{{||{{{{{{{{{{{{{{{{||{{{{{{{{{{{{{{{{{{{{{{{{{{{{||{{{{{{{{||{{||{{{{{{{{{{{{||{{{{{{||{{{{||{{{{{{{{||{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{|||{{||{{{{{{{{{{{{{{{{{{{{||{{||{{{{{{{{{{{{{{{{{{{{||||{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{||||{{{{{{{{||{{||{{{{||||{{{{{{{{{{||{{{{{{{{{{{{||{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{||||||{{||||{{{{{{{{{{{{{{{{{{{{||{{{{{{{{{{{{{{{{{{{{{{||{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{||{{||{{||||||{{{{{{{{{{{{{{||{{{{{{{{{{{{{{{{{{{{||{{{{{{||{{||{{{{||{{{{||||{{{{{{{{{{{{{{{{||{{{{{{{{||{{{{{{{{{{||{{{{{{{{||{{{{{{{{{{{{{{||{{||{{{{||{{||{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{||{{{{{{{{{{{{{{{{||{{{{{{{{{{{{{{{{{{{{{{||{{{{{{{{{{{{{{||{{{{{{{{{{{{{{{{{{{{{{{{||{{{{||{{||||{{{{{{{{{{{{{{{{{{{{{{{{||||{{{{{{{{{{{{{{||{{||{{{{||{{||{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{||{{{{{{{{{{{{{{{{||{{{{{{{{{{{{{{{{{{{{{{||{{{{{{{{{{{{{{||{{{{{{{{{{{{{{{{{{{{{{{{||{{{{||{{||||{{{{{{{{{{{{{{{{{{{{{{{{||{{{{{{||{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{||{{{{||{{{{{{{{{{{{{{||{{{{{{{{{{||{{{{{{{{{{||{{{{{{{{{{{{{{{{{{{{{{{{{{||{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{||{{{{{{{{{{{{||{{{{||{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{||{{{{{{{{{{{{{{{{{{{{{{{{{{{{||{{{{{{{{{{{{{{{{{{||{{{{{{{{{{{{{{{{{{{{{{{{||{{{{{{{{{{{{{{{{{{{{{{{{{{||{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{||{{{{{{||{{{{||{{{{{{{{{{{{{{{{{{{{{{{{{{||{{{{{{{{{{{{{{{{{{{{{{{{||||{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{||{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{||{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{||{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{||{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{||{{{{{{{{{{{{{{{{{{{{||{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{||{{||{{{{{{{{{{{{{{{{{{{{{{{{{{{{||{{{{{{||{{{{{{{{{{{{{{{{{{{{{{{{{{||{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{||||||{{{{||{{{{||{{{{||{{{{{{{{{{{{{{{{||{{{{{{{{||||{{{{||||{{{{||{{{{||||{{{{||{{{{||{{{{||||||{{||{{||{{||{{{{{{||||{{{{{{{{{{||{{{{{{{{||||{{{{||{{||{{||{{||{{{{{{{{{{||{{||{{||{{{{{{{{||||{{||||||||{{{{{{{{||{{||||{{{{{{{{{{||||{{{{{{{{{{||{{{{{{{{{{{{{{||||{{{{{{{{{{||{{||{{{{{{{{{{||||{{{{||||{{{{||{{{{||||{{||||||{{{{{{{{{{||{{{{{{{{{{{{||{{{{||{{{{||{{{{{{{{{{||||||{{||||{{{{||||{{{{{{{{{{{{{{{{{{||{{||||{{{{||||{{{{{{{{{{{{||||{{{{||{{{{{{||{{||{{{{{{||{{{{{{{{{{{{{{||{{{{{{{{{{{{||||{{||{{{{||{{||{{||||{{{{{{{{||{{{{{{||{{||{{||{{{{{{||{{{{||||{{{{{{{{{{||||{{||||{{{{{{{{||||||{{{{{{||{{||{{{{||||||{{||{{{{{{{{{{{{{{{{||{{{{{{{{{{||{{{{{{{{||||{{||{{{{||{{{{||{{||||{{||{{||{{{{{{{{||{{||{{{{||||{{{{{{{{{{||{{||{{{{{{{{{{{{||{{{{{{{{{{{{{{{{||||{{{{{{||{{{{{{||{{{{||{{{{{{||{{||{{||{{{{{{{{||{{||{{{{{{{{{{{{||{{||{{||||{{{{{{{{{{{{{{{{{{{{||{{||{{{{{{{{{{{{||||{{{{{{{{{{{{{{{{{{{{{{{{||||{{{{||{{{{{{||{{{{{{{{{{{{{{{{||{{{{||{{{{{{{{||{{{{{{{{{{{{{{{{{{{{||||{{||||{{||{{{{{{||{{||{{{{{{{{{{{{{{{{||||{{{{{{{{{{{{{{||{{{{{{{{{{{{{{{{{{{{||{{||{{{{||{{{{{{{{||{{||{{{{{{{{{{||{{{{{{{{{{{{{{{{{{{{{{{{||{{{{{{||{{{{||||{{{{||{{{{||{{{{||||{{{{||||{{{{{{{{{{{{{{{{{{{{{{{{||{{{{||{{{{{{{{||{{{{||{{{{{{{{{{{{{{||{{{{||{{{{{{||{{{{{{{{||||{{{{||{{{{{{{{{{||{{||||{{||{{{{{{||{{{{{{{{{{{{||{{||{{{{{{{{||{{||{{{{{{{{{{{{||{{{{{{||{{{{||{{{{{{{{||{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{||||{{||{{{{{{{{{{{{{{{{{{{{||{{||{{{{{{{{{{{{{{{{{{{{||||{{||{{{{{{{{{{{{{{{{||{{{{{{{{{{{{{{{{{{{{{{{{{{{{||{{{{{{{{||{{||{{{{{{{{{{{{||{{{{{{||{{{{||{{{{{{{{||{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{||||{{||{{{{{{{{{{{{{{{{{{{{||{{||{{{{{{{{{{{{{{{{{{{{||||{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{||||{{{{{{{{||{{||{{{{||||{{{{{{{{{{||{{{{{{{{{{{{||{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{||||||{{||||{{{{{{{{{{{{{{{{{{{{||{{{{{{{{{{{{{{{{{{{{{{||{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{||{{||{{||||||{{{{{{{{{{{{{{||{{{{{{{{{{{{{{{{{{{{||{{{{{{||{{||{{{{||{{{{||||{{{{{{{{{{{{{{{{||{{{{{{{{||{{{{{{{{{{||{{{{{{{{||{{{{{{{{{{{{{{||{{||{{{{||{{||{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{||{{||{{{{{{{{{{{{||{{{{{{{{{{{{{{{{{{{{{{||{{{{{{{{{{{{{{||{{{{{{{{{{{{{{{{{{{{{{{{||{{{{||{{||||{{{{{{{{{{{{{{{{{{{{{{{{||||{{{{{{{{{{{{{{||{{||{{{{||{{||{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{||{{||{{{{{{{{{{{{||{{{{{{{{{{{{{{{{{{{{{{||{{{{{{{{{{{{{{||{{{{{{{{{{{{{{{{{{{{{{{{||{{{{||{{||||{{{{{{{{{{{{{{{{{{{{{{{{||{{{{{{||{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{||{{{{||{{{{{{{{{{{{{{||{{{{||{{{{||{{{{{{{{{{||{{{{{{{{{{{{{{{{{{{{{{{{{{||{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{||{{{{{{{{{{{{||{{{{||{{{{{{{{{{||{{{{{{{{{{{{{{{{{{{{{{{{||{{{{{{{{||{{{{{{{{{{{{{{{{{{||{{{{{{{{{{{{{{{{{{||{{{{{{||{{{{{{{{{{{{{{{{||{{{{{{{{{{{{{{{{{{{{{{{{{{||{{{{{{{{{{{{{{{{{{||{{{{{{{{{{{{||{{{{{{||{{{{||{{{{{{{{{{{{{{{{{{{{{{{{{{||{{{{{{{{{{{{{{{{{{{{{{{{||||{{{{{{{{{{||{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{||{{{{{{{{{{{{{{{{||{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{||{{{{{{{{{{{{{{{{{{{{{{{{{{{{||{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{||{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{||{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{||{{{{{{{{{{{{{{||{{{{{{{{{{{{{{||{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{||{{{{{{{{{{{{{{{{{{{{||{{||{{{{{{{{{{{{{{||{{{{{{{{{{{{{{{{{{{{{{{{{{||{{||{{{{{{{{{{{{{{{{{{{{{{{{{{{{||{{{{{{||{{{{{{{{{{{{{{{{{{{{{{{{{{||{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{||||||||||||{{||||||||||||||||||{{{{{{{{{{||{{||||{{||{{||{{||||||{{{{||||||||||{{{{||||{{{{||||{{||||||||||||||{{||||{{||||||||{{{{{{{{{{{{||||{{{{{{{{{{{{||||{{||||||{{{{||||||||{{{{||{{{{||||||||||{{||||{{{{||{{||||||{{{{{{{{||{{{{||||{{||||{{{{||||||||{{{{||{{||||||||||||||{{||||{{||||||||{{||||||{{{{||{{||||{{||||||||||||||||{{{{||{{{{{{||{{{{||{{||||||||||{{||||||||{{||{{||||{{{{||||||{{||||||||||||{{||{{{{||||||||||{{||||||{{{{{{||||||||||||||||||||{{||{{||||{{||||{{||{{{{||{{{{||||{{||||||||{{{{||||||{{{{||||{{||{{{{{{||||{{{{{{{{||||||{{{{||||{{||{{{{{{||||||||{{||||||{{{{||{{{{||{{||||||||||||{{{{{{||||{{{{{{{{||||||{{||{{{{||{{||||||{{||||{{{{{{||{{{{{{||||{{||||{{{{||||||||||{{||{{||{{{{{{||||||||{{||{{||{{||||{{{{||||{{||{{{{{{{{||{{||{{{{{{{{{{||||{{||||{{||||||{{{{||||{{{{{{{{||||||||||{{{{{{||{{{{{{||||{{{{{{{{{{||||{{{{{{||||||||||{{||||||{{||{{{{{{||||||{{||||{{||||||{{{{{{{{||||||{{{{{{||{{||{{{{||{{||{{||||{{||||||{{||||||{{{{||{{||{{||||||||{{{{{{{{||{{{{{{||||{{||||||||||||||||{{||||{{||||{{{{{{{{{{||{{||{{||||{{{{||{{{{||||||{{{{||{{||||||{{{{{{||||||||||||||||{{||{{||{{||{{{{||{{{{{{{{||||{{||{{||{{||||{{||{{||{{{{{{{{||||||{{{{{{{{{{{{{{{{||||{{||||||{{{{||||{{||{{||{{{{||{{{{{{||||||{{||{{{{||{{||||{{||||{{{{{{||||{{{{||||||||||{{||{{||||{{||||{{{{||{{||{{{{{{{{{{{{{{||{{{{{{{{||{{{{{{||||||||{{{{{{||{{{{{{||{{{{||{{||||||{{||{{{{||||{{{{{{||{{||{{{{{{||||||||{{{{||||||{{{{||||||{{||{{||{{{{{{{{{{{{{{||{{||{{{{{{{{{{||||{{||||{{||{{||||{{||||{{{{||{{||{{{{{{{{{{{{{{||{{{{{{{{||{{{{{{||||||||{{{{{{||{{{{{{||{{{{||{{||||||{{||{{{{||||{{{{{{||{{||{{{{{{||||||||{{{{||||||{{{{||||||{{||{{||{{{{{{{{{{{{{{||{{||{{{{{{{{{{||||{{{{||||{{||{{||||||{{||{{{{||||||{{||{{{{||{{{{||||||{{||{{{{||{{{{||||||||||||{{{{||{{{{{{||{{||||||{{{{{{||||{{||{{||{{||{{||||||||||{{{{||||{{||{{{{{{{{{{{{||{{||||||||{{||{{{{||{{||||||{{{{||||{{||{{||||{{{{{{||||{{{{||{{{{||||||||{{||{{{{{{||||||{{{{{{{{||||||{{{{{{||{{{{||{{{{{{||{{{{{{{{||||{{||{{||{{{{{{||{{{{{{{{||||{{{{{{{{||{{{{||{{{{{{||||||{{{{{{{{{{{{{{||||||{{{{{{{{||{{{{{{{{{{||{{||||||{{{{{{{{{{||{{{{{{{{{{||{{||{{{{{{{{||{{{{||{{{{||{{||{{{{{{{{{{||{{{{{{{{{{||||{{||{{{{{{||||||{{{{{{||{{{{{{||{{||||||{{{{||{{{{{{||{{{{||{{{{{{||||||{{{{{{{{{{{{{{||||||{{{{{{{{||{{{{{{{{{{||{{||||||{{{{{{{{{{||{{{{{{{{{{||{{||{{{{{{{{||{{{{||{{{{||{{||{{{{{{{{{{||{{{{{{{{{{{{||{{||{{{{{{||||{{{{{{{{||{{{{{{{{{{||||||{{{{||{{{{{{{{||{{{{{{{{{{||{{{{{{{{{{||||||||||||||{{{{||||{{{{||||||{{{{||{{{{{{||{{{{||{{{{{{{{||||||{{{{{{{{{{{{{{{{{{||||||||{{||{{||{{||||||{{{{||{{||{{{{||{{{{{{{{{{{{{{||{{{{||||||{{||{{{{||{{{{||||||{{||{{||||||{{||{{||{{{{{{||||||||||{{{{{{{{||{{{{{{{{{{{{{{{{{{{{||{{{{{{||{{||{{{{||||{{{{{{||{{||||||||||{{{{{{{{{{{{||||{{||||{{{{{{{{{{{{{{{{{{{{||{{{{{{{{{{{{||||||{{||{{{{{{{{||{{{{||{{||{{||{{{{{{||{{{{{{{{||{{{{{{{{||{{{{{{{{{{||{{{{{{||||{{{{{{||{{{{{{||||{{{{{{{{{{{{{{||||{{{{{{{{{{{{{{||||{{{{||{{||{{||{{{{{{{{{{||{{{{{{{{{{{{||||||{{{{{{{{{{{{{{{{||{{||||{{{{{{{{||||{{{{||||{{||{{{{{{{{{{{{{{||{{||{{{{{{{{{{{{||{{{{{{{{{{||{{{{{{{{{{{{||{{{{{{||{{{{{{{{{{{{{{{{{{{{||{{||||||{{||||{{||{{{{{{||{{{{{{{{{{||{{{{{{{{||||{{{{||||{{{{||{{||{{{{{{{{||{{{{||{{{{||||{{{{{{{{{{{{||{{{{||{{{{{{||||{{||{{||{{{{{{{{{{||{{{{{{||{{{{{{{{{{{{{{||{{||{{{{{{{{{{||||{{{{{{||{{||{{{{{{{{{{||{{{{{{||{{||||||{{{{{{{{{{{{||{{{{||{{{{||{{{{{{||{{{{{{{{{{||{{{{||{{{{||{{||||{{{{||{{{{{{{{{{{{{{||{{{{{{{{{{{{||{{||{{{{||{{{{{{{{{{{{||{{{{{{{{||{{{{{{{{{{{{{{||{{||||{{{{{{||{{{{{{{{{{{{{{{{{{{{||||{{{{{{{{||{{{{{{{{{{{{{{{{{{{{{{{{||||||{{||{{{{||{{{{{{{{||{{{{{{{{{{{{||||{{{{||{{{{||{{{{{{{{{{||{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{||||||{{{{||{{{{{{{{{{{{{{{{{{{{{{{{||||{{||{{{{||{{{{{{{{||{{||{{{{{{{{{{{{{{||{{{{{{{{{{{{{{{{{{{{{{{{{{||||{{{{{{{{{{||{{||{{{{{{{{{{||||{{{{||||{{{{||{{{{{{||{{||||{{{{{{{{{{{{||{{{{||||||||||||{{||||||||||||||||||{{{{{{{{{{||{{||||{{||{{||{{||||||{{{{||||||||||{{{{||||{{{{||||{{||||||||||||||{{||||{{||||||||{{{{{{{{{{{{||||{{{{{{{{{{{{||||{{||||||{{{{||||||||{{{{||{{{{||||||||||{{||||{{{{||{{||||||{{{{{{{{||{{{{||||{{||||{{{{||||||||{{{{||{{||||||||||||||{{||||{{||||||||{{||||||{{{{||{{||||{{||||||||||||||||{{{{||{{{{{{||{{{{||{{||||||||||{{||||||||{{||{{||||{{{{||||||{{||||||||||||{{||{{{{||||||||||{{||||||{{{{{{||||||||||||||||||||{{||{{||||{{||||{{||{{{{||{{{{||||{{||||||||{{{{||||||{{{{||||{{||{{{{{{||||{{{{{{{{||||||{{{{||||{{||{{{{{{||||||||{{||||||{{{{||{{{{||{{||||||||||||{{{{{{||||{{{{{{{{||||||{{||{{{{||{{||||||{{||||{{{{{{||{{{{{{||||{{||||{{{{||||||||||{{||{{||{{{{{{||||||||{{||{{||{{||||{{{{||||{{||{{{{{{{{||{{||{{{{{{{{{{||||{{||||{{||||||{{{{||||{{{{{{{{||||||||||{{{{{{||{{{{{{||||{{{{{{{{{{||||{{{{{{||||||||||{{||||||{{||{{{{{{||||||{{||||{{||||||{{{{{{{{||||||{{{{{{||{{||{{{{||{{||{{||||{{||||||{{||||||{{{{||{{||{{||||||||{{{{{{{{||{{{{{{||||{{||||||||||||||||{{||||{{||||{{{{{{{{{{||{{||{{||||{{{{||{{{{||||||{{{{||{{||||||{{{{{{||||||||||||||||{{||{{||{{||{{{{||{{{{{{{{||||{{||{{||{{||||{{||{{||{{{{{{{{||||||{{{{{{{{{{{{{{{{||||{{||||||{{{{||||{{||{{||{{{{||{{{{{{||||||{{||{{{{||{{||||{{||||{{{{{{||||{{{{||||||||||{{||{{||||{{||||{{{{||{{||{{{{{{{{{{{{{{||{{{{{{{{||{{{{{{||||||||{{{{{{||{{{{{{||{{{{||{{||||||{{||{{{{||||{{{{{{||{{||{{{{{{||||||||{{{{||||||{{{{||||||{{||{{||{{{{{{{{{{{{{{||{{||{{{{{{{{{{||||{{||||{{||{{||||{{||||{{{{||{{||{{{{{{{{{{{{{{||{{{{{{{{||{{{{{{||||||||{{{{{{||{{{{{{||{{{{||{{||||||{{||{{{{||||{{{{{{||{{||{{{{{{||||||||{{{{||||||{{{{||||||{{||{{||{{{{{{{{{{{{{{||{{||{{{{{{{{{{||||{{{{||||{{||{{||||||{{||{{{{||||||{{||{{{{||{{{{||||||{{||{{{{||{{{{||||||||||||{{{{||{{{{{{||{{||||||{{{{{{||||{{||{{||{{||{{||||||||||{{{{||||{{||{{{{{{{{{{{{||{{||||||||{{||{{{{||{{||||||{{{{||||{{||{{||||{{{{{{||||{{{{||{{{{||||||||{{||{{{{{{||||||{{{{{{{{||||||{{{{{{||{{{{||{{{{{{||{{{{{{{{||||{{||{{||{{{{{{||{{{{{{{{||||{{{{{{{{||{{{{||{{{{{{||||||{{{{{{{{{{{{{{||||||{{{{{{{{||{{{{{{{{{{||{{||||||{{{{{{{{{{||{{{{{{{{{{||{{||{{{{{{{{||{{{{||{{{{||{{||{{{{{{{{{{||{{{{{{{{{{||||{{||{{{{{{||||||{{{{{{||{{{{{{||{{||||||{{{{||{{{{{{||{{{{||{{{{{{||||||{{{{{{{{{{{{{{||||||{{{{{{{{||{{{{{{{{{{||{{||||||{{{{{{{{{{||{{{{{{{{{{||{{||{{{{{{{{||{{{{||{{{{||{{||{{{{{{{{{{||{{{{{{{{{{{{||{{||{{{{{{||||{{{{{{{{||{{{{{{{{{{||||||{{{{||{{{{{{{{||{{{{{{{{{{||{{{{{{{{{{||||||||||||||{{{{||||{{{{||||||{{{{||{{{{{{||{{{{||{{{{{{{{||||||{{{{{{{{{{{{{{{{{{||||||||{{||{{||{{||||||{{{{||{{||{{{{||{{{{{{{{{{{{{{||{{{{||||||{{||{{{{||{{{{||||||{{||{{||||||{{||{{||{{{{{{||||||||||{{{{{{{{||{{{{{{{{{{{{{{{{{{{{||{{{{{{||{{||{{{{||||{{{{{{||{{||||||||||{{{{{{{{{{{{||||{{||||{{{{{{{{{{{{{{{{{{{{||{{{{{{{{{{{{||||||{{||{{{{{{{{||{{{{||{{||{{||{{{{{{||{{{{{{{{||{{{{{{{{||{{{{{{{{{{||{{{{{{||||{{{{{{||{{{{{{||||{{{{{{{{{{{{{{||||{{{{{{{{{{{{{{||||{{{{||{{||{{||{{{{{{{{{{||{{{{{{{{{{{{||||||{{{{{{{{{{{{{{{{||{{||||{{{{{{{{||||{{{{||||{{||{{{{{{{{{{{{{{||{{||{{{{{{{{{{{{||{{{{{{{{{{||{{{{{{{{{{{{||{{{{{{||{{{{{{{{{{{{{{{{{{{{||{{||||||{{||||{{||{{{{{{||{{{{{{{{{{||{{{{{{{{||||{{{{||||{{{{||{{||{{{{{{{{||{{{{||{{{{||||{{{{{{{{{{{{||{{{{||{{{{{{||||{{||{{||{{{{{{{{{{||{{{{{{||{{{{{{{{{{{{{{||{{||{{{{{{{{{{||||{{{{{{||{{||{{{{{{{{{{||{{{{{{||{{||||||{{{{{{{{{{{{||{{{{||{{{{||{{{{{{||{{{{{{{{{{||{{{{||{{{{||{{||||{{{{||{{{{{{{{{{{{{{||{{{{{{{{{{{{||{{||{{{{||{{{{{{{{{{{{||{{{{{{{{||{{{{{{{{{{{{{{||{{||||{{{{{{||{{{{{{{{{{{{{{{{{{{{||||{{{{{{{{||{{{{{{{{{{{{{{{{{{{{{{{{||||||{{||{{{{||{{{{{{{{||{{{{{{{{{{{{||||{{{{||{{{{||{{{{{{{{{{||{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{||{{{{{{{{||||||{{{{||{{{{{{{{{{{{{{{{{{{{{{{{||||{{||{{{{||{{{{{{{{||{{||{{{{{{{{{{{{{{||{{{{{{{{{{{{{{{{{{{{{{{{{{||||{{{{{{{{{{||{{||{{{{{{{{{{||||{{{{||||{{{{||{{{{{{||{{||||{{{{{{{{{{{{||{{{{||||||||||{{||||||{{||||||||||||||||||||||||||||||||||||||||||||{{||{{||||{{||||{{{{||||||||||||||||||{{{{||||||||{{{{||||||||||||||||||{{||||{{||{{||||{{||{{||||||||||||||{{||||||{{||{{||||{{||||||||||{{||||||||||||||||||||||||||{{||{{||||{{||||||||||||{{||||||||||||{{||||||||||||{{||||||||||||||||||||||||||||||{{{{{{||||||{{||{{||||||||||{{||||||{{{{||||||{{||||||||{{||||||||||||||||||{{{{||||||||{{||||||||{{||||||||||{{{{||{{||||{{||||||||||||{{||||||||{{||||||||||{{||||||||{{||||{{{{||{{{{{{{{||||{{||||||||||||||||{{||||||||||||||{{||||||{|||||||||||||||||||||{{{{||||||||||||||{{||||||||||||||||||||||{{||||||||||||{{||||||||||||{{||||{{{{||||||{{||{{{{||||||{{||||||||||||||{{||{{{{||||{{||||||||{{||{{||||||{{||||{{||||||||{{||||{{||{{||||||||||||{{||||||{{||||{{||||||||||||||||||{|||{{{{||||||||||||{{||||||||||||{{||||||||||{{||||{{||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||{{||||||{{||||||||||{{||||||{{||||{{||||||||||||||||||||||||||||||||{{||||||{{{{||||{{||||||||{{||||{{||{{||||{{||{{||||||||||{{{{||||||||||||||||||||{{||||||{{||||||{{{{||{{{{||{{||||||||{{{{||||{{||{{||||||||||||||{{{{{{{{||||||||||||||||||||||{{||||||{{{{||||{{||{{||{{||||||||||{{||||||{{||||||||{{{{||||||||{{{{||||||||{{||||||||||{{||||||{{||{{||{{||||{{||||||||{{{{||||||||||||||||{{||||||||||||||||{{{{||||||{{||{{{{||{{{{||||||||||||{{||{{{{||{{||{{||||||||{{||||||||||||||{{{{||{{||{{||||{{{{{{{{{{{{{{||{{{{||||||||||{{{{||||||||||||||||||{{||{{||||{{||||||||{{{{||||||||||||||||{{||||||||||||||||{{{{||||||{{||{{{{||{{{{||||||||||||{{||{{{{||{{||{{||||||||{{||||||||||||||{{{{||{{||{{||||{{{{{{{{{{{{{{||{{{{||||||||||{{{{||||||||||||||||||||||||||||{{||{{{{||||||||||||||||||{{||{{||{{||{{||||{{{{{{||||||||||||||{{||||||||{{||||{{||||||||||{{{{{{{{{{{{||||||||||{{||{{||||{{||{{||{{||||{{{{||||||||||||{{||{{{{{{||||||{{||||||{{||||{{{{||||{{||{{||||{{{{||||{{||||{{{{||{{||||||||{{||{{||{{||{{||||||{{||||{{||{{||||||{{||{{{{{{||||||||||||||||||||||{{||{{||||{{||{{{{||{{||{{{{||||{{||{{{{||{{||||||{{||{{||||||||||{{{{{{||{{||||{{||{{{{||||||{{{{{{||{{||{{||||||||{{||||||{{{{||||||||{{||||||||||||{{{{{{{{{{||{{{{{{{{||||{{||||{{||{{{{||||{{{{||{{{{||{{{{{{{{{{||||||||{{||{{{{||||{{||{{{{||{{||||||{{||{{||||||||||{{{{{{||{{||||{{||{{{{||||||{{{{{{||{{||{{||||||||{{||||||{{{{||{{||||{{||||||||{{||{{{{{{{{{{||{{{{{{{{||||{{{{||{{||{{{{||||{{{{||{{{{||{{{{{{{{{{||||||||{{||||{{||||||||{{{{{{{{||{{||{{||||||||{{||{{||||||||||{{||||||{{||{{{{{{{{||||{{{{||{{||{{||{{||||{{{{{{||||||{{||||||{{{{||||||||||{{||||{{||{{{{||||||||||||||{{||||||||||||{{{{||{{||||||{{||||{{||{{||||{{{{||{{||||||||||||||||||||{{||||||{{{{{{||||{{||{{||||{{||||||||||||{{||{{||{{||||{{{{{{{{{{||{{||{{{{||{{{{||{{||||{{||{{||{{||||||||||{{||||||{{{{||||||||||{{||||||||{{||||||||||||||||{{||{{||{{{{||||||{{||||||||{{||||||||{{{{||{{||||||||||||||||{{||{{{{||{{||{{{{{{||||{{||||||{{||{{||||{{||{{||{{{{{{||{{||||{{{{{{||||{{||{{{{{{||||{{{{||||||||||{{{{||{{{{{{{{{{{{||||{{{{||{{||{{||{{||||||||{{||||||||||{{{{||||{{{{{{{{||{{{{{{||{{{{{{{{{{{{||||{{{{{{||||||||||{{{{{{||||||{{{{||||||{{{{||{{{{{{||||{{||||||||||{{{{{{{{||||||||||{{{{{{||{{||||{{{{{{{{{{||||||||||||{{{{{{{{{{{{||{{||||||{{{{{{{{||{{{{||||{{||{{||{{{{{{||||{{{{||{{||||||{{{{||||{{||{{||{{||{{{{{{{{{{||||||||{{||||||{{||{{||||{{||||||||{{||{{||{{{{{{{{{{{{||{{||{{||||{{||||||{{{{{{{{{{{{{{{{||||||{{{{||||{{{{||||{{{{{{{{{{{{{{||{{||{{{{||{{||{{{{{{||||{{{{{{||{{{{||||||{{{{{{||||{{{{||{{||{{{{{{||{{{{{{{{{{||{{{{{{{{{{{{{{||{{||||{{{{{{||{{||||{{{{{{||||||||{{{{{{{{||||{{||{{||{{{{{{{{||||{{{{{{||||{{||||{{{{{{{{{{||||||{{{{||{{||||||{{{{{{{{||{{{{{{||||{{{{||||{{{{{{{{{{{{{{{{{{||||{{{{||||{{{{||{{{{||||{{{{{{{{||||||{{||||{{||||||||||{{{{{{{{||{{{{||{{||||{{{{||||||||{{||{{{{||||{{{{||{{{{{{||{{||{{{{{{||{{{{{{{{||{{{{||{{||{{{{{{{{||||||||||||||{{||||||{{||||||||||||||||||||||||||||||||||||||||||||{{||{{||||{{||||{{{|||||||||||||||||||{{{{||||||||{{{{||||||||||||||||||{{||||||||{{||||{{||{{||||||||||||||{{||||||{{||||||||{{||||||||||{{||||||||||||||||||||||||||{{||{{||||{{||||||||||||{{||||||||||||{{||||||||||||||||||||||||||||||||||||||||||||{{{{{{||||||{{||{{||||||||||{{||||||{{{{||||||{{||||||||{{||||||||||||||||||{{{{||||||||{{||||||||{{||||||||||{{{{||{{||||{{||||||||||||{{||||||||{{||||||||||{{||||||||||||||{{{{||{{{{{{{{||||||||||||||||||||||{{||||||||||||||{{||||||||||||||||||||||||||||{{{{||||||||||||||{{||||||||||||||||||||||{{||||||||||||{{||||||||||||{{||||{{{{||||||{{||{{{{||||||{{||||||||||||||{{||{{{{||||{{||||||||{{||{{||||||{{||||{{||||||||{{||||{{||{{||||||||||||{{||||||{{||||{{||||||||||||||||||||||{{{{||||||||||||{{||||||||||||{{||||||||||{{||||{{||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||{{||||||{{||||||||||{{||||||{{||||{{||||||||||||||||||||||||||||||||{{||||||{{{{||||{{||||||||{{||||{{||{{||||{{||{{||||||||||{{{{||||||||||||||||||||{{||||||{{||||||{{{{||{{{{||{{||||||||{{{{||||{{||{{||||||||||||||{{{{{{{{||||||||||||||||||||||{{||||||{{{{||||{{||{{||{{||||||||||{{||||||{{||||||||{{{{||||||||{{{{||||||||{{||||||||||{{||||||{{||{{||{{||||{{||||||||{{{{||||||||||||||||{{||||||||||||||||{{{{||||||{{||{{{{||{{{{||||||||||||{{||{{{{||{{||{{||||||||{{||||||||||||||{{{{||{{||{{||||{{{{{{{{{{{{{{||{{{{||||||||||{{{{||||||||||||||||||{{||{{||||{{||||||||{{{{||||||||||||||||{{||||||||||||||||{{{{||||||{{||{{{{||{{{{||||||||||||{{||{{{{||{{||{{||||||||{{||||||||||||||{{{{||{{||{{||||{{{{{{{{{{{{{{||{{{{||||||||||{{{{||||||||||||||||||||||||||||{{||{{{{||||||||||||||||||{{||{{||{{||{{||||{{{{{{||||||||||||||{{||||||||{{||||{{||||||||||{{{{{{{{{{{{||||||||||{{||{{||||{{||{{||{{||||{{{{||||||||||||{{||{{{{{{||||||{{||||||{{||||{{{{||||{{||{{||||{{{{||||{{||||{{{{||{{||||||||{{||{{||{{||{{||||||{{||||{{||{{||||||{{||{{{{{{||||||||||||||||||||||{{||{{||||{{||{{{{||{{||{{{{||||{{||{{{{||{{||||||{{||{{||||||||||{{{{{{||{{||||{{||{{{{||||||{{{{{{||{{||{{||||||||{{||||||{{{{||||||||{{||||||||||||{{{{{{{{{{||{{{{{{{{||||{{||||{{||{{{{||||{{{{||{{{{||{{{{{{{{{{||||||||{{||{{{{||||{{||{{{{||{{||||||{{||{{||||||||||{{{{{{||{{||||{{||{{{{||||||{{{{{{||{{||{{||||||||{{||||||{{{{||{{||||{{||||||||{{||{{{{{{{{{{||{{{{{{{{||||{{{{||{{||{{{{||||{{{{||{{{{||{{{{{{{{{{||||||||{{||||{{||||||||{{{{{{{{||{{||{{||||||||{{||{{||||||||||{{||||||{{||{{{{{{{{||||{{{{||{{||{{||{{||||{{{{{{||||||{{||||||{{{{||||||||||{{||||{{||{{{{||||||||||||||{{||||||||||||{{{{||{{||||||{{||||{{||{{||||{{{{||{{||||||||||||||||||||{{||||||{{{{{{||||{{||{{||||{{||||||||||||{{||{{||{{||||{{{{{{{{{{||{{||{{{{||{{{{||{{||||{{||{{||{{||||||||||{{||||||{{{{||||||||||{{||||||||{{||||||||||||||||{{||{{||{{{{||||||{{||||||||{{||||||||{{{{||{{||||||||||||||||{{||{{{{||{{||{{{{{{||||{{||||||{{||{{||||{{||{{||{{{{{{||{{||||{{{{{{||||{{||{{{{{{||||{{{{||||||||||{{{{||{{{{{{{{{{{{||||{{{{||{{||{{||{{||||||||{{||||||||||{{{{||||{{{{{{{{||{{{{{{||{{{{{{{{{{{{||||{{{{{{||||||||||{{{{{{||||||{{{{||||||{{{{||{{{{{{||||{{||||||||||{{{{{{{{||||||||||{{{{{{||{{||||{{{{{{{{{{||||||||||||{{{{{{{{{{{{||{{||||||{{{{{{{{||{{{{||||{{||{{||{{{{{{||||{{{{||{{||||||{{{{||||{{||{{||{{||{{{{{{{{{{||||||||{{||||||{{||{{||||{{||||||||{{||{{||{{{{{{{{{{{{||{{||{{||||{{||||||{{{{{{{{{{{{{{{{||||||{{{{||||{{{{||||{{{{{{{{{{{{{{||{{||{{{{||{{||{{{{{{||||{{{{{{||{{{{||||||{{{{{{||||{{{{||{{||{{{{{{||{{{{{{{{{{||{{{{{{{{{{{{{{||{{||||{{{{{{||{{||||{{{{{{||||||||{{{{{{{{||||{{||{{||{{{{{{{{||||{{{{{{||||{{||||{{{{{{{{{{||||||{{{{||{{||||||{{{{{{{{||{{{{{{||||{{{{||||{{{{{{{{{{{{{{{{{{||||{{{{||||{{{{||{{{{||||{{{{{{{{||||||{{||||{{||||||||||{{{{{{{{||{{{{||{{||||{{{{||||||||{{||{{{{||||{{{{||{{{{{{||{{||{{{{{{||{{{{{{{{||{{{{||{{||{{{{{{{{||||||}}||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||}}||||||||||||||||||||||||||||||}}||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||{{||||||||||||||||||||||||{{||||||||||||||||||||||||||||||||||||||||||||||||||||||||{{||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||{{||||{{||||{{||||||||||||||||||||||||||||||{{||||||||||||||||||||||||||||||||||||||||||||||||||{{||{{||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||{{||||||||||{{||||||||||||||||||||||||||{{||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||{{||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||{{||||||||||||||||{{||||||||||||||||||||||||||||||||||{{{{||||||||||||||||||||||||||||{{||||||{{||||||{{||||||||||||||||||||||||||||||||||{{||||||||||||||||||||||||{{||||||||||||||||||||||||||||||||||||||||||||||{{||||||||||||||||||||||||||||{{||||||||||||||||||||||||||||||||||||{{||||||||{{||||||||||{{||||||||||||||||||||||||||||||{{||||{{||||||||||||||||||{{||||||||||{{{{||{{||||||||||||||||||||||||||||||||||||||||||||||{{||||||{{||||||||||||{{||||||{{||||{{||||||||{{||{{||||||||||||||||||||||||||||||||{{||||||||{{||||||{{||||||||{{||||||||||||||||||||||{{{{||||||||{{{{||{{||||||||{{||||||||||||||||||||||||||||||||||{{||||||||{{||||||||||||{{||||||{{||||{{||||||||||||{{||||||||||||||||||{{||||{{||||{{{{||{{||||{{||||||{{||||||||{{||||||||||||||||||||||||||||||||{{||{{||{{||||||||{{{{{{{{||||||||||||||{{||||{{||||||||||||||||||||||||||{{||||||||||||{{||||||{{||{{||||||||||||||||{{{{||||{{||||||||||||||{{||||||||||{{||||||||||||||||||||||||||||||||{{||||||{{{{||||||||||||||||{{||||||||||{{{{||||||||||||||||||||||||||||{{||||{{||||{{||||||||||||||||||{{{{||||||||||||||||||||||||||{{{{||||||||||||||||||||||||||{{||||||||||||||||{{||||||||||||||||||||||||||{{||{{||||{{||||{{||||||||||||{{||||||||||{{||||||||||||||||||||||||{{||{{{{||||{{||{{||||||||||{{||||||||||{{||{{{{||||{{||||{{||||||||||||{{||||{{{{||||||||||||||||{{||||||||||{{{{||||{{||||||||||||||||||||{{||||||||||||{{||||{{||||{{||||||||||||||||||||||||{{||||||||{{{{||||||||||{{{{||||||||||||||{{{{{{||||||||{{||||||{{||||||||{{||{{||||||||||||||{{{{{{||||||||||||||||||{{{{||||||||||{{||||||{{||||||||||{{||||||||||||||||||||||||||||||||||||||||||||{{||{{{{||{{||||||||||||||{{||||||{{{{||||||||{{||||||||||{{{{||{{||{{||||||{{||||||||||{{||{{||||||||||||{{||{{||||{{||{{{{||||{{||||{{{{||||||||{{{{{{||||||||{{||||{{||{{||||||||||||||||{{||{{||||||||||||||||{{||||||||||{{||||||||||||||||||{{{{||||||||{{{{||||{{||||{{{{||{{{{{{||{{||{{||||{{||||||||||||||||||||{{{{{{||||{{{{{{{{||{{{{{{||{{||||{{{{{{||||||||||{{{{||||||||{{||||||||||||||||||{{||||||||||||||||||{{{{||||{{||||||||||||||||||||||||{{{{||{{||||||||||{{{{||||||||||{{||||||{{||||||||||||{{||{{{{||||||{{||{{||||||||||||||{{{{{{{{||}}||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||}}||||||||||||||}}||||||||||||||}}||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||}}||||||||||||||}}||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||{{||||||||||||||||||||||||{{||||||||||||||||||||||||||||||||||||||||||||||||||||||||{{||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||{{||||||||||||||||||||||||||||||||||||||||||||||||||{{||{{||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||{{||||||||||||||||||||||||||{{||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||{{||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||{{||||||||||||||||{{||||||||||||||||||||||||||||||||||{{{{||||||||||||||||||||||||||||||||||||{{||||||{{||||||||||||||||||||||||||||||||||{{||||||||||||||||||||||||{{||||||||||||||||||||||||||||||||||||||||||||||{{||||||||||||||||||||||||||||{{||||||||||||||||||||||||||||||||||||{{||||||||{{||||||||||{{||||||||||||||||||||||||||||||{{||||{{||||||||||||||||||{{||||||||||{{{|||{{||||||||||||||||||||||||||||||||||||||||||||||{{||||||{{||||||||||||{{||||||{{||||{{||||||||{{||{{||||||||||||||||||||||||||||||||{{||||||||{{||||||{{||||||||{{||||||||||||||||||||||{{{|||||||||{{{|||{{||||||||{{||||||||||||||||||||||||||||||||||{{||||||||{{||||||||||||{{||||||{{||||{{||||||||||||{{||||||||||||||||||{{||||{{||||{{{{||{{||||{{||||||{{||||||||{{||||||||||||||||||||||||||||||||{{||{{||{{||||||||{{{{{{{{||||||||||||||{{||||{{||||||||||||||||||||||||||{{||||||||||||{{||||||{{||{{||||||||||||||||{{{|||||{{||||||||||||||{{||||||||||{{||||||||||||||||||||||||||||||||{{||||||{{{{||||||||||||||||{{||||||||||{{{{||||||||||||||||||||||||||||{{||||{{||||{{||||||||||||||||||{{{{||||||||||||||||||||||||||{{{{||||||||||||||||||||||||||{{||||||||||||||||{{||||||||||||||||||||||||||{{||{{||||{{||||{{||||||||||||{{||||||||||{{||||||||||||||||||||||||{{||{{{{||||{{||{{||||||||||{{||||||||||{{||{{{{||||{{||||||||||||||||||{{||||{{{{||||||||||||||||{{||||||||||{{{{||||{{||||||||||||||||||||{{||||||||||||{{||||{{||||{{||||||||||||||||||||||||{{||||||||{{{{||||||||||{{{{||||||||||||||{{{{||||||||||{{||||||{{||||||||{{||{{||||||||||||||{{{{{{||||||||||||||||||{{{{||||||||||{{||||||{{||||||||||{{||||||||||||||||||||||||||||||||||||||||||||{{||{{{{||{{||||||||||||||{{||||||{{{{||||||||{{||||||||||{{{{||{{||{{||||||{{||||||||||{{||{{||||||||||||{{||{{||||{{||{{{{||||{{||||{{{{||||||||{{{{{{||||||||{{||||{{||{{||||||||||||||||{{||{{||||||||||||||||{{||||||||||{{||||||||||||||||||{{{{||||||||{{{{||||{{||||{{{{||{{{{{{||{{||{{||||{{||||||||||||||||||||{{{{{{||||{{{{{{{{||{{{{{{||{{||||{{{{{{||||||||||{{{{||||||||{{||||||||||||||||||{{||||||||||||||||||{{{{||||{{||||||||||||||||||||||||{{{{||{{||||||||||{{{{||||||||||{{||||||{{||||||||||||{{||{{{{||||||{{||{{||||||||||||||{{{{{{{{||||||||||||||||}}||||||||||||||||||||||||||||}}}}||||||||||||||||||||||}}||||||||}}}}}}||}}||||}}||||||||||||||}}||}}||||||||||||}}||||||||||}}||||||||||||}}||||||}}||||||}}||||||||||||}}||||}}}}||}}}}||}}||||||}}||||||||||}}||||||}}}}}}||||}}}}||||}}||}}||||||||}}||||}}||||||||||||||||||||||||||}}||||||}}}}||||||||||||||||||}}}}||||||||||||||||||||}}||}}||||||||||||}}||||||}}||||||||||||||||||||||}}||||||||||||||||}}||}}||||}}||||}}||||||}}||||||||||||||||||||||}}||}}||||||}}||||||||||||||||||||||||||||||||}}||||||||||||||||||||||||||||}}||||||||||||||||||}}||||||||}}||||||}}||||||||||||||}}||||||||||||||||||||||||||||||||||||||}}||}}||||||||||||||}}||||||||||||}}||||||||||||}}}}||||||||}}||||||||||||||}}||||}}||||||||}}||||||||||||||||||||||}}||||}}||||}}||||}}}}||||||||||||||}}||||||||||||||||||||||}}||||||||||||||||||||||||||||||||||||||||}}||||||||}}||||||}}||||||||||}}||||}}||}}||}}||}}}}||}}||}}}}||||||||||||||||||}}||||||||||||||}}||||||}}||||||||||||||||||||}}||}}||||||}}||||}}||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||}}||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||}}||||||||||||||||||||||||}}||||||||||||||||||||}}||||||||||||}}||}}||||||||||||||||||||||||||||||||||||||||||||||||||||||||}}}}||||||||||||||||||||||||||||||||||||||||||||||||||||}}||||}}||||||||||||||||||||||||||||||||||||||||||||||||||||}}||}}}}||||||||||||||||}}||||||||||||||||||||}}}}||||||||||||||||||||||||||||||||||||||}}||||||||||||||||||||||}}||||||||||||||||||||||||||||||||||||||||||||||}}||||||||||}}||||||||||||||||||||||||||||}}||||||||||||||||||||||||||||||||||||||||||||||}}|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||}}}||||||||||||||||||||||||}}||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||}}||||||||||||||||||||}}||||||||||||}}||||||||||||||||||||||||||||||||||||||||||||||||}}||||||||||||||||||||||||||||||||||||||||||||||||}}||||||||||||||||||||||||||||}}||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||}}||||||||||||||||||||||||||||||||}}||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||}}||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||}}||||||||||||||||||||||||||||||||||}}||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||}}||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||}}||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||{{||||||{{||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||{{||||||||{{||||{{||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||{{||||||||||||||||||||||||||||{{||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||{{||||||||{{||||||||||||||||||||||||||||||||||{{||||||{{{{||||||||||||||||}}||||||||||||||||||||||||||||}}}}||||||||||||||||||||||}}||||||||}}}}}}||}}||||}}||||||||||||||}}||}}||||||||||||}}||||||||||}}||||||||||||}}||||||}}||||||}}||||||||||||}}||||}}}}||}}}}||}}||||||}}||||||||||}}||||||}}}}}}||||}}}}||||}}||}}||||||||}}||||}}||||||||||||||||||||||||||}}||||||}}}}||||||||||||||||||}}}}||||||||||||||||||||}}||}}||||||||||||}}||||||}}||||||||||||||||||||||}}||||||||||||||||}}||}}||||}}||||}}||||||}}||||||||||||||||||||||}}||}}||||||}}||||||||||||||||||||||||||||||||}}||||||||||||||||||||||||||||}}||||||||||||||||||}}||||||||}}||||||}}||||||||||||||}}||||||||||||||||||||||||||||||||||||||}}||}}||||||||||||||}}||||||||||||}}||||||||||||}}}}||||||||}}||||||||||||||}}||||}}||||||||}}||||||||||||||||||||||}}||||}}||||}}||||}}}}||||||||||||||}}||||||||||||||||||||||}}||||||||||||||||||||||||||||||||||||||||}}||||||||}}||||||}}||||||||||}}||||}}||}}||}}||}}}}||}}||}}}}||||||||||||||||||}}||||||||||||||}}||||||}}||||||||||||||||||||}}||}}||||||}}||||}}||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||}}||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||}}||||||||||||||||||||||||}}||||||||||||||||||||}}||||||||||||}}||}}||||||||||||||||||||||||||||||||}}||||}}||||}}||||||||||}}}}||||||||||||||||||||||||||||||||||||||||||||||||||||}}||||}}||||||||||||||||||||||||||||||||||||||||||||||||||||}}||}}}}||||||||||||||||}}||||||||||||||||||||}}}}||||||||||||||||}}||||||||||||||||||||}}||||||||||||||||||||||}}||||||||||||||||||||||||||||||||||||||||||||||}}||||||||||}}||||||||||||||||||||||||||||}}||||||||||||||||||||||||||||||||||||||||||||||}}||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||}}}}||||||||||||||||||||||||}}||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||}}||||||||||||||||||||}}||||||||||||}}||||||||||||||||||||||||||||||||||||||||||||||||}}||||||||||||||||||||||||||||||||||||||||||||||||}}||||||||||||||||||||||||||||}}||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||}}||||||||||||||||||||||||||||||||}}||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||}}||}}||||||||||}}||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||}}||||||||||||||||||||||||||||||||||}}||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||}}||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||}}||||||||}}||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||{{||||||{{||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||{{||||||||{{||||{{||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||{{||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||{{||||||||{{||||||||||||||||||||||||||||||||||||||||||{{{{||||}}}}||}}||}}}}}}||||}}||}}||||||||||}}||||||}}}}||||}}}}||}}}}||||}}}}||||}}||||}}}}||||}}||}}||}}||}}}}}}}}||}}}}}}}}||||||}}}}}}||||||}}||||||}}||||||||||||}}}}||||}}}}}}}}}}}}||||||}}}}}}||}}}}}}}}||||}}||||||}}}}||}}}}}}||}}||||||||}}}}}}}}}}||||||}}||||}}||||||||||}}}}}}}}}}}}||||||||||||}}||}}}}}}||||||||}}||}}}}}}||}}||}}}}||||}}}}||}}}}||}}}}||||||}}}}||||||}}}}}}}}||||||||}}}}}}}}||}}}}}}||}}||}}}}||}}}}}}}}||}}||}}||||||||||||}}||}}||}}}}||}}}}}}||||}}||||||||||}}||}}||||||}}||||}}}}||||||||||}}||}}||}}||||}}||}}||||||}}}}||||||}}||||}}}}}}||||||}}}}||||||||}}||||||}}||||}}}}||}}}}||||||||||||}}||}}}}||||}}}}||}}}}||||||}}}}}}}}||||||||}}}}}}}}||}}||||||||}}}}||||||||||||}}}}||||||||||}}}}}}||||}}||}}}}}}||||||||}}||}}||}}||||||||}}}}||||}}}}||||}}}}||||||||||||||}}||||||}}}}||}}}}}}}}||||}}||||}}||||||||}}}}||}}||||||}}}}}}||||||||||||}}||}}||}}}}||||}}}}}}||||||}}}}}}}}}}||||}}||}}}}}}||||}}||||}}}}}}||||||||||}}||||}}||||}}}}}}||||}}||||}}||||}}||||||||}}}}}}||}}||||}}}}||}}||||||}}||}}}}||}}||||||||||||||||||}}||}}||||}}}}||||||||||||||||||}}}}||||}}}}}}}}}}}}||||||}}||||||||||}}||||||||||||||||||}}}}||||||||||||||||||}}||||||||}}||||||||||||||||}}||||||||||||||||||}}}}||||}}||||}}||||}}}}||}}||||||||||||||}}}}||||||||||||}}||||||||||||}}}}||}}||||}}||}}||}}||||}}||}}}}||}}||||}}||}}||||||||||}}}}||||||||||}}||||||||||}}||||||}}}}||||||||||||}}}}||}}||||||||}}||||||||||}}}}}}||||||||||||}}||||}}||||||||}}||||}}}}}}||}}||}}}}||||||}}||}}||||||||||}}||}}||||||||||||||}}||}}||||||||}}||||||}}||}}||||||||||||}}||||||||||}}||||||}}||||||||}}||}}}}}}||||||||||||}}||||||||||}}||}}||}}||||||||}}||||}}||||||||}}||||}}}}||||}}||}}}}}}||||||||||||||}}}}||}}||||}}||||||||||||||||}}||}}}}}}||||}}||}}||||||}}||}}||||}}}}}}}}||||||}}||||||}}}}}}}}}}}}||}}||||||||||||}}}}||||}}}}||||}}}}||||||}}||||}}||||||}}||||||||||}}}}||||||}}||||||||}}||}}}}||}}||||||||||}}}}||||||||||||||||||}}||||||||||}}||||||}}}}||}}||||}}}}}}||||}}||||||||||}}||||||}}||||||||}}}}||||}}}}||}}||||||}}||}}||}}||||}}}}}}||||||||||||}}||||||}}||||||||}}||}}||||}}||}}||}}||}}||||||}}||||||||||||}}||||}}||||}}||}}||}}}}||||||}}||||||}}}}||||||||}}||||||||||||||||||||}}||||||}}||}}||||||}}||||||||||||||}}||||||||||||}}}}}}||}}||||}}||||||||||}}||||||}}||}}}}||||}}||}}||}}||}}||||||}}}}||||||}}||||}}||}}||||}}}}}}||}}||}}||||}}||}}||}}||||||||||}}||||||||||||}}||||||}}||||||}}||}}||||||}}||||||||||||}}||||}}}}||||}}}}||||}}||||||}}||||||||||||||||||||||||||}}||||||||||||||||||}}||||||||||||||||||||||||||||||}}||||||||||||||}}||||||||||||}}||}}||||||||||||||||||||}}||||||||||||||||}}||||||||||||||||||||}}||||||}}||||||||||||||||||||||||||||||||||||||}}||||||||}}}}||||||}}||||||||}}||||||||||||||||||||||||||}}||}}||}}||||||||||||||}}||||||||||||||||||||||||||||||}}}}||||||}}||||}}||||||}}||}}||||}}||||||||||||||||||||||||||||||||||||||||||||||||}}}}||||}}||||||}}||}}||||}}||||||||||}}||||}}||||}}}}||}}||||||||||||||||}}||}}||}}||||||}}||}}}}||||||||}}||||}}||}}||||||||||||||}}||||||||||||||||||||}}||}}||}}}}||||||||||||||||||||||||||}}}}||||||||||}}}}||||||||||||||||||||||}}||||||||||||}}}}}}||}}||||||||}}||||||||}}||||||||||||||||||||||||||||||||||}}||||||||||||||||||||||||||||||||}}||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||}}||||||||||||||}}||||||||||||||||||||||||||||||||||||||||||}}}}||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||}}||||||||||||||||||||||||||||||}}||||||||}}||||||||||||||||||||||||||||||}}||||||||||||||||||||||||||||||||}}||||||||||||||||||||||||||||||||||||||||||||||||||||}}||||||||||||}}||||||||||||||||||||||||||||||||||||||||||||||}}||||||||||||||||||||||||||||||||||||||||||||||||||||||}}||||||||||}}||||||||||||}}||||||||||||||||||||}}||||||||||||||||||||||||||||||||}}||||||||||||}}||||}}||||||||||||||||||||||||||||||||||||||}}}}||}}||}}}}}}||||}}||}}||||||||||}}||||||}}}}||||}}}}||}}}}||||}}}}||||}}||||}}}}||||}}||}}||}}||}}}}}}}}||}}}}}}}}||||||}}}}}}||||||}}||||||}}||||||||||||}}}}||||}}}}}}}}}}}}||||||}}}}}}||}}}}}}}}||||}}||||||}}}}||}}}}}}||}}||||||||}}}}}}}}}}||||||}}||||}}||||||||||}}}}}}}}}}}}||||||||||||}}||}}}}}}||||||||}}||}}}}}}||}}||}}}}||||}}}}||}}}}||}}}}||||||}}}}||}}||}}}}}}}}||||||||}}}}}}}}||}}}}}}||}}||}}}}||}}}}}}}}||}}||}}||||||||||||}}||}}||}}}}||}}}}}}||||}}||||||||||}}||}}||||||}}||||}}}}||||||||||}}||}}||}}||||}}||}}||||||}}}}||||||}}||||}}}}}}||||||}}}}||||||||}}||||||}}||||}}}}||}}}}||||||||||||}}||}}}}||||}}}}||}}}}||||||}}}}}}}}||||||||}}}}}}}}||}}||||||||}}}}||||||||||||}}}}||||||||||}}}}}}||||}}||}}}}}}||||||||}}||}}||}}||||||||}}}}||||}}}}||||}}}}||||||||||||||}}||||||}}}}||}}}}}}}}||||}}||||}}||||||||}}}}||}}}}||||}}}}}}||||||||||||}}||}}||}}}}||||}}}}}}||||||}}}}}}}}}}||||}}||}}}}}}||||}}||||}}}}}}||||||||||}}||||}}||||}}}}}}||||}}||||}}||||}}||||||||}}}}}}||}}||||}}}}||}}||||||}}||}}}}||}}||||||||||||||||||}}||}}||||}}}}||||||||||||||||||}}}}||||}}}}}}}}}}}}||||||}}||}}||||||}}||||||||||||||||||}}}}||||||||||||||||||}}||||||||}}||||||||||||||||}}||||||||||||||||||}}}}||||}}||||}}||||}}}}||}}||||||||||||||}}}}||||||||||||}}||||||||||||}}}}||}}||||}}||}}||}}||||}}||}}}}||}}||||}}}}}}||||||||||}}}}||||||||||}}||||||||||}}||||||}}}}||||||||||||}}}}||}}||||||||}}||||||||||}}}}}}||||||||||||}}||||}}||||||||}}||||}}}}}}||}}||}}}}||||||}}||}}||||||||||}}||}}||||||||||||||}}||}}||||||||}}||||||}}||}}||||||||||||}}||||||||||}}||||||}}||||||||}}||}}}}}}||||||||||||}}||||||||||}}||}}||}}||||||||}}||||}}||||||||}}||||}}}}||||}}||}}}}}}||||||||||||||}}}}||}}||||}}||||||||||||||||}}||}}}}}}||||}}||}}||||||}}||}}||||}}}}}}}}||||||}}||||||}}}}}}}}}}}}||}}||||||||||||}}}}||||}}}}||||}}}}||||||}}||||}}||||||}}||||||||||}}}}||||||}}||||||||}}||}}}}||}}||||||||||}}}}||||||||||||||||||}}||||||||||}}||||||}}}}||}}||||}}}}}}||||}}||||||||||}}||||||}}||||||||}}}}||||}}}}||}}||||||}}||}}||}}||||}}}}}}||||||||||||}}||||||}}||||||||}}||}}||||}}||}}||}}||}}||||||}}||||||||||||}}||||}}||||}}||}}||}}}}||||||}}||||||}}}}||||||||}}||||||||||||||||||||}}||||||}}||}}||||||}}||||||||||||||}}||||||||||||}}}}}}||}}||||}}||||||||||}}||||||}}||}}}}||||}}||}}||}}||}}||||||}}}}||||||}}||||}}||}}||||}}}}}}||}}||}}||||}}||}}||}}||||||||||}}||||||||||||}}||||||}}||||||}}||}}||||||}}||||||||||||}}||||}}}}||||}}}}||||}}||||||}}||||||||||||||||||||||||||}}||||||||||||||||||}}||||||||||||||||||||||||||||||}}||||||||||||||}}||||||||||||}}||}}||||||||||||||||||||}}||||||||||||||||}}||||||||||||||||||||}}||||||}}||||||||||||||||||||||||||||||||||||||}}||||||||}}}}||||||}}||||||||}}||||||||||||||||||||||||||}}||}}||}}||||||||||||||}}||||||||||||||||||||||||||||||}}}}||||||}}||||}}||||||}}||}}||||}}||||||||||||||||||||||||||||||||||||||||||||||||}}}}||||}}||||||}}||}}||||}}||||||||||}}||||}}||||}}}}||}}||||||||||||||||}}||}}||}}||||||}}||}}}}||||||||}}||||}}||}}||||||||||||||}}||||||||||||||||||||}}||}}||}}}}||||||||||||||||||||||||||}}}}||||||||||}}}}||||||||||||||||||||||}}||||||||||||}}}}}}||}}||||||||}}||||||||}}||||||||||||||||||||||||||||||||||}}||||||||||||||||||||||||||||||||}}||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||}}||||||||||||||}}||||||||||||||||||||||||||||||||||||||||||}}}}||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||}}||||||||||||||||}}||||||||||||}}||||||||}}||||||||||||||||||||||||||||||}}||||||||||||||||||||||||||||||||}}||||||||||||||||||||||||||||||||||||||||||||||||||||}}||||||||||||}}||||||||||||||||||||||||||||||||||||||||||||||}}||||||||||||||||||||||||||||||||||||||||||||||||||||||}}||||||||||}}||||||||||||}}||||||||||||||||||||}}||||||||||||||||||||||||||||||||}}||||||||||||}}||||}}||||||||||||||||||||||||||||||||||}}}}}}}}}}}}||||}}}}}}||}}}}}}}}||}}||}}||}}||||}}}}||}}}}||}}}}}}}}}}}}||}}}}||||}}}}}}}}}}}}}}}}||}}}}}}}}}}}}||}}}}||}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}||}}}}||}}}}||}}}}}}}}}}}}}}}}}}}}}}}}||}}}}}}}}||||}}}}}}}}}}||||}}}}}}}}}}}}}}}}||||}}}}}}}}||}}}}}}}}}}}}}}}}}}}}||}}}}}}}}}}}}}}||||||}}}}}}}}}}}}}}}}}}||||}}}}}}}}}}||}}}}}}||}}}}}}}}}}||}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}||}}||||}}||}}}}}}}}}}}}}}||}}}}}}||||}}}}}}}}||}}}}}}}}}}||||}}||}}||}}}}}}||}}}}}}}}}}||}}||}}}}}}}}}}}}||}}||}}}}||}}||||}}}}}}}}}}}}||}}}}}}}}}}||||}}}}}}}}||}}}}||}}||}}}}}}}}}}}}}}}}||}}}}}}}}}}}}}}}}}}}}||}}}}}}}}}}||}}}}}}}}}}}}}}}}}}||||}}}}}}}}||||}}}}||}}}}||||}}||||}}}}||}}||}}}}||}}}}}}}}}}}}}}}}}}}}||||||}}}}||||||}}}}}}||||}}||}}}}||}}}}}}}}}}||}}}}}}}}}}||||||}}||||}}}}}}}}}}}}||}}}}}}}}}}||||}}}}}}||}}}}}}}}}}||}}||}}||||}}}}}}}}}}}}}}||}}}}}}}}}}}}}}}}}}}}||}}}}||}}}}}}||}}||}}}}}}}}}}||}}}}||||||}}||}}}}}}}}}}}}||||||}}}}}}}}}}}}}}}}}}}}}}||}}}}}}}}||||}}||}}||}}}}}}||}}}}||}}||}}||}}}}||}}||||}}}}}}}}||}}||||||}}||}}||||}}}}}}||||}}}}}}}}}}}}}}}}}}||||}}}}}}}}||}}||}}}}}}}}||}}}}||}}}}}}}}||}}}}}}}}||}}}}}}}}||}}}}||}}||}}||}}}}||}}}}}}||||||}}}}}}}}||}}}}}}}}}}}}||}}}}}}}}||}}}}}}}}}}}}}}||}}||}}}}||||||}}||}}||}}||}}}}}}||}}}}}}}}}}}}}}||}}||||||}}}}}}||}}}}}}||}}}}||||}}}}}}}}}}||}}}}}}||}}||}}}}||}}}}||}}||}}||||}}||||}}||}}}}}}}}||}}}}}}||||||}}}}||}}}}}}}}||||||}}}}}}}}||}}||}}||}}}}}}}}}}||||}}}}}}}}}}||||}}}}}}||}}||}}}}}}}}||}}}}||||}}}}}}}}}}||}}}}}}||}}}}||||}}}}}}||}}||}}}}}}||}}||}}||||}}}}||}}||}}||||}}||||}}||}}}}}}}}||}}}}}}||||||}}}}||}}}}}}}}||||||}}}}}}}}||}}||}}||}}}}}}}}}}||||}}}}}}}}}}||||}}}}}}||}}||}}}}}}}}||}}}}||||}}}}}}||||}}}}}}||}}}}||||}}}}||}}||}}||}}||||||||||||||}}}}||||||||}}}}||||}}}}}}||}}}}}}}}||}}}}||}}||||}}}}||||}}}}}}}}||}}||}}||||||||}}}}||}}}}||}}}}}}||}}}}}}||}}}}}}}}}}||||}}}}||||}}||||}}}}}}}}}}}}}}}}}}}}||}}||}}}}}}}}}}||}}}}}}}}}}}}||||}}}}}}||}}}}||||}}||||||}}||}}||||}}||||}}}}||}}||}}}}}}}}}}}}||}}||}}}}||||}}}}}}}}}}}}||}}||}}}}}}}}||}}||||||||||}}||||}}}}||||}}||}}||}}}}||||}}||||||}}||||||||}}}}||}}}}}}}}}}}}||||}}||||||}}||||||||||||||||||||}}||||}}||||||}}||}}||||||}}||}}}}||||}}||}}||}}||}}}}}}||||||}}||}}||||}}||}}||}}}}||}}||}}||||||||||}}}}||}}}}||||}}||}}||}}}}||||}}||}}||}}||||||}}}}}}||}}}}}}}}}}}}||||}}}}||||}}}}||||||||||||||||||}}||||}}||}}||}}||}}||}}||}}||}}}}||||}}||}}||}}||}}}}}}||||||}}||}}||}}}}||||}}}}||||}}}}}}||||||}}||}}||}}||||}}}}}}}}}}||||||}}}}||}}||||}}||}}||}}}}}}||}}}}||}}}}||||}}||||||||||||||||||}}||}}||}}||||||||}}||||}}||}}||||}}||}}||}}||||||||}}||||||}}}}||||||}}||}}||||||}}||||||||}}}}}}||}}}}||}}||||}}||}}}}}}}}||||||||||||||}}||}}||||}}||||}}||||||||||}}||}}||||||||}}}}||||}}}}}}}}||}}}}}}}}||||||||||}}}}}}||||||}}||}}}}||||||||||}}}}||||||}}}}||||||}}||}}||||||||}}}}}}}}}}||||}}||||}}}}||||||}}}}||||||||}}||||}}||}}}}||||}}}}}}||||||||||}}||||||||}}||||||}}||}}}}||||||||}}}}||}}}}}}||}}}}||||||||}}||||}}||}}}}}}}}||||}}||}}}}}}}}}}||}}||||||||}}}}||}}}}||}}}}}}}}||||}}}}||||||||||||||||}}}}}}}}||}}}}||}}||}}||}}||||||||}}||||}}}}||}}||}}}}||}}||||}}}}}}}}||||||||||}}||||}}}}||||}}||||||||||||||}}||||||}}||}}||||||||}}||}}}}}}||||||||||}}||||||}}||||||||||||}}}}||||||}}}}||}}}}||}}}}||||||||||}}}}}}}}||}}}}||}}||}}||}}||||||||||||}}}}}}||}}}}||||}}||||||||||||}}}}||}}}}}}||}}||||}}}}||||||||}}}}}}}}||}}||}}||||}}}}}}||}}}}||}}||}}||||}}}}||||}}}}}}||||||||||||}}}}||}}||||||||||||||||}}||}}||}}||||||||}}||}}||||||}}}}||||}}}}||||||||||}}||}}}}||}}}}||||||||||||||}}||||||||||}}}}}}||}}||||||||}}}}}}}}||}}||}}||}}}}||}}}}||||||}}||||}}||}}||||}}}}}}||||}}||||||||}}}}||||||||||||||||||||||||}}||||||||||||||||}}||||}}||||}}}}||}}||||}}||}}||}}}}||}}}}||}}||||||}}}}||||}}}}}}||||}}||||||||||}}||||||}}}}}}||||||||||||||||||||||||}}||||||||||}}}}||||}}||}}}}||||||||}}||}}}}||||}}||||||}}}}}}}}}}}}||||}}}}}}||}}}}}}}}||}}||}}||}}}|||}}}}||}}}}||}}}}}}}}}}}}||}}}}||||}}}}}}}}}}}}}}}}||}}}}}}}}}}}}||}}}}||}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}||}}}}||}}}}||}}}}}}}}}}}}}}}}}}}}}}}}||}}}}}}}}||||}}}}}}}}}}||||}}}}}}}}}}}}}}}}||||}}}}}}}}||}}}}}}}}}}}}}}}}}}}}||}}}}}}}}}}}}}}||||||}}}}}}}}}}}}}}}}}}||||}}}}}}}}}}||}}}}}}||}}}}}}}}}}||}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}||}}||||}}||}}}}}}}}}}}}}}||}}}}}}||||}}}}}}}}||}}}}}}}}}}||||}}||}}||}}}}}}||}}}}}}}}}}||}}||}}}}}}}}}}}}||}}||}}}}||}}||||}}}}}}}}}}}}||}}}}}}}}}}||||}}}}}}}}||}}}}||}}||}}}}}}}}}}}}}}}}||}}}}}}}}}}}}}}}}}}}}||}}}}}}}}}}||}}}}}}}}}}}}}}}}}}||||}}}}}}}}||||}}}}||}}}}||||}}||||}}}}||}}||}}}}||}}}}}}}}}}}}}}}}}}}}||||||}}}}||||||}}}}}}||||}}||}}}}||}}}}}}}}}}||}}}}}}}}}}||||||}}||||}}}}}}}}}}}}||}}}}}}}}}}||||}}}}}}||}}}}}}}}}}||}}||}}||||}}}}}}}}}}}}}}||}}}}}}}}}}}}}}}}}}}}||}}}}||}}}}}}||}}||}}}}}}}}}}||}}}}||||||}}||}}}}}}}}}}}}||||||}}}}}}}}}}}}}}}}}}}}}}||}}}}}}}}||||}}||}}||}}}}}}||}}}}||}}||}}||}}}}||}}||||}}}}}}}}||}}||||||}}||}}||||}}}}}}||||}}}}}}}}}}}}}}}}}}||||}}}}}}}}||}}||}}}}}}}}||}}}}||}}}}}}}}||}}}}}}}}||}}}}}}}}||}}}}||}}||}}||}}}}||}}}}}}||||||}}}}}}}}||}}}}}}}}}}}}||}}}}}}}}||}}}}}}}}}}}}}}||}}||}}}}||||||}}||}}||}}||}}}}}}||}}}}}}}}}}}}}}||}}||||||}}}}}}||}}}}}}||}}}}||||}}}}}}}}}}||}}}}}}||}}||}}}}||}}}}||}}||}}||||}}||||}}||}}}}}}}}||}}}}}}||||||}}}}||}}}}}}}}||||||}}}}}}}}||}}||}}||}}}}}}}}}}||||}}}}}}}}}}||||}}}}}}||}}||}}}}}}}}||}}}}||||}}}}}}}}}}||}}}}}}||}}}}||||}}}}}}||}}||}}}}}}||}}||}}||||}}}}||}}||}}||||}}||||}}||}}}}}}}}||}}}}}}||||||}}}}||}}}}}}}}||||||}}}}}}}}||}}||}}||}}}}}}}}}}||||}}}}}}}}}}||||}}}}}}||}}||}}}}}}}}||}}}}||||}}}}}}||||}}}}}}||}}}}||||}}}}||}}||}}||}}||||||||||||||}}}}||||||||}}}}||||}}}}}}||}}}}}}}}||}}}}||}}||||}}}}||||}}}}}}}}||}}||}}||||||||}}}}||}}}}||}}}}}}||}}}}}}||}}}}}}}}}}||||}}}}||||}}||||}}}}}}}}}}}}}}}}}}}}||}}||}}}}}}}}}}||}}}}}}}}}}}}||||}}}}}}||}}}}||||}}||||||}}||}}||||}}||||}}}}||}}||}}}}}}}}}}}}||}}||}}}}||||}}}}}}}}}}}}||}}||}}}}}}}}||}}||||||||||}}}}||}}}}||||}}||}}||}}}}||||}}|||||}}}||||||||}}}}||}}}}}}}}}}}}||||}}}}||||}}||||||||||||||||||||}}||||}}||||||}}||}}||||||}}||}}}}||||}}||}}||}}||}}}}}}||||||}}||}}||||}}||}}||}}}}}}}}||}}||||||||||}}}}||}}}}||||}}||}}||}}}}||||}}||}}||}}||||||}}}}}}||}}}}}}}}}}}}||||}}}}||||}}}}||||||||||||||||||}}||||}}||}}||}}||}}||}}||}}||}}}}||||}}||}}||}}||}}}}}}||||||}}||}}||}}}}||||}}}}||||}}}}}}||||||}}||}}||}}||||}}}}}}}}}}||||||}}}}||}}||||}}||}}||}}}}}}||}}}}||}}}}||||}}||||||||||||||||||}}||}}||}}||||||||}}||||}}||}}||||}}||}}||}}||||||||}}||||||}}}}||||||}}||}}||||||}}||||||||}}}}}}||}}}}||}}||||}}||}}}}}}}}||||||||||||||}}}}}}||||}}|||}}}||||||||||}}||}}||||||||}}}}||||}}}}}}}}||}}}}}}}}||||||||||}}}}}}||||||}}||}}}}||||||||||}}}}||||||}}}}||||||}}||}}||||||||}}}}}}}}}}||||}}||||}}}}||||||}}}}||||||||}}||||}}||}}}}||||}}}}}}}}||||||||}}||||||||}}||||||}}||}}}}||||||||}}}}||}}}}}}||}}}}||||||||}}||||}}||}}}}}}}}||||}}||}}}}}}}}}}||}}|||||||}}}}}||}}}}||}}}}}}}}||||}}}}||||||||||||||||}}}}}}}}||}}}}||}}||}}||}}||||||||}}||||}}}}||}}||}}}}||}}||||}}}}}}}}||||||||||}}||||}}}}||||}}||||||||||||||}}||||||}}||}}||||||||}}||}}}}}}||||||||||}}||||||}}||||||||||||}}}}||||||}}}}||}}}}||}}}}||||||||||}}}}}}}}||}}}}||}}||}}||}}||||||||||||}}}}}}||}}}}||||}}||||||||||||}}}}||}}}}}}||}}||||}}}}||||||||}}}}}}}}||}}||}}||||}}}}}}||}}}}||}}||}}||||}}}}||||}}}}}}||||||||||||}}}}||}}||||||||||||||||}}||}}||}}||||||||}}||}}||||||}}}}||||}}}}||||||||||}}||}}}}||}}}}||||||||||||||}}||||||||||}}}}}}||}}||||||||}}}}}}}}||}}||}}||}}}}||}}}}||||||}}||||}}||}}||||}}}}}}||||}}||||||||}}}}||||||||||||||||||||||||}}||||||||||||||||}}||||}}||||}}}}||}}||||}}||}}||}}}}||}}}}||}}||||||}}}}||||}}}}}}||||}}||||||||||}}||||||}}}}}}||||||||||||||||||||||||}}||||||||||}}}}||||}}||}}}}||||||||}}||}}}}||||}}||||||}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}||}}}}}}}}}}}}}}}}}}}}}}||}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}||}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}||}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}||}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}||}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}||}}}}}}}}||}}||}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}||}}}}}}}}}}}}}}}}}}||}}||}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}||}}}}}}}}}}}}||}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}||}}}}}}}}}}}}||||}}}}}}}}}}}}}}}}}}}}||}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}||}}||}}||}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}||}}}}}}}}||}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}||}}}}}}}}}}}}||}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}||}}}}}}}}}}||||}}}}||}}}}}}}}}}}}}}}}}}}}}}}}}}||}}}}}}||}}}}}}}}}}}}}}}}}}}}}}||||}}}}||}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}||}}}}||}}||||}}}}}}}}}}||}}}}||}}||||}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}||||}}}}||||}}}}}}}}||}}}}}}}}}}}}||}}||}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}||}}}}}}}}}}||}}}}}}}}}}}}}}}}}}||}}}}}}}}}}}}}}}}}}||}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}||}}}}}}}}||}}}}||}}}}}}}}}}}}}}}}}}||}}}}}}}}}}}}||}}||}}}}}}}}}}||}}}}}}}}}}}}}}}}}}}}}}}}}}}}||}}||||}}}}}}}}}}}}}}}}}}}}||}}||||}}}}}}}}}}||}}}}||}}||||}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}||}}}}}}}}}}}}}}||||}}}}}}}}}}}}}}||}}}}}}}}}}}}}}}}}}||}}}}}}||||||}}}}}}}}}}}}||||}}}}}}}}}}}}}}}}}}}}}}||}}}}||}}}}}}}}}}}}}}}}}}}}}}||}}}}||||}}}}}}}}}}}}||}}||||}}}}||}}}}}}||}}||}}||||}}}}}}||}}||}}}}}}}}}}}}||}}||}}}}||}}||}}}}}}}}||||||}}||||}}}}}}}}}}}}}}}}}}||}}}}||||||}}}}}}}}}}}}}}||}}}}}}}}||}}}}||}}}}}}}}||}}}}}}||}}}}}}||}}}}}}}}}}}}}}}}}}}}}}}}}}||||}}}}||}}}}}}||}}||}}||||}}}}}}||}}||}}}}}}}}}}}}||}}||}}}}||}}||}}}}}}}}||||||}}||||}}}}}}}}}}}}}}}}}}||}}}}||||||}}}}}}}}}}}}}}||}}}}}}}}||}}}}||}}}}}}}}||}}}}}}||}}}}}}||}}}}}}}}}}}}}}}}}}}}}}}}}}||}}}}}}}}}}}}}}||}}}}}}}}}}}}}}||}}||}}}}}}}}}}||||||}}||}}}}||}}}}||||}}}}}}}}}}}}}}||}}}}||}}||}}||}}}}}}}}}}}}}}}}}}}}}}||}}}}}}||}}||}}}}}}}}}}||||||||}}}}}}}}||}}}}}}}}||}}}}}}||}}}}}}}}}}||||}}}}}}||||||}}}}||}}}}}}||}}}}}}||}}||}}||||||}}}}}}||||}}}}}}}}||}}||}}||}}}}}}||}}||}}}}}}}}}}}}}}}}}}}}}}}}||}}}}}}}}}}}}||}}}}||||}}}}}}}}}}}}||}}||||}}}}||||}}}}||}}}}}}}}}}}}}}}}}}||||}}}}}}}}}}}}||}}}}}}}}}}||}}}}}}}}}}}}||}}}}}}}}}}}}||}}}}}}}}}}||||}}||}}}}}}||||}}}}}}}}||}}}}}}}}}}}}||}}}}}}}}}}}}}}}}||}}}}}}}}}}}}||}}}}}}}}}}||}}}}}}}}}}}}}}}}||||}}}}||}}}}||}}}}||||}}}}||}}}}}}}}||}}||||}}}}||||}}}}}}||}}}}}}}}}}}}}}}}}}||||}}||}}||||}}}}||}}||||}}||||}}}}}}}}}}||}}||}}||}}}}}}}}}}}}}}}}}}||}}||}}||}}||}}||}}}}||}}||}}||}}}}}}}}||}}||||}}||||||}}}}||}}}}}}||}}}}}}||||||||}}}}||}}||||}}}}}}}}}}}}||}}}}}}}}}}}}}}||}}}}}}}}}}}}}}}}||}}}}}}||}}}}||}}}}}}||}}}}||}}}}}}||||}}||}}||}}}}||||||||}}}}}}}}||||||}}||||||||}}}}}}}}}}}}}}}}}}}}||||||}}||}}||||}}}}}}}}}}||||}}}}}}}}||}}||||||||}}}}}}}}}}}}}}||}}}}}}||||}}||||||}}}}}}||}}}}}}||}}||}}||||}}}}}}||||||||}}}}}}||||}}}}||}}}}}}}}}}}}||}}||||}}}}||}}||||}}}}}}}}}}||||}}||}}||}}||||||}}}}}}}}||}}||||||}}||||}}||}}}}}}}}}}||||||}}||||||}}}}}}||||}}||}}}}||}}||}}||||}}}}}}}}}}||||}}||||}}}}}}}}||}}}}}}||||}}}}}}}}}}}}}}}}}}||||||}}}}}}}}}}}}}}}}}}}}||}}||}}}}||}}}}||}}||||}}||||}}}}||}}}}}}}}||||}}}}}}||||}}}}}}}}||||||}}}}||||||||}}}}}}||||}}}}||}}||||||}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}||}}}}}}}}}}}}}}}}}}}}}}||}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}||}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}||}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}||}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}||}}}}}}}}||}}||}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}||}}}}}}}}}}}}}}}}}}||}}||}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}||}}}}}}}}}}}}||}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}||}}}}}}}}}}}}||||}}}}}}}}}}}}}}}}}}}}||}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}||}}||}}||}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}||}}}}}}}}||}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}||}}}}}}}}}}}}||}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}||}}}}}}}}}}||||}}}}||}}}}}}}}}}}}}}}}}}}}}}}}}}||}}}}}}||}}}}}}}}}}}}}}}}}}}}}}||||}}}}||}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}||}}||||}}}}}}}}}}||}}}}||}}||||}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}||||}}}}||||}}}}}}}}}}}}}}}}}}}}}}||}}||}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}||}}}}}}}}}}||}}}}}}}}}}}}}}}}}}||}}}}}}}}}}}}}}}}}}||}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}||}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}||}}}}}}}}}}}}||}}||}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}||}}||||}}}}}}}}}}}}}}}}}}}}||}}||||}}}}}}}}}}||}}}}||}}||||}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}||||}}}}}}}}}}}}}}||}}}}}}}}}}}}}}}}}}||}}}}}}||||||}}}}}}}}}}}}||||}}}}}}}}}}}}}}}}}}}}}}||}}}}||}}}}}}}}}}}}}}}}}}}}}}||}}}}||||}}}}}}}}}}}}||}}||||}}}}||}}}}}}||}}||}}||||}}}}}}||}}||}}}}}}}}}}}}||}}||}}}}||}}||}}}}}}}}||||||}}||||}}}}}}}}}}}}}}}}}}||}}}}||||||}}}}}}}}}}}}}}||}}}}}}}}||}}}}||}}}}}}}}||}}}}}}||}}}}}}||}}}}}}}}}}}}}}}}}}}}}}}}}}||||}}}}||}}}}}}||}}||}}||||}}}}}}||}}||}}}}}}}}}}}}||}}||}}}}||}}||}}}}}}}}||||||}}||||}}}}}}}}}}}}}}}}}}||}}}}||||||}}}}}}}}}}}}}}||}}}}}}}}||}}}}||}}}}}}}}||}}}}}}||}}}}}}||}}}}}}}}}}}}}}}}}}}}}}}}}}||}}}}}}}}}}}}}}||}}}}}}}}}}}}}}||}}||}}}}}}}}}}||||||}}||}}}}||}}}}||||}}}}}}}}}}}}}}||}}}}||}}||}}||}}}}}}}}}}}}}}}}}}}}}}||}}}}}}||}}||}}}}}}}}}}||||||||}}}}}}}}||}}}}}}}}||}}}}}}||}}}}}}}}}}||||}}}}}}||||||}}}}||}}}}}}||}}}}}}||}}||}}||||||}}}}}}||||}}}}}}}}||}}||}}||}}}}}}||}}||}}}}}}}}}}}}}}}}}}}}}}}}||}}}}}}}}}}}}||}}}}||||}}}}}}}}}}}}||}}||||}}}}||||}}}}||}}}}}}}}}}}}}}}}}}||||}}}}}}}}}}}}||}}}}}}}}}}||}}}}}}}}}}}}||}}}}}}}}}}}}||}}}}}}}}}}||||}}||}}}}}}||||}}}}}}}}||}}}}}}}}}}}}||}}}}}}}}}}}}}}}}||}}}}}}}}}}}}||}}}}}}}}}}||}}}}}}}}}}}}}}}}||||}}}}||}}}}||}}}}||||}}}}||}}}}}}}}||}}||||}}}}||||}}}}}}||}}}}}}}}}}}}}}}}}}||||}}||}}||||}}}}||}}||||}}||||}}}}}}}}}}||}}||}}||}}}}}}}}}}}}}}}}}}||}}||}}||}}||}}||}}}}||}}||}}||}}}}}}}}||}}||||}}||||||}}}}||}}}}}}||}}}}}}||||||||}}}}||}}||||}}}}}}}}}}}}||}}}}}}}}}}}}}}||}}}}}}}}}}}}}}}}||}}}}}}||}}}}||}}}}}}||}}}}||}}}}}}||||}}||}}||}}}}||||||||}}}}}}}}||||||}}||||||||}}}}}}}}}}}}}}}}}}}}||||||}}||}}||||}}}}}}}}}}||||}}}}}}}}||}}||||||||}}}}}}}}}}}}}}||}}}}}}||||}}||||||}}}}}}||}}}}}}||}}||}}||||}}}}}}||||||||}}}}}}||||}}}}||}}}}}}}}}}}}||}}||||}}}}||}}||||}}}}}}}}}}||||}}||}}||}}||||||}}}}}}}}||}}||||||}}||||}}||}}}}}}}}}}||||||}}||||||}}}}}}||||}}||}}}}||}}||}}||||}}}}}}}}}}||||}}||||}}}}}}}}||}}}}}}||||}}}}}}}}}}}}}}}}}}||||||}}}}}}}}}}}}}}}}}}}}||}}||}}}}||}}}}||}}||||}}||||}}}}||}}}}}}}}||||}}}}}}||||}}}}}}}}||||||}}}}||||||||}}}}}}||||}}}}||}}||||||}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}||}}}}}}||}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}||}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}||}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}||}}}}}}}}}}}}}}}}}}||}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}||}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}||}}}}||}}||}}}}||}}}}||}}}}}}||}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}||}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}||}}||}}}}}}}}}}}}||}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}||}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}||}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}||}}}}||}}}}}}}}}}}}}}}}}}||}}}}}}}}}}}}}}}}||}}}}}}}}}}||}}}}}}}}}}}}}}}}||}}||}}||}}}}||}}}}||||}}}}}}||||}}||}}}}||}}}}}}}}}}}}}}}}}}||}}}}}}}}}}}}}}}}}}}}}}}}}}}}||}}||}}}}}}}}}}||||}}}}}}||}}}}}}}}}}}}}}}}}}||||}}}}}}||}}}}}}}}}}}}}}||}}}}}}}}}}}}}}}}}}}}||}}}}}}||}}}}}}}}}}}}}}}}||}}||}}}}}}}}}}}}}}||}}}}||}}}}}}}}}}}}}}||}}}}}}}}}}}}}}}}||}}||||}}}}}}}}}}}}}}||}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}||}}}}}}||}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}||}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}||}}}}}}}}}}}}}}}}}}||}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}||}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}||}}}}||}}||}}}}||}}}}||}}}}}}||}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}||}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}||}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}||}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}||}}}}||}}}}}}}}}}}}}}}}}}||}}}}}}}}}}}}}}}}||}}}}}}}}}}||}}}}}}}}}}}}}}}}}}}}||}}||}}}}||}}}}}|||}}}}}}}|||}}||}}}}}}}}}}}}}}}}}}}}}}}}||}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}||}}}}}}}}}}||||}}}}}}||}}}}}}}}}}}}}}}}}}}|||}}}}}}||}}}}}}}}}}}}}}||}}}}}}}}}}}}}}}}}}}}||}}}}}}||}}}}}}}}}}}}}}}}||}}||}}}}}}}}}}}}}}}}}}}}||}}}}}}}}}}}}}}||}}}}}}}}}}}}}}}}||}}||||}}}}}}}}}}}}}}||}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}~~}}}}}}~~}}}}}}}}}}}}}}}}}}}}}}}}}}~~}}~~}}}}}}}}}}}}}}}}}}}}}}~~}}}}}}}}}}}}}}~~}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}~~~~}}}}~~~~}}}}}}}}}}}}}}~~}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}~~}}}}}}}}}}}}~~}}}}}}}}~~}}}}}}}}}}}}}}}}~~}}}}}}}}}}}}}}}}~~}}}}}}}}}}}}}}}}}}}}}}~~}}}}}}}}}}}}}}}}~~}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}~~~~}}}}}}}}}}}}}}}}}}}}}}}}~~}}}}}}~~~~}}}}}}}}}}}}~~}}}}}}~~}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}~~}}}}~~}}~~}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}~~}}}}}}}}}}}}}~~~}}}}}}}}}}}}~~}}}}}}}}}}}}}}}}~~}}}}}}}}~~}}}}}}}}}}}}}}}}}}~~}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}~~}}}}}}}}}}}}}}}}}}}}}}}}}}~~}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}~~}}}}}}}}}}}}}}}}}}~~~~}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}~~}}}}}}}}}}}}}}~~}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}~~}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}~~}}}}}}}}~~}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}~~}}}}}}}}}}}}}}}}}}}}}}~~}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}~~}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}~~}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}~~}}}}}}}}}}~~~~}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}~~}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}~~~}}}}}}}}}}}}}}~~}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}~~}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}~~}}}}}}}}}}}}}}}}}}~~}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}~~}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}~~}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}~~}}}}}}}}}}~~}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}~~}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}~~}}}}}}~~}}}}}}}}}}}}}}}}}}}}}}}}}}~~}}~~}}}}}}}}}}}}}}}}}}}}}}~~}}}}}}}}}}}}}}~~}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}~~~~}}}}~~~~}}}}}}}}}}}}}}~~}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}~~}}}}}}}}}}}}~~}}}}}}}}~~}}}}}}}}}}}}}}}}~~}}}}}}}}}}}}}}}}~~}}}}}}}}}}}}}}}}}}}}}}~~}}}}}}}}}}}}}}}}~~}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}~~~~}}}}}}}}}}}}}}}}}}}}}}}}~~}}}}}}~~~~}}}}}}}}}}}}~~}}}}}}~~}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}~~}}}}~~}}~~}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}~~}}}}}}}}}}}}~~~~}}}}}}}}}}}}~~}}}}}}}}}}}}}}}}~~}}}}}}}}~~}}}}}}}}}}}}}}}}}}~~}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}~~}}}}}}}}}}}}}}}}}}}}}}}}}}~~}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}~~}}}}}}}}}}}}}}}}}}~~~~}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}~~}}}}}}}}}}}}}}~~}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}~~}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}~~}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}~~}}}}}}}}~~}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}~~}}}}}}}}}}}}}}}}}}}}}}~~}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}~~}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}~~}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}~~}}}}}}}}}}~~~~}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}~~}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}~~~~}}}}}}}}}}}}}}~~}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}~~}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}~~}}}}}}~~}}}}}}}}}}}}}}}}}}~~}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}~~}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}~~}}}}}}}}}}}}}}~~}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}~~}}}}}}}}}}~~}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}~~}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}~~}}~~~~}}}}}}}}}}}}}}}}~~}}}}~~}}~~}}~~}}~~~~}}~~~~~~}}}}}}}}}}~~~~}}}}~~~~~~}}}}}}}}}}~~~~~~~~}}}}}}}}~~~~}}~~~~}}~~~~~~~~~~~~}}}}~~}}~~~~}}}}~~~~}}}}~~}}}}~~}}}}}}~~}}}}~~~~}}}}}}}}}}}}~~}}}}~~}}}}}}~~}}}}}}}}}}}}~~}}~~}}~~}}}}~~}}}}~~}}}}}}}}~~~~}}~~}}}}~~}}~~~~}}~~}}~~~~~~}}}}}}}}}}~~}}}}}}}}~~}}~~~~~~~~}}}}~~}}~~}}}}}}~~~~~~}}}}}}~~}}}}~~~~~~~~~~}}}}}}~~}}~~~~}}~~~~}}~~}}}}~~}}}}~~~~~~~~}}}}}}~~~~~~~~~~}}}}~~}}}}}}~~~~~~}}}}}}}}~~}}~~}}~~}}~~}}}}~~}}~~}}}}}}}}}}~~}}~~}}}}~~~~}}~~~~}}}}}}}}}}}}}}~~}}~~}}}}}}}}~~~~~~~~~~}}~~~~~~}}}}}}~~~~}}}}}}}}}}}}~~}}}}~~~~~~~~}}}}}}}}}}}}}}~~~~}}}}}}~~}}}}}}}}}}~~}}}}}}~~~~~~~~}}}}}}}}}}~~}}}}}}}}~~~~}}}}~~~~}}}}~~~~}}}}}}}}~~}}}}~~}}~~~~}}}}}}}}~~}}}}}}~~}}}}~~}}}}~~~~}}}}}}~~~~}}}}~~}}}}}}}}}}}}}}~~}}}}}}~~}}~~~~}}}}}}}}}}}}}}}}~~}}~~}}}}}}}}}}~~~~}}~~~~~~~~~~}}~~~~}}}}}}}}~~~~~~}}}}}}}}}}}}~~}}~~}}}}}}~~}}~~~~}}~~}}~~~~}}}}~~~~~~}}}}}}}}}}}}~~~~}}}}~~~~}}}}~~~~~~}}}}~~}}~~}}}}~~}}~~}}}}~~~~~~}}~~~~~~}}}}}}}}~~}}~~}}}}~~}}}}~~}}~~}}}}~~}}}}}}}}}}}}}}~~}}}}}}}}}}~~~~}}~~~~~~}}}}}}}}}}}}}}}}}}~~}}~~}}~~}}~~}}}}}}}}}}~~}}~~}}}}}}~~~~}}~~~~~~~~}}~~}}}}}}}}}}}}~~}}~~~~}}}}~~~~~~~~}}~~}}~~~~}}}}}}}}~~~~}}}}~~}}~~}}}}~~~~}}~~}}}}}}}}~~~~}}}}}}}}~~~~~~~~~~}}~~}}}}}}~~~~}}}}}}}}}}~~~~~~~~}}}}}}}}}}}}~~}}~~~~}}}}}}}}}}}}~~}}}}}}}}}}}}}}~~}}~~~~~~}}~~}}~~}}}}}}}}}}}}}}}}}}~~~~}}}}~~}}}}}}}}}}~~}}}}~~~~}}}}~~}}}}}}}}}}}}}}}}~~}}~~~~}}}}~~}}}}~~}}}}}}}}}}}}}}~~}}}}}}~~~~}}}}~~}}}}}}}}}}}}~~}}}}}}}}}}}}}}}}~~~~}}}}}}}}}}}}}}~~}}}}}}~~~~~~}}}}}}}}}}}}}}}}}}}}}}~~}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}~~~~}}}}}}}}}}~~}}}}~~~~}}}}}}}}}}}}}}}}}}~~}}}}~~}}}}}}}}}}~~}}}}~~}}}}}}}}~~~~}}~~}}~~~~}}}}~~~~}}}}}}~~}}~~}}}}}}}}~~}}~~~~}}}}}}}}}}}}~~}}}}}}~~}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}~~~~}}}}}}}}~~}}}}}}~~}}~~~~}}}}}}}}}}}}}}}}}}}}~~}}~~}}}}~~~~}}~~}}~~}}}}}}}}}}}}}}}}}}~~}}}}}}}}}}~~}}}}}}}}~~}}}}}}~~~~}}}}}}~~}}}}}}~~}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}~~}}}}}}}}}}~~}}}}}}}}}}}}~~~~}}}}}}~~}}}}}}}}}}}}}}}}}}~~}}}}}}}}}}}}}}~~}}~~}}}}~~}}}}}}}}}}}}}}}}}}}}}}}}~~}}}}}}}}}}}}}}~~~~}}}}}}}}}}~~~~}}~~}}}}}}~~}}}}}}}}~~}}}}~~~~}}}}}}~~}}~~~~}}}}}}}}}}}}}}}}}}}}~~}}}}}}}}}}}}}}}}}}}}}}}}}}}}~~~~}}}}}}}}}}}}}}}}}}}}}}}}~~}}}}}}~~}}}}~~}}}}}}}}}}}}}}}}}}}}~~}}}}}}}}}}}}}}}}}}~~}}}}}}}}}}}}}}}}}}}}}}}}~~}}}}}}}}}}}}}}}}}}~~}}}}}}~~}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}~~}}~~}}}}}}~~}}}}}}}}}}}}}}}}}}}}}}~~~~}}}}~~}}~~}}}}~~}}}}}}}}}}}}}}}}}}}}}}}}}}}}~~}}}}}}}}}}}}}}}}}}}}}}~~}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}~~}}~~}}}}}}}}}}}}}}~~}}}}~~}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}~~}}}}~~}}}}~~}}}}}}}}}}}}}}~~}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}~~}}}}~~}}~~}}}}}}~~}}}}}}~~}}}}}}}}}}}}}}}}}}~~}}~~}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}~~}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}~~}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}~~}}}}}}}}}}}}}}}}}}}}}}}}}}~~}}}}~~}}}}}}}}}}~~}}}}}}}}}}}}}}}}}}}}}}~~}}}}}}}}}}~~~~}}}}~~}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}~~}}}}}}}}}}}}}}~~}}}}}}}}}}}}}}}}~~}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}~~~~~~}}}}}}~~}}~~}}}}}}}}~~}}}}}}}}~~}}}}}}}}}}}}~~}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}~~}}}}}}}}}}}}}}}}}}}}}}~~}}}}}}}}}}}}~~}}}}}}}}}}}}}}~~}}}}~~}}}}~~}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}~~}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}~~}}}}}}}}~~}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}~~}}}}}}}}}}}}}}}}}}}}}}~~}}~~}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}~~}}~~}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}~~}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}~}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}~~}}}}}}}}}}~~}}}}}}}}~~}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}~~}}~~~~}}}}}}}}}}}}}}}}~~}}}}~~}}~~}}~~}}~~~~}}~~~~~~}}}}}}}}}}~~~~}}}}~~~~~~}}}}}}}}}}~~~~~~~~}}}}}}}}~~~~}}~~~~}}~~~~~~~~~~~~}}}}~~}}~~~~}}}}~~~~}}}}~~}}}}~~}}}}}}~~}}}}~~~~}}}}}}}}}}}}~~}}}}~~}}}}}}~~}}}}}}}}}}}}~~}}~~}}~~}}}}~~}}}}~~}}}}}}}}~~~~}}~~}}}}~~}}~~~~}}~~}}~~~~~~}}}}}}}}}}~~}}}}}}}}~~}}~~~~~~~~}}}}~~}}~~}}}}~~~~~~~~}}}}}}~~}}}}~~~~~~~~~~}}}}}}~~}}~~~~~~~~~~}}~~}}}}~~}}}}~~~~~~~~}}}}}}~~~~~~~~~~}}}}~~}}}}}}~~~~~~}}}}}}}}~~}}~~}}~~}}~~}}}}~~}}~~}}}}}}}}}}~~}}~~}}}}~~~~}}~~~~}}}}}}}}}}}}}}~~}}~~}}}}}}}}~~~~~~~~~~}}~~~~~~}}}}}}~~~~}}}}}}}}}}}}~~}}}}~~~~~~~~}}}}}}}}}}}}}}~~~~}}}}}}~~}}}}}}}}}}~~}}}}}}~~~~~~~~}}}}}}}}}}~~}}}}}}}}~~~~~}}}~~~~}}}}~~~~}}}}}}~~~~}}}}~~}}~~~~}}}}}}}}~~}}}}}}~~}}}}~~}}}}~~~~}}~~}}~~~~}}}}~~}}}}}}}}}}}}}}~~}}}}}}~~}}~~~~}}}}}}}}}}}}}}}}~~}}~~}}}}}}}}}}~~~~}}~~~~~~~~~~}}~~~~}}}}}}}}~~~~~~}}}}}}}}}}}}~~}}~~}}}}}}~~}}~~~~}}~~}}~~~~}}}}~~~~~~}}}}}}}}}}}}~~~~}}}}~~~~}}}}~~~~~~}}}}~~}}~~}}}}~~}}~~}}}}~~~~~~}}~~~~~~}}}}}}}}~~}}~~}}}}~~}}}}~~~~~~}}}}~~}}}}}}}}}}}}}}~~}}}}}}}}}}~~~~}}~~~~~~}}}}}}}}}}}}}}}}}}~~}}~~}}~~}}~~}}}}}}}}}}~~}}~~}}}}}}~~~~}}~~~~~~~~}}~~}}}}}}}}}}}}~~}}~~~~}}}}~~~~~~~~}}~~}}~~~~}}}}}}}}~~~~}}}}~~}}~~}}}}~~~~}}~~}}}}}}}}~~~~}}}}}}}}~~~~~~~~~~}}~~}}}}}}~~~~}}}}}}}}}}~~~~~~~~}}}}}}}}}}}}~~}}~~~~}}}}}}}}}}}}~~}}}}}}}}}}}}}}~~}}~~~~~~}}~~}}~~}}}}}}}}}}}}}}}}}}~~~~}}}}~~}}}}}}}}}}~~}}}}~~~~}}}}~~}}}}}}}}}}}}}}}}~~}}~~~~}}}}~~}}}}~~}}}}}}}}}}}}}}~~}}}}}}~~~~}}}}~~}}}}}}}}}}}}~~}}}}}}}}}}}}}}}}~~~~}}}}}}}}}}}}}}~~}}}}}}~~~~~~}}}}}}}}}}}}}}}}}}}}}}~~}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}~~~~}}}}}}}}}}~~}}}}~~~~}}}}}}}}}}}}}}}}}}~~}}}}~~}}}}}}}}}}~~}}}}~~}}}}}}}}~~~~}}~~}}~~~~}}}}~~~~}}}}}}~~}}~~}}}}}}}}~~}}~~~~}}}}}}}}}}}}~~}}}}}}~~}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}~~~~}}}}}}}}~~}}}}}}~~}}~~~~}}}}}}}}}}}}}}}}}}}}~~}}~~}}}}~~~~}}~~}}~~}}}}}}}}}}}}}}}}}}~~}}}}}}}}}}~~}}}}}}}}~~}}}}}}~~~~}}}}}}~~}}}}}}~~}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}~~}}}}}}}}}}~~}}}}}}}}}}}}~~~~}}}}}}~~}}}}}}}}}}}}}}}}}}~~}}}}}}}}}}}}}}~~}}~~}}}}~~}}}}}}}}}}}}}}}}}}}}}}}}~~}}}}}}}}}}}}}}~~~~}}}}}}}}}}~~~~}}~~}}}}}}~~}}}}}}}}~~}}}}~~~~}}}}}}~~}}~~~~}}}}}}}}}}}}}}}}}}}}~~}}}}}}}}}}}}}}}}}}}}}}}}}}}}~~~~}}}}}}}}}}}}}}}}}}}}}}}}~~}}}}}}~~}}}}~~}}}}}}}}}}}}}}}}}}}}~~}}}}}}}}}}}}}}}}}}~~}}}}}}}}}}}}}}}}}}}}}}}}~~}}}}}}}}}}}}}}}}}}~~}}}}}}~~}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}~~}}~~}}}}}}~~}}}}}}}}}}}}}}}}}}}}}}~~~~}}}}~~}}~~}}}}~~}}}}}}}}}}}}}}}}}}}}}}}}}}}}~~}}}}}}}}}}}}}}}}}}}}}}~~}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}~~}}~~}}}}}}}}}}}}}}~~}}}}~~}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}~~}}}}~~}}}}~~}}}}}}}}}}}}}}~~}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}~~}}}}~~}}~~}}}}}}~~}}}}}}~~}}}}}}}}}}}}}}}}}}~~}}~~}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}~~}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}~~}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}~~}}}}}}}}}}}}}}}}}}}}}}}}}}~~}}}}~~}}}}}}}}}}~~}}~~}}}}}}}}}}}}}}}}}}~~}}}}}}}}}}~~~~}}}}~~}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}~~}}}}}}}}}}}}}}~~}}}}}}}}}}}}}}}}~~}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}~~~~~~}}}}}}~~}}~~}}}}}}}}~~}}}}}}}}~~}}}}}}}}}}}}~~}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}~~}}}}}}}}}}}}}}}}}}}}}}~~}}}}}}}}}}}}~~}}}}}}}}}}}}}}~~}}}}~~}}}}~~}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}~~}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}~~}}}}}}}}~~}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}~~}}}}}}}}}}}}}}}}}}}}}}~~}}~~}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}~~}}~~}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}~~}}}}}}}}}}}}}}}}}}}}}}}}~~}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}~~}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}~~}}}}}}}}}}~~}}}}}}}}~~}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}~~}}~~~~~~~~}}~~~~~~~~~~~~~~~~~~~~~~~~~~}}~~~~~~~~~~~~~~~~~~}}}}~~~~~~~~~~}}~~~~~~~~~~}}~~~~~~~~~~~~~~}}~~~~~~}}~~~~}}~~~~~~~~~~~~~~}}~~~~~~~~~~~~~~}}~~~~~~~~}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}~~~~~~~~}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}~~~~}}~~~~~~~~}}~~~~}}}}}}~~~~}}~~}}~~~~~~~~~~~~~~}}~~}}~~~~~~~~~~~~~~~~~~~~~~~~}}~~}}~~}}}}}}~~}}~~~~~~}}}}~~}}~~~~~~~~~~}}}}~~~~~~~~~~}}~~~~~~~~}}~~~~~~~~~~~~~~~~}}~~~~~~}}~~~~}}~~}}~~~~~~~~}}~~~~~~~~}}~~}}}}~~~~~~}}}}~~~~~~}}~~}}~~}}~~~~}}~~}}~~~~~~~~}}~~~~~~~~~~~~~~~~}}~~~~~~~~~~~~~~~~~~~~}}}}~~~~~~~~~~}}~~}}~~~~~~}}~~~~~~}}~~~~~~~~~~~~~~~~~~~~~~}}~~~~~~~~~~~~~~~~~~}}~~~~~~~~~~~~~~~~}}}}~~}}~~~~~~}}~~}}~~~~~~}}~~~~}}}}~~~~~~~~~~}}~~~~~~}}~~~~~~}}~~}}~~~~~~~~~~~~~~~~}}~~}}~~~~~~~~~~~~}}~~~~~~}}}}}}~~~~~~~~}}~~~~~~~~~~~~~~}}~~~~}}}}~~~~~~}}~~}}~~}}~~~~~~~~}}~~~~~~}}~~}}~~~~~~~~~~~~~~~~~~}}}}~~~~}}~~~~}}~~}}~~}}~~}}~~~~}}~~}}}}~~}}}}~~~~}}~~}}}}}}}}~~~~~~~~~~}}~~}}}}}}~~}}~~~~~~~~~~~~~~~~}}~~~~}}}}~~}}~~~~~~~~~~~~}}}}~~}}~~~~~~~~~~}}~~}}}}~~}}~~}}}}~~}}~~~~}}~~~~~~~~~~~~}}}}}}}}}}}}~~~~~~~~~~}}~~}}~~~~~~~~~~}}}}~~}}}}~~}}~~~~~~}}}}~~~~~~~~~~~~}}~~~~}}}}~~}}~~~~}}~~~~}}}}~~}}~~~~}}~~}}}}~~~~}}}}}}~~}}~~~~~~}}~~~~~~}}~~}}~~~~~~~~~~~~~~}}~~}}~~~~~~~~~~~~~~}}~~~~}}~~~~~~~~}}~~}}~~~~}}}}}}~~}}~~}}~~}}}}~~}}~~~~~~~~~~~~}}~~~~}}~~~~~~}}~~}}}}~~~~~~~~~~}}}}~~}}~~}}}}~~~~~~~~~~~~}}~~}}}}~~}}~~}}~~~~}}}}~~~~~~}}~~~~~~~~}}~~~~~~}}~~~~~~~~~~~~~~}}}}}}~~}}~~}}~~}}~~}}~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}~~~~}}~~~~}}~~}}~~~~}}~~}}~~}}~~}}}}}}}}~~~~~~}}~~}}~~}}}}~~~~~~}}}}~~~~~~~~}}~~~~~~}}}}~~}}~~~~}}}}~~~~}}~~~~}}}}~~~~}}}}}}}}}}}}}}~~~~~~~~}}}}}}~~}}~~~~~~~~}}}}}}}}~~~~}}~~~~~~~~~~}}~~~~~~~~~~}}~~}}}}~~~~}}}}~~~~~~}}}}~~}}}}~~}}~~}}~~~~~~}}}}}}~~~~}}}}~~~~~~}}~~}}~~}}~~~~}}~~}}~~~~}}~~~~~~~~}}}}~~}}~~}}~~~~~~~~~~}}~~~~}}~~~~~~~~}}}}~~~~~~}}}}}}}}}}}}~~~~~~~~~~~~~~}}}}~~~~}}~~}}~~}}~~~~~~~~~~}}}}}}~~}}~~~~}}}}}}~~~~~~}}~~~~~~~~~~}}~~}}~~~~}}~~~~}}}}}}~~~~}}}}~~}}}}~~~~~~~~~~~~}}}}}}~~~~~~}}~~~~~~}}}}~~}}~~}}}}}}}}~~}}~~}}~~}}~~~~}}}}~~~~~~}}}}}}~~}}~~}}}}}}}}~~~~}}~~~~~~~~~~}}}}}}~~}}~~}}}}~~}}}}~~}}}}}}~~}}~~~~}}~~}}~~}}}}~~}}}}~~~~~~}}~~~~~~}}~~}}}}~~}}}}~~}}}}~~}}~~~~}}}}}}~~~~~~}}}}}}}}}}}}~~}}}}~~~~}}}}}}~~~~}}}}}}~~}}~~}}}}}}}}}}~~}}~~}}~~~~}}~~~~~~~~}}}}~~}}}}}}~~~~}}~~}}}}~~}}}}~~}}}}}}~~}}}}~~}}}}~~}}}}}}~~~~}}}}~~~~~~~~~~~~~~~~}}}}~~~~~~~~~~~~}}~~}}~~~~~~}}~~~~~~~~}}~~}}}}}}~~~~~~}}}}}}~~~~}}~~}}}}~~}}~~~~}}}}}}}}}}~~}}}}}}~~}}}}}}}}}}~~~~}}}}~~}}~~~~}}}}}}~~~~~~~~}}}}~~~~}}}}}}}}~~~~}}}}}}}}}}}}}}}}}}~~}}}}~~~~~~}}}}}}}}~~}}~~}}}}~~~~~~}}}}}}}}}}}}~~~~}}}}}}}}~~}}}}~~}}~~}}}}}}~~}}}}~~}}}}~~~~}}}}}}}}}}~~}}~~}}}}}}}}}}}}~~~~}}}}~~}}}}}}}}~~}}~~~~}}}}~~}}}}~~}}}}}}}}}}}}~~~~}}}}~~}}}}}}}}}}}}}}}}}}}}~~}}}}}}}}}}~~~~}}~~~~}}}}~~}}~~~~}}~~}}~~}}}}~~~~~~~~}}~~}}~~~~}}}}}}}}~~}}~~~~}}}}}}~~}}~~~~}}}}~~}}}}}}}}~~}}}}}}}}~~~~~~}}}}~~~~~~}}}}~~}}}}~~}}}}}}~~~~~~}}}}}}~~}}}}}}}}}}}}~~~~~~}}}}~~~~}}~~~~~~}}~~}}}}}}~~}}}}}}}}}}}}}}~~}}}}}}}}~~~~}}}}~~~~}}~~}}~~}}}}}}}}}}~~~~~~}}}}}}~~}}}}}}~~~~~~}}}}}}}}}}~~~~~~~~~~}}}}}}}}}}}}}}}}}}}}}}}}}}~~}}~~~~}}}}}}~~~~}}}}~~}}}}}}~~}}~~~~}}}}}}}}}}}}}}}}}}}}~~}}}}~~}}}}~~~~~~}}}}~~}}}}}}~~}}}}}}~~}}~~~~~~}}}}}}}}~~}}}}}}~~}}}}}}}}~~~~}}}}~~~~}}~~}}~~~~}}}}~~}}}}}}}}~~}}}}}}}}}}~~~~}}}}}}~~}}}}}}}}}}}}}}}}~~~~}}~~~~}}}}}}~~}}~~}}}}}}}}}}}}}}~~}}}}~~}}}}}}}}~~}}~~}}~~~~~~}}}}}}~~}}}}~~}}~~}}}}~~~~~~~~}}}}~~~~~~}}~~}}}}}}}}}}}}}}}}}}}}~~}}}}}}}}}}}}~~}}}}}}}}~~}}}}}}}}~~~~~~}}~~~~}}}}}}}}~~}}}}}}}}}}}}}}}}}}}}}}~~~~}}}}}}}}~~}}~~}}}}}}}}}}}}~~}}}}}}~~}}}}}}}}}}}}}}~~}}~~~~}}}}~~}}~~}}}}}}}}}}~~}}~~}}}}}}}}~~~~}}}}~~~~~~~~}}}}}}}}~~~~~~}}}}}}~~}}~~~~}}}}}}}}}}}}}}}}}}}}~~}}}}}}}}~~~~}}~~~~}}}}}}~~~~}}~~}}~~}}}}}}}}}}}}~~}}}}}}}}}}}}}}}}}}}}}}~~}}~~}}}}}}}}}}}}}}}}}}}}}}}}}}}}~~}}}}~~}}}}}}}}}}~~~~}}}}}}~~}}}}}}}}}}}}~~}}~~}}}}~~}}}}~~}}}}}}~~}}}}}}}}}}}}}}}}}}~~}}}}}}~~~~}}~~}}~~~~~~~~}}~~~~~~~~~~~~~~~~~~~~~~~~~~}}~~~~~~~~~~~~~~~~~~}}}}~~~~~~~~~~}}~~~~~~~~~~}}~~~~~~~~~~~~~~}}~~~~~~}}~~~~}}~~~~~~~~~~~~~~}}~~~~~~~~~~~~~~}}~~~~~~~~}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}~~~~~~~~}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}~~~~}}~~~~~~~~}}~~~~}}}}}}~~~~}}~~}}~~~~~~~~~~~~~~}}~~}}~~~~~~~~~~~~~~~~~~~~~~~~}}~~~~~~}}}}}}~~}}~~~~~~}}}}~~}}~~~~~~~~~~}}}}~~~~~~~~~~}}~~~~~~~~}}~~~~~~~~~~~~~~~~}}~~~~~~}}~~~~}}~~}}~~~~~~~~}}~~~~~~~~}}~~}}}}~~~~~~}}}}~~~~~~}}~~}}~~}}~~~~}}~~}}~~~~~~~~}}~~~~~~~~~~~~~~~~}}~~~~~~~~~~~~~~~~~~~~}}}}~~~~~~~~~~}}~~}}~~~~~~}}~~~~~~}}~~~~~~~~~~~~~~~~~~~~~~}}~~~~~~~~~~~~~~~~~~}}~~~~~~~~~~~~~~~~}}}}~~}}~~~~~~}}~~}}~~~~~~}}~~~~}}}}~~~~~~~~~~}}~~~~~~}}~~~~~~}}~~}}~~~~~~~~~~~~~~~~}}~~}}~~~~~~~~~~~~}}~~~~~~}}}}}}~~~~~~~~}}~~~~~~~~~~~~~~~~~~~~}}}}~~~~~~}}~~}}~~}}~~~~~~~~}}~~~~~~}}~~}}~~~~~~~~~~~~~~~~~~}}}}~~~~}}~~~~}}~~}}~~}}~~}}~~~~}}~~}}}}~~}}}}~~~~}}~~}}}}}}~~~~~~~~~~~~}}~~}}}}}}~~}}~~~~~~~~~~~~~~~~}}~~~~}}}}~~}}~~~~~~~~~~~~}}}}~~}}~~~~~~~~~~}}~~}}}}~~}}~~}}}}~~}}~~~~}}~~~~~~~~~~~~}}}}}}}}}}}}~~~~~~~~~~}}~~}}~~~~~~~~~~}}}}~~}}}}~~}}~~~~~~}}}}~~~~~~~~~~~~}}~~~~}}}}~~}}~~~~}}~~~~}}}}~~}}~~~~}}~~}}}}~~~~}}}}}}~~}}~~~~~~}}~~~~~~}}~~}}~~~~~~~~~~~~~~}}~~}}~~~~~~~~~~~~~~}}~~~~}}~~~~~~~~}}~~}}~~~~}}}}}}~~}}~~}}~~}}}}~~}}~~~~~~~~~~~~}}~~~~}}~~~~~~}}~~}}}}~~~~~~~~~~}}}}~~}}~~}}}}~~~~~~~~~~~~}}~~}}}}~~}}~~}}~~~~}}}}~~~~~~}}~~~~~~~~}}~~~~~~}}~~~~~~~~~~~~~~}}}}}}~~}}~~}}~~}}~~}}~~~~~~~~~~~~~~~~~~~~~~~~}}}}}}~~~~}}~~~~}}~~}}~~~~}}~~}}~~}}~~}}}}}}}}~~~~~~}}~~}}~~}}}}~~~~~~}}}}~~~~~~~~}}~~~~~~}}}}~~}}~~~~}}}}~~~~}}~~~~}}}}~~~~}}}}}}}}}}}}}}~~~~~~~~}}}}}}~~}}~~~~~~~~}}}}}}}}~~~~}}~~~~~~~~~~}}~~~~~~~~~~}}~~}}}}~~~~}}}}~~~~~~}}}}~~}}}}~~}}~~}}~~~~~~}}}}}}~~~~}}}}~~~~~~}}~~}}~~}}~~~~}}~~}}~~~~}}~~~~~~~~}}}}~~}}~~}}~~~~~~~~~~}}~~~~}}~~~~~~~~}}}}~~~~~~}}}}}}}}}}}}~~~~~~~~~~~~~~}}}}~~~~}}~~}}~~}}~~~~~~~~~~}}}}}}~~}}~~~~}}}}}}~~~~~~}}~~~~~~~~~~}}~~}}~~~~}}~~~~}}}}}}~~~~}}}}~~}}}}~~~~~~~~~~~~}}}}}}~~~~~~}}~~~~~~}}}}~~}}~~}}}}}}}}~~}}~~}}~~}}~~~~}}}}~~~~~~}}}}}}~~}}~~}}}}}}}}~~~~}}~~~~~~~~~~}}}}}}~~}}~~}}}}~~}}}}~~}}}}}}~~}}~~~~}}~~}}~~}}}}~~}}}}~~~~~~}}~~~~~~}}~~}}}}~~}}}}~~}}}}~~}}~~~~}}}}}}~~~~~~}}}}}}}}}}}}~~}}}}~~~~}}}}}}~~~~}}~~}}~~}}~~}}}}}}}}}}~~}}~~}}~~~~}}~~~~~~~~}}}}~~}}}}}}~~~~}}~~}}}}~~}}}}~~}}}}}}~~}}}}~~}}}}~~}}}}}}~~~~}}}}~~~~~~~~~~~~~~~~}}}}~~~~~~~~~~~~}}~~}}~~~~~~}}~~~~~~~~}}~~}}}}}}~~~~~~}}}}}}~~~~}}~~}}}}~~}}~~~~}}}}}}}}}}~~}}}}}}~~}}}}}}}}}}~~~~}}}}~~}}~~~~}}}}}}~~~~~~~~}}}}~~~~}}}}}}}}~~~~}}}}}}}}}}}}}}}}}}~~}}}}~~~~~~}}}}}}}}~~}}~~}}}}~~~~~~}}}}}}}}}}}}~~~~}}}}}}}}~~}}}}~~}}~~}}}}}}~~}}}}~~}}}}~~~~}}}}}}}}}}~~}}~~}}}}}}}}}}}}~~~~}}}}~~}}}}}}}}~~}}~~~~}}}}~~}}}}~~}}}}}}}}}}}}~~~~}}}}~~}}}}}}}}}}}}}}}}}}}}~~}}}}}}}}}}~~~~}}~~~~}}}}~~}}~~~~}}~~}}~~}}}}~~~~~~~~}}~~}}~~~~}}}}}}}}~~}}~~~~}}}}}}~~}}~~~~}}}}~~}}}}}}}}~~}}}}}}}}~~~~~~}}}}~~~~~~}}}}~~}}}}~~}}}}}}~~~~~~}}}}}}~~}}}}}}}}}}}}~~~~~~}}}}~~~~}}~~~~~~}}~~}}}}}}~~}}}}}}}}}}}}}}~~}}}}}}}}~~~~}}}}~~~~}}~~}}~~}}}}}}}}}}~~~~~~}}}}}}~~}}}}}}~~~~~~}}}}}}}}}}~~~~~~~~~~}}}}}}}}}}}}}}}}}}}}}}}}}}~~}}~~~~}}}}}}~~~~}}}}~~}}}}}}~~}}~~~~}}}}}}}}}}}}}}}}}}}}~~}}}}~~}}}}~~~~~~}}}}~~}}}}}}~~}}}}}}~~}}~~~~~~}}}}}}}}~~}}}}}}~~}}}}}}}}~~~~}}}}~~~~}}~~}}~~~~}}}}~~}}}}}}}}~~}}}}}}}}}}~~~~}}}}}}~~}}}}}}}}}}}}}}}}~~~~}}~~~~}}}}}}~~}}~~}}}}}}}}}}}}}}~~}}}~~~}}}}}}}}~~}}~~}}~~~~~~}}}}}}~~}}}}~~}}~~}}}}~~~~~~~~}}}}~~~~~~}}~~}}}}}}}}}}}}}}}}}}}}~~}}}}}}}}}}}}~~}}}}}}}}~~}}}}}}}}~~~~~~}}~~~~}}}}}}}}~~}}}}}}}}}}}}}}}}}}}}}}~~~~}}}}}}}}~~}}~~}}}}}}}}}}}}~~}}}}}}~~}}}}}}}}}}}}}}~~}}~~~~}}}}~~}}~~}}}}}}}}}}~~}}~~}}}}}}}}~~~~}}}}~~~~~~~~}}}}}}}}~~~~~~}}}}}}~~}}~~~~}}}}}}}}}}}}}}}}}}}}~~}}}}}}}}~~~~}}~~~~}}}}}}~~~~}}~~}}~~}}}}}}}}}}}}~~}}}}}}}}}}}}}}}}}}}}}}~~}}~~}}}}}}}}}}}}}}}}}}}}}}}}}}}}~~}}}}~~}}}}}}}}}}~~~~}}}}}}~~}}}}}}}}}}}}~~}}~~}}}}~~}}}}~~}}}}}}~~}}}}}}}}}}}}}}}}}}~~}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}~~~~~~~~~~~~~~~~~~~~}}~~~~~~~~~~~~~~~~}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}~~~~~~~~~~~~}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}~~}}~~~~~~}}~~~~}}~~~~~~~~~~~~~~~~}}~~~~~~~~~~~~}}~~~~~~~~~~~~~~~~~~~~}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}~~~~~~~~~~~~~~}}~~~~~~~~~~~~}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}~~}}}}~~~~~~~~~~~~}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}~~~~~~}}~~~~~~~~}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}~~~~~~~~~~~~~~~~~~~~}}~~~~~~~~}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~}}~~~~~~~~~~~~}}~~~~~~~~~~~~~~~~~~~~~~~~}}~~~~~~~~~~~~}}}}~~}}~~}}}}~~~~~~~~~~~~}}~~~~~~~~~~~~~~~~}}~~}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}~~~~~~~~~~~~~~~~~~~~}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}~~~~~~~~~~}}~~}}~~~~~~~~~~}}~~}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}~~}}~~~~~~~~~~~~~~~~~~~~}}}}~~~~~~~~~~}}~~~~~~~~~~~~~~~~~~~~}}~~}}~~~~~~}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}~~~~}}~~~~~~~~}}~~~~}}~~~~~~}}~~~~~~}}~~~~~~~~}}~~~~~~~~~~~~~~~~~~}}~~~~~~}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}~~~~~~}}~~}}}}~~}}~~~~}}~~~~~~~~}}~~~~~~}}}}~~}}~~~~~~}}~~}}~~~~}}}}~~~~}}}}~~~~}}~~~~~~~~~~~~~~}}}}}}}}~~~~~~~~}}~~~~}}}}~~~~~~}}}}~~~~~~~~~~~~~~}}~~}}~~}}~~~~}}}}~~~~}}~~}}~~~~~~~~}}~~}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}~~~~~~}}}}~~}}~~~~~~~~}}~~}}~~~~~~~~~~~~~~~~~~}}}}~~~~~~~~~~~~}}~~~~~~}}~~~~~~~~~~~~~~~~}}}}}}}}}}~~}}~~~~~~~~}}}}}}~~~~~~~~~~}}~~~~~~}}}}}}}}~~~~~~}}~~~~~~~~~~}}~~~~~~~~}}~~~~}}~~~~~~~~}}~~~~~~~~~~}}~~}}}}~~}}~~~~~~~~~~}}~~}}~~}}~~~~~~}}~~~~~~}}~~~~~~~~~~~~}}~~}}~~}}~~~~}}~~~~~~~~~~~~~~~~~~~~~~}}}}~~~~~~}}~~~~~~}}~~~~~~~~}}~~}}}}~~~~}}~~}}}}~~~~~~}}~~}}~~~~}}~~}}}}}}~~}}~~}}}}~~~~~~}}~~}}}}~~}}}}~~~~~~}}~~~~~~}}~~~~}}~~}}~~}}}}}}}}}}~~~~}}~~~~~~~~~~~~}}}}~~~~~~}}}}~~~~~~}}}}}}~~~~~~~~~~~~}}~~}}~~}}}}~~}}~~}}}}~~~~}}~~}}~~}}~~~~~~}}~~}}~~~~}}}}}}~~}}~~~~~~~~~~~~~~}}}}}}~~~~}}}}}}}}~~}}}}~~~~~~~~}}~~}}}}~~}}}}}}~~}}}}}}}}~~~~}}~~~~~~}}~~}}~~~~~~~~~~}}}}}}~~~~}}~~~~}}~~}}~~}}}}}}~~~~~~}}~~~~}}}}~~~~~~}}}}~~~~}}}}~~~~~~~~~~}}~~~~~~~~~~~~~~}}~~}}}}}}~~~~~~}}~~~~~~~~~~}}}}}}~~~~}}}}~~}}~~~~}}~~~~~~~~}}~~~~~~~~~~}}~~}}~~}}}}}}}}}}~~}}~~~~}}~~~~~~~~}}}}~~}}~~~~~~}}~~~~~~}}~~}}}}~~~~~~~~}}~~~~~~~~~~~~}}}}~~~~~~}}}}~~~~~~}}~~~~}}}}~~}}}}}}~~}}~~}}}}~~}}}}~~~~}}~~}}~~~~~~~~~~~~}}~~}}~~~~}}}}~~~~~~~~~~~~}}~~}}~~~~~~~~}}~~}}}}}}}}}}~~~~}}~~~~}}}}~~}}~~}}~~~~}}}}~~}}~~~~~~}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}~~~~~~~~~~~~~~~~~~~~}}~~~~~~~~~~~~~~~~}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}~~~~~~~~~~~~}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}~~}}~~~~~~}}~~~~}}~~~~~~~~~~~~~~~~}}~~~~~~~~~~~~}}~~~~~~~~~~~~~~~~~~~~}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}~~~~~~~~~~~~~~}}~~~~~~~~~~~~}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}~~~}}}}~~~~~~~~~~~~}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}~~~~~~}}~~~~~~~~}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}~~~~~~~~~~~~~~~~~~~~}}~~~~~~~~~}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}~~~~~~~~~~~~}}}}~~}}~~~}}}~~~~~~~~~~~~}}~~~~~~~~~~~~~~~~~~~~}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}~~~~~~~~~~}}~~}}~~~~~~~~~~}}~~}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}~~}}~~~~~~~~~~~~~~~~~~~~}}}}~~~~~~~~~~}}~~~~~~~~~~~~~~~~~~~~}}~~}}~~~~~~}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}~~~~}}~~~~~~~~}}~~~~}}~~~~~~}}~~~~~~}}~~~~~~~~}}~~~~~~~~~~~~~~~~~~}}~~~~~~}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}~~~~~~}}~~}}}}~~}}~~~~}}~~~~~~~~}}~~~~~~}}}}~~}}~~~~~~}}~~}}~~~~}}}}~~~~~~}}~~~~}}~~~~~~~~~~~~~~}}}}}}}}~~~~~~~~}}~~~~}}}}~~~~~~}}}}~~~~~~~~~~~~~~}}~~}}~~}}~~~~}}}}~~~~}}~~}}~~~~~~~~}}~~}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}}~~~~~~~~}}~~}}~~~~~~~~}}~~}}~~~~~~~~~~~~~~~~~~}}}}~~~~~~~~~~~~}}~~~~~~}}~~~~~~~~~~~~~~~~}}}}}}}}}}~~}}~~~~~~~~}}}}}}~~~~~~~~~~}}~~~~~~}}}}}}}}~~~~~~}}~~~~~~~~~~}}~~~~~~~~}}~~~~}}~~~~~~~~}}~~~~~~~~~~}}~~}}}}~~}}~~~~~~~~~~}}~~}}~~}}~~~~~~}}~~~~~~}}~~~~~~~~~~~~}}~~}}~~}}~~~~}}~~~~~~~~~~~~~~~~~~~~~~}}}}~~~~~~}}~~~~~~}}~~~~~~~~}}~~}}}}~~~~}}~~}}}}~~~~~~}}~~}}~~~~}}~~}}}}}}~~}}~~}}}}~~~~~~}}~~}}}}~~}}}}~~~~~~}}~~~~~~}}~~~~}}~~}}~~}}}}}}}}}}~~~~}}~~~~~~~~~~~~}}}}~~~~~~}}}}~~~~~~}}}}}}~~~~~~~~~~~~}}~~}}~~}}}}~~}}~~}}}}~~~~}}~~}}~~}}~~~~~~}}~~}}~~~~}}}}~~~~}}~~~~~~~~~~~~~~}}}}}}~~~~}}}}}}}}~~}}}}~~~~~~~~}}~~}}}}~~}}}}}}~~}}}}}}}}~~~~}}~~~~~~}}~~}}~~~~~~~~~~}}}}}}~~~~}}~~~~}}~~}}~~}}}}}}~~~~~~}}~~~~}}}}~~~~~~}}}}~~~~}}}}~~~~~~~~~~}}~~~~~~~~~~~~~~}}~~}}}}}}~~~~~~}}~~~~~~~~~~}}}}}}~~~~}}}}~~}}~~~~}}~~~~~~~~}}~~~~~~~~~~}}~~}}~~}}}}}}}}}}~~}}~~~~}}~~~~~~~~}}}}~~}}~~~~~~}}~~~~~~}}~~}}}}~~~~~~~~}}~~~~~~~~~~~~}}}}~~~~~~}}}}~~~~~~}}~~~~}}}}~~}}}}~~~~}}~~}}}}~~}}}}~~~~}}~~}}~~~~~~~~~~~~}}~~}}~~~~}}}}~~~~~~~~~~~~}}~~}}~~~~~~~~}}~~}}}}}}}}}}~~~~}}~~~~}}}}~~}}~~}}~~~~}}}}~~}}~~~~~~}}}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}~~~~}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}~~~~}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}~~~~~~~~~~~~}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}~~~~~~~~~~~~~~~~~~~~~~}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}~~~~~~}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}~~~~~~~~}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}~~~~~~}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}~~~~~~~~~~~~}}~~~~~~~~~~~~~~~~~~~~~~~~}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}~~~~~~~~~~}}~~~~~~}}~~~~~~}}~~~~~~~~~~~~~~~~}}}}~~~~~~~~~~~~~~}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}~~~~~~~~~~~~~~}}~~}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}~~~~}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}~~~~~~~~~~~~}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}~~~~~~}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}~~~~~~~~}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}~~~~~~~~~~~~}}~~~~~~~~~~~~~~~~~~~~~~~~}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}~~~~~~~~~~}}~~~~~~}}~~~~~~}}~~~~~~~~~~~~~~~~}}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}~~~~~~~~~~~~~~}}~~}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~h\]]]]]]]]]]]]]]\f{qe`]]]]]]]]]]]]]\f{ummnnbL@@AAAAAAAAAAAA@@J_jmmmqzwmmmneUIDAAAAAAAAAAAA@@J_jmmmtla]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]\g}ve\\XSPPQQMEBBBBBBBBBBBBBBBBELPPPPRUX[ajupc]]]]]]]]]]]]]]\\o}g\]]]]]]]]]]]]]]]]]\\mj\]]]]]]]]]]]]]\[mue]]]]]]]]]]]]]]blla]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]\\qh]]ZTPQQQNHDCBBBBBBBBBBBBBBELPPPPSWZ\evq\\]]]]]]]]]]]]]\g}i\]]]]]]]]]]]]]\\nrUG@@AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA@@OlwjeZI@@ABBBBBCDDDDDDDDDDDDDDDDDDCBBBBBBAAEMXgs~{^J@@AAAAAAAAAAAA@?XiM@@AAAAAAAAAAAAAAAA@?T}tQ?@AAAAAAAAAAAAAC\}`K@@AAAAAAAAAA@@GUrrUG@@AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA??\vqcL@@ABBBBBCCDDDDDDDDDDDDDDDDDCBBBBBBA@IZgn{\??AAAAAAAAAAAA@@OlqP?@AAAAAAAAAAAA@?XrVHABBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBA@OmveYSPNJDBBBCCCCCCDDDDDDDDDDDDDDDDDDCCCCCCCBBCFJNRV\dpgMAABBBBBBBBBBBBA@U~}aLAABBBBBBBBBBBBBBBBA@PolO@ABBBBBBBBBBBBDLh~aLAABBBBBBBBBBBAHVrrVHABBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB@?\zfZVTRMEBBBCCCCCCCDDDDDDDDDDDDDDDDDCCCCCCBBBDJNQUZfz\?@BBBBBBBBBBBBA@OmrQ@ABBBBBBBBBBBB@@XsWICCDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDCBQm|kYH@ABCCDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDCCCBADITextSBCDDDDDDDDDDDDCBTvrVHCCDDDDDDDDDDDDDDDDCCMb~cMCCDDDDDDDDDDCCIXt~bMCCDDDDDDDDDDCCIWssWICCDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDBA]}o^J@ABBCDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDCCBA@J^p]ABDDDDDDDDDDDDCBQmsRBCDDDDDDDDDDDDBAYsWICCDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDCBQml^UOJDBCCCCDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDCCCBCDHNSYh~WABDDDDDDDDDDDDCBQqbHDDDDDDDDDDDDDDDDDDDCCIWttXICCDDDDDDDDDDCCMc~bMCCDDDDDDDDDDCCIWssWICCDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDBA]}l^UQLEBBCCCDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDCCCBBELQVbu]ABDDDDDDDDDDDDCBQmsRBCDDDDDDDDDDDDBAYsWICCDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDCBQmybQFABCDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDCCA@Lbx_EDDDDDDDDDDDDDCBOjY@BDDDDDDDDDDDDDDDDDDDCFMijMFCDDDDDDDDDDDCBPmbMCCDDDDDDDDDDCCIWssWICCDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDBA]u`QFABCDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDCBAHYm]ABDDDDDDDDDDDDCBQmsSBCDDDDDDDDDDDDBAYsWICCDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDCBQmuaTLGDBCCDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDCBBEMU]oiMFCDDDDDDDDDDDCCMb~~VABDDDDDDDDDDDDDDDDDDDDDE``EDDDDDDDDDDDDDCBSubMCCDDDDDDDDDDCCIWssWICCDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDBA]~l]SLGDBCCDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDCCBDJPUe}]ABDDDDDDDDDDDDCBQmsSBCDDDDDDDDDDDDBAYtWICCDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDCBQmpYHABCDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDCCCDRltXICCDDDDDDDDDDCCIXtuSBCDDDDDDDDDDDDDDDDDDDDBAYYABDDDDDDDDDDDDBAV~cMCCDDDDDDDDDDCCIWstWICCDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDBA]ybQFABCDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDCB@Lbz]ABDDDDDDDDDDDDCBQmsSBCDDDDDDDDDDDDBAYtXICCDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDCBQm}eTIDBCDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDCCCGO]ocMCCDDDDDDDDDDDDFLimPBCDDDDDDDDDDDDDDDDDDDDBAV~VABDDDDDDDDDDDDBAYcMCCDDDDDDDDDDCCIWstWICCDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDBA]uaTLGDCCDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDCCBELXj]ABDDDDDDDDDDDDCBQmsSBCDDDDDDDDDDDDBAYtXICCDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDCBQm}`MECCDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDCBHUlmPBCDDDDDDDDDDDDDE`cMCCDDDDDDDDDDDDDDDDDDDDCBRruSBCDDDDDDDDDDDDDE`cMCCDDDDDDDDDDCCIWttWICCDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDBA]pYHABCDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDCBGPd~]ABDDDDDDDDDDDDCBQmsSBCDDDDDDDDDDDDBAZtWICCDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDCBQmoXLFDCDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDCCDHSe~uSBCDDDDDDDDDDDDCC[tXICCDDDDDDDDDDDDDDDDDDDDCCMdmPBCDDDDDDDDDDDCFMicMCCDDDDDDDDDDCCIXttXICCDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDBA]waSJDBCDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDCDGNXp]ABDDDDDDDDDDDDCBQmsSBCDDDDDDDDDDDDBAZtWICCDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDCBQmvVDCCDDDDDDDDDDDDDDDDDDDDDCCCCCCBBBBBBBBBBBBBBBBBCCCCCCDDDDDDDDDDDDDDDDDDDDDCCEMbVABDDDDDDDDDDDDBBViMFCDDDDDDDDDDDDDDDDDDDDDCCIWtcMCCDDDDDDDDDDCCJXucMCCDDDDDDDDDDCCIXttXICCDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDBA]vYHDCCDDDDDDDDDDDDDDDDDDDDDDDCCCCCCBBBBBBBBBBBBBBCCCCCCDDDDDDDDDDDDDDDDDDDDDDCCDUu]ABDDDDDDDDDDDDCBQmsSBCDDDDDDDDDDDDBAZtXICCDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDCBQmnVIDCDDDDDDDDDDDDDDDDDDDDDCCCBBBBAAAAAAAAAAAAAAAAABBBBCCDDDDDDDDDDDDDDDDDDDDDDCDEPb}YABDDDDDDDDDDDDCBRs_EDDDDDDDDDDDDDDDDDDDDDDDDDELitXICCDDDDDDDDDDCCNgcMCCDDDDDDDDDDCCIXttXICCDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDBA]gRIDDCDDDDDDDDDDDDDDDDDDDDDDDDCBBBBBAAAAAAAAAAAAAABBBBCCDDDDDDDDDDDDDDDDDDDDDDDCDHRi]ABDDDDDDDDDDDDCBQmsSBCDDDDDDDDDDDDBAZtXICCDDDDDDDDDDDDDCCBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBA@OmxVEDDDDDDDDDDDDDDDDDDDCCCBCFJOQQRVY]]]]]]]]]]]]]^^[TPQPNJDBBCCCDDDDDDDDDDDDDDDDDDCFMc`EDDDDDDDDDDDDDCBOjWABDDDDDDDDDDDDDDDDDDDDDDDDDE`jMFCDDDDDDDDDDDCBRtcMCCDDDDDDDDDDCCIXtsVHAABBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBCDDDDDDDDDDDDDDDDDDCCBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB@?\kN@BDDDDDDDDDDDDDDDDDDDDDCCBBBEMQQQSW\^^]]]]]]]]^^ZTPQPMIDBBCCDDDDDDDDDDDDDDDDDDDDB@Po]ABDDDDDDDDDDDDCBQmsSBCDDDDDDDDDDDDBAZtXICCDDDDDDDDDDDDDCBAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA@@NluZKDCDDDDDDDDDDDDDDDDDCCCBAEMYgnns~wmmlf[I@ABBCDDDDDDDDDDDDDDDDDDDDEQgjMFCDDDDDDDDDDDCCLa~uSBCDDDDDDDDDDDDDDDDDDDDDDDDCC[`EDDDDDDDDDDDDDBBVcMCCDDDDDDDDDDCCIXtsUG@@AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABCDDDDDDDDDDDDDDDDDCBAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA??\}aOFBCDDDDDDDDDDDDDDDDDDDDCCBA@@LcnnpuwmnjbVH@ABCCDDDDDDDDDDDDDDDDDDDCBFPg]ABDDDDDDDDDDDDCBQmsSBCDDDDDDDDDDDDBAZtXICCDDDDDDDDDDDDFKRZ^^^^^^^^^^^^^^^^^^^]]^^]]^^]]]]^^^^]]^^]]]]]]]]]]^^^^]]^^^^^^^^]]]]]]^^^]]h~`HDDDDDDDDDDDDDDDDDCCDFJNTZbjvwf[XTOJDBCDDDDDDDDDDDDDDDDCCGQjtXICCDDDDDDDDDDCCIXtjOBCDDDDDDDDDDDCCDDDDDDDDDDDBBVYABDDDDDDDDDDDDCC[cMCCDDDDDDDDDDCCIXtmb]]]]]]]]]]]]]^^^^]]]]]]^^^^^^]]^^]]^^]]]]]]\UICDDDDDDDDDDDDDDDGNU[^^]]]]]]]^^^^]]]]]]]]]]]]]]]]]]]]]]]]]]]]]\\q|bLACDDDDDDDDDDDDDDDDDDCCCDGMTY\\i~se[UPJFDCCDDDDDDDDDDDDDDDDDDB@Pq]ABDDDDDDDDDDDDCBQmtSBCDDDDDDDDDDDDBAZtXICCDDDDDDDDDDCCK\qoSDDDDDDDDDDDDDDDDDDCBEMXfxxjZIABCDDDDDDDDDDDDDDDDCDGWvcMCCDDDDDDDDDDDDFLi~aLCCDDDDDDDDDDDCCDDDDDDDDDDDCBRtVABDDDDDDDDDDDDDE`cMCCDDDDDDDDDDCCIXtyUBCDDDDDDDDDDDDCCMdz|^LECCDDDDDDDDDDDDDDDDDDCBCDPdw}kZMEBCDDDDDDDDDDDDDDDDDDCBGTm]ABDDDDDDDDDDDDCBQntSBCDDDDDDDDDDDDBAZuXICCDDDDDDDDDDCCMduZJCCDDDDDDDDDDDDDDCDHP[huvcUMGDCDDDDDDDDDDDDDDDCBK^zmPBCDDDDDDDDDDDDDEatXICCDDDDDDDDDDGJJFDDDDDDDDDDCCNguSBCDDDDDDDDDDDDELicMCCDDDDDDDDDDCCIXtZABDDDDDDDDDDDDCBQo}bLACDDDDDDDDDDDDDDDDDCDDHOV^mwh[PIDDCDDDDDDDDDDDDDDDDDDEWx]ABDDDDDDDDDDDDCBQntSBCDDDDDDDDDDDDBAZuXICCDDDDDDDDDDCCMd`IDCDDDDDDDDDDDDDDCDESm~dQGBCDDDDDDDDDDDDDDDCEJcuSBCDDDDDDDDDDDDCB]iLEDDDDDDDDDDDGNZXJCCDDDDDDDDCCJXumPBCDDDDDDDDDDCCIXtcMCCDDDDDDDDDDCCIXtZABDDDDDDDDDDDDCBQn`LECCDDDDDDDDDDDDDDDDCBDIUj}nWIDCCDDDDDDDDDDDDDDDDDDKZu]ABDDDDDDDDDDDDCBQntSBCDDDDDDDDDDDDBAZuXICCDDDDDDDDDDCCMcuRABDDDDDDDDDDDDDDDFMXmkYMECCDDDDDDDDDDDDDDBATzVABDDDDDDDDDDDDBAZ`EDDDDDDDDDDDGMZieOCCDDDDDDDDDCFMjcMCCDDDDDDDDDDCCLa~cMCCDDDDDDDDDDCCIXtZABDDDDDDDDDDDDCBQnfMACDDDDDDDDDDDDDDDDCBEMVbrtaTJECCDDDDDDDDDDDDDDDDDH_]ABDDDDDDDDDDDDCBQnsRBCDDDDDDDDDDDDBAZuXICCDDDDDDDDDDCCMc~aLBCDDDDDDDDDDDDDCFM`~zbLACDDDDDDDDDDDDDDCBLbZABDDDDDDDDDDDDCBVYCCDDDDDDDDCCJXixpRBCDDDDDDDDDDDE`tXICCDDDDDDDDDDCBOjcMCCDDDDDDDDDDCCIXtZABDDDDDDDDDDDDCBQndMECCDDDDDDDDDDDDDDDDBALbzpZIBCDDDDDDDDDDDDDDDDDDQk]ABDDDDDDDDDDDDCBQnsRBCDDDDDDDDDDDDBAZuXICCDDDDDDDDDDCCMcmQGCDDDDDDDDDDDDDDFPc|}`MFCCDDDDDDDDDDDDDCGQl`EDDDDDDDDDDDDDCBSuzTBCDDDDDDDDCCMbw}VBCDDDDDDDDDDBAYjMFCDDDDDDDDDDDCBSucMCCDDDDDDDDDDCCIXuZABDDDDDDDDDDDDCBQnqPABDDDDDDDDDDDDDDDDDEJSe~t]NFCCDDDDDDDDDDDDDDCCHUp]ABDDDDDDDDDDDDCBQntSBCDDDDDDDDDDDDBAZuXICCDDDDDDDDDDCCMc]GDDDDDDDDDDDDDDCFMcgMACDDDDDDDDDDDDDDDF]jMFCDDDDDDDDDDDCBPmnPBCDDDDDDDDCBPjZABDDDDDDDDDDBAVaEDDDDDDDDDDDDDBAXcMCCDDDDDDDDDDCCIXuZABDDDDDDDDDDDDCBQnnTHBCDDDDDDDDDDDDDDDCDIZwgMACDDDDDDDDDDDDDDDDDH]^ABDDDDDDDDDDDDCBQntSBCDDDDDDDDDDDDBAZuXICCDDDDDDDDDDCCMcwSACDDDDDDDDDDDDDDM`|_KECDDDDDDDDDDDDDCASuvYJCCDDDDDDDDDDCCMccMCCDDDDDDDDCBStaEDDDDDDDDDDDCBSvZABDDDDDDDDDDDDDE_cMCCDDDDDDDDDDCCIXuZABDDDDDDDDDDDDCBQnYEDDDDDDDDDDDDDDDDDDFN]ubMFCCDDDDDDDDDDDDDDCAPn^ABDDDDDDDDDDDDCBQntSBCDDDDDDDDDDDDBAZuXICCDDDDDDDDDDCCMceNBCDDDDDDDDDDDDDEY~y^KBCDDDDDDDDDDDDCBLa~gOCCDDDDDDDDDDCCIXuuXICCDDDDDDDDBBVjMFCDDDDDDDDDCBPmVABDDDDDDDDDDDCFMicMCCDDDDDDDDDDCCIXuZABDDDDDDDDDDDDCBQneNCCDDDDDDDDDDDDDDDCFM`gMACDDDDDDDDDDDDDDCCIWs^ABDDDDDDDDDDDDCBQntSBCDDDDDDDDDDDDBAZuXICCDDDDDDDDDDCCMcrVHCCDDDDDDDDDDDCGPjuVEDDDDDDDDDDDDDDCGQmtSBCDDDDDDDDDDDCFMjjMFCDDDDDDDDDCC[uXICCDDDDDDDDCCL`}uSBCDDDDDDDDDDCCIXucMCCDDDDDDDDDDCCIXuZABDDDDDDDDDDDDCBQnkQGCDDDDDDDDDDDDDDDDFPc|_KECDDDDDDDDDDDDDDDEIa^ABDDDDDDDDDDDDCBQntSBCDDDDDDDDDDDDBAZuXICCDDDDDDDDDDCCMccGDDDDDDDDDDDDDCCMdfMFDDDDDDDDDDDDDDDF`VBBDDDDDDDDDDDDDE``EDDDDDDDDDDDDE`cMCCDDDDDDDDDCGOlmPBCDDDDDDDDDDCCMccMCCDDDDDDDDDDCCIXuZABDDDDDDDDDDDDCBQoZGDDDDDDDDDDDDDDDDCFMcy^KBCDDDDDDDDDDDDDDCDVy^ABDDDDDDDDDDDDCBQntSBCDDDDDDDDDDDDBAZuXICCDDDDDDDDDDCCMcY@BDDDDDDDDDDDDCCUxz]KCCDDDDDDDDDDDDBAW[CCDDDDDDDDDDDDBAZYABDDDDDDDDDDELimPBCDDDDDDDDDDCD`cMCCDDDDDDDDDDCBPmcMCCDDDDDDDDDDCCIXuZABDDDDDDDDDDDDCBQohNBCDDDDDDDDDDDDDDDDN`|uVEDDDDDDDDDDDDDDDCBMd^ABDDDDDDDDDDDDCBQntSBCDDDDDDDDDDDDBAZuXICCDDDDDDDDDDCCMcVABDDDDDDDDDDDDDE]tSBCDDDDDDDDDDDDCBSv`EDDDDDDDDDDDDDBAV{UBCDDDDDDDDCCIXuuSBCDDDDDDDDDDCB[uXICCDDDDDDDDDDCBSucMCCDDDDDDDDDDCCIXuZABDDDDDDDDDDDDCBQnmQGCCDDDDDDDDDDDDDDEI]fMFDDDDDDDDDDDDDDDCGPl^ABDDDDDDDDDDDDCBQouSBCDDDDDDDDDDDDBAZuXICCDDDDDDDDDDCCMcwTBCDDDDDDDDDDDDFLh[DCDDDDDDDDDDDDCBPjiLEDDDDDDDDDDDDCBTwnPBCDDDDDDDDCCMbXCCDDDDDDDDDDBAVjMFCDDDDDDDDDDDBAVcMCCDDDDDDDDDDCCIXuZABDDDDDDDDDDDDCBQn\EDDDDDDDDDDDDDDDCBJZu|^KBCDDDDDDDDDDDDDDDE]^ABDDDDDDDDDDDDCBQouSBCDDDDDDDDDDDDBAZuXICCDDDDDDDDDDCCMcqRBCDDDDDDDDDDCCIXtdIDDDDDDDDDDDDDCCMb~uXICCDDDDDDDDDDCBRrcMCCDDDDDDDDCBPj^EDDDDDDDDDDDCBSu`EDDDDDDDDDDDDDBAZcMCCDDDDDDDDDDCCIXuZABDDDDDDDDDDDDCBQotSCCDDDDDDDDDDDDDDBASwyTABDDDDDDDDDDDDDDCCUx^ABDDDDDDDDDDDDCBQotSBCDDDDDDDDDDDDBAZuXICCDDDDDDDDDDCCMclPBCDDDDDDDDDDCCMbrTHCCDDDDDDDDDDCCIXubMCCDDDDDDDDDDCBPkuXICCDDDDDDDDCBSuhLFDDDDDDDDDDCBPkZABDDDDDDDDDDDDDE`cMCCDDDDDDDDDDCCIXuZABDDDDDDDDDDDDCBQoz^LCCDDDDDDDDDDDDDCELebIEDDDDDDDDDDDDDDCBNf^ABDDDDDDDDDDDDCBQotSBCDDDDDDDDDDDDBAZuXICCDDDDDDDDDDCCMcfNCCDDDDDDDDDDCBPkfNCCDDDDDDDDDDDDELijPBCDDDDDDDDDDCCMbiLEDDDDDDDDDDBAVtXICCDDDDDDDDCCMbVABDDDDDDDDDDDCFMjcMCCDDDDDDDDDDCCIXuZABDDDDDDDDDDDDCBQoeJEDDDDDDDDDDDDDDCBMcvZJCCDDDDDDDDDDDDCCHTr^ABDDDDDDDDDDDDCBQouSBCDDDDDDDDDDDDBAZuXICCDDDDDDDDDDCCMc}`LCCDDDDDDDDDDCBRquSBCDDDDDDDDDDDDCEauSBCDDDDDDDDDDCCIXu`EDDDDDDDDDDDCC[bMCCDDDDDDDDCCIXuuSBCDDDDDDDDDDCCJYvcMCCDDDDDDDDDDCCIXuZABDDDDDDDDDDDDCBQoW@BDDDDDDDDDDDDDDCDWzmPBCDDDDDDDDDDDDDDDId^ABDDDDDDDDDDDDCBQouSBCDDDDDDDDDDDDBAZuXICCDDDDDDDDDDCCMdx[JCCDDDDDDDDDDCBStWABDDDDDDDDDDDDCB^VABDDDDDDDDDDDDFLi[CCDDDDDDDDDDDE`jPBCDDDDDDDDDDFLhmPBCDDDDDDDDDDCCOhcMCCDDDDDDDDDDCCIXuZABDDDDDDDDDDDDCBQovSACDDDDDDDDDDDDDDDIcVABDDDDDDDDDDDDDDCD[^ABDDDDDDDDDDDDCBQouSBCDDDDDDDDDDDDBAZuXICCDDDDDDDDDDCCMduXICCDDDDDDDDDDCBSu[CCDDDDDDDDDDDDBA[[CCDDDDDDDDDDDDDE`WABDDDDDDDDDDFLiuSBCDDDDDDDDDDDE^cMCCDDDDDDDDDDCBSucMCCDDDDDDDDDDCCIXuZABDDDDDDDDDDDDCBQoeNCCDDDDDDDDDDDDCCHVscIDDDDDDDDDDDDDDDCBTy^ABDDDDDDDDDDDDCBQouSBCDDDDDDDDDDDDBAZuXICCDDDDDDDDDDCCMduXICCDDDDDDDDDDCBSuaEDDDDDDDDDDDDDBAX`EDDDDDDDDDDDDDCC[uSBCDDDDDDDDCCIXuWABDDDDDDDDDDCCXuXICCDDDDDDDDDDBAWcMCCDDDDDDDDDDCCIXuZABDDDDDDDDDDDDCBQolPGCDDDDDDDDDDDDDCBOjvZJCCDDDDDDDDDDDDCBOk^ABDDDDDDDDDDDDCBQouSBCDDDDDDDDDDDDBAZuXICCDDDDDDDDDDCCMduXICCDDDDDDDDDDCBStfHCBBBBBBBBBBBBA@U}iLFDDDDDDDDDDDDBAWhOCCDDDDDDDDCCMb[BCDDDDDDDDDDCBSvlOGCDDDDDDDDDDDCC[cMCCDDDDDDDDDDCCIXuZABDDDDDDDDDDDDCBQo]EDDDDDDDDDDDDDDDCDX~lPBCDDDDDDDDDCCCBAIZx^ABDDDDDDDDDDDDCBQouSBCDDDDDDDDDDDDBAZuXICCDDDDDDDDDDCCMdrf`^^^^^]do{i]]^^^^^^^^^^bjvi]]^^^^^^^^^^bjvuXICCDDDDDDDDDDCBRqkMD@@AAAAAAAAAA@?SzuXICCDDDDDDDDDDCBSuvYJCCDDDDDDDDCBPj`ECDDDDDDDDDDCBPmfIDDDDDDDDDDDDDDE`dMCCDDDDDDDDDDCCIXuZABDDDDDDDDDDDDCBQo|VCCDDDDDDDDDDDDDDDId}UABDDDDDDDDCCBBBADKi^ABDDDDDDDDDDDDCBQouSBCDDDDDDDDDDDDBAZxf]]^^^^^^^^]]do{rf`]^^^]]do{ma_^^^^^^^^_amuXICCDDDDDDDDDDCCMdufUHC@AAA@@FR^jrwwropdL@@AAAAAAAA@@DMYioovwqopdL@@AAAAAAAA@@EMYioovuXICCDDDDDDDDDDCBPkja^^^^^^^^^^^^]]kbMCCDDDDDDDDDDCBOjjMFCDDDDDDDDDCBSvkMFCDDDDDDDDDCCMdaEDDDDDDDDDDDDDFLidMCCDDDDDDDDDDCCIXu[ABDDDDDDDDDDDDCBQomPBCDDDDDDDDDDDDCCHTr^EDCCCCCBBCGNQQT[^`v^ABDDDDDDDDDDDDCBQouSBCDDDDDDDDDDDDBA[ynnmg[I@@AAAAAAAA@@FR^jonvufUHC@AAA@@FR^jrwuopePDBAAAAAAAABDPeonyia^^^^^^^^^^^^]]kja^^^^^^^^^^]\qja^^^^^^^^^^]]fx|sjb^^^^^^^^^^^^]]kja^^^^^^^^^^]\qja^^^^^^^^^^]]fx|sja^^^^^^^^^^^^]]lja^^^^^^^^^^]\qja^^^^^^^^^^]]evuXICCDDDDDDDDDDCCMdve]]^^^^^^^^]]im_VSNHDCBBBBBBDGLORTV[ite[WTRQQMEBBBBBBBBBBBBCFJOQQSX[\ite[WTRQQMEBBBBBBBBBBBBCFJOQQSX[\iuXICCDDDDDDDDDDCCMcjPBCDDDDDDDDDDCCMb`EDDDDDDDDDDDBAXy\KCCDDDDDDDDCCIXu\CCDDDDDDDDDDCCIXudMCCDDDDDDDDDDCCIXu[ABDDDDDDDDDDDDCBQo}_LCCDDDDDDDDDDDDCCNfjMFCBBBBABDPeony^ABDDDDDDDDDDDDCBQouSBCDDDDDDDDDDDDBA[vkb[TPQPOJDBBBBBBBBBBBBDGLOQQSX[\ive]]^^^^^^^^]]im_VSNHDCBBBBBBDGLORTV[ii\YWSQQNGCBBBBBBBBBBCGNQQTZdo~p]]^^^^^^^^^^`e{uWG@@AAAAAAAAAA@?QtjLD@@AAAAAAAA??XiLD@@AAAAAAAA@@NiqfXH@@AAAAAAAAAA@?QtjLD@@AAAAAAAA??XiLD@@AAAAAAAA@@NiqfXH@@AAAAAAAAAA@?QujLD@@AAAAAAAA??XiLD@@AAAAAAAA@@LguXICCDDDDDDDDDDCCMdbK@@AAAAAAAA@?OmeQFABCCDDDDDDDDDCCBBBA@Lcv~odVH@ABBBBCDDDDDDDDDDDDDDCCCBBBA@@Lcu~odVH@ABBBBCDDDDDDDDDDDDDDCCCBBBA@@Lcuz\KCCDDDDDDDDDDCCIWtxTBCDDDDDDDDDDCCJYwZABDDDDDDDDDDDE`jOBCDDDDDDDDDCFMjWABDDDDDDDDDDCCMbdMCCDDDDDDDDDDCCIXu[ABDDDDDDDDDDDDCBQooRGCDDDDDDDDDDDDDCBTxwYKHNQRU\_bn^ABDDDDDDDDDDDDCBQouSBCDDDDDDDDDDDDBA[xhYMEABBBBCCDDDDDDDDDDDDDDCCBBBBA@@LdubK@@AAAAAAAA@?OmeQFABCCDDDDDDDDDCCBBBA@LcvwcL@@BBBBCCDDDDDDDDDDDDCCBBA@FR`rX??AAAAAAAAA@CJhfMAABBBBBBBBBBA@Ni`DBBBBBBBBBBB@@U]DBBBBBBBBBBBA@RuzgMAABBBBBBBBBBA@Ni`DBBBBBBBBBBB@@U]DBBBBBBBBBBBA@RuzgMAABBBBBBBBBBA@NiaDBBBBBBBBBBB@@U]DBBBBBBBBBBBA@QsuXICCDDDDDDDDDDCCMdbLAABBBBBBBBA@PnkUMGDBCCCDDDDDDDDDDCCCCBBEMSWgm_WPMIDBBCCCCCDDDDDDDDDDDDDDDCCCCCBBBEMSV_mm_WPMIDBBCCCCCDDDDDDDDDDDDDDDCCCCCBBBEMSV_meNCCDDDDDDDDDDDDDHdYABDDDDDDDDDDDCGQnVABDDDDDDDDDCFMjuSBCDDDDDDDDDDDE_uSBCDDDDDDDDDDCBPjdMCCDDDDDDDDDDCCIXu[ABDDDDDDDDDDDDCBQobFDDDDDDDDDDDDDDDBAYiUTfqs}^ABDDDDDDDDDDDDCBQouSBCDDDDDDDDDDDDBA[weYTOJFCBCCCCCCDDDDDDDDDDDDDDDCCCCCBBBEMSV_mbLAABBBBBBBBA@PnkUMGDBCCCDDDDDDDDDDCCCCBBEMSWgvcXSMEBBCCCCCDDDDDDDDDDDDDDCCCCBDGLQ[h|Y@@BBBBBBBBBBDKiuSBCDDDDDDDDDDCCK\zYABDDDDDDDDDDCBSuVABDDDDDDDDDDCCXvSBCDDDDDDDDDDCCK\zYABDDDDDDDDDDCBSuVABDDDDDDDDDDCCYvSBCDDDDDDDDDDCCK\zYABDDDDDDDDDDCBSuVABDDDDDDDDDDCCXuXICCDDDDDDDDDDCCMddMCCDDDDDDDDCBQopP@ACDDDDDDDDDDDDDDDDDDDDDDCA@QvzePDCBCCDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDCBAFRd{zePDCBCCDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDCBAFRd{kPBCDDDDDDDDDDDDBAXaEDDDDDDDDDDDDDEIfvTBCDDDDDDDDCCIXuWABDDDDDDDDDDBAXkPBCDDDDDDDDDDCBSvdMCCDDDDDDDDDDCCIXu[ABDDDDDDDDDDDDCBQoYABDDDDDDDDDDDDDDDFbqq^ABDDDDDDDDDDDDCBQouSBCDDDDDDDDDDDDBAZnZI@ACCCDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDCBAGRbvdMCCDDDDDDDDCBQppP@ACDDDDDDDDDDDDDDDDDDDDDDCA@QvoZI@ACDDDDDDDDDDDDDDDDDDDDDDDDDDDDCCBEM^yZABDDDDDDDDDDFMjVABDDDDDDDDDDDCFMkxTBCDDDDDDDDDDCBOjuSBCDDDDDDDDDDDE`VABDDDDDDDDDDDCFMkxTBCDDDDDDDDDDCBOjuSBCDDDDDDDDDDDE`WABDDDDDDDDDDDCFMkxTBCDDDDDDDDDDCBOiuSBCDDDDDDDDDDDE`uXICCDDDDDDDDDDCCMddMCCDDDDDDDDCBQohPFBCDDDDDDDDDDDDDDDDDDDDDDDCA@T|wcVMGCCCCCDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDCCBDGMTbvwcWMGCCCCCDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDCCBDGMTbvmPBCDDDDDDDDDDDDCBRtkNFCDDDDDDDDDDDCD`nQBCDDDDDDDDCCMdZABDDDDDDDDDDCBSvbMCCDDDDDDDDDDBAXdMCCDDDDDDDDDDCCIXuZABDDDDDDDDDDDDCBQo|UABDDDDDDDDDDDDDCGRo^ABDDDDDDDDDDDDCBQouSBCDDDDDDDDDDDDBAZ{eVPJDBCCCDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDCCBDGLS_qdMCCDDDDDDDDCBQphPFBCDDDDDDDDDDDDDDDDDDDDDDDCA@T|iXPJDBCCDDDDDDDDDDDDDDDDDDDDDDDDDDDDDCCDFKTeZABDDDDDDDDDDFMj^EDDDDDDDDDDDDDCE`kPBCDDDDDDDDDDCCK\ziOCCDDDDDDDDDCFMk^EDDDDDDDDDDDDDCE`jPBCDDDDDDDDDDCCK\ziOCCDDDDDDDDDCFMk^EDDDDDDDDDDDDDCE`kPBCDDDDDDDDDDCCK\ziOCCDDDDDDDDDCFMkuXICCDDDDDDDDDDCCMddMCCDDDDDDDDCBQppP@BDDDDDDDDDDDDDDDDDDDDDDDDDDCD[sYIDBCDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDCBAIZpsYIDBCDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDCBAIZpuSBCDDDDDDDDDDDDCCL_zuXICCDDDDDDDDDDBAZ~aLCCDDDDDDDDCBPnaEDDDDDDDDDDDCBPkuXICCDDDDDDDDDDDE`dMCCDDDDDDDDDDCCIXuZABDDDDDDDDDDDDCBQpoQBCDDDDDDDDDDDDCCL^{^ABDDDDDDDDDDDDCBQouSBCDDDDDDDDDDDDBAZv^J@BCDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDCBAHVkdMCCDDDDDDDDCBQopP@BDDDDDDDDDDDDDDDDDDDDDDDDDDCD[gM@ACDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDCBALc|[ABDDDDDDDDDDFMjjNFCDDDDDDDDDDDCB[bMCCDDDDDDDDDDDCFMkwYJCCDDDDDDDDCCK\zjNFCDDDDDDDDDDDCB[bMCCDDDDDDDDDDDCFMkwYJCCDDDDDDDDCCK\zjNFCDDDDDDDDDDDCB[bMCCDDDDDDDDDDDCFMkwYJCCDDDDDDDDCCK\zuXICCDDDDDDDDDDCCMddMCCDDDDDDDDCBQpjPFBCDDDDDDDDDDDDDDDDDDDDDDDDDDEIev`QIECCDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDCBDJS`wv`RIDCCDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDCBDJS`wVABDDDDDDDDDDDDDDEKadMCCDDDDDDDDDDBAWlOGCDDDDDDDDDCBTvkNFCDDDDDDDDDCCMbjLEDDDDDDDDDDDCFNjdMCCDDDDDDDDDDCCIXu[ABDDDDDDDDDDDDCBQpdMCCDDDDDDDDDDDDCBOj^ABDDDDDDDDDDDDCBQouSBCDDDDDDDDDDDDBA[xbULEBCCDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDCBDHP\qdMCCDDDDDDDDCBQojPFBCDDDDDDDDDDDDDDDDDDDDDDDDDDEIdp\NEBCCDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDCBEL[p[ABDDDDDDDDDDFMjuXICCDDDDDDDDDDBAWuXICCDDDDDDDDDDDDCE`kNFCDDDDDDDDDCBOjuXICCDDDDDDDDDDBAWuXICCDDDDDDDDDDDDCE`kNFCDDDDDDDDDCBOjuXICCDDDDDDDDDDBAWuXICCDDDDDDDDDDDDCE`kNFCDDDDDDDDDCBOjuXICCDDDDDDDDDDCCMddMCCDDDDDDDDCBQpxS@BDDDDDDDDDDDDDDDDDDDDDDDDDDCCHUrsZIABDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDCCDIZxsZIABDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDCCDIZx^EDDDDDDDDDDDDDDDCAOlmPBCDDDDDDDDDDCBTv`DCDDDDDDDDDDBAWuXICCDDDDDDDDCCIXuaEDDDDDDDDDDDCCIXudMCCDDDDDDDDDDCCIXu[ABDDDDDDDDDDDDCBQpuXICCDDDDDDDDDDDDCBSu^ABDDDDDDDDDDDDCBQpuSBCDDDDDDDDDDDDBA[xZHDCCDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDCCDTqdMCCDDDDDDDDCBQoxS@BDDDDDDDDDDDDDDDDDDDDDDDDDDCCHUrmVHBCDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDCBHUn[ABDDDDDDDDDDFMjdMCCDDDDDDDDDDCBSujLEDDDDDDDDDDDDDDCB[aEDDDDDDDDDDDCBSudMCCDDDDDDDDDDCBSujLEDDDDDDDDDDDDDDCB[aEDDDDDDDDDDDCBSucMCCDDDDDDDDDDCBSujLEDDDDDDDDDDDDDDCB[aEDDDDDDDDDDDCBSuuXICCDDDDDDDDDDCCMddMCCDDDDDDDDCBQpxZIBCDDDDDDDDDDDDDDDDDDDDDDDDDDCCNfkVJDBCDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDCDEIShkVJDBCDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDCDEIShjNFCDDDDDDDDDDDDDCCFOevTBCDDDDDDDDDDCBPn[BCDDDDDDDDDDBAZdMCCDDDDDDDDDDELj[CCDDDDDDDDDDCCMddMCCDDDDDDDDDDCCIXu[ABDDDDDDDDDDDDCBQpjLEDDDDDDDDDDDDDDBAW_ABDDDDDDDDDDDDCBQpuSBCDDDDDDDDDDDDBA[hSIDDCDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDCCDHQddMCCDDDDDDDDCBQpxZIBCDDDDDDDDDDDDDDDDDDDDDDDDDDCCNffTHDCCDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDCDHUj[ABDDDDDDDDDDFMjqQBCDDDDDDDDDDCCOi`EDDDDDDDDDDDDDDDBAWYABDDDDDDDDDDCCXqQBCDDDDDDDDDDCCOh`EDDDDDDDDDDDDDDDBAWYABDDDDDDDDDDCCXqQBCDDDDDDDDDDCCOi`EDDDDDDDDDDDDDDDBAWYABDDDDDDDDDDCCXuXICCDDDDDDDDDDCCMddMCCDDDDDDDDCBQpaIEDDDDDDDDDDDDDDDDDDDDDDDDDDDDCBTwhQGBCDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDB@OlhQGBCDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDB@OlwYJCCDDDDDDDDDDDDDDBAOlWABDDDDDDDDDDCCMdWABDDDDDDDDDDDFboQBCDDDDDDDDDDDE`WABDDDDDDDDDDCBPndMCCDDDDDDDDDDCCIXu[ABDDDDDDDDDDDDCBQpaECDDDDDDDDDDDDDDCC[^ABDDDDDDDDDDDDCBQouSBCDDDDDDDDDDDDBA[lO@BDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDBALc}dMCCDDDDDDDDCBQpbIEDDDDDDDDDDDDDDDDDDDDDDDDDDDDCBTwcMECCDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDCCGQj[ABDDDDDDDDDDFMjVABDDDDDDDDDDCCJYwXCCDDDDDDDDDDDDDDCBSuxTBCDDDDDDDDDDDE`VABDDDDDDDDDDCCJYwXCCDDDDDDDDDDDDDDCBSuxTBCDDDDDDDDDDDE`VABDDDDDDDDDDCCJYwXCCDDDDDDDDDDDDDDCBSuxTBCDDDDDDDDDDDE`uXICCDDDDDDDDDDCCMddMCCDDDDDDDDCBRqrTDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDBAX~dQGDCDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDCBFOd~dQGDCDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDCBFOdhOBCDDDDDDDDDDDDDDCBFP^qZABDDDDDDDDDDCCIXuuSBCDDDDDDDDDCGRo{UBCDDDDDDDDDDCCZuSBCDDDDDDDDDDCBTvdMCCDDDDDDDDDDCCIXu[ABDDDDDDDDDDDDCBQp]BCDDDDDDDDDDDDDDDEa^ABDDDDDDDDDDDDCBQpuSBCDDDDDDDDDDDDBA[bOFBCDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDCBEL\udMCCDDDDDDDDCBRqrTDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDBAXdPFDCDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDCDGUn\ABDDDDDDDDDDFMj]DCDDDDDDDDDDDCFNkvTBCDDDDDDDDDDDDDDCBPkkPBCDDDDDDDDDCFMk]DCDDDDDDDDDDDCFNkvSBCDDDDDDDDDDDDDDCBPkkPBCDDDDDDDDDCFMk]DCDDDDDDDDDDDCFNkvTBCDDDDDDDDDDDDDDCBPkkPBCDDDDDDDDDCFMkuXICCDDDDDDDDDDCCMddMCCDDDDDDDDCBPluj\KCCDDDDDDDDCCCBBBBBBBBCCCCDDDDDDGadMFCCDDDDDDDDDDDDDDDDDDDCCCCBBBBBBBBBBBBCCCCDDDDDDDDDDDDDDDDDDDCAMgdMFCCDDDDDDDDDDDDDDDDDDDCCCCBBBBBBBBBBBBCCCCDDDDDDDDDDDDDDDDDDDCAMhyUCCDDDDDDDDDDDDDDDDCBHVh|aEDDDDDDDDDDDDCFNkkPBCDDDDDDDDCCL^|ZCCDDDDDDDDDDCBU{kPBCDDDDDDDDDDBAWdMCCDDDDDDDDDDCCIXu[ABDDDDDDDDDDDDCBQpYABDDDDDDDDDDDDDDFLj^ABDDDDDDDDDDDDCBQpuSBCDDDDDDDDDDDDBA[~cLACDDDDDDDDDDDDDDDDDDDDCCCCCBBBBBBBBBBBCCCCDDDDDDDDDDDDDDDDDDDDCBIZtdMCCDDDDDDDDCBPluk\KCCDDDDDDDDCCCBBBBBBBBCCCCDDDDDDGadMFCDDDDDDDDDDDDDDDDDDDCCCCBBBBBBBBBBBCCCCDDDDDDDDDDDDDCCHVnYABDDDDDDDDDDFMjeIEDDDDDDDDDDDDDEanPBCDDDDDDDDDDDDDDCCMbbMCCDDDDDDDDCCK\zeIEDDDDDDDDDDDDDEanPBCDDDDDDDDDDDDDDCCMbbMCCDDDDDDDDCCK\zeIEDDDDDDDDDDDDDEanPBCDDDDDDDDDDDDDDCCMbbMCCDDDDDDDDCCK\zuXICCDDDDDDDDDDCCMddMCCDDDDDDDDCCM`dUJECDDDDDDDDDCCBAAAAAAAABBCCDDDDCGRo~dPFDCDDDDDDDDDDDDDDDDDDDCCBBBAAAAAAAAAAAABBBCDDDDDDDDDDDDDDDDDDDCBEMd~dPFDCDDDDDDDDDDDDDDDDDDDCCBBBAAAAAAAAAAAABBBCDDDDDDDDDDDDDDDDDDDCBEMd]DDDDDDDDDDDDDDDDDDCCDINUaskNFCDDDDDDDDDDDDEabMCCDDDDDDDDCBOj`EDDDDDDDDDDDCBQobMCCDDDDDDDDDDBAZdMCCDDDDDDDDDDCCIXu[ABDDDDDDDDDDDDCBQpVBBDDDDDDDDDDDDCCIXu^ABDDDDDDDDDDDDCBQpuSBCDDDDDDDDDDDDBA[aLECCDDDDDDDDDDDDDDDDDDDDCCBBBAAAAAAAAAAABBBCCDDDDDDDDDDDDDDDDDDDCCDI[xdMCCDDDDDDDDCCMadUJECDDDDDDDDDCCBAAAAAAAABBCCDDDDCGRomSEDDDDDDDDDDDDDDDDDDDDDCCBBBAAAAAAAAAABBCCDDDDDDDDDDDDDDCDHZwuTBCDDDDDDDDDDFMjrTHCDDDDDDDDDDDBA[dMCCDDDDDDDDDDDDDDCCIWttWICCDDDDDDDDCBOjrTHCDDDDDDDDDDDBAZdMCCDDDDDDDDDDDDDDCCIWttWICCDDDDDDDDCBOjqTHCDDDDDDDDDDDBA[dMCCDDDDDDDDDDDDDDCCIWttWICCDDDDDDDDCBOjuXICCDDDDDDDDDDCCMddMCCDDDDDDDDDCIUTHBCDDDDDDDCDEHNTZ]^_^__\UPMIDBCCCL_}dMFCDDDDDDDDDDDDDDDDCCCCCGNQQT\__________\TQQMFBBCCDDDDDDDDDDDDDDDDBAOleMFCDDDDDDDDDDDDDDDDCCCCCGNQQT[__^^^^^^__[TQQMFBBCCDDDDDDDDDDDDDDDDBAOlnQGCCDDDDDDDDDDDDDDDDDCBAHVetuXICCDDDDDDDDDDBAZuXICCDDDDDDDDCBSujLEDDDDDDDDDDCCMdvXICCDDDDDDDDDDDEadMCCDDDDDDDDDDCCIXu[ABDDDDDDDDDDDDCBQpyTBCDDDDDDDDDDDDCCLa~^ABDDDDDDDDDDDDCBQpuSBCDDDDDDDDDDDDBA[hMACDDDDDDDDDDDDDDDDDCCBCEHORSV\________]YUSOLGDBCCDDDDDDDDDDDDDDDDDCBK^ydMCCDDDDDDDDDCIUTHBCDDDDDDDCDEHNTZ]^____\UPMIDBCCCL_}pVHCCDDDDDDDDDDDDDDDDCCCEHNRTW\______^]ZTPOKDBBCDDDDDDDDDDDCBMaaMCCDDDDDDDDDDFMjbMCCDDDDDDDDDDBAWvXICCDDDDDDDDDDDDDDDDDHddHDDDDDDDDDDDCBSubMCCDDDDDDDDDDBAWvXICCDDDDDDDDDDDDDDDDDHddHDDDDDDDDDDDCBSubMCCDDDDDDDDDDBAWvXICCDDDDDDDDDDDDDDDDDHddHDDDDDDDDDDDCBSuuXICCDDDDDDDDDDCCMddMCCDDDDDDDDDDEIHECDDDDDDDCBDIUfyzkbWHABBBPnlSEDDDDDDDDDDDDDDDDDDCBBBDPfpozzopeL@ABCCDDDDDDDDDDDDDDDCCFOhlSEDDDDDDDDDDDDDDDDDDCBBBDPfpozzopeL@ABCCDDDDDDDDDDDDDDDCCFOhiOBCDDDDDDDDDDDDDDDDDCCBDINSW\i}dMCCDDDDDDDDDDBAWiLFDDDDDDDDDDBAWvXICCDDDDDDDDCCIXvjLEDDDDDDDDDDDCFNkdMCCDDDDDDDDDDCCIXu[ABDDDDDDDDDDDDCBQprRBCDDDDDDDDDDDDCCNg^ABDDDDDDDDDDDDCBQpuSBCDDDDDDDDDDDDBA[eMECCDDDDDDDDDDDDDDDDDCBADIUgrt~}tj^RGABCDDDDDDDDDDDDDDDDDDCEK^}dMCCDDDDDDDDDDEIHECDDDDDDDCBDIUfyzkbWHABBBPn}[HDCDDDDDDDDDDDDDDDDCCBDIUgsyxlg\I@ACDDDDDDDDDDDDCFMMGDDDDDDDDDDDDFMjpQBCDDDDDDDDDDCBSujNFCDDDDDDDDDDDDDDDDDB@ZZ@BDDDDDDDDDDCCXpQBCDDDDDDDDDDCBSvjNFCDDDDDDDDDDDDDDDDDB@ZZ@BDDDDDDDDDDCCXpQBCDDDDDDDDDDCBSujNFCDDDDDDDDDDDDDDDDDB@ZZ@BDDDDDDDDDDCCXvXICCDDDDDDDDDDCCMddMCCDDDDDDDDDDDCCDDDDDDDCBEMWcssaTLECV}pVHCCDDDDDDDDDDDDDDCCDINTZ`nj\WRKFDCDDDDDDDDDDDDDDDB@SxpVHCCDDDDDDDDDDDDDDCCDINTZ`nj\WRKFDCDDDDDDDDDDDDDDDB@Sx]HDCDDDDDDDDDDDDDDDDDDDDCCBA@K`ownQBCDDDDDDDDDDCBTx_EDDDDDDDDDDDCB\bMCCDDDDDDDDDCFNkaEDDDDDDDDDDDCCJYwdMCCDDDDDDDDDDCCIXu[ABDDDDDDDDDDDDCBQpmPBCDDDDDDDDDDDDCBPn^ABDDDDDDDDDDDDCBQpuSBCDDDDDDDDDDDDBA[rQABDDDDDDDDDDDDDDDDCCDIOU]es|oaWPJEBCDDDDDDDDDDDDDDDDCBLcdMCCDDDDDDDDDDDCCDDDDDDDCBEMWdssbTLECV}cMBCDDDDDDDDDDDDDDDCDFKQZesyg[TMEBCDDDDDDDDDDDCCDDDDDDDDDDDDDFMj{UBCDDDDDDDDDDCBOj^EDDDDDDDDDDDDDDDDDDDBAWWABDDDDDDDDDDDE`|UBCDDDDDDDDDDCBOj^EDDDDDDDDDDDDDDDDDDDBAWWABDDDDDDDDDDDE`{UBCDDDDDDDDDDCBOj^EDDDDDDDDDDDDDDDDDDDBAWWABDDDDDDDDDDDE`vXICCDDDDDDDDDDCCMddMCCDDDDDDDDDDDDDDDDDDDDCALd{z_MG]}[HDCDDDDDDDDDDDDDDDCAHWgyq\MEBCDDDDDDDDDDDDDDCBJ[w}[HDCDDDDDDDDDDDDDDDCAHVgyq\MEBCDDDDDDDDDDDDDDCBI[wqVHCCDDDDDDDDDDDDDDDDDDDCCCBBELQTW\etwTBCDDDDDDDDDDCBRrXCCDDDDDDDDDDCEakPBCDDDDDDDDDDDEa\BCDDDDDDDDDDCCOidMCCDDDDDDDDDDCCIXu[ABDDDDDDDDDDDDCBQpgNCCDDDDDDDDDDDDCBTw^ABDDDDDDDDDDDDCBQpuSBCDDDDDDDDDDDDBA[qTHBCDDDDDDDDDDDDDDDDCAHVh}n[IABCDDDDDDDDDDDDDDDCCELedMCCDDDDDDDDDDDDDDDDDDDDCALd{z_MG]eLECDDDDDDDDDDDDDDDCBEN\qzdL@BDDDDDDDDDDDCCDDDDDDDDDDDDDFMjZBCDDDDDDDDDDCCK\zWABDDDDDDDDDDDDDDDDDDCBTwtSBCDDDDDDDDDCFMlZBCDDDDDDDDDDCCK\zWABDDDDDDDDDDDDDDDDDDCBTwuSBCDDDDDDDDDCFMkZBCDDDDDDDDDDCCK\zVABDDDDDDDDDDDDDDDDDDCBTwtSBCDDDDDDDDDCFMkvXICCDDDDDDDDDDCCMddMCCDDDDDDDDDDDDDDDDDDCBGQd}i]ncMBCDDDDDDDDDDDDDDCDGP^rziZOFBCDDDDDDDDDDDDDDEIacLBCDDDDDDDDDDDDDDCDGP^rziZNFBCDDDDDDDDDDDDDDEIalRDDDDDDDDDDDDDDDDDDDDDDDDDDDCBBA@HWbkwWABDDDDDDDDDDCBPkwTBCDDDDDDDDDDELjuSBCDDDDDDDDDDBAZWABDDDDDDDDDDCBSvdMCCDDDDDDDDDDCCIXv[ABDDDDDDDDDDDDCBQpaLCCDDDDDDDDDDDDCBV~_ABDDDDDDDDDDDDCBQpvSBCDDDDDDDDDDDDBA[\DCDDDDDDDDDDDDDDDDDEIR`rwbTLFDCDDDDDDDDDDDDDDDBATzdMCCDDDDDDDDDDDDDDDDDDCBGPd}i]n{T@BDDDDDDDDDDDDDDCCEMXhzgULFDCDDDDDDDDDDDDDDDDDDDDDDDFMj`DCDDDDDDDDDDDCFMluSBCDDDDDDDDDDDDDDDDDDCBQneNCCDDDDDDDDCCK\z`DCDDDDDDDDDDDCFMluSBCDDDDDDDDDDDDDDDDDDCBPneNCCDDDDDDDDCCK\z`DCDDDDDDDDDDDCFMkuSBCDDDDDDDDDDDDDDDDDDCBPneNCCDDDDDDDDCCK\zvXICCDDDDDDDDDDCCMddMCCDDDDDDDDDDDDDDDDDDB@PqgLECDDDDDDDDDDDDDDCCDSnhM@BDDDDDDDDDDDDDDDDUugLECDDDDDDDDDDDDDDCCDSnhM@BDDDDDDDDDDDDDDDDUuaIDCDDDDDDDDDDDDDDDDDDDDDDDDCCCBBDIMPTX[]gy[@BDDDDDDDDDDCCMbnPBCDDDDDDDDCCIXvWABDDDDDDDDDDBAU}uSBCDDDDDDDDDDBAWdMCCDDDDDDDDDDCCIXv[ABDDDDDDDDDDDDCBQpy[KCCDDDDDDDDDDDDBBX_ABDDDDDDDDDDDDCBQqwTBCDDDDDDDDDDDDBA[pRCCDDDDDDDDDDDDDDDCDIYtz_MFCCDDDDDDDDDDDDDDCBK_}dMCCDDDDDDDDDDDDDDDDDDBAPqdMBCDDDDDDDDDDDDDDCALd|~`MFCCDDDDDDDDDDDDDDDDDDDDDDFMjmOGCDDDDDDDDDDDCEalPBCDDDDDDDDDDDDDDDDDDCCMdvXICCDDDDDDDDCBOjmOGCDDDDDDDDDDDCDakPBCDDDDDDDDDDDDDDDDDDCCMdvXICCDDDDDDDDCBOjmOGCDDDDDDDDDDDCDakPBCDDDDDDDDDDDDDDDDDDCCMdvXICCDDDDDDDDCBOjvXICCDDDDDDDDDDCCMedMCCDDDDDDDDDDDDDDDDCCFOgU@BDDDDDDDDDDDDDCDGO\pgRHDDDDDDDDDDDDDDCCL_|U@BDDDDDDDDDDDDDCDGO\pgSHDDDDDDDDDDDDDDCCL_|y]MDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDCCBBA@@I\hmt}cFDDDDDDDDDDDCCIXvdMCCDDDDDDDDCCMd]DCDDDDDDDDDDCBQokPBCDDDDDDDDDDCB\dMCCDDDDDDDDDDCCIXv[ABDDDDDDDDDDDDCBQpsUHCCDDDDDDDDDDDDBAZ_ABDDDDDDDDDDDDCCNe{jPCCDDDDDDDDDDDDBA[v[JCCDDDDDDDDDDDDDDDFO`v}fTHDCDDDDDDDDDDDDDDCFMhdMCCDDDDDDDDDDDDDDDDCCFOgmRGCDDDDDDDDDDDDDCBFObfTHDCDDDDDDDDDDDDDDDDDDDDDFMjaLCCDDDDDDDDDDCB\cMCCDDDDDDDDDDDDDDDDDDCCIXvjLEDDDDDDDDDDCBSuaLCCDDDDDDDDDDCB\cMCCDDDDDDDDDDDDDDDDDDCCIXvjLEDDDDDDDDDDCBSuaLCCDDDDDDDDDDCB[cMCCDDDDDDDDDDDDDDDDDDCCIXvjLEDDDDDDDDDDCBSuvXICCDDDDDDDDDDCCNedMCCDDDDDDDDDDDDDDDDCBPmeMBCDDDDDDDDDDDDCCGRgwVEDDDDDDDDDDDDDDCEJeeMBCDDDDDDDDDDDDCCGRgwVEDDDDDDDDDDDDDDCEJe]IDCDDDDDDDDDDDDDDDDDDDDDDDDDDDDCCCCBBBDKOPSUX\dp|pRGCDDDDDDDDDDDELjvXICCDDDDDDDDCBQpeIEDDDDDDDDDDCCMdbMCCDDDDDDDDDDCEadMCCDDDDDDDDDDCCIXv[ABDDDDDDDDDDDDCBQpmPGCDDDDDDDDDDDDDBA\_ABDDDDDDDDDDDDDDGNU\______________________________________________________________________\WPGCDDDDDDDDDDDDDBA[aIEDDDDDDDDDDDDDDDCFMcnVHBCDDDDDDDDDDDDDDDEX|dMCCDDDDDDDDDDDDDDDDCBPl^FDDDDDDDDDDDDDDDBAOlnVHBCDDDDDDDDDDDDDDDDDDDDFMknQBCDDDDDDDDDDBAWtWICCDDDDDDDDDDDDDDDDDDDCFNj`EDDDDDDDDDDDCCXnQBCDDDDDDDDDDBAWtWICCDDDDDDDDDDDDDDDDDDDCFNj`EDDDDDDDDDDDCCXnQBCDDDDDDDDDDBAWtWICCDDDDDDDDDDDDDDDDDDDCFNj`EDDDDDDDDDDDCCXvXICCDDDDDDDDDDCCK\sdMCCDDDDDDDDDDDDDDDDDG]mRGCDDDDDDDDDDDDDDGTjpWJDDDDDDDDDDDDDDB@WnRGCDDDDDDDDDDDDDDGTjpWJDDDDDDDDDDDDDDB@Wx^NFDCDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDCCBBBA@FR^jrx|^LCCDDDDDDDDDDDEakNFCDDDDDDDDDBAU}rTHCDDDDDDDDDCCIXvvXICCDDDDDDDDDDELjdMCCDDDDDDDDDDCCIXv[ABDDDDDDDDDDDDCBQpiKEDDDDDDDDDDDDDDBA]_ABDDDDDDDDDDDDDDDCBAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABCCDDDDDDDDDDDDDDBA[wSABDDDDDDDDDDDDDDDFPepXJECDDDDDDDDDDDDDCBMedMCCDDDDDDDDDDDDDDDDDG]wSABDDDDDDDDDDDDCCFOeoXJECDDDDDDDDDDDDDDDDDDDFMkwTBCDDDDDDDDDDCBSveHDDDDDDDDDDCCDDDDDDDDDDDDE^XCCDDDDDDDDDDCD`wTBCDDDDDDDDDDCBSvdHDDDDDDDDDDCCDDDDDDDDDDDDE^XCCDDDDDDDDDDCD`wTBCDDDDDDDDDDCBSvdHDDDDDDDDDDCCDDDDDDDDDDDDE^XCCDDDDDDDDDDCD`vXICCDDDDDDDDDDDDFLS[______________________________________________________________^]mdMCCDDDDDDDDDDDDDDDCHRm^FDDDDDDDDDDDDDCCGQjyWEDDDDDDDDDDDDDCBPn^FDDDDDDDDDDDDDCCGRjyWEDDDDDDDDDDDDDCBPnaMECCDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDCCCCCBBDGLORTW\dp|jOBCDDDDDDDDDDCB\`EDDDDDDDDDDDBAZcMCCDDDDDDDDDDELjjLEDDDDDDDDDDCCIXvdMCCDDDDDDDDDDCCIXv[ABDDDDDDDDDDDDCBQpfHDDDDDDDDDDDDDDDB@^_ABDDDDDDDDDDDDDDDCCBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBCCDDDDDDDDDDDDDDDBA[bLBCDDDDDDDDDDDDDCFMet[JCCDDDDDDDDDDDDCCGPmdMCCDDDDDDDDDDDDDDDCHRmbLBCDDDDDDDDDDDDCAOmt[JCCDDDDDDDDDDDDDDDDDDFMkXCCDDDDDDDDDDCCOiZ@BDDDDDDDDEIHECDDDDDDDDDBAWwTBCDDDDDDDDDCGOmXCCDDDDDDDDDDCCOiZ@BDDDDDDDDEIHECDDDDDDDDDBAWwTBCDDDDDDDDDCGOmXCCDDDDDDDDDDCCOiZ@BDDDDDDDDEIHECDDDDDDDDDBAWwTBCDDDDDDDDDCGOmvXICCDDDDDDDDDDDDDCBAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA@?UdMCCDDDDDDDDDDDDDDCBMbwSABDDDDDDDDDDDDDDPhmSHCCDDDDDDDDDDCCJ[xwSABDDDDDDDDDDDDDDQhmSHCCDDDDDDDDDDCCJ[xgUJDBCDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDCCBBBA@FR^jvvSBCDDDDDDDDDDBAWXABDDDDDDDDDDDEanQBCDDDDDDDDDDCEaaECDDDDDDDDDDCCMbdMCCDDDDDDDDDDCCIXv[ABDDDDDDDDDDDDCBQpcEDDDDDDDDDDDDDDDCDb_ABDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDBA[nRHCDDDDDDDDDDDDDDDOcsUEDDDDDDDDDDDDDDDDE]dMCCDDDDDDDDDDDDDDCBMbmRGCDDDDDDDDDDDDCELcsUEDDDDDDDDDDDDDDDDDDDFMk`EDDDDDDDDDDDCCJZxWABDDDDDDDCIUUHCCDDDDDDDDCBSvnQBCDDDDDDDDCCLa`EDDDDDDDDDDDCCJZxWABDDDDDDDCIUUHCCDDDDDDDDCBSvnQBCDDDDDDDDCCLa`EDDDDDDDDDDDCCJZxWABDDDDDDDCIUUHCCDDDDDDDDCBSvnPBCDDDDDDDDCCLavXICCDDDDDDDDDDDDDCCBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB@@VdMCCDDDDDDDDDDDDDDCATwbMBCDDDDDDDDDDDDEI`nPACDDDDDDDDDDDDDIdbLBCDDDDDDDDDDDDEI`nPACDDDDDDDDDDDDDIdsZIABDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDCCCCBBDHLOTWZ\jWABDDDDDDDDDDCBSuwTBCDDDDDDDDDCFNkwTBCDDDDDDDDDDCB\\BCDDDDDDDDDDCBPkdMCCDDDDDDDDDDCCIXv[ABDDDDDDDDDDDDCBQp`BBDDDDDDDDDDDDDDEJh_ABDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDBA[`FDDDDDDDDDDDDDDDEI`fMFCDDDDDDDDDDDDDCCUzdMCCDDDDDDDDDDDDDDCATw^GDDDDDDDDDDDDDCBMdgMFDDDDDDDDDDDDDDDDDDFMjlMFCDDDDDDDDDDCFNkwTBCDDDDDDCCMabQGDDDDDDDDDCBPlaLCCDDDDDDDDCBQplMFCDDDDDDDDDDCFNkwTBCDDDDDDCCMabQGDDDDDDDDDCBPlaLCCDDDDDDDDCBQplMFCDDDDDDDDDDCFNkwTBCDDDDDDCCMabQGDDDDDDDDDCBPlaLCCDDDDDDDDCBQpwXICCDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDBBWdMCCDDDDDDDDDDDDDDDE]nRHCDDDDDDDDDDDCCJYw`IEDDDDDDDDDDDDB@XnRHCDDDDDDDDDDDCCJYv`IEDDDDDDDDDDDDB@XwaRIDCCDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDCCBBB@@Ldty\BCDDDDDDDDDDCBPllPBCDDDDDDDDCCIXvWABDDDDDDDDDDBAWWABDDDDDDDDDDCBTwdMCCDDDDDDDDDDCCIXv[ABDDDDDDDDDDDDCBQp_ABDDDDDDDDDDDDDDFMk_ABDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDBA[UABDDDDDDDDDDDDCBJ[xaMDDDDDDDDDDDDDDCBNgdMCCDDDDDDDDDDDDDDDE]zTABDDDDDDDDDDDDDEX|`LBCDDDDDDDDDDDDDDDDFMk{]KCCDDDDDDDDDDCEanQBCDDDDDDCBPlp^OGCDDDDDDDCCMcmOGCDDDDDDDDDCBU|z\KCCDDDDDDDDDDCEanQBCDDDDDDCBPlq^OGCDDDDDDDCCMcmOGCDDDDDDDDDCBU|z\KCCDDDDDDDDDDDEaoQBCDDDDDDCBPlp^OGCDDDDDDDCCMcmOGCDDDDDDDDDCBU|wXICCDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDBBWdMCCDDDDDDDDDDDDDCFNj`FDDDDDDDDDDDDDCARuv[JCCDDDDDDDDDDCATx`FDDDDDDDDDDDDDCARtv[KCCDDDDDDDDDDCATxuYIDBCDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDCCCBBBEMSTW\i}aECDDDDDDDDDDCCMccMCCDDDDDDDDCCMd[ABDDDDDDDDDDCBSvvSBCDDDDDDDDDDBAXdMCCDDDDDDDDDDCCIXv[ABDDDDDDDDDDDDCBQp_ABDDDDDDDDDDDDDDFMk_ABDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDBA[mPBCDDDDDDDDDDDDBATyYEDDDDDDDDDDDDDCCHUsdMCCDDDDDDDDDDDDDCFNjlOBCDDDDDDDDDDDCFMh~U@BDDDDDDDDDDDDDDDDFMkjOBCDDDDDDDDDDBA[aLCCDDDDDDCBU{kWICCDDDDDDCCIXv`DCDDDDDDDDDDCBZjOBCDDDDDDDDDDBA[aLCCDDDDDDCBU{kWICCDDDDDDCCIXv`DCDDDDDDDDDDCBZjOBCDDDDDDDDDDBA[aLCCDDDDDDCBU{kWICCDDDDDDCCIXv`DCDDDDDDDDDDCBZwXICCDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDBBWdMCCDDDDDDDDDDDDCCJXvVABDDDDDDDDDDDDDG^nPBCDDDDDDDDDDCCOiVABDDDDDDDDDDDDDG_oPBCDDDDDDDDDDCCOixdWMGCCCCDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDCBBA@J_qjLFDDDDDDDDDDCCJZxvXICCDDDDDDDDCBPnaEDDDDDDDDDDDCCOilPBCDDDDDDDDDDDE`dMCCDDDDDDDDDDCCIXw[ABDDDDDDDDDDDDCBQp^ABDDDDDDDDDDDDDCGPm_ABDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDBA[z\KCCDDDDDDDDDDDDEIclPGCDDDDDDDDDDDDDDIfdMCCDDDDDDDDDDDDCCIXvz\KCCDDDDDDDDDDCBK^|gLECDDDDDDDDDDDDDDDFMkvSBCDDDDDDDDDDBAWmOGCDDDDDDDBA[v\KCCDDDDDDDDFLjZBCDDDDDDDDDDCD`vSBCDDDDDDDDDDBAWmOGCDDDDDDDBA[v\KCCDDDDDDDDFLjZBCDDDDDDDDDDCD`vSBCDDDDDDDDDDBAWmOGCDDDDDDDBA[v\KCCDDDDDDDDFLjZBCDDDDDDDDDDCD`wXICCDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDBBWdMCCDDDDDDDDDDDDCCMdrQBCDDDDDDDDDDDCHRnWABDDDDDDDDDDCCJYxrQBCDDDDDDDDDDDCHRnWABDDDDDDDDDDCCJYx|ePDCBCCDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDCCCBBELQV^jzvXICCDDDDDDDDDCGQojLFDDDDDDDDDDCBTwkNFCDDDDDDDDDCCJZxcMCCDDDDDDDDDCFNkdMCCDDDDDDDDDDCCJXv[ABDDDDDDDDDDDDCBQp\ABDDDDDDDDDDDDCCHVt_ABDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDBA[kMFCDDDDDDDDDDDCCJ[xeNBCDDDDDDDDDDDDCD]dMCCDDDDDDDDDDDDCCMdlMFCDDDDDDDDDDDCASvdMCCDDDDDDDDDDDDDDFMkXCCDDDDDDDDDDCBSuaDCDDDDDDDDDEccMCCDDDDDDDDDEa|UBCDDDDDDDDDCGOmXCCDDDDDDDDDDCBSuaDCDDDDDDDDDEccMCCDDDDDDDDDEa|UBCDDDDDDDDDCGOmXCCDDDDDDDDDDCBSuaDCDDDDDDDDDEccMCCDDDDDDDDDEa|UBCDDDDDDDDDCGOmwXICCDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDBBWdMCCDDDDDDDDDDDDCBQobMCCDDDDDDDDDDCCMbbGDDDDDDDDDDDDCFNjbMCCDDDDDDDDDDCCMcbGDDDDDDDDDDDDCFNjn`WQLHDBCCCDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDCBAEM\qcMCCDDDDDDDDDDEJgaEDDDDDDDDDDDCCXxZJCCDDDDDDDDDCFMkvXICCDDDDDDDDCCJXveMCCDDDDDDDDDDCCJXv[ABDDDDDDDDDDDDCBQp[ABDDDDDDDDDDDDCCJYw_ABDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDBA[`EDDDDDDDDDDDDDCBPn{VCCDDDDDDDDDDDDBAVeMCCDDDDDDDDDDDDCBQn`ECDDDDDDDDDDDDDG_zUCCDDDDDDDDDDDDDDFMk_EDDDDDDDDDDDCCNf\BCDDDDDDDCFNmlPBCDDDDDDDDCCZpQBCDDDDDDDDCCLa_EDDDDDDDDDDDCCNf\BCDDDDDDDCFNllPBCDDDDDDDDCCZpQBCDDDDDDDDCCLa_EDDDDDDDDDDDCCNf\BCDDDDDDDCFNllPBCDDDDDDDDCCZpQBCDDDDDDDDCCLawXJCCDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDBBWdMCCDDDDDDDDDDDDCBTxrTHCDDDDDDDDDDDCBTwoRHCDDDDDDDDDDDDE^rTHCDDDDDDDDDDDCBTxoRHCDDDDDDDDDDDDE_o`RFAABCCDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDCCBDFKQ]mlPBCDDDDDDDDDDCD`ZCCDDDDDDDDDDDE`iOCCDDDDDDDDDDCEajLFDDDDDDDDDDCCMddMCCDDDDDDDDDDCCIXw[ABDDDDDDDDDDDDCBQp[ABDDDDDDDDDDDDCCJYw_ABDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDBA[XCCDDDDDDDDDDDDBAW_DCDDDDDDDDDDDDCBRreMCCDDDDDDDDDDDDCBTwXCCDDDDDDDDDDDCHRn^EDDDDDDDDDDDDDDDFMkiLFDDDDDDDDDDCCIXvWABDDDDDDCCIXwvSBCDDDDDDDDCBU|bMCCDDDDDDDDCBQpiLFDDDDDDDDDDCCIXvWABDDDDDDCCIXwvSBCDDDDDDDDCBU|cMCCDDDDDDDDCBQpiMFDDDDDDDDDDCCIXvWABDDDDDDCCIXwvSBCDDDDDDDDCBU|bMCCDDDDDDDDCBQpwXJCCDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDBBWeMCCDDDDDDDDDDDDBAWfIEDDDDDDDDDDDDCBZ|^LCCDDDDDDDDDDBAWfIEDDDDDDDDDDDDCBZ|^LCCDDDDDDDDDDBAW~pcZTOLHDBCCCCDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDCCBGRd|vSBCDDDDDDDDDDBA[|UBCDDDDDDDDDDFLjvTBCDDDDDDDDDDBA[aECDDDDDDDDDDCBQodMCCDDDDDDDDDDCCIXw[ABDDDDDDDDDDDDCBQp[ABDDDDDDDDDDDDCCJYw_ABDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDBA[wTBCDDDDDDDDDDDDDHcoPGCDDDDDDDDDDDCCMdeMCCDDDDDDDDDDDDBAWwTBCDDDDDDDDDDCCL`~jMFCDDDDDDDDDDDDDFMkvXICCDDDDDDDDDDELjvTBCDDDDDDCCMeWABDDDDDDDDCBQprTHCDDDDDDDDDCBU|vXICCDDDDDDDDDDELjvSBCDDDDDDCCMdWABDDDDDDDDCBQprTHCDDDDDDDDDCBU|vXICCDDDDDDDDDDELjvTBCDDDDDDCCMeWABDDDDDDDDCBQprTHCDDDDDDDDDCBU|wXJCCDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDBBWeMCCDDDDDDDDDDDDBA[]DCDDDDDDDDDDDDCDajOBCDDDDDDDDDDCBSv]DCDDDDDDDDDDDDCDajOBCDDDDDDDDDDCBSvyj^SF@ABBCDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDCCDHMTeWABDDDDDDDDDDBAWpQBCDDDDDDDDCCIXvWABDDDDDDDDDDBAW\BCDDDDDDDDDDCBTxdMCCDDDDDDDDDDCCJXw[ABDDDDDDDDDDDDCBQp[ABDDDDDDDDDDDDCCJYw_ABDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDBA[nPBCDDDDDDDDDDCCIWteNCCDDDDDDDDDDCCIXvdMCCDDDDDDDDDDDDBA[oQBCDDDDDDDDDDCBQnz]KCCDDDDDDDDDDDDFMkeMCCDDDDDDDDDDCEaiOCCDDDDDDCBQo\BCDDDDDDDDCCMefIEDDDDDDDDDDCBZdMCCDDDDDDDDDDCEaiOCCDDDDDDCBQo\BCDDDDDDDDCCMdfIEDDDDDDDDDDCBZdMCCDDDDDDDDDDCEaiOCCDDDDDDCBQo\BCDDDDDDDDCCMefIEDDDDDDDDDDCBZwXJCCDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDBBWdMCCDDDDDDDDDDDDCD`WABDDDDDDDDDDDCFNlvTBCDDDDDDDDDDCBPlWABDDDDDDDDDDDCFNlvTBCDDDDDDDDDDCBPl}qe[TPPLEBBBCCCCDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDCB@Ld}\BCDDDDDDDDDDCBTxdMCCDDDDDDDDCCMc\BCDDDDDDDDDDCBTvWABDDDDDDDDDDBAWdMCCDDDDDDDDDDCCJXw[ABDDDDDDDDDDDDCBQp\ABDDDDDDDDDDDDCCHVt_ABDDDDDDDDDDDDDDDCCBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBCCDDDDDDDDDDDDDDDBA[dMCCDDDDDDDDDDCCMdvSBCDDDDDDDDDDDCFNkdMCCDDDDDDDDDDDDCD`dMCCDDDDDDDDDDBAU~jPBCDDDDDDDDDDDDFMkpQBCDDDDDDDDDDCB\xZJCCDDDDDDCBTxaECDDDDDDDDCCIXv]DCDDDDDDDDDDCD`pQBCDDDDDDDDDDCB\xZJCCDDDDDDCBTxaEDDDDDDDDDCCIXv]DCDDDDDDDDDDCD`pQBCDDDDDDDDDDCB\xZJCCDDDDDDCBTxaECDDDDDDDDCCIXv]DCDDDDDDDDDDCEawXJCCDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDBBWdMCCDDDDDDDDDDDDEIgvSBCDDDDDDDDDDCCK]{WBBDDDDDDDDDDCCMcvSBCDDDDDDDDDDCCK]{WBBDDDDDDDDDDCCMcznl`K@@ABBCCDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDCBEMZmaEDDDDDDDDDDDCBQovXICCDDDDDDDDCBPlaECDDDDDDDDDDCBPjvSBCDDDDDDDDDDBA[dMCCDDDDDDDDDDCCJXw[ABDDDDDDDDDDDDCBQp^ABDDDDDDDDDDDDDCGPn_ABDDDDDDDDDDDDDDDCBAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABCCDDDDDDDDDDDDDDBA[vXICCDDDDDDDDDDCBQpWABDDDDDDDDDDDDDEadMCCDDDDDDDDDDDDEIgvXICCDDDDDDDDDDBAZvTBCDDDDDDDDDDDDFMk~UABDDDDDDDDDDBAWkMFCDDDDDDDBAWjLFDDDDDDDDDCFNlWABDDDDDDDDDCGOm~UABDDDDDDDDDDBAWlMFCDDDDDDDBAWjMFDDDDDDDDDCFNlWABDDDDDDDDDCGOm~UABDDDDDDDDDDBAWkMFCDDDDDDDBAWjLFDDDDDDDDDCFNlWABDDDDDDDDDCGOmwXJCCDDDDDDDDDDDDDCCBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB@@VdMCCDDDDDDDDDDDCGQomPBCDDDDDDDDDDCCOhZABDDDDDDDDDDCCJZxmPBCDDDDDDDDDDCCOhZABDDDDDDDDDDCCJZx~i]\XTQOKDBBBCCCCDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDCBGRhkMFDDDDDDDDDDCCMdlNFCDDDDDDDDDCBSvjLFDDDDDDDDDDCCK]{nPBCDDDDDDDDDDDEbdMCCDDDDDDDDDDCCJXw[ABDDDDDDDDDDDDCBQp_ABDDDDDDDDDDDDDDFLk_ABDDDDDDDDDDDDDDGNU\______________________________________________________________________]WPGCDDDDDDDDDDDDDBA[mOGCDDDDDDDDDDDBAU~_EDDDDDDDDDDDDDBA[dMCCDDDDDDDDDDDCGQokNFCDDDDDDDDDDDDEbWABDDDDDDDDDDDDFMkZ@BDDDDDDDDDDCBTwaECDDDDDDDDB@[vXJCCDDDDDDDDDEbvSBCDDDDDDDDCCLaZ@BDDDDDDDDDDCBTwaECDDDDDDDDB@[wXJCCDDDDDDDDDEbwTBCDDDDDDDDCCLaZ@BDDDDDDDDDDCBTwbEDDDDDDDDDB@[wXJCCDDDDDDDDDEbwTBCDDDDDDDDCCMbwXJCCDDDDDDDDDDDDDCBAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA@?UdMCCDDDDDDDDDDCCJZxhOCCDDDDDDDDDDCBPm\ABDDDDDDDDDDDCGQogNCCDDDDDDDDDDCBPn\ABDDDDDDDDDDDCGQowmh\I@@ABBCCDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDCDGQ`zvXICCDDDDDDDDCCIXvbEDDDDDDDDDDDBAWvXICCDDDDDDDDDCFMllPBCDDDDDDDDDCFMkdMCCDDDDDDDDDDCCJXw[ABDDDDDDDDDDDDCBQp_ABDDDDDDDDDDDDDDFMk_ABDDDDDDDDDDDDCCNe|jPBCDDDDDDDDDDDDBA[gIDDDDDDDDDDDDDBAZkNFCDDDDDDDDDDDBAXdMCCDDDDDDDDDDCCJZybEDDDDDDDDDDDDCFNl[ABDDDDDDDDDDDDFMkeHDDDDDDDDDDDCCOi[ABDDDDDDDDDGcbMCCDDDDDDDDBA[iOCCDDDDDDDDCBQqeHDDDDDDDDDDDCCOi[ABDDDDDDDDDGcbLCCDDDDDDDDBAZiOCCDDDDDDDDCBQqeHDDDDDDDDDDDCCOi[ABDDDDDDDDDGcbMCCDDDDDDDDBAZiOCCDDDDDDDDCBQqwXJCCDDDDDDDDDDDDFLS[``____________________________________________________________^]neMCCDDDDDDDDDDCCMb~`LCCDDDDDDDDDDCBSuaDCDDDDDDDDDDDDEJg~`LCCDDDDDDDDDDCBSuaDCDDDDDDDDDDDDEIgzh]\YTPOKDBBBCCCDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDCDI]cMCCDDDDDDDDDCFNk[ABDDDDDDDDDDCB\cMCCDDDDDDDDDDCDaeNCCDDDDDDDDCCJZxdMCCDDDDDDDDDDCCJXw[ABDDDDDDDDDDDDCBQp`BBDDDDDDDDDDDDDDELj_ABDDDDDDDDDDDDCBRqxTBCDDDDDDDDDDDDBA[bEDDDDDDDDDDDDDDEbuWICCDDDDDDDDDDCBU~eMCCDDDDDDDDDDCCMb\@BDDDDDDDDDDCCJYwbEDDDDDDDDDDDDDFMkuWICCDDDDDDDDCCJZxWABDDDDDDDCHSphOCCDDDDDDDDBAV~xZJCCDDDDDDDDCBU}uWICCDDDDDDDDCCJZxWABDDDDDDDCHSphOCCDDDDDDDDBAU~xZJCCDDDDDDDDCBU|uWICCDDDDDDDDCCJZxWABDDDDDDDCHSphOCCDDDDDDDDBAU~xZJCCDDDDDDDDCBU|wXJCCDDDDDDDDDDCCK]seMCCDDDDDDDDDDCCOhuWICCDDDDDDDDDDCBU{iJEDDDDDDDDDDDDCD`uWICCDDDDDDDDDDCBU{iJEDDDDDDDDDDDDCDaxmh\I@ABBBCCDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDCDDM]xlPBCDDDDDDDDDDDEbWABDDDDDDDDDDCEalPBCDDDDDDDDDDCB\wYJCCDDDDDDDDCCOidMCCDDDDDDDDDDCCJXw[ABDDDDDDDDDDDDCBQpcEDDDDDDDDDDDDDDDDHf_ABDDDDDDDDDDDDCBRqwTBCDDDDDDDDDDDDBA[]BCDDDDDDDDDDDCFNl~`LCCDDDDDDDDDDCBSueMCCDDDDDDDDDDCCOhZABDDDDDDDDDDCCNelNFCDDDDDDDDDDDFMkcMCCDDDDDDDDDCFMluSBCDDDDDDCCL_}oQBCDDDDDDDDCBQpkNFCDDDDDDDDDCBZcMCCDDDDDDDDDCFMluSBCDDDDDDCCL_}oQBCDDDDDDDDCBQpkMFCDDDDDDDDDCBZcMCCDDDDDDDDDCFMluSBCDDDDDDCCL_}oQBCDDDDDDDDCBQpkMFCDDDDDDDDDCBZwXJCCDDDDDDDDDDCCNeeNCCDDDDDDDDDDCBPlnPGCDDDDDDDDDDDCBQobKEDDDDDDDDDDDDBA\nPGCDDDDDDDDDDDCBQobKEDDDDDDDDDDDDBA\zh]ZWTPLHDBBCCCDDDDDDDDDDDDDDDDDDDDDDDDDDCDI^yTBCDDDDDDDDDDBA\uSBCDDDDDDDDDCGOnxTBCDDDDDDDDDDBAWlNFCDDDDDDDDDCBTveMCCDDDDDDDDDDCCJXw[ABDDDDDDDDDDDDCBQpfHDDDDDDDDDDDDDDDDEc_ABDDDDDDDDDDDDCBQqwTBCDDDDDDDDDDDDBA[YABDDDDDDDDDDCCHVthOCCDDDDDDDDDDCBQoeNCCDDDDDDDDDDCBPlXBBDDDDDDDDDDCBPmuWICCDDDDDDDDDDFMklPBCDDDDDDDDDDDEbfNCCDDDDDDCBPkxTBCDDDDDDDDCCMe`EDDDDDDDDDDDCEalPBCDDDDDDDDDDDEbfNCCDDDDDDCBPkxTBCDDDDDDDDCCMe`EDDDDDDDDDDDCEalPBCDDDDDDDDDDDEbfNCCDDDDDDCBPkxTBCDDDDDDDDCCMe`EDDDDDDDDDDDCEawXJCCDDDDDDDDDDCCNeeNCCDDDDDDDDDDCBQohIEDDDDDDDDDDDDDCHQX]____________________________________________________``YMFDDDDDDDDDDDDDBAZhIEDDDDDDDDDDDDDCHQX]____________________________________________________``YMFDDDDDDDDDDDDDBAZwk_SF@ABBCDDDDDDDDDDDDDDDDDDDDDDDDDDDDDNbZABDDDDDDDDDDBAXfNCCDDDDDDDDCCMbXABDDDDDDDDDDCBTvbEDDDDDDDDDDDBAWeMCCDDDDDDDDDDCCJXw[ABDDDDDDDDDDDDCBQpiKEDDDDDDDDDDDDDDBB`_ABDDDDDDDDDDDDCBQpwTBCDDDDDDDDDDDDBA[WBBDDDDDDDDDDCCK\zmPBCDDDDDDDDDDCBPleNCCDDDDDDDDDDCBQozUBCDDDDDDDDDDCBQo~`LCCDDDDDDDDDDFMkyTACDDDDDDDDDDBA[vXICCDDDDDDCBTwWABDDDDDDDDCCIXvXABDDDDDDDDDCGOnzTACDDDDDDDDDDBA[vXICCDDDDDDCBTwWABDDDDDDDDCCIXvXABDDDDDDDDDCGOnzTACDDDDDDDDDDBA[vXICCDDDDDDCBTwWABDDDDDDDDCCIXwXABDDDDDDDDDCGOnwXJCCDDDDDDDDDDCCNeeNCCDDDDDDDDDDCBRrbEDDDDDDDDDDDDDDDCBAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACDDDDDDDDDDDDDDBAXbEDDDDDDDDDDDDDDDCBAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACDDDDDDDDDDDDDDBAX}qe\XUSNFBBCCCDDDDDDDDDDDDDDDDDDDDDDCFMhbEDDDDDDDDDDDCBV~vXICCDDDDDDDDCBQo`EDDDDDDDDDDDCBPl[ABDDDDDDDDDDCC\eNCCDDDDDDDDDDCCJXw[ABDDDDDDDDDDDDCBQpnPGCDDDDDDDDDDDDDBA^_ABDDDDDDDDDDDDCBQpwTBCDDDDDDDDDDDDBA[{UBCDDDDDDDDDDCCMcuSBCDDDDDDDDDDCCOieNCCDDDDDDDDDDCBRruSBCDDDDDDDDDDCBSthOCCDDDDDDDDDDFMkZABDDDDDDDDDDBAV~kLFDDDDDDDDBAW[@BDDDDDDDDDDEMkxTBCDDDDDDDDCCLbZABDDDDDDDDDDBAV~jLEDDDDDDDDBAW[@BDDDDDDDDDDEMkxTBCDDDDDDDDCCLbZABDDDDDDDDDDBAV~kLEDDDDDDDDBAW[@BDDDDDDDDDDFMkxTBCDDDDDDDDCCLbwXJCCDDDDDDDDDDCCNeeMCCDDDDDDDDDDCBSu]BCDDDDDDDDDDDDDDDCBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBCDDDDDDDDDDDDDDBBX]BCDDDDDDDDDDDDDDDCBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBCDDDDDDDDDDDDDDBBXzueL@@BBCDDDDDDDDDDDDDDDDDDDDDDDDEWxlNFCDDDDDDDDDCBSujLEDDDDDDDDDDCBTxkNFCDDDDDDDDDCCMdWABDDDDDDDDDDDEbeNCCDDDDDDDDDDCCJXw[ABDDDDDDDDDDDDCBQqtVHCCDDDDDDDDDDDDBA\_ABDDDDDDDDDDDDCBQpwTBCDDDDDDDDDDDDBA[xTBCDDDDDDDDDDCBPl~VBCDDDDDDDDDDCCNfeNCCDDDDDDDDDDCBSurRBCDDDDDDDDDDCBTznPBCDDDDDDDDDDFMkdGDDDDDDDDDDDCBQpbEDDDDDDDDDCC\dGDDDDDDDDDDDDEakOBCDDDDDDDDCBQqdGDDDDDDDDDDDCBQpaEDDDDDDDDDCB\cGDDDDDDDDDDDDEbkOBCDDDDDDDDCBQqdGDDDDDDDDDDDCBQpbEDDDDDDDDDCC\dGDDDDDDDDDDDDEbkPBCDDDDDDDDCBQqwXJCCDDDDDDDDDDCCMeeMCCDDDDDDDDDDCBTw[ABDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDCBV[ABDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDCBVk\XUPKEBCCDDDDDDDDDDDDDDDDDDDCBL_}wXICCDDDDDDDDCBPlaEDDDDDDDDDDDBAWwXICCDDDDDDDDCCJXwxTBCDDDDDDDDDDFMkeMCCDDDDDDDDDDCCJXw[ABDDDDDDDDDDDDCBQqz\KCCDDDDDDDDDDDDBAZ_ABDDDDDDDDDDDDCBQpwTBCDDDDDDDDDDDDBA[uSBCDDDDDDDDDDCBRrXABDDDDDDDDDDCCLbeMCCDDDDDDDDDDCBTwmPBCDDDDDDDDDDCBV~rRBCDDDDDDDDDDFMkqSHCDDDDDDDDDCCMe\CCDDDDDDDDDEbpSHCDDDDDDDDDCB\}_LCCDDDDDDDDCBU}qSHCDDDDDDDDDCCMe\BCDDDDDDDDDEapSHCDDDDDDDDDCB\}_LCCDDDDDDDDCBU}pSHCDDDDDDDDDCCMe\BCDDDDDDDDDEbpSHCDDDDDDDDDCC\}_LCCDDDDDDDDCBU}wXJCCDDDDDDDDDDCCMeeMCCDDDDDDDDDDCBTwZABDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDCBTyZABDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDCBTz{m\I@ACDDDDDDDDDDDDDDDDDDDDCEJfeMCCDDDDDDDDCCMc\BCDDDDDDDDDDBA[eMCCDDDDDDDDDDFMkoQBCDDDDDDDDCCJYweMCCDDDDDDDDDDCCJXw[ABDDDDDDDDDDDDCBQqbLCCDDDDDDDDDDDDBAX_ABDDDDDDDDDDDDCBQqwTBCDDDDDDDDDDDDBA[rRBCDDDDDDDDDDCBSuYABDDDDDDDDDDCCK\zeMCCDDDDDDDDDDCBTwhOCCDDDDDDDDDDBBWuSBCDDDDDDDDDDFMk}_LCCDDDDDDDDCCIXwWABDDDDDDDDFMk}_LCCDDDDDDDDBAWqSHCDDDDDDDDDCCZ}_LCCDDDDDDDDCCIXwWABDDDDDDDDFMk}_LCCDDDDDDDDBAWqSHCDDDDDDDDDCBZ}_LCCDDDDDDDDCCIXwWABDDDDDDDDFMk}_LCCDDDDDDDDBAWqSHCDDDDDDDDDCBZwXJCCDDDDDDDDDDCCMeeMCCDDDDDDDDDDCBTwYABDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDCBTwYABDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDCBTvzfYSLEBCDDDDDDDDDDDDDDDDDDB@WoQBCDDDDDDDDCCIXwWABDDDDDDDDDDDEboQBCDDDDDDDDDDDEaeMCCDDDDDDDDCCMdeMCCDDDDDDDDDDCCJXw[ABDDDDDDDDDDDDCBQqhOCCDDDDDDDDDDDDCBV_ABDDDDDDDDDDDDCBQqwTBCDDDDDDDDDDDDBA[qQBCDDDDDDDDDDCBTxZABDDDDDDDDDDCCJXweMCCDDDDDDDDDDCBTwcMCCDDDDDDDDDDBAXxTBCDDDDDDDDDDFMkjPBCDDDDDDDDDDFMkrRBCDDDDDDCCJYwkPBCDDDDDDDDCBTwdGDDDDDDDDDDDDEajPBCDDDDDDDDDDFLkrRBCDDDDDDCCJXwkPBCDDDDDDDDCBTwdGDDDDDDDDDDDCEajPBCDDDDDDDDDDEMkrRBCDDDDDDCCJYxkPBCDDDDDDDDCBTwdGDDDDDDDDDDDCEawXJCCDDDDDDDDDDCCMeeMCCDDDDDDDDDDCBTwXABDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDCBTwXABDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDCBTwu`K@BCDDDDDDDDDDDDDDDDDCBOkxTBCDDDDDDDDDDFMkwTBCDDDDDDDDDCFNlxTBCDDDDDDDDDDCB\wYJCCDDDDDDDDCBPleMCCDDDDDDDDDDCCJYw\ABDDDDDDDDDDDDCBQqmPBCDDDDDDDDDDDDCBTz_ABDDDDDDDDDDDDCBQqwTBCDDDDDDDDDDDDBA\qRBCDDDDDDDDDDCBU{[ABDDDDDDDDDDCCJYweMCCDDDDDDDDDDCBTw~`LCCDDDDDDDDDDBA[{UBCDDDDDDDDDDFMkxTBCDDDDDDDDDDDEbeNCCDDDDDDCCMdwTBCDDDDDDDDCBOiZ@BDDDDDDDDDCGOnyTBCDDDDDDDDDDDEbeMCCDDDDDDCCMdwTBCDDDDDDDDCBOiZ@BDDDDDDDDDCGOnxTBCDDDDDDDDDDDEaeNCCDDDDDDCCMdwTBCDDDDDDDDCBOiZ@BDDDDDDDDDCGOnwXJCCDDDDDDDDDDCCMeeMCCDDDDDDDDDDCBTwWBBDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDCBSuWBBDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDCBSu}fVMHDCDDDDDDDDDDDDDDDCCIWtWABDDDDDDDDDDDEbiOBCDDDDDDDDCCIXwWABDDDDDDDDDDBAWlNFCDDDDDDDDDCBTxeMCCDDDDDDDDDDCCJYw\ABDDDDDDDDDDDDCBQqtSBCDDDDDDDDDDDDCBSt_ABDDDDDDDDDDDDCBQqwTBCDDDDDDDDDDDDBA\nQBCDDDDDDDDDDCBV~\ABDDDDDDDDDDCCHVteMCCDDDDDDDDDDCBTw{]KCCDDDDDDDDDDBA\~VBCDDDDDDDDDDFMkXABDDDDDDDDDDCC\wXJCCDDDDDDCBPlWABDDDDDDDDCCJZy~UABDDDDDDDDCCLbXABDDDDDDDDDDCC\wXJCCDDDDDDCBPlWABDDDDDDDDCCJZy~VABDDDDDDDDCCLaXABDDDDDDDDDDCB\wXJCCDDDDDDCBPlXABDDDDDDDDCCJZy~VABDDDDDDDDCCLawXJCCDDDDDDDDDDCCMeeMCCDDDDDDDDDDCBTw~VBCDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDCBRr~VBCDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDCBRrfRGBCDDDDDDDDDDDDDDDDDHc[ABDDDDDDDDDDCC\yZJCCDDDDDDDDCCMe[ABDDDDDDDDDDCBTwbEDDDDDDDDDDDBAXeMCCDDDDDDDDDDCCJXw\ABDDDDDDDDDDDDCBQqzTBCDDDDDDDDDDDDCBPn_ABDDDDDDDDDDDDCBQqwTBCDDDDDDDDDDDDBA\hOCCDDDDDDDDDDBBW^ABDDDDDDDDDDDCGPneMCCDDDDDDDDDDCBTwyZJCCDDDDDDDDDDBA\WBBDDDDDDDDDDFMk`EDDDDDDDDDDDBAWlNFCDDDDDDDCBTx\CCDDDDDDDDDCFNlqQBCDDDDDDDDCBRs`EDDDDDDDDDDDBAWlNFCDDDDDDDCBTx\CCDDDDDDDDDCFNlpQBCDDDDDDDDCBRs`EDDDDDDDDDDDBAWlNFCDDDDDDDCBTx\CCDDDDDDDDDCFNlqQBCDDDDDDDDCBRrwXJCCDDDDDDDDDDCCMeeMCCDDDDDDDDDDCBTw{UBCDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDCBQq{UBCDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDCBQqlWJECDDDDDDDDDDDDDDDB@XbEDDDDDDDDDDDBAWlNFCDDDDDDDDDCBRrbEDDDDDDDDDDDCBPl[ABDDDDDDDDDDDE`eMCCDDDDDDDDDDCCJXw\ABDDDDDDDDDDDDCBQqWABDDDDDDDDDDDDCCNg_ABDDDDDDDDDDDDCBQqwTBCDDDDDDDDDDDDBA\eMCCDDDDDDDDDDBBX`ABDDDDDDDDDDDDFLkeMCCDDDDDDDDDDCBTwwXJCCDDDDDDDDDDBA[XBBDDDDDDDDDDFMklNFCDDDDDDDDDCBRrbEDDDDDDDDDBAXbEDDDDDDDDDDDDEbeNCCDDDDDDDDBAWlNFCDDDDDDDDDCBRrbEDDDDDDDDDBAXbEDDDDDDDDDDDDEbeNCCDDDDDDDDBAWlNFCDDDDDDDDDCBRrbEDDDDDDDDDBAXbEDDDDDDDDDDDDEbeNCCDDDDDDDDBAWwYJCCDDDDDDDDDDCCMeeMCCDDDDDDDDDDCBTwxTBCDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDCBQqxTBCDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDCBQqt[JBCDDDDDDDDDDDDDDCATylNFCDDDDDDDDDCBTvbEDDDDDDDDDDDBAWlNFCDDDDDDDDDCCMdWABDDDDDDDDDCFNleMCCDDDDDDDDDDCCJYw\ABDDDDDDDDDDDDCBQq[ABDDDDDDDDDDDDCCK]|_ABDDDDDDDDDDDDCBQqwTBCDDDDDDDDDDDDBA\eMCCDDDDDDDDDDBBX`ABDDDDDDDDDDDDFLkeMCCDDDDDDDDDDCBTwwYJCCDDDDDDDDDDBA\XBBDDDDDDDDDDFMkyZJCCDDDDDDDDCCNeZABDDDDDDDDDE`kLFDDDDDDDDDDBA[wXJCCDDDDDDDDCD]yZJCCDDDDDDDDCCNeZABDDDDDDDDDE`kLFDDDDDDDDDDBA[wXJCCDDDDDDDDCD]yZJCCDDDDDDDDCCNeZABDDDDDDDDDE`kLFDDDDDDDDDDBA[wXJCCDDDDDDDDCD]wYJCCDDDDDDDDDDCCMeeMCCDDDDDDDDDDCBTwwTBCDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDCBQqwTBCDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDCBQquXHDCDDDDDDDDDDDDDCCOixYJCCDDDDDDDDCBPl[ABDDDDDDDDDDCC\yZJCCDDDDDDDDCCJYxxTBCDDDDDDDDCCJYxeMCCDDDDDDDDDDCCJYw\ABDDDDDDDDDDDDCBQq_BBDDDDDDDDDDDDCCHTs_ABDDDDDDDDDDDDCBQqwTBCDDDDDDDDDDDDBA\eNCCDDDDDDDDDDBBX`ABDDDDDDDDDDDCFNmeMCCDDDDDDDDDDCBTwwYJCCDDDDDDDDDDBA\XBBDDDDDDDDDDFMkiOBCDDDDDDDDCCJXwzTBCDDDDDDDCFNlwXJCCDDDDDDDDBAWjMFDDDDDDDDDDDIfiOBCDDDDDDDDCCJXxzTBCDDDDDDDCFNlwXJCCDDDDDDDDBAWjMFDDDDDDDDDDEIgiOBCDDDDDDDDCCJXwzTBCDDDDDDDCFNlwXJCCDDDDDDDDBAWjMFDDDDDDDDDDDIfwYJCCDDDDDDDDDDCCMeeMCCDDDDDDDDDDCBTwwTBCDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDCBQqwTBCDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDCBQqqWICCDDDDDDDDDDDDCCJZyeNCCDDDDDDDDCCMcWABDDDDDDDDDDDEbiOBCDDDDDDDDDDFMlpQBCDDDDDDDDCCNeeMCCDDDDDDDDDDCCJYw\ABDDDDDDDDDDDDCBQqcEDDDDDDDDDDDDDDDELj`ABDDDDDDDDDDDDCBQqwTBCDDDDDDDDDDDDBA\eNCCDDDDDDDDDDBBX`ABDDDDDDDDDDDCGQpeMCCDDDDDDDDDDCBTwwYJCCDDDDDDDDDDBA\XBBDDDDDDDDDDFMlwTBCDDDDDDDDDCFNllPBCDDDDDDCCJYxfNCCDDDDDDDDCBTy`EDDDDDDDDDDCHTrwTBCDDDDDDDDDCFNllPBCDDDDDDCCJYxfNCCDDDDDDDDCBTy`EDDDDDDDDDDCHTswTBCDDDDDDDDDCFNllPBCDDDDDDCCJYxgNCCDDDDDDDDCBTy`EDDDDDDDDDDCHTrwYJCCDDDDDDDDDDCCNeeMCCDDDDDDDDDDCBTwwTBCDDDDDDDDDDDDDDCBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBA@PpwTBCDDDDDDDDDDDDDDCBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBA@PpmSDDDDDDDDDDDDDDDCFNlpQBCDDDDDDDDCCK\zyTBCDDDDDDDDDDFMlwTBCDDDDDDDDDDDEbeNCCDDDDDDDDCBQpeMCCDDDDDDDDDDCCJYw\ABDDDDDDDDDDDDCBQqkMFDDDDDDDDDDDDDDDEb`ABDDDDDDDDDDDDCBQqwTBCDDDDDDDDDDDDBA\eNCCDDDDDDDDDDBBX_ABDDDDDDDDDDCCHUseNCCDDDDDDDDDDCBTwwYJCCDDDDDDDDDDBA\WBBDDDDDDDDDDFMlWABDDDDDDDDDDDEbdMCCDDDDDDCCNeuSBCDDDDDDDDCBQpYCCDDDDDDDDCCMcWABDDDDDDDDDDDEbcMCCDDDDDDCCNeuSBCDDDDDDDDCBQpYCCDDDDDDDDCCMcWABDDDDDDDDDDDEbcMCCDDDDDDCCNeuSBCDDDDDDDDCBQpYCCDDDDDDDDCCMcwYJCCDDDDDDDDDDCCNeeMCCDDDDDDDDDDCBTwwTBCDDDDDDDDDDDDDCBAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA@?OowTBCDDDDDDDDDDDDDCBAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA@?Ooj^_````_`````_^jaJEDDDDDDDDDDDDDDDEbxTBCDDDDDDDDCCIVupQBCDDDDDDDDCCJYxXABDDDDDDDDDDCC\xYJCCDDDDDDDDCBTxeMCCDDDDDDDDDDCCJYw\ABDDDDDDDDDDDDCBQqxYJCCDDDDDDDDDDDDCC\j_bp`ABDDDDDDDDDDDDCBQqwTBCDDDDDDDDDDDDBA\eMCCDDDDDDDDDDBBX^ABDDDDDDDDDDCCIXveNCCDDDDDDDDDDCBTwwXJCCDDDDDDDDDDBA\~VBCDDDDDDDDDDFMk_EDDDDDDDDDDDBA[xYJCCDDDDDDCBQpXABDDDDDDDDCCMbvSBCDDDDDDDDCBRs_EDDDDDDDDDDDBA[xYJCCDDDDDDCBQpWABDDDDDDDDCCMbuSBCDDDDDDDDCBRs_EDDDDDDDDDDDBA[xYJCCDDDDDDCBQpXABDDDDDDDDCCMbuSBCDDDDDDDDCBRswYJCCDDDDDDDDDDCCNeeMCCDDDDDDDDDDCBTwyTBCDDDDDDDDDDDDEIP[``____``````````````````````````````````````````````__``````````````````_^jyTBCDDDDDDDDDDDDEIP[````````````````````````````````````````````````````````````````````````_^jpP?@AAAAAAAAAA@?NksUHCCDDDDDDDDDDDDB@\WABDDDDDDDDDCFOmbMCCDDDDDDDDCCMd\CCDDDDDDDDDDBAXlNFCDDDDDDDDDBAWeNCCDDDDDDDDDDCCJYw\ABDDDDDDDDDDDDCBQqdMCCDDDDDDDDDDDDBAXlN@DQgsu`ABDDDDDDDDDDDDCBQqwTBCDDDDDDDDDDDDBA\hOCCDDDDDDDDDDBBW]ABDDDDDDDDDDCCJYweNCCDDDDDDDDDDCBTwz\KCCDDDDDDDDDDBA[{UBCDDDDDDDDDDFMkkNFCDDDDDDDDDBAV~lMFDDDDDDDDCBTy[ABDDDDDDDDDCGPnfNBCDDDDDDDDBAWkNFCDDDDDDDDDBAV~lMFDDDDDDDDCBTy[ABDDDDDDDDDCGPnfNBCDDDDDDDDBAWkNFCDDDDDDDDDBAV~lMFDDDDDDDDCBTy[ABDDDDDDDDDCGPnfNBCDDDDDDDDBAWwYJCCDDDDDDDDDDCCNeeMCCDDDDDDDDDDCBTw|UBCDDDDDDDDDDDCHTk|UBCDDDDDDDDDDDCHTkuQ@ABBBBBBBBBBAALchOCCDDDDDDDDDDDDBAZ[@BDDDDDDDDDDDEbnPGCDDDDDDDDDCBPmbEDDDDDDDDDDDCBTwbEDDDDDDDDDDDBA[eNCCDDDDDDDDDDCCJYw\ABDDDDDDDDDDDDCBRqmPBCDDDDDDDDDDDDCBTxcLACGNRSV]bhu`ABDDDDDDDDDDDDCBRqwTBCDDDDDDDDDDDDBA\nPBCDDDDDDDDDDCBV\ABDDDDDDDDDDCCJYweNCCDDDDDDDDDDCBTwaMCCDDDDDDDDDDBAXyTBCDDDDDDDDDDFMlyZJCCDDDDDDDDCBRqaEDDDDDDDDDBAWbEDDDDDDDDDDDCEbxXJCCDDDDDDDDCD]yZJCCDDDDDDDDCBQqaEDDDDDDDDDBAWbEDDDDDDDDDDDCEbxXJCCDDDDDDDDCD]yZJCCDDDDDDDDCBQqaEDDDDDDDDDBAWbEDDDDDDDDDDDCEbxXJCCDDDDDDDDCD]wYJCCDDDDDDDDDDCCNeeNCCDDDDDDDDDDCBTwVBCDDDDDDDDDDCCIWvVBCDDDDDDDDDDCCIWvyTBCDDDDDDDDDDCCK\{zTBCDDDDDDDDDDDDBAXdGDDDDDDDDDDDBA[bECDDDDDDDDDDCBSwlMFDDDDDDDDDDCBPm[ABDDDDDDDDDDDEbeNCCDDDDDDDDDDCCJYw\ABDDDDDDDDDDDDCBRqyTBCDDDDDDDDDDDDCBOjxYJCCCCBBAACIUhsu`ABDDDDDDDDDDDDCBRqwTBCDDDDDDDDDDDDBA\qRBCDDDDDDDDDDCBU|[ABDDDDDDDDDDCCJZyeNCCDDDDDDDDDDCBTwfNCCDDDDDDDDDDBBWvSBCDDDDDDDDDDFMljOBCDDDDDDDDCCNeYCCDDDDDDDDBA[mNFCDDDDDDDDDCB\lMFDDDDDDDDDDDIgjOBCDDDDDDDDCCNeYCCDDDDDDDDBA[lNFCDDDDDDDDDCB\lLFDDDDDDDDDDDIgiOBCDDDDDDDDCCNeYCCDDDDDDDDBA[lNFCDDDDDDDDDCB\lLFDDDDDDDDDDDIgwYJCCDDDDDDDDDDCCNeeNCCDDDDDDDDDDCBTwWBBDDDDDDDDDDDCGQoWBBDDDDDDDDDDDCGQo|UBCDDDDDDDDDDCCIVuZABDDDDDDDDDDDDCBU{qSHCDDDDDDDDDBAW\BCDDDDDDDDDDBAWxYJCCDDDDDDDDCCMdWABDDDDDDDDDCFNleNCCDDDDDDDDDDCCJYw\ABDDDDDDDDDDDDCBRqYABDDDDDDDDDDDDCCJZylMFCDDCCCBBCDHORSU[p`ABDDDDDDDDDDDDCBRrwTBCDDDDDDDDDDDDBA\qQBCDDDDDDDDDDCBTyZABDDDDDDDDDDCCK]|eNCCDDDDDDDDDDCBTwjOBCDDDDDDDDDDCBVsRBCDDDDDDDDDDFMlwTBCDDDDDDDDCCJYxyTBCDDDDDDDDDEbxYJCCDDDDDDDDBAXaEDDDDDDDDDDCHTsxTBCDDDDDDDDCCJYxyTBCDDDDDDDDDEbxYJCCDDDDDDDDBAXaEDDDDDDDDDDCHTswTBCDDDDDDDDCCJYxyTBCDDDDDDDDDEbxYJCCDDDDDDDDBAXaEDDDDDDDDDDCHTswYJCCDDDDDDDDDDCCNeeNCCDDDDDDDDDDCBTwXABDDDDDDDDDDDDEJiXABDDDDDDDDDDDDEJiWBCDDDDDDDDDDDCFOmcEDDDDDDDDDDDDDCBTw~_LCCDDDDDDDDCBTyXABDDDDDDDDDDDE_dMCCDDDDDDDDCCJYxyTBCDDDDDDDDCCJZyeNCCDDDDDDDDDDCCJYx\ABDDDDDDDDDDDDCBRqaEDDDDDDDDDDDDDDCFNlbEDDDDDDDDDDDCCBB@@Z`ABDDDDDDDDDDDDCBRrwTBCDDDDDDDDDDDDBA\rRBCDDDDDDDDDDCBSvXABDDDDDDDDDDCCL`eNCCDDDDDDDDDDCBTwmPBCDDDDDDDDDDCBUzpQBCDDDDDDDDDDFMlXABDDDDDDDDDDFMlpQBCDDDDDDDCFNleNCCDDDDDDDDCBTwYCCDDDDDDDDCCMdXABDDDDDDDDDDFMlpQBCDDDDDDDCFNleNCCDDDDDDDDCBTwYCCDDDDDDDDCCMcXABDDDDDDDDDDFMlpQBCDDDDDDDCFNleNCCDDDDDDDDCBTwYCCDDDDDDDDCCMcwYJCCDDDDDDDDDDCCNeeNCCDDDDDDDDDDCBTwYABDDDDDDDDDDDDCDbYABDDDDDDDDDDDDCDbXABDDDDDDDDDDDDDEbmOFCDDDDDDDDDDDCBTwkPBCDDDDDDDDCBQpwTBCDDDDDDDDDCFNlmPBCDDDDDDDDDDFMlpQBCDDDDDDDDCBOjeNCCDDDDDDDDDDCCJYx\ABDDDDDDDDDDDDCBRqlNFCDDDDDDDDDDDDDDE`[CCDDDDDDDDDDCCCCBD``ABDDDDDDDDDDDDCBRqwTBCDDDDDDDDDDDDBA\vSBCDDDDDDDDDDCBRsWBCDDDDDDDDDDCCMdeNCCDDDDDDDDDDCBTwpQBCDDDDDDDDDDCBStmPBCDDDDDDDDDDFMl]DCDDDDDDDDDDDEceNCCDDDDDDCCJZyqQBCDDDDDDDDCBPmyTBCDDDDDDDDCBRs^DCDDDDDDDDDDDEbeNCCDDDDDDCCJZyqRBCDDDDDDDDCBPmyTBCDDDDDDDDCBRs]DCDDDDDDDDDDDEbeNCCDDDDDDCCJZyqQBCDDDDDDDDCBPmyTBCDDDDDDDDCBRsxYJCCDDDDDDDDDDCCNeeNCCDDDDDDDDDDCBTwZABDDDDDDDDDDDDB@^ZABDDDDDDDDDDDDB@^ZABDDDDDDDDDDDDBA[tUHCCDDDDDDDDDDCBSvwTBCDDDDDDDDCCNemPBCDDDDDDDDCCJYxzTBCDDDDDDDDDDDEdeNCCDDDDDDDDCBTxeNCCDDDDDDDDDDCCJYx\ABDDDDDDDDDDDDCBRqyZJCCDDDDDDDDDDDDBAY|UBCDDDDDDDDDDDDDCGPn`ABDDDDDDDDDDDDCBRqwTBCDDDDDDDDDDDDBA\zUBCDDDDDDDDDDCBPmzUBCDDDDDDDDDDCCOheNCCDDDDDDDDDDCBTwtSBCDDDDDDDDDDCBPngNCCDDDDDDDDDDFMlgIDDDDDDDDDDDCC\xYJCCDDDDDDCBOj}UBCDDDDDDDDCCMdpQBCDDDDDDDDBAWgIEDDDDDDDDDDCC\xYJCCDDDDDDCBOj}UBCDDDDDDDDCCMdpQBCDDDDDDDDBAWfIEDDDDDDDDDDCC\xYJCCDDDDDDCBOj}UBCDDDDDDDDCCMdpQBCDDDDDDDDBAWxYJCCDDDDDDDDDDCCNeeNCCDDDDDDDDDDCBTw]ABDDDDDDDDDDDDBA[]ABDDDDDDDDDDDDBA[\@BDDDDDDDDDDDDBAWwXICCDDDDDDDDDDCBRsXABDDDDDDDDCCJYxdMCCDDDDDDDDCCNeZABDDDDDDDDDDBB_xYJCCDDDDDDDDBAXeNCCDDDDDDDDDDCCJYx\ABDDDDDDDDDDDDCBRqjOBCDDDDDDDDDDDDCBTymPBCDDDDDDDDDDDDCCMb`ABDDDDDDDDDDDDCBRqwTBCDDDDDDDDDDDDBA\WBCDDDDDDDDDDCCMduSBCDDDDDDDDDDCBPneNCCDDDDDDDDDDCBTwzUBCDDDDDDDDDDCCOi}^LCCDDDDDDDDDDFMlsTHCDDDDDDDDDBAXmNFCDDDDDDDCBTx[CCDDDDDDDDCCJYxeNCCDDDDDDDDCD]sTHCCDDDDDDDDBAXmNFCDDDDDDDCBTx[CCDDDDDDDDCCJYxeNCCDDDDDDDDCD]sTHCCDDDDDDDDBAXmNFCDDDDDDDCBTx[CCDDDDDDDDCCJYxeNCCDDDDDDDDCD^yYJCCDDDDDDDDDDCCNeeNCCDDDDDDDDDDCBTw`BBDDDDDDDDDDDDBAX`BBDDDDDDDDDDDDBAXbEDDDDDDDDDDDDDCBTyxYJCCDDDDDDDDDDCBRq\CCDDDDDDDDDCFNlxYJCCDDDDDDDDCBQpbEDDDDDDDDDDDBA\lNFCDDDDDDDDDCC\eNCCDDDDDDDDDDCCJYx\ABDDDDDDDDDDDDCBRqyTACDDDDDDDDDDDDCCOh|]KCCDDDDDDDDDDDDCBRr`ABDDDDDDDDDDDDCBRqwTBCDDDDDDDDDDDDBA\XABDDDDDDDDDDCCK\{mPBCDDDDDDDDDDCBRseNCCDDDDDDDDDDCBTwWABDDDDDDDDDDCCLatTHCCDDDDDDDDDDFMldMCCDDDDDDDDCBTwbEDDDDDDDDDBAXbEDDDDDDDDDDDFMlxYJCCDDDDDDDDEIgdMCCDDDDDDDDCBTwbEDDDDDDDDDBAXbEDDDDDDDDDDDFMlxYJCCDDDDDDDDDIgcMCCDDDDDDDDCBTwbEDDDDDDDDDBAXbEDDDDDDDDDDDFMlxYJCCDDDDDDDDDIgyYJCCDDDDDDDDDDCCNeeNCCDDDDDDDDDDCBTwcEDDDDDDDDDDDDDCBWdEDDDDDDDDDDDDDCBWlNFCDDDDDDDDDDDCBQpyYJCCDDDDDDDDDDCBRqcEDDDDDDDDDDDDEblMFDDDDDDDDDDCBTymNFCDDDDDDDDDBAXbEDDDDDDDDDDDDEceNCCDDDDDDDDDDCCJYx\ABDDDDDDDDDDDDCBRqXABDDDDDDDDDDDDCCHUulNFCDDDDDDDDDDDDDBAU}`ABDDDDDDDDDDDDCBRqwTBCDDDDDDDDDDDDBA\ZABDDDDDDDDDDCCIVudMCCDDDDDDDDDDCBSveNCCDDDDDDDDDDCBTwZABDDDDDDDDDDCCIXvjLEDDDDDDDDDDDDFMlsRBCDDDDDDDDCBPm\ABDDDDDDDDCC\lMFDDDDDDDDDDDEclNFCDDDDDDDCCHTssRBCDDDDDDDDCBPm\ABDDDDDDDDCC]lMFDDDDDDDDDDDEclNFCDDDDDDDCCHTssRBCDDDDDDDDCBPm\ABDDDDDDDDCC\lMFDDDDDDDDDDDEblNFCDDDDDDDDCHTsxYJCCDDDDDDDDDDCCNeeNCCDDDDDDDDDDCBTxjLEDDDDDDDDDDDDCBTzjLEDDDDDDDDDDDDCBTyxYJCCDDDDDDDDDDCCMbyYJCCDDDDDDDDDDCBRrlMFDDDDDDDDDDB@\dEDDDDDDDDDDDBAWxYJCCDDDDDDDDCBUz\@BDDDDDDDDDDFMleNCCDDDDDDDDDDCCJYx\ABDDDDDDDDDDDDCBRqbGDDDDDDDDDDDDDDDEIe_EDDDDDDDDDDDDDDDCD\`ABDDDDDDDDDDDDCBRqwTBCDDDDDDDDDDDDBA\^CCDDDDDDDDDDDCFOmxYJCCDDDDDDDDDDCBU|eNCCDDDDDDDDDDCBTw^BCDDDDDDDDDDDCFNmcEDDDDDDDDDDDDDFMlWABDDDDDDDDCCMdXABDDDDDDDDDEcxYJCCDDDDDDDDCC]`EDDDDDDDDDCCMdWABDDDDDDDDCCMdXABDDDDDDDDDEcxYJCCDDDDDDDDCC]`EDDDDDDDDDCCMdWABDDDDDDDDCCMdXABDDDDDDDDDEbxYJCCDDDDDDDDCC]`EDDDDDDDDDCCMdxYJCCDDDDDDDDDDCCNeeNCCDDDDDDDDDDCBTxtTHCCDDDDDDDDDDCBQqtTHCCDDDDDDDDDDCBQpeNCCDDDDDDDDDDDCGPoyZJCCDDDDDDDDDDCBSvxYJCCDDDDDDDDBAZ`BBDDDDDDDDDDBA\eNCCDDDDDDDDCBSu[ABDDDDDDDDCCJYxeNCCDDDDDDDDDDCCJYx\ABDDDDDDDDDDDDCBRqpSHCDDDDDDDDDDDDDCDY{VCCDDDDDDDDDDDDDDDIf`ABDDDDDDDDDDDDCBRqwTBCDDDDDDDDDDDDBA\cEDDDDDDDDDDDDDDEclMFDDDDDDDDDDDDBAXeNCCDDDDDDDDDDCBTwcEDDDDDDDDDDDDDDEb]CCDDDDDDDDDDDCFMl\BCDDDDDDDDCCIXvyTBCDDDDDDDDFMldMCCDDDDDDDDBAXXABDDDDDDDDCBRs]BCDDDDDDDDCCIXvyTBCDDDDDDDDFMldMCCDDDDDDDDBAXXABDDDDDDDDCBRs]BCDDDDDDDDCCIXvyTBCDDDDDDDDFMldMCCDDDDDDDDBAXXABDDDDDDDDCBRsxYJCCDDDDDDDDDDCCNeeNCCDDDDDDDDDDCBTx}^LCCDDDDDDDDDDCCMb}^LCCDDDDDDDDDDCCMbpQBCDDDDDDDDDDDDDEatUHCCDDDDDDDDDDCBUzdMCCDDDDDDDDBBX\ABDDDDDDDDDDCEbpQBCDDDDDDDDCBPmXBBDDDDDDDDCCMdeNCCDDDDDDDDDDCCJYx\ABDDDDDDDDDDDDCBRqaLCCDDDDDDDDDDDDCBPmfNBCDDDDDDDDDDDDCCHUu`ABDDDDDDDDDDDDCBRqxTBCDDDDDDDDDDDDBA\iJEDDDDDDDDDDDDBA[bEDDDDDDDDDDDDDBA[eNCCDDDDDDDDDDCBTxlMFDDDDDDDDDDDDBAZXABDDDDDDDDDDDCFMlbECDDDDDDDDDDDHepQBCDDDDDDCCJYxmPBCDDDDDDDDCBTwwTBCDDDDDDDDBAWbECDDDDDDDDDDDHepQBCDDDDDDCCJYxmPBCDDDDDDDDCBTwxTBCDDDDDDDDBAWbECDDDDDDDDDDDHepQBCDDDDDDCCJYxmPBCDDDDDDDDCBTwwTBCDDDDDDDDBAWxYJCCDDDDDDDDDDCCNeeNCCDDDDDDDDDDCBTxgNCCDDDDDDDDDDDCGPogNCCDDDDDDDDDDDCGPoyTBCDDDDDDDDDDDDCCYkLEDDDDDDDDDDDDCBWmPBCDDDDDDDDCBTwXABDDDDDDDDDCFNlyTBCDDDDDDDDCCMdwTBCDDDDDDDDCBPmeNCCDDDDDDDDDDCCJYx\ABDDDDDDDDDDDDCBRqpQBCDDDDDDDDDDDDCCIWvnQGCDDDDDDDDDDDDDCCOh`ABDDDDDDDDDDDDCBRqxTBCDDDDDDDDDDDDBA\oPGCDDDDDDDDDDDBAV]CCDDDDDDDDDDDDB@\eNCCDDDDDDDDDDCBTxxYJCCDDDDDDDDDDCBUzxTBCDDDDDDDDDDDCFMloPGCDDDDDDDDDB@[eNCCDDDDDDCCMdyTBCDDDDDDDDCBPmkPBCDDDDDDDDCD^oPGCDDDDDDDDDB@[eNCCDDDDDDCCMdyTBCDDDDDDDDCBPmlPBCDDDDDDDDCD^oPGCDDDDDDDDDB@[eNCCDDDDDDCCMdyTBCDDDDDDDDCBPmkPBCDDDDDDDDCD^xYJCCDDDDDDDDDDCCNeeNCCDDDDDDDDDDCBTxpQBCDDDDDDDDDDDDCEbpQBCDDDDDDDDDDDDCEbXABDDDDDDDDDDDDCBSubEDDDDDDDDDDDDDBAYxTBCDDDDDDDDCBPmyTBCDDDDDDDDCCJ[zWABDDDDDDDDCCJZzmPBCDDDDDDDDCBTyeNCCDDDDDDDDDDCCJYx\ABDDDDDDDDDDDDCBRqYDCDDDDDDDDDDDDDDEIe^EDDDDDDDDDDDDDDDBATy`ABDDDDDDDDDDDDCBRqxTBCDDDDDDDDDDDDBA\xYJCCDDDDDDDDDDCBQpWABDDDDDDDDDDDDDEbeNCCDDDDDDDDDDCBTxeNCCDDDDDDDDDDCBPkhOCCDDDDDDDDDDDCFMlbMCCDDDDDDDDBAXxYJCCDDDDDDCBPmYABDDDDDDDDCCMd~_LCCDDDDDDDDEIgbMCCDDDDDDDDBAXxYJCCDDDDDDCBPmYABDDDDDDDDCCMd~_LCCDDDDDDDDEIgbMCCDDDDDDDDBAWxYJCCDDDDDDCBPmYABDDDDDDDDCCMd~_LCCDDDDDDDDEIgxYJCCDDDDDDDDDDCCNeeNCCDDDDDDDDDDCBTxzTBCDDDDDDDDDDDDCB[yTBCDDDDDDDDDDDDCB[[@BDDDDDDDDDDDDCCMb[CCDDDDDDDDDDDDB@\XABDDDDDDDDCCMdpQBCDDDDDDDDCBOj[@BDDDDDDDDDCGQpdMCCDDDDDDDDBAYeNCCDDDDDDDDDDCCJYx\ABDDDDDDDDDDDDCBRqeIEDDDDDDDDDDDDDDDDX}wTCCDDDDDDDDDDDDDDB@X`ABDDDDDDDDDDDDCBRqxTBCDDDDDDDDDDDDBA\eNCCDDDDDDDDDDCCLatRBCDDDDDDDDDDDCFNmeNCCDDDDDDDDDDCBTxqRBCDDDDDDDDDDCCL_~uUHCCDDDDDDDDDDDCFMlrRBCDDDDDDDDCBTzmNFCDDDDDDDCBTyaEDDDDDDDDDCCJYxqSHCDDDDDDDCCHVurRBCDDDDDDDDCBTzmNFCDDDDDDDCBTyaEDDDDDDDDDCCJYxqSHCDDDDDDDCCHUurRBCDDDDDDDDCBTymNFCDDDDDDDCBTyaEDDDDDDDDDCCJYyqSHCDDDDDDDCCHVuyYJCCDDDDDDDDDDCCNeeNCCDDDDDDDDDDCBTxXABDDDDDDDDDDDDCBTzXABDDDDDDDDDDDDCBTyeHDDDDDDDDDDDDDDCHSo|UBCDDDDDDDDDDDDCEb]CCDDDDDDDDCCK\{eNCCDDDDDDDDCBTxeHDDDDDDDDDDDEIhxYJCCDDDDDDDDDEaeNCCDDDDDDDDDDCCJYx\ABDDDDDDDDDDDDCBRquUHCCDDDDDDDDDDDDCBMe~`LCCDDDDDDDDDDDDDDEIe`ABDDDDDDDDDDDDCBRrxTBCDDDDDDDDDDDDBA\pQBCDDDDDDDDDDDCHSqbMCCDDDDDDDDDDCCJYxeNCCDDDDDDDDDDCBTxVABDDDDDDDDDDDCHSpeIEDDDDDDDDDDDDDCFMl~VBCDDDDDDDDCBQpbEDDDDDDDDDBAYlNFCDDDDDDDDDFMldGDDDDDDDDDCCOi~VBCDDDDDDDDCBQpcEDDDDDDDDDBAYmNFCDDDDDDDDDFMldGDDDDDDDDDCCOi~VBCDDDDDDDDCBQpcEDDDDDDDDDBAYlNFCDDDDDDDDDFMldGDDDDDDDDDCCOiyYJCCDDDDDDDDDDCCNeeNCCDDDDDDDDDDCBTx\@BDDDDDDDDDDDDCCMds]^gw[@BDDDDDDDDDDDDCCMdr]^gwvWICCDDDDDDDDDDDDDG\mPBCDDDDDDDDDDDCFNmcEDDDDDDDDDCCIVuxYJCCDDDDDDDDBAXvXICCDDDDDDDDCDalMFDDDDDDDDDCFNleNCCDDDDDDDDDDCCJYx\ABDDDDDDDDDDDDCBRrhOBCDDDDDDDDDDDDDCELgeKECDDDDDDDDDDDDDCCK\z`ABDDDDDDDDDDDDCBRrxTBCDDDDDDDDDDDDBA\yTBCDDDDDDDDDDDDDGcmPGCDDDDDDDDDDDCCNeeNCCDDDDDDDDDDCBTx[@BDDDDDDDDDDDDDG`YDCDDDDDDDDDDDDDCFMl[CCDDDDDDDDCCNe\@BDDDDDDDDDEaxYJCCDDDDDDDDDEc\@BDDDDDDDDCBTy[CCDDDDDDDDCCNe\@BDDDDDDDDDEaxYJCCDDDDDDDDDEc\@BDDDDDDDDCBTx[CCDDDDDDDDCCNe\@BDDDDDDDDDEaxYJCCDDDDDDDDDEc\@BDDDDDDDDCBTyyYJCCDDDDDDDDDDCCNeeNCCDDDDDDDDDDCBTxdGDDDDDDDDDDDDDDCHSpW>?HXdnrrrqqq|dGDDDDDDDDDDDDDDCHSpV>?HXdnrrqqqq|iOBCDDDDDDDDDDDDCBOkz\KCCDDDDDDDDDDCCJZzlMFDDDDDDDDDCFOmmNFCDDDDDDDDDCC]dMCCDDDDDDDDBA\cEDDDDDDDDDCCJYxeNCCDDDDDDDDDDCCJYx\ABDDDDDDDDDDDDCBRr|XDDDDDDDDDDDDDDDDB@T{{TABDDDDDDDDDDDDDDCBQq`ABDDDDDDDDDDDDCBRrxTBCDDDDDDDDDDDDBA\YCCDDDDDDDDDDDDBAX_EDDDDDDDDDDDDDCBRreNCCDDDDDDDDDDCBTxeHDDDDDDDDDDDDDBATzmPBCDDDDDDDDDDDDDCFMlbEDDDDDDDDDCCJYyXABDDDDDDDCFNmeNCCDDDDDDDDCC]XABDDDDDDDDBAXbEDDDDDDDDDCCJYyXABDDDDDDDCFNmeNCCDDDDDDDDCC]XABDDDDDDDDBAXbEDDDDDDDDDCCJYyXABDDDDDDDCFNmeNCCDDDDDDDDCC]XABDDDDDDDDBAXyYJCCDDDDDDDDDDCCNeeNCCDDDDDDDDDDCBTxqSHCDDDDDDDDDDDDDDG`pP@@DIMPRRRRRQU]_]sqSHCDDDDDDDDDDDDDDG`pP@@DIMPRRRRQQU\_]s{UACDDDDDDDDDDDDCCGSoeIEDDDDDDDDDDDDCBOjxYJCCDDDDDDDDDEccEDDDDDDDDDDDDEcmPBCDDDDDDDDBAY]CCDDDDDDDDCCNeeNCCDDDDDDDDDDCCJYx\ABDDDDDDDDDDDDCBRrcIEDDDDDDDDDDDDDDCBJ\zz\JBCDDDDDDDDDDDDDDB@X`ABDDDDDDDDDDDDCBRrxTBCDDDDDDDDDDDDBA\aEDDDDDDDDDDDDDCBQp{VCCDDDDDDDDDDDDCBV~eNCCDDDDDDDDDDCBTxvWICCDDDDDDDDDDCBMdwWICCDDDDDDDDDDDDDCFMlmNFCDDDDDDDDCFNnzTBCDDDDDDCCJYxpQBCDDDDDDDDBAXwTBCDDDDDDDDDE`mNFCDDDDDDDDCFNnzTBCDDDDDDCCJYypQBCDDDDDDDDBAXwTBCDDDDDDDDDE`mNFCDDDDDDDDCFNmzTBCDDDDDDCCJYypQBCDDDDDDDDBAXwTBCDDDDDDDDDE`yYJCCDDDDDDDDDDCCNeeNCCDDDDDDDDDDCBTxaLCCDDDDDDDDDDDDBATxz\KCCDCCBBBBBBBBAAEcaLCCDDDDDDDDDDDDBATxz\KCCDCCBBBBBBBBAAEc\DCDDDDDDDDDDDDDDDE[W@BDDDDDDDDDDDDCATydMCCDDDDDDDDB@\\@BDDDDDDDDDDFMlxTBCDDDDDDDDCBWYABDDDDDDDDCBQpeNCCDDDDDDDDDDCCJYy\ABDDDDDDDDDDDDCBRruWICCDDDDDDDDDDDDDDEIaaIEDDDDDDDDDDDDDDDDDIe`ABDDDDDDDDDDDDCBRrxTBCDDDDDDDDDDDDBA\mNFCDDDDDDDDDDDCCK\yfNBCDDDDDDDDDDDDCB[eNCCDDDDDDDDDDCBTxiOBCDDDDDDDDDDDCHSneIEDDDDDDDDDDDDDDDCFMl}]LCCDDDDDDDDDEdpQBCDDDDDDCCNezTBCDDDDDDDDCBUz|iOCCDDDDDDDCFNl}]LCCDDDDDDDDDEdpQBCDDDDDDCCNezTBCDDDDDDDDCBUz|hOCCDDDDDDDCFNl}]LCCDDDDDDDDDEdpQBCDDDDDDCCNezTBCDDDDDDDDCBUz|iOCCDDDDDDDCFNlyYJCCDDDDDDDDDDCCNeeNCCDDDDDDDDDDCBTxpQBCDDDDDDDDDDDDCBL_~dIEDDDCCCCCCCCCBAGVupQBCDDDDDDDDDDDDCBL_~dIEDDDCCCCCCCCCBAGVufIDDDDDDDDDDDDDDDCDMbgNBCDDDDDDDDDDDDBAYmPBCDDDDDDDDBAYXABDDDDDDDDCCJYyXABDDDDDDDDCBTwXABDDDDDDDDCBTzeNCCDDDDDDDDDDCCJYy\ABDDDDDDDDDDDDCBRrmPBCDDDDDDDDDDDDDDDDPeiQDDDDDDDDDDDDDDDDCCK\z`ABDDDDDDDDDDDDCBRrxTBCDDDDDDDDDDDDBA\}]KCCDDDDDDDDDDDDEIbmQGCDDDDDDDDDDDDDCEbeNCCDDDDDDDDDDCBTx{UACDDDDDDDDDDDDDG[~yVDDDDDDDDDDDDDDDDDCFMllPBCDDDDDDDDB@]fNCCDDDDDDCBQpXABDDDDDDDDCBRoxj[KCCDDDDDDCCJ[zlPBCDDDDDDDDB@]fNCCDDDDDDCBQpXABDDDDDDDDCBRoxj[KCCDDDDDDCCJ[zlPBCDDDDDDDDB@]fNCCDDDDDDCBQpXABDDDDDDDDCBRoxj[KCCDDDDDDCCJ[zyYJCCDDDDDDDDDDCCNeeNCCDDDDDDDDDDCBTxXCCDDDDDDDDDDDDDCFNi}UABDDDDDDDDDDDDCBNgXCCDDDDDDDDDDDDDCFNi}UABDDDDDDDDDDDDCBNgxXICCDDDDDDDDDDDDDCFNgnRHCDDDDDDDDDDDDDDFb{UACDDDDDDDDCBWzUBCDDDDDDDDCCNe]CCDDDDDDDDCBRq{UBCDDDDDDDDBAXeNCCDDDDDDDDDDCCJYy\ABDDDDDDDDDDDDCBRr\GDDDDDDDDDDDDDDDDCFNelRGCCDDDDDDDDDDDDDDCCSr`ABDDDDDDDDDDDDCBRrxTBCDDDDDDDDDDDDBA\nQBCDDDDDDDDDDDDBASv[EDDDDDDDDDDDDDDCGQpeNCCDDDDDDDDDDCBTx\DCDDDDDDDDDDDDCBMe}`LBCDDDDDDDDDDDDDDDCFMlxTBCDDDDDDDDBAYrZJCCDDDDDDCBTz[@BDDDDDDDDCCOgk[NGDDDDDDDDCBOjxTBCDDDDDDDDBAYrZJCCDDDDDDCBTz[@BDDDDDDDDCCOgk[NGDDDDDDDDCBOjxTBCDDDDDDDDBAYrZJCCDDDDDDCBTz[@BDDDDDDDDCCOgk[NGDDDDDDDDCBOjyYJCCDDDDDDDDDDCCNffNCCDDDDDDDDDDCBTx`EDDDDDDDDDDDDDDDDEXz`LBCDDDDDDDDDDDDCBSv_EDDDDDDDDDDDDDDDDFXz`LBCDDDDDDDDDDDDCBSwrQACDDDDDDDDDDDDDDDFSl[GDDDDDDDDDDDDDDCHSp[ABDDDDDDDDCBTxrRBCDDDDDDDDCBRrcEDDDDDDDDDCBQnrRBCDDDDDDDDB@\eNCCDDDDDDDDDDCCJYy\ABDDDDDDDDDDDDCBRrnRHCDDDDDDDDDDDDDDDDFPepVGDDDDDDDDDDDDDDDDDDE^`ABDDDDDDDDDDDDCBRrxTBCDDDDDDDDDDDDBA\VABDDDDDDDDDDDDCBJZxbNDDDDDDDDDDDDDDCBNgeNCCDDDDDDDDDDCBTxfIDDDDDDDDDDDDDDCELgaKECDDDDDDDDDDDDDDDDCFMlYCCDDDDDDDDCBU{cOGCDDDDDDDBAXeHDDDDDDDDDCCKZ\OGDDDDDDDDDCBTyYCCDDDDDDDDCBU{cOGCDDDDDDDBAXeHDDDDDDDDDCCKZ\OGDDDDDDDDDCBTyYCCDDDDDDDDCBU{cOGCDDDDDDDBAXeHDDDDDDDDDCCKZ\OGDDDDDDDDDCBTyyYJCCDDDDDDDDDDCCNffNCCDDDDDDDDDDCBTxoQGCDDDDDDDDDDDDDCBL`}iNFCDDDDDDDDDDDDDCD[oQGCDDDDDDDDDDDDDCBL`|iNFCDDDDDDDDDDDDDCD[^GDDDDDDDDDDDDDDDCCGRjeMBCDDDDDDDDDDDDCBMdcEDDDDDDDDDCBRp~xgOCCDDDDDDDDBAVlMFDDDDDDDDCCOivugOCCDDDDDDDDDEceNCCDDDDDDDDDDCCJYy\ABDDDDDDDDDDDDCBRrgNBCDDDDDDDDDDDDDDCCFNepWHBCDDDDDDDDDDDDDDCCGSp`ABDDDDDDDDDDDDCBRrxTBCDDDDDDDDDDDDBA\aGDDDDDDDDDDDDDDDEIahMFCDDDDDDDDDDDDDCCV|eNCCDDDDDDDDDDCBTxxXICCDDDDDDDDDDDDB@TzjOACDDDDDDDDDDDDDDDDDCFMl`EDDDDDDDDDCBRoqVFDDDDDDDDDB@\vXICCDDDDDDDDFKKGDDDDDDDDDDBAX`EDDDDDDDDDCBRopVFDDDDDDDDDB@\vXICCDDDDDDDDFKKGDDDDDDDDDDBAX`EDDDDDDDDDCBRnpVFDDDDDDDDDB@\vXICCDDDDDDDDFKKGDDDDDDDDDDBAXyYJCCDDDDDDDDDDCCNfeNCCDDDDDDDDDDCBTxgNBCDDDDDDDDDDDDDCEL`uVFDDDDDDDDDDDDDDDEIfgNBCDDDDDDDDDDDDDCEL_uVFDDDDDDDDDDDDDDDEIfoRHCDDDDDDDDDDDDDDCDGRfaMFCDDDDDDDDDDDDDBATymNFCDDDDDDDCBPkti[KCCDDDDDDDDBA[yYJCCDDDDDDCCL`ie[KCCDDDDDDDCFNmeNCCDDDDDDDDDDCCJYy\ABDDDDDDDDDDDDCBRrW@BDDDDDDDDDDDDDDDCDFP`zlVHDCDDDDDDDDDDDDDDDCBOk`ABDDDDDDDDDDDDCBRrxTBCDDDDDDDDDDDDBA\pSHCDDDDDDDDDDDDDDEPeuVEDDDDDDDDDDDDDDDDE_eNCCDDDDDDDDDDCBTxrQACDDDDDDDDDDDDCBHWqdNFCCDDDDDDDDDDDDDDDDDCFMlkMFDDDDDDDDCCM__LBCDDDDDDDDDEbdMCCDDDDDDDDDCCCDDDDDDDDDDDE`jMFDDDDDDDDCCM__LBCDDDDDDDDDEbdMCCDDDDDDDDDCCCDDDDDDDDDDDE`jMFDDDDDDDDCCM__LBCDDDDDDDDDEceMCCDDDDDDDDDCCCDDDDDDDDDDDE`yYJCCDDDDDDDDDDCCNfeNCCDDDDDDDDDDCBTx|VCCDDDDDDDDDDDDDDCAMev\JBCDDDDDDDDDDDDCCIWw|VCCDDDDDDDDDDDDDDCAMew\KBCDDDDDDDDDDDDCCIWwgMBCDDDDDDDDDDDDDDCCFN`}eMACDDDDDDDDDDDDDDDHayYJCCDDDDDDCCMbg[PGCDDDDDDDDDDEcgNCCDDDDDDCCJX^YRHCDDDDDDDCCJ[zeNCCDDDDDDDDDDCCJYy\ABDDDDDDDDDDDDCBRriLECCDDDDDDDDDDDDDDDCDI\{iRGBCDDDDDDDDDDDDDDDCDH^`ABDDDDDDDDDDDDCBRrxTBCDDDDDDDDDDDDBA\dMBCDDDDDDDDDDDDDCFNev\JBCDDDDDDDDDDDDCCGQoeNCCDDDDDDDDDDCBTx^GDDDDDDDDDDDDDDDDEVujNACDDDDDDDDDDDDDDDDDDDCFMlxYJCCDDDDDDDDGLLFCDDDDDDDDCFNmmPBCDDDDDDDDDCCDDDDDDDDDDCFNlxYJCCDDDDDDDDGLLFCDDDDDDDDCFNmmPBCDDDDDDDDDCCDDDDDDDDDDCFNlxYJCCDDDDDDDDFLLFCDDDDDDDDCFNmmPBCDDDDDDDDDCCDDDDDDDDDDCFNlyYJCCDDDDDDDDDDCCNffNCCDDDDDDDDDDCBTx_EDDDDDDDDDDDDDDDCCEM_|vZJECDDDDDDDDDDDDDCBPm_EDDDDDDDDDDDDDDDCCEM`}w[JECDDDDDDDDDDDDDCBPmW@BDDDDDDDDDDDDDDDCDFLTgs\MFCCDDDDDDDDDDDDCCIWufNCCDDDDDDDCIUWMGDDDDDDDDDDCFNmwTBCDDDDDDDCHSVQLFDDDDDDDDCBOjfNCCDDDDDDDDDDCCJYy\ABDDDDDDDDDDDDCBRreMBCDDDDDDDDDDDDDDDDDEJTe~yaQGDCDDDDDDDDDDDDDDDCCIWs`ABDDDDDDDDDDDDCBRrxTBCDDDDDDDDDDDDBA\zTABDDDDDDDDDDDDDDDFPeqYJECDDDDDDDDDDDDDCBNgfNCCDDDDDDDDDDCBTxoRHCDDDDDDDDDDDDDDDHRe}aOFCCDDDDDDDDDDDDDDDDDDDCFMlgNCCDDDDDDDDDCCDDDDDDDDDCCJ[zxTBCDDDDDDDDDDDDDDDDDDDDCCJ[zgNCCDDDDDDDDDCCDDDDDDDDDCCJ[zxTBCDDDDDDDDDDDDDDDDDDDDCCJ[zgNCCDDDDDDDDDCCDDDDDDDDDCCJ[zxTBCDDDDDDDDDDDDDDDDDDDDCCJ[zyYJCCDDDDDDDDDDCCNffNCCDDDDDDDDDDCBTxoQGCCDDDDDDDDDDDDDDCAL`zu\JBCDDDDDDDDDDDDDDCDYoQGCCDDDDDDDDDDDDDDCAL`{v\JBCDDDDDDDDDDDDDDCDYiLECCDDDDDDDDDDDDDDDCB@Le~nWHBCDDDDDDDDDDDDDDCCPmpQBCDDDDDDDDFLLFCDDDDDDDDDCCJYyXABDDDDDDDDGLNKHEDDDDDDDDCBTyfNCCDDDDDDDDDDCCJYy\ABDDDDDDDDDDDDCBRr\HDCDDDDDDDDDDDDDDDDDBAK`yw[JDCDDDDDDDDDDDDDDDDDDDSn`ABDDDDDDDDDDDDCBRrxTBCDDDDDDDDDDDDBA\aHDDDDDDDDDDDDDDDCCFNdpWHBCDDDDDDDDDDDDDDCDW}fNCCDDDDDDDDDDCBTxgNBCDDDDDDDDDDDDDDBALez`KACDDDDDDDDDDDDDDDDDDDDDCFMmwTBCDDDDDDDDDCCDDDDDDDDDCBPjXABDDDDDDDDDDDDDDDDDDDDCBOjwTBCDDDDDDDDDCCDDDDDDDDDCBOjXABDDDDDDDDDDDDDDDDDDDDCBOjwTBCDDDDDDDDDCCDDDDDDDDDCBOjXABDDDDDDDDDDDDDDDDDDDDCBOjyYJCCDDDDDDDDDDCCNffNCCDDDDDDDDDDCBTxfNBCDDDDDDDDDDDDDDCCELYnmXJECDDDDDDDDDDDDDDDEIffNBCDDDDDDDDDDDDDDCCELYnmXJECDDDDDDDDDDDDDDDEIfeMBCDDDDDDDDDDDDDDDDCBEMXewp]QIDCCDDDDDDDDDDDDDDDE\zTBCDDDDDDDDDFFDDDDDDDDDDDCCNf\@BDDDDDDDDDGGFEDDDDDDDDDBAXfNCCDDDDDDDDDDCCJYy\ABDDDDDDDDDDDDCBRrsWHCCDDDDDDDDDDDDDDDDCBELU`pzcSJEDCDDDDDDDDDDDDDDDDCEIb`ABDDDDDDDDDDDDCBRrxTBCDDDDDDDDDDDDBA\uWICCDDDDDDDDDDDDDCDFN\thUIDCDDDDDDDDDDDDDDDEIcfNCCDDDDDDDDDDCBTxW@BDDDDDDDDDDDDDDCBEM[nyeVLECCDDDDDDDDDDDDDDDDDDDDDCFMmXABDDDDDDDDDDDDDDDDDDDDCBTy]BCDDDDDDDDDDDDDDDDDDDDCBTyXABDDDDDDDDDDDDDDDDDDDDCBTy]BCDDDDDDDDDDDDDDDDDDDDCBTyXABDDDDDDDDDDDDDDDDDDDDCBTy]BCDDDDDDDDDDDDDDDDDDDDCBTyyYJCCDDDDDDDDDDCCNffNCCDDDDDDDDDDCBTx[GDDDDDDDDDDDDDDDDDCBGSgiRGBCDDDDDDDDDDDDDDCBIXy[GDDDDDDDDDDDDDDDDDCBGSgiRGBCDDDDDDDDDDDDDDCBIXy\HDCDDDDDDDDDDDDDDDDDCBDJWmlSECCDDDDDDDDDDDDDDDCBHTqXABDDDDDDDDDDDDDDDDDDDDDDCBQqcEDDDDDDDDDDDDDDDDDDDDDDDCB]fNCCDDDDDDDDDDCCJYy\ABDDDDDDDDDDDDCBRrpUEDCDDDDDDDDDDDDDDDDDCCCEQg}q\JABDDDDDDDDDDDDDDDDDDCDL\z`ABDDDDDDDDDDDDCBRrxTBCDDDDDDDDDDDDBA\mPCCDDDDDDDDDDDDDDDCCEVu}`NFCCDDDDDDDDDDDDDDCBIXwfNCCDDDDDDDDDDCBTxiLECCDDDDDDDDDDDDDDCBGSdzrYIDBCDDDDDDDDDDDDDDDDDDDDDDDCFMm\@BDDDDDDDDDDDDDDDDDDDDBAXcECDDDDDDDDDDDDDDDDDDDDBAX\@BDDDDDDDDDDDDDDDDDDDDBAXcECDDDDDDDDDDDDDDDDDDDDBAX\@BDDDDDDDDDDDDDDDDDDDDBAXcECDDDDDDDDDDDDDDDDDDDDBAXhb``````````````_^syYJCCDDDDDDDDDDCCNffNCCDDDDDDDDDDCBTxnRHCCDDDDDDDDDDDDDDDCDHMWijXNHDCDDDDDDDDDDDDDDDBAQrnRHCCDDDDDDDDDDDDDDDCDHMVijXNHDCDDDDDDDDDDDDDDDBAQrsWHCCDDDDDDDDDDDDDDDDDCCEIPXapqaXPHDCCDDDDDDDDDDDDDDDBAPp\@BDDDDDDDDDDDDDDDDDDDDDDCBTzmNFCDDDDDDDDDDDDDDDDDDDDDDEcfNCCDDDDDDDDDDCCJYy\ABDDDDDDDDDDDDCBRrhMFCCDDDDDDDDDDDDDDDDDCCDGNU\l{fXQKEBCDDDDDDDDDDDDDDDDDDDEX}`ABDDDDDDDDDDDDCBRrxTBCDDDDDDDDDDDDBA\hb``````````````_^s\EDDDDDDDDDDDDDDDDDCDHRauzdULFDCDDDDDDDDDDDDDDDBAQrfNCCDDDDDDDDDDCBTxeMBCDDDDDDDDDDDDDDDCDHMT]gul]XRIEDCDDDDDDDDDDDDDDDDDDDDDDDDCFMmfHDDDDDDDDDDDDDDDDDDDDDCB]nNFCDDDDDDDDDDDDDDDDDDDDE`fHDDDDDDDDDDDDDDDDDDDDDCB]nNFCDDDDDDDDDDDDDDDDDDDDE`fHDDDDDDDDDDDDDDDDDDDDDCB]nNFCDDDDDDDDDDDDDDDDDDDDE`kKC@@AAAAAAAAAAAA??ZyYJCCDDDDDDDDDDCCNffNCCDDDDDDDDDDCBTygOCCDDDDDDDDDDDDDDDDDCB@Le|~eL@BCDDDDDDDDDDDDDDDDCEKcgOCCDDDDDDDDDDDDDDDDDCB@Le|}eL@BCDDDDDDDDDDDDDDDDCEKcpUFDCDDDDDDDDDDDDDDDDDDDCBCEQgzzhQECBCDDDDDDDDDDDDDDDDCCEKccEDDDDDDDDDDDDDDDDDDDDDDDCCYyYJCCDDDDDDDDDDDDDDDDDDDCFMlfNCCDDDDDDDDDDCCJYy\ABDDDDDDDDDDDDCBRrePFDCDDDDDDDDDDDDDDDDDDDCCA@Lez}n\I@BCDDDDDDDDDDDDDDDDDDDDDJXr`ABDDDDDDDDDDDDCBRryTBCDDDDDDDDDDDDBA\kKC@@AAAAAAAAAAAA??ZpTHBCDDDDDDDDDDDDDDDDCAHXjq\IABCDDDDDDDDDDDDDDDCCEKcfNCCDDDDDDDDDDCBTx\HDCDDDDDDDDDDDDDDDDCBADJViu{}rrfM@@BCDDDDDDDDDDDCCDDDDDDDDDDDDDDCFMmwXICCDDDDDDDDDDDDDDDDDDDEc}^LCCDDDDDDDDDDDDDDDDDCFNlwXICCDDDDDDDDDDDDDDDDDDDEc~^LCCDDDDDDDDDDDDDDDDDCFNlvXICCDDDDDDDDDDDDDDDDDDDEc}^LCCDDDDDDDDDDDDDDDDDCFOllLDABBBBBBBBBBBBB@?[yYJCCDDDDDDDDDDCCNffNCCDDDDDDDDDDCBTy[EDDDDDDDDDDDDDDDDDDDCBFNU[fwwh\UNEBCDDDDDDDDDDDDDDDDCBL`~[EDDDDDDDDDDDDDDDDDDDCBFNU[fwwh\UNFBCDDDDDDDDDDDDDDDDCBL`~hNFCCDDDDDDDDDDDDDDDDDDCCCCGNUY]^mqc^YUOGCCCCDDDDDDDDDDDDDDDDCBL`~mOFCDDDDDDDDDDDDDDDDDDDDDDE`fNCCDDDDDDDDDDDDDDDDDDCCJYyfNCCDDDDDDDDDDCCJYy\ABDDDDDDDDDDDDCBRreMFCCDDDDDDDDDDDDDDDDDDDCBBENUY^cqk]YUPKEBCCDDDDDDDDDDDDDDDDDDDDEX{`ABDDDDDDDDDDDDCBRryTBCDDDDDDDDDDDDBA\lLDABBBBBBBBBBBBB@?[pPABDDDDDDDDDDDDDDDDCBDIOV^hvrcXQKEBCDDDDDDDDDDDDDDDDCBL`~fNCCDDDDDDDDDDCBTxsWICCDDDDDDDDDDDDDDDDCCCEIOSUX^````````]URRNFBBCCDDDDDDDDDDDCCDDDDDDDDDDDDDDCFMmfNCCDDDDDDDDDDDDDDDDDCFMmlPBCDDDDDDDDDDDDDDDDCCJ[zfNCCDDDDDDDDDDDDDDDDDCFMmlPBCDDDDDDDDDDDDDDDDCCJ[zfNCCDDDDDDDDDDDDDDDDDCFMmlPBCDDDDDDDDDDDDDDDDCCJ[zmMFCDDDDDDDDDDDDDBA\yYJCCDDDDDDDDDDCCNffNCCDDDDDDDDDDCBTytWHBCDDDDDDDDDDDDDDDDDDDCA@HXenxwneXH@ACDDDDDDDDDDDDDDDDDDCDGY{tWHBCDDDDDDDDDDDDDDDDDDDCA@HXemxwneXH@ACDDDDDDDDDDDDDDDDDDCDGY{eQFDCDDDDDDDDDDDDDDDDDDDDDCCBA@@MfsssvwrshRDBABCCDDDDDDDDDDDDDDDDDDCCDJ\|yZJCCDDDDDDDDDDDDDDDDDDDCFMkqQBCDDDDDDDDDDDDDDDDDDCCMdfNCCDDDDDDDDDDCCJYy\ABDDDDDDDDDDDDCBRrePFDCDDDDDDDDDDDDDDDDDDDDDDCBABDQhsrxvqnaK@@BBCDDDDDDDDDDDDDDDDDDDDDCDJXs`ABDDDDDDDDDDDDCBRryTBCDDDDDDDDDDDDBA\mMFCDDDDDDDDDDDDDBA\dLECCDDDDDDDDDDDDDDDDDCBADJVjtwwl`SGABCDDDDDDDDDDDDDDDDDDCEJ]|fNCCDDDDDDDDDDCBTxoTFDDDDDDDDDDDDDDDDDDDDDCCBBAAAAAAAAAAABBBCDDDDDDDDDDDDDCCFMMGDDDDDDDDDDDDDCFMmrRBCDDDDDDDDDDDDDDDDCCJYyyTBCDDDDDDDDDDDDDDDDCBPjrRBCDDDDDDDDDDDDDDDDCCJYyyTBCDDDDDDDDDDDDDDDDCBPjrRBCDDDDDDDDDDDDDDDDCCJYyyTBCDDDDDDDDDDDDDDDDCBPjmMFCDDDDDDDDDDDDDBA\yYJCCDDDDDDDDDDCCNffNCCDDDDDDDDDDCBTyzS@BDDDDDDDDDDDDDDDDDDDCBBDIMPTX\_````````^ZWTPMIDBBCDDDDDDDDDDDDDDDDDCCGRnzS@BDDDDDDDDDDDDDDDDDDDCBBDIMPTX\_````````^ZWTPMIDBBCDDDDDDDDDDDDDDDDDCCGRneNFCCDDDDDDDDDDDDDDDDDDDDDCCBBAFNRRRSW]````````````^ZWTRROGCBBCCDDDDDDDDDDDDDDDDDDDCBJ\xfNCCDDDDDDDDDDDDDDDDDDCCJYyzTBCDDDDDDDDDDDDDDDDDDCBPmfNCCDDDDDDDDDDCCJYy\ABDDDDDDDDDDDDCBRreMECCDDDDDDDDDDDDDDDDDDDDDCCBBCGORRTX\_``````````^ZVTQPLEBBCCCDDDDDDDDDDDDDDDDDDDDCCEX{`ABDDDDDDDDDDDDCBRryTBCDDDDDDDDDDDDBA\mMFCDDDDDDDDDDDDDBA\eMACDDDDDDDDDDDDDDDDDCCBCEIOSTW]````````^ZWTPLHDBCCDDDDDDDDDDDDDDDDDCBJ\wfNCCDDDDDDDDDDCBTxfNFCDDDDDDDDDDDDDDDDDDDCCCCBBBBBBBBBBBCCCCDDDDDDDDDDDDDCBMcdNCCDDDDDDDDDDDCFMmVABDDDDDDDDDDDDDDDDCCMeXABDDDDDDDDDDDDDDDDCBTyVABDDDDDDDDDDDDDDDDCCMeXABDDDDDDDDDDDDDDDDCBTyVABDDDDDDDDDDDDDDDDCCMeXABDDDDDDDDDDDDDDDDCBTymMFCDDDDDDDDDDDDDBA\yYJCCDDDDDDDDDDCCNffNCCDDDDDDDDDDCBTylQFBCDDDDDDDDDDDDDDDDDDDDDCCBBAAAAAAAAAAAAABBBCCDDDDDDDDDDDDDDDDDDDDCDFRjlQFBCDDDDDDDDDDDDDDDDDDDDDCCBBAAAAAAAAAAAAABBBCCDDDDDDDDDDDDDDDDDDDDCDFSjhUHDCCDDDDDDDDDDDDDDDDDDDDDDDDDCBBBBBA@AAAAAAAAAAAAABBBBCCDDDDDDDDDDDDDDDDDDDDDDCBEL]wqQBCDDDDDDDDDDDDDDDDDDCCMeYCCDDDDDDDDDDDDDDDDDDCBTzfNCCDDDDDDDDDDCCJYy\ABDDDDDDDDDDDDCBRrhUHDCCDDDDDDDDDDDDDDDDDDDDDDDDCCBBBAAAAAAAAAAAAAAABBBBCDDDDDDDDDDDDDDDDDDDDDDDDCDDLZt`ABDDDDDDDDDDDDCBRryTBCDDDDDDDDDDDDBA\mMFCDDDDDDDDDDDDDBA\aMECCDDDDDDDDDDDDDDDDDDDDCBBBBAAAAAAAAAAABBBCCDDDDDDDDDDDDDDDDDDDDCDHYwfNCCDDDDDDDDDDCBTycODDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDCDJ^~|VBCDDDDDDDDDDDCFMm\@BDDDDDDDDDDDDDDDDCBPn\@BDDDDDDDDDDDDDDDDBAX[@BDDDDDDDDDDDDDDDDCBPm\@BDDDDDDDDDDDDDDDDBAX\@BDDDDDDDDDDDDDDDDCBPm\@BDDDDDDDDDDDDDDDDBAXmMFCDDDDDDDDDDDDDBA\yYJCCDDDDDDDDDDCCNffNCCDDDDDDDDDDCBTytQ@BDDDDDDDDDDDDDDDDDDDDDCCCCBBBBBBBBBBBBBCCCCCDDDDDDDDDDDDDDDDDDDCCFMftQ@BDDDDDDDDDDDDDDDDDDDDDCCCCBBBBBBBBBBBBBCCCCCDDDDDDDDDDDDDDDDDDDCCFNfpWHBCDDDDDDDDDDDDDDDDDDDDDDDDDCCCCCBBBBBBBBBBBBBBBBCCCCCDDDDDDDDDDDDDDDDDDDDDDDCAK`|zUBCDDDDDDDDDDDDDDDDDDCBPm`EDDDDDDDDDDDDDDDDDDDBAYfNCCDDDDDDDDDDCCJYy\ABDDDDDDDDDDDDCBRrpWHBCDDDDDDDDDDDDDDDDDDDDDDDDDCCCCBBBBBBBBBBBBBBBCCCCCDDDDDDDDDDDDDDDDDDDDDDDCCDI^`ABDDDDDDDDDDDDCBRryTBCDDDDDDDDDDDDBA\mMFCDDDDDDDDDDDDDBA\eMACDDDDDDDDDDDDDDDDDDDDCCCCBBBBBBBBBBBBCCCCDDDDDDDDDDDDDDDDDDDDCBHWrfNCCDDDDDDDDDDCBTy_IDCDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDCBJ\y]ABDDDDDDDDDDDCFMmeGDDDDDDDDDDDDDDDDDCBTycECDDDDDDDDDDDDDDDDDE`eGDDDDDDDDDDDDDDDDDCBTycEDDDDDDDDDDDDDDDDDDE`eGDDDDDDDDDDDDDDDDDCBTycEDDDDDDDDDDDDDDDDDDE`mMFCDDDDDDDDDDDDDBA\yYJCCDDDDDDDDDDCCNffNCCDDDDDDDDDDCBTymSHDCCDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDCDGRfmSHDCCDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDCDGSfs]MEBCDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDCBFPc~XABDDDDDDDDDDDDDDDDDDCBTxkMFCDDDDDDDDDDDDDDDDDDEafNCCDDDDDDDDDDCCJYy\ABDDDDDDDDDDDDCBRrt^OFBCDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDCCDISd~`ABDDDDDDDDDDDDCBRryTBCDDDDDDDDDDDDBA\mMFCDDDDDDDDDDDDDBA\cNFBCDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDCBEL[rfNCCDDDDDDDDDDCBTy|aOFDCDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDCCDJ[waABDDDDDDDDDDDCFMmrSHCDDDDDDDDDDDDDDDBAXmNFCDDDDDDDDDDDDDDCFOlrSHCDDDDDDDDDDDDDDDBAXmNFCDDDDDDDDDDDDDDCFOlrSHCDDDDDDDDDDDDDDDBAXmNFCDDDDDDDDDDDDDDCFOmmMFCDDDDDDDDDDDDDBA\yYJCCDDDDDDDDDDCCNffNCCDDDDDDDDDDCBTyzWDCCDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDCBGRjzWDCCDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDCBGRjeL@BCDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDCA@Oo\@BDDDDDDDDDDDDDDDDDDBAXyYJCCDDDDDDDDDDDDDDDCFOmfNCCDDDDDDDDDDCCJYy\ABDDDDDDDDDDDDCBRrjN@BCDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDCAHWp`ABDDDDDDDDDDDDCBRryTBCDDDDDDDDDDDDBA\mMFCDDDDDDDDDDDDDBA\jN@BDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDBAK`{fNCCDDDDDDDDDDCBTyeNEBCDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDCAI\w`ABDDDDDDDDDDDCFMm`LCCDDDDDDDDDDDDDDDE`{[JCCDDDDDDDDDDDDCCJ[{`LCCDDDDDDDDDDDDDDDE`{[JCCDDDDDDDDDDDDCCJ[{`LCCDDDDDDDDDDDDDDDE`{[JCCDDDDDDDDDDDDCCJ[{mMFCDDDDDDDDDDDDDBA\yYJCCDDDDDDDDDDCCNffNCCDDDDDDDDDDCBTyt[OHDCCDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDCBELYnu[OHDCCDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDCBELYnhULFDCCDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDCCDHMVleGDDDDDDDDDDDDDDDDDDDCB]eMCCDDDDDDDDDDDDDDCCJZyfNCCDDDDDDDDDDCCJYy\ABDDDDDDDDDDDDCBRrkWNHDCCDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDCCCHP`t`ABDDDDDDDDDDDDCBRryTBCDDDDDDDDDDDDBA\mMFCDDDDDDDDDDDDDBA\hRIEDCDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDCCDHPc~fNCCDDDDDDDDDDCBTyiXLEBCDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDCBFO`y`ABDDDDDDDDDDDCGPplPBCDDDDDDDDDDDDDCGOmkPBCDDDDDDDDDDDDCBPklPBCDDDDDDDDDDDDDCGOmkPBCDDDDDDDDDDDDCBPklPBCDDDDDDDDDDDDDCGOmkPBCDDDDDDDDDDDDCBPkmMFCDDDDDDDDDDDDDBA\yYJCCDDDDDDDDDDCCNffNCCDDDDDDDDDDCBTygRGBCDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDBAKa|gRGBCDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDBAKa{}aNEBCDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDCAGRgrSHCDDDDDDDDDDDDDDDDDCEcmPBCDDDDDDDDDDDDDDCCNgfNCCDDDDDDDDDDCCJYy\ABDDDDDDDDDDDDCBRrgSGABCDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDCCCDTp`ABDDDDDDDDDDDDCBRryTBCDDDDDDDDDDDDBA\mMFCDDDDDDDDDDDDDBA\w[IDCCDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDCCETqfNCCDDDDDDDDDDCBTyz`K@BCDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDCB@Nj`ABDDDDDDDDDDCCIWv|UABDDDDDDDDDDDDCCJZzyTBCDDDDDDDDDDDDCBU{|UABDDDDDDDDDDDDCCJZzyTBCDDDDDDDDDDDDCAU{|UABDDDDDDDDDDDDCCJZyyTBCDDDDDDDDDDDDCAU{mMFCDDDDDDDDDDDDDBA\yYJCCDDDDDDDDDDCCNffNCCDDDDDDDDDDCBTyo]OFBBCDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDCCCEIQc~o]OFBBCDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDCCCEIQc~k[PIECCCCDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDCCCDIQ^o`LCCDDDDDDDDDDDDDDDCFNnyTBCDDDDDDDDDDDDDDCBRqfNCCDDDDDDDDDDCCJYy\ABDDDDDDDDDDDDCBRrp^RKFDCCCDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDCBBELU`t`ABDDDDDDDDDDDDCBRryTBCDDDDDDDDDDDDBA\mMFCDDDDDDDDDDDDDBA\ycTKDBCCDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDCCBEKS^sfNCCDDDDDDDDDDCBTyfUMHDBCCDDDDDDDDDDDDDDDDDDDDDDDDDDDDCCBDHNWk`ABDDDDDDDDDDCCJZz[ABDDDDDDDDDDDDCCNfXABDDDDDDDDDDDDBAY[ABDDDDDDDDDDDDCCNgXABDDDDDDDDDDDDBAY[ABDDDDDDDDDDDDCCNgXABDDDDDDDDDDDDBAYmMFCDDDDDDDDDDDDDBA\yZJCCDDDDDDDDDDCCNffNCCDDDDDDDDDDCBTyjN@ACDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDCBDIYrjN@ACDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDCBDIYrmXIDBBCDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDCCBDIYrlPBCDDDDDDDDDDDDDDCCL^~XABDDDDDDDDDDDDDDCBUzfNCCDDDDDDDDDDCCJZy\ABDDDDDDDDDDDDCBRrt^NEABCDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDCA@Kaz`ABDDDDDDDDDDDDCBRsyTBCDDDDDDDDDDDDBA\mMFCDDDDDDDDDDDDDBA\t\IABCDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDCB@I\tfNCCDDDDDDDDDDCBTyfSGABCDDDDDDDDDDDDDDDDDDDDDDDDDDDDCBAGSh`ABDDDDDDDDDDCCJYycECDDDDDDDDDDDDCBQq]BCDDDDDDDDDDDDDEacECDDDDDDDDDDDDCBRq]BCDDDDDDDDDDDDDEacECDDDDDDDDDDDDCBRq]BCDDDDDDDDDDDDDEamMFCDDDDDDDDDDDDDBA\yZJCCDDDDDDDDDDCCNffNCCDDDDDDDDDDCBTymZSLEBBCCDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDCCCCCGNXeymZSLEBBCCDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDCCCCCGNXeywf[TOIDBBCCCDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDCCBBDHMS[gyyTBCDDDDDDDDDDDDDDCBPm]BCDDDDDDDDDDDDDDBAXfNCCDDDDDDDDDDCCJZy\ABDDDDDDDDDDDDCBRr~l]SNIDBBCCCDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDCCCBBENUZi`ABDDDDDDDDDDDDCBRsyTBCDDDDDDDDDDDDBA\mMFCDDDDDDDDDDDDDBA\{eVOIDBBCDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDCCBBDKPWdzfNCCDDDDDDDDDDCBTyp`UPKDBBCCCCCDDDDDDDDDDDDDCCCCBBDIOU`p`ABDDDDDDDDDDCCJYymNFCDDDDDDDDDDDCBUzcEDDDDDDDDDDDDCFOmmNFCDDDDDDDDDDDCBUzcEDDDDDDDDDDDDCFOmmNFCDDDDDDDDDDDCBUzcEDDDDDDDDDDDDCFOmmMFCDDDDDDDDDDDDDBA\yZJCCDDDDDDDDDDCCNffNCCDDDDDDDDDDCBTyxaK@ABCCDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDCBBCEQgxaK@ABCCDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDCBBCEQgwhXH@ABBCDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDCCBA@FSbvXABDDDDDDDDDDDDDDCBTycECDDDDDDDDDDDDDDB@\fNCCDDDDDDDDDDCCJYy\ABDDDDDDDDDDDDCBRswhXH@ABBCDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDCBB@@Lf|`ABDDDDDDDDDDDDCBRsyTBCDDDDDDDDDDDDBA\mMFCDDDDDDDDDDDDDBA\kWH@ACCDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDCCA@I\pfNCCDDDDDDDDDDCBTy~n\I@ABBBBCCDDDDDDDDDDDDCBBBA@HWi|_ABDDDDDDDDDDCCJYy{ZIAABBBBBBBBBB@@WlLDAABBBBBBBBAAIZ{{ZIAABBBBBBBBBB@@WlLDAABBBBBBBBAAIZz{ZIAABBBBBBBBBB@@WlLDAABBBBBBBBAAIZ{lLDABBBBBBBBBBBBB@?[yXHAABBBBBBBBBBA@LeeL@ABBBBBBBBBB@@Sxk\UPLHDBBCCCCCCDDDDDDDDDDDDDDDDCCCCCBBBDKPRXaqk\UPLHDBBCCCCCCDDDDDDDDDDDDDDDDCCCCCBBBDKPRXaqxh\UQPMEABBCCCCCCCCDDDDDDDDDDDDDDDDDDDCCCCCCBBCFJPU[er\AABBBBBBBBBBBBBB@@WmMEAABBBBBBBBBBBBBDbeL@ABBBBBBBBBBAAHXx[?@BBBBBBBBBBBBA@Prxh\UQOKEABBCCCCCCCDDDDDDDDDDDDDDDDDDDCCCCCCBAAFNTUX]l_?@BBBBBBBBBBBBA@PrxS@@BBBBBBBBBBBB@?[lLDABBBBBBBBBBBBB@?[veYTOGCBBCCCCCCDDDDDDDDDDDDDDCCCCCCBCDHOU[h|eL@ABBBBBBBBBB@@Sx|i]XUSRRNFABBBBBBBBBCDIORRU\hx^ABDDDDDDDDDDCCK]|jM?@A@@@@@@@@A?>ZxXG@@@@@AAAAA@?MjjM?@@@@AAAAAAA?>ZyXG@@@@AA@@@A@?MjjM?@AAAAAAAAAA?>ZxXG@@@@@AAAAA@?MjkKC@@AAAA@@@AA@@@?>ZxXG@@AAAAA@@@@A@@LddL@@AAAAAA@@@@@?Rw~l`TG@ABBBBBCDDDDDDDDDDDDDDDCCBBBBA@@I]kt~l`SG@ABBBBBCDDDDDDDDDDDDDDDCCBBBBA@@I]kt}qnbL@@ABBBBBBCCDDDDDDDDDDDDDDDDDDCCBBBBBA@EN[j|bC@@@@@AAAAAAAAAA?>Z}]I@@AAAAAAAAAA@@DLmdL@@AAAAAAAAAA@@GWxZ>?AAAAAAAAAAAA@?Pq}oi]J@@ABBBBBBCCDDDDDDDDDDDDDDDDDCCBBBBBA@?Mfw|^>?AAAAAAAAAAAA@?PqwR?@@@AA@@@@AAAA?>ZkKC@@AAAAAAAAAA@@?>Z{gQDBABBBBCCDDDDDDDDDDDDDDCCBBBBACIVi|dL@@@AA@@@AAAA@?Rw{ustfM?@AAAAAA@@CIWjsr}]ABDDDDDDDDDDCCMcl```aa``````a_^uwg``aa```aa``_ll```````````a_^uwg```````````_ll_````````aa`__uwg``a```aaa```lhb`````````aa````_sqe``````aaaaa```i{{i``aa```aa``a`_msf]XUSRROIDCBBBBBBBBBBBBCFKPRRTX\^j}sg]XUSRROIDCBBBBBBBBBBBBCFKPRRTX\^i}k``]URRRRQNIDABBBBBBBBBBBBBBBDHLPRRTWZ^en{|ca```aa````aa```_^u|i```````aa`````dm{i``aa`````aaa``eqt__``````````````l}i``]VRRRRPLHDBBBBBBBBBBBBBBBAFNSRRRV]``mv^_a`````````````lm_``````````````_shb``a```````````__sqd`[URRQNIDBBBBBBBBBBBADINQRRU]civ{i```````aaa```_mm``````````civ]ABDDDDDDDDDDCCOh{ussjWIC@@@@AAAAAA@@EN\kssy|ussjWIC@@@@@@AAAA@@EN\kssx}rrssoeXH@@AAA@@@@AAAA@@@GS`mssw}rrssm`TG@@@@AAA@@@@AAA@?Mftsrr}{rsneXH@@AAAA@@@A@@HXenrr}]ABDDDDDDDDDDCBPkvic``````aa````en{wicaa``````````en{xh```aa``````aaa``fssf``a`````````````mxh````````````hx\ABDDDDDDDDDDCBPnYABDDDDDDDDDDCBRqWBBDDDDDDDDDDCBSv|UBCDDDDDDDDDDCBU|vSBCDDDDDDDDDDBBWpQBCDDDDDDDDDDBAYgNCCDDDDDDDDDDBA[w^^kzZJCCDDDDDDDDDDB@]^=>LborsssrynOFCDDDDDDDDDDDDEd_??EMQRRRRRTX\^i|bEDDDDDDDDDDDDCFOnbBBDCBBBBBBBA@@J`YABDDDDDDDDDDCCIXyeEDDCCCCCCCCBBAHXxrQBCDDDDDDDDDDCCLbjJEDDDDDDDDDDDCGOm{]KCCDDDDDDDDDDCBPmqPGCDDDDDDDDDDDDE`eIEDDDDDDDDDDDDCBTzwWICCDDDDDDDDDDBAW~UABDDDDDDDDDDDDBAX}]KCCDDDDDDDDDDCBQpbLBCDDDDDDDDDDDDB@\eMCCDDDDDDDDDDCCK]zgNGCDDDDDDDDDDDDDDIhnPBCDDDDDDDDDDDDEJblSFDDDDDDDDDDDDDCCK\|}UABDDDDDDDDDDDDCAPpmSGCCDDDDDDDDDDDDCAQr[@BDDDDDDDDDDDDCCGPgiTGDCDDDDDDDDDDDDDB@XeGDDDDDDDDDDDDDDDBAOkcNFCCDDDDDDDDDDDDDCDIfsSHCDDDDDDDDDDDDDCBFO]piWLFDCDDDDDDDDDDDDDCCK]|eMBCDDDDDDDDDDDDDDCBGSe|yaK@BCDDDDDDDDDDDDDDDDDUu{TABDDDDDDDDDDDDDDCCDHMU\cr¶te[TLEBCDDDDDDDDDDDDDDDDEIcdJDCDDDDDDDDDDDDDDDDCCBBDRits~~stnaTG@ACDDDDDDDDDDDDDDDDDCBJ]|{]KBCDDDDDDDDDDDDDDDDCCCCGOSRV]aaaaaaaaaaaa]VRRPLHDBCCDDDDDDDDDDDDDDDDDB@T}uVEDDDDDDDDDDDDDDDDDDDDDCBBBBA@@@@@@@@@@@@ABBBBCCDDDDDDDDDDDDDDDDDDDCBFPlhNFCDDDDDDDDDDDDDDDDDDDDCCCCBBBBBBBBBBBBBBCCCCCDDDDDDDDDDDDDDDDDDDDB@PpdODCCDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDCBGRj`IDCDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDB@Qu~bQGDCCDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDCCEJTmkSGBCDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDCBDI]~p]OFBBCDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDCCBELWe~lN@ACDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDCA@Ka|m[TLEBBCCDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDCCBBDKQXiyaK@ABCCDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDCCBA@I]rl]VPLHDBBCCCCCDDDDDDDDDDDDDDDDDDCCCCCBBCFKPV]j}m`TG@ABBBBBCDDDDDDDDDDDDDDDDCBBBBBA@EO\l÷uh^XTSSSOGCBBBBBBBBBBBBBBCGOSSSTX^fp}xuuujRDA@@@@@@@@@@@@ADRjuuuxùsebaaaaaaaaaaaabesþÿÿƩĿDZǴɾǵ‘û‘‘ţȸšƯDzûŤ¸’’ŤDzſŤŠȹÖDz·ŤƿǯƬɿdzǿŤǿɼĜDzDzſĤ“ŤDzĺŤóţǵÕDzƾŤǻdzŤɿDzǿĤðɿ“dzƲĤȾØȻĤƲķĤƶŨƬÕƲǿĤįǶĝȿDzòĤ©ƳƲȿĤÙǵŧƲŶĤūħÙƲĤƸȿƲȾĤȻǵƲƹĤ¤ÝŮħƲIJĤĩƮÝØƲêĤƲǻȿƲ©ĤǺǸƵƱĤàŨħűȿȿĤħů˜˜ƱȿȿȿǿäǶǾǾƱǿÿȿȿä•ůƸƱƿĿǿȿäĪľĤßŪűdz¨¹ǿȿãǻƴÜűűĩúȿǿãĤƿǿƸűűűĹǿȿãƺź˜ĪƸűűƶ²ȿǿãħ™ĪűűǻƿǿȿãƷĵƵǾîœűűòǿǿããƺǿűǽǿűűæƻǿǿãǻǽœ ƷűűűǿǿãĪǾĪæīűűƺ¨ǿǿãƿǽŷƺŴŸűű©ǿǿ£ųǹīǾűıĬîǿǾ£ ƳŸ›ƻııƹèǾǿ£ǾĩĭƾīĮıı¨ǾǾãŴƺŴƺŸŰıůǿǾãæƹ£Űıƽƾƿƿãæ¢¢ƺıİ£ƹƾƾ£ƽƽıƺıĭıİŶűƿƾ£ıĩƽíƽŸıİ£ƾƾ£æƾƿİıŲƾƾƾ£é¦ƾéźıİƿŲƾƾ£źĴĴŷİıİį¢ƾƾ£ƿƽ¦ƿ£İıƿƺƾƾ¢żIJŸıİįéƾƾIJƾéźİƽıðſƾƾƾ£İķíƽıİİİįƽžįİžİİſƾž¦Žž©İİĵįƾž£ìĶĶŽİİŸſŽž¢¢£ź¦žñððżïƽŽ¢İſððꞎŽÿ¿¿źżíſððſ莎žííżŽððĵźŽŽľ©ſżſijððŽŽùïſž¥¥ððŽĵŽŽſſ½½ðĶijððIJſŽŽſĸĶò©żŽð𨎎ſóżŽóððŽĹŽŽĿðľż©ððòſŽŽž°ûûĿïĸð𪎎ľðĽľóſż°ðŽļżĽľĶ¬Ľſò°°õļĽľĹĽŽĹĸ¯°°ļļľĽ÷÷ľ©©Ļ°°ĿļļſõĿĿĽ¯¯ļĽļľïŽž¬Ľļö¯¯óļļľøĻĻĻòõ¯¯ļļľľķ÷¬ĽĿ¯¯Ŀļļľª÷·¯ĸľĿĽ¯¯ļļļľ÷±°ļľĸõ¯¯öĻĻľÿ°ĸ¯ļļþ­ðñø¯ÿĽÿ¯¯ļļÿþºööĻüü¯¯þļļÿþ÷÷·þ²¯õ¯¯üļüÿýúúû®øļûÿýý¿ýø²þþÿ¯®ĻûÿýûúýĻüÿý½¯ýüþµøÿüĻ¿ý¶þ¶ý³ÿüýûü¿½½üýü´üÿÿýûûÿýýü´üûûûÿý¶ü¶ü÷þ¿··µûû¿ýÿýÿýÿµþýûŽ¿½·º¿¿û¿ýºµºµüý¿»¿ýµÿµÿ¿¿»º¿»¿½·µ·µ¾ü¾¾»¿½¿°¿¹¿½»¿¼·½¿½½»¿¼¾¿¿¿¾½¼º¼û¿½·»·»ºº¾»º¾¼¿µ¿µüº¿ºº¾¼»¿º¿½¾¹½ºº¾¼¹¹»¿¼½¹»º¼¿½ÿ¾º¼»»¿¾º¼¿¿¿½½º½º»»ÿº½ºº¼¾¾º¿º¿¾½¹º¿¿¼¼ɺɺȳöƦǫƦʼƣɼȳƧзŶϰиţ¢ͣɹзΩ϶ɶ϶ĢϹˣʻ϶̨϶Ʋо˦ΰˣʶ϶̨϶̼ȣα̦ˣ϶̨϶ͫϾâˣǭ϶̨з§ϵȣ϶ͣʰ϶̨ȳ·поͫͪŢɸʯ϶̨ϾõθȢ϶ȣϹǶȬ϶̨ϺDZˬ̦áоϵųŦ϶̨ϻªΰ̦ϵ϶ʶϽ϶̨ϻ§ͮϹ϶ί̨ϵŭͱϵ̨ϻȩáͫϹá϶©ťζ̨ϻζ̨˦ȢǢϹε¦ϵζ̨ϻɦϴίоͪίεũȦε̧ϻоо϶ϵϵ˥εˬϵε̧ϻϵȡϾͪϾáεζŢε̧ϻβ̥ȢȢȥζεţͭε̧ϻβϭͪоίͪεβѼε̧Ϻ··ϵǭϵϴϸȢεţ ε̧ƸǮƤȹȮƥȹǭƤɵϺȲɶȶȷоо̨àоεϵƷε̧ȶȲɶʿѻϯϳѻϯϲѻϯϰϺжɯ˿˿˥ơą̀ϴε˥·ε̧˿жɯǡȢϻǣȢϻȣȢϻȢϺεά˺˺ϸ̥ϸϴ̨εε̧̼εέʵơͪǡϻͪȡϻͪȢϻϺεŢĬĬ̱ίήϾàεεε̧ƮεŢͼƠεͪͮεͪͮεͪͮϺεϵʰʱʱϸ˥Ȣϸεͪε̧˵εϵϾƠ ϴȢ ϴȢ ϴȢϺι˧˳˳̽àͬήεǡε̧ͺι˧ϼƠ˥Ͼϻ˥ϾϻˤϾϻϺ˱˰˽˥εϸˤεоδ̧͸ξƠίʥͮίʤͮήʤͮϺĵβƷʫƷʫɸήͪß εϷδ̧Ķ͵ĵβĶƠϻίǡϻήȢϻήȢϺ˵Ť̽Ĥ̽Ĥɾϵȡˤεείδ̧̽˫˵Ť°ŠǡϸϻǠϸϻȡϸϻϹʮǰϸưϸɻϾϾα̩εͩϸ̧Įʮ˵Šͩà̩ͮàͮͪàͮϽͱϾʨϾʧȡαϽȡδ̧̤δͱʱŠε̩ǡε̩ǡε̩ǡǪпококͩˤȡϾεˡ̧Ȥп˰ПϴϸŸϴϸŸϴϸϬ̬ĥ˧ĥ˧ȶϴŸ̩ϳδƠ̧ĥδ̬εŠˤθϽͫˤθϽͫˤθϽͫͬà̭ϴ̭ϴɸϽϸε˧δş̧˫Ġà¡şί˨ȡǡί˨ȡǡί˨ȡǡͬϸп п ƟͭŸßδ̦Ϻͩϸ̭şн¡ͫϸн¡ͫϸн¡ͬϸͬή̩̩ͬͬ̿ˤȡˤϸδп̦˧ϷήşȠϸϷͫȡϸϷͫȡϸϷͫͫˤǠϴǠϴʵήϽήήδ̦Ͼßˤαş̩ήßǠͩήßǡͩޟǡϬşϻϽϻϽ;ϸϴϻˤδş̦αˣşˤşδˣˤϸδˤˤϸδˤˤϸƩнγƟβƟçŸͩǠžδƟϸ̦ˤͬнŸşžΰͫžαͫŸαͫϽϷγˣγˣħˣǠ̩δδȟδ̦ßγϷϸŠˤδϽǠˤδϽǠˤδϽǠϹδͨͨͫϸγ̩δˠδ̦ϼϷδγşΰ̩ȠϸΰͩǠϸΰ̨ǠϸϹβͬͬϷδήϽǠδ̥δ̦εϺβίşϽǠͩͫϽȠͩͪϽĄ̇̄ͪϹααΰʧϽˣȠϽδͫδ̦αпαͪşǠϽδǠǠϽδǠȠϽδǠϹαβαмǠž̩ϳδαδ̥ͮα̦şͩϳžϷͩϳžϷͩϳžϷϹαδγ˦̨Ϸδ˦δϷδ̥ͫşα̥şϷ˦ˣ̨϶˦ˣ̨϶˦ˣ̨ϹαδδϴϴͩϽžδδ̥ͫşα̥şžžέşžžέşžžέşϺαееžϼǠǟϷδȠδ̥ͫžα̥ŞˣϷϸϷˣϷϸϷˣϷϸϷϹαǰǰDZˣÞϽ̨έδ̨Ŷδ̥ͫα̦şΰέą̈̄ΰέǟ̩ΰέǟ̩ϹᤤѼͩˣϳγˣδδõδ̥ͮпΰͪŞнˣͨşϽˣͨşϽˣͨşϹαŜŜÞΰέ̨Ͻžпγžƥδ̥αнαήŞǟžγ϶ǟžγϷǟžγ϶ϹΰˠˠˣαϷžǟδпγ˥Ƞγ̥εϹαγŞ̨δϽ̨̨δϽ̨̩δϽ̨ϹαͨͧέγžϷ̧̣пδγϷγ̤ϼδαϺŞγ̨ǟşγ̨ǟşγ̧ǟşϹΰͮͮϸδˢέͭǟпγğͪδ̥ÞΰαžŞϽą̈̄϶Ͻǟ̧϶Ͻǟ̧ϷϺΰϷϷƠΰͨˣδϽпγαğδ̥ˣͨΰˣŞʢϽγ̨ʢϽγ̨ʣϽγ̨ϹΰƟƟͮͪγϼγпδĠϴδ̤ΰˢΰγŞέγϽĞέβϽĞέγϽĞϹΰͫͫпˢϼδŝ˥пγδʥδ̤пžΰŞ϶˥ǟϴ϶˥ǟϴ϶˥ǟϴϹΰоɼоɼͱÝ̧ˢžпδʪϹδ̤˦϶Ͱ̫ŞŸ̧̩Ÿ̧̪Ÿ̧̩ϹͰ̫Ġ̫ĠǦγˢǟͫ϶пδĤ˦γ̤ϹͪͰпŞ˥Ϸζž˥϶ηž˥϶ηžϹͰҾѾ˥ͬмεέпγϹγ̤˫ƟͰͳŞͲέϳͲέϳͲέϳϹͰζͭζͭϽпζίϺˢпγǣγ̤ģϳͰʪŞˢ̧ˢ̧ˢ̧ϹͰ̴ğ̴ğ̪ϿˢпγêͰγ̤ǢͰǬޞϹͰ̶Ͱ̶ΰʴϻγпγʶϻγ̤γͰʳŝγϳγϳγϳϹͰξÞνÞðǥ϶̧пγƳãγ̤ƬĢͰ;ş̧̧̧̧̧̂ŢϹͰɴ̭ɴ̮Ŵ̮ͬǞпγȴƨγ̤Ţ˻̮ͰôŝǞǞǞͤϹͰɼζɼζȶͶǡϽпγŶƩγ̤ͤõ͵Ͱŝϼϳϼϳϼϳ̤ϹͰϽϽ͸ϼβпγũγ̤̤θͰͼŝϲ̧ϳ̧ϳ̧̤ϹͰϿ˵γ˥пγ¦γ̤̤ͺͰ͸ŝ˧˧˧̤ϹͯννȮͧпγ̺γ̤̤˵Ͱ̸ĝγββ̤ϹͰ˵˵̾Ǟ϶пγŮγ̤̤ŮͰɱ϶ˤζˤζˤ̣ϹͯîíîϹάпγɶγ̤̣ʸͯ˽пϬœϬœϬœͤѺϰŲƲʾϬ̡дȴдͤͤɹϰɻоšDZšDZšDZŢȴǬȺȹšɽɺǯǵǯŢŢóƭõϹɾǶȼϵβͭͦȷʠȵœÜϸ˦άϹʠ̮иʰʤ;ϸŴàɨʭɫ¨ɵȸŴiiiiiiiiiiiiiiiiiiiiiijiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiijiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiiiiiiiiiiiiiihiiiiiiiiiiiiiiiiihiiiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiiiiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiiiiiiiiiihiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiiiiiiiiihihiiihiiihiiiiiiiihiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiihiiiiiiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiihiiiiiiihihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiiiiiiiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihhiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihhiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiiiiiiiiiihiiiiiiihiiiiiihiiiiiiiiiiiiiiiiiiiihiiiiiiiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiihiiiiiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiihiiiiiiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiiiiiiiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihhiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiihiiiiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiiiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiiiiiiiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiihiiiihiiiiiiiiiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiihihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiihiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiiiiiiiiihiiiiiiiiiiiiiiiiiiiiiihiiiihiiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiiiiiiiiiihiiiiiiiiiiiiiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiiiiiiiiiiiiiihiiiihiiiiiiiiiiiiiiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiiiiihiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiiiiiiiiiiiiihiiiiiiiiiiiiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihihiiiiiiiiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiihiiiiiiiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiiiiiiiiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiiiiiiiiiiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihihiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiihiiiiiiiihiiiiiihihiiiiiiiiiiiiiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiihiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiiiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihhiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiiiiiiiiiiihiihhiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiiiiiiiiiihiiiiiiiiiiiiiihiiiiiiiiiiiiiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiiiiiiiiiihiiiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiiiiiiiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiiiiihiiiiiiiiiiiiiiihiiiiiiiiiiiihiiiiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiiiiiiiiiiiihiiiiiiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiiiiiiiiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiiiiiiiihiiiiiiihiiiiiiiiiiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiiiiiiiiihiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiiiiiiiiiiiihiiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiiiihiiiiiiiiihiiiiiiiiiiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiiiiiihiiiiiiiiiiiiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihhiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiihihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiiiiiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiiiiiiiiiiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiiiiiiihiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiiihiiiiiiiihiiiiiiiiiiihiiiiiiihiiiiiiiiiiiiiiiiiiiiihiiihiiiiiiiiiiiiiiiiiiiiihiiiiiiiiiiiiihiiiiiiiiiiiiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiihiiiiiiiiiiiiiiiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiiiiiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiiiiiiihhiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiiiiihiiiiiiihiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihihiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiiiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiiiiiihiiiiiiiiiiiiiiihiiiiiiiiiiiihiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiihiiiiiihiiiiiiiiiiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiihiiihiiiiiiiiiiiiiihiiiiiiihhiiiiiiiiihiiiiiiiihiiiiiiiiiiiiiiiiiiiiihiiiiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiihhiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiiiiiiiiiiiiiiiihiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiiiiiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiiiiiiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiiiiiiiiihiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiihiiihiiiiiiiiiiiiiiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiiiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiihiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiihiiiiiiiiiiihiihiiiihiiiiiiihiiiiiiiihiiiiiiiiiiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiihiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiiiiiiiiiiiiiiiihiiiiiiiiiiiiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiiiiiiiiiihiiiiihiiiiiiiiiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiiiiiihiiiiiihhiiiiiiiiiiiiiiiiiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiiiiiiiiiiiiihiiiiiihiiiiiiiihiiiiiiiiiiiiiiiiihiiiiiiiiiiiiiiiiiiihiiiiiiiiiiiiiiiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiihiiiiiiihiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiiiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiiiiiiiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiiiihiiiiiiiiiiiiiiiiiiiiihihiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiiiiiiiiiiiiiiiiihiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiiiiiiiiiiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiiiiiihiiiiiiiiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiiihiiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiihiiiiiiiiiiiiiiiiiiiiiihiiiiiiiiiiiiiiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiiiiiiiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiiiiiiiiiiiiiiihhiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiihiiiiiiiiiiiihiiiiiiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiihiiiiiiiiiiiiiiiihihiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiiiiiihiiiiiiiiiiiiiiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiiiiiihiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihhiiiiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiiiiiiiiiiiihiiiiiiiiiiiiiiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiihiiiiiiiiiiiiiiiiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiiihhiiiiiiiihiiiiiiihiiiiiiihhhihiiiiiiiiiiiiiihhiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiiiiiiiiiiihiiiiiiiiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiiiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiiiiiiiiiiiiihiiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiiiiiiiiiiihiiiiiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiihiiiiihiiiiiiiiiiiiiiiiiiiihiiiiiiiihhiiiiiiiiiiiiiiiiiihhiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiiiiiihiiiiiiiiiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiiiiihhiiiiiiiiiiiiiiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiiiiiiiiiihiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiiiiiihiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiihiiiiiiiiiiiiiiiiiiiiihiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiihihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiihiiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiiiiiiiiiiiihihihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiiiiiiiiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiihihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiiiiiiiiiiiiihiiiiiiiiiiiiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiiiiiiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiiiiiiiiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiiiiiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiiiiiiiiihiiiiiiiiiiihiiiiiiiiiiiiiiiihiiiiiiiihiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiihiiiiiiiiiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiiiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiiiiiiiiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiihiiiiiiiiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiihihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiiiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiihiiiiiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiihiiiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiijiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiiiiiiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiiiiiiiiiiiiiiihiiiiiiiiiiiiiiiiiiiiiihhiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihihiiiiiiiiiiiiiiiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihhiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihhiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiijiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiijiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiijiiijiiiiiiiiiiiiiiiiiiiiiiiiiiiiijiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiijiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiijiiiiiiiiiiiiiiijiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiijiiiiiiiiijiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiijiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiijiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiijiiiiiijiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiijiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiiiiiiiiiiiiiiiiiijiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiijiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiijiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiijiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiijiiiiiiiiiiiiiiiiiiiiiijiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiijiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiijiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiijiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiijiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiijiijiiiiiiiiiiiiiiijiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiijiiiiiiiiiiiiiiiijiiiiiiiiiijiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiijiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiijiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiijiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiijiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiijiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiijiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiijiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiijiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiijiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiijiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiijiiiiiijijiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiijiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiijiiiiiiiiiiiiiiiiiiiiiiijiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiijiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiijiiiiiiiiiiiiiiiiiiiijiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiijiiiiiiiiiiiiiiijiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiijiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiijiiiiiiiiiiiiiiiiiiiiijiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiijiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiijiiiiiiiiiiiiiiiiiiiiiijiiiiiiiiiiiiiiiiiiiiiiiiiijiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiijiiiiiiiiiiiiiiiiiiiiiiijiiiiiijiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiijiiijiiiiiiiiiiiiiiijiiiiiiiiiijiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiijiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiijiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiijjiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiijiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiijiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiijiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiiiiiiiiiihihiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiiiiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihhiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiihiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiiiiiiiiiiiiihiiiiiiiiiiiiiiiihiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiihiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiiiiiiiiiiiiiiiihiiiiiiiiiiiiiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiiiiiiiiiiiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiiiiiiiiihiiiiiiiiiiiiiiihiiiiiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiiiiiiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiiiiiiiiiihiihiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiiiiiiiiiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiiiiiiiiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiiiiiiiiiiiiiiiiiihiiiiiiihiiiiiiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiiihiiiiiiiiiihiiiiiiiiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiiiiiiiiiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiiiiiiiiihiiiiiiiiiiiiiihiiiiiihiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiiiiiiihiiiiiiiiiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihhiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihhiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiiiiiiihiiiiiiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiihiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiiiiiiiiiiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihhiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihihiiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiijiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiijiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiijiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiijiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiijiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiihiiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiijiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiijiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiijijiiiiiiiiiijiiiiiiiiiiiijiiiiiiiiiiiiiiiiiiiiiijiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiijiiiiiiiiiiiiiiiiiijiiiiiiiiiijiiiiiiiiiiiiiiiiiiiiijiiiiiiiiiiiiiiiiiiiiiijiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiijiiiiiiiiijiiiijiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiijiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiijiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiijiiiiiiiiiiiiiiijiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiijiiiiiiiiiiiiiiiiiiiiijjiiijiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiijiijiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiijiiiiiiiiiiiiiiiiiiiiiiiiiiiiiijiiiiiiiiiiiiiiiiiijiiiiiiiiiiiiiiiiiiiiiiiiiiiiijiiiiiiiiiiiiiiiiiiiiiiiiiijiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiijiiiiiiiiiiiiiiiiiiiiijiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiijiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiijiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiijiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiijijiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiijiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiijiijiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiijiiiiiiiiiiiiiiiiiiijiiiiiiiiiiijiiiiiiiiiiiiiiiiiiiiiiiiiiiiiijiiiiiiiiiiiiiiiiiijiiiiiiiiiiiijiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiijiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiijiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiijiiiiiiiiiiiijiiiijiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiijiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiijiiiijiiiiiiiiiijiiiiiiiiiiiiiiiiiiiiiiiijiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiijiiiiiiiiiiiiiiiiiiiiiiiiiiijiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiijiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiijiiiiiiiiiiiiiijiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiijiiiiiiiijiiiiiiiiiiiiiiiiiiijiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiijiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiijiiiiiiiiiiiiiiiiiiiiiiiiiijjiiiiiijiiiiiiiiiijiiiiiiiiiiiiijiijiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiijiiijijiiiiiiijiiiijiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiijiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiijiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiijiiiiiiiiiiiiiiiiiiiiiijiiiiiiiiiiiijiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiijiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiijiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiijiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiijiiiiiiiiiiiiiiiiiiiiiiiiiiijiiiiijiiiiiiiiiiiiiijiiiiiiiiiiiiiiiiiiiiiiiiijiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiijiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiijiiiiiiijiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiijiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiijiiiiiiiiiiiiiiiiiiiiiiiijiiiiiiiiiiiiiiiiiiiiiiiiiijiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiijiiiiiiiiiijiiiiiiiiiiiiiijiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiijiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiijiiiiiiiiijiiiiiiiiiiiiiiiiiijiiiiiiiiiiiiiiiiiiiiiiiiijijiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiijiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiijiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiijiiiiiiiiiiiiiiiiiiiiiijiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiijiiiiijiiiiiiiijiiiiiiijiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiijiiiiijiiiiiijiiiiiiiiijiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiijiiiiiiiiiiiiiiiiiiiiijiiiiiiiiiiiiiiiiiiiiiiiiiijiiiiiiiiiiiiiiiiiiiiiiiiiiiijiiiiiiiiiijiiiiiiijiiiiiiijiiiiiiiiiijiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiijiiiiiiiiiiiiiiiiiiiiiijiiiiijiiiiiiiiiiiiiiiijiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiijiiiiiiiiiiiiiiiiiiiijiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiijiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiijiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiijiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiijiiiiiiiiiiiiiiiiiiiiiijiiiiiiiiiiiiiijiiiiiiijiiiiijiiiiiiiiijiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiijiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiijiiiiiiiiiiiiijiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiijiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiijiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiijiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiijiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiijiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiijiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiijiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiijiiiiiiiiiiiiiiiiiiiiiijiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiijiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiijiiiiiiiiiiiiiijiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiijiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiijiiiiiiiiiiiiiiiiiiiijiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiijiiiiiiiiijiiiiiiijiiiiiiijiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiijiiiiiiiiiiiiiiiiiiiiiiiiiiiiiijiiiiiiijiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiijiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiijiiiijiiiiiiiiiiiiiiiiiiiiiiiijiiiiiiiiiiiiiiiijiiijiiiiiijiiiiiiiiiiiiiiiiiiiiiiiijiiiiiiiiiiiiiiiiiiijiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiijiiiiiiiiiiiiiiiiiiiiijiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiijiiiijiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiijiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiihiiiiiiiiiiiiiiiiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiiiiiiiiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiiiiiiiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiiihihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiiiiiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiijiiiiijiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiijiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiijiiiiiiiiiiiiiiiiiijiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiijijiiiiiiiiiiiiiiiiijiijiijiiiiiijiiiiiiiiiiiiiiiiijiiiiiiiiiiiiiiiiiiiiiijiiiiijiiiiiiiiijiiiiiiiiiiiiiiiiiiiiiiiijiiiiiiiiiiiiiiiijiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiijiiiiiiiiiiiiiiiiiiiiiijiiiiiiiiiiiijiiiijiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiijiiiiiiijiiiiijiiiiiiiiiiiiiiiiiiijiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiijiiiijiiiiiiiiiiiiiiiiiiijiiiiiiiiiiiiiiiiiiiiiiiiiijiiiiiiiiijiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiijiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiijiiiiiiiiijiiiiiiiiiiiiiiiiiiiiiiiijjiiiiiiiiiiiiiiiiijiiiiiiiiijiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiijiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiijiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiijijiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiijiiiijiiiiiiiiiiiijiiiijiijiiijiiiiiiiiiiiiiiiiijiiiiijiiiiiiiiiiiiiiiiiiijiiijiiiiiijiiiiiiiiiiiiiiiiiijiiiijijiiiijiijiiijiiiiijiiiiiiiiiijiiiiiiiijijiiijiiiijiiiiiiiiiiiijjiijijiiiiiiijiiiiiiiiiijiiiiiiiiiiiiiiiiijiiiiiiiiiijiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiijiiiiiiiiiiiiiiijiiiiiijiiiiiiiiiiiiiijiiiiiiiiiiiiiiiiiiiiijiiiiiiiiiiiiiijiiiiijiiiiiiiijjiiiiiiiiiiiiiiiiijiiijiiiijiiiiiiiiiiiiiiiiiiiiijiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiijijiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiijiiiiiiiijiiiiijijiiiiiiiiiiiiiiiiiiiiiiiiijiiiiiiiiiiijiiiiiiijiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiijiiiiiiiijiijiiiiiiiiiiiiijiiiiijiiiiiijiiiiiiiiiiiiiiiiiiiiiiiiiijiiiiiiiijiiiiiiiiiiiiiiiiiiiiiiijiiiiiiiiiiiiiiiiiiiiiiiiijiiiiiiiiiiiiiiiijiiiiiiiiiiiiiijjiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiijiiiiiiiiiijiiiiiijjiiiiiiiiiiiiiiiiiiiijiijiiiiiiiiiiiiiiiiiiiijiiijiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiijiiiiiiiiiiiiiiiiiiiiiiiiiijiiiiiiiiiiiiiiiijiiiiiiiiiiiiiiiiiiiiiiiiiiiiijiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiijiijiijiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiijjiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiijjiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiijiiiiiijiiiiiiiijiiiiiiiiiiiijiiiiiiiiiiiiiiiiiiiiiiiijiiiiiiiiiiiijiiiiiiiiiiiiijiiiiiiiiiiiiiiiiiiiijiijiiiiiiiiiiiiijiiiiiiiiiiiiijiiiiiiiiiiiiiiiiiiiiiijiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiijiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiijiiiiiiiiiiiiiiiiiiiiiiiiiiiiiijiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiijiijiiijiiiiiiiiiiiiiiiiiiijiijijiiiiijiiiiiiiiiiiiiiijiiijiiiiiiiiiiiiijiiiijiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiijiiiiiiiiiiiiiiiiiiiiiiiiiijjiiiiijiiiiiiiiijiiiijiiijiiiiiiiiiiiiiiiiiiiiiijiiiiiiiiiiiiiiiijiiiiiiiiiiiijiiiiiiiiiiiiiiiiiiiiiiiiiiiiijjiiiiiiiiiiiiiiiiiiiiiiiiiiiiijiiiiiiijiiiiiiiiiiiiiiiiiiiiiiiiijiiiiiiiiiiiiiiiiiiiiiiiiiiiiiijiiiiiiiiijiiiiiiiiiiiijijiiiiiijiiiiiiiiiiiiiiiijiiiiijiiiiiiiiiiiiiijiiiiiiiiiiiiiijiiiiiiiiiiiiiiiiiiiijiiiiiijiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiijiijiiiiiiiiiiiiiiiiiijiiiijiiiiiiiijiiiiiiiijiiiiiiiiiiiiiiiiiiiiijiiijiiiiiiiiiiiiiiiiiiiiiiiiiiijiiiiiiiiiiiiiijiiiiiiiiiiijiiiijiiiiiiiiiiiiiiiiiiiiiiiiiiiijiiiijiiijijiiiiiiiiiiiijiiiiiiiiiiiijiijjiiiiiiiiiiiiiiiiiiiijiiiiiiiiiiiiiiijiijiiiiiiiiiiiiiiiijiiiiiiiijiiiiiiiiiiiiiiiiiiiiiiiiiijiiiiiijiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiijjiiiiiiiiiiiiiiiiiiiiiiiijiiiiiiiiiiijiiiiiiiiiiiiiijiiiiiiiiiiiiiiiiiiiiiiiiiijiijiiiiiiiiiiiiiiiiiiiijiiiiiiiiiiiiiiiijiijiiiiiiiiiiiiiiiiiiiiiiiiiiiijijiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiijjiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiijiiiiijjiiiiiijijiiiiiiiiiiiiijiiijiiiiiiijiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiijjiiiiiiiijiiiiiiiiiiiiiiiiijiijiiiiiiiiiiiiiiiiiiiiiijiiiiijiiiiiiiijiiiiiijiiiiiiiiiiiiiiiiiiiiiijiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiijiiiiiiiiiiiiiiiiiiijiiiiiiiijiiiiiiiiijjiiiiiiiiiiijijiiiiiiiiiiiiijiiiiiiiiiiiiiiiiijijiiiiiijijiijiiiiiiiiiiijiiiiijiijijiiiiiiiiiiiiijijiiiiiiiiiiiiiiiiiiiiiiiiiijiiiiiijiiiiiiiiiiijiijiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiijiiiiiiiijiiiiiiiiiiiiiijiiiiiiiiiiiiiiiiijjiiiiiiijjiijiiiiiiiiiiiiiiiijiiijiiiiiiiiiiiiiiiiiiiijiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiijiiiiiiiiiiiiiiiiiiiiiiiiijiiiiijiiiiiijiiiiiiiiiiiiiiiiiiiiiiiiijiiiiiiiiiiiiiiijiiiiiiiiijiiiiiiiiiiiiijiiiiiiiiiiijiiiiiiiiiiiiiiiiiiiiiiiiiiijiiiiiiiiiiiijiiiiijiiiiiiiiiiiiiiiiiiiijiiiiiiiiiiiiiiiiiiiiijiiiiiiiiiiiiiiiiiiiiijiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiijiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiijiiiiiiiiiiiijiiiiijiiiiiiiiiiiiiiiiiiiijiiiiiiiijiiiiiiiiiiiiiiiiiiiiiijiiiiiiiiiiiijiiiiiiiiiiiiiiiiiiiiiiiiiiijjiiiiiiiiiiiijiiijiiiiiiiijiiiiijiiiiiiiiiiiiiiiiiiiiiiiiiiiiiijijiiiiiiiiiiiiiijiiiiiiijiiiiiiiiiiiiiiiiiiiiijiiiiiijiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiijiiiiiiiiiiiiiiiiiiiiiiiiiiiiijiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiijiiiiiiiiiiiiijjiiijiijiiiiiiiijiiiijiiiiiiiiiijiiiiiiiiiiiiiiiiiiiiiijiiiiiiiiiiiiijjiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiijiiiiiiiijiiiiijiiiiiiiiiiijiiiiiiiiiiiiiijiiiiiiiiiiijiiiiiiiiiiiiiiiiiiiiiiiiiiijiiiiiiiiiiiiiiiiiijiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiijiiiiiiiiiiiiiiiiiiiiiiiiijiiiiiiiiiiijiiiiiiiiiiiiiiiiiiiiiiiiiijiiijiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiijiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiijiiiiiiiiiiiiijiiiiiijiiiiiiiiiiiiiiiiiiijiiiijiiiiiiiiiiiiiiiiiiiiiiiiiiiiijiijijiiiiiiiiiiiiiiiiiiiiiiiijiiiiiiiiiiiiiiiiiiiijiiiiijiiiiiijiiiiijiiiiiiiiiiiiijiiiijiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiijiiiiiiiiiijiiiiiiiiiiijiiiiiiiiiiiiiiiiijiiiiiiiiiiijjiiiiiiiiiijiiiiiiiiijjiiiiiiiiiiiiiijiiiiiiiiiiiiiijiiiiijiiiijjiiiiiiiiiiiiiiiiiiiiiiiiijiiiiiijiiiiiiiiijiiiiiiiiiijiiijiiiiiijiiiijiiiijiiiiiiiiiiiiiijiiiiiiiiiiiiiiiiiiiiiiiiiiiijiiiiiiiiiiiiiiiiiiiiiiiiijiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiijiiiiiiiiiiiiiiiiiiiiiiiiiiiijiiijiiiiiiiiijiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiijiijiijiiiiiijiiiiiijiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiijiijiiiiijiiiiiiiiiiiiiiijiijiiiiiiiiijiiiiijiiiiiiiijjiiijiiiiiiiiiiiiiijiiiijiiiiiiiiiiiiiiiiiiiiijijiijiiiiiiiiiiiiiiiiiiijiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiijiiiiiiiiiiiiiiiijijiiiiiiiiiiiiiiiiiiiiiiiijiiiiiiiiiiiiiiiiijiiiiiijiiiiijiiiiiiiiiiiiiiiiiijiiiiiiiiiiiiiiiiiiiiiiijiiiiiiiiiiiiiiiiiiiiiiiiiijiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiijiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiijiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiijiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiijiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiijiiiiiiiiijiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiijiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiijiiiiiiiiiiiiijjiiiiiiiiiiiiiiiiiijiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiijiiiiiiiiijiiiiiiiiijiiiiijiijiiiiiiiiiiiiiiiiijiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiijijiiiiijiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiijiiiiiiiiiiiiiiiiiiijiiiiiiiiiiiiiiiiiiiiiiiiiiiijiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiijiiiiiiiiijiiiiiiiiiiiiiiiiiiiiiiiiiiijiijiiijiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiijijiiiiijjiiijiiiiiiiiiiiiiiiiiiiiiijiiiiiiiiiiiiiiiiiiiiiijiiiiiiiiiiiiiiiiijiiiiiiiiijiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiijiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiijiiiiiiiiiiiiiiijiiiiiiiiiiiiiiiiiiiiiiiijiijiiiiiiiijiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiijiiiiiijiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiijiiiiiiiiiiiiiiiiiiiiiiiiiiiiijiiiiiiiiiiiiiiiiiiiiiiijiiiiiiiiiiiiiiiijiiiiiiiiiiiijiiiiiiiijiiiiiiiiiiiiiiiijiiiiiiijiiiiiiiijiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiijiiiiiiiiiiiiiiijiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiijiiiiiiiiijiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiijiiiiiiiijiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiijiiiiijiiiiiiiiiiiijiiiiijiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiijiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiijiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiijijiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiijiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiijiiiiiiiiiiiiijiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiijiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiijiiiiiiiiiiiiijiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiijiiiiiiiiijiiiiiiiiijiiiiiiiijiijiiijiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiijijiiiiiiiijiiiiiiiiiiiiiiiiiiijiiiiijiiiiiiiiiiiiiiiiiiiiiiiiiiijiiiijiijiiiijiiiiiiiiiiiiiiiiiiijiiiiiiijiiiijiiiijiiiiiiiiiiiiiiiiiiiiiiiiiiiiiijiiiiiiiiiiiiiiiiiiiiiiiiijiiiiiiiiiiiiiiiiiiiiiiiiiijjiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiijijiiiijiiiiiiiiiiiiiiiiiiiijiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiijiiiiiiiiiiiiiiiiiiiijiiiiiiiiiiiiiiiijiiiiiiijiiiiijiiijiiiiiiiiiiiiijijiiiiiiiiiiiiiijiiiiiiiiiiiiiiiiiiiiiijiiiiiiiiiiiiiiiiiiiijiiijiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiijiiiiiiiiiiiijiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiijiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiijiiiiiiiiiijiiiiiiiiiiijiijiiijiiiiiiiiijiiiiiiijijiijiiiijijiiiiiiijiiiiiiiiiiiiijjiiiiiiijiiiiijjiijjiijiiiiijijiiiiijiiiiiiiiiiiijiiiiijijiijiijiiiiiiiiiijijjiiiiiiiiiijjiiiiiijiiiiijiiiiiiijiiiiiiiiijiijiiiiiiiiijiiijiiiiiiijiiijiiiiijiiijiiiijjjiiijijiijiiiiiiiiiiiiiiiiiijiiiijjijiiiiijiijiiiiiiiiiiiiiiiiiiiiiiiiiiiijiijijjjiiiiiiiiiiiiiiijiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiijiiiiiiiiiijiiijiiiiiiiiiiiiiiiiiiijiijiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiijjiiiiiiiiiiijiijjiiiiiiiiiiiiiiiiiiiiiiiiiiijiiiijiiiiiiiiiiiiiiiiiiiiiiiiijiiiiiiiijjiiijiiijiiiiiiiiiiiiijiiiiijiiiiiijiiiiiiijiiiiiiiiiiiijiijijiijiiiiiiiiijiiiiijiijiiiiiiijiijiiiiiiiiiiiijiiiiijiiiiiiijiiiiiiijiiijiiiiijijjiiiiiiiiiiiiiiijiiiiiiiiiiiiiiiiiiiiiiiiiijiiiiiiiiiiiijiiiiiiiiiiiiiiiiiiiiiiiiijiiiiiiiiijiiiiiiiiiiiiiiiiiiiiiiijiiiiiiiiiiiiiiiiiiiijiiijjiiiiiiiiiiiiiiijiiijijiiiiiiiiiiiiiiiiiiiiiiijiiiiiiiiiiiiiiiijjjiiiiiiiiiiiijiiiiiiiiiiiiiiiiiiiiijiiiiiiiiiiiiiiiiiijiijiijjiiijiiiiiiiiiiiiiiijiiiiiiiiiiiiijiiiiiiiiiiiiiiiiiiiiiiiijiiiiiiiiiiiiiiiiiiijiiiiijiiiiiiiiiiiiiiiiiiiiiiiijiijiiiiiiijiiiiiiiiiiiiiiiiiiiiiiiijiiijiiiiiiiiiiiiiiiiijiiiiiiijiiiiiiiiiiiiiiiiiiiijiiiiiiiiiiiiiiiiiiijiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiijiiiiiiiiiiijiiiiiiiiiiiijjiiiiiiiiiiiijiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiijjiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiijiiiijiiiiiiiijijiiiiiiiiijiiiiiiiijiiiiiiiiijiiiiiiiiiijiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiijiiiiiiiijiiiijiiiiiiiiiiiiiiiiiiiiiijiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiijiiiiiiijiiiiijiiiiiiiiiiiiiiiiijijiiiiiiiiiiiiiijiiiiiiiiiiiiijiijiiijijiiiiiiiiiiiiiiiiiiiijiiijiiiiiiiiiiijiiiiijiiiiiiiiiiiiiiiiiiiiiiiiiiiiijiiiiiiiiiiiiiijiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiijiiiiiiiiiiiiiiiiiiiiiiiiiiiijiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiijiiiiiiiijiiiiiiijijjiiijiijiijiijijjjijjiiiijiiiiiiiiiijiiiiiiiijiijiiijiiijijiiijjiijjjiijiiiiijijijjjiijiiiiiiiiijiiiiijijiiijjiiijjiijijjiiiiiiijiiiiijiiijjjjjjjiijiiijiiijiiiiiiijiijjjjiiijjiiijiiiiijjiiiijjiiiiiiiiiiiijiiijiiiiiijijijiiiiiijiiiiiiijijiiiiiiiiiiiiiiiiijjiijiiijiiiiiiiiiijijiijijiijiiiijiiiijiijiijiiiijijiiiiiijjijjiiiiiijjiijjjiiiiiiiiiijjiijiiiiiijijiiiiiiiiiiiiiiiiiiiijiiiiiijiiiijjiiiiijiiiiiijiijiiiiiiiijiiiiiiiiiiiiiiiiiiiiiiiiijiiiiiiiiijiiiiiijjjiiiijiiiiiiiijiiiijjiiiiiiiiiiiiijijiiiiijiiiiiiiiiijijiiiijiijijijijiiijiiiijiiiijiiiiiiiiijiiiiiiiiijiiiijiiiiiiiiiiiiiiiijiiiijiiiiiiiiiiiiiiijiiiijijjijijiijiiiiiiiiiiijjiijijijiijiiijjiiiiiiiiiiiiiiiiiiiiiiiiiiijiiiiiiiiijiiiiiiiiijiijiiijiiijijiijiiijiiiiiijiijiiiiiiiiiiiiiijiiiiijiiiiijijjiijijiiiiiiiijiiiiiiiiiijiiijiiiiijiiiiiiiiiiiiijiiiijiiiiijjiijiijiijjjiiijiiiiiijiiiiiiiiiijjiiiiiiiijiiiiiiijiiiiiijjiijijiiiiiiiiiiiiiijiiiiijiiiiiiiijiiiiijijiiiiijjiijiiijiiijiiijiiiiiiiiiiiijiijiiiiiiiijijijiiijiiiiiiiiiijijiiiijiiiiiiijiiiiiijiiiiijiiiiiiijiiiiiiiiijiiiiiijjiiiijiiijiiiiiiiiiiiiiiiiijiiijiiiiiiijjjiiiiiiiiiiiiiijiiiiiiiiiiiijiiiiiiiiiiiiijijiiiiiiiiiiiijiiiijiijiiiiiijiiiiiiiijjiiijiiiiiijiiijijijiiiiiijiiiiiijijijiiiiiiiiiiijiiiiiiiijiiiiiiiiiiiiijjiijiiijiiiiiiiijiijiiiijiiiiiiiiiijjijjijiiijiiiiiiiiiijjiiiiiiijiiiiiiiiiiiijiiiiiiijijiiiiiiiiiiiiiiiiiijiiijiijiiijiijiiiiiiiiiiiiiiiiiiiiiiijiiiijiijiiiiiiijiijiiijiiiijiiiiiiiiiiiijiiiiiiiiiiiiiijiiiijiiiiiiijiijiiiiijiiiiiiiiiiiiiiiiiiiiiijiiiijiiiijiiiiiiiiiiiiiiiiiiijjiiiiiiijjjiiijiiijiiiiiiijiiiiijiiiiijiiiiijjiiiiiiijiiiiiiiiiiiijijjijiijiiiiiiiiijiiiiijiijiiiiiiijiiiiijiiiiiiiiiiiiiiijiiiiiiijiiiiiiiiiiiiiiiiiiijjiiiiiiijiiiiiiijiiiiiiiiiiiiiiiiiiiiiijiiijiiiiiiiiiiiiiiiijijiijiiiiiiiiiijiiiiiijiiiiiiiiiiijiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiijiiiiiiiiijiijiiiiiiiiiiiiiiiijiiiiiiiiiiijjiiiiiiiiiiijiiiiiiiiiiiiiiiiiiiiiiiiijiiiiiijiiiiiijiiiiiijiiiiiiijiiijiiijijijijjjjiiiiiiiiiiiiiiiiiiiiiiiiiijijijijiiijiiiiijjjiiiiijiiiiiiiiijjjiiiiijiiiijijijiiijjijiijiiiiijijiijiiijiiiiiiiiijiiijiijiiiijjjjiiijjjjiiiiiiijjiiiijjiiijiiiiijjiiiijiiiijjjiiiiiiiijjjiijijjiiiiijijiiiiijiijjijijijjiiiiiiiiiiijiiiiiiiijjiiiijiiijiiiiiiijiijiiiiiijiiiijiiiiiiijijiiijijjiiiiijiijjiiijiiiiiiiijiiijijiiiijjijiiijiiijiiijjiiiijjjjiiiiiiijiiiiiijiijjijijjiiiiiiijijjiiijjijiiiiiiijiijijiiijijiijiiijjiiiijiijjijjiiiiiiiiiiijiiiijiijiiijiijiiiijiiiijiiiijiiijiijiijiiiiiiijjiiiiiiiiiijiiiiiijiiiijiiiiiiijijiiijijijiiijjiiiiiiiiijijijjiiiiijiiiiiiiiijijiiiiiiiiijiiiiiijjiiiijiiiiiiiijjiiijiijjiiiiiiijiiiijijiijiiiiijiiiiijiijiijiiiiiijiiijijiiijiiiiiijjjjiiiijiiiijiiiijiiiiijiijjijijiiiiijiiiiijiijiiijiiijiiiiiijiiiiiiiiiijiiiiiijjiiiiijijjijiijijiijiiiiijiiiiiiiiijjiiiiiiijiiiiiijiiijjjiijiiiiiijjijiiijjijiiiijiiijiiijjjjijiiiijijiiiijiiiiiijijjiijiiiiiiijiiijiiiiiiiiiiiiiiiiiiiijijiiijijiiiiijiijjijjiiiiiijiijjiiiiiiijijiiiiiiiiijiijiijiiiiijijijiiiiijijijijijjiiiiijjjiiiijiiijiijiiijiiijiiiijiiiijiiiiijiiijiiiiiiiijiiiiijiijjjijjiiiijiiiiiiiiijjjiiiiiiiiijiiiijiiiiijijjijijjiiiiiiiiiiiiiijjjiiiiiiiijiiiiiiiiijjiiiiiiiiiiijijiiiiiijjiiiiijjjjiiiiiiiijiiiijiiiiiiiiiijiiiiijijiiijiiiiiiiiiiijjiiiijiiijijjjiiijjiiiiiijiijjjiiiiijiijjiiiiiiiiiiiiijjjjiiiiiiiiijjjjjiiiiiiiiijjiijijjiiiiiiiiiiijiijiiiijiiiijijiiiijiiijjijjjiiiiiijiiijjiiiiijiiiijjiiijiiiiiiijiiiiiijiiiiiiiiiijiiiijjiiiiiiijiiijiiijiiiiiiijiiijijiiiiiijijjijiijiiiiiiijiiiijiiijijiiijiiiiijiiiiijiijiiiiiiiiiiiijijiiiiiiiijjiiiijiiiiiiiijjiijijiiiiiiiiijiiiiiiiijjjjiiiijiijjijiiiiiijiijiijiijjiiiiiiijiiiiiiijijjijiijiiiiijiijiijiijiijiijiiiiiiiiiijijiijiiiijiiiiiiiijijiiiiiijijjiiijijijjjiijiiiiijiiijiiijiiiiiiiiiiiiiiiijijiiiiiiiiiiiiiiijijijiiiijiiiiiiiiiijiijiiiiiiijiijiiiiiiijiijiiiiiiiiijiiijijiiiiiiiiiiiijijiiiijiijjiiiiiiiiiiiiiiijiijiiiiiijijiijiiiiiiiijiiiiiiiijiiiiiiiiiiiiiiiiiiiijjiiijiiiiiiiijjiiijjiiiiiiiiijiijijijiiiiiiijjiiijijjiiijiijjiiiijjiiiiiiiiiijijijiiiijijiijiiijiiijiijiiijjjiiijiiiiiiiiiijiijiijjiiiiiiiiiijiijiiiiiiiiijjijiiiiijjiiiijjjiijjiiijiiiiijiiiiijiiiiijjiijiiiiijijiijiijiiijiiiiiiiiijiijiijiijijijijiiiiiijijijiijiiiiiiiiiiijijjjijiijjiiijiijiijijjjiijiiijijjiijjiiiiiijiiiiiiiiijjijiiiijjiijjjiiijiiiijjjiiiijiiiiiiiijiiiijijjjiiiiiiijiijiiiiiiijjijijiiiiiiijiiijijiiijjiiiiiijiijiiiiiiijjiiiiiiijijiijjiiiiiiiiiiiiiiiiiiiiiijjiiiiiijiijjiijiijiiiiiiiijjiiijiiijiiiiijiijijiijiiiijiiiijiiiiiiijijiiiijijiiiiijiijjiijiiiiiiijiiiiijiiijiiijiijjjijiiiijiijiiijjiiijjiiijiiiijiiiijjiiiiiiiiiiiiijiijiiijjjiiijiiiijjiiiiijiiijjijijiiiiiijjjijiijiijiiiiiiiiiiiiiiiiijiiiijiiiijiijiijiiiiijiiiiiiijiiiiijiiiiiiiiiijiiiiiiiiijiijiijiijjjijjiiiijiijiiijiijjiijjjiijiiiiiijijiiiiijjijijjjijjijijjiiijjiiiiiijijiijiiiiijjiiiiijiiiijiiiijjiiiiijjiijjjjiiijiiijjiiiiiiiiiiiiiiiiiiiijiiiijiiiijijijjjiiijijijjjijjiijijiiiiiiijiijijijiiijjijiijiiiiiiijiijiiiiiiiiiiiiiiiiijiiiijiiiiijiiijjjjiiiiiiiiiiiiijjiiiiiiiijjjijiiiiijijiiiiiiiiiijjjiijijjiiiiiiijiiiiiiiijjjjijijjiiijjjjjjijiijjiiijiiiijjiijijiiiiiijiiijjiiiijiiiiijjiiiiiiiiiijjiijjjiiiiiiiijijiiiiiiiiijiiiiiiijiiijiiijijjiiiiijiijjiiijijiiiiiiiiiiijiiijiiiiiiijjijiiiiiiiiiiiiiiiijiiiiijijiiiiiiiiiiiiiiiiiiiijjjiiiiiiiiiiijijiiiiiijiiijiiiiiiiiiiijiiijiiijijiijijijjiiijjiiijiiijiiijjiijjijijiijijjiiijijjjjiijiijjijjjijiiiijiiiiiiiiiiijijijiijjijiiiiijiijjjijiiijjiiiiiijiiiiiiijiiiiiiiiiiijiijijjiiijiiiijiiijiijiijiijiiiijiiiiiijiiiijjjjijiiiiiijiiiiiiiiijiiiiijiiiiijjiiiiiiiijiiiijjiiiiijiiiiiiiiijiijijiijiiijjjiiiijiiiiijiiiiiiiijjiijiiiijiiiiiiiiiiiiiijjijiijiijiiiiiiijjiijiiiiiiijjijiiiiijjjiiiijjjjiijiiiiiijiijiiiiijijiijjijijiiiiijiiiijiiijiijiijjiijiijiijiiiiiiiiiiijijiiijiiiiiiiiijjiiijiiiiiiiiiiiiiiiiiiiiiiijjiiiiiiiiiiiijijiijiijiiiiiiijiiiiiijiiijijiiijijiiijiiiiijiiijiijjiiiiiiijiiiiiiijiiiiiijiiiiijiiiiiiiijiijjiiiijiijijjjijiijiijiiiiijjjjiiijijiiijijiiiijijiijjiijiiiijiijjjiiiiijijiijijijjijjiiiiiijijjiiijjiiiijiiiijijiijjiiiiijjiiiiiijjjiijijjjijiiiijjiiiijiiiiijiiijijiiiiijiiijijiiijjijiiijijiiijiiiiijjiiiiijiijjiiijjijiiiiiiijiijjijijiiiijjjijjiiiiiiijijijijijiiiiijjjijiijjjiiijijjiijijiijiijjjiiijijjiiiiiijjiiiiiiiijijjijjjiiiiijjjiijiiiiijijijjjiiiiiiiiijjiiiiijijiijijijjijiiijiiijiiiiijiiijiiijjjiiijiiiiiijjiiijiijijjijjjjijjijijjjiiijijiiijiiijiiiiijjjijijiijiiijjiiijjjjiijijjiiiiijijiiiiijijjiijijiiiijjjijiijiiijjijiiijjijijjiiiijijiiiiiiiijjjiijjiiiijiiijjiiiijjiijiiiijiiiiijjjjjiiiijjiijijjjjjiiijjiiiijjiiiijiiiijijiiiiiiijjjiiijiiiijjjjiiiijiiiiijjiiiiijiijjiiiijiijjijiiiijiijjiiiiiijiiiiiiijjjijiijjjiiijjiijiiiijiiiiiiiiiiiijijijiijijiijjijiiiijjijiiiiiiiiiiiijijjjiiiijijjjiijjjijijiijjiiiiiiiijjiijijiiiiiiiiiijijiiiiijijiiiiiijijijiiiiiiiiiijiiiijjjiiiiiiiiiiiiijijiiiiiijiiiiijijjjiiiiijiiiiiijiiijijiiiijjjijiiiijjijiijiiiiiiiiijiijiijiiiiiijiiiiiiijijiiiiiiiiiiiiiiijjjjijiiiiijijiijiiiiiijjiiijijijijijjjiiiijiiiiijjijijiiiiijiiiiiiijiijjjiijijiiiiijiijjiiiiijiiiiiiiijjiijiiijjiijjjiiiijiiiijijiijiiiiijijjjiijjiiiijiiiijjiiiiijiijjiijijiijiijiiiijiiiijijiiiiijiiiiiiiiiijiiiijiijiiiiiijjiiiiiiiiijijjjiiiijjijijiiiiijiijiiiiiijiiiiiiijjjijiijiijiiiiiiijiiiiiiiijiijijjiijiijiiijjijijiiiijjjiiiiiiijjjjijiiiiiiijjiiiiiiiiijiiiijiiijiiiijjjiijiiiiijiijiiiiiijjijiiiijijijjijiiijiiiiiiiijiiiiiiijjijiiijijijiiijjiiijjiiiijiiiiiiiiiiiiijiiiiiiijjijiiijiiijiiiiiijiiijijiijijijiiiiiiiiiiiiiiijjijiijijijiijijjjjiiiijiiijijjiiiiijjiijiiiiijiiiijiijjijiiijjiiiiijjiijiiiijiiiiiijjiijjjiijijiiijiiiiiiiiiiiiiiiiiiijijjiijjiijiiiiiiijijjiiiiiiiijjiiiijiijjiijiiijiiijiijijjiiiiijiiijijiiiijiiiijijiijjjiiiijijiijiiiijiiijiiiiiijijiijiiiijiiiiiiiijijiiijjiiiijjiijiijijiijjiijiiiijiiiiiiiiiiiiijiiiiijiijjiiiijjjjijijiiiiiiiiiiiiijiijiiijijjjiijijjjjijjiiiijiiijjiijjijjijjjiijiijjijjjiijiiiijiiijijjijjiiiiijiijiiijiijiiiijiiijijjiijijjijiijijiiijjijiiiiiiijjjiijijijjijijjijiijijiiiiiijjijiiiiijiiiiiiiiiiiijiijijiijijjjiiijiiiiiiijiiiiijiiiiiiiiiijjijiijiiiiiiijjjiiiiiiiijiiiiiiiijiiiijjjijiiiijjjjiiiiijiiijijiijijjjijijiiiijjiiiiiiiiijiiiiijiiiiiiijjiijjjjijjjiiiijiiiijijiiiiiiiiiijijiiiiijiiiijjiijiijiiiiiiijiiiiiijjijiiiijiiiiiijiiiijijiiijjjiiiijiiiiiiiiiijjiiiiiijiiijijijjiijiijijjijiijjiiijjjjjjjjiiijijiiiijiiijiiiiiijjiiijjijjiijjijiijiiijiijiiiiijiiiijijiiiiijiiiiiiijijiiijiijjijiijijjiiiiijjjjiijjjijiiijiiijjjiijijjijiiiiijijjiiijjijiijijijiiiiijijiijijjiiiiijiiijijiijjijijjiijiiiiiiijjjijiiiiiiiiijjijiiiijijjijjiijjijjiijijjiiijjiiiiiiiiijiiiiiijiiiiiiiiiiiijijiiiiijiijijiijiiiiijiiijiijjjjjiiijijiiiiiiiiiijijijiiiijiiiijjiiijiijjiiijjiiiiiiijijjiijiiiijiiiijjijiiiijiiiiiijjjjjiijjjijjiijiiijjijjijiijiijjijiijiiijiijiijjiiijjijjjiiiiiiiiijijiijijiiiijiijiiiiijiiiiijijjjiiiiijjjijiijjjjiiiiijiiijjiijiijijjjijiiiijjiiiiiiiiijiijiijjjiiiijjiiiiijiijijjiijiijiiiiiiiiiijiiijiijjiiijiiiiiiiijjiiijijjjiiijiiijiijiiiiiiiiijiiijjijjijiiijijijiijijijiiiiijiiiijiiijjjjijijiiiijiijiiiiiijjjiijijijijiiiijjijjiijjijjijiijiiijjijijjiijiijjiijijjjjiiijijjiijiiiiiijijijjiiijijiiiiiiiijiijiiijijiiiijjiijiiiiijiiijjjjijjiijjjjjiiiiiiiiijiiiiiiijiiiiiiiijijiiijjiijjiijjiijjjjiiiiijjiijiiiiiiijjijijjiijiijjiiiijjjiiiiiiiijiiiiijiiiiiijjiiiiiiiijjiiiiijiiiiiiiiiiiiiijiijjijijiiiijijjiiiiijiijiijiiijijijijijiijiijijijjjijiiijiiiiiiiiiiiiijiijjiiijijiiiiiiiiiiiiijjjjijjijiijiiiiijijiiijiiijjijiijiiiiijijjiiiiiijiijiiiijiiiiiiiiijijiiiiiiiiijjiijjiiiiiiijjjiiiiijjiijiijiiijiiijjijiiijjiiiijjijiiiijjijiijiijiiiiiijijiiiiiijiijiiiiijjiijiiiiiiiijjiiiiiiiijjjiijjjiiiiijjiiijiiijijjijijijiiiiijiijjjjijjjjjjiijiiijiiijijjiijiiiiiiiiiiijiiijjjiijiiijiijjiiiiijijiiiijiijijjiiiiiiiijjiiijiiiiijiiiijijjiiiiijiiiiijjiiijiijjiiiiiijjiiijjjijjiiijiiiiiiiiiiijiiijiiiijjiijjjiiiiiiiiiijijiiiiiiijjiiiiijijijiijijijiiiiiiiiijiiijjjijiiiijiijiiijijjiiiiiiijiijiijjjiiiiijiiiiiiiiiiijiiijiiijiiiijijjjjiijiiiiiiijjiiiiiijijiiijiiiijjiiiiijiiiiijiijjjjijiiijjjjiiijiijiiiiiijijiiiiiiijijiijijiijiiijiijiiiiijijijjjjjiijiijjiijjjiiiiijiiijiiiiiiiijijijiiijiijiiiiijijiijiijiiiijiiiiiiiiiijjiijiijjijiijjijiiijijjiiiiiiiiiiijjijijiiiijijjjiiiiiijjijjjiiiiiiiiiiijjiiijijiiiiiiijijiiijjjjiiijjjiijijijiiiiiijiijijjiiiiijjjjiijjjjijjijiijjiiiiijiijijijiiijiiijjiiiiijjiiiiiijiijiiiiijjiiiijiijiijiiijjijjiijiijiiijijiijijijjiiiiiiiiijiijiiiiijjijiijjiiiiiiiijjiiijjiiiijijiijjjiiijjiijjjjjjiiiiiiiiiiijiiijijiijijiijijiiiiijiiiijijiiiijiiijjjijjiiiijijiiiiijiijjiiiiijiijjiiiiiiiiiijijiijijjiiiijjijiiijjiijiiiiiiiiiiiijjjjiiiiijijjjiijjiijiiiijjijijiiiijjiiiiijjjjiiiiiijiijijjjijiijjjjjijiijiiiijijiijiijjijjjijijiiiiijiiiijijiiiijjijjijijjiiiiiiijiiijijijjijijijijjjiiiijjjiiiijiiijjijiiijjijiiiijijiiijijjijiiiiiiiiiijjiiiiiiijijiiiijijjijjjijijiiiiiiiiiijiiijiijjjiiijjiiiiiiiijjjjiijijiiiijijjijijjjiiiijjjjiijiiiiijiijijjjijiijiiiiiiijjiijjiiiiijiiiiiiijiiijiijijiiiijiijijiijiiiijiiiiijijjijjiiiiiijjijiijiijiiijjjjijjjjijiiiijiijijjiijijijiiiiiijjijjiiiiijijijiijiiijjiijjijiiiijiijijjiiijiijijiijijiiiijjjiiiijijijiijiijijjjiijjjiiiiijijjjiijjijjiiijijjjjiiiijjjiiijiiijiiiiijiijijjiijijjijjjiijjiijiiijiijiijiijijiiiiiijjijiiiiiiiijiiiiiiiiiijiijjiiiijijjijiiiijjjjiiijiiijjjiiiiiiiiiijiiiijiijijjiiiiijiiijiijiijiiiijiiijijiijiiijjjiiijiiiijjiiiijijiiiijijiiiiijiijjjiiiijiiijiiiijiiiiiijijjiiiiijijiijjiiiiiiiiiijijiijiijijiiijiijiiiijjjiijjjijjijjiijjjjiiijiiijijjiijiiiiiijiijjijiiiiiiijjiijjjjiiijiijijiiijijjjjijjjiijiijijiiiiiiiiiijiiiijijijiijiiiijijiiiiiijijiijijijiiiijiijiijijjijiijjiiijjiijjjjiijiijijjjijiijjiijijiijijiijiiiijiiiiiiiijiiiiijijijiijiijiiijijjijiiiiiijiijijijjiiiiijiiiiiiiiiiijiiiijjiijjijiijiiijjijiiiiiijiijiiijiiijjjjiijiiijjjjijjiijijiiiiiijiiiiijjjjiijijiiiiiiijjjiijjijijiiijiiijijijjjijijiiiijiijiiiiiiiiijjiiijjjiijiiijjijijiijijjiiiiiijijijiiiiiijjiiiijiijijjiiijjjjiiiijijijjiiijiiijijijjijijjiijjijijjiijiijjjjjjiijjiijiijjijjjjiijiijiiiiijiiijijiiijijiijiijiijjiiiiiiijjjiiijiiijjijjijjjijijiiiiijiijiiiijijiiiijiijijjijjijijijiiijiijjijiiiiijiijiiiiiiiiiiiijjjiiiijjiiiijijjiiiiijiiiijijiiijjijiijijiiiijiijijjijiiiijijjijijijjjjiijiiiijiijiijijijjiiiijiiiiiijijjiiiijiijjiijiijiiijiiijjjijijiiiijijijjiijiijjjijjiiiiiiiiiijijjijiiijijjjiijijiiiijijiiiiiijijijijiiiiijjiiiiijijiiiijiijjiiijjjjjiiiiijjijijjiiiijiiijiiiiiijjiiiijiiijjiijiiiiijjjiiiiijiiijjjjijijiiiiiijjiijjijijiijiiiijiiiijjiijijiiijijiiiijijiijiijiiijiijiiijijiiiiiijjjijijijiiiiiiiiiiiijjijiiiijijijijiijijiiijijiijiijiijjjijiijiiijijjiijjjiijijiijjjjiiiijijiijiiiijijiiiiiijjjjijijiijjjiijjjijjiiiijjiiiijiiiijjijjiiiijijjijiijjiiijiijijiiijjiiiiiiiiiiiijjjjjjjiiiiiiiiiiiiijiiiiiijiiiiiiijiiiijiiiiiiiiijiiiijiijiijijjjjjiiiijiiijjiiijijiiijjiiiiiiiiijiiiiiiijiijijiiiijijiijiiiiiiiiiiijjiiiiiijjjiijiiiiijiiiiiiijiijiiiijiiiiijjijiiiijiiiijijjijjiiijiiiiijjiiiijijijijijiiijiijjijiiijjjiiiijiijiiiiiiijjijiijiijjijijijijjiiijiiiiiijiijiiijiiijjijiiiiijiiiijjijiijijijijiiiiiiiiijijjiijiiiiiijiiijjiijiijijjjjjijijijjjijijiiiijiiiijiiijiiiijijiiiijijiiiiiijjiiiiiiijiijjiiiiiijiijjiiijjiiijiiijijjiiijijjjjjjjjiiijiiiiiiiiiiiiijjijijiiiijiiiijiiijjjjiiiijjiiijiiijijiiijjiijjijjiiiiiiiiiijjiiiiijjiiiiiijjiiijiijjijjjiiijjijjiiiiiiiiiiijijiijjiiiiiijijiiiijiijjjjiijiijjijijiijiiiiiiiiijiiiiijiiiijijiiijjijiijjiijjjjijijjjijjijiiiijiijiijjjjjijiijjijjijijijiiijiiijjijjiijjiijjiiiijiiiiiijiiijiiijiiijiiiiiiiiijiijiijiiiijiijjiijiiiijjjiijjiiiiiijiiijiijiiijiiiiiiijiiijiijiiiiijjjiiiiijiijijiijjjjiiijjiijjijjiijiiiijjiiijjiijiiiiiijiiiiiiijjjijijiiiijjiijijjijiiiijiiijjjijijjijjjjjiijijiijiijiiijijiiiiiiiiijjiiiiiijijjjiiiijjijijiijijiijijiiijjiijiijijiiiijjjiijiiiijiiiijiijjiiiiijiijjijijiijijjiijjiiijiiiiiiiijjiiiiiijiiijjjijiiiiiiiiiiiijiiiiijjijiijijjiijjjiiijjiijjjijiiiiijijjiijijiijjiiiiiijijiiiijijijjiiiiiijjijiijiijjjijjjijiiiijiijiijiiiijjiijjiijjjijiiiiijiiiiiijjijjijiiijjjjjijiijjjjijiijiiiiijjjjjiiiijijiiiijjjijjjiijiijjjjjjiiiiijijjiiijjijiijjjiiijjjijjiijiijiiiiiiijijjijjjijiiijjjjjijiijijiiijiiiiijjjjijjjijjijiijijjijjjjijiiijijiiiiijiijjiiiijjiiijiiiijjjjijjijiijjjijjjijiiiiiiijjjiiiijiijjjijijiiiiiiijjijijiiiijijiiiiijiiijiiiijjijjiiiijjjiiiijiiiijiijjijjiijjijjijijjiiiijiiiijjiiiiijiiijiiiiiijijijiiijijiiijjijjjiijijjijiijiiijiiiiijiijjiiiijiiiijiiijiiijiiiijjjjiiiiijijijijjijjijiijjiijjiiijiiiijiiijjiijjiiiijijjjjiiijijijiijjiiiijiijjjjjijjijjjiijjiiijjiiijijjjjijijjijiijijjjjjjijiiijijiijiiiijijiijijjijiijijijiiiiijijiiijiijiiiiiijjiiiiiiijjjijijijiijjjjiiiiijjiijiiijiiiiiiiiiiiiiiijiiiijjjjijjjjiijiiiijjiiiijjiiijjijiiiiijjjiiijjiiiiiijijijiiijjjijiiiiiiiiiiiiijjiiiiiiiijiiiijiiiiiiiiiiiijiijiijjiijiiijiiiiijiijiijjijjjjiiijiijiiiijiiijjijjijiijijjjjijjijjjjiiiiiijjiiijiiiiijjijjiijjjjijiiiiiijiijiijjijjijiijijiiiiiiijiiiijijiiiiiiiiiiijiiijjjjiiijiiiijiiiijijiiijiiijiiiiiijiijiiiijjijiiijijiiiijiijjiiijiijiiiiiijiijiiijiijijiijiijjjijjjijjiiiijijijjijiiiijijjiiijiijjiijijiijjiiiijiijiijjjijiiiiiiijjjjjiijijjiiijjijjijjijiiiijiiiiiiiiijjjijjijjijiijiiiiiiijjijijjjiiijjiiiijiiiijijjiiiiiijjiiiijijiijjiiiiijiiijiijjiiiiijjijjjijijijjiiiiiijiiijjijiiiiiiiiiiiijiiijjiijijiiiiiiiiijiiiijiijjjjiijjiiijiiijijiijiiiiijiiijjiijjiiiijjjjiiiiijijijijjijiijiijiiiijjjijjiiijiiiiijiijijiiijjiijiiiiijjijijjiijijjjijiiiiijjiijiijjjiiiiiiiiiiiiiiiiiiiijiiiijijjiijijjiijjijiijiiiiiiiiiiijiiiiiiiiijjijjjijiijjijijjjiiiijjijiijjiiiijiiiijijiiiijiiiiiiiiijijijijiiiiiijjjiiiiijijiiiiiiiiiiijiiijjiiijjjjiiijiijjiiiijiiiijiiijjiijjjjiiiiiijiiiiiiiijiiijijiiiiijiiijiijijjiiiiiijiiijijijiiiiiiijiiiijiijjijiijjijjijijjiiiiiiiiiijjiiiijiiiijiijiiiiijjiiiijjiiiijjjjiijjiijjiiiiiiiiiiiijiiiiijijijjjjiiijijijiiiijjiiiiiiijjijjijiiijjjjjiijiijjjjijijiijjjijijjjjiiiijjijjijijijjjijjjjiiiiiiijijijijjiiiijiiiiiijiiijiijijjiiijiiiiijiiiiiijjijiiijijiijjjijjijiijiijijjjijjiijjjjjjiiijiijjijjiiiiijiijijjjjijjijjiijjijjjjiijjjiiijijijjjiijiiiiijiijjjijiijjjjjijjiijjijjjijjiiiiijjjiiijijiiijjjjjjjjjjijijjijjijiiijijjijjjjijijjiiijiiiiijjiiiijjiiiijijiiiijjiijjjiiiiijijijijjiiijiiiiiijijiijjjjjijiijiiiiijjiijiijjijjiijjiijiiiiijjjijijiiijijijjiiijiiijjiiijjjjiijiiijjiiijiijiijjiijjijijjijijjjiijiiiijjjiiijjijiiijiiiijiiijijjijiiijjiiiijjjiijijiijiiijijjijiiijiijiijiiiiiijiiiijiiijjjijjijiiiiijjiijjijijijjjjiiijiiiijijjjiiijjjjiiijjijiiiijjijjiijijiijjiiijjijijjjiijiijijijijiiijiijijiiijjiijiiiiijjijiiiiiiijiiiijijiijjijijiiiijijiiiijjiiiiijjiiiiiiijjiijijiijiijiijiiiiiiijiiijiijiijijjiiijjijiiiijjiijiiiiijjiijijjjiijiijiiijjjjiijiiijijjjiiijjjiiiiiiijjijijjjjjjjjjjijjijiiiiiiiiijiijiiiiijijiiijijjiijjjiiijiiijjiijijijiiijjiijiijiijiiiijiiijijjijijijjiiiiijjiijiijjijjjijijijiiiijiiiiijiijijjijjiiijjjiiiiijijiiiiijjjijjijiiiiiijiiiiiijjjiiiijiiijiiijjiijiijijijiijjjijjjijjiiijijjjiiiiijiijjiijiijiijijijijjjjjiiijjjjijjiijiijijjjijjjjjjiijijiiiiiijiijijiiijijijijjjjijijjijjijjijjjiijjjijjjiijiiijjjjjiijiiiiijijijiijjjijijiijiiiiiijjiijiiijjiijjjiijiijjiiiijjjjjijiijijiiiiijjiiijjjjiiiiiijiijiiiiijjiiijiijjjijiijjijijiiiiiijiiiiiijjjijjjjijjiiiiijijijijjjjjjjiiiiiiiiijjjiijiiijiiijiiiijiijiiiijjjiiiiiiijjjijjijiijjiiiijiiiiijjiiijiiijijiiiiijjiiijjjjjiiijijiiijjjiijiijiiijiijiiiiiiijjiiijjijiiijiiiijijjjjiiiiiijiiiiiiiiiijjijjjijiiiiiiiiijiiiiiiiijijiiiiiiijijiiiijjjjjiiiijijiiiijiijjiiijjiijiiiiiiiiiiiijjjiijijjiiijiiiijiiijiiiiiijijiiiiiijjiiijjjijjjiiijiiijijjjijijjiiijjjiiiijiiijjjjjiiiijijiiiiiiiiijiijjjjijiijiiiiiiijjjiiijijiijijiijiijiijiijjiijiijiijiijijjiiiiiijjjiiiijijjiijiiiiijjjjiiiiiijjjjijiiijiiiijjiijiijiiiijiiiiijiiiiijjijiijijjiiiiiijiiijjijjjjiijijijijjiijiiiijijiiiijiijiiiijijjijjjjiiiijjiiijjijiijijjjijjjiijiiijjijjiijjjijiiijiijjjjjijijijjiijijijijjjijjijjjiijijijjjiijjijjijiijijjiijjjiiijiiiijjiijijiiijijjiijjijijjijijjijjjiijjjijjjjijijjjijijijjijiijjjijiijijjjjijijjijijiiijjjjijjjjijjjjjjijijiiijjiiijjjijjiiijiiiijiiiiiijjjijjjiiiijijjijjjjiiijjjiijijijjjjiiijjijiiijiijijjijijjiijjiiijjjjjiijiijjjijiijjijjjiijiiijiijjiijjijijjijjjijjjiijiiiijijjijjiijijjijjjjijijiijiiiiiiijijijjjjjjjijiijijjjjjijiiiijjijjjjjjiiijjijiiiijijiiiiiiijijjijijjijijjjiijiijiiijijjijijiijjijiijijjjijijjijiijjiijjjijiijjiiiiijiijjjiijijiijijjjijjjijjiiiiijijjjjiijijiiiijjijjjjjjjjiijijiiijijjjiiiijijjijiijjjijijjijjiijijjjjiiijijjjjjjijjjjjijijjjijiiiijjiiijijiijjijjjjijijijijiijijjjjjijiijjijijjiijiiiiiijijjjiiiiijijijijjjiiiiijiiijjjiijjijiiiijiijijjiijijjijjijjjijjjijijiiijiiiijiijijiiiiijijiiiijijjjijijiiijijjjjijjiiijiiiiijjijjiiiijjjiijjijjijjjijiiiiiiiijjijjjjijiijjjjiijijjijjijijiiiijjjijjjjiiiijjijiijijijjjjjjijiiiiiijjijijijjiijijjiiiijjjijjiijiijijijiijijjijiiijjjiiiiiiijijjjijjjjjjijiijjjjjijjjijjjjjiiiijijjiijjiiijiiiiiiijjjijjijiiijjiijjjiijjjiiijjjijjjiijiiijijiiijjijiijijijijjiiiiijjjjijjijjijjiijijjjijjjjiijjjiiiiijjjjjiiiijjijijjiiiijijjiiijjjjijjiijjiijjjjjjjjiiijiiijjjjijiiiijijijiiijjjiijjijjjijjijiiiiijiiijijijjjijjjijiiiiiiiiiijjjiiiiiijjijjjjiiiiiiijijiiiiijjjiiijijijjiiiijjjjijijijiijiiiiijiijiiiijjjjijjjijiijijjijjijjiiiiijijiiijijjijijjijijjjijjjiiijjjijjjiiiijiiijjijjjjjjjiijjijiiiiiijiiijjiijiijjjiijjjjiiiijjjjijijijjiijiijiijijjijiijjiijijiijjjijiijiiijijiiiijiiijiijiiiiiijjjiijjiiiijjijjjiijijjiiiiijiijiiiijiiiijijijiiijijjjjjijiiiiiiijijjijijijjjjiiijjiiiiijjjjiiijjjjjijjiijiiijjijijijijijijiiijjijjjjjiijjijijijijiiijijiijiiijjjijiiiijijjjiiiiiiijjjiijijjijiiiiiiiiiiijiiijjjjiijjiiiiiiiiijijjijjjjijijjijjijiiiiiijjjjiijijiiiijjijjjiiiiiiijjijjiiijjjjjiiiiiiijijijiiiiijjjijijijijiijiiijjjjijjiiijjijijjijijjjijijjiijjijijjijijjijijjjijjiiijiijjjjjiiijjjijjjiiijjiiiijjjjijjiijjjjjiijjiijjjjjjiiiijjjiijijjjijjjjjjijjjjijjjjjjijjjjjiijjijjiijjjjjiijjiijijiiijjjjjjjjiijijjjijjjjiijjjiijjijijjjjiijjjjjjjiijijijjjjjijjiijijjjijjijijjjijjjiijiiijiijjjjjiijjijjjijijjjjjjjjjiijjjijjijiiijjjjiijiijjjijijjiiijjijjjjijijijijjiijjjijjjjjijjjjjiijjjjjijjjjjjiijjijjjjjjiiiijjijiiijjjjjiiijjijjijjjjjjjjjijijjijjjiijiijjiiiijjjijijjijjjjjijjjjiiijjijijijjiijiijijjjjijiijjjijjjijjjijijjiijjjjjijjijijiijjijjjjjijjiijiijiiiijjjjijjjjjiiijjjjjijjjjjjjijijjijjjijijjjjjjijijjijjijjijijijijiijjjijjjijiijjiijiijjijjjijijjjiiijjiiijijijjijiiijiijjjjjijiijjjijjjijjjijjjjjijjjijjjijjjjjjjjjjjjiiijijjjiijijjijijjiijjiijjjijijjjjjjjijijijijjiijjiijijjjiiijjijijjijjjjjijiijiijijjiijjjjijjijjijjijijijijijijjijiijjjjjiijjijjjjjjijiijjjjjijjjiiijjjjjjjjjjijijiijjijijjiijjijjjjiijjiiijjiiiiijjijiijjjijjjijiiijjjjijjjiijiijijjjjjjjiijjijiijjjjiiijijjjijjiiijiiijjijjiijjjjjijijiijjjjjijijijjiijjjijjijjijjijjiiijiiijjjiijjijjijjijiijiijjjijijjiiijjijiijiiijijjiijjijijjijijjijjjjijjjijijjijijjjijijijjijiijjjijiijijjjjijijjijijiiijjjjijjjjijjjijjijijiiijjiijijjijjiiijiiijjiiijjijjjijjjiijjijijijjijijjiiijjjiijiiiiijjjjjjiijjijijiijiiijjjijiiiijjijjiiijjjijjjjjijjjjijjijjijijiiiijjiiiijjiijjjjiijjiiijiijijjjijijjjiiijijiiijjjjiijjjjijjjiiijiiijiiijijiiijijjjiijijijjjjjjijjjjjiijjiijjijiijiijjjjjjiijiiijijjjiiijiijjjijijjjjjijjjijjijiiijjjjjjijiijjjjjiijjjjjjjiijjjiijjjjjjjjjiijjjjijjjjijiiijjijiiijiiijjjjjijiiijjiiijjjiijjjiiiiijjjiiiiijijjjiiijjjijiijiiijijjjjijiijjijiijjiijijijjijjiijiijjjiiiijjjijiijiiijijijjjiijijijjjjjijjjiiiijiijjijijijiiiijjijijjjjijiijijiiiiijjiiiijjijjijiijjiijiijijjjijiijijiiijiijjjjjijjjjjijijjjijiijijjiiijiijijjijjjiijiiijijiijiijjijjjiijiijijjijiiiijijjijijjijjiiijjjijjjiiijijijijiiiijjiiijijjjijiijijjjjiiiijjiijjjiijiiiijjjjjiijjiijjjjjiijjijjjjjijjiiiiiiijiiijjjijjjijiiijjijjijjijjiiiiiijjijiiiijjijijjjjjijijiiijiiiijijjjiijijijjijjijiiiiiijijjijjiijjiiijiijjjjjjjjjjjijjijjjjjjijjijijijjjjjijijjijjjijjjjjjjjijijjijjjjjjjiiijijijjjjjjjjijjijjijjjjjjjjjijjjjjijjjijjjjjjjijjjijijjjjjjiijjiiijjiijjiijjjjjjjjjjjjjjjijijijjjiiijjiijjijjjjjiiijjjjjijjjijijijjjjjjjjjjjjjjjjjjijjjjjjijiiiijijjjjjjjjjjjjjjjijjijjjjjjjjjijjijjjijjjjjijjjjijjijjjjjjjjjjijjjijjiijjjijiijjjjjijjjjijjjjjjjjijjjiiijjjjjjjjiijjjijjjjjjjjjjjjjjiijjijjjjjjjjijijjjjjijjiiijjjjjjjjjjjjjjjjijjjjjjjiijjjjjjjjjjjjjjjjijiijjjijjjjjjjjjiijjjjjjijjjjjijjijjjjjjijijjjjjjjjijjjjjjjjijjjjjjjjjjiiiijijjijjjjjjjiijjjjjiijjiijjijjjjjjjijjjjjjjjiiiijjjjijiijjjijjjjiijjjjjjijjjjjjiijjijjjjjjijjjijjjijjjjjjjjjijjjjjjjjjijjijjjjjjjjiijijjiijjjjijjiiiijjjiijijjjijijjjjijijjiijjjjjjjjjjijiijjjjjjjjjjjijjjjjjjjjjijijjijjjjjijijjjijjjjiijijjijjjjijijjjiijijiijjjjijijjjiijjiijiijjjijiiijijiijjijjiijjjjijjjijjjijjjijjijijjjjjijjjjijjjijijjjjjjjjjijjjijjijjjjjjijjiijjjijiijjjijjjjijjiiijjjijjijijijjiijjijjjjijjjjjjiijjjjiijjijjiijjjjjiiijiiiijiiijjjjjjjjjijjjjjijjjjiijijiijjjjijjjjijjjjjjjjiijjjijjjjjijjijjijjjijjijijijijjjijjiijjiijjjjjjijjijjjijijjjjjjjjjiijjjijjijiiijjjiiijijjjjijiijjiijjijjjjjjiijijijjiiiiijijjjijjjjijjjiijjijijijjjjjijjjjjjjjiijjjjiijjijiijjjjiijjijijijjijjjiiijjjjjjjjijjjjjjjjiijjiijijjiijjjjijijiijijijjjjjjijjjjjiijijijjiiiiiiijiijjjjjiijjijjjjjjjjjjjijiijjjjjjjjjijijijijjijijjjjjjjijjjjijjijjjjjiiiiiijjjjjijijjijjjijjiijjjjjjijiijjjjijjjijjjijjijijjjijjijjjijijjjjijijijijjjijjijijjjijiiijjjjjijjjjjijijjijiijijiijjijiijijjjijijjijjiiijijjjjjijijjijjjijijjjjjjijijjijjijjijiiijijiijjiijjjijiijiijijijjijjjijijjjiiijjijiiijijjijjjijjjjjjjiijiijjjijjjiijiijjjjjijjjjjjjijjjjjjjjjjjjiiijijjjiijijjijijjiijjiijjjijijjjjjjjijijijijjiijjiijijjjiiijjijijjijjjjjijiijjijijjjijjjjjjiijjijjijjjijijjjijjijiijjjjiiijjijjjjijjjjjjjjiiijjijjjjjjjjjjjjiijijjjjjiijjjjjijjjijjijjjijiiijjiiijjiijjjiiiijjjjiijjjjijjijjjjiijjjjjjjjjiijiiijijijjiijijiiiiiiijiiiijiijijjjijjjjjiiiiiijijjjiijijjijjiiijjjjjiijjijjjjjjjjjjjjjijjjjjjjjjjjjijjjjjjjjjjjjjjjjjijijjjjjjjjjjjjijjiijijjjjjijjjijjjjijjjjjjjjjjjijjjjjjjjjjijjjjiiijiijjjjjjjjjjjjijijijijjijjjijjjijjjjjjjjjijjjjjjjjjiijjjjjjjiijjjjjjjjiijjjjjjjjjjjjjjjjijjjjjjjjijijjjijjijjjjjjjjjiijjjjjjjjijijjjjjjjjjjjjijjjjjjjjjjjjjijjjjjjjjjjjjjjjiijjjjjiijjjjjjiijjjjjjjjjjijjjjjjjijjijjjjjjjjjjjjjjjijjijjjjjjjjjjjijjjjjijijjjjjjijjjjjjjjjjijjijjjijjjijjjijjjjjjjjjjjjijijjjjjjjjiijjijjjjjjjjijjjjjjjjjjjjijjjjjjjijjjjjjijijiijjjjjjjijjjjjjjjjijijjjijjjjjiijjjjjiijjjjjjjjjijjjijjjijjjijjjjjjijjjijijjijjjjjjijjijijiijijjjjjjjijjjijijjijjjjjijjjjjjjjjjjjjijjjjijjjjjjijjjjjjjjjjjjjijjjjjjjjjjjjijjiijjjjijijjijjijjijijjjijjjjijjjjjjjjjijijjjijjjjjjjjjijijijjijjjjijijjjjjijjjjjjjjjijjjjjiijjjjijijjjjjjjjjjjjjjjjjjjiijjjjjjjjiijjiijjijjjjjjiijijjjiijijjjjjijijjjjjjjjjjjijjjijijjjjiijijjijjjjjijjjjjjjjjjjjjjjjjjjjjjjjjjjjjjijjijjjjjjijjijijijjjjjijijjijjjijjjjjjjjjjijjijjijjjjiiijjjijjjjjjjjijjjjjijjjjjjjijijjjjjijjjjjjjjjjjijjjijijjjjjjiijjiiijjjijjjijjjjjjjjjjjjjjjjjijijjjijjjjjijjijjjjjiiijjjjjijjjijijjjjjjjjjjjjjjjjjjjjijjjjjjijiiiijjjjjjjjjjjjjjjjjijijijiijjjijijijjjjjjjjjjjijjijijjjjjjijiiijjjijjjijjijjijjiijiijiiiiijjjjijjjjjjjijjijijijjjjijjjjjjjjjjjjiijiijjijjijijijjjiijjjijjjjijjjjjjjjijjijijjijjijjijjjjijijjjijjijjjjjijjjijjjjjjjjijjjiiijjjjjjjjjjjjjjijjjijjjijjijijijjijjjjjijijijjjjjijjjjijjjjjijjjjjjjjjjjjjjjijijjjjjjjjjijjjjiijjjjjjjjjjijjijijijjijijjjjjijjjjiiijijjjjjjijjijjjjjjjjjiijjjjjijijjjjijjjjijijijjjjjjjjijjjjjjjjijjjjjjjjjiiiiijijjijjjjjjjiijjjjjiijjiijjijjjjjjjijijjjjjjiiiijjjjijijjjjjjjjjijjjjjjjijjjjjjijjjijjjjjjijijijjjijjjjjjjjjijjjjjjijjijjijjjjjijjiijijjijjjjjjjjijjijjjiijijjjjjijjjjijijjiijjjjjjjjjjijiijjjjjjjjjjjijjjjjjjjjjijijjijjjjjijijjjijjjjjijjjijjjjjjjjjjiijijjjjijjijjjijjijijjjjijiijijjjjjjijijjjijijjjijjijijjjijjiiijiiijjijjiijjjjjjjijijjjjjijjjjjjjjijjjijjiiijijjijjjjijiijjjiijjjiiijijjijijjjiijijjjijjijjjjijjjijiijjjjjjjjjjijijjjjjjjjjjjjjjjjjjjjiijjjjjjjjjjjjijjjjjjjjjjijjjjijjijijjjjjiiijjjjijjijjjijjjijijjjijjjjijjijijjjjjijjjijjjjjjjjjijjiijjjjijjjjjjjjjjijjjjiijjijjjjjjiijjijjijijjijjjjijjjijjjjijjjjjjjjjijjjjijjjjjjjjjijjjjjjjjiiijjjjjjjjijjjjijjjijjjjjjjjjjijjjjjjjjjjjijjijjijjjjjjjjiijjjjjjjijijjiijjjjjijijjjjjjjjjijjjjjijjjjjjjjiijjiijjjijiiijjjjjjjjjjjjjjjjjjijjjjijijiijjjjijjjjjjijjjijjjjjjjjijijijjjjjjjijjjjjjjiiijjijjjjjijjjijijjjjjjjjjjjjjjjjjjijjjjijjjjjjjjiijjjjjijjjjjjijjjjijjjijijjjijijjjjjjjjijjjjjijjjjjjjjjijjijijijjijjjjijjijijjjiiijjjjjjjjijjjijjjjjjijijjijjjijjjjjjjijjjjjjijjijiijjiijjjjjjjijiijjijjjijijjjjjjjjjjjjijjijijjijjjjijjjjjjjjjijjijiijjjjjijjiijjjjjjjjijjjiijjjjjjijjjjjjjjjjjjijijijjjjijjjjjiijijjjjjijjjijjjijjjjjijjjjjjjjjjjjjjjjjjjjjijiijjjijjjijjijjijjjjjijjjjjjjjjjjjjijjjjjjjjjjjijijjjjjjijjijjjjjiijjijjjjiijjjjjjjjjjjjijjjjijjijjjjjjiijjjjjjjjijjjijjjjjjjjijjjijjjiijijjijijjjjjjjijjjjjjijjjijjiijjjjjjjjjjjjijjjjjjjjjjjjiijjjjiiiijjjjjjjjjjjjjjiiijjjjjjijjjjjjjjjjjjjjjjjijjjjjjjjjjjijjjjjjjjijijijjjjjijijjjjjjjijjjjjjjijjjjjjjjjjijjjijjijjjjjijjjjjjjjjjjjiijjjjjjjijjjjjijjjjjijjjjjjijjjijjijjijjijjjjjjiijjjjjjijjijjjjijjjijjjjijjjjjjjjjjjjjjijijjjijjjjjjiijjjjjjjijjjjjjjjjjjjijjjjjjiiijjjjjijjjjjjjjjjjijjjjjjjjjjijjjjjijijjijjijjijjjjijjjjijjjjjjijjjjjjjjjjjjjjjijjijjjjjjjjijjjjjjjjjjjjjjjijijjijjjjjiijjjjjjjjjjjjjjijjjjjjjjjjjjjjjijjjjjjijjjiijjijjjjjjjijjjjjjjjjjjjjijjjijjjjjjjijjjjjijijjijjijijjjjjjjjjjijijjjijjjjjiiijjjjjjjjjjijjjjjjijijijijjjjjjijjijjjjjjjjjjjjjijjjijjjijjjijjjjjjiijjijijjijjjjjjijjijijjijijjjjjijjjjjiiijjijjjjjijjjjjjjjjjjjjiijjjijjjjjjjjjjjjjjjjjjijijjjjjjjijjjjijjiijjjjijijjijjijjijijjjijjjjijjjijjjjjijjjjjijjjjjjjjjjjijijjijjjjijijjjjjjjjjjjjjjjijjjjjiijjjjijjjjjjjjijjjjjjjijjjjjjjjjjjjijjijjjjjjjijjjijjjjjjjijjjjjjijjjijjijjijjjjjjiijjjjjjjjjjjijiijjjjjjijjjjjjjjjjjjjjjijjjjjjijjjjijjjjjjjjjijjjjjjjjijjijjjijjjjjjjjiijjjjjijjjijjiiijjjjjjjijjjjjjjjijijjjijjijjjjjjjjjjjijjjjjjjjijijjjjjjjijjjjjijijjijjijjjjiijjjjijjjiijijjjiijijjjjjiijjijjjijjjjjjijjjjiiiijijjjjjjjjjjijjjjjijjjjjiijiijjjjiiijjijijijjjjjiiijjjjiijiiijijjjjijiijjjijjijijjjjjjjjjijjjjjiijjjjjjijjjijjjijjjjjjjijjjjjjjiiiijjjjjjijjiijjjiijjijjjjjijjijijijjijijjjjjjjjjjjijijjjjjjjjijjjjjijjjjjjiiiijjjjjjjjijjjijjijjjijjjjjjjjjjijjjjjjijjjijjijjjijjijjjjjijijjijjjjjjjijjijjjjijjjjijjjijijjjjjjjjjjjjjjjjjjjjijjiijjjjjijijjiiijjjjijjjjjjijjjjjijjjjiiijjjjjjjjjjiijjjjjjjjjjjjjjijjijjjjjijjjjjjjijjjjjjjjjiijijiijjjjjjjjijjjjjjijijiijjjjijjjijjjjjjjjjjijijjjjjjijjjjijjjijjjjjjjjjjjijjiiiijjijjjjjjjjjjiijjiijjjjjiijjjjjjjjijijjjjjjjjjjjjiijjjijjjjjjjjijijjjjjiiijjjjjijjijjjjijjjijjijjijjjijjijijjjjjjjjjjjjjjjjjjijjjjjiijiijijjiijjjiijjijjjjjjijjjjiiijjjjjjjjjjjiijijijiijjjijijjijjjjjjjijjjiijijjijjijijjjjiijjjjjjjjiiiijjjjijjjjjjjjjjijjjijjjjijjjjjjiijiijjjjjjiijjijjjjjjjjjjijjjjjjiiijijjjjijjjjijijjjijjjjijjjjijjjjjijjjjijjjijjjiijjjjjjjiijjjjjjjiijjijjjjjjjjjjjjjjjjijjjijijjjjjjijjjijjijjjjijjjjjjjiiijjjijjjjijjjijijjjjjjjijjjjjjjjjjijjjjijjjjjijjiijjjjjijjjjjjjjjjijjjijijjjjjjijijjjiijjjjijjjjjjjijijjjijjjjijjjijijjjjjjjijjjjjjjjjjijjjjijjjijijjiijjjjjijjjjiiijjjjijjjiijjjjijijjjjjjjjijjjjjiijjjjjjjjijjijijjjjijjjjijjjjijjjiiiijjjjijjiijiijjjjjiijijjijjjjjjjjjjjijjjjjjijjijjijjiijjjjjjjijiijjijjjijijjjjjjjjjjjjijjijjjjijjjjijjjjjijjjijjijijjjijjijiiijjjjjjjjijjjiijjijjjijjjjjjjjjjjjijiiijjjjijjjjjjijijjjjjijjijjjijjjjjjjjjijjjjjijjjijjijiijjijiijiiijjjjjjjjijjjiijjijjjijjjjjjjjjjjjijijijjjjiijjjjjijijjjjjjjjijjjijjjjjjiijjijjjjijjjjjjijjjjjijjjjjjjjjjjjjjjjijjijjjjjjjjjjjijjjjjjjjjjijjjjjjijijjiijjjjjjjjjjjiijjijjijjjjjiijjjjjjjjjjjijjjjjjjjjjjjjjijjjjjjjiijjjjjijjjjjjjjjjjiijijjijjjjjjjjijjjjjjjjjjjijjjjijjjijjjjjjjjjjjjijjjjjjjjjjjjjjiijjjjjjjjjjjjijjjjijjjjjjjjjjjjjiijjijjjjjjijjjijjjijjijjijijijijjjjjjijjjjjjjjjjjijjijjjjjjjjjjjjjijjijjjiijijjijjjjjiijjjijijjjjjjijjjijjijjjjjjjiijjjjijiijijiijjjjjjijjjjjjjiiijjijijjiijjjjjijjijijijjjjjiijjijjjjijjjiijjjijjiiijjijjjijjjjjjijjjjjijjjjijjjijjjijjjijiijjjjjjjiijjjjjiiiijjjiijjjiijjjjjjiijiiiijjjjjjjiijjjijjjjjijjjiiiijjjjjijjjiiiiiiijjiijjjjijjjjiijjjjijjjijjijjiijijijjjjijijjijjjijijiijijiijijijjiijjjjijjjjjiiijjjijjjjjjjjjjjjjjjijjjjjjjijijijjiiijjjjjjijjjjijijijjjjijjjijijjijjjjjjjjjjiijjiiiiiijjjjjijjjijjjjjjjjjjijjjjjjjjjijjjjijjjjjjjijjjjjjjjjjjijjijjijjjijjjjjiijiiijjjjjjijjjiijjijijjjjijjjjijiijijjijjjjjjjijjjjjjijjijjijjjjijjjijiiijjjjjjjjjjjjijijjjjjjijjijjjiijjjiijijiiijjjjjjjiijijjijjjjijjjjjjjijjjjijjjijijjiiijjjjijjjiiijiijijiijjijijjiijjiijjjjjjijjjijjjjjiijjjjjjjjjjijjjjjjjjjijijjijijjjjjjjjijjjiijijjiiijjijjjjjjjjiijijjijjiiijjjjijijiijjjjjiijiijiijjjjjjjiijjijijjjjijjjjijjijijjjiiiijjjjijjiijjijijjjiijijjijjiijjjjijjijjjjjjjjiijjjjjijjjjjiijijjijjijjjijijjjjjjjjjjijijjijjijijjjjijjjjjijjjijjiijijjijjijijijiijjjjjijjjiijjijijijijjjjjjijijijijijjijijjjijjijijjjiijjjijjjijjjjjjjijijjjjjjjijjijijjjjjijjijjjiijjjjijjjijiijjjjjijjjjjjjjjjjjjijjijjjijjijjjjijijjjjijjjjjjijjjjjijjjjijjjjjjjjjijjjjijjjjjijjijjjiijjjjjjjjjjiijjjjjijjjjjijjjjjjjjjjiijjijjijjjjjjijjjjjjjjjjjijjijjijjjjjiijjjjjjjjjjiijjjjjjjjjjjjjjijjjjjjjijjijjjijijjjjjjjjjiijijiijjjjjjjjijjjjjjijiiiijjjjijijijjjjjjjjjjijijjjjjjijjjiijjiijjjjjjjjjjjiijiiiijjijjjjjjjjijiijjiijjjjjiijjjjjjjjijijjjijjjjjjijjjjjjijjjjjjjjijjjjjjjiiijjjjjjjjjjjjjijjjjjjjjjijjjijjijijjjjjjjjjjjjjjjijjjijjjjjjjjjjijjjijjjjjjjjiijjjijjjjjjjjjjijjjjjiijjjjjjijjjjjjjijjjijjijjijjjijjijijjjjjjjjjjjijjjijjjjjjjjjiijjjjjiiijjjijjjjjijjjjjjjjjijjjjjjjjjjjjjjjijiijjjjiijjjjjjijjiijjijjijjijjijjjjijjijjjjjjjjjjjjijiijjjjijijjjjjjijjijjijjjjjijijjjjjjjjjjjjjjjjijjjjijiiijjjjjjjjjjjjjjijijjjjijjjjjjijjjiijjijiijjjjjjjjiijjjjjjjjjijjjijiiijjjjijjjjjijjjjjjjjjjjjjijjjijjjjjijjjjjijjjjjijjjjjjjiijjjjjijijjjjjiijjiijjijjjijjiijjjjjijjjjjjijjijjijjjjjijijjijjijjijijjjijjjjiiijjijjjjjjjjjjjjijijjjjjjijjjijjjiiijjjjjjjjjijiijjjjjjjjjijjjjiijjjjjjjijiijjjjjjjjjjjjjijjijiiijjijjjjijjjjijjjijjjjjijjjjjjjijjjjjjjiiijjjjjjjjijjiijjijjjiijijjijjjijjjijjjjjiijjjjiijjjjjjjjjijjijjjjiijjjijjjjjjijijiijjijjjjjjjijjjjijjijjijjjijjijjjjiijjjjijjjjjjjjijjijijijjjiijjjjijiiijjjjijjijiiijijijjiijjjjiiijjjijjijjjijijjjjjiijjjiijjijiijjjiiijjjjijiijijjjijjijijjijjjiijjjiijijiijjiiijijjijijijjiijjjjjijjjiijjjjjiiijjijijiiijjjiijjjjjjjijijjjjiijjjjjijjjjiijjjijjjjjiijjijjjijjjjjjjijjjijjjjjjjiijijjijjjjjijjjiijjjijijjijjjijjijjjijiiijjjjjjijjjjijjijjjiiijjjjjiijjjjjjjijijjjjjjjjijjjjijjjjjjjjiiijjjjjjjjijjijjijijjjjjjjijijjiiijjiijjjjjjjjiijjijjiiijiijiiijjjjjiijjjjjjiijjjiijiijjjjjjjjjjjijjijjijijijjiiijjjjijijjjiiijjjjjjijjjjjjijjjjijjiijjjijjjjijjjjjjjiiijijjiijjjjijjjjjjjjjijjjiijijjijjiijjjjijiiijijijjjjjjijjjjjjjiijjjjjjjjjjjjjjjijijjjjjjjjjjiiiiijjijjjjjjiiijjjijjjijjjjjjjiijjjijiiijjijjjijjjjijjijjjjiiijjijjjjjjjijijijjjjjjjjjijjjjiijiijjjjjjjjjjiijjijjjjjjjjjiijjjjjjiijjjjjiijjijjjjjjijjiijjjjjjjjjjjjijijiijjjjijjjjjjjijjjijjijjijjiijijjjiijjiijjijjjjjjjjjjjiijjiiijijjjjijiijjijjjjjjijjjijjjjjjjjjjjjijijijjjjjijjjjjjjiijjjjjjjjijjjijijjjijjijijjijjjijijiijiijijjijjjijjijijjijjiiijjjijiijjjjjjjjijjijjjjijjjijiijjijjjjijjjjjiijjijjjjjjjjjjjjjjjiiijijjjijjjjjjjiijjjjijjjjijjjijjijjijjijjjjjijjijiijjjjjjjjiiijijijiijjiiiijjijjiijjjjjjijjjijjjjjjijjjijjjjijiijjjijjjiijijjijijjjjjjjjjjjjiijijjiiijjijjjijjjjiiijjjiijjjjiiiijjijjiijjjijjjjjjijjjjjjijjjijjjjijjjjijjjijiijijjijijjijjjjjijjjjijijjjjijjijjjijijjjiijjjijijiijijjjiiijjjjijjjijjijijjjjjjjjiiijijjjjijijjjiijjjijiijijjiiijiiijjjjijijjjjjijjjjjjijjjjjjjjjijjjijijjjjiijijjjijjjijjjijjjjjjjjjjjijijjjjjjjjjjjjijjiijjjjjjijjjjjjiiiijijijjijijjjiijjjjjiijjjjiiijjiijjijjjjijjjijjjjjjijjjijjjjjjjjijjjjjjjjiiijiiijjjijjjjjjjjiijijijjjjjjjjjjjjjijiijjiijjjjjjiijjijjjjjijjjijjjjijjijijjjjiijjjjijijjjjjjjjjjjijjijjjijjjjjjjjjijjjjjjjiiijiijjjjijjjijjijijjjijijiiiiiiiijijijjjijjjjjijjjjjjjjjjjjjjijjjjjjjjjijjijijjijjjjjiijjjijjjjjjjjjjjijjiijjijiijjijijjjijiiijjjjjjjjjjjjjijijijjijjjjjjjjijjijjijjjijjjjjjjiijijjjjiijijjjjjjjjjjjjijjijjjjjjjjjijjjjijijjijjjijjijijiiijjjjjjiijjiiiijjjjjjjjjjijijjjjijjjjjiijjjjijiijjjjjjjjjijjjjijjjjijjijjjjjjjjijjjjijijjjiijiijijjjjjjjijjjjiijjiijijijjiiiiiijjijijjjjijjjjjjjjjijjjjjiijijjjjjijjjijijjjjjjjjjiijijjjijjjjjjjjijijijijjjjjjjjijjjjijijjiijjjijijijjjiijjjjjjjjijjijjjjijjiijjjjjjjjjiijjijjjjjjijjjiijjjjjjjijjjjjjjjijjiiiiijjjjjjijjjijjijjjjjjijiiiiijjjjijjijijjjjjjjiiijjjijiijjiijijjjjjjjjiijjjjijijiijjjiijjjjjjijjjjjjjiijjijjiijjjjijjjjjijjjjiijijjjijjjijjjjjjjjjijiijiijjjiijjjjijjjjjijjjjjjijijjjijjijjijjjjijijjjjijiijjjijjiiijjijjjjijijiijiijjjijjjjjiiijijjjiiijjjjjjjjjjjjijjjjjjjiijjijjjijjjjjjjjjjjjijjjjijjjjjjjijjjiijiijijjjijjjijjjjjijjjjjjijijjjiiiijijijjjiijjjjjjjijjijjjjjjjijiijjjjjjjjjjjjjjjijijijjjjjijjjjjijjjjijijiijjjjjijjjjjjjjjjjjjjijjjjijjijjijjjjiijjjjjijjiijiiiijiijijijijjjiijjjjjjjijjjjjijijjiijjjjjijjjjjjjjijijjjjjjjjjjjjjjjjijjiijjjijjjjjjijjijijjiiijjjjjjiijiiiijijjjjijjijjjijjiijjjjiijjjjijiiijjjijjijjijijjjjijjjjjjjjjjijijjiijiiijijjjjiijijjjiijjjjijijjjjjijjjjjijijijjjjjjjijiijjjjjjjiijjijijjjjjjjjijjjiijijjjjjijjjjjijjijjiiijijjjijijjiijjjijjjjjjjjjijjjjjjjjjjjjjiijjijijjiijjjijjjjjjjjjjjjjijjjjjjijjjjjijjjjijjiijjjjjijjjjjjjijjiiiiijjjjiiiiijjjiijijjiiijjjjjijjjijijjijjiijijijiiijjijiijjjiiijjjjjjjjjjiiijjiijjjiijjjiijjijjijiiiiijijjjjijijjjjjijijjjjijjijjjijjjijijjjjjjijjjijiiijjijiijjijjjiijjjjiijjjjjjjjijjiijjijjjjjjjijijjjjjjjijijiijijjjjjjiijjjjjjjjjijjijjjijijjjijjijjijijijiiijjjjjjjjiijiijjiiijjjjjijijjjjiiijjjjijjjjjjijiiijjjjjjjjijijjjjjjjijijijjijijjiiiijijjiiijjjijjjiijjjijijjjijjjjiijjijjijjijijjjjjjjjjjijijjijijjjjjjijijjjjijjjijjijijjjjjijiijjjijjjjjiiijijjjjiijjjiijiijijjjijjjjijjjjijiijjjjjjijiijjjjijjiijiijijjjijjjjjijjjjjjijjjjjijjjijijjijjjjjiiijijijjjjijijjijijjjjjjjjiijjijjjjijjjjjjjjjijijjjjjijjiijijijjijjjjjjjjijjjijjjjjjjjjjjiijjjjjjijjjjjjijjjjjjjjjjjjjijjiijjjjjjjjjjjjjjjjjjijjjjjjijiijjiijjiijijjjijjjijjjjjjjjjiijijjjjjjjjjjjjijjjjjjijijjjjjjijjjiijjjjjjijjjjijjjjjjjjjjjjjiijjijjjjjjjjjijjjjjijjijjjjjjjjijjjjijjjjijjijjijjjjjjjijjijjjijjjijijjjjjjjiijjjjjijjjjjjjiiijjjjjjjijjijjjjijjjjijjjijjijjjijjijjijjjjijjijijjjjjjjjjjjjjiiiijjjjjjjjjjjjjjjjjjjjjijjjjjjjijjjijjjijijjijjjjjjjjjjjijijjijjjjijjjjijjjjjjjjijjjjijjjjiijijijjjjjjjiijjijijijjjjjjijjijjijjjjjjjjjjjijjjjijjijijjjijijjjjjjjiijjjjjjjjjjjijijjijijjjjjjiijjjjjijijjijijjijjjjjjijjijjijiijijijjjjjjjjjjjijjjjijjjijjijijjjjjjjjiiijjjiijiiijjijjijjjjijijjijijjijijjjjijjjjjjjjjiijjjjjjjjijjjjjiiijjjjjjjijjjjjjjjjijjjijjjijjjjjjiiiijjijijjijiiijjjjjjjjjjjjijjjjiijjijjjjjjjjijjijiijijjjjijjjjjjjjjjjjjjjijjjjjjjjjiiijiijjjjjjjjijjijjjjjiiijjjjiiiiijiiijjjijjjijiijjjjjjjjjjjjiiijijjijjiijjjjjjjijjjjjiijjjjjjjjjjjjjiijijiijiijiijjijjjjjijijijjjjjjjjjijjjjjijijjjjijijjjjjjjijiijjjijjjijjjiijijjijijjjjjjjjjjjjjjjjjjijjjjjijjjiijjjjjijjjjjjijjjjjjjiijjijjjjiijijijijjijjijjijjijjjjijijjjjjjijjijjjijjjjjjjjjjjijjjjjijjjjjiijijjjijjijjjijjjijijjijjjijjjjjjjjjjiijjjijjjiijjjjjijjjijjjiijjjjiijjjiijjjjjjjjjjjijjijijjjjjjjjjjijjjijjjjjijjjjiijjjijijjjijjjjijijjijiijjjjjjjijiijjiijjjjjijjijjiijjijjijjjjjjjjjjjijjijjjjjjjjjjjjjjjjjiijijjjjjjijjjjjiijjijjjjijjjijjjjjjijjjjijjijjjjjjijjjjjijjjjjjjjjjjiijijjiijjjijjjiiijjijjjijjjijjjjjjjijjjjjjjijijjiijijjijjijijijijjjjjjijjjjijjjijijiijjjjjjjijjiiiijjjjjjjjjjjiijijjjijjijjijjjjjjjjjjijijijjjjjijjjjjjjjjjjjjjijjijjjjjjjjjjjijijiijjjiijjjjjjjjjjiijijijiijiiiiijjijjjjiijjiijjjjjijjjjjijijjjjjijijjijjjjjjjijjjiijjjjjijjjjijjjjijiiijjjijijijjjjiiijjjijjjiijjjjiijjjjjijjjjijiiijjjijijijjjjjjjjiijjjjjijjijjjjjijiijjiijjjiijiiiijjjijiiiijjjjiijijjjjjiijijiijjjjjijiijjjjjjijjjjiijjjjiijjijjjjjiijjjijjiiiijjjjjijjjijjijjjijjjijjijjijjjjjjjjjijjjjjjjjjjjjjjijijjjjjiijjjiijjjjjjjjiijjjjjjjjjjjijjjjjjjjijjjjjjjjjjjjjijjjjjjjjjjjjjijijijjjjjjjjjijjjjjjjjjjjjjjijjjjjjjjijjjjjjjjjjjjjjjjjijjjjjjjijjijijjjjjjjjjjjjjjjjjjjjijiijjjjjijjjjjjjijjjjjjjjjjjjjijjjjjjjjjjijjjjjijijijijjjijjijjjjjjjjjijjjjjjjjjjjjijjjjijjjjjjjjjjjjjjjjjjjjjjjjijjjiijjjjijjjjiijjijjjjjjijjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjijjjjjijjjjjjjijjjijjijjjjjjjjjjjjjjjjjijjjjjjjjjjjjjjjjijiijjjjjjijjjjjjjjjjjjijjjjijjjjjjijjjjjjjjiijjjiijjjjjjjijjjijjjjjjjjjjjjjjjjjjjjjjjijijjjjjjjjjiijjjijjjjiijjjjjjjjjjjjjjjjjjjijjjjjjjijjijjjjjjijjjjjjjjjjjjjjjjjjjjijjjjjjjjjjjjijjjjjjjijijjijjjjjjijjjjjijjijiijjjjjjjjjjjjjjjijjjjjjjjjjijjjjijjjjjjjjjijjjjjijijjjjjjjijjjjjjjjjjjjjjjjjjjjjjjjijjijjjjjijijjjjijjjjiiijjjjjjjjjjiiiiiiiijjjjjijjjjjjjiiijjjjjjjjjjjjjjjijjjjjjjijjjjjjijjjjjiijjjiijjjjjjjjjijjjjjjjjijjjjjjijjjjjjijjjjjijjjijijjjjjjjjijijjjjjjjjijijjijijjijjijjiijijjjjjjjjjjjjjjjijijjjjjijjiijijijjijjjjjjjjijjjijjjjjjjjjjjiijjjjjjjjjjjjjjjjjjjjjjjjjjjijjiijjjjjjjjjjjjjijjjijjjjjjjjjiijijjjjjijijjjijjjijjjjjjjjjiijjjjjjjjjjjjjjijjjjjjijijjjjjjiijjjijjjjjjijjjjjjjjijjjjjjiijjjijjijjjjjjjjjjijjijijjijjjjiijjjjjjjijijjjjiijjjjijjjjijjijjjjjijjjjjjjjiijjjiijijjjjijiijjjijjjjiijjjjjjjjjjjjjjjjjjjiiiijijjjjjjiijjjjjjjjjijiijjjjjjjjjijjjjijjijjjjijjijjjjjjjjjjjjijjijjjjjjjijijjjijjjjjjjjjjjjjjjijjjjiijjjjjjjjjjjjjjjjjjijiijiijjjijjjijjjjijijjjjjijjijjijiijijjijijjjijjjjjjiijiijjijjjijjjjjjjijijjjjijijjjjiiijijjjjjjjjijijjijjjjjjjjjjjijijjijjjjjijjjijjjjjjjjijjjjijjjjiijjiijjjjjjjiijjjjijijjjjjjijjijjiiijjjjjjjjjijijjijjijijjiijijjjjjjjijjjjjijjjjijijiijijjjijijjjjjjjijijijjijjjjijjjjjjjjjijiijijjijijijjjjjjijjijjjjijjjijjijjijjjjjjjjiijjjijjiiijjijjijijjijijiijjjjijijjjjijjjjjiiijjjjjjjjjjjjjjjjjijjijjjjijjjiijijjjijjjjjjjjjjjjjijjjjjjjjjjjjjjjiijiijijjijjjjjjjjjjijjjjjjjjijjiijjjjjjjjjjiijjiiijiijjiiiiijjjjjjijijijjjjjjjjjjjjjijijjijijjijiiijjijjijijiijjijjjjjjjjjijjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjijjjjjjjijjjjjjjjjijijjjjjjjjjjjijjjjijjijjjjjjjjjjjjjjjiijjjjjjjjjjjjjjjjijjjjjjjjjjijjjjjjjjjjjjijjjjjjjjijijijjjjjiijjjjjjjjjjjjijjjjjjjijjjijjjjjijjjijjjjjjjjjjjjjjjjjjjjjijjjjjjjjjjjjjjjjjjijjjijjjjjjjjjjjjjjjjjjjjjjjjjjjjjjijjjjjjjjjjjjijjjjjjjjjjjjjjjjjjjjjjjjjjjijjjjjjjjjjjjjjjjjjjjjjjjjjjijjjjjjjjjjjjjjjjjjjjjjjijjijjjjjjjjijjjjjjjjjjjjjjjjjjjjjjijjjjjjjjjjjjjjjjjjjijjjjjjjjijjjjjjjjjjjjjjjjjjjjjijjjjjjjjjjjiijjjjjjjjjjjjjjjijjjjjijijjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjijjjjjjjjjjjjjjjjjijijjjjjjjjjjjjjjjjjjjjjjijjjijjjjjjijjjjjjjjjjjijjjjjjjjjjjjjjjjjjjjjjjjjjjjjijjjjjjjijjjjjjjjjjjjjjjjjjjijjjjjjjjjjjjijjjjijjjjjjjjjjijjjjjjjjjjjjjjjjjjjjjjjjiijjjjjjjjjjjijjjjjjjjjijjjjjjjjjjjjjjjjjjjjijjjjjjjjjjjjjjjjjjjijjjjjjjjjjjjjjjjjjjijjjjjjjjjjjjjjjjjjjjjjjiijjjjjjjjjjjijjjjjjjjjjjjjjjjjjjjjjjijjjijjijjjijjjijjijjjjjjjjjjjjijjjjijjjjjjjjjijjjjjjjiijjjijjjjjjjjjjijjjjjjjjjjjijjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjiijijjjjjjjjjjjjjjjjijjijjjjjjjjjjjjjjjijjjjjjjjjjjjjjjjjjjjjjjjjijjijijjjjjjjjjjjjjjjjjjjjjjijjjjjjijjjijjjjjjjjjjjjjjijiijjjjjjjjjjjjjjjjjjjjjjjjjjijjjjjjjijjjjjjjijjjjjjjjjjjjjjjjjijjjjijijjijijjijijijjjjjijjjjjjjjijjjjjjjijjjjjjjjjjijjjjjjjjjjjjijjjjijjjjjijjjjjjijjjjjjjjjjjijjjjjjjijjjjjijjjjjjijjjjjjjjjjjjjjjjjjjijjjijjjjjjjjjjjjjjjjjjijjjjjjijjjjjjjjijjjjjjjjjijjjjjjjjjjjjjjjjjjjjjijjjjijijjjjiijjijjijiijjijjijjijjijjjiijjjjjjjiiijijjijijjjjjjjjjiijijjjjijiijjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjijjjjjjjjiijjjijjjjjjjjjjjjiijjjjjjjjjjjjjjjjjjjjjjijjjjjjjjjjjjijjjjjjjjjijjjjjjjjjjjjjjjjjjjijjjjjjjjijijjjjiiijjjjjjjjjjjjjjjjjjjjijjjjjjjjjjjjijjjjjjiijijjijjjjjjijjjjjjjjjjiijjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjijjjjjjjjjijjjjjijijjjjjjjijjjjjjjjjjjjjjjjjijjjjjjiijijjiijjjjjiiijjjjjjjijjjjjjjjjjjjiijjjjjjjjjjjijjjjjjjjijjjjjjjjjjjjjjjjijijjjjjjjijijjijjjjijjjjjjijjjjjjjijjjjijjjjjjjjjijjjijjjjjjjjjjjijjjijjjjijjijjjijjjjjjjijjjjjjjjjijjjjjjjjijjjjjjjjjjjjjjjjjjjjjjijjjjjjijjjjjjijijjjjijjijijjjjjjjjjiijjjjjjjjjjjjiijijjjjjjjiijjjjjjjjjijjjiijjjjjijjijiiiijijjjjjjjiiijjjjjijijjjijjjijjijjjjjjjjjjjjjjjjjjijijjjjjijjjjjjjjjjiijijjijjjjijjijjjjjjjjjjjjjjjjjijjjjjjjjjjjijjijjjjjijjjjijjjjjjjjjijjijijjijjjjjjjjjjjjijjjjjijjijjjjjjjjjjjijijjjjjjjjjijjijjjjjiijjjjjjjjijjijjjijjjjjjjjijjjjjjiiijjjjijjjjijjjjjijjjjjjjjjjjjjjjijjjjjijjijjjjjjjijjjjjjjijijjjjjjjjjjjjijjjjjjjijjjijjjjjjjjjijjjjjjijijjijjjjjijjjjijjjjjjijjjjjjjjjjjijjjjijjjijjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjijjjjjjjjjjjjjijjijjjjjijjjjijijjjjjjjjjjjijjjjjjijjjjjjjjjijjjijjjjjjjjjjijjjjjijjjjjjjjjijjjjjjjjjjjjjjjijjjjjjjjjjjjjjjjjjjjjjjjjjijjjijjjjjjjjjjjjjjjijjjjjjjjjjjjjjjijjjjjijijijjijjijjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjijjjjjjjjjjjjjjjjjjijjijjjjjjjjjjjjjjjjjiijjjjjjjjjjjjjjjijjjjjjjijjjjiijjjijjjjjjjjjjjjjijijjjjjjjjjjjjjjijjjjjjjjjjjjjijjijjjijijjjjjjjjjjjjjjjjjjjjijjjjjjjjjjjjjjjiijjjjijjijjjjjjijjjjjjjjjjjjjjjjjiiijijjjjjjjjjjijijjjjjjjjjjjjjjjjjjjjjijjijijjjjjjjijjjjjjjijjjjjjjjjjjjjjjjjjjjijjjijjjjjjjjjjjjjjjjjjjjjjjjjjjijjijjjjjjjjjjjjjjijjjjjjjjjjjjjjjjjjjjjijjjjjjjjjjjjjjjjjjijjjjjjjjjijjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjijjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjijjjjjjjjjjjjjjjjjjjijjijjjiijjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjiiijjjjjjjjjjjjjjjjjjjjjjjjjijjjjjjjjjjjjjjjjjijjijjjjjjjjjjijjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjijjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjijijjjjjjjjjjjjjiijijjjjjijjjjijjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjijijjjjjjjjjjjjjjjjjjijjjjjjjjjjjjjjjjjjjjjjjjjjjjijjjjjjjjjjjjjjjjjjijjjjjjjjjjjjjjjjjjjjjjjjijjjjijjjjjjjjjjjjjjjjjjjjjjjjjijijjjjjjjjjjjjijjjjijjjjjjjjiiijjjjjjjjjjjjjjjjjjjijjjjiijjjjjjjjjjjijjjjjjjjjijjjjjjjjjjjjjjjjjjjjijjjjjjjjjjjjjjjjjjjjjijjjjjjjjjijjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjijjjjijjjjjjijjjjjjjjjjijjjijjjjjiijjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjijjjjjjijijjijjjjjijjjjjijjjjjjjijijjjjjjijijjijjjjjjjjiiijjjiijjjjijjjjiijjjiijjjijijjjjiijjjjiijjijijjjjijjjijjiijjjijjjijiiijjjjjjjjjjjjjijiiijjjijjjjjjjjjjijjijjjjjijjiijjijjjjjjjjjjijijjjjijjjjjjjjjjjjijjijjjjjjijjjjjjjjiijjjjjjjijjijjjijijijjjjijijjjjjjjjjjjijjjjjjjjjjijijjjjjjijjjjjjjjjjjjjjijjjjjjjjjjjjjjjijjijjjjjjjjjjjjjjjiijiijijjjijijjjjjjjjjijjjjjjjjjjjjjjjjjjjjijjijjjjijjjjjjjjjjijjjjjijjjjjjjjjijjjijjjijjjijjjjjjjjjjjjjjjjjijjjjjjjjjijjijjjijjjjjjjjjijjjijjijjjjjjjjjijjjiijjjjjijjjiijjjjiijjjjjjjjjijjjjjijjjjjjijjjijiijjjjjjjjiijjjijjjjjjjjjijjiiijjjjjjjjjjjjijjjjjjijiijijjjjjjjjjijiijjjjjiijjjjjjjjijjjjiiijjjjjjjjjijjjjijjjjijjijjjjjjijjjijjjjijjjjjijjijjjjjjjjjjijjjjjjjjjjjjjjjjjijijjjjjijijjjjjijjjjjjjjiijjjjjjijjijjijijiijjjjijjjjjijjjjjjijjijjijjjjjjjjjijjjjjjjjijjjjjjjjjjjjjjjjjjiiijjijjjjjjjjijjiijjjjijjjiijjjjjjjjjjjjjjijjijjjjijjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjijiijjjijjjijjjjjjjijjjjjiijjjjjjjjjjiijjjjjijjjjjjjjjjjijiijiijjjjjjjjjjjjjjijjjjjijjjjijjjjjijjijjijjjjjjijjijjijjjijjjjjjijjjjjjjijjjijjjjjijiijjjjjjjijjjjjjjijjjjjjjjjjjjjjjjjijjjjjjjjijjjjjjjjjijjjjjjijijjijjjjjjjjjjijjjjjjijjjjjjjjijjjjjjjiijjjjjjjijjjjjjjijijjjjjjjjjjjjjjjijjjjijjjijjjjjjjjjijjjjjjjjijjijjjjjjjjjjjjjjjjjijjjjjjjjjjjiijjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjiijijjjjjjjjjjjjijjijjjijijjjjijjjjjjjijjjjjiijjjjjijjjjjjjjjijjjijjjjjjjjjjjjjjjjijjjjjijjjijjjjjjjjjjijjjijjjjjjjjjjjjjjjjjjjjijjjjjjijjjijjjjjjjjjjjjjjjijjjjjjjjjjjjjjjijjjjiiijjijijjjijjjjjjjjjjijjjjjijjjjjjjiijjjjjjjjjjjjjjjijjjjjjijjjijjjjjjjjjjjjjjjijjjjjjjjjjjjjjjijjjjiiiijjjiijjijjjjjjjjjjjjjjjjijjjjjjjjjijjjjjjjjjjjijjjjjjjjjjjjjjjjjjijjjjjjijjjjjjjjjijjjjjjjjjjjjjjjjjjjjjjjijjjjjjjjijjjjjjjjjjjijjjjijjjjjjjjjjjjjjjijjjijjjjjjjjjjjjjjjijjjjjijjijjjjijjjjjjjjjijjiijjjjjjjjjjjjjijjjjjjjiijjijjjjjjjjjijjjjjjjjjijjjjjjjjijjijjiijjjijjjjijjjjjjjjjjijjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjijjjjjjjjijjjjjijjjjjjjjjjjjjjjijjjjjjjjjjjjjjijjjjjjjjjjjjjiijjjjjjijjijjjjjjijijjijjjjjijijjjjjjijjjjjjijjjjjjjjjjjjjijiijjjjijjijjijjjjjjjjijjiijijiijjjjjjjjjjjiiijjjijijjjjjjiijjjjjijijjjjijjjijjjijjjijjjjjjjjjjjijjjjijjjjijijjjjjjjjjjijijjjjjjijjjjijjjjjjjjijijjjjjijjjjjijijjijjjjjiiijjjjjijjjjjjjjjjjijjjjjiiijiijjijjjiijjiijiiijjjjiiijjjijjjjjjijjijiijjiijjjjjjjiiiijjjjijjjiijijiiiiijjjjjiijjjjjijjjiijjjjjijjjjijijjjjjjijijiiijijjjjjjjjiijjjjijijjjjjjjjjiijjiijjjijjjjjjjjjjjjjjjjijijjjjijjjijjiiijjjjjjjiijjjjjjjjjiiijjijjijjijjjjjjjjijijjijjjijjjjjjijjjjjjijjjjijijijijjjjjjjjjjijjjjijjjijijjjijjjjjijijijjjjjjjijiijjjjijjijjjijiiijjjjjjjjjijiiijjjjjjjijjjjjijjjiijjjjjjjjiiijjjjjjjjjjjiijjijjiijjjjiiijiijjjijjjjjjijjijijjjiijijijjijjjijjjjjijjjijjjjijjijijjjjjijijjijijijijjjijjjjjijijjiijjjijjijjjjiiijjijijjijjjjjjjijjjjijjjjjjjjjjjjjjjjjjjjjjiijijjijjjijijjjijjjjijiijijjjjjjjjjjjiijjjjijjjjjjjjjjjjjjijjjjjijijijjjjjiijijjjjjjijjjjiiijijjjijjjjjjjjijjjijjjjjjijjjjjjjjjijjjjjjijjjijjjjjjjjjjijjjjjijjjjjjjjjjjjjjijijjjjiijijiijiijjjjjjjjijiijjjjijijjjjjijijjjjjjjijjjijjjijjjjjjjjjjjijjjjjjjjjjiijijjjjjijjjjjjijjjjjjjjjijijijjijjijjjjjiijjjjijjjjjjjjjijjjjjjjjjjjjjjjijjjjjjjijjjjjjjjjijjjjjjjjjijjjjijjijjjjjjijjjjjjijjjjijjjjijjjjjjjjiijjjjijjjjjijjjiijjjjiijjjjjjijjijjjijjjjjjjjijiiijijjjjjjjjjijjjjjjjjjjjjijijjiiijjjjjjjjjjjjjjjjjjjjjiijjjjjijjjjjjjjijjjjjiijjjjjjjjjjjjjijjjijijjjjjjjjjjijjjjijjijjjjjjijjjijjjjjjjjjjijjijijjijjijjijjjjjjjjjjjjjjijjijijjjjjijijjjjjjjjjjjjjjiijjjjjjijjijjjjijiijjjjijjjjjijjjjjjjijjjjjjjjijijjijjijjijjjjjjjjjjjijjijjijijjjjjijijjjjjijjjjjjjjiijjjjjjjjjijjijijjijjjjijjjjjijjjjjjjijjjjjijijjijjiijjjijiijijjijjjjjjjjjjjjijjjjjijjjjjijiijjijijjjjjjjjijjijjjjjjjijjjjjjjjjijjjjjjjjijjjjjjjjijjjjjjiijjijjjjjiijjjjijjjjjjjjjjjjjjjjjijjjijjjijijjjjjjjijjjjjjijjiijjjjjjijijjjjjjjijjjjjijjjjjjjiijjjjjijijjjjjiijjiijjjjjjijiiijjjjjijjjjjjijjjjjijjjjjijijjijjjjjjjjjjijjjjjijiijjiijjjjijjjjijjijjjjjjijiijjijijjiijjjjjjjiijjjijjjjjijijjiijjijiijjjjjjiijjjjijijjjjijjjijjjijjjjjjjjjijjjjijjjjjjjjjjjjjjjjijiiijjjjjijjjjiiijjjjiiijijjjjjjijjjjjijjjjjjjjjjijjjjjjjjijjjjjjjjijjijjjjiijjjjjijjjjjiiijjjijjiiijjjijiijijjjijjijjijjjjjjjjijjjijjijjiijjjjjjjjijjjiiijijjjijjjjjjjjjjjjjjjjiijjiijjjijijjijijjjiijjijjiiijjjjijjiijjjjjijjiijjiijjjijijjjjjijjjijijijjjijjijijijjjjjijjjjijjjjjjjjijjjiijjijjjiiijjjjjijjjjjjjiijijjjjjjijjiijjijijijjjjjjjjjjjjjijjijjjjjjijjjijjjjijjjjjijjjjjjjjiijjjjjiijjjjjjjiijjjjijjjjjjjjiijjjjjjjjjjijijjjjjjjjijjijjjjjjjjjjjjjijjjjjjijjjjjjjjijjiiijjjjijjjjjjjiijjjjjjijjjijjjjijjiijjijjjiijjjijiiijjjjjiijijjjjiijjjijjjjjiijjiiijjjjjjjjjjjjjjijjjijjjijjjjjjjijjjiiijjijjjjijjjijjjjjiiiijiiiijjijiijiijijjijiiijijjijijijjjiijjjjjiijjjjijijjiijijjjjjjijjjjjjijjjijjjjjijjjjiijjjjjjjjjjjjjijjjjijjjjijjjjiijijjiiijijjijijjjjjijjjjjijjjijijjijjjjjjijjijjijjjijjjjjjjjjjiijiijjijjjiiijijjjjijjjjjjjjjiijjijjjijjjjjijjijjjijiiijjijjjjiijijjjjjjjjjjjiijijjijijjjijjjjjjjijjjijjjjjjjjjjjijjjijjjjiiijjjjjijjjjjijjijjjjijjjiijjjjjjjjijjjiijjiiiijijjjjjjjjjjjjjjjjijijjjjiiiijjjijijjjijijiijjjijijjjjiiijjjjjjjijijjjjjjijijjijjijijjjjijjjjijjijijijiijjjjjjjjjjjijijijijjjjjijjijjiiijjjijijiijjijjijjijijjjijjjjjijijjjjjjjjijjiijjjjjjjjjiijjijijjjijjjijjjijjjjijjjjjijjijjjjjijijjjjjjjjjjjjjjjjjjjijiiijjjjjjjjjijjjijiijjjjijjjjijijijjjjjijijjjjjiijjijjjijjjijiijjjjijjjjijjjijjijjjijjjjiiijjijjiijijjjjijjijjijjiijijjjjjijjijjijjjjjjjjjjjijjijjjjjjjijjjjjjijiijjijjjjjjjiiijjjjjjjjjjjjjjijiijjjjiijjjjjjjijijijjjjjjijjjjijjjjjjjijijjjijjjjijjjjijjjjijjijjijjjijijijijjjijiijjjiijjiijjjjjjijjjjjjiiijjjjjjjijiiijijjjjjjjjjjjjijijjjjjjjijjijjijiijijijjjjijijjiijjjjjjijjijjjjjjijjijjjjjjjijjiiijjjiijjjjijjjjjjijjjijjijjjjjjijjjjjijjjjjjiijjjjjjjijjjijjijjijjijjijiiijiijjjjiijjjjjijjjijiijjjijijjijijjjjjijijjjjjjjiiijjjjijjjijijjijjjijjjjjjjjiijjjjjiiijijjjjjjjjjijjjjjjjjjjijjjjjijjjjijjjijjjjjjjjjiijjjjiijjjijjjjijjjjjjijjjjjjjiijjjijjjjijijijjjijijjjjijjjjjjjjjjjjjijjjjijjjjjijjijjjjjjiijjjijjjjijjijjjjjjjijjijijijjjjjijijjjjjijjjjiiijjjjjjjiiijjjijjjjjjjjjijjijiiijjijjjjijjjijjjjjjjiijjjjjjijjjjjjjjijjjjijjjjijjiijjjjjjjjjjjjjijijijijjjjjjjijjjjjjjijjijjjjijjjjjjjijiijjjjjjjijjjjijjjjjjjjjijjjijjjjjjjjjjjijjjjjjjjjjjjijjijjjjjijjjijijijijjjjijjjjjijjijjijijjjjjiijijjijijjijjjjjjjijjjjjijjjjjjiiijjjjijjijjjijijjjjjijjjjjijjjjjijjjjjjjjjijjjjjjjjjjjiijjijjjijijjiiijjjjiiijjjjjjjjjijijjjjjjjjijiijjjjijjjjjjjjijiijjjjijjijjjjjjjjjijjjjjjjjjijjjjjjjjjjijjjiijjjijjiiiijjijjjjijjjjjjjjjjjjjijjjijijjijjjjijiiijjijjijijjjijjjjijjijjjjjjjjijjjjjijjjijijjiijjjijjjjjjjjjjjjjijjjijjjjjjiijjjjijjjjijjjjjjjjjjjjjijijijjjijjijjijijjjjjjjjjjjijjjjjjjjjjjjjjjjjjjijjjjijijiiiijijijjjjjjjjjjjjjjijjjijjjjjijjjjjjijjjijijjijjjjjjjijijjjjjjiijjiijjjiijiijjjjjiijiijjiiiijijjjjjjjjjjjjijjjjjjjjjijjjjijjiijjijjjjjjiijjjjjjjjjjjiijjijjjijjjjjjijjijijjijjjjjjjjijjjjjijijjijjijiijjijjjiijjjjiijjjjjjijjjjjjjjijjjijjjjjjijjjjjjjiijjjijjjjjjjijijjiijjijjijjijjjiijjjijjjjjijjjjiijiijijjjjjiijjjjjjjjijjjijijjjijijjjjjijjjjjijijijijiijjijjjjjjjjjjjjijijiiijjjijjjjjjjiijijjjjijjjiijjjijjjjjjjijjjjjjijjijjiijjjjjjiijjijjijjiijjjiijjjjjijijjjjjjjjjjjjjjijjjijjjijjjjjjijjjjjjjjjijijijjjjiijjjjjjiijjjjjjijjiijjjiijijjijjjijjjjijjjjjjijjjjjjjjjjjiijjjijjjjijijjjjiijijjjjijjijijjjjiijjjijijiijjjiijjjjjjjjjijjjjjijjjjjjjjjjjjjiijjjijjijiijjijjjijiijjijjiiijjjjjjjjjjjjijjijjjjijjjiiijjjjjjjjjjijjjjiijjjjjjjjjjjjjijjijjjjjjjjjjiiijjijjjjiijjjjjjjjjjijijiijjjjjjijijjjjjijjijjijjjjjjjjjjjiijjjjjijjjjjjjjjjjjjjjjijjijjjjjjijjjjiijjiijjjiijjjjijjjijjijjjjjijjjjjjjjjijjijjjjijjjijjjjjjjjijijijjjjjjjijjjiijjjijijijjjiijiiijjjjjiijijjijijjjiiijjjjjjjjjijijjjjjjijijjjiijjjjjjijjjjijijjiiijjjjjjjjjjijijijiijjjjiijjjjjjjjijijjjjjjjjjjjjjjjijiiijjijijijjijijjjiijjjjiijiijjjjijjjjjjjijjjijjiijjjjjjjjjjiiiijjjjjjjijiijiiijjjjjjijjjjijjjjijjjjjjjjjjijjjjjjjjjjijjjjjjjjijjijjijjjijjjjjjijjjjjjjjjjjjjjjjjjjjjijjjjjjjjijijjjjjjjjjjjjjjjijjjijjijjjjjjjjjjjjjjjjijjjjjjjjjjjijijjjjijjjjjijjjjiijjjjjjjjjijjjjijjjiijjjjjjjjijjjjjijijijijjjjjjjijjjjijjjjjjjjjjjjjjjjjjjjjjjjjjjjiijjjjjiiijjjiijjjjjjjjjjjjijjjjjjjjjjjjijjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjijjjjjijjjijjjjjijjjjjiiijjjijjjjjijjjjjjijjjjijjijjjjjijjjjjijijjijjjijijjjjjjjijijjjjjjjjjjijjjjjjjjjjiijjijjijjjjjjijjjjjijjjjjjijjjjjjjjjijjjjjjjjjjjjjjjjjjjjjjjijjijjjijjjjjjjjijijijjjjjjijjjjjjjjjjjjjjiijjjjjjiijjjjjjjjijjjijjjjjjjjjjjijjjjjjjjjjjjjjjjjijjjjjjjjjjjjjjjjjjjjjjjjjijjjijjijjjjjjijjjjjjjjjjjjjjjijjjjjjjjijjjjijijijijjjjjjjjjijjjiijjjjjiijjijjjijjjjjjjjijjjijijjiijjjjjjjjjjjjjjijjjjjjjjijijjijijjjjjjijjijjjjjjjjjjjjjjjjjjjjjiijjjiiijjjjjjjjjijjijjjjjjjjjijjjijjjjijjijjjijjjjjijjjijjjjjjijjijiijjjjijijijjjijjjijjjjjjijijijjijjjjjjjijjjjjjjjijjjjjjjjjjijjjijjjjjjijiijjjjjjjijiijjjijjjjijjjjijjjijjjjijjjijijjjjjjjjjiijjjijjjjiiiijjjjjjjjjjijijjijjjjijijjjijijjiijjijjjjjjjjiijjjjjjjjjjjjjijijjijijjjijjijjjjijijjjjjiiijjjjjijijijijjjijjjjjjjjijjijjjjjjjjjjjjjjijijijijjjjjjjjijjjijjijjijjjjijjjjjiiijjijjjjjjjjjjjjjjjjjjjjjjijijijjjjjijjjjiijjijjjjjjjjjjjjjjjjjjjjjijijjjijijjjjjjijjjijijjjjjjjjjjjjjjjijjjijjjjiijiijjjjijjjjjjiijjjiijjjijjijjjjjjjjjijjjjjjjjijijjjjjijjjijjjjjjjjijijjjjjijjjjjijijjjjjjjjjjijjjjijjijjjjjjijijiijjjjjjjjjjjjjjjjjijjijijjjijjjijjijjjijjjjjiijjiijjjjjjjjjjjjjjjjjijjjijjjjijijjjjiijjjjijjjjjjjjjjjjjijjjjjijjjjjjjjijijjjjjjjijjjjijjjijjjijjjjjjjjijjjjijjjjjjjjjjjijjjjijjjjjjjjjjjjijjjjjjjjjjjjjjjjjjjjjjjjijijjjjjjijijjjjjjjijijjjjjjjjjjjjjjjijijjjiijjijiiijjjjjijijjiijjjjjjjjjjjjjjjjijjjjjijjiijjjjjjjjjjijjjjijjjjjjjijjjijjjjjjiijjjjijjijjjjjjjjjjjjjjjjjjjjjijijiijjjjiijjjjjjjjjjiijjjjjjjjjjijijjjjjijjjjjjjjiiiijjjjjijiiijiijjjjjijjjijjjjjjjjjjjjijjjjjjjijjjjjjjjjjjjjjjjjjjiijjjjjjjiiijjijjjijijjjjjjjjjjjjjjjjjjjjjjjjjijjjjjjjijjiiijjijjjjjjjijjijjjjjijjjijjjjjijjjjjjjjjijjjijijijjiijjjjjjjjjjjijjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjijjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjijjjjjjjjjjjjjjjjjijjjjjjjjjjjjjijjjjjjjjjjjjijjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjijjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjiijijjjjjijjjjijjjijjjjjjjjjjjjiijjjjjjjjjjjjijjjjjjjjjjjjjjjijjjjjjjjjjjjijjjjjjjjjjjjjjiiijjjjjjjjjjjjjjjjjjjjjjjjjjjijjjjjjjjjjjjjijjjjjjjjjjjjjjjjjjjijjijjjjjjjijjjjjjjjjjjjjjjjjjjjijjjjjjjjjjjijijjjjjjijjjjjjjjjjjjjjijjjjjjjijjjjjjjjjjjjijjjjjjjjijjjjjjjijjjjjjjjjjjjjjjijjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjijjjjjjjjjjijjjijjjjjjjjjjjjjjjjjjjjijjjjjjjjjjjjjjjijjjjijjjjjjjjijjjjjjjjjjijjijjjjjjjjjjjjjjjjjjjjjjjjjjiijjjjjjjjijjjjjijjjjjjjjjjjjjjjjjjjijjjijjjjijjjjijjjjjjiijjjjijjjjijjjijjjjjjjjjijjjjjjjjjjijjijjjjjjjjjjjjjjjjjjjjjjjjjijjjjjjjjjjjjjijjjjjjjjjjjjiijjjjjjjjjjjjjjijjijjjjijjjjjijjjjjjijjjjjjjjjijjjjjjijjjjjjjjjjjjjjjjjjjjjijjjjjjjjijjjjjjjjjjijjjjjjijijjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjijjjjjjjjjjjijjjjijijjjjjjjijjjijjjijijjjijjjjjijijijjjjjjjjjijjjjijjjijjjjjjjjjjjjjjjjjjjjjjjjjijjjjjjiijjjjjjjjjjjjjjjjjijjijjjjjjijjijjjjjjjjjjjjjjjjijjjjjjjjjjijjjjjjjjjjjjjjjjjjiiiijjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjijjjjjijjjjjjjjjjjjjjijjijjjjjjjjjjjjijjjijjjjjjijjjjjjjjjjjjiijjjjjjjiijjjjjiijijjjjjjjjjjjijjjjjjjjjjjjijijijjjijjjjjjjjjjjjjjjjjjjjjijjjjjjjjjjjjjjjijjjjjjijjjjjiijjjjjjjjjjjijjjiiijjjjiijjjjjjiijjjijijjjjjjjjjjjjijjjjjjjjjjjjjijjjijjjiijjjjjijijjijjjjjiijjjjjjijjjjjjijjjjjjjiijjjijjiijjjjijjjijjjijjjjjjjjjjjjjjjjjjjjjjjjjjjjjijjjjjjjjjjjjjjjjjjjjjjjjjijjjijjjjjjjjjijjjjjjjjjijjjjjijjjjjjjjijjjjijijjjjjjijijjjjjjjjjijjjjjjjjjjjjjjjjjjjijjijjjijijiiijjjjjjjjjjjjjjjjjjjjjjjjjijjijijjjjijjjjijjjjijjjjijjjjjjjjjjjiijjjijjjjjjjjjjjijjijjjjjiijjjjjjjjjjjijjjjjijjjjijjiijjjjjjjjjjjjjjjjjjjjjjijjijjjjjjjiijiijjjjjjjjjjjjijjjjjiiijjjjjjjijjjijjjjjjjjjijjijijjjjjjijiijjjjjjiijjjjijjjjjiijjjjjjjjjjjjjjjjjjjjjjijjjjjjjijjjjjjjjijjjjjjiijjjjjjjjjjjjjjjjjijjijijjjjjjjjjjiijjjjjijjjjjjjjjjjjjjjjjjjijijjjjijjjjjjjjjjjjjjjjjjjiijjjjjjjjjijjjjjjjjjjjjijjjjjjjjjjjjjjjjjjjjjjjjjjjjjijjjjjjjijjjjjjjiijjijjjjjjjjjjjijjijjjjjjjjjjjjjjjjjjijijjjjjijjijjjjjjjijjjjjjjjjjjjjjjjjijjjjjjjjjjjjjjjjjjijjjjjjjjjjjjjjjjjjjjjjjjjjjjjijjiijjjjjjjjjjjjjjjjjjjjijjjjjjjjjjjjjijjjjjjjjjjjijjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjijjjjjjjjjjjjjiijjjiijjjjjjjjjjjjjjjjjjjjjjjjijjjjjjjjjjjjjjjjjjjjjjjjjjijjjijjjjjjjjjjjjijjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjijjjjjijjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjijjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjijjjjjjjjjjjjijjjjijjjjjjjjjjjjjjjjjjjijijjjjjjjjjjjjjjjjjjjijjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjijjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjiijjjijjjjjjjjjjijjjjjjjjjijijjjjjjijjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjijjjjjjjjjjjjjjjijjjjjjjjjjjjjijijjijjjjjjjjjjjijjijjjjjjjjjjjjjjjjjjjjjjjjijjjjjjjjjjijjjjjjjjjjjjjjjjjjjjjjjjjijjjjjjjjjjjjjjjjjjjjjjjijjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjijjjjjjjjjjjjjjjjjjjjjjjjjjijjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjijjjijjjjjjijjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjijjjjjjjjjjjijjjjjjjijjjjjjjjjjjjjjijjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjijjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjijjjijjjjjjjjjjijjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjijjjjjjjjjjjjjjjijjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjijjjjjijjijjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjijjjjjjjjjjjjjjjjijjjjjjjjjjjjjjjjjjjjjjjjjjijjjjjjjjjjjjjijijjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjijjijjjjjjjijjijjjjjjjjjjjjjjjjjiijjjjjjjjjjjjjjjjiijjjjjijjjjjjjjjjjjjjjjijjijjjjjjjjjjjjjijjjjjjjjjjjjijjjjijjjijjjjjjjjjjjjjjjjjjjijjjjjjjjjijjjjjjjjijjjjjjjjijjjjjijjjjijjjjjjjjjjjjjjijjjjijjjjijjjjjjjjjjjjjjjjjjjjjijjjjjjjjjjjjjjjjjijjjjjjjjjjijjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjijjjjjjjjjjijjjjjjjijjjiiijjjijijijijjjiijjjjjjijiijjjjjjijjjjjijjijjjjjjjjjjjijjjjjjjjjjjjjjjjjjjjiijjjijijjjiijjjjjjjjjjjjjjijjjjjjjjjjjijjjjjjijjjjjjijijjjjjijijijijjjjjjjjiiijjjjijjjjjjjjijijjjijjjjijjjjjjjjjjjjjjjjjjjjjjjijjjjjjjjjjjjjjjjjjjjjjjjjjjjijjjjjjjjjjjjjijjjjijjijjjjjjjjjjijjijjjijjjjjjjijjjijjjjjjjjjiiijjjjjjjjjjjjjijjjjijjjjjijiijjijjijjjjjijiijijjjjjjjjjjjjjjjjjjijjjjjjjjjjijjjjjjjjjjjjjijjjjjjjjjjjjjijjjjjjjjjjjjjjjjjjjijjjijjjjjijjjjjjjijjjjjjjjjjjjjjijjjjijjjjijjjjjjjjjjjjjjijjjjjjjijijjjijjijjjjjjjjjjjjjjijjjjjjjjjjjjijjjjjjijjjijijjijjjijjjjjijjjjjjijiijjjijjjijjjiiijjjjijijjjijjjjjijijjjjjjjjjjjjjjjjjjjjjijijjjjijjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjijjjjjjjjjijjjijjjijjijjjjjjjjjjijijjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjijjijijjjjjiijjijjjjjjijjjjjjjjjjjjjjjjjjjjijjjjjjjjjjjjjjjjjjjjjjiijjjiijjjjjjjjjjjjjjjijijijjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjijjjjjjjjjjjjjjjjjjjjjjjijjjjjjijjjijjjjjjjjjjjijjjjjjjjjjjjjjjjijjjjjjjjjjjjjjjijjjjjjijjjjjijjjjjjjjjjjjijijjjjjjjjjijjjjjjjjjjjjjjjjjjjjjijjjijjjjjijijjjjjjjjjjjiijjjjijjjjjjijjjjijjjjjjijijjjijjjjjjjjjjjjjijjjjjjjjjjjjijjjijjjjjjjijjjjijjjjjijjjjjijijjjjjjjjjjjiijjjjjjjjjjjijjjjjjjjjjjijijjjijjjjjjjjjjijjijjjjjjjjjjjjijjjijjjjjjjijjjjijjjjjjjjijjjjjjjjjjjijjjjjjjijjjjjjijjjjjjjjjjjjjjjjjjjjjjjjjjjjijjjjijjjjjjjjjjjjijjjjjjjjjjjjjjjjijjjjjjjjjjjjjjjjijjjjjjjjjjjjjjjijjjjjijjjjjjjjjjjjiijjjjijjjjjjjjjjjjjjijijjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjijjjjijjjjjjjjjijjjijijjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjijjjjjjjjjjjjjjjjjjjjjjjijjjjjjjjjjjjjjjjjjijjijjjijjjjjjjjijjjjjijijjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjijjjjjijjjjjjjjijjjjjjjjjjjjjjjjijjjjjjjjjjjjjjjijjjjjjjjjjjjjjijjjjjjjjjjjjjijjijjjjjjjijjjjjjjjjjjjjjjjjjjjjjjjjijjjjjjjjjjjjjjjjjjjijijjjjjjjjjjjjjjjjjjjjjjjjijjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjijjjjjijjjjjjjjjjjjjjjjjjjjjjjjjjijjjjjjjjjjjjijjjjjjjijjjjjjjjjjjjjjjjjjjjjjjjjijjjjjjjijiijjjjjjjjjjjiiijjjjjjijjjjjjjjijjjjjjjjjjijjjiiijjjijjjjjiijjjjjjjjijjjijjjijijjijjjiijjijjjjjjjjjjjjjijjjjjjjijjjjjjjjijjjjjjjijjjjjjijjjjiijjjjjjijijjjijjjiijjjjjjjjjijjjjijjjjijjjjijjjiijjjjijjjijjjjjjjjjjjjjjjjjjjjjjjijjijijjijjjjjjijjjjjjjjjjiijjiijjjjjjjjjjijjjjjijijjjjjjijjjjjjjjjjjjjjjijjijjijijjjijjijjjjijjjjjjjjjjjjijjjjjjijjjjijjjjjjjjjjjijjjjijjijjijjijjjjjjjjijjiiijiijjjjijijjjjijijjjjjjjjjjjjjjjjjjijjjjjjjjiijjjjjjjjjjjijjjjjjjjjjijjjjjijijijjjjjijjjijjjjjijjjjjjjjiijjjijjjjjjjjjjijjjjjjjjjjjjjjjjjijijjjjjjjijjijjijjjjjjiijjjjjjjijijjjjjjjjjjjijjjijjjjjjjjijjjjjiijijjjjjjjjjjjiiijjijiijjjijjjjjjjjjjjjjjjijjijjiijjjjjjjjijjjijjjjjjjjjjjijjijjjijjjjijjjjjjijiijjjjjjjjjjjjjjjjiijjjjjjjjjiijjjijjjjjjijjjjjjjjjjjjjjiijjijijjjjjjjjjjjijjjijjjjjjjjjijjjjjjijjjjjjjjijjjjijjjjijjjijjjjjjijjjjjjjjjjjjijjjjjjjjjjjjijjjjijjjjjjjjjjjjjjjijjjjjjjjjjjjjjjjiiijjjijjjjjjijjjjjjiijjijjjijijjijjijjjjjjjjjjjjjjjjjiijjjijjjjjjiijjjijjiijjjjjjjjjjjjjjijjjjijjjjjjijjjjjijjjjjjjjjjjjijjjjjjjjjjjjjijjjijjjjjjjijijjjjjjjjjjjjjjjijjjijjjijijjjijjjjjjjijjjjjjjjjjijjjjjjjjjjjjjijjjjjjjjjjjjijjjjjjjjjjijjjijjjjjjjjjijjjjjjjjjjjjjjjjjjjijjjjjjjjjijjjjjjjijjjjjjjjjjjjjjijjjjjjjjjijjjjjjjjjjjjjjijjjijjjijjjjijjjjjjjjjjjjjjjjjjiijjjjjjjjjjijjjjjiiijjjijijjijjjijjjjiijjjjjjjjiijjjjjjjjjjiijijjjjijiijjijjjjjijijjjjjijjjjjjjjjjjjijjijjjjijijjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjijjjjjjjjjjjjjijjjijjjjjjjjjjjjjijjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjijjijjjjjijjjijjjjjjjjjijjjjjjjijjjjjjjjjjjjjijjjijjjjjjjjjjjjjjjijjjjjjjjjjjjjjjjjjjjjjjjijjjjjjjjjjijjijjjjjijjjjjjjiijijijjijjjjjijjjjjjijjijjjjjjjjjjjjjjjjjijijjjjjjiijjjjijjjjjjijjjjijjjjjjjjjjiijjjjjjjjjjjjjjjjjjjjjjjjjjjjjijjjjjjjjjjjjjjiijjjjjjjjjjjjjjjjjjijjjjjjjijjjjjjjjjjjjiijjjjjjjjjjjjjijjjjjjjijjjijjjjjijjjjjjjjjijijjjjjjjjjjjjijjjijjjjjjjjjjjjjjjjjjjjjjijjjjjjjjjjjjjjjjjjijjjjijijjjjjjjjijjjjjjjjjijjjjjjjjjjjjiijijjjjjjijjjjjjjijjjijjjjjjjjjjiijijjjjijijjijjjjjjjjjjijjjjjjijjjjjiijjjjjjjjjjjjijjjjjjjjiijjjijjjjiijijjjjjjjjjjjjjijiijjjijjjjjijjijjjijijjjjjijjjjjjjjiijjjjijijjijjjjjijjjjjjjiijjjjjjjjjjijjjjijiijjiijjjjjjiijjjjjjijijjijjjjijjjijjjjjjjjjijjijjjjjjjjijjiiijjjjjjjiijijjjjjjjjjijjjjjjjjjijjjijjjjiiijjjjjjjijjjiiijjiijjjijjjjijjjjijjjjijjjjjijjjjjjjjjjjjiijjjjiijjiijjijjiijjjjjjjjjjjjjjjjjjjiijiiijjjijjjjjjjiijjjjjijiiijjjjjiijjjjjjjjjjjijjjjiijjjjjjjijjjjjjiiijjjjjjjjjijjjjjjijijijjjijjjjjjjjijjjjjiijjjjijjjijjjjjjjjjjjijjjjjjjjjijijijijjjjjjjjjjjijjijjiijjjjijijjjjjijjjjjjjijjjjjijjjjjjjjijjjjjjjjjijjjjijjjijjjjijjjjjjjjjiiijjjjjjjjjjijjjjjjjjijjiijjjijjijjjjjjjijjjjjijjijjijjjjijjjijjjijjiijjjijjijijjjjjjjijjijijijjijjjjjjjjjjjjjijjijjjjjjijjjjijjjjjjjjjjjiijjjijiijiijijjjjjjjjjjjijjjjijjjijjjijjijjjjjiiijjijiijjjjjiijjjjjjjjjjjjjjijijjjjjjjiiiijijijjijiijjjjjjjjijjjijjjijjjjjjjjiijjjijjijjjjjjjjjjjjjjijjjjjjjjjjjjijjjjjjjijiijjjjjiijjjjjijjjjjjjijjiiijjjijijjjjjjijijjjjjjjjjjjjjjiijjjjiiijjijjjjjjijijjjijjjjjjjjijjjjiijiijjjiiijjjijjjijjjjiijjjjjjijjjijjiiijijijjjjjjijjijjijjjijiijjjjjjjjjjijjjjiijijijjjjjiijjjijjjjijjjjjijjiijjjjjjjjjjijiijjjjijijjjjjjjijjijijjjjjjiijjjjjjjjijjjjjjjijjjjjjjijjijjijijjjjjiijjijijjjijjjjijijijjjjjjjjijjjjjjijjjjjjjjjjjjjjjjjjjijjjjjjiijjijjijjjjjjjijjjjjjjijijiiijjjjjijjjjjijjjjjjjjjjjjjjijjjjjjijjjijjjijjjjjjiijjjjjjjjjjjjjjjjjjjjjjjjjijjjjjjjjjijijijjjiijjjjjjijjjjjjijjjjijjjiijjjjijjijjjijjjjjjijjjijjjjjjjjjiijjjjjjjjijjjjjijjijjjjijjjjjjjjjjijjjijjjijjijjjjijjjjjjijjjjijjjiijijjjjijjjjjjjjjjjjjjjijjjjjjjjjiijjjiijjjjjijjjijjiijjjijjjjjjjjijijjjijiijjjjjjjijjijjijjijjjjijjjijijjjjjjjjjjjjjiijjjijjjjijjijjjjijijjijijjjjjjjjjijjjjjjijjjjijjjijjjijjjjiijiiijjjjjijijjjijjjjjijjjjjjiijjjjjjijjjjjjijjjjijjjjjjjiiiijjjjijjjjjjjjjjjjjjjjjjjjjjijjjijjjjjjjjjjjjijiiijjjjjjjijjijjjjjjjjjjjjjjjjjjjijjjjjijjjjjjjijjjjjjjjijjjjjjjjjjjijjjjjjjjjjjjjjjjjjjjijjjjjjjijjjjjjijjiijjjijjjjjjjjijjjjjjijjjjjjjjjjijjjjjjjjjjjjjijjjjjjjijjjjjjjjjjjjjjjijjijjjjjjjjjjijijjjjjijjjjjjijiijjijjijjjjjjjjjijjiijjjjjjjjjijjjijjjijjijjijjjjiijjjjiijjijjjjijjjjjjijjiiijjjjijijjjjijjjjjjjjjjjjjijjijjiijjijjijijjjjjjjjjijiijjijjjjijjjjijjjjijjjjjjjjjjjjjjjijjijjjjjjjjjijjjjjijjjjjjjijjjjjjjjjjijjjijjjijjjijjijjiijjjiijjjijjjjjijjjjjjjjjjjjjiiijjijjjjjjjijjjjjjijjjijjjjjjjjjjjiijijjijiijjijjjjjjijijjjijjjjjjjjjjjjjjjjjjjijiijjjjjjijjjiijijjjjjjijijjijjjjjjjjjjjjjjjijjjjjjjjjjjjjjjjjjjijjjijjjjjijjjiijijjjjjjjjjjjjjjjjijjjiijjjjjijijjiijjjjjjjjjjjjijjjjjiijjjjjjjjjjjjjjijjijjjjiijjjjiijjjjjjiiijjjjjjjijjjjjjjjiijjijjjjjjjjjijijijjjjijjjjjiijjjiijjjjjjjjjijijijjijjjjjjjjjjjjjjjjjjjjjjjijijijjiijiijijjjjjjiijijjjjjjjjjjjjjjjjjijijjiiijjjjjjjjjjjjiijijjjijjijijijjjjijjjjjjjjijjjjjijjijijjjjjjjjijjjjjjijjjjjjijjjjjjjjijijijjjjjjjjjjjjjijjjjjijjijjjjjjijijijjjjiiijjjiijiijiijjjijjjjjjjjjjjjijjjjjijjjjjjjjjjjjjjjijjjjjjijjjjjjjjjjjjijjjjjjjjijjijjjjijjjjjjjjjjjjijjjjijjijjjjijjjjjjijjjjjijjijjiijjjjjjjjjjjiijjjjjijjjjjjjjjjijiijjjjjjjjijijjjijjiijjjjjjjjijjijjjjjijjijjjijijiijjjjjjjjijjjjjjjijijijjijjjjjjjjjijjjijjjjijjjjijjjjjjjjiijjijijjiijjiijjjijjjjjjijjjjjjjjjiijjijijjijijiijjijjjjijjjjjijjjiijjjjjjjjjijjjjjjjiijiijjjjijjjijiiijjjjjjjjjjjijijjjjjjijijijjjjjjjijjjijjijjjijjjjiiijjijjijjjjjjjjjijjjjijjijjjjjijjjjjjjjjiijjijjjijjjjijjijjjjjjjjijjjjijjjjjjjjjjjjjijjjjjjjjjjjjjijjjjjjjijjjjjjjijjjiijjijjjjijjjjijjiijjjjjjjjjjjjjiijjijjjijjijiijiijjjjjjjjijjjiiijjijjjjjiiijjjjjjijjjjjjjjjjjjjjiijijjjjijjjjjjjjjijjjijjjjjjjijjjjjiijijjjjijjijjjjijjijjjjjijjjjjjjjjjjjijijjiiijjjijijjjijjjjjjjijjjjjjiijiijiijjjjjjjijjjiijjjjjjjjjjjjjjjjjjijjjjjjjjjjjjjjjjijjiijjjijiijijjijjjjiijjjjjiijjiiijjjjjjjjjjijjjijjjijijijjjjjijjjjijjjijjjiijjjijjjjiijjijjjjijjjjjjijjjjjjjjjijjjjjjjijjijjjjjjjjjjjjijjjjjjjijjjjijjjijjjjjjjijjjjjjijijijjjjiijijjjjjijjjijjjijijjjjjjijijjijjjiijijjijjjjijjjjijjijjjijjjjjijjijjiijjjijjjjjjjjjjjjjjjjjjjijjjjijjijjjjjijjjjjiijjjjjijjjjjjjjjjjjjjjjjjjjijjjjjijijjjjjjjjjjjjjjjjiijjjjjjjjijjjjjjjijjjjjjjjjjjjijjjjjjjijjjjjjjjjjjjjjjjjijjjjijjjjjjjjjjjjjjiijjjjjjjjjjjjjjjjjjjjjjjjijijjjjijjjjjijjjjjjjjjjjjjjiijjjjjjjjjjjjjjjjjjjjjijjjjjjjjjjjjijijjjjjjjjjjjjijjjjjjjjjjjjjjjjjjjjjjjjjiijijjjjjjjjjjijjjjjjjijjjjjjjjjjjjjijjjjjjijijjjjjjjjjijijjijjjjjjjjjjijiiiijjjjjjjjjjjjjjjjjjjijijijjjjjjjjjjjjijijjiijjjjjjjjjjjijjjjjjjjjjijjiijjjjjjjjjjjjjjjjjjjijjjjjjjjijijjjijjjjjjjjjjjjjjjjijjijjjijjjjjjjjjjijiijjjjjjjjjjjjjjjijjjjjjjjjjjjjjjjjjijjjjjjjjjjjijjjjjjjjjjjjjjijjjjijiiijjjijjjjjjjjjjjjjjjijjjjijjijjjjjiiijjjijjjijjijjjjjiijjjjjiiiijjjjijjjjjjjjjjjjijijjjjijjjjjjjjjjjjjjjjjjjijjjjjjijjiiijjjijjjijjjjjjjjjijjjjjjjjjiiijjjjjjjijjjjjjjjjjjjjijjjijjjjjijjjijijjjjjjjjiijjijjjjjjjijjjjjjjjjjjjjjjjjjjjjjjjjjiijjijjjjijjjjjjijjjjijjjjijjjjjijjijjijjjjjjjjjijjjjjjjjjjjjjjjijjjjjjjjjjjjjijjjjjjjjijjjjjjjjjjjjjijjjjjjjiijjjjjjjjjjjijjjjjjjjjjjjjjjijiijjjjjjjijjijjjijjjjijjjjjjjjijjjjijjijijjijijjjjiijiiijijjijijjjjjijjjjjjjijijjijjiijjjjjijjiijjjjijjjjijjjjjjijjjiijjijijjjjjjjjjijjjjijjjjjijjjijiijijjjjjijjjjjjjjjjijijjijijjijjjjjiijjijijjijjjjjjjjjjjijjjjiijjiijijijjijjjjjjjjijjjijjjjjjjjjjjijjjjjjiijjjjjjjjjjjjjjjjjjijijjiiijijjijjjjjjjijjijijjjjjjijijjijjjjjijjjjjijjjijjjjjjjjjiijiijijjjjjjjijjjjjjjjijijjjjjjiijjijjjjjijijijjijjjjjjjjjjjjjijjjjjjjjjjjijijjjjjijjijjjjjjjjijjjjjijjjijjjjjijjjjjjjijjijjjjijjijjjjjjjjjiijjjjjjjjjjjjjijjijjjjjijiiijjjjjjjjjjjjjjjjjjijjjjjijjjjijijjjjjjjijjjjjjjjjjjjijjjjjjijjjjjijjjjjijjjjjjjjjjjjiijjjjjjjijjjiijijjijjjjijjjijjjjjjjjjijiijjijjjjjjijijjjijjjjjijijjjjjijjjijjjjjjijjjjjjjjjjjjijjjjjjjjjjijjjjjjjiijjjjjjjjijjjjjjjjijjjjjjjiijjjijjjjijiijijjjjjjjjjjjjjjijjijijjjijjjiijiijjjjjjjjjjjjjjjjjjjjjijijjjjjjjjjjjjijjjijjjjjjjjjjjjjjjijjjjjjjjjjijjiiijjjjjjjjjjijjjijjiijjjjjjijjjjjijjjjjiiijjijijjjijjjjjjiijiiijiijijjjjjjjjjjjjjjjijjjijjijjjijijjjjjjjijjjjjjjjijjjjjjjjjijjjjjjjjjjjjjjjjjjjjjjjjijjjjjjijjjjjjjjijjijjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjijjjjijjjjjjjjjjijjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjijjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjijjjijjjjjjjjjjjjjiijjjjjijjijjjjjjjjjjjijjjjjjjjjjjjijjjijjjjjjjjjjjjjijijjjjjjjjjjjjjjjjjjjjjjjijjjjjjjjijijjjjijjjjjjjjijjjjjjjjijjjjjjjjjjjjjjjjjijjjjijjjjjjjjjjijjjjjjjjjjjjjjjjjjjjijjjjjjjjjjjjjjjjjjjjjjjijjjjjjjjjjjjjjjjjijjjjjjjjjjjjjjjjjjjijjjjjjjjjijjjijjijjjjjjjijjjjjjjjjjjjjjjijjjjjjjjjijjjjjjjjijjijjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjiijjjjjjijjjijjjjjjjjjjjjjjjjjjjijjjjjjijjjjjjjjjjjjjjijjjjjjjiijjjjjjjjjjjijjjjjjjijjjjjjjjjjjjijjjjjjijjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjijjjjjjjijjjjjijjjjjjjjjjjjjijjjjjjjjjijjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjijjjjjijjjjjiijijjjjjjjjjjjijjjjjjjjjjjjjjijjjjijjijjjjjijjjijiijjjjjjjjjjjjijijjjjjjjjjjjijjjjjijijjjjijjjjjijijjjjijjjjjijjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjijjjjjjjjjjjjjjjjjjjjjjjjijjjjjjjjjjjjijjjjjjjjjjjijjjjjjjjjjjjijjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjijjiijjjjjijjjjjjjjjiijjjjjjjjjjjjjijijjjjjjijjjiijjijijjjjijjjjjjjjjjjjjjjjjjjjijjjjjjjjjjjjjjjjjjjjjjjjjjjijjjijjjjjjjjjijjjjijjjjjjjjjijjjjjjijijjjijjjjjjjjjjjjjjjjjjjjjiijijijjjjjjjjjjjjjjjjijjjijijjjjjjijijijjjijjjjjjjjjjjjiijjjjjjjjjiijjjjjijijijijijjjjijjjjjjjjjijjjjjjjjjjjjijjjjjjjjjjjjjjjjjjjjjjjjjjjjjijjjiijjjjjjjjjiijjijjjjijjjjjjjjjjjjjjjjjjjjjjijjjjjjjjjijjjjjijjjjjjjijjjjjjjjjjjjjjiijijjjijjjjjjjjjjjjijjjjjjjjijjjijijijjjjjjjjjjjjjjjjjjijjjjjjjjjjjijjjjjjjjjjjjjjjjjjjjjjiijjjjjijjjjjjjjjjjjjjjjjjjjjjjjjjjjijjjjijjjijjijjjjjjijiijjjijjjjjijjjjjjjiijjjjijijjjjijjjjjjjjjjijjijijjjijjijijijjiiijjjjjjjjjjjjjjjjjijjijjjjjjjjjjjjjjjijjjjjijjijjjjjjjjjjjjjjjjjjijjjjijjjjijjjjjjjjjjjjjjijjjijjijijjjjijjjjjijijijjjjjijjjjjjjjjjjijjjjjjjjjjjjjjjjjjjjijijjjjjjjjjjijjjjjjjjjijjjjijjjjjjjjjjijjjjjjjijjjjijjjjjjjjjijjjjjjjjjjjjjjjjjjjjjjjjjjjjjijjjjjjjjjjjjjjjjjijjjjjjjjjjjjjijjjjjjjijjjjjjjjjjjjjjjjjijjjjjjjjjjjjjjjjjjjjjjijjjjjjjijjjjjjijjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjijjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjijjjjjjjjjjijjjjjjjjjjijjjjjjjjjijjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjijijjjjijjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjijjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjijjjijjjjjiijjjjjjjjjjjjjjijjjijjjjjjjjjjjjjjjjjjjjjjjjijjjjjjjjjijjjjjjjjjjjijjjjjjjjjjiijjjjjijjjjjjjjjjjjjjjjjjjjjjjijjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjijjjjjjjjjjjjjjjiijjjjjjjijjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjijjjjjjjjjjjjjjjjjijjjjjjjjjjjijjjjjjjjjjjjjjjjijjjjjjjjjjjjijjjjjjjjjjjjjjjjjjjjjijjjjjjjjjjjjijjjjjjjijjjijjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjijjjjjjjjjijjjjjjjjjjjjijjjjjjjjjjjjjjjjjjjijjjjjjjjjjjjjjjjjjjjjjjjijjjjijjjiijijjjjjjjjjjjjjjijjjjijjjjjjjjjjjjjjjjjijjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjijjjjijjjjjjjjjjjjjjjjjjjjjjjjjjjijjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjijijjjjjjjjjjjjjjjjjjjjjjjjjjjjjjijjjjjjjjjiiijjjjjjjjjjjjjjjjjjjjijjjjjjjjjjjjjjjjjjijjjjjjjjjjjjjjjjjjjijjjjjjjjjjjjjjjijjjjjjjjjjjjjjjijjjjjjjjjjjjjjjjjjjjjjijjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjiijjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjijjjjjjjjjjjjjjjjjjjjjjjjjjjjjiijjijjjjjjijijjjjjjjjjijjjjjjjjjjijjjjjjjjjjjjjjjjjjjjjjijjijjjjjjjjjjjjjjjjjijjjjjjjjjjjjjjijjjjjjjjjjjjjjjjjjijiijjjjjjjjjjjjjjjjjjjjjjjjjjijjijjjijjjjjjjjjjjijjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjijjjijjijjjijjjjjjjjjijjjjjjijjijjjjjjjjjjjjjjjjjjjjjjjjjjjjjjijjjijjjjjjjijjjjjjjijjjjjjjjjjjjjjjjjjjjjjjjjjjjjijjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjijjjjjjjijjjjjjjjjjjjjjjjjjjjjijjjijjjjjjjjjjjjjjjjjjjjjjijjjjjjjjjjjjjijjjijjjjjjjijjjjjjjjjijjijjjjjjjjijjjjjjjjjjijjjjjjjjjjjijjjijjjjjjjjjjjjjjjjiijjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjijjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjijjijjjjjjiijjjjjjjjjjjjijjijijjjijjjjjjijjjjjjjjjjjjjjjjjjijjjjjjjjjijjjjjjijjijjijjjjijjjjjjjjjijjjjjjjjjjjjjjjjjjjjijjjjjjjjijjjjjjjjjjijjijjjjjjjjjjjjjjjjjjjijjjjjijijjjjjjjjjjjjjjjjjjijjjijjjjjjjiijjjjjjijjjjjijjijjjjijjjjjjijjjjjjjjjijjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjijjjjijijjjijjjjjjjjjjjjjjjjijjjjjjjjjjjijjjjjjjjjjjjijjjjjjjjjjjjjjjjjijjjjjijjjjjjjjjjjjjjijjjjjjjjjjjjjjjjijjijjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjijjjjjjjjjjjjjjjjjjjjijjjjjjjjjjjjjjjjjjjjjjjjjjjjijjjjjjjjjjjijjjjjjjjjjjijjjjjjjjjjijjijijjjjjjjjjjjjijjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjijjjjjjjjjjjjjjjjjjjjjjjjjjijjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjijjjjijjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjijjjjjjjjjjjjjjjjjjjjijjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjijjjjjjjjjjjjjjjjjjjjjjjjjjjjjjijjjjjjjjjijjijjjjjjjjjjjjijjjjjjjjjjjjjjjjjjjijjjjjjjjjjjjijjjjjjjjjjjjjjjjjijjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjijjjjjjjjjjjjjjjjjjjjjjjjjjjjijjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjijjjjjjjjjjijjjjjjjjjjjjjjjjjjjjjjjjjjjiijjjjjijjjjjjjjjjjjjjjjjjjjjjjjjijjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjijjjijjjjjjjjjjjjjjjjjjjjjjjjjjjjjjijjjjjjjjjjjjijjjjjjjjjjjjjijjjjjjjjjjjjijjjjjjijjjijjjjjjjjjjjjjjijjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjijjjjjjjjijjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjijjjjjijjjjjjjjjjjjjjjjjjjjjjjijjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjijjjjjjjjjjjjjijjjjjjjjjjjjjjjjjjjjjjjjjijijjjjjjjjjjjjjjjjjijijjjjjjjjjjjjjjjjjijjjjjjjjjjjijjijjjjjijjjjjijjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjijjjjjjijjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjijijjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjijjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjijjjjijjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjijiijijjjjjjjjjjjjjjjjjjjjjjjjjjjjijjjjjjjjjjjjjjjjjjjjjjjjjijjjjjjijijjjjjjjjjjjjjjjjjjjjjjjjjjjjjijjjijjjjjjjjjjjjijjjjjiijjjjjjjjjjjjjjjjjjjjjijjjjjijjjjjijjjjijjijjjjjjjjjjjjjjjjjijjjjjjjjjjjjjjjjjjjijjijjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjijjjjjjijjjjjijjjjjjijjjjjjjjjjjjjjjjjjjjjjjjijjijjjijjijjijjjjjjjjjjjjjijjjjjjjjjjijjjjjjijjjjijjjjijjjjjjjjijjjiiijjjjjjjjjjjjjjjjjjjjjjijijjjjijjjijjijjjjjjjijjjjjjjjjjijjjijjjjjjjjjjjjjjjjjjjjjjjjjjjjjiijjjjjjjjjjjjjjjjjjjjjjjjjjjjjiijiijjjjjjjjjjijjjjjjjjjjjjjiijijjjjjjjjjjjjjjjjjjjjjjjijjjjjjjjjjjjijijjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjijjiijjjjjjjijijjjjijjjjjjjjjjjjjjjjjijjijjjjjjjjjjjjjjjjjjijjjjijjjjjjjjjjjjjiijjjjjijjjjjjjjjjjjjjjjjjjjijjjjjjjjjjjjjjjjjjijjiijjijjijjjjjjjjjjjjjjjjjjjijijjjjjjjjjjjjjjjjjjjjjjjjjjijjjjjjjjjjjjjjjjjijjjjjjjjjjjjjjjjjjijjjjjjijjjjjjijjjjjjijjjjjijjijjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjijjjjjjijjjjijjjjjjjjjjjjijjjjjjijijjjijjjjjijjjijjjjjjijjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjijjjjjjjjjjjjjjjjjjjjjijijjjjjjjjjjjijjijjjjjjjjjjjjjjjjjjjijjijjijjjjjijjjjjjjjjjjjjjijjjjjjjjjjijjjjjjjjjjjjjjjjjjjjjjjjjijjjijijjjjjjjjjijjjjjiiijjjjjijjjjjjjjjjjjjjjjiijjjjijjjijjjjjjjjjjjjjjjjjjjjjjjjjjjjjijijjjjjjjjjjjjjjijjjjjijjjjjjjjjjjjjjijjjjjjijjijjjjjjijjjjjjjjjjijjjjjjjjjjjjjiijjjjjijjjjjjjjjjijjjjijjjjjjjjjijjjjijjjjjijjjjjjjjjjjjjjijijjjjjjjijjjjjjijjjjjjjjijjjjjiijjjjjjjjiijjjjjjjjjjjjjijjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjijjjjjjjjjjjjjjjjjjjjjiijjjijjjjjjjjjijjjjjjjjjjjjjjijjjiijjjjjjjjjjjjjjjjjjjjjjjijjjjjjjjjjjjjjjjijjjjijjjjjjjjjjjjjjjjijjjjjjjjjjjjjjjjjjjjjjijjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjijjjjjjjjjjjjjjjjjjijjjjjjjjjjjjjjjjijjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjijjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjijjjjijjjjjjjjjjjjjjjjjjjijjjjijjjjjjjjjjjijjjjjijjjijjjjjjjjjjjjjjjjjjjjjjjijjjjjjijjjjjjjjjjjjjjjijjjjjjjjjjjjjijjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjijijjjjjjjijjjjjjjjjjjjjijjjjjjjjjjjjjjjjjjjjjjjjjjjijijjijjjjjjjjjjjjjjjjjjjjjjjjijjijjjjjjjjjjjjjjjjjjjjjjjjjijjjjjjijjjijjjjjjjjjjjjjjjjjjjjjjjjjjjjjijjjjjjjjjjjjjjjjjjjjjjjjjjjjijjjjjjjjjjjjjjjjjijjjijjjjjijjjjjjjjjjjjjjjjjjjjjjjijjjjjjjjjjjjjjjjijjijjjjijjjjjijijjjjjjjjijjjjjjjjjijijjjjjjjjjijjjijjjjjjjjijjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjijjjjjjijjjjjijjjjijijjjjijjjjjjjjjjjjjijjjjjjjjjjjjjjjiijjjjjjjjjjjijjjjjjjjjijjjijjjjjjijjjjjijjjjjijjijjijjjjjjjijjjjjijjjjjjjjjjjjijjjjjjjjjjjjijijjjjjjjjjjjjjjjjijjjjjjjjjjjjjjjjjjjijijjjijjiijiijijjjjjjjjjjjjjijjjjjijijjjjjijijijjijijjjjjijjijjjjiiijjjjjjjjjijjjjjjjjjjijjjijjjjjjjjjjijjjjjjjjjjiiijjjjjjjjjjjjjijjjjjjjjjjjjjjjjjjjjjjjjjjjjjijjjijjjjjjjjjjjjjjjjjjjjjijijjjijjjjjjijjjjijjijjjijjjjjjjjjjjjijjiiijijjjjjijijjjjijjjjjjjjiijjjjjjjijjjijjjjjjjjijjjjjjjjjjjjjijjjjjjjjjjjjijjjjjjjiijjjjjjjjijjjjjjjjjijjjjjjijjjjjjjjjjjjjijjjijijjjjjjjjjjjjjjijjjjjjijjjjjjjijjjjjjjjjjjjjjjjijjjjjjjijjjijjjjjjjjjjjijjjjjjijjjjjjjijjjjjjjjjjjjjjjjjjjjjjjjijjjjjijjjjjjjjjjjjjjjjjjjjjjjjjjjjijjjjjjjjjjjjjjjjjjjjjjjjjiijjjjjjjjjjjjijjijijjjjjijjjjjjjjjjjjjjjjjjjjjjijjjjjjjjjjjjjjjjjjjjjjijjjijjjjjjjjjjjjjjijjjjjjjjjijijjjjjijjijjjjjjijjjjjjjijjjjjiijjjjijijjjjjjjjjjjjjjjijjjijijjijjjijjjjjjjjjjjjjijjjijjjjjjjjjjjijjjjjiijjijjjjjjjjjjjjjjjjjjjjjjjjjjjjjijjjjjjjjjijjjjjjjjjjjijijjijjjijjjjijjjjjijjjjjiijjjjjjijjjjjjjjijjjjjjjjjjjjjjjijjjjjjjjjjijjjjjjjjjijjjijjjjjjijjjjjjjjjjjjjjjijjjijjjjjjjjjjjjjjjjijjjjjjjjjjjjijjijjjjjjjjjjjjjjjjijjjjjjjjjijjjjjjjjjjjjijjjjjjjijjjjjjjjjjiijjjijjjjjjjjjjjjjjjjjjjjjjjjjijijjjiijjjjijjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjijjjijjjjjjijjjjjjjjjjjjjjjjijjjijjjjjjjjiijjjjjjijjjjjijjjjijjjjjjjjjjjjjjjjjjjjjjjjjjjjjjijjijjjjjjijjjjjjjjjijiijjijjjjjjjjjijjjjjjjjjijjijjjjjjjjjjjjjjjjjjjjjjjijjjjjjjjjjjjjjjjjjjjjjjjjjjjjjijjjjjjijjjjjjjjjjjjjjjjjjjjjjjijjjjjjijjjjjjjjjjjjjjjjjijjjjjjjjjjjjjjjjijjjjjjjijjjjijjjjjjjjjjjjjjjijjijjjjjjjjijjjjjjjjjjjjjjjijjijjjjjjjjjjjijijjjjjjjjjjjjjjjjjjijjjiijjjjijijjjjjijjjjjjjjijjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjijjjjjjjjjjjjjjjjjjjijjjjjjjjjjjjjjjjijjijjjjjjjjjjjjjjjjjjjijjjjjjjjjjjjjjjjjjjjjjjijjjjjjjjjjjijjjjjjjjijjjjjjjjjjjjjjjjjjjjjjijjjjjjjjjjjijjjjjjjjjijjijjjjijjijjijjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjijjjjjjijjjjjjjiijijjjjjjjjijjjjjjjjjjjjjjjjjijjjjjjjjijjjjjijjjjjjjjjjjjjjjijjjjjjjjijjjjjiijjjjjijjjjijjjjjjjjjjjjjjijjjjijjjjjjjjijjjjjjjjjjjjjjjjiijjjjjjjjjjjjjjjjjjjjjjjjjjijjjjjjjjjijjijjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjijijjjjjjjjijjjjjjijjjjjjjjjijjjjjjjjjjjjjjjjjjjjijjjjjjjijijjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjijjjjjjjjjjjjjjjjjjjjijijjjjjjjjjjjjjjjjijjjjjjjjjjjjjjjjjjjjijijjijjjjjijjjjjjjjjjjjjijijjjjjjjjjjjjijjjjjjjjjjjjjjijjjjjjjjijjjjjjjjjjjjjjjijjjjijjjjjijjjjjjjjjjjjjjjjjijjijjjjjjijjjjjjjjjjjjijjjiijjjjjjjjjiijjjjjjjjjjjjjjjjjjijjjjjjjjjjjjjjjjjjjjjijjjjjjjjjjjjjiijjjjijjjijjjjjjjjjjjijjjjjjjjjjjijjjjjjjijjjjjjjjjjjjijjjjjijjjjjjjijjjjjijjjjjjjjjjjjjjjijjjjjjjjjjjjijjjjjjjjjjjjjjjjjjjjijjjjjjjjjjjjjjjjjjjjjjjjjjijjjjijjijjjiijjjjjjjjjjjjjjjjjjjjjijijjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjijjjijjjjijjjjjjjjijijjjjjjjjijjjiijjjjjjjjjjjjjjjjjjjjjjjjijjjjjijjjjjjjjiiiijjjijjjjjjjjjjjjjjjijjjiijjjjjjjjjjjjjjjjjjjjjijjjjjijjjiijjjjjjjjijjjjjjjjjjijjjjjjjjjjijjjjjjjjijjijjjjijjjijjijijijjjijjjjjjjjjjjjjjjjjjjjjjjjjjjjjijjjjijjjjjjjjjjjjjjjjjijjjjjjijjjjjjjijjjijjjjijjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjijijjjjjijjjjjijjjjjjjjjjjjjjjjjijjjjjjjjjjjjjjjjjjjjjjjjijjijjjijjjjjjjjjjjjjjjjijjjjjjjijjijjiijjjjijjjjjjjjjjjijijjjjjjjjijjjijjjjjjjjjjjijjjjjjjjjjjijjjjjjiijjjjjjjjjjjjjjjjjjjijjjijjjjjijjjjjiijjjjjjjjjjjjjjijjjiijjjjjjjijjjjijijjjjjjjjjijjjjjjjjjjjjjjijiiijjjjjjjjjjjjjjjjjjjijijjijjjjjjijjjjijjjjjjjjjijjjjijjjijijijjjiijijjjjjjjijjjjijjjjjjijjjjjjjjijjjjjjjjjjjjjijjjjjjjjjjijijjijjjjjjjjjjjijjjjjiiijjjijjjjjjjijjjjjijjjjjjjjjjiijijjjjjijijjjjjijjjjjjijijjjjjjjjjjjjjjjijjjjjjjjjjjjjijijjjjjjjjjjjjjijjjjjjjjijjjjjjjjjjjjjjiijjijjjjjjjjjjjjjjjjijjjjjjjjjjjjjjjjjjjjjjjjjjjjijjjijjjjjjjjjjjjjijjjjjjjjjjjjjjjijjjjijjjjjjjjjjjjjjjjjjjjjjjjjijjjjijjjjjjjjjjjjjjjjjjjjjjijjjjjjijjjjjjjjijjjjjjjjjjjjjijijjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjijjjjjjjjjjjjijjjijjjjjjjjjjjjjjjjjjjjjijjjjjijjjjjjjjjjjjjjjjjjjjijjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjijjjjjjjjjjjjjjjjjjijjjjjjijjjjijjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjijjjjjjjjijjjjjjjjjjjjjjjjjjjjiijjjjjjjjjjjjjjjjjjjjjijjjjjjjjjjjjjjijjjijijjjijjijjjjjjijjjjjijjjjjijjjjjjjjjijjjijjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjijjjjjjjjjjjijjjjjjjjjjjjijjjjijjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjijjjjjjjjjjjijjijjjjjjjjjjjjjjjjjjjjjjjjjiijjjijjjjijjjjjjjjjjjjjjjjjjjjjijjijjjjjjjjiijjjjjjjjjjjjjjjijjjjjjijjjjjjjjjjjjjjjjjijjjjjjjjjjjjjjjjjjjjjjjjijjjjjjjjjjjjjjjjjjjjjjjijjjjijjjjjijjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjijjjjjjijjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjijjjjjjjjjijjjjjjjjjjjjjjjjjjjjjjjijijjjjjijjjjjjjjjjjjjjjijjjjjjjjjjjijijijjijjjijjjjijjijjijjjjijjjjijjijijjjjjjijjjjjjjjjjjjijjjjijjjjjijjjjjjjjjjjijjjjjjjjjjjijijjjjjjjjjjjjjjjjjjjjjjjjjijijjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjijjjjijjjjjjjjijjjjjjjjjjjjjjjjjijijjjjjjjjjjijjjiijjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjijjijjjijjjjjjiijjjjjjjjjiijjjjjjjjjjiijjjjjjjjjjjijjjjjjjjijjjijjjjijjjjjjjjjjjjjjjiijjjijjjjjjjjjjjjjijjjjjijjjjjjjjjjjjjjjijjijjjjjjjjjjijjjijjjjjjjjjjjjjijjjjjjjjjjjjjijjjjijjjjjjjjjjjjjjjjjjjjjjijjjjjjjjjijjjjjijjjijjjjjjjjjjjjjjijjjjjjjjjjjijjjjijjjjjjjjjjjjjiijjjjjjjjjjjjjjjjiijjjjjjjjjjjjjjjjjjijjjjjjijjjjjjjjjjjjjjjjjjjjjjjjjiijijjjjjjjjjjjjjjjjijjjjjjjjijjjjjjjjjjjjjjjjijjjjjijijjijjjjjijjijjjjjjjjjjjijjijjjjjjjjjjjjjjijjjjjjjjjjjjjjjijjjjjjijijjijjjjjjjijjjjjjjjjjjjjjijjijjijjjjjjijjjjjjijjjjjjjijjijjjjjjjjjjijjjjjjjijjjjjjijjjjjjjijijjjiijjjjijijjjjjjjjjjjjijjijjjjjjjjjjjjjjjjjjjijjijjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjijjijjjjjjjjjjijjjjjjjjjijjjijjjjjijjjijjjjjjjjjjijjijjijjjjjjjjjjjiijjjjjjjjjjjjjjjijjjijjjjjjjjjjijijjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjijjijjjjjjjjjjjjijjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjijjjjjjjjjjijjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjijjjjjijjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjijjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjijjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjijjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjijjjjjjjijjjijjjjjjjjjjjjjjjjjjjjijjjjjjijjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjijjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjijjjjjjjjjjjjjjjjjjjijjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjijjjjjjjjjjjjjjjjjjjjjjjijjjjjjjijijjjjjjjjjijjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjijjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjijjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjijjjjjijjjijjjjjjjjjjjjjijjjjjjjijijjjjjjjjjjjjjjijjjjjjjjjjjjijjjijjjjjijjjjjjjjjjjjjjjjjjjjjjjjjjjijjjiijjjijijjjjjjjjjjjjjjjjjjjjjijjjjjjjjjjjjjjjjjjjjjjjjjjjijjjjjjjijjjjijjijjjjjjjjjjjjjjjjjjjjjjijjjjjjjjjjjjjjjjjjjjjjjjjjiijjjjjjjjjjjjjjjjijjjjjijjjjjjjjjjjjjjjjjjjjjjjjijjjjijjjjijjjjjjjjjjjijjjjjjjjjjjjjjjjiijjjjjjjjjjjjjjjijjjiijijjjjjjjjjjjjjjjjjjjjjjjjjjjjijjjjjjjjjjiiijjjjjjjjjjjjjjjjjjjijjjjjijjjjjjjjjjjjjijjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjijijjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjijjjjjjjjjjijjjjjjjjjjjjjjjjjjjijjjjjjjjjjjjjjjjjjjjiijjjjjjjijjjjjjjjjjjiijjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjijjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkjjjjjjjjjjjjijjjjjjjjjjjjjjjijjjjjjjjjjjjjjjjjjjjjkjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjijjjjjjjjjjjjjjjjjjjjjijjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjijjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjijjjjjjjjjkjjjjjjjjjjjjjjjjjjjjjjjjijjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjijjjjjjjjjjjjjjjjjijjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjijjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjijjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjijjjjjjjjjjjjjjjjjjjjjjjjjjjijjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjijjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjijjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjijjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjijjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjijjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjijjjjjjjjjjjjjjjijjjjjjjjjjjjijjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjijjjjjjjjjjjjjjjjjjjijjjijjjjjjjjjjjjjjjjjjjjjjjjjijjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjijjjjjjjjjjjjjjjjjjjjjjjijjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjijjjjjjjijjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjijjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjiijjjjjjjjjjjjjjjjjjjjjjjijjjjjjjjjjjjjjjjijjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjijjjjjjjjjjjjjjjjjjjjjjjjjijjjjjjjjijjjjjjjjjjijjjjjjjjjjijjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjijjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkjjjjjjjjjjjjjjkjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjijjjjjjjjjjjjjjjjjjjjjjijjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjijjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjijjjjjjjjjjjjjjjjjjjkjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjijjjjjjjjjjjjjjjjjjjjjjjijjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjijjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjijjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjijjjjjjjjjjjjjjjjjjjijjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjijjjjjjjjjjjjjjjjjjjkjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjijjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjijjjjjjjjjjjkjjjjjjjjjjjjjjjjkjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjijijjjijjjjjjjjjjjjijjjjjjjjjjjjjjjjijjjjjjjjjjjjjjjjjijjjijjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjijiijjjjjjjjjjjijjijjjjjjjjjjjjjjjjjjijjjjjjjjjjjjjjjjjjiijjjjjjjjjjjjijjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjiijjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjijjjjjjjijjijjjjjjjjjjjjjjjjjjjijjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjijjjjjjijjjijijjjjjijjjjjjjjjjjjijjjjjjjjjjjjjjjjjjjjjjjjjjijjjjijijjijjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjijjjijjjjjjjjjjjjjjjjjjjjijjjjjijjijjijjjjjjjjjijjjjijjjjjjjjjjijjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjijjjjjjjjijjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjijjjjjjjjjjjjjjjjjjjjjjjijjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjijjjjjjjjjjjjjjjjjjjjjjjijjjjjjjijjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjijjjjjjjjjjjjjijjjjjjjjjjijjjjjjjjjjjjjjijjjjjjjjjjjjjjjjjjjjjjjjijjjjjjjjjjjjjjjjjijijjjjijjjjjjjjjjjjjjijjjjjijjjjijjjjjjjjijjjjjjjjjjjjjjjjjjijjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjijjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjijjjjijjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjijjjjjjjjjjijjjjjjjjjjjjjijjjjijjjjjjjjijjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjijjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjijjjjjjjjjjjjjjjijjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjijjjjjjjjjijjjjjjjjjjjjjjjjjjjjjjjjjjjjijjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjijjjjjjjjjjjijjjjjjjjjjjijjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjijjjjjjjijjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjijjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjijjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjijjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjijjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjiijjjiijjjjjjjjjjjjjjjjjjjjjjjjjjjjjjijjjjjjjjjjjjjjjjjijjjjjjjjjjjjjjjjijjjjjjjjjjijjjjjjjjjjjjjijjjjjjjjjjjjjjjjjjjjjjjjjijjjijiijjjjjjjjiijjjijjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjijjjjjjjjjjjjjjjjjjjjjjjjjijjjijjjjjjjjjjjjjjjjjjjjjjjjjjijjjjjjjjjjjjjjjjjijjjjjjjjjjjjjjjjjjjjjjjjjjjiijjjjjjjjjjjjjijjjjjjjijjijjjjjijjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjijjjjjjjjjjjjjjjjjijjjjjjjjjjjjjijjjjjjjjjjijjjjjjjijjjjjjjjjjjjjjjjjjjjjjjjjijjjjjijjjjjjjjjijjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjijjjjjjjjijjjjjjjjjjjjijijjjjijijjjjjjjjjjjjjjjjjjjijjjjijjjijjjjjjjjjjijjjjijjjjjjjjjjjjjjjjjjjjijjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjijjjjjjijjjjjjjjjjjjjjjjjjjijjjjjjjjjjjjjjjjjjjjjjiijjjjjijjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjijjjjjjjjjjjijjjjijjjjjjjijjjjjjijjjjjijjjjjjjjijjjjjjjjjjjjjjjijjjjjjjjjjjjjijjjjjjjijjjjijjjjjjjjjjjjjjjijjjjjijjjjjjjjjjiijjjjjijjjjjjjjjjjjjjjjjjjijijjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjijjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjijjjjijjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjijjjjjjjjjjjjjjjjjijjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjijjjjjjjjjjijjjijijjijjjjjijjjjjjjjijjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjijjjjjjijjjjjjijjjjjjjjjjjijjjiiijjjjijjjjjjjjjjjjjjjjjjjjjijjjjjjjjjjjijiijjjjjjjjjjjjjijjjjjijjjjjjjjjijjjjijjjjjjijjijjjjjjijjijjjjjjjijjjjijjjjjijjjjjjjjjijjjjjjjjjjjjjjijjjjjjjjjjjjjjjjijjjjjjjjjjjjjjjjjjjjjjjjjjjjjijjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjijijjjjjjjjjjjjjjijjjjjjjjjjjijjjjjjjjjjjjjjjjjjjjjjjjjjijjjjijjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjijijjjjjjjjjjjjjjijjjjjjjjjjjijjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjijijjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjijjjjjjjjjjjjjjjjijjjjjjjjjjjjjjjijjjjjjjijjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjijjjjjjjjjjjjjjjjjjjjjjjjjjjjjijjjjjjjijjjjjjjjjijjjiiijjjjjjjjjjjjjjjjjjjjjjjjjjjjijjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjijjjjjjjjjjijjjjjjjjjjjjijjjjjijjjjjjjjjjjjjjjjjjjjjjjjijjjjjjjjjiijjjjijjjjjjjjjjjjjjjjjjjijjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjijjjjjijjjjjjjjjjjjjjjjjjiijjjijjjjjijjjjjjjjjjjjjjjjjjjjjjjjjjijjjjjjijijijjjjjjjjjjjjjjjjjjjjjjjjjjjjjijjjjjjjjjjjjjjjjjjjjjjjjjijjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjijjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjiijjjjjjjjjjjjjjjjjjjjjjjjijjijjjjjijjjjjjjjjjjjjjjjjjjjjjjjjjjjjijjjjjjjjjjjijjjjjjjjjjjjjjjjjjjjjjjjjijjjjjjijjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjijjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjijjjjijjjjjjjjjjjjjjjjjjjijijjjjjjjjjjjjijijjjjjjjjjjjjjiiijjijijjjjijjjjjjjjjjjjjjjjjijjjjjjjjjjjjjjjjjjjiijjjjjjjjjjjjjijjjjjjjjjijjjjjjjjjjjjjjjjjjjjjjjiijjjjjjjjjjjjjjjjjjjjjjijjjjjjjjjjijjjjjijjjjjijjjjjjjjjjjjjjjiiijijjjjjjjjjjjjjjjjjjjjjjjjjjjjjjijjjjjjjjjjjjjjjjjjjjjjijjjjjjjjjijjjjjjjjjjijjjjjjjijjjjjjjjijjjjjjijjjjjjjjjjjjjjjjjjjjjjjjjjijjjjjjijjjjjjjjjjjjijjjjjjjjjjjjjjijjjjijjjjjjjjjjjjjjjjjjjjjjjjjjjjjjijjjjjijjjjjijjijjjjjjjjjjjjijjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjijjjjjjjjjjjjjijjjijjjjjjjjijjjjjjijjjjjjjjjjjjjjjjjijjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjijjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjijjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjijjjjjjjjjjjjjjjjjjjjjjjjjjjijjjjjjjjijjjjjjjjjjjjjjjjjjjjjjjjjjjijjjjjjjjjjjjjjjjjijjijjjjjjjjjjjjjjijjjjijijijjijjjjjjjjjjjjjjjjjjjjjijijjiijjjjjijjjjjjjjjjjjjiijjjjjjjjjijijjjjjjijjjjjjjjjjjjjjjjjjjjjjjjjjjjjijjjijjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjijjjjjjjjjjjjjjjjjjijjjjjjjjjjjjjijjjjjjjijjjjjjjijjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjijjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjijjjjjjjjjjjjjjjjjjjjjjjjjjjjjijjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjijjjjjjjjjjjjjjjjjjjjjjjijjjjjjjjjjjjjijjjjjjjjjjjjijjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjijjjjjjjjjjjjijijjjjijjijiijjijjijjjjjjjjjjjjjjjjijjjjjjjjjjjjjjjjjjjjjjjjjiijjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjijjjjjjjijjjjjjjjjijijjjjjjijjjjjjijjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjijjjjjijjjjjjjjjjjjjjjjjjijjjjjjjjjjjjjjijjijjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjiijjjjjjjjjijjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjijjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjijjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjijjjjjjjjjjjjjjjjjjjjjjjijjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjijjjjjjjjjjjjjjjjjjjjjijjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjijjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjijjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjijjjjjjijjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjijjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjijjjjjjjjjjjjjijjjjjjjjjjjjjjijjjjijjijjjjjjijjjjjjjjjjjjjijjjjjjjjjjjjjjiijjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjijjjjijijjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjijjjjjjjjjjjjijjjjjjjjjjjjjjjijjjjjjjjjjjjijjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjijjjjjjjjjjijjjjjjjjjjjjijjijjjjjjjijjijijjjjjjjjjjjijjijjijjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjijjjjjjijjjjjjjjjjjjjjjjjjjjjjijjjjjjjijjjjjjjjjjjjjjjjijjjjjjjjjjjjjjjjjjjjjjjjjjjjijjjjjjjjjjjjjjjjjijjjjjjjjjjjjjjjjjjjjjjjjjjjjijjjjjjjjjijjjjjijjjjjjjjjjjjijjijjjijjjjjjjjjjjjjjijjjjjjjiijjjjjjijjjjjjjjjjjjjjjjjjjjijjjjjijjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjijjjijjjjjjjjjjjijjiijjjjjjjjjjjjjjjjjjjjjjijjjjjjjjjjjjjjjjjjjjjjjijjjjjjjijjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjijjjjjjjjijjjjjjjjjjjjjjjjjjjjijijjjjjjjjjjjjjjjjjjjjjjjijjijjjjjjiijjjjjjjjjjjjjjjjjjjjjijjjjjiijjjjjjjjjjjjjjijjjijjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjijjijjjjjjjjjjjjjjjjjjjjijijjjjjjjjjijjjjijjijjjjjjijijjjjjjijjjjjjjiiijjjjjjjjijjjjijjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjijjjjijjjjjjjjjjjijjjjjijjjjjjjjjjjijjjjjjjjjjjjjjjjjjjjjijjjjjjjjjjjjjjjjjjjjjjjijjjjjjjjjjjjijjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjijjjjjjjjjjjjjjjjjjjjjkjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkjjjjjjjjjjjjjjjjkjjjjjjjjjjjjjjjkjjkjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkjjjkjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkjjjjjjjjjjjjjjjjjkjjjjjjjjjjjjjjjjjjjjjjjjkjjjjjjjjjkjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkjjjjjjjjjjjjjjjjjjjjjjkjjjjjjjjjjjjjjjjjjjjjjjjkjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjijjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjijjjjjjjjjjjjjjjjjjjjjjjjjjjjjjijjjjjjjijjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjijjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjijjjjjjjjijjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjijjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjijjjjjjjjjjjjjjjjjjjjjjjjjjjijjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjijjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjijjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjijjjjjjjjjjijjijjjjjjjjjjjijjijjjjjjjjjjjjjjijjjjjjjjjjjjjijjjjjjjjijijjijjjjjjjjjjjjjjjjjjjjjjjjjijjijjjjjjijjjjjjjjjjjjjjjjjijjjjjjjjjjjjjjjjjjjjjjjjjijjjjjjjijijjjijjjjjjjjjjijjjjjjijjjjijjjjjjjjjjjjjjjjjjjjjijjjjjjjjjijjjjjjijjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkjjjjjjjjjjjjjjjjkjkjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkjjjjjjjjjjjjjjjjjjjjjjjjjjjkjjjjjjkjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkjjjjjjjjjjjjjjjjjjjjjjjjjjkjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkjjjjjjjjjkjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkjkjjjjjjjjjjjjkjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkjjjjjjjjjjjjjjjjjjjjjjjjjkjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkjjjjjjjjkjjjjjjjjjkjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkjjjjjjkjjjjjjjjjjjjjjjjjjjjkjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkjjjjjjjjjjjjjjjjkjjjjjkjjjjjjjjjjjjjjjjjjjjjjjjjkjjjjkjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkjjjjjjjjjkjjjjjkjjjjjjkjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkjjjjjjjjjjjjjjjjkjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkjjjjjjjjjjjjjjjjkjjjjjjjjjjjjjjjjjjjkjjjjjjjjjjjjjjjjkjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkjjjjjjjjjjjjjjkjjjjjjjkjjjjjjjjjjjjjjjjjjjjjjjjjjjjjijjijjjjjjjjjjjjjjjjjjjjjjjjjjijjjjjjjjjjjjjjjijjjjjjjjjjjjjjjjjjjjjjjjjjjjjjijjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjijjjjjjjjjijjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjijjjjjjjjjjjijjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjijjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjijjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjijjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjijjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjijjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkjjjjjjjjjjjjjjjjjjjkjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjijjjjjjjjjjjjjjjjjjjjjjijjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjijjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjijjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjijjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjijjjjijjjjjjjjjjjjjijjjjjjjjijjjjjjjjjjjjjjjjjjjjjjjjjjjjjijjjjjjjjjjjjjjjijijjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjijjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjijjjjjjjjjjjjijjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjijjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjijjjjjjjjjjjjjjjjjjjjjjjjjjjjijjjjjjjjjjjjjjjjjjjjjjjjijjjjjijjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjijjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjijjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjijjjjjjjjjjjjjjjjjjjjijjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjijjjjjjjjjjjjijjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjijjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjijjjjjjjjjjjjjjjjjjjjjjjijjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjijjjjjjjjjijjjjjjjjjjjjjjjjjjjjjjjjjjjijjjjjjjjjjjjjjjjjjjjjjjijjjjjjjjjjjjjjjjjjjjjjjjjjjjjijjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjijjijjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjijjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjijjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjijjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjijjjjjjjjjjjjjjjjjjjjjjijjjjjjijjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjijjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjijjjjjjijjijjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjijjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjijjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjijjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjijjjjjjjjijjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjijjjjjjjjjjiijjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjijjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjijjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjijjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjijjjjjjjjjjjijjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjijijjjjjjjjjjjijjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjiijjjjjjjjjjjijjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjijjjjjjjjjjijjjjjjjjjjjijjjjjjjjjjjjjjjjjjjijjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjijjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjijjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjijjjjjjjjjjjjjjjjjjjjjjijjjjjjjjjijjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjijjjijjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjijjjijjjjjjijjjjjjjjjjjjjjjijjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjijjjjjjjjjjjjjjjjjjjjjjjjjjjijjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjijjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjijjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjijjjjjjjjjjjjjjijjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjijjjjjjjijjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjijjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjiijjjjjjjjjjijjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjijjjjjjjjjjijjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjijjjjjjjjjjjjjjjjjjjjjjjjjijjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjijjijjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjijjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjijjjjjjijjjjjjjijjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjijijjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkjjjjjjjjjjjjjjjjjjjjjjjjkjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjijjjjjjjjjjjjijjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjijjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjijjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjijijijjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjijjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjijjjjjjjjjjjjijjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjijjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjijjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjijjjjjjjjjjjjjjjjijjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjijjjjjjjjjjjjjjjjjjjjjjjjjjijjjjjjjjjijjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjijjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjijjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjijjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjijjjjjjjjjjjjjjjjjjjjjjjjjijjjjjjjjjjjjijjjjjjjjjjjjjjijjjjjjjjjjijjjjjjjijjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjijijjjjjjijjjijjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjijjjjjjjjjjjjjjjjjjjjijjijijjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjijjjjjjjjijjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkjjjjjjjjjkjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkjjkkjjjjjjjjjjkjjjjjjjjjjjjjjjjjjjjjjjjjjjkkjjjjjjjjjjjjjjjjjjjjjjjjjjjkjjjjjjjjjjjjjjjjjjjjjjjjjjjjkjjjjkjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkjjjjjjjjjjjkjjjjjjjkjjjjjjjjjjjjjjjjjkjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkjjjjjjjjjjjjjjjjjjjjjkkjjjjjjjjjjjkjjjjjjjjkjjjjjjjjkjjjjjjjjjjjjjjjjjjjjkjjjjjjjjjjjjjjkjjjjjjjjjjjjjjjjjjjjjkjjjjjjjjjjjjjkjjjkjjkjjjjjjjkjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkjjjjjjjjjjjjjjjjjjjjjkjjjjjjjjkjjjjjjjjjjjjjjjjjjjjjjjjkkjjjjjjjkjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkjjjjkkjjjjjjjkjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkkjjkjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkjjjjjjjjjjjjjjkjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkjjjjjjjjjjjjjjjjjjjjjjjkjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkjjjjjjjjjjjjjjkjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkjjjjjjjkjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjijjjjjjjjjjjjjjjjjjjijjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjijjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjijjjjjjjjjjjjjjjjjjkjjjjjjkjjjjjjjjjjjjjjjjkjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkjjjjjjjjjjjjjjjjkjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkjjjjjjjkjjjjjjjjjjjjjjjjjjjjjjjjjkjjjjjjjjjjjjjjjjjjjkjjjjjjjkjjjjjjjjjjjjjjjjjjjjjjkkjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkjkjjjjjjjjjjjjjjkjjjjjjjjjjjjjkjjjjjjjkjjkjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkjjjjjjjjjjjjjjkjjjjjjjjjjjjjjjjjjjkjjjjkkjkjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkjjjjjjjjjjjjkjjjjjjjjjkjjjjjjjjjjjjjjjkjjjjjjjjjjkjjjjjjjjjjjjjjjjjjjjjjjjjjkjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkjjjkjjjjjkjjjjjjjjjjjjjjjjjjjjjjjjjjkjjjjjjjjjjjjjjjjkjjjjjjjjjkjjjjkjjjjjjjjjjjjjjjjjjjkjjjjjkjjjjjkjjjjjjjjjjjjjjjjkkjjjjjjkjjkjjjjjjjjjkkjkjjjjjjjjjjjjjjjkjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkjjjjjjjjjjjjjkjjjjjjjjjjkjjjjjkjjjjjjjjkjjjjjjjjjjkjkjjjkjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkjjjjkjjjjjjjjjjjjjjjjkjjjjjjjjjjjjjjjjjjjjjjjjkjjjjjjjjjjkjjjjjjjjjjjjjjjjjjjkjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkjjjjjjjjkjjjkjjjjjjjjjjkjjjjjjjjjjjjjjjkjjjjjjjjjjjjjkjkjjjjjjjjjjjjjjjjjjjjkjjjkjjjjjjjjjjjjjjjjjjjjjjjjjjjjkjjjjjjjjjjjjjjkjjjjjjjjjjjjjjjjjjjjjjjjjkjkjjjjjjkjjjjjkjjjkjkjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkkjjjjjjjjjjjjjjkjjjjjjjjjjjjjjjjjkjjjjjjjjjjjjjjjkjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkjjjjjjjjjjjjjjjjjjjkjjjjjjjjjjjjjjjjjjkjkjjjjjjjjjjjjjjjjjjjjjjjjjjkkjjjjjjjjjjjjjjjjkjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkjjjjjjjjjjjkjkjjjjjjkjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkjjjjjjjjjjjjjjjjjkjjjjjjkjjjjjjjjjjjkjjjjjjjjjjjjjjjjjkjjjjjjjjjjjjjjjjjjjjkkjjjjjjjjkjjjjjjjkjjjjjjjjjjjjjjjjjkjjjjjjjkjjjjjjjjjjjkjjjjjjjjjjjjjjkjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkjjjjjjjjjjjjjjjjjjkjjjjjjjjjjjjjjkjkjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkjjkjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkjjjjjjjjjjjjjjjjjkjjkjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkjjjjjjjjjjkjjjjjjjjjjjjjjjjjkjjjjjjjjjkjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkjjjjjjjjjjjjjjkjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkjjjjjjjjjjjkjjjjjjjjkjjjjjjjjjjjjjjjkjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkjjjjjjjjjjjjjjjjjjjjjjjjjkjjkjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkjjjjjjjjjjjjjjjjjjjjjjjjkjjjjjjjjkjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkjjjjjjjjjjjjjjjjjjjkjjjjjjjjjjjjjjjjjkjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkjjjjjjjkjjjjjjjjjkjjjjjjjjkjjjjjjjjkjjjjjjjjjjjjjjjjjjkjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkkjjjjkjjjjjkjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkjjjjjjjjjjjjjjjjjjjjjjkjjjjjkjjjjkjjjjjjjkjjjjjjkjjjjkjjjjjjjjjjjjjjjkjjjjjjjjjjkjjjjjjjjjjjjjjjjjjjjjkjjjjjjjjjjkjkjjjjjjjjjjjjkjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkjjjjjjjjjjjjjkjjjjjjjjjjjjjjjjjjjjkjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkjjjjjjjjjjjjjjjjjjjjkjjjjjjjjjjjjjjjkjjjjjjjjjjjjjjjkjjjjjkjjjjjjjjjjjjjjjjjjjjjjjkjjjjjjjjjjjjjjjjkkjjjjjjjjjjjjjjjjjjkjkjjjjjjjjjjjjjjjjjjjjjjkjjjjjjjjkjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkjjjjjjkjjjjjjjjjjjjjjjkjjjjjjjjjjjjjjkkjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkjjjjkjjkjjjjjjjjjjjjjjjjjjjkjjkjjjjjjjjjjjjjjkjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkkjjjjkjjjjjjjjjjjjjjjjjjjjjjjjjkjjjjjjjjjjjjjkjjjjjjjjjjjjjjjjjjkjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkjjjjkjjjjjjjjjjjjjjjjkjijjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkjjjjjjjjjjjjjjjjjjjjjjjjjjjjkjjjkkjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjijjjjjjjjjjjjjjjjjjjjjjjjjkjjjjjjkjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkjjjjjjjjjjjkjjjjjjjjjjjjjikjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkjjjjjjjjjjjjjjjjjjjjjjjkjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkjjjjjjjjjjjjjjkjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkjjjjjjjjjjjjjjjjjjjjjjjkjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjijjjjjjjjkkjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkjjjjjjjjjjjjjjjjjjjjjkjjjjjjjjjjjjjkjkjjjjjjjjjjjjjkjjjkjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkjjjjjjjjjjjjjjjjjjjjjjjjjijjjjjjjjjjjjjjjjkjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkjjjjjjjjjjjjjjjjjjjjkjjjjjjjjjjjjjjjjjjkjjjjjjjjjjjjjjjjjjjkjjjjjjjjjjjjjjkjjjjjjjjjjjjjjjjjjjjjjjjkjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkjjjjjjkjjjjjjjjjjjjjjjjjjjjjjjkjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkjjjjjjjkjjjjjjjjjjjjjjjjjjjjjjjjjkjjjjjjjjjjjjjjjjjjjjjjjjjjkjjjjjjjjjjjjjjjjjkjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkjjjjjjjjjkjjjjjjjjjjjjjjjjjjjjjjjjkjjjjjjjjjjkjjjjjjjjjjkjkjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkjjjjjjjjjjjjjjkjjjjjjjjjjjjjjjjjjjjjjjkjjjjjjjjjjjjjjkjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkjjjkjjjjjjjjjkjkjjjjjjjjjjjjjjjjkjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkjjjjjjjjjjjjkjjjjkjjjkjjjjjjjkjkjjjjjjjjkjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkjjkjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkjjjjjjjjjjjjjjkjjjjjkjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkkjjjjjjjjjkjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjijjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkjjjjjjjjijjjjjjjjjjjjjkjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkjjjjjjjkjjjijjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkjjjjjjjjjjjjjjjjjjkjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkkjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkjjjjjjjjijjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkjjjjjjjjjjjjjjjkjjjjjkjkjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkjjjjjjjjkjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkjjjjjjjjjjjjkjijjjjjjjjjjjjijjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkjjjjjjjjjkjjjjjjjjjjjjjjjjjjjjkjjjjjjjjjjjjjjjjjjjjjjjjjkkjkkjjjjjjjjjjjjjjjkkjjjjjjjjjjjjjjkjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkjkjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkjjjjjjjjjjjjjkjjjjjjjjjjjjjjjjjjkjjjjjjjjjjjkjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjijjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkjjjjjjjjjjjkjjjjjjkjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkjjjjjjjkjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkjjjjkjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkjjjjjjjjjjjjjjjjjkjjjjjjjjjjjjkjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkjjjjkjjjjjjjjjjijjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjijjjjjjjjjjjijjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkjjjjjkjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkjjjjjjjjjkjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkjjjjjjjjjjjjjjkjjkjjjjjjjjjijjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjijjjjjjjjjjjjjjijjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkijjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkjjjjjjkjjjjjjjjjkjjjjjjjjjjjkjjjjjjjijjjjjjjjjjjjjjjjjjjjjjjjjjjjkjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjijjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjijjijjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkjjjjjjkjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkjjjjjjjjjkjjjjjjjjjjjjjjjjjjjkkjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkijjjjjjjjjjjjjjkjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjiijjkjjjjjjjjjjjjjjjjjjjjjjjjjjijjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjijjjjjjjjjjjjjjjjjjijjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkjjjjjjjjjjjjjjkjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkjjjjjjjjjjjjjjijjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkjjjjjkjkjjjjjjjjjjjjkjkjjjjjjjjjjjjjkjjjjjkjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkjjjjjjjjjjjjjjjjjjkjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkjjjjjjjjjjjjjjkjjjjjjjjjjjjjjjjjjjjjjkjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkjjkjjjjjjjjjjjjjjjjjjjjjjjjjkjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkjjjjjjjjjjjjjjjjjjjjjjjjjjkjjjjjjjjjjjjjjjjjjjjjjkjjjjjjjjjjjjjjjjjjjjjjkjjjjjjjjjjjjjjjjjjjjkjjjjjjjjjjjjjjjjjjjjjjjjkjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkjjjjjjjjjjjjjjjkjjjjjjjjjjjjjjjjjjjjjjjjjjjkjjjjjjjjjkjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkjjjjjjjjjjjjjjjjjjjkjjjjjjjkkjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkjjjjjjjjjjjjjjjjjjjkjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkjjkjjjjkjjjjjjjjjjjjkjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkkjjjjjjjjjjkjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkjjjjjjjjjjjjjjjjjjjkjjjjjjjjjjjjjjjjjjkjjjjjjjjjjjkjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkjjjjjjjjjjjkjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkjjjjjjkjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkjjjjjjjjjjjjkjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkjjjjjjjjjjjjjjjjkjjjjjjjjjjjjjjjjjjkjjjkjjjjjjjjjjjjjjjjjjjjjjjkjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkjjjjjjjjjjjjjjjjjjjjjjjjjkjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkjjjjjjkjjjjjjjjjjjjjjjjkjjkjjjjjjjjjjjjkjjjjkjjkjjjkjkjjjkjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkjjjjjjkjjjjjjjjjjjjjjkjjjjjjjjjjjjjjjjkjjjjjjjjjjjjjjjjjjjjjjjjjjkjjjkjjjjjjjjjjjjjjkjjkjjjjkjjkjjjjjjjjjjjjjjjjjjjjkjjjjjjkjjjjjjjjjjjjjjjjjjjkjjjjjjjjjjjjjkjjjjjjjjjjkkjjjjjjjjjjkjkjjjjjjjjjjjjjjkjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkjjjjkjjjjjjjjjjjjjjjkjjjjjjjjjjjjjjjjjjjjjkjjjjjjjjjjjjjjjjjjjjjkjjkjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkjjjjjjjjjjjjjjjjjkjjjjjjjjjjjjjjjkjjjjjjjjjjjjjjjjjjjjjjjjjjjkjjjjjjjjjjjjjjjjjjjjjjjjjjjjkjjjjjjjjjjjkjjkjjjjjjjjjjjjkjjjjjjjjjjjjjjjjjjjjjjjjkkjjjjjjjjjjjjjjjjjjjjjjjjjjkjjkjjjjjjjjjjjjjjjjjjjjkjkjjjjjjjjjjjjjjkjjjjjjkjjjjjjjjjjjjjjjjjjjjjjkjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkjjjjjjjjjjjjjjjjjjjkjjjjjjjjkjjjjjjjjjkkjjjjjjjjjjjkjjjjjjjjjjjjjjjkjjjjjjjjjjjjjjjjkjjjjjjjjjjkjjjjjjjkjjjkjjjjjjjjjjjkjjjjjkjjjjjjkjjjjjjjjjjjjjjjkkjjjjjjjjkkkjjjjjjjjjjjjjjjkjjjjjjjjjjkjkkjjjjjjjjjjjjjjjkjkjkjjjjjjjjjjjjjjjkjjjjjjjjjjjjjjjjjjjkjjjjkkjjjjkjkjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkjjjjjjjjjjkjjjjjjjjjkjjjjkjjjjjjkjjkjjjjjjjjjkjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkjjjjjjjkjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkjkjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkjkjjjjjjjjjjjjjjjjjjjjjjjkjjjjjjjjjjjjjjjjjjjjjkjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkkjjjjjjjjjjjjjjjjjjjjjjjjkjjjjjjjjkjjjjjjjjjjjjjjjjjjjkjkjjkjjjjjjjjjjjjjjjjjkjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkjjjjjjjjjjjjjjjjjjjjjjjjjjkjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkjjjjjjjjjjjjjjjkjjjjjjjjjjjjjjjjjjjjjjjjjkjjjjjjjjjjjjjjjjjjjjjkjjkjjkjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkjjjjjjjjjjjjjjjjjjkjjjjjjjjjjjjjjjjjjjjjjjjjjjjkjjjjjjjjjjkjkjjjjjjjjjjjjjjjjjjjkjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkjjjjjjjjjkjjjkjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkjkjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkjjjjjjjjjjjjjjjjkjkjjjjjkjjkjjjjjjjjjjjjjjjjjjjjjjjjjkjjjjjjjjjjjjjjkjjjkkjjjjjjjjjkjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkjjjjjjjjjjjjjjjjjkjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkjkjjjjjkjjjjkjkjjjjjjjjjjjjjjjjjjkjjjjjjjjjjjjjjjjjjjjkkjjjjjjjjjjjjjjjjjjjjjjjjjkkjjjjjjjjjjjjjjkjkjjjjjjjkjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkjjjjjjjjjjjjjjjkjjjjjjkjkjjjjjjjjkjjjjjjjjjjjkjjjjjkjjkjjjjjkjjjkjjjjjjjjjjjjjjjjjjjjjjjjjjkjjjjjjkjjjjjjjjjkjkjjjjjjjjjjjjkjjjjjjkjjjjkjjjjkjjjjjjjjjjjjjjkjjjjjjjjjjjjjjjjjjjjkjjjjjjjkjjjjjjjjjjjjjjjjjjjjjjjjjkjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkjjjjjjjjjjjjjjjjjjjjjjjjjjjkkjjjkjjjjjjjjjkjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkjjjjjkjjjjjjjjjjjjjjjjjjjjjjjjkjjjjjjjjjjjjjkjjjkjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkjjjjjjjjjkjjjjkjjjjjjjjjjjjjjjjjkkkjjjjjjjjjjjjjjjjjkjjjjkjjjjkjjjjjjjjjjjjjjjjjjjjjkjkjjjjjjjjjjjjjjjjjjjkjjjjkjjjjjjjjjjjjjjjjjkjjjkjjkjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkjjjjjjjkjjjjjjjjjjjjjjjkjjjjjkjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkjjjjjjjjjjjjjjkjjjjjjjjjjjjkjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkkkjjjjkjjjjjjjjjjkjkjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkkkjkjkjjjkjjjjjjkjjjjjkjjjjjjjjjjjjjjjjjjjjjjjjjjkjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkjjjjjjjjjjkjjjjjjjjjjjjjjjjjkjjjjjjjjjjjjjjjjjkjjjjjjjjjjjkjjjjjjjjjkjjjjjjjkjjjjjjjjjjjjkjjjjkjkjjjjjjjjjjjjjjjjjkjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkjjjjjjjjjjjjjjjjjjjkjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkjjjjjjjjjjjjjkjjjjkjjjjjjjjjjjjjjjjjjjjjjjjjjjkjjjjjjkjjjjjjjjjjjjjjjjjjjkjjjjjjjjjjjjjjjjjjjjjjkkjjjkjjjjjjjjjjjjjjjjjjjjjjkjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkjjjjjkjkjkjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkjjjjjjjjjkjjjjjjjjjkjjjjkjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkjjjjjjjjjjjjkjjjjjjjjjjjjjjjjjjjjkjjkjjjjjjjjjjjjjjjjjjkjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkjjjjjjjjjjjkjjjjjjkjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkjjjjkkjjjjjjjjjjjjjjjjkjkjjjjjkjjjjjjjjjjjjjjjjkjjjjjjjjjjjjkjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkjjjjjjjjjjkjkjjjjjjjjjjjjjjjjjjjjjjjjjkkjjkjjjjjjjjjjjjjjjjjjjjjjkjjjjjjjjjkjjjjjjjjjjkjjjjjjjjjjjjjjjjjjjjjjjjkkjjkjjjjjjjjjjjjjjjjjjjjjjjkjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkjjkjjjjjkjjjjjjjjjjjjjjjjjjjjjjjkjjjjjjjkjjjjjjjkjjjjjjjjjjjjjjjjjjjjjjjkjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkjjjjjjjkjjkjjjjjjjjjjjjjjjjjjjjjjkjjjjjjjjjjjjjjjjjjjjjjkjjjjjjjjjjjjjjjjjjjjjjjjjjkjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjijjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjijjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjijjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkjjjjjjjjjjjjjjjjkjjjjjjjjjjjjjjkjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkjjjjjjjjjjjjjjjjjjjkjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkkjjjkjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjijjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjijjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjijjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjijjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjijjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjijjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkjjjjjjkjjjjjjjkjjjjjjjjjjjjkjjjjjjkjjjjjjjjjjjjjjkjjjjjjjjjkjjjjjjjjjjjkjjjkjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkjjjjjjjjjjjjjkjkjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkjjjjkjjkjjjjkjjjjjjjjjjjjjjjjjjjkjjjjjjjkjjjjkjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkjjjjjjjjjjjjjjjjjjjjjjjjjjkkjjjjjjjjjjjjjjjjjkjkjjjjjjjjjjjjjjjjkjjjjjjjkjjjjjjjjjjjjjjjjjjjjjjjkjjjjjjjjjjjkjjjjjjjkjjjjkjjjjjjjjjjkkjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkjjjjjjjjjjjjjkjjjjjjjjjjjjjjjjkjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjijjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjijjjjjjjjjjjjjjjjjjjjijijjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkjjjkjjjjjjjjjjjjjjjjjjjjkjkjjjjkjkjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkjjjjjjjjjkkjjjjjjjjjjkjjjjjkjjjjjjjjjjjjkjjjjjjjkjkjjjkjjjjjjjjjjjjkkjjjjjjjjjjjkjjkjjjkjjjjjkjjjjjjjkjjjjjjjjjjjjjjjjjjjjjjjjjjkjkjjjjjjjjkjjjjjjkjjjkjjjjkkjjjjjjkjjkkjjjjjjjjjjjjjjjjjjjjjjkjjkjjjjjjjkkjjjjjjjjjjjjjjjjjjjjjjjjjjjjkjjjjjkkjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkjjjjjjjjkjjjjjjjjjjjjjjjjjkjjjjjjjjjjjjjjjjjkjkjjjjjjjjjjjjjjjjjjjjjjjjkjjkkjjjjkjjjkjkjjjjjjjjkjjjjjkjjjjjjjjjjjjjjjjjjjjjjkjjjjjjjjkjjjjjjjjjjjjjjjjjjjjjjjjkjjjkjjjjjjjjjjkjjjjjjkjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkjjjjjjjjjjjjjjkjjkjjjjjjjjjkjjjjjjjjjjjjjjjjkkjjjjjjjjjjjjjjjjjjjjjjkjjjjjjjjjjjjjjjjjjjjjjjjjjjkjjjjkjjjjjjjjjjjjjjjjjjjjkjjkjjjjjjjjjjjjjjjjjjjkjjjjjjjjjjjjjjjjjjjjjjjjjkjjjjjjkjjjjjjjjjjjjjjjjjjjjkjjjjjjjjjjjjjjjjjjjjjjkjjjkjjjjjjjjjjjjjjjjjjjjkjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkjjjjjjjjjkjkjjjjkjjjjkjjjjjjjkjjjjjjjjjjjjjjjkkjkjjjjjjjkjjjjjjjjjjkjjjjjjjjjjkjjjjjkjjjkjjjjjjjjjjjjjjkjjkjjjkjjjjjjjjjjjjjjjjjjjjjjjjkjjjjjjjjjjjjjjjjjjjjjjjjjkjjjjjjjkjjjjjjjjjjjjjjjjjkjjjjjjjjjjjkjjjjjjjkjjjjjjjjjjkjjjjjjjjjjjjjjjjjkjjjjjjjjjjjjjjjjjjjkjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkjjjjjjjjjjjjjjkjjjjjjjjjjjjjjjjjjjjjjjjjkkjjjjjjjjkjjjjjjjjjjjjjjjkjjjjjjjjjjjjjkjjjjkjjjjjkjkjjjjjjjkjjjjkjjjjjjjjjjjjjjjjkjjjjjjjjjjjjjjjjjjjjjkjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkjjjjjjjjjjkjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkjjjjjjjjjjjjjjjkjjjjjjjjjjjjjjjjkjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkjjjjjjjjjjjjkjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkjjjkjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkjjjjkjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkjjjjjjjjjjjjjjjkjjkjjjjjjjjjkjjjkkkjjjkjjjjjjjjjjjjjjjkjjjjjjjjjjjjjjjjjjjjjjjjjjkjjjkkjjkjjjjjjkjjkkkjjjjjjjjjjjjkjjjjjjjkjjjjjjjjkjjjjjjjjjjjjjjkkjjjjkjjjjjjkkkkjjjjjjkjjjjjjjjjjjkjjjkkjjjjjjjjjjjjjjjjkjjjjjjjjjjjjjjjjjjjjjjkjjjjjjkjjjjjjjjjjjjjjjjjjjjjjjkjjjjjjjjjjjjjjkkjjjjjjkkjjjjjjjjjkjjjjkjkjjjjjjjkjjjjjjjjjjjjjjjjjjjjjjjjjjjjkjjjjjjjkjjjjjjjjjjjjjjjjkjjjjjjjjjjjjjjjjjjjjjjjjjkjjjjjjjjjjkjjjjjjkjjjjjjjjjkjjjkjjjjjjjjjjjjjjjjjkjjjjjjjjjjjjjjjjjjjjjkjjjjjjjjjjkjjjkjjjjjjjjjjjjjjjjjjjjjjjjjjjkkjjjjjjjjjjjjjjjjjjjjjjkjjjjjjjjjjjjkjjjjjjjjjjjkjkjjjkjjjjjjjjjjjjjjjjjjkjjjkjjjjjjjjkjjjjkjjjjjjjjjjjjjjkjjjjjjjjjkjjjkjkjjjjjjjjjjjjkkjjkjjjkjjjjjjjjkjjjjkjjkjjjjjjjjkjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkjjjkjjkjjjjjjjjjjjjkjjjjjjjkjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkjjjjjjkjkjjjjjjjjkjjjjjjjjjjjjjjjkjjjjjjjjjjjjjjjjjjkjjjjkjjkjjjjjjjjjjkjjjjjjkjjjjjjjjjjjjjjkjjjjjjjkjjjjkjjjjjkjjjjjjjjjkjjjjkjjjjjjjjjjjjjjjjjkjjjkjjkjjjjjjjkjjjkjjjjjkjkjjjjkkjjjjjjjjkjjjjjjjjjjjkjjjkjjkjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkjjjjjjjjjjjjjjjjjjjjjjjjjjjkjjjjjjjjjjjjjjjjjjjkjjjjjjjjjkjjjjjjjjjkjjjkjjjjjjjjjjkjjjjjjjjjjkjjjjjjjkjjjjjjjjjjjjjjjkjjjjjjjjjjjjjjjjjjjjjjjjjkjjjjjjkjjjjjjjkjjjjjjjjkjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkkjjjjjjjjjjjjkjjjjjjkjjjjjjjjjjjjjkkjjjjjjkjjjjjjjjjjjkjjjjjjjjjjjjjjjjjjkjjjjjjkjkjjjjjjjjjkjjjjjjjkjjjjjjjjjjjjkjjjjjjjjjkjjjjjkjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkkjjjjjjjjjjjjjjjkjjjjkjjjjjjjjjjkjjjjjjjjjjjjkjjjjjjjjkjjkjkjjjjjjjjjjjjkjjjjkjjjjjjjjjjjjkjjjjjjjjjjjjjjjjjjjjjjjjjkjjjjjkkjjjjjkjjjjjjjjjjjjjjjjjjjjjjjjjjjjkjjjkjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkjkkjjjjjjjkkjjjjjjjjjjkkjjkjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkjjjjjjjjjjjjjjjjjkkjjjjjjjjjjkjjjjjjjjjjjjjjjjjkjjjjjjjjjjjkjjjjjjjjjjjjkjjjjjjjjjkjjjkjjjjjjjjjjjjjjjjjjkjjjjjjjjjjjjjjjjkjjjjjjjkjjjkjkjjjjjjjjjjjjjjjjjjjjjkjjjjkjjjjjjjjjkjjjjjjjjjjjjjjjjjjjkjjkjjjjjjjjjjjjkjjjjjjjjjjjjjjjjkjjjjjjjjjjjjjjjjjjjjjjjjjkjjjjjjjjjjjjjjjjkjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkjjjjjjjjjjkjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkjjjkjjjjjjjjjjjjjjjjjjkjjjjkjjjjjjjjjjjjjjjjjjjjjjjjjkjjjjjjjjjjjjjjjjjjjjjjkjjjjjjjjjjkjjjjjjjjjjjjjjjjjjjjjkjjjjjjjjjkjjjkjjkjjjkjjjjjjjkjkjjjjjjkjkjkjjjjjjkjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkjjjjjjjjjjjjjjjjjjjkjjjjjjjjjkjjjjjjjjjjjkjjkjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkkjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkkjjjjjjjjkkjjjjjjjjjjjjjjjjjjkjjjjjjjkjjjjjjjjkjjjjjkjjkjjjjjjjjjjjjjjjjjjjkjjjjjjjjjjjjjjjjjjjjjjjjjjjkjjjjjjjjjjjjkjjjkkjjjjjjjjjjjjjkkjjjkjkjjjjkjjjjjjjjjjjjjjjjjjjjjkjjjkjjjkkjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkkjjjjkjkkjjjjjjjjjjjjjjjkjjjjkjjjjjjkjkjjjjjjjkkjjjkjjjjkjkjjjkjjjjjjkjjjjjjkjjjjjjjjjjjjjjjjjjjjjjkjjjjjjkjjjjkjkjjjjjjjjjjjjjjjkjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkjjjjjjjjjjjjjjjjjjkjjjjjjjjjjjjjjjkjjjjkjjjjjjjjjjjjkjjjjjjjjjjjjjjkjjjjkkjjjjjjjjkjjjkjjjjjjjkjkjjjjjjjjjkjjjjjkjjjjjjjjjjjkkjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkjjjjjjjjjjkjjjjjjjjjjjjjjjjjjkjjjjjjjjjjjjjjjjjjjjjjjkjjjjjjjjjjjkjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkjjkjjjjjjjjjjjjjkjjjjjjjjjjjjjjjjjkjjjjjjjjkjjjkkjjjjjjjjjjjjjjjjjjjjjjjjjjkjjjjjjjjjjjjjjjjjjjjkjkjjjjjkjjjjjkjkjjjjjjjjjjjjjjjjjjjjjjjjjjjkkjkjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkjjkjjjkjjjjjjkjjjkjjjjjjjjjjjjjjjjjkjjjkjjjjkjjjjjjjjjjjjjjjjjjjjjjjjjjkjjjjjjkjjjkjjjjjkjjjjjjjjjjjjkjjjjjjjjjjjjjjjjjjjjjjjjjjkjjjjjjkjjjjjjjjjjjjkjjjjjkjkjjjjkkjjkjkjjjjjjjjjjjjkjkjjjjjjjjjjjjkjjjjjjjjjjjjjjjjjjjjjkjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkjjjjjjjkjjjjjjjjjjjjkjjkjjjkjjjjjjjjjjjjjjjjjjjjjjjjkjjjjkjjjjjjjjjjkjkjjjjjkkkjjjjjjjjjjjjjjjjjjjkjjjjjjjjjjjjjjjjjjjjkjjjjjjjkkjjjjjjkkjjjjjjjjjjkjjjjjjjjjjjjjjjjjjjjjjjjjkjjjjjjjjjjjjkjjjjjkjkjjjjjjjjkjjjjkjjjjkjjjjjjjjjjkjjjjjjjjjkjkjjkkjjjjjjjkjjjjkjjjjjjjjjjjkjjjjjjjjjjjjjjjkjkjjjjjjjjjjjkkjjjjjjjjkjjjjjjjjjjjjjjjjjjjjkjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkjjjjkjjjjkjjjkjjkjjjkkjjjjjjjjkjjjkjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkjjjjjjjjjjjjjjjjjjkjjjjjjjjjjjkjjjjjjjjjjjjjjjkjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkjjjjjkkjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkjjkjjjjjkjjjjjjjkjjjjjjjjjjjjjjjjkjjjjjjjjjjjjjjjjjkjjjjjkjjjjjjjjjjjjkjkjjjjjjjjjjjjjjjkjjjjjjjjjkjjjjjjjjjjjjjjjjjjjjjjjjkjjkjjjjjjjjjjjjjjjjjjjkjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkkkjjjjjjjjjjjjjjjjjjjjjjjjkjjjjjjjjjjjjjjjjjjjjjjjjjkjjjkjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkjkjjjjkjjjjjjjjkjjjjjjjjjjjjkjjjjjjjjjjjkjjjkjjjjjjjjkjkjjjkjjjjjjjjjkjjjjjjjjjjjjjjjjjjjkjjjjkjjjjkjjkjjjjkjjjjjjjjkjjjjjjjjjjjjjjjjjjjjjjjkjjjjkjjjjjjkjkjkjjjjjjjjjjjjjkjjjjjjjjjjjjjjjjjjjkjjkjjjjjjjjjjjjjjjjjkjjjjjkjjjjjjjjjjjjkjjjjjjjjjjjjkjjjjjjjjkkjjjjjjjjjjjjjjjjjjjjjjjkkkjjjjjjjjjjjjjjjjkjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkkjjjjjjjjjjjjjjjjjjjkjjjjjjjjjjjjjjjjjjjjjjkjjjjjjjkjjjjjjjjjjjjjjjjjjjjjjjjkjjjjjjjjjjkjjjjjkjjjjjjjjjjjjjjjkjjjjjjjjkjjjjjjjjkjkjjjjjjjjjjjjjjjkjkjjjjjjjkjjjjjjjjjkjjjjjjjjkjkjjjkjjkjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjijjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkjjjjjjjjjjjjjkjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkjjjjjjjjjjjjjkjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkjjjjkjjjkjjjjjjjjjjjjjjjjkjjjjjjkjjjjjjjjjjjjjjjjjjjjjjjjkjjjjjjjjjjjjjjjjjjjjjjjkkjjjjjjjjjjjjjjjjkkjjjkjjjjjjjjjjjjjjjjjjjjjjjkjkjjkjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkjjjjkjjjjjjjjjjjkjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkjjjjjjjjjjjkjjjjjjjjjjjjjjjjjkjjjjjjjjjjjjjkjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkjjjjjjjkjkjjjkjjkjjjjjjjjjjjjjjjjjjkjjjjjjjjjjjjjjjjjjjjjjjjkjkjjkjjjkjjjjjjjjkjjjjjjjjjjkjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkjjjjkkjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkjjjjjkjjjjjjjjjjjjjjjjjjjkjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkjjjkjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkjjjjjjjjjkjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkjjjjjjjjjkjjjjjjjjjjjjjjjjkjjjjkjkjjkkjkjjkjjjkjjjkjjjjjkjkjjjjjjjjjjjjjjjjjjjkjkjjjjjjjjjjjjjjkjkjjjjjjjjjjjkjjjjjjjkjjjjjjjjjkjjjjjkjjjjjjjjjjkkjjjjjjjjjjjjjkjjjjjjjjjjjjjjjjjkjjjjkjjjjjjjjjjjjjjkjjjjjjjjkjjkjjjjkkjkjjkjkkkjjjjjjjjjjjjjkjjjjjjkjjjjjjjjjjkjkjjjjjjkkjjjjkjjjkjkkjjjjkjjjjjjjkjjkjjkjjjjjjjjjjjjjjjjjjjjjjjjjjkjjjjkjjjjjjjjjjkjjjjjjjkjjkjjjjjkjjjjjjjkjjjjjjjjjjjjjjjjjjjjjjjjjjjkjjjjjjjjjjjjjjjjjjjjjjjkjjjjjjjkkjjjjjkjjjjjjjjjjjjjjjkkjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkjkjjjkjjjjjjjjjjjjjkjjjjjjjjjjjjjkjjjjjjjjjjjjjjkjjjjkjjjjjjjjjjkjjjjkkkjjjjjjjjjjjkkjkjkjkjkjjjjkjjkjjjjjjjkjjjkjjjjjjjjkjkjjjjjkjjjjjjjjkkkjjjjjjjjjjjjjjjjkjjjkjjjjkjjjjjjkjjkjjjjjjjjkjjkjjjjjjjjjjkjjjjjjjjjjkjjjjjjjjjkjkjjjkjjjjjjjjjjjkjjjjkjjjjjjjjjjkjjjkjjkjjjjjkjjkjkjkjjjjjjjjjjjjjkjjkjjjkjjjjjjjjjjjjjjkjjjjjjjjjjjjjkjkjjjjjjjjkjjjjjjjjjjjkjjjjjjjkjjjjjjjjjjjjkjjjjjjjjjjjjjjjjjjjkjjjjjjjjjjjjjjjjjjjjjjkjjjjjjjjkjjkkjjjjjjjjjkjjkjjkjjjjjjjjkkjjjjjjjjjjjjjjjjjjjjjjjjjjkjjjjjjjjkjjjjjkjjjjjjjjjjjkjjkjjjjjjjjjjjkjjjjjjjjjjjkjjjjkjjjjjjjjjjjjjjjjkjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkjjjjjjjjjjjjjjjjjjjjkjjkjjjjjjjjjjjjjjjjjjjjjjjjjkjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkkjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkjjjjjjjjjjjjjjjjkkkjjjjjjjjkjjjjjjjjjjjkjjkjjjjjjkjjjjjjjjjjjjjkjjjkjjjjjjjjjjjjjjkjkjjjjjjjjjjjjjjjjjjjjjkjjjjjjjjjjjjjjjjjkjjjjjjkjjjjjjjjjkkjjjjjkjjjjjjjjjjjjjjjjjjjjjjjjjjkjjkjjjjkjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkjjjjjjjkjjjjjjjjjjjjjjjjjkjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkjjkjjjjjjjjkjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkjjjjjjkjjkjjjjjkjjjjjjjjjjjjkjjjjjjjjjjjjjjkjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkkjjjjjjjjjjkjkjjjjjjkjjjjjjjjjjkjjjjjjjjjkjjjjjkjjjjjjjkjjkjjjkjjjjjjjjjjjjjjkjjjkjjjjjjjjjjjjjjkjjjjjkkjjjjkjjjkjjjjjjjjkjkkkjjjkjjkjjjjkjjkjjjkjjjjjjjjkjjjjjjjkkjjjjjjjjjjjkkjjjjjjjjkjjkjjjjjjjjjkjjkjjjkjjkjjjkjjjjjjjjjjkjjjkjjjjjjjjjkjjkjjkjjjjkjkjjjjkkjjkjjjjkjjjjjjjjkjjjkjjjkkjjjjjjkkjjjkkjjjjjjjjjjjjjjjkjkjjjjjjjjjkkjjjjjjjkkjjjjjjjkjjjkjjjkjjjjjjjjjjjjjjjjjjjjkjjjjjjjjjjjkjjjjkjjjjjjjkkjjjjjkjjjjjjjjjjjjjjjjjjjjjjjjjjjkjjjjjkjjjjjkjjjjjjjkjjjjjkjjjkjkjjjjjjjkjjjjjjjkjjjjjjjjjjjjkkjjjjjjjjjjjjjjjjjjjjkkjkjjjjjjjjjjjjjjjjjjjjjjjkjjkjjkjjjjjjjjjjjjjjkjjjjjjjjjkjjjjkjjjjkjjjjjjkjjjkjjjjkjjjjjjkjjjjjkkjjjjjjjjjjjjjjjjjjkjjjjkjjjjjjjjkjjkjjkjjkjjjjjjjjjjjjjjjjjjkjjkjkjjjjjjjjkjjjjjjjjkjjjjjjkjjjjkkjkkjjjjjkjjjkjjjkjjjkjjjjjkkjjjjjjjjjjjjjjjjjjjjjkjkkjjjjjjjjjjjjkjkjjjjjkjjjjjjjjjjkjjjjjjjjjjjkjjkjjjjjjjjkjjjjjjjjjjjkjjjkjjjjjjjjjkjjjkjjkkjjjjjjjjjjkjjjjjjjjjkjjjjjjjjjjjjjjjkjkjjjjjkkjjjjjjjjjjjjjkjjkjjjjjjjjjjkjjkjjjjjjjkjjjjkjjkjjjjjjkjjjjjjjkjjjjjjjjjjjjkjjjjjjjjjjjjkjjjkjjjjkjkjjjjjjjjkjjjjjkjjjkjjjjjjjjjjjjjjjjkjjkjjjjjjjjjjjkjjjjjjjjjjjjjjkjjkjjjkjjjjjjjkjjkjjjjjjjjjjkjjjkjkkkjjjjjjjjjjjjjjjjkjjjjjjjjjjjjjjjjjjjkjjjjjjjjjjjkjjkjjjjjjjjjjjjjkjkjjjjkjjjjjkjjkjjkjjjjjjjjjjjjjjjjjkjjjjjjjjjjjkjjjjjjjkjjjjjjjjjjjjjjkjjjjjjjjjjjjjkjkjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkjjjjjjjjjkjjjjkkjjjkjkjjjjjjjjjjjkkjjjjjjkjjjjjjjkkjkjjkjjjkjkjjjkjjjjkjjjjkjjjjjjkjjjjkjkjjkjjjjjjjjjjjjjjjkjjjkjkjjjjjjjjjjkkjkjjjjkjjjjkjjjjjjjjjjjjjjjkjjjjjjjjjkjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkjjjkjjjjjkjjjjjjkkjjjjjjjjjjjkjjjjjjjjkjjkjjjjkjjjjjjjjjjjjjjjjjjjjkkjjjjjjjjjjjjkjjkjkjjkkjjkjkjjkjjjjjjjjjjjjjjkjjjjjkjkjjjjkkjjjjjjjkkjkkjjjjjjjjjjjjjjjjjjjkjjjjjjjjjjjkjjjkjjjjjjjkjjjjjjjjjjjjjkjjjjjjjjjjjjjjjjjjjjkjjjjjkjjjjjjjjjjjjjjjkjjjjjjjjkjjjkkjjjjjjjjjjjjjjjjjkjjkjkjjjjjjjkjjjjjjkjjjkjjjjjjjjkjkjkjjjjjjjkjjjjjjjjjkjjjjjjjjjkjjjjjjjjjjjjjjjjjjkjjkkjkjjjjjjjjjjjjjjjjjjjjjjjkjjjjjjjjjjjjkjjjjjjjjjjjjjjkjjjjkjjjjjjjjjjjjjjjjjjjjjjjjjjjkjjjjjjjjjjjjjjjjjjjjjjjjkjjjjkjjjjkjjjjjkjjkjjjjjjkjjjjjjjjjjjjjjjjjjjjkkjjjjjjjjkjjjjkjjjjjkjjjjjkjjjjjjjjkjjjjjjjjjjjjjjjjjjjjjjkjjjjjjjjjkjjjjjjjjjjjjkjjjjjjjjjjkjjjjjjjjjjjkjjjjjjjkjjjjkjjjjjjjjjjjjjjjjjjjjjjjjjkjjjjjjjjjjjjjjjkjjjjjjjjjjjjjjjjjjjkjjjjjjjjjjjjjjjkjjjkjjjjjjkjjjjjjjjjjjjjkjkkkkkjkjjjkjjjjjjjjkkjjjjjjjjjjjjjjjjjkjjjjjjjjjjjjkjjjjjjjjjjjkjjjjjjkjjjjjjjjjjjjjjjjjjjjjjjjkjjjjjjjjjjjjjjkjjjkjjjjjjjjjkjjjjkjjkkjjjjjjjjjjjjjjkjjjjkjjkjjjjjjjjjjjjkjjjjjjkjkjjjjjjkjjjjjjjjjjjkjjjjkjjjjjjjjjjjjjjjjjjjjjjjjjkjkjjjjjkjjjjjjjjjjjjjjjjkkjjjkjjjjjkjjjjjjjjjjjjjjkjjjjjjjjjjjjjkkjjjjjjjjjjjjjkkjjjkjjjkjjjjjjkkjjjkkjjjjjjjjjjkjjjjjjjkjjjjjkjjjjkjjkkjkjjjkjjjjjjjkkkjjjjjjjjjjjjjjjjjjjjkjjjjjjjkkjjjjjjjjkjjjjjjjjjjkjjjjkjjjkjjjjjjjjjjkjjjjjjjjjkjjjjjjjjjjjjjjjjjjjjjjjjjjkjjjjjjkjjjjjjjjjkjjjjjjjjjjjjjjjjjjjjjjjkjjjjjjjjjjjjjjjjjjjkjkjjkjjjjjjjjjkkjjjjkkjkjjjjjjjjjkkjjjjkjjjjjjjkkjjjjjkjjjkjjjkkjjjjjjkjjjjkjjkjjjkjjjjjjjjjjjkjjjjjjjkjjjjjjjjjjjjjjjjjkjjjjjjjjjkkjjjkjjjjkjjjjkjjjjjjjjkjjjkjjjjjkjjjjjkjjjkjjjkkjjjkjjjjjjjkjjjjjjjjjjjjjjjjjjjjjjjkjjkjjjjjjjjkjjjjjjjjjjkkjkjkjjkjjjjjkkjjjjjkjjjkjjjjjjjjjjjkjjjkjjjjkjjkjjjjjjjjjjjjjjjkjjjjjjjjkkkjjkjjjjjjjjjjjjjjjjjjjjkjjjjjkjjjjkjkjjjkjjjjjjjjjkjjjjjkkkjjjjkjkjjjkjjjjjjjjjjjjjkjkjkkjjjjjjkjjjjjjjkjjjjjjjjjkjjjkkjjkjjjjkjjjkkjjjkjjjjjkkjjjjjjjkjjjjjjjjkjjjjjjjjjjjjkkjjjkjjkjjjjjjjjjjkjjjjjjjjkjkjjjkkjjjjkjkjjkjjjjkjjjjjjjjjjjjjjjjjjjjjjjjkjjjjjjjjjjjjjkjjjjjjjjjjjjjjjjjjjkkjjjjkjjjkjkkjjjjjjjjjjjjkjjjjkkjjjjkjjjkjjjjjjjjjjjjjjjjjjjjjjkjjjjkjjjkjjjjjjjkjkjjkjjjjjjjjkkjjkjjjjjjjjjjjkjjjjjjjjkjjjjjjjjjjkjjjjjjjjjjjjkjjkjjkkjjjjjjjjjjjjjjkjjkkjkjjkjjjjjkkjjjjkjjjjjjjjkjjjjjjjjjjkjjjjjjjjjkjjjjjjjjkjkjjjjjjjjkkjjjjjkjjkkjkjjjjjjkjjjkjjjkjjjkjkjjjjjjkjjjjjjjjjjjjjjjjjjjkjjjkjjjjjjkjjjjjjjjjjkjjkjjjjjjjkjjjjjjjjjjkjjkjjjjjjjjjjjjjkjkjkjjjjkjjjjjjjjjjjjjjjjkkjkkjjjjjkjjjjjjkjjjjjjjjjjjjjjjjjjjjjkjjjjjkjjjjjjkjjjjjjjjjjjjjjjjkjkjjjjkjjjjjjjjjjjjjjjjjjkjjjjjjjjjjjjjjjjjjjjkjjjjjjjjjjjjjjjjjjjjjjjjjjjkjjjjjjjjjjjkjjjjjjjjjjjjjjjjjjkjjjjjjkjjjjjjjjjkjjjjjjjjjjjjjjkjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkjjjjjjjjjjjjjjjjjjjjkjkjjjjjjjjjjjjjjjjjjjjjjjjkkjkjjjjjjkjjjjjjjjjjjjjjjjjjjjjkjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkjkjjjjjjjjjkjjjjjjjjjjjkkjjjjjjjjkjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkjkjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkjjjjkjjjjjjjjjjjjjjjjjjjjjjkjjjjjjkjjjjjjjjjjjjjjjjjjjjkjjjjjjjjjjjkjjjjjkjkjjjjjjjkjjjjjjjjjjjjkjjjjjjjjjjjjjjjjjkjjjjjjjjjjjjjjjjjjjjjjjjkjjjjkjjjjkjjjjkkjjjjjjjjjkjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkjjjjjkjjjjjkjjjjkjkjkjjkjjjjjjjjjjjjjkjjjjjjjjjjjjjjjjjjjjjjkjjjjjjjjjjkjjjjjjjjjjjjjjjjjjjjkjjjjjkjjkjjkjjjjjjjjjjkjjjjjjjjjjjjjkjjjjjjjjjjjjjjjjjjjjjjjkjjjjjjjjjjjjjjjjjjkjjkjjjjjjkjjjjjjjjjjjjjjjjjjjjkjjjjjjjjjjjkjjjjjjjjjjkjjjjjjjjjkjjjjjjjjjjjjjjjjjjjkjjjkjjjjjkjjjjjjkjjjjjjjjjjjjjkjjjjjjjjjkjjjjjjjjjjjjjjkjjjjjkjjjjjjjjjkjjjjjjkjjjjjjjjjjjjjjjjjjjjjkjjjjjjjjjjjjjjjjjjjjjjjjjkkjjjjjkkjjjkjkjkjjjjjkkjjjkjjjjjjjjjjjjjkjjjjjkjjjjjjjkjjjjjjjjjjjjjjjkjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkkjjjjjjjjjjjjjkjjjjjjjjjjjjjkjjkjkjjkjjjjjjjjjjkjjjjjjjjjkjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkjjjkjjjjjjjjjjjjkjjjjjjjjjjjjjkjjjjjjjjjjjkjkjjjjjjjjjjjjjjjjjjjjjjkjjjjjjjkjjkjjjjjjjkjjjjjjjjjjjjkjjjjjjjjjjjjjjjjjjjjjjjjjjjkjjjkjkjjjjjjjkjjkjjjjjjjjjjjkjjjjjjjjjjjjjjjjjjjjjkjjjjjkjjjjjjjkjjjjjjjjjjjjkjjjjjjkjkjjjjjjjjjjjjjjjjjjjjkjjjjjjjjjkjjjjjjjjjjkjjjjjjjjjjjjjjjjjjkjjkjjjjjjjjjjjjjjkjkjjjjjjjjkjkjjjjjjkjjjjjjjjkjjjjjjkjjjjjjjjjjjjjjjkjkjjjjjjjjjkjjjjjjjjjkjjkjkjjjjjjkjkjjjjjjjjjjjjjjjjjjjjjjjkjjjjkjjjjjjjjjjjjjjkjjjjjkjjjjjjjjjjkjjjkjjjjjjjkkjjjjjjjkkkjjjjjkkjjjkjjjjjjkjjjkjjjjkjkjjkjjjjkjjjjjkjjjjjkjjkjjjjjjjjjjjjjjjjjjjjjkjjjjjjjkjjjjjjjjjjjjjjkjjjkjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkjjjjjjjjjjjkkjkjkjjjkjjjjjjjjjjjjjjjjjjjjjjkjjjkjjkjjjjjjjjjjjkjjjjkjjjjjjjjkjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkjjjjjjjjjjjjjjjjjjjjjjjjkjjjjjjjjjjjjkjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkjjjjjjjjjjjjjjjjjkjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkjjkjjjjjjjjjjjjjjjjjjjjjjjjkjjjjjjkjjjkjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkjjjjjjjjjjjjjjjjjjkjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkjjjjjjjjjkjjjjkjjjjkkjjjjjjjjjkjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkjjjjkjkjkjjkjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkjjjjjjjjjjkjjjjjjkjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkjjjjjjjjjjkjjjkjjjjjjjjjjjjjjjkjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkjjjkjjjjjjjkjjjjjkkjjjjjjjjjjjjjjjjjjkjjjjjjkjjjjjjjjkkjjjjjjjjjjjjjjjjjjjjjjjjjjkkkjjjjkjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkjjjjjjjjkjjjjjjjjjjjkjjjjjjjjjjjjjjjkjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkkkjjkjkjjjjkjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkjjjjjjjjjjjjjjjjjjjjkjjjjjjjjjjjkjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkjjjkkjjjjjjjkjjjjjjjkjjjjjjkjjjjjjjjjjjkjjjjjjjjjjjjjjjjkjjjkjjjjjjjjjjjjjkjjjjjjjjjjjjjjjjjjjjjjjjjjjjkjjjjjkjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkjjjjjjjjjjjjjjjjjjjjjjjjjjjjkjjjjjjkjkjjjjjjjjjkjjjjjjkjjkjjjjjjjjjjkjjjjjjjkjjjjjjkjjjjjjjjjjkjjjjjjkjjjjjjjjjjkjkjjjjjjjjjjjjjjjjjjkjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkjjjjjjjjjjjkjkjjjjjjjkjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkjjjjjjjjjjjjkjjjjjjjjjjjjjjjjjjjjjjjjkjjjjkjjjjjjjjjjjjjjkjjjjjjjjjjjkjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkjjjjjjjjjjjjjjjjjjkjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkjjjjjjkjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkjjjjjjjjjkjjjjjjjkjjkjjjjkjkkjjjjjjjjjjjjjkkkkjjjjjjjkjjjjjjkjjjkjjkjjjkjjkjkjjkjjjjjjjjjjjjjjkjjjjjjjjkkjjjjjkjjjjjkjjjjjjjjkjjjkjjjkjkjjjjjjjjjkkjjjjkjjjjjjkkjjjjkjjjjjjkjjkkkjjjjjjjjkkjjjjjjjjjjjjjkjjjjjjjjjjjjkjkjjkjjjjjjjjjkjjkjkjjjjjjjjjkjjjjjkjjjjkkjjjkjkjkjjkjkjjjjjkjjkkjjjkjjjjjjjjjjkjjjjkjjjjkjjjjjjjjjjjjjjjkjjjjjjjkjjjjjjkkjjjjjjjjjjjjjjjjkjjkjjjjkjjkjjjjjjjjjkjjjjjjjjkjjkjjjjjjjjjkjjkjjjjjjjjjjjjjjjkjjjjjkjjjjjjjjjjjjjjjjjjjjjjjjjjkjjjjjjjjjjkjjkjjjjkjjjjkjjjjjjjjjjjkjjjjjjjkjjjjkjjjjkjjjjjjjjkjjjkjjjjjjjjjjjjkjjjjjjjjjjjjjjjjjjjjjjjkjjjkjjjjjjjjjjjjjkkjjjjjjjjkjjjjjjkjjjjjkjkjkjjjjjjjjjjjjkjjkkjjjjjjjjjjjjjjjjkjjjjjjjjjjjjjjjjkjjkjjkjjjjjjkjjjjjjjjjkjjkjjjjjjjjjjjkkjkjkkjjjjjkjkjjjkkkjjjjjjjjjjjjkjjjkjjjjjjjjjjjjkjjjkjjjjkkjjjkjjjkjjkjjjjjkjjjjjjjjjjjjkjkjjjjjjjjjkjjjjjjjkjjjjjjjjjjjjjjkjjjjjjjjjjjjjjjjkjjjjjjjjkkjjjjjjjjjkjjjjjjjjjjjjjjjjkjjjjjjjjjjjkjjjjjjjjjjjjjjjjkjjjjjjjjjjjjjjkjjjjjjjjjjjjjjjjjjjjjjkjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkjkjjjjjjjjjjjjjjjkjjjjkjjjjjjjjjjjjjjjjjjjkjjjjjjjkjjjjjjjjjjjjjjjjjjjjjjjjkjjjjjjjjjjkjjjjjjjkjjjjjjjjjjjjjjjjjjjkjjkkjjjjjjjjjjjjjjjjjjjjjjjjkjjkjjjjkjjjjjjjjjjjjjjjjjjjjjjjjkkjjjjjjjkkkjjjjjjjjjjjjjjjjjjjjjkjjjjjkjjjjjjkjjjjjjjjjjjjjjjjjjjjkjjkjkjjjjjjjjjjjjkjjjjjkjjjjkjjjjjkjjkjjkjjjjjjjjjjjjjjjkjjjjjjjkjjjjjjjkjjjjjjjjjkjjkjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkjjjjjjjjjjjjjjjjkjjjjjjjjjjjjjjjkjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkjjjjjjjjjkjjjjjjkjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkjjjjjjjjjjjjjkjjjjjjjjjjjjjjjjjjjjjjjjkjjjjjjjjjjjjjjjjjjjjjjkjjjkjjjjjjjjjkjjjjjkjjjjjjjjjjjjjjjjjjjjjjjkjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkjjjkjjjjjjjjjkjjjjjkjjjjjjkjjjjkjkjkjjjkjjjkjjjkkjkjkjjjjjjjjkjjjkjjjjjjjjjjjjkjjjjjjjjjjkkkjjjjkjjjjjjjkjjjjjjkjjjjkkjjjjjjkjjjkjjkjkjkjkjjjkjjkjjjjkjkjjjkjjjkjjjjjjjjjjjjjjjkjjkjjjjjjkjjjjkkkjjkjjkjjjjjjjkjkjjjjjjjkjjjjjjjkkkkjjjjjjkjjjjjjjkjjjjjjkjkjjkjkjjjjjjkjjjjjjjkjjjjkjkjkjjjjjkjjjjjjjkjkjkkkjkjjjjjjjkjkkjjjjjkjjjjjkjjjjjjkjjkjjjjkjjjjjjjkjjjkjjjjjjkjkjjjkjjjjjjjjkjjjjjjkjjjjkkjjjjjjjjjjjjjjjkjjjjjjjjjjjkjjjjjjjjjjjkjjjjjjjjjjjjjjkjjjjkjkjjkjjjjjjjjkkjjjjjjjkjkjjjkjjkjjjkjjjjjkjjjjjjjjkjkjjjjjjjjkjjjjjjkjjjjjjjjkjjjjjjjjjjjjjjjjjjjjjjkjjkjkkjjjkjjjjjjjkjkjjjjjkjjkjjjjjkkjjkjjjjjjjjjkkkjjkkjjjjjjjjjjjkjjjkjjjjjjjkjkjjjkjjkkjjjjjjjjjjjjjjjkjkjjjkjkkjkjkjkjjjjjjkjjjjjjjjjjjjjkjkkkjjjjjjjjkjjjkjjjjjkjjjkkjjjjjkjjjjjjjjjjjjjkkjkjjjjjkjjkkjjjkjkjjkjjjjkjjjkkjjjjkkjjjkjjjjkjjjkjjjjjjkjjjjjjjjjjkjjjjjjjjjjjjkjjjjjjkjkjjjjjjjjjjjjjjjjjkjkjjjjjjjkkjjjjjjjkjjjjjjjjjjjjjjkkjjjjjjkjjkkjjkkjjjkkjkjjjkjjjjjjjjkkjjjjkjjjjjjjjjjjjjjkjjjjjjjjjkjjjjkkjjjjjjjjkjjjjjkkjjjjjkjjkjjjjjjjjjkjjjjjjjjjkkjjjjkjjjjjjjjjkjjkjjjjkjkjjjkjjjjjjkkkjjjjkkjjjjjjjjjjjjjkjjjjjkjkjjjkjjjjkjjjkkkjjkjjjjkjjjjjjjjjjjjjkjjjjjjjjjjjjjjjkjkjkjjkjjjkjjjjjjkkjjjjjjkkjjjjjjjjjjjjjjkjjjjjjjjjjjjjjkjkjjjjjjkjjjjkjkjkjjjkjjjjkjjjkjjjjjjjjjjkjjjjjjjjjjjjjjkjjjjjjjjjjjjjjjjkjjjjjjjjjjjjjjjjjjjjjjjjjkkkkjjjjkjjkjjjjjjjjjjkjjjkjkjkjjjjjjkjjjjjjjjjjjkkjjjkjjjjjjjjjjjjjjjjjjjjjkkjjjjjjjjjjjjjjjkjjjjjjkjjkjjjkjjkjjjjjjjjjjjjjkkjjjjjkjjjkkjjjjjjjjjjjjjjjkjjjkjkjjjjjjkjjjjjjkjjjjjjjjkkjjjjjjjjjjjjjkjjkjjjjjjjjjjkjjkjkjjkkjjjjjjjjjjjjjkjkjjjjjjjjjjjjjjjjjkjjjjjjjjkjjjkjjjjjjjjjjjjkjjjjkjjjjjjjjjjjjjjjjjjkjjjjjjjjjjjjjjjjjkjkjjjjjjkkjjjjjjjjkjjjkjjjkjjjkkjjjjkjjkjjjkjjjjjjjjjjjjjjjjkjkjjjjjjjkjjjjkjkjkkjjkjjjjjjkjjjjjjjjjjjjkjjkjjjjjjjkkjjkjkkjjjjjkjjjjjkkjjkjjjjjjjjjjjjjjjjjjjjjjjkjjjjjjjjjjjjjjjkjjjjjjjjjjjkjjjjjkjjjjjkjjjjjjjjjjjjjjjjjjjjjjjjkjjjjjjjjkkjjkjjjjjjjjjjjjjjjjjjjkjjjjjjjjjjjjkjjkjkkjjjjjjkjjjjjkjjjjjkjjjjjjjjjjjjjjjjjjjjjjjjkjjjjjjjkjjjkjjjjjjjkjjjjjjjkjjjjkjkjjjkjjjjkjjjjjkjjkjjjjjjjjjjjkjkjjkjkjjjjjjjjjjjjjjjjjjjjkjjkjjjjkjjjjjjjjkjjjjjjjjjjjjjjjjjjjjjjjjkjjjjjjjkjjjjjjjjjjjjjjjjjkjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkjjjkjjjjkkjjjjjjjkjjkjjjjkjkjjjjjjjjjjjjjjjjjjjkjjjjkjjjjjjkjkjjjjjjjjjjjjkjjjjjjjjjjjjkjjjjjkkjjjjjjjjjkjjjjjkjjjjjjjjjjjjjkjjkjjjjkkjjjjjjkjjjkjjjjjjjjjkjjkkjjjjjjkjjjjjjjkjjkjjjjjjjjjjjjjjkkjjjjkjjjjkjjjjjjjkjjjjjkjjkjjkjjkjjkjjjjjjjjkjjjjkkjkkjjjjjkjjjjjjjjjjjjjjkjkjjjjkjjjjjjjjjjjjkjjjjjkjkjkjkjjjjjjjjjjjjjjjjjjjjkjjjkjjjkjjkjjkjjkjjkjjjkjjjjjkjjjkjjjjjjjjkkjjjjjjjkjjjjjjjkjjjkjjjkjjjjkjkjjjjjjjjjjkjjjjjjjjkjjjjjjjjkjjkjjjjjjjjjjjjkjkjjjkjjjkjjjjkjjkjkjjjjkjjjkjjjjjjjkjkkkjjjjjjjjkjjjjjkkjjkjkkjjjjjkjjjjkjkjkkjjkjkkkjjjjjjjjjjkjjkjkjjkjjjjkjjjjjjjjjjjjjjkkjjjjjjjjjkkjjkjjjjjjjjjjjjkjjjjjjjjjjjjjjjjjjjjjkjjkjjjjkjjjjjjjjjjjkjkjkjjjjjjkjjjjjjjjjjjjjjjjkkkjjkjjjkjjjjjjjjjjjjjjjjjjkjjjjkjjjjjjjjjkjjjjjjjjkjjkjkjjkjjjjjkjjkkjkjjkjkjjjjjjkjkjjjjjjjjjjjkjjjkjjjkjjjjkjjjjjjjkjkjjjjjjjjjjkjjjjjjjjjjjjjkjjkjjjjjjkjjjjjjjjkjjjjjkjjjjkjjkkjjjjjjjkjjjkjjjjjjjjkjjkkkkjjjjkkkjjjjjkjjjjjjkjjjjjjjkjkkjjjkkjkjjjjjkjjkjjjjjjjjjjkjjjjjjjjjkjjjjjkjjjjjjjjjjjjjjjjjjjjjjjkkjjjjkkjjkjkjkkjjjjjjjkjjjjjjjjjjjjkkkjjjkjjjjkjjjjjkjjjkjjjkjjkjkjjjjjjjjjjkjkjjjjkjjjjkjjjkkjjjjjjkjkjjjjjjjkjjjjjkjjjkjjjjjjkjjjjjjjjjkjkjjjjjkjkkjjjjjjkjjkjkjkjjkkjjkjjkjjjjjjjjjjjjjjkjkjkkkjjjjkkjkkjjjkjjjjkjjjkjjjjjjkjjjkkkjjkjjjjjkjjjjjjjjjjkjjkjjjkjjjjjjkjjjkjjjjjjjkjjjkjjjjjkkjjjjjjjjkjkjjjjjjjjjjjjjjkjjjjjjjjjjjkkjjjjjjjkjjjjjjjjkjkjjjjjjkkjjkjjjjjjjjjjkkjkkjjjjjjjjjjjjjjjkkjjkjjjjjkjkjjjjkjjjjjjjjjjjjkjjjjjjkjjjjjjjjjjjjjjjjkkjjkkjjjjjjjjjjjjjjjjkjjjjjjkkkjjkjjkjjjjjjjkjjjjjjjjjjjjjkjkjkkjkjjjkjjjjjjkjjjjjjkjjjjjjjjjkjjkjjjjjjjjjjkjjjkkkjkjjkjjkjjkjjjjkjjjjjjjkjkjjjjjkjjkjkjkjkjjjjjjjjjkjjjjjjjjjjjjjjjjjjjjjkjjkjjjjjkjjjkjjjkkjjkjjjjjjkkjjjjjkjjjjjjjjjjkjjjjjkjkkjjjkjjjkjjjjkjjjjjjjjjjjjjkjjjjjkkjjkjjjjjjjjkjkjjjjjjjkjjjjjjjkkjjjjjjjjjjjkjjjjjkjjjkjjjjjkjjjjjkjjjjjjjjjjjkjjjjjjkjjkjkjjkjjjjjjjjjjjjkkjjkjjjjjjjjjjjjjjjjjjjjjjjjjjkjjjjjjkjjjkkjjjkjkjjjjjjjkjjjkjjjjjkjkjjjjjjjjjjjjjjjjjjjjkkjjkjjkjkjkjkjjkjkjjjjjjjjkkjjjjjjjjjjkjjjjjjkjjjjjjjjkjkjjjjjjjkjjjjjjjkjjjjjjkjjjjjjjjjjjjjkkkjjjjjjjjjjjjjjjkjjjkjkjjjjjjjjjjjjjjjjjjjjjjjjkjkjjjjjjjjjjkjkjjjjjjjjjjjjjjjjjkjkjjjjjjjjjjkjjjjkjkjjkkkjkjjjjjkjjkjjjjjjjjkjjjjjjjjjkjjjjjjjjjjjjjjjkjjjkjjjkjjjjjjjjjkjjjjjjjkjkjkjjjkjjjjjjjkjjjkkjjjjjjjjjjjjjjjkjjjkjjjjjjjjkjjjkjjjjjkjjjjkjjjjjjjjjjjjjjjjjjkjjjjkjjjjjjjjjjjjjjjjjjjjjjjjjjkjjjkjjjjjjjkjjjjjjjjjjjjkjkjjjjjjjjjjjjjjjjjjjjkjjjjjjjkkjjjjkjjjjjjjjjjjjjjjjjjjjjjkjjkjkjjkkkjjjkkjjjjjjjjjjjjjjjjjjjjjjjkjjkjjjjjkjkjjjjjjjjkjjjjjjjjkjjjjjjjjjjjkjjkjkjjjjkjjjjjjjjjjjjjjjjkjjjjjjjjjjjjjjkkjjjjjjjjjjjjjjjkjkjjjkjjjjjjjjjjjjjjjjjjjjjjjjjjjkjjjjjjjjjjkjjjjjjjkjjjjkjjkjjjjjjjjjjjjjjjkjjkjkkjkjjkjkjjjkjjjjjkjkjjjjjjjjjjjkjjjjjjjkjjjjkjjjjjjkjkjkjjjjjkjjjjjkjkjjjkjjjjjjjkjjjjjjjjjjjjjjjkkjjjjjjjjjkjkjjjkkjjjjjjjjjkjjjjkjjjkjjjjjjjkjjjjjjkjjjjjjjkkjjjjjjjkjjjkjjjjjjjkjjkjjjjkkjjjjkkjjjjjjkjjjjjjjjjjjjjjjjkjjjjjjjkjjjjjjkjjjkjjjkjjjjjjjkjjkjjjjjjjjkjjjjjjkjjjkjjjjkkjkjjjjkkjjkjjkjjkjjjjkjjjjjjkjjjjkjjkjjkjjjkjjjjkkjjjjjjjkjjjjjjkjjkkjjjjjjjjjjjjjjjkjjjkjkjjjjjjjjjjjjjjjjjkjjkjjjjkjjkjjjkjkjjjjjkjjjkjjjjjjjkjkjjjjjjkjkkjkkjjjjjjkjkjjjkjjjjjjjjjjkjkjjjjkjjjjjjjkjjjkjjjjjjjjjjjjjjjkkjjjjjkjjjjjkkjkjkkjjkjkjjjjjjkkjkjjjjkjjjjjjkjkjkjkkkkjjjjjjjjkkjjjkjkjjjjkkjjjjjkjjjkkjkjjkjjkjkkjjjjkjjjjjjkjkjjjjjjjjkkjjjjjjjjjkjkjjjjkjjjkjjkjkjkjjjjjjjjjjjjjjkjjjjjkjjkkkjjjjjjkjjjkjjjjkkjjkjjkkjjjjjkjjkjkjjjjjjjjjjkjjjjkjjjkkjjjjkjjkjkjkjjkkjjjkjjjjjkjjjjjjjkjjkjjjjkjkkjjjjjjjjkjjjkjjjkjjjjjjjjjkjjjjjjjkjjkjkjjjjjkjkjjjkjkjjkjjjjkjjjjjkjjjkjkkjjkjjkjjjjjjjkjjjkjjjjjkkjjjjjjjjjjjkkjjjkkjjjjjjkjjkjjjjkjjjjjjjjjjkjjjjkjjjjjjjjjjjkjjjjjjjkjjjjjjjjjjjkjjjjjjkjjjjjjkjjkjjkjjjjkjjjjjjkjjjjjjjjjjkjkjjjjjjjjjjjjkjjjkjjjkjjjjjjjjjkjjjjjjjjkjjkjjjjkkjkjkjjjjjjjjkjjjjkjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkjjjjjkjjjjjkkjjjjkjjjjjkjjjjjjkjjjjjjjjjjjjjjjjjjjjjjjjkjjjjjkjjjjjjjjjjjjjjjjjjjjjjjjjjjkjjjjjjjjkjkjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkkjjkjjkjkjjjjjjkjjjjjjjjjjjjkkjjjjjjjjjjjjjjjjjjjkjjjjjjjjjjjjjjjjjjjjjjjjjkjjjjjjjjjjjjjjjjjjkjjjjjjjjjjjjjjjjjjjjjkjjjjjjjjjjjkkjjjjjjjkkjjjjjjjjkjjkjjjjkjjjjjjjjkjjkjjjjjjjjjjjjjjjjjkjjjjjjjkkjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkjjjjkjjjjjkjjjjjkjjjjjjjjjkjjjjjjjjkjjjjjjjjjjjjjjjjjjjkkjjjjjjjjjjjjjjkjjjjjjkjjjjjjjjjjjjjkjjjjjjjjkjjjjjjjkjjjjjjjjjjjjjjjjjjjkkjkjjjjjjjjjjjjjjkjjjjjjjjkjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkjjjjkjjjjjjjjjjjjjkjkjjjjjjkkjjkjjjjkjkjkjjjjjjjjjjjkkjjjjjjjjjjjjjjjjjjjjjkjkjjjjjjjjkjjjjjjjjjkjjjjkjjjjjjjjjjjjjjjjjjkjjjjkjjjjjjjjjjjjjjjjjjkjjjjjjkjjjjkjjjjjjjjjjkjjjjkjjjjjjkjjjkjjjjjjjjjjkjjjjjkjkjjjjjjkjjjjjjjjjkjjjjjjjjjjjjjjkjjkjjjkkjjjkkjjjjkjkjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkjjjjjjjjjjkjjjjjjjkjjjjjjjjjjjjkjjkjjjjjjkjjjjjjjjjkjjjkjjjjkjjjjjjjjkjjjjjjjjjjjjjjjjjjjjjkjjjjjjjjkjkjjjjjjjjkjjjjjjkkjjjjjjjjjjjjkjjjjjjjjjkjjjjjjjjjjjjjkjjjjjjjjjjjjjjjjjjjjjkjkjjjjjjjjjjjkjjjjjjjkjkjjkjjkjkjjjkjjjjjjjkjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkkjjjjjkkkjjjkjjjjjjjjjjjjjjjkkjjjjjjkjjjjjjjjjjjjkjjjjjjkjjjjjjjjjjkjkjkjjjjjjjjjkjjjkjkjjjjjkkjjjjkjjjjjjjjjjjjjjjjjjjjkjjjjjjjjjjjkkkjjkjjjjjkjjjjjjjkjjjjjjjjjjkjkjjjjjjjjjjkjjjjjjjjkjkkjjjjjjjjjjjjkjjjjjjjjjjkjjkjjkkkjjjjjjjjjkjkjjkjjjjjjjkjjjjjjjjjjkkkjjjjkjjjjkjkjjjjjjjjjkjjjjkjjkjjjjjkjjjkjjjjkjjjjkjjjjjjjjjjjjkjjjjjjjjjkjjjjjjjkjjjjjjjjjkkkjkjjjjjjjjjkjjjjkjjkjjkjjjjjjjjjjjjjkjjjjkjjjjjjjjjjjkjjjjjjjkjjkjjjjjjjjjjjjkjjjjjjjjkjjjjjjjjjkjjjjjjjjjjjjjjjjjjkkjkjjjkkjjjjkjjjkjjjjjjjjjjjjjjjjjkjjjjjjjjjjjjjkjjjjjjjjjjjjjjjjkjjjjjjkjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkjjjjjkjjjjjjjjjjjjjjjjkjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkjjkjjkjkjjkjjjjkjjjjjjjjjjjjjjjjjjjjjjjjkjjkjjjjkjkkjkjjkjjjjjjjjjjjjjjjjjjjjjjjjjjjkjjjjjjjjjjjjjkjjkjjjjjjjjkjjjjjjjjjjjjjjjjjjjjjjjjjjkkjjjjjjjjjjjjjjjkjkjkjkjjjjjjkjjjjjjjjjjjkjjkjjjjjjjjjjjjjkjjjjjjkkjjjjjjjjjjjkjjjjjjjkjjjjjjjjjjjjjjjjjjjjkjjjjjjjjkjjjjjjjjjjkjjjjjjjjjjjjjjjjjjjjjjkjjjjjkjjjjjjjjjjjjjjjjjjjjjjjjkjjjjjjjkkjjjjjjjjjjjjjjjjjjjjjjkjjjjjjjkjjjjjjjjjjjjjjjjjjjjjjkjjjjjjjjjjjjjjjjjjjjjjjjjjjjkjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkjjjjjjjjjjkjjjjjjjjjjjjjjjjkjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkjjjjjjjjjjjkjjjjjjjjjjjjjjjjjjjjjjjjjkjjjjjjjjjjjjjjjjjkjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkjjjjjkjjjjjjkjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkjjjjjjjjjjjjjjjjjjjjjjjjjjjkjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkjjjjjjjkjjjjjjkjjjjjjjjjjjjkkjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkjjjjjjjkjjjjjjkjjjjjjjjjjjjkkjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkjjjjjjjjjjjjjjkjjjjjjjjjjjjjjjkjjjjjjjjjjjjjjjkkjjjjjjjjjjjjjjjjjjjjjjjkjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkjjjjjjjjjjjjjjjjjjjjjjkjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkkjjjkjjjjjjjjjjjjjjjkjjjjjjkjjjjjkjjjjkkjjjjkjjjjjjjjkjjkjjjkjjjkjjjjjjjjjjjkjjkjjjjjjjjjjjjjjkjjjjjkjjjkjjjjjjjjjjjjjjjjkjjjjjkjjjjjjkjjjjkkjjjjjjjjkjjkjjjjjjjjjjjjjjjkjjjkjjjjjkjjkjjjjjkjjjjkjjkkkjkjjjjjkjkkkkkjjjjjjjkjkkjkkkjjjkkkkjkjjjjjjjkjkjjkjjjjjkjjkjjkjkjkjjjjjjjkkkjkkjjkkjjjkkkjkkjkkjjkjjjjjjkjjjjkjjkkjkjjjjjkjkjjkjjjjjkkjkjjkjjjjkjkkjjjjjjkjjjjjjjjjjkjjkjjjjjjjjjjjjjkjjjkjkjkkjjkkjjjjjkjjkjkjjkjjjjjjjkjjkjkkjjjjkjjjjjjjkjjkkjjkkkjjkjjjjkjkjkkjkjjkkkjjjkjjjjkjjkkjjkkjjjjjjjkjjjjjkjjjjjjjjjjkkjkjjkjkjkkjjjjkjjjkjkjkjjjkjjkkjjjjjkjjkkjjjjkkkjjjkjkjjkkjjjjjjjjjjjkjjjjjkjjjjkjjkjjjjjkjjkjjjkjjjjjjkjjjjjjjjjjkjjjjjjkjjkkjkkjjjjjjjjjjjkjjjkjjjjjkjjjjjjjjjjkjjkjjkjjjkjjjjkkjjjjjjkkjjjjjjjjjkjjjjkkjjjjjjjkjkkjjkkjjkjjkkjjjjkjjjjjkkjjjkjkjjjjkkkjjkkjkjjjkkjjkkkjjjjjjjjkjjjkkkjjjjjjjjjjjjkjjkjjkjkjkjkjjjjkkjkkjkkjjjjjjjkjjjkjjjjjjkjkjkjkjjjjjjjjjjjkjjjjkjjjkkjjjjjkkjjjjjkjjjjjjjjkjjjjjkkjjjjjjjjjjkjjjjjjjjjjkjjjjjjjjkjjkjjkjjkjjjkjjjjjjjjjjjjjkkjjjjjjjkjjjjjjjkkjkkjjjjjjjjkjjjjjkjjkkjjkjjjjkjkjjkkjjkjjkkjkjjjjkjjjjkjjjjjjkjjjjjjkjjkjjkkjjjjjjjjjjjjkjjjjkjjkjjjkjjjjjjjjjkkjjjjjjjkjjjkjjjjjjjjkkjjjkjjjkjjjjjjjjkjjjjjjjkjkjkjjjjjjjjjjjjjjkjjjkjjjjjjjjjjjjjjjjjkjjjjjkjjjjjkjkjkjkjkkjjjjjkjkjjjjjjjkjjjjjjjjjjjjjjjjjjjjjjkjkjkjjjjjjjjjjjjjjkjjjkjjjjjjjjjjjjjjjjjkjjjjjkjjjjjkjkjkjkjkkjjjjjkjkjjjjjjjkjjjjjjjjjjjjjjjjjjjkjjjjjjjjjkjjjjjjjkkjjjjjkjjjjjjjjjjjkjjjjjjkjjjjjjjjkjkjjjjjjjkjjjjjjjjjjjjkkjkjjjjjjkjjjjjjjkjjjkjjjjjjjjjjjjkkjjjjjjjkjjjjjjjkjjjkjjjjjjjjjjjjjjkjjjjjjjjjjjjjjjjjjjjjjjkjjjjkkjjjjjjjkjjjkjjjjjjjjjjjjjjkkjjjjjjjjjkjkjjjjjkkjjkkjjjjjjjjjkjkjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkjjkjjjjjjjjjjkjjkjjjjjjjjkjjjjjjjjjjjjjjjjjjjjjjjjjjkkjjjjjjjjjjjjjjjkjkjkjkjjjjjjkjjjjjjjjjjjkjjkjjjjjjjjjjjjjkjjjjjjkkjjjjjjjjjjjkjjjjjjjkjjjjjjjjjjjjjjjjjjjjkjjjjjjjjkjjjjjjjjjjkjjjjjjjjjjjjjjjjjjjjjjkjjjjjkjjjjjjjjjjjjjjjjjjjjjjjjkjjjjjjjkkjjjjjjjjjjjjjjjjjjjjkjjjjjjkjjjjjjjjjjjjjjjjjjjjjjjjjjjkjjjjjjjjjjjjjkjjjjjjjjjjjjkjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkjjjjjjjjjjjjjjjjjjjjjkjjjjjjjkjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkkkkkjjkjjjjkjkjjjkjkkjkkjjjkjjjkkjkkkjjkjjkjkkkjkkkjjkkkjkkkkkjjjkkjjkkkjjkkjkkjjjkkjjkkkkkkkjkkjkkkkjjkkkkkkjjkjjkkkkjkkkjjjkjjjjjjkkjkkkjkjkjjjjjjjjjkkjjkjjjjjkjkkkjjkjjjjjjkjkjkkkjjjjkjjjjjjjkjjjkjjkjjjjjjjkjjjjjjjkkjjkjkjjjkkkkkjkkjkjkjjjkjjkjkjjjjkjkjkkjkkjkjkkjjkkkjjjjjkkkkjkjjjjjkjkjkkjjkjjkkjjkjjjkjkjjjjkjjkjjjjjkjjjjkkkkkjkjjjkjkkkjjjjkjkkjjkjjkkkkjjjjjjkkjjjkkjkkkkjjjkkjjjkjjjjjkkjjjjkkkjjjkjkjjjjjkkjkkkjjkjjkjkkkjjjjjjjjjjjjkkkjkjjkjjkjjkjjjjkjjjkkjkkjjjkkjkjkjkjjjkkkkjkjkjkjjjkjkjkjkkkjkkjkjjjjjjkjjjkjjjkjkkjkjjjjkkjjkkjjjjkjjjjkjjkjjkjjjjjkkjjkjjjjkkjkjkkjkkkkjkkkjkjjkjkjkkkjkjjjjkjkjjjkjjkjjkjkkjkjkjkkjkjkjjjkkkkjjkkkjkjkjkjjkjkjjjjkjjjjkjjkkjjjkjjjjkjjjjjjkkjjkkkjjjjjkkjjkkkkjjjkjkjjkjkjjjkjjjjjjjjjjjkjjkjjjjjjjkjjjkjjjjjkjjjkjjjkkjjjkjkjkkjjjjjkjjkkjjkkjjjjjjkjjkkjkjjjkjkkkjjjjkkjjjjjjkjjkkjjkkkkjjkjjjjkkjkkkjjjjjjjjjjjkkjjjjkjjkkjkkjjjkjkkkjkkjkjjjjjjjjjkjjkjjkjjjjjkjkkjjkjkkjjjkjjjkkkjjjjjjkkjjkkjjkjjjjjjkjjjjkjjkjjjjjjkjkkjkjjkkkjkkjkjjjjkjjkjkjjjjjjkjjjjjkjjkjjkkjjjkjjjkkjjjjjkkjkkjkkjkjjjjjjjkjjjjjjjkjjkkjjkjkjjjjkjjkjjkkjkjjjjkjkkjjjkkjkjkkjjjjkkjjkjjjjjjjkjkjkjjjkjjjkjjjjjkkkkkjkkjkjjjjjjjkjkjjjkkkjkkkjjkjkjjjjkjjkjjkkjkjjjjkjkkjjjkkjkjkkjjjjkkjjkjjjjjjjjjjjkjjjkkjjjkjjjjjjjkjjjjjkkkjjjjkjkjkkjjkjjjkjjjjjkjjkjjkjkkjjkjjjjjjjkjjjjjjkjkjjkjjjjjjkjjjjkjjjjjjjkjkkjjjkjjjkkjjjjjkkjjjjkjjkjjjjjkjjjkkkjkjjkjjjjkjjjjkjkkjjkjjkkjjkjkjjjjjjjkkjkjjjjkjjjjkjjkjkkkjjkjjjjjjjkjjjjkjjjkjjjjjjjjjjjjkkjjkjkjjjjjkjjkkkjkjjkjjjjjjjjjkjjjjjjjjjkjjkjjjkjjjjjjkjjjjjjjjjkkjjjjjjkjjkkkkkjjjjjjjjjjjkjjjkjjjjjkjjjjjjjjjjkjjkjjkjjjkjjjjkkjjjjjjkkjjjjjjjjjkkjjjkkjjjjjjjkjkkjjkkjjkjjkjjjjjkjjjjjjkjjjkjkjjjjkkkjjkjjkjjjkkjjkkkjjjjjjjjkjkjkkkjjjjjjjjjjjjkjjkjjkjkjkjkjjjjkkjkkjkkjjjjjjjkjjjkjjjjjkkkkkkjkkjjjjjjjjkjkjjjjjkkjkjkjjjjkkjjjjjjjjjkjjjjjjjjjjjjjkjjjjjkjjkkjjjjjjjjjjkjjjjjjjjjjjjjkkjkjjjjjjjjkjjjjjjjjjkjjjjjkjkjkjkjkjjkjkjjkjjjjjjjkjjjkkjjjjkjjkjkjjjjkkjjjjjjjkkkkkjjjjkjjjjjjjjjjkjjjkjjkkjjjjjjkjjkkkkjkjkjkkjjjjjjkkjjkjkjkkjkkjjkjjkjkjkjjkkkkkkjkjkjkjjkkkkjjkjkkjkjjkkjjjkjkkkjkkjjjjkkkjjkkjkjjkkkkkkjkjjkkkkjjjjkjjjkjkjkkjjjjkkkkkjkjjkkkjkjjkjkkkkjkjjjjkkkjkkjkjjkjkjkkjjkkjjkkkkjjkkjkkkkkkjjjjkjjjkjjjkkkkkkkkkjjkkjjkjjkkjkjkjjjjjkkkjjjjkkkjkkkjkkjkkkjkjjjkkkjkkjkkkjjkjjkkkjkkjkjjkjkjkkkkkkjkkkjjkkkjkkkkjkjkkkjjkkjkkkkkjkkjkkkjkjjjjkjkkjkjjkkkkkkjkjkkjjkjjjjkkjjkjjkjjkjkjkjjkkjkkkjjkjjkkkkkkjjkkjkkkkjkkkkkkkjjjkjkkkjkkjjkkkjjjkkjjkjjjkjjjkjjkkkkkkkjjjjjjjkjkkjkjkkjjkjjkjjkjkjkkkkjjkkjkjjkjjkkjjkkkjkjjjkjjjjkjjjkkkkjkkkjjjkkkkjjkkjjjkkkjjkkkkjkkkkjkjjkkkkkjjkjjjkkkkjjkkjjkjkkkjkkjjjkjjjkjkjjjjjjjjjkjkkkkjjkjkkkjkjkkjkkkkkkjjkkkjkjjkjjjkkkjjjkjkjkkjkjjkjjjkkjjjjkjkjkkkjjkjjkkkjkjkkjjjkkjkjjkjkkkjkkjkkkjjkkjjkjjkkkjkkjkkjkkjkjkjkjkkkjkkjkjkjkjkkkjjjkjjkkjkjjjkkkkkkjkkjjkjjjkkkjjjjkkkkjjkkkkjkkjjjjkkjkkkjjjkkkkjjkjjjkkkjjjkkkkjjkjkjjkjjkkjkkkjkkkkkkkkjjjjkjkkjkjjkkjkjjkkjjjjkkkjjkjkkkjkjkjjjjjjjkkjkjkkkjjkjkjjjjjkjjjkkjjkkkkkjjkkjjkjjkkjjkjkjkjkkkkjkkkkkjjkkkjjjkjjjkjjjjjjkkjjjkkkkkjjjjkkjkkkkjjkjjjkkjkkkkkjjjjkkkkkjjjjjkkjjjjjkkkkjkjjjjjjkjkjkjjjjkjkkkjkjkjjjkkjkkjkkkjjkkjkjjkkkkkjjjjkkjkkkkjjkjjjkkjkkjkkjjjjkkkkkjjjkjkkjjjjjkjkkkkjjjjjjkjkkkjjjjkjjkjjkjkjjjkkjjkjkkkjjkkjkjkjkjjjjjkkkkjkkkjkjkkjkkkjjkjkjjjjjjkjkjkkjkkjjjjjjjjjkkkjjkkjjkkjjjjjkjkjkjjjjkjkjkjjjjkjjkkkjjjkkjjkjkjjjjjjjkjkjjjjjjjkjkjjjjkjkkjjjkkkkjjjjkkkkjkjjjjkjjjjjkjkkjjjjjkkkjjkjkkkjjjjkkjkkkjjkkjjjjjjjkjjjjjjjkjkjjkjjjkkjkkjjjkjkkkkkjkjjjkjjjjjjjkjkkjkkkjkjjjkjjkjjjjjjkkjkjkjkjjjkkkjjkjkjkkjjkjkjkjkkkjkkjkjjjjkjkjjjkjjkkjkkjkjjkjkjjjkjkjjjkjjjjkjjkjjkjjjkjkkjjjjjjjkkjkjkkjkkkkjkkkjjjjkjkjkkkjkjjjkkjkjjjkkjkjjkjkkjkjkjkkjkjkjjjkkjjjkkkkjkjkjkjjkjkjjjjkjjjjkkjkkjjjkjjjjkjjjkjjkkkjkkjjjjjkkkjjkkkkjjjkjkjjjjkjjjkkjjjjkjjjjjkjjkjjjjjjjkjjkjjjjjkjjkjjkjjkjkjkjjkjjjkkjjjjjkkjjjkjjkkjkjjjjjkkjkkjjjkjjjjkjkkjjkkkkkjjkjjjjkjkjjkkjjkjjkkjkjkkkjjjkjkkkkkjjjjjjkjjkkjjjjkjjjjjkjjjjjkkkkjkjjjkkjjjkkjjjjjkjjjjkjjjjkjjjjjkjkjkkkjkjkkkjkkkkjjkjjjjkjkjjkjjkkkkkkkkjkkjjkkkkkkkkkjkjjkkkkkkkkkjkkkkkkkjkjjkkkjjkkkkkkkjkkjkkkjkkjkjjkkjkkjkkkkkkkkjjkkkkjkkjjkkkkkkjkjkkkjkkjkjkkjkkkkkkkkkkkjkkjkkkkkkjjkjjjjjkjkkkjkkkkkjjjkkkjkkkkkkkkjkkjkjjkkjkjjkjkkkkjjjjjkkkkjkkkkjkkkkjkkkkkkkjkkjjjkkkkjkkkkjjjjkkkkjkjkjjjkjkkjkjkkkkjkjkkkjkkjkkkkkkkjjkkjkkkkkkjkkkkjjkkjkkkkjkjkkjkjkkkkjkjkkjkkkkjkkkjkkjjkkjjkjjkkkjkjkjkkkjjjkkjjjkkkkjkjkjkkkkkjkkkkkjkkkkkjjkkjkkkjjkkjkkkkjkkkjkjkjjkkjjkjkkkkkkjjkkkkkjkjkkkkjkkkjjkjjjkkkjjjjkkkjjkkkkkkjkkkkjkkjkkkjkkjkjkkjkkkkkkkjjkkkjkkkkjkkkkkjkkkkkkkkkjjkkjjjjkkkkkkkkjkkjkjjkjjkjkjkkjkjjkkkkjjkjkjkjjkjjjkkkkjkjjkjkjkkkkkjjkkkjkjkkjkjjkjkjjjkjjjkjjkjkkkkkjjkkjjkjjjkkjkkkkjjkkkjjjjkjkjkjkjkkkkjkjkjkkkjjjkkkjjjkkjjkkkkkjjkkjjjkjjkjjjkkkkkjjkkkjjkkkkjkjkkkjkkkkkjkkjjjjjjkjkkkkjjkkjkkjkjkjjjjjkkjkkkkkjkkkkjkkjkjkkjkkjkjkkjkjjkjkkjkkjkkkkkkkjkjkkkjkkkkkkkkkkkjkkkjkjkjjjkkkjkjkkkkkjkkkkjkjkjjkjjkkkjjkjjkkkjjjjkkkjkjkkjkjjkjjkjkkjkjkkkjkkkjkjjjkjjkkjkkjjkjkkkkkjkjkkkkjkjkkkjjjjkjjkjkkjjkkkjjkjkkkjkkjkkkkjkkjkkkjjkkjkjkkjjkkkkjkkkjjjjjkjjjkkkkjkjjkjkjkjjjkjjkkkjkjkjkkkkkkjkkkjjkkjjkkkkjjjjkjkjjkkjkkkjjkkjkjjkkkkjkkjjkjjjjkkkkkjkkjjjjjjjjjjjkkjkjkjjkjkkjkkjjjkkjkjkjjjjkkkjkkkkkkkjjkkkkkjjjjjkjkjjjjkkjkjjkkjjjjkjjkjjkkjkkjjkkkjkkkjkjkkjjkkjjkkkjjkjkkkkkkjkjkjkkjjkkkjkkkjkkjjkjkjjkkkjkkkjjkjkkjkkkjkjjjkjjkjkkkjkkjkkkkkjkjkjjjjkjjjjkkkkjkkkkjkkkjjkjkjkkkkkkjjkkjjkjjjjjkjkkjjkjkjjkkkkjkkkjjkkjjjkjkkjjjkkkkkjkjkjjkjkkkkjkjjjkjkjkjkkkkkkjjjkjjkjkjkjkjjjjjjjkkkkjjjkkkkjjkkkkjkjjjkkkjjjkkjkkkjjkkkkkkjkkkkjjkjjjkkkjkjkjkjkjjjjkkkkkjkjjkkjkkkjkjjjjkkkjkjjkkjjjjkjkkjjjkjjjjjjjjjjkkjkjkjkjjjjjjkkkkkkjjjkkkjkjjkkjjjjkkjkjkjkkjkkkkkjkkjkjkkkkjjkjkkjkkkkjkjkjkkkjjjkjkkjkjjjjjjjjkjjkkjjjjjjkjjkkjjjjjjjjjjkjkkkjkjjjjkkkjjjjkkjkjkjkkjjkjjjkkjjjjjjkkkjjkkjkjkjjjkjkjjkkjkjkjkjjkjjkjkkkkjkkkkkjjjjjjkkkjjkjjkjkkkjjkjjkjjjkkjjkjjkkkkkjjkkkkkkjkkkkkkkjjjjjkkjkkkjjjjjjkjkjkjjjkkjjkkjjkkkkkjkkjkjjkjjkkkjjjjjkkjjjkkjjkkkjkkkjkkjjkkkkjjjkkjjkkkjkkjkkkkkkkkkkkkkkkkjjkjkkkkkkjkjkkkkkkkkkkkjkjkkkkkkjkkkkkkkkkkkjkkkkkkkkjkjkkkkkkkkkkkkkjjkkkjkkjkkjkjjkkkjjkkkjjkjkkkjjkjkkkkkjjkkkkkkjkkkkkkjkkkkjjjjkjkjkkkkkkkkkkkkkkjkjkkkjjkjjkkjkkjjkkjkkkjkjkkkjjjkkjkkjkjjjkjkkkkjkkjkkjjkkjkjkkkkkkkkjjkkkkkkjkkkkkkjkkkjkkkjkkkkkkkjkkkkkkkjjjjkkkkkkjjkjjkkkkkkkjkkkkkjkkjkjkjkkjkjkkkkkkkkkkkjkjkkkkkjkkjkkkkkjkkkkkkkjkkkjkkkjkkkkkkkjkkkkkkkjjjjkkkkkkjkkjjkkkkkkkjkkkkkjkkjkjkkkkjkjkkkkkkkkkkkjkjkkkkkkkkjkkkkkjkkkkkjjjjjkkjkkkkkjkkkjkkkkkkjkkkkkkkkkkjkkjkkkkkkkkkkjkkkkkkjkkjkkkkjkkjkkkkjkkjkjjkkkkkkkkkjkkkjjkkkkkkkkkjjkjkkkkkkkjkkjkkkjkkjkjjkjkjkjkkkjkkkkjjjkjkkkkkkjjjjkkkjkjkjkjjkjkjkkkjkjkjkkjjkjkkkkkkkkkjjkkkjjjkkkkkkjkkkjkkkkkkkjkkjkjjkkkkjkkkjkkkjjjjkkkkkkjkjkkkkkkjkkjkkjkjjkjkkkkjkjjkkkkkjjkkkkkjkkkkkkkjjkkkkkjkjkkkkkjjkkjjkkkkkkjkjjjkkkkkjkjkkkjjkkjkkjkkkkkjjjkjjjkjkkkkjkkkkkjkkjkkjjkkkkkjjjkkkkkkjkkkkkjkkkkkkjjkkkkkkjkkjjjjkkkjjkjjkjkkkjkjjkkjkjkkjjkkkkkjjjjjjkkkjjjkkkkkjkkjjkjkkkkjkkjjjkkkkkjkkkkkjkjkkkkkkkkjkkkjkkkkjkjkkkkkkkkjjjkkjkkkjjjkjkkjjkkkkkkkkkjjkjkkkkkjkkkkkkkkkkkkjkkjkkjjjkkkkkkjkkkkkkkjjkjkkkjkkkjkkkjjjkkkjkkkjkjjkjjkkjjkkkjjkkkkkjkkkjjjkkkjjkjjkkkkjkkkjkkkjkkjkkkkjjkjjjkkjkkkkkjkkjkkjkkjjkjjjjkjkkkjjjkkkjkkjjkjkkjjjkkkkkjkkkkjkkkkkkjkkjkkkkjjkjkkjkkkkkkkjkkkjkkkkkjkkjjjkkkjkkkkkkkjkjjjkkkkkkkjkkjkkkkkkkjkjkkjkkkkkkjkkkkjjjkjkjjkjkkkkkkkkjjkkkkjkkkjkkkjkkkjkkjkjkkjkkkjkkkjjkkjkkjkkjkjjjjkkkkjkkkjkkkjkkjkjjkjkkjkkkkkjjkkjkjjjkjkkkkkkkkjkkkjjkkkkkkkkjkkkjjkjkkkjjkkjkjjkkkkkjjkkkkjkkjkkkjkkkjkkjkjkkkjjkkkkkjjkkkkjkkjkjkjkkkjkkkkkjkkkkkjkkjkjkkkkjkjkkkjjkkkkjkkkjjkkjkjkkkkjkkkkjkkjkkjkjjkjkkkkjkjkkkkkjjkkkkkkjjjkkkkkjjkjjkjkjkkkkkjjjkkkkjkkkkjkkjkkjjkjjjkjkkjkjkkjkjkkkkkjkjkkjkkkkjkkkjkjkjkjkkkjkkkkkkjjkjjkkkjjjkkkjjkjjjjkkkkkjjkkjkjkkjkjjjkkkkkkjkjkkkjkkkjkjjkjkjkjkkkkkkkkkjkjkkkjkjjjjjkjkkkkjjkjkjkjjkjkkkkjjjjkjkkkjkkkkjkkjkkkkkjkkjjkjjjkjjjkjjkkkkkkkjkkkkjkkjjjkkjkkkkkkkkkkkjjkkkkkjjkjkkkjkkjkkjkjjjkjkjkjkkkjjjkkkjkkjjjjjjkkjkkkkjjkjkjkkkkkkjkkkkkkkkkjjkkjkjkkkkkjkkjkkjkkkkkkjkkjkjkjkkjjjkkjjkjjkjkkkkkkkkkkkjjkjkkkjkkkjjkjkkkjkkkkjkjkkkjkkjkjjkjkkkkkkjkkkkkjkjkkkkjkkkjjkkkkkjkjkkkjkkjkkjkkjkkkjkjjjkjkkkkkkkkkjjkkkkjjkkkkkjjkkkjjkkkkkkjkkkjjjkkkjjkkkjkkkjkkkkkkkkkjkjjkkkkkkkkkjjjjjjkkkkkjkkkjkkjkjjkkkkjjkkjjkjkkkjkjkkkkkkkkkkjjkkkkkjkkjjjkjkkkkjkkjjjkkkkkkkkkjjjkkkjkkkkkkkjjkkkkjjjkkkkkkkkjjkkjkjjkkkkjkkkjkkkjkjkkjkkjkjkjkjkjjkjkkkkjkjkjkjjkkkjkkjjjkkjkkjkkkjjjkkkjkkkkkkkjkkkkkkjjkjkkkkkjkkkkkkjjkkkkkkkkkkkjkkjjjkkkkkkkkkjkkjkkkkkkkjjkkjkkkjjkkkjkkkkkjjkkjkkkkkkkkjkjkkjkkkkkkkkkkkjkjjkkkkkkkkjkkkjkjkkkkkkkkkkkkkkkkkkkjjkkkkkkjkjkkkkkkkkjkjkkkjkkkkkkjjkjkkkkkkkkkkkjjkkkkkkkkkjjkkkkkkkkkkkjkkkjjkkjkkkjkkkkkkjkjkkkkkkjjkkjkkkkjjjjkkkkkkjjkkjkjjkkjkkjjkkkkjkkkkkjjkkkjkjkkkkjjjkkkjkjkkkjjkkjjjkkjkjkkkjkjkjjjkkkkkkkkkkkkjkkjkkjjjkjkjkkkkjjkjjkjjkkkkkkkjkkkjkkkkkjkjkjjjjjkkkkjkkkjkjkkkkkjjkjkjkkkkjjkkkkkkkkkjkkkkkkjjkkkjkjkkkkkkkkjjkkkkkkjkkkjkkkkkkkkkkkkkjjkjkkkkkkkkkkkkkkkkkjkkkkkkkjkkjkkkkkkkjkjjkjkjkjjkkkkkkkkkjjkjjkjkkkkjkjkkkkkkkjkjjkkkkjkjjkkkjjkkkjkkkkkkkjkkkkkkjkjjkkjkkkkjjkjkkjkjjjkkjjjkkkkjkjkkjjkjjkjkkkkkjkjkkkkkjkjkkkkkjkkkjjkkkkkkkkkjkkkkkjkjjkjkkjkkkjjjkkkkjkkjkkjkkkkkkkkkkkkjkjjkkkjkjkjkkjjkjkkjkjjkkjkkjjkkkkkkkkkjkkkjkkkkkkkkkkkjkjkkkkkkjkkkkkjkjkkkkkkkkkkjjjkkjjkkjkjkkjkkkjkkkjjjkjkkkjkkkjkkjjkkkjkjkjkkkkkkjkjjkkkjkjkkkkkjkjjkjkjkkjjkjjkkkkjkkjjkkkkjkkkkkkkkkjkkjkkkkkjkkkkkkkkkkjkkkkjkkjjkkkkkkkjkkkjkkkkjkkkkkkkkkjjjkkkkkjjjjkjkjkkkkjjkkkjkkjkjkkkkjkkkkkjkkjkjkjkkkkjjkkjkjkjjkjjkkjkkkkjkjkkkkjkkjjkjkkkkkjkjkkjkkkkkjjkkkkjkkkkjkjkkkkkkkkkjkkkkkkkkjkkkkkkkkkkkjkkkkjkkkkkjkkjkkkkkkkjkjkkjjjkkjkkkkkkkkkkjkjjjkkkjkkkjkkjjkkjjkkjjkkkjkkkkkkjkkkkkkkjjjkkjkkkkkjkkjjkkjjkkkkkkkjkkkkkjjkkjjkkjkkkkjjjkkkjkkkkkkkkkkkkkjjkjkjjjkkkkkkkjkkjkkjjjkkjkjkkjkkkjjkjkjkkkjkjkkkkjkkkkkkjjjkkjkkjjjkkkjjkjkjkkjkkkjjjjjkkkkkkkkkkkjkjkjjkjkkjkkkkkkjkjkjkjkkjkjkkkjjkjkjjkjkkjkkjkkkkkkkkkkkjkkkkkjjjkkkkjjkjkkkkkjkkkkkkjjkkkkkkjjkjkkkjkkkkkkkkkkkkkjkjjjkkkjkkjjkkkjkjkkkkkkkjjkkkjjkjkkkkkkjkjjjjkkjjkkkkkkjjjjkkjkkjkkkkkkjkjkjkkkkkkkjjkkkkkkkkkkkkkkkkkkkkjkjkkkkkkkkkkjkjjkkkkkkkkjkjkkkkkkkkjkkjkkkkjjkkkkjkjjjjkkkjkjjkkjkkjjkkkkkkkkkkkjkkkjkjjjkjjkkjjkkkjkkjkkjkkjkkkkjjjkkkkkkkkjkkkkjjjkkjjkkjkjjkjjjkkkkkjjkkjjkkjjjjjjkkkkkjkkkjjkjkkjkjkkkkjjkkkjjjjjkkjkkjjjkjkjjjjkkjkkjkkkjjkjkkkkkjkjjkjkjjjkjkjjkkkkkkkkkjkkkkjkjjkkkjkjkjjkkjjjjkjkjkkjkkkjjjjjkkjkjkjjkkkkkkjkjkjjkkjkkjkkjjjkkkjjkkkkkjkjkjkkjjkjjkkjkjkkkkkkjkkkkkkkjkkjjjkjkkkjkjkkkkkkkjkkkkkkjjkjkkjkkkkjkjjkkjjkkjkkkkkjkkkjkkkkkkjkkkjjkkkkjkjkkkjjkkkkkkjjjkkkkkkkjkjjjkkkkjkkkkkkkkkjjkkjjkkkkkkkjkkjjjkkjjkkkkkjkjkkjjkkjkkkjkkkkkjkkkkkkkjkkkkkkjkkjkkkjkkjjkjkjkkkkkjjkkkkjkkjkjjkkjkjjkkjkkkjjjkkkkkkkkjkkkkkkkkkjkkkkkkkjkjkjkkjkkkjkkjkkkkjjjkjkjkjkkkkjkkkjkkkkjjkkkkkkkkkkkkjjkkkkkjjkkjkjkkkjkkjjkjkkjkkkkkkkkkkjjkkjjkjkkkjkkkkkkkkkkjkkkjkkkjkkkkkjkkjkkjkkjkjkkkkjkjkkjjkkkkjkkkkjkkjkkjkkkkkjjkjkkkkkkjkkjkjjkkjjjjkkkjkkkkkkjkkjjkkjkkjjkjkkkkjjkjkjjkkkkjjkjkkjjkkkjkkjjjkkkkkkkkjkkjkkkkjkkjkkjkkkkkkkkkkjjkkkkkkkjkkjjkkjkjkkkjjkkjkkkkjjkjkkkjjjkkkkkkkjkkkjkkjkjkjkjjkkkkkjkkkjkkkkkkkkkkkkkkkkkjkkkkkjjjkkjjkkkkkkkkkkkjkkkkkkjkjkkjkkkkkjkkjkkkjjjjkkkkjkkkkkkkjjkjkjkkkjkjkkkkkkkkkkkkkjjkkkjkkjkkkjkkkkkkjjkkjjjkjkkkkkkkkjkkkkkkkkjkjjkjkkkjkjkjkkkjjjkkkkjjkjkkkjkkkjkkkkkjkkkjkkkjkkkjkkkkkkkjkkkkkkkkkjjkjjjkjkjkkkjkkkkjjjjkkkjjkkjkkkkkkjjkkkkkjkjkkjjkkkjjjkjjkkkjkkkkjkkkkjkkkkkkkjkkjkkkjjkkjkkkkjjjjkkkkkjkjkkkkkkkkjkkkkkkkjkkjkkkkkjkjkjjkkkkkkkjkjjkkkkkkkjkkjjkkjkkjjkkkkjkkjjkjkkjkkkkkkkjkkkkkkkjkkkkkkjkkkkkkkkjjkjkjkkkjkkjkkkjkjkjkkkkjkjkkkjkkjkjkjjkkkkkkkkkkkkjkkkkkkjjjkkkkkkkkkkkkjkkjkkkjkkkkkkkkjkkjkkkkjkkkkkkkkkkjjkjjkjkkkjkjjkkkkkkkjjkkkkkkkjkkkkjkkkkkkkjkkjkkkkjkjkkjkkjkkkkkjkkkkkkjkjkjjkjjkkkkkjkkjjkkjjkkkkkjkkkkkkjkjkkkkkjkkjkkjkkkkjkkjkkkjkjkkjjkkjkkkjkjkkjkjkkkkkkkkkkjkjkkkkjkjkkkkkkkjjkkkkkkjkkjkkjkjkjjkkkkjkkkjkkkkkkkkkjkkkkkjkjkkjkkjjkkkjkkjkjjkjkkkkkkkkkkkjkjkkkkjkkkjkkkjkkkkkkkkkjkkkkjkkjjkjkkjkkkkkkkjkjjkkkkkkkkkkkjjjkjkkjjkkjkkkkkjjkkkkkjkkkkkkkkkkjkkjkkkkjjkkkjkkkkjkkjkkkkjkkkjkkjkkkkkjjjkkkjkkkkkkkkkkkjkjjkkkkkjkkjkjkkkkkkjkkkjkjjkkjkkkkkkkkkjkkkkjjkjkkkkjkkkkkkkkkkkkkkkkjkkjkkkkjkjjkkkjkjkjjkkjkkjkkkkkkjkkjjkkkkkkkkjjkjjkkkkjkjkkkkkjkkkkkjkjjkkkjkjkkkjkkjkkjjkkkkjjkkkkkkjkkkjjkkjkkkjjjkkkkkkjkjkjjkkjkkjjkkkjjjkkjkjkkjkkkkkjkkkkkkkjkkkkkkkkkkkjjjkjjkjkkjkkkjjkkkjkjkkjkjkkkjkkkjjkkkkkkkjkjjkkjjkkjkkkkjkkjkkkjkkkkkkkkkjkjkjkkjkkkkkkjkjkkjjkkkkkkkkkkkkkkkjkkkkkjkjkkkkkkjkjkjkjjkjkkkjjkkkkkkkkjkkjjkjkjkjjkjkjkjkkkjjjkkkkkkkjkkkkjkkkkjkkjjkkjkkkkkkkkjkjkkkkkkkjjjkjkkjkkkkkkjkkjjkkkkkkkkjjkjjkkkjkjkkkjjjkkkkjkjkjjkjkkkjkjkkkkkkkkkjkkkkkjjjkkkkkkkkjjjkkjkkkkkkkkkkkjkkkkjjjkkkkkkkkkkjkkkjkkjkkjkkkkkkkkkjkkkkkkjkkkjkkkjkkjjjkkkjjkjkkkkjkkkkkkkkkkjkkkkkkkkjkkkkkjkkkjkkjjkkkjkjkkkkkkjkkkjkjkkkjjkkkkkjkkkjjkjkkkkkkkjkkjjkkkkkkkkkkjkkkjjkkjkkjjjjkkkkkkkjkkkkkkjkkjjjjkkkkjkkkkkkjkkkkkjkkkkjkkkkkkjjkjkkkkjkjjkkkkjkjkkkjkjkkkkkkkkjkkjkjjkkkjjkkjjkkjkkkjjjkkkkkkjkkkkkkjkkkkjjkjkkjkkjkkjjjkkkjjjkjjkkjkkkkkkkjkkkjkkkjkjkkkjkkjkkkjkkjjkkkkjkkkkjjkkjkkkkkkjkjjjkkkkkkkkkkkkkkjkjkkjkkjkkjkkjjjkkkjjkjkjkkjkkjkkkkjkkjjkkkkkjkjjkkkjkkkjkjjjkkkkkkkjkjjkkjkjkkjkkkkjkkkjkkjkjkjkkkjkkjkkjjkjjkkjkkkkkkkkjkkkkkkkkjkjkkjkkkkjkkkkkjkjjjjkjkkjjkkjkkkkjkkkjjjkjkkjkkjjkkjjkjjkkkjkjjkkkkkkjkkkjjkjkjjkkkkkkkkjjjkkjkjjjkkkkjkjjkjjkjjkjjjjjkjkkjkkjjkkkjkjjkjjkkkkkkjjkkjkkkjkkkkkkjkjjkkkkkkkjkkjjkkkkkkjkkkkkkkkkkkjkkkjjkkkkkjjkkjkjkkkkkkjjkkjkkjkkkjjkjkkjkkkkkkkkkkkkjkjjjjjkkkkkkjkkkjkjkkkkkkkjjkjjjkkkkkkkjkkkkkkkjjkkkkkjkjkjjkkkkkkkkkkjkjkjjkkkkkkkkjkjkjkkjjkkjjkjkkkkjkkkkkjjkkjkkjjkkkkkkjkjjkkkkjkjjjkjkjkkkkkkkjjkjkkkkkjkkjkjjjjjjkkkjjkjjkkkkkkkkkjkkkjkjjjjkjjjjkkkkkjjjkkkkjkjkkkjkkjkkjkkkjkkjkkjkjkjkkkkkjkkkkkkkkkjkkjkkjkkjkjkkkkkjkkjkjkjkkjkkjkkjkkkjjkkjkkkkkjkjjkjjkkjjkkkkjkjkkkkkkjkkkjjjjkkkjkkjjjjkkkkkjkjjkkjjjkkjkkkkkjkkkjkkkkjkjjkkjkkjkkjkkkkkjkkjkkkkjkjkjkkkkkjkjkkkkkkkkkkkjkkkkkkkkkkjkkjkkkkkkjjkkkjkkkkjkkkkkkkkkkkkkjkjkkkkkkkjjjkkkkkjkkjjjkjkkkkkkkjjjkkkjkkkkjkkkkjkkjkjjjkkjkkkkjkkkjkkkkkkkjjjkkjkkjkkkkkjkkkjkkkjkkkkjkkjjkkkkkkkkkkkkkjkjkjkjkkkkkkkjjkkkkkkjkkjkkkkjkkkkkkkjkjjkjkkjkkjkkkkjkkkkkkkkkkkkkjkkkkjkkkkkkjkkkkkkkkkkkkjkkjkkkkkkkkkjkkkkkkkkkkjkkkkkjkkjkkjkjkkkkkjjkjkkjkjkkkkkkkkkkkkkkkkjkkkkkkjkjkkkjjkkkkjkjkkkkkkkkkkkkkkkjkkkjkkkjkkkkkkkkkkkkkjkkkjkjkkjjkkjkkkkkkkkkkkkkkkkkkkkkkjkjjkkkkjkkkkkkkkkkkkkkjkkkkjkjkkkjkjkkkkkjkkkkkjkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkjjjkjkkkkkjjkkkkkjkkkjkkkkkkkkjjkkkkkkkkkkkkkjjkjkkkkkkkkkkjkkjkkkkkkjkjkkkkkkkkjkkkkkkkkkkkkkkkkkkkjjkjkjkkjkkkjkkkjjkkkkkjkkkjjkkjkkjkkjkkkkkkkkkjjjjkjkkkkkjjjkkjkkkkjkkkkkkkjjkkkkkkkkjkkkkkkkjkjkkkkkjkkkkkkkkkjkjkkkkkkkkkkkjkkkjkjkkjkjkkkjkkkkkkkkjkkkkjkkjkkkkkkkkjkkkkkkjjjkkkkjkkkkjkkkkkkjkkkkjjkkjjkjkkkkkjjjkjkkkkkkjkkjkkkjkkkjkjjkkkkjkkkkjkjkkkjjkkkjkjkkjjkkkkkjjjkjkkkjkkkjkkjkkjjjjkkkkkjkkjjkjkkkjjkkkkkkjkkjjkkkkkkjkkkkkkkkjkkkkkkkjkkkjkkkkkkkjkkkkkjkkjjkjkkkjjkkkkkkjkkkkjjjjkkkkkkkkkjkkkjkjkkkkjjkkkkkkjkkkkkjjkkkkkkjjkkjkkjkkjjjjkkjjkkkkjkjkkkkkkkkjkkkkkkkkkkkkkjkjkkkkjkkkkkjkkjkkkkjkkkjkkkkkkjjkkkkkkjjkkkkjjkkkkkkjjkkjkkkkkjjjkkkkjkkkkjkjkjjkkkkkjkkkkjkkkkkjkkjkkkkkkjkkkkkkkjkjkjkjkkkkjjkkkkkjkjkkkkkkkkjjjkkkjjkjjjjkkkkkjkkjkkkkkkjkkkkkkkkkkkjjkkkjkjjkjkjkkkkjjkjkjkkjkkjkjkkkkjjjkkjkkkkjjjkkkkkkkkkkkkkkkkkkjkkkkkkkkkkkkkkjkkkkkkjkjjkkjkkkjkjjkkjkkjjjkkkkkkjkkkkkkkkjkkkkjkkkkjjkkjkkkjjkkkkkkkjjkkkkkjkkkkkkkjkkjkkkkkjkkjjkkkkkjkjkkkjkkkkkjkjjkkjkjkjkjkkkjjkkjkkkjkjkkjkkkkkjkjkkkjkkkjkkjjkjkkkkkkkjkkkkjkkkjjkkjkkkkkjkkkjjjjjjkjkjkkkjkkkjjkkkkkkkkjkkkjjkkjkkkkjkkkjkjkkkkkkjkjkkkjkjkjjkjkkkkkjjkkjjkkkjkkkkkjkkjkkjjkkkjkjkkkjjkkkjkjkkkjkkjkkkjkkkjkjkjjkkjkkkkkkjjjkkkkkkkjkkkkkkkkkkkjkkkkjkkkkjkjkjkkkjjkkkkjkkkjjjkkkkkkjkkjkkkkkkkkkjkjkkjkjjkkjkkjjkkkjjjkkkjkkjkkkkkjkjkkkkkjkkkkkkjkjkjjkkjjkjjjkjkjjkkjjkkkkjjkjjkkkkjkkkkkkkkkkkkjjkkjkkjkkkjkjkjkjjkkjjkkkkkjjkkjkkjkjkjkkkkkjkjkkkkjkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkjkkkkkkkkkkkjkkkkjkjkkkkkkkjkkkjkkkkkkkkkjkkkkkjkjkjkkkkkkkkkjkkkkjkkkkkkkkkkkkkkkkkkkkkkkkkkkkkjkkkkkkjkkkkjkkkkkkkkkkkkkkkkkkkkkkkjkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkjkkkkkjkkkjkkkkkjkkkkkjjkkkkjkkkkkjkkkkkkjkkkkkkkkkkkkkkkkkkkkjjkkjkkkkkjkkkkkkkkkkkkkkkkkkkkjkkkkkkkkkkjjkkkjkkkkkkkkkkkkkkkkkkkkkkjjkkkkkkkkkkkkkkkkkkkkjkkkkkkkkkkkkkjkjkkkkkkkkkkkkkkkkkjkkkkkkkkkkkjkkkkkkkkkkjkkkkjkkkkkkkkkkkkkkkkkkkkkjkkkkkkkkkkjkkjkkkkkkkjkkkjkkkkjkkkkkkkjkkkkkkkkkkjkkkjkkkkkkkkjkjkkkkkkkjkkjkkkkkkkjkkkkkkkkjkjjkkkkkkkjkkkkkkkkkjkjkkkjkkjkkkkkkkkkkkkkkkkjkkkkjkkjkkjjkkkkkkkkkjkkkkkjjkkkkkkkkkjkkjkjkkjkkkkkkkkkjkkkkkjkkkkkkkkjkkkkkkkkkkkkkjkjkkjkkkkkkjkkkkkkjkkkkkkjkkkkjkkkkkkkkkkkkkkkkkkjkkkkkjkkkjkkkjkkkkkkkkkkkkkkkkkjkjkkkkkkkkkkjkkkjkkjkkjjkkkkjjkkkkkkkkkkkkjkkkjkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkjkkkkkkkkkkkkkjjkkkkkkkkjjjkjkkkkkkjkkjkkjjjkkkkkkkkkkkkkkkkkjkkjkkkkjkkjkkkkkkkkkkkkkkjkkkkkkkkkkkkkkkkjkkjkjjkkkkkkkkkkkjkjjkkkkkkjkjkkjkkkjkkkkkkkkkkkkkjkkkkkkkjjjkjkjkkkkkjkkjkkjkkjkkkkkkkkkjkkkkkjkkkkkkkkkkkjjkkjkjkkkkkkjjkkjjkkjkkkkjkkkjkjkkkkkkkkjkkjkkkkkkkjjjkkkjkkkkkjkkjkkkjkjkkkkkkkkkkkkkkkjkkkjkkkkjjkjjkkjkjkkkkkkjjkkjjkkkkjkkjjkkjkkkkkkkkkkkkjkjkjkkkjkjkkkjkkkkkkkkjkjkkkkkjkkkkkkkjkkkkkkkkkkjkkkkkkkjkkkjkkjkjkjjkkkkkkkkkkkkkkkkkjkkjkjkkkkkkkjkkjkkkjkkkkkjjkkjjkkkkkkkkkkkkkkkkkjkkkjkkkkkkjkkkkkjkkkkjkkkkkkkkkkkkjjjkkkkkkkkkkkkkjkjkkkkkkkjkkjkjjkkjkkkjkkkkkkkkjkkkkkkkjkjkkkkkkjkkkkkkkkkkjkkkkjjjkkjkkkkjkkkkkkkkkjjkkjkkkkkkkkkkkjjkkjkkkkkjkkkkkkjkkkjkkkkkkkkjjkkkkkkkkkkkkkkkjkkkkkjkkkkkjkkjkkkkjkjkjkkkkkkkkjkkkkkkkkjkkkkkkkkkkjkjjkjkkjkjkjkkkjkkkkkkjjkkjjkkkkkkkkkkjkkkkkkkjjkkkkkkkjkjkkkkkkkkkjkkkkkjkjkkkkkkkkkjkkkkkkkkkjkkjkkjkkkjkkkkkkkkkkkkkkkkkkjkkkkkkkkjjkjkkjkkkkkkkkjkkkjkkkkkjkkkkkjkkkkjkkkkjjkkkkkkkkkkjkjjkkkkkkkkkjjjkkkkkkkkkkjkjkkjkkkkkkkkkkkkkjkjkkkkkjjkkkkkkkkjjkkkjkkjjkkjkkjkkjkkkjjkkkkkkkkjkkkjkjjjkjkjkkkkkjjkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkjkkkkkkkkkkkkkkkkkkkkkkkkkkkjkkkkkkkkkkkkkkkkkkkkkkkkkkjkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkjkkkkkkkkkkkkkkkkjkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkjkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkjkkkkkkkkkkkkkkkkkkkkkkkkkjkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkjkkkjkkkjkkkkkkkkkkkkjkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkjkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkjkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkjkjkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkjkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkjkjkkkkkkkkkkkkkkkkkjkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkjkkkkkjjkkkkkkkkkkkkkjkkkkkkkkkkkkkkkjkkkkkkkkkkkkkkkkkkkkkkkjjkkkkkkkjjkkkkkjjkjkkkkkkkjkkkkkkkkkkkkkkkkkkjkjkkkjkkkkkkkkkkkkkkkkkkkkkjkkkkkkkkkkkkkkkjkkkkkkkkkkkkkkkkkkkkkkkkkkkkkjjjkkkkjkkkkkkkjjkkkkkkkkkkkkkkkkkkjkkkkkkkkkkkkkjkkkjkkkjkkkkkkjkkkkjkkkkkjkkkkkkkkkkkkkkjkkkkkjkjjkkkkjkkkkkkkkkkkkkkkkkkkkkkkkjkkkkkkkkkkjkkkkkkkkkkjkkkjkkkkjkkkkkkkjkkkkkkkkkkjkkkjkkkkkkkkkkjkkkkkkkjkkjkkkkkkkjkkkkkkkkjkjjkkkkkkkjkkkkkkkkkjkjkkkkkkjkkkjkkkkkkkkkkkkkkkjkkkkkkkjjkkkkkkkkkkjkkkkjjkkkkkkkkkkkkjkjkkjkjkkkkkkkjkkkkkkkkjkkkkkjkkkkkkkkkkkkkkkkkkjkkkkkkjkkkkkkjkkkkkkjkkkkjkkkkkkkkkkjkkkkkjkjkkjkkjkkkjjkkkkkkkkkkkkkkkkkkjjkkkkjkkkkkkjkkkjjkjkkjkkkkjkkkkkkjkkkjkkkkkkkkkkkjkkkkkkkjkjkkkkkkkkkkkkkkkkjkjkkkjkkkkkkkkkkkkkkkkkjjkjkkkkkkkjkkjjkkkkjkkkkkkkkkkkkkkkjkkkkjkkkkkkkkkkkjkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkjkkkkkkkkkkkkkkkkkkkjkkkkkkkkkkjkkkkkkkkkkkkjkkkkkkkkkkkkkkkkkkkkkkkkkkkkkjkkkkkkkkkkkkkkkkkkkjkkkkkkkkkkkkkkjkkkkkkkkkkkkkkkkkkjkkkkkkkjkkjkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkjkkkkkkkkkkkkkkkkkkkkkkkkkkkkkjkkkkkkkkkkkkjkkkkkkkkkkkkkkkkkkkkkkkkkjkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkjkkkkkkkkkkkkkkkkkkjkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkjkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkjkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkjkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkjkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkjkkkkkkkkjkkkkkkkkkjkkkkkkkjkkkkkkkkjkkkkkkkkjkkkkkjkkkkkkkkkkkkkkkkkjjkkkjkjkkkkjkkkkkkkkkkkkkkjkkkjkkkkkkkkkkkkkkjkkkkkkjkjkkkkkjkkkjkjkkkkkkkkjjjkkkkjkkkjkkjkjkjkkkjkkkkjkkkkkkkkkkkkkkkkkkkkkkkjkkkkkkkkkjkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkjkkkjjkkjkkkkkkjkkkkkkkkkkkkkkkkkkjkkkjkkkkkkkkkjjkkkkkkkkkkkkkkjkkkkjkkkkkjkjjkkjkkkkkkkkjkjjkjkkkkkkkkkkkkkkkkkkjkkjkkkkkkkkkjjkkkkkkkkkkjkkkkkkkkkkkkkjkkkkkkkkkkkkkkkjkkkkkkkkkkkjkjkkkkkkkjkkkkkkkkkkjkkkjkkkkkkkkkjkkkkkkkkkkkkkkkkkkkjkkjkjjkkjkkjkkkkkkkkkjkkkkkjkkkjkkkkkkkkkkkkkkjkkkkkjkkjkkkjkkkkjkkkkkkkjkjkkkkkkkkjkkkkkkkkkkkkjjkkjkkkkkjkjkkkkkjkkkkkkkkkkkkkkkjkkkkkkjkkkkkkkkkkkkkkkkkkkkkjkjkkkkkkkkkjkkkkkjkkkkkkkkkkkkkjkkkjkkkkkkkkkkkkkjkjkkkkkkkkkkkkkkkkkkkkkkkkjkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkjkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkjkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkjkkkkkkkkkkkkkkkkkkkkkkkjkkkkkkkkkkjkkkkkkkkkkkkkkkkkkkkkkkkkjkkjkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkjkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkjkkkkkjkkkkkkkkkkkkjkjkkkkkkkkkkkkkkkkkkkkkkkjkjkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkjkkkjkkkkkkkkkkkkjkkkkkkkkkkkkkkkkkkkkjkkkkjjkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkjkkkjkkkkkkkkkkkkjkkkkkkkkkkkkkkkkkkkkjkkkkkkkjkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkjkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkjkkkkkkkkkkkkkkkjkkkkkkkkkkkkkkkkkkkjkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkjkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkjjkkkkkkkkkkkkkjkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkjjkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkjkkkkjkkkkjkkkjkkkkkjkkkkkkkkkjkkjkkkjkkkkkkkkjkkjjkkkkkkkkjkjkkkkkkkkjkkkkkkkjkkkkkkkkkkkkkjkjkkkkkkkjkjkkkkkjkkjkkkkkjkkkkkkkjkjkkkkjkkkkkjkkjkkkkkkjkkkkjkkkkjkkkkkkkkjjjkkkkkkkkjkkkkkkkjkkkkkkkjkkkkkkkkkkkkkkkkjjkkkkkkkkjkkkkkkkkkkkkkkkjkkkkjkkkkkkkkkkkkkkkkjkjkkkkkkkkjjkkkkkkkkkkjkkkkkkkjkkkkkjkkkkkkkjkkkkkkkkkkkkkkkkkjkkkkkkjkkkkkkkkkkkjkkkkkjkkkkkkkjkkkkkkkkkkkkjjkjjkkkkkkjkkkkjkkkkkkkkkjkkkkkkkkkkjkkkkkkkkkjjkkkkkkkkkkjkjkkjkkkkkkjkjkjjkjkjkkkkkkkkkjkkkjkjkkkkjkkkjkkkkjkkkjkkkkkkjkkkkkkkkkkkkkkkkkjkkkkkkkkjjkkjkkjkkkkkjjjkkkkkkkkkkkjjjkkkkkkkjkkkkkkkkkkkkjkkkkkjkkjkkkkkkkkkkkkkkkkjkkjkkkjkkkjkkjkkkkkkkkjjkkkkjjkkkkkkkkkkjjkkkkkkkjkkkkkkkkkjjjkkkkkkkkjkkkkkjkkjkkkjkkkkkkkkkkjkkkkkkkkkkkkkkjjkkkkkkkkkkkkkjkkkkkkkkkkkkkkkkkkjkkkkjjkkkkkkkkkkkkjjkkkkkkjkkkkkkkkjkkkkjkkkjjkkkkkkkkkkjkkkjkjkkkjjkkkkkkkkkkkkkkjkkkkjkkjkkkkkkkkkkkkjkkkkkjkjkkkkkkkkkkjkkkkkkkkkkkkkkkkkkkjkjkkkjkkkkkjkjkkkkkkkkkkjkkkkkkjkkkkkkkkkkkkjkkkjkkjkkkkkkkkkkjkkkkjkkkjkkkkkkkkjkkkkjjkkkkkkkkkkkkkkjkkkkkkkkkkkkkkkkjjkkkkkjjkkkkkkkkkkkkkkkkkkkkkkkkkkkkkjkkkkkkkjkkkkkkkkkkkkkjjkkkkkkkkkjkkkkkkkkkkkkkkjkkkjkkkjkkkkjkkjkkkkkkjkkkkjkkkkkkkkkkkjkkkkkkkkkkjkjkkkkkkkjkkkkkkkkkkkkkjjkkkkkkkkkjkkkkkkkkkkkkkkjkkkjkkkjkkkkjkkkkkkkkkkkkkkkkkkkjkkkkkkkkkkjkkkkkjkjkkkjkjkkjkkkjkkkkjjkkkkkkkkkjkkkkkkkkkjjjkjkkkkjkjjkkjkkkkkjkjkkkkkjkkkkkkkkkkkkjkkjkkkkkkjkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkjkkkjkkkkkkkkkkkkkjkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkjkkjkkjkkkkkkkjkkkkkkkkkjkkkkkkkjkjkjkkkkkkkkkkkkkkjkkkkjkkkkkkkkkkkkkkjkkkkkkkkkkkjkkkkkkkkkkkkkkjkkkkkkkkjkkkkkjkkkkkkkkkkkkkkkkkkkkkkkjkkkkjjkkkkkjkkkkjkkkkkkjkkkkkkjkkkkkkkkjkkkkkkkkkkjkkjkkkkkkkjkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkjkkkkkkkkkjkjkkkkkkkkkkkkkkkkkkkjkkkkkkkkkjjkkkkkkkkjkkkkjkkkjkjjkkkkkjkkkkjkkkkjkjkkkkkjkkkkkkkkkkkkkkkkjkkkkkkkkkkkjkjkkkjkkkkkkkkkkkkkkkkkkkjkkkkkkkkkkkkkkkkkjjkkkkkkkkkjkkkkkjkkkkkjkkkkkkkkkkkkkjkkkkkkkjkkkkkkkjkkjkkkkkkkkkkkkkkkkkjkkkkkkkkkkkkkkkkkkkkkkkjkkkkkkkkkkkkkkkkkkkkkkkjkkkkkkkkkkkkkkjjkkkkkjkkkkkkkkkkkjkkkkjkkkkkjkkkkkkkkjkkkkkkkkkkkkkkkkkkkkkkkkkjjkkkkkkkkkkkkkkkkkkkkkkkkkkkkkjkkkkkkjkkkjkkjkkkkkkkkkjkkkkkkkkkkkkkjkkjkkkkjkkkkkkkkkkkjkkkkkkkkkkkkjkkkkkkkkjkkkkkkkkkkkkkkkkkkkkkkjkkkkkkkkkjkkkjkjkkkkkkkkkkkkjkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkjkkkjjkkjkkkkkkkkkkkkjkkkkkkkkjkkkkkjkkkkkjkkkkkkkkkkkkkkkkkjkjkkkkkkkkkkjkkkkkjkkkjkkkkkjkkkkkkkjkkkkkkkkkkkkkkkkjjkkkkkkkkkjkkkkkkkkkkkkkkkjjkjkjkkkjkkkkkjkkkkkkkkjkkkkkkkkkkkkjkjkjkkkkkkkkkkkkjkjkkkkkkkkkkkkkkkkkkkkkkkkkjkkkkkkkkkjkkkkkkkkkkkkkjkjkkkkkkkkjkkkkkkkkkkkjjkkjjjkkkkjkjkkkkkkkkkkkjkkkkjkkkkkkkkkjkkkjkkkkkjkkjkjkkkkjkjkkkkkkkkkkjkkkkkkkkjkkkkkkkkkkkkkkkkkjkkkkkkjkkkkkkjkkjkkkjkkjkjkkkkkkkkkkkkkjkjjkkjkkkkjjkjkkkkkkkkkkkkkkkkjkjkkkkkkkkjkkkkkkkkkkkjkjkkjkjkjkkkkjjkkkkkjkkkkjkkkkjkkkkkkkkkjkjjkjjkjkjkkkkkkkkjkkkkkkkjkkkkkkkkjjkkkkkkkkjkkkkjkkjjjkkkkkkkkkkkkkkjkkjkjkkjkkkkkkkkkjkkjkkkkkkkkkkkjkkkkkkkkkkkkkjkkkkjkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkjkkkjkkjkkjkkjkkkkjkkkkkjkkkjkkkkkkkkkkkkkkkkkkkkjkkkkkkkkkkjkkkkkkkkjjkkkkkkkkjkkkkkkkjkkkkkkkjkkkkkkkjjkkkkjkkkjkkkkkkkjkkkkkkkkkkkkkkkkkkkkkkkkkkkkjkkkjkkkkkkjkkkkkkkkjjkkkkkkkkjkkkkkkkjkkkkkkkjkkkkkkkjjkkkkjkkkjkkkkkkkkkkkkkkkkkkkkkkkjkkkkjkkkkkkkkkkkkkkkkkkjkkkkkkkkkkjkkjkkkkkkkkkkjkkkkkkkjkjkkjjkkkkkjkkkkkjkkkkjjkkkkkkkkkkkkkkkjkkjkkkkjkkjkkkkjkkkkkkkkkkkkkkkkkkkkkkkkkjkkkkkkkkkjkkkjkkkjkkkkkkkjkkkkkkjjkkkjkkkkkkkkkjkkkkkkkkkkkkkjkkkkkkkkkkkkkjjkkkkkkkkjkkkkkjkkkkkkkjkkkkkkkkkkjkkkjkkkkjkkkkkjjkkkkkkjjkjkkkkkkkkkkkkkjkkkkkkkkkkkkjkjkjkkkkkkkkjkkkjkkkkkkjkkkkkkkkkkkkjkkkkkkkkkjkkjkjkkkjkkkkkkkkkkkjkjkkkkkkkkkkkkkkjkkkkkkkkjkkkkjkkjkkkkkjkkkkkkkkkjkkkkkkkkkjkkkkkkkjkkkkkkkkkjkkkkkkkkkkjkkkjkkjkkkkkjkkkkjkjkkkkkkkkkkkkjkkjjkkjkkkkkkkkkkkkkkkkkjkkkkjkjkkkkkkkkkkkkkkkkjjkkjkkkkkkkkkjkkkkkjkjkjkjkjkkkkkkkkkkkkkkkjjjkkkkkkkkkkkkkjkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkjkkkkkjjkkkkjkkkkjkjjkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkjkkkjkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkjkkkkkkkkkkjkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkjkkkkkkkkkkkkkkkjkkkkkkkkkkkkkkkkkjkkkkkkkkkkjkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkjkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkjkjkkkkkkkkkkkkkkkkkkkjkkjkkkkkkkkkkkkkkkkkkjkkkkkkkkkkkkkjkkkjkkkkjkkkkkkkkkkkjkkkjkkkkkkkkkjkkkjkkkkkjjkkkkkkkkkkkkkkjkkkkkkkkjkkkkkkkkkkkkkkkkkkkkkkjkkkkkkjkkkkkkkjkkkkkkkkkkkkkkkkkkjkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkjkkkkkkkkkkkkkkkkkkkjkjjkkkkkkkkkkkkjkkkkkkkkkkjkkkkkjkkkkkkkkkkkkkkkkjkkkkkkkkkkjkkkkkkkkjjkkkkkkkkkkkkjjkkkjkkkjkkkkkkkkkkkkkkkkkkjkkkkjjkkkkkkkkkkkkkkkkkkkkkjkkkkkkkkkkkkjkkkkkkkjkjkkjkkkkkkjkkkkkjkkkkkkkkkkkkkkkkkkkkkjkkkkkkkkkkjkkkkjkkkkkkkkkkkkkkkkkjkkkkkkkkkkkkkkkkkkkkkkkkkjkkkkkkkjkkkkjkkkkkkjkkkkkkkkkjkkkkkkkkkkkkkjkkkkkkkkkkkkkjkkkkkkjkkkkkkkkkkkkkkkkjkkkkkkkkkkkjkkjkkkkjkkkkkkkkkkkkkkkkkkkjkkjjkkjjkkkjkkkkkkjkkkkkkkkkkkkkjkkkkkkkkjjkkjkkkkkkkkkkkkkkkjkkkkkkkkkjkkkkkkkkkkkkkkkkjkkkkkkkkkkkjkkjjkkjkkkkjkkkkkkjkkkkkkkkkkkkkjkkkkkkkkjjkkjkkkkkkkkkkkkkkkjkkkkkkkkkjkkkkkkjkjkjjkkkkkkkkjkjkkkkkkkkkkkkkkkjkkkkkkjkkkjkkkkkkkjkkkkkkjkkkjkkkkkjjkkjkkkkkkkkkkkkkkkkkkkkkkkkkkjkkkkkkkkkkjkkjkkkjkkkkjkkkkkkkkkkkkkkkjjkkkkkkkkkkkkkjkkkkkkkkkkkkkkkkkkkkkjkkkkkkkkkkkkkkkjkkkkkkkkkkkkkjjkkkkkkkkkkjkkkkkkkkkjkkkkkkkkkkkkkkkkkkkkkkjkkkkkjkkkjkjkkkkkkkkjkkkkkkkkjkjkkjkkjkkkkkkjkkjkkjkkkkkkkkkkkkkkkkkkkjkkkkkkkkkkjkkkkkkkkkkkkkkkjjkkkkjkkkkkkkjkkjkkkkjkkkkkkkkkkkkkjjkkkkkjkkjkkkkkkkjkkkkkkkjkkkkkkkkkkkkkjkkkkjkkkkjkkkjkkkkjkjkkkkjkkkkkkkjkkkkkkkkjkkkjjkkkkkkkkkkkkjkkjkkjjkkjkkkkkkkkkkkkkkkjkjkkkkkjkkkkkkkkkkkkjkjkkjkkkkkkkkkkkjjjkjkkkkkkkkkkkkkkkkjjkjkjkkjkjjkkkkjjkkkkkkkkjkkkkkkkkkkkkkkkkkkkkjkjkkjkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkjkkkkkkkkjjkkkkkkjkkkkkkkkkkkkkkkkkkkkkkjjkkkjkkkkkkkjkkjkkkkjkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkjkkkkkkkkkkkkkkkkkkkkkkkkkkjkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkjkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkjkjkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkjkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkjkkkkkkkkkkkkkkkkkjkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkjkkkkkkkkkkkkjkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkjkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkjkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkjkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkjkkjkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkjkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkjkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkjkkkkkkkkkkjkkkkkkkkkkkkkkkkkkkjkkkkkkjkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkjkkkkkkkkkkjkkkkkkkkkkkkkkkkkkkkjkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkjkkkkkkkkkkkkkkkkkkkjkjkkkkkkkkkkkkkkkkkjkkkjkkkkkkkkkkkkjkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkjkkkjkkkkkkkkkkkkkkkjkkjkkkkjkkkkjjjkkkkkjkkkkkkkkjkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkjkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkjkkkkkkkkkkkkkkkkkkkkkkkkkkkkkjkkkkkkkkjkkkkjkkkkkjkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkjkkkkkkkkkkkjkkkkkkkkkkkkjjkjkkkkkkkkkkkkkkkkkkkkjkjkkkkkkkkjkkkkjkkkkkkjkkjkkkkkkkkkkkkkkjkjjkkkkkkjkjkkkkkkjkkkkkkkjkkkkkkjkkkkkkkkkkjkjkkkkkkkkkkkkkkkkkkkkkkkjjkkkkkkkjkkkjkkkkkkkkkkjkkkkkkkjkjkkkkkkkkkkkjkkkjkkkkkkkkkkkkkkkkjkkkkkkkkjkkkkkjkkkkkkkkkkkkkkkkkjkkkkkkkkkkkkkkkkkjkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkjkkkkkkkkkkkkkkkkkkkkkkkkkkkjkjkkkkkkkkkkkkkkkkkkkkkjkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkjkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkjkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkjkkkkkkkkkkkjkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkjkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkjkkjkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkjkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkjkkkkkkkkkkkkkkkkkkjkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkjkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkjkkkkjkkkkkkjkkjkkkkkkkkkkkkkkkkkkkkkkkkkkjkkkkkkkkkkkkkjkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkjkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkjkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkjkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkjkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkjkkkkkkkkkkkkkjkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkjkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkjkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkjkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkjkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkjkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkjkkkkkkkkkkkkkkkkkkkkkkkjkkkkkkkkjkkkkkjkkkkkkkkkjkkkkkkkkkkkkkkkkkkkkjkjkkkkkjkkkjkkkjkkkkkkkkjkkkkkkkkkkkkkkjkkjjkkkkkkkkkkkkkjjkkkkkjkjjjjkkkkkkkkkjkkkkkkkkkjkkkkkkkkkkkkkjjjkkkjkkkkkkkkkkkkkkkjkkkkkkkkkkkkkkkkkkkkkkkkkkkjkjkkjkkjkkkkkkkkkkkkkkkkkkkkkkjkkjkkjkkkkkkkkkkkjkkkkkjkkkkkkkkkjkkkkkkkjkkkkjkkkkkkkkkkkkjkkkkkkjkkkkjkkkkkkkjkjkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkjkkkkkkjkkkkkkkjkkkkkkkkjjkkkkkkkkkkkkkkkkkkkkkkkkkjkkkkkkjkkkkjkkkkkkkkkkkkkjkkkkkkkkkkkkkkkkkkkkkjkkkkkjkkkkkkkkkjkkjkkkkkkkkkkkkkkkkkkjkkkkkjkkkkkkkkkkjkkkkkkkkkkkkkkkkkkkkkjkkkkkkkkkkkkkjkkkkkkkkjkkkkkkkkkkkkjkkkkkkkkkkkjkkjkkkkkkkkkkkkkkkkjkkkkkkkjjkkkkkkkkkkkkkkkkkkkkkkkkkkkkkjkkkkkkjkkjkkkkkjkkkkkkkkkkkkkkkkkkjjkkjkkjkkkjkkkkkkkkkkkkkkkkkkkkjkkkkkkkkkkkjkkkkkjjkkkkkkkkjjkkkkkkkkkkkkkkkkkkkkkkkkkjkjjkkkkkkkkkkkkkkkkkkkjjkkkkkkkkkkkkkkkkkkkkkkkkkjkkkkkjkkkkkkkkjjkkkkkkjkkkkkkkkkkjkkkjkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkjkkkjkkkkkkjkkkkkkkkkkkkkkkkkkkjkkjkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkjkkkkkkkkkkkkjkkkkkkkkkkkjkkkkkkkkjkkkkjkkkkkkkkkkkkkkkkkkkkkkkkjkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkjkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkjkkkkkjkkkkkkkkkkkkkjkkkkkkkkkkkkkkkkkkkkjkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkjkkkjkkkkjkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkjkkkkkjkkkkkkkkkkkkjkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkjkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkjkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkjkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkjkkkkkkkkkkkkkkkkkkkkjkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkjkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkjkkkkkkkkkkkkkkkkkkkkkjkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkjkkkkkkkkkkkkkkkkkkkkkkjkkkkkkkjkkkkkjkkkkkkkkkkkjkkkkkkkkjkkkkkkkkkkkkkkkkkkkkkkkkkkjjkkkkkjjkkkkkkkkkkkkkkkkjkkkkkkkkkkjkkkkjkjkkkjkkkkkkkkkjkkkkkkkkjkkkkkkkkkkkkkkkkkkkjjkjkkkkkkkkkkkkjkkkkkkkjkkkkkkkkkkjkkjkkkkkkkjjkkkkkkkkkkjkkkkkkjkkkkkjkjkkkkkkkkkkkkkkkkkkjkkkkjkkkkkkkjkkkkkkkkkkkkjkkkkkkkjkkkkkkjkkkkkkkkkkjkkkkjkkkjkjkjkkkkkkkkkkkkkkkkjkkkkkkjkkkkjkkkkkjkkkkkkkkkkkkkkkkkjkkkkkjkkkkkjkkkkjkkkjkkkkkkkkkjjkjkkjkkkkkkkkkkkkkkkkkkkkkkkkkkjkkjkkkjkjjkkjjkjkkkkkkkkkkkkkkkkkkkkkkkkkjkkkkkkkjkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkjkkjkjkkkkkkkkkkkkkkkkkkkkjkkkkkkkkjkkkjkkkkkjkkkjkkjjkkkkjkkkkkkkkkkkkkkkkkkjjkkkkkkkjkkkkkkjkkkkkkkkkkkkkkkkkkkkjkkkkkkkkkkkkkkkkkjkkjkkkkkkkkkkkkjkkkkkkkkkkkjkkkkkkkkkkkkkkkkkkkkkkkjjkkkjkkkkkkjkjkkkkjkkkkkkkkkkkkkkkkkjkjkkjkkkkkkkjkkkkkkkjjkkkjkkkkkkkkkkkkkkkkkkkkkkkjkkkkkkkkkkkkkkkjkkkkjkkkkkkkkkkkjkkkkkkkkkkkkkkkkkkkkkkkkjjkkkkkkkkkjkjkkkkkkkkkkkkkkkkjkkkkkkkkjkkkkjkkjkkkkkkkkkkkkkkjkjkkkkkkkkkkjkkkkkkkkkkkjjkjjkkkkkkkkkkjkkjkkkkkkjjkkjkkjkkjjkkkkkkjkkkkkkkkkkkkkkkkkkkkjjkkkkkkkkkkkkkjkkkkkkkjkkkkkkkkkkkkkkkkkkkkkkkkkjkkkkkkkkkkkkkkkkkjkkjkkkkkkkkjkkkkkkkkkkkjkjkkkkkkkkkkkkkkkkkkkkkkjkkkkkkkjkkkkkkkkjkkkkjkkkkkkkkkkkjkkkkkkkkkkkjkkkkkjkkjkkkkkkkkjkkkkkkkkkkkjkjkkkkjkkkkkkkkkkkkkkkkkjjkkkjkkkkjkkkkjkkjkkkkkkjkkkkkkkkkkkkkkkkkkkkkjkkkkkkkkkkkkkkkkkkkkkkkkkjkkjkkkkkkkkkjkjkkkkjkkkkkkkkkkkkkkkkkkjkkjkkkkkkkkkkkkkkkkkkkkkkkkkkjjjkkkkkkjjkkkkkkkkkkkkkkkkjkkkkkkkjkkkjkjkkkkkkkjkkkkkkkjjkkkkkkkkkkkkkkkkkjkkkkkjjkkkkjkkkjkkkkkkkkkkkkkkkjkkkkkjkkkkjkjjjkkkjkkkkkkkkkkkkkkkjkkkkkjkkjkjkkkkkkkkjkkkkjkkkkkjkkkkkkkkkjjkkkjkkkkkkkkkkkkkkkkkkkkkkjkkkkkkkkkkkkkkjkkkkjkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkjkkkkkkkkkkkkkkkjkkkkkkkkkkkkkkkjkkkkkjkkkkkkjkkjkkkkkkkkkkkkkkkjkkkkkkkkkkjkkkkkkkkkkkjkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkjkkkkkkkkkkkkjkjkkkkkkkkjkkkkkkkkjkkkkkkkkkkkkkkkkjkkkkkkkkkkkkkkkjkkkjkkkkkkkkkkjkkkkjkkkjkkkkjkkkkjkkkkkkkkkkkkkkkkkkkkkkkkkkjkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkjkkkkkkkkkkkjkjkkjjkkkkkkkkkkkkkkkkkkkkkkkkjkkkkkkkkkkkjkkjjkkkkkjkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkjjjkkkjkkkkkkkjkkkkkkkkkkkkkkkkkkkkkjkjkkkkkkjkkkkkkkkkkkkkkkkkkkkjkkkkkkkkkkkkkkjkkkkkkkkkkkkkkkkkkkkkkkkjkkkkjjkkkkkkkkkkkkkkkkkjkkjjkkkkkkkkjkkkkkkkkkkkkkkkjkkkkkkkkkkkkjkkkkkkkkkkjkkkkkkkkkkkkkkkkkkkkkkkkkkkkkjjjkkkkkkkkkkkkkkkkkkkjjkkkkkkkjkkkkkkkkkkjkkkkkkkjkjkjkkkjkkjkkkkkkkjkjkkkkkkkkkkjkjkkkkjkkkkkkkkkjkkkkkkkkkkkkkkkkkkkjkkkkjkkkkkkjkkkkkkkkkkkkkkkkkkkkkkkkkkkkkjkkkkkkkkkjkkkkkkkkkkkkkkkkjkkkkkkkkjjkkjjkkkkkkkkkkkkkkkkkkkkkkkkkkkjkkkkkkkkkkkkkkkkkkkkjkkjkkkjkkkkkkkkkkkkkkkjkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkjkkkkkkkkkkkkkkkjkkkjkkkkkkkkjkkkkjkkkkjkkkkjkkjkkkkkkjkkkkkkkkkkjkkkkkkkkkkjkjkjkkkkkkkkkkkkkkkkkkkkkjkkjjkkkkkjkkjkkkkkkjkkjkjkkkkkjkkkkkkkkkkkkkkkkjkkkkkkkjjkkkjkkkkkkkjjkkkkkkkkkkkkkkkkjkkkkkkjkkkkkkkkkjkkjjkkkkkkkkkkkkkkkkkkkkkkkkkjkkkkkkkkkkjkjkkkkkkkkkjkkjjkkkkkkkkkkkkkkkjkkkkkkjkkkkkjkjkkkkkkkkkkkkkjkkjkkkkkkkkjkkkkkkkkkkkjkkkkkkkjkkkkkkkkkkjjkkjkkkjkkjjjkkkkkkkkkjkjkkkjkkkkkkkjkkkkkkkkkkkkkkkkkkkkkkkjkkkkkkkkjkkkkkkkkkkkjkkkkkkkjkkkkkkkkkkjjkkjkkkjkkkjjkkjkjkkkkjkjkkkkkkkkkkkjkkkkkkkkkjkkkkkjkjkkkkkjkkkjkkkkkkkkkkkkkkkkkkkkkkjkkjkkkkkkkkjkkkkkkkkkkkkkkkkkjkkkjkkkkkkjkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkjkkkjkkkkkkkkkjkkkkkkkjkkkkjkkkkkkkkkkkkkkkkkkkkkkkjkkkkkkkjkkkkkkkkkkkkkjkkkkkkkkkkkkkkkkkkkkkkkjkkkkkkkkkkkkkkkkkkkkkkjkkkkkkkkjkkkkjkjkkkkkkkkkkkjkkkkkkkjkkjkkkkkkkkkkkkkkjkkkkkkjkkjkkkkkkkkkkkkkjjkkkkkjkkkkkjkkkkkkjkjkkkjkkkkkkkkkkkkjkkkkjkkjkkkkkkkkkkkkkkkjkkkkkkkkkkkkkjkkjkkjkkkkkkkkkkkkkkkkkjkjkkkkkkkjkkkkkkkkkkkkkkjkkkkkkkkkkjkkkkjkkkkkkkjkkkjkjkkkkkkkjkkkkkkkkkjjkkjjkkkjkkjkjjkjkkkkkkkkkkkkkkkkkkjkkkkkkkkjkkjkkkkkkkkkkjkkkkkkkkkkkjkkjkkkkkkkkkkkkkjkkkkkkkkjjkkkkkkjkjkjkkkkkkjkkkkjkkkkkkkkkkkkkkkkkkkkkkkkkjkkkkjkkkkkkkkkkkkkkkkkkjjkkjkkkkkjkkkkkkkkkkjjkkkkkkkkkkkkkkkkkkkkkkkjjkkkjkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkjkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkjkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkjkkkkkkkkkkkkkkkkkjkkkkkkkkkkkkkkkkkjkkkkkkkkkkkkkkkkjkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkjjkkkkkkkkkkkkkkkkkkkkkkjkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkjkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkjkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkjkkkkkkkkkkkkkkkkkkkkjkkkkkkkkkkkkkkkkkkkkjkkkkkkkkkjkkkkkkkkkkkkkkkkkkkkjkkjkkkkkkkkkkkkkkkkkkkkkkkkkkkkkjkkkkkkkjkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkjkkkkkjkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkjkkkkkkkjkkkkkkkkkkkkkkkkkkkkkjkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkjjjkkkkkkkkkkkkkkkkkkkkkkkkkkkkjkkkkkkjkkkkkkkkkkkkjkkkkkjkkkkkkkkkkkkkkkkkjkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkjkkkkkkkkkkkkkkkkkkkjkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkjkkkkkkkjkkkkkkkkkkkkkkkkkkkkkkkkkjkkkjkkkkkkkkkkkkkkkkkkjkkkkkkkkkkkkkkjkjkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkjjkkkkkkkkkkkkkkkkkkkkkkkkkkkkjkkkkkkkkkkkkkkkkkkjkkkkkkkkkkkjkkjkkkkkkkkkkkjkjkkkkkkjkkkkjkkkkkkkkkkkkkkkkkkkjkkkkjkkkkkkkkkjkkkkkkkkkkkkkkkkkkjkkkkkkkkkkkkkjkjkkkkkkkkkkkkkkjkkkkkkkkkkkkkjkkkkkkkkkkkkkkkkkkkkkkkkjkkkkkkkkkkkkkkkkjkkkkkkkkkkkkkkkjkkkkkkkkkkkkjkkkkkkkkkkkkkkkjkkkkkkkkkkkkkkkkkkkkkkkkkkjkkkkkjkkjjkkkkkkkjkkkkkkkkkkjjkkkkkkkkkkkkkjkkkjkkkkkkkkjkkkkkkjjkkkkjkkkjkkkkkkkkkkjkkjkkkkkkjkkkkkkkkkkkkkkkkkkkkjkkkkkkkkkkkkkkjkkkkkkkkkkkkkkkkkjkkjjjkkkjkkkkkkkkkkkkkkkkkkkkkkkkkkjkkkkkkkkkkkkkkkjkkkkjkkjkkkkkkkkjkkkkkkkkkkjkkkkjkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkjkkkkkkkkkkkkkkkjkkkkkkkkkkkkkkjkkjkkkkjkkkkjkkkkjkjkkkkkjkkkkkkkkkkkkkkkkjkkkjkkkkjkkkjkkkkkjkkkkkkjkkkkkkkkkkkkkjkkkjkkkkkkkkkjkkkkkkkjkkkkkkkkkkkkkkkkkkkkkkkjkkkkkkkkjkjkkkkkjjkkkkjkkkkkjkkkkkkkkkkkjkkkkkkkjkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkjkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkjkkkkkkkkkkkkkkkkkkkkjkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkjkkkkkkkkkkkkkkkkkkkkkjkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkjkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkjkkkkkkkkkkkjjkkkkkkkkjkkkkkkkkkkkjkkkkkkkkkkkkkkkkkkkkkkkkkkkjkkkkkkkkkkkkkkkkjkkkkkkkkjkjkkkkkkkkkkkkjjkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkjjkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkjkkkkkkkkkkkkkkkkkkkkkkkkkkkkkjkkkkkkkkkkkkkkkkkjkkkkkkjkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkjkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkjkkkjkjkkjkkkkjkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkjkkkkkkkkkkkkkkkkkkkjkkkkkkkkkkkkkkkkkkkkkkkjkkkkjkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkjkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkjkkkkkjkkkkkkkkkkkkkkkkkkkkkkkkkkkjkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkjkkjkkkkkkkkkkkkkjkkkkkkkkkkkkkkkkkkkkkkkkkkkkkjkkkkjkkkkkkkkjkkkkkkjkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkjkkkkkkkkkkkkkkkjkkkkkkjkkkkkkkkkkkkkjkkkkjkkkkjkkkjjkkkkkkkkkkkkkkkjkkkkkkkkkkkkkkjkkkkkkkkkkkkkkkkkkjkkkkkkkkkkkkkkkkkkkkkkjkkkkkkkkkkkkkkkkkkkkkkkkkkjkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkjkkkkkkkkkkkkkjkkkkkkkkkkkkkkkkkkkkkkkjkkkkkkkkkkkkkkkkkkkkjkkkkkkkkkkkkkkkkkkkkkkkkkkjkkkkkkkkkkkkkkkkjkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkjjkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkjkkkkkkkkkkkkkkkkkkkjkkkkkjkkkkkkkkkkkkjkkkkkkkkkkkkkkkkkkkkkkkjkkkkkkkkkkkjkjkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkjkkkkkkkkkkkkkkkkkkkkkkkkkkkkkjkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkjkkkkjkkkkkkkkkkkkkkjkkkkkkkkkkkkkkkkkkjkkkkkkkkkkkkjkkkkkkkkkkkkkjkkkkkkkkkkkkkjkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkjkkkkkkkkkkkkkkkkkkkkkkkkkjkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkjkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkjkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkjjkkkkkkkkkkkkkkkkkkkkkkkkjkkjkkkkkkkkkkkkkkkkkkkkkjkkkkkkkkkkkkkjkkkkkkkkkkkkkkkkkkkkkkkkjkkkkkkkkjkkkkkjkjkkkjkkkkjkkkkkkkkkkkkkkkkkkjkkkkkkkkjkkjkkkkkjkjkkkkkkkkkkkjkkkkkkkkkkjkkkkkkkkkjkkjkkkkkkkkkkkkkkkkkkkkkkkkkkkkjkkkkkkkkkjkkkkkkkjkkkkkkkkkkkkkjkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkjkkkkkkkkkkkjkkkkjkkkkjkkjjkkkkkkkkkkkkkkkkkkkkkkkkkkjkkkkkkkkkkkkkkkkkkkkkkkkkkkkjkkkkkkkkkkkkkkkkkkkkkkjkkkkkjkkkkkkkkkkkkjkkjkkkjkkkkkkkkkjkkkkkkjkkjkjkkkkkkkkkkkkkkkkkkkkkkkkjkkkkkkjkkkkkkkkkkkkkkkkkkkkkkkkkkkjkkkjkkjkkkkkkkkkkkkkkjkkjkkkkkkjkkkkkkjkkkkkkkkjkjkkkkjkkkkkkkkjkkkkkjjkkkkjjkkkkkkkkkkjkjkkkkkkkkkkkkkkkkkkjjkkkkkkkkkkkkkkkkkkkkkkkkkkjkkkkkkkkkkkkkkjkkkjkkkkkkkkkkkkkkkjkkkkkkkkkjkkkkkkkkjkkkkkkkkkkkkkkkkjkkkjkkkkkkkkkkkjkkkkkkkkkjkkkkkkkkkkkkkkkkkjkkkkkkkkkkkkkkkkkkkjkkkkkkkkkkkkkkkkkkkjkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkjkjkkkkkkkkkkjkkkkkkkjkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkjkkkkkkkkjkkkkkkkjkjkkkkkkkkkkkkkkkkkkjkkkkkkkkkkkkjkkkkkkkkkkkkkkjkkkkkkkkkkkkkkkkkkkkjkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkjjkkkkkkkkkkkkkkkkkkkkkkkkkjkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkjkkkkkkkkkkkkkkkkjkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkjkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkjjkkkkkkkkkkkkkkkkkkkkkkkkkkkjkkkkkkkkkjkkkkkkkkkkkkkjkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkjkkkkkkkjjkkkkkkkkkkkkkkjkkkkkkkkkkkjkjkkkkkkkkkjkkkkkkkkkkkkkkkkkjkkkkkkkkkkkkkkkkkkkkjjkkkkkkkkkkkkkkkkkkkkkkkkjkkkkkkkkkkkkkkkkkkkkkkkkkjkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkjkkkkkjkkkjkkkkkkkkkjkkkkkkkkkkkkkkkkkkkkkjkkkkkkkkkkkkkkkkkkkkkkkjkkkkkjjkkkjkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkjkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkjkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkjkkkkkkkkkkkkkjkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkjkkkkkkkjkkkkkkjkkkkkkkkkkkkkkkkkkkkkkkkkkkjkkkkkkkkkkkkkkkkkkkjkkkkjkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkjkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkjkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkjkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkjkkkkkkkkkkkkkkkkjkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkjkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkjkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkjkjkkkkkkkkkkkkkkkkjkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkjkkkkkkkkkkkkkkkkkkkkjkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkjkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkjkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkjkkkkkkkkkkkkkkkkkkkjjkkkkkkkkjkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkjkkkkkkkkkkkkkkkkkjkkkkkkkkkkkkkkkkkkkkkkjkkkkkkkkkkkkkkkkkkkkkkkkkjkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkjkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkjkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkjkkkkkkkkkkkkkkkkkkkkkkkkkjkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkjkkkkjkkkkkkkkkkkkkkkjkkkkkkkjkkkkkkkkkkkkkkkkkkkkkkkkkkkjkkjkkjkkjjkkkkkjkkkjkkjkkkkkkjkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkjkkkjkkkkkkkkkkkkkkkjkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkjkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkjkkkkkkkkkkkkkkkkkkkkjkjkkkkkkkkkkjkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkjkkkkkkkjkkkkkkkkkkkjkkkkkkkkkkkkkkkkkjkkjkkkkkkkkjjkkkkkkkkkkkkkkkkkkkjkkkkkkkkkkkkjkkkkkkkjkkkkkkkkkkkkkkjkkkkkkkkkkkkkkkkkjjkkkkkkkkkkkkkkkkkkkkkkkkkjkkkkkkkkkkkjkkkkkkkkkkkkkkkkjkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkjkkkkkkkkjkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkjkkkkkkkkkkkkjkkkkkkkkkkkkkkkjkkkkkkkkkkkkkkkkkkkkjkkkkjkkkkkkkjkkkkkkkkkjkjjkjkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkjkkkkkkkkkkkkkkkkkkkkkkjkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkjkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkjkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkjkkkkkkkkkkjkkkkkkjkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkjkkkkjkkkkkkkkkjkkkkkkkkkkkkkkkkkkkjkjkjkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkjkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkjkkkkkkkkkjkkkkkkjkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkjkkkkkkkjkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkklkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkjkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkjkkkkkkkkkjkkkkkkkkkkjkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkjkkkkkkkkjkkkkkkkkjkkkkkkkkkkkjkkkkkkkkkkjkkkkkkkkkkkkkkkkkkkkkkkkkkkjkkkkjkkkkkkkkkkjkkkkkkkkjkkkkkkkkkkkkkkkkkkkkkkjkkkkkkkkkkkkkkkkkkkkkkkkjkkkkkkkkkkkkkjkkkkkkkkkkkkkkkkkkkkjkkkkkkkkkkjkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkjkkkkkkkjkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkjkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkjkkkkjkkkkkkkkkkkkkkkkkkkjkkkkkkkkjkkkkkkjkjkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkjkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkjkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkjkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkjkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkjjkkkkkkkkkkkkjkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkjkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkjkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkjkkkkkkkkkkkkkjkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkjkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkjkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkjkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkjkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkjkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkjkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkjkjkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkjkkkkkkkkkkkkkkkkjkkkkkkkjjkkkkkkkkkkkkkkkkjkkjkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkjkkkkkkkkkkkkkjkjkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkjkkkkkkkkkkkkkkjkkkkkkkkkkkkkkkkkjkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkjkkkkkkkkkkkkjkkkkkkkkkkkkkkkkkkkkkkkjkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkjkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkjjkkkkkkkkkkkkkkkkkjkkkkjkkkkkkkkkkkkkkkkkkkkkkkkkkkkkjkjkkkkkkkkkkkkjkkkkkkkkkkkkkkkjkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkjkjkkjkkkkkkkkkkkkkkkkkkjkkkkkkkkkkkkkkkkkkkkkkkkkkjkkkkkkkkkkkkjkjkkkkkkkkkkkkkkkkkkkkkjkkkkkkkkjkkkkkkkkkjkkkkkkkkkkkkkkkkkkkkkkkkjkjkkjkkkkkkkkkkkkkkkkkkkkkjkkkkkkkkkkkkkkjkkkkkkkkkkkkjkkkkkkkkkkkkkkkkkkkjkkkkkkkkkkkkkkkkkkjkkkkkkkjkkkkkkkkkkkkkkkkkkkkkkkkkkkkjkkkkkkkkkkkjkkkkkkkkkkkkjkkkkkkkkkkkkkkkkkkkkkkkkkjkkkkkkkkkkkkjkkkkkkkjkkkkkkkkkkkkkkkkkkkkkjkkkkkkjkkkkkkkkkkkkkkkkkkkkkkjkkkkkkkkkkkkkkjkkkkkkkkkkkkkkkkkkkkkkkkkjkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkjkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkjkkkkkkkkkkkkkkkkkkkkkkkkkkkkjkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkjjkkkkkkkkkkkkjkkkkkkkkkkkkkkkjkkkkkkkkkkkkkjkkkkkkkkkkkkkkkkkkkkkkkjkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkjkkkkkkkkkkkkjkkkjkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkjkkkjkkkkkkkkkkkkkkkkkkkkkkkkkkkkkjkkkkkkkkkkkkkjkkkkjkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkjkkjkkjkkkkkkkkjkkkkkkkkkkkkkkkkkkkkjkjkkkkkkkkkkkkkkkkkkkkkkkkjjkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkjkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkklkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkjkkkkkkkkkkkkkkkkkkkkkkkjkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkjkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkjkjkkkkkkkkkkkkjkkkkkkjkkkkkkkkkkkkkkkkkkjkkkkkkkkkkkkkkkkkkjkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkjkjkkkkkkkkkkkkkkkkkkkkkkkkkjkkkkjkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkjkkkkkkkkkkkkkjkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkjkkkkkjkkkkkkkkkkkkkkkkkkkkkkkjkkkkkkkkkkkkkkjkkkkkkkkkkkkkkkkkkkkjkkjkkkjkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkjkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkjkkkkkkkkjkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkjkkkjkkjkkkkkkkkkkkkkkkkjkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkjkkkkkkkkkkkkkkjkkkkkkkkkkkkkkkkkkkkkkkjkkkkkkkkkkkkkkkkkkkkkkkkjkkkkkkkkkjkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkjkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkjkkjkkkkkkkkkkkkjkkjkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkjkkkkkkkkkkkkkkkkkkkkkkkkkjjjkkkkkkkkkkkkkkkjkkkjkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkklkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkklkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkklkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkjkjkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkjkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkjkkkkjkkkkkkkkkkjkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkjkkkkkkkkkkkkkkkkkkkkkkkkkjjkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkjkkkkkkkkkkkkkkkkkkkkjkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkjkkkkkkkjkkkkjkkkjkkkkkkkkkkkkkkkkkkkkkkkkkjkkkkkjkkkkkkkkkkkkkkkkkkkkkkkkkjkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkjkkkkkkkkkkkkjkkkkkkkkkkkkkkkkjkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkjkkkkkkkkkkkkkkkkkkkjkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkjkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkjkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkjkkkkkkkkkkkkkkkkkkjkkkkkkkkkkkkkkkkjkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkjkkkkkkkkkkkkkkkkjkkkkkkkkkkkkkkkkjkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkklkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkklkkkkkkklkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkklkkkkkkklkkkkkkkkklkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkklkkkkkkkkkkkkkkkkkkkkklkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkjkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkjkkkkkkkkkkkkkkkkkkkkkkkkkjkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkjkkkkkkkkkkkkjkkkkkkkkkkkkkkkkkkkkjkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkjkkkkkkkkkkkkjkkkkkkkkkkkkkkkkkkkkjkkkkkkkkkkkkjkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkjkkkkkkkkkjkkkkkkkkkkkkkkkkjkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkjkkkkkkkkkkkkkkjkkkjkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkjkkkkjkkkkkkkkkkkjkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkjkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkjkkkkjkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkjkkkkkkkkkkkkkkkkjkkkkkkkkkkjkkkkkkkkkkkkkkkkkkjkkkkkkjkkkkkkkkkkkkkkkkjkkkkkkjkkkkkjkkjkkkkkkkkkkkjkkkkkkkkkkkkkkkkkkkkkkkkkkkkkjkkkkkkkkkkkkkkkkkkkkkkkkkklkklkkkkkkkkkkkkklkkkkkkkkkklkkkkkkkkkkkkkkkkkkkkkkkklkkkkkkkklkkkkkkkklkkkkkkkllllkkkkkkkkkkkklkkkkkkkkkkkkkkkkkkllkkkkkkkkkkkkkkkkkkkklkkkkkkkkkkklkkkkkkkkkkkkkkklkkkkkkkkkkkkkkkkkkkkkllkkkkkklkkkkkkkkkkkkklkklkkkkkkklkkkkkkkkkkkkkkklkkkkkkkkkkklkkkkkkkkkkkkkkklkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkklllkkkkkkkkklkkkkkkkkkkkkkkkkkkkkkkllkkkkkkkkkkkkkkkkkkkkkkkkkkkkklkkklkkkkkkkkkkkkkkkkkkklkkkkkkkkkkkkkkkkkkkkkkkklkkkkkkkkkkkkkkkkkkkllkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkklkkkklkkkkkkkkkkkkkkkkkkkkkkkkllkkkkkkklllkkkkkkkkkkkkkkkkkkkkklkkkkkkkkkkkkkkkkkkkklkkkkkkkkkkkkkkkkkkkklkkkkkkkkklkkkkklkkkkkkkkkklkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkklkkkkkkkkkkkllkkkkkkkkkkkkkkklkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkklkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkklkkkkkkkkkkkkkkkkkkkklkkkklkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkklkkklkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkklkkkkkkklkkkkkkklkkkkkkkkkkkkkkkkkkklkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkklkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkklkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkklkkkkkkkkkklkkkkkkkkkkklkkkkkkkkkkkkkkkkkkkkkkkklkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkjkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkjkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkklkkkkkkkkkklkkkkkkkkkllkkkkkkkkklklkklklkkkkkkkklkkkkkkkkkkklkkkkkklkkkkkkkkkklkkkkkklkklkkkkkkkklkkklkkkkkkkkkkkkklllkkkkkkkkkkkkkkklkklkkkkkkllkkkkkkkkkklkkkkkkkkkkkkklkkkkkklkkkkkkkkkkkkkkkkkkkkkklkkkkkkkkkklkkkklkkkkkklklklkkkkkkkkkkkkkkkkkkkkklkkkkkkkkkkkkkkkkkklklkklkkkkkkkkkkkkkkkkkkkkkkkkkklllkkkkklllkkkkkkkkkkkkkklklkkkkkkkkkllkkkkklkkkkkkkkkkkkkkkklkklkkkkkkkkkkkkkkkkkkkklkkkkkkkkkkkklkkklklkkkkkklkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkklkkkkkkkklkkllkklklkkkklkkkkkkkkkklkkkkkkkklkkkkkklkkkkkkkkkkkkkkkkkkkkkklkkklllkkkkkkkkklklkkkkkkkkkkkkkkkkkkkkkkklkkkkkkkkkkkkkkkklkkkkkkkkkkkkkkkkkkklkkkkkkkkkkkkkkkkkkkkkkllkkklkkklkkkkkkkklklkkkkklkkkkkkklkkkkkkkkkkkkkkkkkkkkklkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkklkkkkklklkkkkkkkkkkkkkkkkkkkkkkkklllkkkklkkkkjjjjkkkkkjkkjkjjkkjjkjjjkkkkkkkkkkkkkkkklkkkkkkkkkkllkklkklkkkllkkklklkkkklkkkkkkkkkkklkklkkkkklkkkkkkkkkkkkkkllkklkkkkkkkkklkkkkkklkkkkklkkkkkkkkkkkkkkkklkkkkkklkkkkkklkkkkkkllkkkkkkkkkkkkkkklkklkkkkkkkkklkkkllkkkkkkkkkkklkkklkkkkkkkklkkkkkkkkkkkklkkkkkkkkkkkkkklkkkkkkklklkkkkkkkkklklkkkkkkkkkkkkkkklkkkkkkkkklkkkklkkkklkllkkllkkkkkkkkkkkkkklkkkkklkkkkkkkkkkkkkklkkkkkkkkklkkkkklkkklkkkkkkkkkkklkkkkklkkkkkkkkklkkkklklkklkkkkkkkkkkkklkkkkkkkkkklkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkllkllkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkllkkkkkklkkkkkkkkkkklkkkkkkkkkkkkkkklkkkkkkkkklkkkkkkkkkkkkkkkkkklkkkklklkkkkklkkkkkkklkkkkkkkkkkkkkkklkkkkkkkkkkkkkkkkkkkkkkklkkkkkkklklkkklkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkklkkkkkkkkklkkkkkkkkkkkkkkkkkkkkkkkkkkkklklkkkkkkklkkkkjkjjkjjjkkkjjjjkjkkkkkkkkkkkkklkkkkkkkkklkkkkklklkkkkkkkkkkkkkkkkkkkkkkklkkkkkkkklkkkkkkkkkkkklkkkkklkkkkkkklkkkkkkklkkkkkkkkkkklkkkkkkkkkkkkkkkklkkkkkkkkkkkkkkkkkkkkkkkkkklkkkkkkkkklkkkkkkkklkkkkkkkkkkkkkkkkkkkklkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkklkkkkkkkkkkkklkkkkkkkkkkkkkkkklkkkkkkkkkkkkkklkkkkkklkkkkkkkkklkkkkkkkkklkkkkkkkkkkkkkkkkkkkkkklkkkkkkkkkkkkkkkkkklkkkkkkkkkkkkkkkkkkkkklkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkklkkkkkkkkkkkkkkkklkkkkkkkkkkkkkkkkkkkkkkkkkkkkkklkkkkkkkkkkkkkkkkklkkkkkkkkkkkkkkkkklkkkkkkkkkkkkkkkkkkkkkklkkkkkkkkkkkkkkkkkkkkkllkkkkkkkkkkkkkkkkkkkklkklkkkkkklkkkkkkkkkkkkkkkkkkklkkkklkkkkkkkkklkklkkkkkkkklkkkkkklkkkkkkkkkkkkkkkkkkkkkkkkkkklkkkkkkklkkkkkkkkkkkkkkklkkkkkkkkkkklklkkkkklkklkkkkkkkkkkkkkkkkkkkkkkkkklkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkklkkkkkkkllkkkkkkkkkkkkkkkklklkkkkkkkkkkkkkkkkkkkkkkkkkkkklkklkkkkkkkkkkkkkkkkklkkkkkkkkkkkkkkkkkkkklklklkkkkkkkkkkkkkkkkkkkkklkkkkkkkkkkkkkkkkkkkkkklkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkklkkkkkkkklkkkkklkkkkkkkkkkkkkkkkkkkkkklkkkkkkkkllklkklkkkkkkkkllkkkkkkkkkklkkkkkkkkkklklkkkkkkkkkkkkkkkkkkllmmmnnnnnnnnnnnnnnnnnmmmmllkkjjjkkkkkkkkkkklkkkkklkkkkkkkklkkkkkkkkkkkkkklllkkkkkkkkkkkkkkkkkklkkkkkklkkkkkkklllkkkkkkklkkkkkklkkkkklkkkkkkkkkkkkkkkkkkklkklkkkkkkkkkkkkkklkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkklkklkklkkkkkkkkkkkkkkkkkkkklkllklkkkkkkkllklkkkkkkkkklkkkkkkkkkkkkkkkkklkkkkkklkkkkkkkkkkkkkklkkkkkkklkllkkkkkkkkkkkkkkkkkkkkklklkllkklkkkkkkllklkkkkklkkklkkkkkkkkkkkkkkkkklkkkkkklkkkkkkkkkkklkklkkkkkkklkllkkkkkkkkkkkkklkkklkkkkkkkkkkkkkkkkkklkkkkkkklkkkkklkkklkklkkklkkkkklkkkkkllkkkkkkkkkkkkkkkkkkklkkklklkkkkkkkkkkkkkklkkkkkkkkkkkkkkkkkkkkkkkkkllklkkkkkkklklkkkkkkkklkkklkkkkkkkkkkkkkkkkkkkkkkkkkkkklkkkkkkkkklkkkkkkklkkkkkkkkkkkkklkkkkkkklkkkkkkkkkkkkkkkkkkkkkkkkkkkklkkkkklkkkkkklkkklklkkkkkkkkkkklkkkkkkklkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkklkkkkkkkkjkklllllmmmnnnnnnnnnnnnnnnmmmlllkkjjjkkkklkklkkkkkkkkkkkkkkkkkkkkklkkkkkkkkkkkkkkkkkkkkllllklklkkkkkkkkkkkklklkkkkklkkkkkkklllkkkkkkkkkkkkkkkkkkkkkkkkkkklkkkkkkkkkkkkkkkkkkklkklkkkkkkkkkkkkkkklkkkkkkkkkkkkkkkkkkklklkkkkkkkklkkkkkkkkkkkkkkkkkkklkkkkkkkklklklkkkkkkkkkkkklkkkkkkkkkkkkkkkkklkkkkkkkkkkkklkklkkkkkklkklkklkkklkkkkllkkllkkkkkkkkkkkkkkkkkkkkkklkkklkkkkkkkkkklkkkkkkkklkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkklkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkklkkkkkkkkkkkkkkkkkkkkklkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkklkkkkkkkkkkkkkkkklkkkkkklkkkkkkklkkkkklkkkkkkkkkkkkkkkkkkkkkkklmmnoqsuvyzz|}}}}}}}}}}}}}}}|zyywutrqnnmmlkkkjkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkklkkkkkkkkkkkklkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkklkkkkkkkkkkkkkkkkkkkklkkkkkkkkkkkkkkkkkklkkkkkkkkkkkkkkkkkkkklkkklkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkklkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkklkkkkkkkkkkkkkkkkkkkklkkkkkkkkkkkkkkkkkkkkkkkkkkkkkklkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkklkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkklkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkklkkkkkkkkkkkkkkkkkkkkkklkkkllkkkkkkkkkklkkkkkkkklkkkkkkkkklkkkkkkkkkkkkkkkkkkkkkkkklkkkkkkkkkklklkkkkkkkkkkkkkkklkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkklkkkkkkkkkkkkkkkkklkkkkklkkkkkkkkkkkkkkkkkklkkkkkkklkkjjkkllmnoqsuvxyz|}}}}}}}}}}}}}}}{zywutrpnmmlkkkjkkkkkkkkkkkkklkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkklklkklkkkklkkkkkkkklkkkkkkkkklkkkkkkkkkkkkkkkkklkkkklkkkkkkkkkkkkklkkklkkkkkklkkkkkklkkklklkkkkkkkkkkkkklkkkkkkkkklkkkkkkkkkkkkklkkkklkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkklkkkklkkkkkkkkkkkkkklkkkkklkkkkkkkkkkkkkkklkklkkkkkkklkkkkkkkkkkkkkkkkkkkkkkklkkllkklkkkkklklkkkkklkkklkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkklkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkjkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkklmnpruyz}}~~~~}|zxuronmlkjjkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkjkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkjkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkklmnpruxz|}~~~~}{yvspnmlkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkklkkkkkkkkkkkkkkkkkkkkkkkkkkkkklkkkkkkkkkkkkkkkkkkklkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkklkkkkkkkkkkkkkkkkkkkklkkkkkkkkkkkkkkkkkkkkkkklkkkkkkkkkkkkkkkkkkklkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkllkkkkkkkkkkkkkklkkkkkkkkkkkkkkkkkkkkkkkklklkkkkkkkkkkkkkkkkkkklkklkkkkkklkkkkkkkklkkkkkkkklkkkkjkjkkjkjkkkkkkjkjkjkkjkkkkjkkkkkjjjkkkkjkkkkkkkkjkkkkjkkkjkkkkkkkkkkjjkkkkkjkkkkkkjkkjkkkkkkkjjkkkkkkkkkkjkkkkkkkkkkkkkkkkjkkkkjkkjkkjkjkjkjkkkkkklkkkkkkkkkkkkkkkkkkkklkkkkkkkkkklkkkkkkkkklkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkklkklkkklkkkkllkklkkkkkkkkkkkkkkkkkkkkkkklkkkkkkkkkklkkkkkklkkkkkkkkkkkkkkkkklkkkkklkkkkkkkkkkkkklkkkkkklkklkkkkkkklkkkkkkkkklkkkkkkkkklkkkkkkklkkkkkkkkkkkkklkkkkkkklklklkkkkkkkkkklkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkklkkkkkkkkkkkkkkkklkkkklkkkkkkkkkklkkkkkkkkkkkkkkkkkkkkkkkkkkkkkklklkkkkkkkkkkkkkkkkkkkkkklkkkkkkkkkkkkkkkkkkkkkkkkkklkkkkkklkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkklmnruy|~~~}{yvrnmlkkkklkkkkklkkkklkkkkkkkkkkklkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkklkkkkjkjkkjkjjjkkjjkkkkkjkjkkjjkjkkkkkkkkkkkkkkkkkkklkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkklkkkkkkkkkkkkkkkkkkkkkkkkklkklkkkkkkkkkkkkjkkkkkjkkkkkkkkjkjkkkjjkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkklkklkkkkkkkkkkkkkkkkklkkkkkkkkkkkkkkkkjkkkkkkkkkkjkkkkkkkkkkjkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkjkkkjkkkkkkkjjkjjkkjjkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkjkkkkjkkkkkkjkkkkkkjkkjkkjjkkkkkkkkkkkkjkkkkjkkjkkkjkkkkkkkkkjjkkkkkkkjkkkkkkkkkkkkjkkkkkkkkjkkkkkkkkjkkkkjkkjkkkjkkkkkkkkkkkkkkjkkkjkkkkkkkkkkkkkkkkkjkkkkkjkjkkjjkjkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkklmnrvz|~~~~|zurnmlkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkjkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkjkkkjkkkkkjkkkjkjkkjjkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkjkkkkkkkkkkkjjkkkjkkkkkjjkkkkjjjjkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkklkkklkkkkkkkklkkkkkklkklkkkkklkkkkkkkkkkkllkkkkkkkkkkkkkklkkkkkkkklkklkkkkkkkkklkkkkkkklkkkkkkkkkkmnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnmkkkllkklkkkkkklkkkkkkklkkkkkkklkkklkkkkkklkkkkkkkkkkklkkkkkkklklkkkkkkkklkkkkkklkkkkkkkklkkkkkkkklkklklkkkkkkkkkkkkkkkkklkklklkkkkkkkkkkkkkkkkkkkkkkklkkkkkkkkkllkkkkkkkkkkklkkkklkkkkkkkkkkkkklkkkkkkllkkkkkkklklklkkkklkkkklklkklkkklkkkkkkkkkkkkkkkkklkkkkklklkkkkklkkkklllkkkkkkkkkkkkkkkkkkkkkklkklkkkkkkkkklkkkkkkkkklkkkkkkkkkkkkkkkklkkkkkkkkkllkkklkkkkkklkkllklkkkkkkklkkkkkkklkkkkkkklkkklllkkklkkkklkkkklkkkkkkkkkkkklkkkklkkkkkkkkkkkkkklkllkkkkkkkkkkkkkkkkkkkkkkklkllkkkkkkkkllkkklkkkkkkklkkkllkklkklkkkkkkkkkklmnquz}~~}zvrnmlkkkkkkkllkklklkkkkklkklklllkklkkkkkkkkklkkkkkkkkkkkkkkkkkkkkkkkkklkkkkklnnnnnnnnnnnnnnnnnnnnnnnnnnnnnllkkkklkkkkkkkkkklkkkklkkkkklkkkkkkkkklklkkkkkkkkkkkkkkkkkkllkkklkklkkkkklklkkkkkkkkkkkklkllmnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnmkklkkkkkkkkkkkklkkkkllkkkkkkkkkkkkkklkkkkkkkkkklklkkkkkkkkkkkklklkkllkkkkkkkkkkklkkkkkkllkknnnnnnnnnnnnnnnnnnnnnnnnnnnmmlllkkkkkkkkkkkkkklkkkkkkkkkklklmnnnnnnnnnnnnnnnnnnnnnnnnnnnlkklkkkkkkkkklkkkkkkklkkkkkkkkkkllnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnlkkkkkkkkkkkkkkkkkkkkklkkkkkkkkkkklkkkkkkkkkkkkkkkkkkkkkkkkklkkkkkkkkkkkkkkkkkkkkkkkkklkklmnrvz}~~}zuqnlkkkkkkkkkklkkkkkkkkkklkkkkkkkkkkkkkklkkkklkkkkkkkkkkkkkkkkkkkkkkkklkkkkkkklkklkkkkkkkkkkkkkklnnnnnnnnnnnnnnnnnnnnnnnnnnnnlkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkklkkkkkkkkkkkkkklkkkkkkkkkkkkkkkkkkkkkkkkklkkkkkkkkkkkkkkkkkkkmnnnnonnnnnnnnnnnnnnnnnnnnnnmkkkkkkkkkkkklkkkkkkkkkkkkkkkkkkklkklkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkklkkkkkkkkkkkklkkkkkklkkkkkkkkkkkkkkkkkklkklkkkkkkkkkkkklkkkkklkkkkkklklklklkkkklkkkkkkkkkklllt|}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}|tlllkkkkkkkklklkkkkkkkkkkkkkklkkkkkkkkkkkkklkkkkkkkllkkkkkkkkkkklkkklklkkkklllkklkkkkllkklkkkkkkkkkkkklklkkkllkkkkkkkklllkklkklkklkkkkkkkkkkkkkkkkllkkkkkkkklkkkklkkkklklkklkkkkkkkkkkkkkkklkkklkkkkkllkkklkkkllkkkkklkkkkkkkkkkkklkkkkkkkkklkkklkkkllkkkkkklkklkkllkkkkkklkkkkkklkkkkkkkllkkkkkkkkkkkkkllkklkkkllkkkkkllklkkkkkklkklkkkkkkklkllkllkkklkkkkklkklkkklkkkkkkklkkkkkkkkkkkkklkkllkkkkkkkkkklkkkkkkkkkllkkkkkkkkkkkklklkkkkkllkkkkkkkkkkkkklklkkkkkkkkkkkkkkklkkkkkkkkklkkkkkkkkkllkkkkklkkkkkklkkkkkkllkkkkkkkkklmnrw{~~|ytomlkkkkkkklllkkklkkkkkkkkkkkklkkkkkkkkkkkkkkkkkkklklkklkllkklkklkkkkkllr|}}}}}}}}}}}}}}}}}}}}}}}}}}}{nlklllkkkkklkkkkkkkkkklkkkkkkkkklkkkkkkkkkkkkkkkkkklkkkkkkkkkkklkklkklklkkkkkkkkkkkkkkkkkklq{}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}wlkkkkkkkkkkkkllkkkkkkkkkkkklkkkkklkkkkkkkklkkklllkkkkkkkkkkkkkkkkkkkklkklkkkkkkkkkkkkkkkkko{}}}}}}}}}}}}}}}}}}}}}}}}}}}xmklkkkkklkkkkklkkkkkkkklkkklllq|}}}}}}}}}}}}}}}}}}}}}}}}}}|tlklkkklkkkkkkkkkkkkkkkklklkkkkkkm{}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}|qllkkkkkkkkllklkkklkkkkkkkklkklkkkkklkklkkkkkkkkkkkkkkkkkkkkkkklkkklklllklkkkkklkllkjklmptx|~~{vqnmkkkkkkkkkkkkkllklkkkkkklkkkkklkklkkkkllklkkkkkklkklkkkkkkkllkkkkkkkkkkkkllkkkklkklkkkkkkkn{}}}}}}}}}}}}}}}}}}}}}}}}}}|tlkkllkkkkkkkklkkkkkkkkkkkkkkkkkklkkkkkkkkklkkklklkkkkkkkkkklkkkkklkkklkkkkkkkkkklkkkkkkkklkkkkklkkkkkkkkkkkkkkm{}}}}}}}}}}}}}}}}}}}}}}}}}}|tllklkkkkklklkkkkklkkkkkkklkkklkklkklkkkkkklklkkkkkkkkkkklkkkkkkkkkkkkkkkkkkkkkkkkkkkkkklkkkkkklkkkkkkkkkkkkkkkkkklkkkkkkklkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkklvvmkkklkklkllkkkkklkkkkklkkkkkkkkkkkkkkkkllkkllkkkklkkkkkklkkkkkkkkkkkkkkkkkkkkkklkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkklkkkkkkkkkkkkkkkkkkkkkkkkkkkkklkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkklkkkkkkkkkkkkklkkkkklkkkklkkkkkkkklkkkkkkkkkkkkkkkklkkkkkkkkkkkkkkkklkkkkkkkkllkkkkkkkkkkkkkkkkkklllkkkkkkkkklkkkkkkkkkkkklkkkkkkkkkklkkklkkkkkkkkkkkkklklkkkkkkkkkkkkkkkkklkkkkkkkklkkklkkkkkkkkklkkklklkkkkkkklkkkkllkkkkkkklklklkkkkklllkkkkklkkkkkkkkkkkkkkklkkkkkkklkkkkkkkkkkkkkkkkkkkkkkkklkkklkkkklnrw|~~}ytomkkkkkkkkkkkkkklkkkkkkkkkkkkkkkkkkkkkklkkkkklkkkkkkkkkklkkkkkkkkkllp~slklkkkkkkkklklkkkkkkklkkkkkklkklkkkkkkklkkkkkkkkklkkkkkkkklkkkklkkklkkkkkkkkkkkkkkkkkklkklv|mklkkkkllkkkllkkklkklkklkklkkkkkkkkkkkkkklkkkkkkkkkkkkkkkkkkklkkkkkkkkkkkkkkklkkkklkkkkkklswmlkklkklkkkkkkkkkkkkkklkkkkkklrvlkkkkkkkklkkkkkkkllkkkklklkkkkkkn~rkkkkkkkkkllkkklkkkkklkkkkklkkkkkkkklkkkkklklklkklkkkkkkllklkkklkkkkkkkkklkkkkkkkkklmoty}~~{vqmlkkkkklkkllkkkkkkkkkkkkkkkkkkkkkkkkkkklklkkklkkkkkkkkkkklkkkkkkkklkkkkklklkkkllkkkkkkkkn~vlkkkkkkkkkkkklkklkkklkkkkkklkkklllkkkklkkkkklkkkkkkkkkkklkkkkkkkkklkkklkkkkkklkkkkllkkkklkkkkklkkkkkkkkkkkkkkkm~vlkklkkkkklkkkkkkkklklkkkkkkkkkkkkkkkkkkkkkklkkkkkkkkkkklkklkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkmvumkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkklmpv{~~}xrnlkkkkkkkkkkkkklkklkkkkkkkkkkkkkkkklkkkkkkkkkkkkkkkkkkkkkkkkkkkkkn{wlkkkkkkkkkkkkkkkkkkklkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkm{~qlkkkklkkkkkkkkkkkkkkkkkkkkkkklkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkklv~rlkkkkkklkkklkkkkkkkkkkkkkkkkklr~vmkkkkkkkkkkkkkkkkklkkkkkkkkkkkllm}~qlkkkkkkklkkkkkklkkkkkkkkllkkklkkkkkkkkkklkkkkkkkkklkkkkllkkkkkkkkkkkkkkkkklkkkkkmnsy}~}ysnmkkkkkkkkkkkkkkkllkkllkkkkkkkkkkkkkkklklklkkkkkkkkkkkkkkkkkklkkkklkkkkkkkkkkkkkkkkkkkn}~vmkkkkkkkkkkkkkkklkkkklkkkkkklkkklkkkkkkkkkklkkkkkkklkkkkkklkkkkkkkkkllkkkkkkkkkkkkklkklkkkklkkllkkkkkkklkkkkkkn}vlkkklkkkkklklkkkkklkkkkkkkkkkllkkkkkkkkkkkkkkkklkklklkklllkkkkkklkkklklkklkkklkkkkkkkkkkkklkkkklkkkkkkkklkklkkklkkkkkllkkkkkklkkkkkkkklklkkklkkkkklkkkklkkkkkkkkkklkkkkluvmkkkkkkkkkkkklkkkkklkkkkkkkkkklkkkkkkkkkkkkkkkkkkkkkkkkkkklkklkkkkklkklkkkkkkklklllkkklkkkkkkklkklkkkkkklkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkklkkkkkkkkkkkkkkkkkkkkkkkkkkkkkklklkkkkkkkkkkkklkkkkkkkkkkkkkkkllkkkkkkkkkklkkkkkkkkkkklkkkkkkkkkkkkkkkklklkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkklkkkkkkkkkkkkkkkkkkkkkklkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkklkkkkklkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkklkkkkkkkkkkkkkkklkkkkkkkkkkkkklkkkkkkkkkkkkkkkkklkkklklkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkklnrx}~{uolkkkkkkkllkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkklkkkkkkkkkmwzmkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkklkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkklp~ulkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkmz}nkkkkkkkkkkkkkkkkkkkkkkkkkkkkklr~vmkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkn}~qlkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkklmpw|~~{vomkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkn}vmkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkklkkkkn}vmkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkklkkkklkkklkkkkklkkkkkkkkkkklkkkkkkkkkkkkkklkkkkkkkkkkkkkklkklkllkkkkkklkkkklkkkkkllkkkkklkkkkklvvmkkkkklklkkkkkkkklklklkkkkklkkkkkkkkkkkkkkkkklkklkkkklkkkkkkkklkkkklkkkkkkkkkkklkkkkkkkkkkkklkklklkkkkkklkkkkklkkkkkkkklkklkklkkklkklkkkkkkkkklkklkkkkklklkkklkkkkkkkkkklkkklkkkkkkklkkkklkkkkkkkkkkkkkkkkkklkkklkklkklkklkkkkkkkkklkkkkkklklkkkkkkklkkkkkkkkkkkkkkkkkklklkklkkkkklllkkkkkkkkkkkkkkkkkklkkkklkkklkkkklkkkklkkkklklkkkkklkkkklkkkkkkkkkkkkkkkkkkkkkkkklkklkklkklkkkkkkklkkkkklkklkllklkkklkklkkklkkkkkkkkklklkkkkkklklkkkkklkkkkkkkkkkkkklklkkklkkkklkkkkklkkkkkkkkkkkkklkkkkkkkllklkkklkkkkkkkkklkklnt{~|wqmkkkkklkkkklkkkkklkkkkkkkkkkkkkklkkkkkkkkkklkklklkkkklkkklkkls~}nklkkkkkkkkkllkkkkkklkkklkkkkkkkkkkklkkkkkkkkkkkkkkkkkkkkkkklkkkkkkkkkklkkklkklkkkkkkkkklt~zmklkkkkkklkkkkkkkkkkkkkkkkklkklklkkkkkklkkkkklkkkkkkkkkkkkkkkkkkkkklklkkkkkkkkkklkkkkkkkn}ymkkkkkkkkkkkkkllkkkkkllkkkkklklr~vmkkkkkkkkkkkkkkkkkkklkklkkklkkkkn}~rlkkkkkkkkkkkkklklklkkkkkkkkkkkkkkkkkkklklkkkkkkkkkkkkkklklkkkkkkkkkkkkkkkkklnsy}|wqmkkkllkkkkkklkkkkkkkkkklkkkkklkkkkkkkkkklkkkkkkklkkkkkkkkkkkklkkkkkkkkkkkkkkklkkkn}vmklklkklkkkklkkkklkkkkkkkkkkkkkkklkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkln}vmkkkkkkkkkkkklkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkklkkkkkkklkkklkkkkkkkllkklkkkkklkkkkkkkkkkkkkkklkllkkkkkkkkklklklkkkklkkkkkkkkklkkkklkkkkkkkkkkklklkkkkkmvvmkkkkkkkkllkkkklkkkkkklllklklkklkkklklkllkkllkklkklkllkkkklkkkkkkkklklklkkkkkklklkkkkkkkkklkkkkkkkllklkkkkkkklkkkkkkkklkklkkklkkkklkkkkkkkkkkkkkkkklkkkkkkkkkkkklkkkklklkkkklkkkkkkkkkkkkkkkkkklkkkkkklkkkklkkkkkkkklklllkklkklkkkkklllkkkllkkllkkkkkklkkkklkkkkkkkkkkkllkkkkllklkklkkkkkklkkklklkkkklkkkkkkkklkkkklkkkkkllkllklkkkkkkklkkkklkklkkkkkkkkkkkkkkkkkkkkkkklkkklkkklkkkkkkkkkkkkllkkkkkkkkklkkklkkkklllkkkkkkkklklkkkkkklkkklkkkkkkklkkklkllkklkllkkkkkklkkkkkkkkkkklkkklklklkkklkkkkkkkklkkkkkklkkkklnt{}wpmkkkkkklklkkkkkllkkkkklkkkkkklkkklkklkklkkkkkkkkkkkllkkkkkko~~rlklklkkkkkkkkllllkkkklklkkklkklkkkkkkkkkkkkkkkllkllkkklkklkkkkkkllllkklkkkkkkkkkkkklkklmx~okklkkkkkkklkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkklkkklkkkkkkkkkkkkkkkkkkkkkkkkkkklkklkkkklkllr~tlkkkkkkkklkkkkkkkkkkkkkkkkkllkkr~vmkklkkkkklklkkkkkkkkkkkklkkklkkkn}~rlkkklkkklkkkllkkkkkllklkkllklkkkkkkkkkklkkkkkklklklkkkklkkkklkkkkkkkkkkkklnt{~}wolkklkkkkklkklkkkkkklllkkkkkkkllllklkkklkklkkkkkkkklkkkklklkkkkkkkklkkkkklkkkkkkn}vmkkkkkkklkkkkkkkkkklkkklkklllkkkkkklkkkkkkkkkkkkkkkkkkkkkkkklkkkkkkkkkkkkkkkklkkkkkkkkkkkkkkkkkkkkkkkkkllklkkkn}umkkkkkklkkkkkkkkkkkklkklklkkkkkkkkkkkkklklkkkkkkkkkkkkkkkkkkkkllkkkkkkkkkkkkkkkkkkkkklkkkkkkklkkkkklkklkkkkklkkkkkkkkkkkklkkkkllkkkkkkkkkkkkkklkkkkkkklkkkklkkkklkkkkkklvvlklkkkkkklkkklkkkkkkklklkkkkkkkkkkkklkkklkklkkkkklkkkkkkkkkklkkkkkkkkkklklklkklkkklkkkkkkkkkkklklkkkkkkkklkkllkkkkklkkkkkllkkkklkkkklkkkkkkkklkkkklkkkkkkkkllkkkkklkklklkkklkkkkkkkkkklkkkkkkkkkkkkkklkkkkkkkkkkkklkkkkkklkklkkkkkllkkkkkkkkllkkllkkkkkkklkkkkkkkklkkkkkkkkkkkkkkkkllkkkkkkkkkkkkllkkkkkkkklllkkkkkklklkkkkklllkkkkkkkkkkkkkkkkklkklkkkklkkkkkkkklkkkkkkkklkkkkkkkkkkkkklkklkklkllkkllkkkkllkkkkklkkkkklkkkkklkklklkkkkkkkklkklkkkkkkkllkklklklkkkkkklkkllkkkkkkkkkkklkkkkkkkkklkklkklkklkkkkkklms{}wplkkkkkkkkkklkllklkkkkkkkklkkklkkkkklkllkkkkkkkklkkklllkklnzvlkklkkklkklkkklkkkkkkkklkkklkkkkklklkkllkkkkllkkkllkklkkkkllkkkkkllkklkkkklkkkklkkkklkkm|slkkkklllkkkklkkkkkkkklkkkkkkkklkkllklkklkklllkkkkklkkkkkkklkkklklkklkkkkkkklkkkkkkkkkklv~pllkkklkklkkklklkkllklkkkkklllklr~vmllkkkkkklkkkkkkllklkkklllkllkkkn}~rlkkkkkkklkkklkkkkkkkkkkkkklkkkkkkkkklkkkkkkkkkkkkkkkllkklkkkkkkkkkklkkklov{~|volkkkkklllkkllkkkkkkkkkklklkklkkkkkllkkkkllkklllkkkkkllkllkkkkkkkkkkklkkkkkkkkm}vmkkkklkkkkkkkklkkkkkkkkkkkkllkkllkklkkkkkkkkkkkkkkkkkkkkklklkkkkkkkkkklklkkklkklklkkkkkkkkkkklkkklkkkkkkkllkkkn}ulkllkkkklkkkklkkkllkklkkkkkkklkkkkklkkkkkkklkkkklklklklklkklkklklkkkkkkkkkkkkkkkkkkkkkkkkkkkkklkkkkkkkkkkkkkkkkkkkklkkkkkkkkkkkkkkkkkkkkkkkkklkkkkkkkkkkkkkkkkkkkkkkkkklvvlkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkklkkkkkkkkkkkkkkklkkkkkkkkkkkkkkkkkkkkkkkkkkkklkkkkkkkkkkkkkkkkkkkkkkkkkkkkkklkkkkkkkkkkkklllkkklkkkkkkkkkkkkkkkkkkkkkkkkkkklkkkkklkkkkkkkklkkkkkkklkkkkklkkkkkkkkkkkkkkkkkkkklkkkkkklklkllkkkkkkkkkkkkkkkkkkkklkkkkkkkkkkkklkkkkkkkkkkkkkkkkkkkkkkkkkkkklkkklkkklkkkkkkkkkkkklkkkkkkkkkkkkklkkklkkkkkkklkkkkkkklkkkkkkkkkkkkkkklkkkkkkkkkkkkkkkkkkkkkkkkklkkkkkkkkkklkkkkkkkkkkkkkkkkkkkllkkkkkkkkkkkkkkkkkklkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkllkkklkmqy~}uolklkkkkkkklkkkkkkkkkkklkkklkkkkkkkkklkklkkkkkkllkkkkkkkmvymkkkkkkkkkklkkkkkklkkkkkkklkklkklkklkkkkkkkkkkkkkkkklkkkkkkkkkkkkkkklkkkkkkkkkkkkklkkklq~xmkkkkkkkkkklkkkkkkkkkkkkkkkklkkkkkllkkkkkkkkkkkkkkkkkkkkkkkkklkkkkkkkklkkkkkklkklklkkkmz|nkkkkkkkkkkkklkkkkkllkkkkllkkkklr~vlkkkkkkkkkkklkkkkkkkkkkkkkklkklkn}~rlklkkkkklkkkkkklklkkklkklklkkkkkkklkkkkkklkkklkkklkkklkkklkkkklkkklkklnu||tnkkkkkkkkkkkkklkkkkkklklllkkllkkklkklkllkkkkkklklllkkkkkklkklkkkkllkkklklkkkm}vlkllkkkkkkkkkkkkkkkkkkklkkkkkkkkkkkkkkkklkkkkkkkklkkkkklklkkkkkkkkkkkkkkkllkkkkkkkkkkkkkkkkkklkkklkkkklkllkklkn}ulkklklkkkkkkkklklklkkkklkkkllkkklklkkkkkkkkkkllkkkkklklkkkkkkkklklkkkkkkkkkkkkkkkkkklkkkkkklkkkkkkkkkkklkkkkkkklkkkkkkkkkkkkkkklkllkkkkkkkkkkkklkkklkkkkklkkkkkkkkkkkkkmvvlkklkkkkkkkkklkkkkkkkkkkkkklkkkkkkkkkkkkklkkkkkkkkkkkkllkkkkkllkkkkkkkkkkkkkkklkkkkkkkklkkkkkkkkkkkkkkkkklkkkkkkkkkkkkkkkkkkkkkkkkkkkkklkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkllkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkklkkkkkklkkkkkklkkkklkkkkkkklkkklklkkkkkkkkkkkklkkkkkkkkkkkkkkkkkkkkkkklkkkkklkkkkklkkklkkkkkkkkklkkkkkkklkkkkkkkkkklkkkkkkkkkkkkkkkkkklkkkkkkklkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkklkkkkkkkkkkkkllkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkklkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkklow}{smkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkklr~|nkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkklu|mkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkklkkkkkkkkkllkkkklkkkkkkkkkkkkkkkkkkkkkkkkkkkln}xmkkkkkkkkkkkkkkkkkkkkkkkkklkkkklr~vlkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkn}~rlkkkkkkkkkkkkkkkkkkklkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkklkkkkkkklnt{~yqmkklkklkkklkklkkkklklkkkkkkkkkkkkkkkklklkklkkklkkkklkkkkkkkkkkkkkkkklklklkn}vlkkkkkkkkkkklklkkkkkkkkklkkkkkkkkkklkkkkkkkkkkkkkkkkkkkkkkkkkklkkkkkkkkkkkkkkkkkkkkkkkkklkkkkkkkkkkklkkkkkkkkkn}vlklklklklkklklkklkkkkkllllkkkkkkkklkkkkkkkkkkkkkkklklkkkkkkklkkkkkkklkkkkkkkkllkkkkklkkkkklklkkkklkklkklklkkkkkkkkkkkkkklkkklllkkklkkklkkklkkkkkkkkkkkkklkkkkkllklklkkkmvvlkkklkkkkkklllklkkkkkkkkkkklkkkkkkkklkkkkkkkkkkkkkkklkkkkkkkllkkkkkkkllkkkkkkklkkklllklkkkkklkkkkkkkkkklklkkkkkklklklklkkkkkkkklklkkklkkkklkkkkkkllkkkkkkklkkkkklkklllkklkkkkkklklkkkkkkkkklkkkkkkkklkllkkkkkkkklklklklllkklkklkkkkklkklllkkklklkkkkkkkkkkklklkkkkklllkkkllklllkklkkkllllkkkkkkkkkkkkkkkklllklklkkkkkkkkkklkkkkkkkkkkkllkklkkkkkkkklklklkkkklkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkllkkkkkkklkkkkkklklklkkkkkklkkkkkklklkklkkkkkkkkkkkklkkkkkkllkkkkkkkkkkkkklkklkkklkkkkkkkklkklkkkklkkkkkkkkkkkkms{~xolklkkkkkkkkkkkkklkkkkkkklklklkkkkkklkkkkkkkkkkklkkkkkn}~qlkklkkklkkkkklkkkkkkkkkkkkkkkkkkkkklkllkkklkkklkklkklkkkkkkkkkklkkkkklkklkkkkkkkkkkklmz~qlkklkkkkkkkkklkkkkkkkkkkkkklkkkkkkkklkkkkkkkkkkkkkkkkkkkkkkkkkkkklkkklkkkkkkkkkkkkkklr~~slkkkkkkkkkkklkkkkklkkkkkkkkkkkklr~vlkkkkkklkkkkkkkkkkkkkklkkkkkkkkkn}~rkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkklkkkklkkkkkkklkkklklkkkkkkkkmr{}vnkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkklkkkkkkkkkkklkkkkkkkkkkkkllkkkkkkkkkn}vlkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkklkkkklkkkkkkkkkklkkkkkkkkklkkkkkkkklkkkkkkn}vlkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkklkllkkkklkkkkkkkkklkllklllkkkkklklklkklkkkkklkkkklkkkkkkkklkkkkkkkkkkkkllkkkklkllklkkkklklkkklkkkmvvmkkkkllkklllllkkkkkkkllkkkklklkkkklllkklklkllklkklkklkklklkkkkkkklkkkklkkllkkkllklklkkkkkklkkkkkklllkkklllkkkklkkklkllklklklllklkkklkkklkklkkkllkkkkklkklkkklkklkklkkkkkkkkkkkkkklkklklkkkkkkllkkkkkkklkllkklkklkkllkkkllkkkkkkkkkkklkllkkkkklklkkkkkkklkllkklllklkllkkkkkklkkklkllkkklkkklkkkkllkkklkkkkkkkkkkkklkkllkklkkkkkkkllkkklkkkklkkkklkkkkkkkkkkkklllklklkkllkklklkkkkkkkkklkkkkkkkkkkkkkkkklkkkkkllkklkkklkkkkkkkkkklkkkkkkklkkllkklkkkklkkklklllkkkkkkkkkklklkklkkkklklllklkkkkkklkkklkkkkkkklnv~|smkkklklkkkkkkkkkklklllkkkkklkkkkkkkkkkkklkklkklklkkkmytlkkklkkklkkkllkkklllllkllkkkllkkklkklkkklkklkkkkkllkklkklkkklkklklklklllkklklkklkkkklo~ulkkkkkkkkkkkklklklkkkkklkllkklkkkkkklkklkkkkkkklkkklllkkkkkkkkkkkkkkkkkkkklkklllkkkkmv~okkklkkkklkkllkkkklklkklkklkklkllr~vmkkkkklklkkkllkkkkkkllkkkkllkkkkn}~rllklkkkklkklkklkllklkkkklkkkklkkklkkkkkklkklllkkklklkkkklkkkkkklmpx~zrlkkkkkkkkkkkkkkkkkkkkkklkkklkklkkklklklkkkklklkkkkkkkklkkkkkkkkkkkkklkln}vmkkkkkklkklkkkklkkkkkkkkkklkkklklkkklklkkkkkkkkllkkkkkkklkkkkkkkkkklklkklkkkklklkkkkklkkkkkkkkkkkklkkklkklkkkkn}vlkkkkkkkklkklkkklkkkkkkkklkklkkkklkkkkkkkkkklkkllkkkkkkklkkkkkkkklkkklklkkkkkklllkkkkkkkkklkkklkkkkkklkkklllkkkkkklkkklkkklklkkklkkkkklkkklkkklklkkkkkkkkkkkklkkkkkklkkmvvlklklkkllkklkklkkllkkkkkklklkkkkkklkllklklkkkkklkkkkkllkkkklkklkkllklllklklllkkkkklkkkkklklkllkkkkkkkkkllklklkkkklkkkkllkkkklkklkklllkkklkkkkkkklkklkklklkkllkllkkkkkklkkkkklkkkkkkkkklllkkkkklkklkkkklklklkllklkkkkkkkkkkkklkllkklklkkkkkkkkkklkklkkkklkkklkkkklkkkkklkklllkkklkklllkkkkkkllkkkklkkkklkllklkkkklkkkklllklkkkkkklkkkkkkkkkllklkklklkkkllklkkklkkkkkkkkkkkkkkkkkkkkkkkklkklkklkklklkklklkklkkkkklkkklkkkklkkkklkkklklkkllllkkkkkllkklkkkkkklllllkkkkkkklkkkkkkklklllkkklkkkkkkkllkkkllllklpz~xolllkllkkkkkkklkklkkkkkkkkkklklkklklklkklkklklklklkltxmkkkkkllkkkklkkkklkkklllkklkklkllkklkkkkkkkkkkklklklklkkkklkkkkllkklllllkkkkkkkkklllltzmkllkkklkkkklklkklklklkkkkkklkkkkkkklkklklklklkkkkkklkkkllklkkklkklklkllllkkklkklkkkmz{nlkkkklkkkklkkkllkkkkkklkkkklklllr~vlkkkllkkkklklkkkkklkkkklklkkklkkn}~rlkkkkklkklkklklkkklkkkkklllklkkkkkkkkkkklkkkkkkkllklkkkkkkkkkklnv}}unkklkkkklklkkkkkklklkkklkkklkkkkklklklkkklkkklkkkkkkklkkkkklllklklklkkn}vmlklllklklkkkklkllllkkkklkkkkkklklkllllkllklkkkkkklklkkkkklkkkllkkkkkkkkkkllllkkllklkkklkklkkkkllkkklkkkkkkkkkm}vlkklklklkklkkkkkklkklkkklkkkkkkklkklkkkkllklkkklkkkkkllkklllkkkklkkkklkkklllkkklkkkklkkkkkkllkkkklkkkkkllkkkkkkkkkkkklkkkkkkkkkklkkkkkkkkkkkkkkkkklkkkkkkkkkkkkkkkkkkkklvvlkkkkkklkklkkkkkkkkkkkkkkkklklkklklkkkkkkkkkkkkkkkklklkkkkkkkklklkkkkkklkkkkkkkkkkkkkkkklkkkllklkkkkkkkkkkklkkkkkkkkkkkklkkkkkkkkkkkkkkkkkkkklkkkklkklkkkkkkklllkkkkkkkkkkkkkkkkkkkklkkkkkkkkkkkklkkkkkkklklkllkkkkkklkkkkklkklkllkkkkkkkkkkkkkkklkkkkkkkkkklkkkklkkkkkkkkklkkkkkkklkkkkkkklkkkkkkkkkkkkkkkkklkkkkkkllklkklkkkkkklllkkkkkkkkkkkkkkkkkkkkklkkkkkkkkkkklklkkkkkklkkkkkkkkllkkkkkklklkkkkkkkkllkklkkkklkkkkkklkkkkkkkkkklllllllklllkkkkkkkkkllkkkkkkkkkkkkllkklkkkkkllkklkkkkkkkkkkkkkkklkmr|zplkkkllkkllkkkkklllkkkkkkkkllkklkkkkkkkkkkklkkkkkklq~{mklklkkkkkkkllkkklkkkkkkkklkkkkllkkkllkllkkkkkkkkllkklkkklkkkkkklkklkklllkkkkkkkkklkmx~olllkkklkkklklkkkklklkklkkkkkklkklkllkklklklklkkkkkkkkkklklkklkklklkklkklkkkkkkklllkn}vmklkkkklkklkkkkkklkkkkklkllkkkkklr~vmklklkkkllkkkkkklkklllkklkkklkkkn}~rlkkkkkkkkkkklkkkklkklllkkkklkkkkkllklkllkkklkkkkkklllkkkkkkklmrz~~xolklkllkkkkkkklkkkklkllkklkkkkkkklkllkkkkkkklkklklkkkkkkklkklkkkklklkn}vmkklkkklkklklkkklklkkkkkllllkkklkkkkklkkkkkkkkkllkkkllklkkkkklkkkkklkkllkkkllkkkkkkkkllkkkklkkkklkkkklkkkklkkkn}vlkkkkkkkkklkkklklllkkklkklkkkklklkkklllklkklklkkkkkkkkkkkkklkkkkkkkkkkkllkklklklklkkkklkkklkkkklkkklkkkllkklklklkkkkklkkkkkklkkkkkkklklkkkkkkkkkkklklklkllkkklkkkkkkkkkmvvlkkkkkkkklkkkkklkkkklkklkkkkklkkkkklkkklkkkkkkkkkklkkkkkkklkkkkkklkkkklkkkkklkkkkkllkkkkkkklkllklkkkkkklkkkkkkkkkkklkkkkkkkkllkkkkkkklkkkkkkkklkkklkkklkkkkklkkkkkklkkklkkkkkkkkkkkkkkkkkkkklkkkkkkklkkkkkklkkkkkkklkkkkkkkkklkkkkkkkkkkkkkkkkkkkkkkkkllkkkkklkkkkkkkkkkklkkkkkkkkklkkkkkkkkkklkkkkklkkkkklkkkkkkkkklkkklkkkkkkkkkkkkkklkkkkkkkkkkkkklkkkkkklkllkkkkkkkkklkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkklkkkklkkkkkklkkkkkkkkklkkkkkkkkklklkkklkklkkkkkkkkkkkkkkkkklkkkkkkkkklkkkkkkkkkkkkkkkkkkkkkkmt}|rlkkkkkkkkkkkkkkkkkkkkkkkkkkkkklkkklkkkkkkkkkkkkkkn|~plkkkkkkkkkkkkllkkkkkkkkkkkkkkkkkkkkkklkkkkkkkkkkkklkkklkkkklkkkkkkkkkkkkkkkkkkkkkkkm|~slkkkklkkkkkklkkkkklkkkkkklkkkkkkkklkkkkkkkkkkkkkkkkkkkkkkkkkkkkkklkkkkklkkkkkkkkkklr~~rllklkklkkkkkklkkkkklkklkklkkkkkklr~vmkkklkkkkklklkkkkkkklkkkkkkkkkkkn}~rlklkkkkkkkkkkkkkkklkkkkkkkkklkkkkkkllkklkkkkkkkkkllkkkkkkkkknv}{qlkkkkkkllkkkkkklklkkkkkklklkklklkkkkkllkkkkklkkkkkkklkklkklllkkkklkn}vmkkkklkkkkkklkkklkkklllkkkklkkkllkkkkkllkkkkkkklklllkkkkkkkklkkkkkkkkklkklklkkkklkkkkkkkkkkkklkllkkkkkkkkkklkkn}vmkkkkkkkkkkkkkkllkkkklkklkkkkkkkkkklkkkkllkkkkkkkkkklklkkkkklllkkklkkkkklkllkkkklkkkklklllkkkkkkkkkkkkkkkkklkklklkkkkklklklkkklkkkkkllkkkklkkkllkklkkklllkkkkkkkkkklkkkmvvlklkkkkklkkllkkklkkkkkkkkkkkkllklkkkkkklkkklkkkkkkkklkklkklkklkkkkklkkkkkkklkkkkkkkllkkllkllkkkkkkkkkkkkkkkkkkkllkkkkklkkkkklkklklkkkkkklklklkllkkklkkklkklkkkllklkkkkklklkklklkkkkklkkkkkkklkkkklkkklkllkkkkkkkkkkklkkkkkkklkkllkkkkklklkklllkkkklkkkkkklkklkkkkkkkllkkkkkkkkkkklkkkkkkkkkkkkkkklkklklkkklkkkkklkkkkkkkkkkkllklkllkkkkkkkklkkkkkkkklkllkkkklkkklkkkkkkkkkklklkkkkkklkkkklkkllkkkkkkkkkkkllkllklkklkkkkkkkkkkllkklkkkkkkllkkkkkkkklklkkkkkkkkkklkllkkklkkkkkkkkkklkkkkklllkkkkkkkklkknv~}tmkklkkkkkllkklklklklkkkklkkklkkkklkkklkkklkkklklmy~slkkkklklllkllkkklkkkkkkkkkkkkkklklkkkkkkkkkkkkkkkklkkkkkklklkkkkklklklklkkkkkkkklllq~xmkkklkkkkklkkklkkkkkkkkkkkkkkkkkklkkklkkkkkkkkkkkkkkklkkkkkkklkklkkkkkkkkkkkkklkkllu}nlklkkkkkkklkkkkkklklkkkkkklllkkklr~vmkkkklkkkkklkkkkkkklkkkkkkkkkkkln}~rlkkkkkkkkkkkkkkkkkkkklkkkkkkkkkkklkkkkkkkkkkkkkkkkkkkkkkkkmqz}tmkkkkkkkkkklkklkkkkkkkkkkkkkkkkkkkklkkkkkkkkkkkklkklkkkkkkkkklkkkkn}vmkkkkkkkkkkkkkkkkkkkkkkkkkkkklllkkkkkkkkkkkkkkkkkklkkkkklkkkkkkkkkkkkkkkkkkkkkkllkkkklkkkkkkkkkkkkkkkklkkkkklkn}vmkkkkkkkkklkkkkkkkkkkkkkkkkklkkkkkkkkkkkkkkkkkkkkkllkkkkkkkkkkkkkkklkklkllkkkllkkkkkkkkkllklklklkkkkkklllkklkklkllkkkkklkkkkklklkkkkkkllkklkllklkkkklkkkkllkkklkkkklkkklvvlkkkkkkkkkllkkllkkllkkkkllllkkklkllkklkllklkkklklkkkklklkklkllkkkkkkkkklkkkkkklkkkkllkkkllllkkllkkkkkkkkkkkkkkklkklklkkkllklkkllkklkklkllkllkklkkkkklkllklkklklkkkkkklkklkllkllkkkklkkkkkkkkkklklllkkkkkkkkklkklkkkklkkkkllkkkkkklkklkkkkkklkkllkkkkkllkkkkkklkkklkkkllklkkkkklklkkkklklkkkkkllkkkkllllkkkkkkkklkkkkkkllkkklklkkklkkkkkkkkkkkllklkkkkkkklkkkllkklllklklllkkkkkkkkkkkkklkkkklkkkkklklkklklkkklkkkkkllkkkklkkkllklklkkkklkllklkkklkkllkkklkkkkkklkkkkkkkkkklkkkklkllklklllkkkkkkklklkknw~vnlllkkkkklkklkkkklkkkkkllllkkklkklkkkkkkkkkklkklt~wlklkklkkkklkkkkkklklkklkklkkkkkkkkkklkkkkkkkllkkkkkkkkkkkkkkkkklklkklkkkklllkklkklmu|nkkkklkklkklkkkkklkkkkkklkkkllllkkkklkkkkkllkllkkllkkkkkkkkllkkklkkkkkkkklkkkklkkkmyymkkklkkkkkkkkkkkllkkkkkklklkkkkkklr~vmkkkklkkkkkkkklkkkkkkkklkkklkkkln}~rlkklkkkkkkkklkklkkkklkkkkkkkkkkkkkkllkkkkklklkkklkkkkklkkmt|~vnkkklkkkklkklkkkkkkkkkkkkllklkklkklkkkkkkkkkkllkklkkkkkkllkkkkkkkn}vlkkkkkkklllkkkkkkkklkkkkkkkklkklkklkkklkklkkkkkkkkkkkkklkkklkkkkkkkkkllkkllklkkkkklkkkkklkkkkkkkkklkkkkkkkkkkkn}vmkklkkkkkkkkkkllkklkkllkkkllkkkkkkkklkkkklkkkkklkkkklkkkkkkklklkklllkkkkkkkklkkkkkkklkkkkkkklkkkklklklkkkklklkklklkkllkklkkkklklkkkkkkkkklklkkkkllkklkklkkkkkkkkkkkkklkmvvmklkkkklllklkkkkkkllllkkllkkklklkkkkkkkkllllllkklklllkkkllkkklkklkkllkkkkkklklklklkkkkkklllllkkllklllkkkkkkllkkkkllkllkklkkkkkklkkkkllkkkkkkklkkkkkklkklklllkklkkkkkkkklkkkllkklkkkkkklkkkkllllkklklkkklllkllkkkkkkkkllllllkkkklkkkkllllkkkklkkkkkkklklkkkllllkklkkkkkklkkklkkllkklkkklkklkklkklklkklkkkklkkkkllllkklkkkkllkklklkkkkllkklkkkklkllkkkkkllkkkkllkklllkkkkkkkllkkkllkkkkklkklkkkkkkkkkkkllkkkkklkklllkkkllkkkkkkkllkklklkklkkkkkkkkkkkkklkklkkkklklkkkkkkklkklkklkkklkllkkkklllkkkkkllnw~wnlklkklkklkkkkkkkkkkkkkkllklklklkkkkkkklkllllklp~{mkkkklkkkklkklkllkkklkkklklkkklkklklkkkkllkkkkkkkkkkkkklkkklkklkkkllkklklllllkkkklmz~qlkllklklkkkkkkklkllkkkklllkklkkklkllkklkklkkkklllllkkllkkllkllkllkklklkllkklklllln}ulkklkkkklkklklkkkkkkkklkkkkkkkkkklr~vmlklkkkkklkklklklkkkkkkkkkkkklkln}~rlklklkkkkkkkkklkkklkklkkkklkkklklkkkkllklkkklkklkkllklkknw~~xnklkklkkkklkkklklllkkkklkkklklkkklllkkklkkkklllllklklkkllklkkllkn}vmklklkkkkkllklkklklkkkkkklklkkkklklkkkllkklkkkkklkklkkkkklllklkklkkkkklklkkkllkkkklkkkkklkkkklllkllklklkkkkkkln}vmklkkklkkkklklkkkkklkkkkkkkkkklkkkkkkklklklkkkkkklklklkkkkllkklkkkkkklkkklkkkkkklklkkkkklkkkkkkkkklkkkkkkkkklkklkkkkkkkkllklkklkkkkkkkklkklkkkllkkkkkkklkkkklklkkllkkkkmvvmkkkklkllkkkkklkkklkkkkkkklklkkklkkkkkkllkkkkkkkklkklkklklkklkklkkkklkkkklllkklkllkkklkkkkklkllklkklklkkkkkkklkkklklkklklkkkkkkkklkkllkkkkkllkkkkkkkklkkllllllkkkkkklkkkkkklkkklkkkkkkkkkklklklkkkkkkkkkkkklkllkkkkllkklkkkllkkkklkllklklkkklllkkkklkllkkllkkkklkkkllklkkkkkllkkkkkklllkkllkkkkkkklkkkklkkklllklkllkkklkkkkkklkkklkkkkkkkkkkkkkkklkkkkklkkklkkkkkkkkklkllkklkkklklkkllkkkkkllllkkkkkklklkllklkkkkklllkkkkklkkkkkkkkkkllkkkkkkkllkkkkkkkklkllkkkkklkkkkkkkkkkkllkklllkllkkkklllkkkkmwwnlkkkkklkllkkklkkkkkkklkkkklkkkllklkklkkkkllkkn|}nkkkklklklkkkkkkkklklklkkkkkkkkkkkkkkkkklkklkkkkllllkkkkkkklkkkklkllkkllkkkkkkkkklo~ulllklklkkllllkllllkkkkkklllllllkkklkkkkllllllkkkkkkkkklkkkkklkkkkllkkklkkkkkkkkklq~~pllkklllllkkkkkllklklkkkkkkkkklklklr~vlkkkkklkkkkkkklllkkkkkkkkllklllkn}~rlkklkklkkkkkkkklklkkkllkkkkllllkklkkkklllllkkkkklkkkkklozyolkklkkkkkkkkkkkkkklkkkkklkkklllkklklkkkklkkllkklkklkkklkkkkkkkn}vmllkllkkklkklklkklkkkkllkkkkkkkkkklkkkklkkkkklkklkkklkkklkkklllllkklkkkklklkkkkkkkkklkkkkkkllkklkkllkkklllkkkln}vmkkkkkkkkkkkkklkkkkklkkkllklkkkkkkklkkkkklkklkkklkkkllkkkkklllkkklkklklkkkkkkkkkkkkkkkkkkkklkkklkkkkkkkkklkkkklklklkklkkkkkkkkkllkkkkkklkkkkkkkkklklklkkkklkkkkkkkkklkkmvvmkkkkkklkkkkkkllkklkkkkkkkkkkkklkklklkkkkkklkkkkkklllklklkkklkklkklkkklkkkkkklkkkkklkkkkkkkkllkkkkkkkkkkklklkkkkklkkkkkkkklkklkkkkkkkkkkkkkklkkkkklkllkkkklkkkklkkkkkkkklkkkklkkkkkkkklkkkkkkkkkkkkkkkllkkkkkkkklkklkkklkkkkkkklklkkklkkklkkkkkkkkkkkkklkkklklklkllkklklkkkkkkkkkkklkkkkkkkkkkkkkkkkkkklkkkkkklklkklkkkkllkklkklkkkkkklkkkkklkkkkkkklkkkkkklklkkklkklklkkkkkkkkklkkkklkllklklkkkkkkkklkkklkkkkkkkkkkkkkkklkkkkklkkkklkkllkkkklkkklkkklkkkkkkkkkkllkkkkkkkkkkkkkkkkklkkkkkkkkkkkkkmv~wmkkkklkkkklkkkkkkkkklkkkkkkkklkklkkklkkkkklkkmx~rlkkkkkklkkkkkkkkkkkkkkkkkkkklkklkkkkkkkkkkkkllkkkkkkkkkkkklkkkkkklllkkllkkkkklkkls~zmlkkkkkkkkkkkklkklkkkkklkkllkklkkkkllkllkkklllkkkkkklkkkkkkkklkkklllllkkkkkklkkklu|nkkkklkklkkkkklkkklkklkkkkllkklkkklr~vmkkkkllklkkkkkklkkklkkkkkkklkkkkn}~rlkllkklllkkklkkkklklklkkkkkkkkklklkkkkkkkklkkkkklkkkkmr|zpkkkklkkkkkkkklkkkkkkkkkkllllklkkkkkklkkklkkkkkkklkkllkklkkkkkn}vmlkkkkkkklkkkkkkkkkklkkkkkklklkllkklkkkkkkkkklkkkkkkkkklkklkkkkkkkkklkkkklkkkkkkkklkkklkkllkkkkkkklkkkklkkkkkkn}vmkkkklkkklkkklkllkkkkkklllkkllklkklkkkllllkklkkklkkklkkkkllkklklklklklkkkkkkklllkkkklkklkklkkklkklkkklkklklklkklkklkkkkkllklkllklkkklkkkllkkkkllkkkkkkkkklkkklklkkkkkklmvvmklkklkklkkkkkkkkkkklkklkklklkkkkklklkkkkklkkkkkkkkllkkkkklllklkklklkklkkkklkkklkkkkkkkkklkkklklklkklkkllkkllkllkllklkkkkkkkklkkkkklkkkkkkkkklkkkkkkkkkkklkkkkllkkkkklkkkkkkkkkkkkkklkkkkkklkklkkkkkkkkllkkkklkkkklkkklkkkkkllkkkkkkkkkkkkkklklklkkkklkkkkkkkklkklkkklklkllkkkkkkkkkkkkkkkkkkkkkkkkkkkkklkkklkkklklkkkkkkklkkkklkklkklkkkklkkkkkllkkllkkkkkkkkkkllkkkllkkkkkklklkkllklllkkkkkkkkkkkkklklkkkkklklkkkklklkkkkkkkkkkkkklkklkkklklklklkkkkkklkkklkkkkllkkklkkklkklkkkkllklkklkkkkkkkmt~~tmlkkkkkkkkkkkkkkkkklkkkllkkkllkkkkkkkklkkkkkls~vmlkkklkklkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkllkklkkkkkklkklkkkkkkkkkkkklkklkkkkklklkmx~olkkkklkkkkklkkklkklkklkkkklkkkllkkkkkkkkkkkkkklkkkklkkkkklkkkkkklkkkkklkkklkkkkmyxmklkklkklklkklkkkkkkkklkkkklkkkkkklr~vmlkkkkklkkkkkkkkklkkkkkkkkkkkkkkn}~rlkkkkkkkllkkkkkkkkkkkkkkkklkkklkkkklklkkkllkkkkkkklkmt|zplllkklkkklklkkklkkkkkklkkkkkkkkkkkkklklkkkklkkllkkkkkkkkkklkn}vmklllklklkklkkkkklkkklkkkkkkkkklklkklkkkkkklkkkkkklkkkkkklkkkkkkkkkkkkkkklllkkklklkklkklkkkllkkklkkkklkkkkkkkkn}vmlkkkkllkkkkkkkkkklkkklkkklkkkkkkkllkkkkkkkkkkkkkkkkkllkkklkklkklkkkkkkkkklkllkllkkkkkkkllkkklllklllklklkklkkkkklllkllklklkklkkkkkkkkklklkkllkkllkkkkkllkkkkklkkkllklkkmvvmklkklkllkklkllklkklkkklkkklklkkklkllklkkllllkkkklklkklklllllklllkkllklklllllkkllkkkkklklllkkklllkkkllkllklllklkkkkkkkklkklllkkkkkklklkklkkklkkkklklkkkkklkklklklkkklkkkllklkllllkkkklklkkklkklkkkkklklkllkkklkkkkkkkkkkkkkkkklklllklllkkkkkkkkkklkklkkkkkkkklllkkklkllkkllklklllkkkkklkklkkklkklkllkklklkkkklklkkkkkkllkkllkkklkkklkkllkkkkklkkllkkkkkkklllkkkkllklkkkllkkkklklklklkkkkkkkkkkklkllkkkklkllllkkllkkkkkkklkkklkkkkkllklkklkkllkllkkllkllllkkkklklkllkkkllllkklklkklkkkklkkkkklkllr}~~~~~~~~~~~~~~~}tmlkkkkkkkllklkkklkklkkkkkklkklkkklkklklklkklo~zmlkkkkkkkkklkkklklkklkkklkkllkllkkkkkkkklllkklkkkkkkllklkkklkkkkkkkkkkkkkllkkkkkn|slkklkkkklkkkklkklklkklllkkklkkkklkklkkllklkkkkklkkkllkkkklkklkkklklkkkllkklllkln}~sllllklkkkkkkklklkklkkkkklkklkklllllr~vmlkkkkkkkkkkklkkllklkkkkklklkklkn}~rlkklkkkklkkklklkkkkkkkkklkkkklklklkkkkkkkkkkkkkklklmt~~~~~~~~~~~~~~zpllkkkkkkkkkkkkklklkkkkklklkkkklklkkkkkkkkkkkkklkklkkklklklkn}vmkkllklkklkkkkkkklklkkkkkkklllkkkkkkklllkkkkkkkkkkkklklkkkkkkkklkkkkklkkkkkkkkllklkkkkkkklkkkkkkkkkkkkkkkklkkkm}vmllklklkkklkkkklkkkkkkkklkkklklkkkkkkkklkkkkkkkkkkklkkllkkkkklkkkklkkkllkklllkllkkkkklkllkkkkkllkkkkklllllkklkklllllklklkklllllkkkklkklklllkkllkkkkkllkklkkklkkllllkkkkmvvmlkklllllkkkllkkllkllllkklkkkllkkllllklkklkklllkkkkllkkllkkkklllkkkkkkkkkkkklklkllllkklklkkkklklllkllklklllkkkllkklkklklklkklkkkkklkllklkllkklkkllkkkkkkklklllklklllllklklkllkkkllklkkklkklkllkkllkkkkkkllkllklkkkkkllllllkllkllkkkkllkkkklkkkkkkllkkkklkklkllklkkkkkkkkkllkkklklkklkkklkkkllkkklkkllkkkkkkkllkklllkkkkkkkkkkklkkkkllkllkkkkkklllklkklkkkkkkkllkkkkllllllklklkklkklllklllkllkklkkkklkkkllkkklllkklklklkkkkkklklklkklklllklklklkklkkkkkkllkkkllklkklkkklkkkklklkkkklkkklkkkkklklp{~~}{zxvvtrrrrrrrrrrrrrrsuvwyz}~~}qlkkkkllllklllkkkkllkllkklllklllklklkklllklkn{}nlllklkklkkklkkllkkllkkklllkkkllkkkkklkklkllkkkkkkkllkklkklklkkllkkllkklkllkllllp~wmlklllklkkklkklkkllkklkkkkkkkklllkllkkllllkllkllklklllkkllkllllklkklkkkklkkllklq~~olklllklkklkklklkkklkkkllkklkkkllkllr~vmkkkkkkklkkkllkklkkkkkkkklklkkkln}~rlkkklkklklkklkklllkkkkkkkkklkklklkkkkllklllkkkkkkknv~~~}|zyvvurrrrrrrrrrrrsuvxz{}~zokkllkkkklklkkkkklkllllkkllkkklkkklkkkkkkkkkllkkkkkkkklkllkn}vmklkkkllkkkkkkkklkkkklkklkllkllkkkklklkklkkllkllkkkkkklkkkkkkllklklkkkkklkklkkkkklklkkkklkllkkkkkkllkkkkkklkkln}vmklkkklklkkkkkkkllkkkllkkkklkkklklllkklkklklklkkkllkkkllllklklkkllklklllllklklllkklklklllllkklklllkklklklkkkklkklllkklkklklkllkkklklkkkllklkllklkkkkklllkkklkkkklkkklklmvvmkkkklklllklllklkllllkkklllkkkkklllkkklkkkkkklllllkllkkkklllklklkkkklkkkllkkkkklllkklkkkklkkklllllkkkkkklklklkllkkklkklkklllllkkkkklkkkklllllkkklkllklkklklklkklkkkkkklkkkkllklkkkklkkkllkkkkklllkklkkkkllkklkklllkkllkkkkkkkllklklkkllkkkkkklklllklkkkkkkllkkllkllllllkkkkklllkklllllkkkklkkklllkllkkkkkllklllklklkkkkkllklklllklklllkklkklllllkklklklllkkklkkklkkklkkklkkkklkllkkklklklllkklklkklkklklkkllkkklklklkkkklkkllllkkklkkklkklkkllklllkkkllklkllkllkkkkllllkkkkklklllklkkkklkkklllny~}zwurpnnmmmmlllllllkllllllllmmmmnoprux{}~{plkkklllkkkkkllklkllkklkllllkklllkllkkklkllmw~qlkllkklkklkkkllkllllkklklllkkkllkkklllklkkkkklkkllkkklllklllklklkllklllkllllkkmu{nlkllkkklklllkkklklkkkkllklklklkkkkkklllkkkllklkklkklkkllkkkkkkklklklklkkklllklu{nlkklkllllkkkkllklkllkkkkkkkkkklkkklr~vmklllklklkklkkkllkklllkkllkklklkn}~rllkklkllkkklkkklkllllkkkkllkkkkkkkkklkkklklllkllknw~~}zwtronmmmmmlklllklkkllllllmnnortw{}ynklllkklkkkklklkklkkklllkkllkklkkklkklkkllklllkkllkklkkkkkn}vmkkllkklkkkkklkkkkllkllklllkkklklkllkkkkkllkkklllllklklkkkkllllklkkkkklkllklllllkkklllkllklkkkkklkkkllklkkkllln}vmkklkklllklkkkklkllllkkklllllkkkklkkkkkkkkkklkklllllkkllkllllllllkkkllllkkkkkklklllklkkklllkkklklkkkkllkkkkklkkllkllkklklkkkkkkllkkkkkkklkkllkklkkkkkkllkkkkllllkkllklkmvvmlklkkklkkklklkkkkklkkkklklklklkklklklllkkklklkkkkkklkkkklllklllkllllkkkkkkklkkllkkkkkkklklkkllklkkklklkklkklklkkllkkklkklklkklkklklkklklkklkkkklklkkklllkkkkkkllkkllkklllkklklkkllkllkkkkkkklkkklkkkkllklkkkklklklllklkkkkkkklkklkkllkklklkkkkkkkkkklkkkllklkklllklkllklllkklkkklkkllkklkllllkkkklllkklkkkkkkllklklklkkllkkklkklklkkllklkkkkllllklklklllkkkklkkkkllklklllkkkkklklklllkkkllllkkklkkkklklkkklklkkkkkkkkkkklklkllkkkklklkkkklklkkkkkklkkkkllkkkkkkklkllkklkkklkkklkkklkkkkklkklmu~~|yuqnnmllkkklkkkllkkkklkklkkllklkkkkkkklmmmorv{}xnlllkkllklllkklllkklllllkkkkkkkkklllkkklklls~umlkkkkkkklkkklkllklklkklkklllkkkllkkllkkkkllkkkkkkklkklklkklllkkkklkklkkklllklmy~plkkkkkkkkllkklkklllkkklkklkklklkklkkkkllkklklklllklkkklklkklkklklklklkkklklklmyvmkkllkklkklllkkklkkkkkkklkklkkkkllklr~vmkkkklklllllklklkkklkkklllklkllln~rlkkkkkkklkkllklkkkkkkllkkkkkkklklkkkklkllllllklknw~|yuqnnmllkkkkkklllkllkklkkllkkklkkkllmmosw{}wnllklllkklllklllllllklklklkkkklllklklkklkklklkkkkllkllklkn}vmlkkkkkkkllkllkkklkllkllllllllkkklllklklklkklkllllkkkkkkkkkllkkkkkklllkllkkkllllkllkkkkkkllklklkklllkklkkkklkkn}vmlkllkkkllkkkllkklklkkkllklklllklkkkkkkklkllllkkllllllkkklkkllkllklkklkkkkllkklkkllklkklkllkklkllkkllkkklllkklkkklllkllkllkklklklklklllklkkkkkklkllklkllllkllklkkkklkklmv~}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}|umlkkkkllllllkklkkklkkklklklllklkllkklkklkkkkllkklkklklkklkllkkllkkkklkkkkkkllllllkllkklllkkklllllkkllkklkkkkklkkklllklkklkllkkkllkkllklklkkklkkllkklkllkkllkkkklllkkklklkklllklkkkkkkkklkkklklkkllllklkklkkllklkkklkkkklklkkkllllkkllkkkkkkllklllllkkkklkkkkkkllkllkklkklkkklkkkkkllkkllkllkklkkkkllkkkkkkllkkkkkkkkkllkkkllkkkkklklkllkkllkklkkllkklllkkkklllkkklklkkkklllklllkllkkllkkllllkklkklklklklllkkkkkkkkkkkkllklkklllklklklkkllkllkllllkkkkklkkklkkklkllllllllllkkkkkkklklkkllkllklp}~|xsomllkkllkkkklkkklkklkklkklklllkkkklkklkklkkllmnpty}~umkklkkklkkllklkkklllkklllkkkkklkkkkkllkkllo~xmklkkklllllkkklklkkklkllkkkkkllkkklkkklklkkklkklkllkkkklklllkkkklllkkkkkkllkklo}ulklkklkklkllkkkkkkklklklkllkkkklkkklkkkkklkkkklkkkkllklkkkkllllkkkklkklkkkkkkn|~qlklllkkkkkkkllllklkllkllklkllkkkkkklr~vmkklkkkklklkkkkklklklklkkkklklkln{}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}~~}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}|qlklkkkkkklllkkklkklkkkklkkkkkkklkkllllkkklkkkllnw~{wromllklkkkkkkkklkklkkkkkkklkkkkklkklkkkkklmnpu{~~umlkklkkkkkkllkkkklkkkklkkklklkkllklkllkklkllkkkllkkllklkn}vmlkllkkklkllklkllllkkklkklllklkkkkklllllklklklkllllkllkkklllklkkllklklkkllkllkkkklkkkkllkkllkklklllkklklkkkklln}vmlklklklkkkllkkkkkkklkkkkklklllkllklklkllklllkkklkkkklkkkkklkklklllkkkllkllklklllkllkllkklllllkklklllklklkllkkkkllklklllkllklkkkkklkkkllkklllllkkllkklkklllklklklkllllkmv~tonnnnnooonnoonnnonnnoonooooonnnnooooonnnonoonnnnnnoooonnnnnnnnnooonnnnonooononnnnnoonnonooonnonnononnonnnnnooonoonnmlllkllllklklkkkkkklklkllllllkklkkkkklllkkllkkllkkkkklklkllklllklkllkkklkllllkkkllkklklkkllklllkllkklkkklkllkklllllkkkllllkklkkllkkkklllkkllklkkllkllklllkklkklklllklkkkkllkkkklllklkklklllklklkklkkkllkllkkkllklklklllkllllklklkllkklklllklllkllklklkklklklklklllkllklkllkllkllllkkklkkkklkkllklkkklkllkkllklkllklklllllllklllklkklklllllklklkllklkklllklkkllllklkllllklklkkkllllkllllklllkllklklkkkllkkkkllkllkkklkkkklklklkklllllllkkkkllllkllllklklklkklllkkkllkkkklkkkkklkklkkkklkklklllmy}xsnmlkkllklkkklklllkklkllkllkkkllkllkkllllkllkkkkllkllmpu{~}qlkklkklkllkklkklkllkklklllklllkklllklkkkkmz|nkllklkllllkllklkkkklkklklkkkkkklkkkkklkklkkllkkklkkkllkkkkkllllllllklkkkllkkls~ymkkllkklkkkkkkllklllklkllkkklkllklkllkkklklkkkllkkkllkkllllklkllllkklkkkkklllp~|nlklkklllkkkklklkllkkkkkllkllkllkklllr~vmkkkklklllkllklkkkllklkklkkllkkllnnnonnnnnnoonoononnoonnnnonnonoonnonnoononnnnnnnnnnononnonnnnonnnnonnot~~toonnnoonnonnnonnnnnnnnnnononononnononnnnnnonononoonnnonnnonnonnnoononnllklkllklklklkkklkkllkkklkkkklkkklkkkkkkllkklkkmw~~|wqnmlkkklllkkkklkllkkkklkkkklllkkllkkkkkkklkllkklmnqx}}tmlkkkkkkklklllllkkkkklkkkkkklkllkklllklklkklklllllkllkkn}vmllklklkkkllklklklkkllklkkklklllkkkkkkklkkklllkkkkklkkllkkklkllklklkklklkkkkklklllklllkkklkklllkkklkkllkkklkkln}vmlklklllkklklkkllkklkkklllkkklllkklllklklkkkkkkklklkkllkkkllkkkklklllkkllllklkklkllkllllllllklkllllkklllllklklllllllkklllkllllklklklkkllkllkllllllkllkkllllllllklllllkkmv~rlkkkklkkkkkllkkkllklkkklkkklkkkkklklkkklklkklkkkllkklllkkkkkkkkllllkkkklllkkklkkklllkkkkkllllkkkkklkkklkkkkkllklkkklllllklllklllllklllllkklklklllklllllklkllllllklkllklkkllllllklllllkkllllkllklkllllllllkllllllllllklllllklllllllllkkllllkkklklklklllklllkllkkllllllkklllllllklllllllllllklllkllkllllllkllkklklklkklllklllllllklkkllkllllklklllkllkllllkllllllkkllllkkllkllkklllllkkklkkkkllkkllllllllkklllllkllllkklllkkllllkllllklllllllllllllklllllkllkklklllkllklklklklllkllkkllklllllllkllllllklklllllllllkklllkllklkkkllllkklkllllklkklkkkllkllllkllllllllkklllklklllklllllkklllllkllllllkkllklllllklklkmt~}wqmllllllklllklkkklllkklkllllkkllllklllkllllklllkkklllllklmnry~ynllklklllkllkllkklllllkklklllklklkllkkkklmv~plllkklkkllkklklklkllllklllllkklllklklkkkllkkkkkllkkllllllkkllllklllllkllkkllmw}olklkllkkllkllklllkkllklkllllkkkkllllllllkllllkkkklklkkklkklllkklklllkklkklkmt~ynllkllkkklllllklklkklklkkkklkklklkklmr~vmklllkkkklkllllkllllklllkkkklllllkkkkkkkkkkllkkkkkklkkkkkkkklkkkllklkkkkklkkkkkkklkkllkklllkkkklkkklkklq~~qlkkklkkkkllkkklkkkkkkkkklllkkkkklkkllkkkklkkkllklkkkkkkklkkklkkkkkkkkkllkklllllllkklkllkklkkkkkklklllkkkklkllkklklklmt~}ztomlklkklkkllkllkkllklkllklkllkllllklllklkklklklllllklmpv|}rllklklkkkllkkklllkllkkllkkkklkkklkklllklllkkkklllkkllln}vmkkkklkklkklkkklklkkllklkklllklkkllklllkklkkllkkklkkllklkkkkkllkllkkklkkkklkllkklllllkllkkkklklkkllkkllkllklkkn}vmlkkkkllklkllkllllkkkklklkllklkkkllkllkllkkkkkkkllkklklkkkkllkkllklllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllmv~rlllllllkllllllllllllkllllklllllllklllllllllllkkllllllllllllllklklkllllllllllllllllklllklllllllllllllllllllllkllllllllllllllkllllkllllllllllllllllllllklllllllllllllllkllllllllllllllklllllllllllllllllllllllllllllllkllllllklllllllkllllllllllllllllllllllkllllllllllllkllklllllkllllllllllllllllllllllllllllllkllkllllllkllllllklllllkllllkllllllllllllllklllllllllllkklllkllllllllklllllklllllllllklllllklllllllllllllllklklllllllkllkkklllklllklllllllllllllllllllklllkkllllklllllllllkklllllklllkllllllllllllllllllllllkllllllklkkkkllllllllllllllllllllllllllllllkllklllklllllllllllllkllllllllllklllkllklo{}xqmlklklllkkkllllklllllllkklllklkllllklllllllklllllllllllllklklnry~~ulkklkklkllkllllllllklkllllkklllllklklllllq~~tmlkllkkllllllllkllllllkllklllllllllllllllllkllkllkllllllllllllkllllkklllllkkm{y~sllllklllllkllllllllllllllllllllllkllklllllkkkllllkllllllkklllllllkllllkllklmxtmkllklkllllklkllkllllkkllllllllllklklr~vmkklllklklkllkllkklllkllllklllllkllllllllklllllkkklkkllllllklllllkklllklllllklkllklllllllkllllllllllkllr~~rmkllllllllkllllkklkllllllllklkllllklkkllllklkkklklkklllkllllllllllkkllllklkllllkllkllllkllllkllllkllklklllkllllkllkmt~}xrnlllkllllkklllkkllllkllllkllllllllkllllllllllkllkklklllkkmov|{plklllkllklkkkllllkklkllllklkkllkkllkllllklklllkklkllln}vmklllllkkklkllllkkkllkllkkkllkllklllllllllkllllklllkklkkllklkklllklkllllllllklllllllkllkllklkklkkkllllkklklkkkn}vmlkklllllllkllllllkklklllkllkllllkklkllllllllllklllkkkllllkllkllllllllllllllllllllllllllllklllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllkmv~rlkllllllkllllllllllllllllllklllklllllllllllllllllllllllllllllllllllllllllllllllllklllllllllllllllllllllllllllllllllllllllllllllllllllllllllllklllllllllllklllllllllllllllllllllklllllllllkllllllllllllllllllllllllllllllllllllllllllllllllllllllllklllllllllllllllllllllllllllllklllklllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllklllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllmv~yrmlklkllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllns{}plllllllllllklllllllllllllllllllllllllllln|wmkllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllklp~}r}wmkllllllllllllllklllllllllkllllllllllllllllllllllkkllllllllllllllllllllllllm|~plllllllllllllllllllllklllllllllllllllr~vmkllllllklllllllllllllllklllllllllllllllllllkllllllllllllllllllllllllllllllllllllllllllklllllllllklklklr~~rlklllllllllllllllllllkkllllllllllkklllllllllllllllllllllllllllllllllllllllklklkkllllllklllllllllllllllkllllllllllklr}}xqmlklllllllllllllllklklllllllkllkkklllklllkllllllllllllllllllkmpw}xnllllllllllkllllllklklkkllllllllllllllllllllllllllllkn}vmllklllkllkkllllllklllllkllllkllllllllklllklllllllklllllllklllllllllllllllkllllllllllllllllllllkllllkllllllllln}vmkllllllllllklklklllllkllllklllllllllllllllllllllklkllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllklllllllllllllllllllllllllllllkllllllllllllllllllllllmv~rmllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllklllllllllllllllllkllllllllklllllllllllllllllllllllllllllllklklllllllllllllllllllllllklllllllllllllllllllllllllllllllllkllllllllklllllllllllllllllllllllllllllllllllllllllllllllllllllllllllkllllllllllllllllllllllllllllllllllllllllllllllklllllllllllllllllllllllllllllllllllllllllllllllllllkllllllllllllllllllkllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllp}}unllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllklow~xmlllllllllllllllllllllllllllllllllllllllmy{nkllllllllklllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllkmtzp{{nlllllklllllllllkllllllllllllllllllllllllllllllllllllllllllllllllllllllllllp~{nllllkllllllllllllllllllllllllllllllkmr~vmllllllllllllllllllllllllllllllllllllkllllllllllllllllklllllllkllllllllllllllllllllllllllllllllllllllkmr~~rlkllllllllllllllllllllllllkllllllllllllllllklllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllkklllllq|~yqmlllllklllllllllllllllllkllllllllllllllllllllllllllllllllllllllllmry~~tmlllllllllllllllllllllkllllklllllklllllllllllllllllln}vmllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllkllllllllllllllllllllllllllllllllllllllllllkllln}vmkklllllllllllllllllllllllllllllllllllllllllllllllllllllllllkllllllllllllllllllkllklllllllllklllllllllllllllllllllkllllllllllllllllllllllllllklkllllllllllkllllkllllllkmv~rmllllllkllllllllllllllllllllllllllllllllkllklllllllllllkllllllllllklllllllllllllllllllllllllkllllllkllllllllllllllllllllllllllklllllllllllllllllklllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllklllkllllllkllllkllllllklllllklkkllllllllllllllllllllkllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllklllllllklllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllkllllllllllllllllllllllllklllllllllllllllllllklllllllllllllkllllllllllllllllllllllllllllllllllkllllllllllllllllllllllllllllllllllllllllllllllklllllllllllllllllllmw|rmkllllllllllllkllllllllllllllllllllllllllllllllllllllllllllllklllllllllnt|~qlllllllllllllllllllllllllllllllllklllllmu~ollllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllmywnw~pllllllllllllllllllllllklllllllllllllllllllllllllllllllllkllllkllllllllllllt~wmkllllllllllllllllllllllllllllllllllklr~vmlllllllllllllllllllllllllllllllllllllllllllllllllklllllllllllllllllllllllkllllllllllllllllllllllllllklr~~rlklllllllllllllllllllllllllllllllllklllllllllllllllllllllllllllllllkllllllllllllllllllllllllllllllllllllllllllllloz{snlklllllllllllllllllllllkllllllllllllllllllllllllllllllllllllllllllklnu}|plklllllllllllllkllllllllllllllllllllllllllllllllllkn}vmklllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllln}vmkllllllllllllllllllllllllllllllllllllllllllllllkllllllllllllllllllllllllllllllklkllkllllllkklllklllllllllllllllllllllllllllllllllllllllllkllllllllkklkllllkllllllllkllmv~rlllllllllllllllklllllllllllllllllllllllllklkklllllllllklllkllllllllllllllllklllllllllllllllllllkllllllllklllklllllkllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllklllllllkllklllllllllkllllllllllllllkllllllllklkllllllllllllllklllllllllllllllkllklllllllkllllllllllllllllllkllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllklllllllllklllllllllllllllllllllllllllllllllllllllllllllllllkllllllllllllllklllllllllklllllklllllllkllllllllllllkllllllllklllllllllllllkllllkllkllllllkllllllllllllklllllllllllkllllkllllllklkllllllllkkklllllllklllkllllllllllllllklllllllp}zplklklklllllllllllllllllllllllklklllllllklklklllllllllllllllllllllllllllllmpzynllkllllllllllllllllllllllklklllllllklllq~~rllllllklllllllkllllllllllllllllllllklllllkllkllkllklllllklkklllllllllllllln}~sms~umlllllllllllllllllklklllllllllllllllkllllllllllllllllkllllkllllllllklllllmx~smllllllllklllllllllllllkllllllllllllklr~vmllllllllllllllllllllllllllllllllllkllllllllllllllllllllllllllllllllllllllkllllklllllllllllllkllllllllmr~~rllllllllllllllllllllllllllkllllllllllllllllllllllllllllllklllllllllllllllllllllllllllkklllllklllllkllllkllllllllmx}vollllllkllllllklllllllllllllklllllllllllllllllllllkllllllllllllklllllllkmr{ynllllllllllllllllllllkllllllllllllllllllllllllllllln}vmlllllllklllllllllllkllllllllklllllllllkllllllllllkllllllllllklllllllllklllllllllllllllllllllllllllllklllllllkn}vmklllklllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllmv~rmllllllllllllllllllllllllllllllllllllllllllkllllllllllllllllllllllllllllllllllkllllllllllllllllllllllllllllllllllllllllllklllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllklllllllllllllllkllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllkllllllllllllllllllllllllllllllllllllllllkllllllllllllllllllllllllllllllllllllllllllllllllllllllllllkllllllllllllllllllllllllllllllllllllklllllllllllllllllllllllllllllllllllllllllllllllllllllklllllllllllllllkllllllllllllllllllllllllllllllllllllllllllllklllllllklllllllllllllllllllllllllmvyplllllllklllllklllllkllllllllklllllllllllllllllllllllllllllllllllllllllllklllpy~rmlllllllllllllllkllllllllllkllllllllllln|vmlkklllllllllllllllllllkllllllllllllklllllllllllllllllllllllllllklllklllllr~~oln}ymlllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllln|}ollllllllllllllllklllllllllllllllllllklr~vmlllllllllklllllllllllllllllllllkkkkllllllllllllllkllklllllllkllllllllllllkllklllllllllkllllllllllllllmr~~rmlkllklllllllllllllllllllllllklllllklkllklklllllllllllklllllkllllllllllllllllllkllllllllklllllllkllllllllllllllmu~{rmklllllllllklllllkllllllllklllllklklllllllllllklllllllllllllkllllllllkkllllpx~umllllkllkllllllllllllllllllkllkllllkllllllkllllllkn}vmlllllllllllllllllllklllllllllllllllllklllllllllllkllllllllllllllllllllkllllllllllllllllklllllllllkllllllllklln}vmkllllllllklllllllklllllllllllllllllkllllllklllllllllllllllllllllllllllllllllllllllllllllmllllmllllllmlllllllllllllllmlllllllllllllllllllllllllllllllllllllllllmlllllllmv~rllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllmllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllmlllllllllllllllllllllllllllllllllllllllllmllllllllllllllllllllllllllllllllmllmlllllllllllllllllllllllllllllllllllllllllllllllllllllllllmllllllllllllllllllmlllllllllllllllllllllllllllllllllllllllllllllllmlllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllmllllllllllllllllmllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllmlllllllllllllllllllllllllllllllllllllllllllllllllllllllllllp}xolllllllllllllmllllllllllllllllllllllllllllllllllllllllllllllllllllmlllllllllllowznllllllllllllllllllllllllllllllllllllllmxzmllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllmw{nkmz}nllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllp~znllllllllllllllllllllllllllllllllllllllr~vmllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllr~~rlllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllr}~wplkllllllllllllkllllllllllllllllllllllllllllllllllllllllllllllklllllllllllllllnu~}qllllllllllllllllllllllllllllllllllllllllllllllllkn}vmllllllllllllllllkllllkllllllklllllllllllllllllllllllklllllllllllllllllllllllllllllllllllllllklllllllklllllllln}vmllllllkllllllllllllllllllllllklllllllklllllllllllllllllllllllllklllllmllllllllmllllllllllllllllmlllllllllllllllllmlmllllllllllllllllllllllllllllllllllllllllllllllllllmv~rlllllmlllllllllllllllllllllllllllllmlllllllllllllllllllllmllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllmllllllllmllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllmllllllllllllllllllllllllllllllllllllllllllllllmlmllmllllllllllllllllllllllllllllllllmlllllllllmlllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllmllllmlllllllllllllllmllllllllllllllllllllmlllmllllllllllllllllllmlllmllllmtzolllmlllllllmlllllllllllllllllllllllllllllllllllllmllllllllllmlllllllllllllllllllnx~qlllllllllllllllllllllllllllllllllllllmmt}nllllllllllllllllllllllllllllllllllllllllllllmlmllllllllllllllllllllmlllln{wmlmu~rllllllllllllllmlllllllllllllllllllllmllllllllllllllllllllllllllllllmlllmt~vmlllllllllllllllllllllllllllllmllllllllr~vmllllllllllmllllmlllllllllllllllllllllllllllllllllllmllllllllllllllllllllllllllllllllllllllllllllllllllr~~rllllllmlllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllmlllllllmllllllllllllllllllmllllo{|tnlllllllllmllllllllmllllllmlllllllllllllllllllllllllllllllllllmlllllllllllllllllmt}ynlllllllllllllllllllllllllllllllllllllllllmlllllkn}vmlllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllmllllllllllllllllllkn}vmlllllllmlllmlllllllmlllllllllllllllllllllllllllllllllllllllllllllllllllllllkllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllmv~rllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllklllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllln{zpllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllozxmllllllllllllllmlmlllllllllllllllllllllp~~rllllllllllllllllllllllllllmllllmllllllllllllllllllllllllllllllllllllmlllo~~smllq~wmllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllmw~qllllllllllllllllllllllllllmllllmlllllllr~vmlllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllmlllllllllllllllllllmllllllllllllllllllr~~rmlllllllllllllllllllllllllllllllllllllmlllllllllllmlllllmllllllllllllllmlmlllllllllllllllmlllllllllllllllllllmxzrmlllmlllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllmlllllllllllmt}~tlllllllllllllllllllllllllmlllllllllllllllllllllln}vmlllmlmllllllllllmllllllllllllllllllllmmlllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllln}vmllllllllllllllllllllllllllllllllllllllllllllmllllllllllllllllllllllllllllllllkllllllllllllllllllllllllllllllkllllllllllllllllllllllllllllllllllllllllllkllllllllllllllnv~rmllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllkllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllklllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllklllllllllllllllllllklllllkkllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllmr~|qllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllpz}plllllllllllllllllllllllllllllllllllllln{vmlllllllllllllkllllllllllllllllllllllllllllllllllllllllllllllllllllllllmt~~ollln}{nkllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllln{}nlkllllllllllllllllllllklllllllllllllllmr~vmlllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllmr~~rllllllllllklllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllmt~zpllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllms}{ollllllllllllllllllllllllllllllllllllllllllllllkn}vmllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllln}vmllllllllmlllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllmv~rmllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllkklllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllklllllllllllllllllllllllkkllllllllllllllllllllllllllllllllllllllllllllllllmw~tmlllllllllllllllllllllllllllllllllllllklllllllllllllllllllllllllllllllllllllllllllllllr}vmlllllllllllllllllllllllllllllllllllllmwymllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllmx|nlllmx~pllllllllllllllllllllllllllllllllklllllllllllllllllllllllllllllllllllllp~ymllllllllllllllllllllllllllllllllllllllmr~vmlllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllkllllllllr~~rlllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllkllllllllllp|xolllllkllllllllllllllllllllllklllllllllllllllllllllllllllllllllllllllllllllllllllllllllmt~vmlllllllllllllllllllllllllklllllllllllllllllllkn}umlllllllllllllllllllllllllllllllllllllllllllllllllllllllklllllllllllllllllllllllllllllllllllllllllllllllllllllo}vmlllllllllllllkllllllllllllllllllllllllllllllllllllllllllllllklllllllllllllllllllllllllllmllllllllllllllllllllmlllllllllllllllllllllllllmlllllllllllllmllllllllllllllllmv~rlllllllllllllllllllllllmlllllllllmllllllllllllllllllmlllllllllmlmlmlllllllllllllllllllmlllllllllllmllllllllllllllllmlllmllllllllmllllllllllllmmllllllllllllllllllllllllllmlllllmllllllllllmmllllllllllllmlllllllllllllllllmllllllllllllllllmllllllllllllmlllllllllllllllllllmllmllllllllllllmlllllllllmllllllllllllllllllllllllllllllllllllmllllllllllmlllllllllllllmllllllllmlllllmlllllllllllmllllllllllllllllmllllllllllllmlllllllllllmlllllllllllllllllllllllllmllllllllllllllllmlllllllllllllmllllmlllllllllllmllllllllllllllllmlllllmllllllllllllllllllllllllllllllllllllllllllllllmllllllllllmllllln|wmlllllllllllllllllllllllmllmlllllllllmlllllllllllllllllllllllllllllllllllllllllllllllllmt~|nlllllllllllllllllllllllmllllllllllmllms~|nlllmllllllllllllmlmlllllllllllmlllllllllmllllllllllllllllllllllllllllln}xmlllmttmllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllls~tmlllllllllllllllllllllllllllllllllllmllmr~vmlllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllmr~~rlllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllnxxnllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllmu~}olllllllllllllllllllllllllllllllllllllllllllllln}vmllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllklllllllllllllllllllllllllllllllllllllllllln}vmllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllmllllmmlllmlllllllllllllllllllllllllllmllllllllllllllllllllmllllllmllmllllllllllllllllllllllllmlllllmv~rmlllllllllllllllllllllllllllllllmlllllmlllllllllllllllllllllmlllllmllllllllllllllmlllllllmllllmllllmlllllllllllllllmllllllllllllllllllllllllllllllllllllllllllllmllllllllllllllllllllllllllllllllllllllllllllllllllllllllllmlllllmllllllllllllllllllllllmlllmllllllllllllmmllllllllllllllllllllllllllllllllllllllmlllllllllllllllllmllllllmllllllllllllllllllllllllllmlllllllllllllllllmllllllllllllllllllllllllllllllllllllllllllmlmlllmllllllllllmllllllllllllllmllllllllllllllllllllllmllllllmllllllllllllllllllllllllllllllmlllllllllllllllllmllllllllllllllllllllllmllllllllllllllllmlmllllllllllllllq~|pllllmlllllllllmllllllllllllllllllmllllllllllllllllllmllllllmlmllllllllllllllllllllllllllnx~rmllmlllllllllllllllllllllllllllmllllllo~~pmllmllllllllmllllllllllllllllmllllllllllllllllllllllllmlllllllllllllllq~tmllllp~ynlllmllllllmlllllllllllllllllllllllllllllllllmllllllllmlllmlllmmlllllmw~pllllmlllllmllllmlmlllllllllmllllllllllllr~vmllllllllllllllllllllmllllllllllllllllllllllllllmllllllllllllllllllllllllllllmllllllmlllmlllllllmlllllmr~~rlllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllmlllllllllllllllllmllllllllllllllllllllllms~xnllllllmllllllllllllllllllllllllmllllllllllllllllmlllllllllllllllllllllllllmlllllllllllllllnwvmllllllllllllllllllllllllllllllllllllllllllllln}vmllllllllmllllllllmllllllllllllllllllmlllmllllllllmllmllllmlllllllllllmllllmlllllllllllllllllllllllllllllllllln}vmlllllmlllllllllllllllllllllllllllllllllmllllllllllllllllllllllmllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllmllllllllllllmv~rmlllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllmllllllllllllllllllllllllllllllmllllllllllllllllllllllllllllllllllllllllllllllllllllllmllllmllllllllmlllllllllllllllmllllllllllllllllllllllllllllllllllllllllmlllllllllllllllllllllllllllmlllllmllllllllllllllllllllllllllllllllllllllllllllllllllmlmlllllllllllllllllllllllllllllllllmllmlllllllllllllllllmllllllllllllllllllmllllllllllllmlllllllllllllllmutmmlllllllllllllllmlllllllmlllllllllllllmllllmlllllmlllllllllllllllllllllllllmlllllllllllllp}xmllmlllmllllllllllllllmlllllmllllllllln{tmllmlllmlllllllllllllllllllllllllmllmllllllllmlllllllmlllllllllllmlllmv~qlllllnz}ollllllllllllllllllllllllllmlllllllllllllllllllllllllllllllllllllllllm{|nlllllllllllllllllllllmmllllllmmllllllllmr~vmlllllllllllllllllllmllllllllmllllllmllllmlllllllllllllllmllllllllllllllllllllllllllllllllllllmmlllllllr~~rllllllllllllllllmllllllllllllllmllllllllmllllllllmlllllllllmlllllmllllllllllllllmlllllllllllllllllllllllllo{wolllmlllllllllllllllllllllllllmllllllllllllmlllllmllmlmlllllllllllllllmlllllllmmlllllllllllllny}qlllmlllllllllllllllllllmllllllllllllllllllllln}vmllllllllllllllllmllllllllllllllllllllllllllllllllllmllmllmmmllllllllmmlllllllllllllllllmllllllllllllllllllllln}vmlmlllmllmlllllllllllllllllllllllllllllllllllllmlmlllllllmlllllllllllllllllllllllllllllllllllllllllllllllllllllllklllllllllllllllllllllllllllllllllllllllllllllllllllllmv~rlllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllklllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllnz|nllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllmu|nlllllllllllllllllllllllllllllllllllllmvwmllllllllllllllllllllllllllllllllllllllllllllllllllllllllkllllllllllln{|nlllllmv~rllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllo~wmlllllllllllllllmmllllllllllllmllllllllllr~vmlllllllllmmlllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllr~~rmlllllllllllllllllllllllllllllllllllllllmllllllllllllllllllllllllllllllllllllllllllllllllllmlllllllllllllmvwnlllllllllllllmllllllllllllllmllllllllllllllllllmllllllllllllllllllllllmlllllllllllllllllllllllp{xmlllllllllllllllllllllllllllllllllllllllllllln}vmlllmllllmlllllllllllllllllllllllllllllmlllllllllllllmlllllllllllllllllllllllllllllllllllllllllllllllmlllmlllln}vmllllllllmlllmmllllllmllllllllllllllllllllllllllllmllllllmllllmlllllllllmlllllllllllllllllllllllllllllllllllllmllllllllllllllllllllllllllmmllllllllllllllllllllllllllllmv~rmllllllllllllllllllllllmlllllllmlllllllllllllllllllllllllllllllmllllllllllllllllllllllllllllllllllllllllllmlllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllmlllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllmlllllllllllllllllllllllllllllllllllllllllkllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllo}umlllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllo|~qllllllllllllllllllllllllllllllllllllllr~{nllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllo~wmlllllmr~wmllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllms~~smlllllllllklllllllllllllllllllllllllllllmr~vmlllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllmr~~rmllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllq}xnllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllr~}plllllllllllllllllllllllllllllllllllllllllllln}vmlllllllllllllllllllllllllllllllllllllllllllllllllllllkllllllllllllllllllllllllllllllllllllllllllllllllllllllln}vmllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllmllllllmmmlmllllllllllllllllllllllllllllllllllllmllllllllmllllllllmlllllllllllmmmv~slmlllllllllllllllllllllmllllmlllmmmllllmllllllllllllllllllllllmlmllmmlllllllllllllllllmlllllllllllmllllllllmlllllmllllllllmlllmlllllllllllmlllllllllmmllllllllmmllmlllllmmllllmlllllllllllmllllllmmllmlllllllllllllllmlllmlllmlllllllllllllllllllllllllllllllllllllllllllmlllllllllllllllllmlllllllllllllllmlmlllllllllllllllllllllllmlllllllllllllmllmlllmllllllllmlllllllllllllllllllllmmlmlllmllllllllllmlllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllmllmlllllllllllllllllllllllmlllllllmlllllllmllmlllmlllllmllllllllllllllllllllllllllmllllmllllllllllllmlllllllllllllllllllllllllmr~}plllllmllllllllllmlllllmllmlllllllllllmlmllllllllllllllllmllmlllllllllllllllllllllllmllllllllluwmlllllmlllllllllmllllllllllmllmlllllllo}~ollllllllllllllmlllllllmlllllllllllllllllmllllllllllllllllllllllmlllms~~smlllllln|{nlllllllllllllllllllmllllllllllllllllllllllllllllllllllllllllllllllmw}olllllllllllllllllmlllllllllllllllmlllllllr~vmlllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllmlllllllllllllmlms~~rmlmllllllllllllllmllllllllllllllllllllllllllllmlllllllllllllllllllllllllllllllllllllllllllllllllllllllllnxzolllllllllllllllllllllllllllllllllllllllllllmlllllllllllllllllllllllllllllllllllllllllllllllllllllmvvmllllllllllllllllllllllllllllllllllllllllllln}vmllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllklllllllllllllllllllln}vmlllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllmllllmlmlmmlllllllllmmmmmllllllllmllllmlllllllmlllmllllllllllllmllllmlllllllmlllllllmlllllllmllmv~rllllmlllmllllllllmmmlllllllllmlllmllllllllllmmlllllllmlllmlllllmlllmlllllmlllllllmlmllllllllllllmllllllmlllllllllllllllllmllllllllllllllllllllmlllllllllllllllllllmllllllmlmlllllllllmllllllmllllllllmllllllllllllllllmlllllmlllllllllllllmllmllllmmllllmlllllllllmllllllllllllllllmllllllmlllllllllllllllllmllllllllllllllmllllmlllllmllllllllllllmllllmllllmlllmllllllllmlllmllllllllllmllmllmmmlllllllllllllllllmlllllmlmlllllllllllllmlllllllllmlllllllmlllllllllmlmlllllllllllllllllllmmllllllllllllllllllmllllmllllllllmllllllllllmlllmllmlmlllllllmllllmllllmllllllllllllllmmmlllllllllllllllllllmuxmllllllmlllllllllllllmlllmllmllllllllllllllllmllllllllmlllllmmllmlllllmllllllllmllllllllllllllo|{nllllllllllllllllllllllmllmlllmlllmlllny~smllllllllllllmmllmmlmmlllllmllllllllllmllllllllllmlllmllllllllllmllnx~olllllllmy~plllllllmllllmllllmlllllllllllmllllllmllllllllllllllllmlllllllllllln{znlllmlmllllllmlllllllllmllmmlllllllllllmlmr~vmlmllllllllllllllllllllmllllllllmlllllllmllllllllllmmmllmlllllmllmlllllllmmmlllllllllllllllllllllmllllmr~~rlllmllllllllllmllllllllllllmlllllmllllllllllmlllllllmmlllllllmlllllllllllllllllllllllllllmmllmlmllllllllr~|pllmlllllmlllmlllllllllllmlllllllllllllllllllllllmllllmlmlllllmllllllllllllmlllmlllllllllmllllllllllnz}pllllllmmllmlllllllllllllllllllllllmllllmllln}vmlllllllllllllllllllllllllllllllllllllllllllllllllllllmlllllllllmlllllllllllllmllllllllllllllllllmmlmllllllllln}vmllllllllmllllllllllllllllllllllllllllllllmlllllllmllllllmmlllllllmllllllllllllmlllllllllllllllllllllllllllllllllllllllmllllllllllllllllllllllllllllmlllmllllllllllllllmv~rmlllllllmlllllmlllllllllllllllllllllmlllllmllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllmllllllllllllllllmlllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllmllllllllllllllllllllllllmlllllllllllllllmmllllllllllllllllmmllllllllllllllllllllllmllllllllllllllllmllllmllllllllllllllllllllllllllllllllllllmmllllllllllllllllllllllllllllllllllllllllllmllllmllllllllllllmllllllllllllllllllllllllllllllllmllllllllllllllmlllllllmlllllllllllllllllllllllllmlllllllmlmllmllllllmlllllllllmx~smllllllllllllllllmmlllmlllllllllllllmlmmlllmllmllllmmmllllllmlllmlllllmmmlllllmlllllmlllllllllmu~pllllllmmllllmllllmmllllllllllllllllllmuvmlllmllllllmllllllllllllllllllllllllllllllllllmlllllllmllmmlllllmmln|{nlllllllmttmlmlmllllllllllllmllllllllmllllmlllllmlllllllmmmllllllllllllllllllo~umlllllllllmllmlllllmllllllllllllmllllmmlllr~vmmllllllllllllllmllllmllllllllllllllllllmlllllmllllllllmmmllmlllmllllllllllllllllmlllllllllmlllllmlmllmr~~rllllllllllllllllllllmlllmlllllllmllllmmlllllllllllmlllllllllllllllllllllllmlllllllmmmllllllllllllllllllny}rllllllllllllmllmlmllmlllllllllllmlllllllmllllmllllllmllllmmlmlllllllllllmmllllllllllmllllllmllllllllmr}umllllllllmmlllmlllmllllllllllllmllllmlllllln}vmllmllllllllllmlllmlllllllmlmllllllllllllmlmmlllllllmllllmlllllllllllllllmllllllllmllmlllllllllllllllllmlllllln}vmlmlllllllmllllllllllllllllmlllllllllmllmlllllllllmlllllllllllmllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllmv~rmllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllkllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllklllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllnz~plllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllp}~smlllllllllllllllllllllllllllllllllllllq~znlllllllllllllllllllllllllllmlmlllmllllllllllllllllllllllllllllllmmq~wmlllllllmq~xmllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllmr~~qlllllllllmlllllllllllllllllllllllllllllllmr~vmlllllllllllllmlllllllllllllllllllllllllllllllllllllmllllllllllllllllllllllllllmmlllllllllllllllllllmllr~~rmlmllllllllllllllllllllllllllllmlllllllllllllllllllllllllllllllllllllllllllmlllllllllllllllmlllllllllllr~~vmlllllllllllllllllmllllllllllllllllllllllllllllllllllllmlllllllllllllllllllllllllllllmlllllllllllllllmmv|nllllllllmllllllllllllllllmlllllllllllllllln}vmllllllmlmllllllllllllllllllllmlllmllllllmlllllllllllllllllllllllmllllllllllmmllllmlllllllllllllmlmllllmlllllln}vmllllmlmllllllllllllllllllllllllmmlllllllmllllllllllllllllmllllllllllllllllmmllmllllllllllllllllllllmllmlllllmllllllllllmmlmllmlllllllmlllllllllllllllllmllllllllllllllmv~rmlllllllllllmlllllllllllllllllllmllllllllllllllllllllllllllllllmlllllllllllllllmllllllllmllllmllllmlllmlmllllllllllllllmlllmlllllllllmllmllmllllmlllllllllllllmlllllmllllmmllllllllllmllllllllmllmmmllllllllmllllllllllllllllllmlllllllllllllllllllllllllllllllllllllllllllllllmlllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllmllllllllllllllllllllllllllmlllllllllllllllllllllllllllllllllllllllllllmllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllmlllllllllllllllllllmllllllllllllllmllllllllllllllllllllllllllllllllllln|{nlllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllnxvmllllllllllllllllllllllllllllllllllllln|}olllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllmu~smlllllllln{|nllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllmv|nlllllllllllllllllllllllllllllllllllllllllmr~vmllllllllllllllllllllllllllllllkllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllmr~~rllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllnzxnlllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllo|~smllllllllllllllllllllllllllllllllllllllllln}vmllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllln}vmlllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllmlllllllllllllllmlmlllllllllllllllllllllllllllllmlllllllllllmllllllllmlllllmlmlllllllllllmv~rllllllllllmlllllllmllllllllmlllllllmlllllllllllmlmmlmlllllllmllllllmlllmlllllllllllllllmlmlllllllmlllllllllllllllllllmmlmllmlllllllllllllllmlllllllllllllmlmlllllllllllmllllmllmlllmllllmmllmlllllmlmllmlllmlllllllllllllmllllllllllllmllllllllmlllmlllmllllllllmlmllllllmllllllllllllllllllllllmlllllllmlllllllmmllllllllllllllmllmllllllllmmlllmllllllllllllmmllllllllllllllllllllllmllllllmllmlllllllllllllllllmllllmlllllllmllllllllllllmllmllllllllllllllmllllmllllllmllllllllllllmllmmllllllmlllmllmlllllllllmlllmllllllllmlllllmllllmlmllllllllllllllmllmlmllmllllllllmmllllllllllllllllmmllllllmo~wnlllllllllllllllmlllllmllllmllmmllllllllmlmlllllllllllmllmlmlmllllllmlllllllllmllllllllllllllllmmr~znmlllllllllllllllllmmlmlllllllllllllllmy~rlllmllllllllllllllllllllmlllmmllllllllllllllmllllllllllllllllmlllnz~olllmlllllmw~rllllllmlmllllmllllmlllllmlllllllllllllllllllllllllllllllmllllmllnzxnllllllllllllllllllllllllmmlllllmlllllllllmr~vmllllmlllllmlllmllllllllllllmllllllllllllllllllllmlllllllmllllllmlllllllllllllllllllllllllllllllllllllmr~~rmllllllllllllllllllllllmllllmlllllllllllllllllllmlllllllllllllllllllllmllllllllllmlllllllllllllllllllms~|pllllllllllllllllllllllllllllllllmllllllllllllllllllllllllllllllllmllllllllllllllllllllllllllllllllllllllmt~ynlllllmllllmlllllllllllllllllllllllllllllmo}vmllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllln}vmlllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllmllllllllmlllllllllllllmllllllllllllllmllmlllllmllllllllllllmllllllllllmlllmlllmlllllllllllllllllmlllmv~smlllllmllllmllllllmlmmllmlllllllllllmlmmllllllllllllmllllmlllllllllllllllllllllmlmllllmllllllllllllllllllllmlllllllmlllllllmllllllmlllmlllllllllllmlmlllllmlmllmllllmlllllllmllllllllllllllllllllmlmllllllllllllllllllllllllmlllllllllllmlllllllllmlmlllllllmllmlllllllllmmmlmlllmllllllllllllllllllmlllmllllllllmllllmllllllllllllmlmlllllmlllmlllmlmllllllllllllmmllmlllmllllllllmllllmllmllllllllmlllmllllllllmlllllllllllmllllllmlllmllmlmllllllllllmlllllllmlllllllllmmlllllllllllllllllmllllmmllllllllmlmllmmllllllmllllllllllllllllllllllllmllmlllllmmmlmlllmlllllllllllmlmllmllllllllllllllllllmr~vmlmllllllllmmlllmlmlllmmlllllllmmlmllmlllllllllllllmlllllllllllllllmlmmlllllllmllmlmmlllmlllllllln|}olllmlllllllllllmlllllllllllllmlllmlllmtummlllllllllllmllllllllmlmmllllmlllllmlmlllllmmlllmlllllmlllmmllllo}znllllllmllmr~vmllllllllmlllllllllmllmllmmllllllllllllllllllllllllmllllllllllllo}tmllllllmllllllllllllllmllllllmlmmlllllllllmr~vmllllllllllmllllllllllmlllllmllllllllmlllllllllmmlmlllmllllllllllmlmllllmlmllllllllllllmlmllmllmllmllmms~~rmllllllmlmmmllllllllllllllllllllllllllmllllllllmlllllllllmlllllllllllmlllllllmlllllllllllllllllllllllnz~tmlmllllllllllmllllllllllllllmllmlllmlllllllmllllllllllllmllllllmllmlllmllllllllllllllllllmllllllllllllllllnz}qllmlmllmlllllllllmlllllllllllllllllllmmlln}vmllllllmlllllllllllllllmlmmllmllllllllllllllmllmlllmllllllmlllllmmlllmlllllllllllmllllllllllmllllllllllllmllllo}vnllllllmmlllmlllllmllllmmlllllllllllllllllllllllllllmllmlllllllmllllllllmlllllllllllllmlllllllmlllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllmllllllllmv~smlllllllllllllllmllllllllllllmllllllllllllllmllllllllllllllllllllllmlllllllllllmllmllllllllllllmllllllllllmllllllllmlllllmlllllllllllllllllllllmlllllllllllllmllllllllmllmllllllllmlllllllllllllllmlmlllmlllllllllmlmmlllllmllllllllllllllmllmmllllllllllllllmllllllllllllmllllllllllllmlllmmmllllmlllllllmmlllmlmllllmlllllllllllllllllllllmlllmlllmllllllllllllllllllllllllllllllllmmllllmlmmlllllllllllllllmllllmllllllmlmlllllllmmlllmllllmlmlmlmllllllmllllllmllllllllllllllllllllllmllllllllllllllllllllmlllllllllllllllmlllllmlllllmlllllllllmmllllmlllllllllllllllllllmmlllllllllmmlllllmlllmllmr~~smllllllllllllllmmlmlllllllllllmlmlllllmlmllmllllllllllllllmllmllllllllmmlmlmlllllmllmllllllllllllmw~pmllmlllmmllllmlllmlllllllllllllllllmlmp~ynllmlmllllllllllmllllllllllllllllmmlmlllllllllllllllllmllllmllllms~vmllllllllllo}{nllllmlllmmllllllmllmmlllmlmllllllllllllllllllmlllllmlllllllllllr~~qllllmllllllllmlllmmmllllllllmmlllmlmllllllmr~vnlmllllllmlllllllllmmlmlllllllmllmmlmllllllllmllllllllmlmlmlllllllllllllllllllllmlllllmllllllllllmllllmr~~smllllllllmllllllllmlmllllllmlllmllmmlmmlllllllmllmllllllmlmmlmlllmllllllllmllmllllmllllllllllmlllllllr~ynmlmmmlllllllllmmllllllllmlllllllllllllllmlllllllmllllmlllllmlmllllllllmllllmllllmllllllllllmlllllllllmlmllms~vmlllllllmlmlllllllllllmmllmlllllmmllllllln}vnllmllmmmmlllllllmlllmmmlllllllmllllmmmllllmlmlmllllllllllmlllllllmlllllllmlllllmmlllllllllllllllllmlmmllmllmln}vmlllmlllllmlllllllmllllllllmlllmlllllllllmmllllllllllmllllmllllllmlllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllnv~smmlllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllms~~rmllllllllllllllllllllllmllllllllllllllllllllllllllllllmlmllllllllllllllllllllllllllllllllllllllllmr~~smllllllllllllllllllllllllllllllllllllln||nllllllllllllllmllllllllllmlllmllmllllllllllllllllllllllllllllllmw~rmllllllmmmlmy~plllmlllllllllllllllllllllmlllllllllllllmllllllllllllllllllllllmv{nllllllllllllmlllllllllllllllllllllmlllllllms~vnlmmlllllllllllllllllllllllllllmlllllllllmmllllllllllmlllmlllmlllllllllmlllmllllllllmllllllmllllllllllmr~~smlllmlllllmmlllllllllmllllllllllllllllllllllllmmlllllllllmmlllllllllmlllllmllllllllllllllllllllllmllny}qllllllllllllmmmllllllllllllllllmlllllllllmllllllllllllllllllllllmllllllllllllllllmmlllllllllllllllmlllmlllllnz|nllmllmlmllllllllmllllllllllmlllllmlllllln}vnllllllllmmmllmmlllllllllllmllllllmmllllmllllmlllllllllllllmmllllmllllmllllllllllmlmlllllllmmlllmlllllllllllllo}vmlmlmlllllmlllllllllllmllllllllllmllmllllllllmlmlllllllmmmlllllllllmlllllllllmllllmllllllmllmmlmllllllmmlmllllllllllllllmlllllllmlmllmllmllllllllllmmllmlllmlmlllllllllnv~smmmlllllllmmllllllllmlllmmllmlllmllllllllllllmlllmllllmllllllmlmllllllllmlllmlllllllmlllllllmllllllmlllllmllllllllllllllllmllllllllllllllmllllllllllmllllllllmllmmllllllllllllmllmllmllllllmllllllllllllllllllllllllllmllmlllllmlllllmllllllmllmlllmllllmmllmlllllllllllllllllllllllmllllmlmllllllllllmllllllllllllllllllllllllllllmmllllllllllllmllllllllllllmlllllllllllllllllmlllllllmlllllllllmllllllllllllllllllllllllmlllmlllllllllllllllllllllllllllllllllllllllllmlmllllllllllllllllllllmlllmlmllmllmmllllllllmllllllllllmllllllllllllllmllllmlllllllllllllllllllllllllmlllllllllllllllllllllllmu~smllmlllllllllllllllllllllllllllllllllllllllmllllllllllllmlllllllllllllllllllllmlllllllllllllllllllo}vmlllllllllmlllllllllllmlllllllllllllllnx~qlllllllllmlllllllllmlllllllllllllllllllllmllllllllllllllllllllln|}olllllllllllmttmlllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllnzwmllllllllllllllllllllllllllllllllllllllllllms~vmlllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllms~~smllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllmq~vmllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllms~~rmllllllllllllllllllllllllllllllllllllllln}vnlllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllmlllllllllllo}vmlllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllmlmllllllllllllllllmmmllmllmlmllllllmlmmmlmlmlmlllllmlllmlllllllllllmlllmmlmmmmlllllllllllmmv~smlllllmmllllllmlmllllllllmmlmlmlllllmlllllllmlllmllmllmlllmllmlmlllllllllllllllmlllllllllmlllmmmlmllllmlllllmlllllllllmlllllllllllllllmllllllllmlllllllllmllllllmllmmlmlllmmllmlllllllmllllmlmllmllmllllllmllmllllmlllllmlmllllllmllllllllllmmlllllllmllmmllllllmmllmllmlmlllllllllllllllllmmmlllmlllmllllmmmlllllmllllllllllllmllmllllllllmlmllllllllllllllllllllllllllllllllmmllllmllllmlmllmlllllmllllllllmllllllllmlmlmlmlllmlmlllmlmllllllmlmmmlllllmlllmllmllmlmmllllmllmlllllmllllllmlllllllmlllmllllllllllllllllllllllllllllllllllllllllmlllllllmmlllllmlllllmllmlllllllllllllllllllllllllmllllnv~smllmllllllllmlmllmlmllmllllllllllmlllllllllllllmmlllllmlllllmllmllmllllmllllmlmlllllllllmlllllmlllnzwnmmllllllllmlmmllllllllmllmllmmllllllmmt~tmmllmllmlllllllllllllllmlllllllllmlllllllllmllmmlmmlmmlllmmmllmq~ynlmlmlmlllllmq~xnllmllllllllllllmlmlllllmllllllllllllmllllmlllllmllllllllllllmo}~smlllmllllllllmllllllllllmlllllllmmmlmlmllllmr~vnlllllmllllllllmllllllllllllllllllllllllllllllmllllmllllllllllllllmmlmllmllllmllmllmlllllmllllllllllllms~~rmlllllllllllllllllmlmllmllmlmlllllmmmlllllllllllmlllmlllllllllllllllmlllllllllmllllllllllllmmllllmlmw|pllmlllllllllllmlllllmllllllllllllllllllllllllmlllmlllllllllllllllllllllllmlllllllllllllllllmllllllllllllllllllnzwmllllllllmlllllllllmllmlmllllllllllllllln}vnllllllmlllllllllllllllmlmlllllllllllllmlllmllllllllllllllllllllllllllllllllllllllmllmllmlllllmlllllllllllllllo}vmllllllllllllmlllllllllllllllllllllllllmllllllllllllllllllllllllmlllllllllmlllllllllmllllllllllmlllllllllllllmllmlllllllmlllmlmlmllllllllllllllllllllllllllllllllllllllnv~smllmlllmllllllllllmllmlmllmmlllmmmllllllmlmllllmlllmllllllmlmllllllllllllllllmlllmmmmllllmllmlllmmllllmllllllmlllmmlllllllmlmmlmmllllmmmlllllllllmmmllmlmlllllllmllllllllllmllllmllllmlllllmlmlllllllllllllllllllllllllllllllllllmllmlmlllllllllllllllllmlllllllmllmllllmmllllmlllmllllllllllllmllmllllllmmlmllllllllllllllllllllllllmllllllllmllmllllllllmlmmlmlllmmmllllmlmmllllllmlmllllllllmmlmmllllmlllmllmllllllllllmmmmmlllmmllllllllllmmllllllllllllmmmlmllllllmllmllllllmllllllllllllllklllllllllmlllllllmmlmllllllllllllllllllmllmlllllllllmlllllmlllllmlllllllmlllllmlllmlmlllllllmllmllllmlmv~rmllllllllmlllllllllllmllmlllmllllmllmlmlllllllllllmlllllmllllmlmllllllllmlmlmlllmllllmllllmllllmllnvynmlllllllllllmlmllmllmlmllllllmlllllllmp}xmmmmlllmllmllllllllmlllmlllllmlmmmlmllllmllllmmlllllllllmllmllmutmllmlmllllmmlo{|nlllllllllllmllmmllllllmlllllllllllllmllllllllmlmlllllmlllmllmr~}omllllllmllllllmllmlllllllmmmlllllllllllmlmlmr~vnllllllllmllmllmmlmlllllmllmllllllllllllllllllmmllmlllmmmlllllllmlllllllllllmlllllllllllllllllmllllmllms~~rmllllllllllllllmlmlllmlmlllllmllmlmlllmmllllmmllmllmmlllllmllmllmllllllllllllllllmlmlmlmlllllllllllo|tmmmllllmllllllmllmllmllllllllllllllmmlllllllllllllllmllllllmllllllmlmlmmlmllllllllllllllmmlllllllmllmllmlllllllms~|olllmllllllllllllllmlllllllmmmllllllllllo}vnlllllllllllllllmlllmmllllmlllllmmmlllllllmlllllllllllmmlmmlmllmmllllmllmlllllllllllmmlllllllllllmmllmlmllmmllo}vmllmlllllllllllllllllllllllmlllllmlmlmlllmllllllmlmlllllllmlllllllllllllllllllllmmllllllllllllllllllllmllmllmlmllmllmlmlllmllllllmmlmmllmlllllllllllllmllllllllllllllllmv~smlmlllllllmllllllllllmllllllmllllllmllmllllmlllmllllllllllllllmlllllllmmlllllllllmllllllllllllmllllmllllllllllllmlllllllllllllllllllllllllmllllllmlllllllllllllllllllmlmlmllllllllllllllllllmllllllmlllmnnooooooooonnmmmllllllllllllllllllllmllllllllllllmlmllllmllllmmmllllllllllmmmlmlmmlllllmllllllllllllmmmnnooooooooooooooonnmmmlllllllllmmlllmmllllllllllllllllllmlllllllllllllmlllllllllmlmllmllllllmmlllmllllllmllmllllmlllllmmlllllllmlllllllllmlmlllllmlllmlmlmllmlllllllmmmnnoooooooooooooonnnnmmlllllllllllllllllllllmllmllllllmlllllllmlllmlllllllmlmllllmllmmlmllllllllllllmllllmllmlllllmv~rmlllllllllmmlmlllllllmllllllllmllllllllmllllllmlllmlllmlllllllllllmllllllmlllllllllllllllllllllllmmr~{nllllllllllllllllmllmllllllllmmlllllllln{{nllmllmlmmllllllllllllmllmlmmmllllllllllllllmllmlllllllmllllmmny~qmllllllllllmlnw~rmlllllllllllllmlllmlllllllllllmlmllllllllmlllllmmmmllllmlmllmvzmmllmlllmlllllllmllllllllllmlllllllllllmllllmr~vmlllmllmlllllmlllmlllllllllmmlmlmllmmmlmlmlllmlllllmmllllllllllllmlllmlllllmlllmllllllmmllmlllllllllllmr~~rmllllllllllmlmllllmllmmlllllllllmmmllmlllmlllmmmlllmllmlmllllmllllllllllmlllllmlllmllllmlmlllllllmmt|ommmlllllllllllmlllllmlmmllllllllllllllmllllllllmllllllmlmllllmlllmmlmllllllmmllllmlmlllmmllllllllllmmllmllmlllllo|~rlllmlmlllllllmmllllmlllmlmllllmllllmllmo}vnmllllllllmllllmmllllmlllmlllllllllllllllllllllmmllllmlllmlmllmllmlmllmllllllllmmllmlmlllllllllmmlllllllmmllllo}vnllmlmllmlllmlllmllmlllmlmlmlmllllllmlmllmmlllmllllllllllmlmmlllllllllllllllllllllllllllllllllllllllllllllllllllmmlllllllllllllmllllllllllllllllllllllllmllllllllllllllnv~smllllllllllllllllllllmlllllllllllllllllllllllllmllllllllllllllllllllllllllmllllllllllllllllllllllllllllllllmllllllllllllllllllllllllllllllllllllllllmllllllllllllllllllllllllllllllllllllllllllllllmnosvy{}}}}}}}}|zyvsqonmlllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllmmnnorsvwyz{}}}}}}}}}}}}}|zzwvsronnmllllllllllllllllllllllllllllllllmllllllmllllllllllllllllllllllllllllllllllllmlllllllllmlllllllllllllllmlllllllllllmllllllllllllllllmmnnorsvwzz{}}}}}}}}}}}}}|zzwvsronnmllllllllllllllllllllllmlllllllllllllllllllllllllmllmllllllllllllllllllllllllmllllllmllnv~smllllllllllllllllllllllllllllllllllllllllmllllllllllllllllmlllllllmllllllllllllllllllllmllmllllllmlo~|nllmlllllllllllllllllmlllllllllllllllllnw}pllllmmllmlllllllllllllllllllllllllllllllllllllmllmlllllllllllo}{nlmlllllllllllmsvmllllllllllllllllllmllllmlllllllllmllllllllllllmlllllllllllmnzumllllllllmllllllllllllllmlllllmmlllmmlllllllmr~vnlllmllllmllllllmmlmlmllllmlmlllllllmlllllmllmlllllllllllllllmlmllllllllmmllllllmllllllllmllllllllllllmr~~rlmllmmlllllllllllllmlllllllllllllmmlmlmlllllmlllmllllllllllllllllmlllllllllllllllllllmllllllllmmllnz~umllmmlmlmlllllmlllmlllmlllllllllmmlmllllllmllllllllllllmlmllllllmlllmllllllllllllmlllllllllllllmmllllllllllmlmlllmuwnllllmllmllllllllllllllllllmlllllmlllmln}vnllllmllllllllllllllllllmllmllmlllmlllllllmlmllllllllmlmllllllmllllllllmllllllmlllllmlllllllllmlmllllllmllmmlln}vnlllllllllllmmlmllmlmmlllmlmlmlllllllllllmllllmllllllmlmmllllmlllmllmmllllllllmlllllmlmmlllllllmmlllllmmlllllmllmllllmmllllmllmllmmllmlllllmlllllllmllllllllllllllmlmlmnv~smllmmmlmllmlllmmmlllllmmmlmlmmlmlllllmlllmlllllmllmlllllllllllllllllllllllllllmllllmmllllllllllllllllllllmlllllllllmlllllllllmllllmllllmlllmlllllmlllllllllllllllllllllllllllllllllmllmlllllmllmlmosy|~~~|yuqnmlllmlllmlmlllllllmllllllmllllmlmlllllmlmllllllmllmllmlllllllmllllllllmnosvy{}~~~~}{xuronmlllmllllmllmlmmllllllllmmlllllllllmllllllmmllmlmlllllmllmlllllllllllllllllllmmllllmmlllllmllllmllllllmlllllmmlllmllllmlmmllmmnosvy{}~~~~}{xuronmlllmlllllmlllmlmlllllmlmlllllllllllmlllmlllllmmllmlmlllmllllmlllmllllmlllmllllmllmnvvmlllmlmllllllllmllllllllllmllllllllllmlmlmlllllllllmlmlllllllmlllllllllmllllllllllllllllllllllllllln}~nllllmmllllllllllllmllllmllllllllllllllms~smllllllmlllllllllllllllmllmlllllllllllmlllllmllmlllllllllllmms~wnlllmllllllllllo}{nllmlllllllllllllllmllllllllllllllllllllllllllllllllllllllllo}~qmllllllllllllllllllmllllllllllllmlllllllllllmr~vnllllmlllmlllllllllmllllllllllllllllllllmllllllllllllllllllllllllllllllllllllllllllllllllllllllllmllllms~~smlllllllllllllllllllllllllllllllllllllllllmlllllllllllllllllllllllllllllmlllllllllllllllllllllllmlq~|olllllmllllllllllllllllllllllllllllllllllllmlllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllp}|ollllllmllllmmlllllllllmllllllllllllllln}vmlmllllllllllllllmllmlllllllllllllllllllllllllllllllllllllllllllllllllllmllllllllllllllllllllllllllllllllllllln}vnmlllllllllllllllmlllllllllllllllllllllllllmlmllllllllllmllllmlllllmllmmllmlmmllmllllmmlllmmmlllmllllllmlllmlmllmmllllllmlmlmlllmmmlllllllmlllllmlllmllmlllmlmlmlmllmllnw~rmllllllmmmllllllllmlmllllmlllmlmmmlllmlmmmllmlmmllmlllllmmlllmlllmmlllmlllllllmlmmlllmlmlmlllmllmmllllllllmlmmllmllmlllllllmlmllllmlllllmlmllllllllmnooooooooooooooooooooooomlllllmmllmlmlmllllnpv|~}{vqnmlllmmlmlllllllmmmmllmlmllllmmllmllmmllmlllmllmmlllllllmlmlllllmnorwz}~~|yuqonmlllmmmlllllllllllllllmllllllmlllmllllllllmlllllmllmmmllmmmlllllllllllmlmmlmllllllllllllmmlllllllllmlllllllmllmllmmllmnorvz}~~|yuqonmllllmllmlmmlmlmlmmlllmlllllmmllmllmlllllllmlllllllmllllmmmmmlllmlllllllllllllmmt~ynllllllmllmlllmlllllllmlmlmlllllllmlllllllllmlmlllllllmlmllmllllllllllmlmmlmlmmlllllllllllmllmlmlllnz~nlmlmmmlmllllmmmllllmmlmlllmmmmmllllmlllo}wmlllllmlllllllmmmllmllllllmllmlllllllllmllmlllllllmmmlmlmmllmw~smmlllllmllmllllnz~pmmlllllmllllllllllllllmlllllllllllmllmlmllllllllllllllllllmr~|ollmllmlmmlllllllllmllllmllllmllmlllllmmmllllms~vnmmllllmlllmmllmlllllllmllllllmllmmmlmlllmlllllllmllllllmllmlllllllmllllmllllllllllllllllllllllmllllllms~~smmllllllmllllllmlmlllllmllllllllllllllllllllllllmmllmlmlmllllmlllmllllllmlllllmmllmlllllllllllmmmnwumllllmlllmllmlllmlmlllllmlllllllllllllmlllmmlllmmllllmmlllllmllllmllmlllmlllllmmlllmllllmlmllmllmllmllmlllllllmllllnw}pmllmlmlllllmlmlllllllllllllllmlllllmmln}wnllllmlmlllllmllllllmlllmlllmlmlllllllllllmlmlllmmllllllllllllllllllmlmllllllllllllllllmllllllmlmlllllmlmlmlmlo}vnmlllllllllllllllllllllllllllllllllmmmllllmlllllllllllllllmlllmlllllllllllmllmllllmmlmmllmllllllllllmllllllmllmmmmlllllllmllmmllllmllllmllmlmllllllllmlllllmmllmllmlmllnw~rmllmllllllmmlllmlmlllllllllllllmlmlmllmllmmlmlmmlmllmllllmmlllmmmllmlmmlllmlllllllllllllmmmlllllmlllllmlmllllllllmllllllllmllllllmmlmllllllmlllllllnx}}}}}}}}}}}}}}}}}}}}}}|rmlmlmllmllmlmlllmpv|~zuonlllmmlllllmlmllllmlmlmmlmllllmlllmllllmlmllllmlllllmmlmllmnotx|~}{wromllmlllmlmlllmmllllllmmmmlmllmlmmlllllmmlmllmlmlllmlmmllllllmllllmlllllmmlmmllllmmllllllllmlmlllllllmlmlllllmmmmmnosx}~}{wromllllmlmmmlmlllllmlmlllllllmmlllllmlllllllmlllmlllllllllllllllmlmllllllmlmmllmr~|olllllmllllmlllmmlmllmllllllllmlllmllmlmllllmlmlmlmmlllmlllllllllllmlmmllllllllllllllllmllllmmlmlllnx~~~~~|nllmmllllllllmmllllllllllmmmllllllllllmlnzznmlmlmmlmlllllllmmmllmlllllllllmmmmmllmllmlllllmmllmmmmmllmln{}ommmmmlmmmllllllmv~tmllllmllmlmlllmmmmlllllmlmmlllllllmlllllmlmlmllllllmllllllmuxnmllllmlllmmlmmllmlllmmlllllmmlmllllllllmllllms~vnlllllllmmllllllmlllmmlmmlllllllllmlllmllllllllmllmlmllmllllllllmlllmllllllllmlmlllmllllmlmlmlmlllmlmlms~~smmllmlmmmlllllmlmllllllllllllllmlmlllllllllmmlmlmlmllllllllmlmllmlllmmmmlllmllmllllmmlllllmllmmmmo|}pmllmlllllllllllllllllmmllllmlllmmllmlllllmllmlmllmlllllllmlmllmlmllmllllmmmlllmllmllmmlmllllmmlllmlmlllllmlmlllmlmlmq~~|yurmlmlmmlmlllmmlmlmlllllmllmmllmlmlllllmlo}vnllmllllllllllllmllmllmlllmlmlmlllllllmmllmllllmllllllmlllllmlmllllllllllmlllmllllmlllllllmlllllllmlmlmllllllmo}vnlllllmlmllllmllmllmlllllmllllllllllllllllllmmlllllmlllllllllllmmmlmlllllllllllllllllllllmmllllmllllllllmlllllllmllllllllllmllllmlllllllmlllmlllllllmllllllmllllllmllmlnv~rmlllmllmllmlllllllllmllllmllllllmmlllllllmllllmllmllllllmllmllllllmlllllllllmlllllmlllllllllllllmllllmllllllllmllllllmllmlllmlmmllmlllmllmmllllmllln{smlmmllllmmlllllnt{|vpnlmmllmlmlmlmlmmmmmmllmlmllllllllmllmllllllllmllllmmllmosx|~~{upnmlllllllmllllllllmlllllmlllmlmmlllmlmlmmmllmlllmllllllllllllmlmllllmllmmllllmllmmlllmlllllllllmlmmlllllllmlmorx|~~{vpnmllmlllmllmlmmlllmlmlmlmllllmllllmlmlmmllmllmmllmlllllllllmlmmlllmlmmmllllmr~~pmlllmllllllllmmlllllllmlllmllmmlllllmlllmllmmmllllmlllmllllllllllmllllmllllllllmllllllllmllmllllllmu|}}}}}|zzzzzzxvvvvvvtsssssrmllmmlllmlmmllllllllmllmlmmmmlllllllllllmv~ollmlmllmllllmmllmlllmmllmmmlmmlmmmmlmmmlllllllmmmmmlllllmmmp~znllmlllllllmllllmr~xnllmlllmlmlllmlllllmlllllmlllmlmlllmlllmmmmllllllmmmlllmmlnytmlmmmmlllllmllmlmllllmlmllmllllllmlllllllllmlms~vnmllllmlllmlmmlllllllmlllllllmlllllllmlmlmlllmmllllmmlllllllmllllllllllmmlllmmllmllmllmllmllllmlllmlllms~~smllmmmllmlllllllllllllmlllllmlllmlmlmlmlllmlmlllmllllmllmlmmlllllmlmlllllmmllllmlllllllmlllmmlllmr~xnllmllmlmmmllllmmllllmlmlllmllmlmlllmmlmllllllllmlmmlllmlmllllllllllllllmmmllmmlmmllllmlmmlmllmlmlllllllmllllmllmmmlln{}{xuqonmllmlllllmllmmllllllllllmlllllmllllllmllmn}wnmmllllmlllllllmllllmmlmlmlmmlllmmlllmlllmmlmllmlmmlmmmmlllmlllmlllmllllllllllllllllllllllllmllmmllllllllllmlmo}vnlmllmmllmlllmlmmmllmllmllllmmllllmllmllmllllmlmllmmllllmllllllmllllllmllmmmllllllllllllmllllllmlmmlmlllllllllmllllllllmmllllllllmllmllmmlllmllllmllmlllllllmllllllllllnv~rmllllllllllllllllmlllllmlllllllllllllllmllllllllmllmllmlmllmllllmllllllmllmlllllllmlmllllmllmllllmlmmlmmlmlllllllllllllllllllllllllllmllmllllllllllnz~smllllllllllllmpx~}xqnmllllmllllllmllllmllllllmllllllllllllllllllllllllnptz~}xsomlmlllllmlmllmlmmlllmmmlllllllllllmlmlllllllmllllllmllllllllllmllmllmlllmlmlllllllllllllllllmllmllmmmllnpuz~}xsomlllllllllllmlllllllmllllllllllllllmlllllllmllmllllmllmlllllllllllllllllmp~umlmllllllllllmlllllllmllmlmlllllllllmllllllllllllllmmllllmllllllllllmllllmlllllllllllllllllllllllllnooooooonnnnnnnnnnnnmmmmmmmmmllllllllmlmlllllmlmlllllmllmlmllllllllmmr~~smllllllllmllmlllmllllmllllllllllllmllllllmllllllmlmlmlmlmlnuumllllllllllmlllllo}|ollllllllllllllllllllmlllmllllllllmlmllllmllllllllllllllllo}~pllmllmllllllmlllllmllllllllllllllmlllllmlllmlms~vnmmmllmlllmllllllllllllllmmlllmllmmlmllllllmlllmlllllllllllmlllllllllllllllllllmlmllllllllllllllllllllms~~rmllllllmlmllllmlmlllmllllmlllmmlmmmmllllllmllmlmlllmllllllmlllmmmlmmmllllllllllllllmllllllllmlmlnx~rmlmlllmmllmllmmllmlllmllllmmlllmllmlmlmmmlllllmmlmlllllmmlllllllmmmllmllllllmlllllllllmlmlllllllmllllllmmllmmmlllllllmt~}zwtponmlllllmllllmlmmmmlmlllllllllmlllllllllmlmllmlo}wmlllllmmllllllllllllmmllllmllmlllmmlmlllmmmlmllmllllllmmlmllmlmlmlllllmmmllmlmllllllllllmlmlllllmmlllmlllllmlmo}vnmllmmlllllllmlmllllmlmlllmmmlllmllllmmmlmllmllmmlmmmmlllllmllllmllmlllllllmlmllllmmlmmmmllllmlmmmllmlmmmllllmlllllllmmlllllmlmlllllmmllmmllmllmmlmmmlllmlmllmllmmllmllnv~smllmllllmmllmlllmlmlllmllllmllmlmllllmmlmllmlmlmmmlllmlllmlmlmllmmllmmlllllmmlmmlllmmmmllmmlmmlmmmlmllllllllmmllmlmllllmmmmllmllmlmmlmlmllllmlmllmmnz~rmlllmlmlllmmmqz}wpmmmmllllllmlmlllllllllmllmllmlmlllllllmlllmlllnpv|~~zsomlmmllllmlllllllllllllllllllmmllllllmmmmllmmlllmlllllllmlllllmmlmllmlllmmmmllmmlmlmmllllllmlmlmmlmmnpv|~~zsnmmlllmlllllmlmmlllllllmmllllllmlllllllllllllllllmmllmmlllmmlllllmllmlllo}znllllmllmlllllllllllllmllmmllmllllllllmmlllmmlllllmlllmmllllmmlllllllllmlllmlmllllllmllmllmmllllllllllllllllllllllllllllmllllllllllllmllllllmlmmlmlllllllllmllllllllmmllo}vnlllmlllllllllllllmllllmllllllllmlmllmllmllmllllllllllllllny~rmmmllllllmllmllmlnx~rmmlllmllmmlllmlmmlmllmlllllllllllmlllllllllllllllllmmlmlmr~{nlllllllllllllllllmlllllmmllllmllllllllllllmmlmr~vnllllllllllllllllllmllllllllllllllllllllmmllllllllmlllllllllllllllmllllllllmllllmllllmlllmlmlllllllllmmr~~rmlllllllllllmlllmlmllllmmlllllmllllmllmlmlllmllmmmllmlllllmllllllllllllllllllmllllllllllllllllllo|{ollmlllllllllllllmlmlmlllllllllllmmllllllllllllmmllmlllmlmlllllllllllmllllllllmlllmllmmllllllmmlllmmmllmmlllllmlllllllmp}~|zvsonnmlllllmlmlllllllmlllllmllmllllllllllmllllmlllllllo}vnllllllllllmlllllllllmllllmmlllllllllllmlllmlmmmlllllllllllllmlllllmmllllllllllmllllllllllllllmllllmlllllllllmo}wnlmlllllllmlllmlllllllllllllllllllllllmlmlllmlllllmllllllllllmllmlmmlmmmmllmllmmmmmlmmllmlmmmllllmllmmlmmllmmmmmlmlmmmmmmmlmmlmmmmmmmmllmlmmlmmmmmmmmllmlllmllmlmmmmmllnv~smmlllmmmmmmmmmmlmlmmlmmlmllmllmmlmmmmllmmmllmmlmlllmmllllmmmllmmlmlllmmmmlmmmllmllmlmmmmmmlllmmllllmmmlmllmlmmmlmmlllmlllmmlmmllmmmmmlmlmllmmmmmlmlnz~smlmmmllmmlmmr|}vnlmlllmllmllllmlmllllmmlllmlmllmlllmlmmmmllmpv|~zsomllmlmlmlllmmmlmmmlmmllmlllmmmmlmmmllmllmlmmmlmlllmllllmlmlmmllmmmmlllmllllmllllmmmllmmmlllmmllnpv|~zsomlmllllmllmmmmmmlllmmlmlmllmlmlllllllmmmmlllmmlmllmlllmllmlllmlmmlmlln|~qmllmmmmmmlmmmllmmlmlmmllmmlmllmmmmmlmlmmllmlmllllllmlmllmmllmmllmllmmllmllmllmmmlmlmlmlllmmlllllmllmlmmllmlmlmlmlllllmlmlmllllmmlmmmmllllmlmmmllmlmmmllllmllllmlmmmllllnyynlmllmllmmllmllmmllllmmmlmmllmmlmllllmllmlmmllmmlmlmllmmllo}|olmllmlmlmmmlmlmllmtvnmmllmmlmmlmmmlmllllllllmmlmmlmlmmllmllllllllmlmmmlmllmlmuwnmmlmlmlllmllmllmmlmlmllllmlmllllllmlmlmmllllmms~vnmllmmllmlllllmllmllllmllllllllllmmlmmlmlllmlmmmllmlllmmllmllllmllllllllllmlmllmllllmlmlllllmlllllllllmr~~rmmlllllmlmmllllmllmllmllllmllmlllmllllmmllmlllllmlmmlmlllmllllllmlmllllmlmllllllmmllmllmlllmmllmr~umllllllllllllmmllllllmmmmllmmlllmlllllllmlllllmmlmllmlllmlmmllmmlmlmmllllllllmlmmlmmlmllmllllmlllmmlllllmlmmlmlllllmllmny}|xuronnmlmlllllllmlllllllmlmlmlllllmlmmllllllmmlllllllmlllllo}vnmllllllmlmllmllllllllllmllllllmlllllllllllmmlllmllllllllmllmllllllllllllllllllmlllllllllmmlmllmlllllllllmlmmlo}vnllmlllmmlllmllllllmlllmlllllmmmmlllmllllllllmllllmllllllllllmllllmmmlmmmlmmmmllmmmmlmmmmmmmmmmmmmlmlmmlmmmmlmlmmmmmmlmmmmmmlmmmmmlmmmmmmmmmlllmmmlmlmmlmmlmmmllmmmlmmmnv~smmmlmmmmlmlmmmmlmmmlmlmmmmlmmllmllllmmlmmmlmmmmlmlmmmlmlmmmlmmllmmmlmmllmmmmmmmlmmmmmmmmmmmlmmmlmmlmmmmmmlmmllmmmlmllmmmlmmmmmmmlmllmmlmmmmlmlmmmlmnz~smlmmmmllllmr}|ommlmmmmmmmmmlllmmllmmlmlmlmlmmmlmlmmlmmlmov}~yrnlmlmmmlllmmmmmmmmlmmmmmmmmmmmlmlmmlmmlllmllmlmllmmmmlmmmlmlmllmllmmmmmmllmllmlmmlmlmlmmmlmlmov|~yrnmmlmmllmmlmmmlmmmmmlmmllmllmmlllmmmmlmmmmmllmmmmmmlmmmmmmmlmlmmlmmlnzxnmmlmmlmmmmmmlmlmmmmmmmmlmmmmmmmmlmmmmmmmmmmllllllmmlmlmlmmmllmmmmmllmmllmmlmmmmmmmlmmlmmmmllllllmmmlmlllmmlmmmmlmmmmmlmllmmmmmlmmllmmmmmmlllmllmmlmlmlmmmmmlmlmmmmmmllmu}olmmllmlmmmmmlmmmmlmlmmllmmmlmmmmmmlmllmmmmmmmmmlmlmlmmmmms~xnmmmllmlmmlllmmlllmp~zolmmmmlllmmllllmmmlmllmlmmmlmmlmlmllmllmmmlmllmlllmmllmmny~rmlmmmlmlmllmmllmlmmmmmlllmlllmmmllllmmmllmmmmmms~vmllmlmlmmmmmmlmmmllmmmlmmmmllllmmllmmlmmmmmlmmlmmlmmllllmmmmlmmlmmmmmmmmmmlmmmlllmmmmmmmmlmlmlmmlmlllmms~~rmmmllmmlmlmllmlllmmmlmllmlmmlmmlllmmllmmmmmlmlmmlmmllmlmlmllllmmllllmlllmmmmllmmlllmllmlmmmlmlmnw~qmlmmmlmmllmlllmmmmlmmmllmllmlmmmlmlllmllllmlmlmmllmmmllllmllllmllllmmmllmmmmllmmllmllllmlmmmllmmlmllllllmlllllmlmmlmmmmmt~~}{xtqonmllllmlmmmlmlmlmlllllmmmllmllllmllmmmmmmlllmmlmlmllmlmllllo}vnlmlmllmmlmllmllmmlmlmmlmllmmllmmmllllmmlllllmlllmlllmlmllmllmmlmmmlmmlllllmllmmmllmlmllllmmlmlmmmmlmllmllllllo}vnlmlmmmllmmlmlmlmlllllmmmmlmmmlmlmmlmmmmlmllllllllmlmlmmlmmlllllllmmmmmmmmmmmmmmmmmmmmmmmmmlmmmmmmlmmmmmmmmmmmmmmmmmmmmlmmmmmlmmmmmmmmmmlmmmmmmmmmmmmmmmmmmmmmmmmmmmmmlnv~smlmmlmmmmlmmmmmmmmmmllmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmlmlmmmmmmmlmmmmmlmmlmlmmmmmmmmmlmlmmmmmmmmmmmmmmmmlmmlmmmmmmmmmmmmmmmlmmmmmmmmmmmmmmlnz~smlmmmmmmmms|xnmllmmmmmmlmmmmmmmmmmmmmmmmmmmmmmlmmmmmmnt{}wpmlmmmmmmlmmmlllmmmmmlmmmmmmmmmmmlmlmlmlmmmllmlmlmmmmmmmmmmmmmmmmmmmmmmmmlmmmlmmmmmmmmmmmmot{}wpmlmmmmmmmmmmlmlmmmmmmmmmmmmmmlmmmllmmmmmmmmlmmmmmmmmmlmmmmmmmmmmllnv~qmmmmmmmmlmllmmmmmmmmmmmmmmmmmlmlmmmlmmmlmllmmmmmmmmmmmmmmmlmmmmllmllmmmmmmmmmmlmmmmllmmmmmmmmmlmmlmlmmlllmmmlmmmlmmmlmmmmlmmlmmlmmmmmmmmmmmmmlmmmmlmmmmmmlmmmmmmlmmmmmmr~~qmmmmmmlmmmlmmmmlmmmmmmmmmlmmlmmlmmmmmmmmmmmllmlmlmmmmlmlnwtmlmmlmmmmlmlmmmmmlmn{~pmmmmmmlmmmlmmlmmmmmmlmmllmmmllllmmlmmlmmmmlmmmmmmmmmlllo}}olmmlmmmmmmmmmllllmmmmmmlmmmmmmmmmmmmlmmlmmmmmlms~vnlmmmlmmmmmlmmmlmllmmmmmmmmmmmmlmmmlmmmllmmlmmmmlmmlmlmmlmlmmmmmllmmmmmmmmmmlmlmlmmmllmllmlmmmmllmmlmlns~~rmlmlmmmmmlmmmlmmmmllmmlmmlmmmmlmmmmmlmmmlmmmlmmlmmmmllmmmmmmmmlmmmmmmmmllmmmlmllmllmmmmmmlmllmlo{{nlmmmmmlmmmmmmmmmmmlmlmmlmmlllmllmlmlmmlmmmmmmlmlmllmlmmmmmmmllmllmlmmlmmmlmmmlmmmmmmlmmmmmmlmlmmmmlmmlmlmmmlmllmmlmmmlmmousponmmlmmlmllmmmlmmmlmmllmlmmmlmmmmmlmmlmmmlmmmlmmmmmlmmlllllmllllo}vnlmmmlmlmmmmmmmmlmmmmmlmmlmlllmlmmlmmmlmmmlmllmmlmmllmmlmlmlmlmmmlllmmlmlmlmlmmlmmllmlmmmmmllmmlmmmlmmmllmmlmlo}vnlllmlmlmmmmlmmmmmmlllmmmmmmlllmmllmmmlllmllmmlmmllmlllmmmmmlmmmmmmmmmmmmlmlmmmmmmmmmmmmmmmlmlmmmmmmmmmlmmmmmmmmmmmmmmmmmmmmlmmmmmmmmmmmmmmmmmmmmmmmmmmmmlmmmmmmmmmmmmlnv~smlmmmlmmmmlmmmmmmmmmlmmmmmmmmmmmmmmmmmmmmmmmlmmmmmmmmmmmmmmmmmlmmmmmmlmlmmlmmmlmmmmmmlmmmmmmmmmmmmmmmlmmmmmlmmmmmmmmmmmmmmmmmmmmmlmmmmmmmmmmmlmmmmlnz~smlmmmmmlmq|~rmmmlmmlmmlmmmmmmmmmmmmmmmmmmmmmmmmlmlmmqy~{snlmmmmmmmmmmlmmmmmmmlmmmmmmmmmmmmmmmmlmmmmlmmmmmmmmmmmmmmmmmmmmmlmmmmmmmmmmmlmmlmmmmmlnqy~{snlmmmmmmmmmmmmmmmmmmmmmlmmmlmmmmmmmmmmmmlmmmmmmmlmmmmmmmmmmmmmmllms~ynlmmmmmmlmmmmmlmmmlmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmlmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmlmmmmlmmmmmmmmlmmmmmmmmmmmmmmmmmmmmmmmlmmmmmmmmmmmmmmmmmmmmmmmmlmmmmmmmo|ummmmmllmmmmmmlmmmmmmmlmmmmmmmmmmmmmmlmmlmmmmmmmmmmmmmmmmo{~plmmmlmmmmmmmmmmmmmlnwtmllmmmmmmmmmmmmmmmmmlmmmmmmmlmmmlmmmmmmmmmmlmmmmmmmmmmmr~znmmmmmlmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmlns~vnmmmmmmmmmmmmmmmmmmmmmmmmmmmmlmmmlmmmmmlmmmmmmmmmmmmmmmmmmmmmmmmmlmmmmmmmmmmmmlmmmmmmmmmmmmmmmmmmmmmmlms~~smlmmmmmmmmlmmmlmmmmmmmmmmmlmmmmlmmmmmmmmmmmmmmmmmmlmmlmmmmmmmmmmmmmlmmmmmmmmlmlmmlmmmmmmmlmmmmmq~ummmmlmmlmmmmmmmmmmmmmmmmmlmmmlmmmlmmmmmmmlmmmlmlmmmmmmmmlmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmlmmmmmmmmmmmmmmmmmmmmmmmmmmmmlmmmmmmmllmlmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmlmlmmmmmmmmmmmmmmllo}vnlllmlmmmmmmmmmmmmmmmmmlmlmmlmmmlmmmmmmmmmmmmmmmmmmllmmmmmmmlmmmmmmmmlmlmmmmlmmmmlmmmmlmmmmmmmmmmlmmmmmmmmmmmmo}vnlmlmmmmmlmmmmmmmmlmmmmmmlmmmmmmlmmmmmmmmmllmmmlmmmmmmlmlmlmmmlmmmmlmmmlmmmlmmmlmlmmlmmmmmlmlmmmmmmmllmmmmmmmlmmmmmmmmlmmmmmmmmmlllmmmmmmlmmmmmmmmlmmmmmmmmmlmmmmmmmmmlnv~smmlmmmlmlmlmmmmmmlmmmmmmlmmmmmmmmmmmmmmmmlmmmmmmmmmmmmmmmmmmlmmmmmmmmmmmmmmllmmmmlmmmmlmmlmmmmmmlllmlmmmmmmmmmlmlmmmmmlmmlmmmmmmmmmmmmmllmmmmmmmmmmnz~smlmlmmmmpz|ollmlmmmlmmmmmlmmmmmmmmmmmmmmmmlmmmmmlou|}wpmmmmmlmmmmmlmmmlmmmmmmmmmmlmmmlmmmmmmmmmmmmmmmmllmmmmmmmmmlmmmmmlmmmmmmmmmmmmmmmmllou|}wpmlmmmmmmmlmmmmmmmmmmmmmmmmmlmmmmmmmmmmmmmmlmmmmmmmmmmlmmmmmmmmmmp~~tmmmmmmmmmmmmmmmmmmmmmmmmlmmmmmmmmmmlmmmlmmmmmmmmmmmmmlmmlmmmmmmmlmmmmlmmlmmmlmmmmmmmlmmmllmlmlmlmlmmmmmmlmlmmlmmmmmmmlmlmmmmmmmmmmmmlmllmmmmmmmmmlmmmmmlmmmmmmmlmmmmmlnyynlmmmmmmmlmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmlmmmmmmmmmmmmmmp~{nlmmmmmmmmmmmmmmmmlmms~xnlmmmlmmlmmmmmmmmmmmmmmmmmlmlmmmmmmlmmmmmmmmlmmlmmmmmmnvunmmmmmmmlmmmmmmmmmmmmmmmmmmmmmmmmmlmmmmmmmlmmmmms~vnlmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmlmmmmlmmlmmmmmmmmmmmmmmmmmmmmmmmmlmmmmlmmlmmmmlmlmmmmmlmmmmmmmmmmmlms~~smlmmmmmmmmlmmmmmmmmlmmmmmmmmmmmmmmmmmllmmmmmmmmmlmmlmmlmlmlmlmmmmmmlmmmmmmmmmmmlmmlmmmmmmmmmmlnu~qmmmmmmmmmmmmmmmlmmmmmmmmmmmmmmmmmmmmmmmmmmmmlmmmmmlmmmmmmmmmmmmmmmmmmmmlmmmmlmmmmmmmmmmmmmlmmmmmmlmlmmmlmmmmmmllmmlmmmmmmmlmmmmmlmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmlmmlmmmmmmmmlmlo}vnmmmmmlmllmmmmmmmmmmmmmmmmlmlmmlmmmmmmmmmmmmmmmmmlmmmmmmmmmmmmmmmmmmmmmmmmmmmmmlmmmmmmmmmmmmmmmmlmmmmmmmmmmmmlo}vnlmmmmmmmmmmmmmmmmmmmmlmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmlmmmmmlmmmmmmmmmmmmmmmmmlmmmmmlmmmmmmmlmmmmmmlmmmmmmmmmmmmmmmmmlmmmmmmmmlmmmmmmmmmmlmmmmmmmmmmmmmmmmmmlmmmmmmmmmnv~smmmmmmmmmllmmmmmmmlmmmmmlmmmmmmmmlmlmlmmmmmmmmmlmmmmmlmlmmmmmmmlmlmmmmmmmmmmllmmlmmmmlmlmmmlmmmmmmmmmmmmlmmllmmmmmmlmlmlmmmlmmlmmmmmmmmmmlllmmmlllmnz~smmmmlmmoxwnmmmmmmmmmlmmmmmlmmmmmmmmmmmlmlmmmmmmpy~{rnmlmmmmmmmmmmmmlmmmmmmmmmmmmmmmllmlmlmmmmllmllmmmllmmmlmmmmmmmmlmmmmlmmmmmmmmmmmmpy~{smmmmmmmmmmmmmmmmmmmmmmmmmlllmmmmmlmmmllmmmmmlmmmmmlmmmmmlmmmmmln{|qmlmmmmmmmlmlmmmlmmmmmmmlmlmmmmmmmmlmmlmlmlmmmmmlmmmlmmmmmlmmmmlmmlmmmlmlmmmmmmmmmmmmmmlmmmmmmmmmmmmmlmllmmmllmmmmmmmlmmmmlmmmmmmmlllmmlmmmmmllmmmmmmmllmmmmmlmmmmmmmmnu|omlmmmmmmmmmmmmmmmmmmllmmmmmmmmmmmmmmmmmmmmmmmlmllmlmmmmtvmlmmmlmlmllmmmmmlmmmmo}|olllmllmmmmllmmmmmmlmmmmmmmmmmlmlmmlmmlmlmlmlmmmmmmmmmnx~rmlmmlmmmlmmmlmlmmmmmmmmmmmmmlmmlmmmmmllmmmmmmmmms~vnmmmmmlmmmmmmmlmmmmmmlmmmmmmmmmmmmmmmmmmmmmmlmmmmlmmmmmmmmmlmmmllmmmllmmmmlmmmlmmmmmmmllmmlmlmlmmmlmlmms~~smmmlmmmmmlmmmmmllmmmmmlmmmmmmmlmlmlmmmmmmmmmmmmmlmmmmmmmmlmmmmmmmmmlmmmmmmlllmmmlmmmmmlmlmmmmlny{nmmmmmmmmmmmmmmlmmmmmmmmmmmmmmmmmlmmmmmlmmmmmmmmmmmlmmmmmmmmmlmmmmmmmmmmmmmmmmmmmmmmmlmmmmmmmmmlmmlmmmmlmmmllmmmlmlmmmmmmmmmmmmlmmmmmmlmlmmlmmmmlmmmmmmlmmmmmmmmmlmmlmmmlmmlmmmmmmlmmmmmmmlmllo}vnlmmmmmmmmmmmmmmlmmllmmmmmlmlmmmmmmmmmmlmlmmlmmmmmmmmmmmlmmmmmmmmmmmmmmmmmmmlmmmmlmmmmmmmmmmlmmmmmmmmmmmmmlmmmo}vmlmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmlmmmmmmmmmmmlmlmmmmmmmmmlmmmmmmmmmmlmmmmmmmmmmlmmmmmmmmmmmmmlmmmmmmmlmmmmmmmmmmmlmmmmmmmmmmmmmmmmmlmmmmmmmmmmmmmmmmmmmlmmmmmmmmmmmmnv~smlmmlmmmmmmmmmmmmmmmmmmmmmlmmmmmmmmmmllmmmmmmmmmmmmmmlmmmmmmmmmmmmmmmmmmmlmmmmmmmmmmmmmmmmmmllmmmmmmlmmmmmmmmmmmmmmmmmmmmmmmmlmmmmmmmmmmmlmmmmmmmmmnz~smmmmmmmv~~qmmmmmmmmmmmmmmmmmmmmmmmmmmmmmlmmmmmns|}volmmmmmmmmmmmmmmmmmmmmmmlmmmmmmmmlllmmmmmmmmmmmmmmmmmmmmmlmmmmmmmmmlmmlmmmmmmlnr{}vommmmmmmmmmmmmmmmmmmmmmmmmmlmlmmmmmmmmmlmmmmmmmmmmmmmmmmmmmmllmxzpmmmmmlmmmmmmllmmmmmmmlmmmmmmmmlmmmlmmmmlmlmlmmlmmlmmlmmmmmmlmmllmmmmmmmmmmmmmmmlmmmmmmmmmmmmmlmmmmmmlmmmmmlmmmmmmmmmmmmmmmmmmmmmmmmmmlmmmmmmlllmmmmlmmmmmmmmlmlmmmmmmq~~pmmmmmmmmmmmmmmmmmmmmmmmmlmmlmlmmmmmmmlmmmmlmmmmmmmmmmlny~rmlmllmmmmmmlmmmmmmlmmny~rmmmmmlmmmmmmmmmmlmmmmmlmmlmmlmmmmmlmmmmmmlmlmmmmmllmmn||olmlmmmmmmmlmmmmmlmmmmmmmmmmlmlmlllmmmmmmmmmmmmmms~vnmmmlmmmmmmmmmmmmmmmmlmmlmlmmmlmmlmlmlmmmmmlmmmmmmmlmmmmmmmmmmlmmmmmmmmmmlmmmmmmlmmmmlmmmmmmmmmmmmlmmmms~~smmmmmmmmmmmllmmmmlmmmmlmmmlmlmmmmmmmmmlmlmmmmmmmlmmmmmmmmmmmmmmmmmllmmlmlmmmmmlmmmmmmlmmmmmmmmo}wnmmmmmmmmmlmmmmmmmlmmllmmmmmlmmmmmmlmmlmllmmmmllmmmmmmmmmmmllmmmlmmmmmmmmmmmmlmmmmmlmmmmmmlmmmmmmmmmmmlmmmmmmmmmmmlmmlmmmmmmmmmmmmmmmmmlmmmmmmmmmmmlmlmlmmmmmmlmmmllmmmmmmmmmmmmmmmmlmmlmllmllo}vnmmmmmmmmmmmmmmmmmlmlmmmmmmmmmmlmmmmmllmmmmmmmmmmmlmmmmmmmmmlmmlmmmlmmmmlmlmmmmmmmlmmlmmmmmmmmmmmmlmmmmmlmmmmmo}vnmmmmmmllmmmmmmlmmmmmlmlmmmmmmmmmmmmmlmmmmmmmmmmmlmmmlmlmlmmllmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmnv~snmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmnz~smmmmmmr~znmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmlnu}~xpmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmou}~xpmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmms~xommmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmlmmmmmmmmmmmmlmmmmmmmmmmmmmmmmlmmmmmmlmmmlmmmmmmmmmmmmmlmmmmmmmlmmmmmmmmmmmlmmmmmmmmo|~smmmmmmmmmmmmmmmmmmmmmmmmmlmmmmmmmmmmmmmmlmmmmmmmlmmmmmo}}omlmmmmmmmmmmmmmmmmmmmmuummmmmmmmmmmmmmlmmmmmmmmmmmmmmmmmmmmmmmmmmllmmmmmmmmmmq~ynmmmmlmmmmmmmmmlmlmmmmmmmmmmmmmmmmmlmmmlmmmmmmmmms~vnlmmmmmmmmmmmmmmmmmmlmmmmmmlmmmmmmmmmmmlmmmmlmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmlmlmlmmmmmmmlmmmmmmmmmms~~smmmlmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmlmmmmmmmmmlmmmlmmmmmmmmmmmmmmmllmmlmmmmmmmmmmmmmmmmmmmmmlmr~~rmmmmmmmmmmmmmmmmmmmmmlmmmmmmmmmllmmmmmmmmmmmmmmmmmmlmmmmmmmmmmmmmmmmmmmlmmmmmmmmmmmmmlmmmmmmmmmmlmmmmmmllmmmmmmlmmmmmmmmmmlmmmmmmmmmmmmlmmmmmmmlmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmlmmmmllo}vnmmmllmmmmmmlmmmmmmmmmmlmmmmlmmmmmmmmmmmlmmmmmmmmmmlmmmmmlmmmmmmmmmmlmmmmmmlmmmmmmmmllmmmlmmmmmmmmmlmmmmmmmmmmo}vnmmmmlmmmmmmmmmmmmmmmmlmmmmmmmmmmmmmmmllmmmmmlmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmnv~smmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmnz~snmmmmp{ummmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmox~{pmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmox~{qmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmo}xommmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmnxwnmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmq~ynmmmmmmmmmmmmmmmmmmmmmmq~ynmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmnutnmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmms~vnmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmms~~smmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmnu}ommmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmlo}vnmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmlo}vnmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmlmmmmmmmmmmmmmmmlmmmmmmmmmmmmmmmmmmmmmmmmmmmmmlmmlmmlmmmmmmmmmmmlmmmmmmmllmlmmmmmmmmmmmmlmmmmmmmmmmmmlmmmnv~rmmmmmmmmmmmmmmmmmmmmlmmmmmmmmmmmmmmlmmmmmmlmmmmmmmmmmmmmmmlmmmmmmmmmmmmmmmmmmmmmmlmmmmmmmmmmlmmmmmmmmmmmlmmmmmmmmmmmmmmmmmmmmlmmmmmmmmlmlmmmmmmmmmmnz~smmmmnx}pmmmmmmmmmmmmlmmlmmmmlmmmmmmmmmmmmqz{rmlmmmmmmmmmmmmmlmmmmmmmmmmmmmmmmmmmlmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmpz{rmmmmmmmmmmmmmmmmmmmmmlmmmlmmmlmmmmmmmmmmmmmmmmmmmmmmmmmmmmlnxzpmlmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmlmmmmmmmmmmmmmmmmmmmmmmmmmlmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmlmlmmmmmmmmmmmt~{ommmmmmmmmmmmmmmmmmmmmmmmmmmmlmmmmmmmmmmmmmmmmmmmmmmmnvtmlmmmmmmmmmmmmmmmmmmmmmo|}ommmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmnx~pmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmns~vnmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmns~~snmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmnyynlmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmlo}vnmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmo}vnlmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmlmmmmmmmmmmmmmmmmmmmmmmmmmmmllmmmmmmmmmlmmmlmmmmmmmmmmmmmmlmlmmmmmmmmmmmmmmmmmmmmnv~smmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmlmmmmmmmlmmmmmmmmmmmmlmmmmmmmmlmmmmmlmmmmmmmmlmlmmmmmlmmlmmmlmmmmmlmmmmmmmmmlmlmmmmmmmmmmmmnz~rmmmnt~xnmlmmmmlmmmmmmmmlmmmmmmmmmmmmmmmmq{|rmlmmmmlmmlmmmmmmlmmlmmmmmmmmmlmmmmmmmmmmmlmmmmlmmmmmmlmlmmmmmmmmlllmmqz|rmmmmmmmmmlmmmmmlmmmmmmlmmmmmmmmlmmmlmmmmlmmmmmmmmmmmmmmmlmms~{rnlmmmmmmmmlmmmmmmmlmlmmmmlmmmmmmmmmlmmmmmmmmmmmmmmmlmmmmmmmmmmmmmmmmlmmmmmmmmmmmmmmmmmmmmlmmmmmlmllmmlmmlmmmmmlmlmmmmmmmmmmmmmmmmmmmmmmmmlmlmmmmmmmlmmmmmmmmmmlmmmp~}ommmmlmmmmmmmmmmmmmmmmmmmmmmmmmmmlmmmmmmmmmmmmmmmmmmmnz~pmmmmmmmmmmmmmmmmmllmmmmnxsmmmmmlmmmmlmmmmmmmmmmmmmllmmmmllmmmmmmmmmmmmmmlmmmmo|{ommmlmmmmmmmlmlmmmmmmmmmmmmlmmmmmmmmmmmmlmmmmmmmmms~vnmmmmmmmmmmmmmmmmmmmmllmmmmmmmmmmmmmmmlmlmmmmmmmmmmmmmmmmmlmmmmmmmlmmmmmmlmmmmmlmmmmmmmmmmmlmmmmmmmmmmms~~smmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmlmmmmmmmmmmmmmmmmlmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmlmmmmmo}vnmmmmmmmmmlmlmmmmmmmmmmmmmmmmmmmlmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmlmmmmmmmmmmmmmmmmmmmlmmmmmmlmmmmmmmmmlmmmmmlmmmmmmmmmmmlmmmmmmmmmlmmmmmmmmmmmmmmmmmmmmmmmmmo}vnmmmmmmmmmmmmlmmmmmmmmmmmmmmmmmmlmmmmmmmmmmmmmmmmmlmmmmmmmmlmmmmmmmmmmmmmmmmmmmmmmmmmmmlmmmmmmmmmmmlmmmmmmmmmmo}vnmmmmmmmmmmmmmmmmmmmmmlmmmmmmmmmmmmmmlmmmmmmmmmmmmmmmmmmmmmmlmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmnv~snmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmlmmmmmmmmmmmmmmmlmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmnz~smmmp|~smmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmr{|rmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmr{|rmmmmmmmmmmmmmmmmlmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmlmmmmo|}wpmllmmmmmlmlmmmmmmmmmmmmmmmmlmmmmmmmmmmmmmmmlmmmmmmmmmmllmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmlmmmlmmmmmmmmmmmmmmmmmmmmmmmmmmmllmmmmmmmmmln{~smmmmmmmmmmmlmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmp}{ommmmmmmmmmmmmmlmmlmmmmmnt~xnmmmmlmmmlmmmmlmmmlmmmmmlmmmmmmmmmmmmmmmmmmmmmmmmmmq~wnmmlmmlmmmmmmmlmmmmmmmmmmmmmmmmmmmmmmmmmlmmmmmmmmms~vnmmmmmmmlmmlmmmmmmmmmmmmmmmmmmmmmmmlmmmmmlmlmmlmlmmmmmmmmmmmlmmlmmlmmmmmmmmmmmmmmmmmmlmmmmmmmmmmlmmmmmms~~snmmmmlmmmmmmmmmmlmmmmmmmmmmmmmmmmmmmmmlmmmmmmmmmlmmmmmmmmmmmmmmmmllmmmmmmllmlmmmmmmmmmmmmmmmmq~~rmmmmmmmlmmmmmmmmmmmmmmmmmlmlmmmmlmmmmmmmmlmmlmmmmmmmmlmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmlmmmlmmmmmlmlmmmmlmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmlmmmllmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmlmmlmmmo}vnmmmmmlmmmmmmmmmlmmmmmmmlmmlmmmmmmmmmmmmmmmmmmmmmmmlmmmmmmmmmmmmmmmmlmmmmmmmmmmmmmmmmmmmmmlmmmmmmmlmmmmmmmmllmo}vnmmmmlmmmmmmmmmmlmlmmmmmmlmmmmmmmmmmmmmmmmlmmmmmmmmmmmmmmmmmmmmlmlmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmnv~rnmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmnz~smmnx|ommmmmmmmmmmmmmmmmmmmmmmmmmmmmmnr||smmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmnr||rmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmnu|uomllmmmmmmmmmmmmmmmmnmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmnwvnmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmnt~xnmmmmmmmmmmmmmmmmmmmmmmmmp~|ommmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmt~snmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmms~vnmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmms~~smmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmms~}ommmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmlmlmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmlmlmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmlmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmo}vnmmmmmmmmmmmmmmmlmmmmmllmmmmmmmmmmmmlmmmmmmmmmmlmmlmmmmmmmmmmmmmmmlmmmmmmmmmlmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmo}vnmmmmmmmmmmmmmmmmmmmmmmmlmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmlmmmmmmmmmmmmmmmmmmlmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmnw~rnmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmnz~smmt~wnmmmmmmmmmmmmmmmmmmmmmmmmmmmmmms}|rmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmms||rmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmp}|uommmmmmmmmmmmmmmmmnmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmr~znmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmnx~tmmmmmmmmmmmmmmmmmmmmmmmmmo{~qmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmnx}ommmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmr~vnmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmms~~smmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmnmmnvynmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmlo}vnmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmnmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmo}vnmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmlmmmmlmmmmmmmmmmmmlmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmlmmmmmmmmmmmmmmmmmnw~smmmmmmmmmmmmmmmmmmmmmmmlmmmmmmmmmmmmmmmmmmmmmlmmlmmmmmlmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmlmmmmmmlmmmmmmmmmmmnz~smp|~qmmmmmmmmmmmmmmmmmmmmmmmmmmmlmmq{~~~~~~~~~~|rmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmlmmmmmmmmmmmmmmmmmmmlmmmmmlmmmmq{~~~~~~~~~~|smmmmmmmmmmmmmlmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmlmmmnw{vpnmmlmmmmmmlmmmmmmmmmmmmmmmmmmmmlmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmlmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmo}}ommmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmo|}ommmmmmmmmmmmmmmmmmmmmmmmmnwunmmmmmmmmlmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmo|ynmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmms~wnmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmms~~snmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmnzunmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmlo}vnmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmnmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmo}wnmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmlmmmmmmmmmmmmmmmmmmmlmmmmmmmmmmmlmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmlmmmmmmmmmmmmmmmmmnw~snmmmmmmmmmmmmmmmmmmmlmmmmmmmmmmmmmmmmmmmlmmmmmmmmmmmmlmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmlmmmmlmmmmmmmmmlmmmmmmmmmmmmlmmmmmmmmmmmmmmmmmmmmmmmmmmmoz~row{nmmmmmmmmmmmmmmmmmmmmmmmmmmmmlp{~}{zwvtsssssssssvwz|~~|qmlmmmmmlllmmmmmmmmmmmmmmmmlmlmmmmlmmmmmmmmmmlmmmmmmmmmmmmmmpz~}{zwvssrsssssssvwz|~~|qmmmmmmmmmmmmmmmmmlmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmp}}xronmmmmlmmmmmmmmmlmmmmmmmmmmlmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmlmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmlmmmmmmmlmmmmmmmmmlmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmlmmnz~rmlmmmmmmmmmmmmmmmlmmmmmlmmmmmmmmmmlmmmmmmmmmmmmmmmr~ynmmmmmllmmmmmmmmmmmmlmmmmmmr~yommmmmmmmmlmmlmmmmmmmmmmmmmmmmmmmmlmmmmmmmmmmmmmmq~unmmmmmmmmmmmmmmmmmmmmmlmmmmmmmmmmmmmmmmmmmlmmmmmmmms~wnmmmmmmlmmmmmlmmlmmmmmmmmmmmmmmmmmmmlmmmmmlmmmmmmmmmmmmmmmmmlmmmmmmmmmlmmmmmmlmmmmmlmmmmmlmmmmmmmmmmmmmr~~smmmmmmmmmmlmmmmmmmmlmmmmmmmmmmmmmlmmlmmmmmmmmmmmmmmmmmlmmmmmmmmmmmmmmmmmmmmmmmmmmmmlmmmmmmmmo}~rmmmmmmmmmmlmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmlmmmmmmlmmmlmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmlmmmmmmmmmmmmmmmmmmmlmmmmmmmmmlmmmmmmmlmmmmmmmmmmmmmmmmmmmmlmmmmmmmmlmmmmmmmmmmmmmmmmmmmmmmmmmo}wnmmmmmmmmmmmmmmmmlmmmmmmmmmmmmmmmmmmmmmmmmmmmmlmmmmmmmmmmmmmmmmmmmmmmmmmmmlmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmo}wnmlmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmnmmmmmmmmnw~snmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmnmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmnmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmnz~sq}unmmmmmmmmmmmmmmmmmmmmmmmmmmmmoz}zvspoonnmmmnmmmmmmnnnoqtw{}zpmmmmmmmmmmmmmmmmmmmmmmnmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmpz}zwspoonnmmmmmmmmmmnnooqtw{}zpmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmnv~{vqnnmlmmmmmmmmmmlmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmnvvnmmmmmmmmmmmmmmmmlmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmnvunmmmmmmlmmmmmmmmmmmlmmmmmmmo}}pmmmmmmmmmmmmmmmmmlmmmmmmlmmmmmlmmmmmmmmmmmmmmmmnt~~qmmmmmmmmmmmmmmmmlmlmmmmmmmmmmmmmmmmmmmlmmmmmmmmmlmms~wnmmmmmmmmmmmmmmmmmmllmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmlmmmmmmmmmmmmmmmmmmmmmmmmmmmmlmmmmmmmr~~rmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmlmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmp~~ommmlmmmmmmmmmmmmlmmmmmmmmmmmmmmmmmmmmmmmmmlmmmmmmmmmlmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmlmmmmmmmmmmmmmmmmmlmmmmmlmlmmmmlmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmlmmmmmmmmmmmmmmo}wnmmmmmmmmmmmmmmmmmlmmmmmmmmmmmmmmmmmmmmlmmlmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmo}vnmmmmlmmlmmmmmmmlmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmllmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmnmmmmmmmmmmmmmmnmmmmmmmmmmmmmmmmmmmmmmmmmmmmmnw~snmmmmmmmmmmmmmmmmmmmmmmmnmmmmmmnmmmmmmmmmmmmmmmmmmmmmmmmmmmmnmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmnmmmmmmmmmmmmmnmmmmmmmnmmmnmmmmmmmmmmmmmmmmmmmmmmmmmmnz~ty}qmmmmmmmnmmnmmmmmmmmmmmmmmmmmox}yuponmmmmmmmmmmmmmmmmmllmlmnoqv{~xnmmmmmmmmmmmmmmmmmmmmmnmmmmmmmmmmmmmmmmmmnmmmmmmmmmmmmmmnx}yuponmmlllmmmmmmmmmmmmmmmmmnorv{~xnmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmnmmmmmnmmmmmmmmmmmmmmmmmmp|}yupommmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmnmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmnmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmr~xnmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmnmmmmmmmnmnz~rmmmmmmmmmmmmmmmmmmmmmmmmmmmny~snmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmnw|ommmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmns~wnmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmms~~snmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmnmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmms~{ommmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmo}wnmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmo}vnmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmnw~snmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmnmmmmmmmmmmmnzy~ynmmmmmmmmmmmmmmmmmmmmmmmmmmmnu~|vqommmmmmmmmmmmmmmmmmmmmmmmmmllmnorx}~vnmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmnu~|vpnmmmmmnmmmmmmmmmmmmmmmmmmmmllmnorx}~vnmmmmmmmmmmmmmmmmmmmmmmmmmmmmmnmmmmnmmmmmmmmmmmmmmmmmmmmt~}yuqonmllmmmmmmmmmmmmmmmmmmmmmnmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmnmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmo}|ommnmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmp}|ommmmmmmmmmmmmmmmmmmmmmmmmmmnuxnmmmmmmmmmmmmmmmmmmnmmmmmmmmmmmmmmmmmmmmmmmmmmmo{xnmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmnmmmmmmmns~wommmmmmmmmmmnmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmns~~smmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmnuxnmmmmnmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmnmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmo}vnmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmnmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmnmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmo}vnmmmmmmmmmmmmmmmmmmmmmmmmmmmmmnmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmlmmmmmmmmmmmmmmmmmmnv~snmmmmmmmmmmmmmmmmmlmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmlmmmlmmmmmmmmmmmmmmmmlmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmlmmmmmmmoz~~~~~~~~snmmmmmmmmmmmmmmmmmmmmmmmmmmms}|uonmmmmmlmmmmmmmmmmmmmmmmmmmmmmmmmmlmorx}~smmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmr}|uonmmlmmmmmmmmmmmmmmmmlmmmmmmmmmmmmmmnrx}~smmmmmmmmmmmmmmmmmmmmmmmmmmmlmmmmmmmmmmmmmmmmmmmmmmmmmmmoz~{vronmllmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmlmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmlmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmny~qmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmntynmmmmmmmmmmmmmmmmmmmmmmmmmmmmq~|ommmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmp~~tmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmns~wnmnmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmns~~snmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmnmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmnwvnmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmnmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmnnmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmnmmmmmmnmmmmmo}vnmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmnmmmmmmmnmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmo}vnmmmmmmmmmmmmmmmmmmmmmmmmmmmmmnmmmmmmmmmnmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmnv~snmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmoz~{xvtssssssuwy|~~|ommmlmmmmmmmmmmmmmmmmmmmmmmmq||upmlmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmory~|qmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmq{|uonlmmmmlmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmory~{pmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmr}~|xtponmlmlmmmmmmmlmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmlmmmmmmmmmmmmmmlmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmlnu~tnmmmmmmmmmmmmmmmmmmmmmmmmlmmmmmmmmmmmmmmmmmmmmmnxunmmmmmmmmmmmlmmmmmmmmmmmmmmmmo|~qmmmmmmmmmmmmmmmmmlmmmmmmmmmmmmmmmmmmmmmmmmmmmns~~pmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmnr~vnmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmlmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmns~~smmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmlmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmoz~snmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmlmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmlmmmmmmmmmmmmmmmmmp}vommmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmlmmmmmo}vommmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmnnnmmmmnmmmmmmmmmnmmmmmmmmmmmmmmmmmmmmmnmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmnv~snmmmmmmmmmmmmmmmmmmmmnmnmmmmmmmmmmmmmmmmmmmmnmmmmnmmmmmmmmmmmmmmmmmmmnmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmnmmmmmmmmmmmmmmmmmmmmmmmmmmmnmmmmmmnmnmnmmmmmoz~{vronnmmmnmmmnnooqtx}~wnmmnmmmmmmmmmmmmmmmmmmmmmmmoy~xqnmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmlmot|yommmmmmmmmmmmmmmnmmmmmmmnnmmmmmmmmmmmmmmmmmmmmmmmmoy~wqnmmmmmmmmmmmmmmmnmmmmmmmmmmmmmmmmmmmmmmmmmmot|yommnmnmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmnt~~}{vsponmlmmmmmmmmmmmmmmmmmmmmmmmmmmnmmmmmmmmmmmmnmmmmmmmmmmnmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmq~wnmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmnmmmmmnmo|~qmmmmmmmmmmmmmmmmmmmmmmmmmnmmmnwunmnmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmnw{ommmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmns~vnmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmns~~snmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmo|~pmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmlmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmlmmmmmmmp}vnmmmmmmmmmmlmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmlmmmmmmmmmlmmmmmmmmmmmmmmmmmmmlmlmmmmmmo}vnmlmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmnmmmmmmmmmmmmnmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmnmmnmmmmnv~smmmmmmmmmmnmmmmmmmmmmmmmmmmmnmmmnmnmmmmmmnnmmmmmmmmmmmmmmmmmmmmmmmmmmnmmnmmmmmmmmmnmmmnmmmnmmmnmmmmmmmmmmmmmmmmmmmmnmmmmnmnmmnmmmmmmmmmnnnnnmmmmmmmoz}xronmmmmmmmmmmmmmmmmnnpty}~rmmmnmnmmmmmmmmmmmmmmmmmmnmmt~|sommmmmmmmmmmmmnmmmmmmmmmmmnmmmmmmmmmmnmmmmmmmmnqy~~tmmmmnnmmmmnmmmmnmmmmmmmmmmmmnnmmmmmmmmmmmmmmmmmmmt~|tomlmmnmmmmmmmmmmmmnmmmmmmmmmnmmmmnmmmmmmmmmmmmmpy~~tnmmmmmmmmmmmmmmmmmnmmmmnmmmmmnmmmmmmmmmmmmnmmmmnmmmmnmmox~}zvsponmmmmmmmmmmmmmmmmnnnmmmmmmmmmmmmmmmmmmmmmmmmnmmmmmmmmmmmmmmmmmnmmmmmmmmmmmnmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmnmmmmmmmmmmmmmo|{ommmmnmmmmmmnmmmnmmmmnmmmmmmmnmmmmmmmmmmmmmmmmmq~{ommmmmmmmmmnmmmmmmmmmmmmmmnnmmmt~ynmnmmmmmmmmmnmmmmmmmmmmmmmmmmmmmmmnmmmmmnmmmmo{wnmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmnmmmmmnmmmns~vnmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmnmmmnmmmmnmmmmmmmmmmmmmmnnmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmnmmms~~snmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmnmmmmmmmmnmmmmmmmmnmmmmmmmmmmmmmmmmmmmmmmmmmnmmmmmmmmnmmmmmmo~}ommmmmmmnmnmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmnmmmmmmmmmmmmmmmmmmmmmmmmmmmnmmmmmmmmmmmmnmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmnmmmmmmmnmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmnmmmmmmmmmmmmmmmnmmmmmmo}vnmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmnmmmmmmnmmmmmmmmmmmmmmmmmmmmo}vnmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmnmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmnv~snmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmnmmmmmmmmmmmmmmmmnz~zrnmmmmmmmmmmmmmmmmmmmmmmnnqw|{ommmmmmmmmmmmmmmmmmmmmmmmmmq}~yqmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmou}|pmmmmmmmmmmmmmmmmmmmmnmmmmmmmmmmmmmmmmmmmmmmmmmmp}~yqnmmmmmmmmnmmmnmmnmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmou}|qmmmmmmmmmmmnmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmpz~}zwsponmmmmmmmmnmmmmmmmmmmmmmmmmmmmmmnnmmmmmmmmmmmmnmmmmmmmmmmnmmmmmmmmmmmmmmmmmmmmmmmmmnmmmmmmmmmmmmmmmmmmmmmmmmmnmmmmmmmmmmmmmmmmmny~pmmmmnmmmmmmmmnmmmmmmmmmnnmmnmmmmmmmmmmmmmmmmmnvwnmnmmnmmmmmmnmmmmnnnmmmmmmnmmmnp~}pmmmmmmmmmmmmmmmmmmmmmmmmmnnmmmnmmmmmmmmmmmmmp~~snmmmmmmnnmmmnmmmmmnmmnmmmmmmmnnmmmmmmmmmmmmmmmmmmmmmns~wnmmmmmmmmmmmmmmnmmmmnmmmmmmmnmmmmmmmmmmmmmmmmmmmmmnmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmnmmmnmmmmmmmmmnmmns~~smmmmmmmmmmmmmmmmmmmnmmmmmmmnmmmmmmmmmmmmmmmmmmnmmnmmmmmnmmmmmmmmmmmmnmmmmnmmmmmmmnmmmmmmmmmq~znmnmmmmmnmmmmmmmmmmmmmmmmmmmmmmmmmnmmmnmmmmmmmmmmmmmmmmmmmnmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmnmmmmmmmmmmmmnmmmmmmmmmmmmmnmmmmmmmmmnmmmnmmmmmmmmnmmmmmmmmnmmmmmmmmmnmmmmmmnmmnmmmmmmmmmmmmmmmnmmmmmmo}wnmmnmmmmmmmnmnmmmmmmmmmmnmmmnnmmmmnmmmmmmnmmmmmmmmnmmmmmmmmmmmmmmmmmmmmmmnmmmmnmmmmmmmnmmmmmmmmmmmmmnmmmmmmmmmo}vnmmmmmmmmmnmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmnw~snmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmoz}vommmmmmmmmmmmmmmmmmmmmmmmmmmnpu|}unmmmmmmmmmmmmmmmmmmmmmmmmmoy~vommmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmns|wnmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmoy~vommmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmns|wommmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmq|~}{wtronnmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmnu~smmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmoz~smmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmoz~snmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmt}ommmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmns~wnmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmnmmmmmmmmmmmmmmmmmmmmmmmmns~~smmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmnmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmns~xnmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmnmmmmmmnmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmnmmmmmmnmmmmmnmmmmmmmmmmmmmmmmmmmmmmmmmmp}vnmmmlmmmmmmmmmmmmmmlmlmmmmmmmlmmmmmmmmmmmmmmmmmmmmmmmmlllmmlmlmmmmmlmmlmmmllmmmlmmmlmmmmlllmmmmmmmllmmllllmmllo}wnmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmnmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmnmmmnmmmmmnmmmmmmmnmmmmmmmmmmnmmmmnmmmmmmmnnmmnmnmmmmmmmnmmmmmmmmmmnmmmmmmmmmmmmmmmmmnmnmnmnmmmmnw~snmmmmmmmmmmmnmmmmmmmmmmmmmmmmmmmmnmmmmmmmmmmmmmmmnmmmmmnmmmmmmmmmmmmmmmmmmmmmmmmmmmmnmmmmmmmmmnmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmoz{rnmmmmmmmmmmmmmmmmmnmmmmmmmmnmmmnqtonmmmnmmmmmmmmmmmnmmmmmmmmnt~}uommmnmmmmmmmmmmmmmmmmmmmmmmmmnmmmmmmmmmmmmmmmmmmmmmmnmmrz~rnmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmnt~}unmmmmmmmmmmmmmmmmmmmmmmmnmmmmmmmmmmmmmmmmmmmmmmmmmmmnmmr{~rmmmmmmmmmmmmmmnmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmms}~~|yvsponnmmmmmmmnmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmnmmmmmmmmq~wnmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmo}}ommmmmmmmmmmmmmmmmmmmmmmmmmmmmmmnvwnmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmnxynmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmns~wnmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmns~~smmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmnt~vnmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmlmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmp}xqppppppppppppppppppppopppopppppppppppopppppppppppoppoppopppppppppppppppppppppppppppppppppppppppppppopppppppppoq~wnmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmnmmnmmmmmnmmmmmmmnmmmmmnmmmnmmnnmmmmnmmmmmmmmmmmmmmmmnmmmmmmmnmmmnmmmmmmmmmmmmmmmmmmmmmmmmmmmmnnmmmmnw~smmmmmmnmmmmmmmmmmmnmmnmmmmnnnmmmmnnmnmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmnmmmmnmnmmmmmmmmmmnmmnmmmmmmmmnmmmmmmnmmmmnnnmnmmmmmmmmnmmmmmnmnmmmmmmnnmmmmmmmmozxpmmmmnmmmnmmmmmmmmmmmmnmmmnmnnmmmmmnmmmmmmmmmmmmmmmmmmmmmmmmmmp{}snmmnmmmmmnmmmmmmnmmmmmmmmmmmmmnmmmmnmmmmmnmmmmmmmmmmmmmmmqzzomnmmmmmmmmmmnnmmmmmmmmmmmnmmmmmmmmmmmmmmmmmo{|snmmmmmmmmmmmmmmmmmnmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmnmmmnqzzommmnmmmmmmnmmmmmmmmnmmmmmmmmmmmmmmnmmmmnmmmmmmmmmmnmmmmns}~|zwsponmmmmmmmmmmmmmmmmmmmmmmnmmmmnnmmmnmmmmmmmmmmmmmnnmmmmmmnmmmmmmmnnnnmmnmmmnmnmmmnmmmmnmmmmnmmmmmmnmmmmnmnmmnmmmmmmmn{zommmmnmmmmmmmmmmmmmmmmmmmmnmmmmmmmmmmmmmmmmmms~yomnnmmmmmnmmmmmmmmmmmmmmnmmmmnmmmr~{ommnmmmmmmmmmmmmmmmmmmmmmmmmmmmnmmmmmmmmmmmozvnmmmmmmmnmmmmmmmmmnnmnmmmmmmmmnnmnmmmmmmmmmmmmmmmmnmmms~wnmmnmnmmmmmmmmmnmmmmmnmmmmmmmmmmmmmmmmmmmmmmnmnmmmmmmmmmnmmmmmmmmmmmmmmmnmmmmmmmmmmnmnnmnmmmmmmmmmmmmmns~~smmmmmmmmnmmnmmmmmmmnmmmmmmmmmmnmmmmmmmmmmmmmmmmmmmmmmmmnmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmnnv~tnmmmmmmmmmmmmmmmmmnmmmmmmmmmmmmmmmmmmmmmmmmmmmnmmmmmmmmmmmmmmmmnmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmnmmmmmmmmmmmmmmmmmmmmmmnmmmmmmmmmmmmmmnmmmmmmmmmmmmnmmnmmmmmmmmmmmmmmmmmmmmnmmmmmmmmmmmmmmmmmmmmp~~}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}~wnmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmnmmmmmnmnmmmmmmmmmmmmmmnnmnmmmmmmmnmmmmmmmmmnmmmmmmmmmmnmmmnmmnmmmmmmmmmmmmmmmmmmnmmmmmmmmmmmmmmmmmmmmmmmmnw~smmmlmmmlmlmmmlmlmmmllmllmmmmmlmmmlmmllmmmlmmmllmmmllmmmmmmmmllmllmmllmlmmmmmlllmmmmlmmmmmmmmmmmmmmlmmmmnmnmmmmnmmmmmmmmmmmmmmmmnnmmmmmmmmmmnmmmmmmmozxommmnmmmmmmnmmmmmmmmmmmmmmmmmmnmmmmmmmmmmmmnmmmmmmmmmmmmmmmnnmnv}snmnmmmmmmnmmmmmmmnmmmnmnmmmmmmmmnmmmmmmmmmmmmmmmnmmmmmmmmmmqz~tnnnmmmmmmmmmmmmmmmmmnmmmmmmmmmmmnmmmmmmmmmnv}snmmmmmmnmnnmmmmmmmmmmmmmmmmmmmmmmnmmmmmmmmmnmmnmmmmmmmmmnmmqz~tnmmmmnmmmmnmmmmmmmmmmmmnmnmmmmmmmmmnmmmnmnmmmmmmmmmmmmnmnu}~}zwsponnmmmmmmnmmmmmmmmnmmmmmmmmmmmmmmmmmmmmmmnmnmmmmmmnmnmmmmmmmmnmmmmmmmmmmmmmmmnmmmnmmmmmmmmmmmmmmnmmmnnmmnnmmmmmnx}ommmmmnmmmmnmnmmmnmmmmmmmmmnmmmmnmmmmnmmmmmmnwunmmnmmnmmmmnnmmmmmmnmnmmmmmmmmmmmo}~qnmmmmmmmmmmmmmmmmmmnnmmmnmmmnnmmmmmmmnnnnmo~~rmmmmmnnmmmmmmmnmmnmmmmmmnmmmmmmmmmmmmmmmnmmmmmmmmmmnmms~wnmmmmmmmmnmmmnmmmmmmmmmmnmmmmmmmmnnmnmmmmmmmmmmmnmmmmmmmmmmmnmmmmmmmmmmnnmmmmnmmmmmmmnmmmmmmnmmmmmmmmmns~~snmmmmmmmmmmmnmmmmmmnmnmmmmnmmmmmmmnmmmmnmmmmmmmmmmmmnmmmmmmmmmnmmmmmnmmmmmmmmmmmmmmmmmnmmmnw~snmmmmmmmmmnmmmmnmmnmmmmmmmmmmmmnmmmmnmmmmmnmmnmmmnmmmmmmmmmmmmmmmmmmmmmmmmmmnmmmmmmmmmnmmmmmmmmmmnmmnmmnnmmmmmnmmmmmmmmmmmmmmmmnmmmmmmmmmmmnmmmnmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmnmnnmmmmmmmnnmmp}wnmnmmmmmnmmmmmnmmnmmmmmmmmnmmmmmmmmmmmmmmmmmmnmmmmmmmmmmmmmnnnmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmnvupppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppommmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmozxommmmmmmmmmmmmmmmmmmmmmnmmmmmmnmmmmmmnmmmmmmmmmmnmmmmmmmmmmmmmmp}}snmmnmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmq{|ommmmmmmmmmmmmmmmmmmmmmmmmmmmmnmmmmmmmmmmmq}}snnmnmmmnmmnmmmmmmmmmmmmmmmmmmmnmmmmmmmmmmmmmmnmmmmmmmmmmmmmmmq{|pmmmmmmmmmnmmmmmmmmmmmmmmmmmmmmmmmmmmmmmnmmmmmmmmmmmmmmnmnt}~}zvsponmmmmmmmmmmmmmmmmmmmmmmmmmmnmmmnmmmmmmmmnmmnmnmmmnmnmmmmmmmmmnmmmmmmmmnmmmmmmmmmmmmmmmmmmmmmmmmmnnmmmmmmmmnt~rmmmmmnmmmmmmmmnmmmmmmmmmmmmmmnmmmmnmmmmmmmmo{~qmmmmmmmmmmmmmmmmmnmmmmmmmmmmmmmmmny~unmmmmmmmmmmmmmmmmmmnmmmmnmmmmmmmmmmmmmnmmms~|ommmmmmnnmmmnmmmmmmmmnmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmms~vnmmmmmmmmmmmmmmnmnmmmmmmmmmmmmmmmmmmnmnmmmmmnmmmmmnmnmmmmmmmmmmmmmmmmmmmmmmmmmmmnnmnmmmmmmmmmmmmmmmmmnns~~snmnmmmmmmmmmmmmmmnmmnnmmmmnmmmmmmmmmmmmmmmmmmmmmnmmmnnmmmmmmnmmnnmmmnmmmmmmmmmmmmmmnmmmmmmoy~qnmmmnmmnmmmmmmmmmmmmmmmmmmmnmmmmmnmmmmmnmmmnmmmmmmmmmmmmmmmmmmmnmmnmmmmmmmmmmmmmmmmmmmmmmmmmmmmmnmmnmmmmmmmmmmmmmmmnmmmmnnmmmmmmnmmmmmmmmmmmmnmmnmmmmmmmmmmmmmmmmmmmmmmmmmmmmnmmmmnmmmmmmmmmmnmnmmp}wnmnmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmnmmmmmmmmnmmmmmmmmmmmmmmmmmmnmmmmmmmmmmmmmmmmmmmmmmmmmmmmmnmmmmmmmmmmmmmmmmmmmmmmmmnmmmmmmmmmmmmmmnmmmmmmmmmmmmmmmmmmmmmmmmmnmmmmmmmnv~~}~~~~~~~}~}~~}~~~~~~}~~~~~~~~~~~~~}~~~~~~~~~~~~~~~}}~~~~}~}~~}~~}~~~}}~~~}~~~~}~~~~~~~~~}}~~~~}~~~{ommmmnmmmmmmmmmmmmmmmmnmmmmmmmmmmmmnmmmmmmmmmmmozzpmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmnw~tnmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmnr}unmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmnw~tnmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmnr}unmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmms|~}zwsponmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmp~vnmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmq~|ommmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmnuyommmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmnwxommmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmms~vnmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmns~~snmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmnmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmnmmmmmmmmoz~pnmmmmmmmmmmmmmmmmmmmmmmmmmnmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmnmmmmmnmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmnmmmmmmnmmmnmmmmmmmmmmmmmmmmmmmmmmmmmmnmmmmmmmmmmmmmmmmmmmmmmo~vnmmmnmmmmmmmnmmmmmmmmmmmmmmmmmnmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmnmnnmmmmnnmmmnmmmmnmmmmmmmmmmmnnmmmmmmmmmnmmmnmnmmmmmmmmmmmmmmmmnnmmnmmnmmmmmmmnmnmmmmmmmmmmmmnmmmnv~ommmmmmmmnmmnmmmmmmmmmmmmnmmnmmnmmmmmmmmmmmmmmmoz}qnmmmmmmmnmmmmmmmmmmmmmmmmmmmnmmmmnmmmmnmmmmmmnnmmnmmmmmmmnnmmmnp}~uonmmmmmmmmmmmmnmmmmmmmnmmmmmmmmmmmmmnmmnmmmnmmmmmmmmnmmmmmmmmmmnns~|pmmmmmmmmmmmmmmmmmmnmmnmmmmmmmmmmmmmmmmmp}~unmmmmmmmmmmmmmnmmmmnmmnmmmmmmmnmmnmmmnmmmmnnmmmmmmmmmmmmmmmmmmmmns~|pmmmmmmmmmmmmmmmmmmmmmnnmmmmmmmmmmmmnmnmmmmmmmmmmnmmmmmmmmnr{~}yvrpnnmmmnmmmmmmmmmmmmmmmmmmmmmmmmmmnmmmmmmmmmnmmmmmmnmmmnmmnmmmmmmmmmmmmmnmmmmmmmmmmmmmnmmmmnmnmmmmmmmmozyommmmmnmnmmmmmmmmmmmmmmmmmmmmnmmmmmmmmmnmmnuxnmmmmmmmmmmmmmmmmmmmmmmnmmmmmmmmmmmr~}ommmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmoztnmmmmmmmmmmmmmmnmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmns~vnmnmmmmmmmmmmmmmmmnmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmnmmmmmmmmmmmmns~~snmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmnmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmo{}ommmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmnmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmo~wnmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmnmmmmmnnmmmmmmmmmnmmmmmmmmmnnmnmnnnmmmmnmmmmmmmmmnmmmnmmmmmmmmmmmmmmnmmnmmmmmmmnmmmmnnmmmmmmmmmmmmmmnw~ommnmmmnmmmmmmmmnmnmnnmnmnmmmmmmmmmnmmmmmmmmnmmoz~tnmmmmmmnmmnmmmmmmnmnmmmmmmnmmmmnnmmmmmmmmmnmnmmmmmnmmmmmmmmmmmmnwxnmmmmmnmmmnmmnmmmmnmmmmmnmnmmmmmmmmmmnmmmmnmmmmnmnnnmnmmmmmmnmmmnmnvunmmmnmmmmmnmnmmmmmmmmmmmmmnmmmnmmmmmnmnwwnmmmmmnnmmmmmmmmmmmmmmmmmmnmmmmnmmmnmmmmnmmnnmnmmnmnmmmnmmnmnmmmmmnvunmmmmmmmmmmmmmmmmnmmnmmmmmmmmnmnmmmmmmmmmmmmmmmmmmmmmmmmmmmqz~|xuqonnmmmmnmmmmmmmnmmnnmmmmmmmmmmmmmmmmmnnnmmmmmnmmmnmnmmmmmnmmmmmmmmmmmmmmmnmmmnnmmmmmmmnmmmmmmmmnmnv|ommmmmnmmmmnmnmnmnmmnmmmmmmmmmmmmnmnmmmnmmoztnmmmmnmmmmmnmmnnmmmmmmmmmmmmnmnmmnmo{~snmmmmmnmmmnmnmmmmnmmmmnmnmmnmmmmmmmmmmnmp}~pnmmnmmmmnmmmmnmmmmmmmmmmmnmmmmmnmmmmmmmmmmmnmnmmmmnmmmns~wonmnmmnmmnnmmmmmmmnmmmmmmmmmnnmnmmmnmmmmmmmmmnmmmnmmmmmnmmmmmmmmmmmmmmmmmmmmmmmmmnmmmnmnmmmnmmmnmmnmnnns~~snmmmmmnmnmnmmmmmmmmmmmmmmmnmnmnmmmmmmmmnmmmmmmmnmnmmmmmmmmmmnmnmmmmmnmmmmmmmnmmmmnmmmnmmmmo{{onmnmmmnmnmmmmmmmmnnmmmmmmmnmmmmmmmmmmmmnmmnmmmmnmnmmmmmmmmmmmmmmmmmmmmmmnmmmmmmmmmnmmmmmmnmmmmmmmmmmmmmmmmnmmmmnmmnmmmmmmmnmmmmmmnmmmmmmmmnmmmmmmmmmmmmmmmmmmmmmmmnmmmmnmmmmmmmmnmmmnmmmmmmmnmmmmmo~wnmmmmmmmmmmmmmmnnmmmmnmmmmmmmmmmmmmmnmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmnmmmnmmmmmmmnmmmmmmmmmmmmmmmmnnmmnmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmnmmmmmmmmmmmmmmmnmmmmmmmmmmmmow~pmmnmnmmmnmmmmnmmnmmmmnmmmmmnnmnmmmmmmmmmmmmmmmozyommmmmmmnmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmnmmmmmmmmmmnmmnmp}zpmmnmmmmnnmmmmnmmmmnmmmmmmnnmnmmmmmmmmmmmmmmmmmmmmnmmmmmmmmmmmmnmmmnoyzommmmmmmmmmnnmmmmmmmmmmmmmmmmmmmmmnmmmp}{pmmmnmmmmmnmnmmmmmmmmmmmmmmmmmmmmmmmmnmmnmmmmmmmmmmnnmmmmmmmnmmmmmnmoyzonmnmmnmnmnmmmmmmmmmmmmnmmmmmmmmnmmmmmmmmmmmnmnmmmmmmnmmmmmmpx~}zvronmmmmmmmmmmmmmnmnmmmmmmmnmmmnmmnmmmmmnmmnmmmmmmmnmmmmmmmmmmmmmmmmmmmmmmmmmnmmmmnmmmnmmmmmmmmmns~~qmmmmnmmmnmmmmmnmmnmmmnnnmmmmmmmmnmmmnmmmmo}}pnnmnmmmmmmmmmmmmmnmmnmmmmmmmmmnmmmnoxxnmnmmnmnmmmnmmmmmmmmnmmmmmnmmnmmmnmmmmmns~{onmmmmmmmmnmnmnmmmmmmmmnmmmmnmmmmnmmnnmmmmmmmmnnmmmmmmnns~wnnmnmmmmmmnmmmmmmmnmmmmmmmmmmmnmmnnmmmmmmmmmmmmmmnmnmmmnmmnmmmmmmmmmmmmnmmmmmnmnmnmnmmmmnmmmmnmmmmmmmmns~~snmnmmmmnmnmmmmnnmnmmmnmmmmmnmmnmmmmmmmnmmmnmmmmmmmmmmmmmnmmnnnmmmmmnmmmmmmmmmmmmmnmmmmmmmmo}{omnmmmmnnnmnnmmmmmmmmnmmmmmmmnmmmmnmmmmnmnmmmmmnmmmmmmmmmmmmmnmmmmmmmmmmmnmmmmnmmmmmmmmmmmmmmmmmmnmmmmmmmmmmmmmmmmmmmmmmmnmnmmmmmmmmmmmmmnnmmnmnnmnmmmmmnmmmmmmmnmmmmmmmmmmmmmmmnmmmnmmnmnnnmmmmnmmo~wnnmmmmmnmmmmnmnmmnmnmmmmmmmmmmnmmmnmmmmmmmmmmmmmmmmnmmmnmmnmmmmnnnmmmmnmnmmmmmmnmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmnmnmmmmmmmmmmmmmmmmmmmmmmmmmnmmmmmmmmmmmmmmmmmmmmmmmmmmmnw~ommmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmoz}qnmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmnu}rmmmmmmmmmmmnmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmnq}~snmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmnu}rmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmq}~snmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmnmmmmnmmmmmmmmmmmmmmmmmmmmmmou|~{xrponmmmmmnmmmmnmmmmmmmmmmmmmmmmmmmmmmnmmmmmmmmmmmmmmmmmmnmmmmmmmmmmmmmmmmmmmmmmmmmmnmmmmmmmmmp}unmmmmmnmnmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmnns~zommmnmmmmmmmmmmmnmmmmmmmmmmmmmmmmmmmns{ommmmmmmnmmmmmmmmmmmnmmmmmmmmmmmmmmmmmmnwwnmmmmmmmmmmnmmmmmmmmmmmmmmmmmmmmmmmnmmmmmmmmmmmmnmmmnmmns~wnmmmmmmmmnnmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmnmmmmmmnmmnmmnmmmmmmmmmmmmnmmnmmnmmmmmmmmmmmmnmmnmmmmmmmmmns~~snnmmmmmmmmmmmmmmmmmmmmmmmmmmmnmmmmmmmmmnnnmmnmmmmmmmmmmmmmmmmmmnmmmmmmmmmmmnmnmmmmmmmmmmmmo~zommmmmnmnnmmmmmmmmnnmnmmmmmmmmmmmmnmmmmmmmmnmmmmmmmmmmmnmnmmmnmmnmmmmmmmmmmmmmmmmnmmmmmmmmmnmmmmmmmmmnmmmmmmnmmmmmmmmmnnnmmnnnmmnmmmmmmmmmmmnmnmmnmmmmmmmnnmmnmmnmmnnmmnmmmmmmmmmmmmmmmnmmmmmmmmmmmo~wnmmmmmmmmmmmmnmmmmmmmnmmmnnmmnmmmnnmmmmmmmmmmmnmmmmmmmmmmmmmmmmnmmmmmmmmmmmnmmnnmmmnmmmnnmmnmmmnmmmmmnmmnnmmmmmmmnmmmnmnnmmmmmmmnmnmmmmmmmnnmnnmmmmmmnmnmmnnmmmmmmmmmmmnw}ommmmmmmmmmmmmmmmnnmmmnmmnmmmmnmmmmmmmmmmmmmmnmozwnmnmmmmmnmmmmmmmnmmmmmmmnnmmmmmmmmmmmmmnmmmmmmnmmnmmnmmnmmnmmnnmo|vommnmmmmnmmmmnmmmmmmmmmnmmnmnnmmmmmnmmnnmmmmmmmmnmmmnnmmmmmmnmmmmmmmmmnvynmmmnmmmmmmnnmmmmmmmmmmmmmmnmmmmmnmmo|vnmmmmmmmmnmmmmmmnmnmmmnmmmmmmmmmmmmmmmnmmmmmmmmmnmmmmmmmmmmmnmmmmmmmmmnvynmnnmnmmmmmmmmmmmnmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmnqz~~|xtpnmmmmmmmmmmmmmmmmmmmmmmmmmmmmmnmmmmmmmmmmmmmmmmmmmmmmmmmmmmmnmmmmmmmmmmmmmmmmmmmmmmmmmmmoyxommmmmmmmmmmmmmmmmmmmmmmmmmmmnmmmmmmmmmmnwvnmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmp}~qmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmo{~rnmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmns~wnmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmns~~snmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmnmmmmmmmmmmmmmmmmmmmmo~xnmmmmmnmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmnmmmmmmmmmmmmmmmmmnmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmo~wnmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmnmmmmnmmnmmmmmmmmmmmmnnmmnmmmmnmnnmmmmmnmnmmmmmnmnmnmmmnmmmnnmmmmmmmnmnnnmmmnmnnnnnmnmmmnnmmnnmnnnnmmnnmmmmmmmmmnnnmnnmnmnw}onnmmmnmnnmmmmnnnnmnmnmnnmnmnmmnmnmmnnmmnnnmmmmoz}pmmnmmnmnnmnnmmmmnmmnmmmmmmnnmnmmmmnnnnmnmnmnmmnnmmmnmmmmnnmmnnmns~{ommnnmmmmmnnnmnmnmmmnmnmmmnmnmnmmnmnnmmmnmmnmnmmmnmnmmnnmnnnmmmmmnmmmmmmo|}qmmnmmnnmmmmmmmmmnnmmnnnnnnmmmmmmmmns~{pmmmnnmmmmmmnmmnnmmnmmnmmnnmnmmmmnmmnnmmmmmmnmmmmnmnnmmmmnmnmmmmmmnmmnmmp|}qmmnnnmmmmmmnmmmmmnmnmnmmmmnmmnmmmnnmmnnmmnmnnnmmmmmmmnnmnmmmnmpv|~|xspommmnmmmmmmmnmnmmmmnmmnmmmmmnnmmmnmmnmmmnmnmmnmmnmmmnmmmmmmmmmnnmmnmmmnnmmnmmmnmnmmnmnu{ommnmmmmmmmmmmnnmmnmnmmmmmmmnnmmmmnmmmmmo{~rnmmmmnmnmnmmmmmnmnmnmnmmmnmmmnmmmnmmmozunmmmmmmnnmmmmmmmmmmmmmmnmmnmmmmmmmmnnmp~}ommnmnmmmmmnnmnmmmnnmmmnmmmmnmmnmmmnnmmmmmmmmnmmmmmnmmmmns~wnmmmnmmmmnnnmmmmmmmmmmmnnnmmmmmmmmmnmnmmmnmmmmmmmmnmmmmmmmmmmmmnmmmmmmmmmnmmmnmmmmmmmmmnmmmmmnmmmmnnmmns~~snmnmmnmmmmnmmnmmmmmmmmmnmmmmmmmmmmmnmnmmmmmmmmmmmmmmmmmmmmmmmmmmnmmmmmnmmmmmmmmmmmmmmmmmmmo~wnmmmmnmmmmmmnmnmmmmmmmmmmmmnmmmmmmnnmmmmmmmmmmmmmmnmmmmmnmmmmmmmmmmmmmmmmnmmnmmmmmmmmmmmnmmmmmmmmmmnmmmmmmnmnmmnnmmmmmmmmmmmmnmmnmmmmmmmmnnmmmmmmmmmmmnmmmmmmmmmmmmmmnmmmmmmmmmmmmmmmmmmmmmmmmmmnnmp~wnmmmmmmmmmmmmmmnmmmmmmmmmnmmmmnmmmmmmmmmmmnmmmmmmmmmmmmmmmmmmmmmmmnnnnmnnmmnnmnnnnnmmnnmmmmmmmmnmmmnnmmnnnnnmmnnnmnmnnnnmnmmnnmnnmnnmmnnmnnnnmnmmnnmmnnnmnnnnmnmnnmnnmmnw~pmnnmmmnmmmmnnnnmnmnnnmmmnmnmmnnnmmmmnnnnmmmmmmozxnmmnnmmmnmmnmmmnnmnmmmmmnmmnnnnnmmnmnmnmmmnnnnmmmmmnmmnnmmmmnmmmny~tnnmnmnnnnmnnnmnmnnmmnnmnmnnmnmmnmmmmnmnmmmnnmmmnnnmnnnnnmmmnnnmmmnmmmmmnnuvnmmmnnnnnnnnmmnnnnmnmmmnnmnnmnmnmmoy~snnmnnnmnnnmmnmnnnnnmmmnnmmmmmnmnmnmnmnnnnnnnmnmmmmnnmnmnmnnmmnnmmnmmnnmnnuvnnnnnmmmnnnnmnmmmmnmnmmmnnnnnmmmmmmnmnnnnmnnmmnnnmmnnmmnnmmnmnmnqy~~|wronmmnmmnmmnmmmmmmmmnmnmmnmmmmnmnnnmmmnnmnmnnmmnnnnmnnnmmmnmmmnnmnnnmmnmmnnmmmnnnmmnnr~~qmmnnmnmmmmmnmmnmmnnmnmmnmnnmmmnnmmmmmmnp~|pmmnmmnmmmmmnnmnmnmmnmnnmnnmnnmnmnmnnmnvynmmnnmmmmmnnmmmmmnnmmmmmmmnnnmnmmnnnmns~yommnmmmmnnmmnmnmnnmmmmnmmnmmmnmnnmnmmmmnnmmmmmnnmmmmmnnmns~wonmnmmmnnnnnmmmnnmmmmnmnnmmnmmmnmnmmmnmmmmmnmnmnmmmmmmmnmnmnmmnnnnmmnmmmmnmnmmnmmmmmmnmmnmmnmmmmnmmnnnns~~snmmmnmmnmmnmnnmmmmmnmmmmmmmmmnmmmmmmmmmmnnmmmmnnmmmmmnmmmmmmmmmmmmmnnmmmmnmnmmnnmmnmmmmnnmp~wnmnmmnmmmnmnnmnmmmmmmmmmmmnmmnnmmmmmmmmmnnmmnnnnnnmmmnmmmmmnmmmmmmmmmnnmmmmmmmmmnmmnmnmnnmmmmnnmmmmmmnmmnmmmnmmnmmmnmnmmmnnmnnnmmmmmmnmmmmnmnnmmmmnmnmmmmmmnnmnmmnmnmmmnmnmmmmmmmmmmmmnmmmnmmmmnmnnp~wnmnmmmnnnnmmmmnmmnmmmmmmnnmmmnnmmnmmmmmnmmmmmmmnmmmmmmmmmmnmmnnmmmmnnnmnnmmnnnnnnnnmnnnmnnnnnmmnnnnmnnmnnnnnnnnnnnmmnnmnmnnnnnnnnnmnnnnnnnnnnnnnnnmnnnnnnnnnnnnnnnnmnnnnv}pmnmnnnnnmnnnnnnnmmnnnnnnnmnnmnnnnnnnnnnmnnnmnmoz~snnnnnmnnnnmnnnmnnnnnmnnnnnnnnmmmnmnnmnnmmnmnmmnmnnmmnnnnnmnnnmmmq}xonnmnmnmnnnnnmnmmnnnnnnnnmnnnnnnnmnnmmnnnmnnmnmnnnnnnnnnnnmnmnnmnnnnnnmmnmp|{onmnnnnnnnnnnnnmnnnnmnmnmmnnmnnmmmq}yommnmnmnnmnmmnnnnnnmnnnmnnnnnnnnnnnmnnnnnmmnnmnnnnnnnnnmnnnmmnnmnnnnnnnnnmp|{omnmmnmnmmmmnmnmmnnmnnnnnnnnnnnnnmmnnmmmnnnmnnnnnmmnnmnnmnnnnnnmnos{~}ytpnmmmnnnnmnmmmmnnmmnnmnnnnnmnnnmmmnnnnnmnnnnnmnmnnmnmnnnnnnmmnnnnmmnmnnnmmmnnnmnnno|~snmnnnnnmnnnnnnnnnmmnnmnmnnnnnnnnnmnnmnouynmmnnnnnnmnmmnmnmnnnnnmmnnnnnmnnnnmnnmnr~}pmmnnnnmnnnnmmmmnmnnmmnnnnnmmmmnnmmmmnwunnnnmmnmnnmmnmmmnmnnmnnnnnnmmnnnnmnmnnmnnnnmnnnnmmnmnmnnns~wnnnmmmnnmmnnmnmmmnnnnnnnnmnnnmnmnnmmnmmnmnnmmmnnnnnmnnnnnnmnmmnnnnnnnmnmmnmmnnmmnnnnnmnnmmnmmnmmnnmmnnns~~snmnnnnnnmnnnnnmmnmmnnnnmnmmmnnmmmnmnmnnmnnnmnnnnnmnnnmnmnnnnnnnmnnmnmnmnnmmnmmnmmmmnnnnmnnr~womnnmnmmnnnnmnmmmnmnmmnnnmmmnnnnnnnnmmnnnnmnmmnnnmnnmnnnmmnnnnmnnnnmnnmnmnmnnmnnmmmmnmnnmnnmnnnmnnnmmnmnnnnmmmmnnmmmmmnmnmnmnmnnnnnnnmnmmmmmnmnnnmnnmmnmmmnmmnnmnmmmmmnmnmnmmmmmnmnnnnmmnnmmmnnmnnnp~wommnmmmnnmnnmmmnnnnnnnmnnmnnmmnmmmmnnnnmnnnmnnnmnmmnmmmnmnnmnmnnnnnnnnnnnnnnnnnmmmmnnnnnmnmnnnmnnnnnnmmnmnnnnnnnmnmnnnmnnnnmnnnnnnnnnnnnnmnnmnnnmnnnnnnnmnnnnnnnnnnnmmmnv}pmnmnnnnmnnnnnnnnnnnmnnnnnnnnnnnnnnnmmnnnnnnmnmoz{omnnmnnnmnnmnmnnnnnmnnnnmnnnnnnnnnnnnnnnnnmnmnnnnmnnnnnnnnnnmnnnnv~qnnnnnnnnmmmnmnmmmnnnnnnnmnnnnnnnnnnnmnnnnnmnnnnnnnnnmnnnnnnnnnnnmnnnnnnnnnnu~rnnnnnnmmnnnnmnmnnmnnnnnnnnnnmnnnnv~rnmnnnnmnnnmnnnnnnnnnnnnnnnnnnnnnnnnnnnnnmnnnnnnnmnnnnnnnnnnnmnnmnnmnnnnnnnnu~rnnnnnmnnnnmmnmmmnnnnnnnnnnnnnmnmnnnnnnnnnnnnmnmnnnnnnnnnnnnnnnmnmnpu|~{upnmmnmnnnnnnnnnnmnnnnmnnnnnnnnnnnnnnnmnnnnmmmmnmnmmnnmnnnnnnnnnnnnnnnnmnnnnnmnmmoywonnnnnnnnnmnnnnnnnnnmnnmnnnnnnnnnnnnnmoyunmnmmnnmnnnnmnnnnnnnnmnnnmmmnnnnnnmnnmnp|~rnmmmnnnnnnnnnnnnmnnnnnnnnnnnnnmnnnnmoy~qnnmnmmnmnnnnnnnnmnnmnnnmnnnnnnnnnmmnnnmnmnnnnnmnnnnnmnnnns~vnnnnnnnnnnmmnnmmnmnnnmnnnnnmnnnnmnnnnnnnnnnmmmnmnnmnmnnnmnnnnmnnmnnmnmnnnmnnnnnnnnnnnnnnnnnnnnnnnnnnnmns~~snnmnnmnmmnnmnnmnmmnmmnmnmnnnmnnnmnmmmnnmnmmnnnmmnnmnnnnnmnnnnnnnnnnnnnmnnnnnmnnnnnnmnnnnnns~wnnnmmnnnmnnnnnnnnmnnmnnnnnnnnnnnnmnnnmnmnnnnmnmnmmmnmnnnmnnnnnmnnmnnnnnnmnnnnmnnnnnnnmnnmnnnmnmnnmnmmnnnnnnmnnnmnnnmnnmnnmnmnnnnnmmnnmnnnnnnnnnmnnnmmnmmnnnnnnnnnnnmmnnmnnmnnnmnnnmnnnnnnnnnnmmnmnmo}wommmmnnnmnmmmnnnnmnmnmnnnnmnmnmnnnnnmmmnnmnnnnnnmmnnnmnmnnnmnnnnnmmnnnnnnnnmnnmmmnnnmnnnnmnmnnnnnnnnnnnnnmnnnnnmnnnnnnnnnnnnnnmmmmnnmnmmnnnmmnnnmnmmmnnnnnnnnnnmnnnmmnmnv}omnnnnnnnnnnnnnmmnmnnmnnnnnmnnnnnnnnnnmmnnmnmnnozvnnnnnmmnnmnmnnnnmnnmmnnnmnnnnnnnnnnnnnnnnnnnnnnnnnnnnmmnnnmnnmnno{xonmnnmmnnnnmnnnnmnnnnnnnmmnnmnnmnnnnnnnnnnnnmnnnnnnnnnnnmnnnnmnnnmnnnnmnnnnmo}wnnnmnmnnmnnnmnmnnnnnmnnnnmnnnnmno{yonnnnnnmnnnnnmnnnnnmnnnnmnnnnnnnnnnmnnnnnnnnnnnmnnnnnnnnmnnnmmnnnnmnmnnmmnnmp}wonnnnmnnnnnnnnnnnnnnnnnnnnmnnnmmnnmmnnnnmnnnmnmnnnnnnnnnnnnnnmmmnmmnqw}{upnmnnnnnnnnmnmmnnmnmmmnnnnnnnnnnnnnnmmnnnnnnmnnmnnmnnmnmnmnnnnnnnnnnnnmmmnmnmmnuzomnnnnnnmnnnnnmnnnnnmnmmnnmmmnnnmnnnnmo}~qnmnmnnnmnnnmmnnnnnmnnnmnnmmnmnmnmnmnnnmoywnmnmnnnnnnmmnmnnmnnnnnmnnnnnnmnnmnnmp}|onmmnmnnmnnnnnnnnmnnnnmmnnnmnmnnnnnmnmnnnnnnnnnnnmnnnmnnnns~vnnnmmnnmnmnmnnmnnmnnnnnnmnnnmnnnmnmnnnnnnnnnnmmnmnmnmmnnnmnnnnnmnnnnnnnnmnmnnnnnnnnnnnnnnnnmnnnnnnmnmnns~~snnnnmnmnnnmnnnnnnnnnnnnnnnnnmnnnnnnnnnnmnnnnnmnnnmnnnnnnnnmnnnnnnnnnmnmnmnnnnnnnnnmnnmnmnns~wnnnmnnnmmnmnnnnnnnnnmnnnnnnnnnnnnnnnnnnnnnnnmnnnnmnnnnnnmmnnnmnnnnnnmnnnmnnnnmnnnnnnnnnnnmnmnnmnnnmnnnmnmnnnnnnnnnnmnnmnnmnnnmnmnnnnnnnnnnmnnnnnnnnnnnnnnnnnnnmnnnnnnnmnnmnnnnmmnnmnnnnnnnmnmmmnnnmo}wnmnnnnmmnnmnnnnmmnnnnnnnmmnnmnmnmnnnnnmnnnmnnmnnnmnnnnnnnnmnnnmnnnmmnnnnmnnnnnnnmmnnnnnnnmnmnmnnnnnnnnmnmmnmnnnnnnnnmnnnnnnnnmnnnnnnnnnnnmnnmnmnnnnnmnnmnnnmmnnnnnmmmnmnw}onnnmmnnnnnnnnmmnnnnmnnnnnnnnnnnmnmnnmmmnnmnmnnoz~rnnnnmmnnnnmnnnmnnnnnnnnnnnmnmmnmnnnnnmnmnnnnnnmnmnmmmnnnnnmnnmmnr~~rnnmmmnnmnnmnnmmnnnnnmnmmnmnmnnnnnmmnnnnnnnnnmnnmnnmnnmnnnnnnnmnnnnmmnmnnnnnmnw|onnmnmnnnnnnnnnnmnmnnmnnnnnnnnmnr~~rnnnmmnmnmmmnnnnnnnnnnmmnmmmnmnnmnnnmnnnmnnnnnnnnnnnnnmnnmnmnnnnnnnmnnnnmmnnmnw{onmnnnnnnmnnmnnnnnnmnnmmmnmmmnnnnmnnnnnnmnnnnnnnnnmnnnmnnnnnnnmnnmnmnnqv|{upnmmnnnmnmnnnnnnnnnnnnnmmnmnnnnmnnnnmnnnnmmmnnnmnnnmmmnnnmnnnnnnmnnnnnmnmmnmmq~~pmnnnnnnnmmnnnmnmnmnnmnmnmnnnnnnnnnmmnr~{onnnmmnnmnnnnnnnmnnnnnnnnnnmnmnnnmnnmnnnnu{omnnnnmnnmnnnnnnnnnmmnmnmnnnnmnmmnnns~xonnnmmnmmmmmnmmnnmnmnnmnnnnnnnmnnnnnnmnmmnnnnmnmmmnnmnnnnns~wnnnmnmnmnnnnmnmnnnnnmnmnnmnnnnnnnnnmnmnmnnmnnmmnnnmnmmnnnnnnmnnnnnmmnnnnnnnmnnnnnmnnnmmnnnnnnnnnnmnnnnns~~snnnnnnnnnnnnmnnmnnmnmnnnnmmnmnmnmnnnnnnmmnnnnmmnnnnnnnnnnnnnnnnnnnnnnmnmnnnnmmnmmnnmnnnnnns~wnnnmnnnnmnnnmnmnnnnmmnmnnmmnnnnnnnnnnnnnnnmnmmnnmmnnnnmnnnmmmnnnnnnnnnnnnnmnnmnmnnmnmnnnnnnnmnnnnnnmnnnmnnmmnmnnnmnmnnnnnnnnnnmnnnnnmnnmnnnnnnnnnnmnnmmnnnmnmmmnnmmmmnmnnnnnnnmnnmmmnnnmnmnmnnnmnmmp}wnnnnnnmnnnmnnmnmmmnnnnmnnnmnnnnmnnmmnnnmnnnnmnnnmmnnmnmmmnnnnnmnnnnnnmnnnnnnnmnnnnnnnnnnmmnnnnnnnnnnnnnnnmnnnmmnnnnnnnnnnnnnnnnnnnnnmmnnnmnnnmnnnnnnnnnnnnnnnnnnnnnnnnnnw}omnnnnnnnmnnmnnnnnnnnnnnnnnnnnnnmnnnnnnmnnnmmnnoz|onnnnnnmnmnmnnnnnnnnnnnnnnnnmnnmnnnnnnnnmmnnnnnnnmmmnnnnnmnnnnnnovzonnnnmnnnmnnnnnnnnnnnnnnnnnnnnnnnnnnnmnnnnnnnnnnnnnnnmnnnnnnmmnnmnnnnnnnnnnnnns~~qnmnnnnnnnnmnnnnnnnmnnnnmnnnnnnnvzomnnnnnnnnnnnnnnmmnnnnnmnnmmnnmnnmmmnnnmnmnnmnmnnnnnmnmnnmnmnmnnnnnnnnnnnnnnmnr~~qnnmnmmnnnnnnnnnnmnnnnnmnnnnnnnnnnnnmnnnnnnnnnnmnmnnnnnnnnnnnnnnnnnnnmmnpuz~|uommnmmnmnnnnmnmnnnnnmnmnnmnnnnnnmnmnnnnmmmnnnnnnmnmmnnnnmnmnnmnnnnnmnnnnnnmo|~snnnmmnnmnnnnnnnnnnnnnnmmnmnnnnmnnnnnnvwnnnnnnnmnmnnmnnmmnmnnmmnnnmmnnnmnnnmnmmnnq~~qnnnnnnmnnmnnnnnmmnmnnmnmnnmnmnnnnnnvtnnnnnmnnmnnnnnmnnnnnnnmnnnnnnmmnnnnnnmnmmnnnnmmnnnmnnnmmnns~wnnnnnnnnnmmmnmnnnmmnmnnmnmnnnnnnmnnnnnnnmnnnnnnmnnnnnnnnnmnnnnnnnnnnmnnnnnnnnnnnnnnmnnmnmmnnnnnmnnnnnnns~~snnnnnnnmnnnnnnnnnmmnnnnnnnnnnnmnnmmnnnnnnnnmnnnnnnmnnnnnnmnnnmnnmmmnnmmnnnnnnnmnnmnnnnnmnns~wnnmmmnmnnnnmnnmnnnnnnnmnmnnnnnmnnnnnnmnnnmnnnnmnnnnnnnmmnnmnnnnnmmnnnnnnnmnnnnnnnnnmnmnnmnmmnnmmmnnmnnnnnnnnnmnnmmnmnnmnnnnmnmnnnnnnmnmnmnnmnnnnnnnnnnmmmmnnnnmnnnnmnmnnmmnmnmnmnnmnnnnnnmnnmmnmnmnp}wnnnnnnnnnnmmnmnmnmnnnnmnmmnmnnnnnnnnnnnmnmnnmnnnnnmnnnnmmnnmnmmnnnnnnmnnnnnnnnnnnnnnnnnnnmnnnnnnnnnnnnnnnmnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnow}pmnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnozxonnnnnnnnnnnnnnnnnnnnmnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnozunnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnmnnnnnp{unnnnnnnnnnnmnnnnnnnnnnnnnnnnnnozunmnnnnnmnnnnnmnnnnnnnnnmnnmnnnnnmnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnno{vnnnnnnnnnnnnnnnnnnnnnnmnnnnnnnnnnmnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnmmnpsx}~zsonnnnmnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnmnnnnnnnnnnmnnnnnnnoxvonnnnnnmnmnnnnnnnnnnnnnnmmnnnnnnmnnnoz~snnnnnnnnnnnnnnnnmnnnnnnnnnnnnnnnnnnnnnnnno{unnnnnmnnnnnnnnnnnnnnnnnnnnnnmnnnnnoy~qnnnnnnnnnmmnnnmnnnnnnnnnnmnnnnnnnnnmmnnnnnnnmnnnnnnnnnmnnns~wnmnnnnnnnnmnnnnnnnnnnnnnnnnnnnnnmmnnnnmnnnnnnnnmnnnnnnmnnnnnnnnnnnnnnnmnnmnnnnnnnnnnnnnnmnnnnnnnnnnnmnns~~snnnnnmnnnnnnnnnnmnnmnnnnmnnmnnnmnnnnmnnnnmnmmnnnnnnnnmnmnnnnnnnnnnnnmnmnnnmnnmmnnmnnnnnnnns~~unnmnnmnmnnmnmnnnmnnnnnnmmnmnnnmnnnnnnmnnnnnnnnnnnmnnnnnnmnnnmnnnnnnnnnnnmnmnnnmnnnnnnnmnnnnnnnmnnnnnnnmmnnnnnnnnnmmmnnnmmnnnnmnmnnmnmnnmnnnmnnnnnnnnnnnnnnmnnnnnnnnmnnnnnmmmnmnmnnmnnnnnnmmnnnnmmnno}wnnmnnnnmmnmnnmmmnnnnnnmnnnnnmmnnnmnnnnmnnmmnnnnnnnnnnnnnnnnnmnmnnnnnnmnnnnnnnnnnnnnnnnnnnmnnnnnnnnnnnnnnnmnmmnnnnnnnnnnnnmnnnnnnnnnmnnnnnnnnnnnnnnnnnnnnnmnnnnnnnnnnmnnnw}pnnnnnnmnnnnnnnnnnmnnmnnnnnnnnnnnnnmnnnnnnnnnnnoz~tnnnnnnnnnnnnnnnnnnnnmnnnnnnnnnnnnnnnnnnnnnnmnnnnnnnnnmnnnnnnnnnnq~}pnnnnnnnnnnnnnnnnnnnnnnnnnnnnmnnnnmnnnnnnnnnnmnnnmnnnnnnnnnnnnnnnnnnnnnnnnnmnnnnwzomnnnnnnnnnnnnnnnnnnmnnnnnnnnnq~}pmnnnnnnnnnnnnnnnnnnnnnnnnnmnnnnnnnnnnnnnnnnnnnnnmnnnnnnnnnnnnnnnnnnnnnnnnnnnnnowzonnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnmnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnmmnoquy}~wqnmnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnt~yonnnnnnnnnnnnnnnnnnnnnnnnmnnnnnnnnnnq~}pnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnowyonnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnno}zonnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnns~wnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnns~~snnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnns~vnnnnnnnnnnnnmnnnnnnnnnnnnnmnnnnnnnnnnmnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnmnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnmnnnnnnnnnnnnnnnnnnnnnmnnnnnnnnnnnnnnnnnnnnmnnnnnnnnmnnnnnnnnnmp}wnnnnnnnnnnmnmnnnnnnnnnnnnnnnnnnmmnnmnnnnnnmnnnnnnnnnnnmnnmnnnnnnnnnnnnmnnnnmnnmnnmnmnnnnnnnnnnnnnnmnnnnnnnnnnnnnmnmnmnnnnnnnmnnnnnmnnnnnnmnnnnnnnmmnnnmmnnnnnnnnnmnnnnmnw}pnnnnnnmnnnnnnnnnnnnnmnnnmnnnnnnnnnnnnnnnmnnnnnoz~qnmnnnnnmnnnnnnmnnnmnmnnnnnnmnmnmnnmnnnnmnnnnnnnnnmnnnmnnnnnnnnnntynnnnnnmnnnnnnnnnnnnnnnmmnnmnmnnnnnnnnmnnnnnmnnnmmnmnnmmnmnnmnnmnnnnnnmnnnnmmnmnns~}pnnnnnmnnnnnnnnnmnnnnnnnnmnnnntxonmnmmnnnnnnnmnnmnnnnnnnmmnmmnnnnnnnnnnnnnnnnnnnnnnmmmnnnmnnnnnnmnnmnnnnnmmnnnmns~}pnnnnnnnnnnnnnnnnnnnnnnnnnmnnnnnnnnnnmnmnnmnnnnmnnmnnmnnnnnnnnnmnnnnnnnnnnnmmnorv{~|tonnnnmnnnnnnnnmmmnnmnnnnnnnnnnnnnmnnmnnmnnnnnnnnmnnnnnnnnnnnnmnnnnnnnmmq~}omnnnnnnnnnnnnnnnnnnmnnnnmnnnnnmnnnnuyonnnnnnmnnmnnnmnnnnnnnnnnnnnnnnmmnnnnnnnnnns~|onnnnnnnnnnnnnnmnnnnnnnnnnnnnnnnnnr~wonnnnnnnmnnnnnnnmnnnnnnnnnnmnnmmnnnnnnnmnnnnnnnnmnnnnnnnnnns~wnnnnnnnnnnnnnnmnnnnnnmnnnnnnnnnnnnnnnnnnnnnnnnnnmnnnnnnnmnnnnnnnmnnnnnnnnnnnmnnnnnnnnnnnnnnnnnnnnnnnnnns~~snmnnnnnnnnnnnnnnnnnnnmnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnmnnnnnnnmnnnmnnnnnnnnnnnnnns~wnmnnnnnnnnnnmnnnnnnnnnnnnmmnnnnnnnnnnnnnnnnnnnnnnnnnnnnmnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnmnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnmnmmnnnnnnnnnnnnnnnnnnnnnnnmnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnp}wnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnmnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnmnnnnnmnmnnnnnnnnnnnnnnnmmnnnnnnnnnnnnnnnnnnnnnnmnnnnnnnnnnnnnmnnnnmmnnnnnnnnnnmnnnnnnnnnnnnnnnw~pnnnnmnmnmnnnnnmnnnmnnnmnmnnnnnnmnnnnmnmnnnmnnnoz{onnmnnnnnnnmnmnnnnnnnnnnmnnnnnnnmnnmnmnnmnnnnnnnnnmnnmnnnnnnnnnnoytnnnnnmnnnnmmnnnnnnnnnnnnmmnnnnnnnnnnnmnnnnnnnnnnmnmnnnnnnnnmnmnnnnnnnnnmnnnmnnnnp}snnnnnnnmnnnnnnnnnnnnnnnnnnnnoytnmnnmnnnnnnnmnnnnnnnnnnnnnnmmnnnnnnmmnmnnnnnmnnnmnnmnnnnnnnnnnnnmmmnnnnmnnnnmmnnp}snnnnnmnmnnnnnmnnnnmnnnnnnmnnnnnnnnnnnnnnnnnnmmmnnnnmmnnnmnnnnmmnnnnnnnnnnnnnnmmnorv{~~wqnmnmnnnnmnnnnnnnnnnnnnnmnnnnnnnnmmnnmnnnnnmmnnmnnmmmnnnnnnnnnnnnnnnmno{~rnnnnnnnnnnnnmnnmnnnnnnnnmmnnnnnnnmoyunnnnnnnnnnnnnmnnnnnmnmnnnnnnmnnnnnmnnnnmnnnp}~rnnnnmmnnnmnnnnmnnmnnnmnnnnnnnnnnnv~snnmnmnnnnmnnnnnnnnnmmnnnnmnnnmmnmmnnmnmmnnmnnmnnnnnmnnnmnnns~wnnnnnnnmnnnnnnnmnmnnnnnnnmmnnnnnnnnnmnmnnnnnmnnnnnnnnnnnnnnnnnnnmnnnmnnnnnnnmnnnnnnnnnnmmnnnnnnnnnnnnnns~~snmnnnnnnnnnmnnnnnmnnnnnnnnmnnnnnnnnnnnmnnnnnnnnnnnnnnnmnnnnnmnmnmnnnnnnnnnmnnnnnnnnmnnnnnns~wonnnnnmnnnnnnnnnnnmnnnnnmmnnnnnnnnnnnnnnnnmnnnnnnnnmmnmnnmnnnnnnnnnnmnnnnnnmnnnnnnnmnmnmnnnnmnnnnnnmnnnnnnnnnmnnnmnnnnnmmnnmnnmnnnnnnnnnnmnnnmnmnnnnnnmnnnnnmnmnnnmnnnnnnnnnnnnnnmnmnnnnnnnnmnnnnnmp}wnnmnnnnnnmnnnnnnnnnnnnnnnnnnnnnmnnnnnnnnnnnnnmnmnnnnnnnnnnnmnnnmnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnw~pnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnozxonnnnnnnnnnnnmnnnnnnmnnnnnnnnnnnmnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnno|}pnnnmnnnnnnnnnmnnnnnmnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnmnnnnnmmnnnnnnnnnnnnnoywonnmnnnnnnnnnnnnnnnnnnnnnnnno|}pnnnnnnnnnnnnnnnnnnnnnnnnnnnmnnnnmnnnnnnmnnnnnnnmnnmnnnnnnnnnnnnnnnmnnnnnnmnnnnnnoywonnnnnnnmnnnnnnnnnnnnnmnmnnnnnnnnnnmmnnnnnnnnnnnnnmnmnnnnnnnnnnnnnnnnnnnnnmnmnnmmmnorvy}{sonmnnnnnnnnnnnnnnnnnnnnnnnnnnnnmnnnmnnnnnnmnnnnnmnnnnmnnnnnnnnnnnnnnowunmnnnmnnnnnnnnnnnnmnnnnmnnmnmnnnnmp|~qnnnnnnmnnnnnnnnnnmnnnnmnnnnnnnnnnnmnnnnnnnnozvnmmnnnnmnnnnmnnnnnnnnnnmnnnnnmmnoz}pnnnnmnnnnnnnnnnmnnnnnmnnnnmnnnnnmnnnnnnmnnnmnnnnmmnnnmnnnnns~wonnnnnnnmnnnnnnnnnnnnnnnnmnmnnnnnnnmnnnnmnnnmnmnnnnnnmnnnnnnmnnnnnnnnnnnmmnnmnnnnnnmnnnnmnnnnmnmnmmnnnns~~snmmnnmnmnnnnmnnnnnnnmnnnnnnnnnnnnnmnnnnmnnmmnnnnnmnnmnmnnnnnmnnnnnnmnnnnnnnnnnnnnmnmmnmnnns~wonnnnnnnnnnnmnnnnnnmnnnnmnnnnmnnmnmnnnnnnmmnnnnmnnnnnnnnnnmnnnmnnnmmnnnmnnmnnmmnnnnnnnmnmmnnnnnnnnnnnnnnnnnmnmnnnnnnmnnnmmnmnnnnnnnnnnnnmnnnnmnnnnnnnnnnnnnnmnnnnmnnnmmnnnnnnnnmnmnnmnmnnnnnmnmnnnnp~wonnnmnnnnnnnnnnnnnmnnnnnnnnnnmnmnnnnnnnnnnnnnmnnnmnnnnnnmnnmnnnmnnnnnnnnnnnnnnnnnnnnnnnnnmnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnv~pmnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnno{tnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnq~zonnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnov{onnnnnnnnnnnnnnnnnnnnnnnnnnnr~yonnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnu{onnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnmmnnoquy}~}vonnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnns~xomnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnns~|onnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnv{onnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnp}yonnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnns~wnnnnnnnnnnnnnnnnnnnnnnnnmnnnnnnnnnnnnnnnnnnnnnnnnnnnnmnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnns~~snnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnmnnnnnnnnq~wonnnnnmnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnmmnnnnnnnnnnnnnnmnnnnnnnnnnnnnmnnnnnnnnnnnnnnnmnnnnmnnnnnnmnnnnnnnmnnmnnnnnmnnnnnnnnnmnnnnnnnnnnnnnnnnnnnnnnmnnnnnnnnnnnnnmnnnnnnp~wnnnnnnnmmnnnnnnnnnmmnnnnnnnnnnnmnnmnnnmnmnnnnnnnnnnnnnnnnmnnnnnnnnnnnnnnnmnnnnnnnmnnnnnnnnmnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnmnnnmnmnnnnmnnnnnnnnnnnnnnmnnnnnnnnnnnnnnnnnw~onnmnnnnnnnnnnnnnnnnnnnnnnnnnmnnnmnnnnnnnnnmmnnoz~qnnnnnnnmnmmnmnnnnnnnnnnnnnnnnnnmnnmnnnnnnnnnmnnnnnnnnnnnnnnnnnnnuvonnnnnnnnnnnnnnnnnnnnnnnnnnnmnnnnnnnnnnmnnnnnnnnnnnnnnmnnnnnnmnnnnnnnnnnnnnnnnnnnnr~~pnnnnnnnnnnnnnnnnnnnnnnnnnnnuvnnnnnnnnnnnnnnnnnnnnmnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnmnnnnnnnnnnnnnnnnns~~pnnnmnnnnnnnnnnnnnnmnnnnnnnnnnnnnnnnnnnnnnnnnnmnnmnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnmmmnnopsw{}~~xqnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnp~{onnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnvxonnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnr~~qnnnnnnnnnnnnnnnnnnnnnnnnnmnnnnnr~unnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnns~vnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnns~~snnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnp~wonnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnmnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnp~wnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnmnnnnmnnnnnnnnnmnnnnnnnnnmnnmnnnnnnnnnnnnnnnmmnnnnnnnnnnmnnnnnnnnmnnnnnnnmnnnnnnnnnnnnnmnmnnnnnnnmnmnow~pnmnnnnmnmnnnnnnmnnnnnnnnnnnnnnnnnnnmnnnnnnnnnnoz}pnnnnnnnnnmnnnnnnmnnnnnnnnnnnmnnnnnmnnnnnnnmnnnnnnnnnnnnnnnmnnnmox~snnnnnnnnnmmnnnnnnnnnnmnnnnnnnnnnnmnnnnnnnnnnnnnnnnnmmnmnnmmnnnmnnnnnnnnnmmnnnnmnnnp~~snnmmnnnnnmnnnmnnnnnnnnnnnnox~snnnnmnnnnnmnnnnnnnnnnnmnnnmnnnnnmmnnnnnnnnnnnnnnmnnnnnnnnnnnmnnnnnnnnnnnnnnnmnnnnnp~~rnnmnnnnnnnnnnnnnnmnnnnnnnnnnnnnnnnnnnmnnnnmnnnnnnnnnmnnnnnmnnnnnnnnnnnnnmnnnnnnmnnnnnnnnmnnooqtx|~{qnnnnnnnnnnnnnnnnmnnnmnnnnnmnmnnnnnnnnnnmnnnnnnmnnnnnnnnnnnnmnnnmnoz~qnnmnnnnmmnnnnnnnnnnnnnnmnnnnnnnnoz~tnnnnnnnnnnnnnnnnnnnmnnnnnnnmnnnnnnnnnnnnnmmnno|~tonmnnnnmnnnnnnnnnnnnnmmnnnnnnnnu~rnnnnnnnnnnmmmnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnt~wnnnnnnnnnnmnnnnnnnnnnnnnnnnnmmnnnnmnnnnnnnmnnnmnnnnnmnnnnnnnnnnmnnnnnnnnnnnnnnnnnnnnnnnnnmnnnnnnmnnmnnns~~tnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnmnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnmnmnnnnnnnnnnnnnp~wnnnnnmnnnnnnnnnnnnnnmnnnnnnnnnnnmnnnnnnnnnnnnnnmnnnnnnnnmnnnnnmnnnnnnnnnnnnnnnnnnnnnnnmnnnnnnnnnnnnnnnnnnnnnnnmnnnnnnmnnnnnnnnmnnnnnnnnnnmnnmnnnnnnnmnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnmnnnnnnnnnnnmnnnp~wonnnnnnnnnnnnnnnnnnnnnnnnmnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnmnnnnnnnnnnnnnnnnnnnnnnnmnnnnnnnnnnnnnnmnnnnnnnnnnnnnnnnnnmnnnnnnnnnnmnnnnnnnnnnnnnnnnnnnnnnnnow~pnnnnnnnnnnnnnnnnnnnnnnnnnnmnmnnnnnnnnnmnnnnnnno{zonnnnnnnnnnnnnnnnnnnnnnnnnmnnnnnnnnnnnmnnnnnnnnnnnnnnnnnnnnnnnnno{}pnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnmnnnnnnnozunnnnnnnnmnnnnnmnnnnnnnnnnno{}pnnnnmnmnnmmnnnnnmnnnnnnnnnnnnnnnnnnnnnnnmnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnmnnno{uonnnmnnnmnnnnnnnnnmnmnnnnnnnmnnnnnnnmnnnnnnmnnnnnnnnmnnnnnnnnmnnnmnmnnnnnnnnmnnnnnnnnnnnmnmnnnnopruy|~|snmmmnnnnnnnnnnnnnnmnnmnnnnmnnnnnnnnnnnnnnnnnnnnnnnnmnnnnnnnnnnnnov~tnnnnnnnnnnnnnnmnnmnnnnnnnnnnnnnnp}~qmnnnnnnnnnnmnnnnnnnnnmnnnnnnnnnnnnnnnnnnnnnnnoyyonnnnnnnnnnnnnnnnnnmnnnmnnnmmnoy{pnnnnnnnnnnnnmnnnnnnnnnnnnnnnnmnnnnmnnnnnnnnnnnnnnnnnnnnmnnnns~wnnnnmnmnnnnnnnnnnnnnnnnnnmnmnnmmnnnnnmnnnnnnnnmnnnnnnnnnnnnnnnnnnnnnnnnnnmnnnnnnnmnnnnnnnnnmnnnnnnmmnnnt~~snmmnnnnmnnmnmnmnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnmnnnnmnnnnnnnnnnnnnnnnnnnnnnnmnnnnnnnnnmnnnmmp~wonnnnnnnnnnnnnnnnmnnnmnnnnnnnnmnnnmnnnnnnmnnnnnnnnnnnnmnnnnnnnnnmnnnnmnnnnnnnnnnnnnnnmnmnnnnnnnnnnnnmnmnnnnnnnnmnnnnmnnmnnnnnnnnnnnnnnnmnnnnnnnnnmnnnnnnnmnnnnnnnnnmnnnnnnnnnnmnnnmnnmnnnnnmnnnnnnnp~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~wnnnnnnnnnnnnnnnnnnnnnnnnnnmnnnnnnnnmnnnnnnnnnnnnnnnnmnnnnmnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnow~pnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnno{wnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnp~{onnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnoxxonnnnnnnnnnnnnnnnnnnnnnnnnp~{pnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnoxxonnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnmnoopsvy}~}snmnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnr~wonnnnnnnnnnnnnnnnmnnnnnnnnnnnnnnt{onnnnnnnnnnnmnnnnnnnnnnnnnnnnnnnnmnnnnnnnnmnnnnt|pnnnnnnnnnnnnnnnnnnnnnnnnnnnnnp|xonnmnnmnnnnnmnnnnnnnnnnnnnnnnnnnnnnnnnnnnnmnnnnnnnnnnnnnnnnnns~womnnnnnnnnnnnnnnnnnnnnnnnnnmnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnmnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnt~~snnnnnnnnnnnnnnnnnnnnnnnnnnnnnnmnnnnnnnnnnnnnnnnnnnnnmnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnmnnnnp~yonnnnmnnnnnnnnnnnnnnnnnnnmnnnnnnnnnnmnnnnnmnnnnnnnnnnnnnnnnnnnnnnnnnnmnnnnnnnnnnnnnnnnnnmmnnnnmmnnnnnnnnnnnnnnnnnnmnnnnnnnnnnnnnmnnnnnnnnnmnnnmnnnnnnmnnnnnnnnnnnnmnnnnnnnnmnnnmnnnnnnnnnnnnnmnnmnnp~ztttttttttttttsttttttttttttttststtttttttttttttttttsstttttttttssttttstttttsttsttttttttttttttttttttttstttttttttttu~wonnnnnnnnnnnnnnmnnnnnnnnnnnnnnnnnnnnnnnnnmnnnnmnnnnnnnnnnmmnnnnnnnnnnnnnnmnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnw~pmnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnno{~unnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnr~yonnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnvzonnnnnnnnnnnnnnnnnnnnnnnnnr~yonnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnvzonnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnmnnopsvy|~}snnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnp}{onnnnnnnnnnnnnnnnnnnnnnnnnnnnnnoxvnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnp~~rnnnnnnnnnnnnnnnnnnnnnnnnnnnnnr~tnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnns~wonnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnt~~snnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnp}zpnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnmnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnmnnnnnnnnnnnnnmnnmnnp~wonnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnonnnnnnnnnnnnnnnnnnnnnnnnnnnnnp~wonnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnmnnnnnnnnnnnnnnnnnnnnnnnnnmnnnnnnnnnnnnnnmnnnnnnmnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnmnnnnnnnnnnnnnnnnmnnnnnnnnnnnmnnnnnnnnnnnnow~~~}~}}~}~~~}~~~~~}~}}~~~~~}}~~~~}~~}}}}}~}}}}}~}~}}}~}~~~~}~~~~}~~}~}}~}}}~~~}}~}~}~~}~~}}~}}}~~}~~|pmnnnnnnmnnnmnnnmnnnnnnnnnnnmnnmnnnnnnnnnnnnnnnp{~snnnnnnnnnnmnnnnnnnmnnnnnnnnnnnmnnnnnnnmnnnnnmnnnnnnnnnnnnnmnnnnnuwonnnnnnmnnnnmnnnnnnnnnnnnnnnnnmnnnnnnnnnnnnnnnnnnnnnnnnnnnnnmnnnnnnnnnnnnmnnnnnnnnnnt~}onnnnnnnnnnnnnnnnnnnnnnnnnu~wonnnnnnnnnnnnnnnnnnnnnnnnnnmnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnmnmnnnnnnnnnnnnnt~}pnmnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnmnnnnnnmnnnnnnnnnnnnnnnnnnnnnnnnnnmnmnnopruy|~}snnnnnnnnnnnmnnnnnnmnnnnnnnnnnnnnnnnnmnnnmnnnnnnnnnnnnnnnnnnnnnoy~pnnnnnnnnnnnnnnnnnnmnnnnnnnnnnno|~rnnnnnnnmnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnno{vnnnnnnnmnnnnnnnnnnnnnnnnnnnnnu~pnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnns~wonnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnns~~snnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnno{{pnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnp~wonnnnnnnmnnnnnnnnnnmnnnnnnmnnnnnnnnmnnnmnnnnnnnnnnnnnnnnnnnnnmnnnnnmnnmnnnnnnnnnnnnnnmnnmnnnnnnnnmmnnnnnnnnnnnp~wonnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnmnnnnnnnmmnnnnnnnnmnnnnnnnnnnnnnnnnnnnnnmnnnnnnnnnnnnnnnmnnnnnnnnnnnnnnnnnnnnnnmnmnnmnowuqpppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppqpnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnmnnnnnno{~qnnnnnnnmnnnnnnnnnnnnnnnnnnnnmmnnnnnnnnnnnnnnnnnnnnnnnnnnnnnmnnnowtnnnnnnnmnnmnnnnnnnnnnnnmnnnnnnnnnnnnmmnnnnnnnnnnmnnnnnnnnnnnnmnnnnnnnnnnnnnnnnnnnnnnq~~qnnmnnnnnnnnnnnnnnnnnnnnnowtnnnnnmnnnnnnmnnnnnnnnnnnnnnnnmnmnnnnnnnnnnnnnnnmnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnq~~qnnnnnmnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnmnmnnmnnnnmnnnnnnnnnnnnnmnnnnnnnnnmnnmnnnnnnnnnnnnnnnnnnnnnnmnmnnnnnnnmnooprvy|~}snnnnnnnnmnnnmnnnnnmnnnnnnnnnnnnnnnnnnnnnnnnmnnnnnnnnnnnnmnnnnnu~snnnnnnnnnnnnnmnnnnnnnmnnnnnnnnr~}pnnnnnnnnnnnmnnnmnnnnnnmnnnnnnnnnnnnnnnnnnnnnnnmnwzonnnnnnnnnnnnnnmmnnnnnnmnmnnoyzonnnnnnnnnnnnmnnnnnnnnnnnnnnnnnnnnnnnnnnnmnmnnnnnnnnnnnnmnnnnnt~wonnnnnnnnnnnnnnnnnnnnnnnnnnnnnmnnnnnnnnnnnnnnnnmnnnnnnnmnnmnnnnnnnnnnnnnnnnnnnnnnnnnnmnnnnnnnnnnnnmnnnns~~snnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnmnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnoz{onnnnnmnnnnmnnnnnnnnnnnnmnnnnnnnnnnnnnnnnnnnnnnnmnnnnnnnnnnnnnnnmnnnnnnnnnmnnnnmnnmnnnnnnnnnnnnmnnnnnnnmnnnnnnnnnnnnnnnnnmnnnnnnnnnnnnmnnnnnnnnnnnnnnnnmnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnmnnnnnp~wonnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnmnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnp~wnnnnnnnnnnnmnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnmnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnow~smmmmmnmmmmmmmmmmmmmnmmmmnmmmmmmmnmmmmnnmmnnnmmmmmmmmmmmmmnmmnmmmmmnmmnmmnmmmmnnmmmmmmmmmmmmmnmmmmmmmnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnoz~pnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnmnnnnnnnnnnnnnnnnnnnnnnnnoz~snnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnmnnp~~snnnnnnnnnnnnnnnnmnnnnnnnoz~snnnnnnnnnnnnnnnnnnnnnnnmnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnp~~tnnnnnnnnnnnnnnnnnnnmnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnmnooorvy|~|qnmnnnnmnnnnnnnnnnnnnnnnmnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnr~vonnnnnnnmnnnnnnnnmnnnnnnnnnnnovyonnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnns~}pnnnnnnnmnnnnnnnnmnnnnnnnnnnp|vonnnnnnnnnnnnnnnnnnnnnmnnnnnnnnnnnnnnnnnnnnnmnnnmnnnnnnnnnnnnnt~wonnnnnnnnnmnnnnnnnnnnnnnnnmnnnmnnnnnnnnnmnnnnnnnnmnmmnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnmnnnnnmnnnnnmnnnnnnnt~~tnnnnnnnmnnmnnnnnnnnmnnnnnnnnnnnnnnmnnnnnnnnnnnnnmnmnnnnnnnnnmnnnnnnnnnnnnmnnmnnnmnnnnmnmnnoz}pnnnnnnnnnnnnnnnnnnnnnnnnnnnnnmnnnnnnnnnmnnnnnnnnnnnnnnnmnnnnnnmnnnnnnnnnmnnnnmnnnnmnnmnnnnnnnnnnnnnnnnnnmnnnnnnnnmnnnnnnnnnnnnnnnmnnnnnnnnnnnnnnnmnnnnnnnnnnnmnnnmnnnnnnnnnnnmnnnnnnnnnnnnnnnnnnnnp~wonnnnnnnnnnnnnnmnnnmnnnnnnnnnmnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnmnnnnmnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnp~wnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnmnnnnnnnnnmnnnnnnnnnnmnnnnnnnnnnnnnnmnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnmnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnmnnnnnnnnow~tnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnmnnnnnnnnnnnnnnnnnnnnnnnnnnnmnnnpz{onnmnnnnnnnnnnnnnnnnnnnnnnnnnnmnnnnnnnnnnnnnnnnnnnnnnnnnmnnnnnnnp}~qnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnp{~uonnnnnnnnnnnnnnnnnnnnnnnp|~pnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnp|~uonnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnmnnnnnnnnnnnnnnnnnnnnnmnnnnnnnnmnnnnnnnnnnnnnnnnmmmnooprvy|~zqnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnp|zonnnnnnnnnnnnnnnnnnnnnnnnnnnnozuonnnnnnnnnnnnnnnmnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnp}~snnnnnnnnnnnmnnnnnnnnmnnnnnnr~~rnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnmnnnnnt~wonnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnmnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnt~~tnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnmnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnox~pnnnnnnnmnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnmnnnnnnnnnnnnnnnnnnnnmnmnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnmnnnnnnnnp~wonnnnmnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnmnnnnnnnnnnmnnnnnnnnnnnnnnnnnnnnmnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnmnnp}wonnnnnnnnnnnnnnnmnmnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnmnnnnnnnnnnnnnnnnnnnnnmnnnnnnnnnnnnnnnmnnnnnnnnnnnnnnmnnnnnnnnnnnnnnnnnmnnnnnmnnnnnnmnnnnnow~tonnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnmnnmnnnnnnnnnnnnnnnnnnnnnnnnnnnnnmnnnnnnmnmnnnnnmnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnmnnnnnnnnnnozzonnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnmnnnnnnnnnnnnnnmnnmmnnnnnp~~ommmmmmmnmmmmmmmmmnnmnmmmmnnnnnmmmmmnmmnnmmmmmmmmmnmmmmmmmnnmmmmnmmmmmmmmnmmmnmmnmmmmozwonnnnnnnnnnnnnmnnnmnnnnnp~}pmmmnnmmnnmmmmnmnmmnmmnmmmnmnnnnmnmnmmnmnmmnmmmnmnnmmnmmnnmnnmmmmmnmnnmmmmmnmmmmnmnmnozwonnnnnnnnnnnnnnnnnnnnnnnnnmnnnnnnnnnnnnnnnnnnmnnnnnnnnmnnnnnnnnnnnnnmnnnnnnnnnnnnnmnnnnnnnnnnnnnnnnnnmnnnnnnnnnnnnnnnmnmnnoprvy}~ypnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnmnnnnnnnnnnnnnnnnnnnnoy}pnnnnnnnnnnnnnnnnnnnnnnnnnnnnp}~qnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnoywonnnnnnnnnnnnnnnnnnnnnnnnnnu}pnnnnnnnnnnnnnmnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnt~wonnnnnnnnmnnnnnnmnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnmnnnnnnnnnnmmnmnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnt~~tnnnnnnnnnnnnnnnnnnnnnnmnnnnnnnnnnnnnmnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnmnnnnnnnnnnnnnow~pnmnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnmnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnmnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnp}wonnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnmnnnnnnnnnnnnnnnnnnnnmnnnnnnnnnnnnnnp~wonnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnmnnnnnnnnnnnnnnnnnnmnnnnmnnnnnnnnnnmnnnnmmnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnmnnnnnnnnnmnnmnnnnmnnnnnnnow~tnnnnnnnnnnnnnnnnnnnmnnnnnnmnnnnnnnnnnmnmnnnnnnnnmnnnnnnnnnnnnnnnnnmnnnnnnnnnnnnnnnnnnnnnmnnnmnnnnnnnnnnnnnnnnnnmnmnnnnnnnnnnnnnnnnnnnnnmnnnmnnnnnnnozwonnnnnnnnnnnnnnnnmnnnnnnnnmnnnmnmnnnnnnnnnnnnnnnnnnnnnnnnnnmnnnnr~~rppqqqppppppppppqqpppqppppppqqqppppppppqqppppppqqqqqpppqqqqqqqqqppppppppqpppppqqpppppqzyonnnnnnmnmmnnnnnnmnnnnnnq~~rppqqppppqqqqqqqqpppqqqpppppppppqqpppqppppqppppppqpppppppppppppppqppppppppppppqqpppppqzyonmnnmnnnnnnnnnnnnnnnnnnnnnnmnnnnnmnnnnnnnmnmnnnnnnnnnnnnmnnnnnmnnnnnnmnnmnnnnnmnnnmnnnnnnnnnmnnnnmnnnnnnnnnnnnnnnnnnnnnmmnnnnopsvz}~uonnnnnnnnnnnnnnnnnnnnnnnnmmnnnnnmnnnnnnnnnmnnmnnnnnnnnnnnnnnu~rnmnnnnnnmnnmnnnnnnnnnnnnnnnnt~|onnnnnnnnmnnnnnmnmnnnnnnnnnnnnnnnnmnnnnmmnnmnnnnnnouzonnnnnnnnnnnnnnnnnnnmnnnnnoyyonnnnnnnnnnnnnnnnnnnnmnnmnnnnnnnnnnnnmnmnnnnnnnnnnmnnnnnnnnnnnot~womnnnnmnnnmnnnnnnnnnnnnnnnnnnnnnnmnnnnnnnnmnnnnnmnnnnnmnnnmnnnnnnnnnnnnnnnnnnnnnnnmnnmmnnnnnnnnnnnmnnnnt~~snnnnnnnnnnnnnnnnnmnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnmmnnnnnnnnnnnnnmnnnnnnnmnnnmnnnmnnnnnnov~rnnnnnnnnnmnnnnnnnnnnnnnnnnnnnnnmnnnnnnnnnnnnnnmnnnnnnnnnnnnnnnnnmnnnnnnnnnnnnmnnnnnnnnnnnnnnmnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnmnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnmnnnnnnnnnmp}wonnnnnnnnnnnnnnnmnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnmnnnnnnnnnnnnnnnnnmnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnmnnnnnp}wonnnnnnnnnmnnnnnmnnnnnnnnnnnnmnnnnnnnnnnnnmnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnow~snnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnonnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnozwonnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnns~~~}~~~~}}}}}}}}}~~~}~~~}}}}~~~~}}}}}}}~~~~}}}}}~~~~~~}~~~~~~~~~~}}}}~}}~~~}~}}~~}}}}~~zonnnnnnnnnnnnnnnnnnnnnnns~~~~~~~}}~~~~~~~~~~}}~~~}}}}}}}}}~~~}~~~}}}~~}}}}~~~}}}}~~}}}~}}}}~}}~~}}}}}}}}~~~}}}}~zpnnnnnnnnnnnnnnnnnnnnnmnnnnnnnnmnnnnnnnnmnnnnnnnnnnnnnnnnnnnnmnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnmnopqux|~}snnnnnnnnnnnnnnnnmmnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnq~uonnmnnnnnnnnmnnmnnnnnnnnnnnoxxomnnnmmnnnnnnnnnnnnnnnnnmnnnnnnnnnnnnnnnnnmnnnnmnnnr~~qnnnnnnnnnmnnnnnnnnnnnnnmnp|uonnnnnnnnnnnnnnnmmnnnnnnnnnnnnnnnnnnnnnnnnnmnnnnmnnnnnnnnnnnnnns~wonnnmnnnmnnnnnnnnnnnnnnnmnnnnnnnnnnnnmnnnmnnmnnnnnnnnnnnnnnnnnmmnnnnnnnnnnnnmnnnnnnnnnnnnnnnnnnnnnnnnnns~~snnnnnnmnnnnnmnnnnnnnnnnnnnmnnnnnnnnnnnmnnnnnnnnnnnnnnnnnnnnmnnnnnmnnnnnnnnnnnnnnnnnnnnnnnnnt~~tnnnnnnnnnnnnnnnmnnnnnnnnnnnnnnnnnnnmnnmnnnnnnmnnnnmnmnnnnnnnnnnnnnnnnnnmnnnnnnnnmnmnnnnnnnnnnnnnnnnmnnnnnnnnmmmnnnnnmnnnnnnnnnnnmnnnnnnnnnnnnnnmmnnnnnnnmnnmnnnnnnnnnnnnnnnnnnnnnnnnmnnnnnnmnnmnmnp}wonnnnmnnnmnnnmnnnnnnnnnnnnnnnnnnnmnnnnnnnnnnnnnnnnnnnmnnnnnnnnnnnnnnnnnnnnnmnnnnnnnnnmmnnnnnnnmnnnmnnnnnnnnnnnp}wonnnmnnnnmnnnnnnnnnnmnnnmnnnnnnnnnnnnmnnnnnnmnnnnnnnnnnnnnnnnnnmnnnnnnnnnnnnnnnnnnnnnnnnonnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnow~snnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnonnnnnnonnnnnnnnnnnnnozvonnnnnnnnnnnnnnnnnnoonnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnv~|pnnnnnnnnnnnnnnnnnnnnnnnu~|pnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnoprvz}{pnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnno{yonnnnnnnonnnnnnnnnnnnnnnnnno{~snnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnp|tnnnnnnnnnnnnnnnnnnnnnnnnnq~~rnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnns~wonnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnos~~snnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnns~~unnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnmnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnmnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnmnnnnnnnnnnnnnnnnnnp}wonmnnnnnnnnnmnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnmnnnnmnnnnnnnnnnnnnnnnnnnnnnnnnnnnp}womnnnnnnnnmnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnow~sonnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnonnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnpz~tonnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnow}pnnnnnnnnnnnnnnnnnnnnnnow}pnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnpquz}vonnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnox|onnnnnnnnnnnnnnnnnnnnnnnnnnr~}pnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnoxxonnnnnnnnnnnnnnnnnnnnnnnot|pnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnns~wonnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnonnnnnnnnonnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnos~~snnnnnnnnnnnnnnnnnnnonnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnp~wonnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnonnnnnnnnonnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnonnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnp~wonnnnnonnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnp}wonnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnmnnnnnnnnnnnnnnnnnnnnnnnnnnnnmnnnmnnnnnnnnnnnnnnnnnnnnnnnnnmnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnow~tonnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnmnnnnnnnnnnmnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnmnnnnnnnnnnnnnnnnnpz~sonnnnnnnnnnnnnnnnmnnnnnnnnnmnnnnnnmnnnnnnnnnnnnnnnnnnnnnnnnnnnnox~pnnnnnnnnnnnnnnnnmnnnnnox~pnnmnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnooruz}}rnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnt~qnnnnnnnnnnnnnnnnnnnnnnnnnouzonnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnot{onnnnnnnnnnnnnnnnnnnnnnnoxxonnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnt~wonnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnns~~snnnnnnnnnonnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnp}xonnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnonnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnp~wonnnnnnnnnnnnnnnnnnnnnnnnnnnnnnonnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnp}wonnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnow~tonnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnpz~sonnnnnnnnnnnnnnnnnmnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnpz~rnnnnnnnnnnnnnnnnnnnnnnoz~rnnnnnnnnnnnnnnnnnnmmnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnmnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnooqv|~yonnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnp}tnnnnnnnnnnnnnnnnnnnnnnnnnoyvonnnnnnnnnnnnnnnnmnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnp~~qnnnnnnnnmnnnnnnnnnnnnnno{tnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnmnnnnnnnnnnnmnnnnnnnnnnnnnnot~wonnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnmnnnnnnnnnnnnnnnnnnnnnnmnmnnnmnnnnnnnnns~~snnnnmnnnnnnnnnnnnnnnnnnnnnmnnnnnnnnnnnnmnmnnnnnnmnnnnnnnnnmnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnp{zonnnnnnnnnnnnmnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnmnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnmnnnnnnnnnnnnnnnnnmnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnmnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnp~wonnnnnnnnnnnnmnnnnnnnnmnnnnnnnnnnnnmnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnp~wonnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnmnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnonnnnnnnnnnnnnnnnnnonnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnonnnnonnnnnnnonnnnnnonnnonnnnnnnnnnnnnnow~tonnnnnnnnnnnonnnnnnnonnnnnnnnnnnnonnnnooonnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnoonnonnnnnnnonnnnnoonnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnonnnnnnnnnnnnnnnonnnnp{~rnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnonnnnnnnnnnnnnnnnnonnnoonnnnnnnp{~snnnnnnnnnnnnonnnnnnnnnp{~sonnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnonnnnnnnnnnnnnnnnnnnnnnnnnnnnnonnnnnnnonnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnonnnnnnnnnnnnnnnnptz~~tonnnnnnnnnnnnnnnnnnnnnnnnnnnnnnonnnnnnnnnnnnnnnnnnnnnnnnno{xonnnnnnnnnnnnnnnnnnnnnnnnp}~rnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnonnnnnnnnonnnnno{tnnnnnnnnnnnnnnnnnnnnnnnq~}pnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnot~wonnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnos~~sonnnnnnnnnnnnnnmnnnnnnnnmnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnmnnnnnnnnnnnnnnnnnnnnnnnnnmnnnnnnoz}pnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnmnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnmnnmnnnnmnnnnnnmnnnnmnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnmnnnnnnnnnnnnnnnnnnnnnnnnnnp~wonnnnnnnnnnnnnnnnnnnnmnnnnnnnnnnnnmnnnnnnnnnnnnnnnnnnnnnmnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnp~wnnnnnnnnnnnnnnnnnmnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnmnnnnnnnonnnnnnnnnnnnnnnnononnnnononnnnnnnnnnnnnnnnnnnnnnnnnnonnnnnnnnonnnnnnnnnnnnnnnnnnnonnnnnnnnnonnnnnnnnow~tnnnonnnnnnonnnnnnnonnnnnnonnnnnnnnnoonnonnnnnnnnnnnnnnnnnnnnnnnnnnonnnnnnonnnonnnnnnnonnnnnnnononnnnononnnonnnnnnnnnnnnnononnnnnnnnnnnnnnnnnnnonnnnp{~pnnnonnnnnnnnnnnnnnonnnnnnnnnnnnnnnnnnnnnoonnnnnonnnnnnonnnnnnnnp{~sonnnnonnonnnnnonnnnnnnp{~tnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnonnonnnnnnnnnnnnnnonnnnnnnnnnnnononnnnonnonnnnnnnnnnnnnnnnnnnnnnnnoonnnnnnnnnnnnnnonnonnnonnnnpsy}zpnnnonnnnnnnnnnnonnonnonnnnnnnnnonnnnnoonnnnnnnnnnnnnnnonow{pnnnnnnnnnnonnnnnnnnnonnns~|pnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnonnnnnnnnnnnnnonnovxonnnnonnnnnnnoonnnnonnotzonnnnononnnnnnnnnnnnnnnnnononnnnnnnnonnnnnnnnnonnnnnnnnnnonnnnnnnt~wonnnnnnnnnonnonnnnnnnnonnononnnnnnnnnnnonnnnnonnnnnnonnnnnnnnnnnnnnnnnnnnnnnnnnonnnnnnnnonnnnnnnnnnnnnnt~~tonnnnonnnnnnnnnnnnnnnnonnnnnnnnnnnonnoonnnnnnnnnnnnnnnonnnnnnnnnnnnnnnnnnnnnnnnnnonnnnnnnnnow~pnnnnnonnnnnnnnnnnnnnnnoonnnnnnnnnonnnnnnonnnnnnnnnnnnnnnnnnnnnnnnonnnnonnnnnnnnnnnnnnnnnnnnnnonnnnnnnnnnnnnnnnnnnnnonnnnnnnnnnnnnnnnnnnnnnnnnnnnnnonnnnnnnnnnnnnnnnnnnnnnnnnonnnnnnnnnonnnnnnnnnnp~wonnnnnnnnonnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnonnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnonnnonnnnnonnnnnonnnnnp~wonnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnonnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnow~tonnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnp{~pnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnp}~snnnnnnnnnnnnnonnnnnnnnp}~tonnnnnnnnnnnnnnnnnonnnonnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnonnnnnnnonnnnnnnonnnnnnnnnnnnnononnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnonnnnnnnnnosy~tonnnnnnnnnnnnnnnnnnnnnnonnnnnnnnnnnnnnnnnnnnononnnnnnnonnt~}pnnnnnnnnnnnnnnnnnnnnnnoowxonnnnnnnnnnnnnnnnnonnnnnnnnnnnnnnnnnnnnnnonnnnnnnnonnnnr~{pnnooonnnnnnnnnonnnnonoxvonnnnnonnnnnnnonnnnnnnnnnnnnnnnnnnnnnnnonnnnnnnnnnnnnnnnnonnnnnnot~wononnnnnnnonnnnnnnnnnnnnnnnnonnnnnnonnnonnnnnnnnnnnnnnnnnnnnnnonnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnt~~tnnnnnnnnnnnnnonnnnnnnnnnnnnnonnnnnnnnnnnnnnnnnnnnnnnnnnonnonoonnnnnnnnnnnnonnnnonnnnnnnnnnnou~~snnnnnnnnnnnnnonnnnnnnnnnnnonnnnnnonnonnonnnnnnnnnnnnnnnonnnnnnnnnnnnnnnnnnnnnnnnnnnnnonnnnonnnnnnnnnnnnnnnnoonnnnnnnonnnnnnnnnnnnnonnnnnnnnnnonnnnnnnnnnnnononnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnonnp~wonnonnnnnnnnnnnnnnnnnnnnnnonnnooonnnonnnonnnnnnnnnnnonnnnnnnnnnnnoonnonnnnnnnnnonnnnnnonnnnnnnnonnnnnnnnnnononp~wonnnonnnnnnnnononnnnnnnoonnnnnonnnnoonnnnnnnnnnnnnnoonnnnnnnnnononnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnow~tonnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnp{~pnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnp~~unnnnnnnnnnnnnnnnnnnnnnp~~unnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnotz~zpnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnp}~tonnnnnnnnnnnnnnnnnnnnnno{tonnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnp}~qnnnnnnnnnnnnnnnnnnnnnp{~snnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnot~wonnnnnnnnnnnnnnnnnnnnnnnnnnnnnonnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnonnnnnnnnnnnnnnnnnnnnnnnt~~tonnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnonnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnos~~uonnnnnnnnnonnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnonnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnoonnnnnnnnnnnonnnnnnnnonnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnp~wonnnnnnnnnnnnnnnnnnnnnnnnnonnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnonnnnnnnnonnnnnnnonnnnnnnnnnnnnnnnnnnnnnnnonnnnp~wonnnnnononnnnnnonnnnnnnnnnnnnnnnnonnoonnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnonnnnnnnnnnnonnnnnnnnnnnnnnonnnnnnoonnnnonnnnnnonnnnnonnonnnnnnnnnonnnnnnnnnnnnnnnow~tonnnnnnnnnonnnnnnnnnnnnnononnnnnononnnnnnnnnnnnnnnnnnnnnonnnnonnonnnnonnnonnnnnnnnonnnonnnnnnnnnnnnnnnnnnnnnnnonnnononnnnoonoonnnnnnnnnnnnnnnnnonnnp{~pnnnnnnnnoonnnnnnnnnnnonnnonnnnnnnnnnnnnnnnnnnonnnnnnnonnnnnnnnnp~wonnnnnnnnonnnnnnnnnnnnp~wonnnnnnnnonnnnnnnnnnnnnnnnnnonnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnonnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnopv|~ronnnnnnnnnnnnnnnnnnnonnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnozwonnnnnnnnnnnnnnnnnnnnnnq~~qnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnoytnnnnnnnnnnnnnnnnnnnnnq~|pnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnot~wonnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnt~~tonnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnp~wonnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnmnnnnnnnnnnnnnnnnnnnnnp~wonnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnp~wonnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnonnnonnonnnnnnonnnnnnnnnnnnnnononnonnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnonnnnnnonnonnnonnnnnonoonnnnnnow~snnnnnonnnnnnnnnonnnnnonnnnnnnnnnnnnnnnonnnnnonnnnonnnnnnnoonnnnnnnonnnonnnnnonnonnnnnnnnonnnoononnnnonnnnnnnnnnonnonnnnnnnnnnnnnonnnnoonnnnnnononnop{~pnnnnnonnnnonnnnnnnnnoonnnnonnonnnnnnnononnnnnnnnonnononnnnnnnonp~wononnononnnonnnnnoonnnp~wonnoooonnononnnonnnoonnnnnnnnonnooonnnnnnnnnnoonnnnnnnnnnonnnnnnnoonnnnonnnnnnnnonnnnnnonnnnnnnnnnnnnononnnnnnnononnnnnononnnnnnnnnnnnnnnnnnnoonnnnnnnnonnorzxononnnnonnnnnoonnonoonnnnnonnnnnnnnnnnnnnnnnnnnnnnnonnnnovzpnnnnnnnnnnnnonnnnnnnnou{pnnnnnnnnonnonnnnnnnnnnnnnnnnnnnnnnonnonnnnnnnnnnnnnnnnnnuxonnnnnnnonnnnnnnnnnnot~ypnnnnnnnonnnnnnnnnnnnnnnnnnnnnnnnonnnnnnnnnnnnnnnnnnnnnnnnnnnnonnot~wonnnnnnnnnnnnononnnnnnnonnnnnnnnnnnonnnnnnnnnnnnonnnnnnnnnnnnnonnnnnnnnnnnnnnnnonnnnonnnnnnnnnnnnnnnnnnt~~tonnnonnonnnnnnnonnnnnnnnnonnnnnonnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnonnnnnnonnnnnnnnnnnnp}{pnnnnnnnnnnnnnnnnnnnnnnoonnnnnnnnnnnnonnnnnnnnnnnnnnnnnnoonnonnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnonnnnnnnnnnnnnnnnononnnnnnnnonnnnnnnnnnnonnnnnnnnnnnnnnnnnnnnnnnonnnnnnnnnnnnnnonnnononnnnnnnnnnp~wonnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnonnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnp~wonnnnnnnnnnnonnnnnnnnnnnnnnnnnnnnnnnnoonnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnoonnnnnnnnnnnnnnnonnnoonnnnnnnnnnnnnnnnnnnnnnnnnnonnnonnnnnnnnnnnnnnnnnnnnnnnnnnnnnow~snnnnnnonnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnonnnonnnnnnnnnnnnnnnnnonnnnnnnnnnnnnonnnonononoonnononnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnoop{~pnnnnnnonnnnnnnnnnnnnnnnnnnnonnonnonnnonnnnnnnnonnoonnnnnnnnnnnnp~wonnnnonnnnnonnoonnnnnnp~wononnnonnnnnnnnnnnnonnonnnnnnnnonnnnnnnnnonnonononnnnnonnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnonnnnnnnnnonnnnononnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnonnononnnnnonnnnnpv~}pnnnnnnnnnnononnnnnnnnonnnnonnnnnnonnnnnnnnonnnnnnonnnnnos~}pnnnnnnononnonnnoonnnnpywonnnnnoooonnnnnonnnonnnnnnnnnnnnnonnnnnnnnnnnnnnnnnnnnnnnq~{pnnnnnnnnnnnnnnonnonowuononnonnnnnonnnnnnnnnnnnnnnonnnnnnnnnnooonnnonnnnnnnnnnnnnnnnnnnnot~wonnnonnonnonnnnnnnnnnnnnnnononnnnnnononnnnnnonnnnnnnnnnnonnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnonnonnnnonnnnot~~tonnnnnnnnoonnnnnnnnnnnonnnnonnoonnnnnnnnnnnnnnonononnnononnononnnnnnnnonnnnnnnnnnnnnonooonnno{|pnnnnnnnnnnnnnnnnnnnnnonnnononnnnonnnnnonnnnnnoonnnonnnnonnnnnonoonnnonnnoonnnnnnnonnnnnnonnnnnnnnnnnnnnnnnonnonnnonoonnnnnnnnnnnnnnnnnnnnonnnnoonnnonnnnnnnnnonnnnnonnnonnnnnnoononnoonnonnonnnnp~wonnnnnonnoonnnnonnnnnnnonnnnnnonnnonnnnnnnnnnnnnnnnnnnnonnnonnnnnnnnnnnnnnnnnnnnonnnnnnnnnnnnnnnnnnnnnnnononnnp~wonnnonnnnnnnnonnnnnnnonnnonnnnnnnnnonnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnow~snnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnp{~pnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnq~wonnnnnnnnnnnnnnnnnnnnnq~wonnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnonnnnnnnmot}uoonononnnnnnnnnnnnnnonnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnp|~sonnnnnnnnnnnnnnnnnnnnp}~sonnnnnonnnnnoonnnnnnnnnnonnnnnnnnnnnnnnnnnnnnnnnnnnnnonnnp{~qnnnnnonnnoonnnnnnnnp{~qnnnonnnnnnoononnnnnnnonnnnnnnnnnnnnnnnnnnnonnnonnonnnnnnnnnnnnnnnot~wonnnnnnnnnnnnnnnnnooonnnnnnnnnnnnnnnnnnnnnnnnonnnnnnnnnnnnnnnnnnnnnnnnnonnnonnnnnnonnnnonnnnnnnnnnnnnnot~~tonnnnonnnnnnnnonnnnnnnnonnnonnnnonnnononnnonnonnnnnnonnnonnnnnnnnnnnnnnnonnonnnnnnnnnnnnnnnnow~qnnnnonnnnononononnnnnnnnnnnnnonnnnnnnnnnnnonnnnnnonnonnnnnnnnnnnnnnnnnonnonnonnnnnnnnnnnnonnnnnnnnnnnnonnnnnnnnoonnnnonnnnnnnnnnonnnnnnnooonnnnnnnnnnnnnnnnonnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnonnnp~wonnnonnnnnnnnnnnnnnnnonnnnnonnnnnnonnnnnnnnnnnonnnnnnnnnnnnnonnnnnnnnnnonnnnnonnnnnnnnnnonnnnonnnnnnonnoonnonop~wooonnnnonnonnnnnnnnnnonnnnnnnnnnonnnnnnnnnnnnnnnoonnnnnnnnonnnnnonnonnnonnnnnonnnnnnnnnonnnnnnnnnonnnnnonnnnnnnnnnnnnnnnnnnonnnnnonnnnnnnnnnnononnnnnoonnnnnnnnnnnnnnnnow~toonnnnnnnnnnnnnnnnnnnnonnnnnnnnnnnnnnnnonnnnnnnonnnnnnonnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnonnnnnnnnnonnnnnnonnnnnnonnnnnonnnnnnnnnnnnnnnnnnnnonnnnnonnnp{~pnnnnnonnnnnnnonnnnnnonnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnonnnnonnot~wonnnnnnnnnnonnnnnnnnnos~wonnnnnnnnnnnnnnnnnnnonoonnnnnnnnnnnnnnnnnnnnnnnonnnnnnonnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnot|zonnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnoyvonnnnnnnnnnnnnnnnnnnos~}pnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnox~uonnnnnnnnnnnnnnnnnnp~{pnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnot~wonnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnot~~tonnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnou~~tonnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnonnnnnnnnnnnnnnnnnnnnnnnnnnnnnnonnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnonnnnnnnnnnnnnnnnnnnnnnnnp~wonnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnp~wonnnooonnooonnnnonnnnnnnnnnnnnnnnnnonnnnnnnnnnnnnnnnnnnnnnononnnnnnnnnnnnnnnooonnnnnnnonoonnnnnnnnnnnnnnnnnnnnnnnnnnonnnnnnnnnonnonnnnnoonnnnnoonnnnnnnnnnnnnnnnooonoonow~tonnnnnnnonnnnnnnonnnnnnnnononnnnonnnnnnnnonnooonnnonnnnnnnnnnnnnnnonnnnnnnnnnnnnnonnonnnoonnnnnnnnnonnnnnnnonnnnononnnnnnoonnnnnnonnnnnnnnnoonnonnnp{~pnonoonnnnnnnnonnnnnnnononnnnononnnonnnnnnnnnnnnnononnnnnnnonnnot~wonnnnnnnnnnnnooonnnonnt~wonnnnnnnonnonnnnnonnnnnnnonnnnnnnnnnnnoonnnnnonnnnonnoononnnnonnnnonnnnnonnnnonnnnnnnnnnonnnoonnnnnnnonnnnnnnnonnnnnnnnoonnnnononnnnnnnnnnnnnnnnnnonnnnnnonooonnr|~qnnnonnnnnnnnnnnnnnnonnnnnonnoonnnnnnnnnnnnonnnnonnnonnnouyonnnnononnnnonnnnonnovypnnonnnnnnnnnnnnnnnnnnnnnonnonnonnoonnnnnnnonnnnnnnnnonnnnotxonnnnonnonnnnnnonnot~xonnnnonnnnnnnononnnonnnnnonnnnnnnnnnnnnnnonnnnnnnnnonnnnnnnnnonnonos~wonnnnnnnnnnnnnononnnnnnnnnnnnnononnnnnnnnnnnnnnnnnnnnonnnnnnnnnnnnnnonnnnnnnnnnnnnnnnnnnnnnonnnnnnnnnnot~~tonnnnnnnnnnnnonnonnnnnoonnnnnnnnnnnonnnnnnnnnnnnnnonnnnnnnnonnnnnnnnnnnnnnnnnnnnonnonnnnnnnnor~wpnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnonnnnonnnnnnnnnnnnonnonnnnnnnnnnnnnnnnnnnnnnnnnnnnonnnnnnnnnnonnnnnnnnnnnnnnnnnnnnnnnnnnnnnnonnnnnnnnnnnonnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnonnnnnnnnnnnnnnnnnnnp~wonnnnnnnnnnnnnnnnnnonnnnnnnnonnnnnnnnonnnnnnnnnnnnnnnnnnnnnnnnnnnnonnnnnnnnnnnnnnnnnnnnnnnnnnnonnnnnnnnnnnnnnnp~wonnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnonnnnnnnnnnnnnnoonnnnnnnnnnnnnonnnnnoonnnoonnnnnnnnnonnnnnnnnnnnnnnnonnnnnnonnnnnonnnonnnnnow~snnononnnnnonnnnnnnnnnnnnnnnnonnnononnnnonnnnnnnnonnnonnnnnnnnnnnoonnnnnoonnnnnnonnnnnnnnnnnnnnnnnnonnnnnnnnnnnnonnooonnnnnnonnnnonnnnnonnnnnonnnnnnpz~pnononnnnnnoonnonnnnnnnononnonnnnnnnnnnonnoonnonnnnnnnononnnnonos~wonnnnnnnnnnnnnnnnonnont~wonnnonnoonnonnnnnnnnnnnnonnnnnnnnnoonnnnonnnoonnnonnnnnnonnonnnnnnnnnnnnnnnonnnnnonnnnnnnnnnnnnnnnoonnnnnnnnnnnnnononnnnnnnnnnnnnnnnnnnnonononnnnonnnonnnnnonnnnns}uononnnnnnnnnononnonnnnnnnnnnnnnonnonnnnnnnnnonnnnnnnnooor~|pnnnononnnnnnnnonnnnozvoonnnnnnnnnonnnnononnnnnnoonnonnnnnnnnnnnnnnnnnnnnnnnnnnnnnp}{onnnnnnnonnnnonnonowtonnoonnnnnnnnnnnnnnooonnnonnonnnnnnnnnnnnonnnnnononononnnnonnnnoonos~wonnnnnnnonnnnononnnnonnonnnnnnnnnnnnnnnnnnnnonnoonnnnnnnnnnnnnonnooonnnnnnnnnnnnnnnnnnnonnnnnnnnnnonnnnt~~tonnnnnnonnonnnnnnnnnnnoonnononnononnnnnnnnnnnnnnnnnnnnnnnnnnnonnnnnnnnnnnnnnonooonnnnnnnnnnnnp}{pnnnnonnnnnonoononnnonnnnnnnnnnnnnnnnnnnoonnnnonnnonnonooonnnnonnnnonnnnnonnnnnnnnnnnnnnonnnnnnnnnnnonnnnnoonnnnnnnnonnnnnoonnnnnnnnnnnnonnonnonnnnnnnnnnnnnnnonnnnnnnnnnnnnnnonnnnnnonnnnnnonnoq~wonnnnnnnnnnonnnnonnnnnonnnnnnnnnnnoonononnnonnnnonnnnnnnnnnnnnnonnnnnnnoonnnnnnnnnnnonnonnnnnnnnnnnnnnnnnnnnnnp~wonnnnnnnnnnnnnnnononnnnnnnonnnnonnnonoonnnnonnnnnnnnnnnnnononnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnonnnnnnnnnnnnnnonnnnnnnnnnnow~sonnnnnnnnnnnonnnnnnnnnnnonnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnononnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnonnnnnnnnnnnnnnnnnnnnnnnnnnnnonnnnnnnnnnnnnnnnnnpz}pnnnnnnnnnnnnnnnnnonnnnnonnnononnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnos~wonnnnonnnnnnnnnnnnnnnos~wonnnnoonnonnonnnnonnnnonnnnononnnnnnnoonnnnnnnnnnnnonnnnooooonnnnnnnnnnnnnnnonnnonnnnnnonnnonnnnnnnnnnnonnnnnnnnonnonnnonnnnnnnnnnonnnnnnnnnnonnnnnooonnnnnnnnnnnot~ypnnonnononnnnnnnnonnnnnnnnnnnnnnnnnnnnnnnonoonnnnonnnnnnp|~rnnonnnnnnonnnnonnnnq~~ronnnnnnnnonnnnnnnnonnonnnnnnnnnnnnnnnonnnnnonnonnnnnnnonnnnpz~qnnnonnnonnnonnonno{}pnnnnnnnnnnnnnnonnnnnnonnonoonnnnnnnnnnnnonnonooonnnnnnnnnnnnnnonnnns~wpnnnnononnnnnnnnnnnnnnnnnnnnnnnnnnnonnnnonnnnnoonnnnnnnnnnnnnnnnnonnnonnnnnnnnnnnononnnnnnnnnnnnnnnnnnos~~snnnnnnnnnnnooooooonnnnnnnnnnnnnnonnnnonnnnnnnnnonnonnonnnnnnnnnnnnnnonnnnnnnnnnnnnnnnnonnononpz~pnnnnnnnnnonnnnnnnnnnnnoonnonnonnoonnonnnnnnonnnnnnnoonnnnnnnnnnononnononnoonnonnnnnnnnnnnnnnnnnnnonnnonononnonooonnnnnnoonoonnorrpoonnnonnnnnonoonnnnnnnnnnnnnnonnnnnnnnonnnnnnonnnnnnonnnoononp~wonnonnonnnnnonnnnnonoonnnnnnnnnnnnnonnoooonnnnnnononnnnnnnoonnnnnnnnononnnnonnnnonnnnnnnnnonnnnnnnoonnnnonnnonq~wononoonnnonnnononnonnononnnnnnnnnooonnnnnonnnnnnonnnnnonnnnnnonnnonnnonnonnnnnnnnnonnnnnnnnnnnnnnnnnonnnnnnnnnnnnnnnnonnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnonnnnnonnnnnnnoow~sonnonnnnnnnnnnnnnnonnnnnnnonnnnonnnnnnnnnnnnnnnonnonnnnnnonnnnnonnnnnnnonnnnnnnoonnnnnnnnnnnnnonnnnnnnnnonnonnnnnnonnnnnnnnnnnnnnnonnnnnnnnnnnnnnnnp{}qnonnnnnnnnonnnnonnnnnnnnnnnononnnnnnnnnnnnonnnnnnonnnnnnnnnnnnos~wonnnnnnnonnnnnnnnnnnnot~wonnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnow|pnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnonnonnnnnnnnnnnnnnnnnnnnoxuonnnnnnnnnnnnnnnnnou{pnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnov~tonnnnnnnnnnnnnnnnq~zpnnnnnnnnnnnnnnnnnnnnnnnnonnonnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnos~wonnnnnnnnnnnnnnnnnnnnnnnnnnnnnnooonnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnonnnnonnnnnnnnnonnnnnnnnnnnnnnnnos~~sonnnnnnonnnnnnnnnonnnnnonnonnnnnnnnnnnnnnnnnonnnnnnnnoonnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnow~snnnnnnnnnnnnnnnnnnononnnnnnnnoonnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnonnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnoonp|}{xurpponnnnnnnnnnnnnnnnnnnonnnnnnnnnnnnnnnnnnnononnnnnnonnnonnp~wonnnnnononnnnnnnnnnnnnnnnnonnnnnnnnnonnonnnnnnnnnnonnonnnnnnnnnnnnnnnnnnonnnnnonnnonnnonnononnnnnoonnnonnonnonp~wpnnnnnooonnnnnnnonnnnnnnnnnnnnnnnnnnnnnnonnnnnnnnnnnnnnnnnnnnnnnnnnnononnnnnnonnnnonnnnnnnnonnnnnnonnnnnnnnnnnonnnnnonoonnnnnnonnnnonnnononononnnnnnnnnonnnoonnonnnonnnow~snnnnononnonnnnonnnnnnnnonnnnnnnnnnonnnonnnnonnnnnoonnonnnonnnnoonoonnnnnnnonnnnnnoonnnnnnoooononononnoonnnonnonnnnnnonoonnonoonnnnnnnnnnnnonnnnnnnnp{}pnnnnonnonnnnnonnonnnonnononnonnnnonnnnnonnnnnononnnnnnnnnnnnonos~wonnnononnnonnnnnnnnnnos~wonnnnonnnonnnnnnonnonnnnnonnonnnnnnnonnnnnonnnonnnnnonnnoonnnonnonnnononnonnonnnonnnnnnnnnnnnnonnnoonnonnnnnonnonnnnnononnnnononnnnnnnonnononnnnonnnnnnnnnnnonnnnonpz~qnnnnnnnnnnnnnnnnnonononnnnnnnnnononnnnnnnnnnnonnnononnnouxononnnnnnnnnnnnnnnpyxpnnnnnnnnnnnnnnnnnnnnnnnnonnnnnnnononnnnnnnnnnnnnnnnnnnnnnnnor~wonnnnnonnonnnnnnot~vonnnnnnnonnnonnnnnnnnonnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnonnnnnonnos~wonnnnnnnnnnnnnnnonnnnnnnnnnnnnnnnnnnnnnnnnnonnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnonnnnnnnnnnnnnnnnnnnnnnnnnos~~sonnnnnonnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnos~vonnnnnnonnnnnnnnnnnonnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnoononnnnnnnnnnnonnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnoos~}{xurpoonnnnnonnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnq}wonnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnq}wonnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnoooonnnonononnononnnooonnnnnnnnnonnnonnnnnnnnnnnnonnnnonnnnnoonnoonnononooonnnnnnononnnnnnononnononnnow~sonnnonnnnnooonnnnnnnnnnnnnnnnnonnnnnnnoonnoonnnnnnnnnnnnnonnnnnnnnnnnnnnnnnnnnonnonooonnononnnnnoonnnnnnnnnnnnonnonnnnnnnnnoonnnnoonnnonnnnnonnnnnnp{}pnnnonnnoonononnnonoonoonoonnonnnoononnnnnnnnnnnnononnonnnnnnnoor~woonnnnnnnonnnonnnnnonnr~wpnnnnnnnnnnonnonononnnnnnnnnnnnnnnonnoonnoonnnnnnnnnnnnnnnnononnnnnnnnonnonnnononoonnnnnnnnoonnoonnonnonnnnononnnnnnonnnnonnononnnnnooonnonnonnnonnnnnnnnonnnnnoonnns}uonnnonnnnononnonnnnnnnnnnnnnonnnnnnnonnonnnnonnnnnonoonnq~|pnnnnnnnnnnnnnnnonp|toonnnnnnonnnnnnnnonnnnononnnnonnnnonnnnnnnnnnnonnnnnnnnnnnonop|zpnnnonnnnnnnnnooow~snnnnnnnnonnnnnnnononnnnnnnononnnnnooonnonnnnnnonnonnnnnnnnnnnnonnnnos~wonnnnonnnnonnonnonoonnnnnnnnnnnnnnnonnnnnnnnnnoonnnnonnnnnnonnnnnnnnnnnnnnonnnnnnnnnoonnnnnnnnnnnnnonnos~~tonnnnnonnnnnnnnonnonnnonnnoonnnnnnnnnnnnnnnnnnnnnnnnnonnnnnnnononnnnnnnnnnnnnnnnnnnonnonnnnonnq~zononnnnnnnonnnnnnonnnnnnonnonnononnnononnnnnnnnnnnnnnnnonnnnonooonnnnnnnnnnnnononnnnnnonnonnnoonnoonnonnnonnnnnnnnnnonnnnnnnoov~{xurpoonnnnnnnnnnnnnonnnonnnnoonnnnoonnnnnonnnnonnonnnq~wpnnnnnnnnnnnnnonnnonnonnoonnnonnnnnnnnnoonnnnonnnonnnnnnoononnnonnnnnnnnnnnonnnnnoonnnnnnononnnoonnnonnononnnnq}wpnnnnnnoonnnnnnnnnnnnononnnonoooonnnnnonnonnonnnnnnnnnnnnnnnnnnnnnnnnononoonnnnoonnonnonnnnnnonnnnnnnnnnnnnnnnnnnnnnonnnonnnnnnnnnnnnnnnnnnnonnonnnonnnnnnnnonnnonnnnnnpw~tonnnnnonnnnnnnnnnnonnnnnnnnnnnnnnnnnonnnnnnnnnnnnnnnnnnnnnnnnnonnnonnonnonnnonnnnnnnnnonnnnnonnnnnnnnnnnnnononononnnnonnnnononoonnnnnoonnnnnnonnnnnp{~qnnnnnnnnononnnnonnnnonnnnnnnnnnnnnnnnnnnnnnnnnnnonnnoonnnnnnnnnq~wonnnnnnnonnnnnnonnnnnop~wpnnnnnnonnnnnonnnnonnnnnnnnooonnnnnnnnnooooooopppqqqpoonnonnnnnnnnnoooonnonnonnnonnnnnnnnnonnnoonnnnnnnnnnnnnnnonnnnnnnnnnnnoonnnnnnonnoonnononnnnnnononnnnnnonnnnonowxononnnnnooonnnonnnnnnnnnnnnnnonoonnnoonnnnonononnnnnnnnnp{~qononnonnnnnnnnnnor~}qoooonnnonnnoononnnnnnnonnnnnnonnnnnonnnnonnnoonnnnoonnnonnnnopy}pnnnnnonnnnnnnnnpz|pnnnnnnnnnnnnnonnnonnoononoononnnnnnnoooononnnnnnnnnooooonnonnonnnnnot~wooonnnnnoonooonoonnnnnnnnooonnnnnnoonnnononnnnnnonnoonnnnonnonnnnnoooonnnnnnnoonnnnnnnnnnnnnnnnnnnnnnnns~~tnnnnnoonnnnonnoonnnnnnnnnnonnnnonnnnnnnnonnnnnonnonnonnnnnnnnnnnoonnnnnnonnonnnnonnnnonoonnnonp{~qnnnnnnnnnnnonnnonnnnonnnnnnnnnnnnnnnonnnnnnnnnnoonnnnnnnnnnnoooonnnonnnnnnonnnnonnnonnonnnoonnnnoooonnonnoonnnonnnnnnnnnnonnpz~{xurpponnnnnnonnnnnonnononnononnnnnnnonnononnonnonq~wonnononnnononoonnonnnnnnnnnnnonnonoonnoonnnnonnnnonoonnnnonnnonnnnnonnoonnonononnnnnnoonnnonnnooonnnnnoonnnonnq}wonnonnnnnnonnnonnnoonnnnnnnonnnononnnnnonnooonnnnnnnnononnnnnnnononnnonnnnnnnnnnonnnnnnnonnonnnnnnnnnnnnnonnonnnnnnnnnnnnnnnnnnoononnnnnnnnoononnnnnnnonnnnonnnonnnnnnopw~toonnnnnnnnonnnnnonnnnnnnonnnnnnnnnnnonnnnnonnnnnnnnnnnnnnnnnnnnnnnnonnnnnnnnnnnnnnnonnnnnnnnnonnnnonnnnnonnnnnnnnnnnnnnonnnnnnnnnonnnnnnonnonnnnnnnp{~qnnnnnnnoonnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnq~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~|uonnnnnnnnnnnnnnnnnnnnnq~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~|uonnnnnnnnnnnnnnnnnonnonnonoooopoppppqqrtttwwwyz{{}~}voonnonoonnnnnnnnnnnnnnnnnnnnnnnnnnnnonnnnnnnoonnnnnnnonnnnnnnnnnnnnonnnnnnnnoonnnnnnnnnnnonnonnnnnnnnnnnnnnoonnnq}zpnnnnonnnnnnnonnonnnnnnnnnnnnnonnnnnnnnnonnnnnnnnnnnnnnnow~tonnnnnnnnnnnnnnnovzpnnnnnnnnnnonnnnnnnnnnnnononnnnnnnnnonnnonnnnnonnnnonnnnnnnnonou~sonnnnnnnnnnnnonp}ypnnnnnnnnononnnnnnnnnnnnnnonnonnnnnnnnonnnonnnnoonoonnnonnonoonnnnnnot~wononnoonnnnnnnnnnnnnnnnnonnnnonnnnnnnnnnnnnonnnnnnnnnnnnnnnnnonnnnnnnnnonnnnnonnnononnnnnnnononnnoonnnot~~toonnnnnnnnnnnonnnnonnnoonnnnnonnnoonnnnnonnnnnnnnnnnonnnoonnnonnooonnnonnnnonnnnnnnnnnnnnnnnnnowuonnnonnnnonnnnnonnnnnnnnnnnonnnoonnnonnooonnnnnnnnnnononnnnnnnnnonnnonnnnooonnonooonnnnnonnnoonnnnnnnnonnnnonnnnnnnnnonnonnnp}~{xurpponnnnnnnnnnnnnnononnnnnnnnnnnnnnnonnnnnnq~wonnnnnnnnonnnnnnononoonnnnoonnnonoonnnnnnnnnnnonnnnnnnnnnnnnnnnnnnnonnnnnnnnnnnnnnnnnnnonnnnnnnnnnnnnonononnnnq}wonooonnnnnonnnnonnnnnnnnnnnnnonnooonnnnnonnnnnnnnnnnnnonnnnnnnnnnnnnonononnnnnnnnonnnnoooononnnnnnnnononnnnnnnnnnnnnnonnonnnnnnnoonnonnonnnnnnnonnnnnnnnnnnoonnnnnnonnnpw~toonnoonnnnnnnnnnonnonnnnnnnnonnnoonnonnnonnnnnnonononnnnoonnnnnnnoooonnnnnnonnnonononnononononnononnnnnnonnnnnnnooonnonononnnnoonnnnnnnnnonooononnnp{~qonnnnnonnnnonnnnnononnnnnnnnnnnnonnnonnnonnnnonnnnnnoonnnnnnnnnq~wrpqqqqqqqqqqqqqqqqqqqqqqqqqqqpqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqpqqqpqqqqqqqqqqqqqqqqqpqqqqqqqqqqqpqqqqqqqqqqqqqqqonnnnnnnnnnnnnnnonnnonnq~wqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqpqqqqqqqqqqqqqqqqpqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqpqqqpqqqqqqqqqpqqqqqqqqqqqqqqqqqqqqponoonnnonnnonnnnnnnoonnnnorttuwwxz{{|}~~~~~ypnnnnonnonnononnonnnnnnnnnnnnnnnonnnnonnnnnonnonnonnnnnnonnonnnnnonnnnnnnonnnnnnnnnnnonnnnnonoonnnnnnnonnnnnnnonow|pnnnonnnnnnononnonnnnnnnnnnonnnnnnnnnnnnnnnnnnoonnnnnnnnot~wonnnnnnnnnnnonnnpzvonnnnnnnnnonnnnnnonnnnnnnnnnnnnonnnnnnnnnnonnnnnonnnnnonnnonnnnq~vonnnonnnnnnnnnos~uoonnnnnnnnnnonnnnnnnnnnnonnnonnnnnnnnnnnnnnnonnnnnnnnnnnnnnnnnnnonnnot~wonnnnnnnnnnnnnonnnnnnonnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnonnnnnnnnnonnnt~~toonnnnnnnnnonnnnnnnnnnnnnnnnnnnnnnnnnnonnnnnnnnnnnnnonnnnnnnnonnnnonnnnnnnnnnnnnnnnnnnnnnnnnnnot~xonnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnonnnnnnnnnnnnnnnnnnnnnnnnnonnnnnnnnnnnnnnnonnnonnnnonnnnonnnos~~|xurpooonnnnnnnnnnnnnnnnnnnnnnnnnonnnnnnonq~wonnnnnonnnnnnnnnnnnnnnnnnnonnnnnnnnnnnnnnnnnnonnnnnnnnnnnnnnnnnnnnnonnnnnnnnnonnnnonnnnnnnnoonnnnnnonnnnnonnnnq~wonnnnnnnnnnnnnonnnnonnnnnnnnnnnnnnnonnnnnnnnnnnnnnnnnnonnnnnnnnnnnononnonoonnonnnnonnnnnonnonnnonnnnonnononnononnnnnoonnnonnnnnnnononnonnononnnnnnnnonnnonnnnnnnnnnnnnnow~toonnnnnnonnnnnonnnnononnnnnnnnnnnonnnonnnnoonnnnnnooonooonnoooonnonnnnnnonnonnnnnnnnnnnnonnnnooonnonnnnnnnnnoonnnnnnonnnnononnooonnnnnnnnnonnnnoonnp{~qnnonnnnnnnnnonnoonnonnnonnnonnnonooonononnnnnnnonnnonnnnnnnooonq~wonnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnonnnnnoonoonnonnnnnnnnq~wonnnnnnnnnnmnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnmnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnooonnoonnnnonnnnonnooonpy~~{pnonnnoonnnnnnnnnnnnnnoonnnnnnnnnnnnnnnnnnnnoonnononnonnnnnnnnnonooononnnnnnonnnnonnonnnnnnnooonoonnnnnnononnononr~~pnonnononnoonnnnonnoononoononnnonnnoonnnnoonnnnnnnnnonnnoq~{pnnnnnnnnnonnonnq~~ronnnonnnnnnnonnnnnnnonnnnonnoooonnooooononnnnnnnnnnonnnnonnononp{ypnonoonnnononnow~roonnooononononnnnnnnnonnnnonnononnooonnnonnnnonnnnnoononnnnonnonnonnot~wpnnnnnnnnoonnnnnonnnonnononoonnnnnnnnononnnnnnnonnnnnononnonnoonnnonoonnononnnnnnnnnnnnonnnononnnnnonoot~~toonnonnnnnnnnonnnnonnnoonnnnnonnnonnonnnoonnnonnnnnnonnnnnonnnnoonnnnnnnnonnnnnnnonnnnnnoonnnnop}|ponnnononnonnnnnnnnnnnnnnnnnnnnnnnnnnnnnonnnnnnnonnnnnnnnnnnnnnonnnnnnnnnnonnnnnoonnoonnnnnnnnnnnonnnnonnnnnnononnoonononnnow~{xtonnnnnnnnonnonnnononononnnnnnonnnonq~wonnnononnnnnnnoonnnnnnnnoonnnnnnnnnnnnnononnnnnnnnonnnnnonnnnnnnnnononnnnnnnonnnnnnnnnnnnnnnnonnnnnnnnnnnonnnnq~wononnnnnnnnnnnnnnonnnnnnnonnnnonnnonnonnnononnnnnonnnnnnonnnnnonnnnnnonnnonnnnnnonnonoononnnnnnnnnnnooonnonnnonnnnnnnonnnonnnnnnononononnnnonnnooonnononnnnnnnonnnonnnnow~tononononnononnnonnonoonnnnnnnnnooononnnonnnnonnoononnnnnnoononnnnnonoonnnoonnnnononnnnnooonnnnnnnonnnnnnnoonoononnnoonnnnnnonnnononnnnnoononnonnonnp{~qnnnnnnonnnnononnooonononooonnnnnnnnnnnnnnnnnonnnnnonnnnoonnoonnp~xoonnoooonnonnoononnonnoonnnooonnonnnononooooonnonnononoonnnonnnoonnooononnnnnonnnnonnnnnononnonnnnnnnoonnononnooonononononnnnonnnnnnnnonnnp~xponnnonoonononnnononnnnnnoonnnononnonnnoonnonnnnnonnonnooonooonnnnonnnoononnnnnnonnoonnnononnonnnonnnnnnnnnnonoonnonnononononnonnoonnnonnonnox}pnononnnononnoonnonnonnnonnnnnononononnnnnnnnnoonnnnnnnonnnnonnononnonnonnnnnnnonnoooononnononnnonnnooononnnonnonpz~ronononnnonooononnnnnnnonnnnnnnnnnnonnooonnnononnoonnonnop{~qonnonooononnnnot~|qonoonnonoonnnnnnonnnnnnnnnonnnnnnonnnnonoonnnnnoonononononnnonnox|pnnnoonoonoonnpz|pnnoonnonnnnnnnonnonnonnnonnonnoonnnnnnnnnnnnoononnnoooonnnnnnnnnnnnnot~wpnnnnnnonoonnnnoonooooonnonnnonoonnonnnnnnnnooononnnnoonnonnnonnnoonnnnnnnnnnnonnoonnnnnonnnnnonoonoonot~~toooonnnnnnnnoonononooonnoonnonnonnnoononnnnnonoononnonnnnnnonnnnnnnonnooonnoonnnnnnnnonoonoonnopz~sononoonnnonnnnoonnnnnononnnnonnononnnonnnnnnononnonnnoonnonnnnonnnonnoonnnonnonoonnnnnnnoooonnnnononnnonnnnnonononnnnnnnnop{zononnnnoonnnnonnoonoonnonnononnnnnnq~wpnonnonnoonnnoononnnnnnnonnonnoononnnnnnnonnnnnnnonnnonnnnnnnonnnnnnononnnnonnonnonnnoonnnnnnonnoonnnonnnonnonq~wponnnonnnnnnnonnonnnonnooooonnnnnnnnononoonnnnnnnonnnnnonononnnonnnnnonnnnnnnnnnnnonnnnnnnnnnonnonnnoonononnnnonnnnnnnnnnonnnnononnnononnnnoonnnnonnnnnnnnonnnnnnnonnnoow~tonnnonnonnonnnnnnnnnonnnnnnnnnnnnnnnnnnnnnnnnonnnnnonnnnnnnnnonnnnnnnnooonnnnnnnnnonnnnnnononnnnnnnnnnnnnnnnnnnnnnnnnnnnonnnnnnnnnnnnnnnnnonnnnnnnnp{~qnnnnnnnooonnnnnnnnnnnnnnnonnnonnonnonnnonnnnnnnnnnnnonnnnnnnnnnp|ypnnnonnnnnnnnnnnnnnnnnnnnoonnonnnnnnnnnnonnnoonnoonnnnnnnnnnnnnononononnnonnonnnnnnnnnnnnnnnnnnnnnnnnnonnnnonnnnnnnnonnnnnnnnnnonnnnnnnonnp|ypnnnnnnnnnnnnnnnnonnnnnnnoonnnnnnnnnnnnnnnnonoonnnnnnnnnnnnnoonnnnnnonnnnnonnonnnnnnnnonnnnnnnnonnnnnnnnnnnnnnnnnnnoonononnnnnnnnnnonnnnnnooow~qonnnnnnnnnnnnnnonoonononnnnnnnnnnnnnnnnonnnnonnnnnnoonnonnonooononnonnonnonnnnonnnnnnnooononnononnnnnononoononnnou~tononononnnnooonnnnoonnnonnnnoonnnnnonononnnnnoonnnnnnnonow~soononnnonnnnnnpwypnnnonnnnonnonnnnnnnonnooooononnnnnnnnonnnonnnnnnnnonnnoonnnnnnoot~~roonnnnnnononnp}xonnoonnonnnnnnonnnnnnnononononnnnnnnoonnnnnnonnonnnnonnnnnononoononnoot~wpnoonnnonnnnonnonnoonnnonnnnononnnonnnnonnnnnonnonnononnnnnnononnnnnnnonnnnnnnnnnnnnnonnonnoooonooonnnot~~tonnonnnnononnnonnnnnnnonnnnnnnnonnnonnonnnnononnnnnnnnnonnnonnnnonnnnnnnnoononnnoononnnnnnnonnopvxonnnonnnnonnnnnnnononnnnnnnnnnnononnnnnonnnnnnnoonnnnnoononnnnnnnnnnooonnonnnononnonnononnnonnnnnnnonnnnnnnnnnnnonnnnonnnor~yonnonnnnoonnnnnnonnnnnnnnnnnnoonnooq~wpnonnnnnoonoooonononnnnnnnnnnononononononnnnnnoooonnonnnnoonnnonononnnnnnnonnonononnnnnnononnnnononnonnnnonnnnp~wonnnnnonnonnooonnnnnonononnnnnnnnnnnonnnonnnnonoooonnonoonnnooonnnonnnonnnoonnnnonnnnnnnnnnnoonnnnononnonnnonnnonnnnnnnonooononoonnnnononnnnonnoonoonnnnnonnnnonoonnnonow~tonnonnnnnnnnonononnoonooononnnnnnnnonnnnnoononnnooonnnnnnoonnnonnnonnoonnnnnonnnnnnnonnnnnonnnnonnnnnnnnnnnoonnonnonnnnnnnnnnnnnnoonnnnonnnnnnnnnnnp{~qnnnonnnonononnnnnnnnnnnnnonononnnnnnnnnnnoonnnnnnnnnnnonnnnnoonp{{pnnonnnonoononnonnnnnnnnnnnnonnnnnnnnnnnonoonnononnnnnnnnonnonnnnnnnoonnonnnnnnnnnnnnnnonnnnnnnnoonnnnnoonnonnonnooonononnnnnnonnnnnnnnnnop{{ponnnnononnnnnnnonnnnnnnnnnnnnoonnnnnononnnnnoonnoonnonnnonoonnnnnnonnnnnnnnnonnonnnnnooonnonnnnnnnnnnnnnonoonnonnnnnnnoonnnnnnonnnnnonnnnnnow~tonnnononononnnnnnnnnnnonnnnnoonononnnnoonnnnnnnnnonnnnnnnnnnonnnnnnnnnnnoonnnnnnnnnnonnnnnnnnnnnnnnnnonnnnnnnnonor~~tonononnnnnnnnnnnnnoonnnnnnonnnnnnnnnnnonnnnnononnnonnnnnos~vonnnnnonnonnnnp{uoonnnnnnonononnnnnnnnnnonnnnnnnnnnnnnnonnnnnonnnnnnnnnnnnnnnnnnooq}~uonnonnnnnonnos~~tonnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnoonnnonnnnnnnnonnnnnnnnnnnnnnonnnnnnoot~wonnnnnonnonnonnnnnoonnnnonnnnnonnnnnnonnononnnnnnnnnnonnnnoonnonnnnnoonnoonnonnnnonnnnnnnnnnnnononnnnoot~~tonnnnnnnnnnnnnnoonnonnononononnononnonnnnnoooonnnnnnnnonnnnnnonnnnnnnnononnnnnnnoonnnnnnonnnnnoor~|qnnnnononnonnnnnoooonnnnnnnnonnnnnnonnnnnnnoononnnnnnnonnnnnnnonnnnnnonnnnnnnnnnnnnooonnnnnnnonnnnnnnoonnonnnnnnnnnnnnnnnovuoonnnnnnnnnononnnnnnnnnnonnnnononnoq~wpnnnononnnnnnnnnonnonnnonnoonnnonnnnonnnonnnnnnoonononononnnnnnnnnnnonnnnononnnnnonnnnoonnnoooonnnonnnnnnonnnoq~wpnnnonnnnnnnnnnnononnnnnnonnnnnnnnoonnnnnnononnnnnnnooonnonnnnonnnnnonnnnnnnooononnnooonnoonnnononnoonoooonnnnnnnononooonnnonnnnnonnooonnnooonnonnnnnnnononnonnonnonooopw~tononnooonnonoononoonnoonononnoononnoonnnooooonnononnonoonnonoooonoonoonnnonoonnnnnnnnnnonnonooonooonnnooonnnoonnonnnnoonnnnonoononooonooonnonnnononp{~qnononnonnoooonnnnnnnnnonnnnnnnoononnonnnnononononoononnnnonnnoopz|pnoonooononnnnnnnnoonnononnnnoooonnonoononnonoonnnonoooooonnnnonnnnnnnonnooooonnnnnnnnnnnonnnoonnnnoonnnnoonnoonnnnnonnnonnoooonnnnnnoonnnp{|ponooonnnnnnnonnonnnnononnonoonononnonnnoonnonnnnononnooonnnoonnonnnnnnonnoonnnnnonnonoonnnoonnnnooonnnnonoonnononnnooooonoonononoonoononnnnowwonnoonnnnonnnnnonnonnnnnnnnnnonnnnnonnnnnonnonnnonnonnooonnnnnoonnnnnnoonnnnnnnoonoonnnonnnnononnnonooonoonnnnonop|vonnnooonnonoooonnnnnnnnonnonnnnonnonnnonnnnnnnnnoonnnnnnoq}ypnonnononnnnnoq}~qonnnnnnnnnnnnnnonnoonooononononoooonnnnnononnnnnnnonnnnnnonnononnpzxpononoonnnnnov}qnooonnnnnnononnnnnnnonnnnnnonnononnonnnnonnnnnnnnnonnnnnnnoonnnononooot~wononnnnnonnoonnnoonoonnoononnonnnnonnooonnnnnnnnnnnnnnnnnonnonnnnnnnonnnonoonnnnnnnnnnnonnnnnonnnnnonoot~~tonnnnnnnnnnooonnnnnnnnononnnnnoonnoononnnnnnnononnnnnnnnnnnnonnnnnnonnnonnnnnnnnnnonoonnoononnnop{sonnoonnnnnoonnonnonnononononnnnnnonnnnnnnnnnoonnonnnononnnnnnnonnnnnnoonnnnonnnnononnnnnnnonnnnnnnnnnnnnoonnnnnononnnnnnpz~qnonnnnnooonnonnnnnnnnnnnnnonoonnonnp~wonnnonnnnnnnnnoonnnnnnnnnnnnnnnnonnnonnnnnonnnonnnnoonnnnononnonnnnnnnnnnnnnnnnnnonnnnoononnnnnonnonnnonnnnnnnq~wonnnnnonnnonononnnnonoonnnnnnnnnnnnnnooononnonnnnnnnnnnnonnnnnonnnnnoonnnnnnoonnnonnoooonnnonnononnoononnnonnnnnnoonnnoonnononnonnonnoononnoonooonnonooooononnnnoooonoopw~tonnonnoononnnnoononnonnnnnnononnooooononnnonnnnonooonononnooonnononooooonnononnoonnooonnnnnnonoonnooonnnonooononononoonooonnooonooooonnnoonnnnononop{~qnnnononoononnnonnoononnnnnonooononnnnonnoonnnonononnnnnooonooonox~pnnooononooononnonoooooonnnonnonnnoonnoonnnnnnnnnoonnnnnnooooonnoononononnonooonnonnooonnnnonoononoononnnonnnononnnnonnonnonnnnooonnnononopx~pnnonnoononnonnnnoooooonoooononnnoooononnonooonnnnnnonnnoonnonoonnonnnonnooononoononononnoonnnooonnoonnnnonnnnononnonoononnoonnnonnonnnonnnnot~zpnnnonoonoooononnonnooononnnononoonnnnnnnnnnnonnnonnnooooooonnnnonnoonnnnnoonnnnooonononnnooonnnoooooonoonoonnnnnpywpnooooooonnonnooooooonnnonononnonnnonoonnonooonononnnnooopz|pnoonnnooonooot~{pnnonnnonoononnnnnnnonononononnoonoonnonnnnoonoonoonnonnnnnnnnoonoov{poononoonoonpyzpoooooonoononoonoononnnonnonnnnoonooooononnoonnnnonnnnnnonnnonnonoonnoot~wonoonnnnoooonnooonnnnonnnoonnoonnnnooonnoonnnoonnnnnoonnnnoonnnnoonnnnnoonnoooonnnonnoonnnonononnonnnnot~~toonnnnnnnnnnnnonnooooonnonnnnnnoonnonononooonnoooonnnoonnnnonnnonnnnnnnonnnonooonnnooonnoonnnonnovxponnnoonnonnoonnonnnonnnnononnoooonnnnnnonnnnnnnnonooonnoononnonnooooonoonnonnonnnnnnnnoonnonnnononnnnoooononnonnooonnoor~zpnooononoonnnoonoonooonnnnnnnonnononp~wpnonnnnonnnnnnnnnnoonnnnooonnnnnnnnnnnnonooonnonnonooonnnnnnoonnnnooononnonooononnnnnnnnnonnnnnnoonononnnnnoooq~wonnnnonnnnononnnoonnoononnnonoonoonnnnonnonnnnnnoononnnnoooonnnononooononnnoononoooonnonooononnonnonnnoononoonnnoonnnononooooonnononooonnnoonnonnonnnonononoonnnnnnnonopw~tonononnnonoooononnononnnoonnnononnonnnononnoonoonnooonnoonononoonooononnnnononoonnnnoooonoononoooononnooonoooononnnnooonnnnonoonooonnoononononononoq{~qooonoonnnnoonnnnnnnonooooonnnnnnnnoonnonnonoonnnnooonnnonooonnnpw~roonooonnoonooononnnnnnnnonoononooonnononononnnonnonoonnnnononnnonooooooonnnnonnnnonnnnnnnonnononnnnnononnonoonnnonnoonnoonnonnnnonnnnooonpw~ronoonooooonnnnonnoonnnooononnoooonooooonoonononnnnnnnoonnnnonnonoonnonnonnooonnnnonnoonnnnononooooonnooonnoonoooonnoooooonnoononnnoonnnoonnnt~|qnononnnonnononnonoonnoonnoonnonooonnoonoonoooonoonoonnnonnoonooooonoonoonnononoooonnoonnoonnonoonnooonnonnnnonnnowwpooonnnonnnnonooooonoooonnnnonnnoononoononnnonoooonnnoooopv~ronnnooonnnonpwxonnnonooonnnonooonnnnnonoononnoononoonoooooonooonnnnoonnnnoonononoor~}qonoooooonnnq|vooooonnoonoonooonnnonooononnnnoooonnooonononoonnooooonoooononnnoooonnnot~wpnooonnnnnononnoonnooooononnooooooonoonnnononnnonnnonoonnnnnnooonnnoooonnnonononnnnononnonnonnnnonoonnot~~tonnoononnnoonnnnnononnooonoonnoonnoooonnonoonnoonnnnonnooonnoonooonnononnonooooonnooonoooonnnonoor~}qonnnnononnnnnnnonnonnnnnnnnnonnnoooonnnononnonnnoononnonooonnnoononooonnonononnooooononnonnooonnnoonooonnnoonnnoooonooovvpoonooonoonoonnoooononoonnnnoonnnnonp~wonnoononnnoonononnnnnnnnoonoonnoonononnooonononononnnnonnonnonnoonoonooonnonnonnnonnoonnooooooonnnnonnonoononoq~wonoonnonnnnonnnnonnnnnnnnonnnooonooonnnnnonnnooooooonnnonnonoonnnnonnonnonononnonnoonnnnnnnnoononnonnononoonnnonnnononoonoonnoonnoonnononononoonoonnonnnnnononnnnnnonnnpx~toooonnonooonnnnnnnononnnnnnnnnononnnoonnoononnoonnnnoonnonnooonoononnonnoooooonnonnoonnoonnnnononononnononnnnononnonnnoooonononnoonooononnonnononnop{~qnnnnnnnnnnoonononnnonoononnnooonnoonnononnnnnnnnoooonnnnnnonnnoov~toonnnnnnonnnoononnnnnnoonnnonoonoonnoooonoonnnnnnnooonnnoooononnnoonooonnnnnnnnonnnnooonnnnonnnonooononoonnoonoonnnonoononnoonnnnonnnooonov~toonnonoonnnnnoonoonnnnnonononnnnnooonnoononooonnnonononnnononooooonnnnoonoonnnnoonnnonoonnonnononononnooonnoononnooooononnoonoonnonooonnnonor~~ronnonnononnoonooonnnnnnoonnnonoooonnnnnnooonnnoonnonnnnnnoooooonnoonooonnonnnooonononnnnnnnnonnnnnnnnoonononnnonot~wpnooonnnoonnnnnnoonnnnooonnoonooonnnnnnnnnonoonnnnonoooooor~~uonnonoonooonp{~tononnnoonnonoooonoonnonnooononoonoononooonnnnooonnonnononononnonoonp|~sonnnnooonnor~~roononnonnoonnnnnnnonooonnnonononoonnnnnoonooooooooooooonononnnonnnnonoot~wponooooonooonoonnnnnonnonnonnnnnnnonnnnnnnoonnnoonnonnnnnononnnnonoonnonnnoooonnnonooooonnoonnoonnnoooot~~toononnnnononnnnnnnnononnonnnonnonnnnoonnnnnnnnnnonnnnooonnonoonnonooononnononnononoooonnnnnnnoooop|vonooonnnoonnnnnnnnonoonooononnnoonnnnoonnononononnonooonooonnnnnonnoonnoooooonnnnonnooooononoononnoooonnooooooooonnoooq{~roonooonnnooononnnnnnnoonononnonoooonq~wpnnnonooononnnooonnonnooonnonononooonoonnnnnnnoonnoonoooonoonnooonnnoooooononnnnoonnnnooonnoonnnnonooononnnnnnq~wpnonooononnonoooonnnnnnooooooooooonnoonnoononoonnnooonnooooooonoonooooonnnnoooooonooonnnoonnoonononooooononnnooooonoooonnoonnnooooonnonnononoonooonnooooooooonoooooooonpx~toonooonnononoonnnnnnoonnooooonooooooooooooooononnoooooonnononoooooonnoooooooonooonnoonooooononnnnooooonnnoononnnoonnoooooononnooonnooononnnoononoonp{~qnoonnonnnooonoooooononooononnnnononononnnnooononoooononoonnnnnoot~voononnnonnnooonoononnnoonoononooononnooonooononnnnooononnnoononooononooonnononnonoonnoooonooooonnonnnnoooonnonononooonnooooonnoonnnnooonoot~wonnoonooooonnnnooooonononoonnonnonnooonnonononooonnnnonnnnnononnnonnnonooonnoononononnnnooooonoonnonoonoooononnonnnnnononoonoonnnnnnnnnoooooq~vononnonnoonnoonnoooonnnnonnnnnnononoonnnoononnnooonnnnoonnoonnnnnoonoonnonnonnonooonooooooooonooonnnonononnoooonot~wponnnoooonnnnonnnnnoooonoonononnnnnoonnonoonnoonnnooonooonq}wpnnnooonnnnnq~}qoooonnnnoononnoonnnnnonoonnonnoooonnnonnnnonnoonnoonoonnnonnoonnoonpxvonnoonoonopu|poononnnnonnnonooonononoonnnonnnnnoonnnnnnnooonoonoonnnonnnnonnooonnonoot~wpnnnnnoonnonnnonnnnonnnnoonnnoonnoooonnnonnoonnonnnnnnnnnonoonoonooooonoononoonoonnonoononnooonnnnnnnoot~~toooonnnnononnnooooonnnonnononnnonnnoonoonnnnnnononnoononnonnnnnnnoonononoonoonnoononnonnononooonopw{poonoonnnooooooononononnnononnonononnnnoonnnnonooonoooonnnonnnonooonoonononononnnonnnooonnoonnnononnoonononoonnnnnnooot~|pnnoonnnonnnnnnoonooononnnnnonnonnonnq~wpnnoonnonnnnonoonnnnnnnoonnnnoonnnoooonnnonoonnnnnoonnnnooonnnnnoonnnoooonoooonononnononoonnnnnonnnnnoonoonnooq~wpnnnnnnnnnonoononooooonnnnooonnnnoononnoonnooooonnonnooonnoooooonnnonnooonnnonooooooooooonoooonoooooononnnooonooonoonooooonnonoononnnoooonooooooonoooononoooonooooooooopw~tooooooooonoonooooooonooooooonooooonoonooooonooooooooooooooooonnoooooooooooooonooonooonoonoooooonooooononoooooooooooonooooonooooooooooooooononooooonq{~qooonooooonoooonononoooononoonooooooooonnoooonoonoooonoooononoooos~xoooooonoooooonooooooonnoooononoonoononoooooonnnoooonoooooonnnnoonooonnooonoooononononnoononnooonoonoonnnooooooonooooonnoonoooooooooonooonos~xpnoonnoooooonnnoooonooonoooonooooooooonnnooooooononnooononooonooooononooononoooooooooonooononnonooooooonooonnnooonoooooonononooonooooononoooq}ypnoonoooooooooononoonoonoooooonononnnoooooonoonoooonoooonooonnonoonnoonoonooonnoonnnoooonnoonoooonnnnoooooooonooos~wpnnooonononoononooooooonnonooooooonoonoooonnooonnonnnooooopy{pnonooooonoot~ypnoooonononoonooononoonnooononononnnnoonoooooonoononnonnonononoooonoouxonooononoopxypnonnnnoonoooooonoononoonnonnnonoonononoonnooonooononnonnonoonoonnnooonot~wpooooonnnnnnooonnnooonooooonnonoononoonnonnooonooooooonooooonoooooooooonnononnonnonooonnoooooooonooonoot~~toooonoononnonoooonoooooooonooonooonoonoooonnoonnnnonnnoooonoononooononooonoooonoonoonoooonnnonoooos~~sonnonnnnnnoonnonononoooooooooonnoonoononononnnnnnoonnnnnononnnoonnnoonnnonnnonoooooonnnnooooonnnoooonnnnnoonooonnnnnpyxpononooonnnnooooonoonnonooooooonononnp~wpoonnonnonoooonnnoonnooonnonnooonnnoonnnoonnoonnnnoonnnnoonnnnonnnonoonnnooooonnnonnonnnnnnoonnnoonoonnnonooonq~wpooooonooonnnononnoooononoonnnnononooonnonnononoonnnooonnoonononnnooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooopw~toooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooonqz}qooooooooooooooooooooooonooooooooooooooooooooooooooooooooonooooooq~{pnoooooooooooooooooooooooooooooooooooooooooooooooooonooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooonoooooooooooonooooq~{pnoonononooooooooooooonooooonooooooooooooooononoooooooooooooooooonnoonooooooooooooooooooooonoooooooooooooonoooonoonoooooooooooooooooooooooonpz}qoooooonoooooooonnooooooooooonoooooooooooooonoooonooooonooooooonooonoonooooooooooooooooonooooooooooooooonooonooooq~wpoooooonnoooooooooooooooooooooooooooooooooooooooonoooooooopu}qoooooooooopwuoooooooooooooooooooooonooooooononoonoooooonooooonooooonoooooooooooooor~{pnoooooooop{uoonoonoooooonooooonoononoooooooooooooooonoooooooooonoooonooooooooonooooot~wpoooonnonoonoooooonnnooooooonooooooooooooonooooooooooononooooooooooooooonooooooononooooooononoonoooonoot~~tooooonnooonoooooooonnoonoonooonoonoooooonooonoooonooooooooonoooonnoononnoonooooononooooooooooononop|ypnoonoonnnooooooonooooonnoonoooooooooonooonoonoonoonoooooooooononooooooooooononoooooonnnoooonooonoooononoooooooonnoor}~soooooooooonooononnonooonooonooonnnooop~woononnonnoonnonnoooonnnoooonoononoooooooononnoonoooononooonooooooooonoonoonnnonoonnonnnononoonoooooooooonnnoonp~wpooooononnoononnooooonnonononnnooooooonnnnnonoooonnnnonnnooonnonooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooopw~toooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooqz}qoooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooop|~qoooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooonq|~qooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooopw~tooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooq~wpoooooooooooooooooooooooooooooooooooooooooooooooooooooooooor~~tooooooooonp{~sooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooop{~qoooooooooq~~roooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooot~wpoooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooot~~tooooooooooooooooonoooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooonooooooooopv}rooooooooooooooooooooooooooooooooooooooooooooooooooooooonooooooooooooonoooooonononooooooonooooonooooonoooooooooooooow|pooooooooooooooonoooooooooooooonoooonnq~wpooonooooooooooooooonooooooooooooooooooooooooooooooonoooooonooooooonoooooooooooooooooooooooooooooooooooonoooooq~woooooooooooooooononoooooooonnoooooonoooooooonooooooooooooooonoooooooooooooooooooooooooooooooonoooonoooooooooooooooooooonooooooooooooonooooooooooooooooonooooonooooooooopw~tooooonoooooooonoooooooooonoooooooooooooooooonooooooooooooooonooooooooooooooooooooooooooooooooooooooooooooooooooooooonoooooooooooooooonooooooooooooopz~qnoooooooooooooooooooooooooooooooooooooooonooooooooooooooonoooooop{~soooooooooooooooooonnooooooooooooooooooooooooooooooooonooooooooooooooooooonoooooooooooooooooooooooooooooooooooooooooooooooonooonoooooooooop{~sonoooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooovxpooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooos~wpooooooooooooooooooooooooooooooooooooooooooooooooooooooooonp|vooooooooooq~|pooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooopw~sooooooooot~{pnooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooot~wpoooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooot~~tooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooor~wooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooq|wpoooooooooooooooooooooooooooooooooooonq~wpoooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooonq}wpooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooonoooooooooooonoooooonoooononooooooonooonoooooooooooooooooooooooooooooooooooooooooooooooooooonoooopw~tonnooooooooooooooooooooonnooonnooooooooooooooooooonooooooooooooooooonooooooooooonooooooonoooooooooonnooooooonoonooonooooooooooooooooooooooooonooooop{~qoooonooooooooooooooooooooooooooooooooooooooooonooooooooooooooooopxvpoooooooooooooooooooonoooooooonooooooooooooooonoooooooooononnoooonooooooooooonooooooooooooooooooooooooooonoooononoooooooonoooooooooooononowvonoooooooooonoooooonooooooooooooooooooooooooonooooooonoooooooooooooooonoooooooooooooooooooonooooonoooooonoooonooooooooooooonoooooooooooooooos~|qoonoooooooooooooonoooooonoooooooooononooooooooooooonoooooooooooooooooonoooooooonooooooooooooooonoonooonoooonooot~uonooooonooooooooooooooooooooooooooooooooooooooooooooooooooopxypoonoooooot~xpoooooooooooooooooononoooooooooooooonooooonoooooooooooooooooooooooooonos~vpooooooopwwpooooooooooooonoooooooooooooooooonoooonoooooooooooooooooooooooooooooooooot~wpooooooooooonooooooooooooooooonnoooooooooooooooooooooooooooonoooooooooooooooooooonooooooooooooooooooooot~~tooooooonooonoooooooooooonoooonooooooooooooooooooooooooooooonoooooooooooononoooooooooooooooooooooooopz}roooooooooooooooooooooooooooonoooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooov~sooooooooooooooooooooooooooooooooooooonq}wpooooooooooonooooooooooooooooooooooooooonoooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooq}wpoooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooopw~tooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooop{}qooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooovypoooooooooooooooooooooooooooooooooonoooooooooooooooooooooooooooooooonoooooooooooooooooooonoooooooooooooooooooooooooooooooooooooooooooooooovypnoooooooooooooooooooooooooonooooooonooooooooooooooooooooooooooooooooooooooooooooooooooooonoooooooooooooooooooooooooooooooooooooonooooooooooq~~soooooooonoooooooooooooooooooooooooooooooooooooooooonoooonooooooooonnooooooooooooooooooooooooooooooooooooooooooot~tooonooooooooooooonooooooooonoooooonoooooooooooooooooooonoooou|poooooooopwtooooooooooooooooonoooooooooooonoonooooooooooonoooooooooooooooooonooooonq}xpooooooop{~toooooooooooooooooooooooooooooooooonoooooooooooooooooooooooooonooooooooooot~wooooonooooooooooooooooooooooooooooooooooooooonooonooooooooooooooooooooooooooooooooonooooonooooooooooooot~~toooooooooooooooooooooonooooooooooooooonooooooooooooooooooooonooonooooooooooooooooooooonoooooooooooopuwooooooonoooooooooooooooooonooooooooonoooooooooooooonooooooooonooooooooooooooooooooooooooooooooooooooooooonooooooq|{qoooooooooooooonooooooooooooooonoooooonq~wpooooooooooooooonnooonooooooonoooooooooooooooooooooonooonoooooooooooooooooooooonoooooooooooooonoooooooooooooooq}wpnooonooooooooooooooooooooooooooooooooooooooooooooooooonooooooooonooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooopw~tooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooop{}qooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooos~|qooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooos~|pooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooop{ypoooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooov~sooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooq~~qoooooooop{~qooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooopy{poooooooq~}qooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooot~wpoooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooot~~toooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooonoooooooooooooooooooooooooooq|}rooonoooooooooooooooooooooooooooooooooooooooooooooooooooooooooooonooooooooooooooooooooooooooooooonoooonooooooooovvpooonooooooooooooooooooooooooooooooooooq~wpooooooooooooooooooooooooooooooooooooooooooonoooooooonoooooooooooooonooooooooooooooooonoonooooooooooooooooooonq}wpnoooooooooooooooooooooooooooooononooooonoooonoooooooooooooooooooooooooooooooooooooooooonoooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooopw~toooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooonoooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooop{}qoooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooq}~soooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooq~~sooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooopx}rooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooopx~qoooooooooooooooooooooooooooooooooooooooooooooooooooooooooooop{~tooooooooq~zpooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooopv}qooooooos~zpooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooot~wpooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooopt~~tooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooowxpoooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooq|}roooooooooooooooooooooooooooooooooooooooq~wpoooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooonq}wpooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooonooooooonoooooooooooooooonoooooooooooonooooooooooooooooooooonooooooonoooooopw~tpooooooooooooooooooooooooooonoooooooooooooooooooooooonooooonoooooooooooooooooooooooooooooooooooooooooonoooooooooooooooooooooooooooooooooooooooooooop{~qoooooooonooooooooonooooooonoooooooooooooooooooooooooooooooooooooop{wpooooooooooooooooonoooooooooooooooooooooonooooooonoooooooooooooooooooooonooooooooooonnoooooooooonoooooooooooooooooooooonooonoooooonoooooop{wpooooooooooooooooooooonooooooooooooooooooooooooonooooooooooonoooooooooooooooooooonoonnnooooooooooooooooooooooooooooooooooooooooooooooooooonouwpoooooooooonoooooooooooooooooooooonoooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooop{}poooooooooonooooooooooooonooooooonooooooooooooonooooooooooooopxwpooooooos~vpoooooooooooooooooooooooooooooooooooooooooonooooooooooooooooooooooooooooos~~sooooooovvoooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooot~xpooooooooonoooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooot~~tooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooos~~sooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooowypoooooooooooooooooooooooooooooooooooooooq~wpoooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooq}xpoooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooopw~tooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooop{~qooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooopx{poooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooqqqppoooooooooooooooooooonooooooooooooooooooooooooooopx{poooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooqqqppoooonnooooooooooooooooooooooooooooooooooooooooooonoq~|qooooooooooooooooooooooooooooooooonoooooooooooonoooooooooooooooooooooooooooooooooooooooooooooooooooonooooooonq~{poooooooooooooooooooooooooooooooooooooooooooooooooooooooooooootzpoooooopv~soooooooonooooooooooooooooooonoooooooooooooooooooooooooooooooooooonooooooop{uooonoopz~sooooooooooooooooooooooooooooonooooonoooooooooooooooonoooooooooooooooonooopt~woooonoooooooooooooonooonoonooooooooooooooooooooooooooooooonooooooooonoooooooooooooooooooooooooooooooooot~~toooooonooooooooooooooooooooooonoooooooooooooooooooooooooooooooooonoooooooooooooooooooonoooooooooooooopyzpoooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooonooooooooonoooooooooooooooooor}~soooooooonooooonooooonooooooooooooonoooooq~wpooooooonooooooooooooooooooooooonooooooooooooooooooooooooooooonoooooooooooooooooooooooooooooooooooonooooooooooq}xpoooonooooonoooooooooooooooooooooooonoooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooopw~tooooooooooooooooooooooooooooooooooooooooooooooooooooooooopoooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooq{~qooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooopu~roooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooor|}{zxvtrqqppoonooooooooooooooooooooooooooooooooooooooou~soooooooooooooooooooooooooooooopoooooooooooooooooooooooooooooooooooooooooooooooooopr|}{zwvtrqpppoonnnooooooooooooooooooooooooooooooooooooooop{vooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooopoooooooooooooooooooooooooooooooooooooooooot~xpoooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooq}}poooooopz|qooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooopyxpoooooq}|qoooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooot~wpooooooooooooooooooooooooooooooooooooooonoooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooot~~tooooooooooooooooooooooooooooooooooooonoooooooooooooooonoooooooooooooooooooooooooooooooooooooooooooooootvpooooooooooonooooooooooooooooooooooooooooooooooooooooooooooonooooooooooooooooooooooooooooooooooooooooooonopx{qooooooooooooooooooooooooooooooooooooooooq~wpoooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooq~wpoooooooooooooonooooooooooooooooooooooooooooooooooooooooooooooonooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooopw~tpoooooooooooooooooooooooooooooooooooooooooooooooooooooooopooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooop{~qoooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooor~woooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooow~~}{ywutrqqppoonnnoooooooooooooooooooooooooooooor~woooooooooooooooooooooooooooooopoooooooooooooooooooooooooooooooooooooooooooooooooopw~~}{yxutqqqppoononoooooooooooooooooooooooooooooooopw|qoooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooopooooooooooooooooooooooooooooooooooooooooopxvoooooooooooooooooooooooooooooooooooooooooopooooooooooooooooooopz~rooooooq}ypoooooooooooooooooooooooooooooooooooopooooooooooooooooooooooooooooooooooooou{pooooos~ypoooooooooooooooooooooooooooooooooooopooooooooooooooooooooooooooooooooooooot~wpooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooopt~~tpoooooooooooooooooooooooooooooopoooooooooooooooooooooooooooooooooooooooooooooopoooooooooooooooooooooooq{}rooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooot~upooooooooooooooooooooooooooooooooooooooooq~wpoooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooq~xpoooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooonoooooooonoooooooononooooooooooonooooooooooooooooooooooonoooooooooooooooooooooooooooonoooooopw~toooooooooooooooooooooooooooooooooooooooooooooooooonoooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooop{~qoonooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooop{|qooooooooonoooooooooooooooooooooooooooooooooooooooooooooooooonooooooooooooooooooop|~~}{ywutqqqppoooooooooooooooooooooooooooop{|qoooooooooooooooooooooooooooooooooooooooooooooooonoooooooooooooooooooooooooooooooq|~~}{ywutrqpppooooooooooooooooooooooooooooooos~wpoooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooq|~soooooooooooooooooooooooooooooooooooooooooopooooooooooooooooooopvuoooooos~uoooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooq~}qooooouuooooooooooooooooooooooooooooooooooooopooooooooooooooooooooooooooooooooooooot~wpooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooopt~~tpooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooopoooooooooooooooooooooooovyqoooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooq{|qoooooooooooooooooooooooooooooooooooooooooq~wpoooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooq~xpoooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooopw~tpoooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooop{~qoooooooooooooooooonooooooooooooooooooooooooooooooooooooooonooooooopytoooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooot~}|{xwtroooooooooooooooooooooooooopytooooonoooooooooooooooooooooooooooooooooooooooooooooooooooooooooonoooooooooooooopt~}|{xwtrooooooooooooooooooonoooooooooq{}rooooooooooonooooooooooooooooooooooooooooonooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooot}qooooonooooooooooooooooooooooooooooooooooooooooooooooooooooooooot~wpoooopw~roooooooooooooooooooooooooooonoooooooooooooooooooooooooooooooooooooooooooooopz~roonopx~roooooooooooooooooooooooooooooooooooooooooooooooonooooooooooooooooooooooooopt~wpoooooooooooonoooooooonooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooopt~~tpooooooooooooooooooooooooooooooooooooooooooooooooonoooooooooooooooooooooooooooooooooooooooooooonoooooooq|wpooooooooooooonoooooooooooooooooooooooooooooooooooooooooooonooooooooooonoooooooooooooooooooooooooooooopxwpooooooooooooonooooooonoooooooooooooooooooq~wpoooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooq~wpooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooopooooooooooooooopoooooooooooooooooooooooooooooooooooooooopw~tpoooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooop{~qooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooptzpoooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooopz}wpooooooooooooooooooooooooopuzpoooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooopz}wpoooooooooooooooooooooooooooopwxpoooooooooooooooooooooooooooooooooooooooooooooooopoooooooooooooooooopoooooooooooooooooooooooopoooooooooopzzpoooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooq}zpoooopz|qooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooopw~uoooop{{pooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooot~wpooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooopt~~upoooooooooooooooooonooooooooooooooooooooooooooooooooooooooooooooooooooonoooooooooooonooooonooooooooooooov}tooooooooooooooooooooooooonooooooooooooooooooooooooooooonoooooooooooooooooooooooooooooooooooooooooooopu~}rooooooooooooooooooooooooooooooooooooooooooq~wpnooooooooonoooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooonooooooooooooooooooonoooooooooooooq~wpoooooooooooooooooooooooooooooooooooooooooooonoooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooopoooooooooooooooooooooooooooooooooooooooooooooooooooooooopw~tpooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooq{~qooooooooooooooopoooooooooooooooooooooooooooooooooooooooooooooooooooq}~soooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooos~uoooooooooooooooooooooooooooq}~soooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooor~upooooooooooooooooooooooopooooos~~uoooooooooooooooooooooooooooooooooooooooooooooooopooooopoooooooooooopoooooooooooooooooooooooopoooooooooos~vpooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooopy|pooooq}wpoooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooot~xpoooq~wpooooooooooooooooooooooooooooooooooooooooooopooooooooooooooooooooooooooooooot~wpoopooooooooopooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooopooooooooooot~~tooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooopooooooooooooq||rooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooor|wpooooooooooooooooooooooooooooooooooooooooooq~wpoooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooq~wpooooooopoooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooopx~tpooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooq{~qooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooopyypoooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooopx}qooooooooooooooooooooooooooopyypoooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooopx}qooooooooooooooooooooooooooooooq{|rooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooopy~soooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooopv~qoooos~toooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooq|zpoopt~~soooooooooooooooooooooooooooooooooooooooooooopoooooooooooooooooooooooooooooopt~wpoopooooooooopooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooopooooooooooot~~tooopooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooopoooooooooooopvzroooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooqz}roooooooooooooooooooooooooooooooooooooooooooq~wpoooooooooooooooooooooooooooooooooooooooooooooooooooooooopooooooooooooooooooooooooooooooooooooooooooooooooooooq~xpooooooopoooooooooooooooooooooooooooooooooooooooooooooopooooooooooooooooooooooooooooooooopooooooooooooooooooooooooooooooooooooooooooooooooooooooooooopooooooooooooooooopx~tpooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooq{~qooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooopu}roooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooor}ypooooooooooooooooooooooooooopu}rpoooooooooooonoooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooor}ypoooooooooooooooooooooooooooooopvzqoooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooot~{qooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooos~~tooopv}qooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooopy|qoopw}qoooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooot~wpoooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooot~~tpooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooq|yqnoooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooopwxpoooooooooooooooooooooooooooooooooooooooooooq~wpoooooooooooooooooooooooooooooooooooooooooooooooooooooooopooooooooooooooooooooooooooooooooooooooooooooooooooooq~xpoooooooooooooooooooooooooooooooooooooooooooooooooooooopooooooooooooooooooooooooooooooooopooopoooppoooooooooooopooooooooooooooopopoooooooooopoooooooopooooooooooooooooopx~tpoooooooopooooooooooopooooooooooooooooopoooopooooooooooopopoooooooooooooooooooooooooooooooooooooopoooooooooopoooooooooooooooooooooooooooooooooooooop{~qooooopoooooooooooopoooooooooooooooooooooopooooooooooooopooooooooooooq}ypoooooooooooooopooooooooooooooooooooooooopooooooooopoooooooooooooooopoooooopwupooooooooooooooooooooooooooooq}ypooooooooopoooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooopxuoooooooopooooooooooooooooooooooor}~wpoooooooooooooooooooooopooooooooooooooooooooooooooooopooooooooooooooooooooooooooooopoooooooooooooooq{wpoooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooq|wpoopyzpooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooopv~qoopzzpooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooopt~xpoooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooonooooooooooooot~~tpoooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooonooooopu~wpooooonooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooopw~}roooooooooooooooooooooooooooooooooonoooooooooq~xpooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooonoooooooooooooooooooq~xpoooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooopooooooooooooooooooooopooooooooooooooooopoooooooooooooooooooooopooopopooopooooooooppoooooooooooopw~tpoopooopopoooooopoooopooooooooooooooooopoooooooooooooooooopoooooopoooooooooooooooooooooooooopoooopoooopoooooooooooooooooooooooooooooooooooooopoooooqz~qpoooppooooopoooooopooooooopoooooooooooooooooooooooooooopoooooooooooopy~soooooooooopooooooooooppoooooooppoooopoopooooooooooooooooooopooooooopoooooor}}qoooooooooooopoooooooooopooooopy~sooooooooopooooppoooooopoooooopooooooooooooopooooooooooooooopoooooooooooooor}}qoooooooopoooooooopoooooooooooooopw~vpooopooooooooooopoooooooooooooooooooooooooooooopoooopoooooooooooooooooooooooopoooopoooooooooooooopw~sooooooooooooooooooooooooooooooooooooopoooooooooooooooooooooooooooopyypooq|vpooooooooooooooooooooooooooopopoooooooooooooooooooooooooooooooooooooopooooooooor~~tooq}vpoooooooooooooooooooooooooooooooooooooooooooooooooooooooooooopooooooooooooooot~wpoooooooooooooooooopopooooooooooooopooooooooooopooooooooooooooooooooooooopooooooooooooooooooooooooooooot~~tpoooooooooooooooooooooooooooooooooooooooooooopooooooooooooooooooooooooooooooopooooooooooooooooooooooooooooq{~vpoopoooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooopt~wpooooooooooooooooooooooooooooooooooooooooooooq~xpoooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooppooooooooooooooooooooooooooooooooooq~xpoopooooopooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooopopooooooooopoooooooooooppoooooooooooopw~tpoooooooooooooooooooooooopooooooooooooooooooooooooooooooooooooooopooooooooopoopoooooooooooooooooopoooopooooooooooooooooooooooooooooooooooooooooooooqz}rpooopooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooopt{qooooooooooooooooooooppoooooooooopooooooooooooooooooooooooooooooopooopooopyypooooopoopoppooooopoopoopoooooptzqoooopooooooooooooooooooooooooooooooooooooopooooooooooooooooooooooooooooopyypooooooooooooooooooooooooooooooooos~}upooooooooooooooooooopooooooopooooooopooooopoooooooopoooooopooooooooooooooooopooooopoooooopoooooos}zqooooooooooooopoooooooooooooooooooooooooooooooooooooooooooooooooooopu|qoos~~sooooooooooooopoooooooooooooopopooooooooooooooooooooooooooooooooooopoopooooooopoq|upos~~sopoooopoooooopopoooooooooooopooooooooooooopooooooooooooooooooopopooooooooooopt~xpoooooooooooooooooooopooooooooooooooooooooooooopooooooooooooooooooopooooopopoopoooooooooooooooooooooooot~~tpoooooooopoooopoopooooopoooooooooooooooooooooooooopopooopoooooooooooooooooooopoooooooooopoooooooooooooooooou~~vpooooooooooooopoooooooooooooopooopopoooooooooooooooooooooooooooooooooooooooooooooopooooooopt}|qoooooooooooooooooooooooooooooooooooopooooooooq}xpopoooooopoooooooooooooooooooooooooooooopoooooooooooooooopoooooooooooooooopooooooopoooooooopooooooooooopooooooq~wpoppoopooppooooooooopooooooooooooooooooooooooooooopooopoooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooopooooooooooooooooooooooooooooooooooooooopw~tppoooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooq{}qoooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooq|vpooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooot~tpooooooooooooooooooooooooooooooq|vpooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooot~tpooooooooonooooooooooooooooooooooopy}tpooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooor{upoooooooooopoooooooooooooooooooooooooooooooooooooooooooooooooooooooos~~qopv|qooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooopxxppu|qoooooooopoooopopoooopooooooooooooooooooooooooooooooooooooooooooooooooooopooopt~wpoooooooooooooooooooooooooooooooopoooooooooooooooooooooooooppoooooooooooooppoooooooooooooooooooooooopopt~~tpoooopopoooopoooopoooooooooooppoooooooooooopopoooooopooooooooooooooooooooooooooooooooooooooooooooooooooooopqy~vqoooooooopooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooopoopooopt}~vpoooooooooooooooooooooooooooooooooooooooooooooq}wpooopooopoooooooooooooooooooooooooooooooooooooooooooooooopooooooooopoooooooppooooooooopoooooooooooooopoooopoooq~wpopoooooooopoooooooopoopoooooooooooooooooooooooooooooooopoooooooooooooooooopppooooooopooopooooooooooooopoooopopoooopooooooooooopopoooooooooooooooooooooppppoopooooopoooqw~topoooooopoopooooooopooooooopoopoooooooooooooppopooooooopoooooooooopoopooopoopopooooooooooooooooopooooooooppooooopoooooooooooooooooooooopopoooooooooq{}qppopoooooooppooopooooooooopopoooooooooooopoopooooooooopoooooooooooppppw}soooooooooooooopooopooooooooopooooooooooopooooooooooopooopopoooooooooooqz|qoooooopoooooooooooooooooooooooopw}rooooooooooooooopoooooooppooooooooooooooopoooooooooooooooooooooooooooooq{|qooooooooooooooooooooooooopoooooopops~}upoooooooooooooooooppoooooooooopoooooooooooopoooopoooopooooooooooooooopoooooooooooooopoooooooqy|qooopooopooooooooooooooooooooooooooooooooooooooooooooooopooooooooooooq|~topyypooooooooooooopooooooooooooooooooooooooooooooopooooooooooooooooooooooooooooooooopt~zqpxypoooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooopt~wpooooooooooooooooopoooopooooooooooooooooooooooooooooooooooopoooooooooooooooooooooooooooooooooooooooooopt~~tpooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooos}~xqooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooopt}zqoooooooooooooooooooooooooooooooooooooooooooooor}wpooooooooooooooooooooooooooooooooooooooooooooonoooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooq~wpoooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooppoopooppopopoooooopoooooooopopopoppoopopooooooooooooooopopoopooooooooooooooopppoooooppoopoopqx~tpooppoooopopopooopooopoooppopopopoooooooooopoooooooooooopoooooooooopppoooopoooooooooooooopooooppoooooopooopoopopopooooopoopoooopopooopooopoooooooooq{}qpooooooopopoooooooooooooooppopoooooopooooooopoooooopopoopopooooooooopor~zqooppppooooooppopoopoooooooooooopooopoooooppppoooooopopooooppoopopooopvwpppooooooooopopoooopooooooooooooos~zqoooooooopoooooopooooooooooooooppoopoooopoopoopoopoopoooooooopooooooopvxpoooooopooooooopooooooopooooopoooooppy~vpooopooooopooppoooooooooppooopooooooppoooooooooooooooooooooooopooooopopoopoopoooopooooooooqxxpoooooooopoooopoooopooopoooooopoooooooooopoooooooooooopoooooopopooooopxvpq|upooooppooppoooppopooooooooooooopoooopooooooooooooooooooooooooooooooooooooooooooooq}|pp{uppopooooooooooooopoooooooooooooooooopoooopoooooooopoooooooooooooooooooooooooopt~xqooooooooooopooooopppooooooooooooooooooooooooooooopopoooooopoooooopoooooooooopoooppooooooooooooooooooopt~~tpooooooooooooooooppppoooopooooooooooooopoooooooooooooopoooooooooooooooopooooooooooooooooooooopooooooooopoooopwyroooooooooooooooooooopooooooooooooooopooooopoooooooooooooooooooooooooopoooooooooopoopu}~soooooooooooooopoooooooooooopoooooooooooooooooooq}wppooooooooooooopooopooopooooopoooooopooooooooooooooooooooooooooooooooopoopoopoooooooooooooooooooooopooooooooooq~wpoooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooopooopopooopoooooooopooopooooooooooooooooopopoooooooopooooooooopoooopooooooooopooooooooooooopoooooooooopx~tpoooopoooopopooopoooooooooopoooooooooooooppoooopopooooooooooooooooopoopooooooopopoooooopoooooooooooooooooooooooopooooooopooooooooooooooopopooooooooq{~qooopooooooooooopoooopopooooooooooopooooooopoooopoopopopopooooooooopooopywpoooopooooooopoooooooppooooooooopppoooppoooopopoopopoopooooooopooopos}~sppoooooooppooooppoooooppooooooooopywpoooopoopoopooooooooooppoooooooopoooooopooooopoooooooooopoopooooppoos}~spopopoopooooopooooooooooooppoopoooooos}~xqoopoopoooopooooppooopooopoooooopooooooopopoooppoooppopooopooooppoopopooooooooooooooooooqw~}rpoooppoopoooooooooooopoooooooooooooooooooooooopoooopoooopoooooooooopopt~xpr~~rooooooooooooopopoooooopoopopoooooooopooppppoopopoooooopopoooooooopoooooopooopoooopz~qq~~ropoooooooooooopoopooopooppoooooooooooopooooooooopoopooopooopoooooooopoooooooopt~wpooooooooooppopoooooooooooooooooooooppooooopoopopoppooooooopoooooooooooopppooopoooopooooopooopoooooopopt~~tpooopopooooooopooooopooopoooooopooooooooopooooooopoppoooooopoopopopooppoopoopoooooooooooooopopopppooooppppoopq{{spooopopooooopppooppooooopooooooooooooopooooooopooppoopooooppooooooopooooooooooopoqv~xpppoppoooooooooooooooppoopooooooopoooopoooooooooq~wpppoooooooooooooooopoooooopopoopoopooooooopooooooooooooopoooppooooopoooooppoooooopooooooooopoopoooooooooopoooor~wpooooooopoooopoooooooopoooooooopopopooopoopoooopoppooooopoooooppooooooooooooooooooopoooooooooooooooooooooopooooooopooooooooooooooooooooooooooooooooooooooooooopoooooooppx~tpooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooq{~qoooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooops~~tpoooooooooopooooopoooooooooooopoooooooooooooooooooooooooooooooooooqzyqoopoooooooooooooooooooooooooooooops~~tpooooooooooooooooooooooooooooooooooooooooooooooopoooooooooooooooooqzyppooooopopooooooooooopooooooooooopoooopx{spooooopoooooooooooooooooooooooooooooooooooooooopppoooooooooooooooooppopooooooooopooooqx~xppopooopooooooooooooooooooooooooooopoooooooooooooooooopooooooooooooooooq~{quzpopooooooooooooooooooooooooooooooooopooooooopooooooopooooooopoooooooooopoooooppooopw~tt~{qpooooooopooooooooooooooooooooopooooooooooopoooooooooooopooooooooooooooopooooopt~xqopooooppoopoopoopoooopoooooopooooppoooopooooooooopooooooopoooooooooppooooooooooooooopopooopooopoooooopt~~tpoopooooooooopoooooopoppopooooopopopooopooopoooooopopoooopooooooopooooooooooooooooooopooooooooooooppopoppooooot~}upooooopoooooooooopooopoooooooooooooooppoopoooooopoopopopooopooooooooooopoooooooqx~|rppooooooooppoooooppooooopoopppooooooooooppooooooq~wpooooopoopoooopoppoooooooopoooppoopoooooooooooooopooooopooooooopopoopoopoopoooopooooopooopoopoopoopooooooopoooq~xpooopoopoooooooooooooopooooooooooopooooooppoooppoopoooooooooopoooooooooopooooooooopooooppoooooppoooooooooooppoopopopooooooopoooopooooooooooooooooppoooopoppoooooooooopoqx~uppoopooopopoooooooooopoopopoooopooopoopooppoooooppoooooopoooooopopopooopooooopoopppoooooopooopooooooooooopoopooopooooppppooopoooppooooooooooppoooooq{~qoooooooooooooooooopoooooooooopoopoooooooooooooopoopopoopooopoooooooopoopz}soooooooooppoooooooooooooooooooooooooopooopooooooooooooooopoooooopw~tpopooooopooooooopppooooooooooopoooopz}sppooooooooooooooooooopoooooooopooooopooooopoooppoooooooooooooooppw~tpoooooooopoopppoooooooooooopoooooooopops}}uqpopoopoooopopooooooopoooooooooooooooooooopoooooooopooopoooooopoopoooooopooooooooopry}rppooooopoooooopooooopooooooopoooooopooooooooooooooooooooooooooopooooooop{}rxwpoooopoooooopooooooooooooooooooooooooooooopooooooooooooooooooooooooooooooooooooooops~~uwwpooooooooooopooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooopt~xpooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooopt~~tppoooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooopx~xqooooooooooooooooooooopoooooooooooooooooooooooooooooooooooooooooooooooooooooprz~upoooooooooooooooooooooooooooooooooopoooooooooooooq~xpoooooooooooooooopoooooooooooooooooooooooooooooooooopooooooppooopooooooooooooooooooooooopoooooooooooooooooooooq~xpooooopooooooooooooooooooooooooooooooooooooooooooooopooooooopooooopoopopoooooooooppoopppoooppopoppoopoooopooopopoopopooopopooooopooooooppoooooppopooooppopopppoopppoooopx~uppoopoooopopopoopoopoooooooopoopoopoopoopooooopopoooopooooooopoopoppoooopopopoopoopoopppooppooooooooooooooooooopoooooooppooooppoopooooopoooopooooooq{~rooppopooooppooooooppoooppoopooppoooopppoooooooooooopoooopoooppooooooooopt~{sopoopppopopoooooppooopoopoopopoooooooooopopoopoppopopopooopoooou~{qppoopooooooooopoooooooooooopopooopopu~{rpooopooooopoopooopooooopppoopoooooooooooooopooooopooopoopooppopu~{qoopopopooooooopoooooopooppppoooopoopooppv~ysppoopoppooooopooopoppooopopoopoppppopoopoooppoopppoooopooopooopppoooooooooooopopt{xpooooppppppppoopopooopopoooooppopopoooopoooooooooopooooooppooooopooooopopw~t|~tpoooooooooooooooopoppopopoppoooopooooppoppopoooopopooooooppoppoooopoopooppoooopooooq}xz~spopooooppopooooooopooooooooooopoooooooppoopooooopooooooopooooooooopoopooooppooot~xpoooooopooooooopopopoopooooooopooooooopoooooopopoooopoooooooopoooooooooooooooooooopooooooppooooooooooppt~~tppoopooooopoopoopoopooopoopoooopoooooppooooooopoooooooppoppooopoooopooooopooppoopoooopoooooooooooppopoooopoooooq{{tpooooooooopppooooooooooopooooooopooooooopooooooooopooooooooopoooooooooooopu|xpooooooooooopooopoooooooopoopooppooooooooppooopoooq~xpoopoopooooooooopooooooooopoooooooopoopooopooopooooooooooooooooooooooooooooooooooooooooooopopoooooooopooooooooq~xpoooooooooooooooooopooooooooooopooooooooooooppoooopooooooooooooooopoooooppppoooooooooppoooooopoooopooooooppooopooopopoooopoooopoooopooooppoooppoooppooooopooooooppopooopx~upoooooooppopopopoopppoopooopopopoopoopppoppoooopoopopppoopoppppoopooooooopoopopoopooooooooopopopopopopopoppoooppopooopooooppooppppooooooppppoooooooq{~roooooooooppooppoopopooooopppopopooooopoopoooooooooopoooooopoopoooopoopoopy{spopoooppppoopoppopooopopooppoooooopooooooooopooopoopooppoppops}~upoooppopopooooooooooooooooppoooopooopqy{sooopopopooopopooppoooooooopppooopppopopooopoooooooopoopooooops}~upopooopopopopoooooopoooooopoopppooopopppoqz}vrpoooppopooooopooppoopoooppoopoooooooppooppoopoppooppooopoooooopoppopooooppopqv}|rppopoppoooopoopoooooopoooopooppopooooopopppoooooopopoppoppooopoooooppooopt~~w~}qooooopppoppooooooooopopoopppooopoooooopoooppoppoooooopoooopoopopoopppopooopoooooppppy{}}qpoooopooopopoooopopooopooooppoooopopoopoopoooooppopppoooooppopopopooopoooooooppt~xpooooooooopooppppooopoooppoopoooopoopoopopoooopooooopooooopoopooopooppppppppopopooppoooooopoooppppoopppt~~upoopoooooooppopppoooopoppopoooooooooppppopooooppoopoooopoppoopooooooopopopoooooooooooppoppooooooopopoopoopoooopps}~xspooopoopppppoopopopoopoooooooooppoooopppoppoopoppoooopoopoppooppppopoprx~{ropopooopopoppoppooppoooooppoppoooppopooppoppooppopq~xqpopopoooooooooppoooooopoopooopoopooopooooooooopopoooppoooopoooooopooopoopoooooooooooopooooooopooooooopopppoooq~xpoooooooooooooooppoooooooopoopopppooooppooopopoooopppooppooooooopoooooooooooooooppopppooooopoooooooopooopoooopoooooopooooooooppoooooooooopoooooppooooooooppooooooooooooqx~upooooooooooopoooooooooopopooppppoopoooooooooooooooopooooooooopoopoooopoppopoopoooooopooooopoopoopooooooooooopppopoooooooooopooooppopooopoopoopoopopq{~qooooppppopopoooopppooooooopooooooooooooppooooooooooopooooopopoooooooppooos~{roopppoooopoooopooooopooooooooooooooppooooppppopoopoooooooops{{qoopopoooppopooooooppoooopoooooppoppooos~{rooooopooopoppooooppooooopooppoooooooppoopooopoopoooooppoopos{{qooopooopooooopoopoooooooooopooppopppooopops}~{uqooopoopooopopoooopopoooooopooppopoppoooooooooopppopopppoopoooppopooooooopsz~vpoopoopooooppooooopooopooppopoopoooooopoooooppoopoooooopoppppppooopopopooor}|ypopopoppoppppooooopopoppoooooooopppoopoooooooopooopopoppoopoooppoooppoooppppoooooooopu}ypoopopoooooooopoooppooooppooooooppoooooppopooopoooopoooopoopopoooooooooopoooooopu~wpooooooooooopoopoppopopoooopoopoopooopoopoooopooopopoooooooppoopppooooppppopooooooopoopoopoopopooooooopt~~upppooooooooopppooooooopooooooooooooooopopooppooooopoopppoopooppooooooppopoopoopooooopoooooopooppoppppooopooopopppv~}wqoooppoppoooooooopooooooooooopoopopopooopppoppopopoooopopppopooopopqu{~toopoooooppoooooopooopppooooppopoopoopopopopopopooopq~wpooopooooopppooooooooooopoopooooopoooopoooopopoooooooppooooooppoopppooopooooopopooooooooopooppoooppopoppopopooq~xqoopoopoopoopoopooopoopoopooopooooooooooopppopppoopooopooopoooopopoopoooooooopopopoopppppoopopoooooppooopoppopopoppoooopoopppooppoopoopppooooppoooooopooooopppoopooooopqx~tppppooooopooooooooooppopopooppooooooopopoopopopopopppopopooooooooooppopopppoopooooooppooooooopooopoooooopoooooooopopoopoooopoppooopppoooopoopppopooq{~qpppppooooooopoooopopooopoopoopppoppooopoppppoopoopppoopppoopooooooppopppopy{spooooopppopooppoooooooooopoooopooppopooppooopoooopoooopoos{~upopoooopoooooopopppoopoooooopooopooopoopy{spooppooppppoooopopopopooooopppooopoppoooopooooooopoopooops{~upoopopopppoopooppooooopoopopoppoppopooppppopw~ytqpooooppopopooooooopoooooooopopooooppopoopopppooooopoooooooooooooopooprw}{qpooppppppooooooooopoooopoopooooooppopopooooopoooooppooooooopoppopopoooopooqzupoooopopoooooooooopopoopoopoppooopopopoooopoooooopooooooooooopopppooopooopoopoooooppor~vpppooooopppooopooooooooooopoooopoooooopooopooopoooopooooooooooooooooooooopooooopu~xpooopoopopoopoooooooooooopppopooooopooooooopopoooooooopopopoooopoooppooopopopooooopooopooopopopoooopoopt~~upooppooooopppooooopooppooooopoooooooopopopppooopoooppoopooppoppoooooopooooooppppoooooopooopoooppoppopooooopooooooqy{uqpooopppooooooooooopopooopoooooooppoooooooooooooppooppopopoppoopsy~wpooooopooooooopooooooppopoooooooooopppopopoopppoooooq~wpopopopooopoopooopopopooopooooooopopopoooopoopooppooopopooppoopoooooopopoooopoppooooooooooooooopoopoooooopooooq~xqopoopoppooppoooopppoppoopooopoppoppoooppooopooopooppoooooopoooooooppoppppopoppopopppoppppopppppopooppooopppppoopoppopoppooppppppopppppopopoppoooopooopppoppopppopppppoqx~tpppppppoooppppppoopppoopopoppopoppppoppppopopoppopooppppppoppoppppoooopppopppoopoooopopopoppppopoopopoooppopppppppopooopppppoppppopopppoooppoppppooq{~qopppppoopooppppppppooppoopoooppopppopopooopopoooppoopopooopoppppoooooopooor}}tpoopoopoopooopppoppppooooooooooopopoopooopoooopooppooops{zqpppppppooopopoooopoppoooopppopoppooppopps}}tpoopoppopooppoppopooopopoopopppppoopopoppooopopoopoopoos{zqpoooopppppppooopopopoooppopoppoppoooooppopooq{~ytqpoopppopppoopppooooooooppopoooppooooooopoooopoopoooopopoppoooppoprv|~tppooppppopppoopopoopoopopoopooppooppppoopooopooooppopppooooooppoopooppoopoopv~rpoppppopooppppopoopoooooopopooooooopopooppooopoopooopopppopooopopoooooopopoopoppopoooq{~spopopoooooopopppoppoopoooooooopooppppppooooooppopoopopopopoooopoooooooooooppopopu~xpoopppoooppoopooopoopoooppopopooppooopopooooopopoopoppoooopppooppooooppooooooooopopooppopooooooooopooopt~upooopooooopooppoooopooopopooopopooppoopopoopooooooopoopopoooppopopoopooppooooopppooooopoooopooopopooopoooppopooppor{~{urpooooppppooppooooooooooooooppoooooooopoopooooppooooopopoooprx}zqpoppopooopopoopoopooppooooooooooopppooppooopooooooopq~xqoooooooooooppoooppooooooopoooppopopoooooooooppoooppoooopopoooooppooppopoopoooopppooooooopoooooopoopooooooooooq~xppopoooooooooopooopppoooopopoopopooopoppooppoooopoooppooopoopopooopppooppppopppppoppppppoppopoppopppppppppppoooppopppopopppppppopoppppppppppoppppppopppoopppppopppppppoqx~tpooppoppopopoppppopoppooppopoooopppppoppoppppppoppppoppoopoppppppoopppppppopoopppooppppopoppppoooopppppppopopppppoopoopopppooppppppppppoppoppppoopoq{~roopoppppppppppoppppopoppooopopopppooppppppoppopppppooppppppopppooppopppopopv}vqoppopoppppppppopppppppoppppopppopoooppppppoppopppoopt{~spoppppppooooppopppppppppppoppppppopppoppppv}vqppoppppppppoppppoopppoopooopppppppooppopopoppppppoops{~spppooopppoppppopopoooopopopoppoopppopopopoopopt}~{vrppopoooopopppopppopopooopopooppppopopoopoopoppppppppppopopopqrv|xppppppoppppppoppppppooppppoopopppoopoppoppopppopppoppppoppppppopppooooppopoops~{qpoppooooopppopopoppppopoopopopppppoopppppoppppoppoppoopopopoooooppoppoopoppopopoopppopx|qpoopopoppppopppooppooopppppoopooppppppoopooooppppppppppopoopppppopppoppppoopooppu~xppoppppooooopooppopoopppoppooopppopopppoooppooopoopppppoppopoppoppoooopoooppppopopooooopooppoppooopoppot~toppppoopppoppopoopopopppoppoopoppopppoppppoppopoopoooooooopooppopooppppoppoopopoppopoooopppppopopppooopoopopoooppppt}~{vrpoopppopoppoooopopppopoppooopoppopoppooopopppoooopppooprw}{rppopppopoppoooooooppppooppoopppoooppppooooppopooooopoq~xqopppoooppopppopoooppoooopoopopppoopopooooopoooppoopppopoooooooooppoopopopooppoopppppooppoooooooopoooopoppooooq~xpooppppopooopppooopooopopppoopoopopooooopooopppppppppooppoopppoopopppppppppppppppopppppppppopppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppqx~tpppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppopppppppppppppppppppppppppppppppppppppppppppppppppppppppppq{~qopppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppopppppppppppoq{~xrpppppppppppppppopppppppppppoppppppppppppppoppppooqu}xppppppppppppppppppppoppppppppppppppppppppppq{~xrpopppppppppppppppppppppppppppppppppopppoppppopppoqu}xpppppppppppppppppppppppppppppppoppppppopppppopppv~|xtqpooopppppppppoppppppppppppppppppppppppppppoppppppppooopqtx|{qpppppppppppppppppppppppppppppppppoppoppppoppopppopppoppppopppppppppopppppppppq}xppppppppppppppooooppopoppoppppoppppppppopopppppoppopoppppppoppppppppppppppppoppppopopppt~yqoopopppppppppppoppppoppopppopppppopppoppppppopoopooppppopopopppopppoppppppopopppt~xpppopoppppopoopopopppopoopppoppppoppppopppoppppopppopoppoppppppoopppoopppppooppppppppppopopppppppooopppt~~upppopoopoopppoopppopppopopppppoooppoppopopooopppopppopppooppoopppppppppppppopopopopppppppoopppoppoppopppppppopppppppu~|wsqpopoooppoppopppopppppopppppoooppppppppoppppoppoppqsx}}tpppopppppppoppppppppoopppopppooopooppoppoppooopppppoppr~xqoppooooppppoopopppooooppopppooppooooooopopopooppoppopopoppoppooopppppppopppppoopooppppppppppopppopooppoopopppq~xqpoopopoppppopppppppoopopoppooooooopoopppppooppppppppppppppopooppppoppppppppppppoopppppppppopppppppppppppppppppppppoppppppppppoppppppppppppppppopppppppppppppppppppppppqx~uppppppoppppppppppppppppppopppppppppppppppppppppppppopppppppppoppoppppopppppppppppppppppppopppppopppppppppppppppopppppppppppoppppppppppppppppppppppoq{~qopppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppoppppppppppppps}{tqopppppppppppppppppppppppppppppppppppppppppppopqx~|rpppppppppppppopppppppppppppppppppppppopppppps}{tqooppppppppppppppppppppppppppppppppppppppppppoprx~|rppppppppppppppppppppppppppppppppppppppppppppppppqx~zvsqpooooppppppppppppppppppppppppppppppppppppppppooopqrvz~}tppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppqy~tppppppppppppppppppppppppppppppppppppppppppppppppppppopppppppppppppppppppppppoppppppppppq}vppppppppppppppppppppppppopppoppppppppppppppppppppppppppppppppppppppppppppppppppppt~xqppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppt~~tppppppppppppppppppppppppppppppppppppppppppppppppoppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppv~}zvrppooopoppppppppppppppppppppppoppppppppppooppprvz~~uppppppppppppppppppppppppppppppppppppppppppppppppppppppoq~xqppppppoooppoopppppoppppppppppppppppppoppppppppopppppppppooppopoppppppppoppppppppoppppppppopppopppppppppopppopq~xqpppppppppppppppppppppppppopppoppppppppppppppopppoppppppopoppppppppppppoppppppppoppoppppopppppppppppppppppppppppoopppppppopppopppoppppopppppppoppppopppppppppooppoppppppx~upoppppppopoppopppppppopppppppppppppppppppppppppopppoppppppppppoppppppppppppopppppppopppppppppppppoppppppppopppppppppppppppppppppppppppppooopopopoooq{~rppppppppppppppppppppppppppppppopoppppppppppopppppoppppopppopopopppopppppoppppw~xspooppppppoppppppppppppppppppooppppppoopppooqtz~upoopopppppppppppppppppppppppppopppoppopoppppppw~xrpoppoppppoppppopppppoppppppppppppoppppppppoqt{~upppppopppppppppoppppppppooppppppppopppopopppppppppq{~zwsrqpopooopppppoppppppppopppppppppopppopooooppqsvy}~wppppppppoppppppppppppppppoopppppppppppppoppppopppppppppppppopoppppppppopppopppppv}qooppppppopoppppppppppppopppppppoppppopppppppppoppopooppppppppooppppppppppppoopppppppppppz~rppppppopooppppppppppppppopopoppopppppppppppppppppppppppppppppppppppppppppppppppoqt~xqpppppppppppppoppppppppppoppppppppppppppppppppppppppopppppppppppppppppppppppoppppppppppppppppppppppppppu~~tpppppppppppppppppppppppppopppppppppppppppppppppppppppppppppppppppppppppppppppppppppoppppppppppppppppppppppppppppppppoqy}yvrqppooopppppppppppppppppppppppppopoooopqrtx|~vqpppppppppppppppppppppppppppppppppppppppppppppppppppppppq~xqppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppoq~xqppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppoppppppppppppppopppppppppppppppppopppppppppppppppopppopppppppppppppopppppoqx~upppppoppppppppppppppppopppppppppppoppppppoppppopppppppppppppppppppppoppppppppppppoopppppopoppppoppppppppppoppppppopoppppppoppppppoppopppppppppoppppq{~roppppppppppopoppppppopoopppppppoppopoppppppppoppoppppppopppopppppppppppppppppqz|vqppopppppppppppppppoppppppppppppppppopppqrx}yqppoppppppppppoppppooppopppopppppppppppppppppopqz|wrppopppoopppppppoopppppoppppppopppppppppprx~yqpopppoppppoppppppppppppppppoopppppppppppppppppppppps|~|yvtrqqppoopooppppopppopopopppooopooppqqqsux|~yqpopppoppppopppppppppppoppopopppppopoppppppppppppppopppopppppppppoppppppppopppppps~zqpoppppopppoppppppppopoppppppppppooopopopppopppppppoppppppopppppppppppppoppppoppopoppppppv{qpppppppppoppppoppppoppooppoppppppppppppppppppopppppppppoppppppopoppppppppppppppppt~xqppppppppppppopoppppoppppppppppppppppppppppppppppppppopopppppppoppppppoppppppoppppoppppppppppopppppppopt~~upppppppppoppppppppppppppppppppoppppppppoppppppppppppppppppppopppppppppppppppopppppppoppopopppppoppppopppppppppppppppooqy}zwtrqpppoooopoppoppppppopppoooooppprsvy}~xqppoopppoopppppopppppopopppppppppppppppppppppppppppppppppr~xqpppoppppppopppopppopopppppppppppopoppoooppooppppppppppppppppppppppppppopppppppppppppopopppppppopopopppppppppoq~xqpoopppppopppopppppopppppppppppppppppppppppoppppppppppppppppoppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppqx~upppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppq{~qoppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppps}|wrqooppppppppppppppppppppppppppppppooqrw}|rpppppppppppppppppppppppppppppppopppppppppopppppps}|wrppoppppppppppppppppppopppppppppppooprw}|rpppppppppppppppppppppppppppppppppppoppoopppppppopppppt}~}zxvtrrqqpqpppppppppppopppppqqqrsuxz|~{rppppppppppppppppppppppppppppoppppppppppppppppppppppppppppppppppppppppppppppppppppq|wpppppppppoppppppppppppppppppppopopoppppppppppppppppppppppppppppppppppppppppppoooppppppppps~wpooppppppppooppppppppppoppppopppppopppppppppppppppppopppppppppppppppoppppppooopoppu~xppoopppppppppppppppppppopppppppppppppppppppppppppppppppppppppppppppppopppppppppooppppppppppppppppppopppt~~upppppppppppopppopppppoppppopppppopppppppoppopppppppppppppppopppopopopppppopppopppppopppppoppppopppppoppppppppppppppppoory~}zxusrqqqqppopppppppopppqqqrsuwy|~yqpoppppppoppppppooppppoppppppppppppppppppppoppppppppppppppr~xqppppopppppppppopppooopppopppopppopppppopppppppppppppoopppppppppopppppppoppopppppppppppppppppoppopopppopppppopq}xqpppopppppppoppppppppopppppppppppppppoppppopopppppppoopppppppooppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppopppppppppppopppppppppppppppppopqx~tpppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppq{~rpppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppt~|xsqpooopppppppppppppppppppppppoopqsx}~tppppppppppppppppppppppppppppppppppppppppppppppppppt~|xsqpoooppppppppppppppppppppppooopqsx}~tpppppppppppppppppppppppppppppppppppppppppppppppppppppppt}~~}{zxxwuuuuuuuuuuuuuvwxy{|~~}spppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppy~spppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppq|~tpppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppoppppppu~xpppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppt~~uppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppporz~}{{xxvuuuuuuuuuuuvxxz{}~~yqoppppppppppppppppppppppppppppppppppppppppppppppoppppppppppr~xqpppppppppppppopppppppppppppppoppopppppppppppppppppoppppppppppppppppppppppppppppppppppppppppppppppppppppppppppq}xqpppppppppoppppppppppppppoppppppppppppoppppppppppppppppppppopppopppppppppppppppppppppppppppppppppopppopppppppppppppppppppoppoppppoppooooppoopppopppppppppopppppppppppppqx~tpppppppppppooppppppppppopppppppppppppppppoppppoppppppppppppppppppppppppppppppppppppppoppoppopppppppopppppppoppppopppppppppppppppppppppppppppoppppppq{~rpppppppoppppppoppppppppppppppppopppppppppppppppppppoppppppopppppppopppppppopppppw~~zvsqpppppopoppppppppooopooppqsvz~~wqppppppppppppppppppppppppppppopppppppppppppppppppppqw~~{vsqqpoooopppppppopppoooooppqsvz~~wpppppppppppppppppppppppppppppppppppppppppppppppppppppppppw~~}tpppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppoppppppppppppopu|qopppppppppppoppppppppppppppppppppppppppppppopppppoppppppppppppppppppppppppppppppppppppppppy}qpppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppoppppppu~xqppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppu~~uppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppprz~~yroppppppppppppppppppppppppppppppppppppppppppppppppppppppppppr~xqpppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppq~xqppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppopppppppppppppppoppppppppppppppppppppppppopppppppppppppppppppppppppoppppppppppopoopppppoppopopppppppqx~tppppppppopppppppppopppoopppppppoopppppppppppoppppppppppppppoppppppppppppooppppppppppoppppppoppppppoppppoppppppppoppppppppppppoppppoppppppppppppppppq{~rppppppppppppppppppppppppppppppppopppppppoppopppoppppppppppppppppppppppppppppppppqy~{xusrqpqpppppppppppqqqruw{~yqpppppppppppopppppopppppoppppppppppoppppppoppppppppppqy~{xusrqqpppppppppppqqqrruwz~yqppppppoppppppppppppppppppppppppppppppppopppppppppppppopopqw~}uppppppppppppppppppppppppppppoppoppppoppppppppppppppoppopppppppppppopoppppppppopppppppr~yqoppopppppppppppppppppppppppppopoppppppppppppopppppppppppopppppopppopppppppooppopooppppppppvyqpppppppppppopppopppoppppppppppoppppppppppppppppppppppppppoppppppppppppppppooppppppu~xqppoppppoppopppppoppoppppppppppppppppppppopppoppppppppppopppppppppppppoppppppppppppppoppoppppppppppppppu~~upppppooppppppppppppppppppppppoppopppppoppppppppppoppppppopppppppppppppopppppppppoppppppppppppppppopppppoopppppppoppppoopppryyrppppppppoppppppppppppppopppppppppppoppppppppppppppppppppppppq~xqpppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppr~xqppppppppppppppopppppppppppppoppoppppppppopppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppqx~tpppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppq{~qpppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppry~|{yxvuuuuuuuuuwxz|~{rppppppppppppppppppppppppppppppppppppppppppppppppppppppry~|{yxvuuuutuuuuwx{|~{rppppppppppppppppppppppppppppppppppppppppppppppppppppppppppoqw~}uppppppppppppppppppppppppppppppppopppppppppppppppppppppppppppppppppppppppppppppppppppppq{~upppppppppppoopppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppopppppppppppppor~vpppppopppppppppppppppppppppppopppppppopppppppoppppppppppoppppppppppppppopppppppppppu~xqppppppopppppppppppppppppppppppppppppopppppppppppppppppppppopppppppppppppppppppppppppppppppppppppopppppu~~tpppppppppppppppppppppppppppppoppppopppppppppppppppppppppppppppoppppppppppppppoppppppopopopppopppppppppoopppppppppppppppppppryyqpppppppppppppppppppppppppppppppppppppppppppppppppppppopppppppq~xqpppopppppppppppppppppoppppppppppppoppppppppppppppppppppppppppppppppppppppppppppopppppoppppppppppppopppopoopppr~xqppppopopppoppppppppppppoppppooppopppppopppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppqx~tpppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppqpppppppppppppppppppppppppppppppppppq{~qpppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppps{~~|sppppppppppppppppppppppppppppppppppppppppppppppppppppppppr{~~~|sppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppoqv}}uqppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppqx~rppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppoq{~rppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppqu~xqppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppu~~tppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppry~~yroppppppppppppppppppppppppppppppppppppppppppppppppppppppppppoppq~xqppppppppppppppppppoppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppr~xqpopppppppppppppppppppppppppppppppppppppppoppppppppppppppppoppppppppppppppppppppoppopppppppopppppppppppppopppppppppppppppppppppppppppppppppoppppppppppoppppppppppppppppqx~uppppppppppppppopppppopppppppppppppppppoppppppppopppoppppopoopppppppppppppppppppopppppppppppopppppppppppppppppppppppppppppoppppppppppoppppppppppppppq{~qppppppppppppppppppppppppppppppppopppppppppppppppppppppppppppppppppppppppppppppppppps{}tpppppppppppppppppppppppppppppppppppppppppppppppppppppppppps{}tppopppppppppppppppppppppppppppppppppppppppppppoppppppppppppppppqu}}upppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppu{qpppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppqw|rppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppqu~xqppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppu~~tqppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppqw~~wqpppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppq~xqpppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppr~xqppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppopppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppqx~uppppppppopppppppoppppppppppppppppppppppppppoopoppppppppppppppppppppppppppppppppppppppppppppppppppppoppppppppppppppppppopppppppppppppppppppoppppppppq{~rpppppppppppoppppppppoppppppppoppppppppppppppoppppppppppppppppppppppppppppppppppppppps{}uqpppppppppppppppppppppopppopppppppppoppppppppppppppppppppppps{}uqppppppppppppppppppppppppppppppppppppppopppppppoppppppppopppoppppqt{}upoppppppppppppppppppppppppppopppppppppppppppppppppppppopppppoopppppppppppppppppppppoopppppr}wqppppppoppppppppppppppppppppppppppppppppopppppppopppppppppppppppppppppppppppppppppppppppppppptyqpppppppoopppppppppooppppppppppppooppoppppppppppppppppppppoopopppppopppppppppppppopqu~xqpppppppopppppppppppppopppppppppoppopppppppppppppppppoppppppppppppppppppppppppppppppppppppppppppoppppppt~~uqppppppppppoppppppppppppppppppppoppppppppppppppppppppppppppppppppppopppopopppppppppppppppppppppoppppppoppppppppppppppppppppppoqv}}uppppopppppppppppppoppppppppppppopppppppppppppppppppppopppppppppppq~xqppppppppppppppppppppppppppppppppppppppppppppppppppppppppppopppppppppppppppppppoppppppppppppppppppppppoppoppppr~xqppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppqx~upppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppq{~rppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppps{}upppppppppppppppppppopppppppppppppppppppppppppppppppppppppppppps{}uppppppppppppppppppppppppppppppppppppppppppppppppopppppppppppppppppppsz{sppppppppppppppppppppppppoppppppppppppppoppppppppppoppppppppppppppppppppppppppppppppppppppppqz~tppppoppppppppopppppppppppppppppopppppppppppppppppppppppoppppppppppppppppoppppppppppppppppppppr}upppppppppppppppppppppppppppppppppppppppppppppppppppppppooppppppppppppppppopppppppppqu~xqppppppppppppopppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppt~~uqpppppppoppppppppppppppppppppopoopoopppppppppppppoppppppppppppppppppppppppppoppppppppppppppppppppppppopppoppppppoppppppppppoppopt{{tpppppoppppppppppppppppppppppppppppppppppopppppppppppopppppppppoppor~xqppppopopppppppppppppppppoppppppppppppppoppppopppppppoppppppppppppoppppppppppoppppppoppppppppppppopoppppppppppr~xqpppppppppoppppooppppppppppppppppoppppppppppppppppopppppoppppppppopppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppqx~upppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppq{~rppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppsz}uqpppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppsz}upppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppprx~~yrppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppqw}qpppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppqz~rppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppu~xqppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppu~~uqppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppopsy~~ysppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppor~xqppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppoppppppppppppppppopppppppppppppppppppppr~xqpppppppppppppppppppppopppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppoppppppppppppppppppppppppppppqx~upppppppppppppppppppppppppppppppppppppppppppppppppppppppppppoppppopppppppppppoppppppppppppppppppppppppppppppppppppppppppopppppppppppppppppppppppppppq{~rppppppppppoppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppry~{tppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppry~{tpppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppoqv}~wqppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppt~zqppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppvzqppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppu~xqpppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppqu~~uqpppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppqw}}wqopppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppq~xqppppppppppppppppppppppppppppppppppppppppppppppppppppppppppqppppppppppppppppppppppppppppppppppppppppppppppppppr~xqpppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppoppppppppppppqx~upppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppoppppppppppppppppppoppppppppppppppppopppppppppppppppopppppppppppppopppppppppppppppq{~rpppppppppppppppppppppppppppppppppoppppppppppppppppppppppppppopppppppppppppppppppppppppppqx~{sppppppppppppppppppppppppppppppppppoppppppppppppppppppppppppppppppppprx~{spppppppoppppppppppppopppppppppppppoppopppppppppppppppppppoppppppopppppopppqsz~|uqpppoppppppppppppppppppppppopppppppppppppoppppppppppppppppppppppppppppppppppppppppppppppppppppppr}vpppppppppppppppppppppppppppppppppppppppppppppoppppppppppppppppppppppoppppppppppoppppppppppppppps~wqppppppppppppppopppppppppppppppppppppopppppppppppppopppppppppppppppppppppppppppoppppqu~xqppoppppppppppppppppppppppppppppppppppppppppppopppppppppppppppppppppppppppppppppppppppppppppppppppppopqu~~uqpppppppppppppppppppppoppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppqt{{uqpppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppq~xqppppppppppppppppppppppppppppppppppppppppppppppppppppppppppqppppppppppppppppppppppppppppppppppppppppppppppppppr~xqppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppqpppppppppppppppppppppppppppppppppppppppppqxuqppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppq{~qpppppppppqpppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppqu}~ysppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppqu}~ysppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppprw}~ysppppppppppopppppppppppppppppppppppppppppppppppppppppppppppppppppppppoopppppppppppppppppppppppppppqz~spppppopppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppq|~tppppppopppppppppppppppppppppppppppppopppoppppppppppppppppppppppppppppppppppppppoppppqu~xqpppppppppppoppppppppppppppppppppppppppppoppppopppppppppppppppppppopppppppppppppppppppppppppppppppppppqu~~uqppppppppppppppppppppppppppppppppoopppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppprx~~xrpppppppppppppoppppppppppppppppppppppppppoppppppppppppppppppppppppppppppr~xqppppppppppppppppppppppppppppppopppoppppppppppppppppppppppppppppppppopppppppppppppppppppppppopppopppppppppppppr~xqpppppppppopppppppppoppppppopppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppqpppppppppppppppppppppppppppppppppppppppppqxuqppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppq{~rpppppppppqpppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppt{~wqpppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppt|~wqppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppqppppqsy~|vqppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppqv|rpppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppqy}rppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppqu~xqppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppt~~tqpppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppqu{{uqppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppr~xqpppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppr~xqppppppppoppppppppppppppppppppppppoppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppqxuqppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppq{~rpppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppprx~|uqopppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppprx~|uqpppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppqppppppqu|~xsqpppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppps~xqpppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppquzqpppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppt~xqppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppu~uqpqppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppprw}}xrppppppppppppppppppqpppppppppppppppppppppppppppppppppppppppppppppppppppppppr~xqpppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppr~xqppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppqxuppppppppppppppppppppppppppppppppppppppppppppppoppppppppppppppppppppppppopppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppopppppppppppq{~rpppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppqu|~ysppppppppppoppppppppppppppppppppppppppppppppppppoppppppppppppppppppppppppppppppqu|~yspoppppppoppppppppppppopppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppprw|~ztqppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppq}uqppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppr~vppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppuxqpppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppqt~~tqpqppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppqsx}~ztqpppppppppppppppppppqpppppppppppppppppppppppppppppppppppppppppppppppppppppppr~xqpppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppr~xqpppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppqppppppppqpppppppppppppppppqppppppppppppppppppppppppppqpppppppppqppppppppppppppppppppppppppqpppqxuppppppppppqpppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppqppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppq{~rppppppppppppppppppppppppppqpppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppprx}|uqpppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppqpqppppppprx}|vqppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppprx}~{vrppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppqy}rpppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppq{~spppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppoppppppppppppppu~xqppppppppopppppppppppppppppppppppppppppppppppopppppppppppppppppopppppppppppppppppopppppppppppppppppppppuuqpppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppoppppppqty~~{uqpppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppr~xqpppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppr~xqppppppppppppppppppoppppppppppppppppppppppppppoppppppopppppppppppppppppppppqpppppqqpppppppppppppppppppppppppppppppppppppppppppqpppppppppqppppppppppppppppppppppppppppppqx~upppppppppppppppppppppppppppppppppppqppppppppppppppppppppppppppppppppppppppppppppppqpppppppppppppppppppppppppppppppppppppppppppppppppppqppppppppppppq{~rpqpppppppppppppppppppppppppppppqppppppppqppppppppppppppppppppppppppqqppppppppppppppppppppppqppppqtz~~xsppppppppppppppppqpqpppqpppppppppppppppppppppppppppppppppppppppppppppppppqqppppppppppqtz~~ysppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppqsw|~{urppqpppppppppppppppppqpppppppppppppppppppppppppqpppppppppppppppppqppqppppqppppppppppppppppppppppppppqppppppqvzqppppppppppppppppppppppppppppppppppppppppppqqpppppppppppppppppppppppppppppppppppppppppppppppppppppqw|qppppppppppppppppppppppppppppppppppppppppppqpppppppppqpppppppppppppppppppppppppppppppppu~xqppppppppppppqppppppppppppppppppppppqpppppppppppppppppppppppppppppppppppppppppppppppppppppppppppqpppppqu~uqpqpppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppqpppppppppqppppppppppppppqpppppppppppppppppppppppppppppppppppqtz~~{urpppppppppppppppppppppppppppppppppppppppqpppppppppppppppppppppppppppppppppppppppr~xqpppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppr~xqppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppqx~uqpppppppppqppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppqpppppppppppppppppppppppppppqpppppppppppppppppppppppppppppppppppppppppq{~rpppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppqppppru{~~ztqpppppppppppppppppqqpqppqppppppppppppppppppppppppppppppppppppppppppppppppppqppppppppppppqu{~~ztqppppppppppppppppppppppppppqppppppqpppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppqsv{~~{urpppppppppppppppqppppppqppqpppppppppppppppppppppppppppppqppppppppppqppqpppppppppppppppppppppppppppppppqppppppps~wpqppppppppppppppppqppppppqppppppppppppppppppppppppppppqppppppppppppppppqppppppppppppppppppppppqppppt~yqppqppppppppppppppppppppppppppppppppppppppppqppppppppppppppppppppppppppppppppppqpppppppu~xqpppppqppppppppppppppqppqppppppppppqppppppppppppppppppppppppppppppppppqpppppppppppppppppppppppppppppppqu~~upppppppppppppppppppppppqppppppppppppppqpppqppppppppppqppppppppppppppqpppppppqpppppppppppppqpppppppppppppqppppppqppppqppppppppppppppppppppppppppqtx}~{urqppppqppppppppppppppppppppppppppppppqppppqppppppppppppppppppppppqpppppppqppppqpppr~xqpppqpqppqpppppppppppppppppppppppppppppppppppppppppppppppppppqpppppqpppppppppppqpppppppppqppppppppppppppppppppr~xqpppqppppppppppppppppppppppppppppppppppppppppppppqpppppppppppppqpqpppppppppppppppppppppppppppppppppppppppppppppppppopppppppppppppppppppppppppppppppppppppppppppppppppppqx~upppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppr{~rpppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppprv{~~{vrppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppprv{~~{vrppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppruz}~zurpppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppr|~spppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppr}uqpppppppppppppppppppppppppppppppppppppppppppppppppppppppppqppppppppppppppppppppppppppppu~xqpppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppqpppqu~~uqppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppqppppqppppppppppppqpppppppppppppppppppppppppppppppppppppqpppqsw|~~yurpppppppppppppppppppppppqppppppppqppppppppppppppppppppppppppppppppppppppppppppppppppr~xqpppppqpppppppppppppppppppppppppppppppppppppqppppppppppppppppppppppppppppppppppppppppppppppqppppppppppppppppppr~xqqpppppppppppppppppppppqppppppppppppppppppppppqppppppppppppppppppppppppppppppppppppqppppppppppppppppppppqppppppppppppppppqppppppppppppqpppqpppppppqpppqpppppppppppppppprx~uppppppppppqppppppppqqppppppppqppppqpppqppqppqppqppppqppqppppppppppppppppppppppppppppppppqpppppppqpppppppqpppppppppqppppppppppppppppppppppppppppppppr{~rpppppqppppppqpqpppqpppppqpppqppqppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppruz~~zurpppppqppqqpppppppppppppppppppppppppppppppppppppppppppppppqppppppppppppppppppppppppppppppppppppprvz~~zurppppppqppqpppppppppppppppppppppppppppqpppppppppppppqpppppppppppppppppppppppppppppppppppppqppppppppppppppqsv{~~|xtqpppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppqx|rpppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppqz~rppppppppppppppppppppppppppppppppppppppppppppppppppppoppppppppppppppppppppppppppppppppppu~xqpppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppqu~~uqppppppppppppppppppppppppppppopppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppqrty}|xtqpppppppppppppppppoppppppppppppppppppppppppppppppppppppppppppppppppoppppppppppppppppppr~xqpppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppr~xqpppppppppppppppppoppppppppppppppppppppppppppppppppppppppppppppppppppppppqppqpppppppqppppqpppppqqppppppppppppqqqqppqppppppqppppppppqpqpppppppqpqqpppppppppqppppqpppqppqqx~uppppppppqppppqqpppppppqppppqppppqpppppppqppqqpqpppppppqqpppppppppqppppqpqpppppppppqqpqppppppppppppppqpqppppppppppppppppppqpqppppqpqppppppqpppqqqqppr{~rpqpppppppppqppqpppppppppqppqpqppppppppppqppqpppppppppppqppppppppppppppqqppppppppqqqpqpppppppqppppppppppprty}}xtrppppppppqppqqppqpppqpppppppppqppppppqppqppppppppqpqpppppqppppppppppqpqpppppppppppppppqpppqpqpppqpppqty}}xtrpppqpqpppppppppppppppppppppppppqppppqppqpqppppqpqppqqpppppqqppqppppppqpqpqpppppppppppppppppppqppqpppqppppppppqsw{~}ytrqpppppppppppqppppqqpppppqppppqpppppqppqpppppppppppqpqpppppppppqpppppppppppppppqpppppppppqppqppppppqpppppppqqpqppqppppu~yqqpqqpqpppppppqqppqpppppqppppqppqpppqpqpppppppqppppppqpppqpppppppppppqqpppqpppqpppppppppppppppppqpqpqv{qppppppppqqppppppppppppppppppppqpqppppppppppqqpqqpppppppppppppppppppppppppppppppqppppppqu~xqpqpppqppppqppppppppppppppppppppqpqppppppqpqqpppqppppppppppppqpqppqpppppppppppqpppppqpppppppppppppppppqu~~uqppppppppppppppppqppppppppqpppppppppppqppppppppppppppppppppppppppqpppppppppppppppppppppppqpppppppppppppppppppppppppppppppppqppppppppppppppppqpppppppppqsvz}}zvrqpppppppppppppqpppppppppppppppppppqppqppppppppppppppppppppppppppppppppppppppppqpppppppppr~xqppppppppppppppppppqpqppppppppppppqpppppqppppppppppqppqppppppppppppppppppqppppppppppppppppppppppppppppppppppppr~xqppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppqpppqqppppppppppppppppppppqppppppppppppppppppppppqppppqppppppqppppqppppppppppppppppqpppqppppqqppppppqxuqpppppppppppqpppppppqpppppppppqpqpqpqppppppppqppppppqpqqpppppqppppppppppqpqppppppppqqqpppppppqpppppppppppppppppppppppppppqpppqpppppppppqpppqppqppppr{~rpppqpppppppppppqqppppppppppppppppppppppppqppqppqpqpppqqpqppppqppppppppppppppppppqpppqpppppppqpppppppppppppqrvz~~zvsqpppppppppppppppqpppqqppqqqppqppqqpppppqqqpppqppppppppppqqpqqpqpppqppqqppppqqpppppqppppqppppppppppppqpppqrvz~~zvrqpppppppppppppppppqqpppppppppppppqpppppqpppppqpppqpqppppppqqpppppppppqppqqpppppppppppqpppppppqpqqpppppqppppppppppppqsvz}~~|yurqppppqpppqpppppppppqqppppppppppqppppppppqppqpqppppppppppppppppppppqqppqqpppqpqqppppppppqppppqpqppppppqpppppppqqppqppppqpr~upqqpppqpppqqppqpqpqpppqppppppppqqpqppppppqqqpppppppppqpqppppppppppppqqpppppqqppppppppqppppppppqpqpppps~wqppppppppppqpppqppqppppppppppppqppqpppppppqqppppppppqppppppppppppppppppppppqpqpppppppppquxqpqppppqppppppqpppppqppppppppqppqpqppppppppppppppqpppppqpqpqpqqqpppppppppppqpppppppppppppppppppppqppppquuqqpppppppppqpppppppqppppppqpppppqqpqppppppppqpqpqppppppppppqpppppqppqpqppppppqppqppqqpqppqpppppqqpppppppqppppppqpppqqppppqppppqppqpppqqpppqpqppppppppppppqruy}~}zwsrqppppppppppqppppqpqppppppppppppppqpppppppqppppqpppppppppqpppppqpppqppppppqpqqqpppppqpqppppr~xqppppqpppppppppppppppppppqppppqqppppppppppppppppppppqppppppqpqppppppppppppqppppqpqpppppppqpppppppppppppppqppppr~xqpppppppqpppppppppppppppqpppppppppppppqppqppppqqpppqpppppppppppqpppqppppppppppppppqpppppppppppppppppppppppppppppppppppppppppqppppppppppppppppppppppppppppppppppppppppppqw}~~~~~~~~~~~~~~~~~~~~~~~~~~}uqpppppppppppppppppppppppppppppqppppppppppppppppppqppppqqqppppqppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppprz~~~~~~~~~~~~~~~~~~~~~~~~~|rppppppppppppppppqpppppqppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppqpqpppppppppppppqswz}~}{wsrqpppppppppppppppppqqppqppppppqpppppppppppppppqppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppprsvz}~}zwsrpppppppppppppppppppppqppppppppqppppppppppppppppppppppqpqpqppppppppppppppppppppppppqppppppppppppppppqppppppppppppppppppppqrtwz}~~{xtrqpppppppqpppppppppppppppppppppqppppppppppppqppppppppppppppppppppppppppppppppppqppppppppqpppppppqpppppppppppppqpppqppqppppqpqz~~~~~~~~~~~~~~~~~~~~~~~~~~~~|rppppppppppqppppppqpqppqppppppppppppppqppqqpqqppqpqpppppppppppppppppppqppppppqpppqqpppqppqpqppqppqppqpr{~~~~~~~~~~~~~~~~~~~~~~~~~~|sqppppppqppqqpppqppppppppppppppqpppppppqppppppqppppppppppppqpppppppppppppppqppppppppppppqt}~~~~~~~~~~~~~~~~~~~~~~~~~~}wqpppppppppppppqpqqppppppppppppppppqpppppppppppqppppppppppqppppqppppppppppppqppppppppqppppppppppqppqpppqu}~~~~~~~~~~~~~~~~~~~~~~~~~~}uqqpppqpqpppqppppqpppppppqpppppppppppppppppppqpqqpppppppppppppppppppppppppppppppppqppppqpppppppppqppppppqpqpqqppppppqppqpppqppppppppqppqppppqqpppppppppppppppqrtwz}~~|yvrrqppppppqppppppppppppqqpppppppppqpppqqpqpppppppppqppppppppppppqpqpppppqqpqpppppqpqppppppppppppr|~~~~~~~~~~~~~~~~~~~~~~~~~~}wqqppppppppppppqppppqppppppqpppqpppppppppppqppppqpppppppppppppppqppppppppppppqpppqpppppqpppqppqppqppqppppppppqpr|~~~~~~~~~~~~~~~~~~~~~~~~~~}wqpppppppppppqpqpppppqppppppppppppppppqpppppppppppppqpppppppppppppppppppppqpppqpqppqpqppppppqpqppppppqpppppqqpppppqqpqpppppqpqppppppppppppppppqpppppqqppqpqpqppppqppqpppqqrrsrrrrrssrrrrsrsrrrrrrrssrsqqppppppqppppqppqpqppppppqppppppppppppqpppqqqqppqpqppppqpqpqqpqppqpqppqpppppqqqpppqppppppppppqppppppppppppppppqpqpppppppqppqpqqpppppppppppppppppppppqrrrrsssrrsrrsrrrrrrrrrrrrrrqppppppqqpppqppppppqpppqpppqppppppqpppqpqpppqppppqpppppppppppppppppqpppqqpppppppppppqpppppppppqpqpqpppqpppppppppqqrux{~~~{xurrqppppppqpqpqpppqqpppppqpqppqppppqpqpppppppppppppqpppqpppppppppqppppppppqpppppqppppppppppppppppqpppqppppppqppppppppqrrtx{~~{xusqppppppppppppppppppppppppppppppppppppppppppppppqpppppppppqpppppqppppppppppppppppppppppppqppqppppppppppppqpppppppppqppppqpppppppqqrsvx{|~~}zxurrqpppppqppppppppppppppppppppppppppqqqqpppppppppppqppppqppppppppppppppppppppppqpppppppppppppppppppppppppppppppppppppppppppppppppprrrrrrrrrrrrrrrrrrrrrrrrrrrrrrpppppppppppppqppppqpppppqppppppppppppppppqpppppppppppppppppppppppppppppppppppppppqppppppppppppppppppppprrrrrrrrrrrrrsssrrrrrrrrrrrrqppppqppqppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppqppppppppppppqqrrrrrrrrrrrrrrrrrrrrrrrrrrrrqpppppppppppppppppqppppppppppppppppppqpppppppppppppppppppppppppqppppppppppppppppppppppppppppppppppppppppqrrrrrrrrrrrrrrrrrrrrrrrrrrrrqppppppppppppppppppppppppqppppppppppppppppqppppppppppppppppppppppppppppppppppqqpppqppppqppppppppppppppppppppppppppppqppppppppppppppppppppppppppppppppqppqppppppppqrtvy{~~~|yvsrqqpppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppqrrrrrrrrrrrrrrrrrrrrrrrrrrrrqpqpppppppppppppppppppppppppppppppqppppppqpppppppppppppppppppppppppqppppqppppqpppqqppppppppppppqqqpqpppppppppppqrrrrrrrrrsrrrrrrrrrrrrrrrrrrqpqppppppppppppppppppqppppqpppppppppppppppppqqppppppppppppppppppppqqpqqqpqqpqppqqqpqpqppppqqqpppqqpppqppqpqqqpppppqqqpppppqppppppqpppqppppqpppqqqpqpqpqppqpqpppqpqppqpqpppppoppppppppppppppppppppppppppppqppppqppppqqqpqpppppqqqpppqpppqqqppppppqqqqpppppppppppppqppqppqqqpqqpppqpqqpqpppppqpppppqppqqqpqqpppqqppqpqqqpppqqpppqppqqqqqppqpqpqqpqqppppppppqqppppppppopoppppppppppppppppppppqqpqqpppqqpqppqqppqqqpqpqppqqpqppqqppqppqpqppppqpppqqppqppppqpqqpqpqqqqpqqpqppppqppqpqppppppqpppppqppqppqqppppppqrstwy{}~~~{zwusrqpppppppqqpqppppqpqqpqpqqpqpqppqppqqppqppqppppqpqqqpqpqppppqpqqpqppqpppqpqqqppppqqqpqqppppppqpppqpqqpqqpqppppqqppqppppppppqqsuwy{}~~~{zwurrqqpppppqqpqpppppqpppqqqpqppqppppqpqqpqpqqppqppqqppqpppppppppqqpppppqqpppppppqppqqppppppppppqpppqqpppqppqqpppppqppppppqpqpqqppppqqppppppqqrsuwxz{~~~~|zxvtrqqqppppqpppppqppppppppppppppqppqpppppppqqqppppppppppppqpqpqppppqppqpppppppqqppqqqqppppppppqqpqpppppqpqpppqppqqppqpqpppppqppqpppppppppppppppoppppppppppppppppppppppppqpppqpppppqqpppqppppqpqppqppqqpqppqpppppppppppppqpppqppqpppqpppqpppppqpppqppppqqpppqpqppppqqpqppqpppppppppppppppppppppppppppoppoppppqpqpppppppppppppqqppppppppppppppqpqppqppppppqppppppppppqpppqpppqqpppppppppqqpppppppppppppppppoppppppppppppppppppppppqpppppppppppppqppppppppppppqppppppqpqppppppppppppppqpppppppqpqppppppppppppqppppppppppqpppppppppppppppqqpppppppopppppppppppppopppppppppqpqqpppppppqppppqppppppqqqppppqpqppppqppqppppppqqqppppqpppppppppppppppppqppqqqqppqppppqppppqppppppqppppppppppppppppqpppqpppppppppppppppppqpppppppppqqpqqppqppppppppqqrtvxz{}~~~}{ywusqqqpppppqpppppppppppppppppppppppqpppppqpppppqqpppppqpppppqpppqppqpppppppppqpppppppppppppppppppppppppppppppoppppppppppppppppppopppppppppppppppppppqpppppppppppppppppppqppppppppppppppqppppppppppppppqppppppppppppppppppqppppppppppqppppppppppppppppqppppppppppppppppppppppppppppppppppppppppppppppppppppppqqpqppppppppppppppqqpppppppppppppppppqpppqqpqqpqpqqqqqqpqqqqppqqpppqppqqqpqppqqqqqqqppqqqqqqpqppqpqqqqqqqpqqqqqpqpqpqpqqqpqqqqqqqqqpqqqppqpqqqppqqpqqppqpqqpqqpqqqpqqqqqpqqqpqqqqqqpqppqppqqqqpqpqpqqqpqqqpqqqqqqpqpqpqqpqqqqqqqpqqqqqqqqpqqqqqqqqqqppqqpqpqqqqpqppqpqpqqqpqppqqqpqqqqpqqqqpqqqpqqqqpqqqpqpqqpqqqqqqppqqqpppqqppppqqqqqqqpqppqpqppqqpqpppqqqpqpqqpppqpqqqqqqqpppqqqpppqpppqqqpqpqqpppqpppqqqpqqqpqpqqqqqpqqqqpqqqpqqpqqqpqqqpqpqqqqpqqqqqppqqqpppqqppqpppppqqqppppppqqrrsuwxy{{|~~~~~~~~~~~~~~}{{zxxutsrqqpppppqppppqqqqqqqppppqqpqqqpqppqpqqqpqppqppqqpqqpqqqpqqqqqpqqqqqpppqqqqqqqqpqqqqpqqqqpqpqppppppqpqpqqqqqqppqpppppqqqppqqpppqpppopqqrrtuwxy{{|~~~~~~~~~~~~~~}{{zxxvtrrqqpppppqpppqpppqqqqqpqqppqpppqqqqpqppqqqqpqppqpqqpppqqpqqppppqqqqppppqqqppppqqpqqqppqqpqpppppqpqpqppqqpqpppqqpqpqpqqpqqqpppqqqqpqqqqqqpqpqppppppqqqqrssuvwxyz{{{}~~~~~~~~~~~~~~~~~|{{yxwutsrqqqpppppqqpqpppppqpqpppppppqpqqqqppqqppppqpqpqqppppqqqpppppqqpqpppqqqqqppqqppqpqqpqpqqppqqqppqqppqqppqppqpqpqppppppppqppppqqppqqqpqpqqppppqpppqppqqqqpppqppppqqpqppqqppqqqpqpqqqpppqppqpppqqqqqqqqqqppqqqqppppqpqqppqqqpqqppqpppqpqppqppqqpqpqqqpqqpqpqqppqpqqqqpqpqqqqpqpppppqqppqppqpqpqpppqpqqpqqqpqppppqqpppqqqqqppqpqpqppqqqqppppqqppqqqpqpppqqppqpppqqppppppppqqpppppqpqqqppqppqqpqqppqppppppqqqpqqqppqpqpqpppqqqppqqpppppqqpppppppqpqppqppppqqqqppppqppppqppppppppqpppqqpppqpqqqqpppqqpppqqqqqpppqqqpqpqpppppqppppqpqqpppppppppqqppqqpqppqqqpqqpqqqqpqpqppqqqqpqqppqppqpppqqppppppppqpqqppppqqqqqppqpqppppqpppqpppqqqqqppppqpppqppppppppppqppqqqppqppppppqqqpppppqqpqqqppqqppqppppppqpqpqpppqqqqpppqpqqppqpqpppppppqqpqppppqpqpppppppppqqqrrsuuwyxz{{|~~~~~~~~~~~~~~~~}|{zyxvusrqqqqppppqqpqqqppqqpppqpqpqppqqpqpppqqpppppqqppppqpqqpqpppqqpqpqpppqqqpppqqqpqpqppppqpqppppqppppqppqpppppppppqppppppppppqqqppppqqpppqpqqpppppqppqpqpppqqppppqpppppqppqpppppppqppqppppppppqppqppqqqpqppqppqqqpppppqqpppqppqqpqpppppqqpqqpppqppppqppqppqqqqqppqppppqpqppqqppqpqqpppppqpppppppppqqppppqppppqqppppqqpppppqppppppppppppppqppppqpqppqqppppppppqqqqqqqpqqqqqpqqqqqqqqqqqpqpqqqqpqpqqqqqqqqqpqqqqqqqqpqqpqqqpqqqqqqqqqqqqqqqqqqqqqqqqqqqqqpqqqqqqpqqqqpqqpqppqqqqqqqqqqqqqqqqqqqqqqqqqpqqqqqqqqqqqqqqqqqqqqqpqqqqqqqqqqqqqpqqqqpqqqqqqqqqqqqqqqqqqqqqqqqqqqppqqqqqqqqqqqpqqqqqpqqqqqqqqqqqqqqqqqpqqqqqqqqqqqqqqqqqqqqpqqqqqqqqqqqqqqqqqpqqqqqqqqqqqqqpqqqqqqqqpqqqqqqqqqpqqqpqqpqqqqqqqqqqqpqqpqpqpqqqpqqqpqqqpqqqqqqqqpqqqqqqpqqqqqpqqqpqqqqqqqqqqpqqqqqqqqqqqqqqqqqqqpqqpqqqqpqqqqqqpqqqppppppqqqqrrrrrrrrrrrrrrsrrrrrqqqqppppppqqqqqqqqqqqqqqqpqqqpqqpqqqpqpqqpqqpqqqpqpqqqpqqpqqqqqqqqqqqqqqqqpqqpqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqpqqqqqpqqqqqqqqqqqqqpqqqqppppppppqqrrrrrrrsrrrsrrrrrrrrrqqqpppppppqqqqqpqpqqqpqqqqqqqqqpqqqqqqqqqqpqpqqppqqqqpqqqpqqqqqqqpqpppqqpppqqqqpqqqqqpqqqpqqqqqqqqppqqqqqqqpqqqqqqqqqqpqpqqpqqqqqqqpqqqqqqpqqqqpqppqqqqpppppppppqqqqrrrrrrrrrrrrrrrrrrrrsrrrqqqppppppppqqqqqqqqqqppqqpqqpqqqpqqqqqqqqqqqqqqpqqpqppqpqpqppqpqppqqqqqqqqqqqqqqqqppqqpppqqqpqqqqqppqqqpqqqqpqqqqqqqqqqppqpqqqpqqqqpqqqqqqpqqpqpqqpqqqqqqqqqqppqqpqqqqpqqpqqpqqqqqqpqqqqpppqpqqqpqqqqqqqqqqpqqqppqqqpppqqqqqqqqqqqqqqqqqqqqqqqpqqqqqqqqpqqqqqqqqqqpppqqpqqqpqpqpqqqpqqqqpqqpqqqqqqpqppqqpqqqppqqppqqpppqqqpqqqqpqpqqqqqqqqqqqqqpqqqpqqqppqqpqpppqqqqqpqqqpppqqqqqqqpqqqqpqqqpqqqqqpqqqpqqqqqpqqqqppqqqpqqqqpqqpqqqpqqqqqqqppqqqqqqpqpqqpqqqqqqqpqqpqpqpqpqppppqqpqppqqpqqqqpqqppqqqqqqqqqqqqqqqqqqpqqqqqqpqpqppqqqqppqpppqppqqqqqpqqqqppqqqqqqqqqqpqqqqqpqpqpqqqqqqqqqpqqqqpppqppqqpqqqppppqqqpqpqpppqqpqqqppqqqqqpqqqqppqppqqqppqppqqpqpqqppqqqpqqqqqqqqqppppqqqqqqqppqqqqqqqppppqqppqqqpqpqqqpqqpqqqqpqqqqqqppqqqqpppqpqpppqqqpqpppqpppppppqqqrrrrssrrrrrrsrrsrrrrrrrqqqppppppppppqqqqpqqppqqqpqqqqqpqqppqpqqqpqqpppqpqpqpqppqppppppqqqpqqpqqpqqqpqpqqqqqqqqqppqqqpqqpqpppqqqqppqpppqqpqppqpppqqpppqqpqpqpqppqppqqqpqppqqpqqqqqppqqqqqpqpqqqqppqqpppqqqpppppqqqqpppqqpqqpppqqpqqpqqqqqqqqqpqpqqpqqpppqpppqppppqqqpqpqppqqqqqpqqqqqqqpqqpqqpqppqpppqppqppqppqpqpppqppqqpqqppqpqqqqpqpqpqqqqpqppqpqpqqpqqpppqqqppqqqppqqppqppqpppqpppqqqqqqqqqqqqqpqqqqqqqqqqqpqqqqqqpqpqqqqqqqpqqqqppqqqqpqqqqqppqqqqqqqqpqqqqqqqqqpqqqpqqqppqqqqqpqqpqpqqpqqpqqpqqqqqqqpqqqpqqqqqqqpqqqpqpqpqqqqqqqqqqqqqqqpqqqpqqpqqpqqpqpqppqqqqpqqqqqpqqqqqqqpqqqqqpqqqqpqqppqqqpqqpqpqqpqqqqqpqqqqqqpqqqqqpqqqpqqqpqqqpppqqqqqqqqpqqpqqqqqqqqpqqqqqqqqpqqqqqqqqqqqqqpqqqppqqqqqqqqqpqqppqpppqpqpqqqqqqpqqqqqqpqqpppqqpqqqpqqqqqqqqqpqqpqqqppqpqppqqpqqqpqpqqqqqqqqqpqppqpqqqppqqqqqqqqpqqpqqqqpqqqqqqqpqqqqqqpqpppppppppppppppppppppppqppppqqppqpqpqqqqqqqqqpqqpqqqqpqqpqqqpqqqqpqqqqpqqqpqpqqqpppqqqqqpqpqqpqqpqpqqqppppppqppqqqqqpqqqqqqqqqqqqqqqqqqppqqqqppqqqqqqqqqqqqqqqqqqqqpqqqppppppppppppppppppoppppppppppqqpqqqqqqqqqpqqqqqqqqqqqqqpqqqqqqqpqqqqpqpqqqqqqpqqqpqqpqpqqpqqqqqqpppqpqqqqqqqqpqqqpqqqqqqqqqpqqqpqqqqqqqqqqqqqqpqqqqqqqqpqqqqpqqqqqpqqqqqqqqqpqqqqqpqqqppppppppppppppppppppppppppppppppppqqqqqpqqqqqqpqpqqppqqqqqqqqqpqqqqppqqqqqqqqqpqpqpqqpqpqqpqpqqpqqqqqqqqqpqqpqqqqpqqqqpqqqqqqqqqpqqpqpqpqqqqqqqqqqqpqqpqpqpqqqqqqpqqqqqqqqqpqqqqpqqqqqqqqqqqpqqqqqqqppqpqqpqpqqqqqpqqqqqpqqqqqqqqqqqqqqqqpqqqqpqqqqqqqqqqpqqqqqqqqqqqqqqqqqqqqpqqqqqqqqqqqqqqqqqqpqqqqpqqqqpqqqqqpqqqqqqqpqqqqqqpqqpqqqqqqqqqqqqqqqqqqqqqqqqpqppqqqqqqqqqqqqqpqqqqqpqppqqqqqqqqqpqqqqqqqqpqqqqqqqqqqpqqqqqpqqqqqqqqqqqqqqqpqqqqqqqqqqqqqqpqqqqqqqqqqqqqqqpqqqqqqqqqqqpqqqqqqqpqqqqqqqqqqqpqqqqqppqqqqqqqqqqqqpqqqqqqqqqqqqqqqpqqqqqqqqqqqqqqqqqqqpqqqqqqpqqqqqqqqqqqpqqqqqqqqqqqqqqqqqqqpqpqqqqqqqqqpqqqqppqqqpqqpppqqqpqqpqqqqqqqqqqqqqpqqqpqqqpqqqqpqqpqqqqqqqpqqqpqpqqqqqqqpqqqqqqqqqqqqpqqpqqqqqqqqqqqqqqpqqqqqpqqqqppqqqqqqqqqqqqqpqqqqqqqqqqqppqqqpqpqqqqqqpqqppqqqpppppppppppppppppppppppppppppppppqqqqqqppqqpppqqqpqqqpqqqqqqqqqqqqqqqqqqqpqqqpqqqqqpqqqpqqqqpqpqqqqqpqqqqqpqqqqqqqqqqqqqqqqqpqqpqqqqqqpqppppqqqqqqpqqqqqqqqqqqqqpqpqqqqqqppqqpqqqqqqqqqpqqqqqqqpqqqqppqqqqpqqqpqqppqqqqqpqqqpqqpqqqqpqqqqqqqqqqqqpqqqqqqqpqpqqqqqppqpqqqqqpqqqqqqpqqqqqqqqqqqqqqqpqqqqqqqppqqqqqqpqpqqqqqqqqpqqqqpqqqqqqqpqpqqqppqqqqqpqqqpqqqpppqqqppqqqppqqqqqppqqpqpqqqpqqqqqpqpqqqqqppqppqpqqqqqqqqpqqpqpqqqqpqqqqqppqqqpqqpqqpppqpqqqqqqqqqpqqqpqqppqpqqqqqqppqqpqqpqpqpqqqpqqpqpqqqppqqqpqqppqqpqqqqqpqqqqqppqpqqpqppqqqpqqpqqpppqppqqpqqqqppqqqpqqqpqqpppqqqqpppppqqqqqpqqqppqqpqppqqqqqqpqqqqpqqppqpqqqqppqqqqqqqqqpqqppqqqqqqqqqqpppqqqqppqqpqqqqqqpqqpqqqqqqqqqqpqpqqqqpqqqqppqqqqqqqqqqqqpqqpqqppqqpqpqqqqqpqppqqqqqqqqqqppqqqqqqqqqqqpqpqppqpqqqqqqqqqqqqpqqqqqqqqqqpppqpqpqqqqqqqpqqqqqqppqqqqqqppqqqqpqqpqppqpqqpqqqqqqqqqqqqpqqqqqqqqqpqqpqpqppqppqqqqqqqqppqqpqppqpqqpqqqqqpqpqqqqqqpqqpqpqqqqpqpqqqqppqqqpppqpqqqqqpqppqpqqqpqqqqpqpqpqqqqqqpqqqqqqpqqqqqqppqqpqqqpqqqqpqqqppqqqpqqqqpqqqqqqqpqqqqpqpqqqpqqpqqqpqqqqqqqqqpqqqqqqqpqqqqqpqpqqppqqqqqppqpqqqqqqqqqqqqqqqqqqqqqqqqqpppqqqqqqpqqqpqqqpqqqqpqqqqppqpqqppqqqpqpqqqqqpqqqqqqqpqpqqqqqpqqpppqqqqppqqqqqqqqqqqqqqqqqpqqqqqqppqppqqqqqqqpqqqpqqpqpqqqpqpqqqpqpqqpqqpqqqqqpqpqppqqqqqqpqqqqqqqqqqpppqppqppqqqppqppqpqqqpqqqpppppqqpppqqpqpqqqqqpppqqqqpqqqqqqqqpqqqqpqqqqpqqqqqqqpqqqqpqqqpqppqqppqpqqqqqqqpqqqqqqqqqqqqpqqpqqppqqqpqpqqqppqqqqqqpqqppqqqqqqqqqpqqqqqqqqqqqppppqqqpqqqppqqqqpqqqqqppqqqpqqqqqpqqpqqqqpqpqqqqpqqqqqqqqqqqpqpqqqppqqpqqqpqpqqqqpqqqpqqqqqqqqqpqqqpqqpqqqqqqqpqpqqpqqqppqpppqqqqqqqqpqqqqqqqqpqqqqpqqqqqpqqpqqqpqqqqqqqqqqqqqqppqpqqqqqqqqpqpppqqqqqqpqqqpqqqqqqqqqqqqqqqpqqqqqppqqqqqqqqqqqqpqqqpqqpqqqqqqppqqqqqqqqqqqqqqqpqqpqpqqqqqqqpqqqqqqqpqqqqqqqqqppqqqpqqqqpqpqqqqqqqqqqqqqqqqqqqqpppqqqpqppppqpqqqpqqpqpqqqppqqqpqqpqqqqqqqqqqqqqpqqppqqqpqqqppqqpqqqqqqqqqqqqqpqqqqqqqpqqqpqppqqqqqpqqqpqqqqqqqqqqqqqqqqqqqqqqqqqpqqqqqpqqqqqqpqqqqqqqqqqqqppqqqqqpqpqqqqpqqppqqqppqqqqqqqpqpqqqqpqqqqqqqqqqqqqpqqpqqqqqpqqpqppqpqqqpqqqpqpqqqqqqqqqqqqqqqpqpqqqqqqqpqqqpqqqpqqqqqqqqqqqqpqqqppqqqqpqqqpqpqqppqqqqqqqqqqpqqqqqqqqqqpqqqpqqqqqqpqqqqpqqqqqqppqqpqqqqpqqqqpqqpqqqqqqqqqqqqqqqppqqqqqqqppqqqpqqqppqqqqpqpqqqqqpqqqqqqpqqqpqqqqqpqqpqqqpqqqqqqqpqqqqqqqqqqqpqqpqqqqqqqpqqqqqqqqqqqqqqqpqpqqqqqqqqqqpqqqqqqqqqqqqpqqqpqqqqqqqqqqqqqpqpppqqppqqqqqqqqqqqqqqpqqqqqqqqqqqpqqqqpqqqqqqqqqqqqqqpqqpqqqqqqqpqqqqpqqqqqqqqqqqqqqqqqqqqqqqpqqqqqqqqqqqqqqqqqpqqqqqqppppqqqqqqqqqpqqqqqpqqqpqqpqqpqqqpqqqqqqqqqqqpqpqqqqqpqqqqqqqqqqqqqqqqqpqqqqpppqqqqqqqqpqpqqqqqqpqqqqqqqqqqqqqqqqpqpqqqqqqqpqqqqqqpqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqpqqqpqqpqqqqqqqqqqqqqqqqpqqqppqqqqqqqqqqqqqqqpqqqqqqqqpqqqqqqqqqqpqqqpqqqppqpqqpqqqqppqppqqqqqqqqqqqqqqqqqqqqqqqqpqqqpqqqqppqqqqqqqqqqqqqqqqpqqpqqqqpqqpqqpqqqqpppqqqqpqqqpqqqppqqqqqppqqqqqqqqqqqqpqqqqqqqpqqqqppqqqqqqqqqqqpqqpqqqpqqqqqqqqqqqqqqpqqpqqqqpqqqqqqqppqqqqqqqqqqqqqqqqqqqqqqpqpqqqqqqqqqqqqqpqqqpqqqqqqqpppqqpqpqqpqpppqqqqqqppqqqqqqqqqqqqqqqqqqqqqqqqqpqpqqqqqqpqqqqqqqqppqqqqqqqqpqqqqqqqpqqqqpqqqqqqqqpqqpqqqqqppqqppqppqppqqppqqqpqqqpqppqqqqqqqqqqqqqpqpqqqqpqqqpqqqqppqqpqqpqqqpqpqpqqqqqqqpqpqqqpqqqqpqqqqpppqpqqqqpqpqpqqppqqpqpqqqqpqppqqqqqqqqqqqpqqqpqqqppqpqqqqpqqpqqqppqqqppqqqpqqqqqpqpqqqqqqqpqpppppqqqqpppqqpqqqqqqppppqqqpqpqpqpqpqqpqqqqpqqpqqqqpqqqqqpqqpqpqqqpqpqpqqpqpqqqpqpqqqqqqpqqqqqqpqqqqppqqqpqpqqqpqqqqqqpqqqppqqqqqqppqppqqqqpqppqqpqpqqpqqpqqqqpqppqpqqqqqqppppqpqppppppqqqqqqpqqqpqqqqqqpppqpqqpppqpqpqqqpqqqppppqppqqqqqqqqqqpppqqqqpqqpqqqpqpqpqqppqqqppqqqqqqqpqqqqqqqpppqpqqppqqpppqqqqpqqqqqqqqqqppqqqqpqqqqqqqqqqqpqpppqpqqqqqpqqqqqpqqqqqqqqpqpqqqqqqppqpqpqqqqqqqpqqpqqpqqqpqqqqqqqqqqqpqqqqqqqpqqqqpqqqqqqqqqpqqqqpqqqqqqppqqqqqpqqqqppqqqpqqpppqqqqqqqqqppqpqpqqqqqppqpqqpppqqpppqqqqppqqqpqqqqqpqqqqqqpqqqqqpqqqppqqqqpqpqqqqpqqpqqqqqpqpqqqqqqqqqppqqqqqqqqqpqqpqqqpqppqpqpqqqqpqppqqqqqqqpqqqqppqqqqpqqpqqqpqqpqpqqqqpqqqppqqpppqqqqpqppqpqqqqqppqqpqqpqqqqqqqqqpqqqpqqqqpqqqqpqqpqqqqqpppqqqqqpqqpqqqpqqqqqppqpqqqqqppqqqqppqpqqqqqppppqqqpqqppqqqqpqqqqqqqqpqqpqqqqqpqqqqqqqpqpqqqqqqqpqpqqpqqqpqpqqqqqqqqpppqppqpqpqpqqpqppqqqqqqppqqqqpqppqqpqqqqpqqqqqqqpqppppqqqppqpqpqqpppqqqpqqppqqpqqpqqqpqqqqqpppqqqqpqqqqqpqqpqqqqpqqqpqqqqpqqqqpqqqqqqqqqpqqqqqqqqqqpqqppqqqqqpqqqqqqqqqqqqqqpqqqqqqqqpqpqqqqqqpqqqqpqpppqppqqqqqqqqqppqqpqpqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqpqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqpqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqpqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqpqqqqqqqqqqqqqqqpqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqpqqqqqqqqqqqpqqqqqqqqqqqqqqqqqqqqqqpqqqqqqqqqqqqqqqqqqqqqqqqqqqqqpqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqpqqqqqqqqqqqqqqqqqqpqqqqqqqqqqqqqqqqqqqqqqqqqpqqqqqqqqqqqqqqqqqqqqqpqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqpqqqqpqqqqqqqqqpqqqqpqqqpqqqqqqqqqqqqqqqqqqqqqqqqqqqqpqqqqqqqqqpqqqqqqpqqqqqqqqqpqqqqqpqqpqqqqqqqqqqqqqqqpqpqqqqqqqqqqqqqpqqqqqqpqqqqqqqqqqqqqqqpqqqqqqqqqqqqqqqqqpqqqppqpqqpqpqqpqqqpqqqqqpqqqqqqqqpqqqqqqqpqqqqqqqqqqpqqqqqqqqqqqqpqqqqpqqqqqpqqqqqqpqqqqqqqqqqqqqqqqqqqqqqqqqpqqqqqqpqqqqqqqqqqqqqqqqqqqpqpqqqqqqqqqqqqqqqqqqqqpqqqqqqpqqqqqqqqqqqqqqqqpqpqqpqqqqqqqqqqqqqqqqqqpqqqqpqqqqqqqqqqpqqpqppqqpqqpqqpqqpqqqqpqqqqqqqqpqqqqqqqpqqqqqqqqqppqpqqqqqqqqpqqqqqqqqqqqqqqqqqqqqqqqpqpqpqqqqqqpqqqpqqqqpqqqqqqqqqqqpqqqqpqpqqqqqqqqqqqpqqqqqqqpqpqqqqqpqpqpqpqqqqqqqpqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqppqqqqqpppqqqqqqqqqqqpqqqqqqqppqqqqqqpqqqpqqqqqqqqpqqqqpqpqqqqpqqqqqpqpqqqqqqqpqqqpqqqpqqqpqqqppqqqqqqqqqqpqqqqqqpqqpqpqqqqqqqqqqqqqqpppqqpqqqpqpqqqqqqqpqpqqqqqqqqpqpqqqqqqpqqqqppqqpqpqqqqqqqpqqqpqqqpqqqpqqqqqqqqqqpqqqqqqqqqppqqpqqpqqqpqqqqpqppqpqqqpqppqpqqqpqpqpqqpqqqqqqqqqqqppqqpqqpqqpqqpqqpqpqqqqqppqqqqpqqqqpqqqqpqqqqqqqqqpqqpqpqqqqpqqqppqqqqqpqpqqpqqqqqpqqqpqppqqqqqqqqqqqqppqqqpqqpqpqqpppqqqpqqpqpqpqqqqqpqpqqqqqpqqqppppqqqqqqqppqpqqqpqpqppqqqqpqqqqqqpqqqppqpppqqpqpppqqqqpqqqqqpqqpqqqqpqpqqqqqqqpqqqqppqpqqpqppqqqqqqqpqpqqqqqpqpqqqppqpqpppqqqqqqqqqpqqqpqqqqqpqqqppqpqqppqqpqqpqqqqqqqqqqqqqqpppqqqqqqqqqpqqpqqqqpqqqqqqqqqqqqqqqqqqqqpqqqqqqqqqqqqqqqqqqqqpqpqqqqppqqqqpqqqppqppqqqqpqpppqqppqqpqqqqqqqpqqqpqqqpqqqqqqqqqqqqqqqqqqqqqqqqqqqqqpqpqpqpqppqqqqqpqpqqqqqqqpqqqqqqqqqqqqqqqqqqqqqqqqqqqqqpqqqqpqqppqqqqqpqqqqqqqqqqqqqqqqqqpqqqqqqqqpqpqqqqqqqpqqqqqqqqqqqqpqqpqqqqqqqqqqqqqqpqqqpqqqqqqqqqqqqqqqqqqqqqqqqqqqqqpqqqqqqpqqqqqqqqqqqpqqqqqqqqqqqpqqqqqqqqqqqqqqqqpqqqqqqqqpqqqppqqqqqqqqqqqqqpqqqqqqqqqqpqpqqqqqppqqqpqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqpqpqqqqpqqqqqqqpqqqqqqqqqpqqqqqqqqpqqqqqqqqqqqqqqqqqpqqqqqqqpqqqqqpqqqqqqpqqqpqqqqqqqqqqqqqqqqqqqqpqqqqqqqpqqqqqqqqqqqqqqpqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqpqqqqqpqqqqqqqqqqqpqqqqqqqqqpqqqqqqqqqqqqqqqqpqqqqqpqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqpqqqqqqqqqqqqpqqpqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqpqqqqpqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqpqqqqqqqqqqqqqqqpqqpqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqppqqqpqqqqqpqqqqqqqqqqqqqqqqqqqqqqqqqqqqpqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqpqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqpqqqqqqqqqqqqqqqqqqqqqqqpqqqqqqqqqqqqqqqqqqqqqqqqqqqqpqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqpqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqpqqqqqqqqqqqqqqqqqqqqqqqqqqqqppqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqpqqqqqqqqqqqqqqqqqqqpqqqqqqqqqqqpqqqqqqqqqqqqqqqqpqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqpqqqqqqqqqpqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqpqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqpqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqpqqqqqqqqqpqqqqqqqqqqqqqqqqqqqqqpqqqqqqqqqqqqqpqqqqqqqqqqqqqqqqpqqqqqqqqqqqqqqqqpqpqqqqqqpqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqpqqqqqqqpqqqqqqqqqqqqqqqpqqqqqqqqqqqqpqqqqqqqqqqqqqqqqpqqqqqqqqpppqqqqqqqqqqqqqqpqqqqqqqqpqqqqqqqqpqqqpqqqqqqpqqqqqqqpqqqqpqqqqqpqqqqqqqpqqqpqqpqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqpqqqpqqqqqqqqpqqqpqqqqqqqqqqqqqqqqqqpqpqqqqqpqppqqqqqqqqpqqqqqqqqqqqqqqqqqqqqqqqpqqqqqqqqqqqqqpqqqqqqqqqqqpqppqqqpqpqqqqqqqpqqpqqpqqqqqqqqqqqqpqqqqpqqqqpqqqqqqqqqqqqqqqqqqqppqqqqqqpqpqqpqqqpqppqqqqqqppqqpqqqqqqqqqqpqppqqqqqqpqqqpqqpqqqqpqqqqqqpqqqqpqqqqpqqqqqppqqqqqqqpqpqqqppqqqpqqqqqqppqqqqqqqpqqqqqqqqqpqqqppqpqqqpqqqqqqqpppqqqqqqqqqqpqqqqqqqqqqqqqqqqqqqqqqqqqqppqqpqqqqqqqqqqqqpqqqpqqqqqqqqqqqqqqqqpqpqpqqpqqqpqpppqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqpqqpqqqppqqqqqqpqpqqqqqqqqqqqqpqqqqqqpqqqqqqpqpqpqppqqqpqqqpqqpqqqpqqpqqqqqpqpqqpqpqqqqqpqqpqqqqpqqqqpqqqpqppqqqqqpqqqqqqqqqqqqqqqqqpqqqqqqqqqqpppqqqqqqqqqqqqqqpqqqqqqqqqqqqqqqqqqqqppqqqqqqqqqqqqqqpqqqqqqqqpqqqqqpqpqqqqqqqqqppqqqqqqqqqqqqqqqqqqqqqqpqqqqqqqpqpqqqqqqqqqqqqqqpqqqqqqpqqqqqqqqqqqqqqqqqqqqpqqppqpqqpqqqqqqqqpqqpqqqpqqqqqppqqqqqqqqpqpqqqqqqqqqqqqqpqqqqqqqqqqqqpqqqqqqqqqqqqqppqqqqqqqqqqqqqqqpqqqqppqqpqqqqqqqqpqppqqpqqqqqqppqqpqqqqqpqqqqqqqqqqqqqqpqqqqqqqqqqqqqqqpqqqqqpqpqqqqqpqqpqqqqqqqqpqqpqqpqqqpqqpqqqqqqqqqqqqqpqqqqqqqqqqqqqppqqpqqpqqqqqpqqqqqpqqqqqqqqqpqqqqqqqqqqqqqqqqqpqqqqqppqqqqqqqqqpqqqqqqpqqqqqpqqqqqqqqqqqqqqqpqqqqqqppqqqqpqqqqqqqqpqqqqqpqqqqqqqqqqqqqqqqqqqqpqqqpqqqqqqpqqqqqqqqqqqqqqpqqqqqqqqpqqpqqqpqqqqpqqpqqpqqqqqqqpqqqqqqqqpqqqqqqqqpqqppqqqqqqqqqqqqqqqqqqpqqqqqqqqpqqqqqqqqqqqpqqqqqqqqpqqqqqqqqqqqqqqqqqqqqpqqqqqqqqqqqqqqqqpqqqqqqqqqqqpqqqqqpqqqqqqqqqqppqqqqqqqpqqqqqqqpqqqqqqpqqqqqqqqqqqpqqqqqqqqqqqqqqqqqqqqpqqqqqqqqqqpqqppqqqqpqqqqpqqqqqqpqqpqqpqqqqpqqpqqpqqqqqqqqqqqqqqqpqqqqqqqqqqqqqqqqqqqqqpqqqqqqqpqqqqqqqqqpqqqqqqqqqqqqqqqqqqqqqqqqqqqqpqqqqqqqqpqqqqqqqqqqqqqqqqqqqqqqqqqqqqqppqqpqpqqqqqqqpqqqqqqpqqqqqqqqqpqqqqqqqqqqqpqqqpqppqqqqqqqqqqqqqqqqqqpqqqqqqqqqqqqqqqqqqqqqqqqqqqpqqqqqqqpqqqqqqqqqqqqqpqqqqqpqqqqqqqqqqqqqqpqqqqqqqqqqqqqqqqqqqqqqqqqqqqpqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqpqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqpqqpqqqqqqqqqqqqqqpqqqqqqqpqqqqqqpqqqqqqqqqqpqqqqqppqqqqqqqqqqpqpqqqqqqpqqqqqqqqqqqpqqqqpqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqpqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqpqqqqqqpqqqqqqqqqpqqqqqqpqqqqqqqqpqqqqqqqqqqqqqqpqqqqqqqqqqqqqqqqqpqqpqqqqqqqqqpqqqqpqqqqqqqqqppqqqqqqqqqqqqpqqqqqqqqqqqqqqqqqqpqqqqqqqpqqqqqqqqqqqqqqpqqqqqppqqqpqqqqqqqqqqpqqqqqqqqqqqqqqqpqqqpqqqqqqqqqqqqppqqqpqqqqqpqqqqqqqqqqqqpqqqqqqqqqqpqqpqqqqqqqqqqqqqqpqqqqqqqqqqqqpqqqqqqqqqqqqqqqqqqqqqqqqqqqqpqqqqqqpqppqqqqpqqqqqqqppqqqpqqqqqqqqqqqqqqqqpqpqqqqqqqpqqqqpqqqqqqqqpqqqqqqqqqqqqqqpqqqqqqqqqqqqqqqqqqqqpqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqpqqqqqqqqqqqqqqqqqqqqqqqqqqqpqqqppqqqqpqqqqqqqppqqqqqqqqqqqqqqqqqqppqpqqqqpqqqqqqqppqqqqqqqqqqqqqqqqqqqpqqqpqqqqpqqqqqqqqqqqppqqqqqqqqqqpqpqqqqqqqqpqqpqqqqqqpqqqqqqqqqqqpqqqqqpqpqqqpqqqqqqqqqqpqqqqqqqqqqqqqqpqqqqqqqqqpqpqqqpqpqqqpqqqpqqqqqqqqqpqqpppqqqqqqqqqqqqqqqqqqqqqqqqpqqqqqqqqqqqqqqqqpqqqqqqqqqqpqqpqqqqqqpqqqqqqqqqqpqqqqqqqqqqqqqqqqqqpqppqqpqqpqpqqqqqqpqqqqqqqqqqqqqqqqqqqqqqqqpqqqqpppppqqqqpqqpqqqqqqqqpqqqqqpqqpqqqqqqqqqqqqqqqqpppqqqqqpqqqqqqqqqppqqqqqqqqpqqpqqqqqqqqqpqpqqpqqqqqqqqqpqpqqqpqqpqqqqqpqqqqpqqqqppqqqqqqqqqqqqppqqqqqqqqqpqqqqqqqqqqqpqqpqqpqqqqpqqpqqqpqqqqqqqqqpqqqqqqqpqqqqpqqqqqqqqpqpqpqqqqpqqqqpqpqqpqqqqqqpppqqqppqqqqpqppqpqqqpqqqqqqqqqqqppqpqqqqppqqqpqqqqqqqqqpqqqqqqqqqqqpqpqqqpqqqqqqqqqqpqqqqqpqqqqqqqpqqpqqpqqqpqpqqqqqqqqqqqqpqpqqqqqpqqppqqqqqpqqqqpqqqqqpqqqqqpqqqqqqqqqqqqqqpppqqqqqqqqpqqqqqqqqpqqqpqqpqqqqqpqqqqqqppqpqqqqqqqqqqpqqqqpqqqpqqppqqqppqqqqqqqqqpqqqqqqqqqqqqqqqqqqqqqqqqqpppqqpqqqpqqqpqqqqqqqqqqqqqqqqqqqqqqqqqpqqqpqqpqqpqqqqppqqqpqpqqqqpqpqpqqppqqqpqpqpqqpppqqqqqqqqqppqqqqqqqqqqqqpqqqqpqqqqpqpqqqqqqqqqqqqqqpqqqpppqqqqqqqpqppqpqqqqppqqqqqqqpqqqpqqqqpqqpqqqpqqqqqqqpqpqqqqqqqqpqqqqqqqpqqpqqqqpqqqqpqqpqqpqqpqqqpqqqqqqqqqpqqpqqqpqqqqpqpqqqqqqqqqpqpqqqppqqqqqqqpqqqqqqqqqqqqqqqqqqqqqqqqqqpqqqqqqpqqpqqqqqpqqqqpqqqqqqqqqqqqppqqqqpqqqqppqqqqqqqqqqqpqqqqqqqqqqqpqqqqqqqqpqqqqqqqqqpqpqqqqqqqqqqqqpqqpqqqqqqqqqqqqqqqpqqpqqqqqqqpqqqqqqqqqqqqqqqpqqqqqqpqqqqqqpqqqqqqqqqqpqqqqqqqqqqqqqqqqpqqqqqpqqqqqqqqqqqqqqpqqqqqqqqqqqqqqqqqpqqqqqqqqpqqqqpqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqpqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqpqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqpqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqpqqqqqqqqqqqqpqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqpqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqpqqqqqqppqqqqqqqqqqppqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqpqpqppqqqqqqqqqqqqqqqqqqqqqqpqqqqpqqqqqqqpqqqqqqqqqqqqqqpqqqqqqqqqqpqqqqqqqqqqqpqqqqqppqqpqqqqqqqqqqqqqqqqqpqqqqqqqqqqqppqqqqqqqqqqqqqqqqqqqqqqqqqqqqqppqqqqqpqqpqppqqqqqqqqqqqqqqqqpqqqppqqpqqqqqqqqpqqqqqqqqpqqqqqqqqqqqqqpqqqpqqqqqqqqqqqpqqqqpqqpqqqqqqqqqqqpqqqqqqqqqqqqqpqqqqqqpqqqqpqpqpqqqpqqqqqqqqqqqpqqpqqqqqqqqqpqqqqqqqqpqqpqpqqqqqpqqqqqqqpqqqqqqqqqqppqqqqqqqqqqqqqqqqqqqppqqqqqqqqqqqqqqqqqqqqqppqqqpqqqpqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqpqqqpqqqpqqqqqqqqqqqpqqqqqqqpqqqqpqqqqqqqqqpqqqqqqqqqqqqqqqqqqqqqqqqpqqqqqqpqqqqqqqpqqqqqqqqqpqqqqqqqqqqqqqpqpqpqqqpppqqqqqpqqqqqqqqpqqpqqqqqqqqqqqqqqqqqqqpqqqqqqqqqqppqqqqqqqpppqqqqqqqqpqqqqqpqqqqqqqqqqqqqqqqpqqqpqqqqpqpqqqqpqqqpqpppqqqpqqppqqqqpqqqqqqqpqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqpqqqqqqqqqqqqqpqqqpqqqpqppqqqpqqqqqqqppppqqqqqqqpqpqqqpqqpqqqqqqqqqqqpqqqqqqpqqqqqppqqqqqppqqqppqqpppqqqqqqqqpqqqqqqqqqqqqqqqqppqqqqpqqqqpqqqqqqqqpqqqqqqqqqqqqqpqqqqqqqqqpqqqqqpqqqqqqqpqqqpqqqqqqpqqqqqqqqpqqqqqqqqqqqqqqpqqpqqpqqqqqpqqqqqqqqqpqqqqqqqpqqqqqqqqqqppqqqqqqqqqqqqqqqqqqpqqqqqqpqqqqqqqqqqqqqqpqpqpqqqpqqqqqqqpqpqqqqqpqqqpqqqqqpqqqqpqqqqqqqqqqqqqqqqqqqqqpqqqqqqqqqpqqqqqqqqqqqqqqqqqqqqpqqqpqqqqqqqqqqqqqqqqpqqqpqpqqqqqqqqqqqqqqqqqqqqqqppqqqpqqqqqqqqqqqqqpqqqqqqqqqqqqqpqqqqqqqqqqqqqqqqqqqqqpqqqqqqqqqpqqqqqqqqqqqpqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqpqqqqqqqqqqpqqqqqqqqqqqqqqqqqqqpqqqqqpqqqqqqqqqqqqqqqqqqqqqqqqqqqpqqqqqqqqqqqqpqqqqqqqqqqqqqqqqqqqpqqqqpqqpqqqqqqpqqqqqpqqqqqqqqqqqqqqqqqqqqqqqqqqqpqqqqqqqqqqqqqqqqpqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqpqqqqqqqqqqqqqpqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqpqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqpqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqpqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqpqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqpqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqpqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqpqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqpqqqqqqqqqqqqqqqqqqqpqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqpqqqqqqqqqqqqqqpqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqpqqqqqqqqqqqppqqqqqqqqqqqqpqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqpqqqqqqqqqpqqqqpqqqqqqqqqqqqqqqqqqqqqqqqqqqpqqqqqqqqqqqqpqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqpqqqqqqqqqqqqqqqqqqqqqqqqqqqqpqqqqqqqqqqqqqqqqqqpqqqqpqqqqqpqqqqqqqqqqqqqqqqqqpqqqqqqqqqqqqqqqppqpqqqqqqqqqqqqpqqqqqqqqqqqqqqqqqqqppqqqpqqpqqqpqqqqqqqqqqpqqqpqqqqqqqqqqqqqqqqqqqqqpqpqqqqqqqqqqqpqqqqqqqqqqpqpqqqqqqpqqqqqqqqqqqqqqpqqqqqqppqqqqqpqpqqqqqqqqqqpqqqqqqqqppqqqqqqqqqqqqqpqqpqqqqqqqqqqqqpqqqqpqqqqqqqqqpqqqqqqpqqqqqqqqqqqqqqpqqqqqqqqqqqqqqqqqqqqppqpqqqqqqqqqqqqqqqqqqqqpqqqpqqpqqqqqqqpqppqqqqqpqqqqpqpqqpqqqqqqqqqqqqpqqqqqpqqqqpqqqqqqqqpqppqqqpqqqqqqqqqpqqqqqqqqpqqqqqqqqqqqqqqqqqqqqpqqqqqqqqqqpqqqpqqqqpqqqqqqqqpqpqppqqqqqqqqqqpqqqqqqqqpqqqqqqqqqqqqqpqqqpqqqpqqqqqqqqqqqqqqqqpqqqqqqqqqqppqqpqpqqqqqqqqqqqqqqppqqqqqqqpqqqqqqqqqqpqpqqpqqqqqqqqqqqqpqqqqqqqqqqqqpqqqqqqppqqqqqqqqppqqpqqqqqqqqqqqqqpqqqqqqqqqqqqqqqqqqpqqqqqqpqqqqpqqqpqqqqqpqppqpqqqpqqqqqqqqpqqqqqqpqqqqqqpqqqqqqpqqqqqqqqqqqqqqqqqqqqqqqqqqpqqqqqqqqqqqqpqpqqqqqqqqqqpqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqpqqqpqqpqqqqpqqqqqqqqqqqqqqqqqqqqqpqpqqqqqqqqqqpqpqqqqqqqqqqpqqqqqqqqqqqqqqqqqpqqqqqqqpqqppqqqqqpqqqqqqqqqqqqqqqqqqqqqqqqqqpqqpqqqqqqqqqqqqqqqqqqqqqqpqqqqqqqqqqqqqqqqqpqpqpqqqqqqqpqqqqqqqqqqpqqqpqqqqqqqppqqqqqqqqpqqqqpqqqqqpqqqqpqqqqqqqpqpqqqqpqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqpqqqqqqqpqqqqqqqqqqqqpqqpqqpqqqqqqqqqqqqqpqqqqqqqqqpqqpqpqqqqqqqqqqqqqqqqqqqqqqqpqqqqqqqqpqqqqqqqqqqqqqqqqqqqpqqqqqqqqqqqqqqqpqppqqqqqqqqqqqqpqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqpqqqqqqqqqqpqqqqqpqqqqqpqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqpqqqqqqpqqpqqqqqqqqqqqqqqqqqqpqqqqqqqqqqqqqqpqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqpqqqqqqqqqqqqqqqqqqqqpqqpqqqqqqqqqqqqqpqqqqqqqqqqqqpqqqqqqqqqqqqqqqqqqqqqqqpqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqpqqqqqqqqqqqqqqqqqqqqqqqqqpqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqpqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqpqpqqqqqqqqqqqqqqqqqqpqqqqqqqqqqqqqpqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqpqqqqqpqqqqqqpqqqqqqqqqqqqqqqqqqqqpqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqpqqqqqqqqqpqqqpqqqqpqqqqqqqqqqqqqqqqqqqpqqqqpqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqpqpqqpqqpqqqqpqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqppqpqqqqqqqqqpqqqqqqqqqqqqqqqqqqpqqppqqqqqqqqqqqqqpqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqpqqqqqqpqqqqqqpqqqqqqqqqqpqqqqqqqqqqqpqppqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqpqqqqqqqqqqqqqqqqqqqqqqqpqqqqpqqqqqqpqqqqqqqqpqqqqqqqqqqqqqqqqqpqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqpqqqpqqqqpqqqqqqqqqqqqqqqqqqqqpqqqqpqqpqqpqqqqqpqqqqqqqqqqqqqqpqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqpqqqqqqqqqqqqpqqpqqqqqqqqqqqqqqqqqqqqqqqqqqpqqqqqqqqpqqqqqqqqqqqqqqqqqqqqqqpqpqqqqqqqqqqqqqqqqqpqqqqqqqpqpqqqqpqqqqpppqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqpqqqpqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqpqqpqqqpqqqpqqqqqqqqqqqqqqqqqqpqpqqqqqqqqqqqqqqqqqppqqpqqpqpqqqqqqqqpqqqqpqqqpqqpqqqqqqqpqqqqqqqqqpqqqpqqqqpqqqqqppqqqqqqqqpqpqqqqqqpqpqqqqpqqpqqqqqqqqqqqqqqqqqqqqpqqqqqqqqqqqqqpqqqqppqqqqqqqqqqqpqqqqqqqpqpqqqpqqqqppqqqqqqqqqqqpppqqqqqqqqqpqqqqpqqqqqqqpqqqqqqqqqqqqqqqpqqqqqqqqqqpqpqqqqqqqqqqqqpqqqqqqpqqqqpqqqqqqpqqqqqqqqqqpqqqqppqqqqqqqqpqqqqqpqqqqqqqqppqqqqqqqqqqqqqpqqqqqqqpqqpqqqqqqqpqqqqqqqqpqqqqqqqqqqqqqqqpqpqqqqqqqpqqqqqpqqqqqqpqqqqqqqppqqqppqqqqqqqqqpqqqqpppqqqqqqqqqqqppqqqqqqppqqpqpqqqqqqqqqqqqqqppqqqqpqqppqqqqqpqqpqqqqqqppppqqqqpqqqqqqqqqqqqqqpqqqqpqqqqqqqpqppqqqqqqqpqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqpqqqqqqqqqqqqqqqqqqqpqqqqqqqqqqqqqqqqqqqqqqpqqqqqqqppqqqqpqpqqqqqpqqqqqqppqqqqqqqqqpqqqqqqqppqqpqqqqqqqqqqpqpqqqqqqpqqqqqpqqqqqqpqqqpqqqqqqqqqqqqppqqqqqpqqqqqqqqqqqqqqppqqqqqqpqpqqqqpqqqqqqpqqqqqqqqqqqqqqpqpqqqqqqqpqqqpqqqqqqqpqpqqqqqpqqqqpqpqqqqqpqqqqqqqqqqqqqqqqqqqqpqqqqqqqqqpqqqqqpqqpqqqqqqqqqqqqqqqqqqqqqqpqqqqqqpqqqqqqqqqqqqqqpqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqpppqqqqpqqqqpqqqqqqppqqqqqqqqqqqpqqqqqqqqqqqqqqqqqqqqqqqqqqppqqpqqqqqqqqqqqqppqqqqqqqqqqqpqqqqqqqqqqqqqqqqqqqqqpqqqqqqpqpqqqqqpqqqqqqqpqqqpqppqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqpqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqpqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqpqqqqqqqqqqqqqqqqpqqpqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqpqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqpqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqpqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqpqqqqqqqqqqqqqqqqqqpqqqqqqqqqqqqqqqqqqqqqpqqqqqqqqqqqqqqqqqqqqqqpqqqqqqpqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqpqpqqqqqqqqqqqqqqqpqqqqqqqqqqqqqqqqqqqqqqqpqqqqqqqqqqqqqpqqqqpqqqqqqqqqqqqqqqqqqqqqqqqqqpqqqpqqqqqqqqqpqqqqqpqpqpqqqqqqqqqpqqqqpqqqqqqqqqqqqqqqqqqqqqqqqqqqqppqqqqqppqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqpqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqpqqqqqpqqqpqqqpqpqqqqqqpqqqqpqqqqqpqqqqqqpqqqqqqqqqqqqqqqqqqqpqpqqpqqqqqpqqqqqqqpqqqqqqqqqqpqqqqqqqqqqqqqqqqpqqqqqqqqqqqqppqqqqpqqqqpqqqqqqqqqqqqqqqqqqqpqqqqqpqqqqqqqqqqqqqqqppqqqqqqqqppqqqqqqqqqqqqqqqqqqpqqqqqqpqqqqqqqqqqqqqqqqqqqqqqqqqqqqpqqqpqqqqqqqqqqqqqpqqqqqqpqqqqqqqqqqqqqqqqqqqqpqqqqpqqqqqqqqqqqqqqqppqqqpqqqqqqqpqpqqqqqqqqpqqqqqqqpppqqqpqqqqqpqqqqqqqqqqqqqqqqqpqpqqqqqqqpqqqqqqqqqqqpqqpqqqqqqppqqqqpqqqqqqqqpqpqqpqpqqqqqqqqqqqqqqqpqqqqqqqqqqqqqqpqqqqqppqqqqqqqqqqqqqqqpqqqqpqqpqqqqqpqqqqqqqqqqqqqqqpqqqqqpqqqqqqqqqqqqqqqpqqqqqqqqqqqqqqqqqqqqqqqqqqpqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqpqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqpqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqpqqqqqqqqqqqqqqqqqqqqqqqqpqqqqqqqqqqqqqqqqpqqqqqqqqqqpqqqqqqqqqqqqqqqqqqqqqqqpqpqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqpqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqpqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqpqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqpqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqpqqqpqqqpqqqqqqpqqqpqqqqqqqqqqpqpqqqqqqqqqqpqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqpqqqqqqqpqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqppqqqqqqpqpqqqqqqqpqpqqqqqqqqqpqqqqqqqqqqqpqqqpqqqqqqpqqqqqpqqqqqpppqqqqqqqqpqqqqqqqqqqqqqpqqpqqqqqpqqqqqqqqqqqqqqqqqpqqqqpqqqqqqpqqqqqqqqqqqqpqqpqqqqqqqqqqqqqqpqqqqqpqqqqqqqqqqqqppqqqqqpqqqqqqqqqqqqpqqpqqqqqqpqqqqqqqqqqqqqqqqqqqqqqpqqqqqqqpqqpqqqqqqqqqqqqqqqppqqpqqqpqqqqqqqqqqqqqqpqqpqqqqqqqqqqqqqqqpqqqqqqqpqpqqqqqqqqqpqqqqqqqqqqqqppqqqqqqqqqqqqqqqqqqqqqpqqqqqqpqqqqqqpqpqqqqqqqqpqqqpqqqqqqpqqqqqqqqpqqqqqqpqqqqqpqqqqqqqqqqqqqqqqpqqpqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqpppqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqpqqqqqqqqqqqqqqqqqqqqqqqpqqqqqpqqqqqqqqqqqppqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqpqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqpqqpqqqqqqqqqqqqqqqqqqqqqqqppqqqqpqqqqqqqqpqqqqqqqqqqqqqqqqpqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqpqqqqqqqqqqqqqppqqpqqqqqqqpqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqpqpqqqqqqqqpqqqqqqqqpqqpqqqqqqqqqpqqqqqqqqqqqqqpqqqqqqqqqqqqqqpqqqqqpqqqqqpqqqqqpqqqqqqqqqpqqqqqqqqqqqqqqqqqpqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqpqqqqqqqqqqqqqqqqqqqqqqqqqqqpqqqqqqqqqqqqqqqqqqpqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqpqqqqqqqqqqpqqqqqqqqqqqqpqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqpqqqqqqqqqqqqqqpqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqpqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqpqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqpqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqpqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqpqqqqqqqqqqqqqqqpqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqpqqqqqpqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqpqqqpqqqqqqqqqqqqqqqqqqqqqpqqqqqqqqqqqqqqqqqqqpqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqppqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqpqqqqqqqqqqqqqqqqqqqqqqqqqqpqqqqqqqqqppqpqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqpqqqqqpqqqqqqqqqqqqqqpqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqpqqqppqqqqpqqqqqqqpqqqqqqqqqqqqqqqqqqqppqpqqqqqqqqqqqqppqqqqqqqqqqqqqqqqqqqqqqqpqqqqpqqqqqqqqqqqpqqqqqqqqqqqpqpqqqqqqqqqqqqqqqqqqpqqqqqqqqqqqpqqqqqqqqqqqpqqqqqpqpqqqqqqqqqqqpqqqqqpqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqpqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqpqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqppqqpqqpqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqppqqqqpqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqpqqqqqpqqqqqqqqqpqqqqqqqqqpqqpqqqqqqqqqpqpqqqpqqqqqqqqqqpqqqpqqpqqqqqpqqqqpqqqqpqqqqqqqqqqqqqqpqqqqqqqqqqqqqqqqqqqqqqppqpqqqqqqqqqqqpqqqqqqqqpqqqqpqqqqqqqqqqqqqqqqpqqqqqqqqqqpqqqqqqqqpqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqpqqqpqqqqqqpqqqqqqqqqqqqqqpqqqqqqqqqqqqqqqqqqpqqqpqqpqqqqqqqpqqqpqpqqqqqqqqpppqqqqqqqqqqqpqqqpqqqpqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqpqqqqqqqqqqqqqqqqqqqqqqqqqqqqpqqqqpqqpqqqqqqqqqqqqqqqqqqqqqqqqqpqqqpqqqqqqqqqppqqpqqqqqqqqqqqqqqqqqqqqqqqqpqqqqqqqqqqqqpqpqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqpqppqqqqqqqqqqqqpqpqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqpqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqpqqqqqqqqqqqqqppqqqqqqqqpqqqqqqqqqqqqqqqqqqqqqqpqqqqqqqqpqqqqqqqpqqqqqqqqqqqqqqqqqqqqqqqpqqpqqqqpqqqqqqqqqqqqqqpqqqqqqqqqqqqpqqqqqqpqqqqqpqqqqqpqqqqqqpqqqqqqqqqqqqqpqqqqqqqpqqqqqqqqqqqqqqpqqqqqqpqqpqqqqqqqqqqqqqqqpqpqqqqqpqpqqqqqpqqqqqqqqqqqqqqqqqqqpqqqqqpqqqqqqqqpqqqqqqqqpqqqqqqqqqqpqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqpqqqqqqpqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqpqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqpqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqpqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqpqqqqqpqqqqqqqqqqqqpqqqpqqqqqqqqqqqqqqpqqqqqpqqqqqqqqqqqqqqqqqqqqqqqpqqqqqqpqqqqqqqqqqqqqqqqqqqqqqqqqqpqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqpqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqpqqqqqqqqqqqqqqpqqqqqpqpqqqqpqpqpqqqqqqqqqqqpqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqpqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqpqqqqqqqqqqqqqqqpqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqpqqpqqqqqqqqqqqqqqqqqqqqqqqqpqqqqqqqqqqqqpqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqpqqqqqqpqqqpqqqqqqqqqqpqqqqqqqqpqqqqqqqqqqqqqpqqqqqqqqqqqqqqqqqqqqqppqqqqqqqqqqpqqpqqqqqqqqqqqpqqqqqqqpqqqqqqqqqqqpqqqqqqqqqpqpqqqqqqqqqqqqqpqqqqqqqqqqqqqqqqpqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqpqqqqqqqqqqqqqqqqqqqqqqqqqqqppqqqqqqqqqqqqqpqqqpqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqpqqqpqqqqqqpqqqqqqqqqqqqqqqqqqpqqqqqqqqqqqqqpqqqqqqqqqqqqqqqqqqqqqpqqqqqpqqqqqqpqqqqqqqqqqqqpqqqqpqqqqqqqqpqqqqqpqqqqpqqqqpqqqqqqqqqqqqqpqqqqqqqqqqqqqqqqqqqqqqqqqqqpqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqpqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqpqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqpqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqpqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqpqqqqqqqqqqqqqqqqqqqpqqqqqqqpqqpqqqqpqqqqqqqqqqqqqqqqqqqqqqpqqqqqqqqqqqqqqqqqqqppqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqpqqqqqqqqqqqqqqqqqqqqqqqpqqpqqqqpqqqqqqqqqqqqqqqqqqqqqqqqqqqpqqqqqqpqqqqqpqqqqqqqqqqqqqqqqqqpqqqqqqqqqqqqpqqpqqqqqqqqqqqqqqqqqqqqqqqqqqqpqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqpqqqpqqqqqqqqpqqqqqqqqqqqqqqqqqqqqqqqqqqpqqqqqqqqqpqqqqqpqqqqpqqqqqqqqqqqqqqqqpqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqpqqqqqqqqqqqqqqqqqqqqqqqqqqqqpqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqpqqqqqqqqqqqqqpqpqqqpqqqpqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqpqqqqqqqqqqqqqpqqpqqqpqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqpqqqqqqqqqqqqqqqqpqqqqqqqqqpqqqpqqqqqqqpqqqqqqqqqqqqpqqpqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqpqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqpqqqqqqqqqqqqqqqqpqqqqqqqqqqpqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqpqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqpqqqqqqqqqqqqqqqqpqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqpqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqpqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqpqqqqqqqqqqqqqqqqqqqqqqqqqqqqqpqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqpqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqpqqqqqqqqqqqqqqqqqqqqqqqpqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqpqqqqpqqqqqqqqqpqqqqqqqqqqqqqqqqqqqqpqqqqqqqqqqqqqqqqqqqqqqqqqqpqqqqqqqqqqqqqqqqqqqqqqqqqqpqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqpqqqqqqqqqqqqqqpqqqqqpqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqpqqqqqqqqqqqqqqqqqpqqqqqqqqqqqqqqqqqqqqqqpqpqqqqqqqqqqqqqqqqqqqpqqqqqqqqqqqqqqqqqqqqpqpqqqqqqqqpqqqpqqqqqqqqqqqqqqqqpqqqqpqqqqqqqqqqqqqqqqpqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqpqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqpqqqqqqqqqqqqqqqqqqqqpqqqqpqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqpqqqqqqqqqqpqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqpqqqqqqqqqqqpqqqqqpqqqpqqqpqpqqqqqqqqqqqqqqqqqpqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqppqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqpqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqpqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqpqqqqqqqqqqqqqqqqqqqqpqqqqqqqqqqqqqqqqqqqqqqqqqpqqqqqqqqqpqqqqqqqqpqqqqqqqqqqqqqqqqqqpqqqqpqqqqqqqqqqqqpqqqqpqqqqpqqqqqqqqqqqqqqqqqqqqqqpqqqqpqqqqqqqqqqqqqqqqqqqqpqqqqqqqqqqqqqpqqqqqpqqqqqqpqqqqqqqqqqpqqqqqqqqqqqqpqpqqqqqqqqqqqppqqqqqqqqqqqqqqqqqpqqqqqqqqpqqqqqqqqqqpqqqqqqqqqqqqqqqqqqqqqqqqqqpqqqqqqqpqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqpqqqqqqqqqqpqqqqqqpqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqpqqqqqqqqqqqqqqqqqqqpqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqpqqpqqqqqqqqpqqqqqqqqqqqqqqqqqqqqqqqpqqqqqpqqqqqqqqqqqqqqqpqqqqqqqpqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqpqqqqqqqqqqqqqqqqqpqqqqqqqqqqqqpqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqpqqqqqqqqqpqqpqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqpqqqqqpqqqqpqqqqqqqqqqqqqqqqqqqqrqqqqqqqqqqqqqrqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqrqqqqqqqqqqqqqqqqrqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqrqqqqqqqqrqqqqqqqqqqqqqqqqqqqqqqqqqqqrqqqqqqqrqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqrqqqqqqqqqqqqqqqqqqqqqqqrqrqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqrqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqpqqqqqqqqqqqpqqqqqqqqqqqqqqqqqqqqqpqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqpqqqqpqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqpqqqqqqqqqqqqpqqqqqqqqqqqqqqqqqqqqqqqqqqqqqpqqqqqqpqqqqqqqqqqqqqqqqqqqqqqppqqqpqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqpqqqqqqqqqqqqqqqqqqqqqqpqqqqqqqqpqqqqqqqqqqqqqqqqqqqqqpqqqqqqqqqqqqpqqqqqqqqqqqqqqqqqqpqqpqqqqqqqpqqqqqqqqqqqqqqqqqqppqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqpqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqpqqqqqqqqqqqpqqqqqqqpqqqqqqqqqqqqqqqqqqqqqqqqqqqqqppqqqqqqqqpqqpqqqpqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqpqpqpqqqqpqqpqpqqqqqqqqqqqpqqqqqqqqqqqqqpqqqqqqqqqqqqqqqqqqqpqqqqqqqqqqqqqqqqqqqqqqqqqpqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqrqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqrqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqrqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqrqrqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqrqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqrqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqrqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqrqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqrqqqqqqrqqqqqqqqqqqqqqrqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqrqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqrqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqrqqqqqqqqqqqqqqrqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqrqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqrqqqqrqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqrqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqrqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqrqqqqqqqrqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqrqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqrqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqrqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqrqqqqqqqqqqqqqqqqqqqqqqrqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqpqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqpqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqpqqqqpqqqqqqqqqqqqqqqqqqqpqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqpqqqqqqqqqqqpqqpqqqqqqqqqqqqqqqpqqqqqqqqqqqqqqqqqqqqqqqqqpqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqpqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqpqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqpqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqpqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqpqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqpqqqqqqqqqpqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqrqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqrqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqrqqqqqqqqqqqqqqqqqqqqqqqqrqqqqqqqqqqqqqqqqqqqqqqqqrqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqrqqqrrqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqrqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqrqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqrqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqrqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqpqqqqqqqqqqqpqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqpqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqpqqqqqqqqqqqqqqqqqqpqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqpqqqqqqqqqqqqqqqqqqqqqqpqqqqqqqqqqqqqqqqqqqqqqqqpqqqqpqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqpqqqqqqqqqqqqpqqqqqqqqqqqqqqpqqqqpqqqqqqqqqqqqqqqqqpqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqpqqqqqqqqqqqpqqqqqqqqqqqqqqqqqqqqqqqqqqpqqqqqqqqqqqqqqqqqqqqqqqpqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqpqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqpqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqpqqqqqqpqqqqqqqqqqqqqqqpqqqqqqqqqqqqqqqqqqqqqqqqqqqqpqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqpqqqqqpqqqqqqqqqqqqqpqqqqqqqqqqpqqqpqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqpqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqpqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqpqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqpqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqpqqqqqqqqqqqqqqqpqqqqqpqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqpqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqpqqqqqqqqqqpqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqrqqqqqqqqrqqqqqqqqqqqqqrqqqqqqqqrqqqqqqqqqqqqqqqqrqqqqqqqqqqqqqqqqqqqqqqqqqrqqqqqqqqqqqqqqqrqqqqqqqrqqqqqqqqqqqqqqqqqqqqqqqqrqqqqqqqqqqqqqqqqqqqqqqqqqqqqqrqqqrqqqqqqqrqqqqqqqqqqqqqqqqqqqqqqqrqrqqqqrqqqqqqqqqqqqqqqrqqqqqqqqqrqqqqqqqqqqqqqrqqqqqqqqqqrqqqqqqrqqqqqqqqqqqqqqqqqqqqqrqrqqqqqqqqqrqqqqqqqqqrqqqqqqqqqqqqqqqrqqqqqrrqqqqqqqqqqqqqqqqqqqqqrqqqqqqqqqqqqqqqqqqqrqqqqrqqqqqqqqqqrqqrqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqrqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqrqqqqqqqqqqqqqqqqqqqrqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqrqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqrrqqqqqqqqqrqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqrqqqqqqqqqqqqqqqqqqqrqqqqqqqqqqqqqqrqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqrqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqrqqqqqqqqqqrqqqqqqqqrqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqrqqqqqqrqqqqqqqqqrqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqrqqqqqqqqqqqpqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqpqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqpqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqpqqqqqqqqqqqqqqqqqqqqqpqqqqqpqpqpqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqpqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqpqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqpqqqqqqqqqpqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqpqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqrqqqqqqqqqqrqqqqqqqqrqqqqqqqqqqqqqqqqqqqqqqqqqqqqqrqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqrqqqqrqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqrqqqqqqqqqqqqqqqqrrqqqqqrqqqqqqrqqqqqrqqqqqqqqqqqqqqqqrqqqqqqqqqqqqqqqqqqqqqqqrqqrqqqqqqqqqqqqqqqqrqqqqqqqqqqqqqqqqqqqqqqqqqqqqqrqqqqqqqqqqqqqqqqqqqqrqqrqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqrqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqrqqqqqqqqrqqqqqqqqqqqqqqqqqqqqqqqqqqqqqrqqqqqqqqqqrqqqqqqqqqrqqqqqrqqrqqqqqqqqqqqqqqqqqqqqqqqqrqqrqqqqqqqqqqrrqqrqrqqqqrqqqqqqqqqqqqqrqrqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqrqqqqrqqqqqqqqqqqqqqrqqqqqqqqqqqqqqqrrqqqqqqqqqqrqqqqqrqqqqqqqqqrqqqqqqqqqqqqqrqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqrqqqqqqqqqqqqqqqqqqqqqrqqqqqqqqrqqqqqqqrqqqqqqqqqqqqqqqrqqqqqqqqqqqqqqqqqqqqqrqqqqqqqqqqqqqqqqqrqqqqqqqqqqqrqrqqqqqrrqqqqqqqqrqqqqqqqqqqqqqqqqqqqrqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqrrqqqrqqqqqqrqqqqqqrqqqqqqqqqqqqqqqqqqqqqqqqrqqqqqqqqqqqqrqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqrqqqqqqqqqqqqqqqqqqrqqqqqqqqqqqqqqqqqqqqqqqqrqqqqqqqqqqqqqqqrqqqqrrqqqrqqqqqrqqqqqqqqqqrqqqqqrqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqrqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqrqqqqqqqqqqqqqqrqqqqqqqqqqqqqqqqqqqqqqqqqqrqqqqqqqqqqqqqqqqrqqqqqqqqqqqqqqqqrqqqqqqqqqqqqqrqqqqqqqqqqqqqrqqqqqqrqqrqqqqqqqqqqqqqqqqqqqqrqqqqqqqqqrqqrqqqqqqqqqqqqqqqqqqqqqqqqqqqqrqqqrqqqqqqqqqqqqrqqqqrqqqqqqqqqqqqqqqqqqqqqqqqqqqrqqqqqqqqrqqqqqqqqrqqqqqqqqqqrrqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqrqqqqqqqqqqqqqqqqrqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqrrqqqqqqqqqqqqqqqqqqqqqqqrqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqrqqqqqqqqqrqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqrqqqqqqqqqqqqqqqqqqqqrqqqqqqqqqqqqqqqqqqqqqqqqqqqqrqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqrrqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqpqqqqpqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqpqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqpqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqrqqqqqqqqqqqqqqqqqqqqqqqrqqqqqqqrqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqrqqqqqrqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqrqqqqqqqqqqqqqqqqqqqqqqqqqqqrqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqrqqqqqqqqqqqqqqqqqqqqqqrqqqqrqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqrqqqqqqqqqqqqqqqqqqqqqqqqrqqqqqqqqqqqqqqqqqqqqqrqqqqqqqqqqqqrrrqqqqqqqrqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqrqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqrrqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqrqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqrrqqqqqqrqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqrqqqqqqqqqqqrqqqqrqqqqqqqqqqqqqrqqqqqqqqqqqqqqqrqrqqqqqqqqqqqqqqqqrqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqrqqqqqqqqqqqqrqqqqqqqqqqqrqqqqqqqqqqqqqqqqqqqrqqqqqqqqqqqqrqqqqrqrqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqrqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqrqqqqqqqqrqrqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqrqqqqqqqqqqqqqqqqqqqqqqqqqqrqqqqrqqqqrqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqrqqqqqqqqqqqqqqqqrqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqrqrqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqrqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqrqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqpqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqrqqqqqqqqqqqqrqqqrqqqqqrqqqqqqqrqqqqrqqqqqqqqqqrqqqqrqqqqrqqqqqqqqqqrqqqqqqqqrqqqqqqqqqqqqqrqqqqqqqqqrqrqqqrqqrqqqqqqqqqqqqqqqrqqqqqqqqqrqqqqqqqqqqqqqrqqrqqqqqrqqqqqqqqqqrqqqrrqqqqrqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqrqqqqqqqqqqqqqqqqqqrqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqrqqrqqqrqqqqqqqqqqrqqqqqqqqqqrqqqqqqqqqqqqqrqqqqqqrqqqqqqqqqqqqqqrqqqqqqqqqrqqqqqqqqqqqqqrqqqqqqqqqqqqqqqqqqqqqqqqqqqqqrqqqqqqqqqqqqqqqqqqqqqqqqrqrqqqqqqqqqqqqqqqqqqqqqqqqqqrqqqqqqqqqqqqqqqqqqqqqqqqrqqqqqqqqqrqqqqqqqqqqqqqqqqqqqqrqqqqqqqqrqqqqqqqqqqrqqqqqqqqqqqqrqqqqqrqqqqqqqrqqqqqqqqqqqqqqqqqqqqqqqqqqqrqqqrrqqrqqqqqqqqqqqqqqqqqqrqqqqqqqqqqqqqqqqqqqqqqqqqrqrqqqqqqqrqrqqqqqqqqqqqqqqqqqrqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqrqqqqqqqqqqrqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqrqqqqqqqqqrrqqqqqqqqqqqqqqqqqqqqrqqqqqqqqqqqqqqqqqqqqqqqqrqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqrqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqrqqrqqqqqqqqqqqqqqqqqqqqqqqqqqqrqqqqqrqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqrqqqqqqqqqqqqqqqrqqqqqqqqqqqqqqqqqqqqqqqqqrqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqrqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqrqqqqqqqqqqqqqqqqqqrqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqrqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqpqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqrqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqrqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqrqqqqqqqqqqqqqqqqqqrqqqqqqqqqqqqqqqqqqqqqqqqqqqqrqqqqqqqrqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqrqqqqqqqqqqqqqqqqqqqqqrqqqqqqqqqqqqqrqqqqqqqqqqqqqrqqqqqqqqqqqqrqqqqrqqqqqqqqqqqqqqqqrqqqqqqqqrqqqqqqqqqqqqqqqqqqqqrqqqqqqrqqqqrqqqqqqqqqqqqqqqqqrqqqrqrqqqqqqqqqqqqqqqqqqqqqqrqqqqqqqqqqqqqqqqqqqrqqqqqqqqqqrqqqrqqqqqqqqqqqqqqqqqqqqqrqqqqqqqqqqqqqqqqqqqqqqqqqqqqqrqqqqqqqqqqqqqrqrqrqqqrqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqrqqqqqqqrqqqqqrqqqqqqqqqrqqqqrqqqqqqqqqqqqqqqqqqqqqqqqrqqqqqqqrqqqrqqqqqqqqqqqqqqqrqrqqqqqqqqqqqqqqqqqqqrqqqqqqqqqqqqqqqqqqqqqqqqqqqqqrqqqqqqqqqqqqqqqqqqqqqqqrqrqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqrqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqrqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqrrqqqqqrqqqqqqqqqqqqqqqqqqqrqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqrqqqqqqqqqqqrqqqqqqqqqqqqqqqqqqqqrqrrqqqqqqqqqqqqqqrqqqqqqqqqqqqqqqqqqqqqqqqqqqrqqqqqqqqqqqqqqrqqqqqqrqqqqqqrqqqqqqqqqrqqqqqqqqqqqqqqqqqqqqqqqqqrqqqqqqqqqqqqqqqrqrqqqqqrqqqqqqqqqqqqqqqqqqqqqqqrqqrqqqqqqqqqqqqrqqqqqqrqqqqqrqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqrrqqqqqqqqqqqqqqqqqqrqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqrqqqqqqqqrqqqrqqqqqqrqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqrqqrqqqrqqrqqqqrqqqqqqqqrqqqrqqqqqqqqqqqqqqrqqrrqqqqrqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqrqqqqqqqqqqrqqqqqqqqqqqqqqrqqqqqrqqqqqqqqqqqqqqqqqrqqqqqqqrqqqrqqqqqqqqqqqqqqrqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqrqqqqqqqqrqqqqqqqqqqrqqqqqqqqqqqqqqqqqrrqqrqqqqqqrqrqqqqqrqqqqqrqqqqqqqqqqqqqqqrqqqrqqqqqqqqqrqqqqqqrrqqqqqqqqqqqqrqqqqqqqqqrqqqqqqqqqqqqqqrqqqqqrqqqqqrqqqqqqqqqqqqqqqqqrqqrqqqrqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqrqqqqqqqqrqqqqqqqqqqrrqqqqqqqqqqqqrqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqrrqqqqqrqqqqrqqqqqqqqqqqqqqqqqqqqqqqqqrqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqrqqqqqqqqqqqrqqqqqqqqqqqqqqrqqqrqqqqqqqqqqqrqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqpqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqpqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqrqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqrqqqqqqqqqrqqqqqqrqqqqqqrqqqqqqrqqqqqqqqqqrqqqqqqqrqqqqqqqqqqqqqqqqqqqqqqqqqqqrqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqrqqqqrqqrqqqqqqqqqqqqqqqqqqqqqrqqqqrqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqrqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqrqqqqqqqqqqqqqqqqqqqqqqqqqrqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqrqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqrrqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqrqqqqqqqqqqqqqqqqqqqqqqqrqqqqqqqqqqqqqqrqqqqqqrqqqqqrqqqqqqqqqqrqqqqqqqqqqqqqqrqrqqrqqqqqqqqqqqqqrqqqqqqqqqqqqqqrqqqqqqqqqqqqqqqqrqqqrqqqqqqqqqqqqqqqrqqqqqqqrqqqqrqqqqqqqqqqqqqqrqqqqqqqqqqrqqqqqrqqqqqqqqrqqqqqqqqqqqqqqqqqqqqqqrqqqqqqqqqqqqqqqqrqrqqqqqqqqqqqqqqqqqqqqqqqqqqqqqrrqqqqqqqqqqqqqqqqqrqqqqqrqqqqrrqrqqqqqqqqqqqrqqqqqqqqqqqqqqqqqqrqqqqqqqqqqqqqrqqqqqqrrqrqqqqqqqqqqqqqqqqqrqqqqqqqqqqqqqqrqqqqqrqqrqqqqqrqrqqqqqrqqqqqqqqqqqqqqqrqqqqqqqqqqqqqqqqqqqqqrqqqqqqqqqqqqqqrqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqrqrqqrqqrqqqqqqqqqqqqqqrqqqqqqqqqqqqqqqqqqqqqqqqqqqqrqqqqqqqqqqqrqqqqqqqqqqqqqqqqqqqqqrqqqqqqrqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqrqqqqqqqqqqqqqqrqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqrqqqqqqqqqqqqqqqqqqqqrqqqqqqqqqqqqrqqqrqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqrqqqqqqqqqrqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqrqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqrqqqqqqrqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqrqqqqqqqqqqqrqqqrqqqqqqqqqqrqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqrqqqqqqqqqqqqqqqqrqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqrqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqpqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqpqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqrqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqrqqqqqqrrqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqrqqqrqqqqqqqqqqqqqqqqqqqqqqqrrqqqqqqqqqqqqqqqqqqqqqqqqrqrqqqrrqqqqqqqqqqqqqqrqqqqqqqqqqqqrqrqqqqqqqqqrqqqqqqqqrqqqqqqqqqqrqqqqqqqqqqqqrqqqqqqqqqqqqqqqrrqqqqqqqrqqqqqqrqqqqqqqqrqqqqqqqqqqqqqqqqqrqqqqqqqqqrqrqqqqqqqqrqqqrqqqqqqqqqqqqqqqqqqqqrrqrqqqqrqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqrqqqqqrqqqqrqqqqqqqqqqqrqqqqqqqqqqqqqqqqqqqqqrqqqqqrqrqqqqqqqqqqrqqqrqqqqqqqqqqqqqqqqrqrqrqrqqqqqqqqqrqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqrqqqqqrqqqqqqqrqqqqqqqqrqqqqrqqqrqqqrqrqqqqqqqqqrqqqqqqqqqqqqqqqqqqqqrqqqqqqqqqqrqrqqqqqrqqqrqqqqqrqqqqqqqqqqqqqqqqqqqqqqqqqrqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqrqqqqqqqqqqqqqqqqqqqqqqqqqqrqqrqqqqqqqqqrqqqqqqqqrqqqqqqqqqqqqqqqqqqrqqqqqrqqqqqqqqqqrqqqqqqqqqqqqqqqqqqqqqqqqqrqqqqqqrrqqqqrqqqqqqqqqqqqqqqqqqqqqqrqqqqqqqqqqqqqqqqrqqqqrqqrqqqqqqqqqqqqqqqqqqrqqrqqqqqqqqqqqqqqqqqqqqqqqqrqqqqqqrqqqqqqqqqqqqqrqqqqqqqqqqqqqqqqrqqqqqqqqqqqqqqqqqqqqqrqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqrqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqrqqqqqqqqqqqqrqqqqqqqqqqqqqrqqqqqqqqqrqqqqqqqqqqrqqqqrqqqqqrqqqqqrrqqqqqqqqqqrqqqqqqqrqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqrrqqqqrqqqrqqqqqqqqqqqqrqrqrqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqrqqqqrqqqqqqqqqqqqqqqqqrqqqqqqqqqqqqqqqqqqqqqqqqqqrqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqrqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqrqqqqqqqrqrqqqrqqrqqqqqqqqqqqqrqqqqqqrqqqqqqqqqqqqqrqqqqqqrqqqqqqqqqqqqqqqqqqqqqqrqqqqqqqqqqqqqrqqrqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqrqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqrqqqqqqrqqqqrqqqqqqqqqqqqqqqqqqqqqqqrqqqqqqqqrqqqqqqqqqqqrqqqqrqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqpqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqrqqqqqqqqrqqqqqqrqqqqqqqqqqrqqqqqqqqrqqqqqqqqqqqqqqqqqqqqqqqqqqqqrqqqqqqqqqqqrqqqqqqqqqqqqqqqqqqqqqqqqqqqqrqqqqqqqqqqqqqqqqqqqrqqqqqqrqrqqqqqrqqqqqqrqqqqqrrqqrqrqqqrqqqqqqqqqqqqqqqqqqqrqqqqqqqqqqqqqqqqqqqqqqqqqqqrqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqrqqrqqqqqrqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqrqqqqrqqqqqqrqqqqrqqqqrqrqqqqqqqqqqqqqqqqrqqqqqqqqqqqqqqqqqqqqrrqrqqrqqqqqqqqqqqqrqqqqqqqqqqqqqqqqqqqqqrqqqqqqqqqqrqqqqrrqqqqqqqqqqqqqqqqqqqqqqrqrqqqqqqqqqqqqqqqqqqqqqqqqqqrqqqqqrqqqqqqqqqqqqqqrqqqqrqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqrqqqqqqqqqqqqqqqqqqrrqqrqqqqqqqqrqqrqqqqqqqqqqrqqqqqqqqqqqqqrqqqqqrqqqqqqqqqqqqqqrqqqqqqqqrqqqqqqqqqqrqqqrrqqqqqqqqqqqqqrqqqqqrqqqqqrqqrqqqqqrqqqqqqqqqqqqqqqqqrqqqqqqqqqqrqqqqqqqqqqqrqqqqqrqqqqqqqqqqqqqqqqqrqqqrqqqqqqqqqqrqqqqqqqqqqrqqrqqqqqqqqqqqqqqqqqqqqrqqqrqqqrqqrqqqqqqqqqqrqqrqrqqqqqqrqqqqrqqqqrqrrqqqqqqqqqqqqqqqqqqqqqqqrqqqqqqqqrqrqqqqqqqqqqqqqqqrqrqqqqrqrqqqqqqqqqqqqqqqrrrqqqqqqqqqqqqqqqqrqrqqqqqqqqqqqqqqqrqqrqqqqqqqqqrqqqrqqqqqqqqqqqqqrqqrqqqqqqqqqqqqqqqqqqqqrqqqqqqqrqqqqqqrqrqqrqqqqqqqqrrqrqqqqqqqqrqqrqrqqqqqqqqqqqrrqqqqqqqqqqqqqqqqqqqqqqqqqrqqqqqqqqqqqqqqqqqqqqqrrrqqqqqqqqqqqrqqqqqqqrqrqqqqqqqrqqqqqrqqqqqqqqqqrrqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqrqqqqqqqqqqqqqqqqqqqqqqqqqqrqqqqrrqrqqqqqrqqqqqqqqqqqqqqqqqqqqqqqrqqqqqqrqqqrqqqqqqqrqqqqqqqqrqrrqqqqrqqqqqqqqrqqqqrqqqqqqqqqqqqqqqqqqqqqqrqrqrqrqqrqqqrqqqqqqqqqqqqqqqqqqqqqqqrrqrqqqqqqqqqqqrqrqqqqqqrqqqqqqqqqqqqqqqqqqqqqqqqqqrqqqqqqqqqqqqqqqqqrqqqqqqqqqqqqrqqqqqrqqqqqrqqqqqqqqqqqqqqqqqqqqqqqqqqrqqqrqqqqqrqqqqqqqqqqqqqqqqrqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqrqqqqrqqrqqqqrqqqqqqqqqqqqqqqqqrqqqrqqrqqqqqrqqqrqqqqqqqqqrqqqqqqqqqqqqqqqqqqqqqqqqqqrqqrqqqqqqqqqqrqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqrqqqqqqqrqqqqqqqqqqqqqqqqqqqrqqqqrqqqqqqqqqqqqqqqqqrqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqrqqqqqqqqqqrqqqqqqqqqqqqqqrqqqqrqqqrqqqqqqqqqqqqqqqqqqqqqrqrqrqqqqrqqqqqqqqqqqrqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqrqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqrqqqqqqqqqqqrqqqqqqqqqqqqqqqqqqqqqqqqqqqqrqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqrqrqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqrqqqqqqqqqqqqqqqqqrqqqqqqqqqqqqqqrqqqqqqrqqqqqqqqqqqqqqqqqqqqrrqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqrqqqqqqqqqqqqqqqqrqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqrqrqqqqqrqqqqrqqqqqrqqqqqqqqqqqqqqqqqqqqqqqqqqrqqqqqqqqqqqqqqqqqqqqrrqqqqqqqqqqqqqqqrqqqqqqqqqqqqqqqqqqqqqqqqrrqqqrrqqqqqqqqqqqqqqqrqqqqqqqqqqqqqrqrqqqqqqrqrqrqqqqqqqqqrrqqqqqqqqqqqrqqqqqqqqqqqqqqqrqqqqqqrqqqqqqqqqqqqqqqqqqqqqqqqrqqqqqqqqqqqqqqqqqrqqqqqqqqrqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqrqqqqrqqqqqqqqqqqqqqqqqqqqqqqqqqrqrqqqqqqrqqqrqqqqrqqqqqqqrqqqqqqqrqqqqqqqqqqrqqqqqrqqrqqqqqqqqqqqqqqqqqqqqqqqqqqqqqrqqqqrqqqqrqqqqqrqqqqqqqqqrqqqqqqqqrqqqqqqrrqqqqqqqrqqqqqqqqqqqqqqqqqqqqrqqqqqqqrqqqqqqqqrqqqqqqqqqrqqqqqqqqrqqqqqqqqqqqqqqqqqqqqqqqqqqqqrqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqrqqqrrrqrqqqqqqqqrrqqqrqqqqqqqqqqqqqqqqqqqqqrqqqqqqqqqqqrqqqqqqqrqqrqqqqqqrqqqqqqqqqqqqqqqqqqqqqqqqrqqqrqqqqqrqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqrqqqqqqqqqqqqqrqqqqqqqqrqqqqrqqqrqqqqqqqqqqqqqrqqqqqqqqqqqqrqqqrrqqqqqrqqqqqqqrrqqqqqqqqqqqqqqqqqrqqqqqqqqrqqqqqqqqrqqqqqqqrqqrqqqqqqqqqqrqqqqqqqqrqqqqqqqqqqqrqqqrqqqqqqrqqqqrqqqqrqrqqqqqqrqrqqrqqqqqqqrqqqqqrqqqqqqrqqrrqqqqqqqqqqqqqrrqqqqqqqqqqqqqqrrqqrqqqqqqqqqqqrqqqrqqqrrrrqqrqqqqqqqqqrrqqqrqqrqqqqqqqqqrrqqrqqqqrqqqqrqqqqqqqqqqrqqqqqqqqqqqqqqqqrrqrqrqqqqqqqqqqqqqqqqqqqqqrqrqqqqqqqqqrqqqqqqrqqqqqqrqrqqqqqqqrqqqqqqqqqqqqrrqqqqqqqqqqqqqqrqqqqqrqqqqrqqqqqqqqqqqqqqqqqqqqqqqrqqqqqqqqqrqqqqqqqqqqqqqqqqqqqqrqqqqqqqqqqqqqqqqrqqqqqqqqqqqqqqqqqqqqqqqqrqqqqqqqqqqqqqqqqqqqqqqqqqqqrqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqrqqqqqrqqqqqqqqqqqqqqqqqqqqqqqqqqqrqqqqqqqqqqqqrqqqqqqqqqqqqqqqqqqqqqqqqrqqrqqqqrqqqqqqqrqqqqqqqqqqqqqqqqqqqqqqqqqqqrqqqqqqqqqqqqqqqqqqqqqqqqqrqqqqqqqqqqqqqqqqqqqqqqqqqqrrqqqqqqqqqqqqqqqrqrqrqqqqqqqqrqqqqqqqqqqqrqqrqqqqqqqqqqqqqrqqqqqqrrqqqqqqqqqqqrqqqqqqqrqqqqqqqqqqqqqqqqqqqqrqqqqqqqqrqqqqqqqqqqqqqqqqqqqqqqqqqrqqqqqqqqqqrqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqrqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqrqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqrqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqrqqqqqqqrqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqrqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqrqqqrqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqrqqqqqqqqqqqqrqqqqqqqqqqqqqqqqqrqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqrrqqqqqqqqqqqqqqqqqqqqqqqqqqqrqqqqqqqqqqqqqqqqqqqqqqqrqqqqqqqrqrqqqqqqqqqqqqrqqqqrqqqqqrqqrqqqqrqrqqqqrrqqqqqqqqqqqqqqqqqrqqqqqrqqqqqrqqqqqqqqqqqqqqrqqqqrqqqqqqqqqrqqrqrqrqqqqqqrrqqqqqrqqrqqqrqqqrqqrqqqqqqqqqqrqqrqqqqqqqqqqqqqqqqqqqrqrqrqqqqqqqrrqqrqqqrqqqqqqqrqqqqrqqrrqqqrqqqqqrqqqrqqqrqqqqqqqqqqqqqqqqqqrqrqqqqqqqrrqqqqqrqqqqqqqqqqqqqqqqrqqqqrqqqqrqqqqrqqqqrqqrrrqqqqqqqqrqqqqqqqqqqqqqqrqqqqrqqqrrrrqqqqrqqqqqrqqqqqqqqqqqqqqqrqqrqqqrqqqqqqqrqrqqqqqrrqqrqqqqqqqqrqrqqrqqrqqrqqqqqqqrqrqqqqqqrqrqqqqqqrqqqrqrqqqrqqqqrqqqqqqqqqqqqqqqrqrqrrqqqqrqqqqqqqrqqqrqqqqqqqqqrqqrqqqqqrrrqqrqqrqqqrrqrqqqqqqqqqqqqqqqqqqqqqqqqqrqqqqrrqqqrqqqqrqrqqrrqqqrqrrqqqqqqqqqrqqqrqqqqqqqqqqqqqqqqqqqqqrqqqqqqqqqqrqqqqqrqqqrqqqqrqqqqqqqqqqqqqqqqqqqrqqqqqqrqqqqqqqrrqqrqqqrqrrrqqqqqqqqqqrrqqqqqqqqqqrqqqqrqqrqqqqqqqqqrqqrqqqqqqqqqqqqrqqrqqqqqqqqqqqrqrqqqqqqqqqrqqqqqrqqqqqqqqqrrqqqqqqqqrqqrqqqqqqrqqrqqqqrrqrqqrqqqrqqqrqqqqqqqqqqrqqqqrqqqqrqrqqqqqqrqrrqqqrqqqqqrrqqrqqqqqrqqqqrqqrqqqrqrqqqqqqrrqqqqrqrqqqrqqqqqqqqqqqrrqqqrqqqrqqqqrqqqqqqqqqqqqrqrqqqqqqqrrqqqqqrqqqqqrqqrqqqqqqrqqqqqqqrqqqqqqqrqqrqqqqqqqqqqqqqqqqqqqqrqqqqqrqqqqqqrqqqqqqqqqqqqqqqqqqqqqrqqqqrqqrqqqqqqqqqqqqqqqrqqqqqqqqqqqqqqqqqqqqqqrqqqrqqqrqqqqqqqqqqqqqqqrqqqqqrqrqqqqqqqqrrqqqrqqqqqqqqqqrqrqrqqrrqqqqqqqrqqrqqqqqqqqqqqqqqqqqqqqqqqqqqqqrqqqqqqrqqqqrqqrqqqrqqqqrqqqqqqqqqqqrqqqqqqrqqqqqqqrrqqqrqrqqqqrrqqqqqqrqqqqqqqqqqqqqqqqqqqrqqqqqqqqrqqqqqqqqqqqqqqrqqqqqqqqqqqqqqqqqqqqqqqqqqqqqrqqqqqqqqrqqqqqrrqqqqqqqqqrqqqqqrqqqqqrqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqrqqqqqrrqqqqqqqqqqqqqqqqqqqqqqqrqrqqqqqrqrqqqrqqqrqqqqqqqqqqqqqqqqqqqqqqqqrqqrqqqqrqqqqrqqqqqqqqqqqqqqqqqqqrrqqqqqqqrqrqqqqqqqrqqqqqqqqqqqqqrqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqrqqqqqqqqqqqqrqqqqqqqqqqrqqqqqrqqrqqqqqqqqqqqqqqqqqqrqqqqqqqqqqqqqqqqqqqqqqqqqqqrqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqrqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqrqqqqqrqqqqqqqrqqqqqqqqqqrrqrqqqqqqqqqqrqqqqqqqqqqqrqqqqqqqqqqqqqqrqrqrqqqqqqqrqqqqqqqqrqrqqqqqqqqqqqqqqqqqrqqqqqqqqrqqrqrrqqqqqqqqqqrqqqqqqrqqqqqqrqqqqrrqrqqqqqqqqrrqqqrqqqrqqqqqqqqqqqqrqqrqrrqqqqqqqqqqqqqqqqqqqrrrqrrqrqrqrrqrqrrqqqqqqqqqqqqqqqqqqqqrrrqqqrqqqqqrqqqqqqqqqrrqqqqqqqqqqrqrqqqrqqqqqrqqqqqrqqqrqqqrqqqqqqqqqqrrqrrqqqqrrqqqqqqqrqqqqqqqqrqqqrqqqrqqqrqqrrrqqrqqqrqqqqqrrrqqqrqqqqqqqqqqrrqrrqrqqqrqqrqqqqqrrrqqqqrqqqqrqqqqqqqrqqqqrqqrqqqqqrrrqqqrqrqqqqrrqqqrrqqqqqrqqqqqqrqqqqqqqqrqqqqqqqqqqrrqqqqqqrqqqqqqqqqqqqqqqrqqrrqqqqqqqqqqrqqqqqqqqqqqrqqqrrrqqqqqqrrqqqqqqqqqrqqrrqqqqqqqqqqqrqqqqqqqqqqqqrqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqrqqqqqqqqrqqqqqrqqqqqrqrrqqqrqqqrqrrqqqqqqqqrqqqqrqrrqrqqqqrqqqqqqqrqqrqqqqqqrqqqqqqqqqqqrqqqqqqqqrqqrqrqqqqqqqqqqqqqrqqqqqqqrqqrrqqqrqrqqqqqqqqrrqqqqrqrqqqqqqqqqqqqqqrrqqrqqqqqqqqqrrqqqqqqqrqqqqqqqqrqrqqqqqqqqqrrqqqrqqqrqqqrqrqrqqqrrqqqqqqqrrqrrqqqqqrrrqqqqqqqqqrqrqqqqqqqqrqqqrrqqqqqrrqqqqqqrqrqqqqqqqqrqrqqqqrqqqrqrqqqrqqqqqqqqqqqrrqqqqrqqqrrqqqqrqqqrqrrqqrrqqqqqqqqrqqqqqrqqqqqqqqrqqqqqrqqqqqrqqrqqqqqqrqqqqqrqqqqrrqqqqrqqrrqqqqqqqqqqrqqqqqqqqqqqqqqqrqrqqqrrqqqqrqqrrqqrqqqrqrqqqqqqrqqqqrqrqqqqqqqrqqqqqqqqqqqrqqrqrqqqrqqqqqrqqqrrqqqqrrrqqqqqqqqqqqqqqqqqrqqqqqqqrrqqrqqqqqqqqqrqqqqrqrqqqqqrqqqqqqqqqqqqqqqrqrrrqqrqrqrqqqrrqqqqqqqqqqqqrqqqqqqqqqqqqrrqqqqrrqqqrqqqqqrqqqqqqqrqrqrrqrrqqrrqqqqqqqrqqqqqqqqqqrqrrqrqrqrqqqrqrqqrrqrrqqqqqqrqqrqqqqqqqqqqqqqqrqqrqqqqqrqqqqqqrrqqrqqrrqqrqqqqrqqrqqqqqqqqqqqqqqqqrqrqqqqqrqrqqrqqqqqrqqqqqqqqrqqrrrqqqqqqqqqqrrqqqqqqrqqqqqrqrqqqqqqqqqqqrqqqqqqqqqqrqqqqqqqqrqqrqrqrqrqqqrqqqqrqqqrrqqrqqqqqqrqqqqqqqqqqqqqqrqrqqqrqqqqqqqqrqrqqqqrqqqqqqqqqqqqqqqrqrqqrqrqqrqrqqqqqqqqqqqqrqrrqqqqrqrqqqqqqqqqqqqqqqqqqqqqqqqqqqrqqqqqqqrqqqqqqqqqrrqqqqqqqqrqqrqqqrqqqqqqrqqrqrqrqqrqqrqqqqqqrqqqrrqqqqqqqqqqqqqqqqqqqqqqqqqqrqqqrqqqqqqqqrqqqrqrqqqqqqqqqrrqqqrqqqqqqqrqrqqqrqqqqqqqqqqqqqrqqqqqqqqrqrqqqqqqqqqrqqqqqqqrqqqqqqqrqqqqqrqqqqqqqqqrrqqqrqqqqqqqqqqrqrqqqqqqqqqqqqqqqqrqqqqqqqqqqqqqqqqrqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqrqqqqqqqqqrqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqrqqqqqqqqqqqqqqqrqqqqqqqqqqqqqqqqqqqrqqqrqqqrqqqqqqqqqqqqqqqrqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqrqqqrqqqqqqqqqrqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqrqrrqqqrqqqqrqqqqqqqqqqqrrqqqqqqqqrqqqqqqqqqqqrqqqqqqrqqrqqqqqqqqqqqqqqqqqqqqqqqqrqqqqqqqqqqqqrqqqqqqqqrqqqqqqqqrqqqqqrqqqqqqqqqqqqqrqrqqqqqqqqqrqqrqqqqqqqqqqqqqqqqqqrqqrqrqqqqqrqqqqqqqrqqqqqqqqqqrrqqqqqqqqqqqqqqqrqqqqrqqqqqqqqqqqqqqqqqqqqqqqqqqrqqqrqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqrqrqrqqqqqrqqqqrqqqqqqqqrqqqqrqqqqqqqqqqqqqrqqqqqqqqqqrrqqqrqqqrqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqrqrqrqqqqqrqqqqqrqqqqqqqrqqqqqqqqqqqqqqqqqqrqqqqqqqqqqqrqqqqqqqqqqqrqqqrqqqqqqqrqqqqqqqqqrqqqqqqqqqqqqqrqrqrqqqrqrrqqrqrqqqqqqqqqqqrqqqqqqqqqqqqqqqqqqqqqqqqqqrqrqrrqqqqqrqrrqqrqqqqqqrqqqqqrqqqqqqqqqqqqqqqqrqqqrqqqqqqqqqqqqqqqqrqqrqqrqqqrqqqqqqrqqqqrqqqrqqqqqqqqqqqqqqqqrqrrqqqrqqrqqqqqqqqqrqqqqqqqqqqqqqrqrqqqqqqqqqqqqqqqqqqqqqrqqrqqrqqqrqrqqqqrqrqqrrqqrqqqrqqqqqqqqqqqqrqrrqqqrqqrrqqqqrqqqqqqqrqqqqqqqqqrqrqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqrqqqrqqqqqqqqrrqqqrqqqqqrqrqqqrqqqqqqqqqrqqqrqrqrqqqqqqrrqqqrqrqrrqqqqqrqqqqqqqrqqqqqrqqrqqqqqrqqrrqqqqqqqqqqqqqqqqqqqqqqqrqrqqqqqqqqqrqqqqrqqqqqqqqqqqqqqqqqqqqqqqqqrqqqqrqqqqqqqqqqqqqqqqrrqqqqqqqrrqrrqqqqqrqqqqrqqrrrqrqqqqqqqqqqqqqqqrqqqqqrqqqqrqqqqqqqqqqrqrqqqqqqqqqqrrqqrqqrrqqqqrqqqqqrqqqqrqrrrqqqqqrqqqqqqqqqrqqqqrqqqqqrqqqqqqqrqqqqqqqrqqqqqqqqrqqqqqqqqrqrqrqqqrrqqqrqqqqrqrqqrqqqqrqqqqqqqqrrqqqrqqqqqqqqrqqqqqqrqqrqrqqqrqqqrqrqqqqqrrqqrqrrqqrqqqqqqqrqqqqqrqqqqqqqqqqqqrqqqqqqqqqqrqrqqqrqqqqqqqrqqrqqrqqqqqqrqqqqrqqqqrqqqqqqqqqrqqqqrqqqqqrqqqqrqqqrqqrqqrrrqqqrrqqqqrrqqqrqrqqrqrqqqrqqqrqrqqrqqqrqqqqqqqqqqrrqrrqqqqqqqqqqqqqqqqrqqqqrqrqqqqqqqqqrqqrqqqqrrrqqqqqqrqqrqqqqrrqqqqqqqqqrqrqqqqqqqqrqqqqrrqrqqqqqqrqqqrqrrqrqqqqrrrqqqqqqqrrrqqqqqqqqqqrqqqrqqqqqqqqrqqqqqrqqqrqqqqrrqrqqqqqqqrqqqqqqqqqqqqqqqqrqqqqqqqqqqqrqqqqqqqqqqqqqqqqrqqqqqqqqqqrqqqqqqqqqqqqqqqqqqqqqqqrqqrqqrqqqqqqqqqrqqqqqqqqrqqqqqqqqqqqqqqqqqqrqrqqrrqqqqqqqrqqrrqqqqrqqqrrqqqqqqqqqqqqqqrqqqqqqqrqqqqrqqqqqqqqqqqqqqqqqqqrrqqqqqqrqrrqqqrqqqrqqqqqqqrqqqqqrrqqqqrqqqqqqrqqqqqqqrqqqqqqqqrqqqqqqqrqqqqqqqqqqqqqqqqqqqrqqqqqqqqqrqqqqqqqqrqqqqqrqqqqqqqqqqqrqqqqrqrqqqqqqqqrqrqqqqqqqqqqqqqqqqqqqqrrqrrqqqqqrqqqqqqqrqqqrqqqqqqqqqqqqrrqqqqqqqrqqqqqqqrqqqrqqqqqqqqqqqqqqrqqqqqrqqqqqrqqqqqqqqqqqrrqqqqrqqqqqqqrqqqrrqqqqqqqqqqqqqrrqqqqqqqqqrqrqqqqqrqqqqrqqqqqqqqqqqrqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqrqrqqqqqqqqqqqqqqqqqqqqrqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqrqqqrqqqqqqqqqqqrqqqqqqqqqqqqqqqqrqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqrrqqqqqqqqqqqqrqqqqqqqqqqqqqqqqqqrrqqrqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqrqqqqqqqqqqqqqqqqrrqqqqqqqqqqqqqqqqqqqqqqqqrqqqqqqrqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqrqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqrqqqqqqqqqqqqqqqqrqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqrqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqrqqqqqqqqqqqqqqqqqqqqqqrqqqqqqqqqqqqqqqrrqqqqqqqqqqqqqqqqrqqqqqqqrqqqrqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqrqqqqqqqqqqrqqqqqqqqqqqqqrqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqrqqqqqqqqqqqqqqqqrqqqqqqrqqqqqqqqqrqqqqqqqqqqqqqqqqqqqqqrqqqqqqqqqqqqqqqqqqqqqrqqqqqqqqqqqqqqqqrqqqqqqqqqqrqqqqrqqrqqqqrqqqqqqqqrqqrqqqqqqqqqqqqqqqqqrqqqqrqqrrqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqrqqqqrqqqqrrqqqqqrqqqqqqqqqrqqrqqqqqrqqqqqqqqqqqqqqqqqqqrrqqqqqqqqqqqqqqrqqrqqqrqqqrqqqqrqqqqrqqqqqqqqrqqqqqqqrqqqqqqqqqqqqqqqqqqqqrqrqqqqqqqqqqrqqqqqqqqqqqqrqqqqqrqqqqqqqqrqqqqqqqqqqqqqqqqqqqqqrqrqqrqqqqqqqqqqqrqqqrqqrqqqqqqqqqqrrqqqqrqqqqqqqrqqqqqqrqqqqqqqqrqqqqrqqrqqqqqqqqqqqqqqqqqqqqqqqrrqqqqqqqqqqqqqqqqrqqqrqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqrqqrqrrqqqqqqqqqqqrqqqrqqqqqqrqqqqrqqrrqqqqqqqrqqqqrqrqqqqqrrqqrqqqqqqrqqqqqqqqqqqqqqqqqrqqrqqqqqrqqrqqqrqrqqqqqqqqrqqqqqqqqrrrrrrrqrqqqqqqqrrqqrrqqqrqrqqqrrqqqqqqqqqqrqqqrqqqqqqqqqqqqqqrqqqqrqrqqqqqqqqrqrqqqqrqrqqqqqqqqqqrqqqrrqrqqqrqqqqrrqqqqrqqrrqqrrrqqqqrrqqqrqrrqqqrrqqqqqrqrqqqrqrqqqqqrqrqqrrqrqqqqqqqrqqrqrqrqqqqqrqrrrqrqqqqqqqqrqqqqqqqqqrqqqqrqqqqqqqqqqqrqqqqrqqqqqqqrrqqqqqrqqqqrrrrrqrqrqqqqqqrrqrqqrqqqrqrrqqqqqrqrqrrqqrqqqqqqqqqrrqrrqrqqqqrrqqrqqqqrqqqqqqrqrqqrrqqqqrqqqqrrqqqqqqqrrrqqqrrqqqqqqqqrrrrqqqqrrqrqqqqqrqqqqrrqrrqqqqqrqqrrqrqrrqqrqqrqqqrqqqqqqqqrqrqqqqqrrqqqqqqqqqrqrqqqqqqqqqqqqqqrqqqqrrqqqqrqqqqqqrrqqqqqqrqqqrqqrrrqrqqrqqqqqqqqqrqqqqqqqqqqqqqqqqqqqqrqqqqrqqqrqqqqqqrqqqrqqqqqrrqrqqqrqrqqqqqqqqqqrrqqqqqqqqrrrqqqqrqrqqqqrqqqqqrqrqrqqqqrqqrqqqqrqqqrqqrqrqrqqqqqqqrrqqqqrqqqqqqqqrqqrrqqrqrqqqrqrqqrrrrqqqrqqqqrrrrqqqqrqqqrqrrqqrqqrrqqqrqqqqqqrqqqqqqrqqqrqqqqqqrqqrqqrrqqqqrqqqqqqqqqqqqqrqqqrqqrqqqrqqqrqqqqqrqqqrrqqqqrqqqrqrqqqqrqqrqqrqqqrqqqqrqqqrqqqrrrqqqqqrqqqrqqqqrqqqrqrrqrqqrrqqrrrqqqqrqrrqqqqrqqqqqqrqqqrqqqrqrqqqqqqqqqqqrqrrrqrrqqrrqqqqqqqqqqqqqqrqrqqqqqqqqqqqqqqqqrqqqrqqrqqqqqrqqqqqrqqqqqqqrqqqqqqqqqqqqrqqqqqqrqrqqqqqqqqqqqqqqrqqqqqqqrqrqqqqqqqqqqqqrqqqqqqqqqqrqqqqqqqqqqqqqqqrrqqqqqqrqqqqqqrqrqrqqqqrrqqrqqqqrqrrqqqqqqrrqqrqrqqqqqqrqrqqqqrqrqqqqqqqqqqqqqqrrrqqqqrqqqqqqrrqqqqqqqqqrqqrrqrqqqqqqqrqqqqrqqqrqrrqqqqqqqqrqqqqqqqqqrqqqqrqqqqqrqqqqqqqqqqqqqqrqqqrqqqqqqqqrqqqqqqrrqqqqqqqqqqqqqqqrqqqqqqrqqqqqrqqqrqqqqqqqqqqqqqqqrqrqqqqqqqrqqqqqqqqrqqqqqqqqqrqqqqqqqqrqqqqqrqqqqqqrqqqqrqrqqrqqrqqqqqqqrqrqqqqqqqqqqqqqqqqqqqqqqqqqqqrqqqqqrqrqrqqqqqqrrqrqqrrqqqqqqqrqqqrqqqqqqrqqqqqrqqqqqqqqqqqqqqqqqrqqrqqqqqqrrqqqqqqqqqqqqqqqqqqqqqqqrqqqqqqqqrrqqqqqqqqqqrqqqqqqqqqqqqqqqqrqqqqqqqqrqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqrqqqqqqqqqqqqqrrqqqqqqrqqqqqqqqqqqrqqqqqqqqqqqrqqqqqqqqqqqqqrqqqqqqrqqqqqrqqqqrqqqqqqqqqrqqqqqqqqqqqqqqqqqqqqqqqqqqqqqrqqqrqqqqqqqqqqqqqqqqqqqqqqqrqqqqqqrqqqqqqqqqqqqqqqqqqqqrqqrqrqrqqrrqqqrrqqrqqqqqqrqqqqqrqqrqqrqrrqrqqrqrqqqqqqqqqrqrqqrqqrqqqrqqqqqqqrqrqqqqqqrqqqqrrrqrqqqqqrqqqqrrqqqqqqqqqqqqqrqqqqqqqqqqrqqqqrrqqqqqqqqrrrqrqqrrqqqqrqrqqqqrqqrqqrrqqqrqqqqqqqqqqqqqqqqqqrrqqqqqqrrrqqrqqqrqqqqqrrqqqqrrqqqqqqqqqqqqrqqqqqqqqqqqqqrqqrqqqqqrqrqqqqqqrqrqrqqrrqqqrqqqrqqqqqrqrqqqqqqqqrrqqqqrqqqqqrqrqqqqrqqqqqqqqqqqqrqrqrqqqqrqqrqqqqrqqqqqrqqrqqrqqqqqqqqrqqqqqqqrqqrqrqqqqqqqrqqqrqrqqqqqrqqqrqqqqqqqqqqqqqrqqqqqqqqqqrqqrrqrrqqqqrqqqrqqqqqrqqqrqqqqqqqqqrqrrqqqqrqrqqqqqrqqqrqqqrrqrqrqqqqqqqqqqqqrqqqqrqqqrqqqrqqqqrqrrqqrqqrqqqqqqqqqqrqqqrqqrrqqqqrrqrqqqqrqqqqqqrqqqrrqqrrqqqqqqqqqrqrqqrrqqqqrqqqqrqrqqqqrqrqrrqqrqrrrqqqqqrqqrrrqrqqqqqqqrqqqqqqrqqrrqqqqrqrqqqrrqrqqqqqqqqqqrrqqqqqqqrqrrqqrqqrrrrqqqrqqrrqqqqqqqrrqqqqqqqqqqqqqqrrqqqqqqqqqqqqrqqrrqqqrrqqqqrqrrqrqqqrrqqqqrqqqqqrqqqqqqrqqqqqqqqrqqqqqqqqqqrqrqqrqqrqrqqqrqqqqrqqqqrqqqqrrqrqqqqqqrrqqrrqrqqqqqqqrqqqqqrqrrrrrqrqrqqrqqqqrrqrqqqrqqqrqqrqqqqqqqqqqqrrqqqrrqqqqqqqqqqqqqqrqrqqqqrrqqrqqqqqqqqqqqqrqqqrrqqqqrqrqqqqqrqrqqrrqrqqqqqqqqqqqqqqqqqqqrqrqrqqqqqrqrqqqrqqqqqrqqqqqrqqqqqrqrrqqqrrqqqqqrqrqqqrqqqqqqrrqqqqqqqqrqqqrrqrqqqqqqqqqqqqqqqrqrqqrqqrqrqqqqqqqqrqqqqqqqqqqqqqqqqqqqqqqqrrqqqqrqqrqqqqqqqqqqqqrrrqqqqqqqqqrqqqqqrqqqqrqrqqqqqqqqqqqrqqqrqqqqrrqqqqqqrrrqrrrqqrrrrqqrqqqqqqrqqrqqqqqqqqqqqqrqqqqrrrqqqqqqqqqqqqrrqqqqqqrqqqqrqrqqqrrqqqqqqqqqrqqqqrrqqqqqqqqqqqqqrqqrqqqrrrqqqqqqrqqqrqqqqqqqqqrqqrrqqrqqqrqqqrqqqrqrqqqrqrqqqqqqqrqqqrqqqqqqqrqqqrrrqrqqqrqrrqqrqqrrrqrqrqqqrqrqqqrrqqqqrrrqqqqrqrqqrqqqqqqqrqrrqqqqqqqrqrqqqrqqqqqrqqqqrqqqrrqrqqqqqrrrqqqqrrqqrqqrqqqqqqqqrrqqqqqrqqrqqqrqqqqqqqqrqqrqqqqrqqqqqqrqqqqqrrqqqqqrqqrqrqqqqqqqqqrqqqqqrqqrqqqqqqqrqqqqqqqqrqqrqqrqqrqqqrqqrqqrqqqqqqqrqqqqrqqrrqrqqqqqqqqqrqqqrqqqqrqqqqqqrqqqqrrqqqqrqrqqrrqqrqqrqqqqqqqqqqqqrrqqqrqqqrqqrqrqqqqqrqqqqqqqqqqrqqrqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqrqqqrqrqqrqqqqqqqqqqqqrrqqqqqqqrqrqqqqqqqqqqqqrqqrqqqqqqqqrrqqqqqqqqqqqqqrqqqqqrqqrqqqqqqrqqrqqrrqrrqqqqqqqqqqqqqqqqrqrqqqqqqqqqqqrqqqqqqqqqqqqrqqqqrqqrqqqqrqqqqqqqqrqqrqqrqqqqrqqrqqqqrqqqqqqqqqrrqqqqqqqqqqqqqqqqrqqqqrqqqqrqqrqqqqqqqqqqqqqrqqqqqqqqqqrqqrqqrqqqqqqqqqrrqrrqqqqrqqqrqqqqqqqqqqqqqqqqqqqqqqqqqqrrqqqrqqqqqqqqqqqrqrqrqrqqrqqqrqqqqrqqqqqqrqqrqqqqqqqqqqqqqqqqqqrqrqqqqqqqqqqrqqqrqqqqqqqqrqqqqqrqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqrqqqqqqqqqqqqqqqqrqrqrqqqqqqqqqqqqqqrqqqqrqqqqqqqrqqqqqqrqqqqqqqqqqqqrqrqqqqqqqqrqqqqqqqqqrqqqqqqqqqqqqqqqqqqqqqqqrqqqqqqqqqqqqqqqqqqqqqqqrqqqqqqqqqqqrqqqqqqqqqqrqqqqrqqqqqqrqqqrqqqqqqqqqqqqqqqqrqrqqqqqqrqqqqrqrqqrrqqqqqqqqqqqqqrqqrqqqqrqqrrrqqqqrqrqqqqqqqqqqqqqqqqqqqqqrqqqqqqqqrqrqqqqqqqqrqqqqqqrrrqqqqqqqqqqqrqqrqqqqqqrqqqqqqqqqrqqqrqqqqrqqqqqqqqqqqrqqqqrqrqqqqqqqrqqqrqqqqqqqqqrqqqqqrqrqqqrqqqqqqqrqqqqrqqqqqqqqqqqqqqqqqqqqqqqqqrqqqrqqqqrqqqqqqqqqqqrqqqqrqrqqqqqqqrqqqrrqqqqqqrqrqqrqqrqrqrqrqqqqqqqqqqqqrqqqqqqqqqqqqqqqqqqqqqqqqqqqqrrqqqqqrrrqqqrqqqqqqqrqqqqqqqqqqqqqqqrqqrrqqqqqqqqrqqqqrqrqqqqqqqqqqrqrqrqqqqqrqqqrqqqrqrqrqqqrrqqqqqqqqqqrqqqqqqrqqrqrqqqqqqqqqqqqqqqrqqqrqqqrqqqqqqqqqrqrqqqqqqqqrqrqqqqqqrqqqrrqqqrqrqqqqqqqrqqqrqqqrqrqrqqqqrqqqrqrqqqqqqqqqrrqqqqqqqrqrqrqqrqrrqrqqqrqqrqrqqqqqqqqqrqrqrqqqqrqqqrrrqqrqrqqqqqqqrqqqrqqqrqrqrqqqqrqqqrqrqqqqqqqqqrrqqrqqrqrqrqrqqrqrqqqrqqrqrrqqqqqqqqqrrqqrqqqrqqqqrqqrrqrqqqqqqrrqrqqqqqrqrrqqqrrqqqqrqrqqqqqrrrqqqqqqqqqqqqqqqrqqrrqrqqqrrqqqqqqqqqqrqrqqqqqrrqrqqrqqqqqqrrqrqqqrqqqqqrqqqqqqqrqrqqqqqqqrqqrqqqqrqrqqrrrqrqrqrrrqqqqqqqqqqqqqqqqqrqqqqqrqqqqrrqqqqqqrqrqqrqrqqqrqqqrqqqqrqqqqqqqqqqrrrrqqqrqrrrqqqqqqqqqqrqqqrqqqqqrqqqqqrrqqqrqrqqqrqqqqqrrqqqqqrqqqqrqrrqqqqqqqqrqrqqqqqrqqqrqrqqqqqqrqqrrrqrrrqqqqqqqqqqqqrqqqrrqqqqqqqrqqqqrrqqqrqrqqqqqqrqqqrrqrqrqqqrqqqrqqqqqrqrqqrqqqqrqrqqqqrqqrqqrqrrrqqqqqrqqrqrqqqqrqqrqqqqqqqqqqqqqqqrqqqqqrqqqqrqrrqqqqqqqqqqqqqqqqqqqqqqqrrqqqqrqqqqqqqqrqqrqqqrrrqqrqqrqqrqqqqqqqrqrqrqrqqrqqqqqqqrrrrqqqqrqqqqrrqqqqqrqqqqqqqqrrqrqqqrqrqqqqrqqqqrqqrrqqrqqrqqrqrqqqqqrrqqqqqqqrqrqqrrrqqqqqqqqrrrqrqrqqqqrqqqqrqqqrqqqqrqrqqqqrqqqqqqqqqqqqqqqrrqqrqqqrqrqqqrqqqqqqqrqrqqqqrrqrqqrqrqqrqqqqrqqqrqrqrqqqrqqrrqqqqqrrqrrqqqrrqrqqrqqrqqrrrqrqqqqqqqqrqqqqqrqqqqrrqrqqqqqrqrrqrqqqqqqrqrqqrrqqqqqrrqqrqqqrqqrrrrrqqqqqqqqqrqrqqqrqqqqqrqqqqqqqqqqrqqrqqrqqqrqqqqrqqqqqqqrrqqqqqqqqqrrqqqrrqqqqqqqrqrqqqrrqqrqqrrqqqqrqqqqqrrqqqrqrqqqqrrrqqrqqrqqqrrqqrrrqqqqrqqqrqrqrrrqqqqqqqqqqqqqqqrqqrrrqrqrqqqqrrqrqqrrqqqqqqqrqqqrqqqqrqqrrqqqrqrrqqqrqqqqqqrqqqqqqqqrqqrqqrrqqqqqqqqqqqrrqqqrqqrqqqqqqqrqqrrqqqqrqqqqqqrqqrqrrqqqqqqqqqqrqqqrqqqqqqqqqrrqqqrqqqqrqrqqqqqqqqqqqqqqqqqqqqrqrqqqrqrrrrqqqqqrqqrqrrqqrqqrqrqqqqqqqqqqqqqqqqqqqrrqqqrqqqrrqqrqqqrqqqqqrqqqrqqqqqqqrqqqrqrrqqqqqqqqqrqqqqqqqrrqrrqqqqqqrqrqqrrqqqqqqqqqqqqrrqqqqqrrqqqqqqqqqqqrqqqqqqrrrqrqqqqrqqqqrqqqqqqqqqqqqqqqqqqqqrrrqqqqqqqqqqqrqrrqqqqqqqqqqqqqqqqrqqqqqqrqqqqqqrqqrqqqrqrqrqqqrqqqqqrqqqqqrrqqrqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqrqqrqqrqqqqqqrqqqqqqqqqrqqqqqrqqqqqqqqrrqrqrqqqqqqqqqqqqrrrqrqqqqqqqqqqqqqqrqqqqqqqqrqqqqqrqqqqqqqqqqqqqqqqqqqqqrqqqqqqqqqqqrqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqrrqqqqrqqqqrqqqqqqqqqqrqqqqqqqqqqrqqqqrrqrqqqqrqqqqqqqqrqqqqqqqqqqqrqqqqqqqqqqqqqqqqqqqqrqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqrqqqrqqqqqqqrqqqqrqqqqqqqqrqqqqqqqrqqqrqqqqqqqqqqqqrrqqqqqqqqqqqqqqrqqqqqqqqqrqqqqqqqqqqqqrqqqqqqqqqqqqqqqqqqqqqqqqrqqqqqrqqqqqqqqqrqqqqqqqqrrrqqqqqqqqqrqqqqqqrqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqrqqqqqqqqqqqqqqqqqrqqqqqqqqqqqqqqqqqqqqqrrqqqqqqqqqqqqqqqqqqqqqrrqqqqqqqqqqqqqqqqrqqqrqqrqqrqqqqqqqqqqqqqqqqrqqqqqqqqqqqqqqqqqqqqqqrqqqqqqrqqqrqqqqqqqqqqqqqqqrqqqqqqqqqqqqqqqqqqqqqqqqqqqrqqqqqqqrqqqqqqqqqqqqqqqrqqqqqqqrqqqqqqqqqqqrqqqqqqqqqqqqqqqqqqqqqqqrrqqqqqqqqqqqqqrrqqqqqqqrqqqqqrqqrqqqqqqqqqqqqrqqqqrqqqqqqrqqqqqqqqrqrqqrqqrqqqqqqqqqrqqqqqqrqqqqqqqqqqqqqqqrqqqqqqqqqqqqqrqqqqqqqqqqqqqrqqqqqqrqqrqqqrqrqqqqqqqrqqqrqqqqqqqqqqqqqrqrqqqqqqqqqqqqqqrqqrqqrrqqqqqrqqqqqqqqqqqqrrqqrqqqqqqqqqqrqqqqqqqqqqqqqqqqqqqrrqqqqqqqqqqqqrrqqrqqqqqqrrqrqqqqqqqrqqqqqrrqqqrqqrqqqrqrrqqqqqqqqrqrqqqqqrrrqqqrqrqqqrrrrqqrqqqqrrqqqqqrqrqqqqqqqrqrrrqrrrrqrqqrqrrqrqqrqqrqqrrqrqqrrrqqrrrqqqqrrqqqqrrrqqrqqrqqqrrrqqqrrqqrqqrqqrrrrrqqqrrrqqqrrrqrqqrqqrqqrrqqqrqqqrqqqrqqrrqrqqrqrqqrqqrrqrqrqrrqqrqqqrqrrrqrrqrqrqqrqrqrrqqqrrqrrqrqqrqqrqqrrrqqqrqqqqrrqrqqrqqqrqrrqqrrqrqqqqrqrrqrrrqqrrqqrqrrqrqrrrqqqrqqrqqqqrrrqrqqrqqqqrqqqqrqrqrqqqqrrrqrrrrqrrrqrrqrqrqqqrrqqrqrrqqrqqqrqqqqrqqqrqqqqrqqrrqqqqrqrrqqrqrqqqrqqqqqqrqqrrrqqqqrqqrqqqqrqrqrrqrqqqrrqqrrrqqrrqqqqrqqrqqqqrrqqqrrrqqqqqqrrqrrqqqrrqrqrqqqqqqqrqqqqrqrrrrqqqqqqrrqqqqrqqqqrrrrqqrqrrqrqrrqqqqqrrrqrqrrrqrqrrrrrqrrrqqrrrrqqqrqrqqrqqqqrrqqqrrqrrrrrqrrrqrrqrqrqqqqqqqqrqrrqqqqrrrrrqqrrqqqqrqqqqqqqqqrrrqqqrqrqrqrqrqqqrrqqrrqrrrrqqrrqqqqqqqqrrrrqqrqrqrqrqrqqrrqrrqqqrrqrqqrrrrqqqrqqrqrrqqrqqqqrqqrqqqrqrqqqqqqrrrqqqrrrqqqrqqqqqrrrrqqqrqrqqqrqqqqrqqqqqrrqqrrrqqrqqrqqqrrrqqrrqqqqqqrrqqqrrqrrrqqqqqrqqqqqqqrqrqqqrqrqrrrrqrqrqqrqqqrqqqqqqqqqrqqqrqrrrqrqqqqqqrqqrqqqqqrrqqqqrqqrqqrqrqqrqrrqqrqrrrqqqrqrrqrqqqqrrrqqqqqqrrrrqrqqqqqqqqrqrqrqqqqqqrqqqrqrqrqqqrqqqrrrqrqqqqrqrrqqrqqrqqqqqrqqqrrqqqrqqqqqqqrqqqqqqqqqqqqrqqqrqqqqqqqqqqrqqqrqqqqqqqrqrqqqqqqqqqrqqrqqrqrqqqqqqrqqqqrqrrqrqqqqqrqqqqrqqqqrqqrrrqqrrqqrqrqqqqqrqrqqqqrqqrqrrrqqqqqrqqqqrqrrqqqrqqqqqqrqqqqrqqrrqqqqqqrqrqqqqrrqqqqrqqqqqqqqqqqqrqqrrqrrrqrqrqqqqqqrqqqqqrrqrrqqqrqqqqqqqrrqqqrqqqrqqrrqqqqqrqqqqqqqrqqqqqrqqqqqqqqqqqqqqqqrrqqrqqrqqqqqqqqqqqqqqrrqqqqrqqqqqqqqqqqqqqqqqrqqrqrqqrrqqqqqqqrqqqqrqqqrqqqrrrqrqqqqqqqqqqqqqrqrqrqqqqqqqqqqqrrqqqqqqqqqqqrqqqqqqqqqqqqqqqrqqqqqqqqqrqqrqqqrqrqqqqrqqrrrqrqqqqqrqrrrqrqqqqqqqrqqqrrqqqrqqqqqqrqqqrqqqqqrrrrqqqrqqqqqqqqrqqqqrqqqqqqqqqqrqqqqrqqqqqrqrqqqqqqqrqqrrqqrqqqqqqrqqqqqqrrqqqrqqrqrqqqrrrqqqqqqqqqqrqrqrqqrrqqqqqqqqqqrrqqqrqqqrqqqqqqqqqrqqqqrqqqqrqqqqqqrrqqqqrrqqqqqqqqqqqqqqrqqqqqqqqqqrqqqrqqqqqqqrqrqqqqqqqqqqqqqqqrqqqrqqqrqqqqqrqqqqqqqrqqqqqqqqqqrqqqrqqqqqqqqqrqqqqqqqqqqrqqqrqqqrqqqrqrrqrrqqrqqqqqqqqqqqqrqqrqqqrqqqqqqqqqqqqrrrqqqrqrrqqrqqqqqrqqqqrqqqqqqqqqqqqqrqqqqqqrqqqqqqqqqrqqqrqqqqqqqqqqrqqqqqrqqqqqrqqqrqqqqrqqrqqrrrrqrqqqrqqrqqrqqqrrqqqrrrqrrrrrrrqqrrqqrqrqrqqrqrrrrqrqrrqqqrqrqqrqrqqqrqrqrrrqqrqrrqrrqqrrrqrrrqrrqqrqqqqrqrrrrrrqqqqqrrrqrrrqrqqrrqrqqrrqqrrrrrrqrqrqqrqrqrrrrqrrrqrqqqqqqqrqrrqrrrqqrqrrqrrrqrqqrrqrrqrqqrqrrqrqqqqrrrqrrrqqrqrqqrrqrrqrqrrqrrrrrqqrrqrrqqrqrqqrrrrrrrqqqqrqrrrrrqqrqqrqqqrrrqqrrqrrqrqqrqrqqqrrrrqqqrrrqqrqrrrrqqrqqqrqqrqrrrqqrrrqrqrrrqqrrrrqqqrrrrqqrqrrqrrqqrqrrrrqrqqrqqrrrqrrrrrrrqqrrqqqqrrrrrqrrqrrrqqqrqrrrrrqqqrrrrqrrrrrrqrqqrrqrqrqrrqqqqrrqrrrrrrqqqrrqrrrrqrrrrqqrrqrqrrqrrrrqrqqrrrqrqrqqrrqqrqrrrqrrqqrqrrqrqrqrqrqrrqqqqqrqqqrrqqqrqqqqqrqqqqqrrqqqqqqqqrqqqqrqqrqrqrqqrqrqrqrrrrqrqqrrqrqqqqqqqrqrqrqqqrrqrrqrrrqqrrrrqrqrqrrrqqqrrqrqqrqqrqqrrqqqqqrrrrqqqrrqrqrqrqrqrrqqqrqrqqrrrrqrqqrqrqqqrqrqrqqqqrrqrqqrqrrqqrrrqrqqrrqqrrrrrqrqqqqqqqrrrrqqqrrqqqqrrrqqqqrrrqrqrrrqrqrqqrrqrqqrqrrqrqrrqrqqqrrrqrrqrrrrrrrqrqqrqqrqrrrrrrqrqqrrrqrrrrqqrrrrqqrrrqrrqrqrqrqrqqrqqrrqqqqrqrrrrqrqqrrqrqrrqrrqrqqrqqrqrqrrqqrrqqqqqqqqqrqqqrqqqqrqrrrqrqrqqrqqqrqrrqqqqqrrrrqqqqrrqqrqqrqqqrrrrqrqrrrrrrrqqrqrrrrqqqrrqrqrrqqqqqqrqqqqrqqqqrrqqqqrqrrqqqrrqrqrqrqqrrqqrqrqrqrqqqrrrrqqqqqqqqrqqqrrqqqqrrqrqqqqqqqqqqrrrqqrrrrqqrqqqqqqqrqrrqrrrrqqrqrrrqrqqqrqqrqrrqrrrrqqqqqrqqqrrrrrrqrrqrrqrqrqrrqrqqqqqrrrrqrqrrrqrrqrqqqqrrrrrqqrqrqqqqrrqqrqrrrrqrqrrrqqqrqrrqqqqqqqqqrrqqrqrrrqqrrqqqrrrrqrrrrrrqrqqrrrqqqrqrrqrqrrrqrrrrqrqqqrrrqrrqqrrqqrqqrqrrqqqrrqqqrrqqqrqrqrqqqqqrrrrrrqqqqqqqrqqqqqrrrrqrqqrqqqqrqrqrqrqqrqrqqqqrqqqrrqqrrrqrqqrqrqrqrrqqrrqrqrrqrrqqqrrqqrqrqqrqqrrqqqrrqqrqrqqrqrrrrqqqrrqqqqqrrqrrrqqqrrqrqrrrqqqrrqrqrrrrrqrqqqrrrrrqqqrqqrrqqqqrrqqrrqrqqqqqqrqqqqrqrrrrrrqqrqrqqqqrqqrqqrqqqrrqqqqqrqqqrqqrqqrqqqqrrqrqrrqqqqrqqrrrqrqrqqrqqqrqqqqqqqrrqqqqrrqqrrqrqrrrqqrrqqrqqrqqrqrrqrqqrqqrrrrrrrqqqqrqrqqqqqqrrqqqqqqrqrqrqqqrrqrqrrrrqqqrrqqqqrqqqrqrrqqqqrqrqqqrrrrqqrqrqrrqqqqrrqqrqrqqqqqqqqqqrqrrrqqrqrqrqqqqrqrqqrqqqqqqqqqrrqqrrqrqqqqqqrrqqqqrqqqqrqqqrrqqrqqrqqqqqqqqqqqqqrqrqqqqrqqqrrqqqqqqqrqrrrqqrrqqqqqqqqqqqqqqqqrqqqqrqrrqqrrqrrqrqqrrrrqrqrrrrqqrqqqrqrqrrqrqrrrrrrrqqqrqrqqqqqrqrqrrrqqqqrqqrrrqrqqqrrrqrrrqqrqrrqqqrrqqqqqrrqqrrrqrrqqrrrrrqrqqqqrqrrrqqqqrqqqqrrrqrqrrqrrrqqrqrrrqqrrrrrrqrrrrqqqqqqrrqrqrqqqrrqqqrrqqrrqrqrqrrqqrrrqqqrqqqqrqqrqqqrqqqqqqrrqqqqrrqrqrqqrqrqqqqqqqrrqrrrqrrrrrrqrrqrrqrrqqqqrqqrrqqqqqqqrqqrrrrqqqqrqrqqrqrqrqrrrqqrrrrrrrrrrrrqqrrqqqqqrqqqqqqqqqrrqqqqqrqrqrrqrrrqqqqrrrqrqqqqqqqrrqqqqrrqqqrqqrrqrqrqrqqqrqrrqqqrqqqrqrqqqqqqrrrqqrrqrrqqrqqqrrqrqrqrrrqrrrqrrrqrqrrrrqrqqqrrrrrqqrrrrrqrqqrrqrrqrrqrrqrqrqrqrqqrqqrrrqqqrqqrqrqrrrrqqqrqrrqqrqqrqqqqqqrrrrrrrrqqrrqqrqrrrqrqrqrrrqrrqqqrqrqrrrqrrrqrqrqrrqrrqrrrrqqrqqrrrrqqqqqqqrrqrrqrqrrrrrqqqrrrrrrrqqqqrqrqrrqqqqrrrrqrqqqqqqqrrqrrqqqqrrrqqqqrrrrrrrqrrqrqrqrqqqrqrrqrqqrrrrqrqrrqqrqrqrrqrqrqqqrqrrrrqqqrqqqqqqqqqqqrqrrqrrqrqqqrrrrrqrqqqqqqqqqrrrrrrrrqrrqqqrrrqrqqrqqrqrqrrrqqqrrqqqqqrrrrrrqqrrrqqrqqrqrrrqrrqrrqrrrrrqrqqrqrrrqqrrqqqrrrrqqqqrqrrqqqqrrqrrrrqrrqrrrqrqrqqqqrrrrqqrqqqqrrqqqqrqqqrrqqrrrqqrrqqrrqqqrqrrqqrqrrqrrrqrqrqqqrqrqrrrrqqqrrrqrrqqqqrqrqqrrrqqqrqrqrrqrrrqrqqrrrrqrrrrrrrrrqqrqqqrrrrrrrrqqqqqqqrqqqqrqrrqqrqrrqqrqrqrqqrrrqqqrqqrqrqqqrrrrqrqrrrqqrrqqrrrrqqrrrrrrrrrqrrqrrrqrqrrrqrrqrqqrrqrqrrqqqqqrqqqqrqrqrqrqrqqrqrrqrrrrrqrqqrrqqrqqqqrqqqrrrrqrrqqrqqqqrqrrrqrqrqrrrrrqrqqqrrrqqrrrqqqrrrqqqqqqqqrqqrqrrrqrrrqqrrqrrrqrqrqrrrrqqrrrqrrrqrrqrrrqqqrqqqqqqrqrrrqqrqrqqrrrrrqqqqqqqrqrrqrqqqrrrqrqrrqrrqrrqqrrqqqrqrqrqrrrqrqqqqrqrrrrqqrqrrrqrqqqqrrrrrrqrrqrqqrqqrqqqqqqrrrqrrqqqqrqqrrqqrrrrqqrqqrrqrrrrqrqrqrrrrqrqqqqqqqqrqrqqrqqqrrqqqqqqrrrqqqrqrqqqqqrqrrrrqqrrrrrqqqqqrrqrqqrrrqqrqrqrqqrqqrqrqrqqqrrrqqrqqrqqrqqrqrrqrqqqrrrrqqrqqqqrqqrrqrqrrrrrrrrqrqrrrrqqrrrqqrqrrrqqqqqqqrqqrqrrrrqqqrqqqrqqqqrqqqqqrrqqrrqrqqqrrqqqqrrqqqqqqrrrqqqqqrrqqrqqqrrrrqrqrrqrrqqqqrqrqqqqqqqrrrqqqqqqrrqrrqrqrrrqrqrrqrrrrqqrrrqrrrqrqrqqrrrrqqqrrqqrqqqrrqrrrrqqrrqrqqqrqrrrrqqrqrrqqqrqqqrrqrqqrqrqqqrrrqrqqrqrqqqqqqrqrrqqqrrqrrqqqrqqqqqqqrqrrqqrqrrrrrrrqrrqqrqrrrqrqrqrqrqrqrqrqqrqqqrqqqrqrrqrrqrrrrqrrqqrrqrrrqqqqqqrrrqqrqqqrrrrqqqrrqqqrrqrrrrrrqrrrqqrrrqqrrrrqrqqrrqrqqqrrrrqqrrrqrrqrqqrqrqrrqrqrrrqrqqrrqqrqrqqqrqqrrrqrrqqrrqrqqrrqrqrrrqqrrrrqqqrrqqqrrrqrrrrrqqrqrqrqqrrqrrqrrrrqrrqqrrrrrrqrqqqrqqqqqrqqrqqqrqqqqrrqqrqrqqrqqqrrqrrrqqqqqqrqrrrrqrqrrrrrqqqrqrrqrqqqrqqqrrrqqqqqrrrrrrrrqrrqqqqrqrrqqrqqqrqrrrqrrrqqrrqrrqqqqqrrrrrrqrrrrqrrrrrqqqqqrqqrrqrrqrrqqrrrqqqrrqrqqqrrqrqrqrrrrqqrqqqrrqqqqrrqqqrrrrrqrqrqrrqqqqqrqqrqqrrrqqqrrqrrqqrrqrrrrrrqqrqrqqrrrrqrrrrrqrrrqrrrrqrqrrqrrrqrrqrqqqqqqrqrrrqrqqrrrqqqqrrqqqrqrqrqqqqqrqrrrqqrqqrrrrrrqqqqrqqrrqqqrrrrrqrqqqrrqrqqqrqqrqrqqqrqqqrqqrrqrqqqqqrqqrrrqqqrqqqqqqrrrqrqrrrqqqrqqrrrrrrqrrrqqqqqrrrrrqrqqqqqqqqrrrrrrrqrqrrrrqrqqrqqrrrqqrqrrqrrrqqqqqqqrrqqqrrqrrrqqqqrrrrrrqrrrqrqqrqqqqrqrrqqqqrrrqrrqrqrrrrqqrqrqrrqrqrrrrqrqqqqqqrqrrqrrrrqqrqqrrrrqqqrrqqqqrqqrrqqqqqrrqqrrrrqrrqqqqrqqrqrqrrrqrqrrqqqqrqrqrrqrrqrqqqqrqqqqqrqrrqqqrqrrqrrqrqrrrrqrrqrrrrqrrqrqrrqqqrrqqqqqrrqqqqqrqqqqqqrqqqqrqrrrqqqrrrrqrrrrqrqqrqqqqqqrrqqqqqrqrqqqqqrrqqrrrrrqqrrrqrqrrrqqrqqqrrrqqrqrrqrqqqrqqrqqrqrrqrrqrrrrrqqrqqrrqrrqrrqrqrqrqqqqqqrqrrqrqrqrqrrrrrqrqrrqqqqrqrrqrrqrqrrqrrqrqqqqqrrqqqrqqrrqrrqrrqqrqrrqqqrrqqrrqrrrqrrrqrrqqrqrrqrqrqrqqrqqqqrrrrqrqrqqrqrrrrrqqrqqrqqrrqqrrqqrqqrrqrrrqqrrqrrqrqrqrrrqrrrqrrqrqrrqqrrqqqqqrrqrqrrqrrqrrrrrrrqrrqqrqqqrqqqqqrrqqqrrrqqqrqrrrrrqqqrqqrrqrrqqqqqqrrqrrqqrqrqqrrrrqrrrrqrqqrrqqrrrrrqrqqqqqqqrqqrqrrqrqrqqqrqqrrrqrrrrqrrqrrqrqrrrrrqrrqrqrrrqqqrrqqqrrqqqrrqrrqrrrrqrqqqrrqqqqrrrqqrqqrqrqrqqrrqqrrrrqrqrrqqrqqqrrrrqqrqrrqrrqqqrrqqrqqrrqrqqqqrqqqqqrqqqqqqrrqrqrrrqrrqrrqqrqqrrqrqrrrqqqqqqqqqrqqrrrqqrrrqqrqrrqqqqrrrqqqqrrqrqqrqqrrrrqqrqrqrqrqqqrrqqrqrrrqqrrqqrqqqrrrrqrrqrqqrqrrrqrrqqqrrqqqqrqqqrrrrqrqrqqrqrqrrrrqrrrrqrqrrrqqqqqrrrqqqrqrrqrrrrrqqrrrrqrrqqqqrrqrrrqrqqqrqrrrqrrrrrrrrqrrrqrqrrrqrqrrqqqrrrqqrqrqrrrqrqqrqqrrqqrqrqqrqrrqrrrqqrrqqrqqqqqqrrqrqrrqrrqrrqqrrrrqrrrrrrrqrqqqqrrqqrqqrrrqqqqqqqrrqqrrrqqqrqqqrrrqrrqrqrrqrqqrrrrqqqrrqrqqqqrqrqrrrrrrrqrqqqrrrrrqqrrqqrrrqqqrrqrqrrrrqrrrrrrqqqrrrrrrqqqrrrqrrrrqqrqqrrqrrqqrrqqrrrrrqrrrrrrqrrrrrqrqqrrrrqrqrrqrrrqqrrqrrqqqqrrrrqqrrrrrqqqqrrqrrrqqrrrrqqrqqrqrqrqqrrqrqqrqrqqrqrrqqqrrrrrrrqrrrrrqqrqqrrrrrrrrrrqrrrqrqqrrqqrqrrrrrrrrrrrrqrrrrqqqrrqrqqqrrrrrrqqqrrrrqrrrqrqrrqrrrrrrrrrqqrrrrrrqqqrqrrrrqrqrrrqrrrrrqrqrqrqrqrrrrrrrrrrqrrrqrqqrqrrqqrrrqrrrqqqrrrqrrqqrrrrrqrqrqrrrrrrrqqrrqrrrrqqqrrrrrqqrqrqrrrqqrqrqrqrqrqqrrrrqqrqrqrqqrrqrrrqrqrrqrrrqqrqrrrrrqrrrrrrrrqrrrqqrrqrrrrrqrqrqrrrrrqrqrrqrrqqqrrrrrqrrrrrrqrrrrrrrqqrrqqrrrqqrqrrqrqrrqrrrrqrqqrrqrqrrrqqrqrrrrrrqrqrrrrrrrrrqrqrqqrrrrrrrrrqqqrrrrqqrrqqrrqqrqqqrrqrrrrrqqqrrrrqrqqrrrrqrqrrrqqqrrqrrrrqqqrqrrrrrrrqqrqrrrrrrrrrrqrrrqrrrqqqrrrrrrrrqqqqrrrqrqrrqqqrrqrqqqrrrrrqrrrqrrqrqrrqrrrrqqrrrrrrrqrrqrrrrqrqrrqqqrrrrrqrrqqrqrqqqqqrrqrrrrrrqqrrrrrrqrrrqrqqrrqrrrrrqqrrrrqqrrrqrrrrrrrrqqqqrqqrqrrqqrrrrqrqqrrqqrqrqrrrqqqrqqrqrrqrrrqrqqrrqrqqrrrqrrrqrqrqqqrqrrrrqrrqqrrqqqrrrrqrrrqqrrrrqqrrqrrqrrrqrqqqqrqqrrrqrrqrrqqqrrrrrqrqrrqrrqrrrrqrqrqrqrrrrqqqqrrqqrqqrrqrrrrrrrrqqqqqqrrqrrrqrrrqrqrrqqrqrrrqrrqqrqqrqrrrrqrrrrqqrqqqrrrqqqqqqrrrrrrqrrrrrqqrrrqqrrrqrqrqrrqrrqrrqrqqqqqqrqqrqrrrqrrrrrqrqrqqqrqrrrrrrqqrqrrrqqrrrqqqrrrrqqrrqqrqqrqrqrrqrrqrqrqrqqqqqrrqqrrqqqrrrqqqqrrrqrqqrqqqrrqrqqrqqrqrrrrqqrqqqrrrrrqrqqrrrqrqrqrrrrrqqrrrrrrqqqrrrrrrrqrqqrqrrrqqrrrrqrrrqqrrrqrqrrrrrqrqqrrrrrqqqrrrqqqrrqqqrqrrqqqrrqrqrqqqrqqqqrrqqqqqqrrqqqrqrrrqrrrqrrrqqqrrqrqrqrqqrrrqqqqrqqqqqrqrqrqqqqrrrqrrrqqrqqrqqrqqqrqrqrqrrrrrqrqrrrqrrrqqqqrqrqrrqqqrqqqqrqrqrqrrrrqrqrqrrqqqrqrrrrrqrqrqqqqrrrrrrrqqrqrrqrqqqrrqqrrrqrqrqrqqqrqrrrrrqrrrqrrqqrqqrrrrrqrrqrrrrqqrrrrrrrrrrrrqqrqqrqrrrrrrqqrrqqqqrrqqqrrqrrrrqqrqqqrrqqqrrrrrrqrqrrrqrrrqrrrqqrrrrqqrrrrrrqqqqrrrqrrqqrrrrqrqrqrrqrrrqrrqqrqrrqrrrqrrqrqqqrqrrrqrqrqqqqrqrqqrqrqrrqrqqrrrqrrqqqqrqqqqqqqrqrqrqqrrqrqrrrqrqrqqrqqqqqrrqrqqrrqqqrqqrqqrqrrrqrqrrrrqrqqqqrqqrqrrrrrrqqqqqrrrrqrrqqqrqrrrrqqrrrrqqqrqrrqrqqrrrqqqrrrrrrrrqqrqqqrqrrrrrrrrrrrrrrqrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrqrrrrrrrrrrrrrrrrrrqrrrrqrrrrrrqrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrqrrrrrrrrrrrrrrqrrrrrrrrqrrrrrrrrrrrrqrrrrrrrrrrrrrqrrqrrrqrrqrrrqqqqrrrrrrqrqrqrrrrrqqqrrrrrqrrrrrqrrrrrrrrrrrrrrrqrqrrrrrrrrrrrrrrrrrrqqrrqrrrrrrqrrrrrrrrrrrqrrqrrrrrrrrrrrrrrqrrrrqrrqqrrrrrrrrrrrrrrrrrqrrrrrrrrrrrrrrrqqrrrrrqrrrrqrrrrrrrrrrrrrrrqqqrrrrqrrrrrrrrrrrrrrrrqqqrrrrqrrrrrrqrrrrrrrrqrrrrrrrrrrrqrrrrrrrrrrrqrrrrrrrrrrqrrrrqrrrrrrrrrqrrrrrrrrqrrqrrrqrrrrrqrrqqrrrrrrrrrqrrqqqrrrrrrrrqrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrqrrqrrrrrrrrrrrrrrrrrrrrrrrrrrqrrrrrrqqqrrqqrrrrrqrrrrrrrrrrrrrqrqrqrrrrrrqrrrrrrqrrrqrrrrrrrrrrrrqrrrrrrrrrrrrrrqrrqrrrrrrrrrrrrrrrrrrrrrqrrrrrrqrqrrrrrqrrrrrrrrrqrrrrrrrrrqrrqrrrrrrrrqqrqrrqrrrrrrrrrrrqrrrqrrrrrrrrqrrrrqrqrrqqrrrrrrrrrrqrrqrrrrrrrrrrrqrrrrrrrrrrrrqrrqrrrrrqrqrrrqrrrrrqrrrqrrrrrrrrrrqqrqrrrrqrrqrrrqrrrrqrrrrqrqrrqrrrrrrqrqrrrqrqrrrqrrqrqrrrqrrqqqrqqrrrrrrqqrrrrrrrrrrqrrrrrqrqrrrrrrrrrqrrrrrqrrqrrrqqrrrrrrrrrrrqrrqrqrrqrrqqrrrqqqrrrrqrrqrqqrrqqrrrrrqrrqrrrrqrqrrqrrrrqrrrqrrrrrrqrrqrqrrrrqrrrrqqrrrrrrrrqrrrrrrrrqqrrqqrqqrqrrrrrrrqrqrrrrqrrrrrrrrrrrrqrrqrrrrqqqqqqqrqqrrrrrrqrrrrrrrrrrrrrrqrqqrrrrrrrrrqrqrqrqrrqqqrrrrrrrrrrrrqrrqrrrrrqrqrqqrrrrrrrqrrqrqrqrrqrrrrrrrqrqqrrrrqrrrqrrqrrrqrqrrrqrrqrrqqrqqrrrrrqrqrqrrrqrrrqqrrqrrrqqrrrrrrrrrrqrqqrrqrqrrqrqqrrqrrqrqrqrqrqrrrrrrqrrqrrqrqrrrrqrqrqrqrrrrqrrrqqrqrrqrrrrqrrqrqqrrqqrrrqqrrrqqrrrqrqqqrrrrrrrrrqqqrrrrrqrrrrrqqrrrrqrqqrqqqrrqrrrqrrrrqqqrrqrrrrqrrrrqrrrrrrrrrrqrrrrrqrrrqqrqrqrqrrqrrrqqrqrqrrqqrqrrrrqqqrrqrqrrrrrrqrrrqqqrrrqqrrrrqqqrrrrrrrqqqrrrrqrqqrqrqqrrqqqrrrqrrrqqrqqrrrqqqqrrrqrrqqrqqqrrqrqqrqqrrqrrrrrrqrqrqrqrrrrrrqrrqqrrrrqrrrrqrrqqqqqrrrqrrrrrqrqrqqqrrrrqqrqrrrrrqrrrrrqqrrqrqrrqqrqrqqqrqrrrrqrrrrrrrrqrrrrrqrrrrrrqrqqrqrrrrqqqqrrrrqqqrrqrqrrrqqrrrqrqrqqrrrrrqrrrrrqrqrrrqrqqqqrrrqqrqrrqrrrrrrqqrrrqrrrrqrqqrrqrrrqqrqrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrqrrrrqrrrrrrqrrrrrrrqqrqrrrrrqrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrqrrrrrrrrrrrrrrrrrrrrrrqqrrrrrrrrrrrrrrrqrrrrrrrrrrrrrrrrrrrrrrrrrrrqrrrrrrrrrrqrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrqrrrrrqrrrrrrrrqrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrqrrrrrrrqrrrrrrrrrrrrrrrrrqrrrrrrrrrrrrqrrrrrrrrrrrrrrrrrrrrrqrqrrrrrrrrrrrrrrqrrrrrrrrrrrrrrrrrrqrrrrqrrrrrqrrrrrrrrqrrrrrrqrrqrrrrrrrrrrrrrrrqqrqrrrrqrrrrrrrrrrrrrrrrrrqrrrqrrrrrrqrrrrrrqrrrrqrrrrrrrrrrrrrrqrrqqrrrrrrrrrrrqrrqqrrrrrrrrrrrrrrrrrrrrrrrrrrrqqrqrqrrqrrqrrrqrrrrrrrrrrrrrrrrqrrrrrrrrrrrrrrrrrrrqrrrrrrrrqqrrqrrrrrrrrrrrrqrrrrrrrrrrrrrqqrrrrrrrrrrqrqrrrrrrrrrrrrrrrrrqrrrrqrrrrqrrqrrrrrrrrrrqrrqrrrrrrrrrqrrrrrrrqqrrrrrqrrrqrrrqrrqrqrrqrrrqrrrqqrqrrrrrrrrrrrrqqrrrrrrrrrrrrrrrqrrrrrqqrqrqrqrrrrrrrqqrrrrrrrrrqrqrrrrrrqrqrrrrrrrrrrrrrqqrrrrrrrrqrrrqrqrqrrrrrrrrrqrrrrrrqrrrrrrqrrrqrrrqrrrrrrqrrrrrrqrqrrrrqrrqrqrrrrrqqrrrrrrrrrqqrrqrqrrrrqrrqrrrqrrrrrrrrrrrrrrrrqrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrqrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrqrrrrrqrrrrrrrrrrrrrrrrrqrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrqrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrqrrrrrrrrrqrrrrrrrrrrrrqrrrrrrrrqqrrrrqrrrrrrrrqrrqrrrqrrrrrrrrqrrrrqrrrrrrrrrrrrrrrrrrqrrrrrrrrrrrrqrrrrrrrrrrrrrrrrrrrrrqrqrrrrrrrrrrrrrrrrrrrrqrrrqrrqrrrrrrrrrrrrrrrrqrrrrqrqrrqrrrrrrrrrrrrqrrrrrqrrrrqrrrrrrrrqrqqrrrqrrrrrrrrrrrrrrrrrrrrqrrrrrrrqrrrrrrrrrrrrqrrrrrrrrrrrrrrrrrrrrrrrrrrrrqrrrqrrrrqqrrrrrrqrrrrrrrrrrrrrrrrrrrrrrrrrrrqrrrqrrrrrrqrrrrrrrrrrqrrrrrrrrrrrrrrrrrrrrrrrrrrrqrrrrrqrrrrrrrrqqrrrrrrrrrrrrrrrrrqrrrrrrrrrrrrrrrqrrrrrrrrrrrrrrrrrrrrrrrqrrrrrrrrrrqrqrrrqrrrrrrrrrrrrrrrrrrrrqrrrrrqrrrrrrrrrrrrqrrqrrrrrrqrrrrrrrqrqqrrrrrrrrrrrrrrrrrrrrqqrrqrrqqrrrrrrrrqrqrrrrrqrrqrqrrrrrqrrrrrrrrrrrrrrrrrrrrrqrqrrrrrqrrqrrrrrrrrrrrrrrrrrrrrrrrrrrrrqrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrqrrrrrrrrrrrrrqrrqrrrrrrrrrrrrrrrqqrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrqqrrrrrrrrrrrrrrqrrrrrrrrrrrrrrrrrrrrrrrrrrrqrqrqrrrrrrrrrrrrrrrrrrrrrrrrqrrrrqrrqrrrrrrrrrqrrrrqrrrrrrrrrrrrrrrrrrrrqrrrrqrrrrrrrrrrrrrqrrrrrrrrrqrqrrrrrrqrrrrrrrrrrrrrrrrrrrqrrrrrrrrrrrrqrrqrqrrrrrrrrrrrrrqrrrrrrrrrqrrrrrrrrrrrrrrrrrrrrrqrrrrrrqrrrrrrqrrrrrrrrqrrrrrrrrrrrrrrrrrrrrrrrrrqrrrrrrrrrrrqrrrrrrqrrrrrrrrqrrrrrrrrrrrrrrrrrqrrrrrrrrrrrrrrrrqrrrrrrrrrrrqrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrqrrrrrrqrrqrrrrrrrrrrrrrrrrrrqrrrrrrrrrrrrrrqrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrqrrrrrrrrrrrrrrrrrrrrqrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrqrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrqrrrrrrrqrrrrrrrrrrrrrqrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrqrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrqrrrrrrrrrrrrrqrrrrrrrrrrrrrrqrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrqrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrqrqrrrrrrrqrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrqrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrqrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrqrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrqrrrrrrrrrrrrrrrrrrrrrrrqrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrqrrrrrrrrrrrrrrrrrrrqrrrrrrrrqrrrrrrrrrrrrrrrrrrrrrrrqrrrrrrrrrrqrrrqrrqrrrrrrrrrrrrrrrrrrrqrrrrrqrrrrrrqrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrqrrrrrrqrrrrrrrrrrrrrqqrrrrrrrrrrrrrrrrrrrrrqrrrrrrrrqrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrqrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrqrrrrrrrrrrrrrrrrrrrrrrrqrrrrrrrrrrrrrrqrrrrrrrqrrqrqrrrrrqrrrrrqrrrrrrrrrrrrrrrrqrrrrrrrrrrrrrrrrrqrrrrrqrqrqrrrrrrrrqqrrrrrrrrrrqrrrrrrqrrrrrrrrrrrrrrrrqrrrrrrrrqrrrrrrrrrrrrrqqqrqrrrrrrqrrqrrrrrrrrrrrqrqqrrrrrrrrrrrrrrrrrrrrrrrrqrrrrqqrrrqrrrrrrrrqrrrrrrrqqrrrrrrrrrrrrrrrrrrrrqrrrrqrrqqrrrrrqrrrrrrrrrqrqrrrrrrrrrrrrrrrrrrrrqrrrrqrrrrrrrqrqqrrrrrrrqrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrqrrrrrrrrrrrrrrrrrrrrrrqrrrrrrrqqrrrrqrqrrrrrrrrrrrrrrrrqrrrrrrrrqrrrqrrrrrrrqrrrrrrrrrqrrrrrrrrrrrrrrqrrrrrrrqrrrrrrrrrrrrrrrqrrrrrrrrrqrrrrrrrrrrrrrrrrrrrrrrrrrrrqrrrrrrrrrrrrrrrrrrrqrqrrrrrrrqrrrrrrrrrrrqrqrrrrrqrrrrqrqrrrrrqrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrqrrrrrqrrrrrrrrrrrrrrrrrrrrrrrrrqrrrrrrqrrrrrrrrrrrrrrqrrrrrrrrqrrrrrrrrrrrrrrrrrrrrrrrrrrqrrrrrqrrrrrrrrrrrqrrrrrrrrrrrrqrrrrrrrrrrrrrrrrrrrrqrrrrrqrrrqrrrrrrrrrrrrrrrrrrrrrrrrrrrrrqqrrqrrrrrrrqrrrrrqrrrrrrrrrrrrrrrrrrrrqrrrrrrrrqrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrqrrrrrrrrqrrrrqrrrrrrrrrrrrqrrrrrrrrrrrrrrrrrrqrrrrqrrrrrrrrrrqrrrqrrqrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrqrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrqrrrrrqrrrrrrqrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrqrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrqrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrqrrqrrrrrrrrrrrrrrrrqrrrrrrrqqrrrrrrrrrrrrrrrrrrrrrrrrrrrrqrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrqrrrrrrrrrrrrrqrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrqrrrrrrrrrrrrrrrrqrrrqrrrrrrrqrqrrrrrrqrqrrrrrrrrqqrrrrrrrrrrrrrrrrrrrrrrrrrrrqrqrrrrrrrrrrrrrrrrrrrqrrqrrrrrrqrrrrrrrrrrrrrrqrrrrrrrrrrrrrrrrrrrrrrqrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrqrrrrrrrrqrrrrrrrrrrrrrrrrqrrrrrrrrrqrrrrrrqrrrrqrrrrrrqqrrrrrrqrrrrrqrrrrrrrrrrrrrrrrrrrrrrrrrrqrrrqrrrrrrrrrrrrrrrrrrrrrrrrrqrrrrrrqrrrrrrrrrrrrrrrrrrrrqrrrrrrrrrrrrrrrrrrrrrrrrrqrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrqrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrqrrrrrrrrrrrrrrrrrrrrrrrqrqrrrrrrrrrrrrrrqrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrqrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrqrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrqqrrrrrrqrrrrrrrrrqrrrrrrrrrrrrrrrrrrrrrrrrrrrqrrrrrrrrrrrrrrrrrrqqrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrqrrrrrrrrqrrrrrqrrrrqrrrrrrrrrrrrqrrrrrrrrqrrrrrrqrrrrrrrrrrrrrrrrrrrrrrqrrrrrqqrrrrrrrrrrrrrrrrrrrrqrrrrrrrrrrrrqrrrrqrrrrrrrrrrrrqrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrqrrrrrrrrrrrrrrrrrrrrrrrrrqqrrrrrrrqrrrrrrrrrrrrrrrrqrqrrrrrrrrrrrqqrrrrrrrrrrrrrrrrrrrqrrrrrrrrrrrrrqrrrrrrrrrrrrrrrrrrrqrrrrrrqqrrrrrrrrrrrrrqrrrrqrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrqqrrrrrrrrrrrrrrrrrrrrqqrrqrrrrrrrrrrrrrrrrrrrrrrqrrrrrrrrrrrrrrqqrrrrrrrqrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrqrrrrrrrrrrrrrrqrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrqrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrqrrrrrrrqrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrqrqrrrrrrrrqrrrrrrrrqrrrrrqrrrrrrqrrrrrrrrrrrrrrrrrqrrrrrrrrrrqrrrrrqrrrrrrrrrrrqrrrrrrrrrqrrrrrrrrrrrrrrrrrrrrrrrqqrrrrrrrrrqrrrrrrqrrrrrrrrrrrrrrrrrrrrrrrrrrrrrqrrrrrrrrrrrrrrrrqrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrqrrrrrrrrrrrrrrqrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrqrrrrrrrrrrrrrrqrrrrrrrrrrrrrrrrrrrrrrrrrrqrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrqrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrqrrrrrrrrrrqrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrqrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrqrrqrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrqrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrqrrrrrrrrrqrrqrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrqrqrrrqrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrqrrrrrrqrrrrqrrrrrqrrrrrqrrrrrrqrrrrrrrrrrrrrrrrrrrrrrqrrrqrrrrrrrrrrrrrrrrrrrrrrqrrrrrrrrrrrrqrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrqrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrqrrrrrrrrrrrrrrrrrrrrrrrrrqrrrrrrqrrrrrrqrqrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrqrrrqrrqrrrrrrrrrrrrrqrrrrrrrrqqqrrrrrrrrrrrrrrrqrrrqrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrqrrrrqrrqrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrqqrrqrrrrrrrrrrrrrrrrrrrrrrrrqrrrrrrrrrrrrqrqrrrrrrrrrrrrrrrrrrrrrqrrqrrrrrrrrrqqrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrqrrrrrrrrrrrrrrrrrrrrrrrqrrrrrrrrrrrrrrrrqrrrrrrrrrrrrrqqqrrrrrrrqrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrqrrrrrrrrrrrrrrrrrrrrrrrrrrrrrqrrrrqrrrrrrrrrrrrrrrrrqrrrrrrrrrrrrrrrrrrrqrrrrrrrrrrrqrrrrrrqrrrrrrrrrrrrrqrrrrrrrrrrrrrrrrrrrrrrrrrrrrrqrrrrrrrrrrrrrrrrrrqrqrrrrrqrqrrrrrqrrrrrrrrrrrrrrrrrrrrrrqqrrrrqrrrrrrrrrrrrrrrrrrrrrrrrqrrrrrrrrrrrrrrrrrrrrrqrqrrrqrrrrrrrrrrqrrrrrrrrrrrrrrrrrqrrrrrrrrrrrrrqrrrrrrrrrrrrrrrrrrrrrqrrrrrrrrrrrqrqrrrrrrrrrrrrrrqrrrrrqrrrrrrrrrrrrrrrrrrqrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrsrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrqrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrqrrrrrrrrrrrrrrrrrrrrrrrqrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrqrrrrrrqrrrrrrqrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrqrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrsrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrsrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrqrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrqrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrqrrrrrrrrrrrrqrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrqrrrrrrrrrrrrrrrrrrrrrrrrrrrqrrrrrrrrrrrrqrrrrrrrrrrrrrrrrrrrrrrrqrrrqrrrrrrrrrrrrrrrrrrrrrrrrrrrrqqrrrrrrrrrrrrqrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrqqrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrqrrrrrrrrrrrrrrrrrrrrrqrrrrrrrrrrrrqrrrrrrrrrrqrrrrrrrrrrrqrqrrrrrrrrrrrrrrrrrrqrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrqrrrqrrrrrrrrrrrrrrrrrrrrrrrrrrrqrrrrrrrrrrrrrrrrrrrrrrrrrrqrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrqrrrrrrrrrrrrrrrrrrrqrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrqrrrrrrrrrrrrrrrrrrrrrrrrrrrrrqrrrrrrrrrrrrrrrrrqrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrqrqrrrrrrrrrrrrrqrrqrrrrrrrrrrrrrrrrrrrrrrrqrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrqrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrqrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrsrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrsrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrsrrrrrrrrrrrrrrrrrrrrrrrrrrsrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrsrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrsrrrrrrrrrrrrrrsrrrrrrrrrrrrrrrrrrrrsrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrqrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrqrrrrrqrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrqrrrrrrrrrrrrrrrrrrrrrrrrrrrrrqrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrqrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrqrrrrrrrrrrrrrrrrrrrrqrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrqrrrrqrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrqrrrrrrrrrrrrrqrrrrrrrrrrrrrrrrrrrrrrrqrrrrrrrrrrrrqrqrrrrrrrrrrrrqrrrrrrrrrrrrrrrrrrrrrrrrrrqrrrrrrrrrrrrrrrrrrrrqrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrqrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrqrrrrrrrrrrrrrrqrrrrrrqrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrqrrqrrrrrrrrrrrrrqrrrrrrrrrrrrrrrrrrrrrrrrqrrrrrrrrrrrrrrrrrrrrrrqqrrrrrrrrrrrrrrqrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrqrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrqrrqrrrrrrrrrrrrrrrrrrqrrrrrrrrrrrrrrrrrrrrrrrrrqrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrqrrrrrrrrrrrrrrrrrrrrrrrrrrqrrrrrrrrrrrrrrrrrrrrrrrrrrrqrqrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrqrrrrrrqrrrrrrrrrrrrrrqrqrrrrrrrrrrrrrrqrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrsrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrsrrrrrrrrrrrrrrrrrrrrrrrrrrsrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrsrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrsrrrrrrrrrrrrrrsrrrrrrrrrrrrrrrrrrrrsrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrsrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrsrrrrrrrrrrrrrrsrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrsrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrsrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrsrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrsrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrsrrrrrrrrrrrrrrsrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrsrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrsrrrrrrrrrrrrrrrrrrrrrrrrsrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrsrrrrrrrrrrrrrrrrrrrrsrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrsrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrsrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrsrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrsrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrqrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrqrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrqrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrqrrrrrrrrrrrrrrrrrrrrrrrrrrrrqqrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrqrrrrrrrrrrrrrrrrrrrrrrrrrrrqrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrqrrrrrrrrrrrrrrrrrrrrrrrrqrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrqrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrsrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrsrrrrrrrrrrrrrrrrrrrrsrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrsrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrsrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrsrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrsrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrsrrsrrrrrsrrrrrrrrrrrrrrrrrrsrsrrrrrrrrrrrrrrrrrrrrrrrrsrsrrrrrrrrsrrrrrrrrrrrrrrrrrrrrrrrrrsrrrrrrrrsrrrrsrrrrsrrrrrrrsrrrrsrrrrrrrrrrrrrsrrrrrrrrrrrrrrrrrrrsrrrrrrrrsrrrrrrrrrrsrrsrrrrrrrrrrrrrrrrrrrrrrrrrrrrrsrsrrrrrrrrrrrrrsrrrrrrrrrrsrrrrrrrrrrsrrrrrrrrrrrrrsrrrrrrrrsrsrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrsrrrrrrrrrrrrrrrrrrrrrrrrrrrrrsrrsrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrsrrrrrrrsrrrrrrrrrrrrrrrrrrrrrsrsrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrsrrrrrrrrrrrrrrrsrrrrrrrrrrsrrrrrrrrrrrsrrrrrrrrrsrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrsrrrrrrrrsrrrrrrrrsrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrsrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrsrrrrrrrrrrrrrrrrrrsrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrqrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrqrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrqqrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrqrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrqrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrqrrrqrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrqrrrqrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrqrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrsrrrrrsrrrsrrsrrrrsrrrrrrrrrrrrrsrrrrrrrrrrssrrrrrrrrrsrsrrrrrrrrrrrrrrrsrrrrrrrrrrrsrrrrsrrrrrrrsrsrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrsrrrrrrrrrsrrrrrrsrrsrrrrrssrrrrssrrrrrrrrsrrrrrrrrrrrrsrrrrrrrrrrrrrrrrrrsrrrrrrrrsrrrrrrrsrrrsrrrrrrrsrrrrrrrrrrrrrrrrrrrrrrssrrrrrrrrrsrsrsrrrrrrrrrrrrrrrrrrrrrrrrrrrsrrrrrsrrrsrsrrrrrrrrrrrrsrrrrrrrrrrrrrrrrrrrrsrrrssrrssrrrssrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrsrrrrrrsrrrrrrrrrrrrrrrrrrrsrrrrrrsrrrrrrrrrsrrsrrrrrrsrrrrrrrrrrrrrrsrrsrsrrsrrrrrrrrrrrrrrsrrrrrrrrrrrrrrsrrrrrrrrrrrrrrrrsrrrrrrrrrrrrsrrrrrrrrrrrrsrrrrrrrsrrsrrrrrrrrrrrrrrrrrrrsrrrrrrrrrrrsrrrrrrrrrrrrrrrrsrsrsrrrrrrrrrrrrrrrrrsrrrrrrrrsrssrrrrrrrrssrrrrrrrrrrrrrrrrrrrrrrrrrrrsrrrsrrrrrrrrrrrrrrrrrrsrrrssrrrrrrrrrrrrrrrrsrrrrrsrrrrsrsrrrrrrrrrrrrrrrrrsrrrrssrrrrrrrrrrrrrrrrrrrrrrrrrrrsrrsrrrrrrrsrrrrrrrrrrrrrrrrsrrrrrrrrrrrrrsrrrrrrrrssrsrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrsrrrsrrrrrrrrrrrrrrsrsrrrrrrrrrrrrrrrrrrsrrrrrrrsrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrsrrrrrsrsrrrrrrrrrrrrrrrrrrrrrrrsrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrsrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrsrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrssrrrrrrrrsrrrrrrrrsrrrrrrrrrrrrrrrrrrrrrrsrrrrrrrrrrrrrrrrrrsrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrssrsrrrrrrrrrrrrrrrrrrrrrssrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrsrrrsrrrrrrrrrrrrrrrrsrrrrrrrrrrrrrrrrrrrrrrrrsrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrsrsrrsrsrrrsrrrrrrrrrrsrrrrrrrrrrrsrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrsrrrrrrrrsrrrrrrrrrrrrrrrrrrrrsrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrsrrrsrsrrrrrrrrrrrrrrrrrrrrrrrrrsrrsrsrrrrrrrrrrrrrrrrrrrrrrrrrrrsrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrsrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrsrrrrrrrrrrrrrrrrrrrrrrrrrrrrsrrrrrrrrrrrrrrrsrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrssrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrsrrrrrrrrrrrrrrrrrsrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrsrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrsrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrsrsrrrrrrrrrrrrrsrrrrrrrrrrrrrsrrrrrrrrrrsrrrrsrsrsrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrsrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrsrrrrrrrrrrrrsrrrrrrrrrrrrrrrrrrrrrsrrsrrrrrrssrrrrsrrrrrsrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrsrrrrrrrrrrrrrrrrsrrrrrrrrrrrrsrrrrrrrrrrrrrrrrrrrsrrrrsrrrrrrrrrrrsrrrrrrrrrrrrrrrrrrrrsrrrrrrsrrssrrrrrrrsrrrrrrrrsrrrrrrrsrrrrrrsrrrrrrrssrrrrrrrrrrrrrrrrrrrsrrrsrrrrrrrrrrrrsrrrrrrrrrrrsrrrrrrrrrrrrrrrrrrsrrrrrsrrrrrrrrrrrrrrrsrrrrrrrrrrrrsrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrsrrrrrrrrrrrrrrrrrrrrrrrrrrrrrsrrrrsrrrrrrrrrsrrrrrrrrsrsrrrsrrrrrrrrrrrsrrrrrrrrrrrrrsrsrrrrrrrrrrrrrrrrrrrrrrrsrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrsrrrrrrrrrsrsrrrrrrrsrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrsrrrrsrrrrssrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrsrrrrrrrrrrrrrrrrrrsrrrrrrsrrrrrrrrrrrrrrrrrrrrsrrrrrrsrrsrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrsrrrrsrrrrrrrrrrrrrrrrrrrrrrrrsrrrrrrrsrrrsrrrrrrrrsrsrrrrrrrsrsrrrrrrrrrrrrrrrrrrrrsrrrrrrrrrrrrrrrrrrrrrrsrrrrrrrrrrrrrrrrrrrrrrrsrrrrsrrrrrrrrrrrsrrrsrrsrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrsrrrrrrrsrrrrrrrrrrrrsrrrrrrrrrrrrrrrrsrrsrrrsrrrrrrsrrrrrrrrrrrrrrrrrrrrrrrrssrrrrrrrrrrrsrrrrrsrrrrrrrrrrrsrrrrsrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrsrrrrrrrrrsrrrrrrrrrrrrrrrrrrrrrrrrsrrrrrrrsrrsrsrrrrrrrrrrrrrrrssrrrrrrrrrrrrrrrsrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrsrrsrrrsrrrrsrrrrrrrrrrrrrrrrrrrrrrrrrrrrrsrrrrrrrsrrrrrrrrrrrrrrsrrsrrrrrrrrrrrrrrrrrrrrrrrrrrsrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrsrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrqrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrqrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrqrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrqrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrsrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrssrrrrrrrrrrrrsrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrsrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrsrrrrrrrrsrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrsrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrsrrrrrsrrrrrssrrrrrrrrrrrrrrrrrrrrrrrrrsrrrrrrrrrrrrrsrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrsrrrrrrrsrrrrrrrrrsrrrrrrrrrrrrrrrrrrrrrrsrrrsrrsrsrsrrrrsrrrrssrrrrsssrrrrrrsrrrrrrrrrrrrrrrrrsrrrrrrrrrrsrrrrrrrsrrrrrrsrrrrrrrrrrrrrrrsrrrrrrrsrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrsrsrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrsrrrrrrrrrrrrrsrrrsrrrrrsrsrrrrrrrrrrrrrrrrrrrrsrrrrrrrrrrsrrrsrrrrrrsrrsssrrrrrrrrrrrsrsrrrrrrrsrrsrrrrrrrrsrrrrrrrrrrrsrrrrsrrrrrsrrrrrrrsrsrrrrsrrsssrrrrrsrsrrsssrsrrrsrrsrrrrrrsrrrrsrrrsrsrrrrrrrrrrsrrrrrsrrsrrsrrrrsrrsrrrrrrrrrrrrrrrrrsrrrrrrrrrrrsrrrrsrrrsrrrsrrrrsrrrrrsrrsrsrrrrsrrrrrsrrsrssrrrrsrrrrrrrrrrsrrrsrsrrrrrrrrrrrssrsrrrrrrrrrrrrrsrrrrrrrsrrrrrrrsrrrrrrrrsrrrrsrrrrsrrrsrsrrrrrrrrrrrrrsrrsrsrrrrrrrrrrrrrrrrrrrrrrrsrrsrrrrrrrrrrsrrrrrrssrrrrrrrrsrrrrrrrrrrrrrrrrsrrsrrrrrrssrrsrrsrrsrsrsrrrsrrrrrrrsrrrrrrrrrrrrrrrrrrssrrrrrrrrsrrrrrrrrrrsrrrrrrrrrrsrrrrrrrrrrrrrrrrrsrrrrrrrrrrrrrsrrrsrrrrrrrrrrrrrsrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrssrrrrrrrrrrrrsrrrrrrsrrrrrrrrrrrrrrrrrrrrsrsrrrrrrsrrrrrsrrrsrrsrrrrsrrrrrrrrrrsrrsrsrrrrrrrrrrrrrrrrrrrrrrrrrsrrrrrrrrrsrrrrrrrrrrrsrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrsrrsrrrsrrrrrrrrrrrrrrrrssrrrrrrrrrrrrrrrrrrrrrrrrrrrrsrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrssrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrsrrrrrrrrrrrrrsrrrrrsrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrsrrrrrrrrrrrrrrrrrrrrrrrsrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrsrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrsrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrsrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrsrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrqrrrrrrrrrrrrrqrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrqrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrqrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrsrrrrrsrrrrrrrsrsrrrrrrrrrrrrrrrrsrrrrrsrrrrsrrrrrsrrrssrrrrsrrsrrrrrrrsrrrrrrrrrrrrrrrrrrrrrrssrrrrrrrrrrrsrrrrrrrrrrrrsrrrrrrrrrrsrrrrrsrrsrrrrrrrrrrrrrsrrsrrrrrrrrrrrrrrrrrrrsrrrrrssssrrssrrrsrrsrrrrrrrrrsrrrrrrrrrrrrrrrrrrsrrrrrrsrsrrrrrrrrrrrssrrrrrrsrrrrrrrrrrrrrrrrrrrrrrrrrrrrsrrrrsrrrrrrrrrrrrrrrsrrsrrrrrrrrrrrrssrsrrrrrrrrrrrsrrrrrsrrrrrrrrrrrrsrrrrrrrsrrrrrrrsrrrrrrrrrrrsrsrrrrrrrrrrrrrssrsrrrrrrsrrrrrrrrrrrrrsrrrrrrrrrrsrrsrrrrrrrrrrrrrrrrrrsrrrrrrrrrrrrrrrrrrsssrrsrrrrsrrrrrrsrrrrrrrrrrrrrsrrsrrrrssrrrrrrrrrrsrrrrrrrrsrrrrsrrsrrrsrrrrrrrrssrssrsrrrrrrrrrrrrrrrrrsrsrrrrsrrrsrrrsrrrrsrssrrsrrssrrrrrrrrrrrrsrsrrrsrrrsrrrrrsrrrrrsrrsrsrsrrrrsrrrssrrrsrrrrsrrrrrrrsrrrrsrrsrrrrrrrrssrrrrrrrrrrrsrrrsrrsrrrrrrrrsrrrrrrrrsrrrrrsrrrrrrsrrsrrrrsrrrrsrrrrrrrrrrrrrrrrrrrrrsrrrrrrrrrrrrssrsrrrrsrrrrrrrrrrrrrrssrrrrrrsrrrrrrrsrrrrrrsrrrrrrrrsrrrrrsrrrsrrrrrrsrsrrrrrrrsrrrsrsrrrrrrsrrrrsrrrrrssrrrrrrrrsrrrrrrrrrsrrrrrrrrrrrsrrrrrsrrsrrrrrrsrrrrrrrrrsrrrrrsrrrrrrrrsssrrsrrrrsrrrrrrrsrrrrrssrsrrrrrrrrrrrrrrrsrssrrrrrsrrrrrrrrrssrrrrrrrrrrrrrrrsrrrrrrsrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrssrrrrrrrsrrrsrrrrrrsrsrsrrrrrrrrrrrrrsrrrrrrrrrrrsrrrrrrrrssrrsrrrsrrsrrrrrrrsrrrrsrsrrrrrrrrrrrrrrrssrrrrrrsrrrrrrrrrsrssrrrrrrssrrsrrrrrsrrrrsrrsrrrrrrsrsrrrrrrrrsrrsrrsrrssrrsssrrrrrrrrrssrsrrrsrrrrrrrrrsrrrrrsrsrrrsrrrrrrrrrrsrrrrrrrsrrrrrrsrrrrrrsrrrrrrrrsrrrrrrrrrrrrrrrrrrrrssrrrrrrsrrrrrrrrrrrrrrrrsrrrrsrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrsrrrrrrrrsrsrsrrrrrrrrrrrrrsrrrrsrrrrrrrrrrrrrsrrrsrrrrsrrrrrrrrrrsrrrsrrrrsrrrssrrrrrrrssrrrrrrrrsrrrrsrsrrrrrsrrrrrrrrrrsrrrrrrrrrrsrsrrsrrrrsrrrrrrrrssrrrrrrrrrrrrsrrrrrrrrrsrrrrrrrrrrrrrrrsrrrrrrrrrsrrrrrrrrrrrrsrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrsrrrrrrrrrsrrsrrrrrrrrrrrsrrrrsrrrssrrrrrrrrrsrrrsrrrrrrsrsrrrrrrrrrrrrrrsrrrrrrsrrrrrsrrrsrrrrrrrrrssrrrrrrsrrrrrrrrrrrrrrsrrrrrrrsrrrrrrrrrrrrrrsrrsrssrrrrrrrrrrrrrrrrrsssrrrrrrrrrrrrrrsrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrsrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrsrrrrrrrrrrrrrrrrrrrrrrrrrrrrsrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrsrrrrrsrrrrrssrrrrrrrrrrsrrrrrrsrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrsrrrrrrrrrrrrrrrrrrrrrrrrrrrsrrrssrrrsrsrrrrrrrrrrrsrrrrrsrrrrrrrrrrrrrrrrrrrrrrsrrrsrrsrrrsrrrrrrsrrsrrrrrsrssrrrrrrrrrrrrrrrrrrrrrrrrrrsrrrrrrrrrrrrrrrrrrrrrrsrrrrrrrrrrrrrsssrrrrrrrsrrrrrrrssrrrrrrrrrrrrrrsrssrrrrrrrrrrrrrrrrrrrrrrrrrrsrrrrrrrsrrrrrrrsrrrrrrrrrrrrrrrrrrrrsssrrrrrrrrrrrrrrrrsrrrrrrrrrrrrrrrrrrrrrrrsrrrrrsrrrrrrrrrrrrsrrrrrrrrrsrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrssrrsrrrrrrsrrrrrrrrrrrrrrrrrrrrrrrrrsrrrrrrrrrrrrsrrrsrrssrrrsrrrrsrrrsrrrrrrssrrrsrsrsrrrrrrrrrrrsrrrrsrrrrrrrsrrrrssrrrrsssrrrsrrrrrrsrrrsrrrrrrrrrrrrrrrsrrrrrrrrrrrrrrsrsrrrrrrsrrrrsrrrrrrrrsrrsrrrsrrrrrsrrrrrrrrrrrrrrrrrrrrrrsrrrrsrrrrrrrsrrrssrrrrsrrrrrsrrrrrrrrrrrrrrrrsrrrrrrsrrrrrrrsrrrrrrrrrrrrrrrrrrrrrsrrrrrrrrrrsrrrrrrrrrrsrrrrrsrrrrrrrrrssrrrrssrrsrrsrrrsrrrrsrrsrrrrrrrrrrsssrrrsrrrrrsrsrrrrrrrrrrrrrrrrsrrrrrrrrsrrrrsrrrrssrrsrsrrrrsrrrrsrrrrrsrsrrsrrrrssrrrsrssrrrrrrrrrrsrrsrrrsrrrrsrssssrrrrrrsrsrrrrrrrrssrrrsrssrrrrsrrrrrrrrsrrrrrrrrrrssrrrrrrrsrrrrsrrrrrsssrrrrrrsrrrsrrsrrrsrrsrrrrsrsrrrsrrsrrrsrrrrrrsrrrrsrrsrrssrsrrsrrrrssrrrrrrrsrsrrrrrsrrrrrrrrrrrsrrrrrrrrsssrrrrsrrrrssrrsrsrrrrsrrrrrrrrrrrrrsrsrrsrrrrrrrrrrsrrrrrrrsrrrrrrsrsrsrrrrrrrrsrrrrrrsrrrrrrrrrssrrrrssrrsrrsrrrssrrsrrrrrrsssrrrrrrrrsrrrrrrrrrsrrrrrrrrsrrrrrrrrrrrsrrrsrrrsrsrrsrrrrrrsrsrrrrsrrrrrrrrrrsrsrrrrrrrrrrrrrrsrrrsrrsssrrrrrrrrsrrsrsrrssrrrrrsrrrrsrrrrrssrrsrsrsrrrrrrrssrrrrrrrrrrrrrrrrrsrrrsrrrsrrsrsrrrrrrsrrrrsrrrrrrrrrrrrsrrrrrrrssrsrsrrsrrrrrrrsrrrrrrrrrrrrrrrrrrrrrrrrrrrsrrrrrsrrrrsrrrrrrrrrrrrrrrrrrrrrrrrsssrrrrrrrrrrsrsrsrrrrrrrrrrrrrrsrrrrrrrsrsrsrrsrrrrrrrrsrrsrrsrrrrrrrrsrrrrrrrrsssrrrsrsrsrrrrrrrrrrsrsrrrrrrrrsrrrrrrrssrrrrrrrsrrrrrrssrsrrsrrsrrrrrsrssrrrrrrrrrssrrrrsrrrrsrrrrsrrssrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrsrrrrrrrrrrsrrrsrrrrrrrsrrrrrrrrrrrsrrrrsrrrrrrrrrrsrrrrrrrrrrrsrrrrrrrsrrrrrrrrrrrrrrrsrrrrrrrrrrrrrrrsrrrsrrrrrsrrrrrrrrrrrrrrrrrrrrrrrrrrrrsrrrsrrsrrsrrrrrsrrrrrrrrrrrrrsrrrrrrrrrrrsrsrrrrrrrrrsrrrrrrsrrsrrrrrsrrrrrrrrrrrrsrrrrrrrrrrrrrrsrrrrrrrrrsrrrsrrrrrrrrrrrrrrrrrrrrrrsrrrrrrrrrsrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrsrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrsrrrrrrrrrrrrrrrrrrrrrrsrrrrrrrrrsrrrrrrsrrrrrrrrrrrrrrrrsrrrrrrrrrrrrrrsrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrsrrrrrrrrrrrrrrrrsrrrrrrrrrrrsrrrrrrrrrrrrrrrsrrrrrrrrrsrrrrrrrrrrsrrrrrrsrrrrrrrrrrrrrrrsrrsrrrrsrrrrrrrrrrrrrrrrrrrrsrrrrrrrrrrrsrrrrrrrrrrrrssrsrrrrrrrrrsrrrrrrrrrrsrrrrrrsrrrrrrrrrrrrrrrsrrsrrrrsrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrsrrrrrrsrrrrrrrrrrsrsrrrrrrrrrrrrrrrrrrrrrrrssrrrrrrrrrrrsrrrrrrrrrrrrrrsrrrrsrrrrrsrrrrrrrrrrrrrrsrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrsrrrsrrrrrrrrrrrrrrrrrrrsrrrrsrrrrrrsrrrrrrrrsrrrrrrrrrrrrrrrrrsrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrsrrrrrrrrrrrrrrrrrrrsrssrrrrrrrrrrrrrrrsrrrrrrrrrrrsrrrrrrrrrrrrrsrrrrrrrrrrrrsrrrrsrrrrrrrrrrrrrrrrrrrrsrrrrrrrrrrrrrrrsrrrrrrrrrrrrrrsrrrrrrrrrrrrrrrrrrsrrrrrrrrrrrrrrsrrrrrrrrrrrrrrrrrsrrrrrsrsrsrrrrrsrrrrsrrrrrsrrrrrrrrrrrrrrrsrsrrrrrrrrrrrrrrssrrrrrrrrrrrrrrrrrsrrrrrrrrrrrrrrrrrrrsrrrrrrsrrrrrrrrrrrrrrrrrrssrsrrrrrrrrrrrrrrrrrrrrrrsssrrsrrrsrrsrrrsrrsrrrrrrrrrrrrrrrrrrrrsrrsrsrsrrrrrrrrrrrrsrrrsrrrrrrrsrsrrrsrrssrrrrrrrrrsrrrrrrrrrrrrsrrrrssrrrrrrsrsrrrrrrrsrrsrsrrrsrsrrrrrrrsrrrrsrrrrrrrrrsrsrrrrrrrsrrrsrrrssrrrssrssssrrrsssrsssrrsrrrrrrrrrrrsssrrrrrrrrrrssrrsrsrsssrrsrsrrsrrrrrrrsrrrrsrrrrsrrrrsrsrsrrrrrsrrrsrrsrrrrrsrrrrrrrrrrsrrrsrrrrssrrrsrsrsrrrrrrrrssrssrrrrrrrrrrsrrrrrrrrsrrrrrrrrrsrrrsrrrsrrrrsrrrrrrrrrrsrrrssrrrsrrrsrrrrrrrrrsrrrrrrrssrrssssrrrrrrsrrrrrrsrrrrrrrrrrrrsrsrrsrsrrrrsrrrrsrrrsrrrrsrrrsrrrrrsrrrrrrrsssrsrrsrrrrrrrsrrsrrrrrsrssrrrrrrrrrrrrrsrrrrrrrrrrrrrrrrrrrrsrrrrsrrrrrrrsrrsrrrrrrssrsrrsrrsrsrrrrrsssrrrrsrrrrrrsrrrsrsrrrsrrrrsrrsrsrrrrrrrrrrrrrrrrrrrrrrrrsrsrsrrrsrrrrrrrrrrrssrrrrrrrrrrsrrrrrsrrrrsrrrrssrrsrrrrrrrrrrrrrrrrrrrrrrsrrrrrrrrrrrrrrrrssrrrrrrsrrrrrrsrrrrrrrrrrrrrrrrrrrrrrrrrrsrrsrrsrrrrrrrrssrrrrrrrsrrrrssrrrrrsrsrrrrrrrrrrrrrrrsrrrrsrrrsrrrrrrrrrsrrrrrrsrsrrrrrrrrrrrrrrrrrrrrsrrrrrrrrrrrssrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrsrrrrrrrrrsrrsrrrrrrrrrrrrsrrsrrrrrssrrrrrrrrrrrsrrrrrssrrrrrrrrrrrrrsrsrrrsrrrrrrrrrssrsrrrsrrrrrsrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrsrrrrrrrrrrsrrrrrrrrrrrrrrrsrrrrrrrrrrrrrrrsrrrrrrrrrsrrrrrsrrrrrrrrrrrrrrrrrrrrrrrrrrsrrrrrrrrrrrsrrrrrrrsrrrrrrrrrrrrrrrrrsrrrrrrrrrrrrrrrrrrrrrrrrsrrrrrrrrrrrrrrrrrrrrsrrrrsrrrrsrrrrrrsrrrrrrsrrrrrsrrrrrrrrrrrrrrrrrrrrrrrrrrssrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrsrrrrrrrsrrrrrrsrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrsrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrsrrrrrrrrrrrrrrrrrrssrrrrrrrrrrrrrrrrrrrrrsrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrsrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrsrsrsrrrrrsrrrssrrrrsrrrrrrrrrrrrrrrrrrrrrrrrsrrrrrrrssrrrrrrrrrrrrsrrrrssrrsrsssrsrssrrrrsrrsrrrsrrrrrrrrrrrrsrrsrrrrssssrssrsrrrrrsssrrsrrrrrrrrrrrsrssrrrrrrrrrsrsssrsrrsrsrrrrrrrsrrrsrrrsrrrrrrsrsssrrrrrrrrrrrrsrsrrsrrrrrrrsrsssrrrsrrrrrrssrrsrsrrssrrrsrssrsrrrrsrsrsrrrrrsrrsrsrrrsrrsrsrrrrrrrrrrsrsrrsrsrrrrrsrrsrssrsrrrrrsrrrrsrssrrrrssrsrrrssrrrrsrrrrsrrrrrrrsssrsrrrrrrrrssssrsrrsrrrrrrrrrrrrsssrrrssrsrsrrsrrrrrrrrrrrsrrrrrrrrrsrrrrsrrsrrrsrrrrsrrrrrrrrrsrrssrsrrrrsrssrrsrssrrrrssrrrsrrrssssrrrrrsrsrrrsrrrrrrrrrrsrrrrrrrrrrrsrrrrrrrssrrsrsrrsrrrrsrsrrrsrrrrsrrrsrrrrrrrrrsrssrrsrrrrssrrrrrrsssrrrrrrrrsrrsrrrrsrrrrrsrrrrrrrrsrrrrrrrsrrrrsrrrrrrrrrssssrrrrrrssrrrsrsrrsrrrrrsrrrrrrrrrrrrrrsssrrrrrsrrrsrsrrrrrrrrrrrrrssrrrrrrrrrrrsrrrrrrrrsrrrrssrsrrsrrsrrrrsrrrrrssrrsrrrrrrrsrrrrrsrrrrrrrrrrrrrrrrsrrrsrrrrrrrrsrrsssrrsrsrrrrssrrrrsrrrsrrrrrrrrrrsrrrrrrsrsrrsrrrsrrrrrrrssrrsrrsrrrrrrrrrsrsrrrrsrrrsrrsrrsrrrrrrrrrsrrsrrsrsrsrrrssrsrsrrrrrssrrsrrrrrrsrsrrrrrrrrrrsrrrrrrsrrsrsrrrsssrrrrrsrrrrrrrrssrrrrrrsrrsrrsrrssrrrrrssrrssrrrrrrrrsrrrrrsrsrrsrsssrrrrrrssrsrsrrrrrrrrrrrrsrrrsrsrrrrrrrssrrrrrrrrrrrrsrrrrrrrrrrrrrrsrrsrrrsssrrrrrrrrsrrrrrrrsrrrrsrssrrrrrsrrrrrrrsrrrrrsrrrrsrrssrrrrrrrrrrrrrrrrrrrrrrrrssrrsrrrsrssrrsrrrrrsrrrrrrrsrssrrrsrsrrrsrrrrrrrrrrsrrsrrsrrrrrrsrrrrssrrrrrrrrrssrrrrsrsrrssrsrrsrrrssrrssrrrrsrsrrrrrsrrrsrrrrrrrrrsrsrrrrrrsrrrrrrrsrsrrrrrrrrrrrsrrrrrrrsrssrrrrrrsrrrrrsrrrrrrrrrrsssrrrrrrrrrrrrsrrrrrrrrrrrrrrrrrrrrrrssrrssrrrrrrrrrrrrrsrrsrrrrrsrrsrrsrrrsrrrrrrrrrsrrrsrrrrrrrsrrrrrsrrsrrrrrsrssrrssrsrrrrrsrrsrrrsrrrrsrrrrrrrrrrrsrrsrsrrrrrrrssrrrrrrrrrsrsssrrrrrrsrrrrrrrrrrrrrsrsrrrrrsrsrrrrrrrrrsrsrsrrrsrrrsrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrsrrrrrrrrrrrrrrrrsrrrsrrsrrrrrsrrrrrrrrsrrrsrrrrsrrrrrrrrrrrrrrrrrrrsrrrrsrrsrrrrrrrrrrssrrrrrrrrrrrrrrrrrrrrrrrrssrsrrsrrrrrrrrrrrsrrrrrrrrsrrrrrsrrrrrrrrrrrrsrssrsrrsrrrrrrrrrrrrrrrsrrsrsrrrrrsrrrrrsrrrrrrrrrsrrsrrsrrrrrrrsrrrrrrsrrrrrrsrrrrrrrrrrrrrrrrrrrssrrsrrrrrrrrrrrrrrrrrrrrrrrrrrrssrrrrrrrrsrrsrrrrrrrrrrrrrsrrsrsrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrsrrrrrsrrrrrrrrsrsrsrrrrrrrrsrrrrsrrrrrrrrrrrrrrrssrrsrrrsrrrrrrrrrsrrrrrsrsrrrrrrrrrrrrsrrrrrrrrrrrrrrrrrrrrrsrsrrrrsrrrrrrrrssrrrrrrrrrrrrrrrrrrsrrrrsrrrrrsrrrsrrrrsrrrrrrsrrsrrrrrrrrrssrrrrssrsrrrrsrrrrrrrrrrrrrrrrrsrrrrsrrrrrrsrrrrrsrrrrrrrrrrsrrrrsrrrrrsrrrrrrrrrrrsrrrrrrsrrrsrrrrrssrrrrsrrsrsrrsrrrrrrrsrrsrrrsrrsrsrssrrrrrrsrrssrssrrrrrrrrrsrrrrrrsrrsrrssrsrssrrrsrrrrsrrrsrrrrrrrrrrrrrrrrrrrsrssrsrrrrrsrsrssrrrrrrrrrrrrrsrrrrrrsrrrsrsrrrrrrrsrsrrsrrrrsrrsrrrrrsrrrrrrrrrrrrrrrrssrrssrrsrrrrssrrrrrsrrrssrrrrsrrrrrsrrssrsrrrrrrsrrsrrrrrrrrrrrrrrssrrrrrrrrrrrrrsrrrrrrrrsrrrrrrrrrrrrrsrrrrrrrsrrrrrrrrrrrrrrrrsrrrssrsrrrsrrsrrrssrsrrrrrrrsrrrrsrrsssrsrrrrrrrrrrsrsrsrsrrrrrrrrrrrrrrssssrrrrrrrrrrrrrrssrrrrrsrrrrrrrsrrrsrssrrrssrrsrrrsrrsrssrrsrrsrrrrrrsrrrsrsrrrrrrsrsssrssrssrrrsrsrrrrsrrrrrrsrssrrrrsrrrrrssrssrrrrrrsrrsrrrrsrsrrrrrsrrrsrssrrrsrrrrrrsrsrrrsrrrrrrrrrsrsrrrrrrssrrrrrrrrrrrsrrrrrrsrrrrsssrsrrrrrrrrrrsrrsrsrrrrrrsrsrrrrsrrssrrrrrsrrrrrrrssrrrrsrrrrrrrrrrssrrrrrssrrrrrrsrsrrrrrrrrrrrrrrrrsrrrrrsrrrrrrsrrsssrsrrrssrrrrsrrrrrssrrrrsrrsrrrrssrsrssrrsrrrrrrrrrsrrrrrrrrrsrsrrrsrrssrrsrrrrrrssrsrrsrrrrrrrrrrsrrssrrsrrsrrrrsrsrrrrrrsrsrrrrrrrrsrsrrrrrrrsrrrrrsrrrrrrrsrssrrrsrrrrrrrrrsrrsrsrrrsrrrsrrrrrrrrsrsrrrrrssrrrrsrrrsrrrsrrrrsrssssrrsrrsrrrrsrrsrrssrrsrsrrrsrrsrrrrssrrrsrrrrrrsssrrrrrrrssrrsrrsrrrsrrsrrsrrsrrsrssrrrrrsrrrrrrrsrssrsrsrrrrrrrssrrrsrrsrrsrrrsssrrrsrrrsssrsrrrrrsrrrrsrrsrrrrrssrrrsrrrrrrrrrrsrrrrrrrrrrssrrrrrrrrrrrrrrssrrrsrrrrrrrrsrsrrsrrssssrsrrsrrrrrrrrrrrrrsrsrrssrssrrrrrrsrssrsrrsrssrrrsrrrsrrrrrssrrrrrrsrrrrrrrsrrrrrrsrrsrrrrrsrrsrrrrrrsrrrrrrsrsrrrrrsrrrrrrrrrsrrrrsrrrrrrrsrrrssrsrsrrrsrrrrrsrrrsrrrrrrrrrsrssrrssrrrrrrrsrrsrrrrrrrrrsrrrrrrrrrssrrrsrrrrrrssrsrsrrrrrsrrsrrrrrsrsrrrrsrsrrrsrrrrrrrrrrrrrsssrrrrrrrrrrsrrsrrrsrrrrssrrsrrrsrrrrsrsrrsrrsrrssrrrrrsrrrrrrrrrrsrrrrrrrrrrsrrrrrsrsrrrrsssrrsrrrsrrsrrrrrrrrrrsrrrrrrrrrrrrsrrrrrrrrrrssrrrrssrrrsrsrrrrsrrrrrsrrsrsrrrrrrrrrsrssrrrrrrrrrrrsrrrrrrrsrrrsrrrrrrsrssrrrrsrrrrrrrrrrsrrrrrrrrrrrssrrrrssrrrrrsrrrrsrrrrrrsrrrrrsrrrrsrrrrsrssrsrrrrrsrrsrrrrsrrsrsrrrrrrrsrrrrsssrrrrrrrrrsrrrsrrrrrrrrrsrsrrrrsrrsrrrrsrrrrrrsrrrrrrrrrrrrrsrsrrrrrrrrrrssrrrrrrrrrrrrrrrrrrrrrrrrrrrsrrsrsrrrrrrrrrrsrsrrrrrsrrrrrsrrsssrrssrrrrsrsrrrrrrrrrrrsrsrrrrrrrrrrrrrrsrsrrrrrrrrrrrrrrrrrrrrrrrsrrrrrrrrrrrrsrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrsrrrrrrsrrrrrrsrrrsrrrrrrrrrrrrrrrsrrrrrrrsrrrrrrrsrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrsrrrrsrrrrsrrrrrrrsrrrrrsrrrrrrrrrrrrrrrsrrrrrsssrrrrrrrrrrrrrrrsrsrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrsrrsrrrrsrrrrrrrrrrrsrrrsrsrrrrrrsrrrrrrrrrrrrrrrrrrrsrrrrrrrrrrrsrrrrrrrrrrrssrrrrrrrrrrsrrrrrrrrrrrrsrrrsrrrrrrrsrrrrrrrrrrrrrrrrrrrrrrrrrrrrsrrrrrrrrsrrrrsrrrrrrsrrrrrrrrrrrrsrrsssrrsrrsrrrrrrrsrrrrrrrsrsrsrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrsrsrrrrrrrsrrrrrrrrrrrrrrrrrrrrrrsrssrsrrsrrrrrrrsrrrrrrrrrrrrrrsrrsrrrrrsrrrrrrrrrrssrssrsrssrrrrrrrsrsrsrrrrrrrrrrrrrsrrrrrrrrrrsrrrrrrrrsrrrrrrrrrrrrrrrrrrrrrrrrrrrrsrsrrrssrrrrrrrrrrrrrsrsrssrrrrrsrrrrrrsrrrrrrrrrrrsrssrrrrrrrrrrsrrrrrsrsrsrsrrrsrrsrrrrrrrrrrrrrrrsrrsrrrrrrrrsrrrrrrrrrrrrrrrrrrrrrrrrsrrrrsrrrrsrrrrrsrrrrrrrrrsrrrrrrrrrrrrrrrrrrrrsrsrrrrrrrsrrrssrrsrrsrrrrrssssrrrrrsrsrsrrsrrsrrsrrrrrsrrrsrrrrrrrrrsrsrrrrsrrrrrsrrrrrrsrrrsrrrsrrrrrsrssrrrrrsrrrrrrrrrrrrrsrsrrrrrsrsrsrrrrrssrrrrrrrrrrrrrrrrrrrrrrrrrrsrrrrssrrrrrsrrrsrrrrsrrrrsrrrrrrrrrrsrrrrsrrrrrrrsrrrrsrrrrsrrrrrrrrsrrrrrsrrrrrrrrrrsrrsrrssrrrrrrrrrrsrsssrrrrsrrsrrsrrrrrrssrrrrrrsrsrrrrsrrsrrrssrrrrrsrsrrrrrrrsrrrrrrrrrrrrrsssrrrrrrssrrrrrrrrrrsrrrsssrrrrrrrrrsrrrrrrrrrrsrsrrrsrrssssrssrrrsrsrrrsrssrsrrsrsrrrrssssssrrrrrrrrrsrssssrrsrrrrsrrrrrrrsrrrsrssrrrrrrrrrrrrrsrrrrrrrrrsrsrrrrsrrrrsrsrrrrrrrrrrsrrrrrrrrrsrrsrrrrssrrsrrrrrrsrsssrsrrssrsssrrsrrssssrrrsrrrrrrsrrrsrsrrsrsrssrrrrrrssrssrrssrrsrrrsrrrsrsrrsrssrsrrsrrrrsrsrrrrrssrrrsrrsrsrrrrsrssrsrsrrsrsrrrsrssrrrrrrrssssssrrsrrsrrrrsrrrsssrsrrsrrrsrsrrrrrrsrrrrssrrssrrrrssrrrrrrrrrrrrrssrsrsrrsrrsrsrrsssrrrsrrrrssrrrsrrrrrssrrsrssrsrrrsrssrrrrsrssrsrssrrrrrrsrrsrrrrsrrrrrrrssrrsrrsrrrrrrrsrrsrrrsrrrrrrrrrrrsrrsrrsrsrrrrrsrrsrrrsrrrrrsrrrrrssrsrrrsrsrsrrrsrrrrrrsrrrsrrssrrrrsrrsrrrsrrrrrrrrrrrrrrrrrrrsrrssrrrrssrrrsrrrrrrrrsrrrsrrsrsrrrrrrssrsrsrrrrrrsrrrsrrrsrsrrrrrrrrrssrrrrsrrrrrrrrrrrrrsrrrrsrrssrrsrsrrrssrrrrsssrrrrrssrsrssrrrrrrrrrrrrrrrrrrrrrrsrrrsrrsrssrrrrrrssrsrrrsrrrsssrrsrrrsrsrrrsrrrrsrrrrsrsrrrrrrrsssrrsrrrrsrrrrrsrrrrsrsrrrsrsrrssrrrrssrrrrrrrrssrrssrrrsrrssrsrrrrsrrssrrrrssssrrrrrsrrrrrrrsrrsrrrrrssrrrrsrsrrssrrrrsrrrrsrsrrrrrsrrrsrrrrrsrsrrrssrrrrsrrrrsrrsrrrrssrrsssrrrrrrssrrsrsrrssrsssrrrrrrrsrrsrrsrrrrrrrrsrrrrsrrrrrrrsrsrsrrsrrrrrrrsrrrrrrrsrrrrrrsrsrrrrsrrrrrrrssrrrrrsrsrrrrrrrrsrrrsrrrrrrssrrsrrrrrrrrrrrsrsrsrsrrrrrrrrrrrsrrrrrrrrsrsrrrrrrrrrrrsrssrrsrsrsrrrrrrrsrrrrrssrrrsrrrsrsrrrrrssrrrrrrsrrsrssrrrrsrrssrrsrrrrsrrrrrrrrsrrsrrrrrsrsrrrrsrrssssrrrrrrrsrrrrrrrssrrrrrrrrrrrsrsrrrrrrsrrsrrsrrrrrrsrrrsrsrrrrrrrsrsrrrrrsrsrrrsrrrrrrrrsrrrsrrrssrrrrsrrsrrrrssrrrrsrrrrrrrrrrssrrrrsrrsrrrsrsrrrrrrsrsrrrsrsrrrrssrssrrrssrrrrrrrrrrrrsrrrrrrrrsrrrrsrrrrrrrrrrrrrrrrrrrssrrrrrrsrsssrrrrrsrsrrrsrrrrsrrrrrrrrrrrrrrrrrrrrrrsrrrrrrsrssrrrrrrrrrrrrrssrrrsrrsrrrrrrsrrrrrrrrrrsrrrrrrrrrrrrrrsrrrrrrrrrrsrrrsrrrsrrrrrrsrrrsrrrrrsrrrrrssrrrrsrrrsrsrrrsrrrrrrrrrrrrrrrrrsssrrrrrrrrrrrrsssrrrrrrrrsrrrrrrrrrrrrrrrrrsrrrrrrrsrrrrrrrssrrrrrrrrsrrrrrrrrrrsrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrsrsrrrrsrrrrrsrrrrsrsrrrrrrsrrrsrsrrrrrrrrrrrrrrrrrrrrrrrrrsrrrsrrrrrrrrrsrrrrrsrrrrrrrrrrrrrsrrrrrrrrrrrrrsrrrrsrrrrrrrrrrrrrrrrrrrrrrrrrrrrsrrssrrsrrrrrsrrrrrrrrrrrrrrrrrrrsrrrrrrsrrrrrrrrrrrrrrrsrrrsrssrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrsrrrrrrrrrrrrrrrrrrrsrrrrrrrrrrrrrrrrrrrrrrrsssrrsrrssssssrsrrsrssrsrrrsrrrrsrssrsssssssrrrrrrsssrrrrsrrrsrssssrssrssssrrssssrrrsrrrssrrssrrrrsssrrrssrsssrsrsssrssrsrssrsrrssrrrrsrrrsrrsrsrrrsrrrsrssrsrsrsssssrsrsssssrrssrsrrrrrsssrrssrrrrsrrrssrsrssrsrrsrssrsrrrrrsrrrrrrsrrrsrrsrsrrrrrsrrrrsrrrsssrrrrrrrsssrssrsrrssrrssrrrsssrsrsrsrrrrrrrsssssrrrrrsrrrrrrssssssrrrrsssrrrrrrsssrsrrssrsrrrrssrrrrrsrrrrrrrsrrrrrrrsrssrrrsrsrssrrsrsrrrrrrrrsrrsssrrrrrssrrsrrrsrrrssrrssrrsssrrsrsrssrrsrssrrsrrrsrrrssrrsssrssssrssrsrrrrsrrrsrrssssrssrrrrrssrrrsrsrsrrrrsrrrsrrrrsrrsrrssrsrsrrsrsrrssrssrsssrsrrrrssrsrssrsrsrrrrrrsrrrrrrrsrrrsrsrrsrrrsrsrsssrrsrsrrsssrrsrsrsssssrssssrsrrrsrrrrssssrrrrrrrrsrsssrrrssrsrrrrsrsrsrsrrsrrsrrrssrrrrrssrrrsrrrssrrsssrssrssrrrrrrsrrssrrsssrsssrsrssrrsrrrrsrsssrsrrsssrsssssrsrrsrrsrrsrrsrrrrssrsrrrsrrrrrrrrrsssrrrrsrrrsssrssrrrrsssrrssrsrsrrsrsssrsrssrrrssrssrssrssrrrrsrrrssrrrsrrrsrsrrsrrsrrrsrrrssrrsrssrrsrrssssrsssrrsssrrsrsrrrsrsrrrrrsrrsrsrrsrrrsssrrssrrrsrrrrsrsrssrrrrsrrrsrssrrsrsrsrrrssssrrsrrrssrrrsrsrsrsrrrrrsrsrrrrssrssrrrssssrsrrrrsrrsssrsrrrrrrrrrsrsrrrsrrssrssrrrsrsssrssrssrrsrsrrrrsrsrrsrrsrrrrssrrrsrrrrssrssrrrrsrrssrrrrsssrsrrrrssssrsrsrssrssrrrsrrsrrrrsrsrssrrsrssrrrsrrsrrrrrsrrrsrrrrrsrsrssrsrrrsrsssrrrrrrsrrrsrrsrrsrrsrrsrsssrsrrrssssrsrrsrrrsrrrsrrsrrsrsrrsrsrrrrrrsrsrrssrrrrrrsrsrrsrsrrrsssrrsrrsrrrsrrrssrsrrrrrrsrrsrrsrssssrrrrrsssrrrrssrssrrsrrrsrsrrrrrrsrsrssrsrsrrrrrrssrrrrsrsrrssrsssrsssrrrrrrrrrsssrsrssrrrrsrrrssrrrrrrrrsrrrrrrrssrrssrrrrrrrrsrrssssrsrsrrrsrrrrrrrrssrrrrrrrssrsrrssrsrrsrrsrrrrsrsrrsrrrsrsrrrrrsrsrrrrrrrsrssrrrrrrrrssrrrrrsrrrrrrrrssrrrrrrsrrrrsrrrsrssrrsrrsrssrrrrrsrrsrrrrrssrsrrsrrrrrrrrrrrrrrsrrsrrrrrrsrrrrrsrrrsrsrrrrrrsrssrsrrrsrsrrrrrrrrrrsrrrsrrrrrrsrrrrsrrrrrrrrrsrrsrsrrsssrrrsrrrrrrsssrrrrsssrrrrsrrrrrrrsrsrrrsrrsrssrrrrsrsrsssrrsrrsrsrsrsrsrsrrsrsrrrssrrsrrrrrrsrsrrrrrrrsrsrrsrsrrrrrrrrrrsrrrsrrrsrssrrrsrrrsrrrrrrrrrrrrrrrrrrrrrrrrrrssrrrsrrsrrrrrrrrrrrrsrrrssrrsrsrrrrsrrssrssrrrssrssssrsssrsrrrssrsrsrrssssrsrrssrrrsrsrrrrrrrrsrrsrrrssrrrssrrrsssrrssrrrrsrrrrrsrsrsrrsrssrsrrrrrrrsrrrrrsssrssrssrrrrrrsrrrsrsrsrrrssrrrsrsssrsssrsssrssssrsssrssrsrrrrssssrssssrrsrrrssrsrrsrssrrrrrssrrrrrrrrrrrsrrssrrsrrrsrrrrssrsrssrssrssrsrrrsssrsrssrrrrrssssrssrrrrsrrrsrrssrrrrrrsrssrrsrrsssssrsrrrsrsrrrssssssrrsrsrrrrsrsrssrrrrsrsrrrrrsrrrsrsrsrsrssrrrsrrsrsssrrssrrrsrrssrrrrrrsrsrrssrrssssrssssssssrrrsrsrssssrrsrrrsrsrrssrrrsrrrrsssssssrrrrssrsrrrrsrrrrsrssrrrsrrsssrsssrrrsrrrrsrsrrsrrsrrrrrrssrsrrrrrrssssrsssssssrsrrrrsrrsrssssssrrrrrrrrrrrrsrsrrsrrssssrsrrrsrssssrrsrrrrrssrsrsrsrsssssssrrsrrrsssrrrssrrrrsrsrrrrssrrrrssrrrrrrrrssrrrrrsrrrsrrrsrrrrrsrrsrsrsrrsrrrssrssrrrsrrsrsrrrsrsrrrrrrssrssrrrsrrrsrrsrsrrsrsssssssrsrrsrsssrsrrrrrsrsssssssrrrsssrrsrrrsssrrrssrrsrrssrsrssrrsrssrrrrssrrssrrsrrsrsrrrrrsrsssssrsrrrsrrrrrsrsrssrrrrrsrrsrssrrrsrrrrsrrsrsrrrrrsrsrrrrrsssssssssrrrrrsrsrrrrrrrrsrsrrsrssssrrrsrrrssrrrrssrsssrrrrsrsrrrrrrrrssrsssrssssssrrssssssrrrrrsssrrrrrsrsrrsssrrsrsrssssrssrrrrsrsssrrsrrrsrrrrrrrssrsrrrrrrrrsrrsrsssrsssssrrrssrsrrsrrrrrsrrrrrrssrrrsrrrrsrrrssrrsrsrrssssrrsrsssrrsssssrrsssrsrssrrsrrrrsrsrrrrrsrsrssssrsrssrrrsrrsrrsrrrsrrrsrsrssssssrssrrrrssrrrsrrrsrrrrrrrrssssrsrsrsrsssssrssrrsrrrssrsrrrrsrrrrrrssrssrsrrrsrrsrrrrrssrrsrsssssssrsrsrrrssrrrrrrrrrsrrrrsrsrssrrsrsrrrrrrrrrrrsrsrsrssrssrssssssrsrssssrsrrssrrsrssrrrrrrrrrrrsssrsssrsrrrssrrsssrrsrrrrsssrrrrrrrssssssrssrsrrrsrrrsrsrrsrrsssrrrrrrrsrrssrrssrsrssssrrrrsrrssrrrrrsrssrsrrsrrssrrrrsrrrssrrrsrssrsrssrssrsrsrrrrssrssssrrssrrrsssssrrrrsrrsssrrsrsrrrsrrrrsrsrrrssssrrsrsrsrssrrrsrssrsrsrrssrsrrsrsrssrrssrssrssrrsrrsrrssrsrsrrssrrsrsrsrrsrsrsssrsrsrsrrrrrrrrrssrrrssrrrrrssrsssrssrsrrsrsrrrrrsrrrrsrssrssssrsrrsrrrsrssrrsrrssrrrrsrsssssrrrrsssssrsrrrsssrrrsrrrsrrrrssrssssrsrrrrrsrsrrrrsssrsrrrrrsrsrrrrrrrrrrrsrrrrrrrrsrrsrssssssrsrrssrrrrrrrrsrsrsrsrsrssrsrrsrsrrsrrsrrsrsssssssrrssrsrrrrrsrrrsssrsrrrrssrssssrrrrrrsrsrssrrssrrrrsssrssrsrsrsssrssrsssrssrrrrsrrrsrrrsrsrrssrsrssrrsrsrsrsrrrrssrsrrrrsrssrsrrsrrsrsssrssrrssrrrrrsrrrrsrrsrsssrrrrrsrsrsrsrsssrssrrrrsrrrrssrssrssrrrsssrrsrssssrsrrrrrrssrsrsrrssssssrsrrrsrsrrrrssrrrssrsrrrsssrrssrrsssssrrrsrrrssrsrsrrrrrrsssssrrrrsrssssrrsssrrrrrrsrsssrsrrrsssrssrsrssrrrrrssrsrrrsssrsrsrrsrssrsrrrrrrsrrssssssssssrrrsrrrsrsrssrsrrsrsrsrsrrssrrsrrssrssrsrrrrssrrrsrrrsssrrrsssrrsrrrssrrrrrrrrssrsssrrsrrssrrrssrrsrsssrsrrsrsrsrrrsrrrsrssrrsrrrrrrrsrsrsssrrsrssrsrrrrrsrssrrsrsssssrsrsrrrrrrssrrsrssrsrsrsrssrrsrrssrsrsssssrsrrsrrrrsssrsrrsssrrrrsrrrsrrrsrsrsrsrrrrrsssrrrsrrrrsssrrssrssrrrrsrrrsrrrrrsrrsrsrrssrrrrsrsrrsrrrrrssrrsrrrssrrrsrrrrrsrrrsrssssrrsrrrrrrssrrrsrsrrssrrrrsrsssrrrsssrsssrrrrsrssssrsrrrrrrrsrrrrsrsrrrrsrsssrsrrrrrrsssrrssrrsrrrrrrsrsssrrrsssrsrssrrrrrrrsssrrrssssssrsssssrrsrrrrrsrrrrrsrrrssssrsrrssrssrsrssrsrrssrrrrsrrrrssrrsssrrrrsrrsrrsrrrrrrssrsrrsssrssrsrrsrrsrrsssrsrrrrrsrrrrrsrrrrrsssrsrrrssrssssssrrsrrrrrrrrrsrrsrsrrrrssrrrsrsrrsrsssrrrrrrrrrrrssrrssrsrrsrrssrsrsrsrssrssrsrsrsrssssrrrssrrsrrrsrrssrrrrrrrrssssrrrrrrrrrssrrsrsrsrsssrrrrsrsrrsrrrrsrrsrrrrrrrrssrsrsrsrssrsrrsrsssrssrssrsrsrssrsrrrrrsrsrrsrsrrssrsssrrrsrrrsrsrrrrsrrrrrrsssssrrrrsrrsrsrsrssrrrrsrrsrsrrsrssrrrrsrsrsssssrrrrrrrrrrrssrrsrssssrssrrrrrrrssrrrrsrrrrrsrrssrrrsrrrrrsssrrrrrrrrrsrsrrrrsrrsssssssrrrrsssrrsrsssrrsrssrrrrrrrrrsrrssrsrrsrrsrssrrrrsrrsrrrrsrrrsrrrrrsssrrrsssrsrrrrrssrrrrrrsrrrsrsrrsssrrrrrrrsrrrrssrsrrsrsrrsrrsrrsrrrrsrsrrsrrsrrrrrsrssrrrrrrsrrsrrssssrrrsrrrrssrrsrsrrssrrssrsssrrrrsrrsrsrrsrrssrrrrssrrsrrrssrsssrrsrssrrrrrsrsssssssrsrrrsrrssrsssssssssrssrrssrrrrsrrrrsrrrsrrrssrsrrsrsrsrrssrrrsrsrsrrrsssrrrrrsrrssrrrrsssssrrssrsrrsrrrssrrrrsrrsssrssrsrsrrrrsrrsrssrsssrrsrrsrrsrrssrrsrsrssrsrrrrrrrrsrrrrsrrrsrssrssrrrssrrssrsrrsssrrsrrrsssrrrrrsrrsrrrrsrrrrrssrrrrsrsssssrrrrrsrrsrsrrrrssrsrrsrrrssrsrrsrssssrrsrrsrssrrsssrsrrrssssrrsssssrsssssssrsrrsssssrrsrrrsrssrrrssrsrrrssssrssssssssssssrsssssrsrssssssrsrsrsssrsrssrrsrsrssrsrssrssrssrsrssrsssrssrrssssssssrsrrrrssrssrssssrrssrssrrrsssssssssssssrsrrrsssrsrrsrsrsrssrsssrsssssrrssrsssrrrrssrssssrsrsssrsssrsssssrrssrssssssrsssrsrsssrrsssrssrsrrrsrsrrsssssrsrrsrssssrssrsrsrrrssrsssrsrsrsrrrrsssrsssrrsrsrsrssrsssrssrsrsrssssrrrrrrssrsssrrssssssssssrrrssssrssrrrsrsssrssssssrrrrssrssrsrrsrssrrrsrrsrsrssrsrssssrssrsrrssssrsrsrsrrsssrssssssrrrsrsrsssssrrsrssrsrsssssssrrsssrssrrsssssssssrssrssrsrrssrssssssrsssrsssssssrssssrrsssrssrssrssrrrrsrsrsrssssssrsrrsrrrssrrrrrrrsssrsrssssrrsrsssrrssssrrrrrsssrsssrsrsrrsrrrsrsrssrrrsssrrssrssrrsssssrsrssrrrsrrrsrsssrrssrrrrsrrrsrrssrsrsrrssrrrssrrrsssrssssssssrrssrsrrssrsrrrssrrrrrrssssrrsrrrssrrsrrssssrssrsrrsrrsrsssssrsrrrssrrrsssrsssssssrssrrrrrssrssrsssssrrsssssssrrssssrrssssrrsssssrrrsssrssrrrsrssssssrrsssrssssrssrsrsssssrrrrssrsssrssrrrrsrssssssrssrsrsrrrssssrsrsrsssssrrsrrrsrrssrsrsrsssssrrssrsssrsrrsrrsrrrsrrrssrrrrrrrrsrrrrsssrrrrrsrssrsrrrssrrsrssrrssrrrrsrrssssrsrrssssrrssrsssssssssssssrsrsssrssrsrssrssrrrsrsrrrsssrrsrsrsrrrrrrrrrssssrsrrrsrsrssssssrrrrrrsrssrrsrsssrsrsrsrsrrsssssrsssrrsrsrssrsrsrsrsssrsrssssrrsrrrsrrsrsssrsrssrrsrsrrsrsrssrrsssssssrrrrrrrsrrsrrssrssrrrrrrrrsssssrrrssrrsrrrssrrsrrrrrsrrrsrssssrrrrrrrsrsssrssrrrrsrrsrsssrrssrrrssrrsssssrssrssrsssrrrsrsrrrrssrrrrrrrrrrrssrrsrrsrsrssrrsrssssrrrrrsrrsrrrssrsrrsrrrrrrrsrsrrsrsrrrsrsrrrrrsrrrssrrsrsssrrsrssrrrsrsrrsrsrssrsssssrrsrsrsrrssrrrsrrsssrsssrssrrrrrrsrssrrssrrrsssrrrrrrsrrrrssrrsrsrrsrrssssrrrrssssrrrrrrsrrsrrrrrrrrsssrrrrsrrsrrsrssrrssrssrrrrrsrsssrrsrsrssrrrrrsssrssrssrrrsrsrrrrsssrssssssrrrsrssrrssrssrsrssrrssrsrrssrssrssssrrrsrrrsrssrsrrsssrrsrrsrrsssrsrrsrrsrsrsssrrsrsssssrssrsrrssrrrrsrsssrssrrrrrsrrrrrrrsrrsrrsrsrrssrsrsrrrrrrsrsrrssssssrsssrsssrssrsrrsrrrrrrsrsrsrsrssrrrsrrsrrsrssrrrrsrsrrrrrsssssssrssssrrsrrrrssrrrrrsrsrsrrrrsrrsrrrssssrrrrrrsssrsrsrsssrsssssssrssssssrrssrrrrssrsssssrssssrsrssrsrsrsssssrsssssrssrsssrsrsrsssssrsrssrssssrrssssssssrssrrsssrrrsssssrsssssssssssrrsrssrrssssssrssrsssrsssrsssssrsrsssrsssrrrssssrsssrssssssrssssssrssrsrssssssssssrrssrrrssssrsrsssssssrrssssssssssssrrssrssrsrssssssrsrsrssrssrssrsrssrssssrssrrrssssssrsssrssrssrssrssssrsrsssrssssssrsrrsrsssssssssssssssrsrrsssrsrssssrssssrsrsssssssssssrssrsrssrsssrrssssssrssssrssrsssrsrsssssrsrrsssrsssssssssssssssssssrsrsrsssssrssrssrrssssrsssrssssssssssssssssrssrsssrssssssssssssrsssssssssssssssrsrsssssrsssssssrssssssrrssssrrsrsssrsssssssssrsrssssrsrsssssssrrsrsrssssrrsssssrsrsrssssssssssssrssrsrsrssrrssrsssssrsssrsssrsssssrrssssssssrrsssssssssrssrssrrsssrsrsssrsssssrsssrsrrsrsssssssssrsssssrsssssrrssssrssssrrsrssrrrsssssrrssssrssssrsssrssssrsssrsrrsssrrsssrssssrsssssrsrssssrsssrssrsrrssrrsrsrsssssrrsrsssrrsrrssrrssssrssrrsssssssrssrssrssrssssrsssrssssrrsssssssssrssssrsssssssrssrsssrsrssrsrsrrssssssrsssssrrrssssrsssssssrssrsrrssssrssrssssssssssssrsssssssssrsrsrrrsssssssssssssssssssrsssrrsrsrsrssrssssssrsssrrrsrssrsssssssssrsrssrrrssrrssrsssssrssrrrrssrsssssssrrssrrrssssrssrrssrrsrssssrssrsrsssssssssssrssssrssrsssssrssssssrsrsssssrsrrrsrssssssssrsrrrsssssssssrssssssssrrsrssssssssrsrsrrsssssrrsrsrsrrsssssrrsssrrsssssrrrssrrrrrrsrrsrrsrsrssrssrssrssrrrssrssssrssrrsrrsrssrssssrrsrsrsssssssrsssrssssrsrrsrssssssrrrsrrrrsssrrrrrrrrrssrsrrrsrssrsssrrsssrsssrrssrssssrsssssssssssrsrrrrssssrrsrsrrrrrrrrrrsssssssssrssrrssrssssssssssrssssrsssrsrsrrsrsrrssrssrrsrrssrssrrrsrrrsrsrsssssrrsrsrssrrssrsssrsssrsrsssrrrsrssrrrrrssssssrsrsrsssrrrrsssrsssssssrrssssssrsrrssssrrssrsssrsrsrrrsrsrsssrssssssrsrrsrrssrssrrrsrrssrssssrsrssrrssrrsrrsrssssrrrsssrrrssrsrssssssssrsrsrrsrrsrrsrrssrrssrsrsrsrrsrrsrsrrssrsssrsrrsrrssssrrsssrsssssrssrsrrsrsrrrrsssssrrrssrrsrssrrsrssrrsssrrsssssrrssssrssrrsrssrsrrrssrsrsrrrrrrrsrssrrrsrssssrrsrssssssssssssrsssrrrssrssssrrrsrrsrsrrrssrsrssrsrsssssssrsssssrrsssssssrrssrsssssssrssrsrssssssssrsrssssrsssssrssssssssssssrssrssssrrrsssssssssssssssssrsssrrssrrsssssssrsssrsssssrsssrsssssrssrrrsssrrrsssssrrsssrssssssrsssssrssssrssrssssrsrssssssssssrsssssssrrssssssssssrsrsrsrssrsrrsssssssssssssrrssrssrssssssrssssssssrsssrsssssrssssssssssssssssrrsssssssssssssssssrsssssssssrrsssssrsssssssssssssssssrsssssrsssssssrsssssrsssrssssrssrssssssrssrsssssssssrsssssrssssssssssssssssssssssssrssssssssssssrssrssssssrrssssrsssrsssssrrrrssssssssssssssrssssssrssssrsssrsrssssrssssssssrssssrsssssssssrsrsssssrssssrrsssrssrrrssssrsssssssssssssssrsssssrsssssrssrrrrsrsssrsssrsssssssrsrssssssrsrssssssssrrssrrsssssssssssssssssrsssrssrrssssrsssssssssssssrssrssrsssssrrssrsssssssrssrssssrsssssrsrsssssssssssssrssssrrsssrrsssssssrsssssssssssssssrrsssrrrssssssssrrsrssssssrssrsrsssssrssssrsssssrsssrssrssssssssssrrsrrsssssrsrsrrsrssssssssrrssrsssssrrssrsssrsrssrssrssrssssrssrrsssrssssrssssrrsssrsrrssssssrsssrsrssrrsrsssssrrrrssssssssrrssssrssssrsrrrsrssssssssrrssrssssrsssrssssssrssssssrrsssssssssrrssrssssrssssssrsrssssssssrsssssrrrrsssssrsrrrssssrsrsrssssssssssssssrssrrsssrsrssssrrsssrssssssssssssssrrrsssssssrsssrsrrsrssrsrsssssssrrsssrrsssrrssssrrsrssrsssssrssssrrrssrrsssssrssrsssssrssrssssrsssrssrrrsssrssssrsssssssssssssssrsssssssssssrsssrsssrsssssssssrsrsssrssssrsssssssssssssssssssssssssssssrssssrssrsssrsssssssrsrssssssrrssssssssssssrrsrsrsssrrrsssssrrssssrssrsssrsssssrssssssssssssrssssssrsssrssssssrsrrrrsrsssssrssssrsssssssrsssrsssrsssssssssrrsrrssrrsssrsrsrssrrssrrssssrsssssssrsssssssssrssssssssssssssssssrsssssrrrsssssssssrsrssssrsssrsrrsssrsssssssrrrrsssrsssrsrsssrssrssssssssssssssssssrsssssrrssssrrrsrsrrrssrrsrssrsssrssrsssrsssssrsrsrrssssrrsssrssrssrsssrsrssrssrsrssrssrsssrssrsssssrssssssrrsssssrrssrrssrsssrsrsssssssrssrsssrrsrssrrssssrssrssssrrrsrrssssrssssssssssrrrsrsssrsssrsrsssssrssssrssssrssrssssrsrsrssssssssrsrssrssssrsrrsssssrsrssssrsrrrsrssssrsssrssrrssssssssssssssssrsssssssssssssssssrrsrssssssrssssrsssssssssssssrrsssssssssssssssrsssrssrsrsrrssssssrssssssssssssssssssrsssssssssssssssssssrsssrsrsssssrsrsssrrssssssssrrsrsrrssssssrsssssssssssssssssssssssssssssrssssssrsssssssrssrsssrssssssssssssssrssssssrsssssrssrssssrsrssssssssrssssrrsrssssrssssssrssssrssssrrssssssssssssrssrsssssssssrssssssssrrrssrsssrsssssssssssrsssssssssrssrssssssssssssssssssssrsrssssrssrsrssssrssssrsssssrsssrssssrsrssssssrrrssrrssssssrsssrsssrssssssssssssssssrsssrssssssrsrsssrssrsssrsssssrssssssssssrsssssssssssssssssssssrssssrrsssssssrssssrsssssssssssrsssrssssssssssssrsssssssrssssrsrssssssrsrssssssrsssrsssssssrsssrsssssssrssssssssssrsrsrrrsrssssrsssrssssssrssssssrssssssrssssssssssrssrssssssssssrrssssrsssrrrsssrrsssssssssssssssssssssssssrsssssrsrssrsrrrsssssssssrsssssrssssssrssrrssssssrssssrsssrsssssssssssssssrsrsrssrssssssssrsssssssssssssrrssrsssrsssssrsssssssssssssrssssssrsrsssrsrsssssssssrsrssrrssrssssssrssrsssrsssrssssrsrsrsrssssssssrsrrssssrssssssssssrsrrsrssssssssssssrsrsrsssssrssssrsssssssssrrsrsssssssssrsrrsssssrsssssssrsssrssssssrrssssrsssssrrssrssssssssssssrsrsrsssssrsssrsrrssrsrrssssrsssrsssrssssssrsrsssssssssssrsssrsssrsrssssssssssssrsssrrssrsrssrrssssssrsssrrssssssrsssrsssssssssrrrsssssssssrssssssssssssssssrssssrsssrsssssrssrrsssssssssssssssrssssssssrsssrsssrrssssrssrrssssssssssssssssssssrrsrsssrsssssrsssssssssssssssssssssssssssssrsrsssrrsrsssrssssssssrsrrsssssssssrsssssrssrssssssrsrssrsssrrsssrssrrsssssrsssssrsssssssrsrssssrrssrsrrrsrsssrsssrsssrsssrssssssrsssssssssssssrsssrssrsssssssssrsrsssssssrsrssssssssssrssrrssssssrsrrssssssssssssssrrssssrsrsrrsssrrssssssrsssssssrsssssrssssssrsssrssssrrssrsrsssrsssssssrsrssrsssssssssssssssrssrssrssssssssssrsrsrrsssssssssssssssssssrsssssssrsssssrsrsrssrssssrssssrrrrssrsssssssssssrssrsssssrrssssrrsssrrssssssrsssssssssrssssssrsssssssssrssssssrsssrssrssssssssssrsrsrsssrrssssrssrssrssrrssssssssssrsssrssssrrssrssrsssrsssrrsrssssssssssssssssssssssrsssssrssssssssssssrrssssrssssssrssssssssssrrssrsrssssssssssssssssrssrsssssssssssssrsssssssrssrsrssssssrssssssssssssssrsssssssrsssssrsrssssssssssrssrsssssrrsssssssssssssrssrssssssssssssrssssssrsssssssrssrssrrsssssssrrsssssrsssssrsssssssrssssrsrssrrssssssssssssssrssrrssssrssrsssssssssrrsssssrssssrsrssrssssssssssssrsssssrssrsrssssssssrssrsssrssssssrsrsssrsssssssssrssssrssssssrsssssrrsrrsssssrrsssrsrsssrsssssssssssssssssrrsssrrssssssssssrsssrssssssrsssssrsssrrssssssrrsrrsrrssssssssssssssssssrrsssrssssssssrsssssrrsssssssrrsrrrssssssssssssrrsssssssssssssssrssssssssssrssssssssssssrssssssssssrsrsssssrsssssssssssssssssssssssrrsrsrrssssssrrrsrssrsssrsssssssrsrsssssssssssrsssrssssssrsssrsrsssssssssssrsssssrrsrsrssrsrrsssssrsrssssssssrssssssssssssssssssrssssrssssssssrsssrssrsssrrsssrsssssssssssssssssrssssssrssssssssssssssssssrrssssssssssssssrsrrssssssrsssrsssssssssrssssrssssssrsrsrssssrssrrsssssssssssssssssssrsrsrsssrssssssssssrrsrsrsrsrsssrssssssssssssssssrssssrssrsssssssssrssssrssssssssssssssssssssrssssssssssssssrsssssrssrssssssrssrsssrrssssssssssrsssssssrssssrsssssssrssrsrsssssssssrssssrrsssssssrrssrsssssssssssssssssrssssssssssssrsssrsssssssssssssssrsssrssssssssssssrssrsrrsssssrssssssrssrsssssssssrssssssssssssssssssssrrsssssssrsrsrsrsssssrsssssssssssrsssssssrsssrsssrssssrrrssrrsrrssrsssrrssrssssssrrssssssssssssssssrsssrssrsrsssssssrrssssrssssrssssssrsssssrssssssssssrsssssssssssrrsssssrssssssssrsssssrsssssssssssssssssrsssssssssssssrsssrsrssssssrsssssrssssssssssrsssssssrssrssssrsrssssssrsssssssrrsrsrssssssrsrssssrsssssrrrssssssssrsssrsssssssssssrssssssssssrssrsssssssrssssrssssrsssrsrrssssrssssssrssrrssrrssrssssssssrsrsssssrssssrssssssssssssssrssssssssssssssssrrsrrsssssssssssssrsrssssssrssrssssssrsssrssssssrsssssrsssssrsssssssrrrrrssssssrssssrrssssssrssrsrsrrssssssssrsssssrsssssssssssssssssssssrsssssssssssrsssrssssssssrssssssssrssrsrsssssssssssrrrsssssrsssrrssssrssssssrsssssssssssrrsrrsssssssssssssrsssssrsssssrssssssrsssssssrssssssssssssrssrrssssssssssssssssrssssssssssssrssrsrsrsssssssssssrssrsrssssssrsssssssrsrsssssssrrsssssssssssssssssssrsssssssrsrsrsssssssssrsrssrrsrssssrsrsssrsrsssssssssssrsssssssrssssssrrrsrsssssssssrssssssssssrrsssssrrsssrssssssrssssrsrsssssrsssssrssrssssrssssssssssssssssssssssssssssrsrssssssrssssssssssrsssssrsssssrsrsssssssssssssssrssssrsssssssssrsrrrssrssssssrssrsssssssssssssrssrsssssrsssssssssssssssssrsrsrsssssssrssrsrssssrrsrsrsrrrssrsrsrssssrsssssssrssssrsssssssssrssssssrssrrsrsssrssrsrrssrssssrsssssrssrssssssssssrsssssssrssssssssssssssssrsrssssssrssssrsssrssssssssssrssrssssssssssrsssrssrrssssssssrssssssssssrsssssrsssssrssssssrssrsrsssssrrssssssssssssssssssssssrsrsrssssssrssssrrsssssssrssrsssrrsssssrssssssssrssssssssssssssssrssssrsrssssrssssssssssssrssssssssssssrsssssssssrssssssssrsssrssssrssssssrrsrssrssssrssssrssssssrsssssssssrrsssssrsssrsssrrssrssrssrssssssssrssrssssssrsrsssssrsrssssrsssrssrrsrsssssssssssssrrsssrssssssssssssssrsrsssssssssssssssssssssrsrsssssssrsssssrsssssssssrssssssrrssssrsrsssssssrssrsrssrsssssssssssrsssssssssrssssssssssssssrssrsssrrrssssssssrsssrsrssssssssrrssssssrssssssrssssrssrssrssssssssssssssssrssssssssrrsssssrsrrssssssrsssssrssssssrssrssssrrsssrrsssssssrsrssssrrrsrsssssssssrrssssssrrssrsrsrssrssssssrssrrssssrssrssssssrssssssssrrrrrssssrsssssssssssrssrssssrsssssssrrrrsssssssrssssssssssssssssssssssssrsssssssssssrsssssssssssssssssssrsssrsssssssssrsssssssrrsssssssrrssssrsrssssssssssssrrssrssrsssrsssssssrrssrssssssssssssrsssssssssssrrssssssrsssrssssssssssrsrrssssrrssssssssssssssrrsssssssssssssrssssssrssssssssssssssrsrsssssssssssssssssssrsrsrsssrrsssrsssssssrsssssssssssssssrssssrsssssrsssssssssrssssssrssssssssssssssssssrsssrsssssssssssssssssrssssssssssssssssssssssssssssssssssrrrsssrrssssrssrsssrssssssssssssrssssrsrssssssrssssssrsssssrrrrrssrsssssssssrsrssrsssrssrssrsssssssssrsrssrssssssrssssssssssrrssrssrsssssssrsssrssssssrsrrsrsssssssssrrsssrrrsssrrrrssssssssssssssrsssssrsssssrsssrssrsrssrssrsrsssssssssssssssssssssrsssrssssssssrrssrssrsssssssssssssssssrrssrsssrsrsrsssssssrssssssssssssssrsssssrrsssssssssssssrssssrssssssrsrssssrssrsssssssssrrsssssrrsssssssssrrsssrssrsssssssrsssssssssssssssssssssssrrsssssssssrssssssssssssssssssssssrssrsssssssssrsssssssrssssssssssrssssssrrsssssssssrsssrrssssssssrsssssrssssssrrsssssrsrsssssrrsssssssrsssssssssssssrsssssrrsssssrsssssssrsssssrssssssssrsssrsssssrrrsssssssssrrssssssssssssssrsssssssrsssrssssssssrssrsrssssrssssrssssrrsssrsrssrssssssssssssssssssrssssrssssssssrrssssssrsssssssssssssssssssssrssssrssrssssssrsssssssssrsssrssssssssssssssrssssssrsssssssssssrsssrrsssssssrssssssssssssssssssssssssrssssssssssssrsssssssssssrsssrssssssrsssssrsssssrsssrsssssssssssrssrsrssrsrsssssssrrsssrssrssssssssssssrsssssssssssrssrrssssssssrsssrssssssssrsssssssssssrssssrssssssrssrrsssssssssrsssssrssrsrssssrsssrsrsrsssssssrsrrsssssssrsssssssssssrssrssrsrsrssssssrrsssssssrsssssssrssssrssssssssssrssssssssssrssssssssrrssssrsssrsrsssssssssssssssssrsssssssssrssrsrssssssssrsssssrssssssssssssssssssssrssssssssssrssssssssssrrssssssrsssssssrsssssssssssrsssssssrsrrsrsssssssssssssssrsssrssssssssssssssssssssssrrssssrssssrsrssrsssssrsssrssssssssrssrssssrsssrrssssssrrssssssrsrsssssssssssrssssrssrrsssssssssssssssssssrssssrrsrsssrrssssrsssrsssssssrsrsssssssssrrsrsssssssssssssssssssssssssssssssrrsssrrsssrsssrsrssssrsrssssssssssrsssrssrssssssssssssrrsssrsssrrsrssssssssssssssssssrsssssssrsssssssssssssrrssssssrssssrrrsssssssssrsssssssssssssssssssrssssrssssssssssssssssrrssssssssrrssssssrsssssssssssrssssssrsssssssssssssssssrssrsssssssrsssrsrsssrsssssssrsssrssrsssssssssssssssrssssrssssrsssssssssssssrsrrsssrssrssssrsrssssssssrsssssssrrrsssrsssssrssssssssssrssssssssssrssssrrssssssrssssrssrsssrssrrssssrssssssssrsrssssrsrsssssssssssssrsssssrrssssssssssrssrsrsrsrssrrrsrssssssrsssssssssssssssrsrssrssrssssssssrsssssssssssssssssssssssssssrsssssrssssssssrrsssssrssssssrsssrssssssrssssrssssssssssrsrsssrsrrsssssssrssssssrrrsssssssssrssssssssssssrssrssssssssssssssssrsssssssssrsssssssrsrrsssssssssrsssssssssssssssssssssssssrssssssssssssssssssrsrssssrssssssssrsssrssrsssrsssssssrsssssrrssrssssrrrrssrssrsssrrsssrssssrssrsssssssrsrssssssrssssssrsssssssrsssssrsrssssssssrrssssssssssssssrssssrsssrrsrssssssrsssrrssssrsssrssssssrsssssssssssrrrsssssssssssssrsssssrsrssssssssrsssssssssssssssssssssssssssssssssssssssrssssssrrsssssrssssssssssssssssrsssssrsssssrssrsssssrssssssssrsrrsssssssrsssssssssssrsrsssssrssssssssssssssssssrssssrssssrssssssssssssssssssssssrssssrssssssrsssssssrssrsssrrsssssssssssrrrssssrssssssssssssrsrssrsssrssrssssrssrsssssrsrrsssssssssssssrssssssrsssssssrsssssssssssssssssssssssrsrssssssssrrsssssssssssrsssssssrsrssssssrsssssrrrssrrsrrrsssssssssrsssssssssssssssssssssssrssrssssrsssssrssssssssssssssssssssssrsrsssrsssssrsssssrrsssrsrssssrsrrssssssrsssssssrsssssrsssssssssrrssssrsssssssrrsrssssrsssssssrsssssssssrrssssssssssrssssssrsrssssssssssssssrrssrsssrsrssssrrssrssssssssssssssssssssssrssssssssssssssssssssssrssssssrssssrsssssssrssssssrsssrssssssssrsssssrrssssrssrsssssssssrssssrsssssssrssssrsssssssssssssssssssssssrsssssssssssssssssssssssssssssssssssrrssssssssrsssrsssssssssssssssrsrsssssssssssssrsssssssrssssrsssssrsrssrsrsrssssrsssssrssrsssssssssssrsrsrsssssrssssssssssrsrsssssrssrsrrssrsssrssssssssssrssssssrssrsrsrrssssrssssssrssssssssrssssrssssssssrssssrrrsssssssssssssrssssrsrssssssssssssrssssssssssssssssssrsrssssssrssssssrrssssrsssssrsssssssssrrssssssssssssssssssssrsrrsssssrsrrsssssrssssrssrssssrsssrssssssssssssssrsssssrsssssssssrrsssrsrsssssssssssrssssssrssrssssrssssssssrssrssrsssssssssssssssssrrrrssssssssssrssssssssssssssrsssssrsrssrsssssssssrssssssssssrssrssrsssrsssssssssssrsssssssrssssrsrssrrsssrsssssrssssssssrsrsssssssssssssssrssssssssrsssrsssssssssrrsssrsssssssssssssssssssrssssrsrsssssssrssssssssrssrsssssrssssssssrsssssrrsssrsrsssrsssssssrssrsrssssssssssrsssssssssssrssrssssssssssssrssssssssssssrsssssssrsssssssssssssssssssssrssssssssssssssssssssrrssssssrsssssssssrrrsssrsssssrsssssssssssrsssrssssssrsssssrsssssrrrssssssrsrsssrsssssssssrssssssrssssssssssssrsrrsssrrrssrssrssssssssssssssssrssrssssssssssrsssrsssssrsrssssssssssrrsssssrsssssrssssssrssrssssrssssssssrsssrssrsssssssssssssssssssssssssssssssssrssssrssssrssssssssssssssrsssrrsssssrssssssrsssssrsssssssssssssrsssssrsssssssssssrrrsssssssssssssssrsssrsssssssrrssssrssrsrsssssssssssrrssssssssrrsssssssssrsssssssssssssrsssrssssssssssssssrsssrssrrssrssrsssssssssssssrsrssssssssrssssrsssssssssssssssrssrrsssrsrssssssssssrsssrrssrsssssssssssssssrssssssrsssrssrsssssssrrsssrsssrssrrsssssssssssrsssssssssssssssssssssrsssssssssrssssssssssrsssssssssssrssrssrssssssssrsssssssssrrrsssssssssssssssssssssssssrsrrsssssssrsrsssrssssssrsssssssrssssssssssrrsssrssssssssrssssssssssssrsssssssssrrsssrssssssssssrsrssrrrrssssssssrssssssssrsssrsrsssssrrsssssssssssrsssrrrssssrsrsrsrssssrrsssssrsssssssssssssssrsssssrsssssssssssssssssrssrsrssssrrrsssssrsssrssrssssssrsssssrssssssssssrssrssrsssssssssssssrssrsssssssssssssssssssssssrssssrssrssssssssrrrsrsrssssssrssssssrsssssssrsssssrssrssssssssrssssssssssssssssssssrsssssssssssrrssssrsssssssssrrssrsrssssssssssssssrssssssrrrsssrssrsssssssrsrsssssrsssssssrssssssssssssrssrsssssssssssssssssssssssssrsssssrsssssrssssssrssssssssssssssssssrsssssssssssssrssrsssssssssssrsssssrsssssssssssssrsssssssssrrssssssssssssssssssssrsrsssssssrsssssssssssssssrsssssrssrsssrsrssssssssssrsssssssssssrssssssssrsssssrsrssssssrssssssssssrsssrsssssrsssrssssrrsssssrsrssssrsssssssssrsssssrsrsssssssssssssssssssssssssssssrrsssssssssssssssssrsrsssssrsssssssssrsssssssrsrsssssssrrsssrssrrssssssssssssssssssssrrrrsssssssrssssssrsssssrrssrssssssrssssssssrssssssrssssssrrssrssssssssssssssssssssrrssrrssssssssssssssrssssrsssssssssssssssrsrsrssrsrsssssrssrsssssssssssssrssssssrsssssssssrrsssssssssssrsssssssssrssssrsssrssssssssrsrssssssrrsrrsssssssssssssssssssssssssssrrssssrssrsssssssssrrssrsssssssssssrsssrsrssssssssrsssssssssssrssssssrsssssssssrsrrssssrsssssssrsssrsssssssrrsssrsrsrsssssssrssssssssssrsssssssssssssssrrssssssssssssssssssrssssssssssssssssrsssssrsssrsssssssssssssssssssssrssssssrrssssssrssssssrssssssssssssrrsssssssssrrssssrssssssssssssssssssssssrsssrssssssssssssssssssssssssssrsssssssssssssssssssrssssssssssssrsssssssrrssssssssssssssrrssrsssssssssssssssssrsssssssssssrrssrsrssrsssrssssssssssssssrssrrsrsssrssrsrssssrrssssrssssssrrssrrssssssssssrrsssssrsssssssrssssssssrsssrsssssrsssssrsssssssrrssssssrsssrssrssssrssrssrssssssssssrssrssssssrsssssssrsssssrssrsssssssrssssssssssssssssrssrssssssrssssrssrssrssssssssssssssssssssssssssssssssrssssssssssrrsssrssrrsssssssssssrsssssssssssssssssssssssssrsrsssssssrsssssrsssssssssssrrsssssssssssssrssssssssssrrsssrssssrssrsrsrssssssssssssssssssssssssssssssssssrrsrssrrssssssssssssssssssssssrsssssssssssssssssssssrsrsrrsssssrsssrsrsssssrrssssrrssssssssrsssssrsrsrsrsssrrsssssssssssrrrsssrsssrssrsssssrssssssrsssrsssrssrssssssssssssrsrsssrssssssssrssssssrrrsrsssssssssssrssssssrssssssssssrssssssssrsssssssssssssrsssssssssssssssssssrsssrssssssrsssssssssssrssrsrssssssssssssssssrsssrssrsssssssrsssrsrsssssssrrrrsssssssssssrsssrsssrsssssssssrssssssssssssssssssrssssrssssssssrssssssssssssssssssrsssssssssrsssrrsrrssssrssssssssssssssssssssssssrsssssssssrrrsssssrsssrsssssrssssssssssrssssssrsssssssrsssssssssssrssrsssssssssrrssssrsrsssssrsssssssrssssssssssrssrsssssssssssssssrsssssssssssssssrssssssrsrssssssssrrssssssrsssrrssrrssssssrssrrrsssssrsrsssssssssssssssrssssssssssssssrssrsssssrsssssssssssssssssssssssrrsrssssrssssssssssssssrssssssssssssrssssrsrsssssrsssssrsssssrrsssssssssssssrsssssssrssssssssssssssrssssssrssrssssssssssssssrrssssssrrsrsssssrsssssssssrssrssssssssssrrrssrsrsssssssrrssssrsssssssssssrrsrsssrsssssssssssrssssrssssssssssrsssssssrssssssssssssrrsssrssssssssssssrsssssssssssrssrsssrrsrsssssrsssrssrssssrrssssssssssssrsssssssssssrsssssssssssrrssssssssrssrssssssrrsrrsrssssrssssrsssrrsssssssrsrsrsrsrssrsssssssssssrrssrsrsrsrsrssssrssrssssssrrrssssrrsssrssssssssssssssssssssrrssrsssssrssssssssrrssssssssssrsssssrsrsssrssrssssssrsssssrsssrssrrsrssssssssrsssssssrsssssssssssssrsrrsssssrssssrsssssrssssrssssssrrsrssssrsssrssrsssrrsrsssssrrssrssrssrssrrssssrssssssssssrssrrsssrssssrrssrsssssssssssssrsssssrrsrrrssssssssssrsrssrssssssrssrrsssrrsrssssssssssssrrssssssssssssssrrsssssrrsrsssrsrsrsssssssssrsrssssrsrsssssssssrsrssssssssssssssssssssrssssssrrsssrssssssssssrssssssrrsssssssrsssssssrssrsrsssrsssssssssssssssssrssssssssssrssssrssrsssssrsrrssssssssssssssrrsssssssssssrsssrsssrsssrrsssssrssssrssssrsrssssssssssrssrsssssssssrssssrssssssssrssssssrsssssssssssssssssrssssssssssssssssrssssssssssssssssssssrsssssrsssrrssssrsssssssssssrsrsssssssssssssssssssrsssssssssssssssssssrsssssrsssrssrssssssssrsrsssssssssrssrsssrsssrsrssssssssssrsrrssssssrssssssssssssrsssssssrsssrsssssssrrssssrsssssssssrssssssssrssssssrsrsssrsssssssssrssssssrsssssssrsssssrrsssssssssssssssssssssssssrsssssrrssrsssrrsssssrrssssssssssssssrsrsssssssrrssrsssssssssssssssrsrsrsssrsssssssrsssssssssssssrsssssssssssssssssssrsrsssssssssssrssrsssssssssssrssssssssssrsssssssssssssssssssrsrssssssrsssssssssrrrssssrssssssssssssssrsssrssssssssssssssssssrsssssrssssssssssrssssrsssssrssssssssrsssssssssssssssssssssrsssssrssssssssssrsssssssssssrsssssssssssssssssrssrsssssrrrssssrsrsssssssssssssssrssssrssrsssssrssssrsssrsssssrssrsssssrsssssssssssssssssssssssrsssssssssssrrsrssssssrsrssrssssrsrsrssrsssrsssrsssssssssssrssssrssssrsrssssssssrsrssrsssssssssssssssrssrsssssssssssssssssssssssrsssssrssssssssssssssssssssrssssssrrsssssssssssssrssssssssssssssssrsssssrssssssrssssssssssssrssssssssssrssssssssssssssssssssssssssssssssrssrrssssrssssssssrssrsssssssssrsssssssssrsrsssrssssssssrssssssssssssssssssssrsssssrsssrsrssssrsrsssrsssssssssssssssssrsssssrssssssssssssssssssssssssssssssssssssssssssssssrsssssssrssssrssrsssrsssssssssssssssssrsssrssssssrrsrsrssssssrsssrsrsssrsssssssssssssssssrsrsrssssrsssssssssrsrssssssssssssrssssssssssrssssssssssrssssrssssssrrsrssrsrssssrsrsssssrrsrsssssssssrssrssrssrsrsssrssssssssssrrsssssssssssssssrssssrsssrrsrrsrssssssssssssssrssssrsrssssssssssrssssrrsssrssssssrsrsssssrrrsrsrssssrssssssssrssssssssssssrsssrsssssrssrsssrsssssssssrrssrsssssrsssrsssrsssrssrssssrssssssssrsssssssssssssssssssssssrssrrrsssssssrsrssssssssrssrssssssssssrrsrsssssssssrssrsssrssssrrssssssssrsrsssssssssssssrssssssrssssssssssssssrssssssssrrssssssssssssrsrsssssssssssrssrsssssrssssssssssssssrsssssssssssssssssrrsrsssssssrrrsssssrsssssssssssrsssrssssssssrsssssrssssssssssssssssrrssssrsssssssssrsssrrrssssssssssrssrsrssssssssssssssssssrssssssssssssrrsssssrsssrsssssrsrssssssssrssssrsssssssssssssrsssssssrsssrsrssssrsrsssssssssrssssssssssssrssssssssssssssssssssssssrssssrrsssrssrsssrsrrssssssssrsssssrsssssrssssssssrssssssrssssssssrssssssssssssssrrsssssssssssssssssssssssrssrsrssssssssssssssrsssssssssrssssssssssssssssssssrsssrsssssssrssssssssssssrssrssrsssssssssssssssrssssssssrrrsssrsssssrssssrssrrsrssssssssssssrssrssssssssssssrsrssssrsrssssrrsrsssssssssssssrssssssrssssssrsssssssrrsrssssrrssrsrsssssrssssrrsssrsrssssssssssssssrsrsssssssrsssssssrrssrsssssrssssrssrssrsssrssrssssssssssssssrsssssrsssssssrrrssrsssrsssrssssssssssssssssssssrrsssrrrsrssssssssrsssssssrsssrrssrssssssssrrsssssssssssrssssssssssssrssssssssrsssssrssssssrsssssrsrrssssrsssrssssrssssssrsssrssssssrrsssssssssssrssrsssrrsssssssssssrssssssrssssrssrssssssssrssrssrrrsssssssssrsrsssssssssssssssssssssrssrsrssssssssssssssssssrsssrssssssssssssrssssrsssrsssssssssssssssssssrsrssrsssssssssrssrssrsssrssrsssssssssssrssssssssssssssssssssssssssssssssssrsrsssrsssssssssssrrsrssssrssssssssssrssssssrsssssrssssssrrsssssssssssssssrssssssrrssssssssrssssssrssssssssssrssssrrssssssssssssrsssssssrssrssssssssssrsssssssssssssssrssssssrsssssssssssssssssssssssssrsssssssrssrssssrsrssssssssssssssssssssrsssssssssssssssssssrrssssssssssssssssssssrssrsssssssssssssssssssssssrsssssssrsssssssssssrsssrsssssssrsssssssssssssssssssssssssssrssssssrsssrsrssssssssssssssssssrsssrsssssssssssrssssssssssssssssssssssssrssrssssssssssssrsssssssssssrssssrsssssssssssssrsssssssssssssrssssssrsrsssssrsssssssssrsssrssssssrrssrssssssssssssssrssssrsssrssssrsssssssssrsrsssssssssssssrsrssssssrssssrsssrsssssssrssssrssrssssrssssrssssssssssrssssssssssrrrrrssssrssssssssrsssrsssssssssssrsrsssssrsrsssssssrsssssssssssssssssssssssrsssrsssssssssssssssssssssrsssssrsssssssssrsssssssrsssssrssssrssrssrssrsssssssssrsssssrssssssssssssrssssssssssssrsssrssssssssrssssssrsssssrsrssssssssssrrsssssssssssssssrssssssssssrssssssrsrrrssssssssssssssssrsssrrsrssrsrsssssssrsssssrssrrssssssssssssssssrrsssssssssrrssssrsssssssssssssssrsrsrrrsssssssssssrrssssssssssssssssssssssssrsssssssssssssssssssssssssrssssssssssssssssssssssrrssssssrssrssssssssssrssssrsssssssssssssssssrssssssssrsssrsssssrsssrrrsssssrssssssssssssssrssssrssssrrssrssrrsssssssssssssrrssssssssrssssssssssssrssrssssrssssssssssrsssssrsrssssssssrssssssssrsssssssssrssssssssssssrssssssrssrsssssrssssssssssssrrssrsssssrsssssrsssssssssssrsssrssssssrsssssrssssrsssssssssrsrsssssrrrssrsssssssssssrsssrssrsssssssssssssssssssssssrsssssrsrssrssssssssssssssrsssssssrssrrrsrsssssrrrssrssssssssssssrsssssssrrrsssssssrsssrsrsssssssssssssssssssssssssrssssssssssssrssrrsssrsrrssssssrsssrsssrsssssssssssssssssssssssrsssssssssssssrsssrssssrsrssssrsssssssssssssssssrsrssssssssssssssssssrsssssssrsrssssssssrsssssrssssssrssrsssssrssrssrsssssssssrsssssrrssssssssssrrssssssssrssrsrssssrsssrsssrssssrssssssssssrssrssssssssssrrsrrssssrsssssssssssssssssssssrssssssrssrsssssssssrsssssssrsrssrssrssrssssssssrsrrrssrrsssssssssssssssssrrssssrsssssssssssssrssrssssssssrsrsssssssssrsssssssssssssssssssrsssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssrsssssrssssssssssssssssssssssssrsssrssssrssssssrsssrssssssrssssrsssssssssssrsssssrsssssrssssssssssssssssssssssssssssrsssssssssrsssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssrsssssssssssssssssssssssrrssssssssssrsssssssssssssssssssssssssssssssssssssssrsssssssrsssssssssssssssssrsssssssssssssrsssssssssssrsssssrsssrssssssssssssssssssssssssssssssssssssssrsssssssrsssssssssssssssssssrssssssssssssssssrsssssssssssrssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssrsssrsssssssrsssrsssssrssssrssssssssssssssssssssrssssssssssssssssssssssssssssssssrsssssssssssssssssssssrssssssssssssssssssrsrsrssssrsssssrsssssssssssssrssrssssssssssssssrssssssssssssssssssssssssssssssssssssssssssrsssssssrssssrssssssssssssssssrsrsssssssssssssssssssssrsssssrsrsrsssssssssrsssssssssssssssssssssssrssssssssssssssssssrsssrssssssssssssssssssssssrsssrsssssssssrsrrssssssssrsssssrrssrssssrrsssrsssrrrssssssssssssssssssssssssrssrsrsssssssssssssssssssrsssssrsssssssrsrsssssssssssssssssrssssssssssssssssssssssrsssrssssssrssrsssssssssssssrssssssssssssssssssssssssssssssssssssrssssssssssssssssssrssssssssssssssssrsssrsssssssssssssrsssssssssssrsssssssssrsrssssssrsssssssssssrssssssrssssrssssssssssssrssssrssssrssssssssssssssssssssssrsssssssssssssssssssssrsssrsssrsssssssssrsssssssssssssssssssssssrsssssssssssrrsrrssssssssssrrssrsssssssssssssssssssssssrssssssssssssssssssssrsssssrssssssrssssssrsssssrsssrssrsssssrsssrssssssrssssssrsrssssssssssrssssrsrssssssssrsssssssrsssssssssssssssssssssssssssssrrsssrssrrsssssssrssssssrsssrsssssssssssssssrssssssssssrssssssssssssssssssssrssrssssssssrsssrssssssrssrsssssssssrrssssrrsssssssssssssssrssssssrsssssssrssssssrssssssssssssssrsrssssssssssssssrssrssssrrssrsssssssssrsrssrsrsssrssssssssssssssrsssssssrsssssssrrssrsssssssssrsssssrsrssssssssrssssssssrssssssssrssrssssssrsrsssssssssssssssrssrrsssrsssssssssssssssssssssssssssssrssssrtssssrssssssssrstsssssssrsssssssssssssssssssssrssssrsssssssssssssrrrrsssssssssssssssssssssssssssssssssrsssssrssssssssssssrssssssssssssssssssssssrrssssssrsssssssssssrssssssrsssssssssssssssrsssssssssrrsrsssssssssssssssssssssssrsrrsttsssrsssstsssstsstsssssssssstsstssssstsssrtsssssssrrssssssrssssssrrssssssrsssrsssssssstsssrssrsrssssrssssssrssssssssssssssssssrssssssssrsssssssssssssrssrsssssrssrstsrrsrssssssstssssssssssssstsssssrsssssssssssssstssssssssrssssssstssssrssssrssssssssssssstsrssstssssssssrsssssssssrssssrsssssssssrsssssssrsrssssstssssssssssssssssssssssssssssssssstsssrtssssssssssssssrssssssssssssssssssssssssrssssssssssssssssssrsssssrsssssrrssssssssssrssstssssrsssssssrssssssssssssssssssssstssssssssssssssrssssrssssssssrssssssssrsssssssssssssssssssssrsssssstsrssssssssssssssssssssrssssssssssssssssssssssssssssssssssssssssssssssrssrtssssssssssssssrsssssssrssrsssssssssssssssssssrssssssrssssssssrssssrsssssrsssssssrssstsssssssssssssssssssssssssssrssrssssssssssstsssssssssssssssssssssssssttsssssssssssssssssssssssstsssssssssssssssssssssssssssssssssssssstssssssssssssssssssssssssssssssssssrtssssrsssssssssssssssssssssssssrssssrsssssssssssssrrssssssssssssssssssssssssssssssssssssssssssssssssssssssssrssssssssssssssssssssssssssssssrsrsssssrsssstsssssssssrsrsssssssssssssssssssssrssssssssssssssssssssssssssrssssssssssssssssssrssssssssssssssssssssssssssssrssssssssssssssssrsssssssssssssssrssssssssssssssssssssssrsssrrssssssssssssssrssssrsssrsssssssssssssssssssssssssssssssssssssssssrssssssssrssssssssrssrssssrssssssssssrrsrsssssssssssssssssssssssssssssrrrssrssssssssssssrssssssssssssssssssssssrsssssssssssssssssssssrsssssrsssssssssssssssssssssssssssssssssssssssssssssssssssssssrsssssssssssssssssssssrsssssssssssssssssssssssssssssrssssssssssssrsssrssssssssssssssssssssrsssssssssrrsssrsrsrsrrssrsssssssssssssssssrsrssssssssssssssssrssssrsrsssssssssssssrssssssssrsssssssssssssrssssssssssssssssrsrssssrsrsssssssssssssssssssssssssssssssssssssssrsssssssssssssssssrsssssssssssssssrrsssssssssssssssssssssssrsssssssssssssssssrssrsstssssrrsssssssssssssrsssssrsssssssssssssssssrssssssssssrssssrsssrssssssrssssssssssssssssssssssssssssssssssssssssssssssrsrsssssssssssssssssssssssssssssssssssssssssssrsssssssssssssssssrsssssssssrsrsssssssssssssssssssssssssssrttssssssssssssssrrssssssrsssrrsssssssssssssssrssssssssssssssrsssrsssssssssssstsssssssssssstssssssssssstssssssssssrsssssssssrssssssssssssssrssssrstsssssssssssssssssrsssssssrrrrssrssssssstsstssssssssrsssssssssssssssssssssssssrssssssssssssssssssrssssrsrsssssssssssssssrssssssssssssssssssrrsssssssssssssrsssssssssssssrssrssrsssrssssssssssstsssssssssssssssssssssssssssssssssssrsssssssrssssssssssssssssssrrssstssssssssssssssssssssssssssrsssssssssssssrstssssssssssssssssssssssssssssssssssssrssssrrsssssssssssstssssssssssrsssssssrssssssssssssssssrrsssssssssssssssrsssssssrssssrssssssssssssssssssrsrrtrssssssssssssssssssssssssssssrrssssssssrsrssssssrsssssssrsrsssssssssssssssssstsssssssssssssssssrsrsssssssssrsssssrsrssssssrrssssssssssrsrsrsssrssssssssrssssssssssssssrssssssssssssrsssssrtssssssssssssssssrsssrsssssssssssssssssssrssssssssssssssssssrsssssrsssssssssssssssssssssssssssrssstssssssssrsrssssssrssssssssssssssssssstsrsssrssssssssssssssssssrrssstsrsssssrsssssssssrsssssssssrssssssrsssssssssssssrsrssssssssrssssssrsssssrsssssstsssrsssssstssstrssrssssssssssssssssrrsssssrsssssrtssssssstssssssssssssssssstssssssssssssssssssrssssrsssrsssssssssssssssststsrrrsssssrsstssrsssssssssssssssssssssrsssssssssrssssssssssssssssssssssrssstsstsssssssssssstrsssssssssssssssssrssrsssssssssssssssrsssssssssssrssrssrsssssrssssssssssttsrssssssssrssssssrsstsssssssrsssssssrrssssssssssstssssssstsssrsssssssrssssssssssssssssssssssssssssssssrsssssssssssssssssssrsssssssssssssssssssssssssssssssrsssssstssssssssssssssssrssssssssssrsrssssssssssssrsssssssrsssssssssssssssssrsssssssssssssrssssssssrsssssssssssssrsssssssssssssrsssssssssssrsssssssssssssssssssssssrsssssssssssssssssssssssssrssssssssssrsssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssrsssssssssrssssssrssssssssssssssssssssrssssssssrssssssssrssssssssssssssssssrsssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssrsssssssssssssrssssssssssssssssssssrssssrssssssssrssssrssssssssssssssssssssssssssssssssssssrssssrssssrssssssssssssssrssssssssssssssssssssssssssssssssrsrsssssssrssssssssssssssssssssssssssssssssssssssssssssssrssssssssssssssrsssssssssssssssssssrsssssssssssssrsssssssssssssssssssssssssssssssssssssrsssrssssrsssssssssssssssssssssssssrssssssrsssssssssssrsssssssssssrssssssssssssssssssssssssssssssssssssssssssrrssssssrsssssssssssssrssssssssssrsssssssssssssssrssssssssssssssssssssrsssssssssssssssssssssssssssrssssssrsssrssssssssssssrssssssssrssrssssssssssssssssssssssssssssrsssssssssssssssssssssssssrsssssssssssssssssrsrsssrssssssssrrssrrssssssssrsssssssssrsssssssrsssssssssssssssssssrsssrsssssssssssssssssssssssssssssssssssssssrsssssssssssssssssssssssssssssrsssssrsssssssssrrsssrsrrsssssssrsssssssssssssssssssssssssrssssssrrssssssssrsssssssssssssssssssssssssssssssssssssssssssrsssssssssssssrssssssssssssssssssssssssssssssssssssrssssssssssssssssssssssssssssssssssssrsssrssssssstssrssssssssssstsssrsssssssssrssrsrsssssssssssssrsssrssssssssssssrrssssssrsssrssssssssssrsssssssrsssrssssssrsssssssssrsssssssssssrrssrssssssssrssssssrssssrsssstssssssrssrssssssssssssssssssssssssssssrssrssssrssssrsssssssrsssssssssssrsssssssssssrssssssssrsstsssssssrssssssssstsstsssrsssrssssrrsssssssssrsssssssssrssssrstssrsssrsssrsssssrsssrsssssstsrsssrssssssssssssssssssssrsssssssrssssssssssssssssrssssssssrsssrssrstsssstssssstssssssrsssssssssssssssssrssssssrsssssssssssrssssssssrrsssstrsssssrsssssssststrrsssrsssssssssssssssssrsssssssstsssssssssssssssssssssssssssssssssssssssssssssssstsssssssssssssssssssssssssssssssssssssssstssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssstsssssssssssssssssssssstssssssssssssssssttsssstsssstssssssssssssssssssstssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssstsssssssssssssssssssssssssssssssssssssssssssstsssstssssssssssstsssssssststsssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssrsrsssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssrssssssssssssssssssssssssssssssssssssssssssssssssssssrsssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssrsrsssssrsrsssrsrsssssssssssssssssssssssssssssssssssssssssssssrsssssssssssssssssssssssssssssrsssssssssrsssssssssssssssssssssrsssssrssssssssssssssssssssssssssssssssrsssssssrsssssssssssssssssssssssssrssrssssssrssssssssssssrssssssssssssssssrsssssssssssssssrssssrsssssssssssssssrsrssrsssrssssssssrssssssssssssssssrssssssssssssssssssssssssrsssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssrsssssssssrrsssssssssssssssssssssssssssssssssrsssssssssrsssssssssssssssrssrsrrsssssssssssssssssssssssssssssssrssssssssssssssssssssssssssssssssssssssssssssssssssrsssssrsssssssrrsssssssssssssssssrsssssssssssssssssssssssssssssssssssssssssrsrsssssssssssssssssssssssssssssssssssssssssssrssssssssssssssssrsssssssssssssssrsssssssssssssssssrssssssssssssssrssssrrssssssssssssssssrsssssssssssssssssssssssssssssssssssssssssssssssssssssrsssssssssssssrrsssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssstsssssssssssssssssssssssssssssssssssssssssssssstssssstsssssssssssssssssssstsssssssssssssssssssssssssssstsssssssstsssssstssssssssssssssssstssssssssssssssssssssssssssstssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssstsssstssssssssssssssssssssssssssssssssssssssssssssssstssssssssssssssstsssssssssssssssssssssssssssstsssssssstsssssssssssstsssssssssssssssssssssssssssssssssssssssssssssssstsssssssssssssssssssssssssssssssssssssstsssssssssssssssssssssssssssssstsssssssssssssssssssssstssssssssssssssssssssssssssssssstsssssssssssssssssstsssssssssssstssssssssssstsstssssstssssssststssssssssssssssssssssssssssssssssssssssssstsssssstssssssssstsssssssstsssssssssssssssstssssssssssssssssssssssssssssstssssssssssssssssssssssssssssssstssssssssssssssssssssssssssssssssssssssssssssssstsssssssssssstssttssssssssssssssssssssssststsssssssssssssssssssssststsssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssstssssssssssssssssssssssstsssssssstssssssssssssssssssssssssssssssssssssssssssssstsssssssssssssssssssssssssssssssssssssstssssssssssssssssssssssssssssssssssssssssssssstsssssssssstssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssstsssssssssssssssssssssssssssssssssssssssssssssstsssssstsssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssrssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssstssssssssssssssssstsssssssssssssssssssssstssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssstssssssssssssssssssstssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssstssssssssssssssssssssssssssssssssssssssssssssssssssssssstsssssssssssssstssssssssssssssssssssssssssssssssssssssssstssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssstssssstsssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssststssssssssssssssssssstssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssstssssssstssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssstsssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssstssssssssssssssstsssssssssssssssssssssssssssssssssssssssssssssssstsssssssssssssssssssssssssssssssssstssssstssssssttstsssssssssssstsssssssssstssssssssssssssssssssssssssssstssssssssssssssssssssssssssssssssssssstsstsstssssssssssssssssssssssssssssssssssssssssssssssssssssssssstssssssssssssssssssstssssssssssssssssssssstsssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssstsssstssssssssssssssstssssssssssssssssssssssssssssssssssstssssssssssssssssssssssssstsstssssssssssssssssssssssssstsssssssssssssssssssssssttsssssssssssssssssssssssssstssssssssssssssssssssssssstsssssssssssssssssssssssstssssssssssssssssssstsssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssstsssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssrssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssrsssssssssssssssssssssssssssrssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssrsssssssssssssssssssssssssssssssssssssssrsssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssrssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssstssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssstsssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssststsssssssstssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssstsssssssssssssssssssssssssssssssttssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssstsssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssstsssssssssssssssssssssstssssssssssssssssssssssssssssssssssssstsssssssssssssssssssssssstsssssssssssssssssssssssssssssssssssssssssssssssssssstssssssssssssssssssstssssssssssssssssssssssssssstssssssssssssssssssssssssssssssssssssssssssssssssssssstssssssssssssssstssssssssssssssssssssssssssssssssssssssssssssssssssssssssssstsssssssssssstsssssssssssstsstssssssssssstssssstsssssssssssssssssssssssssstssssssssssssssssssssssssssssssssssssssstsssssssssssssssssstssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssstsssssssssssssssssssssssssssssssssssssssssssstsstsssssssssssssssssssssssssssssssssssssssssssssssssssstsssssssssssssssssssssstsssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssstssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssstssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssrssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssrssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssrsssssssssssssssssssssssssssssssssssssssssssssssssssssrsssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssrsssssssssssssssssssrsssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssrsssssssssssssssssssssssrssssssssssssssssssssssssssssssssssssssssssssssrssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssstsssssssssstsssssssstssssssssssssssssssssssssssstssssssssssssssssssssssssssssssssssssssssssssssssssssstssssssssssssssstsssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssstssssssssssssssssssssssssssssssssstsssssssssssssssssssssssssstssssssssssssssssssssssssssssssssssssssstsssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssstsssssssssssssssssssssssstsssssssssssssssssssssstssssssssssssssssssssssssssssssssssssstsssssssssstsssssssssssssssssssssssssstssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssststsssssssssssssssssssssssssssssssssssststsssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssstsssssssssstsssssssssssssssssssssststsssssssssssssssssssssssssssssssssssssssssssssssstssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssstsstssssssstsssssstssssssssssssssssssstssstssssssssssssssssssssssssssssssssstsssssssssssssssssssssssstsssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssstsssssssssssssssssssssstssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssstssssssssssssssssssssssssstsssssssssstsssssssssssssssssssssstsssssssssssssssstsssssssssssssssssssssssssstssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssstsssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssstsssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssstssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssstsssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssstsssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssstsssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssstssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssstsssssssssssssssssssssststssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssstsssssssssssssssssssssssssssssssssstssssssssssssssssssssssssssssssssssssssssstssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssstsssssssssssssssssssssssssssssssssssssssstsssstssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssstsssssssssssssssssssssssssssstssssssststssssssssssssssssssssssssssssssssssssssssstssssssssssssssssssssttssssssssssssssssssssssssssssssssssssssssssssssssssssssssstssststssssssssssssssssssssssssstssssstsssssssssstssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssstsssssssssssssssssssssssssssssssssssssssssssssstssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssstssssssssssssstsstsssssssssssssssssssssssstsssssssssssssssssssssssssssssssssssstsssssstssstssssssssttssssssssssssssssssssssstssssssssssssssssssssssssssssssssssssssstssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssstssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssrsssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssrsssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssrsssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssstssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssstssssssssssssssssssssssssssssssssssssssssssstsssssssssssssssssssstsssssssssssssssssssssssssssssssssssssssssssssssssssssssssstssststsssssssssssssssssssssssssssssssssssssssssstsssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssstsssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssstssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssstsssssstssstssssssssttssssssssssssssssssssssstsssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssstsssssssstsssssssssssssssssssssssssssssssssssssssstsssstssssssssssssssstssssssssssssssssstssssssssssssssssssssssssssssssssssstssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssstssssssssssssssssssssssssssssssssstsssssssssssssssstsssssssssssssssssssssssssssssssssssssssssssstsssssssssssssssssssssssssstsststssssssssstssssssssssssstssstssssssssssstsssssstsssssssssssssssssssssssstsssssssstsssssssssssssssssssssssstssssssssstssssssssssssssssssssssssssstsssssssssssssssssstsssssssssssssssssssssssssssssssssssssssssssssssstssssssssssssssssssssssssssssssssssssssssssssssstsssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssstsssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssstssssssssssssssssssssssssstssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssstsssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssstssssssssstssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssrsssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssrsssssssssssssssssssssssssssssssrsssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssstsssssssstssssssssssssssssssssssssssssssssssssssssssssstssssstssssssssssssssssssssssssssstssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssstssssssssssssssssssssssssssssssssstsstssssssssssssstssssssssssssssssssssstsssssssssssssssssssssstsssssssssssssssstssssssssstsststssssssssstssssssssssssstssstssssssstssstsssssttsssssssssssssssssssssssstsssssssstssssssssssssssstsssssssstssstssssstssssssssssssssssssssssssssstsssssssssssssssssstssstsssssssssssssssstsssssstsssssssssssssstssssstssssssssssssssssssssssssssssssssssssssssssssssstssssssssssssssssssssssssssssssssssssstsssssssssssssssssssssssssstsssssstssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssstsstsssssssssssssssssssssstssssssssssssssssssssssssssssssssssssssssssssstssssssssssssssstsssstssssssstssssssssssssssssssssssssssssssstssssssssssstssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssstssssstssssssssssssssssssssssssssssssssssstssstssssssssstssssssssssssssssssssssssssssssssssssssssssssssssstsssstssssssssssssssssssssssssssssssssssssssstssssssssssssssssssssssstssssssstsssssssssssssssssssssssssssssssssssssssssssssssssstsssssssssssssssssssssssssssssssssssssssssttssssssssstssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssstsstsssssssssssssssssssssssssssssssssssssssssssssstsstssssstssssssssssssstssssssssssssstsssssssssssssssssssssssssssssstssssssssssssssstsssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssstssssssssssssssssssssssssssssstsssssssstsssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssstssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssstsssstssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssstsssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssstssssssstssssssssssssssssssssssssssssssssssssssstsssssssssssssssssssssssssssssssssssssssssssssssssssssstssssstsssssssssssssssssssssssssssssssssssssssssssssssssstsssssssssssstssssssssssssssssssssssssssssssssstsssssssssssssssssssssstsssssssssssssssstsssssstsssssssssssssstssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssstssssssssssssssssssssssssssssssssstsssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssstsssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssstsssssssssssssssssssstssssssstssssssssssssssssssssssssssssssstssssssssssstssssssssssssssssssssssssstsssssssssssssssssssssssssssssssssstsssssssssssssstssssstsssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssstsssssssssssstsssstssssssssssssssssssssssssssssssssssssssstssssssssssssssssssssssstssstssstssssssssssssssssssssssssssssssssstssssssssssssstsstsssssssssssssssssssssssssssssssssssssssssttssssssssstsssssssssssssssssstsssssssssssssssssstssssssssssssssssssssssssssstssssssssssssssssssssssstsstsssssssstsssssssssssssssssssssssstsssstssssssstsstssststssssssssstssstssstssssssssstsssssssssssssssssssssssssssssstssssssssssssssstsssssssstssssssssssssssssssssssssssssssssssssstsssssssssssssssssttssssssssstssssssstsssssssssstsssssssstssssssssssssssssssssssssssssssssssssssssstssssssssssssssssssssssstsssssssssssssstssssssssssssssssssssssssssssssssssssssssssssstssssssssssssssssssstsssssssssssssssssssssssssssssssssssssssssssssssssssssstssssssssssssssssssssssssssssssssssstssssssssstsssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssstsssstsssssssssssssssssssssssssssssssstsssssssssssssssssssssssssssssstsssssssssssssssstssssssssssssssssssssssssssssstsssssstsssssssssssssssssssssssssssssssssssssssssssssssssssssssssssstssssssssssssssssssssssssssssssstsssstsstssssssssssssssssssssssssssssssssssssssssssssssssssssssssstsssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssstssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssstsssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssstsssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssstsssssssssssssssssssssssssssssssssssssssssssstsssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssstsssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssstsstsssssstsssssssssssssssssssssssssssssssssssssssssssstsssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssstsssssssssssssssssssssssssssssssssssssssssssssstsssssssssssssssssssssssssstsssssssstsssssssssssssssssssssssstssssssssssssssssssstssssssssssstssssssstssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssstsssssstsssssssssssssssssssssssssssssstsssssssssssssssssstssssssssstssssssstssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssstsssssssssssssstssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssstsssssssssssssssssssssssssssssssssssssssssssssssssssssstssssssssssssssssssssssssssssssssssstssssssssststsssssssssssstssssssssssssssssssssssssssstsstsstssssstssssssssssssssssssstssssssssssssssssssssssssssssststsstsssssssssssssstssssssstsssstsssssssssssssssstssssssssssssssssssssssssstssstsssssstssssssssssssssssssssssssssstssssstssssssssssssssssssssssstsstssssssssssssssstsssssssssstssssssssstsstssssssstssssssssssssssssssssssssstssssssstssssssssststssstssssssstsssssssssstsssssssssstssssstssstsssssssssssssssssssstsssssssssssssssssstsssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssstssssssssssssssssssssssstssssssstssssssssssssssssssssssssstssssssssstsssssstsssssssssssssssssssssssssstssssssssssssssssssssssssssssssssssstssssssssssstssssssssstssstsssssssstsssssssssssssssssssssssssssssstssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssstssssssssssssssssssssssssssssssssssstsssssssssssssstsssssssssssssstsssstsssssssstssstsssssssssttssssssssssssssssssssssstsssssssssssssssssssssstssssssssssssssssssstsssssssssstssssssssssssstsssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssttssssssssssssssssssssssssssssssssssssssssssssssstssssssssssssssstsssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssstsstsssssstssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssstssssssssssssssssssssssssssssssssssssssssssssssssssssssssstsssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssstsssssssssssssssssssssssssssssssssssssssssssssssssssstsssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssstsssssssssssstsssssssstssssssssssssssssssssstsstssssstsssssssssssssssssssssssssssssssssstsssssssssssssstsssstsssssssssssssstssssssstsssssssssssssssssssssssssssssssssssssssssssstsstsssssssssssssssssstsssssssssssssssstsstssssstsssssssssssssssssssttsstsssssssssssssssssstsssssssssstssssstssstsstssssssstsssssssssssssssssssssstsssssssssssssssssssssstssssssssssstsssssssssstsssssssssstssssstssstsssssssssssssssssssstsssssssssssssssssstssssssssssssssssssssstsssssssssssssstsssssssssssssssssssssssssssssssssssssssssssssssssstsssssststssssssssssssssssssssstssssssstssssssssssssssssssstsssssssstsssssstsssssstsssssssssssssssssssssssssststssssssssssssssssssssssssssssssssstsstsssssssstssssssssstssstsssssssssssssstsssssssssssssssssssssssstsssssstsstssssssssssstssssssstsssstssssssssssssssssssssssssssssssssssssssssssssssssssstsstssssssssssssssssssssssssssssssssssstssssssssssssssttsstsssssstssstsstsstssssssstssstsssssstsstsstsstsssssssssssstssssstsssssssssssssssssssssssssssssstsssssssssssssssssssssstssssssssssssstssssssssssssssssssssstssssssssssssssssssssstsssstssssssssssssssssssssssssssssssssttssssssssssssssssssssssssssssstssstsssssssssssssttsssssssssssssstsssstsssssssstsssssssssssstsssstssssssssssssssssssssstssssstsssssssssstssssssstsstssssssssssssssstsssssssssstsstssssssssttsssssssssssstsssssssssssssssssssssssstssssssssssssssssstssssssssssstssssssssssssssssstssssssssssstssssstsstssssssssstssssssssssssssssssssssstssstssssstsssssssssssssssssssssssssssssssststsssssssssssssstssssssssssssssssssstssssssssssssssssssssssssssssssssssstsstssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssstsssssssssssssttsssssssstststsssstssssssssssssssssssssssssssssstssssssstsssssssssssssssssssssttsssssssssssssstsssssssstsssstssssssssstsssssssssssssssssstssssssssssssssssssssssssssssssssssssssssssssstsstsssstsssssssssssssssssssssssssssssssttstsssssssssssssssssssssssssssstssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssstsssssssssssssssssssssssssssssssssssssssssssssssssssssssssssstsssssssssssssssssssssssssstssssssssssssssssssststsssssssssssssssstssssssssssssssssssssssssssssttssssstsssssssssssssssssssssssssssssssstssssssssssssssssssssssssssssssssssssstssstssssstssssstsssssssssssssssssssssssssssssssssssssssssssssstssssssssssssssssssssssssssssssssssssssssssssstssssssstssssssssssstssssssssssstsstsssssssssssssssssssssssssssssssssssssssssssssssssstsssssssstssssssssssssssssssssstssssssssssssssssssssssssssststsssssstssssssssssssstsssssssssssssssssssssssssstssssssssssssssstsssssssssssssssssssssstsssssssssssssssssssssssssssssssssssssssstsssssssssssssssssssssssssssstsssssssssssssstssssssstsssstsssssssssssstsssssssssssssssssssssssssssssssssssssstsstssssssssssssssssssssssssssssssssssssssssssssssssssstsstsssssstsssssstsstsssssssssssssssssstssssssssssssssssssssstsssssssssssssssssssssssssssssssssssstsssssssssssssssssssssstssssssssssssstssssssssssssssssssssstssssssssstssssssssssstsssstssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssstssstssssstsssssssstssssssstsssssstsssttsssssssstsssssssssssstsststssssssssssssssssssststsssssssssssssssstsssssssssssssssssssssssssssssssstsssstsstssssssssttsssssssssssstsssssssssssssssssstssssstssssssssssssssssstsssssssstsstsstsssssssssssssttsssssssssssttsssstsstssssssssstssssssssssssstssstssssstssssssssstsssssssssssstsstssstsssssssssssssstsssssssssssssstsssssssssssssssssssssssssssssssssssstsssssssssssssssssstsstssssssstssssssssssssssssssssssssstssssssssssssssssssssssssssssssstttsssssssssssssttsssssssstststsssstssssssssssssststssssssssssssstssssssstsssssssstssssssssssssttsssstssssssssstsssssssttsssstssssssssstsssssssssssssssssstssssssstsstssssssssssssssssssssssssssssstsssstsstsststssssssssssssssssssstsssssssssssttstsssssssssssssssssssssssssssttsssssssstssssssssstssssssssssssssssttstsssssssssssstssssssssssttsssssssstsssssssstsssststssttssssstsssssssssssssssssssssssstttstssstsssstsstssssssssssstssssssssssssssssttstttsssssssssssssssssstssststsstssttsssssssstsssstssssstsssstssssssststsststssssssssssssssssssssssstsssssssstssssssssssstssssssstsssssssssssstsstsstsssssssssssstssstssssstssssssssssssssssssssssstsssstssstssssstssssstsssstssssstsstsssssssssssssstssssstssssssstsstssssssssssssssssssssssstsstssssssssssssssssssstssssssstsssstssssssssssssssstsstsssssssssssstsssssssssssssssttssssssssssssstsssssstsstssssssssstssssssssssssssstsssssssssssssssssssssssssssstssssstsssssssssssssssssssstsssssssssssssssstsssssssssssssstsssssssssstssssssssssssstssssssssssssssssssssssssssssssssssssssssssssstssttssssssstssstssssssssssssssssssssssssstssssssssssssssssstssssssssssssstssssssssssssssssssssssssssssssssssssssstsssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssstsssssssssssssssstssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssstssssssstsssssssssssssssstssssssssssttsssssssssssssssssssssssssssssssssssssssssssssstsssssssssssssstsssssssssssssssssssssssssssssssssssstsssssssssssssssssssssssssssssstsssssssssssssssssstssssstsssssssssssssssssssssssssstssssstssssssssssssstssssssssssssstssssssstssssssssssssssssssstssstssstssssssssssssssstssssssssstssssstssstssssssssssssssssstssssssssssssssssssssssstsssssssssssssssssssssssststssssssssssssssssssssssssssstssssssssssssssssssssssssstssssssssssssssssssssssssssssssstttsssssssssssssssssssssssssssssssssssssssssssssststssssssssssssstsssssssssssssssstsssssssssssssssssstssssssssstsstssssttsssstsssssssssssssssssssssssssssssssssssstsstssssssssssstssssssssssssssssstsssssssssstssssssssssssssssssssstsssssssssssssssssssssssssssssssssssssssssstsssssssssttsssssssstssssssssssssssstttsssstststssssssststssstststsstssssttsststssstsstssstsstssssssttttssssssstsssssssststttssststtsssttstssssssststtssstsstsssssssstttsssssssstsstttsstssssssstssstssssssssssssssssttssstsssssssstsssstssstssststssssssssttssstsssssttsttsssssssssssststsssssssttststssststssssssstsssstssssstssststssssssssststsssttsssttttttsssstststttsstsssssstsssstttssssstssssttsstttstttssstsssstsssssssstststtssssssssstsstttsttsttssssttttsssssstssstsststssstssssssssssssssssssssssstssstsssststsssttssttsttssssststssssstsssssssssststssssttstsssssssstsssssssssssssststssststtssstsssssssssssssssssstsssssstssttstsssssssssssstssststsstssssstssssssstttstsstssssssstsstsstsststtssssssststssstssssssssssttsssssttstsssstsssssssttstssssssttstsstsstststssstttssssttststsssssssttstssstsstsssttsssstsssssssssssssssssssstssssssttstssttssstssssssstsssssttstsstssststtsstsststtsssssssssstssttstsstsssstssstsssssstsssstssssstsstsstsssssstsstssttsttsssssstssssssssssstssssststsssssssstssssssssssssssttssssssssstssstssssttssssstssssssssststssssssssssssstsssssstsssssssssssttsssssssssssssssssssssssssssssssssstsssssssssttstssssssssssssssstssssssssssssstsssstssssstsstsstttstsssstsssttssssstttsstttsstsstsstsssssssssssssstsstssssstssssssssssststsstsssstsstssssssssssssssssstsssssssssssssssssssstsssstssssssssstsststsstssssssssssssttssssssssssssssssssststssssssssstsstssssstssssssssstsstsssssssssssstsssssststsssstsssssssstssssssssssstsssstststssssssssstsstsstsssstssssssssssssstssstssssssttssssststsstsststssstsstssssttssssstsssssssssttssssstsssssssssssssssssssssssssstssssssssssssssssssstsssssssssstsssssssssssstsssssssssssssssssssssssssssssssssstsstsssssssstsstsssssssssssssstsssssssssssssssssststssssstsstssssssssssssssssssstsssssssssssssssssssssssssssssssssssssssstsssssssssstsstsssssssssssssssssssssssttssssssssssssstssssssssstssssssssssssssssssssssssssssssssssstsssssssssssssstssssssssssssssssssssssssssssssssssssssssssssssssssssstssssssssssssssssssssssssssttsssssstssssssstsssstssstsstssstsstssssssssttsttsssssstsssststssssstssssssssssssssssssssstsssssssssstsssssssstssssssssstsssttssssssssstsssssssstssstttstsststsstttsssstsstssssstsssttssssssstsssststtstssssssssttttsstsssssstsstssssssssssssttsstststssssstssstssssstsssstsssssssssssssssssssssssssstttsssssssssssssssssttssttsttststtsssstsstsssssssssssssssstsststssttttsttsstsssstsssssttstsssstssssssssssssssssssssssssssttsssssssstsstssssssttststsssstssstsssttssssssstttsttsstsssssstsssssssssssssssstsssssssstssststssssstsssssssstsssssssssssssttssstsssssttssstssssssstsssssstssttssstssststttsssstsstssssssststtsssttssttssssssstttssttstsssssssssssstttssstsststsstsssstsssssstsssssstsstsssstsstssstsssstssssssssstsstsstsssststtsststtssssttsssstssssssttsssstsssststttsssststssststsssssttsstssssttsssttsstsssssttsssssssssssssstttststsststssssssssssstssttstssttsstsssstssssssttstsssssststssssstssttttstssssssssststsstsssttsssstssssstttsstsssssssstttsssssssstsssstsssssssssssssssststtsstsssssssssstsstssstssttstsstssststsstssssttsssttssssttssssssssstsssssssstsstssstssttssssssssstssttttsssstsssssttssssststsssssststtsssssstssstttssssssssssstssttstssssssssssssssstssssstssttssssssssssststtsstsstssssststsssststsssssstsssssssstssststssssssttsssststssssssssssssstsssttsstsssstsststssssstsststssssststsstsstssstsstsssssssssstsstssssstsssstttsssssssssttssststssssssssttstssssssstssstsstsssststsstsstsssssssstssststsststtssssstsstssstttsssstssstsstsstsssstsssssstssssstttssstststssstssstsststtsssstttsttssstststtssssssssssstssstssststssssssssssttssststtssttssssstsssssssstssstssssssstsssssstsssssststsssstsststststsstssssttssssstsstsstststssstsssstsssttssssstsssssssssssstssssttsstttssstsssssssssssststsstssssssststssstssstssssstssssssstsstssttsttssssststssssststsssttsssssstssststsssssssststtssttstssssststtssststsstssssssstssstsststsssssssttssssssssststtssssssssttsssssssttssssssssssstsstsssssttsssssssstsststttstststsssssssstsssstsststsssssstsssssststsstssssstssssstsssssstssttstsstsssssssssssssssssssssstttstsssssssssssssstsssttssssststssssssssssssstsssssssstsstssstsssssssssststsssssssstssssstttsssssssssssssssssssssssssssssststsssssssssssstsstssssttssstststssssssssssstssssssssssssssttsssssssssststssstssttsttssssssssssssssstssssssssssstssssssssssssststsssssssssstsssstsssssssstsssssssstsstssssssstssssttstsssttttsssstssssssstsssststsssstssssssssssssstsssssssststsssststssstssssssssssssstsstssssssstssssssstssssstsssssssstsssssssssssstssssstsssssssssssssstssssssstsstsssssssssssstststssssstsssssssssstssssssssssssssststssssssssssssssttsssssssssstsstststsssstssssstsssssstsssssststsstssssssssstsssssttstsssstsssststssstsssssststsstsstssstsssttstssssssssstssssssssssstssssssstsssstsssstsssssssssstssssststsssstsssststssstsssssstttsssssttsstsssttsssssstsssstsssssstsstssttstsstssttsstttssssstsssssssssststsssstststsssssssstsststssssssssststtssssstssstssssstssstttsstssssssstssssstsssssssstssssssstsssttssstsstttsssssttssssssssttsssststtsstssssssstsstssssssssstssssttsssssstsssssstsstsssstssssssssssssststssststsssssstsstsstssttsssssssststsstsssstssstssssstsssststststssssssssssstttststtssssttssssststtstssssssstssssssttstsstssstststtsssssstssstssststtsssssststtstssssssststssstttsssstststtttssssssstststttsssststsstststtsssssttsstsssstsssssstsststssstststttststsstssssssssttsssssssssssssstttsssstttsssssssssststssssssssstttssssttssssssssstttstsssststsssstssttttssstsssssssssstssttstssttssssstssssssssststtssssststtsttttssssssssstsstsstssssssssssttssttssssssststsstssssstssttsstsssststssstttstssttssssttstsssssssstssssttststtsstsststttsststtsssststtssssssssssstssstssssttsssststtssststsstsstsststssssssssssssstsssststsssstsstssstsssstssssssstsssstssststtsssstsssstsststtstsssssssssttssttsstsstttstttssstssstttststssstsssstsstsssssttssssssssssstsstssssstssssttsssssssssssssststtssttsssstssstsstssttssstssssstsssssssstssstststssstssssssstttssssstststssssstssssssststtsstststttssssttsssststsssssstsssstsssssssssssssssttsttttsstssssssssssttssttsssssttsssssssststssstsssssststtssstsssssssssstssssstttssssstsstsssstssstsstsstssstsststssssssssssstssstsssssssssttssttstttssstssssstsssssssssttsssssssssssssststtssssttsssssstssttsstsstssttstsssstsstssssssstssssssttsssststsssssstsstsstssssssstsssssssssssstssstsssssstttssssssssssssttstssssssstsssstttstsssssstttsssstssssstsststssstssstssststsssssssssttssssttsssssttssstssssssstssttttsssstssttssstssssssssststssssssssssssttstssssssssstsstssssssstssssssssstsssstsssststsststsssstsstssttssstsssstssssstssststssssssssssstssssssttsssssssssssssssssssssssssssssststsssssssssssstssssssssssstsssttssssssstsstssssssssssststsssssssssssssststssssssssstsssssssssssststssssssstsssssssssssssssssssstsssssssstssstsssssstsstsssssstssssssssstsstssssstttsssssssssssssssssstssstsssssssttsssssssstssssssssssstsssssstssssssssstssssssssssssssssstssssssssssssstssssttsssssstssssssstssssssssssssstssssssssssssstsstsssssssssssstsssstssssssssstssssstttssssssssssstssttsssstssssssssssssssssstststssssttsssssstsssststsssttssssstsssssstssssstssstssssssstssssssssssssssssssssssssssssssstsssssssssstssssssssssssssssssstssssssssstssssssssssssstsstssssssssstsssssssstssssttsssssssssststsstssttsssttstsstssssssssstssssstsssssssststsssssttssstsssssssssttsssssssssssssssssssstssssssssssssssssssssssssssstststssssssssstsssssssssssssstsssssstssssstsssssssssssssssssssssttststsssssssssssssssssstststtssssstststssssssstsssssssssssssssttssssssssttssstsssststssssssssssssssststssstssssssssstsstssssstsssssssssssssstssstsstsssssssssssstssssstssssssttsssssstsssttststsssssssstsssssststssssssssssssssssststsstsssssstsssssssstsssssstsssstssssssstsssssststsststtsstssssssstsssssstsssststssstttstssssstssstsssttsstsssssssssssttsststtsssssssssstsstsssststtstsstststtstsstssssssssssssssssttssttsssstsssssssstssssssssssstttsssststtssstssstssssssssssttsssstsssssststttssttssstsstsssssttstsstsssstsstsssttsstststttttsstssstttstsstsssstssstssssstttttsststststttssstsssstttststststttttssttsstssssttstssttssststssstssssststttsttttstttssststssttsststststtstsstttsstssssstsstttsssstttsstssstttsstsstststtststtsstttsttttsstststsssstttsssttttstttsstssttsststtsttsssttssssstssststsstsssttstssssttstststtsstssstssttssssssststssssssststttsssttsssttststtsssttttstststssstsssssstssssttsssssttstttsstttttssssstssstssststssstssstsssttsststssssstsstsssssststsstttsstssttststsststttsssstsssttsssttstsstsssttsstttstsstsststtsststssssssttsstssstttsstttsttsssttststssstssststtttststssssttststsstttsstsstsstttstsststtsssttstssstststsstttsssssttsstssstsssstsstsssttssssssssstssssstsstssttssssstssstsssssssttssttsstststssssssssstsssssstssssssststttsssstsssssttssststsststtttsttstssttttstttsssstssstststttssssssssstssststsstttststtsssttsttsttssssssstssststssstttttttttsssstssststsssssttststtsssstssstsssssttssssttsssststssssstsstttssssstststsssssstssssssttstsssssststsssstsssttsstsssttststsssssttttstststtsssstssssttsttstsssstssssssssttsttstsstsstsstttssstsssstssssssssststtsstssssttststtsttttssttsssssstssststssstsstsssssststtstssstsssttsstssssssssssstttsssssssssstttstststttsststsstssssssstsssttstsstsstttsssttsssssssstttttsssstsssssssssstssststssttssststttttssssssttsttsssssssssstsssssstttstsssstsssststssstsssstsssstssssstsssttssstsssttsssssssttsssssssttsstststssssstsssssstssststsssssstststsstsssstssssssstttssstsssstssststssssssstsssssssssstsssstssststssttssssstsssssttsssstsssssstsssssssssttsssssssssssssstststsssstsssssssstsstssssstsstssssssssssssssssssssssssssssstssssssstsssssssssssssstsstssssssstsssssttssttsssssssssstssssttsssssststssttssttssssssssssssststsssssssssssststssssssssssssstsssssststsssssssssssssssssssttssstssstsssssssttsssstssssssssstssssssssssssssssstttsssssssssssststsssssssssssssstssssssssststssssssstsssssssssssssssssssssssttsssssssstssttsssstsssstsstsssssssttsssssssststsssssssssstssssttssssstssssssssttstsstststssststtttstttttsttsttttstttttststtstsssttsssttttststtttttsssttttttsssstsststttssttstssttttttttttstttttttttstttsstssstssttttstttststtsttttttsstttsssststsstttstststttsssttststttttttttttstttststtstssssttssststtttstststsstttstsststssssttsttttttststtstssttttttsttssttsssttttttsttttssstsstttttstttststssttsttttttsttttsstssttsttssttttttssssttstsssstsstststsststsststsssssssttssssttssssttssttsttstttttsststtttttsttsstttttttsststtssttsssttsssttsstsststtststtttttstttttsststtsttstttststststttsssststtttststtssstttstttststtttstsssststttttststtttssststttttttssttttsttssstttttstttssttttssstststtttttssttssstssttsssttsststtststststttttttstttsssttsssttstssstststssttssstttstttsttttstttssttststtsstttstsssttsstttsttttsttstttssttttttsttttsttsstttsttstsstststtstststtttsttttttsttttstttsttstttsssttsststtsttssstsstssststtstttstttstssttttsttttsssttssststsssttsststttssstsstsstttstssstssssttsttssttstststssststttsstssttttttsssttttststttstttstttssttsststtstttssssstststsstssstttttstsssstssttttststtssttsttttsttttttssttstsstsstssstttstssstsssstsssttttstsssststtsstttssssttssttststtttsttsttsttsstststtttssttsststsssttttsssststststtststttttstttstssssttsstststsstssstttstttsstttttsttstsstttttttsttstttsststttsttststtsststtttttttttststsssttststtstttsttstststtssssststsstsststtstststttttststsststststtttsttsstsstssstsstttsttttsststsssstttttsttstsststssstsstttsssttststssststtssstsstttssstttsststssststtststtttssssttsttssttsssstssssstsstttsstssttssssststsstttsssstssstsstsstsstsssstttsssstssssststsssssssststtsttttssssssstsstssstssssssttttstststsssttststtttsssststtssststtsttsssstsssstsststsssttssttssstsssttsstssststtsttsssssssttttsssttstsssttsssststssstssssssssssststtsssststtttsstsssstssstssstsssssttstsstssttsssssttsttttsssstststtttsttttsststsstsssttssssststtstssttststtsttsssststsstssststssssssstssssssttstssssssststtssssststsssststtsstssstssssssstsstttsttsstststsssttssssstsststssststststssssssstsssssssssttttsssststtssssstttsssstsssttttttststssstttsttstttttstttttssstttttttttttstttstststtttttttsttstttstttttttttststtsstststsssssttstttsstttttttttttttttttsststtsttttststttttststtttttttttststsstssststtsstssttsstttsttttttttsttsttttsttsttttsststtstttsttstssttttttstsstststtttttttttttsttttststtttttssttsttstttsstttttttttttttsttstttssttttttttttttstttttttttsttssssttttttstttttttstttttstttttsttttssttstststtttststststtstttttssstttssststtttttttsttttsttttsttsstttttttsstttttttsttssttttttssttttsstttsttttststttssttttttttttsttstttttsttttssstttsttstssttssststtttstsstttttsttttttttststttttssssstttsttttttttttsststttsttttststtttttsttsststttttttstssttttsstttsttsttsttssststtttttsttsttttsttttttstttttstttstttttttstttssttttstttttttsssttsstttttttttstttssstttttttssttttststtsttttttttttttstttststttttttsttstttsttttttttttttststttttttttttttttttsttttttttsstttttttttttttttsstttststtsttsttsttsttttsttststssttsttttststssttsttssttssttsttsstttttttsttttsttsstttttttsttsttstsststtststttststtttttttsttsttttsttttsststtssttsttttststttttttsttttsstttssttstttssttstsststtttttttssstststttttttsssttstssttttttttsssttssttttttssttsttstsssttttttssttssstttstttsttttttsttsttssststtttstttstststtttssssttttttsstssttttstttttssttttttsttttsststttttttttsttttttttttsttttsttttttttstssttsttttttststtssttttttstttstttsttttsststtttssststtststtttsstttttttttttttsssttsttttttttsssstttsttstttttttttttttststtsstsstttststtsttsttttttstttttstsstsssssttttssstttttsttstttstttssssttsssttttststsststsstsssttttsttssttsssttttttsttsssttsststttsttttsttttttttssttstssttttsstttsssssttttttssssttsttsstttststttssststsststtststtsssttsttsstttttsttssttttstttttttsststtstsssstssttstttstssttttssssttssttstssstsstttttttttssttssttststsststttstttsssssstttstssttsststssttttstssststtstttstttsttstttttstttttsttststsssstsssstttttttttttttsttttstttttssstssttssssstsststtsttsttttstttssttssststtststtstsststsststttssttsstsssttttttsttsttsttttttssssststsstttsssttttssstsstttststtststssssssstttsttsttsttsststststsssttsststttsssttststtstttttstsststtttttttttttsssttsttsstttttsssttsttsttttstttstttttsttststttttsttsssttttsttttsttttstttssttstsststsssttsststtsttttsttttttstttsttttttttstttstttttttsttttttttstttsttttstststttsststtttttsststttttttsttttttttstststsstsstsstttssttttttttttsttsstttttttttttttststttststtstttstttsttsssttttttsstttttstttsttsttsstttttttststttstttststttttssttsttttststttttstttttstttsttstttttttstssstttttttttttttststttstssststststssttsttttstttttttttsttttttsttstssttttttttttssttttttttttttsstttststssttttttttssttsststtttttttttstttttsstttttsttsttttsstsstttsstttstttttttssstttttttttttsstttttststttttttsttsstsstttttttttttstttttttttttsttsttttttttssttttstttttttststtsttsttttttsttttsststtttttstsststtsttttttstttssttststtttttstttttsttstttstttstttsstttttsssssttstttststttttstttststststtttsttttttttttsstsstttststttttttsttttttssttststtttsttstttttsstttttttttttttsstttttststttttssttstststtssttssttsttsttttttsttsttttttttssstssttsstttttttttsttsttssttttttssttstttttstttsttsttttstttttttststtstststttttstttttstttststtsttttttsttsstttsststttststtssstsststttttttttttststtsststtsttsssttttsttttststttttttstssttstttsttssssstttttttttsttsststttttstttttttsttsttsttsstttttttttstttstttststtsttttsstsstttsttttttsttttssttttstssttttttttttsttttttstttststttsttstttttstssttsttttssttstttttsttttststtttsttttstttsttstssstttttttttttttsttttttstststttsttstttttttsssstttstttstttttttttttsttttttstttssssstttttttsststttsttttssttsstttttttttssttttststttttttttstststttstttttstttstttttsssttttttttsstttsttttttsttsttsssttstttstttststtttttttttsttstssttssttttstttststttttssssttstststttttstttsttttttttsttstsstssttttttttsttttstttsstttttsstttttstttsststststtttttttttttttttsttsttsststtttsttstttttttstsststtttstsstttttstttttsssttttttssttttsstttttttstttstststttstssttttttsttttttsttsttstttttssstssttsstttttttttttssttssttttttstttssttstttttstttttttsttttttsststtststssttststttststststtttssttttssttsstttttsstttststtsssttsttsttttstttststtttststtttttstttttttttttttsttttttttsttttstsstttsstttttsttttsttsttttstttttttstttssttttstttsttttsstttttsstttssttstsssttttttttstttttttttsttsttttttsttttstttttttstsstttttttttsstttttttttttttttsstsstttttttttttttttttsttstttsstttttttttttttttstttttttttttttttsstttttttttttttstsstttttttttttttsttttttttttttttttttststtsttstttsstttttttttsstssstttsttsstttstttttstttttsssttsttttsstttststtttttttststtsttttttttttstssttttttttstttttstttttttsttttttstttttsttttstttsttsttsssttttsttttttttttttstststtttttsttststsststtsttttstttttttsttttttsststtstttttstttstttttttststtttstststtsstttttsttttsttttsttttttttsttsttssstttttttttttttststttttttsttttsttttttstttsttttstssttttsttttsttttttsttsssstttstttststtttssttttssstttsttttttststttttttsssttttsttssttttstttttsttssstttsttttssttttttssttstssttsssttststtttstttttttttsttttttstttttttsstttttttttstttststtttstttststttstttttttttttttttttttstttsssttttttttsttsttstttsttstsstttttttttttsstttttstttttststsststtsttttttsttttsttttttttssttsttttttttttttsttsssttttstttssttstsssttttttstttststttsstsstttsstttsttsttsstttttsttssstttsstttstttttsssttttsstttstttttttsttssstttttssststttsttstttsssstssttttttttstttsstttssttttttsstststtsttsssttttsttsttsttttttssttsttttttstssttsttsstsstttsstttttststttstttttstttttttttstttttsttsttttttttssssstttsttstttststtstttttssttttstttsttststtttttttttttstttttttttssttssttttsttssttstttttsttttsttttttttttttttttttssttstttstttttttttttstssstststtttsststttttttsstsstttttstttttttstttstttttttttttsttsstttsttssttttstststttstttttttttststtsttststststtttttsstttttttststssstttsttsstttsstttttttttttssttttttsstttttsttttsttstttstttttstttttttstttsttttstttsstttsttttsstsststtstttststtsttttttsstttttssttsstsstttttttttststttsttsttsttttttttttsttsttsststtttttttttttttstttttttttsssttsttstttttststtttsststttstttttttttssstttststtstssstttttstttstttststtttstttttstsssttsttttttttttttsttssttstsssttsststtsstttttttstttststttssssstsssststttttststttttsttttttsttsstststtsttsstttttsststttstttststtssttttttstsssttttttststtttsststtttttttststttttsttttttttttttttttttttttttsttstttttsssststttstttttssttttstttttttttstttttstttssttttttttttttttttttttttttttstttttsttttttttttttttttttttttttttttttttttstttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttsttttttttttttttttttttttttttsttsttttstttttstttttttttttsssttsttstttttttttttttttttttttttttttttttttttttttttttttttttttttttstttttttstttttttsttttttttttttttttttttttstttttttttttttstttttttttttttttttttttttttttttttttttttttttttttttttttstttttsttttttstttttttttttttttttttsttttttttttttttttttttttttttttttsttttttttttttsttsttttsttttttsttttttttttttttsttttttttttttttsttttststttstttttttttttttttttttttttttssttttststtttttttttttttttttttttttttttttsttttttttttsttttttttttttttttttttttttttttttttttttttttstttsttttstttttttttttstttttttttttttttttttsttttttststtsttttstststttttttsttttstttttttttttttttttttttttttttttstttttsssttttttttttttttttttttttsttttttttsstttttsttttttttttstttttttsttttttttttttttttttttttsttttttttttttttttttttttttttttsttttstttttttsttttsttttsttttttttttttttttttttsttttttttttsttttssttttttsttttstttttttttsttttttttttttsttttttttstttttsttttttttttsttttsstttttsttstttsttttsttttttttttststtssttttsststtssstttttttttttsttttstttststttttttstttsttttttstttsstttttststtttttttstttttstttttttstttststtttsttstttttsttttststttttttsttttsttttttttttttttttttsttttstttstssttsttttttttttttststtttttttttstttttttstttssttttstttsttststttstttstttttttttstttttsttttttttttttsstttsttttttttttttttstttttttttsstststtstttstttttttttttttttttststtstttstttsttttstttssttttttsttttsstssttttstttttstststtttttststttstttsttssstttstttttsttststtssttttsstttsttttttststtttstttttttttsttttstsstttsstttststtststtsttsttststtttststtttstttsttttttstttttsstttststtttttsttssststtstttsttttstttttsttttsttsttsttststtttttttsststttstsststtsttttttttttsttstttttstttttsttttssstsstttttttttttsttstttttttttttttttttttsttsttsttttttttsttttttsttstttttsttttststttsttttttttttsttstttttststststtttttttttttstttttsttstssttsttttttsttssttsststttttsttttstttttttststtstttstttstttttttttttttssstttttttststttttsssstssttttttstttttsttstttsttttttsststtssttttssttttsstttttstttsttttsttstttsttttttttsstttttssstttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttstttttttttttttttttttttttttttttttttttttttttttttttttttttsttttttttttttttttttsttttttttttttttttttttttttttttttttttttttttttttttttttttsttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttsttttsttttttttttttttttttttttttttstttttttttttsttttttttttttttsttttttttstttstttstttttttttttttttstttttttttttttttttttttttttsttttttttttttttttstttttttttttttstttttttttttttsttttttttttttttttttttttttttttttttsttttttttttttttttttttttstttttttttttttttstttttttttttttttstttttttttsttsttttsttsttttttttttttstttttttsttttttttststtstttttttsttttttttttttttsttttttsstttttttttttttttttststttsttttttstttttttttttttttsttttsttssttttttttttsttttsstttttttttsttttsttttstttttttstttsttttstttttttttttttttttttttsttsttttttttttttttttttttstttttttttttttttstttttststtsttsttttsttttttttstttttttttttttttsttttttstttsstttstttttststtttttttststtttstttttsttsttstttsttttttttttttstttsttsttttttttttttttttttttttttttttstttstttttttttstttstttstsstttstttttttststttttstttttttsttttttsttttttttttstttttttttttttttttsttttttttttttstttttttttststttttttttttttttttttttttttttttttttstttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttstttttttttttttttttttttttttttttttstttttttttstttttssttttttttttttttttttttttttttttttttttttsttttttttttttttttttttttttttsttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttsttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttsttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttsttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttststttttttstttsttttttttttttttstttttttttstttttttttssttttttttttttttttttttttttttttttttttttttttttttttttttttttttstttttsstttttttstttttttttttttttttttttttttttstttttttssttttttttttttttttttttttttttttttttttttstttttttttttttttttttttttttttttttstttttttttttttttttttsttttsttttttsttttttttttstttstttttttttttttttttttttstttttttttttttsttttttttttttsttttttstttttttttttttttttstttttttttttsttttttttttsttttttttttttttttsttttssttttttstttttttttttttttttsttststttttttttttttttttttttttttttttttttttttttttttttttttttsttttttttttttttttttttttttttttttttsttttttttttttttttttttsttttttttttttsttttttttttttttttttttsttttttstttttstttstttttttttttttttttttttttttttstttstttttsttttststttttttttttttttttttttsttttssttttttttttttttsttttttttttttttttttttttttstttststttttttttstttttttttsttttttttttttttttttttttttttttttttttttttttttstttttttttttttttttttttttsttttttttttttttttttttttttttsttttttttttttttttttttstttttttttttttttttttttttstttttttttsstttttttttttttttstttttttttstttttttttttttttttttttttttttttttttttttttsttttttttttttttttttttttttttttttttsttststttttttttsttttttttttttttttttttttttsttttttttttttttttttttttttttttstttttsttttttttttttttttttttttttttttttttttttttttsttttttttsttttttstttttttttttttttttttttttttsttsttttttttttsttttttttttttttttttttttttttttttstttttttttttsttttttttttttttttttttttttttttttttttstttttttttttttttttttttttstttttttttttttttttststtttttttttttttttttttstttstttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttstttttttttttstttttttttttttttttttttttttttttttttttttttsttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttstttttttttttttttttttttttttttttttttttttttstttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttstttttttttttttttttttttttttttttttstttttttttttttttttttttttttttttttttttttttsttttttttttttttttttttttttttttttttttttttttttsttttttttttttttsttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttsttttttttttttttttsttttstttttttttttttttttttttttttttttttttttttttttsttttttttttttstttttttttttttttttttttttttsttttttttttttttsttttttttttsttttttttttttttttttttttttttttttttttttttststttttttttttttttttttttttttttttstttttttttttttttttttttttttttsttttttttttttttttttttststtttttttttttttsttttstttttttttttttttttttttttttttttsttttttttttttttttttttttttttttttttttttttttsttsttttttttttttstttttttttttttttttttttttttsttsttstttttstttttttstttttttttttttttttsttttttttttttttsttttttstttstttttttttttttttttttttttttttttttttttttttttttsttttsttttttsttttsttttsttttttttttttttttttttttttsttttttttttttttttttttttttttttstttttttttttttttttttttttttstttttstttttttttttttttttttttttttttttttttttttttttttttttsstttttttstttttttttttstttttttttttttsttttttttttttttttttttttttttttttsttttttttstttttttttttttttttttstttttttttttttsttttttttttttstttttttttttttttttsttttttstsstttttttttttttttttttttttttttstttsttttttttstttttstttttttttttttttttsttttstttttttttttttttttttttttstttttttttttttttttttttttsttttttttttttttstttttttstttttttttttttttttstttttsttttttttttttttttttttttttttttttttttsttttttststtttttttttststttttttttttttttttstttttttttttttttttttstttttttttttttttttttttttttttttttttstttttttsttstttttttstttttttttttttttstttttttttstttttttssstttttttttttttttttsttttttttttsttttttstttttttttttsttttttttttttttsttttttttttttttttttttttttttsstttttttttttttsstttttttttstttttttssttsttttttttttttttttttttttttssttttttttttsttttttttttttsstttttstttttttttttttttstttttttttttttstttttttttttttttttttttttttttttttstttttttttttttttttsttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttsttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttstttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttsttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttsttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttstttttttttttttttttttttttttttttttttttttttttttttttttttttttstttttttttttttttttttttttttttttttttttttttttttttsttttttttttttttttttttttttttttttttttttttttttttttttttttsttttttttttsttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttsttttttttttstttttttttttttttttttttttttttttttttttttttttttttttttttsstttttttttttttttttsttttttttttttttsttttttttttttttttttsttttststttttttstttttsttttttttsttttttttttttttttttstststtttttttttttttttttttttttttttttttttttttttttttttttttttstttttttttssttttttsttttttttttttttttstttttttttttttttttttttttttttttttttttttttttttttttsstttttttttttttttttttttttttttttttttsttttttttttttsttttttttttttttsttttttttttttstttttttttttsttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttsttttttttttttttttttttttttstttttttttttttttttttttttttttttttttttttttttttttttttttttttttttstttsttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttstttttttttttttttttttttttttttttttttttttttttttttttttttsttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttstttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttsttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttstttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttsttttttttttttttttstttttttttttttttttttttttttttttttttttttsttttttttttttttttttsttttttttttttttttttttttttttttttttsststtttttttttttsttstttttttstttttstttttttttttttstttttttttttstttttttttttttttttttttttstttttttttttttttttttttttststtttttstttsttttttttttttttttttttstttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttsttttttttttttttttttttttttttttstttttttttstttttttttttsttttttttttttsttttttttttttttttttttttttttttttttttttsstttttttttttttttttttttttttttttttttttttttttsttttttttttstttttttttttttttttttttttttttttttttttttttttttttttsttttttttttttttttttttttttstttttstttttttttttttttttttttttttsttsttsttttttttttttttttttttttttttttttttttttttsttttstttttttttttttttttttsttttttttttttttttttttttttttttttttttttttttttttttttttststtttttttttttttttttttttttttttttttttttttttsssttttsttttttttttttttttttttttttsttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttstttttttttttttstttttttttttttttttttttttttttttttttttttttttttstttttttttttttttttttttttttttttttttttttsttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttsttttttttttttstttttttttttttttttttttstttstttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttstttstttttttttsttttttttttttttttttsttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttsttttttttttttttttttttttttsttttttttttttttttttttttttttttttttttstttttttttttttttttttttttttttttttttttttttttttttttttttttttttstttttttttttttttttttttttttttttttstttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttsttttttttttttttttttttttttttttttsttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttsttttttttttssttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttstttsttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttsttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttsstttttttttttttttttttttttttttststttttttttttttttttttttttttttttttstttttttttttttttttttttttttttttttttttttttttsttttttstttttttttstttstttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttstttttstttsttttttttttttttsttttstttttsttttttttttstttttttttttttttttttttttttttttttttttttsttttttttttstttttttttttttttttttsttttttttttttttttttttttttttttttttttstttttttttttttstttttttttttttttttttttttttttttttttttttttttttttsttttttttttstttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttstttttttttttttttttttttttttsttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttsttttttttttttttsttttttttttttttttttttttttttttsttttttttttttttttttttttttttttttttttsttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttsttttttttttttttttttttttttttttttttttttttttstttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttsttttttttstttttttttttttttttttttttttttttttttttttttttttsttttttttttttttttttsttttstttttttttttttttttttttttttttttttttttttttttstttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttststttttsttttstttttttttttttttttttttttttttttttttttttsttttststtttttttttttttstttttttttttttttttttstttttttttttttttttttttttttttttttttssttttttttttttttstttttttttstttttttttstttttttttstttttttttsttsttttttssttttttttsttttttttttsttttttttttststttsttttttttttttttttttttstttttttttstttttttttstttttttttttttttstttttttttstttttttttstttttttttttttttttttttttttstttsttttttttttttttttttttstttttttttttttstststsstssstttttttttttttsttttttttsttttttttttstttttttttttttttttttttttttttttttttttttttttttsttsttttttttttttttttttttttttttstttttttttttttttttstttttttttttttttttttttttttttttttttttttttttttttttttttttstttttsttstssttttttttttttttttttttttttttttttttstttttttttttttttttstttttttttttttttttttttttttttttttttttttststttttttttttttsttttttttttttttttttttttttttttsttttttttttttttttsttttttttttttttttttststtttttttttttttttttsttttttttsttttttttttttttttttsttttttttttttttstttttttttttttttttttttttttttttttttttttsttttttttttttttttttttttttttttttttttttttttttsstttttttttttttttttttttttttttttttsttsttstttttttttttsttttttttttttttttsttttttttttttttttttttttttttsttttttttsttttttttttttttttttttttttttttttttttttssttttttttttttttttttstttttttttttttttttttttttttttttttttttttsttttttttstttttttsttttttttttttttttstttttttttttttttttttttttsttttttttstttsttsttttttttttttttstttttttttttttttttttttttttttttttttttttttttstttttttttsttttttttttttttttttttttstttststttttsttttttttttttttttttttttttttttttttttttttttttttttttttttttttstttttttttttttttttsttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttsttttttttttttttttttttstttttttttttttttttttttttsttttttttttttttttttttttttttttttttsttsttttttttttttttttttttttstttttttttttttttttttttttttttttttttttttttttttsttttttttttttttttttttttttttttttstssttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttstttttttttttttttttttttttttttttttttttttttttttttttttttttttttsttttttstttttttttttttttttttttttttttttttstttttttttttttttttttttttttttttsttttttssttttttttttttttttttstttttttttttttttttttttttttttttsttttttttttttsttttsttttttttttttttstttttttttttttttttttttttttttttttttttttstttttsttttttttttttttttttttttttttttttttttstttttttttttttttttttttttstttststtttttsttttttttttttstttttttttttttttttttttttttttttttttttttttttttsttttttttttttttttttttttttttttttttttstttttttttttttttstttssttttttstttttttttttttsttttttttttttttttttttttttttttttttttttttttttttttttttttttstttttttttttttttttttttttttttttttttttttsstttttsstttttttttttttttttttttttttttstttstttttsttttttttttttttttsttttttttttttttttttttttttttttttttttttsttttstttttttsttttttttttttttttttttttttttttttstttttttttstttttttttttttttttttttttttttttttttttttststttttttttttttttttttttttttttttttttttttttttttsttttttttsttttttttttttttstttttttttttttttttttttttttttttttttttttttttstttttttstttsttttttttttttttttttttttttttstttttttttttttttttttttttttttttttttsttttsttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttstttttttttttttttstttttttttttsttttttttttstttttttttttttttttttttttttttttttttttttttstttttttttssttttttttssttttsttttttttttttttttstttttttttttttttsttttttttttttttttsttttttttttttttttttttttttttttssttttttttttttttttttttttttttttttttttststttttttttttttttttttttttttttttstttttttttttstttstttttssttttttttststtttttttstttttttsttttstttstttstttttttsttttsttttttsttttsttttttttttttttttttttttttttttttttttttststttttttttttttttttttttttttttttttttttttttttttttstttttttstttttttttttttttttttttttttttttttttststttttttttsttttttttttttttttstttttttstttttttttttttstttttttttttttttsttttsstttttttttttttttttttttsttttttststttttttttttttttttttttttttttttttttsttstttttsttttsttttttttttttttttstttttttttttttttttttssttttttttttsttstttttttttttttttttttsttttttttttsttttttttttsttttsttttttttttttttttttttttttttttttttttttttttttttttststtstttttttttttttttttttttttttttttttttttttttttttttttttttttsttttttttttttttttttstttstttttssstttttttttttttttttttttttstsstststtttttttttttttttttttttsttsttttttttttttttttstttttttttttttttttttttttttttttttttttttttttttttttttttttttsttstttttttttttttttttttttststttttttsstttttttttttsttttttststtttttttttttttttttttttttsttttttttttttttttttsttstttttttttttttttttttttttttttttttttttttttttttstttttttttttttttttttstttsttttttttttttttttttttttttttttttttttttttsttttttttttttttttttsttttsttsttttttttttttstttttttttsttsttttttttttttttttttttttttttttsttttttttttttttttttttttsttttttttttsttttttttsttttttttsttttttttttststttttttttttttttttttttstttttttttttttttstttttttttttsttstststtttstttttttttttttsttttttttttttsttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttsttttttttttttttttttttttstttttttttttttttttststttttttsttttttttttttttttttttttttstttttttttttststttttttttttttttstttttttttststtttttttttttttttttttttttttttttttttttttttttttttsttttttttttttttttttttstttttttttttttttttttttttttttststttttttttsttttttttttttttstttttttttttttttttttttttttttttstttttttttttttttttttttttttttttttttttttttttttttttttttsttttttttttttttttttttttttttttttttttttttttttttttttttttttttstttttttttttttttttttsttttttttttttttttttttttttsttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttstttttttttttstttttttttstttttttttttsttttsttstttttttttttttttttttsttttttttttttttttttttsttttttttttstttttssttttsttttststtsttttststtttttstttttttttttttttttsttttttttttsttttstttttttttttttttttttttttttttttttsstsstttttststtttttttttttttttsttstttsttttstttstttttttttttttttttttttstttttttttttttttttttttttttttttttstttststsssttttttttttttstttttttstttttttttttttttttttsttsttttstttttttttstttttttttttttttttttttttttttttttstttstttttsttttttttttttsttttttsstttttttttttttttssttstsstttttsttttttttsttttttttttttstttttttttttttttttttstttttttttttttstttttttttttttttttttttttttttttttsttttttttttttttttttttttstttsttstttttttttttttttttttttstttttsstttsttttttttttststttttttttttttttttttttttttssttttsststtttttttttttttttttttssttttttttttttstttttttttttttstststttsttttsttttttttttttttttttstttssttttttststttttsstttttttttttttsttttttttsttttttttttssttttttttttttttttttttstttssttttttttttttttsttttttttsstttsttstttttsttsttttttttttttttttttttststttttsttstttttttsttttttststttttttttttsttsttttttttsttttstttttsttttttttttttttsttttttttstttststtttttttsttttttttttttstttttttttttstttsttttttssttttttttssttttttttttssstttsstttttttttttstssttttttttttttttttttttttstttttttststttsttttttttttstttttttttttttttttttttsttttttttttttttttttstttttttttttttttttttstttttttststttttttstttttsttttstttttttttsttstttttsttstttsttttttstttttstttttsttttttttttttttttttstttstttttstttttttttttttttsststtttttttsttttttttsttttttttttttttstttttttssstttstttssstttttstttstttttttttttttttsstttttttttttttttssttttttsttsttsstttttttttstttssttttsttttsttttstttttttsttttttttstttttttttttttttttttttttttttttttstttttsttttttttttttsttttttttttttttttttttttttttttttttttsttstttttttststtttttstttttttsstttttttttttttststttttttststttttsttttttttttttttttttttststtttttstttttttttttttttttttttttttstttttttsttsttttttttttttttttsttttttttttttttststtttttttttsttttttttttttttstttttttttttttttttttttsttttttttttttsttttstttttstttttttttttttttsttstttttttttttttttttttttttsttstttttttttttstttttttttttttsttsttsttttttsttttttttttttstttttttttttttttttttttttttttttttttttttsstttttttttttttttttttssttttttttstttttttttsttttsttsttttttttttttttstttttssttttsttttttttttttttttttttttttttsttttstttttttttststtttstttttttttststttttttstttttssttttttttttttsttttsttttttttttttsstttttttttttttttttstttttttttttsttsttttttttttstssttttttttttttttttttstttttsttssttttttttttttttttttttsttttsststttttttttsttttttsttttstttttttttttsttststttttsttsttsttsttstsstttttttttttttsstttttttttttttsttttttttsststttttttttsttttttssttssttttttttttsttsttttstttstttttssttttsttttttsstttttttttsttttttttttsttttttttttstttstttststttstttttststtttttttttttttttttstttstttsttttttttsssttstsstttttttttttstsstsstttttttttttttsststsstttstttttttstttttttttttttttttttsttttttttttttttstttsttstttststtttttttstttttttttssttttttsstttttttttttstttsttststttttttttttttttttstttttttttttttttttttttttttststttsttstssttttstttttttttttttttttststtttttttttstttstttttttttstttttttsttttsttttttttttttttttttttttttsttttttstttttttttsttsttstttttttttttstttttttttstttttttttttttttsttttttttttttttttttsttssttttttstststtsttttststttttttttttttststttttttstttttttstttstttttsttttttttttttttttttttttttttsttsttttttttttttttttttttttsttsstttstttttttttstttttsttttttttttttttsttstttttttttttttttttttttttttttttttttttstttttttttsttttttttttttttttsttsttstttttttttttttttttttttttttttttttstttttttttsttttttssttttsttttttttstttstttsttttttsttttsttttttttttsttstttttttstttttttttttttttttttttttttttttsttttssttttttttttttttstttttttttttttttttttsttttttttttttststtttttttstttttttttstttttttttttttttttttttttttttttttssttttttttttttttttttttststtttttttttttttttstttstttttttttttttttstttttttttsttttttttttttttstttttttsttttttttttsttttsstttstttttttttttttttstttttttsttttttstttttttsttttttttttttstttttttttttttttttttttsttttttttttttttttttttttttsttsttttttttttttttsttttstttttttststtttttttttttttttttttttttttststttttttssttttttstttstttttttttttttttttttttttststtttttttttssttttstttstttttttssttttttstttttttttttttttttsttttttttttttttttttttttttttttstttttttttttttttttstttstttsttttttttstttttttttttsstttttttttsststtttttstttttttstttsttttstttttttttttsttttsttttttttttttsttttttstttttstttttstttttstttttttststttttttttttttttsststttttttttttttttsttttttttttttttststtsttttttttttttstttsttsttttsttttttttttttststtttttttttstttttttsssttttttttttttsttttstttsstttsttttsttttttttttstttttttttttttttsttstttttstttttttttttttttstttsttststttttstttttttttttttttttstttttttsttsttttsttttttsttttttttttttstttttsttsttttstttttttttttttttttstttttstttttsttsttstttstttttttttttttttttstttsttttstttttttttttttttttttttttttsttstttttstttttsttstttttstttttttttttttsttttttttstttttttttttttstttttstststststtttttttsttttttttsttttttttstttttsttstttttttttttstttsttstttttttsttttttttttttttsttttttttttssttttststtttttsttstttttttttttttttttstttttttstttstttttstttttttttttsstttttttttttttttssttttttttsttttsttttttttttttttstttttttttttsttstttttttttttttsttsttttttsttttttttttttttsttttttsttttttttttsttttttttttttttttttttttttttttttttttttttsttttssttttttttsttttttttttsttststtttttttttttttttstttststttstttstttttstttttttssststtstttsttttstssttttststttttssttttttttttttsttsttttttttstttttttttttttttttttttttttttttttttttssttttttssttttttsttttttttsttttttstttssttttttttttstttstttsttttttttttststtttttttttttttttstttssttttttssttstststttttttttsttsttttttsttttsttttttttstttsttsttttttttsttttttstttttttssttttsttttsststtttttttttsttttttttttsssttttttttttttsttttttttttttttttstttttttttttttttststtttttttttttsttttsttttsttsttstttststtttstssttttttttttttttttttstttttttsttttsttsttttsttstttststttttttttttttttstttststttttttttttttttttststtttttttstttttttttttttttsttttttstttttttsttstsssststtttsttsttttttttttttttstttttttttttttttttttttttttttttttstttsttttttttttsttsttttttttttttttsttttttttttttsttttttttsttttsttttstsstttsttttttttttttttttsttttttttttttsttstttttttttttttstttttsttttttsttttsttttttttttsttttttsttttttttttttttttttttttttttstttttsttttttttttttsttttttttttsttttttsttttttttsttttttttttttsttssttttttttttttssttttttttttttttttstttttttttttttttttttttttttsttttsttttttttstttsstststtttttttttttstttttttttttttttstttttttttststttttttttttttttsttsttttstttsttttstttttttststtsttttttttstttttttttstttstttttttttttttsttttttsttttttttttsttttstttttttttttttsststststttstttstttttttttttttssttttsttttttttttttttttsttttttttstttstttttttsttttstttttttttttttstttttttttttttttttttstttttttttttttttttttttttttttstttttttttttttttttttttttttttttttttttstttttttsttsttttsstttttttttstttttttttttttstttttttstttttsttttttttttstttsttttttttssttttttttstttttttttttttttttsttttttttttttstttstttststttttttttstssttttttttsttststststtttstttststtttttststtttttttttttstttttttttttttttstttsttttttttttttttsststttsstttsttttttttsttttttttttttsttttstttstttttsttttttttttttttttstttttttststtttttttttttttttsttttttttttttttttttttttstttstttttttttttttststttttttttttttsststtttttstttttsttttttttttttttstttsttsststtstttttttttstttssttttttttstttttsstsstttttttttttsttttttttstttttttstttttttttttttttttststtttttttttttttttstttttttttttttsststtttttssttttttsttsttsttttttsttttststttssttttttstttsttttttttssttttttttttttsttttsttttttttttststssttsttttttstttttssttttttsttttsttttttttsttssstttttttttttttttttttttttttsttttststttttttttttsttttttttttttststsstttttsssttttttttttsttttttstttttttsttttststttststttsttsttttttttsttttttststttttttstststttttttttttttttttsttsttsttttttttttttstttttttstttttttttsttttttttttttttttttttttttttttttttstttstttttttttttststtttsttttttsttsttttsttsstttstttttttttttttttttttttsttttssststststttsttttsttststtsststtttttssttttsttsttssttttsttttstssttttttttttttttttttsttssttttttttttttstttttttststtstttsttsttsttttttttttstttsttttttsttttttttsttttttttssttttttttttttsttttttstttstttttttttststtttttstststttttttttttttttttttttttsttttsttttttttttttsttttsttsttsstttttttsstttttttttttsstttttttttttttttttstttststtstttsstttttttttttttttttttttttttsttsttttttssststtttttttsttttttttttstttttttstttstttttsttttttsttttstttttttttttttttststtttttttttttttssttttttttttsttttssttttttttsttttttttttttsttttttttttttsstttttttsttttttttttstttttttttststtttttttttttttttttttsstttststtstststtsttttsstttttttttttttttttttttttttsttttsttsttttttttttttttstttsttstttstttsttttttttttttttttsttsttssttttsttttttttttsttsttttttttttsstsstststtttttsststtttsttttsstttstttsttttttttttttttttttttttttttttstttttttttttttttttttttsttttstttttsttttttttttsttttttttstttttttstttttttttttsttststtttttttttstttttttttttsttsttttttsttttttttttttttsttttttttttttsttttttttttttttttttttttttttsttttttttttttttttttttttttttttttttttttttsttttttttsttsstttttttsttttttttsttttttttstttttttttttttttttttsttstttttttttttttstttttttttttttttttttttsttttttttttttttttttttttttsttttttttttttttttttttttttttttttsttttttttttttttstttttttsttttsttttttttttttstttstttttttttttttttttttttttttttttttttstttttttttttttsttstsstttttttttttttttttttstttttttttttttttttttttttttttttttttttttttttttttttstttttttttttttstttttsttttstttttttstttttttttttttttttttttttttttttstttttttttttttttttttttttttttttttttttttttttttttttttttttstttttttttttttttttttttttttttttttstttttttttttttttttttsttttttttttttttttstttstttttttttttttttttttttttttttttttttttttttttttttttttttttttttsttttttttttttttttttttttssttttttttttttttstttttstttttstttttsttttsttttttttttttssttttttttttttttsttttttstttstttsttsttttttttttttsttsttttttttssttstttttttttttttttttttsttsttsttttttttttttttststtttttttttttttttttttttttttttttttttttttttttttttttttttstttssttsttttsttsttttttttttttttttttttttttstttttttsstsststtttttttttsttttttttttttttttttttttsttttttttsstttttttttttttttttttsttttsttstttttttsttttttttttttttttttttttstttttttttttttttttttsttsttttttttttttttttttttsttttttttttttttttsttttttttttstttttsttttttttttttttttttttttstttttttttttttttttttstttttttttttttttttstsssttttttttttttsttttttttttttttttttttttsttttttstttttttttstttttttttttttttttsststttttttttsttstttttttttssststtttttttttttttstttttttttttttttsstttttsttttttstttttttssttttttssttttttttstttttttttttttsststtttttttttttstttttttttttttttttttttttttstttttttsstttttttsttttttttttsstttttttttttttstttttttttttttttsstttsttttstttttttttstttttttttststtttstttsttttttsttttttttttstttttttttttttttttttstttttttttsttttttttssttttttsttttstttttttttttstttttttttttttsttttsttstttttststsstssstsststttttttttttttttttstsststttttsttttttttttstttttttttttsttttttttttttttttstttttststttttttsttttttsttsttttttsttttttttttttttttttttttttttsttttttttttttsssttstttttttsttttttsststtststtttsstttsttststtttttttssttttttttttsttttttstsstttttttttttttstttttstttttstttttttttsttstttttttttstttttttttttsttttttsttttttttttttsttttsttstttttttttstttttsstttttttstttttssstttttttttttttttsttttstttttttttstttttsttttttttttttttststtttsttsttttstttttttttttttttttttttttttsttttttttttttttsttttttttttststttstttsttttttttttttststtttttttttstttssstttttttsstttststttststttsttttstttttttttttttttttsstttttttttttttttttttsstttttttttttsttststttttttsttttttttttttstttttttsttstttttttstttstttttttttttttttttttttttttttttttttttttttttttttstttttttttttttttttttttttttttttstttttttttstttttttttttttttttttttttttttttttttttttttssttttttsttttttttttttttttstttttttsststtstttttttsttttttttsttttttststtttttssttttttsssttttttstttttstttttttttsttttttstststttttttttttttttttstttttstttstttstttsttttttststtsttttttttttttttttttttttstttttttttttttttttttttssttttsttttsttstttttsststtsttstttttttttttttttttstttttttttsttttttttttttttsttttttttttttttttstttttttttttttttttttttsttttttttttsttttttttsttttttttttstttttttttsttttttstttttttttstttttttttsstttttttttttttttttttttttttttsttstttttsstttttttttttttttttstttttttttttttsttttttttttttttttttttttttttttstttttttttttsttttttttttttttstttststtttttttttttttsttsttttttttttttttttttttttttttttttttttttttststttttsttttsttttttstsstttttttttttttttttttsttttttssttsttsttttttttttttttttstttttttttttttttttttttttttttttsttttttttttttttttttttttttttttttttttttttstttttsttttttttssttttstttttttttttttttttttttttstttttttttttttsttsttttttttttttttttttttsstttttttttttsttttttttttttttttttttttttstttttttttsttttttttssttstttttttsttttttttttttttttstttttstttttttstttttttttttttttsttttttttttttttttttttttsttsstttttttttttttttttttttttssttttttttttttttttststttttttttttststttttttstttttttttttttstttttttttttstttttttttttstttttttttttttttttttttttttttttttttttttttttttttttttsttsttttttttttttttttttttttttsttttttttttttttttttstttttttstttttttttttttttttttttttsttttttttsttstttttstssttttttsttttttstttsttttttttsttttttttttttttttttttttttttttttttttttttstttttstttttsttttstttstttsttttttttttttttttttttttsttstttttsstttttttttttttttttsttttttttttttttttttttttttttttttttstttttsttsttttttttttttstttttstttstststtsttttttttttttttttstttttttttttttssttttttsttsttttstttttstttttttttttsttttttttttttttttststttttsstttstttttttttsttttttttttsttttttttsttttstttttttttttssttttttsttttttttttttttttttttttttttttttstttttttsttttttttttttttttttttsststttssttttttttttttttttttttttttttttttsttttttttttstttsttttttttttttttstttstttttsstttttttttttstttttttstttttttttsttttstttttsttttsstttttttttttttttttttttttttttstttststtttttttttttttststtttttttttttsttttttstttsttttttttttttttttttttttttttttsttttttttttttttsttttttttttttttsttttttttstttttstttttttststttttssttttttttttttttttttttttssttttstttttttttttttsttttsttstttttttttstssttttststtttsttttttttstttttttttstttttttttttttttttttttsttttttttttttstttstttttttttttttttttttttttttttsttsttttttttttttstttsttttsttttttttsttttttsttttttttttttststttttttststttttttttttttttttsttstssttttstttttttttststtttttttttttttsttttttststtttttttttttttttsttttstssttstttttttttssttttsttttttttttttttstttttstttsttststtttttssttttttttttstttttttttttttttttttttstttttttttststttttttttttttttttttttttttttssttttttststtttttttttttttsstttttttstttttttttststttsttttttstsststttttttsstttttstttsttsststtttttttttsttttttttttttttststttttttttttttttststttssttttttttttstttttttttststtttttttttttttttttsttttttttttstststttstttttttttttttttttttststtsttttstttttttttttttttttttttttttttsttttttttttstttstttstttttttttststttttttttttttttttttttttttsttttsttsttttttstttsttttstttttttstttttttttstttttttstttttttttttttttttttttttttstsststttttttttttttsttsttttttttssttttttttttttttstststttttttttttttttttsstttsttstttttttttttsttstttttststtttttttttttttttttttttttsttttttttttttstttstttttttstttttttttttttttttttttttsttttttstttttttttttsttttstttttttstttttttttttttttsttttttttttttttttttttttsttttsttttttstttttttttttttttttttttstttsttttsttttttttsttsttttsttttsttttttttttttttssstttttstttttstttttttttttttttttttstttsttttstttttttttstttttttttsttttsttttttsstttttttttstttttttttstssststttttststtttttsttttsttttttstttstttttttstttttttttttttttttttttttttttttttttstttttstttttttttttttttstttttttttttttttttttttttttttttttstttttttttttststtttttttststttttttstttttstttttstttttttttttttttststtttttttttttttttttsttttttttttsttttttttttssttstttttttttttttttttttsttttttttttttttttttttttttsttttsttttttssttttttstttttttstttttttttsttttttttsttttttttttttttttttssttttttssstttsttttttttttttttttttttttttttstttttttstttttttttttttttstttstttsttttstttttttttttttsttttttttstsstttttttttsttsstttttttttttttstttttttttttsttttttstttttsttttstttttttsttstttttttttttttttttttttttttttttttsttttttttttttttttttttttttsttttttststtttttttttttttttttttstttttsttttttstttttststttttttttttstststtttttttttttttttttttttttttttttttttttststttssttsttttttttttsttttttttttttsttttttttttttttttttttsttttttttttttttttttttttttttttttttttttttttttttsttttttttttstttttstttttttstttttttttttttttttttttsttstttttttttttttsststtttttttttttttttststtttttttttttsttttststststtttssttttttttttttttttttstttttttttsstttttstttststtstttttttttttsttttttttttttttttttttttttttttttsttttttttttttttttttttttttttttttttttttttttttttttsttttssttstttttsttttststttttttttttttttttsttttttttttssststttttstttttttttttttttstttttstttttttttttttttttttttttttttttttttttttttttttstttttstttttstttttsstttsstttttttttttttttsttttttttttsttstttttttttstttttttttsttstttsttttttttttttttttttttttttttsstttttsttsststtstttttttttsttttttttttttttttttttttsttttttttttstttstttttsttttttstttttttttttttttsttttsttttttttstttsttssttttttttttttttttttsttttttttttttsttttttttttttstttsttttttstttttttttttttttsttsttttstttsttttttttttttttttttttsttttttttttttttttttttttstttttttttttttttttstttsttttstssttttttstttttttttttttstttttsttstttttttstttttttttttsttttttttsttttsttstttttttststttttttttttttstttttttststtttsttttttttststtttstttsttststtttttttttttttttsttstttttttttttttsttttststtttsttttsstttststtttttttttsttstttttttttttttssttsstttttttttstttttsststttttttttttttttttttttsttttttttttstttttttttttttttttttttttsttttttttttttstttttttssttsttsttttttttstttttttststtttttttttsttttsttttttstttttttttttttttttttttttsttststtttsttttttttttstttttttttttttttttttttttttttttttttutttttttttttttttttttttttttttttttttttutttttttttttttttttttttttttttttttttttttttuttttttttttttttttttttttttttttttttttttustttttttttttttttttttttstttttttttttttttttttttttttttttttttttttuttttttttttttttttttstttttttttttttttttttttttttttttttttttttttttttttttttttttttstttttttttttttttttttttttttttttttttttttttttttttttttttttttttuttttttttttttttttstttttttttttttttttttttttttttttttttttttttttttttttttttttttutttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttstttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttstttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttstttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttstttttttttttttttttttttttstttttttttstttttttttttstttttttttttttttttstttttttttttttsttttttttttttttttstttttttttttttttttttttttstttttttttttstttttttttttttsttttttttstttttstttttttttttttttttttttstttttttttttttttttttttttttsttttttttttstttttttttttttttttttttstttttttttttttttttsttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttstttstttttttttttttstttttttttttttttttttssttttttttttttttttttttttttttttttttttttttttttttttsttttttsttttttttttttttttttstttttttttttttttttttttttttttttttttttttttttstttttsttttttttttttsttttsttttttttttttttstttttttttttttsttttttttttttttttttttttttstttttstttttttttttttttttttttttttsttsstttttttttttttttttttstttttststtttstttttttttttttttttttttttttttttttttsttttttttttttttttttttttttttttttsststttsttttttttttttttssttttttttttsttttttstttstttttttttttttttttsttttttttssttttttttttsttttttttstttttttttttttttttttttttttttttttttsttttttttttttttttttsststtttssttttttttttttttttttssttstttttsttttttsttsttttttttttttttttstttssttstttttttttttttssttsttttstttttttttttttstttttttstttttttstttttstttttttttstttttttttsttttttttsttttuttstttttuttttttsuttuutttuttuttttuttttttttttttttsttttttttttttttututtttuttttttuttttttttuttttttuttttututtttstttsttttttsstttttttttttutttttttttttttttttttttttttttttttutttttttttttttutttttttttttttttttutttttttttttttttutttttttttttttttuutttttttuttuttttttttttsttutttttsttttttttttttttttttsttttuustttttttttuutttttttttttttttttttttttttututtstttutttttttttttttttttttttttttttuttttttttutttutttttuttttttttttttuttttttttttttuttttttttttttttttttttttttttttttttttttttttuttttttttttttttttttttttsttttttututttttttuttttttttuttttttttstttttttttutttttutttttttttttttttttttttttttttttuutttttuttttttuutsttutttttttttttttttttttttttttttuttuttuuttttttttttttttttttttttttttttttttttttutttttttttttttuttuttttttttttttttuttttttttttttttttttttutttttttttttttttuttuuttttttttttttttuttttttttttttttttttttttttttuttttttttttttttttttttttttttttttttstttttttttttttstttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttuttttttttttttttttttttttttttttttttttuttttttttttttttttuuttttttttttttttttttttttttttttttttttttttttttttttttttutttttttuttttttttttuttuttuttttttttttttttttttttttttttttttttttttttttttttttttttutttttttttttttuttttuttttttttttttutttttttttttttttttttttttttttttttttttttttttttutttttttuttttttttttttttttttttttttttttttttttttttuttttttstttttttutttttttutttttttttttttttttttttttttttttttttttttttttttutttttttttttttttttttttttttttutttttttutttttttttutttttttutttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttsttttttttttttttttttuttttstttttttttttttttttttttttttttttttttttttttttttttttttttuttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttstttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttsttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttsttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttuttsttttttttuttttttttttttttttttttttttttttttttttttttttttttttttuttttttttttttttttttttuttttttttuttuttttttttttttttttsttttuttttttttttutttttttttttstttttttttttttttttttutttttttuttututtuttttttttttttttttttttttttttttttttttttttttttttutttttttttttutsttttttttttttttuttutttttstttttttsutttstttttttttttuttttttttttttttttttuttttttttttttttttttttttttttttttttttttttttttttttttttttutttttttttttttttttstttttutttttututttttuttttsttttttttttttttttttttuututtttttttttttuttstttttttttttttttttttttutttttttttttttttttsttuttttttttuttttttstttttssuttttttttttttttutttttuttttttttutttttutttutttttttttttttuttttttttttutttttttttttuttttttttttuttuttutuutttstttttttttttttttttttttttttttttttttttttuuttttttttutttttttutttttstttttttttttttuttuttttttutttttttttttstttttuttttustttutttttttutttttttutttttttttttttttttttuttttututtuttttttttttttututtttttttttttttttututttttttttttttttuttutttttttttutttuttttttttsttttttttutttttttttttttttttttutttttttuttttttututtttttttttttututtttttttuttutttttttttttttuustttttttttttttttttttttttttttttutttttttsttttuttttttttttttttututtttuttuttttttutttttttttttttttttttttttttttttttttuttttttttttttutttututttsttttttttttututttttttttttttttuttutttttttuutttttttttttttttttttttstttttuutttttttuututttttttttttttttutttttuttttttuttttttuttttttttttttttttttttttuttttttttttttttttttttttttttttttttutttttttttttttttttutttttttttuttttttstttttttttttttttutttttttttutututtttuttttttutttttttuttttuttutttttttttttttttttuttttttttttttttttttttttttttttttttttttttttttttttttttttttstttutttusttttttttttttttttttttuttttttttttttttuttuttstttttstttttttuttttttsttttttttttttttttttttttutttttutttttttttttttutsttttttttutstttttttttttttuttuttuttstttttttttttttttttttttttttstttttttttutttttttutttttttttstttttttttttttuttsttttttutttttttttttttttttttttttttttttttttttttttttttttttttutstttttttutttttutttttttttttuttttttttttttttttttttttttttuttutttuttttttttuttttttttttttttttttttttttttutttttstttttttttttttttttuttttttttttuutttttutttttttttttuttttttttttttuttuttttutttutttttttttttttututtttttttttuttttutttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttstttttttutttttttttttttttttttttttuttttttttttttttttttttttttttttttttttttttttttttutttttttttttttttttttttttttttttttttttttttttttttttutttttttttttutttttttttttttttttttttttttuttuttttttttttttttttttttttttsttttttttstttttttttttttsttttttttttttttttttttttttttttttttttttttttttttttttttttttsttttttttttttttttttttuttttutttttttttttttsttttttuutttttttttttttttttttttttttttttsuttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttuttstttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttutttttttttuttttstttttttttttutttttttsttttttsttutttttttttttttttttttuttttttttttttttttuttttttttttttttttttttttttttutttttttttttttttttttttutttttttstttttsttttttttttttttttttttutttttttttttttttutttttttttttutttttttttuttttttttttttttttttttttttttttttttttttttttuttttttttttttttttttttttututtttttttttuttttttttttttttttuttttttstttttttuttttttttttttttttttttttttttttttutttttttttututtttttttttttuttttuttuttuttttttttttttttsutttttttttttsttstttttutttttttttttttttttttttttttttstttttttsttttttttttttttttttuttttttttttusttttttttttutttttttttttttttttuttttttttttttttttttttttttttttttttttuttttutttttttttttttttttttttttttttttuttuttttutttttttttttttttttttttttttttttuttututttttuttttuttttttuttttttttttttttttttttttttttttttttttttttttttttttttttttuttttstttttttttsttttttttttttttttttttttttttttuutttttttttttttttttttttttttttuttttttttttttttttttutttuttttuuttuttttttttutttttttutttttttttttuttttttttttttttttuttttuutttutttttttttttttttttttttttttuttuttttttttttuttttutttttttttttttttttttttttttutttutttutttttttttttttttutttttttuttttuttttttttttttttttttttttttttutttttttttttttttuuttttttttttttttttttttttttuttttuttttututtttutttttttttttttuttttttttttttuttttutttttttttttttttttttttttuttutttuttttutttttttttttttttttttttttttttttttttttututttutttttuttttttttttuttttttttttttttttttttttttttttttttttttttttttuttttutttttttttttttttttttutttttttttttttutttttttttttttttttttuttttttttttttttttutttttttttttuttttuttttttttttutttttttttttutttttttttttuuttttttttttttttttttttttttuttutttttttttttutttuttttttttttttttttttttttutuutttttttttttttttttttttttttttttttttttttuttttttutttttttttttuttuttttututttttuttttttttttttttttttttttttttttttuttttttttttutttttttttttuttttttttuttttttttttttttttttuttttttttttttuttttttttttttttttttttttttttttttttttttttttttttutttttttttttttttttttttttttttuttttttttttttttttttttttttttttttttttttttttuttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttutttttttttttttuttttutttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttuttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttuttttttttttttttttttttttttttttttttttttttttttttttttttutttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttsttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttsttttttttttttttttttttttttttttttttttttttttutttttttttttttttstttttttttttttttttttttttttttttttttttttttttutttttttttttttuttttttttstttttttttttttttttttttttttttttttttttttttttttttttttttttttutttttttttttttttttttttttsttttttttttttttttttttttttttttttttttttttttttttttttttttsttttttttttttttttttttttttttttttttttttttttttttutttuttttttttttttttttutttttttttttttttttttttutttttttttttttttttsttttttttttutttstutttttttttutttttttttttttttsttttttttttttttuttttttsttttuttttttttttttutttttttttttsttttttuttttutttttttttttttttttttttttttttttttttttttttttttttuttttttttttttttttttttttttttttttuttttttttttttttttttttttttttttttttttttttttttsuttttttttttttuttttttttttuuutututttttttttttttttttttutttutttuttttttttttututtttttuttuttttuttuttuttttuttttuttttttttttttttttttttttttttutttutttttttuttutttttttttttttttuttttttttttuttuttttttttttttutttttttttttttttttttttttuttttttttuttttuttutttttttttuutttttutttttttttttttttttutttttttttttttttututttuuttuttuttttttttttuutttttttttttttttttttuttttttttuututtuttutttttuttttttttttttttttuutttuuutuutttuutututttuttuttutttuututttttttttututttttttttttttttttttttttuttttututtttutttttttttttttttutttttttttttttttttttttttttuttttttttttutttttttttutttuutttttttttttttttttttuuttttttttutttttuttutttuttutttttttttttuutttttttttttttttuttutttttttttuttttutttttutututtttttttttttuttuttutttttttttttutuuttutttttttutttututtttutuuutututtttttttttttttttutttuttttuuttttttttttttttttuttttttutttttttttuttttttttutttutttttuttuttuttttttttuuuttttttutttttttttttttttuutututttuttttuttttttttttttututtttttttutttttutttttuttuttttttutttttttutttttttuttttuttttttttttttutttttutttttttttttttuttuttttttttttttttttttttuttttuttttttttuttttttuttttuuttttttttttttuttututtuuttututtttttttttutttuttutttttutttttttttttttttuutttttttuttttttttttttttutttttttttuttttuttttttttuttttttttttttttttttttttttutttttttttttutttttttttttttttttttttutttututttttttttttttttttttttuttttttuttttttttttttuttttttttuttttttttttttttttttttttttttttttttttttttttttttutttttuutttttttttuttuttutttttutttttttttttttttttttttttttttttttttttttuttttttttttttuttttttttttttuttuttttuttttttuuttttuttttttutttttutttuttttuttttuttttttttttttttttttttttttttttuttttttttttuttttttttttttttttttttttttttttttttttttuttttuttttttttttttttttttttttttttttutttttuttttttttttuttuttutttttttttttttttttttttttutttttttttttttttttuttuttttttttttttttttttttttttttttttttttttttuttttttttttttttttttttttttttttttttttttutttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttuttttttttttttuttttttttttttttttttttttttttttttttttttttttttttttttuttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttuttttttttttutttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttuuttttttttttttttttttttttttuttutttuttttttttttttuttttttttttttttuttutttttttutttutttttttttutttttttttttttttttttttttutttuutttttttttttutttttttututttttttttttttttttutttttutttttttttuttttttuuttttttuttttttttuuttttttuutttuttttttutttttttttutttttutttttttttutttttttutttttttttttuututttttttttutttuuuttttttuttuttttttttuttttttututttttuttutttuttttutttutttttttttttttuuuutttttttuttttttuuttttttttttttttttttttttuttttttttttttttutttttttttttutttuuutttttttttttttttttuttuttttttttttttuttttttttttttutttttttttttttttttttttttttttttttttuttttttttttttttttttttuttttttutttttuutttttttutttttututttttttutttttttuttuttttttttttttttutttttttttttttttttttttutttuttutttttttutttttutututttttttutttutttttuuttuttuttttuttttttttttuttuttttttttutttttttttutttttututtttttuuuuutttttuttttuuttttttuttttttttutuutttttuuutttttttttuttttttttttttttuutttttttttttttuttttttttttttuttututttututttutttttttttttttttttutttuuttttutttututtttuttutttttuttttttttutttttutttttutttttutuutttttttttttttttttutttttuttuttttuttttttutttttttuttttttttttuttttuttuutuututttttttuttutututttttttuttttttttttututtuuuttttttuutttttttttttttttttttttttttttttuttttttttttttttttttttttttuttutttttutuuttttttttututtttuttutttttttttututttttuuttttttttttttuttttttttttttuttttttttuttttttttuttuttutttttututttuutttttttttutttutttutttututttttttututttuuutttttttttuttttttuttttttttuttuttttttttttttttttttttttttttttttttutttttttttutttttttutttttttuttttutttuttuttuttuttttttututttutttuttttttuttutttttttttttttttttttttttttttutttttttttttuttttttuttuttttutttttttttttttttttttttutttttttttttuttttttttttttttttttttttttttttttttttttttutuututtttuttttttttttttuttttututtttttttttttttttttututtttttttttttttttttttttttttutttttttuttutttuttttttttttttttttuttttttttttttttututttttttttttttuttttttttttttttttutttttttttuuttuttttttttuttttttttttttttutttutttttutttttttttttttttttututttutttttttutttttttttttttttttuutttuttututttttuttttttttttttttttttuuttttttttuttttttttuttttuttttuutttttttttututtuttttttttttttttttttttttttttttttttttttuttttttttttutttttttttttttttuttttttttttttttttttttttttutttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttuttttttttttuuttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttutttutttttttttttttttutttttttttttttttttttttttttuttttttttttttutttutttttttttttttttttttttttttttutttttttttttttttttttttttttttuttttuttttttttttttttttttttttutttttttttttttttttttttttttttttttttttttttttttttttttttttttttttutttttttttttttttttttttttttttttttttttttttttutttttttttutttttttttttttttttttttuttutttttttttttttttuttttttttttttttttttttttttttttttttutttttttttttttttttttttuttttttttutttttttttttttttttttttttttttttttttttttttttutttttuttttttttttttttttttuttttttttttttttttttttttttutttttttttuttutttttttttttttttttttttttttttttttttttutttttututuuttttttttttttttttttttttttttttttttttttuttttttttttuuttttuttuuututtttttttttttttttttttttttttttutututttuuuttttttttttttttuttttttttttttttttttttttuttttttttttutttttuututttuttttttuttttttttttttttttttttttttttuttttttttttttttttuttuttutttttttttttttttutttttttttttttttttttttttttttuttuuttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttutttutttttttttututttttttttttttuttttttuttttttttuttttttttttttttttttutttttttttuttttttttttttttttttuttuutttttttttttttttuttttttttttttutttttttutttutttttttttuttttttututttttttttttttttutttttttttttttttttttuttututtttttttttttuttttutttttutttttttttuttttutttttttuttttttttttuttutttttuttttttutttttttttttttttttttttttttututttttttttutttuttutttttuttuutttttttuttttttttuttttutttutttututttttutttttutttttttttttttttutttttutttuttutttttttuttttttttttttuttututttutttttttutttttttttttutttttttttttttttttttttttttttttttttutttttututtutttttutttttttttttttttttttttttttututtttuttttttttttttuutttttttttuttttttttuttttttuttutttttttuttutttutttttttttttttttttttttttttttttuttttttttttttttttttttttttttttttttttttutttttttttttuttttttttututttuttttttttutttutttttttttttttttttuuttttttutttuttttutttttttttttuttutttttttttttututututututttttttttttttttttttututttutuututtttttututtuttttuutttttttttttuttututtttttttttttttttttttutttuttuttttttttttttutttututtttttttttutttuttttttttutttttttttttttttutttttttttttttttttttttttttttttttttttuttttttttuttttuuuutttttttutttttttttutttttutttuttututtttttttttttttutttttttttttttttttttuttttttuttttttuttuttttttuttttttttttttttutututttttttttuttuuuttttttttttttttttttttttuttuttttttttutttttttttttttuttttttttuttttutttttttttututtttttttttttttttuttttttttttttttttututtttttttttttttttttttttttttuttuttuuttttttttttttttttttttttttttttttttttututtttttttttttttttttttttttuttutttttttttttttttttttttttututtttttttttuttttttttttttutttuttttttttttttttttttttttttttttutttttuttuttttttttttututtttttttttttuttttttttttttttttttttttttuuttttttttttttttuttttttttuttttttttttutttttutttttttttttttttttttutttttttttttttttttuttttttttttttttttttttttttttttttttttttttuttutttutttttttttttutttttttttttttttttttttttttutttttttttttutttttttttutttttttttttttttttttttttttttuutttttttttuttttttttuttuttuttttttutttttttttttttttttuttttttttttutttttutttttttttttuttttttttttttttttttttttttttttuttttutttttttttttutttttuttttttttttttttttttttttttttttttttttuttttttttuttutttttttttttttttttttttttttttttttttttttttttttttttttttttuttttuttttttttttttttutttttttttututtuttttttttttttttttttutttttttuttuttttttttttttttttttttttttttttttttttttttttttttutttttttttttttttttttttttttttuttttttttttttttttttttuttttttttttttttuttttttttttttttttttttttttttttttttttttttuttttttttttttttutttttttttttttttttttttttttttttttttttttttttttttttttttttttttutttttttttttttttttttuttttttttttttttttttttttttttttttttttttttutttttttttttttttttttttttttttttttttutttttttttttttttttttttttttttttttttuuttttttttttutttttttttttttttttttttttttttttttttttttttttttttutttttuttttttttttttttttttttttttttuututtttttttttttttttttttttttttttttttttttttuttttttttttttuttttttttttttttttttttttttuttttttttttttttttttttttttutttttttttttttttttttttttutttttttttttttttttttttttuttttttttttttttttttutttttttttttuttttttttttuttttuttttttuttttttttttttttutttttututtttttutttttttttuttttttttttttttttttttttttttuuttttututttttttttttttttttttttuttttttttututtttttttutttttttuutttttttttttuttuttttttuttttttttutttttttttttttuttttttttttttttttttutuutttttttutttttttttttutttttttttttttutttttttttttutttttutttttttttttttttttttutttttttututtttututtutttutututtttuttuttttttttttttutututtttttutttttuttttuuttttttttttttttttttttuuttttututututtutututttttttuutttttttutttttttttttuututtuuttttttttttttttttttttttttttttttutttttttttutttttutuutttuttutttttututttututtuttttuttttutttuttttttttttututttutttutttuttttttttttttttututtututttttutttttttttuttttttutttttttttttttttttututtttttttttuututtttttttttuutuuttttttuttutttttttuttutttutttuttttututttttuttttttutttttuttttttttttttttutttututttttttttttutttttttutututttuuttttutttttuttttttttttttttttuttttttutttttutttttttutttuttttttttuttutttttutttttttuuuttttttttttututtttutttuttttttttutttttutttuttttttuttttttutttutttttuutuutttutttttttttttttuttuttttttttttutttttttuutttttttttutttttttttuttttttttttttttttttttttuttttttttttttutuuuttututttttttttttttutttuututttttttutttttuttttutttttututttttttttttttutttuttttttttutttuuuttttttttttttttttttuttttttttutttutttttttuuttttuttttttutttttttutttttttttttttututttuttttuttttttutttttttutttutttttttttttttttttttututttttttttuttttttuttttttuuttttuttttttututttttttttttttttutttttttttuttttttttutttttutttuuttuttttutttttttttttttttttttttttttttttttutttttuttttutttttttttttttttttttutututtuuututttttttttttutttttttttuttututtttttuuttttttttttttuttuututtttuttttttttttuutttttttttttttttttttttttutttttttutttttutttttttttttttttttttttttttttttttttttttttttttutttttuttttttttttutttttttttttttttttttttttttutttuttttttuttttttttttttutttttttuttttutttttttttttttttttttttttttuuuttttuttttuttttttttttuttttttttttttttttttttttttttuttuttuttuttttttttuttttttttuttttutttttututttttuutututtttuutttttttttutttttttttttututtttttttuuttttttttttuttttttttttttttuttttttttttuttttttttuutttttttttttttttttuttttttttttttttttttttututttttttttttttttttttutttttttutttttttttuttttuttuttttttuttuttuttttuttttttttuttttutttttttutttttttttttttttttttutttttttttuttttttttttttuttttttttttttttuttttttttttttttttttttttttttttttttttttuutttttttttttttttttttttttutttutttttttttttttttttttttttttttuttttttttttttttttttttttutttttutttttttttttttttttttttutttttttttttttttttttttttttutttttututttttttttttttttttuttttttttttttttttuutttttutututtttuttttutttttttttttttuuttttttuttttttttttttttttutttttuttttttttttuttttuutttttttutttutututtttutttuuttttutttutttutuutttttutttttttttttttttttttuttttttttttutttutttttttttttuttttttutuutttttutttttuttttuttttutttuututtttttttttttututttttttuttuutttttttttttttttttttttttutttuttuttttttuuttttuututtttttttututtutututttttttttttttutttutttuttttttutttuttuttttttttttutttttuutttutuututtttuttttttuttttttttutttttttttuttttutttututttttttttttuttttuttutututttuttttuuttttttttttuutttttuttttttttuttuttuttutttttttttututtttttttttuttttttuuutttuttuutttttttttttttttttuttttttuttuttutttttutututtttttutttuttttttututtuuuttutttttttuttttttttttttuttttttttttttutttttutttttttttutttttttttttuttttttttttttttuttttttuttttttttuttuutututtutttttutttttttttuttttttttttttttutttttutttttttttttttttttttttutttuttttuttttttttttttuutttttuttuttttttttututttttttttttttttttttttutttttttttutttttttttutttttttttttututttttutttttttttttutttttttuttttttttuttttutttttttttttttttttttttttttttuuttttttuuttttuttttttttutttutttutttutututtttutuututtttttttttttttutttutttttuttttttttttuttttutttttutttttututttuttttttttttttttttttttttutttttuttttttuttuttttuttttttutttttttuutttttttututtttutuuttutttttuttttttuuttuttttttttttttttuutuuutttttttttttttutttttttttttttututttuttututtutttttttttttttutttutttttututttttttututttttttuttttuuttutttttttttttttttttttutttttuttttttutttutttttttttttttttuutttttttttttttttttttttttutttuttttttutttttuuuuttuuttttuttttuttttututtttttuttttttttttttuttttuuutttttttttttttttutttuttttutttttutttttuttuttttttttutttttuttttttuttttttttttuuttttttuttuttutuutttuutttuttttttttttutttttuttttutttttuttuutuuttttttuttttuttuttuutttttuutttututttttttttttttttttttttutttuttttttttttttttttttuttuuttutttttuuttuttuttttuttuutttutttttutttttttttttttuttttttttttttttttttttttttttutttttuttuututtttttuuttttuttttttttttttuttttttttttttttttttuttttuttttttttttttuttututtttttttttutttutttuttttttuttttttttttttuttttttttttttttttttttutttttttttttttuttttttttttttttttttttttttttuttuttttuttttttttttttttutttttttttttttttttttttttttttttttttttttttttttttttttttttttuuttttttttttttuttttttttttttttttutttutttttttttuttuttuttttutttttttttttttutttututttttttttttuttttuttuttttttttuutttutttttutttttttttttttttttttttttttttttttttttttttttttttttttuttttttttttttttttttuttttttttttututtttttttttttutttttuttttutttttttttttttttttutttuttttttuuttttttttttttttutttttttttttuttttttttutttttttttttttttttuuttttttttttttttttuttttttttttttttttuttttttttuttttttttttttuttttttttuttttttuttuuutttttutttttttttttttttttttuttttttttttttttttttttttutttttttttttutttttttttttuttutttttttttttutttttttutttttutttttttuttttuttttttttttttttttttttttttttttuttttttuttttttttttttttttttttttutttttttttutttttttttttttttttttttutttttutttttttttutttttttututttttutttttttttttuttttttuttttuttutttttttttttttttttttutttttttttttttttttttttttttttutttutttttutttutttttttttttutttttutttttuttttttutttttttttttttttttttttuttutttuttttttttttttttttttttttuttttttttttuutttututttttttutttutttttttutttttttttttttttttttttttttttutttuttttuttttuttttttttttttttuttutttttttttttttttttutttttttttttttttttuutttutttttututtttutuutttttttttuttttttutttttttttuttttttttttuttutttttututtttttttttututttutttttutttttttuttttttttutttttttutttttutuutttttuuttutttuuttttttutttttttutttttttttttutttutttututttttttttttttttuttuuutttttttutttttutttuttttttttttuttttttuttuttutttttttttttttttttuuttttttuuttttttututtttttttuttttutttttttttttttttttttttuutttttutttuttttttttttttttttttttttttttttttttttttuttttuttttuutttutttttuututttttutttttttuttttttutttuuttttttututttttuuuttttuttututtttttttuttttttttttututttuttttttttuttttttttutttttttuuttttttttttttttttttttttuutttttttttttututtttuututtttttttttttttutttttuttttttttttttttutttttttutututtttttututttttututttutttttutttttttttttttttuttttttuttttuttttutttuuutuutttttuttttttttttttttttttuutttuutttutttttuututttttuttttttttttttttttttttttutttttttttutuuttuttttttuutttttttttttuttutttttttttttttttttttttutttttttutttttttttuttutttttttttuutttttttttuttttttttuttttttttttttttuttttttttutttttttutututttttutttutttttttttttuttttttttttttuttttuttttutttttttututtututtutttttutttttuttttttttttutttttttttttttttuututttttttutttutttttttututtutttutttttttttttttutuututtttttutttuttuutttttttttttttttutttttttuttttttttttuttttttttuutttuttututuuuttttutttutttttttttuttttttttutttuttttttttttttttttttttttttttttttttttttttttttuttttttttttttuttttttttttttttttttuttttututtutttttuuutttttutttttttttttttttttuuttuttttttttuttutttutttttttutttttuttttututttuttuuuttttuttttttttttttututtttttutttttttttttttuttttttttuutttttuttttuuttuttttttttutttututtttttttttutttttttuututttttttututttututtttttttttuutttttuuttttttuttttutttttttttuuttttuttttuttttttttttttttttttttutttttttttttttttutttttttttuttttttttttttttttttttttttttttuttttttttttutttttttutttttttuttttttttttttutttttttttttttttttutttttttuttttuttttttuuttttuttuttuttttttutttuttttttttttuututtututttttutttutttttuttttttttutttttttttutttttttttttutttttutttttuttttttttttttttttttttttttuttttttttuutttttttttttttttttttttttttttttttttttutututtttuttttttttuttuttttttttutttttttttttttttttttttttttttttttttttttuttttttttttttttuttuttttttttttttttuttutttttttttttutttttuttttttututttutttttttttttttttttututtttttttttttututttttttttttttuttttttuttttttttttttttttttttttuuttutttttttttttttttttttttttttttuttutttttttttutttttttttttuttttutttttuttttttttttttttttttttttttttttttuttttttttttutttttuttttttttutttuutttttttutttttttuttttttuttttttttuttttttutttttttutttuttttututttttttttttutttttttttttttutututttutttttttttttttttuttutttttttttutttttttttttttttttttuttttttuttttuttttuttutttttttuttttttttutttuttttttuuttttttttttttttutttttttttutttttttututttttttttttutttttuttttttttttttttuttttuttuttttututtttttttttttttttttttttttttttuuttttttttttttuttttttttttutttutttttutttttttttttttttttttttttuutttttttttttttttttttttttttttttttttttttuttttttttttttttttttuttttutttttuttttttttttttttttttuttttttttututtttuututtutuutttttttttttttttttttttuttttttttttttttttututtuuttttttttttttttttttttttutuuttttttttttttttttttttuttttttttuttttttttttttttttttttttuttttttuttttttttttututttttutttttttttttuttttttuttttutttttuttttttututttttttttttttttttttttttttuututtttuttuttttttutuutututttttuttututttututtttutttututttttttttttttuututtttuututttutttttttututtttttttttttttttttttututtuttttttutttttttutttttttttttttttuttttttttttttttttttuttttuutttutttutuutttuttttututttttttttttttttttuttututtttttttttttttttttttttttttutttttttttttttttttuttttttttttttttutttttttuttttttttututttttuuututttttuuutttttutttututuuuttttuttuuttuuttttutuuttuttttttttuttutttttuttttututttuttuuuttttuttttttttttttututtuutuutttttttuttttttttttttttutttttuuttttuuttutttutttttttuuttttttttttttutttttttuututtutttuttttttttutttttuuttttuttttuutuutttuuttttuttuttttttutttttututtuutttttutttttttttuuttutttuttttutttttuuttttttutuutttttututtttuttttttttttuututuuttuttttttutttttttututttttuttutttttuttuuuttttttttuttuttttttttttttttttttttuuutuuttttuututuutttttuutttuttttttttttuttuttutuuutttutttuuttttututtttttuttttutttttttttttttuttuttutttttuuuttttttuuuttttttttttttttttutttttttututtttttttttuttttttttttttttttttutttttttuttutttuttttttututtuttttttttuttttttutttttttttttuttttttttttuttttuttttutttttttuttttttttttttttttuuttttutttttttuttttttuututttutttttututttutttttttttttttttttttututtutttttttutttttttttttttuututtuttuttuutttttttttttttututuuuututuuttttttttuutttttttttttttttttttttttuttutttuttttttututtttttttttutttttttttttttttttuutttttttttttuttttttttttutttttttttuttttuttuttttuttttutttttttuttttttuttttttttuttttututttttttttttutttttttutttttttuttutttutttttttttuuututttttttttuuttttttttuttuttuttttuuuutttttttttututtuttttttttutttuttuttttutttttttuttututtttutuutuuttttttttttttttuttuttutttttututttttttttututtttttttttuttuttutttttttttttttuuttuuttuutttttttutttttttttttttttuttttuttttuttttutttutttttuttttttttttttttutttttttttuttttttttttttttuutttttttuttttttttttttttttttttttttutttttttttttttuttttttttttutttttttutttuttttuuttuttttttttttttuttututtttttttutttttuuttttututttttttttttuuttttttutuuttttttuttttttuttututuuttttttttutttttttttttttttttuttuuttttttttttttttttutttttttttttttttttttttutttttttttutttttutttttttttttutttttttttttttttttttuttttttttttuttttuttttttttttutttttttttttttttttttttttuttuttuttttttuttttttuttuttttttuttuttututttttuutttututtuuttttttutttuttttttttttuttutttttttttttttututtttutttttttttttttttttttttttttttttutttttttttttttttttttttttttutttttuttuutttttttuutttutttututtutttttttutuutttttttttttutttuttutuuttttutttttttttuttutttttttutttututtutttuttttttututtttttttttutttttttuttttttttutttttttutttuttttttuttttttutttutututuuttuutttttttuutttutttttututttuttuttttuttttttttuttttttttuuttttttttuututttttttttttuututttttuttutttttttttttttttttttttutttttttuttttttttttttutttttttttttttttttttttttttttttuttttutttututttttuuttttutttttutuutttuutttttttuttttuuuuttttttutttutttttutttttutttuuttutttuttttutttttutttttttutuuuttttututtttuttttutttttuututtuttttuttttuuttttttttuttttttttutttttttutuuttttttttuututtttttttttttttuttuttttutuuttutuuttttttutttttttttttttttttttttttttttttuttttttttuttttutuututttttttuttuttutttttttttttttuuttttttuuttttutuuttttttutttttttttttttttttttttttttutttttuttttttttttttttttttutttuttttttuuttuttttttutttttttutttttuttttttuuttttttttttutttuttttttuttutuuttuutttttttuttttttttutttttttuuttttuttttttuutttttttututttuttttutttttututttttttttututttuttttuttuutttttutttuttttttttttuututtuttutttttttttttttutttututuuuttututttttttttuuttttuttttutttttttutttttuttuuttuttttttutttuttttutuututttutttuttttttttuuuttttttttttttttttttuutttttttttttutttttuuuuututtttttttttttuttttttttttttttttuttttututtttutututuututtutuuttutuutututtututtttttttutuuttttttttttttuttttutttttttttutttttuuututttttttututuutttuttttttttuttuutttttttttttuttuttuuttttuttuutttttttttttttuuttuututttttututtttututtuttttttttttttutttttutttttuuttuttttuttuuttuttttttttutttttttuttttuttutuututtttutttttuttuttutuutttttutttuututtttttttutttttuuttttttutttuuttttuttuttttttttttttutttuttutttuuttttttututtutttuutttttttuttttttttttuuttttuuttutttuttttutttuttttuttttttututtttuttttttuututtttttttttuuttutttutuuutttttttuttttuutttttuttttuttttutttttuttuuttttttttttuuttttttttttutttttutttuttttttttttttttutuuttuttttutttttttuttttttttutttttttuttutttutttttttuttttttttttuutttuttuututtttuttttttttttttuttttttutttututtttutttttttuttttutttuutttttututuutttutttuutttttutuutttttttuuttuttttttttttttttttutttututtttttututttuuttttutttttttuuuttttttttutttututttttttuttutttttttuttttutttttuttuuttttttttttttuttttttttutttttututtttutttutttttutttttttttuttttuttttttttuuttttuttttuutttttuttuuttututttuututtutttttttttttutttttuuututtutuuttttttttutuuttutttttuttttttttuttuuttuttttuttttutttttutttutttuuuttuttutuuutttttuttttttttttttttuttttuututtttttttuttttttttttutttututttttuttuttuttutttttuutttttututttttttttttututttttttttttttuttttttttttututtttttttutttttttutttttttttttttttttttttuttttttttttuuttttttttttttttuttutuutttutttutttttttttttutttttutttttuttuuttuttttuttttttuttttuttutttuttttttttttttuttutttttttuuttuttttttttttttuuttutttttttttututttuttttttttttuttuttutttttttutttttututttttuttttttttuttttttuttttuttttutttttttttttututuutuuttutututtuutttttttttttttttutttttutttttttutttttttutttttttttttttttttttttttttttutttttuttttttttttttttttttutttuttutututtttttttutututttttuttttttttttttttttttttttttttttutttttttttutttttutttttttttttttttututtttuttttttttuttttttttttuttttutttttttttuuttttuututtttuttttututttutttttttuutttttutttuttttuttttttututtuttttttutttttuttuututttuttuuuttttttttttttttutttttttttutttttttuttttuttttuttttttuttttttutttuutuuuutttutttutttttuutttuttttttttuuttttttttuuttttttttttuttttttuuttttttttttttttuttuutttttttttttttttutttttttttttututututtutuutttttutuutuuuttutttuttttttuttuttuttttttttttttttutttttttttttttttutttutttttttutututtttuttttttuttutuuttttttttttuuututuutttttuttttttttttttttttttutttuttutttttttttttutuuttttttttttttttuttttttuttutuutttttttuttuttttttttttttuutttuttuttttuttttuuttutttttttttutttttutuutttttutttuutuuttttttuttttttuuttttttttutttutttututttttttttttttutttuttutttututttttututtutttuututttttuttttttttttuttttttuttutttuttttutttttutuuttttttuutttttuuttttttututttuttttttttttutttutttututttttttuuttutttttttttuututtttttttuttuuutttttttttttttttttttttutttttttttuttttttutttttttutuutttttttttttttttutttttuttuttttttttttttututtttttttttttttttttuutttuttuuuuutttuutttttttttututtttttttttttutttuuuttttttuttuuutuuuutttuuttutuututtuututtttttttuuttuuttttutututttutuutttuutututttuuuttutttttuttttttutuuttttuuttuuuttttttttttttuttututtuttuutttttttuttututtttttttuttuttuttutttttttttttutttuutuututtttututtttuttututttututttuttuttttttttuututuuuttttutttttttttutuuuutuututuuuttttuuuuttututtttttuuttttttuutttttututttuttuutttttttttttttuttuttuutttttuuutututttutttttutuuuttuttutttuttuttutttttttuttttttutttutttutttttttttuttttuututttttttutttttuttuttutttttuttttututtutttttttttutttututttttutttttttuttttttuutuuttuttuttuuttuttttttuttttttttttuttutttuttttttututtttuttuttttuttuttutuututuuuttttttttttttutttttuttttuutttttutttuttutttututtuttutttttttuttttuutuuttttttuutttttututttuttututttututtttuututttttttttuuttttuutttttuutttutttttttuttuuuuttttuttuttttutttttutttuttutttututttttuttttttttuttttttuuttuttututuuttttutttttttttttttutttttututtuttuuttuuttututtuttttttttttttttttutttttttuttuttuuutttttttuuttttttttttuuttuttutttttttttttuttttttttuutttttuttttttuttttttututtttttuttttttttttttttutttutttttttttuttttttuututtutttttttttttttuutttttutttttttuutttttututttttuuttuuttutttutuuutttttttttttttttuttuttttttuttttttuttttttttttutuuttuuttttttuuttttttutttuuttttttuttttttttttttttttttuutuuttuutttuttutttttttttttutttttttttutttttuuutuuttttutututtttttttttutttttuututtttttttttttuttttttttttuutttututttttututtuttttttuttttttttttttttttttututtttttutttuutttuttuttttttuuttttttttttttuttutuuttttttutttttutttutttttuttttttuttttttttttttttutuutttttttttttttutttttuutttutttttutttttttttuttttututtttttttttttttttuttutttttutttuttttttttutttttutttttttttttttutttttttutttttutttutttttttttttuttttutuuttttttutttttutttttttuuttttttuuttttttuutttttuttttttuttuttuttttttuttttutttttttttttttttttttttuutttttttuttttttttutttttuttttttttttuuttttttttuttttuuttttttttututtttttttututttuutttttuutttttuttttttttttutttttttttutttttttuttuttttttttututtuttttttttttttuuutttttttutttttutuuttttttttttttttttttttutututtttttuutttttttttttttuttutttuuttttttutttttttutttttttttttttttttttttttttttttttttttttutttttttttttuttttttutttttttttttttttttuututuuuuutuutttuttttttuutuutuuutttututututttuutttttuttttutuuttutuuuttuttuuuttuutttuututtttututtutuuutttttttuttttttututtttuutuuttuutttuuttutttttuuuutuuuuttuttttttuututtttuttutttuttuttuttttutttututttttttututuuuuuttututttttttuuutuuttttuutttutttttutuututttuuttuutttuutuuttttuuttutuutuutttuttututuutuuuuuttuuttutuuutttttttttuututtuuuttuuuttuttuuttutuuuuututtttuttuuuttttuttutttutttttututttuttttuttttuutttutttuutttttuttututtttttttuutututtuututututttttuuttuttuuuuttuttuttutttuuututtttttuutututtutuutuuttuttttttuutuuuututuuttuttuuuuutttuutttttttuututuuuttuuuuuuuuttuuuttuttuuuutttttttttttttuutuuttttttttuututtttttttttuttttttututtuuttttttutututtttuuuttttuutttutttututttutttuttututttuuttttttttuttuuttutuutttutuutttuuttttttuutttttuttttuutututtutttttututttututtttututtttuuuuututttttututuututtttttttutuuuuuttttttttuuutuutuuuttttttutttttuuuuutttttttuttutuutuuttuttttttttuuuuuttttuttttuututtuuututtttttttuttutttututttttttttutttuutttttutututtttuutttttttuttttttutttuuttttuuttuttttttutuuttututtttttttttttuuttttuttttttuuuuuutuututuuttuutttttuttttutututttttttttutttttuttuuttuttuttttttutttuututttuutttututttuuuuuttutttttttuuttuuttutttutututtttttttututttuuutuuututtutttuuuuuutttttutuuttuututuuttuuutttttututtuttuuuutttttuutttutttttttttttuttutttttuttttuutttutututttututttttutuuutttutttttuttttutttttttttttttutttttttuutututtuttuttttttututttuuttttuttttttuttttttutututttuutttutuutuuttttuutuuuttuuttutttttttuutttuttttttutuututttuuuttutttuutttttttutttuutttttuttuututuuttututttuuuuuttttutttttttttttttttttttttttttttttuututtttttttuttttttttututttuuttttttuttttuuttuttttutttuttttuuututtttuuuutututuutuutttttttttttutttuuttutuutttuttttttttutttuttttuututtuuuttuuttutttttttttttuttuuttttuttttuuttutttuuuutttttttttuttuttutttttttuutttttttuttututttttttutututttttttuuututtuttttttttututtttttuututtutuuuutttttuuutttttututttutttutttttuttttuttutututttttttuttttutttttutuuutuuttttutttttutttttutttttttttttttttututttutttttuttttuttttuttttttttttttuttttutuuttttttttttututtttuuuuttutututuuututuutututtuttuuutttttttutttttuutuutttuttttttutttuututtuututtttttttttututtttuuuttutuuuuttttttuuttttttttuttttututttttuttuutttttttttuutttututttutttttututttttuttttttttttttttttuututttututttttutttttuttttttutttttttutttttututtttttututtutuuttuttuuutttuttttttuttuttttttttttttuuttuttttututttutttttttttuttuttuutttttuutuuttututtuttttttttttuuuttuuuutttuttttuuutttttuttttuutttttutttttttttuutututttttutttuutttttttututtttttttuttuuttttuttutuuttutututtuuttuuuuttttttttttutttttututtttttttttttuttutuuttttttutttutuutttuuuttttttttuuttttttuttttututtuttuutuuuttttuttututttuutttuuuttttuttttttttttuututtttttuuttttttutttttutttttttttutuuttttttttuttutttuutttttttttuuttutttuututtutttttuttuuuttuttttuuuttttuttttttuttuuttttttuttuttuttttuttuttttuuttutttttutttututttututuuutttutuuuuututttttutttuutttttttututtttututtttutututtttuuuttttttttttuttuutttuttttuttuututtututttuttttutuuuuttuttttuttttuututtuutuuttttutttuututtttuttttutttttutttuuttuttuutttttttttttuututtuttututtuutttuttuutttuttttututtutttttttttuttttuututtttuttttututuuuuutttttuutttutuuututttuuutttuttttttuuttuuttuuuutuuuutuuttttuututututtuttutttuttttuutututtuutttuttttttuuttutttttututtttttttuutuutuutttttttuuutututtututtttttttuttutttuutttuuututtuuttttuutuuuuttutuuuututttttuuuttttuttutttuttuuutuuuttutttuttttttttttttuuuuuttttttttuttttuuttttutttttttuuuuutttuttttuttututttutttttutuututttttttttutttttttuutuuutututttuututttuttuuuutuutuuuuututtuutttttttttttttututtuuuttuuuuttuttttuuuuuuttuuttuutttttuttuuttttuttututtuutuuuutttttttuuuttuuttttttttttttutttttuuuuttttutttuttttttttuutttuttuuutttttutttuttuuuuuuttttuututtuutuuttuuttutttuuuutttttttttttttuttttututuutututuutttttttuttttttttuutttttututtuututttututttttututuuttuuuuuuuttuutttuututuutttttuututttutttutttuututtttttuttutttttutttuuttuttuttttutuuutttttutttutttttuuttututuutttuttuttutuuttttututuutttuttuttttuuttuttttttttuuttttttttuttttttttututttutttttuututttttuuttuttuttuttuttttttuttttututttuttututtuuututttttttutttttutttuttutututttttuuuttuttuututttutttttttttuuttuuttuutuutttututtutttttutuuttuututttttutuutututuututtttuttuutuuttuuututttttuututuuttttutuuuttttttuttutttttttuttututtuttutututttutututuuutuuututuuttutttuuutttttttuttuttutttttuttttuttttuttuutttttttttttttttututuututtttuuutuutuututttuttttuutttttttttutttuttttuutttutuututtutttttuuututtttttttuttttttttttutuututtutttttutttttututttutuuutttutttttttutttttutttuttttuttttutuutututuuuuttttutttttutuuttutututttututuuuttttutttttutttuuttuutttuttuututttuttuuututttuuttttttuutttttuttuttututuuttttutttttttttuuuttttttttttuttttttututtuttuttuttuttttttutututtuttttutttttuttttuuututtttuuuuttttttttttttttttutttttuuttutuuututtuttttttutttuuttutuuttutttttuuttutuuuututtttttutttttttuuuuttttuutttututuutttutttuuuuttutuutttututuuuuttutuututtttttttttuutttttttttttuttuttutututttututttttutttuttttttuttuttttuutuutttuttututtuttutuuuuttttututtttutututtuututtttttttttttttuututtttttttutuuuttututtutuututtttuututttuttuutttutuutttuuttttttuutttttttuttttutttuuttttuuttttttuututttutttttuutuuutttttttututtuuttttttttuuttttttututuututututttuututututuutttuuuuuuttttutttuttuuuuutttttttuttttutuuttutuuttuttttttutttttuttttuutttutttttuttttttttuututttuuutttutuuuttuttuttttttututtttutttuutttttttttuttuuuttttttttutttttttttttutttuttttutttuttttttuttttttuutttttuuuttuutttutuuttttutttuttuuuuuuttttttuttttttuuttuttttttttttuuuttttttttttttttuttuutttuuttuuttttttttutuututuuttuutttttutuuttuutttutuutuututtttuuututtttuutttuuuttttttuttttututuuuuutttttttttutuuutuuutttuttuttutttututttttuttttuttttutttuttuttuuttuttttttttuutttttuttuutttuttttuttttttutttuuuuttuutututtuttutttututtutuutttttututttutuutuutttuuuttuttutttuttttttutututtttutuutututtuttttttttuuttttuttuututtuuutuuututttttuuttttttutuuttttuttttuttutttttuututttttuuuuttututttuutttuttuttuuutttuutttuuuuutttttttutttuttuututttuuttttututttuttttututuututttuuutuututtttutttttutttututttuttuuttttttttttuttttttuttttttututttuuuttttttttutttuttuuttttuuutttuutttttuttutttuututtttttuuuttuututtttuutttttutttuttuuuuttuttutuuuutuuuttuuuutututututttuutuuuttuuuuuututtuttutttuuuttuutttuttttuuuuuttttuututttuttttuuututuuututtttuttttuutttttttttuututututtttttuuuutuutuuuututttuttttuutututtutuuuuutuututuuuutuuttututuututuuttttttutuututtttuutttttuutttttuuttuuttttuttuttutuuuutttttuuuttttuttututuuuuutttuuttttutuuutuuututttttututtuutututttttttutuuuutuututtutttuututtuttutututtuttutttuuttutuuuuuuttuuuuttuuuttuuutttttuutuuuttttttutututttuutuuuttuuuuuttuuuttuttuuuttttttutttuuttututuuutuutuuttttuttttuuttuuututttuuututuuuuuuttttuuututuutttutttututtuuttutututuuutttututuuuutututtuuttttututtututttuutututtutuuutttttuuututttuttttttutututttuutttuuutuuututtututttututtututuuuuttuuttuttttuuuuuttuttuuutuuttuttttuuttuuuututttttuuutttutttuuutttttuutuuttttttttttttttttuttuuuttuttuuttuututttutuuuttttuututtttuutuuttuuuuttuttttuutuuutttttttttttuuttttuttuutuutttutuuutuututttttttttuttuttutttttutuuttutuuttuutttuuuttttttuuttuutuuttttutututuuututtttttutuututuuuutuututtttuttututtttttutttttuttuttuutttutttuutttttuuuuutuuuutttutttututttuuutuuuttututtttuttutuuututtttutuutttuututuutttuuuututtuttutututuuttuutttututtuttutttutuuuutttututuuttutttutttttuttuutuuuuuttuttttttttutuutuuuututtuuutttttttututttutututuutuutttuttutttttututtuutuuutttttuttuttttutututtuututututtututttttttttttutttutttttttttuuttuutuuutttutttttuuttttttttuuttttttttttttttutuuttttuuttttttuttuuttuttuututuuttttutttuttttttuutttutuuttttutututttuuutuutuuuuttttuttttttutttttutttuttttutuuuuttttttututtututututtuttutttutttuuttuuuuttttttttuututtutttuutttutuuuttututtttttttuuttttuututttuutttuuttutttuttuuuuttttuttuutttutttttttttuuutuuttuutttutuuuuuttutttututttuttttttutttttttuuuuttuuuttuututtuttttttuututtuttutuutttuttttuutttututttutttttututuututuuttttttttutttttuutttttttttuttttututtuuttuttuttututttttttttuuuuuututttttutuututtuttttutuuuututtuutttttttututttttututututttttttttttuttttttttttttuttutttututtttttuttutuututuuttututtttttttttuttuutuuttttttututtuuttttutttutututuutttttttuttttttttttuttutttttutttttuttutttutttuttutuuuttutuuuuutttttuuututtuttttuuutttutuuttttuuttuuuuuuuuutttuttttutututuuttuttututtuttuttttuuttttuuttuututuutuutututttuuuutttttuuutttuuutuutuutttttuttuttutuututttttutttutututtuutuutttuutututuuuuuututttuututtuuutttttutututttuttuututtutttuuttttuuutttuttutuuuuttuuuttuuututtuuttuutttttuttuttuttututtuutuuuuuuttuuuuutttttutututuuttuuututtutuuuututtuututtuuutuuuuuuuutuuuutuuttuututuuututtuttututuuttuuutttuttuttttuutuuuttutuutuuuuuuttutuutuutuuuutttututttuutttttuuutttuttttututuuututttuututtuttuuuuutuuttuuuuttuuuuuuuuututuuuuttuutuutuutuututuuuuuutuuuutttutttuutuuuutttuuutuutttuuutuuuutttuuuuututtuuuuututututuuttuuuuuuuttutuuutututtttuutuuttutuutuutuuutuuuuttuuttuututututtuttututtututuuttututuututututttuttuuuuuuutuuttuuuttuuuuuutututtuuutuuututttuuuttutuuuuututuuttuuttututuuutttuuuuttutttuuutttuuuuutttuttuttuutuuuttuuuuttutuuuututtuttutttutuuttuuuuutttttuuuuttttuttttuttutuuutuuuuuuttttttttutttutuuutuuutuutuuutttututuuuttutuuutttuttttuuttutttttuuutuuutttuuttuuutttuuutuuttuututututtttuuututttutuutttttuutututttttuttuuututtutuuututtuttuutuutuutttuuuutuuuuttttutuuuuuututuutuututututtttttututuuuututtuututuuututututttuuutuutututuuuuuuttuttuututuututtuutttutuuttuutttuuuutuuuuuutuuuuttutttuuuttutututuututtuuuututttututtututtttuuuuututttuuuttttuuututtutuuttutttuuuutuutututtttuuutttuuutttuttuutuuuttuttuuuutttuutttttututututuuuuuuututtttuutuuututttuuttuttuututttttutututttttuttuuuttuutttuututuutttuututututuutttttuuuuuttuuttutuuuutuuttuuuttuuttuuttuttutututtttttttuttttuuttuuutttttuututttuttututtuuuttuttuutututtutututtttuuttuttttuuuuttutttuuttuuututuutuuututtututtttttuuttutttuuuttuuutuutttuututuuttututuuuuuutututtutuutututuuuuttuttuutuuututtutuutttuuuuuttutututtuuuuttttuuttuuututttuuttutttuuttttttttuutttttutuuttuuttuutuutuuttttttuuutuuuttutututttuuuttuuttttttutttttttututtuttttuuutttttutttttttttttttutuuuutttutuuuutttuutttuuuuttttuuuttttttttuttuttuuutuuuttuuttutuuuttttutttuttuuuuttuututuuttuttttutttttuutututttttttutttuuuuttuuttttttutuuttuttuutuuttutttuuuuuttuutttuttututtttuttuuuuttuuuutuuttttuuuututtttuttttutututututtutuuuttttutuuuuuuttutttutttuuuuttutuuttttutututttttuttutttttutttuututututtutttuutututtuuuuttttuuutuuuuttttttutttuuututuutttuuuuttttuuuuuutttttttutttuutuuuuututtuuuutuutttuuuutttuutuutuutttutuutuutuuttuttuutututuuuttttuuuuutuututtttuuuutuuuttttututtututuutututututttutuuututuuuuututututttuttttututuutuutttuutuutuutuuutttttuttuutuutuuttutttttttttttutuutttuuttttuututttuuututtttttutttttuuuuuttttutuuuttuuututtttuututtttttutttututtutttttttuuututtuutuuuuuuuutututttuutuuuuututuuuuuuuututttttttuuuuuuutuutuuttuuuuttttttutututtuutuututtutuuuutttttuututtuttuututuuuututtutuutttuuttuuutuuuttuttuuuttttuttuuuuuuuttttuuuttutuuuttuuuututututtttuuuuttttuuututtuttuututuuuututtutuutttuuttuuutuuuttuttuuuttttuttuuutuuuttttuuuttutuuuttuuuututututuuuuuttuuuututtuuuututtttuuttuuutuuutututtuuuuttutuutuuttuttutttuttttuuuutututtttuttttuututuutuuuttuuuuututtutuuttututtuttuuuututuututttutttuuuuutuuutuuttututuuuuututtuuuuututtuuututtuutttuttuutuuutuutttuttututtutuuttuuttuuutttututtuuuuuuuuuutuuutuutuuuututuuutttuuuuutuutuutttuttuutttuttutttuuuutututuuttttuuttututtuttutuutuuututtututuuuuutuuttuttuuututtuuututttttttuutttutttuuuttutututttttuuuututuutuuuuutttutttuututtuttuuutututtuuuttuuutuuuuuuuttuuuutttuuttuttuuutuutuuuttutttututuutuututttuuttutttttuututttuuututtuuutuuuutttutuuttuttuuuttututuuuutttttuttutuuutttttttuuttutttututuuuutttuttuuttuttuutttuuutuutttuuttuutuuttuututttuuututtuttuuuttuuututtuuttttttututtttuuuuuuuttuttuuttuuttuuuutuutttttuuuuuttttuutttutuutuuttuuuuutttuttuttuutututuuuuttuuuttutuuuttuutttuuuttuuuuutuuuttuututttuuuutuuttuttuuttuuttttttttuutuuuututuutttuuuuuuuuuuuuttuuttuttttttuuututuuuttttuuuuuttuuuutuuutuututttutttutuuttuuuttuuuttuuttuutuuttuutuuuttuuuutuuttttuutuutuutuuttututututtttuttuttuutututtuutttuuuuuuuuutuuuuuuuuttuuuuttttuttuuutttuuututttuttutttututuutututttuutttuutttuttttuttuuuttuttuutuutututtuttuuuttuttutuuuuttuututuutuuttttututtuttuutuuttttttuttttutuutututttttutuutttttututtttutuuttutttuuttttttuttuuttuututuuuutuuuttuututuuututtuttttttttttuuttuttuttttttuttttuuutuututtuuttuuuutttttuttuutttttuttutttttttttuututtuuuuttuttuuttututuuuutututtttttuuuttttuuuttttuuututttututttututttuttuuututuuuttuttuuuuuuututuuuttuuttuutuuttutttutuuttttttututtututututttuutttutttuuttuuttuttttuttututttuuutuutuuutttttuttututtuuutttututtutuuttttuttttttuutuuuttuuuttuttutuuuuuutuuuuuutttuttttuttuuttuutututtuutututuuuuuuttuuutuutuuutuuttttttutuuttuuuuuuutuutttttutuuutuuuutuuuututttuttuuutttutuutttuuttuuuuuuututtuuutttuutuuuututtuuuuuuttuutttttututttuuuuuttttttuuttttutuutututttuuutuututtttuuututuutttutuuttttuttttuttuuttuututtututttuututututuutuuuttttttutttttutuuttttttuutututttutttuttuutttuuttttuuttuttuututtuttttuutuuuuuuuuttuuuuttttuuuututtututtttttuttuutututtttuuttuuutttutuuutttuttuttutuutuutututututuututuuuutttttttttututuuuututtttttuuttuttuuuuututtuttutuuttttututtuutuuututtuuutttttuuutuuuuttttuttuutuuttttttttttutttuutuutututututuuuttuuuutttuutututtttuuuttttutututuuttuututttttuututuutuutttttuuuttuuttuuutuuutuuttutuuttuutuututttuuttuuttutututuuuutuuttttuuutttuuuttuuuuttttuututuututuuttutuuutttututuuuututttttttuuuttuuuutuuttututuutuuutuuuuttutttuuutttttuuutuuttututuuutttuttuutttuuttuutttttuttuttttutuuututututttuuuttuututtuttttutttttututuuuuututtuttttuututttutttttuuttttuttttttuutttuutttuttuttuttttututtututututtttutttttuutuutuuutututuututtututtuuttutttutttttuuututtuuuuuutuututtttutuuttuutttuutuututtuutttutuututttuuttutttttuttuuuuuuuuuuttttutttuuuutttuttuttttuttututtutttututtttttututuuttutuutuuututuuttuutttutuuttuutuuttutttututttuuuttutututuututtuutututttuutuutututtuuuttutttttutttutttuttuttttuttutuuututttuutuututtuuuuttuutttutuuttttttututututtuuttuutuuttuuuttttuttutttttuuuutuututtuuttttutuuttuutuuututuuututtutuutttuuuuttutuututtttttttuttutuuuuttutttuttuuttuutuuttuuuuuuutututuuuuututuutuuttuuuttututuuuuttttututuutttuutuututttututtuutuutuuuutuututuutttutuutttuuuuttuttttttuuuutuuttutuuuuuuuuuuutuuuuuuututututututuuuutttuuuuttutttuuuutttuuuutttutuuuuuttutuuuuutuuttuttutuuuuutttutttuutututututututtutuuutttutuuuttttuutuuutuuuuttttuuttttuuutuutuututtuttutttttutuuuuutuutuuttututtuuutuuutttuutuuuuutuuuuututuuutututtuutttuttutuutuuuutuuutututtuttuuuuuuttuttutuututttututututuutuuuutuutttuttuuutuuutttuututuutuuuutuuttuuututttuuuutuuttutuuutuuututtutttututututtututtuttuututtttuuuuututttutuuutuuuutuuttututuututtuttuuuututtututtutuututtuuuttttttuuuuututuuuuuttuttutuuuttuuutuutuuttuttutuuttttuututtuutttutuuutuuututuuutuuttututuuuutttutuuuututuutttutututtttuuttuttuuttuututttuuuuttututtuttuuututtutttttttuuutuuuttuuutuuuututtttututttttuutuutuuuttuuttuutuututuutututtttttuuutututtuuuttuuuutuuuttutuuttuutuuttuutttttttuututttutuuuuttttuutuutuutuuutututtuuttuuuttuttttutuuutttutttuuututttuututuuttuuutuuuttuuututuuttttuttuuuttttttuuutuuttttutututuuuuutttuuuutttuuututtuututuututtttuuttuttuuuuuuttuuuuttutttttuttttttuttttuttuuutttututttttutuuuuutttututtuttutttutuutututtuttuuututututtuttuttutuutttuuuttttttuutuutttuututututtuttututuutuuuuttutttuututtuttutttuttutuutttttttuuuuutuutuuuuuuutttuuutuuuututttuuutttuttutuutuuttttuutttttttttuuttttututtuutttuuututttutttttutttttutuuutttututtuuttututtuuttttuttututttutttttuutttuuututttuutuuututtttutuutttttuututttuuutuutttttttttttttttuuttuttutuututuutuuuuuutuuttttuuuutttuuuuttuttttuuttttuuutuututtutttttuutttuuuuttutututuuutuuutututtttttttuuuutututtuutuuttttttuuutttutttutttttttuuuuutttttttttttttutuuttuuutttttuttuuttttttutttutuutuuuuttuttuutttutututtttutttuttuututtuuuutuuututtttutttutuutttuuttuutttuutuuttuutuutttuuuutuuttttututuuutttuttututtuututttuutuuttttttututtttuututuutuutututttuuttutuuttttttttuuuuttutttuttututuuttuuutttttutuuutuututtuuututtttuututuuutttttuutttutuutttutttututtuttuttuutttuututututtuuttttuttuuttttuuuttttuuutttuutttttttuttuttuutttutuututtttutuuuuuuttttuuuutututtuutuuttutututuutttuuuuutuuutttuuutuuuutuutuuuuuuttutuuuuutututtutttuutuuutuuuttutttuuuuuutuuttutuuuuuuutttuttuuttuuutuuuuttttuttuuuuuuututuutuuuuuuuuuuututtuuuuuuuttuuttututuuuuutuuuuuuuuuuuttutuuuttututuuuuuttuuuuutuutuuuututuuutuuuuuuuttuuuutuuuuututtuuuuuututuutttuutuuttutuuuutututuuuutttututuuttttuuuuuutttututututtttttutuututuuuuuuttuuuuuutttuutututtuuuttutuuuuuuututtttuutttututttutttutuuutuuuutuuuutuutuutuuutuuuttututuuuutttututuutuutuutuuuuuutuuuutuutuututuuuuututuuuuutuuuuuuuuttuuuuuttuutuutututtuuuutuuututtuuuuuutuuutututuututttuuututtutuutuuuuuuuuuuuttttuuutuuutututtuutttuuuuutuututtuuuuuuttttttuuuuutuuuuuututuuuuttttttuuuuutttutuuttutttttttuuuuutttuuuutuuuuttuutuuututuuuuuuutuuuuttttutuutttuttuttuutuuttuuuuttuuuuututtuuuuutttutuutuutttututuuuuuutuuuuutuuuuttuututututututuuutuutuuuttutuutuuuututtuuuuuutuuuuuututuuttttuuuuttutuuuuuttuuttuuutuututttuuuuututttuuuuutuuttuuuuttttutuuuuuuuuuuuuututtuuttuuuuuuttuuuutututuuutttuuuuuuuuuuuutuuuuuttuutttuutuutuuuuuttuutuuututuuuttuutuuutttuuuuuutuuutuuuuuuttututtuuuututuuttutuututtuutuuutuuuuuuuutuuuuuuuttutuuuuttutttttuutuuuuuttttuuuttutuuuuuuuuuutuuuuuututtutuuuuututtuttuuttuuututuuttutuuututuuuuuuuuuuuuuuuttuuttuuutttuuuuuuuuttuttuuuuuuuuuutuutuutttuutuuutttutuuuutuuuuuutuutuuututuuuuuuuuuuuuuututttuttuttuttuuttuuuttttttututuuttuuttuttuuuuuutttttuututuuttututtutuuuuutututuuttuututuuuututttuuuutuutuutuuttuutttttuuuututtuuuttuuuttuuutuuttutttuuuuuuutttttttuuuutttutuuutuuuttttutututututttutttututuuttututuuututtuuuutututuuutuuutuuuttttututuuttutuuuutuuuttuuutuuttuuuttuttuuttttuuututtututttututttuuttttuttuuutuuutuutututtttttttutuuuuttututtttuttttuuuuutututtututtuututttuuuttttutttutuuuuututttuuttttuttuutututtttttuttttuutuuutttuuuuutttutttttutttttuuutuuttuuuttutttuuututuutuuuututttttutuuuuutttutttutuutuuuttuuuuututttttttutuutuuuuttutuuutuuututttuuutuuuuuuttuuuttuuuuuutuuttuttttututuuttuutuuttuuutttuutuuutuuuttuttuuttttuuututtututttututttuuttttuututttttutuuuutttttuututttuttutuututuuttttuuttuuutttttuutuuttuututtuuuuttuuuttuuuuttuuutttuttuuuuuuttttututtuutuuuttuuttuttuuttutututttutttttuututuututtuuuuuuttuutttuutuutuuuutuuuuttttutuutuuutttuuuuuuutuuuttuuutuutttuuuttuuutttutuuttttuuutuuuuutuutuuuttutuuuuuuuuttuttutuutututuuttututttuuutututttutuuttuuttututuuuututtuuuuttututututuuuuutuutuuutttttuutttutttutuuttuuuutuuutuutuuttuutttutuutuutttututuuuttuuttuututtuuuuttttutuutttttutuuuuuuuttuuttttuuuuutuuuuuututuuuuuttuuuutttuuuuttuttttuuutututttuuututttttttuuttuuuuutttttuuuttttuuttuttuuttutuuuuuuuuttuttutuuuuttttuututtuttuttttuuututttuttuuuuttuutuuututtttttuuuuuuuuttutuuuttuuuuututuuttuuttuutuutututuuttttuuuuuuttuuuuuuttututuutuutuutuuttttuuttuututttuuuutuuttuttuuttttuututtttuttutuuttuuttuutuutuuutuuttttuuuuuuttuuuuuuututttuuttutuutuutttttutuuututttuuuutuuttuttuuututuuuuttttuttutuuttttutttuututuuttttutttuutuuuuuutuuttutuutttututtuuuttuttutttuuuututtuututuuuttttttttttututuuttutuuuuuttuttttuuuttuuutuuuuuttuuuutttuuututuuuuuttutttuutuututttuuuuuutuuuuutttutuututttutuuuutuuuttuttuuuttututuuuuuttttutututtuututuuuuttuttutuuuututuuuuuuttuttututtuttuuutuuuuuuuuutuuuuttttutttttuuuttuutuuttuuuuututuuututuututuututttutttuuuutuutttuuuutuuuttutttttttuuttutttuututuuuttuutuutttuttutuuuuuttttutttttuuutuutuuuuttuuutuutututuuuuuttuuuuuuuuttutuuuuutututuuuuuutututuututtuttututtuttttuuututtutttutuuutuuuuuuuutuuuuuttttuuutuuututtutttuuuuttututuuuuutuutuutuuutuuuututuuuuuuuuutuuuuuttutttuuuuttuuuutttutuutuuuttutuutuututtttuututuutuuuttutuuuttuuutuuttutuuuuuttuttuuutuuuutuutuutttttuutuuuututuuttuutuuttuttuuutuututtutuuttutuutttuutuutttuuuuuututuutuuuutuutuuuttttuuuuuuttuuuuuuttuuututtutuuuttututututuutuuuuututuuuuututtttuuuuuuutuuttutuuutututuutuutututututuuuuututuuttututututtuuuuututuuuuuuutuuttuuuuutttuuuuuuutuuuuuuuuutuutuuuutttuutututuuuuutuuuttuuututtuuututttutuuuuutututuuttutuuuutttuutuuutttuututuuttuttuuttututtuuttttttuuuuuutuutututtuuuttttutututuutttutuuuuuutuutuututtuttuutuuuutttuutttutttuuuututtuuuttuututttutuutuuuttuttutuuuuuuttuuutttuuuututtutuuuuuttttuttuuutuutttuututututttuuuutututuuttutututuuutuutututtututuuuttuutuuuuttutuuttuuututututuuutuutuutuutuuttuttttuututuutuuuutuuututtututuuuuuutuuututuuuuuutuutuutuuutuutututttuuuutuuuutuuutuutututttuuttttuutuututuutttutttuttuuutuuuttttuuuttuuuutttututtuuuttuuuuuttututtttuuuuutuuuuuttuutuuuuuttttttuuuuuttttutttttuututtuuuututttuuttuuututttuttttuuttuututttuutuuuuttutttuutttutttuuutttuttuutuuuuuuututtututtututututuutttuuuuutuuuutttuuutttutuuuuuttututtuuttuuutuutuuuutuutttttttutuutuuttututtuutttttututttuututuuutuuuttttuuutuutututuutuuuuutututtuuuttutuutttuttttuutuuuuttuuuuttttutuuutuuuututuutuututtuuttttuttututtuuuuuuuuuttuututtuttuuutuuuuuttuuuttutuutuuuttutuutuututtutuutuuuttuuttututtututttutttuttutttuttutuutuuuuuttuttututuuuutttuttttutttutuutttuuuttuuuutuutuuutuuuttuuttttutuuuuttuuuuttuuuutttuuututuutuuuuttttutuuuuuuuuuutuuuuuuttuutuuuuttuttuutuutututututuutuuttuttututtuuttuttttuttttttuttttutttutuuttttttuttuutuuutuuttuututuuttuuuutuuutututuuttuttututtuttttutuuttuuuutuuttuuutuutuuutuuuutuuuttutuuuuttutuuttuttttutttuuttttttttuttutttttttuttttutututututttttutttuutuuttttttuttttttttutttuuuuutuuuutuuuuttututtuutuuttutuuutttuuututttuuuuututttuuutuuuuuttuuttuuuuttuuttutttuututuuttutututttttutuuutttuuuutttuuuttuuuttttuuuuutuuuttutttuuutttttuttuututttttuuttuutuutuuuutttuutuuuututtttututuuuuuutututtuuuuuuutuutututuutttttttttuttttutuuuuttttuttuuututuuuuuuuttttttutttuututtttttutuuuuttuuttuuuuuutuuuutttututuuuttttutttutttuututuutuutuuuututuututuuuttttuuuutuuuttuuutttututtuttuttttttuuuututututtuuttutuuututtutuutttuutttuututuuuutuuuuuttutuuutuutuuuuuuuttuuutuuuuutttttuttttututuuutttututttutttuttutuuuuuuututtuutuuuutututtuttututtuttuttuutuutuuuuttttttuuttuuututtuututuuututttuuuutttutttttuuutuuttuttutttttututuuuuuuuttuuuuuututuuttuuuuuttuuuttuuttuututtuutuuuutttuttututuuutttutttuttuuuuuuuututtututuutttutuuuttuuuututuuuuuuuttuttttuutuuutuuuuuutuuuuutuuutuutuuuuuuuttuutuuuutuuuuuuuuuuuuuuutuutuuuuuutuuttuuututtuuuuuuuuuuututtuutuuuutttuuutuutuuuuuuuuuuuutuuuutuuuuuuttuuuuutttutuututttuuuuuututtuuuuutuuuutuuuuttuuuutuuuutuuuuuuuutuuuutuuuuuuuuttuuuuutuututututuuuuuuutuuttuuuuuuuuuuuuututuuuuuuutuutuuutuututttuuuuttuuuuuuuuttuuttuutuuuutuuuuutuutuuuuuuuuuuuuuuuuutuuuuuuuuuuuuutuuuuuutuuutuuuttutututtutuutuutututuuuuutuuuutuuuuutuuuuuuuuuuuuuuututuuuutuuuutuuuuttutuuuuuuuutuutututuuuutuuuuutuutututttutuututuutuuuttuuuuttuuuuttutuuuutuuuutttuuutuuuuuuttttututttuutuuuttutuuuttuttutuutuuutuututttuttutuuttuttttuuuuutuuuutuuuuutututtututtttuttuuuttuututuuuuuuuuttuttuuuuutuuuttttuttuuutttuutuuuutuututuuuttutuuuuutututuuuttuutuuuttuutttttuuuttutttuuuuuttutuuuutuuututuuttuuutuutuutuuuuuuutuutuuutuuututuuutuutttuuttutuuutuuuttuuututttuttttuttututtuuuuuuutttttuuttuututuuttuttuttuttutututuuuuuuutttuuuutuuuttttuuuuututtuutuutuuuuuuttutuuttuuttuutuuttutuuutttuttuuuuuttuttttttutututtuttuttttuututtutuuuutuuuttuttuttttutuuuuttututtuuuuuututtuuuuutttutuuuuututtuttuuuutttuuuuuututttuuuttuuututututtutuuututututtuutuuuutttuttutuutuuuutuuutututtuttuuuuuuttuttutuututttttutututuutuuuututuuuuuuttttutuuututuuutttutuuttuttutuuuuttttuuttuuuttuttutuuttututuututuuuttuutuuuuutuututuutttutuuuutuuuttttuuuuuutuuutttuuuuuuttuututuuuuuututuutuutuutuuttututtuuttuuttuttuuttutuuttuuututuuututuutttututtuuuuttututututttttututuutttuutuuuututuutuuuututuuuututuuttuutuuutttttututtttuuuttuuttuttuuuuuutuuuttuuutuutttutttttuuutututtuuutuuuttuttttutuuttutuuttttututtuutttuuuututttuttuttuuttttuttttuuuutuuutuuuuuuttuutuuuttttutuuutuuuttututtutuuutuuuttttuutuuututtututuutuuuuuuutuuuuuuttuuuuttuuuttuttuuuttuuutttttuuuutuuututtuuututtttuuuttuttuuuuutttttuuttttttttuututttttuuuuutuuttuutututtutuutuutttuuutuuutututuutuuututuututuuttuututtttuuuututuuuuuttuuuuuuuttuuuutuututtututtuutuuututttttutuuuuututttutuuuuuuuuttttuuutuuttutttututtuuttttuttutuuuututtutuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuutuuuuuutuuuuuuuuuuuuuuuuutuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuutuuuuuuutuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuutuuutuuuuuuuuuuuuuuuuuuuuuuuutuuuuttuttuuuuuuuuuuuuuutuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuutuuuuuuuuuuuuuuuuutuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuutuuuuuuuuuuuuuuuuuuuuuuutuuuuuuutuuuuutuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuutuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuttuuuutuutuuuuuuuuuuuuuuutuuuutuuuuuuuttuutuuutuutuuuuuuuuutuuuuuuuuuutuuuuuuuuuuuuuuuuuuuuuuutuuuuutuuuuuuuutuuuuuuuuuuuuuuuuuuuuuuutuuuuuuuuuuuuutuuuuuuuuuuuuuutuuuuuuuuuuuuuuuuuuuuuuuuuuuutuuuuuuuuuuuuuuuuuuuuuuuuutuuuuuuuuuuutuuuuuuuuuuuuuutuuuuutuuuuuuutuuuuutuuuuuuttuuutuuuuuuuuuuuuuutuuuuuutuuuuuuuuuuuuuuuuuuuuuuuutuuuutuuuutuuuutttuuuuuuuutuuuuuuuuuuuuutuuuuuutuuuuuuuuuuuuutuutuuutuutuuuuuuuutuuuttutuuuutuuuuuuuuuuuuutuuuuuuuuuuuuuuuuuuuuuutuuuuuuuuuutuuutuuuuuuuuuuuuuuutuuuutuuuuuuuuuuuuuuuutuuuuuuuuuuuuuuuuuuuuuttuuuuuutuuuuuuuuuuuuuttuutuuuutuutttuutututuuuuutttuuuuuuuuuuuututuuttutuuttuutuuuuuttuuuuutuuuutuuuuuuuuuuuuututttuuuutuuuututtututuuutuutuutuuuttuuutuuuuuuuuuuuuututuutuuuuuuuutuuuuuutuuutuuuuuuuuuuuuuuuuuuuttuuuuuuuttuuuuuuuuttuuuuuuuuuuuuuuuututuuuuuttuuuuuuuuuuuuuuuututtuuutuuuuuuuuutttuuuuutuuuuutuutuuuuuututuuuuuuuutuuuuuuuutuuuuuuuuuuttttutuutuuuuuuuttuuuuuttuuttuutuuuuuuutuuuuuuuuttttuuuututtuuttuuuutuuuuuuutuuuuuutuuutuuuuuututuuuuutuuuuuuuuutuuuuuuuuutuututuuuuuuttutuutuuuuuuuutuuuutuuuutuuutuuuuuttutuututttutuuutuututuuutuutuuututtuuuutuuuttuttuuuuuutuuuttutuuuuutuutuuuuuuuuuuuuuuuuuutuuuuuuuuuutuuuuuuuutuuutuuuuutuuuttutuuuuuuutuuuuuuuutuuuttuutuututuutttuututuutuuttuuuuuttuuutuuutuuuttuttutuuuuttuututtuuutuuttttuutuuutuuuutuuuttuutututuuuuutuuutuuuutttuuuttuuuutuuuuuttuutututuutuuutttuuuuuuuutuuuuuuuuttuuttuttuttttuuuututtututuuuutuuutuuuutuuuuuuttuuuttuuuuuutuutuuuututuututuuutuuuutuuuuutuutuutttuuuuuttutuututuuttuuuuuuuuuuutuuuuuuutuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuutuuuuuuuuuuuuuuuuuuuutuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuutuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuutuuuuuuuuuuuuuuuuuuuuuuuuuuuutuutuuuuuuuuutuuuuuuuuuuuuuuuuuuuutuuuuuuututuuuuuuutuuuuuuutuuuuuttuuuuuuuuuuutuuuuuuuuuuuuuuuuututtuuuutuuuuuuuuuuuuuuuuuuuuuuutuuuuutuuuuutuuuuuutuutuuuuutuuuuuuutuuuuuuutuuuuuuuuuuuuuuuuuuutuuuuuuuuuuuuuuuuuuuuuuuuuutuuuuuutuuuuuuuuuuuutuuuuuutuuuuuuuuuuuuuuuutuuuuuuutuuuuuuuuuuuuuutuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuutuuutuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuutuuuuuuuuuuuuuuuuuuuuuuuuuuuutuuuuuutuuuuuuuuuuutuuuuuuuuuuuuuuuuuuuuuuuuuuututuuuuuuuuutuuuuuuuuuuuuuuuuuuuuuuuuuuuuuutuuuuuuuuuuuuuuuuutuuuuuuutuuuuuuuuuuuuuuutuuuuuuuuuuutuuuuuuuutuuuuuutuuuuuuuuuuuuuuuuutuuuuuuutuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuutuuuuuuuuuuutuuuuuutuuuuuuuuuuuuuuuutuuuuuuutuuuuuuuuuuuuuuuuuuuuuuuuuuuutuuuutuuuuuuuuuuuuuuuuuuuuutuuuuuuuuuuuuuutuuuutuuuuuuuuuuuuuuuuuuutuuuuuuuuuuuuutuuuuuuuutuuuuuuuuuuuuuuuuuuuuuutuuuuuuuuuuuutuuuuuuuuuuuuuutuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuutuuuuuuuuuuuuuuutuuuuuuuuuuutuuuuuuuuuuuutuuuuuuuuuuuutuuuuuuutuuuuutuuuuuuuuuuuuuuuuuuuuuutuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuutuuuuuuuuuuuuuuutuuuuuuuuuuuuuuuuuuuuuuuutuuuuuuuuuuuuuuuuuuuuuuuuuuuuuutuuuuuutuuuuutuuuuuuutuuuuuuuuuuuuuuuuutuuuuuuuuuuuuuutuuuuuuuuuuutuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuutuuuuuuuuuuuuuuuuuuutuuuuuuuuuuuuuuuuuuuuutuuutuuututuuuuuuuutuuuuuuuuuuuutuuuuuuuuuuuuuutuuuuuuuuutuuuuuuuuuuuuuuuutuuuttuuuuuuuuuuuuuuuuuuuuuutuuutuuuuuuuuuuuututuuuuuuuuuuuuuuuuuuuuuuuutuuuuuuuuuuuuutuuuuuuuuuuuuuutuuuuuuuuuuuuuuuuuuuuuuutuuuuuuuuuuuuuuuuuuuuuuuuuuutuuuuuuuuuuuutuuuutuuuuuuuuuuutuuuuuuutuuutuuuuuuuuutuuuuutuuuuuuuuuuuuuuuuuuututtuuuuuuuuuuuuuuuutuuuuuuuuuuutuuuuuuuuuuuuututuuuutuuuuttuuuutuuuuutuuuuuuuuuuuuuuuuuuuuuutuuuutuuuutuuuututuuuuuuuuuuuuuuuuuuuuutuuuuuuuutuuuuuuuuuutuuuuuututtuuuuuuutuuuuuuutuuuuuutuuuuuuuuuuutuuuuuuuutuuuuutuuuuuuuuuuutuutuuuuuuuuuutuuuuuuuuuuuuuuuuuuuuuuutuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuutuuuutuuuuuuuuuuuutuuuuuuuuuuuuuuuuuuuuuuuuuutuuuuuuuuuuuuuutuuututuuutuuuuuuuuuuuuuuuuuuuututuuutuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuutuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuttuuuuuuuuuuuuuuuutuuuuuuuttuuuuuuuuuuuuuuuuuuuuuuuutuuuuuuuttuuuuuuuutuuuuuuuuuuuuutuuuuuuuuuutuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuutuuuuuuuuuuuuuuutuuuuuuutuuuuuuuuutuuuuuuuuuuuuuutuuuuuuuuuuuuutuuuuuuuuuuuuuuuutuuuuuuuuutuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuttuuuuuuuuuuuuuuutuuuuutuutuuuuuuuuuuuuutuuttuutuuuuutuuuuuuututuuuuuuutuuuuuuuuutuutuuuututuuuuuuuuutuuuuuuuuuuuuuuuuuuutuuuuuututuuuttuutuuuuutuuuutuuuutuuuuuuuuutuuuuuuuuuuuuutuuuuuuuuuuuuuuutuuuuutuuuuuuuuuttuuuuuuutuuuuuuuttuuuuuuutuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuutuuuuuuuuuuuuutuuutuuuuuuuuuuuuuuuuuuuuuutuutuutuuutuuuuuuuuuuuuututuuttuuuuuuutuuuuuuuuuuuuuuuuuuuuuuuuuuuuutuuuuuuuuuuuuuuuuuuuuuuuuuutuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuutuuuuuuuuuuutuuuuuuuuuuuuuuuuutuuuuuuutuuuuuuuuuuuuuuuuuutuutuuuuuuuuuuutuuuuuuuuuuuuuuuuuutuuuuuuuutuuuuuutuuuuuuuuuuuutuuuuuutuuuuuuuuuuuuuuuuuuuuuuuuuuuuttuuuuuuuuuutuuuuuuuuuuuuuutuuutuuuuuutuuuuuuuuuuuuuuuuuuuuuuuuuuuutttuuuuuuuuuuuutuuuuutuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuttuuuuuuuuuuuuuuuuuuuuuuuutuuuuuttuuuuuuuuutuuuuuuuttutuuuuuuutuuuuuuuuuuuuuuuuuuttuuuuuutuuuuuuuuuuuuuuuuuuutuuuuuuuuuuuuuuuuuuuutuuuuuuuuuuuuuuuutuuuuuttuuuuuuuuuuuuuuuuuuuuuuuuutuutuutuuuuuuutuuuuuutuuuuuuuuuuuutuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuutuuutuuuuutuuuuuuuuuuuttuuuuuuuuuuuuuuuututuuuuuuuuuuuuuuuuuuuuuuuuuutuuuuuuuuuuuuuutuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuutuuuuuuuuuuutuuuuuuuuuuuuuttuuuuutuuuuuuuuuuuuuuuuutuuuuuuuuutuuuuuuutuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuutuuuuuuuuuuutuuuuuuuuuuuuutuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuutuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuutuuutuuuuuutuuuuuuuuuuuuuuuuuuuuuuuuuuutuuuuuuuuuuuuuuutuuuuuuuuuuuuuuutuuuuuuuuuuuuuuuuuuuuuuuutuuuuuuuuuuuuuuuuuttutuuuuuutuuutuuuuuuuuuuuuutuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuttuuuuuuuuutuuuuuuuuuuuuuuuuuutuuuuuuutuuuuuuuuuuuutuuuuuuuuuuuuutuuuuutuutuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuutuuuuuuuuuuuuuuuuuuuuuuuutuuuuuuuuuuuuuuuuuuutuuuuuuuuuuuuuuuuuutuuuuuututuuuuuuuuuuuuuuuuuutuuuuuuuutuuuuuuuuuuuuuuuuuuuuuuuuuuuuutuuuuuuutuuuuuuuuuuuuuuuuuuuutuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuutuuuuuuututuutuuttuuuuuuuuuuuuuutuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuutuuutuuutuuuuuuuuuuuuuuuuuuuuuuuuuutuuuuuuuuuuuttuuuuutuuuuuuuuuuuuuuuutuuuuuuutuuuuuuuuuuuuuuuuuuuuttuutuuuuttuutuuuuuuutuutuuutuuuuuuuuuuutuutuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuutuuuuuuuuuuuutuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuutuuuuutuuuuuuuuuuuutuuuuuuuuuuuuuuuutuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuutuuuuuuutuuuuuuuuuuuuuuuuuuuuuuuuuuutuutuuuuuuuuuuuuuuuuuuuuuuuuutuuuuuuutuuuuuuuuuuuuuuuuuuuuutuuttuuuuuuuuuuuutuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuutuuuuutuuuuuuuuuutuuuuuuuuuuuuuuuuuuuuuuutuuuutuuuuuuuuuutuuuuuutuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuutuuuuuuuuuuuuuuuutuuuuuuuuuuuuuuuuuuuuutuuuuutuuuuuutuuuuuuuuuuuuuuutuuuuuuutuuuuuuuuutuuuuuuuuuutuuuuuuuuuuuuuuuuuutuuuuutuuuuuutuuuuuuuuuuuuutuuuuuutuuuuuuutuuuuututtuuuuuuuutuuuutuuuuuuuuuuuuuuuuuuuuuuuuuuuuuutuuuuuuuuuuuuuuuuuuuutuuuuuuuuuuuuuuutuuuuuuuuuuuuutuuutuuuutuutuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuutuutuuutuuuuuuuutuuuuuuuuuuuuuuutuuuuutuuuuuuuuutuuuuutuutuututttutuuuuuuutuuutuutuuuuuuuuuuuuuuuuuuuuuuuuutuuuuuuutuuuuuuutuuuuuuuuutuuuuuuuuuuutuuuuuuuuuuuuutuuuuuutuuuuuuuuuuuuuuuuuuuuuuuutuuuuuuuuuuuuuuuuuuuuutuuuuutuuuuuuuuuutuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuutuuuuuuuuuuuuuuuuuuuuutuuuuuuuuuuutuuuuuuuuuuuuuuttuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuvuuuuuuuvuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuvuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuvuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuutuuuuuuuuuuuuuuuuuuuuuuuutuuuuuutuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuutuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuutuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuutuuuuuuuuuuuuutuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuututuuuuuuuuuuuuuuuuuuuuuuuuuuuuuutuuuuuuuuuuuuuuuuuuuutuuuuuuuuuutuuuuuutuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuutuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuutuuuuuutuuttuuuuuuuuuuuuuuuuuuuuuuutuuuuuuuuuuuuuuuuuuuutuuuuuuutuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuutuuuuuuuuuuuuuuuuuuuuuuuuututuuuuuuuuuuuuuuuuuuuuuuuuuuuututtuuuuuuuuuuuuuuuuuutuuuuuuuutuuuuuuuuuuuuuuuuuuututuuuuuuuuuuuuuuuuutuuuuuuuuuuuutuuuutuuuuuuutuuttutuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuutuuuuuuuuuuuuuututuuuuuuuuuuuuuuuuuuuutuuuuuuuuuuuuuuuuuuutuuutuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuutuuuuuuuuuuuuuuutuuuuuuuuuuuuuuuuuuuuuuuuuuuuutuuuuuuuttuuuuuutuuuuuuuuuuuuutuutuuuuuuutuuuuuuuuuuuuuuutuuuuuuutuuutuuuuuuuuuuuuuuvuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuvuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuvuuuuvuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuvuuuuuuuvuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuvuuuuvuuuuuvuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuvuvuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuvuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuvuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuvuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuvuuuuuuuuuuuuuuuuuuuuuuuuvuuuuuuvuuuuuuuuuuuuuvuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuvuuuuuuuuuuuuuuuuvvuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuvuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuvuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuvuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuvuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuvuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuutuuuuutuuuuuutuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuutuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuvuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuvuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuvuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuvuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuvuuuuuuuuuuuuuuuuuuuuuuuuuuuuuvuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuvuuuuuuuuuuuuuuuuuuuuuuuuuuuvuuuuuuvuuuuuuuuuuuuuvuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuvuuuuuuuuuuuuuuuuvuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuvuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuvuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuvuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuvuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuvuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuvuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuvuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuvuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuvuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuvuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuvuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuvuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuvuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuvuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuvuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuvuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuvuuuuuuvuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuvuuuuuuuuuuuuuuuuuuuuuuuuuvuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuvuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuvuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuvuuuuuuuuuuuuuuvuuuvuuuuuuuuuuuuuuuuvuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuvuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuvuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuvuuuuuuuuuuuuuuuuuuuuuvuuuuuuuvvuuuuuuuuuuvuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuvuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuvuuuuuuuuuvuuuuuuuuuuvuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuvuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuvuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuvuuuuvuuuuuuuvuvuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuvuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuvuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuutuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuutuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuvuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuvuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuvuuuuuuuuuuuuuuuuuuvuuvuuuuuuuvvuuuuuuuuuvvuuuuuuuuuuuuuuuuvuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuvuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuvuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuvuuuuvuuuuvuuuuuuuuuuvuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuvuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuvvuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuvuuuuuvuuuuuuuuuuuuuuuuuvuuuuuuuuuuuuuuuuuuuuuuuuuuuuuvuuuuuuuuuuuuuuuuuuuvuuvuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuvuuuuuuuuuuuuuuuuuuvuvuuvuuuuuuuvuvuuuuuuuuuvuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuvuvuuuuuuuuuuuuuuuuuuuuvuuuuuuuuuuuuuuuuuuuuuuuuuvuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuvuuuuuuvuuuuuuuuuuuuuuvvuuuuuuuuuuuuuuuvuuvuuuuuuuuuvuuuuvuuuuuuuuuuuuvuuuuvuuuuuuuuuuuuuuuuuuuuuuuuuvuuuuuuuuuuuuuuuuuuuvuuvuuuuuuuuuuuuuuvvuuuuuuuuuuuuvuuuuuuuuuuuuuuuuuuuuuuuuuuuuuvuuuuuuuuuuuuvuuuvuuuuuuuuuuvuuvuuuuuuuuuuuuuuuuuuuuvuuuuuuuuuuuuuuuvuuuuuuuuuuuuuuuuuuuuuuuuuuvuuuuuuuuuuvuuuuuuuuuuuuuuuuuuuuuvuuuuuuuuuuuuuuuvuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuvuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuvuuuuuuvuuuuuuuuuuuuuuuuuuvuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuvuvuuuuuuuuuuuuuuuuuuuuuuuuuuvuvuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuvuuuuuvuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuvuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuvuuuuuuvuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuvuuuuvuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuvuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuvuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuvuuuuuuuuuuuuuuuuuuuuuvuuuuuuuuuuuuuuuuuvuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuvuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuvuuuuuuuuuuuuuuuuuuuuuuuuvuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuvuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuvuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuvuuuuuvuuuuuuuuuuuuuuuuuvuuuuuuuuuuuuuuuuuuuuuuuuuuuuuvuuuuuuuuuuuuuuuuuuuvuuvuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuvuuuuuuuuuuuuuuuuuuuuvuuuuuuuuuuuuuuuuuuuuuuvuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuvvvuuuuuuuuuuuuuuuuuuuuvuuuuuuuuuuuuuuuuuuuuuuuuuvuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuvuuuuuuvuuuuuuuuuuuuuuuvuuuuuuuuuuuuuuuvuuvuuuuuuuuuuuuuuvuuuuuuuuuuuuvuuuuvuuuuuuuuuuuuuuuuuuuuuuuuuvuuuuuuuuuuuuuuuuuuuvvuvuuuuuuuuuuuuuuvvuuuuuuuuuuuuvuuuuuuuuuuuuuuuuuuuuuuuuuuuuuvuuuuuuuuuuuuvuuuvuuuuuuuuuuuuuvuuuuuuuuvuvuuuuuuuuuvuuuuuuuuuuuuuuuvuuuuuuuuuuuuuuuuuuuuuuuuuuvuuvuuuuuvuvuuuuuuuuuuuuuuuuuuuuuvuuuuuuuuuvuuuuuvuuuuuuuuuuuuuvuuuuuuuuuuuuuuuuuuuuuuuuuuvuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuvuuuuuuvuuuuuuuuuuuuuuuuuuvuuuuuuuuuuuuuuuvuuuuuuuuuuuuuuuuuvuvuuuuuuuuuuuuuuuuuuuuuuvuuuvvvuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuvuuuuuuuuuuuuvuvuuuuuvuuuuuuuuuuuuuvuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuvuuuuuvuvuuuuvuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuvuuuuuvvuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuvuuuuvuuuvuuvuuuuuvuuuuuuuuuuuuuuuuvuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuvuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuvuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuvuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuvuvuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuvuuuuuuuvuuvuuuvuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuvuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuvuuuuuuuuvuuuuuuuuuuuuuuvuuuvuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuvuuvuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuvuuuuuuuuuuuuuuuuuuuuuuuvvuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuvuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuvuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuvuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuvuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuvuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuvuvuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuvuuuuuuuuuuuuuuuuvvuuuuuvuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuvuuuuuuuuuuuuuuuuuuuvuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuvuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuvuuuuuuuuuuuuuuuuuuuvuuuuuuuuuuuuuuuuuuuuuuvuuuuvuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuvuuuuuuuuuuuuvuuuuuuuuuuuuuuuuuuuuuvuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuvuuuuvuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuvuuuuuuuuvuuuuuuuuuuuuuuuuuuuuuuuuuvuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuvuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuvuuuuvuuuuuuuuuuuuuuuuuuuuuuuuuuuvuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuvuvuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuvuuuuuuuvuuvuuuvuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuvuuuuuuuuuuuvuuuuuuuuvuuuuuuuuuuuuuuvuuuvuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuvuuvuuuuuuuuuuuuuuuuuuuuvuuuuuuuuuuuuuuuuuuuuuuuuuuvuuuuvuvuuuuvuuuuuuuuuvuuuuuuuuuuuuvuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuvuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuvuuuuuvuuvuuuuuuuuuuuuuuuuuuuuuuuuuvuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuvuuuuuuuuvuuuuuuuvuuuuuuuuuuuuuuuuuuuuuuuuuuuuuvuuuuuuvuuuuuuuuuuuuuuuuuuuuuuuuuuvuuuuuuuuuuuvuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuvuuuuvuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuvuuuuuuuvuuuuuuuuuuuuuuuuuuuuuuuuvuuuuuuuuuuuuuuuuvuuuuuuuuuuuuvuuuuuuuuuuuuuuuvuuuuuuuuuuuuuvuuuuuuuuuuuuuvuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuvuuuuuuuuuvuuuuvuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuvuuuuuuuuuuuuuuuuuuuuuuuuuvuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuvuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuvuuuuuuuuuuuuuuuvuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuvuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuvuuuuuuuuuvuuuuuuuuuuuvuuvuuuuuuuuuuuuuuuuuuuuuuuuvuuuuuuuuuuuuuuuuvuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuvuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuvuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuvuuuuuuuuuuuuuuuvuuuuuuuvuuuuuuuuuuuuuuuuuuuuuuuuuuuuuvuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuvuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuvuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuvuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuvuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuvuuuuuuuuuuuuuuuuuuuuuuuuuuvuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuvuuuuuuuuuuuuuuuuuuuuuuuuuuvuuuuvuvuuuuvvuuuuuuuuvuuuuuuuuuuuuvuuuuuuuuuuvuuuuuuuuuuuuuuuuuuvuuuvuuuuuuuuuuuuuuuuuuuuuuuuuuuuvuuuuuvuvuuuuuvuuvuuuuuuuuuvuuuuuuuuuuuuuuuvuuuuuuuuuuuuuuuuuuuuuuuuvuuvuuuuuuuuuuuuuuuuvuuuuuuuvuuuuuvuuuuuuuuuuuuuuvuuuuuuuuvuuuuuuvuuuuuuuuuuuuuuuuuuuuuuuuuuvuuuuuuuuuuuvuuuuuuuuvuuuuuuuuuuuuuuuuvuuvuuuuuvuuuuvuuuuuuuuuuuuuuuuuuuuvuuuuuuuuuuvuvuuuuuvuuuuuuuuuuuuuuuuuuuuuuuuvuuuuuuuuuvuuuuuuvuuuuuuuuuuuuvvuuuuuuuuvuuuuuvuuuuuuuuuuuvuvuuuvvuuuuuuuuvuuuuuuuuuuuuuuuuuuuuvuuuuuuuuuuuuuuuuuuuvuuuuuuuuuuuuuuuuuvvuuvuuuvuuuuuvuuuuvuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuvuuuuuuuuuuuuvuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuvuuuuuuuuuuuuuuuuuuuuuuuuuuuvuuuuuuuuuuuuvuuuuuuuuuuuuuuuuuuuuuuuuvuuuuuuuuuuuvuuvuuuuuuuuuuuvuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuvuuuuvuuuuuuuuuuuuuvuuuvuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuvuuvuuuuuuuuuuuuuuuuuuvuuuuuuuuuuuuuvuuuuuuuvuuvuuuuuuuuuuuuuuuuuuuuuvuuvuuuuuuvuuuuuuuuuuuuuvuuuuvuuuuuuuvuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuvuuuuuuuuuuuuuuuuuuuuuuuuvuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuvuuuuuuuuuuvuuuuvuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuvvuuuuuuuuuuvuuuvuuuuuvuvuuuuuuuuuuuuuuuuuuuuuuuuuuuuuvuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuvuuvuuuuuuuuuvuuuuuuuuuuuuvuuuuuuuuuuuuuuuuuuuuuuuuuuvuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuvuuuuuuuuuuvuuuvuuuuuuuuuuuuuuuuuuuuuuuuuvuuuuuuuvuuuuuuuuuuuuuuuuuuuuuuuuvuuvuuuuuuuuuuvuuuuuuuuuuuuuuuuuuuuuuvuvuuuvuuvuuuuuuuuuuvuuuuuuvuuuuuuuuuuuvuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuvuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuvuvuuuuuuuuuuvuuuuuuuuuuuuuuuuuuuvuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuvuuuuvuuuuuuvuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuvuuvuuuvuvuuuuuuuuuuuuuuuuuvuuuuuuuvuuuuuuuuuvuuuuuuuuuuuvuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuvuuuuuuuuuuuuvuuuuuuuvuuuuuuuuuuuuuuuuuuvuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuvuuuuuuuuuuuuuuuuuuuuuvuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuvuuuuuuuuuuuuuuuuuuvuuuvuuuuuuuuuuuuuuuuuuuuuuuuuuuuvuuuuuvuvuuuuuuuuuuuuuuuuuuvuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuvuuuuvuuvuuuuuuuuuuuuuuuuvuuuuuuuuvuuuuvuuuuuuuuuuuuuuvuuuuuuuuvuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuvuuuuuuuuuuuuuuuuvuuvuuuuuuuuuuvuuuuuuuuuuuuuuuuuuuuvuuuuuuuuuuuuvuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuvuuuuuuvuuuuuuuuuuuuvvuuuuuvuuvuuuuuuuuuuuuuuuuuvuuvuuvvuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuvuuuuuuuuuuuuuuuuuvvuuuuuuvuuuuuuuuuuuuuuuuuuuuuuuuvuuuuuuuuuuuuuuuuuuuuuuvuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuvuuuuuuuuuuuuuuuuuuvuuuuuuuuvuuuuuuuuuuuuvuuuuuuuuuuuuuuuuuuvuuuuuvuuuuuuuuuuuuuuvuuuuuuuuuuuvuuuuuuuuuuuuuuuuuuuuuuuuuuvuuuuuuuuuuuuvuuuuuuuuuuuuuvuuuvvuuuuuuuuvuuuuuuuuuuuuuuuuuuuuuuuuuuvuuvuuuuuuuuuuuuuuuuuuvuuuuuuuuuuuuuvuuuuuuuvuuvuuuuuuuuuuuuuuuuuuuuuuuuvuuuuuuvuuuuuuuuuuuuuvuvuuvuuuvuuuvuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuvuuuuuuuuuuuuuuuuuuuuuuuuvuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuvuuuuuuuuuuvuuuuvuuuuuuuvuuvuuuuuuuuuuvuuvuuuuuuuuuuuuuuuuuuvuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuvvuuuuuuuuuuvuuuuuuuuuvuvuuuuuuuuuuuuuuvuuvuuuuuuuuuuuuuuuuuvuuuuuuuuuuuuuuuuuuuuuuuuuvvuuuuuuuuuvuuvuuuuuuvvuvuuuuuuuuuuuuuvuuuuuuuuuuvuuuuuuuuuuuuuuvuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuvuuuuuuuuuuuuuuvuvvuuuuvvuuuuvuuuvuuuuuuuuuuuuuuuuuuuuuuuuuvuuuuuuuvuuuuuuuuuuuuvuuuuuuuuuuuvuuvuuuuuvuvuuvuuuuuuuuuuuuuuuuuuuuuuvuvuvuvuuvuuuvuuuuuuvuuuuuuvuuuuuvuuuuuvuuuuuuuuuuuuuuuuuuuuuuuuuuuuvuuvuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuvuuvuuuuvvuuuuuuvuuuuuuuuuuuuuuuuuuuvuuuuuuuuuvuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuvuuuuuuuuuuuuvuuuuuuuuuuuvuuuuvuuvuvuuuuuuuuuuuuuuuuuuuuvuuvuuuvvvuuuvuuuuuuuuuuuuuvuuuuuuuvuuuuuuuuuvuuuuuuuuuuuvuuuuuuuuuuvuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuvuuvuuuuuuuuuuuuuuuuuvuuuuuuuuuuuuuuuuuuuuvuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuvuuuuuuuvuuuuuuuuuuuuuvuuvuvuuuuuuuuuuuuuvvuuvuuuuuuuvuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuvuuuuuvvvuuuuuuuuuuuuuuuuuuuuvuuvuuuuuuuuuuuuuuuuuuuuuuuuvuuuuuuuuuuuuuuvuuuuuuuvuuuuuvuuuuuuuuuvuuuuuuuuuuuuuuuuuvuuuuuvvuuuuuuuuuuuuuuuuvuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuvuuuuuuuuuuuuuuuuuuuuuuuvuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuvuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuvuuuuuvuuuvuuuuuuuuuuuuuuuuuuuvuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuvuuuuuuuuuuvuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuvuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuvuuuuuuuuuuuuuuvuuuuuuvuuuuuuuuuuuuuuuvuuvuuuuuuuuuuuuuuuuuvuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuvuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuvuuuuuuuuvuuuuuuuuuuuuuuuuuvuuuuuuuuvuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuvuuuuuuuuuuuuuuuuuuuuuuuuuuuuvuuuuuuvuuvuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuvuuuuuuuuuuuuvuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuvuuuuuuuuuvuuvuuuuuuuuuuvuuvuuuuuuuuuuuuuuuuuuvuuuuuuuuuuuuuuuuuuuuuuuvuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuvuuvuuuuuuuuuuuuuuuuuvuuuuuuuuuuuuuuuuuuuuuuuuuvvuuuuuuuuuuuuuuuuuuuvvuuuuuuuuuuuuuuuvuuuuuuuuuuvuvuuuuuuuuuuuuuuuuuuuuuuuuuuuvuuuuuuuuuuuuuuuvvuuuuuuuuvuuuuuvuvuuuuuvvuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuvuvuuuuuuuuuuuuuuuuuuvuvuuvuuuuuuuuuuuuuuuuuuuuuuuuuuvuvuuuuuuvuuuuuuuuuuuuuvuuuuuvuuuuuuuuuuuuuuuuuuuuuvuuuuuuuuuuuuvuuuuuuuuuuuuuuuuuuuuuuuuuuvvuuuuuuuuuuuuuuuuuuuuuuuuuvuuuuuuuvvuuuuuvuuuuuvuuuuuuuuuuuuuuuuuuuuuuuuvuuuuuuuuuuuuuuuuuuvuuuuuuuuuuuuuuuvuuuuuuuuuuuuuuuuuuuuuuuuuuuvuuuuuuuuuuuuuuuuuuuuuuuuvuuuuvuuvuvuuuuuuuuuuuuuuuuuuuuvuuuuuuvvuuuuvuuuuuuuuuuuvuuuuuuuuuvuuuuuuuuuvuuuuuuuuuuuuuuuuuuuuuuvvuuuvuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuvuvuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuvuuuvuuuuuuuuuuuuuuuuuuuuuuuuuuuuvuvuuuvuuuuuuuuuuuuuuuuuuuuvuuuuuuuuuuuuvuuuuuvuuuuuuuuuvuuuuuvuvvuuuvuuuvuuuuuvuuuuuuuvuuuuuuvuuuuuuuuuuuuuuuuuuvuuuuuvuvvuvuuuuvuuuuuuuuuuuuuuuvuuuvuuuvuuuuuvuuuuuuuuuuvuuuuuuuuvvuuuuuuuuuvuuvuvuuuvuuuuvuuuuvuuuuuuuuuvuuuuuuuvuuvuuuvuuuvuuvuuuuvuuuuvuuuuuuuuuuuuuuuuuuuuvuuuuuuuvuuuvuuuuuvuuuvuuuvuuuuuuuuuvuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuvuuuuuuuuuvuuuuuvuuuuuuuuuuuuvuuuuuuuuuuuuuuuuuuuuuuuuuuuuvvuuuuuuuuuuuuvuuuuuuuuvuuvuuuuuuuuuuuuuuuuuuuuuuuuvuuuvuuuuuuvuvuuuuuuuuuuuuvuuuuvuuuuvuuuuuuuuuuuvuuuuuuuvuuvuuuuuuuvuvuuuuuuuuuuuuuuuuuuuuuuuuuuvuvuuuuuvuuuuuuuuuuuuuuuvuuuuuuuuuuvuuuuuvuuuuuuuuuuuuuuuuuuuvuvuuvuuvvuuuvuvuuuuuuuuuuuuuuuuuuuuuuuuvuuuuuvuuuuuuuuuuuuuuuuvuuuuuuuuuuvvuuvuuuuuuuuuuuuuuuuuuuvuuuuvuuuuuuuuuuuuvuuvuvuuuuuuuuuuuuuuuuuvuuuuvuuvuuuuuuuuuuvuuuuuuuuuuuuuuuuuuuuvuuvuuuuuuuuuuuuuuuuuuuvuuuuuuuuuuvuuvuuuvuuuuuuuuuuuuuuuuuuuuuvuuuuuuuuuuuuuuuvuuuuuuuuuuuvuuuuuuuuuuuuuuuuuvuuuuuuvuuvuuuuuuvuuuuuuvuuuuuuuuuuuuuuuuuvvuuvuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuvvuvvvuuuuuuuvuuuuuuuuuuuuuuuuuvuuuuuuuuuuuuuuuuuuuuuuuuuvvuuuvuuuuuuuvuvuuuuuuuuuuuuuuuuuuvuuuuuuuuuuuuuuuuuuvuuuuuuuuuuuvuuuuuuuuuuuuuvuuuuuvuuuuuuuuuuuuuuuuuuuvuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuvuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuvuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuvuuuuuuuvuuuuuuuuuuuuuuuuuuuuuuuuuuuvuuuuuuuuuuuuuuuvuuvuuuuuuvuuuuuvuuuuuuuvuuuuuuuuuuuuuuuuuuuuuuvuuuuuuvuuuuuuuuuuuuuuuuuuuuuuuuuuuuvuuuuuuuuuuuuuuuuuuuuvuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuvuuuuuuuuuuuuvuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuvvuuuuuuuuuuuuuuuuuuuvuuuuuuuuuuuuuuuuuuuuvuuuuuvuuuuuuuuuuuuuuuuuuuuuuuuuuuuvuuuuuuuuuuuuuuvvuuuuuuuuuuuuuuvuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuvuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuvuuuuuuuuuuuuuuuuuvuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuvuuuvuuuuuuuuuuuuuuuuuuuuuuuuuuuvuuuuuuuuvuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuvuuuuuuuuuuuuuuuuuuuuuuuuuuuuvuvvuuvuuvuuuuuuvuuuuuuuuuuvuuuuuuuuuuuuuuuvuuvuuuuuuuuuvuuuuuuuuuuuuvuuuuuuuuuvuuuuuvvuuuvuuuvuuuuuuuuuuuuuuuuuuvuuuuuvuuvuuuuvuvuuuuvuuuuuuuuuuuuuuvuuuvvuuuuvuuuuuvuuuuvuvuuuuuuuvuvuuuuuuuvuuuuvuuuuvuuuvuuuuvvuuuuuvuuvuuuuuuuvuuvuuuuuuuvuuvvuvuuuuuuuuvuuuuuuuuuuuuuuuuuuuuuuvuuuvvuuvuuuuuvuvuuuuvuvuvvuuuuuvuuuuuuuuuuvuuuvuuuuuuuuuuuuuuuuuuuuuuuuuvuuuuuvuuuuuuuuuuuuvuuvuuuvuuuuuvuuuuuuuuuuuuuuuvvuuuvuuuuuuuuuuuuuvuuuvuvvuuuuuuuuuuuuuuuuuuuuuuuuuuuuvuuuuuuvvuuuvuuuuuuuuuuuuuuuuuuuvuuuuuuuuuuuvuuuuvuuvuuvuuuuuuuvuvuuuuuuvuuuuuuuuuuuuuuuuuuuuuvuvuuuvuvuuuuuuuuuuuuvvuvuuvuuuuuuuuvuuuvuuuuuuuuuuuuvuuuuvvvvuvvuuvvuuuvuvuuuuuuuuuvuuvvuuuuuuuuuuuuuuuuvuuuvuuuuuvuvuuuuvuvuuvuuuuuvuuuvvuuuuuuuuuuuuuuuuuuuuuuuuuvuuuuuuuuuvvuuuuuuuuuvuuuvuuuvuuuuuuuuuuuuvuuuuuuuuuuvvuuuvuuuvuuuuuvuuuuuvuuvuuuuuuuuvuuuuuuuuuvvuuuuuuuuuuuuuuuvuuuuuvuuuuuuuuuuuuvuuuuvuuuuuvuvuuuuuuuuuuuvuuuuuvuvuuuuvuuuvuuuuuuvuvuuvvuuuuuvuuvuuuvvvuvuuvuuuvuuuvuuuuuuuuuuvuuvuuuuuvuuuuuuuuuvvuuuuuvuuuuuvvuuvvuuvvvuuvuvuuvuuvvuuuvuuuuvvuuuuuuvuuuvuuuuuuvuuuuvuuuuuuuuuuuuuvvuuuvuvuuuuuvuvuuuuuuuvvuuuuuvuuuuuuuuuuuuuuuvuuuuuuuuuuuuuuuvuuvuuuuuuuvuvuuuvuuuuuvuvuuuuuuuuuuuuvvuuuvuuuuuuuuvuuuuvuuuuuuuuvuuuuuuvuvuuuuvuuuuvuuuuuuuuuuuuuuuvuvuuvuuuuuuuvuuuuuuuuuuuuuuuuvuvuuvuvuuuuuuuuvvuuuuuuuuuuuvvuvuuuvuuvuuuuuuvuuuuvuuuuvuuuuuuuuuuuuuvuuuuuuuuuvuuuuvuvuuuuvuuuuuuvuuuuuvuvuuuuuuuuuuuuuuuvuuvuuuuuvuvuvuvuuuuvvuuuvuuuuuuuuuvuvvuuuuvuuuuvuuuuuuuuuuuuuuuuuuvuvuuvuvuuuvuuuuuuuuuuuuuuuuuuuuvuuvuuuuuuuuvuuuuvvuuuuuvuuuuuuuuuuuuuuvuuuuuuuuuvuuuuuuuuuuuuvuuvuuuuuuuuuvuuuuuuuuuuuuuuuuuuuuuuuuvuuuuuuuuvuuuuuuuvuuuvuuuuuvuuvvuuuuuuuvvuvuuuuuuvuuuvuuuuuvuuuuuuuuuuuuuuuuuuuuuuuuuuuvuvvuuuuuuuuuuuuuuuuuuuuuvvuuuuvuuuuuuuuuuuuvuuuuuuuuuuuvuuuuuuuuuuuuuuuuuuuvuuuuuuuuuuuuuuuuuvuuuuuuuuuuuuuuuvuuuuuvvuuuuuuvuuuuuuuuuuuuuuuuuuuuvuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuvvuuvuuvuuvuuuuuuuuvuuvuuvuuuvuuuuuuvuuuvuuuuuuuvuuuuuuvuuuuuuuuuuuuuuuvuuuuuuuuuuuuuuuuuuuuuuvuuuuuuuuuuuuuuuuvuuuuuuvuuvuuuvuuuuuuvuuuuuuuuuuuuuuuvuuvuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuvuuuvuuuuuuuuuuuuuuuuuuuuuuuuuuuuvvuuuuuuvuuuuvuvuuuuuuuuuuuuuuuuuuuvuuuuuuuuuuuuuuuuuvuuuvuuuuuuuuuuuuuuuuuuvuuuuvuuuuvuuuuuuuuuuvuuuuuuuuuuvuuuuuuuuuuuuuuuuuuuuuuuuuvuuuuuuuvuuuuuvuuvuuuuuvuuvuuuvuuuuuuuuvuuuuvuuuuvuuuuuuuuuvuuuuuuvvuuvuuuvuuuuuuuvuuuuuuuuuuuuuuuuuvuuvvuuuuuuuuuuvuuuvuuvuuuuvuuuuuuuuuuuuuuuuuvuuuvuuuuuuuuuuuuuuuuuuuvuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuvuuuuuuuuuvuuuvuvuvuuuuuvuuuuuuuuuuuuuuvuvuvvvuvuuuuuuvuuvuuvvvuvuuvuuuuuuuuuuuuuuuuuuuuvvuuuuvuuuuvvuuuuuuvvuuuvvuuuuuuuuuuuuvuuuuuuuuuuuuvuuuuvuvvuuuuuuvvuuuuuuuuuuuuuuvuuvvuuuuuuuuuuvuuuuuuuuuvuuuuuvvvuuuuuuvuuuuuuuuuuvuuvuuuuuuuuuuvuuuuuuuuuuuuuuvuuuuuuuuuvuuuuuuuuuuuuuuvvuuvuuuuuuvuuuuuuuuuuuuuuuvvvuuuvuuuvuuuuuvuuuvuuuuuuuuuuuuuuuuuuuuuuuuvuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuvuuuuvuuuuuvuuuuuuuuuuuuuuuuuuuvuuuvuuvuuuuuuuvuuuuvvuvuuuuuuuuuuuuuuvvuuuuuuuuuuuuvvuuuuuuuuuuuuuuuuuuvuuuuuvuuuvvuuuvuuuuuuuvuuuvvuuvvvuuuuvuuvuuvvuuuvvuvuvvuuuuuuvuuuuuuuuuuvuuuvvuuuuuvvuuuuvuvuuuuvuuuuuuuvuuvuvvvuvvvuuuuuuuuuuuuuuuuuuuuuvuuuuuuuuuvuuuuuvuuuuuuuuuuvuuuuuuuuuuuvuuuuuuuuuuuuuvuvuuuvvuuuvuvuvuuvuvuvuvuuuuvuuuuuvvuuuuuuvuuuuuuuuuuuuuuvuuuuuvuuuvvuuuuuuuvvuuvuuuvuvuuuuuuvuvuuvuvuuuuuuuuuuuuuuuuuuuuuuvuvuuuvuuuuuuuuuvuuuuuvuvuuuuuuuuuuuuuuuuuuuuuuuuuvuuuuvuvuuuuuuuuuuuvuuuuuuuvuuuvuuuuuuuuvuuvuuvvuuvuvuvuuuvuuuuuuuuuuuuuvuuuuuuuuuuuuuvuuuuvuuuuvuuuuuuuuuuuuuvuvuvvuvvuuvvuuuuuuuuuuuuuuuuuuvuuvvvuvuvuuuvuuuuvvuuuvvvuvuvuuuuuuuuuuuuuuuuuuuuuuuvuuuuuuuuuvuuuuuuuuuuuuvuvvuuuvuuuuuuuuuuuuvuuuuvuuuuuuuuuuuuuvuuvuuuuuuvuuuuuvvvuuuuuuvuuvvvuuuuuvuvuuuvuvuuuuuuuvuuvvuuuuuuuuuuuuuuuuuuuvuuuuvvuuuuuuuuuuuvuuuvvuuuuvuuuuvuuuuuuuuuuuuuuvuvvuuvuuuuuuuuvuvuuuuvuuuuuuuuuuuuuuuvuvvuvuuuuuuvuuuuuuuuuuvuvuvvuvuuvuvuuuuuvuuuuuuuvuuuuuuvvuuuuuvuuuuuuuvuuuuuvuuuvuuvuuuuvvvuuvuuuuuvvuuuvuuvuuuvuuuvuvvuuuuuuvvuuvuuvuuuuuuuuuuuvuuuvuuuuuuuvuuuvuuvvuvuuuuvuuuuuuuuuuuuuuuuuvuuuvuvvvuuuvvuuuuvuuvuuvvuuvuuuuuvuuuuuuuvuvuuuuuuuvuuuuuuvuvvuuvuuuuvuuuuuuuuuuuvuuvuuvuuuuuuuvvvuvuuvuuuuuvuvuuuvvvuvvvvuvuuuuuvuuuvuuuuuvuuvuuuuuvuuuuuuuuuvuuuuuuuuuuuvuuuuuvuuuuuvuuuuuuuuuuuuuuuuuuuuuuuuvuuuuuuuuvvuuuuvuuuuvuuuuuuuuuuvuuuuuuuuuuuuuuvuvuvuuuuvuuuuuuuuvuuvuuuuuvuuvuuuuuuuuuuuuuuuuuuuuuuuuuuuuuvuuuuuuuvuuuuuuuuuuuuuuvuuvuuuuuuuuuuuuuvvuuvvuuuuuuuuuuuvuuvuuvuvuuvuuuuuuuuvvuuuvuuuvuvuvuuuuuvuuuuuuuuuuuuuvuuuuuuuvuvuvuuvuuuuuuuvuuuuuuuuuuuvuuuuuuuuuuuuuuuuvuuuuuuuuuuuuuuuuuuuuuvvvvuuuvuvuuvuuuuuuuuuuuvvvuuuuvuuuuuuuuuuvuuuuuuuuuuvuuuuuuuuuuuvuuvuuuuuuvuuuuuvuuuuuuuuuuuuvuuuuuuuuvuuuuuvvuuuvuuuuvuuuuuvuuvvuuvuvuuvuuuuuuuuvuuvvuvuuuuuuuuuuuuuvuuvuuuuuuuuuvuuuuuuuuuuuuuuuuvuuuuuuuvuuuuuuuuuuuuuuvuuuuuuuuuuuvuuuuuuuuuuuuuuuuuvuuuuuuuuuuuuuvvuuvuuuuvuuuuuvuuuvuuuvuuuuuvuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuvuuuuuuuuuuuuuuuuuuuuvuuuuuuuuuuuuuuuuvuuuuuvuvuuvuuvuuuuvuuuuuuuuuuuuuuuuuuuuuuuuuuuvuuuuuuuuvuvuuvuuuuuuuuuvuuuvuuuuuuuvuuuuuuuuuvuuvuuuuuuuuuuuuvuuuuuvuvuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuvuuuuuuvuvuvuuuuuvvuvvvuvuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuvuuuuuuuuuuvuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuvuuuuuuvuuuvuuuuuuvuvuvuvuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuvuuuuuuuuuuuuuuuuvuuvuuvuuuvuvuuuuuuvuvvuuuvuuuvuuuuuuuuuuuuvuuuuuuuuuuuuuuuvuuuuuuuvuuuuuuuuuvuvuuuuuuuuuuuuuuuuuvuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuvuuvuuuvuvuvuuuuuuuvuuuvuuuuuuvuuuuuuuuuuvuvuuuuuuuuuvuvuvvuuuuuvvuuuuuuuuuuuuvuuvuuuuuvuvvvuuuuuuuuuuuuuuuvuuuuuuuvuvuuuuuuuuuuuuuuuuvuuvuvuuuuvuuuuuuuuuuuuuuuuuuvuuuuuuuuuuuuuuuuuuuuuuuuvvuuuuuuuuuuuuuuuuvuvuuvuuuuuuvuuuvuuuuuuuvuuvuvuuvuuuuvuuvuuuuuuuuuuuuuuvuvuuuuuvuuuvuuuvuuuvuuuuuuuuuuuuuuvvuuuuuuuuvuuuuvuvuuuvuuuuuuuvuuuuuuuuuuuuuuuuuuuuuuvuuvvuuvvuuuuuuuvuvuuuuvuuuuuvuuuuuuuuuuuvuuuvuuuuuuuuuuuuuuuuuuvuvuuvuuuuvuuuuuvuuuuuuuvuuuvuuvvuuuuuuuuuvuuuvuuvuuuuuuuuuuuuuuuuvuuuuvvuuuvuuuvuuvuuvvuvuvuvuuuuuuuuuuuuuuuuvuuuuuuuuvuuuuuuuuuuuuvuuuvuuvvuvuuuuvvuuuuuuuuuuuuuuuuuuvvvuuvvuuuuuuvuvvvvvuvvvuvvuuvuvuuuuuvuvuvuvvuuuuvvuvuvuuvuuvuuuuvuuuuuuuuuvvvvvuvuuuvuuuuuvvuuuuuvvvuuuvuuuuvuvuuvvuvuuuuvvvuuuuuvvvvvuuvvvvuuuuuuvvvvuvuuuvuuuuvuuuvuuuuuvvuvuvuvuvuuuuvuvvvvuvuuuuvuvvuuuuuvuuuuuvuuuvvuuuvuuuuuvuvuuuuuuuuvuuvuuuvvuuuuuuuvuuvuuvuuuuuuuvvuvuvuvuvvuuvvuvuvvvvuuuuvuvvuuuvuvuuvvuuuuvuuuuvuvvuvuuvuvuuvvuuuvuuuvuuvvuuuvvvvuvvuuuuuuuuuvvuuuvvuuvvuvuvvuvuvvuvvuvuuuvuvuvuvuuuvvuuuuuuvuuvuuuvuuuuuuuuuuuuuuuuuuuvuuvuuvvvuvuvuvuvvvvvuuuvvuvuuuuuuuvvuuuuuvuuvuvuuvuuuvvuuuvvuuuuvuuuuuuuuvuuuvuvuuvuuuuuvuuvuuuvvuuuuuuvuuvvuvuuuvuuuuuuuuvvuvuuuuvvuvuuuvvvvuuuuuuuvvuvvvuuuuuuuuuuuvuuuuuvuuvuuvuuuuvuvuvuvvuvuuuuuuuuuvuuvuuvuuuuuvuvvuuvuvvuuvvuuuuvvuuuuuuvvuuvuuvvuuuuuuvuuuvvvuuuuuuuuvuvvuvuuvvvuvvuvuuuuvuuvuvuuuvvuuvuuvuvuuvvuuuuuvuuuuuuvuuvuuvuuuuvvvuuuuuuuuuuvvuuuuuuuuuuuuuuvuuvuvuuuvuvuuuvuvuuuuuuuuuvvuvuvvuuuuuuuuvuuuuuuvuvvvvuuuuvuvuvuuuuvuuuvuvuvuuuuuuvvuuvvuuvvuuuuuuuuuuuvvuvvvvuuvuuuuuuuuvuuvuuvvuuuuuvvuuuuuuuuvuvuuuvuvuuuuuuvvuuuvuuuuuuuuuuvuuuuuvvuuuuuuvuuvuuuuvuuuvuuvuuvuuuvuuvuvuuuuuuuuuuuvuuuvuuuuuuuuuvvuuvuuvuvuuuvuuuuuvuuuuuuuuuvuuuuuuuuuuuuuuuvuvvuuuuvvuuuuvuuvuuuvuuuuuuuuuuvuuuuuuuuuuuuuvuuuuuuvuuuuuuuuuuvuuuuvuuvuvvuuuuuuuuuuuuuvvuvuuuuuuuuvuvuuuuuuuvvuvuuuvuuvuvvuvuuuuuuuvuuuuvvvuvuuuuuuvvvuuuuvuuuuuvuuuuvuuuuuuuvuuuvuvuuuuuuuuuvuuuuuvvuuuuuvvuuuuuuuuuuuvuuvvvvuuuuvuuvvuuuvuuuuuuuuuvuvuuuuuuuuvuvuvvuvuuuuuuuuuuuuuuuuuuuuvuuuuuuuuuvuuuuvuuuuvuvuuuuuuuuuvuuvuuuuuuuvuuuuuuuuuuvuuuvuvuuuvuuuuuuuvuuuuuuvvuuuvuuuuuuuuuuvuuuuuuuvvuuuuuuuuvuuuuuuuuuuuuuuuuuvvuuuuuuuuuvuuuuuvuvuvuvuuuuuuvuuuuuuuuuuuvuuvvuuuuuuuvuuuuvuuuuvuvvuvuuvuuuuuuvuvuuvuuvuuuuuuuuuuuuuuuuuuuvuuuvuuuuuvuuuvuuuuuuvuuvuuuuuuvuuuuuuuuuuuuvuuuvuvuvuuuuuuvuuuuuuuuuuuvuuuvuuvuuuuvvuuuuuuvuuuuuvuuuuuuuvuuuuuuvuuuuuuuvuvuuuuuuuuuuuuuuuuuvvuuuuuuuuvuuuvuuuuvuuuuuuuvuuuuuuuuuuvvuvuuuuuuuuuuvuuuvuuuuuuuuvuuuuvuuuuuuuuuuuuuuvuuvuuuuuuuuuvvuuuuuuuuuvuuuvuuuuuuuuuuuuuuvuuuuuuuvuuuuuuuuuuvuuuuuuuuuuuvuuuuuuvuuuuuuuvuuuuuuvuuvuvvuvvuvuvuuuuuvuuuuvuvuvvuuvuuvuvuvvuvvuvvuuuuuuuuuvvuvvuvvuuvvuuuuuuvuuuvuvuuvuvvuuuuvuuuuuuvuuuvuuuuuuvuuuuuvvvvvuuuuuuvuvuuvuvuuuuuvvuuvuuvuuuvuuuvuvuuuuuuuuuuvvuuvuuuvuvvuvuvuvuvuvuuuvvuvuuvuuvuuvvvvvvvuvuuuvuuuvvvvvvvuuvuvvuuvvvuuuuuuuuuvuvuuuvuuvuvuuuuuuvvuvuuvuvuvuuvuuvvuvuvuuvuvuuvuuvuvuvvuuvvvuvvuuvvvuuvvuuuuvuuvvuuvvvuuuuvvvuuvuvvuuuvvuuuvuuvuuvuuuuuuvvuuuuuvuvuuuvuuvvvuvuvvuuvvuvuuuvuuuvuvuvuvvuuuvuvuuuuuuvuuuvuuvuvuvvvuuvuvuvuuvuuuvvuvvuuuuuvuuuuvvvvvuvuvuvvvuuvvuvvuvuuuvuvvuuuvuvuvuvvvvuuuuuuuvuuvvuvvvvvuuuvvvuvuuuuvuuuvuvvvvuuvvuuuuvuuvvvvuuuvuuuvvvuuuvvuuvuuuuuvvvvvvvuvvuvuuvuuvvuuuvvuvvuuuuuvuuvvuvuvvuvvuuvuuuvvuvvuuvuvuvuuuvuvvuuuuuvuuuvuvuuuuuuuuuuuuuuvvuuvvvuuvuvuvuvvuvvuuuuuuvuvuvuuvvvuuuvvvuvvuuuuuuuuuuuvuuvvvuvvvuuuuuuvuvuvvuuvuuuuuuvuuuuvuuvvuuuvvvvvuvvuuuuuuvvvuvvuvuuuuuvuuuuuuvuvuuuuvuuvuuvuvuvuuuvvuuvuuvuvuuuuuuvvvuvuuvuvuvvvuuuvvuuuuuuuuvuuvvuuvvvuuuvuvuvvvvvuvuvuuuuvvvvvuuuvuuvvuvvuuvuuvvuvuvuuuuuvuuuuuuuvuuvvuuuuuuvuuvvvvvuuvvvuuuuvuuuvuuvuvuuuvvuvuuuvvuuvuuuuuvuuuvvuuuuvvuvvvvuuvuvuuvuuvuuuvuuuuvvuuvuuuvvvuuvuuvuuuvuuvuvuuuvvvuuvvuvvuuvvvvuvuvuuvvuuuvvuvvuvuuvvuuvuvvuuuuuvvuvvuvuvuvuuuvuuvvuuuvvvvuvuvuuuuuuvuvuvuuuuuvuuuuuvvvuvuuuuuuuvvvuvuvvuuuuuuuvuuuuuuvuuuuvvuuuuuvvuvuvuuvuvvvuvuuuvuuvvuuuvuvuuuvuuuvuuuvvuuvuvuuuuuvuuvuuuuuuvuvuuvvvuuvuuvvuvuuuuvuvvvuuuuvvuuuuuuuvvvvuuvuuuvuuuvvvuvuuvuvuvuvuuvuvuuuuuuvvuuvuuuvvvuuvuvuvuuuuvvuuuvuuuvuvuvvvuvuuuuuuuvuvvuuuuuvuvuuuvuuuuuvvvuvuuvuvvuuuvvvvvuuvuvuuuuuuvuuvuuuvuuvvvvvuuuuuuuuuvuvuuuvvuuuuvuuuuuuuuuuvuuvuuvuuuvuuuuvvuuuuuuvvuuuuuuuvuvuvuuvvuvuuvuuvuuuvuvvuuvuvuvuuuuvuuvvuvuuuuvuuuuvuvvvvuvvuvuuuvvuuvuuuuvuvuuuuuvuvvvuuvuuuuuuuuuvvuuuuvvvuvuuvuuuvvuvvuvvuuuuuvuvvuuvuuuuuvvvvvuvvvvuvuvuuvvuvuuuuuvvuvvuvuuuvvuuuvuuuuuuvuuuuvuvuuuvuvuuuuuvuuvvuuuuuuvuvuvuuuuuuuuuuuuuvvuvuuuuuuuuvuuuuuuuuvvuuvuuuvuuvuvuuuuuvuvvuuuvuuuvuuuuuuuvuuvuvuuuuuuvvuuuuuuuuuuuvvuuvuvuvuuuuvuuuuuuuvuuuuvuuuuuuuuuuuuvuuuuvuvvuuvvuuuuuvuuuuvuuvuvuuvvuvuvuuuuvvvuuuvuuvuuuuuuuvvvuuuvuuuuuuuuuuuuuuuvuuuuvvuuuuuvuuvuuuuuuuvuvuvvuvvuuuvvuuvuuuuvuuuuuuuvuuvuuvuvvuvuuvuvuuuvuuuuuvvvuvvuuvuuuvuvuuuuuuuvuuvuvuuuuuuvvvuvuuuuuvuuuuvvuvuuuvuuuuuuuvuuuuuuvvuuvuuuuvvuuuuuuuuvvvvvuuvvuuuuvuvuuvuvuuvuuvvuuuvuvuvuuuuuuvuuuuuuuvvuuuuuuvvuvuvuuuvuuuvuuvuvuuvvuuuuvvuuuuuvvuuuvuuuuuvuuuvuuvvuuuuvuvuuuuuuvuvuuuuuvvvuuvuvuuuvuuuuuuvuvvuuuuvvvuuvuuuuvvuvuuuuvvuuvuuvuuvuuvuvuuuuuuvuvuuvvuvvvvuuvvuuvvvvuuuuuuuvvuuuuuuvuuvuuuuuuuuuvuuuuuvuvuvuvuuuvuuuuuuuuuuuuvvvuvuuuvvuvvuuvvuvuuvuuvuuuvuuuuuvuvuvuuuuuvvuvvuvvuuuuvuvuuuuuvuuuvvuuuvuvuvuvuuuuuuuuuuvuuuuvuuuvuuuvuuuvvuvvuuvvvvuuuuuuuuvuvuvuvuvvvuuvuvvuvuuuuvuuuvuuvuvuvvuuvvvuuuuuuuuvuuuvvvuuvvvvuuuuuvuvuvvuvuvvuuvuvvvuuuvuvvvuuuvvvvuuuvvvuuuvvvuuuuvvuvvuuuvuuuvuuvuvuvvvvvvvvuuuuuuvvuuuvvvuuvvvvuuuuuvuvuvvuvuvvuuvuvvvuuuuuuuuvvvuvuuuuuuuuuvuuvvvvuvvuuuuvuvvuvuvuvvvvuuvuuuvuvuuuuuuvuuvuvuvuvvuvuuuuvuuvvuuuvvuvuvuuuvuvuuvuuuuvuvuuvvuvuuuuuvvvuvvvuvuuuuuuuvuuuuuvuvvvvvvvuvuuvuuuuvvuvuuuvuuuvuvvvuuuuuuuuuuvvuuuvvuuuuuuuuuvuuuuvuvuuvuvuuuvuuuuvuuuuuuuvvuvvvvuuuuuvvuvuuvuvuuvvuvuuuuvuuuuuvvuuvuvvvuuuvuuuuuuvvuuuvvuuuuuuvuuuuuuuvuvuuvuvvuuvuuuuvuuuvuvuvvuvuvuuuuvuvvuvvuvvvuuvuuvvuuuvvuuuuuvvuvuuvuuvuvuvuuuuuuvuuuvuuuuuuuuuvuvvuuuuuuvvuvuuvuuvuuvuuuuuuuuuvvvvuvuuuuuuvuuuuvvuuuvvuvuvuuuuvuuuuvuuuvuuvuvvuuuuuuvvvuvuvuvvvvvuuvuuuuuuvvvvuuuuuvuuuuvuvvuvuvvvuvvuuuuuuvuuvvvuuuuuvuuuuvuvuuuvvvuuuuuuuuvuuuuvvvvuuuvvuuuuuuvuuvuuuvvvuuuuuuvuuuvuuuuuuuuuvuvvvvuvuuuvvuvvuuvuuvvuvuuuvvuuvuuvvuvuuuvuvvuuuvuuvvuuvuvuuuuvuuuuuuvuuvuuuvvuuuuuvuvuvuuvuuvuvvuvuuvuuvuvuuvuvvuuuvuuuvuvuvvvuuuuuvuuuvvuuuvvvvuuuuuvvvuuuuvvuuvuuvuuuvuuuuvvuuvuuvuuvuuvvuuuuuuvuvvuvuuuuvuuvuuuvuvuuuvvuuuuvvuuvuvuuvuuuuuuvvvuuvvuuvuuvvuuvvuuuuuuuvvuvvuuvuuvuuuvuuvvuvuuuuvuuvuuvvvuuvvvvuuuuvuuvvvvuvvuuuuuuuuuuuvuuuuvvuuvuvuvuuvvuuvuvvuvuuuuuuuuuuvvuuuvuuuvuuvvvvuuvuuuvuuvuvvuuuvvuuvuvvuuvuuvuuuvuvvuuuuvuvuuuvvvvuvuuvvuuvuuuuuvvvuuuuvvuuuuuuuvuvvuuuuuuvuuuuvuuuvvuvuvvvuvuvuvuuuvuuuuvuuuuvuuvuuuuuuvuuuvvuvuvuuuuuvvuvuvuuvuuvuuvuuuuuuuuuuuvuuvuuvuvuuuuuvuvuuuuuvuuuuvuuuvvuuuuuvvuuvuuvuvuvvuuuuvuuuvuvuuuvuuuvuuuuuvuvuuvuuvvuuuvuvvuvvuvuuuuuuuuuuuuvuuuvuvuuuuuvuvvuuvvvuuuuuuuvvuuvuuuuuuuvvuuvuuvuuvuuuuuuuuvuuuuvuuuvvuuuuuvvuuvuuvuuvvvuvuvuuvuuuvuuuuvuuuuuvvuuvuuuvuvuuuuuuuvuuuuuuvvuvuuvuuuuvuvuuuuuuvvuuuuuvvuvuuuvuuuuvuvuuuuuvvvuuuvvvuuvvuuvuuuuvvvuuuuuvuvvuuuvvuvvuuvvuvuuvuvuvvuuvuuuuvvuvvuuuuvuuuuuuuuuvuuvvuvuuuuuuvvuuuuuuvuvvuuuuuuuuuuvuuuuuuuvuuuuvuuuuvuuuuuuuuuuuuuvuuuvvuuuuuuuuuuuuvuvuuuuuuuvuuuuvuuuuuuvuuuvvuuuuuuuuuvvuuvuvuvuvuuuuvuuvvuvvvuvvuvuuuvuuuuuuvuuvvuuuuvvuuvvuuuuvuvuvuuuuuuvvuuuuvuuuvuuvuuuuvuuuvuvuuuuvvuvuvuuuuuvuvuuuuuuuuuuuuuuuuuvuuuvuuuuuuuuuuvuuuuvuvuvvvuuuvuvuuuuuuuuuuuuuuuuuuuuuvvuvuuuuuvuuvuuuvvuuvuuuuuvvuvuuuvvuuuuuuuuuuuuuuuuvuuuuuuuuuvuvuvuuuuvuuuuuuuuuuuvuuuuvuvuuuuuvvvuuvvuuuuuuuvvvuuvuuvuvuvvvuuvuuuuvuuuuvuuuuuuuuuuuuuuuuuuuuuvuuuvuuvvuuuuuvvvuuuvuuuuuuuuuuuuuuuvvuuuuuuvuuvuuuuuuuuuvuuuuuuvuuuuvvuuvuvuuuvuuuuuvuuuvuuuvuvuvuuuvvuuuuvuuuuuvuuuuuuvuuvuvuuvuvuuuuuuuuuvvvuuvuuuvuvuuuuuuuvuvuuuuuuuuvuuuuvvuuuvuuuuuvvuuvuuuvuvuvuuuvvuuuuvuvuvuvuuuuuuvuuvuvvuvvuuuvuuuuuuvvvvuvuuuvuvuuuuuuuvuvuuuuuuuuvuvuuuuuuvuuuvvvuuvuvuuuuuuuvuuuvuuuvuvuvuuuuvuuuvuvuuuuuuuuuvvuuvuuvuvuvuvuuvuvvuvvuuvuvvvvuuuuuvuvvuuuuvuvuuuuvuuvvuvuuuuuuvvuvuuuuuvuvvuuuvvuuvuvuvuuuuvvvvuuuuuuuvuvuuuuuvvuvvuvuuuvvuuuvvuvuuuvuvvuuuuvvuvuuvuuvuuvvvuvuuuvuuuvuvuuuuuuuvuvuuuuuuuuuuvuuuuvuvuuvvvuvuvuuvuuuuuuuuvvuvvuvvvuvuuuuuvuuvuuuuuuvvuuuvuuuuuuvuvvuuuuuuuuuuuvuuuuuuuuuuvuvuuvvuuuuvuvvuuvuvuuuvuvuvvuuuuvvvuuvvvvuuuvvuuvuuuuuuuuvuuuuvuvvuvuuuuuuvvvuuuvvvuuuvuvvuuuuuvuuvvvuvvvuuvuuvvuuuuuuuvuvvuuuuuvuvuvuuvvuuuvuvuuuuuuvuvuvvuvuvuuuvuuuvuuvuuvuvuuvuuuvvvvvuvvvuuvuvvuvvvuuuuvvuuvuvuuvuvuuvuuuuuuuuvuvuuvuvuuuvuvuuuuvuvvuuuvuuvuuuuuuuuuuuuuuuuvvuuuuvuuuuvuuuvuuvuuuuvvuuuuuuuvuvvvvuuuvuuvuuvvuuuvvuuuuuvuvvvuuuvuvuuuuvuvvvuuvvuvvuuuvvuuuvuuuuuvvvvvuuuvuvuvuuvuvuuvuuvuuvvuuvvvuvuvvuvvvvuvuvuvuvvuuvvuuvuvvvuuuuvvvuuvuuvvuvuvuuvuuvuvvuuvvvvuvuuvvuvvuvuvuvuvuvuvvuvuuvvvvuuuvvuvvuvuvvvvvvvuvuuvvuvvvvvvvvvvvuuuvuvvuvvuuvvvuvuvvvuvvuvvvuvuuuvvuuuvvvvvvvuuuuvvuvuuvuvvuvvuvvuvuvuvuvvvvvvvvuvvvvuuvvuvuvvvvvvuuuuuuuuvvuvuuuvvuuuuvvuvuuvvuuvvuvvuuvuvuvuuvvvvuuuuuuuvuuuuuuvvuvvvuuvuuvuuvuuvvvvvuvvuuvuvuvuuuuvuuvvuvvuuvvuvuuuuuuuuuvvvvvvuvvuuuuuvvuuvvuvuuuuuuvvvuvuuuuvuvvvvvuuuuuvuvuuuvuuuuvvuvvvvuuuvvuvuvuvuuvvvuuvvvvvvuvvuuuvuuuvuuvuuuuuvvuvvuuuuvvuuuuuuvuuvvvvuuuvvvvuuuuvuuvuuvvvuuuvuuuvvuvvuvuvvuvuvuuuuuuvvvuvuvuuuuvuuvvvuuvvvuuvuvvuuvvuvvuuuvuuuuuuuuvuvuuuvuvvvvuuuuvvuvvuvvuvvvuvuvuuvvuuvvuuuvuuuuvuvvvuuuvuuuvvvuvuuuvvuvuvvuuvvuuuvuuuvvvuvuvvuuuuvuuvvvuuuuuuvvvuvvuuuuuuvuvuvvuuuuvvvuuvuuvuuuuuvvuvuvuuvuvvuuvuvvuvuvuvvuvvuvvuvuvvuuuvvuuvuuuvuvvuvuuuuvvuuuuuvvuuuuuvvuuvuuuuuvuuuuuvuvvvuvuuuuvvvuuuuvvuvuuuvvvvvuuuvvuuuuvuuvuuvvuuvuuuuuvuuuuuvuvuvuuuuuuuvuvuvvuvvvvuuvuuuuvuvuuvuuuuuuvuuvuuvuuuuuuuvvvvvuuvuuvvvvvvuuuvvvuvvvvuvuuuvvvuuuvuuvuuvuvvuuuuuvuuuuuuuuuvvuuuuuuuuuvvuuuuvvuuuuuvuuuuuuuuuuuuuvvuuuuvuvuuvvuuvuuuuvvuuuuvuuvuvuuvvuuuuuvvuvuuuuvuuuuvvuuvvuuvuvuuuvuvuuuvuvuuvuvuvuvuuuvuuuuuuvuuvuvuuuuvuvuvuuvvvvvuuuuuvvuuuuuuvuuuvuuvuvuvuuuvuuuuuvuvvvvuvuuuuvuuuvuuuuuuuuuuuvuuvuuuvuuuuvvvvuuuvuuuvvuvuuuvuuuuvvuuvvuvuuuuuuuvvvuuuvuuuuuuuuuuuvvvuvuuuuuuuuuuuuuvuvvuuvvuuuuuuvuuvvuuuuuuuuuuvuuvuuvvvuuvuuuvuuuvuvuuuuuuvuuuvuuvuvvuuvvuvuuuuuuuuuuvuuuuuvuuuuvuuuuuuuuvuuvvuuuvuuvuuuvuvvuvuuuuvvuvuvvvuuuvuuvuuuvvuuvuvuvvuuuuvuuuuvuuuvvvuuvuuuuuvuvvvuuuvvvuvvuvuuuuuuuvuvuuuuuuvuvuuuvuuuuuuvuuuvuuuuuuvvuuvuvvvuvuuvuvuvuuuuuvuuuuvvuuvvuuuuuvuuuvuuuvuvvuuuuuuuuuvuuuvvuvuvuuuvuuvuuuuuuvvuuvuvuuuuuvvuvvvuuuuuuuuuuuuvuuvuuuuuuuuuvuuvuuuvvuuuuuuvvuuvuvuvvuvuuvuuvuuuuuuuvuvuuvuuuvuuuuuuuvuuuuuuuvuvvuuuuuuuuuuvuuuvvuuuuvuuuuuuuuuuvuvvvuuvuvuuuuvuuvuuvvuuuuuuvuuuuuvvuvuuuuuuuuuuuuvuuvvuuuuvuuuuuuvvuuvuuuuvuuuuuuvvvuuuvuuuvuvuuuvuuuuuuuuuuuuuuuuuuuvuuvuuuuuvuuuvvvvvuvvvvvvvuvvvuvvvvvvuvvuuvvvvvvvvvvvvvuvvvvvuuvvvvuuvvuvvvuuuuvvvvvvvuvvuvvvuuvvuvvvuvvvvvvuvuvvvuvvuvuvvvuuvvvvvvvvvvvvvvuuuvuvvuvvvvuvvvvvuvvuvvvvvvvuuvvuvvuuuuvvuuvvuvvvuvuvvvvuvvvuuvvvvvvvuvuvvvvvvvuuvuvvuuuuvuvvvvvvvvuvuuvvuvvuvuvvvvvvvuuuvuvvvuvvuvvvuvuuvvvvvvvvvuvvuvuvvuvvuuvvvvvvvvvuuvvvvuuvvvvvvvvvuvuuvuvuuuuvvvvvvvuuvvuvvuvuvvvvvuvvvvvvvvvvvuvuvuvvuuvvvvuvuuvuuvvuvvvuvvuuvvvuvuvvuuvuvuvvuuvuvvvvvvvuuuvvvvvvvvvvuuuuvvuuvuuuvvvuvvvvuvvuuvuvvvvuvvvvvuvvvuvuuvuuuuvuuvvvuvuuuvvuvvvvuuvvuvvuuuuvvvvvvvvuuvvvuuvuuuvvuvvuuvvvuvvvuuvuvvuvuvvvuuvvvvuvvuuvuvvuuvuuuuvvvvvuvvuvvuvuvvuuvvuvvvuuvvvvvvvvuvvvuvvvvuvvvvvvuvuuuvvuuuvvvuvuvuvvvvvvuvvvuuvvvuuvuuvuuvvvuvvvuuuuvvvuvvvvuvvvvvvuuuuvvvvvvvvuvuvvvvvvvvuuvuuvvvvvvvvuuuvvuvvuuvuvvvuuvuvvvvvvuvuuvuvuvuvvuuuvvvvuuuvvuuvvuvvuuvuuuvuvuuuvvuvvuvvvvvuvuvuuvvvuuvuvvuuvuuuvvvuvuvvuuuvvvuvvvuuuvvvuuvvvuuvuvvuuuvvvuuvvuvuuuuvvvvvvvuvvvuvvvvvuvuuvuuvvvuuvuvvuvvuvvvuvuuvvvvvuvuvuuuvuvvuuvvvvvuvvuuvuvuuuvvvvvvvvvuvvvvuvvuvvuuuvvvvuuvvvvvvvvvuvvvvvvuvvvvvvuvvuvuvuuuvuvvvuuuvuvvvvuvvvvvvvvvuvvvuvuvvuvvvvvvvuuuvuvvuuvuuvuuuuuvuvuvuuuuvuuuuuvuvuuuvuuuuvuuvvvvuuvvvuvvvvuuvuvuvvuuvvuvvuvuuvuuuuvvvuvvuvuuvuuvuuuuuvuuvvuvuuvvvvvvvuuvuvuvuuvuuvuvuuvuuvuvvuuuuvuvuuuuvvuvuvvvvvvvvvvuuuvuvvvuuvuuvvuuvuuvuvuuvvvuvvvvuuvuuuvvvvvuuvuuvuuvvvvuuuvuvvvuvvvuvuuuuvuvuvuvvuuvvvvuuuuvuuuuvvuvvvuvvvuuvuuvvuuuuvvvuvuuvuvuuuvuvuuuuvuuuuvuuvvuuvvuuvvuvuvuuuuuuuuvuvuvvuuuuvuuuuuuuuuvvuuvuvuvuuvuvuuvvuvuuuvvvuuuuvuuuvuvvvvvuvuuuvvuuuuvuvuuuuvvuvuvvvuuvuvuuuuuvuuuvvuuvvvvvuuvuuuuuuvvuuuuvuvuvuvvuvvvvvuuvvuuuuuuuuvuuuuuuuvuuuvvvvvuuuvvvuvvvvuuvuuuuvuvvvuvuuuuvvvvvuuuvuvvuuuuuvvuuvvuuuuuuvuvvvuuuuvuuvuuvuvuuuvvuuvuvvvuuvvuvuvuvuuuuuvvvvuuvuuvuvvuvvvvuuuvuuuuuuvuvuvvuvvuuuuuuuuuvvvuuvvuuvvuuuuuuuvuvuuvuvuuuvvuuuvuuvvvuuuvvuuvuvuuuvuuuuuvuuuuuuuvuvvuuuvuvvuuuvvvvuuuuvvuvuvuuuuvvuuuvvuvvuuuuuvvvuuvuvvvuuuvvvuvvuuvvuvvuvuuuuuuuuvuuvuuvvvuuvuuuvvuuvuvvvuuuuvuuuvuuuvvvuuvvuvuvvuuvuuuuuvvvvvvvvvvvvvvvvvvvvuvvvvvvvuuvvvvvuvvvvvuvvvuvvuvvvvvvuvvuuvvuuuuvvvvvvvuvvvvvuvvuvuvvuuvvuvvvuvvuvvuvvvvuvvuuvvvvvuvvvvvuvvvuuuvvvvvvvuvvvvvuvuvvvvuvvvvuuvvvvvvuuvuvuuvvvuuvvuvuvvvvuvvvuuvvvvvvvvvvvuuvvuvvuvvvvvuvvvvvuvvvvvvuvuvvvuvvvvvuvvvuuvvuvvvvvvuvvuvvuvvvvvvvvvvvvvvuuuvvvvuvvvvvvuvvvvvvuuvvvvuvvvvvvvvvvuvuvvuvuuvvvvvvvvvvvvvuvvuvuvvvvvuvvvvvvvuvuvvvvvvvvvvvvvvvvvvvvvvvvvvuvvvvuvvvuvuuuvuvvvuvvvvvuvvvuvuvuvuvvvvuvvvvuuvvvuvuvvuuuvuvvvvvvuvvvvvvvuvuvuvvvvuvvuvvvvvvuuvvuvvvvuvuuvvvvuvvvuuvvuvvuuuuvuvvuvvvuvvvvuuvvvvvvvvvvuvuvuvuvvuvvvvuvuvvvuuuvvvuvvvvvvvvvvvvuvuvvvvvuvvvvvvuvvuvvvvvuvvuuvvuvvvvvvvuvvvvuvuvvvvvvuvuuvvvvvuuuvuvvuuvvvvvvuuuvvvvvvvuuuuvvuuvvuvvvvvvuvvvvvuvvuvvvvvuuvvvvuvvvvvuuvuvuvvvvvvuvvvuvvvvuuvvvvuvvvvvuvvuvvvuvuvvvvvuvvvvvvvuvuuvvuuvvvvvuvvvvuuvvuvuuvvvuvvuvuuuvvuvvuvvvuvuuuvvuvuvuvuuuvuuvvvuvvvuvuvvvuvvvvuvvvvvvvvvuvvuvuuvvvvvuuvvuvvvvvvvuuvvvvuvuvvvvvvvuvvvvvuvvvvvvvuvvuvuuvvuvvvvvuvvvuuvvvuvuvuvvvvvvvvvvvvvvvuvvvuvvvvvvvvvvvuvvvvuvvuuvuvvvvvvuvvuvvvvvvvuvvvvvvvvvuvvuvuvvuuvuvuvvuvvvuvvuuuvvuuvuvvvuvvvvvvvvvuvuvvvuvvvvvuuuvvvuvuuvuuuvvvvuuvuuuvvvvuvuvuvvuvvuuuuvvuvvuvvvvuuvvvvvvuvuvvvuuuuvuvuuuuvuuuvuvuvuvuvvuvvuvvuvvuuvuvuvvvuuvvvvvuvvuvuuuuuvvvuvvvuuvuvvvvvuvuvvvvuuvvvuvvuvvvvvvvvvuuvuvvvvvuvvvvvuuvvvvvuvuuuvvvvuuvuuvuuvvvvvvvvvuvvuuuvvvvuvuuvvuvvvvuvuuvvuvvvvuuvuvvvvvuuvuvuuuuvvuuvvvvvvvvuvvvvuuvuvvvuuvuuuuuuvvuvuvvvvuvvuuuvvvvvvvuvvvuvuvvvuvvuvuvuuvvvvvuvvvvvvuuuvvvvvvvvvvuuvvuvvvvvuuvvuvvvuuvuvvvuvuvvuvvvvvvvvvvvuuvvvuvvvvvvvuuvvvuvuvvuvuvuvuuvvuvvuvuvuvvuvvuuvvvvuuuvuvvvuvvuvvuvvvvvvvvuvuuvuuvuuvvuvvuvvvvvvvvvvvvuvvvvuuvvvvvuuuvvvvvvuuuvvvvuuvvuuvvvuvuvvvvvvvuuuvvvvvvvvvuuvvuvvuuvvuvvvvvuuvvvvvuvvvvvvvvvuvvvvvuvuuvuvvvvvvvuvvvuuvvvvuuvvvvuuvuvuvvvuuuvvvuvuvvvvvvuvuvuuvuuvvvvvvuuvvuuuuuvvvuvvuvuvvvvvvvvuvvvvvvvvvvuvvvvuuvvvvvvvvvuuvvvuuuvuuvvuuuuuvvuvuvvuvvvvvvvvvuuuuvvuuuuvuuuvuuvvvvvuvvvuuuvvuuuvuuvvuuuvuuvvvuuuuvvvvuuuvvuvuvuvuvvvvvvuvuuvvvvuuvvvuvvuvuuuvvvvvvuvvuvvuvvvvvvvuvvvvvvvvvvvvuvvuvvuvvvvvvvvuvuvvvvvvvvvvvvvvvvvvuvvvvuvvvvuvvuvvvvvvvvuuvvuvvvvvvvvvuvvvvuvvvvvvvuvuvuvvvuuvuvvvvvvvvvvvvvvuvvvvuvvuuuuvvvvvvvuvuvvvuuvvvvvvuuvvvvvvuvvuvvvvvvvvvvvvuvvuvvvvvvuvvvvvvuvvvuvvvvvuvvvvvvvvvvvvvuuvvuvvvuvvvvvvuvuvvvvvuvvvuvuuvvvvvuvvvvvvvvvvvvvvvvuvvvvvvvuvvuuuvvvuvvvuuvuuvvuvvvvuvvvvvvuvvvvvvvvvvvuvuvuvvvvvvvvvvvuvvvvvvvvvvvvvvuvvvvvuvvvvvvuvuvvvvuuvuvvvvvvvvuuvvvuvvvuvvuvvvvvuvvvvvuvvvuvuvuvvuvvuvvvvvvvvvvvuuvuvvvuvvvvvvvvvvvuvuuvvvvuvvvvuuvvvvvvvvvuvvvvuvvvvuvuuvvvvvvvvvuvvvuvuvvvvvvvvuvvvvvvvvvvuvuvvvvvvvuvvvuvvvvuvuvvvvvvvvvvvvvvuvvvvvvvvvuvvuuvvuuuvvuvvuvvvuvvvvvvuvuvvvvvvuuuvuuuvvuvvuuvuvvvuvvvvvuuvvvvuuvvuvuvvvvvvvvvvuvvvvvvvvvuvvvvvuvvvvuuvuuvvvvvuuuvvvvvuvvuvvvvvvvvvvvvvvuvvvvvvvuuvuuvvvvvvvvvuuvvuuvvvuuuvvvvuvvvvuuuvuvuvuuuuvuvvvuvvuuuvvuuuvvuvvvuvuvvvuuuvvvvvvvvvvvuvvvuvuvvvvvvuvvuvvvvvuvvvvvuuvvuvvvvvuvvuvvvvuvvvvvvvvvuvvvvvuvvvvvvvvvvuvvuvvvvvvvvvvvvvuvvvvvvvvvvvvvvvvvvvvvvvuvvvvvvuvvvvvvvvvvvuvvvuvuvuvvvvvvuvuuuuvuvuuuvvvvuvvvvvvvvvvvvvvvvvuvvvvvvvvvuvuvuuuvvvvvvvvvuvvvvvuvuuvuvvvvvvvvuvuvvuuuuuvvvvvvvuuuuuuvuuvvvvuvvuvvuvuvvvuvvvvvvvvuvvvuuvvvuvvvvvvuvuuuuuvvuvvvvvvvuvvvvvvvuvvvvvuvvvvuvvvuuuvvuvuvvuvuuvvuvvvvvvvuvvuvvvvvvvvvvvvuvvvvvvvvvuvvvvvvvuvvvvuvvvuvuvvvuvvvvvuvuuvuvvvuuvvuvuuuvvvuvvvvvvvvuuvvvvvvvuuvvuvvuvuvuuvvvvvvvuvvvvuuvvuuvuvuvvvvvvuvuvvvvvvvvuvuuvvvvvuuvvuvvuuuvvuvuvvvvuvvvvuvvvvvvvvvvvvvuuvvuvvvvvvvuvvvvvvvvvvuuvvuvvvvvvvvvvvvvvvvvvvvvuvvvvvvvvvvvvvuvvvvvvvvvvvvvuvvvuuvvvuvvvuvvvvvvvvvvvuvvuvuvuuuuuvvuvuvvvvvuvuuvvuvuvvuvuvuuvvvvvvvvvvuvvvuvuuvuvvvvvvvvuvvvvvuvvvvvvvvvvvvvuvvvvvuuuvvvvvvvuuvvvvvuvvvuvvvvvvvvvvvuvvvuvvvuvvvvvvvvvuvvuuuvuvvvvvuuvvuvvuvvuvvvuvvuvvvvvvvuvvvvvvvvvvvvvvvuvuvvuuvvvvvvvuvuvvvvvuvvvvuvuvvvvvuvvvuuvuuvvvuvvuvvvuvvvuvvuvuvuvvvvvvvvvvuvvuvvuvvvvuvvvvvvvuvvvvvuuvvvvvvuvuuuvvvvvuuvvuvvuvvvvvvuvvuvuuvvvvuuuuvvvuvvuuvvvvvvvuvuvvvuvvvuuvvvvvvvuvvvuuvvvvvvuuvvvvvuvuvvvvvvvuvvvvvvvvuvuvvvvuuvvvvvuvvvuuvvvvvuvvvvvvvuvvvvvvvvvvvvvvvvvvvuvvvvvvvuvuvvvvvvvvvvvvvvvvvuuvvvvvvvvvvvvuvvuvvvvvvvvvuvvvvvvvuvvvvvvvvvuvvvvuvuuvvvvuuvuvvvvvuvvvvvvvvuvvvvvvvvvvuvvvvvuvvvvvvvvuvvvvvvvvvvvuvvuvvuvvvvvvvvvvvvvvvvvvvvuvuvvvvvvvvvuuvvvvvuvvvvvvuvvvuvvvvuuvvvvuvvvuvvuvvvvuvvuvuvvvvvvuvvvuvvvuvvvvvvvvvvuvvvvvvvvvvvvvvvvvvvvvvvuvvvvvvvvvuuvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvuvvvvvvvvvvvvvuvvvvvuvuvuvvvuvvvvvvuvvvvuvvvvvvvvvvvuvvvuvvvuvuvvvvuuvvvvvuuvuvuvvvvvuvvvuvvvuvvvuvvuvvvuvvvvuvvvvvvuvvvvvvvvvvvvvuvvvvuvvvuuvvvvvuvvuuvuvvvvvvvvvvvvvuvvvvvvvvvvvuuuvvvvvuvvuvvvvvvvvvvuvvuvvvvvvvuvvvvvvvvvvuvuuvvvuvvvvvuvvvuvvvvvvvuvvuvvvvuvvvvvuvuvvuuvvuuvvvuuvvvvvuvvvvvvvvvvvvvvuvvvuvvvvvvvvvvvvuvuvvvvvvvvvvvuuvvvvvvvuvvvuvuvvvvvuvuvvvvvuvvvvvvuvvvvvvuvvvvvuuvvuvvuvvvvvvvvvvvvuuvvuvvvvuvvvvvvvvvvvvvuvuvuvvvvvvuvvvuvvuuvvvvuvvvvvvvvvvvvvvvuvvvvvvvvvvvvvuvuvuuvuvvvuvvvvvuvvvvvvvvvuvvvvvvvvuvvvvvvuvvvvvvvvvvvvvvvvvvvvvvuvuuvvvvuuuvuvvuvvuvvvvvvvvvvvvvvvvuvvvvvvvuvvvvuvvvvuuvvvvvvvvuvvvvvvvuvvvvvvvvvvuvvuvuvuvvvvvvvuvvvvvvvvvvvvvvvvuuvvvvuvvvvvvuuuvvvuuvvvvvvvvvvvvvvvvuvvvvvvvvvuuvvvvvuuvvvvvvvvvvvvvvvvvvvvvvuvuvvvvvvvvvvvvvuvvvvvvvvvvvuvvuvvvuvvuvuuvvvvvvvvvvuvvvuvvvvvvvvuvvvvvuvuvvvvvuvvvvvuvvuvvuvvuvvvvuvvvvvuvvvvvuvvuvvvvuvvvvvvvvvvuvvuvuvuvvvvvvuvvvvvvvvvvvuvvuvvvvuvvuvuvuuvvvvuvuvuvvuuvvvvvvvvuvvvvvuvvvvvvvuuvvuvvvvvvuvvvvvuvvvvvvvvuvvvvvvvvvvuuuuvvvvvvuvvuvuuuuvvvvuvuuvuvvvvvvvvvvvuvvvvvvuuvvvvvvuvvvvvvvvvvvvvvvvvvvvvvvvvvvvuvvvvvvuvvvvuvvvvvvvvvvvvuuvvvvvvuvuvvvvuvvuuvuvvvvvuvvuvuvvvvvvvuvvuvuvvuvvvvvuuvvvvvvvvuuuuvvuvvvvvvvuuvvvvvvvvvuvvuuvvvvvvvvvvvvvuvvvvuvuvvuvvuvvuvuvuvvvvvvvuvvvvvuvvvuvvvuuvvvvuvvvvvvvvvvvvvvuvvvuuvvvvvvvvvvvuvvuuvuuuvvvvvuvuuvvuvvvvvvvvvvvvvvvvvvvuvvvvvuvuvvuvvvuuuvvvvvvvvvvvvvvvuvuvuuvuvvvvvvvvvuuuvvuvvuvuvvvvvvvvvvuuvvvvuvvvvvuvvuvvvuvvvvvvvuuvuvvvuvvvvvvvvvvvvvvvvvvuvvvvvvuvvuvvvvvvvvvuvvvuvvvuvuvvvuvvvuvuvuvvvvvvvuvvvvvuvvuuuvvvvuvvuvvvvvvvvvvuuuvvvvvvvuvvvvvvuvvuvvvvvvuvvuvvvuuvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvuvvvvvuvvvvvvvvvvvvvvvvvvvvvuvvvvvvvvvvvvvvvvvuvvvvvuvvvvvvvuvvvvvvvvvvvvvvvuvvvvvvvvvvvvvvvuvvvvvvvvvvvvvvvvvvvvvuvvvvvuvvvvvvvvvvvvvvvuvvvvuvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvuvvvuvvvvvvvvvvvvvvvvvvvvvvuvvvuvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvuvvvvvvvvvvvvuvvvvvuvvvvvuuvvvvvvvvuuvvvvvvvvvuvuvuvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvuvuvvvvvvvvvvvvvvvvvvvvvvvvvuuvvvuvvvvvvvvvuvvvvvvvvvvvvvvvvvvvuvuvvvvvvvvvvvvvvvvvvvuvvvuvvvvvvvvvvvvuvuvvvvvvvvvvvvvvvvvvvvuvvvvvvvvvvvvvvvvvuvvvvvvvvvvvvvvvvvvvvvvvvuvvvvvvvvvuvvvvvvvvvvvvvvvuvvvvvvvvvvvvvvvvvvvvuuvvvuvvvuuvvvvuvvvvvvvvvvvuvvvvvvvvvuuvvvvvvvvvvvvvvuvvvvvuvvvvvvvvvvvvvvvvuvvvvuvvvvvvvvuvvuvvvvvvvvvvvvvvvvvvuvvvuvvvvvvvvvvvvvvvvvvvvvvvuvvvvvvvvvvvvvuvuvvvvvuuvvvvvvvvvvvvvvvvvvuvvuvvvvvvvuvvuvvvvvvuvvvvvvvvvvvuvvuvvvvvvvvvvvvvvvvvvvvvvvvvvuuvvvvvvvuvuvvvvvvvvuvvvvvvvvvvvvvvvvvvvvvvvvvvvuvvvvvuvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvuvvvvvvvvvvvvvuvvvvvuuvvvvvvvvvvvvvvvvvvvvvuvvvvvvvvvvvvvvvvvvvvvvuvvvvvvvvvvvvvvvvuvvuvvvvvvvvvvvvvvvvuvvvvvvvvvvuvvvvvvvvvvvuvvvvvvvvvvvvvvvvvvvvvvvvvvuuvvvuvvvvvvvvvuvvvvuvvvvvvvvvvvvvvvuvuvuuvvvvvvvvvvvvuvuvvvuuvvvvvvuvuvvvvvuuvvvuvvvvvvvvvvvvvvvvvuvvvuuuvvvvuuvvvuvvvvvvuvvvvvvuvvvvvvuvvvvvvuvvvvuvuvvvvvuvvvvvvvvuvvvvvvvvvvvuvvuvvuvvvvvvvvvvvvvvvuvvvuvvvvvvuvvvvvuvuuvvvvvvvvvvuvvvvvvvvuvvvvuvvvvvvvvvvvvvvvvvvvuvvvvvvvuvvvuvvvvuvvvvuvvvvvvvvvuvuvvvvvvvuvvvvvvvvuvvvuuuvvvvuvuvvvuvvvvvvvvuvvuvvvvvvvuvvvuuvvuvvvvuvuvvvvvvvvvvvvuvvvvvvvvvuuvvvvvvvvvvvvuvvvvvuvvvvvvvvuvvvvvvuvvvvuvvvvvuvuvvuvvvvvvvvuuvvvvvvvvvvvvvuvvvvvuvvvvvvvvvvvvvuvvvvvvvvuuvvuvvvvvuvvvvvvuvvuvuuvvvvvvvuvvvvvvuvvvvvvvvvvvvvuvvuuvvvvvvvvuvvuvvuuvuvvvvvvvvvvvvvvvuvvvvvuvvvvvvvuvvuuvvvuvvvvvvvvuvvvuvvuvuvvvvvvvvvuvvuvvvuvvvvvvvuvuuvvvvvvvvvvvvvvvvvvvvvvuvvvvvvvvvvuvvvvvvvvuvvvuvvvuvvvvvvvvvuvuvvvuvvvvvuvvvvvvvvuuvvvvvvvvvvvuvvvvvvvuuvvvvvvvuvvvvvvvvvvvuvvvvvvvvvvvvuuuvvvvuvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvuvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvuvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvuvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvuvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvuvvvuvvvvuvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvuvvvvvvvvvvuuvvvvvvvvvvvvvvvvvvvvvvvvvvvuvvvvvvvvvvvvvvvvvvvvvvuvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvuvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvuvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvuvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvuvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvuvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvuvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvuvvvvvvvvvvvvvvvvvvvvvvuvuvvvvvvvvvvvvvvvvvvvvvvvvuvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvuvvvvvvvvvvvvvvvvvvvvvvvuvvvvvvvvvvvvvvvvvuvvvvvvvvvvvvvvvvvvvvvvvvuvvvvvvvuvvvvvvvvvvvvuvvvvvvvvvvvvvvvvvvvvvvvvuvvvvvvvvvvvvvvvvuvvvvvvvvvvvvvvvvvuvvvvvvvvvvvvvuvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvuvvuvvvuvvvvvvvvvvuvuvvvuuvvvvvvvvvvvuvvvvvvvvvvvvvvuuvvuvvvvvvvvvvvvvvuuvvvvvvvvvvvvuuvvvvvvvvuvvvvvvvvvvvvvuvvvvvvvuvvvvvvvuvvvvuvvvvvvvvvvvvvvvvvuvvvvvvvvvvvvvvvvvvvvvvvvvvuvvvvvvvvvvvvvvvvvvuvvvvvuuvvuvvvvvuvvvvvvvvvvvvvvvvvvvvuvvvvvvvvvvuvvvvvvvvvuvvvvvuvuvvvvuvvvvvvuvvvvvvvvvvvuvvvvuuvvvvvvvvvvvvvvuuuvvvvvvvvvvvvvvvvvvvvvvvvvvvvvuvvvvvuuvvvuvvvvvvuvvvuvvvvvvvvuvvvvvvvvvvvvvvvvvvvvvvvuvvvvvuvvvvvuvvvvuvvvvvvvvvuvvvvvvvvvvvvvvvvuvvvuvvvvvvvvvvvvvvvvvvvvuuvvvvvvvvvvvvvvvvvvvvvvvvuvvvvvvvvuuvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvuvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvuvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvuvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvuvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvuvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvuvvvvvvvuvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvuvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvuvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvuvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvuvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvuvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvuvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvuuvvvvvvvvvvvvvvvvvvvvvvuvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvuvvvvvvvvvuvvvvvvvvvvuvvvvvvvvvvvvvvvvvvvvvvvvvvuvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvuvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvuvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvuvvvvvvvvvvvuvvuvvvvuvvvvvvvvvvvvvvvvvvvvvvvvvvvvuvvvvvvvvvvvvvvvvvuvvvvvvvvvvvvvvvvvvvvvvvvvvvvvuvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvuvuvvvvvvvvvvvvvvvvvvvuvvvvvvvvuvvvvvvvvvvvvvuvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvuvvvvvvvvvvvvvvvvvvvvvvvvvvvuvvuvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvuvvvvvvvvvvvuvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvuvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvuvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvuvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvuvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvuvvvuvvvvvvvvvuvvvvvuvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvuvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvuvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvuvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvuvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvuvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvuvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvuvvvvvuvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvuvvuvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvuvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvuvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvuvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvuvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvuvuvvvvvvvvvvvvvvvvvvvvvvvvvvuvvvvvvvvvvvvvvvvvvvvvvvvvvuvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvuvvvvvvvvvvvvvvvvvvvvvvvvuvvvvvuvvvvvvvvvvvvvvvuvuvvvvvvvvvvvvuvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvuvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvuvvvvuvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvuvvvvuvvvvvvvvvvvvvvvvvvvvvvvvvvuvvvvvvvuvvvvvvvvvvvvvvvvvuvvvvvvvuvvvvvvuvvuuvvvvvvvvvvvvvvvvvvvvvvvvvvvvvuvvuvvvvvvvvvvvvvvvvvvvvvvvvvvvvvuvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvuvvvvvvvvvvvvvvvvvvvvvvuvvvvvvvvvvvvvvvvvvvvvvvvvvvvvuvvvvvvvvvvvvvvuvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvuvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvuvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvuvvvvvvvuvvvvvvvvvvvvvvvvvvvvuvvvvvvuvvvvvvvuvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvuvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvuvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvuvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvuvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvuvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvuvvvvvvvvvvvvvvvvvvvuvvvvvvvvvvvvvvvvvvvvvvvvuvvvvvvvvvvvvvuvvvvvvvvvvvvvvuvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvuuvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvuvvuvvvvvvvvvvvvvvvvvvvvuvvvvvvvvvvvvvvvvvvvvvuvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvuvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvuvvvvvvvvvvvvvvvvvvuvvvvvvvvvuvvvvvuvvvvvvvvvvvvvvvvvvvvvuvvvvuvvvvuvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvuvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvuvvvvvvvvvvvvvvvvvvvvuvvvvvvvvvvvvvvuvvvvuvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvuvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvuvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvuvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvuvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvuvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvuvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvuvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvuvvvvvvvvvvvvvvvvvvuvvvvvvvvvvvvvvvuvvvvvvvvvvvvvvvvvvvvvvvvvvvuvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvuvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvuvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvuvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvuvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvuvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvuvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvuvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvuvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvuvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvuvvvvuvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvuvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvuvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvuvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvuvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvuvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvuvvvvvvvvvvvvvvvvvvvuvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvwvvvvvvvvvwvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvwvvvvvvvvvvvvwvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvwvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvwvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvuvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvuvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvuvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvuvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvwvvvvvvwvvwvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvwvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvwvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvwvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvwvvvvvvvvvvvvvvvvvvwvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvwvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvwvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvwvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvwvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvwvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvwvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvwvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvwvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvwvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvwvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvwvvvvvvvvvvvvvvvvvvwvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvwvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvwvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvwvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvwvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvwvvvvvvvvvvvvvvvvvvvvvvvvvvvvvwvvvvvvvvvvvvvvvvvvvwvvvvvvvvvvvvvvwvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvwvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvwvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvwvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvwvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvwvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvwwvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvwvvvvvvvvvvvvvvvvvvvvvvwvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvwvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvwvvvvwvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvwvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvwvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvwvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvwvvvvvvvwvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvwvvwvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvwvvvwvvvvwvvvvvvvvvvvvvvvvvvvvvvvvvwvvvvvvvvvvvvvvvvvwvvvvvvvvvwvvvvvvwvvwvvwvvvvvvwvvvvvvvvvwvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvwvvvvvvvvvwvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvwwvvvwvvvvvvvvwvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvwvvvvvvvvvvvvvvwvvvvvvvvvvvvvvvvvvvvvvvvvvvwvvwvvwvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvwvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvwvvvvvwvvvvvvwvvvvwvvvvwvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvwwvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvwvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvwvvvvwvvvvvvvvvvvvvwwvwvvwvvvvvvvvvvvwvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvwvvvvvvvvvvvvvvvwvvvvvvvvvvvwvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvwvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvwvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvwvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvwvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvwvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvwvvvwvvvwvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvwvvwvvvvvvvwvwvvvvwvvvvvwvvvvvvvvvvvvvvvwvvvvvvvvvvvwvvvvvwvvvwvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvwvvvvvvvvvwvvvvvvvvvwvvwvvvvvvwvvvwvvvvvvvvwvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvwvvvvvvvvwvvvvvvvvvvvvvwvvvvvvvvvvvvvvvvvvvwvvvvvvvvwvvvvvwvwvvvvvvvvwvvvvwwvvvwvvvvvvvvwvvvvvvvvvwvvvvvvvvvvvvvvvvvvvvvvvvwvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvwvvvvvvvvvvwvwvvvvvvwvvvvvvvvvvvvvvvvvvvvvvvvvvvvvwvvvvvvvvvvwvvvvvvvwvwvvvvvvvvvvvvvvwwvvvvvvvvvwvvvvvwvvwvvvwvwvvwvvvvvvvwvwvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvwvvvvvvvwvvvvvvwvvvvvvvvvvvvvwvvvvwvvwwvvvvvvvvvvvvvvvvvwvvvvvwvvvvvvvvvwvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvwvwwvwvvvvvvvvvvvvvwwwwvvwvvvwvvvvvvvwvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvwvvwvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvwvvwwvvvvvvwvvvvvvvvvvvvvvvvvvvvvvvvvwvvwvvvvvvwvvvwwvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvwvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvwvvvvvvwvvvwvwvvvvwvvvvvvvvvvvvvvvvvvvvvvvvvvvvvwvvwvvvvvvvvvvvvvvvvvvvwvvwvvvvvvvvvvvvvvvvvwvvwvvvvvvvvvvvvvvvvvvvvvvvvwwvvvvvwvvvvvvvvvvvvvwvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvwvvwvvwvvvvvvvvwvvvvvvvwwvvvvvvvvvvvvvvwvwwwvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvwvvvwvvvvvvvwvvvvwvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvwwvvvvvvvvvvwvvvvvvvvvwvwwvvvvvvwvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvwvvvvvvvvvvvvvvvvvwvvvwwvvvvvvvvwvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvwvvvvvvvvvvvwwvvvvwvvvvvvvvvvvvvvvvvvvwvvvvvvvvwvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvwvvvvvwvvvvvvvvvvvwvvvvvvvvvvvvvwvvvvvvvvvvvvvwvvvvvvvvvwwvvvwvvvvwvvvvvvvwvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvwvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvwvvvvvvvvvvvvvwwvvvvvvvvvvvvvvvvvvvwvvvvwvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvwvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvwvvvvvvvwvvvvvvvwvvvvvvvvvvvvvvvvvvwvvvvvvvvvvvvwvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvwvvvvvvvvvvvvvvvvvvvvvvvwvvvvvwvvvvvvwvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvwvvvvvvvvvvvvwvvvvvvvvwvvwvvvvvvvvvvvvvvvvvvvvvvvvvvvvvwvvvvvvvvvvvvvvvvvvvvvvwvvvvvvvvvvvvvvvvvvvvvvvvvvvvwvvvvvwvwvvvvvvvvvvvvvvvvvvwvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvwvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvwvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvwvvvwvvvvvwvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvwvvvvvvvvvvvvwvvvvvvvvvvvvvvvvvvvvvvvvvvvvvwvvvvvvvvvvwvvvvvvwvvvvvvvvvvvvvwvvvvvvvvvvvvvvvvvvvvvvvvvvwwvwvvwvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvwvvvvvvvvvvvvvvvvvwvvvvvvvwvvvvvvvvvvvvvvvvvvvvvvvvwvvvvvwvvvvvvvvvvvvwvvvvvvvvvvvvvvvvvwvvvvvvvvvvvvvwvvvvvvvvvvvvvvvvvwvvvvvvwvvvvvvvvvvvvvvvvvvvvvvvvvwvvvvvvvvvwvvvwvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvwvvvvvvvvvvvvvvvvwvvvvvvvvvvwvvvvvvvvvvvvvvvvvvvvvvvvvvwvvvwwvvvvvvvvwvvvvvvwvvvvvvvvvvvvwvvvwvvwvvwvvvvvvvvvvvwvvvvvvvvvvvvvvvvvwvvvvvvvvvvwvvwvvvvvvvvvvvvvvvvvvvvvvwvwvvvvvvwvvvvvvvvvvvvvwvwvvvvvvwvvvvvwvvvwvvvvvvvvvwvvvvvvvvvvvwvvwvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvwvvvvvwvvvvvvvvvvvvvvvvvvvvvwvvvvvvvvvvwvvwvvvvvvvvvvvvvvvvvvvvvvvvvvwvvvvvvwvwvwvvvvvvvwvvvvvvvvvvvvvvvvvvvvwvvvvvvvvvvvwvvvvvvvvvvvwwvvvvvvvvvvwvvvvvvvvvwvwvvvvvvvvvvvvvvwvvwvvvvvvwvvvvvvvvvvwvvvvvvvvvvvvvvvvvvvvvvvvvwwvvvvvvvvvvvvwvvvvvvvwvwwvvvvvvvvvvvvwvvvvvvvvvvwvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvwvvvvvvvvvvvvvvvvvvvvvwvvvvvvvvwvvvvvvvvvvvvvvvvvvvwvvvvvvvvvvvvvvwvvvvvvwvvvvvvvvvvvvvvvvwwvvvvvvvvvvvvvwvvvvvvvvvvvvwwvvvvvvvvvwwvwwvvvvvvvwvvvvvvvvvvvvvvwvvvvvwvvvvvvvvvvvvvvvwvvvvvvvwvvvvvvvvvvvvvvvvvvvvvwvvvvvvvwvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvwvwvvvvvvvvwwvvvvvwwvvvvwvvvvvvvvvvvvvvwvvvvvvvvvwvvvvwvwvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvwvvvwvvvvvvwvvvvvvvvvvvvvvvvvvvvwvvvvwvvvvwvwvvvvvvvwvvvvvvwvvvvwvvvvvvwvvvvwvvvvvvvvvvvvvvvvvvwvwvvvvvvvvvwvvvvvvvvvvvvvvvvvvvvvvvvvvwvvvvvvvvwvvvwvvvvvvvvvvvvvvvvvvvvvvvvwwvvvvvvvvvvvwvvvvvvvvvvvvvvwvvvvvvvvwvvvvvwvvvvvvvvvvvvwvwvvwvvvvvvvvwvvvvvvvvvvvwvvvvwvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvwwvvvvvvvvvvvvwvvvvvvvvvvvvvvvvvvvwvvwvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvwvvvvvvvvvvvvvvvvvvwvvvvvvvvwvvvvvvvvvvvvvvwvvvvvvwvvvvvvvvvvvvvvvvvwvvvvvvvvvvwvvvwvvvvvvvwvvvvvvvvvvvvvvvwvvvvvvvvvvvvvvvvvwwvvvvvvvvvvvvvvvvvvwvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvwvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvwvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvwwvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvwvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvwvvvvvvvvwvvvvvvvvvvvvvvvvvvvvvvvvvvwvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvwvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvwvvvvvvvvvvvvvvvvvvvvvvvvvvvvwvwvvvvwvvwvvvvvvvvvvvvvvvvvvvvvvvvvvvvwvvvvvvvvvvvvvvvvvvvvvvvvvvvvwvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvwvvvvvwvvvwvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvwvvvvvvvvwvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvwvvwvvvvvvvvvvvvvvvvvwvvvvvvvvvvvvvvvvvvvvvvvvvwwvvvvvvvvvvvvvvvvvvvwwvvvvvvvvvvvvvvvwvvvvvvvvvvwvwvvvvvvvvvvvvvvvvvvvvvvvvvvvwvvvvvvvvvvvvvvvwwvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvwvvvvvvvvvvvvvvwvvvvvvvvvvvvvvvvvvvvvvvwvvvvvvvvvvvvvvwvvvvvvvvvvvvvvvvvvvvvvvvvvvwvvvvvvvvvvvvvvvvvvvvvvvvvvvvwvvvvvvvvvvvvvvvwvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvwvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvwvvvvvvvwwvvvvvwvvvvvwvvvvvvvvvvvvvvvvwvvvvvvvwvvvvvvwvvvvvvvvvvvwvvvvvvvvwvvvvvvvvvvvwvvvvvvvvvvwvvvvvvvvvvvvvvvvvvvvwvvvvvvvvvwvvvwvvvvvwvvvvvvvvvvvvvvvvvvwvvvvwvvvvvvvvvwvvvvvvvvwvvvvvwvvvvwvvvvvvvvvvvvvvvvwvvvvwvvvvvvvvvvwwvvwvvwvvwwvwvvvwwvvvvvvvvvvwvvvvvvwvvwvvwvwvvvvvvwvvvvvvvwvvvwvwvvvvvvwvvvvvwvvvvvvvvwvwwvvvvvvvvvvvvvwvwvvvvvvwvvwvvvwwvvwvvvwvwwvvvvvvvvvvvwvvwvvvvwvvvwvvvvvvvvwvvvwvwvvvvwwvvvwvvvvvwwwvvwvwvvvwwwvvwvvvwvvvvwvvvvvvwvvvvvwvvvvwvvvvwvwwvvvvvwvwwvwvvvvvvvwvvvvvwvvvvwvwvvwwwvvwvvvvvwvvvwwvvvvvwvvvvvvvvwwvvwvvwvwvwvvwvwvvvwvvvwwwwvvwvwvvvvvvvwwvvvwvwwvvwvvwwvvvvvvvvwvvvwvvvwvvvwvvvvvvvwvvvvvvvvvwvvvvvvvvvwvvwvvvvvvvvvvwvvwvvvwvvwvvvvvvvvwvvvvwwvvvvvwvvvvvvvvvwwvvvvvvvvvwvvvvvvvvvvvvwvvwwvwwvvvvvvvvwwvvvwvvvvvvvvvvvvwwwvvvvvvvvvvvvwvvvvvvwvwvvwvvvvvvvvvvvwwvvvvvvwvvvvvvvvwvvwvwwwvwvvvvvvvwvvvvwvvvvvvvwvvvvvvwvvvvwvvvvvvvvvwvvwvvvvwvvwvvvvvvvvvvvvvvvvvvvvwvwvvvvvwvwvvvvvvvvvvvvvvwvvvvvvvvvvwvvwvvvwvvvvvwvvvvvvvvvvvvvvvvvvvvvvvvvvvvvwvvwvvvvwvvvvvvvvvvvvvwwvwvvvvvvvvvvvvvvwwvvvvvvvvvvvvvvvvvvvvvvvwvvvvwvvvvvvvwvvvvvvvvvvvvwvvvvvvvvvvwvvwvvvvvvwwvvvvvvvvvvvvvvvwvvvvwvvwvvvvvvvwvvwvvvwvvvvvvvvwvvvvvvvvvvvvvvvvvvvvvvvwvvvvwvvvvvvvvwvvvwvvwvvvvwvvvvvvvvvvvvvvvvvvvvwvvwvvvvvvvvvvwvvvvvvvvvvvvwwvvvvvvvvvvvvvvvvwvvvvvvvwvvvwvvvvvwvvvvvvvvvvvvvvvvvvvvvvvvwvvvwvvvvvvvvvvvvvvvvvvvvvvvwvvvvvvvvvvwvvvvvwvwvwvvvvvvwvvvvwwvvwvvvvwvvvvvvvvvvvvvvvvvvvwwvvvvvvvwvvvvvvvwvvvvvwvvvwvvvvvvvvvvvwvwvvvvvvvvwvvvvvvvvvvwvvvvvvvvvvvvvvvwvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvwvvvwvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvwvvwvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvwvvvvvvvvvvvvvvwvvvvvvvvvvvvwvvvvvvvvvvvvvvvwvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvwvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvwvvvvvvvvvvvvvvvvvvvwvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvwvvwvvwwvvwvvwvwvvvvwvvvvwvwvwvwvwvvwvvwvwvvvvvvwwvwvvvvwvvvvwvwvvvvvwvwvvvwvvvvvvwvvwvwvwvvvwvvvvvvvwvwwvvvwvwwvwvwvvwwwvvvwvvvwvvvvvwwvwwwvvvwvvwvwvvwvwvvvvvvvvvvvvvvvvvvvvvvvvvvwvvvwvvvvvvwvwvvvvvvvvvvvwwvvvvvvvvvwvvvvwwvvvvwvvvwwwvvwvvvvvvvvwvvvvwwvvvvwvvwwvwvwvwvvvvwwvvvvvvvvvvvvvvvvvwwvvvvvvvvvvwvvvvvvwwvvvvvvwvwvvwvvvvvvvvvwvvwvwvwvvvvvvwwvvvvvwvvwvvvwvvvwvvvwvvvvvwvwvvwvvvwvvwwvwvvvwvwwvvvvvvvvvvvwwvvwwvvvvvwwwvwwvwvwwvwvvwvwvvvvvvwvwwvvwwvvvvwvvwvvvvvvvvwvvvvwvvvvwvvvvvwwvvvvvvvvwwwvwvvvvvvvwvvwvvvvvvvvvwvvwvvvwvvvvvvvvwwvvwvvvwwvwwwvwvvwwwvwwvwwvvwvwvwwvwvvvwvwvvvvwvvwvvvvwvvvwvvwwvvwvvvwvvvvvwvwvwvvvvvwwvvwvvvvvvvwwvwvvwvvwvwwvvvvvvvwvwvvvvvwwvwvvvvvvwvvvwvwvvvwvvwvwvvvvvvvvvvvvvvvwvwvwwvvvvwvvvvvvvwvvvwvvvvvvvvvwvvwvvvvvvvvwvvwwvvwwwvvvvvvwwvwvvvvvvvvwvvvwwwvwwvvvwvwvvvvvvwvwvvvvvwvvwwvvvwvwvvvvvvwvvvwwwvvvwvwvvvvvvvvvvwvwvwwvvvwvvvvwwwvvvvvvvvwwvwwvvvvvvvvvvvwvvvwvwvvvvvvvvvwwvvvwwvvwvwwvvwvwvvwwvvwvwvvvvvvvvvvvvvvvvwvwvvvvvvvvwvvvvwwvvvvvwvvvvwvwvvvwwwwvvvwvvvvwwvwvwvvvvvvvwvwvvvvvwwvvvvvwvwwwvvvvvvwvwvvwvvvvvvwvvwvvvvwwvwvvwvvvvvvwwvvvvwvvvvvwvwwwwwvwwwvwvvvvvvwvwwwvvwvvvwvwvvvwwwvvvvvvvwwwwwvvvvvvvvwvvwvvvvvvvvvwvvwwvvwvvwvvvvwvwwvvvvvwvwvvvvvwvwvwvvvwvvvvvvvvvvvvvvwwwvvvwvwwvwwvwvvvwwwvwvvvvwwvvwwvvvvvvvvvvwvvwwvvvwvwvwvvvwvwwvwvwwvwwvvvwwvvvwvwvvvvvvwvvvvwvvvvvvvvwvvvvvvwvvvvvvvvvvvwvvvvvvvwwvvvvvvwvwvvwvvvwvwvwvwvvvvvvvvvwvvvwwvvwvvvwvvvvvvvvwwvvvwvvwvvvvwvwwvwvwvvwvvvvvvwvwvvwvvvvvvvvvvvvvwvwvvwvvvvvwvvvwvvvvvvwvvvvwvvwwvvwvvvvvvwvvwvvvvwwvwvvwvvvwvvvwvvwvwvvvvwwvvvvvvvvwwwvvvvvvvvvvvvwvwvvvvvvwvwvvvvvwvvvwwvvvvvvwvvvvvvvwvvwvvvvvvvvvvvvvwvvvvvvvvvvvvvvvvvvvvvvwvvvvvwvvvvvvvvvvwvvvwvvvvvvvvvvvvvvvvvvvwvvwvvwvwvvvvvvvwvvvvvvvvvvvvvvvvvvvvvvvvwvvvwvvvvwvvvvvvvwvvvwvvvvwvvvvwvvvvvvvvvvvvvvwvvwvvvvwvvvvwvvvvvvvvvvvvvvvvvvvwwvvvvvvvwwwvvvvvvvwvvvvvvvwvvvvvwwvvvvwvvvvvwvvvvvvwvwvvvvvvvvvwvwwvwvvvvvvvwvvvvvvvvvvvwvvwwvvvvvwvvvvvvvwvvvvvvvwvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvwvvvvvwwvvvvvwvvvwvvvvvvvvvwwwvvvvvvvwvvwvvvvvvvvvvwvvvvwvvvvvvwwvwvvwvvvvvvvvvwvvvvvvvvwvwvvvvvvvvwvvvvvwvvvvvvwvvvvvvwvvvvvvvwvvvvvvvvvvvvwwvvvvvvwvwwvwvvvvvvwvwvvvvvvvvvvvvvvvwvwvvvwvvvvvvvvvwvvwvvvvvwvvvvvvvvvvvvvvwvvvwvvwvvvvvvvvvvvvwvvvvvwvvvvvvwwvvvvvvvvvvwwvwvvvvvvvvvvwvvvvvvvvwvvwvvvvvvvwvvvvvvwvwvwvvvvvvvwvvvvvvvvwvwvvvvwvvvvwvvvvvvvwvvvvvvwvwvvwvwwvvwvvvvwvvvvwvvvvwwvvwvvvvvwwvvvvvvvvvvvvvvvvvvvvwwvvvwvvvwwvvvvwvwvvvwvvvvvwvvvvvwvvwwwvwvvvvvvvvvvvvvvvvvvwvvvvvvvvvwwvvvvvwvvvvvwvvvvvvvwvvvwvvwvvvvvvvwvvvvvvvvvvvvwvwvvvvvvvvwvvvvvvvvvvvvvvwvvvvvvvvvvvvvvvwvvvvwvvvvvvvvvvvvvvvvvwvvvvwvvwwwvvwvwwwvvvvvwwwvvvwvvvvvvvvvvwwwwwvwvvwwvvwvvvvvwwvvvvvwvvvvwvvvvvvvwvvvvwvvwwwvvvvwwvwvwvwvvvvwwvvvwwvvwvvwvwvvvvwvwvvvvvvwvvvvwvvwwwvvwvvwvwvwvvvvvwwvvvvvwvvvvwvvvvvvvvwvvvwvvvwwvvvvwvvvwwvwwvvvwwvvvwwwvvvvwvwvvvvwvvvvvvvvwvvwvvvvvwvwwvvvvvwwvvvvvwvvwvwvvvvwvvwvwvvwvvvvvvwvvvvvvvvwwvvvvvwwvvvvwvvwwvvvvwvvvvwvvwvvvvvvwvvvvvwvvvvvvvvwvwvwvvvvvvvwvwvvvvvvvvvvvwvvvvvvvvwvvwvwvvvvvvvvvvvvvwvvvvvvwwvvwwvvvwvwwvvvvvvvvwvvvwwvwvvvvvvvvvvvvvvwwvvwvvvvvvvvvwwvvvvvvvwvvvvvvvvwvwvvvvvvvvvwwvvvwvvvwwvwwwwvvvwvvvwvvwvvvwwvvvvvvwwwwvwvwvvvvwwvvvvvvwvvwvvvvvvwvvwwvwvvvvvvvvvvvvvvvvwwwvvvwvvvvwvvvwvvvwwvwvvvvvwvvwwvvvvvwvwwvwvvvvvvwwvvwwvwvvvvwvvvvvvvvvvwvvwvvvvvvvvwvvvvwvwvwwwwvvvwvwvwvvwvwvvvwwwvvvvvvvvvwvvvwvvwvvvvvvvvvwvvvvwvvvvvwwvvwwvvwvwvwwwvvwvvvwvwvvvvvvwvwvvwvwvvvvvvvwvvvvvvvvvvvwvvwvwvvvwvvvvvwvvvwwwvvvwwwvvvvvvvvvvvvvvvvvwvvvvvvvwwvvwwvvvvvvvvwvvvvwvwvvwvvvvvwvvvvvwwvvvvwvvvwvvwvvwwvwvwwvvvvvvvwvwvvwvwvwvvvvvvvvvvvvvvvvvvvwvvvvvvvvvwwvvvvvwvvvvvvvvwwvwvvvvwvvvwvvvwvwwwwvvvvvvvwvvvvvvvvvwvvvwwwvwvwvvvvvvvvvvvvvvvwvvwvvvvwvwwvvvvwvwvvvvvvvvvvwvwvwwvvvwvvvvvvvvvwvvwvvvvwvvvvvwvvvvvvvwvvwvvvvvvwvvvvwwwvvvvvvvwvvwwwvvvvvwvvvvvwvwvvvvvvvvvvvwvvvvvvvvvvwvwvvwvvvwvvwvwwwvwvvvwvvvvwvwvwwvvwvwwvvvwvvvvvvvvvvvwvvwwwvvvwvvvvvwvwvvvvvwvvvwvvvwvvvvvvvvwwwvvvwwwvvvvvvwwvvvvvwvvvvwvwwvvvvwvvvwvwwvvwwvvvwvvvvvvvvvvwvvwvwvvwwvvvwvvvvvvvvvvvwvvvvvvvvvvvvwvvvvvvvvvvvvvwvvvwvvvvvwvvvvvvwvvvvwvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvwvwvvvvvvwwvvvvvwvvwvvvwvwvwvvvwvvvvvwvvvvvwwvvwvvvvvvvvvvvvvwvwvvvvvvvvvvvvvvwvvwvvwvvvvvvvvvvvvvvvvwvvwvvwvvvvvvvwwwvwvwwvvvvvwvwvvvwwwvwvvvvvvvvvvvvvvwvvvvvvvvwvvvvvwvvvvvvvvvvvvvvvvvvvvvwvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvwwvvvvwvvvvwvvvvvvvvvvvvwvvvvvvvvvvvvvvvvwvvvvvvvvwvvvvvvvvwwvvvvvvvvvvvvvvvvvvvvvvvvvvwvvvvvvvvvvvvvwwvvvvvvwvvvvvvvvvvvwvvvvvwvwvvvwvvvvvvvvvvvvvvvvvvvvwvvwvvwvvvvwvvvvvvvvvwvvvvvvvwvwvvvvvvvvvvvvvvvvvvvvvvvvwwwwvvvwvwvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvwvvvvvvvvvvvvvvvvvvvvvwvwwvvvvvvvvvvvvvvvvvvvvwwvvvvvvvvwvvvvvvvvvvvwvvvvvvwvvvvvvvvvvvvvvwvvvvvvwvvvvvwvvvvvvvvvvvvwvvvvvvvvwwvvvwvvvvvvvvvvvvvwvvwwvvvvvvvvwvvvvvvwvvvvwvvwvvvvvvvvvvvvwvvvwvvvvvvvvvwvvvwwvvvvvvvvvvvvwvwvvvvvvwvvvvvvvvwvvvvvwvvvwvvvvvvvvvwvwvvvvvvvvvwvvvvvvvvvvvvvvvvvvvvvwvvwvwvvvvvwvvvvvvvwvvvvvvvvvvwwvvvvvvvvvvvvvvvvvvvvwvvvvvvvvvvvvvvvvvvvvvwvvvvwvvvwvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvwvwvvvvvwvvvvwvvvvvvvvwvvvvvvvvvvvvvvvvvvvvvvvvvvvvvwvvvvwvvvvwvvwvvvwvvvvvvvwvvvvvvvvvvvvvvvvvwvvvwvwwwvvvvvwvvvvwwvvvvvvvwvvvvwvvvvvvvvvwvvvwvvvvvvvvvvwvvvvwvvvvvvvwvvvwvvvvvvvwvvvvvvvvvwvvvvvvvvvvvvvwvwvwvwvwvwwvvwvwvvvvvvvvvvvwvvvvvvvvvvvvvvvvvvvwvvvvvvwvwvwwvvvvvwvwwvvwvvvvvvwvvvvvvvvvvvvvvvvvvvvvvwvvvwvvvvvvvvvvvvvvvvwvvwvvwvvvwvwvvvvwvwvwwwvvwvvvwvvvvvvvvvvvwwvwwvvvwvvwwvvvvwvvwvvvvwvvvvvvvvvwvwwvvvvvvvwvvvvvvvvwvvvvvvvvvvvvvvvvvvvvvvvvvvvwvvvvvvvwvvvvvvvvvvvvwvvvvvvvwvvvvvwvvvvvvvvwvvvvwvvwvvvvwvvvvvvwvvvvwwvvvvvvwvvvwvvvvvvvvvwwwwwwvvvvvvwvvvvvvvvvwwwvvvvwvvvvvvvvvvwvvwvvvvwvvwvvvvvvwwvvvvwvvwvvvvvvvwvvvvvvvvvvvvvvwvvwvvvvvvvvwwvvvvvwvvvvvvvvvvwvvvwwvvvvvvwwvvwvvvvwvwvvvwvwvvwvvvvvvvwvvwvwvvvvvvvvvwwwvwwvvwvvvvvwvvvvvwvvvvvvwwwvvvvvwvvwvvvvvvvvvvvwvwvvvwvvvvvvvwvvvvvvvwvvwvvvvvwvvvvvvvvwwwvwvvwwwvwwvvvvvvvvwvvvwvwwvvvvvwvvvvvvvvwvvvvwvwvwwwwvvvvvvvvvwvvvvvvwvwvvvvvvwvvvvvvwwwwvvvvwvvvvvvwvwvvvvvvwwwvwvvvvwvwwvwvvvwwvvvvvwwwvwwvvvvvvvvvwvvvvvwwvwwvvwvwwvwvwvvwwwvvwvwwvvvvwvwwwvvvvvwvvwvvvvwwvvvvvwvvwwvvvvvwwvvvwwwvvwwvvvvvvwvwvvwwvwwwvwvvvwvvvvvvvwvwvwvwvvvwvwwvwvwvvwvvwwvvvvvvvvvwvvvwwwwwvwvvvvvvvvvvwvvvwvwvwvvvvvvvvwvwvvwwvwvvvvwwwvvvwvwwvwvvvwwwwvvvvvvwwwwvwvvvvvvvvwvvvwvvvvvwwvwvwvvvwvvvvwvvwwwvwvvvvwvwwvvwvvwvvvvvwvvvwwvvvwvvvvvwvwvvvvwwvwwvvvwvvvvwvwwvvvwvwwvwwvvvvwvwvvwwvvwvvwvvvvvvvwvvvvvwvwvwwwvwvvwwwvvwvvwvwvvvvvvvvvvvwvvvvwvvwvvvwvvvvvvvvvwwvvvvvvvwvvvwvvwvwvvvwwvvwwvvvwwvvvvvvwwvwvvvvvwvwvwvvvvwvvvvvvwvvwvvvwvvvvvvvvvvvvvvvvvvvwvvwvvwwwvwvwvwvwwwwvvvvvwvwvvvvvvvvvvvvvvwvvwvwvvwvvvvwvvvwvvvvvwvvvvvvvwwvvvwvwvvwvvvvvvvvwwvvwwvvvvvvwvvwwvwvvvvvvwvvvvvwvvwvvvvwwvwvvvwwwwvvvvvvvwvvwwwvvvvvvwwvvwvvvvvwvvvwwvvwvvvvvvvvvvvvvvwvwvwvwvvwvwvvvvvvwvwvvvwvvvvwvvvwvvwvvvwwvwvvvvvwvvvvwvwvvvvvwvvwvvvvvvvvvwvvvwvvwvvvvvvvvvvvwvvvvvvvwvvwwvvvvvwvwvvwwvvvvvwvvvvvvwvvvvvwvvvvvwwvvvvvvvvvvwwvvvvvvvvvvvvvvwvvwvvvvvwvvvvvwvwvvvvvvvvvwwvwvwwvvvvvvvvwvvvvvvvvwvwwvvvvwvvvwvvvvvvvvvvwvwvvvvvvwvvvvwvvwwvvvvvvvvvvvvwvvwvwvvvvvvvvvvvvvwwvvwvvvvvvwwvvvvvvvvwvwvvvvvvvvvvvvwvvvvvvvvvvvwvvvvvvvvvvvvvwvvvvvvvwvvvvvvvwvvvvvvvwwwwvvvvvvwvvvwvvvvvvvwvvvvvwvvwvvvwvvwvwvvvvvvvvvvvwvwvvvvvvvvvvvvvvwvvvvvvwwwvvvwvvvvvwvvvwvvwvvvwvvvvvvvvvvvvvvvvvvvvvvvvwvvvvvvwvvvvvvvvvvwvvvvwvvwvwwvvvvvvvvvvvvvwvvwvvvvvvvvvvvvvvvvvvwwvwvvvvvvvvwwvwvvvvvvvwvvvvvvvvwvvvvvvwwwvvvvvvvvvvvvvvvwvvvvvvvwvvvwvwvvvvvvvvvwvvvvvwvvvvvvvwvvvvvvvvvvvwvvwvwwvvvvvvvvwvvvvvvvvvvvvvvwvvvvvwvvvvvvvvvvvvvvvvvvvvvvvvwvvwvvvvvvvwvvvvwvvvvvvvvvvvvvvvvvvvwvvvvwvvwvvvvwvwwvwvvwvvvvvvvvvvvvvvvvvvvvvvvvvvvwvvvvvvvvvvvvvvvvwvwvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvwwvvvvvvvvvvvvvvvvvwvvvvvvvvvvwvvwvvvvvvvvwvvwwvvvvvvvwvvvvwvvvvvvvwvvvvwvvvvvvvvwvvvvvvvvvvvvvvvvvvvvvvvvvvvvwwvvvvvvvvvvvvvvvvwvvvvvvvvvvvvvvvvvvvvvvvvvvwvvvvvvvvvvwvvvvvwvvvvvvvvvwvvwvvvvwwvvvwvvvvvvvvvvvvwvvvvwvvvwvvvvwwvwvvvvvvvvvvvvvvvvvwvvvvvvvwwvvvvvvvvvvvvvvvvvvvvvvwvvvwvvwwvvvvwvwwvvvvwwvwvwwvvwwwvvvwvwvwwvwvwvwwvvwwvwvvvwvvwvvwvvwvvvwwvwwvwvvwvwvvwvwvvwvwwwvvwvwwwwvvvwwwvvvwwwvwwwvwvvwwvvvvvvvvwwwvvwvwvwwwvwvvvvwvwvvwwwwvwwvwvwwvvvvwvvwvwvwwwwvvwvwwvwvvwvwwvwwvvvvvvvvwwwwwwwvwwvwwvvvvvvvvvwwvwvwwwwwwwvvvvwvvvvwvvvwvvvvwvwvvwvvvwwwvwvvwvwwvwvvwvwwvwvvwwvvwvvwvvvwvvvwvwwvvvvvvvwvvwvwwvwvvvwwwwvvvwvwwwvvvwwvwvvwvvwwvwwwwwwwvwvwvvvvvwvvvwwwwvwvwwvvwwwvwvwvvvvwvvvvvwvvvwwwwvvwvwvvvwwwwwvwvwwvvwwvvvwwwwwvvwvwwvwvvwwvwvvvwvwvwvwvwvwvvwwvvwvvwwwwwwwvvwwwvwvwvwvwwvwvvvvvwvvwvvwwvvwvvwwvvvwvwvwwvvvvvwwwvwwwwvvwwvwvvvwwwvwvwvwvwwvvwwvwvvvwvvwvvwwwvwvwvwwwwvwwwwwvwwwvvwwvwwvvvvvwvvvvwwwwwwwvwvwwwwwwwvvwvwvwvwvwwwvvwvwwwvwwwwvvvvvvvwvvwwwwwwwwwvvwwwvwvvvvwwvvwvwwwwvvwwwvvwwvvvwwwvvvwvvvwwwwvvwwvvvwvwvvwvwvvvwvwwwwvvwwvvvwvwwvvwvwwwwwvvwvvwwvwvvvwvwwwwwwvwvvvwvwvwwvwwvvvwvvvvvwwvvvvwwwvwvvvwvwvvwvvvvvvwvwwwvvvvvvvvvwwvwvwvvwvvvvwvvwvvvwwwvwwvvwvvwvvvvvwvvvwwvwwwvvvvvvwvwvwwvwwvwvvwvwvwvvwvvwvvvvwwwvvvwwwvvvvvwwvvwwvwvvvvvvvvwvvvwvwvvvwwvvwvvwvwvwvvvvwvvvvvvvwvvvwvvwvwvwvvvvvvvwwvvvvwvvvvvvvvwvvwwvvwvwvvvwvwvvwwwwvvvwvvvvwwwwwvvvwvvwwvwwvwwvvwwvwvwvvvvvvvvvvvvvvvvwwwwvvvvvvwvvwwwvwwwvvwwvvvwwvvwvwvvvvvwvvvwwvwvvwwvwvwwvvvwvwvwvvwvwvwwwwwwwwwvwvwvvvwvvvvvvwvvvwwwwvvwvvvvwvvwvvvwvvvwvwvvvvwwvvvwvvwwvwvwvvvwvvvwwvwwvvvvvwvvwvwwvvvvvvvvvwwwvwwvvvwvvvwvvvvwwwwvwvvvvvvvvwvwvwwvvvvvvvvvvvwvwwvvvvvvvwwwvwvvwvvvvvvvwvvvvvvwvvvvwwvvvvvwwvwvwvvwvvwwvwvvvwvvwvvvvwvwvvvwvvvvvvvwwvvvvwvvvvvwvvwvvvvvvwvwvvwwwvvwvvwwvwvvvvwvwvwvvvvwwvvwvvvvwvwvvvvvvvvwvvwvwvvvvwvvwvvwvwvwwwvwvwvvvvvwwwvvwwvvvwvvvvvwwvwwvvvwwvwvvwwvwvvwwwvwvvvvvvvvwvvvvvwvvvvwwvvvvwvvwvwwvwvwvvvvwvwvvwwvvvvvwwvvwvvvwvvwwwwwvvvvvvvvvwvwvvvwvvvvvwvvvvvvvvvvwvvwvvwvvvwvvvvwwvvvvvvwwvvvvvvvvvwwwvvwwvwvvvvvwvvwvvwwvvwvwvwvvvvwvvvvvwvvvvwvvvvwvwwwvvwwvwvvvwwvvwvvvvwvwvvvvvwvwwwvvwvvvvvvvvvwvvvvvwwwvwvvwvvvvwvwwvwwvvvvvvvwvvvwvvvvvwwwwwvvwvvvvvvvwwvvvvvvvwwvvvvwvwvvvvvwvvvvvvwvvvwvwvvvvvvwvwvwvwwvvvvwvvvvvvvvwwvvvwvvvwvvvwwwwwvvwvwvwwvvvvwvvwvvwvvwvwvvvwvwvwwvwvwwvwvwwwvwvvwwvvvvwwvvwvvwwwwwvwwvvvvwvvwwwvvvwwvwvvwvwwvwwwvwwwvvvwwwwwwwwwvvwvwwvwwvvvvwwwwwvvwwvwvwvwvwwvwvvwvvwvwvwwvwwvvvwwvvvvwvwwwwvvwvwwvwvvwwwwwwwvwvvvvwvwwwwwvvwwwvwwvwwvvwvvvvwvwvwwwwwwwvvwwwvvwvvwvwwvvvvwvwvvwvvwvwwvwvvwvwvwwwwwwwwwwwvwwvvwvvwwvwwvvvwvwwvvwvvvvwvvvwvwvvvwwwwwwwvvwwwwwvvwwvvwvvvwwwvvwwwwwwwvwvvvvvvwwvwvwwwwwwvwvvwvwwvwvwvvvvwwvwvwvvwvwwvwvvwwwwwwwvwwwwwwvwvwwvvvvwwwwvvvvvwwwvvvvwvwvvvwvvwwvwwwvwwvwwvvwwvwwwwvwwvwvvwwwwwwvwvvvwwvwvvwvvwwwwvwvwvvvwvvvvvwwwwwvwvwvwwvvwwvvvwwwwvvvwwwvwwvvvwwwvwwwvvvwvvwvvvvwwwvwwwvwwwwwwwwwwvvwvvvwwvwvvwvvwwvwvvwwwwwvwwwvwwwwvvvwvwvwvwvwvwwvvvwvvvwwwwwwvvwwvwwwvwwwwwvwwvwvvvwvvwvvwvwwwvvvwwwvvvwwwwvvwvwvwvvvvwwvvvwwwvwwvwvwvwwwwvwvwvwvwvwwwwvvwvvwwwvvwvvwwwwwvvvwvwwwwvvvvvwwwvwwvwvwwwvwwwvwwvwwwwwwvvvwvwwwwvwwvwvwvvvwwwvvwwwvvwwwvwwvvvvvvwwwvwwvvvwvvwvwvwwvvwwwwwwwwwwwvvwvwwvvvwwvvvvwwwvwwwvvwvwvvvvwvwwwwwvwwvwvvvwvvwwwvvwwwvwwwwwvvvvvwwvvwwvwvwwvvwwwwwvvwvwvwvwwwvwvvwvvvwvvwvwwwvvwwwwvvvwvwwvwvwvwwwvvvwwvvvvwvwvvwvwvvvvwvwvwwvvvvwvwvvwwwwvwwwvvwvvwwvwvvwwvvwwvvvvwwvwwvwwvwwwvwwwvwvvvvvvwvwwwwvwvwwvwvvwvwwwwvvwwwwwwwvwwvvwvvwvwwvvvwvvwwvwwvwvwvwvvvvwwwvvwvwvwvwwwwwwwwvwvvwvwvwwwvwvvwvvvwwvwvvvvvwwwwwwwvwvvvvwwvwwvvvwvwvvwwvwwvvvvwwvvwwvvwvvwwwvwvwvvwvvvvvvvwvwwwwvwwvvwvvvwwvvwvwwwwwvwvwvvvvwwwwwwvvwwwvvvvvwwvvvwvvvvvvwwwwvvwvvwvwvwvvvvvvwvwvwvvwvvvvvvwvwvvvvvvvwwvvvvwvwwvwvvvvvvvvvvwwvwvwwvvvwvwvvvvvwvvvwwvwwwvvvvvvvvwwvvwwvvvvwwwvvvwwwwwvwvwvwwwwwwvwvwvvvwwwvvwvvwwvwwwwwvwwwvvwwvwvvwwvvvvvvvwvvwwvwvvvwwwwvwwwvvwvvwvwvwvwwvvvwvwvvvwvwvwvvwvwvwvvwvvvvvvvvvvwwvvwvwwwvwvvvvwwwwwvwvwvwwvvwwvvvvvwwvwwvvvwvvwvvvwvwvvvwvwwvvvvwvwwvvwvwvvvwvvvvvvvwvvvvvvwwvvvvvwvwvwvvwvvwvwwvwvwwwvwvwvvwvwwvvwvvvwwvwvvwwwvvvvvvwvwwwvvwwwwwwvvvwwwwvvvwwvwwwvwvvvwvvvvwwvvwvvwvvwvvvwvvvvvvvvwwvwvwvwwwvvvvvwwwvwwwwvvvwwwvvwvwvvvwwvvvvwvwwwwvwvwvvvvvwvvwwwvvvvvvvwvvvvwvvvvvwvvvwvvwvvwvvvvvwwvwvwwvwwwwvvvvvvwvwwvwvvvvvvvvwwwwvwwwwvwwwvwvvvvwwwwwwwvwvvvwvvvwwvwwvwwwvwwvvwwvwvvwwwwwvvwvwwwvwwvwwvvwvwvwvwwvvvwwvwvvwvwvwvwwwwwvvvvvvwwwvwwvvwvvwwvwwvwvvvwwwwvvwwwwvvwwwwwvvwwvvvvwwvwwwwwvwvwwvvwvwvvwwwwvvvwwvwvvvwvvwvvvwvvvwwwwvvwwvvwwwvwwvwwwvwvvvvwvvwwvwwwvwwvwwwwwvvvwwwvvvvvwwvvwvvvwwwwvwvvwwwwwvwwvwwwwwwvvwwvwvvwwvwvwwwvvwwwvwvwvwwvwwwvwvwvwwvwwvwvwwwvwvwvwvvwvvvvwwwvvwvwvwwwvwwwwwvvvvwwvwvwvwwvvwwwvwwvvvwvvvwvwwwvwwvwvwwvwvvwwwvwwwwwwvwwwvwwwvvvvwwwwvvvvwvvwwvvvwwvvvvvvvvwwwwwvvvvwvwwvwwvvvwwvwwvwwvvwvwwwvwvvvwwvwwvwwvwvvvwwvwwwwwwvwvvwwwwvvwvwwwwvvwwvvvwwwwwvwvvwvwwvvvwwwwwwvwwvwvvwvwvwwvwwwwwvwwwwwwwvwwvvwvvvvvwvvvwvwwvwwwvvwwvwwvvvvvwwwwvvvvwvwvwvwvvvvvvvvwvwwwwwwvvwwvwwvvwvvwwvwvwwvwvwwvwvwvvwwwwvvwvvvvwwvwwwwvvwvwwvwvwwvvvwwvvwwvwwwwwwvwvwvvvwvvwvvwwvvwvvwwwvvvvvwwwwwwvwwvwwvwwwwvwvwvwwvvwvwvwvwwvvwwvwwwwwwvwvwvwwwwvwwvvvwwvvwwvvwwwvwvwwwvwwvvwvvvvwvvvwwvvwvwvvwvwwvvwvwwvvwwvwvwvwvwwwwwwwwvvvwwvvwwwvvwvvvvwvwvwvwwwvwwvwvvwvvvwwwvvwwwvwwwwwvvvwvvvvwwwvwvwwvwvwwwwvwwvvvwvwwwvvvvwvwwvvvwwvwwwvwwwwvwvwvwwvwwwwwwvvvwwvvwvwvwwvvwvwwwvwvvwvvwvwvvwvwvvwvwvvwwvwvwwvvvwvvvwvvvvvvwwvvwvvwwwvwwwwvwvvvwvvvvvwwvwwvvwwvwwvwvwwwvwwwvvwvvwwwwwwwvwwvvwvwwvvwwvvwwwvwwwvvvwwvvvvwvvvwvvvwvwwwwvwvwwwwvwwwvwwvvvwvwwvvvwwwvvvvvwwwwwwvvwvwvwvwvwwwwwwvwwvwwvwvvwvwwwvvvvvwwvvwvwwwvwvwwvwwwvwvvvwwvwwwvvvwwvwvwwvwvvwvvwvwwvwvvvwwwwvwvwwwwwvvvwvwwvvwvvvvwvwwwwwvwvvvvwvvvwwwwvwvwvwwvvvvwvvvwvwvvvwvwvwvwwwvwwvwvvvvvvvvvwwvwwvwwwwvwvwvwwwwvvwwvvwvwwwwvwvwvwvvwvvwvwvwvvwwwvvwwvwwwvwvwwwvvwwwwwwwwwvwwwvvvwwvwvvwwwwvwwwvwwvvvvvwwvwvvvvvwwwwwvwvwwvwvwwwwwvvvwvwwwvwvwvvvvwvwwvvwvwwvvvwvwwwwvwwvvvvvvvvvwwwwvvvvwwwvvwvwwwvwvvwwvwwvwwvvvvwvvvwwwwvvwwwwvvvwvwvvvvvwvvvwwwvwwvwwwwvwvwwvvvvvvwvvvvwvwwvvvvvvwwvwwwwvvwwwwvwwvwwvwvwvwwwwwwvvvvvwvvvwwvwvvwwwvvwvwvvvvwwwwvwvwvwwwvvvvvwvwwwwwvwvwwvvwvwwvvvvwwvvwwwwwwwvvwvvvvvwvvvwwwvwwvvvvwwvwwwvvwwvwvwwwwwvvvvwvwvwwvwwwvwvwwwvvvvwvwwwvwvwwvvwwvvvwvvvvvvvvvwvvvwwwvwvvvwwwwwvwwwwwwvvvwvvwvwwvwwvwvwvwwvwvwwwwvwvwvwvwvvvwwwwwwwwvwwvvwvwvwwvwwvwvwvvwvvwwwwvwwwwwwvvwvwwvvwwvwvvwwvwwwvwwvvvwwwwvvwvwwwvvwwwwwwvwwvwwwvwwvwwvvwwvwwvwvvwwwvwvvwvwwvwwvwwwvwwwvwvvwwwvwwvwwwvwwvwwwwvwwwwwvvvwvvwvwwwvwvvvwwwvvwvwwwvwwwvwwwvwvvwwwwwvvwvwvwwvvvwwwvwwwwwwwwwwwwvvwvwwwwvvwvwvvwvvvwvvwwvwwvwwvwwwwwwvvwwvvvwwvvvvwwwwvwwwvwwwwwwvwwwvwvwwvwvwwwwvwwwwvvwvvvvwvvvvwwwwwwvwvwwwwwwwwwwvvwwwvwvwwvvvwwwwvwwvvvvwvvwwwwvvvwvwwwwvwvwvwwwwwwwwwvvwvwwwwwwwvwwwvvvwvwvwvwvvvwwvvwvwvvwwwwvwvvvwwvwwvwwvvwwwvwvvwwvvwwwvwwwvvvwwvwwwwwvwvvvvvvvwwwvwvwvwwwvvwwvvwwwwvwwwvvvvwvwwwwwwwvvvvvvvvvwwwvwwvvvvvvwwwwvwwwwvvwvvwvwvvvwvwwvvvvwwvvvwvwwvwvwvvvwwwwvvvvvwvwwvvvwwvwvwwwwwwvwwvwwvwwvwvvvvvwvvwvvvvvwwvwvwwwwvvwvwvwvwwwvvwvwvvvvvvvvwvwwwvvwwvwvwwwvvwwvwwvwwwvwwvwvvvwwwwwwwwwwwwwwvvvwvwvwvvvwwwwwwwvvvvwvwwwwwwwvwwvvwwwwwvvvvvwwwwwwvwwwwvvvwwwwwwwvvvwwwwvwvvvvwvwwvwwvwwvvwvvwwvvwvwwwvwvwvvwwwwvvvvvwwwwwwwvwwvvwwwwwwvwvvvwwvwwvwvvwwwwwwwwvvvwwwvwwvwwwwvwwwvwvwvwwwvwwvvvvwwvwvwwwwwwvwwvwwwwwvwwwvvwvvwwwwvwvwvwwvvvvwvwwwvwvvwvwvvwwvvwwvwvwwwwwvwvwvwwwwvwvwwwwvwvwvwvwvwvvwwwwvvvwvwwvwwvvwwwvwwvvvvvvvwwwvvvwwwwwvvwwwwvvwvwvvvwvwwvwwwvvwvvvwvwvwwwvwvwwvwvvvvwvwwvvwwvwvvwwvvwwwwvvwvwwwvwwvvvvvvwvwwwvvvwwvwvwwwvwwwwwwwwvwwvvwwvwwvvvwwwwvvvwwwwwvwvwvwwwwwwvvvwvwwvwwwwwvvwvwwwvwvwwvwwwvvwvvwwvwwwvvwvwvwwvvwwwwwwwvvwwvwvwwvwvvwvwwvwwwwwvwwwwwwwvwvvvwvvvwwvwwwwvvwvwvwvwwwvwvwvvwwvwwwwwvwwwvwwwwvwwvwvwwvwvvwvwvwwwwwvwwvwvvvvwvvwvwwvvwvvvvvvwvwvvwwwvvwwwvwvwwwwwwwwvwvvvvwwvwvwvwvvwwwwwwwvvvvvvvwvvwvvwvwvwwvwwwvwwwwvvwvwwwvvwvwwwvvvvvvvwwwwvwvwwwwvwvwvwwvwvwwwwwvvvwwvwwvvvwwwvwwvwwvvwvwwvvwwvwwwwwwwwvvvwvvvvwwwwwvwvwwvwwwvvvwwvwwwwwwwwwvwvvvwwwwwvwvvvwwwvvvvvwwwvvvwvvwvwvwwwwwwvwwwwvwwwvvvvvvwvwwvvwvvwvvvvwvvwwwwvvvwvwvwwwvvvvvvvwvwvwwvwvvwwvvvwwvwwvwwvvwwvvvvvvvvwwvwvwvwwvvwwvwwwwvwwvvvwwwwvwvwwwwvvvwwvwwwvwwwvvwvwvvvwvvvwwwvwwvvvvvwvwvwvwwwvvwwvvwwvvvwwwwvwwvvvvvwvwvwvvvwwvwwwvwwwwwvwwwvwwwvvvvvvvvwwvvwwwwwwvwwwwvwwwwvvwwwvvwvvvvvwvwwwwvwvwwvwvwwwwwvwvvwwwvvwwwwvwwvwvvwvvwwwwwwvwwwwwwvvwvwwwwwvwwvwwwwvwvwwvvwwwvwwwwvwwwwvvvvvwwwwvvwvwwwvvwwvwwwwwwvwwwwwwwwvwvwwwvwwwwwwvwwwvwwwwwvwwvwvvvwwwwwvvwwvvwvwwwvvvwwwwwwvwwwvwvvvwvvwvwwwvwvwvwwwvvwwwwwvwvwvwwwwwwvwwwwvvvwvwvwvvwwwwwvwwwwwwwvwwvwwwwvwwwwwvwwwvvwvwwwvwwvvwvvvwvwwvwwwwvwwwwvwvvwvvwwvwvwwwvwwwwvvvwwwwwvwwwvwwwwwwwwwwvwwvvvvvwvwvwwwwwwwwvwwwwwvwwwwwwwwvwvwwwvvvwwwvwwwvwvvwwvwwwvwvvvvwwwwvwvwvwwwwwwwwwvvwvwvvwwwwwwwwvvwwvwvwvvvwvvwwwwvwvvwwwwvwwvwwwvwwvwwvvwwwvwwvvwvvvwwwwwwvwvwwvwwwwwwvvvvwvwwwwwwwvwvwwwvvwwvvwwwwvwwwwvvvwvvwwwwwwvvwwvvwvvwwwvwwvwvvwvwvwwwwwwwvwvwvvvwvvvwvwwwvvvwwvvwvwwvvvvvvwvwwwwwwvvvwwwwvvvwwwvwwwwwwwvwwwwwwvwwvvvwwwvwvwvwvvwwvvvwvvwwwvwvvvwwwwvvwvvwwwwvwvwvwvwwwwvwwvwvvwwwvwwvwvwwwwwwwvwvwwwwvwwwwwwwwwwvvvvwvwvwvvwwwwwwwwwwvvwvwvwwwwwwwvvwvvvvwvvvvvwwwwwwwwwwwvwwwvwwwwwvvvwwwwwwwvwvwvwwvwwvwvvwwvvwwwwwwvwwwwvwwwvwwwwwvvvwwwwwwvvwwwvwwwvwwwwvvvwvwwwwwvwwwwwwwwwvwwwwwvvwvwwwwwwwwvwvwvwwwvvwvvvvwwwwvwwvwwwwvwvwwwvwwwvwvvwwvwwwwvwvwvvwvwwvwvwwwvwwvwvwvwwwvvwwwvwwwwwwvwvwvwwwwvwvwvwwvvvwvvvvvvvvvwwwwvvwvvvvwwvvwwwvvwvwwwvvwwwwvvwwwwwvvvwwwwwwwvwwwwwvvwwwwwvvwwvwwvwvwwwvvvwwvwvwvvwvwwwwwvwwwvvwvvwwwvvwwvwwwvwwvwvvvvvvwwvvvwwwwvvwwwwvvwvwwvwvwwwvvvvwwwvwwwwwwwvwwwwwvwvwwwwwwwvwwwwwvwwwwwvwvvwvwwvwvvwwvwwwvwwvvwwvwwwvvwwwvwwvvvvwwwwwvwwwvvvwwvwvwvvwwvwwwwvvwwwwwwwvwwvvwwwwwwwwwwwwvwwvvvvwvwwwwwvwwwwwvwvwwwwvvwvwwvwvwwwwwvwwwwvvwwwwwvwwwvwwvvvwvwwwvwvvwwvvvwvwvwvwvwwvvvwwvwvvwwwwwwwvwvvwvwwvwvvvwwwwwwwwwvvvwvwvwvvvwwwwvwvwvwvwvvwwwwvwwvwwwwwwvwwwwwvvvwvvwvwwwwwvwvwwvwvwvvwvwwwvwvwvvwwwwvwwwwwvwwwwvvvvvwwvwwwvwwwwwwwwvwvwvwwwwvwwwwwwwwvwwwwwwwvwwwwvwvwwwvvvvvwwwwwwwvvvwvwvvvwvwvwvvwwvvwvwwwvwvwwvwwwwwwvwvwwvvvwvwwwwwwvwvvwvwvwvwwwvwvwwvwvvwvwwvvvvwvvwwwvwvwwwvvvwvvvwvwwvvwwvvvvwvwwvwvvvwwwvvvwwvwwwwvwvvwvwwwwvwwwvwwvvvvwvvwvwvwwvvvvwvvvwvwvwwwwvwwvwwvvwwvvwwwwvvwwwvwvvvvwwwwvwwvwvwvvvvvwvvwwvwwwvwwwvwwvwwwvwwvvwvvvwvvvwvvwwwwwwvwwvwvwwvvvwwwwvwvvwwvwwvwwwwvwvwwvwwwwwvwvwwwwwwwwwwwwvwvwwvvwwwwwwwwwvvwwwwwvwvvwwvwwvwwvwwwwwwvwvvwwwwwwwwwvwwwwwvvvvwwwwvwwvwwwvwwwvvwwwwwwwwwwwwwwvwvwwwwvwvwwwwwwwwwwwwwwwwwwwvvwwvwwwwvwwvwvwwwvvvwwwwwwvwwwwwwvvwvwwvwwwvvwwvwvwwwwwwwwwvvwvwwwwwwwwwwwwvvwwvvwvvwwwwwwwwwwwwwvwwwwwwwvwwwwwwwwwvwwwwwvwwvvvvvvwwwwvvwwwwwwwwwwwwvwwvwwwwvvwwwwwwvwvvvwwwvwwwwwwwwwwwwwwwwwwwvvvwwwwwvwwwwwwwwwwwwwvwvwwwwwvvwwwwvwvvwwwvwwvwwvvwwwwwvwwvvwwwwwvvwvwvvvwwwwwwwwvwvwvwwwwwwwwwvvwvwwvwvwvwvvwwwwvwwvwwvwvwwvwwvwwwvwwwwwwwvwwvwwvvwvvwwwwwwwwvvwvwwwwwvwvwvwwwwwwvvwvwwwwvwwvvwvwwvwwwwwwvwvvvwwwvwvvwwwvwwwwvwvvwvwwvwwwwwwwwwwvvwwwvvwwwwvwvwwwvwwwvvvwvwwwvvvwwwvwwwvwwvvwwwwwwwvwvwwwwwwwwwwwwwwvwwwwwwvwwwwwvwwwvvwwwvwwvvwvwwwwwvvwwwvvwwvwwwwvwvwvwvwwwwvwwvwvvwwwvwwvwwwwwvwwwwwvwwwwwwwwwwwwwwwvvvvwwwwvwwwwwwwwwwwwvvwwvvwvvwwwwvvwwvvvwvwvvwwwwwvwwwwwvwwwwvwwwwwvwvvwwwwwwwwwwvwwwvwwwvwwwvwwwwwwwvwvwwvvwwwwwwwwvvwwwwvvwwvwwwwvwwwvwwwvwwwwwwvwwvwwwwwwwwwwwwwwwwvwvwwwvwwvwvwvwvwwwvwwwvvvwwwwvwvvvwwwwwwwwwvwwwvvwvwwvwwwwvwvwvvwvwvvvwwwwwwwvwvwvwwwvvvwwvwwwvwvwwvwvwwwwvwwwvvwwwwwvwwvvvwwvwwwwvwwvwwvwvwvwwvvvwvwwwvvwwwwwwwwwwwvwwwvwvvvwvvwvwvvwwwwwwwvwwvwwvwvwwwvvvwwvwvwvvwvwwwwvwwwwwvwwvwwwwwwwwvwwwwwvwvvvvwvwwwwvwvvvwwwwwwvvwwwwvwwwwwvwvvwwwvwwwwwwwvwwwwwwwvvwwwwwwwwwwvwwwwwvwvwwvwwwwvwvvwvwwwwvwwvvvwvwwwwwwwwvvwvvvwvvwvwvwwwvvvwwvvwwvvvwvwwwwvwvvwwwwwvwwvvwwvwwwwwwwwwvwwwwwwwwwwwwwvwvwwwwvvwwvwvvwvwwvwvwwwwwvvwwwvwwwwvwvwwwvwvwwvwvwwwwwvvwwvvvvwwwvvwvvwvvvvwvwvvwvvwwwvvwvvwwwwwwvvwwwwwwwwwwvvwwwwwwvvwwwwwvwvwwwvvvvwwwvvwwwwvwwwwvwwvwwvwvwvvwwwwwwvvwvwwvwwwwwwvwwwwvwwwwvwwwvwwwwwwwwwwwvvwwwvwwwwvwvwwwwwwvwwwvwvwwvvwvwwwvvvwvwwwwwwwwwwvwvwwwvwvvvvwvwwvwvwvwwwwvvwvwvwwvwwvwwvwwwvwvwwvwvwwwwvwvwwvvwvvwwwwwwwwwwwvvvwvwvwvwwwwvwvwwvwwvwvwwwwwwwwwvwwwvwvwvvvvvwvvvvwvwwvwvwwvwvwwwwwvvvwwvwvwvvvwvwwwwwwvwwwvvwwwvvvvvvvwvwwvvvwwvvvvvwvwwvwvvwvvwwvwwwvwwwvvwwwwwwwvvwwvwwwwwwwvwvvvvwwvwwwvvwwvwvwwwwvwwwwvvwwwvvwwvvwvvvwwwwvwvwvwwvwwvvvwwvwvwwwvwwwwvwvwwvwwwwvwwwwvvwvwwwwwwwwwwwwvwwwwwwwwwwwwwwwwwwwwwwwwvvwwwvwvwvwvwwwwvvwwvwvwwwwvvwwwwwwwvvwwvwvvwwwvwwvvwwwvvwvwwwwwwwwwwwwvwwwwwwvwvvwvwvwwwwvwwwwwwwwwwvwvwwwwwvwwvwvwwwvvvwwwwwwvwvwwvwvwvvwwvwwwwwwwvwvwwwwwwvwwvwwvwwvvwwwwwvvwwvwwwvvvwwwwvwwwwwvwwwvwwwwwwwwwwwwwwwwwwwwwwwwwwvvvwvwwwwwwvwvwwwwwwwwvwvwwwwwwwvvwvwwvwvwwwwwwwvwvwwwwwwwwwwwwvwwwwvvwwwwwwwwwwwwwwwwwvwwwvvwwwwwwwvwvwwwvwvwwwwwvwwvvwwwwwwwwwvwwwwwwvvwwvvvwwwwwwwwvwwwwwwwwwwwvwvvwwwvvwvwwvvvwwwwwwwvwwwwvwwwwwvwwwwwvwwwvwwwwvwwwwwwwwwwwwwwvwwwvwwwwwvwwwwwwwwwwwvwwwwvwwwwvvwvwwwwwwwwwwwwwwvwwwwvwwwwwwwwwvwvwwwwwvwwwwwvwwwvwvwwwwvwwwwwwvwwwwwwvvvwwwwwwvwwwwwvwwwvwwwwwwwvwwwwwwwwvvwwwwwwvvwwvwwwwwwwwwwwvvwwwwwwvwvwwvvvwwwvwwvvwwvwwwwwwwwwvwvwwwwvwwwvvwvwvwwwwvwwwvwvvwvwvwwwvwvwwwwwwwvwwvwwvvvwwwwwwwwwwwwwwwwvwwvwwwwwvwvwwwvwwwvvvwvwvvwwwwwwvwwwwvwwwwvwwwwwvwvwvwwwwwwwwwvwwwwwwwwwwwwwwwwwwwvwwwwvvwwwvwvwwwwwwwwwvwwvwwwwvvwwvwwwvwwwwvvwwwvwwvwwwwvwwwwwwwwvwvwwvwwwwwvwvwwvwvwwwwvvvwwwwwwvvwwwwwvwwwvvwwwvwwwwvwwwwwvwwwvwwwwvwwwvvvwwwvwwwvwwwwwvwwvwwwwwvwwvwvwvvwwwwvwvwwwwwvwwvvwwwwvwvwwwwwwwvwvwvwwvvwwvwwwvwwwwvwwwwvwvwwwwvvvwvwwwwvwwvwwwwwwwvwwvwwvwwwwwvwwwvvwvwvvwvwwwwwwwwwwwwwvvwwwwwwwwwvwwwvwwwwvwvwvwwwwwvvwwwwvwwwwwwvvwwvwwvwwwvwwvwvvwwwwvvwwvwwwvwwwvvwwwwwwvwwwwwvwvwwvwwwwvvwvwwwwwwvwvvvwwwwwwwwwwvvwwvvvwwvvwwwwwwwwvwwvvwwvvvwvvwwwvwvvwwvwwvwwvvwvvwwwwwwwwwvwwwwwwwwwwwwvwwvwwwwvvwwvwvvwvvwvvvvvwvwvvwvwvwwwwvwwwwwvwvwwvwwwwwwwvwwwwvvvwwwvvwvvwwvwvwvwvvwwwwwwvvwvvwwwwwwvvwwwwwwwvwwwwwwwwwvvvwwwwwwwwvwwwvvwwwwvvwwwwwwwwwwwwvwwwwvwvvwwwwwwvwwvwwvwwvwwwvwwwwwwwwwwwwwvwwvwwwwwwwwwwwwwwwwwwvwvwvwwwwvwwwwwwwvwvwvwwwvvwwvvwwwvwwvwwvwwwwvvwwvwwwwvwwwvwvwwwwvvwvwvwwvwwwwvwvwwvvwwwvwwwwwwvwwwwvvwwwwwwwvwwvwwwvvwwvwvwvwwwwwwvwvwwwvwvwwwwwvwwwwwwwvwvwvvwvwwvvwvwwwwvwvwwvvwwwwwwwvvvwwwvwwvvwwwwwwwwwwwwvvwwwwvvwvvvwvwwwwvwwwvwwvwwwwwwvvwvwwwwwwwvwvvwvwwwwwwwwwwwwvwwvwwwwwvvvwwwwwwwwvvwvwvwwwwvwwwwvwwwwwvwwwvwvvvvwwwwwvwwwwvwwvwwwwwwvwwwwwwwvvwwwvvwwvvwwwwwwwwvwwwwwwwwwvwwvwwwvwwwwwwwwwwwwwwwwwwwwwwwwwvvvwwwvwwwwwvwwwwwwwwwvwwwwwwwwvvwwwwvwwwwvwwvwvwwvvwvwwwwwwwwwwwvwwwwwwwvwvvwvwvwwwwvwwwwwwwwwwwwvwwvwwvwwvwwwvwvvwwwvwwvvwvwwvwvwvwwwwwvwwwwwvwwwwwwwwvwwwwwvwwwvvwwwwwwwwvwwwvvvwvwwwvvwwwvvwwvwvvvwwwwwwwwwwwwwwwwvwvwwvwvvwvwwwwwwvwwwwwvwwwwvwvwwwwvvwvvwvwwwwvwwwwwwwwvvwvwwvvwwwwwwvwwwwvvwvwwvwwwvwwwwwwwwvwwwvvwwwwvwwvwvwwwvwwwwwvwvvwwvwwwwwwwwwwwwvwwwwvwwwwvvwwwwwwwwvwvwvvvwwwwvwvwwwvvvwvwwvvvwvwwwwwvvvwwvwwwwwvwwwwwvwwwwwwwwwvwwwwwwwwwwwvwvwwwvwwwwwvwwvwwwvwwwwvwwwwwvwwwvwwvwwwwvwwwwvvwwwvwwwwvwvwwwvwwwwvwwwwwwwwwwwwwvvwvwvwwwwvwwwwwwwwwwwwwvwvwwwwvwvwwvwwwwwwvwvwwwwwwwvwwwwwwvvwwwwwwvvwwwwwwvwwwvwwwvwwwvwwwvwwwvvvwwwwwwwvwwwvwwvwwwvwwvwwwwwwwwwvwwwwvwwvvvvwwwvwwwvvwwwwwwwvwwwwwwwwwvvwwvwvwwwwwwwwwwwwwwwvvwwwwwwwwvwwwwwvwwwwvwvvwvvwwwwwwwvwvwwwwwwvwwwwwwwvwvwwwwwwwwwwwwwwwwwwwwvwwwwwwwwvwwwwwvwwwwvwwwwwwwwwwwwvwwwwwvvwwwwwwwwwwwvwwwwvwwvwwvwvwwwwvwwwvwvvwwwvwwwwwwwwwwvwvwwvwvwwvwwwwvwvwvwvwwvvvvwwvwwwwvwvvwwwvwwwwwwvvwwwvvvwwvwwwwwwwvwvvwwwvwwwwvvwvwvwvvwwwwvwvwwwwvvwwvwwwwwvwvvwwwwwwwwvwvwwvvwwwwwwvwwwwvwwwwvwvwwwwvwvwvwwwwwwwwwwwwwwwwwvvwwvwwwvwvwwwvwwvwvvwvvwwwwwvwvwwwwwvvwwwwwwwwvwwwvwwwwwwwwwwwwwwvvwwwwvwwwwwwvwwwvwwwwwwvvwvwvvvvwwwwwwvwwwwwwwvwwwwwwvwwvvwwwvvwwwvwwwvvwvwwwwwvvwwvwwwwwwvwvwwwvwwvwvwwwwwwwwwvwwwwwvvwwvvwvwvwvwwvwvvwvwwvwvvwwvvwwvwwwwwwvwwwwwwwwwwwwwwwvvwwwvwwwvwwvwvvwwvwwvwwwvvwvwwvwwwwwwwwvvwwwwwwwwwwwwwwwvwvvwvwwwvwvwwwvwvwvvvvvwwwwwvvvvvvwwwwvwvwwvwvwwvwwwwwwwwwvwwwwwwwwwwwwvwwwwwvvwwvwvvwwvwwwwwwwvwvvwwwwwwvwwwwwvwwvwvwvvwvwwwwwwwwwwvwwvwwwwwwwvwwvwwvwwwwwwwwwvwvwwwwwvwwwwwvvwvwwwwwvvwwwvwvwwvvwwvwwwvwwwwwwwwvwwwwwwwvwwwwvwwvwvwwwwwwwvwwwwvvwwwvwwvwwwvwwvwvvwwwwwwwvvwvwwwwwwvvwwvwwwwwwwwwwwwvwwwwvwwwwwwwwwwvwwwwwvwwwwwwwvwwwwvvvwwwvwwwwvwwwwwvwwvwwwvwwvvwwwwwwwwvvwwwwvvwvvvwwwwwwvwwwvwwwvwwwwwvvwvwwwwwwwwwvvwvwwwwwwwwwwwwvwvwvwwwvwwwwwvwwwwwvwwvwvwwwwvwwvwwwwwwwvvwwvwwvwvwvwwwwwwwwwwwvwwwwwwwwwwwvwwwvwwwvvwwvwwwwwwwwwwwwwwwwvwwvwvvwwwvwwwwwwwwwwwwwwwwwwwwwwvwwvwvwwwvwwwwwwwwwvwwwwwvwwwwwwwwwwwwwwvwwvwwwwwwwwwwvwwwwwwwwwwwwwvwvwwwwwvwwvwwwwwwwwwwwwwwwvwwwwwvwwvwwvwwvvwwvwvwwvwvwwvwwvwwwwwwvwwvwwvwwwwwvwwwwwwwwvwwwwvvvwwwwwwwvwwwwwwvvvvwwvwwwwwwwwwwwwvwvvvwwwwwwwwwwwwwwwvwwwwwwwwvwvwvwwwwvwwvwwwwwwwwwwvwwwvvwvwwvwwwwwwwwwwvwwvwwvwvwvwwwwwwwwwwwwwwvwwwwwwvwwwwwwvvvwvwvvwvwvvwwwwvwwwwwwwwwvwwvwwwwwwwwwwvwwwwvwvwwvwwwwvvwwwwwwwwwwvwvwvwwwwwwwwwwwwvvvwwwvvvvwwwvwvwwwwvwvwvvwwwwwwwvvwwwwwwwwwwwwwwwvwwwvwwwwwvwwwwwvwwwwwwvvwwwvwwwwwvwwwvwwwwwwwwvwwwvvwwwvwwwwwwvwvwvwwwwwwwwwwwwvvwwwwvwwwwwwwwwwwwwwwwwwwwwwwvwvwwwwwwvwvwwwwwwwwwvwwvwwwwvwvwwwwwwwwwwwwwwwvwwwwvwwwwwwwwwwwvwwwvwwwvvvwwvvwwwvwwwvwwvwwwwwwvwwvvwwwwwwwwwwwwwwwwvwwwwwwwwvvwwwwwwvvwwwvwwwwvvwwvwvwvwwwvwwwwwwwwvvwwwwvvwwvwwwwwwvwwwwvwwvwvvwwwwwwwvwvwwwwwwwwwwvwwwwwwwwwwwwwwwwwwwwwwwwwwvvvwvwwwwvwwwwwwwwwwvwwwwwwwwwwwvwwwvwwvvwwwwwwwwvwvwwwvwvwwvwwvwwwvwwwwwwwwvvwwwvwvwwwwwwwwvwvwwvwvwwwwwwwvwwwvwwvwvwvwwwwwwwwvwwwwwwwwwwwwwvwwwvwvvwwwwwwvwwwvwvwwwwwwvwwvwwwwwwwwwvwwvwvwwwwvvwwwwwwwwwwvwwvwwwwwwvwvwwvvwwwwwwvwwwvwvwwwvwvwwwwvwvwvwwwvwwvwwwwwwvvwwvvwwvwwwvwwwwwvwwvwwvwvvwwwwwwwwwwwwwvvwwwvwwwwvwwwvwwwvwwwvwwvwwwvwvvwwvwwwwwvwwwvwwwwvwwvwwvwwvwvwwwwwwvwwwwwwwwwwwwwvvwwvwwwwvvwwwvwwwwwvvwwwwwwwwwvwwwwvvvwvwwwvwwvwvwwwwwwwwwvwwwvwwwwwvwwwwvwvwwwwwvwvvwvwwvwwwwwwvwwwwwvvwwwwvvwwvwwwwwwvvwwvvwwwvwwvwvwwwvwwvwwwvwwvwwwwwwwwwwwvvwwvwwwvvwwwwwwwvwvwwvvvwvwwwwvvwvwvvwwvwwwwwwwvvvvwwwwwwvwwvwwwwvwwwwwvwwwvwwvwwwwwwvwwwwwwwvwvwwvwwwwvwwwvwwwwvwvvwwwwwwvwwwwwwwwvwwwvwwvwwwvvwwwwwvwwwwwwwwwwvwwvwwwwwwvwwwwvwwvwwvwwwwwwvwvvvwwwwwwvvwwwwwvwwvvwwvwvwvwwwwwwwwwwwvwwwwwwwwvvwwwvvwwwwwwvvvwwvwvwwwwwwvwwwvwvwwwwwwvwwwwwwwvvwwwwwwwwwvwwvwwvwwwwwwwwvwwvwwwvvwwwwwvwwwwwwwwwwwwvvwwvvwwvwwwvwvwwvwvwwwwwwvwwwvwwwwwwwwvwwwvwwwwwwvwvvvwwwvvwvwvwvwwwwwwwwwvwwwvwwwwwvwwwvwwwvwwwwvwwvwwwwwwwwvwvwwwwvwwvwwwwwwvwvwwvwwwwvwwwwvwwvvwwvwwwwvvwwwwwwwvwwwvvwwwvwwwvwwwvwwwvwwwvvwvwwwwwwwwwwwwwwwwwwvwvwwvwwwvwwwwwvwwwwwwwwwwwwwwwwvwwvwwwwwwwwvwwwwwwwwwwwwvwwwwvwwwwwwwwwwwwwwwwwwwwwwwvwwwwwwwwwwvwwwwvwwwwwwwwvwwvwwwwwwwwwwvwvwwwwwwwwvwvvwwvwwvwwvwwvwwwwwwvwwvwvwwwwwwwwvvwwwwvvwwwwwwwwwwwwvvwwwwwwwwwwwwwwwwwwwwwvwwwwwwvvwwwwvwvwvwwwwvvwwwwwwwwwwwwwwwwwwwvvwvwwwwvwwvwwwwwwwwwwwwwvwwvwwwvwwwwwwvwwwvwwvwwvwvwvvwwwwvwwwwwwwvvwwwwwwvwwvwwwwvvwvwvvwvwvwvwwwvwwwwwwwwwwwwvvwwwwwwwwwvwwwvvwwwwwvwwwvwvwwwvwwwwvvwwwvvwvwwwwwwwwwwwvwwwvwwvwvwwwwwwvwvwwvwwwwwwwwwwwwwwwvwwwwvwwwwwvwwwwwwvwwvwwwwvvwwwvwwvwwwwvwwwwwvwwwvwwwwwwwwwwwwvvwwwvwwwwwwvvwwwwwwwwwwvwwwwvvwwwwwwwwwwwwwwwwwwwwwwvwvwwwwwvwwwwwwvwwwwwwwwwwwwwwwwwwwvwwwwwwwwwwwwvwwwwvwwwwwwwvwwwvwwwwvwwwvwwwvwwwwvwwwwvwwwvwwvwwwwwwvvwwvwwwwwwwwwwwwvwwwvwwvwwwwwwvwwwwwwvvwwwwwwwvvwwwvwvwvwwwvwwvvwwwwvwwwwwvvwwwwwwwwwwwwwwwwwvwwvwwwwwvwvwvwwwwwvwwwwwwwwwwwwwwwwwwwwwwwwwwwvwwwvwvwwwwwwvwwwvwwwvwwvwwwwwwwwwwwwwwwvwwwvwwwvwwwwvwwwwwwwwwwvwwwwwwvwwwwwwwwvwwwwvwvwwwwwwwwwwwvwwwvwwwwwvwvwwwwwwvvvwwwwwwwwwwvwwwwwwwwwwwwwwwwwwwvwwwwwwwwwwwwwvwwwwwwwwwvwwwwwwwwwwvwvwvwwwwvwwwwwwwwwwvvwwvwwwvwwvwvwwvvwwwwwwvwwwwwvwwwvwvvwwwwwvvwwwwwwwwwwwwwwvvwwvvwwvwwwwwwwwwwwwwwwvwvvwwwwvwwwwwwwwwvvwwvwwwvwwwwvwwvvwwwwwwvwwwwwvwwwvwwwwwvwwwwwwwwwwwvwwwwwvwvwwwwwwvwwwwwwwwwwwwwwwwwwwwwvwwwwwvvwwwwvvwwvvwwwwwwwvwwwwvvvwwwvwwvwvwwwwwwwwwvwwwvwwwwwwwwwwvwwwwwwwwwvvwvwwwwwwwwwvvwwwwwwwwwwwvwwvwwwwwwvvvwwvwwwvwwvwwwwwwwwvvwvvwvvvvwwwwwwvwwvvwwvwwwwvwwwwwwwvwvwwvwvwwwwwwwvwwwvvwwvwwwwwwwvvvvvwwwwvvwwvwwwvwvwwwwwwwwvwwvwwwwwwwwwwwwwwwwvwwvwwwwwwwwvvwvwvvwwwwwwwwvwwwwwwwwwwwwvwwvwwwwvvvwwwvwwwwwwwwwvvwwvvwwwwwvwwwwvwwvwwvwwwwwwwwvwwwwwwwwvwwwwwwwwwvwwwvwwwvwwwwwwvwwvwvwwwwwvwwwwwwwwvwwwwwwwvwwwvwvwwwwwwvwwwvwwwvwwvwvwwwwwwwvvwwwwwwwwwvwwvwwwwwwwwvwwwwwvwwwvwwwwwwvvwvvwwwwwwwwwvwwvvwwvwwvvwwwwvvvwwvwwvvwwwvwwwwwvvwvwwvvwwwwwwvvvvvwwwvwvvwvwwwwwwwwwwwvwwwwvwvwwwwwwvwwwvwwwwwwvvwvwwwvwvwwwwwwvvwwvvwvwvwwwvwwwwwwwvwwwwvwwvwwwvvwwvvvwwvwwwwwwwwvwwwwvwvwvvvvvwwwwwwwvvwvwwwwwwwwwwwwwwwvwwwwwwwwwwwwwwwvwvwwwvwwwwwwwwwwwvwwwwwwwwwwwwwwwwwwwwvwwwwwvvwwvwwwwwwwwwwwwwwwwvwwwvwwvvwwwwwwwwwwwwwwwwwwwwwwwvwwwwvwwwwwwwwvwwvwwwvwvvvwwvwvvwwwwvvwwwvwwwwwvwwvwvwwwvwwwwvvwwwvwwwwwwwwwwwwvwwwwwwwwvwwwwvwwwwwwwwwwwwwwwwwvwwwwwwvwwwwwwwvvwwwwwwwwwwwwwwvwwwwvwwvwwwwwvwvwwwwwwwwwwwwwvwwvwwwwwwwwwwvwwwvvwvwwvwwwvwwwwwvwwwwwwwvwwwwwwwvwwwwvwwvwwwwvvwvwwwwwwwwwwwwwwwvwwwwwwwvwwwwwwvvwwwwwwwwwwwwwwvwvwwwwwwvwwwwwwwwwwwwvwwwwwwwwwwwwwwwwwwwwwwwwwwvwwwwwwwwwwwwwwwwwwwvwwwwwwvwwwwwwwwwwwwvwwwwvvwwwwwwvwwwwvwwwwwwwwwwwwwwwwvwwwwvwwwvwwwwwwwwvvwvwwwvwwvwvwwwwwvwwwvwwwwwwwwwwwwwwwwwwvwvwwvwvvwwwwwwvwwwwwwvwwwwwwvwvwwwwwwwvwwwwwvwwwwwwwvwwwwwwwvwwwwwvwwwvwwvwwwvwwvvwwwwwvwwvwwwvwwwwwwwwwwvwwwwwwwwwwvwvwwwwwwwwwwwwwwvwwwwvwvwwwwwwwvwwwwvwvwwwwwvwwwwwwwwwwwwwwwvwvwwwwwwwwwwwwwwvwwwvwwwwwvwwwvwwwvwwwwwwwwwwwwvwwwwwwwwwwwwwwvwvwwwvwwvwwvwwwwwwwwwwvwwvwwwvwwwwwwvwwwwvwwwwwwwvwwwwvwwwwwwvwwwvwwwwwwvwvwwwwwwwwwvvvwvwvwwwwwwwwwvwwwwwwwwwvvvwwwwvwwwvwwvvwwvwwvvwwwwvwwwwwwwwwwwwwwvwwwwvwwwwvwwwwwwwvwwwwwwwwwwwwwwwwwwwwvvwwwvwwwwwwwwwwwvwwvwwwvwwvwwwwvvwwwwwwvvwwwwvwwwvwvwwwvwvvvwwwwwwwwwwwvwwwvwwvvwwvvwvwwwwwwwwwwwwvvwwwwwwvwwwwwwwwwwvwwvwvwvwwvwvwwwvwwwwwvvvwwwwvwwwwwwvwwvwvwwwwwwwwwwwwwwwwwvwwwwwwwwwwwvwwvwwwwvwwwwwwwwwwwwwwvwwwwwwwwwvvwwwwwwwwwwwwvvvvwwvwvvwvwwwwwwwvwwwwwwwwwwwwwwwwvwwwvwwwwvvwwvwwwwwwwvwwvwwwwwwwwwwwwwvwwwvwwwwvwwwwwvvwwwvwwwwwwwwwwwvwwwvvwwwwwvwvwwwvwwvwvwwvwwwwwwwwwwwwvwwwwwwvwwvwwwwvwwvwwvwwwwvwvwvwwwwwvwvvwwwwwwwwwvwwwwvwwwvwwwwwwwwwwwwwwwwwwvwwwvwwvwwvwvwwwwwvwwwwwwwwvwwwwwwwwwvwwvwwwwvvwwwwvwwwwwwwvwvwwvwvwwwwwwwwwwwwwvwwvwwwwwwwwvwwwwwvwwwwwwvwwwwwvwwwwwwvvvwvwwwwwwwwvwwwwwwwwwwwwwwwwwwvvvwvwwwwwwwwwwvwvwwvwwwwwwwwwwwwwwwwwwvwwwwvwwwwwvvvwwwwwvwwwwwwwwvvwwwwwwwwwvwwwvvwwwwwwwwwwwvvwwwwwvwwwwwvwwwwwwwvwwwwwwvwwwvvvwwwwwwwwvwwvvwvvwwwvwvvwvvwvwwwwwvwwwwwwwwwwwwwvwwwwwwvwwwwwvvwwwwvwwwvwwwvvwwvwvwvwwwvwwwvwwwwwwwvwwvwwwvvwwwwwvwwwvwwvwvwwwwwwwwwwwvwwwwvwvwwwwwwwwvvvwwvwwvwwwwwwwwwwvwwwwwwvwwwwwwwwwwwwwwwwwwwwwwwwwwvwwvwwwwwwwvwwwwwwwwwvwwvwwwwwwvwwvwwwwwwwwwwwwwvwwwvwwwwwvwwvwwwwwwwvwwwwwwvwwwvwwwwwwwwwwwwwvwwwwwwvwwvvwwvwvvwwwwvvwwwvwwwwvvwwwwvwvwvwwwwwwwvvvwwwwwwwwwwwwvwwwwvwvvvwwwwvwwwwwwwvwwwwwwwwwwwwwwwwwwwwwvwvwvwwwwwwwwwwwwwwwwwwwwwwwwvwwwwwvwwvwwwwvwwwwwvwwvwwwwwwwwwwvwwwvwwwvwwwwwwwwwwvwvwwwwwwwwwwwwwwwwwwwvwwvwwwwwvwvwwwwwwwwwwwwwwwwwwwwwwwvwwwwvwvvwwwwwvwwwwwwwwwwvwwwwwwwwwwwwwwwwwwwwvwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwvwwvwwwwvwwwwvwwwwvwvwwwwwwwwwwwwvwwwwvvwvwwwwvwvwwvwwwwwwwwwwwwwwwwvvwwwwwwwvwwwwvwvvvwwvwwwwwvvwvwwwwwwvwwwwwwwwwwwwwwwwwwwvwwwwwwvwwwwwvwwwwwwwwwwvwwwwvwwwvwwwwwwwwwwwwwvwwwwvwwwwwwwwwwvwwwwvwwwwvvwwvwwwwvwvwwwwwwwwwwwwvwwwwvwwwwwwvwwwwwwwwvvwvvwwwwwwwvwwwwwvwvwwwvwwwwwwvwwwwwwvwvwwwvwwwwwwwwwvwwwvwwvvwvwwwwwwwvwwwwwvvwwwwwwwvwwwwwwwwwvwwwwwvwwwvvwwwwwvwwwwwwwwwwvvvwwwwwwwwwwwwwwwwwwvwwwwvwwwwwwwvwwvwwwvvwwwwvwwwwwwwwwwwwwwwwwwwwwwwwvvwvvwwwvwwwwwvvwvwwwwwwwwwwwvwwwwwwwwwwvwwvwwvvwwwwvwvwwvvwwwwwwwwwwwwwwwvwwwwwwvwvwwvwvwvvwvwwwvwwwwwwwwwwwvwwwwwwwvwwwwvwwwwwwvwwwwwvwvvvvwwwvvwvwwwvwvvwwwvwwwwwwwvvwwvwwwwwvwwwvwwwwvwwwwwwvwvwwwvwwwwwwwvvwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwvwvwwwwwwwvwwwwwwwwwwvwwwvvwwvwwwwwwvvwvwvwvvwvwvwwwwwwwwwvvwwwwwwwwwwvvwwvwwwwvwwwwwwwwwwvwvwwwvwwwwwwwvwwwvwwwvwwwwwvvwwwwwwvvwwvwwwwwwwwwwwwwwwvvwvwwvwwwwwvvvwwvwwwvwwwwwwwvvwwwwwwwwwvwwwwwwwvwvwvwwvwwwwwwvwwwvwwwvwwwwwwvwwwwvvwwwvwwwwwwwvvwvwvwwvwwwwwvwwwwwwvwwwwwwwwvwwwwwvvwvvwvwwwwwwwwwwwwvwwwwvwwwwwwwwwwwwwwwwwwvwwwwvwvwwvwwvwwwvwvwwwvwwwwwwwwwwwwwvvwvwwwvwvvwwwwwwwwwwwvwvwwwwwwwwvwwwwwwvvwwwwvwvwwwwwwwwwwwvvwwwwwwwwwwwwwwvwwwwwvwwvvwwwwwwvwwwwvvwwwwvwwwwwwwwvwwwwwwwwwwwwwwwvwwwvvwwwwwwwwwwwwwvvwwvwwwwwwwwwwwwwwwwwwwwwwvwwwwwwvwwwvwwwwwwwwvwwwvvwwwwwvwwvwwvwvwwwwwwwwwwwwvwvwwwwvwvwwwwwwwwwwwvwwwvwwvwwwvwvwwwwwwwwvvwwwwvvvwwvwvvwwvwvwwvwwwwwwwwwwwwwwwwwwwwwwwwwwwwwvwwwwwwwwwwwwwvvvwwvwwvwwwwwwwvwwwvwwwvwwvwwwwvwwwwwwwwwwwwvwwwwwwwwwwwwwwwwwwwwwwvwwwwwwwwvwwvwwwwvwwwwwwwvvwvwwwwwwwwwwwvwwvwwwwwwvwwwvwwwwwvwwvwwwvwwwvwwwwwwwwwvwvwwwwwwwvwwwwwwwwwwwwwwwwvwwwvwwwwwwwwvwwwwwwwvwwwwwwwwwwvwwvwwwwwwwvwwwwwwwwwvwwwwwwwwwvvwwwvvwwwwwwwwvwwwwwwwwwvwwwwwwwvwvwwwwwwwwwwwwvwwwvvwvwwwwvwwwwwwwwwvwwwwwwwwwwwwwvwwwwwwwvwwwvwwwwwwvwwvvwwwwwwwwwwwwwvwwwwwvvwwwwwvwwvwwwvvwvwwwwwwwwwwvwwwvwwwvwwwwwwwwwwvwwwwwvwwwwvwwwwvwwwwwwwwwwwwwwvwwwwwwwwwwwwwwwwwwwvwwwwwwwwvwwwvvwwwwwwwwwwwwwwwwvwwwwwwwwwwwvwwwwwwwwwwwwwwwwwwwwwwwwwwwvwwwwwwwwwvwvwwwwwwwwwwwwwwwvwwwvwvwwwwwwvvwwwwvwwwwvwwvwwwwwwwwwwwwwwwwwwwwwvwwwwvvwwwwwwwvwwwwwwwwwwwvwwwwwwwwwwwwwwwvwwwvwwwvwwwwwwwwwwwvvwwwwwvwwwwwvwwwwwwwwwwvwwvwwvwwwwwwwwvvwwwwwwvwwwwwwwwwwvvvwwwvwvwwwwwwvvwwwwwwwvwvwvwwwwwwwwwwwvwwwwwwwwwwvwwwwwvwwwwwvvwwwwwwwwwwwwwwwvwwwvwwwwwwvwwwvwwvwvwwwvwwwwwwwwwvwwwwwwvvwvwwwvwwvwwvwwwwwwwwwwwwvwwwwwwwwwwvwvwwvwwwwwwwvvwvvwwwwwwwvwwvvwwwwwwwwwwwwwwvwwwwwwwwwwwwwwwwvvwwwwwwwwwwwvwwwwvwwwwwwwwwwwwwwwwwwwvvwwwwwwwwwwwwwwwwwwwwwwwvwwvvwwwwwwwwwwvwwvwwvvwwwwwwvwwvvwwwwwvwwwwwwwwwwwwwwwwwwvwwvwvwvwwvvwwwwwwwvwwwwwwvwwvwwwwvwwwwvwwwvwwvwwwwwvwvwwvwwwvvwwwwwvwvvwwwwvwwwwwwwwwwvwwwwwwwwwvwwwwvvwwwwwvwvvwwwwwwwwwwvwwwwwwwwwwwvwwwwwwwwwwwvwwvvvwwvwwwwwwwwwwvwwwwwwwwwvwwwwwvwwvwwwwwwwwwwvwvwwwwvwwwwwvwwwwvwwwwwwwwvvwwwwwwwwwvwwwwwwwwwwvwvwwwvwwwwwwwwwwvvwwwwwwwwwwvwwwwwwwvwwwwwwvwwwwwvwwwwvvwwwwwvvwwwwwvvwwwwwwwwvwwwwwvvwwwwwwwwwwwwwwwwvwwvwwwwwvwwwwwwwwwvwvwvwwwwwwvwwvwvwwwwwwwwwvwwwwwwwvwwwwwvvwwwwwvwwvwwwwwwwwwwvwvwvwwwvwwwwwwwwwwwwwvvwwwwvwwwwwwwwwwwwwwwwwwvwwvwwwvwwvwwvwwwvwvwvwwwwwwwwwwwwwwwvwwvwwwwwvwwvwwwwwwwwwwwwwwwwwwwwvwwwwwwvwwwwwvwwwwwwvwwwwwwvvwwwwwwwwwwwwwwvwwwwwwwvvvwwwvvwvwwwwvvwwwwvwwwwwwwwvwwwvwwwwwwwwwwwwvwwwvvwwwwwvvwwwwwwvwwvwwwwwwwwwwwwwvwwwwwwwwvwwwwwwvwwwwwwwwwvvwwwwwvwwwwwwvwvvwwwwvwwwwvwwwwvwvwwwvwwwvwwwwwwwwwwwwwvwwwwwwvwvwwwwwwwwwwwwwwwwwwwwvwwvwwvvvvwwwvwwwwwwwwwwwwwwwwwwwwwvwvwwwwwwvwwwwwwwwwwwwwvwvvwwwwvwwwwwvwwwwwwwwwvwwvvwwwvwwwwwwvwwwwvvwwwwwwwwwvwwwwvwwwwwwwwwwwwwwwwvwwwwwwwwvwvwwwwwwwvwwwwwwwwwwvvwwvwwwwwwwwvwwwwwwwvwwwvwwwwwwvwwwwwwwwwvwwwwwwwwwwvwwwwwwwwwwvwwwvwwwwvwvwwwwwwvwwwwvwwwwwwwwwwwwwvwwwwwwwwwwwwwwwwwwwwwwwwwvwwwwvvwwwvvwwwwwvwwvwwwwwwwwwvwwwwwwwwwwwwwwwwwwwwwwvwwwwvwwwwwwvwwwwvwvwvvwwwwwvvvwwwwwwwwwwwwwwwwwwwwwwwwwwwvvwwwwwwwwwwwwvwwwvwwvvwwwwwvwwvwwwwvwwwwwwwwwvwwwwwvwwwwvwwwvwwwwwwvwwwwwvwwwwwwwvwwwwwwwwwwwwwwwwvwwwvwwwwwvwwwwwvwwwwwwwwwwwwvwwwwvwwwwwwwwwwwwwwwwvwwvwwwwwwwwvwwwwwwvwwwwwwwwwwwwwwwwwwwwwwwvwwwwwwwwwwwwwwwwwwwwwwwwvwwwvwwwwwwvwwwwwwwwvwvwvwwwvwwwwwwwvwwwwwwwwwwwwwwwwwwwwvwwvwwwwvwwwwwwwwwwwvwwvwwwwwwwvwwwwwwvwwwwwwwwwwwwwwwwwwwwwwvwwwwwvwwwwwwvwwwwwwwwwvwwwwwwwwwvwwwwwwwwwwwwwwwwwwvvwwwvwvwwwwvwwwwwwwwwvwwwwvwwwwwwwwwvwvwwwwwwwwwwvvwwwvvwwwwwwvwwwwwwwwwvwwwwwvwwwvwwwwwwwwwwvwwvwwwwwvwwwwwwwwwvwwwwvwwvwvwwwwwwwwwwwwwwwwwwwwwwvwwwwwwwwwwwwwwwwwwwwwwwwvwvwwwwwwwwwvwwvwwwwwwwvwwwwwwvwwwwwwwwwwvwwwwwvvwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwvwwwwwwwwwwwwwwwwwwwwwwvwwwvwwwwwwwwwwvwwwwwwwwwwvwwvwwvwwwwwvvwwvwwwvwwwwwwwwwwwwwwwwwwvwwwvwwwwwwwwwwwwwwvwwwwwwwwwvwwvwwwvwwwwwwwwvwvwwvwwwwwwwvwwvwwwwwwwwwwwwwwwwwwwwwwwwwwwwvwwwwvvwwwwwwwvvwwwwwwwwwwwwwwwvwwwwwwwwwwwwwwwwvwvwwwwwwwvwwwwwwwvwwvwwwwwwwwwwwwwwwwwwwwwwvwwwwwwvwvwvwwwwwwwwvwwwwvwwwwwwwvvwwwwwwwwwwvwwwwwwwwwwwwwwwwvwwwvwwwwwwwvwwwwwwwwwwvwwwwwwwwwwwwwwwvwwwwwvwwwvvwwwwwwwwwwwwwwwvwwwwwwwwwwvwvwwwwwwwwvwwwwwwwwwwwvwwvwwwwvvwwwwwwvwvwwwvvwwwvwwvvwwwwvwwwwwvwvwwvwwvwwwvwwvwwwvwwwwvwwwwwvwwwwvwvwvwwwvwwwwvwwwwwwwwwvwwwwwwwwwvwwwwwwwwwwwwvvwwvvwwwwwvwwwwwwwwwwvwwwwwwwwwwwwwwwvwwvwvwwwvwwwwwwwwvwwwwwwwwwwwwwwvwwvwwwvwwwwwvwwwwwwvwwwwwwwvwwwwwwwwwwwwwwwwvwwwwwwvvwwwwvvvwwwwvwwwwvvwwwvwwwwwwwwwwwwwwwvwwwwwwwwwwvwwwwwwwwwwvwwvwwvwwwwwwwwwwwwwwvvwwwwvwvwwwwwwwwwwwwwwwvvwwwwwvvwwwvvwvwwwwwwwvvwwwwwwwwwwvwvwvwwwvwwwwwwwwwvwwwvwwwwvwwwwwwwwwwvwwwwwwwwwwwwwvwwvwwvwwwwwwvwwwwwwwwwwwwwwwwwwvwwwwwvvwwwwwwwwvvwwwwwvwwwwvvwwwwvwwwwwvwwwwwwwvwvwwvvwwwwwwwwwwvwwwwwvwwwwwwwvwvwwwwvwvwwvwwwwwwwwwwwvwvwwwwwwwwwwwwwwwwwwwwwwwwwwwwvwwvwwwwwwwwwwwwwwwwwwwwvwwwwwwwwwwwwwwwwwvwwwvwvwwwwwwwwwwwwwvwwwwwwwwwvwwwwwwwwwwwwwwwwwwwwwwwwwwwvwwwwvwwwwwwwwwwwvwwvwwwwwwwwwwwwwwwvvwwwwwvwwwwwwwwwwwwwwwwwwvwwwwwwwwvwwwwwwwwwvwwwwwwwwwvwwwwwwwvwvwwwwwwwwwwwwwwwwwwwwvwwwwwwwvwwwwwwwwwwwwwwwwwwvwwwwwwwwvwvwwwwwwwwwvwwwwwwwwwwwwwvwwwwwwwwwwwwwwwwwwwwvwwwwwwwwwwwwwwwwwvwwwwvwwwwwwwwvwwwwwwwwwvwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwvwvwwwwwwwwwwwwwwwwvwwwwwwwwwwwvwwvwwwwwwwwwwwwvwwwwwwwvwwwwwvwwwwwwvvwwvwwwwwwwwwwwwwwwvwvwvwwwwvwwwwwwvwwwwvwwwwwwvwwwvwwwwwwwvwwwwwwwwvwvwwwwwvvwwwwwwwwwwvwwvwwwwwwwwwwwwwvwwwwwwvwwwwwwwvwwwwwwwwwwwwwwwwwwwwwwwwwvwwwwwwwwwwwwwwvwwwwwvwwwwvwvwvwwwwwwwwwwwwwwwwwwwwwwwwwwvwwwwwwwwwwwwwwwwwwwwwvwwwwwwvwwwwwwwwvvwwwwwwwwwvvwwwwwwwwvwwwvwwwwwvwwwwwwwwwvvwwwwwwwwwwwwwwwwwwwwwvwwwwvwwvwwwwwwwwwwwwwwwwwwwwwwwvwwwwvwwwwvwwwwvwwvwwwwwwwvwwwwwwvwwwwwvwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwvwvwwwwvwwwwwwwwwwwwwwwwwwwwwwwwwwwwwvvwwwwvvwvwwwwwwvwwwwwwwwwwwwwwwwwwwwwwwwwvvwwwwwwvwwvvwwwwwwwwwwvwwwvwwwwvwwwwwwwwwwvvwwvwwwwwvwwvwwwvwwwvwwwvvvwwvwwwwwvwwwwvvwwwwwwwwwwwwwwwvwwwwwwwwvwwvwwwwwvwwwwwwvwwwwwwwwwwwwwwwwwvwvwwwwwwvvwwwwwvwwwvwwwwwvvwwvwwvwwwwvwwwvwwwwwwvvvwwwwwwwwwwwwwwwvwwvwvwwwvwwwwwwwwwvwwwwwwwwwwwwwwwwwvwvwwwwwwvwwwwwwwwwvwwwvwwwwwvwvwwwwwwwwvwwwvwwvwwwwwwwwwwwvwwwwwwwwvwwwwwwwwwwwwwwwwwwwwwwwwwwwwwvwwwwwwwwwwwvwwwwvwwwvwwwwwwwwvwwwvwwwwvwwwwwwwwvwvvvwwvwwwwwwwvwwwwwwwwwwwwwwwwwwvwwwwvvwwvwvwwwwvvwwvwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwvwwwwwwwvwwwwwwwwwwvwwwwvwwwwwwwwwvwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwvwwvwwvwwwwwwwwwvwwwwwwwwwwwvwwwwwwwwwwwwwwwvwwwvvwwwwwwwwwwwwvvwwwwvwwwwvvwwwvwwwwwwwwwwwwwwwvwwwwwwwvwwvvvwwwwwwvwwwwwvwwwwwwwwvwwwwwwwwwwwvwvwwwwwwwwwwwwwwwvvwvwwwwwvwwwwwwwwwwwwwwwwwwwwwwwwwwwvwvwwwwwvwwvwvwwwwwwwvvwwvwvwwwwwwvwwwwwwwwwwwvwwwwwvwwvwwwwwwwwwwwwwwwwwwwwwwwwwwwwvwwwwwvvwwwwwwwwvvwwwwwwwwwwvvwwwwwwvwwwvwwwwwwvvwvwwvvwwwwwwwwvwvwwwwwvwvwwwwwwvvwwwwwwvwwwwwwwwwwwwwwvwvwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwvwwwwwwwwwwwwwwwwwwvwwwwwwwwwwwwwwwwwvwwvwwvwwwwwwwwwvwwwwwwwwwwwwwwwwwwwvwwwwwwwwwwwwwwwwwwwwwvwwwwwwwwwwwwwvvwvwwvwwwwwwwwwvwwwwwwwwwwwwwwvwwwwwwwwwwwwwwwvvwwwvvwwwwwwwwwwwwwwwwwwwwwwwvwwwwwwwvwvwwwwwwwwwwwwwvwwwwwwvwwwwwvwvwwwwwwwwwwwwwwwwwwwwwwwwwwwvwvwwwwwwwwwwwwwwwwwwvwwwwvvwwwwwwwwwwwwwwwwwwwvwwwwwwwvwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwvvwwwwwwwwwwwwwwwwwvwwwwwwwwwwwwvwwwwwwwwwwwwwwwwwwwwwvwvwwwwwwwwwwwwvvwwvwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwvwwwwwwwwwwwwwwwwwwvwwwwwwwwvwwwwwwwvwwvwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwvwvwwwwwwwvwwwwwwwwwwwwvwwwwwwwwwwwvvwwwwwwwwwwwwwwvwwwwwwwwwwwwvwwwwwwwvwwwwwwwwwwwwwwwwwwwwwwwwwwvwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwvwwwwwwwwvwwwwwwwwwvwwwwwwwvwwwwwwwwwwwwwwwwwwwwwwvwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwvwwwwwvwwwwwwwwwwvwwvwwwwwwwwwwwwwwwwvwwwwwwwwwwwwwwwwwvwvwwwwwvwwwvwwwwwwwwwwvwwwvwwwwwwwwwwwwwwwwvwwwwwwwwwwwwwwwvwwwwwwvwwwwwwwwwwwwwwwvwwwvwwwwwwwwwwwwwwwwvwwwwwwwwwwwwwwwwwwwvwwwwwwwwwwwwwwwwwwwwwwwwvwwwwwwwwwwwwwwwwvwwwwvwwwvwwwwwwwwwwwwwwwvwwwwwwwwwwwvwwvwwwwwvwwwwwwwwwwwwwwwvwwwwvwwwvwwwwwwvwwwwwwwvwwwwwwwwwwwwwwwwwwwwwwvwwwwwwwwwwwwwwwvwwwvwvwwwwwwwwwwwwwwwwwwvwvwwvvwwwwwwwwwvwwwwwwwwwwwwvwwwwvwwwwvwwwwwwwwwwwwwvwwwvwwwwwwwvwwwwwwwwwwwwwwwwwvwwwwwwwwwwwwwwwwwwvwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwvwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwvvwwwwwvwwwwvwwwwwwwwwwwwwwwwwwvwwwwwwwwvwwwwvwwvwwwwwvwwvwvwwwwwwwwwwwvwwwwwwwwwwwwwwwwwwwwvwwwvwwwwwwwvwwwvwwwwwvwwwwwwwwwvwwwwwwwwwwwwvwwwwvwvwwwwwwwwvwwwwwwwvwwwwwwwwwwwwwwwwwwwwwwwwwwwvvwwvwwwwwwwwwwwvwwwwwwwwwwwwwwwwwvvwwwwwwwwvwwwwwwwwwwwwwwwwwwwwwvwwwwwwwvwwwwwwwvwwwvwwwwwwwwwwwwwwwwwwwwwwwwwwvwvwwwwwwwwwwwwvwwwwwwwwwwwvwwwvwwwwwwwvwwwwwwwwwwwwwwvvwvwwwwwwwwvwwwwwwwwwvvvwwwvwwwwwwwvwwwwwwwwwwvwwwwwwwwwwwwwwwwwwwwwwvwwwwwwwwwwwwvwvwwwwwwwwwwwwwvwwwwwwwwwwvwwwwvwwwwwvwwwwwwwwwwwvwwwwwwwwwwvwwwwwvwwwwwwwvwwwwwwwwwwwwwwwwwwwwvwwwwwwwwwwvwwwwwvwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwvwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwvwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwvwwvwwwwwwwwwwwwvwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwvwwwwwwwwwvwwwwwwwwwwwwwvwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwvwwwwwvwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwvwwwwwwwwwwwwwwwwwvwvwwwwwwwwwwwwvwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwvwwwwwwwwwwwwwwwwwwvwwwwwwwwwwwwwwwwwvwwwvwwvwwwwwwvwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwvwwvwwvwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwvwwwwwwwwwwwwvwwwwwwwwwwvwwwwwwwwvwwwwwvwwwwwwwwwwwwwwwwwwwwwwwvwwwwwwwwwwvvwwwwwwwwwwwwwvwwwwvwwwwwwwwwwwwwwwwwwwwwwwvwwwwwwwwwwwwwwwwwwvwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwvwwwwwwwwwwwvwwwwwwwwwwvwwwwwwvwwwwwwwwwwwwwwwwwwwvwwwwwwwwwwwwwwvwwwwwwwwvwwwwwwwwwwwwwvwwwwwvwwwvwwwwwwwwwwvwwwwwwwwwvwwwwwwwwwwvwwwwwwwwwwwwwwwvwwwwwwvwwwwwwwwwwwwwwwvwwwwwwwwwwwvwwwwvwwwvwwwwwwwwwwwwwwwwwwwwwwwwwwwwvwwwwwwwwwwwwwwwwwvwwwwwwwwwwwwwwvwwwwwwvwvwwwwwvwwvwwwwwwwwwwwwwwwwwwvwwvwwwwwwwwwwwwwwwwwwwwwvwwwwvwwwvwvwwwwwwwwwwwwwwwwwwwwwwwwwwwwvwwwwwwwwwwwwwwwwwwwwwwwwwwwwvwwvwwwvwwwwwwwwwwwwwvwwvwwwwwwwwwwwwwwwwwwwwwwwvwwwwvwwwwwvwwwwwwwvwwwwwwwwwwwwwwwwvwwwwwwwvwvwwwwwwwvwwwwwwvwwwwwwvwwwwwwwwwwwwwvwvwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwvwwwwwwwwwwwwwwwwwwvwwwwwwvwwwwwwwwwwwwwwwwwvwwwwvwwwwwwwwwwwwvwwwwwwwwwwwwwwwwwwwwwwwwwwvwwwwwwwwwwwwwwwwwwwwwwvvwwwwwwwvwwwwvwwwwwwvwwwwwwwwwvwwwwwwvwwwwwwwwwwwwwwwwwwwwwwwwwwwwwvwwwwwwvwwwwwwwwwwwwvwwwwwwwvvwwwwwwvwwwwwwwwvwwwwwwwwwwwwwwwwvwvwwwwwwwwwwwwwwwwwwvwwwwwwwwwwwwwwvwwwwwwwwwwwvwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwvwwwwwwwwwwwwwwwwwwwvwvwwwwwwvwwwwvwwwwwwwvwwwwwwvwwwwwwwwwwwvwwwwwwwwwwvvwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwvwwwwwwwwwwwwwwwwwwvvwwwwwwwwvwwwwwvwwwwwwwwwwvwwwwwwwwwwwwwwwwwvwwwwvwwwwwwwwwwwwwwwwvwwwwwwvvwwvwwwwwwwwwwwwwvwwwwwwwwwwwwwwvwwwwwvwwwvwwwwwwwwvwwwwwwwwwwwwwwwwwwwwwwvwwwwwwwwwwvwwwwvwwwwwwwvwwwwwwwwwwwwwwwwwwwwwwwwwvwwwwwwwwwwwwwwwwwwwwwvwwwwwwwwwwwwwwwwwwwwwwwwvwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwvwwwvwwwwwwwwwwwwvwwwwwwwwwwvwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwvwwwwwwwwwwwwwwwwwwwwwwwvwwwwwwwwvwvwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwvwwwwwwwwwwwwwwwwwwwwwwwwvwwwwvwwwwwwvwwwwwwvwvwwwwwwwwwwwwwwwwwvwwwwwvwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwvwwwwwwwwwwwvwwwwwwwwwwwwwwwwwvwwwwwwwwwwwwwwwwwwwvwwwwwwvwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwvwwwwwwwwwwwwwwvwwwwwvwwwwwwwwwwwwvwwwwvwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwvwwwwwwwwwwwwwwwwwwwwwwwwvwwwwwwvvwwwwwwwwwwwwwwwwwwvwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwvwwvwwwwwwwwwwwvwwwwwwwwwwvwwwwwwwwwwwwwwwwwwwwwwwwwwvwwwwwwwwwwwwwwvwwwwwwwwvwwwwwwwwwwwwwvwwwwwvwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwvwwwvwvwwwvwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwvwwwwwwwwwwwwwwvwwwwwwwwwwvwwwwwwvwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwvwwwwwwvwwwwwwwvwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwvwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwvwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwvwwwwwwwwwwwwwvwwwwwwwwwwwwwwwwwwwwwvwwwwwvwwwwwwwvwwwwwwwwwwwwwvwwwwwwwwwwwwwwwwvvwwwwwwvwvwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwvwwwwwwwwwwwwwwvwwwwwwwwwwwwwwwwwwwwwwwwwwvvwwwwwwwwwwwwwwwwwwwwwwwwwvwwwwwwwwwwwwwwwwwwwwwvwwwwwwwwvwwwwvwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwvwwwwvwwwwwwwwvwwwwwwwwwwwwwwwwwwwvwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwvwvvwwwwwwwwwwwwwwwwwvwwwwwwwwwwwwwwvwwwvvwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwvwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwvvwwwvwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwvwwwwwwwwwwwwwwwwwwwwwvwwwwwwwvwwwwvwwwwwwwwwwwwwwwwwvwwwwwwwwwwwwwwwwvvwwwwwwwwwwvwwwwvwwwwwwwwwwwwwwwwwwwwwwvwwwwwwwwwwwwwwwwwwwwwwwwvwwwwwwwwwwwvwwwvwwwvwwwwwwwwwwwvwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwvwwwwwwwwwwvwwwwwwwwwwvwwwwvwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwvwwwwwwwwwwwvwwwwwwwwwwwwwwwwwwwwwvwwwwwwwwwwwwwwwvwwwwwwwwwwwwwwwwwvwwwwwwwwwwwwwwwvwwwwwwwwwwvwvwwwwwwwwwwwwwwwwwwwwwwwvwwwwwwwwwwwwwvwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwvwwwwwwwwwwwwwwwwvwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwvwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwvwwwwwwwwwwwwwvwwvwwwwwwwwwwwwwwwwwwwwvwwwwwwwwwwwwwwwvwwwwwwwvwwwwwwvwwwwwwwwwwwwwwwwwwwwwwwwwwwwwvwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwvwwwwwwwwwwwwwwwwwwwwwwwwwvwwwwwwwwwwwwwwwwwwwwwwwwwwwwvwwwwwwwwwwwwvwwwwwwwwwwwwvwwwwvwwwwwwwwwwwwwwwwwwwwwwwwwwwwwvwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwvwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwvwwwwwwwwwwwwvwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwvwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwvwwvwwwwwvwwwwwwwwwwwvwwwwwwwwwwvwwwwwwwwwwwwwwwwwwwwwwwwwwwwvwwwwwwwwwwwwwwwwwwwwwwvwwwwwwwvwwwwwwwwvwwwwvwwwwwwwwwwwwwwwwwwwwvwwwwwwwwwwwwvwwwwwwwwwwwwwwwwwwwwwwwwwwvvwvwwwvwwwwwwwvwvwwwwwwwwwwwwwwwwwwwwwwwwwwvwwwwwwwwvwwwwwwwwwwwwwwwwwwwwwwwwwwwwvwwwwwvvwwwwwwwwwwwwwwwwwwwwwvwwwwvwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwvwwwwvwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwvwvwwvwwwwwwwwwvwwwwwwvwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwvwwwwwwwwwwwwwwwwwvwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwvvwwwwwwwwwwwwwwwwvwwwwwwwwwwwwwwwvwwwwwwwwwwwwwwwwwwwwwwwwwwwwwvwwwwwwvwwwwwwwwwwwwwwwwwwwwwwwwwwvwwwwvwwwwwwwwwwwwvwwwwwwwwwwwwwwwwwwwwwwwwwwvwwwvwwwwwwwwwwwwwwwwwwwwvwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwvwwwwwwwwwwvwwwwwwwwvwwvwwwwvwwwwwwwwwwwwwwwwwwwwwwvwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwvwwwwwwwwwwwwwwwwwwvwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwvwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwvwvwwwwwvwwwwwwwwwwwwwwwvwwwwwwwwwwwwwwwwwwwvwwwwwwwvwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwvvwwwwwwwwwwwwwwwwwwwwwwwwwwwwwvwwwwwwwwwwwwwwwwwwwwwwwwwwwvwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwvwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwvwwwwwwwwwwwwwwvwwwwvwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwvwwwwwwwwwwwvwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwvwwwwwwwwwwwwvvwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwvwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwvwwwwwwwvwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwvwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwvwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwvwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwvwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwvwwwwwwwwwwwwvwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwvwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwvwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwvwwwwwwwwwwwwwvwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwvwwwwwwwwwwwwwvwwwwwwwwvwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwvwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwvwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwvwwvwwwwwwwwwwvwwwwwwwwwwvwwwwwwwwwwwwvwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwvwwwwwwwwwwwwwwwwwwwwwwwwwwwvwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwvwvwwwwwwwwvvwwwvwwwwwwwwwwwwwwwwwwwwvwwwwwwwwwwwwwwwwwwwwwwwwwwwvwvwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwvwwvwwwwvwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwvwwwwwwwwwwvwwwwwwvwwwvwwwvwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwvvwwwvwwwwwwwwwwwwwwwwwwvwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwvvwwwwwwwwwwwwwwwwwwwwwwvwwwwwwwvwwwwwwwwwwwwwwwvwvwwwwwwwwwwwwwwwwwwwwwwwwwvwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwxwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwxwwwwwwwwwwxwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwxwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwvwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwvwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwvwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwvwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwvwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwvwwwwwwwwwwwwwwwwwwwwwwwwvwwwwwvwwwwwwwwwwwwwwwvwwwwwwwwwwwwwwvwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwvwvwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwvwwwwwwwwwwwwwwvwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwvwwwwwvwwwwwwwwwwwwwwwwwvvwwwwwwwwwwwwwwwwwwwwwwwwwwwwwvwwwwwwwwwwwwwwwwwwwwvwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwvwwwwwwwwwwwvwwwwwvwwwwwwwwwwwwwwwwwwwwvwvwwwwwwwvwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwvvwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwvwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwvwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwxwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwxwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwxwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwxwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwxwwwwwwwwwwwwwwwwxwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwxwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwxwwwwwwwwwwwwxwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwxwwwwwwwxwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwxwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwxwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwxwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwvwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwxwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwxwwwwwwwwwwwwwwwwwwwxwwwwwwwwwwwwwwwwwwxwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwxwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwxwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwxwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwxwwwwwwwwxwwwwwwwwwwwwwwwwwwwwwwwwwwwwxwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwxwwwwwwwwwwwwwwwwwwwwwwwxwwwwwwxwwwwwwwwxwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwxwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwxwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwvwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwvwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwxwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwxwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwxwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwxwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwxwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwxwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwxwwwwwwwxwwwwwwwwwwwwwwwwwwwwwwxwwwwwwwwwwwwwwwxwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwxwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwxwwwwwwwwwwwwwwwwwwwwwwxwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwxwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwxwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwxwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwxwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwvwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwvwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwvwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwvwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwvwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwxwwwwxwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwxwwwwxwxwwwwwwwwwwwwwxwwwwwwwwwwwwwxwwwwwwwwwwwwwxwwwwwwwwwxwwwwwxwwwwwwwwwwwwwwwwwwwwwwwwwwwxwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwxwwwwwxwwwwwwwwwxwwwwwwwwwwwwwxwwwwwwwwwwwwwwwwxwwwwwxwwwwwwwwwxwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwxwxwwwwwwwwwwwwwwwwwwwwwwwwwwwwwxwwwwwwwwwwxwwxwwwwwwwwwwwxwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwxxwwxwxwwwwwwwwwwwwxwxwwwwwwwwxwwwwwwwwwwxwwwwwwwwwwwxxxwwwwwxwwwwwwwwwxxwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwxwwwwwwwwwwwwxwwwwwwwwwwwwxwwwxwwwwwwwwxwwwwwwwwwwwwwwwxwwxwwwwwwwwwwwwwwwwwwwwwwwwwxwwwwwwwwwwwwwwwwwwwwwwwwwwwwxwwwwwwwxwwwwwwwwwwwwwwwwwwwxwwwwwxwwwwwwwwwwwwwwwxwwwwwwwwwwwwwwwwwwwwwwwwwxwwwwwwwwwwwwwwwwwwwwwwwwwwwwwxwwwwwxwwwwwwwwwwwwwwwwwwwwwwxwwwwwwwwwwwwwwwwwwwwwwwwwwwxwwwwwxwwwwwwwwwwwwwwwwwwxwwwxwwwxwwwwwwwxwwwwwwwwwwwwwwwwwwwwwwxwwwwxwwwwwwwwwwwwwwwxwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwxwwxwwwwwwwwwwwwwwwwwwwwxwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwxwwxwwwwxwwwwwwwwwwwwxwwwwwwwwwwwwwwwwwwwwwwwwwwwxwwwwwwwwwwwwwwxwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwxwwwwwwwwwwwwwwwwwwwwwxwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwxxwwwwwwwwwwwwwwxwxwwwwwwwwwwwwxwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwxwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwxwwwwwwwwwwwwwwwwwwxwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwxwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwxwwwwwwwwwwwxwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwxwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwxwwwwwwwwwwwxwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwxwwwwwwwwwwwwwwwxwwwwwwwwwxwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwxwwwwwxwwwwwwwwwwwwwwwwwxwwwwwwxwwwwwwwwwwwwwwwwwwwwwwwxwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwxwwwwwwwwwwwwxxwwwwwwwwwwwwwwwwxwwwwwwwwwwwwwwwxwwwwwwwwwwwwwwwwwwwwwwwwwwwwxwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwxwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwxwwwwwwwwwwwwwwwwwwwwwxwwwwwxwwwwwwwwwxwwwwwwwwxwwwwwwwwwwwxwwwwwwwwwxwwwwwwwwwxwwwwwwwwwwwwwwwxwwwwwwwwwwwwwwwwwwwwxwwwwwwwwwxwwwwwwwwwwwwwwwwwxwwwwxwwwwwwwwwwxwwwwxwwwwwwwwwwwwwwwwwwwwwwwwwxwwwwwwwwwxwwwwxwwwwwwwwwwwwwwwwwwwwwwwwwwwxwxwwwwwwwwwwwwwwwwwwwwwwwwwwxwwwwwwwwwxwwwwwwwwwxwwwwwwwwwwwwwwxwwwwwwwwwwwwwwwwwwwwwwwwwwwwwxwwwxwwwwwwwwwwwwxwwwwxwwwwwwwwwwwwwwwwwwwwwwwwwwxwwwwwwwwwwwwwwwwwwwwwwwwxwwwwwwxwwwwxwwwwwwxwwxwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwxwwwwwwwwwwwwwwwwwwxwwwwwxwwwwwwwwwwxwwwwwwwwwwwwwwwwwwwxwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwxwwwwwwwwwwwwxwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwxwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwxwwwwwwwwwwwxwwwwwwwwwwxwwwwwwwwwwwwwwwwxwwwwwwwwwwwwwwwxwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwxwwwwwwxwwxwwwwwwwwwwwwwwwwwwwwwwwwwwwxwxwwwwwwwwxwwwwxwwwwxwwwwwwwwwwwwwwwwxwwwwwwxwwwwwwxwxwwwwwwwwwwwwwwwwxwwwwwwwwwwwwwwwwwwwwwwwwwwxwwwwwwwwwwwwwwwwwwxwwwwwxwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwxwwwwxwwwxwwwwwwwwwwwwwwwwwwwwwwxwwwxwwwwwwwwwwwwwwxwwwwwwxwwwwwwwwxwwwwwwxwwwxwwwwwwwwwwwwwxwxxxxwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwxwwwwwwwwwwwxxwwwwwwwwxwwwxwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwxwwwwwwwwwwwwxwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwxwxwwxwwwwwwwwwxwwwwwwwwwwwwwwwwwwxwwwwwwwwwwwwwwwxwwwwwwwwwwwwwwwwwwxwwwwwwwwwwwwwwwwwwwwwxwwwwwwwwwwwwwwwwwwwwwwwwwwxwwwwxwwwwwxwwwwwwwxwwwwwwwwxwwwwwwwwwwwwwwwwwwwwwwwwwwwxwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwxwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwxwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwxwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwxwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwxwwwwwwwwwwwwwwwwxwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwxxxwwwwwwwwwwwxwwwwwwwwwwwwwwwwwwwwwwwxwwwwwwwxwxxwwwwwwwwwwwwwwwwwwxwwwwwwwwwxwwwwwwwwwwwwwwwwwwwwwwxxwwwwwwwwwwwwxwwwwwwwwwwwwwwxwwwwwwwwxwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwxwwwwwwwwwwwwwwwwwwwwwxwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwxwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwxwwwwwwwwxwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwxwwwwwwwwwwwwwwxwwwwwwwwxwwxwwwwwwwxwwwwwwwwwwwwwwxwwwxwwwwxwwwwwxwwxwwwwwwwwwwwwwwwwwwxwwwwwwwwwwwwwwwwwwwwwwxwwwwwwxwwwwwwxwwwwwwwwwxwwwwxwwwwwwwwxwwwwxwwwwwxwwwwwwwxwwwwwwwwxwwwwwwwwxwwwwwwwwwwwxwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwxwwwxwwxwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwxwwwwwwwwwwwwwwwwwwwwwwwwxwwwwwwwwwwwwxwxwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwxwwwxwxwwwwwwwwwwwwwwxwwwwwwxwwwwxwwwwwxwwwxwwwxwwwwwwwwwwxwwwwwwwwwwwwwwwwwwxwwwwwwwwwxwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwxwwwwwwwwwwwxwwxwwwwwwwwwwwxwwwwwwwwwwwwwwxwwwxwwwwwwwwwwwwwwwxwwxwwwwwxwwwwwxwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwxwxwwwwwwwwwwwxwwwwwwwwwwwwwwwwwwwxwwwwwwwwwwwwwwwwwwwwwxxwxwwwwwwwwwwwwwwwwwwwwwwwwwwxwwwwwwwwwwwwwwwwwwxwwwwwwwwwxwwwxwwwwwwwwwxwwwwwwwwwwwwwwwwwwwwwwwwxwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwxwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwxwwwwwwwwwwwwwwwxwwwwwwwwwwwwwwwwwwwwxwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwxwwwwwwwwwwwwwxwwwwwwwwwwwwwwwwwwwwwwwwxwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwxwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwxwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwxwwwwwwwwwwwwwwwwwwwwwwwwwwwwxwwwwwwwwwwwwwwwxwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwxwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwxwwwwwwwwwwwwxwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwxwwwwwwwwwwwwwxwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwxwwxwwwwwwwxwxwwwxwwwwwwwwwwwwwwwwwxwwwwwwwwwwxwwwwwwwwwxwwwwwwwxwwwwwwwwwwxwwwwwwwwwwwwwwwwwwwwxwwwwwwwwwwwxwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwxwwwwwwwwwwwxwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwxwwwwwwwwwwwwwwwwwwwwwwwwxwwwwwwwwwwwwwwwwwwwwwwwwwwwxwwwwwwwwwwwxwwwwwwwwwxwwwwwwwwwxwwxxwwwwwwwwxwwwwwwwwwwwwwwwwwwwwwwwxwwwxwwwwwwwwwwwwwxwwwwwwwwwwxwxxwwxwwwwwwwwwwxwwwwxwwwxwwwwwwwwwwwwwwwwwwwxwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwxwwwwwxxwwwwwwwwwwwwwwwwwwwwxwwwwwwwwwxwwwwxwwwwwwwwwwwwwxwwwwwwwwwwwwwwwwwwwxwwwwwwwwxxwwwwwwwwwwwwwwxwwwwwwwwwwwwwwxwxwwwwwwwxwwwwwwwwwxxwwxwwwwwxwxwwwwwwwwwwwwwwwwwwwwwwwwxxwwwwwwwxxwxwwwwwwwwwwwwwwxwwwwxwwwwwwwwwwwwwxwwwwwwwwwwwwwwxwwwxwwwwwwwwwwwwwwxwwwwwwwwwwwxwwwwwwwwwxwwxwwwwwwwwxxwwwwwwwwxwwwwwwwwwxwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwxwwwwwwwwwwwwwwwwwwwwwwwwwxxwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwxwwwwwwxwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwxwwwwwxwwwwwwxwwwwwwwwwwwwwxwwwwwwwwwwwwwwwwwwwwxwwwwwwwwwwwwwwwxwwwwwwwwwwwwwwxwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwxwwwwwwwwwwwwwwwwwwwwwwwwwxwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwxwwwxwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwxwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwxwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwxwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwxwwwwwwwwwwwwwwwwwwwwwwwxwwwwwwwwwwwwwxwwwwwwwwwwwwxwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwxwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwxwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwxwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwxwwwwwwxwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwxwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwxwwwwwwwwwwwxwwwwwwwwwwwwwwwwwxwwwwwwwwwwxwwwwwwwwwwxwwwwwwwwwwxxwwwwwwwwwwxwwwwwwwwwwwwwwwwwwwwwxxwwwwwwwwwxxwwwwwwwwwwwwwwwwwwwwxwwwwwwwwwwwwxwwwwwwwwwwwwwwwwwwwwwxwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwxwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwxxwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwxwwwwwwwwwwwwwwwwwwxwwwwwwwwwwwwxwwwwwwwwwwwwwwwwwwwwwwwwwxwwwwwwwwwwwwwwwwwwwwwwwwwwwxwwwwwwwwwwwwwwwwwwwwxwwwwwwwwwwxwwwwwwwwxwwwwwwwwwwwwxwwwwwwwwwwwwwwwwwxwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwxwxwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwxwwwwwwwwxwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwxwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwxwwwxwwwwwwwwwwwxwwwwwwwwwwwwwwwwwxwwxwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwxwwwwwxwwwwwwwxwxwwwwwwwxwwwwwwwwxwwwwwwwwwwwxwxwwxxxwwwwwwwwwwwwwwwwwwwwwxwwwwwwwwwwwwwwwwwwwwwwwxwwwwwwwwwwwwwwwwwwwwwwwwwwwxwwwwwxwwwxwwwwwwwwxwwwwwwwwxwwwwwwxwwxwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwxwwwwwwwwwwwwwwwwwwwxxwwwwwwwwwwwwwwwwwwxwxwxwxwwwwwwwwwwwwwwwwwxxwwwwwxwwwwwwwwwwwwwwwwwwwwxwwwwwwwwwwwwwwwxxwwwwxwwwwxxwwwwwwwwwwwwwwwwwwwwxwwwwwwxwwwwwwwwwwwwwwwwxxwwwwwwwwwwxwwwwwwxwwwwwwwwwwwwxwwwwwwwwwwwwxwwwwxwwwwwwwwwwwwwwwwwxwwwwwwwwwwwwwwwwwwwwwxwwwwwwwwwxxwwwwxxwwwwwxwwwwwwwxwwwwwwwwwwwwxwwwwxwwwwxwwwwwxwwxxxwwwwwxwwwwwwwwwwwwwwwwwwwwwwwwwwwwwxxwwwwwwwwwwwwwxwwwwwwxwwwwwwwwwwwwwwxwwwwwwwwwwwwwwwwwwwwwxwwwwwxwwwxwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwxwwwwwwwxwwxwxwwwwxwwwwwwwwwwwwwwwwwwwwwwwxwwwwwwwwwwwxwwwwwwwwwwwwxwwwxwxxxwwwwwwwwwwwwwwxwwwwwwxwwwxwwwwwwwwxwwwxwwwwwwwwwwwwwwwwwwwwwwwwxwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwxwwwwwxwwwwwwwwwwwwwwwxwwxwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwxwwwwwwwwwxxwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwxwwxwwwwwwwwwwwwwwwwwwwxwwwwwwwwxwwwwxwxwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwxxwwwwwwwwwwwxwwwxwwwwwwwwwwwwwwwwwwwxwwwwwwwwwwwxwwwwwwwwwwwwwwwxwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwxwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwxwwwwwwwwwwwwwwwwwwwwwwxwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwxwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwxwwwwwwwwwwwwwwwwwxwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwxwwwwwwwwwwwwwwwwwxwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwxwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwxwwwwxwwwwwwwwwwwwwwwwwwwxxwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwxwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwxwwxwwwwwwwwwwwwwwwwwwwwxwwwwwwwxwwwwwwwwxwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwxwwwwxwwwwwwwwwwwwwwwxwwwwwwxwwwwwwwwwwwwwwxwwwwwwwwxwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwxwwwwwwwwwwwwwwwwwwwwwwwwxwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwxwwwwwwwwwwwwwwwwwwwwwwxwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwxwwwwxwwwwwwwwwwwwwwwwwwwxwwwwwwwwwwwwwxwwwwwwxwwwwwwwwwwwwwwwwwxwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwxwwwwwxxwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwxwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwxwwwxwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwxwwwwwwwwwwwwwxwwwwwwxwwxwwwxwwwwwwwwwwwxwwwwwwwwwxwwwxwwwwwwxwxwwwwwwwxwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwxwwwwxwwwwxxwwwwwwwxwwxwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwxwwwwwwwwwwwwwwwwwwwwwwwwwwwwxwwxwwwwxwwwwwwwwwwwwwwwwxwwwwwwwwwwwwwwwwwwxwwwwwxwwwwwwwwwwwwwwwwwwxwwwwwwwwwwwwwwwwwwwwwwwwxwwwwwwwwwwwwwwwwwxwwwwwwwwwwxwwwwwwwwwxwwwxwwxwwwwxwwwwwwwwwwwwwwwwwwwwwwxwwwwwwwwwwwwwwwwwwwwxwwwwwwwwwwwwxwwxwwwwwwwwwwxwwwwwwwwwxwwwwwwwwwwwwwwwwwwwwwwwwwwwwxwwwwwwwwwwwwwwwwwwwwwwwwwwwxwwwxwwwwwwwxwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwxwwwwwwwxwwwwwwwwwwwwwwwwwwwwxwwwwwxwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwxwwwwxwwwwwwwwwwwwwwxwwwwwwwwwwwwwxwwxwwwwwwwwwwwwwwwwwwwwwwwxwwwxwwwwwwwwwwwwwwwwwwwwwxwwwxwwxwwwwwwwwwwwwwwxwwwwwwxwwwwwwwwwwwxwwwwwwwwwwwwwwwwwxwwwwwwwwwxwwwwwwwwwwxwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwxwwxxwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwxwwwwwwwwwwwxxwwwwwwwwwwwwxwwwwwwwwwwwwwwxwwwwwwwwwwwwwxwwxwwwwwwwwwwwwwwwwwwwxwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwxwwwwxwwwwwwwxwwxwwwwxwwwwwwwwwxwwwwwwwwwwwwwwwwwwwwwwxwwwwwwwwwwwwwwwwwwwwxwwwwwwwwxwwwxwwwwwwwwwwwwwwwxwwwwwwwwwwwwwxwwwwwwwwwwwwwwxxwwwwwwwwwwwwwwwwwwxwwwwwwwwwwxxwwwwwwwwwwwxwwwwwwwwxwwwwwxwwwwwwwwwxwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwxwwxxwwwwwwwwwwwwwwwwxwwwwwwwwxwwwwwwwwwwwwwwwwwwwwwwwwxwwwwwwwxwwwwwwwwwwwwwwwwxwwwwwxxwwwwxwwwwwwwwwwwwwwwwwxwwwwwxwwwwwwwwwwwwwwwwwxxwxwwwwwwxwwwwwwwwwwwwwwwwxwwwwwwwwwwwwwwwwwwxwwwwwwwwwwwwwwwwwwwwwwxwwwwwwwwwwwwwwxwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwxwwwwwwwwwwwwwwwwwwwwwwwwwwwwwxwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwxwwwwwwwwwxwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwxwwwwwwwwwwwwwwwwxwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwxwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwxwwwwwwwwwwwwwwwwwwwwwwwwwwwxwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwxwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwxwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwxwxwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwxwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwxwwwwwxwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwxwwwwwwwwwwwwwwwwwxwwwwwwxwwwwwwwxwwxwwwwwwwwwxwwxwwwwwwwwwwwwwwwwwwwwwwwxwwxwwwwwwwxwwwwwwxwwwxwxwwwxxwwwwwwwwwwwwwwwwwxwwwwwwwwwwwwwxwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwxwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwxxwxwwwwwwxwwwxwwwwwwwwwwwwxwwxwwwwwwwxwxwwwwwwwwwwxwwwwwwwwwwwxwwwwwwwwwwwwxwwxxwwwxxwxwxwwwwwwwwxwxwwxwwwwwwwwwwwwwxwwwwwwwwwwwwwwxxxwwwxwwwwxwxwwwwwwwwwxwwwwwwwwxwwwwwxxwwwwwwwwwxwwwwwwwwwwwwwwxwwxxwwwwwxwwwxwwwwwwxwwwwwwwwwwwwwwwwxxwwwxwwwwxwwwxxwwwwwwxxwwxxwwwwwwwwwwwwwwwwwwxwxwwwwxwxxwwwwwwwwwwxwwwwwwwwwwwwxwwwwwwwwwwwwwwwwwwwwwwwxwwwwwwwwwxwwwwwwwwwwxwxwwwwwwwwxwwwwwwwxwxwwwwwwwwxwwwwwwwwxwwxwwxwwwwwwwxwwwwwxwwwwwwwwwwwwwwwwwwwxwwwwwwwwwwwwwwwwwxxwwwwwwxwwwwwwwwwwxwwwwwwwwwxwwxwxwwxwwwwwwxwwwwwwwwwwwwxwwwwwxwwwwwwxwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwxxwwwxxwwwwxwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwxxwwwwwwwwwwxxwwwxwwwwwwwwwxwxwwwwwwwwwxwwwwwwwwxwwwwwwwwwwwwwwxwwwwwwxxwwwwwxwwwwwwwwwwwwwwwwwxwwxwxwwwwwwwwwwwwwwwwwwwwwwwwwwxxxxwwwxwwwxwwwwwwwwxwwwwwwxwwwwwwwwwwwwwxwwxwwwxwwwwwwwwwwwxxwwwwwwxwwxxwwwxxwwwxwwwwwxwwwwwwxwwxwwwwwwwxwwxwwwxwwwwwxwwwwwwwwwwwwwwwwwwwwwxwxwwwwwwwwwwwwxwwwwwwwwwwwwwwwwwwwwwxwwwxwxxwwwwwxwwwwwwwwwwwwwwxwwwwwwwwwwwwwxwwwwwxwwwwxwwwwwwwwwwwxwwwwwxwwwwwwwwwwwwwwwxwwwwwwwwwwxwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwxwwwwwwwwwwxwwwwwxwwwwwwwxxwwwwwwwwwxwwwwwwwxwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwxwwxwwwwwwwwxwwwwwwwwwwwwwwwxwwwwwwwwwxxwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwxwwwxwwwwwwwwwwwwwwwwwxwwxxwwwwwwwwwwwxwwwwwwwwxwwwwwwwwwwwwwxwwwwwwwxwwwwwwwwwwwwwwwwwwwwxwwwwwwwwwwwwwwwwwwwwwxwwwwwwwwwwwwwwwwwwwwxwwwwxwwwwwwwwwwxxwwwwxwwwwwwwwwwwwxwwwwwwwxwwwxwwwxwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwxxwwwwwwwwwwxwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwxwwwwwwwwwwwwwwwwwwwwwwwwwwwxwwwwwwwwwwwwwwwwwwwxwwwwwwwwwwwxwxwwwwwwwwwwwxwwwxwwwwwwwwwxwxwwwwwwwwxwwwwwwwwxwwwwwwwwwwwwxwwwxxwwwwwwwxwwwwwwwwwwwwwwwwwwwwwwwwwwwwwxwwwxwwwwwwwwwwwwwwwwwwwwwwwxxwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwxwxxwwwwwwxwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwxwwxwxwwwwwwwwwwwxwwwwwwwwwwxwwwxwwwxwwwxwwwwwwwwwwwwxwwwwwwwwwwxwwwwwwwwwwwwwwwwxwwxwwwxwwwwwxwwwxwwwwwxwwwwxwwwwwwwwwwwwwwwwwwwwwwwwwwwwxwwwwwwwwwwwwwwwwwxwwwwxwxwwxxwwwwwwxwwwwwwxwwwwwwwwwwwwwwwwwxwwxwwxxxwwxwwwwwwwwwwwxwwwxwwwwwwxwwwwxwwwwwwwwwxwwwwwwwwxxwwwwwwwwwwwwwwwwwwxxwxwwwwwwwwwwwwwwwwwxwwwwwxwxxwxwwxwwwwwwxwwwwwwwwwwwwwwxwxxwwwwwwwwwwwxwwwwwwxxwwwwwwwwxwwwwwwwwwwwwwwxwwwwwwwwwwwwwwxwwwwwwwwwwwwwwxwwwxwwwxwwwwwwxxwwwwwwwxwwwwwwwxwxwwwwwwxwwwwwwwwwwxwxwwxwwxwwwwwwwwwwwwwxwwwwwwwxwxwwxwwwwxwwwwwwxwxwwwwwwwwwwwwwwxwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwxxwwwwwxwxwwwwwxwxwwwxwwwwwwwwwwwwwwwwwwwwwwwwwwwxwxwwwwwxwwxwwwwwwwwwwwwwwwwwwwwwwwwwwxwxwwwwwwwwwwwwwwwwwwwwwwwwxwwxwwwwwwwwwwwwwwwwxwwwxwwwwwwwwwwwwwwwwxwxwxxxwwwwxwwwwwwwwwwwxwwxwwwwwwwwwwwwwwwwxxwxwwwwwwwwwwwwwwwwwwwwwwwwwxwwwwwwwwwwwwwwwwwwxwwwwwwxwwwwwwwwxwwwxwwwwwwwwwwwwwwwxwxwwwwwwwwwwwwwwwwwwwwwwxwwwwwwwwxwwwwwwxwwwwwwwwwwwwwxwwwwwwwwwwwwwwwwwwwwwxwwwxwwwxwwwxwwwwwwwwwwwwwxwwwwwwwwwwwwwxwwwwwwwwwwwwwwwwwwwwwwwwwwxwwwwwwwwwwwxwwwwwwwwwwwxxwwwwwwwwxwxwwwwwwwwwwwwwwxwwwwwwwwwwwwwwwwwwwwwwwxwxwwwwwwxwwwwwwxwwwwwwwwwwwwwwwwxxxwxwwwwwxwwwxwwwwwwwwwwwwwwwwwwxxwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwxwxwwwwwwwwxwxwwwwwwwwxwwwwwwwwwxwxxwwwwwwwwwwwwwwwwxwwwwxxwwwwwwwxxwwwwwwwxwwwwwwxwwwwwwxwwwwwwxwwwwwwwxwwwxwwwwwwwwwwwwwwwwwwwwwwwwwwwwxwwwxwwwxwwxxwwwwwwwwxxwwxwwwwwwwwwxwwwwwwwwwwwxwwwxwwwxxxwwwwwwwwwwwxwwwwwwwwwxwwwwwwwwwwwwwwwxwwwxwwwwwwwxwxwwwwxwwwwwwxwwxwwwwwwwwxwwwxwwwwwwwxxxwwwwxwwxwwwwwwxwwwxwwwwwxwwwxwwwwwxwwwwwwwwwwwwxwwwwxwwwwwxwwwwwwwwwwwwwxwwxwwwwwwwwwwwwwwxwwxxwwwxwwwwwwwwwwxwwwwwwwwwwwwxwwwwwwwwwwwwwwwxwwwwwwwwwwwxwwwwwxwwwwwwwwxwwwwwxxwwwxwwwwwwxwwwwwxxwwwwwwwwwwwwwxwwwwxwwwwwwwxxwwwwwwwwwxxxwxwwwwwwwwwwwxwwxxxwwwwwwwwwxwwwxxwwwwwwwwwwxwwwwwwwwwwwwwwwwwwxwwwxwwxwwwwwwwwwwwwwwwwwxwwwwwwwxwxwwxwwwwwwwwwwwxwwwwwwxwwwwwxwwwxwwwwwwwxwwxwwxwwwwwxwwwwwwwwwwwwwwwxwwwwwwwwwxwwwwwwwwwxwwxwxxwwwwwxwwwxwwwwwwwwwwwwwxwwwwwwwwwwwwwwwwwwwxwwwxwwwwxwwwwwwxwxwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwxwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwxwwwwwwwwwwxwwwwwwwwxwwwwwwwwwwwwwwwwwwwwwwwwwwwwwxwwwwwwwwwwwwwwwwwwwwwwwwxwwwwwwwwwwxwwwwwwwwwwwwwwwwwwxwwwwwwwwwwwwwxwwwwwwwwwwwwwwwwwwwwwwwwwwwwxwwxwwwwwwwwwwwxwwwwwwwwwwwwxwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwxwwwwwxwwwwwwwwxwwwwwwwwwwwwwwwwwxwwwwwwwwwwwwwwwxwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwxwwwwwwwwwwwwwwxwwwwwwwwwwwwwwwwwwxwwwwxwwwwwwwwwwwwwwwwwwwwwxwwxwwwwwwwwwxwwwwwxwwxwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwxwwwwwwxwwwwwwwwwwwwwwwwwwwwwwwwwxwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwxwwwwwwwwwwwwwwwwwwwwwwwwxwwwwwwwwwwwwwwwxwwwxwwwwxwwwwwwxwwwwwwwwwwwwxxwwwwwxwwxwwwxwwwwwwwwwwwwwwwwwwwwwwwwwxwwwwwwwwwwwwwxwwwwwwwwwwwwwwwwwwwwwwwwwwwwxwwxwwwxwwwwwwwwwwwwwwwwwwxwwwwwwxwwwwwwwwwwwwwwwwwwwwwwwwwwwwwxwwwwwwwwwwxwwxwwwxwwxwxwwwxwxwwwwwwwwwwwxwwwwwwwwwwwxxwwwxwwwwwwxwwwwwwwwwxxwwwwwwwwwwwwwwwwwwwwwwwwwwwwwxwwwwwxwwwwxwwxwwwxwwwxwwwwwwwwxwxwwwwwwwwwwwwwxwwwxwxxwwwwwxwwwwwwwwwwxwwwwwwwwwwwwxwxxwwwwwwwwwwwwwwwwwxwwxwwwwwwwwwwwwwwxwwwwwwwwwwwwwwwxwwwwwwwwwwwwwwwwwwwwwwwwwwwxwwwwwwwwwwwwwwwxwwwwxwwwwwwxwwwwwwwwwwwwwwwwwxwwwwwwwxwwwxwwwwwwxwwwwwwwwxwwwwwwwwwwwwwwwxwwwwwwxwwwwwwwwwwwwxwwwwwwwwxwwwwxwwwwwwwwwwwwwwwwwxwwwwwwwwwwwxwwwwwxwxwwwxwwwwwwwxxwwwwwwwwwwwwwwwwwxwwwwwwwwwxwwwwwwwwwxwwwwwxxwwxwwwwwwwwwwwwwwwwwxwwwwwxwwwxxwwwwwwwxwwwwwwwwwwxwwxwwwwwwwwwwwxwwxwxwxwwxwwwwwxwwwwwwwwwwwwwwwwwwwwwwwwwxwwxwwwxwwxwxxwwwwwwxwwwwwwwwwwwwxwwwwwwwwwxwwwwwwxxwwwxwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwxwxwwwwxwwwwwwwwwwwxwwwwwwwwwwwwxwwwxwwwwwwwwwwwwwwwxwwwwwwwwwwwwwwwwwwwwwwwwwxwxwwxwwwwxwwwwxwwwwwwwwwwwwxwwwwwwwwwxxwwwwwwwwwwwwwwxwwwwwwwwwwwwwxwwwwwwwwwwwwxxwwwwwwwxwwwwwwwxwwwxxwxxwwxwxwwwwxwwwwwwwwwwwxwwwwwwwwwwwwwwwxwwwwwxwwxwwwwwwxwwwwwwwxwwwxwwxwxwxxxwwwwxxxwwwwwxwwwwwwxxwwwxwwwwwwwwwwwxwwwxwwxxwxwwxwwxwwwwwwwwwwwwxwwwwwwxwwxwwwwwxwwwwwwwwxxwwxwwxwwwxwwwwwwwwwwxwwxxwxxxwwwwwwwwxwwwwxxxwxwwwwwxwwwxwwxwxwwwwwwwwwwwwwwwxwwwwwwwwwxwwwwwxwxwwwwxwwwwwxwwwwwwwwwxwwwwwwwwwwxwwwwxwwxwwwwwwwwwwwwwwwxwwwxwwxwwxwwxwwwwxwxwwwwwwwwwwwwwwwxxwwwwwwwwwwwwwxwwwwwwwxwwwxwwwwwwwwxwwwwwxwwwwwwwwwwxxwwwwwwwxwwwwwwwxwwwwwwwwxwwwwxxwwwwwwwwwwxxwwwwwwwwwwwwwxwxwwwwwxwwwwwxwxwwwwwwwwwxwwwwwwwwwwwwxxwwwxwwwwwwwxwwwxwwwwwwwwwxwwwwwwwwwwwwwwxwwwwwwwwwwwwwwxwxwwwwwwwwwwwwwxwxxwwwwxwwwxwwwwwwwwwwwxwwwxwwwwwwxwxwwwwwxwwxxwwwwwwxwwwwwwwxwwwxwwwwwxwwwwwwwxwwwwwwwwwwwwwwwwwwwwwwxwwwwwwwwxwwwxwwwwwwwwwwwxwwwwwxwwwwwwwwxwwwwwwwxwwwxwwwwwxxwwwwwwwwwwwwwwwwxwwwwwwwwwwwwwwwwwwwwwwwxwwwwwwwwwwwwwxwwwwwwxwwwwwwwwwwwwwxwwwwxwwwwwxwwwwxwwwwwwwwxwwwwwwwwwwwwwwwxxwwxwwwwxwxwwwwwwwwwwwwwwwwwwwwxwwwwwwwwwwwwwwwwwwwwwwwwwwwwxwwwwwwwwxwwwwwwwwwwwwwwwwxwwwwxwwwwwwwwwxwwwwwwwwxxwwwxwwwwwwwwwwwwxwxwwwwwwxwwwwwwwwxwwwwwwwwwwwwwxwwwwwwwwxwwwwwwwwwwwwwxwwwwwwwwwwwwwwwwxwwwwwwwxwwwwwwwwwwxwwwwwxwwwwwxwwwwwwwwwxwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwxwwwwwwwwwwwwwwwwwwwwwwwwwwwwwxwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwxwxwwwwwwwxwwwxwwwwwwwwwxwwwwwwwwwwwwwwwwwwwwwxwwwxwwwwwwwwwwwwwwwxwxwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwxwwwwwxwwwwxwwwwxwwwwwwwwwwwwwwwwxwwwxwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwxwxwwwwwwwwwwwwxwwwxwwwwwwwwwwwwxwwwwwxwwwwwwwwwwwwwwwwwwwwwwxwwwwwxwwwwwwwwwwwwwwwwwwwxwwwwwwwwwwwxwwwwwwwwwwxwwwwwwwwwwwwwwwwwwwwwwwwwxwwwwwxwwwwwwwwwwwwwwwxwwwwwwwwxwwwwwwwwwwwwwxwwwwwwwwwwwwwwwwwwwwwwwxwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwxxwwwwwwwwwwxxwxwxwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwxwwwwwwwwwwwxwwwwwwwwwwwwwwwxwwwwwwwwwwwwxwwwwwwxwwwwxwwwwwwwwwxwwwwwwwwwwwwwwwwwwwwwwwwwxwwwwwwwwwwwwwxwwwxwwwwwwwwwwwwxwwxwwwwwwwwwwwwwwwwwwwwwwwwxwwxwxwwwwwwwwwxwwwwwwwwwwwwwwwwwwwwxwwwwwxwwwwwwxwwwwwwwwwwwwxwwwwwwwwxwwwwwwxwwwwwwwwwxwwwwwxwwwxwwwxxwwwwwwwwwwwwwwwwwwwwwxwwwwwwwwwwwwwxxwwwwwwwxwwwwxxxwwwwwwxwwwwwxxwwwwwwwwwxwwwwwxwwwwwwxxwwwwwxwwwwwwwwwwwwwwwwxwwwwxwwwwwwwxxwwwwwwwwwwwxwwwxwwwwwwwwwwwwwwxxwxxwxwxxwwwwwwxwwwwwxxwwwwwwwwxwwxxwxwxwwwwwwwwxxxwwwwwxxwwwwwwxwxwwwwwxwxwxwwxwxxwwxxxwxxwwwwxwwwwwwwwwwxwwwxxwwwwwwwwwwwwxwwxwwxwwwwwwxwwwwwwwwwwxwxwwwwwxwwwwwwwwwxwwwwwwwwwwwxwwwwwwwxwxxwxwwxwwwwwwwxwwwxwwwxwwwwwwwxxxwwwwwwwxwxwxwwxxwwwwxwwwxwwwwxxwwwwwwwwxwxwwxwwwwwwwwwwwwwxwwwwwxwwwxwwwxwwwwwwwwxxwwwwwwwwwwwwxwwxwxwwxwwwwxwwwxwwwwwwwwxwwwwwwwwwwwwwwwxwwwwxxwwwwxwxxxwxwwwxwwxwxxwwxwxxwwwwwxxwwxwwwwwwwwwwwwwxwwwwxwwwxwwwwwwwxwxxxwwwwwwwwwxxwwwxwwwwwwwxwwwxwwwwxxwwwwxwwwwwwwxxwwwwwwwwwwxxwwwwwxwwwxwwwxwwwwwwwxwwwwwwwwwwwwwwxwwwwwwwxwwwxwwwwwxxwwwxwwwwxwwwwwwwxwwxwwwwwwwwwwwwwxwwwwwwxwwwwwwwwwxwwwwwwwwwwxwxwwwwxwwwwwwxwxwwwwwxwwxwwwxwwwwwwwwwxwxwwwwwwwwwwwwwxwwwxxwwwxwxwxxwwwxwwwwwwwwwwwwwxxwwwwwwwwwxwwxwwwwwwwwwxwxwwxwwwwwwxwwwwwwwwwwxwxwwxxwwxxwwxwwwwxwwwwxwwwwwwwxxwwxwxwwwwwwwwwwwwxwxwwwwwwwwwwwwwwwxwwwwxxwwwxwxwxwwwxwwwwxwxxxwwwwxwxwwwwwwwwwwwwwwwxwxwxwwwwwwxwxxwwwwwwwwwwxwwwxwxwxxwwwwwxwwwwwwwwwwwxwwxwwxwxwwxwxwwwwwxxxwwxxwwwwwwwwwwwwwwwwwwwxwwxwwwxwwwwwxwwwwxwwwwwwwwwwwwwwwxxwwwwwwwxwwxwwwwwwwxwwwwwwwwwwwwxxxwwwwwxxxwwxwwwwwxwwwwwwxwwwwxwwxwxwwwwwxwwwwwwwxwwwwwwwwwxwwxwwwwwwwwwwwwwwwwxwwxxwwwwxwwwwxwwwwwwwwxwwwwxwwwwwwwxwwxxwwwwwwwwwwwxwwwwwwwwwwwwwwwwwwwwwwwwwwwxxwwwwxwxwwwwxwwwwwxwwwwwwxwwwxwxwwwwwwwwwwwwwwwxxwwwwwwwwwwxwwxwwwwwwwwwxwwxwwwwwwwwwwwxxwxwwwwwxwxwwwwwwwxwwwwwxwwwwwwwwwwwwwwxxxwwwwwwxwxxwxwwwwwxwwwwxwwwwwwwwwxwwwwwwxwxwwwwwwxwxwwwwwwxwwwwwwwwxxwwwwwxwwwxwwwwwwwwwwwwwwwwwwwwwwwwwwxwwwxwwwxwwwwwwwwwwwwwwwwwwxwwxwwxwwwwwwwwwwxxwwxxwwwwwwwwwwwxwwwwxwwwwwwxwxwwwxwxwxwwwwwwwwwwwwwwwxwwwwwxwxwwwwwwxwwxwwwwwwwwwwxwwwwwwxwwwxwwwwwwwwxwwwwwwwwxwwxwxwwwwwwwwwwwwxwxwwwwwwwwwwwwwwwxwwwwxwxwwwwwwwxwxwwwwwwwwwwwwwwxwwwwwwwwxwwwwwxwwwwwwwwxwwxwwwwwwwwwwwwwwwwwwwwwwwwxwwwwwwwwwwwwwwwwwwxwwwxwwwwwwxwxxwxwxwwwwwwwwwwwwwwwwwwxwwwxwwwwwwwwwwxwxwwwwwwwwxwwwwwwxwwwwwwxwwwwwwwwxwwwwwxwwwwwxwxwwwwwwwwwwwwwwwwxwwwwwwwwwwwwwxwxwwwwwwwwwwwwwwwwwwwwxwwwxwwwwwwwxwwwwwwwwwwwwwxxwwwwwwwwwwwwxwwwwxxwxwwwwwxwwxwwwxwwwwxxwwwwwwwwwwwwxxwwwxwwwwwwwwwwxxwwwwxwxwwwwxwwxwwwwwwwwwxwwwwxwwxwxwwwwwwwwxwwwwwwwwwwwwwwwwwwwwwwwwwwxwxwwxwwwxwwwxwwwxwwwwwwwxwwxxwwwwwwwwwwxwwwwwwwwwwwwxwwxwwwwwwwxwxwwxwwwwwwwwxxxwwwwwwwxwwwwwwwwxwwwwwwwwxwwwwwwxwwwxwxwwwwwwwwxxwwwwxwwwxwwxwwwwwwwwwwwwwwwxwwxwwwwxwxwwwwwwwxwwwwxwwwxwwwwwwxwwwwwwwwwwwwwwwxwwwwwwwwwwwwxwwwwxwwwxwwwxwwwwwwwxxwwwwxwxwxwwwxwxwwxwxwwwxxwwwxwwwwxwwxwxxwwxxwwwwwwxwxxwxwwwwwxwwwwwwwxwwwwwwwwwwwwxxwwwwwwwwwwxwxwwwwwwwwwwwwxwwwwxwwwxwxwwwwwxxwxxwwxwxwwwwwwwwxwwwxwwwwwwxwwwwwwwwxwwxxwwxwwwxwxwwwwxwwxwwwwxxwwwxwwwwwwwxwwxwwwwxxxwwwwwwxwwxwwwxwwwwwwwwxxwwwwwwwwwwwwwwwwwxxwwwxwwwwwwwwwwwwxwwwxwwwwwxwwwwwxwwwxwwwwwxwwwwxwwwxwxwwwwwwxwwwwwwwwwwwxwxwwwwwwwwwwwwwwwwwxwwwwwwwwwwwxwwwwwwwwxwwxwwwwwwwwwwwwwwxwwwxwxwwwwwwxwwxwwwwwwwwwxxwxwxwwwwwwwwwwwwxxwwwwwwwwwwwwwxwwxxwwwwxwwxxwxwxwwxxwwwwwwxxxwwxwwwxwwwwxwwxxwwwwwxxwxwxwwwwwxxxxxwwwwwwxwwwwwwwwwxxwxwwwwxxwxwwxwwwxwwxwwwwwxwxwwxwxwwwwwxxxwwxwwwwwwwwwwwwwwwwwwwwxwwwwwwxwxwwwxwwwwxwwwwwwxwwwwwwxwxxxwxwwwwxwwxwwxwwwxxwwwwwwwwwwwxxxxwwwwwxxxwwxwxwxwwwwwxwwxwwxwxwwxwxwwwwwwxwwwwwwxwwwwwwxwwxwwwwwxwwwxwxwwwwwwxwxwwxwwxwxwwwwxwwwwxwwwxwwwwxwwwwwwwxwwwwwwwwwwwwwwwwwwxwwwwwwwwwwwwwwwwxwwwxwwxwwwxwxxwxwwxxxwwwwwxwwxwwwxxwwwwxwwwwwwwwwwwwwwwxwxwwxwwwwxwxwwxwxwwwwwwwwwwwwxwwwwwwxwwxwwxxxwwwwwwwwwwwwwxwwwxwxwwwxwwwwxwwwwwxxxwxwwwwwwxwwxwwwwwwxwwxwwwwxwwwwwwwxwxwwxwxxwwwwwwwxwwwwwwxwwwwxwwwwxwwwxwxwwwxwwxwwwwwwwwwwwwxxwxwwxwwwwwwwwxwwwwwwwwwxwwwxwwwwxwwwxwwwxxwwwwwwwwwwwxxwwwwwwwxxxxwwwwxwwxwxxwwwwwxwxwwwxwxwwwxwwwxwxwxxwwwwxwwwwxwwxwwxwwwwwxwwxwxwwwwwxwwwwwwwxwwwwwwwxwwwwxwwwwxwwwxwwxwxwwwwwwwwwwwwwxxxwwwwwwwwxwwwwxxwxwwxwxxwwwwwwxwwwwwwxwxwwwwwwwxwwwwwwwwwxwwwwwwwwwwxwwwwwxwwwwwwwwxwwwxwwwxwwwwwwwxwxxxwwxwwxwwxwwxwxwwwwwxwwwwwwwxwxwwwwwwwxwwwwxwwwwwwxwxwxwxwwwwwwwwxxxxxwwwwwwwwwwwwwwxxxwwwwwwwwwwxwwxwwwwxxxwwwwwwwwwwwxxxwwxwwwwwwwwxwwwxwwwwwwwwxwwwwwwxwwwwwxwwwwwxwwwxwwwxwwwwwwwwwxwwwxwwwwwwxxwwwwwwwwwwwwxwwxwxwwwwwwxxwwwwwwwwwxxwwwwwwxwwxwwwxwwwwwxwwwwwwwwwwwxwxwwwwwwxwxwxwwwwwwwwwwwwwwwwwwxwwxwxwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwxwwxwxwwwxwwwxwwwwwwwwwwwxwwwwwwwwwwwwxwwwwxwwwwwwwwwwwxxwwwwwwwwwwwwwwwwwwwwwwwwwwwxwxwwwwwwxwwxwxxwwwwwwwwwwwwwxwwxxwwxwwwwwwwwxwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwxwxwxwwwwxxwwwwwwwwwwwwwwwxwwwxwwwwwwwwwwwwxwxxwwwwxwwwwwwxwwwwwwwwwxwwxwwwwwwxwwwwwwwwwwwwwwwxwwxwwwwwwwwwwwwxxwwwwwxwwxwwwxwwxwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwxxwwwwwwwwwwwwwwwwwxwwwwxxwwwwwwxwwwwwwwwwwwxxwwxwwxwwwwwwwwwwwwxwxwwwwxwxwwwwwwwxwwwwxwwwxwwwwwwwwwwwwwwwwwwwwxxxwwxwwwwwwwwwxwwxxxwwwwwwwxwwwwwwwwwwwwwwwwxwwwxwwwwwwwwwxwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwxwwwwwxwwxxwwwwwxwwwxwwwxxwwxwwwwwxwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwxwwwwwwwwwwwwwwxwxwwwwwxxwwwwwxwwwwwwxwxwwwxwwwwwxwwwwwwwwwxwwwxxxxwwwwwwwwwwwwwwxwwwxwwwwwwwwwwxwxwxwwwwwwwwwwwwxwwxwwwwwwwwxxwwxwwwwwxwxxwwwxwwwwwxwwwwxwwwwwxxwwwwwwwwxxwwwwwwwxwwxwwwwwwxwwxxwwwwwwwxwwwwwwwwxxwwwwwwwwwxwwwwwxwwwwxwwwwwwwwwwwwwwwwwwwwwxwwwwwwwwwwwwxwwwxxwwwwwwxwxwxwwwwwwxwwxxwwwwwwwxwwwwwwwwwxxwwwwwwwwxwwwwwwxwxwxwwwxwwxwwxwwwwwwwwwwwwwwwwwwwwwwwwwwwxwwwwwwwxwwwwxxxwwwwxxxxwwwwwwxwxwwwwxwwwwwwwwwwwwwxwwwwwwwwwwwxwwwwwwwwwxwwwwwxwwwwwwwwwwwwwwwwwwwwwwxxwwxwxwwxwwxxxwxwxwwwwxwwwxwwwwwwwwwxwwwwwwwwxwxwwxwwxwwwwwwxwwwwxwwwwwwwwwwwwwxwwwwwwwwwxwwxxwwwwwxwwwxwwwwwwwwwwwwwxwwxwxwwwwwxxwwwwwwwxwxwwwwwwwwwwwwxxwxwxwwwwwwwxwxwwxwxwwwwxwwwwwwwwwwxwwwwxwwwwwwwxwwxwwxwwxxwwwwwxwwxwwwxwwxwwwwwwwwwwwwwwxwwxwwwxxwwwwxxwwwwwxwwwxwwwwwwwwwwwwxxwwwwwwwxwxxwwwwxwwxwwwwwwwwwwwwwwxwwwxwxwwwwwwwwwwwwxwwwwwxwwxwxxwwwwwwxwwwxwwwwwxxwwwwwwxwxwwwwwwwwwwwwwwwxxxwxwwwxwwwwwxwwwwwwxwwwxwwwwwwwwxwwwwxwwxwwwwwxwwwwwwwwxwwwwxwxwwxwwwwxwwwwxwwwwxwwwwwwwxwwxwxwwwwwwwxwxwwxwwwwwwwxwwxwwwwwwxxxwwxwwwxwxwwxwxwwwwxwwwwwxxwxxwwwwwwwwxwxwwwwwwwwwxxxwwwwwxxwwwwwwxwxwwxwwwwwwwwwwxwxwxwwwxwwwwwxxwxwwwxxxxwwwwxxwwwwwwxxwwxxwwxwwwwwxwwwwwwwxwwwxwwwwwxwxwxxwxxxwwwxwwwxxwwwwwwwwwwwxwwxwwxwwwxxwwxwwwwwwwwwxwwxxxwxwxwwwxwxxwxwwwwxxwwwxwwwwwxwxxwwwwwxwwwwwwwwwxxwwxwxwwwwxwxxwwxxwwwwwwwwwwwwwwwxwwxxxwwwwwwwwwxwwwwwwwwxxwwwwxwwwwwwwwxxwwwwxwwwwwwxwxwwwwwwwwxwxwwwwxwwwwwwwwwxwxwwwxxxwxxwwwwwwwwwwwwwwwxxwwxwwxwxxwxwxwwxxxwwxwxwwwwwwwxxwwwxwwxwwxwwwwwwwwwwxxwwxxwwwwwwwwwwwwwwwwxwwwxwwwxwwwwxxxxwwwwwwwxxwxwwwxwwwwxxwwwwwxwwwwwwwxwxwwwxwwwxwxwwwwwwxwxxwwwwwwwwwwwwwwwwxwwwxxwwxwwxwwxwwwwwwwwwwwxwwxwwxxxwwxwwwxxwwxwxxwwwwwxwwwxwwxwwxwwxwwxwwxwwxwwwwxwwwwwxwwwwxwwwwwwwwxxwxxwwwxwxxwwwxwxwwxxwwwwxwxwxxxwwwwwwxwxwwxxwxwwwwwwxwwxwwwwwwxwwwxxwwwwwwwxwwwwxwwwxxwwwwxwwwwwwwwwwwxxwwwwwwxwwxwwwxwwwxwwwwwwwxwwwxwxwxwwwwwxwxwwwwxwwxxwxwxxwwxwxxwxwwxwwwwwwwxwwwwxwwwxwwwwxwwwwwwwwwwwwxxwxwwwwwwxxwwwwxwxwwwwwwwwwxwwwwxxwwwwwwwwwwwxwxwwwwwwwwwxwwwwxwwwwxxwwwwwxwwwxwxxwwwwwxxwxwwxwwxxwwwwwwwxwwwwwwxxwxxwxwwxxwwwwwwwxwxxwwxwwwwwxwwwwwwwwwwwwxwwxwwwwwwwwwwwwwwwxwwwwwwxxxxxwwxwxwxwxwwwwwwwwxwwwxxwwxwwwwwwwwwwwwwwxwwwwwxwwxwxwwwwwwxwxwxwxxwwwwwwwxwwxwwwxxwwwwwwwxwwwwxwwwwwwwxwwwwwwwwwwwwwwwwwwxxwwwwwwwwwwwwwxxwwwxwwwxwwwwwwwwwwwwwwwwwwxwwwwwwxwwwwwxwwwwwwxwwwwwwwwwwxwwwwwwwwwwxwwwwwwwwxwxwwwwwwwwwwwwwwxwwwwwwwwwwwwxwwwxwwwwwxwxwwwxxwwwwwwwxwwwwwwwxwwwwwwxwwwwwwwxwwwxwwwwwwwwwwwwwwwwxwwwwwwxwwwwwwwxwwxxwwwwxwwwwxwwwwwwxwwxwwxwwwwxwwxwwxwwwwwwwwwwwxwwwwwwwwwxwxwwwwwwwwwwwwwxwwwwwwwxwwwwwwwxwxwwwwwwxwwwwwwxwxwwwwwwwwwwxwxwwwwwwwwxwwwwwwwwwwwxwwwwwwwwwwwwwwwwxwwwwwwxwxwwwwwwwwxwwwwwwwxwwxwxwwwwwwwwwwxwwwwxwwwxwxwxwwwxwwwwwwwwxwwwxwxwwwwwwwwwwwwxxwwwwwwwwxwwxwwwwxwwwwwwwwwxwxwwwwwwwwwwwwxwwxwxwwxwwwxxwwwwwwwwxxwwwwwwwwxwwwwwwwwwwwwxwwwwxwwwwwwxwwwwwwwwwwwwwwwwwxwwwxwwwwwwwxwwwwwwwwxwwwwwwxxwwxwwwwwwxwwwwwxwwwwwxwwwwxwxwwwwwwxwwwwwxwwwwwwwwxwwwwwwwxwwwwwwwwwwxwwwwwwwwwwwwwwwwwwwwwwwwwwwxwwxwxwwwwwwwxwwwwwwwxwwwwwwwxwwwwwwxwwwxxwwwwwwxwwwwwwwwwwwwwwxxwxwwwwwwwwwwwxwxwwwxwxwwwwwwwwwxwwwwxwwwwwwwxwwwwwwxwwwxxwwwwwwxwwwwwxxxwwwwxwwxwwxwwwxwwwwwxxwxxxwwwwwwwxxwxwwwwwwxwwxwwwwwxwxwxwwxwxwwxxwxwwwxxwxwwwxwxwxxwwwwwwwwwxwwwwwwwwxwwwxwwwwxwxwxwwwxxwwwxwxxwxwwxxxwxwwwxxxxxwwwwxxxxwwxwxwwwxwxwwxxxwxwxxxwxxxwwwxwxwwwxxxwxwxxwwxxwxxwwwwwxwwwwxwxwwxwwwwxwwwwwxwxxwwwxwwxxwwwwxwxxwwwwwwwxwxxwwwwxwwwwwxwwxwxwxwxxwwxxwxwxwxxwwwwwwwxwwwxxwwwwxwwwxxwwxwxwwxwxwwwwwwwxxwwwxwwxwwwxxwwwxxwwxxxwwwxxwwxwxwwwwwxwwwwxwwwxwwxwwxwxxwxxwwwwxwwwwwwwxwwwwwwxwwxwwwwxwwwwxwxwwwxwxwwxwwwxwxwwwxwwxxxxwxxwxxwwwxwwwxwxwxxwxwxwwwxwwwwxxxwxwwxwxwwwxwxwwwxwwwwwxwwxwxwwwwwwxwxwxwwwwwwwwwwwxwxwwxwwwwwxwwwwwwxwwxwwwwwwwwxwwxxwwwwwxxwwwwwxwwwxwwxwxxxwwwwxxwwwwxwwwwxxwxwwxwwwxwwwwxxwxxwwwwxxxxwwwwwwwwwwwwwwwwxxxwwwwwwwwwwxwwwxxxwwwxxwwxxwwxwwwxwxwwxxxxwwwxwwwxwxxwxxxwwwxxxwwxwxwwxxwxwxwwwwwxxwwwwwwwxxwwxwwwwwxwwwxwwwwwxwwxwwwwxxxwwwwwwwwxxxwxwwwxwwwwwwwwwxwwxwwwwwwwxwwwwwxxxxwwwwwwwxxxwxxwwwwwwwwwwwwwwwxwxxwwwxxwxwxwxwwwwxwwwxwwwxwxwwwwxwwwxwwwxwwwwwwxwxwwwxxwxxxxwwxwwxwwwwwwwwwwwxwxwwwwxxwxwwxxwwxxwwwwxxxxxwwwwxxwwwxwwwxxwwwxwxwxxwwxxwwwxwwxwwxwwwxxwxwxwwxxwxwwwxwxwwxxwwxwwwwwwwxxwxxwwwwwwwwwxxwwxwxwxxwwwxwxxwwxwwwwwwwwwxxwwwwwwwwwxwwxwxwwwxwxxwwxxwwxwwwwwwwwwwwwwwwwwxwwxwwwwwwwwwwxwwwxwwxwwxwwwwwxwxwwwwxxwxwxxwwwwwwxwwwwxwwxxwwwxwwwwxxwwwwwxwwwxxwxwwwxwxxwxxwxwwxwwwxxwwwwwxxwwwwxwwwxxwwwwwxwwwwwxwwxwwwwwxwxwxwwwwwxxwwwwwwwxxwwwwwxwxxxwxwxwwwwwwwwwwwxwwxxxxwwwwwwwxxwwwxwwwwwwwwwxxxxwwwwwxwwwxxxxxxwwwxwwwwxwwwxwxwwwwwwwwwxwwxwwxwwxwxxwwwxwxwwxwxwwwxxxxxwwxxwxwxwwwxwwwwwwxwwwxwwwwwxwwwwxwwxwwwwwwxxwxwwwwwwxwxwwwxxwwwwwxwxwwxwwxwwwwwwwwwwwwwwwwxxwwwxwwxwwxxwwwwwxwwxwxwwwxwxwwwxxwwwwwxwwwwxxwwxwxwwwxwwwwwxwxwwwwwwxwwxxxxwwwwxwxxwwwwwwxwwwwwxwwwwwwwxxwwwwwxwxwwwwwwxwwxxwwxwwwxwxxxwwwwwxwwwwwwxwwxwwxwwwwwwxxwxwwwxxwwwwwwwwwxwwxwwwxwwwwwwxxwwxwwwxwwwwwxwwwwwwwxwwwwwwxxwxwwwwxwwwwwwwxwwwxwxwxwwwxwwxwwwwwwxwwxxwwwwxxxwwwxwxwwxwxwwwwwwwwwwxwwwwwxwwwwxwwxwwxwwxwxxwwwxwwwwxwwwwwwwwwwwxxwxxwxwwxwwwwwwwwwwxxwwxxwwwwwxxwwwwwwwwxwxwwwwwwwwwwxwxwwwwxwwwwwwwwxxwwxwxxxwwwxwwwwxwwwxwwwwwxwxxwxwwwwxwwwwwxwwwwwwxwwxwwwwwwwxwxxwwwwwxxwwwwwwwwwxwxwwwxwwwwwwwwwwwwwwwwwxwwwxxwwwwxxwwwwwwwwwxwwwwwwwwwwwwwxwwxwwwwxwwxwwwxxxwxwwwwxwwwwwwwwwxwwwxwxwwwwwwwwwwxwwwxwwxxwxxwwxxxwwwwwwwwwxwwxwxxwxwxwxwwwxxwxwwwwwwwwwxxwwxwxwwxwwwwwxxwwwwwwxwxwwwwxxwwxwxwwwwxwwxwwwwwxwwxwwxwwxxwwwxwxwwwwwxwxxwwwxxwwwxxwwwxwwxwwwxxwwwwwwwxxwxwxxwwwwxxwwwwwwxwxwxwwxxwwwwxwwwwxwxxwwwwwwwwxwwxwwxxwwwxxxwwwwwxwwxwwwwxwwwxxwwwwwwwwwwxwwwwwxwwxwxwxxxwwwwxxxwwxwwxwwwxxxxwxwxwxwxwxxwwwxwwwwxwwwxwxwxwwwwxwwwwwwwxxxwxwwwwxwxxwwxwxxwxxwwxwwxwwwxwwwwxwxwwwwxwwwwwwwwwwxwxwxxwxxwwwxwwwxwxwwwwxxwwxwxwwxwwxwwwwxwxwwwwwwxwwwwxxxwwxxxxxxwwwwxwxxwxwwwwwxwxwxwwwwxxxwwwwwwwxwxwwwxwxxxwwwwwwwwwwwwwwxwxxwwwxwwxxxwwwxwxwwxxxwwwwxxxwxxwwxxwwxxwwxwwwwxxxwwwwwwwxwxwwwwxwwwxxwwxxwwwwwxwwwwxxwwxxwwwwwxwwxwwwwxwwwwxxwwxxwwwwwwwwxxxwwwxxwwxwwwxxwwwwxxxwwwwwwwxwwwwwwxwwwxwwwwwwxwxwwwwwxxwwwxwwxwxxwxwwwwxxwwwwwxwwwwwwxxwwwxwwwwxxwxxxwxwxwwwwwwwwxwwwwwxwwxxwxwwwxwwxxwwwxwwwxwxwwwxxwwwwxwwwwwxwwwwwxwwwwwwxwxwwwwwxxwxwxwwwwxwxxwwwwwxxxwwwwwwwxwwwwwwxxwxxxxwxwwwxwxwwwwwxwwwxwwwwxxwwxwxwwxwwwwwwxwwwwxwxwxxwwxxxwwwxxxwwxxwxxwwwxwwwxwwwxwwwxwxwxxxwwwwwxwwxxwwwxwxwwwxwxwwwxwwwxwwwxwxxwxwxwwxwwwwwwwxwwwwwxwxwwwxxxwwwwwxxwwxwxxwwwxwxwwwwwwwxxwwxxwwwwxxwwxwxxxwwxxwwxwxwxxwxwxxxwwwwwwxwxxwwwwwwxwwxwwwwxxxwwwxwxwwxwwxwwwwwwwxwwxwxxwwxxxwwwwwxwxxwwwwxwwwwwxwxwxxxxwwwwwwxwwxwxxxxwwwxxwwxxwwxwxxwwwwxxwwwxwwxwxxwwxwxwxwwwwxxwwwxwwwxwxxxxxwxwwwwwwwxwwwxwwwwwwwwwxxwwwwwwxxwxxxwwwwwwwxxwwwwwwxwwwwwxwwwwxxwwxxxwxxxxwxwwwwxwwwwxwxwwxwwwxwwxwwwwwwwxxwxxwxwwxwxxxxxxxwwwwwwxwwwwwwwxxwwwxwwwwwwxwxwwxxwwxwwxwwwwxwxxwwwwwwwwwxwxwxwxwxwxwxwxwwxxwwwwwxwwxxwwwwxwxwwxwwxwxxxwwxwwxxwwwwxxwxwwxxxxwxwwxwwwwxwxxwxwwwxwwxxwxxxwwwwwwxwwxxwxxxxwxwwwwxxwwwwxwwxxwxxwwwwwxxwwxwwwwwwwwwwwwxwxwwxxwxwwwwwxxwxxwwwwwwxwxxxwxxwwwwwwwwwwwxwxwwxwwxxwwxwwwxwwwwxwxxwwwwwwxwwwwwwwwwxwxxxwwwxxxwwxwwxwwxwxwwxxxwxwwxwwwxwwxwwxwxwxwxwwwxwxwwxwwwwxwxwwwwwxxwwwwxwwxwwwwwwxxxwwwwxxxwwwwxwwwwwwwxwxwwwxwxwxwxwwxxxwxwwwxwwxwwxwxwxwxwwwxwwwwxwwwxxwwwwwwwwwxwwwwwwwwwxwxwwxwxwwxxwwwwwwwwwwxwwwwxxwwwwwwwwwwwwwwxwxwwxxxxwxwxxxxxwwwxxxwwxwxwwwwwxwxwwwwwxxxwwwwwwwxwwwxwwwxwwwxwwwwwwwxwwwwwwwwwxwwxwwwwwwxxwxwwwwwxwwwwwwwxwwwxwwxwwxwwwwxxxwwwxxwwwwwxxwwxxwxwwxxwwwwwwwwwxwwxxwxwwwwwwxxwxwwxxwwwwwwwwxxwxwxwwwxwwwwwxxwxxxwwwwwwwwwwwwxwwwwwwxwwwwxxxxwwwxwwwwwxwwwwwxxxwxwwwwwwxxwwwwxwwwwxwwwwwxwwwwxwwwwwwxwxwwwxwwwwxwxwwwwwxwwwwxwwwxwwwwwxwwwwxwwwxwwxwxwxwxwwwwwwwwxwxwwxwxwxwwwwwwxwxwxxwwwwwwxwwwxwxwwwwwwxwwwwwwwwxwxwxxwwwxwwwxwwwwwwwwxwwxwwwwxxwwwwwwxxwxwwxxwxxwwxwxwwwxwwxwxxwxwwwwwxwxwxwxwwwwxwwwwxwwxwxxxxwwwwxwwwxwwwwwwwwxwwwxwwwwwwxwwxxwwwxwxwwwwwwwxwwwwwwxwxwxwwwwxxxwwwwxwxwxwwwwwxxwxxwwwwwwwxwwwwwxwwwwxwwwwxwwwxwwwxxwxwxxwwwwwxxwwxwwwwxwwwwxwwwwwwwwxwwwxwxxwxwxwwwwxxwwwxxwwwxxwxwwwwwwwwwwwwxwxxwwwwxwwwwwxwxwxxwxwxwwwwwwwxxxxwwwwwwwxwwwwwwxxwxxxxxxxxxxxwxwxwxwwwwwxxxwwwwwxwxwxwxwwwxwxwxwwwxxwwxwwwwwwwwwwxwwwxwxwwwxwwwwwwwxxwwwxwwxwwxwwwwxwwwwwxwwwwwwwwwwwwxwwwwxwwxwwwwwwwwwwxwwwwxwwwwwwwwwwwwwwwwwwwxwwxwwwwxwwwwxwxwwwxwwwwxwwwwwxwwxxwxwxwwwwwxxwxwwxwxwwxxwwwwwxwwxwwwwwwwwwwxwwwwxwwwwwwxxwwwxwwxxxxxxxxxxxxxxwwwwxwxwwwwxwwwxwwwwwxwwxwwxwxwwwwwxxwxwwxwxwwxwwwwwwwwwwwwwxxwwxwwwxxxwxwxwwwxxwxwwwwwwwwwxwwwwxwwwwwwxwwxwwwxwwwxwwwwxwwwxwwwwwwxxwwwwwwwxxwwwxwwwwxwwxwxwwwwwwwwwxwxwxwwwwwxwwwwwwwwxwxwwwxxxxwwwwwwwwwwxxxxwxwwwxwxwwwwwxwxwxwxwwwwwwwxwwwwxwwwwwwwwwwwwxwwwwwxxwwwwwwwwxxwwxwwwxwwwwxwwwwwwwxwwxwwwwxxwwwwwwxwwxxwwwwwwwwxxwwxxwwxxwwwxwwwwwwwwwxwwwxwxwwwxwwxwwxwwwxxwwwwwxwwxwwwwwxwxxwxxwwwwxwwwwwxwxwwwxwwxwxwxwwxwwxwwxwwwwwwwwwwwwxwwwwwwwwwwwwwwxwwwwwwwwwwwwxwwwxwxxwwwwwxxwwwwwxwwwxwwwwwwxwwwxwxxwxwwwwwwwxwxxwwwwwxwxwwxwwxwwwwxwxwxwwwwwwxwxxwwxxwwwwwwwwwwwwwxxxxxxwwwwwxwxwwwxxwwwwwxxwwxxwwxwwxwwxwwwxwwwwwxwxxxxwwwxxwwxwwxwwwwwwwwwxxwxxwwwwwwwwwxwxwwwwxxwwxwwwxwwxwwwwwwxwwwwwwwwwwwxxwwxwwwxxxwwwxwwwwxwwwwwxxwwxwwwxxxwwwwwwwxxwwwwwwxwwwxxxwwwwwwwwxxwxwwxwxxwwxwwxwwwxwwxxwxxwxwwwxwxxwwxwwwxxwwwxwwxxwxxwxxwxxxxwxxxwwwxwwxxwwwxwwxwwwwxxxxwxxxwxwxwwxwwxwxxxxwwwwwxwxxwxwwwwwwwxwxwwxwxxwxwxwxwxxxwwwwwxwxwxwwwwxxwwwxwxxwwxwwxwxxxxwwwwxxwwxwwwwxwwxwxxwwxwxwxwwxwxxxwwxxwxxxxxwxxwwwwwwwwwwwwwxwxxxwwwwxxxxxxwxxxwwxwwxwxxwxxwwxwxxxxxxwxwxxwxwwxwwwwwwxwxwwxxwwxxwwxwwxxwwxwwxwwxwxwxwxxxwwwxxwwwxwxwwxwxxwwxwwwxwxwwxwwxxxwxxwwwxxwwxxxwwxxxxxxwwwxwwwxxwxwxwwwwxwxwxwwwwxxwwxwwxxwwxwwxwwwwwxwwwxwxwwxwwxxxwxwwwwwwwwwwxxxwxwwwwxxwwxxxwwwwwwwxwxwwwwwxxwwwwxwxwwxxwwwwxxxwxwwwxwwwwwwwwwwwxwwwwxxxxwxxxwxwwwxxwwxwwxxxwwwwxwxwwwxwxwwxwxwwxwxxxwxxxwwwwxwxxxxwwwwxwwwxxwxxxxxxxxwxxwxxwwwwwwwwwxxwwxwwxxxwwxwxwxwwwxxxxwxxxwxwwwxwwxwwwwxxwwwxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxwxxwxxwwwxxwwxwxwwwxwxxwxxwwwwxwwwxwwxwwxwwwwxxxwxxwwwwwwwwwwwxwxwxxwwwwwwwwxwxxwxwwwwxxxwxwwwxxwwwxwwwwxwwxwxwxxwwxwwwxwxwxwwwxwwxwwwwwwwxwwxwwxwxwxwxxwwxwwxwwxwwwxwwxwwxxxwwwvvvvvvvvvvwwxxxxwwwwwxxwxwwwxxwwwwwwwxxwxxxxxxxxxxxwwwwxwwwwxwwwxxwwwwwwwwxxwwwwxxxxxxxxxxxxwwwwwwxxwwxwxwwxwxwwxwwwwwwwwwxxxxxxxxxxxxxwwxwwwwxxxxxxxxxxxwwxwxwwwxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxwwxwwwwwwwxwwwwxwwxwwwwwwwxxwwxxxwwwvvvvuuvvuvwwxxxwwxxwxwwxwxwwwwwwxwxwwwxwwxwwwwxxxxxxxxxxxxwwwwwxwxwwwwwwwwwwwxwwwwxwxwwwxxwwxxxxxxxxxxwxwwwwwwwwxxwxwwxxwwxwwwwwwwwwwwxxxxxxwwwxwwxxwwwwxwxwxxwwwwwxxwxwwwwwwwwxxwxwxxxxwwxwxwwwwxwxwxxwxxwxwxwwxxwwwwxxxwwwxwwwwwwwwwwxxwwwwwwwxwwxwwwwxxxwwwwwwwxwwxwxxwwwwwwxwxwwwwwxwxwwwwwwwwxxxxwwxwwxwwxwwwwwwxwwxwwwwwwwwxxwwxwwwwxwwwwwxwxxwxwxxwxwwwxwwxwwxwwwwwwxwwwwwxwxwwxwxwwwwwwwwxxwwwwwwxxwwwxwwwwwwwxwxwwwxwwwxxwxwwxwwwwwwwwwwxwxwxwwxwwwxwwwwwwwxwwxxwwwwwwwwwxwwwxwwwwxwwwwxwxxwwxwxwxwxwxxwwxwxxwxxwwxwxwxwwwwwxwwxwwwwwwwxwwxwwwwwxwxwxwwwwxwxwxwwwwwxwxwxwwwwwwxxwwxwxwxwwwwwxwwxwxwwxwwxwxxxwwwwwwwwwxxxwxwxxwwwxwwwwwxwxxwxxwxwwwwxwwwwxwxwxwwwwxxwwwwwwwwwwwwwwwwwwxwwwwxwwwwwwxwwwwwwxwwwwwwxwwwwwxwwwwwwwwwwwwwwxwwwwxwwwwwwxwxwxwwwwwxxwwwwwxwwwwwwxwwwwwxwwwwwwwwwwxwwwwwxwwwxxwxwwxxxxxwwxxwwxxxwwwxwxwwwxwxxxwwxxwwxxxxxxxxwxxwxwxwxwwwxxxwxwwwxwwxxwwwwxwxxwxxwxwwxxxxwxxxxwxwxxwxxwwwxwxxwxxwxwxwxxxxxwxxxxwwxxxxwwwxxwxxxxwxwxxxxxwwwwwxxxxxxxxxwxxxxxwxwxxwxxwwxxwwxwxxxwxwxxxxwxwwxxxwwxxxwxxxxwwwwwxwxwwwwxxwxxwxxwxxwwxwxxxxxxxxwxxwxxwxxwxxxxxwxxxxwwxwwwxxwxxwxxxwwwwxxwwwwxxwwwxwxxwxxxxwxxxxxwxxwwwxxwxwwxwwxxxwxxxxwxwwxxxxwxxxxwxwwxxwxxwxxxwxwxxxxwwwwxwwxwwxwwwxxxxwwxwwwwwwxxwxxxwwwxxxwwxxxxwwwxwxxxwxwxxwxxxwwxxxxwwwwxwwxwwwxwxxwwxxwxwwwxxxxwwxxwxxwxwwxxxxxwwxwwxxxwwxwwwxxwxwxwxwwwxxwxxwxxxxxxwxxwxxxxxwxxwwwxwwxxwwxxxxxxxwxwxwwxxwxwxxxwwwwxxwxxxwxxxxxwxxxwxxxwwxxwxxwwwwxwwwwxwxwxxwwxwwwwxxxwwxwxwxwxwxxxwwwwwxwxxwwwwxxwwwwxwwxxvvvvvvvvvuvvvvvuvvvvuuvvvvvvvuvvuvvvuvvvvvvvuvvvwxwxxwwwxxxxxwwxwwxwwwxxwxxxwwwxwwwwwwxxxwxwxwxxxxwxwwxxwwwwxwwxwxwxxwxxxwxwxxwxwxwxxwxxwxxwxxxxwwwxxxxxwwwxwxxwxwwwwxxwxwwwxxwwwwwxwwxxwxwxwxwxwxwxwxxxxwwwwwxxxwwxxxxwxxxwwvtqqpkkkkkkkkkoqqsuvwxxxwxwwwxwxwwxwwxwxwxwxxvvvvvvvuvvwxxwwxwwwxxxxwwxwwxwxxwwwxwwxwvvvvuvvuvvvvwwwwwxxxxxwxxwxxwxxxxwxwxxxxwxwvvuvuuvvvwxwwwwwxxwwvuvvvvvvvwxwxxwwxxxxvvvvvuuuvvvvuuvvvvuvuvvvvvvuvvvuuvvvvvvvvuvvvvvuvuuvvvvvvwwxxwxwxwxwxxwwwxwwwxwwwwxxwxwwvuqqpmkkkkkkkkoqqtvwwxxxxxwwxwxwxwwxwxwwwxxwwwxwwxwvvvvvuuvvwxwxwwwxwwwwwwwwxwxwwwxxwwwxxxwxxxwxwwvvvvuvvuvwwwwxwxxxxwwxxwwxwwwwxxxxxwwxwwxxxwxxwwxwwwwwxwwxxxxxxwwwwxxxxwwwxwwwxxxwwwwwxxwxxwwwwwwwwwwwwwxwxxwwxxxwwxwwxxwxxwwwwwwwxwwxwwxwwxxxwxxwwwxxwwxwxxxwwwxxwwwxwwxxxxxwwxwxwxxwwxwwwwxwwwxxxwwxwxwwwwwwwwxxwxxwwwxwxxwwwxwxxwxxwwwxxwxwxwwxxwwwxxxwwwwwwxxwxxxwxxwwwwxwxwxwxxxwxxwwwwwxwxxwxwxxxxwxxwxwwwwxwwxwxwwwwwwxwwwwwxwwxwwxxwwwxwwwxxwwwwwxxxxxwxwxxwwwxwwwxwxwxwxxxwxxxwxxwxwwwwxwwxwwxxwwwwwwxwxxwxwxxwxwxxwwwwxxwwxwwxwwwwxwxxxwwwxxwwwxwxxwxwwxwwwxwxxxwwwwxxxwxxwwxwwwxwwwwwxxxxxwxwxxwxxwwxwwwwxwwwwwwxwxwwxwwwwwxxwwwwxwwwwwwwxxxxwwxxwwwxxwwwwwxxwwwwxxwxwwwwwxwwwxxxwxxwxwwwwxwxxwxwxxwwxwwxxwwxwxwwwwwwxwxwwwwxwwxwwwxxwwxxwwxwxxxwwwwwwwxxwxwwxwwwwxwwwxwxxxwwxwxwwwxwxwwxxxxwwwxwwwxwxwxxxwxxwwxxxxwwxwxwwxxwwxxwwwxwxwxwxwwwxxxwxwxwwxxwwxxwxwwwxxxwwwwxwwxwwwwwxwxxwxxwxwwxxwwwwxwxxwwxxwxwxwxxwwxwxwwxwxxwxwxxxxwwxwwwxxwwxwwwwxwxxwwxwwwwwwwwwwwxxxwxwwwwxxxwwxwwxwwwxwwxwwwxwxxxwwxxxwwwwwwwxxxxwxwwxxwxwwxwwxwxxwxwxwxwwwwwwwwxwwwxxwxwxwxwwwwwwwxxxxxxxxxxxxxxxxwxxxxwxwxxxwxxwwxwwxxwxwxwxxwwxwxxxxxxwwxxxxxxwwxwwwxwwwwwxxwxxxwwxwxwwxxwxwwxxxxxxxxwwxwwxxwwxwxxxwwwxxwwwxxxxwwxxwwxwwxxwxwxwxxwxwwxxxxxxwwxxxxxxwwxwwwxxwwwwxxwxxwxwwwxwwxxwxwwwxxxxxxxwwxwwxxwwwwxxwxwwwwwwwxxwxwwwwxxwxxxxxwwxwwxwxwwwwxwxxxwxxxxxwwwwxxxwwxwxwwxxwwxxwwwwwwxxxxwwwwxxxxwxxxwwwwwwwwwwxwxxxxwwxwxxxxxwwxwwwwxxxwxxwxwxxxxxxwxxxxwwxxxxwxxxxxwxwwxwwwxxxxxwxwwxxwwxxxxwwxxwokkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkqwwwxwwxwxwwwwwxwwxwxwxxwxwxwxwxxwwxxxxwwwwwxxxwxxxwxxxxxwwwxxxxwwwxxwwwxwxxxwwxxwwxxxwxwxxwwwxxxwwxxxwxwxwwxxxwxwwwwxwxwwwwwwxxxxwwxxwwxwwwwwwwwxwwxwwwwxxxwwxxwwxxxxxxwvuqokkjjihhhhhhhhhijjjkmpsvwxxxxwwxxwwxwwxwxwxxxwokkkkkkkkluxwxwwwxxxwxwxwwxwxxxwxwxwwxxwqkkkkkkkkkkltwwwwxwxwwxwwxxwxwxxxxxxxxxxxwskkkkkkkkluwxwxwxxxwpkkkkkkkkowxwxwxxwwwvokkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkklvxxxxxxxwwwwwxwxxwwxxwxwwxxwurpkkjjiihhhhhhhhijjjkoruwxxxwwxxxwxxxwwwxxwxxwwxwwxxvlkkkkkkkkrwxwxwwxxxxxxwxxwxxwxwwwwxwwwxxwwxwxwrkkkkkkkkluwwwwxxwxwwwxwwxwxwwwwwxxwwxwxxxwxxwwxwxwwxwxwwxwwxxwwwwwwwxxwwwxxwxwxwxxwwwxwxxwxxxxxwwwwxwxxxwxwxxwxxxxxwxwxxxwxwwxxxwxwwwwwwxxxwxwwxxwwxwwxwxxxwwxxxwxxwxwxwxwxwwxwxwxxxxwwxxxwwwwxwwwwxxxxxxwwxwwxwxwwxwwxwwwxxxwxwxxwwwxwxwxwwxxwwxwwwwwxwxxwwwwxxwxwxxxwxxxxxxwwwwwwwxxwwwxxxwxwxxxwxxwxxxwwwxwxwxxxwwxxxxxwwxwwwwwwxwwxwwwwwwwxwxxxxxxwwwwxxwwxwxxxxwwxwxxxwwwxxwwwxxxxxxwwwxxxxxwwwwxxwxxxxwwwxwxwxxxwxwxxwwxwwxwxxwwxxwxxwxxxwxwxxxwxwxwwwwwxxxxxwwxwxwwxwxxxxwwwxwwwwwwxwxwxxxxxxwwxwwwwwxxxwwxwwwxxwwwwwwwwwxxxxwxwxxxxwwwxxxxxxwwwxxwwxwxwwwxwwxxwxxwwwwwwwxwxxwxxwwxwwxxwxxwxwwxxwwwxwwxwxxwwwxxwxwwwwwxxxxxxxwxwxxxxxxxxwxxwwxxwxwxxwxwwxxwwwxwxxwwxwwwwxxxxxxxwxwxwxxwxwwxwwwxwwwxxwwwxwxwwwxwwwxxxxxxwwxxwwwwxwwxwxwwwwwxxwxwwwxxwxwxxwxwxxwxwxxxxwxxwwwxwxwxxwxxwwxwwwwxwwxwwxxwxwxwxwxxwxxwwxwwxwwxxwwxwwwxxxxwwxwxwxxwxwxxxxwxwwwwxwxwxxwwxxwwwwwwwxxwxwxwxxwwwwxxwxxxxxwwxwwxxxwwwwxxwwxwwwxwxwxwwxxwwxwwxwwwwxxxwwxwxwwxwxxxxwwwwwxxxwxxxxwxxwxwwxxwxxwwxwxxxwxwwwwwxwwxwxwxwxwwxxxxxxwwwwwwxwxwwwwwxxwxwwxwxwwwwxxwxwxwwxwwwwwwxxxwwxxxxwwxxxwxxxwxwxwwxxwwwxwxwxxxwwxwwxxxwwxwxxxwwxwxwxxwxxxwxxwxwxwwwwxwxxxwxxxwwxxwwwwwxwxwwxxxwxwxxwxxxxwwwwwwxwwwxwwwxwxwwwwwxxwxxwxxxwxxwxwwwxxwxwwwxxwxxwxxwwxxxwwwxxxwxxxxxxxxwxwwwwxwwxxwwwxxxxwxxxxxxwxxwxwxxxwwxxxwxxxxwwxwxxxwwxxxwxxxxwwxwxxwxxwwxwxxxwxwxwxwwwxxwxwxwxwxxwwwxwxxwxwwwwxwwxwwwwxwwxwwxxwxxwwxwxxxxxvmihhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhipwwxwwwwwwwwwwxxxwxxxxxwwwxxwwwxxxxwxwwwwxxwxwwwxxxxxxwwxwxxxwwxxwwxwxxxxwwxxwwwxxwwwxxxwxxwwwxxxwwxxxwxxxxwxwxwwwxwxxxxxxwwwwwxwxwxwxxxxwwwwwxwxxwwxwxwxwxxxxxxwxwxwxwwsokjihhiiiiiiiiiiiiiiihhijjlquwxxxxwxwwwwxxwwwwxwwqihhhhhhhirwwxxwxwwxwwxxwxxxxxxwxwwxwwxwnihhhhhhhhhipwwxwwxxxxxxwxxwwwxwxxwxxxwwxwoihhhhhhilvxwxwxxwwwoihhhhhhimvxxwwxxwwxvmihhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhjvxxwxxxxxxwxwwwwxwwwwxxxwvspkjihhiiiiiiiiiiiiiiihhijkptwxxxxwwwxxxwxxwxxxwwwxxxxxvjhhhhhhhipwwwxwxxwxxxwwxxxxxwxxwxwxwwxxxwxwwwwqihhhhhhhjtwwxxxxwxxwxwxxxxxwxxwxwxwwxwxxxxxxxwwwxxwxwxxwwxxxxwwwwwxxwwxxxxwwxwxxxxxxwwxxwwxwxwxxxxwwwwxxxxwwwwwxxwxxxxwxwwwxwxxxwwwwwxwwxwxwwwxwxxxwxwxwwxxxwwxxxxxxxxxwxxxxxxxwwwwwwxwxxxwwxxxwxxwxxxxxxwxwwwxxwxwxwxwxwxxxxwwwwxxxwxxxxxxxwxxwxxwxxxxxxxxwxwxxwxxwxwwxwxwxxwwwwxwxwwxwwxwxwwwxxwxxwxxwxxxxwxxxxwwwxxwwwxxwxwwxxxwwwxxwwxxxxxxwwwwxwwxwwwxxwxxwxwxxxxxwxwxwxwwxxwwwwxwxxwxwxxxwxxxwxxwxxwxxxwwxwwxxxxwxxxxxxwwxxwxwwwwxwxxxwxxwxxxxwwwwxxwwwwwxxwxxwwwwwwxwwxwwxxxxxwwwxxwxxxxxxxwwxwxwxwxwxwxxwxwxwwwxxxwxxwwwwwwwxxxwxwwxxwxxwxxxxxwxwxwwxxxxxxxxxwxwxxxxxxwxwxxwxxwwwxxxxxxxxxxwwxwwxxxxxxwwwwxwxwxwwwwwwxwxwwwwxwwxxxxxxxwxwwwwxxwxwwwwwxwxxwwwxxwwxwwwwxxwwxxwxxxxxwwwwxwwxwxwxwxwxxwwxwxxwxwwxxwxwxwwxwxxwxxwxxwxwxxxxwxxwxxwxxxxwxwxxxwxxwwxwxxxxwxwwxxwwxwwxxwwwwwwxwwxxxwxwxwxxxwxwxxxxxwwxxxxxwwwwxxwxxxwxxxxxwwxxxwwwwxwxxxxxxwwxwxxwwxwxwxxxwxwxwxwwxwwxwxxxxwxxxxxwxwxwxxxxwwxwwxxxxxwwxwxxwwwxxwxxxxxxxxxwwxxxxxxxxxxxxwxxxxxxwwwxxxwxwxxwxwwxwxxwwwwwxwwxxwwwwxxxxwxwxxwwxxxxxxwxxwxwwxxwxwwwwwxwxwwxxxwwxxxwxwwxxxwxwwwwxxwwwwxxxxwxwwwxxwxxwxxwwwwwxxxwxwwwwxxxwwxwxxxwxxxxwwxwxwxxxxwxwxwwxxxwxwxwxwwxwxwwwxxwxwxwwxwxxxwwwwwxxxwxxxwxxwwwwwxxxwxwwwxxwwwxxxwxxxwxxwxwxwwxxwxwwxxxwxxxxwwxxwwxwwwxxxxxwxxxwwxxxwxxwwxwwwwxxwxxxxxwxwwwwwxxxwwwxwwwxxxwwwwwxxxxxxwwwwwwwwwwwwxxxxxwxxxwxxxwxxwxxxxxwwwxwwwxwwxwwxxxwxxwwwxxwwxwxxxwwxwxxwwxwwxxxxwwxxwxwxxwxxxwniiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiijqwxwxxxwxxxxxxwxwwxxxxwwxxxwxxwwxxxwxwxwxxxwxxwxwwwxxxxxxwxxxxxxxwxwwxwxwwxwxwwwwwwxwwwwwxwwxwwxxwwwxwwwxxwwxxwxxxxxxxxxxwwwxwwwxxxwwwxxxwxxxwwxwxxwwxxwwxwxxxwxwwwwxvsnkihhiiiiiiiiiiiiiiiiiiiiiihijkqvwxxxwwwxwxxwxwwxwxtjiiiiiiijpwxwxxwwxwwwxwxwwwxxwxxwxxxxxukiiiiiiiiiiimvwxwxwwxwxxwwxxwwwwxwwwwxxwxvmiiiiiiiipwxwwwwxxwwoiiiiiiiinvxwxxxxxwxwniiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiijvxwwxwxwwwxxwwwwwwwwxxwvsnkihiiiiiiiiiiiiiiiiiiiiiiihikotwxxxwxxwxxxxwwwwxwwxxwwxvjiiiiiiijqwwxwwxxxwxwxwxxxwxxxxxxxwwxwxwwxwwwwqjiiiiiiiktwwxxwxxxxwwwwwxxwxwxxwxwxxxwxxwwxwwxxxxxxxxwxxxxxwwwwwwwxxxxwwxwwwxxwwwxxxxxwwxwxwwxwwxwxxwwxxwxwwwwxwxxxxxwwxxwwxwxxwwwwwxwxwxxxxxwwxxwxxwwxxxwwxxwwwxwxwwxwwxxxxxwxwwwwwwwxwwwwwxwxwxwwxwwxxxwwxxwwwwxwwwxxwxwxxxwwxwxxwwxxxxxwwwxxxwwxwwxxxxxxxxwxxwxxwwwwxwxwxxxxwwwwxwxwwwwxxxxwwxwxwxxwxxxwxwxwwwxwwwxxxxxwwwwwxwxwxxwxwwwxxxxxwxwxwxwwwxwwwwxxwxwxwwxxwxwxxwwxxxwwxxxwwxwxwwwxxxwxwwwxxwwwwxwwxwwwxwxxxwwxxxxxxwwxxwwwxwwwxxxwxwxxwxxwwwxxxwxxxxwxwwxwwwwxwwxwwxwxxxxxxxxxxwwxwwwwxxxxwxxwwxxwwxxxwwwxwwxxwxxwxwxwwxwxxxwxwwwwwxxwwwxxwxwwwxwwxxwwxxwxwwwxxxxwxwwxwxxwwxwwwwxxxxxxwwxxwwwwxxxwwxxxwxxxwxxwwwxwwwxwxxxwxwwwwxxxwxxwwxwwxxwwxxxwwwwxxwxxwxwwxwxwwxwwwxwxxxwxwxxxwxwxxxxxwxxxwwxwxxwxwxxwxxxxxxwwxxxxwxxwxxxxxxwxxwxxwxxxxxxwxxxxxxwxxxxxxxwxxwxxxwwxxxxxxxxxwxxxxxwxxxxwxxxwxwxxwwxwxwxxxxwxwwxxxwwxxxxwxxwxxwwxxwxxxxxxxxxwxxxxxxxxxxwxxxxxxxxxwxxxxxxxwxxwxxxxxxxxxwwxxxxxxxxxxxxxxxxwxxxwxxxxxxxxxxxxxwxxxxxxxwxxxxxwxxxxxxxxxxxxwxxxxxxxxxxxxxwxwwxxxxwxxwxxxwxwxwxxxxwxxxxxxxxxwxxxwxxxxxxxxxxxxxxxxwxxwwxwwxwwwxxxxxxxxxwxxwxxxwxwxxwwxxxwxxxxxwxxxxwwwwxxxxxwxwxxxxwxxxwxxwxxxxxwxwxxxxxxwxxxxwwwxwwwxxwxxxxxxwxxxxxxxxxxxxxxxwxwwxxxxxxxxxwxxxxxwxwxwxwxxxwxxxxxxxxxxxxxxwxwxxwwwxxwxxwwxwxxwxxwxxxwxxxxxwxwxxxxxxxxwxwwxwwxxxxwxwxwxxxwxxxwxxxxxxwxwwwxxwxxxxxxxwxxwwxxxxwxxxxxxwxxxwwxxwxwwxxxwxwwxwxwxxxwxwwxxxwwxxxwxxxxwxxxwxxwxxxwxwxwwxwxxxxxxwwxxwniiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiijqwxxwwwxxxxxwxwwwxxxwxwwxwwwxwxwxwxwwwxwxwxxwwxxxxxxwxxxwxxwxxxwxwxwxwxxxxwxxxxxwwxxxwwwxxwwxwwwwwwxxwwxxxxxxxxwxxxwxxxxxxxxxwxxxxxxwxwxwwxxxxxwwxxxxxxwwwwxxxxxxxwwvokihiiiiiiiiiiiiiiiiiiiiiiiiiiiihjlrvxwxxxxxwwwxwxxxxwmiiiiiiiinwxxwxwwxwwwxwxwxxxxwxxwxwwwwrjiiiiiiiiiiijuwxxwxwxxxxwxxxxxxxwwxxxxxxxujiiiiiiijrwxwwxwwxxvoiiiiiiiinwxxwxxwwwxwniiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiijvxxwxxxxwwxxxwxxxxwxxwsnjihiiiiiiiiiiiiiiiiiiiiiiiiiiihikpvxxwxxwxwwwxwxwxwxwxxxxvjiiiiiiijqwxxxwxwwxxxxwxwwxxwxwxwxwxwxwxwwwwwwrjiiiiiiijtwxxwxxxxwwwxxwxwxwxwxxxwwxwxxxxxwwxxwwxwxxxxwxxwwxxxwwxxxwxxwwxwxxwxwxwxwwwwwxxwxxxxxxwxxxwxwxxwwxwxxwwxwwxxxxxxwxwwwwwxwxwwxxxwwxxwxwxxxxwxxwwxwwxxxxxxxxxxwwwxwxxwwwxxwxxxwxxxwxxwwxwwxxwxxwxwwxxxxwxxxxxxwxxxxwxxwxxxxwxwxxwxwxwxwwwwwxxwwwxwxxwwxwwxwxxxxwwwwxxwxxxxwwxwwxwxxwwxwxwxwwxwxxxwwxxwxxxxxwxxwwwxwwwwwwwxwxwxxxwwxxxxxxxxxxxxwwxxwxwxxwwxxwxwwxxxxxwxwwxwwxwxwwwwwwxwxwwxxwwxxwwxwwxxwwxwwxwwxxxwxwxxxwwwxxwwwxwxwwxwxxwxxxxwxwxwwxwwxwxwxxwxwxxwxxxxwwwxxwxxxwwxwxxxxxxxxxwwwxwxxxwwwwwxwxwwwwwxxwwxxwwxwwxxxxxxwxwxwxwwxwwxxwwxwwxxwwwwxxxwxxwxxxxxwwwxxwwxwxxwwxxxxxxwwxxwwxwwwxwxwwwxwwwwxwxxwxwwwwwwxxwxxxwxxxxxxwxxwwxwxxwwxxxwwxxwxwwwwxxwwxwxxxxxxxwwxxxxwwxxxxxxwwxwwxxxxxxxxxxwxxxwxxxxxxxwxxxxwxxxxxxxxxxxxxxxxwwxxwxxwxxxxxxwxxxxxxxwxxxxxxwwxxxxxxxxxxxxxxxwxxxxwxxxxxxxxwxxxxxxxxwxxwwxxxxxxxxxxxxwxxxwxxwxxxxxxxxxxxxxxxxxxxxxxxwxxxxxxwxxxxxxxxxxxxxxxxxxxxxxxxxxxwxxxxxxxxxwxxwxwxxxxxxxxxxxxxxxxxxxxxxxxxxxwxxxwxxxxxwxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxwxxxxxxwxxxxxxxxxxxxxxxxxxxxxxxwxxxxxxxxxxxxwwxxxwxxxxxwxxxxxxxxxxwxxxxxwwxxxxxxxxxxxxxxxwxxxxxxxxwxxxxxwxxwxxxxxxxxxxxxxxxxxxxxxxxxwxxxxxxxxxxxxwwxxxwxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxwxxxxxxxxxxxxxxxwxxxxwxwxxxxxxxxxxxwxxxxxxxxxxxxxxxwxxxxxxxxxwxxxxxxxxxxxxxxxxxxxxwxxxxxxxxwwxxxxxxxxxxxxxxxwxxxxxxxxxxxxxxxwxwxxxxxxxxxxxxxxxxxxxwxwxxxxxwxxxxxxxxxxxxwxxxxxxwxwxxwxxwxxxxxxwxxwniiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiijqwxxwxxxxxxxwxxxwxwxxxxwxxxxxxxxxwxxwxxxwxwxxxxxxxxxxxxxxxxxxxxxxxxwxxxxxxxxxxxxxxxxxwxxxxxwxwxxwxxxxxwxxwxxxxxxxxxxxxxxwxxxxwxxxxxxxxxxwxxxxxxxxxxxxxwxwwxxxxxxxwwtmiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihjouxxxxxxxxwxwxxxxwpiiiiiiiikvxxxxxxxxxxxxxwxxxwxxxxxxxxwpiiiiiiiiiiiijrwwwxxxxxxxxxxxxwxxxxxxxxxxwrjiiiiiiijuwxxxxxxxwwoiiiiiiiinwxxxxxxxxxwniiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiijvxxxxxxwxxxxxxxxxxxwvpkihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiijntwxwxxxxwxxxxxxwxxxxxxvjiiiiiiijqwxxxxxwxxxwxxxxxxxxxxxwwwxwxxxwxwwxwqjiiiiiiijtwwxxwxwwxwxwxwxwwxwwxxxxxwxxxxxxxxxxwwxxwwwxxxxwxxxxwwxxxwxxxwwxxxxxxxxxwwxxwxxwwxxxxxxwxxxxwxxxxxxxwxxxxxxxxxwwwxwwxwxxwxxwxxxxxxxxxwxxxxwwxxwxxxwxxxxxxxxxwxxxxwwxwxwwxxxxxwxxxxxxxxwxxxxxwxxxwxxxxxxxxwxxxxxxwxxxwxwxxxxxxwxwxwxxxwxxxxxwxwxxxxxxxxxxwxxxxxxxxxxxwxxxxwxwxxxxxwwxxxwxwxxxxxxxxxxwxwwxxxwxwxwxxwxxwwwwxxxxwxxxxxwxxwxxxxxxwxwxxxxxxwxxxwxxxxxxwxxxxxxxxxxxwwwxwxxwxxxxxxxwwxxxxxwwxwxwxxwxxxxxxxwxxxxxxxxwwwwxxxxwxwwxxxwxxxxxxxxxxxxwxxxwxxwxxxxxxxwxxwxwxxwxxwxxxxxxxxxwxxxxxxxxxxxxwxxxwxxxxwwxwxwwxxxxxxxxwxxxxxxwwxxxxxxxwxxxxwxwxxxwxxxxxxxxxxwxwwxxxxxxxxxxxwxxxxxwxxxxxxwxxxxxxxwwxwwxxwxxxwwxxwwxwxwxxwxxxxxwxwxwxxxwxxxxwwxxxwwxxwxxxwwxxxxwxwxwxwxxxwxxxxwwwwwxwxxxxxxxxxxxxxwxxxxxwxxwxxxxxxxxxxxxxxxxxxxxxxwxxxxxxxxxxxxxxwxxxwwwxxxxxxxwxxxxxxwxxxxxxxxxxxxxwxxxxxxxxxxxxxxxxxxxxxxxxxxxxwwxxxxwxxxwxxxxxwxwxxxxxxxxxxxxxxxxxxwxxxxxxxxxxxxxxxxxxxxxxxxxxwxxxwxxxwxxxxxxwxxwxxwxxxxwxxxxxxxwxxxxwxxxxxxxxxxxxxxwwwxwxxxxwxxxxxxxxxxxxxxxxxxxxxxxxwxxxxxxxxxxxxwxxxxxxxxxwxwxxxxxxxxxxxxxxxxxxxxxxxxxwwxxxwxxxxxxxwxxxxxxxxwxxxxxxxwxxxxxxxxxxxxxxxxxxxwxxxxxxwxxxxxxwwxwxxxxxxxxxxxxxxxxwxxxxxxxxxxxxxxxxwwxxxwxxxxxxxwxxxxxxxxxxwxxxxxxxxxxxxxxxxxxxxxxxxxxxxwxxxxxxxxxxxxxxwxxxxxxxxxxxxxxxxwxxwxxxxxxxxxxxxwxxxxwxxxxxxxwxxxxxxxxxxxxxxxxxxwxxxxxxxxxxxwxxwxxxxwxwxxxxxxxxxxxxxxxwxxxxxxxxxxxxxxxxxxxwxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxwxxxxxxxxxxxxwniiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiijqwxxwxxxxxxxwxxxxxxxxxxxxxxxxxxxxwxxxxxxxxwxxxxxxxxxxxxxxxxxwxxxxxwxxxxxxxxxxxxxxxxxwwxxxxxwxwxxxxxwxxxxxwxxxxxxxwxxxxxxxxxxxxxxxxxxxxxxxxxwwxwxxxxxxxwxxxxxxxxxxwsliiiiiiiiiiiiiihhhhhhhhhiiiiiiiiiiiiihimuxxxwxxxxxxxwxxwrjiiiiiiijtxxxwxxwxxxxxxwxxxwxxxxxxxxvmiiiiiiiiiiiiinwwxxxxxxxxxxxxxxxxxxxxxxxxwpiiiiiiiimvwxxxxxxwxwoiiiiiiiinwxxxxxxxxxwniiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiijvwxxxxxxxxxxxxxxxxwsmiiiiiiiiiiiiiiihhhhhhhhiihiiiiiiiiiiiilswxxxxxxxxxwxxxxxwxxxvjiiiiiiijqwxxxxwwxxxxxxxxxxxxxxxxxxxxxxwxxxwxwqjiiiiiiijtwxxxxxwxxwxwxxxwwxxxxxwxxxxxxxxxxxxxxxwxxxxxxxxxxxxxwxxxxxxxxxxxxxxxxwxxwxxxxxxxxxxxxxxxxxxxxwxxxxxxwxxxxxxxxxwxxxxxxxxxwxxxxxwxxxxxxwxxxxxwxxxxxxxxxxxxxxxxwxxxxwxxxxxxxxxxxxxxxxxxxxwxxxxxxxxxxxxxxxxxxxxxxxxxwxxxxxxwxxxxxxxxxxxxxxxxxxxwxxxxxxxxxxxxxxwxxxxxxxxxwxxxxxxxxxxxxxxxxxxxwxxxxxxxxxxwxxxxxxwxxxwxxxxxwwxxxxxwxxxxxxwxxxxxxxxxxxxxxxxxxwxxxxxxxxxxwxxxxxxxxxxxxwwxxxxxxxxxxxxwxxxxxxxxxwxxxxxxxwxxwxxxxxxxxxxwwxxxxxxwxwxxxxxxxxxxxxxxxxxxxxxxxxwxxxxwxxwxxxxxxxwxxwxxxxxxxxxxxxxxxxxxxxxxwxxxwxxxxxwxwxxwwxxxxwxwxxxwxxxxxxwxxxwxwxxwxwxxxxxxxwxwxxxwxxxxxxxxxxxxxxxxxxxxxwxwxxxxxxxxxxxxxxwxxxxxxwxxxwxxxwxxwwxxxxxwxxxxxxxwxxxxxwxxxxxxxxxxxxxwxwxxwxxxxxwxxxxxxwxxxxwxxxwxxxxxxwxxxxxxxxwxxxxxwxxwxxxxxxxwxxxwxxxxxxxxxxxxwxwxxxxxxxxxxwxxxwxxxxxxxxxwxxxxxxxxxxxxxxxxxwxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxwxxxxxxwxxxxxxxwwxxxxxxxxxxxxxxxxxxxxxxxxxxxxwxwxxxxxxxxxxxxxxxxwxxxxxxxwxxxxxxxxxxxxwxxxxxxxxxxxxxxxxxwxxxxxxxxxxxxxxwwxxxxxxxxxxxxwxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxwxwxxxxxxxxxxxxxxxxxxxxxxxxxxxxwxxxxxxxxwwxxxxxxxxwxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxwxwxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxwxxxxwwxxxxxwxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxwxxxxxxxxxxxxxwxwxxxxxxxxxxxxxxxxxwxxxwxxxxxxxxxxxxxxxxxxwxxxxxxxwxxxxwxxxxxxxxxwxxxxwxxxxxxxxxxxxxxxxxxxwxxxxxxxxxxxxxwxwxxxxxxxxxxxxxxxxxxxwxxxxxxxxxxxxxxxxxxxxxxxxxxxwniiiiiiiiihhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhipwxxwxwxxxxxwxxxxxxxxxxxxxxxxxxxxwxxxxwxxxxxxxxxxxxxxxxxxxxwxxxxxxwxxxxxxxwxwxxxxxxxxxxxxxxxxxxxxxxxxxxxxwxxxxwxxwxxxxxwxxxxxxxxxxxxxxxxxwxxwxwwxxxxxxwxxxwxxxxxwsliiiiiiiiiihhiijjkkkkkkjjjjihhiiiiiiiiiiimuxxxxxxxxxxxxxwukiiiiiiiiqwxxxxxwwxxxxxxwxxxxxxxxxxwtjiiiiiiiiiiiiikvxxxxxxxwxxxxxxxxxxxxxxxxxwmiiiiiiijqwxxxxxxwxxwoiiiiiiiinwxxxxxxxxxwmihhhhhhhhhhhhhhhhhhhhhhiiiiiiiiiihhhhhhhhhhhhhhhhhhhhhhjvxxxxxxxxxxxxxxxxwrkiiiiiiiiiiiihhijjkjkkkkjjjihiiiiiiiiiiiikrwxxxxxxxxxxxxxwxxxxvjiiiiiiijqwxxxxxxxxwxwxxxxxxxxxwxxxxxxxxxxxwxwrjiiiiiiijuxwxxxwwxxxxxxxxxwxxxxxxxxxxwxxwxwxxxxxwxxxxxxxxxxxwxwxxxxxxxxxxxwxxxwxwxwxxxxxxxxxxxxxxxxxxxxwxxxxxxxxwxxwxxxxxxxwxxxxxxwxxxxxxxxwxxxxwxxxxxxxxxxxxwxxxxxxxxxxxxxxxwxxxxxxxxxxwxxxxxxxwxxwxxxxxxxxxxxxxwxxxxxxxwwxxwxxxxxxxxxxwxxxxxxxxxxxxxxxwxxxwxxwxxxxxxxxxxxxxxwxxxxxxxxxxxwxxxxxxxwxxxxxxxxxxxxxxxxxxxxxxxxxxxwwxxxxxwxxxxxwwxxxxxxxxxxxxxxxxxxxxxxxxxwxxxxxxxxxxwxxxxxwxxxxxxxxxxxxwxxxxxxxxxxxxxxxxxxxxxwxxwxwwxxxxxwxxwxxxwxwxxxxxwxxwxxxxxxxxxxxxxxxxxxxxwxxwxxxxxxxxxxwxxxxxxxxxxxxxwxxxxxxxxwxxxxxxxxxwxxxxwxxxxxwxxxxxwxxxxxxxxxxxxxxxxxxxxxxxxxxxxxwxxxxxxxxxxxxxxxxxxxxwwxxwwxxxxxxxxxxxxxxxxxxxxwxxxxxxxxxxxwxxxxxxwwxxxxxxwxxxxxwxxxxxxwxxxxxxxxxxxwxxxxxxxxxxxxxwxxwxxxxxxxxxxxwxxxxxxxxxxxxxxxxxwxxxxxxxxxxxwxxxxxxwxwxxxxxwwxxxxxxxxxxxxxxxxxxxxxxxwxxxxwxxxxxxxxxxxxwxxxxxxwxwxxxxwxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxwxxxxxxxxxwxxxxxxxxxxxxxxwxxxxxwxxxxxxxwxxxxxxxxwxxxxwxxwxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxwxxxxxxxxxxxxxxwxxxxxxxwxxwxxxxwxxxxxxxwxxxxxxxxxxxxxxxxxxxxxxxxwxxwwxxxwxwxxxxxxxxxxxxxxxxxxxxxxxxxxxwwxxxxwxxxxxxxxxxxxxwxxxxxwxxxxxxxxwxxxxxxxxxxxxxxxxxxxxxxxxxxxwxxxxxxxwxwxxwxxxxxxxxxxxxxxxxxwxxxxxxxxxxxxwxxwxwxxxxxwxxwxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxwxxwxwwxxxxxxxxxxxxxxxxxxxxxwxxxxxxwxxxxxxxxxwxxxxwxxwxxxxwxxxxxxxxxxxxwxwxxxxwxxxxxxwxxxxxxxxxxxxwxxxxxxxxxxxxxwxwxxwxxxwxxxxxxxxxxxxwxxxxxxxxwxxxxxxxxxxxxxxxxxxwniiiiiiiijkkjjjjjjjjkjkjkkjjkjkkkkkjjkjjjjkkkjjlrwxxwxxxxxxxxxxxxxxxxxwxxxxxxxxxxwwwxxwxxxxxxxxxxxxxxxxxxxxwxxxxxxwxxxxxwxwxwxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxwxxxxxxxxxxxxxxxxxxxxxxxxxxxxxwxwxxxxxxxxxxxxxxxxxuliiiiiiiiihijkmpqtvvvvvvvuqqokjihiiiiiiiiiinvxxxxxxxxxxxxxvmiiiiiiiinwxxxxxxxxxxxxxxxxxxxxxxxxwqjiiiiiiiiiiiiijtwwxxxxxwxxxxxxxxxxwwxxxxxukiiiiiiijtxxxxxxxxxxwoiiiiiiiinwxxxxxxxxxwokkkkkkkjjkkkjjjkjkkkkkjiiiiiiiiijkjkkkjjkkkkkkkkkkkkkkklwxxxxxxxxxxxxxxwvqjiiiiiiiiiiiijkkpqruvvvvvuqpnkjihiiiiiiiiiikswxxwxxwxxxxxxwxxxxvjiiiiiiijqwxxxwxxxxxxxxxxxxxwxxwxxxxxxxxxxxwxwrjiiiiiiijuwxxxxxwxxxxxxxxxwxxxxxxxxxxwxxxxxxxxxxxwxxxxxxxxxwwxxxxxwxxxxxxxxxxxxxwxwxxwxxxxwxxxxxxxxxxwxxxxxxxxxxwxxxxxxxxxxxxxxxxxxxxxwxxxxxxxxxxxxxxxxxxxxxxwxxxxwxxxxxxxxxxxxxxxxxxxxxwxxxxxxxxxxxxwxxxxxxxxwxxxxxxxxxwwxwxxxxxxwxxxxxxxxxxwxxxwxxxxxwxxxxwxxxxxxxxxxxxxxxxxxxxxxxxwxxxwxxxxxxxxwxxxxxxxxxxxxxxxxxxxxxxxxxxxwxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxwxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxwwxxwxxxxxxxwxxxxxxxxxwxxxxxxxxxxxxxwxxwxxxxxxxxxxxxxxxxxwxxxxxxwwxxxxxxxxxwxxxxxxxxxxxxxxxwxxwxxxxxwxxxxxxxxxxxxxxxxxxxxxxxwxxxxxwxxxxxxxwxxxxxxxxwxxxwwxxxxxxxxxxxwxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxwxxxxxwxxxxxxxxxxxxxxxxxxxxxwxxxxxxxxxxxwxwxxxxxxxxxxxwxwxxxxxxxxxxxxxxxwxxxxxxxxxxxwxxxxxxxxxxxxxxwwxxxxxxxxwxxxxxxxxxxxxxxxxxwxxxxxxxxxxxxxxwxxxxxxxxxxxxxxxxxxxxxwxxxxxxxxxxxxxxxxxxxxxxxxxwxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxwxxxxxxxxxxxxxxxxwxxxxxxxxxxwxxxxxxxxxxxwxxxxxxxxxxxxxxxwxwxxxwxxxxxxxxxxxxxxxxxxxwxxxxxxxwxxxxxxxxxxxxxxxxxxxxxxxxxxwxxwxxxxxxxxxwxxxxxxxxxxxxxxxxxxxxxxxxxxxxwxxxxxxxxxxxxxxxxxxxxxxxxwxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxwxxxwxxxwxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxwxxxxwxxwxxxxxxxxxxwxxxxxxxxxxxxwxxxxxxxxxxxxxxxxxxxxxxxwxxxxxxxxxxxxxxxxxxxxxwxxxxxxxxxwxxxxxxxxxxxxxxxxxxwxxxxxxxxxxxxxxxxwxxwxxwxxxwxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxwwxxxxxxxxxxxxxxxwxxwxxxxxxxxxxxxxxxxxxxxxxxxxwxxxxxxxxxxxxxxxxxxwniiiiiiiinuvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvwxxxxxxxxxxxxxxxxxxxxxwxxxxxxxxxxxwxxxxxxxxxxxxxxxxxxxwxxxxwxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxwxwxxxxxxxxxxxxxxxxwojiiiiiiiiijmqvwwwxxxxxxxxxwwwusokihiiiiiiiijpwxxxxxxwxxxxxwpiiiiiiiikvxxxxxxxxxxwxxxxxwxxxxxxxvniiiiiiiiiiiiiijqwxxxwxxwxxxxxxxxxxxxwxxxxrjiiiiiiilvxxxxxxxxxxwoiiiiiiiimwxxxxxxxxxxwvvvvvvvvvvvvvvvvvvuvvvsjiiiiiiijpuvvvvvvvvvvvvvvvvvvvvvvxxxxxxxxxxxxxxxwqjiiiiiiiiiiijlquvwwwxxxxxxxwwwurmjiiiiiiiiiiilsxxwxxxxxxxwxxxxxxvjiiiiiiijqwxxxwxxxxxxxxxxxxxxxxwxxxxxxxxxxwwxwrjiiiiiiijuwxxxxxxxxwxxxxxxwxxxxxxxxxxxxxxxxxxxxxxwxxxxxxxxxwxxxxxxwxxxxxxxxxxxxwxxxxxwxxxxxxxxxxxxxxxwxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxwxxxxxxxxxxxxxxxxxxxxxxxxxxxwxxxwxxxxxxxxwxxxxxwxxxxxxxxxxxxxxxxxwxxwxwxwxxxxxxwxxxxxxxxxxwxwxwxxxxxxxxwxwxwxxxxxwxxxxxxxxxxxxxwxxxwxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxwxxxxxxxxxxxwxxxxxxxxxxxxxxxxwxwxxxxwxwxxxxxxxxxxxxxxxxxwxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxwxwwxxxxxwxwxwxxxxxxxxxxxxxxxxxxxxxxxwwxxxxxxxxxxxxxxxxxwxxxxxxwwxxxxxwxxxxxxxxxxxxxxxwxxxwxxwxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxwxxxxxxxwxxxxxxxxxxxxxxxxxxxxxxxxxwxxxxxxxxxwxwxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxwxxxxxxxxxxxxxxxxxwxxxxxxxxwxxxxxxxxxxxxxxxxwxwxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxwxwxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxwxxxxxxxxxxxxxxxxxxxxxxxxxxxxwxxxxxxxxxxxxxxxxxxxxxxxwxxxxxwxxxxxxwxxxxxxxxxxxxxwxxwxxxxxxxxxxxxxxxxxxxxxxxwxxxxxxxxxxxxxxxxxxxxxxxxxxxxwxxxxxxxxxxxxwxxxxxxxxxxxxxxxxxxxxxxwxxwxxwxxxxxwxxxxxwxxxxxxxxxxxxwxxxxxxxxxxxxxwxxxxxxxxxxxxxxxxxxxxxxxxxxwxxxxxxxxxxxxxxwxxxwxxxxxxxxxxxxxxxwxxxxxwxxxxxxxxxxxxwxxxxxwxxxxxxwxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxwxxxxxxxxxwxxxxxxxxxxxxxxxxxxwxxxxxxwxxxxxxxxxwxxxxxxxxxxxxxxxxxxxxxwxxxxxxxxxxxwxxxxxxxxxxxwxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxwniiiiiiiiowxxxxyxxxxxxxxxxyxxxxxxxxyxyxxxxxxxxyxxxxxxxxxxxxxxxxwxxxxxxwxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxwxxxxxxwxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxwxxxxxxxxxxxxxxxxxwxxxxxxxxxxxxxxxxxxxxxxxxxwxxxxxxxxxxxxxxxwsjiiiiiiiiilrvwxxxxxxxxxxxxxxyxxxwtnjiiiiiiiiijtwxxxxxxxxxxxxsjiiiiiiijuxxxxxxxxxxxxxxxxxxxwxxwxvkiiiiiijmiiiiiiimvxxxxxxxxxxxxxxxxxxxxxxxwpiiiiiiiinvxxwxwxxxxxwoiiiiiiiinwxxxxxxxxxxxxxxxxxxxxyxxxxxxxxxxxxujiiiiiiijqxxxxxxxxxxxxxxxyxxxyxxxxxxxxxxxxxxxxxwqkiiiiiiiiiijmqvwxxxxxwxxxxxxxxxxwvrliiiiiiiiiiiluxxxxxxwxxxxxxxxxwjiiiiiiijqwxxxxxxxxxxxxxxxxxxxwxxxxxxxxxxxxwxwrjiiiiiiijtwxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxwxxxxxxxxxxxxxxxwwxxxxxxxxxxxxxxxxxxwxxxxxxxwxxxxxxxxwxxxxxxxxxxxxxxxxxxxxxxxwxxxxwxwwxwxxxxxxxxwxxwxxxxxxxxxxxxxwxxxxxxxxxwxxxxxxxxxwxxxxxxxxxxxxxxxxwxxxxwxxxxxxxxwxxxxxxxxxxxxxxxxxxxxxxxxxxxwxxxxxxxxxwxxxxxxxxxxxxxxxxxwxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxwxxxxxxxxxxxxxxxxwxxxwxxxxxxxwxxxxxxxxxxxxxxxxxxxxxxxxxxwxxxxxxxxxxxxxxxxxxxxxxxxxxwxxxxxxxwxxxxxxxxxxxxxxxxwxxwxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxwwxxxxxxxxxxxxxxxxwxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxwxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxwxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxwxxxxxwwxxxwxxxxxxxxxxxxxxxxxxxxxxwxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxwxxxxxxxxxxwxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxwwxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxwxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxwxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxwxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxwxxxxxxxxxxwxxxwxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxwxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxwniiiiiiiiowxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxwxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxwxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxwxxxxxxxxxxvniiiiiiiiimtwxxxwxxxxxxxxxxxxxxxxxxvqkiiiiiiiiinvxxxxxxxxxwxxujiiiiiiijswxxxxxxxxxxxxxxxxxxwxxwwsjiiiiiinpjiiiiiikuxxxxwxxxxxxxxxxxxxxxxxxvmiiiiiiijqwxxxxwxxxxxwoiiiiiiiinwxxxxxxxxxxxxxxwxxxxxxxxxxxwxxxxxxtjiiiiiiijqwwxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxwxxxxrkiiiiiiiiiikqvwxxxxxxxxxxxwxxxxxxxxwuojiiiiiiiiiiowxxxxxxxxxxxxxxxwjiiiiiiijqwxxxxxxxwxxwxxxxxxxxxxxxxxxwxxxxxxxwrjiiiiiiijtxxxxxxxxxxxxxxxxxxxxxxxxxxxwxxxxxxxxxxxwxxxxxwxxxxxxxxxwxxxxxxxxxxxxxxxxxxxxxxxxxxwwxxwxxxxxwxxxxxxxxxxwxxxxxwxxxxxxxxxxxxwwxxxxxxxxxxxwxxxxxxxxxxxxxxxwxxxxxxxxxxxxxxxxxxxxxxxxxxxxxwxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxwwxxxxxxxxxxxxxxwxxxxxxxxxxxxwxxxxxxxxxxxxxxxwxxxxxxxxxxxxxxxxxxwxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxwxxxxxxxxxxwxxxxxxxxxxxxxxxxxxxxxxxxxxxwxwxxxxxwxxxxxxxxxxxxwxxxwxxxxxxxxwwxxxxxxxxxxxxxxxxwxxwwxxxxxxxxxxxxxxxxxxxxxxxxxxxwxxxxxxwxxxxxxxxxxxxxxxwxxxxxxxxxxxxxxxwxxxxxxxwxxxxxxxxxxxxxwxxwxxxxxxwxxxxxxxxwxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxwxxxxxxxxxxxxxxxxwxxxxwxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxwxxxxxxwxwxxxxxwxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxwxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxwxxxxxxxxxxxxxxxxxxxxxxxxxxxxxwxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxwxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxwxxxxxxxxxxxxxwxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxwxxxxxxxxxxxxxxxxxxxxxxxxxwxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxwxxxwxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxwxxxxxxxxxxxxxxxwxxxxxxxxxwxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxwwxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxwniiiiiiiiowxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxwxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxsjiiiiiiiimuxxxxxxxxxxxxxxxxxxxxxxxxxwqjiiiiiiiijsxxxxxxxxxxxxwmiiiiiiiipwxxxxwxxxxxxxxxxxxxxxxxwpiiiiiijqtkiiiiiijsxxxxwxxxxxxxxxxxxxxxxxwujiiiiiiijuxxxxxxxxxxxwoiiiiiiiinwxxxxxxxxxxxxxxwxxxxxxxxxxxxxxxxxxujiiiiiiijqwxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxtliiiiiiiiiilswxxxxxxxxxxxxxxxxxxxxxxxxvqkiiiiiiiiijrwxxxxxxxxxxxxxxvjiiiiiiijqwxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxwrjiiiiiiijuxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxwxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxwxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxwxxxxxxxxxxxxxxxxxxxxxxxxxxxxwxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxwxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxwxxxxxxxxxxxxxxxxxxxxxxxxwxxxxxxxxxxxwxxxxxxxxxxxxxxxwxxxxxxxxxxxxxxxxxxxxxxwxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxwxxxwxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxwxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxwxxxxxxxwxxxxxxxxxxxxxxxxxxwxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxwxxxxxxxxxxxxxxxxxxxxxxxxxxxxwxxxxxxxxxxwxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxwxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxwxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxwxxxxxxxxxxxxxxxxxxxxwniiiiiiiiowxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxvniiiiiiiiktxxxxxxxxxxxxxxxxxxxxxxxxxxxwpjiiiiiiiinwxxxxxxxxxxxwqjiiiiiiimwxxxxxxxxxxxxxxxxxxxxxxwmiiiiiijtwmiiiiiiipwxxxxxxxxxxxxxxxxxxxxxwrjiiiiiiimwxxxxxxxxxxxwoiiiiiiiinwxxxxxxxxxxxxxxxxxxxxxxxxxxwxxxxxxujiiiiiiijqwxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxvniiiiiiiiiimtxxxxxxxxxxxxxxxxxxxxxxxxxxxwqjiiiiiiiiilvxxxxxxxxxxxxxxvjiiiiiiijqwxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxwrjiiiiiiijuxxxxxxxxxxxwxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxwxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxwxxxxxxxxxxxxxxxxxxxxxwxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxwxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxwxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxwxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxwxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxwxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxwxxxxxxxxxxxxxxxxxxxxwxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxwxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxwxxxxxxxxxxxxxxxxxxxxxxwniiiiiiiiowxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxukiiiiiiijqwxxxxxxxxxxxxxxxxxxxxxxxxxxxyvmiiiiiiiijuxxxxxxxxxxxxtjiiiiiiijuxxxxxxxxxxxxxxxxxxxxxxujiiiiiilvwpiiiiiiilvxxxxxxxxxxxxxxxxxxxxxwpiiiiiiiipwxxxxxxxxxxxwoiiiiiiiinwxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxujiiiiiiijqwxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxwrjiiiiiiiiimuxxxxxxxxxxxxxxxxxxxxxxxxxxxxxvpjiiiiiiiiiqwxxxxxxxxxxxxxvjiiiiiiijqwxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxwrjiiiiiiijuxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxwxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxwxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxwxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxwxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxwniiiiiiiiowxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxrjiiiiiiikuxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxsjiiiiiiijqwxxxxxxxxxxxvliiiiiiijsxxxxxxxxxxxxxxxxxxxxxwrjiiiiiinwwrjiiiiiijtxxxxxxxxxxxxxxxxxxxxxwmiiiiiiijsxxxxxxxxxxxxwoiiiiiiiinwxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxujiiiiiiijqwxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxuliiiiiiiiiltxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxvmiiiiiiiiikuxxxxxxxxxxxxxvjiiiiiiijqwxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxwrjiiiiiiijtxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxwxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxwniiiiiiiiowxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxwxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxwqjiiiiiiinwxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxvliiiiiiijnwxxxxxxxxxxxwniiiiiiijqwxxxxxxxxxxxxxxxxxxxxwniiiiiijqxxvkiiiiiijqxxxxxxxxxxxxxxxxxxxxxujiiiiiiijuxxxxxxxxxxxxwoiiiiiiiinwxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxujiiiiiiijqwxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxpiiiiiiiiijsxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxskiiiiiiiijpwxxxxxxxxxxxxvjiiiiiiijqwxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxwrjiiiiiiijtxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxwniiiiiiiipwxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxwoiiiiiiijqwxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxwpjiiiiiiilwxxxxxxxxxxxxqjiiiiiiinwxxxxxxxxxxxxxxxxxxxxvliiiiiijtxxwniiiiiiinvxxxxxxxxxxxxxxxxxxxxsjiiiiiiimwxxxxxxxxxxxxwoiiiiiiiinwxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxtjiiiiiiijqwxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxukiiiiiiiijqwxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxwoiiiiiiiiilvxxxxxxxxxxxxvjiiiiiiijqwxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxwrjiiiiiiijuxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxwxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxwxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxwniiiiiiiiowxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxyyyxxxyxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxyxyyxxxyxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxyxxxyyyyyyyxxxxxxxxxxxxxxxxxxxxxxxxxxxxxwniiiiiiijrwxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxtjiiiiiiijvxxxxxxxxxxxxtjiiiiiiikvxxxxxxxxxxxxxxxxxxxxtjiiiiiikvxxwqjiiiiiiluxxxxxxxxxxxxxxxxxxxwpiiiiiiijqwxxxxxxxxxxxxwpiiiiiiiinwxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxtjiiiiiiijqwxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxwqiiiiiiiiilvxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxukiiiiiiiijsxxxxxxxxxxxxvjiiiiiiijqxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxwrjiiiiiiijuxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxyyyxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxyxxxxxxxxxxxxxxxxxxxxxxxxxxxxxyyxxxyxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxyxyyyyxxxxxxxxxxxxxxxxxxxxxxxxxyxyyxyxxxxxxxxxxxxxxxxxxxxxxxxxxyxyxyyxxxyyyxyyyxxxxxxxxxxxxxxxxxxxxxxxxxxyxyyyxxxxxxxxxxxxxxxxxxxxxxxxxyyxyyxxyxxxyxyyxxxxxxxxxxxxxxxxxxxxxxxxyxyyyyyyxxxxxxxxxxxxxxxxxxxxxxxxxxyxyxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxwmiiiiiiiiowxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxyyxxyyxxxxxxxxxxvvvvvwwxxxxxxxxxxxxxxxxxxxxxxxxxwwvvvvvvvwwwxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxwwvvvvvvvwwwxxxxxxxxxxxxxxxxxxxxxxxxxxxxwmiiiiiiijrwxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxwkhhhhhhhjsxxxxxxxxxxxxvkiiiiiiijtxxxxxxxxxxxxxxxxxxxwpjiiiiiinwxxxtjiiiiiijsxxxxxxxxxxxxxxxxxxxwmiiiiiiijtxxxxxxxxxxxxxwoiiiiiiiinwxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxtjiiiiiiijqwxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxvliiiiiiiijqxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxwoiiiiiiiiiowxxxxxxxxxxxwjiiiiiiijqxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxrjiiiiiiijuxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxyxwwvvvvvvvwwwxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxyxxyxyxxxxxyxwwvvvvvwxyxxxxxxxxxxxxxxxxxxxxxwwvvvvvvwwxxxxxxxxxxxyxyxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxvvvvvvvvvwxxxxxxxxxxxxxxxxxxxxxxwvvvvvwvxxxxxxxxxxxxxxxxxxxxxxxwvvvvvvvwvvvvvvvvvwxxxxxxxxxxxxxxxxxxxxxxwvvvvvvwxxxxxxxxxxxxxxxxxxxxxxxwvvvvvvvwwvvvvvvvvwxxxxxxxxxxxxxxxxxxxxxxwvvvvvvwxxxxxxxxxxxxxxxxxxxxxxxwvvvvvvvwxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxwniiiiiiiiowxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxwvvvvvvvwxxxxxwtqmkkkknqsvwxxxxxxxxxxxxxxxxxxxwvsqpkkkkkkkmpqtvwxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxwwvrqpkkkkkkknqqtvwxxxxxxxxxxxxxxxxxxxxxxxxxwmiiiiiiijqwxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxwnkkkkkkklsxxxxxxxxxxxxwniiiiiiijqwxxxxxxxxxxxxxxxxxxwmiiiiiijqwxxxvliiiiiiipwxxxxxxxxxxxxxxxxxxwkiiiiiiikwxxxxxxxxxxxxxwoiiiiiiiimwxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxujiiiiiiijqwxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxrjiiiiiiiilvxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxtjiihhhijkmwxxxxxxxxxxxwjiiiiiiijqwxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxrjiiiiiiijuxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxwwvrqokkkkkkknqqtvwxxxxxxxxxxxxxxxxxxxxxxxxxwvvvvvvvwxxxxxvtqmkkkknqsvwxxxxxxxxxxxxxxxxxwvtqplkkkkklprvwxyxxxxxxvvvvvvvwxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxwokkkkkkklsxxxxxxxxxxxxxxxxxxxxywnkkkkkklvxxxxxxxxxxxxxxxxxxxxxwnkkkkkkkpnkkkkkkklsxxxxxxxxxxxxxxxxxxxxxwnkkkkkklvxxxxxxxxxxxxxxxxxxxxxwnkkkkkkkpnkkkkkkklsxxxxxxxxxxxxxxxxxxxxxwnkkkkkjlvxxxxxxxxxxxxxxxxxxxxxwnkkkkkkkqwxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxwniiiiiiiiowxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxwpkkkkkklrxxxwtnkiihhhhijjkquwxxxxxxxxxxxxyxwvrnkjjjhhhhhhhijjkkqtwxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxwvrnkjjjhhhhhhhijjkkqtwxxxxxxxxxxxxxxxxxxxxxxxwniiiiiiiinwxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxwvvvvvvvvwxxxxxxxxxxxxwqjiiiiiiinwxxxxxxxxxxxxxxxxxxukiiiiiikuxxxxwoiiiiiiimwxxxxxxxxxxxxxxxxxxtjiiiiiiinwxxxxxxxxxxxxxwoiiiiiiiinwxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxtjiiiiiiijqwxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxwniiiiiiiiiqxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxwmijjklprvvxxxxxxxxxxxxwjiiiiiiijqwxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxwrjiiiiiiijuxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxyxwuqnkjjihhhhhhhijjkkptwxxxxxxxxxxxxxxxxxxxxxxwplkkkkklrwxxxunkiihhhhijjkquwxxxxxxxxxxxxxwuqkjjiihhhhhiijknsvxxxxxuljkkkkknwxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxwqihhhhhhiowxxxxxxxxxxxxxxxxxxxxvjhhhhhhjsxxxxxxxxxxxxxxxxxxxxxtjhhhhhhirpihhhhhhiowxxxxxxxxxxxxxxxxxxxxujhhhhhhjsxxxxxxxxxxxxxxxxxxxxxtjhhhhhhirpihhhhhhiowxxxxxxxxxxxxxxxxxxxxujhhhhhhjrxxxxxxxxxxxxxxxxxxxxxtjhhhhhhirxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxwniiiiiiiiowxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxwoihhhhhiqxxxskihhiiiiiiihhiksxxxxxxxxxxxxxvqljihhiiiiiiiiiiiihhiknswxxxxxxxxxxxxxxxxxxxxxxxxxxxyxvqljihiiiiiiiiiiiiihhiknswxxxxxxxxxxxxxxxxxxxxxwpiiiiiiiikuyxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxyxxyyyxxxxxxxxxxxxxxxujiiiiiiilvxxxxxxxxxxxxxxxxxxsjiiiiiimwxxxxwsjiiiiiikuxxxxxxxxxxxxxxxxxwqjiiiiiijqxxxxxxxxxxxxxxwojiiiiiiinwxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxtjiiiiiiijqxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxukiiiiiiiikvxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxwqmqrvvwxyyxxxxxxxxxxxywjiiiiiiijqwxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxwrjiiiiiiijuxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxwupkiihhiiiiiiiiiiiihhiknswxxxxxxxxxxxxxxxxxxxxwoihhhhhiqwxwskihhiiiiiiihhikrxxxxxxxxxxxwuokjhhiiiiiiiiiihhijnswxxxujhhhhhhlwxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxyxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxyxxxxxxxxxxxxxxxxxxxxxxxxxxxxyxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxtjiiiiiiilwxxxxxxxxxxxxxxxxxxxxqjiiiiiiiowxxxxxxxxxxxxxxxxxxxwqiiiiiiilvtjiiiiiiilwxxxxxxxxxxxxxxxxxxxxqjiiiiiiiowxxxxxxxxxxxxxxxxxxxxqiiiiiiilvtjiiiiiiilwxxxxxxxxxxxxxxxxxxxxqjiiiiiiiowxxxxxxxxxxxxxxxxxxxwqiiiiiiilvxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxwniiiiiiijowxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxwojiiiiijqwxskiiiiiiiiiiiiiijtxxxxxxxxxxxwsmjhiiiiiiiiiiiiiiiiiihhikpuxxxxxxxxxxxxxxxxxxxxxxxxxxwsmjhiiiiiiiiiiiiiiiiiihhijpvxxxxxxxxxxxxxxxxxxxxxqjiiiiiiiipwxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxwmiiiiiiikvxxxxxxxxxxxxxxxxxwpiiiiiijpwxxxxxukiiiiiijqwxxxxxxxxxxxxxxxxwnjiiiiiikuxxxxxxxxxxxxxxwpjiiiiiiimwxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxujiiiiiiijqxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxrjiiiiiiiinwxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxwwwxyxyxxxxxxxxxxxxxxywjiiiiiiijqwxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxwqjiiiiiiijuxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxvpkihhiiiiiiiiiiiiiiiiihhijouxyxxxxxxxxxxxxxxxxxwoiiiiiijqwxskhiiiiiiiiiiiiijsxxxxxxxxxxwrkihhiiiiiiiiiiiiiiihikqvxxujiiiiiilwxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxyxxxxxxyxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxyxxxxxxxxyxxyxxxxxxxxxxyxxxxxxxxxxxxxxxyxyxxxxxxxxxxxxxxxxxxxxxxxxxyxxxxxxxxxxxxxxxxxxxxxxxxyxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxwliiiiiiijtxxxxxxxxxxxxxxxxxxxwniiiiiiiilwxxxxxxxxxxxxxxxxxxxwmiiiiiiiowwliiiiiiijtxxxxxxxxxxxxxxxxxxxwniiiiiiiilwxxxxxxxxxxxxxxxxxxxwmiiiiiiiowwmiiiiiiijtxxxxxxxxxxxxxxxxxxxwniiiiiiiilwxxxxxxxxxxxxxxxxxxxwmiiiiiiiowxxxxxxxxxxxxxxxxxxxxxxxxxxxxyxxxxxxwmiiiiiiijpwxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxwpjiiiiijqwtkiiiiiiiiiiiiiiilwxxxxxxxxxxvpjiiiiiiiiiiiiiiiiiiiiiiiihimtwxxxxxxxxxxxxxxxxxxxxxxxvpjiiiiiiiiiiiiiiiiiiiiiiiihimtxxxxxxxxxxxxxxxxxyxxtjiiiiiiiijrxyxxxxxxyxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxwpiiiiiiijsxxxxxxxxxxxxxxxxxvliiiiiijsxxxxxxwliiiiiiinwxxxxxxxxxxxxxxxywliiiiiiimwxxxxxxxxxxxxxxwpjiiiiiiimwxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxtjiiiiiiijqwxxxxxxxxxxxxyxxxxxxxxxxyxxxxxwniiiiiiiijqxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxyyxxxxxyxxxxxxxxxxxxxywjiiiiiiijqwxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxwrjiiiiiiijtxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxwsmjhiiiiiiiiiiiiiiiiiiiiiiiiilswxxxxxxxxxxxyxxxxxwojiiiiijqwtkiiiiiiiiiiiiiiimwxxxxxxxxxvojihiiiiiiiiiiiiiiiiiiihjovxtjiiiiiilwxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxyxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxyxxxxxxxxxxxxxxxyyxxxxxyxxxxxxxyxxyxxxxyxxxxxxxxxxxxyxxxxxxyyxxxyyxxxxxxxxxxxxxxxyxxxyxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxyyxxxxxxxxxyxxxyxxxxxxxxxxxyxxxxxxxyyxxxxxxyxxxxxxxyyxxxxxxxxyxxxxyxxyxxxyxxxxxxyxxxxxxxyxxxxxxxyxxxxxxyxxxxxyxxxxxxxxxxxxxxxyxxxxxxxxyxxxxxxyxxxxxyxxxxxxxxxxxxyxxyyxxxyxxxyxxyxxxxxxxxxxxxxxxxxxxxxxxxxyxxxxxxxxxxxxxxxxxxxxyxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxyxyxxxxxxxxxyxxxxxxyyxxyxxxxxxyxpiiiiiiijqwxxxxxxxxxxxxxxxxxyvliiiiiiiijtxxxxxxxyyxxxxxxxxxxujiiiiiijsxxpiiiiiiijpxyxxxxxxxxxyxxxxxxxvliiiiiiiijtxyxxxxyxxxxxxxxxxyxujiiiiiijsxxpiiiiiiijqxxxxxxxyxxxxxxxxxxyvliiiiiiiijtxxxxxxxxxxxyxxxxxxxujiiiiiijsxxxxyxxxxxyxxyyxyxxxxxxxxxxxxyxyxxxywmiiiiiiijpwxxxxxxyxxxxxxxxxxyxxxxyxxxxyxxxxxxxyxxxxyyxxxxxxwpjiiiiijqumiiiiiiiiiiiiiiiiqxxxxxxxxxxunjiiiiiiiiiiiiiiiiiiiiiiiiiiiikrwyxxxxxxxxxxxxxxxxxxxxunjiiiiiiiiiiiiiiiiiiiiiiiiiiiikrxxxxxxxxxxxxxxxxyxywmiiiiiiiiikrwxxyxxxyxxxxxxxxxxxxxyxxxyxxxxxxxxxxxxxxxxxxxxxxxyxxxxsjiiiiiijpwxyxxxxxxxxxxxxxxujiiiiiikuxxxxxxxpiiiiiiilvxxxxxxyxxxxxxxxxtjiiiiiijpwxxxxxxxxxxxxyxwpjiiiiiiimwxxxxxxxxxxxxxxxxxyxxxxxxxxxxxxxxxtjiiiiiiijqwxxxxxxyxxxxxyxxxxxyxxxxyxxxxxvliiiiiiiijtxxxxxxyxxxxxxxxyxxxxxxxxxxxxxxxxxxxxxxxxxxyxxxxyxyxxxxxxxxxxxxwjiiiiiiijqwxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxrjiiiiiiijtxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxwrkiiiiiiiiiiiiiiiiiiiiiiiiiiiiikqwxxxxxxxxyxyxxxxxwpjiiiiijqumiiiiiiiiiiiiiiiiqxxxxxxxxxunihiiiiiiiiiiiiiiiiiiiiiiiinvujiiiiiilwxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxyxxxyxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxyxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxyxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxyxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxyxxxxxyxxxxxxxxxxxxxxxxyxxxxxyxyxxxxxxxxyxxxxxxyxxxxxxxxxxxxxxxxxxyxxxxxxyxxxxxxxxxxxxxyxxxxxxxxxxyxxxxxxxxyxyxxxxxxyxxxxxxxyyxyxxxyyxyxyxxxxxxxxxxxxxyxxxxxxxyxxxxxxxxxxxxxxxyxxxxxxxyxxxxyxyyxxyxyxxxxxyxyxxxxyxxyxxxxxxxyxxxxxxyxyxxxyxyyxxxxxxyxyxyxyxxxxxxxyyxxxxxxyxxxxxyxxxxxyxxxxyxxxxxxyxyyxxxyxyyxxxxxxxxxxxxxxxxxyxxxxxyxxxxyxxxxyxxxxxxxxxxxxxxxyxxxxxxxxyxyyyxxxxxyxxxxxxyxxxxyxxxxxxyxxyxxyxxxxxxxyxxyxxxyxxyxtjiiiiiiimwxyxxxxxxyxxxxxxxyxsjiiiiiiiijqwxxyxxxxyxxxyxxxxxwqjiiiiiilvxxtjiiiiiiimwyyxyxxxxxxxxxxxxxxsjiiiiiiiijqxxxxxxyxxxxxxxxxxyxqjiiiiiilvyxtjiiiiiiimwxxxyxxyxxxxyyyxxxxsjiiiiiiiijqxxxxxxxxxxxyxxxxxxxqjiiiiiilvxxxxyxxyxxyxyxyxxxxxxxxxxyyxxxxxxxxywmiiiiiiijowxxxxxxyxxxxxxxxxxxxxxxxyxxxxxxxxxxxxxxxxyyxyxxxxwpjiiiiijpojiiiiiihhhhiiiiijuxxxxyxxxxuniiiiiiiiiiiiihhhhhhiiiiiiiiiiihkqxyxxxxxyxxxxyxxxxxyxuniiiiiiiiiiiiihhhhhhiiiiiiiiiiihkrwxyxxxxxxxxxxxxxxxxqjiiiiiiiiijotwxxxxyxxxxxxxxxxxxxyxxxxxxxxxxxxxxxxyyxxxxxxxxxxxxxxukiiiiiiimwxxxxxxxxxxxxxxxxqjiiiiiimwxxxyxxxtjiiiiiijtxxxxxxxxxxxxxxxxqjiiiiiijsxyxxxxxxxxxxxxxwpjiiiiiiimwxxxxxxxxxxxxxxxyxxyxxxxxxxxxxxxxxtjiiiiiiijqxxxxxxxyxxxxxxxxyxxxxxxyxxxxxxujiiiiiiiilvxxxxxxxxxxxxyxxxxxyxxxxxxxxxxxxxxxxxxxxxyxxxxxxxxxxxxxxxxxxxxxvjiiiiiiijqwyxxxxxxxyxxxxxxxxxyyxxxxxxyxyxyxxxxrjiiiiiiijtxxxxxxxxxxxxxxxxxxxxyxxyyxxxxxxxxxyxxxxxxxxywqkhiiiiiiiiiiihhhhhhhiiiiiiiiiiihjpwxxxxxyxxxxxxxyxwpjiiiiijoojiiiiiihhhhiiiiijuxxxyxxxxuniiiiiiiiiiiiihhhhhiiiiiiiiiiosjiiiiiilwxxxxxxxxyxxxxxxxxxxxxxxxxyxxxyxxxxxxxxxxyxyxxxxxxxxxxxxyxxxxxxxxxxxyxxxxxxxxxyyxxxxyxxxxxxxxxxxxyxxxyxxxxxxxxyxyxxxxxyxxxxxxxxxxxxxxxxyxyxxxxyxxxxxxxxxxxxxxxxyxyxxxxxxxxxxxxxxyxxxxxxxxxxxxxxyxyxxxxxxyxxxxxyxxxxxxxxxxxxxxxxxyxxxxxxxxyxxxxyxxxxxxxxxxxxyxyxxxxxxxxyxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxyxxxxxyxxxxxxxyxxxxxxxxxxxxxyxxxxxxxxxxxxxxyyxxxyxxxxxxxxxxxxxxxxxxxxxxxxxxxxxyxxxxxxyxxxxxxxxxxxxxxxxxxxxxxxxxxxxyxxxxxxxxxxxxxxxxxxxyxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxyxyyxxxxyxxxxxxxxyxxxxxxxxxyyxxyxxxxxxxxyyxxxxxxxxyxxxxyxxxxyxxxxxyxxxyxxxyxxxxxxxxxyxxxxxxxxxxxxxxxyxxxyxxxxyxxxxxxxxxxxxxxxxxyxyxxxyxxxxxxxxxxxxyxxxxxyxxxxxxxxxxxxxxyxxyxxxxxyxxxxxxxxxxxxxxxxxxyxxxxxxxxxxxxyxxxyxxxxxxxxxxxxxxxyxxxxxxxxxxyxxxxyxxxxxyxxxxxyxyxxxxxxxxxxxxxyxxxxxxxxxxxxxxxxxyxxyxxxyyxxyxxxxxxxxyxxxxxxxxxyxxxxxxxxxxxxxxyxxxxxxxxxxxxxxxxxxxxxxxyyyxxxxxxxxxxxyxxyxxxxxxxyxxxxxyyxxxxxxxyxxyxxxxxyyxyxxwliiiiiiijuxxxxxxxxyxxxxxxyxwpjiiiiiiiiinwxxxxyyxxxxxxxxxxxwniiiiiiioxyxwmiiiiiiijvxyxxxxxxxxxxxxxxxwpjiiiiiiiiinwxxxxxxxxyxxxxxxxxwniiiiiiiowyxvliiiiiiikvxxxxxxxxxxxxxxxxxxpjiiiiiiiiinwxxxxxxxxxxxxxxxxxwniiiiiiioxyxxxxxxyxxyxxxxxxxxxyxxxxyxxxxxxxxxxwmiiiiiiijowxxxxxxxxyxxxxxxxyyxyxxyyyxxxxxxxxxxxxxxxyxxyxxxxwojiiiiiiljiiiiiijkkkkjihiinwxxxxyxxxumiiiiiiiiiihiijkkkkkkjjhiiiiiiiiiikrxxxxxyxxxxxxxxxxxyvniiiiiiiiihhiijkkkkkkjjhhiiiiiiiiikrxxxxxxxxxyxxxxxxxxvliiiiiiiiihikorvwxyxxxyxxxxxxxxxxxxxxxxyxxxxxyxxxyxyxxxxxxxxxxyxxwmiiiiiiijuxxxxxxxxxxxxxxywniiiiiijqwxxxxxxyvkiiiiiiipxxxxxxxxxxxxxxxwoiiiiiiijvxyxxxxxxxxxxxxxwojiiiiiiimwxyyxxxxxxxxxxxxyxxyxxxxxyxxyxxxxxujiiiiiiijqxxxyxxxxxxyxxyxxxxxxxxxxxxxxxxrjiiiiiiiinwxxxxxyxxxyxxxxxxxxxxxxxxxxxxxyxxxxxxxxxxxxyxxxxyxyxxxyxxxxxxxxwjiiiiiiijqxxxyxxxxxyxxxxxyxxxxyxxxyxxxyxxxxxxxrjiiiiiiijuxxxxxxxxxxxxxyxxxxxxyxxxxxxxxxxyxxxyxxxxxxxxqjhiiiiiiiihhiijkkkkkjjihiiiiiiiiiijpwxyxxxxyxxxxxxxwojiiiiiiliiiiiiijkkkkjihiinwyxxxxxxwojiiiiiiiiihijjkkkkkjihiiiiiiijojiiiiiilwxxxxyxxxyxxyxxxxxxxxxxyxxxxxxxxxxyxxyxxxxxxxxxxxxyxxxxxxxxxxxxxxyxxxxyxxxxxxxyyxxxxyxxxyxxxyxxxxyxxxxxxxxxxyxyyyxxxxxyxxxxxxxxyxxxxxxxyyyyxxxxxxxxxxxxxxxxxxxxyxyxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxyxxxxxxxxxxxxyyxxxxxxxxyxxxxxxxxxyxxyxxxxxxxyyxxxxxxxxxxyxxxxxxxxxxyxyxxyxxxxyxxyxxxxxxxxxxxxxxxxxxxxxxxxyxxxxyxyxxxxxxxxxxxxxyxxxxxxxxxxxxxxxxxxxxxxyxyxxxxxyxxxxxxxxxxxxxxxxxxxxxyxyyxxxxxxxxyxxxxxxxxxxxxxxxxxyxyxxxyxxxxxxxxxxyyyxyxxxxxxxxxxxxxxxxxxxyxxxxxxxxxxxxxyxxxxxxxxxxxxxxxxxxxxxxxxyxxxxxxxxyxxxxxyxyxxyxxxyxxyxxxxyxxxxxxxxxxyxxyyxyxxxxxyxxxxxxxxyyxxxxxxxxxxxxxxxxxxxxxxxyxxxxxxyxxxxxxxxxxxxxxxxxxyxxxyxxxxxxyxxyxxxxxxyxxxxxxxxxxxxxxxxyxxxxxxxyxxxxxxxxxxxxxxyxxxxyxxxxxxxxxxxxxxxxxxxxxxxxxxxyxxxxyxxxxxxxxyxxyyxxyxyxxxxxxyxxxxxxxxxxxxxxxxyyxyxxxxxxxxxxyxxxxxxxxxxxxyyxxxxxxxxxxxxxxxxyxxxxxxxyxxxyxxyxxyxxxxxyxxxxxxxxxxxxxxxxxxyxyxyxxxxxxxxxxxxxxxxxxxyyxxyxxyxyxxxxxxyxxxxxxxxxxxxxxxxxxxxxyxxxxxxxxxxyxxxxxxxxyxyxpiiiiiiijrxxxxxxyxxxxxxxxxxwmiiiiiiiiiikvxxyxyyxyxxxxxyxxxukiiiiiijsxyxwpiiiiiiijsxxxxxxxxxxxxxxyxxwmiiiiiiiiiikvxxxxxxxxyxxxyxxxxukiiiiiijsxxxwpiiiiiiijrxyxxxxxxxxxxxxxxxwmiiiiiiiiiikvxxxxxxxxyxxxxxxxxukiiiiiijsxxxxxxxxxxxxxxxxyxxxxyxxxxxxxxxxxxxxxwmiiiiiiijowxxxxxxxxxxxxxxxxxxxxxxxxyxxxxxxxxxxyxxxxxxxxyxxxwojiiiiiiiiiiiijmquvwvqokijrxxxyxxxywojiiiiiiiihijlqrvvvwvvrpkjiiiiiiiiiiktxxyxxxxxxxxxxxxxwojiiiiiiiihijlqrvwvwwvrpkjihiiiiiiiiktxxxxyxxxxxxxxxxxxxrjiiiiiiiiihiijkpsvwxxyyyxxxxxxxxxxxxxxxxxxxxxxxxxxxxyxxxxxxxxyxxwpjiiiiiijsxxyxxxxxxxyxxxxvkiiiiiijtxxyyxxxxxoiiiiiiimwxxxxxxxxyxxxxxwliiiiiiimwxxxxxxxxxxyxxxxwojiiiiiiimwxxxyxxxxxxxxxxyxxxxxxxxxyxxxxxxxxujiiiiiiijqxxxyxxxxxxxxxxxxxxxxxxxyyxxxxwqjiiiiiiiipwxxxxxxxxxxxxxxxxxxxxxxxyxxxxxyxxxxxxyxxxxxyxxxxyxxxxxyxxxxxxxywjiiiiiiijqxxxyxxxxxxxxxxxxxxxxxxxxxxyxxxxxxxxxrjiiiiiiijuxxxxxxxyyxxxxyxxxxxxxxxxxxxxyxxxxxxxxxxxxxxskiiiiiiiiiiijmqrvvwvvsqnkiiiiiiiiiiijqxxxxxyyxxxxxxxwojiiiiiiiiiiiijmquvvvqokijrxxyxxxxxqjiiiiiiiiiijmqsvwvvuqokjiiiiiiijiiiiiiilwxxxxxxxxxxxyxxxxxxyxxyxxyxxxxxxxyyyxxxxxxxxxxxxxxyyxxxyxxxxyxxxxyxxxxyxxyxxxxxxxxxxyxxxyxxxyxxxyyxxxxxxxxxxyxxyxxxxxxxxxyxxxxxyxxxyxxxxyxxxxxxxxxyxyxxxxxxxxxxxxxxyyxxxxxxxxxxxxxxxxxxxxxxyxxxxxxxxxxxxxxxxxxxyxxxxxxxxyxxxxxxxxxyxxxxxxxyxyyxxxyxxxxxxxxxxxxxxxyxxxxxxxyxxxxyxxxxxxxyxxxxxxxxxxxxxxxxyxxxxxxxxxxxxxxxxxxxxyyxxxxxxxxxxxxxxxyxxxxxxxxyxyxxxxxyxyxxxxyxxxxxxxxxxxxxxyxyxxxxxxxxxxxxxxyxyxxxxxxxxxxxxyxxxxxxxxxxxxxxyxxxyxxxxxxxxxyxxxxxxxxxxxyxxxxxxxxxxxyxxxxxxxxxxxxxxxxxxxyxxxxxxxxxxxxxyyxxxxxxxxxxxyxyyyxxyxxxyxxyxxxxyxxxyyxyyyyxxyyxyyxyxxxxxxyxxxyyxxyxxyyyxxyxyxxxxxyyyyxyyyxyxxxyxxxxxxxyyxxxxxyxxyxxxxxxxyyxxxxxxxxyxxyyyxxxxxyxyxxyxxxxxyxxxxyxxxxyxxxxyyxxxxyxyxyxyyxyyxxyxyxxxxxxxyxxxxxxxxxyyxxxxyxxxyxxyxyyyxxxxyyxxxyxxxxxyyyyxxyyxxxxxyxyxyxxxxxxxyxyxxxxxyyxxyyxxxyyyxxxxyyxxyxxyxxxyyxyxxyxxyxyyyyxxyxxxyxxyxxxxxyxyxyxyxxxyyyxxxyxyxxxxxxyxyyyyxyxxyxxyyxxxxxyxyyxxxxyyxxxxxyxxxxxxxyxxyxxxyxxyyyyxxyxxxyxxsjiiiiiiiowyxyxxxxxxxyxyxxxujiiiiiiiiiijsxyyyxxxyxyxxxyxyxrjiiiiiilwyyyxsjiiiiiiiowxxxyxyyxxxyxyxyxtjiiiiiiiiiijsxxyyyxxxyxxxxyxxxsjiiiiiilvxxyxsjiiiiiiiowxxyxyxxxxxxxxxxxujiiiiiiiiiijsxxxyxxxyyxxyxxxyxrjiiiiiilvxxyxyxxxxxxyxyyxxxyxxxxxxxxxyyxyxxxxywniiiiiiijowyxxxxyxxxxxxxxxyxxxxxxxxyxxxyxxxxxxyxxxxyxxyyxxywojiiiiiiiiiihkqwxxyyywwtmlvxxyyxxxxqjiiiiiiiiijnsvwxyyyyyyxwvrmjiiiiiiiiimvxyxxyxxxyxxxxyxqjiiiiiiiiijosvxxyyyyyyxwvsmjiiiiiiiiimvxxxxxxxxxxxxxxxyxwoiiiiiiiiiiihhhijkoquvwxxyyxxxxxyxxyxxxxxxxxxxxxxxxxxxxxxyxxxxxxxrjiiiiiijqxyyyxxxxxxxxxxxsjiiiiiilwxxxxxxxxxqjiiiiiikuyxxyxxxxyxxxxxtjiiiiiijqxxxxxxxxxxyxxxxxwojiiiiiiinwyxxxxxxxyxxxxxyyxxxxyxxxxxyyxxxxxujiiiiiiijqwyxxyxyyxyxxyxxxxxxxxxxxxxxxxwoiiiiiiiijrxxxxxxxxxyxxxxxxyxxxxxxxxxxxxxxxxxxxxyxxxxxxxxxxyxxxxxxxxxyxxxxwjiiiiiiijqxyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyxrjiiiiiiijuxxxxxxxxxxxyxxxxxxxxxxxxxxxxxxxxxxxxxyxxxxuliiiiiiiiiijotwxxyyyyyxxwtokiiiiiiiiiiktxxxxxxxxyxxxxwojiiiiiiiiiihkqvxxyyywwtmlvxxxxxxxtkiiiiiiiiijmrwxxyyyyyxwvqkiiiiiiiiiiiiiilwyxxxxyxxxxxxxxxxxxyxxyxxxxxyxxxxxxxxxxxxxxxxxxxxyxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxyyxyxxxxxxxxxxyxxxxxxxyxxxxxxxxyxyyxxyxxxxxxxyxxxxxxxxxxxxxxxyxxxxxxxxxxxxyxxxxxxxxxyyxxxxxxxyxxxxxxxxyxxxxxxxxxxyxxxyxxxxxxyxxxxxxxxxxxxxxxyxyxxxxxxxxxxyxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxyxxxxxxxxxxxxxxxxxxxxxxxyxxxxxxxxxxxxxxxxxxxxxxxyxxxxxxxxxxxxxxxyxyxyxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxyxxxxxxxxxxxxxxxxxyxxxxxxxxxxxyxyxxxxxxxxxxxxxxxxxxxxxxxxxyxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxyxxyyyxxyxyyxxxxxyxyyxxxyyxyxxxxxxxxxyyxxxyyxyxxxyyyxxxxyxyxyyyxyxyxxyxxyxxyxyxxyxxyxxyyyyyxxxxxyyxyyxxyyyxxyyxxxyxxyxyxyxyyyxyyxxxxyxxxxyxxxxxxxxxyxyxxxxxyxxxxxyyxyyyxxxyyxyyyyxxxyyyyyyyxxyxxxxxxxxxxxyyyxxxxxyxxxxyyxxxyyxyxyxxyxyxyyxxxxxxxyxxxxyyxxxxyxxxyyyyyxxyxxyxxyyxxyxxyyxyxyxyxxyxxxyyxyyxxxyyyxxxyxyxyxxxxxxxxyyxyyxyxyxxxxyxyxxxxyxxxyxxxxxyxxxyyxxyyxxyyxxxxxxyxyxyxxyxyyxyxxxxyxxyyxxxxyxxxxyyxyxyvliiiiiiilvxxxxxxxxxxyxxxxxqjiiiiiiiiiijpxyxyxxyxxxxxyxxywniiiiiiiowyxxywliiiiiiikwyyyxyxxyxxxxyxxxqjiiiiiiiiiijpxyyyyxyxyyxxxyxxwoiiiiiiioxyxyxwliiiiiiilwyyxyxyxxxxyyxyxwqjiiiiiiiiiijpwyxxyyxxyxyyxxxywoiiiiiiioxxxyxyxyxxxxxyxxxxxxxxxxxyyxxxyxyyyxxywniiiiiiijoxyyyyyyxxxxyyyyyyxxyyyyxyyxyyyyyyyxxxxxxxxyyxxxxxwojiiiiiiiiiikswxxxxxxxxxwtxxyxxxyxtkiiiiiiiiilrwxyyxyyyxyyxxxxvqkiiiiiiiijpxyxxyxxyxyxxxxtkiiiiiiiiilrwxyxxxyyxxxxxxxvrkiiiiiiiijpxyxxxyxxxyxxxxxyxxumiiiiiiiiiiiiiihhijkkoqsvwxxxyxyyxxxxxxxxyxxxyxyxyxxxxxxyyyxxxxxvkiiiiiiiowxxyyxyxxxxxyxxpjiiiiiiowxyxxyxxxxujiiiiiijrwxxyxyxyxxxxyxqjiiiiiijtxxyyxxyxxxyyxxxxwojiiiiiiinwxxxxxxxxxxxxyxyyxxyyyxxxxyxxxxxxxujiiiiiiijqwxyyxxxxxxxyxyxxxxyyxxxxxxxxxwniiiiiiiijtxyyxyyxxxxyyyxyxyxxyxxxxxyxyyxyxyyxxyyyxxxxxxyyxxyyxxxyyxxxxxxxwjiiiiiiijpvwwvvvvwvvvvvvwvvvvvwvvvvvvwwvvvvvvvqjiiiiiiijuxxyxyxyyxyxxyxyxxxyxxyyyyxyxxxxxxxxyyyxyxwpjiiiiiiiiimswyyyxxxyxxxyyywtmiiiiiiiiiimvyyyxxxyyyyyywojiiiiiiiiiikswyyxxxxxyxwtxyxyxyxwniiiiiiiihjqvxxyxyxxyyxyywtmjiiiiiiiiiiiilwxxxxxxxyxxxxyxxyxxxxxxyxxxxxxxxyyxyxyxxxxxxyxxyxxyxyxxxxxyxxxxyxxyyxxyxyyyxxxxxxxxxxyxxyxxxxyxxxyxyyyxxxxyxxxxxyxxyyyyxxxyxxxyyyyyxxyxyxxxyyyyxyxxxyyxxxyxxxxxxxxxxxxyyxxxyxxxxyxyyxyxxyxxyyxyxxxxxxxxxxxxxyxxxyyxyxxyyxxxyxxxxxyxxxyyxxxyyxxxyxxxxxyyyxyxxyyyxxxxyxyxxxyxxxyyyxxxyxyxyxyxxxyyxxxyxyyxyxxxyxxyyxxxyxyxyyxxxxyxxxxxxyxxxyxxxyxyxxxxxxxxxxyyxyyyxyyxxyyxxxxxxxxxxxxxxyxyxxxxxxxxxyxxxxxxyxxxxxxyxyxxxxxxxyxyxyxxxxyxxxxyyxxxyxyyxxxyxxxxxxxxyxyxxxxxyyyxxxxxyxxyxxxxyxxxyxxyxxxxxxyxxyxxxxxxxxxxxxxyxxxyxyxxxxxxxyxxyxxxyyxxyxxyxyxxyxyxxyxyxxyxxyyxxxxxyyxxxyxxxyxyyyyxyyxyxxxxyyxxyxyxxxxxxxyxyyxxyxyxyxxxxyxxxyyxxyxyxyyxxxxyxxyyyxxxyyxxxxyyyxxxyxxxxxyxxxxxyxyxxyxxxxyyxxxyyxxxxxxxxyxxyyyxxxyyyyxyyxxxxxxyxyyxyxyxxxxxxxxxxxxyyxyxyxxyyyyyyyxyyyxxxyyyxxxxxxxxxxxxxxyxyyxxxxxxxxxyxyxyxyxxyyyxyxxxxxyxxxyyxxyxxxxxyyxyyyxxxxxyxyxxyxyxyxxyxxxxxxxyxyyyxxxyxxxyxxyyxxyxyxxyyyxyxxyyyxxxxxyxyxyxxyyyxxxxxxxyxxxxxxxyxxyxyyyyxxpiiiiiiijtxxxyxyxxxyxxxxxwniiiiiiiiiiiimwyyxxxyyxxyyxxxxvkiiiiiijsxyxyyxpiiiiiiijtxyyxyxxxxxxxxxxwniiiiiiiiiiiimwyxxxxyxxyxyxyxxvkiiiiiijsxxyyyxpiiiiiiijtxyxxyxxxyxxyxxywniiiiiiiiiiiimwxxyyxyxyyxxyyyyvliiiiiijsxyxxyxxxxyyyyxyxxxxxxyxyxxxxxyxxxyxyyywniiiiiiiinvwwwwvvvvvvvvwvvvvvwvvvvwvvvvwwvwxxxxxxxxyyyxxxyxwojiiiiiiiiijrxyxxxxxxxxyxxxxxxxyxwniiiiiiiijnuxxxxxxxxyxyxxyxxywtliiiiiiiikuxxxxxxyxyyxxwniiiiiiiijnuxxxxxyxxxxxxxxxxyxtliiiiiiiikuxxxyxxxxxxyxyxyxxxuliiiiiiiiiiiiiiiiihhijjknqsvwxxyyxxxyxxxxxxxyxxxyxxxyxxyxyxxxxxwniiiiiiilvxxxxxyxxxyyxxwmiiiiiijrxxyxxxxxxxwliiiiiiinwyxxxyyyxxxxywoiiiiiiikwxyxxxxyyyyxxyyxxwojiiiiiiinwyxyyxyxyyxyyyxyxxxxxxxxyxyxyxxyxxujiiiiiiijqxxyxyxxxxyyyxyyxxxxxyyxxxxxyywliiiiiiiikvyyxxxyxxxxyxxxyxyxxyxyxyxyxyyyyxyyyxxxyyxxyxyxxxxxyxxyxxxxxyyxywjiiiiiiiijkkkkkkkkkjkkkkkkkkkkkkjjjkkkkkkjkkkkjiiiiiiiijuxxyxxxxxxxxxxxyyyxyxyxyyxyyxxxxxyxyyxxxyxsjiiiiiiiiinvxxyxxyxyxxxxxxyyxvojiiiiiiiijqxxyyyxxxyxyxxojiiiiiiiiijrxxyyxxxyxyxyxxxxxxxxsjiiiiiiiikrwyxxxyxxxxyxxyxxvojiiiiiiiiiiilwyyxyxxxxxxyxyxyyxyxxxxyxyxyxxxyxyyyxyyxxxxyxxyxxxxxxxxxyxxxxyxxyxyyyyxyyxxyyxxxyyyxyyxxxxxyxyxxxxxxxxxxyxxxxyyxxyyyxxyyyxyyxyxxxyxxyyyxxyxyxxxxyyxyyxyyxxyyxxyxyyxxxxyxxxxxyxxyyyyyyxxxxyxyxxxxyyxyxxxyyyxxxxxyxxxxxyxxyxxyyxyxyyyyyyxyxyxxxyyxyxxxyxyyyyxyxxxxxyxxxyxxyxyxyyxxxxyyxxxxxyxxxyyyyyxxyyxxyyxxxxxxxxxxxxxxyxxxxxyxyxxyxxxxxxyxxyyxxxxxxxyxyxxyxxxxxxxxxxxxyxxxyyxyxxxyyxyxxxxyxyyyxyxxxxxxyxxxxxxxxxyxyxyxxyxyxxxyyyxxxxyyyxyxxxxxyxxxxyxyyyyxxyxyxxxyxxxxxxxxxyyxxxxxxxxxyxxxxxxyyxxxxyxxxxxxxyyxxyxxxxxyyyxyxxxyxyxxxxxyxxyxyxyxyxxxxyxxxxxxyxyxyxxxxxxyxxyyxxyxxxyyyyxxxxxyxxxxyxyxxyxxyxxyxxxxxxxxxyxxxyxyyxxxxxxyxxxxyxxxxxxyyxxyyxxxxyyxyxxyyyxyxxxxxxxxxyxxyxxxxxxyxyyxxxxxxxxyyxyxxxxxxxxxxyxyxyxyxxxxxxyxxyxyyxxxxxxxxxxxyyxyxxyyxxxxyxxyxxyxxxxxyxxyxxyxyxxxyxxyxyyyxxxxxyxxxxxxxyyxxxxxyyxxxxyxxyxxxyyxxyxyxxxxxxxxxxxxxyyyxyxxxxxxyyxxyxxxxxyxyyxxxxxxxxxxxxyxyxyxxxxxxxxxxyxyxxxyxxyyxxxxxxxyyxxxxxyyxxyxxxyxyyyxxxyxxsjiiiiiijqxxxxxxxxyxyyxxxvkiiiiiiiiiiiiktxyxyxxxxxyxxxxxsjiiiiiikvyyyxxxsjiiiiiijqxyxyyxxyxxxxxxxvkiiiiiiiiiiiiktxxxxxyxxyxxyyxxsjiiiiiikvxyyxxxsjiiiiiijqxyxyxxyxyxxxyxxvkiiiiiiiiiiiiktxyxxyxyyyyyxxyxsjiiiiiilvxyxyxxxxyyyxxxyxyxyxxyxyyyyxxxxxxxyxyywniiiiiiiijkkkkkkkkkkkkkkkkkkkkkkkjkkjkkkkkltxxyxxxxyyxxxxxxwojiiiiiiiiinwyyxyyyxyxxyxyyyyxxxxsjiiiiiiiiovyxxxxyxxyyxxxxxyxxxxtliiiiiiiioxxxyxxxxxxxxsjiiiiiiiiovyxxxxxxxxxyxxxyyxxyxtliiiiiiiioxxxxyxxxxyxxxxxyxxxumiiiiiiiiiiiiiiiiiiiihhijjknqtvxxxyxxxxxxyxxxxxxxxyxxxxyxxxxxxxqjiiiiiijtxxxxxxyxxxyyxujiiiiiikvxxyxyyxxyxxpiiiiiiikwxxyyxxyxxxxywkiiiiiiinwyyxyxxyxyyxxxyyyxojiiiiiiinwyxyyxxxxxxyyxxxxyxxyyxyyxyyxxyxxxujiiiiiiijqxxxyxxxxyyxyxyxxxxyxyxxyxxxyywkiiiiiiiikwyxyxxxxxyyyyyyyxxxxyxyxxyxyxyyxxxyxyyxyyxxyxyxyxxxxxxxyxyxxxxxywjiiiiiiiihhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhiiiiiiiijuxxxxxxyxxyyyxyxxyxxxxyxxyxxyyyxyxxxyyxyywniiiiiiiiinvyxxyyxxxyyxyxyyyxyxvoiiiiiiiiilvxxxxxyxyyxxwojiiiiiiiiinwyyxyyyyxxxxxxxxxxxxwniiiiiiiijrxyyyxxxxxxyxyxxxxywoiiiiiiiiiiilwyxxxyxxxxxxxyxxyxxxyxxxyxyxxyxxxyyyxxxyxyxxxyxxxyyxyxxxxxxxyxyyyxyxyyxxxyyyxxxxxxxxyyxxxxyxyyxxxyxxyxxxxyxxxyyxxyxyxxyxxxyyxyxxxyxyxxxxyxxxxxxyxxxyyxyxxxxxyyyxxyxyyyyyxyxxxyxxxxxxyyxyyyxxxxxxxxxxyyxxxyxxyxxyxyyyyyxxxyxyyyyyxyxyxxxxxxxyyxxyxxxxxyyxxxyxxxxyxxxxxyxxxxyxyxxxxyxyxyxxyxxxyxxxyyxxyyxxxyxxxxyyyxyyyxyyyxxyyxyxxyxxxxxxxxxyyyyxyyxxyyxxxxyyyxyyxyxxyxyyxxxyyxxyxxxxxyyxxyyxyyxxxxxxxxxxxxxxxyxxyyxxxxxyyxxyxxxyyxxxxxyxyxyxxyxyyxxyxyyxxyxxyxxxxxxxxxxyxyyxyxyxxyxxyxyxxyyyyyxyyyyxyxyyyyxxxyyxxxxyyyxyyyxyyyxxxxxyxyyxyxyyyyxyxxxyxyyxxyxyyxyxxxyxxxxxyxyyxyyxyxyxxxxxyyxxxyyyyyyxxyxyyxxyxxxxxxyxyyyxxxxxxxxxyxxyxyxyyxxxxyyxyxxxxyyxyyxyyxxyxxyyxyxxxyyxyyxxyxxxxyxxxyyyyyxyxxyyyxxxxyxyyxyxyyyyxyxyxyxxxxxxyxxyxxyxxxxyxxxyxyyyxyxxxxyxxxyxyyyxxxxxxyxxyxyxyyxxyyyxyxyyyxxxxxxxyyxyxxyxxxxyxyxyxyyxxxyxyxxxyxyxxxxyyxxxyxxxyyyyyyxyxyyxxyyyyxyyxxyyxxxyxxyxxxyxxxxxyxyxxyxxxxyxyyxyxyyyyyyyxxyyxxxyyxxyxyyxxxxyxxxyxxyxxyxxyvliiiiiiimwyxyxyxyyxyyyyxsjiiiiiljiiiiijqwxxyyyxxxyxxxxxpiiiiiiipxyxyxxxvliiiiiiimwyxxxxxxyxxxyxxsjiiiiiljiiiiijqwxxxxxxyyxxyyxxpiiiiiiipxyyyxxyvliiiiiiimwyxyxxxxxxxxxxxsjiiiiiljiiiiijqxyyxxxxxxxyxxxwpiiiiiiipxxxxxxyxyxyyxxxxxyxxxxxyxxyxxxxyxyxyxyywniiiiiiiiihhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhisxxxxyxyxyyxxxyywojiiiiiiiijsxyxxyyxxyxxxxxxyxxyxwniiiiiiiimuxxxyxyxxxxxyxxyyxxxxxxrjiiiiiiikuxxxyxyxxyywniiiiiiiimuyxxyxyxxxxyyxyxxxxxyxxskiiiiiiikuyxxxxxxxxxyyxxxxxxyvojiiiiiiiiiiiiiiiiiiiiiihhijjkpsvwxyxxyxxyxxyxxxyxxxxyyxxxxxxxujiiiiiijqxyxxxyyyxxyxwqjiiiiiimwyyxxyyxxxxxsjiiiiiijtxxyxxxxyyyxxujiiiiiijqxyyyxxxxxxxxxxxxyxojiiiiiiinwxxyxxyxxyxyxyxyxyxxyyyyyxyyxxxxxxujiiiiiiijqxyxyxyxyxxxxxxxxxxyyyxxyxxxyywjiiiiiiiilwyxxxxxxyxyyyxyxxxxxxyxyyxyxxxxyyxyyyxyyxxxxxxxyxyxxyxxxyxyyxxxywjiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiijuxxxyxyxxxxyxyxxxyyxxxyxxxxxyxxxxxxxyxxyxtkiiiiiiiimuxxxxxxxxxxxxyxyyyxxxywmiiiiiiiijqxxyxyxxyxyywojiiiiiiiijsxyyyxyyyxyxxxyxxyyxxsjiiiiiiijqwxxxyyxxyxxxxyyxxyxyvmiiiiiiiiiilwyxxxyxxxxyxxxxyxyxxyyxxxxxxxyxyxxxxxxxyxxxxxxxxxxyxyxxxyxxxyyxxyxxxyyyxyxxxyxxxxxyxxxxxyyxxyxyxyyxxxxxxyxxxxxxxxyxxxxxxyxxyxyxxxyxyxyxxxxxxyxxxxyxyyxxxxxxyxxxyxyyxyxyxxxxyxxxxxyyyyyxxxxxxxxxyxxxyxxyyxxxxxxxyxxxyyyxyxxxxxxyxxxxxxyxxxxxyxyxxyxyyxyxxxyyxyxyyxxxxxxxxxxxxxxxxyyxxyyyxyxyyxxxyyyxxxxxxxyyxxxxyxxyxxyxxyxxxyxxxyxyxxxxyyxxyxyxxyxxxxxxxxxxxyxyyxxxxyxyyxxyyxxxxxyxxxxyyyxyxxxyxxxxxxyxxxyxxyyyxxxyyxxxxxyxxxxxxxxxyxxxxxxxxxxxyxxxyxyxxyyxxxxxxxxxxxxxxxxyxyyyxyyxxyxyyxxxyxyxyyyxxyxyxyxxxxxxxxxxxxyxyyyyyxyyxxxxyxyyxyxyyyxyxyxyyxyxxyyyyxyyxxxxyxxyyyxyyxyyyyyyxxxyyyyxxxyyyyyyyxyyyyxyyyyxyyyyxyyxyxxxxyyyyyxxyyyyyxxyyxyyxyyyxxyyyyyyyxyxyxxxxyxyxyxyyyxxyxxyxyxxxxxyyyxyyxxyyxxyxyyyxyyyxyxyyxyyyyxyxxyxxyxyyyxyxyyxxxyxxyyyyxxxyxyyxyxyxyyyyxxxyxyyyxxxyyyyxyyyyyyyxxyxyyxyxyyyyxxyyxyxyxyxxxxyxxxyxxxxyyxyyyyxyyyyxyxxyxxyyxxxyyyyyyyxxxxyyyyyxyyyxxyyyyyyyyxxyyxxxxxyxyxyyyyyyxyyyyyyxyyyyyyyyxxyxyyyxxxyyyxyyxxyyyyxxyxpiiiiiiikvyxyxyxyxyyyyyxpiiiiijpliiiiiinwxyyyyxyyxxyxywliiiiiijtxxxyyxyxoiiiiiiikvyyxxxxyyxxxyxxpiiiiijpliiiiiinwxxxxyxyyyyxxywliiiiiijtxyyyxxyxoiiiiiiikvyyyxxyyyxyxxyxpiiiiijpliiiiiinxyxxyxyxxxxxxxwliiiiiijsxxxxyyxxxxxxyxxyyyxxxyxyyyyxxxyyxxxyyyywniiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiijtxxxyxxyyyyxyxyywojiiiiiiiimwyyxxyyxxyyxyyyyxxyyxtkiiiiiiijsxxxxyyyxxyyxyxxxyxyyxyywpiiiiiiijqxyxxxxyyxxtkiiiiiiijsxyyxyxxxxyxxxyyxyyxxyyywpiiiiiiijqxyxxxyxyyxxyxxxyxyyywsmjiiiiiiiiiiiiiiiiiiiiiiiihhjjkptwxxxyxxxxyyxxxxyxxxyxyyxxyywkiiiiiiinxyyyyxyyyxyxwniiiiiijpwyxyyxyxxxyxvkiiiiiijqxyxyyxyxyxxwqjiiiiiijuxyyxyyxyxyxxxyyxxwojiiiiiiinwxxyxxxxyxxyyyxyyyxxxxyyyyxyyyyxxxujiiiiiiijqxyxxxxyxxxxxyxxyxxxxyxxyxxyyxwjiiiiiiiilwyxyyxxxxyxyxxxyyxxyxyyyyxyxxxyyxxyyyxyxxxyxyxxyyxxyyxyxxxyxxyyywjiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiijuxyxyxyyyyxxxxyxxxxyxxyyyxxxyxxxyyyxxyyywoiiiiiiiijsxxxxyxyxxxxyyxxyxyxxxyxukiiiiiiiilwxyxyyxyyyywojiiiiiiiimwxxyyxyyxyyxxxxxxxyywoiiiiiiiimwyyyxxyxyxxxyyyyxxxxyxtkiiiiiiiiilwyyxxyxxyyxxxxyxxyxxxyyyyyyyyxyyxyyxxxxyyxyxyyxxyxxyyxyxxxxxxxxxxxyyyyxyyxxxxxxyxyxxyyxyyyxxxxyxxxxxyxxyxyxyxyxyxyyxyxyxyxxyxxxyxyxxxxyxxyxxyyyyyyxyxxxxxxyxxxyxxxyyyxyxyyxxyxyyxyxxyyxyxxyxyxyxyyyxyyxyxyxxyyyxxxxxxxyyyyxxxxyxxyxyxyxyxxxxxxyxyyyxxyyxxxyyxxyyyxyxxxxyxyyxxyxxyxxxxxyxxxyyxxxyxxxxxxxyxxxxxxxxxxyxyxxxyxxxxxxxyxxyxxxyxxxxxxxxxxxxxxxyxxxyyxyxxyxyxxxxxxxyxxxxxxxxyxxxxxxxyxxyxxxxyxxxyyxxyyxxxxxxxyxxyyxxxxyxxxyyxxyxxxyxxyyxyxxxyxxxyyxxyyxxxyyxxyxyyxxxxxyxxxxyxxyxxxyxxxxxyyxyxyxxyxyxyxxyxxxyxyxxyyyyyyyxxyxyxyyyyyyyyxyxyyyyyyyxyyyyxyyxxxxyxxyyyyyyxxyyyyyxyyyyyxxxxyyxxyyyyyyyyxyyyyyyyyyxxyyyxyxxyxyyyxxyyyyyyxyyxxyyyyyyxyyyyyyyxyxyxyxxyyyxyyyyyyxyxxxyyxyyyyyyyyyyxxxxyyyxyyyyyyyyyxyxxyyxyxyxxyyyyyyyyxyyyyyxxyxyyyxyxxxyxxyxxxyyyyyyyyxyyyyyyxyyxyyxyxyyyyyxyyyyyxyxyyyyyyyyyyyyyyyxyyyxxxyxyxxyxyyyyyxxyyyxyyyyyxyyyyxxyyyyyyyxxxxyxyxxyyyyyyyyyyyyyxxxyxxxyyyxyyyyyyyyyyxyyxyyyyyyyyyyxxyyyyxyxyyxyxyyyyyxyyyyxxsjiiiiiijsxyxxyxyxyyyxywliiiiiktniiiiiilvxyxyyxyyyxyxxtjiiiiiilwxxxyyxyxsjiiiiiijsxyxxyxyyxxyyxwliiiiiktniiiiiilwxxyyyxyyyyxyxtjiiiiiilwyxyyxyyxsjiiiiiijsxyyxxyyyyyyyywliiiiiktniiiiiilwyyyyyyyxxyyyxtjiiiiiilvxyxxyyxxxxyyxyxyyyyyxyyyyyxyyyyxyyxyyyywniiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiijsxxyyyxyyyyxyxyywojiiiiiiiipxyyyxyyyxxyxxxxyyxyyxpiiiiiiiinwxyxyyyxyxxyxyyxyyxxyyyxyujiiiiiiimwyxyxyyyxxpiiiiiiiinwxxyxyxyxxyyyxyyyyyxyxyxxujiiiiiiimwyxxyyxyyyxyyxyyyyyxyxwqljihhiiiiiiiiiiiiiiiiiiiiiihhjkmswxxxyyyyxxxyxyyxyyxyyxyyxwniiiiiiilwyyxyyxyxxyywliiiiiijsxyxyyxyxyxyxwmiiiiiiimwyyyyyyyyyywniiiiiiimwxyyyyyxyxyxyyxyyxwojiiiiiiinwyyxxxyyxxxyxyyyyyxxyyyxyyxyyyyyxxujiiiiiiijqxyyyyyyyxyyyxxyyxxyyyxxyxyyyxujiiiiiiiinwyyyxyxyxyyyxxxyyyyyxyyyyxyyyxyyyxyyyxyyxxyxyyyyxyxyxxyxxxxxxyyywjiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiijuxxxyxyyyyyyyyyxxxxyyxyyyxyyxxxxyxyxxxyyvliiiiiiiipwxxxxyxyyxxyyyyyyyyxxxxxxqjiiiiiiijtxyyyxxyyyywojiiiiiiijpxyyxxxyxxyyyxxxxxyxywliiiiiiijsxyyyxxxxyxxyxxyyxyyyxxxqjiiiiiiiilwyyyyxxyyyyxyyxyyyxyyyxxyyxxyxxxxyxxxyxyyyxxyyyxyyyyxxyxxxxyyyyxxxyyyyyxyyyxxxxyxyxxxyxyxxxyyxxyxyxyyxyyxyxyyyyxxyyyyxyxxyyxxyyyxxxxyyxyyyyxyyyxyyxyyyxxyxyxxyyyxyxyyyyyyyyyxxyxyxxxxxyyyxxxyxyyyyxyxxyyxyxyyxyyxyxxyxyxxyxyxyxyyyxxxxxyxxyyxxyyxyxxxyyyxyxyyxyyyxyxxxxxxyxyyyyyxxxyxxxyxyyyxyyyyxyxxyyyyxxxxyyxxyyxxxyyyxyxyyxxxxxxxxxyxxxxyxxyxyxxyxyyxxxyyxyxyxyxyxxxxyxyxyyyxxyyyxxxxxxxyxxyxxxyyxxxxyyxyxxyyxyxxyyxyyxxyyyxxyyyyxyyyxyyxyxxyyxxyxyxxxxyxyxxyyyxxyxyxyxyxxyyyxxxyyyyyxyxxxyyyyxyxxyxyxyyxyxyyxxyyyxyyyyyyxyxxyxyyyyyyyyyyxyxyyyyyyxyyyyyxyyxxyyxxyxyyyxxyyyyyyyyyyxxyyxxyyxxxxyyyxyyyxyxyyyyxyyyyyyyxyxyyxxxyyxyyyyyyxyyxxxyyyyyxyyyyyxyxyxyyyyxyyyxxyxyyyyyxxyyxyyyyyyyxyyyxyxxyyxyyxxyxyyyyyyxxyxyyxyxyxyyyyyyyyyyyyyxyyyyyyyyxxyxxyyxxxyyyyxxyyxyyyxxyyyyyxyxyyyxyyyxyyyyyyyyyxyyyyyyyyyyyyyxyyyxxyyyyyxyxyyyyyyxyyyxxyyyyyyyyyxxyxyyxxyyyyyyyyxxxyyyyyyyyyyyyyyxyxyxyyyxxyyyyyyyyyxyyxyyyyyyyyyyyyyyxyyyxyxyyyyyyyyxxyyyyyvliiiiiiinwyxyyxxxyyxxxtjiiiiimwqjiiiiijsxyyyxxyyyyxxxpiiiiiiipxxyxyyyyxvliiiiiiiowyyyyxyyyyyyxtjiiiiimvqjiiiiijtxyyyyyyyyxxyxpiiiiiiipxyxyyxyyxvliiiiiiinwyyxyyyyyyyyxtjiiiiimvqjiiiiijtxyyxyyyyxyyyxpiiiiiiipxxyxyyyyxyyyyxyxyyyyyyyyyyyyyyyyyyyxyyyywniiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiijtxxyyyyyyyyxyxyyxojiiiiiiijsxyyyxyyyxyyxyyxyyyxywliiiiiiijsxxyyyyyxyxyyxyyyyyxyyyyxywniiiiiiikuxyyyyyyxwliiiiiiijsxxyyxyyyyyyyyxyyyxyxyyyxyxniiiiiiijtxxyyyxxyyxyyyyyyyyyyyyxvrnkjihhiiiiiiiiiiiiiiiiiiiiiihijntwyyyyyyxxyyyyyyyyyxxyxxxqjiiiiiijvxxxyyxyxyxxtjiiiiiilvxyyyyxxxyxyyxqjiiiiiikvxyyxyyyyyywliiiiiiipxyyyyyyyyxyxyyyxyywpjiiiiiiinwyyyxxyyxxxxyyyyyyxxyyyyyyxyyyyyxxujiiiiiiijqxyyyyyyyxyyyyxyyyxyyyyyyyyyyxujiiiiiiiinwyyyyyyyyyyxxyyxxyyyxyyyyyyyyxyyyyyyyyxyxyyyyyyyxyyyyyxyxxxxxyxywjiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiijuxxxyyyyyyyyyyyxyyxyyyyyyyxyyyyyxxyxyyyxsjiiiiiiikuyxyyyyxyyxyyyyyyyyxyxyyyxvliiiiiiijpxyyyxyyyyyxpjiiiiiiijsxyyyxyyyxyyyxxxxxyyxsjiiiiiiinwyxyyyxyxyxxyyyyyyyyyyxxvliiiiiiiilwyxyyxxxyyyxyxyyyyyyyyxxyyyxyxxxxyxxxyxyyyyyyyxxyyyxyyyyyxyyyyyyyxyyxyyyyyyxyxyyxyyxxyxyyyxyyxyxxyxxyxyyyyyyyyyxyyyyyyxyxyyyxxyyyyyyyyyyyyyyyyyyxyxyyyyyyxyyyyyyyyyyyyxyyxyyyyyyyxxxyxyyyxxxxxxyyyxyxxyyxyyyyxyyyyyyyxxxyxyyxyyyyyyyxyxyyxyxyyxyxyyxxyyyxyxyyyyxyxyyxxyyyyyyxyyyxyyyyxyyyyyyxyyyxxyxyxyxyyxxxyyyyxyyyxyyyyyxxyxyxyyxxyyxyyyyyyyyxyyxxxyyxxyyxyyxyyxyyyxyyyyxyyyxyxyxyyxxxxxxyxyyxxxyyyxxxxyyyyxyyyyxyyyyyyyxyyxyxyxxyxyyyxyyyyyyxyxyyyyyxxxxyyyxyyxxyxyyxyxyyyyyyyyyxyxyyxxxyyyyyxyyyxyxyyxyyyyxxxxyyyyyxyyyyyyxyyxyyxyyyyyyyyyyyyyxyyxyyyyyyxxyxyyyxyxyyyyxyyyyyyyyyyyyyyyyxyxyyxxyyyyyyyyyyyxyxyyyyxyyxyxyyyxxyyxyyyyxyxyyxxyyyyyyxyxyyyxyxxxyyyyxyyxxyyyyyxyyyxyyxyyyyyyyxyyxyyyxyyyyyxyyxyyyxyyxxyxyyxyyyxxyyyyyyyyyyxyyyyyyyyyyyyyyxyyyxxyyyyxyyyxxyyxxxyxyyxyxyyyxxyyxyxyxxyyyyyyyyyyyyyyxyyxyyxyxyyxyyyxyyyxyyyyxyyyyxyyyyyxyxxyxyxyyyyyyyyyyyyyyxxxyyxyyyyyyyyyyyyyxyxyxxyyyxyyyyxyxxyyyxyxyyyyxyyxxxyyyxyyyyyyyyxyyxyyyyyxniiiiiiilwyxyyyyxxyyxxqjiiiijpxtjiiiiijpxyyyxxyxyyxxwliiiiiijsxxyyyyyyywniiiiiiilwyyyyxxyyyyyxqjiiiijpxtjiiiiijpxyyyyyyyyxxxwliiiiiijtxyyyyyyxywniiiiiiilwyyxyxxyyyyyxqjiiiijpwtjiiiiijpxyyxxyyyxyyywliiiiiijsxyyyyyyyxyyxyyyyyxxyyyyyyyyyyyyxyyyxyyyywniiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiijtxyyxyyyyyyxyyxywpjiiiiiiijvyyyyxyyyxyxxyyyyyyxxtjiiiiiiilwyxyyxyyxxxyyyyyyyyxyyxyxyxqjiiiiiijqxyyyyyyxtjiiiiiiilwyyyyyyyyyyyxyxyyyyyxyyyyxxqjiiiiiijqxxyxyyxyyxyxyyyyxyyyxxyyxwuqnkjihhiiiiiiiiiiiiiiiiiiiiihikqwxxyyyxxyyyyyyyyyyxyyxxtjiiiiiijsxxxyyxyyyywpjiiiiiinwxyyxxxxxyyxyxtjiiiiiijsxyyyxyyxxxtjiiiiiijsxyyyyyyyyxxxyyyxxyxpjiiiiiiinwyyyxxyyxyyyyyyyxxxyyyyyyyxyyyyyyyujiiiiiiijqxyyyyxyxxyyyyxyyyyyyyyyyyyyxxujiiiiiiiinwyyxyxyyyxyxyyyyyyyyyyxyyyyyyxxyyyyyyyyyxyyyyyyyxyyxyyxyxxyxyyxywjiiiiiiiihhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhiiiiiiiijuxyxyyyyyyyyyyyyyyxyyyyyyyyxyyyyyyyxyyyxpjiiiiiiinwyxyyyyxxyyyyxyyyyyxyxyyyxxqjiiiiiiimwxyyxyyyyyxpjiiiiiiijvxyyyxyyyxyxyyxxxyyyxpjiiiiiijrxyxyyyxyxyxyyyyyyyyyyyxxxoiiiiiiiilwxyyxxxyyyxxxyyyyyyyyxxyxyyxyxyyyyxxxxxxyyyyxyyxyyyyyyyyyxyyyyyyyxyyyyyyyyyyyyyyxxyyxyxxyyxyyxyyyyxyxxyyyyyyxyyyyyyyyyxyyyyyxxyyyyyyyyyxyyyyyyyyxyxyyxyyxyyyyyyyyyyyyyyyyyyyyyyyxxyyyxyyyxxyxyxyxyyyxyyyyyyxyyyyyxyyxyyxyxyyxyyyyyyyxyxyyyyyyyxyyyyyxyyyxyyxyyyxyxxyxxyyyyyyxyyyxyyyyyyyyyyxxyyyyyyxyxyxyyxyxyyyyyyyyyyyyyyxyyyyyyyyyyyxyyyyyyyyyxyxyyxyyyyyxyyxyyyyyyxyyyyyyyyyyxyxyyxxyxxxyyyyxyxyyyxyyyxyyyyyxyyxyyyyyyyyyxxyxyyyyxyyyxyyyyyyxyxyxyyyxxyxyxyyyyxxyyyyxyxyyyxyxyyyxxyyyxyyyyxyyyyyyyxxxyxyyxyyxyxyxyyyxyyyyyyxyyxyyxyyyyyyyyyyyyyyyxxyyyyyyyxyxyyyxyxyyyyxyyyyyyyyyxyyyyyyyyyyyyyyyyyyyyxyyyxyxxyyyxyyyyyyyyyxyyxyyyyyxyyxxxyyyyyyyyxyyyyyxxxyyyyxyyxxyyyyyxyyyxyyxyxyyyyyyyyxyyyyyyyyyxyyyyyyxyyyyyyyxyyyyxxyxyyyyyyyyyyyyyyyyyxyyyyyxxyyxxyyyyyyyyyyxxyxxyyyyyyyyyyxyyyxyxxxyyyyyyyyyyyyyyyxyyxyyyyxyyyyxyyyyxyyyyyxyyyyyyyyyyyxxxyxyxyyyyyyyyyyxyyyxxxyyyxyyyyyyyyyyyyyyxyyyxyyxyyyyyyyxyyyyyyyxyyxyyyyxyyyyyyyyyyyyxyyxyyyxyxrjiiiiiijtxxyyyyxxxyywmiiiiijsxwliiiiiimwyyxyxyxyyyxtjiiiiiilwyxyyyyxxxxrjiiiiiijtyyyyyxyyyyywmiiiiijsxwliiiiiimwyyyxyyxyyxxtjiiiiiilwyyyyyyyyyxrjiiiiiijtxyyyyxxyxyxwmiiiiijsxwliiiiiimwyyyyyyyxyyxtjiiiiiilwyyyyyxyyyyyxyyyyyyyyyyyxyyyyyyxxyyyyyyyyxniiiiiiiiihhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhitxyyxyyyyyyxyyyywpjiiiiiiilwyyyyxyyyxyxxyyyyyxywqjiiiiiiioxyyyyyyxyyxyyyyyyyyxyyxyyxxtjiiiiiiinxyyxyyyxqjiiiiiiioxyyyxyyyyyyyxyxyyyyyxxyyyyxtjiiiiiiinwxxxyyxxxxyyxyyyxyyyyxyyyxxxwvrokkjihhiiiiiiiiiiiiiiiiiiiijnuxxyyyxyyyyyyyyyyxyyxywliiiiiijpxyxyyxyyyywmiiiiiijqxxyyxxxxxyyxxywliiiiiiipxyyyxyyxxxqjiiiiiikvyyyyyxxyyyyyyyxxxyxpjiiiiiiinwyyxyxyyyyyyyyyyxyxyxyyyyyxyyxyyyxujiiiiiiijqxyyyyxyyyyyyyxyyyyyyyyyxyyxxywjiiiiiiiilwyyyyxyxxxyyyyxyyyyyyyyyyyyyyxyyxyyxyyyyyyyyyyyxyyyyyyxyxyyxyyyywjiiiiiiiijkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkjiiiiiiiijuyyxyyyyyxyyyxyyyxxyyyyyyyyxyyyyyyyyyyywmiiiiiiijrxyyyyyyyxxyyyyxyxyyyyyyxyxxtkiiiiiiikvxyyyyyyyyxpjiiiiiiilwyyyxxxyyyyxxyxxxyyxwmiiiiiiikvxxxyyxyyxyyyyyyyyxyyyyyxxsjiiiiiiilwxyyyxyyyyyxxyxyyyyyyxxyyyyyyxyyyyxxyxyxyyyyyxyxyyyyyxyyyxyyyyyyyyyxyyyyyyyyyyyyyxyyxyxyyyyyyxxyyyxyyxyyyyyyxxyyxyyyyxyyyyyyxyyyyxyxyyyxyyyxyyyyxyxyyxyyxyyyyyyxyyyyyyyyyyyyxyyyyxyyyxxyyxxyyyyyxyyyxyyxyyyxyyyxyyyyxyyxyxyyyyyyxyyyyyxyyyyyyxxyyyyyxyyyyyyxyyyxyxyyyxyyxyyyxyyyxxyxyyyyxyyxxyxyyyyyyxxxyyyyyyyyyyxyxyyyyyyxyyyyyyyyyyxxyxxxyxyyyyyxyyxyyyyxyyyxxyyyxyyyyyyyyxyyxyxxyyyxyxxyyyyxyyxyyyyyyyyyyyyyxyyyyyyyyyyyyxxyxyyyyxyyyxyyyyxyxyyxyyyyyxyyxxyyyyxyxyxyxyyyyyyyxyyyxxyyyxyyyyxyyyyyxyyxxyxxxxxyxyyyxyyxxyyxxyyxyyxyxyyyyyyyyyyyyyyyyyyyyyyyyyyyxyyyxyyyyyyxyyyyyyyyyxyyyyyyyyyyyyyxyyyyyyyyyyyyxxyyyxyyyyyxyyyyyyyyyyxyyyyyxxyyyyyyyyyyyyyyyxxyyyyyyyyyyxyyyxyyyxyyxyxyyyyyyyyxyxyyyyyyxyyyyyyyyyyyyyyyxyxyyxyyyyxyyyyxyyyyxyyyyyyyyyyyxxyyxyyyyyyyyyyyyxyyxyyyyyyyyyyyyyyxyxyyyyyyyyyyyyyyyyyyyyyyyyyxyyyyyyyyyyyyyyyxyyxyyyyyyyyyyyyyyyyyyyyyxyyyyyyyyyxyyyxyyyyyxyyyyyyyyxyyyyyyxyyxyyyyyyyyyyyyxyxyyyyyxxyyyyyyyyyyyxyyxyyyxyxvkiiiiiijqxyxyyyyyxyyvkiiiiikvyxoiiiiiikvyyyyyyxyyyxqjiiiiiipxyxyyyyxyxxvkiiiiiijqxyyyyxyyxyyvkiiiiikvxwniiiiiikvxxyxyyyyyyxqjiiiiiipxyyyyyyyyyxvkiiiiiijqxyyyyxyyyyyvkiiiiikvywoiiiiiikvyyyyyyyxyyxqjiiiiiipxyyyyyyyyyyyyyyyyyyyyyyyyxyyyyyxyyyyyyyyywniiiiiiiijkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkltyxyxyxyyyyxxyyyxpjiiiiiiioxyyyyxyyyyyyxyyyyyxywoiiiiiiijqxyyyyyyyyyyyyyyyyyyyyyyyyyyvkiiiiiiilwyyxyyyxoiiiiiiijqxyyyyyyyyyyyyyyyyyyyyyyyyyyvkiiiiiiilwxyxyyxyxyyyyyyyxyyyyxyyyxyyyyxxwuqokkjihhiiiiiiiiiiiiiiiiiimuxyyyxyxyyyyyyyyyyyyyxniiiiiiimwyyxyxyyyxvkiiiiiijtxyyyxyyxxyyxyyxoiiiiiiilwyyyyyyxxwpiiiiiiimwyyyyyyyyyyyyyyxyxyxpjiiiiiiinwyyxyxxyyyyyxyyyxyxyyxxxyyyyyxyyyxujiiiiiiijqxyxyyyyyyyyyyxyyyyyyyxyyyyxxywkiiiiiiiilwyyyyxxyxyyyyyyyyyyyyyyyxyyyxyyyyyyyyyyyyyyyyyyxyyyyxyxxyyxxyyyywjiiiiiiijpvwwwvvvwvvwwwwwwwwwvvwvvvwwwwwwvwwwvqjiiiiiiijuyyyyyxyyyyyyxyxyyxyyyyxyyyxyxyyyyxyyyxwkiiiiiiikvxyyxyyyyxyxxyyyyxyyyxyxxyyywmiiiiiiijtxyyyyxyyxxpjiiiiiiioxyyyxxxyyyyyxyyxxyyxvkiiiiiiimwyxxyxxyyxyyyyyyxyxyyyyyxxvkiiiiiiilwyyyyyyyyyyxxyxyyyyyyxxyyyyyyyyxyyxxyyyxxyyyyyyxyyyyxyyyyyxyyyyyyyyxyyyyyyyyyyyyyyyyxyyyxyyyyyxyxyxxyyyyyyyyxyyyyyyyyyyyyyyyxyyyyxyxyyyxyyyxyyyyyyxyyxyyyyyyyyyxyxyyyyyxyyyyyyyyyyyyyyxxyxxyyyyyyyyyyyyxyyyyyyxxyyyyxxyxyyyyyyyxyyyyyyxyyyxyyyxyyyyyxyyyyyyxyxyyyxyxyxxyxyyyyyyxxxyyxyyyyyyyxyxyyyyyyyxxyyyyyxyyyxyyyxyyyxyxxyyyyyyyyyyxyyxxyxyyxyyxyyxxxyyxyyxxyyyxyyyyyxxyxyyxxyyyyyyxxxxyyyyxyyyyxyyyyyyyyyyyxyyyyyyyyyyyyyyyyyyyyyyyxxyyxyxyyyyxyyyyyyyyyyyyyxyyxyxyxyyyyyyyxyyyyyyyxxyyyyxyyyyyxyyyyyyxyxyyxyyyxyxxyyxxxxyxyyyyxyyyyyyyyyyyyyyyyyyyyyyyyxyyyyyyyyyyyyxyyyyyyyyyxyxxyyyyyyyyyyyyyyyyyyyyyyyyxxyyyyyyyyyyyxyyyyyyyyxyyyyyyyxyyyyyyyyyyyyyyyyyyyyyyxyyyyyyyxyyyxyyxyyyyyyyyyyxyyyyyxyyxyyyyyyyyyyyyxyyxyxyyyyxyyyyyyyxyyyxyyxyyyyyyxyyxxyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyxyyxyyyyyyyyyyyyxyyxyyyxyyyyyyyyyyyyyyyyyyyyyyyyyxyxyyxyyyxyyyyyyyxyyyyyyxyyyyyyxyyxyyyyyyyxyyyyxyxyyyyyyyyyyyyyyyyyyyyyxyyxyyywniiiiiiimwyyyyyyyxyxrjiiiiinwyxpiiiiiijrxyyyyyyyyywmiiiiiijtxyyyxyyxyxxwniiiiiiimwyyyyyxyxyxrjiiiiinwyxpiiiiiijrxyyxyyyyyywmiiiiiijtxyxyyyxyyyywniiiiiiimwyyyyxyyyyxrjiiiiinwyxpiiiiiijrxyyyyyyyyywmiiiiiijtxyyyyyyyyyyyyyyyxyyyyyyyyxyyyyyxyxyyyyyxywniiiiiiiiovwwwwwvvwwwwwwvwvwwwwwwvwwwwwwwwwxyxyyyyyyyyyyyyywpjiiiiiijpxyyyyyyyyyyyxyyyyyxywmiiiiiiijqvwwwwwwwwwvvwwwwwvvvwwvwwvwuliiiiiiijvyyyyyywmiiiiiiijqvvwwwwwwwvvwwwvwwwwwvwwwwwwukiiiiiiijvxyyyyyyxyyyyyyyxyyyyxyyyxyyyyyzyyxxwuqokjjihhiiiiiiiiiiiiiiimuyyyyyyyyyyyxyyyyyyyxqjiiiiiikvyyyyxyyyxsjiiiiiilwyyxyxyyxxyyxyyxqjiiiiiijtyyyyyyyywmiiiiiijqxyyyxyyyyyyyyyxxyxywpjiiiiiiinxyxyyyyyyxyyxyyyxyxyyyxyyyyyyxyyyxujiiiiiiijqxyyyyyyyyyyyyyyyyyyyxxyyxyxyywkiiiiiiiilwxyyyyyyyyyyyyyyyyyyxyyyxyyyyyyyyyyyyyyyyyyyyyyxyyxyxyxyyyyyxyyywjiiiiiiijqxyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyxrjiiiiiiijuxyyxyxyyyyyyyyxyyxyyyyyxyyxxyyxxyxyxyxujiiiiiiimwyyyxyyyyyyyyxyyyxxyyxyyyxyywoiiiiiiijqxyyyyxyyxwojiiiiiijpxyyxyyxxyyyyxyyyyyyxtjiiiiiijpxyyyyyxyyxyyyyyyxyyyyxyyyywmiiiiiiilwyyyyyyyyyyyyyxyyyyyyyxyyyyyyyyyyxxxyyyxyyyyyyyyyyyyyyyyyyxyyxyyyyyyyyyyyyyyyyyyyyyxxyyyxyyyyyxyxyyxyyyyyyyxyyxxyxyyyyxyyyyyxyyxyxyyxyyxyyyxyyyxyyyyyyyyyyyyyyyxyyyyyxyxyyyyyyyyyyyyyyxxyyyyyxyyyyxxyyyyyyyyyyyyyyyyxyyxyyyyyyyyyyyyyyyyyyxxyyyyyyyyyyyyxyyxyyxyyxyxyxyyyyyyyyyyxxyyyxyyyyyyxyyxyyxyxyyxyyyyyxxyyxyyyyyyyyyyxyyyyyyyyyyyyyxxyyyyxyxxyyxyyyyxyyxyyyyxyxyyyyxxyyyyyyyyxyyyxyxyxyyyyyyyyyyxyyyyyyyyyyyyyyyyxyyyyyyyyyyyyyyyyxyyxyxyyyyyyyyyyyyyyyyyyyyyyyxyxyyyyyyyxyyyyyyyyxyyyyyyxyyyxyyyyyyyyxyyxxyyxyxyyyyxxyyyyyyyyyyyyxyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyxyxxyyyyyyyyyyyyyyyyyyyxyyyyyyyxyyyyyyyyxxyyyyyyyyxyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyxyxxyyyxyyxyyyyyyyyyyxyyxyyxyyxyyyyyyyyyyyyyyyyyxyyyyyyyyyyyyyyyyyyyyyyyyyyxyyyyxyyyyyyyyyyyyyyyyyyyyyyyyxyyyyyyyyyyyyyyyxyyxyyyyyyyyyyyyyyyyxyyyyyyxyyyyyxyyyyyyxxyxyyyyyyyyyyyyyyyyyyyyyxyyxyyyyyyyyyyyxyyyyyyyyyyyyyyyyyyyyyyyyyyyyxyxyxyxyyyyyyyyyyyyyyyxyyyyyxyyxyyyxqjiiiiiikvyyyyyyyyyxoiiiiijqxyxsjiiiiiiowyyyyyyyyyvkiiiiiilwyyyyxyyxyxyxrjiiiiiikvyyyyyxyxyxoiiiiijqxyxsjiiiiiiowyyyyyyyyyujiiiiiilwyyxyyyyyxyyxrjiiiiiikuyyyyyyyyyxoiiiiijqxyxsjiiiiiioxyyyyyyyyyujiiiiiilwyyxyyyyyyyyyyyyyxyyyyxyyyyyyyyyxyyyyyyyxywniiiiiiiipxyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyywpiiiiiiijqxyyyyyyyyyyyyyyyyyxywliiiiiiiijkkkkkkkkkkkkkkkkkkkkkkkkkkkkiiiiiiiijuyyyyyywliiiiiiiijkkkkkkkkkkkkkkkkkkkkkkkkkkkkiiiiiiiijtxyyyyyyxyyyyyyyxyyyyxyyyxyxyyxyyyyyyyxwwtqnkjjhhiiiiiiiiiiiiinvxyyyyyyyyyyyyyyyyyxukiiiiiijtyyyyxyyyxoiiiiiiipxyyyxxyyxyyyxyyxukiiiiiijqxyyyxxyyvkiiiiiijtxxyyxyyyyyyyyyxyyxywpjiiiiiiinxyyyyyyyyyyyxyyyyyyyxyxyyyyxyxyyyyvjiiiiiiijqxyyyyyyyxyyyyyyyyyyyxxyyxyxyywliiiiiiiikwxyyxyyyyyyxyyyyyyyyxyxyyxyyyyyyyyyyyyxyyyxyyyyyyyxyyyxyyyyyyyyywjiiiiiiijqxxyyyyyyyxyyyyyxyyyyyyxxxxyxyyyyyyyxrjiiiiiiijvyyyyyxyyyyyyyxyxyxyyxyyxyyyxyyyyyyyxyxsjiiiiiiioxyyyxyyyxyyyyxyyyxyxxxyyyxyyxqjiiiiiijpxyxyyxyxyxpiiiiiiijrxyyxyyyxyyyyxyyyyyyxrjiiiiiijqxyyyxyyyyxyyyyyyxyyyyxyyyyxoiiiiiiilwyyyyyxyyyyyyyyyyyyyyyyxyyxyyyyyxxyxyyyyyyyyyyyyyyyyyyyyyyyyyxyyyyyyxyyyyyyxxyyyyyyyxyyyyyyyyyxyyyyxyyyyyxyyyyyxyyyyyyyyyyyyyyyyyyyyxyyxyyyyyxyyyyyyyyyyyyyyyyyxyyxxyyxxyyyyyyyyyyyyyyyyyyyyxyyyyyxxyyxyyyyyyyyyyyyyyyyxyyyyyyyyyyyyyyyxyyyxxyyyyyyyyyyyyyxxyyxyyyyyyyyyyyyyyyyyyyyyyyyyyyyyxyyyyyxyyyyxxxyyyxyyyyyyyyyyyyyyyyyyyyyyyyyyyyyxyyyyyyxyyyyyyyyyyyyyyyxxyxyyyyxyyyxyyyyyxxyyxyxxxyyyyyyyyyyyyyxyyyyyyyyyyyyyyyyyyyyxyyyyyyyyyxxyyyxyyyxyxyyyyyyyyyyyxyyyyyyyxxyyyyyxxyyyyyyyyxyyyyyyyyyyxyyyyyyyyxyyyxyyyxxyyyyxyyyyyyyxyyxyyyyxyyyyyyyxyyyyyyyyyyyyyxyyyyyxyxyyxyyxxyyyxyxyyyyyyyyyyyyyyyyyyyyyyyyyyyxxyyyyxyyyyyyyyyyyyyxyyyyyyyyyyyyyyxyyyyyyyyyyyyyyyyyyyxyyyyxyyxyyyyyyyyyyyyxyxyyyxxyyxyyyyyyyyyyyyyyyyyxyyyxyyyyyyyyyxyyyyxyyyyyyyxyyyyyyxyyyyyyyyyyyyyyyyyyyyyyxyyyyyxyyyyyyyxyyyyxyyyyyyyyxxyyyyyyyyyyyyyxyyxyyxyyyyyyxxyyxyyxxyyyyyyyyyyyyyyyyxyyyyyyyyyyyyyyxyyyyyxyyyyyyyyyyyyyyyyxyyyyyxyxyxxxyyxyyyyyyyyyyyyxyyyyyyyyxyyyyvkiiiiiijrxyyyyyxyywliiiiijtxxxvkiiiiiilwyyyyyyyyxqiiiiiiipxyyyyyyyxyyyxukiiiiiijrxyyxyyyyywliiiiijtxyyvkiiiiiilwyyyyyyyyxqiiiiiiipxyyyyyyyyyyyyvkiiiiiijrxyyyyyyyxwliiiiijtxyyvkiiiiiilvyxyyyyyyxqjiiiiiipxyyxyyyyyyyyyyyyyxyyyyyxyyyyyyyyxxyxyyyyyywniiiiiiiipxyyyyxxyyyyyyxyyyyyyyyyyyxyyyyyyyyyyyyxxyyyyyyyyywpiiiiiiijrxyyyyyyyyyyyyyyyyyyxujiiiiiiiihhhhhhhhhhhhhhhhhhhhhhhhhhhhhiiiiiiiijsxyyyyxujiiiiiiiihhhhhhhhhhhhhhhhhhhhhhhhhhhhhiiiiiiiijsxyyyyyyyyyyyyyyxyyyxyyyyxxxyyyyyxyyyyyyyxxwvsqkjiihiiiiiiiiiiiqxyyyyyxyyyyyyyyyyyywmiiiiiijqxyyyyyyywliiiiiijsxyyyxyyyxyyyxyxywmiiiiiiinwyyyxxyxsjiiiiiilwyxyyyyyyyyyyyyyyyyyxpiiiiiiiinwyyyyyyyxyxyyyyyyyyyyyxyyyyyxyyyyyujiiiiiiijqxyyyxyyyyyyyyyyxyyyyyyyyyyyyywniiiiiiiikuxyyyyyyyyyyyyyxyyyyyyxyyxyyyyyyyyyyyyyyyyyxyyyyyyxyyxxyyyyyyyyywjiiiiiiijqxyyxyyyyyyyyxyyyyyyyxyxxyxyyyyyyxyyxrjiiiiiiijuyyyyyyyyyyyyyxyxyyyyyyyyyyyyyyyyyyyyyxrjiiiiiijqxyxyxyyyyyxyyxyyyyyxyyyyyyyyxsjiiiiiiiowyyyyyyyyxpjiiiiiijrxyyxyyyxyyyxxxyxyxyxqjiiiiiijsxyyyxyyxyxyyyyyyxxyyyyyyyyxqjiiiiiilwyyyyyxyyyyyyyyyyyyyyxyyyyyyyyyyyyyyyyyyyyxyyyyyyyyyyyyyyyyyyyyyyyyyxyyyyyyxxyyyyyyyyyxyyyyyyyyyyyyyyyxyyxyyyyyxyyyyyyyyyyyyyyyyyyyyyyyxyyyyyxxyyyyyyxyyyyyyyyxxyyxxyyyyyyyyyyyxyxyyyyyyyyyxyyyyyyxxxyxyxxyyyyxyyyyyyyyyyyyyyyyyyyyyyyyyxyyyxxyyyyyxyyyyyyyyyyxyyyyyyyyyyyyyyyyyyyyyyyyyyyyxxyyyyyyyyyyyyyyyyyyyyyyyxyyyyyyyyyyyyxyyyxxyyyyyyyyyyyxyyyyyyyxyyxyyyyyyyyyyyyyyyyxyyyyyyyyyyyyyxyyyyyyxyyxyyyyyyyyyyyyyxyxyyyyyyxyyyyyyxyyyxyyyyyyyyyxyxxyyyyyyyyyyxyyxyyyyyxyyxyyxyyyyyyxxyyyyyyyyyyyyyyyyxyyyyxyyyyyyyxyyyyyyyyyyyyyxyyxyyyyyyyxyyyyyyyyyyyyyyyyyyyyyyyyyyxyyxyyyyyyyyyxyyyyyyyyyyyyyyyyyyyyyyyyyyyyxyyyyyyyyyyyyyyyyyyyyyyyyxyyyyyyyyyyyyyyyyyyyyyyyxyyyyyyyyyyyyyyyyyyyyyxyyyyyyyyyyyyyxyyxyyyyyyyyyyyyyyyyyyxyyyyxyyyyyyyyyyyxyyyyyxyyyyyyyyyyyyyyyyyyyxxyyyyyyyyyyyyyyyyxyyyyyyyyyyyyyyyyyyyyxyyyyyyyyyyyyyyyyxyyxyxyyyyxxyyyyyyxyyyyyyyyyyyxyyyyyyyyyyyyxyyyyyyxyyyyyxyyyyyyyyyyyyyyyyyyyyyyyyxyyxyyyyyyyyyyyyyyyyxyyyyyyyyxyyyywmiiiiiiioxyyyyyxyytjiiiiilwyxywmiiiiiijtxyyyyyyyxmiiiiiijtyyyyyyyyyyyyywmiiiiiiioxyyxyyyyytjiiiiilwyyywniiiiiijtxyyyyyyywmiiiiiijtyyyyyyyyyyyxywniiiiiiiowyyyyyyyxtjiiiiilwyyywmiiiiiijtxyyyyyxywmiiiiiijtxyyxyyyyyyyyyyyyyyyxyyyxyyyyyyyyyxyxyyyyyyxniiiiiiiipwyyyyxyyyyyxyxyyyyyxyyyyyyyyyyyyyyyyyyyyyyyyyyyyyxpiiiiiiijrxyyyyyyyyyyxyyyxxyyxujiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiijrxyyyyxtjiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiijrxyxyyyyyyyxyyyyyyyyxyyyyxxyyyyyyyyyyyyyxyyyyyxvsokiiiiiiiiiiiikuyyyyyxyyyyyyyyyxyyxpjiiiiiinxyyyyyyxtjiiiiiikvyyyyxyyyxyyyyyyyxpjiiiiiilwyyyxxywpjiiiiiinxyxyyyyyyyxyyyyyyxyywpiiiiiiiinwyyyyyyyxyyyyyyxyyyyyyxyyyyyyyyyyxujiiiiiiijqxyyyyyyyyyyyyyxxyyyyyyyyyyyxywoiiiiiiiijtxyyyxyyyyyyyyyxyyyyyyxyyxyyyyyyyyyyyyyyyyyxyyyxyyyyyxxyxyyyyyxywjiiiiiiijqxyyyyxxyxyxyxyyyyyyxyyyyyyyyyyxyxyxxrjiiiiiiijuyyyyyyyyyyyxxxyyyyyyyyyyxyyyyyyyyyyyyxrjiiiiiijrxyyyxyyyyyxyyyyyyyyyyyyyyyyyxujiiiiiiinwyyyyyxyywpjiiiiiijrxyyxyyyyyyyxyyyyyxyxpiiiiiiijtxyyyxyyxyyyyyyyyxxyyyyyyxyxrjiiiiiilwyyyyyyyyyyyyyyxyyyxxxyyyyyyyyyyyyyyyyyyyyxyyyyxyyyxxyyyyyyyyyyyyyyyxyyyyyyxxyyyyyxyyyyyyyyyyyyyyyxyyyxyyxyyyyyyyyyyyxyyyyyyyyyyyyyyyyyyyyyyyxxyyyyyyxyyyyyyyyyxyyyyyyyyyyyyyyyxyxyyyyyyyxyxyyyyyxxxyyxyxyyyyyxyyyxyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyxxyyyyyxyyyyyyyyyyyyxyyxyyyyxyyyyyyyxxyyyyyyyyxyyyyyyyyyyyyxyyyyyyyyyyyyyyyyyyxxyxyxyyxyyyyxyyxyyyyyyyxyxyyyyyyyxyyyyyxyyyyyyyyyyyyyyyyyyyyxyyyyyyxyyyyyyyyyyyyyyyyyyxyyyyyyxyyyyyyyyyyyyyyxyyxyxyyyyyyyyyyyxyyyyyyyyxyyyyyyyyyxyyyyyxyyyyyyyyyyyyyyyyxyyyyyxyxyyxyyyyyyyyyyxyyyyyyyyxyyyyyyyyyyyyyyyyyyyyyyyyyyyyxyyyyyyyyyyyyxyyyyyyyyxyyyyyyyyyyyyyxyyxyyxyyyyyxyyyyyxyyyyyyyyyyyyxyyyyyyyyyyyyyxyyyyyyyyyyyyyyyyxyyyyyyyyyyyxyyxyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyxyyyyxyyyyyyyyxyyyyyyyyyyyyyyyyyyyyyyyyxyyyyyyyyyyyyyyyyyyyyyxyxyyxyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyxyxyyyyxyyyyyyyyyyyyxyyxyyyyyyyxxyyxyyyyyxxyyyyyyyyyxyyyyyyyxyyyyyyyyyyyyyyyyyyyyyyyyyyyxyyyxyyyyyyyyyyyyyyyyyyyyyyyyxqjiiiiiilwyyyyyxyxpiiiiiioxyxyxqjiiiiijqxyyyyyyyvkiiiiiilwyyyyyyyyyyyyyxqjiiiiiilwyyxyyyyxpiiiiiinxyyyxqjiiiiijqxyyyyyyyvkiiiiiilwyyyyyyxyyyyyyxqjiiiiiilwyyyyyyyxpiiiiiinxyyyxqjiiiiijqxyyyyyyyvkiiiiiilwyyyyyyyyyyyyyyyyyyyxyyyyyyyyyyyyyxyyyyyyyyxniiiiiiiipxyyyyxyyyyyyyxyyyxyyyyyyyyyyyyyyyyxyyyyyyyyyyyyyyxpiiiiiiijrxyxyxyyyyyyxyyyyyyyxtjiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiijrxyyyyxtjiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiijrxyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyxyyyyyyyxwupkiiiiiiiiiiiowyyyyxyyyyyyyyyyyyxsjiiiiiilwyyyyxyxqjiiiiiimwyyyyyyyyxyyyyyyyxsjiiiiiijtxyyxxywmiiiiiijqxyxyyyyyyyyyyyyyyxyywpiiiiiiiinwyyyyyyyxyyyyyxyyyyyyxyyyyyyyyyyyxujiiiiiiijqxyyyyyyyyyyyyxyxyyyyyyyxyyyyyxqjiiiiiiijrxyyyyyxyyyyxyxxyxyyyyyyyxxyyxyyyyyyyyyyyyyxyyyyyyyyyxxyyyyyyyyxwjiiiiiiijqxyyyyxyyyyxyyyyyyyyxyyyyyyyyyyxyyyyxrjiiiiiiijuyyyyyyyyyyyyxxyyyyyyyyyyxyyyyyyyxyyyyxqjiiiiihjsxyyyyyyyyyyyyyyyyyyyyyyyyyyyxujiiiiiiinxyyyxyxyxxpjiiiiiijrxyyyyyyyyyyxyyyyyyywoiiiiiiijuxyyyyyyxyyyyyyyyxyyyxyyyyyxsjhiiiiilwyyyyyyyxyyyyyyxyyyxyyyyyyyyyyyyyyyyyyyyyyxyyyyyyyyyyyyyyyyyxyyyyyyxyyyyyyyyyyyyyxyyyyyyyyyyyyyyyyxyyxyyyxyyyyyyyyyyyyyyyyyyyyyyyyyxyyyyyyyyyyyyxyyyyyyyyyyyyyyyxyyyyyyyyyyyyyyyyxyyyyyyyyyyyyyyyyxxyyyyxyyyyyxyyyyxyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyxxyyyyyyyxyyyyyyyyyxxyyyyxxxyyyyyyyyyyyyyyxyyyyyxyyxyyyyyyyxyyxyyyyyyyyyyyxyyxyyyyyyyyyyyyyyyyxyyyyyyyyyyyyxyyyyyyyyyyyyyyyyxyyyxyyyyyyyxyxyyyyyyxyxyyyyyyyyyyyyyyyxyxyyyyyyyyyyyxxyyyyyyyyyyyyyyyyyyyyyyyyyyyxyyxyyyyyyyyyxyyyyyyyxyyyyxyyyyyyyyxyxyyyyyyxyyyyyyyyyyyyyyyyxyyyyyyyyyyyyyxyyxyyyyyyyxyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyxyyyyyyyyyyyyxyyyyyyyyyxyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyxyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyxyyyyyyxyyxyyyyyxyxyyyyyyyyyyyyyyyyyyyyyyyyxyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyxyyyyyyyyyyyyyyyyyyyyyyyxyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyujiiiiiijtxyyyyyyxmiiiiijrxyyyyujiiiiiimwyyyyyyxsjiiiiiipxyyyyyyyyyxyyyyujiiiiiijtxyyyyyywmiiiiijqxyyyxtjiiiiiimwyyyyyyxrjiiiiiipxyyyyyyyyyyyyyyujiiiiiijuyyxyyyywmiiiiijrxyyyyujiiiiiimwyyyyyyxrjiiiiiipxyyyyyyyyyyyyyyyyxyyxyxyyyyyyyyyyxyyyyyyyyywniiiiiiiipxyyyyxyxyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyywpiiiiiiijrxyyyxyyyyyxxyyyyyyyxsjhiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiijqxyyyyxsjhiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiijqxyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyxyyyyyyyyyyxyyyyxunjiiiiiiiiikuxyyyyyyyyyyyyyyyyyvkiiiiiijtyyyyxywmiiiiiijpxyyyyyyyyyyyyyyyyyvkiiiiiijqxyyxyxvkiiiiiijuyyxyxxyyyyyyyyyxyyyyxpiiiiiiiimwyyyxyyyyyyyyxxyyyyyyyyyyyyyyyyyyyujiiiiiiijqxyyyyyxyyyyyyxyyyyyyxyyxyyyyyxsjiiiiiiiipxyyyyyyyyyyyxxyyyyyyyyyyxxyyyyyyyyyyyyxyyxyyyyyyyyyyyxyyyyyyyyywjiiiiiiijqxyyyyyyyyyyyyyyyyyyyyyyyyyyyyyxyyyyxrjiiiiiiijuyyyyxyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyxpjiiiiiijtxyyyyyyyyyyyyyxyyyyyyyyyyyyyywjiiiiiiilwyyyyyxyyxpiiiiiiijrxxyyyyyyyyyyyyxyyyywniiiiiiijvyyyyyyyyyyyyyyyyyyyxyyyyyyxtjiiiiiilwyyyyyyyyyyyyyyxxyyyyyyyyyyyyyyyyyyxyyyyyyyyyyyyxyyyyyyyyyyyyyyyyyyxyyyxyyyyyyyyyyyxyyyyyyyxyyyyyyyyyxyyyxyyxyyyyyyxyyyyyyyyxyyyxyyyxyyyyyyyyyyyxyyyyyyyyyyyyyyyxyyyyyyyyyyxyyyyyxyyyyxyyyyyyyyyyyxxyyyyyyyyxxyyyxyyyyyyxyyyyyyyyyyyyyyyyyyyyyyyyyxyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyxxyyyyyyyyyyyyyyyyyxyyyyyxxyyyyyyyyyxyyyyyxyyyyyyyyxyyyxyyyyyyyyyyyyyyyyyyyyyxyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyxyyyyyyyyyyyyyyxyyyyyyyyyyyyxyyyyyyyyxyyyxyyxyyxyyyyyyyxyxyyyyyyyyyyyyyxyyyyyyyyyyyxyyyyyyyyyyyyyyxyyxyyyyyyxyyyxyyyyyyyyyyyyyyxyyyyyyyxyyyyyxyyyyyyyyyyyyyxyyyyyyyyyyyxxyyyyyyxyyyyyyyyyyyyyyyxyyyyyyyyyyyyyyyyyyyyyyyyyxyyyyyyyyyyxyyyyyyyyyyyyyyxyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyxyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyxyyyyyyxyyyyyyyyyyyyyxyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyxyyxyyxyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyxyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyxyyyyyxyyyyyyywmiiiiiiipxyyyyyyvkiiiiijuxyyyywliiiiiikvyyyyyyxoiiiiiijuyyyyyyyxyyyyyyywmiiiiiiipxyyyyyyvkiiiiijuyyyyywliiiiiikvyyyyyyxniiiiiijtxyyyyyyyyyyyyyywmiiiiiiipxyyyyyyukiiiiijvyyyyywliiiiiikvyyyyyywniiiiiijuxyyyyyyyyxyyyyyyxxyxyyxyyxyyyyyyxxyyyyyyyyywniiiiiiiipxyyyyyyxyyyyxyyyyyyyyyyyyyyyyyyyxyyyyyyxxyyxyyyyywpiiiiiiijrxyyyyyyyyyyyyyyyyyyxrjiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiijqxyyyyxrjiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiijqxyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyxyyyyyyyyyyyyyyyyyywpjiiiiiiiijqxyyyyyyyyyyyyyyyyywmiiiiiijqxyyyyyvkiiiiiijtxyyyyyyyyyyyyyyxyywmiiiiiiinxyyyyxsjiiiiiimwyyyyyyyyyyyyyyyyyyyyxpiiiiiiiinwxyyyyxyyyyyyyyyyyyyyyyyyyyyyyyyyyujiiiiiiijqxxyyyyyyyyyyyyyyyyyyxyyxyyyyyyvkiiiiiiiinxyyxyyyyyyyyyyyyyyyxyyyyxyyyyyyyyyyyxyyyyxyyyyyxyyxyyxyyyyyyyyywjiiiiiiijqxyxyyyyyyyyyyyyyyyyyyyyyyyyxxyxyyyyxrjiiiiiiijuyyyyyyyyyyyyyyyxyyyyyyyyyyyyyyyyyxyyyxpjiiiiiijtxyyxyyyyyyxyyyxyyyyyyyyyyyyyywjiiiiiiilwyyxyyyyyxpiiiiiiijrxyyyyyyyyyyyyyyyyyywniiiiiiijvyyyyyyyyyyyyyyyyyyyxyyyyyyxtjiiiiiilwyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyxxyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyxyyyyyyyyyyyyxyyyyyyyxyyyyyyyyyyyyyyyyxyxyyyyyyyyyyyyyyxxxyyxyyyyxyyyyyyyyyyxxyyyyxyyyyyyyyxyyyyyyyyyyyxyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyxyyyyyyyyyxyyyyyyyyyyyyyxyyyyyyyxyyyyyxyyyxyyyyyyxyyyyyyyyyyyyyxyyyyyyyyyxyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyxyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyxyyyxyyyyyxyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyxyyyyyyyyyyyyyyxyyyyyyyyyxyxyyyyyyyyyyyyyyyyyyyyyyyyxxyyyyyyyyyyyyyxyyxyyyyyyyyyyyyyxyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyxyyyyyyyyyyyyyyyyyyyyyyyyyyyxyyyyyyyyyyyyyyyyyyyyyxyyyyxyyyyyyxyyyyyxyyyyyyyyxyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyxyyyyxyyyyyyyyyyyyyyyyyyyyyyyyyyxyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyxyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyxyyyyyyyyyyyyyyyyyyxyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyxyyyyyxyyyyyyyxqiiiiiiimwyyyxyxrjiiiiimwyyyyyxoiiiiiijsyyyyyyvkiiiiiilwyyyyyxyyyyyyyyyxqiiiiiiimwyyyyyxrjiiiiimwyyyyywoiiiiiijsxyyyyyvkiiiiiilwyyyyyyyyyyyyyyyxqjiiiiiimwyyyyyxrjiiiiimwyyyyyxoiiiiiijsyyyyyyvkiiiiiilwyyyyyyyyyyyyyyyyyyyxyyxyyyyyyyyyyxyyyyyyyyywniiiiiiiipxyyyyyyyyyyyyyyyxyyyyyyyyyyyyyyyxyyyyyyyyyyxyyyyyxpiiiiiiijrxyyyyxyyyyyyyyyyyyyxrjiiiiiiiihhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhiqxyyxyxrjiiiiiiiihhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhiqxyyyyyyyxwwwwwwwwxyxyyxyyyyyyyyyyyyyyyyyyyyyyyyyyyyyywoiiiiiiiiimwyyyyyyyyyyyyyyyyyxpiiiiiiioxyyyyxsjiiiiiilwyyyyyyyyyyyyyyyxyyxqjiiiiiilwyxyyxpiiiiiiipxyyyyyyxyyyxyyyyyyyyyxpiiiiiiiinwyyyyxyyyyyyyyyxyxyyyyyxyyyyyyyxyyujiiiiiiijqxxyyyyyyyyyyyyyyyyxyyyyyyyyyyywliiiiiiiikwyyyyyyyyyyyyyyyyyyyyxyyxyyyyyyxyyyyyyyyyxwwwxxyyyxyyxyyyyyxyyywjiiiiiiijqxyyyyyyyyyyyyyyxyyyyxyyyyyxxyyyyyyyxrjiiiiiiijuyyyyyyyyyxyyyyyxyyyyxyyyyyyxyyyyyyyyyxoiiiiiiijtxyyyyyyyyyyyyyxyyyxyyyyyyyyyywjiiiiiiimwyyyxyyyyxpiiiiiiijrxyyyyyyyyyyyyyyyyyywniiiiiiijuyyyyyxyyyyyyyyyyyyyxyxyyyyxtjiiiiiilwyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyxyyyyyyyyyxyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyxyyyyyyyyyyyyyxyyyyyyyyyyyxyyyyyxxyyyyyyyyyyyyyyyyyyyyyyyyyyyxyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyxyyyyyyyyyyyyyyyyxxxyyxyyyyxyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyxyyyyyyyyyyyyyyyyyxyyyyyyyyyyyyyyyyyxyyyyyyyyyyyyyyyyyyyyyyyyyyyxyyxxyyyyyyyyyxyyyyyyxyyyyyyyyyyyyyxyyyyyyyyxyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyxyyxyxyyxyyxyyyyyyyyxyyyyyyyyyyyyyyyxyyyxyyyyxxyyyyyyyyyyyyyyyxyyyyyyxyyyyyyyyxyyyyyyyyyyyyyyyyyyxyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyxyyyyxxxyyyyyyyyyyyyyyyyyyyyyyyyyyyyyxyyyyyyyyyxyyyyyxyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyxyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyxyxyyyyyyyyyyyyyyyyyyyyxyyyyyyyyyyxyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyxyyyyyyyxxyyyyyyyxyyyyyxyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyxyyyyyyyyyyyyyyyyxyyyxyyyyyyyyyyyxyyyyyyyyyyyyyyyyxyyyyyxyyyyyyyyyyyyxyyyyyyyyxyyyyyyyyyyujiiiiiikvyyyyyxniiiiiipxyyyyyxsjiiiiiipxyyyyxsjiiiiiipxyyyyyxyyyyyyyyyyujiiiiiikvyyyyyxniiiiiipxyyyyyxsjiiiiiipxyyyyxsjiiiiiipxyyyyyyyyyyyyyyyyukiiiiiikvyyyyyxniiiiiipxyyyyyysjiiiiiipxyyyyxsjiiiiiipxyxyyyyyyxyyyyyyyyyxxyyyyyyyyyyyyyyyyyyyyyyyxniiiiiiiioxyyyyyxyyyyyyyyyyyyyyyyyyyyyyyyxyyyyyyyyyyyxyyyyyxpiiiiiiijrxyyxyyyyyyyyyyyyyyyxrjiiiiiiiikkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkklrxyyyxxrjiiiiiiiikkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkklrxyyyyyyxrlkkkkkklrxyyyyyyyyyyyyyyyyyyyyyyxyyyyyyyyyyyyvliiiiiiiikvyyyyyyyyyyyyyyyyyxsjiiiiiimwyyyyxpiiiiiiinxyyxyyyyyyyyyxyyyyyxtjiiiiiijuyyyyxmiiiiiijsxyyyyyyyyyyyyyyyyyyyyxpiiiiiiiinxyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyxyyujiiiiiiijqxyyyyyyyyyyyyyyyyyyxyyyyyyyyyywniiiiiiiijuyyyyyyyyyyyyyyxyyyyyyyyyyyyyyyxyxyyyyyyyxrllqrvwxxyyyyyyyyxyyywjiiiiiiijqxyyyyyyyyyxyyyyyyyxyxyyyyyyxyyyyyyyxrjiiiiiiijuxyyyyyyyyyyyyyyyyyyyyyyyyyyxyyyyyyyyyxpiiiiiiijtxyyyyyyyyyyyyyyyyyxyxyyyyyyyyvjiiiiiiinxyyyyyyyyxoiiiiiiijrxyyyyyyyyyyyyyyyyyyxniiiiiiijuyyyyyyyyyyyyyyyyyyyxyxyyyyxsjhiiiiilwyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyxyyyyyyyyyyyyyyyyyyyyyyyyyyxyyyyyyyyyyyyyxyyyyyyyyyxyyyxyyyyxyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyxyyyyyyyyyyyyyyyyyyyyyyyyyxyyyyyyyyyyyxyyyyyyyyyyxyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyxyyyyyyyyyyyyxyyyyxyyyyyyyyyyyyyyyyyxyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyxxyyyyxyyyyxyyyyyxxyyyyyyyyyyxyyxyyyyyyxyxyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyxyyyyyxyxyyyxyyyyyyyyyyyyyyyyyyyyyyyyyyyxyyyyxyxyyyyxyyyyyyyyyxyyxyyyyyyyxyyyyyyyyyyyyyyyyyyyyyyyxyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyxyxyyyyxyyyyyyyyxyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyxyyyyyyyyyyyyyyyyyyyyyyyyyyxyyyyyyyyyyyyyyyyyyxyyyyyyyyyyyyyxyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyxxyyyyyyyyyyyyxyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyxyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyxyyyyyyyyyyyyyyxyyyyyyyyyxyyyyxyywmiiiiiijsxyyyywliiiiijsxyxyyyyvkiiiiiilwyyyyxoiiiiiijtyyyyyyyyyyyyyyyyywmiiiiiijrxyyyywliiiiijsxyyyyyyvkiiiiiilwyyyyxoiiiiiijuxyyyyyyyyyyyyxyyywmiiiiiijrxyyyywliiiiijsxyyyyyyvkiiiiiilwyyyyxoiiiiiijtyyyyyyyyyyyyyyyyyyyxxyyyyyyyyyyyxyyyyyyyyyyyxniiiiiiiioxyyyyyxyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyxpiiiiiiijrxyyxyyyyyyyyyxyxyyyxrjhiiiiiimvwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwxyyyyyxsjhiiiiiimuwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwxyyyyyyyxrihhhhhhioxyxyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyxqjiiiiiiijuyyyyxyyyyyyyyyyyyyvkiiiiiikvyyyywliiiiiijqxyyyyyyyyyyyyyyyyyyxwliiiiiijrxyyyvkiiiiiijvyyyyyyyyyyyyyyyyyyyyyxoiiiiiiiinxyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyxyyujiiiiiiijqxyyyyyyyyyyyyyyyyyyyyyyyyyyyyyxrjiiiiiiijqxyyyyyyyyyyyyyyyyyyyyyyyyyyyyxxyxyyyyyyyxnihjjkmqrvxyyyyyyxyyywjiiiiiiijqxyyxyyxyyyxyyyyyyyyyyxyyyyyyyyyyyyyxrjiiiiiiijuyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyxqjiiiiihjsxyyyyyyyyyyyyyyyyyxyxyyyyyyyyvkiiiiiiinwyyyyyyyyxoiiiiiiijrxyyyyyyyyyyyyyyyyyyxpjiiiiiijtxyyyyyyyyyyyyyyyyyyxyyyyyyxrjiiiiiilwyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyxyyyyyyyyyyyyyyyyyyyyyyyyxyxyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyxyyyyyyyyyyyyyyyyyxyxyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyxyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyxxyyyyyyyyyyyyyyyyyxyyyyyyyyyyxxyyyyxyyyyxyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyxyyyyyyyyyyyyyyyxxyyyyxyxyyxyyyxyyxyyxyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyxyyyyyyyyyyyyyyyyxyyyyyyyyyxyyyyyyyyyyyyyyyyyxyxyyyyxyyyyyyyyyxyyyyyyyyyyyyyyyyyyyyyyxyyyyyyyyyyyyyyyyyyyyyyyyyxyyyyyyyyyyxyyyyyyyyxyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyxyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyxyyyyyyyyyyyyyyyyyyyyyyyyyyxyyyyyyyyyyyyyyyyyyyyyxyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyxyyyyyyyyyyyyyyyyyyyyyyyyyyyxyyyyyyxyyyyyyyyyyyyyyyyyyyyyyyyyxyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyxyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyxyyyyyyyyyxyyyxyyyyyyyxqjiiiiiioxyyyxsjiiiiijvyyyyyyyxmiiiiiijuyyyywliiiiiilwyyyyyyyyyyyyyyyxyxqjiiiiiioxyyyxsjiiiiijvyyyyyyywmiiiiiijuyyyywliiiiiilwyyyyyyyyyyyyyyyyyxqjiiiiiioxyyyxsjiiiiijvyyyyyyywmiiiiiijuyyyyvliiiiiilwyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyxyyyxniiiiiiiioxyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyxoiiiiiiijsxyyxyyyyyyyyyyyyyyyxtjiiiiiiilxyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyxsjiiiiiiilxyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzyyyyyzyyyyyyyyyysjhiiiiiimxyxyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyvkiiiiiiijsxyyyxyyyyyyyyyyyyyxniiiiiijsxyyyujiiiiiikuyyyyyyyyyyyyyyyyyyyyxoiiiiiiioxyyxsjiiiiiimwyyyyyyyyyyyyyyyyyyyyyxoiiiiiiiinxyyyyyyyyyyyyyyyyyyyyyyyyyyyyxyyyyujiiiiiiijqxyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyukiiiiiiiimwyyyyyyyyyyyyyyyyyyyyyyyyyyyyxyyyyyyyyyywliiihhijjluyyyyyyyyyywjiiiiiiijqxyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyxyyrjiiiiiiijuyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyxrjiiiiiijrxyyyyyyyyyyyyyyyyyxyyyyyyyyyyujiiiiiijowyyyyyyyyxoiiiiiiijrxyyyyyyyyyyyyyyyyyyxpjiiiiihjsxyyyyyyyyyyyyyyyyyyxyyyyyyxqjiiiiiilwyyyyyxyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyxyyyyyyyyyyyyyyyxyxyyyyxyyyyyyyyyyyyyxyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyxyyyyyyyyyyyyyyyyyyyyyyyyyxyxxyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyxyyyyyyyyyyxyyyyyxxyyyyyyyyyyyyxyyyyyyyyyyyyyyyyyyyyxyyyyyyyyyyyyyyyyyyxyyyyyyyyyyxyyyxyyyyxyyyyyyyyyyyyyyxyyyyyyyyyyyyyyyyyyyyyyyyyyyxyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyxyxyyyyxyyyyyyyyyyyyxyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyxyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyxxxyyyyyyyyyyyyyyyyxyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyxyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyujiiiiiilwzyyxpiiiiiimxyyyyyyyxpiiiiiijrxyyxsjiiiiiipxyyyyyyyyyyyyyyyyyyujiiiiiilwyyyxpiiiiiimxyyyyyyyxpiiiiiijrxyyxsjiiiiiipxyyyyyyyyyyyyyyyyyyujiiiiiilwyyyxpiiiiiimxyyyyyyyxpiiiiiijrxyyysjiiiiiipxyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyxniiiiiiiioxyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyxoiiiiiiijsxyyyyyyyyyyyyyyyyyyyujiiiiiiikwyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyujiiiiiiikwyyyyyyyyyyyyyxyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyujiiiiiiikvyyyyyyyyyyyyyyxyyyyyyxyyyyyyyyyyyyyyxmiiiiiiijrxyyyxyxyyyxyyyyyyyyqjiiiiiipxyyxqjiiiiiimwyyyyyyyyyyyyyyyyyyyyxrjiiiiiilwyyxpiiiiiijqxyyyyyxyyxyyyyyyyyyyyyxoiiiiiiiinxyyyyyyyyyyyyyyyyxyyyyyyyyyyyxyyyyujiiiiiiijqxyyyyyyyyyyxyyyyyyyyyyyyyyyyyyywmiiiiiiiijuyyyyyyyyyyyyyyyyyyyyyyyyyyyyxyyyyyyyyyytjiiiiiiihkwyyyyyyyyyywjiiiiiiijqxyyyyyyyyyyyyyyyyyyyyyyyyyyyyyxyyyyysjiiiiiiijuyyyyyyyyyyyyyyyyyyyyyxyyyyyyyyyyyyyyyxrjiiiiiijqxyyyyyyyyyyyxyyyyyyyyyyyyyyyxsjhiiiiiioxyyyyyyyyxoiiiiiiijrxyyyyyyyyyyyyyyyyyyxqjiiiiiijqxyyyyyyyyyyyyyyyyyyxyyyyyyxpiiiiiiilwyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyxyyyyyyyxyyyyyyxyyyyyyyyyyyyyyyxyyyyyyyyyyyyxyyyyyyyxyyyyyyyyyyyyyyyyyyyyyyyxyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyxyyyyyyyyyyyyyyyyyyyyyyyyxyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyxyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyxyyyyyyyyyyyyyyyyyxyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyxyyyyyxyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyxyyyyxyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyxxyyyyyyyyyxyyyyyyyyyyyyyyyyyyyyyxyyyyyyxyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyxyyyyyyyyyyyyxyyyyyyyyyyyyyyyxyyyyyyyyyyyyyyyyyyyyyyyyxyyyyyyxyxyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyxyyyyyyyyyxyyyyyyyyyyyyyyxyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyxyyxyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyxyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyxyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyywliiiiiijuyyywmiiiiijqxyyyyyyyytjiiiiiioxyyxpiiiiiijuxyyyyyyyyyyyyyyyyyzwliiiiiijuxyyxmiiiiijqxyyyyyyyxtjiiiiiioxyyxpiiiiiijuyyyyyyyyyyyyyyyyyyywmiiiiiijuyyyxmiiiiijqxyyyyyyyytjiiiiiioxyyxpiiiiiijtyyyyyyyyyyyyyyyyyyyyyyyyxyyyyyyyyyyyyyyyyyyyywniiiiiiiioxyyyyyyyyyyyyxyxyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyxoiiiiiiijsxyyyyyyyyyyyyyyyxyyyvjiiiiiiijuyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyvjiiiiiiijtyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyxyyyyyyyyyyyyyvkiiiiiiijsxyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyxniiiiiiijqxyyyyyyyyyyyyyyyyyyujiiiiiimxyyxoiiiiiiipxyyyyyyyyyyyyyyyyyyyyyvkiiiiiijvyywmiiiiiijtyyyyyyyyxyyyyyyyyyyyyyxoiiiiiiiinxyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyujiiiiiiijqxyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyxqjiiiiiiijqyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyxoiiiiiiiiipxyyyyyyyyyywjiiiiiiijqxyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyxsjiiiiiiijuyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyytjiiiiiiioxyyyyyyyyyyyyyyyyyyyyyyyyyyyxqjiiiiiijqxyyyyyyyyxoiiiiiiijrxyyyyyyyyyyyyyyyyyyysjiiiiiiioxyyyyyyyyyyyyyyyyyyxyyyyyyxniiiiiiilwyyyyyyyyyyyyyyyyyyyyyyyyyxyyyyyyyyyyyyyyxyyyyxyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyxyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyxyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyxyyyyyyyyyyyyyyyyyxyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyxyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyxyyyyyyyyyyyyxyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyxyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyxyyyyyyyyyyyyyyxyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyxyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyxyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyxyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyxyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyxxyyyyyyyyyyxpiiiiiijrxyyvkiiiiijuyyyyyyyyywliiiiiilwyywmiiiiiilwyyyyyyyyyyyyyyyyyyzxpiiiiiijqxyyvkiiiiijuyyyyyyyyywliiiiiilwyyxmiiiiiilwyyyyyyyyyyyyyyyyyyyxqiiiiiijrxyyvkiiiiijtyyyyyyyyywliiiiiilwyywmiiiiiilwyyyyyyyyyyyyyyyyyyyyyyxyyyyyyyyyyxyyyyyyyyyyyxniiiiiiiioxyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyxyyyyyyyyyxoiiiiiiijrxyyyyyyyyyyyyyyyyyyywkiiiiiiijsyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyywkiiiiiiijsxyyxyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyywmiiiiiiiipxyyyyyyyyyyyyyyyyyyyyxyyyyyyyxyyyyyyxniiiiiiijqxyyyyyyyyyxyxyyyyyywliiiiiikvyywliiiiiijsxyyyyyyyyyyyyyyyyyxyyywmiiiiiijsxyvkiiiiiilwyyyyyyyyyyxyyyyyyyyyyyxpiiiiiiiinxyyyyyyyyyyyyyyyyyyyyyyxyyyyyyyyyyvjiiiiiiijqxyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyujiiiiiiiimwyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyvliiiiiiiijtyyyyyyyyyyywjiiiiiiijqxyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyxsjiiiiiiijuyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyxyyyvjiiiiiiimxyyyyyyyyyyyyyyyyyyyyyyyyyyyxoiiiiiiijrxyyyyyyyyxpiiiiiiijrxyyyyyyyyyyyyyyyyyyyvjiiiiiiimxyyyyyyyyyyyyyyyyyyyyyyyyywliiiiiiilwyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyxyyyyyyyyxyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyxyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyxyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyxyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyxyyyyyyyyyyyyyyyxxyyyyyxyyyyyyyyyyyyyyyyyyyyxyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyxyyyyyxyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyxyyyyyyyyyyyyyyxyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyxyyyyyyyyyyyyyyyyyyyyyyxyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyxyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyujiiiiiinxyxsjiiiiilwyyyyyyyyyxoiiiiiijuyyukiiiiiipxyyyyyyyyyyyyyyyyyyyyujiiiiiioxyxsjiiiiilwyyyyyyyyyxoiiiiiijuyxukiiiiiipxyyyyyyyyyyyyyyyyyyyxujiiiiiioxyysjiiiiilwyyyyyyyyyxoiiiiiijuyxukiiiiiipxyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyxniiiiiiiipxyyyyyyyyyyyyyyyyyyyyyyyyyyxyyyyyyyyyyyyyyyyyyyyyxoiiiiiiijryyyyyyyyyyyyyyyyyyyyxniiiiiiiipxyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyywniiiiiiiipxyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyxpiiiiiiiilwyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyxmiiiiiiijrxyyyyyyyyyyyxyyyyyyxoiiiiiijuyyvjiiiiiijvyyyyyyyyyyyyyyyyyyyyyyxpiiiiiijqxyujiiiiiioxyyyyyyyyyyyyyyyyyyyyyyxoiiiiiiiinxyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyujiiiiiiijqxyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyxniiiiiiiijryyxyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyxrjiiiiiiiimwyyyyyyyyyyywjiiiiiiijqxyyyyyyyyxyyyyyyyyyyyyyyyyyyyyyyyyyxrjiiiiiiijuyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyywkiiiiiiikvyyyyyyyyyyyyyyyyyyyyyyyyyyyxliiiiiiijuyyyyyyyyyxpiiiiiiijrxyyyyyyyyyyyyyyyyyyywliiiiiiikvyyyyyyyyyyyyyyyyyyyyyyyyyujiiiiiiilxyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyxyxyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyxyyyyyyyyxyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyxyyyyyyyyyyyyyyyyyyyyyyyyyyyyyxyyyyyyyyyyyyyyyyyyyyyxyyyyyyyyyyyyyyyyyyyyyyyyyyyyxyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyxyyyyyyyyyyyyyyyyyyyyyyyyyyyyzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzyyyzyyyyyyyyyyyyyyyyyyzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzyzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzyyyyyyyyyyyyyyyyyyzyyyzyyyyyyyyyyyyyyyzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyywliiiiiikvyxpiiiiiioxyyyyyyyyyxrjiiiiijrxxqjiiiiijuyyyyyyyyyyyyyzyyyyyyywliiiiiikvyxpiiiiiioxyyyyyyyyyyrjiiiiijqxxqjiiiiijuyyyyyyyyyyyyyyyyyyyyywliiiiiikvyxpiiiiiioxyyyyyyyyyxrjiiiiijqxxqjiiiiijuyyyyyzyyyyyyyyyyyyyyzyyyyyyyyyyyyyyyyyyyyyyyyyxniiiiiiiipxyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyxpiiiiiiijryyyyyyyyyyyyyyyyyyyyxpiiiiiiiilwyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyxpiiiiiiiilwyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyysjiiiiiiijsyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyywliiiiiiijtxyyyyyyyyyyyyyyyyyyyrjiiiiijqxxsjiiiiiimwyyyyyyyyyyyyyyyyyyxyyyysjiiiiiioxxrjiiiiijrxyyyyyyyyyyyyyyyyyyyyyyxpiiiiiiiinxyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyujiiiiiiijqxyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyxrjiiiiiiiimwyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyvliiiiiiiijqxyyyyyyyyyyywjiiiiiiijqxyxyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyxrjiiiiiiijuyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyxmiiiiiiijryyyyyyyyyyyyyyyyyyyyyyyyyyyujiiiiiiikvyyyyyyyyyxoiiiiiiijryyyyyyyyyyyyyyyyyyyyxoiiiiiiijrxyyyyyyyyyyyyyyyyyyyyyyyxqjiiiiiiilxyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzyyyyyyyyyyyyyyyyyyyyyyyyyyyyzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzyyyyyyyyyzyyyyyyyyyyyyyyyyzyyyyyyyyyyyyzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzyyyyzyzyyyyyyyyyyyyyyyyzyyyzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzyyyyyyyyyyzyzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzyzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzyyyyyyyyyyyyyyyyyzyyyyyyyyyyyyyyyzyxpiiiiiijsyxmiiiiijrxyyyyyyzyyyukiiiiiioxxniiiiiimxyyyyyyyyyyyyyyyyyyyyyxpiiiiiijsywmiiiiijryzyyyyyzyyyujiiiiiioxxmiiiiiimxyyyyyyyyyyyyyyzyyyyzyxpiiiiiijsywmiiiiijrxyyyyzyyyyyukiiiiiioxxniiiiiimxyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzyyyyyyyyyyxniiiiiiiipxyyyyyyyyyyyyyyyyyyyyyyyzyyyzyyyyyyyyyyyyyyyyyyyzxpiiiiiiijrxyyyyyyyyyyyyyyyyyyyxsjiiiiiihjtyyzyyyyyyyyyyyyyyzyyyyyyyyxwwxxxxxyyyyyyyyzysjiiiiiihjtyyyyyyyzzyyyyyyyyyyyyzyyyyywwxxxxyzyyyyyyyyyyyvkiiiiiiiinwyyyyyyyyyyzyyyyyyyyyyyyyyyyyyyyyyytjiiiiiiikwyyyyyyyyyyyyyyyyyyyyujiiiiiioxxpiiiiiijqyyyyyyyyyyyyyyyyyyyyyyyyvkiiiiiilwxoiiiiiijuyyyyyyyyyyyyyyyyyyyyyyyxpiiiiiiiinxyyyyyyyyyyyyyyyyyyyyyyyyyyyzyyyyyujiiiiiiijqxyyyyyyyyyyyzyyyyyyyyyyyyyzyyyyyywmiiiiiiiijqxyyyyyyyyyzyyyyyyyyyyyyyyyyyyyyyyyxpiiiiiiiiikuyyyyyyzyyyyywjiiiiiiijqxyyyyyyyyyyyyyyyyyyyyyyzyyyyyyyyyyyxrjiiiiiiijuyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyxpiiiiiiiinxyyyyyyyyyyyyyyyyyyyyyyyyyxpjiiiiiiimxyyyyyyyyyxpiiiiiiijryyyyyyyyyyyyyyyyyyyyxrjiiiiiiinwyyyyyyyyyyyyyyyyyyyyyyyxmiiiiiiiimxyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzyyyyyyyyyyyyyyyyyzyyyzzyyyzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzyyyzyyyyyzyyyzyyyyyyyyyyyyyzyyyyyyyyyyyyyyyyyyzyyyyyyyyyyyyyyyyyyyzyyyyyyyzzyyyyyyyyyyyyyyyyyyyyyyzzyyzyyzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzyyzyyyyyyyyyyyyyyyyyyyyyyyzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzyyyyyyyyyzyyyyyyyyyyzyyyyyyyyyzyyyyyzyyyyyyyyyyyyyyyyyyyyyyzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzyyyyytjiiiiiipxvkiiiiikuyyyyyyyyyyzwmiiiiiilwvkiiiiijqxyyyyyyyyyyyyyyyyyyyzyytjiiiiiipxvkiiiiikuyyyyzyyyyyyxmiiiiiilwvkiiiiijqyyyyzyyyyyyyyyyyyyyyzyytjiiiiiipxvkiiiiikuyyyyyyzyyzyxmiiiiiilwwkiiiiijqxyyyyyyyyyyyyzyyyyyyyyyyyzyyyyyyyyyyyyyyyyyyyyyxniiiiiiiipxyyyyyyyyyyyyyyyyyyyyyyyyyyyzyyyyyyyyzyyyzyyyyyyzxpiiiiiiijrxyyyyyyzyzyyyyyyyyyyyvkiiiiiiiinwyyyyyyyyyyyyzyyyyzyyyyyyyulkoqqqrwwxyyyyyzyvkiiiiiiiinxzyyyyyyzyyyyyyyyyyyyyyyyyvlkoqqqrvwyyyyyyyyyyxoiiiiiiiijryyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyxpiiiiiiiimxzyyyyyzyyzyzyyyyyyyzwliiiiiimxxmiiiiiijuyyyyyyyyyyyyyyyyyyzyyyyyxniiiiiijvwliiiiiimxyyyyyyyyyyyyyzyyyyyyyzyxpiiiiiiiinxyyyyyyzyyyyyyyyyyyyyyyyyzzyyyyyyyujiiiiiiijrxyyyyyyyyyyyyyyyyyyzyyyyyyyyyyyyyyqjiiiiiiiiktyyyyyyyyyzyyzyyyyyyyyyyyyyyyyyyyytkiiiiiiiiipxyyyyyyyyzyyywjiiiiiiijqxyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyxrjiiiiiiijuyyyyyyyyyzyyyyyyyyyyyyyzyyyyyyyyyyyyyyysjiiiiiiijuyyyyyyyyyyyyyyyyyyzyyyyyyvliiiiiiiipxyyyyyyyyyxpiiiiiiijsyyyyyyyyyyyyyyyyyyyyyvkiiiiiiijtyyzyyyyyyyyyyyyyyyyyyyyrjiiiiiiiilxyyyyyyyzyyyyyyyyyyyyyyyyyyyyyyyyyzyyyyyyyyyyyyyyzyyyyyyyyyyyyyyyyyyyyzzyyyyyyyyyyyyyyyzyyyyyyyyyyyyyyyyyyyyyyyyzyyyyyzyyyyyyyyyyyyyyyyyyyyyyyyyyyyzyzyyzyyyyyyyyyyyyzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzyyyyyyyyyyyyzyyyyyyyyyyzyyyyyyyyyyyyyyyyyyyyyyyzyyyyyzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzyyyzyyyyyyyzyyyyyyyyyyyyyyyyyyyyyyzyyyyyyyyyyyyyyzyyyyyyyyyyyyyyyyzyyyyyyyyyyyyyzyyyyyyyyyyyyyyyyyyyyyyyyyyyzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzyyyyyyyyyzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyywliiiiiimwsjiiiiimwyyyyyyyyzyyxpiiiiiijtsjiiiiijuyyyyzyyyyyyyyyyyyyzyyyywliiiiiimwtjiiiiimxyyyyyyyyyyyxpiiiiiijtsjiiiiijuyyyyyyyyyyyyyyyyyyyyyyywliiiiiimwtjiiiiimxyyyyyyyyyyyxpiiiiiijtsjiiiiijuyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzyyyyyxniiiiiiiipxyyyyyyyyyyyyyyyyyzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyxpiiiiiiijrxyyyyyyyyyyyyzyyyyyyyxniiiiiiiijtyyyyyyyyyyyyyyyyyyyyyzyyxpihijjjjkmwyyyyyyyxniiiiiiiijtyyyyyyyyyyyyyyyyzyyyyyyyxpihijjjjkmwyyzyyyyyyytjiiiiiiiiluyyyyyzzyyyyyyyyyyyyyyyyyyyyyyyyyukiiiiiiiiqxyyyyyyyyyyyyyyyyyyyyxoiiiiiikvvkiiiiiilwyyyyyyyyyyyyyyyyyyzyyyyyxqjiiiiijttjiiiiiipxyyyyyyyyyyyyyyyyyyyyyyyxpiiiiiiiinxyyyyyyyyyyyyyyzyyzyyyyyyyyzyyyyyyujiiiiiiijqxyzyzyyyyyyyzyyyyyyyyyyyyyyyyyyyyyvmiiiiiiiiimvyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyvmiiiiiiiiikuyyyyyyyzyzyyyxjiiiiiiijqxyyyyyyyyyyyyzyyyyyyyyyyyyyyyyyzyyyxrjiiiiiiijuyyyyyyyzyyyyyyyyzyyyyyzyyzyyyyyyyyyyyyywliiiiiiiipxyyzyyyyyyyyyyyzyyyyyyyyxrjiiiiiihjtyyyyyyyyyyxpiiiiiiijsxyyyyyyyyzyyyyyyyyyyyxoiiiiiiiinwyyyyyyzyyyyyyyyyyyyyywmiiiiiiiiilxyyyyyyyyzyyyyyyyzyyyyyyyyyyyyyzyyyzyyyyyyyyyyyyyzyyzyyzyyyyyyyyyyyyyyyyyzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzyyyyyzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzyyyyyyyyyyzyyyyyyyyyyyzyyyyyyyyyyyyyyyyyyyyyyyyyzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzyyyyyyyyyyzyyyyyyyyyyyyyyyyyyyyyzyyyyyyyyyyyyyyzyyyyyyyyyyzyyyyyzyyyyyyyyyyyyyyyyyyyyyyzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzyyyyzzyyyyyyyzyyyzzyyyyyyyyyyyyyzzyyyyyyyyyzyzyyyyyzyyyzzyzyyyyyyyyyzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzyyzyyzyyyyyyyyyyyyyyyzyyyyyyyyyyyyyzyyyyyyzyyyyyyyyyyyyyyzyyyzyyyyyyyyyyyyyyyyyzyzyyyyyyzyyyzyyyyyyyyyyyyyyyyyyyyyyyyyzyyzyyyyyyyyyyyyyyyzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzyyyyyyyyyzyyyyyyyyyyyyyyyzyyyyyzyyyyyyyyyyyyzzzyyyyzyyyyzyyyyyyzyyyyyyzyyyyyyyyyyyyyyyyyzyyyyyyyyyyzyyyzyzyyyyyyyyyyyzxoiiiiiikvpiiiiiipxyyyyyyyyzzyytjiiiiijpniiiiiimxyyzyyyyyyyyyyyyyyyyyyyyxoiiiiiikvpiiiiiipxyyyyyyyyyyyytjiiiiijpniiiiiimxyyyyyyyyyyyyyyyyyyyyyyyxoiiiiiikupiiiiiipxyyyyyyyyyyyxsjiiiiijpniiiiiimxyyyyyyyyyyyyyyyyyyyyyzyyzyyyyyyyyyyyyyyyyyyyyyyxniiiiiiiipxyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzyyyyyyyxpiiiiiiijrxyyyyyyyyyyyyyyzyyyyyxrjiiiiiiiinwyyyyyyyyyyyyyyyyyyyyyyytkiiiiiiiinxyyyyyyyxrjiiiiiiiinwyyyyyyyyyyyyyyyyyyyyyyytkiiiiiiiinxyyyyyyyyyyxmiiiiiiiiinwyyyyyyyyyyyyyyyyyyyyyyyyyyyyyywniiiiiiiijuyyyyyyyyyyyyyyyyyyyyyxrjiiiiijssjiiiiiioxyyyyyyyyyyyyyyyyyyyyyyyyyujiiiiijqrjiiiiijsyyyyyyyyyyyyyyyyyyyyyyyyxpiiiiiiiinxyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyujiiiiiiijqxyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyrjiiiiiiiiinvyyyyyyyyyyyyyyyyyyyyyyyyyyyyzwniiiiiiiiiipxyyyyyyyyyyyyyxjiiiiiiijqyyyyyyyyyyzyyyyyyyyyyyyyyyyyyyyyyyyxrjiiiiiiijuyyyyyyyyyyyyyzyyyyyyyyyyyyyyyyyyyyyyyyyxpiiiiiiiiktyyyyyyyyyyyyyyyyyyyyyyyuliiiiiiiilwzyyyyyyyyyxpiiiiiiijrxyyyyyyyyyyyyyyyyyyyyytjiiiiiiijqxyyyyyyyyyyyyyyyyyyyxqjiiiiiiiiimxyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzyyyyyyyyyyyyyyyyyyyyyyyyyyyzyyyyzyyyyyyyyyyyyyyyyyyyyyyzyyyyyyyyyyyyyzzyyyyyyyyzyyyyyzzyyyyzyyyyyyzyyzyzyyyyyzyyyzyyyzyyzzyyyyyyyyyyyyyzyzyzyyzzyyyyzyzyyyyyyyyyyyyzyyyyyyzzyyyyyyyzyyyyzyyyzzyyyzyyyyyyzzzzyyyyyyzzzyyyyzyzzyyyyyzyyyzyyyyyyyzyzzzyyyyzyyyyyyyzyyyzyyyzyzzyyyyzyyyyyzyyyyyyzzzyzyyyyyzyyyzzyyyyyyyyyyyzyyyyzyzyyyyyyyyyyyzzyyyzyyzyyyyyyyyyyyyyyyzyyyyyyyyyyyyzzyyyzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzyzyyyyzyyyyyyyyyzzyyyzyyyyyzyyyzzyyyzzzyzzyzyyyzzyyyyyyyzyyyyzyyyyyzysjiiiiijrmiiiiijsyzzyyyzyzzyzywkiiiiiimkiiiiijqxyyyyyyyyyzyyyyyyyzyzyyyysjiiiiijrmiiiiijtyzyyzyyyyyyyyvkiiiiiimkiiiiijqxyyyyzyyyzyyyyzyyyyyzyzyysjiiiiijrmiiiiijsyyyyyyyyyyyzywkiiiiiimkiiiiijqyyyyyyyyyyyyyyzyyyyzzyyyyyyyzzyyyyyyyyyyyyyzyzyyxniiiiiiiioxyyyyyyyyyyyyzyyyyyyzyyyzyzyyzyyzyyyyyyyyyyyyyyyyxpiiiiiiijrxyyyzyyzzzzyyyyzyyyyyywliiiiiiiijqxyyyyzzyzyzyyzyyyyzyyywniiiiiiiijsyyyyyyyyyvliiiiiiiijqxyyyyyyyyyyyyyyyyyyzyywniiiiiiiijsyyzyyyyyyyyysjiiiiiiiiinvyyyzyyzyyyzyyyyyyyyzyyyyyyzyxqjiiiiiiiinxyyyyyyyyyyyyyyzyzyyyyyvkiiiiijpoiiiiiijrxyyyyyyyyyyyyyyzyyyzzyyyyzwliiiiijoojiiiiikvyyyyyyyyyyyyyzyyyyyyyyyyxpiiiiiiiinxyyyyzyyyyyyyyyzzzzyyyyyyyyyyyyyyyujiiiiiiijqxyyyyyzyyyyyyyyyyyyyyyzyyyyyyyyyyyzxniiiiiiiiiinvyyyyyyyyyyyyyyyyyyyyyyyzyyywoiiiiiiiiiilvyyyyyyyyyyzyyywjiiiiiiijqyyyyyyyyzzyyyyyyzyyyyyyyyyyyzyyyyyzxrjiiiiiiijuyyyyzyyzyyyyyyzyyzyyzyyyyzyyyyyyyyyzyyyytkiiiiiiiimvyyyyyyyyyyyyyyyzyyyyywniiiiiiiijqxyyyyyyyyyyxpiiiiiiijrxyyyyyyyyyyyyyyyyyyyyyxmiiiiiiiiktyzzyyyyyyzyyyyyyyyxrjiiiiiiiiiimwyyyyyyyyyzyyyyyyyyyyzyyyyyyyyyyyyyyzyyyyyyzyyyyyyyyyyyyyyyyyyyyzyyyyyyyyyyyzyyyzyyyyyyyyyzyyyyyyyyyzyyyyyyyyzzyyyyyyyzyyyyyyyyyyyyyyyyzyyyyyyyyyyyyzyyyyyyyyyyyyyyyyyyyyyyyyzyyyyyyyyyyyyyyyyyyyyyyzyyyyyyyyyzyyyyyyyyyyyyyyyyyyyyyyyyzyyyyyyyyyyyyyyyyyyyyyyyyyyyyzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzyzzyyyyyyyyyyyyyyyyyyyzzyyyyyyyzyyyyyyyyyzyzyyyzyyyyyyyyzyyyzyyyyzzyyyyyyyyyyyyyyyyzyyzyyzyzyyzyyzyyyyyzzyyyyzyyyzyyyzyyyyyyyyyzyyyyyyyyyyzyyyyyyzyyzyyzzyyyyyzyyyyyzyyyyzzzyyyyyyyyyzyyyzzzyzyyyyyyyzyyyyyzzyyyyyyyzyyzyyzyyzyyyyyyzyyyyyyyyyzyyyzzyyyyyyyyyzzyzyyzyyyyzyzzzyyyyyyyzyyyyyyyyyyzyyyyyzyyyyyzyyyyzzyzyyyyzyyyyyzyzzyyyyyyyyzyyyyyyyyyzyzzyyyyyyyyyyyyyyyyyzzyyyyyyyyyyyzyzyyyyyyyyyyzzzyzyyzzyyzyyyyyzyyyzyyyyyvkiiiiiinjiiiiikvyzyyyyyyyzyyzxniiiiiiiiiiiiijuyyyyzyzyzyyyzyyyyyyyyyyyzvliiiiiinjiiiiikvyyyyzyyyzyyzyxniiiiiiiiiiiiijuyyyyyyzyyyyyyyyyzyzyzyyyywliiiiijnjiiiiikvyyyyzyyyyzzyyxoiiiiiiiiiiiiijtyyzyyzyyyyyyyzyyyyzyzzyyzyzzyzyyyyyyyyyyzyyyyzzyxniiiiiiiipxyyyyyyyzzyyyyyyyyyyzyyyyzyzzyyyyyyyzyyyzzyyyyzyyxpiiiiiiijrxyyzzyyzyyyzzyyzyyzzzyxqjiiiiiiiijqxyyyzyyyzyyyyyyyyyyyxpiiiiiiiiimwyzyyyyzyyxqjiiiiiiiijqxzyzyzyzyyzyyyyzyyyzwpiiiiiiiiimwzyyzyyyyyyyyxoiiiiiiiiiimtxzyyyzzzyzzyyyyyyyyzyzyyyywqkiiiiiiiijtyyyyyyyzyyyzyyyyyyzyyzyxmiiiiijnliiiiiikvyyyyzyyyyyyzyzzyyyyyyyyyzyyoiiiiiimliiiiiimxzyyyyyyyyyyyyyyyyyyyyyyzxpiiiiiiiinxzyyyyzyyyzyzzyyzyzyyzzyyyyyzyyyyyujiiiiiiijqxyyyyyyzyyyyyyyzzyzyyyyyzyyyyzyyyzyyukiiiiiiiiiimtxzyyzyzzyyyzzyyyzyyyyyzzyvnjiiiiiiiiijryyyzyyyyzzyyyzywkiiiiiiijqyzzyzyyyyyyyyzyyzyyyyzyyzyyyzyyyyyyxrjiiiiiiijuyyyzzyzzyzyyyzzyyzyyyyyzyyyyyyzyyzyyyyyzwniiiiiiiiinvyyzyyyyyyyyyyyyyyyywpjiiiiiiiilwyyyzzzyzyzyxpiiiiiiijrxyzyyyyyyyzyyyyyyzyyzyysjiiiiiiiilsxyyyyzyyyyyyyzzyxrkiiiiiiiiiiimwzyyyzyyyyyyyzyyzzyzyyyyyzyzyyyyzzyyyyyyyyyzzyyzzyyyyyyyyyyzzyyyyzyzyzyyyzzyyyyyyyyyzyyyyyyyyyyyyyyyyyyyyzyyyzyyzyzyyyyyyyyzyzyzzyyyzyyyzyyyyyyyyyzyyyyyzyzyyzyzyyyyyzyyyyyyyzyyyyzyyyzyzyyyyyyyyyyyyzyyyyyyyzyyzyyyzyyyyzyyzzzyyyyyyyyyyyyyyyyyzyyyyzzyyyyyyyyyyyzzyyyyyyyyyyyyyyzyyyyzyyyzyyyyyzyyyyyyyyyyyzzyzyzyyyyyyyyyyyyyyyyyyzyzzyyyyzyzyyyyyyyyyyyyzyzyyyyyyzyyyzzyyzzyyyyyyyyyyyzzyzyyzyyzyyyyyyyyyyzzyyzyyyyyyyzyyyyyyyyyyzyyyyyyyyzyyyzyyyzyyyyyyyyyyzyyyyyyyzyzyyyyyyyyyyyzyyzyyyyyyyyyyyyyyyyyyyyyzyyyyyyyyyyzyyyzzyyyyyyyyyyyyyyzyyyyyyyyyyyyzzyyzyyyyyzzyyzyyyyyyyyyyyyyyyyyyyyyyyyyzyyyyzyyyyyyyyyyyyyyyyyzyyyyyyyyyyyyyyyyyzyyyyzyyyyyyyyyyyzyyyyyyyyyyyyyyyyzzyyzyzyyyyyyyyyyyyyyyyyyyyyyyyzyyyyyyyyyyzyyyyyyyyyzyyyyyzyyyyyyyyyyyzyyyyyyyyyyyyzzzyzyyzyyyyyzyyyyyyyyzzzyyyyyyyyyyyyyyzyyyyyyyyyyyyyyzyyyyyyzyyyzzyyyyyyyyyzyyyyyyyyzyyyyyyyyyyyyyyyyyyyyyyyzyyyyzyyyyyyzzyzyzyyyyzyzyyyzyzyyyyyyyyyyyyzyyyyyyzyyyyyyyyyzyyyyzyyyyyyzyyxoiiiiiiiiiiiiimxyyyyzzyyyyyyyxrjiiiiiiiiiiiimxyyzyzyyzyyyzyyyyyzyyyyyyyxoiiiiiiiiiiiiimxzzyzyyyyyzyyyxqjiiiiiiiiiiiimxyyyyzzyyyyyyyyyyyyyzyyzzyxoiiiiiiiiiiiiimxyyyyyyyyyyyzyxrjiiiiiiiiiiiimxyyyyyyyyzyyyzyyzyyyyyyyzzzzzzzzzzyzzyzyzyzyyyyyyxniiiiiiiipxyyyyyyyyyzyyzyyzzzyyyzyyzyyzyyzyyyyzyyyyzyyzzzyyxpiiiiiiijrxyyzzyyyzyyzyyzzyzyyzyywliiiiiiiiijqwyyyyyyyzyzzyzzyyywpjiiiiiiiijryyyyyyyzyyywliiiiiiiiijqwyzyyyyzyyyyyyyyyywpjiiiiiiiijryyyyyzyyyzyzzyukiiiiiiiiiikqwyzzyzyzyyyyyyyyzyyyyyyyvojiiiiiiiiioxyyyyzyzyyyyzyzyyyzyzzzyxpiiiiiikiiiiiiimwyzzzyyyzzyyzzyyyyzyzzyzzyyysjiiiiikjiiiiijqyzzzyyzyyzyzyzyyyyyzyyzyyxoiiiiiiiinxyyyyyyyyyzyzzzyzyyyyyyyzzzyyyzyyyvjiiiiiiijqxzyzyzyyyyyzyyzyyyyyyyzzyyzyyzyyyzyyxqjiiiiiiiiiikqwyzyyyyzyyyyyyyzyzzyyyxtmiiiiiiiiiiioxyyzyyyyzyyyyyzywjiiiiiiijqxyyyyzzyzyyyyyyyzyzyyyyyzyyyyyyzyyyyrjiiiiiiijvyyyyyyyzyyyyyyyyzzzzzzzzzzyyyzyyyzzzyyyyytkiiiiiiiiinvyyyyyyyyyyyyyzyyywojiiiiiiiijqyzyyyyyyyyyyxpiiiiiiijryyzyyzyyyzyyyyyyyyyyyyzxoiiiiiiiiikqwyzzyyyzyyzyzywqjiiiiiiiiiiiilxyyyyyzzyyyyyyyzyyzyyyyyyzyyyyyyyzyyyyzzyzyzyzyzyyzyyzyyyyyyyzyyzzyzzyyyyyzzzyyyyyzyyyyyyyyyyyyyzyyyyzzyyyyyzyyzzyyyyyzyyyyyzzyyyyyzyyyzyyzzyyyzyyyyyzzyyzyyzyzyyyzyyzyyzyyyyyyzyyzyyyyyyyyyyzzyzyyyyzyyyyzyyyyyyzzyyzzyyzyyyyyyzyyyyzyzyyyzyyzyyyzyyyyzyyyyyyyyyyyzyyzyzyzzyyzzyyzyyyyyyyyyzyyyzyyyyyyyzyyyyyyyyyyyyyzyyyyyyzzyyyyyyyzyyyyyyyzyyzzzyzyyyzyyzyyyyyzyzyyzyyyyzyyyyyzzyyzyyyyyyzyzyyyyyzyyyzyyyyzyyyyyyyyzyzzzzyyyzyyzyyyyzyzyyyzzzzzyzyzyyzzzyyyyyyyyzyzyyyyyzyyyyyyyyyyyzyyyyzzyzyzzyyyzyyyyzyyyzyzyyzyyyyyyyyyyyzyyzzyyyzyyyzzyyzyyyzyyyyyzyyyzyyyyyyyzyyyzyzzyyyyyyyzyzyyyyyyyzzyzyyyyyyyyyzyyzzyyyyyyyyyyyyzyyyyyyzyyyyyyyyyyyyyyyyyyyzzyyzyyyyyyyyyyyyyyyyyyyyyyyyyyyzyyyyzyyyyyyyyyyyzyyzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzyyyyyyyyyyyyyzyyzyyyyyyyyyyyyyyyyyyyyyyyzyyzyyyyzyyyyyyyyyyyyyyzyyyyyyyzyyyyzyyyyyyzyyyzyzyyzyyyyyyyyyzyyyyyzyyyyyyyyyyyyyyyzzyyyyyyyyyyyyyzyyyyyyzyyzyyyyyyyyyyyyyyyyyyyyyyzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyysjiiiiiiiiiiijqyyyyzyyyyyyyyyyujiiiiiiiiiiijqyyyyyyyzyyyyyyzyyyyyyyyzyyysjiiiiiiiiiiijqyyyyyyyyyyyyyyyujiiiiiiiiiiijqyyyyyyyyyyyyyyyyzyyzyyyyyyysjiiiiiiiiiiijqyyyyyyyyyyyyzyyujiiiiiiiiiiijqyyyyyyyyyyyyyyzyyyyyyyzyxwwwwwwwwwyyyyyyyyyyyyyyyxniiiiiiiipxyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyxpiiiiiiijryyyyyyyyyyyyyyyyyyyyyyyyqjiiiiiiiiijouxzzyyyyyyyyyzzxvojiiiiiiiiimwyyyyyyyyyyyxrjiiiiiiiiijouxyzyyzyyyyyyzzxvojiiiiiiiiimwyyyyyyyyyyzyyyxqjiiiiiiiiiijmrwxzzyyyyyyyyzyyyyzyxwrliiiiiiiiiilvyyyyyyyyyyyyyyyyyyyyyyyyysjiiiiiiiiiiiiipxyyyyyyyyyyyyyyyzyyyyyyyzyyywkiiiiiiiiiiiijuyyzyzyyyyyyyyyzyyyyzyyyyyxpiiiiiiiinxyyyyyyyyyyyyzyyyyyyzzyyyzyyyyyyyyvjiiiiiiijqxyyyzyyyyyyyyyyyyyyyyyyyzyyyyyyyyyzyyxoiiiiiiiiiihilqwxyzyyyyyyyyyyyyzyxvpkiiiiiiiiiiimvyyyyyyyyyyzyyyyywkiiiiiiijqxyyzyyyyyyyyyyyyyyyyyyyyyzyyyyyzyyyyrjiiiiiiijvyzyyyyzyyyyyzyyyxwwwwwwwwwyyyyyyyyyyyyyyyxoiiiiiiiiiilsxyzzyyyyyyyyyyxtniiiiiiiiiimwyyyyyzyyyyyyxpiiiiiiijryyzyyyyyyyyyyyyyyyyyyyyyukiiiiiiiiijntwyyzzzzzyxwsmjiiiiiiiiiiiiilxyyzyyyyyyyyzyzyyyyyyyyyyyyyyyyyzzyyyyzyyyyyyzyyyyyzzzyyzyyyzyzyyyzzyyyyyyzyzyyyzyzyyyyzyyyyyyyyyyyyyyyyyyyyyzyyyzzyyzzyyyyyyyyzzzyyyyyyyyyyyzzyyyyyyyzzyyyyzyzzyyyyzyyyyyyyyzyzyyyyzzyyyyyzzzzyyyyyyzzyyyzyyyyzyzyzyzzyyyyyzyyyyyyzyyyzyyyyyyyyzyyyyyyzyyzyyyyyyyyyyzyyyyyyyyyzyyzyyyyyyyyyyyyzyyyyzzyyyyyzzzyyyyyyzzzyyyyzyyyzyyyyzyzyyyyyyyzzyyyyyyyyyyzzyyyyyzyyyyyyyyyzyyyyyyyzyyyyyyyyyyyyyyzyzzyzyyyyyyyzyyyzzyyyyzyyyyyzzyzyyyyyyyyyyyyzyyyyzzyyyzyyyzyyyyyyzyyyzyyyyzzyyyyyyyyzzyyyyyzzyyyzzyyzyyzzyyyyyyyyzyyyyyzzyzzyzyyzyzyyyyyyyzyyyyyyyzyyyyyzyyyyzyyyyyyyyyzzzyyyyyyzyyzyzyyyzzzyzyyzzzyyyzzyyyyyyyyyyzzyyzyzyzyyyzyyzzyzzyzyzzyzzyzzyzyyyyyyyyzyyyzyyyyzyyyyyyzyzyyyyyyzyzyyyzzzyyyyyyyyyzyzyyyyzyzzyzyyzyyyyyyzyzzyzyzyyyyyzyyzyzyzyyzyzyyyyyzyyyzzyyzyzzyyyyzzzyyzyzyyyzzyzyyyyzyyyzyyzzzyyyyyyyzyzyyzyyyyyzyyyzyyyyzyyyyyzzyyzyyzzyyyyyyyzzyyyyzyyzyyyyyyzzyyyyyyzzzzyyyzyzyyzzyyyyyyyyyyyyyyyyzyyyzyyyyyyzyzyyyyyzyyyzzyyzyzyzyyyyzyzzyvkiiiiiiiiiiijuyyyyyyyyyyyyyyywliiiiiiiiiiijuyyyyyyyyyyyyyyzyyyyyyyzyyyyvkiiiiiiiiiiijuyyyyyyyzzyyyzyzxliiiiiiiiiiijuyyyzyyzyzyyzzyyyyyyyzyyzyyyvkiiiiiiiiiiijuyyyyyyyzyyzyyyzxliiiiiiiiiiijuyyyyyyyyyyzzyyyyyyzzzzywnkkkkkkkklvyyzyyyyyzyyzyyxniiiiiiiipxyzyyyyyyyyyyyzyzzyzzyzyyyyyyyzyyyzyyyyyyzyyzyzyyxpiiiiiiijryyyyyzyyyyzyyyyyyyyyyyyyxoiiiiiiiiiiikqvxyyzzzzzyyxwqkiiiiiiiiiijsyyyyyzyyyzyyywoiiiiiiiiiiikqvxyyzzzzzyxxwqkiiiiiiiiiijsyzyyyzyyyyyyyyyywoiiiiiiiiiihijlqvwxxyzzzzzzzyyxwvqljiiiiiiiiiijsyyyyyyyzyzyyzyzyyyyzzyyyyyvkiiiiiiiiiiiijsyyyzyyzzzyzyyyyyyyzzzyyyyyzzxmiiiiiiiiiiiilwyyyyyyyyyyyyyzzyzyyyyyzyyxpiiiiiiiinxyyzyyyyzyyzyyyyyyyyyyyyyyyyyzyyyyvjiiiiiiijqxzyyyzyyyzzyyyzyyyyyyyyzyyyyzzyyyyyyyywniiiiiiiiiiiiilqvwxyyzzzzzzyyxwtpkihiiiiiiiiiiltyyzyyyyyyyyyzyyyywkiiiiiiijqxyyyyyyzyyyyyyyyyzyyyyyyyyyyzyyyzyyyrjiiiiiiijvyyzyyyyyyyyyyyyxnkkkkkkkklvyyyyyyyyzzzyyyyvliiiiiiiiiijouwxyyzzzzyyxupkiiiiiiiiiijsyyyyzzyyzyyyyxpiiiiiiijryyyyyyyyyyyyyyzyyyyyyzyyxqjiiiiiiiiiijmqswwwwvrqljiiiiiiiiiiiiiiilxyyyyyyyyyyyyzyyyyyyyyyyyyyzyzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzyyzyyyyyyyyyyyzyyyzyyyyyyyyyyzyyyyyyyzyyyyyyzyyyyzyyyyyzyyyyyzzyyyyyyyzyzzyyyyyyyyzyyyyyyyyyyyzyyyyyyyyyyyyzyyyyyyyyyyyyyyyyyyyyyzyyyyyyyyyyyyyyyyyyyyyzyyyyyyyyyyyyyzyzyyyyyyyyyyyzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzyyyyyyzyyyyyyzyyyyyyyyyyzyyyyyyyzyyyyyyyyyyyzyyyyyyzyyyyyyyyzyzyyyyyyyyyyyyyyyyyyzyyyzyyyyyyyyyyzyyyyyyyyyyzzyyyyyyyyyyyyyzyyyyzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzyyyyyyyyyyyyyyyyyyyyzyzyzyyyyyyyyyzyyyzzyyyyyyyyyyyyyyyyzzyyzyyyzzyzzzyyzyyyyzzyzyyyyyyyzyyyyzyzyyyzyyyyzyyyyzzyyzyyzyyzyyzzyyyyyyyyyyyzyyyzyyyzzyyyyyyyyyyzyzyzyyyyyyzzzzyzyyzyyyyyyzzzyzzzyyyyyyyyyyzzzzzyyyzzzzyzyzzyyzzzzyyyzyyyyzyyyyyyyzzyyyyyyzzyyyyzzzyyzyyyyyyyzzyzyyzzzyyyzyzyyzzzyyyyzyyyyzyyyyyzyzyzzyzyyyyzyyyyzzyzzzyyyyyyzyzyyyyzzyyyzyyyyyyyyyyyyyyyzyyzzzyyyyyyzyyyyyzyyyyyyyyzyyzzyzyyyyzzyyyyyzyyyzyyzzyzyzyyyzyyyyzyzyyyyyzzyyyyyyxoiiiiiiiiiiilwyyzzzzyyzyyzzzyxpiiiiiiiiiiimxyyyyzyyyyyyzyyyzyyyyyzzyyyyxniiiiiiiiiiilxyyzzzyyyzzzzzyyxpiiiiiiiiiiimxyyyyyzyyzzyzyyyzyzyyzzyyzyyxoiiiiiiiiiiilxyyyyzzyyyyzyyyzxpiiiiiiiiiiimxzyyzzyyzyyyyyzyyzyyyyyywlhhhhhhhhjvyyyyzyyyyyyyyzxniiiiiiiipxyyyyzyyyyyzyyyzzyyyyyyyyyzzyyyzzyzyyyyyyzyyyyyyyxpiiiiiiijryyyyyyyyzyyyyzyzyyyyyzzyyvliiiiiiiiiihjkoruwwwwwtrokjhiiiiiiiiijqxyyyzyzyzyyyyzyuliiiiiiiiiihjkoquwwwwwtrokjhiiiiiiiiijqxzyyzyyzyzyyyzyyzywniiiiiiiiiiiiijjlqrswwwxwwwtrqlkihiiiiiiiiihjqxyyyyyzzzzyzzyyyzzyyyzzzyyyxmiiiiiiiiiiiilwyyyyyyzyyzzyyzyyyyyyyyyyyzzyxpiiiiiiiiiiiioxyyyyyyyzyyzzyzyyyyyyyyyyzxpiiiiiiiinxyzzyyyyyyyzzzyzyzyyyzzyzyyzyyzyyyvjiiiiiiijqxyyyyzzyzzyzyyzyyzzzyyyyyyyyyyyzyyyzyyzvniiiiiiiiiiiihiklqruwwwwwwtrpljiihiiiiiiiiiiluyyzyyzyyzyzyyyzyyywjiiiiiiijqxyyzyzzyyzzzyyyyyzyyzyyyyzyyyyyzyyyyrjiiiiiiijvyyyyzyzyyyyzyzyxlhhhhhhhhjvyyyzzyyzyyyyyzzyskiiiiiiiiihikmqrvwwwwtrnkihiiiiiiiiijqxyyyzzyyzyyyyyxpiiiiiiijsxzyyzzyzyyyzyyyyzyyyyyyzyxoiiiiiiiiiihijjkkkkkjihiiiiiiiiiiiiiiiilwzyyzzzyyyyyyyyzyzyyzyzyyyyzyyyyyyzzyyyyyyyyyyyyyzyyyyzyyzyzyyyzyyyyyzyyyyyzzyyyyzyyzzzzyzzzyyyyyyyyyyzyzyyzyyzzyyzzzzyyzyyyzyyyyzzyyyyyyyyyyzzyyyyyyyyyyyyyyyyyyzyyzyyzyyyyyyyzyyyyyzyyyyyyyyyzyyyyyyzyyyyyyzzyzyzyyzzzyyyyyyyyyyyyzyzyyyyyyyyyyyyzyyyyyyyyyyyyyzyzyzyyyyyyyyyyyyyyzyyzyyyyzyyyyyyyyyyyyyyzyyzyyyyyyyyyyyzyzzzyyyyyyzyyyyyyzzyzyyyzyzzyyyyzzyyyyzyyzyyzzyyzyyyyyzyyyyyyyzyzyyyyyyyzyyyyyyzyzzyyzyyyyzyzyyzyyyyyyzyyzyyzyyyyyyyyyzyyyzzzyyyyyyyyyyyzyyyyzzyyyzyzyyyyyyyzyzyyyyyyzyyyyyzyyyyyyzyyyzyyyyyyyzyyyzyyyyyyyyyyzyzyyyyyyyyyyyyyyyyyyyyzyyzyyyyyyyyyyyyzyyyyyyyyyyyyyzyyyyyyzzzyyzzyyyyyzyyyyyyyyyzyyyzzzzzyyyyyyzyyyyyyzyyyzyyyyyyyyyyzyzyyyyyyyyyyyyyyzyyzyyyyyzyyzzyyyyyyyzzyzzyyyzyyzyzzyyyyyyzyyyzzyyyyzyyyzyyyyyyyyzyyzyyyyyyzyyzzyyyyyyyzyyyyyyyyzzzyyyzzyyyzyyyyyzzyzyzyyyzyyzyyyyyyyyzyyyyyzyyyzyyyyyzyyyzyyzyyyyyyzyyyyzzzyyyyyyyzyyyyyyzyzyyzyzyyyyyzyyyyyyyzyyyyyyyyyzyzyyyyyyzyzyyyzyyyyyzyyzyyyyyzyyzzzyzzyyyzyyzzyyyyrjiiiiiiiiiioxzyyyyyyyyyyyzyyysjiiiiiiiiijqyyyyyyyzyyzyyyyzyyzzyyyzzzyyxsjiiiiiiiiiioxyyzyyyzyyyyzyzyysjiiiiiiiiijqyzyzyyyyyzyyyyyyzyzyyzyzzyzyysjiiiiiiiiiioxyyyyzyyyyyyyyzyysjiiiiiiiiijqyyzyyzzyyzzyzyzyyyyzyyyzxliiiiiiiijvyyyyzzzyyyzyyzxniiiiiiiipxyzzyyyzyzzyyyyyyzzyzyzzyyzyyzyyyzyyyzyzzyyzyyyyzxpiiiiiiijryyyyyyyzyyzyyyyyzyyyzzyzyyukiiiiiiiiiiihijjkkkkkjjihiiiiiiiiiiiowzyyzyyzyzzzyzyyytkiiiiiiiiiiihijjkkkkkjjihiiiiiiiiiiiowzyyyyyyzyyyyzzyyyyyvnihiiiiiiiiiihhhjjjkkkkkkkjjihhhiiiiiiiiiijpxyyyyzzyzyyyyyyyzyyyyyyyyzyyxpiiiiiiiiiiiioxyyyyzyyyyyzyyzyyyzzyyyyyyyzyxsjiiiiiiiiiiiryyzzzyyyyyyyyzzyyyzyyyzyyyxpiiiiiiiinxyyyyyyyyyyzzyyyyzzzyyyzzyyyzzyyyyvjiiiiiiijqxyyyyyzzyyyyyyyyyyyyyyyyyyyzyyyzzyzyyzzyvnihiiiiiiiiiihhhijjkkkkkkjjihhiiiiiiiiiiiiluyyyyyyzzyzzyyyzyyzywjiiiiiiijqxyzyyyyyyyyzzyyzzyyzyzzzzyyyyzyzyyzyrjiiiiiiijvyyzyyzyyyyzyzzzxliiiiiiiijvyyyyyyyyyyyyyyyyxrjiiiiiiiiiihijjkkkkkjjihiiiiiiiiiijpxyyyyyyyzzzyyyyxpiiiiiiijsxyyzyyzyyyyzyyzyyyzyyyyzyyvniiiiiiiiiiiihhhhhhhiiiiiiiijojiiiiiiilxyzyyyzzyyyzyyyyyyyzyzyyzyzzzzyyyyyzyzzzyyzyzyzyyyyyyzyyyyyyzyyzyzzyzyzyyyyzzzzyzyyzzyzyyzzyyyyyzzyyyyzyzyyzyzzyyyyyyyyyyyyzyyyyyyyyyzyyyyyyzyyzyyyyyzyyyyyzzyyyyyyyyzyyyzyyzyyyyyyzyyyyyzyyyyzyyzyzyyyzyyzzyyzyyyyyzyzyyyzyyyzyyzyyzyzyzyyyzyyzyyyyyzyyzyzzyyzyyyyyyyyyyyyzyyyzyyyyyyyyyyyyyyzyyyyzzyyzyzyyyzyyzyzzyyzyyyyyzyyyzzyyyyyzyyyyyzyyyzzzyyyyyyyyyyzyyzyyzyzzzyyyyyyyzyyyyyzyzyzyyyyyyyzyyyyzyyzyyzyyyyyyyyyyzyyyyyyzyyyzyyyyyyyyyyyzyyzzzyzyyzyyyzyzyzyzyzyzyyyzzyzyyyyzyyzyzzzyzyyyyzyzzyyyzzyzyzzyzyyzyyyzzzzyyyyyyzyyyzyyyyyyyzyyyyyzyyzyyyzyyzyzyyyyyyyyyyyzyzyyyyyyyyyyyyyyzyyyyyyyzzyyyzyyyyyyyyyzyyzyyyzyyyyyyyyyyyyyyyyyyyyyyyyzyyyyyyyyyyyyyyyyyzyyyyzyyzyzzyyyyyyyyyyyyyzyyzyyyyyyyyyyyyzyyyyyzzyzyyyyzyyyzzyzyyzzyyyzyyyyzyzyzyyyyyyzzzyyyyyyyyyyyyyyyzyyyyyyyzyyzzyzyyzyyyyyyzyyyyyzzyyyyyyzyyyyyyyyyyyzyyzyzzyyyyzyyyzyyyzyyyyyyyzyyzzyyzyyyyyyyzyzzyzyyyyyyyyyzyyyyzyyyyyzyyyyyyyyzyyyyyyyyyyyyyyyyyyyzyyyyzyyzyyyzzyzzyzyyzyyyyyyvkiiiiiiiiijryyyyyyyyzyyyyyyyyvkiiiiiiiiijuyyyyzyzzyzyyyyyzyyyyyyyyyzyyyvkiiiiiiiiijryyyyyyzyzyzyzyyyyvkiiiiiiiiijuyyyyzyyyyyyzyyyyyyzyzyyyyzzyyvkiiiiiiiiijryyyyzyyyyyyyyyyyyvkiiiiiiiiijuyyyyzyyyyyyyyyyzyyzyyyyyxliiiiiiiijvyyzyyyyyzyyyyyxniiiiiiiipxyyyyzzyzzyyyyyyzzyzyyyyzyyyyyyyzyyyyyzyyyyyyzyyyxpiiiiiiijsyyyzyyyyyyzyyyyzyyzyyzyyyyytkihiiiiiiiiiiihhhhhhhiiiiiiiiiiiiinwzzyzyyyyzyyyyyyyyytkihiiiiiiiiiiihhhhhhhiiiiiiiiiiiiinvyyyyyyyyyyyyyyyzzzyzywojiiiiiiiiiiiiiiihhhhhhhhhiiiiiiiiiiiiihjqxyyyyyzyyzyyyzyyyyyyyyyyzyzyyysjiiiiiiiiiijryyyyyyyyyyyyyyyyyyyyyyyyyyyyyywliiiiiiiiiijvyzyyzyyzyzzyyyzzzyzyyyyyyyxpiiiiiiiinxyyyyzyyzzyyyzyyyzyyzyyyyyyzyzzyzzvjiiiiiiijqxzyyzyyyyzyzyyyyzyyyyyyzyyyyzzyyyzzzyzyyywojhiiiiiiiiiiiiiihhhhhhhhiiiiiiiiiiiiiiimvyyzyzzzzzyyyyzyyyyyzwjiiiiiiijqxzzyyyyyyyyyyyyyyyzzyyzyyzyzyzyyzzzyrjiiiiiiijvyyyyyyyyzyyyyyzxliiiiiiiijvyyyzyyzyyyyyzyzyyxrjhiiiiiiiiiiihhhhhhhiiiiiiiiiiiijpwzzyzyzyzzyzyyyyxpiiiiiiijryyyyyzyyyyyzyyyyyyyyyyyyyyyvmiiiiiiiiiiiiiiiiiiiiiiiiijpvjiiiiiiilxyzyyyyyzyyyyzyzyzyyyyyyzyyzyyyyyyyyyzzyyyyyzyzyyyyzyyyyyyyyyyyyyyyzyyyyyyzzzzyyzyzyyzyzzzyyyyyyyzyyyyzyyyyzyyyzyyyyyyyyyyyzyzyyyyyyzzyyyyyyyzzyyyyyyzyzyyyyyyyzzzyzzyyyyzyyyyyyyyyyyyzzyyzzyzzyzzyzzyyyyyyyyzyzzyyyzyyyyyyyyzyyyzyyzyyzyyyzyyyyzyzyyyzzyyzzyyyyyyyyyyyyzyzzyyzyzzyzzyyyyyyyzyzyyyyyyyyyzyzyzyzyzyyzyzyzyyyyzyzzyzzzyyyyyyzyyyzzyzyyzyzzyyyyyyzyyyyyyyzyyzyyyyyyyyyzyyzyyyzyyzyyyzzyyyzyyzzzzyyyyyzzyyzzzyyyyyyzyyyzzzyzzyyyyyyyzyzyzyyzzyyzyzyyyyzyzyyyyyyzyyzyyzyyyzyyyzyyzyyyyzyzzyyyzzyyyyzyyyzyyyyyzyzyyzzyzyzzyyyyyzyyzyzyyyzyzzzzzzzyzyzyyzzzyyyzyyyyyzzyzyyzzyyyzyyzyyyyyyzzyzyyyyyzyyyzyyzyzzyyyyyzyyyyzyyzzyyyyzyzzyzzyzyyyyyyyzzzyyzyyyzzyyzyyyyzzzyyzzyyyyyyyzyzyzzyyyyyyyyyyzzyzzyyyyyyyzzzyzzyzyyyyyyyzyyyyyyzyyyyzzyyyyyzzyyyzyyyyyzzyzyyyzyyzyyyyyyzyyyzyyyyyyyzzyyyyzyyyyyzyyzyyyyyyzyzyyzzzyyyyyzzyzyyyyzyzyzyyyyzzyyzyyyyzzzzyyyyyyzzyyzzzyzyzzyzzzyzyyyyzyyyyyyyyyyyzzyyzzyyzzyyyyyzzyzyyyyyzzyyyzzyzzyzzzyzyyyyyyyyzyyyxniiiiiiiiikuyyyyyzzyzyzyyyyyyxmiiiiiiiiimxyyyyyzyyzzzyzyyyyyyyyyzyyyyyzxniiiiiiiiikuyyyzyyzyyzyyyzyyyxmiiiiiiiiimxzyyyyyyzyzyyzzyzyyyyyzyzyyyzzxniiiiiiiiikuyyyyzzyyyzyzyyzyzxmiiiiiiiiimxyyzzzyyzyzyyyzyzyzyyyyzyxliiiiiiiijvyyzzzyzyzzyyyyxniiiiiiiipxyyzyyyyyzyyyzzzzzzyzzyyyyyyyyzyzyyyyyzzyzyzyyyyzypiiiiiiijsyyyyyyyzyyyyyyzyzzyzyzyyzyyyulihiiiiiiiiiiiiiiiiiiiiiiiiiiihjovyzzyyyyzyyyyyyyyyyyytlihiiiiiiiiiiiiiiiiiiiiiiiiiiihjovyzyzyyyyzyyyyyzyyzzyyyywrkihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiksxzyyyyzyyyyyzzzyyzyyyyyyyyyyzyyvkiiiiiiiiiijuyyyzzyyyyyyyyyzyyyyyyzyyyyyyyzxoiiiiiiiiiimxyzyzyyzyyyyyyyzyyyzzyyyyyzxpiiiiiiiinxyyyyyzzzzyyyyyyyyyyyyyyyyzyyyzyyyvjiiiiiiijryzyyyyyyyzyyzyyyyyyyyyyzyyyyzyyzzyyzyyyyzyxrkihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihjowyyyyzyzyyyyzyzyyyyyyzwjiiiiiiijrxzyyyyyyyyzyyzyyzyzyyzyyyyyyyyyyyyyyrjiiiiiiijvyyyyyyyyzyyyyyzxliiiiiiiijvyyyyzyyyyyzyyyyyyyxrkiiiiiiiiiiiiiiiiiiiiiiiiiiiiikqwyyyyyyyyzyyyyyyyxpiiiiiiijsyyzyyyyyyzzyyyyzyyyyyyzyyyzyvnjiiiiiiiiiiiiiiiiiiiiihjpwxjiiiiiiilxyyzyzyyyzyyyyyyzyyyyzzyyyyyyyyyyzyyzyyzyzyyyyyyyyyyyzyyzyyyyyyyzyyyyzyyzyzyyzyyyyyyyyyzyyyyyzyyyyzyyyyyzyyzyyyyzyyyyzyyyyyyyyzzyyyyyyyyyyyyyyzyyyyyyyyyyyzyyyyyzyyyyzyyyyyyzyyyyyyyyyzyyyyyyyyyzyyyyyzyyzyyyyyyyyyyyyyzyzyzyyyyyyyyyzyzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzyyyyyyyyzyyyyyyyyyyyyzyyzyyyyyyzzyzyzyyzyyzyyyzyyyyyyyyyyyyyyyyzyyzyyyzyyyyyyyyyyyyzyzyyyyyyzyyyzyyyyyyyyyyyyyyyyyyyyyyyyyyyzyyyyyyyyyyyyyyyyyyyyzzzzyyyyyyyzyyyyyyyyyzzyzyyyzyyyyyzyyyyzyyyyyyyyyyzyzyyyyzyyyyyzyyyyyyzyyzzyzyzyzyyyyzyzyyzzzyyyzyyzyyzzyyyyyyzzyzyyyyyzzzyyzyzyyyyyyyyyyzyzzyyyyzzyyyyyyzyzzyyyzyyyyyyzzyyyyzyyyyzyyyyyyzyzzyyyyyyzzzzzzyyzzzzyyyzzyyzzyzzzyzzyzyzyyzyyyzyzyyzzyzyyyzzzyyyzyyyyyyzyzyyyyyzyzyyzyyyyzzzzyyyyzyyyzyyzyyyyyyzyzzzzyyyyyzyzzyyyzyyyzyzyzzyyzyyyyyzyyyyzyzyyyzzyyyyyyyyyyyyzzyyzyyzyyyyzzyyzyyzzyzyyyzzzzzyyzzyzyyzzyyyzyzyyzyyyzzyyyyyyzyzyzzyzyzyyyyyzyyzyyzyyyyyzyyzzzyyzyyyyyzyyzyyyyzyzyyyyzyyzyyzyyyzyyrjiiiiiiiimxzyyzyyzzyzyzyyzyyyrjiiiiiiijryzyyyzzzyyyyzyyyyzyzyyyzyyzyyzyrjiiiiiiiimxyyyyzyyyyzyyzyyzyxqjiiiiiiijryzyyzyyyyzzyzyzzzyyyyyyzyzzyyyxrjiiiiiiiimxzyyzyyyzzzzyzyzyzyqjiiiiiiijryyzzzyzzyyzyyyyzyyyyyyzyzxliiiiiiiijvyyzyzzyyyyzyyyxniiiiiiiipxzyyzyyzyzyyyzyyyyyyyzyyyzyyzyyyzyyzzyyzyyyyyzyyzxpiiiiiiijsyzyyzzzyzzyyyzzzyzyzyyyzyyyzyvojhiiiiiiiiiiiiiiiiiiiiiiiiiijpwyyzzyyyzyyyzzyyzyyyyzyvojhiiiiiiiiiiiiiiiiiiiiiiiiiijqwyzyyzzzzyyyzyzyyzyyyzzyyyytnjihiiiiiiiiiiiiiiiiiiiiiiiiiiiihijouyyyyyzzyyyyyzyyyyyzyyzyzyyzzyzyyxniiiiiiiiiilxzyzzyzzyyyyyyyzzyyzyzyyyyzyyyzyrjiiiiiiiiipxzyyzyyzzyzzyzyyyzzzzyyzyyzxpiiiiiiiinxzzyzzyyzyyzyyzyyyyyzyzyyzyyyzyzzyvjiiiiiiijryzzyyyyyzyzyyzyyyyyzyzyyyzyyyzzyyyyzzzyyzyzyunjihiiiiiiiiiiiiiiiiiiiiiiiiiiiihilsxyyyyzyzyzyyyyyyyyyzzzzwjiiiiiiijrxyzzyyyzyyzzyzyzzzzzyyzzyyyyyyyzyzyyrjiiiiiiijvyyzzyyyzyyyyzyzxliiiiiiiijvyyyyyzzyzyyyyyyzyzzxtmihiiiiiiiiiiiiiiiiiiiiiiiiilsxzyyyyyyzyyyyyyyyyypiiiiiiijsyyzzyyzyzzyyzzzzyyyzyzyyyzzyzwqkihiiiiiiiiiiiiiiiihikrxzxjiiiiiiinxyyyzyyyyyzyzyyyzzyyyyyzyzyzyyyzyyyyzyyyzzzyyzyzzyyzzyzyzyzyyyyzyyyzyyyyyyyyyyzyyyyzzyyyyyyyyyyyyyyzyzyyyzzzyzyzzyzzyyyyyyyyzyyzyyzyzyzyyzyyzzzyyyyyyyzyyzzyyyzyyyzyyyyyyyzyzyyyyyyyzzzyyyyzyyzyyzyyyzyyyyyyyyyzyzyzyyzyyzyyyyyzzyyyzzyzyyyzyyyzyyyyyzyyyyyyyyyyyyyyzyzyyyyyyzyzzzyzzyyyyyyyyzzzyyzyyyyyyzzyzyyzzzyyyyzyyyyyyyzzyyyyyzyzzyzyyyyyyyyyzyzzyyyyyzzyyyyyyyyzyyzyzyyyyyzyyyyyzyyyyzyyyyzyyzyyyyyyzyyyzyyyyzyyyyyzyyzyzyyzyyyyzyyyyyyzzyyzyyzzyyzyzyyyyyyyzzyzyyyyzyyyyzyyyyzyzyyzyyyyyyyyyyyzzyyyyzyyyyyyyyyyyyzzyyzzzzyyzzzzyyyyyyyzyyzyzyzzyyyyzzzzyyzyzyyzzzyzyyyyyzyzzzyyyzzzyzzyyyyyyzzyzzzyzzzyyzzyyyzyzyyyyyzzzyzzyyzyzyzyzyyyzzyzzyzyyzzyzzyyyyyzyyyzyyyzzzzzyzyzyyyyzzzzzyzyyzzyzyyyyyzyyyyzyzyzzzzyyzyyzyyzyzyyzyyyyyyyyyyzyyyyyyyyyyyyzyyyzyyyyyyyzyyzyyzyzyyzyzyzyyyzyyyzyyzyyzzyyyyyyyzzyyyyzzyzyyzyzyyzzyyyyyyzyyyyyzzyyzyyzzzzyzzzyyyzzyzzyyzyyyyyzyyyyyyyyyyyzyyzyzyzzzyzyyzyzyyzyyzzyzzyyyyyyzyyzyyzzzyyyyzyzzyyyyzzzzyzyyzzyyyzyvkiiiiiiiipyzyyyzyyzyyzyyyzzyyujiiiiiiijvyzzyyzzyzyzyyyyzyyzyzzyyyyyyyyyvkiiiiiiiipxzzyyyyzyyyyyzzyyzyujiiiiiiijvyzyzyyyyzzzyyzzzzzyyzyzyzzzyyzywkiiiiiiiipyzyzyyyyzzyyyyyyzzyujiiiiiiijvzzyyzyzzyzyzyzzyzyyyyyyyyxliiiiiiiijvyyyyyyzyyzzzzzxniiiiiiiipxzzyyyzyzyyyyyzyzzyyyzyzyyyyzzzyzzzyyyzyyzzzyyyyzxpiiiiiiijsyyzyzzyzzyyyyzzzzyyyzyyzyyzzyzxrkihiiiiiiiiiiiiiiiiiiiihijmsxzzyzzyyzzyyyzyyzyyzzyzzzxrkihiiiiiiiiiiiiiiiiiiiihijmsxyyyyyyyzyzyzzzyyyyyyzyzyyzyywsmjihiiiiiiiiiiiiiiiiiiiiiiiihijmsxyyyyyyyyyyyyyyyzzyyyzzyzzyyzyzzzzyrjiiiiiiiiioxyyyzzyyyzyzyyyyyyzyzzzyyyzyyzzyujiiiiiiiijtyzzyyyyzyyzyzyyyzyyyyzzyyyyxpiiiiiiiinxzyyzyyyyyyzzyyyyzzzyzyyyzyyyyyyyyvjiiiiiiijqyyzyyzzyyyyyzzyyzzzzzzzyyzyyzyzyzyzyyyyzzzyyyxsnjihiiiiiiiiiiiiiiiiiiiiiiihhjkqwyzyzyyyyzyyzyyyzzyyzyyyzwjiiiiiiijrxyzyzyzyzyzyzyzyyyzyzyzzyzyyyyzzyyzysjiiiiiiijvyzyzyyzyzzyyyyyxliiiiiiiijvyyyyzyyyzzzyyzzyyzyzywpkihiiiiiiiiiiiiiiiiiiihikpvyzzyyyyzyzyzzyyyyzyypiiiiiiijsyyyyyzyyzzyyyyyzzyzzyzyyyzyyzyxtnkihhiiiiiiiiiiihiknuxzyxjiiiiiiinxzyzyzyyzyyzyyyzyzzyzzyyyyzyzyzyyzyzyzzzzyyyyyyzzyzyzzyyyzyzyyyzyzyyyzyzyyzyyzyyyzyzyyzyyyyzyzzyyyyyzzyyyzyyzyyyyyzyzyzzyyyyyzzyzzyyzzyyyyyyyyzyzyzyyyyzyzyyzzyzyzzzyzzyyzyyzyyyyzzzyyyzyyyyyyzyyzyyyzyyzyzyzyyyyzzzyzyzzzyyyyzyyzyzzyzzyzyyyzyyyyyzyyzzyyyyyzzyyyyyyzyzyzyzyyzyyyyzzyzyyyzyyzyzzyyzyzyyzzyyzyyyzzyyzyyyyyyzzyzyyzzzzzyzyzzyzzzzyzyzzyyyzyyzzyyzyyzyzyyyyyzzyyzzzyzyyzzzzzzyzyyyzyzzyyzyyyzyzzzyyyzzzzyzzyzzzzyyyyyzyyzyyzyyyyyzyzyzyzzyzzyyzyyzzzyyyyyyyzyyyyyyzyyyzzzyzyyyyzzzyzyzzyyzyyyzzyzzzyyyyyyzyyzyyyzyyzzzzyyzzyzyyzyzzyyyyzyyyzzzyyzzyzyyzyzzyzzyzzzyyzyzzyyyyyzzzzzzyzzzyzyzyzyyyzzzzzyzyzzzzyyzzzzzzzzyyzyzyzzzyzzyzzyzzyzzyyzyzzyzzyzyyzyzyyyyzyzyyzyzzzzyzyzyzyyyzyzzzyyzyyzyyyzzyyzzyzyyyzzyyyyzyzyyzzyyzyyyyzyzyyyyyzyyyyzzyyyzyzyyyzzzzzzzzyzzyzyzyyyzzzzyyyzzyzzyyzyzyzyzyyzzyzyzzzyzyyyyyzyyzyyyzzyyzyyzyyyyyzzzzyyyzzyyyzzzyyzzzyzzyyyyzyyzzyyyzzzyzzyyyzyyyzzzyyzzyyyyyzyzyzyzzyyyzzyyyyzzzyyyyzyzzyzyyzzzyyyzzyzzyzyyzxmihhhhhhjtyzyyzzyyzyyyyyyyyzzwkhhhhhhimxyzzzyyzzyyyyyzzyyzyzyzzyzyyyzyyxmihhhhhhjsyyzzzzyyzzzzyzzzzzzxkhhhhhhimxyzzyyyzzzzyyyyyyzzzyzyzzzyzzzzzxmihhhhhhjsyyzzyyzzzzyyyyzyzyyxkhhhhhhimxyyyyyzzzzzyyyzyzzzyzyzzyyxlhhhhhhhhjvyyyyyyzzyzyyyzxnihhhhhhioxzzzyyzyzyyzyyzzyzyzyyzzyzzzyzyyyyzyyyyzyzzzyyyyyxoihhhhhhiryzzzyzyyyyyzyzzyzzzzyyyyzzzyyzzyvqkjihhiiiiiiiiiiiiihhijlrwyzzzzyyzzyzyyzzyyzzyyyyyzyzyvqkjihhiiiiiiiiiiiiihhijlrwyzyzyzyyyzyyyzzzzzyzzzyzyzyyyyzyxsokjihhhiiiiiiiiiiiiiiihhijkoswyzyyzyyyzyzyzyyyzyzyyyyzzzzyzzzzzzzyujhhhhhhhhjsyzyyzyzyzyzyyzyyzyyyyzyzyyyyzyzzxlhhhhhhhhkwzzyyyzyzyzzzzyyyzzyyyyyzyzyxoihhhhhhinxzzyyzyzyzyyyzyyyyyyzyzyyzyzzyyzzyvjhhhhhhhiryyyyzzzyzyzyzyyyyyyyzzyzyzyzyzzyyyyzyyyyyyyzyzywsokjihhhiiiiiiiiiiiiiihhhjjlrvxzyzyzyyyzzzyzzyyyyzyyzzyyxjhhhhhhhiryyyyzyzzyzzzzzzyyzyzyzyzzyzzyyyyzzzyrihhhhhhhjvzyzzyyyyyyyyyyyxlhhhhhhhhjvyzyzyyyyyzzyyyyyyyyzzyxuokihhhiiiiiiiiiiihhijkpuxzyzyzzyyzyyyyyzyyyzzyoihhhhhhiryyyzzyzzyyzyyyyyzzzzyyyzzyyyyyzyxtpkjjjhhhhhhijjkotxyzzywjiiiiiiinxzyzzyyzyyzyzzzyyyyyyyyyyzyyzyyyzyzzyyzzzyyyzyyzyyyyyyyyyzzyyyzzyyyzzzyzyyzyzzyyzzyzyyyyyyzyyzzzyyyzyzzyyyyyzzzyyyzyyyzyzyyyyzyyzzzyyzzyyyyyzyyyyyzyyzzyzyyyzzyyyyzzyzzyyyyzzyyyyyyzzzyyyyzyyyzyyyyyyyyyyzyzyzzyyyyyyzyzyyyyyyyzzyyzyyyyyyyyzyyzzzyzyyyzzyzyyyyzyyyyzzzzyyzzyyyzyzzyyyyyyyzzyyzzyzzzyyyyyyyzyyyyyzyyyzyyyyyyzyyzzyzyyyyyzyyyyyyyyzyzzzyyyzzyyzzyyzzyyyzzyzzyyyzyyzyzzyyyyzyyzyyzzyyyzzzzzzzyzyyyyzyzyyyyyyzzzyyzzzyyyyyzzyzyyyyyyyzyyyyyyzzyyzzyyzzzyyyzyyyyzzzzzzyzyzyzyzyyzyzyzzyzyyzzzyyzzzyyyzzyzzzyyyzyyzzzyzzzzyyzzyzyyzyzzyyyyzzzyzzzzyzyzyyyzyzzyzzyzzyzyzyzzzyyzyzzzzzyyyzzyzyzzzyyzzzzzyzyyzzzzyyzzzzzzyzzyzyzyzzyyzzyzzyzzzzzyyzzzzyzzyzzyzyzyyyzzyzzyzzzzyyzzzzyzzyyzyzyzyyzyzzyzyzzzyzzzzzyyzzzzyzzzzzyzzzyzyzzyzzzyyzzyzzyyyzzyzyyyzyyyzzzzzzzzyzzyzyzyyzzzzzzyzzyzzzzyzzzzzzzyyzzyzzzyzyzzzyyyyzyzyyyzzyzzyyzzzyyyzyyzzzyyzzyzzyzzzyzyyzzyyyyyyyzyzyyyzyyyzzyzzzyyzzzyyzzyyyzyzzzzzyzzyyyzzyyyzzzzyyyzzzyzyyyzyzzyzzzzyzzyzyzyyrlkkkkkkmwzzyyzzzyzzzyyyzzzzzypkkkkkklryyzyyyyzzzyyzyzyyzyzzzzyzzyyyzzzyrlkkkkkkmwzzzzzzyzyzzzyzzzzzzxpkkkkkklryyzzyyzzyzzyzyzzyzzyyyyzyzzzzyzzyrlkkkkkklwzzyzyzzzzzyyzzzzzyyxpkkkkkklryyyzzzyyzzyyyzzzyyyzzzzzzyxnkkkkkkkkmwzzyyzyzzyyyyzzypkkkkkkklqxzzzyyyyzyyzyzyzyzyzyyzzyzyzyzzyyzzzyzzzyyzzyyyzzxqlkkkkkkltyyzzzzzzyyzzyzzyyyzzzyyzzzzzyzzyzywrnkjjjihhhhhhhijjjkpswyzyyyzyyyzzyzyzzzyyzzzyyyzzzzyzywrnkjjjihhhhhhhijjjkpswyzzzzzzzyyzzzzzzzzzyzzzzyzzzyyzzzzzyxwrplkjjjihhhhhhhhhijjjknrvxyzyyzzzyyyzyzyzzzyyyzyzyyzyzzzzzzyzzyzxmkkkkkkkkmwyzyzzyzyyzyyyyzzzzzyzzyzzyzyyyzzyplkkkkkkknxzyzzzzyzyzzzzyzyzyyyzyyzyzzyqlkkkkkkkpxzzzyzyyyyzzzyyyyyyyyyzyyyyzzyyyzyvlkkkkkkklsyzyzzyzzzzzyyyyyzyyyzzyyzzzzzzzyzzyzyzzyyyzzyzzzyxwrokkjjjihhhhhhhhhjjjklqtwyzzyzyzzyzyzyzzzzyzzyzyzyzzzxmkkkkkkklsyyyyzzzzyzzzzyzyzzzzzzyzzyzyzzzyzyyytlkkkkkkklvyyzzzyyzzzyzyyzxnkkkkkkkklvyzyyzzyyyzzyyzyyyyzyyzzyxvqmkjjihhhhhhhijjkmrvyzzzyzzyyzyyyyyzzyyyyzzyqlkkkkkkltyzyyzzzyzzyyzzyyzzzzyyyzyyyyyzzyzyywtrqlkkkkkmqrwxyzzzzyvjiiiiiiipyzyzzzzzyyyyyyzzyzyyzyyzzyyyyyyzyyyyyyyzyyyzzyzzzzzyyzyzyyyzyzyyyzzzyyzzzyyyyzyyzyzyyzyzzyyzyyzzyyyyzzyzyyyyyzzyyzyyyyyzyyyzzzyyyzyyzzzzyyzzyyzyyzzyzzyyyyzyzzyyzzzzzyzyzyyyzyzyzyzyyzzyyzyzzzyyzyyyyzyyzyzzzyyyzzyyyyzzyzzyyyyzyyyzzyyzzyyyzyyzzzyzyzyyyyyyzzzyyyyyyyzyyyzyyzzyyyzyyyzzzzzyzzyzzyyyzzzzyyyyyzzzyzyzyyzzyzyzyzyyyzyyyyyyyyyyzzyyyzyzyzzyyzyzzzzzzyyyzzzyzzyyyyyzyzyyyyyyyyyyyzyzyzzzyzzzzyzzyzyzyyyzyzzyyzyyyyyyyyzyyyzyyyzzyyzzzyzyyyzyyzzyyyyzyyyyyzzyyzyzzyyyyzyzyyyyzzyyyyyyyyzzyyyzyyzzyyyyzzzyyyyyzyzyzzyzyzzzzyyyzyzzzzyzzzzyyyzzyzyzzzzyzyyyzyyyyzyyzzzzzyyzzzyzyyzzyzzyyyzzyzyzyzzzyyyyzzyyzzzzzyzzyzzzzyyzzzyzzzzyyyzzzzzyyzzzzzyzzzyzyzzzyzyzyzyzyzzzyyzzzyzzzzyyzyyyzyyyzzyzyzyzzyyzzyyzzyzyyzzzzyzzzzzyzzzyyyyyzzzzyzzzzzyzyzzzyzzyzzyyyzzzyzzzzzzzyzzzyzzzzzzyyzzyzzzzyzzzzzzyyzzyyzzzzzzzzzyyyyzzzzyzzzyzzyzzyzyyyzyyyzzyzzzyzzyyzyyzzzzzyyyyzyyyyzzyyzyzzzzzzyzyyzzzyzzzyyzzzzyyzyzzzyzyzyyyyzzzzzyyzzyyzzzyzyzyzzyyyzzzzzyzyyyxwwwwwwxzzzyyyzzzzzyzyyzzzzyyxwwwxwwwyzzzzyzyyzzyzyyzyyzyzzzyyyzyzyyzyzyxwwwxwwwzzzzzzzyyzzzzyyzzyzzyxxwxxwwxyzzyzyyzzyyzyzzzzyzzzyyyzzzzzzyyyyywwwwwxxwyzzyyyzzzzzzzzyzyzzyyxwwwxwwxxyyyzzzzyzzyyyzzzzzyzzzyzzyyxwwwxwxwxwyzzzzzyzzzzzzzzyxwwwxwwwxxyzzzyyyyzzyyyzzyyzyzyyzzzzyzzzzyzzyzyzzzyyzzyyyzyyxxwwxwwwwxyyzyzzzzzyzzyzzzzyzzzzyzzzzzyzzzzzzyxwtrqmkkkkkkknqruwyyzzyyyzzyzyzzyzyzyzzyyzzyzyzzzzyzzzyxwtrqmkkkkkkknqruwxyzzyyzzzzzyzzzzzzzzyzyzzzzzzzzyyzzzzzzzzyyxwrrqokkkkkkkkknqrtwxyzzzyzyzzzyyyzyzyzzzyyzzzzzzzyzzzzzzzzyzzyxxwxwwxxxxyzyzzzyzyzzzyzyzzzzzyzzyzzyzzyyzzyxxwxwxwwxxzzzzzzzyzyzzzzzzyzyzyzyzzzzyzxwxxwxwwxxzzzzyzzyzyzzzzyyyyyyyyzyzyzyzzzyyyyxwxwwwwxxxzzzzzyzzzzzyzyyzzzyzyzzzzzzzzzzyzyyyzzzyzyzzyzzyzzzyxxwrrrnkkkkkkkklqrrwxyyzzyzyzyzzyzyzyzzyzzzzzzzzyzzzywxwxwwxwxyyyzzzyzzzzzzzyzyyzzzzzyyzzzzzzzyzyyzyxwwwwwwxwyzyyzzyzzzyyzyzzyxwwxxwwxwxyyzyzzzyzyzyzzzyyyyyzyzyzzzyxvrqokkkkkkkoqswxyzzzzyzzzzyzyzzyzzzyyyyzzzxxwxwwwxwyyzyyzyyyzyyzzzzyzzzyyzzzzzzzzzzyyzzzyyyxwwwwwxxyzzzyzzzzvjiiiiiijpyzzzzzzzyyzyyyzzyzyyzyzzzyyyyzyzyyyyyyyzzyyzzyzzzzzzyyzyzyyzyzzyyzzzyzyzyyyyyzyyzyyzzzzyzyzzyyyyyzyzzyyzyyyyyyzzyzyzzzyzyyyzzzyyyzyyzzzzyzyyyzzzzzzyyzyzzyzzzzyzzzzzzzzzyzyyzyzyyyzzyzyyzzzzyzyzzzyzzzzyzyzzzyzzyzzzzzzyzzzzzzyzzyyyzyyzyyyzzyyzzyyzyyyyzzyyzzzyyyyyzyzyzzzyyzyzyyyzyzyzzyyyzzyzyyzyzzyzyyyyyzyzyzyzyyzyzyyzzzyyzyyzzzyzyyzzyyzzyyzzzzzyzyyzzyzzzyzyzyzyzzzzzyyyyzyzyyzzyzzzyzyyzyzyyzyzzzzzyzzzzyzzzzyzzzzyyyyyzzzyyzzzzzzzyyyzzyzzzyyyyyzyyyyzzyyyyzyzzzzyzyyzyzzzzzyyyyyzyyyyyzzzyzyzzyyzyyzzzzzyyyzzyyyyzzzzzzyyyyzyzyzzzzyyzzyyzzzzyyyyzzzyzyzzzzzzyzyzzzzzzzyzzzzyzyzzzyzyyyzzyzzzyyzzyyyzzzzyyzyyzzzzyzzzzzyzzzzzzzzzyyzzzyzyyzzzzzzzzyyzyzyzyzyzzzyzyzzzyyzzzzyzzzyzzyzzzzyyzzzzzyzyzyyzzzzzzzzzyzzzzyzzzzzyyyyzzyyzzyzzyzzzzzzzyzyzzzzyzzzyzzzzzzyzzzzyzzzyyzzzzyzzyzzyyzzzzzzyzyzyzzzyyzyzzyzzzzyyyyzzzzyzzzyzyyzyzyyyyyzzzyzyyzzyzzzzzzzzzzzzyyyzzyzzzzyyzzyyyzzyzzzzyzzzyzzyyyzzyzzzzyzyzyzzzzyyyzzzzzyyzyzyyzzyzyzyzzzzzzzzzyzzyyzzzzzzzzzzzzzyzzzzzzzzyyzzzzyyzzzzzzzzzyzzzyzzyzzzzzzzyyzzzzzzyyzzzyzzzzzzzzzzzzzzzzzzzzyzzzzzzyzyzyzzzzzzzzzzyyzzzyzzzyyzyzyzzyzzzyzyyzzzzyyyzyzzzzzzzzzzzzyyzyyzzzyzyyzzzzyyzzzzzzzzyyyyzzzzyyzyyzzyzzzyzzzzzzyyzzzzzzzzzzzzzzzzzyzzzzyzzyzzzzzzzzzzzzzzyzyzzyzyyzzyzyyzzyzzzzyzzzzyzzyzyzzyzzzzyyyzyyzzzzzzzzzzzyyyzzzzyyzzyzzzzyzzyzzzzzzzyyzzzzzzzyyyyxxwxxxwxxyyyzzyzzzzyyzyzzyzzzyzyyzyyzzzzzzzzzzzyyzzzyyyxxxwxwwxxyyzzzzyzyyzzyyzyzzzyzzyzyyyzzzzzzyzyyzzyzzzyyzzzzyyyxwwxwwxxwwxyyyzzzzyzzzzzzzzyyzyzzzzzyyzzzzzzzyyzzzyzzyzzzzzzzzzzzzzzzzyzzyzzyzzzzzyzzyzzyzzzzyzzzzyzzyzzzzzzzzzzzyzzzzzyzyzzzzzzzyyzyzyzyzzzzzzzzzzzzzzzyzzyzzyyzzzzyzzzzzyyzzzzyzzzzzyzyzzzzzzzzzzzzzzyzzzzzzyzzyyzzzyzyyzzzzzzzzzyzzyyzzzyzyzzzzzyzzzzzzzyyyxwwwxwwxwxxxyzzzzyzzzyzyzzyzzzzyzzzzzzzzzzyzzzyzzzzzzzzzzyzyzyzyzzyzzzzzyzzzzyzzyzyzzzzzyzyyzzzzzzzzzzzzzzzyzyzzzyzzzzzzzzzzzzzzzzyyzyzzyyzzzyzzzzzyyyzzzyzzzzzzyyxwwxxwwwxxyzzyzzzyyzzzzyzyyzzzzzyyyzzzyzzzzzzzzzyyzzzyyyzzyyzzzyyzzzyzzyzzyyzzzzzzzyzyzzzzzzzzzyzzzzzzzyytjiiiiiijryzzzzzzzyyzyyyzzyzzzzzzzyzyyyzzzzzyzyyzzzzzzzyzzzzzzyyzzzzzzyzzyyzzzzzyzzzyyyzyzzyzzzzzyzyzzzyyzyzyzzyzzyyyzzyzzyzzzyzyzzzyzyzzyzzzyzyyzzzyyyzzzzyyyzzyzzzzzzzzzzzzzzzzyzzyzzzzyzyzzyyyyzzzzzzzzzzyzzzzzyyzzzyyzzzzzzzzzzzyzzzzzzyyzzzzzyzyzzzyzzyyzyyzzzzzzzzzyzyyyzyzyzzzzyzzzyyyyyzyzzzyyzzyzyyzyyzzzyyzzzyyzyzyzzzzyzzzzzzyyzyzzzzyzyyzzyyzzzzzyzyzyzyyzzyzzzyzyzyzyzzzzzzyyzzzzzyzzyzzyyzyyzyyyyzzzzzzzzzzzzzzyzzyzzzzyyzyyzzzyyzzzzzzzyyyzzyyzzyzzzyzzyyzyzyzzyzyzzzzyzzzzyzzzzzyyyzyzzzyyyzzzzzyyzyzzyyzzzzzzzyzzyzzzzzzzzzyyyyyzzzzzzzyzzzzyzzzzyzzzzzzzzyzyzzzzzzyyyzzzzzzzzzzzzzzzzyzzyyzzyzzzzyzzzzzyzzzzzzyyzyzzzzzyzzzzzzzzzzzzzzzyzyzyyzzzzyzzzzyzyzyzyyzzzzzzyzzyyzzzzzzyzyzzzyzzyzzzzzzzyzzyzyzzyzzzzzzzyzzzzzzyzyzzyzzzyzyzzyzzyyzzzzzzzzyzzzzyzyzzzyyzzyzzzzzyzyzzzzzzzyzzyzzzzzyzzzzyzzzzzzyzyyzzzzzzyzyyyyzzzzyzzzzzzzzyyyyzzzzzzyzyzyzzzzzzzzyzzzzzzyyzzyzzzzzzyzzyzyzzzzzzzzzzzzyyzyzzyzyzzzzyyyzzyyzzzzzyzzyzzzzyzzzyyzzzzzzzzzzzzzzzzzzzyzyzyzzzzzzzzzzzzzzzyzzzzzyzzyzyzzzyyyzzzyzzyzzzzzzzyyzzyzzzyzzzzyyzzzzzzzyzzyyzzzyzzzzzzzzyzzzzzyyyzyzzzzyzzyzzzyzyzyyzzyyzzzzzzyzzyzzzzyzzzyzyzzzzzzyzzzzyzzyzzzyzyyzzzzzzzyyyzzzyzyzzzyyzzzzzyzzzzzzyzyzzzyyzzzzzzzzzzzyzzzzzzyzzzzyzzzzzyyzyzzzyzzzzyzyzzyzyyzzzzzzzzyzzzzyzzzzyzzzzzzzyyzyyzyyyyzzzzyyzyzyzzyyzzzzzyyzzzyyzzyzzzzzzzzzzyyzzyzzzzyzzyzzzzzzzzzzyzyzzzzzzzzzzzyyzzzyyyzzzyzyzzzzyzzzzyzzyzzzyzzzzzzzzzzzyzzzyzzzzzyyyyzyzzzyzyyzyzyzzzyzyzzyyyzyzzyzyzzzyzzzzzzzzzzzzyzyyyyzyzzzzyzzzzzyyyzzzzzyzzzzzzzyyzzzyzzyzzzzzzzyyzzzzyzzyzyzzzzzyzzzyzzyzzyzzzzzzzzzzzzyzzzyzyyzzzyzzzyyyzzyyzzzzzzyyzyyyzyzzzzzzzyzzzzyzzyyzzzzyyzzzzyzzzzzzyzzzzzzzzzzyzyzzzzzyzzzyzzyzyzyzzzzyzzzzyzzyzzyzzzzzzyzzyzzyyzyzyzyzyzzyzzzzyzyzzzzzzzzzzzzzzyyzzzzzzzzzzyyzzyzyyzyzzyzzyzzzyzzyzyzzzzyyyzzzzyyzyzzyzyyzzzzzzyzzyzzzzzzzzzyyzyzzyzzzzzzyzyyzzyyzzzzyyzzzzzzzyzzyzyzzzzyzyzyzzzzzzzzzzzyyzzyzzzzzzzzzzzzzzzzzzzzyzzyzzzzzzzzzzzyzzzzzzyyzzyzzzzzzzzzzzyzzzzyyzzzzzzzzzyyzzzzzzzzzyzzzzzyzyzyzzzzzzzzzzzzzzzyzyxrjiiiiiijsyzzzzzyzzyzzyyzzyzzyzyzzyzzyyzyzyzzzzyyzzzzzzyyzzzzzzzzzzzzyzzzzzzyzyzyzyzzyzzyyyzyzzzzyzyzyzyyzzzyzzzzzyzyzzzzzzzyzzzyzzzyzzzyzzzzyyyzzzzzzyzzzzzyzzzzzzzyzyzzzzzzyyzzzyzyzzzzyzzzzyyzzzzzzzzzyzzzzzzzzzyyzzyzzzyzyyzyzzyyzzzzzzyyzzzzyzzzzzyzzzyzyzzzzzzzzzyzzzzzyzzzzzzzzyzzzzyyyyzzzzzyyzyyzzzyyzzzzyzzzzzyzyzyzzzzzzzzyzzzyzyzzzzyzzyyyzyzzzzzyzzyzzyyzzyzzzyzyyyyyzzzzzyyyzyzzzzzzyzzyyzyzzyzzyzzzzzzzyzyzzzzyzzyzzzzyzzyyzzzyyzzzzzzyyyzzzzzzzzzzzyyzyyzyzzzzyyzzzyzyzzzzzzzyyyyzzzyyzyzyyzzzyzyzzzzzzyyzyzzzzyzzzzzzyzzzzzyzyzzzzzzyzzyzzzzzzyzzzzzzzzzzzyzzzzzzzzzyzyzzzzzzzzzzzzzzzyzzzzzzyzzyzyzyzzzyzyzzzzzyzzzzzzzyzzzzyzzzzzzzzzzyzzyzyzzyzzzzzzyzzzyzyzyzzzzyzzyyyzzyzzzyzyzzzyzzzzzzzzzzzzzyzyzzzzzyzzzzyzzzzzzzzzzzyzzzyzzzzzzzzzzzzzzzzzzzzzzzyyzzzyyzzzzzzzzyyyyzzzzzzyzzzzzzzzyyzzzyzyzzzzyzzyzzyzyzyzzzzzyzzzyzzzzzzzzyzzzzzzzzyyzyzyzzzzzzzzzzzzzzzyzzzyzzzzzzzyyyzyzyzzzzzzzzzzyyzzzzyzzzzyyzzyzzyzzzzzzzzyzzzzzyzzzyzzzzzzzyzzzzzzzzzyzzzzzzzyzzzzzzzzzyzzzzzzzzzzzzzyzzzzyzyyzyzyzzyzzzzzzzzyzzzzzzzzzzzyyzyzzzzzyzzyyzzzyzzzzzzzzzzzzzzyzyzzzzzzzzzyyzzyzyzzyzzyzzyzzzzyzzyzzzzzzyzzzzzzyzzzyzyzzyzzzzzzyzyyzzyyzzyzzzzzzzzyzzzzyzzzzzzzzzyzzyzzzzyzzzzzzzzzzzzzyzyzzzzzzzzzzzzzyzyzzyzyzzzzzyyzzzzyzyzzzzzzzzzyyzzyzzzzzzzyzzzzyzyzyyyyyzzzyzzyzyzzyzzyyyzzyyyyzzzyyyzzzzzzzzzzzzzzzyzzzyyyzzzzzzzzzyzyzyzzzzzzzzzzzzzzyzzzzyzzzzyzzzzzzyzzyzyzyyzzzyzzzzzzyzzyyzzzzyzzzzzyzyyyyzzzzzzzzyzyzzzzzyzzyzzzzzzyyzyzzyzyyzzyyzzyzyzzzyzyzzzyzzyzzzyzzyyzzzzzyyyyzyzzyyzzzyzzzzzyyzyzzzzzzzzyzyzyzzzzyyzzzzzzyyzyzzzzzzzyzzyzyzzzyzzyzzzyzyzyzzzzyyzzzyzzyyzzzyzyyzzzzzzyzzzzzzyzzyzzzzzzzzzyzzzzzzzzzzzzzzzzyzzzzzzzyyzzyyzyzyzyzzyyzzzzzzyzzzzyzzyyzzzzzzyzzyyzyyzzzyzzzzzyyzzzzzzyzyyzzzzyzyzzyzzzzzyzzzzzzzzyzzzzyzzzzyyzzyyzzyzzyzzzzzyzzzzyyyzzzzzyzzzzzzzyzzyzzyzzzzzzzzzzzzzyyyzzzyzzyzzzzzzzzzzzzyyzzyyzzzzzzzzzyzyyyzzzzyzyzzzzyzyzzyzzyyzzzzzzzyzzyzyzzzzzzzyzzzzyzyzzyzzzzzzzzzzzyzzyzyzzzzzzzzzzzzzzzzzzzzzyyzzzzzxxxyyyyzzzzzzzzyzzzzyyzyzzzzzzzyzxpiiiiiiijuyzzzzzyzzyzzyzzzyzzzzyyzyyzyzzzzzzyzzyyyyzzzyyzzzzzzzzyzzzyyzyzzzzzyzzzzzyzyzzyzzzzyyyzzyyzzzzzzzyyzyzzyzzyzzzzzzzyzyzzyzzzyzyzzzzzzzzzzzzzzzzzzzzyzzzzyzzzzyzzzzzzzyzzzyzzzzzzyzyzzzyzzzzyzzzzyyzzzzzzzzzyyyyzyzyzyzzyzzyzzzzzzzzzzzzzyzyzyzyyzzzyyzzzzzzzzzyyzzzzzzzzyzzzzzyzzyzyzyzzyzzyzzzzzzzzyzzzzyzzzzyzzyzyzyzyyzzzyzzzyzyzyzzyzzyzzyyzzzzzzyzzzzyyzyyzzzyzzyyzzyzyzzzzyzyzzzzzzyyzyzzyyzzzzzzzzzzyyzyyzyzzyzyzzzzzyzzyyzzzzzzzyyzzyzyzyyyzyzzzyzyzzyyzyyzzzyyzzyzzyzyzzzzzzzyzzzzyzzzzyyzzzzzzzzyzzyyyzzzzzzzzzzzzzyzzzzzzzyzzzzzyzyzzzzzzzzzzzzzyzzzyzzyzzzzzzzzzzzzzzzzzzzzzzzzzzzyzzzzzzzzzyzzzzyzyyyzzzzzzyzzzzzzzyzzzzyzzzzzzzzzyyzzzzyzzzzzzzyyzzzzzzyzyzzzzyzzyyzzzzzzzzzyzzzyzzzzzzzzzzzzzyyyzzzzzyzzzzzzzzzzzzyzzzzzzzyzzzzzzzzzzzzzzzzzzzzzzzyyyzzzyzzzzzzzzyyzyzzzzzzyzzzzzzzzzyyzyzzyyzyzyzzyyzzzyzzzzzzzzzzzzzzzzzzzzyzzzzzzzzyzzyzyzzzzzzzzzzzzzzyzzzzzzzyzzzzzzyzyyzzyzzzyzzzzzyzzzzyzzzzyzzzyzzzzzzzzzzzzzzyzyzzzzyyzzzzzyyzzzzzzzyzzzzzyzzzzyzzzzzzzzzzzyyzzzzzyzzyyzzzyyyyzzzzzzyyzzyzzzzzzyzzzyzzzzzzyzzyzzyzzyzzyzzzyyzzzzzzzzzzzzzyyzzzzzzzzzzzzyzyzzzzzzzzyzzzzzzyzzzzzzzzzzyzzzzyzzzzzzzyyzzzyzzzzyzyzzzyyzzzzzzyzzzzyzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzyzzyzzzyzzzzzzzzzyzzzzyyzzzzzzyzzzzzyyzzzzzzyzzzzyzzyzzyzzzzzzzzzyzzzyzzyzzzzyzzzzyzyyzyyyyzzyyzyzzzzzyzzyzyzzzzzzzzzzzzyzzyyyzzzzyzzzzzyzyzzzzzzyzyzzyzzyyzzzyzyzzzzzzyzzyzzzzzzyyyyzyzzyzyzyzzzyzzzzyzzzzzyzzzzzzzzzzzzzzyzzzzzyyzzzzzzzyzzzzzzzyzyyzzyyzzyzyzzzzzyzzyyyzzzzyyzzzzzzzzzzzzyzyzzyyzzzzzyzzyzyzyyyzyzzzzyzzzyzzzyyyzzzyyzzyzyzzzzyzzyzzyzyzzyzzzzzzzyzzzzzzzzyyzzzyzzyzzzzyyzyzzzzzzyzzzzzyyyzyzyzzzyzzyyzzyzzzyzyzzzzzzzyzzzzzyzzyyzyzzzzzzyzzzyzzzzyzyzyyyyzyyzzzzzyzyzzzzzyyzzzyzzzzzzzzzzzzyyzzyyyzzyzyzzyzzzyzyzzzyzzyyzzzzzyzyzzzzyzyzzzyzzzzzzzzzzzzzyzzyzzzzyzzzzzzzyzzzzzzzzzyzzzzzzzzzzzyzzzyyzzyzzzzzzzyyzzzzzyzyzzzzzzzzyyzzyyyzzzyzyzyzzyzyzzyzzzzzzzzzzzzzyyyyyzzzzzzyzzzzyzyzzzyzzzzzzzzzzyzzyzyzzzzzzzzzzzzzzzzzzzzzyyyzzzxllprrruwyzzzzzzyyyzzyyyzyzzzzzzyzxmiiiiiiikwzzzzzyzzzzzzzzzyyzzyzzzyzyzzzzzzzzyzzzyzzzzzzyzzzzzzzzyyzzzzzzzzyzzyzzyzzzzzzzyzzzzyzzyzzzzzzyzyzyyyyzzzzzyzyzzzzzyzzzzyzzzyyzyzzzzzzyzzyzzzyzzzzzyzzzzyzzzzyzzzyyyzzzyzzzzzzzzzzzyzzyzzzzzzzzzzzzzzzyzzzzyyyzzyzzzyzzzzzzzzzzzyzzzzyzzyzyzyyzzzzzyzzyzzyzzzyyyzzzzzzzzzzyzzzyzzzzyzyzzyyyzyzzzyyzzzzzzzzzzzyzzzzzzzyzzyzzyyzzzzzyyyzzzzzyzzyyzzzyzzyzyzzyzzyyyzzzyzyzzzyzyyzzzzzzzzzzzzyzzyzzyzzzyzyzzzzyzyyzyyyzzyzzzzzyzzyyzyyzyzzzyyzzzyzzyzzyzyzzzzzyzzyyzyzzzzyzzzzzzzzyzzzyzzzyzzyzyzzzzzyzyzzzzzzyzzyzyzzyzzzzyzzzzzzzzzzzzzzzzyzzyzzzzzzzyzyzzzzzzzzzzzzyzzyzzzyzzzzzzzyzyzzzyzzzzzzyzzzzyzzzzyyzzzzzyzzzzzyzzzzzzzzzzyzzzzyzyzzzzzzzyyzzzzzyyzzzzzzzzzzzzzyzzyzzzzzzzyzzzzzzzzzyzzzzyzzzzzzzzzzzzyzzzzzyzzzzyzzzzzzzzzzzzzzzzzzyzzzzzzzzzzzzzzzzzzzzzzzyzzzzzzzzzzzyzyyzyzzzzzyzzzzzzzzyzzzzyzzzzzyzzzzyyzzzyzzzzzzzzzzzzzzzyzzyzzzzzzzzzyzzzzzyzzzzzzzzzzzzzzyzzzzzzzyzzzzzzyzzzzzzzzzyyyzzzzzzzyyzzzzyzzzyyzzzyyzzzzzzzzyzzzzzzyzzzzzzzyzzzzzzzzzzzzzyzzzzyzyyzyzzzzzzyzzyzzzyzzyzzzzyzzyzyzyzzyyzzyzzzyzzzzzzzzzzzyzzzzzzzzzzyyzyzzzzyzzzzzzzzzzzzzzzzzzzzzzzzzzzyzzzzzzzzzzyzzzzzzzzyzzzzzzzzyyzzzyzzzzzzzyzyzzzzzzzyzyzzzyyzzzzzzzzzzzyzzzzzzzyzzzzzzzzzzyzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzyyzzzzzzzzzzzzzzzzzyyyzzzzzzyzzzzzzzyzzyzzzzzzzzzyyzzyzzyzzyzzzzzzyzyyzyyzzzzyzzyzzzzzzzzzzyzzzyzzzzzzzzzzzyzzzyzzyzyyzzyzyyzzyzzyzzzzzzzzyzzzyyyzzzzzzyzzzzzzyzzyyzzzyzzzyzzyzzzyzzzzyzzzzzzzzzzzzyzzzzzyzyzzzyzzzyzzzzzzyzzzzzzzyzyyzzzyzzzzyzzzzzyzzzyzzzzyyzyzzzzzyzzzzzyyyzzyzzzyzyzzzyzzzzzyzyzzzzzyzzyzzzyzyyzzyyzzyzyzyzyyzzzzzyzzzzyzzzzzzzyzzzzzyzzyzzzzyzzyzzzzyyzzzzzzzzyzyzzzzyzzzzzzzzzzzzyzzyyzzzzzzzzzzzzyzyzzzyzzzzzyzzzzzzyzzzyzzyzzyzzzzzyzzyzzyzzzzyzzzzzzyzyzyzzzzzzzzyzzzzzzzzzyyzyzyzzyzzzyzyzzzzzzyzzzzzzyzzzzzzzzyzyzzzzzzzzzzzzzzyyzzyzzzzzyzzyzzzyyzzzyzzzzyzzzzzyzzzzzzzzzyzzzzyzzyyzyyyzzzzyzzzzzzzzzzzyyzzzyzzzzzzyzyzzyzyzzyzzzzzzzzzzzzzzyzyyzzzzzzzzzzzzzzzzzyzyzzzzzzzzyzzyzyzyzzzzzzzzzzzzzzzyzzzzzzzzzwjhijjjjlqyyzzzzzzyzzzyzzzzyzzzzzzvkiiiiiiimxzzzyzzzyzzzyzzzyyzzzzzzyzzzzyzzzzzzzzzyzzzzyzyzzzzzzzzyzzzzzzyzzzzzyzyyzzzzzzzzzyzzzzzyzzzzzzyzzzyzyzzzzzzzzyyzzzzzzzzzyzzzyzzyzzyyzzyzzyzzzyzzzzzzzzzzyzzzyzzzzyyzzzzzzzzzzzzzzzzyzzyzzzzzzzzzzzzzzzyzzzzyyzzzzzzzyzzzzzzzzzzzyzzzzzyzyzzzzzzzzzzyzzyzyzzzzzzyzyzzzzzzzzyzzzyzyzzzzyzzyyyzzzzzzzzzzyzzzzzzzyzzzzzzzyzzzzzyyzzzzzyzyzzzzzzzzzzzyzzyzzzyzzzzzyyzzzzyzyzzzzyyzzzzzzzzzzzzzyzzyzzyzzzyzzzzzzyzzzzyzzzzzzzzyzzyzzyzzyzyzzzzyzzzzzzyzzyyyzyzzzzzyyzzyzzzzzzzzzzzzzzzyzyzzzzyzzyzzzzzzyzzzzzzzyzzzyzyzzyzzzzzzzzzzzzzzzzzzzzzzzzzzzzyzzzzzyzzzzzzzzyzzzzzzyzzzzzzzyzzzzzzzzzzzzzzzzyzzyzzzzzzyyzzzzzzzzzzzyzzzzzzzzzzzzzzzzzyzzzzzzyzyzyzyzzyzzzzzzzzzzyzzyzzyzyzzzzzyzzzzzzzzzzzyzzyzzzzzzzzzzzzyzzzzzzzzzyzzzyzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzyyzzzzzzyzzzzzzyzzyzzzzyzyzzzzzzzzyyzzyyzzzzzzzzzzzzzzzyzzyzzzzzyzzzzzzyzzzzzzzzzzzyzzzzyzzzzyzzzyzyzzzzyzzzzzzzzzzzzzzzzzzzyyzzzzzzzzzyzzzyzzzzzyzzzzzzzzzzyzzzzzzzyzzzzzzzzzzzyzzzyyzzzyyzzzzzzzzyzzzzzzzzzzzzzzzzzyzzzzzzyzzzzyzzyzzzyzzzzzzzyzzzzzzzzzzyyzyzzzzyyyyzzzzzyzzzzzzzzzzzzzzzzzzzzzzzzzzzzzyzzzzzyzzzzzzyzyzyyyzzzzzzzzzzzzzyzzzzzzzyzyzzzzyyzzzzzzzzzzyzzzzzzzzzzzzzzzyzzzzzzzzzzzzzzzzzzzzzzzzzzzyyzzzyzzyyzzzzzzzzzyyzzzzzzyyyzzzyzzyzzzzzzzyzzzzzzzzzzzzyyzzzzzzzzzzzzzzzyzzzzyyzzzzzzzzzzzzzzzzzzyzzzyzzzyyzzzzzzzzzzzzzyzzzzyzzyzzzzyzzzzzzzzzzyzzzyzzzzzzyzyyzzzzzzzyzyzzzyyzzzzzyzzzyzzzzyzzzzzzzzzzzzyzzyzzyzyzzzyzzzyzzzyzzzzzzyzzzzyzzzzzyzzzzzzzyzzyyzzyzzzzyzzyzzzzzzzzzzzyzzzzyzzzyzzzzzyzzzzzzzzzzzzzyzzzzzzyzyyzzzzzzyzyyyyzzzzzzzzzzzzyzzzzzzzyzzzzzzzzyzzzzyzzyzzyyzzzzzzzzzzzzyzzzzzzzzzzyzzzzzzyzzyyzzzzzzzzzzzzyzzzzzyzzzzzzzzzzzzyzzzzzzzzzzzzzzzzzzzzzyzzzzzzzzzzzzzzzzzzzzzzyzyzzzzzzzzzyzzyzyzzyzzyyzyzzzzzzzzzzzzzyzzyzzzzzzzzzzzzzzzzzzzzzzyzzzzzzzzzyzzyzzzzzyzzzzyzzyzyzzzzzyzzzzzzzyzzzzzyzyzzzzyzzzzzzzzzzzzzyzzzyyzzzzyzzzyyzyzzyyyzyyzzzzzyzzzzzzzzzzzyzzzzzzzzzzzzzzzzzzzyzyzyzzzzzzzzzyzzzyyzzzzzzzzyzyzzzyyzzzzyzxliiiiihimxzyzzzzzyzzzzzzzzyzzyzzypiiiiiiiipxzzzyzzzzzzzyzzzyzzzzzzzzzzyzzzzzzzzzzzzzzzyyzyyzzzzzzzzzzzzzzyzzzzyzzzzzzzzzzzzzyzzzzzzzzzzzyzzzzyzyzzzzzzzzyyzzyzzzzzzyzzyzzzyzzyyzzyzzyzzzzzzzyzzzzzzzzyzyzzzzzyzzzzzyzzzzzzzzzzzzzzzzzzzzzzzyzzzzyzzzyyzzzzzzzzzyzyzzzzyzzzzzzzzzzzyzzzzzzzzzzzyzzyzyzzzzzzzzyzzzzzzzzzzzzyzyzzzzzzzzyyzzzzzzzzzzzzzzzzzzzzyzzzzzyzzzzzzyzzzzzyzyzzzzzzzzzzzzyzyzzzzzzzzzzzzzzzzzyzzyzzyzzzzzzzzzzzzzzzyzzyyzzzyzzzzzzzzzzzyzzzzzzzzyyzzzzzzzzzyzzzzyzzzzzzzzzyyyzyzzzzzzyzzzzyzzzzzzzzzzzzzzyzzzzzyzzyzzzzzzzzzzyzzyzzzzyzyzzyyzyzzzzzzzzzyzzzzzzyzzzzzzzzzzzzzyzzzzzzzzzzzzzzzzyzzzzzzzzzzzzzzzyzzzzzyzzzzzzzzzzzzyyzzzyzzzzzzzzzzzyzzzzyzzzzzzzzzzzzzzzzzzyyzzzzyzzzzzzzzzzzzzzyzzzzzzzzzyzzyzzzzzzzzzzzzzzzzzyzzzzzzzzzzzzzzzzzzzzzzyzzzzzzzzyzzzzzzyzzzzzzyyzzzzzzzzzzzzzyzzzyzzzzzzzzzyzzzzzzzyzzzzzzyzzzzzzzzzyzzzzzzzzzzzzyyzzzzzzzzzzzzzyzzzzzzyyzzyzzzzzyzzzzzzzzyzyzzzyzzyzzzzzzzzyyzzzzzzzzzzzzzzzzzzyzzzzzzyyzzzzzyzyzzzyzzzzzzzzzzzzzzyzzzzzzzzzzzzzzzzzzzzzzzzzzyyyzzzyyzzzzzzzzyzzzzzzzzyzzzzzzzzyzzzzzzzzzzzzzzyzzzzzzzzzzzzzzzzzzzzyyzzzzzzzzyzyzzyzzzzzyzzzzzzzzzzzzzzzyzzyzzzzzzzzzzzzyzzzzzzzzyzyzzyzzzzzzzzzzzzyzzyzzzzzzyzzyyzzzyzzzzzzzzzzzzzzyyyzzzzzzzyyzzzzzzzzzzzyzyzzzzzzzzzzzzzzyyzzzyzzzyzzzzzzzyzzzzzyzzzzyzzzzyzzyzyzzzzzyzzzzzzzzzzzyyyzzzzyzyzzyzyyzzyzzzzzyzzyzzzzzzzzzzzzzyzzzzzzzzzzzzzzzzyzzzzzzzyyzzzzzzzzyzzzzzzzzzzyzzzzzyyzzzzyzzzzyyzzzzzzzzzzzzyyzzzzzzzzzyzzzzzzzzzzzzzyzzzzzzzzzyzzzzzzzzzzzzzzzzzyzzzzzzzzzzzzzzzzzyzzzzzzyyzzyzzzzzzzyzzzzzzzzzzzyzzyzyzzzzzzzzzzyzzzzzyzzzzzzyzzzzzzzzyyzzzzzzzzzyzzzzzzzzzzzzzzzzzzzzzzzzyzzzzzzyzzzzyzyyzzzzzzzzzzzzzzzzyyzzzzzzzzzyzzzzzzyzzzyzzzyzzzzzzyzzzzzzzyzzzzzzzzyzzzyzzzzzzzzzzzzzzzzzzzzzyzzzzzzyyzzzzzzzzzzyzzzyzzzzzzzzzyzzzzzzzzzyzzyyzzzzzzyzzzzzzzzzzzyzzyzzzzzzzzyzzzzzzzzzzyzzyzzzzzzyzzzzzzzzyzzzzyzzyzyyzzzyzzzyzzzzyzzzyzzzyzzzzzzzzzzzzzzzzzzzyzzzzzzzzyzzzyzyzzzzyyzyzyzyzzyzzzzzzyzzzzzzzzzzzzzzzzzzzzzzzzyzyzyyzzzzzzzzyzzzyyzzzzzyzzyzyyzzzyzzzzyzxmiiiiiiikuyzyzzzzzzzzzzzzzyzzyzzukiiiiiiijsyyzzzzzzzzzzyzzzzzzzzzzzzzzyzzzzyzzzzzzzyzzyzzyzzyzzzzzzzzzzyyyzzzzzzzzzzzzzzzzzzyzzzyzzzzzzzyzzzyyzyzzyzzzzyzyyzzzzyzzzyzzyzzzyzyyzyyzzzyzzzzzyzzzzzzzzzzzzyzzzzzyzzyzzzzzzzzzzzyzzzzzzzyzzyyzzyyzzyzzzzzzzzzzzzzzzzzyzzzzzzzzzzyzzzzzzzzzzzzzzzzzyyzyzyzzzyzzzzzzzzzzzzzzzyzzzzzzzzzzzzyyzzzzzzzzzzzzzzyzzzzzzzzzzzyzzzzzzzzzyzzzzyzzzzzzzzzzzzzzzzzzzyzzzzzzzzzzzzzzzzzzyzzzzzzzyzzzzzzzzzzyzzzzzzzyzzzzzzzzyzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzyyyzzzyzzzzyzzzyzzzzyyzzyzzzzzzzzzzzzyzzzzzzzzyzzzzzzzzzzzzyzyzzyyzzyzzzzzzzyzzzzzzzzyzzzyzzzzzzzzyzzzzzzzzzzzzzzzzzzzyzzzzzzzzyzzzyzzzzzzzzzzzzzzyzzzyyzzzyzzzzzzzzzzzyzzzzzzzzzzzzzzyzzzzyzzzyzzzzzyzzzzyzzzzyzzzzyzzzzzzzzzzzzzzzzzzzzzzzzzzzyzzyzzzzzzzzzzzzzzzzzzzzzzyzzzzzzzzzzzzzzzyzzzzzzzzzzzyzzzzzzyzzzyzzzzzzzzzzzzyzzzzzzzyyzzzzzyzzzyzzzzzyzzzzzzzyzzzzzyzzzzzzzzzzzzzyzzzyzzzyzzyzzzyzzzyzzzyzzzzzzzzzzzzzzzzzzyzzyzzzzzzzzzzzzzzzzzzyzzyzzzzyzzzzzyzzzzzzzzzzzzzzzzyzzzzyzzzzzzzzzyzzzzzzzzzyzzzzzzyzzzzyzzyzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzyzzzzzzzzzzzzzzzzzzzzyzzyzyzzzzzzzzzzzzyzzzzzzzyzzzyzzzzzzzyzzzzzzzyzzzzzyzzzzyzzzzzzzzzzzzyzzyzzzzzzzzzyzzyzyzzzzzzzzzzzzzzyyzzzzzyzzyzzzzzzzzzzzzyzzzyyzzzyzzzzzzzzzzzyzzzzyzyzzzyzyzzzzzzyzzzzzzyzzzzzyyzzzzzzzzzzzzzzzzzzyzzzzzzzzzzyyyyyzyzzzzzyzzzzzzzzzzzyzzzzyzzzzzzzzzzzyzzzzzzzyzzzzyyzzzzzzzzyzzzyzzzzzyyzzzzzyyzzzzzzzzzyzzzyzzzzzzzzzyzzzzzzzzzzyzzzzzzyzzzzzzyzzzzzzzyzyzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzyzzyzyzzzzyzzzzzzzzzyzzzzyzzyzzzzzzzyzzzzzzzzzzzzyzyyzzzzzzzzzzzzzzyzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzyzzzzyzzyzzzzzzzzyzzzzzzzzzzzzzzzzzzzzzzzzzyzyzyyzzzyzzzzzzzzyzzzzyzzzzzzzyzzzzyzzzzzzzzzzzzzzzzyyyzzzzzzzzzzyzzzzzzzzzzzzzzzzzzzzyzzzyzzzyzzzzzyzyzyyzzzzzzyzzzzzzzyzzyzzzzzzzzzzzyzzzyzzzzzzzzzyzzzzzzzzzzzzzzzyzzzzzzzzyzyzzzzzzzzzzzzzzzzyzzzyzzzzzzzzzzzzyzzyzzzyzzzzzzzzzzzzyzyzzzzyzzzzyyyzzzzzzzzzzzzzyzzzzzzzzzzzzzzzzzzzyyzyyzyzzzyzzzzyzzzyyzzyzzyzzyzyyzzzzzzzzyzyoiiiiiiiipyzzzzzzzzyzzyzzzyzzzzvniiiiiiiikwzzyzzzzzzzzzyzzzzzzzzzzzzzzyzzzzyzzzzzzzzzyzzzzzzzzzyzyzzzzzzzzzzzzzzzyzzzzzyzzzzyzzzzzzzzzzyzzzzyzzzzzyzzyzzzzyzzyzzzzzzzzzzzzyyzzzyzzzzzzzzzzzzzyyzzzzzyzzzyzzzzzzzzzzzzzzzzyzzyzzzzzzzzzzzzzzyyzzzzzyzzzzzzzzzzzzzzyyyyzzzyzzzzzzzzyzzzzzzzzzzzzyyyzzzzzzzzzzzzzzzzzzzzzzyzzzzyzzzzzzzyzyyzzzzzzyyzzzzzzzzzzzzzzzzyzzzyzzzyzzyzzyyzzzzzzyzyzzzzzzzzzzzzzzzzzzzzzzzzzzzyzyyzzzzyzyzzzzzzzzzzyzzzzzzzyzyyzzzzzzzzzyzzzzzzyzzyzzzzyzzzzyzzzzzzzzzzzzzzzyzzzzzyzzzzzzzzzzzzyzzzzzzzzzzzzzzzzzyzzzzzzzzzzzzzzzzyzyzzzyzzzzyzzzzzzzzzzzzzyzzyzzzzzzzzzzzzzzzzzzzzzzyzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzyzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzyzzzzyzzzyzzzzzyzzzzyzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzyzzzyzzzyzzzyzzzzzzzzzzzzzzzzzzzzzzyzzyzzzzzzzzzzzzzzzzzzzyyzzzzzzzzzzzzyzzyzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzyzzzzzzzzzzzzzzzzzzzzzyzzzzzzzzyzzzzzzzzzzzzzzzzzzzyzzzzyzyzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzyzzzzzzzzzzzzzzzzzzzzzzzyzzzyzzzzzzzzzzzzzzzzzzzzzzzzzyzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzyzzzyyzzzzzzyzzzzzyzzzzzzzzzzzzzzzzzzzyzzzzzzzyzzzzzyzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzyzzyzyzzzzzzzzyzzzzzzzzzzzyzzzyzzzzzzzzzyzzzzzzzyzzzzzzzzzzzzzzzyzzzyzzzyzzyyzzzzzzzyzzzyzzyzzzzzzyzzzzzzzzzzzzzzzzyzyzzzyzzzzzyzzzyyzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzyzzzyzzyzzzzzzzzyyzzzzyyzzzzzyzzzzzzzzzzzzzzyzzzzzzzzzyzzzzzzzzzzzzzzyzzzzzzzzzyzyzyzzzyzyyzzzzzzzzzzzyzzyzzyzzzzzzzzzzzyzzzzzzzzzzzzzzzzzzyzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzyzzzzzzzzzzzzzzzzzyzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzyzzzzzzzzzzyzzzyzzzyzzzzzzyzzzzzzzzzzzzzzzzzzzzzzzzzzzyzyzzzzzzzzzzzzzzzzzzzzyzzzyzzzyzzzzzzzyzzzzzzzyzzzzzzzyzzzzzzzzzzyzzzyyzzzzzzzzzzzzzzzyzzzzzzzzyzzzzzyyzzzzzzzzzyzzzzzzzyzzyzzzzzzzyzzzyzzzzzzzzzzzyzzzzzzzzzzzzzzzzzyzzzzzzzzzzzzzzzzzyzzzzyzzzzzzzzyzzzzzzzyzzzzzzzzyzzzzzzzzzyzzzzyyzyzzzzzzzzzyyzzzzzzzzzzzzzyzzzzzzzzzyzzyyzzzzzzyzzyzzzzzzzzzzzzzzyzyzzzzyzzzzzyyzzzzzzzzzzyrjiiiiiiijsxzzzzzyzzzyyzzzyzzzwniiiiiiiiipyzyzzzzzzzzzzyzzzzzyzzzzyyzzyzzzzyzzzzzzzzzyzzzzzzzyzyzzzzzzzzzzzzzzzzzzzzzzzzzzzzyzzzzzzzzzzyzzzzzzzzzzzzzzzzzzzzzyzzzzzzzzzzyzyzzzzyzzzzzzzzzzzzzyyzzyzzzzzzzzzzzzzyzzzzzzzyzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzyzzzzzzzzzzzzyzzzzzzzzzzzzzzzzzzzyzzzzzzyzzzzzzzzyyzzzzzzzzzzzzzyzyzzyzzzyyzzzzzyzzzzzzyzzzzzzzzzzzzzzzzzyzzyzzzzyzyzzzyzzzzzzzyzzzzzzzzzzzyzzzzzzzyzyzzzzzzzzzzyzzzzyzyzzzzzzzzzzzzzzzzzzyzzyzzzzzzzzzyzzzzzzyzzyzzzzyzzzzzzzzzyzzzzzzzzzzzzyzzyyzzzzzzzzzzzzyzzzzzyzyzzzzzzzzzzzzzzyzzzzzzzzzzzzzzzzzzzzzzyzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzyzzzzzzzzzzzzzzzzzzzyzzzzzzyzzzyzzzzzzzzzzzzzyzzzzzzzzzzzzzzzzzzzzzzyzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzyzzzzzzzzzzzzzzyzzyzyyzzzzzzzzzyzzzzzzzzzzzzzzzzzzzzzyzzzzzzzyzzzzzzzzzzzzzzzzyzyzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzyzzyzzzzzzzzzzzzzzzzzzzyzzzzzzzzzzzzzzyzzzzzzzzzzzzzzzzzzzyzzzzzzzzzzzzzzzzzzzzzzzzzzyzzzzzzzzyzzzzzzzzzzzzyzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzyzzzzzzzzzzzzzzzzzzzzyzzzzzzzzzzzzzzyzzzzzzzzzzzzzzzzzyzzzzzzzzzzzzzzzzzzzzyzzzzzzzzzzzzzzzzzzzzzzzzzyzzzzzzzzzzyzzzzzzzzzzzyzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzyzzyzzzzzzzzzzzyzzzzzzzzzzzzzzzzzzzyzzzzzzzzzzzzzzzyzzzzzzyzzzzzzzyzzzzzzzzzzzzzzzyzzzzzzzzyzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzyzzzzzzzyzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzyzzyzzzzzzzzzzzzzzzzzzzzzyzzzzzzzzzzyzzzzyzzzzzzyzzzzzzzzzzzzzzzzzyzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzyzzzzzzzzzzzzzzzzzzzzzzzzzzyzzzzzzzzzzzzzzzzzyzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzyzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzyzzyzzzzzzzzzzzzzzzzzzzzzzzyzzzzzzzzzzzzyzzzzzzzyzzzzzzzzzzzzzzyzzzzzzzzzzzzzzzzzzzzzzzzyzzzzzzzzzzzzzzzzzzzzyzzzzzzzzzzzzyzzzzzzzzzzzzzyzzzzzzzzzzzzzyzzzzzzzzzzyzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzwkiiiiiiiikrxyzzzzzzzzzzzzzzyuniiiiiiiiikvzzyzzzzzzzzzzyzzyzzyzzzzzzzzzzzzzzzzzzzyzzyzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzyzzzzzzzzzzzzzzzzzyzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzyzzzyzzzzzzzzzzzzzzzzzzzzzzzzzzzyzzzzzzzzzzyzzzzzzzzzyzzzzzzzzzyzyzzzzzzyzyzzyzzzzzzzzzzzzzyzzzzzzzzzyzzzzyzzzzzyzzzzzzzzyzzzyzzzzzzzzyzyzzzzzzzzyzzzzzzzzzzzzzyzzzzzzzzzzzzzzzzzzzzyzzzzzzzzzzzzzzzzzzyzzzzzzzzzzzzzzzyzzzzzyzzzzzzzzzzyzzzzyzyyzzzzzzzzzzzzzzzzzyyzyzzyzzzzzzzzzzzzzzzzyzzzzzzzzzzzzzzyzzzzzzzzzyzzyzzzzzzzzzzzyzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzyzzzzzzyyzzzzzzzzzzzyzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzyzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzyzzzzzzzzzzzzzzzzzzzzyyzzyzzzzzzzzzzzyzzzzzzzyzzyzzzzzzzzzzzzzzzzyzzzzzzzzyzzzzzzzzzzzzzzzzzzzzzzzzzzzzzyzzzzzzzzzzzzzzzzzzzzzzzzzyyzzzzzzzzzzzzzzzzzzzyzyzzzzzzzzzzzzzzzzzyyzzzzzzzzzzzyzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzyzzzzzzyzzzzzzzzzzzzzzzzzzzzzzzzzzyzzzzzyzzzzzzzzzzzzzzzzzzzzzzzzzzyzzzzzzzzzzzzzzzzzyzzzzzzzzzzzzzzzzzyzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzyzzyzzzzzzzzzzzyzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzyzyzzzzzzzzzzzyzzzzzyzzzzzzzzzzzzzzzzzzzzzzzzzzzzzyzzzzzzzzzzzzzzzzyzzzzzyzzzzzzzzzyzzzzzzyzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzyzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzyzzzzzyzzzzzzzzzzzzzzzzzzzzzzyzzzzzzzzzzzzzzzzzzzzzzzzzzzzyzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzyzzzzzzzzzzzzzzzzzzzzzzyyzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzyyzzzzzzzzzzzyzzzzzzzzzzzzzzzyzzyzzzzzzzzzzzzzzzzzzzzzyzzzzzzzzzzyzzzzzzzzzzzzzzzzzzzzzzzzzzzzyzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzyzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzyzzzzyzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzyzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzyzzzzzyzzzzzzzzyzzzzzzzzzzzzzzzzzzzzzzzzzzzzzyzyzzzzzzzzzzzzyzzzzzzzzzzyyzzzzzzzzzzzzzzzzzzzzzyzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzyzzzzzzzzzzzzzzzyzzzzzxniiiiiiiiijotxyyzzzz{z{yyyvqkiiiiiiiiiipyzzzzzzzzzzzzzzzzzzzyzzzzzzzzzzzzzzyzzzyzzzyzzzzzzzzzzzzzzzyzzzzzzzzzzzzzzzzzzzzzzzzzzzzyyzzzzzzzzzzzzzzzzyzzzzzzzzzzzzzzzzzzyzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzyzzzyzzzzzzzzzzzzzzyzzzyzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzyzzzyzzzyzzzzzzyzzzzzzzzzzzyzzzzzzzzzzyzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzyyyzzzzzzzzyzzyzzzzyzzzzzzzzzzzzzzzzzzzyzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzyzzzzzzzzzzzyzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzyzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzyzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzyzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzyzzzzzzzzzzzzzzzzzzzzzzzzzzyzzzyzzzzzzzzzzzzzzyzzzzzzzyzzzzzzzzzzzzzzzzzyzzzzzzzzzzzzzzzzzzzzzzyzzzzzzzzzzzzzyzzyzzzzyzzyzzzzzzzzzzzzzzzzzzzzyzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzyzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzyzzzzzzzzzzyzzzzzzzzzzzzzzzzzzzzzzzzzzzzyzzzzzzzzzzyzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzyzyzzzzzzzzzyzzzzzzzzzzzyzzzzyzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzyzzzzzzzzzzzzyzzzzzzzzzzzzzzzzzzzzzyzzzzzzzzzzzzzzzzzzzzyzzzyzyzzzzzzzzzzzzzzzyzzzyzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzyzzzzzzzyzzzyzzzzzzyzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzyzzzzyzzzzzzzyzzyzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzyzzzzzzzzzzzzzzzzzzzyzzzzzzzzzzzzzzzzzzzzzzzzzzzyzzzzzzzzzzzzzzzzzzzzzzzzyzzzzzzzzzzzzzzzzzzzzzzzzzzyzzzzzzzzzzzzzzzzzzyyzzzzzzzzzzzzyzzzzzzzyzzzyzzzzyzzzzyzzzzzzzzzzzzzzzzzzzzzzzzzzzzyzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzyzzzzzzzzzzzzzzzzzzzzzzzzyzzzzzzzzzzzzzzzzzzzzzzzzzzzzzyzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzyzyzzzzzzzzzzzzzzyzyzzyzzzzzzyzzzzzyzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzyzzzzyzzzzzzzzzzzzzzzzzzzzzyzzzzzzzzzzzzzyzzzzzzyzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzyzzyzzzzzzzzzzzzyzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzyzzzzzzzzzyzzzzzzzzzzzzzzzzyyzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzztjiiiiiiiihijlqrwxxwxxwrqnkjhiiiiiiiiimwyzzzzyzzzzzzzzzzzzzzyzzzzzzzzzzzzyzzzzzyzzzyzzzzzyzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzyzyzzzzyzzzyzzzzzzzyyzzzzzzzzzzzzzzzzzzzzzzzzzzzyzzzzzzzzzyzzzzzzzzzzzzzzzzzzzzzzzzzzzzyzzzzzzzzyzzzzyzzzzzzzzzzzzzzzzzzyzzzzzzyzzzzyzzzzzzzzzzzzzzzzzzzzzzzzzzyzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzyzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzyzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzyzzzzzzzzzzzzzzzzzzzzzzzzzzzzyzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzyzzzzzzzzzzzzzyyzzzzzzzzzzzyzzyzzzzzzzzzzzzzzzzzzzzyzzzzzzzzzzyzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzyzzzzzzzzzzyzzzzzzzzzzzzzzzzyzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzyzzzzzzzyzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzyzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzyzzzzzzyzzzzzzzzzzzzzzzzzzzzzyzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzyzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzyzyzyzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzyzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzyzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzyzzzzzzzzzzzzzzzzyzzzzzzzzzzyzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzyzzzzzzzzzzzzzzzzzzzzyzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzyzzzzzzzzzzzzzzzyzzzzzzzzzzzzzzzzzzzyzzzzyzzzzzzzzzzzzzzzzzzyzzzzzyzzzzyzzzzzyzzzzzzzzzzzzzzzzzzzzzzyzzzzzzzzyzzyzzzzzzzzzzzzyzzzzzzzzzzyzzzzzzzzzzzzzzzyyzzzzzzyzzzzzzzzzzzzzzzyzzzzzzzyzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzyzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzyzzzzyzzzzzzzyzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzyyzzzzzzzzzzzzzyzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzyzzzzzzzzzzzzyzzzzzzzyzzzzzzzzzzyzzzzzzyzzzzzyyzzzyzzyzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzyzzzzzzzzzyzzzzzzzzzzzzzzzzzzzzzxpjiiiiiiiiihhjjkkkkkkkjjihhiiiiiiiiiktyzyzzzyzzzzzzzzzzzzzzyzzzzzzzyzzzzyzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzyzzzzzzzzzzzyyzzzzzzzzzzzzzzzzzzzzzzzzzzzyzzzzzzzzzzzzzzzzzzzzzzzzzzzzzyzzzzzzzzzzzyzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzyzzzzzzzzzzzzzzzzyzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzyzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzyzzzzzzzzzzzyzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz{zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz{zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz{zzzzzzzzzzzzzzzz{zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz{z{zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz{zzzzzzzzzzzzzzzzzzz{zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz{zzzzzzzz{zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz{zzzzzzzzz{zzzzzz{zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz{zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzyzzzzzzzzzzzzzzzzzzzzzzzzzzzyzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzyzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzyzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzyzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzwniiiiiiiiiiiihhhhhhhhhiiiiiiiiiiihksyzzzzzzzzzzzzzzzzzzzyzzzzzzzzzzzzzzyzzzzzzzzzzzzyzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzyzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzyzzzzzzzzzzzzzyzzzzzzyzzzzzzzzzzzzzzzzzzzzzzzzzzzyzzyzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzyzzzzzzzzzzzzzzzzzzzzzzzzzyzzzzzzzzzzzzzzzzzzzzzyzzzzzzzzzzzzzzzzzzzzzzyyzzzyzzzzzzzzzzyzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzyzzzzzzzyzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzyzzzzzzzzzzzzzyzzzzzzzzzzzzyzzzzzzzzyzzzzzzzzyzzzzzzyzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz{zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz{zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz{zzzzzzzzzzzzzzzzzzzzzzzzzzzzzz{zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz{zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz{zzzzzzzzzzzzz{zz{zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz{zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz{zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz{zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz{zzzzzzzzzzzzzzzz{zzzzzzzzzzz{zzzzzzzzzzzzzzzz{{z{zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz{zzzzzzzzzzzzzzzzzzzzzzz{zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz{zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz{zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz{zzzzzzzzzzzzzzzzzzzzzzzzzzzzz{zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz{zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz{zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz{zzzzzzzzzzzzzz{zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz{zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz{zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzumihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiktyzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz{zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz{zzzzzzzzzzzzzzz{zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz{zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz{zzzzzzzzzzzzzzzzzz{zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz{zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz{zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz{zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz{zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz{zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz{zzzzzzzzzzzzzzzzzzzzzz{zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz{zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz{zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz{zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz{zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz{zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz{zzzzzzzzz{zz{zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz{zzzzzzzzzzzzzzzzz{zzzzzzzzzzzzzzzz{zzzzzzzzzzzzzzzzzzzzzzzzzz{zzzzzzzzzzzzzzzzzzzzzzzzzzz{zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz{zzzzzzzzzzzzzzzz{zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzvojhiiiiiiiiiiiiiiiiiiiiiiiihhjmuzzzzz{zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz{zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz{zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz{zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz{zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz{zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz{zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzyzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzyyzzzzzzzzzzzzzzzzzyzzzyzzzzyzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzyzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzyzzzzzzzzzzzzzzzzzzzzzzzzzzzyzzzzzzzzzzzzzyzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzyzzyzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzyyzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz{zzzzzzzzzzzzzzzzzzzzzzzz{zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzxrlihiiiiiiiiiiiiiiiiiiiiihikqxzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz{zzzzzzzzzzzzzzzzzzzzzzz{zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz{zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz{zzzzzzzzzzzzzzzzzzzzzzzzz{zzzzzzzzzzzzzzzzzzzzzzzzzzz{zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz{zzzzzzzzzzzzz{zzzzzzzz{zzzzz{zzz{zzzzzzzzzzzzzzzzzzzzzz{zzzzzzzzzz{{zzzzzzzzzzzzzz{zzzzzz{zzzzzzzzzzzzzzzz{{zzzzzz{zzzzzzzzzzzzzzzzzz{zz{zz{zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz{zzzzzzzz{{zzz{zzzzzzzzzzzz{zzzzzzz{zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz{zzzzzzzzz{zzz{zzzzzz{zzzzzzzzzzzzzzzzzzzzzzzzzzzzz{zzzzzzzzzzzzzzzzzzzzzzzzzzzzzz{zzz{zzzzzzzzz{zzzzzzzzzzzzzzzzzzzzzz{zzzzzzz{zzzzzzzzzzzzzzzzzzz{zzzzzz{zzzzzzzzzzzzzzzz{{zzzzzz{zzzzzzzzzzzzzzzz{zzzzzzzzzzz{zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz{zzzzz{zzzzzzzzzzzzzzzz{zz{zzzzzzzzzzz{zzzzzzzzzz{zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz{zzzzzzzzzzz{zzzzzzzzzzzzzz{zzzzzzzzzzzzzzzzzzzzzzzzzz{zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz{zzzzzzzzzzzzzzz{zzzzzzzzzzzzzzzzzzzzz{zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzyzzzzzzzzzzzzzzyzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzyzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzyzzzzzzzzzzzzzzzzzzyvqljihhiiiiiiiiiiiiihhijkpuyzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzyzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzyzzzyzzzzzzyzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzyzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzyzzzzzzzzzzzzzzzzzzzzyzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz{zzzzzzzzzzzzzzzzzzzzzzzzz{zzzzzzzz{zzzzzzzzzzzzzzzzzzzzzz{{zz{zzzz{zzzzzzzzzzzzzzzzzzzzzzzzz{zzz{zzz{z{zzzzzzzzzzzzzzzz{zzzzzzzzzzzzzzzzz{zzzzzz{zzzz{zzzzzzzzzz{zzzzzzzzz{zzz{zzzzzzzz{zzzzzz{zzzzzzzzz{zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz{zzz{zzzzzz{zzzzz{{zzzzzzzzzzzzzzzz{zzzzzzzzzzzzzzzzzzzzz{zzzzzz{zzzz{z{{zzz{zzzzzzzzzzzzzzzzz{z{zzzzzzzzzzzz{zzzzzzzzz{zz{zzzzzzz{zzzzzzz{zzzzzzzzzzzzzz{zzzzzzzzzzzzzzzzzzzz{zzzzzz{zzzzzzzzzzz{zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz{{zzzzzzzzzzzzzzzzzzzzzzzzzzzz{zzzzzzzzzzzzzzzzzzz{{zzzzzzzzzzzzzz{zzzzzzz{zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz{zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz{zzzzzzzzzzz{zzzzzzzz{zzzzzzzzzzzzzzzzzz{zzzzzzz{{zzzzzzzzzzzzzzzzzzzzz{zz{zzzz{zzz{zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz{zz{zzzzzzzzz{zzzzzzzzzzzzz{zzz{zzzzzzzzzzzz{zzzzzzzzzzzzzzzzzzz{zzzzzzzzzzzz{zzz{z{{{zzzzzzzzzzzzzzzz{zzzzzzzzzzzzzz{zzzzzzzzzzzzzzzzzzzzzzzz{zzzzzzzzzzzzzzzzzzzzzzzz{zzzzzzzzzzz{zzzzzzz{zzzzzzzzzzzzzz{zzzzzzzzzzzzzzz{{zzzzzzzzzzzzzzzzzzzzz{zzzzzzzz{zzzzzzzzzzzzzzzzzzzzzzzz{zz{zzzzzzzzzzzzzzzzzzzzzzz{zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz{zzzzzzzzz{zzzzz{zzzz{zzzzzzzzzzzzzzzz{zzzzzzzzz{zzzzzzzz{zzzz{zzzzzzzzzzzzz{zzzzz{zzzzzzzz{zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz{{zzzzzzzzzzzzzzzz{zzzzzzzzzzzzz{zzzz{{zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz{zz{zzzzz{zz{zzzzzzzzzzzzzzzzzzzz{{zzzzzzzzz{{{{zzzzzzzzzzzz{zzzzzzzzzzzzzzzzzzzz{zywrnkjjjhhhhhhhhijjjkmrwyzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz{zzzzzzzzzzz{{zzzzz{zzzzzzzzz{zz{zzzzzzzz{zzzzz{zzzzzzzzzzzzz{zzzzzzzzzzz{zzzzzzzzzzzzzzzzzzzzz{zzzzzzzzzzzzzzzzzz{zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz{zzzzzzzzzzzzzzzzzzzzzzz{zzzzzzzzzzzzzzzzzzzzzzzzzzz{zzzzz{zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz{zzzzzzzzzzzzzzzzzzzzzz{zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz{zzzzzzzzzzzzzzzzzzzzzzzzzzzzzz{zzzzzzzzzzzzzzzzzzzzzzzzzz{zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz{{zzzzzzzzzzzzzzzzzzzzzzzz{zzzzzzzzzzzzzzzzzzzzzzzzzzz{zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz{zzzzz{zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz{zzzz{zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz{zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz{zzzzzzz{zzzzzzzzzzzzzzz{zzzzz{z{zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz{zzzzzzz{zzzzzz{zzzzzzzzzzz{zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz{zzzz{zzzzzzzzzzzzz{zzzzzzzzzzzzzzzzzzz{zzzzzzzzzzzzzzzzzzzz{zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz{zzzzzzzzzz{zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz{zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz{zzzzzzzzzzzzzzzzzzzzzz{zzzzzzzzzzzzzzzzzzzzzzzzzzzzzz{zzzzzzzzzzzzzzzzzzzzzzzzzzzz{zzz{zzzzzzzzzzzzzz{{zzzzzzzzzzzzzz{zzzzzzzzzzzzzzzzzzzzzz{zzzzzzzzzzzzzzzzzzzzzzzz{zzzzzzz{zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz{zzzzzzzzz{zzzzzzzzzzzzzzz{zzzzz{{{zzzzzzzzzzzzzzzzzz{zzzzzzzzzzzzzzzzzzzz{zzzzzzzzz{zzzzz{zzz{z{zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz{zzzzzzzzzzzzzzzzzz{{zzzzzz{zzzzzzzz{zzzzzz{zzzzzzzzzzzzzzzzzz{zzzzz{z{zzzzzzzz{zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz{zzzzzzzz{z{zzzzzz{zzzzzzzzzzzzzzzzzzz{zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz{zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz{zzzzzzzzzz{zzzzzz{{zzz{zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz{zzzzzzzzzzzzzz{zzzzzzzz{zzzzz{zzzzzzzzzzzzzzzzzzzz{zzzzzzzzzzzzz{zzzzzzzzzzzz{zzzzzzzzzz{zzzzzzzzyxwsrqlkkkkkkklqrswxyzzzzzzz{zzzzzzz{z{zzzzzz{zzzzzzzzzzzzzzzzzzzzzzzzzzz{z{zzzzzzzzzzzzzzzzzzz{zzzzzzzzzzzzz{z{zzzzzzzzzzzzzzzzzzzzzzzzzzzz{zzzzzzzzzzzzzzz{zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz{zzzzzzzzzzz{{{zzzzzzzzz{zzzzz{zzzzzzzzzzzz{zzz{zzzzzzz{z{zzzzz{zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz{{z{zzzzzzzzzzzzzz{zzzzzzzzzzzzzzzzzz{{zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz{zzzzzzzzz{zzzzzz{zzzz{zzzz{zzzzzzzzzzzzzzzz{zzzzzzzzzzzzz{zz{z{zzzzzzzzzzzzzzzzzz{zzzzzzzzzzzzzzzzzzzzzzz{{zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz{zzzzzzzzzzz{zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz{zzzzzzzzzzzzzzzzzz{zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz{zzzzzzzzzzzzzzzzzzzzzzzzzzzzz{zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz{zzzzzzzzzzzzzzzzzzzz{zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz{zzzzzzzzzzzzzzzzzzzzzzz{zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz{zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz{zyyyxxxxxxwxxyyyzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz{zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz{zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz{zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz{z{zzzzzzzzzzzzzzzzzzzzzzzzzzzzzz{zzz{zzzzzzzzzzzzz{zzzzzzzzzzzzzzzz{zzzzzz{zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz{zzzzzzzzzz{zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz{zzzzzzzzz{zzzzz{zzzzzzzzzzzzzzzz{zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz{zzzzzzzzzzzzzzzzzzzz{zzzzzzzzzzzzzzzzzzzzz{zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz{zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzyzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzyzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz{zzzzzzzzzzzzzzzz{zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz{zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz{zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz{zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz{zzzzzzzzzzzzzzzzzzzzzzzzzzzz{zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz{zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz{zzzzzzzzzzzzz{zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz{zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz{zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz{zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz{zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz{zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz{zzzzzzzzzzzzzzzzzzzzzzzz{zzzzzzzzzzzzzzzzzzzzzzzzzzzz{zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz{z{zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz{zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz{zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz{zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz{zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz{zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz{zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz{zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz{zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz{zzzzzzzzzzzzzzzzzzzzz{zzzz{zzzzzzzz{zzzzz{zzzzzzzzzzzzzzzzz{zzzzzzzzzzzzzzzzzzzz{zzzzzzzzzzzzzzzzzzz{zzzzzzzzzzzz{zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz{zzzzzzzzzzzzzzzzzzzzzzzzzzzz{zzzzzzzzzzzzzzzzzzzzzzzzz{zzzzzzzzzzzzzzzzzzzz{zzzzzzzzzzzzzzzzzzzzzzzzzzzzzz{zz{zzzzzzzzzzzzzzzzzzzz{zz{zzzzzzzzzzzzzzzz{z{zzzzz{zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz{zzzzzzz{{zzzzzzz{zzzzzzzzzzzz{zz{zzzzzzzzzzzzzzzzzzz{zzzzzzzzzzzzzzzzzzzzzzzzzzzzz{zzz{zzz{zzzzzzzzzzzzzzzzzz{zzzzzzzzzzzzzzzzzz{zzzzzzzzzzzzzzzzz{zzzzzzzzzzzzzzzzz{zzzzzzzzzzzzzzzzz{zzzzzzzzz{zzzzzzzzzzz{zzzzzzzzzzz{zzzzzzzzzzzzzzzzzzzzzzzzz{zzzzzzzzzzzzzzzzzzzzzzzzzzzzz{zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz{zzzzzzz{zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz{zzzzzzz{zzzzzzzzzzzzzzzz{zzzzzzzz{zzzzzz{zzz{zzzzzzzzzzzz{zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz{zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz{zzzzzzzzzz{zzzzzzzzzzzzzzzzzzzzzzzzzzzzzz{zzzzzzzzzzzzzzzzzzzzzz{zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz{{zzzzzzzzzzzzzzzzzzzzzzzzzzzzzz{z{zzzzzzzzzzzzzzzzzzzzzzzz{zzzzzzzzzzzzzzz{zzzzzzzzzzzzzzzzzzzzz{zzzzzzzzzzzzzzzzzzzzz{zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz{zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz{zzzzzzzzzzzzzzzzzzzzzzz{zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz{zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz{zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz{zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz{zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz{zzzzzz{zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz{zzzzzz{zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz{zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz{zzzzzzzzzzzzzzzzzzzzzzzzzzzz{zzzzzzzzzzzzzzzzzzzzzz{zz{zzzzzzzzzzzzzzzz{zzzzzzzzzzzz{zzzzzzzzz{zzzzz{zzzzzzzzzzzzzzzz{zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz{zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz{zzzzz{zzzzzzzzzzzzzzzzzz{zzzzzzz{zzzzzzzzzzzzzzzzzzzzzzzzz{zzzzzzzzzzzzzz{zzzzzzzz{zzzzzzzzzzzzzz{zzzzzzzzzzzzzzzzzzzz{zzzzzzzzzzzzzzzzzzzzzzzzzzzzzz{zzzzzz{zzzzzzzzzzzzzz{zzzz{zzzzzzzzzzz{zzzzzzzzz{zzzzzzz{zzzzzzzzzzzz{zzzzz{zzzzzzzzzzzz{zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz{zzzzzzzzzzzzz{zzzz{z{zz{zzzzzzz{zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz{{{zzzzzzzzzzzzzzzzzz{zzzzzzz{zzzzzzzzzzzz{zzzzzzzzzzzzzzz{zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz{zzzzzzzzzzzz{zzzzzzzzzzzzzzzzzzzzz{zzzzzzzzz{zzzzz{zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz{zzzzzzzzzzzzzzzzz{zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz{zzzzzzzzzzzzzzzzzz{{zzzzzzzzzzzzzzzzzzzz{{zzzzz{zzzzzzzzzzzzzzz{zzzzz{zzzzzzzzzzzz{z{zzzzzzzzzzzzzzzz{zzzzzz{zzzzzzz{zzzzzzzz{zzzzzzzzzzzzzzzzzz{zzzzzz{zzzzzzzzzzzzzzzzzz{zzzzzzzzzz{zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz{z{zzzzzzz{zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz{zzzzzzzzzzzzzzzzzzzzzzzzzzz{zzzzzzzzzzzzzzzzzz{zzzzzzzzzzzzz{{zzzzzzzzzz{{zzzzzzzzzzzzzzzzzzzzzz{z{zzz{zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz{zzzzzzzzzzzzzzzzz{zzzzzzzzzzzz{{zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz{zzzzz{z{zzzzzzzzzz{{zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz{zzzzzzzzzzzz{zzz{zzzzzzzzzzzzzzzzzzzzzzzzzzzz{zzzzzzzzzzzzz{zzzzzzzzzz{zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz{zzz{zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz{zzzzzzzzzzzzzzzzzzzzz{zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz{zzzzzzzzzzzzzzzzzzzzzzzzz{zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz{zzzzzzzzzz{zzzzzzzzzzzzzzzzzzzzzzz{zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz{zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz{zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz{zzzzzzzzzzzzzzz{{zzzzzzzzzzzzzzz{zzzzzzzzzzz{{zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz{zzzzz{zzzzzzzzzzzz{zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz{zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz{zzzzzzzzzzzzz{zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz{zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz{zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz{zzzzzzzzz{zzzzz{zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz{zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz{zzzzzz{zzzzzzzzzzzzzzzzzzz{zzz{zzzzzzzzzzz{zzz{zzzz{zzzzz{zzzzzzzzzzzzzzzzzzzz{zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz{zzzzzzzzz{zzzzzzzzzzzzzzzzz{zzz{zzzzzzzzzzzzzzzzzzzzzzzzzzzzzz{zzzzzzzzzzzz{zzzzzzzzzzzzzzzzzzzzz{zzzzzzzzzzzzzzzzz{z{{zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz{zzzzzzzzzzzzzzzzzzz{zzzzzzzzzz{zzzzzzzzzzz{zzzzzzzzzzzzzzzzzzzzzzzzzzzz{zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz{zzzzzzzzzz{zzzzzzz{zzzzzzzzzzzzzzzzz{zzzzzzzzzzzz{z{zzzzzzzz{zz{zzz{zzzzzzzz{z{zzzzzzzzzzzzzzzzzzzzzzzzzzz{z{zzzzzzzzzzz{zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz{zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz{zzzzzz{zzzzzzzzzzzzzz{zzzzzzzzzzzzzzzzzzzzzzz{zzzzzzzzz{zzzz{zzzzzzz{zzzzzzzzzzzzzzzzzzzzzz{zzzzzzzz{zzzzzzzzzzzzzzzzzzzzzzzzzz{zzzzzzzzzzzzzzzzzzzzzzzzzz{{zzzzzzzzzzzzzzzzz{zz{zzzzzzzzz{zzzzzzzzzzzzzzzzzzzzzzzz{zzzzzz{zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz{z{zzzzzzzzz{z{zzzzzzzz{zzzz{zzz{zzzzzz{zzzzzzz{zzzzzzzzzzzzzzzzzz{zzzz{zzzzzzzzz{{zzzzzzzzzz{z{zzzzzzzzzzzzz{zzzzz{zzzzzzzzzzzzzzzzzzzz{zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz{zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz{zzzzz{zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz{zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz{zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz{zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz{zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz{zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz{zzzzzzzzzzzzzzzzzzzz{zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz{zzzzzz{zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz{zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz{zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz{zzzzzzzzz{zzzzzzzzzzz{zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz{zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz{zzzzzzzz{zz{zzzzzzzz{zzz{zzzzzzzzzzz{zzzzzzzzz{zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz{zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz{zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz{{zzzzzzzzzz{zzzzzzzzzzzzzz{zzzzzzzzzzzzzzzzzzzzzzzzzzz{{zzzzzzz{zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz{zzzzzzzzzzzz{zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz{zzzzzzzzzzzzzzzzzzzzzzzzzzzz{zzzzzzzzzzzzzzzzzzzzzzzz{{zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz{zzzzzzzzzzzzzzzzzzzzzzzzzzz{zzzzzzzzzzzzzzzzzzzz{zzzzzzz{zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz{zzzzzzzzzzz{zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz{zzzzzzzzzzzzzzzzz{zzzzzzzzzzzzzzz{zzzzzzzzzzzzzzzzzzzzzzzz{zzz{zzzzzzzzzzzzzzzzzzzzzzzzzzzz{zzzzzzzzz{zzzzzzzzzzzzzzzzzzzzzzzzzzz{zzzzz{{{zzzzzz{zz{zzzzzzzzzzzzzzzzzzzz{zzzzzzzzzzzzzzzz{zzzzzzzzzzzzzzzzzzzzz{zzzzzzzzzzzzzz{z{zzzzzzzzzzzzzzzzzzzzzz{z{zzzzzzzzzzzzzzzzzzzzzzzzzzzzz{zzzz{zzzzzz{zzz{zzzzz{zzzzzzzzzz{zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz{zzzzzzzz{zzzzzz{zzzzzzz{zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz{zzzzzz{zzzzzzzzzzz{zzz{z{zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz{zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz{zzzzzzzzz{zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz{zzzzzz{{zzzzzzzzzzzzzzzzzzzz{zzzzzzzzzzzzzzzzzzzzzz{zzz{zzzzzzzzzzzzzzzzzzzz{zz{zz{zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz{zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz{zzzzz{zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz{zzzzzzzzzzzzz{zzzzzzzzzz{zzzzzzzzzzzzz{zzzzzzzzzzzzzzzzz{zzzzzzzzzzzzzzzzzzzzzzz{zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz{zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz{zzzzzzzzzzzzzzzzzz{zzzzzzzzzz{zzzzzzzzzzzzzzzzzz{zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz{zzzzzzz{zzzzzzzzzzzzzzz{zzzzzzzzzzzzzzzzzzz{zzzzzzzzzzzzz{zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz{zzzzzzzzzzzzzzzzzzz{zzz{zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz{zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz{zzzzzzzzzzzzzzzzzzzzz{zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz{zzzzzz{zzzzz{zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz{zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz{zzzzzzzzzzzzzzzzzzzzzzzzzzzzz{zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz{zz{zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz{zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz{{zzzzzz{zzzzzzzzzzzzzzzzzzzzzzzzzzzzzz{zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz{z{zzzzzzzzzzzzzzzzzz{zz{zz{zzz{zzzzz{zzzzzzzzzzzzzzzzzzzzzzz{zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz{zzzzzzzzzzzzzz{zzzzzzz{zzzzzzzzzzzzzzzzzzzzzzzzz{zzzzzz{zzzzzzzzzzzzzzzzzzzzzzzzzzzzz{{zzz{zzzzzzzzzzzzzz{zzzz{zzzzzzzzzzzz{zzzzzzz{zzzzzzzzzzzz{zzz{zz{{zzzzzzz{zzzzzzzzzzzzzzzzzzzz{zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz{z{zzz{zzzzzzzzzzzzzzzzzzz{zzzz{{zzzzzzzzz{zzzzzzzzzzzzz{zzzzzz{zzzzz{zzz{zzzzzzzzzzzzz{z{zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz{{zzz{z{zzz{zz{zzzzzzzzzzzzz{zzzzzzzzz{zz{z{zzz{zzzz{zzz{{zzzzzzzzzzzzzzzzz{zzzzzz{zzzzzzzzzzzzzz{zzzzzzz{zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz{zzzzzzzzzzzzz{zzzzzz{zz{zzzzzzzzz{zzzzzzzzzzzzzzzzzzzz{zzzzzzzzzzzzzzzzzz{zzzzzzzzzzzzz{zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz{zzzzzzzzzzzzzzzzzzzzzzzzzz{zzzzzzzzzzzzzzzzzzzzzzzz{zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz{zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz{zzzzzzzzzz{zz{zzzzzzzzzzzzzzz{zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz{zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz{zzzzzzzzzzzzzzzzzzzzzzzzzzzzz{zzzzzzzzzzz{zzz{zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz{zz{zzzz{zzzzzzzzzzzzzzz{zz{zzzzzzzzzzzzzzzzzzzzzz{zzzzzzzzz{zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz{{zzzzz{zzzzzzzzzzzzzzzzzzzzzzzz{zzzzzzzz{zzzz{zzzzzzzzzzzzzzzzzz{zzzzz{zzzzzzzzzzzzzzzzz{zzzzzzzzzzzzzzzzzzzz{zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz{zz{zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz{zzzz{zzz{zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz{zzzzzzzzz{zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz{zzzzzzzzzzzzzzzzzzzz{zzzzzzzzzzzzzzzzzzzzzzzzzzz{zzzzzzzzzzzzzzz{zzzzzzzzzzzzzz{zzzzzzzzzzzzzzzzzzzzzzzzz{zzzzz{zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz{zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz{zzzzzzzzzz{zzzzzzzz{zzzzzzzzzzzzzzzzzzzzzzzz{z{zzzzzzzzzzzzzzzz{zzzzzzzzzzzz{zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz{zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz{zz{zzzzzzzzzzzzzzzzz{zz{zzz{z{zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz{zzzzzzzzzzzzzzzzzzzzzzzzz{zz{zzzzzzzzzzzz{zzzzzzzzzzzzzzzzzzzzzzzzzzzz{zzz{zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz{zzzzz{zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz{zzzzzzzzzzzzzz{zzzzzzzzzzz{zzzz{{zz{{zzzzzzzzzzzzzzz{zzzzzzz{zz{zzzzzzzzzzzzzzzzzzzzzz{zzzzzzzzzzzzzzzzzzzzzzzzzzz{zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz{zzz{zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz{zzzzzzzzzzzz{zzzzzzzzzzzzzzzzzzzzz{zzzzzzzzzzzzzzzzzzzzzzzzzzz{zzzzz{zzzzzzzzzzzzzzzzzzzzzzzzzzzzz{zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz{zzzzzz{zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz{zzzzzz{zz{zz{zzzzzz{zzzzzzzzzzzz{zz{zzzzzzzz{zzzzzzzzzzzzzzzzzzzzzzz{{zzzzzzzzzzz{zzzzzzzzzzzzzzzzzzz{zzzzzzzzzzz{zzzzzzzzzzzzzzzzz{z{z{zzzzzzzzzzzzzz{z{{zzzzzzzz{zzzzzzzzzzzzzz{z{z{zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz{zzzzzzzzzzzzzzzz{{zzzzzzzzzz{zzzzz{zz{zzzzzzzzzzzzzz{{zz{{zzzzzzzzzzzzzzzzz{zz{zzzzzz{zzz{zzzzzzzzzzzzzzzzzzzzzzzzzz{{zzzzzzzzzzz{{zzzzzzzzzzzzzzzzzzzz{zzzzzzzzzzzzzzzzzzz{zzzzzzzzzzzz{zzzzzzzzzzzzzzzz{zzzzzzzzzzzzzzzzzzz{{zzzzzzzzzzzzzzzzzz{zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz{zzzzzzzzzzzz{{zzzzzzzzzz{zzzzzzzzz{zz{zzzzzzzzzzzzzz{zzzzzzzzzzzzzzzzz{zzzzzzzzzzzzzzzzzzz{zzzzzzzz{zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz{{zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz{zzzzzz{zzzzzzz{zzzzzzzzzzzzz{zzz{zz{zzzz{zzzzzzzzzzzzzzzzzzzzzzz{zzzzzzzzzzzzzzzzzz{zzzzz{zzzzzzzzzzzzzzzzzz{zzz{zzzzz{zzzzzzzzzzzzz{zzzzzzzz{zzzzzzzzzzzzzzzzzzzzzzzzz{zzzzzzzzzzzzzzzz{zzzzzzzzzzzzz{zzzzzzzz{zzzzzzzzzz{zzz{zzzz{zz{{zzzzzzzzzzzzzzzzzzzzzzzz{zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz{zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz{z{zzzzzzzzzzzzzzzzzzz{zzzzzzzzzzz{zzzz{zzzzzzzzzzzzzzzz{zzzzzzzzzzzzzz{zzzzzzzzzzzzzzzzzz{zzzzzzzzzzzzz{{zzzzzzzzzz{zzzzzzzzzz{zzzzzzzzzzzzzzzzz{zzzzzzzzzz{zzzzz{{zzzzzzzzzzzzzzzzzz{zzzzzz{zzzzzzzzzzzzzzzzzzzzzzz{zzzzzzzzzzzzzzzz{zzzzzzzzzzzzzzzzzzzzz{zzzzzzzzzzzzzzzzzz{zzzzzzzzzzzzzzzzzzzzzz{zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz{zzzzzzz{zzz{zz{zzzzzzz{zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz{zzzzzzzzzzzz{zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz{zzz{zzzzzzzzzzzzzzzzzzzz{zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz{zz{zzzz{zzzzzzzzzzzzzzzzzz{zzz{zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz{zzzzzzzzzzzzzz{zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz{zzzzzzzzzzzzzzzzzzzzzzzzzzzz{zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz{zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz{zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz{zz{zzzzzzzzzzzzz{zzzzzzzzzzzzzzzzz{zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz{zzzzz{zzzzzzzzzzzzzzzzzzzzzz{zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz{zzzzzzzzzzzz{zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz{z{zzzzzzzzzzzzzzzzzzzzzzzz{zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz{zzzzz{zzzz{zzzzzzzzzzzzzzzzzzz{zz{zzzzz{zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz{zzzz{zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz{zzzzzzzzz{zzzzzzzzzzzzzzzzzzzzzzz{zzzzzzzzzzzz{zz{zzzzzz{zzzzzzzzzzzzzzzzzzzzzzzzzzzz{z{zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz{zzzzzzzz{z{zzzzzz{zzzzzzzzzz{zz{zzzzzzzzzzzzzzz{zzzzzzzzzzz{zzzzzzzzzzzzzzzzzzzz{zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz{zzzz{zzzzzzzz{zzzzzz{zzzzz{z{{zzzzzzzzzzzzzz{zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz{zzzzzzz{zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz{zzzzzzzz{zz{zzzz{zz{z{zzz{{{zzzzzzz{{zzzzzzzzz{zzz{z{{{zz{zzzzz{z{zz{z{{zzzzzzzz{{zzzzzzzzzz{z{{zz{zz{{zzzzzzzzzz{zzzzz{{zzz{zzzzzz{{zzzz{zz{zz{zzzz{zzzzzz{z{zzz{zzzzzzz{zz{zzz{zzzzzzzzzz{z{zzzzzzzzzz{zzzzzz{z{zz{z{zzz{zzzz{{zzz{z{z{z{zzz{{zzzzzz{zzzz{{{z{{{zzzzzz{zzzzz{zzzzzzzzzz{zzzzz{zzz{zzzzzz{{z{z{z{zzz{zzz{zzzzzzzzzzzzz{zzzzzzzzzzzzzzzz{zzz{{zzz{zzzz{zzzzzzzzzzzzz{zzzzzzzz{z{{{z{zzzzzzzzz{{zzz{zzzzzz{{z{zzz{zzzzzzzzzzzzz{zzzzzz{zz{zzzzz{zzzzzzz{{zzzzz{{zzzz{zzz{zz{z{{{zzzzzzzzz{zzzzzzzzz{zz{zzzzzzzzzzzzzzzzzzzzz{zz{z{zz{zz{zz{zzzzzzzzzzz{zzzzz{z{zzzzzzz{zzzzzzzzzzzzzz{{zzzzzz{zz{zz{z{z{{zzzzzzzzzzzzzzzzzz{zzzzzzz{zz{zzzzzzzzz{{zzzzzzzzzzzzzzzzz{zzzzz{zzzzzzzz{zzz{zzzzzzzzz{zz{zzzzzzzzzzz{zzzzz{zzzzzzzz{zzzz{zzzzzzzzzz{zz{zz{zzz{zz{zzzzzzzzzzzzzzzzzzzzz{zz{zzzzzzz{zz{zzzzzzzzz{zzzzzzzzzzz{zzzzzzzzzzzzzzzzzzz{z{zzzzzzzzzzzzz{zzzz{zzzzzzzzzzzzzzzzzzzzz{z{zzzzzzzzzz{zzzzzzzzzzzzz{zzzzzzzzzzzzzzzz{{zzzzzz{zzzzzzzzz{zzzzzzzzzzzzzzzzzzzzzzzz{z{zzzzzzzzzzzzzzzzzzzzzzzzz{zzzzzzzzzzzzzzz{{{z{z{zzzzzzz{zzzzzzzzzzzzzzzz{zz{zz{zzzzzzzzz{zzzz{zzzzzzzzzzzzzzzzzz{z{zz{zzzzzzzzzzzzzzzzzzzzz{zzzzzzzz{z{zzzzzzzzzzzz{zzzz{zzzzzzzz{zzzzzz{zzzzzzzz{zzzzzzzzzz{zzzzz{zzzzzzzzzzzzzzzzzzzzzzzzz{zzzzzzzzzzzzzzzz{zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz{zzzzzzzzzzzzz{zz{zzzzzzzzzzzzzzzzzzzzzzz{zz{zzzz{zzzzzzzzzzzzzzzzzzzzzzzzzzz{zzzzzzzzzz{zzzz{zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz{{zzzzzzzzzzzzzzzzzzzz{zz{zz{zzzzzzzzzzzzzzzzzzzzzz{zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz{zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz{zzzzzzzzzzzzzzzzzzzzzzzzzzz{zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz{zzzzzzzzzzzzzzzzz{zzzzzzzzzzzz{{zzzzz{zzzzzzzzzzzzzzzzzzzzzzzzzzz{zzzzz{zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz{zzzzzzzzzzzzzzzzzzzzzzzzzz{zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz{zzzzzzzzzzzzzzzzzzzzzzzzzzzzz{zzzzzzzzzz{zzzzzzzzzzzzzzzzzzz{zzz{{z{zzzz{z{{zzzzz{zzz{zzz{zzz{{zzz{z{zzzzz{zz{zzzzzzzzzzzz{zzzz{zzzz{{z{zz{zz{zzzzzzzz{{{{z{zzzzzzzzz{{zzz{zzzz{{z{z{zz{zzz{zz{zz{zz{{{{zzzz{zzzz{{z{z{zz{z{z{zzzzzzzzz{zz{zz{{zzz{zzzz{zzz{zzzzzzz{{z{zz{z{z{zzzzzzzz{zzzzz{zz{zz{z{z{zzzz{{z{zzz{{zzz{zzz{z{zzzzzzz{zzzz{z{zzzzzzz{{zz{zzzzzzzzzzzzzzz{z{zzzzzz{{zzz{z{z{zz{zz{zzzz{zzzzz{z{z{z{zzzz{zzz{z{zzzzzzzzz{z{zzzzzzzzz{zzzzz{zzz{z{z{zzzzzz{z{z{zzzz{{zzzz{zzzzzzzzzzz{z{z{zz{{zz{{{zz{z{z{{zz{zzz{z{zzz{zzzzzzzz{zzzzzzzzzzzzzz{zzzzzz{zz{zz{z{z{z{z{z{{zz{zzz{zzzzzzz{zz{z{zz{z{{zzzzz{zz{z{{zzzzzzz{zz{{zz{zzzzz{zzzzz{zzzzzzzzzzzzz{zzz{{zz{{zzzz{zzz{zzz{{zz{zzzzzzzzzz{{z{zzzzz{zzzzz{z{zz{{{z{zzzzzzzzzzz{zzzzzzzzzzzzz{zzzz{{z{{{zzzzzz{zz{z{zzzz{zzzzzzzzz{{{{z{zzzzzzzzz{zzzzz{{zz{zzzzzzzzzzzz{{zzzzzzzz{zzz{{zzz{z{z{zz{zzzzzzzzzz{zz{z{zzzzz{zzz{zz{z{z{{zzzzzzzzzzzzzzzzzzzzzzzz{z{zzzz{zzzzzz{zz{zzzzz{zzzzzzzzzz{{zzzz{zzzzz{{zzzzzzzzzzzzzzzzzzzz{zz{{zzz{{{z{zz{zzzzzzzzzzz{z{zzzzz{{{zz{zz{zzz{z{zzzzzzzz{zzzzzz{z{{z{zzz{zzzzzzz{z{{{zzzzzzz{zzz{zz{zz{zzzz{zzzzzz{z{z{zzzz{zzzzz{zzzzz{zz{zzz{zzzz{zzzz{zzzzzzzzz{zzzzzzz{zzz{zzzzzzzzzzzzzzzz{zzzzz{zzzzzzzzzzz{zzz{z{zz{{zzzzzzzzz{zzzzzzzzzzzz{zz{zzzzzzzz{zz{zzz{zzzzzzzzzzzzz{zzzzzzz{zzzzz{zzzzzz{{zzzzz{{zzz{zzzzz{{{{zz{{zzzz{zz{zzz{z{zzzzz{zzzzzzzzzzz{{zz{zzzzzzzzzzzz{zzzz{zz{zzzz{{z{zzzzzz{{zzzzzzzzzz{{zzzzzzzzzzzzzzzzz{zzzzz{zzzzzzzzzzzzzz{{zzzzz{{zzzz{{zzzzzzz{zz{zzzzzz{zzzzzzz{{{zz{z{z{zzz{zzz{zz{zzzzzzzzz{zz{zz{zzz{zzzzzzzz{zzzzzzzz{zzzzz{z{zz{{zzzzzzzzzzz{zz{{zzz{zzzzzzzzzzzzzzzzzzzz{zzzzzzzzzzzzzz{zzzzzzzzzzz{z{zzzzzzzzzzzz{zzzz{zzzzzzz{zzzzzzzzzzzzzzzzzzz{zzzzzzz{{zzzz{zzzzzzz{zz{zzzzz{zzz{{zzzzzzzzzzzzzz{zz{zzzz{zzzz{zzzzzzzzzzzzzzzzzzz{zzzzzzzzz{zzzzzzzz{zzzzzzzzzzzzz{{z{zz{zzzzzz{zzz{zzz{zzzzzzzzz{z{{z{{z{zz{zzzz{zzz{zzzzzz{zz{zzzzzzzzzz{zzzzzzzzz{zz{zz{zz{zzzzzzzzzzzzzzz{z{z{zzzzzzz{{zzzzzzz{zzzzzzz{zzzzzzzzzzzz{zz{zzzzz{zzzzzzz{zzzzzzzzzzzz{zzzzzzzzz{zzzzzzzzzzzzzzzzzzzzz{zzzzzzz{zzzzzzzzzzz{{zz{z{zz{zzzzzz{{zzzzzzzzzzzz{z{zzz{z{zz{zzz{z{zzzzzzzzz{{zzzz{zzzz{zz{z{zzzzzzzzzzzzzz{zzzzzzzzz{zzzzzz{{zz{zzzz{zzzzzzz{z{{zzzzzz{zzzzzzz{zzzzzzzzz{{zzzzzzz{{zzz{zz{zzzz{zzz{zz{zz{z{zz{zzzzzz{z{{zzzzzzz{zzzzzzzzzz{zzzzzzzz{{zzzzz{zzzz{zzzzzzzz{z{zzzzzz{z{zzzzzzz{zzz{zz{{{z{zz{{zzzzzzzzz{zzz{z{zzz{zzzzzz{zzzzzzz{zzzz{zzzz{{zzz{zz{zzzzzzzzz{zzzz{zzzzzz{z{{z{{zz{z{z{zzz{{{zz{z{z{z{zz{zzz{{zzz{zzz{z{{zzzzzz{zzzzzzzzz{zzzzzzzzzz{zzz{zz{z{{{zzz{z{zzz{z{{z{zzzzzzzzz{zzzz{zz{zz{{zzzzz{z{zzzzzzz{zzzzzz{zzzzz{zzz{zzzzzzzzzzzzzzzzzzz{zz{{zzzzz{zzzzzzzzzz{{z{z{zz{zzzz{zzzz{zzz{{zzzz{{zzz{z{z{zzzzzz{zzzz{zz{{{zzzzz{zzzz{zz{zz{z{zzzzzzzzzzzzzzz{zzzzzzzz{zzzzz{zzzzzz{zz{zzz{zzz{zzzz{{zzzzzzzzzzzzz{{{{zzz{zzz{{zzzzzzzzzz{z{{zzz{z{zzzzzz{zzzzzzzzz{zz{zz{z{{zzz{zzzzzzzzzz{zzzzzz{z{zzzzzzzz{zzzz{zzz{zz{zzzzzzzzzzzzzzzz{{zzzzzzz{z{zzzzzzz{zzzzzzzzzzzzzzz{zzzzzzzzzzzzzzzzzzzz{zzz{{zzzzzzzzzz{zzzzzz{{{z{zz{z{zz{{zzzzz{{z{zzzzzzzzzzz{zzzzzz{zzz{z{zz{zzzz{{{z{zzzzzz{{z{{z{zzzz{zzzzzzzzzzzz{z{zzz{z{z{{{zzzzzz{z{zz{{z{{zzzzz{zzz{zzzzzz{zzzzzzzz{z{{zz{zzzz{zzz{z{{zzz{zz{zzzz{zzzzzzz{zzzzzzzz{zz{zz{zzzzz{zz{zzzzzzzzzzz{{zzzz{{zzz{zzzzzzzzz{zzzzz{zz{zz{zz{zzz{{z{zzzzz{zzzzzz{{z{z{zzz{zzzzzzzz{{z{zzzz{zzz{zz{zzz{{{zzzzz{zzzz{{z{z{z{zzz{zzzz{zzz{{zzzz{zzzzzzzz{zz{zzzz{zzzzzzzzz{{zzzzz{zzzzz{{zz{zzzzzzz{z{zzz{zzzzzz{{{z{zzzzzzz{zz{zzz{zzzzzzz{zzzzzzzzzzzz{zzzzz{{{zz{zzzzzz{{z{zzzzz{zzzz{zzzzzzzzzzzz{zzzz{zzzzzzzz{zzzzzzzzzzzzz{zz{z{{zzz{zzzzz{zzzzzzzzzzzzz{z{zzzzzzzz{zz{z{zzzzzzz{{{{z{zzz{zzz{z{zzzzzzzzzz{zzz{zzzzzzzzzzz{zzzzzzzzzzz{z{zzzzzzzzzzz{zzzzzz{z{{{zzzzzzz{{zzzzzzzzzzzz{{z{zzzzzzzzz{z{zz{zz{zzzzzzz{zz{{z{zzz{zzz{z{zzzz{z{z{zzzz{zzzzzz{{z{z{z{zzz{zzz{z{{z{{{zz{zzzzz{{zzzzz{zzzz{z{zz{zzz{{zzzzzzzzzzzzzz{z{zz{zzzzzzzzzzzzzzzz{{zzz{zzzzzzzzz{zzzzz{zz{zzzz{z{zz{zzzzzzzzzzz{zzzzzzzzz{zz{zzzz{zzzzzzz{zzz{zzzzzzz{zzzzzzz{zzzzzzzzzzzz{{zz{zz{zzzzzzz{zzz{z{zzzz{zzzzzz{zzzzzzzzzzzzzzzzzzzzzz{{zzz{zzzzzzzzzzzzzzz{zz{{zzzzzzz{z{zzzz{zz{zzz{zz{zz{{z{z{zzz{zzzzz{zzzzz{{zz{zzzzzzzzzzzzzzz{{z{zzzzzzzzzzz{z{zzz{zzzzz{zzzzz{zzz{zzzzzzzz{zzzzzz{{{{z{zzzz{zzz{zzz{{{zz{z{zz{zzzzzzz{{zzzzzzzz{zzzzz{zzzzzzzzzzzzzzzz{zz{z{zzz{z{{zzzzzzzzzzzzz{zzz{zzzz{zzzzzzzz{zzzzzz{{zzz{{zzzzzzzzzzzzzzz{z{zzzzzzzzz{zzzz{{zzzz{{zzzzzzzz{zz{zzzzzzzz{{zzzz{zzzzzzzzz{zzzzzzzz{zzzzzzz{z{zzzzzzz{z{{{zzz{zzzzzzzz{zzzzzz{zzz{{{zz{{z{z{{{zzz{zzzzzzzz{{zzz{zzzzzzzzzzzzzzzz{z{{{zzzzzzzz{zzzzz{{z{zzzzzzzz{{z{z{zzzzzzzz{zzz{z{zz{zzzzzzzzzzzzzzzz{zzzzzz{zzzzzzzzz{zzzzzzzzz{zzz{zzzzzz{zzzzzzzzz{z{z{{{zzzz{zzz{zzz{z{zz{zzzzzzzzzzzzzzzzzzzzzzzzzzz{{zzz{{zzz{zzzzz{zzz{zzzzzz{zzzzz{{zzzzzzz{zzzzzzz{zz{zz{{zzz{zz{{z{zzzz{zzzzzzzzz{zz{zzz{zzz{{z{zzzz{z{z{{zzzzz{zzzzzz{zzzz{zzzzzzzzzzzzzzzzz{{zzzzzzzzzzzzzz{zzzzzz{zzzzzz{zzz{zzzz{zzzzzzzzzzzzz{zzzzzzzzzzzzzz{zzzzz{zzzzzzzzzzzzzz{zzz{z{zzzzz{zzzzzzzzzzzzzzzzzzz{zzzzzz{zzz{zzzzzzzzz{{{{{{z{zzzzzzzzz{zzzzzzzz{{zzz{zz{{z{{z{{zzzz{zzzzzzzzz{z{zzzzz{zzzzz{z{{z{z{zz{z{zzzzzzzzzzzzzzzzz{{{zzz{zz{zz{zzzzzzz{zzzzzzzzzzz{zz{zzzzz{{zzzz{z{{zzzz{zzzzzzzzz{{zzz{zzzzzzzzz{{{z{{zzzzzzzzzzzz{zzzzzzzzzzzzzz{{{zzzzz{zzzzz{{zzzz{zz{zzz{zz{{zz{{z{{zzz{zzzz{zzzzz{zzzz{zzzzz{zzzz{zzzzzzzzzz{zzzzz{zz{z{zzzzz{zzzzzzzzzzzzzzzzzzzzzzzzzz{{zz{zzzz{zz{zz{z{z{zz{zzzz{{{z{zzzzzzzzzzzzz{{z{z{zzz{{z{z{zzzz{z{{zzzzzz{{zzzzz{zzz{z{zzzzzzzz{{zzzzzz{{zzzzzzzzzzz{zzzz{zzzz{zzzzzz{zzzzzz{{{zzzzzzzzzzzzzzz{{zzzzzzz{zzzzzz{{{zzzzzzz{zzzzzzzzzzz{{zz{zzz{zz{zzzz{z{{zz{zzz{zzz{z{zzzz{zz{zzzz{zzz{zzzz{zzzzzzzzzzz{zzzzzzzzzz{{zzzzzzzzzzzzzzz{zz{zz{zzzz{zzzzzz{{zzz{zzzzzz{zzz{zz{zzzz{{z{z{zzzzzzzzzzzzzzz{zzzz{zzzzzzzzzzzzz{{zzzzzz{{zzzzzzzzzzzzz{zzzzzzzz{{zz{zzz{zzzzzzzzzzzzzz{z{zzzz{zzzzzzzzz{z{zzz{zzzzzzzzzzzz{{z{z{zz{zzzzzzzzzzzzzzz{zzzz{zzzzzzzzzzz{z{zzzzzzzzzzzzzzzzzzzzzzz{{zzzz{{z{{zzzzzzzzzzz{zzzz{zz{zzzzzzzzzzz{zzzzzzzz{zzz{z{z{zzz{zzzzz{z{zzz{zzzzzzz{zz{zzzzz{zzzzz{z{zzz{z{{{zzz{{{zzzzzzzzzzzzzzzzzzzzz{z{zzzzzzzzzzzzzzzzzzz{z{zzzz{zz{z{zzzz{zzzzz{{zz{{{zz{zz{zzz{{{zzz{zzzzzz{z{zz{{z{{{zzzzzzzzzzzzz{z{z{z{z{z{{z{z{z{zz{zzz{zzzzzz{zz{zzz{z{{{z{zzzzzz{zzz{zzz{{{z{z{{zzzzz{zzzz{{z{zz{z{z{zzz{z{{z{z{zz{{{zzzzzzz{{{zzzzzzzzzz{z{z{zzzzzz{z{z{zzz{zzz{{zz{{{z{zzzz{z{{zz{zz{zzzzz{zzz{{zzz{zzzzzzz{zzzzzzzzzz{z{zzz{zzzzzzzzzz{zzz{zzzzzzz{z{zzzzzzzzz{zz{z{{z{zzzzzzz{zzzzzzzz{zzzzzzzzzz{zzzz{zz{{{{z{{z{zzzzz{zzzzzz{{zzzzzzz{zzz{zz{z{zzz{{zzz{zzz{{zzzzzz{{z{zzzzz{z{z{zzzz{{zzz{z{zz{zzz{zzzzzzzzzzz{zzzzz{zzzzz{{{{{z{z{z{z{{{{zzzzz{z{zzzzzzz{zzzzzzzzz{z{zzzzzzz{zzzzzzzzz{zzzzzzz{{zzzzz{z{zzzzzzzzz{{zzz{z{zzzz{zz{{z{zzzzzz{{zzzz{zz{zzzz{{z{{zzz{{{zz{zzzz{zz{{{zzzzzzzzzzz{{zzzz{zz{zzzzzz{{zzz{zz{zzzzzzzzzz{{{zz{{{zzzz{zz{{zzzzzzzz{{zzz{{zzzzzzz{zzz{{zzzzz{zzzzz{z{{zzzzz{zzz{zz{z{{zzzzzz{zzzz{zzzzzzz{z{{{zzzzz{z{zz{{{zzzzzzzzzzz{zz{zzzzzzzz{{zzzzzz{zzzz{zzzzzzzzzzzzzz{zz{zzzzz{zzzzz{zzzzzzzzzzz{{z{z{{zzzzzzzz{zzzzz{zzzz{{{zzz{zzz{{zzzzzzzzzzz{zzzzzz{zzzzzzz{{zz{zzzzzzzzz{zzzz{zzzzz{{zzzzzz{{zz{zzzzzz{{zzzzzzzz{z{zzzz{{z{zz{zzzzzz{zzzzzzzzzz{zz{zz{{{zzz{zzzz{zzzzzzzz{zz{zz{zzz{zz{{zzzzzzzzzzzzzzzz{zzzzz{zz{z{zzz{z{{zzzz{zzzzz{zzzz{z{zz{{zzzz{{zzzzzz{z{zzz{zzz{z{zzz{zz{zzzzzzzzzzz{zzzzzzzzzzzz{{zzzzzzzz{{z{z{zzzzzz{zzzzzzz{zz{zzzz{z{zzzzzz{zz{zzzzz{zzzzzzzzzzzz{zz{zzzzzzzz{{z{{zzzzzz{zzzzz{zz{zz{zzz{{{{{zzzzzz{zzz{{z{z{zzzzz{zzz{z{zzzzzzzzzzzzzzz{zzzzzzz{zzzz{zzzzzz{zzzzz{zzzzzzzz{{zzzzzzzzzzzz{z{zzzz{z{zz{zz{zz{zzz{zzz{zzzzzz{zzzz{{zzzzz{zz{zzzzz{zzz{zzz{{zz{zzzzzzz{zzzz{zz{z{{zzzzzzz{zz{zz{zzzz{{zz{zzzzz{zzz{{{zzzzzz{zzzz{zzzzzzzzzzzzzzzzzzzzzzzzz{z{{zzzzzzz{{{z{zzzzzzzzzzzzzzzzzzz{zz{z{zzzzzz{zz{zzzzzzzzz{zzzzzzzzzz{zzzzzzz{zzzz{z{z{{zzzz{zzzzzz{z{zzzzz{z{zzzzzzzzzzzz{zz{z{zzzzzzzzzz{z{zzzzzzz{z{{zzzzzz{{zzzzzzzz{{zzz{zz{zzz{{zzzzz{z{zzzzzzzzzzzzzzzzzzzzz{z{zz{zzz{zzzzzzzzzzzz{{zz{{zzzzzzzzzzzz{{zzzzzz{z{zzzzzzz{zz{zzzzz{zzzzz{z{zzzzzz{zzzzz{{z{{{zzzzzzzzzzzzzzzzzz{z{zzzz{{z{z{zzz{z{{zzzzzz{zz{{z{zzzzzzz{zzzzzzzzzzzzzzzzzzzz{zzzzz{zzzz{zzzzzzz{{{z{{zzzzzzzz{{{zzz{{{{zz{{{zzzzzz{z{zzz{zzzzzzzzz{zz{zzzzzz{{{{zz{{z{z{zz{{z{z{{z{zz{{z{z{{zz{{z{{z{{{z{z{{zz{z{z{z{{z{z{z{{zzzz{zz{zzz{{zz{{zzz{{z{zz{{z{z{{zzzzzzz{z{zz{z{{{z{z{zzzzz{zzz{zz{{z{z{zz{{z{z{{z{zzzzz{{zzzzz{{{{{zzz{{zzzzz{zz{{{{{{{z{{{z{{zz{{zz{{zzz{{{z{zz{zzzzzzzzzz{zzz{zz{z{zz{z{{zzz{{zzz{z{zz{zzzzz{{{zzzz{{{{{zzzzz{zz{zzzz{z{zz{{z{zz{{z{zz{z{{z{z{{z{z{{{{zz{z{zzzz{zzzzz{{z{zzz{zzzzz{{zzz{zzz{{zzzzz{z{{{z{{{{z{zzzzzz{{z{z{{{z{{{z{zz{zzz{{zz{zz{{zzz{zz{z{{{{z{{z{z{{z{{z{{zz{zz{zzzz{{{{{{{z{{zzz{z{zz{zz{zzz{zz{{zz{z{{zz{{{{{zzz{zzz{z{{z{{z{{z{z{zzz{zzz{{zzzzzz{z{zzz{zzz{{{zzz{{zzzzzzz{{{zzz{{zzzz{zzz{{{{zzzz{zz{zzzzz{zzz{{{z{{z{zzz{{z{{zzz{{{z{zz{{zz{{{zzzzzz{{{z{zzz{{zzzz{{zzzzz{zz{z{zzzzz{zzz{{zz{{{{{zzzzzzzzzz{zz{z{z{{zzzz{{zzzzzzz{z{{zz{zz{zz{zz{zzz{{z{z{zz{zzz{z{z{{z{{z{zz{z{z{zz{z{zz{zz{z{zzz{z{zzzzzz{zzzzz{zzz{{zzz{z{{{z{zzzz{zzzzz{z{z{zzzz{zz{zzz{{zz{{{z{z{{{zzzzzzz{{z{zz{zzzz{zzz{z{{{zz{z{zzzzzzzz{{{{zzz{zzz{{{{{{z{z{{zz{{{{z{{zz{{zzz{zz{zzz{zzzzz{{zzz{zzzz{z{{z{zz{{z{{z{zzzz{zz{zzz{z{zzz{{zzzz{{{zz{zzz{z{zzz{{zzz{{zz{{z{zzz{{{z{zz{{{z{zz{z{zzz{zzz{{{{z{{zz{zz{zzzzzz{{z{zzzzz{z{zzzz{{zzzzzzz{zzz{zz{{{zzzzzz{zz{{z{zzzzzzz{{zz{{zz{{zzz{zzzz{{{zz{zzzzzzzz{z{zz{zzzzzzzzzzz{z{zzzzzzzz{{zzz{z{zzzzzzz{zzzzzzzzzzz{{zzzzzz{z{zzzzzzzz{zzzzz{zz{zzzz{z{zzz{zzzzzzz{{zzzz{zzzzz{zz{zzzzzzzz{zzz{{zz{zzz{z{zzzz{z{z{zzzz{{zz{zzzz{{{{zzzzzz{{zz{z{z{z{{z{{{zzzz{z{zzzzzzz{zzzzzz{{{zz{z{z{{zzz{{zzzzzzzzz{zz{{{{{z{z{zz{zzzz{zzz{{{{zzzzzzzzzz{zz{z{{zzz{zzzz{z{zzzzzzzzz{{zzzzzz{zz{{{{{zzzzzzzzzzz{zzz{zzzzz{zzzzzzzzzz{zz{zz{zzz{zzzz{{zzzzzz{{zzzzzzzzz{{zzz{{zzzz{zz{z{{zz{{zz{zz{{zzzz{zzzzz{{zzz{z{zzzz{{{zz{{z{zzz{{zz{{{z{zz{zzzzzzz{{{zzzzzzzzzzzz{zz{zz{z{z{z{{zzz{{z{{z{{zzzzzzzzzzz{zzzzzz{z{z{z{zz{zzzzzzzz{zzzzz{{z{z{{zzz{{zzzzzzzzz{zzzzzzzzzzz{{{zzzzzzzz{{zzzz{zzzzz{zzzzzzzzzzzzz{{z{zz{zz{zz{z{zzzzzz{{zz{zz{{z{zzzzzz{{zzzzzzz{z{zz{zzzzzz{z{zzz{zzzzzzzz{zzzzz{{z{zzzzzzzz{zz{{zzz{z{{{zzz{{{{z{{{z{{z{zz{{{{z{{z{{zz{{{z{zz{{zzz{z{zz{{zz{{z{z{zzzz{{{z{z{{{{z{{z{{{z{z{z{{z{z{{{z{{z{{{zz{{{{z{zz{z{z{z{{z{{zzz{{{{z{{{{z{{zz{{zzz{z{zz{zzz{{z{z{{z{zz{{{{zz{zz{zzzzzzz{{z{zzz{{{{{z{z{zz{{{{z{zzz{{zzzz{zzz{z{{{z{{{zz{zzz{{{{{{z{{{{zz{{{{{zzz{zzz{zzzzz{{z{zzzzz{{{z{zzzz{z{zzzzzz{zz{{z{{{{{zzz{{zz{zz{zzz{zz{zzzz{{zzzzzzz{zz{{zzz{z{z{{zz{{{zzzz{{{z{z{{{{z{{{{{z{z{zzz{z{{{z{zz{{{zzz{z{zzz{{{zz{zzz{{{zzz{{{zzzzzz{{{zzz{{z{{{{{z{{{z{{z{{{{zzzzzz{{{{{zz{{{{{zzzz{{{{{z{z{{z{{z{{{z{{z{{{z{zzz{zzz{{zz{z{{z{{{{{zzzz{{{zzz{{{{{{z{zz{{{zz{{zzzz{zz{{zz{z{{z{z{zz{z{z{zzz{{{zzz{zz{zzzzz{{zzzz{{zz{{{{zz{zzzzz{{{{{z{z{zzz{zzzzzz{{{{{z{{zzzz{{z{z{z{{zzzz{{z{{{zz{{{zzzzz{z{{z{z{{{{{{zzzz{{{zz{{zz{zzzz{{z{zzzz{{zzzzzzz{z{z{zzz{z{zzzzzz{z{z{{{zz{{zz{z{{z{{{{{zzz{{zz{{{{{z{z{z{zzzzzzzz{zzzzzzzz{{{{z{zzz{z{z{{{z{zzz{{zz{z{z{z{z{{z{zz{z{zz{zz{z{z{{z{{zzzz{{z{{{{zzz{{z{zzz{z{{{{zzz{{{{{zz{{{{{zz{{z{{{zz{{{zzzz{z{{zz{zz{zzz{zzzzzzzz{zzzz{{zz{{z{{{{{z{zz{zz{{zzz{{{z{{{zzzz{{z{{z{z{zz{{{{z{{{zz{{zz{zz{zz{{z{{{{{zz{{{{zzzzz{{{zz{zz{{{zzzzzz{z{z{zzz{{zzz{{{{z{zzz{{z{{z{{{{zzz{{{{z{zzzzz{{z{{zz{z{z{zzzzz{z{{z{{{{{zz{{zzz{z{{{zz{z{zzzz{{{zzzzz{{zzzz{z{zzz{{zzz{zz{{zzzzzz{z{{{{z{{{{{zzz{{z{{{{z{z{{zzzz{z{{zz{{{z{z{{z{zz{{{zzz{{zz{{zz{{{zzzzz{zzzz{zzzzz{{{zzzz{zzz{{{zzzzzzz{z{{{{zzz{z{{{{zzz{{zzz{{{z{zz{{{{z{z{zzzzz{zz{z{zz{z{zzzzzzz{{{zz{z{zz{{{zzzz{{{{z{zzzz{{z{z{{zz{zz{{zz{{z{z{zzzz{z{{zzzz{z{z{zz{z{zzzz{{{z{zzz{{{{{z{z{{z{{{z{zz{{z{z{{zzz{{zz{zzzzzz{{{{{zz{{{{{{{z{zzz{{zzzz{z{z{z{zz{{{{{z{z{z{{zzzz{z{z{{{z{{z{z{zzzz{z{{{zz{{z{{z{zz{z{{zz{{{zzz{zzzz{{z{zzzzzz{z{{zz{{z{zz{zzz{{z{{{zz{{{zzz{{z{z{{{z{z{z{zz{zzzz{z{zz{z{{z{zzz{zz{z{zzz{{{{z{{z{z{{{z{{z{z{zzz{zzzzz{{z{{zzz{zzzz{zzz{zz{{{z{{{zzzz{{{zz{{z{zzz{z{zz{z{zzz{zzzzz{zzzzz{zz{zzzz{zz{zz{zzzzz{zzzzz{zz{z{z{zz{{z{z{zz{zz{{zzz{zzz{z{zz{z{{zz{{{zz{{zzz{z{{zz{{{{{z{{zzzz{z{zz{{zzz{{zzz{zzz{zz{zzzzz{{z{{z{zz{{zzzzzz{z{z{{{zzzz{{{zzzz{zz{zz{z{zzz{zzz{{z{{z{z{{zz{z{z{{{{{zzzz{zz{z{z{{z{{{zzz{{{{z{zz{{zz{{z{{{{zz{zzzzzz{{{{{zz{zz{{{{zz{z{{{{{{zzz{z{zzz{{z{{{{zzz{z{zz{{{zzzz{{{{{zz{{zzzz{zz{{z{zzz{{z{z{{{{{{z{{{z{zz{z{zzzzzz{zz{{zz{z{zz{zz{z{z{{zzz{zz{zz{{{z{zzzzz{zz{zz{zzzz{zzzzzzzzz{{zz{zzzzzzz{zzzzzzzz{zz{{zzzzz{zzz{{z{{zz{zzz{z{z{zzzz{zzz{{{{{z{{z{z{{{{zz{z{zz{{z{{zz{zz{{zz{{zzz{{zz{{{{{z{{zz{{{zz{{{{{z{zzz{{{{z{{z{z{{zz{{z{{{{zz{{{zz{zzz{zz{zzzzzz{zz{zz{z{zz{z{{z{zz{{{z{zz{z{{{z{z{{{zzzz{{z{zz{zzz{zz{{z{zz{z{{z{z{{{zzzz{{zzzzz{z{{{{{{zzz{zzz{z{zz{{{{z{{zzzzzz{zzzz{{{{zzzz{z{zz{zz{{{{zzzz{z{z{zzzzzzz{zzz{{zz{zzzzzz{{{{zz{z{{z{z{{{z{z{{{{{{zzz{zzzz{{zz{zz{zzzzz{zz{z{{z{zzz{{{{zzz{z{{zz{z{{{z{zzzzz{z{{{{{{z{z{{zzz{zzz{zz{z{{{z{{{{{{{{z{{{z{{z{zz{{{{zzz{zzzz{zz{{{{{{zz{{{{{{{{z{z{{z{{z{{z{zz{{z{{zzzzz{{z{{z{{{zz{{z{z{z{z{{{zzzzzzzzzzz{{zzzz{z{{{zzz{{{zzzz{{z{zz{{{{{zz{zz{{{{{{zz{z{zz{{zzzzz{zzzz{{{zz{{{{z{{z{z{{zzz{{{{z{z{{zzz{z{{{{zz{{{{z{{{{z{{{z{{zz{zz{z{{{z{z{z{z{{zzz{z{{z{z{zz{zz{{zz{z{{zz{{{zzz{zz{zz{{z{{{{{zz{z{{{z{zz{z{z{{z{{z{zzzz{{zzz{zzz{{z{zz{{z{{{{zz{z{{zz{{zzzz{z{zz{{{z{zz{zz{{{{{{zzz{{zz{zzz{z{{{z{zz{{z{z{z{z{zz{{zzzz{z{z{{z{{zzz{zz{{zzzz{z{{{z{zz{{{zzz{{zz{{{z{z{{{{zzz{{zz{{{z{{zzzz{zz{z{{zz{{{z{{{{{{{{zz{z{z{z{{zzz{z{z{{z{{zz{{{{{{zz{z{{{zz{zz{z{{{z{{z{{{{{{z{z{zz{zz{{z{{z{z{{zz{z{z{z{zzz{zz{zzzz{z{zzzz{{{{z{zz{z{z{{{z{{{{z{z{z{{{{{zz{z{zzz{z{zzzzzzzzz{z{{{z{{{z{zz{{z{{{{{z{z{zz{z{z{z{{{z{z{{{{{{{{{{zzzz{zz{{{z{z{{{{z{zzzzz{{z{{{z{{{{{{z{{{zzzzzzz{zz{{zz{zz{z{z{zz{zz{{z{z{{{{z{z{{z{{{{z{{zz{{{{{z{zz{zz{{zzz{z{{{z{{zz{{zz{{{{{{{zzz{zzz{z{{{zz{z{zzzzz{z{zzzzzz{z{zz{z{z{{{z{{z{z{zz{z{{z{{{{zz{{{zz{{z{{zz{z{zzzz{zz{{z{{zzzzzz{z{zz{z{z{zz{{z{zzz{{zz{{{{{{{{{{{{{zzz{{{{{{zzz{zz{{z{zz{zzz{{z{zz{{zz{{{{zz{zzzz{z{zz{z{zz{{z{zz{{z{zz{zz{z{{z{{zzz{{{zz{{{{{zzzz{z{{{{{zzzzz{z{{z{z{zz{zzzzz{zz{z{{{{z{{{{{{zz{z{z{zz{{z{zzz{z{{{{z{{{z{{zz{zz{{{{z{{{{z{zz{zz{zzz{z{zzzz{zzzz{{{{z{zz{z{{{zz{{{{zz{{zz{z{zzz{{z{zzz{{zz{zzzzzz{{zzz{z{zzzzzzz{{z{{{{{z{z{{{{{{{{zz{z{z{{{zz{{{{zzzzz{z{zz{zz{{zzzz{{z{z{z{z{{zz{{zz{{z{{z{{{zzz{z{zz{z{{{z{{z{{{{{{z{{{z{{zz{{z{{zz{{zz{z{{z{{{{zzzzz{{zz{zz{{z{zzz{z{zzzzz{z{zzzz{{z{zz{z{z{{zz{z{zzz{z{zz{zz{zz{{zzzz{{zz{{zzzz{{{{z{{z{zz{{zzzzzzz{zzz{{zzzz{{z{z{{z{z{zzz{z{{zz{{zzzz{z{{zzz{z{zz{{zzz{{z{{z{{{{{z{zzzzz{z{z{zzz{{zzzz{{zzzzz{zzz{zz{z{{z{z{zzzz{{zz{zzz{{z{{z{z{{z{{{z{{{{zz{z{z{zzz{{z{zzzz{{{{z{{zzz{zzzzz{{{z{zzzzz{z{zz{{zz{z{zzzzzz{{{z{{z{zzz{zz{{zz{{zz{{z{{z{z{zzzzz{{zz{{{zzzzzzz{{zzzz{{z{zzzzz{z{{{z{{zzz{z{{z{z{zzz{{z{zzz{z{z{{z{{zz{{{{{zzzzzzzzz{{{z{{{{zzzz{{z{zzzzz{{{{{{zzzz{z{{z{{{{zzzzzzzz{zz{{{{z{zzz{{{{{{{{{zzz{z{z{zzzzzzzz{zzz{zzzz{{z{z{{{z{{{{z{{z{{z{{z{{{{{{z{z{zz{{{z{zz{zzzz{z{{{{{{z{{z{z{{{z{z{z{z{{z{{zzz{{zz{{z{{{zz{z{{z{zz{z{{{{zzz{z{zzz{{zzz{z{zzz{zz{z{zz{{zzz{zzz{{z{zzzz{zzz{z{zz{z{z{{z{{zzz{zzzzz{{zz{zzzz{z{{z{z{{{z{zzz{{zzzzzzzzz{zzz{{{zzz{zzzz{zzz{z{zz{{{{{z{{z{z{zz{z{z{{z{z{{{{{zz{{zz{{z{{zzzz{{z{{{{{z{z{zz{zz{z{{zzzz{zz{z{z{zz{{z{{z{zzzz{z{{zzz{z{z{{zzzzz{{{zz{{z{{{z{{{{{z{z{zzzz{{{{{z{z{{{z{{zzzzz{z{{{{{{{{z{z{{{z{zzz{zzz{{{{zzz{zzzz{{{{zz{z{{zz{z{zz{z{zz{{{{zzzz{z{{zz{zz{z{z{z{{z{z{{z{zz{{zzz{{zzz{{{{{{{z{zz{{{zzzz{{z{z{{{{z{{{zzzzz{z{{z{z{{{zzz{zz{z{zzz{{{zzzz{zz{{{{{{{z{z{{zz{{zz{{{zz{{z{zzz{zzz{{{zzz{{{zzzzzzzzzz{{{z{{z{{{{z{{z{{zzzz{z{{z{{z{zz{z{{z{{z{z{{z{{zz{zz{{{{{{{{{zz{{{z{z{z{z{z{z{{z{{{{{zzzz{{{z{zzz{z{{z{z{{z{zzz{zzzzzzz{zz{{z{z{{z{zz{z{{zzz{z{zz{{{{{{{{{{zz{{z{{z{z{zz{zz{{{zz{z{z{z{{zzz{zz{zzzz{{zzzz{{{{{{z{{{{{{zz{z{{zz{z{zz{{zz{z{zz{{{zz{z{{z{{{{{{z{{{z{z{z{zz{z{zz{zz{{{zz{{{z{z{{zz{{z{zzzzz{{zzzzz{{z{{z{{z{{{{z{z{{z{{z{{zz{z{{zzzzz{{zzz{zzzzz{zzz{zz{{zzzz{{{{zzzz{{z{z{z{{{zzz{zzz{zz{zz{{{zzzz{zzz{{z{{z{z{z{{{{{{{{z{zzz{zz{{zzzz{z{z{{{{z{{{{z{z{{z{zz{{{z{{z{{{{z{zzz{{{z{z{{{{{{z{z{{{zzzz{zzzz{{{z{{zz{{{z{z{{z{{zzzz{{{z{{z{zzzz{zz{{z{z{{zzzzzzz{{zzzzzz{{z{z{{{{{{{zzzz{{{z{{z{{z{{{z{z{{z{{zz{{{zzzz{zz{z{{zz{z{{z{{z{zz{{zzzz{z{{zz{{z{{{z{z{{{z{zz{{{{zzzz{{{zz{z{{z{{{{{{{{{{z{{{{zz{{zz{{{{z{z{{{{{zzz{{{{{{{z{{z{z{{{{{{z{{z{{z{{{{{{{{z{{zz{{zz{z{{{{{z{{{{z{z{{z{{{zz{{{{{{{{zz{{{{{{{{{zz{{{{{{{{{{{z{z{zz{{z{zz{{z{{z{{{{{{z{zzzz{zzzzz{{zzz{{{{z{{{z{zzz{z{{z{{{zz{zz{z{{{{{{{zz{{z{zz{{{{{{z{z{{{z{zzzz{zzz{{z{{z{{{{{zz{z{zz{{{{{z{{{{{{zz{{{z{{{{{{{{{{z{zz{z{z{{{zz{{z{{z{zz{z{{{z{{{zzz{zzzz{{z{zz{zz{{z{{zz{{z{z{{{{z{{z{{{{{{{{z{z{{zzz{{{{{z{zz{{{{{{{zzz{{{z{{{{{z{z{z{z{{z{z{{{z{zz{{z{z{{{{z{zz{{zz{zz{{{{{{zzz{{{{z{{{zzz{z{zz{z{zz{z{zz{{{zz{{{{zzzzz{z{{{{{zzzzz{z{{{z{zz{{z{{z{z{zz{z{{{{z{z{{{{{{zz{zz{z{{zzz{{{z{zzzz{{z{{{zz{{z{z{zz{zzzz{{z{z{z{{{{{{zzzz{{zzzz{{zz{{{{{{z{z{{z{z{{zzzzz{{{z{{{{{zzz{{{{{z{{{z{{{{{zzz{zzz{{zz{zz{zz{{{z{{{{{{{{zz{zz{{{{{{zzz{{{z{{{z{z{z{z{zz{{zz{{{zzzzz{z{{{{{{zz{z{{zz{{{{{{zz{zz{z{{zz{zzzzz{{z{z{{{{{{zzzzz{{{z{zzzz{z{{{z{{z{{z{zzz{{{z{{zz{zzzzz{z{z{{z{{zz{z{{{{{z{z{{z{{{{z{z{{z{zz{z{{{zz{{{{zz{z{zz{zz{z{{{zz{{{zz{{z{zzz{{{z{{{zzzzzz{{{zz{{z{{{zzzzz{z{zz{zz{z{z{z{z{z{{{{z{z{{z{{zz{zzz{zz{zz{zzz{z{{{{{zzzz{{{zz{{zz{{{{z{{{{zz{zz{z{z{{{z{zz{z{z{z{z{z{{z{z{zz{{{zzzz{z{{{{zzzz{zzzzz{z{z{zz{zzz{z{z{zz{{zz{{{zz{{{z{zzzz{z{{zz{{{{zzz{z{{{{z{{z{z{{z{z{{{zzz{zz{{{zz{{z{zz{z{z{zz{z{z{zz{{zz{{zz{z{{{{{{{{{{zz{{{z{z{{zz{z{zzzzz{{zzz{{z{zz{zzz{zzz{zzzz{zz{z{{{z{zzzzzz{{z{zz{{{{z{z{{{zz{{z{{z{{z{{{{zz{{zz{zz{zzzz{zz{{{{z{{{{{{zzz{{zzzz{{zz{zz{zz{z{z{{{{{z{{{z{z{{zzz{z{zz{z{{{z{zz{{{{z{z{{zz{zzz{zz{{{{{{z{{zz{zz{zzzz{z{zz{{z{zzzz{{{z{zzzzz{{z{{{z{{zz{{zz{zz{zz{{{zzz{{z{zzz{zzz{{z{z{{z{z{{z{{z{{z{{{{zz{{z{{zz{{z{{z{zzzzz{{{{{{zz{z{zz{{{zzzz{{{zz{{{zz{{{z{z{z{z{zz{{z{zz{z{z{z{{{z{z{{{zzz{zz{{z{{z{{{zz{z{{zzzzzzzzz{zzz{{{zz{{{z{{zzz{{zzz{{zzz{z{{zzzzz{zz{{{{{zz{{z{z{zzz{{z{{{zz{z{{z{zz{z{z{{z{zz{{{{zzzzz{z{z{{{{z{{zzzz{{z{{{{z{{zz{{z{{{{z{z{{{zzzz{{z{{z{z{{{z{{{zzz{z{{zzz{{zzz{z{{{zz{zzzz{z{zz{z{z{z{{zz{{{{{z{zzz{{zz{{zzz{zzzzzz{zz{zz{{zz{{{{{{zzz{{zz{z{{{zzzzzz{zz{z{{z{zz{{z{{{zz{{zzz{zz{{{z{z{zzzzz{{{{zzzzz{{zz{zzzzzz{z{{zzz{z{{{z{zzz{{{zzzzz{{{{{{z{{z{{{{{{{{{{{{z{zz{{{{{{z{{z{{{{{{{{{{{{{{{{{{{{z{{{{{zz{{{{z{{{{z{{z{{{{z{{{z{{{{{{{{{{{{{{z{{{{{z{{{{z{z{{{zz{z{zz{{{{z{z{{{{z{{{z{zz{{{z{{z{{zzz{{{z{{{z{{{{z{z{{{{{z{{{z{{z{{{{z{{zz{{{{{{{z{{{{{{{{{{{z{{{z{{z{{{{{{z{{zz{{{z{zz{{{z{{{{{z{z{zz{{z{{{{z{z{{{z{{z{{{{{{{{{{{{{{{{{z{{{z{{zz{{{{{{{z{z{{z{{zz{{{{{{{{z{z{{{{zz{{{{{z{{z{{z{{z{{{{{{{{{{{{{{{{{{z{{{{{z{{{{{{{z{{{{{{{{{{zzz{{{z{{{{zz{{{{{{{{{{{{{{{{{{{z{{z{z{{z{{z{{{{zzz{{{{{{{{z{{{z{{{{z{zz{{{{{{{zz{z{z{{{{{{zzzz{zzz{{{{{z{{{{{z{{z{{zz{z{{{{{{{{{{z{z{{{{{{{z{{{{{{zzz{{{z{{{{{{{{{{{zz{{{{{z{z{{{z{{{{{{{{{{{{{z{{{{{{zzzzz{z{{z{zzzzz{{{{{{{z{{{{z{{{{z{{{z{{{{{{{{{{{z{zz{z{{{zzz{{{{{zzz{{{{{{z{{{{{z{{{zzz{zz{{{{z{{zz{{z{{z{{zzz{{zzzzzz{{{zz{{{z{{{z{zz{{{z{{{{{{z{zz{{{z{{{{{{zz{zzz{z{z{{zzz{zz{{z{{{{z{{zzzz{{z{z{{zz{{{zzz{{{{{{z{{{z{{{z{{z{z{{z{z{z{{{{{{z{{{{{{{{zz{{{{z{z{{{{z{zz{{{{z{{{zz{{{{z{z{{{zz{{{{{{{zz{z{zz{{{{zzz{{{{{z{{{zzz{{{{z{z{z{zzz{{zz{z{z{{{z{z{z{{{{zz{{z{z{{z{{z{{{{z{zz{{zz{{{zz{{z{{z{{{zz{{{zz{z{z{z{{{{{{{{{z{{z{{zzzz{{{zz{{z{z{zz{z{{{z{z{{z{{zzzz{z{z{{z{{{z{{{{zzzz{zzz{zz{{zzz{z{{{z{{{{z{zzz{z{{zzz{z{{{{{{{{{{{zz{z{z{{{{{{{{{{zz{{z{zz{zz{{{{z{zz{{zz{{z{z{{z{{{{zz{{{{{{zz{zzz{{{zzz{z{{{z{{{{{{{zz{zz{{{{z{z{{{{{{{z{zz{{z{zz{z{{zz{{{{z{z{{{{{{zz{{{{{{{{zzzzzz{z{{z{{{{zz{z{{{z{{{z{zzz{{{z{{{{{{z{{{{{z{{{{{{z{{z{{{{z{z{{zz{{{{z{{z{z{{{{{z{zz{zzzz{{{z{z{{z{{z{z{{zz{z{{{{z{{{{{{z{{{{{{zzz{zzz{{{{z{z{{{z{{{{{z{{{z{{{{{{{z{zz{{{zzz{z{{z{{{{{z{{{{z{zzz{{{{{{zz{{{z{{{{z{{{{z{{{{{{{z{{zzz{{{{{zzzzz{{{z{{z{{{zzz{{{z{{{zz{{zz{zzzzz{{zzz{{{z{{z{zzz{{z{{zzz{{{{{{{z{{z{{{z{z{zz{z{{z{{{z{zzz{z{{zzzzz{{{{z{{{{zz{{{{{{zzz{{z{zzz{{z{{{zzz{{{{z{{{{{{{{z{z{{{{{{{z{z{{{{{z{z{{{{{z{zz{{{z{{z{zzzzz{{zzzz{z{{{{{{zz{zzzz{z{zz{zz{z{z{{z{z{z{{zz{z{{zz{zzzz{{z{{{{zz{z{zzzzzz{{{z{{{z{{{z{zzz{{{zzzz{{z{{{zzzzzz{z{{zz{zz{zz{z{{z{zz{{z{{{{{{{{zzz{z{zzzz{{{{zzzzzz{z{zzz{zzz{z{{zzzz{{z{{{zzz{z{zz{zz{{{{{zzzzz{z{z{{{z{zzz{zz{{{z{zz{{z{{zzzz{{{{z{z{{{{{z{{z{{{z{{{{{{{{{{z{{{{{{{{{{z{{{{{{{{{{{{{{{{{{{{z{{{{{{{{{z{{{{{{{{{z{{{{{{{{{{{{{{{{z{z{{{{{{{{{{{{{{{{{{{{{{z{{{z{{{{{{{{{{{{{{z{{{{{{{{{{{z{{{{{{{{z{{{{{{{{{{{{{{{{z{{{z{{{{{{{{{{z{{{{{{{{{{{{{{{z{{{{z{zz{{{{{{{{{{{{{z{{{{{{z{{{{{{{{{{{{{{{z{{{{{{{{z{{{{{{{{{{{{{{{{{{{{{{{{{z{{{z{{{z{{{{{z{{{z{{{{{{z{{{{{{{{{{zz{{{{{{{{{{{{{{{{{{{{{{{{{{z{zz{{{{z{{{{{{{{{{z{{{{{{{{{{z{{{{{{{{{{{{z{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{z{{zz{{{{{{{zzz{{z{{{{{{{{z{{{{z{{{{{{{{{{zz{{{{{{{{{{{zzz{{{{{{{{{{{{{{{{{{{{{{{{z{{{{{{{{{{{{{{{{z{{{{{{z{{{z{{{z{{{{{{{{{{{{{{z{{{{{{{{{{zz{{{{{{{{{{z{{{{{{{{{{{{{z{z{{{{z{z{{{{{{{{{{{{{zz{{{{z{{{zz{{{zz{{{{{{{{{z{{{{{z{{{{{{{z{{{{{{{{{{{{{z{{{{{{zz{z{{{{{{z{{z{{{z{{z{{{{z{{z{z{z{{zz{{z{{{z{{{{{{{{{{{z{z{{{{{{z{{{{{{{z{{z{{z{z{{z{zz{{{{{{{z{z{{{{z{{{{{{{{{{z{{{{z{{{{{{{{{{{{{z{{{{zz{{z{{{{{z{{{{{{{z{{{{{{{{{{{{z{{{{{{{z{{{{{z{z{z{{{z{{{{{{z{{{{{{{{{{{{{{z{{{{{{{{{{z{{z{{{z{{{{{{z{{{z{{{{{{z{{{z{{{{{{{{{{{{{{z{{{{{z{{{z{{z{{{{{{{{{z{{{{z{{{z{zz{{{z{{{{{{{{{{{{{{z{{{{{{{{{{{z{{{z{{z{zz{{{{zz{{z{{z{{{{{{{{z{{{zz{{z{{{{z{{{{{{z{{z{{z{{{{z{{{z{{{z{{{{z{{{{{{{{{{{{z{{{{{z{{{{{{z{z{z{{{{z{{{{{{{{{{{z{{{{z{z{z{{{{{z{{{zz{{{z{{z{zz{z{{z{zzz{{z{{{{{{zz{{{z{{{{{{{{{{{{z{{{{{z{{{{{{{{{zz{{z{{zzz{{{{{{{z{{{z{{{{{{{zz{{{{{{z{{z{{{{{{{{{z{{{{{{z{{{{{{{{z{z{{{z{{{{{z{z{z{{{z{{{{{{{z{{{{{z{{{{zz{{{{{{z{{z{z{{z{{{{{{{z{{{zzz{{z{{{zzz{z{{{{{z{z{{{{{{z{z{{{{{{{{{zz{zz{{{z{z{z{{{{{z{{{z{{{{{z{z{{{{{{z{z{z{{{{{{{{{zz{zz{{z{z{z{z{{z{zzzzz{{z{{zzz{{{{{z{z{{z{{{{{{{{{zzz{{{zzz{{{zz{z{{{z{{{{{{zz{{z{z{{{{z{{{zzz{{z{{{{z{z{z{z{{{{z{{{zz{{{{{z{z{{{{{{{zz{{{zzzz{{{{{{z{{{z{zz{{{z{{z{z{zz{z{{{z{{z{z{z{{{{{zzz{{{z{zz{{zzzz{{z{{{{zz{{{{{z{z{zz{{{{z{{{{{{{{{{zz{zzz{{z{zzz{{{{z{{{{zz{{{zz{{z{zz{{{z{{z{{{{z{{z{{z{z{{{{z{{{z{z{{z{{z{{{{z{z{z{zzz{{{{{{z{zz{{{z{{{{{z{{{zz{z{{zz{{z{{{{{{zz{{zzz{{{{z{z{z{{{{zzzzz{z{{{{{z{{{{{z{{z{{{z{{{z{zz{{{{z{{z{z{{z{{zzz{{z{{{{z{z{zz{z{{{zz{{{{zzzz{z{{{{z{{{{{{{z{{{{{z{{z{{{{{{{{{z{{{{z{{{{{{{{z{{{{{{{{{{{{{{z{{{{{{{{{{{{{z{{{{{{{{{{{{{{{{{{{{z{{{{{z{{{{{{{{{{{z{{z{{{{{{{{{{{z{{{{{{{{{{{{{zz{{z{{{{z{{{{{{zz{{{{z{{{{{z{{z{{{{zz{{{{{{{{{{{{{{{{{{{z{{{{{{{{{{{zz{z{{{z{{{{{{{{z{{{zz{z{{{{{{z{{{{{{{{{{z{{{{{{{{{{{{{{{{{{{z{{{zzzz{{{{{{{{{{{{{{{{{{{{z{{{{{{z{{{{z{{z{{{{{{{{{z{{{{{{{{zz{{{{{{{z{{{{{{{{{{{{{z{{z{{{{{z{z{{z{{{{{z{{{{z{{{{{z{z{{{{z{{{{zzzz{{{{{{{{{{{{{{{{{{{z{{z{{z{{{{{{{{{{{z{{zz{{z{{{{{{{{{zz{{z{{{{{{{{{{z{z{{{{{{{{{{{{z{{{{{{{{{{{zz{{{z{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{zzz{{{{{z{{{z{{{{{{{{{z{{{{{{{{{{{z{{{{{{{{{{z{{{{{{{{{{{{zz{{{{{{{{{{{{{{{{{z{{{{{{{{{{{{{zz{{{{{{{{{{{{{z{{{{{{{{{{{{{{z{z{{{{{{{z{{{{{{{{{{{z{{{zz{{{zz{{{{{{{{z{{{{{{{{{{{{{{{{{z{{{{{{z{{{{z{{z{{{z{{{{{{{{{{{{{{{{z{{{{z{{{{{{{{{{{{{z{zz{{{{{{{{{{{z{{{{{{{{{{{{{{zz{{z{z{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{z{{{{{{{{{{{{{{{{z{{{{{{z{{{{{{{{{z{{{{{{{{{{{{{{{{{{z{{{{{{{zz{{{{z{{{z{{{{{{z{{{z{{{{{{{{{{{{{{{{{{{{{{{{{z{{{{{z{{{{{{{{{{{{{{{{z{{z{{{{{{{{{{z{{{{{{{{{{{{{{{{{{{{zz{{{{{{{{{{{{{z{{{{z{{z{{{{z{{{{{{{{{{z{{{{{{{{{{z{{z{{{{{{{z{{{{{zz{{{{{z{{{z{{{{{{{{{{{{{{{{{z{{z{{z{{{{{{{{{{{{{{{{{{z{{{{{{{{{{{{{{{{{{{{{{{z{{{{{{{{z{{{{z{{{{{{{zz{{{z{{{{{{{z{{{{{{{{{{{{{{{{z{{{{{z{{{{{zz{{{{{{zz{{{z{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{z{{{{{{{{{{{{{{z{{{{{z{{{{{{{{{{{z{{{{z{{{{{{{{{z{z{{{{{{{{{{{{{z{{{{{{{{{{{z{{{{z{{{{{{{z{{{{{{{{{{{{{{z{{{{{{{{{{{z{{z{{{{{{{zz{{{{{{{{{{{{z{{{{{z{{{{{{{{{{{{{{{{{{{{{{z{{{{{{{{{{{{z{{{{{z{{{{z{{z{z{{{{{z{{z{{{{{{{{{z{{{{{z{{{{z{{{z{{{{{{{{{{{{{{{{{{{{{z{{{{{z{{{{{{{{{z{{{{{z{{{z{{z{{{{{{{{{{{{{{{zz{{{{z{zz{{{{{{{{{{{{z{{z{{{{{{{{z{{z{{{{{{{{z{{{{{{{{{{{{{{{{z{{zz{z{{z{{{{{{{{{{{z{{{z{{{{{{{{{z{{{{{z{{{zz{{{{{z{{{{{{z{{{{z{{{{z{{{{{zz{{{{z{{{{{{{{{{{{{{{{{{{{{{{{{z{{{{{z{{{{zz{{{{z{z{{{{{{{zz{{{z{{{{{z{{{{{{{z{{{z{{z{{{{{{{{{z{z{{{{{{{{{{{{{{{z{{z{{z{{{{{{{{{{{{{z{{zz{{zz{zz{{{{zz{zz{{{z{{{{{{{{{{{z{{z{{{{z{z{{{{{{{{{{z{{{{{{{{{{{z{{{z{{{{{{{z{{{{{{{{{{{z{{{{{{{{{{{z{{{{{{{{{{{{{{{{{{{{{{{{{{{z{{{{{{{z{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{z{{{{{{{{{{{{{{{{{{z{{{{{{{z{{{{{{zz{{{{zz{{{{{{{{{{{{z{{{{{{z{{z{{{{{{{{{{{{z{{{{{{{{{{{{{{{{{{{z{{{{{{{{{{z{{{{{{{{{{{{{{{{{{{z{{{{{{z{{{{{{{{{{{{{{{{zzzz{{{{{{{{{{z{z{{{{{{{{{{{{{{{{z{{{{{{{{{{z{{z{{{{{{{{{{z{{{{{{{{z{{{{{{{{{{{{{{{{z{{{{{z{z{{{{{{{{z{{{{z{{{{{z{{{{{{{z{{{zz{z{{{{{{z{{{{z{{{{{{{{{{z{{{z{{{{{{{{{{{{{{{{{{{{{{{{{{{z{{{{{{{z{{{{{{{{{{{{{{{{{{{z{z{{{{{{{{{{{z{{{{z{{{{{{{z{{{{{{{{{{{{{{{{{{z{{z{{{{{{{{{z{{{{{zz{{zz{{{{{{{{{{{z{{{{{{{zz{{{{{{{{{{z{{{{{{{{{{{{zz{{{{{{{{{{{{{{{{{{{{z{{{z{{{{{{zz{{{{{z{{{{{z{{{{{{{{{{{{{{z{{{z{{{{{{{{{{{{{{{{{{{{{{{zz{{{zz{{{{{{{{z{z{{{{{{z{{{{{{{{z{{{{{{{{{{{{{{z{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{z{{{{{{{{{{{{{{{z{{{{{{{{{{{{{{zzzzz{{{z{{{{{{{{{{{{z{{{{{{z{{{{{{{{{{{{{{{{{{{{{{z{{{{{{{z{{{{{{{{{{{{{{{{{{{z{{{{{{{{{z{{{{{{{{z{{z{{{{z{{{{{z{{{{{{{{{{{{z{{{{{{{{{{{{{{{{{{{{{{{{{{{z{z{{{z{{{{{z{{{{{{z{{{z{{{{{{{{{{{{zz{{{{{{{{{{z{{{{{{{{{{{{{{{{z{{{{{{{zz{{{{{{{{{{{{{{{{{{{z{{{{{z{{{{{{{{{{zz{{{{{{{{{z{{zz{{{{{{{{{z{{{{{{{{{{{{{{{{{{{{{{{z{{{{z{{{{{{{{{z{{{{{{{{{z{{{{{z{{{{{{{{{z{z{{{{{zz{z{{{{{{{zz{{{zz{{{z{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{z{{{z{z{{{z{{{{zz{{{{{{{{{z{{{{{{{{{z{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{zz{{{{{{{{{{{{{{{{{z{{{{{{{zzz{z{{{{{{{{{{{{{{{{{{{{{{{{{{{{z{{{{{{zz{{{{{{{{{{{{{{{{{{{{{{{{z{{{{{{{{{{{{zz{{{{{{z{{{{{z{{{{{z{{{{{{{{{{{z{{{{{{{{{{z{{z{{{{{{z{{{{{{{{z{{{{z{{{{zz{{{z{{{z{{{z{{{{{{{{{{{{{{{{{{{{{{{{{{{z{{{{{{{{{{{{{{{{z{{{{{{{{{{{{{{{{{{{{{{{z{{{{{z{{{{{{{z{{{{z{{{{{z{z{{{{{{{{{{{{{z{{{{{{{{{{{{{{{{{{{z{{{{{{{{{{{{z{{{{{{zz{zzz{z{{{{z{{{{z{{{{z{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{z{{{{{zz{{{{{{z{{{{z{{{zz{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{z{{{{z{{{{zz{{{{{{z{{{{{{{{{{{{{{{{{{{{{zz{{{{z{{{{{{{{{{{zzz{{z{{{{{{{z{{{{{{z{{{{{{{{{{{{{{{{z{{{z{z{z{{z{{{{{z{z{{{{{{{{{{z{{{{{z{{z{{{{{{z{{{{{{{{{{z{{{{{{{{{{{{{{{{{{{{{{{z{{{{{{{{{{{{{z{{{{{{{z{{{{{{{{{{{z{{{{{z{{{{{{{{{z{z{{{{{{{{z{{{{{{{{{z{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{z{{{{{{{{{{{{{{{{{{{{{{{{{{z{{{{{{z{{{{{z{{{{{{{{{{{{{{{{z{{{z{{{{{{{{{{{{{{{z{{z{{{{{{{{{{{{{{{{{{{{{{{{{{{z{{{{{{{{{z{{{{{z{{{{{{{{{zz{{z{z{{{{{{{{{{{zz{z{{{{z{{{{{z{z{{{{{{{{{{z{{{{{z{{{{{{{{{z{{{z{{{{{{{{{{z{{{{{{{{z{{{{{{z{{{{{{{{{{{{{{{{zz{{{{{{{{{{{{{{{{{{{{{{{{{{{z{{zz{{z{{{{{{z{{{{{z{{{{{{{{{z{{{{{{z{{z{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{z{z{{{z{{z{{{{{{{{z{{{{{{{{{{{{{z{{z{{{{{{{{{{{{{{{{{zzz{{{z{{{{{{{{{{{{{{{{{{{zz{{{{{{{{{{z{{{{{{{{{{{{{{{z{{{{{{{{{z{{{{{{{{z{{{z{{{{{{{z{{{{{z{{{{{{{{{{{{{{{{z{{{{z{{{{{{{{{{{{{{{{{{{z{{{{{{z{{{{zz{z{{{{{{{{{{{{{{{z{{{{{{{{{{{{{{{{{{{{{{{{{{{{{z{{{z{{{{{{{{z{{{z{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{z{{{{{{{{{{{{{zz{z{z{{{{{z{{{{{{{{{{{{{{{z{{{{z{{{{{{{{{{{{{{{{{{{z{{{{{{{zz{{{{{{{{{{{{{{{z{{z{{{{{{{{{{{{{{{{{{z{{{{{{{z{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{z{{{{{z{{{{{z{{{{z{{{{{{{{{{{{{{{{{{{{{{{{{z{{{{z{{{{{{{{{{{z{{{{{{{z{{{{zz{{{{{{{{{{{{z{{{{{{z{{{{{z{{{{{{{{{{{{{{z{{{{{{{{{z{{{{{{{{{{z{{{{{{z{{{{{{z{{{{{{{z{z{{{{{{{{{{{{{{z{z{{{{{z{{{{{z{{{{{{z{{{{{{{{{{{{zz{{{{{{{{{{{{{z{z{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{z{{{{{z{{{{{{{{z{{{{{{{{{z{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{z{{{{{{{{{{{{{{{z{{{z{{{{{{{{zz{z{{{{{{z{{{{{{{{{{{{z{{zz{{{{{{{{{{{{{{{{{{{{{{{{{{{{{z{{{{{{{{{{z{{{{{{{{{{{{{{{{{{{{z{{{z{{{z{{{{{{{z{zz{{{{{{{{{{{{{{{{{z{{{{{{{{{{{{{{{z{{{{{{{{{z{{{{{{{{{{{{{{{z{{{{{{{{{{z{{{{{{{{{{{{{{{{z{{{z{{{{{z{{{{{{{z{{{{{{{z{{{{{{{{{{{{{{{{{{{{z{{{{z{{{{{z{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{z{z{{{{{{{{{{{{{z{{{{{{{{{{{{{{{{{{z{{{{{{{{{{{{{z{{{{{{{{{{zz{z{{{{z{{z{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{z{{z{{{{{{z{{z{{{{{{{z{{z{{{{{zz{z{{{{{z{{{{{{{{{{{z{{{{{{{{{{{{{{{{{{{{{z{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{z{{{z{{{{{{z{{{{{{zz{{{{{{{{{{{{{{{{{{{{z{{{{{z{{z{{{{zz{{{{z{{{{{{{{{{z{z{{{{{{{{{{{{{{{{{z{{{{{{{z{{{{{z{{{{{{{{{{{{{{{{z{{{{{{{z{{{{{{{{{{z{{{{{{{{{{{z{{{{{{{{{{z{{{{z{{{{{{{{{{{{{{{z{{{{{{{{{{{{{{{{{{{{z{{{{{{z{{{{z{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{z{{z{{{{{z{{{z{{{{{{{{{{{{z{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{z{z{{{{{{{{{{{{{{{z{{z{z{{{{{{{{{{{{{{{{{{{z{{{{{{{{{{{{{{{{{{{{{{{{{{{{{z{{{{{{{{{{{{{{{{{{{z{z{{{{{{{{{{{{{{{{{{{{{{{{z{{{z{z{{{{{{{{{{zz{{{z{{{{{{{{{{{{{{{{{{{z{zz{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{z{{{{{{{z{{z{{{{{{{{{{{{{{{{{{{{{{{z{{{{{z{{{{{{{z{z{{{{{{{{{zz{z{z{z{{{{z{{{{{{{{{{{zz{zz{{{z{{{{{{{{{{{{{{{{{{{{z{{{{{{{{{{z{{z{{{z{{{{{{{{z{{{{{{{{z{{{{z{{{{z{{{z{{{{{{{z{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{z{{{{{{{{{{{z{{{z{{{{{{{{{{{{{{z{{{{{{{{{{z{z{{{{{{{{{{{z{{{{z{{{z{{{{{{{{{{{{{{{{{{{{{{{{z{{{{{{{{{{{{{{{{{{{{{{{z{{{{{{{{{zz{{{{{{{{{{{{{{z{{{{{{{zz{zz{{{{{{{{{{{{{z{{{{{{{{{{{{{{{{zz{{{{{{{{{{{{{{{z{{{z{{{{{{{{{{{{{{{{{{z{z{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{z{{{{{{{{{{{{{z{zz{{{{z{{{{{{{{{{{{{{{z{{{{{{{{{{{z{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{z{{{z{{z{{{{{{{{zz{{{{{z{{{z{z{{{{{{{{{{{{{{z{{{{{{{{{z{{{{{{{{{{{{{{z{{{{{{{{{z{z{z{{{z{zz{{{{{{{{{{{{{{zz{{{{{{{{{{{z{{{{{{{{{z{{{{{{{{{{{{{{{{{{{{{{{{{{z{{{{z{{{z{{{{{{{{{{{{{{{{{z{{{{{{{z{{{{z{{{{{{{{{z{{{{{{{{{z{z{{{z{{z{{{{{{{{{{{{z{{{{z{{{{{{{{{{{{{{{{{{{{{{{z{{{{{{{{{z{{{{{{{{{{{{{{{{{{{{{{z{{{{{z{{{{z{{{{{{{{{{{{{z{{{{{{{{{{z{{{{{{{{{{z{{{zz{{{{{{{{{{{{{{{z{{{{{{{{z{{{{{zz{{{{{{{{{{{{{{{z{{{{z{{{{{{{z{{{{{{{{{{{{{{{z{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{zz{{{{{{{{{{{{{{{z{{{{{{{{{{{{{{{{{z{{{{{{{z{{z{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{zz{{{{z{{{{{{{{z{{{{{{{{{{{{{{{{z{z{{z{{{{{{{{{{z{{{{{{{{{{zz{z{z{{{{z{{{{{{{{{{{{{{{{{{zz{{{{{{{{{{{{{{{{{{{{{z{{{{{{{{{{{{{{{{{{{{{{zz{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{z{{{{{{{{{{{{{{{{z{{{{{{{{{{{{{{{{{{z{{z{{{z{{{{{{z{{{{{{{z{{{z{{{{{z{{{{{{{{{{{z{{{zz{{z{{{{{z{{{{z{{{{{{{{{{z{z{{{{{{{{{z{{{{z{{{{{{{{{{z{{{{{{{{{{{{{{{{{{{{z{{{{{{z{{{{{{{{{{{{{z{{{{{{{{{z{{{{{{{{{{z{{{{{{{{{{{{{{{{{{{{{{{{{{zz{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{z{{{{{{{{{{{{{{{{{{{{z{{{{{{{{{{{{z{{{{{{{{{{{{{{{{{{{{{{{{{{{{{z{{{{{{{z{{{{{{{{{{{{{{{z{{{{{z{{{{z{{{{{{{{{{{{z{{{{{{{{{{{{{z{{{{{{{{{{{{{{{{{{{{{z{{{{z{{{{{{{{{{{{{{{{{{{{{z{{{{{{{{{{{{zz{z{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{z{{{{{{{{{{{{{{{{{{{z{{{{{{z{{{z{z{{{{{{{{{{z{{{{{{{{{{{{{{{{{{{z{{{{{z{{{{{{{{z{{{{{{{{{{{{{z{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{z{{{{{{{{{z{{{{{{{{{{{{{{{{{{{{{{{z{{{{{{{{{{{{{z{z{{{{{{{{{zz{z{{{{{{{{{{{{{{{z{{{{z{{{z{{{{{{z{{{{{{z{{{{{{{{{{z{{{{{{{{{{z{{z{{{{{{{{{{{{z{{{{{zz{{{{{{z{{{{{{{{{{{{{{{{zz{z{{{{{{{{{{{{{{{{{{{{z{{{{{{{{z{{z{{{{z{{{{{{{{{{{{{{{{{{{{{{z{{{{{{{{{{{{{{{{{{{{z{{{{{{{{{{{{{{{{z{{{{{{z{{{{{{{{{{{z{{{{{{{{{{{{{{{{zz{{{{{{{{{z{{{{{{{{{{{{z{{z{{z{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{z{{{{z{{{{{{{{{{{z{{{{{{{{{{{{{zz{{{{{{{{{{{{{{{{{{{{{{{{z{{{{{{{{{{{{{z{{{{{{{{{{z{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{zz{{{{{{{{{z{{{{{{z{{{z{z{z{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{z{{{{z{{{{{{{z{{{{{{{{{z{{{{{{{{z{{{{{{{{{{{{{{{{{z{{{{{{{{{{{{{{z{{{{{{{{{{{zz{{{{z{z{{{{{{z{{{{z{{{zz{{{{{{{{{{{z{{{{{{{{zz{{{{{{{{{{{{{{{{{{{{{{{{{{z{{z{{{{{z{{z{{z{{{{{{{{{{{{{{{{{{{z{{{{{{{{{{{{{{z{{{{{{{{{z{z{{{{{{{{{{{{{{{{{{{{{{{{z{{{z{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{z{{{{{{{{zz{{{{{{{{z{{{{{z{{{{{{{{{{{{{{{{{{{{{z{{{{{{{{{{{{{{{{{{z{{{zz{{{{{{{{{{{{{{{{{{{{{{{{{{z{{{{{{{{{{{{{{{{{{{{{{{{{z{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{z{{{{{{{{{{z{{{zz{{{{{{{{{{{z{{{z{{{{{{{{{{z{{{{{{{{{{{{{{{{{{{{{z{z{{zz{{{{{{{{{{{{{z{{{{{{{{{z{z{{{{{zz{{z{{{{{{{{{{{{z{{{{{{z{z{{{{{{{{{{{{{{{{{{z{{{{{{{{{{{{{{{{{{{z{{{{{{{{{{{{{{{{{{{{{{z{{{{{{{{{{{{z{{z{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{z{{{{z{{{{{{{{{{{{{{{{{{{{{{{{{zz{{z{z{{{{z{{{{{{{{{{{{{z{{{{{{z{{{{{{{{{{z{{{{{{{{{{{{z{{{{{{{{{{{z{{{{{{{{{{{{{{{{z{{{{{{{{{{{{{{z{{{{{{{z{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{z{{{{{{{{{{z{{{{{{{{{{{{{{{{{{{{{{{z{{z{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{z{{{{{{{{{{{{{{z{{{{{zz{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{z{{{{{{{{{{{{{{{{{{{{{{{z{{{{{z{{{{{{{{{{{{{{z{{z{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{z{{{{{{{{{{{{{{{{{{{{z{{{{{{{{{{{{{z{{{{{{{z{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{z{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{z{{{{{{z{{{{{{{{{{{{{z{{{{{z{{{{{{{{{{{{{{{{{{{{{{{{{{{{{z{{{{z{{{{{{{{{{{{{{{{{{{{{z{{z{{z{{{{{{{{{{{{{{z{{{{z{{{{{{{{{{{{{{{{{{{{{{{{{{{z{{{{{{{{{{{{{{{{{{{{{z{z{{{{{{{{{{{{{{{{{{{{z{{{{{zz{{{{{{{{{{{{{{{{{{{{{{{{{{z{z{{{{{{z{{{{{{{{{{{{z{{{{{z{{{{{{{z{{{{{{{{{{{{{{{{zz{{{{{{{{{{{{{{{{{{{{{{{{{{z{{{z{z{{{{{{z{{{{z{{{{z{z{{{{{{{{{{z{{{{{{{{{{{{{{{z{{{{z{{{{{{{{{{{{{{{{z{{{{{{z{z{{{{{{{{{z{z{{{{{{{{{{{{{{{{{{{{{{{{{z{{{{{{z{{{z{z{{{z{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{z{{{{z{{{{{{{{{{{{{{{{{{{{{{{{{zzz{{{{{{{{{{{{{z{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{z{{{{{{{z{{{{{{{{{{{{{{{{{{{{z{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{z{{{{{z{{{{{{{{z{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{z{{{{{{{{{{{{{{{{{{{z{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{z{{{{{{{{z{{{{{{{{{{{{{z{{{{{{{{{{z{{{{{{{{{{{{{{{{{{{{{{{{{zz{{{{{{{{{{{{{{{z{{z{{{{{{{{{{{{{{{{{{{{{{z{z{{{{{{{z{{{{z{{{{{z{{{z{{{{{{{{{{{{{{{{{{{{{{{{{{z{{{z{{{{{{{{z{{{{{{{{z{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{zz{{{{{{{{{{{{{{{{{{{{{{z{{{zz{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{z{{{{{{{{{{z{{{{{{{{{{{{{{{z{{{{z{{{{{{{{{{{{{{z{{{{{{{{{z{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{z{{{{{{{{{{{{{{z{{{{{{{{{{{{{{{z{{{{{{{{{{z{{{{{{{{{{{{{{zz{{{{{{{{zzz{{{{{{z{{z{{{{{{{{{z{{z{{{{{{z{{{{{{{{{{{{{{{{{{{{z{{{{{{{{z{{{{{{{{{{{z{{{{{{{{{{{{{{{z{{{{{{{{{{{{{{{{{{z{{{{z{{z{{{{z{{{{{{{{{{{{z{{{{{{{{{{{{{{{{z{{{{{{{{{{z{{{{{{{{{z{{{{{z{{{{{{{{{z{z{{{{{{{z{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{z{{{z{{{{z{{{{{{{{{{{{{{{z{{{{{{z{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{z{{{{{{{{{{{{{{{{{{{{{{{{{z{{{{{{z{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{z{{{{{{{{{{{{{{{{{{{{{{{{{{{{{z{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{z{{{z{z{{{{{{{{{{{{{{{{{{{{{{{{{{z{{{z{{z{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{z{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{z{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{z{{{{{{zz{{{{{{{{{{{{{{{{{{z{{{{{{{{{z{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{z{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{z{{{{{{z{{z{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{z{{{{{{{{z{{{{{{{{{{{{{{{{{{{{{{{{{{z{{{{{{{{{{{{{{{{{{{{{{{z{{{{{{{{{{{{{{{{{{{{{{{{{{{{z{{{{{{{{{{{{{{{{{z{{{{{{{{{z{{{z{{{{{{{{{{{{{{{{{{{{{{z{{{{{{{{{{{z{{{{{{{{z{{{{{{{{{{{{{{{{{{{{{{{{{z{{{{{z{{{{{{{{{{{{z{z{{{{{{{{{{{{{{{{z{{{{{{{{z{{{{{{{{{{{{z{{{{{{{{{{{{{{{{{{{{{{{{{{{z{{{{{z{{{{{{{{z{{{{{{{{{{{{{{{{{{{{{{{{{{{z{{z{{{{{{{{{{z{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{z{{{{{{{{{{{{{{{{{{{{{z{{{{{{{{{{{z{{{{{z{{{{{{{{{{{{{{{{{{{z{{{{z{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{z{{{{{z{{{{{{{{{{{{{z{{{{{{{{{{{{{{{{{{{{{z{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{z{{{z{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{z{{{{{{{{{{{{{{{{{{{{{zz{{{{{{{{{{{{{{{{{{{{{{z{z{{{{{{{{{{{{{{{{{{{{{{{{{{z{{{{{{{{{{z{{{z{{{{{{z{{{{{{{{{{{{{{{{{{{{{{z{{{{{{{{{{{{{{{{{{{{{{{{{{{z{{{{{{{{{{{{{{{z{{{{{{{{{z{{{{{{{{zz{{{{{{{{{{{{{{{{{{{{{{z{{{z{{{{{{{{{{{{{{{{{{{{{{z{{{{{{{{{z{{{{{{{{z{{{{{{{{{{{{{{{{{z{{{{z{{{{{{{{{{z{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{z{{{{{{{{{z{{{{{{{{{{{z{{{z{{{{z{{{{{{{{{{{{{z{z{z{{{{{{{{{{{{{{{z{{{{{{{z{{zz{{{{{z{z{z{{{{{{{{{{{{{{{{{{{{{{{{{{{zz{{{{{{{{{{{{{{{{{{{{{{{{{{{{z{{z{{{{{{{{z{{{{{{{{{{{{{{{{{z{{{{{{z{{{{{{z{{z{{{{{{{z{{{{z{{{{{{{{{{{{z{{{{{{{{{{z{{{{zz{{{{z{{{z{z{{z{{{{{{{{{{{{{{{{{{{{{{z{{{{{{{{{z{{{{{{{{{{{{{{{{{{z{{{{{{{{z{{{{{{{{{{{{{{{{z{{{{{{{{{{{{z{{{{{{{{{{{z{{{{{{z{{{{{z{{{{{{z{{{{{{{{{{{{{{{{{{{{{{{z{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{z{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{z{{{{{{{{{{{{{{{{{{{{{{z{{{{{{{{{z{{{{{{{{{{{z{{{{{{{{{{{{{{{z{{{{{{{{{{{{{z{{z{{{{{{{{{{{{{{{{{{{{{{{{zz{{{{{{{{{{{{z{{{{{{{{{{{{{{{{{{{{z{{{{z{{{{{{{{{{{{{{{{{{{{{{{{{{z{{{z{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{z{{{{{{{{{z{{{{{{{{{{{{{{{{z{{{{{{{{zz{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{z{{{{{{{{{{{{{z{{{{{{{{{{{z{{{{{{{{{{{{{{{{{{{{z{{{{{{{{{{{{{{{{{{{{{{{{z{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{z{{{{{{{{{{{{{{{{{{{{{{{z{{{{{{{{{{{z{{{{{{{{{{z{{{{{{{{{{{{{{{z{{{{{{{{{{{{{{{{{{z{{{{{{{{{{{{{{{{{{{{{{{{z{{z{{{{{{{{{{z{{{{{{{{{{{{z{{{{{{{{{z{{{{{{{{{{{z{z{{{{{{{{z{{{{{{{{{{{{{{{{{z{{{{{z{{{{{z{{{{{{{{{{{{z{{{{{{{{{{{{{{{{{{z{{{{{z{{{{{{{z{{z{{{{z{{{{{{{{{{{{{{{z{{{{{{{{{{{{{{{{{{{{{{{{{{z{{{{{{z{{{{{{{{{{{{{{{{{{{{{{{z{{{{{{{{{{z{{{{{{{{{{{{{{{{{{{{{{{{{zz{{{{{{{{{{{{{{z{{{{{{{{{{{{{{{{{{{{{z{{{z{{{{{{{{{{{{z{{{{{{{{{{{{{{{{{{{{{{{{{z{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{z{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{z{{{z{{{{{z{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{z{{{{{{{{{{{{{{{{{{{{{{{z{{{{{{{z{{{{{{{{z{{z{{{{{{z{{{{{{{{{{{{{{{{z{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{z{{{z{{{{{{{{{{zz{{{{{{{{zz{{{{{{{{z{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{z{{{{{{{{{{{{{{{{{{{{{{{{{{{z{{{{{{{{{{{{{{{{{z{{{{z{{{{{{{{{{z{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{z{z{{{{{{z{{{{{{{{{{{{{z{{{{{{{{{{{{{{{{{{{z{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{z{z{{{{{{{{z{{{{{{{{{{{{{{{{{{{{z{{{z{{{{z{{{{z{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{z{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{z{{{{{{{{z{{{{z{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{z{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{z{{{{{{{{{{{{{{{{{{{{{{z{z{{{{{{{{{{{{{{{{{{{z{{{{{{{{{{{{{{{{{z{{{{{{{{{{{{{{{{{{{{{{{z{{{{{{{{{{{{{{{{{{{{{{{{{{{{{z{{{{{z{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{z{{{{{{{z{{{{{{{{{{{{{{{{{{{{z{{{{{{{{{{{{{{{{{{{z{{{{{zz{{{{{{z{{{{{{{{{{{{{{{{{{{{{{{{{z{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{z{{{{{{{{{{{{{{{{{{{{{{{{z{{{{{{{{{{{{{{{{{{zz{{{{{{{{{{{{{{{{{{{{{{{{z{z{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{z{{{{{{{{{{{{z{{{{{{{{{{z{{{{{{{{{{{{{{{{{{{{{z{{{{{z{{{{{{{{{{z{{{{{{{{{{{{{{{{{{z{{{{{{{{z{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{z{{{{{{{{{{{{{{{{{{{{{{{{{z{{{{{{{{{z{{{{{{{z{{z{{{{{{{{{{{z{{{z{{{{{{{{{{z{z{{{{{{{{{{{{{{{{{{{zz{{{{{{{{{z{{{{{{{{{{{{z{{{{{{{{{{{{{{{{{{{{{{{z{{{{{{z{{{zz{z{{{{{{{{{{{{{z{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{z{{{{{{{{{{{{{{{{{z{z{{{{{z{{{{{{{z{{z{{{{{{{{{z{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{z{z{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{z{{{{{{{{{{{{{{{{{{{{{{{{z{{{{{{{{{{{{{{{z{{{{{{{{{z{{{{{{{{{{{zz{{{{{{{{{z{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{z{{{{{{{{{{{{{{{z{{{{{{{{{{{{{{{{{{{z{{{{{{{{{{{{{{{{{{{{z{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{z{{{{z{{z{{{{{{z{{{{{{{{z{{{{{{{{{{{{{{{{{{{{{{{{{{{z{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{z{{{{{{{{{{z{{{{{{{{{{{{{{{{{{z{{{{{{{{{{{{{{{{{{z{{{z{{{{{{{z{{{{{{{{z{{{{{{{{{z{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{z{{{{{{{{{{{{{{{{{{{{{{{z{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{z{{{{{{{{{{{{{{{{{{{z{{z{{{{{{{{{{{{{{{{{{{{{{{{z{{{{{{{{{{{{{z{{{{{{{{z{{{{{{{{{{{{{{z{{{{{{{{{{{{{z{{{{{{{{{{{{{{{{{z{{z{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{z{{{{{{z{{{{{{{{{{{{{{{{{{{{{{z{{{{{{{{{{z{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{z{{{{{{{{{z{{z{{z{{{{z{{{{{{{{{{{{{{{{{{{{{{{z{{{{{z{{{{{{{{{z{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{z{{{{{{{{{{{{{{{{{{{{{{{{{z{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{z{{{{{{{{z{{{{{{{{{{z{{{{{z{{{{{{{{{z{{{{{{{z{{{{{{{{{{{z{z{{{z{{{{{{{{{{{{{{{{{{{{{{{{z{{{{{{{{z{{{{{{{{{{{{{{{{z{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{z{{{{{{{{{z{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{z{{{{{{{{{{z{{{{{{{{{{{{{{{{{{{{z{{{{{{{{{{{{{{{{{z{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{z{{{{{{{{{{zz{{{{{{{{{{{z{z{{{{{{{{{{{{{{z{{{z{{z{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{z{{{{{{{{{{{{{{{{{{{zz{{{{{{{{{{{{{z{{{{{{{{{{{{{{{{{{{{{{{zz{{{{{{z{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{z{{{{{{{{{{z{{{{{{{{{{{{{{{{{z{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{z{{{{{{{{{z{{{{{{{{{{{{{{{{{{{{{{z{{{{{{{{{{z{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{zz{{{{{{{{{{{{{{{{{{{{{{{{z{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{z{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{z{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{z{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{z{{{{{{{{{{{{{{{z{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{z{{{{{{{{{{{{{{{{{{{{{{{z{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{z{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{z{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{z{{{{{{{{{{{{{{{z{z{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{z{{{{{{{{{{{{{{{{zz{{{{{{z{{{{{{z{{{{{{{{{{{{{{{{{{{{{{{z{{{{{{{{{{{{{z{{{{{{{{{{{{{{{{{{{{{{{{{{z{{{z{{{{{{{{z{{{{{{{zz{zz{{{{{{{{{{{{{{{{{{{{{{{{{{{{{z{{{{{{{{{{{{{z{{{{{{{{{{{{{{{{z{{{{{{{{{{{{{{{{{{z{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{z{{{{{{{{{{{{{{z{{{{{{{{{{{z{{{{{{{{{{{{{{{z{{{{{z{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{z{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{z{{{{{{{{{z{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{z{{{{{{{{{{{{{{{{{{{{{{{{{z{{{{{{{z{{{{{{{{{{{z{{{{{{{{{{{{{{{{{z{{{{z{{{{{{{{{{{{{{{{{{z{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{z{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{z{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{z{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{z{{{{{{{{{{{{{{{{{z{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{z{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{z{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{z{{{z{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{z{{{{{z{{{{{{{{{{{{z{z{{{{{{{{{{{{{{{{{{z{z{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{z{{{{{{{{{{{{{{{{{{{{z{{{{{{{{{z{{{{{{{{{{{{{{{{{z{{z{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{z{{{{{{{{{{{{{{{{{{{{{{{z{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{z{z{{{{{{{{{{{{{{{{z{{{{{{{{{{{{{{{{{{{{{{{z{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{z{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{z{{{{{{{{{{z{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{z{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{z{{{{{{{{{{{{{{{z{{{{{{{{{z{{{{{{{{{{{{{{zz{{{{{{{{{{z{{{{{{{{{z{{{z{{{{{{{{{{{z{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{z{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{z{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{z{{{{{{{{{z{{{{{{{{{{{{{{{{{{{{{z{{{{{{{{{{{{{{{{{{{{{{{{{{{{z{{{{{{z{{{{{{{z{{{{{{{{{{{z{z{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{z{{{{{{{{{z{{{{{{{{{{{{{{{{{{{{{{{{{{{{{zz{{{{{{{{z{{{{{{{{{{{{{{{{{{{{{{{{{{{{{z{z{{{{{{{{z{{{{{{{{z{{{{{{{{{{{{{{{{z{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{z{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{z{{{{{{{{z{{{{{{{{{{{{{{{z{{{{{{{{{{{{z{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{z{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{z{{{{{z{{z{{{{{{{{{zz{{{z{{{{z{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{z{{{{{{{{{{{{{{{z{{{{{{{{{{{{{{{{{{{{{{{{{{{z{{{{{{{z{{{{{{{{{{{z{{{{{{{{{{{{{{{{{{{{{{{{{{{{z{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{z{{{z{{{{{{{{{{{z{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{z{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{z{{{{{{{{{{{{z{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{z{{{{{{{{{{{{{{{{{{z{{{{{{{{{{{z{{{{{{{{{{z{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{z{{{{{{{{{{{{{{{{z{{{{z{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{z{{{{z{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{z{{{{{{{{{{{{{{{{{{{{{{{z{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{z{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{z{{{{{{{z{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{z{{{{{{{{{{{{z{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{z{z{{{{{{{{{{{{{{{{{{{{{{{{{{{{z{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{z{{{{{{{{{{{{{{{{{{{{{{{z{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{z{{{{{{{{{{{{{{{{{{{{{z{{{{{{{{{{{{{{{{{{{{{z{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{z{{{z{{{{{{{{{z{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{z{{{{{{{{{{{{{{z{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{z{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{z{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{z{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{z{{{{{{{{z{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{z{{{{{{{{{{z{{{{{{{{{{{{{{{{{{{z{{{{z{z{{{{{{{{{{{{{z{{{{{{{{{{{{{{{{{z{{{{z{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{z{{{{{{{{{{{{z{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{z{{{{{{{{{{{{z{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{z{{{{{{{{{{{{{{{{{{{{{{z{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{z{{{{{{{{{{{{{{{{{{{{{{{{{z{{{{zz{{{{{{{{{{{{{{{{{{{{{{{{{{{z{{{{{{{{{{z{{{{{{z{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{z{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{z{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{z{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{z{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{zz{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{z{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{z{{{{{{{{{{{{{{z{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{z{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{z{{{z{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{z{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{z{{{{z{{{{{{{{{{{{{{{{{{{{{{{z{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{z{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{z{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{z{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{zz{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{z{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{z{{{{{{{{{{{{{{{{{{{{{{z{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{z{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{z{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{z{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{z{{{{{{{{{{{{{{{{{{{z{{{{z{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{z{{{{{{{{{{{{z{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{z{{{{{{{{{{z{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{z{{{{{{{{{{{{{{{{{{{{{{{zz{{{{{{z{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{z{{{{{{{{{z{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{z{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{z{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{z{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{z{{{{{{{{{{{{{{{{{{z{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{z{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{z{{{{{{{{{{{{{{z{z{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{z{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{z{{{{{{{{{z{{{{{{{{{z{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{z{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{z{{{{{z{{{{{{{{z{{{{{{{{{{{{{z{{{{{{{{{{{{{{z{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{z{{{{{{{{{{{{{{{{{{{z{{{{{{{{{{{{{{{{{{{{{{z{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{z{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{z{{{{{{{{{{{{{{{{{{{{{{{{{{{{z{{{{{{{{{{{z{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{z{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{z{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{z{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{z{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{z{{z{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{z{{{{{{{{{{{{{{{{{{{{{{{{{{z{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{z{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{zz{{{{{{{{{{{{{{{{{{{z{{{{z{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{z{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{z{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{z{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{z{{{{{{{z{{{{{{{{{{{{{{z{{{{{{{z{{{{{{{{{{{{{{{{{{{{{{{{{{{z{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{z{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{z{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{z{{{{{{{{{{{{{{{{z{{{{{{{{{{{{{z{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{z{{{{{{{{{{{{{{{{{{{{{{{{{{z{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{z{{{{z{{{{{{{{{{{{{{{{{{{z{{z{{{{{{{{{{{{{{{{{{{{{{{{{{{{{z{{{z{{{{{{{{{{{{z{{{{{{{{{{{{{{{{{{{{{{{{{{z{{{{{{z{{{{{{{{{{{{z{{{{{{{{{{{{{{{{{{z{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{z{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{z{{{{{{{{{{{{{z{{{{z{{{{{{{{z{z{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{z{{{{{{{{{{{{{{{z{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{z{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{z{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{z{z{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{z{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{z{{{{{{{{{{z{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{z{{{{{{{{{{{{{{{{z{{{{{{{z{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{z{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{z{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{z{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{z{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{z{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{z{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{z{{{{{z{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{z{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{z{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{z{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{z{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{z{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{z{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{z{{{{{{{{{{{z{{{{{{{{{{{{{{{{{{{{{z{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{z{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{z{{{{{{{{{{{{{{{{{{{{{{{{{{{z{{z{{{{{{{{{{{{{{{{{{{{z{{{{{{{{{{{{{{{{{{{{z{{{{{{{{{{z{{{{{{{{{{{{{{{{{{{{{{{{z{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{z{{{{{{{{{{{{{{z{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{z{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{z{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{z{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{z{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{z{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{z{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{zz{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{z{{{{{{{z{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{z{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{z{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{z{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{z{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{z{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{z{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{z{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{z{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{z{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{z{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{z{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{z{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{z{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{z{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{z{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{z{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{z{z{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{z{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{z{{{{{{{{{{{{{{{{{z{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{|{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{|{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{|{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{|{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{z{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{z{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{|{{{{{{{|{{{{{{|{{{{{{{{{{{{|{{{{{{{|{{|{{{{{{|{{{{{{{{{{{{{|{{{|{{|{{{{{{{|{{{{{{|{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{|{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{|{{|{{|{{{{{{{|{{{{{|{{{{{{{{{{{{{{{{|{{{{{{{{{{|{{{{{{{{{{{{|{{{{{{{{|{|{{{{{{{|{{{|{{{{{{{{|{{{{{|{{{{{{|{{{{{|{{{{{{{{{{{|{{{{{{{{{{{{{{{{{|{{{{{|{{{{{{{{{{{{{{{{|{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{||{|{{|{{{{{{{{{{{{|{{{{{{{{{{{|{{{{{{{{{{{{{{{{{{{{{{{{{{|{{{|{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{|{{{{{|{{{{{{|{{|{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{|{{{{{{{{{{{{{{{{{{{{|{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{|{{{{|{{{{{{{{{{{{{{{{{{{|{{{{{{{{{{{{{{{{|{{{{{{{|{|{{{{{|{{{{{{{{{{{{|{{{{|{{{{{{{{{{{{{{{{{{{{|{{{{{{{{{{{{{{|{{{{{{{{{{{{{{{{{{|{{{{{{{{{{{{{{{{|{{{{{{{{{{|{{{{{{{{{{|{{{{{{{{{{{{{{{||{{{{{{{{{{{{{|{{{{{{{{{|{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{|{|{{{{{{{{{{{{{{{|{{{{{{{{{|{{{|{{{|{{{{{|{{{{{{{{{{{{{{{{{{{{{{{{{{{{|{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{||{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{|{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{|{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{|{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{|{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{|{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{|{{{{{{{{{{{{{{{{{{{{{|{{{|{{{{|{{|{{{{{{|{|{{{{{{{{{{|{{{{{{{{{{{{{{{{{{{{{{{|{{{{{{{{{{{|{{|{{{{{|{{{{{{{{{{{{{{{{{{{{{{{|{{{{{{{{{{{{{{{{{{{{{{|{{{{{{{{{{{|{{{{{{{{{{{|{|{{{{|{{{|{{|{{{{{{{{{{{{{{{{{{{{{{{{{{|{{{|{{{|{|{{{||{{{{|{|{{{{{{||{|{{{|{{{{{{|{{{{{{{{|{{{{{{{|{|{{|{{{{{|{{{{{{{{{{|{{{{{{{{{|{{{{{{{{{{{{||{{{{{{{{{{{{{|{{{{{{{|{{{{{{{{{{{{{|{|{{|{{{{{{{{{{{{{{{{{{{{{{{|{{|{{{|{{{{{{{{|{{{{{{{{{{{{{{{||{{{|{{{{{{{{{{|{{{|{{|{{{{{|{{{|{{{{{{{{{{{{{{{{{{{{{{|{{{{{{{|{{{{{{{{{{|{{{|{{{|{{{{{{{|{|{{{||{|{{{|{{|{{{{{||{{{{{||{{{{{|{{{{{{{{{{{{|{{{|{{{{{{||{{{{{{{{{{|{|{{{{{{{{{{{|{|{{{|{{|{{{{{||{{|{{{{{{{{{{{{{{|{{|{|{{{{{{{{{{{|{{{{{{{{{|{{{{{{{{{{{{{{{{{{{{{{{{{{|{{{{{{{{{{{{|{{{{|{{{{{{{{{{{{|{{{{{|{{{{{{{{{{|{{|{{{{{{|{{|{{|{{||{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{|{|{{{{{{{{{{|{{{{|{{{{{{{{{||{|{{{|{{|{{{{{{{|{{{{{{{{{{{{{{{{|{{{{{{{{{{{{|||{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{|{{{{{|{{{{{{{{{|{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{|{{{{{{{{|{{{{{{{{{|{{{{|{{{{|{{{{|{{{{|{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{||{{{{{{{{{{{{{{{{{{{{{{{{{{{{{|{{{|{|{{{{{|{{{{{{{{{{{|{{{{{|{{|{{{{|{{{{{{{{{{{{|{{{{{{{{{{{{{{{{{{{|{{{|{{|{{{{{{{{{{|{{{{{{{{{{{{{{{{{{{{{{{{{{{|{{{{{{{{{{{{{{{{{{{{{{{{|{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{|{{{{{|{|{{|{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{|{{{|{{{{{{{{{{{{{{{{{|{{{{{{{{{||||{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{|{{{{{|{{{|{{{{{|{{{{{{{{{{{{{{{{{{{{{{|{{{{{{{{{{{|{{{{{{{{{{|{{{{{{{{{{||{{{{{|{{{{|{|{{{{{|{{{{{{{{{|{{{{{{{{{{{{{{{{{{{{{|{{{{{{{{|{{{{{{{{{{{|{{{{{{{{{{{{{{{|{{{{{||{{{{{|{{{||{{{{{{{{{{{{{{{{{{{|{{{{{{{{{{{{{{{{{{{{{{{{|{{{{{{{{{{{|{{{{{{{{{{|{{|{{|{{{{{{{{{{{{{{{{{{{{{{{|{{{{{{{|{{{{{{{{{{{{{{{|{{{{|{{{{{{{{{{{{{{{{{{{{{|{{{{{{{{{{{{{{{{{{{{{{|{{{{{{{{{|{{{{{{{|{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{|{{{{{{{{{{{{{{{{{{{{{|{{{{{{{|{{{{|{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{|{{{{{|{{{{{{{{{{|{{|{{{{{{{{|{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{|{{{{{{{{{{{{{{{{{{{{{{{{{{|{{{{{{{{{{|{{{{|{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{|{{{{{{{{{{{{{{{{{|{{|{{{{{{{{{{{|{{{{{{{{{||{{{|{{{{{{{{|{{{{{{{{{{{{|{{{{{{{{{{|{{{{|{{{{{{{{{{{{{{{||{{{{{{{{{{{|{{{{{{||{{|{{{|{{{{{{{|{{{{|{{{{{{|{{{{|{{{{{{{{{{{{{{{|{{{{|{{{{|{{{{{{{{{|{{{{|{{|{{{{{{{{|{{{{{{{{{{{{{{{{|{|{{{{{{{{{{{{{{{{{||{{{{{{{{|{{{{{{{{{|{{{{{{{{{|{{{{{{{{{|{{{{{{{{{{{{{{{{{||{{{|{{|{{{{{{{{{{|{{{{{{|{{{{{{{{{{{{{{{{{{{{|{{{{{|{{{{{||{|{{{{{{{{{{{{{{{{{{{{{{{{{{{{{|{|{{{{||{{{{{{{{{{{{{{{{{{{{{{{{{{||{{{{{{{{{{{{|{{{{{{{{{{{{{{|{{{{{{{{{{{{{{|{{|{{{|{{{{{|{{{{{{{{{{{|{{{{{{|{|{{{||{|{{{{{{{|{{{{|{{{{{{{{{{{{{{{{{{{{{{{{{{|{{{|{|{{{{{{{|{{{{{{{{|{{|{{{|{{{{||{{|{{{{{{{{{{{{{{{{{{{{{{|{{{||{{{{|{{{{{|{{{{{{{{{|{{{{{|{{{|{{{{{||{{{{{{{{{{{{{{{{{{{{{{{{|{|{{{{{{{{{{{{{{{{{{{{{{{{|{{{{{{{{|{{|{|{|{{{{{|{{{{{{{{|{{{{{{{{{{{{{{{{{{{{{{{{{{{|{{{{{{{{{|{{{{{{{|{{{{{{{{{{||{{{{{{{{{{{||{{|{{{{{{|{{{{{|{{{{{{{{{{{{{{{{{{{{{{{{{{{|{{{{{{|{{{{{|{{{{{{{{{{{{{{{{{||{{{{{{{||{{{{{{{{{{|{|{{{{{{{{|{{{{{{{{{{{{{{|{{{{{{{|{{{{{|{|{|{{{{{{{|{|{{{{{{{{{{{{{{{|{{|{{{{{{{{{{{{|{{{{{{{|{{{{{{|{{{{|{{{{{{{{{|{{{{{{{{{{{|{{{{{|{{|{{{|{|{{|{|{{{|{{{{{{||{{{|{{{{{{{{{{{{{{{|{{{{{|{{|{{{{{{{{{{{{{{|{{{{{||{{{{{{{{{{{{{{{{{|{{{{{{{|{|{|{{{{{{{{{{{|{{{{{|{|{{{|{{{{{{{{|{{{|{{{|{{{{|{{{{{{{{{{{{|{|{{{|{|{{{|{{{||{{{{{{|{{{{{{{{{{{{{{{{{{{|{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{|{{|{|{{{{{{{||{{|{{|{{{{{|{{{{{{{{{{{{{{{{{{{{{{{{{|{{|{{{{{{{{{{{{|{{|{{|{{{{{{{{{{{{|{{{{{{|{{|{|{{{{{{{{{{{{{{{|{|{{||{|{{{{{{{{{{{{{{{|{{{{{{{{|{{{{{{{{{{||{{{{{{{{|{{{{{{{{{{{{{{{{{{{|{{{{{|{{{{{{{{{{{|{{{{{{{{{{{{{{|{{{{{{{{{{{{{{{{{{{{{|{{{{|{{{{{{{{{{{{{{{{{|{{{{{{{{{{{|{|{|{{{{{{{{{{{{{{{{|{{{{{{{{{{{{|{{{{{{{{{{{{|{{{{{{{{{{{{{{|{{|{{{{{{||{|{{|{{{{{{{{{{{{|{{{|{{{{|{{{{{{{{{{{{|{{{{|{{{|{{{{{{{{|{|{{{{{{{{{{{{{|{{{{{{{{{{{{{|{{{{|{{{{|{{|{{{{{{{{{{{{{{{|{{{{{|{{{{{{|{{{{{{{|{{{|{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{|{{||{{{{{{{{{{{{{{{{{{{{|{{{{{{{{{{{{{|{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{|{{{|{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{|{|{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{|{{{{{{{|{{{{|{{{{{{{{{{{{|{{{{{|{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{|{{{{{{{|{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{|{{{{{{{{{{|{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{|{{{{|{{{{{{{{{{{{{{{{{{{{{{{{{|{{{{{{{{{{{{{{{{{{{{{{{||{|{{|{{{{{{{{{{{{{{{{{{|{|{{{{{{|{{{{{{{{{{{{|{|{{|{|{{{{{{{{{{{{{{{{|{{{{{{{{{{|{{{{{{{{{{{{{{{|{{{{{{{{{|{{{|{{|{{{{|{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{|{{{{{{{{{{{{{{{{{|{{|{{{{{{{{{{{{{{|{{|{{{{{{{|{{{{{{{{{{{{|{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{|{|{{|{{{{{{{{{{{{{{{{|{{{{{{{{{{{{|{{{{{{{|{{{{{{{|{|{{{{||{{{{{{{{{{{{{{{|{{{{{{{{{{{{{{{{{{{{{|{{{{||{{{{{|{{{{{{{{{{{{{{{{{{|{{{||{{{{{{{{{{{{{{{|{{|{{|{{{{{{{{{{{{{|{{{{{{|{{{|{{|{{{|{{{{{{{{{{{{{{|{{{{{{|{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{|{{{{{{{{{{{{{{{{|{{{{|{|{{{{{|{{{{{{{{{{{|{{{{{{{{{{{{{{|{{{{{{{|{{{{{{|{|{{{|{{{{|{{{{{{{{{{{{{{{{{{{{|{{{{{{{{{{{{{{{|{{{{|{{{{{{|{{{{{{{{{{{{{{{{|{{{{{{{{{{{{{{{{{{{|{{{{{|{{{{{{{{{{{{{{{{{{{{{{{{{{|{{|{|{{{{{{{{{{{{{{{{|{{{{{{{|{{{{{{{{{{{{{{{|{|{{{{{{{{{{{{{|{{{{{|{{{{{{{{{|{{{{{{{{{{{{{||{|{{{|{{{{{{{{{{{{{{{{{{{|{{{{{{{{|{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{|{{{{{{|{{{{|{{{{{{{{{{{{{{{|{{||{{{{{|{{{{{{|{|{|{||{{{|{{{{{|{{{|{{{{{{|{{{{{{{{|{{{|{{{{|{|{|{{{{|{{{{{{{{{{{{{{{{{{{{{{{{{|{{|{{{|{|{{{{{|{{{{{{{{{{{{{{{{{{|{|{{{{|{{{{{{{{{{{{|{{{|{{{{{{{{{{|{{|{{{|{{|{{{|{{{{{{{{{{||{{|{{{{{{{|{{{{{|{{|{{{{{{{{{|{{{{|{{|{{{{{|{{{{{{{{{||{{{{{{{|{{{{{{{{{|{{{{{|{{|||{{{{{{{{{{{{||{{{|{{{{{{{{{{{{{{{|{{{{{{{{{{{{{{{{{|{|{{|{{{{{{{{{{{{{{{{{{{{|{{|{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{|{{{{{{{{{{{{{{{|{|{{|{{{{{{{{{|{{|{{{{|{{|{{{{{{{||{{{|{{|||{{{{{{{{{{{{||{{{{{{{{{{{{{{|{{{{{{|{{{{{{{{{{{{{{{{{{{{{{{|||{|||{{{{{{{|{{{{{{{{{{||{{|{|{||{{||{{{{{{{{|{{{{{{{|{{||{{{|{|{{{{{|{|{{|{|{{{{{{{{{{{{{|{{{{{{{|{|{|{{{{{{|{{{{{{{{{{{|{{{{{{{|{{{{{{{{{{{{|{{|{||{{{{{{{{{{{{|{{{|{{{{{|{{{{{{{{{{{{{{{{{{{{{|{||{{{|{{{|{{{{{|{{{{{|{{{{|{{{{{{{{|{{{{{{{{{{{|{|{{{{{{{{{|{{{{{{{{{|{{{{{{{{{{{||{{{{{|{{{{{{{{{{{{{{|{{{{{{{{{|{{||{{{{{{{{{{{{{{{{{{{{{{|{{{{{{{{{|{|{{{{{{|{{{{{{{|{{{{{{{||{{{{{{{{{{{{{|{{{{{{|{{|{{|{{{{{{|{{{{{{{{{{{{{{{|{{{{{{{{{{{{{{{{{{{{{{{{{{{{|{{{{{|{{{{{{{|{{{{{{{{{{{{|{{{{{{{{{{{{{{{{|{|{{{{{{|{|{{{|{{{{{{||{{|{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{|{{|{{{{{{{{{{{{|{{{{{{{{{{{{{{{{{{{{{{{{{|{|{{{{{{|{|{{{{{{{{{{{{{{{|{{{|{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{|{{{{{{{{{{{{{{{{{{{{{{{{{{|{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{|{{{{|{{{{{{{{{|{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{|{{{{{{{{{{{{{{{{{{{{{{{{{{{{|{{{{{{{{{{{{{{{{|{{{{{{{{{{{{{{{{{{{{|{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{|{{{{{{{{{{|{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{|{{{{{{{{{{{{{{{{{|{{{{{{{{{{|{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{|{{{{{{{{{{{{{{{|{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{|{{{{{|{{{{{{{{{{|{{{{|{|{{{{{{{{{{{{{{{{{|{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{|{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{|{{|{{{{{{{{{|{{{{{{{{{{{{{{{{|{{{{{{{{{{{{{{{{{{{|{{{{|{{{{{{{{{{{{{{{{{{{{{{|{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{|{{{{{{{{{{{|{{{{||{{{{{{{{{{{{{{{{{{{{{{{{||{{{{{{{{{{{{{{{{{{{{{{{{{{{{{|{{{{{{{{{{{{{{{{{{{{{{{{{{{|{{{{{{{{{{{{{{{|{|{{{{|{{{{{{{{{|{{{|{{{{|{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{||{{{{{{{{{{{{{{|{|{|{|{{{{{{{|{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{|{{{{{|{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{|{{{{{{{{{|{{{||{|{{{{{{{{{{|{|{|{{{{{|{{{|{{{|{{{{{{{{{{{{{{{|{{{{{{|{{{{{{{{{{{{{{|{{{{|{{{|{{{{{{{{{{{{{{||{{{{{{{{{{{{{{{{{|{{{{{{{{{{{{{{|{{{{{{||||{{{||{||{|{{|{|{{|{{||{{{|{{{|||{|{{|{|{{{|{{{{{{|{{{{||{|{|{{{{{{{{||{{{|||{{{{{{||{{{{{{{|{|{{{{|{{{{{{{|{|{{{{{{{{{{{{{|{{{{{{{{|{{{|{{{{{|{{{{{|||{{{{||{{{{|{{{|{|{{{{{{{|{{{{{{{||{{{||||||||{{||{{|||{{{|{{|{{|{{{{||{{{|{{|{{{||||{|{|{||{{{|{|{||{{{{{{{|{{|||{|{{{|||||{{{|{|{{{|{{{|||{{{{{{|{{{{{{{{{{{{|||{|{|||{{{{{|||{{{{{{{{||{||{{{{|{{{{{|{{{{{{|{|{|{{{|{||{{|{{{{|{{|{{{{{{||{{{{{{|{||{|{|{|{{{|{{{|{{|{|{{{{|{||{{|{||{{{|{{{{{{{{{{{{{{{{{|{{|{{|||{{||{|{{{{{{{{{|{{{{{||{|{{|{{{{{|{{{{{{{|||{|{{{{{{{|{{|{{|{{|{{|{|{{{{{{{{|{||{||{{{{{{{{|{||{|{{{|{{|{|{{|{{{{{{||{{||{{{{{||{|{{|{{|||{|{{{|||{{{{{|{{{{{|{{{|{{{{{|{{{{|{{|{|{{{{{{{{{|{{{{{{{{{|{{|||{|{{{{{|{{{{|||{{{{||{{{{{{{{|||{{{{{{{{{{|{{{{||{{||{{{|{{{{{{{{{|{{||{|{{|{{{{{{{{||{{{{{|{{{{|{{{{{{{{{{{|{{{{{{|{{|{{||{||{{{{{{|{{{{{{{{{{{|{{{{{|{||{{{{{{{|{{{{{{||{{{{{{{|{{{{{{{{{||{{|{{|{||{|{{{|{{|{{{{{{|{|{{|{{{{{{{{{{{{{{{{{|{{{{{{{{{{{||{{{|{{{{{{{{|{{|{{{{{{{{{{{{{{{{{{|{{{{{{{{{||{|{{|{{{{{{{{{|{{|{{{{{||{{{|{{{{{{{|{{{{{||{{{{{|{{{{{{{|{|{{{|{{{{{{{{{||{{{{{|{{{{{|{{{|{|{{{{{{{{|{{{{|{{{{{{{{{{{{{{{{{{{|{{{{|{|{{{{{{{|{{{{{{{{{{{{{|{{{{{||{{{|{{{{{{{|{{{|{||{{{{{{{|{{|{{{{{{|{{{{{|{{|{{|{|{{{|{{{{{{{{{{{{{{|{{{{|{{{{{{{{{{{|{{{{{{{|{||{{{{{{{{{{{{{{|{{{{{|{{{{{{{{{{{{|||{{{{|{{{{|{{{{{{||{{{{{|{{{{{|{{{{{{{{{{{{{{{{{{{{{{{{{|||{{|{{{{{{{{{{{{|{{{{|{{{{{{{{{{{{|{{|{{{{{{{|{{{{{||{{{{{{{{{{{{{{{{{{{{{{{{{{{{|{{{{|{{{{|{{{|{{{{{{|{{{{{{{{{|{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{|{{{{{{{{{{{{{{{{{{{{{{{{{{{{{|{{{{{{{{{{{|{|{{{{{{{{{|{{|{{{{{{{{{{{|{{{{{{|{|{{{{{|{{|{{{{{{{{{{{{{{{{{{{||{{{{{|{{{{{{{{{{{{{|{{{|{{{{{{|{{{{{{{{|{{{{{{{{{{|{{|{{{{{{{|{{{{{{{{{|{{{{{||{{{{{{{{{{{{{|{{{{{{{{{|{|{{{{{{{|{{{{{{{{{{{|{{{{{{{{{{{{{|{|{{{{{{{{|{{{|{{|{|{{{|{{{{{{{|{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{|{{{{{{{{{{{{{{{{{{{{{{{{{|{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{|{{{{{{|{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{|{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{|{{||{{{|{{{{{{{{{{{{{|{{|{{{{{{||{|{{{|{|||{{{{{{|{{{||{{||{|{|{{|{{{{|{{||{{{{|{|{{{{{|||||{{{|{{|{|{{||{{{{|{{{|{|{|{|{{{{{{{{|||{{|{{{{{|{{{{{{{||{|{{|{{{{{{{{{{{{|{{|{{{{|{||{{|{{{|{{|||{||{||{|{|{|||{|{{|{{{|{{{|{||{{{{|{{|{|{{{{|{{{||{|{{||||{|{{{{||{|{{|{{{{{||{||{{{{{{{|{|{{{{{|{||{{{{{{{|||{{{{{{|{{|{{{{||{{{{{{|{{|{{|{||{{{{{{||{{{{{||{||||{{{|||{{{{{|{{|{|{|{{|{{{{{{{||{{{{{{{|{{{||||{{{{{{{{{{|{|{{{{{{{{{|||{{|{{|{|{{{{||||{{{|{{|{|{{{{||||{{|{{{{||{|{|{{{|{|{{|{||{|{{{|{{{|{{{{{|{|||||{{{||||{{{|{{{|{||{{{{{{{{{{|{|{{{{{{||{{|{||{{{{{{{{|{||{{{|{{|{|{|{{{{{||{{||{{|{{{{{{|{{{{{{|{{{|{||{|{{||||{|{|{{{|{{|{{{|{{{|||{{{|{{{{|{{|{{{{{{{{{{{{|{{|{{{{|{{{{||||{{{{{|||{|{|{|{||{{{||{{|{{|{{{|{{{|{|{{{||{||{{|{{{{{{|{|||{{{|{|{{{{{{{{{{{{|{{|{{|||{|{{{{||{{{{{{{{{{{||||{{{{{{|{|{{|{{{{{{{|{{|{{{|||{{{|{{{|{{|{{{{{{{{{|{{{{{{||{{{{|{|{|{|{{{{|{{{{|{|{{{{{|{{|{{|{{|{{|{|{{||{{|||{{{{|{{{{{{|{{{|{{{|{|{{{{{||{{||{{|{{{{{|{{{||{{{{{{{{{|{{|{{{|{{|{{|{|{{{{{||{{{{{{{|{{|{{|{{{{{{|{||{{{{{|||{{{|{{{{||{{||{||{{{{{|{|{{{{||{{{|{{{{||{|{|{{|||{|{|{{|{{|{{||{{{|{{{{||{|{{{{{{{|{|{|{|{{{||{{{{||{{{|{{|{|{|{{{{{{|||{{||{|{||{||{{{{{{{{{{{{{{|{||{||{{{{{{{{{{||{{||{{{|{{{{{{{|{|{{{{|{{{{|{{{|{{|||{{{||{{{{{{{{{{{{{{{{{{{{{{{{{|{{{|{|{{{{||{|{{{{|{{|{|{{{{{|{{{||{|{{{{{{|||{{|{{|{{{{{|{{{||{{{|{{{{{{{{{|{{{{{|{|{{|{{{{|{||{{{|{||{||{||{{{{{{{{{{|{||{||{{{{{{|{{|{{{{{|||{{|||{{{|{|||{{{{||{{{{{{{{|||{{{{|||{{||{|{||{|{||{|||{{{{|{{||{{{|{{||{{{{|{|{|{|{{{{|{{{|||{{{{|{{{|{{|{|{|{{{|{{{{|{{{{|{{{{{|{{{|{{{{{{{{|{{{{||{{|||{||{{{{{{{{{{{{{|||{{|{{{{{{{|{{{{|||{{|{{{{{|{{{{|{{{{{||{|{{||{|{{{|{|{{{{{|{{{{{|{{{|{{{|{{{|{|{{{{{{{{{{||{|{|{|{{{{{|{{|{|{|{|{{|{{{{{{{{|{||{{|{|{{{{{{{{|{{{{|{{{{|{|||{{{{{{|{{{{{{{{{{{{{{{{{{{{{|{{{|{{{{{|{{{|{|{{{|{{{||{{|{{{|||{{{{{{{{{{|{{|{{{{{{{{{{|{{{{{{{|{{{{{{{{|{{{{{{{|{|{|{|{{{{|{{{|{{{|{{|{{{{{{{{{{|{{{{{{{{|{{{{{||{{{{{{{{|{|{|{{{|{{|{{{{|{{|{{{|{{{{{{{{{|{{{{{{{{|{{|{{{{|{{{{{{{{{{{{{{||{{|{{{{{||{{{{{{{{{{{{{{{{{{{{||{{{|{{{||{|{{|{{{{{|{{{|{|{{{{{|{{|||{|{|{{|{{{{{{{{{{{{{|{{{|{{{{{||{{{{|{{{{{{{{{{{{{{|{{||{{{{{{{|{||{{{{{{{|{{{{{{||{{|{{{{{{{{{{{{{{{{{{{|{{{{{{|{{{{{{{{|{{{{{{{{{{{{{{{{{{{|{|{{{{{|{{|||{{|{|{{{{{{{|||{|||{{{|{{{{{{|||||{|{{|||{|{{|{{{{|{|{{|{{{{|{{{{{{{||{{{|{{{||{{{|||{|||{{{{{{||{{{{||{{|{{{|{|{{{{{{{|{{{{{{{{|{{{{{{{{{{{{{{{{{{{{{{|{|{|{{{{{|{{{{{|{{{{|{|{{|{{{{{{{{{{{{{{||{{{{{{{{{{{{{{|{|{|{{{{{{|{{{{{|{{{|{{{{{{|{||{{{|{{{{{{{{{|||{{{{{||{{{{{{{|{{{{{{|{|{{{{{{{{{{{{{|{{{|{{{{{{{{{|||{{|{{{|{|{|{{{||{{{{{|{{{|{{{{{{|{{{{{{{|{{{{||{|||{{{||{{{{{|{{{{|{{{{{|{{|{{{{{|{{{{{{{{{{{||{|{{{|{{{|{{{{{{{|{{{{{{{|{{|{{{{{{{{||{{{{|{{{{{{{{||{{|{{|{{|{{{{|{{{||{{{{{{{||{{{{{|{{||{|{{{{|||{||{{{{{{|{{{{{{{{{{{{{{{|{{|{{{{{{{{||{|{{|{{{{{{{{||{||{{{|{{{{{{{||{{{|{|{{||{{{{{{{{{{{{||{{{{{|{|{{||{{{{{{{{{{|{|{{|{{|{|{{{{{{{{{{{||{{{|{{{{||{|{{{||{{{{{|{{|{{{{{|{{{{{{{|{{|{{{{{{{{{{{{{|{||{{{|{{{{|{{{|{|{{|{|||{{|{{||{{{|{|{{{||{{{{{{{{{|{{||{{{|{{{{{|{{|{|{||{{{|{{{|{{{|{{|{{|{|{{{{{{{{||{||||{{|{||{|||{{{{||{{|{{{{|{|{{|{||{{{{|{{|{{|{|{|{{|{{{|{{{|{{{{|{{{{{|||{|||{{{{{{{{{{{|{{|{{{|{|{{|{|{{|{{||{{{{|{|{{{{{|{{{{{{{{|{{{{{||{{||{{{|{{{|{{|{|{{||{{{{|{|{|{|{{{|{{{|||{{{{{|{{{|{{|{{{{{{|{{{{{{|{{{||{{{{{{{|{{{{{|{{{{{{|{{{|{|||{{|||{{{{||{{||{{{|{{{{{|{{{{{|{|{|{{||{{{{||{{{|{{{{|{|{{{|||{{{{{|||||{{||{{{{|{{{||{|{{{{{{|{|{|{{|{|{{||{{{{{{||{|{{{|{{{{||{{|{|{{{|{{{{{{{{{|{|{{|||{{{{|{|{{||{|{|||{{{{||{{{{|{{{{|||{{{{{||{{{{{{|{|{{{|{{{{{{{|{||{{{{{{||{|{{{|{|{{{{{{{{{{{|{{|{{||{{{{{{|{{|{{{{{|{{{{{{{{{|{{{|{{{|{{{{|{{{{{{{{{||{{{|{{{||{|||{{|||{{|{|{||{{|{{{{{|{||{{|{|{{{{{||||{|{{{{{|{|{|{{{{{|{{{{{||{{{{|{|{{{{||{{{{{{{{{{|{|{{{|{{{{{{|{||{{{{|||{{|{{|{{{{{{|{{{{{{|{|{{||{|{{{{{{{|{{{{|{{{{|{{|{{|{{|{{{{{{|{{{{{{||{{{{{{|{{{{{||{{{|{{{{|{|{{{{||{{{{|{{{{{{|{{{{{{{|{{|{|{{|||{{||{|{|||{{|{{{{{{|{{|{{|{{{{{{{{{|{|{{{{{{{{|{{{{{{{{{{|{{{{||||{{{{{{{{{{{{{{{{{|{{|{{|{{{|{{||{{{{{{{{{{{{{{{{|{{{{{{|{{{|{{|{{|{{{{{{|{{{{|{{{{{{{{||{{{{{{{{{{{{{{{{{||{{{{||{{{{{{{{{||{{{{{|{{{{{{{{{{{{{{{{|{{{{{{{{{{{{|{{{{{{||{{{{{|{{|{{{{{{{{{{|{{{{{{|{||{{|{{{|{{{{{{{{{{{{{{{{{{{{{|{{{{{{{{|{{|{{{{|{{{{{{|{{{{||{{|{{|{||{{|{{{|{{|{|{{{{{{{{{{{||{|{{|{{{|{{{{{{{{{{{|{{{{{{|{{||{{{{{{{{{{{{{{{{{||{{{{{{{{{||{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{|{{{{{|{{{{|{{{{|{{{{|{{{{{{|{{{{{{{{{|{{{{{{{{{{|{{|{{{{{{{|{{{|{{{{{{{{{{{{|{{{{{{{||{|{{{|{{{{{{{{|{{{{{{{{{{{{|{{{{{{{|{{{{{{{{|{||{{{{{|{|{{{{{{{{{|{|{{{|{{|{{{|{{{{{{|{{{{{|{{{{|{{|{{||{{{{{{{{{||{{{{{|{{{{{{{{{{{{|{|{{|{|{{{{{{{|{{{|{{{{|{{{{{|{{{{{{{{{{{{{|{|{{|{{{{{{|{{{{{{|{{{{{{|{{{{{{{{{{{{{{{|||{{{|{|{{|{{|{{{{|{{{|{{{{{{|{{{|{{{{|{{{{{|{{{{{{{{{{{{{{{|{{|{{{{{{|{{{{{{|{{{{{{|{{{{|{{{{{{{{{{|||{{{|{|{{|{{|{{{||{{{|{{{{|{{{{{{{{{|{{|{{|{{{{{{|{{{|{{|{||{{{{|{|{{{||{{||{||{{{|{{||{|{||{{|{{||{{{{|{|{{{{{|{{{|{{{{{{{{{{{|{{{{{{{|{{{{{{{{{{{|{{{|{{{{{{{{{|{{||{{{|{||{{{|{{{{{{{|{||{{|{{{{|{|{{{{{{|{{{{{{{{{{{{|{{{{|{{{{{{||{{{{{{||{|{{|{|||{{{{{{{{||{{{{{|{{{{||{{{|{{{{{|{{{{|{{{{{{{{{|{{{{{{{{|{{{|{{{{{|{{{|{{|{{{{{{{{{{{{{{{{|{{{{|{{|{{|{|{{|{{{{|{|{{|{{{{{{{{{{|{{{{{{{|{{{||{||{|{{{{||{||{{{{{{{{{||||{{|{{{|{{{{|{{{||{{|{|{|{{{{{|{{{{{{{{|{{{{{{|{{{{|{{{{{|{{{|{{{|{{|{{{{{|{{{{{{{{|{{{{{{{{||{{{|{{|{||{{{{{{|{|{{|{|{{{{{{{{{{{{||{|{{{{|||||{|{{|{{{{{||{{{{{{{{{{{{{{{{||{{{{{{{{{|{|{|{{{{||{{{{{{{{{{{{{|{{|{{{{{|{||{|{{{{{|{|{{|{|{|{{||{{{|{|{|{{{{{{{{{{{{{{{{{{{{{{|{|{{{{{{{{{{|{|{|{|{{|||{{{{{{{|{{{{|{{|{{{{{|||||{{{{{{|{|{{|{{{{{{||{{{{{{|{{||{{{|{{{{{{{|{{|{|{{{{{{|{{||{|{{{{{{|{|{|{{{|{{|{|{{||{{{{{{{{{{{{{{||||{{{{{|||{||{{|{||{{{|{|{|{{{{{|||{{{{|{|{{{{{{|{{{{{{{{{{{{|{{|{{|{{{{{{||||{{{|||{{{{{|{||{{|{{||{||{|{{{{{{{{|{{{{||||{{{|{{{{|{|{{{{{{{{{|{{{||{{|{{|{|{{{{||{{{{|{{{||{{{{{{{{|{||{{{{{{{|{{{{{||{{||{{|{|{||||{{{{|{||{{{{{{|{|{||{{{{{|{|||{{{{{|{{{{{{{{|{||{{|{|{{|{||{{{|{{{{|{||{|{{||{||{|{{|{|{{{{{{|{|{{{||{{{{|||{{|{{{|{|{{{|{{{{|{|{{|{|{{{{|{{|{{|||{|{{|{{{{{|{{{|||{{||{|{|{|{{{||{{{|{||{||{{||{||{{{|{|{|{{{{{|{{{{{{{{{{|{{{|{|{{{|{{{{{{||{{{|{||{{{|{{|{{|{{{{{{{{|{|{{{{{{{{{|{{{{{{|{{{|{{|{|{{{{{|{|{|{|{{|{{{{{||{{{{{{{{{{{{|{|{|{{{|{{{{|{{{||{{{{{|{{{{{{{{{{{{|{{{{||{{{|{{|||{{{|{{{{{{{{{|{|{|{{{{{{{{{|{{{{|{{|{{{{{{|{{|{{{{{{{|{{{{{{{|{{|{{{|{||{|||{|{{|{|{{{{{{{|{{{{{{|||{{{{|{|{{{{||{{{{{{{{{{{|||||{{|{{{{|{{|{|{|{||||{{|{{{{{|{{{{{{{{{|{{{{|{{{{{|{{{{{{{|{{{{{{|{{{{{{{|{{{{|{{|{{{||{{{{{{{{{{{{{{{|{{|{{||{{|{{|{{||{{{{{{{{|{{{{{{|{{{|{{{|{{{{{|{{{{{{|{{{{{{{|{|{{{{{{{{|{{{{{{|{{{{{{{{{{{{{{{{{{|{{{|{{|||{{{||{{{{|{|{{{{{|{{|{|{{{{{{{{{{{{{|{{{{{{{{{{|{{{{{|{{|{{{{{{|{|{{{{{{{|{||{{{{{{{{|{{{{{{{||{|{|{{{{||{{{{{{{{{|{{{{|{{{{{{|{|{{{{{{{{||{{{{{{{{{{|{{{{{{{{{{{{{{|{|{{{{{{{{|{{{{{{{{||{{{{{{|{{{{{{{{{{|{{{{{{|{{{{{{{{{{{{{|{{|{{{{{{|{{{|{{{{{{{{{{{{{|{||{{||{{{{{{{{{|{{|{{{{{{|{||{{|{{{{||{{{{{{{{{{{{|{{{{{|{|{{||{|{{|{{|{{{{{{{{{{{{{{{{{|{|{{{{{{{{{{|{{{{{{{{{{{{{{|{{{{{{|{{{|{{{{{{{{|{{{{{|{{{{{{{{{||{{{{|{{|{{{{{|{{{{{{|{{{|{{{||{{{|{{{{{|{{{{{{{{{{{{{{{{{|{{{{{{{|{{{{{|{{|{{{{{|{{{{{{{{{{{{{|{{{|{{{{{{{|{{{{{{{{{{{{{{|{{{{{{{||{|{|{{{{{{|{{{|{{{{||{|{{{{{{{{|{{{|{{{{{{{|{{{{{{{||{{{{{{|{{{{{{|{{{{{{|{{||{|{{{|{{|{{{{{{{{{{{{|{{|{{{{{{{{{{{{{{{{{{{{{{{{|{{{{{{{{{||{{{{|{{{{{{{{{{{{{{|{{{{{{{{{{{{{{{{{{{{{|{{{{{|{{|{{{{{|{{{{{{{{{{{{{{{{{|||{{{{{{{{{{{{{|{{{{{{{{{{|{{{{{{{{{{{{|{|{|{{{|{{|{{{|{{{{{{{{{{{{|{{{{{|{{|{{{{{|{{{{{{{{{{{{{{|{{||||{{{|{{{{{{{{|{{{|{{||{{|{{{{{{{{{{|{|{|{|{{{{{{{|{{|{{{|{|{{{{{{{{{{{{{{{|{|{{{{{{{{{{{{{{|{{{{{{{{{{{|{{{{{{|{{{{|{{{{{{{{{{{{{{|{{{{{{|{{{{{{{{{{{{||{{{{|{{|{{{{|{{{{{{{{{{{{{{{{{|||{{|{{{{{{|{{{|{{|{{{{|{|{{{{{{{{{|{{|{{||{{{{|{{{|{{{{|{{{{{|{{{{{{{{{{|{|{|{{|{|||{{{{{{{{|{{|{{{{{{{{{{{{{|{{{{{{|{{{|{|{{{{{{{{{|{{|{{|{|{{{{|{{{||{{{{{|{{{{{{{{{{{|{{{||{{{|{{|||{{{|{{{{|{|{{{{{{{{{{{{{{{{{|{{{||{||{{|{{|||||||{||{{{{{{{{{||{|{|{{|{|{|{{{{{{{|{|{{|{{||{{{|||{{|{|{||{{{{||||{|{{{{|{{{{{{{{|{{|{{{{|{{|{{|{{||{{{|||{||{|||{{|{{{{|{|{{{{{{{|{{{{|{|{{{|{{{||{{|{{{|{||{{{{|{|{|||{||{{{||{{{|{|{|{{|{{||{{{||{{{{|{|{|{{{{|{|{{{|{|{{{{{{{{{|{|{{|{|{{{|{|{{|{{{|{{||{{{||{{{{||{{||{|{{{||{{|||{{{{|{{{{{{{{{{|||{{|{||{{||||{|{{{{|{{{||{{{{|||{{{{{{|{{{{{{||{{{{{{{{{{||{{||{|{|{|{{||{{{|{|{|{{{{|{||{{{{{|||||{|{{{{{{{|{{|{{{||{{|{||||{{{{{|{{||{{{||{{{|{{{|{{{{{{{||||{{|{{{|||{|{{{||{{{|{{|{{{{{{|{|||{{|{{{{{|{||{{|{|{|{|{||{{{{{{|{{{{{{|{{{{|{{{||{{|{|{|||{{{|{{|||{|{|{{{|{|{{{|||{{{||{{{{||{{{{|{{{{{{{{|{{{{|{{||{|{{|||||{|{||{{{|{|{|{|{{{{|{{{{{{{{{|{{{|{{{||||{||||{{|{{{{|{{{{||{{{|{{{{{{|{{{{{{{{{{{{{{{{{|||{{{{|{{{{|{|{|{|{{{|{{{{{|{{|{{{{|{{{{{|{{{{{{{{|{{{{{|{{{|{{{|{|||{{|{{||{{{{{{||{|{{{{{||{|{|{{{{{{{|{||{{|||{|{|{{{{{|{|{{||{{||{||{|{{{{|{{|{||{|{|{{{{{{{||{{||{|||{{{{{{{{|{{|{{{{|{{{{{{|{{{{{{{{{{|{{{{{{{|{{||{||{{{{{||{{||{|{|{{|{{{|||{{{{{|{|{|||{{{{{{{{{{{|{{{{|{|{{{{{{{{{{{{{{{{{|{|{{||{|{|{{{|{|{|{|||{{{{|{{{{{{{{{{{{{{{{|{{{{|{{|{{{||{{{|{{{{{|{{{{{{{|{{{{|{|{||{{{{{|{{||{{{|{{{|{|{{{|{|{|{{{{{|{{{||{{|{{{|{{{{{{|{||{{{{{||{{{{{|||{{{{{{||{{|{{|{|{{||{{{{{{{{{{{{|{|{{|{{{{{{{{{|{{{{|{|{{{||{{{{{{|{{|{|{{||{{{{|{{|{{{{{{||{|{{{{|||{{|{{{|{{||{{{|{{|{|{{{{|{{|{{{{{|{{{|{{{{{{{{|{{{{{{{{||{|{{|||{{||{{{{{{{{{{{{{{{{{{|{|{{|{{{{{|{{|{{{|{|{{|{{{{{{{|{{|{{|{{{{{|{||{{{{{{{{{{|{{|{{{{{{|{{{{{{|{{{||||{|{{|{{{{{{{|{{|{{{{{{{|{|{{|{{{||{|{{{{{{{{{{||{{||{{{{{{{||{|{{{{{{{{{{||{{{{{{{{{{{{{{{{{{{{{{{{||{{{{{{||||{{{{{{{|{{{{{{{|{{{{{{|{|{{|{{{{{||{{{|{{{|{{{{{{{{{|{||{||{|{{{{{{{{{{{||{{{{{|{{|{|{{{{{{{{{{{|{{{{{{|{{|{{|{{||{{{{{{|{{{{{{{|{|{|{{{{{|{|{{{{{{{{{{{{{{{{|{{{{{{|{{{{{{{{{{||{{||{|{|{{{{{{|{{|{{{{{{|{|{{|{{{{{{{{{{|{{{{{{{{{{{{{{{{{{||{{{|{{{{{{{{|{{|{{{{{{{{{{{{{{{{{{|{{{{{{{{{||{|{{{{{{{{{{||{{|{{{{{{{{{|{{{{{{{{{{{{{{{{{|{{|||{{{{{{{{{{{|{{|{{{{{{{{|{{{|{{{{{{{{{{{{{{|{{{{{{||{{||{{{{|{||{{{{{||{{||{||||{{{|{{|{{{{|{{{|{{|{{|{||||{{|{{{|{||{{{|{{|{|{{{{{{{{{|||{{{|{{||{{{{{|{{{{|{{{{{|{||{|||{{{{{{|{{{|{|{||{{|{{|{|{{{{||{{|{{{{{{||{{|{|{{{|{{{{{{|{{|{{{{||{{{|{{{{||{{{|{{|{{{|{{|{{|{{{||{{{|{{|{||{|||||{|{{||{{|{||{{{{{{{||{{{|{||{{|{|{{{{{|{{{{{|{|{|{|{|{{{|{{{{{{{{{{{{{|{{{{{{||{{|{|||{||||{{|{{|||{{{{{{||{|{{{{||{{{||{|{|{|{{{|{{|{|{|{{|{{|{|||{|{{{|{||{{{{{{||{|{|{{{|{{{{|{{|{{{{|{{||{{|{{{|{{||{{|{{|{{|{{{{{{{|{{||{|{{{{{{{||{{|{|{{|{|{{{{||||{{|{{||||{|||{{{|{{|{|||{{|{{{{|{{{|{|{{{||{{{{|||{|{{{|{{|{{{||{|{|{{{{{{|{{|{{{|{|{{||{{|{{{{{{||{||||{{{{{{{|{|{|{{{||{{{{{||{||||{{{||{|||{|{{{{|{||||{||||{|||{{{||{{||||{{{{{{|{{|{{{{{|{{{|{{||{||{|||{{{{||{|{|{{{|{{|{|||{{{{{{|{{{{|{|{{{|||{{|||{{||{||||{{{{{{|{|{{|{|{{{|{{{||{|{{{{{{||{|{{|{{|{{||{{{{{|||{{{{{{||||{{||||{{{|||{||{{|{{{{|{{|{{{|{||{{|{{{{{{{||{{{{|{{{{|{|{{|||||{|{|{{|{{||{|{{{|{{{{{|{{{|{{|{{{|{|{|{{||{{{||{{|{|{|{{{{|{{{{{||{{{||{{|{{{{|{{{||{{||{{|{{|{{|||{{{{||{|{{{{||{|{|{{{||{{|{{|{{{|{{||{|||{{{|{|{|||{{||{{|||||{|{|{{{|{{{{{{{{|||{{||{|||{|{{|{{|{{{{{|||||{|{{{{|{|{{{|{{{|{{||{|{{|{{|||{{|{|{{|{{{{{|{{|{{{{|{|{{{{{{{||{|{{{|{{{{{|||{|{{|{{{{{{|{{|||{{{{{|||{|{{{{{{||{{{{{{|{{{{{{{|{{|{|{{{{{{{||{{{{{||{{|{{{{{{||{|{{|{{|{{{||{{{{{{|{|{{{|{||{|{{{{{{|{{{|{{{{{{{{{|||{{{{||{|{|{{{{{|{{{|{{{|{|{||||||{||{{{{|{{|{|{{{{{|{||{|||||{|{{{|{{|||{||{|{|{{{{{{||{{{{{|||{{||{{|{||{|{|{{|{{{|{{{{{{|{||{{|{{{{{{{||{{{{{{{|{{{{{{{{||{|{{{|||{{|{||{{|{{|{{{|{{{|{{||{|{{{||{{||{{{{{|||||{{{{|{{{{{{{|{|{|{||{{|{{{||{{{{||{{|{{{{|||{{{{{|{{{{|{|{||{{{||{{{{{{{{{|{{{{|{|{{|{|{{{{|{{{{{{{{{|{{{{|{{{{{{{{{|{{{{{|{{|{|{||{|{||{|{{{{{{{|{|{|{|{|{{{|{{|{{{||{{{{{{{|{{||{{{{|{{|{{{{{{{{{{{{{{{{{|{{|{{{|{{{{{{{{{{{{|{{{|{{|{{{|{{{|{|{{{{{||{|{||{{{{{{{{{{|{{{{|{{{{{{{{{{{{{{{{|{{|{{||{|||{||{{{{{|{{|{|{{|{{{{{{|{{|{{|{|{{{{{|{{||{{{{|{{{{|{{{{{|{||{{{{|{{{{{{{||{||{{{|{{|{|{{|{{{{{{{{{{{||||{{{{{{||{{{|{|{{{|{{{|{{{{|||{|{|{{|{{{{{{{||{{{{{{{||{{{{{|{{{|{{{|{|{{{{|{|{{|{|{{{{{{|{{{||{{{{{{{{|{{{{{{|{|{|{|{||{|{{{{{{||{{{||{{{||{|{{{{{{{|{{|{|{|{{{{{|||{{||{|{{|||{|{{{{{{{||{{{{{||{{||{{{|{||{|||{{||{{{|{{{|{|{{{{{||{{{|{{|{|{|{|{{{|{|{|{{{||{{||{{{{{{{{{|{{{{{|{|{{{{{{{{{||{{{|{||{{|{{{{||{{{{|{|{||{|{{{{{|{{{{|{{{{{{{|{{{{{|{{{{|{{{{{{||{{{|{{{{{{{|{{|{{{{|{{{{|{{{{|{{{{{|||{{{{{{{{|{{{{|{{{{|{{{|{{{|{{|{{{{{{{{{|{|||||{{{|{{{{|{{{|||{{|{|{{{{{{{{{{{||{{{{{{{|||{{|{{{{|||{{|{{|{{|{{|||{{{{{|{{{{{||{{{{{|{|{{{{{|{||{{{{|||{{|{{||||{{{{||{{{{{{|{|{{|{{{||{{|{{{|{{{|{|{||{{|{||{|{|{{|{{|||{{{{{{{|{{{{{||{||{{{{{{{{{{{{{{{{{|{{{|{|{{{{{{{{{{|{|{{{{|{|{{{{||{{{{{{{|||{|{{{{{{|{|{{|{|{{{{{{{|||{{{{{|{|{||{{{{{|{{{|{{{{{|{|{|{|{|{|{|{{{{{{{{{{||{{{{{|||{{|{|||{{{{{{|||{{{{|{{{|{{{{|{|{{{{{{{|{|{{{{{|{{{||{{{|||{{{{{{{{{{{|{|{|{|{{{{{{{{{{|{{{|{||{|{{|{{{{|{{{|||{{{|{{{{{||{{{|{{{|{{{{{|{|{{{{{{|{|{||{||{{|||||||{{|||{{{{{{{{{|{{{{{{{{|{||{||{{{{|{{|{{||{{{{{{{{||{{{{|||{{{{||{|||{|{{{{|{{{{{|{{{{|||{{|||{{|||{{{{|||{{{{{||{{{{|{{|{|{{{||{{{|{{|{|||{|{|{{{{{{{{||{{{|{|{{|{{{{{{|{{{||||{{{{{{||{{||{{|{{||{{||||{|{{{{{{{{|{{{{{|{|{||{{||{|{|{|{{|{||{{{{|{|||{|{||{{{|||{{{|{{|{||{{{{{{||{{{|{|{{|{{||{|||{{{{|{{|{|{|{|{{{{|||{{{{{{{|{{{|{{{||{{{{{{{|{{{{{{|||{{{{{|{|{{{{|{{|{{|||{{|{{{|{{|{{{||{||{{|{|{|{|{|{|{|{{||{|{{{{|{{{|||{{|{|{{|||{{{{|||{|{{|{|||{{{{||{{{{|{|{{{{{{{{{{{{|{{{{|{{||{{|{|{|{{|{{|{{{{||||{{||{{{{{{{{||{{{|{|{{|{{{{|{|{{||||{{{{|{{{{|{{{{||{{|{{|{{{{{{{||{{||{{{||{{{|{||{|{{{{|{{{|||{||||{{||{{{|{{{{{|{{{{||{{{{{{{{{|{|||{{{|{{{{{{{|{{|{|{{{{{|{{|{||{{{{{|{{{{{||{{{{||||{{{{||{{{|{{|{{||{{{{||{||{||{{{{|{{{|{|{{|{{|{{{{|{{{{{{|{|||{|{{|{{||{|{|{|||{|{{{{{|{{{|{{{{{{{|{{|{{{|||{{|{||{|{{|{|||{{{{{|{{||{|{|{|{{{||{{|||{{|{{|{{{{{||{||{{{||{{{{{|{||{{||{{||{{{||{{{{||{|{{{|{||{|{{{|{||{{{{{{{{||{{{{{{{||{||{||{||{||{|{{{{{{{{{{|{{|{||{{{|{|{{{{||{|{||{{{|{{{{{|{{{{||||{|{{{{{||{{|{||{{{{{|{{{{|{{|{{|{|{|{{{|{{|{|{{{{|||{{{{{{{|||{{{{{{{{{{{{{{{{{|{{{{{||{{{{|{{{||{{{||{|{{{{{{{{{{|{{|{{{{{{{{{||{{{|{{{{{{{|{{{{{{{{{{|{{{{{|{{{{{{{{{{|{{{|{{{{{|{{{{{{{{{{{|{|{{|{||{|{{{{{{{||{{{{{{{|{{{{{{{|{{|{{{{{{{||{|{||{{{{{{{{{{{|{{{{|{{{||{{{{{{{{{{{{{{|{|{{{{||{{{{|{{{{{{{{{{{{{{{{{|{||{{{{{{|{||{{{|{{{{{{{{{{{|{{{{{||{{{{|{{{|{{{{{|{{{{|||{{{{{{{|{{{{{{{|{{{{{{{|{|{{{{{{{|{{{{{|{{{{{{{{{{{{{{{{||{{{{{|{{{{{{{{{{{{{{||{{{{|{{{{{{{{{{{{{{{{{{|{|{{|{||{{{{{{{{{{{{{{{{{{{{|{|{|{{{{{{{{{{{{{{{|{{{{{{{||{{{{|{{{{{{{{|{{{||||{{|||{{{{|{{|{{{{{{{{{|{{|{{{|{|{{{{||{|{|{{{{{{||{|{|{|{{|{{{|{{||{||{|{{{{|{{{{{{{|{{|{{{{|{|{{{|{||{{|||{|{{{||{{||{{{{{{|{|{{{||{||{{||{{{{{{{||{{{{{{{||{{{{{|{|{{{{{{{{{{||{|{{{{||{||{|{{{{{|{|{|{||{{{|{{|{{{||{|{|{{{{|{|{||{{{{|||{{|{{{{{{|{|{{{||{{{{|{{{{{|{|{|{{{{{{{{{{|{{{{{||{{|{|{|{{|{{{{{|{{{{{||{|{|{{{|{{{{{|{{|{{{{|{{{{{|{|{{{{{{|{{{{{{{{{|{{{{|{{{{{{||{|{{{{|{{|{|{{||{{{{{{{||{{{{||{{||{{{|{||{{|{{{{{{|||{{{|{||||{{{|{{{{{{{{{{{{{{{|{{|{{{|{{{|{{||{|{{{||{{|{{{{{|{{{{|{{{{{{{{{|{{{{|{{{{{{{{|{{{{||{{{{{{|||{{{{{{{{|{{|{{{{{{{{{{|{{{|{|{{{{{{{|{{{{{|{{{|{||{{{{{{{{{{{{|{{|{{|{{{|||||{{{{{{|{{|||{|{|{{{|{|{{|{{{{{{{{|{{|{{{{{{{|{|{{{{|{||||{{{{{{|{{|{{{{{|{|{{{{{{{{{|{{{{{{{|{{{{{{{{|{{|{||{{|{|{|{{{|{{{{{{|{{{{|{|{{{|||{|{{{{{|{{|{{{|{|{{|{{{|{{{{{{{|{{{|{||{{{{{{{|{{|{{|{{{{|||||||{|{|{{|||{||{{{{{|{{{{{{{{{{||{{|||{{{|{{{{{||{{{{{{{{||{{{{{{{{{|{{|{{{|{{|{{||{{{{|{{{||{{|{{{{{{{{{{{{{{|{{{{{|{||{||{|||{{{{{{{|{{|{|{{{{|{{{{{{{{|{{{{{|{|{{|{{{{{{{{{|{{{{|{{|{{|{{|{|||{{|{{{{|{|{{{{|{{||{{{{{{{{{|{|{|{||{{{||{{{{{|{|{{{{{{{|{{{{{|{{{{{{{|{|{{|{{{||{{{{{{{{{{{||{||{{{{{{{{|{|{||||{{{{{|{||{{|{{{|{||{{{{{|{|{{{|{{|{|{{||{{{|||||||||{{|{|{|{|||||{{{{{{{{|{{{{{{||{{{{||{{|{|{|{{|{{{{{|{{{{{{{{{{{{|{{|{{{{|{|{{{{{|||{{{{|{||{|{{{{{||{{{|{||{{|{{{{|{{{|{{{|{|{{{{{|{||{{|||{{{|{||{{{|{{{||{{{{{{{{{{||{||{{{{||{{{{|||{{||{{{|{{{{{{|{{||{|{{{||{{|{{{{{|{|{||{{{{|{{{{{{||{{{|{|{||{|{{{|{|{||{{{{{{{|{|{{{{||{{|{{{{{{{|{{{{{{|{{{{|{{|{{|{||{|{{{{{{|{{{{{||{||{{{||{{{{{{{{||{||||{{{|{{|{{||{{||{{{|||{|{|{{{{{{{{{{{{{{{|{{|{{{{{{|{{{{||{|{|{{{{|{{{{{||||{{{|||||{{{{{|{{{{{{{|{|{{{{{|{{||{|{{||{{|{{|||{|||||{{||{{|{{|||{{{{||{{{{{|{|{{{{{|{|{{{|{||{{|{{{||{|{|||{{|{{{{|||{|{{{|{{{{|{|{||{{|||{{{{{{{{{|{{{{|||{{|{|{{{{{|||{{{{||{{{|{||{{{{{{{{|{|{{|{|||{{||||{{||{{{|||{|{|{{|{|{{{{{||{|{{{{{|{{{{{{{{{|||||{{|||{{|{|{{{{|{||||{{{|{{|{|{|{{{{{{||{||{{{{{{{{{{{{{{{{{||{{|{{{{{{|{|{|{{|{|{{|{|{{{||{||||{{{{{{{{|{|||{{|||{{{||{{{{|{{{|{|{{{|{{{{{{{|{{{{||{||{|{{{||{{{|{||||{{{{{{|||||{|{{{|{{{{{{||{{|{{|{|{{{{{{{{{||{{|{{{{{||{||{{|{{{{{{{{|{|||{|{{|{{{{{{{|{{{||{{|{{{{{{|{{{{{{{{||{{|{{{{|{{||||{{{{{{{{|{{{{|{{{{{{{{{{{{{{||{{{{||{{{|{{{{{{|{||{{{{{|{{|{||{{{{||{|{||{|||{{{|{|{{{{|{||{{{{{{|{{{|{{{{|{|{|{{{{{{||{{{{|{{{|{||{{{{|{{{{{||||{||{|{|{{{{{|{{{|{|{{{{{{{{{{|{{{{{{|{|{|{{{{|{|{{|{{{{{{{{{{|{{{{{|{{{|{{||{{||{|{{{{{{||{{{{{{{|{{|{||{{{{{|{|{{{{{{{{{{{||{{{{{||{{{{{|{{{{|{{||{{{|{||{{{|{{{|{{|{{{{{{{{||{|{{||{{{{{{{{{{|||{{{{{{|{{{{|{{|{{{{{{{{|{{{{{{||{{{{{{{{{{{||{{{{{{|{|{{{{{{{{|{{{{{|{{{{{{||{|{{{{{{{{{{{||{{|{{{{{{{|{{{{{{{{{{||{|{||{{|{{{|{|{{{{{{|{|{{{{||{||{{{{||||{{{{|{{|{{{{|{|{||{{{|{{{{{{|{{{{{{|{{{{{{{|{|{{|{|{||{{{||{{{{{{{{{|{{|||||{|{|{{{{{{{|{{{||||{{{{{{{{|{{{{{{{{{|{{{{{{{{{{|{|{{{{{|{{{{{{||{{{{{|{{{{{|{{{{{{{|{{{|{{{|{{{{{{{{{{{{{|||{|{{||{||{{{{{{{{|{{{{{{|{|{|{{{|||{{{|{{{||{||{{|{{||{{||{{{{|{{{{{||{{{{{{{{{{|||{|{{{|{{{{|{{|{|{|{{{{{|{{{{||{{{{{{|{{{{{{|{{{{{|{|{|{||{{{||{||{||{{{{{{{|{{{|{{{{{{|{|{|{{{{{{{{{{{{{{{{{{|||{|{{|{{{||{{{{{{{{{|{{{{{{{{{{{|||{{{|{{{{||{{{{|{{{{{|{{{|{{{|{|{{{|{{{{{|{{{{{|{|{{|{{{||{{{{{{{{|{{{{{{|{|{{{{{{|{|{{|{{{{{{{||{||{{{{{{{{{{|{{|{{|{|{{{{{|{||{{|{{{{{{{{{{|{{|{|{{{{|{{|{||{{|{{{{{{|{{{|{{{{||{{{||{|||{{|{{{{{{{{|{{{{{{{{|{{{{{{{|{{{|{||||{{{{|{{{{{{{{|{{{|{{|{{{{{{{{|{{{{|{|{{{|{|{||{{|{{{|{{{|{{{{|{{{|{||{||{|{{|||{{{|||{{|{{{{{||{|{{{|{|||{|{{|{||||{{{{{|{{{{{|{{{|{|{||{||{||{{|{|{|{|{|||{{{||{|{{{{|{{{|{{{{{||{|{{{{{|||{|{{{{|{{{{{{{{|{{|{{|||||{{{|{{{|{{|{{{{{{|{{|{||{{{{{{{{{{||{{{|{{{|{{{||{{{{{{{|{{{|||{{|{{|{{|{{{{{|{{{{{|{||||{|||{|{|{{|{|{{||{|{|{{{|{|{|||{{{{|{{||{|||{|{||{||{{{|{{|{{{{|||{{||{{{{|{{{{{||{{{{{{|{{|{{|{{{|{|||{|{|{{{|{{|{||{{{{{{||{|{{{|{{{||{{{|||||{|{{{{{|{{{{{{{{{||{|||{{{{|||{{|||{{|{{||{|{{{|{{{{{{{{{{{{{|{{{{||||{{|{{{{{|||{{|{|{|{{{|{{|||||{{|{|{|{{{|{{|{{{{{{{{{|{|||{{{{{{{{{|{|{|{|{{||{{{{{|{|||{{||{||{{||{{|{{{{|{{{|{{{{{{{|{{{{{{|||{|{{{|{{|{||||{|{||{|{{|{{{{{|{|{|{|{{{{|{{{{{{{{|{||{{{||{{{|{{{{||{||{{|{{{{||{|||{{{{|{{{{{{{|||{|||{{{||{{|||{{{{{{|{{{|{{{{|{|||||{|{|{{{{{{{{{|{|{{|{{{|{{{{||{||{|{{|{{{{{|{|{||{{{{{||{{||{||{|||{{{{{{{|{{|{{{|{|{||{{{{|{{{|{||{|||||{|{{||{{|{|{{|{{|{{{{{|{{{||{{|||{|{{{{|{|{{{{||||{{{{|{|||{|{||{||||{{{||{{{{{{{{|{{||{{||{{{|{{||{{{{{|{||{{{|{{{|||||{|{||{|{{{{||{{{{{||{|{|{{{{{{{|||{{|{|{{{{|{{{|{{|{{||{{|{|{{{{{{{|{||||{|{{|{{{{|{{|{|{|{|{||{|{||{{||{{|||{|{{|{{|{{|{||{{{|{{{{{{{{{|{{|{|{|{{{{{|{|{{|{{{{|||{{{{{{{{{{||{{{{{{{{{||||{{{|{{{{|{{{||{{{|||{|{{{||{{{{|{{{{{|{{|{|{{|{{{{{{{{{||{{{|{|{{|||{|{{|||{{|{{{{||{|{||{{|{{||{{||{|{|{{{{|{{|{{{{{{|{|{{|{|{{{{|||{|{{{||||{{|{{|{|{|{|{{||{|{||{{{||{{|{{{{{{||||{{{|||||||{{{{{||{{{{{{{{{{{{{|{||||{|{{{|{|{||{{|{{{{{{{||{{{{{{|{{{{{{|{{{{|{{{||{||{{{{|||{{|{{||||{{{|{{|{{{{{|||{{{|{|{{{|{{|{{|{{{{|{{{{|||{{{{{||{{{{{||{|{{|{|{{{{{{||{|{|{{{||||{||{{{|||{||{|{|{{{|{{{{{{|{||{{{|{{{{|{{{|{{||{{{{{{{|{|{{{{|{{{{{{|{{{{|{|{{{{{{{{{{{{{{{|{{{{{{{|{{|{{|{{{{{|{{|{{|{{{{|{|{{|{{{{|{{{{{||{{{{{{||{|{{{{{|{{||{{{|{{{{|{|{{{{{{||{|{{{{{{{|{{|{{{{{{{{{|{{{{|{{{{||{|{{||{||{|||{{|{{||{{{{{{{{{|{{|{{{{|{{|{{{|{{{{{{{{{||{{{{{{{|{{||{||{|{{{||{{{|{{{||{|{{|{||{|{{{{{|{|{{{{{{{{{{{|{{{{{{{{{{||{|{{||{{|{|{{|{{{||{{{{|{|{{{|{{{|{{|||{{|{|{|{{{{{{|{{||{{|{|{{|{{{{|||{{{{{{|||{|{{{|{{{{|{{{{{{|{{{|{||{{|{{{|{||{{|{{{{{{|{{{||{|{{{{||{{|{{{{{{{{{{{|{{{{{{|{{|{{{{{{{|{{{{{{{{||{{|{{{{{{{{{|{{|{{{{{{{|{{{{{{{{|{{{|||{||{{{|{{||{{{|{{{{|{{||{|{{{|{{{{|{{{|{{{{|||{{|{{{|||{{||||{{|{{{||{{{{||{{|{|{|{|{{||{{|{{{||{{|{|{{||{{{{|||{{{{|{||||{{{{||{{{|{{{|{{|{{{|||{{{{{{{{|{{{{{{{{||{{||{||{{|||{{{{|{|{{|||{{{{|{{{|{{{||{|{|{{||{||{{|{{{{{{{|{{{||||{{{{{{{|{{|{{||{{{{{{|{{{|{{{|{{{|{{{{|{{{{{{{|{|{||{{|{{|{|{|{|{{{|{{|||{{{{{{{{||{{|{{|{{|{{|{{||||{||{{|{{|{{{{{||{|{{{{|{{{|{{{{{|||{||{|{|{{{{|{{{|{|{{||{{{{||||||{|{|{{{||{{{{{|{{{|{{{|{{{{{|{|{{{||{||{{|{||{|{||{{{{{{||{{{{{{{|{||||{||{{{{||{{|{|{{|||||{|{{{{|{{{{|||{{|{|{{|{|||{{{{|{|||||||{|{{{|{{|||{|{{|{|{{|{{{{|{{||{{{|{||{{|{{||{||{||{|{{|{{|{|||||{|{{{{{|{||{|{|{|{{{{||{{{{{|{{|{{{|{|{{{{{{{{|{||{{|{|{{|{{{{{{{||{{{|{||{{|{|{{{{{|{|{||{{|||{{||{|{|{||||{{|{{{|{{|{||{{{{{{|{{{|||{|{{{{{{{{{|{{|||{{|||{{{||{||{|{||{||||{{{|{{|||{||||{|{||{|||||||{||||||{{|{||{||{{{{{||{{{{{|||{{{{|{|{||{|{|{|{||{||||||{{{{|{|{{|{{{{||{{{{||{{|{{|{{|{{|{{|{{{{|||||||{||{||{|{{|{{|{|{{{{{{{|||{|{{{|{|{{|{{|{||{||{{||{{{|{|{{|{{||{|{||{{|{|{{{{{{{{{{|{{|{{{|{{{{|{||{|{{{{||||||||||{|{{{|||||{{|{|{{||{|{{{{{{{{{|{|||{{|{{|{{||{||{||{|||{{|{|{|{|||{|{|||{||{||{{{{{|{{||{{|{{|||{|{{{{{||{||{{{|{{||{|{|{{{{{{{|{{{|{{|{{|{|{{{||{{|||{{|||{{{{{{{||{{{{|{{{{|||{|{||{{||||{{||{{|{|||||{{{{{|{{|{{|{|{{{|{|{|{{||{{{|||{||||||{{{{|||{{{{{{{|{{|{{{{|{|{|{{|||||{{{{{|{|{|{|{{{|{{{{|{{{||{{{{|{{{|{{{{|{|{{||{|{{{||{{||||||{||||||{{{||{{|{{{{{{{{|{{{{|{{{||{|{{|{{{|{{{{{||{{{{{{{{{{|{{{|{{|{{|{|{{{{{|{||{||{{||||{{||||{{{{{|{|||||{{{{{|{|{{{{|{{|{{{{||{{|{||||{||||{|{{|{|{|{{|{{|{{{{{|||{{{||{{||{|{||||{||{||{||{|{{|{{{|{|{{{|{|{{{|{||{{|{{|{{|{{|{|||||{|{{||{||{||{|{{{|{|{{{{||{||{{{{{|{|{{{|||{|{|||||{|{{{|{{|{{{{{||{{{{||{||{{||{{{{|{{||{{|{{|||{|{{{{|{||{{{|{|{{{|||{{||{{{|{||||{{{{{{||{|{{{{|{{{|||{|{{{{|||{||||{{|{{||{|||||||{{{||{{{{{|{{{{{{{|{{{{{{||{|{{|{{{||{{{{|{|{|{{|{|{{|{{{|{{{{{|{{{|{{{{||||{||{|{{||{{{{{{{|{{{|{{{{{{|{|{||{{{{{{{|{{|{{{|{{{{|{{|{{{{{{{{||{{{{|{|{{|||||{|{{{{{||{{{{{{|{{{{{{{{{{|{||{{|{{{{{|||{|{{{{|{{{{{{|||{{{{{{{|{||{||{|{{{{{{{|{{||{{{{||{{|{{|{||{{{||{|{|{{|{{|{{||{||{{||||{{{{{{{|{{{{||{{{|{|||{{|{{{{{{{|{{|{{|{||{{||{|{|{||||||{||{{{{{|{{{{{|{{|{{||{{{|{{{|{{{{{|||{{{{{{{|{|{{||{{|{|{||{{{{{{{{{{|{|{|{|{{{{{{{{{|{{{{|||{{{{|{{{{{{{||{{|||{{|{{{|{|{{|||{{{|{||{||{{|{{{{{{|{|||{|{||{{{{{||{{{{{||{{{{{|||||{{|{|{{{{{|||{|{|{{{{|{|{{{{{|||{{{{{||{||{{{{|{{{{{{{{{|{|{{{{{{{{||{|{|{{|{{{{{{{{|{{{{{{{{{{{{{{{||{{{{{||{{{||{|{{{{|{{{{{{||{{{|||{{{{|{{{{{{{|{{|||{{{{{{|{||{|{|{{||{{{{{|{{{|{{{|{{|{{{|||{{||{{{{{|{{|{{{{{{{{{|{{{{|{|{{{{|{{{{|||{|{{|{{{{{{{|{{|{|{|{{{|{{{|{|{|{{||{|{{{|{{||{{{||{|{{||{{{{|{{{|{{|{{|||{{{{|{||{{|{{{|{{|{{|{{|||{|||{{{{{{{|{{{|{|||{{|{{{{{{{{{|{{{{{{{{|{{{{{{{{{{{{{||{{{|{{|{{|{{{{{{{{{{|{{{|{{{|{|{{{{{{|||{{{{{|{{{|{{{||{|{|{|||{{||{{||{|{||{|{{{{{{||||{{||{{|{|{{||{{|{|{{||{{{|{|{{{{{{{|||{{{||{{{{||{{{{{{|{||{{|{{{{{{{{{||{|{{||{{||{{|{|||{|{{{|||{{{|{|{{{{{{{{{||{|{||{||{{{||{{|{|{{|{|{{{{{|{{|{{{{{{{|{|{{|{{{{{{{||{{|{{|{{||{{|{|{|{|{{{|{{|{|||{|{{|||{|{{{{{|||{{|{{{|{{|{{{{{{{|{{{{{{{|{{|{{{|||{{{{{|{{|||{||||{|{|||{|{{|{||{|{{|{|{{{||{|{|{{|{{{{{{{{||{{{{{{|||||{|{{|||{{{{{{{{|{||{{|{||{{|{{||{{{|{{{{{|{{{|{{||{{{{|{|{{{{{|{{|{|{{||{{{|{{{|{{||{|{{{{{{|{{{{|{||{|{{{{{|{|{{|||{|{|{{||{{{{|||{||{|{||||{{{|{{{{||{{{||||{{{{{|{{|{|{{||{{{{{{{|{{|{{|{{{{{{|{{{{|{||{|{{{|{||{{||{|{{{{{{{|{{{{|||{||{{{||||{{{||{|{|||{{||{||||{|{{{||{{||||{|||||||{|{{{{|{{{{{{|{||{{|||||{||{|{{{|{|{|{{|{{{{{{||{{{|{{|{{{{{{{||{{{|{{{||{{{|{|||||{{{{|||{{{{||{|||{||{{||{|{{{{|{{|{{|{||{||{{|{{{{{{||{{||{{{||||{{|{|||{{||{|||{|{||{|{{{|{|{|{{|||||{||{{{{|{|{{|||{{|{||{{{|{{{{|{{||||{{|||{|{||||||{|{|{|{{|{{{{|{{||{{|{{|{|{|{||{{{||{|{{{{{{{|{|{{{||{{{{|{||{|||{{|{{{{{{{|||||||{|{|{{||{{{{|{{||{||{|{{{|{{{{|{{{{{{|{{{{|{|{{{{{|{{{|{||{||{{{|{{|{|||{|{{{{||{{{{|||{|{{{{|{|{|{{{{{{{{||{||{{{|{||{|{|{{{|{||{|{||||{{|{|{{{{||{||{||{{{|{{{{{{|{||{{|{{{{|{|{{{|||{{{|{{{{|{{|{{{{{{|{||{{|{{{{||{|{||{{|{|{|||{{{{|{{{|||{|{{|||{{{{{|{{{{{|{||{{{|{||{|{{{{{||||{||{{{|{{{|{{|{{{{{||{{|{|{{||{|{|{{{{|{{{{{{|{{{|||{{{{||{{{||||{{{|{|{{|{|{{{||{{{{{{{{{{{|{|||{|{{|{{{{|{|||{|{{{{{{{|{||{{{{{{{{{{|{|{{{{{{|{{{{{{|{{|{{||{{{{{{{{|{{{{{{{{{{|{{{||{{{{{{{||{{{{{{{||{{{{{{{||{{{||||{{{{||{{{{{||{{||{|{{{{{{|{{{||||{{{{|{{{{|{{||{{{{{{{||||{||||{{|{||{|{{|{{{{{{{{{{{{|{{{|{{{{|{{{{{{{{{{{{{|{{{{|{{|||{|{{|{|{{|{{{{{|{{{{{|{{{{{{{{||{{|{||{{{|{{{{|{{{{{{{{||{|{{{{||{|{|||{{{{{{|{|{{|{{|{{{|{||{{{{{|{|{|{||{|{{|{{{|{{{{{{|{{{{|{{{|{{{{{|{{{{{|{{|{{|{|{{|{{{{||{{||{|{|{|{{{{{{{|{{{{{{{|{{{{|{||{{{{{|{|{|{{{{{{|{|{{{{|{{||{{{{{{{{{{|{{{{{|{{{|||{{|{{||{{|{{{{|||{{{{{{{{|{{||{{{{||{{{{{{{{{{{{{{{|{||{{{{|{{|||{{{{{{{{|||{{|{{{{{{{{{{{{{{{|{{{{{{|{|{{|{{{{|{{{||{{{{{{{{{{{{{{{{|{{{{{|{{|||||{|{{|{{{{{{{{{||{{|{{{{{{{{||{{{||{{{{|{||{{||{{{|{{||{{|{{{{|{{|{{{{{{{||{{|{|{|{{{{{{{{{{{{{{|{{|{|{{|{{{|{{{|{||{{|{|||{|{||{{|{{|{{{{|{{{{{{{|||||{{{{||{{{{{||{|{{|{{|{|{||{{|{|{{{|{{{{{{{{|{{{{{||{|{|{|{{{{{|{||{{{{||{{{{{{{{{|{{{{{{{{{||{{{{{|{|{{{{{|{{|{{{{{{{{{{{||{{{|{{{|{|{|{|{|{|{||{|{{{|{{{|{{{{|{{{{||{{|{||{|||{{{{{|{{{{|{|{{{{{{{{|{{|||{{{{{{{{{{{|{{{{|{{{{{{|||{{{||{{{{{|{{{|{{{{{{{{{{{|{{{{||{|||{||{{{|{|{{{{|{{|{|{||{|{{{{|||||{||{|{{|{{{{|{{{||{{{|{|{{{{{{|{{|||{{{{{{{{{|{{{{{{{||{{{{{{||{{|||{||{|{{|{{{{{{{{|{|{|||||{{{{{{|{{|{{|{||{|{|{{||{|{|{{|{{{{{{|{{{{{||{{{|{{{{|{|{{{{{{{|{|{|{||{|{{{{|{||{{{|{{{|{{{|{{{{{|{{{{||{{|{{{|{{{|{{{{{|{{||{|||{{|{{{{{|{{|{{|{|{{{{{|{{{{{{|{{||{|{|{|{|{{{{{{{{|{{{{{{{{|{{|{{|{{|{{{|{{{|{|{{{|{{||{{|{|{{{{{{{|||{{{{{{{{|{{|{{||{|{{{{{||{{|{{{|{{{||{{||{{{{|{{{{{{{|{|{{|{{{||{{|{{{{{{|{|{|||{{{{|{||{{|||{|{{|{|{||{{{{|{|{{|{|{{{{{{{{{{|{||{{{{|{{{{{{|{{{|{{|||{||{{|{{{{||{||{{||{{{|{{{|{|{|{|{{{{{|{{|{|{{|||||||{||{{|{{||{|{|{{{{|{||||{{{||{{|{|{{{{|{{{|{{||||{{{{|{{||||{{{{||{||{||{{{||||||{{|{{{{{|{{||{{|{|{|{{{|{{{{|{{{||||{||{{{{|||{{{|{|{{{||{{|{|{{||{|{|{|{|{||{{|{|{|||||{{|{{|{{|{{||{{{{{{{{||{{|{{{|{{{||{||{||{{{{{{{|||{{|{{|{{{{{{||{|{{{|{||{{|{||{|{{{{|{{{|{{||{|{|{{|{{{|{{{||{|||{|{|{|||{{{||{{{|{{|{||{|{{{|{{{{{{{|{{{{{{{{{{|{{|{||{|{|{{|||{{{|||{||||{{{||||{|{|{||{{|{{{{|{|{|{{|{{{{{{{|{|{||{|{|{|{{|{|{{|||{|||{|{{|{{{{{{{{{|{{{{|{{{||{{{|||{{{{{|{{|{||||{||{|{{{||{{|{|{||{{{{|{|{{{|{{{||{{{{|||{{|{{{{||{|||{|{{|{{{|{{|{{{{{{{{{{|{|||{||{{{||{{|{|{|{{|{|{{{{|{{|{|{{|{{{{{{|{{|||{{{{{|||||{||{{{{{|{{|{|{{{{{{{||{{{|{|{|||{{{{{||{|{|{{{|{{{{||{{||{{|{{{||{|{{|||{{{|||{|{{{{|{{|{|{|{|{||{{|{|{{|{{|{|||{||{{|{{{||{{{{{|{|||{|{{{{|{{{|{|{|{{{|{||{{{|{{{|{{{{|{{|{{{{{{||{||{{{{{{|{{||{|{||{{|{{{{{{{{|{|{|{||{{|||{{{|{|{{|||{{{{{{{||{{{{||{{{{{|||||{{|{{|{{||{{|{{|{{{|{{||{{{{{{|{{|{{{|{{{{{{|{|{{{{{{{|{{{{{|{|{{|{||||{|||{{{{{|{{{{|{{|{{{{|{{{{||{|{{{|{{|||||{{{{{||{{{{|{{|{{{||{{{{||{||{{|{{{|{|{{{{|{{{|{|{{{{{{{{{{|{|{{||{{{||||{|{{{{{{{|{||{|{|||{|{{|{{{||{{{{{|||{||{{||{{||{{{|||{||{||{|||{{{{||{{{{{|{|{{|{{{{{{{|{{|{{{{{||{|{{{{{|{|{{{{{{{{||{{{{{{|{{{|{{|{{{{{{{{|{{{{|{{{|{{{{{{{|{{{{{{|{{|{|{{|{{{{{|{{|{|{{|{{{||{{{{{{{|{{||{{{{|{{{{{{{|{|{{|||{||||{{{{{|{{|{{{||{{||{{{{{{|{{{{{||{{|{{{|{{{{{{{{{{|{{|{|{{|{|{{{{|{|{||{|{{{{|{|{|||{||{|{|{|{{{{{||{{||{{{||{|{{{{||{{{{||||||||{{{{||{{{{{||{|{{{{{{||{{{||{||||{|{||{|{|{{{{|{||{|{||{{||{{{|||{{{|{|{{{{{{|{{{{{{{|{||{{{{{{{{{{||{{{{{{{{||{{{{{||{{{{{{{{{{{{{{{{||{|{{{{|{{{{{{|{|{|{{{{{{{{{{{{||{{{{||{{{|{{{{{{|{{|{{{{{|{{|{||{{{{{|{{|||{||{{{{|{|{{{{|{||{|{{{{|{{{{{{{{|{|{|{{{{{{||{{{{|{{{{{||{{{{|{{{{{{{|{{||{|{{{|{{{||{{{{{{{{|{|{{{{{{|{{{|{{{{|{{|{{{||{|{{|{{{{{{{|{{{|{{{{{{{{||{{||{|{||{{{{{{{{{|{{||{{|{{{|{{|{{|{{{{|{{{{{{||{{{||{{||||{{{|{{||{{{{|{{|||{|{{{||||{{{{{{|{{{||{{{{{|{{{{{||{{{{{|{||{{|||{|||{|{{{||{|{|{|{|||{{{{{{{{{|||{{|{{{|{|{{||{{{{|{{||{||{|{||{{||{|{|||{{|{{{||{{{{{{{{||{{|{{|{|{{{{||{|{|{|{|||{{|{{{{{{{{{|||{|{{|{{{|{|{{{|{{{{{||{{{{{|{{{{|{||||{|{{{{{|{{{{{{{|{{{|{{{|{{{||{|{{|{{{{{{|{{{||{|{|{{|{||{||{|{|{|{{{{||{|{{||{|{||||{{{{{{|{{|||{||{{{{{|||{|{{{{{|||{|||||{{||||{{||{{{{||{|||{{{{{|{{{||{|{{{|{|||||{{|{{{{{||{{{{{|{||{{|{|||||{||{{{||{|{||||||||{{|{{|||||{||||{||{||{{|{|{{|||{{||{||{||{|{|{{|{|{||{|{{|{{||||{{{{||||{{{{|{{{{|{|{{{{{{|{|{{|{{{|{||{{||{|{|{{{||{|{|{{{||{|{{{|{{{{|{{{{{{{{{{|{||{||{|{|{{{{{{||{||{||{{||||{|||{{{||{||{|{{|{||{|{{{||{|{{|{|{||{{||{|{||{||{{{|||{||||||{||||{||{{|{{|{{{|{{|{{{||{{|{|{{||||{{|{|{|||{{{|||{{|{{{|{|{{{{||{{{{|{{||{{{|||{|{{{|{{{{||{|{||||{||{{{|{{||{{||{||{|{{{|{{|{||{{|||{{|{{{|{|||{{{|||{||{|||{|{||{||{{{|{{|||{{{{{|{|{{||{|||||{|||||{|{{{{|{{{|{{{|||{{||{|{|{{|{{{{||{|{{|||{{{{||||{{||||||{||{{||{||{|{{{{{{|{{{{{{|||{|{{{{{|{||{|{{|{|{||||{||{|{||{|{|||{{{{|{||{|{||||||{{|||{|{{|{{{||{{{|{{{{|{|{|{{||{{{{{|||{||||{|{|{{{{{{{{{{{{{{{{|||||{{||||{{||{|{||||{{||{|{|{||{{{|||{||{{|{|{{||||{|{|{{{{{||||||{{|{{{|{{{||{|||||{|{|{{||{|{|{{{|{|{{{|{|||{{{||{{|{|{{{|{|{|{{|{{{{{|{|||{||{||{{{{{{|{|{|{{{||||{{|{|{|{{||||{{{{{{|{||{{{|{{{||{{{{{{{{||{||{{|||{{{|{{{||{||{{|{|||{||{{|{{|{{{|{|{|{{{|{{|{{{{{||{|{{{{{{|||{|{{{|{||{{|{||{||{{|{{|{||{{{|{||{{{{|{{{||{{{{{|{{{|{||{{{{|{|{|||{|{|||||{{{{{|||||{{{{|{|{{{|{{|{{{{{|{{{{{{{{{{{{{{{|{|||{||{|{{{{{{{{||{{{|{|{|||{{{{{|{|{{||{{{|||{||||{{{{|{|||{|{{{|{{{{||{{|{{|{{{{{{{|{{{{{{{{{|{||{{{{|{{{{||{|{{|||{|{{||||{{|{{|{|{{{||{|||{{{{|{{|{{{{|{{{|{{{{{{|||{{{|{{{||{{||{{{{|{{{|{|{{{||{||{|||{{{{{{{{||{{{{{{|||{{{{{{|{||{{{{|||{|{|{{||{{||{{{|{{|{|{|||{{{||{{|||{|{{{|{{|{{|{{|{{{{|{|{|{|{|{||{||{|{{||{{{{{{{||{|{|{{{{|{{{{{|{|||{{{|{{{{{{|{|{|{{||{|{||{||{|{|{|{{||{|{{{|{{{{{|{{{{|{|{|{{|{|{||{{{{|{{{{{{{{{{|||||{{{||{{{{|{{{{||||{{{||||{{{{|{|{{{||{|{{{||{||{{{|||{{|{{||{{|{|{|||{|||{|{{|{||{{||{{{|{{{{||{|{{||{||{{|{|{|{|{{|{{||||{{{||{{{{|{{{||{|{|{||{|{{{{{|{{|{|{{{{{|{{|{{{{|{|{|{{||{|{|{|{||{||{{|{|{{{{{{|{|{{||{{{{{{|||{{{{{{|||{|{{|{{||{|{|{{||{|{{{{{|{{||{{{{|{{{{|||{||{|{|||{|{||{|{|{{{|{|||{{||||{|{|{{{|{{{|||{{{{{{{|{{{{||||{{{||{{{{{|||{{|{||{|{|{{{{|{{{{||{{{|||||||{{{|{|{||{{{{{{{|{{|{{{{||||{|||||{||{||||{|{{{{||{{|{|{{|{{{{|{|{{{{{||{{{{|{|{{||||{||{{{|{{||||{||||{{{|{{|{||{{{|{{|{{{{|{{{||{{{{|{|{|{||{{||{{{{|{||||{{{{||||{{{{{||{{{||||{{{|{||{{|{{{{{{{{|{|{|{||{{|{|{{|||{{||{||||||{{{{{||{{{{{{{|{|||{{|||{||{|||||{{|{{{{|{|{{{|{|{{|{{|{|{|{{{{||||{|{{|{|||{|{||{||{{{{{{|{|{{{{||{|{|{{|{|{{||||{|||{{{{||{{{|{{{{||{|{||||{|||{|||{{{|{{|||{|{{{{|{||||{|||{|||{|||{|{|{{{{{|{|{{{{|{{||{{|{{|{{|{{{{|||{{{|{{{{{|{{{{{{{|{{|||{|||{|||{{{|{{||||{{{|||{|{{|||{{|{{|{||||{||{||{{|{{|{|{||||{{{{{{{{{|||{|{{{{{||{|{|{|{||||{|||{{||||||{{|{|{{{{{|{||||||{|{|{{{{|{{|{||{{{|{|{{{||{{{{|||||{{{{{{|||||{|{|{{||{{|{{{{|{|{{{|{{{{||{||{{||{|||{{|||{{||||{|{|{|{{||{{|{{{|{||{{|{{{{{{|||{{||{|{{{{{|{|||{{{{|{{||{|{|||{|{|{{{{|{{{|{{{{{{{{|{|{||{{|{{|{|{{{|{{{{|{{{{|{|||||||{{{|||{{{|||{{{{|{{|{{|{{{{|{|{{|{{{|||{||{||||||{{|{{{||||{{{{|{|{|{|{{{|{|{|{{|{|{|||||{{{{|{{{|{{{{{|{{{|{{{|{{|{{{{|{{{{||||||{|{{|{|{{|{{||{{{||{|{{||{{|{||{{{|{|{{|{{||||{{|{|{{{{{{{|{{{|||{{|{||{{|{{|{{{{||||{||{||{||{{{|{{{||{||||||{{||{{{{|{{{||||{|{{{{|{||||{||{{{{|{{{{|{|{|||{|{||{{{{|{{{{{|{||{{|||||{|{{|{{|{{||{|{|{{{{|{||||||{{{{{{{{{{{{{|||{|{{|||{{{|{{||{{|{||||||{{{|{|{|{{|{{{|||||{{||{|{{|{||{{||{|{{||{{||||{{|||{{||{|||{{|{{||{|{||{{{|{||{{|{|{{{||{||{{{|||||{{||{{||{{{{||{{|{{{{{{{{{{|{|{||{||{{{{{||{{|{|{|{{{{{|{{{|{{|{{|{|{||{|{{|{|||{|{|{{{{{{{||{{|{||{{|||{{{{|||{{||{{||{|||{{{{||{{||{{|||{|||{||{|{|||{{|||{{||{{||{|||{{|{|||||{|{|{{|||{|||{{|{|{{|{{{{{{|{{{{{||||||{|{{{|{{{{{|{{||{|{{||{{{{||{{|{{{{||{{{{|||{|||{|||{{||{||{{|||||{{|{||{|||{{|{|{{{{||{|||{{|||{|{{{{|||{{{{|{{{||{{{|{||||{{{|{{{{|||{||{|{||||{{|{{{{{{||{{||{||{{|{||{{{{|{{|{{{{{{|||{{||{||||{{{||{{{{{{||||{{|{{{|||{||{{{{{{{|{||{{{{|{{{{|||{|||{|{{{||||||||||{|||{||{{{|{||{|{|{|{{{||{|{{{{||||||||||{{|{{|||||{||{{{{{||{|||{{|{||||{||||{||{|{||{{|{{{{{|{|||||{|{{|{{{{||||{||{|||{|{{|{{{{{{{|{||{{{{{|{{{{||{{{{{{||{{{|{|{{|{{|{||{{{{{|{{|{|||{|||||||{{{||{{{{{{{||{|{|{{{{{{{|{|{{{{|{||{{{{|||{|{||{|{{||{||||{{||{{||{{{{{|{{||{{||{{||{{|{|{|{|{||{{{{{|{||{{||{|{|{{|||||{||||{|{|{{|{{{|{{{||{{|{||{{{{||||||{{|{{|{|{|||{{||{{|{{{{{{{|{{||||{|{{{{{|{|{||{{{||{|{|{|{{{{{{{||{{|{{{|{||{{{|{{|{{|{{||{|{|{|{{{|||{{{{{|{{{{|{{|{|{{{|{||{|{|{||{{{|||||{|{||{|||{|{{{||{{{||{{|{{{|{{|||{|||{|{|{{|||{{{||{|{|{|{|{||||{{{{|{{{{{{|{|{{{{{{|{|{|{{||{|{|||{||{{|{||||{|{{||||{{|||{|{{{|{||||||{{{||{||{{{{{||||{{{{{|{|{{|{|||{{||{{{|{||{|{{{{{{{|{||{{|{{{||{|||{{|{{{{|{|{{||{{{{|||{{|{|{{{|{|||{{|{||{||{{{|||||{{{{|{{{{|{|{{{||{{|{||{||{{{{||{{|{{{{|{|||{|{{|{{{{{||{|||{{|{|{{{{|{{|||{{||||||{{||{|{|{|{|{|||{{{|{{{|||||||||{{|||||{{{{|||{{{{|{{{|{{{{{{|{|{{{{{||{{{|{|||{|||{|{|||{{{{||{||{||{{{|{{||{{||||{|{{||{||{|{|{||{{|{{{|||{|{{{{|{{{{{{|{{{|{{{{{{{|{|{{{{{|{|||{{{{{||{{|{|{|{|{{{||{{{{{{{||||{||{|{{|{{{|{|{||{{{{|{|||{{||{{|{||{||{{||{{{|{|||{||{|{{||{{{{||{{||{||{{|{{{{|{{{{{|{{|{||{{{|{{||{{{{||{{{|{{{{||{{||{|||{|{{|{|{|{|{|{{{{|{||||{{|{{{|{{|{{{|{|{{{{{{{{{|{{{{|{{{{|||{{{{{|{|||{{{{||||||{{|||{{|{|{{|||{|||{{|{|{{{|{{|{|{||||{|{||||{{{{|{{|{|{|{|{{{{{{{{{{|{{{|{{||{||{{{{{||{{||{|{{|{{||{{|||{{|{|{{|||{|||{{|{{{|{{|{|{{||{||{||{{{{{{{|{{|{{{|{|{|{|{{{|||{{{|{{{||{{{{{||{{{{{|{|||{{{|{{{|{|||||{{||{{|{{|{{|{{{{{{||{|{{{{{{|{{|{|{{{||{{{{||{|{|||{|{{||{|{{||{{{{||{{|{|{||{{|{{{{{{||||{|{|{|{{{{{{|{|||{||{|{{{{{{|{{{{{{{|{||{|{||||||{{{{||{{|{||{{{||{|||{{|{|||{{{{{|{{{{{{|{||{|{{|{|{|{||{|||{|{||||{||{|{||{|||{{|{{{|{|{||||||{|{|{{{{|{{|{{||||{|||{{|{{|{|{||{|{{|||||||{||||{|{{|{||||{|||{{|{{||{{|{{{|||{||||||{||{|{||||||||||{{||{||||{||{{|{|||||||||{{|{||||{|{|||{|{{{|{|{||{|||||||||{{{|||{{{{|||{|{|{{{|||||||{||||{||{|{||{{{|||{||||{{{|{|{||||{|||{||||||{|{{|{||||{{{|{|{{{||||||{|||{|{|||{|||{|{{{{{{|||{||{|{|{|||||{{{{{|{|{{{|{|{|||{|{||{{|||||{|{|{|||||{||||||{||{{{|{{{|{{|{{{{{||{||{|{{||{{{||{|{|||||{|{||||{{{{||{|{|{||{|{||{||{|{{||{|{|{||{|{||{|||||{|||{{|{|||||{{{|{|{|{{|||{{|{|||{{{|||||||{{||||||||{{||{{|||{|||{{|{{||{{||||{||{{{|||{|||||{|{{{|||||{{|{|||{{|{{|{{{{|||{|{{||||{||{||||{||{|{{{{||{||{{{{{|{{{{{{||||{|{{||||{|{{|{|{|{||{|{|{{|{||{||{||||{|{||{||{||{|{||{{{||{||{{{|{||{|{{{{||{{{{{||{{{{{||{{|{{|{{|{{||{|{|||{|{{{{|||{{{{||{||{{|{|||{{{||{{{{|{|||||||{||||{{||||{{{{|{||{|{||{|{|{|{||||{{{{{{{{{|{||{||||||{{|{|{{{{|{||||||{|||||||||{|{|||{{|||{{|||{|{||||||{|||{|||{{{||{||{{{|{{||{||||{{||{||{{|{{{{||{{||{{|{|||{|{{|{{|{{|{|{|{{||{{||{{|{{{|||{|||||||{{{{{{||{|{|{||||{{{|{|{|||{||{|{|||||{{||{||{|||||{||{||{{|{|{|{{|{|{{{||{|{||{|{|||{{{|{|||||{{{|{{|{|{|{|{|{{|||{{{{|{{||||||||{|{{||{|{{{|{|{{||{{||{{|{|{{||||{{{|{|{{|||{{|{||{||{{{||{{|{{|||||||||||{||||{||{|{||||{{{{||{{{{{{{{{{||||||{||||||{|{|{||{|{{{{{|{{|||{|{{|{{|||{|{||{||{|{{{|||||{|{|||{{{|{|{{{||{{|||{|{|{|{|{|||||{{{{{{|||||{|{{{{{{{{|{{{{{||||{|{{|{|{{|||||{|{|{{{|{{||{||{{|{|{{{||{{||||{||{{||{{{||{{{{{{{||{|||||{{{|{||{{|{{||{{{|||{{{{{{|{|{|{|||{{{|{{{{{{{||||{|||{{||{{|||||||||{{|{{{{{|{{|{||{{|||{{||{{{|{{|{{{|{{|{|{||{{{{{{|||{{{{|{{{|{|||{|{|{{{{{{{||{|{{{{{{||{{{{|{||||{|{{{|{|{|{|||{||{{||{||{|{{{||{{{|{{|{|{{{{|{|{||{|{{{{|{{|{{|||{|||||{|{||{|{|{{||||{{|{{{|{{|||{|{{|||{{|{{{||||{||{{{|{{{{{|||{|||{{|{{{|{{{{{|{{|{{{{||||{|{{{{{{|{{|||{{|||{{|{{{{{|||{{||||{{|{|{{|{{|{{{||||{|||{{||{{|{|{|||{{{{||{|{{{{|{{|{{{|{{{|{||{{{|{||{||||{{|||||{{{{{{{{{|{{{{||{{|{{{{{||{|{{||{|||{|{|||{{{|{{||||||||||{{{{|{|{{||||{||{{|{|{||||{|{||{|{||{{{|{{|{{|{{||{{||{{||||||||||{||||{{|||{||{||{{|{||{|||||||||||||||||||{||||{||||{|{{|||{||||{|||{||{{||{|||{{{|||{||{||||||||{{|||{|{{|||{||{||{{{||||{|||||{||||||||||{{||||||{{{{|{||||||||||||{{{||||{|{{|{||{|||||||{|{|{||||||{{|{||{|||||||||||{|{||{||||{|{{{{{|||||||{|{||{|||||||{|{{|||{|{|{|||{||||||||||{{{||{|||||||||{|{{||{|{|{{|||||||{||{||||{||{{{|||||||||||{{|{{||{{{{{{||{{||{{||||{|{|{||{{|{||||||||||||{||||||{||{{||||||||{{|{|{||{|||{|{|||{{||{|||{|||||||||||||||{|{|||{{||{{{{||{{{|||||||||||{|||{||||{||||||||{||{||||{{||||{|{||{||||{|||{|||||||||||{||{||{|{{|{|{{||{{|||||||{|||||{|{||||||{|{||{|{||||||{||||||||||{||{||{{|{|{|{||{||||{|{|||||{|{||{||||{||||{{|{|||||{||||||{|||{||{{{{|||{{|||{{|||||{{|{|{{{|{{{|{||||||{|{|||{|||{|{|||||{||{{{||{|{{||||{|{{||||{{|||{{|||{||{||||||{{|{{{|{{{{|{|||||||{|{|{{{|||||{|{||{{{|||{{|{{||||||{|{|||{||||||{|{||{||{{||{||{||{|||{{|||{{|{{{|||||{||{|{{||||{||{||{{{|{{|||{||||{||{{|||||{||{{{|||||{||{||||{{|||{||||{{|{|{||{{||{||{||{||||{|{|||{||{{|{{|{{|{{||||||||{|||||||{{|{|{|{{|{{|{|||||{|{|||{{||{|{{|{||{||||||||||||{{{|||||{{||{|||{||{|{||{|||{|||||{|{|{{||||{||{||||{|{{|{|{||||{|{|{|||||||{|{|{{||{{|{|{|{||{{{|||||||{{|||||{||||{{|||||||{||||||{||{|||{||{||||{||{||||||||||{|||{{{||{|{||{||||||||{|||||{||{|||{{|{||{||{|{|{|||{|{|||{{|||||{||||{||||||||{|{|{{|||{||||{||||{{|{||||||||{|{{|{|{{{||{|||{|{||{|||{{{|{||{{|||{|||{{{|||{{|{|||{|{||{|{||||{{{{|||||||||{{{|||||{||{{||||{||{{{{||{{|{{|{|||{{{{|{||||{|{{||{{|{|{{{{{{|{{{|||||{{|{{||||{|||||{{|{|{||{{|{|||{||{||||{||{||{{|{|{{{|||||{||{||||||{|{{{|{||{{|||{|{{|{|{||{{{||||{|{|{{||||{|||{{{|||||{{||||||{|{||||{|||||{|{{||||{{|{||{||||||{{||{|||{|||{|||||{|{{{{||{||{|||{|||||||{{|{{||{{{{|{{|||{|{{|||||{||{{||{{||{||||{||{{|{{|{{|||{||||{||||{||{||{{|||{{{{||{||{{{{||{{{{{|||||{{|{||{|||{{|{{|{{{|{{{{{{|{{{||||{{|||||{|{|{{{|{|||{{{||{{|{|{|{{{|||{|{{{|||{{|{||{{|{||{|||||{|||{||{|||||{{||{||{|||{{||||||||||{||||{||||||{|{||{|||{|{|||||||||||||||||||||{|{|||{{|||{|||||||{|||||{{|{||{||{||{{||{||{|||||||||{|{||||{{{{|{|{|||{|||{||||||{||{|{||{||||{{||{||||{|{||{||{||{|||||||{||||||{{|{|||||||{|{||||||{|{|||||||{||{|||||||||||||||{|||{||||{|{|||{||{{|||{{{|{|||||||||||||{|||{||{||||||||||||{|||{|{||{|||{|{||||||{|||{|||||{||{|||||{|||{||{||{{|{||{||{{||{{||{{{|||||||{|{{||||{|||||{|||{{|{|||{{|||{||{{|{{|{||||||{{|{{||{|||||||||||{|||{|{|||||{|{||||||||{{|{||{||||{|{{||{||{{||||||||||{||{|||||||||||||{|||{|||{{||{||||||{||{|{||{|{{||{||||{|{{||||{|||||||{||{|||{|{||{||||{|{|{{|{{|{|{|||{||||{||{{{||{|||||{||{|||{{{{{{{||{||||{|{|{|{|||||||{{{|||{{|{{{{|{|||||||||{||{|{||{|{||||||{|{{|{|||{|{||||{{|||{{{{{||{||{{|{||{{{{{{|||{|||{|{{||{||{||{|{|{{{|{{{|||||||||||{{|{{{{|||{||||||{||{||{||{|{||||{{|||{{{|{||{|{{{{|{|{{{{{{||{{|||{{{||||{||||||||{{||{{|{|||||||||||{{{||||||||||{{||{||{|||||||{|{|{||{{|||||{{|{|||||{|||||||||||||||{{{||||{|{||||||{{{|{||{|||{||||||{|{||{|||{||{{||{|{||{{||{{||||||||||||{{|{{{|{{|||||||||||{|||||{||||||||||{||{{{|||{|||{|||||||{|||||||||||||||{|||||||{|||||||{||||{|{|||{|||||{|{||{|{|{{{|{{||||||||{|||||||||||||{||||{||||{{|{||||||||{{||{|||||||{||{||{{|||||||||{|||||{||||{||{|{||{{|||{|{{||{{||||{|{|||||||||{{|||{||||{{|||{||||||||||{|||{|||||||{|{||||||{|{|||||||||||||{|||{|||{||||||{||{||{|{||{|{|||{|{|{{{|{|{||{||{||||||{{||{{|{||||||{{||{|||{|{|{{|{||||{|||{||{|||{{|{||{{|||||||{|||||{||{|||||{|{||||||||||||{||{{||||{|{{|{{{|{||||{|{{||{|||||{|{{|||{||||||||||||{|||{|{|{||{|||||{|||||||||||{{||{||||{{{|||{||{|||{||||||{|{|||||{{|{||{||||||{|||{|||{|{|||||||{||||||||||||||||{||{||||{||||||||||||||{{||{|||||{||||{||||||{|||||||||{{||{|||||{{{|||{|||{{||||{{||{{|{|||{{|{|{||{|||{{|{|{||||{|{|||||||{{|||||||||{|{|||||||{||{{||{||||{{{||||{|||{||||||{{||{||||{|||||||{{|||||{|||||{{||{|{{||||{|||||{{{{{||||||||||{{{|||||{{|{|||{||||{|||||||||{||{||{{|||||||||{|{{||{{|{||||{{||{|||||{{||||{{|{{|{{||{|||{|{{||{{||{{|||{|||||||{||{|{|{|{{||{|{{|{|{||||{|||||||||{|{{||||||{||||{|{{{||{||{||||||{|||||||{{||{{{|{{{{|{{||||||{|||{{{{{|{|{||||{|{{|||||{|{||{{|{||{||{{||{|||||{{||||||{|||||||{||||{|||||{{|||||{{|{|{||{{|{||{{{{||{|{{|{||{{|||{{||{|{||||||{||{{|{|{|{|||||{||||{||{|||||{|||{{|||{{|||||||||{{{{|{{||||||||||{|{||||||{{{{{|||||||||{|||{{|{{{{{|{|||{|||||{{|{{|||||{||{|||{||||{|{||||||||||||||||{|{|||{{|||||||||{|||||||{|||||{|||{{|{||{{|{|{||{{||{|{||||{|{|{{|{{|{||{||{|{|||{{||{{|{{||||{|{|{{{|{||{{||{|||{|{||{|{|||||{{|{||{|{{|{{|{|||{|{||||{{||{{||{||{{{{|||{|||{|{|{||{|{||{||||{||{{{|{||||{||{{|{|{{|{|||{||{|{{{||{|{||{|{|||{||{|{|||||{{|{||{||||{|{|{|{{{|{|{||||||{{|{|{|{|{||{||||{||||||{||{||{|{{|||||{||{|||{||{{{||||{||||||{||{||||{{|{||{||||{|{{||{|{|||{{|||{||{|{|{|{{|||{|{|{{||||||||||||{||||{{|||||{|||{{|{||||{{{||{||||{||{{{|{||||||||||{{||{|{||{{||{{||||||||{|{|||||{{|{||||{|||{||||{{{|{|||{|||||||||||{||||{{|{||{{||||||{|||{|||{||{|{|{|||{|{||{|{|||||{{|{{|{|||{|{||{||||{|||{{|{|{|{{{||{||{||||||{|||{{||||||{{||{|{|{|||{{|||||{|||||{|||||{||{{{|||||||||{|{|{||{|||{||||||||{||||{{|||{||||||||{{||||||||{||{|||{{{|{{{{|{{{|||||{||||{||{||||||{|{|{|||{{|{|{{{||||{{||||||||{|{{||||{||||||{{{|{{|{|{{||||||||||||||{|{||{|{|{|{||{|{|{||||{|{|{{|||||||||{{||{{|{||||||{{||{||{||||||{{{|{||||{|{{|{{||||{||||||{||||{{||{{||||{{|{||||||||{||{{|||{|{{|||||||{||||||{|{||{{|{|||{||||||||||{{||||{{|{{|{||||||{|||||||||||||{{|||||{{|{|||{||{|{|{{{|||{|{{|||{{{|{||{||||||||{{||||{{||||||||{|{|{|||{{||||||||||||{{||||{||||{{{||||{{|||{||||||{{|||||{||||||{{|||{||||{|{||||||{{|||{||||||||{|{||||||{{{||||{{||{{{{|||||||{|||{||{{|||||||{|||{{|||{{||{{{|{|||{{|{{|{||{||||||||{|||{|{{||||{||{{{||||{||{{|{{||||||{|||{|||{{||{||||||{{||{||||{|{|{|{||||{||{|||{{{{{||||{||{|{||{|||||{{|{|||||||||{{||||||||||{||||||{||{|{||{||{{||||{|||||||{{||||||||||{|||{{|||||{||||{{{||||||{{{{||||{|{{|{|{{||{|{||{|||{|||{{||||||||||{{|{||{{|||{|{{|{{{{{||||||||||{|{{{|||||||{{{|||{||||{{|{|{{||||{{|{||{|||{{{{|||{{|{{|||||||||||{||{|{{|{{||||{{|||{|||||||{|||{{||{|||||||||{{|{{||||{{{|||{||{|||{|{||||||{|{|{||{||{{||{||{{|{{{{|{{||{{{|{{{|{|{{||{|{|{|{{|||||{||||{||{||{||||||||||||{||||||{{||||{||||||{{|{{||{{{|||||||{|{|||{{{||{|{||||{|{||||||||{|{|{||{|{{{|||{|{{|{|||{|{{{{|{||{|{{|{|{|{||{|||{|||||||{{|||{{{|{{{|{|||{|{|{|||||{|{||{||{|{{{{|{|{|||{|{|{||||{|||||{|{|{||{||||{||{|{|{{{{|{{|{|{|{|{{{|||||{{|||||||{{|||{||{||{||{|{||{|{{|{|{{|||||{||||{|{|{|{||{|{{||{|{{{{{{{||{{|{|{||{{{||||||||{|{|{{||||||{||{|{{|||{|{{|||{||||||||{{{||{{|{{||||||{|||{{{|{||||{{{|{|||{|||{{|||||{||||||{|{{{|{|||{{|{||||{|{|||||{|{{|{{{{{|{|||{|||||{|{{{{|{{{{|{||||||{|{|{||||{|||||||{||||{|{|{{{{|||{||{{{||||||{|||||{{|||||{||{{{||{|{||{{||{||{{||{{{{||||{{{{|{{{{{{|{|{|||||||||{|{||||{{|{||||||{{{||{|{{{|{||{|||{{|{||||||||{|{|{{{||{|{{{{{|{||||{||{{|{{||{||{{||{||{{{{{{{|{|{||{{|||{|||{|{{|{|{||||{|{|{{|||||{{{|||{|||||{||{{{|{{|||{{|{||||{||||||{{||{|{|{|||{{{||{|{{|||||||{||{|||{{|{||||{{|||{|{||{||{{|{|||||{{|||{{{|{|{||{|{{|||{|{||{{{||{||||{{{{|||{|{{|{|||||{|||{{||{{|{{||||{{{|||{||{||{|{|{|||||{|||{|{|{|{|{||{|{{||{|{||{|{|{{|{||{{||{||||{{|||{|||{{|{{{||||{|{|||{{|{{{||{|{{|||{|{|{||{{||||||||{||{{||||||{{||{|||{{{|{||||{||||||{|{||||{||||{|||||{||||{||{{|{|{|{{|{|||||{|||||{{|{|{|{{||{{{|{{||{||||||||{|{{|||{|{|{|{{{||{|{||||{|||||||||{{||||||{||||{{|{{{{{{|{|||{|{||||||{|{||{||||{|||{|||{{{{|||||{||{|{||||{|{||||||{{|{|||||{|{||||{|{||{||{|{|{{{|||||||{{{|||{|{|{{{{|||{|{{|{|{|||||||{{||{{{{||||{{||||{||||{{|{||{|{||{||||{||{|{||{|{|{{{{|||||{|{{{{|||{|{|{{||||{{{||||{{|{|{{|||||||||{{|{|||{|{{{{|{|||{{||{{||{{|||{||{||||||{{|{||{{|{{|{|{|||{|{||{|{{{|{|{||{|||{|{{|{|||{|{{{{|{||||{|||{|{{|{|{|||{{{||{|||{||{{{||{{|||||{||{|||{{|{|{|{{|{|{|||||||{|{{{{||{|||||||{|{|||||{||{|||||||||||||{||||{|||||{|||||||{||{|||{|||{|{|||||||{{|||{|{|||{||||{|||{||{{|{{{|||{|{{{{|||||||||{{{||{|||{|||||{|{||{{|{{|||{||||||||||{{|||{||||{|{{|||||{|||||{||{|||||||{||||{|||{{||{|{{{|||||{{{|{||||||{||||||||||||||{||{|{{{||||||||||||||||||{||{|{|{{|{||||{||||{{||||{|{||{|||||{|{|||||||||{{||{||||{{||||||{{|{{{||||{|{|||||{|{{|{||{{||{|||{|||{{||{|{|{{||||{||||{|||{|||{{|{|||||||{{|{{|{||{|{{{|||{||||||{||||{|{|{||||{{{{|{|||{{{|||{|||{|||{||{|{||||{||{|||{|||{|||{|{||{{||||||||||||{{||{|||||{|||{||{|{{{{||||{|||||{{||||||{|||||||||{||{|||{|{||||||{|{|||||{||{|{|||{|||||{{|||||{{||{||{{||{|||{|{||||||||||{|||{{||||{||{|{|||{{|{{|||{|||{|||{|||||{||||||||||||||||||||{{{|{|||{{|{||{|{|||{||{{|||{||||||{|||{{|{{|||{|{|||{||||{|||{|||{{||||||||{|{{{{|{|{{|{{|||||{|||{|||{{|{||||||{|||{{||{{{{{||{{||||||{|||{||{||||{||||||{{|{||||{{|{|{||{|{||{|||{|||{{|{|{||||{{|{|{|{|||||||||||{||{||{{{{{|{|{|||{|{{||||||{||||{{||||||||||{|{|{{|{{{{||{||||||{|{|||{{|||{{{|{{{|||{||||{||||{|{{|{{{|||{|{{|{||||||{{||{{|||||{|{||||||{|||||{{{|||||{{|{{{||||{{||{{{|{{|{|||{|{||{|||{|{||{|||{{|||{||{{||{{||{{{|||{|{||||{||{{||{|{|{{{|{||{||{||||{{||{|{|{{{|||{||{|{||||{|{||{{{{||||||||{|||{{|||||||{{||||{|{|{||||{{|{|||||{|{{|{||{|{||||{|{|||{||||{|{{|{{||{{{{|{|{{|||{||||{|{{{||{||{|{|||||||||{{{|{{|||{|||{{|{|||{{||||{||{{{|||||||||{|{|{{|||||{|{{||{{|{{{{{{{{|{||{{|||||{|||{|{{{|{{{{{||{|||||{{{|{{{{{{||{||||{||||{||||{{{||{|{|{||{|{||{{{|{{|{|||||||{||{|{|||{|||||||||{|||{{{{||{{{|||{|||||{|{|{{|{|{{{|{{||||{|||{{||||||||{|{{{{|{|{||{||{||{{|||||{||{{||{|{||||||||||{{{{||||{||{|{|{|||||{{||{{||{{{|{{|||||||||{{|{|{{{{|{|{||||{||||{{|{|||{|||{{|||{|{{|{{|||{||||{{|{|{||{|||{|{{|{|||||||||||||{{||{|{{{|||{{|||{{|{|{|||{||{||{||{||{{{||{||{{|{{{||||{|{|||||{{|{|||{||||{||||{{{|{|{|||{{|{|{||||||{||{{|{|{{|{{{{|||{|{{||{|{|{||{{|{{{|{||{{{||{|||{|{||{|{||{{{{|{{{{{{{{|||||||{{{{|||{|{||||||||||{||||||{|||||{||||{|||||||||||||{||||{||||{||||{|||||||||||||||{||||||||{|||||||||||||||||||||||{||||{||||||||||||||||{||{|{{|||{||||||||||||||||||||||||||||||{||||||||||||{|||{|||||||||||{||{|||||||||||||||||{{||||||||||||{|||||||||||{|{||||||{||||||||||||||||||||||{|||{|||||||{|||||{{||||||||||{||{|||{||{||{{{||{|||||{||{||||{|||{||||||||||||||||{|||||||||||{|{|{|{|{||||{||||||||||||||||||||||||||||||{{|{||{||||{||||||||{||{||||||||{||||||||||||||||{|{||||||||{|||||||{|||{||||||||||||||{{||||||||||||||{|{{|||||||||||||{{||||||{||{|{|||{||||||||||||||||||||||||||{||||||||||{||{|{|||{{|||||{||||||{||||{|||||||||||||||||||{{{||||||||||||{||||{|||||||||||||||||||||||||{|||||||{|||||||||{|||||||||||||||||||||{{|||||||||||{||||||{||||||||||||||{{||||||{{{|{|||{||{{|||||||{||||||{|||||||||{||{|||{||{|||||||||||||||{||||||||||||||||||||||||||||||||||||||{|||{|||||{|||{||{|||||||||||||||||||||{||{|||||||||{|{{|{|||||{{||||||||||{|||{|||{{|{||||||||{||{|{|||||||{{{{|||||||||||||||{|||{|{|||||{|{||||||||{||||||{||||||||||{|||||||||||||||{{|||||||||||||||||{||||{|{{|{{||||||{|{{|{||||||||{||||{||{||{||||{|{|||||{|||{||{|||{|||{||||||{|||{|||||||||||{|||{|{||||{{{{{|||||||||||||{||||||||||{{{||{|||{|||{|||||{|{|{{||||{|{|{|||{|{||||||||||||{||||||{||{{|||||{||{{|||{||{||||||||||{||||||||||||{||||||{||||||{|||||{{|{|||{{|{||{||{|||{||||||||{||||||||||{{{|||{{{|||{|{||{|||{|{||||{{|||||{||{||{|{{|{||{|{{{||{||{||{||{||||{|{||||||{||{|{|{|||||{{||{||||||{|{||||{|{|{|{||||{|{||{|{|{{||||||{||{|||{|||||{{{{|||{|{|{{{||{|{|||||||||{{|||||||{|{||||{||||{|||||||{|||||||||||{|||||||{||{|{||{|||||||{||||||||{{||{{|||{||{{|||||{{|||{|{{{{|{||||{|||||||{{||{||{|{{|{{|{||{{||{||||||{{{|||{|||||{{|||{{||{{||||||||{||||{|||{{{|{|||||||||||{|||||{||{||{{{|{|||{{|{|||||{{{||||{|||{||||||{||{||||{{||||||||{||{|||||{||{||{||||{|{|{{|||||{|||||||||||{{|{{||||{{{||||||{||{||||{||{|{|{|{|{{|{||{||||{|{{||||{||||{|{||{||||{||||||||||||{||||{|{||{|||{|||{|||||||||||||{|||||||||||||||{|{|||||||||||||||||||||{||||||{||||||||||||||||||||||||{||||||||||||||||||||||||{|{||||||{|||||||{||||||||{|||{||{|||||||||||{{||||{||||||||||||||||||||||||{|||||||{||{|||||||||||||{|||||||||||||{|||||||||||{|||||||||{||||||||{|||{|||||||||{||{||||{|||||||{{|{|||||||||||||||||||{||||{||||||||{|||||||||||{||{||||||||||||||||||||||||||||||||||||{||||{||||||||||||||||||||||{|||||||{|||||||{{|{|{||||||||||||||||||||{{||||||||||||||{||{|||||||||||||||||||||||||||||||{|||{||{|||||||||||||{|||||||||||||||||||||||||{||||||{|{||||{||||||||||{|||{||{||||||||||||||||||{||{|||||||||{|||||||||||||||||||||||||||||||||{||{||||||||||||||||||||||||||||||{|||||||||||{||||||||||||||||||||{|||||{{|||||||||||||||||||{|||{||||||||||{{|||||||||||||||||||||||||||||||||||||{||||||||||||||{||{|||||||||||{|||||||||||||||||{||||||||||||||||||{||||||{|{||||||||||||||{||||||{||||||||{||||||||||||||{|{|||||||||||||||{||{{|||||||||||||||||||||{|||||||||{||||||||||||||||||||{|{|||||||||||||||||{|{{|||||||||||||||||||||||{{|{{|||||||||{{|||{||||||||{|||||||{|||{|||{||||{||||||||||{{||{||||||||||||{{|||||||||||||||{|{|||{|||{||||||{||||{|||||{|||||{{||||||{||||||||||||||||||||||||||||||||{|{|||||||||||||||{|||||{|||||{|{|||||||||||||||||||||||||{|||||||||||{||||||||||||||||||{|||||{||||{{||||||||||||||||||||||||{|||||||||||||||{||||||||||{{||{||||||||||{||{||{|||||||||||||||||||||{|{||||||||||||||||||||||||||||||||||||||||||||||||||||||||{||||||||||||||{{||{||||||||{||||||||{|||{|||{||||||||||||||||||||||||||||{||||{||{|||||||||||||{||||||{|{{|{{||||{|||||||||||{||||||||{||{|{|||||||||||||||||||||||||||{|||{||||||{||{|{|||||||{{|||{||||||||||||||||||{|||||{||{||||||{||||{{|||||||||||||||||{|||||||||{|{|{|{|{|||{|{{||||||||||||||||||{|||||||||{||||{{|||{|||{|{|||||||||||||||{|||||{|||||||||||||||||||{|||||||||{||||{||||{{||||||||||||||||||{||||||{||||||||||||||||{{||||||{{||||{|{{{{|{||||{|||||||||{|{|||||||{|{|||||||||||{|||||||||{||{{{|{|||{||||||||{|||||{||{{{||{||||||||||||{||||||||||||||{||||||{|{||{|||||{||||||||||||||||{|||{||||||||||||||{||||||{||||||||||{||||||{||||{{|||||||||{||||||||||||||{||{||||||||||||||{{|||{||{|||||||||{|{||{|{|{|{|{|||||||||||{|||||||||||{||||||||{{||||||||||{|||{|{|||||{||{{|||{|||||||||{||{{||||{|||{||{|||||||||||||{||{|||||{||{||||||||||{{||||||{||||||{||{||{|||{||||{|||{||||||||||||||||{||||{|||{||||||||{|||||{||||||||{|||||||||{|||{|{|{||{|||||||||||||||||{|||||||{||{|{{||||{|{{|||{|||||{|||||{|||||||||||||||{|{{|||{|||||||||{|{||{|||{||||||||||||{|||{||||||||||{||||||||||||||||||{|||{{||||||||||||||||{||{{||||||||||||||||||||||{|{||||||||||||||||||{||||||||||||||||||{|||||||||||||||||||||||||{||||||||||||||||||{|||{{|{|||||{|||{||||{{|||||{||||{|{{|||||{|||||||||||||||||||||||||||||||||||||||||||||||{|||{|{||||{||||||||{||||||||||{|||||||{||||{|||||{|{||{|||||||||{{||{|||||||{|||||||||{||||||||||||||||||||||||||{|{{|||||||{||{||||{||||||{||||||||{||||{||||||{||||||{||||{||{||{|||||||||||{||||||||||||||||{|{||||||||||{|{||||||||||{|||||||||||{||||{||||||||||||{||{|||||||||||||||||||||||||{|||||||||||||||||||||||{||{||||||||||||{|||||||||||{||{||||||||{|||||||{|||{|{||||||||||||||{|||||||{||||||{{||{||||||||||{|||||||||||||{||||||||||||||||||||{||||||||||{||{||||{|||||||||||||{|||||{|||||{|{||||||||||||||{||||{||||||||||||||||{|{|||||||{|{||||||||||{|||||||{||||{||||||||||||||||||||||||||||||||||||||||||||||||{||||||||{{||||{|{|||||||||||||||||{||||||{|||||||{|||||{|{|||||||||||||||{|||||||{|||||||||||||||||{|||||||||||||||||||||||||||||||||||{|{{{|||||||||{|||||||||||||||{|||||||||||||||||||{||||||||||{||{{||||||{{{|||||{|||{|||||||||||||||||||||||{|||||{|{|||||||||||||||||{|||{|||||||{||{||||||||||{{||||||||||||||||{||||||||||||{||||||||||||||||||||||||{||||||||{{|||||||||||||{|||||||||||||||||||{||||||||||{|{|{|{{{||||{{{|||{{||||||||||||||||||||||||||||{|{|{||||||||||||||||{{{{|||||||||||||{|{|{|{|||||||||||||||||||||||||||||||||||{|||||||{|||{||||||{|||{||||||||||{|||||||||||||||||||{|||{||||{||||{||||||||{||||||{|||||{|||{||||||||{{|||||||{|||||||{|||{|||{|||||||{|||||||||||||{|{{||{|{|||{||{||||||||||||||||{{|||||||||{||||{||||{||||{|||||||||||||||||{|||||{{|{||||{|||||{|||{|{||||{||{|{||||||||||||{||||||||||||||||||||{||||||||{{||{|||{{|||||||{|||||||{|||||{{|{{||||{||||{{||||||{{||||||||||||||{|||{|||||||||{||||||||||||||{|||||{|||{|||||||||{||||||||||||||||||||||||{|{|{|||{|||||{{|{||{|{||||||||||||||{{|||{||{{||{|||||{|||{||||{||{|||{|||{|||||{||||||{|||||||||||||{|||||||||||{||{||||||||||||{||||{||{|{|||||{||||{|||{|||||||||||||{|{||||{{{|||||||{|{||||{||{||||{||||||{|||{|||||||||||||||||||{||||||||{{||{||||||||{{|||||||||||||||||||||{||||{{{|||||||{|||||||{|{||||{|||||||||||||||||||||||{|||{{||{|||||{|||||||||||{|||||||||||||{{|{|{||{|||||||||{|||{||||{|||||{|||||||{|{|{|||{|||||||||{||{|||{||||{|||||{{{|||||||{||||||{|||||||{{|||{|||{|||||||||{||{||{||||{|||||{|{|||{|||{|||||{|||{||||||{||||{|||{|||{||||{|{|||||{||||{||||||||{|||{{|||{||||{|||{||||{|||{|{|||||||{||||||||||||{|||||||||||||||{||||||{||||{|{|||||||{{||||||||||{|||||||||||||{||||||||||{|||{||{||||||||{|||{{|{|{{|{|||{||||{|||||||||||||{|||||||{||{||||{|||||||||||{||{||{|||||||||{|||{||||||||||{{|{|||||||||||||||||||||||||{||||{|{{|{||||{|||||{{||{|{{||{||||||{|||||||||||||||||{|||{|||||||||||{|{|||||||||||||{||||||||||||||||||||||||||||||||{{||||||||{||||{{||{|||||||||||||{|||{|||||||||||{|||||||||||{||||{|||||||||||||{|||||||||||||||||{{|{|||||||{||{|{||||||||{|{||{|||||||{||||||||||{||{{{||||||{||||||||||||{{|{{{||||||{||||||{|{|{||||{|{{||||{{|{||||||||||||||||||||||||||||||||||{{|{|||{|||||||||||||||||{||||||{|{{|||||{||{||||{||||||||||||||||||||{|{||||||{|{||||||||{{||||||{||||||||||||||{||||||||||||||{||||||||||||||||||||{|||||||||||||||||||||||||||||||||||||||||||||||||{|||||||||||{|{||||||||{||||||||||{|||||||||{||||||||||||||||||{||{|||||||||||{|||||||||||{{{|||||||||||||||||||{|{||||||||||||{|||||{||||||||||{||||||||||{||||||||{|||||||||||||{{|||||||{||||||||||||||{||||||||||||||||||||||||||||||||{|||||||||||||||||{{|||||||||{|||{||||{||||||||||||||||||{||||||{|{|{{||||||||||||||||||||{|{||||||||||||||{|||||{{|||{|||||||||||||||||{|||{|||||||||||||||||||||{||||||||{|{|||||{|||||||||||||||||||||||||||||||||||||||{||||{||||{||||||||||{||||||||||||||{||||{|||||{|||||||||||||{{||||||||||||||{||||||||||{|||||{|||||||||||{|||{||||{{||{||||||||||||||||||||{|||||||||{|||||||||{||||||||{|||||||||{|||||||||||||{|||||||||||{|||||||{|||{|||||||||{{|||||||||||||||{||||||||||||{||||{|||||||||||||{||||||||||{||||{|||||||{||||||||||{||||||||{|||||{||{{|||||||||{|||||||||||||||||||{|||{|||{||||{|{||{|||||||||{{|||||||||{{|||||||||||||||||{{|||{|||||||{||||||||||||||{||||{||||{{||||{||||||{||||{||||||||{|||{|||||||{|{|{|||||||{||{||||||||{|||||||{|{|||{|{||{||||{|{{|{||{||||{||||||||{|||{{{|||{||||{|{||||||||||||||||||{||{{||{||{||||||||||||||||||||||||||||{{||{|||{||||{||||||||||||{|{||{{|{|||||||||||||||||||||||{|||{|{||||||||||||{||{||||{||||||||{|{{||||||||||||{||||||||||{|{|{|||||||{|||{||||||{{|||||||{{||||||{|||{|||||||||{||||||||||{|||||{||{{||||||{|{||||{||{|||||{|||{|{||||{{||||{|||{||{|||||||||||||||||||||||||{||||||||||||||||{{{{||||||||||||||||{||{|||||||||{|||||{|||||||||||||||{|||||{||||||||||||||||||||||||||||||||||{|||{||||||||||||||||||||||||||{{||{{||||||||||||||||{|||{|||||||{|||||{{|||{|||{{||||||||{||{|||{||{||||||||||||{|||||{{||||||{|||||||||{|{||{{||||||{|||{|{|||||||||||||{|{|||{{{|||||||||||{|||||||{{|{|||||||||||||||||||||||||{||||||{|{||{|||||{||{||||{|{||||||||||{|||||{||||{||{|||{|||||||{{|||||||||||||||||{|||||||{{||{|{{{||||||{|||{||||||||||||{|{|{||{||||||||||||||||||||||||}|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||{|||||||||||{||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||{|||||||||||||||||||||||||||||||||||||||||||||||||{|||||||||||||||||||||||||||||||||||||||||||{||||||||||||||||||||||{|||||||||||||||||||||||||{|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||{|||||||||||||||||||||||||||||||||||||||||||{|||||||||||||||{|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||{|||||||||||||||||||||||||||||||||||||{|||||||||||{||||||||||||||||||||||||||||{|||||||||{|{|||||||||||||||||||||||||||||||||||||||||||||||{||||||{{|{||||||||{{|||||||||||||||||||||||||||||||||||||||||||{||||||||||||||||||||||||||||{|||||||{||||||||||||||{||||||||||||||||||||||{|||||{|||||||||||||||||{|||||||||||||||{||||||||||||||||||||||||||||{|{||||||||||||||||||||||||||{|||{||||||{|{||||||||{||||||||{||||||||||||||{|||||{||||||||||||||||||||{{|||||||{||||||||||||||||||||||||||||{|||||{||||||{||{|||{||||||||||||||||||{|||||||||||||{||||||||||{|||||||||||||||||||{||||||||{||||||||||{||||||||||||||||{|||||||||||||||||||||||||{||||||||||||||||{|||||||{||||||||{|||||||||||||||||||||||||||||||||||||||{{|{||{|||||||{|{||{||||||||||||{|{|{||||||||||||||||||{||||||||{|||||||||{||{||||||||||||||{||||||{{{|||||{||||{||||||||||||{||{|||||{|||||||||||{|||||{||||||||{|||||{{|||||||{{|||||{||{|{|||||||||||||||||||||||{|{||||||||||||||||||||{||{|||||||||||||||||||||||||||||{|||||||||||||||||||||||||{||||||||||||||||{|||||||{||{||||||{||{|||||||||||||||{|||||||{||||{||||{||||||||{{{||||||||{|||||||||||||||||||{||||||{{{||||{||||{|||||||||||{|{||||{|{||||||||||||||||||||||||||||||||||||||||||||{|||||||||||||||||{||||||||||||||||||||||||||||||||||||||||||{||||||||||||||||||||||||||||||}||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||{||{{|||||||||||||||||||||||||||||||||||||||||{||}||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||{||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||{|||||||||||||{|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||}|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||}||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||}||{||||||||||||||||||||||||||||||||||||||||||||}|||||||||||||||||||||||||||||||||||||||||||||||||||||||{|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||{|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||{||||||||||||||||||{||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||{|||||||||||||||||||||{||||||||||||||||||||||||||||||||||||||||||||||||||||||||||{|||||{||||||||||||||||||||||||||||||||||||||||||||||||}||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||{||||||||||||||||||||||||||||||||||||||||||||||||{|||||||||||||||||||||||||||||||||||||||||||||||||||||{||||||||||||||{||||||||||||||||||||||{||||||||||||||||||||||||||||{||||||||||||||||||||||||||||||||||||||||||||||||||||||||||{||||||||||||||||||{|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||{||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||{||||||||{||||||||||||||||||||||||||||||||{|||||||||||||||||||||||||||||||||||||||||||||||||||||||||{|||||{||||||||||||||||||||||||||||{||||||||||||||||{|||||||||||||||||||||||||||{||||{||||||||||||||||||||||||||||||||{||{|||{|{||||||||||||||{||||||||||||||||||||||||||||{|||||||||||||||||||||||||||||||||||{||||||||||||||||||||||||||||||||{||||||||||||||||||||||||||||||||||||||||||{|{||{|||||||||||||||||||||{||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||{{||||||||||||||||||||||||||||||||||{||||||||||||||||||||||||||||||||||||||||||||||||||||||||{||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||{|||||||||||||{||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||{||||||{||||||||||||||||||||||||{||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||{||||||||||||||||||||||||||||||||}||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||{||||||||||||||||||||||||||||||||||||||||||||||{||||||||||||||||||||||||||||||}||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||}|||{||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||{||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||{|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||{|||||||||||||||||||||||||||||||||{|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||{||||||||||||||||||{|||||||||||||||||||||||{|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||{|||||||{||||||||||||||||||||||||||||||||{|||||||||||||||||||||||||||||||||||{||||||||||{||||{||||||||||||{|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||{|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||{|||||||||||||||||||||||||||||||||||||{||||||||||{|||||||||||||||||||||||||||{||||||||||||||||||||{|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||{|{{||||||||||||||||||||||||||||||{|||||||||||||||||||||||||||||||||||{|||||||{||{|||||||||||||||||||||||||||||||||||||||||{|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||{||||||||||||{||||||||||||||||||{||||||||{||||||||||||||||||||||||||{||||||||||||||||||||||||||||||||||||||||||||||{||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||{|||||||||||||||||||||||||{||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||{|{|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||{||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||{||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||{|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||{|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||{|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||{|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||{||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||{||||||||||||||||||||||||||||||||||||||||||||||||||||||||||{||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||{||||||||||||||||{||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||{|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||{|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||{||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||{||||||||||||||||||||||||||||{||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||{|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||{|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||{|||||||||||||||||||||||||||||||||||||||||||||||||||||{|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||{||||||||||||||||||||{||||||||||||||{||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||{|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||{|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||{|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||{{||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||{|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||{|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||{|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||{||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||{||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||{|||||||||||||||||||||||||||||||||||||||||||||||||||||||||{|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||{||{||||||||||||||||||{||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||{|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||{||||||||||||||||||||||||{|{|||||||||||||||||||||||||{||||||||||||||||||||{{||||||||||||||||||||||{|{||||||{|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||{||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||{||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||{|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||{|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||{|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||{|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||{||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||{|{||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||{||{||||||||||||||||||||||||||||||||||||||||||||||||||||||||||{||||||||||||||||||||||||||||||||||||{|||||||||||||{||||||||||||||||||||||||||||||||||||||||||||||||{|||||||||||||||||||||||||{|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||{|||||||||||||||||||||||||||||||||||||{||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||{|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||{|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||{|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||{||||||||||{|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||{||||||||||||||||||{|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||{||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||{|||||||{||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||{|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||{|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||{||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||{||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||{|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||{|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||{|||||||||||||||||||||||||||||||||||||{||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||{|{|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||{|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||{|||||||||||||||||{|||||{||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||}||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||}||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||{||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||{||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||}||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||}||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||}|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||}||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||}||||||||||||||||||||||||||||||||||||||}|||||||||||||||||||||||||||||||||||||}|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||}|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||}|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||}||||||||||||}||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||}||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||}||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||}|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||}|||||||||||}||||||||||||||||||||||||||||||||||}|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||}|||||||||||||||||||||||||||||||||||||||||||||}||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||}|||||||||||||||||||||||}||}||||||||||||||||}||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||}|||}}|||||||||||||||}|||}|}|||||||||||||}||||||||}|||||||||||||||||||||||||||||||||||||||||}||||||||||||||||||||||}||||||||}||||||||||||||||||||||||||||||||||||||||||||||||||||||}|}||||||||}|||}|||||||||||||||||||||}||||||||||||||||||||||||||||||||||||||||}|||||||||||||||||||||||||||}||||||||||||}|||||||||||||||||||||||||||}|||||||||||||||||||||||||||||||||||||||||||||||||||}|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||}|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||}||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||}|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||}}}|||||||}}||||||||||}}||}||}|||||||||||||||||||||}|||||}|||}||}||}}}|}|||}||||}|||||}||||}}||}|||}|}|||||||}||||||}}|}|}}||||}|}}|||||}||||||}||||||||}|||||}|}||||||}||}}||}||}||}}}||||||||||||}||}||||||||}}}|}}||}||||||||||}|}}||}}||||||}}||||||}|||||}|||||||}||||||}||}||||}|}}||||}|||}|}||||||||}|||||||||}}||||}}}|||}|}||}|||||||||||||||||||||||}}|}|||||}|}}|||||}|||}}||}||}}}||}|||||||}|}||}|}|||||||||||||}|||||||}|}||||||||}|||||||||}|}|||||}|}||||||||||||}||}|}|||}|||||||||}|||||}}|}}|||||||||||||||||||||}|}}|||}|||}|||||}||||||||||}|||||}|||||}||||||||}|}||||||||||||||||}||}|||||}|||||}}|||||}|||}}|||||||||}}||||}||||||}}||||||||}|||||||||||}|||||||||||}|}||||}||}}|||||}|||||||}||}|||}||||||||}}||||}}||||}||||||||||||}|}|||||}|}|||||||}||||||||||||||||||||}|||||}||}||||}|||||}||||||||||}}|||||||||||}|}||||||||}|||}||||||}}|}}|||||||||||||||||}|||||||||||||}||||||}||||||||||||||||||||}||}}|||||||}|||}||||}||||||||||||||||||||}|}||||||||}}||||||||||||||}|}|}||}|||||||||||}|||||}|||||||||||||||||||||||||||||}||||||||||||||||}||||||||||||||||||}||||||||}}||||||||||}||||||||||||||||||}|}||||||||||||||||||||||||||}|||||||}||||||||||||||||||||||||||||}|||||||||||||||||||||||||||||||}|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||}||||||||}|||||||||||||||||||}||}||||}|||||||||||||||||||||||||||||||||||}|||}|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||}||||||||||}||}||||||||||||||||||}||||||||}||||||||||}|||||||||}|||||||||||||}|}||||||||||||||}|||}|||||||||||||}|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||}|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||}|||||||}}|}||}||}}|||}}|}|}}}}|}||||||||}}||||||}}||}|}|}||}}||}}||}||}|}||||}}|}||||||}}||||||}||}|}||||}}||||||}}|}||||||||}}||||}||}||}}||}}}}||}|}|||}}||}||}}}}|}}}||}|||||}}}|}}||||||||||}||}}|}||||||}||}||||}||}|}}}|}||}|}}||||||||}|}}}||}}}|}|}}|}||}||}||}}||||}|||}}|||}|||||}}||||}}}||}||}|||||}}|}|}||}||||||}||||||}||||||}||}|||||}||}||||}||||||}}|||}}|}|}}|||}|||}||||}}|||}}||}|||||}|||||}|}|}||||}||||}|||||||||||||}}|||}||||}||}}|||}|||||}|||||}|}}|||}}}||}||||}|||||||||||||||||}}|||}}}}|}}}||}}|||}}||}}||}|||||||}||}||||}|||}}}}|}}}||}|||}|}|}}|||||||}||}}}|}|||}}}}}|}|}|}|}|}|||}}|||||||||||||||||||}}}||}|}|}|||||}}}}}||||||}}|}}||||}|||||}||||||}}}|}|||}}||||}|}|||}||||||||}}|||||}||}}||||}||||}||||||||}|||||||}||}||}|||}||||||||}||||||||}}|}||}|}||}}|}|||||||||}||}||}}|}||}||||}}||||||}}}}||||}|||||||}||}||}||}|}||||||||}|}}|}}||||||}|}|}}|}||||}}}|}||}||||||}}}|}}||||||}||||}|}}}}|}|||||}||||}}|}|||||||}|}|||}|||}|||||||}|||||||}||||}|||||}}}}}|||||||}||||}}|}||||}||||||||}}|||}||}|}||}||||}}||}}|||}|||||||||}||||||||||||||}||||||||}}}}|||||}|}|||}}|||}||||||||||}||||||||||}||||||}||}|}|||||}||}|||||||}||||||}}||||||}}||||||||||}||}}|}|}}|}||}}|||||||||}|||||||||||||||||||}||}||||||}||||}}|||}|}||}|||}||}|||||}||}|||||||||}|||||||||}}|}||}|||||||||}||||}|||}}|||}||||||}}}||||}}|||||||||||||}|||||}|||||}||||||}||||||}||}|||}||||||||||}|||}}|||||||||}|||||||||}|}||||}|||}|||||||||||||||}|||||||||||||||}||||}}|}|}|}}||}||||||||||}|||}||||}||}||}||}|||||||||||||||||}|}||}||||||}||||}|||||||}|}}|||}||||||||||}}||||}||||||||||||}}}|}||}||||}||||||}|||}||}|||||}|||||||}||}|||||||||}||||}}}||}|||||||||||||||||}||||||||||||}||}|}|||||}|||||}|||}||||||||||||||||}||||||||}||||||||}}|||}||||||}||||||||||||}|||}||||||||}|||||||||||||||}||||}|||||}|||||||||}|}}}|||||||||}||||||}}|||}||}|}||||}}||||||||||}||}||||||}||}||}||||}||}||}|||||||||||||||}|||||||||||||||||||||}|||||||}|||||||||}||}|||}||||}}}}||}}|||}||||}|}}}|}|}}}||}}|||||}|||||||||||}||}|}}|||}||}||}}|}}}}}}|}||||}||}|||||}|}|}}}||||||}||}|||||}|}|}|||}}|}||}|||}}}}|}}}|||||}}|}}|}}|||}}}||}}|}||||||||||}}|}||||||||}||}}|}|}}||||}|}|||}}}||}|}||||||||}||||}}|||}||}}|||}||}|||}|||}||}||||}|||||||}|}|||}|}}||}|}||}|}||}}}}||}}}|}}||}||}}}||||}|}}||||||}}}}||}}|||}}|}||}|||}}}}}}|||||}||}||}}}}|||}|||||||}|}}||}|}||}|}}|||||}}|||||}||}|}||}|||||}|||}|}|}|}}|||}}|||}}}}}|||||}||||}}||}||||}}||}||||||||}}}|||||||}}||||||||}}}}|}|||}|}|}|}}}|||||}||||||}|}}|||}}||}|}||}|}|||}||}||}}}||}||}|}}}}||}||}|||}|}}|||||||||}|||||||}}||||}|}}}}|||}||}}|}||||}|||||||||||||}|}}|||||||}}|||}}}|}}}}}||}}}||||}|}}||}|}||}}}|}||}||||||||||}|||}}}|}||}|}||}|}|}}}|||}||||}||||}||||}||}|}|}|||||}|}||||}||||}|||||}||}|||||||||}}|}|}}||||||}||}}||}}||}}}||||}}||||}}}}}|}}|||||}||}|}|}|||||||}||}}|}|||}||||}||}||||||}||||}||||}}}||}}|}}|||}|||||}||}||}|}}}|}||}||}}}|}|||||}}||||||}}}}|||}|||||}}}|||}}||}|||}|||}|}}|}|||}|}|}||}||}|}|}|}|}||}|||}}|}}||}|}|}}}}}|}|||}||}}||}|}}}||||||}}|||||}||}||||||}|}||||||||}||||}|||||}}}||||||}}||||}||||}}|}||}||||}|||}}}}}|||||}||}||||}||||||||}}}|||}}|}||}|}|}|}}||||||}|}|}||}||}||}|}|||||}}|}||}}||}}}||||}}|||||}|||}|||}|}||}||}}|}}||}}|||||}||}}|||||}||||}||||}}}}||||}|}||||||||||||}|}}|}||}||||||}||}|||||}}||||}|||}}}|||}}}}||||}||}||||||||||||}|}}|}||}|||||}|}||}||}}|||}||}||}|}||||||||||||}||}|}}|}|||}||}}}||||||||}||||}}|||}|}||||||||}|}|||||||||}}}}|}||}}}||||||||}|}|||||||}|||||||}|}||}|}|||}}|||}||}|}|||}}||||}|||}|||||}|||||||}||}|||}|}}|||}|}}||||}}|}||||||}}|||}||}||||||}}}||}|}}}|||||||||}||}}||||||||||||||}}||||}|||||||||||}|}}|}}|}}||}|||||||}||}|}}||}||||||}|||||}}}||}|}}||||}}}||||}||||||}||}|}|||||}}|}}}|}|}||}|}}|}}}||||}}||}|||}||}}||||||||}||}||||||}||||}||}}|||||||||||||||||||||||}|||||}}|||||}}|}||||||}||}}|||}}||}|||||}||||}|}||}|}|||||||}|||}|}|||||}||}|||||}|||||}}}|}|}|||}}||}}|||}}|}|}|}}||}|}||}|}||}||}}}|||||||}||}|||}|}}|}||||||||}|||||}|||}}|||||||||||}}||||||}}||||}}}}|||||||}}||||||||||}||||}||||||||}|||||||}}|}}||||}||||}||}|}}||}}|}|}}|||||||||}|||}||}|}||}||||||||}}}||||}|}||}}|}|}|||}||||}||}|}}|||}|||}||}|}|}|}}||}||}}|||||}||}|}|||||||}}|||||}|}||}|}||||||||||||||}|}|||}}|}||}}}}}||}|}||||||||||||||||||||}}|}}|||||||}}|||||||}||||}||||||}|||}|}|}}}||}|}||||||||}}}|}|}||}|||}|||||||||}||||}||||}}|}|||}||||}}|}}}}|}||||}|}|||}|}}||||}|}|||||||}|}}}|}}}||||||}||}|}||}||}|}|}}}}||||||||||||}}|}}}}||||||||}}}}|}|}|}|||}}|}}||}|||}||}|}}}}}|||||||||}}||}}|}}||}||}}|}|||}}}|||}|}||}|||||}||}}|}}|||}}|}||}||}}}}|||||}}|}|}||}}||}|}|}|}||}|}}|||}}|}}||}|}|}}|||||}||}|||||||}}||||}||||}|||}|}}}||}|}}}}|||}}||||||}}}||||}}|}}}}||||||||}|}|}||}||||}|}|||||||}}|}||||}|}|||}|}}}}||||}||}|}|||}|||}|}||}|||}|}||}|||}}|}||||}}}}|||}}|||||||}|||}|||||}|||}||||||}|}||}|}}||||||||||||||}||}||}}|||}}}|}}||||||}}||||||}||||||}||}|}|}}|||}}}||}|||}||||}}}||}}}}|}|}|}}||}||}|||}|}|||}}|}}||||}}}||}|||}|}}||||}}}|}}|||}|}}|}}||||||||}|}|||||||}|||}|}}|}||}}}}||||}}}|}||}}|||}||||||||}||}}||||}}|||||}|||}}||||}}||}||}|||}}}}}|||}|}}||}||}|||}|||||}}}}}}}|}}|}|}||||||}|}}|||||}|||}|||}|}}||}||}|||||}}}||||||}|||}|}||}}||||||}}||||}||}}|||||||}|}}||||||||||}||}|}|}}||||}|||}||}}}|}||||}}||||}|||}}||}}}}|||}}||||||||}}|}|||}|}||||||}}|||}}}}}||}|}|}||}|||}|||}||}}||}||}}||}||}||}|}|}}}||}}}||||}}}|}}|||}}}}}||||}||}}|}}|}}|}||||||||}}||}|||||}|}|}||}|}||||}||||||}|||}|||||}||}||||||}|||}||||||||||}}}}|}|}}}|}|}}}|}}}|||||}|||||}}||}|||}|}|}|||}|}|}}||||||||||||||||||}}|||}|}}}||}}|||}}|||}}}|||}}||}}||||}|}|}}||||}|||||||}|}||}|}}||||}||||||}}}||||}}||||||}||}}|||}||||||}||||||||}|||}|||||}|}||||||||}}||}}|||||||||||}||}|}||}|||||||}|||}||||}||||||||}|}}|}|||||||}||}||}|}||||}}|}||}|}|||||||}||}|||}||}|||||}}}||||||}}}}|||}||||||}|||}}|}||}||||}}||}|}||}|}|}}}|||||}}||||||}}|||}}|||||||}}|}}}|||||||||||}|}}|}||||}||}|}}||||}}||}}|}||}|}}|}|}||||||}||}||||||}|||}||}|||}||}|}|}|}}}|}|}}||}}}|||}}|}|||}|||}||||||||}}}|||||}||||||||||}|||}}||}|}}|||||}||||||||}|}|||||}}|||}||||||}}|}||||}||||||||}|}||}||}}|||}||||}||}||||||}||||||}}||||}}||}}}|||||||}||}}||}}||}}|}}||}}|||||||}}}}||}||}|||||||||||}}}}}|||}|||}}||}|||}||||}|}|||||}|||||||||}|}|||||||||}}|||}}}||}||}|||||}}|||}||}}}||||}|||||}||||||}}}|}|}}|||||||||}}|||||}|||}||||||||}|||}}|||||}}|}||}|}||}|}|||||}}||}}|}}||||||}|}|||}|}||||}|||}||||||}}||}||||||||||}|}|}||||}||}|||||||}|||}}}||}|||}}|||}}||||}||}|}}}}||||||}}|||}|}|}}|}|}}||||||}}}|}||||}}}||}|}|||||}|||||||||}}}}}|}}|}|}||}|}}}|}|||||}||}|}||||||}|||||||||}}||||}|}|||}||||}|||}|}|}||||}}}||}}}|||||}|}|||}|||}}|}}|}}|}|}||}||}}}}}}|||}|}}||||||||||||||}|||}}||||}|||}||}||}}||||}|}|}}||||}}}}||||||}|||}}|}|||}|}}}||||||||||||||}||}|||||||||}||}}|}}}|}}|||||}||||||||||}}}||}}||}}|||}|}}|}||||||}|}|||}||}||||||}|}||}|}}|||}|}|}}|}}|||||||||||}|}||||}||}||||||}||}}|}|}}}|||}}}||||||||||||||}}}||}|||||||||||}||}|||||||}||||}|}|}|}|}|}}|}}|}|||||}|||||||}}|||||}||}}||||}}|||||}|||}||||}||}||}}||||||}|}||||||}||||||||||}||}}}|}|||||}|}}||}|}}||||||}}|||}||||||||||||}|||||||}||}|}|}}}}}||}}}}}}}|}}|||||}||||||||||}}}|||}|||||||||}}|||}|||||}}|||}}|}||||||||}}}}}|}|}|}}}|||||}}}|||||||||||}|}||||}}}}}|||}}|||}|||}|||}||}|||}}||}}}|||}||||}||}}|||||||||||||}|}|||}|}||||}|||}|}||}||}||}|}|||||||}|}||||||||}|||}|||||||}}|||||}|}}||}||}||}|||}}}||||}}||||}|||}}||||||||}|||}|||}||}|||||}}|}|||||||}}|}}}|||||}}}||}|}|}|}}}||||}||||||}||||||}||||||}|}||}|}|||||}|||}||}|}|||||}}|||}||||}|}||}||}||}||}|||}||}}|||}|}||}||||}|||||}}|}|}|||}|}||||}}||}|||||||}||||}||||}|||||}|||}|||||||||||}}|||}||||||}||}|||}|}|}}||||}||}}|||}||||}}||||}}||||}|}|}||}||||}}||}|}|||}}}||}}|}}}|||||||}||||}||||}}}}|||}|||||||}||}|}||||}}|||||||}||||||}||||||}}|||}|||||}|}|||||||||}}}|}|||}}||}|}||}|}}}||}|}|||||}|||}}|||}}}}||}||||||}}||}|}|}||}}||}}}}}||}|||||||||}|||}}|}}|||||||}}|||}|||}}|||}||||}|}|}}}||||}}}}}}||}|}}|}|||}|||}}||||||}|}}}||||}|||||}|}|||}|||}|}}}||}}|}|}|}}|||||}}}|}}||}|}}|}}}}|}|}||||||}|}|}}|}}|||||||||}}}||}}}|}}||}||||}|}}|||}||}}}|||}||}}}|||}}||||}|||||||||}|||}||||||}|||}||}|||}}}}|}||}||}||||||}}|||}}||}|}|||}}|}|}}|||}|}|||}}}|}||}}}|}||}|}}||}|||}}}}||}|}|}|}}||}}|||}|}}|}||}}}|}}}||}|}|}}||||}||||||}}}|}|}|}|}|||}||||||}}|}}}|}}||}}||}|||}|||}|||}|}|}|||||}|}||||||}|||}}|}|}}|||}}|}|}|}||||}|||}}}||}}}||}|||}}}|}|||}||||}|||}||||||}|}||||||||||}||}|}}||}}}|}}}|}|}||||||||}}|}|}|||||||}|}||||}||}|||||}}|}|}}|}|||}|}}|}||}|||}||||||}||}}||}}||}}||}|}|}|}||}|||||}|}|}}|||}}|||||||||}||}}}}}|}|}||}||||}|}|}}}}|||||}|}}||}||||||}||||}}||||}|}|||||}|||}||}|||}||||||||}||}|}||}||}|||}||||||}|}|}}||}}||}||}||}}||||||||}||||||}|}|}|||}}}}||}||||||||||||}|}|}||||||||}}}||}|}||||||||||||||||||}|||}}|}}}||}}}}||}}|}|||||}||}|}|||||||||||}|}||}|||}|||}||}||}|}}||}}||}|}|}||}||}}}}||}}|}}|}|}|}|}|}}||||}||}|||||}}}}|||||}|}||}||}||||}|||||}}}|}|||||}||}|}||||||}|}}|}||}}}||}|||}|||||}||}}||||||}|}||}|||||}|||||}}|}|||||}||||}||}}||||||}|||||}|||||}|||}|}|}}|}}||}|||||||}||}|}||}|}||}|}}||||}|}||}|||}}|}|}||}|}}|}|||}|}|||||}|||||||}|||||||}|}|}}||}}|||||}||||||||||||}}}||}}||}||||||}|||||||}||||}||}||||||}}||}}}|}||||||||||}|}|||}}|}|}||||}|||}|}||||||||||}|}|||||}|||}||}|||}||}|||}}||}||}|||||}|||}||}}|}}}}||}|||}||}|||}||}}|}|||}}}}|||}|||}||||||}|}||}||}|||||}|||}||}||||||}||}||}|}}}}||}}|||||||}}}|||}|}||}|||||}||}}|||||||||||}|||}|}|}}|||||||}|||}|}}|}||}}||}|||||}}|}|||}|||||}|||}}||}|}||||}||||||||}}|}|}|||||}||}}}}|||}||}|}|||}|}||}|}|||}|||||||}||||||}|}||||||||||}||||||}|}}|||||}}}}|}}|}|}}|}}}||}}}||}|}||||}|}}|||}|}|||}||}|||}||||}}||||||||||}||||}}|}|}||}||||}||}}}}}|}||||}||||}}||}||||||}}||}||}||||||||}|}||}}|}|||}||}||||||||}}}}||}|}}}||||}}|}|}||}}|||||||}|}|}||}}|}||}|}|}}|}}|||}}}}}}|||}}}}|||||}}}|}}}}}}||}}|}||}}||}|}}}}|}}}}}|}|}}}}|||}}|||||}}|}}}|||}}}}|}}}|}|}}|||}||}}}}||||}}}||||}||}}}|||}}}|}}}}}|}|}|}|}|}}}}|}||}}|}}}|}||}|}}|||}||}|}|||}}}||}}|}||}|||}}}|}}}}||}|}||}}}|}|}||}|||||||||||}}|||}}}}|}}|}|}}}}|}}}|}||}||}}}}|}|||}|}}}}}}}}|||}|}}|||}|}}||}|||}|}|}}||}}}}|}}}}|}}|}|}}||}|}}}}|}|}}}}|}|||||}}|}}||}|}|}}||}|}}}|||}}}|}}}}}}||}}||}}|||||||||}||}|}|}|}|}|}|}}||}|}|}|}}}|||}|}|}}}|}}|||}}|||}|}|}||}}}}}|||}}|}||}|||}|}||}|}|||}|}|||||||}|}|}||}|}||}}}}|}|}}}}|}|}|||}}|||}}}|||}||||}}}|}}|}||}|}}}}|||||||}}}||}|}}|||||}|}||||}}||}}}}|}}}}|||||}}}|||}|}}||}||}}|||}}|||}|}||||}}}}}||}||}}|||}}||||}||}|}}||}}}}||||}}||}}|||}|}}|}}}}||}}|}||}}|}|}}|||}}||}||||||}}}}}||}}}}}|}|}|||}}|||}||}||||||}|}}}||}|}|}|}|}}||}|}|||}|}}||||||}}||}||}||||}|||}}}}}|}|}}}}||}|}}}}}}|}}||}|}|||}}}|||}}}|}|}}|}}|}||||}|||}|||}}}|}}||||}}}}}|}|}||||}|||}||||||}||}||}}|}}|||}||||}}}}}}}}}||||}|}}|}||}|}|}||||||}|||||||||||}}|}|}}}}||}|}||||}|}|}}}}||}|}||}}}|}|}}}||}}}||||||}|}}}||||||}|}|}|||}}|}}|||}|}}||}}|}}|}|||||}}|}}|||}||||}|}}||}}}}}|}}||||}|}||}}||}||}}|}||||}||}|}}|}|}}}|}||}}}||}|}}}}||||||||}||}||||}||}|||}|||||||||}}|||||}|}||}}|}}|}|||}}||}}|||}}|}||}|}}|}|||||}|}|}||||}|||}}|}||}|||}}|||}||||||||}|||}|}||}}}}}}|}|}|}|}}}}}||||}|}|}|||||}||||||}||}|}||}||||}|||}|||||}|||||||}}|||}|}|}}|}|}|||}}}}|}}|}||||}||}}|}|||||}}}||||}||}||||}}}}}||}}}}||}|}}|}}|}}}|}|}|}}}||}||}|}||}}}|||}|||||||||}||}}||||}|||}||||}|}|||}}||}}|}}||}|}}|}}||||}||}|||||}}}||||||}}}}|}|}|}|}}}|||}||}|}||||}|}}||}|}}|||}|}}}|||}}|||||||}}}|}|}}}}||}}||}|||||}||}||||||}||||}}|}||}||}}}||}}}|}||}||}|}||}||}|||||}|}}}|||||||||}|}}||||||||}}|||}|}|}|}}}|}|}|||||||}||}|||||}}}|}||}|}}}}|}|||}}}||||}}|}|||}}||}|}|||}||||}||}|}|||||||||}|}|||||||}||}}}}}||}|}||||||}|||}}}}}}||||||}|}}||}|}}||||}|||}|}|||}|||}}||}|}|}||}}}|||}}||}|}||||}}|||||}||}|||}}||}}}}||}}}}||}}}|}}|||}}|}}}}}||}||}||}||||}}|}}}}|}|||}|}}}}}||||}|}}}}}}}}||||}|}||}|}|}||}|}||||||}}}}|}|}|}}}|||||}}}|}||}||}||}|}|}|}}||||}}|}||}|}}}|}}}|}|}}}|}||}||}|}|}|||}}}}||}}}||}}|}|}}|||}|}|}}}|}}}}|}||}}|||}}}}}}}}|||}}|}}|}|}}|}}}}|||||}}}}||}}}}}}|||}}}|}}}||}|}}||}}|}}}}}|||}}||}}|}||||}|}}}|||||}}|}}}|}}}}}}}}}}||}}|}}|}}}||}}}}}}|}}||}|}}|||}||}}||}}||||||}}}|||}}||}||}|}}||||}}|||||||}|}|}}}||||}|||}}}}}}||}||}|}||}|}}||}||}|}|}}|}}|}|||}}}|}}|}|}}||}|}}}}|}|}}}}}|||}|}}|}||||}||}|||}}|}|}||}}}}|}}}}}|}}}|}||}}}}||||}|}}|}}}}|}}}|}}}|}|||}||||}}|}|}|}}}|||}|||||}||}}|||}|}||}}|}|}}}}}}}}}}}||}}|}}}|}}||}}}}}}|}||}|||}}|}}}|}|}}}|||}|}}}|}}}}}|}}|}}}|}||}|}|}||}}||||}}|||}}}}||}}}}}|}}}}||}||}}||}}||}||}|}}||}}}|}|}}}}|}}||||}}}||}}|}}}||}}}|}}}|}}}}}||}|}}|||}}}||}}||}}||}|}}|}}||}|}|||}}}||||}}|}}|}}}|}||}}}|}|}|}|}}}}|||}}|}|}||}}}}}|||}|}}||}}}}}||||}}}|}|}||||}|}|||}}}}}}}||}}}}}}}|}|}}|}|}}}}|}}}}|}}|}|}}}}}}}}}|}}}}}|||}}|||}}|}}|}}}}|}}|}}}}}|||}|}}}}||}||}}}}}||}|||}||||||}|}}}}}|}|}|||}}|}}|}|||||||}}||}||}}}}}}|||}}}|}||}}||||}||}}|||}||}|||}||||}}}|||}||}}|}}|}}}|}}}|}}|}}|}||}|||}|}}||}|}|||}}|}||}|}}||}}|}|}}}}}}}}||}|}}}|}}}|||||}|}|}}}|}}||}||}|}}|}}}}}}||}}|}|}|}|}}|}|||||}}||||}}|}}||}}|||}}}||}|||||}}}}|}}}}}}}|}|||}}}|}|}}||}}}|}}|}|||}}|}}|}}}|}|||}}}}}}}|}}|}|}}|}}|}}||}||}|||||}}}}}}|}}||}}|}}|}}|}|||}|}}}|}}|}}}|}}}}}|||}||}}|}}|}}}}}}}|}}||||||}}}||||}}}|||}}}}|}}}||}}}|}}}|||}}}}|||}}}|||}|}||}}}}|||}}}}|}||||}}|}|}}|}|}||}||||}}||}}|||}||}}}||||}}}||}||}||||}|}||}||}||}}}}}||}|}|}|||}}}}|}||||||}|}|}}||||||||}}}||}|}}|}|}||||}}}||}||}}}}|}}}}}||}}|}||}||}|}|||}|}|}}|}}}}}}}}||}}|}|}}}}}}||||||}|}}||||}}|}|||}}|}|}}|}|}|}||||}|}}||}}|}}||}||||}||}}|||||}|}|}|||||}}}|}}||}}}||}|}}||}|}}||}}}}}|}}|}}}}}}|}|||}|}}||}}||}||}|||}||||}}}}|}|}||||||}}}|}|}||}}}|||}|}|||}}}||}}||||}||}|||}}|}}|}|||||}|}|}||}}}}|}|||}|||}}|}}}|||}||||}}|}}|}||}|||||}}||}|}}|}}|}|}}}|}}}|}}|}||||||}}}|}|}||||||}}}}}}||||}}}}||}|}}}||}|}||}|}|}|}}}}|}||}}||}}|}}|}}}}}}}||}}}}}|}|}|}}}}}|||}||}}|||}}|}||}}|}||}}||||}}||}}|||||}|}}}|}}|}}||}}|}}}}}}|}}}}||||}|}|}}}}}}}}|}}}}}|}|}}}|||||}}|}||||}|||||}|}}}|||}}|}||}|||||}}}||}|||}||}}}}|||}|}}}}|}}}|}|||}}||}}|}}}|}}}|}}}}|}}|}|}}}}||}||}|}}}||}}||}|}||}}|}}|}}||||}}}}}}|}}}|}}}}}}|}}}}|}}|}}}||}}||}|}|}}}}}}}}|}|}||}}}}|}}}}}|}}}||}}}}|}|}}|}|}}||}|}}}}||}}|}|}}}|}}}|||}|}}}}|}}}}|}}||||}||}}}}}|}}}}||}||}}}}|||}|}}}}}}}}}|}}}}}|}|}||}}}}|}}||}}|}||}}||}||||}|}}}}||}|||||}}}}||}|}||}|||}}}||||}|}}}}}}}|}||}}}||}}|}}|}||||}|}}}||}}|||}||}}|||}}}||}||}||}|||}}}}||}}}}||}||}|}}|}}|}|}}|}}}}|||}||}|}}|}|}||}}|}}||}}}}|}}}}}|}|}}}||}}||||||}}||||}|||}||}||}}||}}}}}|}}}||}}||}|}}}|}|}|}}|}}}}|||}|}}|}}|}|}||}}|}|||}}}}}}}}|}|}}|}}}}}}}}|}|}}||}}|}|}|||}||}}|}}|}}|}|}}|}|}|}|}|}}||||}}|}|}}}|}}||}}||}}|||}}|}|}}|}|}||||}||||}}}|}}}|||}|||}||}}}}|}}|}|}}|||}|||}}|}}}}|}|}|}||}||}|||}|}|}|||||||}|}|}}}}|}|||}||||}|}||}}}}}|}}||||}}|}|}}}}||}}}||||||}|}||||}|}||||||}}||}}|||||}}|}}}|}}}}|}|}||||||}}|}}}|}|||}||||}||||}}}}}|}}|||}}}|}|}|}}|||}}}|}|||}||}}||}}}||}|||}||}}}|||||}}}}}}}}}}}}}|}|||}|}|}}}}}}}}}||}}|}}}}}|}}||}}|}}}}|}}}|}|||}|}}|}}}|}}}|||}}||}|}}}}}}||}}}|}}}||}}}||}}|}}|}}||||}|}}}}|||}}}}|||||}||}}}|}}}}}}|}||}}}}}||}|}|}}||}}|}||}}|}}}|}}|}}}}}||}|}}}}|}}}}}}}|}}||}||}|}}}|||}}}}}}}}|||}}}||||}}||}}}}}}||||}||}|}|}||}}}}|}}|}}}}}}}}}|}}}||}}}|}}||}|}|}}}}}|}}|}|}}}||}|}}}}||}}}||||}}}}}}}}}}|}}|}}}|}}}|}||}}}|}}||}}}|||}}}|}}}||}|}|}}||}|||}}||}|}||}}}}}}}|}|||}}|}}}|}}}|}|}|}}||}||}|}|}|}}}|}}}|||}|}|}|}||}||}}|}}|}||}}}}}||}}|}}||}|}}|}|}||}}|||}|}|}|}|||}||}}}}||}}|}}|||||}}}}|}||}|||}|}}|}|}||}}|}}}}}|}||}|}||}}}}}}}}}|}|||}|}|}|}||}}}}}|}|}||}}}}}}||}}|}}}}||||}}}}||}|||}}}}|}|}|}|}||||}|}}||}}}|}}}}||}}||}||}}}}}}}}|}}}||}}}|}}}|}}}}}}|}|||}}}|}|||||}|||||}}}}}|||||}|}}|}}}}|}|}}||}}}|}}}|}|}||||}}}}|}|||}}}}||}}}}|||}|}}}}}|}}||}}}}|}|}}}|}}}}}}}|}}}}|||}|}}||}}}}|}|||}|}}|}}}}|}}||}|||||}||||}}|}}|}|}||}||||}|}||}}||}|}|}|}}|||||}|}|}||}}||}}}||}|||}}}}}|||}}}|}}}||||}|}|}}}|}|}}|}||}}|}}}}}}||}|||}|}||}}}|}}}||}}||}||||}||}}}}}}}||}||}}}}}||}||||}}||}}}|||}}}||||}|}}}||}||||}||}}||}}|}|}}|}||}}}||}}||}}}}|}|}|}||}}}|}|}|}}}}|}|}||}}}}}}}}|||}}}}||||}||}|}||||}|}|}||}||}}||}}}|}}|}|}|||}||||||}}}||}}|}}}}||}||}|}}|}|}||}|||||}}|}}}|||}}}|||||||}}|}|}}}}}}|||||||}||}}}}|}|||}|}||}||}|}|}|}||||}|}}||||}|||||}|}}}||}|}|||}}}||}||||}}||}|}}}}|||}}||||}|}||}||||}}||||||}|}}}||||||}}}}||}}|}}}||}|||||}|}|}|}|}|}||}}||}}}}|}||}}}|}}}}}}|}|}||}}}|}|}}}}}|}|}}}||}|}}}}}}||}}}}}}}||}}}}|}}}|||||}||}|||||}}}}}|}}}}}||}}|||}}}|}}||}}}}}}}}}|}|}|||}||}|}}}}}|}|}}}||}}}}}}}}||}}}|}}}|||}}}|}}}|}|||}}}}|}|}}|||}|}|}}}||}|}||}||||}||}}}|}}}}}}|||}}||}}}}|||}|||}|}}|}}}|}}}|}|}}|}|}}}}}}|}|}}}}|}|}|}|}}}|}|||}}|}|}}|}}|}}|||}}}}|}}||}}}|}}|}|}}|}|}}|}}|}|}}}}}}||}||}|}}|}}|}}|}}|}|||}}|||}}|}|}}}|}}|}||}}}}||}|}}||}}}|}|}|}|||}|}}|}}||}}|}|}||||}}}|}||||}|}||}}}|}|}|}|}}|}}}|}}|}|||}}|||}}}}}}}}|}}|}||}}}}||}|}}||}}}|}||}}||}}|}}|}}||}}|}|}||||}}}|}||||}|}|}}}}|}|}|}}}}||}}|}}||}}||}|}}}}||}}}|}|}}|}}|||}|}}}}}}}}}}|||}|}|}}|||}}||}}|}}}}|}|}}}}}||}||}|||}}||}}}}|||||}}}|}}}|}}}}}}||}}}}|||}}|||}|}}}||}}|}}|||}}}}|}|}}}|}|}}|}|}||}|||}|||}}|}|}||||}}}}|}}}||}||||||||}||}||}}}}}|}|}||}}|}}|||}}|}|}|}}}||||}|||}|}|}|}}|}}}}||}|}|}}|}}|}}}|}|}}|}}}|}}}}}}}||}}}}||}}||}}}}}||}||}}|}}|}}|}||}}}|||}||||}|||}}}|}|}}}}|}||}}}}}}|}|}||}}||}|}|||||}}||}}}}||}}|}||}}}}|}}||}||||}||}|}||}}}}||}}|}}}}}|}|}}|}|}|||}}|}|}|}}}}|}|}||}}}}}}}}}||}}||}|}}}}}}||}}||}|}}}}}}}|}}|}}}}|}||}||}}}}}|}|}}}|}}}}||}|||}}}}||}|}}}|}}|||||||}|||}||}}}|||||}}|}}}}}}|}|}}|}|||}}}||}}}|}|||||}||}|}}}}||}|}}|||}}}|}}}|||||}}|}}|}|}||}}}||||}|}}}||}||}|}||||}}}|}}}}|}|}|}}}}|}|||}}}}||}}|}}|}}}||}|}}|}|}}||}|}}||}}|||||||}}}|}}|}||}}|}||}}}}|}}}}}}}|||||}}||}||}}}}||}}|||}}}|}}|}}}}}}}|}}||||}}|}||}||}||}|}}}}|}}}|}|}}}}}||||||}}}|}}}}}||}}}}|}||}}|||||}}}|}}|||||}}|}}|}|}}}}}}}}}}}}|}||}}}}}||}}||}|}||}}|||}}||}|}|}}}|||}}}}}|}}|||}}}}}}}}}}}}||}|}||}}}}|||}}}|}}||||}}}}|}}|}|}||}||||}}||}}|||}|}|}}|}}}}||||||}}|||}||}}|}}|||}}}}}}||}}}|}|||}}}}}}|}}}|}||}|}|}||}}||||}}|||}}}}}}|}|||||}|}}|}}|||}}}}}}||}}||}|||}}}|||||}}}}}}|}}}}|}}}}|}}}||}}|||}}}}}||}||}|}}|}||}|}|}||}||}}|}}|||}}}}||}|}||}|||}|}}|}|}|}|}}||||}}}||}}|||}||||}}|}}|}}|}||}}}}}||}|}}}}}}|}|}||}}|}}}}||||}}}}|}|}|}|}|}|}|}}|}}|}|}|}}||}}|}|}}}||}|}}|}}}|}|}|}|}}|}|||}}||}||||}}}||||||}|}}}}}|}|}|}|}}|}}}||}}|}|}||}}}|||}||||}|}}|}}}|}}}}}|}|}}|}}|}}}||}|}|}}|}}}|}||}}}}}|||}}}}}||}}|}}}||}}}||}}}||}|}|}}|}}}}}}|||}}|||}}|}}||}}|}|}|}|}}||||}}|}}}}|}||}}}|}|}|}||||}}|}|}}}}}}|}}}}|}|}|||}}}}}}|}}}}|}|}}}|}||}||}}}||}}}}}|||}}|}|}|}}}}|}}|}}}|}|}}|}}}}|}|||}}}}|||||}|}}||||}|}}}}|}|}||||}||||}}||||||||}|}}}||}|}}}}|||}}}}}|}}|}|}|||||}|}|}}}}}||||||}||||}|}|}}}}|}|}|}}|}|||}|}}}||}}}|}||||||}}}|}}|||||}}}}|}}}}}||}}}}|}|}}}|}|||||}||}|}|}}}}}}}}|}}}|||}}}}||}}}}}|}||}}}||||||}}||}}}||||||}}||||}}|}}|}}}}}|}}}}}|}}}||}}|}|}|}}|}|}}|||}|}|||}}||||}}}|||}|}||||}||}}||}||}}|}||}|}}}|}|}}}||}|}}||}}|}|||}|}}}}||}|||}}}}}}|||||}||}}}|}||||}}||}}||||}}|}|||||}||}}|}}|||}|}}}}|}|||||}}||}|||||}|||}}}}|||||||}|||}}|||}||}}}||}||}|}||}}}|}}|}||}}|}}|}}||}}|||}||}}||}}}}}}|}|||}}}||}}}}}|}|||}|}||}|}|}|}}}}}||||}|}}|}|}}||||}|||}}|}}}}}}|}}}}|||}}||}}}||||}}}}}||||}}}}||}||||}}|||}|}|}}}}}}|||}}|}}|||}||}}}}||}}}}|}|}}}||}|}||}||||}}|}}}}|}}}||}}}||}}}||}}}|}}}}|||}||}}}|}|}|}||||||}}}}||}}}|||}|||||}}}||}||}}}|}}}|}}}||}||}}}|||}||||}|}|}}}}|}}}|}}|}}||}}|}}}|}}}}||}||||||}|}}}}}|}}}}|}|}||}|}|}||}}||}}}||}|}}|}}|}}|}|}}}}|}|}}|}}}||}||}}}||}|}}}}|}|}}|||}}|}|}}|}}|||}|}}}}}}|}}}|||}|}|}}|||}|||}}}}}}}|}|}}}}}||||}}|||}}||}}|}}||||}}}|}|}}|}|}}|}}}||}}}}}||}||}}}}}|}}}}}}}}}}|}}}|}|}}|}}|}|}}|}}}}}}}}}}}}|}}}}}}}}}}}|||}}}}}||}}}}}|}}}}|}}|}}}}}|}}|||}|}}||}}}}}}|}}||}}||}}}|}||}|}|}}|}}}}}}|}}}}}|}||}|}}||}|}||}}}|}}|}}|}}}}}}|}||}}|}}|}}}}|}}}}|||}||}}}}}}}}}}}}}}}}|}}|}}}}}}}||}}}}}}||}|}}}}}}}}|}}}}||}}}|}}|}}|}}}}}}}|}}}}}}|}}}|}}}}}}}}|||}}||}|}}}|}}}}}}}}|}|||}||||}|}}|}}|}}}}}}}}||||}}}|}|}||}}}}}}|}}}|}}}|}}}}}}}}||}}}}}}||}|}}||}|||}}}}}||}}}}||}|}|}|}}|||}|}}|}}}|}}}|}||}|}}}}}|}}|}}|}}||}}}}|||}}||}||}|||}|}|}|}}}}}}}}|}}}|}}|}|||}|}}}}|}}}}|}||}}|}|}}}}|}}}}|}|||}|}}|||||}|}}}}}|}}}}|||}|}}||}|}}}}||}}||}}}}}}}}}}}}}|}}}|}|}|}}}|||}||}}}}|}}}}|}}}}}|}|}}|}}}}}}}||}||}|}}|}|||||}|}|}|}}|}}}}|}}}|}}}}|}||}|}}}||||}}|}}}|}}||}||}}}}}}||||}}}|}|||}}|}|}}}|}}|}}|}}|||}|}}}}|}||}||}}|}||||}}}}}|}||}}|}}}||}}}|}}||}}}}}}}}||}||}}|}}}}|}}}||}|}}|}}|}}}}}||||}}}}}|}|}}|}}||}||}}}}}}}}}}||}|}|}}}|}}|}}|||}}}|}||}}}||}|}}}}}}}}}|}}||}}}|}|}}}}}}}|}}|}|}}|}|}}|}|}|}|}}}||}}||}|}}}||}}}}||||}}}}|}}}}|}||}}}|}|}||||}|}|}}}|}|}||}}}|}}}||}||||}|}||||}}}|}}|}}}||}}||||}}}}}|||}|||}|}||||}}|||}}}}}}}}}}}||}}}||}}}}}}}}|}}||}}||}}|||}}|}||}}|}}}}||||}}}}}}}}|}}}|}|}}|}}||}}}||}|||}}}}}}|}|}}}}}}}|}|||}}|}|}}||}}||}|}||}}}}}}}}||}|}}}}}}|}||}|}}}|}}|}|}}}}|}}}}}|}|}}}|}}||}}}}}}||}}|||}}|}}|}|}}|||||}}}}}}}||}}}||}|}|||}||||||}||}|}|}}}}}||}|}|||||}|}}}|||}|}}}|}}}}}|||}||}}}|}|}}||}}||}}}|}||}}|}||}|}}|}}}}}||||||}}|}}||}}}|}|}||}|}|||||}|}|}|}}||||||}}}|}|}}||}|}}}||}|}}|}}|}}||}|}}}}||||}}}|}|}}||}|}||}|}||}}|||||}|}}}|}}|}}}|}}}}}||}}}}|}|}||}}}}|}}||}}}}}}|}}|}}}||}}}|}}||||}}}}}||}}}|||||}||}}|}}}}}}|}}}}|||}||||}}}}||}|||}}||}||||}|}}}}}}||}}|}}}|}||}}}|}|}||}}|}||}}|}}}||||}|}}}}}}}|}|}}||}|}}|}}}||}}|}}||}|||}||||}|}}}|}|}}|}|}|}}|}}}|}}}}|}}|||||}}|||}}}}}}|}}|}|}|||}}}|||||}|}}|}|}|||}}|}}}}|}||}|}|}|}}||}|}}|}}|}}}||}|}||||||}|}|}}|}|}}|||}}}}|||}}}}||}}}|}}|}|}}|}||||}|}}}}}}}}}|}|}||}|}}}}|}}}}}}||}}|}||}}}|}}}}|}}}}|}}}}}|}||}}}|}}||}}}}}|}}}}}}}}}}}}|}}|}}}}}|}}}}}}}}}}}}}|}}}}}}}}}}}}}|}|}|}}}}}}}}}}}}|}}}}}|}}|}}|}}}}}||}|}}}|}}}}}}}}|}}}}}||}}}}}|}}|||}}}}}}}}}}}}}}}}}}}}||||}}}|}|}}}|}}}}}}}}}}}}}}|}||}}}}}}}}}}}}}}}||||}|}|}}}|}}|}}}}}|}|}|}}}}|}}}}}}}|}}}}|}}}||}|}}}}}}}}}|}|}}|}||}}}||}|}}|}}}}||}}|}}}}}}}}}}|}}}}}}}}}}}|}}}}|}}}}}}}}}|}}|}|||}}}|}}}}}|}}}}}}}|}|}}}|}}||}}}}}}}}|}}}|}}}}}}}|}|}}}|}}|}}|}|}}}}|}}}|}}|}}}}}}|}}}|}}||}|}}|}}}|}}}|}}}}|||}}}}}}}}|}}}|}}||}|}|}}}}}}||}}|}}||}}|}}}}}|}}}|}|}}|}|}|}}}}|}}||}||}}}}||}}|}}}}|}}}|}}|}}}}}|}}}}}}}}}}}}}}}}}}|}}}}}|}}}}|}|}}}}}}}||}}||}}}}}}}}}}}}}|}|}|}|}|||}}}}}|}}||||}}}|}}}}}}}}}}}||}|}}|}}|}}}}}|}|}}}|}}}}}}||}}}}}}}}}}|}}}}|||}}}}}}}|}|}}}}}}}||}}}}}}}|}}}|}|}|}}}}}}}|}}}}|}|}}}|}}|}}}}|}}}|}}}}|}|}}}}}}}|}}}}}}}}}}}}}}}}||}}}}|}}}}}}}}}}}}}}}}}}||}}}}}}}|}}|}}|}}}||||}}}}}}|}}|}}}}}}}}}}|}|}|}||}}}}}}}|}}}}|}|}}|||}}}|}}|}|}}}}|}|}}}}}}}|}}}}}}}}|}}}}}}}}|}}|}}|}}|}}||}}}}}|}}}||}|}}|}}}|||}}}}}}}}}|||}}}}}|}}}}}}}}||}}}}|}}|}}|}|||}}}}}|}}||}}}}}}}|}}}|}}|}}}}}}}}}||||}}}}}}|}}}}|}}}|}}}}}}|}}|}}}}}}}}}}}}}}}||}}}}}}}|}}}}}}}}}}}|}}}}}}}}}}}}}}}}}}}}}|}}}|}|}}|}|}}|}}}}}|}}}|}}}}|}}|}}}|}}}|}}||||}}}}}}}}}|}}|}|}|||}|}}}}}}}|}}}}}}}|}|}|}}}|}}}}}}}}|}}}||}}|||}}}}}}}}}}}}}}}}|}}}}||}|}}|}}}}}}||||}}}}|}}}|}}}||}}}}}||}|}}}}}}}}}}|}}}}}}}|}|}}||}}}}}}}}}}}|}}|}|||}}}}}}}}}}}}}}|}}|}}}}|}}|}}}}|||}}}}}}}|}}}}}||||}}}}|}|}|}}}}}}}|}}}}|}}|}}}}}}||||}}|}}|}|}|||}}}}}}|||}}}|}}}}}|}}}}}}|}||}}}}|}|}}}}|}||||||}||||||}}|||}}}}}}}}}}|}}}}|}}}}}|}}}}}|}}}|}}}}}}}}}}||}}}}||||}}|}}}||||||}|}|}|||}}}}}}||}}}}}|}}}}}|}||}}}|||||}}|||}}||}}}}}}}|}}|}}||||}}}||}}}}}}}}}}||}}}}}|}}}}}}|}}}}}}|}|}}||}}|||}|}}|}}||}|}|}}}}}||}}|}|}}}}}}|}||}}}}}|}|}||}}}}||}}|}|}||}|}}}|||}}}}}|}}}}}|||||}}|}}}|||}}|}|}}}|}}}|}|}}|}}|}}|}||}|}|}}}}}|}}|}}}|}}}}}}}|}}||}}}}}}}}|}}|||}}}}}||}|}}}||}}}}||||}}||}}}|}|}}}}||}}||}}||||||}}}}}||}}}}}}}|}}}}}}}}}|}}}}}}}|}}}}}}}}}}}}}}}}}}}}}|}}}}|}}}}|}}||}}}}}||}}}}|}}}}}}}}}}}}}|}}}|}}}|}}||}}}|}}}}}}}}|}}}}}|}}|}}}}}}|}|}}}}}}}}}}}}}}}|}}}}}||}}}}}}|}}}}}}|}}}}}}}|}}}}}}}}}||}|}}|}|}}}|}}}}|}|}}}|}}}}|}}|}}}}}}}|}}}}}}|}|}}}}}|}}}}}|}}}|}}}|}}}}}}||}}}|}}}}}}}}}}}}||}}}}}}}}}}}}}}}|}}|}}}|}}}|}}}}}||}}}}}}}}}}}}}|}}|||}|}}}}}}}}|}|}}}}}}|}}}|}}|}|}}}}}}|}||}}|}}}}|}}}|}}}|}}|}}}}}}}}}||}|}}}}}}}}}}}|}}}}}|}}|}|}}}|}}}}}}}|}}}|}}}}|}}}}|}}}}}|}}||}}}}|}}}}|}}}}}}}|}}}}}}}}||}|}||}}}}}}}|}}}}}}|}}}}}}}}}}}}}}}}|}|}}}}}|}}}}|}}|}|}}}}}}}}}}}}}}}}}}}|}}}}}|}}}}}}}}}}}}}}}}}}}}}||}}}}}|}}}}}}}}}}}|}}|||}}}}|}|}}|}}}}}}|}}}}|}}}}}}}}||}}|}}}}}}|}}}}|}}|}}}}}|}}}}}}}|}}||}}|}}}}}|}}|}}}}}}|}}}}}}}|}}}}}}}}}}}}}}}}}}|}}|}}|}}|}}|}}}}}||}}}}|}}}}}}}}}}}}|}|}}}}}||}}}}}}}|}}}|}}}}}|}}|}}}}}}|}}}}|}}}|}|}}}}|}|}}}}}}}}}}}|}}|}||}}||||}}}}}}}}}}}|}|}|}}}}|}}}}}}}|}}}}}|}}}|}}}|}|}}|}}}}}|}}}|}}}}}|}}}|}}}}}}}|}}}}}}}}}}}}}}}}|}}|}}}}}}}}|}|}|}||}}}}}}}|}}|}}|||}}}}|}}|}}}}}}|}}}}}}}}|}|}||}}}}}}}}}}||}}}}}}}}}}}|}}}}}}}}}}}}|}|}}}}}}}}||}}}}|}}}}|}|}}|}}}}}}}}|}}}}}}}}||}}|}}}}}}}}}}}}}}|}}||}}}}|}|}}}}}}}}}}}|}|}}}}}}|}}}}}}}}}}}}}}}||}|}}|}}}}}}|}}|}}}}|}}}}|}|}}}}}}}}}}}||}}||}}}}}}}|}}}}}||}}}}}}}}}}}}|}}}|}}}|}|||||}}}}}}}}}}}}}}}|}}}|}}}}}|}}|}|}}}}}|}}|}|}}}}}}|}}}}}}}||}}}}}}}}|}}}}||}}|}}|}}}}|}}}}}}|}}||}}}}}||}}|}|}}}|}}}}}}}}}}}}}}}}}}}||}}}}}}}}}||}}}}|||}}|}}}}}|}|}}}}|}|}}||||}}}|}}|}}}||}|}||}}}|}|}}}}}}}|}||||}}|}}|}}}}}||}}}}|}}}}}}}}}|}}}}}}|}}|}}}||}}|}}|}}|}|}}|}}}}|||}}}}}}}}}}}|}}}}}|}}}}|}}}||}}}}}}}}}}}||}}}}}}}}|}|}}|}}}}}||}||}}}}}}||}}}}|}}}}}||||}}|}}}|}}}}||}}}}}}}|}}}}|}}|}}}|}}|}}}}||}}}}|}}}}}|||}|}}}||}|}}}}}}}||}}}|}}}}}}}}}}}}}||}}}||}}}}}}|}}}}|}}}|||}}|}}|}}|}}|}|}}}}}}|}}}}||}}||}}}|}}}}}||}}|}}}}}}}}}}}||}}||}}}}}}}|}}}}}}}}}}}}|}}}|}}}|}}}}}}}}}||}|}}}||}}|}}||}|}}|}}}}}|}}}}}}|}}}}}}}}}}|}|}|}}}}}}}}}}}}||}}}}}}}|}}}|}}|}}}}||}||}|||}}||||}}}}|||}}}}}}}}}}}}}}}}}|}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}|}}}}}}}}|}}}}}}|}}}}}}}|||}}}|}}}}|}}}|}|}|}}}|}}}}}}}}}}}|}|}}}}|}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}|}}}|}}|}||}}}}|}}}}}|}|}}}}}}}|}||}}}|}|||}}}}}}}}|}}}}}}}}}}|}}}}}}}}|}}|}}}|}}}}}}}}}}}}}}}}}}}}}}}|}}}|||}|}}}}}}}}|}}}}}||}}|}|}}}}|||}}}|}}|}}}|}}}}}}}}}}}}}}}|}}}}}}}}}}}}|}}}|}}}}}}}}}}}}}}}}|}}}}}}}}}}}}}}}}}||}}|}}}}|}}}}}}||}}}}}}}}}|}}|}}|}}}}}|}}}}}|}}|}}|}|}}|}}||}}}}}}}|}}}}}}}|}}|}|}}|}|}}}}}}|}}}}}|}}|}}}|}}||}}|}}}}}}}}|}}}}}}}}}}}}}}}|}}}}}|}}}}}}}}}}}}|}}}}}|}}}}}}}}}||}}}|}}}}|}|}}}}}}}}|}}}}}}|}}|}}}}}}}|}|}}}}}}}}|}}|}|}}}}}}}}|}}}}}|}}}}}}}}}}|}}}}}}}}}}}}}}}}}}}}}}}}|}|}}}}}}}}}}}}|}|}}|}}}}}|}}}}}}}}}|}}||}}}}}}}}}|}}}}}|}}|}}}}}}}}}}|}}}|}}}|}}}}}}}}}}}}|}}}}|}}}}|}}}}}|}}}}}}|}}}|}}}|}}}}|}}|}}}}}}}}}|}|}|}}|}}|}}}}}|}|}|}|}}}|}}}}}}}}|}}}||}}}}}|}}}}}|}}}|}|}}}}}|}}}}}|}||}}}}}}}}}|}||}}}|}}}}}}}}||}}}}}}}}|}}}}}}}|}}}}|}}|}}}}}}|}}|}}|}}}}}}}}|}}}}}}}}}|}}|}}|}}}}}|}}}}}}}|}}|}}}}}}}}}}|}}}}}}}|}|}}}}}}}}|}}}}}}|}}||}}}}}}}}}}}}}}|}||}}}}}|}}}}}}|}}|}}}}}}}}}}|}|}}}||}}|}}}}}}}}}}}}|}}|}}}}|}|}|}}}}}|}}}}}}}}}}}||}}}}}}}}}}}}}}|}|}||}}}}}|}}}}}}}}}}|}}|}}|}}||}}}}}}}}||}}}}}}}|}}}}}}||}}}}}}}}}}}}}|}}}}}||}}}}}}}|}}}}}}}}}}}}}}}||}}}|}|||}|}}}}}}}}}}}}}}|}}}}|}}|}}}||}}|||}}}|}}}}}}}}}||}|}}}}}}}|}}}}}}}|}||}}}}}|}}}}}|}}}}}}}}}}|||}}}}}|}}}||}}}|}}}}}}}}}}}}}}}|}}}}}}}}}}}}}}}}}}|}|}}}}}}|}}}}|}}}}}}}}|}}}}}}}}|}}|}}}}|}}}|}|}}}|}}}}|}|}}}}}}}}}||}}}}|||}|}}}}|}}}|}}}|}}|}}|}}}}}}}|}}}}}}|}}}}}|}}}|||}}}}}|}}|}}}}}}}}}}|}}}}}}}}}}}}}}}}}}|}}}}}}}}}}}}}|}}}}}}}|}}}}}}}}}|}}}}}|||}}|}}}}|}}}}}}}}|}}|}}}}}}}}|}}}|}}}}|}}}}}}}|}}}}}|}}}}}}}}}}}}}||}}}}}}|}|}|}}}}|}}|}}}|}}}}}}}}}}}}}}}}}|}}|}}}}}}}}}}}}}}}}}|}}|}}}}}}}|}}}}}|}|}}||}}}}}}}}}}}}}}|}}}}}}}}||}}}}}|}}}|}}}}}}|}}}}}}}|}}}}}}}}}}}}|}|}|}}}}}}|||}}}}|}|}}}|}}|}|}}}|}}}|}}}|}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}|}||}|}|}}}|}}}}||}}}}}|}}}}|}|}}}|}}|}}|}}}}}}}}}}|}}}}}}}}}}}}}}}||}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}|}}}}}}}}|}}}}}}}}|}}}}}}}}}|}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}|}}}}}}}}|}}}}|}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}|}|}}}}}}}}}}}}}}}}}}}}}}}|}}}}}}}}||}}}}}}}}}}}}}}}}}}}}}}}}}|}}}}}}}}}}}}}}}}}}}}}}}}}|}}}}}}}}}}}|}}}}|}}}}}}}}}}}}}}}}}}}}|}}}}}}}}}}}}}}}}}|}}}}|}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}|}|}}}}}}}}}}}|}}}}}}}}}}}}}|}}}}}}}}}}}}}}}|}}}}}}}|}}}}}}}}}}}|}}|}||}}}}}}|}}}}|}}}}}}}}}}}}|}}}}}}}}}}}}}|}}}}}}}}}}||}}|}}||}}}}}}}}}}|}}}}}}}}}}}}}}}}}}}}}|}}}}}}|}}}}}}}}}}}}}}}}}}}}}}}}}}}|}|}}}}}}}}}}}}}|}}||}}}}}}}}}|}}}|}}}}|}|}}|}}}}}}}}}}|}}}}}}}}}}}}}}}}}}|}}}}}|}}}}||}}}}}}|}}}}}}}}}}|}|}}|}}}}}}}}}}}}}}}}}}}}}}}|}}}}}}}}}}}}}}}}}}}|}|}|}}}}|}|}}}}|}}}}}}}}}|}}}}|}}}|}}}}}}}|}}}}}}}}}}}}}}|}}|}|}}}}}}}|}}}}}}}}}}}}}}}}}}|}}}}}}|}|}}|}}}|}}||}}}}}}}}}}}|}}|}||}|}}}}|}}}}|}}}}}}|}|}}}}}}|}}||}}|}}||||}}}|}}}}}}}}}}|}}}}}}}}|}}|}|}}}}}}}}}|}}}}}}}|}}|}}}}}}}}|}}|}|}}}}}}}}}}}}}}|}}}}}}}}}}}}}}}|}|}}}|}}}|}}}|}}}}|}|}}||}}}|}|}}}}|}}}|}}}}}|}}}}}}}}}}}}}}}}}}|}}}}}}}}|}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}||}}}}}}}}}|}}}}}}}}}}}|}}}}}|}}}}|}}}}}}}}}}}}|}}}}}||}}}}}}}}}}}}|}}}}}|}}}}}}}}}}}}}}|}}}}}|}}}}}}}|}}|}}}}}}}}|}}}}}}}}}}}}}}}}}}}}|}}|}}|}|}}}}}}}|}}}}||}}}}}}|}}}}}}|}}}}}|}|}}}}}}}|}}||}}}}|}}}}|}}}|}}|}}}}|}}}|}}}}}}}}}||}}}}}|}}}}}}}}}|}}|}|}}}|}}}}}|}|}|}}}}}}}}}}}}|}|}}}}}}}}}}}|}}|}}|}}||}}|||}}}}|}|}}}}|}}}}}}}}}}}}}}}}}}}}}}}}}|}}}}}|}|||}}}||}}}||||}}}}|}}}}}}}}}}}}}}|}}|}}}}|}}|}}}}}}}}}}}}}}}}|}}}|}|}|}||}|}}}}}|}}|}}}}}}}}}||}}}|}}}}|}}}}||||}}|}}||}}}|}|}|}}}}}}}}||}}}}}|}|}}}}}}||}}}}}}}}}}}}}}|}}}|}}}}}}}|}||||}|}}}}}}|}|}}}|}}}}}|}}|}}}|}}}|}}|}}}}|}}}}}}}}}}||}}}}}}|}}}}}}||}}|}}}}|||}}}}}}}}|}}}}}}}|}}}|}}|||}||}}}}}}}}}}}}}}}|}}}}}}}}}}}}}}}}}}}}}}|||}}}}}}}}}}|}}|||}}}}}}}}}}|}}}}}}}}}}}}}}}}}|}|||}}}|||}}|}}}|}}}}}}}|}}}}}|}}}|}}}|}}}}}|}}}}}}}}}||}|}}}}}|}}|}|}|}}}|}}}|}}}}}}}}|||}}}}}}}}}}|}|}}}|}}}}|}}}|}}|}}}}}}}}}}}}|}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}|}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}|}}}}}}}}}}}}}|}}}|}}}}}}|}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}|}}}}}}|}}}}}}}|}}|}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}|}|}}}}}}}}}|}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}|}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}|}}}}|}}}}}}|}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}|}}}}|}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}|}}}}}}}}}}}}}}}}}}}|}}}}||}}}}}}}}}}}}}}}}}}}}}}}}}}}}}|}}}}}}}}}}}}}}}}}}}|}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}|}}}}}}}}}}}}}}}}}}}}}}}||}}}}}}|}}}}}}}}}}}}|}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}|}}}}}}}}}}|}}}}}}}}}}}}}}}}}}|}}}}}|}}|}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}|}}}}}}}}}}}}}|}}}}}}|}|}}}}}}}}}}|}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}|}}}}}}}}}}}}|}}}}}|}}}}}}}}}}}}||}}}|}}}}}}}}}}}}|}}}}}}}}}}}}||}}}}}}}}}|}}}}|}}}}|}|}}}|}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}|}}}}}}}}}}}}}}}}}}}}}}}}}|}}}}}}}}}}}}}}}}}}}}}}|}}}}|}}}}}}|}}}|}|}}}}}}}}}}}}}}}}}}|}|}}}}}|}}}}}}}}|}}}}}}}|}}}}}}}}}}}}}}}}}}}|}}}}}}}|}}}}}}|}}}}}}}}}}}}}}}}}}}}}}}}}}}}}|}}}}}}}}}}}}}}}}}}|}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}|}}}}}}}}}|}}}}}}|}}}}}}}}}}|}}}}}}}}}}}}}}}}}}}}}}}}|}}}}}}}}}}}|}}}}}}}}}}}}}|}}}}}}}}}}}}}}}}}}}|}|}}}}}}}}}}}}}}}}}}}}}}}}|}}|}}}}}}}}}}}}}}|}}|}}}}}}}}}}}}}}|}}}}}}}}}}}}|}}}}}}}}}}}||}|}}}}}}}}}|}|}|}}}|||}}}}}}||}}}|}}}}}}}}}}}}}}}}}}}}}}}}}}}|}}}}}}}}}}}}}}}}}}}}|}}}|}}}}}}|}}}}}}}}}}}}}}|}}|}}|}}}}}}}}}}}}}}}}}}}}}}}}}|}}}}}}}}|}}}}}}}}|}}}}}}}}}}}}}}}}}}}|}}|}|}|}}||}}}}}}}|}|}}}}}}}}}}}}|}}}}|}|}}|}}}}}}}}}}}}}|}}}|}}}}}}}}}}}}}}||}|}}}}}}}}}}|}}}}}}}}}}|}}}}|}}}}}}}}|}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}|}}}}}}}}}}}}}}}}|}}|}}}}}}}|}}}}}}}}}||}}}}}}}}}}}}}}}}}}}}}}}}||}}}|}}}}}}}|}}}}}}}}}|}}}}}}}|}}|}}}}}}}}}}}}}}}}}}}}}|}|}}|}}}}}}|||}}}}}}}||}}}}}|}}}}}|}}|}}}}}}}||}|}}}}}}}}}||}|}}}}}|}||}||}}}}|}}}}}}}}}}}}|||}}}}}}|}}}}}|}|}}}}}}}}}}}}}|}}}}}}}}}}}}|}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}|}}}}}}}}}}}}}|}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}|}}}}}}}}}}|}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}|}}|}}}}}}}}}}}}}}}}}}}}|}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}|}}}}}}}}}}}}}}}}}}}}}}}|}}}}|}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}|}}|}}}}}}}}}}}}}}}}}|}}}}|}}}}}}}}|}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}|}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}|}}}}}}}}}}}}}}|}}}}|}}}}}}}}}}}}|}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}|}}|}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}|}|}}}}}}}|}}}}}}}}}|}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}|}}}}}}}}}}}}}}}}}}}}|}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}|}}}}}}}}}}|}}}}}}}}}}}}|}}}}}}}}}}}}|}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}|}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}|}}}}}}}}}}|}}}}}}}}}}}}}}}}}}}}}}}}}}}}|}}}}}}}}}}}}}}}}|}}}}}|}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}|}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}|}}}}}}}}}|}}}|}}}}}}}}}|}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}|}}}}}}}}}}}}||}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}|}}}}}}}}}}}}}}}}}}}}}}|}}}}}}}|}}}}}}}}|}}}}|}}}}}}|}}|}}}}}}}}}}}}}}}}}|}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}||}}}}}}}}}}}}}}}}}}}}}|}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}|}}}}|}}}}}}}}}}}}}}}}}|}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}|}}}}}}}}}}}}}}}}|}}}}}}}}}}|}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}|}}}}}}}}}}}}}}}}}}}}|}}}}}}}}}|}}}}}}}}}}}}}}}}}|}}}}}}}}}}}}}}}}}|}}}}}|}}}}|}}}}}}}}}}}}}}}}}}}}}}}}}}|}}}}}}}}}}}}}}|}}}}}}}}|}}}}}|}}}}}}}}}}|}}}}}}}}}}}}}}}}|}}}}}}}}}|}}}}}}}}}}}}}}}}}}}|}}}|}}}}}}}}}}}}}}}}}}}}}}}}}}}}}|}}}}}}}}|}}}}}}}}}}}}}}}}}}}}}|}}|}}}}}}}}}}}|}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}|}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}|}}}}}}}}}}}}}}}}}}}}}}|}}}}}}}}}}}|}}}}}}}}}}}}}}}}}}}}}}|}}}}}}}}|}}}}}}}}}}}}}}}}|}}}}|}}}|}}|}}}}}}}}}|}}}|}}}}}}|}}}}}}}}}}}}}}}|}}}}}}}}}}}}}}}}}|}}}}}}}}}}}}}|}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}|}}}}}|}}}}}}}}}|}}}}|}}}}}}}}}}}}}}}}}}}}}}|}}}}}}|}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}|}}}}}}}}}}}}}}}}}}}}}}}}}}}}}|}}}}}}}}}}}}}}}}}}}}}}}|}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}|}}}}}}}}}}}}}}}}|}}}|}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}|}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}|}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}|}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}|}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}|}}}}}}}}}}}}}}}|}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}|}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}|}}}}}}}}}}}}}}|}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}|}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}|}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}|}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}|}}}}}}|}}}}}}}}}}}}}}}}}}}}}||}}}}}}}}}}}}}}}}}}}}}}}}}}}}||}}}}}}}}}|}}}}}}}}}|}}}}}}}}}}}}}}}}|}}}}}}}}}}}}}}}}}}}}|}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}||}}}}}}}}}|}|}}}}}}}}}|}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}|}}}}}}|}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}|}}}}}}}}}}}}}}}}}}}}}}}}}}}|}}}}}|}}}}}}}}}}}}}}}|}}}}|}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}|}}}}}}}}}}|}}}}}}}}}}}}}}}}}}}}}}}}}}|}}}|}}}}}}}}}|}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}|}}}}}}}}}}}}}}}}}}}}}}|}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}|}}}}}}}}}}}}}}}}}}}}}}}}}}}}}|}}}}}}}|}|}}}}}}}}}}}}}}}}}}}}}}}}}}}}|}|}|}}}}}}}}}}}}}}}}}}}}}}}|}}}|}}}}|}}}}}}}}}|}}}}|}}}}}|}}}}}}}}}}}}}||}}}}}}}}}}}}}}}}}}}|}}|}}}}}}}}}}}}}|}}}}}}}}}}}}}}}}}}|}|}}}}}}}}}}}}}}}}}}}}}}}}}}|}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}|}}}}}}}}}}}}||}|}}|}}}}}}}}}}}}|}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}|}}}|}|}}}}}}}|}}|}}}}}}}}}|}}|}}}}}}}||}}}}|}}}|}}|}}}}}}}}}|}}}}}}}}}}}}}}}}}}}}}}}|}}}}}}}}}}|}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}|}}}|}}}}}}}}}|}}}|}}|}}}}}}}}}|}}}}}}}}}}}}}}}|}|}}|}}}}}}}}|}}}}}}}}}}}}}|}}}}}}}}}}}}|}}}}}|}}}}}}}}}}}}}}}}}}}}}}}}}|}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}|}}}}}}|}|}}|}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}|}}}}}}}}}}}}}|}}|}}}}}}}}}}}}}|}}|}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}|}}}}}}}}}|}}}}}}}}}}}}|}}}|}}}}}}}}}}}}}}}||}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}|}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}|}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}|}}}}}}}}}}}}}}}}}}}}}}|}}}}}}}}}}}}}}}}}}}}}}}}}}|}}}}}}}}}}}}}}}}}|}}}}}}}}}|}}}}|}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}|}}}}}}}}|}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}|}}}}|}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}||}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}|}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}|}}}}}}}}}}}}}}}}}}}}}||}}}||}}}}}}}}}}}}}}}}}}}}}}}|}}}}}}}}}}|}}}}}}}}}}}}}}}}}}}}}}}}}}|}}}}}}}}}}}}}}}}}|}}}}}}}}}}}}}}}}}}|}}}}}}}}}}}}}}}}}}}}|}|}}}}}}}}}}}}}}}}|}}|}}}}}}}}}}}}}}}}}}}}}|}}}}}|}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}|}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}|}}}}}}}}}}}}}}}}}}}}|}}}}}}}}}}}}}}}}}}}}}}}}}}}|}|}}}}}}}}}}}}}}|}}}}}}}}}}}}}}}}}}}}}}}}}}|}}}|}}}}}}}}}|}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}|}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}|}|}}}}}}}}}}|}}}}}}}}}}}}}}}}}}}}|}}}}}}}}}}}}}}}}}}}}}}}}}}}}}|}}}}}}}}}}}}}}|}}}}}}}}}}}}}}}}}}}}}}|}}}}|}|}}}}}}|}}}}}}}}}}}}}}|}}}}}}}}|}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}|}}}}}}}}}}}}}}}}}}||}}}}}}}|}}}}}}}}}}}}}}}|}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}|}}}}}}}}}}}}}}}}}}}}}}}}}}}}|}}}}}}}}}}}}}|}|}}}}}}}}}}}}}}}|}}}}}}}}}}}}}}}}}}|}}}}}}}}}}}}}|}}}}}}}}}}}}}}||}}}}}}}}}}}}}}}}}}|}||}}}}}|}}}}}}}}}}}}}}}}|}}}}}}}}|}}}}}}|}}}}}}}}}}}}}}|}}}}|}}}}}}}}|}}}}}}}}}}}}}}}|}|}|}}}}}}}}}|}}}}}}}}}}}}}}|}}}}}}}}}}}|}}}}|}}}}}}}|}}}|}}}}}}}}}}}}}}}}}}}}|}}}}}}}}}}}}}|}}|}}}}}}|}}|}}}}}}}}}}}}}}}}}}}}}|}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}|}}}}}}}}}|}}}}}}}}}}|}}}}}}}}}}}}}}}}}}}}}}}}}}||}}}}}}}}}}}}}}|}}||}}}}}|}}|}|}}}}|}}}}}}}}|}}}}||}}}}|}}|}}}}}}}}}}|}}}}}}}}}|}}}}}}}}|}}}}}}}}}}}}}}}|}}|}}}}}}}}}}}}}}}|}}}}}|}}}}}}}}}}}}}}}}}}}}}|}}}}}}}}}}}}}}|}}}|}}}}}}}}}}}}}}}}}}|}}}|}}}}}}}}}}|}}}|}}}|}}}}}}}}}}}|}}}}}}}}}||}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}|}}}}}}|}}}}|}}}}}}|}|}}}}}}}}}}}}}|}}}}}|}}}}}}}}}}}}}}|}}}}}}}}|}|}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}|}}}}|}}}}}}}}}}|}}}}}}}}}}}}}}}}}}}}||}}}}}}}|}}}}}}}}|}}}}}}}|}|}}}}}}}}}}}}}|}}}}}}}}|}}}}}|}}}}}}}}}}}}}}}}}}}}}}}}}}}||}}}}}}}}}}}}}}}}}}}}}}}|}}}}}}}}}}|}}}}|}}|}}}}}}}}}}}}}}}}}}}}|}}}}}}}|}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}|}}}}}}}}}|}}}}}}}}}}}}}}}}}}}|}}}}|}}}}}|}}}}}|}}}}}}|}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}|}}}}|}|}}}}}}}|}}}}}}}}}}}}}}}}||}}}}}}}}}}}}}}|}}}}}}}}}}}}}}}||}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}|}}}}}}}}}}}}}}}}}}}|}}|}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}|}}}}}}}}}}}}}}}}}}}}}}}}}}|}|}}}}}|}}}}}}}}}}}}}|}}}|}}}}}}}}}}}|}}}}}}}|}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}||}}}}}}}}}}}}}}}}}}|}}}}}}}}}}}}|}}}}}}}}}}}}}}}}}}}}}|}}}}}}}}}}}}}}}}}}|}|}}}}}}}}}}}}}}}}}}}}}}}}|}}}}}}}}}}}}}}}}}}}|}}}}}}}}}}}}|}}}}}}}}}}}}}|}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}|}}}}}}}}}}}}}}}}}|}}}}}}}}|}}}|}}|}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}|}}}}|}}}}}}}}}}}}}}}}}}}}}|}}}}}}}}}}}}}}|}}}}}}}}}}}}}}}}}|}}}}|}}}}}}}}}}}}}}}}|}}}}}}}}}}}|}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}|}}}}}}}}}}}}}}}||}}}}}}}}}}}}}}}}}}|}}}}}}}}|}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}|}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}||}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}|}}}}}|}}|}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}|}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}||}}}}}}}}}}}}}}}}}}|}}}}}}}}}}}}}}}}}}}}}}}|}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}|}}}}}}}}}}}}}}}}}}}}}}}}}|}}}|}}}}}}}}}}}}}}}}}}}}}}}}|}}}}}}}|}|}}|}}}}}}}}}}}}}}}}}}|}}}}}}}}}}}}}}}|}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}|||}}}}}}}}}|}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}|}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}|}}}}}}}}}}}}}}}}}}}}}}|}}}}}}}}}}|}}}}}}}}}}}}}|}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}|}}}}}}}}}}}}}}}}|}}}||}}}}|}}}}}}}}}}}}}|}}|}}}}}}}}}}}}}}}}}}|}}}}}}|}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}|}}}}}}}}}}}}}}}}}}}|}}}}}}}}}}|}}}}}}}}}}}|}|}}}}}}|}}}}}}}}}}|}}}}}}}}}}}}}}}}}}}|}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}|}}|}}}}}}}}}}}}|}}}}}}}}}}|}}}}}}}}}}}}}}|}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}|}}}}}}}}}}}}}}}}}}}}}}}}|}}}}}}}}|}}}}}}}}}}}}}|}}|}}}}}}}}}}}}}}}}|}}}|}}}}}}}}}}}}}}}}}}}}}}}|}}}}}}}}|}||}}}}}}}}}}}}}}}}|}}}}|}}}}}}}}}}|}|}}|}}}}}}}}}|}}}}}}}}}}}}}}}}|}}}}}}}}}}}}}}}}}}}}}}}}}}}|}}}}}}}|}}|}}}|}}}}}}}}}}}}}}}}}}}}|}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}|}|}}}}}}|}}}}}}}}}}}}}}}}}}}|}}}}|}}}}}}}}}}}}}}}}}}}}}}|}|}|}}}}}}}}}}}}}}}}}}}}}}}}|}}}}}}}|}}}}|}}}}}}}}}}}}}}}}}}}}}}}}|}}}}}}|}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}|}}}}}}|}}}}}}}}}}}}|}|}}}}}}|}}}}}}}}}|}}}}}}}}|}}}}}}}}}}}}}}}}}}}}}}}|}|}}}}}}}}}}}|}}}|}}}}}}}}}}}}}|}}}}}|}}}}|}}}|}}}}}|}}|}}}}}}}|}}}}}}|}}|}}}}}}}}}}|}}}}}}}}}|}}}}}|}}}}}}}}}}}}}}}}|}}}}}}}}}}}}}}}}}}}}}}}}}}}}}|}}}}}}|}}}}|}}}}}}|}}}}}}}}}}}}}}}}}|}}}}}||}}}}|}|}}}}}}}}}}|}}}}}}}}}}}}}}}}}}}}}||}}}}}}}}}}}}}}}|}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}|}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}|}}}}}}}}}}}}}}}}|}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}|}}}}}}}}}}}}}}|}}}}}}}}}}}}}}}}}}}}}}}}}}}}}|}}|}}}}}}}}}}}}}}}}}}}||}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}|}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}|}}}}}}}}}}|}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}|}}}}}}}}}}}}}}}}|}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}|}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}|}}}}}}}}}}}}}}}}}|}}}}}}}}}}}}}}}}}}}}}}}}}}}}|}}}}}}}}}}}|}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}|}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}|}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}|}}}}}}}}}}}}}}}}}}}}|}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}|}}}}}}}}}}}}}}}}}}|}}}}}}}}}}}}}|}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}|}}}}}}}}}}}}}}}}}}}}}}}}}}}}|}}}}}}}}}}}}}}}}}}}}}}|}}}}}}}}}}}}}}}}}}}}}}}}}}|}}}}|}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}|}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}|}}|}}}}}}|}}}}}}}}}|}}}}}}}}}}}}}}}}}|}}}}}}}}}}}}}}}}}}}}}|}}}}}}}}}}}}}}}}}}}|}|}}}}}}}|}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}|}}|}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}|}}}|}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}|}}}}}}}}}}}|}}}}}}}}}}}}}}}}}}}}}}}}}}}}|}|}}}}|}}}}}}}}}}}}}}}}}}}}|}}}}}|}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}|}}}}|}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}|}}}}}}}}}}}}}}}}}}}}}}}}}||}}}}}}}}}}}}|}|}}}}}}}}}}}}}}|}}}|}}}}}|}}}}}}}}}|}}}}}}}}}}}}|}}}}}}}}}}}}}}}}}}}}}}|}}}}}}}}}}|}}}}}}}}}}}}}}}}}}}}}}}}}}|}}}}}}}}}}}}}}}}}}}}}}|}}}}}}}}}}}}}}}}}}}}}}}}}}}}}||}}}}|}}|}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}|}}}}}}|}}}}}}}}}}}}}}}}}}}}}}}}}}}}}|}}}}}}}}}}}}}|}}}}}}}||}|}}}}}}}}}}}}}}}}}}}}}}}|}}}}}}}}}}}}}}}}}}}}}}}}}}}}}|}}}}||}}}}}|}}}}}}}}}}}}}}}}}}}}}|}}}}}}}}}}}}}}}}||}}}}}|}}}}}}}}}}}}}}}}}|}}}}}}}}}}}}}}|}}}}}|}}}}}}}}}}}}}|}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}|}}}}}}}}}}}}}}}}}}}}}}}}|}}}}}}}}}}}}}}}}}}}}}}}|}}}}}}}}}}}}}}|}}}}}}}}}}}}}}}|}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}|}}}}}}}}}}|}}}}}}}}}}}}}}}|}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}|}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}|}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}|}}}}}}}}}}}}}}}}}}}|}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}|}}}}}}}}}}}}}}|}}}}}}}}}}}}}|}}}}}}}}}}}}|}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}||}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}|}}}}}}|}}}}}}}}}}}}}}}}}}}}|}}}}}}}}}}}}}|}}}}}}}}}}}}}}}}}}|}}}}}}}}}}|}}}}}}}}}}}}}}}}}}}|}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}|}}}}}|}}}}}}}|}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}|}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}|}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}|}}}}}}}}}}}}}}}}}}|}}}}}}}}}}}}}}}}|}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}|}}}|}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}|}}|}}}}}}}}}}}}}|}}}}}}}}}}}}}}}}}}}}}}}}}}|}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}|}}}}}}}}}}}}}}}}}}}}}}}}}}|}}}}}}}}}}}}}}}}}}}}}}}}|}}}}}|}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}|}}}}|}}}}}}}}}}}}}}}}}}}}}}}}}}|}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}|}}}}}}}}}}}|}}}}}}}}}}}}}}}}}}}}}}}}}}}|}}}}}|}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}|}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}|}}}}}}}}}}}}}}|}}}}}}}}}}}}}}|}}}}}}}}}}}}}}}|}}}}}|}}}|}}}}}}}}}|}}}}}}}}}}}}}}}}}}}}}}}|}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}|}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}|}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}|}}}}|}}}}}}}}}}}}}}}}}}|}}}}}}}}|}}|}}|}}}}}|}|}}}}}|}}}}}|}|}}}}|}}}}}}}}}}}|}}}}}}}}}}}}}|}}|}}}}||}}}}}}|}}}||}}}}}}}}}}}}}|}}|}|}}}}}}}}}}}}}}}|}}}}}}}}}}}}}}|}}|}}}|}|}}}}}}}}}}}}}}|}}}}|}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}|}}}}||}}}}}}|}}}}}|}}}}}}}}}}|}}}}}}}}}|}}}}}|}}}}}}}}}}}}}}}}|}}}}}}}}}}}}|}|}}}}|}}}}}}}}}}|}}}}}}}}}}}}}}}}}}}}}|}}}}|}}}}}}|}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}|}}}}}}}}}||}}|}}}}}}}}|}}|}}}}}}}}}|}}}}}}}|}}}}}}}}}|}}}}}}}|}}|}}}}}}}|}}}}|}}}}}}}}}}|}}}}}}}}|}}}}}}}}}}}}|}|}}}}}}}}}}}}}}}}}}}|}}}}}|}}}}|}}|}}}}}}}}}}}}||}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}|}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}|}}}}}}}}}}}}|}}|}}}}}}}}}}}}|}}}}}}}}}}}}}}}}}}}}}}}}}|}}}}}}}}}}}}}}}}}}}}}}}}}}}|}}}}}}}}}}|}}}}}}}}}}}}}}}}}}||}}}}}}}}}}}}}}}|}}|}}|}}}}}}}}}}}}}}}}}}}}}}}}}}}}|}}|}}}}}}}}}}||}}}}}}}}}}}}}}|}}}}}}}}}}}}}}}}|}}|}}}}}||}}}}}}}}}}}}}}}}}}}|}}}}}}}}}}||||}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}|}}}}}}}}}|}}}}}}}}|}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}|}}}}}}}}}}}}}}}}|}}}}}}}}}}}}}}}}}}}}}}|}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}|}|}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}|}}}}}}}}}}}}|}}}}}}}}}}|}}|}|}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}|}}}}}}}|}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}|}}}}}}}}}}}}}}}}}}}}}}}}}|}}|}}}}}}}}}}}}}}}}}}}}}}}}}}}|}||}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}|}}}}}}}}}}}}}}}}}}}}}}}}}}}|}}}}}}|}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}|}}}}}}}}}}}}}}}}}}}}}}}}|}}}}}}}}}}}}}}}}}}}}}}||}}}}}}}}}}}}}}}}}}|}}}}}}}}}}|}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}|}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}|}}}}}}}}}}}}}}|}}}}}}}}}}}}}}}}}}}}}|}}}|}}}}}}}}}}}}}}}}}}|}}}}}}}}}}}}}}}}}}}}}}|}}}}}}}}}}}}}}}}}}}|}}}}}}}}}}}}}}}}}}}}}}}}}}}|}}}}}||}}|}}}}}|}}}}}}}}}}}}|}|}}}}}}}}}}}}|}||}}}}}}}}}}}}}}}}}||}}|}}}}}}}|}}}|}}|}}}}}}}}}}}}}|}}}}}}}}}}|}}}|}}}}}}}}|}}}}}|}|}|}}}}}|}}}}}}|}}}|}}|}}}}}|}}}}}}}}}}}}}}}|}}||}}}}}}|}}}}}|}}}}}}}}}}}}}}|}}}}}}}}}}}}||}}}|}}}}}}|}}|||}}}}}|}|}}}}}}}|}}}}}}||}}}||}}}|}}||}}}}}}}}}}}}}}}}}}|}|}}}|}}}}}}}}}}}}}}|}|}|}|}|}}}}}|}}}|||}}}}}}|}}}}|}}}}}|}}}|}}|}}}|}}}}|}||}}}}}||}}}}||}}|}}}|}}}}}}}}}}}}|}}}}|}}}}|}}|}}|}}}|}|}}}|}|}}|}}}}}|}}|}}}|}}}}}}}}}}}|}}}}}}|}}}}}|}}}}}}}}}}|}}}}}}}||}}}}}}}|}|}}}}}}}}}}}}}|}}|}}}}}}}}}}}}|}}}}}}}}}}}}}}|}|}}}}}}}}}}}}}}}}}||}}}}|}}}}}}}}}}|}}}}}||}}}}}}}}}}}}}}}}|}}}}}}}}}}}}}}|}|}}}}|}}}}}}}}}|}||}}}|}|}|}}}}}}}}}}|}}|}}}|}}}}|}}}}|}}|}}}}}}}|}||}}}}}}}}}}||}}|}}}}}}}}}}}}}}}|}}}}}}}}}}}}}}}|}}||}}}}}}}}}}|}}}}}|}|}}|}}}}}}}|}}}}}}}|}|}}}}}}}}|}}}}}}||}}}}}}}}|}}}}}}}}}}}}}}}}}}}|}}}}|}}}}}}}}}}}|}}}}}}}}}}}|}}}}}}|}}}}|}}}}}|}}}|}}}}}|}|}}}}}}}}}}}}}}}}}}}}}}}}}}|}}}}}}}}}}}}}}}}}|}}|}}}|}}}}}}|}}}}}}}}||}||}}}}}}}}}}}}}}||}|}}}|}}}}}}}}}}}}}}}}}}|}}}}}}}}}}}}}}}}|}}|}}||}}}}}}}|}}}}|}}}}}}}}}}}}}}}}}}}|}}}}}}}}}}|}}}}}}}}}}}}}}}}|}}}}|}}}}}|}}|}}}}}}}}}}}}}}}|}|}}}}}}}|}}}}}}}}}}}}}}}}}}}}|}}}}}}}}}}}|}}}}}}}}}}}}}}}}}}}}}}|}|}}|}}}}}}}}}}}}}}}|}}|}}|}|}}}}}|}}}}}}}|}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}|}}}}}}}}}|}}|}}}}}}|}}}}}}}}}}}}}}}}}}|}}|}}}}}}}}|}}}}||}}}}}}}}}}}}}|}|}}}}}}}}}}}}|}}}}}}}}}}|}}}|}}}}}}}}}}}}}}}}}}}|}}}}}}}|}|}}}}|}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}|}||}}}|}}}}}}}}}}}|}}}}}}}}|}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}|}}}}}||}}}}}|}}}}}}}}}}}}|}|}}}}}|}}}|}}}|}|}}}}}}|}}}}}}}}}}}}}}}}}}}}}}}|}|}}}|}}}}||}|}}}}}}}}}}}}}|}}}}}}}}}}}}}}}}}}||}}}}}}}}}}}}}}}}}|}|}|}}}}}}}}}}}}}}}}}}}}}|}}}}}}}}}}|}}}}}}}}}}}}}}}|}|}}}}}}}}}|}}}}}}}}}|}}}}}}}}}}}}}|}}}}}}}}}}}}}|}}}}}}}}}}}}}}}}}|}}}}}|}}}}}}|}}}}}}}}}}}}|}}}}}}}}}}}}}}}}}}}}}}}}}}}}}|}}}}}}|}}}}}}}}}|}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}|}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}|}}|}}}|}}}}}}|}|}}}}}}}}}}}|}}}}}|}|}}}}}}}}|}|}|}}}}||}}}}}}}||}|}|}}}}}}}}}}}}}}}|}}}}}}}}}}}}}}}|}}}}}}}}}}}}}}|}}}}}}|}}}}}}}||}}}}}}}}}}}}}}}}}}}}}}}}}}|}}}||}|}|}|}}}|}}}}}}}}}|}|}}}}}}}|}}|}}}}}}|}}}}}}}}}}}}}}}}|}||}|}}}}}}}}}|}}}}}}}}|}|}}}}}}}}}}}}}}||}}}}}|}}}}}}|}}}}}}}||}}}}}}}}}}}|}}}|}|}}}|||}}|}}}}||}}}|}}}}}}}}}}}}|}||}}}}}}}}}}}}||||}}}}}|}}}|}}}|}}}}}|}}}|}}}}}}|}}}}}}}}}}}}}}|}}}}}}}}|}}|}}}|}}}}}|}}}|}}}}}|}}}}}}}}|}}}}|}}}|}|}}}}}}}}|}|}}|}}}}}}}}|}}}}}}}}|}}}}}}}}}}}|}}||}}}}}}|}}}}}}}}}}}}}}||}}}|}}}}}||}}}}}}}}|}}|}}}|}}}}}}}}}}}}}}|}}}|}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}||}}}}}}}|}}}||}||}}}|}}|}}|}}}}|}||}||}}}}}|||}||}|}}}}}||}|}}}}|}|}}}|}}}}}}}|}}}}}}}}|||}}}||}}}}}}|}}|||}}|}}}|}}}}|}}}}}}|}}}}}|}}}}}}}}}}}}}}}}}}}}}}}}}}}|}}}}}|}}}}}}}}}|}|}}}||}}}}||}}|}}}|}}}}}}}}}|}}}}|}}}}}}|}|}}}|||}}}}}}|}}}}}}}}}}}}}||}}}}}}|}}}}}|}|}}}}}}}}}}|}}}}||}}}}}}}}}}}}|}}}|}}|}}}}}}|}}}}}|}}}}}}}}|}}}}||}||||}}|}}|}}||}}}}}}}}|}|}}}}|}}|}}}}|}}}|}|}}|}|}}}|}}}}}}}}}|}}}}}|}}}}}}}}}|}}}}}}|||}}}}}}}}}|}}}|}}|}}}}|}}}}}}}}}|}}}|}}}|}}}}}}}}|}}}}}}}}}|}}}}}|}}}}}|}}}}}}}|}}|}}}}}}}}|}}|}|}}}}}}}}}}}}|}}|}}}}}}}|}||}}}}}|}|}}|}}||}}|}}}}}}}|}||}}}}}}}}}}||}}}}}}}}}}}}}}}|}}}|}}}||}}}}}}}}}}}|}}}}||}}}}}}}}}}}}}}|}}|}}|}}|}|}}|}}}}}|}}}|}|}|}}}}}|||}|}}|}|}}}}}||}}}}}}}}}}}}}}}}}}}}}}}|}}}}||}}}|}}}}}}|}||}}|}}||}||||}}}}}}}}}}}}}|}}|}|}}}}}}|}}}}}}}}}}||}|}}|}}|}}|}}}||}}}|}}}}}|}|}}}}}}}}|}}}}}}}}}}}}|}}}}}}}}|}}}||||}|}}|}}}}}}}}}}}}|}}|}}|}}}}||}}||}}}}||}}}|}}}}}}}|}}}}|}}||||}}}}}}}}}}}}}}}}|}}}}}|}|}}|}}}}}}}}}}}}}}}}|}}}|}}}|}}}|}}|}|||}}}}}|}||}|||}}|}}}}}}}}}}|}}|}}|}}}}}}}}}}||}}}}}}}}}}}}}}}}}}}}}}|}}}|}}}}}}}}}}|}}}}|}}}|}|}}}}|}}}|}|}}|}}}}}}}}}}}}||}}}}}}}}}}|}}}|}}}|}}}}}}}|}}|}}}}|}}}}|}}|}}}}}}}}}}}}}}}}}}}|}}}|}}}}}}}}}}|}}}}}}}}}}}}}}}}|}}}}}}}|}}}}}}}}}}}|}}}||}}}}|}}}}}}}}}}}}}}}}}}}}}|}}}}}}}}}}}}|}}}}}}}}}}}}}}|}}}}}}}}}}}}}}}}|}|}}}}|||}}||}|}}}}}}}}}}}|}}}}}}}}|}}}}}}}}}}}}|}}}}|}}}}}}}}}|}}}}}}}}}|}}}|}}}}}}}}}}}}}}}}}}}}}}|}}}}}}}}}|}}}}}}}}}}|}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}|}}}}}|}}}}}}}}}}}}}}}}|}}}}}}}}}}}}}}}}|}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}|}}}}}}}}}|}}}}}}}}}}}}}}}}}}}}}}|}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}|}}}}}}}}}}}}}}}}}}}}}}}}}}}}|}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}|}}}}}|}}}}}||}}}}}}}}}}}}}}}}}}}}}}}|}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}|}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}|}}}}}}}}}}}}}}}}}}}|||}}|}|}}}}}}}}}}}}}}}}}}}}}}}|}}}}}}}}}}}}}}}}}}||}}|}|}}}}}}}}|}}}}}}|}|}}}}}}}}|}}}|}}}}}}}}}|}}}|}}|}}}|}}|}}}||||}}}}}}|}|}|}}}}}|}|}}}}}|}}}}}|}}}}}}}}}}}}}}}|}|}}}}}}}}}}}}}}}}}}||}}|}}}}}}|}}}}}}}|}}}}}}}}}}}}}}}}|}|}}}}}}}}}}}}}}}}}}}}|}||}}}}}}}}}}|}||}}}|}|}}}}|}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}|}}}}}}}}|}}}}}}}}}|}}}}}|}}}}}}|}}}}}}}}}}}}|}}|}}}}}}}}}}}|}}||}}}}}}|}}|}}|}}}}}|}}|}}}|}|}}}}}}|}}}}}}|}}}}|||}||}}}}}}}}}}}}|||}}}}}}}|}}}}}}}}}}}}|}}}}}}}|}}}}}}}}}}}}}|}}}}}}}|}}}}}}}}}}}}}}}}}}}}}}|}}}}}}}}}}}|}}}}|}|}}}}}}}}}}}|}}}}}|}}}}}}}}|}}}}}}}}|}|}|}|}||||}}|}}}}}}}}}}|}}|}}}}}}}}}}}}}}}}}}}}}}}}}}|}|}|}}}}}||}|||}|}}}}}}|}}}}}}}}}}}}}}}}}}}}}}}}}}|}}}}}}}}}}}}}}}}|}}|}}|}}}}}|}}}}|}}}|||}}|}}}}}}}}}}}}}}}}}}}|}}}|}}||}}}}|}}}}}}}|}}}}}}}}}|}|}}}}}}}}}}}}}}}}}|}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}|}}|}}|}}|}|}|}}}|||}}}|}}}}}}|}||}}}|}|}|}}}}}}|}}}}|}}}||}}}}}||}}|}}}|}}}}}|}}|}}}|}|}|||}}}}}}}}}}}}}}|}}}}}}}|}}||}}}}}}}}}}}}}}}}}}}}}}}}}}|}}}|}}|}|}|}}}}||}}}}}}}}|}}}|}}}|}}}}}}}}}}|}}|}}}}}}}}}}}}}}}}}|}}}}}|}}}}}}|}}}|}}}}}|||}}}}}}|}|}}|}}|}}}}}}}|}}}}}}}}}}}}}}|}}}|}}}|}}}|}}}}}|}}}}|}}}}}}}}}}}}}}}}}}}|}}}}|||}}}}||}|}}||}}}}}}}|}}|}}}|}}}}}}}}}}|}}|}}}}}}}|}}}}}|}}}}}}}}}}}}|}|}}}}}}}}}}}}}}}}}}}|}}|}|}}}|}}|}}}}}|}}|}}}}}|}}}|}}|}}||}}}}}}}}}}}}|}|}}}}}}}|}}}||}|}}|}|}}|}}}||}}|}|}}}}}}}}|}}||}}}}}|}}}}}||}}}}|}||}}}}}}}}}}}|}|}}}}|}}}}|}}}}||}}}}}}}||}||}}}}|}}}}}}}}}}|}}}}}}}}||}}}}}||}||}}}}}}}|}}|}}}}}}}}}}}}}}}}}|}|}|}}}}}}}}}|}}}}}|}}}}|}}}}}}}}}}|}}}||}}}|}}}|}}}}}}}}||}}}}}}}||}}|}|}|}}}}}|}}}}}}}}}}|}|}}}}}}|}|}|}}|}}}}|}}}}}}}|||}}}}}}}}|}}}|}}}}}}}}}|}}}}}}}}}}|}}}}|}}}}}|}}||}}}}}|}}}}}}|}}}}|}}}|}}}}}|}|}}}}}}}}|}}}}}||}}}}}}}}|}}|}}}}}}}}}}}|}}}}|}}}||}}}}}}|}}||}}|}}}}}||}|}}|}}}}}}}}}}}}}}}}}}}}}}|}}||}}|}|}}}|}}}}}}|}}}}}|}}}}}}}}}||}}|}}|}|}}|}}}}|}}}|}}}}}}}}}}}}}}|}}}}}}}}}}}}}}|}}}}}}}}|}}}}}}}}}}|}}}}}}}}|}}}}}}}}}}|}}}}}}}}}}}|}}|}}|}}}}}}}}||}}}}}}}|}}}}|}}}}}}|}|}}}}}}}}}}}}}}}|}}}}}}}}||}}}}}}}|}|||}}}}}}}}}}}}}}}}}}|}}}}}}}}}}}|}}}}}}}}|}}}}}}}}|}}}}}}}}}}}|}}}}}}}}|}|}}}}}}}}}}}}}}|}}}}}}}}}}}||}}}||}}}}}}|}}}||}}}}}}}|}}}}}}}|}}}}}}}}}}}}}}}}}}}|}}}}}}}}}}}}}}}}|}}}}}}}}}}}}}}|}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}|}}}}}}}}}}}}}}}}}}}}}}}}}}}}|}}|}}}}|}}}}|}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}|}}}|}}}}}}}}}}}}}}}}}|}}}}}|}}}}}}|}}}}}}}}}}}}}}}}}}}}|}}|}|}}}}}}}}}}}}|}}}}}|}}}}}}}}}}|}}|}}}}}|}}}}}}}}}}}}|}}}}}}}}}}}}}}}}}}}}}}}}}}}|}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}|}}}}}}|}}}}}}}}}}|}}|}}}}}}}}}}}}}}}}}}|}}}}}}}}}}}}}}}}}}}}}}}}}}}|}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}|}}}|}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}|}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}|}}}}}}}}}}}}}}}}}}}}}}}}|}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}|}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}|}}}}}}}}}}}}}}}}|}}}}}}}}}}}}}}}}}}}}}}}}}}|}}}}}}|}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}|}}}}}}}}}}}}}}}}}|}}}}}}}}}}|}}}|}}}}}}}}}}}}}}}}|}}}}}}}}}}}}}}}}}}}}}}}}}|}}}}}}}|}}}}}}}}}}}}}}}|}}}}}}}}}}}}}}}}}}}}}}}}}|}}}}}}}}}}|}}}}}}}}}}}}}}}}}}}|||}}}}}}}}}}}}}}}}}|}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}|}}}}}}|}}}}}}}}}}}}}|}|}}}}}}}}}}}}}|}}}|}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}|}}}}}}}}|}}}}}|}}}}|}}}}|}}}}}|}}}}}|}}}}}}}}}||}}}}}}}}}}}}}}}}}|}}|}}}}}||||}|}}|}}}}}}}||}|}}}}}|}}}}}|}}}}}}}}}}|}|}}}}}|}|}}|}|}}||}|}}}|}}}}}}|}}}}}}||}}||}|}}}}}}||}}}|||}|}|}}}}}}}|}}}|}}}}}|}}}}}}}}|}|}|}|}}}}}}}}}}}|}}}}}}|}}}}}|}}}}|}|}}}}}|}}}}|}||}}}}|}}}|}|||}}}}}}}}}}|}}}}|}}}}}||}}|}}|}|}}|||}}}}|}}}|}}}}}|}}|}}}}}|}}}}}}}}}}|||}}|}}}}}}}}}}}|}}|}}}}||}|}|}|}|}}}}}}}}}}|}|}||}}}}}}}}}}}}}}}|}|}|}}}|}}}}||}}}}}}}}}}|}}}}|||}}}}|}}}}}}}}}}}}}}}}|}}}||}||}}|}|}|}}|}|}}}|}}}||}}}|}|}}|||}|}}}}|}|}}}|}}}}}|}}}}}}}}|}}}|}}|}}}}}}}}}}}|}}}|}}}}}}}}}|}}}}|||||}}}}}}|}}}|}}}}}}}}}}}}}|}}}}|}|}|}}}}}}}}}}}}}}|}|}}}}}}}}}}}}}||}}}}}||}|}}}}}}}}}|}}}|}}|}}}}}}}}}}}}}}|}}|}}}}}}}}}}}}}}}}}|}}|}}}}|}}|}}}}||}}}||}}}}}}}}}}}}}||||}}}}}}}||}|}}}|}}}||}}}}}|}}}}}|}}}}}}}}}|}}}}}||}}}}}}}}}}}}}}}}||}}||}}}||}|}}}|}}|}}}}}}|}|}}|}}}}}}}}}}|}}}}}}}}}}}}}}}}}}||}}}|}|}}}}}}|}}|}}}}}|}}}}}}}}}}}}|}}}}}}}}}|}}|}}|}}}}}}}}}|}}|}|}}}}|}}}|}}}}}}|||}}}}}}|}}}}|}}}}}}}|}|}}}|}|}}}|}}}}|}|}}}|}}}}}|}|}|}|}}}|}}}}|}}}||}}}}}}}}}|}}}}}}}}}|}}}}|}|}}}|}}}}}}}}}}}}}}}|}}}}}}}}}}}}}}}|}}}}}||}}|}||}||}}}}}}}}}}|}}}}}|}|}}}}}|||}}}}}}}}}}}}}}}|}}}}}}}}}}}|}}}}}}}}}}}}}|}}}}}}}}}}}}}}}|}}}}||||}|}||}||}}}}}}}}}}|}}}}}}}|}}}}}|}|}}}}}}}|}}}|}}}|}}}|}}}}}}}}}}}}}}}}}|}}}}}}}}}|}}|}}}}}}}}}}}}}|}}}|}}|}}}}}}}}||}}}||}}}}}|}}}||}}}}}}}}}}}}}}}|}}}|}|}}}}}}|}}|}}||}}}}}}}}}|}}}}}}}}}}}}}|}}|||}}}}}}}}}}}}|}}}}}}|}||}|}}}}}}}}}|}}}}}}}}||}}}}}}}}}}}|}}||}}}|}}}}}}}}}}}}}}}|}}}}}}}}}}}}}|}}}}|}}}}}}}}}}}}}|}}|}}|}}}}}}}}}}}}}}}}}|}|}|}|}}}}}}}|}}||}|}}}}}}}}}}|}|}}}}}}}}|}}}}}}}}}|}}}}|}}}}}}}}}}}|||}|}}}}}}}|||}}}}}}}|}}}||}}}}}|}}}}}}}}}}}}}}}}}||}|}}}}}}}}}}}}}}}}||}|}}|}}}}|}}}}}}}}}}}}}}}}}}}}|}}}}}}}}}}}|}}}}}}}}|}}}|}}}}}}}}}}|}}|}|}}|}}}}}}}}}}}}||}}}}}}}}}}}}}}}}}}}|}|}}}}}}}}}|}}}}}}}}||}}}}}}}}|}}|}}}}}}}}}}}}|}}}}}}}}|}}}}|}}}}|}}}|}|}}}}}}}}}}}}}}|}}}|}}}}}}}}}|}}}}}}}}}}|}}}}}}}}}}}}|}}}}}}}}}}}}}}}}}}}}}}|}}}}}}}}}}}}|}}}}}}}}|}}}}}}}}}|}}}}}}}}}}}}}}}}}}}||}}}|}}}}}||}}}}|}}||}}}}}}}}|}|}}}|}}}}}}|}}|}}|}}}}}|}}||}}}}}}}}}}||}|}}}}}}}}}}}}}}}}}}}}|}}}|}}|}}|}}}}}}}|}}}}}}}}}|}}}}}}}}|}}}|}}|}}}}}}}}}}}}}}}}}}}}}|}}|}}|}|}}}||}}|}}}}|}}|||}}}}||}}}}}}}|}}}|||}}}}}}}}}|}}|}|}}}}}}}||}|}}}|}}}}|}}|}}}}}}}}}}}|}}}}}|}}|}}}}}|}|}}}|}}}}|}}}}}}|}}||}}}|}}}}}}|||}}}}}}}}|}}}}}}}}}}}}}|}|}}}}}|}}}}}}||}}}}}}}}}}}}}}}}}}}|}}}}}}}|}}}}}}}}|}}}}}}}|}}}}}}}}}|}}|}}}|}|}}}}|}}}}}}}}|}}|}}}}|}}|}}}}|}}|||}}}}}|}}}||}}}}}}}||}}}}|}}}}}}}}|}}||}}}}|}}||}}}|}}}|}||}}}}}}}}}}}}}}}|}}}}|}}}|}}}|}}}}|}}}|}}||}|}}}|}}|||}}}|}}}}}}}||}}}|}}}}}}|}}}}}}}|||}}}}}||}}|}}|}||}|}}|}}}}}}}}}}}}}}}}}|}||}|}}}|}}|}||}|}}}|}|}}}}}}}}}}}}||}}}}}}}}}}}||}}}}}}}}}}|||||}}}}}}}|||}}}|}}}}}}}}}}}}}}}}}}}}|}}}}}}|}}||||}}}}|}|}}|}}}|}}|}}}}}}|}|}|}}||}}}}|}}|}}|}||}|}}}}}}}}|}}}}||}}}}}}}}}|}}}}}|}}|}}|}}||}}|}}}}}}|}}|}|}}}}|}}}}||}|}||}|}}}}|}}}}}}}}|}}}}}|}|}}|}}||}}}}}|}}|}}}}}}|}}}}|}}|||||}}|}|}}|}||}}}}}}}||}}}|}}|}|}}||}}}}}}}|}|}}}}}}}}|}}}}|}}|}||}}}}}}}}}}}}}}|}}|}|}|}|}||}}}}}}|}}}|}}}}||}}}}}||}}}}}}}||}|}}}}||}}|}}}}}}}}}||}}}}}}|}}|}}|}}}}}}}||}}}}}}}}}}}}}}}}|}|}|}|}}}}}}}|}}}|}}}}}}}}}}}}}}}}}}|}}||}}}}}}}}}}}|}}}}}}}||}}}}|}|}}|}}|}}}}|}}|}||}|}}}}}}}}}}}}|}|}|}}}}}}|}}||}}|||}}}}}|}||}}||}}}}}||}}}|}}}}}}}}}}}}}}|}}}}|}}}}|}}|}}|}}}}}}}}}}}}}|}|}|}}}}}}}}}}}}}}}|}}}|}|}}}}}}}}}|}|}|}}}}||}}}|}}}}}|}||}}}}}|}}}}}}|}}}}|}}|}}}}}}}}|}}}}}}|}}}}}}}}}|}}|||}}}|}}}}}}}}|}}}}}||}}}}|}}}||}}|}}}}}}}}}}|}}}}}|}}|}}}}||}}}}}}|}}}}|||}}}|}}}}}}}}}}}}}||}|}|}}}|}}}}||}||}}}|}}}}||}}}}}}}|}}}}}}}|}|}|}}}|}}}}}}}}}||}}|}}}}}|}}||}}}}}}}}}}}|}|||}|}}}}}}}}}}|}}}}|}}}}}}}}}|}}}}}}}}}}}|}}}}}}}}|}}}|}|}}}}}}|}|}}}}}}|}|}}|}}}}|}}}}}|}|}}}}}}|}}}}}}}}}}}}}||}}|}}}}}}|}}}}}|}}|}}}}}}}}}}}}}}}||}}|}}}}}|}|}|}}|}}}||}}|}}}}|}}}}}}}}}}|}}}}|}}}}|}|}}}}}|}}}}}}}}}}}}}}}}|}}||}}|}}}}}||}}||}}}}}}}}}}}}}|}}}|}}}}}|}}}|}}}|}}}}}}||}}}}}|}}}}}}}|}}}}}|}}}}}}}}}}}}}}}}}|}}|}}|}}}}}}}}}||}}}}}}||}}}}}}|}}}}}}}}}}}}}}|}|}}}}}}}}}}}}}}|}|}}|||}}}}}}}}}}}}}}}}}}}}}|||}||}}}}}|}}}}}}}}|}}}|}}}}}}|}|}|}}}}}}}}}}}|}}}}}}}}}}}|}}}}}}}}}}}}}}|}|}}}}}}|}|}}}}}||}}}}}}}}}}}}}}}}}}}|}}|}}}}}}}}}}|}}}}}}}}}}}}}}}|}}|}||}}}}||}|}}}}}}}}}}}|}}}}|}}}}}}|}}||}}}|}}}}}}|}}}}}|}}|}}|||||}}}}}}}}}}}}|}}}}}}}}}}}|}}}}}}}}}}}}}|}|}}}|}}|}|}|}}|||}}}|}}}}}}}}}}|}}|}||}|}}|}}}|}}|}}}||}}}|}}}|}|}}}}|}}}}}||}}}}}}}}}}}||}|}||}}}}}|}}}}}}}||||}}}}}}}|}}}|}}}|}}}}|}}}|}|}}}}}}|}||}}}||}}}}}}}}}|}}}}}}}}}}}}}}}|}}}}}||}}}}}}}|}}}||}|}}}}}|}|}|}|}}}}}}|}}|}|}||}}}}}||}||}}}}}}}}}}}}}}|}}}}}}}|}}}|}|}|}}|}}}}}}}}|}}}|}}}}}}}}}}}||}}}}}}}}}}}}}|}}}}|}}}}}}|}|}}|||}|}}}|}}}}}}|}}|||}|}}}}}}||}}}|}}}||}}}}|}}}}}}}|}}}}}}}}|}}}}}}}}}}}}|}}}}}|}}||}}}}|}|}}}}}}|}|}|}}|}}}}}}}}|}}||}|}|}}}}}}}}|}}}}}|}}}|}}}|}}|}}}}}}}}}}}}}}|}|}||}}}}||}}}}}}}}}}|}}}|}}|}|}}}}}}||}}|}}}}||}}|}}|}}|}}|}}}}|}}}}|}}|||}}}}}}|}}}}}|}}}}|}}}}}}}}}|}}|}|}}}}}}}}|}}}}}}}}|}}}}||}}}}}}}}|||}}}}||}|}}}}}}}||}}}}|}}}}}}}}}|}}}}}}}}}}}|}}|}}||}}}}}||}}||}}|}|||}|}|}}}|}}|}}}|}}}|}}}}}}|}||}}}|}}}}}||}}}|}|}}}}}}}|}}}}||}|}}|}}}}}||}}}}}}}}}|}}|}}}||}}|}}}}}|}|}|}|}}}|}}||}}}|||}|}}}|}}|}||}}}|}|}}}|}}}}}|||}}}}}||}}}}}}||||}}}}|}||}}}}|}}}|}|}}}}}}}}|}|}||}}}|}|}}||}}}}|}}|}}}}}}}}}}}}}}}|}}}}}}}}|}|}}}}}}}}}}|}}}}|}||}}|}|}}}}}}}|}}}}}}||}}}}}}|}||}}|}}}||}}}|}}}|}|}}}}}}|}}||}}}}}}||}}}|}}|}}|}|}}}}||||}|}}}}}}}|}}}}}||}|}}|}}}}}}}}|}}|}}||}|}}}}}}}|}}}|}||}}}|}}|}}}}}}}|}}}}||}}||}|}}}}}}}}}}}}|}}}}}|}}}}|}}|}}}}|}|}}|}}}|}}|}}}||}}}}}}}}}||}}}|}}}}}}|}|}}}}}}}}|}}}|}}|}}}}}}}}}}}}}}}}}|}}}||}|}}}}}}}}}}|}}}}}}}}}}|}|}||}|}}}}}}}}}}}}}}}|}}}}|}}}|}}}}}||}}}}}|}}}||}}}}}}}}}}||}|}}}}|}|}}}|}}}}}}}}}}}}}||}}}}}}|}}}}|}|}}}}}}||}}}|}}}|}||}}}}}}}}}|}}|||}|||}}}}}|}}}}}|}|}}}}}|}}||}}}|}}}|}}}|}|}|}}}}}}|}}}}}}}}}}}}}}|}}|}|}}}}}}}|}}}}}}}}}}}}}||}}}}}}|}}}|}}}}}|}}}}}}}}}}|}}|}|}|}}}}|}}|}}|}}}|}|}}}}}}}}|}}}|||}}}}}}|}}}}|}}|}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}|}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}|}}}}}}}|}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}|}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}|}}}}}}}}}}}}}}}}}}}|}}}}}}}}}}}}}}}}}}}}}}}|}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}|}}}}}}}}}}}}}}}}}}}}}}||}}}|}}}}}}}}}}|}}}}}}}}}}}|}}}}}}}}|}}}}}}}}}}}}}|}}}}}}}}}}}}}}}}}}}}}}}}}}}|}}}}}}}}}}}}}}}}}}}}}}}|}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}|}}}}}}}}}}}}}}}}}}}}|}||}}}}}|}}}}}}}}}}}}}}}}}}}}}}}}}}|}}}}}}}}|}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}|}}}}}}}}}}}}}}}}|}}}|}}}}}}}}}}}}}}|}}}}}}}}}}}}}}}}}}}|}}}}}}}}|}}}}|}}}}}}}}|}|}}}}}}}}}}}}}}}}}}}}}}}|}}}}}}}}|}}}|}|}}}|}}}}}}}}|}}}|}}}}}}}}}}}}}|}}}}}}||}}}}|}}}}}}|}}}}}}}}}}}}}}|}|}}|}}}}}}}}}}}}}}}}}}}}}}}|}}}|}}}}|}}}}}}}}}||}}|}}}}}}}}}}}}|}}}|}}}}}}}}|}}}}}}}||}|}}}}}}|}}}}}}}}}}}}}}|}}}}}|}}}}}}}}}}|}}}}|}|}}||}}}}}}}}|}}}}}}}|}}}}}}}}}|}}}}}}|}|}}}}}}}}}}}}|}|}|}}|}}}}}}}}}|}}}}}}}}}}||}}}|}|}||}}}}}}}}}}|}}}}}}|}}}}}}}}}}||}}}}|}|}}}|}}}}}}|}}}|}|}}}}}}}}}}}}}}}|}}}}}}}}}}}}}}|}}}}}}|}}}}|}}}}}}}}}}|}}}}}}}|}}}}}}}}}}}}}}}}||}}}}|}}|}}}}}}}}}}}}}}}}|}}}}}}}}|}|}}}}}}}||}}}}}|}}}}}}}}}}}}}}}}}}}|}}|}}}}}}}}}}}}|}|}}}}|}}}}}}|}}}}}}}}}|}}}}}}}}}}}}}}}}}||}}}}|}}}}|}}}|}}}}}}}|}}}}}|}}}}|}|}}|}}}}}}}}}|}|}}}}}|}|}}}}}}}}|}}}}}}}}}}}|}}|}}|}}}}}}}|||}}}||}||}}}|}}||}}}|}}}}}}}}}}}}}}}}|}}}}|}}}|}}}}}}}}}}|}}}}}|}}|}}}}}}}||}}|}}}|}}}}}}}}}}}}}|}}}}}}}}}}}}}|}||}||}}}}}}|}}|}}}}}|}}}|}}}}|}}}}}}}}}}|}}||||}}}}}}}}}}}}}}}}|}||}}}}}}}}}}}}}}}}}}}}|}}}|}}}}}}}||}}}|}}}}}|}}}}}}}}}}}}}}}}|}}}}}}}|}}|}}|}}}}|||}}}}}}}}}}}}|}}}}}}}}}}}}}}|}}}}}}}|}}}|}}}|}}|}}|}}}}}}}}}|}}}}}|}}|}}}}}|}}}}||||}|}}}}}}}}}}}}}}}}}}}}}|}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}|}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}|}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}|}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}|}}}}}}}|}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}|}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}|}}}}}}|}}}}}|}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}|}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}|}|}}|}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}|}}}}}}}}}}}|}|}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}|}}}}|}}}}}}|}}}}}}}}}}}}}}}||}}}}}}}}}}}}}||}}}}}}}}}}}}||}}|}}}}}||}}|}}}}}}}}}}}}}}}}}}}}}}}}}|}}}}|}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}|}}}}}}}}}||}}}|}}}}}}}}}|}}}}}}}}}}}}}}}}}}}|}}|}}}}}|}}}}}|}}}}}}|}}}}}}|}|}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}|}}}}}}}}}}}}}}}}}}}}}}}}|}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}|}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}|}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}|}}}}}}}}}}}}}}}}}}}}}}}}}|}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}|||}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}|}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}|}}}}}}}}}}}}}}|}}}}}}}}}}}}|}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}|}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}|}}}}}}}}}|}}}}}}}}}}}}}}}}|}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}|}}}}}}}|}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}|}}}}}}}}}}}}}}|}}}}}}}}}}}|}}}}}}}}}}}}}}}}}|}}}}}}}|}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}|}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}|}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}|}}}}}}}|}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}|}}}}}}}}}}}}}}}}}}}}}}}}}}}|}}}}}}}}}}}}}|}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}||}}}}}}}}}}}}}}}|}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}|}}}}}}}}}}}}}}}}}}|}|}}}}}|}}}}}}}}}}}}}}}}}}}}}|}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}||}}}}}}}}||}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}|}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}|}}}}}}}}}}}}}}}}}|}}}}}}}}}}}}}}}}}}}}|}}}}}}}}}}}}}}}}}|}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}|}}}}}}}}}}}}}}}}}}}}}}}}}|}}}}}}}}}}}}}}}}}}}}}}}}}}}|}}}}}}}}}}}}}}}}}}}}}}|}}}}}}}}}}}|}}}}}}}}}}}}}}}}}}}|}}}}}}}}}}}}}}}|}}}}}}}}}}}}|}}}}}}}}}}}}}}}}}}}}}}}}}|}}}}}}}}}}}}}}}}}}}|}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}|}}|}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}|}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}|}}}}}}}}}}}}}}|}}}}}}}}}}}}}}}}|}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}|}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}|}}}}}}}}}}}}}}|}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}|}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}|}}|}}|}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}|}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}|}}}}}}}}}}}}}}|}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}|}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}|}}|}}}}}}}}}}|}}}}}}}}}}}}}}}}|}}}}}|}}}}}}}}}}}}}}|}}}|}}}}}}}}}}}|}}}}|}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}|}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}|}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}|}}}}}}}}}}}}}}}}}}}}}}}}}|}}}}}}}}}|}}}}}}}}}}}}}}}}}}}}|}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}|}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}|}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}|}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}|}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}|}}}}}}}}}}}}}}}}}}|}}}}}|}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}|}|}}}|}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}|}}}}}}}|}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}|}}}}}}}}|}}}}}}}}}}}}}}}|}}}}}}}}}}}}}}}}}}}}}}}}}}}}}|}}}}}}}}}}}}}}|}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}|}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}|}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}|}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}|}}}}}}}}}}}}}}}}}}}|}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}|}}}|}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}|}}}}|}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}|}}}}|}}}}}}}}}}}}}}}|}}|}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}|}}}}}}}}}}}}|}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}|}}}}}}}|}}}}}}}}}}}}|}}}}}}}}}}}}|}}|}}}}}}}}}}}}}}}}||}}}}}}}}}}}}}}}}}}}|}}}}}}}}}}}}}}}}}}}}}}}|}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}|}}}}}}}}}}}}}}}|}}}}}}}}|}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}|}}}}}}}}}}}}}}}}|}}}}}}}}}}}}}}}}}}}}|}}}}}}}}}}}}}}}}}}}}}}}}}}}}}|}}}}}}}}}|}}}}}}}}}}||}}}}}}}}}}}}}||}}}}}}}}}}}}}}}}}}}}|}}}}|}}}}}}}}}}}}}}}}}}|}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}|}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}||}}}}}}}}}}}}}}}}}}}|}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}|}}}}}}}}}}}}}}}}}}}}}}}|}}}}}}}}}}}}}}}}}}}}|}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}|}}|}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}|}}}}}}|}|}}}}}}}}}}}}}}}}}}}}}}|}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}|}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}|}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}|}}}}}}|}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}|}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}|}}}}}}}}}}}}}}}}}}}}}}}}}}}}}|}}}}}}}}}}}}}}}}}}}}}}}|}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}|}}}}}}}}}}}}}}}}}}}}|}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}|}}|}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}|}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}|}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}|}}}}}}}}|}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}|}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}|}}}}}}}}}}}|}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}|}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}|}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}|}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}|}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}|}}}}}}}}}}}}}}}}}}}|}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}|}}}}}}}|}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}|}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}|}}}}}}}}}}}}}}}}}}}}}}}}}|}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}|}}}|}}}}}}}}}}}|}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}|}}}}}}|}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}|}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}|}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}||}}}}|}}}|}}}}}}}}}}|}}}}}}}}}}}}}|}}}}}}}}}}}}}}}}}}}}}|}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}~}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}~}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}|}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}|}}}}|}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}|}}}}}}}}}}}}}}}}}}}}}}}}||}}}}}}}}}}}}}}}|}}}}}}}}}}}}}}}}}}}}}}}}}}||}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}|}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}~}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}~}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}~}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}~~}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}~}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}~}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}~}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}~}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}~}~}}}}}}}}}}}}}}}}}}}~}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}~}}}}}}}}}}}}}}}}}}}}}}}}}~}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}~}}}}}~}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}~}}}}}}}}}}}}}}}}}}}}}~}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}~}}}}}}}~}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}~}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}~}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}~}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}~}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}~}}}}}}}}}}}}}}}}}}}}}}}}}}}~}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}~}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}~}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}~}}}}}}}}}}}}}}}}}}}}~}}}}}}}}}}}}}}~}}}~}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}~}~}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}~}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}~}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}~}}}}}}}}}}}}}}}}}}}}}}}}}}}~}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}~}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}~}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}~}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}~}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}~}}}}}}}~}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}~}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}~}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}~}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}~}}~~}}}}}}}}}~}}}}}}}}}}~}}}}}}}}}}}}}}}}}}}}}}}}}}}~}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}~}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}~~}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}~}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}~}}}}}}}}}}}}}}}~~}}}}}}}}}~}}}}}}}~}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}~}}~}}}}}}}}}}}}}}}}}~}}}}~}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}~}}~}}}}}}}~}}}~}}}}}}}}}~}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}~}}}~}}}}}}}}}}}}}}}}}}}}}}}}~}}}}}}}}}}}}}}}}~}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}~}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}~}}}}}~}}}}}}}}}}}}}}}}}}}}}}}~}}}}}}}}}}}}}}}}}}}}}~}}}}}}~~}}}}}}}}}}}}~}}}}}}}}}}}}}}}}}}}}}~}}}}}}}}}}}}~}}}}}}}}}}}}}}}}}}}}}}}}~}}}}}}}}}}}}}}}}}}}}}}}}}}}}}~}}}}}}}}}}}}~}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}~}}}~}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}~}}}}}}}}}}}}}}}}}}}}}}}}~}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}~}}}}}}~}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}~}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}~}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}~~}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}~}}}}}}}}}}}}}}}}}}}}}~}}}}}}}}}}}}}}}}}}~}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}~}}}~}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}~}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}~}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}~}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}~}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}~}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}~}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}~}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}~}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}~}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}~}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}~}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}~}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}~}}}}}}}}~}}}}}~}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}~}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}~}}}}}}}}}}}}}}}~}~}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}~}}}}}}}}}}}}}}}}}}}}~}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}~}}}}~}}}}~}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}~}}}~}}}}}}}}}}}}}}}}}~}}}}}}}~}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}~}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}~}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}~}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}~}}}}}}}}~}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}~~}}}}}}}}}}}~}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}~}}}}}}}}}}}}}}~}}}}}}}}}}}}~}}}}}}}}}}}}}}}}}}}}}}}}}}}}~}}}}}}}}}}}}}}~}}}}}}}}}}}}}}}}}}}}}}}}}}}}~}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}~}}}}}}}}}}}~~}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}~}}}}}}}}}}}}}~}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}~}}}}}}}}}}}}}}}}}}}}}}}}}~}}}}}}}}}}}}}}}}}}}}}}~}}}}}}}}}~}}}}}}}}}}}}}}}}}}}}}}}}}~}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}~}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}~}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}~}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}~}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}~}}}}}}}}}}}}}}}~}}}}~}}}}}}}}}}}~}}}}}}}~}}}}}}}}}}}}}}}}}}}}}}}}}~}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}~}}}}}}}~}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}~}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}~~}}}}}}}}}}}}}}}}}}~}}}}}}}}}}}}}}}}}}}~}}}~}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}~}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}~}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}~}}}}~}}}}}}}}}}}}}}}}}}}}}}}}}}}}~}}}}}}}~}}}}}}}}}}}}}}}}}}}}}}}}}}~}}}}}~}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}~}}}}}}~~}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}~}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}~}}}}}}}}}}}}}~}}}}}}}}}}}}}}}}}}}}}}}}}~}}}}}}}}}}}}}}}}}}}}}~}}}}}}}}}}~}}}}}~}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}~}}}}}}~}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}~}}}}}}}}}}}}}}}}}}}}~}}}}}}}}}}}}}}}}}}}}~}}}}}}}}}~}}}}}}}}~}}}}}}}}}}}}}}}}}}}}}}}}~}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}~}}}}}}}}}}~}}}}}}}}}}}}}}}}}}}}}}}~}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}~~}}}}}}}}}}}}}}}}}}}}}}}}}}}}~}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}~}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}~}}}}}}}}}}~}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}~}}}}}}}}}}}}}}~}}}}}~}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}~}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}~}}}}}}}}}~}}}}}}}}}}}}}}}}}}}}}}}}}}~}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}~}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}~~}}}}}}}}}}~}}}}}}}}}}}}}}}}}~}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}~}}}}}}}}}}}~}}}}}}}~}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}~}}}}}}}}}}}}}}}}}}}}}}}}}}~}}~}}~}}}}}}~}}}}}}}}}}}~}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}~}}}}}}}}}}}}}}}}}}}}}}}}}}}~}}}}}}}}~}}}}}}}}}~}}}}}}}}}}}}}}}}}}}~}}}~}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}~}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}~}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}~}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}~}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}~}}}}}}}}}}}}}}}}}}}}}}}~~}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}~}}}}}}}}}}}~}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}~~}}}}~}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}~}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}~}}}}}}}}}}}}}}~}~}}}}}}}}}}}}}}}~}}}}}}}}}}}}}}}}}}}}}}}}}}~}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}~}}}}}}}}~}}}}}~}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}~}}}}~}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}~}}}}}}}}}}}}}}}}}}~}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}~}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}~}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}~}}}}}}}}}}}}}}}}}}}}~}}}}~}}}}}~}}}}~}}}}}}}}}}}}}}}}~}}}}}}}}~}}}}}}}}}}}}}}}}}}}}}}}}}}~}}}}}}}}}}~}}}}}}}}}}}~}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}~}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}~}}}}}}}}}}}}}~}}}}}~}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}~}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}~}}}}}}}}}~}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}~~}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}~}}}}}~}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}~~}}}}}}~}}}}}}}}}}~}}}}}}}}}~}}}}}}}}~}}~}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}~}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}~}}}}}}}}}}}}}}}}}}}}}}}~}}}}}}}}}}~}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}~~}}}}}~}}}}}}}}}}}}}}}}}}}}}}}}}~}}}}}}}}}~}}}}}}}}}}~}}}}}}}}}}}}~}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}~}}}}}}}}}}}}}}}}}}}}}~}}}}}}}}}}}}}}}}}}}}}}}}}~}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}~}}}}}}}}}}}}}}}}}}}}}}}}}}}~}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}~}}}}}}}}}}}}}}}}}}}}~}}}}}}}}}}}}}~}}}}}}~}}}}}}}}}}}}~}}}}~}}}}}}}}~}}}}}}}}}}}}}}}}}}}}}}}}}}}}~}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}~}}}}}}}}}}}}}}}}}}}}}}~}}}}}}}}}}}}}}~}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}~}}}}}}}}}}}}~}~}}}}}}}}}}}}}}}}}}}}}}}~}}}}~}}}}}}}}}}}}}}}~}}}}}}~}}}}}}}}~}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}~}}}}}~}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}~}}}~}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}~}}}}~~}}}}}}}}}}}}}}}}}}}}}}}}}}~}}}}~}}}}}}}}}}}}~}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}~}}}}}}}}}}}}}~}}}}}~}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}~}}}}}}}}}}}}}}}}}}}~}}}}}}~}}}}}}}}}}}}}}}}}}}}}}}~}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}~}}}}~}}}}}}}}}}}~}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}~}}}}}~}}}}}~}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}~}}}}}}}}}}}}~}}}}}}}}}}}}}}}}}~}}}}}}}~}}}}~}}}}}}}}}}~}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}~}}}}}}}}}}}}}}}}~}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}~}}}}}}}}}}}}}}}}~}}}}}}}}}}}}}}~}}}}}}}}}}}}}}~}}}}}}}}}}}}}}}}}}}}}}}}}}~}}}}}}}}}}}}}}}}}}}}}}}~}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}~~}}}}}}}}}}}}}}}}}}}}}}}~}}}}}}}}}}}}}}}}}}~}}~}}}}}}}}}~}}}}}~}}}}}}}}}}}}}~}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}~}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}~}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}~}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}~}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}~}}}}}}}}}}}}}}}}}}}~}}}}}}}~}}}~}}}}}}}}}}}~}~}}}}}}}~~}}}}}}}}}}}~}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}~}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}~}}}}}}}}}}}}}}}~}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}~}}}}}}}}~}}}}}}}}}}}}}}~}}}}~}}}}}}}}}}}}}}}}}}}}}}}}}}}}~~}}}}}}}}}}}}}}~}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}~}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}~}}~}}}}}}}}}}}}}~}}}}}}}}}}~}}}}}}}}}}~}}}}}~~}}}}}}}}~}}}}}}}}}}}}}}}}}}}}}}}}~}}}}}}}}}}}}}}~}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}~}}}}}~}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}~}}}}}}}}}}}}}}}}}}}}}}}}}}}}}~}}~}}}}}}}}}}}}}}}~}}~}}~}}}}}}~}}}}}}}}}}}}}}}}}}}}}}}}}~}}}}~}}}}}}}}}}}}}}}~}}}}}}~}}}}}}}}~}}}}}}}}}}}}}}}}}~}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}~}}}}}}}}}}~}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}~}}}}}}}}}}}}}}}}}}}}~~}}}}}}}}}}}}~}}}~}~}}}}}}}}}}}}}}}}}}}}}}}}}}~}}}}}}}}}}}}}}}}}~}}}}}}}}}}}~}}}}}}}}}}}}}}}}}}}}}}}~}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}~}}}}}}}}}}}}}}}}}}}~}}}}}}}}}}}}}}}}}}}}}}}}}}}}}~~}}}}}}}}}}}}}}~}}}}}}}}}}}}}}}}}}}}}}}}}~}}}}}}}}}~}}}}~}}}}}}}}}}}}}}}}}}}}}}}~}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}~}}}}}}}}}}}}}}}}}}}}}}}}}}}}}~}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}~}}}}}}}}}}}}}}}}}}}}}}}}}}~}}}~}}}}~}}~}~}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}~}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}~}}}}}}}}}}}}}}}}}}}}}~}}}}}}}}}}}}}}}}~}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}~}}}}~}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}~}}}}}}}}}~}}}}}}}}}}}~}}}}}}}}}}}}~}}~}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}~}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}~}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}~}~}}}}}}}}}}}}}}}}}}}}}}}}}}~}}}}~}}}}}}}}}}}}~}}}}}}}}}}}}}}}}}}}}}}}~}}}}}}}}}}~}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}~}}}}}}}}}}}}}}}}}}~}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}~}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}~}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}~}}}}~}}}}}}}}}}}}}}}}~}~~}}}}}}}}}}}}}~}}}}}}}}}}}}}}}}}}}~}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}~}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}~}}}}}}}}}}}}}}}}}}~}}}}}}}}}}}}}}}~}}}}}}}}}}}}}}}}}}}}}}}}}}}~}}}}~}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}~}}}}}}}~}}}}}}}}~}}}}}}}}}}}}}}}}}}}}}}}}}}~}}}}}}}}}}}}}}}}}}}}}}}}}~}~}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}~}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}~}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}~}}}}}}}}}~}}}}}}}}}}}}}}}}}}}}}}}}~}}}}}}~}}}}}~}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}~}}}}}}}}}}}}}~}}}}}}}}}}~}}}}}}~}}}}}}}}}}~}}}}}}}}}}}}}~}}}}}~}}}}}}}}}}}}}}}}}~}}}}}}~}}}}}}}}}}}}}}}}}}}~}}}}~}~}}}}}}~}}~}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}~}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}~}}}}}}~}}}}}}~}}}}}}}}}}}}}}}}}}}}~~}}}}}}}}}}~}}}}}}}}}~}}}}}}~}}}}}}}}}}}}}}}}}}}}~}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}~}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}~}}}}}}}}}}}}}}}}}}}}}}}}}}~}}~}}}}}}}}}}}}}}~}}}}}}}~}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}~}}}}}}}}}}}}}}}}}}}}}}}}}}~}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}~}~}}}}}}}}}~}~~~}}}}}}}}}}}}}}~}}}}}}}}}~}}}}}}}}}}}}}}}}}}}}}}~}}}}}}}}}}}}}}}}}}}}}}~}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}~}}}}}}}}}}}}}}}}}}}~}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}~}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}~}}~}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}~}}}}}}}}}}}}}}}}}}}}}}}~}}}}}}}}}}}}}}}}}}}}}}}}}~}}}}}}}}}}}}}}}}}}}}}}~}}~}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}~}}}}}}}}}}}}}}}}}}}}~}}}}}}}}}}}}}}}}}}}~}}}}}}}}}}}}}~}}}}}}}}}}}}}}}}}}}}}}}~}}}}}~}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}~}}}}}}}}}}}}}}}}}}~}}}}~}}}}}}}~}}}}~}}}}}}}}}}}}}~}}~}}}}}}}}~}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}~}}}}}}~}}}}}}}}}}}}}}}~}}}}}}}}}}}}}}~}}}}}}}}}}}}}}}~}}}}}}}}}}}}}}}}}}}}}}~}~}}}}}~}}}}}}}}~}}}}}}}}}}}}}}}~}}}~}}}}}~}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}~}}}}}}}}}}}}~}}~}}}}}}}}}}}}}~}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}~}}~}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}~}}}}~}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}~}}~~}}}}}}}}}}}}}}}}}}}}}}}~}}}}}}}}}}}}}}~}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}~}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}~~}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}~}}}}}}}}}}}}}}}}~}}}}}}}}}}}}}}}}}}}}~}}~}}}}}}}}}}}}}}}}}}}}~}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}~}}}}}}}}}}}}}}}~}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}~}}}}}}}}}}}}}}}}}}}}}}}}}}}}}~}~}}}}}}}}}}}}}}}}}}}}}}}}~}}}}}}}}}}}}}}}}~}}}}}}}}}}}~}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}~}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}~}}}}}}}}}}}}}}}}}}}}}}~}}}}}}}}}}}~}}}}}}}}}}}}}}}}}}}}}}}}}}~}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}~}}}}}~}}}}}}~}}}}}}}}}~}}}~}}}}}}}~}}~}}}}}}}}}}}}~}~}~}}}}}}}}}}}}}}}}}}}}}~}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}~}}}}}}}~}~}}}}}}}}}}}}}}}}}~}}}}}~}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}~}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}~~}~}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}~}}}}}}}}}}}}}}}}}}}}}}}}}~}}~}}}}}}}}}}}}}}}}}}}}}}}}}}}}~}~}}}}}}}}}}}}}}}}~~}~}}}}}}}}~}}}~}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}~}}}}}}}}}}}}}}~}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}~}}}}~}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}~}}}}}}~}}}}}}}}}}~}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}~}}}}}}}}~}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}~}}}}}}}}}}~}~}}}}}}}~}}}}}}}}}}}}}}~}}}}}}}~}}}}}}}}}}}}}}}~}}}}}}}}}}}~}}}}}}~~}}}~}}}}}}}}}}}}}}}}~}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}~~}}}}}}}~}}}~}}}}}}}}~}}}}}}}~}}}}}}}}}}~}}}}}}}}}}}}}}}}}}}}}}}}}}}~}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}~}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}~}}}}}}}}}}}}}}}}}}}}}}}}~}}}}~}}}}}}}}}}}}~}}}}}}}}}~}}}}}}}}}}}}}~}}}}}}}}}}}~}}}}}}~}}}~}}}}}~}}}}}}}}}~}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}~~}}~~}}}}}}}}~}}}~}}}}}}}~}}}}}}}}}}}~}}}}}}}}}~}}}}}}}}}}}~}}}}~}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}~}}~}}}}}}}}}}}}~}}}}}}}}}}}}}}}}}}}}}}}}~}}}}}}}~}}}}}}}}~}}}}}}}}}}~}}~}}~}}}}}}}}}}}}}}}~}}}~}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}~}}}}}}}}}}}}}}}}}~}}}}}}}}}}}}}}}}}}}}}}}}}}}~}~}}}}}~}}}}}}}}}}}}}}}}}}}}}}}}}}~}}}}}}}}}}}}~}}}}}}}~}}}}}}}}}~}}}}}}}}}}~}}}}}}~}}}}}}~}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}~}}~}}}}}}}}}}~}}~}}}}}}}}}}}}}}}}~}}~}}}}}}}}~}}}}}}}}}}}}}}}}}}}}}}}}}}~}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}~}}}}}}}}}}}}}~}}}}~}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}~}}}}}}}}~}}}}}}}~}}}}}}}}}}}}}}}}~}}}}}}}}}}}}}}}}}}}}}}~}}}}}}}}}}}}}}}}}}}}~}}}}}}}}}}}}}}}}}}}}}}}}}}}~}}}}}}}}}}}}}}}}}}}}~}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}~}}}}}}}}}}}}}~}}}}}}}}}~}}~}}~}}}}}}}}}}}}}}~}}}}}}}}}}}}}}~}}}}}}}}~}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}~}}}}}}}}}}}}}~}}}}}}}}}}~}~}~}}}}}}}}}}}}~}}}}}}}}~}}}}}}~}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}~}}}}}}}}}}}}}}}}}}~}}}~}}}}}}}}}}}}}}}}}}}~}~}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}~}}}}}}}~}}~}}}}}}}}}~}}}}}}}~}}}}}}}}}}}}}}}}}}}~}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}~}}}}}}}}}}}}}}}}}}}}~}}}}}}}}}}}}}}}}}}}}~}}}}}}~}}}~}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}~}}}}}}}}}}}}}}}}}}}~}}}}}}}}}}}}}}}}}}}}}}}}}~}}}}}}}}}}}}~}}}}}}}}}}}}}}}}}}}}}}}}}}}~}}}}}}}}~}}}}}}}}}}}}}}}}}}}}~}}}~~}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}~}}}}~}}}}}~}}}~}}}}}~}}}~}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}~}~}}~}}}}}}}}}}}}}}}}}}~}}}~}~}}}}}}}}}}}}}}}}~}}}}}}}}}}}}}}}}}}}}}}}}}}~}}}~}}}}}}}}~}}}~}}}}}}}}~}}}}}}}}}}}}}}}}}}~}}~}}}}}}}}}}}}}}}}}}}}}}}}~}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}~}}}}}}}}}}}}}}}~}}}}}}}}}}}}}}}}}}}}}}}}}}}~}}}}}}}}}}~}}}}}}}}}}~}}~}}}}}}}}}}}}}}}}}}}}}}}}}}}~}}}}}}}}}}}}}~}}}}}}}}}~}}~}}}}}}}}}}}}}}~}}}}}}}}}}}}}}}}~}}}}}~}}}}}~~}}~}}}}}}}}}~~}}}}}}}}}}}}}~}}}}}}}}}}}}}}}}}}}~~}}}}}}}}}}}}~}}}~}}}}}~~~}~}}}}~}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}~~}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}~}~}}~}}}}}}}}}}}}~}}}}}}}}}}}~}}}}}}}}}}}}}}~}}}}}}}}}}}}}}~}~}}}}}}}}}}}~}}~}}}}}}}}}}}}}}}~}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}~}}}}}}}}}}}}}}}}}}}}}}}}}}}}~}}}}}}}}}}~}}}}}}}}~}}}}}}}}}}}}}}}}}}}}}}}~}}}}}~}}}}}}}}}~}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}~~}}~}}}}}}}}}}}~~}}}}}}}}}}~}}}}}}}~}~}~}}}~}}}}}}}}}}}}}}}}}~}}}}}}}}}}}}}}}}}}}}}}~}}}}}}~}}}~}}~}}}}}}}}}}~}}}}}}}}~}}~}}}}}}}}}}~}}}}~}}}}}}}}}}}}}}~}~}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}~}}~}}}}}}}~}}}}}~}}}}~~}}}}}}}}}}}}}}}}}}}}}~}}}}}}}}}}~}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}~}}}}}}~}}}}}}}}}}}}}}}}}}}}}}}}~}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}~}}}}}~}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}~}}}}~}}}}}}}}~}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}~}~}}}}}}}}}~}}}}}}}}}}}}}}}}~}}}}}}~}}}}}}}}~}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}~}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}~}}}}}}}}}}~}}~}}}}}}}}}}}}}}}}}}}}}}}}}}}}}~}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}~}}~}}}}}}}}}}}}}~~}}~}}}}}}}}}~}}}}}}}}}}}}}}}}}}}}}}}~}}}}}}~}}}~}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}~}}}}}}}}}}}}}}}}}}~}}}}}}}}}}~}}}}}}}}}~}}}}}}}}}}~~}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}~}}}}}}}}}}}}}~}}}~}}}}}}}}}}}}}}}~~}}}}}}}}}}}}}}}}}}}}}}~}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}~}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}~}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}~}}}}}}}}}}}}}}}}}}}}}}}}~}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}~}}}}}}}}}}}}}}}}}}}}}}}~}}}}}}}}}}}}}}}}}}}}}}~}}}}}}}}}}}}}}}}}}}}}}}}}}~}}}}}}}}}}}}~}}}~}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}~}}}}}}}}}}}}}}}}}}}}}}}}}}~}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}~}}}}}}}}}}}}}~}}}}}}}}}}~}}}}}}}}}}}}}}}}~}}}}}}}}}}}}}~}}}}}}}}~~}}~}}~}}}}}}}}}}}~}}}}}}}}}}}}}}}}}}}}}}~}}}}}~~}}}}}}}~}}}}~~}}}}}}}}}}~}}~}}}}}}~}}}}}}}}}}}}~~}}}}}}}}}}}}}}}}~}}}}}~~~~~}}}}~}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}~}}}}}}}~~}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}~}}}}}}}}}}}}}}}}}}~~}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}~}}}}}}}}}}}}}}}}}}}}}}}}}}}}~}}}}}}}}}}}}}}}}}}}~}}}}}}}}}}}}}}}}}}}}}}}}}}}}}~}}}}}}}}}}}}}}}}~}~}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}~}~}}}~}}}}}}}}}}}~~}}}}}}}}}}}}}}}}}}~}~}~}}}~}}}}}}}}}}}}}}}}}~}}}}}}}}}}}}}}}}}}}~}}~}}}}}}~}}}~}}~}}}}}}}}}}~}}}}}}}}~}}~}}}}}}}}}}~}}}}}}}}}}}}}}}}}}}~}~}}}}}}}}}}}}}}}}}}}}}}}}}}}}~}~}}}}}}}}}}}}}}}}}}}}}}}}~}}}}}}}}}}}~}}}}}}}}}}}}}}}}~}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}~~}}}~}}}}}}~}}}}}}}}}}}}}}}}}}}}}}}}~}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}~}}}}}}}}}}}}}}}}}}}}}}}}}~}}}}}}}~}}}}}}}~}}}}}~}}}}}}}}}}~}}}}}}}}}}}}}}}}}}}}}}~}~}}}}~}}}}~}}}}}}}}}}}}}}}}}}}}}}}~}~}}}}}}~}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}~}}}}}}}}}}}}}}~~}}}}}}}}}}}}~}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}~~}~}}}}}}}}}}}}}}}~}}}}}}}}}}}}}~}}}}}}}}}}}}}~}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}~}}~}}}}}}}}}}}~}}~~}}}}}}}}}}}}}}}}}}}~}}}}}}}}}}}}~}}}}}}}}}~}}}}}}}}}}}}}}}~}}}}}}}}}}}}}~}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}~}}}}}}}}}}}}}}}}}}}}~~}}}}}}}}}~}}}}}}}}}}}}}}}}}}~}}}}}}~}}}}}}}}~}}}~}}}}}}}}}}}}}}}~}}}}}}}}}}}}}}}}}}}}}}}~}}}}}}}}}}}}}}}}}}}}}}}}~}}}}}}}}}}}}}}}~}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}~}}}}}}}}}}}}}}}}}}}}}}}}}}}}~}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}~~}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}~}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}~}}}~}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}~}~}}}}}}}}}}}~}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}~}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}~}}}}}}}}}}}}}}}}}}}}}}}}}}}~}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}~}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}~}}}}}}}}~}}}}}}}}}}}}}}}}}}}}}}}}}~}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}~}}}~}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}~}}}~}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}~}}}}}}}}}}}}}}}}}}}}~}~}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}~}}}}}}}~}}}}}}}}~}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}~~}}}}}}}}~}}}}}}}}}}}}}}}}}}}~}}}}}}}}}}}}}}}}}}}}}}~}}}}}}~}}}}}}}}}}~}}~}}}}}~}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}~~}}}~}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}~}}}}}}}}}}}}}}~}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}~}}~}}}}}}}}}}}}}~}}}}}}}}}}}}}~}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}~}}~}}}}}}}}}}}}}}}}}~}}}}}}~}}}}}}}}}}~}}}}}}}}}}}}~}}}}}}}}}}}}}}~}}}}}}}}}}~}}}}}}}}}}}}}~}}}}~}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}~}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}~}}}}}}}}}}~}}}}}}}}}}}}~}}}}}}}}}}}}}}~}}}}}}}}}}}}~}}}}}}}}}}}}}}}}}~}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}~}~}}}}}}}}}}}~}}~}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}~}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}~}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}~}}}~}}}~}}}~}}}}}}}}}~}}}}}}}}}}}}}~}}}}}}}}}}}}}}}}}}}}}~}}}}}}}}}}}}}}~}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}~}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}~}}}~}}}}}}}}}}}}}}}}~~}}}}}}}}~}}}~}}}}}}}}}}}}}}}}~}}}}}}}}}}}}}}}}}}}}}}}~}}}~}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}~}}}}}}}}}}}}}}}}}}}}}}}}}}}}}~}~}}}}}}}}}}}}}}}~}}}}}}}}}}}}}~}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}~}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}~}}}}}}}}}}}}}}~}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}~}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}~}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}~}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}~}}~}}}}}}}}}}}}}}}}}}~}}}}}}}}}}}}}}}}}}}}}}}}}}}}}~}}}}}}}}}}}}}}}}}}}}}~}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}~}}}}}}}}}}}}}}~}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}~}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}~}}}~}}}}}}}}}}}}}}}}}}}}}}~}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}~}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}~}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}~}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}~}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}~}}}}}}}}}}}}}}}~}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}~}}}}~}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}~}~}}~}}}~}}}}}}}}}}}}}}}}}}}}}}~}~}}}}}}}}}}}}}}~}~}~}}}}}}~}}}}}}}}}}~~}}}}}}}}}}}}}~}}}}~}}}}~}}}}}}}}}}~}}}~}}~}}}}}}}}}}}}~}}}}~}}}}}}}}}}}}}}}~}}}}}}}}}}}}~}}}}~}}}}}}~}}}}}}}}}}}}}}}}}}}~}}}}}}}}}}}}}~}}}}}}}}}}}}}}}}}}}}}}}~}}~}}}}}}}~}}}}~}}}}}}}}}}}}}}~}}}}}}}}}}}}}}}}~}}}}}}}}}}}}}}~}}}~}}}}}}}~~}~}}}}}}~}}}}}~}}}}}}}}}}}~}}}}}~}}}}}}}}}}}~}}}}}}}~}}}}}}}}}}}}}}}}}}}}}}}}}}~}}}}}}}}}}}}}}}}}}~}~}}}}}}}}~~}~}}}}}}}~~}}}}}}}}}}}}}}}}}}}}}}}}}}}}}~~}}}}}}}}}}}}}}}}}}}}}}~}}}}}}}}}}}~}}}}}}}}}~}}}}}~}}}}~}}}}~}}~}}}}}}}}}}}}}}}~}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}~}}}}}}~}}}}}}~}}}}}}}~}}}}}}}}}}}}}}}}~}}}}}}}}}}}}}~~}}}}~}}}}}~}}}}}}}}}}}}}}}}}~}}}}}}}}}}~}}}}}}}}}}}}}}}}}~}}}}}}}}}~}}}}}}}}}}}}}}~}}}~}}}}~}}}}}}}}~}}}~}}}~}}}}}~}~}}}}}~}}}}}}}}}}}}}}}}}}~}}}}}}}}}}}~}}}}}}}~}}}~}}}}}}}}}}}}}}}}}}}}~}}}}}}}}}}}}}}}}}}~}}}}}}}~}}}}}}}~}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}~}}}}}}}}}}}~}}}}}}~}}}}}}}}}}}}}~}}}}~}}}}}}}}~}}}}}}}~}}}}}~}}}}}}}}}~}}}}}}}}}}~}}}}}}}~}}}}}}}}}}}}}}}}}}}}~}}}~}}}}}}}~}}}}~}}}}}}}}}}}}}}}}}}~}}}}}}}}}}}}}}}}}}}}}~}}}}}}}}}}}}}}}}}}}}}}}~}}}}}}}}}}}}}}}}}}}}}}}}}}~}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}~}}}}}}}}~}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}~~}}}}}}}}}}}~}}~}}}}}}~}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}~}}}}}~}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}~}}}}}}}~}}}}}}~}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}~}}}}}}}}}}~}}}}}}}}}}}}}}}}~}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}~}}}}}}}}}}}}}}~}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}~}}}}}}}}}}}}}}}}}}}}}}}~}}}}}}}}}}}}}}}}}}}~}}}}}}}}}}}}}}}~}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}~}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}~}}~}}}}}}}}}}}}}}}}}}}}}}}}}}}~}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}~}}}}}~}~}}}}}}}}}}}}}}}}}}}}}~}}~}}}}}}}~}}}}}}~}}~~~}~}}}}}~~}}}}}}~}}}}}}}}}}}}}}}}}}~}}}}~}}~}~}}}}~}}}}}~}}}~}}}}~}}}~}}~}}}~}}~}~}}}}}}}}}}}}}}}~}}}}~}}}}}}}~~}}}~}}}}}}~~}}}}}}}}}}}}}~}}}}}}}}}}}}}}}}}}}}}}~}}}~}}~}~}}}}}}}}}}}}}~}}}}}}}}}}}}}}}}}}}}}}}}}}}~}}~}}}}}}}}~}}}}~}}}}}}}}~}}}}}}}}}}}}}}}}~}~}~}}}}}}~}}}}}~}}}}~}}}}}}~}}}}}~}}}}~}}}}}}~}}}}}}}~}}}}}}}}}}}}}}}}}}}~~}}}}}~}}}}}}}}~}}}}~}}}}~}~}~}}}}}}~}}}}~}}}}~~~}}}}~}}}}}}}}~}}}}~}}}}}~}}}}~}}}}}}}}}}~}}}}}}}}}~}}~}}}~}}}}}}~~}}}}}~}}}~}}}}}~}}}}~}}}}~}}}}}}~}}}}}}}}}~}~}}}}}}}~}}}}}}}}}}}}}}}}}}}}}}~}}}}}}~}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}~}}}}}}}}}}}}}~}~}}}}}}}}}}}}}}}}}}}}}~}~}}}}}}}}}}}}}}}}~}}}}}}}~}}}~}}}}}}}~}~}~}}}}}}}}}}}}~}}}~}}}}~~}}}}}~}~~}}~}}}~~}}~}~}~}}}~}~}}}}}}~}}}~}}}}}}}}}}}}}}}}}~}~~~}}}}}~}}}}~}}}}}}}}}}}}~}}}}}}}}}}}}}}~}}}}}}}}}}~}}}}}~}~}~}~}}}}}}}}~~}}}~}~}}}}}}}}}}}}}}~}}}}}}}}}}}}}}}}}}}}}}}}}}}}~}}}}}}}}}~}}}}}}}}}}}}}}}}}}~}~}}}}}}}}}}}~}}}}}}}~}}}}}~}}}}}}}~}}~}}~}}}}}}}}~~}}~}}}}}}}~}}~}}}}~}}}}}}~}}}}}}}}}}}}}~}}}~}}}}}}}~}~}}~}}~}}}}}}}}}}}}}}}~}}}}}}}}}}}}~}}}~}}}}}}}}}}}}}}}}}}}}}}}}}~}}}}}}}~}}}}}}}~}}}}}~}}}}}}}~}}}}}}}}}}}~}~}}}}~}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}~}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}~}}}}}}}}}}}}}}}}}}}}}}}}}~~}}}}}}}}}~}}}}}}}}~}}~}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}~}}}~}}~}}}}}}}}}}}}}}~}~}}}}}}~}}~}}}}}}}~}}}~}}}~}}}}}}~}}}}}}}}}}}}}}}}}}}}}}}}~}}}~}}}}}}}}~}}}}}}}}}}}}}}}}}}}~}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}~}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}~}}}}}}}}}}}~}}}}}}}}}}}}}}}}}}}}}}~}}}}}}}}~}}}}~}}}~}}~}}}}}}}}}}}}}}}}}}}~}}}}}}}}}}}}}}}}}}~}}}}}}}}}}}}}}}~}}}}}}}}}}}}}~}}}}}~}}~}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}~}}}}}}}}}}}}}}}}}}~}}}}}}}}}}}}}}}}}}}}}}}}}}~}}}}}}}}}}}}}}}}}}~}}}}~}}}}}}}}}}}}}}}}~}}}}}}}}}}}}}}}}}}}}}}}}}~~}}}}}}~~}}}}}}}~}}}}}}}}}}~}}}}}}}}}}}}~}}}}}}}}}}}}}}}}}}}}}}}}}}}}}~}}}}}}}}}}}}}}}~}}}}}}~}}}}}~}}}}~}}}}}}}}}}}}}}~}}}}}}}}}}}}}}}~}}}~}}}}}}~}}~}}}}}}}}}}}}}}}}}}}~}}}}}}}}}~~}}}}~~~}~}}}}}}}}}~~}~}}~}}~}}}}}~}}}}}}}~}}}~}}}~}}}}~~}}}}~}}~}~~}}}}}}}}~}}~}}}}}}}}}}~}~}}}}}}}}}}}}}}}~}}}}}~}}}}}}}~}}}~~}}}}}~}}}}}~}}}}}}}}}}}}}}}}}}~}}}}~}}~}}}}}}}}~~}~}}}}}}}}}}}}}}}~}}}}~}}}}}}}~}}}~~}}}}}}}~}~}~}}~}}}}~}~}}~}~}}}}}}}}}}}}~}~}}}}}}}}}}}}}}~}}~}}}~}}}}}}~}}}~}}}}}}}}}}}}}~}}}~}}}}}}}~}}}}}}~}}}}}}}}}}}}~~}}~}}}~}}~}}~}}}}}}}}~}}}}~}~}}}}}}~}}}}}}~~}}}~}}}}~}~}}~}}~}}}}}}~}}}}}~}}}}}~}}}}}}}}~}}}}}}~}}}~}}}}}}}}~}}}}~}}}~}~}}}}}}}}}}~}}}}}~}}}}~}}}}}}}}}}}}}}}}}}}}~~}~}}~}}}}~}}}}}}}}}}}~}}}}}}}}}}}~~}}}}~}}}}}}}}}}}}}}~}}}}}}}}}}}}}}}}~}}}~}}}}}}}}}~}}}}}}~}}}}}}}}}}}}}}}}}}}}~}~~~}}}}~}}}}}}}}}~}}}}}}}}}}~}}~}}~}}~}~}~}}}}}}~}}}}}}}}}}}}}}}~~}}}~~}}~}}}~}}~~}}}}}}}~}}~}}}}}}}}}}}}~}}}}}}}}}}}}}~}}~}~~~}}}}}}~}}}}~}}}}}}}}}}}~}}}}}}}~}}}}}}}~}}}}}}}}}}~}}}~}}}}}~}~}}}~}}}}}}~}}~}}}~}}}}}}}~~~}}~}~}}}}}}}~}}}}}}}}}}}}}}}}~}~}}}}}}}}}}}~}}~}}}}~}}}}}}}}~~}}}}}}}}}}}}~}}}}}}}~}}}}~}}}}}}}}~}}}~}}}}}}}}}}~}}}~}}}}}}}~}}~}~}}~}}}}}}~}}}}}}}}}~}}}}}}}~}}}}}}}}}~}}~}}~}}}}}}}}}}}}}}}~}}}}}}}}}}}}}}}}~}}}}}}}}}}}}}}~}~~}}}}}}}~}}}}~}}~}}}}}}}~}}~}}}}}}}}}}}}}}}}}}}}}}~}~}}}}~}}}}}}}}}}}}}}~}}}}}}}}~}}}}}}~~}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}~}}}}~}}}}~}}}}}}}}}}~}}}}}}~}}}}}}~}}}}}}}~~}~}}}}}}}}~~}~~}~}}}}}}}}}}}}}}}}}}}}}}~}}}}~~}}}~}}~}}}}~}}}}~}}}}~}~}}}}}}}}~~}}}}}}}}}}}}}}}~}}}}}}~}}}}}}}}~~}~}}}}}}}~}}}~~}}}}~}}}}}}}~}}}}}}}}}}}}}}~}}}}~}}~}}}}}}}}}~}}}}}}}}}}}}~}~}}~}}~}~}}}}}}}}}}}}}~}}}}}}}}}}}}}}}}~}}}}~}}}}}}~}}}}}}}}}~~}}}}}}}}}}}~}}~}}}}}~~}}}}}}}~}}}}}}}}}}~}}}}}}}~}~}~}}}}}}}}}}}}}}}~~}}}}}}~}}}}}}}}}}}}}}}}}}~}}}}}~}}}~}~}}}}}}~}}}}}}}}}}}}}}}}}}}}}}}~}}}}}}}}}}}}}}}}}}}}}}}}~}}}}}~}}}}}}}}}}}}}}}}~}}}}}}}}}~}}}}~}}}}}}}}}}}}}~}}}}~}}~~}}}~~}}}}}}}}}}}}~}}}}}}}~}}}}}~}}}}}}}~~}}}}}}~}}}~}}~}}}}}}}}}}}}}}}}}~}}}}}}}}}}}}}}}~}}}}}}~}}}}}}}}}}}}}~}}}}}}}}}}}}}}}~~}~}}}~}}}}}~}}}~}}}}~}}}}}~}}}}~}}}}~}~}}}}}}}}}}}}}}}}}}}}}}}}}~}}}}}}}}}}}}}}}}~}}}}}}}}}}~}}}}}~}}}}}}}}}}}}}}}~}}}}}}}}}}}}}}~}~}}}}}}}}}}}}}}}}}}~}}}}}}}}~}}}}}}}}}}}~}~}}}}}}}}}}}}}}}~}}}}}}}}}}}}}}}}~~}~}}~~~}}}}}}}}}}}}}}}}}}}}}}}}}}~}}}}}}}}}}}}}~}}}}}}}}}}}}~}}}}~}}}}}}}}}}}}~}}}}}}}}}}}}}}}}}}}}}}}~}}}}}~}}}}}}}~~}}}}}}}}}}}}~}}}}}}}}}}}}}}}}}}}}~}}}}~}}~}}}}}}}}}}}~}}}}}}}}}}}}}}}}}~~}}}~}}~}}}}}}}}}}}}}}}~}~}}}}}}}}}~}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}~}}}}}}~}}~}}~}}}}}}~}}}}}}}}}}}~}}}}}}}}}}}}}}}~}}}~~}}}}}}~}}~}}}}}}}}}}}}}}}}}}}}~}}}}}}}}}}}}}}}}}}}~~}}}}}}}}}~~}}}}~}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}~}}}}}}}}}}}}}}}}}}}~}}}}}}}}}~}}}}}}}}}}}}}}}}~}}}}}}}}}~}}}}}}}}~}}}}}}}~}}~~}}~}~}}}}~}}~~~}}}}}~}}~}~}}~}}~}}~}}}~}}}}}}}}}~}~}}}}}}}}}}}}}}~}}}~}}}}}}}}}}}}}}}}~}}~}}}}}}}}}}}}}}}}}}}}}~}}~}}~}}}}}}}}}}}}~}}}}~}~~}}}}}}}}~}}}}}}}}~}}}}}}~}}}}}}}}}~}}}~}}}}}}}}}}}}~}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}~}}}~}}}}}}}}}}~}}}}}~}}}}}}}}}~}}~}}}}~}}}}}}}}}~~}}}}}}}}}}}}}}}}~}}}}}}}~}}}}}}}}}}}}~}}}}}}}}}}~}~}~}}}}}}}}}}~}~}}~}}}}}}}}~}}}}}}}}}}}}}}}~}}}}~}}~}}~}}}}}}}}}}}}}}}}~}}~}}}}}}}}}}}}}~}}}}}}}}}}}}}}}}}}~~}}}}}~~}~~}~}}}}}}}}}}}}}~}}~}~}}}~}}}}}~}}}}~}}}~}~}}}}}}~}}}}}}}}~}}}}}}}}}}}~}}~~}}}}}}}~}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}~}}}}}}}~}}~}}}}~}}}}}}}}~}}}~}}}}~~}~}}~}}~~~}~}}}}}}}}~~}}~}}~}~}}}}~}}}}}}~}}}~}}}}}}}}}~}~}}}}}}}}}}}}}}}}}}}~~~}}}}}}}}~~}~}}}}}~}}}}}}}}}}}}}}}}}~}}}}}~~}}}}}}}}}~}}}~~}}}}~}}}}}}}}}}}}}}}}~~}}}}}}}}}~}}}}}}}}}}}}~}}}}}}}}}}~}}}~}}~}}~}}}}}}}}~}}}}}}}}}}}~~}}}}}}}}}}}}}}}~}}}}}}}}}~}}}}}}}}}~}}}}}}}}}~}}~}}}}}}}}}}}}}}~}}~}}~}}}}~}}}}}}}}}}}~~}}}~~}}}}}}}}}~}~}}}}}~}}}}}}}}~}}}}}}}}}}}}}}}}}}~~}~}~}}}}}}}}}}}}}}}}}}}}}}}}~}}}~}}}~}}}}~}}~}}}}}}}}}}}}}}}}}}~}}}~}}~}}}}}}}}}~}}}~}~}~~}}}}}~}}}}}}}}}}}}}~}}~}}}}}~~}}}}}}}}}}}}}}~}~}}}}}}~~}}}}}~}}}}}~}}~}}}}}}}}}~~}}~}}}}}}}}}}~}}}}}}}~}}~}}}}}}}~}}}~}}}}}}~}}}}~}}}}}}}}~}}}}}}}}}}}~}}}}~}}}}}~}}}}}}}}~~~}}}~}}}}}~~}}}}}}}}}}}}}~}}}}}}}}}}}}~}}}}}}}}}}}}}}~}}}}}}}}}}}}}}}}}}~}}}}~}}}}}}}}}}}}}}~}}}}}}~}}~}}}}}}~}}}}}}}}}~~~}}}}~}}}}}~}}}}}}}}}}}}}}}}}}}}}}}~}}}~}}~}}}}}}~}}}}}}}}}~}}}}}}~}}}}}}}}}}}~}~}}}}}}}}}}}}}}}}~}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}~}}}}}}}}}}}}}}~}~}}}}}}}}}}}}}}}}}}}}~}}}}}~}}}}}}}}}}}}}}}}}}}}~}}}}}}}}}}}}}}}}}}}}}}}}}~}}}}}}}}}}~}}}}}}}}}}}}}}}}}}}}}}}}}~~}}}}}}}}}}}}~}}~~}}}}}}}}}}}}~}}}}}}}}}}}}}}~}}}}}}}}}}}}}}}}}}}}~}}}~}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}~}}}}}}}}}}}}}}}}}}}}}}}}}~}}~}}}}}}}}}}}}}}}}}}}}}}}}~}}}}}}~}}}~}}}}}}}}}}}}}~}}~}}}}}}~}}}}~}}}}}}}~}~}~}}}~}}}}}}}}}}}}~}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}~}}}}}}}}}}}}}}~}}}}}}}}}}}}}}}~}}}}}}}}}}}}}}}}}}}}~}}}}}}}}}}}}}}}}~}}}~}}}}}~}}}}}~}}}~~}~}}}}~}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}~}}}}}}}}}}}}}}}~}}}}}}}}}}}}}}}}}}}}}}}}}}}~}}~}}}}}}}}}}}}}}}}}}}}~}}}}}}}~}}}}}}}}}}~}}}}}}}}}}}}}}}}}}}}}}}~}}}}}}~}}}}}}}}}}}}}}}}}}}}}}}}}~}}}}}}}}}}}}}}}}}}}}}}}~}}}}}}~~}}}}}}}}}}}}}}}}}~}}}}}}~}}}}}}}}}}~}}}}}}}~}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}~~}}}}}}}~}}}}}}}}}~}}}}}}}~}}}}}}}}~}}~}}}}}}}}}}}}}}}~}~}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}~}~}}}}}}}}}}}}}}}}}}}~}~}}}}}~}}}~}}}}~}}~}}}}}}}}}~}}}}}}}}}~}}}}}}}}}~}}}~~}}}}}}}}}}}}}}}}}}}}}}}}}}}}}~}}}}}}~~}}}~}}}}}}}~}}}}}}}~}}}}}}}~}}~}}}}}}}~}~}}~}}~}~}}}}}}}}}}~}}~}}}~}~}}}~}}}}}~}~}}}~~}}}}}}}}}}~}}}}}}}}}~}}}}~}}}}}}}}}}}}}~}}~}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}~}}}}}~}}}}}}}}}}}}}~}}}~}}}}}~}}}}}}}}}}}}}}}}}}}}}}~}}}~}}}}}}~}}}}~}}}}~}~}}}}}}}}}}}}}}~}}}}}}}}}}}}~}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}~}}}}~}}}}}}}}~}}~}}}}}}}}}}~}}~}}}}}}}~}}~~}}}}}}}~~}}}~~}}}}}}}}}~}}}}}}}}}}}}~}}}}~}}~}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}~}}}}}}}}}}~}~}}}}~}}}}}}}}}}}}}}}~}}}}}}}}}~}}}}}}~}}}}}~}}}}}}}}}}}}}}}}}~}}}}}}}}}}}}}}}}}}}}~}}}}}}}}}}}}}}}}~}}}}~}}}}}}}}}~~}}}}}}~}}}}}~}}}~}}}~}}}}}}}}}}~}}}}}}~~}}}}}}}}}}~}}}~}~}}}}}~}}}}}}}}}}}}}}}~}}}}}}}}~}}}~~~}}}}}}}}}}}}}}}~}}}}}}}}}}}~}}}}}~}}}}}}~}}}}}}}}~}}~}~}}}}}~}}}~}}~}~}}}~}}~}~~}}}}}}}~}}}}~}}}}}}}}~}}}}~~}}}}~}}}~}}}}}}}~~}~}}}}}}}~}}~~}~}}}}~~}}~}}}}}~}}}}~}}}}}}}}}}}}}}}}}~}~}}}~~}}~}}~}}~}}}}}~}}}}~}}}}}}}~}}}}~}}}}}}}}}~}}}}}}}}}~}}}~~}}}}}}}}}~}}}}}}}}}}}~}}}}}}}}}}}}}}}}}}}}}~}}}~}~}}}}}}}}}~}}~}}~}}}}}}}}~}}}~~}}}}}}}}}}~}}}}}~}}}~}}}}}}}}}~}}}}}}}}}}~}~}}}}}}~}~}~}}}}}}}}}~}~}}}~}}}}~}}}}}}}~}}~}~}}}}}}}~}}}~~~}}}~}}}}}}}}~}}~}}}~}}}}}}}}}}}}}}}}}~}}}}}}}}}}}}}}}~}}}}}}}}}}}}~}}}}}}}}}}}}}}}~}}~}}}}}}}}}~}}}}}}}}~}}~~}}}}~}}~}}}}}~}~~}}}}}}}}}}}~}}}}}}}}}}~}}~}}~}~}}}~}}}}}}~}}}}~}}}}}}}}}}}}}~~~}~}}}}~}}}}~}}}~}}}}}}}~}}}}}}~}}}}}}}}}}}}}~}}}}}}}}}~}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}~}~}}}}}}}~}}}}}}}}}}}}~~~}}}}}}}}}}}}}}}}}}}}}}}}~}}}}}}}}}~}}}}}}~}}}}~}}}}}~}}}}}~}}}}}~}}}~}}}}}}}}}}}}}}}}}}}}}}}}}}}}~}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}~}~}}}~}}}}}}}}}}}}}}}}}}}}}}}}}}~}}}}}}}}}}~}~}}}}}}}}}}~}}}}}~}}}}}~}}}}}}}}}}}}}}}}}}}~}}}}}}}}}}}}}}}}}}}}}~}~}~}}}}~}}}}}}}}}~}}}}}}}}}}}}~}}}}}}}}~}}}}}}}}}~}}}}~}}}}}}}~}}}}}}}}}}}~}}}}}}}}}}}~}}}}}}}}~}}}}}~}}}}}}}}}}}}}}}}}}~}}}}}}}}}}}}~}~~}}}}}}}}}}}}}}}}}}~}}}}~}}~}}}}}}}}}}}}}}}~}}}}}}~}}}~}}}}}}}}}}~~}}}}}}}}~}}}}}}~}}}~}}~}}}}}}}}}}}}}}}}}~}}}}}}}~}~}}}}}}~}}}}}}}}}}~}}}}}}}}}}~}}}}}}}}}}}}}}}}}~}}}}}}}}}}}}}}}}}}}}}}~}}}}}}}}}}}}}}}}}}~}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}~}}}}}}}}}~}~}}}}}}}}}}}}}}}~}}}}}}~}}}}}~}}}}~~}}}}~}}}}}}}}}}}}}}}}~}}}}}}}}}}}}}}}}}}}~}}}}}}}}}}}}}}}}}}}~}}}}}}}}}}~}}}}~}}}}}}}}}}}}}}}}~}}~}}}}}}}}}}}}}}}~}~}}}}}}}}}}}}}}}}}}}}~~}}}~}}}}}}}}}~}}}}}}}}}}}}}}}}}}}}}}}}}}}}~}}}}}~}}}}}}~}}}}}}}}}}}}}}}}}}}}}}}~}}}}~}}}}}}}}}}~}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}~}}}}}}}}}}}}}}}}}}}}}}}}}}}}}~~}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}~}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}~}}}}}}}}}}}~}}~}}}}}}}}}}}}~}}}}}}}}}}~}}}}}}}~}}}}}}}}}}}}}}}}~}}}}}}}}}}}~}}}}}}}}}}}}}}}}}}}}}}}}}}}~}~}~}}}}}}}}}}}}}}}}}}}}~}}}}}~}~}}}}}~}~}}~}~}}}}}}}}}}}}~}~}}}~}}}}}~}}}}}~~~}}~}}}}~}}}}}~}}}}~~~}~~}~}}~~}}}~~}~~}}}}}}~~}~}~~~}~}}}}}}~}~~~}~}~}~~~}}~}~}}~}}}}}}}~}}}~~}~}}~}}~}~}}}~~~}}}}}}}~~~~~~}}}~}}}}}}~}}}~}}}~}}}}~~}}}~~~~~~~}}}}}}}~}~~}}}}}}}}~~~}}}}}}~}~}~}}}}~}}}}~}~}}}~}}}}~}}~}~}}~}}~}}}~~}}}~}}}~~}}}}}}}~~}}}}}}}~~}}~}~}~}}~}}~}}}}}}~}}}~}~}}}}~}~}~}~~}~}}~}~}}}}}}}~~~}}~}}}}~}}~}}~}}~}}}}}~~}~}~~}}}}~}}~}}~}}}}}~}~~~}}}}}}}~}~}~}}}}}}}}~}}}}}~}}}}}~~}~}}}}}}}}}}~}}}}}}}}}}~}~~}~}}~}~~}}}}~~~}~~}~}}}}}}~}}}~~~}}}~}}}}~~}~}~}}}}}}}}~~}}}}}}}}}}}}~~}}~}~}}}~}}}}}}~}}}~~~}}}~}}~}}~~}}~}}~}~}}~}}}}~}}}~~}}}~}}}}}~}}}~}}}}}}}}}}}}}}~}}}}}}}}~}}}}}}}}}}~}}}}~}}~~}}}}}}}}}}~}}}}}}}}}}}~}}~}}~}}}}}}}}~~}}}}}}}~}}}}~}}}}}}~}~}}}}}}}}}}}}}~~}}}}}~}}}~}}}}}}}}}~}}}}}}~}~}}}}}}}}}}}}}~}}}~}}~}~}}}}~}}}}~}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}~}}}}}}}}}}}}~}}}}~}}}}}}}~}}~}}}}}~}}}}}}}}}}}}}}}}}}~}}}}}}}}}}}}}}}}~}}}~}}}}}}}}}}~}}}}}~}}~}}~}~}~}}}}}}}}}}}}}}}~~}~}}}}}}}}}}}}}}}}~~}}}}}~}}}~}}}}}}}}}}}~}}}~}}}}}}}}}}}}}}}~}}}}}}}}}~}}~}~~}}}}}}}}}}}}~}~}}}}}}}}~}~}}}}}}}}}}}}~}}~}}}}}}}}}}}}}}}}}}}}~}~}}}~}}}}}}}}}}}}}}}}}}~}}~}}}}}}}}~}}}}~}}}~}}}}~}~}}}}}}}}}}}~~}}}}}~}}}}}}}}~~}~}~}~}}}}~}}}}}}}}}}}}}~}}}}}~}}}}}}}~}}}}}}}}}}}~}~}}}}}}~}~}~~}}}}}~}~}}}}}}}}}}}}}}}}~}}~}}}~}}}}}}}}}}}}}}}}}}}}~}}~}}}}}~}}}}}}}}}}}}}~}}}}}}}}}}}}~}}}}}}}}~}}}}}}}~}}}}}~}}}}}}}}}}}}}~}}}}}}}}}}}}}}~}}}}}}}}}~}}~}}~}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}~}~}}}~~}}}}~}}~}}}}}}}~}}}}}}}}~}}}}}~}~}}}}~}~}}}}}}}}}}}}~}}~}}}}}}}}}}}}}}}~}~}}}}}~~}}}}}}~}}}}}}~}}}~~}}}}}}}}}}}}}}}}~}}}}}}}}}~}~}}}}}}~}}}}}}}}}}}}}}}}}}}~~~}~}}}}}}}}}}}}}}}}~}}}}}}~~}}}}}}}~}}~}}}}}}}}~}}}}}}}}}}}~}}}}}}}}}}}}}}}}}}}~}~~}}}}}~}}}}}}}~}}}}}}}}}}~}}}}~}}}}}~}}}}~}}}}}}}~}}}~}}}}}}~}}}}}}}}}}}~}}}~~}}}}~~}}~}}}}}}}}}}}}}~}}~}}}}}~}}}}}}}~}}~}}}}}}}}}}}}}}}}}}}~}}}}}}~~}}}}}~}}~}}}}~}}}}~}}}}~}}}}}}}}}}}}}}}}}}}}}}}}}}}}}~}~}}~~}}~~}}}}}}}}}}}}}}}}}}}}}}}}}}}}~}}}~~~}}~~~}}~}~~}~~~~}}}}}}}~}}}}~~}}~}~}}~~}}~}}~}}}}}~~}~}~~}~~~~}}}}~~~}~~~}}}}~~~~~}~~}}}}}}}~~}}~}~}}}}~}}}~~}}~}~}}~~~~~}}}}~}}~~~~~}~}}}~~~~}~~}~~~}}~}~}}~}}}}~~~~~~~~~~}~~}}}}~~}~}~~}}~}}~~}~}}}}}}}}}}~}~}}~}}~}~}}~}~}}~~}~}~}~}}~~~~~}~~}~}~~~}~~}~}~}~}}~~~}~~~~}~~~}}}}}}~~~~~~~}~}}~}~}}}~~}~}~}~}~~}}}~~}}~}~~}}}~~~~}~}}}~}~}}~}~}~}~}~~}~}~}~~}}}}~}}~~}~}~~}~~}~}~~~}}~~}~}~~~~~}}}}}}}~}~}~}}}~~}~}}}}}}~}~}}~}~}~}}}}~}~~}}~}}~~}}}}}}}~}}~~}}}}}}}~}~~}}}}}}~}~}}}~~~}}~}~~}}~}~~~}~~~}}}~~}~~}~~~}~}}}~}~~}}~}}}~}}}}}}~}}}}~~~~}~}~}}}}~}}}~}}}}}~}~}}}~~}~~}}~}~~~}}~~~}~}~}}}~~~}~~}~~}~~~}~}}}}~}~~}}~~}~~}~}}}}}}}}~~}}~}}~~}~}~}~~}}}~}}}~}}}}}}}~}~}}}}~~~~~}}}}}}~}~~~}}}~~}}~}}}}}~}}~}~}~}~~}~}}}}}}}~}}}~}~}}}}}~}}~}}}}~}}~}}~}}}~}}}}}}~}}~}~~~}}~}}~}}}}}~~}}}~~}~}}}~}}}~~}}}}~~}}}~}}}}}~}}}~}~}}}}}}~}~~~}~~}}}}}}}}~~~}}~}}}}}}~~}~}}~~~}}}}~}}~}}}}~~}~}}~~}~~}~}}}~}}}}}~}~~}}}}}~~}}}}~}}~~~~~}~~~}~}~}~}}~~}~}}~}}~}~}}~}~}}}}~}}}~~}}~~}}}}~~}}~}~}}~}}~}}~~}}}}}}}}~}~}}~}}~}~}}}}}~}~}}}}}~}}}}}}}}~~}}}}}}~}}~}}~}~}~~}}}}~}}}~}~}}}}}}}~}}}}}~}~}~~}}~~}}}~}~~}~~}~}}}}}}}}}}}}~}~}}}~}}}}}}}}}~~}}}}}}}~}}}}}}}}}}~~~}}~}}}}~}~}}}}~~}}}}}}}}}}}~~}~}~}}~~}}~}}~}}~~}}~~}}}}}}~}}}}}~~~~}~}}~}}~}}}}}}}~}}~}}}~~}}}~~}}~}}}}}}~~~}~}}}}}}}}}~~}~}}}}~~~}}}}}}~}}~~}}~}~}~~}}}}}}}}}~}}}}}}}}}}~~}~}}}}}}}}}}~}~}}}}}}~}}~~~}}}}}}}~~}}}}}}}~~}}}}~}~}}~~}}}}~~}}}}}}~}}}}}}}}}}}}~}}}}~~~}~~}~~}}}}~}}~}~}~}}~}}}}~}}}}~}}}~}}}}}}~~~}~~~}}}}}}}~~}}}}}~}}}~~}}~}~~~~}}~}}}}}~}}~~}}}~}~}~~}}~}}}~}}}}}~}}}~}}}}}}}~}}}~}~~}}}}~}}~}~}}}}}}}~~}~~}}}~~}~}~}}~~~}~}}}~~}}}}~~}}}}}~~}~}~}~}}}}}~}}~}}}~~}}~}}}}}}}}}~}}}}}}}}}}}}}}}~}~}}}}~}}}}}}}}}}}~}~~}}}}}}}}~}}}~}~}}}}}}}}}}}}}}}}~}~~}}~}}}}}}}~}}~}}}}~}}}}}}}}}}}}}~~}}}~}~~}~~}~}}}}}}~}}}}}}}~}}}}}}}~}}}}~}}}~}}~}}}~}}~}~}}~}}}}}}~}}~}}~}}}}}}}~}}~}}}}~~}}}}}}}~}}}}}~}}}}}}~~}~}}~}}}~}}}~}}~}}~~}}}~}}}}}}}}}}}}}}}~}}~}}}}}}}}}}~}}}}~}}}}}}}}~}~}~}}}}}}~}}}}}}~}}}}~~}}}}~}~}}}~~}~~~}}~}~~~}}~}}~}~~}~~~}~~}~}}}~}}~}~~}}~}}}}~~~~~}~~~~}~~~~~}~}~}}~}~}}}}~}}~~~}}~~}~}~~~~~~~~}}~}}~~~~~}~~~}}}}~}}~}~}}}~~}~~~~}~~}~~~~~}}~~~~~~~}~~~}~~~}}~~}}~~}}~~}}}~~~~~}}~~~}~~~~}}~~~~}~}}~~}~~~~~~~}~}}~~~~~~~~~}~~~}}}~~~~~}}~~~~~}}~~}~~~~}}~}~}~~~~~~~~}~}~~}}~}~~~~~~}~}}~~}~~}}~}~~~~~~}~}}}~}~}~~}~~}~~~}~~}}~~}}~~~~~~~}}~~~~}}~}}}}~}~}~~~}}}}}~}~~}~~~~~~}}~}~~}}~~~}~~}~}}}~}~~~}}}~}}~~~~~}}~}}}}}}~}~}~~}~}}~}}}}~~}~~}~}~~~~}~~~}}~}}~}~}}~}~~~~}}~}~}}~~~~}~}~}}~~~~~}~}~}~~~~~~~~}~}}~~~~}}}~~~~~}}~}}}~~~}}~}~}~}~}~}}~}~~}}~}~}~}}~~}~~~}~}~~}~~~}}}}~~~~~}~~~}~}~~}~}}}}~~}~~~~~}~}~}~~~~}}~}}~}~~}}}~~~~~~}}}~~~}~~~~~~~}}~~}}~~~}}~}~~}~}}~}}~~~~~}}~~}~}~~}}}~}~~~~}~}~}~~~~~~~~~}~}~}}~~~~}}~}~}}}~~~~}}~~}}}~}}~}~~~~~~}~~~~}~~}~}~~}~~~}~}~~~~~~}~}~~}~~}~}}}}}}~}~}}~~}}~~~}~}}~~}}~}}~}}~~~}~}~~~}}}~~}~}~}~}}~~~~}}~}~}~}~}}~}}~~~}~~}}}~~}~~~~}}~~~~~~~}~~}~~~~}~}~~}}~~}~~~}}~}}~}~}}}}}~~}}~~~}~}}~~~~~~}~}~}~}~~~}~~}}~}}~~}~}}~~~}~~}~~~~~}}~}~}}~}~~}}~~~~}~}}~~}}~}}}~}~}}}~}~~}~}}~}~}}}}~~}~}}~}~}~~~}~}~}}}~}~~~~}~~}}~~}}}}}~~~~~}}}~~~~}}~~}~~}~~~}~}}}}}}}}~~}~~}~}}}}~~~~}}~}~~}~~}}}}}~}~}~~}}~}}~~~}}~}~}~}}}~~~~~~~~}~}~}~}}~}}}}~~}~}~}~~}~}~}}}}}~~}}}}}}}}~~}~~~}}}~}~}~}}~}}}~}~}~}}~}~~}~~}}}~~}}~~~~~}~}~~}~~}}~}~}}}}}}}~}}~}~}}}~~~~}}}~}}}~}}~}~~~}}}}~~}}}~}~}}}~~~~}}~~}}}}~~}~}~}}}}}~}~}~}}}}}~~}}~~}~}~~~}}}}~~~}~}}~}}}~~}~}}~}}~~~~~~}}~}}}~}~~~}}}}~}~}~}~}~~~~~}~~~}~~}~}}}~~~~~~}~}}~}~~~}}~~}~~~~}}~~~}~~}}~~~~}~}~}~~~}}}}~~~}}~~}}}}~}~}}}}~~~~}}~}}~}~}}}}}~}~}~}}}~}}}~~}}}}}}~~}~~~}~}~}~~}~~}~}}}~~~}~~}~~~~}}~~}}}}}}}}}~~~}~~}}}~~~}~}}~~}~~}~}~~}~~}}~~~}}}~~~}~~}}}~}}}}~}}~}}}~}~}}}}}}~~}}}~~}~}}}~}}}}}~~~~}}~~}}~}~}}~}}}~~~}~~~}~}~}~}~}~~}~~~}}~}~}~}}}}}}~}~~~}~~}~~}}}}~~~~}~}~~}~~}}~}}~}~}}~~}}}}~}}}}}}}}}~~}~}}}}}~}}}~}}}}~}~}}}~~}}~~}~~}}~}~~}~~}}}}~}}~}}}}}}~~}}}}}}~~~~}~}~}~}}~~}~}~}}~}~}~}}~}}~}~}}}}~~}~}}}}}~}}}}}}}}~~}}}}}~~}}~~}~}~~~~}~}}~}}}~}~}}}}}}}~}}}}}~}~}}}~~}~}}~}}~~~}~~~~~~~~}~~}~~~~}}~~~~~}~~~~}~~~~~~~~}}~~}~~}~~~~~~~~~}~~~~}~}~~~~~~~}}~~~~~~~~~~~~}~~~~~~~~~~}~~~~}~~}~~~}~~}}~}}~~}}~~~}}~}}~~}~~}}~}~}~~~~}~~}~~}~~}~~~~~}}~~~~~}}~~}~~~~~~~}~~~~}}~~~}~~~~~}~~~}~~~~~~~~}~~~~~~~~}}}}~}~~~~~}~~~~~}}}}~~~}~~~~~~}~}~~~}~}~~~~~}}~~~~}}}~~}~~~~~}~}~~~~~~}}~}~~}~~}~~~~}}~}~}~~~~~~~~~~}~~~}~}~}~~~~~~~}~~~}}~~~}}}~~~}~~~~}~}~~}}}~}~~}~~~~}~~~~}~~}~}~~}~~~~~~~~~~~}~~~~~~~~~~~~~}~~}~~~~~~}~~~~~}}~~~}~~~~~~~~~}~~~~}~~}~~~~}~~}}}~~}~}~}~~~~~}}}~~~}~~~~~~}~}~}~}}}~}~~}}~~}~~~~~}}~}~~~}~~~~}~~}~~~~~}~}~}~~}}}~~~~}~~~~}}}}~~~}}~~~}}}~}~~}~}~~~~}~}~~~~~~}~~~~~}~~}~}}~~~~~}~~~~~}}~~}~~~~~~}~~~~}~~~}~~~~~}~~~~~~}~}}~}~~~}~}~~~}~~}}~~~~~}~~~}~~}}}~~~~}~~~}~}~~~~~~~~}~}~}}~~~~~~~~}~~~~~~~~}~~}~~~~~~}~~}~~~}~~}~}~~~~~~~~}~~~~~~~~}~~~~~~~~~~}}}}~}~~}~~~~~~~}}~~~~~}}~~}}~~}~~~~~~~}~~~~~~~}}}}}~~~~}~}}~~~}~~~~}~~~~~~~}~~~~~~}~~~}~~~~~~}~}~}}~~}~~~~~~~~~}~~~~~~~~~}~~}~~~~~~~~}}~}~~}~~~~~~~~}}~}}~~}}~}~~~~~}~~~~}~}~~}}~~~}~~~~~~}~}}~~~~~~~~~~~}~~~~~~~~~~}~}~~}~~~~~}~}}~~}~~~~}}~~~}}~~~~}}}~~}}}}~}~}}~~}~~~}~~~~}~~~~}~}}~}~~~~~~}~}~~~}~}~~~}~~}~}~~~}~~}}}~}}}~~}~~}}}~~}}}~~}~}~~}~~}}~~~~~}}~~~}~~~}~~~}}}}}~}~~~}}}~~}}}}~~}~~~}}}}~~}~~~}~~~}}~~~}}~~}~}~}~~~~~}~}~}~~~~}}}~~~}}~~~~}~~~~}}}~~}~}~}~~}~~~}}}~~~~~~~~}~~~~~~~~}}~~}}~}}~}}}}~~~~}~}}~}~}~~~~}~~~~~~~}}~}~}~~}}}}}}}~}}~~~~~}}~~~~~~~~~~~~~~}~}}~~~~~~~~~}~}~}~}~~}}}~~~~~~~}~~}~}~~}~~~~~}}}}}}~~~~~}~}~~}~}~}~~}}~}~~~~}~}}}~~~}~~~}~}}}~~}~}~~}}~~}~~}}~}}~~~}}}~}~}~~~}~~}}}~~}}~~~}~~}~~~~~}}~~}}}}}}}}~}}}~~~}}~~}~}}~~~}~~~~~~~~}}}}}~~}~~}}~~}~}}~}~}}~~}}~~}}~~~~~~~~~}}}}~}}~}}~}}~}}~}~~~}~}}}~~~~~~~~~}}}~}~}~}~~}~}}}~~~~}~}}~}}}~~}~~~}~~~}}}}~~}~}}~}~~~~}~~}~~~~}~~~~~~~~}~~~}}~}~}~}~~}~~~}}~}~}~}}}}}~~~~}}}~}}}}~~~~~~}~~~}}}~}~}}~~~~}}}~~~~}~}}}}~~~~}~}}~}~}}~}}}}~~}}~~}}}~}}~~~}}}}~~~}}~~}~}}}~~}~}}~}}~}}~~~~~}}~~~}~}}}~~~~}~}}}}}}~}~}~~}~~~}}~~}~~~~~}~~}}}}}}}}}}}~}~}~~~}}}}~~~~~~}~~~~}~~}~}~~}~~~}~}~~~~~~}~}~~~~~}}~~~~~~}~~~}~~~}~}~}~~~}}~~~~~~~~}~~}~~}}~}~~}~~~~~~~~~~~~~}~~~~~~~~~~~~~~}}~~~}~~~}~}~~~~~~~~~~~~}~~}~~~~~~~}~~~~~}}~~}}~~~~~~~~~~}}~~~}}}~~~~~}~}~~}}~}}}~~~~~~~~~~~~~}~}~~~~~}~}~~~~}~}~~~~~~~~~~~~~}~~}~~~}~}~}~}~~~~~~}~~~}~~~~}}~~~}~~~}~~}~~~~}}~}~~}~~~~~}~}~}~~~~~~~}}}~~~~~}~}}}~~~}~~~~~~~~}~}~~~~~~~~}~~~~~}~~~~~~~~}}~}~}~~~~~}~~~}~~~~~~~~~~~~}~~~~~~~~~~~}~~~~~~}~}~~}}}}~~~~}~}~~~~~~~~~}~~}~}~~}~}}~}}~~~}~~~}}~~~~}~}~~}~~~~~~}}~~~~~~}~~}~~~~~~~}~~~~~~~}~}}}~}~~~~~~~}~}~~~~}~~}~~}}~~~~~}}~}~~~}~~~~}~~~~}~~~}~~}~~~}~~~}~~}~~~~~~~~~~~~}~~~~}~~}}~~}~~~}~}}~~~}}~~~}~~~}}~~~~}}~}~~~}}~~~~}~~~}~}~~~~~~}~~~~~~~~}~~}~~~~}~~}~}}~~~~~~~~}~~}~~~~}~~~~~~}~~~~~~}~~}~}~~~}~~~~}~~~~~~}~~~~~~~~}}~~}}~~~~}}~~~~~}~~~~}~~~~~}~~~~~~~~}~~~~~~~~~~~~~~~}}~~~~~}~~~~~~~~~~~}~}~}}~}}~~~}~~}}~}~~~~~~~}~~~~~~~~~}~~}}~}}~~}~~}~}~~~~}}}~~}~~~~~}~}}~}~}}~}~~~}~}~}~~~}~}~~}}~~~~}~~~~~~~~~}~~~}~~~~}}~~~~}}~~~~~~~}~~~~}}}~~~}~~}~~~}~~~}}~~~~}~}~~}}~}~~~~}~}}}}~~~}~}}~~}}~~}~~~~~}}~}~~~~~~~~}~~~~}~~~~}~}~~~~~~~~~~~~~~~}}}~~~}}~~~~~~~~~}~}~}~}~~~}~}~~~~~~~}~~~~~~~}~~~~~~~}~}~~~}~~~~~}~~~~~~~~~~~~~}~~}}~~~}~}}~~~}~~~~~~}~}}}}~}~~~~~~~~~~}~~~~}}}~}~~~~~~~~}~}~~~~~~~~~~~~}~~}~~}~}}~~~}~}~}~~~~~~~~~~~}~~}~~~~~~}~}~}}}~~~}~~~}~~}~~~~~}}~}}}}}~}}~~~~~~~~~~~~}~~}~}~~~~~~}~~~~~~~~~~}~~}~}}~~~~~~~~~}~}~~}~~~}~~}~~~~~~~~~~~~~}~}~~~~~}~~~~~~~}~~~~~}}}}~~}}~}~~~~~~~~}~~~}~~}~}}~~}~~~~~~~~~~~}~~~}~~~}~~}~}~}~~}}~~~~}~}~}~~~}~}~~~~}~~~~~}~~~~~~~}~~~~~~~}~}~~~~}}~~~}~~~~}}~~~~~~~~~~}~~~~~~}~}~~}~~}}}~}~}~~~~}~}~~}~}~~}~}~~~}}}}~~~~~}~~~~~~~~~}~}~~~~~}~~}}~}~}~}}~~~~~~~~}~~~}~~}~~~~~~~~}}~~~~~~~~~~~~~~~~~~~~~~~~~~~}~~}}~~~~~~~~~~~~~}~}~}~}~~~~~~~}}~}}}~~}}~}~~~}~~~}~~~~}~~~~}}~}~~~~~~~~~~~~}~~~~~~}~}~~~~~~}}~~}}~~~~}~}~}~~}~~~~~~~~~~~~~}}~~}~}~~~~~}~}~~~~~}~~}~~~~~~~~}~~~~}~~~~}~~}~~}~~~~~~~}~~}~~~}~~~}~}~~~~~~~}}~~~~~}~~~}~~~}}~}~}~~}}~}}}~~}}~}~~}~~~~~~~~~~~}~}}}~}~~}}~~}~~~}~}}~~}~~}}~~}~~~}~}~~~}}}~~}~}~}~}~~}~~}}~}~~~~~}}~~}~~~}~~~~~~}~~~~}}~~~~}~~~~~~~~}}~~~~~~~~~}~}~}~}~~~}~~}~}~}}~~~~}~}}~~~~~}}~}~~~~~}~~~~}~~}~}~~}}~~~}~~~~}~~~}~~}}~~~~}}}~}}~~~~~~~~}}}~~~}}~~~~~}}~~~~}~}~}~~~~~~~~~~~~~}~}}~~~~~~}}}}~~}}~~~~~~~~~~~}~~~~~}}~}~~}~~}}~~}~~}}~}}}~~~~~}~}~}}}}~~}}}~~~~~~~~~~~}}~~~~~}~}~~}~~~~~}~}}~~}~~~~}~}~~}~~}}~}~~~~~~~~}~~~}~}}~}~}~~~~~~~~}~~~~~}~}~~}~~~}}~~}~~~}}~~~~~~}~~}}~~}}~}~}}~}}~}}~~}}~}~}~~~~~~}~~~~}}~}}~~~~}}}~}~~~~~~~~~}~~~~~}~}~}}~~~~}~~~~~~}~}~~~}}~~}}}~~}~}~~}~}}}}}}~~~~~~}~}}~}}}~~~~}~}~}~}~~~~}}~}}~}~~}~~}~~}~~}}}~}~~~~}~~}}}~}}~~}}}~~}~}~}}~}}~~}}~~~~~}~~~~}~~}}~}~~~~~}}}~~}~~~~~}}~}~~}~~}~}~}}~~}~~}}~~~~~~~~~~}~~}~~~~~~~~}~}~~}~~~}~}~}}}~}}~~~~~}~~}}}~~}~}~~~}~}~~}~}}~~~~}~~~}~~}}~~}}~~}}}~~}~~~~}~}~}}}}~~}}}~~~}~~~~}~~}}}~}}~~~~~~}~~~}~}}}~~~~}~}~}}~~}~~}}~~~~~}}~}}~}~}}~}~~~}~~~~~~~~~~}}~}~~}~~~~~}}~~~}}~~~~~~~}~}}~~~}~~~}}~~~~~}}~~~~}~~}~~~~~}~~~}}}~}~~}~~~~}~~~~}~}}~~}}~}}~~}~}~~~~~~~}}~}~~~~~~~~~}~~}}}}}~~~~~~~~~~~~~~}}~~~}}~~~~~}~~~~~}}~~}~}~~~~~}~}}}}}}~~}~~~~~~~~~}~~~}~~}~~~~~~~}}~~~~}~~~}}~}~}~~~~~~}~}}}~~~~~}}}}~~~}~}}~~~~~}~~~}}}~~~~~~~~~}~}~~}~~~~~}~}~~~~~~~}~}}}~~}~~~~~~}~~~~~~}}~~~}}~~~}~~~~~~}~~~}~}~~~}}}}~~~}~~}~~~~~}~~~}}~~~~~~~~~~}~~~~}~~~~~}~}~~~~~~~}~}}}}~}~~~~~~}~~~~~~}~}~}}~~}~}~~}}}}~~~~~~~~~~}~}~}~~}}~~~~~~~~~~}}~~~}~}~}~~~~~~~~}}~~~~}~~~}}~~~}~~~}~~~~}}~~~~~~~~~~~~~~}~~~~~~~~}~}~~~}~~}~~~~}}}~~~~~~~~~}~~~~~}~~~}}~~}~~~~~}~~~~~}~}~~~~~~~~~~}}~~}~~~~~~~~~}~~~~~~~~~}}~~~}~~}}~~~}~}}~}}~~}~~~~~~~~~~~~}~~}~~~}~~~~~~}~~~~}}}}~~~}~}~~}~}~~~~}~~~~~}}}~}~~~~~~}}}~~~}~~}~~}~~}~~~}~~}}~~~~~~~~~~~~}~~~}~~~~~~~~~}}~~}}~}~~~~~}~~~~~}~~~~~~~~~}~~~~~~}~~~~~~~~}~}}~~~~}}~~~~~~}~}}}~~~~~}~~~~~~~~}~}}~}~~~~~~}}~~~~}~~}~~~~}~}~~~~~~}~~}}~~~~~~~~~}~~~~~~}~~~~~}~~~~~}~~~~~}~~~}~}~~~~~~~~~}~}~~~~}~~}~~~~~~~~}~~}~}}~~~~~~~~}}~}~~~~~~~}~~~}~~~}~}}~}~}~~~}}}}~~~~~~~~}~~~~~~~~~}}}~~~~}}}~~~~}~~~~}~~}~~~}~}~~~}}~~~}}~~}~}~~~}~~}~~}}~~}~}~~~}}~~~}~~}}~~}~}~}~}~~~}}~~}}}~}}}~~~}~~~~~~}~~}~}~}}}}~~}~}}}}~~}~}~}~}}~~~~~~}~~~}}~~~~}~~}~~}~}}~~~~}~}~}~}~~~}}~~~~}~}}~~~~}~~}~~~~}~~}~~~~}~}~~~~~~}~}}~~~~}}~~~~~}}}~~}}~}~}}}~}}~~}~}~~~~~}}}}~~~~}~}~~~~}}~~~~~~}~~~~~~}}~}~~}}~~}}~}~}}}~}~~~}~~~~~~}~}}~}~}~}~~~~~~~~}~~}~}~}~~}~}}~~}}~~}~~~~}~}}}}~~~~~~~~~~~}~~~~~}~}~~~}~~~~~~}~}~~~}~~~}~~~}~}~~~}~}~~}~}}}}~~}~~}~}~~}}}}~~}~~}~~}~}~~~~}~~~}~~~}}}}~~~}}}~~~}}~~}~~}~~~~~~~~~~~~~~~}}~~}~~~~}~}~}}}~~}~}~~~~}~~~}~~~}~}~~~~}~~}~~}~~~}~}~~}~~}}~~~}~~}~}~~~}~~}~~~~}~}~~~}}}}}~~}~}}}}~~}}}}}~~~}~~}}~}}}}}~~}~~~}~~~}}~}}}~}~}}~~}~~~~~}}~}}~~~~~}~~~~~~}~~~~~~}~}~}~}~}~~~~~~~~~~}~}~}}~~~}~~~~}}~~~~~~~}~~~}~}~~~}}}}}~}}~~~~~~~~~~}~}~~~~}~~~}}~}}~}~}~~~~}}~~~~~~}}}~}}~~~~}~}~}}~~}~~}}~~}~~~~~}~~}~}~~}}~}~~}~~~~~}}}~~}~~~}~}~~~~~}}~~}~~}~~~}~~}~~}~~}~}}~~}}~~}~}~~}~~~}~}~}}~~~}~~}~~~~~~}}~~~~~~}}~~~~~~~~~}~~~~}~~~}~~~~}~~}~}~~~}}~~}~}}~~~~~~}~}~~~~~~~}~}}~~}}~}~~~~~~}~~~~~}}}}~~~~~}~~~~~~}~~}~~~~~~}}~~}~~}}~~~~}}~~}}~~~}~~~~}~~}~}~~~~}}~}~~~~~~}}~}~~~~}~}~}}}~}~~}}~~~~~~~}~}}~}}~~}~}~}~~}~~~~~}~}}~}~~}~~}~}}}}~~~}}~~~~~~}~~}}~~~~}}}~}~}~}~}}~~~~~}}}~}~~~}}}}}~~~}~~}~~~~~}}~~}}~}~~~~~~}~~~~}~}}}}}~~~}~~~}~}}}~~~~}}}~~~~}}}~}}~}~~}}}~~}}~~}~}~}~}~}}}}}~}~}}}}}}~~}~~}}~~~~}}~~}}~}~~~~~~~~~~~}~}~}}~~~~}~~~~~}}~~}~~}~}~}}~~~~~}~~~}~~}~~}~~~~}~~}}}}~~~~~~}~~~~}~}~~}~~~}~~~~~~~~}~~~~}}~~}~~~~~~~}~}}~~}~~}~~~~~}~~~~~}~}}}}~}~}~~~~~}~~~~}~}~~~~~~~}~}~~}~~~}~}~}}~~~~~}}~~~~~~~~}~}}~~~~}~}}~~}}~~~}}~~~}}~~~~}}~~~~}~~~}~}~~}~~~}}}~~}~}~}~~~~}~~~~~~~~~~~~~~}~~~}}~~~~~~~~~}~~~}~~~~}~}~~}~~~}~}}~}~~}~}~~}~~~}~}~~~}}~}~~}}}~~}~~~}~}~~~}}~~~}}~~}}~}~~~}}}~}~~}}}~}~~~~}~~~}~~~}}}}~}~~~~}~}~}~}}~~~~~}}~}~~}}}~~}}~~~~}~}}~~~~}~~~~~~}~~~}~~~~~}~~~}~~~}~~}}~}~}~}}~~}}~~}~~~}~~~~~~~}~}}}~}~~~~~}~~}~~}}~~~~}~}~}~~~~}}~}~}~}~~}~}~}~}}}~~~~}~~~}~~}~}~}~~~}~~~~}~~~}}~~~~~}~~~}~~~~~~~~}}~~~~}~~}}}~~}}~}~}~}~}~~~~}}}}~}~~~~~~~}}}~~}~}~~}~~~~~}}}~~}~~}}}}~}~~~}~~~}~}}}~}}}~}}~~}~~~~~~~~~~~}~}~~~~~}~~~~~~~~~~}~~~}~~}~}~~~~~~~}}}~}~~}~~~~}~}~~~}~~}~~~}}~~~}~~~~}~~}~~~~~}~}~~}~~~~}}}~}}}}~~~~}}~~~}~~~~}~~~}~}~~}~}~~}~~~~~~~~}~}~~}~}~~~}~}~~~~}~~}~~~~~}}~}~~~~~~}~~~~~~~}}~~~~}~~~~}~~~}~~}~}~}}}~~~}~}~~}~~~~}~}}}}~~}}~~~~~~}~~~}~}}~~~~}~~~~}}~~~~}}~}~}}~~~}~}}~~~}}~~}}~}~~~~}~~}}~}}}}}~}~~}}~~}~~~}~~~~~}~~~~~~}}~~}}}~}}~~~~}~~}~~~}~~~}~~~~~~~}~~}}~~~~~}~~}}~}~}~}}~~}}~~}~~~~}}~}~}}~}~~}~}~~~}~}}~~~~~~~~~~~~~~~~}~}~}}~}}~~~~}}}~~~~~~~~~~~~}~~~~~~~~~}~}~}~}~~~~~}~~~~~}}~~~~}~~}}~}~~}~~~~~~}}~~~~~~~}~~}}~~~}~~}~~~~}}~~~~~}~~}}~~~~}~~~~~~~~}~}}~~}~~}~~~~}~~}~~~~}}}~}~~}~~}~~}~}~~~}~}}}~}~~~~~~}~~~}~}~~~}}}~~~~}~~~~~}}~~~~~}~~}~~~~~~~~~~~~~~~}~}}~~~~~~~}~~~~~~}}~~~~~~~~~}~~}~~~}~}~~~~}~~~}~~~~}~~}~~~}}~~}~~~~}~~}}}~~}~}}~}~}}~~~~~~~}}}~~~}}}~~}~~~}~~}}~}~~}~~}}~~~}~~~}~~}~~~}}~~}~~~~}~}~~~~~}}}}~~~~~}~}}~}~}~}~~~}~}}}~}~~}~~~~~~~}}}~~}}~~~}~}~}}~~~~~~~~~~~}}}~~}~}~~}}~~~}~~}~}~~~~}}}}~~}~~~~~~~~}~}~}}~}}~~~~~~}}~~~~~~~}~~~}~}}~~~}~~~~~~}}}~~~~~}}~~~~~}~~~}~}~~}}}~}~~}~~~~~~~}~~}}}~}}~~}}~~}}~~~~~~~~~~~}}}}~~~~}}}~~}~}~}~~}~~~~~~}}}~}~~}}}}~~}~~}~~}~}}~}~~~~~~~~}}~~~}}~~}~~}~~~}~~~~~}~~}~~}~~}}~~}~~~~~~}~~}}}~~~~}~~~~}}~}~}}~}~~}~}~}~~}}}}~~}~}}~}}~}~~}~~}}~~}}~~~~~~}~~}~~}~~~~~~~}~}~~}~}}}~}}}~~}~~~~~~~~~}~~}~~}~~~~}~~}~}}~}~}~~}}~~~~~~}}~~}~~}~}}~~}~}~~}~~~}~}}~~~~~~~}~~~~~~}~}}}~}}}}}~}}}}}~}~}~~}}~~~}~~}~}~~~}}}~~}}~~~}~~}~~}~}~~~~~}~~}~}}~}~~~~~~~}}~~~~~~}}}~}~}~}~}}~~~~}~~}}~~~~~~~~~}~~~~~~~~}~~}}~~~~~~~~~~~}~~}}~~}}}~~~}}~}~~}~~}~~~}}~~}~}}~}}~~~~~~~~~~}}~}~}~~~~~~}~~}}}~}}}}~}~~}~}}~~~~~~}}~}}}}~}~~}}~~}}}~~}~~~~}~~~}}}~~~}}}~}}~~}}~}}~}}~}}~~~~~~~~~~~}~}~}}~~~~~}}}}}~~}}}~~~~~}~~~~}~}~}}}~}}}}~}~~~~}}~~}~~}~~}~~~~}}~~}}}~}~~}}~~}~~~~~}~~~}~}}}~~~~}~~}}~}~~}~}}~~}~}~~~~~~}~~}}}~}~~~~}}~~~}}~~}~}}~}~~~}~}}~~~}~}}~~~~~~}}~~~~~}~~~~~~~~}~~~~}~~~}}}}~}~~}~}~~~}~~~}}~}~~~~~~~~}}}}~~}~}}}}}~~~~}~~}~}}~~}~}}~}~~}~~}}}~~}~}~~~}~}~~}~~}~}~~}~~}~}~~}~~~}~}}}}~~}}}}}~~~}~~~}}}}}~}~~~}~~~~~~}}~}~~~}~~~~~~~}~~~}}~~}~~~~~}~}}}~~}~~~~~~~~~~~}~~~~}~~~~~~}~~~~~~~}}~}~~}~~}}~~~~~~~~}~~~~~~}~~~~~~~~~}~~~~~}~~~~}~~~~~~~~~~~~~}~~~~~~~~}~~~~~~}~~}~~~}~~~~~}~~~}~~}}~~~~~~~~~~~~~}~}~~~~~~~~~~}~~~}~~}~}}}~~~~}}~~~~~~~~}}~~}}~~}~~~~~~~~~~}~~}~~~~~~~~~~~~~~~~}~~~~~~~~~~~~~}}~~}~~~~~}}}~}~~~~}~}~~}~~}}}~~~~~}~~~~~~~~~~~~~~}~~~~}~~}~~~~~}~~~~~~~~}~~~~~~~~~~~~~~~~~~~}~}~~}~~~~~~}~~}~~}~~~~~~}~}~~}~~~}~}~~~~~~~~~}~~~~~~~~}~~~~~~~}~}~~~~~~~~}~~~}~~~~}~~~~~~}~~~~~}}~~}}}}}}}}~}}}~~~}~~~~~}}~~~}~~~~~~~~}}~~}~~}~~}}~~}~~~~~~}}~~}~~~~}~~~~~~~~~}~~}~}}~~}~}}~}}~~~~~}~}~~~~~~~~~~~}~}~}~}~}~~}~~~}~~~~~~~}~~}~~~}~~~}~~~}}}}~~}~~}~~~~~~}~~~~~~~~~~~~~~~~}~~~}~~}~~~}~~}~~~}}~}~}~~~}~}~~~~}~}~}}}}~~~~~~~~~~}}}~}~}}~~~~~}}~~~~~~}}}}~~~~~~~}~~~}}~}}}~~~}~~~}}}~}~~~~}~}}~~~}}~}~~}}~~~}~}~~~}}~~}~~~~}~~~~~}~}~~}~~}~~}~}~~}~}~~~}~~~}~}~}~}}~~}}~~}~}~}~~~}~~~~}~~}}~~~~~}}~}~~~~~}}~~~~}~}~~~~~~~~~~~~~~~~~~~}~~}~~~~}~~~~}~}~~}}}}}}~~}}~~~}~~~~}~}~~~~~}}}~~}~}~~~}}~~~}~~~~~~~}}~~~~~}}}~}~}}~~}}~~}~}}~~}~}}~~}~}}~~~~~}~~~~}~~~~~}~~~}~~}}~~~~}}}~~~~~}}~}~}~}}~~~~~~~~}~~}}~}}}~~~~}~~~}}~~~~}~~~}~}}}~}}~~~}~}~~~}~~~~}~}~}}}}~~}}}~~~}}~~~~}}~~}~~}}}}~~~~~}}~~}}~}~}~}~~~}}~}~~~}~~~~~}~~~~~~~~~~~}~~}~~~}}}~}~~}~~~~~~~~~~~~}}}~~~~~~}}~~~}~~~~}~~}~}~~~~~~~~~}~}~}~~~~}}~~~~~~}}}}}~}~}}}}}~~~~~~}}~~}}~~}~}~}~}~~}~~}~~~}~~~~}~~~~}~}}~}~~~}~~~}~~~~}~~~~~}}~~~}~~~~}}~~}~~}}}~~~}~~~~~~~}~~}~~~~}}~~~~~~}}~}}~~~~~~~~~}~~}}~~}}~~}~~~~~}~}}}~}~~}}~~}}~~~}}}~}~~~}~~}}}}~~~}~}~~~}~}}~}}}}~~~~}}}~~}~~}}}}}~~}}}~}}~~~~}~~~}~}~~~~~~~~}~}~}}~~~}~}~~~~}}}~}}}}}}}~~}~~}~~}}~~~~}~~~~~~~}~~}}~}}~}~~}~}~~~}~~~~~~~~~~}~}~~}}}~}~~}~}}}}~}~}~~}~~~~~}~~~~}}}~~~}}}~}}}~}~~~~~}~}~~}~~~~~}~~}~}~~~~}}~~}~~}~}}}~}~}~~}~}~~~~~~}~}~~~~~~}~~}~}}~~}}}}}~~~~~~}~~}}}~}~~}}~~}~}}~}}~~~}}~~}~}~}~~~~~}}}~}~~~}}}~}}}~~~~~~~~}}}~~}~~~}~~}~~~}}~~~~~~}~~}~}~}}~~}}~~}}}}~~~~~~~}}~~}}}}}}~}~}~~~}}}~~}~}}~}~~}~~}~~~}}}~}}~~~}~~~~}~~~}~~}}~}}~~~~~~~}~~}}~}~~}~~~~~~~~~}~}~~~~}~}~~}~}~}}}}}~~}~~~}~}~}~~}}~~~~~}~~~~~~~~~~~~~~}~~~~~~~~~~~~~~~}~~~~~~~~~~~~~~~~~~}~~~~~~~~~~~~}~~~}~~~~~~~~~~~}}~~~~}~~~~~~~~~~~~~~~~~~~}~~~~~~~}~~~~~}~~~~~~~~~~~~~~~~}~~~~~~~~~~~~~~~~~~~~~~~~~~}~~~~~~}~~~}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}}~~~~~~~~~~~~~~~~~~~~~~~~~~~}~~~~~~}}~~~~~~~~~~~~}~~~~~~~~~~~~~~}~~~~~~~~~~~~~~~~~~}~~~~~~~~~~~~~~~}~~~~~~~~~~~~~~~~~~~~~~~~~}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}~~~~~~~}~~~~~~~~~~~~~~~~~~}~~~~}~~~~}~~~~~~}}~}~~~~~~}~}~~~~~~~}~~~~~}~~}~~~~~~~~~~~~~~~}~}~~~~~~~~}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}~~~~~}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}~}~}~~}~~}~~~}~~~~~}~}~~~~~~~~}~~~~~~~~~~~~~~~~~~~}~~~~~~~~}~~~}~~~~~~~~~~~~~~~~~~~~~~~~~~~}~~~~~~~~~~}~~~~~~~~~~~~~~~~~~~}~~~~~~~~~}~~~~~~~~~~~~~}~~}~~~~~~~~~}~~~~~~~~}~~~~~}~~}~}}~~}~~}~~}~~}~~~~}~~~~~~~}}}~}~~}~}~~~~~~~~~}}~~~~~~}~~}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}~~~~}~~~~}}~~~~~}~~~}~~~~~}}~}~~~~~}~~~~~~~~~~~~~~~}}~~}}~~}~~~~~}~~~~~}~~}~~~}~~~}~~~}}}~~~}~~~}~~~~}}}~~~~~}~~~~~~~~~~~~~~~}~~}}}}}~~~~~~~~~~}~~~}~~~~~~~~}~~~}~}~~~~~~~~}~~~~~~~~~~~}~}~~}~~}~}~}}~}~~~~~~~~~~~}~}~}~~}~~~~~~~}~~}}~}~~}~~~}~~~}~~~~~~}~~~~~~~~}~~~~~~~}~~~}}~~~}~}~~~~~~~~~~~}~~~}~}~}~~~~}~~~}~~~~~~~~~~~}}~~}~~}~}~}~}~~}~}}~}}~~}~}}}~~~~~~}~}}~~~~~~}~~~~}~~}}~}~~~~~~}}~~~~~~~}~}}~~~}}~~~~}~}~~~~}}}}~~~~~~~}~}~~~~~}}~}}~}~~~}~~~~~~~}~~~}~}~~~~~}}~}~~~~~~~~}~}~}~~~~~~~}~}~~~~~~~}~}~~~~~~~~~~}~~~~}~}~~}}}~}~}~~~}}~~~~~~}~~}~~~~~}}~~~~~~}~}~~~~~~~~~~~~}~}~}~~}~~~~}~~~~}~~~}~~~~~~}}~}~}~}~}}}~~~~~~~~~}~~~~~~}~~~~~~~~}~~~}~}}~~~~~~~}~~}~~~}}~~~~}~~~}~~}~~}}~~}~~}~~~}}~~}}}~~~~}}}~~~~~~}~}}~~}~~~~~~~~~~~~~~~~~~}~~~}~~~}~~~}~~~~~}~~}~~~~~~~~~~~}~}~~}~~~~~}~~~~~~~~~~~~}~~~~}~~~~}~~}}}~~~~~~~}}~~~~}~}~~~~~~}~~}~~~}~~~~~~~~~~}~}~~}~~}~}~~~}~}~~~~~~~}~}~~~}~~~~}~}~~}}}~}~}~}~~}}~~~~~}~}~}~~}~~}~~~~~~}~~~~}}~~}~}~}~}~~~~}~}~~}~~~~}~~~}~~}~}}~~~~}~~~}}~~~}}~}}~~~}~~}}~~~~~~~}}~}~}}~~~}~}~~}~}~~}}}~~}}~~~~~~~~}~~}}}}~~~~~~}~}~~~}~~~~~~~}~~~}}~}~~~~}~~}~~~}~~~~}~~~~~~~~~~~~~~~~}~~~~~~~~~~}~~~~}~}~~~~~~~}~~~~~~~~~~~~~~~~~~~~}}~~~~~~~~~~~~~~~~~~~~~~~}~~~~~~~~~~}~~~~~~~~~~}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}~~~~~~~~~~~~~~~}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}~~~}~~~~~~~~~~~~~~~~~~~~~}}~~~~~~~~~~~~~~~~~~~~~~}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}~}~~~~~~~~~~~~~}~~~~~~~~~~}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}~~~~~~~~~~~~~~~~~~}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}~~}~~~~~~~~}~~~~~~~~~~~~~~~}~~~~~~}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}~~~~}~}~~~~}~~~~~~~~~~}~~~~~~}~~~~~~~~~~~~~~}~~~~~~~~~~~}~~~~~~~~~}~~~~~~~~~~~~~~~~~~~~~~~~}}~~~~~~~~~~~~~~~~~~~~}~~~~~~~~~~~~~~~~}~~~~~~~~~~~~~~~~~~~~~~~~~~~}~~~~~~~~~~~~~~~~~~~~~~~~~~~~}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}~~~~~~~~~~~~~~~~~}~~~~~~~~~~~~~}~~~}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}~~~~~~~~~~~~~~}~~~~~~~~~~~~~~~~~}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}~~~~~~~~~~~~~~~~~~~~}~~~~~~~~~~~~~~~~~~}~~~~~~~~~~~~~~~~~~~~}~~~}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}~~~~}~~~~~~~~~}~~~~~~~~~~~~~~~}~~~~~~~~~~}~~~~~~~~~~~~~~~~~~~}~~~~~~~~~~~~~~~~~~~~~~~}~~~~~~~~~~~}~~}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}~~~~~~~~~~~~~~~~~}}}~~~~~~~~~~}~~~~~~~~}~~~~~~~~~~~~~~~~~~~~~~~~~~~~}~~~~~~~~~~~~~}~~~}~~~~~~~~~~~~~~~~~~~~~}}~~~~~~~~~~~~~~~~~~~~~~}~~~~~~~~~~~~~~~~~~~~}~~}~~~~~~~~~~~~~~~~~~~}~~~~~~~~~~~~~~~~~~~~~~}~~~~~~}~~~}~~~~~~~}~~~~~~~}~~~~~~~~~~~~~~~~~~}~~~~~~~~~~}~~~~~~~~~~~~~~}~~~~}~~~~~}~~~~~~~}~~~}~~}~~~~~~~~~}~~}~~~~~~~~}~~~~~~~~~~~}~~~}~~~~~~~~~~~~~~~~~~~}~~~~}~~~~~~~~~~~~~~~}~~~~~~~~~~~~~~~~~}}~~~~~~~~~~~~~~~~~~~~~~}~~~~~~~~~~~~}~~~}~~~~}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}~~~~~}}~~~~~~~~~~~~~~~~~~~~}~~~~~~~~~~~~}~~~~~~}}~}~~}~~~~~~}~~~~~}~~}~~}~~~~~~~~~~~~~~~}~~~~~~~~~~}~~~~}~~~~~~~~~}~~~~~}~}~~~~~~~}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}~~~~~}~~~~~~~~~}~~~~~~~~~}~~~~~~~~~~~~~~~}~~~~}~~}~~~~~}~~~~}~~~~~~~~}}~~~~~~~~~~~~}~~~~~~~~~~~}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}~~~~~~~~~~~~}~~~~~~~~~~~~~}~}~~~}~~~~~~}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}~~~~~~~~~~~~~}~~~~~~}~~~~~~~~~~~~~~~~~~~~~~~~}~~~}~~~~~~}~~~~~~~~~~~}~~~~~~~~~~~~~}~~}~~~}~~~~~~~~~~~~~~}~~~}~~~~~~~~~~~~}~~~~~~~~~~~~~~~~~~~~~~~~}~~}~~}~~~~~~~~}~}}~~~~~~~~~}~~~~}~}~}~~~~~~~~~~}~~~~~~~~~~~~~~~~~~~~~~~~}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}~~~~~~~~~}~~~~~~~~~}~~}~~~~~~~}~~~}~~~~~~~~~~~~~~}~~~~~~~~~~~~~~~~~~~~~~~}~~~}~~~~~}~~~~~~~}~~~~~~~~~~~~~~}~~~~~~~~~~}~~~~~~}~~~~~~~~~~~~~~~~~~~~~~}~~~~}}}~~~~~~~~~}~}~~~~~~~~~~~~~~~~~~~~~~~~}}~~~}~~~~~~~~~~~~}}~}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}~~~~~~~~~~}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}~~~}~~~~~~~~~~~~}~~~~~~~~~}~~~~~~~~~~~~~~~~~~~~}~~~~~~~~~~~~~~~~~}~~~~~~~~}~~~~~}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}~~~~~~~~~~~~~~}~~~~~~~~~~~}~~~~~~~~~}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}~~~~~~~~~~}~~~~~~~~~~~~~~~~~~}~~~~~~~}~~}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}~~~~~~~~~~~~~~~~~~}~~~~~~~~~~~~~~~}}~~~~~~~~~~~~~~~~~~~}~~~~~~~}~~~}~~~~~~~~~~}~~~~~~~~~~~~~~}~}~~~~}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}~~~~~~~}~~~~~~~~~~~~}~}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}~~~~~~~}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}~}~~~~~~~}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}~~}~~~~~~~~~~~}~~}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}~~~~}~~~~~~~~~~~~~~~~~~~~~~~~~~}~~~~~~~~~~~~~~~~~~~}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}~~~~~~~~~~~~~~~~~~~~~~~~~~}}~~~~~~~~~~~~}~~~~~~~~~~~~~~~~~~~}~}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}~~~~~~~~~~~~~~~~~~~~~~~~~}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}~~~~~~~~~~~~~~~~~~~~~~~~~}~~~~~~}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}~~~~~~~~~~~~}~~~~~~~~~~~~~~}~~~~~~~~~~~~~}~~~~~~~~~~~~~}~~~~~~~~}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}~~~~~~~~~~~~~~~~~}~~~~~~~~~~~~~~~~~~~~~~~~~~~}}~~~~~~~~~}~~~~~~~~~~~~}~~~~~~~~}~~~~~~~~~~~~}~~}~~~}~}~~}~~~~}~~~~~~}~~~~~~~~~~~~~~~~~~~~~~~~~~~~}~~~~~~~~~~~}~~~~~~~~~~~~~~~~~~~~}~}}~~~~~}~~~~~~~~~~~~~~~~~}~~~~}}~~}~~~~~~~}~~~~}~~~~~}~~~~~~~~~~~~~~~~}~~~~~~}~}~~}~~}~~~~~~~~~~~~}~~~~~}~}~~~~~~~~~~~~}~~~~~}~~~~~~}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}~~~~~~~~~~~~~~~~~~~~~~~~~}~~~~~~~~~~~~}~~~~~~~~~~~~~~~~~~~~~}~}~~~~~~~~~~~~~~~~~~~}~~~~~~~~~~~}~~~~~~~~~}~~~~~~~~~~~~}~~~~~}~~~~~~~~~}~~}~}~}~}~~~~~~~}}~~~~~~~~~~}~~~~~~~~}~~~~}}~~~~~~~~}}~~~~~~~~~~~~}~~~~~~}~~~~~~~~~~~~~~~~~~}~~}~~}~~~}}~~~~}~~}~~~~~}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}~~~~~~~~~~}~~~~~~~~~~~~~}~~~}~~~}~}~~~~~~}}}~~~~~}~}~~~~~~~~~~~~~~~~~}~}~~~~~~~~~~~~~~~~~}~~~~~~~~}~~~~~~~~~~~}~~~~~}~~~~~~~~~~~~~~~~~}~~~~~}~~~~~~}~~~~~~~~~~~~~~}~~}~~~~~~~~}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}~~~~~~~~~~~~~~~~}~~~~}~~~~~}~}~~~~~~~~~~}~~~~}}~~~}~~~~~~}~~~~~~~~}~~~~~~~~~~}~~~~~~~~}~~~~~}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}~~~~~~~~~~~~~~~~~~~~~~~~~~}~}~~~~~~~}~~~~~~~~~~~~~~}~~~~~~}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}~~}~}~}~~~~~~~~~~~~}~~~~~~~~~~~}~}~}~~~~~~~~~~}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}~~~~~}}~}~~~~~~~~~~~~~}~~~~~}~}~~~~~~~~~~~}~~~~~~~~~~~~~~~~~}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}~~}~~}~~~}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}~~~~}~~~~~~~~~~~~~~~~}~~~~~~~}~~~~~~~~~~~~~}}~~~~~~~~~~~}~~~}~~~~}~~~~}~~~~~~~~~~~~~~~~~}~~~~}~~~~~~~~~~~~~~~~~~~~}~}~~~~~}~~~}}~}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}~~~}~~~~}~~~~~~~~~}}~~~~}~~}~~~~~~~~~~~~~~~~~}~~~~~~~~~~~~~~~~}~~~~~~~~~~~~~~~}~~~~~~~~~}~~~~~~~~~~~~~~~}~~}~~~~~~~}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}~~~}~~~~~~~~~~~~~~~~~~~~~~~~~~~~}~~~~~~~~~}~~~~~~~~~~~~~~~~~~~~~}~~}~~~~~~~~~~~~~~~~~~~~}~~~~~~~~~~~~~~}~~}~~~~~}~~~}~~~~~~~~~~~~~}~~~~}~~}~~~~~~~~~~~~~~~~~}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}~~~~~~~}~~~~~~~~~~~~~~~~~}~~~~~~~~~}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}~~~~~~}~~~~~~~~~~~~~~~~~~}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}~~~~~~~~~~~~~~~~~~~~~~~}~~~~~~~~~~~~}~~~~~~~~~~~~~~~~~~~~}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}~~~~~~~}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}~~~~~~~}~~~~}~~~~}~}}~~~~~~~~~~}~~~~~~}~~~~~~~~~~~~~~}~~~~~}~~~~~~~~~~~~~~~~~}~~~~~~~~~}~~~~~~~~~~~~~~~~~}~~~~~~~}~~~~~~~~~~~~}~~~}~~~~~}~~~~~~~~~~~~~}~~~}~~~~~~~~~~~~~~~~~}~}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}~~~~~~~~~~~}~~~~~~~~~~}}~~~~~~~}~~}~~~~~~~}~~~~}~}~~~}~~}~~~~~~~}~~~~~~~}~~~}~~~~~~~~~~~~~~~~~~~~~~~}~}~~~}~~~~~~~~~~}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}~~~}~~~~~~~~~~~~~~~~}~~~~~~~~~}~~~~~~~~~~~~~~}~~~~~~~~~~~~~~~~}~~~~}~}~~~~~~~~~~~~}~}~~}~~~~~~~~~~~}~~~~~~~}~~~~~~~~~~~~}}~~~~~~}~~~}~~~~~~}}~~~~~~~~~~~~~~}~~~~~}~~~~}~~~~~~~~~~}~~~~~~~~~~~~}~}~~~~~~~~~~~~}~~~~~~}~~~~~~~~}~~~~}~~~~~~~~}~~~~~~~}~~~}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}~~~~}~~~~~}~~~~~~~~~}~~}~~~~}~~~~~}~~~~~~~~~~~~~~~~~~~}}~~~~~~~~~~~~~~~}}~~~~}~~~}~}~~~~~~~~~~~~~}~~~}~~~~~~~~~~}~~~~~~}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}~}~~~~~~~~~~~~}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}~~~~~}~~~~~~~~~~~}~}~~~}~~~~~~~~~~~}~~~}~}}~~~~~~}}~~~~~}~~~~~}~~~~~~}~~~}~~~~~}~}~~~~~~~~~~~~}~}~}~~~~~~~~~}~~~~~~~~~}~~~~~~~~~~~~~~~~~~~~~~~}~~~~~~~~~~~~~~~~~~}~~~~~}~~~~~~~~~~~~~~}~~~~~~~~~}~~~~~}~~~~~~~~}~~~~}}~~~~~~~~~}~~~~~~~~}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}~~~}~~~~~~~~~}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}~~~~~~~~~~}~~~~~~}~~~~~}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}~}~~~~~~~~~}}~~}~~}~~}~~~~~~}~~~~~~~~~~~~~~~~~~~}~~~~~~~~~~~~~~~~~~~}~~~~~~}~~~}~~~~~~~~~~~~~~~}~~~~~~~~~~~~~~}}~}~~~~}~~~~~~~~~}~~~~~~~~~~~~}~~~~~~~~~~~~}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}~~~~~~~}~~~}~~~~~~~~~~~~~~}~~~~~~~~~~~~~}~~~~~~~~~~~~~}~~~~}~~~}~~~~~~~}~~~~~}}~~~}~~~~~~~~~~~~~}~}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}~~~~~~~~~~~~~~~~}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}~~~~~}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}~~~~~~~~~~~~~}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}~~~~~~~~~~~~~~}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}~~~~~~~~~~~~~}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}~~~~~~~~~~~~~~~~~~~~~~~~}~~~~~~~~~~~~}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}~}~}~~~~~~~~~~~~}~~~~~~~~~~~~~~~~}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}~~~}~~~~~~~~}~~~~~~~~~~~~}}~~~~~~~~~~~~~~~~~~~}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}~~~~~~~~~~~~~~}~~~~~~~~~~~~~~}~~}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}~~~~~~~}~~~~~~~~~~}~~~~~~~~~~~~~~~~~~~~~~~~}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}~~~~~~~~~~}~~~~~~~~~}~~~~}}~~~}~~~~}~~~~~~~~~~~}~~~~}~~~~~~~}~~~~~}~~~~}~~}}~~}~~~~~~~~~~~~~~~~~~~}~~~~~}~~~~~~~~~~~~~~~~~~~~~~~}~~~~~~~~~~~~~~~~~~~~}~~}~~~~~~~~~~~~~~~~~~~}~~~~~~~~}~~~~~~~~~~~~~}~~~~~~~~~}~~}~~~~~~~~~~}~~~~~~~~~~~~~~~~~~~}~~~~~~~}~~~~~~~~}~~~~~~~~~~~}~~~~}~~~~}}~~~~~~~~~}~~~~~~~~~~~~~~~}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}~~~~~~~~~~~~~~~~}~}~~~~~~~~~~~~~~~~~~~~~~}~~~~~~~~}~~}~~~~~~~~~~~~~~~~~~~~~~~~~~}~~~~~~~~~~}~~~~~~~~~~}~~~~}~~~~~~~~}~~~~~~~~~}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}~~~~~~~~~~~~~~~~~}~~}~~~~~~~~~~~~~~~~~~~~~~~~~~}~~~~~}~~~~~~~~~}~~}~~~~~~~~~~~~~~~}~~~~~~~~~~~~~~}}~~~~~~~~~~~~~~~~~~}~~~~~~~~~~~~~~~}}~}~~~~~~~~}~}~~~~~~~~~~~~}~~~~}~~~}~~}}~~~~~~}}~~~~~}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}~~~~~~~~~~~~~~~~}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}~~~~~~~~}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}~~~~~~~~~~~~~~~~~~~~~~~~~}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}~~~~~}~~}~~~~~~~~~~~~~~~~~~}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}~~~~~}~~~~~~~~~~~~~}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}~~~~~~~~~~~~~~~~~~~~~~~}~~~~~~~~~~~~~~~~~~~~~~~~~~}~}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}~~~~~}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}~~~~}~~~~~~~~~~~~~~~~~~~~~~~}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}~~~~~~}~~~~}~~~~~~~~~~~~~~~~~~}~~~~~~~~~~~~~~~~}~~~~~}~~~~~~}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}~~~}~~~~~~~~~~~~~~~~}~~~~~~}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}~~~~~~~~~~}~~~~}~~~~~}~~~~}~}~~~~~~~~~~~~~~~~~~~~~~}~~~~~~~~~}~~~~~~~~~~~}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}~~~~~~~~~~~~~~~~~~~~}~~~}~~~~}~~~}~~~~~~~}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}~~~~~~}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}~~~~~~~~~~~~~}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}~~~~~~~~~~}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}~~~~~~~~~~~~~~~}~~~~~~~~~}~~~~~~~~~~~~~~~~~~~~~~}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}~~~~~~~~~~~~~~~~~~~~~~~}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}~~~~~~~~~~~~~~~~~~~~~~~}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}~}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ \ No newline at end of file diff --git a/src/mod/applications/mod_fsv/freeswitch-720p.yuv b/src/mod/applications/mod_fsv/freeswitch-720p.yuv new file mode 100644 index 0000000000..53d52c9148 --- /dev/null +++ b/src/mod/applications/mod_fsv/freeswitch-720p.yuv @@ -0,0 +1 @@ +DDCCCCDDCCDCCCCCDCDCDCCCDDDCCCCDDCCCDCDCDDCDDCCDDCDCCCDDCCCCCDCDDCCDCDDCCDDDDDCCDCCDCCDCDCDCCCCCCDDCDDCDDCCCDDCDDCCCCDDDDCDCCDCCCCCCCCCDDDCDDCCCCCCCDCCCCDCCCCDDDCDCCCDCCDCDDDDCDDCCCDCCDDDCCDDCCCDDDDCDDCDCCCDDDDCCDDCCCCDCCCDDDDCDDCCDCDDDDCCCCDCDCDDDCDDDCDCCDDDCCDDCDCDDDCCDCDDDCDCDDCDDDCCDCDDCCCDDDCDDCDDCCCCCCDDDCCDDDDCDCDDCCCCDCCDCCCDCDCDDDDDCCCDCCCDCDDDDCDDDCCDDCDDCDDCDCCCCDDDDCCDDCDDCCCCDCCDDDCDCDCDDDCCDDDDDDCCCCCCDDDDCDDCCCDDDDCCCDCCCDDDDDCCDDCDDDCCCDDDCCCCDDDCDCCCDDCDCCDDCDCDCDCCDCDDDDCDDCDCCCDCDDDDCCDCCCCDDDCDDCCDDCDCDCCCCDDDDCCDDDDDCCCCCCCCCCDCDDDCCCCCCDCCDCCDDDDCDCCCCCDCCCCDDDDCDCDCCCDCCCCCCDDDCCCDCDCDDCDDCCDCDDCDCCDDCCCDDDCCCDDCDDDCDDCCDDCDCCDCDCCCCDDDCCDCDDDCCDCDCDCDDCCCCDDCDDCDCCCDDDCCDCDDCCCDCDCDCCDCCCCCDDDDDCCCDDDDCDCDDDCCDDCCDDDDCCCCCDCDDCCCCCCDDCCDCCDCCCCDCCDDCCDCDCCDDDDDCDDDCDCCCCCDDDCDCCDCCCDCDCCCDDCCDDDCDCDCDDDCCDDCCCDDCDCCCCCDCCCDCCDDDCCDCDDCCDDCCCDDDDDCDDDCDCDCCDDDCDCCCCDDDDDCCDCCCDDDCCDDCCCCDDDCCDDDCCCDDCDCDDDDDCCCCDCCCDDDDDDCCDDCDDCCCCDCDCDDDCDDCCDCDDCCCDCCDDDCDDCDDCDDDCDDDDDCDCDCCDDDCCDCDCCDDCDDCDDCCCCDDCCDCCCCDDDDCDDCCCCCDDCDCCCCCCDCCCCDCDDCDCDCCDDDDDDDDDDDDCCDCCDDDDCDCDCCCDCDCCCDDDDCDCCCDDDDCCCDCDCCCCCCCDCDDDCCDDCCCCCCCCCDDDCCDCCCDDCCCCDDCCCDDCCCDCDCDDDDDCDDDDDCCDCDCCDCCDDCDCDCDCCCCDDCCCDCCCCDCCCDDDCCCCDCDCCDCCDDCDCCCCDDCDDDCCDDDCDCDDDCCCCDCCCCDCDDDDCCDCCCCCCCDCDDCCCCCCCCCCDCCDCDCCCDCCCDCCDDCCCCDDDDCCDDCCCCCCCDCDDCCDDCDCDDCCDCDCCDDDDDCCDCDCDDCCCDDDDCCCDCCDDDDDDDCDCDDDCDDCDCDDDDCCCCCCDDCDCCDDCCCDCDDCCCDCCDCCDDCDCCCCCCCDDDCCCCDCCCCDCDCDCCCCDCCCCCDCDCCCCDCCCDDCDCCDCCDDDDCCDDCCCCCCCCDCCDCCDCCCDDDCCDDDCCCDDCCCCCCDCDCCCCCDDDCCDCCCCCDDDCCCDDCCDDDCDDDCCCCCDCDCDDCDDDDDCCDDCDDDDCCCCDDDCCCCCCCDCCDCCDDDCCCCDCDDDDCCCCDCDCCCCDCDDCCDDCDDCDDCDCDCDDDCDCCDDDDDDDDCCCDDDCDCCDCCCCCCDDDCCDCCCCCDCCCDDCCDDDCDDDDCCDDDDCCDDCCCDDDDDDCDCDDCDCDDDDCDCDDDDCCDCCCDCDDDCDDCCDDDCDDDDDDCDCDDDCCDDDDDCDDCDDCCCCCDDCDDDCDCDCCCDCCDDCCDDDDDCDCCDDDDDDCCCCCDDDDDCCDCCCDCDDCDDDCCCDDDDCDDDDDCDDCCDCDDDDCCDCDCCCCCCDDDCCDDCDDDCDCCDCDDDDCCCCCDCCCDDDCCDDDCCCDDCDCCDCCDCCDCCDDDCDCDDCCCCDCCCDCCDDCCDCCDDDCCCCCDCCCDCCDDCCCDDDDCCDDCDDCCDCCDCDDCDCDCDCCDCCCCCDCCDCCDDDCDDCDDDDCCCCDDCDCDDCCDCCDDCDCCDDDDDDCCDCCCDCDCDCDCDDCDDCCCCCCDCDCDCDCCDDCDCDCCDDDDDDCCCDCCCDCCDDDCDDCCCDDDDDCCDCCCDDDDCCDDCCCCDDDCCDCCCDDDCDDCCDDCDDDCCDDDDCCCDDCDCDDCCDCCDCCDCCDDDDCCDDCDCCDCCDCCCDDDCCCDDCCCCDCDCCDDCDDCCCDCCDDCCDDCCDCCCCDDDDCDDCDCCCCCCCCCDDDCCDDCDCCDCDCCCCDCCCCDDDDCCCCCCDDCCDDCDDDDDDCDCDDDCDDDCCDCDDDDCDDDCCCDDDCCCDDCCCDDCDDDDDDCDDCCDCDDDDCCCCDCDCDCCCCCDDDCDCCCDCDCCCCCCDDDDDCCCCDCCCDDCCCDDDDDCDDCDDCDDDCCCDDDCCDDCDDCDDCCDDDCCCDDDCCCCDCCCDDCDCDDCCCCCDDDCDDDCDCCDDCCCDCCDCDCDCCCCCDDDCCDDDDDCDDCDCDDDCDCCCDDDDCDDCDDDCCCCCDCCCCCDCCCCCCCDCCDDDDDCCDCCCDCDDCDDDCCDCCCDDCDCCDCCCDCCCDCCDDCDDCCCDCCCDCDDCCDCDDDDDCDCCCDDDCCDDCCDCDDCDCDCCDDDCDCDDDDCCCCCDDCCCCCCDCDCCDDCCCDDDCCDDDCCCDDCCDCDCDCCDCDCCDDCDDCCCDDDCCDDCCDDDCDDDDDDCDCCCCCCCCCDCCDDDDDDCDCCDCDDCCDCCCCCCDCDCCCDCCDCDDDCDCDCDCDDDCDCCDDCCDDCDCCCCDDCCCCDCDDDDDCCCDDCDCDDCCCDCCDCCCDCCDCDCCCCCDDCCDDDCCDCCCCCDDCDDCCCCCCCDDDCCCCCDDDCCCCDDDCDDDDCCCCDCCDDCCDDDCCDCDCCDDDDCCDCCDCCDDCCCCCDCDDCDDCCCDDDCCDCCDDDCCCDCDCCCCDCDDCCCCCDCDDCCDCCDDCDDCDDDDDDCCDDCCCDCCCCDCCDCCDDDDDCCDCDCDDCCCDDCDCCCCDDDCCDDCCDDCCDCCCDDCDDCDCDDCDDDCDCCCCDDDCCCDDCCCDCDCCDCCCDDDCCDCCCDDCDDDCDDDDDCCDDDDCCDCCDCCDDCDCCDCCCCCCDDCDCCCCDCCCDCCCDDDCDCCDCCCDDDCCCCDDCCCCCCCDDCDCDCDCCCDDCCCCDDCDDDCCDDCCCCDDCCCDCCCDCDCCDCCCCDDDDCCCCDDCDCCCCCDDCDCDCCDCCDDDCDCDDDCDDDCDDDCCCDDCCCDDDCDDDDDCDDCCDDDCCCCCDDCCCDCCCDDCCCCDCDDCCCDCCDDCCCCCDDCCCCCCCCDCCCDCCDCCDDCDDCCDDDCDDDDDCDDDDDDCCCDCDCCDCDCCCCCDCCCCCCCCCCCCCCDDCCDDDCDCCDDDDDDCCDDDCCDCDDDDDCDCDDCDCDDDCCCCCCCCDDDCDDDCDCCDCCDCDCCDDDDDCCCCDDDCCDCDDCDCCCDCCDDDCCDCCDCDDCCDCDDCDDCDCCCCCDDCCDCCCDCDCCCDDCDDDCCDCCDDCDDCCCCCCCDDCCDCCCCDCDDDDDDDCCDCCCCDDCDCCCCDCCCDDCDCCDCCDDDCCDDDCDCCCDCCCCCCCCDDDDDCCDDCCCDCDDCCDDCCDCCCCCCCCCDCDCCCCDCCDDCCDCCDCCDDDDCCDDDCCCDCCDDCDDDDDDCDCCDCDDDCDDDCCCDDCCDCDCCDCCCDCCDCCCDDCCDDCDDCCCDDDDCCDDDDDDCCDDDDDCCCDCDCCDDDDDDCCCCCDCCCDCCDDDCCDDCDCCDCDCDCCDDCCCCDCCDCDDDDCCDCCDCDDDCDCCCCDDCCDCDDDDCDDDCCDDDCDCCCCCCDDCDDCCDDDDDCDCCCCCCDCDCDDCCDDCDCDDDDCDCCCCCCDCCDDDDDDCCDDCDCDCDCDDDDDCCCCCDCCCDCCCDCCDDDCDCDCDDCDCCDDDDDCDDCCCDCCCCCDDDDCCDDDDCCDCCDDDDDDDDDDCDDCCCCCCDCDDDCDDDDCCDDDCDCDDDCDDDCDCCDDCCDCCDDCDCDCDDDDDCDCCDDDDCCDDCDDDDCCDCCDCDCCDCCDCCDCCCCCDDCCCCDCCDCCDDDDDCCCCDDDDDDDDCCCDDCDCCDCCDCCDCCCCCCCCDDCCCDCCCCCCCCCDDDDCCCDDDCDDCCDDCCCDDDCCCCCCCCCCDCCCCCCDCCDCCCDDCCDDDCDDCDDDDCDDDDCDCCDDCDDDDCCCDCDDCCCDCCDCDCCCCCDDCCCDDCCDDDCDCDDCDDCDCDCCCCCDDCDCCDDCCCDCDDDCCDDDDDCCDCCDCCCDDDDCDCDDCCCCDDDCCCCCCCCCCCCDCCCDDDDCCCDDDDCDCCCDDCCCDCDCCDCDCDDCDCDCDCCDCDDCCDDCDCDDCCDCDDCCCDCCCDCDDDCCDCDCCCCDDDDCCCDDDDDDDDCDDDCDDCCDDDCCDCCCCDCDDDDDCDCCDCCCCCCCDCDDDDCDCDDCCCCDDDCCCDDDDDDCDCCDCCCDCCDDDCCDDCCCDCCDDDDCCCDDDCDCCCDCCDCCDCCDDCDDCDCDCCCDCDDDDDCDDCDDCDDDCCDCCCCCCDDDCCCCCCDDDCCCCDDCCCCCCCCCCCCCDDCCDCCCDCCDDCDDDDCCDCCDCCCCCCCCDCCDCCCDCCCDDDCDDCCDCCDCDCDDDCCCCDCCCCDCDDCCDDDDCCCDDDCCDDCCDDCDCCDCCCDDCCCDDDDCCDCCCDDDCDCDCCCDCDDDCDDDCCDDCDCCDDCCDCDDCDDCDDCDDCCCDDDDCCCCCDDCCDCCCDCDCCDDDDCDDDCCCCCCCCDDCDDDCCDCDDCCCCDDCDCCDCCDDCDCDCCDDDCDCDDDDCDCCCCCCCCDDDDCCDDDDCCDCCDDCDCDDCCDDDDCDDDDCCCCCCDDCDCDDDCCDCCCCDCCDCDDDCCDCCCCCCDDCDDCCCDDCCCCCDDCCDDCDDCCCDCCCCCCCCDCDCCCDDCDDCCCDCDCCCDCCDCDDCCCCCDCCCDDDDCCDCCDDDDDCCCCDCDCCDDCDCDDCCCCDCDDCCCCCDDDDCCCCCDCDDDCDDDDCDDDDDDDDCDDDCDCCDDCCDDCCCCDDCCDDCDDCCDCCDDDCDCDCDCCCDCCDDCDCCCCCCCCCDDDCDDCCDDCCDDDCCDDCDCCCDCCCDDDCCCDCDCDDCDCCCCCDCDCCDCDCDDDDCCCDDCDDCDCCCCDDDDDCDCDDCDCDDDDDDCCCCCDDCCCDCCDDCCCCDDDCCCDDDCDCCCCDCCDCDCDDDDDCDCCCDCDCDCCDCDCCCCDDDCCDDDCCCDDDCCDCDCCCDDCDCDDCCDCDCCCDCCDDCCCCDCCCCCCCDCCCDCDDDDDCCCDDDDDCCDCCDDCCCCDDDDCDCCCCCCCCCDDCDDCDDDDCDCCCCCCDDCCCCCDCDCCCCDCCDDDDDDCDCCDDCDDDDCCCCCDCCCCCCCDCCDDDCCDCCCCCCDDDCDDDCDDDDDCCCDDCDCDDDCCDDCCCCDDCCDCDCDCCCCDDDDCCDCDCCDCCDDDDDCCCCDCCDDCCDCCCDDDDCCCCDDDDDCCCCCCCCCDDCCDCCCDDCDCCDDDDCCCDDDCCDCCCDCCCCDDCCCCCCDDDCDDCCCCCDCCDCDCDCCCDDDCCDCDDCCCDCCCCCDCDDDCDDDDDDCDDCCCDDCDDCCCCDCDDDCCDDCDCDCDDDDDCCDCCDDDDDCDDDDDDCCDDDCCDDDCDDDDDCDDCCCCDCCDCDDDCDDCDCCDDCDDCDDDDDDDCDCCDDDDDCDDDDDCDCDDDDDCDCCDDDDCCDDCDDDCCDDCDDCDCCCCDCCDCCCCCCDDCCCDDCDDCDDDDDDCCDCDCDDCDDCDCCDDCDCCDCDDCDDCDCCCCCDDDCCCDCCDCCCCCCDDDCDCCDDCCCCCDDDDCCCDCCDCCDCCCCDCCCCCCCDCDDDCCDDCCDDCDCDCDDCCDCCDDCCCCDCDCCDCDDCDDCDDDDCCDDDDDCCDDCCDDDCCCDDCDCCCCCCDDCDDCCCDCDDCDCCDDCCDCDCDDCDCDCDCDDDDCCCCDDCCDDCDCDDDDCDDDCCCDCCCDDDCDCDDCCDDCCDCCCDDCCDDCDCCCDDDDCCDDDCDCCDDCCDCCCCCDCDDCCCDDCCDCDDDCDDCCDDDDDCCCDCCCCDDDDDDCCCCCDCCCCDCCDDDCCDCCDCCCDCDCCDDCCCCDCCCCDCDDDCDCCDDCCDDCDDCCCDCCDDCCCCCCCDDDDDDDCDCDDCCCDCCDCCDDDCDDCCCDCCDDDCDDCCDDDCCDDDDDCCCCCCCCDDCDCDCCCDCCDDCCDCCCDCDDDCCCCDDCCCCCCDCCDCCDCCCDDDDCDDCCDCCDCCCDCDDCDCDCCDCDCDDDCCDDDDDCDDCDCDCDCCCDCCCDDCDCDDCCCDCDDCCDCDDCCDDDDDDCCDCDCDDDDDDCDDCCCCDCCCCDDDCDDCDDCCDCCDCCDDDCDCCCCCCDDDCCDDDCDCCCDDCDDDCCDCDDCDDDCCCCCCCDCCDDCCCCCDDCCDDCCDCCDCDDDCDCDDCCCCCCCCDDDCDDCDCDCDCDCCDDDCCCDDDDCDDDDDCDDDDCDCDDCCDDCDDCCDDDDCDCCCDDDDCDDCDDDCDCCCCCCCDCDCCCDDCCCCDCCDCCDDDCCDDCCDCCDCCCDDCDDDDDCCDDDCDDCDCCCCCCDDCCDDDDCCCDDCCDCCCDDCCCDDDCDCCDDCCCCDDCDCDCCDCCCDCDCCDCDCDCCCDDDDCDDCCDDDCCDDCDDDCCCCCCCCDCCCDCDDCCCCDDDCCCDDDDDCCDDCCDDCDDDDDDDDCCCCDCCDCCDCDDCCDDDDDCCCCCCDDCCCCCDCDCCCCCDCDDDDDDDDCCDDCDDCCCCCCCCCCCCCCCDDCDCDCDDCCCDDCDDCDDDCDCDDDDCDDCCCCDCDCCCCDCCDCCDCCDCCCDCDDDCDCDDCCCCDCCDCCCCDDCCCDDCCDCCCDCDDCCCDDCCCDCDDCCCCDCCCCCCDDCCDDDDDDDDCCDDCCCCCCDCCDCDDCCDDDCCDCCDDCCDDDCCDDDCDDDDDCCDCDCCCCCCDDCCDCCCCDDCCCCCCDDCCDDCDCDDCCCCDCCDDCDCCCDDCCCDDDDDCCCCCDCCDCCDCCDCDDDDCDDCDCCCDDDDDDCDCCCCCDCDCCDDDDDDCDCCDDCCDDDCCCDDCCCCCDDCCCDDCDCCCCCCCCDDDCCDCDDCDDDCDCDDDDDDDDCCDCCDDCDCCDDCCDDCCCDDDDDDDCDDCCDDCDDDDDCDCCDCCDCCDDCDCCCCCDDCCDDDCCDCCCDDDDDCCCDCCDCCCDDCCDDCCCCDCDCCDCDCCCCCDCCCCCCCCDCDDCCCDDCCCCDDDCCDDCDCCDCCDCDCDDDCDCCDCCCCDCDDCDDCCCCCCCCDDDCCCDCCDDDDDCDDCCCCDCCDCDCCCCCDCCDDDCCCDCCDCDDCCDCDDCDDCDDDCCDDDDDCCDDCCCCDCCCCDDCCDCCCCCDCCDDDDCDDCDCDDDCDCDCDDCDCDDCCDCDDDCCDDDCCDDDCCDCDCDDCCCCCCCCCDDCDDDCDCCCCDDCDDCDDDCDDDCCDCCCDCDCCCCCDCDDDDCCDDDDDCCDCCCDDDDCCDDDDCDCDDCCDDDDDCCCDDDDCCDCDDDCCCCDCCCDDCCDDCDDCCDDDCDDDCDCDDCCCDCCCCCCCCDDCCDCCDCCCDCDDCCCCCCDCCCDCCCCDDDDCCDCDCCCCCCDCDCCDCDDDCDDDDCDDDCCDDCDCDCCCDDCCCCCCCCDCCDCCDDCDCCDCDDCCCCCCCCDCDDCCDCCCCCCDDCCDDCCDCDDCDCDDCCCCCCDCDCDDCCDCCCCCCCDDCCCCCCCDCDDCCDCCCCCCCCDDCCDDCDCCDDCDCCDDDCDDDDDDCCCDDDDDCDDCDDDCDCCCDDCDCCCCCDDDDDCDCCCCDCDCCDDCDDDCCDDCDCDDCDCDDCCCDDCDCCDCCDDDCDCDCCDDCCCDCDCCDCDCDDCDDDCDDDCCDDDCCDDCDDCDDDCDCCDCDDDDCCDDDDDCDDCDDCCDCCCCCCCDCDCCCDDCCCDCCDCCCCCCDCCDCCDCCDCDDDDDDDDDDCCCDDDDDCDCCDCCDDDCCDCDDDDCDCCCDCDDDDCCCDDDCDCCDDCCCCDDDCCCCCCCCCDDDCDDCDCDCCCCCCCCCCCCCDDCDCCDDCCDDCCDDCDCCDDCCDCDDCDCCCCCDDDDCDCDCCCDCDCCCCDCCCCCCCCCDCCCDDCCCCCDCCDDCCCDCDCCDDDCDCCDCCCCCCCCDDDCDCCDCCDCDDCCCDDCCCDDDCCDDDDDCDDDCCDDDDCCDCDCCCCCDDCCDCDCDDDCCDCCDCCCDCCCCCCCDCCCDDDDCCCCCCDCCDDDDCCDDCCDCCDDDCDDDCDDDDCDDCDCDCDDCDCCDDDDCDDDCDCCDDCCDCDDCDCCDCDDCDDCDDCCCCCDCDDCDCDDCCDCCDCDDCDCCCCCCDDDCDCCDCCDDCDDCCDDCDCCDCCDCCDCCCCDCCDCCCDCCCDDDDDDCDDCCCCCDDCCDCCCDDCDCDDCCDCCDDCCCCDDCCDDDDDDCCCDCCDDDCDDCDDCCCCDDCCCDCCCCDCDCCDDCCDCCDDDDCCCCCCCDDDCCCDDDDDDCDDDDDDCCDCCDDDCCDCCCCDCCCDCDDCCDDDCDDDCDDDDCCCCCCCDDDCDCCCDCCCDDCDDCCDDCDDCCCDDCCCCCDDCDCCCCDDCDCDCCCDCDCCCCCCDDDDDCCCCDCCCDDCCCDDDCDCCDCCCCCCCCDCDDDCDDCCDDCCCDCCCDCCDCDCCDDCDDDCDCCDCDDCCCDCCDDDDDCDCDCDCCCDDCCDCCCDDDCCDDCCCDCCCCCCCCCDCDCDDDDDCCCCCDCCDCCDDDDDCCDDDCCCCDDCDDDDCDCCCCCCCCCCDDDDCDDDCCCCDCDDCDCDDDCCDCDCDDCDDCDDCDCCDDDDCCCCCDCCCCDCCCDDCDDCDCDCDCDCCDCCCCDDCCCDDDDDCCDDCCCDDCCDDDCDDDDCCDCCDCCDDDDCDDDDDCDDCCCDDDDDCCCDCCDDCCDCDCCDCDCCDCCCDCDCCDCDCDDCCDDDCCCDDCCCDDDCCCCDDDDCCCCCDCCCCDDCCCCDCDDCDDDCCCCDDDCDDDCDDCCCDCDDCCDCDCDCCDDDCDDDCDDCDCDDDDDDCCDDDDCCDCCCDDDCCCDCCCDCCDCCCDDDCCDCCCCDCCCCCCCCCDCCDCCDCDDDCCCCDCCCCDDCDDDCDCCDDCCCCDCCDCCDDDDCDCCDCCDCDDCCDDDCCCCCCDDCCDDCDCCDCCCCDDDCCDDDDCDCCCCDDDDCDCCDDDCDDCCDDCDCCCCDDDCCDCDCCDCDCDCCDDCDDDDCDDCCDDDCDCDDCCDDDDDDCDDCDCDCDCDCCCDCDCCDDCCDCDCCDCDCDCCCCDCCCCCDDCCCCDDDDDCDDCDDDDCCCDCCCCCDDDDCDDCCCCCCDCCDDCCDCCDCDCDDDDCDDDCCCCCDDCDCDDDDDCDDCCDCDCDCDDCCCDDCDDCCDCCCCCDDDCCDDCDCCDCDDDDDDCCCCDCDCDDDDCCCCCCCCCDDDCCDCCCDCDCCDDDCCCCCDCDDCCCDCDCCDCDDCDDDDCCDDDDCCDCDCDDDCCDDDCDCDDCCDDDCCCCCDDDDDCDCCDCCDDDCDDCCDCCCDCCCDCDCDDCDCCCCDCCDCDCDCCCDDCCDCDDCCCDCCCCCDDDCCCCDDDCDDCCCCCDCCDCDCCCDDDDCCDCCCDCDDCCCCDCCDCDDCCCDCDCCCCDDDDCCCDDDCDCCCDCCCDDCDCDCCDCCCDDCCDCDCCDDDCDCCCCDCDDCDDCDDCCDDCCDCDDCCCCCCDCCDCCDCCCDDDCCCCDCCCDCCDCDCCCCDCDCDCDDCDDDCCDDDCCCCDDCCDCDDCCDDDCCDDCCCDDDDCDCCCCCCCCCCDCCDDCCDCDCCDDDDCDCDDCDCCDDDCDCCDDDDCDDCDCDDCCDDDDDCCCCCCCDCDCCDCDDCCDCCDCDCCDDCCCDCCCDCCCDCDCDDDCCCCDDDCCCDCDDCCCDDCCDCDDCCCCCDCDDCCDDCDDCCCCCDDDDCCDCCCDCDDCCDDCCDDDCDDDCDDDDCDDCCCCDDDCCDDCDDCCCCCDDDCCDCDDDCCDCCCDDCCDCCDDCCCCDCDDDCDCDCCDDDDDDCDCCCDDDCCDDCCCCCCDCCDDDDCCDDCDCDDDDDCCCCDCCCDDCDCDCCDCCDDDCCCDDCDDDDCCDCCDDCDCCDCDDDDCDCDCCCCCDDDDCCCCDCCCCDDCDDDCDDDDCCCDDDCDDCCCDCCDDCCDDDDCDDDCCDDDDCCCCDCCCDDCDDDCDCDCCCCCCDDCCCDDCDDDCCDDDDDDCDDCCDCCDDCDDDCCDCCCDDCCCCCDCDDCDDDDCCDCDDCDCCDDCDCDDCDDDDCDDCDCCDDDCCDDCCDCCDCCCDCCCCCDDDCDDCCDDDCCDCCCDDCDCCCDCCCCDCCCDDDCDDDCDCDDDDCCCDCCCDDCCCDDDDCCCDCCCCDDDDCCCCCDCCCCDDCCCCCCDDDDDDCCCDDCDCDDDCDCDCCCCDDCCDCDCCDDCCDDDDDDDDCCDDDDCDCCCDDDCCDDCCCCDCDCDDCCCCCCCDCCDDCCDDCCDCCCDCCDDCCCDCCDCCCCDDDCCCCDCCCCDDDCDDCDDDCDDDDCCDCCCCCCDDCCDDCCDCDDCCCCDDDDCCCDCCDDDCCDCDCDCDDCDCDCDCCCCCDDDDDCDDCCDCCDCCCDDCDDDDCDCCDCCCCDDDDCCCDDCDDDCCDCDCDDDDCCCCCDDCCCCDDDCDCDDDDCDDCDCDCCDDDCDCDDCDDCCDCDDCCCDDCCCCDDDDCDCCDCCCDDDCCDDCDDDCCCDCDCCCDDDCDCCDDDCDDDCDDDDCDDDDDDCCCCDDCCDCCCDDCCDDCCCCDCCDCDCCDDCCDCDCDDCCCCCCCCCDCDCCCDCDDDCCCDCDCCCDCDCCDCDDCCDDDCDCCDCDDCDDCCCDDCCDDCCCDDDDCCCDDCDCCDCCCDDDDDCDDDDCCCCDDCCDCCDCCCCCCCCCCDDDDCCDDCCDCDCDDDDCCDDCCDCDCDCCDDCCDCCDCDDCDCCCCCDCCCCDDCCDCDDDCCDCCDCDCCDCCCCCCDCCDDDDDCCDDCCDDDCCCCCDDDDDCCCDDCCDCCCCCCCDCCDDDDCDDCCDDCCCCCDCDDCCDDCDDDDDCDCCCDCCCDDDCCCCCCDDDCCCCDDCCCDCCDDDCDDCDCCCDCDDCDCDDCDCCCCDDDDCCCDDCDDDDCDCCDCDDDDDCDDDDDCCDCCCCCDDCDDCDDDCCDCDDCDDDCCDDCDCDDCDDDDCDCDCCDDDDDDCCDCCCDCDCDDDDDDCDDDDDDDCDDCCDCDCCDDDDDDCCDDDDCDCCCDDCCDCDDCDCDDDCDDDDDDDCCCCDDDDDDCDDCDCCDDDCCDDCCDDDCDDCCDDCCDDCCDDDDCCCDDDCCCDCCDCCDCCDCCDCDCDCDDCCDCDCCDCCDCCCCDDDCDDDDCCDDDCCDDDDDCDDCDCDDDCCCCDDDDDDDDDCDCCDDDDDCCDDDDCDCCDDCDDCDCDDDDCDDCCDDDDCDCCDDCDCCCDDDDCCCCDDDCCDCDCDCCCCCCDDDDCCCCDDCDDCCDCCDDCCDCDCDCDDCCCCCDCCDDCCDDCDCCCDCCCDCCDDDDDCCCDDDDDCDDDDCCCCCCCDDCDDDCDCCCDDDDCCDDDCCCCDDDCCCDDDDCCDDCDDDDDCDDDDDDDDCDCCCDDDCDCCCCDCDDDCCDDDDDDCCDDDDDCCCDCCDCCDDCDCDCCDDCCDDCCCCCDCDCCDCCDCCCCCDCDCCDDDDCDDCDDDDCCDCDCDCCDCCDDCCDCCDDDCDDCCCCDCCDCDCCDDCCCDDCCDDCDCCCDCCDCDDCCDDDDDDDCDCDDCDCDCDCDDCDCCCDDDCCDCCDDDCCDCDDDDDDDCCDDDCDCDDDDCDCDDDCCDCDDCDDDCCDDDDDCCDDCCDDCCDDDDCDCCDDDCCDCCDDDDDDDCDCDCDCDDDDCDDCDDDCDCDDDCDDCCCDDDDDCDDCCCDDCDDCDDDCCCDCDDCCCCCDDCCDDDCCDCCCCDCDDCCDCCDDCCCCCCDCDDDCCCDCCCCCDCCCCDCCDDDCCDDCDCCCCCDCDCDCDCCDDCCDDDDDDDDCDDCDDCCCCCCCDDDCCCCDDCCDCDDCCDDDDDCCCDCCDDCCDDCDDCDDDCDCCDDDCCDDCDDDCCDDDDDDCCDDCCDDDDCDCCCCDDDDCCDDDDDCCCCCCCDCCDCDDDCCDCCCDCDDDCDDDDCDCCCCDDCCCCCCDDCDCDCCCDCDCDCCDDDDCCDCDCCDDDDCCDDCDCDCDDDCCCCCDCCCDDDDDCCDDCDDDCCCDDCDDDDCDDDCDDCDDDCCDDCDCDDDCCDCDDDDDDCDCCDDDCCDCDDCCCDDCCDCCDCCCCCDDDDDCDDDDDDCCDCDDDDDCDDCCDCCDCDDDDCDDCDCCCDCCCDCCCCCCCCCDCCCCDDCCCDCCDCCDCCCCDDDCDDDCCCCDDDDCDCDDDDDCCDDDDDDDDDCDDCDDDCDCDDDCDDDDDDDDDDDDDCDDDDDDDDDDCDDDDDDDDDDCCDDDCDDDDDDDDDDDDDDDDCCCDCDDDDDDDCDDDDDDCDCCDCDDDDDDDDDCDDDCDDDDDDDDDDDDDDDDDDDDDDDCDDDDDCCCDDDDDDDDDCDDDDDDDCCDDDCDCDDDDDDDDDCDDCDDDCDDDDDDCDDCDDDDDDDDCDDDDDDDDDDDCCDCCDCCDDDDDDDDDCDDDDDCDCDDCDCDCDDDDDDDDDDDDDDDDDDDDDDDDDCDDDDDDDCDDDCDDDDDDCDDDDDDDDDDDDDCDDCCDDDCDDDDDCCDDCDDDCDDDDCDDDCCDDCDDDCCCDDCCDCDDCDCDDCCCCDDDDDDDDCDDCDDCCCCCDDDDDDDDDDDDCDDCCCCDCDDCCDDDDDDDDDDDCDDDDDCCCDCCDDCDDDCDCDDDDDCDDDDDDDDDDCDDCDCCDDCDDDDDDCCDDDDDDDCDDDDCDDDDDDDCCCDDDDCCDCCCDCDDCCCDCDDDDCDDCCDCDDDDDDCDDCCDCCDDCDDDCDDDCDDDCDDDDDCCDDDDDCDDDDDCDDCDCDCCCDDCDCCDDDDDDDDDDCDCCDCCCCCDCDDDCDDDDDDDDDDDCDDDDDDDDCCDDDCDDDDDCDDCDCDDDCCCCDDDDCCDDDCDDCDDDDCDCDDDDDDDCDDDDDCDDDDCCCDDDDDDCDCCDCDCDDCDDCDDDCCCCDDDCCDDDDCDCCDDDCDCDDDDDDDDCDDDDCCDCDCDCDDDDDDCDDCDCCDCDDCDDCDDDDCCCDCDCDDCDDDCDDCCCDDDDCDCCDDCDDCCCCDDDCDDCDCDCDDDDCCCDCCDDCCDCDCCCCCCCCDDDDDDDDCCDDDDDDCCDDDCDDCDCCDCCDDDCDCCDDDDDCDDDCDDCCDDDDCDDDDDCCDDDDCCDCDDCDDDDDCDDCCDDCCDDDDDCDDCDCDDDDDDCCDDCCDDDDDCDDCDDDDCCCDDCDDDCDDDDCCDCCDDDCDDDDDDDCCDDDDDDCDCCDCDDDDCDDCCCDDDDCDCDCCCDDDDDCDDDDCDDCCDDCDCCCCDDDCCDCCCDCDCCDDCDDDCDCDDCDDCDCCCDCDCCCDDDDCDDDCCCDDDDCCDCCCDDDCDCCDDDCCDCCCCDDCCDCCCDCCDDCDDDDDCCCDCCCCDDCDDDCDCDDCDDDDCDCCCDCCCCDDDCDDDCDDCCDCDCCDDCDDDDDDDDCDDCCCDDDCCCDDCCDCCDCDDDDDDDDDDDDDDDDDDDDDDCDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDCDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDCCDDDDDDDDCDDDDDDDCDDDDDDDDDDDDDDDDDDDDDDDDCCDDDDDDDDDDDDDDDCDDDDDDDDDDDDDCDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDCDDDDDDDDDDDDCDDDDDDDDDCDDDDDDDDDDDDDDDDDDCDDDDDDDDCDDDDDDDDDDDDDDDDDDCDDDDDDDDDDDDDDDDDDDDDDDDCDDDDDDDDDDDDDDDDDCDDDDDDDDDCDDDCDDDDDCDDDDDDDDDDDDDDDDCCDDCCDDDDDDDDDDDDCCDDDDDDDDDDDDDDCDDDDDDDCCDDDDDDDDDDDDDDDDDDDDDDCDDDCCDDDDDDDDDDDDDDDDDDDDDDDDDDDCDDDDDDDDDDDDDDDDDDDDCDCDDDDDDCDDDCDDDDDDDDDDDDDDDDCCDDDDDDCDDDDDDDDCDDDDDDDDDDCCDDDDDCDDCDDDDDDDDDDDCCDDCDCCDDDDDCDCDDDDDDDDCCDDDDDDDDDDDDDCDDDDDDDDDDDDDDDDDDDDDDCDDCDDDDDCCDDDCDDCDDDDDDCDCDCDDDDDDCDDDDDDDDDCDDDDDDDDDDDDDDDDDDDDDDDDCDDCDDDDDDDDDDDDDDDDDDDDCDDDDDDDCDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDCDDDDDDCDDDDDDDDDDDCDCDDDDDDDDDDDDCDDDDDDDCCDDDDCDDCCDDDDDCDDDCCCDDDCDDDDCDDCDDCDDDDDDDDDDDDDCDDDCDDDDDDDDDDDDDDDDCDDDDDDDCDDDDDDDDDDDDDDDDDDCDDDCCDCCDCDDDCCDDDDDDDDDDDDDDDCDDDCCDDCDDDDDDDCDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDCDDDDDDDCCCDCDDCDDDCDDDDDDDDDCDDDDDDDDDDDDDDCDDDDDDCDCDDDCDDDDCDDDDDDDDCDDCDDDDCDDDDCDDDDDDDDDDDDDDCDCDDDDDDCDCDDDDDDDDDDDCDDDDCDDDDDDDCDDCDCDDCDCCCDDDDDDCCDDDDDDDDDCDCDCDDCCDDDDDCCDDDDDCDDDDDCCCDDDCDDDDCDDDDDDCDDDDCDDDDDCCDDDCCCCDDCDDDCCDCDDDCDCCDDDDDDDDCCCCDCDDDDCDCDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDCDDDDDDDCDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDCDDDDDDDDDDDDDDDDDCDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDCDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDCDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDCDDDDDDDDDDDDDDDDDDDDCDDDDDDDDDDDDDDCDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDCDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDCDDDDDDDDDDDDDDDDCCCDDDDDDDDDDDDDDDDDCDDDDDDDDDDDDDDDDDDDDDDDDDCCDDDDDDDDDDDCDDDDDDDDDDDDDDDDDDDDDDDDDDCDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDCCCDDDDDDDDDDDDDDDDDDCDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDCDDCDDDCDDDDDDDDDDCDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDEDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDEDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDEDDDEDDDDDDDDDDDDEEDEDDEEDDEDDDEDDDDDDDDDDEDEDDDDDDDDDDDDEDDDEDDDDDDDDEDDDDDDDDDDDDDDDDDDEDDDDDDDDDDDEDDDDDDDDDDDDDDEDDEDDDDDDDDDDDEDDDDDEDDDDEDDDDDDDDDEEEEDDDDDDDEEEDDDDDDDDEDDDDDEDDDDDDDDDDDDEDDDDDDDDDDDEDDDDDEEDDDDDDDEDDDDDDDDEDDEDDEEDDDDDDDDDEDDDDDDDDDDDDDDDDEDDDDDDDDDDDDDDDDDDDDDDDDDEDDDDDDDDDDDDDDDDEEDDEDDDDDDDDDDEDDDDDDDDDDDDDDDDDEDDDDDDDDDDDEDDDDDEEDDDDDDDDDDDDDDDDDEDDDEEDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDEDEDDDDDEDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDEDDDDDEEDDDDDDEDDDDDEDDDDDDDDDDDDDDDDDDDDDDDDDDDDEEDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDEDDDDDDDDDDDDDDDDDDDDDDDDDEDDDDDDDDDDDDDDDDDDDDDDDEDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDEDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDEDDDDDEDDDDDDDDDDDDDDDEDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDEDDDDDDDDDEDDDDDDDDDDDDDDDDDDDDDDDDDDEDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDEDDDDDDDDDDDDDDEDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDEDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDEDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDEDDDDDDDDDDDDDDDDDDDDEEEEDDDEDEEDEDDEDDEDEDEEEDEEDEEEDEDDDEEDDEEEEEDDDDEDDEDDEEDDEDDDDEEDEDEDDDDDDDDDEDDDDDEDDEDDEDEEEEEDDEEDDEDEDEDDDDDEEDDEEDDDDEDEEDEEDDDDDDDEEEDEEDDDEDDDDEEDEDDDDDDDDEEEEDDDDDEDDDDEDDDDDDDEEDEEEDDDDDEEDEEEDDEDDDEDEEDDEDEDDEDDDEEEEEDEEDDEEEEDEEDDEDEEDEDDDDEDDDEEEDDDDDDDDDDDDDEDDEDDEEEEDEDDDEDDEDDDEDEDDEDEDDDDDEEEEEEDDDDEEDDEEEDDDDEDDDDDDDDEDEEEEDDDDDDDDEEEDEEDEDDDDEEDDEDDDDDEEDDDDDEEDDDEDDDDDDEDEEEDDDEDDDDDDDDEDEDDDDDDDDDDDEDDEDEDDDDDEDDDEDEDDDDEDDEDDEEDEEDDDDDEDEEDDDDDEDEEDEEDEDDDDDDDDDDDEDDDEDDDDDDEDDEDDDEDEDDEDDEDDDEDDDDDDDDDDDEEDEDDEDDDDDDDEDEDDEDDDEEDDDEDEDDDDDDEDDEDEDDEDEDEDDEDDEDDEDEEDDDDDDEDDDDDDEDDDEEEEDEEDDDDEDDDEDEDDEDDDEDEDDEDDDDEDDDEDDDDDDDDDDDDDDDDDDDDEEDDDDDDDDDDDDDEDDEEDDDDDDDDDDEDDDDDEDDDDDEDDDDDEDDEEEDDDDDDDDEDEEDDDEEDDDDDDEDDDEDDDEDEEDDDDDEDDDEDEDDDDEEDDEEDDDDEDEEDDDDDDDDEDDDEDDDDDDDDEEEEDDDDDDEDDDDEDDDDEEDDEDEEDDDEDDDDDDDEDDDDDDDDDEDDDDDDDEEDDDEDEDEDDDDDEEDDDDDDDDDDDDDDEDDDDDDDDEEDEDDDDDDDDDDDEDEEDDDDDDDDDDEDDDDDDEDDEDDDDDDEDDDDDDDEEDDDDEDDDDDDDDDDDDDEDDDDDDEDDDDDDDDDDDDDDDDDEDEDEDDDDDDEEDDDDDEDDEDEDEDDDDDDDDDDEDDDDEEDDDDDDDDDEDDDDDDEDDDEDDDDDDDEDEEDEDDDDDEDDDDDEEDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDEDDDDDDDDDDDDDDDEDEDDDEDDDDDEDDDDDEDDDDEDDDEDDDDDDDDDDDDDDDDDDEDDEEDDDEDDDDDDDDDDDDDDDEDDDDDDDDDEEDDDDEDDDDDDDDDDDDDDDDDDDDDDDDEEEEDDDDDDDEDDDDDEEDDDDEEEEDEEDDDEEEDDEEEEDEDEEDDEEEEDEEDEEEEDDDEEEEDEEDEEDDEDEEEDDDEEDDDDEEEEEEDEEDDEEEEDEEDEEDDDEEEEEEEEEDEDDEDEEEEEDDEEEEEEDDEEEEEEEEEDEEEEEDEDEEEEEEEEEEEEEEDDDEEDEEEEEEEEEEEDDEEEEEDDDEEEEDDEEEEDEDEEEDDEEDDEDDEEEEEEEEEDDDDEEDEDDEEEEDEEDEEEEDEEEEDEDDEDEEEDDEEEEDDDEEDEDEDEEEEDEEDEEDDEDEEEEEEEEEEDDEEEDEDDEDEDDDEEEDEEEEEDEEEEDEDDDEEEDDDEEDEEDDEDDDDEEDDEEEDDEDDEEEEDEEDEDEEDDEEDDDEDDDDEDDEDDEDDEEEEEEDDDDDDDDEEEEEDDEDDEDDEEEEDDDDDDEDEDDDEEDEEEDEEEEEEEDEEDDEDDEEEEDEDDEDDEDEEDDEEEDDEDDDEEDDEEDEDDEDDEEEEEDDDDDEDEDDEEEEDDEDEDEEEDEDDEEDEEDEEDEEEDDEEEEEDEDEDDEEDDEEEEEEEEEDEEEEDDDDEEEEEDEEDDDDEEEEEEDDEDDDEEDEEDDEEEDEEDDDEDDEEDDDDDDDEEDDEDEDDDDEDEDDEEEDEDDEEEDEEEEDDEDDEDDDDDEEEEEDEDDEEEDDEEDEDDDEEDEEDDEEDDDEDEEDEEDDEDDDDDEEEEEDDDEEDEDEEDEDDEEEDDDEEEDEEDDEDDDDEDEEEEEDDDDEEEDEDDEDDDDEDEDDEEDDDDDDEEDDEDDEDDDDDEEEDDEDEDEDEDDEDDEEDDDEEEDDDDEDDEDEEDDDEEDDEEDDDEDEEDEEDDDDDDEDDEDDDEEDEDEDDEEEEEEEEEDEDDDEEDEDDEEDDDDEDEEDDEEDEDEEDDEDDDDEDEEDDEEEEEDEEDDDEEEEDDEEEEDDDDEDDDEDEDEDDDDEDDEDEEEEDDDDDDEDEEEDDDDEDDEEEEDDDEEDDDDDEDDDDEEEDDDDDDDDDEEEDEEDEDDDEEDDDDDDDDDDEEDEDDEEDDEEDDDEDEDDEEDDEDEEDEDDDDDEEEEDEDDDDDDDEDDDDEEDDDEEEDDEEEDEDDEEEDDDEEDDEEEEEDEDEEDDEDEDEDEDDEEDEDDDDDDDDDDEEEDDEEEEDDDDDDDDDDDEEEDEDDDDDDDDEEEEDDEDEEDDDEDDEDDEDDDDEEEEDDEDEEDEDDEDDDDDEDDDEEDDEEDEDDDEEDDDDDEDEDDDDEEDEEEEDEEEDDEEDEEEDEDDEEEDEEDEEEEEEEEEEEEEEDEEEEEEEEEEEEEDDEEEDDDEEEEEEEEEEEEEEEEEEEEEEEDEEEEEEEEEEEEEEEEDEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEDEDEEEEEEEEEEEEEEEEDEEEEDDEEEEEEEDEEEEEEEEEEEEDDEEEEEEDEEDEEEEEDEEEDEEEEEEEDDEEEEEEEEDEEEEEDEEEDEEEDEEEEEEEEEEEEEEDEEEEDEEEEEEEEEEEDEEEEEEEDEEEEEEEEEEEEEEEDDDEEEEEEEEEEEEEEEEEEEEDEEEDEEDEEEEEEEDEEEEEEEEEEEEEDEEEDEEEEEEEEDEDEEEEEDEEEEEEEEDEEEEDDEDDEEDEDEEEEEEDEEEEEEEEEEEEEEEEEEEEDEEEEDDEEEEDEEDEEEEEDEEEEEEDEEEEEEEEEDEEEDEEDEEEEEEDEEDEEEEDEEEEDEEEEEEEEEEEEEEEEEEEEEEEEDEEDEEEDDEEEDEDDEEEDEEEEDEEEEEEDEEEEEEEDDEEEEEDEEEDEEEEEEEEEEEEEEEEEEEEEEEEEDEEDDEEDDEEEEDEEEEEEEEEDDEEEEEDDEDEEEEDDEEEEDDEEEEEDEDEEEEEDEEEDDEDEEEEEEEEEEDEEEDDEEEEEDEEEDEEEEEEEEEEEEEEEEEDEEEEEEEDDEDEEEEEEEEEEEEEEEEEEEEEEDEEEEEEEEDDEEEEEEEEEEDEEEEEDDEEDEEEDEEEEEDEEEEDEEEEEEEDEDEEDEDEEDDEEEEEDDEEEEEEEEEDEEDEEEEDEEEEEEDDEDDEEEDEDDEEEEDEEEEEEDDEEDDEEDEEEDEEEEDEEEDEEDEEDDEDEEEDEEDEEEEEEDEEEDEDEEEEDEEDDDEEEEDEEEDEEEEDEEDDEEEEEDDEEEEDDEEDEDEDDDEEEEEDDEEEDEDEEEEEEEDEEDDDDEEEDDDEEEEEDEEDDDEDDEEEEDEDEDEEEDDEEEDEEEEEDEDDEEEEEEEDEEDDEDEEEEEDEDEDDDEEDDDDDDDEEDEEDDEDEEEEEEEDEDDDDDDEDEEEDDEDEEDEEEEEDEDDEEDEEDDDEEEEEEDEEEEEEEDEEDDEDEEEEEEEDEDDEEEEEDDEEEDDEDDEEDEDEEDEDEEDDEDEEEEDEEEEEDDEDEDEEEDEEDEEEDEEDEEEEEDDDDEEEEEEDDDEDEEDEDEEEDEEEDDEEDEEEDEDEEDDEEDDEEEEEEEEEDDEDDDDEEDEEEDDEEDEEEDDEEEEEDEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEDEEEEEEEEEEDEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEDEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEDEEEEEEEEEEEEDEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEDEEEEEDEEEEEEEEEEEEEEDEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEDEEEEEEEEEEEEEEEEEEDEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEDEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEDEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEDEEEEEEEDEEEEEEEEEDEEEEEEEDEEEEEEDEEEEEEEEEEEEEEEEEEEEEEEEDEEEEEEEEEEEEEEEEEEEEEEEDEEEEEEEEEEEEEEEEEDEEEEEEEEEEEEEEEDEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEDEEEDEEEEEEEEEEEEEEDEEEEEEEEEEEEDEEEDEEEEEEEEEEDEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEDEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEDEEDEEEEEEEEDEEEEEEEDEEEEEEEEEEEEEDEEEEDEEEEEDEEEEEEEDDEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEDEEEEEEEEDDEEEEEEEEEEDEEEEEEEEEEEEEEEEEEEDDEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEDDEEEEEDEEEEEEEEEEEEEEEEEEEEEDEEEEEEEEEEEEEEEEEDEEEEDEEDDEDEDEEEEEEEEEEDEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEDEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEDEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEDEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEFEEEEEEEFEEEEEEEEFEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEFEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEFEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEFEEEEEEEEEEEEFEEEEEEEEEEEEEEEEEEEEEEEEEFEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEFEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEFFEFEEEEFEEFEEEFFFFEFEEEEEEEEEEEFEEEEEFEEEEEEEEEEEEEEEFFEEEEEFEEEEEEFEEEEEEEEEFFFEEEEEFEEEEEFEEEEEEEEEEEEFEEEEEFEEEEEEEEEEEEEEEEEEEEEEEEEEEFEEFEEEFEEFEFEEEFEFFEEEEFEEEEEFEEFEEEEEEEEEEEEEEEEEEEEEEEEEEFEFEEEEFEEEEEFEEEEEEEEEEEEEEEEEEEEEEEEEFEEFEEEEEEEEEFEEEEEEEEEEEFEEEEEEEEEEEFEEFEEFEEEFEEEEEEEEFEEEEEEEEEEEEEEEEEEFEEEFFEEEEEEFEEEEEFFFEFEEEEEEEEEEEEEEFEEEEFFEEEEEEEEEEEEEFEEEEEEEEEEEEEEFEFEEEEEEEEFEEEEEEEEEEEEEEEEEEEEEEEEEEEFEEEEEEEEEEFEEEEEEEEEEEEEEEFEEEEEEEEEEEFEEEEEEEEEFEEEFEEEEEEEEEEEFEEEFEEEEEEEEEEEEFEEEEEEEEFFFEEEEEEEEEEEEEFEEEEEFEEEFEEEEFEEEEEEEEEEEEEFEEEEEEEEFFEEEEEEEEEEEEEFEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEFEEEEEEEEEEEEEEEFEEEEEEEEEEFEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEFEEEEEEEEEEEEEEEEEEEEEEEEEEEEFEEEEEEEEEEEEEEEEFEEEEEEEEEEEEEEEEEEEEFEEEEEEEEEEEEEEEEEEEEEEEEEEEEFEEEEEEEEEEEFEEEEEEEEEEEEEEEEEEEFEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEFEEEEEEEFEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEFEEEEEEEEEEEEEFFEEEEFEEEEEEEEEEEEFEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEFEEEEEEEEEEEEFEEEEEFEEEEEEEEEEEEEEEEEEEEEEEEFEEEEEEEEEEEEEFEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEFEEEFEEEEEEEEEEEEEEEEEEEEEEFEEEEEEEEEEEEEFEEEEEEEEEEEEEEEEEEEEEEFEEEEEEEEEEEEEEEEEEEEEEFEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEFEEEEFFEFEFEFFFEFEFEEFEFEEFEFEEEEEFFEEEFEFEEFEFEEFFFEEEEFEFFEEEEEEEFFEEEEEFFEEEEFFFFFFEEEEEFEFEFEEEEEFEFFFEFFEEFFFEEEFFFEEEEEEEEEEFEFEFEEEFEEFFEEFEFEEFEFFEEEEEEEEFEEEFEEFEEFEEEEFFFEFFEFEEEFFEEEFEFEEEEEEEEFEFFEEEEEFFEEFEEFEEEFEEEEEEFFFFFEEFEEFFEEEEEEFEEEEEFFFFFFFEEEEEEFEFFEEFEFEEFFFEEFEEFFFEEEEEFEFFFFEEEEFFEEEEEFEEEEFFFEEEEEEEEEFFEEFFEFEFEFFEEFEEEEFEEFFEEEEFEEEFFEEEEEFEEFFEEEFFFEEEEEEEEEFEEFEEEEEFEFEEFEFEEEEEFFEEFEFEFEEFFFFEEFFEEFFEEFEEEEFEFFEFFEFFEEFEEFEEEEEEEEEEFFEEEFEFEEEEEEEEEEEEFFEEFEEEFFFEEFEFFEEFFFEEEEFEEEEEEEFEEEFFFEEEEEEEEEFEFFFFEFFEFEEEEEEEEFEFEEEEEEEFFEEFFEFEEEEFEEEEFEEEEEEFEEEEEEEFEEFEEEEFEEEEEEEEEEEEEEEEEFEFEFEFEEEFFEFEEEEEEEEEEFFFFEEFEEEEEEEEEEFEFFEEEFFEEFEEEEEEEEEEEEFEFFEFEEFEEFFFFFFEEEEFEFEFEEEEEEEEEEEEEEEFEFFEFEEEFFFEFEEEFEEEEEEEEEEEFEFEEEEEEFFFFFEEEEFFEEFEEEEEEEEEEEEEEEFEFFFEEEEEEEFEEEEEFFEEEEEEFEEEFEEEEEEFEEEEFFEEEEFEEEEEEFEFEFEEEFEEEEEEEEFEFEFEEEEEFEEEFEEFEFEEEEEFEEEFFFEEEEFEEFEEEEEEEEEFFEEEEEEFEEEEEFEEEFEFEEEEEEEEEEEEEEEEEFFEEEFFEEEEEEEEEEEEEEEEEEEEEEFEEEEEEEEEEEEEFFEEEFEEEEEEEEEFEEEFEEEEEEFEFFFEEEEEEEEEEEFEEEEFEEFEEEEEEFEFEEEFEFEEFEEFEEEFFFEEFEEEEFEEEEEEFEEEEEEEEEEEEEFEEFEEEEEEEEFEFEEEEEEEEEEEEEEEEEEEEEEEEEFEFFEEEEFEFEEEEEEEEEEEFFEEEEEEEEEEEEEEEFEEEEEEFEEEEEEEEEEEEEEEFEEFEFFFEEEFEEEEEEEEEEEEFFEEEEEEEEEEEEEEEFFEEEFEEFEEEFEEEEEEEFEEEEEEFEEFFFFEFEFFFFFFEFFFFEFFFFFFFFFFFEFFFEFFFEEEFFEEFFEFFEFFEFFEEFFFEFFFFFFFFFFEFFFFEFEFFFFFFFFFEFFFFEFFFFEFFEFFFFFFFEFFFFFEEFFEEFFEEEEEFFEEFEFFFFEFEFEEFEFFEFFFFEFFFFFFEEFEFFEEEFFEFFFFEEFFEFFEEFEFFFFFFFEEFFFEEEFFEEEFFFFEEEFFFFFEEFFFEFFFEFFFEFFEFFFFFFEEFEFFEEFFEFEFEFFFFFFFFEEFEFEFFEFEFFEFFEFEEFFFFEEEFFEFEEFEFFFEEFFFFFEFFFEFEFFFEFFFEEFFEEFEFFFFEFFFFEEEFEEEEEEEEFEEFFFEFEFFFFFFFEFEEEEEEFEFFEEFFEEEEEFFEFEFEEEFEFEFEFFFEEFEEFFFFFFFFFEEEFEFFFFEEEEFEEFFFFEEFFFFEFFEEFFEEFFFFFEFFEFEEFFFEEEFFFFEEEFFFFFFEFFEFFEEFEFEFFFFFFEFEFFFFEEFEEEEFEFFEEEEEFFEEFFFEEEFFEFFFEFEEFFEFFEEEFEFFEEEEFFFEEEFEEFFEFFFEEFFFEFFFFFEEFFEFFEEFEEFEEFFEFEEFEFEEFFEFFEFFEFFEEFEEEEFEFFFFEEFFFFEEEFFEEEFEFEEFEFEEFEEFFEFFFFFFFEFEEEFFEFFEFFEFEFFFFFEFFFFEFEFFEEFEEFFFFEEEFFEEFEEFEEEEFFFFFFFFFEFFEEFEEEFFEFEEFEEEEEFFFEEFFFFEFEFEEFEEFFFFEEEFFEEFEEFFEEEEFFFEEEEEEEEFFFEEFFFEEFEFEEEEEEEEEEEFEEFEEFEEFFFEEFEEFEFFEEFEFFFEEEEEEFEFFFFEEEEEEFEFEEEFFEEEFFFFEFFFEFFEFFFEEEFFFEFFEEEEEEEFFEFEFEFEFEEFFEFFFEFEEFEEEEFFEEFFFFFEFEEEEFEEEEFEEFFEEFEEEFEFEFFFFFFEEEEEEFEFEFFEEEEFEEFFEFFEFEFFEFFFFFEEEEEEEEEEFEFEEEEEEEEFFEFEEFEFFEFEEEFEEFEEFEFFFFEFEEEFEEEEEFEEFFEEEEFFEEEEEEEEEEEEFEFEFFEEEEFFFFEEFEFEEEEEEEEEEEFFEFEEFEEFFEEEEEEFFFEEEFEFFEEEEFEEFFEEEFEFFEEEEFFEEEFEFEEFEFFEEFFEFEEFFFFEEEEEEEFFFEEFFFEFEEEEFFFFEFFEFEEEEEEEFFEEEEEEEFEFEFFEEEEFFEEEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEEFFFFFFFFFFFFFFFFFFFFFFFFFFFEFFFFFFFFFFFFFFFEFFFFFFFFFFFFFFFEFFEFFFFFEFFFFFFFFFFFFFFFFFFFFFEEFEFEFFFFFEFEFFFFFFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEEFFFFFFEFFFFEEFFFEFFFFFEFFFFFFFFFFEFFFFFEEFFFFFEFFFFEFFFFFEFFEFFFFFFEFFFFFFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFFFFFFFFFEFFFFFFFFEEFFFEFFFFFFFFFFFFFEFEFFFFFFFFEFFFFFEFFFFEFFFFFFFFFEEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFFFFEFFFFFFFFEFFFFFFFFFEFFEFFFFFFFFFEFFEFFFFFFFFFFEFFFFFFFFFEEFFFFFFFFFFFFFFFFFFFFFEEFFFFFEFFFFFFFFEFEFFFFFFFFFFFFFFFFFEFFEFFFFFFFFFFFFFFFEEFFFFFFFFFFFFFFFFEEFFEFFFFFFFFFFFFFFEFFFFFEFFFFFFEFFFFFFEFFFFFEFFFFFEFFFFEEFFFFFEFFFFEFFFFFFFEEEFFEEFFFFFFEFFEFFFFFEFFFEFFEFEFFFFEFFFFFFFFFFFEFFFEFFFEFFFFFFFFEFFFFFFEEFEFEFFFFEFFFFFFEFFEFEFFEFFFFEFFFFFEFFFFFFFEFEFFFFFFFEFFFFFFFFFFFFEEFFFFFFFFFFFFFFFFFFEFFFFFFEFFEEFFFFFFFFFFFFFFFEFFEFFFFFFFFEEEFFFEFFFFEFFEEFFFFFFFEFEFEEFFFFFFFEEEFFFFFFEFEFFFFFEFFEEFFFFEEEFFFEEFFFFFEEFFFFFFEEFEEEEEFFFFEFEFFFFFFEFFEFFFFEFFEEEFFFEFEFFFFFFFFFFFEFFFFFEEEEFFFFFFFEEFEFFFFFFFEFFFFFFEEEFEFFFEFFFEFFEFFFEEEFFEFFFFFFFEFFFEFFEFEEFFFFFFFFFFEFFFFFFFEEFFEEFFFFFFFFFFFEEFFEFFEEFFFFFEFEFFFFFFFEFFEFEEFFFFFFFFEEEFEEFFFFFFEFFFFFFEFFFFFEFFFFFEFFFEEFFFEFFFFFEFEFFFFFEEFFFEFFFFFFFEFFFFFFFFFFFFFFFFFFFFEFFEFFEEFEFFEEFFFEFEEFFEEFFEEEEFEFFEEFFEEEFFFEEFFFEFFEEFFEEEEFEFFEFEEFEEEFEFFEFFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFFFFFFFFFFFFFEEFFFFFFFFFFFFFFFFFFFFFFFFFFFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFFFFFFFFFFFFFFFFFFFFFEFFFFFFFFFFFFFFFFFFFFFFFEFFFFFFFFFFFFFFFFFFFFFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFFFFFFFFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFFFFFFFFFFFEFFFFFFFFFFFFFFFFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFFFFFFFFFFFFFFFFFFFFFFFFFFFEFFFFFFFFFFFFFFFFFFFFFFEFFFFFFFFFFFFFFFFFFFFFFEFFFFFFFFFEFFFFFFFFFFFFFFFFFFFFFFFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEEFFFFFFFFFEFFFFFFFFEFFFFFEFFFFFFFFFFFFFEFFFFFFFFFFFFFFFEFFFFFFFFFEFFFFFFFFFFFFFFFFFFFEFFFFFFFFFFFFFFEFFFFFFFFFFFFFFFFEEEFFFFFFFFFFFFFFFFFFFFFFFFFFEFFEFFFFFFFFFFFFFFEFFFFFFFFFFFEEFFFFFFFFFFFFFFFFFFFFFFFFFFEFFFFFEFFFFFFFFFFFFFFEFFEFFEFFFFFFFEEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFGFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFGFFFGFFFFFFFFFFFFGFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFGGFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFGFFFFFFFFFFFFFFFFFFFFFFFFFFFGFFFFFFFFFFFFGFFFFFFFFFFFFFFFFFFFFFFFFFGFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFGFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFGFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFGFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFGFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFGFFFFFFFFFFFFFFFFFFFFFFFFFFFGFFFFGFFFFFGFFFFFFFFFFFFFFFFFFFFFFFFFGFGGFFFFGFFFGFFFFFGFFFGGFFFFFFFFGFFFFFFFFFFFFGFFFFGGGFFFFFFFFFGFFGFFFFFFFGGGFFFFFFGFFFGGGFFFFFFFFGFFFFGFFFFGFFFGFFFFFFGGFFFGGFFFFFFFFGFFGFGFFFFFFFFFGFFFFFFFGFFFFFFFFFFFGFFFFFFFFFFGFFFFFFGFFFFFFFFFFGFFFFFFFFFFFFFFFGFFFGFGFFFFFGFFFFFGFFFGFFFGGFFFFGFFFFFFFFFFFFFFFFGGFFGGFFFFFFFFFFGFFFGGFFFFFFFFFGGGGFFFFGFFFGFFFFFFGFFFFFFFFFFGGGFFFFFFFFFGGGFGGFFFFFFGFFFFFFFFFFGFFFFFFFFFFFFFFFFFFFGGFFFFFFFFFFFFFFFFFFGFFFFFFFFFFFFFFFFFFFGFFFFFFFFFFFFFGFFFFFFFFFFFFFFFFFFFFFFFFFFFFFGFFFFFFFFFFFFFFFFFFFFFFFFFFFFGFFFFFGFFFFGGFFFFFFFFGFGFFFFGFFFFFFFGGFFFFGFFFFFFFFFFGFFFGFFFFFFFFFFFFFFGGFFGFFFFFFFFFFFFFFFFGFFFFFFFFFFFFFFFFFFFFFFGFFFFFFFFFFGFFFFFFFFFFFFFGFGFFFFFFGFFFFFFFFFFFFGGFFFFFGFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFGFFFFFFFFFFFFFFGFFFFGFFFFFFFFFFFFGFFFFFFFFFFFGFFFFFFFFFFFFFFFFFGFFFFFFFFFFFFGFFFFFFFFFFFFFFFFFFFFFFFFFGFFFFFFFFFFFGGFFFFFFFFFFFFFFFFGFFFFFFFFFFFFFFFFFFFFFFGFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFGFFFFFFFFFFFFFFFGFFFFFFFFFFFFFFFFGFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFGFFFFFFFFFFGFFFFFFFFFFFFFFFFFFFFFFFFFFFGFFFFFFFFFFGFFFGFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFGFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFGFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFGGGFGGFGFFFGGFFFGFGFFFFFFFFGFGGFGFFFGGGFFFFGFGFGFFFFFFFGGGGFFGFFFFFFFFFGFGGFFFGGGGGFFFGFFGGGGGGGFGFFFFGGFFFGGGFGGFGGFFGGFFFFGGGFGFFFGFFGGGFFGFGFFFFFFGGGGFFFFGFGFFGGGFFGFGGFFFFGGFFFGFFFFGFFGFFFFFFFFFFGFFGGGFGFFFFGFGGGFFGFFGGGFFGFFFGFGFFFFGFFFFFFFGGFFFGGGFFGFGGGFGFGGFGGFGGFGGFFGFGGFFFFFFFFFFGGGFFGGGGFFFFFFFFFFFGGFFGFFGFFFFFGGGGFFGFGFFFFGFFGFFFFFFFGGGFFGFFGFFFGGFFGFFFFFFFFFGGFGGFFFFFFFGGFGFGFFGGFFGFGFFGGFFFGFFFGGFFFFFFFFGFFGFFFFFGFFGFGFFFFFFFFGGFGFFFFFFFFFGGFGFFFFFGFGGFFFGGFFFGFGFFGGGGGGFGGFFGGGFGGFFFFFFFFFFFFGFGGFGFFGFFGGGGGGFFFFGFGFFFFFFFFFFFFFFFFFGFGGGFFFFFFGGFFGFFGGFGGGFGGFFFFFFFFGGGFFFGGFFFFFFFFFGFGGFGGGFFFGFFFFFFFGFFGFGFFFFFGFFFFFGGFGFFGFFGFFFGGGFFFFGFGGFFGFFFFFFGFFFFGGGGFFFFFGFGFGFGFGFFFFFGFFGGFGFFFGGFFFGFFFFFFFFFFFFFFFFFGFFFFFGGFFFFGGGFFFFFGGFGGFGFFFFFFFFFFFGFFFFFGGFFFGGFFFFFFFFFFFFFFFFFFFFGGGGGGGFFFFFFFFFFFFGFGFFGGGFFFFFGGGFFFFFGFFGGFFFFFGGFFFFFFFFFFGGGFFFFFFFFFGGFFGGFFFFFGGFFGFFFFFFFGGFFFFFFFFGGFFFFFGFGGGFFFGGGFFFFFFFFFGFFGFFFFFGFGFFGFGFFFFFGGFFGFGGGFFFFGFFFFFGFFFFFFFFGGFFGFGGFFFFFFFFFGFFGFFFFFGFFGFFFGFFFFGFGFFFFFGGFFFFFFFFGFFFFGGFGFFFFGFFGFGFGFGFFGFFGFFFFFFFFFFFGFFFGFFGFFFFFFFFFFFGFFFGFFFFFFFFGFGFGFFFGGFFFGFFFFFFFFFFFFGGFGFFGGFFGFFFGFFFFFFFFFFGFGFFFFFFFFFFFFGFFFGFFFFFGGFGFFFFGFFFFFFFFFFFFFGFFFFFFFFFFFFFFFFFFFFFFFGGFFFFFFFFFGFFFGGFFGFGGFFFFFFFFFFFFFFGGFGGFGGGFGGFGGGGGFFFGGGFFFGGFFFGGGGFFFGGGGGFFGGGFGFGFGFGGGGFGGGGGGGFFGGGGGGGGGFGGFFGFFFGGFGGGGGFGFFFGGFGGFGFFFFGGGGFGGGFFFGGGGFFGGFGFFFGFGGGFFGFGGGGGGFGFGGGGFFGGFGFGFGFFGGGGFFFGGFFGGFFFGFGGFGFFFFFGGGGFGFGFGGFGGGFFGGGGGFGGGFGFGGGGGGGFGFGFGFFGGGGGGFFFGFGGGGFGFFGFFGGGGFFGGGGFFFFGGGFFGGFGGFGGFGGFGGGGGGGGGGFFFGGGGGFFGFGGGGGGFGGGGGFFFFGGGGGGGGFGGFGGGGFGGFGGGGFGGFFGGGGGGFGGFFGGGGGFGGGGGGGGGGFFGGGGFGFGFFGFGGGGGGGGGFFFGFFFGFGGFFGFGGGGGFGGFGGGGFGFGGFFFGGGGGGFGGFGFGGGGFFGFFGGFGFFGGGGGFFFGGGGFGGGGFFGGGGGGGGGGFGFFFGGFGGFFGFGGFGGGGFGGGGGGFGGFFGFFGGGGGFGGGFFGFGGGFFFGGGGFFFFFFFFGGGFGGGGFFGGGFFFFFFGFFFGGFGFFGGFFGGFFGGFGFFGGGFGGGGFGGFFFFFGGGGGFFGFFGFGGFFFGGFFGGGGFFGGGGGFGGGGFFGGGFFGFGFFFGFGGFFGFGFGGGFFGGFGGGFGFFFFFGFGGGFGGGGFFFFGFFFFGGGGGFGGFFGGGFGGFGFFGFGGFFGFGFGGGGFGGFGGGFGFFFFFGFGGGFGGGGGFGFFFFFFFGGGGFGGGFGGFGFGFGGGFGGGGFFGFGFGGFGFGFFGGFGFFGGGGFFGGGFGFFFFGFGFGFGGGGFGGFFFFGGFFGGGFFGGFFGFGFFGFFGGGFFFGFFFFFFFFGFFFFFFGFGGFGGGGFGFFFFFFGFFGFFGGFFFFFGGFFFGFGFGFGGGFGGGFFGFFGGFGGGGFFFFFGFGFGGFGGFGFGFFFFFFGGFGGFFGFGFFFGGFFFGFFGGFGGFFFGGFFFGFGGFGGGGFFFFFGFFFFGGFFFGFFFGFGFFFGGGFFFFFFGFFFFFGGFFGFFGFGGGGFGGGGGFFFFGGFGGFFFFGFGFGGFFGGGGFFFFGGGGGGFFFGFGGFGFFGFFGGGFGGFFGFFGGGFGGFFGGGFGGGGGFFFFGFFGFFGGFFGFFFFGGFGFGFFFFGFFFGGFFFFFFFFGFFGFGGGFGGFGFFFFFGGFGFFFFFFFFGFFFFFGGFFGGFFGFFFFFFFFGFGGFFFGGGGGFGGFFGGGGFFGGGGGFFGGGGGGGFGGGGGGGGGGGGGGGGGGGGGGGGFGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGFGGGGGGGGGGFGGGGGGGFGGGGGGGGGGGGGGGGFGGGGGGGGGGGGGGGGGGFGGGGGFGGGFGGGGGGGGGGGGGGGGGGGFFGGFGGGGGGGGGGGGFGGGFGGFGGGGGFGGGFGGGGFFGGGGGGGFGGGGGGFGGGFFGGGGGGGGFGFGGGGGGGGGGGGGGFGGGGGGGGGFFGGGGGGGGGGFGGGGGGGGGGGGGGGGGGGFFGGGGGGGGGGGGGFGGGGGGGGGGGGGGGGGGFFGFFFGGGGGGGGGGGGGGGGGGGGGFGGGGGGGFGFGGGGFGGFGGFGGGGGGGFGGFGFGGGGGGGGGGGGGGGGFGGGFGGFFFGGGGGGFGGFGGGGGGGGGGGFGGGGGGGFGFGGGGGGGFGGGGGFFGGGGGFGGGGGGGGGGFFGGGGGGGGGGGGGGGFFGGGGGGGGGGGGGGFGGGGFGGFGGGGGGGFGGGGGFGGGGGGGGGGGGGGGGFGGGFGGGFGGFFGGGGGGGGFGFGGFGGFGGGFFFGGGGGGGGGGGGGFGFGGGFGGGGGGFGGGGGFFGGGGFGGFGGFGGFGGGGGGGGFGGGFGGGFGGGFGGGGGGGGGFGFFGGGGGFGGGGFFGFGGGGFFGGFGGGGGGGGGGGGGGGGGGFFGFGFFGGFGGGGFGGGGGGGFGGFFGGGGFFGGGFFGGGGGGGFGGFGGGGGGGGGGGGGGGGGGGFGFGGFGGFGGGGGGGGGGFGGGGFGFFGGGGGFGGFGGGGGGGGGGFGGGGFGGGGGGGGGFGGGFGGGFGGGGGGGGGGGGGGGGGGFFGGGFFGGGGGGFGGGGGGFGGGGFFGGFGFGGGGGGFGFGGGGGFGGGGFFFGGGGGGFGGGGFGGGGFGGGFGGGFFFGGGGGFGGGGGGFGGFGFGGGGFFFGGFGGGGFGGGGGFGGGGGGGFGGGGFGGGGGFGFGFGFGFFGGGFGFFFGGGGGFGGGFFGGGFFFGGGGGFGGFGGGFFGGFFFFGGGGFGGGGFGFGGGGFGGGGGGGFFGGGFFFGFGFGFFGGGGGGGFGGGGGGGGGGGGGGGGGFGGFFFGGGGGGGGGFGFGGFFGGGGFGGFGGGGFFFGGFGFGGFGGFFGFGGGFFFGGFFFFGGGGGGFGGFFGGGGFGGFGGFFFGGGGGGGFFFGGGGFGGFFFGGFFFGFGGFGFGFFFGFGGGGGFFGFGGGFGGGGGGGFGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGFGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGFGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGFGGGGGGGGGGFGGGGGGGGGGGGGGGGGGGGGGGGGGFGGGGGGGGGGGGGGGGGGGGGGGGFGGFGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGFGGGGGGGGGGGGGGGGGGFFGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGFFGGGGGGGGGGFGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGFGGGGGGGGGGFGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGFGGFFGGGGGGGGGGGGGGGGGGGGGGFGGGGGGGGGGGGGGFGGGGGGGGGGGGFFGGGGFGGGGGGGGGGGGGGGGGGGFGGGFGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGFGGGGGFGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGFFGGGGFGGGGGGGGGGFGGGGGGGGGGGGGGGGGGGGFGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGFGGGGGGGFGGGGGGGGGGGGGGFFGGGGGFFGGGFGGFGGGGGGGGGGGGGGFGGGGGGGGGGGGGFFGGGFFFGGGGGGGGGGGGGGGGGGGGGGGFFGGGGGGGGGGGGGFGGGGGGGGGFFFFGGGGGGGGGGGFGGGGGGGFFFGGGGGGGGGGGGGFGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGHGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGHGGGGGGGGGGGGGGGHGGGGHGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGHGGGGGGGGGGGGGHGGGHGGGGGHHGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGHGGGGGGGGGGGGGGGGGGGGGGGGGGGGHGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGHGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGHGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGHGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGHGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGHGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGHGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGHGGGGGGHGGHGGHHGHGGHGHHHGGGGGGGGGGGGGGGGGHGGGGGHHGGHGGGGGGGGGGGGGHHGGGHGGGGGHHHHGGGGHGGGGGGGHGGGGHGGGHGGGHGGGGGGGGGGGGGGGGHGGHHGGGGGGGHGGHGGGHGGGGHHHHGHGGGGGGGHGGGHGGGGGHGGGGHHGGGHHHHGHGHHGHHGGGHGGGGGGGGHGHGGGGGHGHGGGGHGGGGGGGGGGHGGGGGHGGHGGHGGGGGGGGGGGGGHGGGGHHGGHGGGGGGGGGHGGGGGGGGGGGHHGGHHGGGGGGHGGGGGGGGGGGGGHGGGHGGGGGGGHGHGGGGGGGGGGGGGGGGGGGHGGHGGHGGGGGGGGGGHGGGGGGGGGGGGGHGGGHGGHGHHGGHGGGGHGGHGGGGGGGHGGGGGHHHGGGGGHGGHGHHGGHGGGGGGGGHGGGGGHGGGGGGGGHGGGGGGHHGGGGGGGHGGGGGGGHGGGGGGGGGHGGGGGGGGGHGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGHGGGHGGGGGGGGGGGGGGGGHGGHGGGGGGGHGGHGGGGGGGGGGGGGGGGHGGGGGHGHGGHGGGGGHGGGGGHGGGGGGGGGHGGGGGGGGGGGGGGGGHGGGGGGGGGGGGGGGGGHHGGGGGGGGHHHGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGHGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGHHGGGGGGGGGGGGHGGGGGGGGGGGGGGGGGGGGGGGHGHGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGHGGGGGGHGGGGGGGGGGGGGGGGGGGGGGGGHGGGGGGGGGHGGGGGGGHGGGGGGGGGGGGGGGGGGGGGGGGGGGHGGHGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGHGGGGHGGGGGGGGGGGGGGGGGGGGGHHGGGGGGGGGGGGGGHGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGHGGGGGGGGGGGGGGHGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGHGGGGGGGGGGGGGHGGGGGGHGGGGGGGGGGGGGGGGGGGGHGGGGGGGGGGGGGGGGGGGGGGGGGGGHGGGGGGGGGHGGGGGGGGGGGGHGGGHGGGGGGGGGGGGGGGHGGGGHGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGHHGGGGGGGGHHGHGGGGHHHHHHGHGGHHHHGHHHHGHGGHGGGGHHGGGGHHHGGHHHHHGHGGHGHGGGGHHGGHHGHGHHGGGHHHHGGGHGGGHGGGHHHHHGHGHHGGGHGGHHHHGGGGHHHGGGGGHGHGHHGGGHGGHHGHHHGHHHHHHHHGGHHGGGGHHHGGGGGHHGGGHHHGHHGGHHHGGHHGHGGGHHGGHHHHHGGHHHHHGHGGHGGHHHGGGHGHHGGGHHGHGHGGHHGGHGGGGGGGGHGGGGHGGGHHGGGGGHGGGHHGGHGHHGGGHGGHHHHHGGHHGGGHHGHGHHHGHHHHHHGHGGHGGGHGHHHGGHHHHGHHHGGHGHGGGHGGGGGHHGHGHHHGHGGGGGGGHGHGGGGGGHHHHHHGGGHGHHGGGGGGHHHGGGHHHHGGGGGGGGGGHGGHHGGHGHHHGGHHGGGHGGHGGHGGGGGGGGHHGGGGHGGGGHHHGHGGGHGGGGGHGGGGGHGGHGGGGGHGHHHGHGGGHGHHGHHHHGGGHHHGHHHGGGHGGHGGHHHGGGGGGGGGGHGHHHHGHHGGGHGGGHHHHHHGHGHHGHGGGGHGGGGHGHGGGGGHHGHHHHHGGHGHHHGGGGHGGGGHHGGHHGHHGGGGGGHHGGHHHHHHGGHHGHGHGGGHGGGGGHGHHHGGGGGGGHGGHHHGHGGHHGHGGGGGGGGGHGHGHGHHGGGHHGGHGGGGHGGHHHHHGHHHHGGGHGGGGGGHGGHGHHHHHGGHHGGGGGGHGGGGGGGGHHGGGGHGGHGHGGGHGGHGHGGGGGHHHGGGHGGGGHHGGHGHGGGHGGGGGHGGGHHGGGHHGGGGHGGGGGHHGHGGHHGGGGGGGGHHHGGGGGHGHHHHGHHGGGGGGHGHHGGGGHHGHGHHHGGGGGGGGGGGGGGGGGGGHGGHGHHHGGHGGHHGGHHGHHHGGHGGHGHGHHHGGGHGGGGGGGGHGGGGGHGGGGGGGGGGGGGHHGGGGGGHGGGGGGGGGGGGGGGHHGGGGGGGHGGGGHGGGGHGHGGHGHHGGHGHGGGGGGGGHHGGGHGGGGGHHGGGHGGGGGGGHHGGGHGHHGGGHGGGGGHGGGGHHGGGGGGHGGGGHGGGGHGHGGGGGGGGGGHHHHGGGGGGGGGGGGGHGGGGHGHGGGGGGHGGHGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGHGGGHGGGGGGGGGHGGHGGGGGGHGGGGGGGGGGGHGGGHGHGHGGGGGHGGGGGGHGGGGGGGGGGGHGGGGGGGHGGGGGGGHGGGHHGGGGGGGGGHHHHHHHGHHHHHHGHHHHHHGHHHHHGHHHHGHHHGHHGHHHHHHGHHHHHHHHHHHHHGHHHHHHGHHGHGHHHHHHHHGGHHHHHHHHHHHHHHHHHHHHHHHHHHHHGHHHHHHHHHHGHGGHHHHHHHHHHHHGHHGHHHHHHHHHHHHGHHHHHHHHHHHHHHGHHHHGHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHGHHHHHHHHHGHHGHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHGHGHHHGHHHHHHGGGHHHHHHHHHGHGHHHHGHHHHHHHHGHHHHHHHGHHHHHGHHHHHGHHHHHGHHHHHHHHHHHHHHHGHHHHHHHGHHGHHHHHHHHGHHGHHHHHHHGGHGHGHHGGHHHHHHHHGHHHHHHGHHHHHHGHHHHGGHHGHHHHHHHHHHGGGHHHGHHHHHHHHHHHHHHHHGHHHHHGHHHHGGGHHHGHHHHHHHHHHHHHHHHGHHHHHHHHHHHHHGGHHHHHHHGHHHGGHHGHHHHHGGGHHHHHHHHHHHHHHHHHHHHHHHGHHGHHHHHHGHHHHHHHHHHHHHHGGGHHHHGGHGGHHHGGGGGHHGGHGGGGGHHHGHHHHHGHHHHGHHHHHHHHGHGHGHHGHHHHHHHHHHHHHGGGHHHHHHHHHGHHHHHHGHHGHHGHHHHHGGHHHHHHHHGGHGGHGHHHGHHGHGGHHGGHHHHHHHHHGHHHHGHHHHHGHHGGHHHHHGGHGHGGGHGHGHHGHHHHGGGGHHHGHHHGGGHHHHGGHHGHGHGHHGGGHGHHHHHHHGHHGGHHGHHGGHGHHHGGHHHGHHHHHHHGGGGGHHHHGHHHGHHGGHHHGHHHHHHGGGHGGHHGHHGGHHHGHGHHHHHHHHGHHHHGHHHHHGHHGGHHHHHHHHGHGGHGGGHHGGGHGHGHHHGGHHHHGGGHHGGHGHHHHGGHGGGHHHGHHGHHHHGHHHHGGGHHHGHGHGGHHGGHGGHGHHHGHHGHHHHHHHHHHHHGGHGGGGHHGGHGHHHGHGHHHGHGHGGHHHHHHGGHGHHHHHGGGHHHHGGHGGGHGGHGGGGHGGGHHHHGGHHGGHGHHHHGHHHGGGGGGHHHGGGHHHHGHHGGGGGGHHHGGHHGGGGHGGGGHGHHGGGGGHHHHGHHGGGGHHGHHGGHHGGHHHGHHHGHGGGGHHHHGHHGGGHGHHGHHHHGHGGHHGHHGHHHHHHGHHGHGGHHHHHHGGHHHGGHGGGHGHHGHHHHHGHHHGHGHHHGGHGHGGGGHGHHGHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHGHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHGHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHGHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHGHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHGHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHGHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHGHHHHHGHHHHHHHHHHHHHHHHGGHHHHHHHHHHHGHHHHHHGHHHHHHHHHHHHHHHHHHHHHHHHHHHHGHHHHHHHHHHHGHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHGGHHHHHHHHHGHHHHHHHHHHHHHHHHHGGHHHHHHHHHHGHHHGHHHHHHHHHHHHHHHHHHHHHHHGHHHHHHHHHHHHHHGHHHHHHHHHHHHHHHHGHHHHHHHHGHGGHHHHHHHHHHHHGHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHGHHGHHHHHHHHGHHHHHHHHHGHHHHHHHHHHHHHGHHHHHHHHHHGHHHHHHHHHGHGHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHIHHHHHHHIHHHHHHHHHHIHHHHHHHHHIIHHHHHHHHHHHHHHHHHHHHIHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHIHHHHHHHHHHHHHHHHHHHHHHHHHHHIHHHIHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHIHHHHHHHIHHHHHHHHHHHHIHHHHIHIHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHIHHHHHHHHHHHHHHHHIHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHIHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHIHIIHIIHIIIHIHIIIHIHHHIIIIIHHHIHIIHHIHHHHHHHIHHIIHHHHIHHIIIIIHHIHHHHIIHIIIIHHHIHHHHHHHHIHHHHHIIIIHIHHHHHIIIIHHHHIHHHHHHIHIHHIHHHHHHHIHHIHHHIIHHHIHHIHHHHHIIHHHIIIIHHIIHIIIHHHHHIHHIIHHHHHHHIIHHIIIIHHHHIHIHHHHHIHHHHIHHIHIIHIHHIIIIHIIHIIHHHHHHHHHHIHHHIHHHHHHIHIHHHIIHHIHHHHIHHHHHHHHHHHIHHHHHHHHHIHHHIIHIHHHHHHIHHHIIHHHHHIHHIIHHIHHHHHHHHHIIHHHHHHHHIHIHIHHHHHHIHIIHIIHHIHHHHHIIHHHHHIIHHHHHHHHIHHHIIHIIHHIHHHHIHHIHHHHHHHHIHHHHHIIHHHIHHHHHHHHHIHHHIHIHHIHHIIHHHHHIHHHHHIIHIHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHIIIIHIHHIHHHHHHHHHHHHHHHHHHIIHHHHHHHHHIIHHHHHIIHHHHHHHHHIHIHHHHIHIHHHHHHHHIHHHHHHHHHHHIIHIIHHIHHHHHHHHHHHHHHHHHHHHHIIHIIHHHHHIHHHHHHHHHHHIHHHHHHHHHIIHHHHHIIHHHHHHHIIHHHHHHHHHHHHHHHHHHHHIHIHHIIHHHHHHHHHHHHIHHIHHHHHHHIHHHHHHHHHHIHHHHHHHHHHHHHHIHHIHHHHHHHHHHHHIIHHHHHIHIHHHHIHHHHHIHHIHHHHHHHHHHHHIHHHIHHHHHHHHHIIHHHHHHHHHHHHHHHHHHHHHHHHHHIIHHHHHHHHHHHHHHIHHHHHHHHHHHHHHHHHHHHHIHHIHHHHHHHHHHHHHHIHHHHHHHHHHHHHHIHHHHHHHHIHHHHHHHHHHHHHIHHHHHHHHHIHHHHHHHHHHHHHIIHHHHHHHHHHHHHHHHHHHIIHHHHHHHIHHHHIHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHIHHHHHHHHHHHHHHHHHHHHHHHHHHHHIHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHIHHIIHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHIHIHHHHHHHHHHHHHHHHHHHHHHHHHIHHHHHIHHHHHHHHHHHHHHHHHHHIHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHIHHHHHHHHHHHHHHHHHHHHHHHIHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHIIIIIIHIHIIIIHHIIIIIIIHIIIHIIIIIIIIIHIHIIHIIIIIIIHIIIIIHIIHIHIIIIIHIIIHIIHIHIHHIIHIHIIIHIIIHHHIIIHIIHIIIHIIIIHHIIHHIIIIHIIHIHHHIIIIIIIHHHHIHIIIIHHHIIIIIIIIIIIHIIHHHHHHIHIHHIHHIHIIIIIHHIIIIIIIIIIIHIHHIIIIIIIIIIHHHIIIHHHHHHHIIIIIIIHHIIIHIIHIIIHIHHIIHIIIHIHHIIIIIIIIIIHHIIIIIIIIHHIHHIIIIHIIHHIIIHIIHIIIIHIIIIHIIIIIIIHIHIHIIHHHIIIIHIHIIHIHIIIHHHIHIIIIIIIIIIIIIHHHIIHIHIHIIHIIIIHHIIIIHHHIHHHHHHIIIIIIIIIHHIIIIIIHIHHIIHIIIIHHIHIHIHIHIIIIHIHHIIIIHIIIIHIHIHIHIHHIIHIIIHHIIHHHIIIIHIIHHIHHHIIHIIIHIIHIIHIHIIIIIHIIHIIIIHHHHIIIIIHIIIHIHIHIIHHIHIIHIIIIIIIIIIIIIHIIIIHIIHHIHIIHIIIIIIIHIIHIIHHHIHIHIHHHHIHHIHHIIIIIHHIHIIHIHIIIHIIIIHIIIHIIHHIIIIIHHHHIHIHHHIHIIIIHIHHHHHHIIHHIIHIHHHIIIHIHHHIHIIIIIIHHIIHIIIHHIHIIHHHHIHHHIIHIIHHHIHHHIHHIHHIHIIIIHIIIIIHIHHHIIIIIIIIIHIHIIIHHHIHIHHHHIIHIIHHIHHHIHHHIIHHIIIIIHHIIIIHIIHHIHHIHHHIIIIHHHIIIHIIIHHIIHHHIIHHIIHIHHIHHIHHIHHIIHHHIIIHIIHIIIHIIIIHIIIIIHHHIIIIIIIIHHHHHHIHIHIIIHHIHHIHHHIHHHIIIHIIHIIHHIIIHIHHIHHHHIHIHHHIHHIHIHHIIHHHIHIHIHHHIIIHHIIHIHHHIIHHHHIIHIHHHHIHHIIHHHIHHHHHHIIIIHIHHIHHHIIIHHIHHHIHHHHIHHIHIHIIIHHHHIIHIIHHIHHHHHIIHHIHIIIHIHIHHIHIIIHIIIHHHHHHHHIHIIIHIHIHHIHIIIIIHIIHIIHIIIIIHHIIHHIHHHHHIHIIHIIHHHIIHIIHHHHHIHHHHIHIHHHHHHHHHIIIIHHHHIIHHHHHIHHHHHIHHIIHHIHHHIIHIIHHHHHHHHIHHHIIHIHIHHIHHIHHHIIIIHIIHHIHHHHIHHHIHIHIIHHHHHIHHHHIHIIHHHHHHHHIHHHHHHIHIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIHIIIIIIIHIIIIIIIIIIIIIIIIIIIIIIIIIHIIIIIIIIHIIIIIIIIIIIIIHIIIIIIIIIIIIIIIIIIIIIIIIIIIHIIIIIIIIIIIIIIIIIIIIIIIIIIIIIHIIIIIIIIIIIIIIIIIIIIIIIIIHIIIIHIIIIHIIIIIIIIIIIIIIIHIIIIIIIIIIIIHIIIHIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIHIIIIIIIIIIIIIHIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIHIIIIIIIIHIIIIIIIIIIIIIHIIIIIIIIIIIIIIIIIHIIIIIIIIIIIIIIIIIIIIIIIIIIHIIIIIIIIIIHHIIIIIIIIIHIIIIIIIIIIIIIIIHHIIIIIIIIIIIIIIIIIIIIHIIIIIIIIIIIIIIIIIIIIIIIIIIHIIIIIHIIIIIIIIIIIIIIIIIIIHIIIIIIIIHIIIIIIIIIIIHHIIIIIIIIIIIIHIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIHIIIHIIIIIIIIIIIIIIIIIIHIIIIIHIIIHIIIIIHHIIHIIHIIIIIHIIIIIIIIIIIHHIIHHIIHIIHIIIIHIIHIHIIIIIIHIIIIIHHHIIIIIIIIHIIIHIIIIIHIIIIIHHIIIIIIHIHIIIHIIHHIHIIHIIIIIIIIIIIIIIIIIHHIIIIIIIIHIIIIIHIIIIIIIIIIHIIHIIIIHHIIIIIIIIIIIIIHIIIIIIHHIIIIIHIHHIIIIIIIIIIIIHIHIIIIIIIIIIIIIIIIIIHIIIIIIIIIIIIIHIIIIHIIHIIIIIIIHIIIIIIIIHIIIIIHIIIIIIIIIIIIHIHHIIIIIIIHHHIIHIIIIIIIHHIIIIIIIHIIHIIIIIHIIIIIIHIIHIIIIIIHHIIIIIIHHIHHIIIIIIIHIIIHHIHIIIIHHIIIIIIIIHIIIIIIHIIIHIIHHIIIIIIIIIHIIIHIIHIIHIIHIIIIIIIHIIIIHHIIIIHIIHIIIIHIIHIIIIIIIHIIIHIIHIIIIIHIIHIIIIIIIIHIHIHIIIHIIIHIIHHIIHHIIHIHIIIIIIIHIIIHIIIIHIHIIIHHHIIIIIHIHIHIIIHIIIIIIIIIIIIHIIIHIIIIHIHIIIIIIIIHHHHHIHIIHIIHIIHHHIHHIIIIHHIIIIIIHHIIIIHIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIHIIIIIIIIIIIIIHIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIHIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIHIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIHIIIIIIIIHIIIIIIIIIIIIIIIIIIIIIIIIHIIIIHIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIHIIIIIHIIIIIIIIIIHIIIIIIIIIIIIIIIHIIIIIHIIIHHHIIIHIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIHIIIIIIIIIIIIIIIIIIIIIHIIIIIIIIIHIIIIIIIIIIIIIIIIIIIIIIIIIIIIIHHIHIIIIIIIIIIIIIIIIIIIIIIHIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIJIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIJIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIHIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIJIIIIJIIIIIIIIIIIJIIIJIIJJJIIIIIIIIIIIJIIIIIIIIIJIJIJIIIIIIJIIIIJIIIIIIJIIIIIIIIIIJJJJIJIJIIIIIIIJIIIIIIIJJIJIIIIIIIIJIIIIIIIIJIIIIIIIIIIIIIIIIJJIIJIJIJIIIIIJIIJIIIIIJIIIIIIIIJIIIIJJIIIIIJIIIIIIIIIIIIIIIJIIIIIIJIIIIIJIIIIIIIIIIJIIIIIIIJIIIIJIIIIJIIJJIIIIJIIIIIJIIIIIIIIJJIIIJIIIIJIIIIIIJIIJJIIJIIIIIJIIIJIIIIIIIIIIIJIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIJIIIIIIIIIIIIIIIIIIJJIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIJIIIIJJIIJIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIJIIIIJIIIIIIIIIJIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIJIIIIIIIJIIIIIIIIIIJIIIIIIJJIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIJIIIIIIIIIIIIIIIIJIIIIIIIIIIIIIIIIJIIIIIIIIJIIIIIJIIIIIIIIIIIIIIIIIIIIIIIJIIIIIIIIIIIIIIIIIIIIIIIJIIIJIIIIIIIIJIIJIIIIIIJIIIIIJIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIJIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIJIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIJIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIJIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIJJIJIIIIJIIJIJIIJIIIJJIJJJIJIJJIIJIJIJIJJJIIJIJIJIJIJIIIIIJIJIIIIIIJIJJIIJJIJIJIIJJJJJJJJJJJIIIIJIIIJIIJIIIIIJIIIIIJJJIJIIJJJIIJJJJJJIIJIIIIIIJJIJIIIIIIIIIIJIIJIIIJJIIIJIIJJIJJIJIJIIIJIIIIJIIIIIIIJIIIIIJIJIIJIJIIIJIIIIJJIJJIIIIIIIJIIIIIIIJIIJJJJIJJIIJJIJIJIJIIJIIIIIJIJJIIIJJIIIIIIIIIJIJJJJIIIIIJIIIJIIJJIJJIJIIIIJJIIIJIJJIIIJJIIIIJIIIJIJIIIIIJIIIIIJIIIJIIIIIJIIIIIIJIIJIJIJIJIIIIIJJIJJIJIIIIJIIIJJJIIIIIIIIIIJIIJIIJIIJJJJIJIIIJIIJIIIJIJIIJIIIIIIIIIJJJJIIIIJJIIJIIIIIIJIIIIIIIIJIJJJJIIIIIIIIIIIIIJJIIIIJIJIIIIJIIIJJIIIIJIJIJJIIIIJIIIIIIIIIJIIIIJIIJIIIJJIJIIIIIJIIJIIIIIIIJJJIIIIIJIIIIIIIIJIIIIIIIIJIIIIIIIIIIIJIIJJIIIIJIIIIIIIIIJIIIIIIIIIIIIIIIIIIJIIIIIJIIIIJJIIIJIJIIJJJIIIIJJIJJIIIIJJIIJJJIIIIIIIIIJJIJJIJJIIJIIJIJIIIJJJIJIIJIIJJIJJJIJJJIIIIJIIJIIIIJJIIJJJIIIIIIIIIJJIJJJIJIIJIIIIIIIIJJJIIJIIIIJJIIIJIIIIIIIIIIIIIIIIIIIIIIIIIIIIIJIIJIIIIIIIIIIJIIIIIJIIIIJIJIJIIIJJIJIIIIIJIIIIJJIIIIJIIIIIIIIIIIIJJIIIIIIIJIIIIIIIIIIIIIIIJIJIIJIIJJIIJJJIIIJIJIIIIIIIIIIIIIIIIIJIJIJIJIIIIJJIIIIIJJIIIIIIIIIJIIIJJJIIJJJJIJIIIJIJIIIIIIIIIIIIIIIIJJIJIJIIIIIIIJIIIIIJJIIIIIIIIIIIIIIIIIJIIIJJJIIIIIIIJIIIIIJIJIIIIIIIIIIIJIIJIJIIIIIJIIIJIIIIIIIIIIIIIIIIJIIIIIIIJJIIIIIIJIJJIIIIIIIIJIIIIIIIIIIIIIIIIIIJIIIIIIIIIJIIIJIIIIIIIIIIIIIIIIIIJIIIJIIIIJIIIIIIIIIJIIIIJIIIIIIIIJIIIIIIIIIIIIIIIIIIIIIIIJIIIIIIJIJIJJJJJIJIJIJJJJIJJIIJJIIJJIIJJJJJJJJJJJJJJJJIJIJIIJJJIIJIIJJJJJJIJJJIIJIJJIIIIJJIIJIJIJJIIJIJJIJJJJJJJJJJJJIJJIIJJIJJJJJIIJJJJJJIJJJJJJJJJJJJJJIIJJIIJIIJJJJJJJJJJJIJJIJJJJJIJJJJJJJJIIJIJJJJJJJJIJJIIIIJJIIJJJIIJJIJIIJJIJJIIJJJIJIIJIIIJJJIJIJJJJIJIJJIJJJJJJIJIIJJJJIJIIIJJJIJJJJIJJJIIJJIIIJIJJIJJJIJIJJIJJIJIIJJJJJJIIJJJIIJIIIJJIIIJJJJIIJJJJJJJJJJIJJJJIIJJJJJIJIJJIJJIJIJJJIIJJIJIIIIIIIIIIIJJIIJJJJIIIJJIJIIIJJJIIJJIIJIIJIJJJJJJJJJJIIJJJIJIIJIJIIIJJJIJJJJJIIJJJIJIIIJJJIIIJJJJJIIJIIIIJJIIJJJIIJIIJIJIJJIIJJJIIIJJJJIJJIJJJIIJJJJJJJIIIJJIIIIIIIIJJJJIJIJJJJJJJJJJJIIIJIJJJIJJIJJJJJIIIIIJJJIJIIJJIIJJJJJJIIIIIIIJIIIIJJJIJJIJIIJJJJJJJIJIJJIJJJIJIIIJIIIIIIIIJJIJJJIJJJIJJJJJJJJJIJJJJJJIIJJIIIIJJJIIIJJJJJJIJIJIIJJJJJJJIJIJJIIIJIIIJIJIIJJJJJJIJIJIIJJJJJJIJJIIIIJIJIIIJJJIJIIJIJIIJIJJJJJJJIIJIJIIIIIJIJIIJJIJJJJIIJIIJJJJJJIJJJJIIJJJJJIJJJJJJIJIIJIIJJIIIIJJJIIJIIJJIJJJJJJJJIIIIJJJJJIIIIIJIIJJJJJJIJIIIIJIJIIJJIJJIJJJJJJJIJIJIJJIJJIIJJJJIJJJJIJJJJJJJIIIIJIIJJJJIIIJJIIIIIJIJIIJJJIIIIIIIIIJJJIJJIIIJJIJIIJJIJJJIIJIJJJJIIJIJJIJJJJIIIJJIIIIIJJIIIJJJJIIIIIIIIJJJIJJIJIIJIJJIIIIIIIIIIJIIIIIJIIIJJIIJIIJIJJJIJIJJIIIIIIIIJJJIIJIIIIIJIJIIIIJIIJJJJIIJJJJJIIJJJIIIJJJIJJIJJIIJJIJIJIJJJIJIIJJIJIIIIIIIIIIIJJJIJJJJJIIIIIIIIIIIJJIJJIJJIIIIJJJJJIJJIJIIIIJJJIIJIIJJIIIIJIIIIIIIJJIJJJIIJJJJIJJIIIIIJIIJJIJIIIJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJIJJJJJJJJJJJIJJJJJJJJJJJJJJJJJJJJJJJJJJJJJIIJJJJJIJJJIJJJJJJJJJJJIJJJJJJJJJJJJJIJJJJJIJJJJIJJJJJJIJJJJJJJJJJJJJIJJJJIJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJIJJJJJJJJJJIIJJIJJJJJIIJJJJJJJJJJJJJJJJJJJJJJJJJJIJJJJJJJIJJJJJJJIJJIJJJJJJJIJJJIJJJJJJJJJJJIJJJJJJJJJJJJJJJJJJJJJJJJJJJJJIJJIIJJJJJJJJJJJJJJIIJJIJJJIJJJJJJJJJJJJJJIJJJIJJIJJIJJJJJIIJJJIIJJJJJJIIJJIJJJJIJJIJJJJJJJJJJJIJJJJIJJIJJJJJJJJJJJJJJJIIJJJJJJJJJJJJJJJJJJJJJIJJJIJJIJJJJJJJIJJJJJJJIJJJJJIJJJIJJJJJJJJIJJJJJJJJJIJJJJJJJJJJJJJJJJJJJJJJJJJJJJIIIJJIJJIJJJJJJJJJJJJJJIJJJJIIJJJJIJJJJJJJJJJJJJJJIJJJJJIJJJJJJJJJJIJJJJJIIJJJJJJJJJIJJJJJJJJJJJJJJIJJIJIJJJJJIJIJJJIJIJJJIJIJJJJIJJJJIIJJJJJJJJJJJJJJIIJJJJJIIJIJJJJIIJJIJJJIIJIJJIJJJIJJJJJIJIJJIJJJJJJJJJJJIJJJIIJJJJJJJIJIJJJIJJJJJJIIJJIJJJIIJJJJIJJJJIJJJJJJJIJIJJJJJJJIJJJIJJJJIIIJIIIJJJJIJJJJJIJJJJJJIJJJIJJJJJIIJJJJIJJJJIJJJJIJJJJJIJIIIIIJIIJJJJJJJJIIIJJIJIJJJJJJJJJIJJIJJJJJJJJJJJJIIJIJJIJIJJJJJJJJJJJJJJJIIJJJJIJIJIJJJIJJJJIJJJJJIIIIJJIJJJJIJJIJJIJJJJJJIJIJJIJIJJJJJJJJJJJIJJJJIJIJJJJJIIIJJIJJIJJIIJIJJIIJJJIJJIIJJIJJJJIJIJJIIJJIIIIIIIJJIIJJJIJIJJJJJJJIJIIIIIIJJJJIJJIIJJIJJJJIJJIJIIIJJIIJJJJJJIIJJJJJJIJJJJJJIJJJJIJJJJIIJJJJIIJJJIIJJIJJJIIJJIJIIJJIJIIJJJIJJJJJJIIIJJJJJIJJIJIJJJJIIJJJJIJIIJJJJJJJIIJJJJIIJJJJIJJIIIJIJJIIJJJIIJJJIJIIJJJJIJJJJIJIIJJJJJJJJJJJJJJJJJJJJJJJJJJJJKJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJIJJJJJJIJJJIJIJJJJJJIJJJJJJJJJJJJJJJJJJJJJJJIJJJJIJJJJJJJJJJJJJJJJJJIJJJJJJJJJJJJJJJJJJJJJJIJJJIJJJJJJJJJJIJJIJJJJJJJJJJIJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJIJJJIJJIJJJJJJJIJJJJJJJIJJJJJJJJJJJJJJJJJJJJJJJJIJJJJJJJJJJJJJJJJJJIJJIJJIJJJJJJJJJJJJJJJJJJJJJJJJJJJJIJJJIJJJJJIJJJJJJJJIJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJIJJJJJJJJIIJJJJJJJJJJIJJIJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJIJJJJJJJJJJJJJJJJJJIJJJJJJIJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJKJJJJJJJJJJJJJJKJJJJJKJKJJKJJJJJJJJJJJJJJJKKJJJJKJJJJJJJJJJJJJJJJJJJJJJJJJJKJJJKJJJJJJJJKJJJJJJJJJJJJJKJJJJJJJJJJJJJJJJJJJJJJJKKJJJJJKJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJKJJJJJJJJKJJJJKJJKKJJKJJJJJJJJJJJJJJJJJJJKJJJJJJJJJJJJJJJJJJJJJJKJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJKJJJJJJJJJJJJJJJKJJJJJKJJJJJJJJKJJJJJJJJJJJJJJJKJJJJJJJJJJJJJJJJJKKJJJJJJJJJJJKKJJJJJJJJJJJJJJJJJJJJJJJJJKJJJJJJJJJJJJJJJJJJJJJJJJJJJJKJJJJJJJJJJJJJJJJJJJJJJJJKJJJJJJJJJJJJJJJJJJJJJJJJJJJKJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJKJJKJJJJJJJJJJKJJJJJJJJJJJJJJJKJJJJJJJJJJJJJJJJJJJKJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJKJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJKJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJKJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJKKKKKJKJKKJJJJJJJKJKJJKJJKKKJJJKJJKJJKJKJJKJJJKKKKJJJJJJKJJKJJKKJJJKJJJJJKKJJJJJJKJJKJKJJKKJJJJKJJKJJJJJKKJJJKKKJJJJJJJJKJJJJKJJKJJKJKKKKKJJJJJJJJKKJKKJKJJKKKJJKJKKKKJJJJJKJKKKJJJJJKKJJJJJKJJJJKKJJJJJJJJJKKKJJKJJJJJJKKJJJJJJJJJJKKJKJJKJJJKKJJJJJKJJJJJKJJJJJJJJJJKKJJJKJJJJKJJJKKJJJKKJJJJJJJJJJJJJJJJJJKJJJJJKJJKJKKJJKKJJJJJKKJJJJKKJJJJJKJKJJJKKKJJJJJJJJJKJKJKJKJJJKJJJKJJJKJKKJKJJJJKKKJJKKJJJJJKKJJJJKJJJKJJKJJJJJKJKJJKJJJJJJJJJKJJJJJJJJJJJKJJJKJJJJJKJJJKJJJJJJJJJJKJJJJJKJJJJJJJJJKJJKJJJJKJJKJJKKKJKKJKJJJJJKKJJKJJJJKJKJJJJJJKKJJJKJKJJJJJJJJJKKJJJJJJJJJKJJKKJJJJJKJJJJKKJJJKJJJKJJJJJKJJJJJJJJKJJJJJJJJJJJJJJJJJJKKJJJKKJJKJJJJJJJJJKJJJJJJJJJJJKKJJJJJJKJJJKJJJJJJJJJJJKKJKJKJJJKJJJJJJJJJKJJKJJKJKJJJKJJJJJKJJJJJJKJJJJJKJKJJJKJKJJJJJJJJKJJJJJJJJJJJJJJJJJKJJKJJJJJJJJJKJJJKJJJKJJJJJJJJJJJJKJKJKJJJJKKJJKJJJJJKKJJJJJKJJKKJJKJKJJJJJKJJJKJJJJJKJJJJJJJJKJJJJJJJJKKJJJKJJJJJJJJKKJJJKJJJJKJJJJJJJJJJJJJJJJJJJJJJJJJJKJJJJJJJKJJJJJJJJJJJJKJJJJJJKJKJJJJJKJJKJJJJJJJKKJJJJJJKJJJJJJJJJJJJKKJJJKJJKJJJJJJJJJJKJJJJJJJKJJKJJJJJJJJJJJJJJJJKJJJJJJJKJJJJJJJJJJJJKJJJKJJJJJJJJJJJJJJJJJKJJKKJJJJJJJJJJJJJJJJJJJJJJJJJJJKJJJJKJJJJJKKJJJJJJJJJJJKJJJJKJJJJJJJKJJJJKJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJKKJJJJJKJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJJKJJJJJJJKJJKJJJJJJJJJJJJJJJJJJJJJJKJJKJJJJJJJJJJJJJJJJJJJJJKJJKJKKKJKKKKKJKJJKJKKKKKKKJKKJJKJKJJJKKJJJKJKJJKKKKKJKKJKKJKKKKJKKJKKJKJKKKJKKKJKKKKJKKJKKKJKJJJJJKJKKKJKKKKKJJJKJKKKKKKKKJKKJJKKJKJKJKKKKKKKKJJKJKKKKJKJKJJKKJKKKKKKKJJKKKJKJJKJKKKJJKKJKKJKKJJKJKKKJKKKJJKKJKKJKKKKKKJKKJJJKJJJJJJJJJKJKKJJKJKKKKJKKJKKKKKJJJKJJJJJJKKJKKKKJKJKKKKKKKJKJJKKJKKKKKJJJKKJJJJJJJKKJKKKJKKKJKJKKKKKKKJKKKKKKKJKKKJJKKJKKJJJJJKKJKKJKKJJKKJKKKJKJKKJJJKKJJKJKKJKJJKKKJJJKJJKJKKJKKJKKKJKKKKKKKKKJJKJKKJKKJJKJJKKKKKKJKJKJKKJKKJKKKKKJJJKKJJKJKJKKKKJJKKKJKKKKJJJKKJKJJKJJKKKKKKKJJKKJKJJJKJKKKJJJKJKJKKKJJKKJJKJJJJJJKJKJJKJJJKKJJJKKKJKJKKJJKKJKJKKJKKJKKKJKKKKJKJJKJJKKJKJKKKJJJJKKJJKKJJJKKJKJJJJJKJKKKKKJJKKJJJKKJJKKKKJJKJJJKKKJKKKKKJJJKJKKJKKKJJKKJKJKKKJKJJKKJJJJKJJJJJJJJKKJKKKKKKKKKKKKJKKKKKKKJKKJJKKKJKKKJJJKJJKJJJKJJJKJJKJJJJJJJKKJKKKJJJKKJJKKKJJKJKJKJJJKJJJKKJJJJJJKKJKKKJKKKJKKKJKKJKKKJKJKJKJJKKKJJJKJKKJJJKKJJJJJJJKJJJKKJKKKJJJKKJJKKJJKJKKJJJJJJKKJJKKJKKJKJKKJJKKKJJJKJKKJJKJJKJKJJKJJJKJJJJJKJJJKJJKKJKKKJKJKKJJJKKKKKKJKJJJJKJJKKKKKKJJJJJJJJKJJKJJKJJKKJKKKJJJKJJJJJJKJKKJJKKKKKJJJKKKKKJJJJJJKJJJKJJKKJJJJJJJJJJJKJJKKJJKJKJKJJJJJJKJJJJJJKJJJJKJKJJJKKKKKJJJJJKJKJKKKJJJJJJJJJJJJKJJKKJJJJJJJJJJKKJJJKJKJKJJKJJJJJJJJJJJJJJJJKKJJJJKJJJJKJKKKJJJKKJJJJJJJKJKKJJJJJJJJJJJJJKJJJJJJJKKJJKJKJJJJKKJKJJJKJJKKJKKJKJJKKJKJJKJJKKJKJJKJKJJJKJJKJKJJKJJKJJJKJJKKJJJKKKJJJKJJJJJJKKKKKKKKKKKKKKKKKJJKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKJKKKKKKKKKKKKKJKKJKKKKKKKKKKJJKKKKKKKJKKJKKKKKKKKKKKKKKKKKKKJKKKKJKKJKKKKKKKKKKKKKKKJKJKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKJKKKJKKKJKKKKKKKKKJKKKKKKKKJJKKKKKKKKKKKKKKKKKKJKKKKJJKKJKJKKKKKKJKKKKKKKKKKKKKKJJKKKKKKKKKKKKKKKKKKKKKKKJKKKJKJKJKKKJKKKKKKKKKKKKKJKKKKKKKKKKKKKKKKKKKKKKKKKJKKJKKKJJKJKJKKKKKKKKKJKJKKKJKKKKKKKKKKJKKJKKKKKKKKKKKKKJKKKKJJKKKJKKKKJJKKKKKKKKKKKJKKKKKKKKKJKKJKKKJKKKKJKKJKKKKKKKKKKKKJJKJKKKKKKKKKKKKKJKKKKKKKKJKKKKKKJKKKKKKKKKKKKKKJKKKKKKKKKKKKKJKJKJKJKKKKKKKJKJKKJJKJKKJKKKKKKKJJKKKKKJKKJKKKKKKKJKKKKKKKKKKKJKKKKKKKKKJJKKJKKKKKKKKKKKKJKKKKKKKKKKKKKJJJJKKKKJKKKKKKJJJKKKKKKKKKKKJKKKKKKJKKKJKKJKJKKKKKKJKJKKKKKKKKKKKKKKKKKKKKKKKKKKJKKJJKKJJKKKKKKKKKKKKKKJJJJKKJKKKKKKJJKKJJKKKKKKKKKKKKKKKKKKKKJJKJJKJKKKKKKJJKKJJKKKKKKKJKKKKKKKKJJKJKKKKKKJKKKKKKKKKKKKKJKJKKKKJJKKJJKKJJKKKKJJKKKJKKKKJKKKJJKKKKKKKJKKKKJKKKJJKKKKJKKKKJJKKKKKJKKKKKJJKKKJKKKKKJKJKKJKKJKJKKKKKKKKKJKKJJKJJKJKKKJJKKKKJJJKKJKJKKKKKKJKKKKKJJKKKKKKKKKKKKJJJKJKJKKKKKKKKKKKJKKJJJJKKKJKKKKJJKKKJKKKKKKKKKKKKKKJJKKKKKKKKKKKKKJKKKJKKJKJKKKJKKKKJKJKKKKKKKJJJJKKKKJKJKKKJKJKKKJJJJKKKKKKKKKJJKKJKKKKKKJKKKJJKJJJJKJJKKKJKJJJKJKKKKKKKJKJKJJJKKKKKJKKJJKJJJKKKKKJJJJKJKKJJJKJJKKKJKJKKKKJJKKJJKJKKKKJKJJKJJKKKKKJKKJKKKJKKKKKKKKKKKJKJJKKKKKKJKKJKJKKJKKJJKKKKKKKJJKKKKJKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKJKKKKKJKKKKKKKKKKKKKKKKJJKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKJKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKJKKKKKKKKKKKKKKKKKKKKKKKKKKKKKJKKKKKKKKKKKKKKKKKKKKKKKKKKJKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKJKKKKKKKKKKKKKKKJKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKJKKKKKKKKKKKKKKKKJKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKJKKKKJKKJKKKKKKKKKKJKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKJKKKKKKKKKKKJKKJKJJKKKKJKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKJKKKKKKKKKKKKKKKJKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKJKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKJKKKKKKKKKKKKKJKKKKKKKKJKKKKKKKKKKLLKKKKKLKKKKKLKKKLKKKKKLKKKKKKKLLKKLKKKKKKKLKLKKKLKKKLKKKKKKKLKKKKKKLKKKKKKKKKKLKKKLKKKKKKKKKKKKLKKKKKKKKKKKKKLKKKKKKKKLKKKKKLKKKLKKKKKLKKKKKKLKKLKKKLKKKKKKKKKKKKLKKKKKKKKKKKKKKKKKKLKKKKKKLKKLLKKKKKLKLKKKKKKKKKKKKKKKKKKKKKKLKKKKKLKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKLKKKKKKKKKKKKKKLKKKKKKKKKKKKKKKKKLKKKKKKKKKKKLKKKLKKKLKKKKKKKKKKKKKKKKKKKKLKLKKLKKLKKKKKKKKKKKKKKKKKKKKKLKLKKKLKKKKKKKKKLKKKKLKKLKKKKKKKKLLKKKLKKKKKKKKLKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKLKKKKKKKKKKKKKLKKKKKKKKKKKKKKLKKKKLKKKKKKKKKKKKKKKKKKKKKLKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKLKKKKKKKKKKLLKKKKKKLKKKKKKKLKKKKKKKKKKKKKKKKLKKKKKKKKKKKKKKKKKKKKKKLKKKKKKKKKKKKLKKKKKLLKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKLKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKLKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKLKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKLKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKLKKKKKKKKKKKKKKKKKLLLLKKLLLLLLKKLKKLLKLKLKLKKLLKLLKLLKKKKLLKKKKLLKLLLKKKKKLKKLKKLLKKKLKKKLLKKLLKKLKLLLKLKKLLKKLKLLLKKLLKKKKLKKLLKLLKKLKLKKKKKLLLLLLLLKKKLLLLKKKKKLKKLKKKKLLKLKLKKKKLLKLLKKLLKKKLKLLLKLKKLLLKKKLLKKKKLKKKLLLKLLLLKKKKKKLLKLLLKKKKKKLKLKKLKKKLKKLKLKLKKKKLKKKKKLKKLKKLLKKKKKKKKLLKKKLKKLKLKLLLKLLKKKKKKKKKKKLKKKKLLKLLLLLKKKLLKKKKKLLLKKKLLLLKLKKLKLLKKKKKLLLLLLKLKKKLKKLLLLKKLLLLKLKKLLKKLKLKKLLKKKLLLKKKLKKLKLKKLKKLLLLLKKKKLLKKKKKLKLLKKKKKLLKKKKKKKKLLKKKLKKKLKKKKKKLKLLKKKKKKKKKLKKLLKKKKKKKLKLKKKLKKLKKKKLKKKLLKLKLLLLKLKKKKKLKLKKKKKLLKLKLLLLKKKKLLKLLKKKLKKKKLKLLLLKKKKKLKKKKLKKKKKKKLKKLKKKLKKKKKLKKKKLKKLKKKKKKKKLLKKKLKLKLKKLLLKKLKKKKLKKLKKKKLKKKLLKLLKKLKKLLKKLLKLKKKKKKKKKKKKLLKLLLKKLLLKLKKKKKKKKKKKLLLLLKKKLKKKKKKKKLKKKKKKLKKKKKKKKKKLLKKKLKKKKKLKKKKKLLKKKLLKLKKKKLKKKKKKKKKKKKKLLKKKKKKKKKKKKKKKKLLKKKKKLKKKKKLKKKKLKLKKKLLKKKLKKKKKKKKKKKLLKLLKLKKLKLKKKKKKKKKKKKKLKKKKLLLLKKKLKLKKKLKKKLKKKLLKKLKKKKKLKKLKKKLLKKLKKKKLLKKKKKKKKKLKKKKKLKKKKLKKKKKKKKKKKKKKKKKLKKKKKKKKLKKLKKKKLKKLKKKLLKLLKLKKKKKKKKKKKKKKKKKKLKKKKLKKKKKKKLKKKKLKKKKKKKKLKKKLKKKLLKKKKKLKKKLKKKKKKKKKKKKKKLLKKKLKKKLKKKKKKLKLKKKKLKKKLKKKKKKLKKKKKKKKKKKKLKKKLKKKLLKKKLKKKKKKKKKLKKKKKKKKLKKKKKLKKKKKKKKKKKKKKKLKKKKLKLKKKKKKKKKKKKKKKLKKKKLKKKLKKKKKKKKKKKLKLKKKKKKLKKKKKKKKLKKKKKKLKKKLKKKLKKLKKLKKKKKKKKKLKKKKKKKKKKKKKKKKKKKLKKLKLKKKKLKLLLLLLLLLKLLLLLLLLLLLLLLLLLKLKLLLLLKKLKLKLLLLLLLKLLKKLLLKLLLLKLKLLLLLLKLLLLKLLLKKLLKLLKKKLKKLLLKLLLLLLLLLLKLKLLKLLLLLLLLKLKLKKLLLLLKKLLLLLKLLKKLLLLLLKKLLLKLLLLLLLLLLLLLKKLLKKLLKLKLLLLKLLKLLKLLLLKLLLLKLLKKKKKKLLLLLLLKKLLKLLLLKKKLLLLLLLLLLLLLLKLLKKKLLLLLKLLLLLLLLKLKLKKLLLKLKKLLLLLLLLLKLKKKLLLLKLLLLLLKLLLLLLLLLKLLLLLLKLLKKLLLLLLLLLLLLKLLKLLLKKKKLLLKKLLLLKLLLLLLLLLLLLLLLLLKLLLLKLLKLLLKKLLLLLKLLKLKKLLKLKKLLKLLKLKLLKLKLLKKLLKKLLKLKLLKLLLKKLKLLLLKKKLLKKLKLLKLLLLKKKKLKKLLLLLKKLKLLKKKKKLLLLLLLKLLLLLLLLLLLKLLKLKLLLKLLKLKKKKLKLLLLLKKKKKLLKLLLKKKLLLLLLLLKLLKKKKLKLLKKKKLKKLKLLLLLLKLLLLKLLKKLKLLLLLLLKLLLLLKKLKLLLKLKLKLKLLKKKLKLKKLKKKLLLLKLKLLKKLLLLLLKLLKLLLKKLLKKKKLKKKKKKLLKLLKKLLKKKLLKKLLKLLLKLLLKLLLLKKLKLLLKKKLLKKKLKLKKLLLKLLLLLLKKLKKLKKKLLLLKKLLKKKKKKLLLLKKKLLLLLLKLLKKLKLKKKKKKKLLLKKLLLLLLLLLLLKLLLLLLLKKLLLKKLLLLLLLKLLLLLKKKKKLLLLLLLLLKLKKLLLLLKKLLLLKLKLLLKLLKLKLKLKLLLKLLKLLKLKKLKKKKKLLLLLLKKKLKKKLKKLKLKKKKKKLLLLKKKKLLKLLKKLKKLLKLLKLKLKLLKKKKKKKKLLKKLKKKKKKLKKKLKLLLLLLKKKLLLLLKLKKKKLLKLLKKLKKLLLKLKKKLKLLLKKKKKKKLLKKLKKLKKKLKKKLKLLLKLLKKKLLLLLKKLLLLLLKKKKLLKLLLKLKKKLLLLKKLLLLLKKLLLKKKLLLLKKLLKKKKLLKLLLLLLLLKLLKKLKKLLKLKLKLLKLKKKLLKKKLLKLKKKKKKKLKKLLLKLLLKLLLLLKLKKLKKLLKLKKKKLLLLLKKKKKKKLKLKKKLKLLKLKLKKKKKLKKLLKKKLKLKLLLKLKKKLKLLKLLKKKLLLKKKLLLKKLKKLKLKKKKLKKKKLKLKLKKLKKLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLKLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLKLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLKLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLKLLLLLLLLLLKLLLLLLLLLLLLLLLKKLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLKLLLLLLLLLLLLLLLLLLLLLLLLLKLLLLLLLLLKLLLLLLLLLLLLKLLLLLLLLKLLLLLLLLLKLLLLLLLLLLLLLLLLLLLLLLLLLLLKLLLLLLLLLLLLLLLLLLLLKLLLKLLLKLLLLLLLLLLLLLKLLLLLLLLLLLLLLLKLLLKLLLLKLLLLLLLLLLKKLLLLLLLLLLLLKLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLKLLLLLLLKLLLLLLLLLLLLLLLLLKLKKLLLLLKLLLLLLLLLLLLLLLLLLLLLLKLLLLLLLLKLLKLLKLKKLLLLLLLLLLLLLLLLLLLLLLLLLKKLLLKLLLLKLLLLLLLLLLLLKLLLLLKKKLLLLLLLLLLLKLLLLLLLLKLLLLLLLLKLLLLLLLLLLLKLLLLKLLLKKLLLKLLLLLLLLKLLLKLLLLLLKLLLLLLLLLLKLKLLLLLLKLLLLLLKLLLLLLLKLLLLLLLLLLKLLLLLLLLLLLLLLLLLLLLKKLLLLLLLLLKLLLLLKLLLKKLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLKLLKKLLLLLLKLLLLLLLLLLLKLLLLLLLLLKLLLLLLLLLKLLLKLLLLLLLKKLLKLLLLKKKLLKLLKLLKLLLLKKKKLLLLLLLLKLKLLLKKLKLLLLLLLLLLLKLLKLKLLLLKKLLKLLLLKKLLLKLKLLKLKLLLKKKLLLLKLLLKLLKLLKKLKKLLLLLLLLLLKLKLLKKKKLLLLKKLLLLLLLLLLLKLLLLLKKKLKKLLKLLLLLKLLLLLKLLLLLLLLLLKLLKLKKLKKLLLLKLLKLLKLLLKLKLLLLLLLLKLLLLLLKLLKKLLLKKLLLKLLLLLKLLLLLLLLLLLLKLLLLLLKKLLLKKLLLLLLLKLLKLLLLLLKLKLLLLLLLLKLLLKLLLLKLKLLKLLKLLKLLLLLKLLLKLLKKLKKLKLKLKKLLKKLLLLLKKLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLKLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLKLLLLLLLLLLLLLLLLKLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLKLLLLLLLLLKLLLLLLLLLLLLLLLLKLLLLLLLLKLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLKLLLLLLLLLLLLLLKLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLKLLLLLLLLLLLLLLKLLKLLLLLLLLLLLLKLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMLLLLLLLLLLLLLLLLMLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMLLLLLLLLLLLLLLLLLLLLLMLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMLLLMMLLLMLLMLLLLMLLLLLMLLLLLLLLMLMLLMMLLLMLMLLMMLLLLLLLMLLLLLLLLLLLMLLLLMMLLMLLMLLMLLLLLLLLLLLMLLMLLMMLLMMLLLLMLMMMLLLLLLLLLLLLLMLLLMLLLLLLLLMLMLLLLLLLMLLLLLLLLLLLLMLLLLLLMLLLLLLLLLLLLMLLMLLLMMLLLLMLLLLLLLLLLMLLLLLLLLLLLLLLLLLLLLLLLLMLLLMLLLLLLMMLLMMLLMLLLLLLLLLLLMMLLLLLLLLMLLMMMLLLLLMLLLLLLLLLLLLLLLLLLLLLLLLLLLLMLLLMLLLLLLLLMLLLLLLMLLLMLMMMLLMMLLLMLMLMLLMLLLMLLLLLLMLLLLLLLLLLLLLLLMLLLLLMLLLLMLLMLLMLLLLMLMLLMLLLLLMLLLLLLLLLLLLLLLLLLLLLLLLLLLLMLLLLLLLLLLLLMLLLLLLLLLLLLLLMLMLMLLLLLMLLLLLLMLLLLLLLLLMLMLLLLLLMLLLLLMLLLLLLLMLLMLLLLLLLLLMLLLLLLLLLLLLLLLMLLLLLLLLMLLLLLLLLLLLLLLLLLLLLLLLLLLMLLLLLLMLLLLMLMLLLLLLLLLLLLLLLLLLLLLLLLLLLLMLLLLLLLLLLLLLMMLLLLLMMLLLLLLLMLLMLLLLLLLLLLLLLLLLLLLLMLLLLLLLLLLLLLLLLLLLMLLLLLMLLLLLLLLLLLLLLLLMMLLLLLLLLLLLLLLLLLLLLLLMLLLLLLLLLLLLLLLLLLLLLLMLLMLLLLLLLMLLLLLLLMMLLLLLLLLLLLLLLMLLLLLMMLLLLLLLMLMLLLLLLMLLLLMLLLLLLMLLMLLLLLLLLMLLLLMLLLLLLLLLLLLLLLLLLLLLMLLLLLLLLLLLLLLLLLLLMLLLLLLLMLLLLLLLMLLLLLLLLLLLLLLLLLLMLLLLLLLLLLLLLLLLLMLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMMLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMLLLLLLLLLMLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLMMLMMMLMLMMMLMMMLMMLMMLLMLLMMLLLMMLMMLMMLLLMMMMMMMMMMMLLLLLLMMMMMLLMMMLMLMMMMMLLMMMMLMMMMMLLMMMMMMMMMMMMMMMMMMLMMMLMMMLLMLMMMMMMMMLLLMMLLLLMMLMLMMLMMMMMMLMMMLMMMMMMLLMLMLMLMLLLMMMMMLMLLLMLMLMLLMLMMMMMLLLMMLMLLMMLLMMMLMLLMLMMLLMMLMLMMMMMMMLMMLMMLMMMMLMMLMMMLLLMMLLLMMMMMMMMMLMMLLMLMMLLLMLMLLLLMMMLMMLLLMMMMLLLMLLLMMLLMMMMLMLLLLLMLLLMMLMLLLMMLLMLLMMMLMMMMMMMLMLMMLLLMMMLLLLMMLMLLMLMLLLMLLLLLLLMMMLLMMMMLLLMMMMMMLLMMMLLMMMMMLLLMMMLLMLMMMLLMMMMLLMMMMMMMLMMLMMLLLMLLMLLMMMLMLLMMLLLMMMLLLLMMMMMLMMLMLMMLLLMMLMLMMMLMMMMLLLMMLMLMLMMMMMLLLLMMLLMLLMMLMMLLMLMMMLMMLMMMLLMMMLMMMLLLMLLMLMLLMLLMLMMLLLLLMMLLLMMLLMLLMMMMMLLLLMMMMMMMLLLLMMLMLLMLLMLLMLLLLLLLLMMLLLMLLLLLLLLLLMMLLLLMMLLMMLLMMMLLMMMLLLLLLLLMLMLLLLLLMLLMLLLMLMLMMMLMMLMMLLMLMLLLLMLMLLLLMMLMLLMMMLLMMMLLLLLLLLLLMLLLLLLLMLMLLLMMLLLMMLMMLLMMLLLMLLLLMLMMLLLMMMLLMMMLLLLLLLLLLLLMMMLMMLLMLLLMLLMMLMMLMLLLLMMMLMMLMLLLLMLLLLLMLLLMLMMLMLLLMLLLLMLLLLMLLLLMLLLLLLLLLMMMLMLMMLMLMMMMMMLLLLLMMLLMMLMLMMLLLLLLLMLLMMLLLLMMMMMMLLLMLLLLLLLLLLLMLMLLMLLLLMLMLLLMLMLLLLLLMLLLLLMMLMMLLMMLLLLMLMMMLMLMMMMMLLMLLLLLLLLLLLLLLMMLLLLLLLLMLLLLLLLLMLMLLLMLLMMLMLLMLLLLMMMMMLLLLLMLMLLLLLLLLLMLLLLMLLLLLLLLLMLLLLLMLLLLMMMLLLLLLLLLLLLLLLLLLMLLLMLLLLLLLLLMMLLLLMMLLLLLLLMMMLLMMLLMLMLLLLMLLLLLLMLLLLMLLLMLLLLLLLLLLMLLLMLLLLLLMMLLLMMLLMLLLLMLLLMLMLLLMLLLLLLLLLLMLMLLLMMMMMMMMMMMMMMLMMMMMMMMMMMMMMLMMMMMMMMMMMMMLMMMMMMMMMMMMMMMMMMMMMMMLMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMLLMMLMMMMMMMMMMMMMMMMMMMMMMMMMMMMLLMLMMMMMMLMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMLMMLLMMMMMMMMMMMMLMMMMMMMMMMMMMMLMMMMMLMMMMMMMLMMMMMMMMMMMMMMMLMMMMMMMMMMMMLMMMLMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMLMMMMMLLMLMMMMMMLLMMMMMMMMLMLLMMMLMMMMMMLMMMMMMMMMMMMMLMMMMLMMMMMMMMLMMLLMMLMLMMMMMMMMMMMMMMMMMMMMLMMMMMMMMMMMMMMLMMMMMMMMMMMMMMMLMMMMLLMMLMLMMMMMMLMMLMMMLMMMMMMMMMLLMMMMMMMMLMMMMMMMMMMMMMMMMMMLLMMMMLLMMMMMMLMMMLMMMMMMMMMMLLMLMLLLMMMMMMMMMMMMMMMMMMMMLLMMMLMMMMLMMLMMMMMMMMMMMMMMMMMLLMLMMMMLLMMMMMMMLMMMMMMMLMMMMMMMMMMMMMMLLMMMMLLLLLMLMMMMMMMLMMMMMMMMMMMMMMMMMMMLMMMMLLLLLMMMLMMMLMMMMMMMMMMMMMMMMMMMMMMMMMMMLMLMMMMMMMLMMMMMMMMMMMMLMMLLLLLLMMMMMMMMMMMMMMMMMMMMMMLMMMMMMMMMMMMLMLMMLLMLLMMLLMMLMLMMMMLMMLMMLMMLLLMLLMMLMMMMMMMMMLLMMLLMMMMMMMMMMMMMMMMMMMMMMLMLMMLMMMMMLLLMMLMMLMLMMMMMMMMMMMMLLMMMLLMMMMLMMMMLMMMMLMMMLLLMMMMMLMMMMMMMMMMLMMMMMLLMMMMMMMMMLMLLMMMMMMMMMMMMMMMMLLLLMMLLMMMLMLLMMMLLLLMMMMMMMMMMMLLMLMMLLMMMMLMLLMMLMMMMMMMLMMLLMMLLMLMMMMMMMMLLLMMMLMMLLMMMLLMMMMMLLLMMMLMMLLMLLMMMMMLMMMMMMMMLMMMMLLLMMLLMLMMLMLMLMMMLLLMMMLMLMMMMMMLMLMMMMLMMLLMMMLMMMMLMLLMMMMMLLLMMMMLMMMLLMMLMMLMMLLMMMLMLLLMMMMMMMMMMLLMLLLMMLLMLLLMLLLMMLMMLLLLLMLLLLMLLLLLLLLLLMMMMLLLMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMLMMLMMMMLMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMLMMMMMMMLMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMLMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMLMMMMMMMMMMMMMMMLMMLLMMMMMMMMMMLMMMMMMMMMMMMMLMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMLMMMMMMMMMMMMMMMMMMMMLMMMMMMMMMMMMLMMMMMMLMMMMMMMMMMMMMMMMMMMMMMMMMMMMMLMMLMLLMMMMMMMMMMMMMMMMMMMMMLMMMMMMMMLLMMMMMMMMLMMMMMLMMMMMMMLMMMMMMMMMMMMMMMMMMMMMLMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMNMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMNMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMNMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMNMMMNNNMMMMNMMMNMMMNMMNMMMMMMNMMNMMMMMNMMNMMMMNMNMNMMMNMNMMMNMMMMMMNMNMMNNMNMMMMNMNMMMMMMMMMNMMNMMNNMMMMMMMMMMMNMMMNMMNNMMMMMMMMMMMNNMMMMMMMNMMMNNMMMNMMMMNMMMMMMMNMMMMMMMMNMMMMMNMMMMMNNMMMMMMMMMNMNMMMMNMMMNMNNMMMNNMMNNMNMNMMMMMMMMMMMNNNMMMMMNMMNMNNMMMMMMNNMMMMMMMMNMMMMNMMMMMMMMMMMMNNNMMMMMMMMMMMMMMMMMMNMMNMMMNMMMMMNNMMMMMMMMMMMMMMMMMMMMNMMMMMMMMMMMMMMMNMMMMMMMNMMMMMMMMMMMMMMNMMNMMMMMNMMMMMMMNMMMMMNMMMMMMMMNNNMMMNMMMNMNNMMMMMMMMNMMMMNMMMMMMMMMMMNNNMMMMMMMMMNMMMMMMNMMMMMMMNMMMMNMNNMMMNMMMNMMMNMMMNMMMMMMMMMMMMMMMMNNMNMNMMMMMMMMMMMMMMMMMMMMMMMMNMNNMMMNMNMMMMMMNMMMNNMMNMMMMMMMMMNMMMNNMMMMMMMNMMNMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMNMMMMNMMMMMMMNMMMMMMMMMMMMMMMMNNNMMMMMMMNMMMMMMMMMMMMMMMMNMMMMMMMMMMMMMMMMMMMMMMMMMMMMNMMMMMNMMMMMMMMMMMMMMMMMMNMNMMMMMMNMMMMMMNMMMMMMMMMNMMMMMMMMMMNMMMMMMMMMNMMMMMMMMMMMMMMMMMNMMMMNMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMNNMMMMMMMNMMMMMMMMMMMMMMMMMMNMMMMMNMMMMMMMMMMMMMMMMNMMMMMMMMMMMMMMMMNMNMMMMMNMMMMMMMMMMMMMMMMMMNNMMMMMMMMMMMMMMMMMMMMMMMMMMNMMMMMMMMMMMMMMMMMMMMMMNMMMMMMMMMMMMMNMMMMMMMMMMMMMNMNMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMNMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMNNMNNNNMNNMMNNNNNNNMNNNNNMMNNNNMMNNMNNMNNMNNMNNNNNMNNNMNMNMMNNNMNMMNNNNMMMMNNNNNMNMMMNNNNNNMMMMNNMNMNNNMMMNNMNMNNNNNNNNMNNMMMNNNMMNNNNNNNNNMMNNNNNNNMMMMMNNNMMNNNNNNMNNMNNNNMMMNMMNMNMNNMNNNNNMMMMMNNNNNMNNMNNNMNNMNNNMMNNNNNNNNNNNMNNNNMNMMMMMNMMMMNNNNNMNNMMMNMMNNNNMMMNMMMNMNMNNNMMNNNMMNNMNNMNMMNMMMNNMMMMMNNMMNNMMNMMMNNNMNMNNNNNMMNNNNMNNNMMNMNNNNMNNMMMMNNNMMNNMMMNNNNNMNNNNNNNMMNNNNNNMMNNNMNMNMMMNNMMNNMNMNMNMNNNMNMNMMMNMNNMMNNNNNMNNMMMNNMNMMMMMNMNMMNNMNNMMMNNMMMMNMMMMMNNMMNNNNNNNMMNMNMNMMNMMNMNNNMMMNNNNNMNMNNNNMNMNMNNNNNNNNNMNMNMNNNNMMMNMNNMNMNNMMNMNNNNNNMMNNNMMMNNMNMMNMNMMNNNNNMNMMMNMMMNMMMMNMMMMMNNNMMMMMNMMNNMNMNMMNNMMMMMNMNNNMMMNMMMNNMMNNMMNMMMNNMMNMMNMMMNMMMNNNNNNNNNNMMNMMMMNMMNNMMMMMNNNNMMNNNMMNMMNMMMMMMNNMMNNMNNNMNNMNNMNNNNMMMMNNNMMNMMMMNMNMNNMMNNMNMNNMMMNNNMMMNMMNMMMMNMMMNMMNMNNMMNNMMMNNNMNMNNNMNMMMMMMMMMMMMMNMMMNNMNMMMNMNMMNNMNNMNNNMMNMNNMNMNMNMNNNNNMMMMNMMMNMMMNNMMNNMMNNMMMNMMNNNMMMNMNNMMNNMMMNMMNMNMNMMNMNNNNMMNNMNNNMMMMNMMMMMNMMNMNMNNMMMMMNNMMMMNMNMNMNNMMMMMNMNMMNMNMMNMNNMMNMMNMMNMNMMMMNMMMNMMMMMMMNNMMMMMNNMMMMNMNMNMMNNMMNMNMNNMNNMMMMMNMMMMNMMNNMMNNNMNMNNMMNMMNMMNMMMNMMMNMMMMMMMNMMNMMMMMMNNNMNNMNMMNMMNMMNMNMMNMMMNNMMMNNMMMMMMNMMMMMMMMNNMNNMNMMMNNNMNNMMMMMMMMMMMMMMMMMNMMMMMMMMMNMMNMMMMMMMMMMMMMMMNNMMMMNMMMMMMMMMMMMMMMMMMMMMNNMNMMMMMNNMMMNMMMMMNMMMMNNNNNMNNNNNNNNNNNMNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNMMNNNNNNNNNNNNNNNNNNNNMNMNNMNNNNNNNNNNNNNNNNNNNNNNNNNNNNNMNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNMNMNNNNNMNNMNNNNNNMMNNNNNNNMNNNNNNNMNNNNNNNNNNMNNNMNNNNNNNNNNNNNNNNNNNNMNNNNNNNNNNNNNNNNNNNNNNNNNMNNNNNNNNNNNNNNMNMNNNNNNMNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNMNNNNNNNNNNNNNNNNNMNNMNNNNNNNNNMNNNNNNNNNNNNNNNNMNNNNNNMNMNNNNNNNNNNNNNNNMMNNNNNNNNNNNNMMNNNMNMNNNNNNMMNMNNNNNNNMNNNNNNNMNNNNNNNNNNNNNNNNNNMNMNNNNNNNNNNNNNNNNMNNMNNNNNNMMMNNNNMMNNNNNNNNNNNMNNNNNNNNNMNNNNNMNNNNNMMNNNNNNMNMNNMNNMNNNNNNNNMNMNNNNNNNMNNNMNNNNNNNNNNNNNMNNNNNNNNMNNNMNNMNNNNNNNMMMNNNNNNNNMMNMNNNMNMNNNNNNNNNNNNNNNMNNNNNNNNNMNMNNNNNNNNNMNNNNNNNNNNNNNNMNNNNMNNNNNMMNNNNMNNMNNNNNNNMNNNMNNNNNNNNNMNNNMNNNNNNNNMNNNNNNNNNMNMNNNMNNNMNMMMMNNNMNNMNNNNNMNNNNNNNNNNNNNNNNNNMNMNNMNNNMMNNMMNNNNNNNNMNNNNNNNNMNNNNNNNMNNNNNMMMNNNNNNNNNMMNNMNNNNMMNNMNNNMMNMNMNNNNNMNMNNNNNNNNMMNNNMNMNMMNNNMMMNMNNNNMNNNMMMNNNMNMNNNMNNNNNNNNNMMMNMNMNNMNNNNNNMNNMNNNNNMMNMNNNNMMNMMNNNMMNMMNMNNNMMMMNNMNNNNNNNNNNNMNMNNMNNNNNNNNNNMNNNNNNNNMNNNMNNNNMNNNNMNMNNNNNMMNNNNMNMNMMNNNNNNNMNNNMNMNNNNNNNMNNNMNMNNNNNNMNMNNNNNMMMMNNNNNNNMMMNMNNNMMMNNNMMNMMMNNMNNNNNNNMNNMNNMMNMNNMNNNMNNNNMNMMNMMNNMNNMNMNNMMMNNMNNMNNNNMMNMNNNNMMNNNNNMNMNNMNNNNNNNMNMNMMNNNNNMNNNNMMMNMNNMNMNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNMNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNMNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNMNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNMNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNMNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNMNNNNNNNNMNNNNNNNNNMNNNNNNNMNNMNNNNNNNNNNMNNNNNNNNNNNNNNNNNNNNNNNNMNNNNNNNNNNNNNNNNNNMNNNNMNNNNNNMNMNNNNNNNNMNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNMMNNNNNNNNNNNNNNNNNNNMNNNNNNNNNNNNNNMNNNNNNNNNNNNNNNNMNMNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNMNNNNNNNNNNNMNNNNNNNNNNNNNMNNNNNNNNNNNNNNNNNNNMNNNNNNNNNNNNNMMNNNMNNNNNNNNNNNNNNNNNNNNNNNMNNMNNNNNMNNNNMNNNNNMNNNNNNNNNNNNNNNNNOOONNNNNONNNNNNNNNNNNNNNNNNONNOOONONNNNNNNONNNOONNNNNOONNONNNNNNONNNNNNNNNNNNNNNNNNNNNONNNNNNNNNNNNNNNNNONNNNNNNNNNNNNNNNNNNOONNNNNNNNNNNNONNNONNNNNNONNNNNNNNNNONNNNNNNNNNNNNNNNNNNNNNNNNNONNNNONNNNNNNNNNNNNNNNNNNNNONNNNNNNNNNNNNNNNNNNNNNNONNNNNNNNNNNNNNNNNNNNNNNNNNNNNNONNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNONNNONNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNOONNNNNNNNNONNNNNNNONNNNNNNNNNNNNNNNNNNNNNONNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNONNNNNNNNNONNNNNNNNNNNNNNNNNNONNNNNNNNNNNNNNNNNNNNNNONNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNOONNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNONNNNNNNNNNNNNNNNNNNNNNNNNNONNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNNOOONNONNONNNONNNONNOOONNNNOONONNOONNNNOOONNNNNNNNOOOONOONONOOONNNNNNNONNNOONONNONNNOONNNONONNOONNOOOONNNNNNNNNOONONNNNNONONNNNONNNONNONOONNOONOOOONNOOONNONONNNNNOONOONONOONNNONNONNONNNNNNNOONNNONOONONNNNNNNONOONNONNOONNNOOOOONNNOONNOOONNONNNNNNNONNNOOONNNNNONNNNNNNNNOONNNNONNNNNNNNNNNONONOONNNNNONNONNNNNNONNNOONONNONNNNONNNNOONOONNOOONONNNONNONNNNNNONONNONNNNNNOOOONNNNNONNOOONNNNNONNNNNNNONNOOONNNNNNNNNOONNOONONNNOONNONNNNNNNNNNNNNNNNNOONNNNNONOOONNNOONNNNNNNONOONNNNNNNNNNONNONNNNNNNOONNNNNONNNNONNNNNNNNONNONNONNNONNNNNNNNNNONNONNNONNNOONNNNOOOONNNNNNNNONNONONNOONNONNNNNOOONNNNNNONNNNNNNNNNNNNONNNNNNNONNNNNNNNNONONNNNNNNONNNNONNNNNNNNNNONNNNNNNNNNNONNNNNNNNONNNONNNNNONONNONNNNNNNNNONNNNNNNNNNNONNNNNONNNNONNNONONNNNNNNNONOONNNNNONNNONNNONNNNNONNNNONNONNNNNNNNNNONONOONNNONOONNNNNNNNNOONONNOONNNNNNNNNNNNONNNNNNNONNNNNNNNNNNNNNNONNNNOONNOONNONNNNONONNNNNNNNNNNNNNNNNONONONNNNNNNONNNNNOONNONNNONNNNNNNNONONNNNOONNNNNNNNNNNNNONNNNNONNNNNNNONNONONNNNNONNNONNONNNNNNNNNNNNNONNNNNOONNNNNNNNNONNNONNNNNNNNNNNNNNNNONNNNNNNNNNNNNNONNNNNNNNNNNNNNNNNNNNNONNNNNNNNNNONNNNNNNNNNNNNNNONNNONONNNNNONNNNNNNNNONNNOONNNNNNNNNNNNNNNNNNNNNOONOOONNNNNNNNNNONNNOONNNNNNNNNOOONNNNNONNNNONNNNNONNNNNNNNNNOOONNNNNNNNNNONNONNNNNNNONNNNNNNNNNONNNNNNNNNNNNNNNNNNNNNNNNNNNNNONNNNNNNNNNNOONNNNNNNNOONOONOOOONOONOOOONONOONOOOONOONOONOOONONOOONOOONNOONOONOOOOOOOOONONONNONNOONNNNOOOOONOOOOOOONONONNNNOOOOONOOOONNOOOOOOONOONNOONOOOOONOONOOONOOOOOONNONONOOOONNONNOOOONNOOONNNNNOOOONOOOOOOOOOOONOOONOOOOOONNNOONOONNOOOOOOOOONOOOONNNNOOOOOONONNONOOOOONNOOOOONOOOONNNOOONOOOOONNNOOONONONOOOOOOOOONNOONNNNNNNOOONOOOONNNOONONNOOOOONOOOOONNOOOOOOOOOOOONNOOONOONONNOONOOOONOOOOOOOOONNONOOOONNNOOONONOOONNNNOONOOONNONNOONONOOOONOONNNONNNNONNNOONONNONNOOOOONONONNNNNOOOOONOONNONNNOOOONNNNNONOONNNONNOOONONNNNNOONOOONOONOONOOOOONNONNONNOOOOONONNNOOOOOOOOOOOOOONOOONOOONOONNOOONOOONNNOOOONNNONNNOONOOOOOONOOONONOOOONNONONNNNONNNNNOONNNNNNNONNONNNNOOOONNNNONNNNOONNOOOOONNOONONNOONNNNOOOOONOOONOONNOOOOONOONOONNOONOOONNOOOONNNNNOOONNONOOONNNOONNOOONONNONOOOOONONNONNNONNNNOOOONONNOOOOOONOOOONNNOOONOONONONOONNNOONOOONNNNONNONNONNONNOOONOONONONNONNONOONNONNOOONNOOOOOONNNNOONOOOONNNOOONNNNOONNNOOOONNNNNNNNOOONOONOONONOONNNNNNNNNOONNNNNOONNOONNONNONOOONONOONNONNNNOOOONONNNNNNONONNOOONNNOOONNOOOOONNNONNOONNOONNONNONOOONNNOOONONNNNNOOONOONNNNNONONNOOONNNNOOONNOOONONOOONNNOOONNONOOONONOONOONOONOONNONOONNNNNNNNNNOOONNOOOONNNONNNNNNNOONNONNONNNNNOOOONOONONNNNONNONNNNNNNOOONNOOOONNNOONNONNNNNNNNNOONOONNNNNNNOONONONNOONNONONNONNNNONNNONNNNNNNNNOONONNNNNOONNNNOONOONOONNNONNOOONNONNNNOONONNNOONNOONOOOOOOOOOOOOOOOOOONOOOOOOOOOOOOOOOOOOOOOOOOOONOOOOOOOOOOOOOOOOOOOOOOOOOOONOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOONOOOOOOOOOOOOOOOOONNOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOONOOOOOOOOOOONOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOONOOOOOOOOOOOOOOOOOOOOOOOOOOOOOONOOOOOOOOOOONOOOOOOOOOOOOOOOONONOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOONOOOONOONOOOOOONOOONOOONOOOOOOOOOOOOOOOOOOONOOOOOONOOOOOOOOOOOOONNONNOOOONOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOONNOOOOOOOOOOOOOONOOOOOOOONOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOONNOOONOOOOOOOOOOOONOOOOOOONOOOOOOONONONOONONOOOOOOOOOOOOOOOOOOOOOONOOOOOOOOONOOOONOOOOONOOOOOONNOONOOOOOOOOOOOONOOOOOOOOONOOOOONOOOONOONOOOOONOOOONOOONOOOONOOOOOOOOOOONOOOONOOOOOOOONNOOOOOOOOOOOOOOOOONOOOOONONOONNOOONOOOOOOOOOOOONOONNOONOOONOOOONOOOONONOOOOOOOOOOOONNOOOOOOOOOOOONOOOONONOONOOOOOOOOOOOOOOOOOOOONONOOOOONOONOOOOOONOOOONOOOONOONOOONOOOOOONOOONOONNNNNNNNONOOOONOOOOOOOOONOOONNONOOOONOONNONNOOOOOOONONONOONNOOOOOONNOOOOOONONNOOONOOOOOOOOONOOOONNNOOOONOOONONNNOOOOOONONONOONNNOOOOONNOOOOOONNOONNONOOOONONNONNOOOONNOOOONNONOOOONOONOONOONOONOOOOOOOOOONNOOONOONNONOOOOOOONOOOOOONNOOOOOOONOOOOOOONNOONOOOONOONNOOOOOONOONNOOOOOOOOOOOOOOOOONNOOONOOONNOOOOOOOOOOONONOONNONOOONOOONOONONOOOOONOOOOOOOONONNOOOOOONNOONOONONNOOOOONNOONOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOPOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOONOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOONOOOOOOOOOOOOOOOOOONOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOONOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOONNOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOONOOOOOOOOOONOOOOOOOOOONOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOONOOOOOOOOOOOOOONOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOONOONOOOOOOOOOOOOOOOOOOOOOONOONOOOOOONOOOOOOOOOOOOOOOOOOONNOOOOOOOOONOOOOOOOOOOOOONOOOOOOOOOOOOOOOOOOOPPPOOOOPOOOOOOOOOOOOOOPOPOOOOPPOPPPPOPPOOOOOOOOOOPOOOOOOOOOOOOOPPOOOOOOOOOOOOOOPOPOOOOPPOOOOOOPOOOOOOOOOOPOOOOOOOOOOOPOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOPOOOOOOOOOOOOOOOOOOOPOOPOOOOOOOOOOPOOOOOOOOPOOOOOOOOOOOOOOOOOOPOOOOOOOPOOOOOOOOOOOPOOOOOOPOOOOPOOPOOOOPOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOPOOOOOOOOOOOOPOPOOOOOOOOOOOOPOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOPOPOOOPOOOPOOOOPOOPOOOOOOOPPOOOPOPPOOOOOOPOOOOOOOOOOOOOOOOOOOPOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOPOOOOOOOOOOOOOOOOOOOOOOOOOOOOOPOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOPOOOOOOOOOOOOOOOOOOPOOOOOOOOOOOOOOOOOOOOOOOOOOOOOPOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOPOOOOOOOOOOOOOOPOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOPOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOPOOOOOOOPOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOPOOOOOOOOOOOPOOOOOOOOOOOPOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOPOOOOOOOOOOOOOOOOOOOOOOOPOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOPOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOPPPOPOOOOPPPOPOOOPPOPOOOPPPOOOPPPPOPPPPPOPOOPOPPOOPOPOOOOPPOPPOPPOOPPPOOPOPPPPOPOOPOPOOOOOOOOPPOOOPOOPPOOPOPOOPOOPPPOOOOOPPOOPOOPOOOOPPPPOOOOOOOOOPOOPPOOPOOPPPPOOPOOOPOOPOOPPOOOPOOPOOOOPOPOPOPOPOOOOOPOOOPOOPPPOPOOOOOOPPOPOPOOPPOOOPOOOPOOOPPPOOPPOOOOOOPPPPOOOOOOOOOOPOPOOOOOOOPPPOOOOPPOOPOOPOOOPPPPOPOPOPOOPOOOOOOOOOOOPOPOOOPOOOPPOOPOPOPOOOOOPPOOPOPOPOOOOOPPOPPOOPOOOPPOOOPOPPOOOOPPPPPOPOPPOOPPPPOPPPOPOPOPPPOOOOOOOOOPPOOOPOPOOPOOOPPOOOPPOOOOPOOOOPOOOOOOPOOPPOOPOOOOOPOOPPOPPOOPPPOPOOPOOOOOPOOOOOPOOPOOOOOOOOOPOOOPOOOOOOOPPPPPPOOOOOOOOOOOOOOOPOOOOOPPOPOOOOOPOPPOOOOOOOOOOPPOOOOOOOOPPPPOOPOPPOOOOPOPOOPPPOPOOOOOOPOOOOPOOOOPOOOOOOOOPOPPOOOPOPOOOOOOOOOOPOOPOOOOOOOOPOOOOOOOPOPPOOPPOPOPOOPOPOPOPOOOPPPOOPOOOOOOPOOOOOOOOOOOOOPOOPOOOPOOPPPOPOOOOOOOOPOOPPOOOOOOOOPOOOOOPOOOPOPOOOOPOOOPOOOOOOOOPOOPPPOOOOPOOOPPOOOOOOOPOOOOOPPOPOOOPPPOOOOPOOPOPPOOOOOOOOOOOOOOOOOOPOOPOOOOOOOOOOOOOOOOOOPOOOOPOOOOOOOOPOOOOOPOOOOPPOOOPPOOPOPPOOOOOOOPOOOOOOOPOOOOOOOOOPOOPOOOOOOOOPOPPOOOOOPOOPOOPPOOOOOOOOOOOOOOOOOOOPOOOOPOOOOOOOOOOOOOPPOPOOOOOOOOOOOOOOOPOPPOOOOOPOOOOOOOOOOOOOOOOOOOOPOOOOOOOPOOOOOOPPOOOOOOOOOOPOOOOOPOOOPOOOOOOOPOOOOOOOOOOOPOOOOOOOOOOOPOOPOOPPOOOPOOOOOOOOOOPOOOOOOOOOOOOOOOPOOOOOOPPOOOOOOOOOOOOOOOOOOOOOOOPOOOOPOOPOOOOOOPOOOPOOOPOOOOOOOOOOOOOOPOOOOOOOOPOOOOOOOOOOOOOOOPOOOOOOPOOOOPOOOOOOOOOPOPPOPPPOPPOOPPPOPPPPPPPPPPPPPPOPPPPPPPPPPPPPPOPPPPPPPPPPPOPPPPPPPPOOPPPPOPPPPPPPPPPPPPPPOPOPPPPPPPPPPPPPPPPPPPPPPPPPPPOOPPOPPPPPPPPPPPPPPPPPPOPPPPOPPPPPOPPPPPPPPPPPPPPPPPPOPOPPOPPPPPPPPPPOPPPPPPPOOPPPPPOOPPPPPPPOPPPPPPOPOPPPPOPPOPPPPPOPPPPOOPPPPPOPPPPOPPPPPPPPOPPOPOPPPPPPPPPPPPPPOPPOPPPPPPPOOPPPOPPPPPOPPOPPPPPPOOOPPPPPPOPPPPPPOPPPOPPOPPPPPPPPPPPPPOPPPPPPOPPPPPPOOOOPPOPOPOPPPPOOPPPPPOPPPPPPPPPPOPPPPOOPPPPPPPPPPPPPOPPPPPPOPPPPOPOOPPPPPPPPPPPPPPOPOPPOPOPPPOPPPOPPOPPPOOOPOOPPOOPPOOPPPOPPOOPPPOPPPOOPPPPPPOPPPPPPOOOOPPPOPPPOPPPOOPPOOOPPOPPPOPPPPPPOPPOPPPPOPPOPPOOPPOPPPPPPPPOPPPPPOPPPPPPPPOPOPPPPOPOPOPOOPPPPPPOPPOPPOPOOPOPPPPPPOPPOOPPPOOOOPPPPPPPPPPPOOPPPOPPOOOPOOPPPPPPOPPOPOPOPPPOPPPPPOOOOPOPPOPPPPOPPPPOOPPPOPOOPOPPPPPOPOPOOOPOPOOPOPPPPPOPOPOPPPOPOPPOOPOOPOOPOPPPPOPPOPOOOPPPOOOPPOPPPOPPPOPOOOPOPOOOOOOOPPOPOPPPOPOOPPPPPOOPOOOPOPPOOOPPPOOOPOOOPOOPPOOPPOPPOOOOPPOPPOOOPOPOPOPPPPOPPPOPPOOOOPPPPPOPOOPOOPPPPOPOPOOOPPPPOOPPPOPOPPOPOPOOPPPOPPOPOOOPPPOPOOOOOOOPPOPOOPOOOPPOPOPPPPOPPPOPPPPPPPOPOPPOPOOPPOOOOPOOOOOOOPPOPOOOOPPOPOOOPPPOOOOPPPPPPOOPPPOOPOOOOOOOOOPOOOOOPOOPPPOPOPOPOOOOOOPPOOPOPPPPOPPOPOOOOOOPOPPOPOPPPOOOOPOPOPPOOPPOOOOPPOPPOPOPPOOOOPOOOPOPPPPPOPOOOOPPOOOPOOOPOPPOOOPPOPOPOOOOPOPPOPPOOPPPOOPOPPOPOOOOPPOPOPPOOPOOPPPOOPPOOOPPPOOOOOOOOPOPPPPOOOOPPPPOOPOOPOOOPPOPOOOPOPOOOPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPOPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPOPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPOPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPOOPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPOPPPPPOPPPPPPPPPPPOPPPPPPPPPPPPPPPPPPPPPPOPOPPPPPPPPPPPPPPPOPPPOPPPPPPPPPOPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPOPPOPPPOPPPPPOPPPPPPPPPOPPPOPPPPPPPPPOPOPPPPPOOPPPOOPPOPOPPPPPPPPPPPPPPPPPPPPPPPPPOPPOOPPPOOPPPPPPPPPPPOPPPOPPOPPPPPPPPPPPPPOPPPPPPPPPPPPPPPOPPPPPPPPPPPPOPPPPPPPPPPPPPPOPPPPPPPPPPPPOPPOPPOPPPPPOOPPPOPOPPPPPOPPPPPPPOPOPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPQPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPQPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPQPPPPPPPPPPPPPPPPPPPPPPPPPPPPQPPPPPPPPPPPPPPPPQPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPQPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPQPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPQPPPPPQPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPQPPPPPPPPPPPPPPPPQPQQPPPPPPPPPPPPPPPPPPPPQPPQPQPPPPPPQPPQPPPPPPPQPPPPPPPPPPPPPPPPPPPPPQPPQPPPQPPPPPPQPPPPQPQQPPPPPPPPPPPPPPPPPQPPPPPPPPPPPQPPPPPPPPPPPPPPQPPPPPPPPPPPPPPPPQQPPPPPPPPPPPPPPPPPPPPPPQPPPPPPPPPPPPPQPPPQPPPPPPPPPPPPPPPPPPQPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPQPPPQQPPPPPQQPPQPPPQPPQPQPPPPPPPPQPPPPPPPPPPPPPQPPPPPPPPPPQPPPPPPPPQPQPQPPPPPPPPPPPPPPPPPPPPPQQPPPPPPPQPPPPPPQPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPQPPPPPPPPPPPPPQPPQPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPQPPPPPPPPQPPPPPPPPPPPPPPPPPPPPPPPPPPQPPPPPPPPPPPPPPPQPPPPPPPPPPPQPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPQPPPPPPPPQPPPPPPPPPPPPPPPPQPPPPPPPPPPPQQPPPPPPPPPQPPPQPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPQPPPPPPPPPPPPPPPPPPPPQQPPPPPPPPQPPPPPPPPPQPPPPPPPPPPPPPPQPPPPPPPPPPPQPPPPPPPPPPPPPPQPPPPPPPPPPPPPPPPPPPPPPPQQPPPPPPQPPPPPPPPPPQPPPPPPPPPPPPPPPPPPPPPPPPPPPPPQPPPPPPPQPPQPPPPPPPPPPPPPPPPPPPQPPPPPPPPPPPPPPPPPPPPPPPPPPQPPPPPPPPQPPPPPPQPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPQPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPQPPPPPPPPPQPQPPPPPPPPPPPPPPPPQPPPPPPQPPPPPPPPPPPPPQPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPQPPQPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPQPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPPQQQPPPQQPQPPPPPPQPPPQPPPPQPQPPQQPPQPPPPQQPPQPPPPPPPQQPPPPPQQPPPQQPPPPPPPPPPPPPQPPPPPQQQQPPPPQPPPPPPPQPPQPQPPQQQPPQPPQQPPQQPPQPPPPQQPPPQQPPQPPPPPPPQQQPPPPPPPPPQPQPQPPPPPPQPPPPPPPPPPPPPPPPPPQPPQQQPPQPQPPQQPPPPPQPPPPPPPPPQQPQPPPPPQPPQPPPPQPPPQPPPPPPPPPQPPPPPQPPPQPPPQPPQPQPPPQPQQPPPPPPPPPPQPPQPPPPPPPQPPPPQPPPQPPPPPQQPQPPQQQPPPQQPPQPPPPPPPPQPPQPPPQPQPPQQPQPPPQPPPPPPPQPPPPPPQPPQPPPPPPPQPQPPQQPPQPPPPQPQPQPPPQQPPPPQPPQPPPQPPPQPPPPQPQQPPQQQPQPPPPPPQPPPPPPPPPQPPPPQPPPPPQPPQQPPPPQPPPPPPPPPPPQPPPPPQPPPPQQQPPPQQPPPPQQPPQPPQPPPPQQQPPPQPPPQPPPPPPPPQQPPPPQQPPPPPQPQPQPQPQPPPPPPPPPPPQPQQPPPPPPQPPQPPQPPPPPPPPPPPPPPQPPQPPPQPPPPPPPPPQPPPPPPPQPQPPQPPPQPPQPPPPPPQQPQPPPQPPPQPPPQPPPQPPPQPQPPPPPPPPPPPPPPQPPPPQPPQQPPPPPQPPPPPQPQPPPPPPQPPPPPQPPPQPPPPPPQQPPPQQQPPPQPQQQQPQQPPPPPPPPPPQPPPPPQPPQPPPPPPPPPPQPPPPPPPPPQPPPPPPPPPPPPPQPPPPPQPPQPPQPPQPPPQPQQPPPPQQPPQPPPPPPQPQPPPPPQPPQPPPPPPPPPPQPPPQPPPPPPPPPPPQPPPPQQPPPPPPPPPPPPQQPPPPPPPPQPPPPPPPPPPPPPQPPPPPPPPPPQPPPPPPQPPQPPPPPPPPPQPQPPQQPPPPPPPPPPPQPPPPPPPPPPPPPPPPPQQPQQPPPQPPQPPPPPPPQPPPPPQPPPQPPPQPQPPQPPPPPPPPPPPQQQQPPPPPPQPQPPPPPPQPPPPPPPPPPPQPPPPPQPPQPPPPPPPPPPPPPPPPPPPPPQPPPPPPPPPPPPPPPPPPQPPPPPQPPPPPQQPPQPPPQPQPPPPPPPPQQPPPPPQPPPPPQPPPPPPPPPPPPPPPPPQPPPPPPPPPPPPPPPPQQPPPPPPPPPPQPQPPPPPPPPPPPPPPPPPPPPPPPQPQPPPPPPPPPPPPPPPPPPPPPPPPPPPQPPPPPPQQQQPPPPQQPQQQQPPPPQPPPPQQPQQQQQPQQPQPQPPPQQQQPQQPPQPQPPPQPQQQQPPQQPQQQPPPQPQQPQQPPPQQQQPPPPQQPPQQPPPQPQPQPPPQPQQQQPQQPPQQQQQQQQPPPQQQPQQQQQPQPPQPPPPPQQQPPPQQQQPQPPQPQPPQPPPQQPPPPQPPPQPQQQQQPQPPPQPQPQPPPPPPQQPQQPQQPPPPPQQQPPQQPQPPQQPQQQQQPPPQQPPPPPPPQPQQQQQQPQPPQQPQQPQPPPPPQPQQPPQQPPPPQQQPPQQPPPPPQPQQQQQQPPPQPQPQQQQPPPPPPPPPQQPQPPPQPQPQPQPQQPPPPPQPQQQPPPPPPPQQQQQPPQPPPQQQQQPQPQPPQQPPPQQQQQQQQPQQQQPPPQQQQQQPPQQPPPQPQPPQPPPQPPQQPPPQPQQQPQQPPPPPPQQPQPQPPPQQPPQQQPPPPQPPPPQQQPQPPPPQPQQPQPPPPQQPQPPQQQQPPPPPQPPQPPQQQQQPPQQQPPPPQQPPQQQPQPPPPPPPPPPQQQQPPPQPQPPPPPQPPPQPPPPQPQPQQPPQPQQPQPPQPPQPPPPPQPPPPPQPPQQPQQPPPQPQPQPPQPPPPPPQPPQQQQPPPQPPPQQQPPPQPQPQQPPQPPQPQQPPQPPQPQPPQQPQPPQPPPPPQPPPQPPQPPQPPPPPQQQQPPQPPPQQPQPPPPPPQQQPPQPPQQPPPPQPPQPQQPPQQPPQPPPQPPQPPPPPPQQPPPQQPQPQPQQPPPPQPPPQPQQPQPPPQPPPPQPPPPQPPPPQPPQQPPPPPPQQPPPQQPQPPQQPQQPPQPPPQQPPPQQPQQQPPPPPPPPPPQPQQPPQQQQQQPPQPPPPPPPPPPPQPQPPQQPPQQQQQQPPPQQPQQPPPPPPPPPPPPPPPQPPQQQPQPPPPQQPQQPQPQPQPQPQQPPQPPPPQPPPPPPPQPQPPQPQPPPPQQPPQPPQPPPPPQQPPQPPPPPPPPPPQPPQPPQQQQPPPQQQPPQPPPPQPQQPPQPPPPPPPPPQQQPQPPPPPPQPPQPPPPQPQPQPQQPPPQQQPQQPPQPQQPPPPPPPPQQPQPPPPPPPQQQPQQQPPQPQQPPPPPPPPPQQPPPPPPPPQQQQPPPPQPQPPPPPPQPPPPPPPPPPPQPPPQPPPPPPQPPPPQPPPPPPQPQPPPPPPPQQPPQPPPQPPQPPPPPQPPPQQPPQPPPPPPQPPPQQPPPQPQQPPPPPPPQPQPPPPQQPPPPQQQQPPPPQPPQPPQQQQQQPPQQPQQQQQPQQQQQPQQQQPQQPPQPQQQQPQQQQQQQQPQQPQQQPQQQQQQQQQPQQQPQQQQPQQQQPQPQQQQQQQQQQQQQQQQQPQQQPPQQQQQQQQQQPQQQPQQPPQQQQQQPPQQPPQQPQQQPQQQQQQQQQPQQQQPPQPPQQQPQQQQQPPQQQQQQPQQQPQQQQQQQQPQQQQPQPQQQQQQQPQQQQQQQQQPQQQQQQPPPQQQPQQPPQQQQQPQQQQQQQQPQPPQQQQQQQQQPQQPPPQQQQQQQQQQPQQPPQQQQPQPQQQQQQPQPPPPQQQQQQQQQQQPQPPQQQQQQQPQQPQPQQQPQPQQQPPQQQPQQPQQQQQQQQPQQQQQQQPQQPQQQPPPQQQPPQQQPQQPQPQQPQQQQQPQPPQQQQQQPQPPQPPQPPQQQQPPQPPPPQQPQQQQPQPPQQQQQQQQQQPQPPPPQQPQPQQPQQPQQPQQQPPQQQQQQQQQQPPQQQQPPQPQQQQQQQQQQQPPPQPPPQQPQQPQQQPQQPPQQQQQQQQQPQQQQPQQQPQPPQPQQQPQQPQPPPQQQQPQQPPPPQQQPQQQQQPPPPPQQQQQQQPPQQQQPPPPPQQQPPQQPQPQPQPQQQQQQPPQQQQQQQQQQPPQPPQQQQQPQQPQQQPQQQQPQQQQPPPPQQQPQQQPQQPPQQPQQQPQQQQPQQQQQQPQQPQQQQPPQQQPQPPQQQQQPPPQPPQQQQQQQPPPQQQQQQPQQQQPPPQQQPQPQPQPQQPQQPQPQPQQPPQPQQPQPPQQQQQPPQQQPQQQQQPQQPPQPPQPQQQQQPQQQQQPQQQQPPPQQPQPPPPQPQPQPQQPPPQQPQPPPPPPQQQQPPQPQQPQQQQQPQPPQQPPQQQQQPPPPPPPQQQPPQPQQQQPQPPQQPPQQQPQPPQQPQPPQQPPPPQQQQPPQPPQQPQQQPQQPQPQQQQQPPQPQQQPPQQPQQPQPPPQQQPPQPQPQQPPQPPQQPPQQQPPQPQPPQQQPPPPQQQPPQPPQQPQQQPPPQQPQPQPPQQQPPQPPQPQPQPPQQQPQQPPQQQQQQQQQQQPQPQQQPPQPPQPPQQPPPPPPQQQQPQQQQPPQQQPQQQQPPQPQPPQPPPPPQPPQQPQQPQQQPPQQPPPQQPPQQPQQPPQQQQQPPQQPQQPPPQQPQPQPPQPQPQQPPPQQQPQPQQQPQQPPQPPPPQPQQQPPQPPPPQPPPPQPPPPPPPPQPQPPQPQQQPPPPPPPQQPQPPPQQPPQQPQPPPQQPQPQQQPPPPQPPPQPPQQQQQQPQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQPQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQPQQQQQQQQQQQPQQQQQPQQQQQQQQQQQQQQQQQQQQQQQQQQPQQQQQQQPQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQPQQQQQQQQQQQQQQPQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQPQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQPQQQQQQQQQQQQQPPPQQQQQQQPQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQPQQPQPQQPQQQQQQQQQPQQQQQQQPQQQQQQQQQQQQPQQPQQQQQQQQQPQQQQQQQQPQQQQQQQQQQQQQQPQPQQQPQQQQQQQQQQQQQQQQQQQQQPQQQQQQQQQQQQQQQQQQPQQQPQQPQPQQQQQQPPQQQQQQQQQPQQQQQQQQQQPQQQQPQQQQQQQQQQPQQQQQPQQQQPQQQQQQQQQPQQQQQQQQQQQPQQQPQQQQQPQQQQQPQQQQQQQQPPQQQQQQQQQQQQQQQQQQQPPQQQPQQQQPQQQQPQQQQQQPQQQQQQPQQQQQQQQQQQQQQQQQQQPQQQQQQQQQQQQQPQQQPQQPQQQQQQQQQQQPQQQQQQQQPQQQPQQQQQQQQQQQQQQQQQQQQPQQPQQPPPQQQQQPQQPPQQQQQQQQQQQQQQQQQQQQQQQPQQQQQQQQQQQQQQQQQQPQQQQQQQPPQQQPQQQQQQQQQPQQQQPQQQQQQQQQQQQPQQQQQQQQPQQQQQQQQPQQQQQQQQQQQQQQPQPQQQQPQQQQQQQQQQPQQQPQQQQQQQQQQPQQQQQQQQQQQQPQQQPQPQPQQQQQQQQQQQQQQQQQQQQQQQQPPQQPPPQQQQQQQQQQQQQQQQQQQQQPPQQQPPQPQPQQQQQQQQPQQQQQQQQQQPPQQPQQQQQQPQQQQPQPQQPQQQPPQQQPQPPQPPQQQQQQPQQPPQQQQPQQQQPQQPQQPPQQPPQQPPQQQQQQQQQQQQQQQPQPQQQQQQQQQQQQQPPQPQQQQPQQPQQQQQPQQQQPQQQQPQQQQQQQQQQQQQQQQQPQQQQPQQQQQQQQPPQQPPQQQQQQQQQQQQQPQQQQQQPQPQQPPPQQPPQQQQPQQPPQQPQQQQQQQQQQPPQQQQQPPQQQPQPPQQQQQQQPQQQPQPQPQQQQQQQPPQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQPQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQPQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQPQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQPQQQQQQQQQQQQQQQQQQQQQQQQQPQQPQQQQQQQQQQQQQQQQPQQQQQQQQQQQQQQQQQQQQQQQQQQQPQPQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQPQQQQQQQQQQPQQQQQQQQQQQQQQQQQQQQQQPQQQPQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQPQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQPPQQQQPQQQQQQQPQQQQQQQQQQQQQPQQQQQQPQQQQQQQQQQQQQPQQQQPQQQQQQQQQQPQQQQQQPQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQPQQQQQQQQQQQQQQQQRQQQQQQQQQQQQRQQQRQQQRQQQQQQQRQQQQQQQQQQQQQQQQRQQQQQQQQRRQQQQQQQQQQQQQRQQRQQQQQRQQQRQQQQQRQQQQQQQQQQQRQRQQQQRQQQQQQRQQRRQQQQRQQRQQRRQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQRQQQQRRQQQQQQQQQQQQQQQQQQRQQRQQQQQQQRQQQQQQQRQQQQQQQQQQQQQQQQQQQQRQQQQQQQQQQQQQQRQQQQQQQQQQRRQQQQQQQQQQQQQQQQQQQQQRQQQQQQQRRRQQQQRQQQRQQQRQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQRQQQRQQQQQQQQQQQQQQQQQRQQRQQQQQQQQQQQQQQQQQQQQQQQRQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQRQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQRQQQQQQQQQQQQQQQQQQQQQQRQQQQQQQQRQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQRQQQRQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQRQQQQQQQQQQQQQQQQQQQQQQRQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQRQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQRQQQQQQQQQQQQQQQQQQQQQQQQQQRQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQRQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQRQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQRQQQRRQQQQQRQRQRQRRQQQRRRQRQRQRQQQQQQQRQQQRQQQQQRRQRRQQRQRRRRRRQQRQRRRQRQRRRQQQRRRQRQRQQRRRQQQQRRQQRRQQQRQQQRQRRQQQRQQQRRQRQRQQRQRRQRQQRQQQRQQQRQQRRRQRQRQRRQQQRQRQQQQQQQQQQQQQQQQRQQQQRQRRQQRRQQRQRQQRRQQQRQQRQRRQQRQQRQQQRQQRQRRQRRRQRQRQQQQQRQQRQQRQRQQQRRQQRQRRRRQQQRRQQRRRRRQQQQQQQRQQQQRRQRQRRRRQRQQRRRRQQRQRQQRQQRQQRRQRRRRRRQRQQQQQRQQRRQRQQRQRRQQQRQQQQQQQQQRQRQQQRRRQQQQRQRRRQQQQQQRQRQQQQQQRRQQQRQRQQQRQQRQQQRRRRQQQRQQQQRRRRQQRRQQQQRRQQRRQQRQRQQQQQRRQQQQRQQQRQQRQQQRQQQQRRQQQRQRQQRRQQQQQQRQQQRQRQRQQQRRQRQQRQRQQRQQQQQRRQRRQQQQQQQQRQQQQQQQRQRQQQQRRQQQQQQRQQQQQQRQQQQRRQRQQRQQQRRRQRQQQQQQQQQQRQQQQQQQQQQQQRQRQRQRQRQQQQRRRRRQQRQQRQQQRQQQQRRRQQQQQQRQQQQQRQQRQQQRRQQRQQRQQQRQQRQQQQQRQQQQRRQQRRQQRQRQQQQRQQRQQQQQRRQRQQRQRQRQQQRRQQQQQQQQQQQQQRQRRRQQQRRRQRQQRQRRRQQQQQRRQQQQQRQQQQQQQQQQQQQRQRQQQRQQQQRQQQQQQRQQQQQQQQQQQQQQQQQQQQQRQRRQQQQQQQQQQQQQQRQQQQQQQQQQQRRQQQQQQRQQQQQQQQQQQQQQQQRQQQQQQQQQQQQQQQQRRQQQRQQQQQQQQQRQQQQQQQQQQQQQQQQQRQQRQQQRQQQQRRQQRQQRQQQRRQQQQRQQRQQRRQQQQRRRQQQQQQQQQQRQQQQQQQQQQQQQRQQQQQQQQRQQQQQQQQQQQRQQQQQRQQQQQQQQQRRQQQQRQQQRQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQRRQQRRQQQQQQQQQQQQQQQQQQQQQQQQRQQQRQRQQQQQQQQQRQQQQRQQQQQQQRQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQQRQRQRQQQRQQQRQRQQRQQRQQQQQQQQQQQQQQQQRQQQQQQQQRQQRQQQQQQQQRQQQQQRQQRQRQQQQQQQQQQQQQQQQQRQQQQRQQQQQQQQQQQRQQQQQQQRRRRRRRRRRRRRRRRRRRQQRQRRRRRRRRRRRRRRQQRRQRRRRRRQRRRRQRRQRRRRRQQRRRRQQRRQRRRQRRRRRRRRRRRQRRRRQRRRRQRRQRRRRQRRRRRRRRRQQRRQRRRQRRQRRRRRRRRRRRRRRRRRQRRRRQRRRRRQRRRRRRRQQRRRRRRQRRRRRRQRRRRRRRRQRQQRRRQRRRQRRQQRRRQRQRRRRRRRRRRRRQRRRQRRRQRQRRRRQQRRQRRRQQRRRRRRRRRRRRQRRRQQQRRRRQRRRQRRRRQRRRRRRRRRRRRRRQRRRRRQRRRRRRRQRRQRRRRQRRQQRRRRRRQRRRRRQQQRRRRRRQQQRRRQRRRQQQQRRRRRQRQRRQRRRQRRRRRQRRRRRQRRRRRRRRRRRQRRQRRQRRQRRQRRRRQRRRQQQQRRRRQQRRQRQRRRRQRQRQRRRRQRRRRQRRRQRRQRRRQQRQQRRRRRRRRRRQRRRQRRRRRRRRRRRRRRRRRRRRRRQQRRRRRQQQQRRQQQRRRQRQRQQRRRRQRQQRQQRRRRRRQRRRQRQQRRRRRQQRRQRQRQRRRRRRRRRRRRRQRRQRQRRRQQRRRRQRQRRQRRQRRQQRRQRQQRRQRQRRRRRQRRRQRRRQRRQQQRRRRRQQRRQRQRRQRQRRQRRRQQQQRRRRRRRQQRRRRRRRQRRQRRQRQRQRRRQRRRQRRRRRRRRRRQRRQRRQQQRQRRRQQQRRQRQRRQRRRRQQRRRRRRRQRQRQRRRRRRQRRQRRRQRRRRRRRRRRRQRQQRRRRRQRQRRQRQRRQQRRQRRRRRQQQQQRRQRRRQRRRQQQRRQQRQRRRQRQQQQRRRRQRRRRRQQRRRRQQQQQQRRQRRQQRRQQRRRQQQQRRQQQQQQQRRQRRQRQQRRRRRQQQRQRQQQQQQRQQRRQQQQQQQRRQRRQQQRRQRRQQRQQRRRQRRRRRRRRRRRQRQQRQQRRQRRRQQRQRRQRRRRRQQRRRRRQRQRQRRQQQRRRRQRQQRQRRQRQRRRQQQQRRRQRRQQRQRRQRQQQQRRRQQQQQRQRRQRQQQQQRQRQRQRRQQQRQRQRRRRQQRQRQRQQQRRRQQQRRRRRRRRQQRRQRRRRRQQQQRRQQRQRQQQRQQQRRRRQQQQRQQRRRQRQRQRRRQQQRRRQRRRQQRQQRRQQQRQRRRQRRRRRRRQRRQQQQQQRQQRQQQRQQRQRRQRQRRQQQQRQQRQRQQQQRQQQQRRRRQQQQQRRRRRRQQQRRQQQRQQQQQRRQRQQQQQQQQRRQQQQRRRRRRRRRQQRRRRRRRRRRRRRRRRRRRRRRQRRRRRRRRRRRRRQRRRQRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRQRRRRRRRRRQRRRRRRRRRRRRRRRRRRRQRRQRRRRRRRRRRRRRRRRRRRRRRRRRRRRQRRRRRRRRRRRRRRRRRRQRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRQRRRRRRRRRRRRRRRRRRRRQRRRRQRQRRQRQRRRRRRRRRRRRRRRRRRRRRRRRRQRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRQQRRRRRRRQRRQRRRRRQRRRRRRRRRRRRRQRRRRQQRRRRRRRRRRRRRQRRRRRRRRRRRRRRRRRRRQRRQRRRRRRRRRRRRRRRRRRRRRRRQRRRQRRRRRRQRRRQRRQQQRRRRRRRRRRRQRRRRRRRRRRRRRRRRRQRRRRRRRRRRRQRRRRRRRRRRRRRRRRQRRRRRRRRRRRQRRQRRRRRRQRRRRRRRRQRQRRRRRRRRRRQRRRRRRRQRRRRRRRRRRRRRRRRRRRRRRRRQRRRRRRRQRQRRQRRRRRRRRRRQRRRRRRQQRRRRRRQRRRRRQRRRRRRRRRRRRRRQRRRRRRRRRQRRRRRRRRRRRQRRRRRRRRRRRRRRQRRRRRRRQRRRRRRRRRRRRRRQRRRRRRRRRRRRRQRRRRRRRRRQRRRRRRRRRRRRRRRRRRRQRRRRRQRRRRRRRRRRQRRRRRRRRRQRRRRQRRRRRRRQQRRRQRRRRRRRRQQRRRRRRRRRRQRRRRRQRRRRRRQRRRRQRRRRRRQRQRRQRRRRRRRRQRRRRRRRQRRRRRRRQRRRRRRRRRRRRRRRQRQRRRRQRRRQRRRRQQRRQRRRRRRRRRQRRRRRRQRRRRQQRQRRRQRRRRRRRRRRRQRRRRRRQRRRQRRRRRRQRRRRRQRRRRRQRRRRRRRRRRRRRRRRRRRQRRRRRRRRRRRRRRRRRRRRRRRRRRRQRRRRRQRQRRRQQRRRRRRRRRQRRRRRRRRQQRRRRRRRRRRRRRRRRRRQRRRRRQRRRRRRRQRRRRRRRQQRRQQRRRRRRRRRRRQRRRRRRRQRRRRRRQRQRRRRRRRRRRRRRRRRRQRRRQRRQRRRRRRRRQRRRQRRRQQRRQRRQRQRRQQRQRQRRQQQRRQQRRRQQRRRRRRQRRQRRQRRRRQRRRRRRQRRRQRRRQQRQRQQRRRQRRRRQRRQRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRQRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRQRRRRRRRRQRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRQRRRRQRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRQRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRQRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRQRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRQRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRQRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRQRRRRRRRRRRRRQRRRRRRRRRRRRRRRRRRRRRRQRRRRQRRRRQRQRRRRRQRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRQRRRRRRRRRRRRRRRRRRRRRRRQRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRQRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRQRRRRRQQRRRRRRRRRRRRRRRRRRRRRRRRRRRSRRRRRRRRRRRRRRSRRRRRRRRSSRRRRRRRRRRRRRSRRRRRRRRRRRRRRRSRRRSRRRRRRRRRRRRRRRRRRRRRRRRRSRRSRRRRSRRRRRRSRRRSRRRRRRRRSRRRRRRRSRRSRRRRRRRRRRRRSRRRRRRSRRRRSRRSRRRRRSSRRRRRRRSRRRRSRRRRRRRSRRRRRSRRRRRRRRRRRRRRRRSRRRRSRRRRRRRRRSRRRRRRSRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRSRRRRRRRRRRRRRRRSRRRRRRRRRRRRRSRRRRRRRRRRRRRSRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRSRRRRRRRRRRRRRRRRRRRRRRRRRRRRRSRRRRRRRRRRRRRRRRSRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRSRSRRRRRRRRRRRRRRRRRRSRRRRRRRRRRRSSRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRSRRRRRRRRRRRRRRRRRRRRRRRSSRRRRRRRRRRRRRRRRRRRRRRRRRRRRRSRRRRRRRRRRRRRRRRRRRRRRRRRRRRSRRRRRRRRRRRRRRRRSRRRRRRRRRRRRRRRRRRRRRRRRSRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRSRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRQRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRSRSSSSSSRRSRRRRRRRSSRRSRSRRSSRSSRSRRRSRSRSRRSRRSSSSSRSRSRRRRSSSRRSRRRSSSSRSRRRSSRSRSRRRRSRRRRRSSSSRRRSRSRRSRRSSSSSRRSRSRRRSSSRSSSRSSRRRRRRRRRRSSSRRRRSRRRRRRRSRSRSSSRRRRRRSRRSRRSRRRRRSRRSRRRRSRRRRRSSRSSRRSRRRSRRSRSRSSRRRRSSSRSSSSSRRSSRRRSSSRRRSRSSRRRRRRRSRRRSRRSRSSRSRRSSRRRSSSSRRRSRRSSRRRSRRRRSRSRRSRRRRRRRRSSSRSRRRSSRSRSSRSRRSSRRRRSSRSSRSRRSSRSRSRRRRRSRSSRSSSSRRRRSSSRSSRRRSRRRSRSRRRSRRRSRRRRSRRSSRSSRSRSSSSSSRSSRRRRRRRRRRRRRRSRRRRSRRSSRRRRRRRSRSRRSRRRRSRRRSSRRRRSSRSSRRRRRSRRRRSSRRSRRSSRRSSSSRRRRSRSSSSRRRRSRRRSRSRRRSSSRRRRRRSRRSRRSSRRRRRRRSRRRRSRSSRRRRRRRSSRRRRRRRSRSRRRSSSRRRRRRSSRRRRRRSRRSRRRRSRRSRSRRSRRSRRSRSRSRRRRSRRSSSSRRSRRRRRSRRSSRRRSRRRSSRSRSRRRRRRRRRSRRRRRRRRSRRRRRSRRRRRRSRRSRRRRRRRRRSSRRRSRRRRSRRRRSSRSRRRSRRSSRSSRRRRRRRRSRRRRRRRRSSRSRRRRRRSRRRRRRRRRRSSRRSRRRRSRRSRRSRRRRRSRRSSRSSRRRRRRRRSSRSRRRRRRRRRSRSRRRRRSSRRRRRRRSRRRRSRSSRSRRRRRSSRSSRSSRRRSSRSSRRRSRRRSRRRSSSSRRSRRRSSSRRSRRSSSRRRRRRRRSSSSRRRRRRRRRSRRRRRRRSRRRRRRRRRRSRSRSRRRRRRRRRRRRRRRRRRRRSSRRRRRRRRRSSRRRRRRRRRRRRRSSRSRRRRRRRSSSRRRRSSRRRRSRRRRRRSRRRRRRRSRRRRRRRRRRRRRRSSRRSRSRSRRRRSSRSRRRRRSSRRRRRRRRRRRRSRRRRRRRSRRRRSRRRRRRSRRRRRRRRRRRSRRRSRRRRRRRRRSRRRRRRRRRRRRSRRSSRRRRRRRRRSRRSRRSRRRRRRRRRRRRRRRRRRSRRRRRRRRRRSRRRRRRRRRRRRSRSRRRRRRRRRRSRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRSRRSSRRRSRRRRRRRRSRSRRRRRRRRRRRRSSSSSSSSSSSSSRSSSSSSSSSSSSSSSSRSSSSSSSSSSSSRSSSSRSSSSSSSSSSSSSSSSSSSSRSSSSSSSSSSSSSSSRRRSSSSSRSSSSSSSSRRRSSSSSSSSSSRRSSSSSSSSSSSSSRRRSSSSSSSSSSRSSSSSSSSSSSSSSSRRSSRRRSSSSRRSSSSRSSSSSSSSSSSRRRSSSSSSSSSSSRSSSSSSSRSRSSSSSSSRSSSSSSSSSSSSSSRSSRSSSSSSSSSSSRSSRSSRRRSSSSSSSSSSSRSSRSSSSRSSSSSSSSRSRSSSSSSSSRSSSSSRRSSSSSSSSSSSSRSSRRSSSSSSSSSSSSSSSRRSSSSSRSSSSSSRRSSSSRSRSSSSSSSRSRRRSRSSRSSSSRRRRSSSSSRSSSRRSSRSSSSSSSSSRRSSSRRSSRRSRRSSRRSRRSRSSSRSSSSRSSSRSSSRSSSRSSRSSRRSSSRRRSSSSSSSRSRSSSSSRRSRSRSRRRSSSSRRRSSRRRRSSSSRSRRSSSSRSSRSRSSRRSRSSSSRSRSRSSRSSSSSSSRRSSSSRRSSSRRSSRSSSSSSRSSSRSSSSRSSSSSSSSRSSRRRSSSSSSSRRSRRRSSRSSRSRSSRSRSRRSRRSRSRSRSRSSRRSSSSSRRSRRSSRSSSSSRRSSSRSSSSRSSRRSRRRSSSSSSSSSRSRRRRSSSSSRRSSSSSRRRSRRSRSRSSRSRRRSRSRRSSSRSSRSSSRSSRSRRRSSSSSSSRSRSSRRRRSSSSRRRSSSSSRRSSRSRSRSSSSSRRSRSRRSSSSSSRSSSSRSRSSRSRSSSSRSRSSRSRRSSSSSRSRSSRRRRSSSSRSSSSRSRSSSRRSSRSSRRRRSRSRRRSSRSSRRSSSRSSRRSRSSRSSSSSRRSRRSSRRRRRSSSRRSSRRRRSRSSSRRSSSRRSRSRSSRRRRRRRRSSSRRRSSSSSRRRRSRSRRRSRSSSSRSRRRSSSSRSRRSSRSSSRSRSSRRSSRRRSRSSRRSSSSSRSSRRSSSSSRRSSSSRRRSSRRSSRSSRRRRRSRRRRSSSRRRRRRRSRRSSSSSRRRSRRSRRRSRSSRRSSRRSRRRRSSRRRRSRRRRSSRRSSRSRRRRSRSRSRSRRSSRRSSRSSSSSRRRSRRSSSSRRRRRSSRSSRRSSSRSSRRRRRSRSRRSRSSRSSRSSRSSRRSSSSSRRSRRRRSSSRSRSSRRRSSSRRRRRRRSRSSSRRSSSRSRRSRSSSRRRSSRSRRRRSSRRRRRRRSSRRSRRSRRRRSSRSSRSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSRSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSRSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSRSSSSSSRSSRSSSSSSSSSSSSSSSSSSSSSSSSRSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSRSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSRSSSSSSSSSSSRSSSSSSSSSSSSSSSSSRSSSSSSSSSSSSSSRSSSSSSSSSSSSSSSSSRSSSSSSSSSSSSRSSSSRSSSSSSSSSSRSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSRSSSSSSSSSSSSSSSSSSSSSSSSSSSSSRSSSSSSSSSSSSSSSSSSSSSSSSSSSSRSSSSSSSSSSSSSSSSSSSSSSRSSSSSSSRSSSSSSSRSSSSSSSSSRRSSRSRSSSSSSSSRSSSSSRSSSSSSSSSSSRSSSSSSSSSSSSSSSSSSSRSSSSSSSSSSSSSSSSSRSSSSSSSSSSSRRSSRSSSRSSSSSRSSSSSSSSSSSSRSSSRSRSSSRSSSSRSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSRSSSSSRSRRSSSSSSRRSSSSSSRSRSSSRSRSRSSSSSSSRSSRSSSSSSSRSRRRSRSSSSRSSSSSSSSSRRRSSSSSRRSSRRRSSRSSSSSSSRSSSSRSSSSSSSSSSSSSSSSRSSSRSSSRRSSRSRSSSSSSSSSSSSSSSSSSSSSSRSRSSSSRSSSSSSSSSSSRSSSRSSRSSRSSSSSSSRSSSRRSSSSSSSSSSSSSSRRSSSSSSRRSSRSSSSSSSSSSSSSSSSSSSSSSSRSSSSSSSSRSSSSSSSSSSSSSRSSSSSSSSSSSRSSSSRSSSSSSSSSSSSSSSSSSSSSSSSSSSSTSSSSSSSSTSSSSSSSSSSSSSSSSSSSSSTTSTTSSSTTSSSSSSSSSSSSSSSSSSSSTSSSSSSSSSSSTSSSSSSSSSSSSSSSSSSSSSSSSTSSSSSSSTSSSSSSSSTSSTSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSTSSSSTSSSTSSSSSSSSSSSTSSSSSSSSSSSSSSSSSSSSSSSSSSSSSTSSSSSSSSSSSSTSSSSSSSTSSSSSTSSSSSSSSSSSSSSSSSTSTSSSSSSSSSSSSSSSSSSSSSSSSTSSSSSSSSSSSSSSSSSSSSSSSTSSSSSSSSSTSSSSSSSSSSSSSSSSSSSSSSSSTSSSSSSSSSSSSSSSTSSSSSSSSSSSSSSSSSTSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSTTTSSSSSSSTSSSSSSSSSSTSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSTSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSTSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSTSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSTSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSTSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSTTTTSTSSTTSSSTTTSSSTTTTTTSTTSSTSSTSSSTTSSTSSSSTSSTSTTTSSSTTSSSTTTSSTSSSSSTTSSSTTSSSSSTSTTTTTSTTSTTSTTTTTTSSSSSSSTTSSTSSSTTTSSSSTTTSTTSSSSSSSSSTSSSTSSSTSSTSSTTTTSSTSTTSSTSSSTSTSSTSSSTSSSTSSSSSSSTSTTSTSTTTSSSSTTSSTTSSSSSTTSSSSTSSTTTSTSTTTSSTTSSSSTSTSSTTSSSSSTTTTTSTSTTSSTSTTTSSSSSTSSSSSSSSSSTTTSTTTTTSSTTSSSSTSSSTSTSSTSSSSSSSSTSSSTTSSSSSTTSSSTTSSTSTSSSSTTSSTSSSSSSTSSSTTSTSTSSTSTSTTSSSTSSSTSSTSSTTSSTSSSSTTTSTTSTSSSSTSSSSSSSTSSSSSSSTSTSSSSSTSSSTTSSSSTSTSSTTSSTSSSTTTTTSTSSTTSTSSSSSSSSSSSSTSSSSTSSTSSSSSSSTSSTSSTTSSSSSTTTTSSTSSSSSTTTTSSSTSSTTSSTSTSTSSSSSTSSTSSSSSTSSSSSSSSTTSSSSSSSTTSTSSSSSSSSSTTSSTSSSSTSSSSSSTSSTTSSSSSSSSSTSTTSSSTSTTSSTTSSSSSSSSTTSTSSTSSSSSTSTSTTTSTSSSSSSSTSTSSSSTTTTSSSTSSSTTTSTTTSTTSSSSSSSSTSTTSSSSSSSSSTSTSSSSSSSSSTSSSSSTSSTSSSTSSTSSSTSSSSSTSSSTSSTSTSSSTSSTTSTSSSSSSSSSSTSTSSSTSSSSTTSSSSSSSTSTSSSSSSSSSTSTTSSSSSSSSSSSSSTSSSSSSSSSSSTSSSTSSSSSSTSSSSTSTSSSSSSTSSSSSSSTSTSSSSSSSSSTSSSSSSSTTSSSSSSSSSSSSSSTSTSSSSSSSSTSSSSSSSTSSTSSSSSSTSSSSSSSSSSSSSSSSSTSSSSSSSSSSTTSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSTSSTTTSSSTSSTSSTSTSSTTTSTSTSTSSTSSSSSSSTTSSSSSSSSSTSSTSSSSTSTSSSSSSTSSTTSSTSSSSSSTTSSSSSSSSTSSSSSSSSSSSTSSSSSSSSSSSSTSSSSTSSSSSSTSSSSSSTSSSSSTSSSSSTSSSSSTSSSSSSSSTSSSSSSSSSSSSSSSTSSSSSSSSTSSSSSSSSSSSSTSSTTSSSTSSSSSSSSSSSSSSSSSSSTTSSSSSTSSSSSSSSSSSSSSSSSTTTSTTTTTTSTSSTTTSTTTTTTTTTTTSTTTTTTTTTTTTTTSTTTTTSTSSTTTTTTTTTTTTSSTTSTTTTSTTTTTSTTSSSTTTTTTTTTSTTTTTTTTTTTTTTTTTSTTSTSTTTSTSSTSTTSTTSTTSTSSTTTTTSSSSTTSSSSSTTTSSTTTTSSTTSTTTTSTTTTTTSSSSSTTTSTTSSSTTTTTTSSTTTTTTTTTTTTTSTTTTTTSTTTTTSSTTTSSTTTTSSTSTTSTTTTTSTTSSTSSTTTTTTSTTTTTTTTTTTTTSSTSTSTTTTTTTTTTTTSTTTTSTTTTTTTSTTTSTSTTTTTTTSTTSTTTTTSTTTTSSSSTSTSSTSSTSTTTSSTTSTTTTTTTSTTSSSSSTSTTTSTSTTSTSSTTSTTSSTTTTSTTSTTSSTTTSTTTTTSTTTSTSTTTTTTTSSSSSSSTTTTSTTSSTTSSTTTTTTSSTSSTTSSTTSSTSTTSSTTTTTSSSSTTSTSTSSTSTTTTTTTTSTTSTTTTTSTTTSTSSTTSTTSSSSTSTTSTTTSSSTSTSTTTTTSSSTSTSSSTTTTTSTSTTSSTTTTSSTTTSTSTTSTTSTTTTSSSTSTTTTSTSSTTTTTSSTSSTSTTTSSTTSSSTTSTTTTTTSTSSTTTSSTSSTSTSTTTTTSSTTTTTTTSTSSTTTTTTTTTTTSTTTTTTSSTSTTSSTTSTTSSTTTTTTTTTTSTTTSSSTTTSSTSSSTTSTSTTSTTTTTTTTTTTSTTSTTTSSTSTTSSSTSSTSSTTTTTTTTTTSSTTSSSSTTSSTSTSTTSTSSSTSTTSSTTTTTTSTTTTSTTSTSTTTSTSTTTSTTSSTSSTTSSTTSTTTTSTTSTTTTTSSTSSSSSTTTSTTSTTSSSTTSTTTSSTSTSTTSSSSTSSSSSSTSSSSTTSSTSSSSSTTSSTSTTTTSTTTSTTSTTTTTTTTTTSTTTTSSSTTTTSSSSSTSSTTSTTTTTTSTSSTSSSSSTSSTSTSSTTSSTSTTTTTTSSSSSSSTTSSSSSSTTTSSSSTTTSTTTSTSSSTSSTSSSTTTSTSSTTSSTTTSSTSTTSSTTSSTSTSSSSSTTSSSTSTSTTSSTTSSSTSTTTSSSTSTSSTSSSTSSTTSSSSTSTTTTTSTTSTTSSTTSSTTSTSTSTSSTTSSSTTTSTSTSTTTTTSTSSTTSTSSSTTTSTSSTTTTSSSTSTSSSSSTTSTTTSSSTSSTSTTTTSTTTTTSSSSTTSTSSTSSSTSSSSTTTSSTSSTTSSSTSSSTSSSSSSTSTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTSTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTSTTTTTTTTSTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTSTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTSSTTTTTTSSTTTTTTTSTTTTTTTTTTTTSTTTTTTTTTTTTTTTTTTTTTTTTTTSTTSTTTTTTTTTTTTTTTSTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTSTTTTTTTTTTTTTTTTTTTTTTSTTTTTTTTTTTTTTTTTTTTSTTTTTTTSTTTTTTTTTTTTTSTTTSTTTSTTTTTSTTTTTTTSTTTTSTTTTTTTTTTTTSTTTTTTTTTSTTTTTTTTTTTTTTSTTSTSTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTSTTTTTTSTSSTTTTTTTTTTTTTTTTTTTTTTTTTSTTTTTTTTTTTTTTSTTTTTSTTTTTTTSTTTTTTTTTTTTSTTTTTSSTTTTSSTTTTTSTTTTTTTTTTTTSSTTTTTTTTTTSSTTTTSTTTTTTTTTTTTTSTTTTTTTTTSTTTTSTTTTTTTTTTSTTTSTTTTTTTSTTTSTTTTTTTTSTTTSTTTSTTTTTTTSTTSTTTSTTTSTTTTTSTTTTTTTTSTTTTTTTTTTSTTTTTTTTTTSSSTTTTTTTTTSTTTTTTTTTSTSSTTTTTTTSTSTTTTTSSTSTTSTTSTSSTTSTTTTTTTSSTTTTTSTTTTTSSTTTTSTSSTTTTTTTTTTTSSTSSTTSTTTTTTTTTTSTTTTTSTTTSSTTTTTSTTTSTTTTTTTTSSTTTTTSTTTTSSSTSTTTTTTTTSTTTTTTTSTTTTTTSTTTSTTSTTTSTTTTTTTSTTSTTSTSSTTTTTTTTTTTTTTTTTTTSTTSTTSSSTTTTTTTTSTSSTTTTTTSTSTTTSSTSTTSSSTSSSTTTTTTTTSTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTUTTTUTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTUTTTTTUTTTTTTTTTTTTTTUTTTTTTTTTTTTTTTTTTTTTTTTUTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTUTTTTTTTTTTTTTTTTTTTTUTTTTTTUTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTUTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTUUUVVWWWVWWWWWWVWVVUUUUTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTUUUVVWVWWWWWWWWWVVUUUTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTUTUUUUTTUTTUUUUUUTTTTUTUUUUUTTTTUTTTTTTTTUTUUUTTTTTTTTTUUTTUUTUUUTUUTTUTTTTTTTTTTTTTUUTTUTTTTUTUTTUUUTUTUTTTTTUTTUTUTTTTTUTTTTTTTTUTUUTUTUUTTUUUUTTTTUUTTTTUTTUTTUUTTTTUTUUTUTUTUTTTTTUTTTTTTTTTTUTTTTUTTUTTTTTTTTUTTTTUTTUTTTTTUTUUUTTUUTTUTTTTTUTTUTTTTTTTTTUTUTTTTUTTUTTTTTTUTTTUUTTUTUTTTTTTUTTTTTTUTTTUUTTTTTTTUTUUTTTUTTTTUTTTUUTTTTTUTTUTTTUTTTUTTUTTTTTTUTTUTTTTUTTTUTUUTTTTTUUTTTTTUUTTTTTTTTTTTTUTTTUUTTTTTTTTTTTTUUTTTTTTTTTTTTUTTUTTUTTTTUUTTTTTTUTTUTTUTTTTTTTTTTTUUTTTTTUUUTUTTTTTTUTUTTTUUTTTTTTTTTTTTTUTTTUVVUTTRPNLKJHHHHHHHHHHHKJMMPRSTUVVUUTTTUTTTTTTTTTTUTTTTUTTTTTTTTTTTTTUTTUTTTTTUTTTTTTUTUTTTTTTTTUTTTTTTTTTUUTTTTTTTTUTTUTTTTUTUUTTTTTTTTUUTTTTTTUTTUTTUTTTTTTTTTTUTTTUTTUTTUTTTTTTTTUTTTTTTUTTTTUTTUTTUUTTTTTTTTTTTTTUTTUTTTTTTTUTTTTTTTTUTTTTTTTTTTTTTTTTTTTTUTTTTUTTTTTTUTTTTUTTTTTTUTUTTTTUTTTTTTTTTTTTTTTTTTTTTUUTTTTUTUTTTTTTTTTTTTTUTTTTUTUUUTTTTTTTTTTTTTTTTTTTTTTUTTTUTTTTTTTTTTTTTTTTTUTTTTTTTTTUTTTTTTTTTTTTTTTTUTTTUTTTTTTUTTTTUTTTTTTTTTTTTTTTTTTTTTTTTTTTUTUUTTUTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTUUTTTUVVUTTRONLJJHHHHHHHHHHIJLMOQSTUVVUTTTTTTTUTTTTTTTTTTTTTTTTTUTTTUTTTUTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTUTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTUTTTTTTTTTTTUTTTTTTTTTTTTTTTTUUUUUUTUUTUUUUUUUUUUUTUUUTUTUTUUUUUTUUUUUUUUUUUTUUUUUUUUUUUUUTUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUTUUTUUTTUUUTTUUUTUUTTUUTUTUUTTUTUUUUUUUUUUUTUTUUUUUUUTUUUUTUUTUUUTUUTUUUUUTUUUUUUUUUUUUUUUUUUTUUUUUUUUUTUTUUTUUUUUUUUUTUUTTTUUUUTUUUUUUTUUUUUUTTUTUUUTUUUUUUUUUUUUUTUTUUUUTUUUUUTUTUUUUUUUUUTTUTTUUTUTUUUUTTUUUUUUUUUUTUUUUUUUUTUUUUUUUUUUUTUUUUTUUUTTUUUUTUUUUUUTUUUTUUUUUUUTTUUUTTUUUUUUUUUUTUTUUUUUUUUTTTUUUUUUUUUUUUUUUUUTUUUUUUTUTTUTTUUUUTTTTUUUWVRMKOUW`subWUQLLPUWVUTUUUUTUUTTUTTUUUTTTTUUTTUUTTTTTUTUUUUUTUUUUUUTUUUUUUUUUUUUUUUUUUUUUUTUUTTUUUUUTUTUTTUUTUUUUUTTUTUUUTUUUUTUTTTUUUUTTTTUUTTTUTTUTUUUUUUUUUUUUUUUUUUUUUUUUUUTTUTUTUUTTTUUUUTUUUUUTUUUUTUUTUTTUTUUTTUUUUUUTTUTTTUUTUTUTTUUUUUUUUUUUUUUUUUUUUUUUTUUUUUTUUUUUTUTUUTUUUUUUUUUUUUUUUUUUUUUTTTTTTUTUUUTUTUUTUUUUUUUUUUUUUUTUUUUUUUUUUUUUUUUUUUUUUUUTUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUTTUUUUUUUUUTTTTTUUTUUTTUUTTTUUTTUUUUUTTTTTUUTUUUTTUUTTUTUUTTUTUUUUUUUUUUUVVQLKOTW`ryfWUPKLQVVUUUTTUTTUUUTTUUTTTTTTTTTUUTUUUTTUTUUUTTTTUTTUTTTTUUTTUTTTTUUUTUTUUUUUUUUUUTUUUUUUUUTUUUTTUTTTTTUTUUTUUUTTTUUTUUTTTTTTUTTTUTTTTTTTTTUTUUTTUUUTUTTTTTTUUTTTTTUTUUUUUUUUUUUUUTUUUUUUTUTTTTTUUTTTTTTTTUTTTTTTTUTUTUUTTTTTTTUUTTTTUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUTRSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSTSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUTUUUUUUUUUUUUUUUUUUUUUUUTUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUTUUUUUUUUUUUUUUUUUUUUUTUUUUUUUUUUUUUUUUUUUUUUUUWUTPKLcvů{jSIORUVVUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUTSSSSSSSSSSSSSSSSSSSTUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUTUUUUUUUUUUUUUUUUUUUUUUUUUUUUUSSSSSSSSSSSSSSSSSSSSSSSUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUTUUUUUUUUTUUUUUUUUUUUUUSSSSSSSSSSSSSSSSSSRTUUUUUUUUUUUUUUUUUUUUSSSSSSSSSSSSSSSSSSSTTUUUUUUUTUUUUUUUUUUUUTRSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSUUUUUUUUUUUUUUUUUUUTUUUUUUUUUUUUUUUUUUUUTUUUUUUUUUUUUUUTUVWUSPKLcyƧycLKPTVWUUUUUUUUUUUUUUUUUTUUUUUUUUUUUTTUUUUUUUUUUUUUUUUTUUUUUUUUUUUUSSSSSSSSSSSSSSSSSSSTUUUUUUUUUUUUUUUUUUUUUUUUUUUTTUUUUUUUUTTUUUUTUTUUUUUUUUUUUUUTTTUUTUTTUUUUUTSSSSSSRSSSSSSSSSSSSUUTUTUUUTUUUUUTTTUUUUTUTTUUUUUUUUUUUUUUTUUTTUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUY\[[[[[[[[[[[[[[[[[[\[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[\[[[[ZUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUVXTLQXqǪ`TMOVWUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUV[[[[[[[[[[[[[[[[[[\XTUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUZ[[[[[[[[[[[[[[[[[[[[\YUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUTZ[[[[[[[[[[[[[[[[[\WTUUUUUUUUUUUUUUUUUUV[[[[[[[[[[[[[[[[[[ZVUUUUUUUUUUUUUUUUUUUUUY[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[Z[[[[[[[[[Z[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[YUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUVWQLQYxտqXOLUWUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUTY[[[[[[[[[[[[[[[[[[WUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUTW\[[[[[[[[[[[[[[[Z[YUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUSfRVUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUVWUQK]~nQMTVWUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUVT[QVUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUVPzsNWUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUVRgvNVUUUUUUUUUUUUUUUVQrgQVUUUUUUUUUUUUUUUUUXIXUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUVWTOLcӠyWKSVWUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUWINVUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUWJSUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUShQWUUUUUUUUUUUUUUUUUUUUUUUUUVUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUXTMSpÎ_OOWVUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUXLhQVUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUXKMWUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUWO]TVUUUUUUUUUUUUUUUVQthQVUUUUUUUUUUUUUUUUUXHXTVUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUVWOOXʚcNOWVUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUXINWUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUXKSUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUVVUVVUUUUUUUUUUUUUUUUUVUUVUUVVUUVVVUUUVVUVVUVVVUUUUUUUUVUUUUUUVVVTgQWVUUUUUVUVUVUVVUUUUUUUUVUUUVUVUVVUUUUUVVUUVVUVUUUUUUVUUUUVVUUVUUUUVVUUUUUVUVUUVUUUUUUUVUUUUVUUUUUUUUUUVVVUVUUUUUUVUUVUUUVUVUUVVUUUUUUVUUVUVVUVUUUVVUUVUUUUUUUVUVVVUVVUVUUUUUUUUUUVUUUUUUUVVUUUVUUUVUUUUUVUVUUUUVUUUVUUUUUUUUUUUVUUUUUVVUUUUUVUUUUUUUUUUUVUUUUUUUUUUVVVUUUVUVUVUUUVUUUUUUUVUUUUVUVVVUUUUUUUUVUUVUUUUUUUVUUVUUUVUUUUUVUUUUVWUMXߦsOQVWVVUUUUUUUVUUUUUUUUUUUUUVUUUUUUUUUUUWNzMXUUUUUUUUUUUUUUVUUUUUUUUUUUUUVUVUUUVUUUUUUUUUUUUUVUUUUUVVUTUUUUUUUUUUUUUUUUVUVUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUXJIXUUUVUUUUUUUUUUUUVQsgQWUVUUUUUUUUUUUUVUUXIXUVUUUUUUUUUUUVUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUWVPNnsOQWWUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUXINWUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUXKSUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUVVVVVVVVVUUUVVUVVVVUVVVVVVVVVVVVVVVVVVVVVVVVVUVVVVVUVVVVUVVVUUVVVVVThRWVVVVVUVUVVVVVVUVUUVVUVVVUVVVUVUUVVVVVVVVVVVUVVVVVVVVVVVUVVUVUVVVVVVUVUVUVVVVVVVVUVVVVUUUVVVVVVVVVVVVVVVVVVVVVVVVVUUVVVVUVVVVVUUVVVUVVVVVVUVVVUVVUVVVVVVVUVVUVVVVVUVVUUVVVUVVUVUVVVVVVVVVUVVVUUVUVUVVUVUVUUVVUVVVVVVUVUVVVVVVUVVUUUUVVVVUVVUVVVVVVVVVUVVVUUVVVVVUVVVVVVVVVVUUUUVVVVVUVVVVUVVVVVVUUUVUVVVUVUVUUVUUVUUVVVUVUVUVVVVVUVVVUUWVOUsQQXVUUVVVVVUVVVUVUVVVVVVUUUUUVUVVUVVVVSgNWUVUVVVVVVUUUVVUUVVUUVVUUUVUUVVVVVVVUUVVUUVVVUUUUUVUVVUWPl_TVVVUVVVUVVUUVUUVUUVVVVVUUUUVUUUUUUVVUUUUUVUUVVVVVUVVVUVVTOWVVUVVUVVVUVVUUUUVQtgRWVUUVVUUVVVVVVVVVVXJYUVUVUUUUVVUUVVVVVUUUUVUVUVUUUUUUVUUUVUUUVVUVUWVORtoNQXVUUVUUUVUUVVUUUUUVVUVVVUUUVVVVUVVUVVVVUUVVVUUUUUXINWVVUUUUUUVVUUVUUVVUUUUUUUUUUUUUVUUVUUVUUUUVUUUUUUVVUUUUVVVUUUUUUUVUUUUXKSVUVUUVVUVUUUVVUUUVVVUVUVVUUVUVVUUUUVVVUUUVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVThRWVVVVVVVVVVVVVVVVVVVVVVVVVVVVVUVVVUVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVUVVVVVVVVVVVVVVVVVVVVVVVVVVVVUVVVVVVVVVVVVVVVVVVVVVVWXRQoNUXVVVVVVVVVVVVVVVVVUVVVVUVVVVVUVVVVUWUVVVUVVVVVVVUVVVVVVVVVVVVVUVVVVVUVVVVUVVVVVVVVVVVVVVVVVVXMPXVVVVVVVVVVVVVVVVUVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVWQldSWVVVVVVVVVVVVVVVVWQthQWVUVVVUUVVVVVVVVVVXJYUVVUVUVVVVVUVVUVVVVVVVVUVVVVUVVVVVVVVUVVVVVWWORiMVXVVVVVVUVVVVVVVUVVVVVVVVVVUVVVVVVVVVUVVVVVVUVVVYJNWUVVVVVVVVVUVVUVUVUVVVVVVVUVVVVVVVVVVVUVVVVUUVVUVVVVUVVVVVUVVVVVVVVVVVXKTVVVUUVVUVVVVVVVVUUUUUUVVVVVVVUUVUVUVVVUVVVVVVVVVVVVVVVVVVVVVVVVVVWVVVVVVWVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVWVVTiRXVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVWVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVWWVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVWVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVWVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVWWNk]NXWVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVXPZUVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVWSLXVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVXLVUVVVVVVVVVVVVVVVVVWRtiRWVVVVVVVVVVVVVVVVVYJYUWVVVVVVVVVVVUVVVVVVVVVVVVVVVVVVVVVVVVVVVVXRPt۔WPXVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVXJOXVVVVVVVVVVVVVVVVVVVVVVVVVUVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVXLTVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVUVVVVVVVVVVVVWWVWWWVWWVVVVVVVVVVWWVWVVWVVWWVVVVVWVVVVVWVVVWVVVVWWVVVVVVVVVWWWWTiSXVVVWVVVVVVVVVWWVVVWVVVVVVWVVWWVWVVWVVWVWWWVVVVVVWVVVVVVVVWVVVVVWVVVVVVVVVVVVWVWVVVVVVVVVWVVWWVVWVVWVVVVVWWVVVVVWWWVVWWVWWVWWVWWVWVVVWVWVVVVVVVVVWWVWVVVVVWVVVVVWWWVVVVVVVVVVVWVVVVVVVVVVVVVVVVVVWVVVVVVVVWVVVVVVVVVVVVVVWVVWVVVVVVWVWVVVVVVVVVWVVWVWWVVVWVVVWWWVVVVVVVVVVVWVVVVVWVVVVVWWWVVVWVVVVWVVVVVVVVVWVVVVVWVVVVVWWVVVVVVVVVYTR|OUXVVVVWVVVVVVVVVVVVWVWVWVVVVVVVVXMqRWVWVVVVVVVVVVWVVVVVVVVVVVWVVWVVVVVVVVWVVVVVVVVVVVVVVVWUZXVWVVVVVWVVVVVVVWVVWVVVVVVVVVVVVVVVVVVVVVWVVWVVWVVWVVVVXQPXVVVVWVVWVVVVVVVVVWRtiRXWVVVVVVVVVVVVWVVVYJYVWVWVWVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVXVNgnOWXVVVVVVVVVWVVVVVVVVVVVVVVVVVVVVVVVVVVVWVVVVVYJOXVVVVVVVVVVVVVWVVVWVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVXLTVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVWWVWWWWWVVWWVWWWVWVVWWWVWWVVWVWWVWWVWWVWWVWWWVWVWWVWWWWWWWWWWWWWWWWTiRXWVVWVVVWWVWWWWVVWWWVVVWWWWWWWVWWWVWWWWWWWVWVVWVVWWWWVWWWVVVVWWVVWWVVVWWWVVWWVWWWVWVWVVWWWWWWVVWWWWVWWVVVWWWWVVWWWWWVVVVVVVWVVWVWWVVVWVVVWVWWWWWWWWVVVVWVWWWWVVWWWWVWWWVVVVWWVWVVWWVWVVWVWVVWWVWVVWWVWWWWVWWVVVWWWWVVWVWWWVVWWVWWWVWVWWVWWWWVWWWVVWWWWWVVWWVWVVWWVWWVWWWWWWVWWWWWWVWVVWWVVVWWVVWVWWVVVVVWWWWWVWWWWWWVVWVWWWWWVWWVVXR_XRXVVWWVVVWVVWWWWWVVVWWVVVWVWVVVXSiOXWWVWWVVWWVWVVVWVWVWVWWVWWWWWVWVVWVVVVWWWVWVVVVWWWVVWXRvsPXVWVWWVVWWWWVVVWWVVWWWVWVVVVVWWWWVWVVVWWVWVWVVVVWVVVVVVMYVWVVVWWWVWWWVWWVVWRtiSXVVWWWVVVVVVWVVWVVYJYUWWVWVVVVVVVWWWVVVVWVVVWWVVWVVVWVVVWWWWXQUQTXVVVWVVVVWWVVWVVVWVVWWVWWVVVVVWVWVVWWWVVWVVYJPXVVVVVWVVWVVWWVVVWWVVWVVVVVVWVVWVVVWVVVVVVVWWVVVVVVWVVVVVVVVVVVVVVVWWVYLTWVVVVVVVWVVVVVWVVWVVVVVVWVVVVWVVWVWVWVVVWVVWWWWWVWWWWWWVWWWWVWWWWWWWVWWWWWWWWWWWWWWWVWWWWWWWWWWWWWWWWWWWWWWWWWUiSXWWWWWWWWWWWWWWWVVWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWVWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWVVWWWWWWWWWWWWWWWWWWWWWWVWWWWVWWVWWWWWWWWWWWWVWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWVWWWWWWWWWWWWWWWWVWWWWWWWWVWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWVWWWWWWWWWWWVWWVWWWWWWWWWWWVWWVVVVWWVVWVWWWWVWWWWWWWWVWWWVWWVWWWWWWWWWWWYOndQYVWWVWWWWVWWWWWVVWWVWWWWWWWWWWXRMYWWWWWWVWWWWWWWWWWWVVWWVWVWWWWWWVWWVWWWWWVWWWWVWWWWWWYMNYWWVWWWVWWWVWWWWWWWWWWVWVWWWWWWWWWWWWWWWWWVWVWVWWWWWWTceTXWVWWWWWWWWWWVWVWWXRtiSXVWWVVVWWWWVVWWWWVYKYVWWWWWWVWWVWWVWWWWWWWWVVWVWWVWWWVVWWWXWMq_QYVWWWWWWWWVWVWWWVWWVWVWWWWWWWWWWWVWWWWVWWWYKPXVWWWWVWWVWWWWWVVWWVVVWWVWWWWWVVWVVVWWWVWWWWWVWVVVWWVWWWWVWWWWVWWWVWWVYLUWVWWWWWWWVVWWVWVWWWWWWWVVWVVWWWWWWWVWWVWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWUiSXWWWWWWWWWWWXWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWXWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWXWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWYNsOYWWWWWWWWWWWWWWWWWWWWWWWWWWWWYMZVXWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWXRUWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWXQOYWWWWWWWWWWWWWWWWWWXSuiSXWWWWWWWWWWWWWWWWWZKZVXWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWYTSrOYWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWYKPXWWWWWWWWWWWWVWWWWVVWWWWWWWWWWWWVWWWWWWWWWWWWWWWWWWWVWWWWWWWWWWWWWWWWWYLUWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWVVWWWWWWWWWWWWWWXWWWWWWWWWWWWWWWWWWWWWWWWXWWXWXWWWWWWXWXWWWWWWXWWXWXWWWWXXXWXWUjTXWWWWWWWWXWWXWWWWXWWWXXWWWWWWXWWWXWWWWWWWWWWWWWWWWXWWWWWWWWWWWWWWWWWWWWWWWWXWWWXXWWWXWWWWWWWWWWWXWWWWWWWWWWXXWWXWWWWWXXWXWWWWWWWWWWWWWWWWXXXWWWWWXWWWXWWWWWWWWWWWWWWXXWWWWXWWWWWWWWXWWWWWXXWWWWWWWWWWWXWWWXWWWWWWWXWWWWWWWWWWWWWWXWWWWWWWWWXXWWWWWWWXXWWWWWWWWWWWWWWWWWWWWWXXWXWWWWWXXWXWWXWWXWXWWWWWXWWWWWXXWWWWWWWWXWWWWXWWWWYNOYWWWWWWWWWWWWWWWWWWWWWWWWWWWXRzqRXWWWXWWWWWWWWXWWWWWXWWWWWWWWWWWWWWXWWWWWWWWWWWWWWWWXSj`UXWWWWWWWWWWWWWWWWWWWXWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWYMNYWWWWWWWWWWWWWWWWWWXSuiSXWWWWWWWWWWWWWWWWXYKZVXWWXWWWWWWWWWWWWWWWWWWWWWWWWWWWXWWYPcMYWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWYKQYWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWZMUWWWWWWWWWWWWXWXWWWWWWWWWWWWWWWWWWWWWWWWWWWWXXWXXXXXXXXXXXXXXXXXXWXXXXXXXXWXXXXXWXXXWXXXXXWXWXXWXWXWXXXXWXXXWXXUjTXXXWWXXXXXXXXXXXXWXXXXXXWWXXXXXXWWXWWXXXWWXWXWXWWXWXWWWXWXWWXXWXWWXXXXXXXXWXXXWXXXXWWXWWXXXWWXXXXXXXWWWWXXXXXXWXWWXWXXWXXXWWWWXXXXXWXXWWWXXWXWWXWWXWWXWWWWXWWWXXWWWWWWXWXWXWWWXXWWWWXXXWXXWXXXWXWXXWXXWWWWWXXWXXXWWWXXXWXWWWXXXWXXXWXXXXXWWXXWWXWWXWWXWWXXXWWWXWXWWWWXWXXXXWXXXXXWXXXXXWWWXWXWWXXXWWXWXXXXWWWWXWXXWXWWWWXXWWXWYOPYWXXWWXXWWWWWWWWWWXWWWXXWWWWV^MZXXXWXXXWWXWWXXXXWXXXXWXWWXWWXXWWWXXXXWXXXWWWWXWWXXYNRYWWXXWWWWWWXWXWWWWWWWWWXWWWWWXWWXWWXWXXWWWWWXXXXXXXXSpTXWWWWXXXWWWWWXWWWWWXSuiTYXWWXWWXWWWWWWWWXWZLZWXWXWWWWWWXWWWXWXWWWXWXWWWWWWWWWWXXOtPXXWWWWWWWXWXXWWXWWWWWWXWXWXWWXWWWWWWXWWZKPYWWXXWXWWXWXWXWXXWWXWWWWWWWXWWWWXWXWWWWWWWWWXXXWWWWWXWWWWWXWWXWWWWWWWWZMUXWWWWXWWWWWWWWWWXWWXWWWWXXWWWWXWWWWXWWWWWWWXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXUjTYXXXXXXXWXXXXXXXXXXWXXXXXXXXXXXXXWXXXXWXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXWXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXWXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXWXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXYRy}OZXXXXXXXXXXXXXXXXXXXXXXXXXXXURYXXXWXXXXXXXXXXXXXXXXXXXXXXXWWXXXXXXXXXXXXXWXXWXXXXXTMZXXXXXXXXXXXXXXXWXXXXXWXWXXWWXXXXXXXXXXXXXWWWXXXXXYTjZWXWXXXXXWXWWXWXXXXXWXSujTYXWXXXXXXXWWXXXXXXZLZWXXXWXXXXXXXXXXXXXXXXXXXXXXWXXXWXXROYXXXXXXXXXXXWWXWWXXXXXWXXWWXXXWWXWXXXXZLPYXXXWXXXXXWXXXXXXXXWWXXXWXXXXXXXXXXXWWXXXXXWWXXWWXXWXWWWWXWWWXXXXXXXWWZMUXXXXWXXXWWWXXXWWXXWWXWWXXWWXXWXXXXWXXWXXWXWXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXVjTYXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXYTfrRYXXXXXXXXXXXXXXXXXXXXXXXXXZOXWXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXVZYXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXZOTYXXXXXXXXXXXXXXXXXXXYTujTYXXXXXXXXXXXXXXXXXZLZWXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXYXPPYXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXZLQYXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXZMUXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXVjTZXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXYXWǻuvuuuuvvuz`UYXXXXXXXXXXXXXXXXXXXXXXXXZPyaVXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXYUqsRYXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXYROZXXXXXXXXXXXXXXXXXXXYTvjTYXXXXXXXXXXXXXXXXX[L[XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXYWTƵ{uvuuvvuwNZXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXZLPYXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXZMUXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXYXXXXXXXXXXXXXXXXXXXXXYXXXXXXXXYXXXXXXXXXXXXXXYXXXXXXXXXXVmTYXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXYXXXXXXXXXXXYXXXXXXXXXXXXYXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXZQЪviXMNPQRTTTTTTTTTTRPOMRduUXXXXXXXXXXXXXXXXXXXXXXXXXYVbRYXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX[OPZXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXoSYXXXXXXXXXXXXXXXXXXXYTvjUYXXXXXXXXXXXXXXXXX[L]XXXXXXXXXXXXXXXXXXXXXXXXXXXXXYWTЪvfVKOPRSTTTTTTTTQPNM\k~PZXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX[LQZXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXZNVXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXYXYXYXYXXXXYYXYXYXYXXYYYXXXYYXYYYYXXXXXXXYYXXXXXXYXYYYYXYXXXYYYVӺeVYXYYXYXXXXYXXXYXYXXXYXYYXXXXYXXXXYXXYXXXYXXXXXXXXYYYXYXXXYXXXYYXXXXYXXXYXYYXYXYXYXXXXXYYXXXXXXYXXXYXXYXXYYXXXXXXYXYXXXXXYYXXXXXXYYXXXXYYXXYXXXYYXXXXXXYXXXXYXYYYXXXXXXXXYXYXXXYXXXXXXXXXXXXXYXXXYXXXXYXXXXXXYYXXYXXXXXXYYXYXYXYYXXYXXXYYXXYXXXYYXXYYXXYYXYYXXXXXXYXYYXXXXXXXXYXXXYYYXYXXXYYYXYXXXXYXXYXXXYYYYXYXXXXXXXXXXXZRxɡqXUORUY[[ZZYYYYYYYYYYYZZ[\ZVROSYkRZYXYXYXXXXXYXXYXXXYXXXXXX[MO[XXYYXXXXYXXYXXXXXYXXXXXYXXXXXXXXXXXXXYXXXXXXXXXYZRVXYYXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXYW`TYYXYXXXXXXXXXXYYXYYXXYTvjUZXXXYXXXXXXXXXXXXXZPúӹZXYXXXXXXXXXXXXYXXXXXYXXXXXXXYXU›nXTNQUY\[ZYYYYYYYYYYZZ[[XUORXetSZXXXXXXXXXXXXXXXXXXXXXYXXXXXXXXXXX[LQZXXXXYXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX[NVYXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXYYXYYYXXYYYYYYYYYYYYYYXYYYYYXYYYYXYYXYYYYXYYXYYXYYYYYYYXXYYYYYXYYYYWFOMMMMMMMMMMMMMMMMMMLMMMMMMMMMMMMMMMMLMMMMMMMLMMMMMMMMMMMMMMMMMMMMMMMMMMMMMMNXYYYYYXYYXXYYYXYYYYYYYYXYYYYYXYYYXXXYYYYYYYYYYYYYYYXYYYYYYYYYYYYYYYYXYYYYYYXYYYYXXXXYYYXYYYYXYYYYXYYYYYXYYYYYYYXYYXXYYYYXYXYYYXXYYXYYYYXXXYYXYYXYYYXYXYYXYYYYYYYYXYXYYXYYYYXYXXXXXYYYYYXXYYYXYYYXYYYYYYXYYYYYYYYYYYYYYYYYYYYYYXYXXYYYYYXYXYYXYYYYXYYYYXYYYYYYYXYYXYYXXXYYXXXYYXXYYYXYYYYYXXYYXYYYYXXYYXYYYXYYYXYYYYXYYXYYXXYX[|YNUXY[ZZYYYYXXXYYXXYYXYYXYYXYYZ[ZXVPVynTZYYYXYXYXXYYYXYXYYXYYYXXZQRZYYXYYXYYXXXYYXYYYYXYXXXXXYXXYXYXXYYYXYYYYYYYXYXZUk]WYXYXYXYXYYXYYYYYYXYXYYYYYXYYYXXXYXXYXXYXYYYYXXYYT{N[XYXYYYYXXYXXXXXXYXYXYUvjUZYXXYXYYXXYYYYYXXYXZQLMMMLLMMMMLMMLLLMMMMMLMMMMMLMLMMMMMLMMLLMMMMNFENMMMMMMLMLMLMMMMMMMMMMMMLMMMMMMMLLMMMMMMMMMMLOXXYYYYYXXXYXYXXXXXXYXXXXXXXYYZQנrTOUXY[[YYXYYXXXXXYYYYYYYXXYZ[ZXVPTwfUZXXXXYXXYYXYXXYXXXXXXXYYXYXXXYYXY\MRZXXXXXYXXXXXYXXXXXXYXYXYYXXXYXXXXYYYXXXXYXYXXXXXXXYXYYYXYXXXYXXXXXYXYX[NVXXXYXXYXXYYXXXYYYXXXXYXYYYXXXXXYXXXXXXYXXYXYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYWU]\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\[\\[[\\\\\\\\\\YYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYXYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYXYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYXYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYY[QuTRY\YYXYYYYYYYYYYYYYYYYYYYYYYYYYYYYYY\ZRSnVZYYYYYYYYYYYYYYYYYYYYYYYYVkfVZYXYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYXYYY[PTZYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYY\O{TZYYYYYYYYYYYYXYYYYYYYYUvjUZYYXXYYYYXYYYYYYYYYY[\\\[\\\\\\\\\\\\\\\\\\\\\[\\\\\\[\\[[\\\\\\\]UU]\\\\\\\\\\\\\\\\\\\[\[\\\\\\\\\[[\\\\\\\\\\\[YYYYYXYYYYYXYYYYYYYYYXYYYYYY[P̍_RR[[YYYYYXYYYYYYXYYYYYXYYXYYYYYYYY[ZRSmWXYYYYYXYYYYYYYYYYYXYXYYYYYYYYYYYY\MRZYYXXXXYYYXYYYYXYYXYYYYYYYYXYYYYXXYXYXXXYYYYYYYYYYYYYYYYYYYYXYXXYYYXYY[NWYYYYYYYYYYYXYXYYYYYYYXYYYYYYYYYYYXXYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYZYYYYYYWS[YYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYX`ۆTUZ[YYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYY[ZURzR[YYYYYYYYYYYYYYYYYYYYYYYXZzR[YYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYZT려N\YYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYY[R`WYYYYYYYYYYYYYYYYYYYYYZUvkUZYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYY[SSZYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYY\R֍[QXZ[YYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYY[ZVPwQ[YYYYYYYYYYYYYYYYYYYYYYYYYYYYYYY\MR[YYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYY\OWYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYZYYYYYYZYYZYYYYYYYYYYZZYYYYZYYYYYYZYYYYYYYYYYYYYYYYYZYYYYWS[YYYZYYYYYYZYYYYYYYYYYYYYYYZZYZYYYYZYYYYYYZZYYYYYYYYYYYYYYYZZYYYYZYYYYYYYYYYYYYYYYYYYYYYYYYYYYYZYYYYYYYYYYYYYZYYYYYYYYYYYYYYYYYYYYYYYYZYYYYYYYYYYZYYYYYYYYYYYYZYZYYYYYYYYYYZYZYYZYYYYYYYYYYYYYYYYYYYZYYYYYYYYYYYYYYYYYYZYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYZYYYYYYYYYYYYYYYYYYYYZYYYYYYYYYYYYZYYYYYYYYYYYYZYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYY\QhQZ[YYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYZ\R]`XZYYYYYYYYYYZYYYYYYYYYYYZUQ[YYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYY놇YYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYZVgWYYYYYYYYYYYYYYYYYYYYYYZUwkU[YYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYZYYYYYYYYYYYYYYYYY[SS[YYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYY[Un^QY\YYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYZ[TVxS[YYYYYYYYYYYYYYYYYYYYYYYYYYYYYY\MR[YYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYZYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYY\NWYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYZYZZYYZYZZZZZYYYYZYYZYYYYYZZYYYZZYZZYYYYYYZYZYYZYYZZYZZZZZZYYZYYYZZXS[YYYZYYZZZYYYZZZYYYYYZYYYZZZZYYYYYYYZZZZZYZZYZYZYZZYYYYYYYYYYZZYZYYZYYYZZYYZYYZYZZZZYYZZZYZYYYYZZZZYZZZYYYYZYZYYZYZYYYYZZZYYZYZYZYYZZZYYZZZYYZYZZZYZZYZYZZYZYYYZYYYYYYYYYZYYYZYYZZYYZYYYYYYYYYYYYZYZZYYYZZYYYZZYYYYZZYYYYZYYYYYZYZYZZZYYYYYYYZYYYZZYYZZYZYZYZZZYYYZYYYYZYYYYZYYYYYZYYZZYZZYYYZYYYZYZZYYYYZZYYZYZZYYYYZYYYYYZZYYYZZYYYYZYZYZZYYYYYZZZZZYYYYYYYZZZZZZZZYYZYZYYZZZZZYYYYYYYZYYYZZYYYYZZZ[We[U\ZZYYYYYYYYYYYYYYYYYZZZYZYZZYYZYYZZZYZYYYYYYYZ\YRR[YYYYYYYYYZZYZYYZYYYYYY\QWZZZZYYYYYZYYYYZYZYYZZYYZYYYYYZZZZYYYYYZYYYYYYYZVohdrT\YYYYYYYYYZYYYYYYYYZZYZYYYYYYYYYYYYYYYYYYYYYY\Q}Q\YYYYYYYYYYYYYYYYYYZYYZUwkV[YYYYYYYYZYYYYZYYYYYYZZYYYZZYYYYZYZYYYZYYYZYYYYZYYZYYYYYYYYYYZZYY[SS[YYYYYYZYYZZYYZYYZZYYYYZYZZYYYYYYYYYYYYYYYYYZYYYYYYYYYYYYYYYZYYZZYYYYYYZX^tPX[ZZYYYYYYYYYYZYYYYYYZZYYYYYYYYZZYYYYYYYZYYYY\ZRv^XZZYYYYYYYYYYZYYYZYYYYYYYYYYYYY]NR[YYYZYYYYYYYYYYYYYZYYYYYZYYYYYYYYYYYYYZZYYYYYYYYYYYYYYYYYZYYYZYYYYZYYY\OWZYYYZYYYYYYYYYYYYYYYYYYZYYYZYYYYYYYZYYYYYYYZZZZZZZZZZZZZZZZYZZYZZZZZZZZZYZZZZZZZZZZZZZZZZZZZYZZZZZZZZZZZZYYZZZXT\ZZZYYZZZZZZYZZZZZZZZZZZZZZZZZZZZZZZYZZYZZZZZZYZZZYYZZYZZYZYZZZYZZZYZZZZZZZZZYZZZZYYZZZZZZZZZYZYYYZZZZZZZZZZYZZYYZZZZZZZYZZZZZZYZZZYYZZZZZZZZZYZZYZZZZZYZZZYZZZZZZZZZYZZZZZZZZYZZYZYYYYZZZYZZYZYZZZZZYZZYZZZZZZZYYZZZZZYZZZYZZZZYZYZZYZZZYZZZZYZZZZZYZZZZYZZYYZZZZZZZZYZZYZZYZZZZYZZZZZYYYZZZZZYZZZZZZYZYZZZZZZYYZYYZZZZZZZZZZZZZZZYYZZZZZZYZZZZZYZZZZZZYZZZYYZZZZZZZZZYZZZYYZZZYZZYZZZYZZZZZZZYYZZZZ\RUX[ZZZZYYYZZYYZZYZYZZYZYZZYYZZZZZZZYYZZYZYZZYZZZZZZ[P_YZZZZYZZZYZYYZZZZZYZZZZ[Un\YZZZZYZZYYZZZYZZZYYYZYZZYYYZZZYZZYZZZYZZYYZZZY\QZXQ\YYZZZYZYYZYZZZZZZZYYZZYZYYYYZZZYZZYYZYZYZYYY[RwS\YYYZYZYYZZYYZYZZYYYZZZVwkV[ZZYZYYYYYZZYZZZYYYYYZYZZZZZZYZZZYYZZYZZYYYYZZYZZZZYZYZYYYZZYYZZZ[TT[ZYYYZYYZYZZZZZZYZYYZYYZZZYYZZZYZYZZYYZZZYYZYZZYYZYZYYYYYZZZYZZZYYYZYZZ[T[T\ZYYZYYZZZYZYYYYYYYZZYZZZYZZZZZZYYZYYYYYYZZYYYYZ\TbR\ZZYYYYZZYYYYZYYZZYZZZYYZZYYZZ]NS[ZYZYYZZYZZYYZYZZYYYYYYYZYYZYYYYZZZZYYYZYYYYYYYYYZYZYYYYYYZYZZZZZZZZZY\OWZYZZYZZYYYZZYZZZYYYYZYYZYYYYYYYYYZYZZYYYZZYZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZXT\ZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZ[ZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZYZ[X\ZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZYZZZZZZZZZZZZ]OR\ZZZZZZZZZZZZZZZZZZZZZ[ZYkW[ZZZZZZZZZZZZZZZZZZZZZZZZZZZZYYZZZZZZZZZZZZZZ\QWUW[ZZZZZZZZYZZZZZZZZZZZZYZZZYZZZZZZZZZZZZZZZZZZZX^Y[ZZZZZZZZZZZZZZZZYZZZZ[VwkV[ZZZZZZZZZZZZZZZZZZYZZZZZZZZZZZZZZZZZZZZZYZZZZZZZZZZZZZZZZZZZZZZZ[TT[ZZZZZZZZZZZZZZZZZZZZYZZZZZYYZZZZZZZZZZZZZZZZYZYZZZZZZZZZZYZYZZYZYZZZY\R݇RY\ZZZZYZZZZZZZZZZZZZZZZZZZZZZYZZZYZZZYYZZZZZZZZZYZZ\V]rU\ZZZZZZZZYZZZZYZZZYYZZYZZYZZZ]NS\ZYZZZZYZZZYYZZYZZYZZZZZZZYYZZZZZZZZZZZYZYZZZZZZZZZZZZZZZZZZZYZZZZZZZZ\PXZYZZZZZZZZZZZZZZZZYZZZZYZZZZZYZZZZZZZZZZZYZZZZ[ZZ[Z[ZZZZ[Z[Z[ZZZZZZZZZZZZZZZZ[ZZZZ[Z[ZZZZZ[[Z[ZZZZ[[[ZZZZZZZZ[XT\ZZZZZZZ[ZZZZZZZZZZZZZZZZZ[ZZZZZ[[ZZZZ[[ZZZZ[Z[ZZZ[ZZZZ[ZZZZZZZZZZZ[[[[ZZZZZZZZZZZZZZZZZZZZZZZZZ[[Z[[ZZZZZZZZZZZZ[ZZZ[ZZZ[ZZZZZZZZZ[ZZZ[ZZZ[ZZZZ[[ZZZZZZZZZZZZZ[[ZZ[Z[ZZ[[[ZZZZZZZZZZZZZZZZZZZZZ[Z[[ZZZZZ[ZZZZZZZ[ZZZZZZZZZZZZZZZZZZ[ZZZZZZZZ[Z[[ZZZZZZ[ZZZZZZZ[ZZZZ[ZZZZZZZZZZZ[[ZZZZZZZZZZZZ[ZZZZZZZZZZZZZZZZZZ[ZZ[ZZZZ[Z[ZZZZZZZZZZ[Z[ZZZ[[ZZZZZZZZZZZZ[ZZ[ZZZZ[[ZZZZZZZ[ZZZZZ[ZZZ[ZZZZZZZZZZZZZZ\VzbW\ZZZZZZZZZZ[ZZZZZZZZ[ZZZZZZZZZZZZZZZZZZZZZZZZZZ[ZZZZ[\R[Z[ZZZZZZZZZZZZZZZZZZZZZ]PT\ZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZ[ZZZZZZZ\XgST`XZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZ[Y^O]ZZZZZZZZZZZZZZZZZZZZZZ[VwlV\ZZZ[ZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZ\TT\ZZZZ[ZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZ\ViuR][ZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZ\XXV[ZZZZZZZZZZZZZZZZZZZZZZZZZZZZ]NS\ZZZZZZZZZZZZZZYZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZ]PX[ZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZZ[Z[[ZZZ[Z[Z[[ZZ[ZZ[Z[[Z[[[Z[Z[[[ZZ[[Z[[[Z[[[Z[[[[[[[[[ZZ[[[[[Z[[[XT\[[[[[ZZ[Z[ZZZZZZZ[[[Z[[[[[[[[[[[ZZ[[[Z[Z[ZZ[[ZZ[[[[[Z[[Z[Z[[[ZZZZ[[[[[[[Z[Z[Z[[[[[[[ZZ[[[[Z[[[[ZZ[ZZ[Z[Z[Z[[[[ZZZ[[Z[ZZ[Z[[Z[[[[[[[ZZ[[ZZZ[ZZ[Z[ZZZZZ[[[[ZZ[ZZ[[[[[Z[[ZZZ[ZZZZZ[Z[[ZZZZ[[Z[Z[[[Z[[ZZ[[Z[[Z[Z[[[[Z[Z[[[[ZZZZZ[ZZ[Z[ZZZZ[ZZ[ZZZZZZ[Z[ZZZ[Z[ZZ[[Z[ZZZ[[[[[[[ZZ[[[[Z[ZZ[[[ZZ[[ZZ[[[[Z[[[[[ZZ[[[Z[[Z[[[[Z[ZZ[[Z[[[[ZZZZZZZZZ[[[[[[ZZ[[[[[[[ZZ[[Z[[ZZ[[ZZ[[[Z[ZZZ[[Z[Z[ZZZ[Z[[Z[ZZZZZ[ZZ[]P{T][[ZZ[ZZZZZZ[[ZZZZZZZZZ[[[Z[ZZ[Z[[[Z[[[[[[ZZ[ZZZ[ZZZZ[[[Y|S]Z[ZZZ[[Z[[[Z[Z[[[[ZZ[[UP][[[ZZZ[Z[ZZZ[[Z[ZZZ[[[[Z[Z[[ZZZ[[[ZZZ[[Z[Z[]RxUYg|V\Z[ZZ[[[ZZZZZZ[ZZZ[ZZZ[ZZ[Z[[[ZZZZZ[ZZZZZZZ\WvT\ZZZZZ[[[ZZZZZZ[ZZZ[ZZZ\VwlW\Z[ZZZZ[ZZ[ZZZZZZ[[[[Z[Z[[ZZZZZ[[[ZZ[ZZZZ[[Z[ZZZ[ZZ[[Z[[ZZZ[Z[[ZZ\TT\ZZZ[[ZZ[ZZ[[[[[[ZZZZZ[ZZZZZ[Z[[[Z[ZZZZZZZ[ZZZ[ZZZZ[ZZZ[Z[[ZZZZZ[ZZZ[\UhS]ZZ[ZZZZZ[Z[[ZZZZZ[ZZZZZ[ZZ[ZZZ[ZZZ[[ZZZZZZZZZZZ[ZZZ[[Z\Y^S][[ZZZ[Z[ZZZZZZ[[[[[[[Z[Z[ZZ]NT\ZZZZZZZZZZZZZZZZZZZZ[ZZZZZ[ZZZZZZZZZZZZZZZZZZZ[ZZZZ[ZZZZZZZ[Z[ZZZZZZZ]PX[[ZZZZZZZZZZZZ[ZZZ[ZZZZZZZZZZZZZZZ[ZZZZZZZZ[[[[[[[[[[[[[[[[[[[[[[[[[[[[Z[[[[[[[[[[[[[Z[[[Z[[[[[[[[[[[[[[[[[[[[YU][[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[Z[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[Z[[[[[[[[[[[[[[[[[[[[[Z[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[Z[[[[[[[[[[[[Z[[[[[[[[[[[[Z[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[Z[[[Z[Z[[[[[[Z[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[Z[[[[[[[[[[[[[ZZ[[[[[[[[[[[[Z[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[Z[[[[[[ZZ[[[[[[[[[Z[[[[[[[\[]R][[[[[[[[[Z[[Z[ZZ[[[[[[[[[[[[[[[[[[[[[[[[ZZ[Z[[[[[[[[[[[]VjV\[[[[[[[[[[[Z[[[[[[[[Z[YdY[[[Z[[[[[[[[[[ZZ[[ZZ[[Z[[[ZZ[[[[[[Z[[[[[[[[[\U`Y]RP][[[Z[[[[Z[Z[[[Z[Z[[ZZ[[[[[[[[[[[Z[[[[[[[[Z]SgX\[[[[[[[[[[[[Z[[[[Z[[[Z\VxlW\[[[[[[[[[[[[[[[[[[[[[[[[[Z[[[[Z[[[[[[[[[[Z[[[Z[[[[[[[[[[ZZ[[Z[[[\UU\[ZZ[[Z[[ZZ[[ZZ[[ZZZZ[Z[[Z[Z[ZZ[[Z[Z[ZZ[[[[[[[[Z[Z[[Z[[[[[[[[[[[[[[[]RhU]ZZZ[[[ZZZ[[[[[[[Z[Z[[[[[[Z[Z[[[ZZZ[[[[[Z[Z[Z[[ZZ[ZZ[[[[[\Wc[[[ZZ[[[[[Z[[[Z[Z[[Z[ZZ[[[ZZ[]OT\[[[Z[ZZZ[[Z[[ZZ[ZZ[[[[ZZ[Z[[[[Z[[[ZZ[[[[ZZ[[[[[ZZZZ[ZZ[[Z[[[Z[ZZ[[[[[]PX[[[[ZZ[[[ZZZZZZZZ[[Z[[Z[[[Z[ZZZZZ[[[[Z[ZZ[[[[[[[[[[[[[[[[[\\[[\\[[[[[[\[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[XU][[[[[[[[[[[[[[[[[[[[\[[\[[[[[[\[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[\[[[[[[[[[[[[\[[[\[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[\[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[\[[[[[[[[[[[[[[[[[[[[[\[[[\[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[\[[[Z[[[[[[\[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[\[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[]UvfY\[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[]R]Z[[[[[[[[[[[[[[[[[[[[[[[ZnW\[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[Z\Q]]SY\[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[]R[[[[[[[[[[[[[[[[[[[[[[[[[\VxmW\[[[[[[[[Z[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[\UU\[[[[[[[[[[[[[[[[[[[[[[[[[Z[[[[[[[[[[Z[[[[[[[[[[[[[[[[[[[[[[[[[[[[[\YaiU]Z[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[Z[[[[[[[[[[[[[[[[Z[]TtS][[[[[Z[[[[[[[[[[[[[[[[[[[[]OT\[[[[[[[[[[[[[[[[Z[[[[[[[[[[[Z[[[[[[[[[[[[[[[Z[[[Z[Z[[[[[[[[[[[[[[[Z[[]QX[[[[[[[[[[[[[[[[[[[[[[[ZZ[[[[[[[[[[[[[[[[[Z\\[\[[[\[[\\[\[\[[[\[[\[[[[\\[[\[[[[[[[[[\\[[\[[[[\\\\\\[\\[\[\\[[[YU]\[[\\[\\\[\\\[[\[[\[[[\[[\[[[\[\\[[[\[\[[[[[\\[[\\[\\\\[[[[[[[[[\\\[[[[[[[[\\[[[[[[\[[\[\[\[\[\[\[\[[[[[[\[[\\[\[\[[[\[\[[[\\\[[\[[[[\[\\[\\[\[[[[\\[\[\\\[[[[\[[[[[[[\[\\[\[\\\[[\[[[[[[\\[\\[\\[[[[[[[[[[[\[[[\[\[[[[[[\[[[[[[[\[\[[\[\\\[\[[[[[[[[[\\\[[[[[[[[\[[[\[[\[[[\[[[[[\[[[[\[\[[[[\[[\[[\[[\\[\[[[\\\[[[[[[[[[\[\[[[[[[[[[[[\[\[[[[[[[[[[[\\[[[[[[[[[\[[\[[[[\[[[[[[[[[[[[[[[[[[[[[[[[]RT][[[\[[[[\[[[\[[[[[[\[[[[[[[\\[[\[[[[[[[\[[[\[\\[[[[[\[[[[\[\{W\\[[[\\[[[[[[\\[[[\[[[]TS][[[\[[[[[[\[[[[[[[[[[[[[[\[[[[[[[[[[\[[[[\XlT]\XptU][\\[[[[[[[[[[[[[\[[\[[[[[[[[[\\[[\\[[\[[\YeT][[[[\\[[[[[[[[[[\[[\[[[\WxlW][[[[[[[[[[[\[[[[[\[[[\[[[[[[[[[[\[[[[[[[[[[[[[[[[[[[[[[[\[[[[[[[]UU][[[\[[[[[[[[[[[[[[[[[[[[[[[[[[\[[[[[[[[[[[[[[[[[\[[[[[[[[[[[[[[[[[]TjU][[[[[\[[[[[[[[[[[[[[[[[[[[\[[[[[[[[[[[\[[[[[[[[[\[\[[[[[\[[[]RY\\\[[[[[[[[[[[[[[[\[[[[[[[[^OT\[[[[[[[[[[[[[[[[[[[[[[\[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[\[[[[[[[]QX[[[[[[[[[[[[[[[[[[[[[[[[[\[[[[[[[[[[[[[[[[[[\\\\\\[[[[\\\\\\[[[[[\\\\[\\[\[\\\\\\\\[\\\\\[\\\\\[\\[\\\\[[\\\\[YU]\\\[\[\\\[[\\\\\\[\\[\\\[\\[[\\\\\\\[\\[[\[[\\[\[\\\\\\\\\\\\\\\\\\[\[\\\\\[[\[[\\\\\\\[\\\\\\\\\[\\\\\\\\[\\\[\\\[[\\[\\\\[\\\\\[\\\\[\\[\\\\\\[[\\[\\[\\\\[\\[[\\[[\\\\\[[\\[\\\\\\[\\\\[\\\\[\\[\\[[\[\\\\\\\[\\[\\\[\\[\\\\\[\\[[\\[\[[\\\\[[\\[[\\\\[\[\[[\\\\\\[[\\\\[[\[[[\\\\[[\\\\\[[[[[[[\[[\[[\\[[\\\[\\[\\\[\\\[\[[\[[\\\\[\\\\[\\\\[[[\\\\\[[\[[[[\[\\[\\[\[[\\[\\\\[\\[[[[\\\\\\\\\\\XzU]\[[\\\\\\\\\\\\[[\[\[\\\\\\\\[\\[[\[[[[\\\[[[\\\\\\\\[[[\\]TQ^\[\\\\\\\[\\\[\\\[\\[]T|U]\\[\[[[[\[[[[\\[[\\\[\\[[\\\\\[[\[\\\[[\[]TlX\\Z\S]\\[[\\[\[[\[[[\[\[\[[\[\\\\\[[[[\[\[\[[\]T{~S][[\\\\[\\[\[\[\[[\[\\[[\WxmW][\\\\[\\[[[\\\\\[[[[\\[\[[\\\\[[[\[\[\\[[\\\\\[[\\\\[[[\\[\\\\[\]UU][\[[[\\[[[[[\[\\[[\[\\[\[[\[[\[[[[\\[[[[\\[[\\[\\[[[[[\[\[[\[[[[[]XlyU^\\\[[\[[\\[\\[\\[[\[\\[[[[\[[[[\[[[[[\[[\\\\\[\[\[\[[\\\[\[[[\]VT]\[[[[[[[\\[\[[[[\[[[[\[[[^PU]\[[\[[[\[\\[[\\[\\\\[\[[\[[[\[[\[\\[[[[[[\[[[\[[\\[[[[[[[\[\\\[[\[[[[^QY[\[\[[[[[\[[[[[[\[\[\[[[\[[[[[\[[\\[[[\[[\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\YU]\\\\\\\\\\[\\\\\\\\\\\\\\\[\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\[\\\\\\\\\\\[\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\[\\\\\\\\\\\\\\\\\\\\\\\\\\\[\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\[\\\\\\]\\\\\\\\\\\[\\\\\\\\\\\\\[\\\\\\\[[\\\\\\\\\\\[[\\\\\\\\[\\\]Z_W]\\[\\\\\\\[\\\\\\\\\\\Ye[\\\\\\[\\\\\\\\\\[\\\\\\\\\\\\\\\\[\\[\\\\^S][\\]WX\\\\\\\[\\\\\\\\\\\\[\\[[\\\\[[\\\\\\\\\\]SfZ]\\\[\\\\\[\\\\\\\\\\\\[]XxmX][[\\\\\\\\\\\\\\\[[\\\\\[[\\\\\\[\\[\\\\\\\\\\\\\\[[\\\\\\\\\\\\]UU]\\[[\\[\[[\\\\[\\\\[\\\[\\\\\\\[\[[\\\\\\\\\\\\\\\\\\[\\\\[\\\\\\]TR^\\\\\\\\[[\[\\\\\\\\\\\\\\\\\\\\[\\\[\\\\\\\\\[\\\\\\\[\\\\[\\\]XjX\\\\\[[\[\\[\\\\\\\\[\[[\\^PU]\\\\[[\\\[[\\[[[[[\\[\\\[[[\\\\\\\\\\[\\\[\\\\\\[\\\[\\\\\\[\[\[\\[\\^QY\\[\\[\\\\\\\\[\[\\\[\\\[[[\\\\\\[\\\[\\[\\\\\\\\\\\\\\\\\\\\\\\\\]\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\]\YV]\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\]\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\[^R^\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\^SlY]\\\\\\\\\\\\\\\\\\\\\^Ta[\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\]ZeX]\\^S_[\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\YS^\\\\\\\\\\\\\\\\\\\\\\\\]XymX]\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\]VU]\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\]WrV]\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\^TtX]\\\\\\\\\\\\\\\\\\\\\\\\^PU]\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\^QY\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\]]\\\\\\\]\\\\\\\\\\]]\\]\\\\\\\]\]\\\\\\\\\\]\\]\\\\\\]\\]\\\\\]]ZV]\\\\\\\\\\\\]\\\\\\\\\\\\\\\\\\\]\\]]]]\]\\\\\\\\\\\\\\\\]\\\\\\]\\\]\\\\\\\\\\]\]]\\\]\]\\\\\\\\\\\\\]\\\\]\\\\\]\\\\\\\\\\\\\\\]\\\\\\\\\\\\\]]\\\\]\\\\\\\\\\\\\\\\\\\]\]]\\\\]\\\\\\\\\\\\\\\]]\\\]\\\\\\\\\\]\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\]]\\]\\\\\\\\\\\\\\]\\\\]\\\\\\\\]\\\\]\\\\\\\\]\\\\\\\\\\\\\\\]\\\\\]\\\\\\\\\\]\\\\\\\\]\\\\\]\\]]\\\\\\\\\\\]\\\\\\\\\\\\\\\\\\]\\\\\\\\\\\]YjU^\\\\\\]\\\\]\\\\]\\]\\\\\\]\]\\\\]\]]\\\\\]]\\\\\\\\\]\\\\\\]Ym~T^\\\\\\\\\\\\\\\\\\\\\^T|X]\\\\\\\\\\\\\\\\]\\\\\\\\\\\\]\\\\\\\\\^TS^]\]XlyX]\\\\\\]\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\][]T^\\\\\\\\\\\\\\]\\\\\\\]\]XymX]\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\]VU]\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\]\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\]VaZ]\\\\\\\\]\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\]\_T^\\\\\]\\\\\\\\\\\\\\\\\\^PU]\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\_RY\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\]]\]]]]]\\\]]]\]]\]]]]]]\]\]]\\]]]]]]]\]]]\\]\]]]]]]]]\\\]]]\\]]]]]ZV^]]]]]]]\]\\]]]]]]]\]]]]]]]]]]\]]]\]]]]]]]\\\]]]]]\]]]]]]]]]\\]]\]\]]]\\]\\\]]]]\\\]]]]]]]]]]\]]]]\]]]\]]]\]]\]]\\]]]\\]\]]]]]]]\\]\]]]]]\]]]\]\\\]\\]\\]]]\\\]\]]]\]]\]]]\]]\]]\]]\]]]]]]]]\]]\\\]\]]\]\]\\]]]]\]\\]\\]]]\]]\]]\\\]\]\]]]\]]]\\]]\\]\]]\]]]]\]\]\]\\\\\\]\\\\]]\]\\]]]\]]\\]\\\\\\]\]]]\]]]]\\\]]]]]]\]\]\]]\]]]]]\]\\]\]\]]]]]]\\\\]\\]]]\\]\\]\\]\\]]]\\\\\]]]]\\\]]]]]\\]]\]]]]XzX]\\\]]]\\\]\]]]\\\]\\\\]]]\\]\]\]]]]\]\]]]]\]\]\]]\]]]\\\\\\\]\\T^\\]\\\\]]\]\]]\]]\]]\]YrT^]]\\\\\]]\\\]\\]]]\]\\]\\]\]]]]\\\]]\\\]VqX^]]]^UR_]\\]\\\]]]]\\\\\\\\\\]]\\\]\\]\]\\\\]]]YqrY]\]]\\\\\]\\]]\\\\\\\\\\\]XymX^\\]\]\\]]\\\\\]\\]\\\\\\\]\]]]]]\\]\\\\\\]]\\]\\\]]]]\\]]\\]]]\]^VV^\]]]\]\\]\\\\\\]\\\\]\\\\\\\\\\\\\\]\\\\\\\\\\\\\\\\\]]\\\\\\\]]YpU^\]]]\\\\\\\\]\\\\\\\\]\\]\\\\\]\\]\]\\\\\\\\]]\\\\\]\\\\\\]\\]\\\\\^UeZ]\]]\]\\\\\\\\\]\\\]\\\\_QV]]\\\\\\\\\\]\\\]\\\\]\\\\\\\\\\\\\\\\\\]\\\\]\]\\\\\]\]]]]\]]\\]\\\\\_RY\]]\\\]\]\\\\\]\\\\]\\]\\\\\\\]]\\\\\\\\\]\]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]][V^]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]\]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]\]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]\]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]\]]]]]]]]]]]]]]]]]]]\]]]]]]]]]]]]]]]]]\]]]]]]]]]]]]]]]]]]]]]]]]]\]]]]]]]]]]\]]]]]]]]]]]]]]X~wX]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]\]]]]]]]]]]]]]]]\]]]]]]]]^UX]]]]]]]]]]]]\]]]]]\]]]]\_R_]]]\]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]\\X^]]]\^TY]]]]]]]\]]\]\]]]\]]]]]]]]\]]]]]]]]\\]]]^U^\]\]]]]]]\\]]]]\\]]]]]\]]]]XynY^]]]]]]]]]]]]]]]]]]]]]]\]]\]]\]]]]]]]]]\]]]]]]]\]\\]]]]]]\]]]]]]]^VV^]]\]]\]\]]\\\]]]]]]]]\\]\]]]\\]]]]]]\]]]]]]]\]]]]]\\]]\]\\]\]\]_TW]]]]]]]]\]\]]]]\\]\\]]\]\]]]]]]]]]]]]]]]]]]]]]]]]]]]\\]]]\\]]]]\]]\]]]][T^\]]]]]]]]]\\]]]]]]]]\\]_QV^]]]]\]\\\]]\]]\\]]]]]\]]]\]]]]\]\\]]]\]\]]\\]]]]]]]]]]\]]]]]]]]\\]]]\_RZ]]]]\]\\\]]]\]]\]\\\]\]]\\\\]]]]\]]]\\]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]][W^]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]^^_````___^^]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]^^^__`_``_````__^^]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]^^____``_````__^^]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]^VzX^]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]^T[]]]]]]]]]]]]]]]]]]]]]]]]Yc[]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]ZjR_]]]]]YsrX^]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]_QX]]]]]]]]]]]]]]]]]]]]]]]]]]]XznY^]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]^VV^]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]^YioY^]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]^UY]]]]]]]]]]]]]]]]]]]]]]]]_QV^]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]_SZ]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]][W^]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]_^\XURQQRRQSTWZ\]_^]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]^_^]\ZXVTTQRRRRQQRRSUWX[\]__^]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]^__]\[XWUTRQRRQRRQQSTVXZ\]^_^]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]_VyY^]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]^Zj^\]]]]]]]]]]]]]]]]]]]]]]_TyW^]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]^V~X^]]]]]\_T_]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]^\cT_]]]]]]]]]]]]]]]]]]]]]]]]]]YznY^]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]^WW^]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]_UU^]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]Zd\]]]]]]]]]]]]]]]]]]]]]]]`QV^]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]_S[]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]^]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]][W^]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]^````````````````]]]]]]]]]]]]_]UYaraZUY__]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]^`^YTX]`mzh^[UV\__^]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]__[UU\_hzm`]WUY__^]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]_W}X^]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]^Wa\]]]]]]]]]]]]]]]]]]]]]]_XvU_]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]`Rb\]]]]]]^YZ^]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]_WypY^]]]]]]]]]]]]]]]]]]]]]]]]]^YznY^]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]_WW^]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]\lY^]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]_UW_]]]]]]]]]]]]]]]]]]]]]]`QV_]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]_S[]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]^^^]]^]]]^]]]^^]]]]^^^]]^]^]^]^^]^^]]^]]^]^]^]]]]]^]]^^^^]^]^]]]]^^[W_^^^^^]]]^^^]^^^^^^]^]]^]]^]]^^]^]^]^^^]^^]^^]]]]^]^]]^^]]]^]^^]^]]]^^]]]^^^]^]]]]^]]]]^]^]]]]]]_[RRRRRRRRRRQRRRRU]]^]^]^]]]^^W\۴qWW]__]]]^^^^^]]^^^]]^^]]]^]]]]]]^]]]]]]]__]ZTYrѷ}fTW\__^]^^]]]]]]^^^]]]]]]]]]^^]]]^]]]]^]]]]^]]]]^]^^^]]^]^]^]]^]]^]]^^]]^]]]]^_^[VUjnWU[^`^]]]^]]]]^]^]]]]]]^^]^]]]^]^]]]^]]]^]^^^]]]]]]^]_WV_]]]]]]^^]]]]^]]^]]]]]]]]]]]]]]]]]^]]]]^]]]]]]^]]]]]]^]]]]]]]]]`Sc\]^^]]]]]]]]^]]^]]]]]]]^]^Y^]]]]]^]]]]]]]]]^]]]]]]^]]^]]]]]]]]]]^\g[]]]]]]]`Ta]^]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]`UY^^]]]]]]]]]]]]]]]]]]^]]]]]]^YznY^]]]]]]]]]]]]]]]]]]]]]]]]^]]]]^]]]]]]]]]]]]]]]]]]^]]]]]]]]]]]]]]]_WW_]]]]]]]]]]]]]]]]]]]]]]]]]]^]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]^YyT`]^]]]]]]]]]]]]]]]]]]]]]]]]^]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]cU_]]]]]]]]]]]]]]]]]]]]]]`RW_]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]`S[]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]^^^^]^^^^^^^^^^^^^^]^^]^^^]^^^^^^^]^^^]^^^^^^^^]^^^^^^^^^^^^^^^^^^^\X_^^^^^^^^^]^^]^^^]]^^^^^^^^^^^^^^]]^^^^]^^^^^^]]^^^^]^^]^^^]^^^^^^^^^^^^^^^^^^^^^]^^]^^^^^^^^^^_Ys¨`]^^^^^^]_ZY޽aVZ_^^]^^^^^]^^^]^^^^^]^^^^]^^]^^^^^^`ZW]vҸeXW^_^^]^^^^]^^^^]^^^]^^^^]^]]]^^^^^^^^^^^^^^^^^^^^^]^^^^^]^]]^]^^^]^^^^^`]VZjn[U\`^^^]]^^]^^^^]]^^^^^^^]]]^]^^]]^^]^^^^^]]]]]]^]_Y}T`^^]^^]^]^]^^^]]]]^^^]^^^^^]^^^^^^]^^^^^^^]^^^^^]]^]]]^^^]^^^]^`Ud\^^]^^]]^^^^^^]]^^]^^^^^`S^]^^^]^^^^^^^]^^^]^^]^^^^^]]]^]]]^^^^^`V}U`^]^^^]^YpxZ_^^^]]^^^^^^]]]]]^^]^^]^^^]]^]^]]]^^^YT`^^]^^^^^^^^^^^]^^^^^]]]]^^_YznY_^]]^]^^^^^^^^^^^]^^]^^]^^^^]^^]^^^^]^]^^]]^^]]^]^]]]^^]^]]]^^]]]_XW_]]^^]]^^^^^]]^^]]^]]]]^^]]^^]^^^]^^^]^]]]^^]^^]]]]^^]^^^]]]]^`Sp[^]]]^]]^]^]]]^]^^]^^]]]^]]^]]^^^^]]]^^]]^^]^]]]^]]]^]]]^]^^^^]^]]^]]]]^^^^_Wڼ[^^^]^^^^^]]^^]^]^]^^]]]`RW_]^^^]]^]]^^]]^^]^^^^^]^^]]^^^^^]^^]^]^]^^]]^]^]]]]]^^]]]]]]]]]]^]^]]^`S\^]]]^^]]^]]^^]]^]^^^]^^^^^]]^^]]]]^^]^]]^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\X`^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^`Vb]^^^^^^`XkלmU]_^^^^^^^^^^^^^^^^^^^^^^^^^^^^`_[Vm߫|\X^`^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^_`]Vb翉eU]`_^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^]_Zw]_^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^_Yzzzy_^^^^^^^^^^^^^^^^^^^^^^^^_Yi\_^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^_VvX`^^^^^^^_YU`^^^^^^^^^^^^^^^^^^^]^^^^^^^^^^^^^^^]_|Z^^^^^^^^^^^^^^^^^^^^^^^^^^^_ZzoZ_^^^^^^^^^^^^^^^^^^]]^^^^^^^^^^]^^^^^^^^^^^^^^^^^^^^^^]^^^^^^^^^^_XX_^^^^^^^^^^^^^^^^^^^^^^]^^^^^^^^^^^^^^^]^^^^^^^^^^^^^^^^^^^^^^]d[^^^^^^^^^^^^^^^^^^^^^]]^^^^^^^^^^^^^^^^^^]]]^^]^^]^^^]^^^^^^^^^^^^^^^^]^^^^`Wy˷ta\X^^^^^]^^^^^^^^^^^^^^^^]^`RW`^^^^^^]^^^^^]]^^^]^^^^^^^^^^^^^^^^^^]^^^^]^^^^^^^^^]^^^^^^^^^^^^^^]^]`T\^^^^^^^^^^^^^]^^]^^]^^^^^^^^^^^]^^^^^^]^^^]^^^^^^^^_^^_^^^^^^^^^^^^^^^^^^^^^^^^^_^_^^^^^^^^^__^^^^^^^^^^^__^^_\X`^^^^^^^^^^^__^^^^^^^^^^^^^^^^^^^^^_^^^^^^^^^^^_^^^^^^^^^^^^^^^^^^^^^^^^^_^^^^^^^_^^^^^^^^^^^^^`X}a]_^^^^`W~ܢd\_^^^^^^^_^^^^^^^^^^^^_^^^^^`YXrĆ\X__^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^_`\WdӛeV]`^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^_^^^^^^^^_\gwX`^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^_ZRSRRTUUUUWXXXYZZZZ^^^^^^^^^^^^^^^^^^^^^^^^^_\fX`^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^]`^_^^^^^^^aUZ_^^^^^^^^^^^^^^^^^^^^^^^^^^^_^^^^^^_[ob]^^^^^^^^^^^^^^^^^^^^^^^^^^^_ZzoZ_^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^`XX`^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^`VV`^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^_Zʨv`SW[]^_^^^^^^^^^^^^^^^^^^^^^^^^aSX`^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^`T\^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^__^_^^^^^^__^_^^_^^^^_^_^^_^^_^^_^___^__^^_^^_^^^_^^^^^^_^____^___]X`^__^^^_^^_^_^^^^^^_^^^^^_^_^^^^_^^_____^_^_^^^^___^__^^^_^_^^^__^___^_^__^^__^^^_^__^^^__^_^__`X~a^`^__`W{Y`_^_^^^^^____^__^__^_^__`]UuŅX[`_^^^^^^^^^^_^^_^__^_^^^__^^_^__^^^^^^__^^^_^^^^_^_^^_^^_^``VeؚbW`____^^^^^__^__^^^_^^^_^__^^_^^^^_^^^____^_^aW`^^^__^^^^^^^^_^^^^_^^^^^^^^_^^_^^^^^^^^^__^_^^^^^_^__^^^__^^^_^`aaaaa``a``````_``_^^^_^^^^^^^^^_^_^_^_^^_^^_^]Ta^^^^^_^^_^^^^^^_^^^__^^^_^^^__^^^__\iTa_^^^_^^^_Z}pZ`^^^__^^_^^_^^^^^^_^^^^^^_^^_^^_^_`X\__^^^^^_^^^_^_^^_^^^_^_^^^^^_Zzp[`^^^^^^^^^^^^^^^^^_^^__^^^^^^^^^^^^^^^^_^^^^^^^^^^^_^^^^_^^^^^^^^_XX_^^^^^^^^^^^^^_^^^^_^^^^^^^_^^^^_^^^_^^^^^^_^^^^^^_^^^^^^^_^_`Yf]`^^^^^^^__^^^^^^^_^^^^^^__^^^^^__^^^^^^_^^_^^^_^^^^_^_^^^^^_^^^^^_^^_^_^_^^^`Vh^YUY^a`_^^__^^^^^^^^^^^^^^^^^^^^_^^aSX`^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^_^^^^^^^^^^^^^^^^^^^^^^_^^_^^^`T\^_^^^^^^^^^^^^^^^_^^^^^^^^^^^^__^_^^^^^^^^^^__________^_______^____^____^^_____^__________^__^____^_____^_____]X`____________^___^__^_____^___^____^^_______^______^__^_^_______^^____^_^^^_____^^______^_^___^`X~b^_^^`VXa_^^_^^^^_________^___``XerW_`^___^__^^^______^__^_^__^_____^^_____^_^_^_______^____a[[шY\`^_______^^__^_________^_^^__^_^^____^__^_^j\___^_^_____^_______^____^^^__^__^^___^^^____^__^__^__^_____^^^^___^___^_^^^__^______^_^^^___^^____^^_^____^^`YZ__^_^^__^_________^^____^_^______^_`XY`^^___^__^]bVa^^_^^______^_^^___^_^____^^____^_aTUa^^^___^_^__^^__^^_^___^__^_`[{p[`^^___^^__^_^^^__^__^^_^^^^_^^_^___^_^^^^^_____^^^__^____^_^____^`XX`__^____^^^___^^______^^^_^_^^___^^_^^^_____^^____^_____^^___^`Ua_^_^^^_^__^^_^^^_^^^^____^^____^______^____^^^_^^^^__^^_^^^^_^^_^^^^__^^_^_^_\o}kXUY]^`a`___^___^^^^_^^^^___^__^__^^____aSX`^___^^^__^^_^^^_^_^__^_^^^^___^^^^^__________^_^^^^_^_^^^^_^^___^^^__aU\__^_^^___^^_^_^^_^^^^^^_^^^^^^^^^_^_^^__^^^__________________________________________________________________`]Y`______________________________________________________________________________________________aX~b^`_aY|\`_____________________a]Y]\a___________________________________________________`aWriX``______________________________________aXWa_^_________________________________________________^^__________________________________________^^__________aWm\`_______________________________^_aTg]___________][`^_________________^___^_________`^bwY`___________^^______________`[{p[`_______________________________________________________^________`YY`____^___________^____________^____________________________^_[vY`___________^______________^_________^___^^^___^______^__^______________^___^__^[VX\aa`_____^^_______________________^^____aTXa________________________^________________^____^^_______^____________^aU]__^_____^_^__^_____^^__^_____^_______^^__^__``_``__`_`_____`___`____`__`__``_`_________`___________`____``__``]Y`__`______`________`________________`_`__`__``_______________`___________________________`_____aX~b_`a\mWa___`____`_____`_____a[bnYa_____________________________`___`__`_____`______a^X؆X_`_____`_______`_______`_______________bWXb`_____________________________`___________________`___`_____________`______________________`______________`\mWa________________________________`^c^__`________aVb^_______`________________________`Zub_`__________`________________`[{p\`___________________________________________`____________________`YY`___`________________________________`______________________aVd^________________________________________________________________________________`aa`_________________________`_______`_____bTXa____`________________________________________________________________aU]_`_________________________________________``_`````_```````````````_``````_`````````_``_```_`__`_````_``_`_``_]Ya`___````_```_`````_``_`_`__`````_`````````__`_``_``___```____````_`___``````_``_````````````__aXb_``_l]``____`__``_```_``_`bXt܅Xa`___```_``__``````_`___````__``_````__````````_a[a]]a__```___`____````_`_`_`_`__````_`__``\qrYb``_____``____`__`__```_`__`__```_____`__`_`_`_```_`__``_`__`_____`_````___`_`__`__``___`__`____`___`__`__`aYWa`_`__`________`_``_```__`__`____aX}Xa_``__``___aYxz\`_``````______`__``____``___`___aWUb_`___``____`___````__``___`_`\{q\``_`_`____``__``__`_```_`___`_``______`__```_`_______``_`__`_`_`_aYY`_`___________`_______`_______``__`____`_`_____`_______`____aV\`__`_`_____`__`_______`_______``___________________``__``___`______`__``_____`___`_``___``_`__`_________``____`_______`_`_`_bTYa________`________``____`_____________________`__________`_________```aU]`__`___`___``____`_________`_______`___``__```````````````````````````````````````````````````````````````````]Ya```````````````````````````````````````````````````````````````````````_``````````````````````aYb_bY\````_```````````````bWX```````````````````````````````````_``````````bYoc]a```````````_```````````````````_````aYnXb````````````````````````````````````````````_``````````````````_````__``````````_``````_```````__````````aW^``````````````_````````````````_`aX~Xa```_````_````Wb`_```__```````````__```````````aZYa````_`````````_```___`_``````\{p\a``````__```__``````````````````````_`````_`_```_`````_``_``_````aZYa``___````__```````_````````__`_``__``````````_`````_`_`````^iWa`_````````__`__``__`````````__````_`````````_``_````___`_`````_```````_`````_```__```_```_`````_``__```__`__`___``_``__`_``bTYa`_`````__``___````````````````__````_`____``_`_``````__``````_````_`_aU]`````_```_````_`_`_```````__````__```_`_``````````````````````````````````````````a``````a```a````````````````^Za``````````````````````````````````````````````````````````````````````````````````````````````aYcaZXb`````````````````a`X\`a``````````````````````````````````````````bXzm\b```````````````````````````````````bX|X_ba``````````````````````````````````````````````````````````````````````````````````````````````````````a]zb_a````````````````````````````````^e_a```````````bUYa```````````````````````````````_`i^`````````````````````````````a\{q\a````````````````````````````````````````````````````````````````aYYa`````````````````````````````````````````_````````````````bXxZa````````````````````````_``````````````````````_````````````````````_```````_`````````````_````````````````````````````````bTYa``````````````````````````````````````````````````````````_``````````bV]```````````````````````````````````````````a```````a`````````a````````````````````````aa`a```````a``a`````````^Za``````````a```````aa````````a``````a``aa``````a`````a``a`````a`````````a```````a````````````a`bYc^fj^a``````````````a`a_]\`a`````````````a```````````a```a```a``````aYm[b`````````````````````a```````a````a_idX_ba``````````````````````````a`a`````````````a`````a`````````````a`````a``a`````````````````````````````_dt]a`````````````a````````````````a^hWb````````````a[r]b```a`````````````````````a```a^m_````````````````a`````````````a\|q]a`````````````````````a````````````a`````````````````````````````aZZa```````````````````a`````````````````a````````````````````bWb`a```````a``````````a`````````````````````````````````````````````````````````````````````````````````````a``````````````````cUYb```````a````````````````````````````a````````````````````````````````bV^```````````````````````````````````````````````a`aa``a``aa``aaaa````aaaaa`aa`aa`aa```a`a`a````aa`aaaa```a`a``a^Zba``a`````aaaaa`a```a```````````aaa````a````aa``a`aa``aaa````aa`aa```aa``aaaa```````aaaa``a`a`abZeYWc`aaa````````````aa^\aa`a```a```aaaaa`a``a``a```aa``a```a````bZm\b`a```a`aaa`aa``````````a````a```a`aZѐcX`bba`a`aa`a`aa`a`a``a````````a```a``a`a`a`aa````aa``````aa``````````a`a````a```a````aa````a`a```a`````a]Ya`````````a`a``a``a```aa`````aab[Zb``a```a``a``a_iXbaaa``a``````a`a`````````aa`a`a[Ybaa``a`````````````````a``````a\|q]a`a`a``a```````a````````a```a``a`````a``a`````````a```a``a```````bZZa```a``a``a`````````a``a``a```````a````````a`````````a`````a\Vb``````a``a`````````aa```````a`a`````a`````````a`aa```````aa`````a`````````a```a`a`````a````````````````a`a```````````aa`````cUZa``````a`aa`a```a`````````````````aaaa```````````a````a```````````````bV^`````````a``````a```````````````a```````````aa``aaaaaaaa`aaaaaaaaaaaaaaaa`aaaaaaaaaaa`aaaaaaaaaaaaaaaaaa``aaaa_[b`aaaaaaaaaaaa`aaa``a``aaaaa`aaaaaaaaaaaaaaaaaaaaaaaa`aaaaaaaaaaaaaa`aa`aaaa`aa`a`aa``aaaaaaaa`bZ]{{]aa``aaaaa```aaaaabY]`aaa`aa`aaa``aaaaaaaaa`aa``aaaa`aa`a`acY}m]b`a``aaaaaa`aa`aaaaaa`aaa``aaaa`a`b\w͖h[Zbbaa`aaaaaa`aa`aaa``aaaaaaaaa`aaaaa`a`aaaa``aa``aaaaa`aaaaaa`aaaaa`aa````aaaaa`aa``a`aaaaa`````a`aabXUcaa`a`aa`a`aaaa```a`aaaa```aaa`cWm^a`a``````aaaaaa`]a`aaaa``aaaa`a`aa``aaaa``a`aa`cWYbaaa`a`aaa``aaaa``a````a`a`aaab\|r]baa`a`a`aa````a`a````aa`aa``aaa`aa`aaa``aaa``aaa`a`a`aaaa``aa`a`abZ[a``a````a`aaaaa``aaa```a`a````aaa``a`a`a```aaaa```aa`a``aaa`aZb`````aaaaaa``a```aaaaaaaaaaa``a``aaaaa````a``aaa```````a```a`a`aaa``aaa`aaa`a``aaaaaa`aa``aa`a`aa``aa```a`aaa`a```aa```aaaaacUZaaaaaaaa```a``aa`````a`a`````````a`aaa```````a``a`````````aa``a````a`acW^`a`a``````aaa`a````aa`a````a``a`a`aaa```a`aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa`aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa_[baaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa`aaaaaaaaaaaaaa`aaaaabZc`aaaa`aaaaaaaaaaaabXк{}|||~Ycaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa`aaabZx{}||}|d`baaaaaaaaaaaaaaaaaaaaaa`aa`aaaaaaacYܨ}^X^abbaaaaaaaaaaaaaaaaaaaaaaa`aaaaaaaaaaaaaaaaaaaaaaaaaaaaaa`aaaaaaaaa`aa`aaaaaaaaaaaaaaaaaaaaaaaaac[{c`aaaaaaaaaaaaaaa`aaaaaaaaaaaaaaac_aaaaa``aaaaaaaabYb`aaaaaaaaa`a`a`aaaa`aaaaaaaaaaa^i_b`aaaaaaaaa`aaaa`aaaaaaaaaaaaab]|r]baaaaaaaaaa`aaaaaa`aaaaaaaa`aa`aaaaaaaaaaaaaaaaaaaaaaaaaaaaa`aaaab[[ba`aaaa`a`aaaaaaa`aaaaa`aa`a`aa`aaaaaa`aaaaaaaaa`aaaaaaaaaa_fu]aaaaaaaaa`a`aaaaaaaaaaaa`aa`aa``aaaaaaaaaaaaaaaaa`aa`aaaa`aaaaaaaaaaaaaaaaaaaaaaaaa`aaaaaaa`aaaaaa``aa`aaaaaaaaaaaaaa`aaaaaaacUZbaaaaaaaaaaaaaa`aaa`aaaa`a`aa`aaaaaaaaa`aaaaa`aaa``aaaaaaaa`aaaaaaa``acW^aaaaaaa```aa``aaaaaaaaaa`aaaaaaaaaaaa`aaaaaaaaaabaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabaaaaaaabbbaaaaaababaaaaaaaaaa_[bababaaabaaaabaaaaaaaaababaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacZœYcaaaaaaaaaaabaaacYŚ|gVXZ\]]]]]][YWcyYcaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaab^lԦnYWZ\]]]]]]\ZW]r\baaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa^tǝs`ZZadbbaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabaaaaabaaaaaaaaaaaaaaaaaababacv]baaaaaaabaaaaaaaaaaaaaaaaaaaac[{[baaaaaaaaaaaaaacYy]baaaaaaaaaaaaaaaaaaaaaaaaaaab]rWcbaaaaaaaaaaaaaaaaaaaaaaaaaaaaab]}r]caaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabaaaaaaaaaaabaaaaaaaaaaaaaaaaaaab[[baaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa]xc`aaaaaaaaaaaaaaaaaaaaaaa`aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacUZbaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaacW_aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaababbbbaabbbaababbaaabaabaabababaaabaabbaabbbaaaaabaaaababaaabababb_[caabbaabaababbaaaaaaaabbaaaaaaaaaaabbbaaaaaaababaaabaaabaaaaaaaaababbaaabaabbaabaaaaaaabbabbaaac[u]bbabaaaaabaabaac]vܪt`Z[`dccbbbbbbbccda\Y_qz]caaababaabaabaabbbbaababaaabbaabba`漃c\Y_cdcbbbbbcbbcdb]Y\g[cabaaaaaaabbaaaabaaaabbaabbaaaaaaacYĞ~cX\_accbbabaabbaabaaaabaaaaaabaababaaaaababaabbaaaaaaababaaaabaaaaaaaaaaabaaaaabaaaababaaabbbadWYcbaaaaaaaabaaaaaaaaaaaaaaaabacYYcabaaaaaaaaabaabagXcabaaaaaaaaaaabaabbbaaaaaaaacYZcabaaaaaaaabaaaaaaaaaabaaaaaaaab]}r]babaaaaaaaaabaaaaaaaaaaabaaaaaaaaaaaaaaaaaaaabaaaaaaaaaaabaabaaaab\[baaaaaabaaaaaaaaaaaabaabaaaaaaaabaaaaaaaaabaaabaaaaaabaaaab[`aaabbaaaaaaaaaaaaaaaabaaaaaabaaaaaaaaaaaaaabaaaaaaaaaaaaaabaaaaaaaabaaaaaaabaaaaaaabaaaaaaaaaaaaaabaaabbaaaaabaaaaaaaaaaaaaaaadV[caaaaaaaabaaaaaaaaaaaaaaaaaaaaabbaaaabaaaaaaaaaaaaaaabaabaabaaabaaababdW`aaaaaaaaaaaaaaabaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbabbabbbbaabbbbbabbabbbbbbabaaabbaabbabbababbbbaabbaaabbbaaabbb`\cbabbbabbbbbbbbbbbbbaaabaabbbbbbbabbbbbbbbbabbbabbabbbbbbbbabbbbbaabbabbbbbbababaababbbbbbabbbbc[ѻ[cbbbbbaabbbbbabb`eoX_bccbbbbabbbbaabbbbddb_Yof`baabbbbbbbbbbbbababbaabbbaabaaac[~\\acdbabbbabbabaababcdcaZc\caabaaabbbbabbbaabbaaaabbbbababbbb`ḛjaZY_cdbbbbabbaaabbbbbbabbbbabbbbbabbbaabbbaabaaabaabaaabbbbbbbabaabbbabbbbaaababbabbaabbbac\\cbbaabbbbaaaabbabaabbbbbbbaabb`n_bbbabbbabbbbaabbdXZcababbabbaaabbabbabbbabaababc[q_bbaaaabaababbabbaabbbbbbbaaaabbb]}r^cababaaaaaaaabaaaaaaabbbbbaabbbabababbbabbbbbbbbbaabbaaabaaaaaabbb\\caaabaabbaabaaabbaabbabbbbabbabbbbbbabbbaaababaaabaaaabbaacY\baabaaaabbababbbbaaaabbbbabbbaabbbabbaabbaaaaabaabaaaaabbaaabbbabaabbbaaabbaaaabbabaaaaaaaabaaaaaabbababbbababaaaaaaabaabbaaaadV[cbaaabaaabbabaaaaababaaaaaaabaaabaaaabaabbaabaabaaaaaaaaaaaaaaabbbbaabdX_bbbaaabbbabababbbbbbaabbbbbbaaababaaabaabbabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbabbbbbbbbbabbbbbbbabbbbbbbbbbbbabbbbb`]cbbbbbbbbbbbbbbbbbabbbbbbbabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbaabbbbabbbbabbbbabbabbbbbbbbbbbbbac[Ѧxc`\\]\\_cj[cabbabbbbbbbbbbd[vZ^ebbbbbbbbabbbbbabbbbbaabd_Zx\cbbbbaabbbbbbbbbabbbbbbabbabbbd\؋^\ccbbbbbbbbbabbbabbbabbbbdbYhh`bbabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbc]yžoZX]`acddbbabbbbbbbabbbbaabbbbbaabbbbbbbbaabbbbbabbabbbbbbabbbbbabbbbabbbbabbbbbbbbaabbb`nabbbabbabbbbbbbbbababbbbbbabbb`hYdbbbababbbbbbbbbbd\p_caabbbbbbbbbbbbbbbbbabbabbbbacabbabbbaabbbbaabbbbbbabbbbbaababb^}s^cbbabbbbbaabbbabbabbabaabbbabbabaabbbbbbbbbbabbbaabbbbbbbbabbbbbbc\\cbababbbbbbbbbbaabababaabbaabbbbabbbbbbbbbbbabbbbabbabbbbbdWXdabbbbbaaabaabbbbbbbbbbbbbbabbbabbbbaabbbbbbbabaaaabbbabbbbbbabbbbbbbabbbbbbbbbbbbbbaabbbbbbbbbbabbbabbbbbbbbbabaaababbbbbbbbbdV\caababbababbaabaabbaabbabaabbbabbbbabbabbbbbbbbbabbbbbbabbbbbaaabbabbbdX`bbbabaabbbaabbbbaaabbabbbbabbabbbbabbabbababbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb`]dbbbbbbbbbbbcbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbd\ؒfY_abccddcba`]Xkfabbbbbbbbbbbbbbd\_^dcbbbbbbbbbbbbbbbbbbbbbbbbbcd]b\dbbbabbbbbbbbbbbbbbbbbbbbbbbb`hl[cdbbabbbbbbbbbbbbbbbbbbbbbbbda[[dbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbd[¤gb\Z]beccbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbabbbbbbbbbbbbbbbbbabbbbbbbbbabg`bbbbbbbbbbbbbbbbbbbbbbbbabbc]Zdbbbbbbbbbbbbbbbbb_rYdbbbbbbbbbbbbbbbbbbbbbbbbbb`j]cbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbc^}s^cbbbbbbbbbbbbabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbabbbbbabbbbbbbbbbbc\\dbbbbbbbbbbbbbabbbabbbbbbbbbbbbbbbbbbbbbbbbbabbbbbbabbabbbd\ZdbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbabbbbbbabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbdV^fdeeeeddededddeeedeeeeeeeeeeededeeeeeeeedeeeeeeeeeedeeeeeeeeeeeedeeeeeg[`bbbbbbbbbbbbbbbbabbbbbbbbbbbbbbbbbbbbbabbbbbbbbbbbbbbbbbbcbbcbbbbbbbcbbcbbbbcbbbcbcbbbbbbbbbbcbbbbbcbbcbbbbbbb`]dcbbcbcbbbbccbcbbbbbbcbbbbbcbbbbbbccbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbcbbbbbbbbbbcbbbbbbbcbbbbbbd\mYbecbbbbbbbcccde`[_|ɣ]cbbccbbbcbbbbbbbgۂYcdbbbbbbbbbbbbcbbbbbbbbbbbbbbbbdbZebcbbcbbbbbbcbbbbbbbbbccccbbbd[]`dbbbbbbbbbbbbbbbbbbbbbbbbbbccbcd[p~]dbbbbbbbbbbbbbbbbbcbbbbbbbbbbbbbbbd[ŦweX[_acedcbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbcbbbbbbbbbbbbbbbbbbbbbbbbbbbbbc]^dbbbbbbbcbbbbbbbbbbbbbbbbbbeXv_cbbbbbbbbbbbbbbbbbbb^cbbbbbbbbbbbbbbbbbbbbbbbbbc]Zdbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbc^}s_dbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbd]\cbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbcbex]cbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbeWPYWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWWYL`bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbcccbccccbccccccccbccbccccbccccbbbcbcccccbcbccccccbccbcccccccbccccc`_feeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeefeeeeeeeeedbcbbcccbbbcccbccccbccbccbccccd\\aecbcbbcccbccbccbcec]dhbcbbbcccbbcbbcceYu]ecbbccbcbbbbbcbcbbbbbbcbbbccbccccce[~[eccbcccbcbbbcccbccbccbccbbd]}]cdcccbbcbccbbbbccbcbbbbbbccbccbcbce^f`ccbcbccbbcbbbccccbbbbbbccbbbbccbbbcc_Ͷwd`Z\aeedcccbbcbccbbbbccccbbccbbccccbcbbccccccbbbcbbccbcbbbccbcbcbccbccbcbbceZZebbbcbbcccbbbbbcbcbcccbbbbccacbcbccbbbbbcbbcbbbbcd]dbccbbbccccbcbbcbbbbbbbbcbbeYs_dbbbbccbbbbbbbbcbcbbbbcbbbccccbbc_~s_dbbbbbcbbcbbbccccbccbcbbbcccbccbbbbbbcbbbbbbbcbbcbbcbbbcbbbbbcbbbd]]dbcbbbbbccbbbbbbbcbcbcbbbbbbcbbbbcbbbcbbbcbbbbbbbbbbbccbcd_pl`cbcbbbbbbbcbbccbbbbbbbccbbbbbbbbbbbbbbbbbbbbbcbbcbbbccbbbbbbcbbbcbbbbbbbbbbbbcbbbbbbcbbbbbbbbbbbbbbbbbbbbbbbbbbccbcbcbbbcbbccbeXϼ`bcbbbbbbbbbbbbbbbcbbbbbbbbbbbbbbbbbbbbbbbbbcccccccbcccccccccccccccccccccccccccccccccccccccccccbccccccccccccccc`QYXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXWXXXXXW\dcccccccccccccccccccccccccccce\Yeccccccccccccccccccccdbaccccccccccccccd^vo]eccccccccccbccccccccccccbccccccccccce\}o_dcccccccccccccccccccccccccaZdcccccbcccccccccccccccccccccccccccccd`e\eccccccccccbcccccccccbcccccccccccbdae״~iX\`bdedcbccccccccccccccccccccccbccccccccccbcccbbccccccccccccccbcccccccd_tZeccbccccccccccccbcccccccccd]z^dccbcbcbcbccccccccce[w`cccccccccccbccccccccccccce[\dccbcbcbbccccbccbccbcccbcccccccccd_~t`dcbcccccccccbcccbcbbcccbccccbccccccccccbcccccbccccbcbbccbcccccbccd]]dcccbcccccbccccccbccccbccbcbcccccccbcccccbbccbbcccccbccccd_vccdbbbcccbccccbccccccbbccccbbbccbccccccbcccccccccccccbccbbcccbccbbbbcccccbcccbcccbcccbccccbbcbbcccccccbcbccccccbccbbccbcccbbccbbeX`cccccccbcccbbcccbcccccbbccbccbbccccccbccbbcccccccccccccccccccccdcccccccccdccccccccccccccccccccccdccccccccccccdaսš\eccddccccddcdccccccccccccccce]Yecccccddcccdccccccccccccdccccccccccccccd]q^eccccccccccccccccccccccccdccccccdccccce[\eccccccccccccccccdcccccce][eccccccccccccccccccccccccccccccccccccce`iebdccccccccccccccccccccccccccccccdccdb`йwc_[_eedccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccce]madcccccccccccccccccccccccce[Zeccccccccccccccccccdap[ecccccccccccccccccccccccd`pZeccccccccccccccccccccccccccccccccd_~t_dccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccd]]dccccccccccccccccccccccccccccccccccccccccccccccccccccccccd]YeccccccccccccccccccccccccccccccccccccccccccbccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccceXaccccccccccccccccccccccccccccbcccccccccccccccdccccccccdccdcdddccdcccddddddccdccccdcdddcddcccdddcddcdcccdddccdddaXfcdddccccdccccccccdccddccccde][edccccccdcccdcddddcdcdddcddccccdcccdccdd`w}]edcdccdccdcddcdddddccddcddccdccccdddcdccf[paddcdccccddccccdddddcccddb\ecccdccdccdccccccddcdcdcccccccdccddccccde`r\edccccccddccdcccdccccddcdccccdddccddcaѰv_Z`beedcdcccccccdddcccccccccddcdccccccdcccccddccccccccdccccdcccceZ]ecccccdcccccccccccccdccccd`u`dccdcdccdccccccccccde]\ecccddcccccccccccccccdcce[}`dcccccccccccccdccccdccdddddcdccccd_~t`ecccccdccccccddccccdcdcdcccddcdcccdcdcccccccccccdcccccccccccccdcce]]eccdccdccccccccdcccccccccccccccccdccccccccccccccccccdccdce]XfdcccccccccccccccccdccccccccdcccccccccdccdcddcccccccdcdcccccccccccccccccdcccccdcdcccdcccccccccdcccccccccccccccccdcdcccccccdcccceXaccccccccccccccccccccccccccccccccccccccccccccdddddddddddddddddddcddcddddddddddddddddddddddddcddddddddddddddddddbYfdccdddccdcddcdddcdcdddddddde]iceddcdddddddddddddddddddddcdddddddddddcdf\[fdddcddddddcddddccdddddddddddddccddddddddde^[eccdddccddddddddcddddde]_dddcccdddddddddddddddddcddcddddddcddddccddf]ccddcdcdddddcddcdddcdcdddddddddddddddee\ƣze^\bfdddddcccdddccdddcdddcdcddddddddddddcddddddddddddcddcdddde`\edddccdcddddccdddcddcddcdbg]edddcddcddcddddcdddcde[s`eddddcdddddcdddcddddddde]fcddddcdccdddddcdddcddccccdddddcddcd`~t`ddccccddddccdddddcccccccdccdcddcccdcccdcdddddddcdcccdcdddccdddddde]]edccdcdddddddccddcccdddccddddddcdddccdccdcdccddddcdddcdddf[[eddccccddcccdddddccddcdddcccddcddddcdddcddddddccddcdcccdccdcddddddcddddddccccddcccddccdcddcccccdddddcddddddccdcdddddcddccddcdddfXadddcdddcccccccdcccdcdcdcdcccccdddcddcccccccdddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddbYfddddddddddddddddddddddddddde]]fdddddddddddddddddddddddddddddddddddddde`t]edddddddddddcddddddddddddddddddddddddddddddebjjbedddddddddddddddddddde`maedddddddddddddddddddddddddddddddddddddddddde[_edddddddddddddddddddddddddddddddddddde]yըmZ`ceedddddddddddddddddddddddddddddddddddddddddddddddddddddbgadddddddddddddddddddddddde_Zedddddddddddddddddddde`|\fdddddddddddddddddddddddb`ddddddccdddddddddddddddddddddddddde`~t`edddcddddddddddddddddddddddddddddddddddddddddddddcddddddddddddddde^]eddddddddddddddddddddddddccddddddddddddddddddddddddddddddfZ\eddcddddddddcddddddddddddddddddddddddddddddddddccdddddddddddcdddddddddddddddddccdcdddddcddddcddddddddcdddddddddddddddddddddddddfXaddcddddddddddcddcddddccdddccdddddcdddddcdcddeddddeeedddddddddddddddddeddddddddeddddddddddddddeeddddddddddedddebYfdededdddeeddededdeddddeddddf]aeeddddddddddddddddddddddddddddddddddddddf]obedddddddddddddddddddddedddddddddddddddddddddf]\fdddddddddddddddddddeax]fddddddddddddddeddddddddddddddddddddddddddddebq\feedddddddeddddddddddddddddddddddddeddf_dֲe^_fedddddddddddddddddddddddddddddddddddddedddddddddddddebeceddddddddddddddddddddddf[~`eddddddddddddddddddddece_eddddddddddddddddddddddci[fddddddddddddddddddddddddddddddddde`u`edddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddde^^eddddddddddddddddddddddddddddddddddddddddddddddddddddddddfZ]eddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddfYbdddddddddddddddddddddddddddddddddddddddddddeeeeedeeeeeddedddddedddedededdeddeededeededddeeeedeededdeddddeeedeebYgedeeddeedddeddedddeeddddeeef]]feedededeeeddddddedddeedddddededdddeddeede]feeeedeeededeeeeeeededddeededdeeeeedeeeeeddeeedfbdedddeedeeeeddddedeeg[bdeddeedeeddddddeddeeeddddeeededdeeeeddddedddedf]v`fddddeddddeeddeeeddeddeddeeededdeddeedfd]|ԣy^_efeeeddddddddeedeeeddeedeedeeeededdedddedddddeddeedf]sbeeddddddeddeeddeedeeddeeagcededddeddededeedeeeeedeaedeedddedddeeddddeddddee`z_fdddededdedddedddeeedddddddddedddde`uaeddeddddddddedddeedeedddddddddedddddddededdddddeddddddddddddddddef^^edededddddddddddddddddddddddddeddddddddddddddddddedddddddf\]fdeddeedddddddddddeddddddddddddeddedddddddddeeddddddedddedddedddddeddeeddddedddddeeedddddddeedddedddddddddddddddddddddddddddddefYbddddedddddeddddedddddddddddddddddddddeeddddeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeecYgeeeeeeeeeeeeeeeeeeeeeeeeeeef^kdeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeef`edeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeedf]qbeeeeeeeeeeeeeeeeeeeck~`feeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeedeeeeeeefas]feeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeedeef`bὀ`^ffeeeeeeeeeeedeeeeeeeeeeeeeeeeeeeeeeeeeedeeeeeeeef^_feeeeeeeeeeeeedeeeeeeef`xaeeeeeeeeeeeeeeeeeedeeeef]ubeedeeeeeeeeedeeeeeeeef\ceededeeeeedeeeeeeeeeedeeeeeeeeeeeeeeauaeeddeeeedeeeedeeeeeeeeeeeeeedeeeeededeeeeeddddeddeededddedeeeeeeee^^feeeeeeedeeddedeeeeeeedeedeeedeeeeeddeeddeeeeeeeeedeeeeeee_^fdeeeeeeeedeeeeedeeeeeeeeededeedeeeeddeeeedeeedeeededeeeedddedeeededeedeedeeeedeeeeeedededeedeeeedeeeeeeeeeddededdddeeeeeeeeeddgYbdeeddedddeedeeeedddeeeeddeeeeeeddeeeeeeeedeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeecZgeeeeeeeeeeeeeeeeeeeeeeeeeeeg^`feeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeg\]geeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeg]geeeeeeeeeeeeeeeeeg]aeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeg[deeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeefe]i齁_`feeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeedjZgeeeeeeeeeeeeeeeeeeeeeg]]geeeeeeeeeeeeeeeeeeeeeef`y]feeeeeeeeeeeeeeeeeeeef\\geeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeefauafeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeef__feeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeef_^feeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeegYbeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeecZheeeeeeeeeeeeeeeeeeeeeeeeeeeg^]geeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeefdmjdeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeef`_geeeeeeeeeeeeeeeeef`^feeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeefaqceeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeefe^j|^bgeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeg\cfeeeeeeeeeeeeeeeeeeeeefaz`feeeeeeeeeeeeeeeeeeeeeeefb]geeeeeeeeeeeeeeeeeeefcn`feeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeefaubfeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeef_`feeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeef__feeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeegYbeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeefefeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeffeeefeecZheeefeeeeeeeeeeeeeeeeeeeeeeeg_vbfeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeg^_feeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeg_ubfeeeeeeeeeeeeeeefeihefeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeef_geeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeegd^eo_ffeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeef_vbfeeeeeeeeeeeeeeeeeeeeeidfeeeeeeeeeeeeeeeeeeeeeeeeg\rbfeeeeeeeeeeeeeeeeeeg^mdeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeefaubfeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeg`_feeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeef_`feeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeehZceeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeffefeeeeefffffeeeeeeeeefffffeeeffefeeeffeeefeeffffffffffefeeffffefdZheffeffffeffeefefefeeffeefeeg`agfefeefeeefefeefeeeeeffeefffefffffeeffefg`_gefeffffefffeffefffefffeeefeeefffefffffeffeeefefefei]hfeeffeefefefffefa\hffefeffeeefeeefffffffeeeeeeeeefffeeeeeeffeeeeefefg`[heeeffffefeffeeffeeffeefeeeeffffefeefeeeeeefefgea\q؎`dgeeeeefefefeeeeeeeeeeeeeeeeeeffeeeeeeeeeffefcu]geeeeffeefeefeeffefefb\hffeeeeeeeeeeeeeeeefeeeeefb^geeefeeeeeeeeeeeefeg^deeeeeefeeeeeeeeefeefefeeeefeeeeffeeefbvbfeeeeeeeefefeeeeeffeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeefeeeeeeeeeg``geeeeefefeeffeeeeeeefeeeeeeeefeeeeeeeeeeeeefefeeeeeeeeeeeg`_geeeefeeeeeeeeefeeeeeefeeeeffeeefeeeeeeeeeeeeeeeeeeeeefeefeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeefeeeeeeeeeeeeeeeeeeeeeeeeeeeeefeeeeeehZdefeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeffffffffffffffffffffffeffffffffffffffffffffffffffffffffffffffffffffd[iffffffffffffffffffffffeffffh`\hffffffffffffffffffffffeffffffffffffffffeegffffffffffffffffffffffffffffffffffffffeffffffffffffh\affeffffffeffffffh]}cffffffffffeffffffffffffffeffffffffffefeffffffeffffh^keffffffffffffffffffffffffffffffffffffffffffeffffghc_dqn`hffffffffffffeffefffffeffffffffffffffffffffef_gffffffffffefffffffeh]bffeffffeefeffffffffeffffffejagfffeefffffeffefffffd^hffffffffffffefffffffffffefffffeeffegbvbgffffeffeeffffffeffeffffffffffeeefeefffffffefffffffeefffffeffefeff``gffefffffffffeeeeffffefeeffeffffefeffeeffeffeffffefffffffg``geeeffffefeffefffffeefffeffffffeffeeeeffffeefeffffeffffffeeffeefefeefeefffeffffeeeeffeeefefefefeffefefeffefefffeeeffeffeeffffffhZdffefeffffeeeffeeffefeeffefefffeeeffffeffefffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd[ifffffffffffffffffffffffffffh`agffffffffffffffffffffffffffffffffffffffgds\iffffffffffffffffffffffffffffffffffffffffffffffffffg`fefffffffffffffffh`feffffffffffffffffffffffffffffffffffffffffffffffffffgds`hffffffffffffffffffffffffffffffffffffffffffffffffghfd_`uՃ^hfffffffffffffffffffffffffffffffffffffffffgaeffffffffffffffffffffgblefffffffffffffffffffffffffffdffffffffffffffffffffej`hfffffffffffffffffffffffffffffffffffgbvbgffffffffffffffffffffffefffffffffffffffffffffffffffffffffffffffffg``gffffffffffffffffffffffffffffffffffffffffffffffffffffffffh_`gfffffffffffffffffffffffffffffffffffffffffeffffffffffefffffffffffffffffffffffffffffffffeffffffffffffffffeffffffffffffffffffffffh[dffffffffffffeffffffffeffffeeffffffffffffefffffgfgffffgffffggffgfffffffffggffffffffgfffgfffffffffffffgfffffffffe\ifffgfffgfffgfgfffgfffffffffi`sdgfffggfffffffffffffgfgfffffffffffffffffgabgffffffffffffffffggfffffffffffgffgfffgfffffffffffffgdvpegffgffffffffffgdrcgffffffffffffgffffgfffffffffffffffffffffffffffffffffgb]igffffffffffffffffffffffffffffffffffgfffffffffffffffghhc^bj^ggffffffgffffffffffffffffffffffffffffffffi]jegfffffffffffffffffgcvdfffffffffffffffffffffffffffi^udgffffffffffffffffgc~legfffffffffffffffffffffffffffffffffffgbvcgffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffha`hffffffffffffffffffffffffffffffffffffffffffffffffffffffffi]`hffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffi[dfffffffffffffffffffffffffffffffffffffffffffgffgfffffgggggfggfgfggffgffgfgggggfgggggffgggfgggfgggffgfgfgffgfggge\iggfgggggffggggggggggggfggggh`iffggggggffgfffffffffgfffgfffgfffffgfffgfi^qeggffggfffggggggffggggfgfgffgffgfgfgffggfgfffggggffgffhbhgfggffgffgggfh`^igffggffgffgfggfgggffgfffgggffgggffffffggfffgfffffffi]bhgffgfffgfggfffgggfffffggffggfffggffgffggffgffggffffgfghhgfc]bycfggffffffgfffgffggfffgfffgfgffggfggfffgfhbxcgfffgfgffffffggffgi^_hfgfggffggffgffffffffgffgfgha`hggggfgffffgfggffh_^iggfffgggffffffffffffgfgffgffffffffgfgcwcgggfggfffgffgffffgfgfgfggfgfggfffgffffffgffffffgfffggfgfggfgffgfgha`hfffgfffffffgffgffffffffffgffffffffgffffffffffffgfffgffgfi]`hggfffffffgfggfffffffggfffffffffffffffgfffffgffffffffffggffffffffffffgffggffgfffffgfffffffffffffgfgffgfffffffffffffgfggffffffgfi\effffffffffffffffgffffffffgfffffffffffgffffffggggggggggfgggggggggggggggggggfggggggggggggggggggggggggggggggggggge\igggggggggggggggggggggggggggiaeggggggggggggggggggggggfgggggggggggggggggi^gfggfggggffggggggggggggggfgggggfgggggggfggfggggggggfggge_hggfgggffffggfi^aigggggggggggggggggggfggggggggggggggfgggggggfggggggggiafgggfggfgggggggggggfggffgggggggggggggfgfgggfggfffggggggfgfgghihc^bfwcghggfgffggggggggfgggfggggfggggggfggggggghb`hgfgfggggggfggffgghcaiggggggfggfggffggfggffggggggfi]ifgggggfgggggggfgi]`iggggggggfggggfggfgffgfgggfgfgggggggfhcwchgfgggffggfgggggggfgffffffgffggfgfggfgffgffggffggggfggfggffgggffghaahggggfgfffggffggggggffgffggffggffgfggffggggfffffggffggffgi]^iggggggfggffggfggffgfggfggfgffffffggffggggfgggfgggggfgggfggfgggfgffffgfgggggggffgggggfgggggffgffggggfgfggfggffgfggfggggfffgggggi\|zegffgfffgggggffggfffgggffgggffgfffgggfgfgggfggggghggggggggggggggggggggggggghgggggggghgggggggggggggggggggggghggge]jgggggggggggggggggggggggggggiabhgggggggggggggggggghggggggggggggggggggghemehggghgggggggggghgggggggggggggggggggggghgggggggggggggghb]jggggggggggggghbxdhggggggggggggggggggggggggggggggggggggggggggggggggggghcjfggggggggggggggggggggggggggggghggggggggggggggggggggggggggggggghihfda]i|dggggggggggggggggggggggghgggggggggggggggi^]jgggggggggggggggggfiighgggggggggggggggggggggggggggi]oehgggggggggggggghfmsehgggggggggggggggggggggggggggggggggggghcwdhgggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggghabiggggggggggggggggggggggggggggggggggggggggggggggggggggggggi`^igggggggggggggggfggggggggggggfgggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggggj]]eccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccceYegggggggggggggggggggfggggggggggfggggggggggggghgghghggghghhggghghghhhhhhgghghhggghgggghgggghgghghhhhghgggggghgghegnmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmkghggggghhgghhhghhghhhgghhggggia^jgghggghhghhhhghghhhhggggggggghghgggghhic|aihgghhghhgggggghghggggggghghghggghgggggggghghgggghgggj_bihgghggggghhghhgkfhghghghgggghgghhgghgghggghhgghghgggggghgggggghhgghgghepveihggggggghggghggghgghhghhgghgggghghgghhhhggggghgggggggghhggggggghhijgb_bhtaiggggghgggggggghggghghhghggggggghggghghclfhggggggggggghggghd}]jggggggggggggggghgggghggghgggib`igggghhggggggghiafggghhghgggggghggggghhhgggghhgggggggggghcwdiggggggggghgggggggggggggggggghggggggggggggggggggggggghgggggggggghiaahggggghggggghgggggggggggggggggggggggggggggggghhgggghhgghgia^igggggggggghgggggghggggggggggggghgggghhggggghgggggggghgggggggggggggggggggggggggggggggggggggggggggggghhghgggggggggghgggghgggggggj\bjhhhhhhhhihhhhhhhhhhhhhhhhhhhhhhhhihhhhihhhhhhhhhhhhhhhhhhhhhhhhhhhhhhj^egggggggggggggggggggghggggggggggggggghgggggghhhhhhhhhhhhhhhhhhhhhhhhhhhhhghhhhhhhhhhhghhgghhhhhhhhhhhhhhhhhhhhhe`gffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffghhhhhhhhhhhhhghhhhhhhhhhhhhhhja`jhhhgghhhhhgghhhghhghgghhhhhgghhhhhhhhhj`bljjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjlbpfhghhhhhhhhhhhfjdljjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjimchhghhhhghhhhhghghhhhhhhhhgghgghhghhhhhhhhgghghhhgghghhhhhghhhhhhhghghijigeb^g{aihhghgghhhggghhhghghggghgghhhhghhhhhghfn~bihhhghhghhhghhhhi`bihghhhhghhhhhggghhhhhhhhhhhhhhfpaihhhhhggghhhhghj_bihgghghggghhhghghghhghhghhggghhhhhhgghhcxdiggggghhhgghhhghghhhgghhhhhghhhhghghhggghghhghhggghghhgghhgghgghhiabihghgghgghhhggghhhhghhhgghhhghghhgghghhhhhhhhhhhghhghhgghib~\jghhhhghhgghhhggghhgghghhhhghhhhhhhhhgghgghgghghhhghghhghgghhhggggghhggghghhgggghhhhghhhgggghhggghghhhhghghhhhggghghhgggghhghhgj]aihhggghhhhghhghghhhghgghhhhgghgghgggggghgggghhggghghghghhgghhhghhgggggj^eghhggggggghhhhhhhhhghhgggggghhhghhhghgghghghhhhhhhhhhhhihhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhihhhhhhhhhhhhhhfbihhihhhhiiihihhiiiihiiiiiihhhhihhhhhihhhhihhhhhhhhihhhihhhihhhihhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhjacjhhhhhhhhhhhhhhhhihhhhhhhhhhhhhhhhhhhhhj_S_]]]]^]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]_WzzdihhhhhhhhhhhhfpQ`]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]^bjhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhihijhd`chsbjhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhf`jhhhhhhhhhhhhhhhjapfhhhhhhhhhhhhhhhghhhhhhhhhhhhhhhgfhhhhhhhhhhhhhhhie`ihhghhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhidxdihhghhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhihhhhhhhhhhhhhhhhhhhhhhhhhhhibbihhhhhhhhhhhhhhhhhhhhhhhhhghhhhhhhhhhhhhhghhhhhhhhhhhhhhhiew`jhhhhhhhhhhhghhhhhhhhhhhhghhhhhhhhhhhhhhhhhhhhhhhhhghhhhhhhhhhhghhhhhhhhhhhhhhhhhhhhhhhhhhhhhghhhhhhhhhhhhghhhhhhhhhhhhhhhhgghhj]ajhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhgghhhhhhhhghhhhghhghghhhhhhhhhhhgghhj^fhhhhhhhhhhhhhhhhhhhhhhhghhhhhhhhhhhhhhhhhhhhihiiihiihhiiihihiiiiihhhihhhhhhihihhhihhiiihiiihiihiihhhhhihhhhhhifcjhhhihihhhhhhihihiihihhiiihhihhihhhihhhhhhhiiiihhihhhhhhhihhhiihhhiiihhhhhihhhiiihiihihhhhhihhhjbxeihihhiiihhihihhhhhhiiiiihhhihihhiiihhihjb;bjhhhiihhhhhhid۽`jhihihiihhhhiiiihhhhhhhhhhhhhhhhhhhhhhhhhhihhihhhhihhhhhhhhhhhhhhhhhhhihihhiiijigfb^jueihhhhhhihiihhhhihhiihhiihhhhihihhhhhjadihhihihhhiihhhhiewhhhhihhhhhhhhhiihhhihhhhhhhhhhhhjapghhhhihhhhhihiihjteihhhhhhhihhhhhhihhhhhhhhhhhihhhihhhhhhidxeihhhhhhihhhhihihhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhihhhhhhhhhijbcihhhhhhhhhhhhhhhhhhhhhhhhihhhhhhhihhhhhhhhhhhhhhhhhhhihhhifnjgihhhhhhhhhhihhhhhhihhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhihhhhihhhihhhhhhhhhihhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhj]ajhhhhhhhhhhhhhhhhhhhhhhhhihhhhhhhhihhihhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhij^fhhhhhihhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhiiihiihiiiiihhiiiiiiiiiihhiiiiiiiiiiiiiiihiiiiiiiiiiiihiiiiiihiiifcjiihhiiiihhiiiihhiiiihhhiiiiihiiiiiihihihiiiiiiiiiiiihhiiiiiiiiiiiiiiihihiiiiiiiiiihhiiihiiiihhjbrfjhiihhiiiiihiiihiiiihiiiiihiiiihiiihhiiie`jhiiihiiihhijc^jhihhhiiiiiihiiiiiiiiiihihihihhhiiiihiiiiihiihiiiiihhhiiiihhihhiiiiihiiihihiiiihiijkhcafncjiiiihiihhihhiihiihihiihiihhihiiiiiijaihihhhiiihiiiihhj`bjiiihhiihhhiiiihiiiihiihhihhiiijbdihiiihihihhiiiexbjhihiiiihhihhhhihhihhiiihiiiihihiihihhiiexeihhhhihihiihhhihhhiihiihhiiihiiiihihihhhihhihhihihhhhhhhihhhhihihjbbjihhiihhiihhhhhhhhihihhhiihhiiihiihhihiiiihiihihhhhhhhihhiifsfihhiihihhhhhhihihiihhhiihiihhiiihhhhiihhhhhiihihhhhhiihhihhihihhhhihihhhhhihhiiihhihiiihhhiihhhiihhhiihihihihihhiiihhhhhhhhiihj]biihihhhhhhihhhhihhiihhhhihiihhhhhhhihiihhhhhhiihhiihihihhihhiihhhihhhij_fhhihiihhihhhhhhhihhiihihhhhhiiihhhhihiihhhhiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiigcjiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiijbkhjiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiig_kiiiiiiiiiiijb^kiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiijjigd_mbjiiiiiiiiiiihiiiiiiiiiiiiiiiiiiiiiijgqqgiiiiiiiiiiiiiijdbjiiiiiiiiiiiiiiiiiiiiiiiiiiihiijgq_jiiiiihiiiiiijb`jiiiiiihihhiiiiiiiihiiiiiiiiiiiiihiiiiiieyeiihhiiiiiiiiihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiiiijccjihiihiiiiiiiiiiiiihiiiiihiiihiiiiiihiiiiiiiiiiiihihihihiik]}djiihhihiiihihihiiiiiiiiiiiiiihiiiihihihihiiihiiiiiiiihiiiiiiiiiiiiiiiiiihiiiiiiiiiiihiiihhiiiihiiihiiiiiiiihiiiiiiiiiiiiihhiiik]bjiiiiihiiiihiiihiiihihihiihhihiihhhihhihhiiiiiiiihiiihiihiihiiiiiiiiiik_fiiihiihiiiiiiiiiiiiiihhiiiihhiiiiiihihihhihiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiijgcjiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiijbjijiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihjbjiiiiiiiiiiik`giiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiijkibdjnhiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiik_djiiiiiiiiiiiiihjqhiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiik^ejiiiiiiiiiiiik_ejiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiihiijeyejiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiijccjiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiik`bjiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiik^bjiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiik_giiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiijjjijiiiijiijijjijiiijjiijiiiiiijijiiiiiijiiiijjiijiijiiiiijjjiijgcjjiijijiiiijiijjiiiijiiiiiiiiiiiiiiijiijiiiiijiiijijijiiiiiiiijjijiiiiiiiiiijiijjiijijiiijiiiiikc`kijiijijjiiijijiiiiiiiiiiiijjiiiiiiiiiiiikdkjiiiiijjjiikalijiiiijjiiiiiiiijiiiiiiijiiiiiiiiijjjiiijiiiiiiiijiiiiiijiiiiiiiiiiiiiiiiiiijiiiiiiiiiiiiiijjjidb}akiiijjiiiiijjijiiijjiiiiiiiiiijiiiikb`kiiiiiiiijiiijfx`liiiiiiijiiiiiiiiiiiiiiijiiiiiiiijcyejiiiiiiiiiijijiijiiiiiiiiiiiiiiiiiiiiiiiiiijiiiiiiiiiiijeyfjiiiiiiiiiiiiiiijiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiijiiiiiiiiiiijcdjiiiiiiiiiiiiiiiiijiiiiiiiiiiiiiiiiiiiiiiiiiiijijiiiiiiiiikb`kiiiiiiiiiiiiiiiiiiiiiiiiiiiiijiiiiiiiiiiiijijiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiik_cjiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiik`gjiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiijjjjjijjjjjjjijjjjjjjjjjjjjjjjjjjijjjjjjjjijjjjjjjjjjjjjjjjjjjjjjjjhdjjjjjjjjjiijjijjjijjjijjjjijjjjjjijjijjijjjjjjjjjjjjijjjjijjijjjijjiijjjjjjjijijjjjjjiiijjjjjijkc^ljjjiijjjjjjjijjijiijjjijjjjjjjijiijjjjjhndjjjiijjjjjjjl_lijjjjjijjjiiijjjjjjijjjjjjjiiiijiijjjijjjiijjijjjiiiiiiijijjijijjiiiiijjjijjjijjjjiiiiiijjjjjiijkectrgjiiijiijjijjjjjiijjjjiijjjjjijjiijjf|bkjiijjjjjjjiikbckjjjijjjjjjjjijijijjjjjijijijiijijfybkijjijjjjjikdfjjjijijjjiijjjjiijiijijjjjjjjiijjijjjjjijeyfjiijijiijjjjijijijijiijjjjiiiiiijjjijijjijijjjjiijiijjjiiijijijiijddjiijijjiijjiiiijjjiijiijiiijjijiiijiijjijijiijjjjjjjijjjijjedjjjijjjjjiiijjjiiiijiiiiiijjjijiijjjjiiiiijjjjjjiiiiiiijjjjiiijijjijiiiiijjijijijijijjiiijjiiiiiiiiiijijjiijiijjiijiiiijjiiiiil^ckiijijjiiiiiiijjiiiiiiiiiiijiijiiiiiijiiijijjjiijijjiiiiiijiijiiiiiiiik`gjjiiiiijijiijiiiiiijijiijiiiijiiiijjjiiiijjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjhdkjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkc_ljjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjiogjjjjjjjjjjjjl_vgjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkkgd}bkjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjijvgjjjjjjjjjjjjkbygjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjijdkjjjjjjjjjjlabkjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjijjijjjfzfkjjjjjjjjjjjjjjjjjjjjjjjjjjijjjjjjjjjjjjjjjjjjjjjjijijjjjjjjjjjjjkddkjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjijjjjjjjjjijjjgugjjjjjjjjjjjjjjjjjjijjjjjjjjjijjijjjjjjjjjjjjjiijjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjijjjjjjjjjjjjijjijjjjjjjjjjjjjjijijjjjjjijjjijl_dkjijjjjjjijjjjjjjjijijjjijjijjjjjjjjjjjjjiijjjjiijjjjjjjiijjjjjjjjijjjl`hjjjjjjjjjjjjjjjjjjijjjijjjjjjjijjjjjiijjjijjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjhdkjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjlc_mjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjhnhjjjjjjjjjjjjm_zfkjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjleehjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjfcljjjjjjjjjjkgujjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkejjjjjjjjjjjjje}ekjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjfzfkjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkedkjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjilkijjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjl_ckjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjl`hjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjiekjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkjjjjjjjjjjjjjjjjjjjjjjjjjjjjld`mjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjiphjjjjjjjjjjjjm`zgkjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjlkbfkjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjlbcljjjjjjjjjjlbeljjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjlbrijjjjjjjjjjjjgkjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkfzfkjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkedljjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjirijjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjm_dljjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjlahjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkkjkkkjjjkjjkkjkjkkjjkkkkkjjjjkjkkkjkjjkkjkjjkjjkkjjjkkjkkjkjjkkkieljjkkjjjjjjkkjjjjkkkjjjkkjjjjjkjkjjjjjjjjjkjjjkjjjkjjjkkkkjkkjjkkjjjjjjjjjjjjkjjjjjjkjjjjkjjjjkld`mjkjkjjjkkjjjjjjkkjjjjjjjjkjkkjjkjjkkkkkgijjkjjkjkjkjkjmzgljjjjjjjjjjjjkjjjjjkjjjjjkjkkjjjjjkjkjkjjjjjjjjjjjjjjjjjjjjjjjjjjjkjjjjjkkjjjjjjjjjjjjjkjkjjjjjjjjjkjjleubljjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjlf}ikjjjjjjjjjjlecljjjjjjjjjjkjjjjjjjjjjjjjjjjjkjjjjjlgyfkjjjjjjkjkiubmjjjjjjjjjjjjjkjjjjjjjjjjjjjjjjjjjjkjjjjjkfzgkjjjjjjjjkjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkjjjjjjjjjjjjjjkjjjjleelkjjjjjjjkjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkjjjjjjjjjjjjjjjjjkefkjjjjjjjkjjjjjjjjjjjjjjjjkjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjlllkjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjm`dljjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkjjjjjjjjjjjjjjjmahkjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkkkkkjjkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkjkkkkkjkkkkkkkkkkkkkkkkjkkielkjkkkkkkkkkkkkkkjkkkkjkkkkkkkkkkkkkkkkkkkkkkkkjkkkkkkkjkkkkkkkjjjjjkkkkkkkkkkkkkkjjkjkkkkjkkkkleamkkkkkkkkjkkjkkkkkkkkkkkkkjkkkkkkkkkkkkkgikkkkkkkkkjkkjmzglkkkkjjkkkkkkjkkkkjkkkkjkjjkkkkkjkkjkkjkkkkkkkkkjkjkkkkkkkkkkkkkjkkkkkkkkjkjkkkkkkkkkkkkkjkkkjkkkjjkjkjmfqmjkkkjkjjjkkkkjkkjjkjjkkkjjkkkjjjjkkkjmjkjkkkkkkkkjkwhlkkjkkkkjjkjjjjkjjkjjkkjjkkkkkkkkkjklcbmjjkkkkkklefkkjjkjjkjkkkkkkkjjkjkkkkkkkjjkkkkjkkjkjjjkgzhlkjjkjjkkjkjjkjkkjkkjjjjjkjjjjkkkkjjkkjkkkkkjkkjkkkjjkkkkkkjkkkjjleelkjjjkkkjjjkkjkkkjkkjjjjkjkkkjkkkkkkjjkjkkkkjjjkjjkkkkkjjjjmbbmjkkjjjjjjkkjjjkkjkkjjkjjkkkkjjkjjkkkjkkkkjjjkjjjkjkjjkjkjkkkjjkkjkjjkkjkjjjkjjjkkkkdcglmkkkjjjkkkjkjkjkkjjjkkkkjjkkjjkjkkkkjm`eljkkjjkjjjkkjjjjkjkjjkjkkjjjjjkjjjkjjkjkjjjkjkkjjjjjjjjkkkjjjkkjkjjjjkmaikjkkjjjjjjjjkkjjkkjjjjjjkjjjjjjkjjjkjjjjjjjkkkkkkkkkkkkkkkkkkkkklkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkjelkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkmeamkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkklgikkkkkkkkkkkljm{hlkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkmhyelkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkma}hkkkkkkkkklizemkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkmcdmkkkkkkkkmanjkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkklg{hlkkkkkkkkkkkkkkkkkkkjkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkleelkkkjkkkkkkkkjkkkkkkkjkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkklebmkkkkjkkkkkkkkkkkkkkkkkkkkkkjkkjkkkkkkkkkkkkkkkkkkjkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkjlzfbfijlmlkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkm`elkkkkkkkkkkkkjkkkkkkkkkkkkkkkkkjkjjkkkkkkjkkkkjkkkjkkjjkkkkkkjkjkkkkkkmbikkkkkjkkkjkkkjkkkkkkkkkkkkkkjkkjkkkkkkjkkkjklkkklkkkkkkkkklkklklllkklkklkklkklkkkllkkkklkklllklklkkkkklkkkllkkifmkklkkkkkklkllkkkkkklklkkkkkklkkkkkkkklkkkkkkkkkklkkkkkkklkkkkkkkkkkkklkkkklklklkkkkllkklkkkkkkme`nlkkklkkkkkkkkkkklkkkkllkklkkkkkkkklkkklgjkkkkkkkkkkklkn{hlklkkkkklklkkllkkkkkkllllllmmmmnmlklklkkkklkkkkkkkkkkkkkkkllkkkkkkkkkkkkkllkkkkkkkkkkklkkkkkkkkkkkkkkkkkkmdcmkkkkkkkkkkkkkklkkklkkkkkkllkkklkklgemkkkkkkkkmecmlkkkkkkkkkkkkkkkkkkkkkkkkkklkkkkkklklhxilkkkkkkklijkkkkkkkkkkkkkkkkkkkkkkkkkkkklkklkkkkkkklkklg{hlkkkkkkkkkkkkkkkkklkklkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkleelkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkljptilkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkh{Ȯskechlmlkkkkkkkkkkkkkkkkkkkkkkkkkkkm`emkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkmbikkkkkkkklkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkklkklllklkkkkllklllkllllllllllkkllklllkllkllllkkllllkkllllklkkllljfmlllkkkllllklllllllkllkklklkkkllllllllllkllllllkllkkkllklllkkllklllllkllkkkllllllkkkkkllkklllllmeanlllkkklkkkkkkllkllllklklllllllklkkllllmixjllllkkllllllmf{hlllkllllllklklkmmlllkkjjihfeeccaahllllllllllkklklllkkllklkkklkkkkkklllllllllkklllkkkllkklklkklkklkkllkllklmehmlllkkklkllkklllllklkklkllllkkkllkljsamklklkklknb~ilkkkkllkkkkllkklllkklkkllllllkllkllklljmdmkkkkklmg~dmllkkkkkkkklllkkkkklllkkkkkllkklkkkkkklkkllh{hlllkkkkkkkkkkklkkklllkllkkllkkklkkllkkklklkkklkklkklllkkkkkkllllkmffmkkkllklkkllllllkkkkllkkklkllkkkkkkkklkkkklklkkkkkkkklkkkklknadmlkllkkklkkllkkkkkkklkkkklklkkkkkkkklkkkkklklkllkkkklkklkkkkkklkkkkllklkklllklkkmeȨ{hbgjklmllkkkkkkkkkkkkkkkkklkkkmaemkkklkkkkkkkkkkkkkkkkkklkkkkklkkkkllkkllklkklllkkkkllklkkkkkllkklllkkkmbjkkkkkkklllkkkkkkkkkkkkkkkkkkkkllklkkkkkkklkllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllljfmllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllmfbnllllllllllllllllllllllllllllllllllllllljpimlllllllllllnawjmlllllllllklkllgfhjknnqrÊgmklklllllllllllllllllllkllllklllllllllllllllllllllllllllllklklllllllllkmi}mklkllllllllllllllllkllllllllllllllllkjllllllllmjslklllllklllklllkllllllllklkkllkkllkllllllidmllllllmdfmlllkkllllllllllkkkllllkklklllklkllklkklllmh{hmlklllllllllllkkllkllklllllllllllklllllllllklllllkklllkllllllllklmffmlkllllkllllllklllkllklllllllllllllllkllllkklllllkllllllllllmefmllllllllklllllllkllkllklkklllllkllklllllkllklllkllklkkllkklkklllllklllllllllllknbȮtkedhllklllllkllllllllkkkklmafmllllllllkllklllkkkkkklllllllkllllllllllkllkllllllllllllkklllkkklllklkmbilkllllklkllllllklkllkklklkllllkllllklllllllllmlmlmmlllllmlllmllllmmllmllllllllmllllllllmlllllllllllllllllllllmjfmllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllmlmmlmllllmlllllllllnfbnlllllllllllllllmlllllllllmllllmlllllllljrmrqqqqqqqqqqqqqqqqqqqqrrqqrqqqrqqqqqqrqqrrqqqqqqqqqqqqqqqqrqqqqqqqqqqqqqqqqrnlllllllllllllnbnqqrqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqrqrqqqqrqrqqqqqqqpllllllllllllllllmenlllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllmgokmlllllllllllllllllllllllllllllllllmehmllllllnehmllllllllllllllllllllllllllllllllllllllndjmmlllllmfnlmlllllllllllllllllllllllllllllllllllllllllmh{imllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllmffmlllllllllllllllllllllllllllllllllllllllllllllllllllllllllllmi~kllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllkoȩ|mkllllllllllllllllllllnafmllllllllllllllllllllllllllllllllllllllllllllllllllllllllllkllllllllllncjlllllllllllllllllllllllllllllllllllllllllllmmmmmlmmmlmmmlmmmmmmmmmllmllmmlmmmlllmlmmmmlmlmmlllmllmmmmmmllmmlmljfnmlmmlmllllllllmlmlmllmmmmmmlmmmlmmmmlllmlmmmlmllmmmmmlmllllmmmmllmmllmllmmmlmmmmlllllmmlllllllnfbommmmmmlmmlllmmlllmmmmlmlmlllmmmmllmllmlkrelkkkjkkkkjkkkkkkkkkkjkkkkkkkkkkkkkkkkkkkkkkkjkkkkkjkkkkkkkkjkjkkkkkkjkkkkkjlllmllmlmmlmllobikkkkjkkkkkkkjkkkjkkkjjkkkkkkkkkjkkjkkjjkkkkkkkkjkkkkkkkkkkkjkkkkjkkkkkkkkjkkllllllmlmlmllllllcnllmlllllmmmlmlllmllmllllmlmmlllmlllmmlllmlmlllmllmmmllllmmllmllmlllllllmfyjmlmllllmlllmmllmmlllllllllmlllllllmednllllllneenlmlllllmllmlllmllmlmllmlllmmmmllllllmlnhnlllllmllkcnlllmlmllmmmllllllllllllmllmmllmllllmlllllmmh{imlmlllllllmlllllllllmmlmlllllllllmlmlmllllllmlmlllllllllllmllllllmgfmlllllllllllllllmllllllllmlmllllmmllllllllllmllllllllmlmmllllll{jmllllllllmlllllllllllmlllllllllllllllmlllllmlllllmllllllllllllmlllmlllllllllllmf݅fmlllllllllllllmlllllnbfmmlllllllllllllmllllllllllllllllllllllllmllllllllllllllllllllllllllllmncjmllllllllllllllllllllmlllmllllmlmllllllllllmmmmmmmmmmmmmmmmmmmmmmmlmmmmmmmmmmmmmmmmmmmmmmmmmlmmmmmmmmmmmmmmmmmkgnmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmlmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmngbommmllmmmmmmmmmmlmmmmmmmmmmmmmmmmmmmmmmmloeommmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmndmmmmmmmmmmmmmmmmmlmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmlmmlmmmmmmmmmmmmjgnmmmmmmmmmmlmmmmmmmmmmmmmmmmmmmmmlmmmmmllmmmmmmmmmmlmmmmmllmmmmmmmmmmlmmmlqimmmmmmllmmmlmmmmmmlmmmmmmmmmmlmmmlmkugmmmlmmmml~inmmmmmmlmmmmmmlllmmmmmlmmmmmmmmmmmmllmmmmj{jmmmmlmkugmlllmmmmmmmmmmmmmmmmlmmlmmlmmmmmmmmmmmmmlmmmi|immmlmmmmmmlmmmlmmmlmmmmmmmmmmmmlmmmmmmlmmmmlmlmmmmmmmmmllmmllmllmnggmmmmmmmmmlmmmllmmmllmmmmmllllllmmmmlmmmmmmlmmmmmlmmmlmmmmmmmmmhenllmmmmmmmllmmmmmmlmmmmmlmmmmmlmmmmlmmlmmllmlllmmmmmmmmlmmlmmmmmmmmmlmmmmmmmmmnf~inmlmlmmmmlmlmmmllmlmobfnlmmlmllllmlmmlllmlllmmllmmlmlllmllmllmmmmmmlmmmlmmmmlmmllmllmmmlmmmmmockmmmmmmmlllmmmmmlmlmmmmmllmmmmmmllmlllllllmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmkgnmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmngbommmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmlndommmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmneolmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmkyjnmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmnehnmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmnelmmmmmmmkqhnmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmndgnmmmmmiwkmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmni|jnmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmnggnmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmneinmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmkfnmmmmmmmmmmmmmmmmmmmmobgnmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmodkmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmlmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmnlhnmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmogcpmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmlcommmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmogslmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmnhgommmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmnfgnmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmnfqlmmmmmnieommmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmnjcommmmoemmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmnj}jnmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmnhhnmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmnktgommmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmj~eommmmmmmmmmmmmmmmmmmmocgnmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmodkmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmnmmmmmnmmmmmnmmmmmmmmmmmmmmmmmmmnmmmmnmmmmmmmnmnmmmmmmmmmmmmmmlhnnmmmmmmmmmmmmmmmmmmmmmnmmmmmmnmmmnmmmmmmnmnmmmmmnnmmmmmmnmmmmmmmmmmmmmmmmmmmmmnmmmmmmmnmmmmmmmogcpmmmmmnmmnmmmmmnmmmmmmmmmmmmmmmmmmmmmmmmnkmmmmmmmmnmmmmmmmmmnmmmmmmmmmnmmmmmmnmmnmmmmmmmmmmmmmmmmmmnmmmmmmmnmmmnmmnmmmmmmmmmmmmmmmmmnhjnmmmmmmmmnnmmmmmmmmmmnmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmoffommmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmnmmmmmmmmmnmmmmmmmmmmmmmmmmmmnignmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmnjjnmmmnoejnmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmlsjnmmmnohhnmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmnj|jnmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmnhhnmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmodhnmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmoejnmmmmmmmmmmmmmmmmmmmmocgommmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmodlmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmnnnnnnmnnnnnmnnnnnnnnnnnnmmmnnmmnnnnnnmnnnmmnnmnnnnnmmnnnnnnnnnnnnlhonnmnmnnnmnmmnmnnnnnnnnnnnnnnnnmnnnnmnnnmnnnmnnnnnmnnnnnnnnmmmmnnnnmmnnnnmnmmnnnmnmnnmnnnnmmnnnohcpmmnmmnnnnnnmmmnmnmmnmnnnmmnnmmnnnmmnmnnnh|knmmnmnnmnnnnmnnnmmmnnnnnnnnnmmmnnmnmmnmmmnnmmnmmnmmmmnnmnmmnnnmnmmmmnmnnmnnnmmnnnmnnmmnmnjhnmnnnnmmmnnnmmmnnmmmnnnnmmnmnnnmmmnnmmnmmmnmmmnnmnnnnnnmmmnnmnnnnnnmnnmmmmnmnnmnnmnmmmmmmnpeknnnmnmmnmmnnmmmmmmmmnmmmmnnmmmmnmmmnmmnmmmmmnnmnnnmmnmmmnnmnnmnnmmnnmmnmnjhomnnnmmnmmmnnnmnnmnmmmnmmnnmnnmnmmnnmpgonnnmpfpmnmmmmmmmmmmmnmnnmmmnmmmnmmnnnnmmmnnmmmmnmnnlylnnmnkyfonmmmmmnmnnmmmnmmmmmmmmmmmmnmmnmnmmmmmnmnmmnnj}jnmmmmmmnmmmmmmnnmmnmmmnmmmmnnmmmmmmmnnmmnnnnnmmnmnmnmmnmmnmmmmmmmnhhnmmmmmnmnnnmmnnnmnmmmmnnnnmmmnmmmnmnmmmmmmnnmmmnmmmmmmmmnmmmnnniqmnnmmmnmmnmmmmmmnnmmmmmmmnmmmmmmmnmmmmmmmnnmnmmmmmmmmnmmmmmnnmmmmmmmmmnnmmmnlrnmnmmnmmmmnmmmmmmmmmmmmpchnmmmmmmmmmmmmmmmmmmmmmnmmmmmmmmmnmmmmmmmmmmmnnmmmnmmmmmmmmmmmmmmmmmmmmpdlnnmmmmmmmnmnnmmmmnmmmmmmmmmmnmmmmmmnmmmmmmmnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnmnnnnnnnnnnnnnnnnnnnnnnnnlionnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnohdpnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnpfhpnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnmnnnnnnnnnnnnnnnnlwfonnnnnnnnnnnnnnnnnnnnnnnnnnnnmnnnnnnnnnnnnmnnnnnnnnnnnnnnnnmnnnnnnnnnnnnnnnnnnnnnnnnnnnnnmogpmnnnnnnnnnmnnnnnnnmnnnnnnnnnnnnnnnnnnnnnnnnmnnnnnnnnnnnnnnmnnnnnnnnnmnnmnlzhonnmmnnnnnnnnnnmnnnnnnnnnnnnnnnnnnnnnkdpnnnnlzknnnnnnnnnnnnnnnnnnmnnnnnnnnnnnnnnmnnnnnnnnnpfhonnpgxlomnnnnnnnnnnnnmnnnnnnnnnnnnnnnnnmnnnnnnnnnmnnj}jonmnnmnnnnmmnnnnnmnnnnnnnnmnnnnnnnnnnnnnnnnnnnmmnnnmnmnnnnnnnnnnnohhonnmnnnnnnnnnnnnmnmnnnnnnnnnnnnmmnnnnnnnnnmnnmnnmnnnnnnnnnnnnnnmrgomnmmnnnnnnnnnmnnnnnnnnnnnnnmmmnnmnnnnnnnmmnnmnnnmmnnnnmnnnnnnmnnnnnnnnnnmoginnnnnmnnnnnnmnmnnnnnmmpdhonmnmnmnnmnnnmnnnmnnmnnnnnnmmnmnnmmmnmnnnnnnmnmnmmmmnmnmmmmnnmnnnnnnmmpelnnnmnmnmmmnnnmmnnmmmnnnnmmmmnnnnmnnmnnnmnmnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnmionnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnphdqnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnpgfpnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnmqfpnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnok}jonnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnmthpnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnpfonnnnpggpnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnohfpnnpffpnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnoj}konnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnoiionnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnoilnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnjgpnnnnnnnnnnnnnnnnnnnnnpdhonmnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnmnnnnnnnnnnnnnnnnnnnnnnnnnnpelnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnoonnnnnnnoonnnonnnnnonnnnnnnnnnnnnoonnoononnooonnnnnnonnonnnnnnnnnmipnnnnnnnnnonnnooonnnnonnnnnnonnnnnnnnnoonnnnnnoonnnnonnnnnnnnnnnnonnnnnnnnnnonnnnnnnnnnonnnnnonpidpnnnnnnnnononnnnnonnnnnnnnoonnonnnnnnnnnojkonnnnnnnnnnnnnnnnnnnnnnnnnnnnnonnnnnnnnonnonnononnonnnnnnnnnnonnnnnnnnnnnnnnnnnnonnnnonnonnumonnnnnnnnonnnnnnnnonnonnnnnnonnnnnnnnnnnnnnnnoonnnnnnonnnnnnnnnononnnnnnnnnnnnnonnnnnnnnnonpeqnnnnnnnnnnnonnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnokjonnonnnnnnnnnnnnnnnnnonnnnnnnnnnnnnnpjށjpnnphjpnnnnnnnnnnnnnnnnnnnnnnnnnoonnnnnnnnnnnnnnnonpjoonnlgpnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnoj}konnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnoiionnnnnnnnnnnnnonnnnnnnnnnnnnnnnnnnnnnnonnnnnnnnnnnnnnnnnnnnnnnnphhpnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnonojnnnnnnnnnnnnnnnnnnnnnnnnpdipnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnpelnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnonnnooooooooonononnoooonooooooooooooooooononnoonooooooooooononoooonmiponnnooonnnoonooonononooonnooooononooonooonoooonoooooononnnnnnnooooonnnoooooooooooooooooooooooopidqooooonoonoonnnonooononnoononoonoonoooonpmunnonnoonoooooooonnnnnnnoonnonnnooonnnoooonooooonnnonnoonoooononnoonnoooooonoonnoonnooonnooojipnnnononnonnoonooonnnnonooooonoonoonnoonnoonononoonoonnnooononooooooononnoonoonnooonnnnoooqesmoonnnoonnnononnonnoooonoonnoonnoonnonnonnoonnonnononnnonoonnonoonnonnnojkpnoonnnooonnnnnnooonononnnnnoononoooonogqnoonmoonnnnnnnnnnonnnnonnnoonnnnonoonnnnnnnnnnnnonpennoomplonoonnnnnnonnoonnnnnnnnnonnnnnonnnnnnonnnnnnnok}loonnnnnononnnonoonnnnoononnnonnonnnonnnnnnnnnnnnnonnoooonnonnonnnoiipnnnononnnnnnnononnnnonnnnnnonononnnnnnnnonoonnnonnnnonnnnnnnooonomonnnnnnnoonnnnnnnnnnonoonnnnnnnnoononnnnnoonnnnonnnnonnnnnnnnnnnoononnoopifqnnnnnnnoonnnnnnnnnonnnqdipnnnnnnnnnnnnnnnnnonnnoonnnnnnnnonnnonnnnnnoonnnnnnnnnonnnnnnnnnonnnnnqfmonnnonnonnnnnnnnnnnnnnnnnnnnonnnnnnnnnnononooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooomjpooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooqieqooooooooooooooooonooooooooooooooooonooooqg}mpooooooooooooooooooooooooooooooooooooooooooooooooooooopqqqppoooooooooonoooooooooooooooooqghqoonoooooooooooooonooooooooooooooooooooonoonoooooooonooqqppooooooooooooooooooooooooooooooopiiqoooooooooonnooooooooooooooooooooooooooooooooooooooooooooooooooonooooopjxmoooooooooooooooonoooooooooooooonoooooqehqoomrfqooooooonooooooooonnoooooooooooooooooooonoooopjrnoom}ononooonnoooonnooononoonoooooooooonnonnoonooooook~lponooonoooooonooonooooooooonoooooooonooooooooooooooonoononnonoooopjjpoonononnoooonooononoonnnnoooooonoooooonnnoooonoonooooooooooooooqghpnnnoooooonoooooononooooooonooooooooooooooooooooononoonnoooooonoooonoopi~loonoooonnnonnnoonooooooqeiponnnnooonooooooooooooononooonnooooooonooooooooononnnonoonooonnoooooooqfmoononnononnoonoonoooooooooononnnoooonoonoooooooooooooooooopopoooopooooopoooopooooooooopoooooooooopooppooopooopnjqoooooooooopopoopopooooooooppopoooooooppooooooopooopopooooooooopopopoooopoooooooooooooooopoooooqieqoooooooooooooooooooooooooooooopoooooooooqgiqpopooooopoooooooooopooppppoooooooooooooooopoopooopoopkegikmnopqqqqpooooooooopppooooooooqimooooooooopooopoooooopoooooooooooooooooooooooooooooopopnefijlmoopqqqppooopooooooooooooooooopllpoooooooooooooooooooopooooooooooooooooooooooooooooooooooooooooooooooooqernpoooooooooooooooooooooooooooooooooooopjmooplkpoooooooooooooooooooooooooooooooooooooooooooopmzlpqjkpooooooooooooooooooooooooooooooooooooooooooooopk~lpooooooooooooooooooooooooooooooopoooooooooooooooooooooooooooooooopjjpoooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooomyqnpoooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooopmlooooooooooooooooooooooooqeipooooooooooooooooooooooooooooooooooooonoooooooooooooooooooooooooooooooqfmoooooooooooooooooooooooooooooooooooonoooooooppppooopopppppooppppppoppppppppppppppoopppopoopppppppppppoppooppppmjqpopooppooppppoppopopppoppoopppopoopoooppppppppppopppppppoopoopooppopopoppppopopoopppooopooppppqjerpooppopppooppoopoooopoopoppppooppoppppooqkjrpoooooooopopppooppppoooppopopoppppoppooooopoppppppppkȯ~spmjgiknqrqqpopppppoopppopoopnyznppoopoopopppppoooppooopoooooooopoopoooooppppoppopoopnx¸uqnkhhjmprrqppoooopopoooppopppoopkqooooooopoopopoopooppppppoooopppppoooooooooooooooppoppooppooppooppppppnoppoooopopoopppopppoooppooooooopopopppopmyrnpriunpooopppoooooppoooopooppooooooopopoooppoooppooooojqqfhqopooppoooopoppooopoppppoooooooopopoooopooppoopklpopoooopppppooppooopoooopoooppoopooppooppopppoooooooooooopooooooopjjqoppoopoooooooooooopoooooopoooooooopopoooopoooopppooopopooooooopopkhqoopoooooooopopoooopoooooppoooooopooooopooopppooooopooopopopooooooooqjiqooopoooooopooooooopoopoqeipopoopooooopooooooooooooooopoppooooopppoooooooooooooooooooooooooopooooqfmoooooopooooopoooooopooooooooooooooooooooooopppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppnkqppppppppopppppppppppppppppppppppppppopppppppppppppppppppppppppppppppppppppppppppppopppppppopppqjfrpoppppppppppppppppppppppppppppppoppppppppnxlqppppppppppoppppppppppppppppppppppppppppppppppppppppm˻wkfijmopoppppppppppopprhirppppppppopppppppppppppppppppppppppppppppppppppppppqi{ofhjknpppppppopppppppppplkqppppppppppppppppppppppppoppopppppppppppppopppppppopppppppppooppppppqkkppppppppopppppoppppppppppppopppppppppoppo|mpqhnppopppopppppppppppppopppopooopopppopppppopppoppqjgrpm~lpopppopppppppppppppoppoopppoppppopppopoppppppoplmpppopppppoppppppoppoppoopopoppppopopppoppppppoppppppooppoooopppopqjjqopppppppppppppppooopppoopopooppppppppppopppppoppopooppppppppppppqkkqppppoppopppppppopppppoooopooopppppoppppppppppppppopoopppoppoopppoqmwropppppoppppppppppppopppoprejqppppppppoppppopoppppoooppppoppppopppppppoppppopooopoopppppppoppoooppprgnopoooooppooppooopoppopppppoooppooppoopoppooppppppppppppqpppppppppppppppppppppppppppppppppppppppppppppppqppppppnkqpppppppppppppppppppppppppppppppppppppppppppqppppqppppppppppppppppppppppppppppppppppppqpqqpppppqjfsppppppppppppppppppppppppppppppppppppppqppppjrpppppppppppppppppppqppppppppppppppppppppppppqpqppqmɼtopppppppppppppprimqpppppppqppppppppppppppppppppppppppppppppppppppppppqnyopppppppppppppqppriirppppppppppppppppppppppppppppppppppppppppqpppppppppppppppppppppppppqjhqpppppppppppppqppppppppppppppppppppppppqjkrnyiqppppppppppppppppppppppppppppppppppppppppppppppqiirmlqppppppppppppppppppppppppppppppppppppppppppppppql~mqppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppqkjqpppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppqksoqppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppqjhrpppppppppppppppppppppppprfjqppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppprgnppppppppppppppppppppppppppppppppppppppppppppppppqppppqqppppqqppqpppqppqpppppqpqpqqqpppppppqqpqqqpqpppqqppqpppqnkrqqpqqppqppppqpppppppqppqppqqqqpppqqpqppqpppqqpppppqppqpppppppqqppqqppqpqpqpqpqpqppqpppppppqqpprjfsqqqqpqqppqpppqpqqpppqpppppqpqqpqqqqppqppqrjrppppqqppppppppppppqqpppppqpppqppqppppqpqqpppqppqppri|nqppqppppppppqpqmkrppqpppppppppppppppqppppqpqpppppqpppqpqpppqpppppprkkqpqppppppppppqpqqowsoqqppppqpqpppppppppqpppppqpqppqpppppppqpqpqppppppppqpppppppppppqqpppqlrppqpppppppppqqpppppppqqpppqppppppppppprjhsjjrppppppppppppppppqpppppppqpppppppppppppppppppppqnywqjirppppppppppppppppppppppppppppppppppppppppppqpppqmmrpppqppppqppppppppqpppppppqppppppppqpppppqppppppqppppppppppppppppqkkqppppppppppppppppppppppppppppppppqpppppppppppppqppppppppppppppppppqkjqpppppppppppppppppppppqpppppppppppppppppppppppppqppppppppppppppprjvpppppppppppppppppppppppppprfjrqppppqppppppppqpppppppppppppppppppppppppppppppppqpppppppppppppppppppprgnpqpppppppppppppppppppppppppppppppppppppppppqqqqqqpqqqqqqpqqqpqqqqqqqqqqqqqpqqqppqqpqqqqqqqqpqppqqqqqqqqqqqqqqqokrqqpqqqpqqqqqppqqqqqpqqqppqqqqppqqqqqqppqqqqqqqqqqqqqqqqqqqqqqqqqqqqqpqqqqqqppqqqqqqpqqqqqpqqpqrkfspqqqpqqqqqqqqqqqqpqqqpqqqqqqpqqqqqpqqqqqqrjjrqpqqqqqqppqqqqqqqqqqqpqqqqqqpqqqqqpqqqqqqqqqpqqrn{jrqqqqqpqqqpqqqqqpqlqqqpqqpqqqqqpqpqqqqqqpqqppqpppqqqpqqqpqpqqqqqqqpqqmznqppqqqqqqqqqppqqqrijrqqppqqqpqqppqqqqpqqqqpppqpqqqpqqppqqqqqppqqqppppqqqqpqqpqqpqppqqrjoqqqqqqqqpppqqqqqqqqpqqqqqqppqpqpppqpqpppqn|fuispqqqpqqqpqqpppqpqpqpppqqppqqqqppqppqppqqqpppppqqqrinkmqpqppqqppqppppppqqqqppppppqqpqppqqppqppqqppppqqqmmrpqqqqqpqpppqqqpppqpppqqqpqpqpqppqppqpqpppqppppppqqqqqppppqppqpqqrkkrpppqpppppqppqpqppqppqqqqqpppqpqpqpqqpqpqppqqpqpppqqppppppqqppqppqqrlirqpqppppppqqpppqppqppppqqqqqpqpqpppqqqqqpppqqppppqpppqppqpqpppql~jrpqqqppqppqqpppppqqppppqqpsfjrpqpppppppqppqppqpppppppqqqqpqpqppppppqqppqpppqpppppppqqqqqqqqqpqpqppqrgnqpppppqpppppqpqppqppqqpppppppppppppppppqpppqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqolrqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqrkgsqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqrqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqrjjrqqqqqqqqqqqqqqqrkmrqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqrnnqqqqqqqqqqqqqqqqqqqmjsqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqpqqqqqqqqqqqqqqqqqqqqqqqqqqrouisqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqrkuqogsqqqqqqppqqqqqqqqqqqqqqqqqqqqqqqqpqqqqqqqqqqqqqqqrjjqtpqqqqqqqqqqqqpqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqrmmrqqqqqqqqqqqqqqqqqqqqqqqppqpqqqqqqqqqpqqqqqqqqqqqqqqqqqqqqqqqqqqqrlkrqqqpqqqqqqqqqqqqqqqqqqppqqqqqqqqqqqqqpqqqqqqqqqqqqqqqqqqqqqqqqqqqqrkjsqqpqqqqqqqpqqqqpqqqqpqqpppqqqqqpqpqpqpqqpppqpqqqqqqqqpqpqqqrpuxorqqqpqqqqqpqqpqqpqqpppqqqqsgkrpqqpqqqpqqqqqqqqqqqpqqqqqqqqqqqqqpqqqqqpqqqqpqqqppqpqqqqpqqqqqqqpqqqqshoqqqqqpqpqqqqqqqqqpqqpqqqqqqpqqqpqqqqppqqpqqqrqqrrqqrqqqrrqrqqqqqqqqqqqqqqqqqrqqqqqqqqqqrrqqqqqqqqqqqrqqqrqqqqqolrqqqqqqrqqqqqqqqqqqqrqqqrqqqqqqqqqqqqrqqqrqqrqqqqqqqqrqqqqqqqqqqqqrqqqqqrqrqrqqqqqqqrqqqrrqqqqqrkgsqqqqqqqqrqqqqqqqqqqqqqqqqqrqqqqqqqqqqqqrqqsijsqqqqrqqqqqqqqqrqqqqqqqqqqqqqqqqrqqqqqqqqrqqqqrpv|oqqqqqqqqqqqqqqqqsklrqqqqqqqqqqqqqqqqqqqqqqrqqqqqqqqqqqqqqqqrqqqqqqsjjrqqqqqqqqqqqqqqqqqqqn߇lsqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqrqqqqqqqqrqqqqqqrjnrqqqqqqqqqqqqqqqqqqqqqqqqqrqqqqqqqqqqqqqqsjltlrqqqqqqqqqqqqqqrqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqniuorqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqrqqqqqqqqqqqqqqqqrm܀nrqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqrllrqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqrk߈ksqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqrqqqqqqqqqljrqqqqqqqqqqqqqqqqqqqqqqqqqqsgkrqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqshoqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqrrrqrqrqrqqrrrqqrqqqrrqrrqqqqrrqrqrqqqqrrrrqqrrrrqqqqqqqqqqqrqrrqqqpmsqqqrrrrrqrrqqrrqrrrqqqrrqqqrqrqqrqrqqrrqrqqrqrrqqqqrrrqqqrrqrrqrrqqqrqqrqrqrrqqqqrrqqrqrrrqqqrskgtqqrqqrrqqqrrqqrqrrqrqqqrqqrqqqqqrrqqqqqrrqqnwqrqqrqrrqqqrrrqqqrrqqqqqrqrrqqqrrqrqqqqqrrrrrqskorrqqrqqqrrrrqqrqqrrpksrrrqrrrqqqrqrrrrqqqrqqqrrrqqrqqqrqrqqrrqrqqqrmހnrqqqrqqqrrqqqqrrrqqsk|mtqrrqqqrrqrqqqqrrrrrqqqrqqqrqqqrqqrrqqrrqrqqrqqrqqqrqqqqqqqqslpqqqrqqqrrqrqrqqrrqqqrqrqqqqqqqqqrqqqqqqrqrrnf{orqqrqqqqqqqqqqqrqqqrqrrqqqqqqrqqrrqqqqqrqqqqrqrqqqqrjjsrqqqqqqqqqqrrqqqqqrqqrrrqqqqqrqqrrqqqqrrqqqqrqqrn܀nrrqqqrrqqqqrqqqqqqqqqqqrrrrqqrqqqrqqqqqqqrrqrqrqqqqrqrrrqrqrqqqrqrllrrqqqqqqqrqqrrqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqrrqqqqqqrqrqqqqqqqrn߈jtqqqqqqqqqqqqqqqqqqqqqqrqqqrqqrqqqqqqqqqqrqrqqqrrqqqqqqqrqmrqqqqrqqqqqrrqqrrqqqqqqqqqqqqtglsqqqqqqrrqqqqqqqqqqqrqqqqqqqqqrqqqqqqqqqrqqqqqqrqrqqqqqqqqqqqqqqqqqqqqshoqqrqqqqqqrqqqqqqqqqrqqrqqqrqqqqqrqqqqqqqqqrrrrrrrrrqqqrqrrrqrrrqrrrrrrrqrrrrqrrrqqrrrrqqrrqrrrqqqqrrrrrrqrrrqrpmsrrqqqrrrrrqrrqqqrrrrrrqrqqqrrrqqrrrrrqrrqrrrrrrqqqrqrqqrqqrrrrqqrrqrrrqqrrrrrrrrqrrrrrqqqrrrrrslhtrrqqrqrqqqrrqrrrrrrqqrqrrrrrrrqrrrrrrrqrrrrrojsrrqrrqqqqrrqqrqrrrqqrqrrrrrrqqqrrrqqrqrrqrqsnksrqqrrrrrrqqrqrrrqtjvprrrrrrrrqrrrrrrrrrrqqqrrrrqrrrrqqqrrrqqrqqrrrpksrqrrqrqqrrrrrqrqrrrrqtӁlsrrrrqqrrrrrqqrqqrrqrrrrqqqqrrrrrrrqqrrrrqrrqrrrqrrqrrqrrrsn~ksqqqqrqqqqrrrrrqrrqrqqqqrrqrrrqqrqqqrrqqqqrqueqqrrqqqrrqrqqrrqrqrqrqqrrqqrrqqqqqqrqrqqqrrrqrrrrqqqsmmmsrqqqqqqqqqqrqqrrrqrrrqqrrrrqrrrqqrrrrrrrrrqrrqqrn܁nrqqqrrrrrqrrqqqrrrrrqrrrqqqqqrqqrrqrqrqqrrrqqrrrrrrqrrrqrrrqrrrrqrmmsqrqqqqqqqqqqrqqrrqqrrqqrrqrrqqrqrrrqqrqqrrrrrqqqrrqrqrqrqqqqqrqrrrrrsjސisrqrqqqqqqqrrrrrrqrrrqqrqrrrqrrqrrrrrrqqrrqqqqrrrqqqqrspmlsqrqqrrqrrrqqqrqqrqqrqrrqrrrtglsqqqrqrqqrqqrrrrqqrrqrrqqqrrqrrqqqqqrrqqqrrqrrrqqqqqrqrqqqqqrrqrrrrrrrsiprrqqrrqqrqrrqrqrrqrrrqqqqrqqqrrrqrqqqrqqqqqrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrpmsrrrrrrrrrrrrrrrrrrrrrqrrrrrrrrrrrrrrrrrrqrrrrrrrrrrrrqrrqrrrrrrrrrqrrrrqrrrqrrrrrrrqqrrrrrrrrrslhurrrrqrrrqrrrrqrrrrrrrrrrrrrrrrrrrqrrrrrrrrrtkltrrrrqrrrrrrrrrrrrrqrrrrrrrrrrrrrrrrrrrrrrrsn{osrrrrqrrrqrrrqrrrrrqymsrrrrrrqrrrrrrrrrrrrrrrrrrrrqrrrrrrqrrrrrrrtjlsrrrrqrrrrrrrrrrqrrqrtkݎjssrrrrrrrrrqrrrrrrrrrrrrrrrrrrrrrqrqrrqqrrrrrrrrrrrrrrrrtnuyprrrqrrqrrqrrqrrrqrrrrrrrrqrrrrrrrrrrrrrrrrrroflsrrrrrrrrrrrrrrrqqqrrrrrrrqrrrrqrqqrrrrrrrqrrrrrrqqtjksrrrrrrrqrrqrrqrrrrrqqrrrrrrrrqrrrrrrqrrrrqrrqrqrrrn܀nsrrqqqrrqqrrrrrrrrrrrrrrrrrrrrqrrrqrqqrrrrqrqqqrrrrrrrrqrqrrrrrrrsmmsrrrrrrrrrqrrrqrrrrrrqrrrqrrrrqrrqrrrrrrqrrrrrrrrrqrrrrrrqrrrrqrrqrrrrpujrsrqrrrrrqrqqrrrrrrqrrqqrrrrrrrrrqrrrqqrqqqrqrqqrrrrsosmsrrrrrrrqrrqqrqrqrrrrqrrrrrqqthlsrrrrqrrrqrrrqqrrqrrrqrqrqqqrrrrrrrrrrrqrrqrqrrrrrrrqrrrrrrqrqrrrrrrrrtjprrqrrqrqrrqqrrrrrqrrrqrrrqqrqqrrqrrrrqrrrqqrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrqmsrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrsrrrrrrrrrrrrrrrrrrrrrrrrrrrtmiurrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrsruotrrrrrqrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrtkktrrrrrrrrrrrrrrrrrrrsmkurrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrsntrrrrrrrrrrrrrrrrrrrrrrrrrlptrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrul|ktrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrtjtktrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrqrso|jtrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrso܁osrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrsmmsrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrqrrrrrrrrrrrrrrrrrrrrrtmsmtrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrqrrqrrqrrrtl{orrrrrrrrrrrrrrrrrrrrrrrrrrrrruhlsqrrrrrrrrqrrqrrrrqrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrtjprrrrrrrrrrrrrrrrrrrrrrrrrrrrrqrrrrrrrrrrrrrssrssrrsrssrssssrrrsrsrsrrrrsrsrsrsrsrrrrssssrrssrsrssrrsrsrrrrrrssqmtrssrssrrrrrrrrrrrrsssrrsrssrrrsrsrrrrsrssrsssrrrrsrsssrrrsrrssrssrsrrsrsrrrrsssrrsrsssrrrrsssstmiurrrrsrrsrrsrsrrsrrrrssrrrrrrrrrrrrrsrrrrsrsruluptrsrssrrsrrrrrrrsrsrrrrrrrrrrrrrsrrrsrrunpsrsrrrrrrrsrrsssrsrrtnkusrssrrrrrssrrrrrrrrrrsrsrrrssrrrrrrrrrsrsltrrrrrrssrrrrrrrrssrrrstmzkstsrrrrrrrsrsrrrrrrrrrrrrrrrrrrssrrrrrssrsrrrrrrrrtslwrsrssrrrrsrrrsrrrrsrrrrrrrrrrrrrrrrsrrrrrrrrrtmߌzqsrrrrrrrrrrrrrrrrrrrrrrrsrsrrrrrrrrrrrrrrrrrrrrrrrrrtmnsrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrso܁osrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrsrrrsrrrrrrrrrrrrrrrrrrtmmsrrrrrrrrrrrrsrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrtm͆lqtsrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrtrlltrrrrrrrrrrrrrrrrrrrrrrrrrrrrruimtrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrtjprrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrssssssssssssssrsssssssssssssssssssssssssssssssssssssssrssssssssssssqntsssssssssssssssssssssssssssrsssssssssssssssssssssrsssssssssssrsssssssssrsssssssssssssssssssssrtmiusssssssssrsssrssssssrssssssssssssssrsssssssssrxtqtrrssssssssssssssrsssssssssssrssssrsstpzntssssssssssssssssssssstnlusrrrssssssssrssssssrsssrrsssssssssssstmzqtssrsrsssssrrssrsrsssssssn۠pntssssrssrsssssrssssrssssrrsssssrsssrrssssssssssuoomtssssrsssssssssrrssssssrrssssssrsrrrssrsssrrsssukusrsrssrsrsrssssssssssssssssssrsssrrsrssssrsssrsssrsrtkzqssrrsssrrrsssrrrrsrrrrrrsssssrsrssrrrsssrssrrssrsso܂psrssssssssrsrssssrssrrrssssrrssrssrsrrssssrssssssrsrsssrsssrrsssstmntsrrsrssssrrrssrssrrrrsssrrsrssrrrrssssssssrrrssssrrsrsrsrsrsrrrssssssrsqvvmstrssssrrrrrsrrsrssssrrrsrsrrssrrsrrrssrssstmqqssrsrrssrsrssrsssrsrssssrrssrrsuimtrrrrsssssrrrsssssrrrsssrrrrrrsrrrsrrrrrrsrrrrsrrsrrrrsssssrsssrrsrrsstjprrrrrssrrsssrrsrrrrrsrrrrsrrssrsssrssssrssrsssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssqnussssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssumjvsssssssssssssssssssssssssssssssssssssssssssssultpussssssssssssssssssssssssssssssssssuquoussssssssssssssssssssssq|ߊkusssssssssssssssssssssssssssssssssstullusssssssssssssssssssssssssq|ːmnsutsssssssssssssssssssssssssssssssssssssssuuqkurtsssssssssssssssssssssssssssssssssssssssssssssujmtsssssssssssssssssssssssssssssssssssssssssssssssssssstpqssssssssssssssssssssssssssssrsssssssssssssssssssssto܂ptsssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssstnntsrsssssssrssssssssssrssssssssssssssssssssssssssssssssssssssrrsssssssssstnؙqmsussssssssssssssssssssssssssssssssssssttpkptsrrsssssssrsssssssssssssssssssuimtssssssssssssssssssssssssssssssssssssrsssssssssssssssssrsssrssssssssssujqsssssssssssssssrsssssssssssssssssssssssrssssssssssssssstttsttstssssssstsssstsssttsssssssttstsssssssstsssssttssqnusstssttsststtssstssssssssssssssssststsssssstsssssssttsstssssssssstssstttssssssststssssssssstttumjvssssstsssstsssssssttssssssssssssssssttsssstttttr~muttsttsssttsttststtsstsssttssssssupunusssssssssssssssssssssssumlutssssssssstsstsssssststsssttssssttlxrtssssssssststtsssssssststsumŽrmqutstsssssssssssstssstssssssststtsssssuuom}nusssttssssssssssstsssssssssssssssssstssssssssstunqtsssssssssssssssssssssssssssstssssssssstsssstsssssssssrvmussssttssssssssssssssssssssssssssssssssssssssssssstp܂ptsssssssssssssssssssstsssssssssssssssssssssssssssssssssssssssssssunntssssttssssstsssssssssssstssssstsssssssstsssssssssssssssssssssssssssssstsum˔rmrutssssssssssssssssssssssssssssssstuonmusssssstssssssssssssssssssssssssujmtssssstsssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssujqssssssssssssssssssssssssssssssssssssssssssststttttsstttttttttttttttstttttttttttstttttttttttstttttststtssttttttrouttttttsststttstsstttsttsssttttttttssttsstttttstttttsttsttsttttstttstttttttttttttsstttttttttttsunjvttssttttttttttststtttttststttttsstttttttttsstsuo؎ksustttttttstsssttstttststtstsstum~}qttttttstttsttttssttsttsstsupputtstssttttstttttsssstttststttvqqmustttsssssttsttstststtttsttstơ|lpstuutsttsssssttsstststtstttstttuutsnnnuttsttsstsstssstttsstssssttststssttssssttsttsssstr~tsstttsstssssssstsstttttttsstssttttsssttsttsstssttttttsstpmusttttsssststststssttsttssstsssstssssttsssstssstsstp܂putssttsststsssssstsstststtsstsssssstttsstssstttsttstssststttsttssunnustttsssttststsssstsssssttsttsstssssssststtssstssststttstttsttsssstsssttstunΝxkqsuutsttssssssssttttssttststtuusnnmutsstsssssssssssssssttssssssssstsvjmusstsstsstssssttstssstsstsssststtsstsststsssstssstsssssssstssstttsststukrssssssssssssssttssssssssssssssttssssssstssstttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttrouttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttunjvtttttttttttttttttttttttttttttttttttttttttttttttumtnuuttttttttttttttttttttttttturlnutttttttttttttttttttttttttuo€msvtttttttttttttttttttttttttuul~rttttttttttttttttsttttttttttttuswٵvpmptvuutttttttttttttttttttuuvtpmqwyrusttttttttttttsttttttstttttttttttttttttttstttttttttoutttttttttttttttttttttttttttttttttttsttttttttttttttttttul|rutttttttttttttttttttttstttttttstttttttttstttttttttup܂qutttttsttsttttttttttttstttttttstttttssttttttttttsstttttttttttttttunnuttttsttttttstttsstttttttttttttsttttttttstttsstssttttttttttsssttttttttttttustױsnmruuutttstttttttttttttuuurlovrutstttststtttttssttststtttttttttttvjnutttttssststtsstsstttttttttttstttsssstttttststtttttstsstttstsstttttsstukrttttsttttstttttsststttttsttsttsttstttsstttstttuttttttttttttututuutttuutuuttttttttuutttttttutuuutttttttttttttuurouttttttutttuttttttttttuutttttttutttttutttttuttttututttttttttutttttttttuttttttttttttttutuutttttuvnjvtuttttttttttttutttttttttttutttttttttuttuttutttuuswΐopuvututtuuttttttttuttuuvvtmzstutttutttttttttttttuttttuuutumߣumtuutttttttttttuututtttuvuorquttututtutttttuttttttuttttttttvo״sknprstutuuuuuuuuutttsrpmlsputttttttttttttttttttttttutttttttuttuttttttttttttttuomvtttttttttttttttuttttttttttttttttttttttttttttttttttttttvokvtttttttttttttttttttuttttttttttttttttttttttttttttttuq܃quttttttttttttttutttttttttttttttttttttttttttttttttttttttttttttttttuoouttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttuq|Ѫ|mmprsttuuuuuuuuuttsrolnvrutttttttttttttttttttttttttttttttttvjnutttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttvlrtttttttttttttttttttttttttttttttttttttttttttututuuuttuuutuutuuuuutuuttuuuuuttuutuuuuuuuuututuuuuuuuutuutuuuuuuurouuuuuuutuutuuuuuuutuuuuuuuuuuuuuutuuutuuttuutututuuuuuuuutuuuuuuuuutuuuuuttuuuuttuuutttuuuutttuvnkwuuuuuttuuuuutuuttuutuuuuttttuuuuuuuutuuuuuuututtvpÌqnqvvuuuuuuutuuuuuuuvupnv߅quutuuttuuutuutuuututtttttuuuutuҟvnpuvuuuuuuutttuuuuuvvrnrnvttuutuututttuutttuttuttuuttuutuvnνvvsropooooooorsuw~nvttuututuuttuuuuuutttuutututtuttuuututtutttuutttuutvmځrutuutuuuttttuuuuuttuututuututtuuutuutututtutttuuuuttuuuuusouttttttuutttuttttuttttuttuuuuuttuttuuttutuututuuutuuq܃quuuuttttutttttuttttuuutttuttuututtttutttuutttuuuttttttuutttuuuttuuoouttttttttttttuttttttttttuutttuuttutttttttttuttttttuutttttuuutuuuuutttutuutttvqêvurqoooooooqruw~quttttttuuttuututttttttututtttututttvknvutttutttuttttttttttuttuutttttttuttttuuttttttttuttttttttttttuttuttuuttvlrtuttttttuttttttttttttttutttttttttttuutuutttuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuspvuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuvokwuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuwmȚmnqsuuuvuvvvvutsqmqnvuutuuuuuuuuuutuuuuuuuuuuuuuuuvqרrmqstuuvuvvvvuutronquuuuuuuuuuuuuuuuuuuuuuutuuuuuuuuuuvn½nvuuuuuuuuuuuuuuuuuuttuuuuuuuuuuuuuuuuuuuuuutuuuutuuuvrovuuuuuuuuuuuuuuuuuuuuuuutuuuuuuuuuuuuuuuutuuuuuuuuuuuuuuuvmruuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuutuuuuq܃quuuutuuuuutuuutuuuuuuuuuuuuutttuuuuuuuuuuuuuuuuuuutuuuuuuuuuuuuuuvopvuuuuuuuuuuuuuuuuuuuuutuuuuuuuuuuuuuutuuuuuttuuuuuuuuttuuuuuuuuuutttuuuuuuuutvoՀpvtuuttuuuuutuuuuuuttuuuuuuuuttuuttuuwjovtuuutuuuuuuuuuuuuuuuuuuuuutuuutuuuutuuuuuttuuuuuuuutuuuuuuuuuutuuuuutvlsuuuuuuutuuuuuuttuuuutttutuuttuuuutuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuspvuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuvokwuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuvo¤zusqppopppsvzpvuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuwoˮ|wtrppopppruwzsvuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuvqruuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuvpmvuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuvputuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuvq܃rvuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuvppvuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuvqԀpwuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuwkovuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuwlsuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuvuuuuuuuuuuvvuuuuuuuuuuvuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuspvuuuuvuuuuuuuuuuvvuuuuuuuuuvuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuvuuuuuuuuuuuuuuuuuuwplxuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuurtuvuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuwn÷pwuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuvpquvuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuwmrvuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuutyqvuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuvr܄rvuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuvppvuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuwoӁpwuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuwkpvuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuvmsuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuvvuuvvuvvuuuuuvvuuvvvvvvuuuvvuvvvuuvuuuuvuuvvvvvuvvuvuuvvvvuuuvvuvvtqvvvuuuvvvuvvuvvvuvuuvvvuuuuuvuvvvuvuuuvvuuuuvuvuuvuuvuvvuvuvuuvvvvuuvuuvuvuvvvvuuuvuuuvuuvuuvvuwplxuuvuuuuuuvvuuuvvvuuuuuvuuvuuuvuvuvuuuvvvuuvvvvuuuuuvty{swuuuuvuuuuuuuuvuvuuvvuuvuuvvvuvuuuuwpoxuuuvvuuuuuuuvvuvvuuvuuuvuvvuuvuvuvvvuvwptuvuuuvvuuuuuuuuuvuuuuuuuuuvvuuvvuvuuuuvuvuuuuuuuvuuuvuvvvrvuuuuuuuuvuuuuuvuvvuvvvuvuuuuuuuuuuuuvuuvvuvuuuuuuuuuuuuuuuuvtnwuuuuuuuuuvuuuuuuuuuuuuuuuuuuvuuuuuuvuuuuuuuuuuvuuvvvr݄rvuuuuuuvuuvuuvuuuvuuvuuuuuuuuuuuuuvuuuuuuuvvuuuuvuvuvuuuuuvuuuuuvvppvvuuuuuuuuuuuuuuuuuuuvuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuvuuuuuuuuxq~}rwuuuuuuuuuuvvuuuuuuuuuvuuuuuuuuuuuuuuuuxlpvuuuvuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuvuuuuuuuuuuuuuuuuuuuuuuuvuuwmsuvuvuuuuuuuuuuuuuuuuuuuuuvuuuuuuuuuuuuuuuuuvvvvvvvvvvvvvvvvvvvvvvvvuvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvtqwvvvvvvvvvuvvvvvuvvvvvvvvvvvvvvvvvvvvvvvuvvvvvvuvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvuvvvvvvvvvvwplxvvvvvvvvvvvvvvvvvvvvvvvvvvvvuvvvuvvvvvvvvvuvvvvvvuvvvswԀswvvvvvvvvvuvvvvvvvvvvvvvvvvvvvvvvvvvvwoqxvvvvvvvuvvuvvvuvvvvvvvvuvvvvvvvvvvvvvvvvwpruwvvvvvvvvvvvvuuvvuuvvvvuvvvvuvvvvvuvuvvvvvvvvvuvvuvvvvvvvuyswvvvvvvvvvvvvvvvvvvvuvvvvvvvvvvvvvvuuuvvvvvuvvvuvvvvvuvvvuuwo܃svvvvvvvvvvuvvvuvuvvuuuvuvvuvvuvvvvvvvvuvvvuvvvuvvvvvwr݄rvvuvuvvvvvvvvvvuuvvvvuvvvvuvuvuvvvvvvvvvuvvvvvvvvvvvvvuvvvuvvvvuvwqqwuuvvuuuuvvvuvvuuvuuvvuvvuuvvuuvuvvuuvuvvvvuuvvvuuuuvuvuvvvvvvvvvvuvvuvuvvuvvuuuuwrwuswuuvuvvvuuuvvvvuuuuuuuuvvvuvvvvuuvvvuuuuxlpwuuvvuuvvvvuvvuuvuuvvvvvuuuvuvuvvuuuvvuuvvvvuuvvvuvvuvvvvuvvvuuvuvuuuvwmtvvvvuuvuvuuvuuuuuvvuuvvuuvuuuuuuvvvuuuuuuuuvvvvvvvvvvwvvwvwvvvwvvvvwvvvvvvvvvvvvvvvvvvvwvvvvvvvvwvvvvvvvvvwvwvuqwvvvwvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvwvvvvvvvvvvvwvvvwvvwvvvvvvvvvvvvvvvvvvvvvwvvvvvvvwvvvvvvvvvvwqlxvvvvvvvwvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvwvvvvvvvwvvvvvwtyՀrwvvvvvvvvvvvvvwvvvvvvvvvvvvvvvvvvvvvvvwwppwvvvvvvvvwvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvxpowvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvuoxvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvwpoxvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvws݄swvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvwqqvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvwurruwvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvxmpwvvvvvvvvvvvvvvvvvvuvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvuuvvxmtvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvwwvwwvvvvvwwvwwwwwvvvwvwvwvvwvvwwvvwwwvwvwwwwwvvvvwvvvvwvwwvwvvwvwwurwvwvvvvvvwvvwvvvvwvvvvvvvvvvwvvvvwvvvvwvwvwvvvwvvwvvvvvvvwwvvwvwwvvvvvwvvvvwvvwvwvvwvvvwvvvvvvwxqmywvvwvvwvvwvvvwvvvwvwwvvwvwwvvvvvwwvwvvvvvvvwvvwwvvvvwwwus~sxwvvwwvwvvvvvwvwwvvvvvvvwvvvwvvvvvvvwwwvwxoqxvvvvvwwvvvvvvvvvvvwwvvvwvvvvvvvvvwvvvvvvvvvvxrwؐpxwvvvvvvvvwwvvvvvvvvvvvvwvvvvvvvvwvwvvvvvvvvvvvvvvvvvvvvvvvvwprwwvwvwvwvvvwvvwvwvvvvvvvwvwvvvvwvvvvvvvvvvwwvvwvvvvwvvvvvvwwuzoxwwvvvvvvvvvvvwvvvvvvvvvvwwvvvvwvvvvwvvvvvvvvvwvvvvwvws݅sxvvvvvvvvvvvvwvvvvvvvvvvvvvvvvvvvvvvvvvvvvwvvvvvwvvvvvvvvvvvvvwwwxqrwvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvwvvvvwvvvwvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvwvwvvwwvpՏpwwvvvvvvvvvvvvvwvvvvvwvvvvvvwvvvvvvwvvvwwvvympwvvvvvvvvvvvvvvvvvvvvwwvvvvvvvvvvvvvvvvvvvwvvvvvwvvvvvvvvvvvvvvvvvvvwvxntvvvwvvvvvvvvvvvvvvvvvwvvvvvvvvvvvvvvvwvvvwwwwwvwvwwwvwvvvwvvwvwwwvvvvvvvwvwwwwwwvwwwwwwwwwwwwwvvwwwwwwvwwwwwwwurxwwwwwvwvwwwvwvvwwwvwvvwwwvvwvwvvwwwwwwvvwwwwwwwwwvwwwwwwwwwwwwwwwwwwwvwwvwvvvwvwwwvwwwwwvwwvwwxqmywvvwwvvwwvwwwvvvwvwwwwwvwwvwwvvwwvwwwvvwvvwwvwvwvwwvvwwwvrysxwvwwwwwwwwvwwvvwwvvwwwvvwvvwvvwvwwwwwwwvvwxq֋pywwwwwwvwwwwwwvvvvvwwwwvwwvvvwwwwvwvwwwvwwwvvwwxvp}rxwvvvwvwvwwvwwwwwwvvvvvvwwwvwwvvvwwvwwvwwvwvwwwvwvwwwwwvwvvwwxqtwwwwwvvwwwvwwwwwwvwvwwvwwwwwwwvvvwwwvvvvvwvvvwwwvwwvwwvvvvwwwxntwwvwwvvvvwvvwvwwvwwwwvwwvvwwvwwvvwwwvvwwwwwvvwwvwvvwvws݅twvvvwvvvvwvvvwwwwvvvvwwwwwwwvwvwvwvvvvvwwvwwwwvwvvvwwwvwwwwwvwwvvxqrxvvwvvvwvvvvvvvvvvvwvwwvvwvvvvvwwwvvvwwvwvwvvwwvwwvvvwwwvvvvvvwwvwwvvwwvvwvwvwwvvvvvwxr{{qxwwwvvvwvwwvvvvvvvwvvvwvwvvvwvvvvwvwvvvwwwvvymqxwwwvwwvvvvwvvwvwwvwvvvvvwvwwvwwvvvvwwvvvwvwwwwvvvvwvwvvvwwvwwwvvvwwvvxnuwvvwvwvvvwwvwvvwvvwvwvwvwwvvvwvvvwwvwvwvwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwvwwwwwwwwvwwwwwwwwwwwwwwwwwwurxwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwvwwwwwwwwwwwwwwwwwwwwvwwwwvwwwwwwwwwwwwwwwwwwwwxqmywwwwwwwwwwwwwwwwwwwwwwwwwvwwvwwwwwwwwwwwwwwwwwwwwwwwwwwwwxpsvxwwwwwwwwwwwwwwwwwwwwwvwwwvwwwwwwwwwwwwwwwwwwyr}}ryvwwwwwwwwwwwwwwwwwwwwvwwwwvwvwwwwwwwwwwwwwvwwwwwwyr{؛ruxwwwwwwwwvwwwwwwwwwwwwwwwwwwwwwwwvvwwwvwwwwwwwwwwwwwwwwwwwwwwwwv|oywwwwvwvwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwvvwwwwwwwwvwvvwwwvwwwwwxryvwwwwwvwwwwwwwwwwvwwwwwwwwvwwwwwvwwwwwwvwwwwwwvwwwwwwwxs݅twwwwwwwwwwwvwwwwwwwwwwvwwwwwvvwwvwwwwwvwwwwwwwwwwvwwwwwwwwwwwwwvvxrqxwwwvwvwwvwwvwvwwwwvvwwvwwvwwwwvvwvvwwwwwwwwvwvwwwwwwwwwvwwwwwwwwwwwwwwvvwwwwwwwwwwvvwxuqՕquxwwwwwvwwvwvwwvwvwwvvwwvvwwwwvvwwwwwwwwwwwwwwymqxwwwwwwwwwvwwwwwvwwwvwwwvvwwwwwvvwwwvwwvwvvwvwwwwwwwwwvwwvwwwwwwwwwwwwxnuwwvwwwwvwwwwwwvwvwwvvwwwwwvwwwwwvwwwwwwwvvwwwwwwwwwwwwwwwwwxwwwwwwwwwwwwwwwxwwwwwwwwwwwwwwwwwwwwwwwwwxwwwwwwxxvrxwwwwwwwwwwwwwwwwwxwwwwwwwwwwwxwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwxwwwwwwwwwwwwwwwwwwwwwwwwwwwwyqnzwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwyq|ҏqxxwxwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwyustuywwxwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwxwwwwwwyvr~qxxwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwxwwwwwwwwwwwwwwwxwwwwwwwwwwyotxwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwxuuxwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwxt݅txwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwxrrxwwwwwwwwwwwwwwwwwwvwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwvwwwwwwwwwwwwwwwwwwwwwwwwwwwwwxxqy}qxxwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwymqxwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwvwwwwwyouwwwvwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwxxwxxwwwwxxwxxwwxwxxwwwwwxxwwwxxxxxxxxxxwxxxxwwxwwwwwwxxwxxxxxxxxxvryxxxxwwxxxxxwwxwwxxxxxxxwxwxwwwwwxxxwwwxxwxxwxwwxxwxxwxwxwxxwwxxxxxwwxwwwwxwwwwwxxwxwwxxwxwwwxwyrnzxxwwwwxwwxxwwxxxwxwwxxxxxwwwxxwxxwwxxwxwxxxwxwwxxwwxwxxxwxwyvqzsywwxwxxwwwxwwwxwxxxxxxxwxwwwwwxwxwwwwxxxxwxxwxxwwwxypȇqxxwxxxwwxxxxwwwxwxwxwxwwwxwxwwwwwwwwwwxwwxwwxwwwwxxwwxwxyss仇qvywxxxwwxxxxxwwwwxxxxwwwxwwxxwxwwwwwwxxwwwxwwwwxwwwxwwwxxxxwwxwwwwwyrzwxwxwwwwwwwwwwwwwwxwwwxwwxwwwxxwwwwwwwwwxwxxwwxxxwwwwwwwwwwwwwwwwpywwxwxxwxwwwwxwwwwwwwwwwwwwwwwwwxwwwwwwwwxwwwwxxwwwwwwxt݅txwwwxwwwwwwxwwwwwwwwwwwwwwwwxwwwwwwwwxwwwwwwwwwwwwwwwwxwwwwxwwwwwxrrxwwwwwwwxwwwwwwxwwwwwwwwwwwwwwwwwwwxwwwwxxwwwwwwwwwwwwwwwwwwxwwwwwwwwwwwwwwwwwwwwwwwwxwxwywq仇quywwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwxwwwwwxwwwwwwwwwzmrywwwwwwwwxwwwwwwwwwwwwwwwwwwwwwwwwwwwwwxwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwyouwxwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwxwwwwwwwwwwxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxvsyxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxwxxxxxxxxxxxxxxxxxxxwxxxxxxxxxxxxxxxxxxxxxxxxyrnzxxxxxxxxxxxxxxxxxxxxxxxxxxxwxxxxxxxxxxxxxxxxxwxxxxxxxxxxxxxxxyrzƌrwyxxxxwxxxxwwxwxxxxxxxxxxwxxxxxxxxxxxxxxxxxxxxxxxxxxxxyvs؝uuzyxxxxxxxxxxxxxxxxxxxxxxxxxwxxxxxxxxxxxxxxxxxxwwxwxwwxxxxxyysr床ruyxxxxxxxwxxxwxwwxxxxxxxxxxxxxxxxxxxxxxwxxwxxwxxxxxxxxxxxxwxwxwxwxxwwxuuxxxxxxxxxxxxxxxxwxxxxxxwxxwxxxxxxxxxwwwxxxxxxxwxxwwxxxwxxxxxwwxyrsyxxxwxwwxxxwxxwwwwxxxxxxxwxwxxxwxxwwxxwxxxwxxxwxxwwxxxyu݆uyxxwxxxxxwwxxxwwxxxxxwxxxwxxxxxxxxxxxxxxwxxxxxxxxxxxwxxxxxxxxwxwxysryxxxxxxxxxwxwxwxwxxxxxxwwxwxwwxwwxwwxwxxxxwwwxxxxxwxxwwxxxxxxwxxwxwwwwwwwxxwwwxwxxwxxwxxxwxyvp溊ruyxxwxxxxxxwxwxxwxxxxxwxxwxxxxwxwwxxxwwwwxxwwxwxxwwznrywwxxxxxwwxxwxxwwwwxxwwwxwxwxxxxwwxxwxxwxwwxwwwxwxwwxxxwwxwwwxxwwwxwxwyovxxxxwxxxwxxxxwwxxwwxxwxxwwwwwxwxwwxwwwxwwwwxxxxxxyxxxyxyxxxxxxxxxyxxxxyxyxxxyxxxxxxyxxxxxxxxxxxxxxxxxxxxxxxyxxwsyyxxyxxxxxxxxxxxxxxxxyxxxxxxxxxxxxxyxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxyxxxxxxxyxxxxxxxxxxxxxxxxxxzrnzxxxxxxxxxxxxxxxxxxxxxxxxxxxxyyxxxxxxxxxxxxxxxyxxxxxxxxxxxxxxxxzwr}˘utzxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxyxxxxxxxyysvت|qxyxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxyzstزttzyxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxyqzxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxyqwyxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxyt݆uyxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxyssyxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxzur}۴stzyxxxxxwxxxxxxxxxwxxxxxxxxxxxxxxxxxxxxwxxxxxxxxxxxxxznryxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxzpvxxxxxxxxxxxxxxwxxxxxxxxxxxxwxxxxxxxxxxxxxxxyxxxxyyxxxyyxyyxyyyxxyyxyxxyxxxxxxxxyxyyyyxyyxyxyxxxxyxyyyyxyyyyyyywtzyyyyyyxxyxyyxyyxyxyxyxyyxyxxxxxxyxxxyyyyxxyyyxxyyyyxyxxxyyxyyxyyxxxxxyxxxyyxyyyyxyxxyxyxyxxyxxysozyxxxyyxxxxxyyxxxxxxyxyyyxxyxyyxxyxyxxxxyyyyyxxyyxyyyxxxyyxxxyyxyzwr弓vsyzyxxxxxxxxxyyxyxxxyyxxxxxyyyxxyxyyxyxyxyyxxxyyyxxxxyyxyxxyyzysw̟}rxzyxxxyyxxxxyxyyyyyxyyxyyxxxyyxxxxyxyxyxxyyxxxxxyyxxxyyyyyxxxyxyyxzyvoz~qvyzyyxxxxxxyxxxxxxxxyxxxxyxxxxyxxxxxyyyxxyxxyxyyxxxxyxyxxxxxxyyxyxxyxxyxxyytszxyxxxyxxxxxyxxxxyxxyyxxxyxxxxxxxxxxxxxyxxxxxxxxxxxxyxxxxxxxyxxyvozyxxxxxxxxyyxxxxxxyyxxxyxxxxxxxxyxxxxyyxxxxxxxxxxxxxxyxyuۆuzxxxyxxxxxyxxxxyxxxxxxxxyxxxxxxyxxxxyxxxxxxxxxxxxxxxxyxxxxyxyxxxxzssyxxxxyxxxxxxxxxxxxxxxxxxxyyxxyyxxxxxyxxxxxxxxxyxxxxxxxxxxxxxxxxyxxxyxxxxyxxxxxxxxxxyyxxxxxxxxxyzwruƠquyyxxxxxxxxxxxxxxxyxxxxxxyxxxxxxxxxyxxxxxxxyxxxxyyxxxxxzoszxyxxxxxxxyxxxxxxxxxxxyxxxxyxxxxxxxxxxxxxxxxxxxxxxyxxxxxxxxxxxxxxxxxxxzpvyxxxxxxxxxyxyxxxxxxxxxxxxxxxxxyxxxxxxxxxyxxyyyyxyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyywtzyyyyyyyyyyyxyyyyyyyxyyyyyyyyyyyyyyyyyyyyyyyyyyxyyxyyyyyyyyyyyyyyyyyyxyyyyyxyyyyyyyyyyyyyyyyyyyzro{yyyxyyyyxxyyyyyyyyyyxyyyyyyyyxyyyyxyyxyyyyyyyyyyyyyyyyxyyyyyyxyyyyzwrw̩ttyzyyyyyyyyyyyyxxxyyyyyyyxxyyyyyyyyyyxxyyyxyyyyyyxyyyyyyyxyyyyyyyzystշvrwzyyyyyxyyyyyyyyyyyyyyyyyyyyyyyxyyyxyxyyyyyyyyyxyyyxyyyyyyyyyyxyyyyyyyyzxrt{ vrwzyxxyyyyyyyyyyyyyyyyyyyyyyxxyyyxyyyyyyyyxxyyxyyyyxyyyyyyyxxxxxyyyyyyyyxyyyyzqyxyyxyyxyxyyxxyxxxyyyxxxxyyyxxxxxyyyxyyyyyxyyxxyyyxxyyxyyxxxxxxyyyzquzyxyyxyyyyyyyxyxyyyxyxyyxyyxyxyyyyyyyyyyyyyyyyyxxyyyyyyyu߈uzyyyyyyxxyyxyyyyxyyxyxyyyxyyyxyxxxyyxyyxxyyyyxyyyxxyxxyxxyyyyyxxyzttzyyyyyxyxxyyyyyxxxyyyyxyyyyyyyxyyyyyyyyyyyxyyyxyyyyxxxxxyxyyyyxxyxyxxxxxxyyyxxyyyyyyyyxxxyxxxxyyyzzssxǧurvzyxxxxxyyxyyyxyyxxxxxxyyyyyyxyyyyyyxyyxxxxyxyyxxxxyyyxxyzorzxyyxyyxyyyxxxyxxyyxyyxxxyxyxyxyyyyyyyyyyxxyxxyxxyyxyxyyxyxxyyyyyxxyxyzpwyyyyyyyxyxxxxxyyxyyyyyxxxyyxyyxxxxyxxyyyxxyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyywyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzyyyyyyyyyyyyzwvzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzyvq|ھvrwzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzwrvǪ|qvyzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzzxursūrswzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzwuzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyw|yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyx}xyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyywwyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzxvqs̯srwyzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyxyyyyyyyvwyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyxxyxyyyyyyvxyyyyyyyyyyyyyyxyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzzyyzyzzzzyyyyzyyyyyzyyzzzyyyyyyyyyyyyyzyyyyyyyyyzyzzyyzyyyzyyyzzztqqqqqqqqqqqqqqqrqquzyyyyyyyzyzyyyzzyyzyyyyyyyyyyzyyyyyyyyzzzzzyzzzyzzzyzyyyyyzyzyyzyyyyyzyyzzyyyzyyyyyzzyzzzzyyyyyyyzwrqqqqqqqqqqqqqqqqtzyyyyzyyyzyyzyyyzyyyzzzyyzyyyyyyyyzyzzyzyyyyzyyzzzyyzyyyzyzzyyyzzyyzyyyyz{ytry}ȳzwruz{zyyyyyyzyyyyyyzyyyyyyyyyyyyyyzyzyyzyyyzzzyzyyzyyzzyyyyyyzyyzyyzyyyzyyyzz{zurv{˺}xssx{zyyyyyyyzzyzyzyyyyyyyyyyyyyzyzyyyyyzzyyyyyyyyyzyyyyyyyyyzyyyyyyyyyyyyyyyyyyzzyzz{zwrrwz~ò|ysrw{zzyyyyyyyyyyyyyyyyyyyzyyyyyyyyyzyzyyyyyyyyyyzzyyyyyyyyyyzyyyyyzyyyyyyyyyyyyyyyyyyywqqqqqqqqqqqqqqqqqqptzyyyyyyzzyyyyyyzyyyyyzyyyyyyyyyyyyyyyyyyzyyyyyyyyzzyyzyyyyyyyyyzyzyzuqqqqqqqqqrqqqqqqqqyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyywqqqqqqqqqqqqqqqqqqrxyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzupqqqqqqqqqqqqqqqqpuzyyyyyyyzyyyyyyyyyyyyyzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzyyyyyyzyyyyyyyyyyyyyyzzzyzzzwssw{Ǹ}ysrvzzzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyztpqqqqqqqqqqqqqqqqqvyyyyyyyyzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzvpqqqqqqqqqqqqqqqqptyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzyyyyyyyyyyyyyzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz{|{|{{{{{{{{{{{{{{{zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzyzzzzzyzzzyz{{{{{{{{{{{{{{{{{{zzzzyzzzzzzzzzzyyzzzzzzzyzzzyzzzzzzzzzzyzzzzzzzzzzzzzyzzzzzyzzzzzzzzzzzzyzz{{zxvtrr}zrrtwyz{zzzzzzzyzzyzzzzyzzzzzzzzyzzzzzzzzzzzzzzzzzzzzzzzzzzzzyzzzzzzzzzzzzzzzzzzzzzzzz{zywurpy~sqsvyz{{zzzyzzzzzzzzzzzzzzzzzyzzzzzzzzyzzzyyzyyzzzyzzzzzzzyzzzyyzzzzyzzzzzzzzzzyzzyzzzzzzzzzz{{zyxvtrpt}wpruwyz{{zzyyzyyzzzyzzzzzzzzzzzyyyyyzyyzyyzzzzzzzyzzyyzyyzzyyzyyzzzzyyzzzzyyyyzyzyyzzzzzzzzzzz{{{{{{{{{{{{{{{{{{|zyzzyzzyyyyzyzzzyzyyzzzyzzyzzzzzzzzzzzzzzzzyyzzyzzzzzzzyzyzzyzzzzyzzyz{{{{{{{{{{{{{{{{{{zyyyzyyzzyyzyzzzyyzzzzzzzyyzyzyyzzyyzyyzzzyzyzzzyzzzzyzzyyzz{{{{{{{{{{{{{{{{{{{zyyzzzzzyzzzyyzzzzyyyzzyyyzzyzzyyzyzzzzzzzzyyzzyyzzzyyyyyyzzzyyyyyyzzz{{{{{{{{{{{{{{{{{{zyzzzyzzzyyzzyzyzzyyyzzzyyyyzyyyyzzyzzzyyyyzzyyyzyyzyyyzyyzzyyzyyyyzyyyyzyyzyyyyyzzyzzzzyyzzzyyzzzyzzzyzyzzz{{zywusqpxzqqtvxzz{zzyzzzzyyyyyzyyzyzyyyyyyyyyyyyyzzzzyyzyyyzzzyyzyyzyyyzyyzzzyyyyzyz{{{{{{{{{{{{{{{{{{zyzyzyzyyzzyyzyzyyzyyzzyyyyzzyyyzyzyyzyzyzzzzzyyzyyzyyzyyyyyzzyyyyzyyyzzzyz{{{{{{{{{{{{{{{{{{{yyzyyzyyzzyyyyyyzyyyyyyyzyyzzyyyyyyyyyyyyyyyzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz{{|ywutsqrqqqrqqrstuwz{|{zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz{{{zwvutqrrqrrqrqrtuwy{{{{zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz{{{|{yxvutsrqrqqqrqqqqrtuwxz{{{zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzyzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzyzzzzzzzzzzzzzzzzzyzzzzzzzzzzz{{|zxvutsrqqqrrqqqqrstuxy|{{zzzzyzzzzzyzzzzzzzzzzzzzzzzzzzyzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzyzyzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzyzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzyzzzzzyzzzzzzzzzzzzzzzzzzyzzzzzyzzzzyzzzzzzyzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz{{{|||||||||||{{{zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz{||||||||||||{{{zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz{{{{{|||||||||||||{{{zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz{{{{{{||{|||{||{{{{{zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz{zzzzzzzzzzzzzzzzzzzzzzzzzz{zzzzzzzzzzzzzzzzzzzzzzzzzzzz{zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz{zzzzzzzzzzz{zzzzzzzzzzzzzzzz{zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz{zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz{zz{{{{{{zz{z{zz{z{{z{z{{{zzz{{z{{z{{zz{{z{zzzzz{{{{{z{{{{{zzz{zzz{{z{{{z{z{{z{{{zz{{{{{{{{zz{zz{{z{{{{{{{{{{{z{{{{{{{{{zz{{z{{z{{zzz{{{{{z{{{{{z{zz{z{{{{{{{{{{{{{{{{zz{{{{z{{{z{z{{{z{z{{{z{zz{zz{zzz{{z{z{z{{zz{{{z{{{z{z{z{{z{zzz{zz{{{{{zz{{z{zz{{z{{zzz{z{{{{{{z{{zz{z{zzzzz{zz{zz{{zzz{zzzzz{zzz{zzz{{{zz{z{{z{{z{zzzzzz{{zzzzz{{{zzzz{{{{{{z{{{{zzzz{{zz{{{zz{zz{{{zz{zz{z{zzz{zzzz{z{zzzzz{zz{{z{{z{zzz{zzzz{{{{zzz{z{zz{zzzzzz{{zzzz{zz{{{{zz{z{{z{{{{zz{zzz{{z{{z{z{zzz{zzzz{{{z{{zz{z{zzzzzz{{zzz{z{zz{z{{{z{{zzz{z{{zzzzz{{zz{zz{zzz{zzz{z{zzzzzz{z{z{zz{zz{z{zz{zzz{{z{{z{zzzzzzzzzzzzz{{z{{zzzz{zzzz{zzz{z{zz{{zzzzzzzzz{z{{z{z{z{{zzzzzzz{{zzzzzzz{{{{zz{zzzzzzz{zz{zzzz{zzz{z{zz{zzzzzzzzzzzzzzzz{{zzzz{{{zz{{z{zzzz{z{zz{{zz{z{zz{{zzzzzz{zzzz{{zz{{z{zz{zzz{{z{zzzz{zzzzzzz{{zzzzzzzzzzzzzzzzzzzzzzzz{zzzzzz{zzzzzzzzzzzzzzzzzz{zz{z{zzzzz{zzzz{zzzzzzzzzzzzzz{{zzzzzzzzz{zzz{zz{zzzzzzzz{zzzzzzzzzzzzz{zz{{zz{zz{zzz{{zzzzz{zzzzz{z{zzzzzzz{{zzzzzzzzzzzzzzzzzzzzzzzzzzz{{zzzzzzzzzzzzzzzzzzzz{zz{{zzzzzzzzzz{{zzzzzzzzzzzzzzzzzzzz{zzzz{zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz{zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz{zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz{zzzzzzzzzzzzzzzzzzzzz{zzzzzzzzzzzzzzzzzzzz{zzzzzzzzzzzzzzzzzzzz{zzzzzzzzzzzzzzz{zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz{zzzz{{{{{{{{{{{{{{{{{{{{{{{{{{{{z{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{z{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{z{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{z{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{z{{{{{{{{{z{{{{{{{{{{{{z{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{z{{{{{{{{{{z{{{{{z{{{{{{{{{{z{{{{{{{{{{{{{zz{{{{{{{{z{{z{{z{{{{{{{{z{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{z{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{z{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{z{{z{z{{{{z{{{{{{{{{{{{{{{{{{{{{{{{{{{{{z{z{{{{{{{z{{{{{{{{{{{{{{{{{{{{{{{z{{{{{{{{{z{{{{{{{{{{{{{{{{{{{{{{{{zz{{{{{{{{{{{{{{{{{{{{{{{z{z{{{{{{{{{{{{z{{z{{{{z{{{{{z{{{{z{{{{{{{{{{{{{z{{{{{{{z{{z{{zz{{{{{{{z{{{{{{{z{{{zz{{{z{{{{zz{{{{{{{z{zz{{{z{{{z{{{{zz{{{{{{{{{{{{{{{{{{{{{{{{z{{{{{{z{{{{{{{{{{{{{{{{{{{{z{{zz{{z{{{{{{{z{{{{z{{{{{{{{z{{zz{{z{{{{{{{{{{{{{{{{z{{{{z{{{z{z{z{{{{{z{{{{{z{{{zzzz{{{{z{{{z{{{z{{{z{zz{{{{{{z{{{{{{z{{{{{{z{{z{{{z{z{zz{{{{zz{z{z{z{{{{zzz{z{{{z{{{{{{z{{{{{z{{{{{{{{{{z{z{{{z{z{{{z{{{{z{z{z{{{{{{{{{z{{{{{{{z{z{{z{{{z{{{z{z{{z{{{z{zzzz{{{z{{{{z{zz{{z{{{zz{z{{{{z{z{{z{{{{zz{{{{zz{zz{{{{{{{zz{{z{{{{z{zz{{z{{{z{{{{zzzz{{z{{z{zzz{zz{z{z{zzzz{{z{zzz{{{{{{z{{{z{{z{{{z{{z{zz{{zzzzz{{zz{z{z{{z{z{{{zz{z{{{{{{{z{zz{z{{z{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{|{{{{{{{{{{|{{{{{{{{{{{||{{{{{{{{{{{{{|{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{|{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{z{{{{{{{{{{{{{{{z{{{{{{{{{{{{{{{{{{{{{{{{{{{z{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{||{{|{|{|{{{{{|{{||{|{||{|{{{|{||||{|{{||{{{{{{{{{|{||{{{{{|{{{{|||||{{{{|{{{||{{{|{{{{||{{{|{{{{||{|{|||||||{{{|{{{|||{||{{{|{||{||{{{{{|||{||{{{||{|{{||{{|{{{{|{{{{|{|{{|{|{{|{{||{{{{{{|{{{||{|{{|||{{{{{|{|{{{{{||{{|{{{||{|{{|||{|{{{||{|{{{{||{{{{{{{{{||{{|{{{|{{||||{{{{|{{{{|{{{{{{{{{|{{{{{|{{{{{{{{{|{{{{{{{{{{|{{{{|{{{{{{{||{|{{||{{{{{{{{{{{{{{{{{{{||{{{{|||{{|{{{{{{{{|{{|{|{{{{|{|{{{{{{{{{{{{{{{{{{|{{{{|{|{{|{{||{|{{|{|{|{{{{{{{{{{{{||{{{|{{{{{{{|{{{{{{{{{{{{{||{|{{{{{{{{{{{{{{|||{{{{{{{{{{{{{{{{{{{||{{{|{{|{{{{|{{{{{{{{{{{{{||{|{{{{{{{{{{{{{{||{{{{{{{{{{{|{{{||{|{{{||{{{|{{{{{{{{{{{||{||{{{{{{{{{{{{{{{{{{{{{{{{|{{||{{{{{|{{{{{{{{{{{{{{{|{{{{{|{{{{{{|{{{{{{{{||{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{|{{{{{{{{|{{|{{{{|{{{{|{{{{||{{{{{{{{{{{{{{{{{{{{{{{{{|{{{{{{{|{{{{|{{{{{{{{|{{{|{{{{{{{{{{|{{{{{{{{{{{{{{{{{{{{{{{{{{{|{{{{{{{{{{{{{{|{{{{{{{{{{{{{{{{{{{{{{||{{|{{{{{{{{|{{{{{{{{{|{{{{{{{{|{{{{{|{{{{{{{{{|{{{{{|{{{{|{{{{{{{{{{{{{|{{{{{{{{|{{{|{{{{{{{{{{{{{{{{{{{{{{{{{|{{{{{{{{{{{|{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{|{{{{{{{|{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{|{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{|||||||||||{||||||||||{||||{||||||{|||{||||||{||{{{{|||||{||{||{|||{|||||||||{|||||||{|||||||||||||||||||{||||||{|{||{||||||||||||{||||||{{||{{||{|||||||{|||{||{||{|{||{|||||||||||{|||||||||{|||||{|||||||{||{{||||{|{|||{{||{||||{|{|||||{|||{|{|||||{{|||{||||||||||||{||||{||||||||||{|||||||||||||||||||||||||{||||||||||{||||||||||{|||||||||||{{{|{|||{|||||||||{||||||||||{|{{|||||{{{||||||{{|{{|{||{|||{|||||{|||{|||||||{|||||||||{{|||||{|||||{|||{{|{||||||{{||||{|||||{||||{{{{|{{|||{|||||||||||||{|||||{|||||{{||{{{{{|||||{{{|||||||||{{|||{{{{{|{|||{{|||||||||||{|||||{|{{|||{{|||||||{|||||{{{{{||||||{||||{{|||||{{||||{|{{||{||{|{|{|{||||{{{||{|{{|{{{{{|||||||{{||{{|{{|{|{{{|{{|||{{{{||||||{{|{{||{||{|||{|||{{{{{{{||{||{{|{{{|{{{||||{|{|{{{|{{||||{{{{||{||{{|{{|||||{{{|{||{{{{{{{{{|{{|{{|{{{{{{{|||{|{||{{{|||||{{||||{|{{{{||{{||{|{{{||||{||||{||{|||||{||||{{||||||||{||||||||{||{{|{{||||||{||{|{{{||{{{|{||{{{||{||{{|||{||{|||||{{|{{|{|||{||{{{||||{{|{{{{{|{|{{{|{||{{{|{{|{{{{|{{|||{|{{{{|{|||{{||{|||{{|{{{|{{{{{{|{{|||{{{||{||{{{{|{|||{{{|||{{{{|{{{{|||{{{{|{||{{|{{{|{{{|{{{||{{|{|{{{{{{||{|||||{|||{|{{{{|{{|{||{{{{{||{||{|{{{{{{|{{{{{{{{{{{||{||{|{{{{{{{|{{{{{{|{{{{|{{|||{{||{{{{{|{{|{{|{{{||{{{|{{{{{{|{||{{{{{{|{{|{|{||{{||{|{|||{{{{{{{{{||{{{||{{{|{|{{{{{|{{{{{{||||||||||||||||}|||||||||||||||||||||||||||||||}||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||}||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||{||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||{|||||||||||||||||||||||||||||||||||||{|||||{||||||||||||||{|||||||{|||||||||||||||||||{|||||||||||||||||||||||||||{{|||||||||||||||||||||||||||||||{|||||||||||||||||||||||||{||||||||||{||||||||||||||||||||{|||||||||{||||||||||||||||||||||||||||||||||||||||||||||||{|||{|||||||||{||||||||{|{||||||||||{|||||||||||||{||||||||||||{|||{|||{|||||{{||||||||||{|||||{||||||{{||||||||||||||||||||||||||{|||||||||{|||{|||{||||||||||||||||||||{||||{||{{|||||||||||||||||||||||||||||||{|||{||||||{||||||||||||{||{{||{|||{{||||{|||||||||{||||||{||||||||||{|||||{||||||{|||||{{|||||||||{{|}}||}||||||||||}||}|}||}|||}|}}}||}}|}}}||}|||}||||||}||}}}|||}}}}}||||}|}}}}||}}}||}||||||}}}||||}|}}||}|}|}}}||||}}}||}|}}}}|||}}|}}}}}|}}||}||||}||}|}}|}|||}}||}|}||||}|}|||||||||||}}|}||}||||||}}||||||}||}||||}}}||}}}||||}||}|}}|||}}||}}|||||}|||}}|}||}|||||}|}|}}}|}|||||}||||}|||||}|}||}|||}}}|}|}}}}|}}||}||}|}}|}|||||||}}|||}|||||}|||||||}|||}||||||}||}}}}||||||||||||}|||||||||||||||}|||||||}|}|}|||||||||}|||||||||}|||}|||||}|||}|||}}||||||||||}|||||}|}||||||}}||||}}|||}|}}||}|||}}|||||||||||||||||||||||||||||||||}}}||||||||}|||||||}|||||}|||}|||||}|||||||}|||}||||||||||}}|||||}}}}|||||}}|}|}||||||||||||}||||||}}||||}}||||||||||||}|}||}|}||||||}|||}}|}||||||||}|||||||}|||}||||||}|||||||||||||}|||||}|||||||||||||||||||||||||||}}|||}|||||}|}|}||||||}||||}|||}|||||||}||||||||||||||||||||||||}}|}||||}|||||||||||||||||||||||||||||||||||||}||||||||||||||||||||||}||||||||||||||||}||||||||||||||||||||||||||||||||||}|||||||||||||||||||||||||||}|||||||||||||}||}|||||||||||||}||||||||||||||||||||||}|||||||||}|||}}|||||||}||||}||||||||}||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||}||||||||||||||||||||||||||||||||||||||||||||||||||||||||||}|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||}}}}|}}|}}}}}}}|}}}}}}}}|}|}}}}}}}}}}}}}}}}}}}}}}}}|}}}|}}}}}}}}|}}}|}}}|}}}}}}|}}}}}}}}}}|}}}}}|}}}}}}||}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}|}}}}}}}|}}}}}}}}}}}}}}}}}}}}|}}}}}}}}|}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}|}}}|}}}}}}}}|}}}}}}}}}}|}}||}}|}}}}}}}}}}}||}|}}}}}}}}|}}}}}}}}}|}}}}}}}}}}}}|}}}}}}}}}}}}|}}}}}}|}}}}}}}}}}}|}}}|}}}}}}}}}}|}}}}|}}}|}}|}}}}}}||}}}|}}}}}}}}|}}}}}}}}}|}}}}}}|}}}}}}}}}}}|}}}}|}}}|}}}}}}}}}}}}|}|}}}}}}}|}}}}}}}}}|}}|}}}|}}}}}}}}||}|}}||}}}|||}}}}|}}}|}}|}|}}}}|}}}}|}}}}|}}}}}}}}}|}}}}|}||}}}|}}||}|}}}|}}}}}}}}}}|}}}}}}}|}}}}}}|}}|}}|}|}|}}}}||||}}||}}|}}}}}|}}}|}||}}}}}}|}}}}}}}}}}}}}||}|}|}}}}}}}}}}}}|}}|}|}}|}||}|}}}|}|}}}}}}}|}}|}}}}}|}}}}||||}|}||}}}}|}|}||}}|}}}}|}}|}}|||||}|}}}|}|}}|}||}||}}||}}}}|}}}}||||}}}}|}}}}|}|}}|}}|}}}}}}}|}}|||||}}|}}|}|}}|}||}}|}}}|}}}}}}}|}}||}}}}|}}}||}}}|}||}}}}|}||||||||}}}|}|}|}}|||}}}|}||}}|}}}|}|||}}}}||}|}}|||||}}|||}||||}}||}||}}}}}}|||}}||||}|||}||}}|}|}}|}}}}|}|}}|}}||}|}}}|}}}||}}|}}|}|}}||}|}}}}|||||}}}}||}}}}}||}}}}|}}||}|||||}}}|}}||}|||}|}}}}|}|}}}|}}}|}|||||}|}|}||||||}}|||}||||||}}}}}|}}}|||}}}|}}}|}||}|}}}}|}}|||}|}}|}|}||}}}}}}|}}|}}}}||}|}}||||}}}|}|||||}}|}}|||}}|}|||||}|}|||||}|||}}}|||}}|||}}|}|||||}|}}|}||}}||}|||||}|||||}|}|}}||}}}}}}|}|}}|}}||||||||}}||}|||||||}||}}||}||}}}}}||}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}|}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}|}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}|}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}|}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}|}}|}}}}}}|}}}}}}}}}}}}}}}}}}}}}}}}|}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}|}}}}}}}}}}}}}}}}}}}}}}}}}}}}}|}|}}}}}}|}}}}}}}}|}}}}}}}}|}|}||}}|}}|}}}}}}}}}}}}}}}}}}}}}}|}}|}}}}}}|}}}}}}}}}}}}}}}}}|}}}}}||}}}}}}}|}}}}}}}}}}|||}}}}}|}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}~}}}}~}}}~}}}~}~~}}}~}}~~}}}~~~}}}~}}}~~~~}~~}}~}~}}}}}}~}}}}}}}}}~}}}~}}}}}}}}}}~~}}}~~}}~}}}}}}}}}~~}}}}}~~}}}}}~~~}}~~~~}~}~}~~}}}~~~}}}}~~}}}}~}~}}~}}}}}}}~}}~}}}}~~}}}~~~}~~}}~~}}}~}}~~}}}}}~}}}}}}}}}~~}}}}}}}~}}~}~~}}~}}}~}}}}}~}~}~}}}~}~}}}}}}}}}~}}}}}~}}}}}~}~~~}~}}~~}}}}}}}}}}~}}}~}~~}}}}~}}~}}~}}~}}~}}~~}~~}}}}~}}}~~}~}}}}}}}}}~}~}}}}}}~}}}}}}}}}}}}~}~~}}}}}}}~}}~~}~}~}}~}}}~}~}~}}}~}}}~~~}}}~}}}}~~}}}}}}~~}}}}}}}}~~~~}~}}}}}}}~}}}}}}}~~}}}}}}}}}~}~}}}}}}}}}~}}}}}}}}}}}}~~}}}}}}}~~}}}}}}}}~}}}}}}}}}~~}}}}}~~}}}}}}}}}}}}}}}}}~}}}~}~}}}}}}}}}~}}}}}}}}}}}}}}}}}~}}}}}}}~}}}}}}}}~}}~}}}}}}}}}}}}}}}}}}~~}}}}}}}}}}}}}}}}}}}}}}}}}}}~}}}}}}}}~~}}}}}}}}}}}}}}}}}}}}}}~}}}~}}}}}}}~}}}}}}~}}}}}}}}}}}}}}}}}~}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}~}}}}}}}}}}}}}}}}}}}}}}~}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}~}}}}}~}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}~}}}}}}}}}}}}}}}~}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}~~}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}~}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}~}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}~}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}~}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}~~~~~~~~~~~~~~~~~~~~~}~~~~~~~}~~~~~~~~~~~~~~~~~~~~}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}~~~~~~~~~~~~~~~~~~~~}}~~~~~~~~}}~~~~~~~~~~~}~~~}}~~~~~}~~~~~~~}~~~~~~~~~~}~~~~~~~~}~~}}~~}~~~~~~~~}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}~~~~~}~~~~~~~~~~}~~~~~~~~~~~~~~}}~~~~~~~~~~}~~~~~~~~~~~~~~~~~~~}~~~~~~}~~~~}~}~~~}}~~~~~~}~~~~~~~}~}~}~~~~}~~~~~~~}}}}~~~~}~~}}}}~~~~~~~~~}~}~~~~}~~~~~~}~~~~~~~~~~}~~}~~~~~~~}}~~~~~~~~~~~~~~~~~~~~}~~~~}}~~~~~~~~~~~}~~~~}~~}~~~~~}~~~~~}~~~~~}~~~~~~}}}~~~}}~~~~~~~~~}}~~~~~~~}~~~}}~~~~}}~~}~~~}~~}~~~}~}~~~~}}}}~~~}}~~~~~}}~~}~~}~~~}~}~~}~~}~}~}~~~}}~}~~~}~~~~~~~~~~}}}~~~~~~~~~}}~~}}}~~~~~~}~~}~~~~~}~~~~}~~~~~~}~~~~~}}~}}}~~~~~}~~~~~}~}}}}~~~~~}}~~}}~~}}~~~~~~}}~~}}}~}~~~~~~}}}~~~~~~}~}}~~~~~}~~~}}}~~~~}~~~~~~}}}~~}~}~~~}~}}~~~}}~~}~}~}}}}~}~~~~~~}~~~~~~~~~~~~~}}~~}}~~~}~~~}}}~}}}}}~~}}}~}}~~~}~~}}~}}}}}}~}~~}}}}~}~~}}}}~~}}~}}~}}~}~}}~}}}~~}}}}~~}~}}~}~}~}~}~}}~}~~}}}}}}}}}~~}~}~~~}~~}~~~~}~}}}}~~}~~~}~}}}~}}~~}}~}}~~}}~~~}~}}}}~~}~~~~~~}~}}}}}~}}~}}~}~~}}}~~}}~}}~~}}}~~~~}}}}}}}}~~~}}~~}}}~}~}}}}}}}}}}}~}~~}}}}}~~~}}~}}~}}~}}~~~~~}~}}}}}}}~}~}}}}}}~}~}}}~~}}}~}~}}}~~}~}}}~}}}}~~~}~}}}}}}}}~~}}}~}}~~}}~~}~}}}~}}}}}}}~~}}}~}~}}~}}}}}}}~}~~}~}}}~~}}}~}~~~}}}~~}}~}~}~~}}}~}}~~}~}}~}~~}}}}~}}}}}}~}}}}}}~~~}}~}}}}}~~}}~}}}}}}~}~}}~}}}}}}~}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}~~~~}~~~~~~~~~~~~~~~~~}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}~~}~~~~~~}~~}~~~~~~~~~~}~~~~~~~~}~~}~~~~~~~~~~~~~~~~~~~~~~~~}~~}~~~~~~~~~~~~~~~}~~~~~~~~~~~~~~~~~~~~~~~~~~~}~~~~~~~~~~}~~~~~}~~~~~~~~~~~}~~~~~~~~~~~~~~~~~~~}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~rdgfgd|meffegKGHHHHHHHHHHHHHHHHHHHHHHHHHHHHEVbIDC><<<<<@CDKedDHHIBcTEHHHID]YDIHIBfDIHHDz]EHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHGL}`EDB=<<<<DCBBCBEEBCC@Kb>DBD>xX?CBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBCAGdH;@CDDEEEEEEDDCA;Gi9DBD?QBBCCAEGDDDDDDDDDDDDDDDDDDDDDDDDDDDDE@RK=AEDDDDEEEEEEEDDDDEA=I~GDDDDFr=EDDDDF<[d?EDE?xZ@DDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDCHbB>CFDDDEEEEEEEDDDDFB>Dw;FDE@RDDDDCGFCDDDDEFFFFFFFFFFFFFFFFFFFFFFGCTu?BEDDDED@?<<<<oc?DDD?y\BFFFFFFFFFFFFFEDDDDDDEFEFFFFFFFFFFFDJ|E>DEDDDFD@><<<\;FDD@RCDDDCFGCDDDC<:;;;;;;;;;;;;;;;;;;;;;<7Ju:;;;;;;;;;;;;9?gDDDDE=uADDDAQ@DDDCDDDDCDCDDBKd?DDD?yECDDDCt`DDDDF>U;FDD@RCDDDCFGCDDAMT@EDDDAqoACDDDDBDCDDCEg=EDB]T@DE>p@DDD?ad?DDD?yGCDDDBd=EDDDD=Xe?DDDDF=c;FDD@RCDDDCFGCDDBL>EDDDB~@DDDE?bQADDDBR@DDAe[h=EDE<~d?DDD?yFCDDDBt;FDD@RCDDDCFFCDDBLW@DDD?nt?EDDDBr=EDE=p@DDCD|?DDCIV?EDCFd?DDD?zFCDDDBADDDDDB~@DDDDBL;FDD@RCDDDCFFCDDBLCDDDCIS@EDE[xEDDE>q;FDD@RCDDDCGFCDDBLBDDD?cy?EDD@YKBDDAPY@DE=rPADE?j;EDEEDDE?iLBDDDAL;FDD@SCDDDCGFCDDBL}?DDE>qFEFFDJ[>EDD@GCDE=j?EDAQk?EDDAd?DDD?zGCDDDBS?EDDBL|:FDD@RCDDDCGGCDDBLz?DDE>rH8;;:EDDE={PADB@9T:FDD@RCDDDCGhhhhdvsehibghhgilfhhdvsehibghhgilfhhdvsehibghhheGCDDBLmfhhfrT?::CTccUK8;;:AR[rw[TC9;;:HU`{?DDD?cADDD?bh=EE>]HCDD?zGCDD@Yd?DDD?zGCDDDB`?DDDALm9EGaz:FDD@RCDDDCGiTN;:;:>OWgehherdL;::JVqrYQ>:;9DTjbihfqL7=<:B@;<=5q{5=<:?P7=<:B@;<=5q{5=<:?P7=<:B@;<=5p{5=<;=GCDDBLE:<<:S<@EFFD@>>DccD>>@DFEFFC@EE>]BDDE>AEFEFD?=A`3><9Kp@GEGFEDDDDEF?Q=CDEDDDDDDDDEED>E|zE>DEEDDDDDDDDEDC`CFGBS@BFDDDDDEDMKI=GFCSBDDD?hg=EDDCDECDE<~BDDD?gg=EDDCDECDE<~BDDD?gg=EDDCDECDE<GCDDBLMBDDCj;FDDBBCDF?UD?EDDDEDCBBBCDEDDEDg}ED@Re?DDD?zGCDDDBiCHHHHC=@EDDEC?mLBDE=ae?DDD?{GCDDDB[>EDD@Y:FDD@SCDDDCG>CEDDED=@EHHHD?>DDDDE@G@DD@SY@ED>DHHD?BCACEDDEB>BGHHF@=DDE@Mm?DDARm>EDDCADDDDE=bc=EE>^m>EDDCADDDDE=bc=EE>^m>EDDCADDDDE=bc=EE>^GCDDBLLBDDDBCE>XW?CCDDDD>Mk[BAEDDE;ttDDDDCA^?EDDDEA?C^R@DE?WJBDE;b?DDAR=EDD?|e?DDD?{GCDDDBQ@DDE>n:FDD@SCDDDCG@DDDDE?Ec\?AEDDEAJ@DDDDBDBAiwDWJBEDDE?GmdA@EDCCDDDAR=EDE>ststrskO@EDDC?kP>EDDDB?DDDD@G|BBDDE@TK@EDDDDDC@;DXhb=EDBLBDDDE|[O?DDDE=`@DDDDDCCd=EDDE=aO?DDDDDDARP@DE>\X@DDBDDDA=EDCEQ@DE>\X@DDBDDDA=EDCEP@DE>\X@DDBDDDA=EDCEGCDDBJLBDDDE?_t=EDDCDX?EDE>\T@DDE@TFBDDE<}K?EDDDDDDED?EE>ZDDDD?zZ@DDARe?DDD?{GCDDDB@DDDF::FDDDDHHHHHHHHHHHHHHHHHHHHHHHHGDDDDCGs=EDDE>hX@EDDE?@DDDDE?BDDDE=iX@EDDDDARg=EDCGDCCFPCDEED@`g=EDCGDCCFPCDEED@`g=EDCGDCCFPCDEED@`GCDDDC<:::::::::::::::::::<3xLBDDDDCJBDDD@PADDE??EDDBKADDDBM[ke?DDD?{GCDDDB;EDDE>:FDDDDBBBBBBBBBBBBBBBBBBBBBBBBCDDDDCGJCDDE?bOADDE?W@DDDE?Vd>EDE?aO@DDDDARADDF;@DBH}HCD@ZKBDE;ADDE;@DBH}HCD@ZKBDE;@DDE;@DBH}HCD@ZKBDE;FCDDDDEFFFFFFFFFFFFFFFFFFFG?~MBDDD@[|hZ?EDE>m=EDD@~K;ADEEDDDDDDDDED?e|TC>>CFEDDDDDDDEEDC=@`k?EDBJ;EDBJADDEEDE<~f=EDE=p@DDDDCse>EDDARd?DDBJOAE>mblb=ED@m=EE=`d?DDBJOAE>mbEE>\e?DDD?|GCDDDB;EDDDD:FDDDB;:::::::::::::::::::::::=DDDDCGLBDDBLADDDAQ@DDDBId?DDDCADDDARqŐ;EDE>uf?DDDBüiEDE=bRADDCD@DDD@]KBDDASFCDDARJBDE=rr=FCIBDE@S@DDCEJBDE=rr=FCIBDE@S@DDCEJBDE=rr=FCIBDE@S@DDCEGCDDBLMBDD@Qu=EDD?g{ADDEEDDE<:FDD@TšCDDDCG;EDE>yh?DDDB@DDE>kDCDE>kZ@DDAR`=EE>ZQAE>\FCDD@vZQAE>\FCDD@vZQAE>\FCDD@v\HCDDDD<:::::::::::::::::9@DDDE<~aC??EDDDDFrCDDE=um>EDAR?DDDEDCE=s`@DE;~UADE;?DDDEDCE=r`@DE;~UADF;?DDDEDCE=s`@DE<~UADE;GCDDBMMBDE?V^>EDDDDFFFFFFFFFFFFFFFFFFEDDDE?VECDDDDEFFFFFFFFFFFFFFFFFFDDDDE=u}SEEEDDDq{EBDDDE=jFCDE;GCDD@bm:FDD@SCDDDCGi?EDCD:FDE>u@DDE=t}?DDE;}ED@~;EDBKKBE?eU?EDB]>ED@~ED@GCDDAMMBDE?VV?EDDDGHHHHHHHHHHHHHHHHHHHHHHIEWCDDDDEHHHHHHHHHHHHHHHHHHHHHHHICrhiije@DDDEED@[DCDE;}?DE?We?DDD?|GCDDDB{?DDDCGj:FDD@SCDDDCGf?DDCE:FDD?{@DDE=t}?DDE;zlbEDDD;EDD?~@DDE=t@DDE<}s=EDAR]>EE=sm>ED@@DE?VEE=sm>ED@@DE?VEE=sm>ED@@DE?V;ED?dGCDDAMMADE?V_=EDEsPADDBCDDDAm>EDASR@DDAf?DDD?}GCDDDBRADDEEDDC}EDARy>EE>\SAE?VFCDDFe?DEEE>\SAE?VFCDDFe?DEEE>\SAE?VFCDDFe?DEpcEDDC@DDE=uDCDD?bX@DDARDDDBKDCEEDE>nX@DDDBe?DDE>w}?DDE>s|?EE=`g;EEk@DE=dUADE;ƅ@DD@wk@DE=dUADE;Ņ@DD@wk@DE=dGCDDAMMADE?VBDDDBLÿo>EDEmjmjmjEE;jPADD@f?DDD?}GCDDDB?DDDE>lNBDDDCF:FDD@SCDDDCGW?EDE=u>EDD?e@DDE=u;FDE>e]?EDDARADD@TX?E@\R@EBFX?ECJADD@TX?E@\R@EBFX?ECJADD@TX?E@\R@EBFX?ECJGCDDBMMADE?Wa?DDE?TZ7ACC@qIBDDE]FBE@Sf?DDD?}GCDDDBY?EDDD?d>EDDE=l:FDD@TCDDDCGt=EDD?\LADDF;@DDE=uMADDDB?DDDDARW?EBJJBFiV?EBJJBFiV?EBJJBFiGCDDAMMBDE?W=EDDE>xÅ>GDDD@f=EDDDEb?GDE?T@DDDE@RGCDDE=v;EE=vr=EE=pKBE@VFCEEDDDBH“:FDD@TCDDDCGDDDDE=|e?EDDAK@DDE=unECGWADE<@DDDDCDE=q>ECGWADE<@DDDDCDE=q>ECGWADE<@DDDDCDE=GCDDAMMADE?WW?EDDD@ÖGCDDE@[BDDDDAL¹w?EDDE>}g“:FDD@TCDDDCGd>EDDDAºu?EDDE=u@DDE=uHCDDE?WÞN?EDDDDARADDCADDAODCDDDDDANADDCADDAODCDDDDDANADDCADDAODCDDDDDANGCDDAMMADE?W?EDDDD@qGBDDDE=e>EDDE@Ip?DDDDAMIAEDDEA@kvDADDDEEDDDFCDDDF=fLAEDDDC=dĵQ=DDDDE?ACEDDDD>CgĴwK>CDDDF^GCDDCDDASf?DDD?~GCDDDBN?FDDDE?>T]?@EDDDF=YÔ:FDD@TCDDDCGwBJHHGLv;FDDDD=YĵM>DDDDD>@DDE=u]?FDDEB?PqlJ>BDD@CDDDASq=EDDDE?}øv>DDDDE?T@BEDDDE>?Qdkjj\K;AEDDDEmf?DDD?~¸GCDDDBO>EDDDEDA:DUbkjkfWH9@DDDDDE;::;>BDDE>\HCDDAS“=EDDDDB“;;;=@EEDDDF>PD@FDDDEE@<;;;>BEDDDED;;;>CEDDDEB>v@DDE=vL>EEDDDEFFFEEDEE<]KADDARQAEDDAROAEDE>jPAEDDAROAEDE>jQAEDDAROAEDE>ju=EDDCGGCDDBMMBDE?Wh??FDDDDEEEEEDDDDFB<`TDEDDDDEEEEEEEEDDDFBUS;?CDDEEEEEDDC@;LuG;ACDDFEEEEDDB?>CDDEEEFEDDB;Ek?CBDBBBB@<>WHBDD@\ŽFIHJ@āCIIFSŽFIHJ@ºĀDIIFTŽFIHJ@ºÀDIIFTxBJHHGLLHIIGRRGIID[ô`GC@;;;;;?CD\ü¨{UDC?;;;;;;;;;mſDDDE=xÊ@DDF:ûƒ1TTXfjEDE=dX?EDE?jýün?EDDD?ļz`ĿY?DDDE?]LBEDDE?@YvpX@?EDDEBE¼ď?DEDDED@=:9:9;>@DEDDEB?Ľ…@@EEDDDEFFFFEEDDDED?EĽěT<>DEEDDDDDDDEFC@BBBBB?=:GeľȺtZFIHIGgtƿ¾ƾĽľǻǺɑɺ~}~~}ȲȽ†ÆȵǷ~}~~}~ȵ˛ɌȲ~~~ɨȲȳé~~~ȳ˘ɍ˸~~Ɍʓʞ€ȳå~ȲʘɍǤ~~ɟłɍ€dzȭ~~ȳʘȍÖǴǴ€€ȲʿDzʘȍÏ~~Ăɞdz€Dzʲ~~DzʘȍǓ~}}~ɐȊɟ€Dzɨ~~~}~Dzʘȍɠ~~ȢǾɍDzɣ~~DzʘȍǶ~ƻǷǩÁɤ~ò~ƲɘǍǍèŃȔƴ˓ɫ~ȹƲɘǍǯʺȓĄȠȒȶǫƲɘǍǎǧƵȍȏȒˆɷƱȘǍƻǾƺǠɠÂǒșȹűȘǍƤǯņnjŵƵǒƳȳűȘƍǒǏǘſĄǡǒŊȣűȗƍņŰūūǔǑǒƪŌűǗŌąŽǖƪÃſƒĈƴűǗŌżǗƊąŽĶſƒŭǑİǗŌ÷Ŀ½ĺũƛĶŊţſƒƏųİǗŌŷǿǿƺļĵįšƝƒĿƒĺŋ~~İǗČƚƯ~~ƶ~~~î~~~ĿƎıÄĿŒšť~~İƗČśƪ~ǹ~~ů~~ćōĿöľŒŊĽðƗČśŰĥ~~ƽ~~ŕşĭƐĤľŒĻðƗČśļž~ƴ~ĨòŘĤŔľŒĪðŗČěđŻ~~ŭþÆøÄþĒŘðŗČěĻ~~~ū~~~ŗŐ÷ÆöþđċðŗÌě~~~ÿ~ı~~ø~ģģėæýđ°ŖÌě~~Ôſ~û~ĺ~ĝ~¶Đ«ĕýđ·¯ŖÌěÿĦſÐŷ~~¾¼…½đ®¯ǗŒÛŽ»Īçú~Ĕ®Ì¸½Ñ¥¯ŒÚ×Ĭ¿Ùö~~§ÙÞ¨¼ÑÞŒÚĢáù~~~ˆÖ¼Ñ،ÚÙ͸ÿ~~~‡†Ñ֌š°Øñ~~إґ’šŠ’~‘‘šÔ‹~~—‘šý~~‹’šþ~~~˜•¼~~—ėƒ~~Ö~•~½~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~εʽαζλΨ̿͞ε͠ոйȜӯөӞѻӷѠɿӻ̝ѠѡҨǹҶџҸʦөҢҮȜҨҢ˭ӹҶџҹѥÛҮϦѿҸҨҤʣҥҶџҹɚѝѻě̜ҨҨҤѦҶџҹɚțҵҤϝҨҤѿ˿Ҷў̛Ѵ̛ѴԿ̛ўҹԤ›ɭѨОҤҴÚҧңҧҶОιԶПќ͛Ң͛ң͛ңҸԯͦҴͱҩ͛ŚҲҧңϝҵўŞĚΜҥҲӫҥұӫҥұӫҷ̲̞ͬѺӫ̿ҶѿОңҧңǚҷў«šҷγΜҶÚΜҶÙΜҶÚΜɿҩʡҸѫʛʿęҭӪ̚ҧңўҼӫҼϥΛǙϽϜѾǙϽϜѿǙϽϜѾșʙҧ͛ѻӨϛџѼѽҧңѼѝʚęңҲΛўƩҧҩўƩҧҩўƩҧҩ™Ѿ˗ӥҢѺҹңș˚ӬҦҢѽȾѝҳНΚМΚҭҵѹΛҬҵѹΛҭҵѹΛҺҴ;үęӺҰѸҡўҦҢҳѝҤңșșΚѿҥəѾѿҥəѾѿҤəѾҷҳӴșӤѿҧүȘҦҢǙҵќџҧǙØΚ͚͚џҨ͚͚ҟҨ͚͚ҟҨҷҳγřѼ˙ϛѾҷҦҡϚҵќўҧǙ˜ΚҤҮΚҤҮΚҤҮΚҸҳѿϝКǘџØ̙ҦҦҡҦȥҴќѠҤǘƘΙҴҮѿѽҴҮѾѽҴҮѿѽҷҳƖҞңȘҫұҝϚҥҡѾӟҴќҧҟǘ͙Ιƥҟ̥ӧƥҟ̥ӧƥҟ̥ӧҷҳўұҼҸҠҧ—ҥҡѣҴћѻ͙ǘҦΙϹʘ͙Ϲʗ͙Ϲʘ͙ҷҲҼѢ̛ѶѪӬ˘ҺҰҥҡʞңҴћϠѽǘƙΙѻѼѻѼѻѼҷҲҶǘğҠеʙѼҠҥҠ˫ӸҴћȡҡǗΘӨҦӨҦӨҦ͚ҷҲƳУ͹ӵ˻ϤҪ̗ҤҠƶԾҴћ͚λӴǗ½Θћ͘ћ͘ћ͘ӚӷӲΩҸȤћҼӥӠзӴҚӚѵǗͧΘ–͹–͹–͹̚ʹΰ̼éűÖΩΣΟ˼α̚̚;×Ƿ˗ȖծүͧКǽӭͭ²iiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiijiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiijiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiijiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiijiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiijiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiijiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiijiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiijiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiijiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiijiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiijiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiijiiiiiiiiijiiiijiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiijiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiijiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiijiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiijiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiijjiiiiiiiiijiiiiiiiiijiiiiiijijiijiijiiiiijiijiijiijiiiiiiiiiiiiijjiiiiiiiiiiijiijiiiiiiijijijiiiiiiiiiiiiiijiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiijiiiiiiiiiiijiiiijiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiijiiiiiiiiiiiijjiiiiiiiiiiiiiijijiiiiiiiiiiiiiiiiiijiiiiiiiiiiiiiiiijijijiiiiiiiiiiiiiiiiiiiijiiiiiijiiiiiiiiiiiijiiiiiiiijiiiiiiiiiiiiiiiiiiiiiiiiiiiiijiiiiiiiiiiiiiiiiiiiiiiiiiijiijiiiijjiiijiiijiiiiiiiiiiiiiiijiiiiiiijiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiijiiijiiiiiiiiiiiiiiiiiiijiiiiiiiiijiiiiiiijiiiiiiiiiiiiiiiiiijiiijijiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiijiiiiijiiiijiiiiiijiiiijjjiiiijiiiiiiiiijiiiiiiiiiiijiiiiiijijjiiiiiiiiiiiiiiiiiiiiiiiijiiijiijiiiiiiiijijijiijjjiiiiijiijiiiijiiijijiiiiiijjijiiiiiijijiiijiiiiiiijiiiijiiiiijiiiijiiiijiiiiiiiijiiiijijijiiijiiiijiiiiijiiiiiijiiiiiiiijijiiiiiiiijiiiiiiiiiiiijiiiiiijiiiiiiiijiiiiijiiiijiijiiiiiiiiijiiiiiiiijiiiiiijijijiiijiiiiijiiijiijiiiiiiiijiiiiiiijiiiijiijjjijjiiiijiiiijjiiijiiijiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiijiiiiiiiiiiiijiiijijiiiiiiijiiiiiiiiiiiiijiiijiiiiiiiiiijiiiiiiiiiiiiiiiiiiiiijiijiiiiiiiiiiiijiijjiiiiiiiiiiiiiiiiijiiijiiijiijjiiiiiiijjiiiiijiiiiiiiiiiiiiiiiiiiiiiiiiiiijjiiiiiiiiiiijiiiiiiiijjijiiiiiiiiiiijiiijjjiiijiiijiiiiijiiiiijiiiiiiijiiiiiiijjiiiiiiijjijiiijjjiiijiiiiiijijiijiijjiijjiijjjiijiiijiiiiijiiijjijijijiiiijiijiiiiijiijijiijiiiiiiijijiiiiiijijiijiijijiijiijiiiiiiiiiiiiiijijiiiiijiiiiiijiijiijijiijiiiiiijjiijiiiiiiijiijiijiiiiiiiiiiiijijjiiiiiiiijijiiijjiiiiiiijiiijiiijiiiiiiiiiiijjiiiijjjjjiiiiijiijiiijijjiiiijiiiiijiiiijiiiiiiijiiiiiiiiiiiijijjjjiiiiiijiiijijjiiiiijiijiiijiiiijjjiiiiiijijijjiiijiiiijiijjijjijiiiijiiiiijiijiiiiiijiiiiiiiiiiiiijjiiiiijiiijijijiijiiiiijiijijiiiiiiiiijiiiijijijiiijiiijiiijijiiiijjiiiiijiiijiiiiiiijiiijijiiiijiijjiiiiiiiiiiiiijiiiijijiiiiiiiiiiiijiijjiiiiijiiijiiiiiiijiiijjijjijiiiiijjiijijjjijjjjijjjijjiijijiijjiijjiiijjjijjjjijijijjjjiiiijiijijjjjijijiiiiiijjijjjiijjjjjjjiijjijjijiiijjjiiiiiiijjijjiiijjiiijijjiiiijjijjjijiiiiijijijijiiiijjjiiiiijjjjijiiijjjiiiijiijjijiijijjjjjjijiiiijjijjijjiiiijijjiiiijiijjjijjijjjiijiiiiiijijiijjiijiiiiijijiiijijijiijijjjjjjiiiiijjjjjijijjjijjjijiiijijjiijjiiiiijiiiiijiiiijjjjiiiijjijjjijijjjijijiiijijjiiijijjiijijiijjijjiijiiijjjjjjjiiiiijjiiiijijijjiiiiiiiiijjiijiijijiijjjiiiiiijijjjjjjjiijjiiijijjijijjjiiiijiiiiijiiiiijijjiijiijiiiiiiijiiijiijijjjiiiijiijjiiijiiiijiijijiijiijijijjjjijijjiijiiijiijiiiijjjijiiiiijjjjiiiijjiiijiijjijjiiiiijjiijijjijiijjjjijjjjiiiiiijjjijijjjjjjjjjjjjjjjjjjjjjjijjijjjjjjjjjjjjjjjjjjijijjjjijjjjjjjjijjjjjjjjjjjjjjijjijjijjjjjjjjjjjjjjjjjijjjjjjjjjjijjjijjjjjjjjjjjjjjjjjjjjjjjjijjjjjjjjijjjjjjjjjjjjjjjjjjijjjjjjjjijjjjjjijjjjjjjjjjjjjjjjjijjjjjjjjjjjjjjjijjjjjjjijjjjjjjjjjjjjjjjjjjjjjjijjjjjjjjjjjjijjjjjjjjjjjjjjjjjjjjjjjjjjjijjjjijjjjjjjjjjjjjijjijjijjjjjjjijjjjjijjjjjjjjjjjjjjjjjjjijjjjjjjijjijjijjjijjjjjjjjijjjjijjjjjjijijjjjjjjjjjjjjjjjjjijjijjjjjijjjjjjjjjjjjjjjjijjjjjijiijjjjjjjjjijjjjjjjjjijjjjjjjijijjjjiijjjijijjiijjjjjjjjjjjijjjjjjiijjjjjjiijijjjjjjjjjjjjjjjjjjjjjjjjjjjijjjjjijjjjjjjjjijjjijjjjjjjijijijjjjijjjjjijjijjijjijjjiiijjjjjjijjjjjjiiiijjjjiijiijjjjjjijjjjjiijjjjjijjjjijjjjjjjjjjjjjjjjijjijjjijjjjjjjjjijjjjjiijiijjijijjjijjjjjjiijjjjjiijijjijjijijijjijijijjjjjjjjijjjijjjjjiiiijjjiijjjijjjjjjjjjjjjjjjjjjjjjjjjjijjjijjjjjjjjjjjjjjjjjjjijiijjjjjjjjijjjjjjjjijijjjjjjjjjjijjjjjjjjiijijjjjiijjjiijjjjjjjijijiijjjjjijjijijijjijjjijjijijjiijjjjjjijijjiijjjjjjjjijiijijjijijjjiiiiijiijjjjjjjjjjjjjjjjjjjijjjjjjjjjijiijijjjjjjjjijjjjjjjjjjjjjjjjjjijjjjjjiijjjijjjjjjjjjjjjjjjjjjiijijjjiijiijjjjjjjjjijjjijjijjjiijjjjjijjjjjijjjjjijjjjjjjjiiijjjjjjjjjijjjjjjjjjjjjijjjjjjjijjijjjjjjjjijjjjjjjijjjjjjjijjjjjjjijjjjjjijiijjjjjjjjjjjjjjjjijjjjijjjjijiijjjjjjjjjjjjjjjijjjjjijjjjjjijjijjjjjjjjijjijjjiijjjjjjjijjjjjjjjijjijjjjjjjjjjjjjjjijjjjjiiijjjjjjjjjjjjjjjjijijjijijjjjjjjjiijjjjjjjjjijijjjjjjjjjjjjjjjjjjjjjjiijjjjjjjjjjjijjjjjjjjjjjjjjjjjjijjjjjjjjjjjijijjjjjjjjjjjjjjjjjjjjjiijjjjjjjjjjjjijjjjjjjjjjjjjjijjijijjijjjjjjjjjiijjijjjjijjjjjjjjjjijjjjijjjjjjjiijjijjijjjjjjjijjjjjjjjjjjjjijjijjjjjjiijiijjjjjijjjjjjijjjjjjjjjjjjijjjjjjjjjjijijjjijjijijijjijjjjjjjjjjjjjjjijiiiijijijjjijjjjjjjjjjjjjjijjiijjiijijjjjjjjiijijjjjijjjjjiijjjjjjjjjjjijijiijjjjjjjjijjjjijjjjiijiijjiijjjijjjjjiijjjijjjjjjijjjijjjiijjjjijijjjiijjjijjijjjjjjjijjjjijjijjijjjjjijjiijjijijjjjjjijjjjjjjjjjjijjjjijjjjijjjjijjijjjjijjijjjjjjiijjiijiiijjijjjijjjjjjjiijjjjjjjjjjjjjjjjjjjjjjjjjjjjjiijjjjjjjjjjjjjjjjjjjijjjjjjjjjjjjjjjjijjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjijjjjjjijjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjijjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjijjjjjijjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjijjjjjjjjjjjjjijjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjijjjijjjjjjjjjjjjijjjjjjjjjjjjijjjjjjjijjjjjjjjijjjijjjjijjjjjjjjjjjjjjjijjjjjjjijijjjjijjjijjjjijjjjjjjjijjjjjjijjjjjjjjijjjjjjjjjjijjjjjjijjijjjjijjjjjjjjjjjjjjjjjjjjjjjjjjjjiijjjjjjjjjjjjijjjijjjjijjjjiijjjjijjjjjijjjjjjjjjjjjjjjjjjjjjjjjjjijjjjjjjjjijjjjjjjjjijjjjjjjjjjjijjjjjjjjijijjjjjijjjjjjjjjjjjjjjjjjjjjijjjjjjjjjjjjjijjjjjijjjjjjjjjjjjijjijijijijjijijjjjjjjjjjjjijjjjjjjjjjjjjjjjijjjiijjjjjjjjjjjjjjjjjjijijjjjijjjjjjjjijjjjjjjjjijjjijjjjjjjjjjjjjjjijjjjiijjjjjjjjijjjjjijjjjjjjjjjjjjjjjjijijjjjjjjjjjjjjijjjjjjjiiijiijjjjjjjjjjjjjjjjjjjjjjjjjijjjjjjjjjjjjjjjjjjjijjjjijjjjjjjjjjjijjjjijijjjjjjjjjijijjjjjjjiijjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjijjjjjjjjjjjjjjjjjjjjjijjjjjjjjjjjijjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjijjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjijjjjjijjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjijjjjjjjjjjjjjjjjjjjjjjjjjjjjijjjjjjjjjijjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjijjjjjjjjjjjjjjjjjjjjjjjjijjjjjjjjijjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjijjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjijjjjjjjjjjjijjjjjjjjjjjjjijjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjijjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjijjjjjjjjjjjjjjjjijjjijjjjjjjjjjjjjjijjjjjjjjjjjjjjjjjjjjjjjjjjijjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjijjjjjjjjjjjjjjjijjjjjjjjjjjjjjjjjijjjjjjjjijjijjjjjijjjjjjijjjjjjjjjjijjjjjjjjjjjijjjjjjjjjjjjjjjjjjjijjjjijjjjjjjjjijijjjijjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjijjjjjjjjjjjjjjjjjjjjjiijjjjjjjjjijjjjjjijjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjijjjjjjjjjjjjjijjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjijjjjijjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjijjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjijjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjijjjjjjjjjjjjjjjjjjjjjjijjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjijjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjijjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjijjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjiijjjjjjjjjjjjijjjjjjjijjjjjjjjjjjjjjjjjjjjjjjjjjjjjijjjijjjjjjjjjjjjjjjjjjijjjjjjjjjjjjjjjjjjijjijjjjjjjjjjjjjjjjjjijjjjjjjjjjjjjjjjjjjjjjjjjjjjijjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjijjjijjjjjjjijjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjijjjjjjjjjjjjjjjjjjjjijjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjijjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjijjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjijjjjjjjjjjjjjjjjjjjjjjjjjjijjjjjjjjjjjjjjjjjjjjijijjjjjjjjjjjjjjjjjjjjjjjjjjjjjjijjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjijjjjjijjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjijjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjijjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjijjjjjjjjjjjijjjjjjjjjjjjjjjijjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjijjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjijjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjijjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjijjjjjjjjjijjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjijjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjijjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjijjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjijjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkjjjjjkjjjjjjjjjjjjjjjjjjjjkjjjjjjjjkjjjjjjjjjjjkjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkjjjjjjjjjjjjjjjjjjjjjjjjkjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkjjjjjjjjkjjkjkjjjjjkjjjjkjkkjjjjjjjjjjjjjjjjjjjjjjjjjkjjjjkjjjjkjjjjjjjkjjkjjjjjjjjkjjjjjjjjjjjjjjjjjjjjkjjjkjjjjjjjjjjjjjjjjjjjjjjjjjjjkjjkjjjjjjjjjjjjjjjjjjjjjjjkjjjjjjjjjjjjjjjkjjjkjkjjjjjjjjjjkjjjjjjjjjjjjjjjjjjjjjjjkjjjjjjjjkjkjjjjjjjjjjkjjjjjjjjkkjjjjjkjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkjjjjjjjkkkjjjjjjjjjjjjjjjjjjjkjjjjjjjjjjjjjjjjjjjjjjjjkjjjjjjjjjjjjjjjjjjjjjjjjjjjjkjjjjjjjjjjjjjjjjjjjjjjjkjjjjkjjjjjjjkjjjjjjjjjjjjkjjjjjjjjjkjjjjkjjjjjjjjjjjjjjjjkjjjjjjjjjjjjjjjjjjjjjjjjjjjkjjkjjjjjjjjjjjjjjjjjjjkjjjjjjkjjjjjjjjkjjkjjkkkkjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkjjjjjjjjjjjjjjkjjkjjjjjkjjjjjjjjkkjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkjjjjjjjjjjkkjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkjjjjjkjjjjjjjjjjjjjjjjjjjjkjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkjjjjjjjjjkjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkjjjjjjjjkjjjjjjjjkjjjjjjjjjjjjjjjjjjjjjjjjjjjjkjjjjjjjjjjjjjjjkjjjjjjjjjjkjjjjjjjjkjjjjjjjjjjjjjjjjjjjjjjjjjkjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkjjjjjjjjjkjkjjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkjjjjjjjkjjjjjjjjjjjjjjjjjjjjkjjjjjjjkjjjjjjjjjjjjjjjjjkjjjjjjjjjjjkjjjjjjkjkjjjjjjjjjjjjjjjjjjjjkjjjjjjjjjjjjjjjjkjjjjjjjjjjjkjjjjjkjjjjjjjjjkjjjjjkkjjjjkkjjjkkkjjjjjjkjkjjjjjjkjjjjjkjkjjkjjkjjjjjkjkjjjjjjjjjjjjjkjjkkjjjjkkjjjjjkjkjkjjjkkkjjjjjjkjjjkjjjjkjjkjkjjjkjkkjjjjkjjjjjkjjjjkkjjjjkjjjjjjjjjkjkjjjjjjjjkjjkjjjjjjjjkjjjjkjjkjkkjjkkjkjkjjkkjjjkkkjjkjkjjkjjkkjjjjjkjjjjkkjkjkjjjjkjjjjjjkjjkjkjjjkjjjjjjjjjjjjjjkjjjjkjjjkkjjjjjjjjkjjjkjkjjkkjjjkjjjkjjkjjjjjkjjkjjkjjjkjkjjjjkjjjjjjkkjjjjjkjjjkjkkjjjjkjjjjjjkkjkjjjjkjjjjjjjjjkkjjkjjjjjjkjjjkjjjjjjjjjjjkjjjjjjkkjjjkjkkkjjjjjkkjkjjjjjjjkjjkjkjjjjjjkjjjjjjkkjjjjjjjjkjjjjjkjjjjjjjjkjjjjjjjjkjjjjkkjjjjjkjjjjjkjjjjjjjjjjjjjjjjjjjjjkjjjjjjjjkjkjjjkjjkjjjjjjjjkkkjjjkjjjjjjjkkjjjjjjjjjjkjkjjjjjjjjkjjkjjkjjjjkjjjjjkjjjjjjjjjjkjjjjjjjjjjkjjjjjjjjjjjjjkjjjjjjkjjjjjjkjjjjjjjjjjjjjkjkjjjjjjjjkjjjjjjkjkjjjjjjjjjjjjjjjjjjkjjjjjjjjjjjjjjjjjjjjjjjjjjjjkjjjjjjjjjjjjjjjkjjjjjkkjjjjjjjkjjjjjjjjjjjjjjjjjjjjjjjjjjjjjkjkjkjkkjjjkjjjjjjjkjkjjjkjjjjjjkkkjjjjjjjjjjjjjjjjjjkjjjjjjkkjjjkjjjjkjjjjjjjjjjjjjjjjjjjjjjjkjkjjjjjjkjjjkjjjkjjjjjjjjjjjjjjjkjjjjkjjjjkjjjkjkjjjjjjjjjjkjjkjjkjjjkjjkjkjkjjjjjjjjkjjjkjjjjjjjjjjjjkkkkjkjjjjjkjkjkjkjjjjjkjjjjjkkjjjjjkjjkjkjjjjjjkjjjkjjjkkjjjkjkjjjkkjjjjkjjkkkkkjjkjjjjkjkkjjjjkjjjjjjjkkjjjjjjjkjkjjjjjjkjjjjjjjjkkjjjjkkkkjjkjjjkjkkjjkkkjjkkjjkjjkkjjjkkjjjjjkjjjkjjjjjjjjkjjkjjjjkjkkjkjjjjjjkjjjjjjjjjjkjkjjjjjjjkjjkjjjkkkjjjjjjjjkkjjkkjjjkjjjkjkjkjkjkkjkkjjkjkkjkkkjkkjjkkkkkkkkkkkkkkkjjjkkjjjjjjjkkjjjjkkkjjkkkkkjkjjkkjkjkkjjjjjkkkjkkkjkjjkkjjjkjkkkkkjkkkjkkkkkkkkkkjjjjjkjkkkjjkkjkkkkkkjkjkjjjjjkkkjkjjkkjjkkkjkjjjkkkjkjkkjkkkjkjkjkjkkkkkjkkjjkjjkjjkkjjjkkkjkjjkkjjjjjkjkjkjkjkjkkkjkkkkjkjkjjjkkkkjjjjkjkkkjjkjjjjkkjjkjkkjkjkkkkkjkkkkjjkkkjjkkkkkkjjkjkjjkjkjkjjjkjkjkkkjkjkkjkjkjjkkjjjjjjjkjjkjkkjkkkkkjjjjjkjjkkjkkkjjkkjjkkjjjkkkjkkjkkjkjjkjjjjjjkkjkjkkjjjjjjkjkjjkjjjkkjjjkjkjjjjkjjkjkkkkkkkjjjjkjjkjkjjkjkjjjjkjkjjjkkkjkkkjkkjkjjjkjjjkjjjjjkjkjjjjkkkkjkjkjjjjkjjjjjkkkjkkkkkjkkjkjkkkjkkjkkjjkjjjjjkjjkkjjjkjjkjjjkkjjjjjkjjjjjjjjkjjkjjkjkjjjjjjkkjjjjjkjkkjkkjjjkjkjjjkkjkkjjjjjkjjkkkkkkjkkkkjkkkkkkkkkkjkkkkkkkkkkkjkkkkjkkjkkjkkkkkkkkkkkkkkkkkkkjkkkjkjkkjjjkkkkkkkkkkkkjkkjkkjkkkkkkkkkkkkkjkjkkkkkkjkkkkjkkkkkkkkkkkkjkkkkkjkjkjkkjkkkkjkjkkkkkjkkkkkjkkkkkkkkkkkkkkkkkkkkkkjjkkjkkkkkkkkjkkjkkkkkkjkkkkkkkkkkkkkkkkkjkkkkjkkjjkkjkkkkkkkkkkkjkkjkkjjkkkkkkkkjkkjkkkkkjkjkkkkkkkkkkkkjkkkkkjjkkkkjkkjkkkkkkkkkkkkkjkkkkjkkkkkkjkkkkkkjkkkjkkkjkkkkjkjkkjjkkkkkjkkkkjkjkjkkkkkkjkkkkkkkkkkkjkjkkkkjkkkkkkjkkkkkkkkkkkkkjkkkkkkjkjkkkjkkkkjkkkkjkjkkkkkkkkjkkkkkjkkkkkjjkkkjkkkkkjkkkkkjkkkkkkkkjjkkkkkkkkkjkkkkkkjkkkkkkkkjkkkkjjkkkkjkjkkkkkkkkjkjkkjkjkkjkkkjjkkkkkjkkjkjkjkkkjjkkkkkjkkkkjkkjkkkjkjkkjkkkkkkkkkkkkkkkkjkkkkjkkkkkkkjjkkkkkkkkkkkkkkkkkkkkkkkkkkkjkjjkkkkjkkkkkkkkkkkkkkkjkkkkkkkjjkkkjjjkkjkkjkkkkkkkkkjkkkkkkkkkkkkkkkkkkkkkkkkkkkjkjkkkkkkjkkkkkkkkkkkkkkkkkkkjkkjkkkkkkkkkjkkkkkkkkkkkjkkkkkkkkkkkkkkkkkkjkkkkkkjkkjkkkkkkkkkkkkkkkkkjjkkkkkkkkkkkkkkjkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkjkkkkkjkkkkkkkjkkkkkkkkkkkkkkkkkkkkkkkkjkkkkkkkjkjkkkkkkkkkkkkkjkjkkkkkkkkkkjkjkkkkkkkkkkkkkjjkjjkkjkkkkkkkkkkkkkkkkkjkkkkjkkkkkjkkkkkjkkjkkkkkkkkkkkkkkkkkkkkkjkkkkkkkkjkjjkkjkjkjkkkjkkkkkkkkkkkkkkkjjkjkkjkkkkkkkkkkkkkkkkjkkkkkkjkkkjkjkkkkkkkkkkkkkkkkkkkjkkkkkjkjkjkkkkkkkjkkjkkkkkjkkkkkkkkjjkkjkkkjjkkkkjkkkkjjkkkkkkkkkkkkkkkkkkkkkkkkkkkkjkkkkkkjkkkkkkkkkkkjkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkjkkkkjkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkjkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkjkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkjkkkkkkkkkkkkkkkkkkkkkkjkkkkkkkkkkkjkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkjkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkjkkkkkjkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkjkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkjkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkjkkkkkkkkkkkkkkkkkkkkkkkkkjkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkjjkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkjkkkkkkjkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkjkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkjkkkkkkkkkkkkkkkkkkkkjkkkkkkkkkkkkkkkkkkkkkjkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkjkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkjkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkjkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkjkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkjkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkjkkkkkkjkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkjkkkkkkkkkkkkkkkkkkkkkkkkkkkkjkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkjkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkjkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkjkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkjkkkkkkkkkkkkkkjkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkjkkjkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkjkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkjkkkkkkkkkkkkkkkkkkkkkkkkkkjjkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkjkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkjkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkjkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkjkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkjkkkkkkkkkkkkkkkkkkkkkkkkkjkkkkkkkkkkkkkkkkjkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkjkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkjkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkjjjjjjjjkkjkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkjjjjjjjjkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkjjklmnprrrrrrqomlkjjkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkjkkloprrrrrrpomlkjkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkjkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkklkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmlkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkklkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkjjlotx{~}zwrnkjkkkkkkkkkkkkkkkkkkkkkklmmmmmmmmmlkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkmmmmmmmmmmmlkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkmmmmmmmmmlkkkkkkkkkkmmmmmmmlmlkkkkkkkkkklmmmmmmmmmmmmmmmlmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmlkkkkkkkkkkkkkkkkkkkkkkkkkkkjklotx{~~{xtoljkkkkkkkkkkkkkkkkkkkkkkkkkkkkklmmmmmmmmmlkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkklmmmmmmmmmkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk{~~~~~ukkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkklkkkkkkkkkkkkkkkkkkkkklkkkkkkkkkkkkkkkkkkklkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkjkov|zunkkkkkkkkkkkkkkkkkkkkkr~~~~tkkkkkkkkkkkkkkkkkkkkkkkkkkkkko~~~wkkkkkkkkkkkkkkkkkkkkkkkkkkkkkm~~~ukkkkkkkkkm~~~ukkkkkkkkklq~~~~~skkkkkkkkkkkkkkkkkkkkkkkkkjlpw|{vokkklkkkkkkkkkkkkkkkkkkkkkkkkq~~nkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkx~~{kkklkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk|vkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkklkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkklkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkklkkklkkkkkkkkkkkkkkkkklkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkklrzypkkkkkkkklkkkkkkkklknykkkkklkkkkkkkkkkkkkkkkkkkkkkku~lkkkkkkkkkkkkkkkkkkkkkkkkkkklrpkkkkkkkkkmvkkkkkkkkklrtkkkkkkkklkkkkkkkkkllkkkjmt{ypkkkkkkkkkklkkkkkkkkkkkkkklqolkkkkkkklkkkkkkkkkkkkkkkkkkkkkkkkkkky}kkkkkkkkkkkkkkkkkkkkklkkkkkkkkkkkkkkkkkkkklkkkkkkkkkkkkk|vkkkkkkklkkkkkkkklkkklkkkkkkkklkkkkkkkkkkkkkkkkkkkkkklkkkkkkkkkklkkkkkkkkklkkkkkkklkkkkkkkkkkklkkkkkklkkkklkkkkkkkkkkkkkkkkkkkkkkkklkkkkkkkkkkkkkkkklkkkkkkkkkkkkkkkkpzyokkkkkkkkkkkkkkkkkk}~kkkkkkkkkkkkklkkkkkkkkkkkkkkk{oklkkkkkkkkkkkkkkkkkkkkkkkklkxlkkkkklkkkmvkkkkklkkllrtkkkkkkkkkkkkkkkkkkkkkjmu}xnkkkkkkkklklkkkkkkkkkkkkkrokkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkklky|kkkkkkkkkkkkkkkkkkkkklkkkklkkkllklklkkklklkklkklkklkkkkk|vkkkllkkklkklkkkkkllkkklllkklkkkkkkllkkkllllllkklkkkllkllkkkkkkkkkllkkkklkkkllkklkklklllkllkllkkkkklkkkllkkkkklkkkkkklkkkkkkklklkklkklklkkklkkkkklklllkklkklkkkkllklvukklkklkkkkklkkklkwnkkklklkkklllkkklkkkkkklkkkklukkkkkkkkkkkkkkklkkkkkklkkklk}zkkkkklkkklnvkkkkkklkklrtkkkkkkklkklkkklklkkkks}~skkkklkkkkkkkkklkkkkkkllrolklkllkkkkklkkkklkkklkkkllklkkkklkkky|kkklklkkkkkkkkkkkkklkkkllllkllkkkkllllkkkkkklkkllklkkkkk|vkkklkkklllkklkkkkkklklklkkklkllkkkkkkkkkklkkkkkllkkklkklkkkkkkkklklklklkkklkkkkkkkkkkklkkkkkkkkkklkkkklkklllkkkkklkkkkkkkkkkklllkkkllkkkklkkllklkkkkklklkkklklkkkmzylkllkkkkkkkkkkllqslkllkkkkkkllkkkkllkkkkklkklq|kklkkklkkkkkkkkkkkkkkklkkklmtllkkkkkllkmvkllkkklkklrtkkklkklkkkklkkkkllknyxmkkkkllkkklkkkkkkkkkklrolkkkkkllklkklkklllklkkkklklkkkkkkkkky|klkkklkklkkklkkkkkklkklllklkklklkklkllkkkkkkllllkkklkklk|vkkllllllllkkllkllllllklkllkkklllkkkkllllkllllllkkllllkkkllkkkllllkkllklllkllllllklklkllllllkllkkklllllklkllklkklklllllkllklkkklkklllkllkkllllkkkllkllkkkklllllkkm{{mkllkkklkllkkklmxklllklklkkklkllklkkkklllkkkxmllllllklllklklllkllllkklklrnllkkllkkklmvklkklkkkllrtlkkklllklllkllklkkq~{nkkkkkkkklllkkkllllklrolllkllklkklklklllklllklkkklllllllklky|kkkklklklkkkklkklkkllklkkllkklklllklkllklllkkllllklkklll|vkklklklkllklkllklllllllllllkllllllllllkklkkllklkkklkkklkkllkkklkkklklklkkllklkkklkkklllllklkklkllkkkklkklllklkllklklklllkllllkkklklllllkkkklkllllllkklklllkllkkl{{lkkllkllkllkllk|}lklkkkkkkllkklllklllkklklll}rkkkkkkkllllllllllllkkllllkw}llkkllllkllnvklkklllkklrtlklkkkkkkkkkklklkt|nkkkkkkklkkkklkkllklrolklkkkkkllllkkkkkkkkkklllklllllkkkkky|lkkkllkllllkklkkklllllklklllllkllkllkllkllklklllkllkklkl|vkllllllklllllllllllklklkklllkllllkllllllllklkllllllllllllkllklllkklllkllkllklkkkkkkllllklllllllklkklllkklllllklllllklklllllllllllklllkkkklkllllllklllllkkkllkkkw~zwsqponnonpqtx|xkllllllllllllkvmlkklllllklklkllkllllkllllnykkklllklkllklllllllklllklk|xkllllllllklmvlklklklkllrtkllklllllkkllllkv~zvsqoonnopruy}|mlkllllllllkkklllllrollllklllllllkllllkklllklllllllklkkkky|lkllllllllklkllkllllllllllllllllllllklllllkklllllllllllk|}rsrsrsssrrrsrsrrssrsrsrsssrsrsssssssssollllkllllkllllllkllllklllllllllllllllllllllllllllllllllklllkllllllllllllllllllllllllllklkllklllklkllllllllllllllllllllllllllllklllllklllklllklllklllllllllllklqyrnlkkkkkkkkkkkkklou}slllllllllllllpqlllllklllllkllkllllllllllt~llllllllllklllllkllklllklmqllllkkklllknvklllllllklnrsrssrrrrsrrsrrrsrsrrsr}}rsssrrrssrsrrsrrrrrsrssnllllllklklllklkvxrmlkkkkkkkkkkkkmryzllklkllllkllllklllrolklllllklllllklllllklllkkllllllllllky|lkllklkllllllllklkklklllllllllllllllllllllllllllllllllll|{kkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkklllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllkllllllllllllllllllllllll|{qkkklllllllllllllllkkmu~~mlllllllllllllwklllllllllllllllllllllllkzyollllllllllllllllllllllllqmlllllllllllnvlllllllllllkkkkkkkkkkkkkkkkkkkkkkj{{kkkkkkkkkkkkkkkkkkkkkkkklllllllllllllktvnkkklllllllllllllkkkpzwkllllllllllllllllrolllllllllllllllllllllllllllllllllllky|llllllllllllllllllllllllllllllllllllllllllllllllllllllll|{llllllllllllllklllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllsxlklllllllllllllllllllllko|wlllllllllllll{{kllllllllllllllllllllllllpullllllllllllllllllllllllw|llllllllllllnvklllllllllllllllllllllllllllllllll{{kllllllllllllllllllllllllllllllllllllqzokklllllllllllllllllllkltqllllllllllllllllrolllllllllllllllllllllllllllllllllllky|klllllllllllllllllllllllllllllllllllllllllllllllllllllll|{klllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllll|wlllllllllllllllllllllllllln|nllllllllllllullllllllllllllllllllllllq}k|{klllllllllllllllllllllll|vllllllllllllnvlllllllllllllllllllllllllllllllllk{{klllllllllllllllllllllllllllllllllllm~ulklllllllllllllllllllllllkp~}llllllllllllllllrolllllllllllllllllllllllllllllllllllky|llllllllllllllllllllllllllllllllllllllllllllllllllllllll|{lllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllo{lllllllllllllllllllllllllllln~vlllllllllllloplllllllllllllllllllllllwxkwmllllllllllllllllllllllmpllllllllllllnvllllllllllllllllllllllllllllllllll{{klllllllllllllllllllllllllllllllllllyrllllllllllllllllllllllllllllp~ukllllllllllllllrolllllllllllllllllllllllllllllllllllky|llllllllllllllllllllllllllllllllllllllllllllllllllllllll|{llllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllluollllllllllllllllllllllllllllls}lllllllllllll~ulllllllllllllllllllllll}slqrllllllllllllllllllllllqlllllllllllllnvllllllllllllllllllllllllllllllllll{{kllllllllllllllllllllllllllllllllllrqlllllllllllllllllllllllllllllkqmllllllllllllllrolllllllllllllllllllllllllllllllllllky|llllllllllllllllllllllllllllllllllllllllllllllllllllllll|{lllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllmlllllllllllllllllllllllll{zkllllllllllllllllllllllllllllll|ollllllllllllzzlllllllllllllllllllllmnnlmxllllllllllllllllllllllvzllllmllllllllnvllllllllllllllllllllllllllllllllll{{lllllllllllllllllllllllllllllllllll}rklllllllllllllllllllllllllllllllvvllllllllllllllrolllllllllllllllllllllllllllllllllllky|llllllllllllllllllllllllllllllllllllllllllllllllllllllll|{llllllllllllllllllllllllllllllllllllllllllllllllllllllllmllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllll~slllllmlllllllllllllllllmlllllllstllllllllllllt~lllllllllllllllllllllls}lllz}llllllllllllllllllllll{tlllllllllllllnvllllllllllllllllllllllllllllllllll{{lllllllllllllllllllllllllllllllllltuklllllllllllllllllllllllllllllllll|mlllllllllllllrolllllllllllllllllllllllllllllllllllly|llllllllllllllllllllllllllllllllmllmlllllllllmlllllmllll|{lllmlllllmllllllmllllllllllllllllllllllmllllllllllllllllllmlllllmmlllllllmlllllllmllllmlmllllllllmlmlmlllllllllllmllmlllllllmllllllllllllllllmlmllllllllllllmlmlmlllmlllllllmlllllllllllllmlllllllnolllmmmmllmlllllllmlllllmlllmllll~ylllllllmlllmoolllllllmllmlllmllllllzxllltollmllmmmmlllllllmlllmolllllllllmmllnvlllmllllllllllllmlmlllllllllmlllml{{lllmllllllmllllmlllmllllllllllllmm~|lmlllllllllllllllllllllllllllllllllqsllllllllllmllrollmllllllllllllllllllllllllllllllmlly|llllllllllllllmllllllmlllllllllmlllmllmlllllmlllllmmllll|{lllmllmlmlllllllllmllllllllllmlmlllllllmlllllllllllllmmllllllllmlllllllllllllllllmmmlmllllllllmlllllllllllllllllllllllllllmllmlllmlllllllmmlllllmmllmllmlllllllllllllllmlllllllllllmlllllllllllmllonlllllllllllllllmlllmllllllllllmlz|llllmllmlllll}smllllllllllllllmlllmm~rmlmoullllllllllllllllllllp}lllllllllllmllnvlllllllllllllmlllllllmmlllllllllll{{lllmlllmlllllllmmllllllllllllllllspmlllmlllmlllllllllllllllllllllllllll{{llllllllllllmrpllmlmllllllmlllllllmlllllllllllllllly|lllmlllllllmllmlllllllllllllllllllllmmlmllmlllllllllllll|{lllllllmmmmlllmmllllmllllllmllmllmlllllllmmlmlllmlllllllllllllmlkmpsssromlllllllllmlllllmllmllllklmnprssssrqomllllllmmmmlmllmllllmlllmlllmmlmllmllllmmllllmoqrssssrpnmlllllllmmllmlllmllllllmllmllpnlllllllllllllllllllllllmmllllmlltmllllllmllmllxxlmmlllmllmmlllmmlllmqnlmll}{llllmllllllllllmllllvxllmlllllmmlllmnvllmllmllmmllmllllmllllllllllllllll{{lllllllmllmmmmlllmllmllllllmlllll|yllmlmmmmllmlmlllllllllmmlmlllmlllmlmlqnllllllllmlllrpllllllllllmllmlllmmlmllllllmlllmllmly|lmllllmlmmlmmmlmmllllllmlmlmmmllllmlmmlllmmmmlmllmlllmmm}{lmmmlmllmmmmlmmmmllmmllmmlmmmmllmllllllllmlmlmlllpsssssssolmmmlnv}}xrmlllmmmmlmmmlllmllllnsx{~|ytollllmlmmllmllmlmlmlllllmmlllllmllllllmpty|~{wrnllmllmllmmlmlmlllllllllllopllllmmllmlllllmlmmlllllmlmllmlmmqmmmlllmmmmlllr}lmmllmmlmlmmmllllmmlv{lmmllxmlmllmlllllllmllllll{rmmmmmlmllmmlmlnvmlmmlmlllllllmllllmlllmllllmlllmll{{llmllmllllllllmlmmmllmlmlllmmllmpolmllmlmllmlllmlmllllmmlmlmlmmmmlllllll}}qmmlmmllllmlmrplllllllmmmllmmlmlllmllmllllllllllmlly|llmmllllmllllllmlllmmmllmmllmmlmmmmlmllmllllmmlllmllllml|{llmmlmllllmlmmllmllmlmlmlmmmmmmmmmllmlllmllmlmmllxtmlmlr}|tmmllmmlllllllmllpx~yrlllmllmlmlmlmmmlllllmmmlmmmlmllmlmsz}wollllmlllllmmlmmllmlmlllmullllmlmlmmllmlmlmmllmlmlllllllmlmssrrqppoolmlmlmmlmmlllnnmmlmmmlmlmmmmllmmll|vllllmrrmlmlllllllmmlmllmlmnmmlmlllllllllmnvmllmmllllmlllmlmmmlmlllmmmmlllllll{{lmllmlllllmmmlmlmllmlmmlllmlllmmw{lmmmmmllllmlmmlllllllllmmmllmmmlllllmllv|xspmllmlmllllllmmrpmmllmlmmmllmlmlmlmlllmmllllllllmlmlly}lmllmmmmllllmmmmmmlllmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmlmml|{lmmmmmlmmmmmmmmmmmmmmmmmmmmmmmmmlmmmmmlmmmmmmmmmlxtmmltwlmmmmmmmmllllpyzqlmmmmmmmmmmmlmllmmmmmmmmmmmmlls|wnllmmmmmmmlmmmmmmmmlmml~}mmmmmmmmmmmmmmlmlmmmmmlmmmmmmmmmmlllllllllmmmmmmmmmmmmml|rmlmmmmmmmmmmmmmlmmnpmmmmmnxlmlllmlmmmmmlmlmmmq{lmmmlmmlmmmmmmmnvlmmmmlmmmmmlmmmmmlmmmlmmmmlmmlmlll{{llmmmmmmmmlmmmlmmmmmmmmlmlmlmmmm}smlmmmlmmmmmmmmlmlmmmllmmmmmmmmlmmllllmmozwsomlllllmmlmmmlmlllmrpmlmmmmmmlmlmmlmlmmmmmlllmmllmmmmmmlly|llmmmmlmmmmmmmllllmmlmmmmmmmlmmmmmmmmmmmmmmmmmmmmmmmmmml|{lmmmmmmmmmmmmmmmmmmmmmmmmlmmmmmmmmmmmmmmmmmmmmmmmxtmlrrmmmmmmmmmmmmvwmlmmmmmmmmmmmmlmmmmmmmmmmmloy}slmmmmmmmmmmmmmmmmmmmlzulmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmlmmwwlmmmmmmmmmmmmmmmmms~lmmmmml{}mmmmmmmmmmmmmmmmmmvvmmmmmmmmmmmmmmmnvlmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmml{{lmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmonmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmlmlllmmmmmmmmmmmmmmmmmmrpmmmmmmmmlmmmmmmmmmmmmmmmmmmmmmmmmmmlz|lmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmm|{mmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmlxtmo~mmmmmmmmmmlnz{olmmmmmmmmmmmmmmmmmmmmmmlq}wmmmmmmmmmmmmmmmmmmmmurlmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmlmmr|mmmmmmmmmmmmmmmmmlyylmmmmmmvommmmmmmmmmmmmlmmmzpmmmmmmmmmmmmmmmnvlmmmmmmmmmmmmmmmmmmmlmmmmmlmmmmmmm{{mmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmt{lmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmrpmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmlz|lmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmm}{mmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmxum{wlmmmmmmmmmo}}pmmmmmmmmmmmmmmmmmmmmmltymmmmmmmmmmmmmmmmmmmntmlmlmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmnmmmmmmmmmmmmmmmmmm~smmmmmlmpummmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmnvmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmml{{lmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmyvmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmspmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmlz|mmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmm}{mmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmxtupmmmmmmmmlo}}plmmmmmmmmmmmmmmmmmmltymmmmmmmmmmmmmmmmmmmy{smllmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmm{qmmmmmmmmmmmmmmmmpnmmmmmmmm~{lmmmmmmmmmmmmmmmpzlmmmmmmmmmmmmmmmnvmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmml{{mmmmmmmmmmmmmmmmmmmmmmmmmmmmmmm}pmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmspmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmlz}mmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmm|{mmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmxv|mmmmmmmmmn}{wsqpppqtx}}nmmmmmmmmmmmmmmmmmmr~yurppppruzxlmmmmmmmmmmmmmmmmmp|vpmllmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmvvmmmmmmmmmmmmmmmmv}mmmmmmmmmynmmmmmmmmmmmmmmmutmmmmmmmmmmmmmmmmowmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmm{{mmmmmmmmmmmmmmmmmmmmmmmmmmmmmmnmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmspmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmlz}mmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmm|{mmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmx~}zz{~ummmmmmmmmzyqmllmmlmlllnt}zmmmmmmmmmmmmmmmmmo~~volllmmlmllmpwtmmmmmmmmmmmmmmmmmmx{vqnllllmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmqzmmmmmmmmmmmmmmmm|wmmmmmmmmmtrmmmmmmmmmmmmmmmzommmmmmmmmmmmmmmmowmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmm{{mmmmmmmmmmmmmmmmmmmmmmmmmmmmmmp|mmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmspmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmlz|mmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmm|{mmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmxwqnmmmnrw~nmmmmmmmmu|rmmmmmmmmmmmmmlnwummmmmmmmmmmmmmmm{yolmmmmmmmmmmmmlp{ommmmmmmmmmmmmmmmmn}}yuqnmlllmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmm~mmmmmmmmmmmmmmmnrmmmmmmmmnoxmmmmmmmmnmmmmmm~}mmmmmmmmmmmmmmmmmowmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmm{{mmmmmmmmmmmmmmmmmmmmmmmmmmmmmmsymmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmsomllllllllllllllllmmlllllmlllllmllllly|mmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmm}{lllmlmlllllmlmllmlllmlmmlllmmlmlmmmmnmmmmmmmmmmmmx|qlmmmmmmmmosmmmmmmmmoznmmmmmmmmmmmmmmmmltommmmnmmmmmmmmmuummmmmmmmmmmmmmmmmny{mmmmmmmmmmmmmmmmmmp~}zvromllmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmzpmmmmmmmmmmmmmmsnmmmmmmmmmm}}mmmmmmmmmmmmmmpxmmmmmmmmmmmmmmmmmowmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmm{{mmmmmmmmmmmmmmmmmmmmmmmmmmmmmmuwmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmsvsssttssssstsssssssssssssssssssssssss||mmmmmmmmmmmmmmmmmmmmmmmmmmmmnmmmmmmmmmmmmmmmmmmmmmmmmmmm|}stssstsssttstssssstssssstsssttsttommmmmmmmmmmmmmmy}ommmmmmmmmnmmmmmmmmmmzzmmmmmmnmmmmmmmmmmmmmsymmmmmmmmmmmmmn~ummmmmmmmmmmmmmmmmmmmyrmmmmmmmmmmmmmmmmmmp}~zwrommmmmmmmmmmmmmmmmnmmmmmmmmmmmmmmmmutmmmmmmmmmmmmmmy{mmmnmmmmmmmwommmmmmmnmmmmmusmnnmmmnmmmmmmmmmmovmmmmnmmmmmmmmmmmnmmmmmmmmmmmmmnmmm{{mmmmmmnnmmmmmmmmmmmmmmmmmmmmmmxtmmmmnmmmnmmmmmmmmmmmmmmmmmmmmmmmmmnmmmmmmmmmmmnmmmmmmmmmmmmmmmmns}mmmmnmmmmmmmmmmmmmmnnmmnnnnmmmmnmnmmmmnmmmmmmnnmmmnmmmmm|snmmmmmmnnnmmmmmxpmnnmmmmmmmmmmmmmnmnnp}nmmmmmmnmmmmmmmmnmmmmmvonmmnmmmmmmmmvwmmmmmmmmmmmmnmnmnmnnmn||mmnmmmmnmmmmmmmmmmmp|~zvqnlmmnnmmnmmmmmmmnmmmmmmmmmnnmmnpymmmmmmmnmmmmnm~ummmmmmmmmnmrummmnmmmmmmmmmznmmnnmmmmmmmmmmmmmovmnmmmnmmmmmmmmmmnmmmmmmmmnnmmnmmmm{{mmmmmmmnmmmmmmmmmmmnmmnmmmmmmmyrnnmmmmmmmmnmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmnmmmmmmmmmmmmmmmmmns|mmmmnmmmmmmmmmmmmmmmmnnmmmnmmmmnmnmnmnmmmnnmmnnmmmmmmnnm|snmnmnnnnmnmnmmmxwmmnnmmmmnmmnmmmmmmmmmypmmnnmmnmnnmmnmmnmnnmmnm|xmmnmmnmnnmmn~|mnmmmmnnmmmmmmmmnmmmmmmpqnnmmmnmmmmmmmmnmmnmnx|wqnmmmmmmmmmmmmmmmmmmmmmmnmmmmm~}mmmmmmnmmnmmmppnmmmmmmmmmnnzmmmmmmmmmmmmm~{mmmnnmmmmmmnmmmmmnowmmnnmmmmmmmmmmmmmmmmmmmmmmmmmmmmmm{{mmmmmmmmmmmmmnmmmmmmmmmmmmmmmmzqmnmmmmmmmmmmmmmmmmmmmmmnmmmmnmmmmmmmmmmnnmmnmnnmmmmmmmmmmmmmmmmns|mmmmmmmmnmmnmmmmmmmmmnnnmnnnnmmnmnnnnnnnnnnnnnnnnnnnnnnm|snnnnnnmnnnnnnnmxonmnnnnnnnnmnnnnnnnnnnxmnnnnnnnnnnmnnnnnnnnnnnmr~nnnnnnnnnnntqmnnnnnnnnnnnnnnnnnnmnnnmyymnnnnnnnnnmnnnnnnnnmmr{|uommmnmnnnnmnnnnnnnnnnnnnnnmyonnnnnnnmnnmmv}mnnmnnnnnnnnm{nnnnnnnnnnnnpvnmnnnmnnnnnnnnmnnnowmnnnmnnnnnnmnnnnnnnnnnnmnmnnnnnnnm{{mnnnnnnnnnmmmnnnmnnnnnnnnnnnnm{pnnnnnmnmnnnnnnnnnnnnnnnnmmnnnnnnmnnnnnnnnnmnnnnnnmnnnmnnnmnnnnmns|mnnnnnnnnmnnmnnnmnnnnnnnnnmnnnnnnnnnnnnnnnnnnnnnnnnnnnmm|snnnnnnnnnnnnmnmx{mnnnnnnnnnnnnnnnmnnnntonnnnnnnnnnnnnnnnnnnnnnnnm}rmnnnnnnnnm{{mnmnnnnnmnnnnnnmnnnnnnnnnp~nnnnnnnnnnmnnnnnnnnnnmnt{}vomnnmnnnnnnnnmnnmnmnnnnnmtsnnnnnnnnnnnm{ymnnnnnnnnnnnmvrnnnnnmnnnnnuqnmmnnnnnnnnnmnmnnnowmnnnnnnnnnnnnnnmnnnnnnnnnnnnnnnnnm{{mnmnnnnnnnnnnnnnnnnnnnnmnnnnnm{qnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnmnnnnnnnnnnnmnnnnnnnmnnnnmns|mnnnnmnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnm}snnnnnnnnnnnnnnmyunnnnnnnnnnnnnnnnnnnnmzzmnnnnnnnnnnnnnnnnnnnnnnnnmwxmnnnnnnnnosnnnnnnnnnnnnnnnnnnnnnnnnnm}qnnnnnnnnnnnnnnnnnnnnnnmnrx}}tmnnnnnnnnnnnnnnnnnnnnnnoxmnnnnnnnnnnnsnnnnnnnnnnnnnpxmnnnnnnnnnmz~nnnnnnnnnnmnnnnnnnnownnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnm{{mnnnnnnnnnnnnnnnnnnnnnnnnnnnnm{pnnnnnnnmnnnnnnnnnnnnnnnnnnnnnnnnnnnnnmnnnnnnnnnnnnnnnnnnnmnnnnnns|nnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnn|snnnnnnnnnnnnnnmyqnnnnnnnnnnnnnnnnnnnnnsnnnnnnnnnnnnnnnnnnnnnnnnnnq}mnnnnnnnnsnnnnnnnnnnnnnnnnnnnnnnnnnnmxwnnnnnnnnnnnnnnnnnnnnnnnnmmosx}yomnnnnnnnnnnnnnnnnnnnnn}|mnnnnnnnnnnsonnnnnnnnnnnnnn~}mnnnnnnnnnn~zmnnnnnnnnnnnnnnnnnnownnmnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnm{{mnnnnnnnnnnnnnnnnnnnnnnnnnnmnm{qnnnnnnnmnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnmnnnnnnnnnnnnnns|nnnnnnnnnnnnnnnnnnnmnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnn}snnnnnnnnnnnnnnmynnnnnnnnnnnnnnnnnnnnnqonnnnnnnnnnnnnnnnnnnnnnnnnnnomnnnnnnnw{mnnnnnnnnnnnnnnnnnnnnnnnnnns{mnnnnnnnnnnnnnnnnnnnnnnnnnnmmnqvz~|pmnnnnnnnnnnnnnnnnnnnnxonnnnnnnnnnx|nnnnnnnnnnnnnnmypnnnnnnnnnptmnnnnnnnnnnnnnnnnnnownnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnn{{mnnnnnnnnnnnnnnnnnnnnnnnnnnnnmzqnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnns}nnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnn}snnnnnnnnnnnnnnny|nnnnnnnnnnnnnnnnnnnnnu~nnnnnnnnnnnnnnnnnnnnnnnnnnnn|rnnnnnnnn{xmnnnnnnnnnnnnnnnnnnnnnnnnnnp~nnnnnnnnnnnnnnnnnnnnnnnnnnnnnnmmmorwz~}pnnnnnnnnnnnnnnnnnnnnsrnnnnnnnnnm}wnnnnnnnnnnnnnnnstnnnnnnnnntpnnnnnnnnnnnnnnnnnnnownnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnn{{nnnnnnnnnnnnnnnnnnnnnnnnnnnnnmzrnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnsspppppqppppqpqqqpppqpppqppppqqpppppqp{}nnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnn}|ooooooooooooooooooooooooooooooooonnnnnnnnnnnnnnnnyznnnnnnnnnnnnnnnnnnnnny{mmmmmmmmmmmmmmmmmmmmmmmmmmmmyunnnnnnnn~tmmmmmmmmmmmmmmmmmmmmmmmmmmmnonnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnmmmnorvz~~onnnnnnnnnnnnnnnnnnnownnnnnnnnnpqnnnnnnnnnnnnnnnozmnnnnmnnny}nnnnnnnnnnnnnnnnnnnnpwnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnn{{nnnnnnnnnnnnnnnnnnnnnnnnnnnnnnxsnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnspmmnmmmmmmmnmmmnmmnnmnmnnmnmmmmmmnnnmz}nnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnn}{mnnnnnnnnmnnmnnmnnmnnnnnnmnnnmnnmnnnnnnnnnnnnnnnnyxnnnnnnnnnnnnnnnnnnnnn{|sttttttttttttttttttttttttttt{xnnnnnnnowttttttttttttttttttttttttttttqnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnmmmmosw{|nnnnnnnnnnnnnnnnnnnn|{nnnnnnnnnunnnnnnnnnnnnnnnnn|~nnnnnnnnn}xnnnnnnnnnnnnnnnnnnnnpwnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnn{{nnnnnnnnnnnnnnnnnnnnnnnnnnnnnnvtnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnsqnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnz}nnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnn}{nnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnyvnnnnnnnnnnnnnnnnnnnnn}znnnnnnnpsnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnmnmnpuzwnnnnnnnnnnnnnnnnnnnwnnnnnnnnn{znnnnnnnnnnnnnnnnnwqonnnnnnpsnnnnnnnnnnnnnnnnnnnnpwnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnn{{nnnnnnnnnnnnnnnnnnnnnnnnnnnnnntwnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnsqnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnz}nnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnn}{nnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnytnnnnnnnnnnnnnnnnnnnnn~{nnnnnnnrunnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnmnpv}pnnnnnnnnnnnnnnnnnnrqnnnnnnnounnnnnnnnnnnnnnnnnrvnnnnnnntonnnnnnnnnnnnnnnnnnnnpwnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnn{{nnnnnnnnnnnnnnnnnnnnnnnnnnnnnnrynnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnsqnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnz}nnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnn}{nnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnysnnnnnnnnnnnnnnnnnnnnn|nnnnnnnsvnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnou~xnnnnnnnnnnnnnnnnnnounnnnnnnrpnnnnnnnnnnnnnnnnnoznnnnnnny{nnnnnnnnnnnnnnnnnnnnnpwnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnn{{nnnnnnnnnnnnnnnnnnnnnnnnnnnnnno|nnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnsqnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnz}nnnnnnnnnnnnnnnnnnnnnnnnnnnnonnnnnnnnnnnnnnnnnnnnnnnnnnn}{nnnnnnnonnnonnnnnnonnnnnnnonnnnonnnnnnonnnnonnnnnysnnnnnnonnnnnnnnnnnnno}nnnnnnotwnonnnoonnnnnnnnnnnnnnonnnnnnonnnnnnnnnnnnonnnnonnnmp{onnnnnnnnnnnnnnnnnn{znnnnnonx}nnnonnnnnnnnoonnnnn{nnnnnnn}vnnnnnnnnnnonnnnnnnnnnpwnnnonnnnnnnnnnnnnnnnnnnnnnnnnnnnnn{{nnnnnnnnnnonnnnnonnnnnnnnnnnnnn~nnnnnnnnnnnnnnnnnnnnonnnnnnnnnnnonnnnnnnnnnnnnnnnonnnnnnnnnnnonnsqnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnz}nnnnnnnnnnnnnnnnnnnnnnnnnnonnnnnnnnnnonnnonnnnnonnnnnnnn}{nnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnonnnnnnnnnnysoononnnonnnonnnnnnnnp}nnononnuwnnonnnnnnnnonnnnnnnnonnnnnnnnnnnonnnnnnnnnnonnnnnnnnoztonnnnnnnnnnnnnonnnv~nnnnnnn}xnnnonononnnnnnnnoonuqnnonnpqnnnnnnononnnnnnonnnnnpwnnnnnnnnnnnonnnnnnnnnnnnnnnnnnnnnn{{nnnnnnnnnnnnnnnnnnnnnnnnnnnnnnn{qnnnonnnnnnnnnnnnnonnnnnnnnnnnnnnnnnnnnnnonnmnnnnnnnnnnnnnnnnnnotqnnnnnnnnnnnnonnnonnnnnnnnnnnnnnnnnnnz}nnnnnnnnnnnonnnnnnnnnnnonnnnnnnnnnnonnnonnnnnnnnnnnonnnn}{nononnnnnnnnnnnnnnnnnnnonnonnnnnonnnnnnnnnnnnnonnysnnnnnnnonnnnnnnnnnnnp}nnnnnnnuwnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnonnnnnnnnnnnnnnnnnnnnn|ynnnnnnnnnnnonnnnnoqponnnnpsnnnnnnnonnnnnnnnnnnqunnnnot~nnnnnnnnonnnnnnnnnnnnnpwnnnnnnonnnnnnnnnnnnnnnnnnnnnnnnnnn{{nnnnnonnnnnnnnnnnnnnnnnnnnnnnnnwunnnnnnnnnnnnnnnnnonnonnnnnnnnnnnnnnnnonnooyvronnnnnnnnnnnnonnnotqnnnonnnnnnnnonnnnnnnnnnnnnnnnnnnnnnnz}nonnnnnnnnnononnnnnnnnoonnnnononnnnnnnnnonoonnonnonoonno}{nnnonnnnnnnnnoonnnnnnnnnnnnnnnnnonnnoonnnnnnnnnnnytnnooooonnnnnnnnonnnno~|nnnonnotvnnnnnoonnooopqrstoonnnoonnonnnnooonnnnnnnonnonoonnnnnnq}nnnonnnnnnonnnnnnnn~tonnnnuoononnnoononnnnonnnnn}znnnnnyznnoononnoonooononnonnnpwnnnooonnonnonnnononnnnonnonnnnnnon{{nnnnnnnnnonnnnnnnnnnnonnonoonnorznnnnnonnnonnonnnnnnnoonnnoooooooonnnnnnnor~zvrpnnnnnonnnnnootqnnnnononnoonnnooononnnonnnnnonnonoonz}nooonnnnnoonnnonnnonnnononnnoonnnoononnoonnoonooonnonnnn}{nonoonoonnoonnonooooonooonnnnonooooooooonnonnooonytonnononnonnoonnnnnnoorpppppppppopppppppppppppppppopppppppppponoonoot}ppppppppppppppppppppppppppppppppppppppooonoooooy{}~sonnnonnonnonnnoonnnnnonoonoonoooooonn{onnonnnooononoonnonzynnoonz{nooonoonnnooooonnnonny~noonn}toonoonnnnooonnnnoonnnopwnnonnoonooononoononnnonnnnonnonnon|{nonnonoonnnnonnonnnonnonoonnnnoooooononnnnonnnnnononnononoonnnonnnonononnw~ztnnnnnnonnnotqnnonoonnnoonnononnnonnonnnnnnnnonnnnz}nnnnoonnononoonnnnonnnnonoononnonoonnnnoooononooonnonoon}|ononoooooononoonnnooonoononnonooononoononooononnnytonoonnnnooonnonnnnnoo~rnonnnnnnnnnnnonnnnonnnonnnnnnnnnnnnnnonooonoos~nnnnnnnnnnnnnnnnnnnonnnnnnnnnnnnnnnonnnooonoonn}vnnonnonnnonnnnnnonooonnooooooonoooonnupoonononnoonnnnonnou|noonn~vnnnnnonoonoonnnnnnonotpooooponnnnnnnnnoonnnnnnonnopwnnoonooooonnonnnnononnooonnnonooon||nnnnoonoonoonnonnnonnonnononoonn{soonnnoonnnnnnnnononnnnonnnnnnnnnnnonnnnn}vononnonnnootqonoooonnoooonnooonnnnnonononoonnonnnz}nnnnoonoonnnnnnnooononoononoononoooononoooooonooooooonnn}|ooooooonoonoonnooooooooooooooooooonooooooooooooonytoooooooooonoooononoon}uooooooooooonoonnooooooonnooooonnonoonnonononoqoooonooooonoooonnnonooooooonoonooonooooooooonon|znooooooonnoononooooooooonnoooooooooooqqoooooooooooonooonoqooooqqooononoooooooooooonnoptooos}noooooooonoooooooooonoopwnoooononoonooonononnonoooonoonoooo||nononooonoonooooononoononooooonouznoooonooooonnonnoooonooooonooooonooooooqqooooooonoootqooooonnooooooooooonooooooonnooonoonnz}nooooonnooooonoooooonooonooooooooooooooooooooooooooooooo}{nooooooooooooooooooooooooooooooooooooooooooooooooytooooooooooooooooooono{xoooooooooooooooooooooooooooooooooooooooooooooprooooooooooooooooooooooooooooooooooooooooooooonz~noooooooooooooooooooonoooooooooooooooorooooooooooooooonooo~sooov~oooooooooonooooooooooon|xnooxxnnoooonooooooooooonoooopwnonoooooooooooooooooooooooooooonoo|{onoooooooooooononoooooonooooooooppoooooooooooooonoooooooooooooooooonooonx}ooonooooooootqonoononoooooooooonoooooooooonoonooonz}oooonoonoooooooooooooooooooooooooooooooooooooooooooooooo}|nooooooooooooooooooooooooooooooooooooooooooooooonytooooooooooooonoooooooy{oooooooooooooooooooooooooooooooooooooooooooooo~uoooooooooooooooooooooooooooooooooooooooooooooovroooooooooooooooooooooooooooooooooooopqoooooooooooooooooonywnoozynoooooooooooooooooooooow{oon|sooooooooooooooooooooooopwoooooooooooooooooooooooooooooooooo{{oooooooooooooooooooooooooooooooon{woooooooooooooooooooooooooooooooooooooowooooooooooootqooooooooooooooooooooooooooooooooooonz}oooooooooooooooooooooooooooooooooooooooooooooooooooooooo}{nooooooooooooooooooooooooooooooooooooooooooooooooytooooooooooooooooooooouoooooooooooooooooooooooooooonnoooooooooooooooo{znooooooooooooooooooooooooooonnoooooooooooooooosxnoooooooooooooooooooooooooooooooooooqpoooooooooooooooooootznoo~tooooooooooooooooooooooor~ooooooooooooooooooooooooooopwoooooooooooooooooooooooooooooooooo||ooooooooooooooooooooooooooooooooospooooooooooooooooooooooooooooooooooonwqooooooooooootqooooooooooooooooooooooooooooooooooonz}oooooooooooooooooooooooooooooooooooooooooooooooooooooooo}{oooooooooooooooooooooooooooooooooooooooooooooooooytooooooooooooooooooooorsooooooooooooooooooooooooooossqponnnnooooooooox~ooooooooooooooooooooooooooootrqoonnnnoooooooooooooooooooooooooooooooooooooooooooooot~oooooooooooooooooooop~ooqpoooooooooooooooooooooooopor{ooooooooooooooooooooooooqwooooooooooooooooooooooooooooooooon{{oooooooooooooooooooooooooooooooooo~ynoooooooooooooooooooooooooooooooooop|oooooooooooootrooooooooooooooooooooooooooooooooooooz}oooooooooooooooooooooooooooooooooooooooooooooooooooooooo}|oooooooooooooooooooooooooooooooooooooooooooooooooytooooooooooooooooooooooyooooooooooooooooooooooooooo~{ywuspoooooooossoooooooooooooooooooooooooot}{yvtrpooooooooo{woooooooooooooooooooooooooooooooooonz{ooooooooooooooooooooo}pou|ooooooooooooooooooooooooo{tovvooooooooooooooooooooooooqwoooooooooooooooooooooooooooooooooo{{oooooooooooooooooooooooooooooooooovsooooooooooooooooooooooooooooooooooytoooooooooooootrooooooooooooooooooooooooooooooooooonz}oooooooooooooooooooooooooooooooooooooooooooooooooooooooo}|oooooooooooooooooooooooooooooooooooooooooooooooooytoooooooooooooooooooooozpooooooooooooooooooooooooouuoooooooop{nooooooooooooooooooooooooo{pooooooooouqooooooooooooooooooooooooooooooooopwoooooooooooooooooooooytozwooooooooooooooooooooooooouwozqooooooooooooooooooooooooqwoooooooooooooooooooooooooooooooooo|{ooooooooooooooooooooooooooooooooooo~poooooooooooooooooooooooooooooooou}ooooooooooooootrooooooooooooooooooooooooooooooooooooz}oooooooooooooooooooooooooooooooooooooooooooooooooooooooo}{oooooooooooooooooooooooooooooooooooooooooooooooooytooooooooooooooooooooootxooooooooooooooooooooooooo}qooooooooozroooooooooooooooooooooooor|oooooooooop|pooooooooooooooooooooooooooooooooyrooooooooooooooooooooptwo~soooooooooooooooooooooooooqzo~~oooooooooooooooooooooooooqwoooooopooooooooooooooooooooooooooo|{ooooooooooooooooooooooooooooooooooov|poooooooooooooooooooooooooooooortooooooooooooootrooooooooooooooooooooooooooooooooooooz}ooooooooooooooooooooooooooooooooooooooooooooopooooopoooo}{ooopoooooooooopoooooooooooooooooooopoooooopooooooytppopooooooooooooooooopprooooooooooooooooooooooov|oooooooooot|oooooooooooooooooooooooo{vooooooooooox{pooooopoooooooooooooooooooooooot|oooooooooooooooooooooopzqpoooooooooooooooooooooooooo}}qzoooooooooooooooooooooooooqxoooooooooooooooooooooooooooooooooo{{oooooooooooooooooooooooooooooooooooo}{poooooooooooooooooooooooooooor~|oooooooooooooootrooooooooooooooooooooooooooooooooooooz}ooopoooooooooooooooooooooooopooooooopooooooooooooopooooo}{ooopoooopooooopooooooooopoooopopoooooooooooopooooytpooooooooooooooooopoooox|oooopoooooppoopoooppooquooooooooooo~woooooooooopooopopoooooupooooooooooop{qoopoooopoooooooopoooooppoooosuoppopoooooooooopoooopoo|~u{oopoopoopoooooppoooooopoopoyuuooooooopopooooooopoooooooqxooppoppooooooopoppoooopooopooooooo{|opoooopopoopoooopoooopoooooooooppopos}rooooopoooooopooooopooooooos~roooooopopoooooptrooooppoooopoooooooooooooooooooooooooz}ooooooooooopopoooooooooopoopppoppooopppooopooooppoppoppo}|ooopoppoooooppoppppopppoopppopooopopoooppppooppooytpoopppoppopoopoopopopopqyooppopooppoooooopopoo{~pppoopooopoovuopoppoooopopooooooooryoppopoooooopow~upooooopooooopooppooopppooov}poppopopoopoopoopooooopow{uoopoopoopooopoooooooppooooot{qpoopooooooooopoopoopoooooqxooopppoooooooooopooooopopoopopopoo{|oooopooppooopoopoooopooopooopooopoppoyvpoopooooooppoopopoopoooovxoooopopopoopopoptrooooopooooooooooopopoooooooooopooopoz}ooooopooooooopppopoooopopppoppopooppopppoppppoopoopppopp}|opoppopoopoppppppppoooopppoopopooopopooopppppoppoytppopppopoopoppoopopoooooxypopopoooooopoopopooyvopooopoopoppp}uooppppoopoppoooopoq}qoppppooppppopp}{tpooppopoppppoopoppoooorztoppooooopppppooopoopooposqpoppooopoopooooooooopppppopp|oooopopoooopppopopoopoooppqxopooopopoooppopoopoppoooopopoooooo||opoopoopooooopoooppppooopopooooppooppp}|tpooopooooopopoopopoos{|ppopooopooopppooptrpoopoooooopooopopoopopooooooooooopooz}oppopopooppoopppppooooppppppppppppppoppppppppppppppppppp}|opppppppppppppppppppppoppppoppppppppppppppppppppoztppppppppppppppppppppppppp~{rooppppppppppppoqz}pppoppppppppposxpopppopppppopooos}xpoppppopppppopor|vqoooopoopopopooooptzyoppppppppppppppppppppppppp}opopppppppppppppppppopppppppo|xoppppppppppppppppppoppppppqxoppppppppppppppppppppppppppppppppo|{opppppppppppppppppppppppppppppppppppoor|uqooopppppopooooptz~qopppopppppopppppptrpopppppoppppopppppppoppppppppppopppoz}oppppppppppppppppppppppppppppppppppppppppppppppppppppppp}|opppppppppppppppppppppppppppppppopppppppppppppppoytpppppppppppppppppppppppppt~wqoooppppopoopu}sopppppppppppppoy|upooopppppoooqx}pppppppppppppppppu{wtrppppooppqsuy}}ppppppppppppppppppppppppppp{yoppppppppppppppppppppppppooppwsppppppppppppppppppppppppppqxpppppppppppppppppppppppppppppppppo||oppppppppppppppppppppppppppppppppppppppt~zvsqppopppqrtx}sopppppppppppppppppurppppppppppppoppppppppppppppppppppppoz}pppppppppppppppppppppppppppppppppppppppppppppppppppppppp}{opppppppppppppppppppppppppppppppppppppppppppppppoztpppppppppppppppppppppppppow~ytrpppopqsw|wppppppppppppppppp||wsqpooppqty~spppppppppppppppppow~|{{{{|}~rpppppppppppppppppppppppppppvtppppppppppppppppppppppppppppprpppppppppppppppppppppppppppqxpppppppppppppppppppppppppppppppppo||oppppppppppppppppppppppppppppppppppppppot~}{{{{|~topppppppppppppppppptrpppppppppppppppppppppppppppppppppppoz}pppppppppppppppppppppppppppppppppppppppppppppppppppppppp}|pppppppppppppppppppppppppppppppppppppppppppppppppztpppppppppppppppppppppppppppy}{{{|~zppppppppppppppppppq}~|{{{}uoppppppppppppppppppow~rpppppppppppppppppppppppppppprqpppppppppppppppppppppppppppppp~{pppppppppppppppppppppppppppqxpppppppppppppppppppppppppppppppppp||ppppppppppppppppppppppppppppppppppppppppot~toppppppppppppppppppptrpppppppppppppppppppppppppppppppppppoz}pppppppppppppppppppppppppppppppppppppppppppppppppppppppp}|pppppppppppppppppppppppppppppppppppppppppppppppppzuppppppppppppppppppppppppppppyzppppppppppppppppppppr}voppppppppppppppppppppou~}roppppppppppppppppppppppppppppp~{pppppppppppppppppppppppppppppppzvpppppppppppppppppppppppppppqxpppppppppppppppppppppppppppppppppp||pppppppppppppppppppppppppppppppppppppppppos}}rppppppppppppppppppppptrpppppppppppppppppppppppppppppppppppoz}pppppppppppppppppppppppppppppppppppppppppppppppppppppppp}|pppppppppppppppppppppppppppppppppppppppppppppppppzupppppppppppppppppppppppppppppxyppppppppppppppppppppppq{uoppppppppppppppppppppppor|zqpppppppppppppppppppppppppppppppzwpppppppppppppppppppppppppppppppurpppppppppppppppppppppppppppqxpppppppppppppppppppppppppppppppppp||ppppppppppppppppppppppppppppppppppppppppppoqyyqpppppppppppppppppppppptspppppppppppppppppppppppppppppppppppoz}pppppppppppppppppppppppppppppppppppppppppppppppppppppppp}|pppppppppppppppppppppppppppppppppppppppppppppppppzuppppppppppppppppppppppppppppppu~vpppppppppppppppppppppppppx}spppppppppppppppppppppppppopw~}upppppppppppppppppppppppppppppppppvspppppppppppppppppppppppppppppppr~ppppppppppppppppppppppppppppqxpppppppppppppppppppppppppppppppppp||pppppppppppppppppppppppppppppppppppppppppppppt}}uppppppppppppppppppppppppusppppppppppppppppppppppppppppppppppppz}pppppppppppppppppppppppppppppppppppppppppppppppppppppppp}|pppppppppppppppppppppppppppppppppppppppppppppppppzuppppppppppppppppppppppppppppppoqy{sopppppppppppppppppppppppppps{xqpppppppppppppppppppppppppppporw}}wqopppppppppppppppppppppppppppppppppr~ppppppppppppppppppppppppppppppppp}zppppppppppppppppppppppppppppqxpppppppppppppppppppppppppppppppppp||ppppppppppppppppppppppppppppppppppppppppppppppqv|}wqoppppppppppppppppppppppppurppppppppppppppppppppppppppppppppppppz}pppppppppppppppppppppppppppppppppppppppppppppppppppppppp~|ppppppppppppppppppqppppppppppppppppppppppppppppppzupppppppppppppppppppppppppppppppppsy~{upppppppppppppppppppppppppppppppu{~yspppppppppppppppppppppppppppppppppqv{{vqopppppppppppppppppppppppppppppppppppp~zpppppppppppppppppppppppppppppppppyuppppppppppppppppppppppppppppqxpppppppppppppppppppppppppppppppppp||ppppppppppppppppppppppppppppppppppppppppppppppppquz~|vqoppppppppppppppppppppppppppuspppppppppppppppppppppppppppppppppppp{~pppppppppppppppppppppppppppppppppppppqppppppqppppqppppppyzzzzzzzzxppppppppppppppqppppppppppppppppppppppppppppppppppwzzzzzzzzsqppppppqppppppqpppppppppppppppppppprvz~{xsppppppppqppppqpppppqpppppppppppppppsw{~~zvrppppppppppppppppppppppppppppppppppppppruy|~}zwspppppppppqpppppppppppppqppppppppppppppppwzzzzzzzzztqppppppppppppppqppppppppqppppppppszzzzzzzzzqppppppppppppppppppppppppppppqzzzzzzzzzvppppppppppppppppppppqpppppppppppppxzzzzzzzzxpppppppppppppppppppppppppppqppppppppppppppppppqppppruy|~~{wspppppppppppqppppppppppppppppppszzzzzzzzzrppppppppppppppppppppppppppppppppppppwzzzzzzzzyppppppppppppppppppppppqqqqpqqppqpppqpqqpqpppqqpqqqqqpppqppppppppppqpqpqppqqppqpqqpqppqqqpppppppqpqqpqqqppqqqpqqqpqpppppppppppqqpqqpppqpqqppqpqqpppqpqqqpppppqppppppqsuxyzzzzzzxvtrpppqppqqpppqpqppqqpqpqpppppqqpqpqpppqppppqtvxzzzzzzyxvtqpppqpqppqppppqqqqpppppppqpqpppqpppqppppqqppppqsuwxzzzzzzzzywusqpppqpppppppqppppppppqpppppqppppppqpqppppqpppppppppppppqpppppqqqqpppqppqppppqpqqpqpqpqpqppppppppppppqpppqpppppppppppppppqppqqppppppppppppppppppqppppppppqppppqpqpqqppppppppqppppppppppqqqpqpppqpqqppppqpqqpppppqqqppqqpqppqpppqpppppqppqpppppqtuwyzzzzzzzywusqppppqpppqpppppqpppqpqppqpppqppppppppppppppppppppqpppppppppppppppppppqpqpppqqqppqppppppppppppppqppqqppppppqppppppqqqqqqqqqqqqqqqpqqqqqqqqqqqqqqqpqqpppqpqpqqqqpqpqqqqqqqqqqqqqqpqqqqqpqqqqqqqqqqqqpqqqqqqqqqqqqqpqqqqpqqqqqqqqqqqqqqppqqqqppqqqpqqqpqpqqqqqqqqpppppppppppppppqqqqpqqqqqqqqqqqqqqqpqqpqqqqqqqqqqqqqqqqppppppppppppppppqqqqqqqqqqpqqqqqqqpqpqpqqpqqpqqqqqqqqpqppqqqpppppppppppppppppppqqqqpqqqqqqqpqqqpqqqppqpqqqqqqqqqqqqqqqqqqqqpqqqqqqqqqqpqqqpqqqqpqqqqqqqqppqqpqqpqqpqqqpqqpqpqppqqqqqqqqqqqqqpqqqqpppqqqqqqqqpqqqqppqqqqqqqqqqqpqqqqqpqqqpqqqqqqqqqqqqqqqpqqqqppqpqqqqqpqqqppppqqqqqpqqqqqqqqqqqqqqqppqqpqqqqqpqpqqqqqqppqpppppppppppppppoppppqqpqqqqqqqqqpqpqqpqqqqqqqqpqqppqqpqqppppppqpqppqqqqqppqpqqqqpppqqqqqpqqpqqqqqqqqqpqqqqpqpqqqqqqqqqppqqpqqqqpppqqqpqqqqqqqqqqqqqqqqqqqqqqqqqqqqpqpqqqqqqqqqqqpqqqqqqqqqpqqqqqqqqqqqqqqqpqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqpqqqqpqqqqqqqqqqqqqpqqqqqqqqqqqqqqqqqqqqqqppqqpqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqpqqqqqqqqpqqqqqqqqqqqqqqqqqqpqqqqqqqqpqqqqqqqqqqqqqqqqqpqqqqqqpqqqqqqppqqqqpqqqpqqqqqppqqqqqqqqqqqqqqqqqpqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqpqqqqpqqqqqqqqpqqqqqqqqqpqqqqqqpqqqqpqqpqqqqqqqqqqpqqqqpqqqqqqqqqqqqqqqpqpqqqqqqpqqqpqqqqqqqqqpqqqqqqqqqqqqqqqqqqqqpqqqqqqqpqqqqqqqqqqqqqpqqqqqqqqqqqqqqqqpqqpqqqqqqqpqqqqqpqpqqpqqqqqqqppqqqqpqpqqqqqqqqqqqqqqpqqqqpqqqqqqqqqqqqqqqpqqqqqqqqqqqqqqqpqqqpqpqpqqpqqqqqqqqqppqqqpqqqqqqqqqqqqqqqqqqqqpqqqqqqqqpqpqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqpqqqqqqqqqqqqqpqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqpqqqqpqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqpqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqpqqqqqqqqqqqqqqqpqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqpqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqpqqqqqqqqqqpqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqpqqqqpqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqpqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqrqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqrqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqrqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqrqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqrqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqrqqqqqqqrqqqqqrqqqqqqqqqqqrqqqqqrqqqqqqrqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqrqqqqqqqqqqqqqrqqqqqqqqqqqqqqqqqqrqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqrqqqqqqqqqqqqqqqqqqqqqqqqqqqqrqqqqqqqqqqqqqqqqqrqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqrqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqrqqqqqqqqqqqqqqqqqqqqqqrqqqqqqqqqqqqqqqqqqqqrqqqqqqqqqqqqqqqqqqqqqqqqqqqqrqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqrqqqqqqqqqqqqqqrqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqrqqqqqqqqqqqqqqqqqqqqqqqqqqqqrqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqrqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqrqqqqqrqqqqrqqqqqqqqqqqqqqqqqqqqqqqqrqqqqqqqqqqqqqqqqqqqqqqrqrqqqqqqqrqqqqqqrqqqqrqqqqqqrqqqqqqqrqqrqqqqqqqqqqqqqqqqqqqqqqqqqqqqqrqqrqqqqqqqqqqqqqqrqqqrqrqrqqqqqqqrrqqqqqqqqqqqqqqqqqqrqqqqqqrqqqqqqqqqqqqqqqqqqqqqqqqqqqqrqqqqqqqrqqqqqqqqqrqqqqqqqqqqqqqqqqqqqqrqqqqqqqqqqqqrqqqqqqqqqrqqqqqqqqqqqqqrrqqqqqqrqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqrqqqqqqqqqqqqqrqqrqqqqrqqqqqqqqrqqqqrqqqqqqqqqqqqqqqqqqqrqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqrqrqqrqqqqqqqqqqqqqqqqqqqqqrqqqqrqqqqqqqqqqqqqqqqqrqqqqqqqqqqqqqqqqqrqqqqrqqqqqqrqqrqqqqqrqqqqqqqqqqqqqqqqqqrqqqqqrqqqqqqqqqqrqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqrrrqqqqqqqqqrqqrqrqrqqqqqqqqqrqrqrqrqqqqqrrqqqqrrrqqqqqqqqqqqqqqqqqrqrrqrqqrqqrqqqrqqqrrqqrqqqqrqrqqqqrrrrqqrqqqqqqrqqqqqqqqqqqqqrqrqrqqqqqqqrqqqqrrqqrqqrqqrqrrrqrqrqqrqrqrrqrqrqqqrrrrqqrqqrqrqrqrrqqrqrrqqqqrrqrqrrrqqqqqqqqqrrrqqqrqqrrqrqqqrqrqqqqqqqqqrrqrqqrqrqrrqqqqrqqrqrrqqrrrqrrqrqqqrqqqqrrrrqqqqqrqqrqqqrqqqqrqqrqqqqqqrqrqqqrqrqrrqqrrrrrqqrrqqqrrqrrqrqrqqqqrqqrqqrrrrqrqqqqqrqqqrqrqqqqrrqqrqqqrqqqrqqqqqrrrrqrrqrqqqrqqrqqqrqqrrqrqqqrrrqrqrqrqqqqqqqqrrrqrrqqrqqqqqrqqrrrqqqrrqqrqqrrqqqqqqrqqqrqqqqqqqrqqqqqqqqqqqrrqqrrqrrqqqrqrrqqrrqqqqqqrrqqqqrrqqrqqrqqrqqqqqrrqrqqqqrqqqqqqqrrqrqqrqqqqqqrqqqrrrrqqrqrqrqqqqqqqqqqqrqrqqqqqqrrqqqqqqqqqqrrrrqrqrrqrrrrrrrrrqrrrrqrqrqrrqrrrrqrrrrrrrrrrrrrrrrrrrrrrrrqrrrrrrrrrrqqrrrqqrrrrrqrrrrrrrrrqrrrrqrqrrqqqrrrrrrrrrrrrqrrrrrqrrrrrrrrqrqqrqrqrrqrrrrqrrrqrqrqqrqrrrrrrrrrrrrrrqrrrrrqrqrrqqqrqqrrqrrqrrrrqrrqrrrrrqqrrqrrqrrrrqrrrrqqqrrrrqrrrrqqrrqrrrrrrrrrrqrrrqrqrrqrrqrrqqqrrrqqqrrrrqrqrrrrrrqrrqqrqrrqrqrrqrrqqqqqrqqqrqqqrrqrqqqrrrrqqqqrqqqrrqqrrqqrqrqqqrrrrqqqrqqrqrqqqrrqqqrqrrrrqqrrrqqrrrqqqqqqrqqqrqqrqqqqrrrrrqrqqqqqrqrqqrqqrqqrrrrqqrrqrrrqrqrrqrrrrqqrrqrrqqqqqqqqrqqqqqrrrrqrqqqrrrqrqrqqqrqrqrrrrqrrrrrqrqqqrqqrqqrrqrqqrqrqqqqqrrqrrqqqqqqqqrqrrqrqrqqqqqqqrqqrqqqqrrqqrrqrqqqrqrrrqqqqqqqqqqrrqqqqqqqqrqqqqrqqqqrqqrrqqqqqrrqqrqrqqqqqqqrrrrrrrrrrrrrrrrqrrrrrrrrrrrrrrrrrrrrrrrqqrqrqrqrrrrqrrrrrrrrrrrrrrrrrrrqrrqqrrrrrqrqrrrqrrrrqrrrrrrrrrrrrqrrrrrqrqrrrrrrqrrrrrrrrrrrrrrqrqrrrrqqrrrrrrqrrrrrrrrrrrrrrrrqrrrrrrqrrqrrrrrrrrrqrrqrrrrqrrrqrqrrqrrrrrrrrrrrrrrqqrqqrrrrrrrrrrrrrrqrqrrrrrrrrrrrrrrrrrrrqqrrrrrrrrqqrrrrqrrrrqrrrrrrrqrqqrqqrrrrrrrrrrrqqrrqrrrrrrrrqrrqrrrqrrrrrqrrrqrrrrrqrrrqrrrqrrrrrrrrqrrrqqrrrrrrrqrrrrrrrqqrrrqrrrrrrrrrqrrrqrrrrrrrrrrrrrrrrqqrrrrrrrrrrrrrrrrrrqrrrrrrrqrrrrrrrrqqrrrrqrrrrrrqrqrrqrqrrrrrrrqqrrrrrrrqrqrqqqrqrqqrqrrrrrrrrqrqrrqrqrrqrqrrqrqrrrrqrrrrrqrqqrrqrrrrrrrrqrrrrrrrrrqrqrrrrrqrqrrrqrrrrrrrqrqqqqqrrrrrrrrqqrqrqrrrrqrrrrrrrrqqrqrrrrrrrrrrqrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrqrrrrrqrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrqrrrrrrrrrrrrrrrrrrrrrqrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrqrrrrrrrrqrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrqrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrqrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrqrrrrrrrqrrrrrrrrqrrrrrrrrrrrrrrrrrrrrrrrrqrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrqrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrsrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrsrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrsrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrsrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrsrrrrrrrrrrrrrrrrrrrsrrsrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrsrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrsrrrrrrrrrrrrrrrrrrrrrrrssrrrrrrrrrrrrrrrrrrrrrrsrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrsrrrrrrrsrrrrrrsrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrsrrsrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrsrrrrrrrrsrrrrrrrrrrrrrrrrrrrrrrrrrrrrsrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrsrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrsrrsrrrrrrrrsrrrsrsrrrrrsrrrrrsrsrsssrsrrrrrrrsrrrrsrsrsrrrrrrrrssrsrsrrrrrrrrrrrrrrrrsrrrrrrrsssrrrrrrrsrrrrrrrrrrssrsrrrrrrrrrrrrrrrrrrrrrsrrrrrsrrrsrrsrssrrrsrrrsssrrrrrrrrrssrrrrrrrrrrrrsssrsrrrrrrrrrsrrsrrrrsrrrssrrrrrrrrrrrsrrsrrrrrsrrsrrsrrrrrrrrrrrrsrrrsssrrrrrrrrsrrrrrrsrsrssrrrrrrsrrrrrrrsrsrrsrrrrsrrsrrrrrrrrrsrsrrrrrrrrrsrsrrrrrrrrrsrrsrrrrrsrrrrsrrrrrssrsrrrrrrsrrrsrsrrrrrrsrrrrrrrrrrrrrsrrrrsrrrsrrrrrrsrrsrrrrrrrrsrrrsrrrrrrrrrrrrrrrrrrrrrrrrrrrsrrrsrssrrrrsrrrsrrrrsrrsrrrrrrrrrrrrrsrrrrrsrrrrsrrrrrrssrsrssrsrrsrrrrrrrrrrrrrsrrsrrrrrrrrrrrrrrrrrrsrrrrrsrrrrrrrsrrrrrrrrsrsrrrrrrrsrsrsrrrrsrsrrrrsrrrrsrrrrrrrrsrsrrrrsrrrsrrsrrrrsrssrsssssrsrsssssssssssrrsssssssssssssssssssssssssrsrsssssssrssssssrsrssssssrssrssrsrsrsrrssssrssssssssssssrrsssssssrrrsrsssrrrssssrrsssrsssssssssssssrrssssssssssssssssssrssssssssssssssssrssssrrsrsssssssssssssssssrsrssssrssssssrssssssrssrsssssrssssssssssssrsrssssrssssssrsrssrrssssssssrssrrsrsrsssssrssssssssrrssrssssrssssssrrsssrssrrssrssssssssssssssrsssrsssssssssrssrsrsssssssrrsrssssssssssssrsssrrsssssssrssrsssssssrsssrsrrsrsrrsssssssrrsrsrssssrsssssssssrsrsrrrrsssssssssssrsssrrsssrssrrssssrssrrssssrrsrsrssrsrrsssrsrrssssrsrssssssrssssrsssssssssrssrrrssssrrsssssssssssssrssrrrssrsssssrssssrsrrssssssrsrssrsrrrrrrsssrsrrsssrrrrrrrrsrsssssssssssssrrsssssssrssrsssssrssssssrsrsssssssssssssssssssrrsssssssrrsssssssssssssssssrsssrsssssrrsssrssssrrsrsrsssssrrrsssssssrssssssssssssrssssssssssssrrsssssssssssssrssssssssssssssssrsrssssrrssssssrssssrssssssssrssssssssssrssssrrrsssssssssssssrsrsrsrrsssssssssssssssssssssrrsrssrsssrssrsssrssssssssssrssssssssrssssrsssssssssssssrssssrssssssssssssssssssssrrrrsssssssrsrrsssrssrsrssssssssrsrssrssssrssrrssrrsssssrssssrsssrssssrssrssssssssssssssssssssssssssrrrsrrrsrssssssssssrrssrrsssssssssssssrsssssssrsssssssssssrssrrsrsssssrsrsssssrsssssrssssssrssrrrssssssssrsssssssssssssrsssrsssrssrssssrsrsssssssssrssrssssssssrssrssssssssssssrssrsssssssssssssssssrsssssssssssssssssssssssrssssssssssssssssssssssssssssssssssssssssrssssssssssssssssssssssssssssssssssssssssssssssssssssssssssrsssssssssssssssssssssssssrsssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssrsssssrsssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssrsssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssrssssssssssssssssssssrssrsssssssssrsssssssssssssssssssssssssssssssssssssssssssssssssssrssssssssssssssssssssrsssssssssssssssssrssssssrsssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssrssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssrsrssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssrsssssssssssrsssrsssssssssssssssssssssssrssssssssssrsssssssssssssssssssssssssssssssssssrsrsssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssrssssssssssssssssssssssssssrsssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssrsssssssssssssssrsssssrssssssssssssssssssssssssssrsssssssssssssssssssssrsssssssssssssssssssrssssssssssssssssssssssssssssssssssssssrsssssssssssssssssssrssssssssssssssssrssssssssssssrssrssrsrsssssssssssssssssssssrssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssrsssssrsrssssssssssssssssssssssssssssrsrsssssssssssssrrssssssrssssssssssssrsssssssssssssrsrssrssssssssssssssrssssssssssssrsssrsrsssssssssssssssssssssrssrsssrsssssssssssssssssssssssssssssssssssssssssssssrsrsssrssssssssssssssssssssssssssssssssssssssssssssssssssssssssssrssssrssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssrssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssstsssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssstssssssssstsssstssssssssssssssssssssssssssstsststsssssssssssssstssssssssssssssstssssstssssssssssssssssssttsstssssssssssssssssssssssssssssstssssssssssssssssssssssssssssssssstssssssssssssssssssssssssssssssssssssssssstsssssssssstsssssssssssssssssssssstsssssssssssssssssssssssstssssssssstssssssssssssssssssstssstsssssssssssstsssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssstssssssssstssssssssssssssssssssssssssssssssssstssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssstsssssssssssssssssssssssssssssssssssssssstssssstsssssssssssssssssssssssssssssssssssssssssssssstsssssssssssssssssssssssssssssststtsttssssssssttsssstsstssssstsssssssssssstsstssssssstssssssssssstssstssssstsstsssstsstsstsssssssssssssststttsssssssststttssssstssssssssststsssstsssssssssttsssssssssssstsstsssssssstssstssssstsssssssstsstssssssssssssssssssssssstssssssssssstsssstssstsssssssssstsssstsssssssstsssssstsstsssssssssssssssssstsssssttsstssssssstsssttsssssssststsssssssssssssssssssttssssssssssssssssssssssssssssssssssstssssttsssssstsssstssssssttsssssssssstsssssssssstssstsssssssssssssssssssssssssssssssssstssstssssssststtsststsssstssssssssssssssssssssssstssssstsssssssssssssssssssssssssssssssssssssssstssssstsssssssstsssstsssssssssssssssssssssssssssssssssstsstsstsststtsttttsstttsttssttttttttttstsssttttstssststttststssssstssttttssstttststtstsststttststtststtttststtsttttssststtsssttsststssstsssssstsstttstsststsssssssssttstsssttssssttsttstssssttssstttsstttsttssttsttsttsssststssttsstsstsststtststststtstsstssttssttssstttssstsstsssssstttssttssstststttssstsssttttssstsssssstttsststtstsssttstttsttstsstttsssssttsstssstsssstttststsstssstssttssttsssttssststtssttttsssttsssttstsstssttssttttttssssttssttsttsssstsstsstssssstssstttssttttssssssstttssssssttttssssssssststtstssssssttssstssststsssssstsssstsssstttsststtssstssstsstststtststsstsssstttsstssssssssstsssstttsstsstssstssssssstsststssstssttttsssststsststtssttttttttttttttttttttttttttttstttttttttttttttttttttttttttttttttttttstttstttttstttttttttttttttttttttttttttttttttttttttttttttttttttsttstttttttttttttttttttstttttttstttttttttttttttttttttssttttttstttttttttttttttttttttttsttsttttttsttttttttttsttsttttttttttttttttsttttttsttttttttttttttttttttttttttttttsttttttttsttttsttttstttttttstttsttssttssstttttsttstttstttttssstttttttttttttsttttttttttttttttttttttttttttttttttttsstttttsttsstttttttsttstttttttttttsttttttsttttttttstttssttttsttsttstttttttsttstttsttstttttttttttttttttsttsttstttttttsttttttttsttttttsttttttttttttttttsttttttttsttsstttttttttssttstttttttttttsststtttttttsttstttttsttttttstttssststststtsttstttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttstttttttttttttttttttttttttttttttttttttttttttttttsttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttstttttttttttttttttttttsttttttttsttttttttttttttttttttttttttsttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttsttttttttttttttttttttttttttttttttttttsstttttttttttttttttstttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttstttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttsttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttstttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttsttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttstttttttttttttttttttttttttttttttttttttttttttttttstttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttuttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttutttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttutttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttutttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttutttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttttuuttttttttutttuttttttutttttttttttttuttttttttttttttttttttttttttutttttttttttttttttttttttttttttuttttttuttttttttttttutttttttttttttttttttttttttttutttttttttttttttttttttttttuttttttttututtttutttuttttttttttttttttttttttttttttttttttttttttttttttttttttututttttutttttttttttttttttttttttutttttttttttttutttttttttuttttttutttttttttttttttttuttttttttttttutttttttttutttttuttttttutttttutttttttttttttttttttttttutttttttttttuutttttttttttttttututttuttttttttttttutttttttttuutttttttttttttttutttttttttttututtttttttttttttutttttttuttuuttutttttttttttttttttttttttttttttutttttttttttttttttttttttttttttttutttttttttttttttutttttttttttttttttttttttttttttttttttttttttttuuututttututtuuuutututuutututututtuuutttttttttutuuuuttuttttttuttttututuutttuututtuuutuutttuttutttutuuuttuttuuttuututuutuuttuttutttuttttuttttttuuttuttutuuutttttttttttuututttttuututuutututuuttuttttuuttuttttttttuttttttttutttuttttuttuuuutututttttttuttttttuttuutttuuttttttttuuutttttttuttututtttttututttttttutttuttttuttuuututtttutututtuuuttuuuttttutuuttttuuututuuttuuttuuutttutttttttututtuuututtuttuuttutttutttututttuuuutttuttttttttttuuutututtttttutttttuutuuututuutttuutuututttttuuttuututtuuttttuttuutttttttttututtttuuttuuutuutttttttuuututttuttuttutuutttututttuutututttuuttttttttutttutttttutuutttttttttuttttttttttttututtttutttttttutttutttttttuttuuuuuuutuutuututuuuuuuuuuuttuuuuutuututttuutuuuuttuuuuuuttutututuututuuuutttututtutuutuuuututtuuututuutuuutuuuuuuututuuuuuuuutuuuuuututuuuuuuttuuttuuuuuutttttuuutuutuuututuuuttutuuuutuutttuttuttuttuttuutututututtuuuutuuuuuututuutuuuuutuuututuuuuuuuututuutuututuutttuuuuuuuuuuuuuttuuututtututtuuutttutuuututututttttuuuutuuuuuuututuuuutttuuttuuuuuuututuuutttuuuuututuuuutuutttuttuuuutuututtttuutuuttuuuuuuututttttuuuuutuuutttutttttuututuuutututttutttuuuuuuuuuuttttuttuutuuutuuututuuttutuutttttttutttutttttuuuuttutuuutuuuuuutuutttutuuututtuttutuuuututuuttttuuuttuuttuuttuttutututuuttuttuutuuuuututttuttttttttuttttuttttutttuutttuututttutttttttttuuuuutuuutuuuutuuuuuuuuuuuttuututuuuuuuuuuuutuuttuuuuuttuuuutuuuuuuuuuuttuuutuutuuttuutuutuutuuuuuuuuutuututuuuuuuuutuuuuuuutuuuuuuuuuuttuuuuuuuuuuuttuututuuuuututuuuuutuuuuutuuuuuuuutuuuutuuuuuuuuuuuuuuuuutuuutuuuuuuuuuuuuuuuuuuutuuuuuuuuuuuuuuuuutuuuuuuututtuuuuuuutuuuuuuuuutuuuuuutuuuuttuuuuuuuttuutuutuuuttutuutuuuuuuuuutuuuuuuuutuuttuuuuuuuuuutuuuutuuuuuuutuuuuuuuuutuuuuuuutuuuutututuuuuuuuuuututuuuuutuuuuuuuuuuttuuuuuutuutuuuuutuuuuuuuutuutuuuuutuuttuuutuuuuututuuuuuuuuuuuutuutuuuututuuttuuttuuuuuutuuuuutuuuuuuuuutuuuuutuuuuuuuuuuutuuuuuuuuuuuuuutuutuuttuutuuuuuuuuutuuuuuuuuuuuututuuuuuuttuuuuuutuuuuuuutuuuuuuuuuuuuuuuuuttuuutuuuuuuuuuuuuuuuuuuuutuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuutuuuuuuuuuuuuuuuutuutuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuutuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuututuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuutuuuuuuutuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuutuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuututuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuututuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuutuuuuuuuuuutuuuuuuuuuuutuuuuuuuuutuuuuuuuuuuuuutuuuuuuuuuuuuuuuuuuuuuuutuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuutuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuutuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuutuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuutuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuutuuuuuuuuuuutuuuuuuuuuuuuuuuuutuuuuuuuuuuuuuuutuuuuuuuuuuutuuuuuuutuuutuuuuuuuuuuuuuuuuuuuuuuuutuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuvuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuvvuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuvuuvuuuuuuuuuuuuuuvuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuvvuuuuuuuuuuuuuuuuuuuuuuuvuuuuvuuuuuuuuuuuuuuuuuuuuuuuuvuuuuuuuuuuuuuuuuuvuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuvuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuvuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuvuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuvvvuuuuuvuuvuuvuuuuuvuuuuuvvuuuuuvuuuvvuvuuuuvvuuuuuuuuvvuuuvuuuuuvuvuuvuuvuuuuuuuuuvuuuvuuvuuuuuuuuuvuuuuuuuuuuvuuuuuuuuuuuuuuuvuuuuuuuuuuuvuvuuvuuuuuuuuuvuuuuuuuuuuuvvuuvvuuuuuuuuvuvvuvuuuvuuuuuvvuuuuvvuvuuuvuuvuuvuuuuuuvuuuuuuuuuvuuuvuuuuvuuvuuuuuuuuuuuuuuvuuuuuvuuuuuuuuuuvuuuuuuuuuuuuuuuvuuvuuvvuuuuuuuvuuvuuuuuuvuuvvuuuuuuuuuuuvuuuuuuuuuvuuuuuuuuvuuuuuvuuuvvuuuuuvuvuuuvvuuuuvvuuuuvuuuvuuuvuuuuuuuuvuvuuuuuuuuuuuuuuuuuvuuuuuuuuuuuuvuuvuuvuuuvuuuuuuuuuuuuvuuuuuuuuvuuvuuuuuuuuvuuuuuuuvvuuuuuuuuuuuuuvuuuuuuuuuvuuuvvuuuuuuuuvuvvvvuuuuuuvuuuuuuvuvuuuuuuuvuvvvuuuuuvuvuuuuuuuuuvvuvuuvuuuuuuuuuuuuuuuuuuuuvuuuuuvuuuuuuuuuuuuuuuuuuuuuvuuuvuuvvuvvvvuvuvuuvuvuuvvuuuuvuvuuvuvvuvuuvuuvuvvvvvuvuuvuvvvvuuvvvuuuuuvuvvvvvvuvvvuuuuuvuvuuvvuvvuvuuuuvuvuvuuvvvvvuuuvvuuuuvuuuuuuuuvuvvvuuvuuuvuvvvvvuvuuuuvuuvvuuuuuvuvuuuuvuuvvuuvuuvvvuvuvuvvvvuuuvvuvuvuuvuvvvvvvuvuuvuuvvvuuuuvvuuvuuvuvuuvuvuvvuuuuuuuuvvvuuuvvvvuuvvvuuvuuuuuuuuvuvuuvvvuvvuuvuvvuuvvuuvuuuuvuuvuuvvuvvvuvvvuuvuuvvuvuuuvuuuvvvuvuuuuuuvuuuuuuuuuuvvvuuuvuvuvuuuvvuuuuvvvuvvvuuuvuuuvuvuvuuuuuuvuuuvuvuuuuvvuuuuuvvuuuvuvvuuvuvvuvuuvuvuvvuuuuuuvuvuuvvuuuuuvuuuuvuuuvuuvuvvuuvuuvvvuuvuvuvuuvuuuvuuuuvuuuuvvuvvvuuuvuvuuuuuvuuuvuuuvvuuvuvuvuuvuuvuvuvuuvvvuuvvvvuuuuuuuuuuvvuuuuvuuuuuuuuuuuvvuuuuuuuuuvuuuvuuvuuvuvuuuvuuuuuvuuuvvuvvvvvvvvvvvvvvvvvvvvuvvvvvvvvvvvuvuvvvvvvvuvvvvvvvvvvvuvuvvvvvvvvvvuuvvvvvvvvvvvvvvvuvvvvuvvvvvvvvuvvuuvvvvvvuvvvvvvvvvvvuvuvvuvvvvvvvuvvvvvuvvuvvuvvvvvvvvuvvvuvvvvvuvvvuvvvvuvvvvvvvvvvvvvvvvvvvvvvuvuvvvvvvvvvvvuvvvuvuuvvvuvvvvvuvvvuvvvvvvuvvvvvvvvvvuvvvvvvvvuuvvvvvvuvuvuvvvuvvuvvuvvvuvvvvvvvvvvuvvuvuvvvvvvvvuvvvvvvvvvvvvvvvvvvvuvvvvvuvvuuuvvvvvvvvvvvuvuvvuvuuuvvvvvvuvvuuvuuvuvvvuvuvuuvvvuvvvvvvuuvvvvvvvuvuvuuvvvvvvuvuvvvvuvvvuuvvvuuuuvvvvvvvvuvuuvvvuvuvvvvuuvvvvuuuvuvuvvuvvvuvvvuvuvvvvvuvuuvvvvvuvvvvuvvvvuuvuvuvvuvuuvuuvvvvuuvuvuvuvvuvuvuvvvuvvvuvvvvuvuvuvvvvuuvvvvuuvvuuuuvvvvvvvuvuvvvvvuvuvuvuuvvuuvuvuvvuuvvuvvuvuvuuvuvvvuvuuuuuvvvvvvvvvvvvvvvuvvvvvvuvvvvvvvvvvvvvvvvuvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvuvvvvvvvvvvvvvvvuvvvuvvvvvvvuvvvvvvvvvvvvvvvvvvvuvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvuvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvuvvvvvvvvvvvvvvvvvvvvvvvvuvvvvvvvvvuvvvvvvvvvvuvvvvvvvvvvuvvvvvvvvvvvuvvvvvvvvvvvvvvvuvvvvvvvvvvuvvvvvvvvvvvvvvvvvvvuvuvvvvvvvuvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvuvvvvvvvvvvvvvvvvvvvvvvvvvvvvvuvvvvvvvvvvvvvvvvvvvvvvvvvvvvuvuvvvvvvvvvvvvvvvvvvvvvuvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvuvvvvvuvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvuvvvvvvvuuvvvvvvuvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvwvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvwvvvvvvvvvvvvvvvvvvvvvvvvvwvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvwvvvvvvvvvvvvvvvvwvvvvvvvvvvvvvvvvwvvvvvvvvwvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvwvvvvvvvwvvvvvvvvvvvvwvvwvwvvvvvvvvvwvvvvvvvvvvvvvvvvvvvvwvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvwvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvwvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvwvvvvvvvvvvvvvwvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvwvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvwvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvwvwvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvwvwvvvvvvvvvvvvvwwvvvvvvvvvvvvvvvvvvvvvvvwvvvvvvvvvvvwvvvvwvvvvvvvvvvvvvvvvvvvvvvvwvvvvvvvvvvvwvvvvvvvvvvvvvvwvvvvwvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvwvvvvvvwvvvvvvvvvvvwvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvwvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvwvvvvvvvvvvvvvwvvvvvvvvvvvvvvvvwvwvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvwvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvwvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvwvvvvvvvvvvvvvvvvvvvvwvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvwwvvvvvvwvvvvvvvvvvvvvvwwvvvvvvvvvvwvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvwvvvvvvvvvvvvvvvvvvvvvvvvvvvvvwvvwvvvvvvvvvvvvvvvvvvvvvvvwvvwwwwvvwvwvwvvwvvvvwwwwvvvvwvvvvvvwvvvwwwwvvwvwvvvwvwvwvvvvwwwvvvvvwvwwwwwvwvvvwwvwwvwvvwwvwvwvvwwvvvvvvvwvvvwwvwwvvvvvwwwwvwwvwvvvvvvwvvwwvwwwwvwwwvvvvwvvvvvvwvwvvvvwvvvwvvvwvvvwvwwwvvwvvvwvvvvwvwvvwvwvvwvvvwwwwvvvvwvwwvvvvvvvwvwwwvvwvwwwwvvvvwvwvvwwwvvvvvwwvwvwwvvvvwwwvvwvvwwvvwwvvvvvvvwwvwwvwwvwvvwwvwwwwwwvvwwwwvwwwwwwwvwwwwvvvwwvvvvvwvwvvvvvvvvvvwvvvwvwvvwwvwvvwvvwwvwwvvvvwvwwvvvvwwvvwvvwwvvwwvvwwvvwwvwvvvvvwvvvvwvvwvvvvvvvvwvwwwvwwvwwvvvvvwvwvwvwvvvvwvvwvwvvvvwvvwvvvvvwwvvvwvvwwwvwwwwwvvvvwvvvvvvvwvvvvwvvwvvvvvvvwwvvvvvwwwvwvvvvvvvvwvvvvvvvvvvwvvvvwvvwvvwwvwvvwvwwvvvvvvwvvwvvvvvvvvvvvwvvvvvvvvvvvvvvvwvwwvvvvvvvwvvvvvvvvvwwwvvvwwwwwwwwwwwwwwwwwwwvwwwwwwwwwwwvwwvwwwwwwwwwwwwwwvwwwwwwwwvwwwwvvwwwwvwwwvwwwvwwwwvwwvwwwwwwwwvvwwvwwwwwwvwwwwwwvwwwwvwwwwwwwvwwwwwwvvwwwwwvwwwwwwwwwwvwvvwvwwwwwwwwwvwwvwwwvvwwwvvwvwwwvwwwwwvvwwwwwwwvwvwvvwwvwvwwwwwwwwwwvwvvwwwwvwwwwwwwwwwwwvwwvwvwwwwwwvvwwwwvvwvwwwvvwwwwvwwwwwwwwwwvvwwwwvwwvwwvwvwwvwwwwwwwvvwwvwwwvvwwwwwvwvvwwvvwwwvwvvvvwwwvwwwvvvvwvwvwvvwwwvvwvwvwwwwwvvwwvwwvvvwvvwwvwwwvwwvvwwwwwwwvwwvwvwwvwwwvvwvvwwvvwvwvvwwwvvvvvwwwwwvwwwwvvwwvvwwwwwwvwvvwwvwwwwwwvvvwvvvwwvvwwwvwwvwvwwwvwwvwwwwwvwvvvwvvvvwvwwwwvvwvwwwvwvwwvwvvwwvvwvwvwvvwvvvwvwwvwvvwwvvvvvwwwvvvwvwvvwvvvvvvwwvvvwvwwvvvvvwvwwwwwvvwwwwvvwwwvvvwvvwvwwwvvvvwwwvvwwvvvwwwwwwwwwwwwwwwwwwvwwwwwwvwvwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwvwwwwwwwwvvwwwwwwwwwwvwwwwwwvwwwwwvwwwwwwwwwwwvwwwwwwwwwwwwwvwwwwwwwvwwwwwwwwwwwwwvwwwvwwwwwwwwwwwwwwwwwwwwwvwwwwwwwvwwwvwwwwwwwwwwwwwwwwwwwvwwwwwwwwwwwwwwwwwwwwwwwvwwwwwwwvwwwwwwwwwvwvwwwvwwwwwwvwwwwwwwwwwwvwwwwwvwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwvwwwwwwvvwwwwwwwwwvwwwwwwwwwwwvwwvwwwvwwwwwwwwvwwwwvwwwwwwvwwwwwwwwwwwwwwwwwwwvwwwwwvwwwvwwwwwwwwwwwwwwwvwwwwwwwwvwwwwwwwwwwwwwwwwwwwwwwwvwvwvwvwwvwwwwwwwwwwvwwwwwwwwwvwvwvwwwwwwvwwwwvwwwwwwwwwwwwwwvvwwwwwvwwwwwwwwvwwwwwwwwvwwvwwwwwwwwwwwwwwwwwwwvwwwwwwwwwwwwwvwwwwwwvvwwwwwwwwwvwwvwvwwwwwwwwwwwwwvwwwwwwwwwwwwwwvwvvwwwwwwwwwwwwwwwwwwvwwwwwwwwwwvwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwvwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwvwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwvwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwvwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwvwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwvwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwvwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwvwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwvwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwvwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwvwwwwwwwwwwwwwwwwvwwwwwwwwwwwwvwwwwwwwwwwwwwwwwwwwwwwwwwwwwvwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwvwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwvwwwwwwwwvwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwvwwvwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwxwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwxwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwxwwxwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwxwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwxwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwxxwwwwwwxwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwxwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwxwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwxwwwwwxwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwxwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwxwwwwwwwwxwwxwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwxwwwxwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwxwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwxwwwwwwwwwwwwwwwwwwwwwwwwwwxwwwwwxwwwwwwwwwwwwwwwwwwwwwwwwwwwxwwwwwwwxwwwwxwwwwwwwwwwwwwwwxxwwwwwxwwwwwwwwwxwwwwwwwwwwwwwwwwwwwwwwwxwwwwwwwwwwwwxwxwwwxwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwxwwwwwwwwwwwwwwwwwwwwwxwwwwwwwwwwwwwxwwwwwwwwwwxxwwwwwwwwwwxxxxxxxxxxxwxxwxxxwwwwwwwwwxwxwxwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwxwwwwwxxxxxxwwwwwwxwwxxxwwwwwwwwwwxxxxxxwwwwwwwwwxxwwwwxxxwwwwwxxxxxxxxxxxxxxxxxxwwwwwwwwwwwxxxxxxwwwwwwwwwwxxxxwwwwwwwwwwwwxxxwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwxwwwwwwwwwwwwwwwwwwxwwwwwwwwwwwwwwwxwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwwxwwwwwwwwwwwwwwwwwwwwwwwxwwwwwwwwwwwwwwwwwwwwwwwxxwwwwwwwwwwwwwwwwwwwwwwxxxxwwwwwwwxwxxwwwwwwxwxxwwxwwxwwwwwwwxxxwwwwwwxwwwwxwxwwwwwwwwxwwxxwwwwxwwxxwwwwxwwxxxxwwwxxwwwwwxwwxxxxwwxwwwwwxwwwxxwxxxwwwwxxwwwxwxwxwwxwwxwxwwwwwwwwxwwwxwwwwwwxwwwwwwxxwwwwwwwwwwwwxwwxwwxwxxwwxwxwxxwxwwwwwxwwwwwwwvvvvwvvwvvwvvwvwxwwwxwwxwwwwwxwxxxwwxwwwwwwwwxwwxxwxxwwxwwwwwxwxwwwwxwxxxvtrssuwxxwwxwwxwvvwwxwwxwwwwwvvvwwxwxxxwwxwvvwwwwwvwwwwxvvvwvvvvvvvvvvvvvvwwwwwwwwwxxvussstvxxwwwwwxwwwwvwxwwwwwwwwwwxwvvwwwwwwwwwwwxwwxwxwwxwxwxxwxxwwwwxwxwwwwwwwwxwwwwwwwwxxwwxwwwwxwxwwwwwwwwwwxwwwwxwwxxxwwwwwwwwxwwwxwwwwwwwwwwwxxwxwxxwwwwwxwwwwwwxwxwxxwwwwwwxwxwwwxwwwwxwwwwxxwwwwwwwwwwwwwwwwwxxwwwwwwwwwwwwwwwwxwwwwwwwwwwwwwwwwwwwwwwxxwwwwxwwxwwxwxwwxwxxwwxxxxxxwxwwxwxxxxxwxxwxwwxwxxxwwxwwwwxxwwxxxxxxxwxxwxxwwxxxxwwxxxxwwwwxxwxxxxxwxwxxxxxxxwwxxwxwwwxwwxxwwxxwxxwxxxwxwwxxwxxxwxxxxxwxwxxxwwwwwxxwxxxxwxxwxwxwxxwwxxxwxxxxwxwxxwwxxwwwxxwxxwwwxwwxxxxxwxxwwwxwxwxxojjjjjjjjjjjjjjjqxwxxwxxxxwwwwxxxxxxxxwxxxxwwxxwwwxxwxwxxwwxxxxwwwwwxxxwrljihhiiknuxxwwwxljjrxwwxwxxwxpjjjqxxwxxxxxxpjjoxxxljjuxxxkjjjjjjjjjjjjjjjjjjwxxxwxxxtnjihhhijntxxxwxxwxnjjqxwxxxxxwwwwvjjjwxxwwxwxwxxxxxxxxxwxxwwxwxxwxxwxxwxxxxxwwwwxxxwxxwxxxxwwxwxwxwxxxwwxxwwwwxxwwwwxxwxwxwxwwwwxwxxxxxwwxxwwxwwxxxxwxxxxxxwxwxwwxxwxxwwwxxxwxwxxxxxwwwxxxxxxxwwxxxxxwxwwwwwwxxxwxwxxwxwxxwxwwxwwxxwwxxwwxxwwxxxxxxwwxxwwxwwxxxxxxwxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxwxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxwxxxxxxxxxxxxxxxxxxxxxxxxwxxxxxxxxxxxxxxwxxxxxxxxxxxxxwwxxxxwxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxwxxxwxxxxxxxxxxxxwxxxxohhhhhhhhhhhhhhhpxxxxxxxxxxxwxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxwxwwxxulhhhhhhhhhhipxwxxxohinxwxxxxxxxkihilxxxxxxxxxlihsxxxjihtxxxjhhhhhhhhhhhhhhhhhhwxxxxxvmihhhhhhhhhiowxxwxxxmiipxwwxxxxwxxwvhiiwxxwxxwxwxxwxxxxxwxxxwxxwxxxxxxxwxxxxxxxxxxxxxwxxxxxxxxxxxxxxwwxxxxxxxwxxxxxwwxxxwxwxxxxxxxxxxxxxxxxwwwwxxxwxxxxxxxxxxxwxxwxxxwwwxwwxxxwxwxxxxxxwxxxxxxwxxwwxxxxxxxwwxwwwxxxxxxwwxwxxxxxxxxwxxxxxxxwwxwwxxxxxxwxxxxxxxxxxwxwxwwxxxxxxxxxxxxxxxxwxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxwwxxxxxxwxxxwxxxxxxxxxxxxxxxxxwxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxwxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxwxxxxxxxxxxxxxxxxxxxxxwxxxxxxxoiiknnnnnnnnnnnnsxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxwxxxxxwjhhimqssrokhhhoxxxxthijxxxxxxxxviiiiiwxxxxxxxwiiiwxxxjiitxxxonnnnnnniiimnnnnnnnxxxxxtjhhilprsrokhhhmxxxxxxmiiqxxxxxxxxxxxviiiwxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxwxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxoiipyyxyyyxyyyyyxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxohikuxyyyyyxpiihtxxxwiiiwxxxxxxxrhhnhhsxxxxxxxthikxxxxjiitxxxxyyyyxxxiiivyyyyyyyxxxxvjihksxyyyyywpiihpxxxxxmiiqxxxxxxxxxxxviiiwxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxoihpxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxwiiiuxxxxxxxxyniimxxxxliisxxxxxxxmiiuhinxxxxxxxpiipxxxxkiiuxxxxxxxxxxwiiivxxxxxxxxxxxliikvxxxxxxxxyphiivxxxyniiqxxxxxxxxxxxviiiwxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxyyxxxxxxxxyyyxxxxxxxyyyyyyxxxxxxxxyyyxxxxxxxyyyxyyxxxxxxxxyyyxxxxxxxxyyxxxxxxxxxxxxoihpxxxxxxxxxxxxxxxxyyyxxyyyyxxxxxxyyyyyyxxxxxxxxxxxxxyyyyyyxxxxxxxxuhikxxxxxxxxxxvhhixxxxqiioxxxxxxxjilxjijxxxxxxxlihtxxxxkiiuxxxxxxxxxxwiiivxxxxxxxxxxshiiuxxxxxxxxxxxkihnxxxymiiqxxxxxxxxxxxviiiwxxxxxxxxxxxxxxxxxyyyyyyxxxxxxxxxyyyxyyyyyxxxxxyyyyyyxxyyyxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxussvxxxxxxxtstxxxxxxxusstssvxxxxxxxssuxxxxxxxusstssvxxxxxxxtstxxxxxxxusswxxxxxxxxxxxoihpxxxxxxxxxxxxxxxxussxxrnnrvxxxxxvronnquxxxxxxxxxxywspnnpswyxxxxxxuhikxxxxxxxxxxxonnwxxxuiikxxxxxxtiiqxniivxxxxxxiiixxxxxkiiuxxxxxxxxxxwiiivxxxxxxxxxxliinyxxxxxxxxxxxriknxxxymihqxxxxxxxxxxxviiiwxxxxxxxxxxxxxxxyxtpnnorvyxxxxxxwssvxtonpuxxxxxuqnnptxytssxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxrhhnxxxxxxvhhjxxxxxxxkhiqhhnxxxxxxvhhjxxxxxxxkhiqhhnxxxxxxwhhjxxxxxxxkhixxxxxxxxxxxxoihpxxxxxxxxxxxxxxxxphhvmhhhhmyxywoihhhhhimvyxxxxxxyrjhhhhhhksyxxxxxviiiuyxxxxxxxxxyyyxxxxxjiixxxxxxpiiuxshiqxxxxxuhimxxxxxkiiuxxxxxxxxxxwiiivxxxxxxxxxviihuxxxxxxxxxxxxwuwyxxxymihqxxxxxxxxxxxviiiwxxxxxxxxxxxxxxxtlihhhhhjpxyxxxxuhhqrihhhiwxxwnihhhhimwlhixxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxyxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxwiijxxxxxxriiivxxxxxviinwiijxxxxxxriiivxxxxxviinwiijxxxxxxriiivxxxxxwiinyxxxxxxxxxxxoihpxxxxxxxxxxxxxxxxpiinhijihrxxwkhhhijjhhhjuyxxxxyohhhijjihhiqyxxxxxkiijrwyyyxxxxxxxxxxxxxmihtxxxxykijxxwiilxxxxxqiirxxxxxkiiuxxxxxxxxxxwiiivxxxxxxxxxshiixxxxxxxxxxxxxxyxxxxxymiiqyxxxxxyxyxxviiiwxxxxxxxxxxxxxxqihhhjjihhhlxxxxxviimihjjhmyxwkhhhijihhllijxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxyxyyxxxxxxxxxxxxxyxxxxxxxxxxxxxxxxxxxxxxxxxyxxxxxxxxxxyxxxxxxxxxxxxxyxxxxxxxxxxyxxxxxyxxxxxxxyxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxyliiuxxxxxmiiiryxxxyqhhtyliiuxxxxymiihryxxxxqhhtylihvxxxxymiiirxxxxxrhhtxxxxxxxxxxxxoiipyyyyyyyyyyyxxxxxphihjswvoxxxlhhjrvwwslhijxxxxyqhhipuwwuoihitxxxxxuiiihjnrvxyyxxxxxxxxxxriipxxxxwiinxxykiixxxxylihvxxxxxkiiuxxxxxxxxxxwiiivxxxyxxxxxpiilxxxxxxxxxxxxyxxxxxxxymiipwwwwwwwwwwwuiiiwxxxxxxxxxxxxxshihmtwwupiihmyxxxviiihqvwrtxymhijrvwvqihiijxxxxxxxxxxxyxxxxyxxxxxxxxxxxxxxxxxxxxxxxxxyxxxyxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxyxxxxxxyyxxxxxxxxxxxxxxxxxxxxxxxxxyxxxxxxxxxxxxxxxxxyxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxyxxxxxxxxxxxyxxxxyyxxxxxxyxxxxxxxxxxxxyxxxxxxxxxyxxxxxxxyyxxxyxxxxyyxxyxxxxxxxyxyxxxxxxyxyxxxxxyxxxyxxyxxxyxxxxxxxxxxyyxyyxxyxxxxyrhiqyxyxxiiiimyxxxylijxxrhiqyxxxxiiiimyxxxylijxxrhiqyxxxxiiiimyxxxylijxxxxxxxxyxxxyoiiknnnnnnnnnnpxxyxyphihtyxyyxxrhikwyyyyyxmihpyxxwiiityyxxyyriikxxxxxysjhhhhhiknrvxyxxxxxxxviilyxxxshhsxxxpihtxyxxiikxxxxxxkiiuxxxxxxyyxxwiiivxxxyxxxxyniinyxxxxxxxxxxyyxxxxxxxymiijjjjjjjjjjjjjiiiwxxxxxxxxxxxyxjiioxyyyyytiihtxxyviiioyyyyxyuhijuyyxyytiiijxxxxxxxxxxxxxxxxxxxxxxyxxxxxxxyxxxxxxxyxxyxxxxxxxxxxxxxyxxxyyxxxxxxxxxyxxxyxxxxxxxyxxxxxxxxxxxxxyxxxxxxxxyxxxxxxxxxxxxxxxxxxyxxyxxxxxxyxxxxxxxxxxxxxxxxxxxxxxxyxyxxxxxxxyyxxxyyyyyxxyxxxyyxyxyxyyyyxyyxyxyyxyxxxyxyyyxxyyxyyxxyxxxyyyyxyyxxyyxxyyxxyxyyxyxxyyxxyyxyyxyxyxxxyyxxxxxxxyxxxyyyyxyxxxyyyyxyyxyxyxxxywiilyyyxthioiixxxxwiinyxwiilyxxxthioiixyyxwiinyxwiilyxyxthioiixxyxwiinyxxxxxxyyxyxyoiihhhhhhhhhhhlyxyxyphikyxxxxyykihuyyyyxxywiijxxyqiioyxxxxyxymihuxxxxyyvojhhihihhimtyxxxxyxyjijyxxyniiwxxxuhioyyyuhioyyxxxxkiiuxxxyyxyyxxxiiivxyxxxxxyymiioyxxxxxxyyxxyyyxyxxxxyniihhhhhhhhhhhhhiiixxyyxxxxyxxxxthikyyxxyyxyqiimyxyviiivxyyxxyniiryxyxyyyphijxxxxxxxxyyxxxyxxyxyxxxyyxxxxyyxxxxyyyxyxxyyxyyxyxxxxyxyyyxxxxxxxyxxxyxxxxxxxxyxxyxyxyxxxxyxxxxxyxxyxxyyxyxxxxxxxxxxxxxxxxxxxxxxxxyxxyxxxyxxxxxxyxxxxxxxxxxyxxxyxyxxxxxxxyyxyxyyyyyyyxyyyyxyyxyyyxyyyyxyyyyyyyyxxyxyyxyyxyxyyyyyxxyxxyyxyxyyyyxxyyyxxxyyyyyxyyyxxyyyyyyxyxyyyyyxyxxyxxyyyxyxxyyxxyxyyyyxyyxyyyxyyyliixyyyoilthhuyxyshitxxyliiwxxyoiltihuyyyshityxyliixyyyoilthhuyyyshityxyyyyxyyyxyyoiiijjjjjjjjjjmyxyxyphioyyyyyxwiikzyzyyyyyzmiivxyliivyyyyyyyysiioyxxxyyyywsnlihhihhipxxxyyyynihvxxxjikyxxyyjijyyyqhhsyyyyxykihuxyyyyxyxxxxiiivxxyyyyxyymiioyxyyxyxxyyyyxyyyyxyxyniilnnnnnnnnnnnniiixxyyxxxxyxxxyoiiqyyxxyyyxxiiixyxviijxxxxxxxjiixxxyyxyxwiijxxxyxyyxyyyxxxyxyxyxyxyyyxyxyyyyyxyyxxyyyxyxyxyyxyyyyyyyyyyyxxxxyxxxyyxxyyyyyyxxyyyyyxxxyyxyxyxyyyxyxyyyyxyyyyyyxxxxxxxyyxxyyxxyxyyyyyyxyyyyyyyyyyyyyxyxyyyyyxyxyxyxyxxyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyxyyyyyyyyxyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyrhhsyyyjiqwiipyyymijxyyyqhhsxyyjiqwiipyyymijxyyyqhhsyyyjiqwiipyyymijxyyyyyyyyyyyyyoiipxxxxwxxxxxxyyyyyphiqyyyyyxthijnnnnnnnnnkiisyxiiinnnnnnnnnmiilyyyyyyyyyzyxvrnjhhihoyyyyyyshiryxviipyyyyymiiwyymiiwyyyyyykihuxyyyyyyyyyxiiivxyyyyyyyyoiimyyyyxyyyyyyyyyyyyxyyynihqzyyyyyyyyzyxiiixyyyxyyyyyyyyliivxyyyyyyyykiivyxviilyyyyyxwiilyyxyyyyyyjijxyyyyyyyyyyyyyyyyyyyyyyyyxyyyyyyyyyyyyyyyyyyyyyyyyyyyxyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyxyyyyyyxyyyyyxyyyyyyyyyxyyyxyxyyyyyyyyyyyxyyyyyyxyyyyyyyyyxyyyyyyyyyyyyyyyxyyyyxyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyywiinyxwiivykikyyxiinyyyywiinyyviivykikyyxiinyyyywiinyyviiuykikyyxiioyyyyyyyyyyyyyyoihpyyyyyyyyyyyyyyyyphiqyyyyyyrhihhhhhhhhhhhhhqywiiihhhhhhhhhhhikyyyzzyyyyyyyzyywskhihvyyyyxwiinyyqihuyyyyyriisyxjikyyyyyyykihuxyyyyyyyyyxiiiwyyyyyyyyyqiilyyyyyyyyyyyyyyyyyyyyynihqyxyyyyyyyyywiiixyyyyyyyyyyyykiiwxyyyyyyyymiiuyyviikyyyyyyuiimyyyyyyyyylijyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyxyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyxyyyyyyyyyyyxyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyxyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyykijyyqijyypiiwythiuyyyyykijyyqijyypiiwythiuyyyyykijyyqijyypiiwythiuyyyyyyyyyyyyyyoiipyyyyyyyyyyyyyyyyphiqyyyyyyqiiijjjjjjjjjjjjryviiijjjjjjjjjjjjlyyxstuyyyyyyyyyyzxkiioyyyyyykikyyliiyyyyyyviinyviiqyyyyyyykihuyyyyyyyyyyxiiivyyyyyyyyyuhiiyyyyyyyyyyyyyytvyyyyynihqyyyyyyyyyyywiiixyyyyyyyyyyyykiiwyyyyyyyyymihuyyviilyyyyyyuhimyyyyyyyyylijyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyqiivylimyyuhhsynijyyyyyyqiivylimyyuhhsynijyyyyyyqihvylimyyuihsynijyyyyyyyyyyyyyyyoiipyyyyyyyyyyyyyyyypiiryyyyyyriinxxxxxxxxxxxxyywiijwxxxxxxxxxxxxyywhhiyyyyyyyyyyyyshilyyyyyyoiiwxiimyyyyyyyjijyrihuyyyyyyykihuyyyyyyyyyyxiiiwyyyyyyyyyxiihuyyyyyyyyyyyyxiiluyyynihqyyyyyyyyyyywiiixyyyyyyyyyyyyliiwyyyyyyyyymiiuyyviilyyyyyyviilyyyyyyyyylijyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyywiiqxihsyyyjinyjioyyyyyywiiqyihsyyxjinyjioyyyyyywiiqxihsyyyjinyjioyyyyyyyyyyyyyyyoiipyyyyyyyyyyyyyyyypiiryyyyyythilzyyyyyyyyzzzyyyjiixyyyyyyyyzzzyyyyjiivyyyyyyyyyyyviikyyyyyyuhhtuhiryyyyyyyoiixnijyyyyyyyykihuyyyyyyyyyyxiiiwyyyyyyyyyymiinyyyyyyyyyyyytiihwyyynihqyyyyyyyyyyywiiixyyyyyyyyyyyzmihuyyyyyyyyyjiiwyyviikyyyyyyxiijyyyyyyyyyjijyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyykiluiiwyyymijvihuyyyyyyykiluiiwyyymijuihuyyyyyyykiluiiwyyymijuihuyyyyyyyyyyyyyyyoiipyyyyyyyyyyyyyyyypiiryyyyyywiiiwyyyyyyyyuvvxyzlihryyyyyyyywtvxyyyniiozyyyyyyyyyyshinyyyyyyxiipqiiwyyyyyyytihujimyyyyyyyykihuyyyyyyyyyyxiiiwyyyyyyyyyyuhiivyyyyyyyyyyykiimyyyynihqyyyyyyyyyyywiiixyyyyyyyyyyyypiiozyyyyyyyvhijyyyviilyyyyyyyliiuyyyyyyyuhijyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzpiipikyyyyriinijyyyyyyyypiipikyyyyriimijyyyyyyyypiipikyyyyriinijyyyyyyyyyyyyyyyyoiipyyyyyyyyyyyyyyyypiiqyyyyyyyliiozyyyyyyxiiivyyriijxyyyyyyzmhiqyyyuhiitzyyyyyyyzykihsyyyyyyylimlijyyyyyyyyxiipiiryyyyyyyykihuyyyyyyyyyyxiiiwyyyyyyyyyyyliikwzyyyyyyyzpiiivyyyznihqzyyyyyyyyyywiiixyyyyyzyzyyyyvhiiwzyyyyyzmiiozyyviilyyyyyyyshilyzyyyzykiijyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyvhiiioyyyywhihiozyyyyyyyvhiiioyyyywhihioyyyyyyzyvhiiioyyyywhihioyyyyyyyyxxxyyyyzoiipyyyyyyyyyyyyyyyyqiiryyyyyyythihqyzzzzwliilyyyxjiimwzzzzyphihwyyyzniiiqxzzzzzzvmhikyyyyyyyyqijiiozyyyyyyyzlijiiwyyyyyyyykihvyyyyyyyyyyxiiiwyyyyyyyyyyyviihksyzzzzzwohihpzyyyznihqyyyyyyyyyyywiiiyyyyyyxxxyyyyymiikvzzzzxphiiwyyyviilyyyyyyyykihmwzzywmiiijyyyyyyyyyyyyyyyyyyyyyyzyyyyyyyyyyyyyyyyyyzyyyyyyyyyyzyyyyyyyyyyyyyyyyzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzyyyyyyyyyyyyyyyyyyyyyyyyyyyzyyyyyyyyyyyyyyyyyyyyyyzyyyyyyyyzzyyyyyyyyyyyyyyzzyyyyyyyzyyyyyyyyzyyyzyzzyyyyyyyyzyyyyzyyyzyyzyyyzyyyyyyyyyyyyyyyzzyyyyyyyyyyzyyyyyyyyyyzyyyyyyyzyyzyyyyyyyyyyyyyyyzyzyyyyyjiihuyyyyykiihuyyyyyyyzyjiihuyyzyykiihuyyyyyyyzyjiihuyyyyyjiihuyyyzyyyujjjxyyyzpiipzyyyyzyyzyyyyyyyqiiryyyyyyyznhihlqttpjhiivyyyytiihjpstqlhhhqzyyyyxkhihkorttrnihhjvyyzyzyzyuhiihtyyyyyyyyzqihijyyyyyyyyykihvyyyzyyyyyyxiiiwyzzyyyyyyyyztihhhlpstrojhhhnyyzyyzmihqyyyyyyyyyyywiiiyyyyyujjjxyyyywjhhjostqlhhhqzzzyviilyyyyyyyyuiihjmnmihjiijyyyyyyyyyzyyyyyyyyyyyzyyyyyyzyyyyyyyyyzyyyyyyyyzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzyzzyyyyzzzyzyzyyzyyyyyzyzyyyyzyyyyyyyyyyyyzyzyyyzyyyyyzyyyzyyyzyyyyyyyyyyyyyyyyyyyyyyyyzyyyzyyyyzyyyzyzyyzyzyyyyyyyyyyyyyyyyyyyyyyyzyzyyyyzpihixyzyyzoiijyyyyyyyyyzpihixyyyyzoiijyyyzzyyyzzpihixyyzyzoiijyzyyyyyyuhhhyyyyzohhpzyzyyzyyyyyyyyyzphhryzzyzyyyyohhhhhhhhhjtzyyyyzsihhhhhhhhipzyyyyyzxnhhhhhhhhhhhkvzyyyyyyyyyihhixyyyyyyyyyvhiiozyzyyyyyykihvyyyyyyyyyyxiihwyyyyyyyyyzyzzulhhhhhhhhhhipyyzyyyzmihqzyyyyzyyyyywhiiyyyyyuhhhxyyyyzvkhhhhhhhhiqzyyyyvhilzyyyzyyyztjhhhhhhjuiijyyyyyyyyyyzyyyyyyzyyyyyyyzyyyyyyyyyzyyyyyyyyyyyyyyyyyzyyyyyyzyyzyzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzyyyyyzyyyyyzyyyzyyyyyyyyyyyyyyyyyyyyyyyyyyyyyzyyyzzyyyyyyyyyzyyyyyyyyyyyyyyzzzzyzyzzzzyyzzyyzyzzyyyzzzyzzzzzyzzzzyzzzyyyyyyzzzyyyzyyyyyyzzzzzzyzzzyzyyyzzyzzzzzyzzzyyzzzzyzzzzzyyzyzyyyzyyyyzzzyyzzyyzzyzyzyzyyyzyzzvjjmzzzyyzujjpzyzyyyzyzyvjjmzzyzzyujjpzyyyzzyzzyvjjmzyzyzzujjpzzzyyzyyujjjyzzzzpjjqzyyyyyyzzzyzzzzzqjjszzyyzyyyzztmihhhijowzyzyyyyzvojihhhjmtzyyyzyyyzztnjihhhiilrxzyyyyyyzzzznjjmzzyzyzzyyyykjjtyyzzyyyyzljjvyyyzyzyyzyyjjjwzzyyyzzzyzyyzzyrmjihhhikovzzyyyzyzojjrzzyzzzyyzyzwjjjyyzyyujjjyyyzyyzxpkihhhjnvzyyyyywjjmzyyyzzyyyzwqmjjlpwyiijyzyyyzyzyyzzyzyyzyyzzzzzyyyzyyyyyzyyzyzyyyzyyzyzzyzyzzzzyzyzzyyyyyyyzyzzyyzzyyyyyyzzzyyzyyyyyzyzyyyyyyyyyzyzyyyzzzyyyyyyzyzyzzyyzyzzzyzyzzyyyyyyzyyyyyyyyzyzzzyzyyzyyyyyzzzzyzzzzyzzzyzzzyzzzzzyzzyzzzzzzzzyzzzzzyzzzyyyzyyzzzzzzzzyyzzzzzzzzyzzzzyzzzyzzzzzzzzzzzzyzyzzzyzzzyzzyzyzzzzzyzyzzzzzzzzzyzzzyzzzzyzzzyzzyyxyzzzzyzzxxyzzzyyzzyzzyxxyzzzzzzzyxyzyzzzzzyzyyxxyzzzzzzyxxyzzzyzyzzyxxxzzzzzyxxyzyzyzyzzzzyzzzyyyxxyyzzzzzzzzyzzwuttvxzzzyzzyyzzzzxvttuwzzzzzzzzzzzzzzyvtttuwyzzzyyzyzzzzzzyxyyzzzzzzzzzzzyxyyzyyzzzyyzxyxyzzzzzzzyzzyyxxzzzzzzzzzzzzzzzzzzxvtttvyzzyzyzzzzzyyyyyzzzyzzzzzzyxxxyyzzzyxxxyyzyzyzzzyvttuxzzzzzzzzyxxxzzzyzyyzzzzzyxxyzzxiilzzzyyzzzyyzzyyzzzzzyzzzzyyzzzzyyyzzzzzzzyzyzzzzzzzzzzzzzzzzzyzzzzzzzzzzzzzzzzzzzyyzzzzyzzzzyyzyzzzzzzzzzzzyzzzyzzzzzzzzzzzyzzzzyyzzzzzzyzzyzzzzzzzzzzzzyzyzzyzyzzzzzzyzzzzzzzzyzzzzzzzzzzzzzzzzzzzyzzzzzzzzzzzzzzyzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzyzyzzzzzzzzzzzzzzzzzzzyzzzzyzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzyzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzyzzzzzzzzzzyzzzzzzzzzzzzzzzzzyzzzzzzzzzzzzzyzyzzzzzzzz{zzzzzzzzzzzzyzzzzzzzzzzzyzzzzzzzzzzzzzzzzzyzzzzyzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzyzzzzyzzzzzzzzzzzzzyzzzzyzzzzzzzzzyzzzzyzzzzzzzzzzzzzzzzzzzzzyzzzzzzzzzzrqsyzzzzzyzvhinzzzzzyzzyzzzzzzzzzzzzzzzzzzzzzyzzyzzyzzzzyzzzzzzzzzzzyzzzzzyzzzzzzzyzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzyzzzzzzzzzzzzzyzyzyzzzzzzyzzzyzzzzzzzzzzzzzzzyyzzzzzzzzzzzzzzzzzzzzzzzyzzzzzzzzzzyzzzzzzzzzzyzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzyzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzyzzzzzzzzzzzzzzzzzzzyzzzzzzzzzzzzzzyzzzyzzzzzzzzzzzzzzzzzzzzzyzzzzzzzzzzzzzzzyzzzyzzzzzzzzzzzzzzzzzzzzzzzzzzzzzyzzzzzzzzzzzzzzzzyzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzyzzzzzzzzzzzzzzzyzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzyzzzzzzzzzzzzzzzzzzzzzyzzzzzzzzyzzzzzzyzyzzzzzzzzzzzzzzzzzzzzzzzyzzzzzyzzzohhszzzzzzzmihrzzzzzzzzyzzzzzzzzzzzzzzzzzzzzzzzzzzzyzzzzzzyzzzzzzzzzzzzzzzzzzzzzyzzzyzyzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzyzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzyzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzyzyzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzyzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzthijuz{{zxohiiyzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzyzzzzzzzzzzzzzzzzzzzzzzzzlhiilnomjhhhszzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzxmhhhhhhhhjtzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz{zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz{zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz{zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzztoljjkmrx{zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz{{zyyyz{zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz{zzzz{zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz{zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz{zzzzzzzzzzzzzzzzzzzzzz{zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz{zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz{zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz{zzzzzzzzzzzzzzz{zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz{zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz{zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz{z{zz{zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz{zzzzz{zzzzzzzzzzzzzzz{zzzzzzzzzzzzz{zzzzzzzz{{{zzzzz{zzzzzzzzzzzzzzzzzzzzzzzzzz{z{{zzzzzzzzz{zzzzz{z{{zz{zzz{zzzzzzzzzzz{zzzzzzzzz{zzzzzzzzzzz{{zzzzzzzzz{{zzzzz{zzzz{zzzzzzz{zzzz{{zzzz{{zz{{zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz{zzzzz{zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz{zzz{zzz{z{zzzz{zzzz{zzzzzzzzzzzzzzzzz{{zzzzzzzzzzzzzzzzzzz{z{zzzzzzzzzzz{z{zzzzzzzzzzzzzzzzz{zzzzzzzzzzzzzzzzzzzzzz{{zzzz{zzzzz{zzzzzzzzz{{zzzzzzz{zzzz{zzzzzzzzzz{zzzzzz{z{zzzzzzzzzzzzzzzzzzzzzzzzzzzzz{zz{zz{zzzz{z{zzzz{z{zzzzzzz{{zzzzzzzzzz{zzzzzzzzzzzzzzzzzzz{zzzzzzzzzzzzzzzzzzzzzzzzzzz{zzzzzzzzzz{zzzz{zzzzzzzzzzzzzzzzzzzzzzzz{{z{zzz{zzzzzzzzzzz{{zzzzzzzzzz{zzzzz{{{z{z{{zzz{zz{zzzzzzzzzz{zz{zz{zzzz{zzzz{zzzzzzzz{zzzzzzz{zzzzz{zzzzz{zzzz{z{{zzzz{zzzzzzzz{zzzz{zzzzzz{{z{zzzzz{zz{zz{{zz{zzzzz{zzzzz{zzzz{zzzzz{zzzzzzzzzzzz{zzz{z{zzz{zzzzzzz{zzzzz{zz{zzzzzzz{zzzzzzzzzzzzzzz{zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz{{zzzzzzz{z{{{zzzzzzzzzzzzzzzzzzz{z{z{zz{z{zzzzzzz{z{{zzzzzzzz{zzzzzzzzzz{zzzzzzzz{z{zz{zz{z{zzzzzzzzzzzz{zzzzz{zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz{zzzzzzz{zzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzzz{zzzzzzzzzzzzzzzzzzzzzzzzzzz{zzzzzzzzzzzzz{zzzzzzzzzzzzz{zzzzzzzzzzzzzzzzzzzzzzzzzz{zzzzzzz{zzzzzz{zz{zzzzzzzzzzz{zzzzzzzzzzzzzzzzzz{{zzz{z{zzzzz{z{z{z{z{{{zzzz{zzzzzz{z{{{zz{zz{zzzzzzzzzzzzzz{zzz{zzz{zzzzzzzzzzzzzzzzz{zzzz{z{{zzz{{zz{zz{zzzzzzzz{{z{{{{z{{zzz{zzzzzzz{zz{zz{zzzzzzzzzzzz{zz{zzzzz{z{{zzzzzzzzzzzzz{zzzzzzz{zzzz{{zzzzzzzz{z{zz{zzz{{z{{z{{zzzz{z{{z{zzzzzzz{{zzz{zzzzzzz{{zz{zzzz{zzzzz{{{zzzzzz{{z{zzzz{zz{zzz{z{{z{z{z{{zz{zzzzzzzzzz{zzzzzzz{zz{zzzzz{{zzzzzz{zz{zzzzz{z{zzzzzzzzz{zzzz{zz{zzz{zzzzzzz{zzz{{zzzzz{{{zzzzz{zz{zzzzzz{zz{zzzzz{z{{zz{zzz{{zzz{{zz{zz{zzzzzzzzz{{zzz{{z{zzzzz{{{{zz{zzz{zz{{zzzzz{z{{{zzz{{zzz{{{{z{z{zzzzzzz{zzzz{{{zzz{z{zzzzzzzz{zzz{z{z{z{zz{zz{zzzz{{{zz{zzz{{z{z{z{z{zzz{zz{zzzz{zzzzzz{{zzzzzzzzz{z{{zzz{zzzzzz{zz{zz{zzzzzzzzzzz{zzzzz{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{z{z{{{{{zz{zz{{z{{{{{{{z{z{{{{{{zz{{{{z{zz{{{zz{{z{z{{{{{{zz{{z{{z{{{z{{{z{{{{z{{{{{z{{zz{{{{{{{{{{{{zz{zz{z{{{z{{{{{zz{{zzz{{{{{{z{{{{{z{{zzz{{{zzz{{z{{{{{{zz{zz{{{{z{{{{{z{{{z{{z{{zzzz{{{zz{zzzzz{z{{{{{{{{{{{{z{{z{{{{z{{{z{z{{{{zzzzz{{{{{{z{{{zz{{{z{{{{zz{{z{{zz{z{zzzzz{{{{{z{{{zz{{z{z{{{{{{{{{zzz{{z{z{zzz{{z{zzzzzzz{{{z{z{{z{z{z{{z{z{{{{z{z{{z{zzz{zz{{{{{{{{{{zzz{{{z{{z{{{zz{{{{{{{z{z{z{z{{{{z{z{{z{z{{{{{{zzz{z{{z{{zz{z{{{{{{{z{{z{{{zzz{z{z{{zz{zz{{{z{z{z{{{{zzz{zz{zz{{{{z{{zzz{zzzzz{z{z{z{z{{{z{{{zz{{z{{z{zz{{zz{zz{{zzz{z{zzz{{{{z{{z{zzzz{zz{{{{{zzz{{zzzz{{{zzz{{zzz{zzzzz{{z{{{z{zz{z{{z{zz{z{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{z{{{{{{{{{z{{{{{z{{{{{{{{{{{{{{{z{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{z{{{{{{{{{{{z{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{z{{{{{{{zz{{{{{{z{{{{{z{{z{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{z{{{{{{{{{z{{{{{z{{{{{{{{{{{{{{{{{{{{{{z{{{{{z{z{{z{{{{{{z{zz{{{{{z{{{{{zz{{{{{{{{{{{{z{{{{z{z{{{{{{{{{{{{{{{{{{{{{{{z{{z{{{z{{{{z{{{{{{z{z{{{{zz{z{{zz{{{{{z{{{{{{{{{zz{{{{{{{{{{{{{z{z{{z{{{{z{{{{{{{{z{{z{{{{z{{{{z{{{{{{{z{{{{{{{{z{z{{{{{{{{{z{{{{{{{{{z{{{{{{{z{{{{{{{z{{{{{{z{{{{{{{{{{{{{{z{{{{{{{{{{{z{z{{zz{{{{{zz{{zz{{z{{z{{z{{{{{{{{{{{{{{z{{{{z{{{{{{{{{{{{{{{{{{{{{{{{{z{{{{{{{z{{{{{{{{z{{{{z{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{z{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{z{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{z{{{{{{{{{{{{{{{{{{{{{{{{z{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{z{{{{{{{z{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{zz{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{z{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{z{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{z{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{|{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{|{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{|{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{|{{{{{{{{{{|{{{{|{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{|{{{{{{{{{{{{|{{{{{{{{{{{{{{{{{{{{|{{{{{{{{|{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{|{{{{{{{{|{{{{{{{{{{{{{{{{{{{{{{{{{|{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{|{{{{{{{{{{{{{{{|{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{|{|{{{{{{{{{{{{{{{|{{{|{{{{{{{{{{{{{{{|{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{|{{{{{{{{{{{|{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{|{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{|{{{{{{{{|{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{|{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{|{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{|{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{|{{{|{{{{{{{||{{{{{{{{{{{{{{{{{{{{{{{{|{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{|{{{{{{{{{{{|{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{|{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{|{{{{{{{{{{{{{{{{{{{{{{{|{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{|{{{{{|{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{|{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{|{{{{{{{{{{{{{{{{|{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{|{{{{{{{|{{{{|{{{|{{{{{{{{|{{{{|{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{|{|{{{|{{{{{{{{{{{{{{{{|{{|||{{{|{{{{{{{{{{||{{{{{|{{{|{{{{{{|{||{{{{{|{{{|{{{{{{||{{{{{{{{{|{{{{{{{{{|{{{{{{{{{{{{{{{{|{{{{{{{|{||{{{{|{{{{{{{{{{{|{|{|{{|{{{{{{{{{|{|{{{|{{{{{{{{{|{{|{{{{|{{{{{{{{{{{{{|{{{{|{{{{|{{{{{{{{|{{{{{{{{{{|{{{{{{{{{{{|{|{{{{{{{{{{{{{{|{{{{{{|{{{{{{{{{{{{{{|{{|{{{{{||{{{{|{{{{{{|{{{{{{|{|{||{{{{{{{{{{{|{{{{{{{{{|{{{{{{{{{{{{{{{{{{{{{{{{{|{{|{{{{{{{{{{{{{{|{{|{{{{{{{{{{{{{{{{{{|{{{{|{{{{|{{{|{{|{{{{{{{{{{{|{{{{{{{{{{{|{{{{{{{{{{{{{{{{{{||{{{{{{{{|{{|||{{{{{{{{{{{{{{{{{{{{{{{{{{{|{{{{{|{{{{{{|{{{|{{{{{{{{{{|{{{{{{{|{{{{{{{{{{{{{{{{{{{{{{|{{{{{{{{{{{{{{{{|{{{{{{{{{{{{|{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{|{{{|{{{{{{{{{{{{{{|{{{{{|{{{{{{{{{||{{{{{{{{{{{|{{{{{{{{{{{|{{{{{{{{{{{{{{|{{{{{{{{{{{{{{|{{{{{{{{{{{{|{{{{{{{|{{{{{{{|{|{|{{{{{{{{{{|{{||{|{{{{{{{|{{{{{{{|{{{|{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{|{{|{|{{|{{{{{{{{{{{{{{{{|{{{{{{|{{{{{{|{{{{{{{{{{{{{{{{|{{|{{{{{{{{{{{{{|{{{{{{{{{|{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{|{{{{|{{{{{{{{{{{{{{{{{{{{{{{|{{{{{{{{{{{{{{|{{{{{{{{{{{{{{{{{{{{{|{{{{{|{{{|{{{{{{{{{{{{{{{{{{|{{{{{{{{{{|{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{|{|{{{{{{{{||{{{{{{|{{{{{{{|{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{|{{{{{{{|{{{|{{{{{{{|{|{{{|{{{{{{{{{||{{|{|{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{|{{{{{{{{{{{{{{{{{{{{{{|{{{{{{{{{{{{{{{{{{{{{|{{|{{{{|{|{|{{{{{{|{{{{|{|||{{{{{|{{{|{|{{|{{|{{||{|{{{{|{{{|{|{{{{||{{{{{{||{{||{{{|||{{|||{||{{||{|{{||{||{|{|{|||{{{||{{{|{{{{{|{||||||||{||||||{{{|{|{{|{{|{{{{|{|{{||{{{{|||{{{|{|{{|||||{||{{{{||{||{{{{|{||||{|{{{{|{||{|{|{|{{|||{{||{{{|||{{{{{{{|||||||{{|{{|||{|{{{|{|{|||{|{{{{{||{{{|{{{{||{||{||{{|{||{{||||{{||{{{{||{|{|{{{{|||{{||{||{|{{{{||||{{|{{|{{|{|{{{||{{|{|{{{{||{|{|{|{{|{{{|{{{|{{|{||{{{{{{{|||{{{||||{|{||{|{|{||{||{{|{|{||{|{|{|{{{|||{|{{{{|{{|||{{{|{||{{{{{{|{{{{|{|{||{|{||{|{||{||{{|{{{{||||{{{|{{|{|{{{{|{|{|{||{{{{{|{{|||{|{|{||{{||||{||{{|{{{{|{|{{{{{{{{||||||||{{{{|{{{{{|{{{{{|||{{{||||{{|{||{|{|{{{{{{{||{{|{{||{|{|{|{{{{{{{{|{{|{{|{{{{|{{|{|{{||{|{||||{|{||{{|{||||{||||{||||{|{|{{||||{{|{|{{{{|||{|||{|{{{{|{|{{{{{||{|{{{{|{|{|{|||{|{{{{{{||{{||||||||||||{||{{||||||{|||{||{||||||||||||{|||{|{|{|{||{|{|{{|{{{{{|||{||{{{|{||{|{|||{||{{{{{{{||{{||||||{||{||{{{{|{||{|{{||||{||{|{||{||{||||{||{{||||||{{{||||{|{|{{{||||{|||{|{|{{|||||{|{{|||{{{|||{|{{|{|{|{{|{{{{{|{|||{{{{|||{|{{{|{||{|||{|{{||{|{||{|{|{|{{{||||{|||||{|{|{||{|{|{||{{{|{|{||{||{{{|{{{{{{|{|||{||{{|{||||{||||{||{{|{{||{||{{{{||{|||{|{{{|{||{||{{|{|||{{{|{||{{|{{||{{{|{|{|{|{{|||||{{{{{|{{{{{{|{{|{|{{|{|{{{|{{{{{|{||{{|{||{{|||||{|||{{{{||{{||{{||{{{||{|{||{|{{|{|{{||{|{|||{||||{{|{|{|||{{{{|{|||{|{{|{{{{||{{|{||{{|{||||||{|{|||||{{||||{||||||||{{||||||{||{|{|{|||{||||{{|||{{||||{||{{||{||||||{{|||{|{||||||{{||||||{{{{|{|{{||||{{||{|{||{{{||{|{|||{||||||{|||{||||||{||||||{{||{||{{|||{{{||{{{||||||{|||||||||||{{||||||{{|{{||||{|||{||{{|{{{{||||{|||||||{{||{||||{||||||||||{|{{||{||{||||{||{|{{{||||||||{|{||||||{||||{|||{|||||{||||{||{||||{||{{|||{|{|||||||{{||{|||{||||||||||||||||||{|{{{||||{{||{|{{||||||||{|||{||||{|||{||||{|||||||||||||{|{|||||{||{||{|{|||||{|||{||||||{||||||{{|||||{{{||{||||{||{{|||||{|||||||||||||{|||||||{|{|{||||||||||||{|||||||{|{{|{||||||||{|{||{|{||||||{|||{||||||||||||||||{|||{{{|{||||{|||||||||||||||||||{|||||||||||||||||||||{||||||||{||||||||||||||{||||{||{|||||||||{||||{||||{||||||||{||||||||||{{|{|{||||||||||||||||||{||||{{{|{|||||{{||||{|||{|{||||||||||{|{||||||||||||||||{|||||{||||{|{||||||||||{{|{{||{|||{{|||{||{||||{|||||{|||||||||||{||||{{|{|||||{{|{||{|||{|{||||||||||{|{|{|{||||||{|||{{|||{|||{{|||||{|||||{||||||{|||||||||||{{||||||{|{|||{||{|{|||{|||||||||||||||||||||||||{|||||{||{|||||{||{||||||||{|{{{||||||||||||{{|{|{|||||||||||||||||{{||||||{||{|{|{||{||||{{{||{|||{{||||{||{||||||||||{|||{|||||{|||||{|||||{|||||||{|||{||||||{|||{{|{|||{|{|{||||||{|{{|{{{||||||||||||||{|||{{||||||{{||||{|||||{|||||{|{{{{|||{||||||||{{|||{|||||||||||||||||||||{|||{|||||||||||{||||||||||{|||||||||||||||||||{|||||{|||||||||||||||||||{||||||||||||||||||{|||||||||||||||||||||||||||||||{|||||{|||||||||||||||||||||||||||{{|||||||||||||||||||{||{||{{|||||||||||||||||||||{||||||||||||||||||||||||||||{{|||||||||||||||{{{||||||||||||{||||||||||||||||||{|||||||||||{|||||||{{||||||||||||||||||||||{||||||||||||||||||||||||||||{||||||||||||||||{|||||||||{||||||||||||||||||{|||||||||||{||||||||||||||||||{||||||||||{||{{||{{||||{|||||||||||||||||||||||||||||||||||||||||||||||||||{||{|||||{|{|||{||{|||||||{{{{|||{{|||{|||||||{||||||{||{|||||||{|||||||||{||||{|||||||||||||{|||{|||||{||||||||||||{|||||||||||||||||||||||||||||||||||||||||{||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||{|||||||||||||||||||||||||||||||||||||||||||||||||||{||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||{||||||||||||||||||{|||||||||||||{||||||||{|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||{|||||||||||||||||||||||||||||||||||||||||||||||||||||||{||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||{||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||{||||||||||||||||||||||||||{||||||||||||||||||||||{|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||{||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||{||||||||||||||||||{|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||{||||||||||||||||||||||||||||||||||||||||||||||{|||||||||{|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||{|||{|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||}||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||}}|||}}}|||||||||||}||||}|}|||}|||||||}||||||}||}||}}|}|}|}|||}}}||||}|||||||}||||||||||||||||}||}|}|||}|||||||||||}||||||}|}|}|||||||||||||||||||||||||}}}|||||||||||||||}|||}|||}}||||||||}||||}|||}|}|}||}|}||}||||||}||||||}}||||}||||||}||||||||||||||||||}||||||}||||||}|||||||||||||||||||}|||||||||}||}|}|||}|||||||||||||||||||||}||||||||}||||||||||||}||||||||||||||||||||}|||||||||||||||||||}||||||||||||||||||||||||||||||||||||||||}||||||}|||}|||||||}|||||||||||||||||||||||||}|||||||||||||}|||||||||||||}|||||||||||||||||||||||}|}||||||||||||||||||||||||||||||||||||||||||}}|||||||}|||||||||||||||||||||||||||||||||||||||||||||||||||||}|}|||||||||||||}||||||}|||||||}|||||}|||}||||||}|||||}}|||||||}|||||||||}||||||||||}|||||}||||||}}||||}|||||||||||||}}||||||||}|}||||||}}|||||}|}|||}||||||||||}}||}|||}||||}||||||||||}|||||}|}}|||||}||||}}}}||||||||||||||}|||}}}||||}||}||||||||}||||}}}|||}}|}}}|||||||||||||||||}||}|||}}}||||}|||||}||||||||||}||||||||||||}}}|||}||||||||||}|||||}||}||}||||}||}}}|}|}}||||||}||}||||}||}}|||||||}|||}}||||||||||}|}||}}|||}|||}|}|||||||||||||||||}|||||||}|}||}}|||||||||||||}||}|}||||||}||||}|}}|}}}}}|}|||||||||}|}||}|}}|||}}}|||||||||||}||}}|}}|||}|}|}|||||||||||||||}}|||||||||||||}}|}||}}}}}||||||}|||||}||}}|||}||||}|||}||||}||||}|||||||}|||}|}|||}|}|||}|}}}}||}}}|}}|}}}}||}|||}}|}|}}|||}|}||}|}}}|}}}}}}|}}}}}|}|||}||}|}|}}||||||}|||}}|||}}|}}}|}|}}}|}|}}}}}}}}}|}}|||||}}||}|}|}|}||}}}}}}|}}||}}|}||}}}||}|||}|||||}|}|}|}|}|}}|||}|||}||}|}||}|}}}}}||}||||}}|||}}}}|}|||}|}|}}|}}}||||||}|||}|}|}|}}||||}}}}}|}}|||||}}|}}}}}|}|}||}|}|}}||||||||}|}|}}||}|}}}|}}||||}}}|||||||}||||||}}}}}|||||}|||||||}|||||}}||}|}}|}||||}||||}}||}||}|||||}}}||}}||}}|||||}}|}}|||}|}||}||||||||}||}}||||||||}}|}}|}||}|||||}|}|}|}|}}|}|}}}}|}}}|}|||}|}}|||||||}|||}|||}}||||}|||||}|||||||}}}}||||}}|}|||||||}}||}}}}|||||||}|||||||}||}|||||||||}|}|}||}|||}||||||||||||}}}|||}}||||}|}||||||||||}|}|}}|}|}||}}}}}}|}||}|}}}}}}}|}||}|}}}|}||||}}|}|}|}}||}||}|||}|}|}||||}}}|}}}|}}}|}|}}|}}}}||||}}|||}||||||}|}||}|||}}}}|||}}|}|||}||}}}|||||}|||}|}}|}||}}||||||||||||}}}|||}||||||||}||}}|}|}|}||||||}|}}}|}}|}}|||}||}}}|}|}|}||}}||||}|}}}||}||}|||}}|}||}|}}|}}}}}|}}}}|}}|}}||}}|}}|}}|}}|}|}|}|||||}|}|}}||}}}}}|||||||}}|||}||}||}}||||}||||||}||}}||}|}|||||||}|}|}}}}}|}||}||}}||}}}|||||}||||}||}}}}|||}||}|}|}||||}}}||}||||}|}||}||}||||}}|}||||}|||}}||||||||||||}}|||||}}}||}|}|||}||}|}}}|}}|}}|}}||||}}|||}|}|}}||}}||}}}||}|||}|}}}||}|}}|}|||}}}|||}}||}}}|||}||}|}||||||}}}}}||}}}|||||}}||}}||||}}}||||}||}|}||}|||}|}|||}|}|||}}|}|||}|}}}}|}}}}}}|}}}}}}}|}}}}}}}}}}}}}}}}}}|}}}}}}}}|}}}}}}}}}}}}||||}}|}}}}}}}}}}}}}}}}}}|}}}}}|}}}}}}}|}}}}}}}}}}|}|}}}}}}}}}}|}}}}}}}}|}}}}}}||}}}|}}}}}}}}}}}}}}}}|}|}|}}|}}}}}|}}}}|}|}}}}}}}}}}}}}|}}}}}}}}}}}}}}}|}}||}}}}}|}}}}}}}}|}}}}}|}}}}}}}}}}}|}|}}}|}}|}}}}}}}}}}}}}}}}}}}}}}|}}}}}}}}}}}}}}}}|}}}}}}}}|}}}}}}}}}}}|}}|}|}}}}}}|}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}|}}}}}}}}}}}}}}}}}}}|}}}}}}}}}}}}}}|}}}}|}}}}}}}||}}}}}}|}}}}}}}}}}}}}}}}|}}}}}}}}}||}}}}}}}}}}}}|}}}}|}}}}}|}}|}}}}}}}}}}}}|}}|}}}}}|}}}}|}}}}}}}}}}}}}}}}}}}}}}|}}|}}}}}|}}}|}}}}}}}|}}}|}}||}}}|}}}}}|}}}}}}}|}}}}|}}}}}}}}}|}}}}}}}|}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}|||}|}||}}|}|}|}}}}}}}}}}}}}}}}}}}}}}}|}}}}}}}}}}}}}}}}}}}}}}}}}}}}}|}}}}}}|}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}|}}}}}}}|}}}|}}}}}|}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}|}}}}}}}}}}}}}|}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}|}}}}}}}}|}}}}}|}}}}}}|}}}}}}}}}|}}}}}}}}}}}}}}}}}}}|}}|}}|}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}|}}}}}}}}}}}}}}}}}|}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}|}}}}}}}}}}}}}}}|}}}}}}}}}}|}|}}|}}}}}}}|}}}}}}}}}}}}}}}}|}}}}}}}}}}}}}}}}}|}}}}}}}}}}}}}}}}}|}}}}}}}}}}}}}}}}}|}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}|}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}|}}}}}}}}}}}}}}}}}}}}}}}}|}}}}||}}}|}}}}}}}}}}}}}}}}}}}|}}}|}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}|}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}|}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}|}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}|}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}|}}}}}}}}|}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}|}}}}}}}}}}}|}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}|}}}}}}}}}}}}}}}}}}}}}}}|}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}|}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}|}}}}}}}}}}}}}}}}}}}|}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}|}}}}}}}}}}}}}}}}}}}}}}|}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}|}}}}}}}}}}}}}}}}}|}}}}}}}}}}}}}}}}}}}}}}}}}}}|}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}|}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}|}}}}}}}}}}}}}}}}}}}}}|}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}|}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}|}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}|}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}~}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}~}}}}}}}}}}}}}}}}}}}~}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}~}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}~}}}}}~~}}}}}}}}}}}}}}}~}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}~}}}}}}}}}}}}}}}}}}}}}}}}}~}}}}}}}}}}}}}}~}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}~}}}}}~}}}}}}}}}~}}}}}}}}}}}}}}}}}}}}}}}}~}}}}}}}~~}}}}}}}}}}}}}}}}}}}~}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}~}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}~}}}}}}}}}}}}}}}}}}}}~}}}}}}}}}}}~}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}~}}}}}}}}}}~}}}}}}}}}}}}}}}}}}}}}}}}~}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}~}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}~}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}~}}}}}}}}}}}}}}~}}}}}}}}}}}}}~}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}~}}}}}}}}~}}}}}}~}}}}}~}}}}}~~}}}}}}}}}}}}}}}}}}}}}}}}}~}}}}}~}}~}~}}}~}}}}}}}}}}}}}~}}}}}}}}}}}}}}}}}}~}}}}}}~}}}}}}}}}~}}}}}}~}}~}}}}}}~}}}}}}}}}}}}}}}}}~}}}}}}}~}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}~}}}}}}}}}}}}}}}}}}}~}}}}}}~~}}}}}}}}}}}~}}}}~}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}~}}}}}}}}}~}}~}~}}}}}}~}}~}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}~}~}}}}}}}}~}}~~}}}}}}}}}}}}}}}}}}}~~}}}}}}}}}}}}}}}}}}}}}}}}}}~}}}}}}}}}}}~}}}}}}}}}}}~}}}}}~}}~}}}}}}}}}~}}}}}}}}}}}}}}}~}}~}}}}}}~}}}}}}}}}}}}}}}}}}}}}}}}}}}}~}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}~}}~}}}}}}}}}}}}}}~}}}}}}}}}}}}}}~}}}}~}}}}}}}}~}}~}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}~}}}}}~}~}~}~~}}}}~}~}~}}}}~}}}~~}}~~}}}~~}}}}}}~~}}}}}}~}}}}~}~~}}}~}}}~}}}}~}}}}}}~}}}}}~}~~}}~~~}~~~~}}}}}~}~}~}}}}}}}}~}}}}}~~~}}~}~}}~~}~}}}}}}}}}}}}}}}}}}}}}}}~~~}}}~}~~}~}~~}}}}}~}}}}~}}}~~}~}}}}~~}}~}}}}~}}}~}}}}}}}}}}}}}~}}}}}~}}~}}}}}}~}}}}}}}~~}}}~}~}}~}}}}~}~}}}}}}}}}}}}}}}}}}}~}}}}}}}}}}}}~}}}}~}~}}}}}}}}}}}~~}~}}}}}}}}}}}}}~}}}}}}}~}~}~}}}}}}}}}~}~~~}}}}}}}}}}~}}~}}}~}}}}~}}}}}~}}}}~~}}}~~}}}}}~}}}}}}}~}}}~}}}}}}}}~}}}}}}}~}}}}}}}}~~}}}}~}}~}}~}}}}}}}~~~~}}}~~}}~}}}~~~}}~}}}}~~~}}~}}}}}}}}}}}}~~}}}}~~}}~}}}}}}~}~~}}}}}~}}}}}}}}}}}}}}}}}}}}}}}}~}}}~}}}}}}}}}}~~}}}}}}}}}}}}}}}}}}}}~}}}}~}}}}}}}}}}}}}}}~~}~}}}}}}}}~}~}}}}}}}}}}~}~}~~~~}~~~~~~~~}}}~~~~~~~~}~~~~~~~~~~~~}~}~~~~}~~}~~~~~~~~~~~~~~~~~~~~~~~~}~~~~~~~~~~~~~~~~}~~~~~~~~~~}~~~~~~~~~~~}~~~~~~}~~~~~~~}}~}~~~}}~~~~~}~~~~~~}~}~~}}~~~~~~}~~~~~}~~}~~~~~~~}~~~}~~~}~~~~}~~~~~}~~~}~}~~~~~~~~~~}~}~~~~~~}~~~~~~~~~~~~~~~}~~~~~~~~~~~~~~~~}~~~~~~}}~~~~~~}}~~}}~~~~~~~~~~~}}~~~~~~}~}~~~~~~}~~~~~~}~~~~}}~~~~~~~~~~~}~}~~}~~~}~~~~~}~~}~~~~~~~~~~}}~~~~}}~~}~}~~}~}~~~~}~}~~~}~~~~~~~}}~}~}~~}~~~~~~~~}~~~~~}}}~}}~~~~~~}}}}}}}}}~~~~~~~}~~~~~}~~}~}}~~~~}~}~~}~~~}~~~~~~~~~~~}}}~}~~}}}}~}~~}~~~~}}~}~~~~~~~}~~~~}~~~~~~}~}~}}~}~~}~}~~}}}}~~~~~~~~~~~~}~~}}~~~~~~~~~}~~~~}}}~~}}~~~}~}~}~~}~}}~}}~}}~}}}}~~}~~~}}}}}~}~~}~~~}~}}~}~}~}~~~}~~~~~~}~~}}}~~}~~~~~~~}~~~~~~~~}}}~~~~~~~~~~}~~~~}~~}}}}~~~~~~~~~~}~~~~}}~}~~}~~~~~~~~}~~~~~~~~~~~~~~~~~~~~~}~~~}~~~~~~~~}~~~~~}~~~~~~}~~}~}~~}}~~~}~~}}}~~}~~}~~~~}~~~~~~~~~~~~~~~~~~~~~}~~~}~~~~~~~~}~~~}~~~~}~~~~~}~~~}~~}}~}~}~~~}~}~}~}~}~~}~~}~~~~~}}}~~}~}}~~~~~~~~}~~~~}~}~~}~}}~~~~~}~~}~~~~}}~~~~~~~~~}~~~~~~}}~}~}~~~}~~~~~}~}}~}~}}~}~~~~~~~~~~~~~~~~~~}~~~~~}~~~~~}}~}~~~~~~~~~~~}~}~~~~~~~~~}~~~~}}~}~}~~~}~~~~}~}~~}~~~~~~~~~~}~~~~}~~~~~~}~~~~}~~~~~~~~}~~~~~~}~~~~~}~}~~~~~~~~}~~}~~~~~}}~~~~~~~~~~}~~~~}~~~}}}~~}~~~~~~~~}}}}~~~}~}~~~~~~~~~~~}~~~~~~}~~~~~}~}~~~~~~~~~~~~}}~}~}}~~~~~}~~}~~~~~}}}~~}~~}~~~~~~~~~}}~~}~~~~~~~~~~~~~~~~~~~~~~~}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}~~~~~~~~~~~~~~~~}~~~~~~~~~~~~~~~~~~}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}~~}~~~~~~~~~~~~~~~~~~~~~~~~~~}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}~~~~~~}~~~~~~~~}~~~~~~~~}~}~~~~~}~~~~~~}~~~~~~~~~}~~~~~~~~}~~~~}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}~~~~~~}~~~~}~}~~~~~~~~~~~~~~~~~~}~~}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~}~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ \ No newline at end of file diff --git a/src/mod/applications/mod_fsv/freeswitch.yuv b/src/mod/applications/mod_fsv/freeswitch-cif.yuv similarity index 100% rename from src/mod/applications/mod_fsv/freeswitch.yuv rename to src/mod/applications/mod_fsv/freeswitch-cif.yuv From aa654da777ff3cc194d4c53e2efcb1b73f5f206b Mon Sep 17 00:00:00 2001 From: Seven Du Date: Thu, 20 Nov 2014 22:40:27 +0800 Subject: [PATCH 055/629] FS-7500: use SWITCH_DEFAULT_VIDEO_SIZE as slice size --- src/mod/codecs/mod_openh264/mod_openh264.cpp | 2 +- src/mod/codecs/mod_vpx/mod_vpx.c | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/src/mod/codecs/mod_openh264/mod_openh264.cpp b/src/mod/codecs/mod_openh264/mod_openh264.cpp index 4c20d8c941..5019880928 100644 --- a/src/mod/codecs/mod_openh264/mod_openh264.cpp +++ b/src/mod/codecs/mod_openh264/mod_openh264.cpp @@ -42,7 +42,7 @@ #define FPS 20.0f // frame rate #define H264_NALU_BUFFER_SIZE 65536 #define MAX_NALUS 100 -#define SLICE_SIZE 1200 //NALU Slice Size +#define SLICE_SIZE SWITCH_DEFAULT_VIDEO_SIZE //NALU Slice Size SWITCH_MODULE_LOAD_FUNCTION(mod_openh264_load); SWITCH_MODULE_DEFINITION(mod_openh264, mod_openh264_load, NULL, NULL); diff --git a/src/mod/codecs/mod_vpx/mod_vpx.c b/src/mod/codecs/mod_vpx/mod_vpx.c index 066c23ed78..13d2382f84 100644 --- a/src/mod/codecs/mod_vpx/mod_vpx.c +++ b/src/mod/codecs/mod_vpx/mod_vpx.c @@ -39,7 +39,7 @@ #include #define FPS 15 -#define SLICE_SIZE 1200 +#define SLICE_SIZE SWITCH_DEFAULT_VIDEO_SIZE #define KEY_FRAME_MIN_FREQ 1000000 SWITCH_MODULE_LOAD_FUNCTION(mod_vpx_load); From 55c5f1da1f15cb18fb82848fd706027279425516 Mon Sep 17 00:00:00 2001 From: Seven Du Date: Thu, 20 Nov 2014 23:19:20 +0800 Subject: [PATCH 056/629] FS-7500: fix decode_video App --- src/mod/applications/mod_fsv/mod_fsv.c | 62 +++++++------------------- 1 file changed, 17 insertions(+), 45 deletions(-) diff --git a/src/mod/applications/mod_fsv/mod_fsv.c b/src/mod/applications/mod_fsv/mod_fsv.c index e621ad15a4..2a20e8d4f6 100644 --- a/src/mod/applications/mod_fsv/mod_fsv.c +++ b/src/mod/applications/mod_fsv/mod_fsv.c @@ -700,10 +700,8 @@ SWITCH_STANDARD_APP(decode_video_function) { switch_channel_t *channel = switch_core_session_get_channel(session); switch_codec_t *codec = NULL; - switch_dtmf_t dtmf = { 0 }; switch_frame_t *frame; uint32_t width = 0, height = 0; - switch_time_t last = switch_micro_time_now(); uint32_t max_pictures = 0; uint32_t decoded_pictures = 0; @@ -728,31 +726,18 @@ SWITCH_STANDARD_APP(decode_video_function) goto done; } + switch_channel_set_flag(channel, CF_VIDEO_DECODED_READ); + while (switch_channel_ready(channel)) { - switch_core_session_read_video_frame(session, &frame, SWITCH_IO_FLAG_NONE, 0); + switch_status_t status = switch_core_session_read_video_frame(session, &frame, SWITCH_IO_FLAG_NONE, 0); if (switch_channel_test_flag(channel, CF_BREAK)) { switch_channel_clear_flag(channel, CF_BREAK); break; } - switch_ivr_parse_all_events(session); - - //check for dtmf interrupts - if (switch_channel_has_dtmf(channel)) { - const char * terminators = switch_channel_get_variable(channel, SWITCH_PLAYBACK_TERMINATORS_VARIABLE); - switch_channel_dequeue_dtmf(channel, &dtmf); - - if (terminators && !strcasecmp(terminators, "none")) { - terminators = NULL; - } - - if (terminators && strchr(terminators, dtmf.digit)) { - char sbuf[2] = {dtmf.digit, '\0'}; - - switch_channel_set_variable(channel, SWITCH_PLAYBACK_TERMINATOR_USED, sbuf); - break; - } + if (!SWITCH_READ_ACCEPTABLE(status)) { + break; } if (frame && frame->datalen > 0) { @@ -774,35 +759,22 @@ SWITCH_STANDARD_APP(decode_video_function) continue; } - if ( 1 ) { /* video part */ - switch_core_codec_decode_video(codec, frame); - - if ((switch_test_flag(frame, SFF_WAIT_KEY_FRAME))) { - switch_time_t now = switch_micro_time_now(); - if (now - last > 3000000) { - switch_core_session_refresh_video(session); - last = now; - } - continue; + if (frame->img) { + if (frame->img->d_w > 0 && !width) { + width = frame->img->d_w; + switch_channel_set_variable_printf(channel, "video_width", "%d", width); } - if (frame->img) { - if (frame->img->d_w > 0 && !width) { - width = frame->img->d_w; - switch_channel_set_variable_printf(channel, "video_width", "%d", width); - } + if (frame->img->d_h > 0 && !height) { + height = frame->img->d_h; + switch_channel_set_variable_printf(channel, "video_height", "%d", height); + } - if (frame->img->d_h > 0 && !height) { - height = frame->img->d_h; - switch_channel_set_variable_printf(channel, "video_height", "%d", height); - } + decoded_pictures++; + switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_NOTICE, "picture#%d %dx%d\n", decoded_pictures, frame->img->d_w, frame->img->d_h); - decoded_pictures++; - switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_NOTICE, "picture#%d %dx%d\n", decoded_pictures, frame->img->d_w, frame->img->d_h); - - if (max_pictures && (decoded_pictures >= max_pictures)) { - break; - } + if (max_pictures && (decoded_pictures >= max_pictures)) { + break; } } } From a74b6f62a229bd3dee62ee53980fff0ade5c268b Mon Sep 17 00:00:00 2001 From: Anthony Minessale Date: Thu, 20 Nov 2014 10:59:13 -0600 Subject: [PATCH 057/629] FS-7500: fix some of the debugging tools --- src/mod/applications/mod_fsv/mod_fsv.c | 96 ++++++++++++++++++-------- src/switch_core_media.c | 6 ++ 2 files changed, 75 insertions(+), 27 deletions(-) diff --git a/src/mod/applications/mod_fsv/mod_fsv.c b/src/mod/applications/mod_fsv/mod_fsv.c index 2a20e8d4f6..77fa89dfcd 100644 --- a/src/mod/applications/mod_fsv/mod_fsv.c +++ b/src/mod/applications/mod_fsv/mod_fsv.c @@ -568,7 +568,7 @@ SWITCH_STANDARD_APP(play_yuv_function) switch_channel_t *channel = switch_core_session_get_channel(session); switch_frame_t vid_frame = { 0 }; int fd = -1; - switch_codec_t *codec = NULL; + switch_codec_t read_codec, *codec = NULL; unsigned char *vid_buffer; // switch_timer_t timer = { 0 }; switch_dtmf_t dtmf = { 0 }; @@ -578,13 +578,38 @@ SWITCH_STANDARD_APP(play_yuv_function) switch_byte_t *yuv = NULL; int argc; char *argv[3] = { 0 }; + switch_codec_implementation_t read_impl = { 0 }; char *mydata = switch_core_session_strdup(session, data); + uint32_t loops = 0; - if (!switch_channel_test_flag(channel, CF_VIDEO)) { - switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_WARNING, "Channel %s has no video\n", switch_channel_get_name(channel)); + switch_channel_answer(channel); + + while (switch_channel_ready(channel) && !switch_channel_test_flag(channel, CF_VIDEO)) { + if ((++loops % 100) == 0) switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_WARNING, "Waiting for video......\n"); + switch_ivr_sleep(session, 20, SWITCH_TRUE, NULL); + continue; + } + + switch_channel_audio_sync(channel); + + switch_core_session_get_read_impl(session, &read_impl); + if (switch_core_codec_init(&read_codec, + "L16", + NULL, + read_impl.samples_per_second, + read_impl.microseconds_per_packet / 1000, + read_impl.number_of_channels, SWITCH_CODEC_FLAG_ENCODE | SWITCH_CODEC_FLAG_DECODE, + NULL, switch_core_session_get_pool(session)) == SWITCH_STATUS_SUCCESS) { + switch_log_printf(SWITCH_CHANNEL_SESSION_LOG(session), SWITCH_LOG_DEBUG, "Audio Codec Activation Success\n"); + } else { + switch_log_printf(SWITCH_CHANNEL_SESSION_LOG(session), SWITCH_LOG_ERROR, "Audio Codec Activation Fail\n"); + switch_channel_set_variable(channel, SWITCH_CURRENT_APPLICATION_RESPONSE_VARIABLE, "Audio codec activation failed"); goto done; } + switch_core_session_set_read_codec(session, &read_codec); + + argc = switch_separate_string(mydata, ' ', argv, (sizeof(argv) / sizeof(argv[0]))); if (argc == 0) { @@ -630,7 +655,7 @@ SWITCH_STANDARD_APP(play_yuv_function) close(fd); fd = -1; - switch_channel_answer(channel); + codec = switch_core_session_get_video_write_codec(session); @@ -669,9 +694,8 @@ SWITCH_STANDARD_APP(play_yuv_function) break; } } - - /* echo of opus tends to seg chrome */ - //if (read_frame) switch_core_session_write_frame(session, read_frame, SWITCH_IO_FLAG_NONE, 0); + + if (read_frame) switch_core_session_write_frame(session, read_frame, SWITCH_IO_FLAG_NONE, 0); sprintf(ts_str, "%" SWITCH_TIME_T_FMT, switch_micro_time_now() / 1000); text(img->planes[SWITCH_PLANE_PACKED], width, 20, 20, ts_str); @@ -691,43 +715,37 @@ SWITCH_STANDARD_APP(play_yuv_function) switch_img_free(img); done: + + switch_core_codec_destroy(&read_codec); + switch_core_session_reset(session, SWITCH_TRUE, SWITCH_TRUE); + // switch_channel_clear_flag(channel, CF_VIDEO_PASSIVE); switch_channel_set_flag(channel, CF_VIDEO_ECHO); } -SWITCH_STANDARD_APP(decode_video_function) +static void decode_video_thread(switch_core_session_t *session, void *obj) { + uint32_t max_pictures = *((uint32_t *) obj); + switch_codec_t *codec; switch_channel_t *channel = switch_core_session_get_channel(session); - switch_codec_t *codec = NULL; switch_frame_t *frame; uint32_t width = 0, height = 0; - uint32_t max_pictures = 0; uint32_t decoded_pictures = 0; - if (!zstr(data)) max_pictures = atoi(data); - - if (!switch_channel_test_flag(channel, CF_VIDEO)) { - switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_WARNING, "Channel %s has no video\n", switch_channel_get_name(channel)); + if (!switch_channel_ready(channel)) { goto done; } - switch_channel_set_flag(channel, CF_VIDEO_PASSIVE); - switch_channel_clear_flag(channel, CF_VIDEO_ECHO); - switch_channel_answer(channel); - switch_core_session_refresh_video(session); - - switch_channel_set_variable(channel, SWITCH_PLAYBACK_TERMINATOR_USED, ""); - - codec = switch_core_session_get_video_read_codec(session); + if (!codec) { switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_ERROR, "Channel has no video read codec\n"); goto done; } switch_channel_set_flag(channel, CF_VIDEO_DECODED_READ); - + while (switch_channel_ready(channel)) { switch_status_t status = switch_core_session_read_video_frame(session, &frame, SWITCH_IO_FLAG_NONE, 0); @@ -779,12 +797,36 @@ SWITCH_STANDARD_APP(decode_video_function) } } - switch_core_thread_session_end(session); + done: + + return; +} + +SWITCH_STANDARD_APP(decode_video_function) +{ + switch_channel_t *channel = switch_core_session_get_channel(session); + uint32_t max_pictures = 0; + const char *moh = switch_channel_get_hold_music(channel); + + if (zstr(moh)) { + moh = "silence_stream://-1"; + } + + switch_channel_answer(channel); + switch_core_session_refresh_video(session); + switch_core_media_start_video_function(session, decode_video_thread, &max_pictures); + + switch_ivr_play_file(session, NULL, moh, NULL); + + switch_channel_set_variable(channel, SWITCH_PLAYBACK_TERMINATOR_USED, ""); + + if (!zstr(data)) max_pictures = atoi(data); + switch_channel_set_variable(channel, SWITCH_CURRENT_APPLICATION_RESPONSE_VARIABLE, "OK"); - done: - switch_channel_clear_flag(channel, CF_VIDEO_PASSIVE); - switch_channel_set_flag(channel, CF_VIDEO_ECHO); + + switch_core_media_end_video_function(session); + switch_core_session_video_reset(session); } diff --git a/src/switch_core_media.c b/src/switch_core_media.c index f3c4270c4a..1a45579aae 100644 --- a/src/switch_core_media.c +++ b/src/switch_core_media.c @@ -4423,6 +4423,7 @@ static void *SWITCH_THREAD_FUNC video_helper_thread(switch_thread_t *thread, voi switch_status_t status; switch_frame_t *read_frame; switch_media_handle_t *smh; + uint32_t loops = 0; if (!(smh = session->media_handle)) { return NULL; @@ -4438,6 +4439,11 @@ static void *SWITCH_THREAD_FUNC video_helper_thread(switch_thread_t *thread, voi switch_core_session_refresh_video(session); while (switch_channel_up_nosig(channel)) { + if (!switch_channel_test_flag(channel, CF_VIDEO)) { + if ((++loops % 100) == 0) switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_WARNING, "Waiting for video......\n"); + switch_yield(20000); + continue; + } if (switch_channel_test_flag(channel, CF_VIDEO_PASSIVE)) { switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_DEBUG, "%s Video thread paused. Echo is %s\n", From 4dc155f1645c6e2bd68aec5770a88735f408a4e0 Mon Sep 17 00:00:00 2001 From: Anthony Minessale Date: Thu, 20 Nov 2014 11:28:05 -0600 Subject: [PATCH 058/629] FS-7500: add switch_core_session_raw_read to put session into raw read mode without needing a local codec var (WE SHOULD REFACTOR MUCH OF switch_ivr_* to use this...) and add echo_decode_audio option to echo app --- src/include/private/switch_core_pvt.h | 1 + src/include/switch_core.h | 1 + src/mod/applications/mod_fsv/mod_fsv.c | 23 ++--------------------- src/switch_core_session.c | 22 ++++++++++++++++++++-- src/switch_ivr_async.c | 5 +++++ 5 files changed, 29 insertions(+), 23 deletions(-) diff --git a/src/include/private/switch_core_pvt.h b/src/include/private/switch_core_pvt.h index 8beb502f87..79b384c78a 100644 --- a/src/include/private/switch_core_pvt.h +++ b/src/include/private/switch_core_pvt.h @@ -194,6 +194,7 @@ struct switch_core_session { switch_image_write_callback_t image_write_callback; void *image_write_callback_user_data; + switch_slin_data_t *sdata; }; struct switch_media_bug { diff --git a/src/include/switch_core.h b/src/include/switch_core.h index ba1c877919..9492d41220 100644 --- a/src/include/switch_core.h +++ b/src/include/switch_core.h @@ -861,6 +861,7 @@ SWITCH_DECLARE(switch_digit_action_target_t) switch_ivr_dmachine_get_target(swit SWITCH_DECLARE(void) switch_ivr_dmachine_set_target(switch_ivr_dmachine_t *dmachine, switch_digit_action_target_t target); SWITCH_DECLARE(switch_status_t) switch_ivr_dmachine_set_terminators(switch_ivr_dmachine_t *dmachine, const char *terminators); SWITCH_DECLARE(switch_status_t) switch_core_session_set_codec_slin(switch_core_session_t *session, switch_slin_data_t *data); +SWITCH_DECLARE(void) switch_core_session_raw_read(switch_core_session_t *session); /*! \brief Retrieve the unique identifier from the core diff --git a/src/mod/applications/mod_fsv/mod_fsv.c b/src/mod/applications/mod_fsv/mod_fsv.c index 77fa89dfcd..cdd9c3a03c 100644 --- a/src/mod/applications/mod_fsv/mod_fsv.c +++ b/src/mod/applications/mod_fsv/mod_fsv.c @@ -568,7 +568,7 @@ SWITCH_STANDARD_APP(play_yuv_function) switch_channel_t *channel = switch_core_session_get_channel(session); switch_frame_t vid_frame = { 0 }; int fd = -1; - switch_codec_t read_codec, *codec = NULL; + switch_codec_t *codec = NULL; unsigned char *vid_buffer; // switch_timer_t timer = { 0 }; switch_dtmf_t dtmf = { 0 }; @@ -578,7 +578,6 @@ SWITCH_STANDARD_APP(play_yuv_function) switch_byte_t *yuv = NULL; int argc; char *argv[3] = { 0 }; - switch_codec_implementation_t read_impl = { 0 }; char *mydata = switch_core_session_strdup(session, data); uint32_t loops = 0; @@ -591,24 +590,7 @@ SWITCH_STANDARD_APP(play_yuv_function) } switch_channel_audio_sync(channel); - - switch_core_session_get_read_impl(session, &read_impl); - if (switch_core_codec_init(&read_codec, - "L16", - NULL, - read_impl.samples_per_second, - read_impl.microseconds_per_packet / 1000, - read_impl.number_of_channels, SWITCH_CODEC_FLAG_ENCODE | SWITCH_CODEC_FLAG_DECODE, - NULL, switch_core_session_get_pool(session)) == SWITCH_STATUS_SUCCESS) { - switch_log_printf(SWITCH_CHANNEL_SESSION_LOG(session), SWITCH_LOG_DEBUG, "Audio Codec Activation Success\n"); - } else { - switch_log_printf(SWITCH_CHANNEL_SESSION_LOG(session), SWITCH_LOG_ERROR, "Audio Codec Activation Fail\n"); - switch_channel_set_variable(channel, SWITCH_CURRENT_APPLICATION_RESPONSE_VARIABLE, "Audio codec activation failed"); - goto done; - } - - switch_core_session_set_read_codec(session, &read_codec); - + switch_core_session_raw_read(session); argc = switch_separate_string(mydata, ' ', argv, (sizeof(argv) / sizeof(argv[0]))); @@ -716,7 +698,6 @@ SWITCH_STANDARD_APP(play_yuv_function) done: - switch_core_codec_destroy(&read_codec); switch_core_session_reset(session, SWITCH_TRUE, SWITCH_TRUE); // switch_channel_clear_flag(channel, CF_VIDEO_PASSIVE); diff --git a/src/switch_core_session.c b/src/switch_core_session.c index 44aff99849..bcb92197b1 100644 --- a/src/switch_core_session.c +++ b/src/switch_core_session.c @@ -99,7 +99,7 @@ SWITCH_DECLARE(switch_status_t) switch_core_session_set_codec_slin(switch_core_s NULL, read_impl.actual_samples_per_second, interval, - 1, SWITCH_CODEC_FLAG_ENCODE | SWITCH_CODEC_FLAG_DECODE, NULL, NULL) == SWITCH_STATUS_SUCCESS) { + read_impl.number_of_channels, SWITCH_CODEC_FLAG_ENCODE | SWITCH_CODEC_FLAG_DECODE, NULL, NULL) == SWITCH_STATUS_SUCCESS) { switch_log_printf(SWITCH_CHANNEL_SESSION_LOG(session), SWITCH_LOG_DEBUG, "Codec Activated L16@%uhz %dms\n", read_impl.actual_samples_per_second, interval); @@ -1298,6 +1298,9 @@ SWITCH_DECLARE(void) switch_core_session_reset(switch_core_session_t *session, s if (reset_read_codec) { switch_core_session_set_read_codec(session, NULL); + if (session->sdata && switch_core_codec_ready(&session->sdata->codec)) { + switch_core_codec_destroy(&session->sdata->codec); + } } /* clear resamplers */ @@ -1667,7 +1670,7 @@ static void *SWITCH_THREAD_FUNC switch_core_session_thread_pool_worker(switch_th switch_memory_pool_t *pool = node->pool; void *pop; int check = 0; - + switch_mutex_lock(session_manager.mutex); session_manager.starting--; session_manager.running++; @@ -3066,6 +3069,21 @@ SWITCH_DECLARE(void) switch_core_session_debug_pool(switch_stream_handle_t *stre session_manager.running, session_manager.busy, session_manager.popping); } +SWITCH_DECLARE(void) switch_core_session_raw_read(switch_core_session_t *session) +{ + if (session->sdata) { + if (session->sdata && switch_core_codec_ready(&session->sdata->codec)) { + switch_core_codec_destroy(&session->sdata->codec); + } + memset(session->sdata, 0, sizeof(*session->sdata)); + } else { + session->sdata = switch_core_session_alloc(session, sizeof(*session->sdata)); + } + + switch_core_session_set_codec_slin(session, session->sdata); +} + + /* For Emacs: * Local Variables: * mode:c diff --git a/src/switch_ivr_async.c b/src/switch_ivr_async.c index af127feb9e..e54a762924 100644 --- a/src/switch_ivr_async.c +++ b/src/switch_ivr_async.c @@ -648,6 +648,10 @@ SWITCH_DECLARE(switch_status_t) switch_ivr_session_echo(switch_core_session_t *s switch_channel_set_flag(channel, CF_VIDEO_DECODED_READ); } + if (switch_true(switch_channel_get_variable(channel, "echo_decode_audio"))) { + switch_core_session_raw_read(session); + } + while (switch_channel_ready(channel)) { status = switch_core_session_read_frame(session, &read_frame, SWITCH_IO_FLAG_NONE, 0); if (!SWITCH_READ_ACCEPTABLE(status)) { @@ -700,6 +704,7 @@ SWITCH_DECLARE(switch_status_t) switch_ivr_session_echo(switch_core_session_t *s } switch_core_session_video_reset(session); + switch_core_session_reset(session, SWITCH_TRUE, SWITCH_TRUE); return SWITCH_STATUS_SUCCESS; } From c584bf55112fd52d67b673cdb6fbf85023721632 Mon Sep 17 00:00:00 2001 From: Anthony Minessale Date: Thu, 20 Nov 2014 11:33:25 -0600 Subject: [PATCH 059/629] FS-7500: reverse default for CF_VIDEO_ECHO to false and now it must be enabled when desired instead of disabled when not needed --- src/mod/applications/mod_conference/mod_conference.c | 5 ----- src/mod/applications/mod_fsv/mod_fsv.c | 3 --- src/mod/formats/mod_vlc/mod_vlc.c | 3 --- src/switch_core_session.c | 2 +- src/switch_ivr_async.c | 2 ++ src/switch_ivr_bridge.c | 4 ---- 6 files changed, 3 insertions(+), 16 deletions(-) diff --git a/src/mod/applications/mod_conference/mod_conference.c b/src/mod/applications/mod_conference/mod_conference.c index 3787f107ec..b89413cf37 100644 --- a/src/mod/applications/mod_conference/mod_conference.c +++ b/src/mod/applications/mod_conference/mod_conference.c @@ -2252,10 +2252,7 @@ static switch_status_t conference_add_member(conference_obj_t *conference, confe if (switch_channel_test_flag(channel, CF_VIDEO)) { if (switch_test_flag(conference, CFLAG_VIDEO_BRIDGE)) { - switch_channel_set_flag(channel, CF_VIDEO_ECHO); switch_channel_clear_flag(channel, CF_VIDEO_PASSIVE); - } else { - switch_channel_clear_flag(channel, CF_VIDEO_ECHO); } /* Tell the channel to request a fresh vid frame */ switch_core_session_refresh_video(member->session); @@ -2503,7 +2500,6 @@ static void conference_set_video_floor_holder(conference_obj_t *conference, conf if (!imember->channel || !switch_channel_test_flag(imember->channel, CF_VIDEO)) { continue; } - switch_channel_clear_flag(imember->channel, CF_VIDEO_ECHO); if (imember == conference->video_floor_holder) { switch_channel_set_flag(imember->channel, CF_VIDEO_PASSIVE); @@ -4334,7 +4330,6 @@ static void *SWITCH_THREAD_FUNC conference_loop_input(switch_thread_t *thread, v if (switch_channel_test_flag(channel, CF_VIDEO) && !switch_test_flag(member, MFLAG_ACK_VIDEO)) { switch_set_flag_locked(member, MFLAG_ACK_VIDEO); - switch_channel_clear_flag(channel, CF_VIDEO_ECHO); switch_core_session_refresh_video(member->session); conference_set_video_floor_holder(member->conference, member, SWITCH_FALSE); } diff --git a/src/mod/applications/mod_fsv/mod_fsv.c b/src/mod/applications/mod_fsv/mod_fsv.c index cdd9c3a03c..c544abcaa7 100644 --- a/src/mod/applications/mod_fsv/mod_fsv.c +++ b/src/mod/applications/mod_fsv/mod_fsv.c @@ -616,7 +616,6 @@ SWITCH_STANDARD_APP(play_yuv_function) yuv = img->planes[SWITCH_PLANE_PACKED]; // switch_channel_set_flag(channel, CF_VIDEO_PASSIVE); - switch_channel_clear_flag(channel, CF_VIDEO_ECHO); vid_buffer = switch_core_session_alloc(session, SWITCH_RECOMMENDED_BUFFER_SIZE); @@ -699,9 +698,7 @@ SWITCH_STANDARD_APP(play_yuv_function) done: switch_core_session_reset(session, SWITCH_TRUE, SWITCH_TRUE); - // switch_channel_clear_flag(channel, CF_VIDEO_PASSIVE); - switch_channel_set_flag(channel, CF_VIDEO_ECHO); } diff --git a/src/mod/formats/mod_vlc/mod_vlc.c b/src/mod/formats/mod_vlc/mod_vlc.c index ce1f9bd553..5f2ce61921 100644 --- a/src/mod/formats/mod_vlc/mod_vlc.c +++ b/src/mod/formats/mod_vlc/mod_vlc.c @@ -613,9 +613,6 @@ SWITCH_STANDARD_APP(play_video_function) switch_size_t audio_datalen; - - switch_channel_clear_flag(channel, CF_VIDEO_ECHO); - context = switch_core_session_alloc(session, sizeof(vlc_video_context_t)); switch_assert(context); memset(context, 0, sizeof(vlc_file_context_t)); diff --git a/src/switch_core_session.c b/src/switch_core_session.c index bcb92197b1..ea5259db1c 100644 --- a/src/switch_core_session.c +++ b/src/switch_core_session.c @@ -2677,7 +2677,7 @@ SWITCH_DECLARE(switch_status_t) switch_core_session_execute_application_async(sw SWITCH_DECLARE(void) switch_core_session_video_reset(switch_core_session_t *session) { - switch_channel_set_flag(session->channel, CF_VIDEO_ECHO); + switch_channel_clear_flag(session->channel, CF_VIDEO_ECHO); switch_channel_clear_flag(session->channel, CF_VIDEO_PASSIVE); switch_channel_clear_flag(session->channel, CF_VIDEO_DECODED_READ); switch_core_session_refresh_video(session); diff --git a/src/switch_ivr_async.c b/src/switch_ivr_async.c index e54a762924..57cc405523 100644 --- a/src/switch_ivr_async.c +++ b/src/switch_ivr_async.c @@ -652,6 +652,8 @@ SWITCH_DECLARE(switch_status_t) switch_ivr_session_echo(switch_core_session_t *s switch_core_session_raw_read(session); } + switch_channel_set_flag(channel, CF_VIDEO_ECHO); + while (switch_channel_ready(channel)) { status = switch_core_session_read_frame(session, &read_frame, SWITCH_IO_FLAG_NONE, 0); if (!SWITCH_READ_ACCEPTABLE(status)) { diff --git a/src/switch_ivr_bridge.c b/src/switch_ivr_bridge.c index cee19190e8..8f09c61ea1 100644 --- a/src/switch_ivr_bridge.c +++ b/src/switch_ivr_bridge.c @@ -244,10 +244,6 @@ static void *audio_bridge_thread(switch_thread_t *thread, void *obj) chan_a = switch_core_session_get_channel(session_a); chan_b = switch_core_session_get_channel(session_b); - switch_channel_clear_flag(chan_a, CF_VIDEO_ECHO); - switch_channel_clear_flag(chan_b, CF_VIDEO_ECHO); - - if ((exec_app = switch_channel_get_variable(chan_a, "bridge_pre_execute_app"))) { exec_data = switch_channel_get_variable(chan_a, "bridge_pre_execute_data"); } From 140a1c966160a54c9f5bf8e70c9dd68e91b9a638 Mon Sep 17 00:00:00 2001 From: Anthony Minessale Date: Thu, 20 Nov 2014 12:07:05 -0600 Subject: [PATCH 060/629] FS-7500 FS-7508: shift some hacks around --- src/mod/codecs/mod_vpx/mod_vpx.c | 6 +++--- src/switch_rtp.c | 9 ++++++--- 2 files changed, 9 insertions(+), 6 deletions(-) diff --git a/src/mod/codecs/mod_vpx/mod_vpx.c b/src/mod/codecs/mod_vpx/mod_vpx.c index 13d2382f84..70ee6b4123 100644 --- a/src/mod/codecs/mod_vpx/mod_vpx.c +++ b/src/mod/codecs/mod_vpx/mod_vpx.c @@ -581,9 +581,9 @@ end: switch_buffer_zero(context->vpx_packet_buffer); } - if (frame->img) { - switch_set_flag(frame, SFF_USE_VIDEO_TIMESTAMP); - } else { + if (!frame->img) { + //switch_set_flag(frame, SFF_USE_VIDEO_TIMESTAMP); + //} else { status = SWITCH_STATUS_MORE_DATA; } diff --git a/src/switch_rtp.c b/src/switch_rtp.c index db0f487384..924a083dea 100644 --- a/src/switch_rtp.c +++ b/src/switch_rtp.c @@ -5189,7 +5189,7 @@ static switch_status_t process_rtcp_packet(switch_rtp_t *rtp_session, switch_siz //DFF - if (0 && rtp_session->flags[SWITCH_RTP_FLAG_VIDEO] && *bytes > 94) { + if (rtp_session->flags[SWITCH_RTP_FLAG_VIDEO] && *bytes > 94) { //(rtp_session->rtcp_recv_msg_p->header.type == 205 || //RTPFB //rtp_session->rtcp_recv_msg_p->header.type == 206)) {//PSFB @@ -6518,7 +6518,7 @@ static int rtp_common_write(switch_rtp_t *rtp_session, } /* TMP DISABLE DFF */ - if (0 && switch_rtp_test_flag(rtp_session, SWITCH_RTP_FLAG_VIDEO)) { + if (switch_rtp_test_flag(rtp_session, SWITCH_RTP_FLAG_VIDEO)) { /* Normalize the timestamps to our own base by generating a made up starting point then adding the measured deltas to that base so if the timestamps and ssrc of the source change, it will not break the other end's jitter bufffer / decoder etc *cough* CHROME *cough* */ @@ -6538,11 +6538,14 @@ static int rtp_common_write(switch_rtp_t *rtp_session, rtp_session->ts_norm.last_ssrc = send_msg->header.ssrc; rtp_session->ts_norm.last_frame = ntohl(send_msg->header.ts); } - + if (ntohl(send_msg->header.ts) != rtp_session->ts_norm.last_frame) { rtp_session->ts_norm.delta = ntohl(send_msg->header.ts) - rtp_session->ts_norm.last_frame; rtp_session->ts_norm.ts += rtp_session->ts_norm.delta; + //switch_core_timer_sync(&rtp_session->timer); + //printf("W00t %d\n", rtp_session->timer.samplecount); + //rtp_session->ts_norm.ts = rtp_session->timer.samplecount; } rtp_session->ts_norm.last_frame = ntohl(send_msg->header.ts); From b8ba1a146958e2c5b262cfdff27c3d1404631dc6 Mon Sep 17 00:00:00 2001 From: Anthony Minessale Date: Thu, 20 Nov 2014 16:30:19 -0600 Subject: [PATCH 061/629] FS-7500: reduce CNG frames on video and move debug from mod_fsv to the core with a flag to enable it since the raw packet is not available anymore when you set DECODED READ flag --- src/include/switch_types.h | 2 ++ src/mod/applications/mod_fsv/mod_fsv.c | 10 +--------- src/mod/codecs/mod_vpx/mod_vpx.c | 9 ++++++--- src/switch_core_media.c | 14 +++++++++++++- src/switch_core_session.c | 1 + src/switch_rtp.c | 11 +++++------ 6 files changed, 28 insertions(+), 19 deletions(-) diff --git a/src/include/switch_types.h b/src/include/switch_types.h index 4c3a0b9b82..6062f3ef4b 100644 --- a/src/include/switch_types.h +++ b/src/include/switch_types.h @@ -1451,6 +1451,8 @@ typedef enum { CF_HANGUP_HELD, CF_CONFERENCE_RESET_MEDIA, CF_VIDEO_DECODED_READ, + CF_VIDEO_DEBUG_READ, + CF_VIDEO_DEBUG_WRITE, /* WARNING: DO NOT ADD ANY FLAGS BELOW THIS LINE */ /* IF YOU ADD NEW ONES CHECK IF THEY SHOULD PERSIST OR ZERO THEM IN switch_core_session.c switch_core_session_request_xml() */ CF_FLAG_MAX diff --git a/src/mod/applications/mod_fsv/mod_fsv.c b/src/mod/applications/mod_fsv/mod_fsv.c index c544abcaa7..21e1fc4d84 100644 --- a/src/mod/applications/mod_fsv/mod_fsv.c +++ b/src/mod/applications/mod_fsv/mod_fsv.c @@ -723,6 +723,7 @@ static void decode_video_thread(switch_core_session_t *session, void *obj) } switch_channel_set_flag(channel, CF_VIDEO_DECODED_READ); + switch_channel_set_flag(channel, CF_VIDEO_DEBUG_READ); while (switch_channel_ready(channel)) { switch_status_t status = switch_core_session_read_video_frame(session, &frame, SWITCH_IO_FLAG_NONE, 0); @@ -742,15 +743,6 @@ static void decode_video_thread(switch_core_session_t *session, void *obj) continue; } - switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_INFO, "seq: %d ts: %ld len: %4d %02x %02x %02x %02x %02x %02x %02x %02x %02x %02x %02x mark: %d %s\n", - frame->seq, frame->timestamp, frame->datalen, - *((uint8_t *)frame->data), *((uint8_t *)frame->data + 1), - *((uint8_t *)frame->data + 2), *((uint8_t *)frame->data + 3), - *((uint8_t *)frame->data + 4), *((uint8_t *)frame->data + 5), - *((uint8_t *)frame->data + 6), *((uint8_t *)frame->data + 7), - *((uint8_t *)frame->data + 8), *((uint8_t *)frame->data + 9), - *((uint8_t *)frame->data + 10), frame->m, switch_test_flag(frame, SFF_CNG) ? " CNG" : ""); - if (switch_test_flag(frame, SFF_CNG) || frame->datalen < 3) { continue; } diff --git a/src/mod/codecs/mod_vpx/mod_vpx.c b/src/mod/codecs/mod_vpx/mod_vpx.c index 70ee6b4123..77ce0fcb39 100644 --- a/src/mod/codecs/mod_vpx/mod_vpx.c +++ b/src/mod/codecs/mod_vpx/mod_vpx.c @@ -315,16 +315,19 @@ static switch_status_t switch_vpx_init(switch_codec_t *codec, switch_codec_flag_ static switch_status_t consume_partition(vpx_context_t *context, switch_frame_t *frame) { - if (!context->pkt) context->pkt = vpx_codec_get_cx_data(&context->encoder, &context->iter); + if (!context->pkt) { + context->pkt = vpx_codec_get_cx_data(&context->encoder, &context->iter); + context->pkt_pos = 0; + } - if (context->pkt) { + // if (context->pkt) { // if (context->pkt->kind == VPX_CODEC_CX_FRAME_PKT && (context->pkt->data.frame.flags & VPX_FRAME_IS_KEY) && context->pkt_pos == 0) { // switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_ERROR, "============================Got a VP8 Key Frame size:[%d]===================================\n", (int)context->pkt->data.frame.sz); // } // switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_ERROR, "size:%d flag: %x part_id: %d pts: %lld duration:%ld\n", // (int)context->pkt->data.frame.sz, context->pkt->data.frame.flags, context->pkt->data.frame.partition_id, context->pkt->data.frame.pts, context->pkt->data.frame.duration); - } + //} if (!context->pkt || context->pkt_pos >= context->pkt->data.frame.sz - 1 || context->pkt->kind != VPX_CODEC_CX_FRAME_PKT) { frame->datalen = 0; diff --git a/src/switch_core_media.c b/src/switch_core_media.c index 1a45579aae..88896f712c 100644 --- a/src/switch_core_media.c +++ b/src/switch_core_media.c @@ -1849,7 +1849,7 @@ SWITCH_DECLARE(switch_status_t) switch_core_media_read_frame(switch_core_session switch_channel_execute_on(session->channel, "execute_on_media_timeout"); switch_goto_status(SWITCH_STATUS_SUCCESS, end); } - + switch_channel_hangup(session->channel, SWITCH_CAUSE_MEDIA_TIMEOUT); } @@ -9686,6 +9686,18 @@ SWITCH_DECLARE(switch_status_t) switch_core_session_read_video_frame(switch_core if (!(*frame)) { goto done; } + + if (switch_channel_test_flag(session->channel, CF_VIDEO_DEBUG_READ)) { + switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_INFO, "seq: %d ts: %ld len: %4d %02x %02x %02x %02x %02x %02x %02x %02x %02x %02x %02x mark: %d %s\n", + (*frame)->seq, (*frame)->timestamp, (*frame)->datalen, + *((uint8_t *)(*frame)->data), *((uint8_t *)(*frame)->data + 1), + *((uint8_t *)(*frame)->data + 2), *((uint8_t *)(*frame)->data + 3), + *((uint8_t *)(*frame)->data + 4), *((uint8_t *)(*frame)->data + 5), + *((uint8_t *)(*frame)->data + 6), *((uint8_t *)(*frame)->data + 7), + *((uint8_t *)(*frame)->data + 8), *((uint8_t *)(*frame)->data + 9), + *((uint8_t *)(*frame)->data + 10), (*frame)->m, switch_test_flag((*frame), SFF_CNG) ? " CNG" : ""); + } + if (switch_test_flag(*frame, SFF_CNG)) { status = SWITCH_STATUS_SUCCESS; diff --git a/src/switch_core_session.c b/src/switch_core_session.c index ea5259db1c..96b7bc0e9b 100644 --- a/src/switch_core_session.c +++ b/src/switch_core_session.c @@ -2680,6 +2680,7 @@ SWITCH_DECLARE(void) switch_core_session_video_reset(switch_core_session_t *sess switch_channel_clear_flag(session->channel, CF_VIDEO_ECHO); switch_channel_clear_flag(session->channel, CF_VIDEO_PASSIVE); switch_channel_clear_flag(session->channel, CF_VIDEO_DECODED_READ); + switch_channel_clear_flag(session->channel, CF_VIDEO_DEBUG_READ); switch_core_session_refresh_video(session); session->image_write_callback = NULL; session->image_write_callback_user_data = NULL; diff --git a/src/switch_rtp.c b/src/switch_rtp.c index 924a083dea..31a043dc3d 100644 --- a/src/switch_rtp.c +++ b/src/switch_rtp.c @@ -5578,17 +5578,16 @@ static int rtp_common_read(switch_rtp_t *rtp_session, switch_payload_t *payload_ } if (rtp_session->flags[SWITCH_RTP_FLAG_VIDEO] && !rtp_session->flags[SWITCH_RTP_FLAG_PROXY_MEDIA]) { - pt = 100000; + pt = 200000; } - if (using_ice(rtp_session)) { - pt = 20000; - } + //if (using_ice(rtp_session)) { + // pt = 20000; + //} poll_status = switch_poll(rtp_session->read_pollfd, 1, &fdr, pt); - - if (rtp_session->dtmf_data.out_digit_dur > 0) { + if (!rtp_session->flags[SWITCH_RTP_FLAG_VIDEO] && rtp_session->dtmf_data.out_digit_dur > 0) { return_cng_frame(); } From c874fe05d84d54ebc81708bf112941bf88c6c4c7 Mon Sep 17 00:00:00 2001 From: Anthony Minessale Date: Thu, 20 Nov 2014 16:40:49 -0600 Subject: [PATCH 062/629] FS-7500: SQUASH ME WITH THE LAST ONE --- src/mod/applications/mod_fsv/mod_fsv.c | 1 + src/mod/codecs/mod_vpx/mod_vpx.c | 2 -- src/switch_core_media.c | 5 +++++ src/switch_core_session.c | 1 + 4 files changed, 7 insertions(+), 2 deletions(-) diff --git a/src/mod/applications/mod_fsv/mod_fsv.c b/src/mod/applications/mod_fsv/mod_fsv.c index 21e1fc4d84..883458b8c0 100644 --- a/src/mod/applications/mod_fsv/mod_fsv.c +++ b/src/mod/applications/mod_fsv/mod_fsv.c @@ -724,6 +724,7 @@ static void decode_video_thread(switch_core_session_t *session, void *obj) switch_channel_set_flag(channel, CF_VIDEO_DECODED_READ); switch_channel_set_flag(channel, CF_VIDEO_DEBUG_READ); + switch_channel_set_flag(channel, CF_VIDEO_DEBUG_WRITE); while (switch_channel_ready(channel)) { switch_status_t status = switch_core_session_read_video_frame(session, &frame, SWITCH_IO_FLAG_NONE, 0); diff --git a/src/mod/codecs/mod_vpx/mod_vpx.c b/src/mod/codecs/mod_vpx/mod_vpx.c index 77ce0fcb39..8c7bbecc7e 100644 --- a/src/mod/codecs/mod_vpx/mod_vpx.c +++ b/src/mod/codecs/mod_vpx/mod_vpx.c @@ -567,8 +567,6 @@ static switch_status_t switch_vpx_decode(switch_codec_t *codec, switch_frame_t * switch_goto_status(SWITCH_STATUS_NOTFOUND, end); } - switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_ERROR, "IMAGE %dx%d %dx%d\n", frame->img->w,frame->img->h, frame->img->d_w, frame->img->d_h); - switch_buffer_zero(context->vpx_packet_buffer); } diff --git a/src/switch_core_media.c b/src/switch_core_media.c index 88896f712c..17320bae22 100644 --- a/src/switch_core_media.c +++ b/src/switch_core_media.c @@ -9750,6 +9750,11 @@ SWITCH_DECLARE(switch_status_t) switch_core_session_read_video_frame(switch_core if (switch_channel_test_flag(session->channel, CF_VIDEO_DECODED_READ)) { switch_status_t decode_status = switch_core_codec_decode_video((*frame)->codec, *frame); + if ((*frame)->img && switch_channel_test_flag(session->channel, CF_VIDEO_DEBUG_READ)) { + switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_INFO, "IMAGE %dx%d %dx%d\n", + (*frame)->img->w, (*frame)->img->h, (*frame)->img->d_w, (*frame)->img->d_h); + } + if (switch_test_flag((*frame), SFF_WAIT_KEY_FRAME)) { switch_core_session_refresh_video(session); switch_clear_flag((*frame), SFF_WAIT_KEY_FRAME); diff --git a/src/switch_core_session.c b/src/switch_core_session.c index 96b7bc0e9b..e7a4fe369d 100644 --- a/src/switch_core_session.c +++ b/src/switch_core_session.c @@ -2681,6 +2681,7 @@ SWITCH_DECLARE(void) switch_core_session_video_reset(switch_core_session_t *sess switch_channel_clear_flag(session->channel, CF_VIDEO_PASSIVE); switch_channel_clear_flag(session->channel, CF_VIDEO_DECODED_READ); switch_channel_clear_flag(session->channel, CF_VIDEO_DEBUG_READ); + switch_channel_clear_flag(session->channel, CF_VIDEO_DEBUG_WRITE); switch_core_session_refresh_video(session); session->image_write_callback = NULL; session->image_write_callback_user_data = NULL; From 57bbdc929b5297440bd912666fd2d299bc486264 Mon Sep 17 00:00:00 2001 From: Anthony Minessale Date: Thu, 20 Nov 2014 17:03:47 -0600 Subject: [PATCH 063/629] FS-7500: remove debug code --- src/switch_ivr_bridge.c | 5 ----- 1 file changed, 5 deletions(-) diff --git a/src/switch_ivr_bridge.c b/src/switch_ivr_bridge.c index 8f09c61ea1..62a3937c23 100644 --- a/src/switch_ivr_bridge.c +++ b/src/switch_ivr_bridge.c @@ -80,11 +80,6 @@ static void video_bridge_thread(switch_core_session_t *session, void *obj) switch_cond_next(); continue; } - - if (!switch_test_flag(read_frame, SFF_CNG)) { - switch_core_session_write_video_frame(vh->session_a, read_frame, SWITCH_IO_FLAG_NONE, 0); - continue; - } } if (switch_test_flag(read_frame, SFF_CNG)) { From e83db9e24916434573681200988fab5385494bad Mon Sep 17 00:00:00 2001 From: Anthony Minessale Date: Thu, 20 Nov 2014 17:11:23 -0600 Subject: [PATCH 064/629] FS-7517: remove debug --- src/mod/codecs/mod_openh264/mod_openh264.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/mod/codecs/mod_openh264/mod_openh264.cpp b/src/mod/codecs/mod_openh264/mod_openh264.cpp index 5019880928..1575aa384e 100644 --- a/src/mod/codecs/mod_openh264/mod_openh264.cpp +++ b/src/mod/codecs/mod_openh264/mod_openh264.cpp @@ -478,7 +478,7 @@ static switch_status_t switch_h264_decode(switch_codec_t *codec, switch_frame_t context->last_received_complete_picture = frame->m ? SWITCH_TRUE : SWITCH_FALSE; size = buffer_h264_nalu(context, frame); - printf("READ buf:%ld got_key:%d st:%d m:%d\n", size, context->got_sps, status, frame->m); + //printf("READ buf:%ld got_key:%d st:%d m:%d\n", size, context->got_sps, status, frame->m); if (frame->m && size) { From fbe347ead4586f08b4149b45d24857a87a53f079 Mon Sep 17 00:00:00 2001 From: Anthony Minessale Date: Thu, 20 Nov 2014 19:04:55 -0600 Subject: [PATCH 065/629] add mod_ffmpeg --- src/mod/applications/mod_ffmpeg/mod_ffmpeg.c | 2155 ++++++++++++++++++ 1 file changed, 2155 insertions(+) create mode 100644 src/mod/applications/mod_ffmpeg/mod_ffmpeg.c diff --git a/src/mod/applications/mod_ffmpeg/mod_ffmpeg.c b/src/mod/applications/mod_ffmpeg/mod_ffmpeg.c new file mode 100644 index 0000000000..c91e4e36e3 --- /dev/null +++ b/src/mod/applications/mod_ffmpeg/mod_ffmpeg.c @@ -0,0 +1,2155 @@ +/* + * FreeSWITCH Modular Media Switching Software Library / Soft-Switch Application + * Copyright (C) 2005-2013, Anthony Minessale II + * + * Version: MPL 1.1 + * + * The contents of this file are subject to the Mozilla Public License Version + * 1.1 (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * http://www.mozilla.org/MPL/ + * + * Software distributed under the License is distributed on an "AS IS" basis, + * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License + * for the specific language governing rights and limitations under the + * License. + * + * The Original Code is FreeSWITCH Modular Media Switching Software Library / Soft-Switch Application + * + * The Initial Developer of the Original Code is + * Seven Du + * Portions created by the Initial Developer are Copyright (C) + * the Initial Developer. All Rights Reserved. + * + * Contributor(s): + * + * Seven Du + * + * mod_ffmpeg -- FS Video File Format + * + */ + +/* compile: need to remove the -pedantic option from modmake.rules to compile */ + +#include +#include +#include +#include +#include + +/* use libx264, comment for use the ffmpeg/avcodec wrapper */ +#define H264_CODEC_USE_LIBX264 +#define SLICE_SIZE SWITCH_DEFAULT_VIDEO_SIZE + +#ifdef H264_CODEC_USE_LIBX264 +#include +#endif + +#define FPS 15 // frame rate +#define BUFFERSIZE 4096 * 2 + +SWITCH_MODULE_LOAD_FUNCTION(mod_ffmpeg_load); +SWITCH_MODULE_DEFINITION(mod_ffmpeg, mod_ffmpeg_load, NULL, NULL); + +/* ff_avc_find_startcode is not esposed in the ffmpeg lib but you can use it + Either include the avc.h which available in the ffmpeg source, or + just add the declaration like we does following to avoid include that whole avc.h + The function is implemented in avc.h, guess we'll get rid of this later if we can directly use libx264 + +#include +*/ + +const uint8_t *ff_avc_find_startcode(const uint8_t *p, const uint8_t *end); + +#if 0 // this is not fully tested and supported +struct record_helper { + switch_core_session_t *session; + switch_mutex_t *mutex; + AVFormatContext *avctx; + AVStream *video_st; + AVFrame *avframe; + int up; + + int seq; + switch_socket_t *sock; + switch_sockaddr_t *sock_addr; +}; + +struct ffmpeg_context { + switch_mutex_t *mutex; + switch_buffer_t *buf; + AVFormatContext *avctx; + AVStream *video_st; + AVStream *audio_st; + AVFrame *aframe; + AVCodec *acodec; + int file_opened; + int video_pts; +}; + +typedef struct ffmpeg_context ffmpeg_context; + +static AVStream *add_audio_stream(AVFormatContext *context, enum AVCodecID codec_id) +{ + AVCodecContext *cc; + AVStream *st; + AVCodec *codec; + + /* find the audio encoder */ + codec = avcodec_find_encoder(codec_id); + if (!codec) { + switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_ERROR, "codec not found\n"); + return NULL; + } + + st = avformat_new_stream(context, codec); + + if (!st) { + switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_ERROR, "Could not alloc audio stream\n"); + return NULL; + } + + st->id = 1; + + cc = st->codec; + cc->codec = codec; + + /* put sample parameters */ + cc->sample_fmt = AV_SAMPLE_FMT_S16; + cc->bit_rate = 64000; + cc->sample_rate = 44100; + cc->channels = 1; + + // some formats want stream headers to be separate + if (context->oformat->flags & AVFMT_GLOBALHEADER) { + cc->flags |= CODEC_FLAG_GLOBAL_HEADER; + } + + return st; +} + +static AVStream *add_video_stream(AVFormatContext *context, enum AVCodecID codec_id) +{ + AVCodecContext *cc; + AVStream *st; + AVCodec *codec; + + /* find the video encoder */ + codec = avcodec_find_encoder(codec_id); + if (!codec) { + switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_ERROR, "codec not found\n"); + return NULL; + } + + st = avformat_new_stream(context, codec); + if (!st) { + switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_ERROR, "Could not alloc stream\n"); + return NULL; + } + + cc = st->codec; + + avcodec_get_context_defaults3(cc, codec); + + cc->codec_id = codec_id; + + /* Put sample parameters. */ + // c->bit_rate = 400000; + /* Resolution must be a multiple of two. */ + cc->width = 352; + cc->height = 288; + /* timebase: This is the fundamental unit of time (in seconds) in terms + * of which frame timestamps are represented. For fixed-fps content, + * timebase should be 1/framerate and timestamp increments should be + * identical to 1. */ + cc->time_base.den = FPS; + cc->time_base.num = 1; + cc->gop_size = 12; /* emit one intra frame every twelve frames at most */ + cc->pix_fmt = PIX_FMT_YUV420P; + cc->max_b_frames = 0; + + /* Some formats want stream headers to be separate. */ + if (context->oformat->flags & AVFMT_GLOBALHEADER) { + cc->flags |= CODEC_FLAG_GLOBAL_HEADER; + } + + switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_ERROR, "flags %x %x\n", context->oformat->flags, cc->flags); + + return st; +} + +static switch_status_t ffmpeg_open(switch_file_handle_t *handle, const char *path) +{ + ffmpeg_context *context; + char *ext; + unsigned int flags = 0; + AVFormatContext *avctx = NULL; + AVOutputFormat *fmt; + AVStream *audio_st=NULL; + AVStream *video_st=NULL; + AVCodecContext *audio_codec; + AVFrame *aframe = NULL; + + if ((ext = strrchr(path, '.')) == 0) { + switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_ERROR, "Invalid Format\n"); + return SWITCH_STATUS_GENERR; + } + + ext++; + + if ((context = switch_core_alloc(handle->memory_pool, sizeof(ffmpeg_context))) == 0) { + return SWITCH_STATUS_MEMERR; + } + + memset(context, 0, sizeof(ffmpeg_context)); + + switch_mutex_init(&context->mutex, SWITCH_MUTEX_NESTED, handle->memory_pool); + + if (switch_test_flag(handle, SWITCH_FILE_FLAG_WRITE)) { + flags |= SWITCH_FOPEN_WRITE | SWITCH_FOPEN_CREATE; + if (switch_test_flag(handle, SWITCH_FILE_WRITE_APPEND) || switch_test_flag(handle, SWITCH_FILE_WRITE_OVER)) { + flags |= SWITCH_FOPEN_READ; + } else { + flags |= SWITCH_FOPEN_TRUNCATE; + } + + } + + if (switch_test_flag(handle, SWITCH_FILE_FLAG_READ)) { + flags |= SWITCH_FOPEN_READ; + } + +//write only + + switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_ERROR, "sample rate: %d\n", handle->samplerate); + + handle->samplerate = 8000; + + aframe = av_frame_alloc(); + + if (!aframe) { + switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_ERROR, "memory error!\n"); + goto end; + } + + context->aframe = aframe; + + av_register_all(); + + //avformat_alloc_output_context2(&avctx, NULL, NULL, path); + avctx = NULL; + + if (!avctx) { + switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_ERROR, "Could not deduce output format from file extension: using mpeg4.\n"); + //avformat_alloc_output_context2(&avctx, NULL, "mpeg4", path); + } + + if (!avctx) { + goto end; + } + + context->avctx = avctx; + + fmt = avctx->oformat; + + switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_INFO, "audio_codec: 0x%x video_codec: 0x%x\n", fmt->audio_codec, fmt->video_codec); + + if (fmt->audio_codec != AV_CODEC_ID_NONE) { + audio_st = add_audio_stream(avctx, fmt->audio_codec); + } + + if (fmt->video_codec != AV_CODEC_ID_NONE) { + video_st = add_video_stream(avctx, fmt->video_codec); + } + + if (!video_st) { + if (!audio_st) { + switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_ERROR, "No audio & video stream!\n"); + goto end; + } + } + + context->video_st = video_st; + + audio_codec = audio_st->codec; + /* open it */ + if (avcodec_open2(audio_codec, NULL, NULL) < 0) { + switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_ERROR, "could not open audio codec\n"); + goto end; + } + +#if 1 + av_dump_format(avctx, 0, path, 1); +#endif + + /* open the output file, if needed */ + if (!(fmt->flags & AVFMT_NOFILE)) { + if (avio_open(&avctx->pb, path, AVIO_FLAG_WRITE) < 0) { + switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_ERROR, "Could not open [%s]\n", path); + goto end; + } + context->file_opened = 1; + } + + /* Write the stream header, if any. */ + avformat_write_header(avctx, NULL); + + context->audio_st = audio_st; + + if (switch_test_flag(handle, SWITCH_FILE_WRITE_APPEND)) { + switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_ERROR, "unsupported append\n"); + } + + handle->samples = 0; + handle->samplerate = 8000; + handle->channels = 1; + handle->format = 0; + handle->sections = 0; + handle->seekable = 0; + handle->speed = 0; + handle->pos = 0; + handle->private_info = context; + + switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_INFO, "Opening File [%s] %dhz\n", path, handle->samplerate); + + if (switch_test_flag(handle, SWITCH_FILE_FLAG_WRITE)) { + + } + + switch_buffer_create_dynamic(&context->buf, 512, 512, 1024000); + + return SWITCH_STATUS_SUCCESS; + +end: + + if (avctx) { + int i; + for (i = 0; i < avctx->nb_streams; i++) { + avcodec_close(avctx->streams[i]->codec); + av_freep(&avctx->streams[i]->codec); + av_freep(&avctx->streams[i]); + } + + if (context->file_opened) { + /* Close the output file. */ + switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_ERROR, "closing file\n"); + avio_close(avctx->pb); + } + + av_free(avctx); + + if (aframe) av_free(aframe); + } + + return SWITCH_STATUS_FALSE; +} + +static switch_status_t ffmpeg_truncate(switch_file_handle_t *handle, int64_t offset) +{ + // ffmpeg_context *context = handle->private_info; + switch_status_t status = SWITCH_STATUS_FALSE; + switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_ERROR, "unsupported truncate\n"); + return status; +} + +static switch_status_t ffmpeg_close(switch_file_handle_t *handle) +{ + ffmpeg_context *context = handle->private_info; + AVFormatContext *avctx = context->avctx; + int i; + + av_write_trailer(avctx); + + for (i = 0; i < avctx->nb_streams; i++) { + avcodec_close(avctx->streams[i]->codec); + av_freep(&avctx->streams[i]->codec); + av_freep(&avctx->streams[i]); + } + + if (context->file_opened) { + /* Close the output file. */ + switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_ERROR, "closing file\n"); + avio_close(avctx->pb); + } + + av_free(avctx); + + if (context->aframe) av_free(context->aframe); + + switch_buffer_destroy(&context->buf); + + return SWITCH_STATUS_SUCCESS; +} + +static switch_status_t ffmpeg_seek(switch_file_handle_t *handle, unsigned int *cur_sample, int64_t samples, int whence) +{ + // switch_status_t status; + // + // ffmpeg_context *context = handle->private_info; + // + // status = switch_file_seek(context->fd, whence, &samples); + // if (status == SWITCH_STATUS_SUCCESS) { + // handle->pos += samples; + // } + switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_ERROR, "unsupported seek\n"); + return SWITCH_STATUS_FALSE; +} + +static switch_status_t ffmpeg_read(switch_file_handle_t *handle, void *data, size_t *len) +{ + switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_ERROR, "read not implemented\n"); + return SWITCH_STATUS_FALSE; +} + +static switch_status_t ffmpeg_write(switch_file_handle_t *handle, void *data, size_t *len) +{ + ffmpeg_context *context = handle->private_info; + switch_status_t status = SWITCH_STATUS_SUCCESS; + AVFormatContext *avctx = context->avctx; + AVFrame *aframe = context->aframe; + AVStream *audio_st = context->audio_st; + AVCodecContext *codec = audio_st->codec; + AVPacket pkt = { 0 }; + int got_packet = 0; + + aframe->nb_samples = 160; //fixme + + avcodec_fill_audio_frame(aframe, codec->channels, codec->sample_fmt, + (uint8_t *)data, + (*len) * codec->channels, + 1); + + av_init_packet(&pkt); + + // avcodec_encode_audio2(codec, &pkt, aframe, &got_packet); + + switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_INFO, "got packet %d, size: %d\n", got_packet, pkt.size); + + if (!got_packet || pkt.size < 1) return status; + + pkt.stream_index = audio_st->index; + + /* Write the compressed frame to the media file. */ + switch_mutex_lock(context->mutex); + if (av_interleaved_write_frame(avctx, &pkt) != 0) { + switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_ERROR, "Error while writing audio frame\n"); + switch_mutex_unlock(context->mutex); + return SWITCH_STATUS_FALSE; + } + switch_mutex_unlock(context->mutex); + + // *len = ? //fixme + return status; +} + +static switch_status_t ffmpeg_write_video(switch_file_handle_t *handle, void *data, size_t *len) +{ + uint32_t datalen = *len - 12; + switch_status_t status = SWITCH_STATUS_SUCCESS; + uint8_t *hdr = NULL; + switch_rtp_hdr_t *rtp_hdr = data; + ffmpeg_context *context = handle->private_info; + + uint8_t code[] = {0, 0, 1}; + + AVFormatContext *avctx = context->avctx; + AVStream *video_st = context->video_st; + AVPacket pkt; + + int key_frame = 0; + int ret; + + av_init_packet(&pkt); + + hdr = (uint8_t *)data + 12; + + switch_buffer_write(context->buf, &code, 3); + switch_buffer_write(context->buf, hdr, datalen); + + +#if 1 + switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_ERROR, "read %d %02x %02x %02x %d\n", + rtp_hdr->m, *hdr, *(hdr+1), *(hdr+2), datalen); +#endif + + if (!rtp_hdr->m) return status;; // continue buffering until we get a marker + + { + int nal_type = (*hdr &0x1f); + key_frame = (nal_type == 5); + } + + pkt.pts = context->video_pts++; + + if (key_frame) { + pkt.flags |= AV_PKT_FLAG_KEY; + } else { + pkt.flags &= ~AV_PKT_FLAG_KEY; + } + + pkt.stream_index = video_st->index; + pkt.size = switch_buffer_inuse(context->buf); + switch_buffer_peek_zerocopy(context->buf, (const void **)&pkt.data); + + /* Write the compressed frame to the media file. */ + + switch_mutex_lock(context->mutex); + + if ((ret = av_write_frame(avctx, &pkt)) != 0) { + switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_ERROR, "failed to write %d bytes, ret=%d\n", pkt.size, ret); + switch_mutex_unlock(context->mutex); + return SWITCH_STATUS_FALSE; + } + switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_ERROR, "write %d bytes, ret=%d\n", pkt.size, ret); + + switch_mutex_unlock(context->mutex); + switch_buffer_zero(context->buf); + + // *len = datalen; // FIXME + + return status; +} + +static switch_status_t ffmpeg_set_string(switch_file_handle_t *handle, switch_audio_col_t col, const char *string) +{ + return SWITCH_STATUS_FALSE; +} + +static switch_status_t ffmpeg_get_string(switch_file_handle_t *handle, switch_audio_col_t col, const char **string) +{ + return SWITCH_STATUS_FALSE; +} + +static void *SWITCH_THREAD_FUNC ffmpeg_record_video_thread(switch_thread_t *thread, void *obj) +{ + struct record_helper *eh = obj; + switch_core_session_t *session = eh->session; + switch_channel_t *channel = switch_core_session_get_channel(session); + switch_status_t status; + switch_frame_t *read_frame; + switch_buffer_t *buf = NULL; + + AVFormatContext *avctx = eh->avctx; + AVStream *video_st = eh->video_st; + AVPacket pkt; + + int key_frame = 0; + uint8_t *hdr; + uint64_t pts = 0; + + av_init_packet(&pkt); + + if (switch_buffer_create(switch_core_session_get_pool(eh->session), &buf, BUFFERSIZE) != SWITCH_STATUS_SUCCESS) { + switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_ERROR, "memory buffer error!\n"); + goto end; + } + + eh->up = 1; + + while (switch_channel_ready(channel) && eh->up) { + int ret; + uint8_t code[] = {0, 0, 1}; + + status = switch_core_session_read_video_frame(session, &read_frame, SWITCH_IO_FLAG_NONE, 0); + + if (!SWITCH_READ_ACCEPTABLE(status)) { + break; + } + + if (switch_test_flag(read_frame, SFF_CNG)) { + continue; + } + + switch_core_session_write_video_frame(session, read_frame, SWITCH_IO_FLAG_NONE, 0); + + switch_buffer_write(buf, &code, 3); + switch_buffer_write(buf, read_frame->data, read_frame->datalen); + + hdr = read_frame->data; + +#if 0 + switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_ERROR, "read %d %02x %02x %02x %d\n", + read_frame->m, *hdr, *(hdr+1), *(hdr+2), read_frame->datalen); +#endif + + if (!read_frame->m) continue; // continue buffering until we get a marker + + { + int nal_type = (*hdr &0x1f); + key_frame = (nal_type == 5); + } + + // if (oc->coded_frame->pts != AV_NOPTS_VALUE) { + // pts = av_rescale_q(read_frame->timestamp, video_st->codec->time_base, video_st->time_base); + // pkt.pts = read_frame->timestamp; + + pkt.pts = pts++; + + if (key_frame) { + pkt.flags |= AV_PKT_FLAG_KEY; + } else { + pkt.flags &= ~AV_PKT_FLAG_KEY; + } + + pkt.stream_index = video_st->index; + pkt.size = switch_buffer_inuse(buf); + switch_buffer_peek_zerocopy(buf, (const void **)&pkt.data); + + /* Write the compressed frame to the media file. */ + + switch_mutex_lock(eh->mutex); + + if ((ret = av_write_frame(avctx, &pkt)) != 0) { + switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_ERROR, "failed to write %d bytes, ret=%d\n", pkt.size, ret); + switch_mutex_unlock(eh->mutex); + break; + } + + switch_mutex_unlock(eh->mutex); + switch_buffer_zero(buf); + + } + + if (video_st) { + avcodec_close(video_st->codec); + } + +end: + + if (buf) switch_buffer_destroy(&buf); + + eh->up = 0; + return NULL; +} + +SWITCH_STANDARD_APP(record_ffmpeg_function) +{ + switch_status_t status; + switch_frame_t *read_frame; + switch_channel_t *channel = switch_core_session_get_channel(session); + struct record_helper eh = { 0 }; + switch_thread_t *thread; + switch_threadattr_t *thd_attr = NULL; + switch_mutex_t *mutex = NULL; + switch_codec_t codec; + //switch_codec_t *vid_codec; + switch_codec_implementation_t read_impl = { 0 }; + switch_dtmf_t dtmf = { 0 }; + int count = 0, sanity = 30; + + //ffmpeg + AVFormatContext *avctx; + AVOutputFormat *fmt=NULL; + AVStream *audio_st=NULL; + AVCodecContext *audio_codec; + AVFrame *avframe=NULL; + + /* Tell the channel to request a fresh vid frame */ + + switch_core_session_get_read_impl(session, &read_impl); + switch_channel_answer(channel); + switch_core_session_refresh_video(session); + + switch_channel_set_variable(channel, SWITCH_PLAYBACK_TERMINATOR_USED, ""); + + while (switch_channel_up(channel) && !switch_channel_test_flag(channel, CF_VIDEO)) { + switch_yield(10000); + + if (count) count--; + + if (count == 0) { + switch_log_printf(SWITCH_CHANNEL_SESSION_LOG(session), SWITCH_LOG_INFO, "%s waiting for video.\n", switch_channel_get_name(channel)); + count = 100; + if (!--sanity) { + switch_log_printf(SWITCH_CHANNEL_SESSION_LOG(session), SWITCH_LOG_WARNING, "%s timeout waiting for video.\n", + switch_channel_get_name(channel)); + switch_channel_set_variable(channel, SWITCH_CURRENT_APPLICATION_RESPONSE_VARIABLE, "Got timeout while waiting for video"); + return; + } + } + } + + if (!switch_channel_ready(channel)) { + switch_log_printf(SWITCH_CHANNEL_SESSION_LOG(session), SWITCH_LOG_CRIT, "%s not ready.\n", switch_channel_get_name(channel)); + switch_channel_set_variable(channel, SWITCH_CURRENT_APPLICATION_RESPONSE_VARIABLE, "Channel not ready"); + return; + } + + if (read_impl.ianacode != 70) { + if (switch_core_codec_init(&codec, + "L16", + NULL, + 8000, + 20, + 1, SWITCH_CODEC_FLAG_ENCODE | SWITCH_CODEC_FLAG_DECODE, + NULL, switch_core_session_get_pool(session)) == SWITCH_STATUS_SUCCESS) { + switch_core_session_set_read_codec(session, &codec); + switch_log_printf(SWITCH_CHANNEL_SESSION_LOG(session), SWITCH_LOG_INFO, "Codec Activation Success\n"); + } else { + switch_log_printf(SWITCH_CHANNEL_SESSION_LOG(session), SWITCH_LOG_ERROR, "Codec Activation Fail\n"); + goto end; + } + } + + avframe = av_frame_alloc(); + + if (!avframe) { + switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_ERROR, "memory error!\n"); + goto end; + } + + av_register_all(); + + //avformat_alloc_output_context2(&avctx, NULL, NULL, data); + avctx = NULL; + + if (!avctx) { + switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_ERROR, "Could not deduce output format from file extension: using mpeg4.\n"); + //avformat_alloc_output_context2(&avctx, NULL, "mpeg4", data); + } + + if (!avctx) { + goto end; + } + + fmt = avctx->oformat; + + switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_INFO, "audio_codec: 0x%x video_codec: 0x%x\n", fmt->audio_codec, fmt->video_codec); + + if (fmt->audio_codec != AV_CODEC_ID_NONE) { + audio_st = add_audio_stream(avctx, fmt->audio_codec); + } + + if (switch_channel_test_flag(channel, CF_VIDEO)) { + + if (fmt->video_codec != AV_CODEC_ID_NONE) { + eh.video_st = add_video_stream(avctx, fmt->video_codec); + } + + if (!eh.video_st) { + if (!audio_st) { + switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_ERROR, "No audio & video stream!\n"); + goto end; + } + } + } + + audio_codec = audio_st->codec; + + /* open it */ + if (avcodec_open2(audio_codec, NULL, NULL) < 0) { + switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_ERROR, "could not open audio codec\n"); + goto end; + } + +#if 1 + av_dump_format(avctx, 0, data, 1); +#endif + + /* open the output file, if needed */ + if (!(fmt->flags & AVFMT_NOFILE)) { + if (avio_open(&avctx->pb, data, AVIO_FLAG_WRITE) < 0) { + switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_ERROR, "Could not open [%s]\n", data); + goto end; + } + } + + /* Write the stream header, if any. */ + avformat_write_header(avctx, NULL); + + if (switch_channel_test_flag(channel, CF_VIDEO)) { + //vid_codec = switch_core_session_get_video_read_codec(session); + + switch_mutex_init(&mutex, SWITCH_MUTEX_NESTED, switch_core_session_get_pool(session)); + eh.mutex = mutex; + eh.avctx = avctx; + eh.session = session; + switch_threadattr_create(&thd_attr, switch_core_session_get_pool(session)); + switch_threadattr_detach_set(thd_attr, 1); + switch_threadattr_stacksize_set(thd_attr, SWITCH_THREAD_STACKSIZE); + switch_thread_create(&thread, thd_attr, ffmpeg_record_video_thread, &eh, switch_core_session_get_pool(session)); + } + + while (switch_channel_ready(channel)) { + + status = switch_core_session_read_frame(session, &read_frame, SWITCH_IO_FLAG_SINGLE_READ, 0); + + if (switch_channel_test_flag(channel, CF_BREAK)) { + switch_channel_clear_flag(channel, CF_BREAK); + eh.up = 0; + break; + } + + switch_ivr_parse_all_events(session); + + //check for dtmf interrupts + if (switch_channel_has_dtmf(channel)) { + const char * terminators = switch_channel_get_variable(channel, SWITCH_PLAYBACK_TERMINATORS_VARIABLE); + switch_channel_dequeue_dtmf(channel, &dtmf); + + if (terminators && !strcasecmp(terminators, "none")) + { + terminators = NULL; + } + + if (terminators && strchr(terminators, dtmf.digit)) { + + char sbuf[2] = {dtmf.digit, '\0'}; + switch_channel_set_variable(channel, SWITCH_PLAYBACK_TERMINATOR_USED, sbuf); + eh.up = 0; + break; + } + } + + if (!SWITCH_READ_ACCEPTABLE(status)) { + eh.up = 0; + break; + } + + if (switch_test_flag(read_frame, SFF_CNG)) { + continue; + } + + switch_core_session_write_frame(session, read_frame, SWITCH_IO_FLAG_NONE, 0); + + avframe->nb_samples = 160; + + avcodec_fill_audio_frame(avframe, audio_codec->channels, audio_codec->sample_fmt, + (uint8_t *)read_frame->data, + read_frame->datalen * audio_codec->channels, + 1); + + { + AVPacket pkt = { 0 }; + int got_packet; + + av_init_packet(&pkt); + + avcodec_encode_audio2(audio_codec, &pkt, avframe, &got_packet); + + // switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_INFO, "got packet %d, size: %d\n", got_packet, pkt.size); + + if (!got_packet || pkt.size < 1) continue; + + pkt.stream_index = audio_st->index; + + /* Write the compressed frame to the media file. */ + switch_mutex_lock(eh.mutex); + if (av_interleaved_write_frame(avctx, &pkt) != 0) { + switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_ERROR, "Error while writing audio frame\n"); + switch_mutex_unlock(eh.mutex); + break; + } + switch_mutex_unlock(eh.mutex); + + } + } + + av_write_trailer(avctx); + + switch_channel_set_variable(channel, SWITCH_CURRENT_APPLICATION_RESPONSE_VARIABLE, "OK"); + +end: + + switch_core_session_set_read_codec(session, NULL); + + if (switch_core_codec_ready(&codec)) { + switch_core_codec_destroy(&codec); + } + + if (eh.up) { + while (eh.up) { + switch_cond_next(); + switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_ERROR, "waiting video thread to stop\n"); + } + } + + if (audio_st) avcodec_close(audio_st->codec); + + { + int i; + for (i = 0; i < avctx->nb_streams; i++) { + av_freep(&avctx->streams[i]->codec); + av_freep(&avctx->streams[i]); + } + } + + if (!(fmt->flags & AVFMT_NOFILE)) { + /* Close the output file. */ + switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_INFO, "closing file [%s]\n", data); + avio_close(avctx->pb); + } + + if (avctx) av_free(avctx); + if (avframe) av_free(avframe); + + switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_INFO, "==== done ========= done ==== \n"); + +} + +#define IP "192.168.1.1" + +static int write_packet(void *opaque, uint8_t *buf, int size) { + struct record_helper *eh = opaque; + switch_size_t bytes = size; + int i = -1; + switch_rtp_hdr_t *hdr; + switch_status_t status; + + while (size > 188) { + if (size > 188 * 7) { + bytes = 188 * 7; + size -= 188 * 7; + i++; + } else { + bytes = size; + i++; + size = 0; + } + + hdr = (switch_rtp_hdr_t *)(buf + 188 * 7 * i - 12); + memset(hdr, 0, 12); + + hdr->ssrc = 0x1111; + hdr->ts = switch_time_now(); + hdr->ts = htonl(hdr->ts); + hdr->version = 0x2; + hdr->seq = eh->seq++; + hdr->pt = 33; + + if (bytes < 188 * 7) hdr->m = 1; + + bytes += 12; + + status = switch_socket_sendto(eh->sock, eh->sock_addr, 0, (void *)hdr , &bytes); + + switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_INFO, "========== sending %ld %d\n", bytes, status); + + } + + return size; +} + +static void *SWITCH_THREAD_FUNC stream_ts_thread(switch_thread_t *thread, void *obj) +{ + struct record_helper *eh = obj; + switch_core_session_t *session = eh->session; + switch_channel_t *channel = switch_core_session_get_channel(session); + switch_status_t status; + switch_frame_t *read_frame; + switch_buffer_t *buf; + + AVFormatContext *oc; + AVOutputFormat *fmt; + AVStream *video_st = NULL; // better to be NULL than uninitialised + AVPacket pkt; + uint8_t *buf_callback = (uint8_t *)av_malloc(BUFFERSIZE); + AVIOContext *io; + + // uint8_t *fragment_type; + int key_frame = 0; + // int nal_type; + uint8_t *hdr; + uint64_t pts = 0; + + eh->seq = 0; + + io = avio_alloc_context(buf_callback + 12, BUFFERSIZE, 1, eh, NULL, write_packet, NULL); + + if (io == NULL) { + switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_ERROR, "IO is NULL\n"); + return NULL; + } + + if (switch_socket_create(&eh->sock, AF_INET, SOCK_DGRAM, 0, switch_core_session_get_pool(session)) != SWITCH_STATUS_SUCCESS) { + switch_log_printf(SWITCH_CHANNEL_SESSION_LOG(session), SWITCH_LOG_ERROR, "Socket Error 1\n"); + return NULL; + } + + if (switch_sockaddr_info_get(&eh->sock_addr, IP, SWITCH_UNSPEC, + 11000, 0, switch_core_session_get_pool(session)) != SWITCH_STATUS_SUCCESS) { + switch_log_printf(SWITCH_CHANNEL_SESSION_LOG(session), SWITCH_LOG_ERROR, "Socket Error 3\n"); + return NULL; + } + + if (switch_buffer_create(switch_core_session_get_pool(eh->session), &buf, 65536) != SWITCH_STATUS_SUCCESS) return NULL; + + av_register_all(); + + av_init_packet(&pkt); + + + fmt = av_guess_format(NULL, "filename.ts", NULL); // CODEC_ID_H264 -> mp4, mov; CODEC_ID_THEORA -> ogg; CODEC_ID_MPEG4 -> mpegts, avi; CODEC_ID_VP8 -> webm + + if (!fmt) { + printf("Could not deduce output format from file extension: using MP4.\n"); + fmt = av_guess_format("mpeg4", NULL, NULL); + } + if (!fmt) { + printf("av_guess_format Error!\n"); + return NULL; + } + + + oc = avformat_alloc_context(); + + if (!oc) { + printf("Could not deduce output format from file extension: using MP4.\n"); + + return NULL; + } + + oc->pb = io; + oc->oformat = fmt; + + switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_ERROR, "x:%d y:%d\n", AV_CODEC_ID_NONE, fmt->video_codec); + + if (fmt->video_codec != AV_CODEC_ID_NONE) { + video_st = add_video_stream(oc, fmt->video_codec); + } + + // av_dump_format(oc, 0, filename, 1); + + /* open the output file, if needed */ + // if (!(fmt->flags & AVFMT_NOFILE)) { + // if (avio_open(&oc->pb, filename, AVIO_FLAG_WRITE) < 0) { + // fprintf(stderr, "Could not open '%s'\n", filename); + // return NULL; + // } + // } + + /* Write the stream header, if any. */ + avformat_write_header(oc, NULL); + + eh->up = 1; + + + while (switch_channel_ready(channel) && eh->up) { + int ret; + uint8_t code[] = {0, 0, 1}; + + status = switch_core_session_read_video_frame(session, &read_frame, SWITCH_IO_FLAG_NONE, 0); + + if (!SWITCH_READ_ACCEPTABLE(status)) { + break; + } + + if (switch_test_flag(read_frame, SFF_CNG)) { + continue; + } + + switch_core_session_write_video_frame(session, read_frame, SWITCH_IO_FLAG_NONE, 0); + + switch_buffer_write(buf, &code, 3); + switch_buffer_write(buf, read_frame->data, read_frame->datalen); + + hdr = read_frame->data; + + switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_ERROR, "read %d %02x %02x %02x %d\n", + read_frame->m, *hdr, *(hdr+1), *(hdr+2), read_frame->datalen); + + if (!read_frame->m) continue; // continue buffering until we get a marker + + { + int nal_type = (*hdr &0x1f); + key_frame = (nal_type == 5); + } + + // if (oc->coded_frame->pts != AV_NOPTS_VALUE) { + // pts = av_rescale_q(read_frame->timestamp, video_st->codec->time_base, video_st->time_base); + // pkt.pts = read_frame->timestamp; + + pkt.pts = pts; + pts+=1; + + switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_ERROR, "pts %llu\n", (long long unsigned int)pkt.pts); + // } + + if (key_frame) { + pkt.flags |= AV_PKT_FLAG_KEY; + } else { + pkt.flags &= ~AV_PKT_FLAG_KEY; + } + + pkt.stream_index = video_st->index; + pkt.size = switch_buffer_inuse(buf); + switch_buffer_peek_zerocopy(buf, (const void **)&pkt.data); + + /* Write the compressed frame to the media file. */ + // ret = av_interleaved_write_frame(oc, &pkt); + ret = av_write_frame(oc, &pkt); + + switch_buffer_zero(buf); + + switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_ERROR, "write: %d, ret %d\n", pkt.size, ret); + + } + + av_write_trailer(oc); + + // if (0 && video_st) close_video(oc, video_st); + + {int i; + for (i = 0; i < oc->nb_streams; i++) { + av_freep(&oc->streams[i]->codec); + av_freep(&oc->streams[i]); + }} + + if (eh->sock) { + switch_socket_close(eh->sock); + } + +switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_ERROR, "flags %d\n", fmt->flags); + + // if (!(fmt->flags & AVFMT_NOFILE)) { + // /* Close the output file. */ + // switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_ERROR, "closing output file\n"); + // avio_close(oc->pb); + // } + + // av_free(oc); + + // av_free(fmt); // fixme? this will be freed with the following IO + av_free(io); + av_free(buf_callback); + switch_buffer_destroy(&buf); + eh->up = 0; + return NULL; +} + +SWITCH_STANDARD_APP(stream_ts_function) +{ + switch_status_t status; + switch_frame_t *read_frame; + switch_channel_t *channel = switch_core_session_get_channel(session); + struct record_helper eh = { 0 }; + switch_thread_t *thread; + switch_threadattr_t *thd_attr = NULL; + // int fd; + switch_mutex_t *mutex = NULL; + //switch_codec_t *vid_codec; + switch_codec_implementation_t read_impl = { 0 }; + switch_dtmf_t dtmf = { 0 }; + int count = 0, sanity = 30; + switch_core_session_message_t msg = { 0 }; + + /* Tell the channel to request a fresh vid frame */ + msg.from = __FILE__; + msg.message_id = SWITCH_MESSAGE_INDICATE_VIDEO_REFRESH_REQ; + + switch_core_session_get_read_impl(session, &read_impl); + switch_channel_answer(channel); + switch_core_session_receive_message(session, &msg); + + switch_channel_set_variable(channel, SWITCH_PLAYBACK_TERMINATOR_USED, ""); + + while (switch_channel_up(channel) && !switch_channel_test_flag(channel, CF_VIDEO)) { + switch_yield(10000); + + if (count) count--; + + if (count == 0) { + switch_log_printf(SWITCH_CHANNEL_SESSION_LOG(session), SWITCH_LOG_INFO, "%s waiting for video.\n", switch_channel_get_name(channel)); + count = 100; + if (!--sanity) { + switch_log_printf(SWITCH_CHANNEL_SESSION_LOG(session), SWITCH_LOG_WARNING, "%s timeout waiting for video.\n", + switch_channel_get_name(channel)); + switch_channel_set_variable(channel, SWITCH_CURRENT_APPLICATION_RESPONSE_VARIABLE, "Got timeout while waiting for video"); + return; + } + } + } + + if (!switch_channel_ready(channel)) { + switch_log_printf(SWITCH_CHANNEL_SESSION_LOG(session), SWITCH_LOG_CRIT, "%s not ready.\n", switch_channel_get_name(channel)); + switch_channel_set_variable(channel, SWITCH_CURRENT_APPLICATION_RESPONSE_VARIABLE, "Channel not ready"); + return; + } + + if (switch_channel_test_flag(channel, CF_VIDEO)) { + //vid_codec = switch_core_session_get_video_read_codec(session); + + switch_mutex_init(&mutex, SWITCH_MUTEX_NESTED, switch_core_session_get_pool(session)); + eh.mutex = mutex; + // eh.fd = fd; + eh.session = session; + switch_threadattr_create(&thd_attr, switch_core_session_get_pool(session)); + switch_threadattr_detach_set(thd_attr, 1); + switch_threadattr_stacksize_set(thd_attr, SWITCH_THREAD_STACKSIZE); + switch_thread_create(&thread, thd_attr, stream_ts_thread, &eh, switch_core_session_get_pool(session)); + } + + while (switch_channel_ready(channel)) { + + status = switch_core_session_read_frame(session, &read_frame, SWITCH_IO_FLAG_SINGLE_READ, 0); + + if (switch_channel_test_flag(channel, CF_BREAK)) { + switch_channel_clear_flag(channel, CF_BREAK); + eh.up = 0; + break; + } + + switch_ivr_parse_all_events(session); + + //check for dtmf interrupts + if (switch_channel_has_dtmf(channel)) { + const char * terminators = switch_channel_get_variable(channel, SWITCH_PLAYBACK_TERMINATORS_VARIABLE); + switch_channel_dequeue_dtmf(channel, &dtmf); + + if (terminators && !strcasecmp(terminators, "none")) + { + terminators = NULL; + } + + if (terminators && strchr(terminators, dtmf.digit)) { + + char sbuf[2] = {dtmf.digit, '\0'}; + switch_channel_set_variable(channel, SWITCH_PLAYBACK_TERMINATOR_USED, sbuf); + eh.up = 0; + break; + } + } + + if (!SWITCH_READ_ACCEPTABLE(status)) { + eh.up = 0; + break; + } + + if (switch_test_flag(read_frame, SFF_CNG)) { + continue; + } + + switch_core_session_write_frame(session, read_frame, SWITCH_IO_FLAG_NONE, 0); + } + + switch_channel_set_variable(channel, SWITCH_CURRENT_APPLICATION_RESPONSE_VARIABLE, "OK"); + + // end: + + if (eh.up) { + while (eh.up) { + switch_cond_next(); + switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_ERROR, "waiting video thread to be end\n"); + } + } + switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_ERROR, "==== done ========= ts done ==== \n"); + +} + +#endif + +/* codec interface */ + +#define H264_NALU_BUFFER_SIZE 65536 +#define MAX_NALUS 100 + +typedef struct our_h264_nalu_s +{ + const uint8_t *start; + const uint8_t *eat; + uint32_t len; +} our_h264_nalu_t; + +typedef struct h264_codec_context_s { + switch_buffer_t *nalu_buffer; + AVCodec *decoder; + AVCodec *encoder; + AVCodecContext *decoder_ctx; + AVCodecContext *encoder_ctx; + int got_pps; /* if pps packet received */ + int64_t pts; + int got_encoded_output; + AVFrame *encoder_avframe; + AVPacket encoder_avpacket; + our_h264_nalu_t nalus[MAX_NALUS]; + int nalu_current_index; + switch_size_t last_received_timestamp; + switch_bool_t last_received_complete_picture; + switch_image_t *img; + +#ifdef H264_CODEC_USE_LIBX264 + /*x264*/ + + x264_t *x264_handle; + x264_param_t x264_params; + x264_nal_t *x264_nals; + int x264_nal_count; + int cur_nalu_index; + int need_key_frame; +#endif + +} h264_codec_context_t; + +#ifdef H264_CODEC_USE_LIBX264 + +#define RTP_SLICE_SIZE SWITCH_DEFAULT_VIDEO_SIZE //NALU Slice Size + +static switch_status_t init_x264(h264_codec_context_t *context, uint32_t width, uint32_t height) +{ + x264_t *xh = context->x264_handle; + x264_param_t *xp = &context->x264_params; + int ret = 0; + + if (xh) { + xp->i_width = width; + xp->i_height = height; + ret = x264_encoder_reconfig(xh, xp); + + if (ret == 0) return SWITCH_STATUS_SUCCESS; + + switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_WARNING, "Cannot Reset error:%d\n", ret); + return SWITCH_STATUS_FALSE; + } + + x264_param_default(xp); + // xp->i_level_idc = 31; // baseline + // CPU Flags + xp->i_threads = 1;//X264_SYNC_LOOKAHEAD_AUTO; + // xp->i_lookahead_threads = X264_SYNC_LOOKAHEAD_AUTO; + // Video Properties + xp->i_width = width; + xp->i_height = height; + xp->i_frame_total = 0; + xp->i_keyint_max = FPS * 10; + // Bitstream parameters + xp->i_bframe = 0; + xp->i_frame_reference = 0; + // xp->b_open_gop = 0; + // xp->i_bframe_pyramid = 0; + // xp->i_bframe_adaptive = X264_B_ADAPT_TRELLIS; + + //xp->vui.i_sar_width = 1080; + //xp->vui.i_sar_height = 720; + // xp->i_log_level = X264_LOG_DEBUG; + xp->i_log_level = X264_LOG_NONE; + // Rate control Parameters + xp->rc.i_bitrate = 378;//kbps + // Muxing parameters + xp->i_fps_den = 1; + xp->i_fps_num = FPS; + xp->i_timebase_den = xp->i_fps_num; + xp->i_timebase_num = xp->i_fps_den; + xp->i_slice_max_size = RTP_SLICE_SIZE; + //Set Profile 0=baseline other than 1=MainProfile + x264_param_apply_profile(xp, x264_profile_names[0]); + xh = x264_encoder_open(xp); + + if (!xh) return SWITCH_STATUS_FALSE; + + // copy params back to xp; + x264_encoder_parameters(xh, xp); + context->x264_handle = xh; + return SWITCH_STATUS_SUCCESS; +} + +static switch_status_t nalu_slice(h264_codec_context_t *context, switch_frame_t *frame) +{ + int nalu_len; + uint8_t *buffer; + int start_code_len = 3; + x264_nal_t *nal = &context->x264_nals[context->cur_nalu_index]; + switch_status_t status = SWITCH_STATUS_SUCCESS; + + //*flag &= ~SFF_MARKER; + frame->m = 0; + + if (context->cur_nalu_index >= context->x264_nal_count) { + frame->datalen = 0; + frame->m = 0; + context->cur_nalu_index = 0; + return SWITCH_STATUS_NOTFOUND; + } + + if (nal->b_long_startcode) start_code_len++; + + nalu_len = nal->i_payload - start_code_len; + buffer = nal->p_payload + start_code_len; + + // switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_ERROR, "nalu:%d/%d nalu_len:%d\n", + // context->cur_nalu_index, context->x264_nal_count, nalu_len); + + switch_assert(nalu_len > 0); + + // if ((*buffer & 0x1f) == 7) switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_CRIT, "Got SPS\n"); + + memcpy(frame->data, buffer, nalu_len); + frame->datalen = nalu_len; + if (context->cur_nalu_index == context->x264_nal_count - 1) { + frame->m = 1; + } else { + status = SWITCH_STATUS_MORE_DATA; + } + + context->cur_nalu_index++; + + return status; +} + +#endif + +static uint8_t ff_input_buffer_padding[FF_INPUT_BUFFER_PADDING_SIZE] = { 0 }; + +static void buffer_h264_nalu(h264_codec_context_t *context, switch_frame_t *frame) +{ + // uint8_t nalu_idc = 0; + uint8_t nalu_type = 0; + uint8_t *data = frame->data; + uint8_t nalu_hdr = *data; + uint8_t sync_bytes[] = {0, 0, 0, 1}; + switch_buffer_t *buffer = context->nalu_buffer; + + if (!frame) { + switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_ERROR, "no frame in codec!!\n"); + return; + } + + // nalu_idc = (nalu_hdr & 0x60) >> 5; + nalu_type = nalu_hdr & 0x1f; + + // switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_ERROR, "%02x %d\n", nalu_hdr, frame->datalen); + + if (!context->got_pps && nalu_type != 7) { + switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_WARNING, "waiting pps\n"); + switch_set_flag(frame, SFF_WAIT_KEY_FRAME); + return; + } + + if (!context->got_pps) context->got_pps = 1; + + switch_buffer_write(buffer, sync_bytes, sizeof(sync_bytes)); + switch_buffer_write(buffer, frame->data, frame->datalen); + + if (frame->m) { + switch_buffer_write(buffer, ff_input_buffer_padding, sizeof(ff_input_buffer_padding)); + } +} + +#ifndef H264_CODEC_USE_LIBX264 + +static switch_status_t consume_nalu(h264_codec_context_t *context, void *data, uint32_t *len, uint32_t *flag) +{ + our_h264_nalu_t *nalu = &context->nalus[context->nalu_current_index]; + + if (!nalu->start) { + *len = 0; + *flag = 1; + if (context->encoder_avpacket.size > 0) av_free_packet(&context->encoder_avpacket); + if (context->encoder_avframe->data) av_freep(&context->encoder_avframe->data[0]); + context->nalu_current_index = 0; + return SWITCH_STATUS_SUCCESS; + } + + assert(nalu->len); + + if (nalu->len <= SLICE_SIZE) { + uint8_t nalu_hdr = *(uint8_t *)(nalu->start); + uint8_t nalu_type = nalu_hdr & 0x1f; + + memcpy(data, nalu->start, nalu->len); + *len = nalu->len; + *flag = (nalu_type == 6 || nalu_type == 7 || nalu_type == 8) ? 0 : 1; + context->nalu_current_index++; + return SWITCH_STATUS_SUCCESS; + } else { + uint8_t nalu_hdr = *(uint8_t *)(nalu->start); + uint8_t nri = nalu_hdr & 0x60; + uint8_t nalu_type = nalu_hdr & 0x1f; + int left = nalu->len - (nalu->eat - nalu->start); + uint8_t *p = data; + + if (left <= (1400 - 2)) { + p[0] = nri | 28; // FU-A + p[1] = 0x40 | nalu_type; + memcpy(p+2, nalu->eat, left); + nalu->eat += left; + *len = left + 2; + *flag = 1; + context->nalu_current_index++; + return SWITCH_STATUS_SUCCESS; + } else { + uint8_t start = nalu->start == nalu->eat ? 0x80 : 0; + + p[0] = nri | 28; // FU-A + p[1] = start | nalu_type; + if (start) nalu->eat++; + memcpy(p+2, nalu->eat, 1400 - 2); + nalu->eat += (1400 - 2); + *len = 1400; + *flag = 0; + return SWITCH_STATUS_SUCCESS; + } + } +} + +static switch_status_t open_encoder(h264_codec_context_t *context, uint32_t width, uint32_t height) +{ + + context->encoder_ctx->width = width; + context->encoder_ctx->height = height; + + if (avcodec_is_open(context->encoder_ctx)) avcodec_close(context->encoder_ctx); + + if (avcodec_open2(context->encoder_ctx, context->encoder, NULL) < 0) { + switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_ERROR, "Could not open codec\n"); + return SWITCH_STATUS_FALSE; + } + + return SWITCH_STATUS_SUCCESS; +} +#endif + +static switch_status_t switch_h264_init(switch_codec_t *codec, switch_codec_flag_t flags, const switch_codec_settings_t *codec_settings) +{ + int encoding, decoding; + + encoding = (flags & SWITCH_CODEC_FLAG_ENCODE); + decoding = (flags & SWITCH_CODEC_FLAG_DECODE); + + if (!(encoding || decoding)) { + return SWITCH_STATUS_FALSE; + } else { + h264_codec_context_t *context = NULL; + if (codec->fmtp_in) { + codec->fmtp_out = switch_core_strdup(codec->memory_pool, codec->fmtp_in); + } + + context = switch_core_alloc(codec->memory_pool, sizeof(h264_codec_context_t)); + switch_assert(context); + memset(context, 0, sizeof(*context)); + + if (decoding) { + context->decoder = avcodec_find_decoder(AV_CODEC_ID_H264); + + if (!context->decoder) { + switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_ERROR, "Cannot find codec AV_CODEC_ID_H264\n"); + goto error; + } + + switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_NOTICE, "codec: id=%d %s\n", context->decoder->id, context->decoder->long_name); + + context->decoder_ctx = avcodec_alloc_context3(context->decoder); + + if (avcodec_open2(context->decoder_ctx, context->decoder, NULL) < 0) { + switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_ERROR, "Error openning codec\n"); + goto error; + } + } + + if (encoding) { + context->encoder = avcodec_find_encoder(AV_CODEC_ID_H264); + if (!context->encoder) { + switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_ERROR, "Cannot find AV_CODEC_ID_H264 decoder\n"); + goto skip; + } + + context->encoder_ctx = avcodec_alloc_context3(context->encoder); + if (!context->encoder_ctx) { + switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_ERROR, "Could not allocate video encoder context\n"); + goto error; + } + + context->encoder_ctx->bit_rate = 400000; + context->encoder_ctx->width = 352; + context->encoder_ctx->height = 288; + /* frames per second */ + context->encoder_ctx->time_base= (AVRational){1, FPS}; + context->encoder_ctx->gop_size = FPS * 3; /* emit one intra frame every 3 seconds */ + context->encoder_ctx->max_b_frames = 0; + context->encoder_ctx->pix_fmt = AV_PIX_FMT_YUV420P; + // context->encoder_ctx->thread_count = 1; + // context->encoder_ctx->rtp_payload_size = RTP_SLICE_SIZE; + av_opt_set(context->encoder_ctx->priv_data, "preset", "fast", 0); + } + +skip: + + switch_buffer_create_dynamic(&(context->nalu_buffer), H264_NALU_BUFFER_SIZE, H264_NALU_BUFFER_SIZE * 8, 0); + codec->private_info = context; + + return SWITCH_STATUS_SUCCESS; + } + +error: + // todo, do some clean up + return SWITCH_STATUS_FALSE; +} + +#ifndef H264_CODEC_USE_LIBX264 + +static void __attribute__((unused)) fill_avframe(AVFrame *pict, switch_image_t *img) +{ + int i; + uint8_t *y = img->planes[0]; + uint8_t *u = img->planes[1]; + uint8_t *v = img->planes[2]; + + /* Y */ + for (i = 0; i < pict->height; i++) { + memcpy(&pict->data[0][i * pict->linesize[0]], y + i * img->stride[0], pict->width); + } + + //U V + for(i = 0; i < pict->height / 2; i++) { + memcpy(&pict->data[1][i * pict->linesize[1]], u + i * img->stride[1], pict->width / 2); + memcpy(&pict->data[2][i * pict->linesize[2]], v + i * img->stride[2], pict->width / 2); + } + +} + +// switch_image_t *img, +// void *encoded_data, uint32_t *encoded_data_len, +// unsigned int *flag) + +static switch_status_t switch_h264_encode(switch_codec_t *codec, switch_frame_t *frame) +{ + h264_codec_context_t *context = (h264_codec_context_t *)codec->private_info; + AVCodecContext *avctx= context->encoder_ctx; + int ret; + int *got_output = &context->got_encoded_output; + AVFrame *avframe; + AVPacket *pkt = &context->encoder_avpacket; + uint32_t width = 0; + uint32_t height = 0; + switch_image_t *img = frame->img; + void *encoded_data = frame->data; + uint32_t *encoded_data_len = frame->datalen; + unsigned int *flag = &frame->flags; + + if (*encoded_data_len < SWITCH_DEFAULT_VIDEO_SIZE) return SWITCH_STATUS_FALSE; + + if (frame->flags & SFF_SAME_IMAGE) { + // read from buffered + return consume_nalu(context, encoded_data, encoded_data_len, flag); + } + + width = img->d_w; + height = img->d_h; + + if (!avcodec_is_open(avctx)) { + switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_ERROR, "initializing encoder %dx%d\n", width, height); + open_encoder(context, width, height); + } + + if (avctx->width != width || avctx->height != height) { + switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_INFO, "picture size changed from %dx%d to %dx%d, reinitializing encoder", + avctx->width, avctx->height, width, height); + open_encoder(context, width, height); + } + + av_init_packet(pkt); + pkt->data = NULL; // packet data will be allocated by the encoder + pkt->size = 0; + + if (!context->encoder_avframe) context->encoder_avframe = avcodec_alloc_frame(); + + avframe = context->encoder_avframe; + + if (!avframe) { + switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_ERROR, "Error allocate frame!\n"); + goto error; + } + + avframe->format = avctx->pix_fmt; + avframe->width = avctx->width; + avframe->height = avctx->height; + + /* the image can be allocated by any means and av_image_alloc() is + * just the most convenient way if av_malloc() is to be used */ + ret = av_image_alloc(avframe->data, avframe->linesize, avctx->width, avctx->height, avctx->pix_fmt, 32); + if (ret < 0) { + switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_ERROR, "Could not allocate raw picture buffer\n"); + goto error; + } + + switch_assert(encoded_data); + + if (*got_output) { // Could be more delayed frames + ret = avcodec_encode_video2(avctx, pkt, NULL, got_output); + if (ret < 0) { + switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_ERROR, "Encoding Error %d\n", ret); + goto error; + } + + if (*got_output) { + switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_ERROR, "Encoded frame %llu (size=%5d) nalu_type=0x%x %d\n", context->pts, pkt->size, *((uint8_t *)pkt->data +4), *got_output); + goto process; + } + } + + fill_avframe(avframe, img); + + avframe->pts = context->pts++; + + /* encode the image */ + ret = avcodec_encode_video2(avctx, pkt, avframe, got_output); + + if (ret < 0) { + switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_ERROR, "Encoding Error %d\n", ret); + goto error; + } + +process: + + if (*got_output) { + const uint8_t *p = pkt->data; + int i = 0; + + /* split into nalus */ + memset(context->nalus, 0, sizeof(context->nalus)); + + while ((p = ff_avc_find_startcode(p, pkt->data+pkt->size)) < (pkt->data + pkt->size)) { + if (!context->nalus[i].start) { + while (!(*p++)) ; /* eat the sync bytes, what ever 0 0 1 or 0 0 0 1 */ + context->nalus[i].start = p; + context->nalus[i].eat = p; + } else { + context->nalus[i].len = p - context->nalus[i].start; + while (!(*p++)) ; /* eat the sync bytes, what ever 0 0 1 or 0 0 0 1 */ + i++; + context->nalus[i].start = p; + context->nalus[i].eat = p; + } + if (i >= MAX_NALUS - 2) break; + } + + context->nalus[i].len = p - context->nalus[i].start; + context->nalu_current_index = 0; + return consume_nalu(context, encoded_data, encoded_data_len, flag); + } + +error: + *encoded_data_len = 0; + return SWITCH_STATUS_FALSE; +} + +#endif + +#ifdef H264_CODEC_USE_LIBX264 + +static switch_status_t switch_h264_encode(switch_codec_t *codec, + switch_frame_t *frame) + //switch_image_t *img, + //void *encoded_data, uint32_t *encoded_data_len, + //unsigned int *flag) +{ + h264_codec_context_t *context = (h264_codec_context_t *)codec->private_info; + uint32_t width = 0; + uint32_t height = 0; + x264_picture_t pic = { 0 }, pic_out = { 0 }; + int result; + switch_image_t *img = frame->img; + void *encoded_data = frame->data; + uint32_t *encoded_data_len = &frame->datalen; + unsigned int *flag = &frame->flags; + + if (*flag & SFF_WAIT_KEY_FRAME) context->need_key_frame = 1; + + //if (*encoded_data_len < SWITCH_DEFAULT_VIDEO_SIZE) return SWITCH_STATUS_FALSE; + + if (!context) return SWITCH_STATUS_FALSE; + + if (!context->x264_handle) { + switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_INFO, "initializing x264 handle %dx%d\n", width, height); + init_x264(context, width, height); + } + + if (frame->flags & SFF_SAME_IMAGE) { + return nalu_slice(context, frame); + } + + width = img->d_w; + height = img->d_h; + + if (context->x264_params.i_width != width || context->x264_params.i_height != height) { + switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_INFO, "picture size changed from %dx%d to %dx%d, reinitializing encoder", + context->x264_params.i_width, context->x264_params.i_width, width, height); + init_x264(context, width, height); + } + + switch_assert(encoded_data); + + x264_picture_init(&pic); + pic.img.i_csp = X264_CSP_I420; + pic.img.i_plane = 3; + pic.img.i_stride[0] = img->stride[0]; + pic.img.i_stride[1] = img->stride[1]; + pic.img.i_stride[2] = img->stride[2]; + pic.img.plane[0] = img->planes[0]; + pic.img.plane[1] = img->planes[1]; + pic.img.plane[2] = img->planes[2]; + // pic.i_pts = (context->pts++); + // pic.i_pts = (context->pts+=90000/FPS); + pic.i_pts = 0; + + if (context->need_key_frame) { + // pic->i_type = X264_TYPE_KEYFRAME; + pic.i_type = X264_TYPE_IDR; + context->need_key_frame = 0; + } + + result = x264_encoder_encode(context->x264_handle, &context->x264_nals, &context->x264_nal_count, &pic, &pic_out); + + if (result < 0) { + switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_ERROR, "encode error\n"); + goto error; + } + + // switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_ERROR, "encode result:%d nal_count:%d daylayed: %d, max_delayed: %d\n", result, context->x264_nal_count, x264_encoder_delayed_frames(context->x264_handle), x264_encoder_maximum_delayed_frames(context->x264_handle)); + + if (0) { //debug + int i; + x264_nal_t *nals = context->x264_nals; + for (i = 0; i < context->x264_nal_count; i++) { + // int start_code_len = 3 + nals[i].b_long_startcode; + switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_ERROR, "encoded: %d %d %d %d| %d %d %d %x %x %x %x %x %x\n", + nals[i].i_type, nals[i].i_ref_idc, nals[i].i_payload, nals[i].b_long_startcode, *(nals[i].p_payload), *(nals[i].p_payload + 1), *(nals[i].p_payload + 2), *(nals[i].p_payload+3), *(nals[i].p_payload + 4), *(nals[i].p_payload + 5), *(nals[i].p_payload + 6), *(nals[i].p_payload + 7), *(nals[i].p_payload + 8)); + } + switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_ERROR, "encoder output dts:%ld\n", (long)pic_out.i_dts); + } + + context->cur_nalu_index = 0; + return nalu_slice(context, frame); + +error: + + *encoded_data_len = 0; + return SWITCH_STATUS_NOTFOUND; +} + +#endif + +static switch_status_t switch_h264_decode(switch_codec_t *codec, switch_frame_t *frame) +{ + h264_codec_context_t *context = (h264_codec_context_t *)codec->private_info; + AVCodecContext *avctx= context->decoder_ctx; + + switch_assert(frame); + + // switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_INFO, "len: %d ts: %u mark:%d\n", frame->datalen, ntohl(frame->timestamp), frame->m); + + //if (context->last_received_timestamp && context->last_received_timestamp != frame->timestamp && + // (!frame->m) && (!context->last_received_complete_picture)) { + // possible packet loss + // switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_WARNING, "Packet Loss, skip privousely received packets\n"); + // switch_buffer_zero(context->nalu_buffer); + //} + + context->last_received_timestamp = frame->timestamp; + context->last_received_complete_picture = frame->m ? SWITCH_TRUE : SWITCH_FALSE; + + buffer_h264_nalu(context, frame); + + if (frame->m) { + uint32_t size = switch_buffer_inuse(context->nalu_buffer); + AVPacket pkt = { 0 }; + AVFrame *picture; + int got_picture = 0; + int decoded_len; + + if (size > FF_INPUT_BUFFER_PADDING_SIZE) { + av_init_packet(&pkt); + pkt.data = NULL; + pkt.size = 0; + switch_buffer_peek_zerocopy(context->nalu_buffer, (const void **)&pkt.data); + + pkt.size = size - FF_INPUT_BUFFER_PADDING_SIZE; + picture = av_frame_alloc(); + assert(picture); + decoded_len = avcodec_decode_video2(avctx, picture, &got_picture, &pkt); + + // switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_ERROR, "buffer: %d got pic: %d len: %d [%dx%d]\n", size, got_picture, decoded_len, avctx->width, avctx->height); + + if (got_picture && decoded_len > 0) { + int width = avctx->width; + int height = avctx->height; + + if (!context->img) { + context->img = switch_img_wrap(NULL, SWITCH_IMG_FMT_I420, width, height, 0, picture->data[0]); + assert(context->img); + } + context->img->w = picture->linesize[0]; + context->img->h = picture->linesize[1]; + context->img->d_w = width; + context->img->d_h = height; + context->img->planes[0] = picture->data[0]; + context->img->planes[1] = picture->data[1]; + context->img->planes[2] = picture->data[2]; + context->img->stride[0] = picture->linesize[0]; + context->img->stride[1] = picture->linesize[1]; + context->img->stride[2] = picture->linesize[2]; + + frame->img = context->img; + + } + + av_frame_free(&picture); + av_free_packet(&pkt); + } + + switch_buffer_zero(context->nalu_buffer); + return SWITCH_STATUS_SUCCESS; + } + + return SWITCH_STATUS_SUCCESS; +} + +static switch_status_t switch_h264_control(switch_codec_t *codec, + switch_codec_control_command_t cmd, + switch_codec_control_type_t ctype, + void *cmd_data, + switch_codec_control_type_t *rtype, + void **ret_data) { + + + + h264_codec_context_t *context = (h264_codec_context_t *)codec->private_info; + + switch(cmd) { + case SCC_VIDEO_REFRESH: + context->need_key_frame = 1; + break; + default: + break; + } + + return SWITCH_STATUS_SUCCESS; +} + + +static switch_status_t switch_h264_destroy(switch_codec_t *codec) +{ + h264_codec_context_t *context = (h264_codec_context_t *)codec->private_info; + + if (!context) return SWITCH_STATUS_SUCCESS; + + switch_buffer_destroy(&context->nalu_buffer); + if (context->decoder_ctx) { + if (avcodec_is_open(context->decoder_ctx)) avcodec_close(context->decoder_ctx); + av_free(context->decoder_ctx); + } + + if (context->img) switch_img_free(context->img); + + if (context->encoder_ctx) { + if (avcodec_is_open(context->encoder_ctx)) avcodec_close(context->encoder_ctx); + av_free(context->encoder_ctx); + } + + if (context->encoder_avframe) { + av_frame_free(&context->encoder_avframe); + } + +#ifdef H264_CODEC_USE_LIBX264 + if (context->x264_handle) { + x264_encoder_close(context->x264_handle); + } +#endif + + return SWITCH_STATUS_SUCCESS; +} + +/* end of codec interface */ + + +/* API interface */ + +static char get_media_type_char(enum AVMediaType type) +{ + switch (type) { + case AVMEDIA_TYPE_VIDEO: return 'V'; + case AVMEDIA_TYPE_AUDIO: return 'A'; + case AVMEDIA_TYPE_DATA: return 'D'; + case AVMEDIA_TYPE_SUBTITLE: return 'S'; + case AVMEDIA_TYPE_ATTACHMENT:return 'T'; + default: return '?'; + } +} + +static const AVCodec *next_codec_for_id(enum AVCodecID id, const AVCodec *prev, + int encoder) +{ + while ((prev = av_codec_next(prev))) { + if (prev->id == id && + (encoder ? av_codec_is_encoder(prev) : av_codec_is_decoder(prev))) + return prev; + } + return NULL; +} + +static int compare_codec_desc(const void *a, const void *b) +{ + const AVCodecDescriptor * const *da = a; + const AVCodecDescriptor * const *db = b; + + return (*da)->type != (*db)->type ? (*da)->type - (*db)->type : + strcmp((*da)->name, (*db)->name); +} + +static unsigned get_codecs_sorted(const AVCodecDescriptor ***rcodecs) +{ + const AVCodecDescriptor *desc = NULL; + const AVCodecDescriptor **codecs; + unsigned nb_codecs = 0, i = 0; + + while ((desc = avcodec_descriptor_next(desc))) + nb_codecs++; + if (!(codecs = av_malloc(nb_codecs * sizeof(*codecs)))) { + switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_ERROR, "MEM Error!\n"); + return 0; + } + desc = NULL; + while ((desc = avcodec_descriptor_next(desc))) + codecs[i++] = desc; + switch_assert(i == nb_codecs); + qsort(codecs, nb_codecs, sizeof(*codecs), compare_codec_desc); + *rcodecs = codecs; + return nb_codecs; +} + +static void print_codecs_for_id(switch_stream_handle_t *stream, enum AVCodecID id, int encoder) +{ + const AVCodec *codec = NULL; + + stream->write_function(stream, " (%s: ", encoder ? "encoders" : "decoders"); + + while ((codec = next_codec_for_id(id, codec, encoder))) + stream->write_function(stream, "%s ", codec->name); + + stream->write_function(stream, ")"); +} + +SWITCH_STANDARD_API(ffmpeg_api_function) +{ + const AVCodecDescriptor **codecs = NULL; + unsigned i, nb_codecs = get_codecs_sorted(&codecs); + + stream->write_function(stream, "===============================================:\n" + " V..... = Video\n" + " A..... = Audio\n" + " S..... = Subtitle\n" + " .F.... = Frame-level multithreading\n" + " ..S... = Slice-level multithreading\n" + " ...X.. = Codec is experimental\n" + " ....B. = Supports draw_horiz_band\n" + " .....D = Supports direct rendering method 1\n" + " ----------------------------------------------\n\n"); + + for (i = 0; i < nb_codecs; i++) { + const AVCodecDescriptor *desc = codecs[i]; + const AVCodec *codec = NULL; + + stream->write_function(stream, " "); + stream->write_function(stream, avcodec_find_decoder(desc->id) ? "D" : "."); + stream->write_function(stream, avcodec_find_encoder(desc->id) ? "E" : "."); + + stream->write_function(stream, "%c", get_media_type_char(desc->type)); + stream->write_function(stream, (desc->props & AV_CODEC_PROP_INTRA_ONLY) ? "I" : "."); + stream->write_function(stream, (desc->props & AV_CODEC_PROP_LOSSY) ? "L" : "."); + stream->write_function(stream, (desc->props & AV_CODEC_PROP_LOSSLESS) ? "S" : "."); + + stream->write_function(stream, " %-20s %s", desc->name, desc->long_name ? desc->long_name : ""); + + /* print decoders/encoders when there's more than one or their + * names are different from codec name */ + while ((codec = next_codec_for_id(desc->id, codec, 0))) { + if (strcmp(codec->name, desc->name)) { + print_codecs_for_id(stream ,desc->id, 0); + break; + } + } + codec = NULL; + while ((codec = next_codec_for_id(desc->id, codec, 1))) { + if (strcmp(codec->name, desc->name)) { + print_codecs_for_id(stream, desc->id, 1); + break; + } + } + + stream->write_function(stream, "\n"); + + } + + av_free(codecs); + return SWITCH_STATUS_SUCCESS; +} + +static void log_callback(void *ptr, int level, const char *fmt, va_list vl) +{ + switch_log_level_t switch_level = SWITCH_LOG_DEBUG; + + switch(level) { + case AV_LOG_QUIET: switch_level = SWITCH_LOG_CONSOLE; break; + case AV_LOG_PANIC: switch_level = SWITCH_LOG_ERROR; break; + case AV_LOG_FATAL: switch_level = SWITCH_LOG_ERROR; break; + case AV_LOG_ERROR: switch_level = SWITCH_LOG_ERROR; break; + case AV_LOG_WARNING: switch_level = SWITCH_LOG_WARNING; break; + case AV_LOG_INFO: switch_level = SWITCH_LOG_INFO; break; + case AV_LOG_VERBOSE: switch_level = SWITCH_LOG_INFO; break; + case AV_LOG_DEBUG: switch_level = SWITCH_LOG_DEBUG; break; + default: break; + } + + switch_level = SWITCH_LOG_ERROR; // hardcoded for debug + switch_log_vprintf(SWITCH_CHANNEL_LOG, switch_level, fmt, vl); +} + +static char *supported_formats[SWITCH_MAX_CODECS] = { 0 }; + +SWITCH_MODULE_LOAD_FUNCTION(mod_ffmpeg_load) +{ + // switch_application_interface_t *app_interface; + // switch_file_interface_t *file_interface; + switch_codec_interface_t *codec_interface; + switch_api_interface_t *api_interface; + + supported_formats[0] = "mp4"; + supported_formats[1] = "ts"; + + /* connect my internal structure to the blank pointer passed to me */ + *module_interface = switch_loadable_module_create_module_interface(pool, modname); + + SWITCH_ADD_CODEC(codec_interface, "H264 Video"); + switch_core_codec_add_video_implementation(pool, codec_interface, 99, "H264", NULL, + switch_h264_init, switch_h264_encode, switch_h264_decode, switch_h264_control, switch_h264_destroy); + +#if 0 + file_interface = switch_loadable_module_create_interface(*module_interface, SWITCH_FILE_INTERFACE); + file_interface->interface_name = modname; + file_interface->extens = supported_formats; + file_interface->file_open = ffmpeg_open; + file_interface->file_close = ffmpeg_close; + file_interface->file_truncate = ffmpeg_truncate; + file_interface->file_read = ffmpeg_read; + file_interface->file_write = ffmpeg_write; + file_interface->file_write_video = ffmpeg_write_video; + file_interface->file_seek = ffmpeg_seek; + file_interface->file_set_string = ffmpeg_set_string; + file_interface->file_get_string = ffmpeg_get_string; + + // SWITCH_ADD_APP(app_interface, "play_ffmpeg", "play a video file", "play a video file", play_ffmpeg_function, "", SAF_NONE); + SWITCH_ADD_APP(app_interface, "record_ffmpeg", "record a video file", "record a video file", record_ffmpeg_function, "", SAF_NONE); + SWITCH_ADD_APP(app_interface, "stream_ts", "stream ts to rtp", "stream ts to rtp", stream_ts_function, "", SAF_NONE); +#endif + + SWITCH_ADD_API(api_interface, "ffmpeg", "ffmpeg", ffmpeg_api_function, ""); + + av_log_set_callback(log_callback); + av_log_set_level(AV_LOG_DEBUG); + av_register_all(); + + av_log(NULL, AV_LOG_INFO, "%s %d\n", "av_log callback installed, level=", av_log_get_level()); + + /* indicate that the module should continue to be loaded */ + return SWITCH_STATUS_SUCCESS; +} + +/* For Emacs: + * Local Variables: + * mode:c + * indent-tabs-mode:t + * tab-width:4 + * c-basic-offset:4 + * End: + * For VIM: + * vim:set softtabstop=4 shiftwidth=4 tabstop=4: + */ From 79bc5bcda23bd28d3df3051da2d1645c8b745f03 Mon Sep 17 00:00:00 2001 From: Anthony Minessale Date: Fri, 21 Nov 2014 16:57:45 -0500 Subject: [PATCH 066/629] FS-7513: add video decode conference flag --- src/mod/applications/mod_conference/mod_conference.c | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/src/mod/applications/mod_conference/mod_conference.c b/src/mod/applications/mod_conference/mod_conference.c index b89413cf37..26dcbe8e73 100644 --- a/src/mod/applications/mod_conference/mod_conference.c +++ b/src/mod/applications/mod_conference/mod_conference.c @@ -225,7 +225,8 @@ typedef enum { CFLAG_JSON_EVENTS = (1 << 20), CFLAG_LIVEARRAY_SYNC = (1 << 21), CFLAG_CONF_RESTART_AUTO_RECORD = (1 << 22), - CFLAG_POSITIONAL = (1 << 23) + CFLAG_POSITIONAL = (1 << 23), + CFLAG_DECODE_VIDEO = (1 << 24) } conf_flag_t; typedef enum { @@ -2244,6 +2245,10 @@ static switch_status_t conference_add_member(conference_obj_t *conference, confe switch_set_flag_locked(member, MFLAG_ACK_VIDEO); } + if (switch_test_flag(conference, CFLAG_DECODE_VIDEO)) { + switch_channel_set_flag(channel, CF_VIDEO_DECODED_READ); + } + switch_channel_set_variable_printf(channel, "conference_member_id", "%d", member->id); switch_channel_set_variable_printf(channel, "conference_moderator", "%s", switch_test_flag(member, MFLAG_MOD) ? "true" : "false"); switch_channel_set_variable_printf(channel, "conference_ghost", "%s", switch_test_flag(member, MFLAG_GHOST) ? "true" : "false"); @@ -8929,6 +8934,8 @@ static void set_cflags(const char *flags, uint32_t *f) *f |= CFLAG_RFC4579; } else if (!strcasecmp(argv[i], "auto-3d-position")) { *f |= CFLAG_POSITIONAL; + } else if (!strcasecmp(argv[i], "decode-video")) { + *f |= CFLAG_DECODE_VIDEO; } @@ -9201,7 +9208,6 @@ SWITCH_STANDARD_APP(conference_function) switch_channel_set_flag(channel, CF_CONFERENCE); switch_channel_set_flag(channel, CF_VIDEO_PASSIVE); - if (switch_channel_answer(channel) != SWITCH_STATUS_SUCCESS) { switch_log_printf(SWITCH_CHANNEL_SESSION_LOG(session), SWITCH_LOG_ERROR, "Channel answer failed.\n"); goto end; From 6402f3533ca206a89d722bf9214dfbcb1bd89e80 Mon Sep 17 00:00:00 2001 From: Anthony Minessale Date: Fri, 21 Nov 2014 17:25:08 -0500 Subject: [PATCH 067/629] FS-7514: vlc audio buffer tweak --- src/mod/formats/mod_vlc/mod_vlc.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/mod/formats/mod_vlc/mod_vlc.c b/src/mod/formats/mod_vlc/mod_vlc.c index 5f2ce61921..d6b737e355 100644 --- a/src/mod/formats/mod_vlc/mod_vlc.c +++ b/src/mod/formats/mod_vlc/mod_vlc.c @@ -199,9 +199,9 @@ void vlc_play_audio_callback(void *data, const void *samples, unsigned count, in switch_mutex_lock(context->audio_mutex); bytes = switch_buffer_inuse(context->audio_buffer); - if ( bytes > VLC_BUFFER_SIZE * 4) { + if ( bytes > (VLC_BUFFER_SIZE * 10)) { switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_WARNING, "Buffer overflow %d\n", (int)bytes); - switch_buffer_toss(context->audio_buffer, bytes - VLC_BUFFER_SIZE); + switch_buffer_toss(context->audio_buffer, bytes - (VLC_BUFFER_SIZE * 10)); } switch_buffer_write(context->audio_buffer, samples, count * 2 * context->channels); @@ -252,7 +252,7 @@ static void do_buffer_frame(vlc_video_context_t *context, switch_frame_t *frame) switch_mutex_lock(context->video_mutex); - if (switch_buffer_inuse(context->video_buffer) > VLC_BUFFER_SIZE * 10) { + if (switch_buffer_inuse(context->video_buffer) > VLC_BUFFER_SIZE * 1024) { switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_ERROR, "buffer overflow %d\n", (int)switch_buffer_inuse(context->video_buffer)); switch_buffer_zero(context->video_buffer); } From 85d34e7ac93dd86664ac94fd4c30092b36ef17c6 Mon Sep 17 00:00:00 2001 From: Anthony Minessale Date: Fri, 21 Nov 2014 17:35:42 -0500 Subject: [PATCH 068/629] FS-7514: SQUASH ME --- src/mod/formats/mod_vlc/mod_vlc.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/mod/formats/mod_vlc/mod_vlc.c b/src/mod/formats/mod_vlc/mod_vlc.c index d6b737e355..e5a24cc66d 100644 --- a/src/mod/formats/mod_vlc/mod_vlc.c +++ b/src/mod/formats/mod_vlc/mod_vlc.c @@ -199,9 +199,9 @@ void vlc_play_audio_callback(void *data, const void *samples, unsigned count, in switch_mutex_lock(context->audio_mutex); bytes = switch_buffer_inuse(context->audio_buffer); - if ( bytes > (VLC_BUFFER_SIZE * 10)) { + if (bytes > 2000000) { switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_WARNING, "Buffer overflow %d\n", (int)bytes); - switch_buffer_toss(context->audio_buffer, bytes - (VLC_BUFFER_SIZE * 10)); + switch_buffer_zero(context->audio_buffer); } switch_buffer_write(context->audio_buffer, samples, count * 2 * context->channels); From ca70f76a8b9dec5bc2a2082a4b1cf646cd502d20 Mon Sep 17 00:00:00 2001 From: Anthony Minessale Date: Fri, 21 Nov 2014 17:42:07 -0500 Subject: [PATCH 069/629] FS-7500: refresh vid the other way too when asking for keyframe --- src/switch_core_media.c | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/src/switch_core_media.c b/src/switch_core_media.c index 17320bae22..76d53470f6 100644 --- a/src/switch_core_media.c +++ b/src/switch_core_media.c @@ -9517,6 +9517,10 @@ SWITCH_DECLARE(switch_status_t) switch_core_media_codec_control(switch_core_sess codec = &engine->write_codec; } + if (cmd == SCC_VIDEO_REFRESH && mtype == SWITCH_MEDIA_TYPE_VIDEO) { + switch_core_session_refresh_video(session); + } + if (codec) { return switch_core_codec_control(codec, cmd, ctype, cmd_data, rtype, ret_data); } From b8577d0ce94a70f30474b7244e0b5e517e135bb8 Mon Sep 17 00:00:00 2001 From: Anthony Minessale Date: Fri, 21 Nov 2014 18:59:13 -0500 Subject: [PATCH 070/629] FS-7500: fix seg and clean up keyframe code --- src/switch_core_media.c | 22 ++++++++++++++++++++-- src/switch_core_session.c | 1 + 2 files changed, 21 insertions(+), 2 deletions(-) diff --git a/src/switch_core_media.c b/src/switch_core_media.c index 76d53470f6..94d6eae804 100644 --- a/src/switch_core_media.c +++ b/src/switch_core_media.c @@ -9517,8 +9517,17 @@ SWITCH_DECLARE(switch_status_t) switch_core_media_codec_control(switch_core_sess codec = &engine->write_codec; } - if (cmd == SCC_VIDEO_REFRESH && mtype == SWITCH_MEDIA_TYPE_VIDEO) { - switch_core_session_refresh_video(session); + if (mtype == SWITCH_MEDIA_TYPE_VIDEO) { + if (!switch_channel_test_flag(session->channel, CF_VIDEO)) { + return SWITCH_STATUS_FALSE; + } + + if (cmd == SCC_VIDEO_REFRESH) { + switch_core_session_message_t msg = { 0 }; + msg.from = __FILE__; + msg.message_id = SWITCH_MESSAGE_INDICATE_VIDEO_REFRESH_REQ; + switch_core_session_receive_message(session, &msg); + } } if (codec) { @@ -9564,6 +9573,7 @@ SWITCH_DECLARE(switch_status_t) switch_core_session_write_video_frame(switch_cor switch_media_handle_t *smh; switch_image_t *img = frame->img; switch_status_t encode_status; + switch_frame_t write_frame = {0}; switch_assert(session); @@ -9575,6 +9585,11 @@ SWITCH_DECLARE(switch_status_t) switch_core_session_write_video_frame(switch_cor return SWITCH_STATUS_FALSE; } + if (!codec) { + switch_log_printf(SWITCH_CHANNEL_SESSION_LOG(session), SWITCH_LOG_WARNING, "%s has no video codec\n", switch_core_session_get_name(session)); + return SWITCH_STATUS_FALSE; + } + if (switch_channel_test_flag(session->channel, CF_VIDEO_PAUSE)) { return SWITCH_STATUS_SUCCESS; } @@ -9598,6 +9613,9 @@ SWITCH_DECLARE(switch_status_t) switch_core_session_write_video_frame(switch_cor return raw_write_video(session, frame, flags, stream_id); } + write_frame = *frame; + frame = &write_frame; + if (!switch_test_flag(frame, SFF_USE_VIDEO_TIMESTAMP)) { if (!(timer = switch_core_media_get_timer(session, SWITCH_MEDIA_TYPE_VIDEO))) { diff --git a/src/switch_core_session.c b/src/switch_core_session.c index e7a4fe369d..f39f8899bc 100644 --- a/src/switch_core_session.c +++ b/src/switch_core_session.c @@ -3059,6 +3059,7 @@ SWITCH_DECLARE(switch_status_t) switch_core_session_refresh_video(switch_core_se msg.from = __FILE__; msg.message_id = SWITCH_MESSAGE_INDICATE_VIDEO_REFRESH_REQ; switch_core_session_receive_message(session, &msg); + switch_core_media_gen_key_frame(session); return SWITCH_STATUS_SUCCESS; } From b90d24a05f9320ded34edc30a90005265ecb298a Mon Sep 17 00:00:00 2001 From: Anthony Minessale Date: Sat, 22 Nov 2014 15:42:22 -0500 Subject: [PATCH 071/629] FS-7513: fix video switching in conference --- src/include/switch_core.h | 2 +- .../mod_conference/mod_conference.c | 16 +++++++------- src/switch_core_media.c | 22 ++++++++----------- src/switch_core_session.c | 11 ++++++++++ 4 files changed, 29 insertions(+), 22 deletions(-) diff --git a/src/include/switch_core.h b/src/include/switch_core.h index 9492d41220..de3e5b3ce4 100644 --- a/src/include/switch_core.h +++ b/src/include/switch_core.h @@ -2666,7 +2666,7 @@ SWITCH_DECLARE(int) switch_core_cert_gen_fingerprint(const char *prefix, dtls_fi SWITCH_DECLARE(int) switch_core_cert_expand_fingerprint(dtls_fingerprint_t *fp, const char *str); SWITCH_DECLARE(int) switch_core_cert_verify(dtls_fingerprint_t *fp); SWITCH_DECLARE(switch_status_t) switch_core_session_refresh_video(switch_core_session_t *session); - +SWITCH_DECLARE(switch_status_t) switch_core_session_refresh_video_both_ways(switch_core_session_t *session); SWITCH_DECLARE(int) switch_system(const char *cmd, switch_bool_t wait); SWITCH_DECLARE(int) switch_stream_system_fork(const char *cmd, switch_stream_handle_t *stream); SWITCH_DECLARE(int) switch_stream_system(const char *cmd, switch_stream_handle_t *stream); diff --git a/src/mod/applications/mod_conference/mod_conference.c b/src/mod/applications/mod_conference/mod_conference.c index 26dcbe8e73..a91c32b435 100644 --- a/src/mod/applications/mod_conference/mod_conference.c +++ b/src/mod/applications/mod_conference/mod_conference.c @@ -2260,12 +2260,12 @@ static switch_status_t conference_add_member(conference_obj_t *conference, confe switch_channel_clear_flag(channel, CF_VIDEO_PASSIVE); } /* Tell the channel to request a fresh vid frame */ - switch_core_session_refresh_video(member->session); + switch_core_session_refresh_video_both_ways(member->session); if (conference->video_floor_holder) { switch_mutex_lock(conference->mutex); if (conference->video_floor_holder) { - switch_core_session_refresh_video(conference->video_floor_holder->session); + switch_core_session_refresh_video_both_ways(conference->video_floor_holder->session); // there's already someone hold the floor, tell the core thread start to read video switch_channel_clear_flag(member->channel, CF_VIDEO_PASSIVE); } @@ -2488,7 +2488,7 @@ static void conference_set_video_floor_holder(conference_obj_t *conference, conf switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_DEBUG1, "Adding video floor %s\n", switch_channel_get_name(member->channel)); //switch_channel_set_flag(member->channel, CF_VIDEO_PASSIVE); - switch_core_session_refresh_video(member->session); + switch_core_session_refresh_video_both_ways(member->session); conference->video_floor_holder = member; member_update_status_field(member); } else { @@ -2514,7 +2514,7 @@ static void conference_set_video_floor_holder(conference_obj_t *conference, conf switch_channel_set_flag(imember->channel, CF_VIDEO_BREAK); switch_core_session_kill_channel(imember->session, SWITCH_SIG_BREAK); - switch_core_session_refresh_video(imember->session); + switch_core_session_refresh_video_both_ways(imember->session); } switch_set_flag(conference, CFLAG_FLOOR_CHANGE); @@ -2880,7 +2880,7 @@ static void *SWITCH_THREAD_FUNC conference_video_bridge_thread_run(switch_thread switch_channel_ready(channel_a) && switch_channel_ready(channel_b)) { if (switch_channel_test_flag(channel_a, CF_VIDEO_REFRESH_REQ)) { - switch_core_session_refresh_video(session_b); + switch_core_session_refresh_video_both_ways(session_b); switch_channel_clear_flag(channel_a, CF_VIDEO_REFRESH_REQ); } @@ -3027,7 +3027,7 @@ static void *SWITCH_THREAD_FUNC conference_video_thread_run(switch_thread_t *thr switch_mutex_unlock(conference->mutex); if (want_refresh && session) { - switch_core_session_refresh_video(session); + switch_core_session_refresh_video_both_ways(session); want_refresh = 0; } @@ -4335,7 +4335,7 @@ static void *SWITCH_THREAD_FUNC conference_loop_input(switch_thread_t *thread, v if (switch_channel_test_flag(channel, CF_VIDEO) && !switch_test_flag(member, MFLAG_ACK_VIDEO)) { switch_set_flag_locked(member, MFLAG_ACK_VIDEO); - switch_core_session_refresh_video(member->session); + switch_core_session_refresh_video_both_ways(member->session); conference_set_video_floor_holder(member->conference, member, SWITCH_FALSE); } @@ -5203,7 +5203,7 @@ static void *SWITCH_THREAD_FUNC conference_record_thread_run(switch_thread_t *th switch_mutex_lock(conference->mutex); if (!conference->record_fh) conference->record_fh = &fh; if (conference->video_floor_holder) { - switch_core_session_refresh_video(conference->video_floor_holder->session); + switch_core_session_refresh_video_both_ways(conference->video_floor_holder->session); } switch_mutex_unlock(conference->mutex); diff --git a/src/switch_core_media.c b/src/switch_core_media.c index 94d6eae804..f3bb24724e 100644 --- a/src/switch_core_media.c +++ b/src/switch_core_media.c @@ -644,9 +644,8 @@ SWITCH_DECLARE(payload_map_t *) switch_core_media_add_payload_map(switch_core_se switch_mutex_lock(smh->sdp_mutex); - for (pmap = engine->payload_map; pmap && pmap->allocated; pmap = pmap->next) { - exists = (!strcasecmp(name, pmap->iananame) && (!pmap->rate || rate == pmap->rate) && (!pmap->ptime || pmap->ptime == ptime)); + exists = (!strcasecmp(name, pmap->iananame) && pmap->pt == pt && (!pmap->rate || rate == pmap->rate) && (!pmap->ptime || pmap->ptime == ptime)); if (exists) { @@ -4135,6 +4134,10 @@ SWITCH_DECLARE(uint8_t) switch_core_media_negotiate_sdp(switch_core_session_t *s vmatch = strcasecmp(rm_encoding, imp->iananame) ? 0 : 1; } + //DFF hack out packetization mode 1 need infrastructure here + if (switch_stristr("packetization-mode=1", map->rm_fmtp)) { + vmatch = 0; + } if (vmatch && (map->rm_rate == imp->samples_per_second)) { matches[m_idx].imp = imp; @@ -6984,9 +6987,9 @@ SWITCH_DECLARE(void) switch_core_media_gen_local_sdp(switch_core_session_t *sess switch_core_media_choose_port(session, SWITCH_MEDIA_TYPE_VIDEO, 0); } - if (switch_channel_test_flag(session->channel, CF_WEBRTC)) { - switch_media_handle_set_media_flag(smh, SCMF_MULTI_ANSWER_VIDEO); - } + //if (switch_channel_test_flag(session->channel, CF_WEBRTC)) { + // switch_media_handle_set_media_flag(smh, SCMF_MULTI_ANSWER_VIDEO); + //} if ((v_port = v_engine->adv_sdp_port)) { int loops; @@ -7017,7 +7020,7 @@ SWITCH_DECLARE(void) switch_core_media_gen_local_sdp(switch_core_session_t *sess if (switch_media_handle_test_media_flag(smh, SCMF_MULTI_ANSWER_VIDEO)) { switch_mutex_lock(smh->sdp_mutex); for (pmap = v_engine->cur_payload_map; pmap && pmap->allocated; pmap = pmap->next) { - if (pmap->pt != v_engine->cur_payload_map->pt) { + if (pmap->pt != v_engine->cur_payload_map->pt && pmap->negotiated) { switch_snprintf(buf + strlen(buf), SDPBUFLEN - strlen(buf), " %d", pmap->pt); } } @@ -9521,13 +9524,6 @@ SWITCH_DECLARE(switch_status_t) switch_core_media_codec_control(switch_core_sess if (!switch_channel_test_flag(session->channel, CF_VIDEO)) { return SWITCH_STATUS_FALSE; } - - if (cmd == SCC_VIDEO_REFRESH) { - switch_core_session_message_t msg = { 0 }; - msg.from = __FILE__; - msg.message_id = SWITCH_MESSAGE_INDICATE_VIDEO_REFRESH_REQ; - switch_core_session_receive_message(session, &msg); - } } if (codec) { diff --git a/src/switch_core_session.c b/src/switch_core_session.c index f39f8899bc..0515a2e205 100644 --- a/src/switch_core_session.c +++ b/src/switch_core_session.c @@ -3059,6 +3059,16 @@ SWITCH_DECLARE(switch_status_t) switch_core_session_refresh_video(switch_core_se msg.from = __FILE__; msg.message_id = SWITCH_MESSAGE_INDICATE_VIDEO_REFRESH_REQ; switch_core_session_receive_message(session, &msg); + return SWITCH_STATUS_SUCCESS; + } + + return SWITCH_STATUS_FALSE; +} + +SWITCH_DECLARE(switch_status_t) switch_core_session_refresh_video_both_ways(switch_core_session_t *session) +{ + if (switch_channel_test_flag(session->channel, CF_VIDEO)) { + switch_core_session_refresh_video(session); switch_core_media_gen_key_frame(session); return SWITCH_STATUS_SUCCESS; } @@ -3066,6 +3076,7 @@ SWITCH_DECLARE(switch_status_t) switch_core_session_refresh_video(switch_core_se return SWITCH_STATUS_FALSE; } + SWITCH_DECLARE(void) switch_core_session_debug_pool(switch_stream_handle_t *stream) { stream->write_function(stream, "Thread pool: running:%d busy:%d popping:%d\n", From a8b00acda7b7a85a4938704a6e6c8e311c3e2915 Mon Sep 17 00:00:00 2001 From: Anthony Minessale Date: Sat, 22 Nov 2014 18:10:53 -0500 Subject: [PATCH 072/629] FS-7500: sync up going both ways after picture reset --- src/switch_core_media.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/switch_core_media.c b/src/switch_core_media.c index f3bb24724e..693328c4f9 100644 --- a/src/switch_core_media.c +++ b/src/switch_core_media.c @@ -9591,7 +9591,7 @@ SWITCH_DECLARE(switch_status_t) switch_core_session_write_video_frame(switch_cor } if (!smh->video_init && smh->mparams->video_key_first && (now - smh->video_last_key_time) > smh->mparams->video_key_first) { - switch_core_media_gen_key_frame(smh->session); + switch_core_session_refresh_video_both_ways(smh->session); if (smh->video_last_key_time) { smh->video_init = 1; From 4c95ae05108ae4b44b1aeb1c8fb6955b397a4c33 Mon Sep 17 00:00:00 2001 From: Seven Du Date: Sun, 23 Nov 2014 18:56:15 +0800 Subject: [PATCH 073/629] cleanup mod_ffmpeg --- src/mod/applications/mod_ffmpeg/mod_ffmpeg.c | 1363 ++---------------- 1 file changed, 119 insertions(+), 1244 deletions(-) diff --git a/src/mod/applications/mod_ffmpeg/mod_ffmpeg.c b/src/mod/applications/mod_ffmpeg/mod_ffmpeg.c index c91e4e36e3..ee94b7660f 100644 --- a/src/mod/applications/mod_ffmpeg/mod_ffmpeg.c +++ b/src/mod/applications/mod_ffmpeg/mod_ffmpeg.c @@ -37,7 +37,7 @@ #include #include -/* use libx264, comment for use the ffmpeg/avcodec wrapper */ +/* use libx264 by default, comment out to use the ffmpeg/avcodec wrapper */ #define H264_CODEC_USE_LIBX264 #define SLICE_SIZE SWITCH_DEFAULT_VIDEO_SIZE @@ -46,12 +46,11 @@ #endif #define FPS 15 // frame rate -#define BUFFERSIZE 4096 * 2 SWITCH_MODULE_LOAD_FUNCTION(mod_ffmpeg_load); SWITCH_MODULE_DEFINITION(mod_ffmpeg, mod_ffmpeg_load, NULL, NULL); -/* ff_avc_find_startcode is not esposed in the ffmpeg lib but you can use it +/* ff_avc_find_startcode is not exposed in the ffmpeg lib but you can use it Either include the avc.h which available in the ffmpeg source, or just add the declaration like we does following to avoid include that whole avc.h The function is implemented in avc.h, guess we'll get rid of this later if we can directly use libx264 @@ -61,1182 +60,6 @@ SWITCH_MODULE_DEFINITION(mod_ffmpeg, mod_ffmpeg_load, NULL, NULL); const uint8_t *ff_avc_find_startcode(const uint8_t *p, const uint8_t *end); -#if 0 // this is not fully tested and supported -struct record_helper { - switch_core_session_t *session; - switch_mutex_t *mutex; - AVFormatContext *avctx; - AVStream *video_st; - AVFrame *avframe; - int up; - - int seq; - switch_socket_t *sock; - switch_sockaddr_t *sock_addr; -}; - -struct ffmpeg_context { - switch_mutex_t *mutex; - switch_buffer_t *buf; - AVFormatContext *avctx; - AVStream *video_st; - AVStream *audio_st; - AVFrame *aframe; - AVCodec *acodec; - int file_opened; - int video_pts; -}; - -typedef struct ffmpeg_context ffmpeg_context; - -static AVStream *add_audio_stream(AVFormatContext *context, enum AVCodecID codec_id) -{ - AVCodecContext *cc; - AVStream *st; - AVCodec *codec; - - /* find the audio encoder */ - codec = avcodec_find_encoder(codec_id); - if (!codec) { - switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_ERROR, "codec not found\n"); - return NULL; - } - - st = avformat_new_stream(context, codec); - - if (!st) { - switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_ERROR, "Could not alloc audio stream\n"); - return NULL; - } - - st->id = 1; - - cc = st->codec; - cc->codec = codec; - - /* put sample parameters */ - cc->sample_fmt = AV_SAMPLE_FMT_S16; - cc->bit_rate = 64000; - cc->sample_rate = 44100; - cc->channels = 1; - - // some formats want stream headers to be separate - if (context->oformat->flags & AVFMT_GLOBALHEADER) { - cc->flags |= CODEC_FLAG_GLOBAL_HEADER; - } - - return st; -} - -static AVStream *add_video_stream(AVFormatContext *context, enum AVCodecID codec_id) -{ - AVCodecContext *cc; - AVStream *st; - AVCodec *codec; - - /* find the video encoder */ - codec = avcodec_find_encoder(codec_id); - if (!codec) { - switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_ERROR, "codec not found\n"); - return NULL; - } - - st = avformat_new_stream(context, codec); - if (!st) { - switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_ERROR, "Could not alloc stream\n"); - return NULL; - } - - cc = st->codec; - - avcodec_get_context_defaults3(cc, codec); - - cc->codec_id = codec_id; - - /* Put sample parameters. */ - // c->bit_rate = 400000; - /* Resolution must be a multiple of two. */ - cc->width = 352; - cc->height = 288; - /* timebase: This is the fundamental unit of time (in seconds) in terms - * of which frame timestamps are represented. For fixed-fps content, - * timebase should be 1/framerate and timestamp increments should be - * identical to 1. */ - cc->time_base.den = FPS; - cc->time_base.num = 1; - cc->gop_size = 12; /* emit one intra frame every twelve frames at most */ - cc->pix_fmt = PIX_FMT_YUV420P; - cc->max_b_frames = 0; - - /* Some formats want stream headers to be separate. */ - if (context->oformat->flags & AVFMT_GLOBALHEADER) { - cc->flags |= CODEC_FLAG_GLOBAL_HEADER; - } - - switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_ERROR, "flags %x %x\n", context->oformat->flags, cc->flags); - - return st; -} - -static switch_status_t ffmpeg_open(switch_file_handle_t *handle, const char *path) -{ - ffmpeg_context *context; - char *ext; - unsigned int flags = 0; - AVFormatContext *avctx = NULL; - AVOutputFormat *fmt; - AVStream *audio_st=NULL; - AVStream *video_st=NULL; - AVCodecContext *audio_codec; - AVFrame *aframe = NULL; - - if ((ext = strrchr(path, '.')) == 0) { - switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_ERROR, "Invalid Format\n"); - return SWITCH_STATUS_GENERR; - } - - ext++; - - if ((context = switch_core_alloc(handle->memory_pool, sizeof(ffmpeg_context))) == 0) { - return SWITCH_STATUS_MEMERR; - } - - memset(context, 0, sizeof(ffmpeg_context)); - - switch_mutex_init(&context->mutex, SWITCH_MUTEX_NESTED, handle->memory_pool); - - if (switch_test_flag(handle, SWITCH_FILE_FLAG_WRITE)) { - flags |= SWITCH_FOPEN_WRITE | SWITCH_FOPEN_CREATE; - if (switch_test_flag(handle, SWITCH_FILE_WRITE_APPEND) || switch_test_flag(handle, SWITCH_FILE_WRITE_OVER)) { - flags |= SWITCH_FOPEN_READ; - } else { - flags |= SWITCH_FOPEN_TRUNCATE; - } - - } - - if (switch_test_flag(handle, SWITCH_FILE_FLAG_READ)) { - flags |= SWITCH_FOPEN_READ; - } - -//write only - - switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_ERROR, "sample rate: %d\n", handle->samplerate); - - handle->samplerate = 8000; - - aframe = av_frame_alloc(); - - if (!aframe) { - switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_ERROR, "memory error!\n"); - goto end; - } - - context->aframe = aframe; - - av_register_all(); - - //avformat_alloc_output_context2(&avctx, NULL, NULL, path); - avctx = NULL; - - if (!avctx) { - switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_ERROR, "Could not deduce output format from file extension: using mpeg4.\n"); - //avformat_alloc_output_context2(&avctx, NULL, "mpeg4", path); - } - - if (!avctx) { - goto end; - } - - context->avctx = avctx; - - fmt = avctx->oformat; - - switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_INFO, "audio_codec: 0x%x video_codec: 0x%x\n", fmt->audio_codec, fmt->video_codec); - - if (fmt->audio_codec != AV_CODEC_ID_NONE) { - audio_st = add_audio_stream(avctx, fmt->audio_codec); - } - - if (fmt->video_codec != AV_CODEC_ID_NONE) { - video_st = add_video_stream(avctx, fmt->video_codec); - } - - if (!video_st) { - if (!audio_st) { - switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_ERROR, "No audio & video stream!\n"); - goto end; - } - } - - context->video_st = video_st; - - audio_codec = audio_st->codec; - /* open it */ - if (avcodec_open2(audio_codec, NULL, NULL) < 0) { - switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_ERROR, "could not open audio codec\n"); - goto end; - } - -#if 1 - av_dump_format(avctx, 0, path, 1); -#endif - - /* open the output file, if needed */ - if (!(fmt->flags & AVFMT_NOFILE)) { - if (avio_open(&avctx->pb, path, AVIO_FLAG_WRITE) < 0) { - switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_ERROR, "Could not open [%s]\n", path); - goto end; - } - context->file_opened = 1; - } - - /* Write the stream header, if any. */ - avformat_write_header(avctx, NULL); - - context->audio_st = audio_st; - - if (switch_test_flag(handle, SWITCH_FILE_WRITE_APPEND)) { - switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_ERROR, "unsupported append\n"); - } - - handle->samples = 0; - handle->samplerate = 8000; - handle->channels = 1; - handle->format = 0; - handle->sections = 0; - handle->seekable = 0; - handle->speed = 0; - handle->pos = 0; - handle->private_info = context; - - switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_INFO, "Opening File [%s] %dhz\n", path, handle->samplerate); - - if (switch_test_flag(handle, SWITCH_FILE_FLAG_WRITE)) { - - } - - switch_buffer_create_dynamic(&context->buf, 512, 512, 1024000); - - return SWITCH_STATUS_SUCCESS; - -end: - - if (avctx) { - int i; - for (i = 0; i < avctx->nb_streams; i++) { - avcodec_close(avctx->streams[i]->codec); - av_freep(&avctx->streams[i]->codec); - av_freep(&avctx->streams[i]); - } - - if (context->file_opened) { - /* Close the output file. */ - switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_ERROR, "closing file\n"); - avio_close(avctx->pb); - } - - av_free(avctx); - - if (aframe) av_free(aframe); - } - - return SWITCH_STATUS_FALSE; -} - -static switch_status_t ffmpeg_truncate(switch_file_handle_t *handle, int64_t offset) -{ - // ffmpeg_context *context = handle->private_info; - switch_status_t status = SWITCH_STATUS_FALSE; - switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_ERROR, "unsupported truncate\n"); - return status; -} - -static switch_status_t ffmpeg_close(switch_file_handle_t *handle) -{ - ffmpeg_context *context = handle->private_info; - AVFormatContext *avctx = context->avctx; - int i; - - av_write_trailer(avctx); - - for (i = 0; i < avctx->nb_streams; i++) { - avcodec_close(avctx->streams[i]->codec); - av_freep(&avctx->streams[i]->codec); - av_freep(&avctx->streams[i]); - } - - if (context->file_opened) { - /* Close the output file. */ - switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_ERROR, "closing file\n"); - avio_close(avctx->pb); - } - - av_free(avctx); - - if (context->aframe) av_free(context->aframe); - - switch_buffer_destroy(&context->buf); - - return SWITCH_STATUS_SUCCESS; -} - -static switch_status_t ffmpeg_seek(switch_file_handle_t *handle, unsigned int *cur_sample, int64_t samples, int whence) -{ - // switch_status_t status; - // - // ffmpeg_context *context = handle->private_info; - // - // status = switch_file_seek(context->fd, whence, &samples); - // if (status == SWITCH_STATUS_SUCCESS) { - // handle->pos += samples; - // } - switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_ERROR, "unsupported seek\n"); - return SWITCH_STATUS_FALSE; -} - -static switch_status_t ffmpeg_read(switch_file_handle_t *handle, void *data, size_t *len) -{ - switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_ERROR, "read not implemented\n"); - return SWITCH_STATUS_FALSE; -} - -static switch_status_t ffmpeg_write(switch_file_handle_t *handle, void *data, size_t *len) -{ - ffmpeg_context *context = handle->private_info; - switch_status_t status = SWITCH_STATUS_SUCCESS; - AVFormatContext *avctx = context->avctx; - AVFrame *aframe = context->aframe; - AVStream *audio_st = context->audio_st; - AVCodecContext *codec = audio_st->codec; - AVPacket pkt = { 0 }; - int got_packet = 0; - - aframe->nb_samples = 160; //fixme - - avcodec_fill_audio_frame(aframe, codec->channels, codec->sample_fmt, - (uint8_t *)data, - (*len) * codec->channels, - 1); - - av_init_packet(&pkt); - - // avcodec_encode_audio2(codec, &pkt, aframe, &got_packet); - - switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_INFO, "got packet %d, size: %d\n", got_packet, pkt.size); - - if (!got_packet || pkt.size < 1) return status; - - pkt.stream_index = audio_st->index; - - /* Write the compressed frame to the media file. */ - switch_mutex_lock(context->mutex); - if (av_interleaved_write_frame(avctx, &pkt) != 0) { - switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_ERROR, "Error while writing audio frame\n"); - switch_mutex_unlock(context->mutex); - return SWITCH_STATUS_FALSE; - } - switch_mutex_unlock(context->mutex); - - // *len = ? //fixme - return status; -} - -static switch_status_t ffmpeg_write_video(switch_file_handle_t *handle, void *data, size_t *len) -{ - uint32_t datalen = *len - 12; - switch_status_t status = SWITCH_STATUS_SUCCESS; - uint8_t *hdr = NULL; - switch_rtp_hdr_t *rtp_hdr = data; - ffmpeg_context *context = handle->private_info; - - uint8_t code[] = {0, 0, 1}; - - AVFormatContext *avctx = context->avctx; - AVStream *video_st = context->video_st; - AVPacket pkt; - - int key_frame = 0; - int ret; - - av_init_packet(&pkt); - - hdr = (uint8_t *)data + 12; - - switch_buffer_write(context->buf, &code, 3); - switch_buffer_write(context->buf, hdr, datalen); - - -#if 1 - switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_ERROR, "read %d %02x %02x %02x %d\n", - rtp_hdr->m, *hdr, *(hdr+1), *(hdr+2), datalen); -#endif - - if (!rtp_hdr->m) return status;; // continue buffering until we get a marker - - { - int nal_type = (*hdr &0x1f); - key_frame = (nal_type == 5); - } - - pkt.pts = context->video_pts++; - - if (key_frame) { - pkt.flags |= AV_PKT_FLAG_KEY; - } else { - pkt.flags &= ~AV_PKT_FLAG_KEY; - } - - pkt.stream_index = video_st->index; - pkt.size = switch_buffer_inuse(context->buf); - switch_buffer_peek_zerocopy(context->buf, (const void **)&pkt.data); - - /* Write the compressed frame to the media file. */ - - switch_mutex_lock(context->mutex); - - if ((ret = av_write_frame(avctx, &pkt)) != 0) { - switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_ERROR, "failed to write %d bytes, ret=%d\n", pkt.size, ret); - switch_mutex_unlock(context->mutex); - return SWITCH_STATUS_FALSE; - } - switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_ERROR, "write %d bytes, ret=%d\n", pkt.size, ret); - - switch_mutex_unlock(context->mutex); - switch_buffer_zero(context->buf); - - // *len = datalen; // FIXME - - return status; -} - -static switch_status_t ffmpeg_set_string(switch_file_handle_t *handle, switch_audio_col_t col, const char *string) -{ - return SWITCH_STATUS_FALSE; -} - -static switch_status_t ffmpeg_get_string(switch_file_handle_t *handle, switch_audio_col_t col, const char **string) -{ - return SWITCH_STATUS_FALSE; -} - -static void *SWITCH_THREAD_FUNC ffmpeg_record_video_thread(switch_thread_t *thread, void *obj) -{ - struct record_helper *eh = obj; - switch_core_session_t *session = eh->session; - switch_channel_t *channel = switch_core_session_get_channel(session); - switch_status_t status; - switch_frame_t *read_frame; - switch_buffer_t *buf = NULL; - - AVFormatContext *avctx = eh->avctx; - AVStream *video_st = eh->video_st; - AVPacket pkt; - - int key_frame = 0; - uint8_t *hdr; - uint64_t pts = 0; - - av_init_packet(&pkt); - - if (switch_buffer_create(switch_core_session_get_pool(eh->session), &buf, BUFFERSIZE) != SWITCH_STATUS_SUCCESS) { - switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_ERROR, "memory buffer error!\n"); - goto end; - } - - eh->up = 1; - - while (switch_channel_ready(channel) && eh->up) { - int ret; - uint8_t code[] = {0, 0, 1}; - - status = switch_core_session_read_video_frame(session, &read_frame, SWITCH_IO_FLAG_NONE, 0); - - if (!SWITCH_READ_ACCEPTABLE(status)) { - break; - } - - if (switch_test_flag(read_frame, SFF_CNG)) { - continue; - } - - switch_core_session_write_video_frame(session, read_frame, SWITCH_IO_FLAG_NONE, 0); - - switch_buffer_write(buf, &code, 3); - switch_buffer_write(buf, read_frame->data, read_frame->datalen); - - hdr = read_frame->data; - -#if 0 - switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_ERROR, "read %d %02x %02x %02x %d\n", - read_frame->m, *hdr, *(hdr+1), *(hdr+2), read_frame->datalen); -#endif - - if (!read_frame->m) continue; // continue buffering until we get a marker - - { - int nal_type = (*hdr &0x1f); - key_frame = (nal_type == 5); - } - - // if (oc->coded_frame->pts != AV_NOPTS_VALUE) { - // pts = av_rescale_q(read_frame->timestamp, video_st->codec->time_base, video_st->time_base); - // pkt.pts = read_frame->timestamp; - - pkt.pts = pts++; - - if (key_frame) { - pkt.flags |= AV_PKT_FLAG_KEY; - } else { - pkt.flags &= ~AV_PKT_FLAG_KEY; - } - - pkt.stream_index = video_st->index; - pkt.size = switch_buffer_inuse(buf); - switch_buffer_peek_zerocopy(buf, (const void **)&pkt.data); - - /* Write the compressed frame to the media file. */ - - switch_mutex_lock(eh->mutex); - - if ((ret = av_write_frame(avctx, &pkt)) != 0) { - switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_ERROR, "failed to write %d bytes, ret=%d\n", pkt.size, ret); - switch_mutex_unlock(eh->mutex); - break; - } - - switch_mutex_unlock(eh->mutex); - switch_buffer_zero(buf); - - } - - if (video_st) { - avcodec_close(video_st->codec); - } - -end: - - if (buf) switch_buffer_destroy(&buf); - - eh->up = 0; - return NULL; -} - -SWITCH_STANDARD_APP(record_ffmpeg_function) -{ - switch_status_t status; - switch_frame_t *read_frame; - switch_channel_t *channel = switch_core_session_get_channel(session); - struct record_helper eh = { 0 }; - switch_thread_t *thread; - switch_threadattr_t *thd_attr = NULL; - switch_mutex_t *mutex = NULL; - switch_codec_t codec; - //switch_codec_t *vid_codec; - switch_codec_implementation_t read_impl = { 0 }; - switch_dtmf_t dtmf = { 0 }; - int count = 0, sanity = 30; - - //ffmpeg - AVFormatContext *avctx; - AVOutputFormat *fmt=NULL; - AVStream *audio_st=NULL; - AVCodecContext *audio_codec; - AVFrame *avframe=NULL; - - /* Tell the channel to request a fresh vid frame */ - - switch_core_session_get_read_impl(session, &read_impl); - switch_channel_answer(channel); - switch_core_session_refresh_video(session); - - switch_channel_set_variable(channel, SWITCH_PLAYBACK_TERMINATOR_USED, ""); - - while (switch_channel_up(channel) && !switch_channel_test_flag(channel, CF_VIDEO)) { - switch_yield(10000); - - if (count) count--; - - if (count == 0) { - switch_log_printf(SWITCH_CHANNEL_SESSION_LOG(session), SWITCH_LOG_INFO, "%s waiting for video.\n", switch_channel_get_name(channel)); - count = 100; - if (!--sanity) { - switch_log_printf(SWITCH_CHANNEL_SESSION_LOG(session), SWITCH_LOG_WARNING, "%s timeout waiting for video.\n", - switch_channel_get_name(channel)); - switch_channel_set_variable(channel, SWITCH_CURRENT_APPLICATION_RESPONSE_VARIABLE, "Got timeout while waiting for video"); - return; - } - } - } - - if (!switch_channel_ready(channel)) { - switch_log_printf(SWITCH_CHANNEL_SESSION_LOG(session), SWITCH_LOG_CRIT, "%s not ready.\n", switch_channel_get_name(channel)); - switch_channel_set_variable(channel, SWITCH_CURRENT_APPLICATION_RESPONSE_VARIABLE, "Channel not ready"); - return; - } - - if (read_impl.ianacode != 70) { - if (switch_core_codec_init(&codec, - "L16", - NULL, - 8000, - 20, - 1, SWITCH_CODEC_FLAG_ENCODE | SWITCH_CODEC_FLAG_DECODE, - NULL, switch_core_session_get_pool(session)) == SWITCH_STATUS_SUCCESS) { - switch_core_session_set_read_codec(session, &codec); - switch_log_printf(SWITCH_CHANNEL_SESSION_LOG(session), SWITCH_LOG_INFO, "Codec Activation Success\n"); - } else { - switch_log_printf(SWITCH_CHANNEL_SESSION_LOG(session), SWITCH_LOG_ERROR, "Codec Activation Fail\n"); - goto end; - } - } - - avframe = av_frame_alloc(); - - if (!avframe) { - switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_ERROR, "memory error!\n"); - goto end; - } - - av_register_all(); - - //avformat_alloc_output_context2(&avctx, NULL, NULL, data); - avctx = NULL; - - if (!avctx) { - switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_ERROR, "Could not deduce output format from file extension: using mpeg4.\n"); - //avformat_alloc_output_context2(&avctx, NULL, "mpeg4", data); - } - - if (!avctx) { - goto end; - } - - fmt = avctx->oformat; - - switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_INFO, "audio_codec: 0x%x video_codec: 0x%x\n", fmt->audio_codec, fmt->video_codec); - - if (fmt->audio_codec != AV_CODEC_ID_NONE) { - audio_st = add_audio_stream(avctx, fmt->audio_codec); - } - - if (switch_channel_test_flag(channel, CF_VIDEO)) { - - if (fmt->video_codec != AV_CODEC_ID_NONE) { - eh.video_st = add_video_stream(avctx, fmt->video_codec); - } - - if (!eh.video_st) { - if (!audio_st) { - switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_ERROR, "No audio & video stream!\n"); - goto end; - } - } - } - - audio_codec = audio_st->codec; - - /* open it */ - if (avcodec_open2(audio_codec, NULL, NULL) < 0) { - switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_ERROR, "could not open audio codec\n"); - goto end; - } - -#if 1 - av_dump_format(avctx, 0, data, 1); -#endif - - /* open the output file, if needed */ - if (!(fmt->flags & AVFMT_NOFILE)) { - if (avio_open(&avctx->pb, data, AVIO_FLAG_WRITE) < 0) { - switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_ERROR, "Could not open [%s]\n", data); - goto end; - } - } - - /* Write the stream header, if any. */ - avformat_write_header(avctx, NULL); - - if (switch_channel_test_flag(channel, CF_VIDEO)) { - //vid_codec = switch_core_session_get_video_read_codec(session); - - switch_mutex_init(&mutex, SWITCH_MUTEX_NESTED, switch_core_session_get_pool(session)); - eh.mutex = mutex; - eh.avctx = avctx; - eh.session = session; - switch_threadattr_create(&thd_attr, switch_core_session_get_pool(session)); - switch_threadattr_detach_set(thd_attr, 1); - switch_threadattr_stacksize_set(thd_attr, SWITCH_THREAD_STACKSIZE); - switch_thread_create(&thread, thd_attr, ffmpeg_record_video_thread, &eh, switch_core_session_get_pool(session)); - } - - while (switch_channel_ready(channel)) { - - status = switch_core_session_read_frame(session, &read_frame, SWITCH_IO_FLAG_SINGLE_READ, 0); - - if (switch_channel_test_flag(channel, CF_BREAK)) { - switch_channel_clear_flag(channel, CF_BREAK); - eh.up = 0; - break; - } - - switch_ivr_parse_all_events(session); - - //check for dtmf interrupts - if (switch_channel_has_dtmf(channel)) { - const char * terminators = switch_channel_get_variable(channel, SWITCH_PLAYBACK_TERMINATORS_VARIABLE); - switch_channel_dequeue_dtmf(channel, &dtmf); - - if (terminators && !strcasecmp(terminators, "none")) - { - terminators = NULL; - } - - if (terminators && strchr(terminators, dtmf.digit)) { - - char sbuf[2] = {dtmf.digit, '\0'}; - switch_channel_set_variable(channel, SWITCH_PLAYBACK_TERMINATOR_USED, sbuf); - eh.up = 0; - break; - } - } - - if (!SWITCH_READ_ACCEPTABLE(status)) { - eh.up = 0; - break; - } - - if (switch_test_flag(read_frame, SFF_CNG)) { - continue; - } - - switch_core_session_write_frame(session, read_frame, SWITCH_IO_FLAG_NONE, 0); - - avframe->nb_samples = 160; - - avcodec_fill_audio_frame(avframe, audio_codec->channels, audio_codec->sample_fmt, - (uint8_t *)read_frame->data, - read_frame->datalen * audio_codec->channels, - 1); - - { - AVPacket pkt = { 0 }; - int got_packet; - - av_init_packet(&pkt); - - avcodec_encode_audio2(audio_codec, &pkt, avframe, &got_packet); - - // switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_INFO, "got packet %d, size: %d\n", got_packet, pkt.size); - - if (!got_packet || pkt.size < 1) continue; - - pkt.stream_index = audio_st->index; - - /* Write the compressed frame to the media file. */ - switch_mutex_lock(eh.mutex); - if (av_interleaved_write_frame(avctx, &pkt) != 0) { - switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_ERROR, "Error while writing audio frame\n"); - switch_mutex_unlock(eh.mutex); - break; - } - switch_mutex_unlock(eh.mutex); - - } - } - - av_write_trailer(avctx); - - switch_channel_set_variable(channel, SWITCH_CURRENT_APPLICATION_RESPONSE_VARIABLE, "OK"); - -end: - - switch_core_session_set_read_codec(session, NULL); - - if (switch_core_codec_ready(&codec)) { - switch_core_codec_destroy(&codec); - } - - if (eh.up) { - while (eh.up) { - switch_cond_next(); - switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_ERROR, "waiting video thread to stop\n"); - } - } - - if (audio_st) avcodec_close(audio_st->codec); - - { - int i; - for (i = 0; i < avctx->nb_streams; i++) { - av_freep(&avctx->streams[i]->codec); - av_freep(&avctx->streams[i]); - } - } - - if (!(fmt->flags & AVFMT_NOFILE)) { - /* Close the output file. */ - switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_INFO, "closing file [%s]\n", data); - avio_close(avctx->pb); - } - - if (avctx) av_free(avctx); - if (avframe) av_free(avframe); - - switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_INFO, "==== done ========= done ==== \n"); - -} - -#define IP "192.168.1.1" - -static int write_packet(void *opaque, uint8_t *buf, int size) { - struct record_helper *eh = opaque; - switch_size_t bytes = size; - int i = -1; - switch_rtp_hdr_t *hdr; - switch_status_t status; - - while (size > 188) { - if (size > 188 * 7) { - bytes = 188 * 7; - size -= 188 * 7; - i++; - } else { - bytes = size; - i++; - size = 0; - } - - hdr = (switch_rtp_hdr_t *)(buf + 188 * 7 * i - 12); - memset(hdr, 0, 12); - - hdr->ssrc = 0x1111; - hdr->ts = switch_time_now(); - hdr->ts = htonl(hdr->ts); - hdr->version = 0x2; - hdr->seq = eh->seq++; - hdr->pt = 33; - - if (bytes < 188 * 7) hdr->m = 1; - - bytes += 12; - - status = switch_socket_sendto(eh->sock, eh->sock_addr, 0, (void *)hdr , &bytes); - - switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_INFO, "========== sending %ld %d\n", bytes, status); - - } - - return size; -} - -static void *SWITCH_THREAD_FUNC stream_ts_thread(switch_thread_t *thread, void *obj) -{ - struct record_helper *eh = obj; - switch_core_session_t *session = eh->session; - switch_channel_t *channel = switch_core_session_get_channel(session); - switch_status_t status; - switch_frame_t *read_frame; - switch_buffer_t *buf; - - AVFormatContext *oc; - AVOutputFormat *fmt; - AVStream *video_st = NULL; // better to be NULL than uninitialised - AVPacket pkt; - uint8_t *buf_callback = (uint8_t *)av_malloc(BUFFERSIZE); - AVIOContext *io; - - // uint8_t *fragment_type; - int key_frame = 0; - // int nal_type; - uint8_t *hdr; - uint64_t pts = 0; - - eh->seq = 0; - - io = avio_alloc_context(buf_callback + 12, BUFFERSIZE, 1, eh, NULL, write_packet, NULL); - - if (io == NULL) { - switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_ERROR, "IO is NULL\n"); - return NULL; - } - - if (switch_socket_create(&eh->sock, AF_INET, SOCK_DGRAM, 0, switch_core_session_get_pool(session)) != SWITCH_STATUS_SUCCESS) { - switch_log_printf(SWITCH_CHANNEL_SESSION_LOG(session), SWITCH_LOG_ERROR, "Socket Error 1\n"); - return NULL; - } - - if (switch_sockaddr_info_get(&eh->sock_addr, IP, SWITCH_UNSPEC, - 11000, 0, switch_core_session_get_pool(session)) != SWITCH_STATUS_SUCCESS) { - switch_log_printf(SWITCH_CHANNEL_SESSION_LOG(session), SWITCH_LOG_ERROR, "Socket Error 3\n"); - return NULL; - } - - if (switch_buffer_create(switch_core_session_get_pool(eh->session), &buf, 65536) != SWITCH_STATUS_SUCCESS) return NULL; - - av_register_all(); - - av_init_packet(&pkt); - - - fmt = av_guess_format(NULL, "filename.ts", NULL); // CODEC_ID_H264 -> mp4, mov; CODEC_ID_THEORA -> ogg; CODEC_ID_MPEG4 -> mpegts, avi; CODEC_ID_VP8 -> webm - - if (!fmt) { - printf("Could not deduce output format from file extension: using MP4.\n"); - fmt = av_guess_format("mpeg4", NULL, NULL); - } - if (!fmt) { - printf("av_guess_format Error!\n"); - return NULL; - } - - - oc = avformat_alloc_context(); - - if (!oc) { - printf("Could not deduce output format from file extension: using MP4.\n"); - - return NULL; - } - - oc->pb = io; - oc->oformat = fmt; - - switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_ERROR, "x:%d y:%d\n", AV_CODEC_ID_NONE, fmt->video_codec); - - if (fmt->video_codec != AV_CODEC_ID_NONE) { - video_st = add_video_stream(oc, fmt->video_codec); - } - - // av_dump_format(oc, 0, filename, 1); - - /* open the output file, if needed */ - // if (!(fmt->flags & AVFMT_NOFILE)) { - // if (avio_open(&oc->pb, filename, AVIO_FLAG_WRITE) < 0) { - // fprintf(stderr, "Could not open '%s'\n", filename); - // return NULL; - // } - // } - - /* Write the stream header, if any. */ - avformat_write_header(oc, NULL); - - eh->up = 1; - - - while (switch_channel_ready(channel) && eh->up) { - int ret; - uint8_t code[] = {0, 0, 1}; - - status = switch_core_session_read_video_frame(session, &read_frame, SWITCH_IO_FLAG_NONE, 0); - - if (!SWITCH_READ_ACCEPTABLE(status)) { - break; - } - - if (switch_test_flag(read_frame, SFF_CNG)) { - continue; - } - - switch_core_session_write_video_frame(session, read_frame, SWITCH_IO_FLAG_NONE, 0); - - switch_buffer_write(buf, &code, 3); - switch_buffer_write(buf, read_frame->data, read_frame->datalen); - - hdr = read_frame->data; - - switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_ERROR, "read %d %02x %02x %02x %d\n", - read_frame->m, *hdr, *(hdr+1), *(hdr+2), read_frame->datalen); - - if (!read_frame->m) continue; // continue buffering until we get a marker - - { - int nal_type = (*hdr &0x1f); - key_frame = (nal_type == 5); - } - - // if (oc->coded_frame->pts != AV_NOPTS_VALUE) { - // pts = av_rescale_q(read_frame->timestamp, video_st->codec->time_base, video_st->time_base); - // pkt.pts = read_frame->timestamp; - - pkt.pts = pts; - pts+=1; - - switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_ERROR, "pts %llu\n", (long long unsigned int)pkt.pts); - // } - - if (key_frame) { - pkt.flags |= AV_PKT_FLAG_KEY; - } else { - pkt.flags &= ~AV_PKT_FLAG_KEY; - } - - pkt.stream_index = video_st->index; - pkt.size = switch_buffer_inuse(buf); - switch_buffer_peek_zerocopy(buf, (const void **)&pkt.data); - - /* Write the compressed frame to the media file. */ - // ret = av_interleaved_write_frame(oc, &pkt); - ret = av_write_frame(oc, &pkt); - - switch_buffer_zero(buf); - - switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_ERROR, "write: %d, ret %d\n", pkt.size, ret); - - } - - av_write_trailer(oc); - - // if (0 && video_st) close_video(oc, video_st); - - {int i; - for (i = 0; i < oc->nb_streams; i++) { - av_freep(&oc->streams[i]->codec); - av_freep(&oc->streams[i]); - }} - - if (eh->sock) { - switch_socket_close(eh->sock); - } - -switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_ERROR, "flags %d\n", fmt->flags); - - // if (!(fmt->flags & AVFMT_NOFILE)) { - // /* Close the output file. */ - // switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_ERROR, "closing output file\n"); - // avio_close(oc->pb); - // } - - // av_free(oc); - - // av_free(fmt); // fixme? this will be freed with the following IO - av_free(io); - av_free(buf_callback); - switch_buffer_destroy(&buf); - eh->up = 0; - return NULL; -} - -SWITCH_STANDARD_APP(stream_ts_function) -{ - switch_status_t status; - switch_frame_t *read_frame; - switch_channel_t *channel = switch_core_session_get_channel(session); - struct record_helper eh = { 0 }; - switch_thread_t *thread; - switch_threadattr_t *thd_attr = NULL; - // int fd; - switch_mutex_t *mutex = NULL; - //switch_codec_t *vid_codec; - switch_codec_implementation_t read_impl = { 0 }; - switch_dtmf_t dtmf = { 0 }; - int count = 0, sanity = 30; - switch_core_session_message_t msg = { 0 }; - - /* Tell the channel to request a fresh vid frame */ - msg.from = __FILE__; - msg.message_id = SWITCH_MESSAGE_INDICATE_VIDEO_REFRESH_REQ; - - switch_core_session_get_read_impl(session, &read_impl); - switch_channel_answer(channel); - switch_core_session_receive_message(session, &msg); - - switch_channel_set_variable(channel, SWITCH_PLAYBACK_TERMINATOR_USED, ""); - - while (switch_channel_up(channel) && !switch_channel_test_flag(channel, CF_VIDEO)) { - switch_yield(10000); - - if (count) count--; - - if (count == 0) { - switch_log_printf(SWITCH_CHANNEL_SESSION_LOG(session), SWITCH_LOG_INFO, "%s waiting for video.\n", switch_channel_get_name(channel)); - count = 100; - if (!--sanity) { - switch_log_printf(SWITCH_CHANNEL_SESSION_LOG(session), SWITCH_LOG_WARNING, "%s timeout waiting for video.\n", - switch_channel_get_name(channel)); - switch_channel_set_variable(channel, SWITCH_CURRENT_APPLICATION_RESPONSE_VARIABLE, "Got timeout while waiting for video"); - return; - } - } - } - - if (!switch_channel_ready(channel)) { - switch_log_printf(SWITCH_CHANNEL_SESSION_LOG(session), SWITCH_LOG_CRIT, "%s not ready.\n", switch_channel_get_name(channel)); - switch_channel_set_variable(channel, SWITCH_CURRENT_APPLICATION_RESPONSE_VARIABLE, "Channel not ready"); - return; - } - - if (switch_channel_test_flag(channel, CF_VIDEO)) { - //vid_codec = switch_core_session_get_video_read_codec(session); - - switch_mutex_init(&mutex, SWITCH_MUTEX_NESTED, switch_core_session_get_pool(session)); - eh.mutex = mutex; - // eh.fd = fd; - eh.session = session; - switch_threadattr_create(&thd_attr, switch_core_session_get_pool(session)); - switch_threadattr_detach_set(thd_attr, 1); - switch_threadattr_stacksize_set(thd_attr, SWITCH_THREAD_STACKSIZE); - switch_thread_create(&thread, thd_attr, stream_ts_thread, &eh, switch_core_session_get_pool(session)); - } - - while (switch_channel_ready(channel)) { - - status = switch_core_session_read_frame(session, &read_frame, SWITCH_IO_FLAG_SINGLE_READ, 0); - - if (switch_channel_test_flag(channel, CF_BREAK)) { - switch_channel_clear_flag(channel, CF_BREAK); - eh.up = 0; - break; - } - - switch_ivr_parse_all_events(session); - - //check for dtmf interrupts - if (switch_channel_has_dtmf(channel)) { - const char * terminators = switch_channel_get_variable(channel, SWITCH_PLAYBACK_TERMINATORS_VARIABLE); - switch_channel_dequeue_dtmf(channel, &dtmf); - - if (terminators && !strcasecmp(terminators, "none")) - { - terminators = NULL; - } - - if (terminators && strchr(terminators, dtmf.digit)) { - - char sbuf[2] = {dtmf.digit, '\0'}; - switch_channel_set_variable(channel, SWITCH_PLAYBACK_TERMINATOR_USED, sbuf); - eh.up = 0; - break; - } - } - - if (!SWITCH_READ_ACCEPTABLE(status)) { - eh.up = 0; - break; - } - - if (switch_test_flag(read_frame, SFF_CNG)) { - continue; - } - - switch_core_session_write_frame(session, read_frame, SWITCH_IO_FLAG_NONE, 0); - } - - switch_channel_set_variable(channel, SWITCH_CURRENT_APPLICATION_RESPONSE_VARIABLE, "OK"); - - // end: - - if (eh.up) { - while (eh.up) { - switch_cond_next(); - switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_ERROR, "waiting video thread to be end\n"); - } - } - switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_ERROR, "==== done ========= ts done ==== \n"); - -} - -#endif /* codec interface */ @@ -1266,6 +89,7 @@ typedef struct h264_codec_context_s { switch_size_t last_received_timestamp; switch_bool_t last_received_complete_picture; switch_image_t *img; + int need_key_frame; #ifdef H264_CODEC_USE_LIBX264 /*x264*/ @@ -1275,15 +99,12 @@ typedef struct h264_codec_context_s { x264_nal_t *x264_nals; int x264_nal_count; int cur_nalu_index; - int need_key_frame; #endif } h264_codec_context_t; #ifdef H264_CODEC_USE_LIBX264 -#define RTP_SLICE_SIZE SWITCH_DEFAULT_VIDEO_SIZE //NALU Slice Size - static switch_status_t init_x264(h264_codec_context_t *context, uint32_t width, uint32_t height) { x264_t *xh = context->x264_handle; @@ -1329,7 +150,7 @@ static switch_status_t init_x264(h264_codec_context_t *context, uint32_t width, xp->i_fps_num = FPS; xp->i_timebase_den = xp->i_fps_num; xp->i_timebase_num = xp->i_fps_den; - xp->i_slice_max_size = RTP_SLICE_SIZE; + xp->i_slice_max_size = SLICE_SIZE; //Set Profile 0=baseline other than 1=MainProfile x264_param_apply_profile(xp, x264_profile_names[0]); xh = x264_encoder_open(xp); @@ -1350,7 +171,6 @@ static switch_status_t nalu_slice(h264_codec_context_t *context, switch_frame_t x264_nal_t *nal = &context->x264_nals[context->cur_nalu_index]; switch_status_t status = SWITCH_STATUS_SUCCESS; - //*flag &= ~SFF_MARKER; frame->m = 0; if (context->cur_nalu_index >= context->x264_nal_count) { @@ -1398,11 +218,6 @@ static void buffer_h264_nalu(h264_codec_context_t *context, switch_frame_t *fram uint8_t sync_bytes[] = {0, 0, 0, 1}; switch_buffer_t *buffer = context->nalu_buffer; - if (!frame) { - switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_ERROR, "no frame in codec!!\n"); - return; - } - // nalu_idc = (nalu_hdr & 0x60) >> 5; nalu_type = nalu_hdr & 0x1f; @@ -1426,13 +241,13 @@ static void buffer_h264_nalu(h264_codec_context_t *context, switch_frame_t *fram #ifndef H264_CODEC_USE_LIBX264 -static switch_status_t consume_nalu(h264_codec_context_t *context, void *data, uint32_t *len, uint32_t *flag) +static switch_status_t consume_nalu(h264_codec_context_t *context, switch_frame_t *frame) { our_h264_nalu_t *nalu = &context->nalus[context->nalu_current_index]; if (!nalu->start) { - *len = 0; - *flag = 1; + frame->datalen = 0; + frame->m = 1; if (context->encoder_avpacket.size > 0) av_free_packet(&context->encoder_avpacket); if (context->encoder_avframe->data) av_freep(&context->encoder_avframe->data[0]); context->nalu_current_index = 0; @@ -1445,25 +260,30 @@ static switch_status_t consume_nalu(h264_codec_context_t *context, void *data, u uint8_t nalu_hdr = *(uint8_t *)(nalu->start); uint8_t nalu_type = nalu_hdr & 0x1f; - memcpy(data, nalu->start, nalu->len); - *len = nalu->len; - *flag = (nalu_type == 6 || nalu_type == 7 || nalu_type == 8) ? 0 : 1; + memcpy(frame->data, nalu->start, nalu->len); + frame->datalen = nalu->len; context->nalu_current_index++; + if (nalu_type == 6 || nalu_type == 7 || nalu_type == 8) { + frame->m = 0; + return SWITCH_STATUS_MORE_DATA; + } + + frame->m = 1; return SWITCH_STATUS_SUCCESS; } else { uint8_t nalu_hdr = *(uint8_t *)(nalu->start); uint8_t nri = nalu_hdr & 0x60; uint8_t nalu_type = nalu_hdr & 0x1f; int left = nalu->len - (nalu->eat - nalu->start); - uint8_t *p = data; + uint8_t *p = frame->data; if (left <= (1400 - 2)) { p[0] = nri | 28; // FU-A p[1] = 0x40 | nalu_type; memcpy(p+2, nalu->eat, left); nalu->eat += left; - *len = left + 2; - *flag = 1; + frame->datalen = left + 2; + frame->m = 1; context->nalu_current_index++; return SWITCH_STATUS_SUCCESS; } else { @@ -1474,9 +294,8 @@ static switch_status_t consume_nalu(h264_codec_context_t *context, void *data, u if (start) nalu->eat++; memcpy(p+2, nalu->eat, 1400 - 2); nalu->eat += (1400 - 2); - *len = 1400; - *flag = 0; - return SWITCH_STATUS_SUCCESS; + frame->datalen = 1400; + return SWITCH_STATUS_MORE_DATA; } } } @@ -1556,8 +375,8 @@ static switch_status_t switch_h264_init(switch_codec_t *codec, switch_codec_flag context->encoder_ctx->gop_size = FPS * 3; /* emit one intra frame every 3 seconds */ context->encoder_ctx->max_b_frames = 0; context->encoder_ctx->pix_fmt = AV_PIX_FMT_YUV420P; - // context->encoder_ctx->thread_count = 1; - // context->encoder_ctx->rtp_payload_size = RTP_SLICE_SIZE; + context->encoder_ctx->thread_count = switch_core_cpu_count(); + context->encoder_ctx->rtp_payload_size = SLICE_SIZE; av_opt_set(context->encoder_ctx->priv_data, "preset", "fast", 0); } @@ -1588,7 +407,7 @@ static void __attribute__((unused)) fill_avframe(AVFrame *pict, switch_image_t * memcpy(&pict->data[0][i * pict->linesize[0]], y + i * img->stride[0], pict->width); } - //U V + /* U/V */ for(i = 0; i < pict->height / 2; i++) { memcpy(&pict->data[1][i * pict->linesize[1]], u + i * img->stride[1], pict->width / 2); memcpy(&pict->data[2][i * pict->linesize[2]], v + i * img->stride[2], pict->width / 2); @@ -1596,10 +415,6 @@ static void __attribute__((unused)) fill_avframe(AVFrame *pict, switch_image_t * } -// switch_image_t *img, -// void *encoded_data, uint32_t *encoded_data_len, -// unsigned int *flag) - static switch_status_t switch_h264_encode(switch_codec_t *codec, switch_frame_t *frame) { h264_codec_context_t *context = (h264_codec_context_t *)codec->private_info; @@ -1611,15 +426,15 @@ static switch_status_t switch_h264_encode(switch_codec_t *codec, switch_frame_t uint32_t width = 0; uint32_t height = 0; switch_image_t *img = frame->img; - void *encoded_data = frame->data; - uint32_t *encoded_data_len = frame->datalen; - unsigned int *flag = &frame->flags; - if (*encoded_data_len < SWITCH_DEFAULT_VIDEO_SIZE) return SWITCH_STATUS_FALSE; + switch_assert(frame); + frame->m = 0; + + if (frame->datalen < SWITCH_DEFAULT_VIDEO_SIZE) return SWITCH_STATUS_FALSE; if (frame->flags & SFF_SAME_IMAGE) { - // read from buffered - return consume_nalu(context, encoded_data, encoded_data_len, flag); + // read from nalu buffer + return consume_nalu(context, frame); } width = img->d_w; @@ -1661,8 +476,6 @@ static switch_status_t switch_h264_encode(switch_codec_t *codec, switch_frame_t goto error; } - switch_assert(encoded_data); - if (*got_output) { // Could be more delayed frames ret = avcodec_encode_video2(avctx, pkt, NULL, got_output); if (ret < 0) { @@ -1714,11 +527,11 @@ process: context->nalus[i].len = p - context->nalus[i].start; context->nalu_current_index = 0; - return consume_nalu(context, encoded_data, encoded_data_len, flag); + return consume_nalu(context, frame); } error: - *encoded_data_len = 0; + frame->datalen = 0; return SWITCH_STATUS_FALSE; } @@ -1728,9 +541,6 @@ error: static switch_status_t switch_h264_encode(switch_codec_t *codec, switch_frame_t *frame) - //switch_image_t *img, - //void *encoded_data, uint32_t *encoded_data_len, - //unsigned int *flag) { h264_codec_context_t *context = (h264_codec_context_t *)codec->private_info; uint32_t width = 0; @@ -2018,12 +828,80 @@ static void print_codecs_for_id(switch_stream_handle_t *stream, enum AVCodecID i stream->write_function(stream, ")"); } -SWITCH_STANDARD_API(ffmpeg_api_function) +static int is_device(const AVClass *avclass) +{ + if (!avclass) return 0; + return avclass->category == AV_CLASS_CATEGORY_DEVICE_VIDEO_OUTPUT || + avclass->category == AV_CLASS_CATEGORY_DEVICE_VIDEO_INPUT || + avclass->category == AV_CLASS_CATEGORY_DEVICE_AUDIO_OUTPUT || + avclass->category == AV_CLASS_CATEGORY_DEVICE_AUDIO_INPUT || + avclass->category == AV_CLASS_CATEGORY_DEVICE_OUTPUT || + avclass->category == AV_CLASS_CATEGORY_DEVICE_INPUT; +} + +void show_formats(switch_stream_handle_t *stream) { + AVInputFormat *ifmt = NULL; + AVOutputFormat *ofmt = NULL; + const char *last_name; + // int is_dev; + + stream->write_function(stream, "============= File Formats ==============================:\n" + " D. = Demuxing supported\n" + " .M = Muxing supported\n" + "----------------------\n"); + + last_name = "000"; + + for (;;) { + int decode = 0; + int encode = 0; + int is_dev = 0; + const char *name = NULL; + const char *long_name = NULL; + + while ((ofmt = av_oformat_next(ofmt))) { + is_dev = is_device(ofmt->priv_class); + + if ((name == NULL || strcmp(ofmt->name, name) < 0) && + strcmp(ofmt->name, last_name) > 0) { + name = ofmt->name; + long_name = ofmt->long_name; + encode = 1; + } + } + + while ((ifmt = av_iformat_next(ifmt))) { + is_dev = is_device(ifmt->priv_class); + + if ((name == NULL || strcmp(ifmt->name, name) < 0) && + strcmp(ifmt->name, last_name) > 0) { + name = ifmt->name; + long_name = ifmt->long_name; + encode = 0; + } + + if (name && strcmp(ifmt->name, name) == 0) decode = 1; + } + + if (name == NULL) break; + + last_name = name; + + stream->write_function(stream, "%s%s%s %-15s %s\n", + is_dev ? "*" : " ", + decode ? "D" : " ", + encode ? "M" : " ", + name, long_name ? long_name:" "); + } + +} + +void show_codecs(switch_stream_handle_t *stream) { const AVCodecDescriptor **codecs = NULL; unsigned i, nb_codecs = get_codecs_sorted(&codecs); - stream->write_function(stream, "===============================================:\n" + stream->write_function(stream, "================ Codecs ===============================:\n" " V..... = Video\n" " A..... = Audio\n" " S..... = Subtitle\n" @@ -2070,6 +948,24 @@ SWITCH_STANDARD_API(ffmpeg_api_function) } av_free(codecs); +} + +SWITCH_STANDARD_API(ffmpeg_api_function) +{ + if (zstr(cmd)) { + show_codecs(stream); + stream->write_function(stream, "\n"); + show_formats(stream); + } else { + if (!strcmp(cmd, "show formats")) { + show_formats(stream); + } else if (!strcmp(cmd, "show codecs")) { + show_codecs(stream); + } else { + stream->write_function(stream, "Usage: ffmpeg show "); + } + } + return SWITCH_STATUS_SUCCESS; } @@ -2097,8 +993,6 @@ static char *supported_formats[SWITCH_MAX_CODECS] = { 0 }; SWITCH_MODULE_LOAD_FUNCTION(mod_ffmpeg_load) { - // switch_application_interface_t *app_interface; - // switch_file_interface_t *file_interface; switch_codec_interface_t *codec_interface; switch_api_interface_t *api_interface; @@ -2112,25 +1006,6 @@ SWITCH_MODULE_LOAD_FUNCTION(mod_ffmpeg_load) switch_core_codec_add_video_implementation(pool, codec_interface, 99, "H264", NULL, switch_h264_init, switch_h264_encode, switch_h264_decode, switch_h264_control, switch_h264_destroy); -#if 0 - file_interface = switch_loadable_module_create_interface(*module_interface, SWITCH_FILE_INTERFACE); - file_interface->interface_name = modname; - file_interface->extens = supported_formats; - file_interface->file_open = ffmpeg_open; - file_interface->file_close = ffmpeg_close; - file_interface->file_truncate = ffmpeg_truncate; - file_interface->file_read = ffmpeg_read; - file_interface->file_write = ffmpeg_write; - file_interface->file_write_video = ffmpeg_write_video; - file_interface->file_seek = ffmpeg_seek; - file_interface->file_set_string = ffmpeg_set_string; - file_interface->file_get_string = ffmpeg_get_string; - - // SWITCH_ADD_APP(app_interface, "play_ffmpeg", "play a video file", "play a video file", play_ffmpeg_function, "", SAF_NONE); - SWITCH_ADD_APP(app_interface, "record_ffmpeg", "record a video file", "record a video file", record_ffmpeg_function, "", SAF_NONE); - SWITCH_ADD_APP(app_interface, "stream_ts", "stream ts to rtp", "stream ts to rtp", stream_ts_function, "", SAF_NONE); -#endif - SWITCH_ADD_API(api_interface, "ffmpeg", "ffmpeg", ffmpeg_api_function, ""); av_log_set_callback(log_callback); From dcb9d3c99e79f428c45d3436c2d714358c2c790b Mon Sep 17 00:00:00 2001 From: Seven Du Date: Mon, 24 Nov 2014 09:37:30 +0800 Subject: [PATCH 074/629] FS-7519: rename mod_ffmpeg to mod_av --- .../{mod_ffmpeg/mod_ffmpeg.c => mod_av/mod_av.c} | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) rename src/mod/applications/{mod_ffmpeg/mod_ffmpeg.c => mod_av/mod_av.c} (98%) diff --git a/src/mod/applications/mod_ffmpeg/mod_ffmpeg.c b/src/mod/applications/mod_av/mod_av.c similarity index 98% rename from src/mod/applications/mod_ffmpeg/mod_ffmpeg.c rename to src/mod/applications/mod_av/mod_av.c index ee94b7660f..9d5ff3db1a 100644 --- a/src/mod/applications/mod_ffmpeg/mod_ffmpeg.c +++ b/src/mod/applications/mod_av/mod_av.c @@ -25,7 +25,7 @@ * * Seven Du * - * mod_ffmpeg -- FS Video File Format + * mod_av -- FS Video File Format * */ @@ -47,8 +47,8 @@ #define FPS 15 // frame rate -SWITCH_MODULE_LOAD_FUNCTION(mod_ffmpeg_load); -SWITCH_MODULE_DEFINITION(mod_ffmpeg, mod_ffmpeg_load, NULL, NULL); +SWITCH_MODULE_LOAD_FUNCTION(mod_av_load); +SWITCH_MODULE_DEFINITION(mod_av, mod_av_load, NULL, NULL); /* ff_avc_find_startcode is not exposed in the ffmpeg lib but you can use it Either include the avc.h which available in the ffmpeg source, or @@ -950,7 +950,7 @@ void show_codecs(switch_stream_handle_t *stream) av_free(codecs); } -SWITCH_STANDARD_API(ffmpeg_api_function) +SWITCH_STANDARD_API(av_api_function) { if (zstr(cmd)) { show_codecs(stream); @@ -991,7 +991,7 @@ static void log_callback(void *ptr, int level, const char *fmt, va_list vl) static char *supported_formats[SWITCH_MAX_CODECS] = { 0 }; -SWITCH_MODULE_LOAD_FUNCTION(mod_ffmpeg_load) +SWITCH_MODULE_LOAD_FUNCTION(mod_av_load) { switch_codec_interface_t *codec_interface; switch_api_interface_t *api_interface; @@ -1006,7 +1006,7 @@ SWITCH_MODULE_LOAD_FUNCTION(mod_ffmpeg_load) switch_core_codec_add_video_implementation(pool, codec_interface, 99, "H264", NULL, switch_h264_init, switch_h264_encode, switch_h264_decode, switch_h264_control, switch_h264_destroy); - SWITCH_ADD_API(api_interface, "ffmpeg", "ffmpeg", ffmpeg_api_function, ""); + SWITCH_ADD_API(api_interface, "av", "av information", av_api_function, "show "); av_log_set_callback(log_callback); av_log_set_level(AV_LOG_DEBUG); From ba43facf91acaeaada2bb2bd144e56caa1377956 Mon Sep 17 00:00:00 2001 From: Seven Du Date: Mon, 24 Nov 2014 17:03:58 +0800 Subject: [PATCH 075/629] FS-7500: fix play_fsv for WebRTC --- src/mod/applications/mod_fsv/mod_fsv.c | 9 +++------ 1 file changed, 3 insertions(+), 6 deletions(-) diff --git a/src/mod/applications/mod_fsv/mod_fsv.c b/src/mod/applications/mod_fsv/mod_fsv.c index 883458b8c0..8651ffee26 100644 --- a/src/mod/applications/mod_fsv/mod_fsv.c +++ b/src/mod/applications/mod_fsv/mod_fsv.c @@ -306,8 +306,6 @@ SWITCH_STANDARD_APP(play_fsv_function) switch_frame_t *read_frame; switch_codec_implementation_t read_impl = { 0 }; - switch_channel_set_flag(channel, CF_VIDEO_PASSIVE); - switch_core_session_refresh_video(session); switch_core_session_get_read_impl(session, &read_impl); @@ -351,7 +349,8 @@ SWITCH_STANDARD_APP(play_fsv_function) vid_frame.data = vid_buffer + 12; vid_frame.buflen = SWITCH_RECOMMENDED_BUFFER_SIZE - 12; switch_set_flag((&vid_frame), SFF_RAW_RTP); - switch_set_flag((&vid_frame), SFF_PROXY_PACKET); + // switch_set_flag((&vid_frame), SFF_PROXY_PACKET); + switch_set_flag((&vid_frame), SFF_RAW_RTP_PARSE_FRAME); if (switch_core_timer_init(&timer, "soft", read_impl.microseconds_per_packet / 1000, read_impl.samples_per_packet, switch_core_session_get_pool(session)) != SWITCH_STATUS_SUCCESS) { @@ -388,8 +387,6 @@ SWITCH_STANDARD_APP(play_fsv_function) goto end; } switch_core_session_set_read_codec(session, &codec); - - switch_core_service_session_av(session, SWITCH_FALSE, SWITCH_TRUE); while (switch_channel_ready(channel)) { @@ -504,7 +501,7 @@ SWITCH_STANDARD_APP(play_fsv_function) } done: - switch_channel_clear_flag(channel, CF_VIDEO_PASSIVE); + switch_core_session_video_reset(session); } uint8_t art[14][16] = { From 5ce10274e1ce260602c7c390e06caccc87a68d2e Mon Sep 17 00:00:00 2001 From: Seven Du Date: Mon, 24 Nov 2014 18:39:39 +0800 Subject: [PATCH 076/629] FS-7500: use the new video function instead of start a new thread in record_fsv --- src/mod/applications/mod_fsv/mod_fsv.c | 33 ++++---------------------- 1 file changed, 5 insertions(+), 28 deletions(-) diff --git a/src/mod/applications/mod_fsv/mod_fsv.c b/src/mod/applications/mod_fsv/mod_fsv.c index 8651ffee26..c32d3143d2 100644 --- a/src/mod/applications/mod_fsv/mod_fsv.c +++ b/src/mod/applications/mod_fsv/mod_fsv.c @@ -50,24 +50,20 @@ struct file_header { }; struct record_helper { - switch_core_session_t *session; switch_mutex_t *mutex; int fd; - int up; switch_size_t shared_ts; }; -static void *SWITCH_THREAD_FUNC record_video_thread(switch_thread_t *thread, void *obj) +static void record_video_thread(switch_core_session_t *session, void *obj) { struct record_helper *eh = obj; - switch_core_session_t *session = eh->session; switch_channel_t *channel = switch_core_session_get_channel(session); switch_status_t status; switch_frame_t *read_frame; int bytes; - eh->up = 1; - while (switch_channel_ready(channel) && eh->up) { + while (switch_channel_ready(channel)) { status = switch_core_session_read_video_frame(session, &read_frame, SWITCH_IO_FLAG_NONE, 0); if (!SWITCH_READ_ACCEPTABLE(status)) { @@ -96,8 +92,6 @@ static void *SWITCH_THREAD_FUNC record_video_thread(switch_thread_t *thread, voi switch_core_session_write_video_frame(session, read_frame, SWITCH_IO_FLAG_NONE, 0); } - eh->up = 0; - return NULL; } SWITCH_STANDARD_APP(record_fsv_function) @@ -106,8 +100,6 @@ SWITCH_STANDARD_APP(record_fsv_function) switch_frame_t *read_frame; switch_channel_t *channel = switch_core_session_get_channel(session); struct record_helper eh = { 0 }; - switch_thread_t *thread; - switch_threadattr_t *thd_attr = NULL; int fd; switch_mutex_t *mutex = NULL; switch_codec_t codec, *vid_codec; @@ -190,11 +182,7 @@ SWITCH_STANDARD_APP(record_fsv_function) switch_mutex_init(&mutex, SWITCH_MUTEX_NESTED, switch_core_session_get_pool(session)); eh.mutex = mutex; eh.fd = fd; - eh.session = session; - switch_threadattr_create(&thd_attr, switch_core_session_get_pool(session)); - switch_threadattr_detach_set(thd_attr, 1); - switch_threadattr_stacksize_set(thd_attr, SWITCH_THREAD_STACKSIZE); - switch_thread_create(&thread, thd_attr, record_video_thread, &eh, switch_core_session_get_pool(session)); + switch_core_media_start_video_function(session, record_video_thread, &eh); } @@ -204,7 +192,6 @@ SWITCH_STANDARD_APP(record_fsv_function) if (switch_channel_test_flag(channel, CF_BREAK)) { switch_channel_clear_flag(channel, CF_BREAK); - eh.up = 0; break; } @@ -224,13 +211,11 @@ SWITCH_STANDARD_APP(record_fsv_function) char sbuf[2] = {dtmf.digit, '\0'}; switch_channel_set_variable(channel, SWITCH_PLAYBACK_TERMINATOR_USED, sbuf); - eh.up = 0; break; } } if (!SWITCH_READ_ACCEPTABLE(status)) { - eh.up = 0; break; } @@ -267,24 +252,16 @@ SWITCH_STANDARD_APP(record_fsv_function) end: - if (eh.up) { - while (eh.up) { - switch_cond_next(); - } - } - if (fd > -1) { close(fd); } - + switch_core_media_end_video_function(session); switch_core_session_set_read_codec(session, NULL); switch_core_codec_destroy(&codec); done: - - switch_channel_clear_flag(channel, CF_VIDEO_PASSIVE); - + switch_core_session_video_reset(session); } SWITCH_STANDARD_APP(play_fsv_function) From 8a56d8a086c0e64220ddd66e4d4042059dc3d47c Mon Sep 17 00:00:00 2001 From: Anthony Minessale Date: Mon, 24 Nov 2014 11:18:19 -0500 Subject: [PATCH 077/629] FS-7508: seems to work better restarting on error --- src/mod/codecs/mod_vpx/mod_vpx.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/mod/codecs/mod_vpx/mod_vpx.c b/src/mod/codecs/mod_vpx/mod_vpx.c index 8c7bbecc7e..e86ea7ff66 100644 --- a/src/mod/codecs/mod_vpx/mod_vpx.c +++ b/src/mod/codecs/mod_vpx/mod_vpx.c @@ -517,7 +517,7 @@ static switch_status_t switch_vpx_decode(switch_codec_t *codec, switch_frame_t * (!frame->m) && (!context->last_received_complete_picture)) { // possible packet loss switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_WARNING, "Packet Loss, skip previous received frame (to avoid crash?)\n"); - switch_goto_status(SWITCH_STATUS_NOTFOUND, end); + switch_goto_status(SWITCH_STATUS_RESTART, end); } context->last_received_timestamp = frame->timestamp; @@ -552,7 +552,7 @@ static switch_status_t switch_vpx_decode(switch_codec_t *codec, switch_frame_t * if (err != VPX_CODEC_OK) { switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_ERROR, "Error decoding %" SWITCH_SIZE_T_FMT " bytes, [%d:%d:%s]\n", len, err, decoder->err, decoder->err_detail); - switch_goto_status(SWITCH_STATUS_NOTFOUND, end); + switch_goto_status(SWITCH_STATUS_RESTART, end); } if (vpx_codec_control(decoder, VP8D_GET_FRAME_CORRUPTED, &corrupted) != VPX_CODEC_OK) { @@ -564,7 +564,7 @@ static switch_status_t switch_vpx_decode(switch_codec_t *codec, switch_frame_t * if (!(frame->img) || corrupted) { switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_WARNING, "VPX invalid packet\n"); - switch_goto_status(SWITCH_STATUS_NOTFOUND, end); + switch_goto_status(SWITCH_STATUS_RESTART, end); } switch_buffer_zero(context->vpx_packet_buffer); From 2e1bdfb24aea59236a3e0092680139ecbdb8ac7e Mon Sep 17 00:00:00 2001 From: Anthony Minessale Date: Mon, 24 Nov 2014 11:51:34 -0500 Subject: [PATCH 078/629] FS-7519: add automistake for mod_av --- configure.ac | 1 + src/mod/applications/mod_av/Makefile.am | 8 ++++++++ src/mod/applications/mod_av/mod_av.c | 7 +++++++ 3 files changed, 16 insertions(+) create mode 100644 src/mod/applications/mod_av/Makefile.am diff --git a/configure.ac b/configure.ac index eb3eb2b467..f8cba27da3 100644 --- a/configure.ac +++ b/configure.ac @@ -1658,6 +1658,7 @@ AC_CONFIG_FILES([Makefile src/mod/xml_int/mod_xml_radius/Makefile src/mod/xml_int/mod_xml_rpc/Makefile src/mod/xml_int/mod_xml_scgi/Makefile + src/mod/applications/mod_av/Makefile src/include/switch_am_config.h build/getsounds.sh build/getlib.sh diff --git a/src/mod/applications/mod_av/Makefile.am b/src/mod/applications/mod_av/Makefile.am new file mode 100644 index 0000000000..da4223a52b --- /dev/null +++ b/src/mod/applications/mod_av/Makefile.am @@ -0,0 +1,8 @@ +include $(top_srcdir)/build/modmake.rulesam +MODNAME=mod_av + +mod_LTLIBRARIES = mod_av.la +mod_av_la_SOURCES = mod_av.c +mod_av_la_CFLAGS = $(AM_CFLAGS) +mod_av_la_LIBADD = $(switch_builddir)/libfreeswitch.la +mod_av_la_LDFLAGS = -avoid-version -module -no-undefined -shared -lavformat -lavcodec diff --git a/src/mod/applications/mod_av/mod_av.c b/src/mod/applications/mod_av/mod_av.c index 9d5ff3db1a..a078ab632f 100644 --- a/src/mod/applications/mod_av/mod_av.c +++ b/src/mod/applications/mod_av/mod_av.c @@ -830,13 +830,20 @@ static void print_codecs_for_id(switch_stream_handle_t *stream, enum AVCodecID i static int is_device(const AVClass *avclass) { +#if 0 if (!avclass) return 0; + + return avclass->category == AV_CLASS_CATEGORY_DEVICE_VIDEO_OUTPUT || avclass->category == AV_CLASS_CATEGORY_DEVICE_VIDEO_INPUT || avclass->category == AV_CLASS_CATEGORY_DEVICE_AUDIO_OUTPUT || avclass->category == AV_CLASS_CATEGORY_DEVICE_AUDIO_INPUT || avclass->category == AV_CLASS_CATEGORY_DEVICE_OUTPUT || avclass->category == AV_CLASS_CATEGORY_DEVICE_INPUT; +#endif + + return 0; + } void show_formats(switch_stream_handle_t *stream) { From 81bec5ebd06154fbf680fdd4c04a67fb18d6dd0b Mon Sep 17 00:00:00 2001 From: Seven Du Date: Tue, 25 Nov 2014 02:02:05 +0800 Subject: [PATCH 079/629] FS-7519: add missing deps --- src/mod/applications/mod_av/Makefile.am | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/mod/applications/mod_av/Makefile.am b/src/mod/applications/mod_av/Makefile.am index da4223a52b..6f3be6ab60 100644 --- a/src/mod/applications/mod_av/Makefile.am +++ b/src/mod/applications/mod_av/Makefile.am @@ -5,4 +5,5 @@ mod_LTLIBRARIES = mod_av.la mod_av_la_SOURCES = mod_av.c mod_av_la_CFLAGS = $(AM_CFLAGS) mod_av_la_LIBADD = $(switch_builddir)/libfreeswitch.la -mod_av_la_LDFLAGS = -avoid-version -module -no-undefined -shared -lavformat -lavcodec +mod_av_la_LDFLAGS = -avoid-version -module -no-undefined -shared -lavformat -lavcodec -lavutil -lx264 + From 01fda5748cbe562604aae7284151c3c1b83e5948 Mon Sep 17 00:00:00 2001 From: Anthony Minessale Date: Mon, 24 Nov 2014 18:39:10 -0500 Subject: [PATCH 080/629] FS-7500: another round of trying to make things work --- src/include/switch_core_media.h | 2 + .../applications/mod_commands/mod_commands.c | 8 +- .../mod_conference/mod_conference.c | 16 ++-- src/mod/codecs/mod_vpx/mod_vpx.c | 2 +- src/switch_core_media.c | 73 ++++++++++++------- src/switch_rtp.c | 11 ++- 6 files changed, 68 insertions(+), 44 deletions(-) diff --git a/src/include/switch_core_media.h b/src/include/switch_core_media.h index f193482063..acfb770a19 100644 --- a/src/include/switch_core_media.h +++ b/src/include/switch_core_media.h @@ -313,6 +313,8 @@ SWITCH_DECLARE(void) switch_core_media_start_video_function(switch_core_session_ SWITCH_DECLARE(void) switch_core_media_end_video_function(switch_core_session_t *session); SWITCH_DECLARE(switch_status_t) switch_core_session_start_video_thread(switch_core_session_t *session); SWITCH_DECLARE(int) switch_core_media_check_video_function(switch_core_session_t *session); +SWITCH_DECLARE(void) switch_core_session_video_reinit(switch_core_session_t *session); + SWITCH_END_EXTERN_C #endif /* For Emacs: diff --git a/src/mod/applications/mod_commands/mod_commands.c b/src/mod/applications/mod_commands/mod_commands.c index 15ceb23ee7..3ef718b7ba 100644 --- a/src/mod/applications/mod_commands/mod_commands.c +++ b/src/mod/applications/mod_commands/mod_commands.c @@ -3940,15 +3940,11 @@ SWITCH_STANDARD_API(uuid_video_refresh_function) if (argc < 1) { stream->write_function(stream, "-USAGE: %s\n", VIDEO_REFRESH_SYNTAX); } else { - switch_core_session_message_t msg = { 0 }; switch_core_session_t *lsession = NULL; - msg.message_id = SWITCH_MESSAGE_INDICATE_VIDEO_REFRESH_REQ; - msg.string_array_arg[2] = argv[1]; - msg.from = __FILE__; - if ((lsession = switch_core_session_locate(argv[0]))) { - status = switch_core_session_receive_message(lsession, &msg); + switch_core_session_video_reinit(lsession); + status = SWITCH_STATUS_SUCCESS; switch_core_session_rwunlock(lsession); } } diff --git a/src/mod/applications/mod_conference/mod_conference.c b/src/mod/applications/mod_conference/mod_conference.c index a91c32b435..afb74bf33b 100644 --- a/src/mod/applications/mod_conference/mod_conference.c +++ b/src/mod/applications/mod_conference/mod_conference.c @@ -2260,12 +2260,12 @@ static switch_status_t conference_add_member(conference_obj_t *conference, confe switch_channel_clear_flag(channel, CF_VIDEO_PASSIVE); } /* Tell the channel to request a fresh vid frame */ - switch_core_session_refresh_video_both_ways(member->session); + switch_core_session_video_reinit(member->session); if (conference->video_floor_holder) { switch_mutex_lock(conference->mutex); if (conference->video_floor_holder) { - switch_core_session_refresh_video_both_ways(conference->video_floor_holder->session); + switch_core_session_video_reinit(conference->video_floor_holder->session); // there's already someone hold the floor, tell the core thread start to read video switch_channel_clear_flag(member->channel, CF_VIDEO_PASSIVE); } @@ -2488,7 +2488,7 @@ static void conference_set_video_floor_holder(conference_obj_t *conference, conf switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_DEBUG1, "Adding video floor %s\n", switch_channel_get_name(member->channel)); //switch_channel_set_flag(member->channel, CF_VIDEO_PASSIVE); - switch_core_session_refresh_video_both_ways(member->session); + switch_core_session_video_reinit(member->session); conference->video_floor_holder = member; member_update_status_field(member); } else { @@ -2514,7 +2514,7 @@ static void conference_set_video_floor_holder(conference_obj_t *conference, conf switch_channel_set_flag(imember->channel, CF_VIDEO_BREAK); switch_core_session_kill_channel(imember->session, SWITCH_SIG_BREAK); - switch_core_session_refresh_video_both_ways(imember->session); + switch_core_session_video_reinit(imember->session); } switch_set_flag(conference, CFLAG_FLOOR_CHANGE); @@ -2880,7 +2880,7 @@ static void *SWITCH_THREAD_FUNC conference_video_bridge_thread_run(switch_thread switch_channel_ready(channel_a) && switch_channel_ready(channel_b)) { if (switch_channel_test_flag(channel_a, CF_VIDEO_REFRESH_REQ)) { - switch_core_session_refresh_video_both_ways(session_b); + switch_core_session_video_reinit(session_b); switch_channel_clear_flag(channel_a, CF_VIDEO_REFRESH_REQ); } @@ -3027,7 +3027,7 @@ static void *SWITCH_THREAD_FUNC conference_video_thread_run(switch_thread_t *thr switch_mutex_unlock(conference->mutex); if (want_refresh && session) { - switch_core_session_refresh_video_both_ways(session); + switch_core_session_video_reinit(session); want_refresh = 0; } @@ -4335,7 +4335,7 @@ static void *SWITCH_THREAD_FUNC conference_loop_input(switch_thread_t *thread, v if (switch_channel_test_flag(channel, CF_VIDEO) && !switch_test_flag(member, MFLAG_ACK_VIDEO)) { switch_set_flag_locked(member, MFLAG_ACK_VIDEO); - switch_core_session_refresh_video_both_ways(member->session); + switch_core_session_video_reinit(member->session); conference_set_video_floor_holder(member->conference, member, SWITCH_FALSE); } @@ -5203,7 +5203,7 @@ static void *SWITCH_THREAD_FUNC conference_record_thread_run(switch_thread_t *th switch_mutex_lock(conference->mutex); if (!conference->record_fh) conference->record_fh = &fh; if (conference->video_floor_holder) { - switch_core_session_refresh_video_both_ways(conference->video_floor_holder->session); + switch_core_session_video_reinit(conference->video_floor_holder->session); } switch_mutex_unlock(conference->mutex); diff --git a/src/mod/codecs/mod_vpx/mod_vpx.c b/src/mod/codecs/mod_vpx/mod_vpx.c index e86ea7ff66..2dab2edd8e 100644 --- a/src/mod/codecs/mod_vpx/mod_vpx.c +++ b/src/mod/codecs/mod_vpx/mod_vpx.c @@ -99,7 +99,7 @@ static switch_status_t init_codec(switch_codec_t *codec) if (context->codec_settings.video.bandwidth) { context->bandwidth = context->codec_settings.video.bandwidth; } else { - int x = (context->codec_settings.video.width / 1000) + 1; + int x = (context->codec_settings.video.width / 100) + 1; context->bandwidth = context->codec_settings.video.width * context->codec_settings.video.height * x; } diff --git a/src/switch_core_media.c b/src/switch_core_media.c index 693328c4f9..49cd7ff432 100644 --- a/src/switch_core_media.c +++ b/src/switch_core_media.c @@ -6453,7 +6453,7 @@ SWITCH_DECLARE(void) switch_core_media_gen_local_sdp(switch_core_session_t *sess switch_rtp_engine_t *a_engine, *v_engine; switch_media_handle_t *smh; ice_t *ice_out; - int vp8 = 0; + //int vp8 = 0; //int red = 0; payload_map_t *pmap; int is_outbound = switch_channel_direction(session->channel) == SWITCH_CALL_DIRECTION_OUTBOUND; @@ -7065,9 +7065,9 @@ SWITCH_DECLARE(void) switch_core_media_gen_local_sdp(switch_core_session_t *sess const char *of; payload_map_t *pmap; - if (!strcasecmp(v_engine->cur_payload_map->rm_encoding, "VP8")) { - vp8 = v_engine->cur_payload_map->pt; - } + //if (!strcasecmp(v_engine->cur_payload_map->rm_encoding, "VP8")) { + // vp8 = v_engine->cur_payload_map->pt; + //} //if (!strcasecmp(v_engine->cur_payload_map->rm_encoding, "red")) { // red = v_engine->cur_payload_map->pt; @@ -7153,9 +7153,9 @@ SWITCH_DECLARE(void) switch_core_media_gen_local_sdp(switch_core_session_t *sess channels = get_channels(imp->iananame, imp->number_of_channels); - if (!strcasecmp(imp->iananame, "VP8")) { - vp8 = ianacode; - } + //if (!strcasecmp(imp->iananame, "VP8")) { + // vp8 = ianacode; + //} //if (!strcasecmp(imp->iananame, "red")) { // red = ianacode; @@ -7232,27 +7232,31 @@ SWITCH_DECLARE(void) switch_core_media_gen_local_sdp(switch_core_session_t *sess } /* DFF nack pli etc */ - nack = v_engine->nack = 0;//pli = v_engine->pli = 0; + nack = v_engine->nack = 0; //pli = v_engine->pli = 0; - if (vp8) { - - if (v_engine->fir || fir) { - switch_snprintf(buf + strlen(buf), SDPBUFLEN - strlen(buf), - "a=rtcp-fb:%d ccm fir\n", vp8); - } - - if (v_engine->nack || nack) { - switch_snprintf(buf + strlen(buf), SDPBUFLEN - strlen(buf), - "a=rtcp-fb:%d nack\n", vp8); - } - - if (v_engine->pli || pli) { - switch_snprintf(buf + strlen(buf), SDPBUFLEN - strlen(buf), - "a=rtcp-fb:%d nack pli\n", vp8); + for (pmap = v_engine->cur_payload_map; pmap && pmap->allocated; pmap = pmap->next) { + if (!v_engine->codec_negotiated || + (pmap->negotiated && (pmap->pt == v_engine->cur_payload_map->agreed_pt || + switch_media_handle_test_media_flag(smh, SCMF_MULTI_ANSWER_VIDEO)))) { + + if (v_engine->fir || fir) { + switch_snprintf(buf + strlen(buf), SDPBUFLEN - strlen(buf), + "a=rtcp-fb:%d ccm fir\n", pmap->pt); + } + + if (v_engine->nack || nack) { + switch_snprintf(buf + strlen(buf), SDPBUFLEN - strlen(buf), + "a=rtcp-fb:%d nack\n", pmap->pt); + } + + if (v_engine->pli || pli) { + switch_snprintf(buf + strlen(buf), SDPBUFLEN - strlen(buf), + "a=rtcp-fb:%d nack pli\n", pmap->pt); + } + } } - //switch_snprintf(buf + strlen(buf), SDPBUFLEN - strlen(buf), "a=ssrc:%u\n", v_engine->ssrc); if (v_engine->ice_out.cands[0][0].ready) { @@ -9558,6 +9562,24 @@ static switch_status_t raw_write_video(switch_core_session_t *session, switch_fr return status; } +SWITCH_DECLARE(void) switch_core_session_video_reinit(switch_core_session_t *session) +{ + switch_media_handle_t *smh; + + switch_assert(session); + + if (!(smh = session->media_handle)) { + return; + } + + if (switch_channel_down(session->channel)) { + return; + } + + smh->video_init = 0; + smh->video_last_key_time = 0; + switch_core_session_refresh_video_both_ways(session); +} SWITCH_DECLARE(switch_status_t) switch_core_session_write_video_frame(switch_core_session_t *session, switch_frame_t *frame, switch_io_flag_t flags, int stream_id) @@ -9638,8 +9660,7 @@ SWITCH_DECLARE(switch_status_t) switch_core_session_write_video_frame(switch_cor switch_assert((encode_status == SWITCH_STATUS_SUCCESS && frame->m) || !frame->m); if (frame->flags & SFF_PICTURE_RESET) { - smh->video_init = 0; - smh->video_last_key_time = 0; + switch_core_session_video_reinit(session); frame->flags &= ~SFF_PICTURE_RESET; } diff --git a/src/switch_rtp.c b/src/switch_rtp.c index 31a043dc3d..c5592722d6 100644 --- a/src/switch_rtp.c +++ b/src/switch_rtp.c @@ -710,6 +710,7 @@ static handle_rfc2833_result_t handle_rfc2833(switch_rtp_t *rtp_session, switch_ return RESULT_CONTINUE; } +static int rtp_write_ready(switch_rtp_t *rtp_session, uint32_t bytes, int line); static int global_init = 0; static int rtp_common_write(switch_rtp_t *rtp_session, rtp_msg_t *send_msg, void *data, uint32_t datalen, switch_payload_t payload, uint32_t timestamp, switch_frame_flag_t *flags); @@ -953,7 +954,7 @@ static void handle_ice(switch_rtp_t *rtp_session, switch_rtp_ice_t *ice, void *d } if (rtp_session->flags[SWITCH_RTP_FLAG_VIDEO]) { - switch_core_media_gen_key_frame(rtp_session->session); + switch_core_session_video_reinit(rtp_session->session); } switch_rtp_set_flag(rtp_session, SWITCH_RTP_FLAG_FLUSH); } @@ -1104,7 +1105,7 @@ static void handle_ice(switch_rtp_t *rtp_session, switch_rtp_ice_t *ice, void *d if (!ice->ready) { ice->ready = 1; if (rtp_session->flags[SWITCH_RTP_FLAG_VIDEO]) { - switch_core_media_gen_key_frame(rtp_session->session); + switch_core_session_video_reinit(rtp_session->session); } switch_rtp_set_flag(rtp_session, SWITCH_RTP_FLAG_FLUSH); } @@ -4877,6 +4878,10 @@ static switch_status_t read_rtp_packet(switch_rtp_t *rtp_session, switch_size_t } } + if (*bytes && !rtp_write_ready(rtp_session, *bytes, __LINE__)) { + *bytes = 0; + goto more; + } if (*bytes && rtp_session->flags[SWITCH_RTP_FLAG_DEBUG_RTP_READ]) { const char *tx_host; @@ -6403,7 +6408,7 @@ SWITCH_DECLARE(switch_status_t) switch_rtp_zerocopy_read(switch_rtp_t *rtp_sessi static int rtp_write_ready(switch_rtp_t *rtp_session, uint32_t bytes, int line) { - if (rtp_session->ice.ice_user && !(rtp_session->ice.rready)) { + if (rtp_session->ice.ice_user && !(rtp_session->ice.rready && rtp_session->ice.ready)) { switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_DEBUG1, "Skip sending %s packet %ld bytes (ice not ready @ line %d!)\n", rtp_type(rtp_session), (long)bytes, line); return 0; From 853873725bc2b3cad30e08b3b1b2f6dbb87e7c70 Mon Sep 17 00:00:00 2001 From: Anthony Minessale Date: Tue, 25 Nov 2014 15:01:52 -0600 Subject: [PATCH 081/629] FS-7500: factor out the write_image callback and fix the vlc video endpoint to setup and match the audio params of the A leg when bridged --- src/include/private/switch_core_pvt.h | 6 - src/include/switch_core.h | 9 - src/include/switch_core_video.h | 4 +- src/mod/applications/mod_av/mod_av.c | 2 +- src/mod/applications/mod_fsv/mod_fsv.c | 2 +- src/mod/codecs/mod_openh264/mod_openh264.cpp | 2 +- src/mod/formats/mod_vlc/mod_vlc.c | 244 +++++++------------ src/switch_core_media.c | 13 +- src/switch_core_session.c | 2 - src/switch_core_video.c | 8 +- 10 files changed, 96 insertions(+), 196 deletions(-) diff --git a/src/include/private/switch_core_pvt.h b/src/include/private/switch_core_pvt.h index 79b384c78a..f0699a7f8e 100644 --- a/src/include/private/switch_core_pvt.h +++ b/src/include/private/switch_core_pvt.h @@ -188,12 +188,6 @@ struct switch_core_session { switch_media_handle_t *media_handle; uint32_t decoder_errors; - switch_core_video_thread_callback_func_t *_video_thread_callback; - void *_video_thread_user_data; - //switch_time_t last_video_write_time; - - switch_image_write_callback_t image_write_callback; - void *image_write_callback_user_data; switch_slin_data_t *sdata; }; diff --git a/src/include/switch_core.h b/src/include/switch_core.h index de3e5b3ce4..ca56ebebfd 100644 --- a/src/include/switch_core.h +++ b/src/include/switch_core.h @@ -1271,15 +1271,6 @@ SWITCH_DECLARE(switch_status_t) switch_core_session_read_frame(_In_ switch_core_ */ SWITCH_DECLARE(switch_status_t) switch_core_session_read_video_frame(_In_ switch_core_session_t *session, switch_frame_t **frame, switch_io_flag_t flags, int stream_id); -/*! - \brief set a callback to be called after each frame of an image is written - \param session the session to write to - \param callback the function to call - \param user_data the user data pointer to pass as an arguement to the callback - \return void -*/ -SWITCH_DECLARE(void) switch_core_session_set_image_write_callback(switch_core_session_t *session, switch_image_write_callback_t callback, void *user_data); - /*! \brief Write a video frame to a session \param session the session to write to diff --git a/src/include/switch_core_video.h b/src/include/switch_core_video.h index 2534f3d17f..c439e35ec2 100644 --- a/src/include/switch_core_video.h +++ b/src/include/switch_core_video.h @@ -216,9 +216,9 @@ SWITCH_DECLARE(void) switch_img_flip(switch_image_t *img); * * Frees all allocated storage associated with an image descriptor. * -* \param[in] img Image descriptor +* \param[in] img pointer to pointer of Image descriptor */ -SWITCH_DECLARE(void) switch_img_free(switch_image_t *img); +SWITCH_DECLARE(void) switch_img_free(switch_image_t **img); /** @} */ diff --git a/src/mod/applications/mod_av/mod_av.c b/src/mod/applications/mod_av/mod_av.c index a078ab632f..c787387117 100644 --- a/src/mod/applications/mod_av/mod_av.c +++ b/src/mod/applications/mod_av/mod_av.c @@ -738,7 +738,7 @@ static switch_status_t switch_h264_destroy(switch_codec_t *codec) av_free(context->decoder_ctx); } - if (context->img) switch_img_free(context->img); + switch_img_free(&context->img); if (context->encoder_ctx) { if (avcodec_is_open(context->encoder_ctx)) avcodec_close(context->encoder_ctx); diff --git a/src/mod/applications/mod_fsv/mod_fsv.c b/src/mod/applications/mod_fsv/mod_fsv.c index c32d3143d2..c3a23a6447 100644 --- a/src/mod/applications/mod_fsv/mod_fsv.c +++ b/src/mod/applications/mod_fsv/mod_fsv.c @@ -667,7 +667,7 @@ SWITCH_STANDARD_APP(play_yuv_function) close(fd); } - switch_img_free(img); + switch_img_free(&img); done: diff --git a/src/mod/codecs/mod_openh264/mod_openh264.cpp b/src/mod/codecs/mod_openh264/mod_openh264.cpp index 1575aa384e..e78c09f07b 100644 --- a/src/mod/codecs/mod_openh264/mod_openh264.cpp +++ b/src/mod/codecs/mod_openh264/mod_openh264.cpp @@ -599,7 +599,7 @@ static switch_status_t switch_h264_destroy(switch_codec_t *codec) } if (context->decoder) { - if (context->img) switch_img_free(context->img); + switch_img_free(&context->img); context->decoder->Uninitialize(); WelsDestroyDecoder(context->decoder); } diff --git a/src/mod/formats/mod_vlc/mod_vlc.c b/src/mod/formats/mod_vlc/mod_vlc.c index e5a24cc66d..1cda424d1b 100644 --- a/src/mod/formats/mod_vlc/mod_vlc.c +++ b/src/mod/formats/mod_vlc/mod_vlc.c @@ -96,7 +96,7 @@ struct vlc_video_context { switch_memory_pool_t *pool; switch_thread_cond_t *started; switch_buffer_t *audio_buffer; - switch_buffer_t *video_buffer; + switch_queue_t *video_queue; int playing; switch_mutex_t *video_mutex; @@ -246,23 +246,6 @@ static void vlc_video_unlock_callback(void *data, void *id, void *const *p_pixel switch_mutex_unlock(context->video_mutex); } -static void do_buffer_frame(vlc_video_context_t *context, switch_frame_t *frame) -{ - uint32_t size = sizeof(*frame) + frame->packetlen; - - switch_mutex_lock(context->video_mutex); - - if (switch_buffer_inuse(context->video_buffer) > VLC_BUFFER_SIZE * 1024) { - switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_ERROR, "buffer overflow %d\n", (int)switch_buffer_inuse(context->video_buffer)); - switch_buffer_zero(context->video_buffer); - } - switch_buffer_write(context->video_buffer, &size, sizeof(uint32_t)); - switch_buffer_write(context->video_buffer, frame, sizeof(*frame)); - switch_buffer_write(context->video_buffer, frame->packet, frame->packetlen); - switch_mutex_unlock(context->video_mutex); -} - - static void vlc_video_channel_unlock_callback(void *data, void *id, void *const *p_pixels) { vlc_video_context_t *context = (vlc_video_context_t *)data; @@ -286,9 +269,17 @@ static void vlc_video_display_callback(void *data, void *id) if (context->channel && !switch_channel_test_flag(context->channel, CF_VIDEO)) return; - context->vid_frame->img = context->img; + if (context->video_queue) { + switch_queue_push(context->video_queue, context->img); + context->img = NULL; + } else { + context->vid_frame->img = context->img; + switch_core_session_write_video_frame(context->session, context->vid_frame, SWITCH_IO_FLAG_NONE, 0); + } + + //do we need this or not + //switch_img_free(&context->img); - switch_core_session_write_video_frame(context->session, context->vid_frame, SWITCH_IO_FLAG_NONE, 0); } unsigned video_format_setup_callback(void **opaque, char *chroma, unsigned *width, unsigned *height, unsigned *pitches, unsigned *lines) @@ -627,46 +618,6 @@ SWITCH_STANDARD_APP(play_video_function) switch_buffer_create_dynamic(&(context->audio_buffer), VLC_BUFFER_SIZE, VLC_BUFFER_SIZE * 8, 0); -/* - if (0) { // SPS PPS - unsigned char outbuf[1024] = { 0 }; - unsigned char *in, *out = outbuf; - switch_size_t ilen, olen = 0; - - sprintf((char *)out, "packetization-mode=1;profile-level-id=42c01f;sprop-parameter-sets="); - out += strlen((char *)out); - - for (int i = 0; i < nal_count; ++i) { - switch (nals[i].i_type) { - case NAL_SPS: - switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_ERROR, "sps %d: %d %d %d %d %x\n", nals[i].i_payload, nals[i].p_payload[0], nals[i].p_payload[1], nals[i].p_payload[2], nals[i].p_payload[3], nals[i].p_payload[4]); - in = nals[i].p_payload + 4; // skipe 00 00 00 01 - ilen = nals[i].i_payload - 4; - switch_b64_encode(in, ilen, out, 512); - break; - case NAL_PPS: - switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_ERROR, "pps %d: %d %d %d %d %x\n", nals[i].i_payload, nals[i].p_payload[0], nals[i].p_payload[1], nals[i].p_payload[2], nals[i].p_payload[3], nals[i].p_payload[4]); - in = nals[i].p_payload + 4; // skip 00 00 00 01 - ilen = nals[i].i_payload - 4; - olen = (switch_size_t)strlen((char *)out); - switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_ERROR, "%d\n", 512); - - if (olen > 0) { - out += olen; - *out++ = ','; - } - switch_b64_encode(in, ilen, out, olen); - switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_ERROR, "props:%s\n", outbuf); - break; - default: - break; - } - } - - switch_channel_set_variable(channel, "sip_force_video_fmtp", (char *)outbuf); - } -*/ - switch_channel_answer(channel); switch_core_session_get_read_impl(session, &read_impl); switch_core_session_receive_message(session, &msg); @@ -812,7 +763,7 @@ SWITCH_STANDARD_APP(play_video_function) //switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_ERROR, "%d %d\n", (int)switch_buffer_inuse(context->audio_buffer), (int)audio_datalen); switch_buffer_peek_zerocopy(context->audio_buffer, &decoded_data); audio_frame.data = (void *)decoded_data; - audio_frame.datalen = audio_datalen;; + audio_frame.datalen = audio_datalen; audio_frame.buflen = audio_datalen; switch_core_session_write_frame(context->session, &audio_frame, SWITCH_IO_FLAG_NONE, 0); switch_buffer_toss(context->audio_buffer, audio_datalen); @@ -832,6 +783,8 @@ SWITCH_STANDARD_APP(play_video_function) end: + switch_img_free(&context->img); + if (context->audio_buffer) { switch_buffer_destroy(&context->audio_buffer); } @@ -877,6 +830,8 @@ typedef struct { switch_timer_t timer; switch_core_media_params_t mparams; switch_media_handle_t *media_handle; + switch_codec_implementation_t read_impl; + } vlc_private_t; switch_state_handler_table_t vlc_state_handlers = { @@ -908,16 +863,7 @@ switch_io_routines_t vlc_io_routines = { /*state_run*/ NULL }; -static switch_status_t vlc_channel_img_callback(switch_core_session_t *session, switch_frame_t *frame, switch_image_t *img, void *user_data) -{ - vlc_video_context_t *context = (vlc_video_context_t *) user_data; - - do_buffer_frame(context, frame); - - return SWITCH_STATUS_SUCCESS; -} - -static switch_status_t setup_tech_pvt(switch_core_session_t *session, const char *path) +static switch_status_t setup_tech_pvt(switch_core_session_t *osession, switch_core_session_t *session, const char *path) { switch_channel_t *channel = switch_core_session_get_channel(session); switch_memory_pool_t *pool = switch_core_session_get_pool(session); @@ -929,6 +875,12 @@ static switch_status_t setup_tech_pvt(switch_core_session_t *session, const char tech_pvt = switch_core_session_alloc(session, sizeof *tech_pvt); switch_assert(tech_pvt); memset(tech_pvt, 0, sizeof(*tech_pvt)); + + + if (osession) { + switch_core_session_get_read_impl(osession, &tech_pvt->read_impl); + } + tech_pvt->session = session; tech_pvt->channel = channel; tech_pvt->destination_number = switch_core_session_strdup(session, path); @@ -943,18 +895,17 @@ static switch_status_t setup_tech_pvt(switch_core_session_t *session, const char switch_buffer_create_dynamic(&(context->audio_buffer), VLC_BUFFER_SIZE, VLC_BUFFER_SIZE * 8, 0); + switch_queue_create(&context->video_queue, SWITCH_CORE_QUEUE_LEN, switch_core_session_get_pool(session)); - switch_buffer_create_dynamic(&(context->video_buffer), VLC_BUFFER_SIZE * 2, VLC_BUFFER_SIZE * 16, 0); - - switch_core_session_set_image_write_callback(session, vlc_channel_img_callback, tech_pvt->context); - - if (switch_core_timer_init(&tech_pvt->timer, "soft", 20, - 8000 / (1000 / 20), pool) != SWITCH_STATUS_SUCCESS) { + if (switch_core_timer_init(&tech_pvt->timer, "soft", tech_pvt->read_impl.microseconds_per_packet / 1000, + tech_pvt->read_impl.samples_per_packet, pool) != SWITCH_STATUS_SUCCESS) { switch_log_printf(SWITCH_CHANNEL_SESSION_LOG(session), SWITCH_LOG_ERROR, "Timer Activation Fail\n"); status = SWITCH_STATUS_FALSE; goto fail; } + context->channels = tech_pvt->read_impl.number_of_channels; + context->session = session; context->pool = pool; context->aud_frame = &tech_pvt->read_frame; @@ -1000,7 +951,7 @@ static switch_status_t setup_tech_pvt(switch_core_session_t *session, const char context->mp = libvlc_media_player_new_from_media(context->m); - libvlc_audio_set_format(context->mp, "S16N", 8000, 1); + libvlc_audio_set_format(context->mp, "S16N", tech_pvt->read_impl.actual_samples_per_second, tech_pvt->read_impl.number_of_channels); libvlc_audio_set_callbacks(context->mp, vlc_play_audio_callback, NULL,NULL,NULL,NULL, (void *) context); @@ -1073,14 +1024,21 @@ static switch_status_t channel_on_destroy(switch_core_session_t *session) switch_buffer_destroy(&tech_pvt->context->audio_buffer); } - if (tech_pvt->context->video_buffer) { - switch_buffer_destroy(&tech_pvt->context->video_buffer); + if (tech_pvt->context->video_queue) { + void *pop; + + while (switch_queue_trypop(tech_pvt->context->video_queue, &pop) == SWITCH_STATUS_SUCCESS && pop) { + switch_image_t *img = (switch_image_t *) pop; + switch_img_free(&img); + } } if (tech_pvt->timer.interval) { switch_core_timer_destroy(&tech_pvt->timer); } + switch_img_free(&tech_pvt->read_video_frame.img); + return SWITCH_STATUS_SUCCESS; } @@ -1100,6 +1058,7 @@ static switch_call_cause_t vlc_outgoing_channel(switch_core_session_t *session, if (session) { switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_ERROR, "session: %s\n", switch_core_session_get_uuid(session)); + switch_channel_answer(switch_core_session_get_channel(session)); } if (!(*new_session = switch_core_session_request(vlc_endpoint_interface, SWITCH_CALL_DIRECTION_OUTBOUND, 0, pool))) { @@ -1112,7 +1071,7 @@ static switch_call_cause_t vlc_outgoing_channel(switch_core_session_t *session, switch_channel_set_name(channel, name); switch_channel_set_flag(channel, CF_VIDEO); - if (setup_tech_pvt(*new_session, outbound_profile->destination_number) != SWITCH_STATUS_SUCCESS) { + if (setup_tech_pvt(session, *new_session, outbound_profile->destination_number) != SWITCH_STATUS_SUCCESS) { switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_ERROR, "Error steup tech_pvt!\n"); goto fail; } @@ -1122,25 +1081,25 @@ static switch_call_cause_t vlc_outgoing_channel(switch_core_session_t *session, switch_channel_set_caller_profile(channel, caller_profile); if (switch_core_codec_init(&tech_pvt->read_codec, - "L16", - NULL, - 8000, - 20, - 1, - /*SWITCH_CODEC_FLAG_ENCODE |*/ SWITCH_CODEC_FLAG_DECODE, - NULL, switch_core_session_get_pool(tech_pvt->session)) != SWITCH_STATUS_SUCCESS) { + "L16", + NULL, + tech_pvt->read_impl.actual_samples_per_second, + tech_pvt->read_impl.microseconds_per_packet / 1000, + tech_pvt->read_impl.number_of_channels, + /*SWITCH_CODEC_FLAG_ENCODE |*/ SWITCH_CODEC_FLAG_DECODE, + NULL, switch_core_session_get_pool(tech_pvt->session)) != SWITCH_STATUS_SUCCESS) { switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_ERROR, "Can't load codec?\n"); goto fail; } if (switch_core_codec_init(&tech_pvt->write_codec, - "L16", - NULL, - 8000, - 20, - 1, - SWITCH_CODEC_FLAG_ENCODE /*| SWITCH_CODEC_FLAG_DECODE*/, - NULL, switch_core_session_get_pool(tech_pvt->session)) != SWITCH_STATUS_SUCCESS) { + tech_pvt->read_impl.iananame, + NULL, + tech_pvt->read_impl.actual_samples_per_second, + tech_pvt->read_impl.microseconds_per_packet / 1000, + tech_pvt->read_impl.number_of_channels, + SWITCH_CODEC_FLAG_ENCODE /*| SWITCH_CODEC_FLAG_DECODE*/, + NULL, switch_core_session_get_pool(tech_pvt->session)) != SWITCH_STATUS_SUCCESS) { switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_ERROR, "Can't load codec?\n"); goto fail; } @@ -1241,7 +1200,7 @@ static switch_status_t vlc_read_frame(switch_core_session_t *session, switch_fra switch_status_t status = SWITCH_STATUS_SUCCESS; libvlc_state_t vlc_status; vlc_video_context_t *context; - switch_size_t audio_datalen = 160; + switch_size_t audio_datalen; channel = switch_core_session_get_channel(session); assert(channel != NULL); @@ -1251,6 +1210,8 @@ static switch_status_t vlc_read_frame(switch_core_session_t *session, switch_fra switch_yield(20000); + audio_datalen = tech_pvt->read_impl.decoded_bytes_per_packet; + // goto cng; context = tech_pvt->context; @@ -1266,12 +1227,12 @@ static switch_status_t vlc_read_frame(switch_core_session_t *session, switch_fra switch_mutex_lock(context->audio_mutex); - if (switch_buffer_inuse(context->audio_buffer) >= audio_datalen * 2) { + if (switch_buffer_inuse(context->audio_buffer) >= audio_datalen) { tech_pvt->read_frame.data = tech_pvt->audio_data; - // switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_ERROR, "%d %d\n", (int)switch_buffer_inuse(context->audio_buffer), (int)audio_datalen * 2); - switch_buffer_read(context->audio_buffer, tech_pvt->read_frame.data, audio_datalen * 2); - tech_pvt->read_frame.datalen = audio_datalen * 2; - tech_pvt->read_frame.buflen = audio_datalen * 2; + //switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_ERROR, "%d %d\n", (int)switch_buffer_inuse(context->audio_buffer), (int)audio_datalen); + switch_buffer_read(context->audio_buffer, tech_pvt->read_frame.data, audio_datalen); + tech_pvt->read_frame.datalen = audio_datalen; + tech_pvt->read_frame.buflen = audio_datalen; tech_pvt->read_frame.flags &= ~SFF_CNG; tech_pvt->read_frame.codec = &tech_pvt->read_codec; *frame = &tech_pvt->read_frame; @@ -1280,15 +1241,13 @@ static switch_status_t vlc_read_frame(switch_core_session_t *session, switch_fra } switch_mutex_unlock(context->audio_mutex); - goto cng; -cng: *frame = &tech_pvt->read_frame; tech_pvt->read_frame.codec = &tech_pvt->read_codec; tech_pvt->read_frame.flags |= SFF_CNG; tech_pvt->read_frame.datalen = 0; - // switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_ERROR, "read cng frame\n"); + //switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_ERROR, "read cng frame\n"); return SWITCH_STATUS_SUCCESS; } @@ -1301,71 +1260,37 @@ static switch_status_t vlc_read_video_frame(switch_core_session_t *session, swit { switch_channel_t *channel; vlc_private_t *tech_pvt; - vlc_video_context_t *context; - uint32_t size; - + void *pop; + channel = switch_core_session_get_channel(session); switch_assert(channel != NULL); tech_pvt = switch_core_session_get_private(session); switch_assert(tech_pvt != NULL); - context = tech_pvt->context; switch_assert(tech_pvt->context); + + switch_img_free(&tech_pvt->read_video_frame.img); - switch_mutex_lock(context->video_mutex); - - while (switch_buffer_inuse(context->video_buffer) < sizeof(uint32_t)) { - switch_mutex_unlock(context->video_mutex); - switch_yield(10000); - // switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_ERROR, "waiting for video\n"); - switch_mutex_lock(context->video_mutex); + if (tech_pvt->context->video_queue && switch_queue_pop(tech_pvt->context->video_queue, &pop) == SWITCH_STATUS_SUCCESS) { + switch_image_t *img = (switch_image_t *) pop; + if (!img) return SWITCH_STATUS_FALSE; + + tech_pvt->read_video_frame.img = img; + *frame = &tech_pvt->read_video_frame; + switch_set_flag(*frame, SFF_RAW_RTP); + switch_clear_flag(*frame, SFF_CNG); + (*frame)->codec = &tech_pvt->video_codec; + } else { + *frame = &tech_pvt->read_frame; + tech_pvt->read_frame.codec = &tech_pvt->video_codec; + tech_pvt->read_frame.flags |= SFF_CNG; + tech_pvt->read_frame.datalen = 0; } - switch_buffer_read(context->video_buffer, &size, sizeof(uint32_t)); - - if (size == 0) { - goto unlock; - } - - if (switch_buffer_inuse(context->video_buffer) < sizeof(switch_frame_t)) { - goto unlock; - } - - switch_buffer_read(context->video_buffer, &tech_pvt->read_video_frame, sizeof(switch_frame_t)); - - if (switch_buffer_inuse(context->video_buffer) < tech_pvt->read_video_frame.packetlen) { - goto unlock; - } - - switch_buffer_read(context->video_buffer, tech_pvt->video_data, tech_pvt->read_video_frame.packetlen); - - tech_pvt->read_video_frame.packet = tech_pvt->video_data; - tech_pvt->read_video_frame.data = tech_pvt->video_data + 12; - - switch_mutex_unlock(context->video_mutex); - - *frame = &tech_pvt->read_video_frame; - switch_set_flag(*frame, SFF_RAW_RTP); - switch_clear_flag(*frame, SFF_CNG); - (*frame)->codec = &tech_pvt->video_codec; - // switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_ERROR, "read video %d\n", (*frame)->packetlen); return SWITCH_STATUS_SUCCESS; - goto cng; - -unlock: - - switch_mutex_unlock(context->video_mutex); - -cng: - *frame = &tech_pvt->read_frame; - tech_pvt->read_frame.codec = &tech_pvt->read_codec; - tech_pvt->read_frame.flags |= SFF_CNG; - tech_pvt->read_frame.datalen = 0; - - return SWITCH_STATUS_SUCCESS; } static switch_status_t vlc_receive_message(switch_core_session_t *session, switch_core_session_message_t *msg) @@ -1382,7 +1307,7 @@ static switch_status_t vlc_receive_message(switch_core_session_t *session, switc case SWITCH_MESSAGE_INDICATE_JITTER_BUFFER: break; case SWITCH_MESSAGE_INDICATE_VIDEO_REFRESH_REQ: - switch_core_media_gen_key_frame(session); + //switch_core_media_gen_key_frame(session); break; default: break; @@ -1395,7 +1320,7 @@ static switch_status_t vlc_state_change(switch_core_session_t *session) switch_channel_t *channel = switch_core_session_get_channel(session); switch_channel_state_t state = switch_channel_get_state(channel); - if (state == CS_HANGUP || state == CS_ROUTING) { + if (state == CS_HANGUP || (state == CS_ROUTING && switch_channel_test_flag(channel, CF_BRIDGED))) { switch_core_session_video_reset(session); } @@ -1416,8 +1341,7 @@ static switch_status_t vlc_kill_channel(switch_core_session_t *session, int sig) case SWITCH_SIG_BREAK: case SWITCH_SIG_KILL: if (switch_channel_test_flag(channel, CF_VIDEO)) { - uint32_t size = 0; - switch_buffer_write(tech_pvt->context->video_buffer, &size, sizeof(size)); + switch_queue_push(tech_pvt->context->video_queue, NULL); } break; default: diff --git a/src/switch_core_media.c b/src/switch_core_media.c index 49cd7ff432..c92b2242b0 100644 --- a/src/switch_core_media.c +++ b/src/switch_core_media.c @@ -9538,12 +9538,6 @@ SWITCH_DECLARE(switch_status_t) switch_core_media_codec_control(switch_core_sess } -SWITCH_DECLARE(void) switch_core_session_set_image_write_callback(switch_core_session_t *session, switch_image_write_callback_t callback, void *user_data) -{ - session->image_write_callback = callback; - session->image_write_callback_user_data = user_data; -} - static switch_status_t raw_write_video(switch_core_session_t *session, switch_frame_t *frame, switch_io_flag_t flags, int stream_id) { switch_io_event_hook_video_write_frame_t *ptr; @@ -9665,14 +9659,9 @@ SWITCH_DECLARE(switch_status_t) switch_core_session_write_video_frame(switch_cor } switch_set_flag(frame, SFF_RAW_RTP_PARSE_FRAME); - status = raw_write_video(session, frame, flags, stream_id); - - if (status == SWITCH_STATUS_SUCCESS && session->image_write_callback) { - session->image_write_callback(session, frame, img, session->image_write_callback_user_data); - } } - + } while(status == SWITCH_STATUS_SUCCESS && encode_status == SWITCH_STATUS_MORE_DATA); diff --git a/src/switch_core_session.c b/src/switch_core_session.c index 0515a2e205..428f8efe71 100644 --- a/src/switch_core_session.c +++ b/src/switch_core_session.c @@ -2683,8 +2683,6 @@ SWITCH_DECLARE(void) switch_core_session_video_reset(switch_core_session_t *sess switch_channel_clear_flag(session->channel, CF_VIDEO_DEBUG_READ); switch_channel_clear_flag(session->channel, CF_VIDEO_DEBUG_WRITE); switch_core_session_refresh_video(session); - session->image_write_callback = NULL; - session->image_write_callback_user_data = NULL; } SWITCH_DECLARE(switch_status_t) switch_core_session_execute_application_get_flags(switch_core_session_t *session, const char *app, diff --git a/src/switch_core_video.c b/src/switch_core_video.c index 885b24a377..435ac324ef 100644 --- a/src/switch_core_video.c +++ b/src/switch_core_video.c @@ -64,9 +64,13 @@ SWITCH_DECLARE(void) switch_img_flip(switch_image_t *img) vpx_img_flip((vpx_image_t *)img); } -SWITCH_DECLARE(void) switch_img_free(switch_image_t *img) +SWITCH_DECLARE(void) switch_img_free(switch_image_t **img) { - vpx_img_free((vpx_image_t *)img); + if (img && *img) { + vpx_img_free((vpx_image_t *)*img); + } + + *img = NULL; } /* For Emacs: From b747687bb2b929da72fcdb908b6fc26c5d4d597b Mon Sep 17 00:00:00 2001 From: Anthony Minessale Date: Tue, 25 Nov 2014 17:47:36 -0500 Subject: [PATCH 082/629] FS-7500: set ssrc from frame not rtp session so the ssrc changing coded can detect a shift --- src/switch_rtp.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/switch_rtp.c b/src/switch_rtp.c index c5592722d6..3c7bd12dea 100644 --- a/src/switch_rtp.c +++ b/src/switch_rtp.c @@ -7065,7 +7065,7 @@ SWITCH_DECLARE(int) switch_rtp_write_frame(switch_rtp_t *rtp_session, switch_fra send_msg->header.version = 2; send_msg->header.m = frame->m; send_msg->header.ts = htonl(frame->timestamp); - send_msg->header.ssrc = htonl(rtp_session->ssrc); + send_msg->header.ssrc = htonl(frame->ssrc); } } else { From 45898cfad7ed0829921be37f16d838913090a610 Mon Sep 17 00:00:00 2001 From: Anthony Minessale Date: Tue, 25 Nov 2014 17:42:21 -0600 Subject: [PATCH 083/629] FS-7500: better version of last commit --- src/switch_rtp.c | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/src/switch_rtp.c b/src/switch_rtp.c index 3c7bd12dea..7f472d69a2 100644 --- a/src/switch_rtp.c +++ b/src/switch_rtp.c @@ -7065,7 +7065,11 @@ SWITCH_DECLARE(int) switch_rtp_write_frame(switch_rtp_t *rtp_session, switch_fra send_msg->header.version = 2; send_msg->header.m = frame->m; send_msg->header.ts = htonl(frame->timestamp); - send_msg->header.ssrc = htonl(frame->ssrc); + if (frame->ssrc) { + send_msg->header.ssrc = htonl(frame->ssrc); + } else { + send_msg->header.ssrc = htonl(rtp_session->ssrc); + } } } else { From 978748ed096854d7a235f3ef98bbaf44da464c14 Mon Sep 17 00:00:00 2001 From: Seven Du Date: Wed, 26 Nov 2014 09:14:10 +0800 Subject: [PATCH 084/629] FS-7519: set encoder zerolatency --- src/mod/applications/mod_av/mod_av.c | 14 ++++++++------ 1 file changed, 8 insertions(+), 6 deletions(-) diff --git a/src/mod/applications/mod_av/mod_av.c b/src/mod/applications/mod_av/mod_av.c index c787387117..fe8760d1f6 100644 --- a/src/mod/applications/mod_av/mod_av.c +++ b/src/mod/applications/mod_av/mod_av.c @@ -122,10 +122,11 @@ static switch_status_t init_x264(h264_codec_context_t *context, uint32_t width, return SWITCH_STATUS_FALSE; } - x264_param_default(xp); + // x264_param_default(xp); + x264_param_default_preset(xp, "veryfast", "zerolatency"); // xp->i_level_idc = 31; // baseline // CPU Flags - xp->i_threads = 1;//X264_SYNC_LOOKAHEAD_AUTO; + // xp->i_threads = 1;//X264_SYNC_LOOKAHEAD_AUTO; // xp->i_lookahead_threads = X264_SYNC_LOOKAHEAD_AUTO; // Video Properties xp->i_width = width; @@ -134,10 +135,10 @@ static switch_status_t init_x264(h264_codec_context_t *context, uint32_t width, xp->i_keyint_max = FPS * 10; // Bitstream parameters xp->i_bframe = 0; - xp->i_frame_reference = 0; + // xp->i_frame_reference = 0; // xp->b_open_gop = 0; // xp->i_bframe_pyramid = 0; - // xp->i_bframe_adaptive = X264_B_ADAPT_TRELLIS; + // xp->i_bframe_adaptive = X264_B_ADAPT_NONE; //xp->vui.i_sar_width = 1080; //xp->vui.i_sar_height = 720; @@ -571,7 +572,7 @@ static switch_status_t switch_h264_encode(switch_codec_t *codec, height = img->d_h; if (context->x264_params.i_width != width || context->x264_params.i_height != height) { - switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_INFO, "picture size changed from %dx%d to %dx%d, reinitializing encoder", + switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_INFO, "picture size changed from %dx%d to %dx%d, reinitializing encoder\n", context->x264_params.i_width, context->x264_params.i_width, width, height); init_x264(context, width, height); } @@ -609,12 +610,13 @@ static switch_status_t switch_h264_encode(switch_codec_t *codec, if (0) { //debug int i; x264_nal_t *nals = context->x264_nals; + for (i = 0; i < context->x264_nal_count; i++) { // int start_code_len = 3 + nals[i].b_long_startcode; switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_ERROR, "encoded: %d %d %d %d| %d %d %d %x %x %x %x %x %x\n", nals[i].i_type, nals[i].i_ref_idc, nals[i].i_payload, nals[i].b_long_startcode, *(nals[i].p_payload), *(nals[i].p_payload + 1), *(nals[i].p_payload + 2), *(nals[i].p_payload+3), *(nals[i].p_payload + 4), *(nals[i].p_payload + 5), *(nals[i].p_payload + 6), *(nals[i].p_payload + 7), *(nals[i].p_payload + 8)); } - switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_ERROR, "encoder output dts:%ld\n", (long)pic_out.i_dts); + switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_ERROR, "Got ACL count : %d, Encoder output dts:%ld\n", context->x264_nal_count, (long)pic_out.i_dts); } context->cur_nalu_index = 0; From e3ffa736362f4eded0381c383d5a93c669fa63e5 Mon Sep 17 00:00:00 2001 From: Seven Du Date: Wed, 26 Nov 2014 20:30:42 +0800 Subject: [PATCH 085/629] FS-7519 FS-7517: looks like decoders don't decode FU-A bit steams, this is a simple implementation that works with some FU-A bit streams, mod_av works better most cases --- src/mod/applications/mod_av/mod_av.c | 28 ++++++++++-- src/mod/codecs/mod_openh264/mod_openh264.cpp | 48 +++++++++++++++----- 2 files changed, 59 insertions(+), 17 deletions(-) diff --git a/src/mod/applications/mod_av/mod_av.c b/src/mod/applications/mod_av/mod_av.c index fe8760d1f6..2c0b347527 100644 --- a/src/mod/applications/mod_av/mod_av.c +++ b/src/mod/applications/mod_av/mod_av.c @@ -90,6 +90,7 @@ typedef struct h264_codec_context_s { switch_bool_t last_received_complete_picture; switch_image_t *img; int need_key_frame; + switch_bool_t nalu_28_start; #ifdef H264_CODEC_USE_LIBX264 /*x264*/ @@ -212,17 +213,15 @@ static uint8_t ff_input_buffer_padding[FF_INPUT_BUFFER_PADDING_SIZE] = { 0 }; static void buffer_h264_nalu(h264_codec_context_t *context, switch_frame_t *frame) { - // uint8_t nalu_idc = 0; uint8_t nalu_type = 0; uint8_t *data = frame->data; uint8_t nalu_hdr = *data; uint8_t sync_bytes[] = {0, 0, 0, 1}; switch_buffer_t *buffer = context->nalu_buffer; - // nalu_idc = (nalu_hdr & 0x60) >> 5; nalu_type = nalu_hdr & 0x1f; - // switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_ERROR, "%02x %d\n", nalu_hdr, frame->datalen); + // switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_ERROR, "nalu=%02x mark=%d seq=%d ts=%" SWITCH_SIZE_T_FMT " len=%d\n", nalu_hdr, frame->m, frame->seq, frame->timestamp, frame->datalen); if (!context->got_pps && nalu_type != 7) { switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_WARNING, "waiting pps\n"); @@ -232,8 +231,27 @@ static void buffer_h264_nalu(h264_codec_context_t *context, switch_frame_t *fram if (!context->got_pps) context->got_pps = 1; - switch_buffer_write(buffer, sync_bytes, sizeof(sync_bytes)); - switch_buffer_write(buffer, frame->data, frame->datalen); + /* hack for phones sending sps/pps with frame->m = 1 such as grandstream */ + if ((nalu_type == 7 || nalu_type == 8) && frame->m) frame->m = SWITCH_FALSE; + + if (nalu_type == 28) { // 0x1c FU-A + nalu_type = *(data + 1) & 0x1f; + + if (context->nalu_28_start == 0) { + uint8_t nalu_idc = (nalu_hdr & 0x60) >> 5; + nalu_type |= (nalu_idc << 5); + + switch_buffer_write(buffer, sync_bytes, sizeof(sync_bytes)); + switch_buffer_write(buffer, &nalu_type, 1); + context->nalu_28_start = 1; + } + + switch_buffer_write(buffer, (void *)(data + 2), frame->datalen - 2); + } else { + switch_buffer_write(buffer, sync_bytes, sizeof(sync_bytes)); + switch_buffer_write(buffer, frame->data, frame->datalen); + context->nalu_28_start = 0; + } if (frame->m) { switch_buffer_write(buffer, ff_input_buffer_padding, sizeof(ff_input_buffer_padding)); diff --git a/src/mod/codecs/mod_openh264/mod_openh264.cpp b/src/mod/codecs/mod_openh264/mod_openh264.cpp index e78c09f07b..1014a8ea9c 100644 --- a/src/mod/codecs/mod_openh264/mod_openh264.cpp +++ b/src/mod/codecs/mod_openh264/mod_openh264.cpp @@ -59,6 +59,7 @@ typedef struct h264_codec_context_s { uint8_t last_nri; int last_nalu_data_pos; int nalu_eat; + int nalu_28_start; ISVCDecoder *decoder; SDecodingParam decoder_params; @@ -139,7 +140,7 @@ static switch_size_t buffer_h264_nalu(h264_codec_context_t *context, switch_fram switch_size_t size = 0; switch_assert(frame); - + nalu_idc = (nalu_hdr & 0x60) >> 5; nalu_type = nalu_hdr & 0x1f; @@ -150,12 +151,30 @@ static switch_size_t buffer_h264_nalu(h264_codec_context_t *context, switch_fram if (!context->got_sps) context->got_sps = 1; - size = switch_buffer_write(buffer, sync_bytes, sizeof(sync_bytes)); - size = switch_buffer_write(buffer, frame->data, frame->datalen); + /* hack for phones sending sps/pps with frame->m = 1 such as grandstream */ + if ((nalu_type == 7 || nalu_type == 8) && frame->m) frame->m = SWITCH_FALSE; + if (nalu_type == 28) { // 0x1c FU-A + nalu_type = *(data + 1) & 0x1f; + + if (context->nalu_28_start == 0) { + uint8_t nalu_idc = (nalu_hdr & 0x60) >> 5; + nalu_type |= (nalu_idc << 5); + + size = switch_buffer_write(buffer, sync_bytes, sizeof(sync_bytes)); + size = switch_buffer_write(buffer, &nalu_type, 1); + context->nalu_28_start = 1; + } + + size = switch_buffer_write(buffer, (void *)(data + 2), frame->datalen - 2); + } else { + size = switch_buffer_write(buffer, sync_bytes, sizeof(sync_bytes)); + size = switch_buffer_write(buffer, frame->data, frame->datalen); + context->nalu_28_start = 0; + } #ifdef DEBUG_H264 - switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_INFO, "ts: %ld len: %4d %02x %02x %02x %02x %02x %02x %02x %02x %02x %02x %02x mark=%d size=%d\n", + switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_INFO, "ts: %ld len: %4d %02x %02x %02x %02x %02x %02x %02x %02x %02x %02x %02x mark=%d size=%" SWITCH_SIZE_T_FMT "\n", (frame)->timestamp, (frame)->datalen, *((uint8_t *)(frame)->data), *((uint8_t *)(frame)->data + 1), *((uint8_t *)(frame)->data + 2), *((uint8_t *)(frame)->data + 3), @@ -323,7 +342,7 @@ static switch_status_t switch_h264_init(switch_codec_t *codec, switch_codec_flag } if (set_decoder_options(context->decoder)) { - switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_WARNING, "Set Decoder Option Error\n"); + switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_WARNING, "Set Decoder Options Error\n"); } } @@ -478,24 +497,20 @@ static switch_status_t switch_h264_decode(switch_codec_t *codec, switch_frame_t context->last_received_complete_picture = frame->m ? SWITCH_TRUE : SWITCH_FALSE; size = buffer_h264_nalu(context, frame); - //printf("READ buf:%ld got_key:%d st:%d m:%d\n", size, context->got_sps, status, frame->m); - + // switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_ERROR, "READ buf:%ld got_key:%d st:%d m:%d size:%" SWITCH_SIZE_T_FMT "\n", size, context->got_sps, status, frame->m, size); if (frame->m && size) { int got_picture = 0; - int decoded_len; int i; const void *nalu = NULL; int width, height; SBufferInfo dest_buffer_info; switch_buffer_peek_zerocopy(context->nalu_buffer, &nalu); uint8_t* pData[3] = { 0 }; - frame->m = SWITCH_FALSE; frame->flags = 0; - pData[0] = NULL; pData[1] = NULL; pData[2] = NULL; @@ -507,8 +522,9 @@ static switch_status_t switch_h264_decode(switch_codec_t *codec, switch_frame_t width = dest_buffer_info.UsrData.sSystemBuffer.iWidth; height = dest_buffer_info.UsrData.sSystemBuffer.iHeight; - // switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_ERROR, "got pic: [%dx%d]\n", width, height); - +#ifdef DEBUG_H264 + switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_ERROR, "got pic: [%dx%d]\n", width, height); +#endif if (!context->img) { context->img = switch_img_wrap(NULL, SWITCH_IMG_FMT_I420, width, height, 0, pData[0]); assert(context->img); @@ -548,6 +564,14 @@ end: if (status == SWITCH_STATUS_RESTART) { context->got_sps = 0; switch_buffer_zero(context->nalu_buffer); +#if 0 + /* re-initialize decoder, trying to recover from really bad H264 bit streams */ + if (context->decoder->Initialize(&context->decoder_params)) { + switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_ERROR, "Decoder Initialize failed\n"); + } else if (set_decoder_options(context->decoder)) { + switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_WARNING, "Set Decoder Options Error\n"); + } +#endif } if (!context->got_sps) { From 2538a4b2a1ad737114a1c4143e4d2a4b74e9f9a8 Mon Sep 17 00:00:00 2001 From: Anthony Minessale Date: Mon, 1 Dec 2014 16:39:18 -0500 Subject: [PATCH 086/629] FS-7509: [verto] add html files --- .../video_demo/css/images/ajax-loader.gif | Bin 0 -> 7825 bytes .../video_demo/css/images/icons-18-black.png | Bin 0 -> 1968 bytes .../video_demo/css/images/icons-18-white.png | Bin 0 -> 1988 bytes .../video_demo/css/images/icons-36-black.png | Bin 0 -> 3859 bytes .../video_demo/css/images/icons-36-white.png | Bin 0 -> 3861 bytes html5/verto/video_demo/css/images/loading.gif | Bin 0 -> 8026 bytes html5/verto/video_demo/css/images/login.gif | Bin 0 -> 19582 bytes .../video_demo/css/jquery.mobile.min.css | 3 + html5/verto/video_demo/css/jsontable.css | 65 ++ html5/verto/video_demo/dp/dp.xml | 58 ++ html5/verto/video_demo/favicon.ico | Bin 0 -> 12862 bytes html5/verto/video_demo/images/ajax-loader.gif | Bin 0 -> 7825 bytes .../video_demo/images/icons-18-black.png | Bin 0 -> 1968 bytes .../video_demo/images/icons-18-white.png | Bin 0 -> 1988 bytes .../video_demo/images/icons-36-black.png | Bin 0 -> 3859 bytes .../video_demo/images/icons-36-white.png | Bin 0 -> 3861 bytes html5/verto/video_demo/images/loading.gif | Bin 0 -> 8026 bytes html5/verto/video_demo/images/login.gif | Bin 0 -> 19582 bytes html5/verto/video_demo/img/cc_banner.gif | Bin 0 -> 36820 bytes html5/verto/video_demo/img/logo.png | Bin 0 -> 9761 bytes html5/verto/video_demo/img/logo_big.png | Bin 0 -> 70654 bytes html5/verto/video_demo/img/logo_med.png | Bin 0 -> 22847 bytes .../verto/video_demo/img/verto_black_web.gif | Bin 0 -> 11569 bytes html5/verto/video_demo/index.html | 407 +++++++++++ html5/verto/video_demo/js/jquery-2.1.1.min.js | 4 + html5/verto/video_demo/js/jquery.cookie.js | 90 +++ .../video_demo/js/jquery.dataTables.min.js | 155 ++++ .../video_demo/js/jquery.json-2.4.min.js | 23 + .../verto/video_demo/js/jquery.mobile.min.js | 10 + html5/verto/video_demo/js/verto-min.js | 218 ++++++ html5/verto/video_demo/sounds/bell_ring2.mp3 | Bin 0 -> 42630 bytes html5/verto/video_demo/sounds/bell_ring2.wav | Bin 0 -> 232748 bytes html5/verto/video_demo/verto.js | 681 ++++++++++++++++++ 33 files changed, 1714 insertions(+) create mode 100644 html5/verto/video_demo/css/images/ajax-loader.gif create mode 100644 html5/verto/video_demo/css/images/icons-18-black.png create mode 100644 html5/verto/video_demo/css/images/icons-18-white.png create mode 100644 html5/verto/video_demo/css/images/icons-36-black.png create mode 100644 html5/verto/video_demo/css/images/icons-36-white.png create mode 100644 html5/verto/video_demo/css/images/loading.gif create mode 100644 html5/verto/video_demo/css/images/login.gif create mode 100644 html5/verto/video_demo/css/jquery.mobile.min.css create mode 100644 html5/verto/video_demo/css/jsontable.css create mode 100644 html5/verto/video_demo/dp/dp.xml create mode 100644 html5/verto/video_demo/favicon.ico create mode 100644 html5/verto/video_demo/images/ajax-loader.gif create mode 100644 html5/verto/video_demo/images/icons-18-black.png create mode 100644 html5/verto/video_demo/images/icons-18-white.png create mode 100644 html5/verto/video_demo/images/icons-36-black.png create mode 100644 html5/verto/video_demo/images/icons-36-white.png create mode 100644 html5/verto/video_demo/images/loading.gif create mode 100644 html5/verto/video_demo/images/login.gif create mode 100644 html5/verto/video_demo/img/cc_banner.gif create mode 100644 html5/verto/video_demo/img/logo.png create mode 100644 html5/verto/video_demo/img/logo_big.png create mode 100644 html5/verto/video_demo/img/logo_med.png create mode 100644 html5/verto/video_demo/img/verto_black_web.gif create mode 100644 html5/verto/video_demo/index.html create mode 100644 html5/verto/video_demo/js/jquery-2.1.1.min.js create mode 100644 html5/verto/video_demo/js/jquery.cookie.js create mode 100644 html5/verto/video_demo/js/jquery.dataTables.min.js create mode 100644 html5/verto/video_demo/js/jquery.json-2.4.min.js create mode 100644 html5/verto/video_demo/js/jquery.mobile.min.js create mode 100644 html5/verto/video_demo/js/verto-min.js create mode 100644 html5/verto/video_demo/sounds/bell_ring2.mp3 create mode 100644 html5/verto/video_demo/sounds/bell_ring2.wav create mode 100644 html5/verto/video_demo/verto.js diff --git a/html5/verto/video_demo/css/images/ajax-loader.gif b/html5/verto/video_demo/css/images/ajax-loader.gif new file mode 100644 index 0000000000000000000000000000000000000000..fd1a189c21fed1c7ba00c4bb4fad407bd6d1e5f9 GIT binary patch literal 7825 zcmbuES5#ApyTy~7eo}yd8UkVpXkY*_Q9y_qiinOPDmsj9qNsz4jwlKWVnXkP4hk5G z^b(393euZ^(u<-X0-}Q58OQNIb2H9b_uh5y|K)lgvd&t0I1j(IzrDZxoedl9%vT>U zCKwYc2!y}>`s>xJSC1Y&>gwvcefxGnK|xANN=QhEr>EzUBS&`b+-YlTD-Z}c9FCfr z8i7Dy|3!9K@3h0l%5gp4*aRT{{nzgx1}L9~%AfM3#smWRmumaQ@4U>9pSbO+0$LIPtr>H><{{!d^!|HwbAIt1{-+7Ta2>x>}r<$279U7FR%5w|JIQ-7uka zgOwiqlR{u=9DeWlvEEZ6R_mcX_D>?!>0WF)7j`|0NDVG9f412Pc!v4~*d&C+3h)FQ zDA^3X0!Y&NfeCKe#@31Xe6SRh6&ou`vnqJkFWuC?6;s23t|!&A5d{Rda8R%jf~qf2v__<&*>hT?j;)XK+f ztS03*6|qPPs?5Z>TZh$I&;Xj@2w}WgW3jm-&%UQ8qdt6vFQ-g#l zFP9MgVXC(Igxa%BYo*{KhHakWKByrg(VSRs#f^bSS2cz>%S1mlM=i0srSS8cvWrsR zVQ?VjptL(mXJ^iv7-~=@^G`=&?Z~k_rh}cO`KG&P^m@>5mnBP;LPi5$_HRPN9j(Mn zRSmjPkNp9LUEM%Fd(cV`wV7PRgvA{i0*m6PUHK9}Lt~5neh@}b6xp}K^n3aq>r3D- zY?OqWg>w)9JOd!YQx`91fbr?PP%R`AOuJ@@7q}E#q6M;YL4HPAl^F~{AXHQ%sB68^ zY}8uU-ofkq;U2#e?(SpXfgfZK^MW4uJ<`V}5MjJ+XQR_ zk-wpCJ#mr%Na(wvfPh_G6!d|eP1#7I4PuNCW#3qA{4qpHBef0 zHC9{WUT>+Wt!uS}J8pKG!F_!#J%aweLqo&;$b*O1LP7>7^e3NA^TR{Jo*QG6VdPi( zdqPoc>Vp;*_6d7G+ucZ*`iTTl#iY7V5)7Y=|?9n=^KTrBx}O>hwOGVyhkcFV0;y-JHswxK=BXRjL+Xuw<04-vi60w zKUJ|*RhxIJ?>XlQLI{Fk2z`;+ab{N2QCIi`2dHM=88f`vr%Kj+s6k!&2i0A zTrxuQiS%@BE~3cFF++R^pk-+mj0m?2RWSJ8y>h`#bF2I9og?A*LPkb|gL@wd#)JDO z`QzxuXO_V)Ue1}lelhdb<3;GlUrRn=IOUJMhW1li8~h~e-WfR)R1c`A0Sg$1>g7ah zM^!4nXqLrlRi&(7xP5A*cRx#wt#9f&A=kaVnrm0$c9fnIl3=(mUEqH($H8s4W966X zh)^4*UG%R#?v+8=7ag|Vi8xlFwKH8<@>!;~>ML338V{xRws)Bdn@g}584&Z?7Hl<?dh(AhJ@%{ zT!Mw77j%hnkWLhqjO)U2aVNEsGcIwFG-8lE1*hnuIYb@2yu658l2eA0Z(q05yiKMw z-eESjQkyl~s8m|VA}Xb;``-P9{j^b)p#`)7m5GOA>JOewJ|)b&n0@|oj{fTP{JRey zfBo&#@1Otp@>%VhMpb_qVj~stG-!XD;CAhZ9=7|jzXb(ZGtw?#{tbT%DmBQ%=`&RY z9pX>>)$UBz{Bw!wl5KWm)bFe-iUt1+iGc_oUpf!- z^G8q@rRzsr0h6>%*?36YMSbMt6#$OrP=ZSn1!#W6HEjuA9h`22R2B*-eKJLe-R(dcD5Il71~>?fJm?#P2SEY#`HL|XbP$+*PNUN1UJVLppa1xEkn}s_ zle?uV>qo0|a}>~-LC~?*0T?jhH&uibN-Wt~!zOSmBDq#5$=QAd$dhT&A}SMz^t-a6 z{gcV8Gp$!IZ#p^Yv-0O4IaWC<}6I4|E`d1!o7Wj;gu7GO?hlH@Ylnq1am9ZvNH# zs_xcuOnTM|^^>C8y~EsBnsRWNUtk0igTsD-;x*|%%3`o9Y%~l25MK_3Ttt?U1=%?j z7ngG>Hw(!WbEF~%HltQo3!yq7lSA$5qELlcJ1U?Jbt{q9HSmYVl>-U`q#4kBViKL1 z0Y;yU&drl1Un*x)`2N*rA^f4|_oi(n`=nAcRZt#`XG9RmkfGCzW0RD?SfS&zO|7XV zf?<2y{nS(sfgpQi?eXFhp`nA&@kM5ci6reY-~E_r0 z?(RFiLS&$IScpCV#w@Y%C$|Pj6Vrmnr1|GBjN$ot@C_e)PlA3m!hR>^eafg$Qb`d} zkw52mG^jMJBUYM^IC`=~5}zT~mZ=<(q$QeY4Kun_^~VUZMchsC1eN*?#QT57PubN^ z6B54D&+9jf)lE6Q=FHvIvjVJF$AUIAl6UfX*KvnnyYSC($j&A9iFRLI;QyS}`pd(> zgZ7)-*BZel4Z1q%TLUs7=BoI5u{v=LDj8Q3H-RpF3x@*V_kDVwL*&dvNjnCnA5jq#qY=j7Iu^NUBks0Ly~FC<7rs1FXna z+)#llE268+uv;KnD=eynn=FxAP`fz_fIv_8oxY)g{Gq;)G9^`G@w zxlY$o+O4>yRI&QPmpsd=IDPZY%(yF>0cS6sPFjsw$WIx@*g)QEmq3A1e=Q^^FhnaN zI8qbV*cFqg2NJ-Pq(xV*rY*dBB_mUQZISF+L7qBLT3YO_C@Zc6%5M@B(=@AjtMAG|x<5(5tQ+>IL;t9@ANQ#nav%#pF6 zJi7A<0S|7qCB=wxM4d-e3uK%-JDq-R^`M16eoZ{EbK9xI>@v&s+OLAo&0cglHofnd z*LkkGkW1d-4+oqK=3(J58fY5Li9z5i@CD7pq~uf>LNbJxvmq!w*9a>ti!U)ND9ou8 zpk)wTeX9^Gtm7-dMzGl!YwNyigm$;x*GKxG0Up$MXOxWreHD+H5b)$l@hI|a{*m`x zbbcO-s+)Tc-1L@bbdd-T)f|Uy8l(0fpJOlx3U=)#*qwrkVh%Qili&e=hC3_?V^}Vy zkIc^4mPIeL!Dn@kL{NweTuco`u~{7p@vbeDQzZngMQdvs+IM9wDb5Uv;!LX_%l}@- z!JlOGjgA&-8D-~h6@T%Zi0z)?Xt-Pc)2Vi`0o}nVI4OI#`oy!@W~ya`UV- zB-aehhTtLr23=Q_^DA#aH;r%Is5L@wfHe&~qy+@a+PH9MXW>0I*4vppz=Vdus}DMc z``La)CqK_hAj3UUnGsN%P8qzeofN{8$@TL+IcQYxJ4Rn zyY6n$y_5B31yA?8u4k3DMcYn~W43z_XZ_6ZI)CA`uNL_T8j9iufowcX*_opR=VN0d z5{zWYFm}ZlO^(Yj!eZgr9Q{1F6fWXniqdj!Whqov#m1oe+qG=8p|Obxw<7JDb*=H; zDliBQLYLc7aBQqAGIKoh(b$NOvTPG4dC1h`fMUW6A|U6~0k3C#F0v8&Y(7`MDO#5V z&|kbfw>*HUhJ)x=oPmt$RUV&uh6xuIuC+P1*;&kuROf1F5H#O$T7gmXR@a^K!|MaD zUN+xI%ojC=gNv%)xRZm5n15=s)8rmU+qe#;UqUu{@cO>(mecY6>UgV_n>0Z4U{=fv z)~ZcG8fPyYjHf>Luq|5~5_Qd^Ongf3abdF6E?(Y^58Tdk%N`fpOs!QcTWD}vi{gu7 zetcZHd`C(`^vMyCsF#cv7oVgbfuy5XczAkt1~)4k$>HQ(E7Vdp>576gIQjE zU6^QwLCr7}ECc`{(tNLh4-kmNIzD=@c}SZ}8W@-JF>n;>S}o3V`sy-!N6JTu=q~37EM1>=63A*i<<{4_C&tB%kytaHclxM z=k;7(oOlD5eY=V8ZAVMmExi5B;wIE+}z(S+e!Z=`x|q^^1F| zE8edPezO6yVA@aGdfA%Bf4|HHhqQA?3<#ahhLt-?7tQTVUK7wD5%E@Z%>*nH<#uj} z2-yExZ2&-Y$=*JTflIJ1jz*xK+R!CEEHa8s@{MLi5K@=;CX=`*a!s0)k;%exu5t1? zp~YMUpab88OLPn9H<-EAw+xOEpfn8_>TIiSK2}F?JJH%j57qB!>FZbTYBPL5?;jXK zjYpn7qED=Ab8AB`@BXJ3ulu$*{!bCv;M?=|lJp#MjE<#l|7ECf==sgXXh@#RSi%C5 zq@MMK8?9AgCDt)PJ0ibq7O5!C)6P>V6v0JbYyW_Npff&~EW-lG-b9iQVof2Zrn)C4 zom)r2$#|{+N=gE)b4zgnQkaAZ$yjxDJRh$l6$8 z(f&~rt^|N~eGHkJzQ=at;2>%I74%GNaC#aYeejThz4`(`L)D3z40G9j!v*S&b1yf@ z4>XZf+4Pm7SFFYWE?srvS`4EFz7=)GY}n1S zB)ny}fM)LW(O4qft8G^`;5vEec_+sqcvt9M>!AK`_q(ri`Cmv6h2+RHY+0ui1$Kc( zEXkW&8V@}h#w@a{4x1XJ>a_3hmxxsJ9&hmR-n)$^@D6qt(!wKxf=Qv45i}|_DtO`hch+z*6DrXWIJ z+7&Fh8iw%*QCjv2$$EgXz`#~cXbDxrZ1Bz5u5S;vMlSwiRhg$`vL+TXVTzu=MQhL~IyDoU1xuUq3WmjC2Fwj*R)y00x~a3-!`?Y{rF-`U_eTa+1}8NllC z2wKW*VW|?FinaH&*H2$)c;cG!ok%X2+#L4G9PARZVB zNAN;V#Bk%V1WsIF3KQ@HJkyv_R{_~NT0x-z21mSCHdEV*?B8WdBbbZMeevRS z5@SuaWDeYeP zJU#!$?RGZ$Zc?k+#|O=etIbPhFYl*?sC_`2!?uYj+OZlr8pmSz`I|xsdpz9hChm#( zu*$t>CKkmG+y_se&03X4+v425296ZH4GgQ7LHcu_GAZf?EN zakuLZW#vHoP#4x?(e~(W=e>>SBV_p5fmg5JynXk6<+u5q@;fK6{QXfqTq-#+@=~r5 zlpUX98A%6@(#3MqWjwd-ay_rQPU^1urOS{&fpa#ia+GL2xq0((il>|MhRngFBs4&q zEAjLX*T(_RBQZv3{0Z+QeF%^PiD^7A1CV8Na)Gb{Zc%C}yQri>D<`wKiVcBvV1A7X zTo1Z8X`-zcIv8hL_uW%L>LKVxlJEUH!^7o9Gy$DE_!xpmxwJX{ln49_h7p`g{WLde zbcVg*@%ve}y<9A{g2@b%_FNSx(By4Tx24FP)!>IO;(L5L1!{zTu%WRSDH8{+1AjN) zo#8L$tdCiU>DcCGwUIe(nQjutQd` LHfkt@K(PD|Q{O_Y literal 0 HcmV?d00001 diff --git a/html5/verto/video_demo/css/images/icons-18-black.png b/html5/verto/video_demo/css/images/icons-18-black.png new file mode 100644 index 0000000000000000000000000000000000000000..791646384bf6cf9cf0720c78cfbdc8ffb6d94e7e GIT binary patch literal 1968 zcmZWqc{E%57Cwra+a!n~YH3#bDS$nNd!(P%WlZf+0%&PFh+Tm;}3^0AR#^0DNX<28gV#u8xe192_-qKVoBJdwO~R!elbR3c!FG zPyj}N0y^MEAb=ZC11vxQ4u*jaa0Dkj@C69405bMV?d|QL0Pd}=tp^I=3f0xs z;A{MS7+{yg5Y7T9@+QfZ48h+62_7851E#GAI>zZtE(7?0K;n=v5{V@2zX)_3XkZ)+ zT0#d{LBcCY*n^3KaRPb=vtyh)-a%s^JD5y5%oGUdTn2ZX%Y^}tq{Ek2M=_O(ae$o$lP4Sgb19o8%J_mto!=^^{71 zfi-{V>1i*m@xiwxVB5Q=tsrjfmo?hi^yMTrwFkcETNn6Jq=~& zS)1UTL0?psmL@O#F();btXbvWdF*n_4VPb2-z+H}HXBy8Mb8dlUiJo&^EV&7pZWO- z!i@9~lV0Qv^+|eODbhywm0e**Oj9FT(?wxlDZ_0i-_+D^USd_A8Az$9ztrzJRya({ z{B(@SR)=j9wIzF$y;el)CCuxK)yDLvr@B5hvw7n4ejqmo7ZPY1F{aNN4LOXcd_1|3~!5qY=H? zEr-4f>SWouHlVpkZH9V~%I^h;{R^$+@9Xy9I2A z>PeLRIn$qiSNO5}Uc!oFEh!Zz-`qyYrg}IY;;at(BRBk8N}RXP=_)0ML?7iing@KG zLq-QbJ}i;Ws79(8=AAb6D#J!me`%v0LOSJHIcGGpjICM07)<479$o*oRh+0W>Y7F^ zGPtmvc721ua+{H z`P1LMHdfl+86sdk1!JCsaD0?A1tr!zq?nB=;H;L81(iU}Lkt6*0GbTLX)Yo6OZ~lz z`VS|6Dr2qnW}hrnTB@+oSbV3iS2iCmTw@990$)Aq8rL(DSuP7q>8wTz<&~O4B|m=R zo6*@t>y;&SDDBF`m)3Nm#h%jV-o0|3YK3MCpS3fK^nAHWdN;0G{SxYC;<>>v z4JdOj#(e3btb4D8mRp+m@SnAk-o<)?Lr>mCm9zocA-KWhx8qPhTgB z6PiRMjkSzWo3euE<=?6#J48n_#wadMyQ7-hy9zAPCm-I*V7``f9izsPERkW=*FJMiI%-2l%YdILVG4SF-9FzANwfC^m8#5L}8$x2Oat{~zs41eSIk2mh7-T3|=btJkH8t{QB F{{sZoU`7A{ literal 0 HcmV?d00001 diff --git a/html5/verto/video_demo/css/images/icons-18-white.png b/html5/verto/video_demo/css/images/icons-18-white.png new file mode 100644 index 0000000000000000000000000000000000000000..3419b81f6a8896807e1e6af0f14c8415fbe39da6 GIT binary patch literal 1988 zcmZ8ieK^zWAO6lJFDb?_VcNWA226zx%qL=ea-kb3gazdA|RA*`5cSHYsmWh9GE@ zi!=2g1R(;leUFhWB^y}i9t{sABWz`x!RtQD4-GO3!Jz03g3g*hDRPe;0+Oe01XC-dYHf<%<{QIEVw)!d=M%aB=lht0sRA1 z5}JT!Q3?O7z|93U%wkXvqe=W9$I&FXoX<@!AL7F0FmRT`d@duMHH7At4-sGzfy5&4 z`2^#_dS?iduW+H-ABs9U(|?lLe+2XLBh$FCHTNf13PoM+wEBa69h0^N4K5AK!?6}? zCt4DG{I?$0ZMVg>$DC9z?Bd?CezP_H(}sdV=8hkDnK{eMpy>^Tf3H5y)y;>spTBzb zHAl2dBwJL;C7(Ug#{U*hPZ2o>DUB+fbykiU))93*u6&lc6f$VioLppWv{QI6_|h(X zSNq2Fk_Sfm_uAiIb-)Q}X?%=a5aJKrBlKfCA7R$EcX#4(b*U@DeO?JB17FUW`qdQO z(OC*%YE>;e2|mZTOu9934XeBz)g#r=Li4+CJ(uO3y{!`y?g-m7OEKoI3K1$b?$@9! z)jXBrf<$w-Xvpm@4Px&IQPSHs3gL-ztq;FH!XqJ^!I1|Vo4mTR=}X8YW)_N||0U6mDdCMfB+~kIkNNgaWR^U#@GKq&$*lzRX3) zjw*`AsnBA^D3Y|vBmN>UgB7FI=Qs&wu()n z1tu}#J5IkYsL8okkc?QK)*5SjKnwag8yo&>TF~qmK_gFRj;N(WOMMH!ZoZiv7PiX$ zuKJwo0S$KQhMBtZ^63qwSz<}x*u?4Dh6W$2cLOaYPhEnGw`jzXapt=%ui1B&-u)sz zATKlCY?AZET^z}GIJ4jExFl%7SsIAdfU;CDu&k+Nn-S@$Ash0URQd(~f-GkG2~!d) zBdIxd26d=*qfft^R=rq#&{~v$h$8D%nq&KXD)x4cyzKOge#EFa!64UGT^^ZL_jOLw z&JPSP7h5VQ|0O^y^jKIB^YZ7MY}mxBUABxuuAE)ST;BYu&>pGLuBl};Ip;7&GI(>) z5$pXbqJx-qt7xk9{Gy@T^rCrpf3c2W*UfXT3Kx)us(&X1U!;(BvZ^jNJbw1);2ZI)DRb5U+8&^dy^q4MaJ&mcu9Nezc=); ztS46xsJMW3EwQV}mQ&VCoXB?jI;xyKh+5HFNbF=If{$Xhjk2*374cX4lC+o#+SIP&`G4>#`K z5>aM_j`;ACt;h90F!SP$m?nB{oyWWnUDw*36#DLzprl*+i)489mzN3PG#OI(Rm$mXwG3faivnnySuMkH(KQ7Lo@UYC`)BAC=a<4=`ftG%RgAjxOV5he`dUcj Wp+wY%7)$WSfLt68P^&3{m;MJcl$Lk^ literal 0 HcmV?d00001 diff --git a/html5/verto/video_demo/css/images/icons-36-black.png b/html5/verto/video_demo/css/images/icons-36-black.png new file mode 100644 index 0000000000000000000000000000000000000000..043bfcd521163a123843f15ac2fba220eab51d05 GIT binary patch literal 3859 zcmX9>2|UyP|KA)lhD>tbG!|+|g{1FLGIxfgjB4(3B<5VsIZD!Gs&9^vv&FZPg^64n zlAKW?x0sM7@q7ROy&sRy>+$-$UeDw8`aB-n>Q)Br61gKt#@1nma-uFeb>= z;k+P1y!K2&AkavAYbOivhQ(s__4Uzcw2F#~k&%&%j0_Hk`~3Oy?(Qy)MmvB0JV-z{ zBO_yQaByX11rCRciHZ69`!_Z=f&?5u0bCG44y69(e~Um6ShTjbR#sL5H4uRm&;$_x zKm_gp09XL&=;%lyk$^Ir%?2*ufJ$OwA{Yj6L5oVIf-aZ=004_fB!U^hV89pX%*@OH z3}6Afl9Cbt23!CG>wp7_Km_1H>-zQUK=Z|m7k{mRCdfe@a6#p-AOM3LtPE!Un}7(6 z00xZxw+jXUyZmJV7_j@R2^4?@z=KZ#BG>|mg9ZO0!S~$U+~jbIhe0pux})t`i0a?7 ztZJ@`)Mt#VQiwEmI9^}B+*}`NjyKoG>znJV5{cnRB+?u_NTe!WA5duESsq^oQJ=C* zF-NMF)5gQg*$f6de4MRHD@QU^*=(SQL^75EiBe9aP>A7-az;6rpF*LPQ^Fl1G+#j= z!rf=g|8a`AxHM!^@d+c*KCy;><6lb@DT(NF{m)egwy93Av=Vt6WBB?@L)vuSjOeRd znU?OG#~&nbXEjfxOemoe#jtRd#FLwnY=cl!>ugF;!mHXiQ2JxVDbPn;-p*^PjRCKD zrlhaz$>BFQ5@n*iD*%b^m^J5froCLo+3Us;gm=IOd0&8e&(_(vd&yl}Fv1(|AIB0#leN~pdse`QP9K*8)7!x~y~owT(RLfYJL^8fRTTwH8* zdc*uQKCHI6p%40RrNOu0aA;^kf$06%zODFz;*N6nKV1%(0EK|e!j5%+8mzu%m5I)^(npOa6>zpy7}~jCkL<2kD%4-g z+(>sYWAhm#~rfCE)f{nJF2q}wqH2ESzk^c=`HH2+SeZHE`OIG=r<$k zH0`OJ7o%&J)}?TNf5@HSq6lw`ce{ej9MAf^8r@drz2Qf84?Wz(r=+m-cJEUjaaFrb zx2wCJT|Hm*N{Ha?ohdN7&KgFj|y?VUES> z+R(S_AgGZX0(K2C-1$^iO;$7R-8uNF z?nY!wU+>N(_>4OzQqfGuye`HEe&e!EYnON>Chm#MpbJ^5E!00dP0-xj(b zxY@^=#xifc$!7@(6J!%Z<}=8Vx%p156dRR9O*qo(o;nt-LP&p6rWq|;t-!+$R_7PF z)AUe%vr_HImjelU69V+tUZ*53Xjy!Mc}0cpyYN^+ny~k5#^g}b`HHxUWmXb6Dk@QU zeSRnr63@K?cP`4#I9znk&y61McV*1m$kR?Rr&-!sL`rN}57IQr*W*FBo6UGEY1#HQ zy7XqQ8Pms$X4aW1E78)Qki@OiEhJ|ZM+W|wkFfHi)t0E`u#9*mOQ4df4Fc2mHy*5u{K;7@V;2j`9PBOB4x z?l9h^l*6bd;b!r}Bwfkc7ymuV;?&=s=vF_C(b8YTc)@TX0fx5|IOXF0cMM}moA(?; zpSy0Qu(VzDx|O0F+ZL)u4?T?E4td}r6YvcV`z)5@VA5_$6@ObMF3`B*++nWmElNN) zoBKBh$4>B782ve2?K#6sCmq(>4f`F5zeuf!3U{kAuBfnFU9^XU9tq{AkKnmAVfC8c zvV&6HbSbkyY#CZP2cRSHy<+N%FFr#bBfZon4AK&^r~|Oh`I0^ZHlPj{OZ;N}6;EZ20UIdhY2y>u|A0vHIz%2>L%K zAWSmaob1ugLm#cv9dclX(;?)ETJiI-o&i0THtzp$(?=~{!&F5vx1kv~GSD{LYy8YA z#UV1JMX*h8$=n)`*No--X4ZW_X$foZ9Ra`&xj$+f&HmdIhfC6W*8~Ix9vv))Yj3C+F+(d$R+gHQDwq-F_SE zy(%NpXDX41&6Ynmwp2d({=Jb|J@hL2A;H9^{=v{6oVYBqfSSTDZA%x9w{?*akbZLI zQev)-vGx5EjJI}!t&|hKw-iTVlZPFd(n!M5K$oU3JWJ=4$tH3INx9+NB&{O1_$u!H zxl?1Mi?1}k>^!Dy+WNi;J-VRXxO9rT-wb7_m%PeCve6rgx6gXrKzp6N6IsFW3+Q~b z=rGai^ba=OP;<&me)tR@w&kZwG04>O@#&cty*es+$J1FOe+D}Y#H317 z1csjt4ru20bPae{^|KtI0R@OHW0{$Lt?!{e!98c&p9K}Nj~@w&P94|XIxLvo6a;UR zU<3@~w370zrc7cB_*fi9N8U#=K0-+)=lUhwWOp7%Z3X+xKVTZe9Q*1wQJ8s*hfI6d z`ug>V@*1BjH+!(-u-GA~QZ>kuQrA~^3;M|Q0iC(~ zJKq;1_oFDxAf082Tq5~zlsrV|AMByBqW=G1Eb7wOrZ*hb8O&o%|Nb%!B^_eYwK}7u z_)WfMVZ2X9&~EixA|Js{C^AuHc$BhFP=zJG_-kSBYj_IX+OH#XSF^07h;Ip7G8V|{ z%7PLz4-!##RHQ5v&FJ&pj|S(`=dJs^B*-z5Azo_33%Ag-J68O3+&<<#)-yqwx&A}5 z2`e{6Hv9Opzga?a+??uuH@iY@nf*cEO;MMhcYEBq`)@2_9pe$*RZWg^ zG!RrnaDyObgZmIjUR1X+Ri2j#?>^V^v8kS;oU59-fA|%VXBBH8)@#=W9lkd7?x~-X zVgG=~XLon^XzpZlvPb=s-v6_I*1KmH<1ykB?+{W6Vb#Zo*kDl13o9AS$$fAP*0&>} zb%~6!rOU?A4L=2G-(UU!?RKf*F+SD|MR9*Yw3dz*P#Rp?^TH{?a01?y47Eygv$v%P zGz*h@dgE5t<`;He-uzXY1^Ky?Y0MWzcZ|e*=PWM&P6R)|tRIHQnIWM)@;Xe*oYCf6 zHn2+ugI_`dO&=1pF%wzBC2LZ)7}%)gE$zLL`K2B~aI;9CA|8}E{B3zM(H@zj()6AAViTnGY#1Dq4={^BFhO6Bh zxMlW2w-e1lr_3Z>%T>=P>{Mq&Wy^bo`Q!zw>Cmfgzw(Q9V;@t#??};nW6np4t`1eL zl41@XEzOEwb^cU?KPBQy+E4R{crKF5;9v~ezR8eSA^jiiuCVir3bqrx$B&&QE-MX+ z9B;4vJV4FMQc|Q>bqBU8#WnqlGP+k&MJ~(y6hE)(+39m{IJ#lvr+)zjzp~VBY_b~b z*6|eK?4-BhwnZ9p4XsIG#CYG_7tCC;_yqa!;SrgawKv7+Oye85Mb483vV+8MQC;G^ zs+Suh`dtksgEBBYk{%BE`nhY~f~QW*xaMi{;Lod%B=$>f5D##y`NLkLUFDZst36a* z4|o~eXuWu~Q~+F!Fh^3WQpI%mGgxZV>Yr(rzKqZ^N;IO)I0gzKlb`4Cv`xzhO~}qz zqANY0P!#Ab5wq`jA>@@%hY44GYYUf2)8>Jb$hA-N;Eoz0cl;2(J2cVPr{3X2@Q~HVBh!A<>WQnh+yP*-b=-x?g=X##|+~+>`d9UmJq&3P9sA+0fJatz*!o> z3^L@xJp(~7@3|oAP@iq88`_E2?4$C?(Se5Fq4sy0m#4!r~(hb6&PAlQUV+T z9M}LfPy$twNH~?9Y!S|V)oBQuagCKx| zDwy(j5a5FqfK@;PQouZ@0vhlM_5y=I2`u|p6Xd@;f@J{*7y!txU%!G3{ByxQGJs%i z38DYS3L4LY#x_i%(G>SSYLGP+TZ+fx@zz*tEFSCb9>nv%z=Mp&qOH+rDjL0lUYVqz zSFk{U!h;X$n+&2(mNxV?l=e07U`u%#(C9wEUg4qg@Bl>$h3ekW;O@I zsWi@*hHu&*kH;Vj57M*;Trb!%U%1Z`RBMcoWRc^KPrh-=rvHA=8on-{UIWuZIKT4J zV=586$4<=u_UHJevsrX(#og285-fTBEt1&+n!)GA*fra388ejx4yU^fd+ukGx8etO z;RVjxO4+LF1iID<E zbHv#;F9llWH8uVAGbf7ExV_ygML#Q_h}+iBSN|+9my_eaVm4rUieRO3_H&e7$2;ZZ zsGZu_?-nSk|Fz?tGNj&)P$#*QUjO z;e8HiO*=J31y)j|_O!1rUbQpF=fAmDPO9G|mM__=O;ZCY=}}MBt_;~B*w2eshqT6o zVqrBD0rHd6Tok^%K*jyL$?e=rhl(_rM$^SV&2;ougLz8lDFa(~&A%33whnk@h}SXw z`7mc=KP9L0Ro%E_Ci+?Vh}=W!oPe70#an(SS6$#t_52BXCQ`D98kZQA?# z>iNmGBm0>`;zFgfkx6XyTse1y&9Y#N^hcyADiWqGlvG`qvPe_BH*Fc);5YtKxUHY_ zK&D@lE)Y7t1|PlQMD&|D**5>K6ONjR%_5ETJ+V$aFL9xjZH0-~6y=vuZTCa?aRJnT z8B)Ht6qhes2hRoDJjHgMX^z4c4=D*Gtj?$^Kl9n1_3bfjeizICM51|b&YDXkBcOaik)1?Dv9mmo6t@Y`XZUNUq z@;oEIvy-OWOJM3}X!&xq;ZQGV?%L{fVxMw2N8sg(&k@YAAADkwk*f<%%`6Q6E*GUS7>;w`*OBl&3qRYH>+m2{ib7HhD)KH|xjoHtMeBp! zy&6v?KS3j;o*lkAk>sX)wE#e+{Cymr`0VB z4LNa%8E6*OvXH4#d^I=%=2!OmB)Y{fs_JM1k4dr5PwlyXNE0$|oZKwbE~niPH^HIX z8{*=GNn6Z0B2&BVaLTaj&49Y0$;;|zgnc(kfrWueXgT5P4fPzF&q`W>&i)H-ro;1s zTy&okvx|Skgh+E$CsTEEmR*!|hJ?iP~%>+|4^bDk&-9|CamKL;k6rq(lUL-pe8XI`mWa zNQ+n!Qc^%PvbE=F3P~Z7?S%lh(SD_@+5sZo%H-k;7VP zlGhm7Id_TNhRxP+xI=Y~nDw+NzjSSOoa$8j?Mb|Z+C))C1^u+*c~(>s43k&y=sOjA z`iM&x_H547MH?O6T=5k#(t&-F0dt_e@>v_FK`%~vz0jL5*X#?l#KFoAE#))KGx4fn zKA*RbOsemyCRyH^M)t|p`qUL?=v^!x=Z`F4>0Nu$W!3#?R#Y|XcU`p%r@Pr+X3*ui zleO$9Qjms!Q$uyKW+h6!`18;#b60qD`leH zzh02pRXt{3L@AU%`tQ3J64w|DFI>!S&veJb;v`;t#soTrhm$k(5NuQiQL5`@baZqY ze`}tz{FB}#-hLW$S=cL|P_>EJ#zx`(J;k>yVUKe2Ml3l;cH(b_#NWTIb4FE1+qPJ- zReJmanXPu*Mui18TExVCu&Os8RrbAhz_5;kAtB8aX8cBqtJTJ!+?dUdk2vG)`$b-? z?Z#D!vwtiIUM6zcdYKc~dwWt~bCpW&$L=2!G!rwScW-zP%$9Xq4ZHA>BLe(B8`Hn? zGDee%m0AV@U?q+^60VOfH0zA*TM#Pjc}-K#z=_{3PUj!G!aoMPFx#Qg;>1`GIC|oE zK@ZmU);Z&_b%6zpb7OC16!vLmI}dBfQPO0Ho1QBzYyf zKHA6&f#l#D7_Jr_M^1x#2HYOid-G|-!^78UpDu0m9{#4S#|r-chDq@`g$zlQ%x`vj zxb}Mt%N3@HtpPU0DKaFL-q~o_chYl)#d|HffBeCfJDVnlMx49lmuK*YvcJqSm*4ml zBhQg1YN?EzMYcSsgP7B8DjwzDhobD(b8{PaMqNX$@Jjr-CQV+mtwr4Y=V{*`Y@NCySMR$eh%Ib# ztn}0$gL}x#GAWiJgv3cFcqbfXk41Cqye#E2G4YHMFK>Ixh!1LV*$E2^TK=GpjP>7c zXpy}1_()nS-wP zuU}W!nJ@odKxll>HtF^BY1Ufn|7Bw9`=EcMzQCY!MX`xA{-rI)b@-{#kz0?oj|6HD z)-Qe5>pjigfUZ5zP#vE8la?{~U5C5A3IAZ&xYf1H+lOjTicVF$6PR^&;0{UD{LZ+2%$SV{UbLwyB0J!-le3JgV!zV5S=p zGSu!mo)u)7mK!LDxhoaKmyfYD=tJextg;ML;#sxBy1Ag!n(&u~(EHNDUN6+_)aX^2 zk-!?Nu&QPB;B&Z1n(^ZA;zIs3PkPbMb#3srB$MOq7W>i{Wl03F3XiL9C5)v3E#5l< zrZ;1mAPB}Q3ODV+5_&ZHhV8YAvW<>bNx9B^yM;6J6w_A@)ddh_q;HO|)FVax2TOz(M*si- literal 0 HcmV?d00001 diff --git a/html5/verto/video_demo/css/images/loading.gif b/html5/verto/video_demo/css/images/loading.gif new file mode 100644 index 0000000000000000000000000000000000000000..fe378daf0c984d1a064f56f31b1d3877408f4a16 GIT binary patch literal 8026 zcmZ9RS5%YTy0$|SdQIqv5TrM$DxwlfC;_B{sHilNrUHVZB8Fb2Hvs|ZRYDUKl#W#C zMT&H!6Cflcq-?*n|9`Kw_j@!C-Z95Kc&>5H`=0tpJ+-S2;Q(g$CdL~9Eq}tBje7I|?1)Ig z5-E#E#O&#l)QOYNE2m}i_?dlT`vzh2g!HOsFZSm_(l|DK?C|II>8E*Y;ViCk37a&6 zDW1bE9+A=}Prj`YVulXBte(~{pXScs2Dgb73;2osv!!EF&n98vkd!-hw2CFIVM!^Y zn7vbS>FhCvKneJ?GY$c>Mowt`v<>ve0Fe3J|d8N{`}nmw~af)pHYUk@DvIa zOC*o%oOW;EhPLs4PR?fb2@`v#JsY@%L*h1$w0uOwoRUX(P7ev>hNY9Pb=>o=-51@v z%SUJa-Mc$@QrqfD?;qUQ?rFjp_Jl~D*d=UW&+30;cW|VpzyELGCiVyhatS}-K$^3 z_H5u+j))`*1w$aWt`mm0PkT4Q5{eMnK__}LB=zj#tPcRajHj334{ui*Caq&+;j za~=O{pKwSdCr_O0;K_4`q?#rC=^3Sa1D`y85;JlIwB< zp9q!NMAynvN6SoC`Jy6-1^@tv5Wuud04hN4?;7wACIAL1fXpapfX-_VVc?Xp>qUR; zjNlM8%-$THE@ok|KtzMxbKBrT+MjwSqoCc%QkLadeb5a0&Y5F>igZHmP}Y?jg*(q& ziiUG#uOyf$)@=@EswMwsX=7#{DKXFE-N_((!-;CM$4yO!JQeUN*Qei! ziQvk)WV9`ZywPQkJM}1EgO>x1ACs(}ZB5;H-H3)&zu`P*tZ0n3Zw?y=0t#%EX!+vK z>%_(4*n|25-0XWR-z)y<1!M<@XNH2d2D3~HxSf4YOhE$oJ1@&$^P!oOl~x@2*4(%& z&}QCoM{{0=j#u7OJVP;oTilRV8vt;&tALC2N!n2P7OuO9@h!}1fR90Kx%(uNgIk^W z^)A04(xqy@V0A<3H{g*hxNH5WDg5@#pIfrvwE|%`CTBF*Y#7}B9v#Q%UVT|a`$43XBaL`c5sJwWb14k=`{U7tSo&}!C#|{} z*HwV>b=L`6pp--yH6ATL7_aaP;e=KwI0!U zm%h*lcPsTrO81DXx+Ms0hX=6ypJndpPWIHO?VzN>rdjUX`tm}NA|_ujXPuCgo=?iA zyOV@IR>q9G9T$SAtvF9pToYsUaaYq`)hOceYd+bPjA=G21GJvz-P@AC%OMxFJXO!i z9i#o{P(nM<30?G48=m}{hRGdSXnSz_3?yZH7UfQ13Pqy*q|yp&a>a}}!~g}ep^oqU z@4o8-d#hKp1>Bt51_*MhBGE6fC*h5ODaK};bv~ohoWG&VN1FJ2cftxlZ!pmKz9AHNC(3`ppf?+p-tJD ztF``=!s1}bdx_P&Z5?&y>6R#zHOyNjun&OZ*mR7K$> zhZa}j_pPkC(2Q2E!OS1K;G5KM8|JPizYfQ9hfU?0opLezxbIp)gu!u>-XhfWLQT~*TRzz=HCgwEU@FRmAu-@ui$l7jpu)70fI zy1zPgd_V`0Lx}A$dKepbt2b0-ofolnF)$XO_^T)c$|+sQP93t7s4#giuQZrx{l<{T z&?-?;NimE2n_6+SeHAphU7PMlC`YAg>_=q_R~|vmsXmiE$4haU+}!g^3fB{2;-i*B zK5wUjwZS_yZ8c8l%P*^JKF6`PiD=iwdWCsN7u@zV{wWq>9eFp+(6wE=<6K9`Py4HR zR<~HDq?0*YZ}-t;>EF?o%G9OO=7&i#CTXVfqJOcQ`bTCAZR?BOa1J+Noe(~k1X4=2 zq=i?~={xILcOBo7O z;Hg$r*1piOWE!RkWHw8XaAcnVE6+6CpUSQ*X#s@&WGbv<-z;*ul0ujIdoaG>O^T+) zndC*)sfSw5kJD^q@ABpGci3oN3lVT{7MY!zV(?wdfhWOcCx~ecZki!p%#KV~`*BSL zejNtsMhRjQ<4q>Il@K1og%FHGc4pYcyNPBE`!b;nN!=Cxed2WUnO8&}sd;Ko&q-ez zJpRUp43;7(F78qo8Snec28vtID$O`lKF&V~pBSODWZ{!SjC9FNpq2t7ry0C^fn4{` z>`M(qSX}&rBWW)<(uZobO*1k4TUrnR4ZsPY_%CTu|G%^t^D~Qdfn_utCyevFW%xwlM$%gs!?~fh~=dDaa(utbgk%=OcmQTYg;EcMA?=b;WBQ- zOqI+wM-+c=kiL2D-dDGS=l8tq6?$ciDHK+@CJ*M$^MB+lT4tU&wKGR*U-n<)f7l(X zP(9i7a!KJ*uGU>1`I)<0Z>`bAp9b$>8;5K)hFk>Np}dmWT&#nMu%Iifyj&B3Ompaj zzUG^3_7+>cgCH3mxd#Mx?yCDwM?kvH(Dtl!R0j~@cW3D6tk`UVZQ?L5?z63i1t7&0tnpI4- z=5huW48R@PRsjTUoyqlU<6JE+cQ}Lwq0o)tc>3h~4cfen1aVAY=QkKgV0E?uvA6*vR?8 zxGZn|jr-d{n&6VJ-Mug}K$eGkYA(wq_m+#H@)t?vpxAYSlvtm>oq*`ocx`o*uf}06 z%iY8?WDdy(Cg@k)QCmptNP$q6sGI;x(rnyb_jchjee<;uo3Bjppk5v~Ulc6VNc4a=A ztq5(6{%k@`2v3savwYHzT1g{|l#~%cL(T!ANcH42+ z0Y4MVEGw?JMOjOaSDE}BG2rtJZhGf|%*kk;JyhxAYvJBvxAuR1y$k=)_j&|X{{0OV z_`5$$QA^pFL$bKJ=?UY9kg z=HziW)P+{H-OW}jb06EJ-z}yp4p>2dJx5-BmU3F~lI~~8sth&i?sKgTF+Hm1HLCLJ zx!qJmp&7Ng!E^CDr}8A4N#SJ-dMl1r#=YTmu^G3&2Z}ZRG&s%6YrT{%tQBk5I0+8` z@GWV`^iF_MienU~jAoFrF-y`% z@dIBnA$Q>MMVsNOfl#!bB}c%4 zEWI#SSO<=71g*uPX{P|@R!G9TVM6OdZNrSYuNr0+wdoIyW-2u);fOMqwF zs3550=MVOn>(6>_Mh>#W&O6Hm&yqN9c=HCA4uJ%OJKsF(2_mV99;wOTA0JAE(C#;O zn6}6zEK&6GPBmi}V?Z(S3W5ILgj>w7YQ=(3CmW!LTy27R=X^Wmm1+M2Cd6Nu6#q)) zpB!{%&Tq>Q7otdo{=Xc=e1^M>6O5nsnchaDO^E zR?V#sB4I3MnluvNI$oTZdhHsn-i`jIS(r}5)YWZew_!EW7wYF_7)6H4kXv@$>Jw%I zN=9iI^NEMd)A7_aMe-lIcgYfus5R!}?vJ(KJ{7u2zNPz4b9)7 z?J`7Cks4)GX)B!F!}KfQD&gQ}aewMnhwoW~t8lqoEm?|)vu}rtu~?2t)g5ofX~uZh z_xJ9e@Xk}?{P*u=K`^p~krfiOq{V8Jeytccii@UiH|Ue9q|ZI?v<+&PFLfHf%5W;Z zY8}+-NG1Y~hd#vSvVAwl&n@x4dkdmGsMxo|{xN<5!QxGQrVr_V3oYCjT~t^=+ULC) zWwnP1E<6May_mLkvVYzGW_nR_nszEzc>0YaEM$~>Mp$y6-@nI?^{?<>&~21DInnK| zuEuLpT_8Y$+ty|nU=nI2W4DArK2)}2S2Y69hidvEA6v+=BgRwoSiu%g_;nN$4 zCXgCg7UZFy(a8?i!DNclam7BTlka4^>sf8OqH^b4f$H3DouLov7w6y|5BbkpIU_T4 zvi=?yYkDZXnjRhxL2X|!!4=F!TC~b>FwBP0E{IylF>GR*Q3r$(d5m|#eM$8lOn??g zOlPMfh}nqa)}X1np1EgD`z1utVGo9B%)|`V8NZ$Zw<-spsP2Rpfo>JDTZ{eq0=00g;^WLmU;C#V) zg#i-T#dD*h%TrIuJ;ug+jvYClZ@)SAWoP_>NTc2<(OKt8M;LnkFx0@&UiO;gWHNQA$#YRzuO#?~z(8m4>-nT*y z5hv^C>fxJU4Fb(EYhVpL$BGgR#YpCWsSrdois)*dr>PGsH5F&3=!A!SL!{{lQN4D=>a$x)qqJ6PLekG=m0uNr;WjY&qbO z>Jm(x_M(VrFe}Ug#>=+7y8Jc+@e3dT`I21VIff`3j$vsC>V|**@VpIRu4k{A;dG?Z zmGR+ZttgT)ieL&LVOHCpB;8Kd)}X5O{?hiz=+()2$)x?$;fWV|Sc4BBvvk3lW4jO* z=^{Y;fXfxLS&&HQE}YABm7rf-3Iv4TVYJ6=m3-`=K4Q=@$#<89znw_nu~hXZZdcT# zrT0OYCtvMU1!HO}Zb~&_cIpxg)pNveq!Nc~W{yA%G*%5w= z<%sEyzi#+ z^yy$p{TV?kUbLC_MU&q-!4Me0%){|-h9CfyzoJn3mnxneo-;r%wfX*!D*jex&YRV_ z-7$O$Q;NNbi_uXqooGSAQ{$dw9zS1I22|ldx|r$5!N|hV{$L&Z?Ri4Nka4VD?SdFX zWQlo!bKrgFd{-$gIsJm~g9Q^8(%-(#K9Uu0sOUvlpWPt*(ek)h?J7!Cf$|Kt-oK+? z^kEKTI}>O~fsFK5GcB}Iv7rx>FpP_Os4We~YnMe}Rq~t#H+-gJwE+Rc2DnVsN{%p@ z2I!33WNsSzIZy2hvlQc2f%U$+gIcIU_4IXe+1H8)2iKBnyVY>%wI`Y3wzZk(DP!1$ zdu$>Y@@g8v;QEVqYmfON6 zX@O}oX9xgDucfvx*@OuoCBBHo!Ih3IU<^kpCaJfIzr?m);>{ zw)4C_U!)Y5GJOFksYBYk0Qo)3GFxzCE-7wM*@pTBmMnjnM3qe2qmarjnJD@juI+g{ zwGF7HjylHMjz~r{k4KfpNJ^v)^T2avC++F*3RAf0m~L$2K(OqSnsmFw3|3rTR{7VR zXmw5TLV2y=mdvrcPxD4x!{?YIFcrnEREe_aqE7jsnD$#2><$2R0I4=wjssEeCRS$$ z2W=_)!GoS|wuG=|VOeL;r_Cfm53pAuX#^@*I8rqbba@0puWXv4L&rR!d;ss#%hTh% z(Hz=w{o;(MZzh!8tb@xjBNJ<4Erv$Y*+~|L@x1oxIQIHab3p!&ITG@Mg8!!|1|EWg z4QlecV}Og;jvD5_nOlg}cKL_GJ^chJ%Zp&`q%|fl8K<7g=~{7=kn*!vR$`^aLjmd` z+9|<9kA?u8VKUZy?WM!!*=dI7OBoWzOYDmci~J^C0ab=`zLx~pJk6v5JyWsvm!%XM zuLli-{aph?!i!7{1TUugvdYC9ee zIHBVe^#YHWFt-vEsEN12P+)Gg-x3ULTv5SIs!}7gO#6}!%uM^w%tBP14Pry7QhD}o zpcbVtT4;ZXJu`G8!2tzzOb}s~cJYr4wRUbY4P{l%Tcu%T$`g%Z$ZT>9k=kq;rehVj zod>)M^G78qs!HVq3)mkHb63ink3ug{(%0ccL|&-t6TAATj62(T@fx7K;M?4RmENO_ z$M56P8ihOyfb2Dfnw*V5ptc^LGzw3ZnCn=zf@!(#qGT05 zI%gvxoPRdvG$qrpvK(Ay*Ymnt!0eel;oRPd2OUqDtT3HqFOe{PQ^oA+PL5#@10NwJ zXi)c*W43p_9w};!n~aLB>=pfyNhfgCPYKnZSv!A}XW~^h&h0%iSUMzn&LP|ip}JD1 zp$U%-<#X{HVH!dXdxY`{W_25U;n62o37FVF50mJYtMsch@Yh0kHaZ_7K_XPqYJtZY z+V|)m+CpjO-UA;a1aE6{Db>6&^iq!D31!B1ak7PaKR5Z`pwRr4!+$44MgG>X(7VLmA4D4oCB& z;-PH1)WYqpW66;q#&B-=S6E?MKBIJ@q9BoStM^DX+jlbKsPHN~OAC9zWjO;|=Kk+p zOZj0{U``9ivhp;izfT%Tf<@s6xwCg9S1yw!*MN~8fmJfSXlJyhxR~0kPK$5GrEhVx zbjPly_Z>5stfcy`b1WcPavbh+Xug6q=ypT$Y zYNMKqex2)S{oO}>b1(D4*EX=tmD>-Jo=em3P;C*^8#EN*-F!YNlqvTmt(P1|mr`=k zRx}Mq&M~!8)cC8ew(E~;CxE06Xe$=d7vFIal2RQP3kg!k<+0AcnG7V6leNt+I&Ur- z$zU40EV@%8I;_`!S#U}5*Z#5eBQ=;!(DJWXaDn(YN=4ngH~&cz#2M4@bg)~YMy+#3 zccNBc(lVzpkY6i&5yCOzHBr$(kA~pWV!Ui`iH*a+$F!I zQVsi*h)4O2s24pYfv2GR@ej&_+Ti7SV=uZhY`z}3!*jYa=j9r{%V@#Lz02W#mWo@^ zG*l9kCp^qf#6wa~=xn%lLO@H;Hx2j;Ts!f6ZWz=Fl%#{#dSnX4j2d5rrNK~jucbiDr-z3qdyiCi*HDE>G#Rtk7 zKhLkjGQsceyL(`cbQL-J7V_S)tM9jZ8dy-y(nvtqt?Rn82g0-6$LA5(e2pJ6a)rK! hWGxbY-XOM86p~q)uQ#@^Z=1m7ka5^G`FG5({TF4*qYeN7 literal 0 HcmV?d00001 diff --git a/html5/verto/video_demo/css/images/login.gif b/html5/verto/video_demo/css/images/login.gif new file mode 100644 index 0000000000000000000000000000000000000000..9f4f36bd9a5d2f6702fb6249c17653ec732fd3d7 GIT binary patch literal 19582 zcmb@tcT`hL)Hi(63kfEng`UtuGxVwk2)!7pbVHL+ga{U}h7fu&Kt!6}NKv{0L9vG- zO;J!mRMeoTUJl|UH`~N#Qo1dvk#D0XIK zJ3GqjmVl34;kO&?;=IUlUKAt_M<(Ma|7IeQOm;RSd)bjQ1EiU9Ae?+4TzVTPeG=eI z4wq&xX{I=v;hfEgUS>EiJL2sY%F}+c(NgER2Cun>05d!3AUHFMG!yM8xY9VYh69v_ zOuGO(V#~iZnM|Qb8MiYd&b2tNUyTcQCdPRYaneL2N{O^cDF7e=BoZkl|4~7TS&A3M z%Z?Hd9!?=5DP*Y>cFta26e7;fSxU{MJ*K3jNJl=9;w)`YC`4&Vk@8|@=4?kaGczNT z$zA~g*GqV6MFK1~d;o%2T!kz8x{%uHG0pS!gyOg+q(iBQ~ zc=)KmY_!2l`aI5=JX&fu*J73#Zbl?i!ULScIW9arB`(g)&N(wP^Xk>B2Qo8Dd8Ki2ahWNZUee)+WF(H*($GM$bEepNg{P!Q z`3Mh>dpbAwbndA%0Z3dxfLBYG^lItqYB6(mrZ{^E1kynSNFo`B19%4xkj?C*?@>BG z`lUQyy_%VMAoIWhX~B^xr956~X=y+}xL7P6y?y)k=;-Z#i8Rg4-JX+v!pxMEr%zu? zQ>j2IN2#DxApKAcEe#Yi%GIl*qtbG9^yBNRWFnb&fY&8(PDzO)Qpo?#+W$w1ye{MC z8WiZ_#Ben?r9wc`ZplBOFch#2F#dOlf0qe>Tn9jaB*P=jAjj292R|-4MbpP=I`1Ch zHx8E&Es__;dz!|Ml3a?_?CxrDiWK!Td;%H^#f(YWUHJK>`9{x@`+z}Z%DraaYU7>?ww&Yd7bd;Z=dZ5JxYKXen~Vvo}6ZCKS!56WA1m~*wMPpqe3}- zQefAYAXBT8QN_;=Y$=X33~wDbd2wE}I9w=a6n$%;=fxOb+xw(X?HW_ez4_%(rp?CM zO9e~UY8Ut3H3K~F+fs%-Z?}2^T5WcgZyu5Lamn71LMH6{YRrlQm`)hD|eO}KWY%HmWkGmX!sOG=;-O6ATz(yBJl>g z9mc&k6;HoAhcm11jG5kSWa4$-FQx0;Z1UsIh$s6UOfJl)$)pX)MMapj-{9^l+&U(N z87rSj9UP~O1(_8qV?oMOis=Rrx3rsTi_i;hzgeLtGi3KlrO`aUBL?qsg?&T5>Eh}Q zHErvjh<&k`-ck8|jv29<4-$KCXjEa$ZxSwdW{fJ0{a9`ysNziq+>KwT6DP0q+_-M4 z5QEZA2ZW<$kjIt23flTAt;3ktFIQ`~1s>`bhV9!_GZh^-wP%i*u5LXSb3E$&T+rD= z=V#MjSe<{k``PdQhJee#uGZ)I>!49H`>TV6x?g=`=?Bx1NQ`#<7w&~ed&d5Jdzi8H z!?z~~hBjS%Ss(ZG;=|+T-uF*&^Zl}yjvk-6saFbEXeRW`%El##HA-}#AKE=JwnL0)PAf|u=Z-_m*Nza{WP z)6!We(&PLKgfnV|0*FbEWj^bvZ^=|<)8&JNwlXB%yz06 z`4ODYp>lqUFxkjjq)qFH(Ru2T<`;iGuC}o^kex2`r=L_VDYW=C-csThnx8x_!f4)i z&yR=3t8H4|a>@5-@wntZIl{ewC@=1}f8|h#&da;D z<3Ia-lQRvSbza5O6=VI&%XD-MJ_qpPQWtd|<&K;C?Lr6jClsE;ypkWw8a=v+e^g>{mvkidQ$QU$j^!p0@xllC6unt`?y{rQkm^soA)RPf zt8c#Kp;wN&g()nJyu0lom ztt3K@ZUIYj2D;@$lm;=Uk6*ke4|k|zG-whh<7NfPn(B!Dd-6e7baRLGrsaqgmRlLB z93SJ8lD6;_Ug(>C#q?m#Es;>c#V$`~@ticN^E*!!Zz9X9nj z9>hUMY)EAS!S_n^eVvtWPl`P5563*1i~Targ8sbBK@ezv$h zA(`5jW#0+#sw(zX7~i4V3)PO-BDNcF@$wkBRp}7nXdzom(Fx6_K~!c6;g({M><7K) z_$$Ob6)|TUOvy>1wsj<1)m+kjzB2Pee;4A&{jznITMu9eCNf~|dIW1hnI$FAB$h`r z7*gn-;;C~hihODwAk|yJJFA^g4IJ&^dxfKxy$y?Dx44RZHLjN8T~+QiT8i<7Bd{_) zM-MT)E?b+`Wh9R;9KQH9?__SQ=kU)L_f`gwz^C`wjdG*6`_@YFCa*jUKgHoa@{uZbmWOUvJE65|aCTfCpmhH9rdp%bT{t2pc*nR%5m3_JJZ zt~!HGC6HDu;w86}OO5edRG8wyw2z_cz$-kYk)pmmFV&ZB-6e1?Ek8I^db&C?#i<>$-M+IXZcChkgr#*O!)7?``v5`q2EV?h-Rci}%* zna&!yDrQJx49K|n^gJNQ={0lOlEW%loBOqJ{->JOn@Kp0r9!+J zM)XmK7bWhFdJj(*v$tuB7oW*hf&kvwL)kj4q4uR$VWc) zcIKfVsBs(qP{rSH87GGRQe14+A?>ej<%*~d0FdluOZIYl0#SZcNP#v^q1o7nO$cBj zcT9ui$w2C93;hZcg%RAv3{^vT#>+F&VY5CRe4k>(_UX@@l4`xy3d_5QAg`*NZ}Hh0 zMAxHM_KJ()`})z!BJ`d9V3bJ45N2Y=f|pOjfobTLRmgQV!Hvqbw6eet;y8N1Wj+9i zpif@q9UefR&0~9=IT#wWv&7A{^^}~yEy^h`hr2$0aB5%RHiNj@3;OaEpmuSNx>1)@%G|3`Pz z=Q!uk)?Ijy90oC4u|Q?JYf(`j-5XXUxOZqz$Ts7==x_SPO&-OGOt>EtAc-MpA+Qwy zTLKwiHi2cX_ofx3!+~O_ffWU09%GwXUbO405}&c{zcPK5k$XyrK@-UBM+N%#T|DNR zt;@e<&Vv?5=i6Jwy$)siNT7;A`;~$+j9=pR z3|Qd(k?H{8AcmOJK;{5MTLk%dCfbt*14%%7s{k1X+K~-%U_(@=0S{$NmvG0`eJ*}t zsLU&aV+NtFLB504Ib-wwGC4WExX{tK!kw1BeF^?PM4Ru3jLa42@wuHfdzfZLPQ`3^ z9s_BQJn{q%*l-|JVTD>7SidJ2AqQx#0vsCh%f8xFK1^vEoPxspypwhB`cfz@dEfLAuAJW7 zbkOjdvYeD@a_?R@>ago_MKDtlpvVL{;h-1^*g%Ai6G5zSL7rk{3k@N^{-wo_@AKXE z)MaI#z$!N%jxgYnKgKI>^nQbyt^e2IL&zLsbs^LffTyiGAmZ?q00P$oX5heNHrQqw zswg<3xR!?~5O}OKdXPZ+s{mUFk&z&%9KZ|*;e-PwAdsOD)D8e4RMa>P8B4=kFDt%q z^DREU$6MchcJz4deho}9RMyb{nU}MNmABX>{(7|!lZGf2s+i#MmBM^000t34Y(>Wc zS6Krpct29q)t@-jB4`5%(YA^>AVDB$AO#v|@)Dp&0`ylwIzpVQ2vfqq?qRD<>~`wO zIu0@P@XRwHY}2K|g;Z1;yM6p_P|ZXwo&#}BIq9J) zx|OG-u&Agb0xOB(a-@DV8^C#kkWA18%P;cWqQzM985&F`TXi?{hnVCj79O_FRhNAZ1MEnEa4Q^DGz#??Z>$1{DC+7+%G zs5J*HheM`_5GfJ_0tZ2^vjHawm?nbaRzWHNKAHwgU&RR6=-m>im*lec&E24ORzb$) zV@E4#qabED%cJ{nn zulHq7enX+>DPiW8$yui@L%3u;Ac2Gsi%?9)mEJt#+sA6*On{BPx`B*i@)6Zk6mt&K z*#tLTgvv4@N+b}91l}kC9}ppqtb*-mU~djcj|OpP5Z^{1riGY2BzX7Vc_h1{0hrzX zY%j%ig@z38mbtOg97%l`Wt-{=xkSqz37o`$4M+3>>@f1k0Zv?U@vIHX$*Mhp7M(1s_cjLx3p`#$FDp6zMjeK z-jHkqJy>%wqNcKc1l)tJhru)0m`4&=Fa!J$S!KGs-z*ppFkq7Vm?_+yFY8w(zd54B zG_a}=tj`ANiNLfnFe@9PvO0ACIV@TNpQ6h0Xz;Dag1^=WZhJ$=S~zZi=^M%HnSIv_ z@~n}dyFbh}doJzO)r0TmV|}y{xCWERcRt`X_!~F0`PH-+gRRgZ#S*rh+b)a;6R=(d z>G8otK3ETcQc$-Xa*Y#6@C+)d6F{f)LH*OQPr^M^S+j2p#SRb0`y;aP9s%&|ptYsF z^}4bde1w3HSg)9$_{3#+;uCPA=7)5Wor-6`ZZT?`3%@q1F(EVnYR!bmimT_rrgl2; zhaBW7>c9nbrBy_PYs2v={q6{?BGss9!zTYtJ9-riC&BB$l_V+(;|!a*JJ^UclN+>^ z$YWo@o6dB3+W<<^H~Hx|U(y$sWE8c(}>P+?kQ(H(QRK zu#U&#GbHfSLM-Mk>PI3x7eH7{gJMr6Dca+k#J2M1Va{m9Dh7J4LNS=5Qp$L7h8jze z#j~l%9k^FZ?ynx?zkahUpxn)jMc=x7@~^hU1E_4e)Q8p5j{k z@a`OV8b6&!L%3WE{{B6++ON0duuuJaNrhiTbI`1y`@+Q2J(^{LOd9gtEBFI6V8KKt z&jWA~NN4qm&VIt^Lt6W0G{(#_f{&;osaYJvD8^V;3m=hg;GT8oA7~{cmJDYww%5~; zY0PEx)g0tsOABR^nkPBGA1|$|D&5P=3fwG+oWzmdLm!skOJm;l6Qb$>0K59YWEyM( z9Gy%hB;&%>N;EMQ@Omb?bDfj_i0zG?*_=#k-f#+)_!HNygr9u3KX`h+leVe|ot3$| z9W{Gieyd~0+Onz9n(C&|)S$@i!xu9Va|D7<|3zGF+p=EBLt zl8kddq6eVR^&wQt>erq?Bw`;#kMk{t1JaNHPcPyCt%M6-Ziv~KTn>yg43A*Kz7HY2 z346p}sq9cB^|y9+;^T;8zulZxfkmC+b_`IgL#e`%o%7IDR3D;$Bb_Q|;>OGBx#dzO zTLpNSk4ba@K#vR(zIx$Ot`ZUZZhks;w8qLvYENx$t_%iO3wK$dh-7oW2B_gcjO$Si zhmhZ_-jRvQN)n!%9XR4ipfc|pJ5-ld$nPi+^C?ZAPlYt;T9CTXwDypTega#(OCmwn zes?v-IE%XITSraNcuK5#b+gvksU5`OHG2vSyV8tHLwD_%Qol@?3+p{2XP2x|3tkVt zf#N_>fbB!J%eSNOvuz;>7e&c_yKxXN^9`jvQMAzsH&$sOXRa*~j8pG;eORq+b zlfROlbx6o-nYOx;o zti|ov-6-vEbo-;`z|&BQw#tjDW%spmxt)d^m#BG_j5k6fh_-oXmmLltxw8Ydr9HOF zq=5mc@b?2rQ(cVLs-LElma-$@5+C;om@Usv%&(M;jcf%Nf$1_SMBHI$XSK5?T~^_>MC*4)wn zW-we5sOZ^L*Z9a8Hv+-`7If!McEt*&0U)l{1l-kLY!j)g6asvxD-K!mx&_BOj~FyP zc!29S2v62G57nzF_YGluVeD_>-IO0q-5Q7TBaTit6G$k-`!&$o0%+S6g%@pKC;Rmt}E~)IOUf5g)DU6={|XE@A^5?PN)!?fcRq&s~7qP zIp1z_Ugb*rgW0}9^AQof-qLZUc|njkt33EX{&!z-g0)$Pp}AX5L z38dYqHvdj*d_1m}uJ|xs-u#y1xps`b$DaxKCacFqb`0e+wTvsc#G-JKQTWzkb5qDq zx5UzqWSYD4#y5o1A(3m$rYQNwJl-AwNx$4+k?-zBNr;AdBg9AxiO9Lq8N9;$3Xj_N zWOiZuFj&o!TQ(NkPywh-$fn-?T+t|arT^A0Eew}3_q{rVI--kCDtt_IGM`56Qi~(B z(A@k(P9MWyhH#p@xSaNQUT_U2MErSsWT&Lint{rxD5T&1mRFieea!b4(d%I(?$gHR_DqiaTGcanq+GBk{_+ z=hj&h4TAVR9Tr{+dKFlvaL5NR;NbxYP&2t3(x2n^VUhzg_Gl#h-Sj*fvQ`KGZ6)fj zt@IzKmhW%0*`DU&7q(3IL6Z53jqg-;c1fnfJxTU=*punENcO;yH!uqEkIp?66 zj?P%SvhDC<2D9TBznAnR_GO4xr54X7wko1#+Xn5;cQT-ts&5qfF=Z6*M+C!c}^tdaY79Zg4E&soWGAO zS~^qjRoQ8Hi){4w{;8@uT#;P2@|598RPRV?ti_qy_NBMoET!QmaY?Nxzh&U4;xpjK}@admZOP*(at~^kFUwk*CZuF$* z?p}=!+m7~#Z`2c9v*7Z$rrv~3G6pS8U5+3 z50U|lf2Ql$bFRD3* z&7qrM6F(Zm#L2~#Qd z+ns%}x3BXwZlgX3k?NVg@XaRcpG>eqJ6{ph_Z;)U@Uom~1puS`dP~;Owmz5Ev@%0Q z)$5(xKRFFOYvcA->6qdE%XQyNE^UH%&HwG!d;pFOrdNcg9r$feQqV~if3-ea`Q*;} z`BPfLMckgfL&_maKMznAO@b~*-gAGuQf{he;lI;aSx@7~ZN2)ECwmXy!z;d#=tt?d zvwhE69ju4OOWl(Umyo$@iuV5$3^;GvA*h=7ZsNqqj4@o41-LJNoGiUi3|Kb($NLqF z6YE;hH3beE-~Q-s>$sGBuX*H!{l>T+Mn}zE0uU@Nr`hKEwDNpt#SjY5#{g_a%lF4Y zqS42;e^T$K;2t`tV(p+I^Sl6Cp4K?;+NY~Dk=Vx;(p*SO%cONAoljNim%lggR@ov+ zZX?uEn|E(ZS4X?X!u8QWT}4IT|VD=?}ls#ermYR@k;BcxRq8~l0DCNHHB?%fJL z9Kh8GTI6m@p__vZyCKgJSub?H*)Kr9!PpHW%2D7GO zICo^%(3b{p?kI$Z)#Qa0=7$)=tu1-ZwKE>tj=}R{Mb{~Xub@M8m9s8h#YyAMsI6Qz zuaA#zL$280zGZ!;s`JAq#!>XKbsZK&)|e|hK)d&jGiQ8(Jd4vLVvXj zGdZ6xSWVpXn+n8{`!Xhiu*0{JCvLlaxuwSodM=|mM&lagdC5cWaExnKSI4x2&P{b_ zd{_4QO}XH2d}CmM7o$Em095!lXlWDe&KX|Ov)n8SKcCld3-4=znqq_=tHbxs`P*;q zJP_avbGX%1;@;z8rPB6}S+P6#0fpOIQR&KMP7PfSo|Ia!P}??5Tv?0hk$p6s{3~Ql zFz323XXRbvq`pm;WVxM~zaGqJ%3;nI918W#4&6>dUUs>p5Mj3c-5hR@eFxNHhA`wr zX)mmpob;YW&kElx40M#7)W96ub@h07C~UhhEU)Wfeapk*Cx89@aF`X<@G%}!{)dfrlUoGNOH&o#WS zyZiC}>}hrJNZ6$*@$D;5tVgU$!=fT{1Qlc0P`cwrn%Y9Y$*=EHzQQ9~C@8rd528T(4qAba*e!cKNZn5w~BucF==d`wZp6$K9tQXWu(wyPkOR zYhD>?FD67jD2qzkb8T1bKx%;F$m8xe{lP171D{wbLuJ7mOtvluKY5z>cz9=2Y2c)b z)w2cHXOqFtzWFY=Mm>GiZ~wgP*`Lp0E+;yV9(&fI9GbT>;PU?2?5qk95;?i&d}+dl z@qz7t!89EC*ZU_6=!B^EI|CMjC7Qnt&un^%@oHGGx&}AMbwO_bVo>ffUc~x3jJj(1 z`MK-L)n-?^h4N`10XDk87AbF<>qII4I^YW8Z9ixd1b-S+NVW7__ynJUAI{E z!`C9@i!`Gjo7=*4vU+B^BC?GqJAQ7v18%$le;A{h_tEb z^456$Z%@qO)jrix9;X|0_p95h3a%cwm)6?+=~0yRw|J_X3Scl|AyW{xdA7XnW!Pvu zpLpk5aPZb|2~YA~nzIs~1t@oo1yrM>GrxN^!3d*&l*^~z*cZ)=#szfSSRiYBrUdp^_n;E zGX0;#BiCN;Qe=hul}2dnSU(c-`pD+dsW0J93{EaujzIpDgs6W5t-37l@X9 z+*okSQ~gl)d_(C+x!^D7P2Nk^=w5BnwNRj+*M zU5*S{*5NFl{HKcjYNcJ6v^BplCI3xbb>WGBR(3~Qe(P^-$buZ}j$6~sW$_{9cjG$9 zug`?MZU|X!&u8`hvr-_t_7UjEA~Cll(sm-1+=zsldVmLsqF zB_5qi*w%ge1wWTX%9Xb+YWTirfA4kRrfY}ji7A^?`ggqTfA#Lp?d7TNnP*YsJVBq^p^ih`|vs>rEFlOX7h*JeyN-G4mHrmSo4Lx1}N|G zodE`54E{-JN0HbxH9UIxn#Su0x3`b3EnmCMdhj&WB=7yzxp!RCa&A8Bryjeed->ke z6iDLRlIq*UXc-JS&yxi4&MHd~;?ADB^!Mhte_os^6u#w&lkkb}nWL}d6W_O8dn145 zL5WxD7u+-L?o5`gR6*{k{c z>x%1((aWhoe54|zr9$KH^--8rDK3*Kh9xZLISNla-u2OwZ(^R6>u3vOGI_qsF#lhS z*AMp|DTsBxcK+)giS@TtwUe=x4?-Q%BYDfPXFz_S$I_TJ*K-`@9l9d0%|9o~OXVw{ z#O`YxS?I1`a^L&f%QvjVBKseijCZ;}*NlTdb#PNfFsUQ?`(wPD2&(*;%gRzpur2Wq z&DX}cHx0NxXuF%-7I7~7q1|2c&pPV=WNTj7ci>{8>Oa}Pf`@+%jQzTfIC$yVFY(a> zgXzB%KODIGpcx-E4V*Sr8o$ zu+R`>m$tsZSnv1X5<-tiEc~m5M}8h%SDZWY>+Gw7@%5j_*Z$}>)d(9@fm?44w!wt!>-<k*@Oiii4KyH%lYA~{}(+~6DbbWe= zjsA%}kFxbo-oNoMsy_Yc=z?=C2v=-gz&4Ad{TF161%d!$CZHt^nX>yY$hZxu<{=Ue z=E`C$?W94*!v#2)N@!19K`{kyk$it%=vs)^HWg9D)QJi$*M`=h-uNc(TuW04krOw< zS4C9mIJNcab94c~AbaH#TmZ6%moDd4F)L0`a@#Rp!OM(BWt%UxZM%_WT))O0EbU|_ z7ZZ>hJDb(C!Q(U*`4g&*D>*9bMqrpVLOF8%DP;RoYo`!p1CT%ee054-RI~%;45znB zVsC;ai;r0doD^QS*^7A?18@MtBg2ciEs{Gd;Ae_fG@E%Gc&+aa%ATFjA?NB)?DZ+I?E4NphhIFYxy?Cn(6^^mb;B ze+ylw>W}WR!-rf8m%DjzpdL*GiOtbG@D2o0Fk#}{XM&h+!*IA-tq8KV zS9n9_K49}R|6$PdVJfw+@$rtAhJ zLn>N8`3TI29`oZR!vFnS1X!WR2@eLHdIx{im^O{qonHl^4f;emaO*6b)5j)4nuF7B ztwATO{3*5*k#Z0ifqRg49dwbgVgi?FKnw)2Q_<gZ6Wnx1Yf61DkL5-gRnKzs|w^yEnYGo8y zrgA=M+OE2gxUPjB^LW`Z)_}I!sX`yi1wvC6U(dKX3IzHOGvL7f{{u4+>zw`ETwY#& z0Tx?OQd(AiG#6`SZDT3Ruc@uG*`&Y8#HP5eshI~i(I=iX+S1b96lg+Zv>OGUmFkN| z`Y|yMHt>tXrM{|06r$l4zmePdzHovDeCkdOTvhe>gZ+UvhNp&AX&M?^6+$5UK< zbPLVVR64nur3FR;p#9ahZCVHbr7BK}oIvij0<`zrTPhFzhgCGoP%RZe*>1ljZ~?D7 z$U0LIgk` z2$9hi4NM53EbD=b=Ogd^m$*D2O zXUBwMfQxDD)S(}2X09D!o^)EyCrekMzJM`SwbiDEkAV}vNS8zA(>8epu0qZT+#qj_ zqn7$TI|pUM7rKXJ4dpRqa0_IlVkGi81nn{}c2f3tD&7_D(| z7nI`L{0$vsgIi2ef*Om(J$9wSJPo20>vkQb%>o3E?_QH|6Gx%DQVJEvgE>J5#VT6F zHCLhr=~R)N`xUw~>dhrC533)4%3W6GU*IwyA*IREme<4xwfINlcyc~5o#N3c4Ux-S zl5xSv2hp5u8@5Dyb;cWskm;3_aKBl#Ln~H4bq7kH!Hy9^WbTWYtk;Zrv+& zEHi=a$5An)n52Su3ns61s$)vM~U`Cz4B_UyXrn(4?gHm_PfIAyR zHEOaKqwh!|t}1JqIxP`OH3)6R-Muk+H&j)1k{5_GIb|C(!#i7JI875(TQLXU zt;O7M7EpDqg*`(&l&Yo5=)%f0P^O`$XuarppP35~b}QydVT{n?4YT&BS<^wuTBq_^ z04aG=)g<&ON2MnRyFr6p$$sANc62k5`b9X1p9n*Rd1igh0=p0~`f2xX)E&!x+PcGc zWYbJjz9#{-Gc{Co7F8xH-6^nqDD|o9M7N|3?0TW=rJw2|m&y6 z=?0)~-@Cz#Jz_zS1$ixhFpH&q!@s?pe&VTuO_?0IlsW`6^w=}9`?3_WWL@3~xe&P7 zqN*JHH&e{Gme9KB2M9w(3Z(T&{?^@vb#kskxVZRQ-uz;*k$n%Z=u+E2EL?pzpMzH( znOBvb)XK@DHOgx-z+_W@I^n{_&=JzsX@7dDGI5PwXrPG4mpKk1ISO0*Ks1O=D-!^` z=^47k_m%s21>v9M8;@B4YzS0aLI%sQc94MMvL|YE>3)_H4ydqKk5!lxnFK%`4S-y5 zR_k<3kv{wqs~BcQYk)Vki4mHH%r6h+IziJpH8!O}4#u1$4O4~sh`zo$3OA{vI7yWg z7hk%NgVHm=^$erKTaYwx-n<I8+-1E8D=VDjRpd5j`Wlj7* z0qG9{qdR+OGF#tKN5e_`R}u)(;}_%*nsmu9bo(#t060GLu#=41!J5WyKZd`nGX0pu zi75A7!kuB3bcr=gN&X`@PoK?pC}yek3Zf{@t8_(7C;-76?sT$-ZtY}qu~TCw2adg|S&ot?l5lS+^AV1mp zrIs_ms-=riyloC@Gn*^ZAc0tCd8Lgrz&b3+HcjfFEIlCijzE}r*$HNV1fgw^vH52V z@+clWBwa@fze(pt02uuL!$Qixu%IP{g)RTV!h`>X1)m1n|Jhhz)%m0upz%hDqGzf^ zv{(!(CApweMT7ZR6?LQH$RB)ZD2#mAWU2=@AF)Ao^X-K&5vT|yhiP5%+|A@z`4-!! zGUBm73&iRTG`pEMt1WZPS{M^|1Fb^#W=m+`3C2l3>(1}fO=HDI#Ewdn$0VaWT`9g_ zzKcL{6}@s(k6wDly)W2c^fP+*T`9a2CuUbJUjie`#y2S2%sbY!j$&1*F6zFQ`d03> z26jYGUHT6eEFzx=otJ}95cZTtocP{@tO)4=#-748-D`)gKb?LK&ELE!?cJ;Q%@}3s z*`st61c}a#KdX%d4#3cQwBJ+X4?n<@2RX=PN*vd`- zNnaJf+LG#0G0wB}xDZ``dH~k^6$eXO(8<9*w}VIEQE31VMdab(aJ?(D;_S1>gicro z+Nu~5$*#BoQIfbjqul#KhLl!7=7qFSOD#UspoZoW)|EtdLLan!?xCd3W454DcC!a% zPxUKuP#mIpf~@Hkkyyiy$LHadTA8#&tv{>7T*xsA2+r-CxuJoPt_{!uV+MduDLtig z0{3Tn2o^CX!67v0LL?dbMcD;|_x?YrUS&|4bDFm`kXXvF_L#klaXz>&fd+;B$#s$hjUt{ zZ}lxgh4H!`P>vUC0>Ad0Pd#Ukp$^H)tI(aBQ+$||?n@b};ZTj`vF*yCIC&4a_qzvy zGTN3UE=U_o9uG_Ok>tu?LfI5B_4}eTC}p0*g?i}3kE#TGXVUS?I--31@;A3>_@+>0 zCz;**2P4rbS<|ooQbx27s_6HLoghGHPrkynov$L`De=?2PM^CZtuDcA#xRc183Vqd z_-<`X<4_md8M{Y$mn8sy2Y`_-)6%Wz&rMU6imD52r|T*2NL=K#?)9D_7>xlHEB~}& z56Ynp_z-*`z|R3-Ln}(|viE#FuzzH8DU~;e;ozziZ>vyeoNAkW$+k?$X zLi@Ker|N(BMKczw;Bv=E?X-`|GlPWuErXB^+L##N()j!Hk3>EWC#;(szB}d2aUB1= zKe}Z{rpl$l5TWkU9ot`W+twQ-Gz3AE@WO#~qye~)LmIRBS=Eq~zsFR!W;GO^S*D~T z=w8y{ImYsRRqk`(W*iVExOIqpUR(%A#p8>zMzj%x9wZ&7OZs1xArLSQ|38clXa3jd zAocmibN@3ssM;s7n{(v!rACJZ>Ce9iPBKeV^Q;tBX?yTFsf=FTi6Y9j;@zH~7f0Y~ zw!F@Xb7W2tXg>6v=NFQkeo)^nW0ke%uBRdDL}K_o&x#JeYMO4(ARIyP-md5wpfl{+ zMOWY5AJdc%stYNxoeCE~5vsKLN{-P!)4|7s0jUV8USX z{U*OU+LK!s&%M55vgy@t)(pyJTE!s)DOt=dQlMG;BowJ=)xdR94|?F?3?kAX`Y|b| z`J0R3MPEAdb5cIdTF+GKNYgD^%U4UT0ia36^3EH2MeDWCUx3gXbc-WxY{%S6kP)Xx zD63pht`go}AZ8A^L8jhfEfF|_RWny587hvBQ-luEWCI0k5Kb0AhC?c`OQQ(956BaQ z9wj{oDPG|W$vgBhIWhH7{*VYOTPlpqtyvYzbFSd%|7xrt@ZkZ5SUye~d{^S5%yyB{ zJSYNVEiUciq5>s79N7QY!D^g14P4zY%+C_{Q;mpmfkeuKMT!ALG_GDu1lEv9F zPLOy;N>f2;PjISueIS(pYRA087@}@+oDSZyn%1jzkS$w5BN!^tR(W6-nveK3w|DeV zN?8r|qsVL=M?sG9fujz%8^K5$>~E0IX^NveRbyD}I!iv49i9O0gM;MOMcA z28G;hNcF^R`v>z}vu zC6f8lD7r}TESk0~)UbDDn#d#l$<|V%WBkSq?FD*K=M@+AQzFdTzXBgd*{_!VktJWF4CD}kM4<^3S zV|tOcSMH=qCD`m+(hC|eFp99G+*_3YT?n^ABjc|F%9y1tbco*7Pw$5Uuek6L8*)@8 z7UQj2X#S@bF@HOWj<;$-M1h$IqO=9k39+>|0~))_SJjF0B}mtJ?h0ON)A(@Xt>W6C zD3S8r?jv3cph3_OaLa}~rH~STOZ6$rJ2X`e>xa-sg+g@Ayfg-UGH~&(u%UwfvE%;P zOPO^>w1YsWory&$11eNy>d~LXjwH0!)`vYMTqfqpW07avgdR zuS+A56mR52dQW%`a#OyAnLfYgPr`0AURtcNShPq`3f?dtSsvAR!xHZ^VAUojp?bq} zK&WAhl)f-3RZef6BvzaV_GvAL%Dy`WhR;)*_3(E>?xv#>jUiy`DZHX;+boFsaZbgE zM(An>o6zWG*E6&gZi9ToafRJ)Sz2FCMfjZyTckU`_ccqlN$!jp4ycD#s1A-Ks*4HC zY4`?ODu5)^f3;U(j zWFM;%_a}*wFGdr9Yx;xEY>;=$6H_>A)vY{U5 zSvgY5*TCVjYF}+N)X_#Ssur}x`s2LTR(h_*lXyb~r~AVKZfM@o_TiB&ev6EZ&YBvX10S4mbvvFW(T3k3 zL&|s5n@1|UxvWCh<*ZU;2fHh-(hT2QJ<;n_D>sgIqA1&70|uQ(k)TOPPWcPM*cmG8 z>xiO;8H#S92{nAo@RoK^fv}&qmf_wV3oYnXE+3V-`)p)=!5_}5L{G77} zf`o7`fruG5FMa*Y@ly%u#m6jKm~p8G{Txaa1-==z^d0 ze`fG`2pG;pz@CD^*x-~QOwhEnt#}W^TkuyItVYe+Q}FGFC1BaaY_LY`<6^xe=8g*CTiEt zzikE~s=y_2Ac;dD&SxPHsFb97^O`#vyQ_Rd*A0Mu@U4?4M1HZ8{aVLSHbZC~a?*!g^%JEt zI@Z)v?z_9ma%0$HzO$L*|jneK4gj^{twxUKWPN*Es)(R3+l zhdwQ-rf21X>6l1rxB;PKTH6-lbjJ;0kzkDzCjmeB>HV4XzK8E8^O&G+ZG)?fP|6=Y z;#bsVDdC2iEK-bWE79x;h|P9}thpBp@C&82m}oO-;07%;n<0V8JFvKN(sDQ&kn7|0ZZR2A2%m629* zI;`Ga+Lyhph5)3A z1G>!+dNm^((A{ph4_lvX9y+{S6vff$7y@OW-uFif>^r@f!Bl0i6#fS6nXp+}V;` znX=vUR2@~7=W%Jl4?Yp>E8FvM$?vWF_9Gid$81ab_(h*0xNWLGnO!KO(M5kK*~=-p zFkM;NJHSbc=JZ=vP&*TdF;qxK452>!?K~|eIbo1Cp}b0ur9w9RMjt26=kABI?x16H zYqq{5;fGf#NgMPC_}WI<>A+9gC~a!)5EgOZ)Tzdub8CJDb&*6?yVky z@nb4M${Fn`VW+Eb#a!D 2014-07-01T15:37:36Z | (c) 2010, 2014 jQuery Foundation, Inc. | jquery.org/license */ + +.ui-icon-action:after{background-image:url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpath%20style%3D%22fill%3A%23FFFFFF%3B%22%20d%3D%22M9%2C5v3l5-4L9%2C0v3c0%2C0-5%2C0-5%2C7C6%2C5%2C9%2C5%2C9%2C5z%20M11%2C12H2V5h1l2-2H0v11h13V7l-2%2C2V12z%22%2F%3E%3C%2Fsvg%3E")}.ui-icon-alert:after{background-image:url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpath%20style%3D%22fill%3A%23FFFFFF%3B%22%20d%3D%22M7%2C0L0%2C12h14L7%2C0z%20M7%2C11c-0.553%2C0-1-0.447-1-1s0.447-1%2C1-1c0.553%2C0%2C1%2C0.447%2C1%2C1S7.553%2C11%2C7%2C11z%20M7%2C8%20C6.447%2C8%2C6%2C7.553%2C6%2C7V5c0-0.553%2C0.447-1%2C1-1c0.553%2C0%2C1%2C0.447%2C1%2C1v2C8%2C7.553%2C7.553%2C8%2C7%2C8z%22%2F%3E%3C%2Fsvg%3E")}.ui-icon-arrow-d-l:after{background-image:url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpolygon%20fill%3D%22%23FFF%22%20points%3D%2214%2C3%2011%2C0%203.5%2C7.5%200%2C4%200%2C14%2010%2C14%206.5%2C10.5%20%22%2F%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3C%2Fsvg%3E")}.ui-icon-arrow-d-r:after{background-image:url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpolygon%20fill%3D%22%23FFF%22%20points%3D%2210.5%2C7.5%203%2C0%200%2C3%207.5%2C10.5%204%2C14%2014%2C14%2014%2C4%20%22%2F%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3C%2Fsvg%3E")}.ui-icon-arrow-d:after{background-image:url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpolygon%20fill%3D%22%23FFF%22%20points%3D%229%2C7%209%2C0%205%2C0%205%2C7%200%2C7%207%2C14%2014%2C7%20%22%2F%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3C%2Fsvg%3E")}.ui-icon-arrow-l:after{background-image:url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpolygon%20fill%3D%22%23FFF%22%20points%3D%227%2C5%207%2C0%200%2C7%207%2C14%207%2C9%2014%2C9%2014%2C5%20%22%2F%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3C%2Fsvg%3E")}.ui-icon-arrow-r:after{background-image:url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpolygon%20fill%3D%22%23FFF%22%20points%3D%2214%2C7%207%2C0%207%2C5%200%2C5%200%2C9%207%2C9%207%2C14%20%22%2F%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3C%2Fsvg%3E")}.ui-icon-arrow-u-l:after{background-image:url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpolygon%20fill%3D%22%23FFF%22%20points%3D%2214%2C11%206.5%2C3.5%2010%2C0%200%2C0%200%2C10%203.5%2C6.5%2011%2C14%20%22%2F%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3C%2Fsvg%3E")}.ui-icon-arrow-u-r:after{background-image:url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpolygon%20fill%3D%22%23FFF%22%20points%3D%2214%2C0%204%2C0%207.5%2C3.5%200%2C11%203%2C14%2010.5%2C6.5%2014%2C10%20%22%2F%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3C%2Fsvg%3E")}.ui-icon-arrow-u:after{background-image:url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpolygon%20fill%3D%22%23FFF%22%20points%3D%227%2C0%200%2C7%205%2C7%205%2C14%209%2C14%209%2C7%2014%2C7%20%22%2F%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3C%2Fsvg%3E")}.ui-icon-audio:after{background-image:url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214.018px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014.018%2014%22%20style%3D%22enable-background%3Anew%200%200%2014.018%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpath%20fill%3D%22%23FFF%22%20d%3D%22M1%2C4C0.447%2C4%2C0%2C4.447%2C0%2C5v4c0%2C0.553%2C0.447%2C1%2C1%2C1h1l4%2C4V0L2%2C4H1z%20M10.346%2C7c0-1.699-1.042-3.154-2.546-3.867L6.982%2C4.68%20C7.885%2C5.107%2C8.51%2C5.98%2C8.51%2C7S7.885%2C8.893%2C6.982%2C9.32L7.8%2C10.867C9.304%2C10.154%2C10.346%2C8.699%2C10.346%2C7z%20M9.447%2C0.017L8.618%2C1.586%20C10.723%2C2.584%2C12.182%2C4.621%2C12.182%2C7s-1.459%2C4.416-3.563%2C5.414l0.829%2C1.569c2.707-1.283%2C4.57-3.925%2C4.57-6.983%20S12.154%2C1.3%2C9.447%2C0.017z%22%2F%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3C%2Fsvg%3E")}.ui-icon-back:after{background-image:url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpath%20style%3D%22fill%3A%23FFFFFF%3B%22%20d%3D%22M5%2C3V0L1%2C4l4%2C4V5c0%2C0%2C6%2C0%2C6%2C3s-5%2C4-5%2C4v2c0%2C0%2C7-1%2C7-6C13%2C4%2C8%2C3%2C5%2C3z%22%2F%3E%3C%2Fsvg%3E")}.ui-icon-bars:after{background-image:url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpath%20style%3D%22fill%3A%23FFFFFF%3B%22%20d%3D%22M1%2C4h12c0.553%2C0%2C1-0.447%2C1-1s-0.447-1-1-1H1C0.447%2C2%2C0%2C2.447%2C0%2C3S0.447%2C4%2C1%2C4z%20M13%2C6H1%20C0.447%2C6%2C0%2C6.447%2C0%2C7c0%2C0.553%2C0.447%2C1%2C1%2C1h12c0.553%2C0%2C1-0.447%2C1-1C14%2C6.447%2C13.553%2C6%2C13%2C6z%20M13%2C10H1c-0.553%2C0-1%2C0.447-1%2C1%20s0.447%2C1%2C1%2C1h12c0.553%2C0%2C1-0.447%2C1-1S13.553%2C10%2C13%2C10z%22%2F%3E%3C%2Fsvg%3E")}.ui-icon-bullets:after{background-image:url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpath%20style%3D%22fill%3A%23FFFFFF%3B%22%20d%3D%22M5%2C4h8c0.553%2C0%2C1-0.447%2C1-1s-0.447-1-1-1H5C4.447%2C2%2C4%2C2.447%2C4%2C3S4.447%2C4%2C5%2C4z%20M13%2C6H5%20C4.447%2C6%2C4%2C6.447%2C4%2C7c0%2C0.553%2C0.447%2C1%2C1%2C1h8c0.553%2C0%2C1-0.447%2C1-1C14%2C6.447%2C13.553%2C6%2C13%2C6z%20M13%2C10H5c-0.553%2C0-1%2C0.447-1%2C1%20s0.447%2C1%2C1%2C1h8c0.553%2C0%2C1-0.447%2C1-1S13.553%2C10%2C13%2C10z%20M1%2C2C0.447%2C2%2C0%2C2.447%2C0%2C3s0.447%2C1%2C1%2C1s1-0.447%2C1-1S1.553%2C2%2C1%2C2z%20M1%2C6%20C0.447%2C6%2C0%2C6.447%2C0%2C7c0%2C0.553%2C0.447%2C1%2C1%2C1s1-0.447%2C1-1C2%2C6.447%2C1.553%2C6%2C1%2C6z%20M1%2C10c-0.553%2C0-1%2C0.447-1%2C1s0.447%2C1%2C1%2C1s1-0.447%2C1-1%20S1.553%2C10%2C1%2C10z%22%2F%3E%3C%2Fsvg%3E")}.ui-icon-calendar:after{background-image:url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpath%20fill%3D%22%23FFF%22%20d%3D%22M0%2C8h2V6H0V8z%20M3%2C8h2V6H3V8z%20M6%2C8h2V6H6V8z%20M9%2C8h2V6H9V8z%20M12%2C8h2V6h-2V8z%20M0%2C11h2V9H0V11z%20M3%2C11h2V9H3V11z%20M6%2C11h2V9H6V11z%20%20M9%2C11h2V9H9V11z%20M12%2C11h2V9h-2V11z%20M0%2C14h2v-2H0V14z%20M3%2C14h2v-2H3V14z%20M6%2C14h2v-2H6V14z%20M9%2C14h2v-2H9V14z%20M12%2C1%20c0-0.553-0.447-1-1-1s-1%2C0.447-1%2C1H4c0-0.553-0.447-1-1-1S2%2C0.447%2C2%2C1H0v4h14V1H12z%22%2F%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3C%2Fsvg%3E")}.ui-icon-camera:after{background-image:url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpath%20style%3D%22fill%3A%23FFFFFF%3B%22%20d%3D%22M12%2C2.5H9.908c-0.206-0.581-0.756-1-1.408-1h-3c-0.652%2C0-1.202%2C0.419-1.408%2C1H2c-1.104%2C0-2%2C0.896-2%2C2%20v6c0%2C1.104%2C0.896%2C2%2C2%2C2h10c1.104%2C0%2C2-0.896%2C2-2v-6C14%2C3.396%2C13.104%2C2.5%2C12%2C2.5z%20M7%2C10.5c-1.657%2C0-3-1.344-3-3c0-1.657%2C1.343-3%2C3-3%20s3%2C1.343%2C3%2C3C10%2C9.156%2C8.657%2C10.5%2C7%2C10.5z%20M7%2C5.5c-1.104%2C0-2%2C0.896-2%2C2c0%2C1.104%2C0.896%2C2%2C2%2C2c1.104%2C0%2C2-0.896%2C2-2%20C9%2C6.396%2C8.104%2C5.5%2C7%2C5.5z%22%2F%3E%3C%2Fsvg%3E")}.ui-icon-carat-d:after{background-image:url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpolygon%20style%3D%22fill%3A%23FFFFFF%3B%22%20points%3D%2211.949%2C3.404%207%2C8.354%202.05%2C3.404%20-0.071%2C5.525%207%2C12.596%2014.07%2C5.525%20%22%2F%3E%3C%2Fsvg%3E")}.ui-icon-carat-l:after{background-image:url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpolygon%20style%3D%22fill%3A%23FFFFFF%3B%22%20points%3D%2210.596%2C11.949%205.646%2C7%2010.596%2C2.05%208.475%2C-0.071%201.404%2C7%208.475%2C14.07%20%22%2F%3E%3C%2Fsvg%3E")}.ui-icon-carat-r:after{background-image:url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpolygon%20style%3D%22fill%3A%23FFFFFF%3B%22%20points%3D%223.404%2C2.051%208.354%2C7%203.404%2C11.95%205.525%2C14.07%2012.596%2C7%205.525%2C-0.071%20%22%2F%3E%3C%2Fsvg%3E")}.ui-icon-carat-u:after{background-image:url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpolygon%20style%3D%22fill%3A%23FFFFFF%3B%22%20points%3D%222.051%2C10.596%207%2C5.646%2011.95%2C10.596%2014.07%2C8.475%207%2C1.404%20-0.071%2C8.475%20%22%2F%3E%3C%2Fsvg%3E")}.ui-icon-check:after,html .ui-btn.ui-checkbox-on.ui-checkbox-on:after{background-image:url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpolygon%20style%3D%22fill%3A%23FFFFFF%3B%22%20points%3D%2214%2C4%2011%2C1%205.003%2C6.997%203%2C5%200%2C8%204.966%2C13%204.983%2C12.982%205%2C13%20%22%2F%3E%3C%2Fsvg%3E")}.ui-icon-clock:after{background-image:url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpath%20fill%3D%22%23FFF%22%20d%3D%22M7%2C0C3.134%2C0%2C0%2C3.134%2C0%2C7s3.134%2C7%2C7%2C7s7-3.134%2C7-7S10.866%2C0%2C7%2C0z%20M7%2C12c-2.762%2C0-5-2.238-5-5s2.238-5%2C5-5s5%2C2.238%2C5%2C5%20S9.762%2C12%2C7%2C12z%20M9%2C6H8V4c0-0.553-0.447-1-1-1S6%2C3.447%2C6%2C4v3c0%2C0.553%2C0.447%2C1%2C1%2C1h2c0.553%2C0%2C1-0.447%2C1-1S9.553%2C6%2C9%2C6z%22%2F%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3C%2Fsvg%3E")}.ui-icon-cloud:after{background-image:url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpath%20style%3D%22fill%3A%23FFFFFF%3B%22%20d%3D%22M14%2C9.5c0-0.793-0.465-1.473-1.134-1.795C12.949%2C7.484%2C13%2C7.249%2C13%2C7c0-1.104-0.896-2-2-2%20c-0.158%2C0-0.311%2C0.023-0.457%2C0.058C9.816%2C3.549%2C8.286%2C2.5%2C6.5%2C2.5c-2.33%2C0-4.224%2C1.777-4.454%2C4.046C0.883%2C6.76%2C0%2C7.773%2C0%2C9%20c0%2C1.381%2C1.119%2C2.5%2C2.5%2C2.5h10v-0.07C13.361%2C11.206%2C14%2C10.432%2C14%2C9.5z%22%2F%3E%3C%2Fsvg%3E")}.ui-icon-comment:after{background-image:url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpath%20fill%3D%22%23FFF%22%20d%3D%22M12%2C0H2C0.896%2C0%2C0%2C0.896%2C0%2C2v7c0%2C1.104%2C0.896%2C2%2C2%2C2h1v3l3-3h6c1.104%2C0%2C2-0.896%2C2-2V2C14%2C0.896%2C13.104%2C0%2C12%2C0z%22%2F%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3C%2Fsvg%3E")}.ui-icon-delete:after{background-image:url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpolygon%20fill%3D%22%23FFF%22%20points%3D%2214%2C3%2011%2C0%207%2C4%203%2C0%200%2C3%204%2C7%200%2C11%203%2C14%207%2C10%2011%2C14%2014%2C11%2010%2C7%20%22%2F%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3C%2Fsvg%3E")}.ui-icon-edit:after{background-image:url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpath%20fill%3D%22%23FFF%22%20d%3D%22M1%2C10l-1%2C4l4-1l7-7L8%2C3L1%2C10z%20M11%2C0L9%2C2l3%2C3l2-2L11%2C0z%22%2F%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3C%2Fsvg%3E")}.ui-icon-eye:after{background-image:url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpath%20style%3D%22fill%3A%23FFFFFF%3B%22%20d%3D%22M7%2C2C3%2C2%2C0%2C7%2C0%2C7s3%2C5%2C7%2C5s7-5%2C7-5S11%2C2%2C7%2C2z%20M7%2C10c-1.657%2C0-3-1.344-3-3c0-1.657%2C1.343-3%2C3-3%20s3%2C1.343%2C3%2C3C10%2C8.656%2C8.657%2C10%2C7%2C10z%20M7%2C6C6.448%2C6%2C6%2C6.447%2C6%2C7c0%2C0.553%2C0.448%2C1%2C1%2C1s1-0.447%2C1-1C8%2C6.447%2C7.552%2C6%2C7%2C6z%22%2F%3E%3C%2Fsvg%3E")}.ui-icon-forbidden:after{background-image:url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpath%20fill%3D%22%23FFF%22%20d%3D%22M12.601%2C11.187C13.476%2C10.018%2C14%2C8.572%2C14%2C7c0-3.866-3.134-7-7-7C5.428%2C0%2C3.982%2C0.524%2C2.813%2C1.399L2.757%2C1.343L2.053%2C2.048%20L2.048%2C2.053L1.343%2C2.758l0.056%2C0.056C0.524%2C3.982%2C0%2C5.428%2C0%2C7c0%2C3.866%2C3.134%2C7%2C7%2C7c1.572%2C0%2C3.018-0.524%2C4.187-1.399l0.056%2C0.057%20l0.705-0.705l0.005-0.005l0.705-0.705L12.601%2C11.187z%20M7%2C2c2.761%2C0%2C5%2C2.238%2C5%2C5c0%2C1.019-0.308%2C1.964-0.832%2C2.754L4.246%2C2.832%20C5.036%2C2.308%2C5.981%2C2%2C7%2C2z%20M7%2C12c-2.761%2C0-5-2.238-5-5c0-1.019%2C0.308-1.964%2C0.832-2.754l6.922%2C6.922C8.964%2C11.692%2C8.019%2C12%2C7%2C12z%22%2F%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3C%2Fsvg%3E")}.ui-icon-forward:after{background-image:url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpath%20style%3D%22fill%3A%23FFFFFF%3B%22%20d%3D%22M13%2C4L9%2C0v3C6%2C3%2C1%2C4%2C1%2C8c0%2C5%2C7%2C6%2C7%2C6v-2c0%2C0-5-1-5-4s6-3%2C6-3v3L13%2C4z%22%2F%3E%3C%2Fsvg%3E")}.ui-icon-gear:after{background-image:url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpath%20fill%3D%22%23FFF%22%20d%3D%22M13.621%2C5.904l-1.036-0.259c-0.168-0.042-0.303-0.168-0.355-0.332c-0.092-0.284-0.205-0.559-0.339-0.82%20c-0.079-0.153-0.073-0.337%2C0.017-0.486l0.549-0.915c0.118-0.196%2C0.088-0.448-0.075-0.61l-0.862-0.863%20c-0.162-0.163-0.414-0.193-0.611-0.075l-0.916%2C0.55C9.844%2C2.182%2C9.659%2C2.188%2C9.506%2C2.109C9.244%2C1.975%2C8.97%2C1.861%2C8.686%2C1.77%20c-0.165-0.052-0.29-0.187-0.332-0.354L8.095%2C0.379C8.039%2C0.156%2C7.839%2C0%2C7.609%2C0H6.391c-0.229%2C0-0.43%2C0.156-0.485%2C0.379L5.646%2C1.415%20C5.604%2C1.582%2C5.479%2C1.718%2C5.313%2C1.77c-0.284%2C0.092-0.559%2C0.206-0.82%2C0.34C4.339%2C2.188%2C4.155%2C2.182%2C4.007%2C2.093L3.092%2C1.544%20c-0.196-0.118-0.448-0.087-0.61%2C0.075L1.619%2C2.481C1.457%2C2.644%2C1.426%2C2.896%2C1.544%2C3.093l0.549%2C0.914%20c0.089%2C0.148%2C0.095%2C0.332%2C0.017%2C0.486C1.975%2C4.755%2C1.861%2C5.029%2C1.77%2C5.314c-0.053%2C0.164-0.188%2C0.29-0.354%2C0.332L0.379%2C5.905%20C0.156%2C5.961%2C0%2C6.161%2C0%2C6.391v1.219c0%2C0.229%2C0.156%2C0.43%2C0.379%2C0.485l1.036%2C0.26C1.582%2C8.396%2C1.717%2C8.521%2C1.77%2C8.687%20c0.092%2C0.284%2C0.205%2C0.559%2C0.34%2C0.82C2.188%2C9.66%2C2.182%2C9.844%2C2.093%2C9.993l-0.549%2C0.915c-0.118%2C0.195-0.087%2C0.448%2C0.075%2C0.61%20l0.862%2C0.862c0.162%2C0.163%2C0.414%2C0.193%2C0.61%2C0.075l0.915-0.549c0.148-0.089%2C0.332-0.095%2C0.486-0.017%20c0.262%2C0.135%2C0.536%2C0.248%2C0.82%2C0.34c0.165%2C0.053%2C0.291%2C0.187%2C0.332%2C0.354l0.259%2C1.036C5.96%2C13.844%2C6.16%2C14%2C6.39%2C14h1.22%20c0.229%2C0%2C0.43-0.156%2C0.485-0.379l0.259-1.036c0.042-0.167%2C0.168-0.302%2C0.333-0.354c0.284-0.092%2C0.559-0.205%2C0.82-0.34%20c0.154-0.078%2C0.338-0.072%2C0.486%2C0.017l0.914%2C0.549c0.197%2C0.118%2C0.449%2C0.088%2C0.611-0.074l0.862-0.863%20c0.163-0.162%2C0.193-0.415%2C0.075-0.611l-0.549-0.915c-0.089-0.148-0.096-0.332-0.017-0.485c0.134-0.263%2C0.248-0.536%2C0.339-0.82%20c0.053-0.165%2C0.188-0.291%2C0.355-0.333l1.036-0.259C13.844%2C8.039%2C14%2C7.839%2C14%2C7.609V6.39C14%2C6.16%2C13.844%2C5.96%2C13.621%2C5.904z%20M7%2C10%20c-1.657%2C0-3-1.343-3-3s1.343-3%2C3-3s3%2C1.343%2C3%2C3S8.657%2C10%2C7%2C10z%22%2F%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3C%2Fsvg%3E")}.ui-icon-grid:after{background-image:url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpath%20fill%3D%22%23FFF%22%20d%3D%22M3%2C0H1C0.447%2C0%2C0%2C0.447%2C0%2C1v2c0%2C0.553%2C0.447%2C1%2C1%2C1h2c0.553%2C0%2C1-0.447%2C1-1V1C4%2C0.447%2C3.553%2C0%2C3%2C0z%20M8%2C0H6%20C5.447%2C0%2C5%2C0.447%2C5%2C1v2c0%2C0.553%2C0.447%2C1%2C1%2C1h2c0.553%2C0%2C1-0.447%2C1-1V1C9%2C0.447%2C8.553%2C0%2C8%2C0z%20M13%2C0h-2c-0.553%2C0-1%2C0.447-1%2C1v2%20c0%2C0.553%2C0.447%2C1%2C1%2C1h2c0.553%2C0%2C1-0.447%2C1-1V1C14%2C0.447%2C13.553%2C0%2C13%2C0z%20M3%2C5H1C0.447%2C5%2C0%2C5.447%2C0%2C6v2c0%2C0.553%2C0.447%2C1%2C1%2C1h2%20c0.553%2C0%2C1-0.447%2C1-1V6C4%2C5.447%2C3.553%2C5%2C3%2C5z%20M8%2C5H6C5.447%2C5%2C5%2C5.447%2C5%2C6v2c0%2C0.553%2C0.447%2C1%2C1%2C1h2c0.553%2C0%2C1-0.447%2C1-1V6%20C9%2C5.447%2C8.553%2C5%2C8%2C5z%20M13%2C5h-2c-0.553%2C0-1%2C0.447-1%2C1v2c0%2C0.553%2C0.447%2C1%2C1%2C1h2c0.553%2C0%2C1-0.447%2C1-1V6C14%2C5.447%2C13.553%2C5%2C13%2C5z%20M3%2C10%20H1c-0.553%2C0-1%2C0.447-1%2C1v2c0%2C0.553%2C0.447%2C1%2C1%2C1h2c0.553%2C0%2C1-0.447%2C1-1v-2C4%2C10.447%2C3.553%2C10%2C3%2C10z%20M8%2C10H6c-0.553%2C0-1%2C0.447-1%2C1v2%20c0%2C0.553%2C0.447%2C1%2C1%2C1h2c0.553%2C0%2C1-0.447%2C1-1v-2C9%2C10.447%2C8.553%2C10%2C8%2C10z%20M13%2C10h-2c-0.553%2C0-1%2C0.447-1%2C1v2c0%2C0.553%2C0.447%2C1%2C1%2C1h2%20c0.553%2C0%2C1-0.447%2C1-1v-2C14%2C10.447%2C13.553%2C10%2C13%2C10z%22%2F%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3C%2Fsvg%3E")}.ui-icon-heart:after{background-image:url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpath%20style%3D%22fill%3A%23FFFFFF%3B%22%20d%3D%22M7%2C1.872c-2-3-7-2-7%2C2c0%2C3%2C4%2C7%2C4%2C7s2.417%2C2.479%2C3%2C3c0.583-0.521%2C3-3%2C3-3s4-4%2C4-7%20C14-0.128%2C9-1.128%2C7%2C1.872z%22%2F%3E%3C%2Fsvg%3E")}.ui-icon-home:after{background-image:url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpolygon%20fill%3D%22%23FFF%22%20points%3D%227%2C0%200%2C7%202%2C7%202%2C14%205%2C14%205%2C9%209%2C9%209%2C14%2012%2C14%2012%2C7%2014%2C7%20%22%2F%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3C%2Fsvg%3E")}.ui-icon-info:after{background-image:url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpath%20fill%3D%22%23FFF%22%20d%3D%22M7%2C0C3.134%2C0%2C0%2C3.134%2C0%2C7s3.134%2C7%2C7%2C7s7-3.134%2C7-7S10.866%2C0%2C7%2C0z%20M7%2C2c0.552%2C0%2C1%2C0.447%2C1%2C1S7.552%2C4%2C7%2C4S6%2C3.553%2C6%2C3%20S6.448%2C2%2C7%2C2z%20M9%2C11H5v-1h1V6H5V5h3v5h1V11z%22%2F%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3C%2Fsvg%3E")}.ui-icon-location:after{background-image:url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpath%20style%3D%22fill%3A%23FFFFFF%3B%22%20d%3D%22M7%2C0C4.791%2C0%2C3%2C1.791%2C3%2C4c0%2C2%2C4%2C10%2C4%2C10s4-8%2C4-10C11%2C1.791%2C9.209%2C0%2C7%2C0z%20M7%2C6C5.896%2C6%2C5%2C5.104%2C5%2C4%20s0.896-2%2C2-2c1.104%2C0%2C2%2C0.896%2C2%2C2S8.104%2C6%2C7%2C6z%22%2F%3E%3C%2Fsvg%3E")}.ui-icon-lock:after{background-image:url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpath%20style%3D%22fill%3A%23FFFFFF%3B%22%20d%3D%22M12%2C6V5c0-2.762-2.238-5-5-5C4.239%2C0%2C2%2C2.238%2C2%2C5v1H1v8h12V6H12z%20M7.5%2C9.848V12h-1V9.848%20C6.207%2C9.673%2C6%2C9.366%2C6%2C9c0-0.553%2C0.448-1%2C1-1s1%2C0.447%2C1%2C1C8%2C9.366%2C7.793%2C9.673%2C7.5%2C9.848z%20M10%2C6H4V5c0-1.657%2C1.343-3%2C3-3%20s3%2C1.343%2C3%2C3V6z%22%2F%3E%3C%2Fsvg%3E")}.ui-icon-mail:after{background-image:url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpath%20style%3D%22fill%3A%23FFFFFF%3B%22%20d%3D%22M0%2C3.75V12h14V3.75L7%2C9L0%2C3.75z%20M14%2C2H0l7%2C5L14%2C2z%22%2F%3E%3C%2Fsvg%3E")}.ui-icon-minus:after{background-image:url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Crect%20y%3D%225%22%20style%3D%22fill%3A%23FFFFFF%3B%22%20width%3D%2214%22%20height%3D%224%22%2F%3E%3C%2Fsvg%3E")}.ui-icon-navigation:after{background-image:url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpolygon%20style%3D%22fill%3A%23FFFFFF%3B%22%20points%3D%2213%2C1%200%2C6%207%2C7%208%2C14%20%22%2F%3E%3C%2Fsvg%3E")}.ui-icon-phone:after{background-image:url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%22-0.01%200.008%2014%2014%22%20style%3D%22enable-background%3Anew%20-0.01%200.008%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpath%20style%3D%22fill%3A%23FFFFFF%3B%22%20d%3D%22M6.939%2C9.189C6.165%2C8.557%2C5.271%2C7.705%2C4.497%2C6.744C3.953%2C6.071%2C3.473%2C5.363%2C3.969%2C4.866l-3.482-3.48%20C-0.021%2C2.02-1.146%2C5.04%2C3.675%2C9.984c5.08%2C5.211%2C8.356%2C4.097%2C8.92%2C3.511l-3.396-3.4C8.725%2C10.568%2C8.113%2C10.146%2C6.939%2C9.189z%20%20M13.82%2C11.519v-0.004c0%2C0-2.648-2.646-2.649-2.647c-0.21-0.211-0.546-0.205-0.754%2C0.002L9.455%2C9.831l3.403%2C3.407%20c0%2C0%2C0.962-0.96%2C0.961-0.961l0.002-0.001C14.043%2C12.056%2C14.021%2C11.721%2C13.82%2C11.519z%20M5.192%2C3.644V3.642%20c0.222-0.222%2C0.2-0.557%2C0-0.758V2.881c0%2C0-2.726-2.725-2.727-2.726C2.255-0.055%2C1.92-0.05%2C1.712%2C0.156L0.751%2C1.121l3.479%2C3.482%20C4.231%2C4.604%2C5.192%2C3.645%2C5.192%2C3.644z%22%2F%3E%3C%2Fsvg%3E")}.ui-icon-plus:after{background-image:url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpolygon%20fill%3D%22%23FFF%22%20points%3D%2214%2C5%209%2C5%209%2C0%205%2C0%205%2C5%200%2C5%200%2C9%205%2C9%205%2C14%209%2C14%209%2C9%2014%2C9%20%22%2F%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3C%2Fsvg%3E")}.ui-icon-power:after{background-image:url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpath%20style%3D%22fill%3A%23FFFFFF%3B%22%20d%3D%22M11.243%2C2.408c-0.392-0.401-1.024-0.401-1.415%2C0c-0.391%2C0.401-0.391%2C1.054%2C0%2C1.455%20C10.584%2C4.642%2C11%2C5.675%2C11%2C6.773s-0.416%2C2.133-1.172%2C2.91c-1.512%2C1.558-4.145%2C1.558-5.656%2C0C3.416%2C8.904%2C3%2C7.872%2C3%2C6.773%20C3%2C5.673%2C3.416%2C4.64%2C4.172%2C3.863c0.39-0.401%2C0.39-1.054%2C0-1.455c-0.391-0.401-1.024-0.401-1.415%2C0C1.624%2C3.574%2C1%2C5.125%2C1%2C6.773%20c0%2C1.647%2C0.624%2C3.199%2C1.757%2C4.365c1.134%2C1.166%2C2.64%2C1.809%2C4.243%2C1.809c1.604%2C0%2C3.109-0.645%2C4.243-1.811%20C12.376%2C9.975%2C13%2C8.423%2C13%2C6.773C13%2C5.125%2C12.376%2C3.574%2C11.243%2C2.408z%20M7%2C8.053c0.553%2C0%2C1-0.445%2C1-1v-6c0-0.553-0.447-1-1-1%20c-0.553%2C0-1%2C0.447-1%2C1v6C6%2C7.604%2C6.447%2C8.053%2C7%2C8.053z%22%2F%3E%3C%2Fsvg%3E")}.ui-icon-recycle:after{background-image:url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpath%20style%3D%22fill%3A%23FFFFFF%3B%22%20d%3D%22M3%2C7h1L2%2C4L0%2C7h1c0%2C3.313%2C2.687%2C6%2C6%2C6c0.702%2C0%2C1.374-0.127%2C2-0.35v-2.205C8.41%2C10.789%2C7.732%2C11%2C7%2C11%20C4.791%2C11%2C3%2C9.209%2C3%2C7z%20M13%2C7c0-3.313-2.688-6-6-6C6.298%2C1%2C5.626%2C1.127%2C5%2C1.349v2.206C5.59%2C3.211%2C6.268%2C3%2C7%2C3c2.209%2C0%2C4%2C1.791%2C4%2C4%20h-1l2%2C3l2-3H13z%22%2F%3E%3C%2Fsvg%3E")}.ui-icon-refresh:after{background-image:url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214.001px%22%20height%3D%2214.002px%22%20viewBox%3D%220%200%2014.001%2014.002%22%20style%3D%22enable-background%3Anew%200%200%2014.001%2014.002%3B%22%20%20xml%3Aspace%3D%22preserve%22%3E%3Cpath%20fill%3D%22%23FFF%22%20d%3D%22M14.001%2C6.001v-6l-2.06%2C2.06c-0.423-0.424-0.897-0.809-1.44-1.122C7.153-0.994%2C2.872%2C0.153%2C0.939%2C3.501%20c-1.933%2C3.348-0.786%2C7.629%2C2.562%2C9.562c3.348%2C1.933%2C7.629%2C0.785%2C9.562-2.562l-1.732-1c-1.381%2C2.392-4.438%2C3.211-6.83%2C1.83%20s-3.211-4.438-1.83-6.83s4.438-3.211%2C6.83-1.83c0.389%2C0.225%2C0.718%2C0.506%2C1.02%2C0.81l-2.52%2C2.52H14.001z%22%2F%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3C%2Fsvg%3E")}.ui-icon-search:after{background-image:url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpath%20style%3D%22fill%3A%23FFFFFF%3B%22%20d%3D%22M10.171%2C8.766c0.617-0.888%2C0.979-1.964%2C0.979-3.126c0-3.037-2.463-5.5-5.5-5.5s-5.5%2C2.463-5.5%2C5.5%20s2.463%2C5.5%2C5.5%2C5.5c1.152%2C0%2C2.223-0.355%2C3.104-0.962l3.684%2C3.683l1.414-1.414L10.171%2C8.766z%20M5.649%2C9.14c-1.933%2C0-3.5-1.567-3.5-3.5%20c0-1.933%2C1.567-3.5%2C3.5-3.5c1.933%2C0%2C3.5%2C1.567%2C3.5%2C3.5C9.149%2C7.572%2C7.582%2C9.14%2C5.649%2C9.14z%22%2F%3E%3C%2Fsvg%3E")}.ui-icon-shop:after{background-image:url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpath%20style%3D%22fill%3A%23FFFFFF%3B%22%20d%3D%22M10%2C4V3c0-1.657-1.343-3-3-3S4%2C1.343%2C4%2C3v1H1v10h12V4H10z%20M4.5%2C6C4.224%2C6%2C4%2C5.776%2C4%2C5.5%20S4.224%2C5%2C4.5%2C5S5%2C5.224%2C5%2C5.5S4.776%2C6%2C4.5%2C6z%20M5%2C3c0-1.104%2C0.896-2%2C2-2c1.104%2C0%2C2%2C0.896%2C2%2C2v1H5V3z%20M9.5%2C6C9.225%2C6%2C9%2C5.776%2C9%2C5.5%20S9.225%2C5%2C9.5%2C5S10%2C5.224%2C10%2C5.5S9.775%2C6%2C9.5%2C6z%22%2F%3E%3C%2Fsvg%3E")}.ui-icon-star:after{background-image:url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpolygon%20style%3D%22fill%3A%23FFFFFF%3B%22%20points%3D%2214%2C5%209%2C5%207%2C0%205%2C5%200%2C5%204%2C8%202.625%2C13%207%2C10%2011.375%2C13%2010%2C8%20%22%2F%3E%3C%2Fsvg%3E")}.ui-icon-tag:after{background-image:url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpath%20fill%3D%22%23FFF%22%20d%3D%22M5%2C0H0v5l9%2C9l5-5L5%2C0z%20M3%2C4C2.447%2C4%2C2%2C3.553%2C2%2C3s0.447-1%2C1-1s1%2C0.447%2C1%2C1S3.553%2C4%2C3%2C4z%22%2F%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3C%2Fsvg%3E")}.ui-icon-user:after{background-image:url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpath%20fill%3D%22%23FFF%22%20d%3D%22M8.851%2C10.101c-0.18-0.399-0.2-0.763-0.153-1.104C9.383%2C8.49%2C9.738%2C7.621%2C9.891%2C6.465C10.493%2C6.355%2C10.5%2C5.967%2C10.5%2C5.5%20c0-0.437-0.008-0.804-0.502-0.94C9.999%2C4.539%2C10%2C4.521%2C10%2C4.5c0-2.103-1-4-2-4C8%2C0.5%2C7.5%2C0%2C6.5%2C0C5%2C0%2C4%2C1.877%2C4%2C4.5%20c0%2C0.021%2C0.001%2C0.039%2C0.002%2C0.06C3.508%2C4.696%2C3.5%2C5.063%2C3.5%2C5.5c0%2C0.467%2C0.007%2C0.855%2C0.609%2C0.965%20C4.262%2C7.621%2C4.617%2C8.49%2C5.303%2C8.997c0.047%2C0.341%2C0.026%2C0.704-0.153%2C1.104C1.503%2C10.503%2C0%2C12%2C0%2C12v2h14v-2%20C14%2C12%2C12.497%2C10.503%2C8.851%2C10.101z%22%2F%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3C%2Fsvg%3E")}.ui-icon-video:after{background-image:url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%20-2%2014%2014%22%20style%3D%22enable-background%3Anew%200%20-2%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpath%20style%3D%22fill%3A%23FFFFFF%3B%22%20d%3D%22M8%2C0H2C0.896%2C0%2C0%2C0.896%2C0%2C2v6c0%2C1.104%2C0.896%2C2%2C2%2C2h6c1.104%2C0%2C2-0.896%2C2-2V5V2C10%2C0.896%2C9.104%2C0%2C8%2C0z%20%20M10%2C5l4%2C4V1L10%2C5z%22%2F%3E%3C%2Fsvg%3E")}.ui-alt-icon.ui-icon-action:after,.ui-alt-icon .ui-icon-action:after{background-image:url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpath%20d%3D%22M9%2C5v3l5-4L9%2C0v3c0%2C0-5%2C0-5%2C7C6%2C5%2C9%2C5%2C9%2C5z%20M11%2C12H2V5h1l2-2H0v11h13V7l-2%2C2V12z%22%2F%3E%3C%2Fsvg%3E")}.ui-alt-icon.ui-icon-alert:after,.ui-alt-icon .ui-icon-alert:after{background-image:url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpath%20d%3D%22M7%2C0L0%2C12h14L7%2C0z%20M7%2C11c-0.553%2C0-1-0.447-1-1s0.447-1%2C1-1c0.553%2C0%2C1%2C0.447%2C1%2C1S7.553%2C11%2C7%2C11z%20M7%2C8C6.447%2C8%2C6%2C7.553%2C6%2C7V5%20c0-0.553%2C0.447-1%2C1-1c0.553%2C0%2C1%2C0.447%2C1%2C1v2C8%2C7.553%2C7.553%2C8%2C7%2C8z%22%2F%3E%3C%2Fsvg%3E")}.ui-alt-icon.ui-icon-arrow-d:after,.ui-alt-icon .ui-icon-arrow-d:after{background-image:url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpolygon%20points%3D%229%2C7%209%2C0%205%2C0%205%2C7%200%2C7%207%2C14%2014%2C7%20%22%2F%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3C%2Fsvg%3E")}.ui-alt-icon.ui-icon-arrow-d-l:after,.ui-alt-icon .ui-icon-arrow-d-l:after{background-image:url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpolygon%20points%3D%2214%2C3%2011%2C0%203.5%2C7.5%200%2C4%200%2C14%2010%2C14%206.5%2C10.5%20%22%2F%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3C%2Fsvg%3E")}.ui-alt-icon.ui-icon-arrow-d-r:after,.ui-alt-icon .ui-icon-arrow-d-r:after{background-image:url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpolygon%20points%3D%2210.5%2C7.5%203%2C0%200%2C3%207.5%2C10.5%204%2C14%2014%2C14%2014%2C4%20%22%2F%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3C%2Fsvg%3E")}.ui-alt-icon.ui-icon-arrow-l:after,.ui-alt-icon .ui-icon-arrow-l:after{background-image:url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpolygon%20points%3D%227%2C5%207%2C0%200%2C7%207%2C14%207%2C9%2014%2C9%2014%2C5%20%22%2F%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3C%2Fsvg%3E")}.ui-alt-icon.ui-icon-arrow-r:after,.ui-alt-icon .ui-icon-arrow-r:after{background-image:url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpolygon%20points%3D%2214%2C7%207%2C0%207%2C5%200%2C5%200%2C9%207%2C9%207%2C14%20%22%2F%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3C%2Fsvg%3E")}.ui-alt-icon.ui-icon-arrow-u:after,.ui-alt-icon .ui-icon-arrow-u:after{background-image:url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpolygon%20points%3D%227%2C0%200%2C7%205%2C7%205%2C14%209%2C14%209%2C7%2014%2C7%20%22%2F%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3C%2Fsvg%3E")}.ui-alt-icon.ui-icon-arrow-u-l:after,.ui-alt-icon .ui-icon-arrow-u-l:after{background-image:url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpolygon%20points%3D%2214%2C11%206.5%2C3.5%2010%2C0%200%2C0%200%2C10%203.5%2C6.5%2011%2C14%20%22%2F%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3C%2Fsvg%3E")}.ui-alt-icon.ui-icon-arrow-u-r:after,.ui-alt-icon .ui-icon-arrow-u-r:after{background-image:url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpolygon%20points%3D%2214%2C0%204%2C0%207.5%2C3.5%200%2C11%203%2C14%2010.5%2C6.5%2014%2C10%20%22%2F%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3C%2Fsvg%3E")}.ui-alt-icon.ui-icon-audio:after,.ui-alt-icon .ui-icon-audio:after{background-image:url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214.018px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014.018%2014%22%20style%3D%22enable-background%3Anew%200%200%2014.018%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpath%20d%3D%22M1%2C4C0.447%2C4%2C0%2C4.447%2C0%2C5v4c0%2C0.553%2C0.447%2C1%2C1%2C1h1l4%2C4V0L2%2C4H1z%20M10.346%2C7c0-1.699-1.042-3.154-2.546-3.867L6.982%2C4.68%20C7.885%2C5.107%2C8.51%2C5.98%2C8.51%2C7S7.885%2C8.893%2C6.982%2C9.32L7.8%2C10.867C9.304%2C10.154%2C10.346%2C8.699%2C10.346%2C7z%20M9.447%2C0.017L8.618%2C1.586%20C10.723%2C2.584%2C12.182%2C4.621%2C12.182%2C7s-1.459%2C4.416-3.563%2C5.414l0.829%2C1.569c2.707-1.283%2C4.57-3.925%2C4.57-6.983%20S12.154%2C1.3%2C9.447%2C0.017z%22%2F%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3C%2Fsvg%3E")}.ui-alt-icon.ui-icon-back:after,.ui-alt-icon .ui-icon-back:after{background-image:url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpath%20d%3D%22M5%2C3V0L1%2C4l4%2C4V5c0%2C0%2C6%2C0%2C6%2C3s-5%2C4-5%2C4v2c0%2C0%2C7-1%2C7-6C13%2C4%2C8%2C3%2C5%2C3z%22%2F%3E%3C%2Fsvg%3E")}.ui-alt-icon.ui-icon-bars:after,.ui-alt-icon .ui-icon-bars:after{background-image:url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpath%20d%3D%22M1%2C4h12c0.553%2C0%2C1-0.447%2C1-1s-0.447-1-1-1H1C0.447%2C2%2C0%2C2.447%2C0%2C3S0.447%2C4%2C1%2C4z%20M13%2C6H1C0.447%2C6%2C0%2C6.447%2C0%2C7%20c0%2C0.553%2C0.447%2C1%2C1%2C1h12c0.553%2C0%2C1-0.447%2C1-1C14%2C6.447%2C13.553%2C6%2C13%2C6z%20M13%2C10H1c-0.553%2C0-1%2C0.447-1%2C1s0.447%2C1%2C1%2C1h12%20c0.553%2C0%2C1-0.447%2C1-1S13.553%2C10%2C13%2C10z%22%2F%3E%3C%2Fsvg%3E")}.ui-alt-icon.ui-icon-bullets:after,.ui-alt-icon .ui-icon-bullets:after{background-image:url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpath%20d%3D%22M5%2C4h8c0.553%2C0%2C1-0.447%2C1-1s-0.447-1-1-1H5C4.447%2C2%2C4%2C2.447%2C4%2C3S4.447%2C4%2C5%2C4z%20M13%2C6H5C4.447%2C6%2C4%2C6.447%2C4%2C7%20c0%2C0.553%2C0.447%2C1%2C1%2C1h8c0.553%2C0%2C1-0.447%2C1-1C14%2C6.447%2C13.553%2C6%2C13%2C6z%20M13%2C10H5c-0.553%2C0-1%2C0.447-1%2C1s0.447%2C1%2C1%2C1h8%20c0.553%2C0%2C1-0.447%2C1-1S13.553%2C10%2C13%2C10z%20M1%2C2C0.447%2C2%2C0%2C2.447%2C0%2C3s0.447%2C1%2C1%2C1s1-0.447%2C1-1S1.553%2C2%2C1%2C2z%20M1%2C6C0.447%2C6%2C0%2C6.447%2C0%2C7%20c0%2C0.553%2C0.447%2C1%2C1%2C1s1-0.447%2C1-1C2%2C6.447%2C1.553%2C6%2C1%2C6z%20M1%2C10c-0.553%2C0-1%2C0.447-1%2C1s0.447%2C1%2C1%2C1s1-0.447%2C1-1S1.553%2C10%2C1%2C10z%22%2F%3E%3C%2Fsvg%3E")}.ui-alt-icon.ui-icon-calendar:after,.ui-alt-icon .ui-icon-calendar:after{background-image:url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpath%20d%3D%22M0%2C8h2V6H0V8z%20M3%2C8h2V6H3V8z%20M6%2C8h2V6H6V8z%20M9%2C8h2V6H9V8z%20M12%2C8h2V6h-2V8z%20M0%2C11h2V9H0V11z%20M3%2C11h2V9H3V11z%20M6%2C11h2V9H6V11z%20%20M9%2C11h2V9H9V11z%20M12%2C11h2V9h-2V11z%20M0%2C14h2v-2H0V14z%20M3%2C14h2v-2H3V14z%20M6%2C14h2v-2H6V14z%20M9%2C14h2v-2H9V14z%20M12%2C1%20c0-0.553-0.447-1-1-1s-1%2C0.447-1%2C1H4c0-0.553-0.447-1-1-1S2%2C0.447%2C2%2C1H0v4h14V1H12z%22%2F%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3C%2Fsvg%3E")}.ui-alt-icon.ui-icon-camera:after,.ui-alt-icon .ui-icon-camera:after{background-image:url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpath%20d%3D%22M12%2C2.5H9.908c-0.206-0.581-0.756-1-1.408-1h-3c-0.652%2C0-1.202%2C0.419-1.408%2C1H2c-1.104%2C0-2%2C0.896-2%2C2v6c0%2C1.104%2C0.896%2C2%2C2%2C2%20h10c1.104%2C0%2C2-0.896%2C2-2v-6C14%2C3.396%2C13.104%2C2.5%2C12%2C2.5z%20M7%2C10.5c-1.657%2C0-3-1.344-3-3c0-1.657%2C1.343-3%2C3-3s3%2C1.343%2C3%2C3%20C10%2C9.156%2C8.657%2C10.5%2C7%2C10.5z%20M7%2C5.5c-1.104%2C0-2%2C0.896-2%2C2c0%2C1.104%2C0.896%2C2%2C2%2C2c1.104%2C0%2C2-0.896%2C2-2C9%2C6.396%2C8.104%2C5.5%2C7%2C5.5z%22%2F%3E%3C%2Fsvg%3E")}.ui-alt-icon.ui-icon-carat-d:after,.ui-alt-icon .ui-icon-carat-d:after{background-image:url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpolygon%20points%3D%2211.949%2C3.404%207%2C8.354%202.05%2C3.404%20-0.071%2C5.525%207%2C12.596%2014.07%2C5.525%20%22%2F%3E%3C%2Fsvg%3E")}.ui-alt-icon.ui-icon-carat-l:after,.ui-alt-icon .ui-icon-carat-l:after{background-image:url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpolygon%20points%3D%2210.596%2C11.949%205.646%2C7%2010.596%2C2.05%208.475%2C-0.071%201.404%2C7%208.475%2C14.07%20%22%2F%3E%3C%2Fsvg%3E")}.ui-alt-icon.ui-icon-carat-r:after,.ui-alt-icon .ui-icon-carat-r:after{background-image:url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpolygon%20points%3D%223.404%2C2.051%208.354%2C7%203.404%2C11.95%205.525%2C14.07%2012.596%2C7%205.525%2C-0.071%20%22%2F%3E%3C%2Fsvg%3E")}.ui-alt-icon.ui-icon-carat-u:after,.ui-alt-icon .ui-icon-carat-u:after{background-image:url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpolygon%20points%3D%222.051%2C10.596%207%2C5.646%2011.95%2C10.596%2014.07%2C8.475%207%2C1.404%20-0.071%2C8.475%20%22%2F%3E%3C%2Fsvg%3E")}.ui-alt-icon.ui-icon-check:after,.ui-alt-icon .ui-icon-check:after,html .ui-alt-icon.ui-btn.ui-checkbox-on:after,html .ui-alt-icon .ui-btn.ui-checkbox-on:after{background-image:url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpolygon%20points%3D%2214%2C4%2011%2C1%205.003%2C6.997%203%2C5%200%2C8%204.966%2C13%204.983%2C12.982%205%2C13%20%22%2F%3E%3C%2Fsvg%3E")}.ui-alt-icon.ui-icon-clock:after,.ui-alt-icon .ui-icon-clock:after{background-image:url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpath%20d%3D%22M7%2C0C3.134%2C0%2C0%2C3.134%2C0%2C7s3.134%2C7%2C7%2C7s7-3.134%2C7-7S10.866%2C0%2C7%2C0z%20M7%2C12c-2.762%2C0-5-2.238-5-5s2.238-5%2C5-5s5%2C2.238%2C5%2C5%20S9.762%2C12%2C7%2C12z%20M9%2C6H8V4c0-0.553-0.447-1-1-1S6%2C3.447%2C6%2C4v3c0%2C0.553%2C0.447%2C1%2C1%2C1h2c0.553%2C0%2C1-0.447%2C1-1S9.553%2C6%2C9%2C6z%22%2F%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3C%2Fsvg%3E")}.ui-alt-icon.ui-icon-cloud:after,.ui-alt-icon .ui-icon-cloud:after{background-image:url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpath%20d%3D%22M14%2C9.5c0-0.793-0.465-1.473-1.134-1.795C12.949%2C7.484%2C13%2C7.249%2C13%2C7c0-1.104-0.896-2-2-2c-0.158%2C0-0.311%2C0.023-0.457%2C0.058%20C9.816%2C3.549%2C8.286%2C2.5%2C6.5%2C2.5c-2.33%2C0-4.224%2C1.777-4.454%2C4.046C0.883%2C6.76%2C0%2C7.773%2C0%2C9c0%2C1.381%2C1.119%2C2.5%2C2.5%2C2.5h10v-0.07%20C13.361%2C11.206%2C14%2C10.432%2C14%2C9.5z%22%2F%3E%3C%2Fsvg%3E")}.ui-alt-icon.ui-icon-comment:after,.ui-alt-icon .ui-icon-comment:after{background-image:url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpath%20d%3D%22M12%2C0H2C0.896%2C0%2C0%2C0.896%2C0%2C2v7c0%2C1.104%2C0.896%2C2%2C2%2C2h1v3l3-3h6c1.104%2C0%2C2-0.896%2C2-2V2C14%2C0.896%2C13.104%2C0%2C12%2C0z%22%2F%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3C%2Fsvg%3E")}.ui-alt-icon.ui-icon-delete:after,.ui-alt-icon .ui-icon-delete:after{background-image:url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpolygon%20points%3D%2214%2C3%2011%2C0%207%2C4%203%2C0%200%2C3%204%2C7%200%2C11%203%2C14%207%2C10%2011%2C14%2014%2C11%2010%2C7%20%22%2F%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3C%2Fsvg%3E")}.ui-alt-icon.ui-icon-edit:after,.ui-alt-icon .ui-icon-edit:after{background-image:url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpath%20d%3D%22M1%2C10l-1%2C4l4-1l7-7L8%2C3L1%2C10z%20M11%2C0L9%2C2l3%2C3l2-2L11%2C0z%22%2F%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3C%2Fsvg%3E")}.ui-alt-icon.ui-icon-eye:after,.ui-alt-icon .ui-icon-eye:after{background-image:url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpath%20d%3D%22M7%2C2C3%2C2%2C0%2C7%2C0%2C7s3%2C5%2C7%2C5s7-5%2C7-5S11%2C2%2C7%2C2z%20M7%2C10c-1.657%2C0-3-1.344-3-3c0-1.657%2C1.343-3%2C3-3s3%2C1.343%2C3%2C3%20C10%2C8.656%2C8.657%2C10%2C7%2C10z%20M7%2C6C6.448%2C6%2C6%2C6.447%2C6%2C7c0%2C0.553%2C0.448%2C1%2C1%2C1s1-0.447%2C1-1C8%2C6.447%2C7.552%2C6%2C7%2C6z%22%2F%3E%3C%2Fsvg%3E")}.ui-alt-icon.ui-icon-forbidden:after,.ui-alt-icon .ui-icon-forbidden:after{background-image:url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpath%20d%3D%22M12.601%2C11.187C13.476%2C10.018%2C14%2C8.572%2C14%2C7c0-3.866-3.134-7-7-7C5.428%2C0%2C3.982%2C0.524%2C2.813%2C1.399L2.757%2C1.343L2.053%2C2.048%20L2.048%2C2.053L1.343%2C2.758l0.056%2C0.056C0.524%2C3.982%2C0%2C5.428%2C0%2C7c0%2C3.866%2C3.134%2C7%2C7%2C7c1.572%2C0%2C3.018-0.524%2C4.187-1.399l0.056%2C0.057%20l0.705-0.705l0.005-0.005l0.705-0.705L12.601%2C11.187z%20M7%2C2c2.761%2C0%2C5%2C2.238%2C5%2C5c0%2C1.019-0.308%2C1.964-0.832%2C2.754L4.246%2C2.832%20C5.036%2C2.308%2C5.981%2C2%2C7%2C2z%20M7%2C12c-2.761%2C0-5-2.238-5-5c0-1.019%2C0.308-1.964%2C0.832-2.754l6.922%2C6.922C8.964%2C11.692%2C8.019%2C12%2C7%2C12z%22%2F%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3C%2Fsvg%3E")}.ui-alt-icon.ui-icon-forward:after,.ui-alt-icon .ui-icon-forward:after{background-image:url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpath%20d%3D%22M13%2C4L9%2C0v3C6%2C3%2C1%2C4%2C1%2C8c0%2C5%2C7%2C6%2C7%2C6v-2c0%2C0-5-1-5-4s6-3%2C6-3v3L13%2C4z%22%2F%3E%3C%2Fsvg%3E")}.ui-alt-icon.ui-icon-gear:after,.ui-alt-icon .ui-icon-gear:after{background-image:url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpath%20d%3D%22M13.621%2C5.904l-1.036-0.259c-0.168-0.042-0.303-0.168-0.355-0.332c-0.092-0.284-0.205-0.559-0.339-0.82%20c-0.079-0.153-0.073-0.337%2C0.017-0.486l0.549-0.915c0.118-0.196%2C0.088-0.448-0.075-0.61l-0.862-0.863%20c-0.162-0.163-0.414-0.193-0.611-0.075l-0.916%2C0.55C9.844%2C2.182%2C9.659%2C2.188%2C9.506%2C2.109C9.244%2C1.975%2C8.97%2C1.861%2C8.686%2C1.77%20c-0.165-0.052-0.29-0.187-0.332-0.354L8.095%2C0.379C8.039%2C0.156%2C7.839%2C0%2C7.609%2C0H6.391c-0.229%2C0-0.43%2C0.156-0.485%2C0.379L5.646%2C1.415%20C5.604%2C1.582%2C5.479%2C1.718%2C5.313%2C1.77c-0.284%2C0.092-0.559%2C0.206-0.82%2C0.34C4.339%2C2.188%2C4.155%2C2.182%2C4.007%2C2.093L3.092%2C1.544%20c-0.196-0.118-0.448-0.087-0.61%2C0.075L1.619%2C2.481C1.457%2C2.644%2C1.426%2C2.896%2C1.544%2C3.093l0.549%2C0.914%20c0.089%2C0.148%2C0.095%2C0.332%2C0.017%2C0.486C1.975%2C4.755%2C1.861%2C5.029%2C1.77%2C5.314c-0.053%2C0.164-0.188%2C0.29-0.354%2C0.332L0.379%2C5.905%20C0.156%2C5.961%2C0%2C6.161%2C0%2C6.391v1.219c0%2C0.229%2C0.156%2C0.43%2C0.379%2C0.485l1.036%2C0.26C1.582%2C8.396%2C1.717%2C8.521%2C1.77%2C8.687%20c0.092%2C0.284%2C0.205%2C0.559%2C0.34%2C0.82C2.188%2C9.66%2C2.182%2C9.844%2C2.093%2C9.993l-0.549%2C0.915c-0.118%2C0.195-0.087%2C0.448%2C0.075%2C0.61%20l0.862%2C0.862c0.162%2C0.163%2C0.414%2C0.193%2C0.61%2C0.075l0.915-0.549c0.148-0.089%2C0.332-0.095%2C0.486-0.017%20c0.262%2C0.135%2C0.536%2C0.248%2C0.82%2C0.34c0.165%2C0.053%2C0.291%2C0.187%2C0.332%2C0.354l0.259%2C1.036C5.96%2C13.844%2C6.16%2C14%2C6.39%2C14h1.22%20c0.229%2C0%2C0.43-0.156%2C0.485-0.379l0.259-1.036c0.042-0.167%2C0.168-0.302%2C0.333-0.354c0.284-0.092%2C0.559-0.205%2C0.82-0.34%20c0.154-0.078%2C0.338-0.072%2C0.486%2C0.017l0.914%2C0.549c0.197%2C0.118%2C0.449%2C0.088%2C0.611-0.074l0.862-0.863%20c0.163-0.162%2C0.193-0.415%2C0.075-0.611l-0.549-0.915c-0.089-0.148-0.096-0.332-0.017-0.485c0.134-0.263%2C0.248-0.536%2C0.339-0.82%20c0.053-0.165%2C0.188-0.291%2C0.355-0.333l1.036-0.259C13.844%2C8.039%2C14%2C7.839%2C14%2C7.609V6.39C14%2C6.16%2C13.844%2C5.96%2C13.621%2C5.904z%20M7%2C10%20c-1.657%2C0-3-1.343-3-3s1.343-3%2C3-3s3%2C1.343%2C3%2C3S8.657%2C10%2C7%2C10z%22%2F%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3C%2Fsvg%3E")}.ui-alt-icon.ui-icon-grid:after,.ui-alt-icon .ui-icon-grid:after{background-image:url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpath%20d%3D%22M3%2C0H1C0.447%2C0%2C0%2C0.447%2C0%2C1v2c0%2C0.553%2C0.447%2C1%2C1%2C1h2c0.553%2C0%2C1-0.447%2C1-1V1C4%2C0.447%2C3.553%2C0%2C3%2C0z%20M8%2C0H6%20C5.447%2C0%2C5%2C0.447%2C5%2C1v2c0%2C0.553%2C0.447%2C1%2C1%2C1h2c0.553%2C0%2C1-0.447%2C1-1V1C9%2C0.447%2C8.553%2C0%2C8%2C0z%20M13%2C0h-2c-0.553%2C0-1%2C0.447-1%2C1v2%20c0%2C0.553%2C0.447%2C1%2C1%2C1h2c0.553%2C0%2C1-0.447%2C1-1V1C14%2C0.447%2C13.553%2C0%2C13%2C0z%20M3%2C5H1C0.447%2C5%2C0%2C5.447%2C0%2C6v2c0%2C0.553%2C0.447%2C1%2C1%2C1h2%20c0.553%2C0%2C1-0.447%2C1-1V6C4%2C5.447%2C3.553%2C5%2C3%2C5z%20M8%2C5H6C5.447%2C5%2C5%2C5.447%2C5%2C6v2c0%2C0.553%2C0.447%2C1%2C1%2C1h2c0.553%2C0%2C1-0.447%2C1-1V6%20C9%2C5.447%2C8.553%2C5%2C8%2C5z%20M13%2C5h-2c-0.553%2C0-1%2C0.447-1%2C1v2c0%2C0.553%2C0.447%2C1%2C1%2C1h2c0.553%2C0%2C1-0.447%2C1-1V6C14%2C5.447%2C13.553%2C5%2C13%2C5z%20M3%2C10%20H1c-0.553%2C0-1%2C0.447-1%2C1v2c0%2C0.553%2C0.447%2C1%2C1%2C1h2c0.553%2C0%2C1-0.447%2C1-1v-2C4%2C10.447%2C3.553%2C10%2C3%2C10z%20M8%2C10H6c-0.553%2C0-1%2C0.447-1%2C1v2%20c0%2C0.553%2C0.447%2C1%2C1%2C1h2c0.553%2C0%2C1-0.447%2C1-1v-2C9%2C10.447%2C8.553%2C10%2C8%2C10z%20M13%2C10h-2c-0.553%2C0-1%2C0.447-1%2C1v2c0%2C0.553%2C0.447%2C1%2C1%2C1h2%20c0.553%2C0%2C1-0.447%2C1-1v-2C14%2C10.447%2C13.553%2C10%2C13%2C10z%22%2F%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3C%2Fsvg%3E")}.ui-alt-icon.ui-icon-heart:after,.ui-alt-icon .ui-icon-heart:after{background-image:url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpath%20d%3D%22M7%2C1.958c-2-3-7-2.128-7%2C1.872c0%2C3%2C4%2C7%2C4%2C7s2.417%2C2.48%2C3%2C3c0.583-0.52%2C3-3%2C3-3s4-4%2C4-7C14-0.169%2C9-1.042%2C7%2C1.958z%22%2F%3E%3C%2Fsvg%3E")}.ui-alt-icon.ui-icon-home:after,.ui-alt-icon .ui-icon-home:after{background-image:url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpolygon%20points%3D%227%2C0%200%2C7%202%2C7%202%2C14%205%2C14%205%2C9%209%2C9%209%2C14%2012%2C14%2012%2C7%2014%2C7%20%22%2F%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3C%2Fsvg%3E")}.ui-alt-icon.ui-icon-info:after,.ui-alt-icon .ui-icon-info:after{background-image:url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpath%20d%3D%22M7%2C0C3.134%2C0%2C0%2C3.134%2C0%2C7s3.134%2C7%2C7%2C7s7-3.134%2C7-7S10.866%2C0%2C7%2C0z%20M7%2C2c0.552%2C0%2C1%2C0.447%2C1%2C1S7.552%2C4%2C7%2C4S6%2C3.553%2C6%2C3%20S6.448%2C2%2C7%2C2z%20M9%2C11H5v-1h1V6H5V5h3v5h1V11z%22%2F%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3C%2Fsvg%3E")}.ui-alt-icon.ui-icon-location:after,.ui-alt-icon .ui-icon-location:after{background-image:url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpath%20d%3D%22M7%2C0C4.791%2C0%2C3%2C1.791%2C3%2C4c0%2C2%2C4%2C10%2C4%2C10s4-8%2C4-10C11%2C1.791%2C9.209%2C0%2C7%2C0z%20M7%2C6C5.896%2C6%2C5%2C5.104%2C5%2C4s0.896-2%2C2-2%20c1.104%2C0%2C2%2C0.896%2C2%2C2S8.104%2C6%2C7%2C6z%22%2F%3E%3C%2Fsvg%3E")}.ui-alt-icon.ui-icon-lock:after,.ui-alt-icon .ui-icon-lock:after{background-image:url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpath%20d%3D%22M12%2C6V5c0-2.762-2.238-5-5-5C4.239%2C0%2C2%2C2.238%2C2%2C5v1H1v8h12V6H12z%20M7.5%2C9.848V12h-1V9.848C6.207%2C9.673%2C6%2C9.366%2C6%2C9%20c0-0.553%2C0.448-1%2C1-1s1%2C0.447%2C1%2C1C8%2C9.366%2C7.793%2C9.673%2C7.5%2C9.848z%20M10%2C6H4V5c0-1.657%2C1.343-3%2C3-3s3%2C1.343%2C3%2C3V6z%22%2F%3E%3C%2Fsvg%3E")}.ui-alt-icon.ui-icon-mail:after,.ui-alt-icon .ui-icon-mail:after{background-image:url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpath%20d%3D%22M0%2C3.75V12h14V3.75L7%2C9L0%2C3.75z%20M14%2C2H0l7%2C5L14%2C2z%22%2F%3E%3C%2Fsvg%3E")}.ui-alt-icon.ui-icon-minus:after,.ui-alt-icon .ui-icon-minus:after{background-image:url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Crect%20y%3D%225%22%20width%3D%2214%22%20height%3D%224%22%2F%3E%3C%2Fsvg%3E")}.ui-alt-icon.ui-icon-navigation:after,.ui-alt-icon .ui-icon-navigation:after{background-image:url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpolygon%20points%3D%2213%2C1%200%2C6%207%2C7%208%2C14%20%22%2F%3E%3C%2Fsvg%3E")}.ui-alt-icon.ui-icon-phone:after,.ui-alt-icon .ui-icon-phone:after{background-image:url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpath%20d%3D%22M6.949%2C9.182C6.175%2C8.549%2C5.281%2C7.697%2C4.507%2C6.736C3.963%2C6.063%2C3.483%2C5.355%2C3.979%2C4.858l-3.482-3.48%20c-0.508%2C0.634-1.633%2C3.654%2C3.188%2C8.598c5.08%2C5.211%2C8.356%2C4.097%2C8.92%2C3.511l-3.396-3.399C8.734%2C10.561%2C8.123%2C10.139%2C6.949%2C9.182z%20%20M13.83%2C11.512v-0.004c0%2C0-2.648-2.646-2.649-2.647c-0.21-0.212-0.546-0.205-0.754%2C0.002L9.465%2C9.823l3.402%2C3.407%20c0%2C0%2C0.963-0.961%2C0.961-0.961l0.002-0.002C14.053%2C12.049%2C14.031%2C11.713%2C13.83%2C11.512z%20M5.202%2C3.636V3.634%20c0.222-0.222%2C0.2-0.557%2C0-0.758V2.873c0%2C0-2.726-2.725-2.727-2.726c-0.21-0.21-0.545-0.205-0.753%2C0.001L0.761%2C1.113L4.24%2C4.595%20C4.241%2C4.596%2C5.202%2C3.637%2C5.202%2C3.636z%22%2F%3E%3C%2Fsvg%3E")}.ui-alt-icon.ui-icon-plus:after,.ui-alt-icon .ui-icon-plus:after{background-image:url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpolygon%20points%3D%2214%2C5%209%2C5%209%2C0%205%2C0%205%2C5%200%2C5%200%2C9%205%2C9%205%2C14%209%2C14%209%2C9%2014%2C9%20%22%2F%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3C%2Fsvg%3E")}.ui-alt-icon.ui-icon-power:after,.ui-alt-icon .ui-icon-power:after{background-image:url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpath%20d%3D%22M11.243%2C2.408c-0.392-0.401-1.024-0.401-1.415%2C0c-0.391%2C0.401-0.391%2C1.054%2C0%2C1.455C10.584%2C4.642%2C11%2C5.675%2C11%2C6.773%20s-0.416%2C2.133-1.172%2C2.91c-1.512%2C1.558-4.145%2C1.558-5.656%2C0C3.416%2C8.904%2C3%2C7.872%2C3%2C6.773C3%2C5.673%2C3.416%2C4.64%2C4.172%2C3.863%20c0.39-0.401%2C0.39-1.054%2C0-1.455c-0.391-0.401-1.024-0.401-1.415%2C0C1.624%2C3.574%2C1%2C5.125%2C1%2C6.773c0%2C1.647%2C0.624%2C3.199%2C1.757%2C4.365%20c1.134%2C1.166%2C2.64%2C1.809%2C4.243%2C1.809c1.604%2C0%2C3.109-0.645%2C4.243-1.811C12.376%2C9.975%2C13%2C8.423%2C13%2C6.773%20C13%2C5.125%2C12.376%2C3.574%2C11.243%2C2.408z%20M7%2C8.053c0.553%2C0%2C1-0.445%2C1-1v-6c0-0.553-0.447-1-1-1c-0.553%2C0-1%2C0.447-1%2C1v6%20C6%2C7.604%2C6.447%2C8.053%2C7%2C8.053z%22%2F%3E%3C%2Fsvg%3E")}.ui-alt-icon.ui-icon-recycle:after,.ui-alt-icon .ui-icon-recycle:after{background-image:url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpath%20d%3D%22M3%2C7h1L2%2C4L0%2C7h1c0%2C3.313%2C2.687%2C6%2C6%2C6c0.702%2C0%2C1.374-0.127%2C2-0.35v-2.205C8.41%2C10.789%2C7.732%2C11%2C7%2C11C4.791%2C11%2C3%2C9.209%2C3%2C7z%20%20M13%2C7c0-3.313-2.688-6-6-6C6.298%2C1%2C5.626%2C1.127%2C5%2C1.349v2.206C5.59%2C3.211%2C6.268%2C3%2C7%2C3c2.209%2C0%2C4%2C1.791%2C4%2C4h-1l2%2C3l2-3H13z%22%2F%3E%3C%2Fsvg%3E")}.ui-alt-icon.ui-icon-refresh:after,.ui-alt-icon .ui-icon-refresh:after{background-image:url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214.001px%22%20height%3D%2214.002px%22%20viewBox%3D%220%200%2014.001%2014.002%22%20style%3D%22enable-background%3Anew%200%200%2014.001%2014.002%3B%22%20%20xml%3Aspace%3D%22preserve%22%3E%3Cpath%20d%3D%22M14.001%2C6.001v-6l-2.06%2C2.06c-0.423-0.424-0.897-0.809-1.44-1.122C7.153-0.994%2C2.872%2C0.153%2C0.939%2C3.501%20c-1.933%2C3.348-0.786%2C7.629%2C2.562%2C9.562c3.348%2C1.933%2C7.629%2C0.785%2C9.562-2.562l-1.732-1c-1.381%2C2.392-4.438%2C3.211-6.83%2C1.83%20s-3.211-4.438-1.83-6.83s4.438-3.211%2C6.83-1.83c0.389%2C0.225%2C0.718%2C0.506%2C1.02%2C0.81l-2.52%2C2.52H14.001z%22%2F%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3C%2Fsvg%3E")}.ui-alt-icon.ui-icon-search:after,.ui-alt-icon .ui-icon-search:after,.ui-input-search:after{background-image:url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpath%20d%3D%22M10.171%2C8.766c0.617-0.888%2C0.979-1.964%2C0.979-3.126c0-3.037-2.463-5.5-5.5-5.5s-5.5%2C2.463-5.5%2C5.5s2.463%2C5.5%2C5.5%2C5.5%20c1.152%2C0%2C2.223-0.355%2C3.104-0.962l3.684%2C3.683l1.414-1.414L10.171%2C8.766z%20M5.649%2C9.14c-1.933%2C0-3.5-1.567-3.5-3.5%20c0-1.933%2C1.567-3.5%2C3.5-3.5c1.933%2C0%2C3.5%2C1.567%2C3.5%2C3.5C9.149%2C7.572%2C7.582%2C9.14%2C5.649%2C9.14z%22%2F%3E%3C%2Fsvg%3E")}.ui-alt-icon.ui-icon-shop:after,.ui-alt-icon .ui-icon-shop:after{background-image:url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpath%20d%3D%22M10%2C4V3c0-1.657-1.343-3-3-3S4%2C1.343%2C4%2C3v1H1v10h12V4H10z%20M4.5%2C6C4.224%2C6%2C4%2C5.776%2C4%2C5.5S4.224%2C5%2C4.5%2C5S5%2C5.224%2C5%2C5.5%20S4.776%2C6%2C4.5%2C6z%20M5%2C3c0-1.104%2C0.896-2%2C2-2c1.104%2C0%2C2%2C0.896%2C2%2C2v1H5V3z%20M9.5%2C6C9.225%2C6%2C9%2C5.776%2C9%2C5.5S9.225%2C5%2C9.5%2C5S10%2C5.224%2C10%2C5.5%20S9.775%2C6%2C9.5%2C6z%22%2F%3E%3C%2Fsvg%3E")}.ui-alt-icon.ui-icon-star:after,.ui-alt-icon .ui-icon-star:after{background-image:url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpolygon%20points%3D%2214%2C5%209%2C5%207%2C0%205%2C5%200%2C5%204%2C8%202.625%2C13%207%2C10%2011.375%2C13%2010%2C8%20%22%2F%3E%3C%2Fsvg%3E")}.ui-alt-icon.ui-icon-tag:after,.ui-alt-icon .ui-icon-tag:after{background-image:url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpath%20d%3D%22M5%2C0H0v5l9%2C9l5-5L5%2C0z%20M3%2C4C2.447%2C4%2C2%2C3.553%2C2%2C3s0.447-1%2C1-1s1%2C0.447%2C1%2C1S3.553%2C4%2C3%2C4z%22%2F%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3C%2Fsvg%3E")}.ui-alt-icon.ui-icon-user:after,.ui-alt-icon .ui-icon-user:after{background-image:url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%200%2014%2014%22%20style%3D%22enable-background%3Anew%200%200%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpath%20d%3D%22M8.851%2C10.101c-0.18-0.399-0.2-0.763-0.153-1.104C9.383%2C8.49%2C9.738%2C7.621%2C9.891%2C6.465C10.493%2C6.355%2C10.5%2C5.967%2C10.5%2C5.5%20c0-0.437-0.008-0.804-0.502-0.94C9.999%2C4.539%2C10%2C4.521%2C10%2C4.5c0-2.103-1-4-2-4C8%2C0.5%2C7.5%2C0%2C6.5%2C0C5%2C0%2C4%2C1.877%2C4%2C4.5%20c0%2C0.021%2C0.001%2C0.039%2C0.002%2C0.06C3.508%2C4.696%2C3.5%2C5.063%2C3.5%2C5.5c0%2C0.467%2C0.007%2C0.855%2C0.609%2C0.965%20C4.262%2C7.621%2C4.617%2C8.49%2C5.303%2C8.997c0.047%2C0.341%2C0.026%2C0.704-0.153%2C1.104C1.503%2C10.503%2C0%2C12%2C0%2C12v2h14v-2%20C14%2C12%2C12.497%2C10.503%2C8.851%2C10.101z%22%2F%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3Cg%3E%3C%2Fg%3E%3C%2Fsvg%3E")}.ui-alt-icon.ui-icon-video:after,.ui-alt-icon .ui-icon-video:after{background-image:url("data:image/svg+xml;charset=US-ASCII,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22iso-8859-1%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%3E%3Csvg%20version%3D%221.1%22%20id%3D%22Layer_1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20x%3D%220px%22%20y%3D%220px%22%20%20width%3D%2214px%22%20height%3D%2214px%22%20viewBox%3D%220%20-2%2014%2014%22%20style%3D%22enable-background%3Anew%200%20-2%2014%2014%3B%22%20xml%3Aspace%3D%22preserve%22%3E%3Cpath%20d%3D%22M8%2C0H2C0.896%2C0%2C0%2C0.896%2C0%2C2v6c0%2C1.104%2C0.896%2C2%2C2%2C2h6c1.104%2C0%2C2-0.896%2C2-2V5V2C10%2C0.896%2C9.104%2C0%2C8%2C0z%20M10%2C5l4%2C4V1L10%2C5z%22%2F%3E%3C%2Fsvg%3E")}.ui-nosvg .ui-icon-action:after{background-image:url(images/icons-png/action-white.png)}.ui-nosvg .ui-icon-alert:after{background-image:url(images/icons-png/alert-white.png)}.ui-nosvg .ui-icon-arrow-d-l:after{background-image:url(images/icons-png/arrow-d-l-white.png)}.ui-nosvg .ui-icon-arrow-d-r:after{background-image:url(images/icons-png/arrow-d-r-white.png)}.ui-nosvg .ui-icon-arrow-d:after{background-image:url(images/icons-png/arrow-d-white.png)}.ui-nosvg .ui-icon-arrow-l:after{background-image:url(images/icons-png/arrow-l-white.png)}.ui-nosvg .ui-icon-arrow-r:after{background-image:url(images/icons-png/arrow-r-white.png)}.ui-nosvg .ui-icon-arrow-u-l:after{background-image:url(images/icons-png/arrow-u-l-white.png)}.ui-nosvg .ui-icon-arrow-u-r:after{background-image:url(images/icons-png/arrow-u-r-white.png)}.ui-nosvg .ui-icon-arrow-u:after{background-image:url(images/icons-png/arrow-u-white.png)}.ui-nosvg .ui-icon-audio:after{background-image:url(images/icons-png/audio-white.png)}.ui-nosvg .ui-icon-back:after{background-image:url(images/icons-png/back-white.png)}.ui-nosvg .ui-icon-bars:after{background-image:url(images/icons-png/bars-white.png)}.ui-nosvg .ui-icon-bullets:after{background-image:url(images/icons-png/bullets-white.png)}.ui-nosvg .ui-icon-calendar:after{background-image:url(images/icons-png/calendar-white.png)}.ui-nosvg .ui-icon-camera:after{background-image:url(images/icons-png/camera-white.png)}.ui-nosvg .ui-icon-carat-d:after{background-image:url(images/icons-png/carat-d-white.png)}.ui-nosvg .ui-icon-carat-l:after{background-image:url(images/icons-png/carat-l-white.png)}.ui-nosvg .ui-icon-carat-r:after{background-image:url(images/icons-png/carat-r-white.png)}.ui-nosvg .ui-icon-carat-u:after{background-image:url(images/icons-png/carat-u-white.png)}.ui-nosvg .ui-icon-check:after,html.ui-nosvg .ui-btn.ui-checkbox-on:after{background-image:url(images/icons-png/check-white.png)}.ui-nosvg .ui-icon-clock:after{background-image:url(images/icons-png/clock-white.png)}.ui-nosvg .ui-icon-cloud:after{background-image:url(images/icons-png/cloud-white.png)}.ui-nosvg .ui-icon-comment:after{background-image:url(images/icons-png/comment-white.png)}.ui-nosvg .ui-icon-delete:after{background-image:url(images/icons-png/delete-white.png)}.ui-nosvg .ui-icon-edit:after{background-image:url(images/icons-png/edit-white.png)}.ui-nosvg .ui-icon-eye:after{background-image:url(images/icons-png/eye-white.png)}.ui-nosvg .ui-icon-forbidden:after{background-image:url(images/icons-png/forbidden-white.png)}.ui-nosvg .ui-icon-forward:after{background-image:url(images/icons-png/forward-white.png)}.ui-nosvg .ui-icon-gear:after{background-image:url(images/icons-png/gear-white.png)}.ui-nosvg .ui-icon-grid:after{background-image:url(images/icons-png/grid-white.png)}.ui-nosvg .ui-icon-heart:after{background-image:url(images/icons-png/heart-white.png)}.ui-nosvg .ui-icon-home:after{background-image:url(images/icons-png/home-white.png)}.ui-nosvg .ui-icon-info:after{background-image:url(images/icons-png/info-white.png)}.ui-nosvg .ui-icon-location:after{background-image:url(images/icons-png/location-white.png)}.ui-nosvg .ui-icon-lock:after{background-image:url(images/icons-png/lock-white.png)}.ui-nosvg .ui-icon-mail:after{background-image:url(images/icons-png/mail-white.png)}.ui-nosvg .ui-icon-minus:after{background-image:url(images/icons-png/minus-white.png)}.ui-nosvg .ui-icon-navigation:after{background-image:url(images/icons-png/navigation-white.png)}.ui-nosvg .ui-icon-phone:after{background-image:url(images/icons-png/phone-white.png)}.ui-nosvg .ui-icon-plus:after{background-image:url(images/icons-png/plus-white.png)}.ui-nosvg .ui-icon-power:after{background-image:url(images/icons-png/power-white.png)}.ui-nosvg .ui-icon-recycle:after{background-image:url(images/icons-png/recycle-white.png)}.ui-nosvg .ui-icon-refresh:after{background-image:url(images/icons-png/refresh-white.png)}.ui-nosvg .ui-icon-search:after{background-image:url(images/icons-png/search-white.png)}.ui-nosvg .ui-icon-shop:after{background-image:url(images/icons-png/shop-white.png)}.ui-nosvg .ui-icon-star:after{background-image:url(images/icons-png/star-white.png)}.ui-nosvg .ui-icon-tag:after{background-image:url(images/icons-png/tag-white.png)}.ui-nosvg .ui-icon-user:after{background-image:url(images/icons-png/user-white.png)}.ui-nosvg .ui-icon-video:after{background-image:url(images/icons-png/video-white.png)}.ui-nosvg .ui-alt-icon.ui-icon-action:after,.ui-nosvg .ui-alt-icon .ui-icon-action:after{background-image:url(images/icons-png/action-black.png)}.ui-nosvg .ui-alt-icon.ui-icon-alert:after,.ui-nosvg .ui-alt-icon .ui-icon-alert:after{background-image:url(images/icons-png/alert-black.png)}.ui-nosvg .ui-alt-icon.ui-icon-arrow-d:after,.ui-nosvg .ui-alt-icon .ui-icon-arrow-d:after{background-image:url(images/icons-png/arrow-d-black.png)}.ui-nosvg .ui-alt-icon.ui-icon-arrow-d-l:after,.ui-nosvg .ui-alt-icon .ui-icon-arrow-d-l:after{background-image:url(images/icons-png/arrow-d-l-black.png)}.ui-nosvg .ui-alt-icon.ui-icon-arrow-d-r:after,.ui-nosvg .ui-alt-icon .ui-icon-arrow-d-r:after{background-image:url(images/icons-png/arrow-d-r-black.png)}.ui-nosvg .ui-alt-icon.ui-icon-arrow-l:after,.ui-nosvg .ui-alt-icon .ui-icon-arrow-l:after{background-image:url(images/icons-png/arrow-l-black.png)}.ui-nosvg .ui-alt-icon.ui-icon-arrow-r:after,.ui-nosvg .ui-alt-icon .ui-icon-arrow-r:after{background-image:url(images/icons-png/arrow-r-black.png)}.ui-nosvg .ui-alt-icon.ui-icon-arrow-u:after,.ui-nosvg .ui-alt-icon .ui-icon-arrow-u:after{background-image:url(images/icons-png/arrow-u-black.png)}.ui-nosvg .ui-alt-icon.ui-icon-arrow-u-l:after,.ui-nosvg .ui-alt-icon .ui-icon-arrow-u-l:after{background-image:url(images/icons-png/arrow-u-l-black.png)}.ui-nosvg .ui-alt-icon.ui-icon-arrow-u-r:after,.ui-nosvg .ui-alt-icon .ui-icon-arrow-u-r:after{background-image:url(images/icons-png/arrow-u-r-black.png)}.ui-nosvg .ui-alt-icon.ui-icon-audio:after,.ui-nosvg .ui-alt-icon .ui-icon-audio:after{background-image:url(images/icons-png/audio-black.png)}.ui-nosvg .ui-alt-icon.ui-icon-back:after,.ui-nosvg .ui-alt-icon .ui-icon-back:after{background-image:url(images/icons-png/back-black.png)}.ui-nosvg .ui-alt-icon.ui-icon-bars:after,.ui-nosvg .ui-alt-icon .ui-icon-bars:after{background-image:url(images/icons-png/bars-black.png)}.ui-nosvg .ui-alt-icon.ui-icon-bullets:after,.ui-nosvg .ui-alt-icon .ui-icon-bullets:after{background-image:url(images/icons-png/bullets-black.png)}.ui-nosvg .ui-alt-icon.ui-icon-calendar:after,.ui-nosvg .ui-alt-icon .ui-icon-calendar:after{background-image:url(images/icons-png/calendar-black.png)}.ui-nosvg .ui-alt-icon.ui-icon-camera:after,.ui-nosvg .ui-alt-icon .ui-icon-camera:after{background-image:url(images/icons-png/camera-black.png)}.ui-nosvg .ui-alt-icon.ui-icon-carat-d:after,.ui-nosvg .ui-alt-icon .ui-icon-carat-d:after{background-image:url(images/icons-png/carat-d-black.png)}.ui-nosvg .ui-alt-icon.ui-icon-carat-l:after,.ui-nosvg .ui-alt-icon .ui-icon-carat-l:after{background-image:url(images/icons-png/carat-l-black.png)}.ui-nosvg .ui-alt-icon.ui-icon-carat-r:after,.ui-nosvg .ui-alt-icon .ui-icon-carat-r:after{background-image:url(images/icons-png/carat-r-black.png)}.ui-nosvg .ui-alt-icon.ui-icon-carat-u:after,.ui-nosvg .ui-alt-icon .ui-icon-carat-u:after{background-image:url(images/icons-png/carat-u-black.png)}.ui-nosvg .ui-alt-icon.ui-icon-check:after,.ui-nosvg .ui-alt-icon .ui-icon-check:after,.ui-nosvg .ui-alt-icon.ui-btn.ui-checkbox-on:after,.ui-nosvg .ui-alt-icon .ui-btn.ui-checkbox-on:after{background-image:url(images/icons-png/check-black.png)}.ui-nosvg .ui-alt-icon.ui-icon-clock:after,.ui-nosvg .ui-alt-icon .ui-icon-clock:after{background-image:url(images/icons-png/clock-black.png)}.ui-nosvg .ui-alt-icon.ui-icon-cloud:after,.ui-nosvg .ui-alt-icon .ui-icon-cloud:after{background-image:url(images/icons-png/cloud-black.png)}.ui-nosvg .ui-alt-icon.ui-icon-comment:after,.ui-nosvg .ui-alt-icon .ui-icon-comment:after{background-image:url(images/icons-png/comment-black.png)}.ui-nosvg .ui-alt-icon.ui-icon-delete:after,.ui-nosvg .ui-alt-icon .ui-icon-delete:after{background-image:url(images/icons-png/delete-black.png)}.ui-nosvg .ui-alt-icon.ui-icon-edit:after,.ui-nosvg .ui-alt-icon .ui-icon-edit:after{background-image:url(images/icons-png/edit-black.png)}.ui-nosvg .ui-alt-icon.ui-icon-eye:after,.ui-nosvg .ui-alt-icon .ui-icon-eye:after{background-image:url(images/icons-png/eye-black.png)}.ui-nosvg .ui-alt-icon.ui-icon-forbidden:after,.ui-nosvg .ui-alt-icon .ui-icon-forbidden:after{background-image:url(images/icons-png/forbidden-black.png)}.ui-nosvg .ui-alt-icon.ui-icon-forward:after,.ui-nosvg .ui-alt-icon .ui-icon-forward:after{background-image:url(images/icons-png/forward-black.png)}.ui-nosvg .ui-alt-icon.ui-icon-gear:after,.ui-nosvg .ui-alt-icon .ui-icon-gear:after{background-image:url(images/icons-png/gear-black.png)}.ui-nosvg .ui-alt-icon.ui-icon-grid:after,.ui-nosvg .ui-alt-icon .ui-icon-grid:after{background-image:url(images/icons-png/grid-black.png)}.ui-nosvg .ui-alt-icon.ui-icon-heart:after,.ui-nosvg .ui-alt-icon .ui-icon-heart:after{background-image:url(images/icons-png/heart-black.png)}.ui-nosvg .ui-alt-icon.ui-icon-home:after,.ui-nosvg .ui-alt-icon .ui-icon-home:after{background-image:url(images/icons-png/home-black.png)}.ui-nosvg .ui-alt-icon.ui-icon-info:after,.ui-nosvg .ui-alt-icon .ui-icon-info:after{background-image:url(images/icons-png/info-black.png)}.ui-nosvg .ui-alt-icon.ui-icon-location:after,.ui-nosvg .ui-alt-icon .ui-icon-location:after{background-image:url(images/icons-png/location-black.png)}.ui-nosvg .ui-alt-icon.ui-icon-lock:after,.ui-nosvg .ui-alt-icon .ui-icon-lock:after{background-image:url(images/icons-png/lock-black.png)}.ui-nosvg .ui-alt-icon.ui-icon-mail:after,.ui-nosvg .ui-alt-icon .ui-icon-mail:after{background-image:url(images/icons-png/mail-black.png)}.ui-nosvg .ui-alt-icon.ui-icon-minus:after,.ui-nosvg .ui-alt-icon .ui-icon-minus:after{background-image:url(images/icons-png/minus-black.png)}.ui-nosvg .ui-alt-icon.ui-icon-navigation:after,.ui-nosvg .ui-alt-icon .ui-icon-navigation:after{background-image:url(images/icons-png/navigation-black.png)}.ui-nosvg .ui-alt-icon.ui-icon-phone:after,.ui-nosvg .ui-alt-icon .ui-icon-phone:after{background-image:url(images/icons-png/phone-black.png)}.ui-nosvg .ui-alt-icon.ui-icon-plus:after,.ui-nosvg .ui-alt-icon .ui-icon-plus:after{background-image:url(images/icons-png/plus-black.png)}.ui-nosvg .ui-alt-icon.ui-icon-power:after,.ui-nosvg .ui-alt-icon .ui-icon-power:after{background-image:url(images/icons-png/power-black.png)}.ui-nosvg .ui-alt-icon.ui-icon-recycle:after,.ui-nosvg .ui-alt-icon .ui-icon-recycle:after{background-image:url(images/icons-png/recycle-black.png)}.ui-nosvg .ui-alt-icon.ui-icon-refresh:after,.ui-nosvg .ui-alt-icon .ui-icon-refresh:after{background-image:url(images/icons-png/refresh-black.png)}.ui-nosvg .ui-alt-icon.ui-icon-search:after,.ui-nosvg .ui-alt-icon .ui-icon-search:after,.ui-nosvg .ui-input-search:after{background-image:url(images/icons-png/search-black.png)}.ui-nosvg .ui-alt-icon.ui-icon-shop:after,.ui-nosvg .ui-alt-icon .ui-icon-shop:after{background-image:url(images/icons-png/shop-black.png)}.ui-nosvg .ui-alt-icon.ui-icon-star:after,.ui-nosvg .ui-alt-icon .ui-icon-star:after{background-image:url(images/icons-png/star-black.png)}.ui-nosvg .ui-alt-icon.ui-icon-tag:after,.ui-nosvg .ui-alt-icon .ui-icon-tag:after{background-image:url(images/icons-png/tag-black.png)}.ui-nosvg .ui-alt-icon.ui-icon-user:after,.ui-nosvg .ui-alt-icon .ui-icon-user:after{background-image:url(images/icons-png/user-black.png)}.ui-nosvg .ui-alt-icon.ui-icon-video:after,.ui-nosvg .ui-alt-icon .ui-icon-video:after{background-image:url(images/icons-png/video-black.png)}html{font-size:100%}body,input,select,textarea,button,.ui-btn{font-size:1em;line-height:1.3;font-family:sans-serif}legend,.ui-input-text input,.ui-input-search input{color:inherit;text-shadow:inherit}.ui-mobile label,div.ui-controlgroup-label{font-weight:400;font-size:16px}.ui-field-contain{border-bottom-color:#828282;border-bottom-color:rgba(0,0,0,.15);border-bottom-width:1px;border-bottom-style:solid}.table-stroke thead th,.table-stripe thead th,.table-stripe tbody tr:last-child{border-bottom:1px solid #d6d6d6;border-bottom:1px solid rgba(0,0,0,.1)}.table-stroke tbody th,.table-stroke tbody td{border-bottom:1px solid #e6e6e6;border-bottom:1px solid rgba(0,0,0,.05)}.table-stripe.table-stroke tbody tr:last-child th,.table-stripe.table-stroke tbody tr:last-child td{border-bottom:0}.table-stripe tbody tr:nth-child(odd) td,.table-stripe tbody tr:nth-child(odd) th{background-color:#eee;background-color:rgba(0,0,0,.04)}.ui-btn,label.ui-btn{font-weight:700;border-width:1px;border-style:solid}.ui-btn{text-decoration:none!important}.ui-btn-active{cursor:pointer}.ui-corner-all{-webkit-border-radius:.3125em;border-radius:.3125em}.ui-btn-corner-all,.ui-btn.ui-corner-all,.ui-slider-track.ui-corner-all,.ui-flipswitch.ui-corner-all,.ui-li-count{-webkit-border-radius:.3125em;border-radius:.3125em}.ui-btn-icon-notext.ui-btn-corner-all,.ui-btn-icon-notext.ui-corner-all{-webkit-border-radius:1em;border-radius:1em}.ui-btn-corner-all,.ui-corner-all{-webkit-background-clip:padding;background-clip:padding-box}.ui-popup.ui-corner-all>.ui-popup-arrow-guide{left:.6em;right:.6em;top:.6em;bottom:.6em}.ui-shadow{-webkit-box-shadow:0 1px 3px rgba(0,0,0,.15);-moz-box-shadow:0 1px 3px rgba(0,0,0,.15);box-shadow:0 1px 3px rgba(0,0,0,.15)}.ui-shadow-inset{-webkit-box-shadow:inset 0 1px 3px rgba(0,0,0,.2);-moz-box-shadow:inset 0 1px 3px rgba(0,0,0,.2);box-shadow:inset 0 1px 3px rgba(0,0,0,.2)}.ui-overlay-shadow{-webkit-box-shadow:0 0 12px rgba(0,0,0,.6);-moz-box-shadow:0 0 12px rgba(0,0,0,.6);box-shadow:0 0 12px rgba(0,0,0,.6)}.ui-btn-icon-left:after,.ui-btn-icon-right:after,.ui-btn-icon-top:after,.ui-btn-icon-bottom:after,.ui-btn-icon-notext:after{background-color:#666;background-color:rgba(0,0,0,.3);background-position:center center;background-repeat:no-repeat;-webkit-border-radius:1em;border-radius:1em}.ui-alt-icon.ui-btn:after,.ui-alt-icon .ui-btn:after,html .ui-alt-icon.ui-checkbox-off:after,html .ui-alt-icon.ui-radio-off:after,html .ui-alt-icon .ui-checkbox-off:after,html .ui-alt-icon .ui-radio-off:after{background-color:#666;background-color:rgba(0,0,0,.15)}.ui-nodisc-icon.ui-btn:after,.ui-nodisc-icon .ui-btn:after{background-color:transparent}.ui-shadow-icon.ui-btn:after,.ui-shadow-icon .ui-btn:after{-webkit-box-shadow:0 1px 0 rgba(255,255,255,.3);-moz-box-shadow:0 1px 0 rgba(255,255,255,.3);box-shadow:0 1px 0 rgba(255,255,255,.3)}.ui-btn.ui-checkbox-off:after,.ui-btn.ui-checkbox-on:after,.ui-btn.ui-radio-off:after,.ui-btn.ui-radio-on:after{display:block;width:18px;height:18px;margin:-9px 2px 0 2px}.ui-checkbox-off:after,.ui-btn.ui-radio-off:after{filter:Alpha(Opacity=30);opacity:.3}.ui-btn.ui-checkbox-off:after,.ui-btn.ui-checkbox-on:after{-webkit-border-radius:.1875em;border-radius:.1875em}.ui-btn.ui-checkbox-off:after{background-color:#666;background-color:rgba(0,0,0,.3)}.ui-radio .ui-btn.ui-radio-on:after{background-image:none;background-color:#fff;width:8px;height:8px;border-width:5px;border-style:solid}.ui-alt-icon.ui-btn.ui-radio-on:after,.ui-alt-icon .ui-btn.ui-radio-on:after{background-color:#000}.ui-icon-loading{background:url(images/ajax-loader.gif);background-size:2.875em 2.875em}.ui-bar-a,.ui-page-theme-a .ui-bar-inherit,html .ui-bar-a .ui-bar-inherit,html .ui-body-a .ui-bar-inherit,html body .ui-group-theme-a .ui-bar-inherit{background-color:#e9e9e9;border-color:#ddd;color:#333;text-shadow:0 1px 0 #eee;font-weight:700}.ui-bar-a{border-width:1px;border-style:solid}.ui-overlay-a,.ui-page-theme-a,.ui-page-theme-a .ui-panel-wrapper{background-color:#f9f9f9;border-color:#bbb;color:#333;text-shadow:0 1px 0 #f3f3f3}.ui-body-a,.ui-page-theme-a .ui-body-inherit,html .ui-bar-a .ui-body-inherit,html .ui-body-a .ui-body-inherit,html body .ui-group-theme-a .ui-body-inherit,html .ui-panel-page-container-a{background-color:#fff;border-color:#ddd;color:#333;text-shadow:0 1px 0 #f3f3f3}.ui-body-a{border-width:1px;border-style:solid}.ui-page-theme-a a,html .ui-bar-a a,html .ui-body-a a,html body .ui-group-theme-a a{color:#38c;font-weight:700}.ui-page-theme-a a:visited,html .ui-bar-a a:visited,html .ui-body-a a:visited,html body .ui-group-theme-a a:visited{color:#38c}.ui-page-theme-a a:hover,html .ui-bar-a a:hover,html .ui-body-a a:hover,html body .ui-group-theme-a a:hover{color:#059}.ui-page-theme-a a:active,html .ui-bar-a a:active,html .ui-body-a a:active,html body .ui-group-theme-a a:active{color:#059}.ui-page-theme-a .ui-btn,html .ui-bar-a .ui-btn,html .ui-body-a .ui-btn,html body .ui-group-theme-a .ui-btn,html head+body .ui-btn.ui-btn-a,.ui-page-theme-a .ui-btn:visited,html .ui-bar-a .ui-btn:visited,html .ui-body-a .ui-btn:visited,html body .ui-group-theme-a .ui-btn:visited,html head+body .ui-btn.ui-btn-a:visited{background-color:#f6f6f6;border-color:#ddd;color:#333;text-shadow:0 1px 0 #f3f3f3}.ui-page-theme-a .ui-btn:hover,html .ui-bar-a .ui-btn:hover,html .ui-body-a .ui-btn:hover,html body .ui-group-theme-a .ui-btn:hover,html head+body .ui-btn.ui-btn-a:hover{background-color:#ededed;border-color:#ddd;color:#333;text-shadow:0 1px 0 #f3f3f3}.ui-page-theme-a .ui-btn:active,html .ui-bar-a .ui-btn:active,html .ui-body-a .ui-btn:active,html body .ui-group-theme-a .ui-btn:active,html head+body .ui-btn.ui-btn-a:active{background-color:#e8e8e8;border-color:#ddd;color:#333;text-shadow:0 1px 0 #f3f3f3}.ui-page-theme-a .ui-btn.ui-btn-active,html .ui-bar-a .ui-btn.ui-btn-active,html .ui-body-a .ui-btn.ui-btn-active,html body .ui-group-theme-a .ui-btn.ui-btn-active,html head+body .ui-btn.ui-btn-a.ui-btn-active,.ui-page-theme-a .ui-checkbox-on:after,html .ui-bar-a .ui-checkbox-on:after,html .ui-body-a .ui-checkbox-on:after,html body .ui-group-theme-a .ui-checkbox-on:after,.ui-btn.ui-checkbox-on.ui-btn-a:after,.ui-page-theme-a .ui-flipswitch-active,html .ui-bar-a .ui-flipswitch-active,html .ui-body-a .ui-flipswitch-active,html body .ui-group-theme-a .ui-flipswitch-active,html body .ui-flipswitch.ui-bar-a.ui-flipswitch-active,.ui-page-theme-a .ui-slider-track .ui-btn-active,html .ui-bar-a .ui-slider-track .ui-btn-active,html .ui-body-a .ui-slider-track .ui-btn-active,html body .ui-group-theme-a .ui-slider-track .ui-btn-active,html body div.ui-slider-track.ui-body-a .ui-btn-active{background-color:#38c;border-color:#38c;color:#fff;text-shadow:0 1px 0 #059}.ui-page-theme-a .ui-radio-on:after,html .ui-bar-a .ui-radio-on:after,html .ui-body-a .ui-radio-on:after,html body .ui-group-theme-a .ui-radio-on:after,.ui-btn.ui-radio-on.ui-btn-a:after{border-color:#38c}.ui-page-theme-a .ui-btn:focus,html .ui-bar-a .ui-btn:focus,html .ui-body-a .ui-btn:focus,html body .ui-group-theme-a .ui-btn:focus,html head+body .ui-btn.ui-btn-a:focus,.ui-page-theme-a .ui-focus,html .ui-bar-a .ui-focus,html .ui-body-a .ui-focus,html body .ui-group-theme-a .ui-focus,html head+body .ui-btn-a.ui-focus,html head+body .ui-body-a.ui-focus{-webkit-box-shadow:0 0 12px #38c;-moz-box-shadow:0 0 12px #38c;box-shadow:0 0 12px #38c}.ui-bar-b,.ui-page-theme-b .ui-bar-inherit,html .ui-bar-b .ui-bar-inherit,html .ui-body-b .ui-bar-inherit,html body .ui-group-theme-b .ui-bar-inherit{background-color:#1d1d1d;border-color:#1b1b1b;color:#fff;text-shadow:0 1px 0 #111;font-weight:700}.ui-bar-b{border-width:1px;border-style:solid}.ui-overlay-b,.ui-page-theme-b,.ui-page-theme-b .ui-panel-wrapper{background-color:#252525;border-color:#454545;color:#fff;text-shadow:0 1px 0 #111}.ui-body-b,.ui-page-theme-b .ui-body-inherit,html .ui-bar-b .ui-body-inherit,html .ui-body-b .ui-body-inherit,html body .ui-group-theme-b .ui-body-inherit,html .ui-panel-page-container-b{background-color:#2a2a2a;border-color:#1d1d1d;color:#fff;text-shadow:0 1px 0 #111}.ui-body-b{border-width:1px;border-style:solid}.ui-page-theme-b a,html .ui-bar-b a,html .ui-body-b a,html body .ui-group-theme-b a{color:#2ad;font-weight:700}.ui-page-theme-b a:visited,html .ui-bar-b a:visited,html .ui-body-b a:visited,html body .ui-group-theme-b a:visited{color:#2ad}.ui-page-theme-b a:hover,html .ui-bar-b a:hover,html .ui-body-b a:hover,html body .ui-group-theme-b a:hover{color:#08b}.ui-page-theme-b a:active,html .ui-bar-b a:active,html .ui-body-b a:active,html body .ui-group-theme-b a:active{color:#08b}.ui-page-theme-b .ui-btn,html .ui-bar-b .ui-btn,html .ui-body-b .ui-btn,html body .ui-group-theme-b .ui-btn,html head+body .ui-btn.ui-btn-b,.ui-page-theme-b .ui-btn:visited,html .ui-bar-b .ui-btn:visited,html .ui-body-b .ui-btn:visited,html body .ui-group-theme-b .ui-btn:visited,html head+body .ui-btn.ui-btn-b:visited{background-color:#333;border-color:#1f1f1f;color:#fff;text-shadow:0 1px 0 #111}.ui-page-theme-b .ui-btn:hover,html .ui-bar-b .ui-btn:hover,html .ui-body-b .ui-btn:hover,html body .ui-group-theme-b .ui-btn:hover,html head+body .ui-btn.ui-btn-b:hover{background-color:#373737;border-color:#1f1f1f;color:#fff;text-shadow:0 1px 0 #111}.ui-page-theme-b .ui-btn:active,html .ui-bar-b .ui-btn:active,html .ui-body-b .ui-btn:active,html body .ui-group-theme-b .ui-btn:active,html head+body .ui-btn.ui-btn-b:active{background-color:#404040;border-color:#1f1f1f;color:#fff;text-shadow:0 1px 0 #111}.ui-page-theme-b .ui-btn.ui-btn-active,html .ui-bar-b .ui-btn.ui-btn-active,html .ui-body-b .ui-btn.ui-btn-active,html body .ui-group-theme-b .ui-btn.ui-btn-active,html head+body .ui-btn.ui-btn-b.ui-btn-active,.ui-page-theme-b .ui-checkbox-on:after,html .ui-bar-b .ui-checkbox-on:after,html .ui-body-b .ui-checkbox-on:after,html body .ui-group-theme-b .ui-checkbox-on:after,.ui-btn.ui-checkbox-on.ui-btn-b:after,.ui-page-theme-b .ui-flipswitch-active,html .ui-bar-b .ui-flipswitch-active,html .ui-body-b .ui-flipswitch-active,html body .ui-group-theme-b .ui-flipswitch-active,html body .ui-flipswitch.ui-bar-b.ui-flipswitch-active,.ui-page-theme-b .ui-slider-track .ui-btn-active,html .ui-bar-b .ui-slider-track .ui-btn-active,html .ui-body-b .ui-slider-track .ui-btn-active,html body .ui-group-theme-b .ui-slider-track .ui-btn-active,html body div.ui-slider-track.ui-body-b .ui-btn-active{background-color:#2ad;border-color:#2ad;color:#fff;text-shadow:0 1px 0 #08b}.ui-page-theme-b .ui-radio-on:after,html .ui-bar-b .ui-radio-on:after,html .ui-body-b .ui-radio-on:after,html body .ui-group-theme-b .ui-radio-on:after,.ui-btn.ui-radio-on.ui-btn-b:after{border-color:#2ad}.ui-page-theme-b .ui-btn:focus,html .ui-bar-b .ui-btn:focus,html .ui-body-b .ui-btn:focus,html body .ui-group-theme-b .ui-btn:focus,html head+body .ui-btn.ui-btn-b:focus,.ui-page-theme-b .ui-focus,html .ui-bar-b .ui-focus,html .ui-body-b .ui-focus,html body .ui-group-theme-b .ui-focus,html head+body .ui-btn-b.ui-focus,html head+body .ui-body-b.ui-focus{-webkit-box-shadow:0 0 12px #2ad;-moz-box-shadow:0 0 12px #2ad;box-shadow:0 0 12px #2ad}.ui-disabled,.ui-state-disabled,button[disabled],.ui-select .ui-btn.ui-state-disabled{filter:Alpha(Opacity=30);opacity:.3;cursor:default!important;pointer-events:none}.ui-btn:focus,.ui-btn.ui-focus{outline:0}.ui-noboxshadow .ui-shadow,.ui-noboxshadow .ui-shadow-inset,.ui-noboxshadow .ui-overlay-shadow,.ui-noboxshadow .ui-shadow-icon.ui-btn:after,.ui-noboxshadow .ui-shadow-icon .ui-btn:after,.ui-noboxshadow .ui-focus,.ui-noboxshadow .ui-btn:focus,.ui-noboxshadow input:focus,.ui-noboxshadow .ui-panel{-webkit-box-shadow:none!important;-moz-box-shadow:none!important;box-shadow:none!important}.ui-noboxshadow .ui-btn:focus,.ui-noboxshadow .ui-focus{outline-width:1px;outline-style:auto}.ui-mobile,.ui-mobile body{height:99.9%}.ui-mobile fieldset,.ui-page{padding:0;margin:0}.ui-mobile a img,.ui-mobile fieldset{border-width:0}.ui-mobile fieldset{min-width:0}@-moz-document url-prefix(){.ui-mobile fieldset{display:table-column;vertical-align:middle}}.ui-mobile-viewport{margin:0;overflow-x:visible;-webkit-text-size-adjust:100%;-ms-text-size-adjust:none;-webkit-tap-highlight-color:rgba(0,0,0,0)}body.ui-mobile-viewport,div.ui-mobile-viewport{overflow-x:hidden}.ui-mobile [data-role=page],.ui-mobile [data-role=dialog],.ui-page{top:0;left:0;width:100%;min-height:100%;position:absolute;display:none;border:0}.ui-page{outline:0}.ui-mobile .ui-page-active{display:block;overflow:visible;overflow-x:hidden}@media screen and (orientation:portrait){.ui-mobile .ui-page{min-height:420px}}@media screen and (orientation:landscape){.ui-mobile .ui-page{min-height:300px}}.ui-mobile-rendering>*{visibility:hidden}.ui-nojs{position:absolute!important;height:1px;width:1px;overflow:hidden;clip:rect(1px,1px,1px,1px)}.ui-loading .ui-loader{display:block}.ui-loader{display:none;z-index:9999999;position:fixed;top:50%;left:50%;border:0}.ui-loader-default{background:0;filter:Alpha(Opacity=18);opacity:.18;width:2.875em;height:2.875em;margin-left:-1.4375em;margin-top:-1.4375em}.ui-loader-verbose{width:12.5em;filter:Alpha(Opacity=88);opacity:.88;box-shadow:0 1px 1px -1px #fff;height:auto;margin-left:-6.875em;margin-top:-2.6875em;padding:.625em}.ui-loader-default h1{font-size:0;width:0;height:0;overflow:hidden}.ui-loader-verbose h1{font-size:1em;margin:0;text-align:center}.ui-loader .ui-icon-loading{background-color:#000;display:block;margin:0;width:2.75em;height:2.75em;padding:.0625em;-webkit-border-radius:2.25em;border-radius:2.25em}.ui-loader-verbose .ui-icon-loading{margin:0 auto .625em;filter:Alpha(Opacity=75);opacity:.75}.ui-loader-textonly{padding:.9375em;margin-left:-7.1875em}.ui-loader-textonly .ui-icon-loading{display:none}.ui-loader-fakefix{position:absolute}.ui-bar,.ui-body{position:relative;padding:.4em 1em;overflow:hidden;display:block;clear:both}.ui-bar h1,.ui-bar h2,.ui-bar h3,.ui-bar h4,.ui-bar h5,.ui-bar h6{margin:0;padding:0;font-size:1em;display:inline-block}.ui-header,.ui-footer{border-width:1px 0;border-style:solid;position:relative}.ui-header:empty,.ui-footer:empty{min-height:2.6875em}.ui-header .ui-title,.ui-footer .ui-title{font-size:1em;min-height:1.1em;text-align:center;display:block;margin:0 30%;padding:.7em 0;text-overflow:ellipsis;overflow:hidden;white-space:nowrap;outline:0!important}.ui-footer .ui-title{margin:0 1em}.ui-content{border-width:0;overflow:visible;overflow-x:hidden;padding:1em}.ui-corner-all>.ui-header:first-child,.ui-corner-all>.ui-content:first-child,.ui-corner-all>.ui-footer:first-child{-webkit-border-top-left-radius:inherit;border-top-left-radius:inherit;-webkit-border-top-right-radius:inherit;border-top-right-radius:inherit}.ui-corner-all>.ui-header:last-child,.ui-corner-all>.ui-content:last-child,.ui-corner-all>.ui-footer:last-child{-webkit-border-bottom-left-radius:inherit;border-bottom-left-radius:inherit;-webkit-border-bottom-right-radius:inherit;border-bottom-right-radius:inherit}.ui-btn{font-size:16px;margin:.5em 0;padding:.7em 1em;display:block;position:relative;text-align:center;text-overflow:ellipsis;overflow:hidden;white-space:nowrap;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.ui-btn-icon-notext,.ui-header button.ui-btn.ui-btn-icon-notext,.ui-footer button.ui-btn.ui-btn-icon-notext{padding:0;width:1.75em;height:1.75em;text-indent:-9999px;white-space:nowrap!important}.ui-mini{font-size:12.5px}.ui-mini .ui-btn{font-size:inherit}.ui-header .ui-btn,.ui-footer .ui-btn{font-size:12.5px;display:inline-block;vertical-align:middle}.ui-header .ui-controlgroup .ui-btn-icon-notext,.ui-footer .ui-controlgroup .ui-btn-icon-notext{font-size:12.5px}.ui-header .ui-btn-left,.ui-header .ui-btn-right{font-size:12.5px}.ui-mini.ui-btn-icon-notext,.ui-mini .ui-btn-icon-notext,.ui-header .ui-btn-icon-notext,.ui-footer .ui-btn-icon-notext{font-size:16px;padding:0}.ui-btn-inline{display:inline-block;vertical-align:middle;margin-right:.625em}.ui-btn-icon-left{padding-left:2.5em}.ui-btn-icon-right{padding-right:2.5em}.ui-btn-icon-top{padding-top:2.5em}.ui-btn-icon-bottom{padding-bottom:2.5em}.ui-header .ui-btn-icon-top,.ui-footer .ui-btn-icon-top,.ui-header .ui-btn-icon-bottom,.ui-footer .ui-btn-icon-bottom{padding-left:.3125em;padding-right:.3125em}.ui-btn-icon-left:after,.ui-btn-icon-right:after,.ui-btn-icon-top:after,.ui-btn-icon-bottom:after,.ui-btn-icon-notext:after{content:"";position:absolute;display:block;width:22px;height:22px}.ui-btn-icon-notext:after,.ui-btn-icon-left:after,.ui-btn-icon-right:after{top:50%;margin-top:-11px}.ui-btn-icon-left:after{left:.5625em}.ui-btn-icon-right:after{right:.5625em}.ui-mini.ui-btn-icon-left:after,.ui-mini .ui-btn-icon-left:after,.ui-header .ui-btn-icon-left:after,.ui-footer .ui-btn-icon-left:after{left:.37em}.ui-mini.ui-btn-icon-right:after,.ui-mini .ui-btn-icon-right:after,.ui-header .ui-btn-icon-right:after,.ui-footer .ui-btn-icon-right:after{right:.37em}.ui-btn-icon-notext:after,.ui-btn-icon-top:after,.ui-btn-icon-bottom:after{left:50%;margin-left:-11px}.ui-btn-icon-top:after{top:.5625em}.ui-btn-icon-bottom:after{top:auto;bottom:.5625em}.ui-header .ui-btn-left,.ui-header .ui-btn-right,.ui-btn-left>[class*=ui-],.ui-btn-right>[class*=ui-]{margin:0}.ui-btn-left,.ui-btn-right{position:absolute;top:.24em}.ui-btn-left{left:.4em}.ui-btn-right{right:.4em}.ui-btn-icon-notext.ui-btn-left{top:.3125em;left:.3125em}.ui-btn-icon-notext.ui-btn-right{top:.3125em;right:.3125em}button.ui-btn,.ui-controlgroup-controls button.ui-btn-icon-notext{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;-webkit-appearance:none;-moz-appearance:none;width:100%}button.ui-btn-inline,.ui-header button.ui-btn,.ui-footer button.ui-btn{width:auto}button.ui-btn::-moz-focus-inner{border:0}button.ui-btn-icon-notext,.ui-controlgroup-horizontal .ui-controlgroup-controls button.ui-btn{-webkit-box-sizing:content-box;-moz-box-sizing:content-box;box-sizing:content-box;width:1.75em}.ui-mobile label,.ui-controlgroup-label{display:block;margin:0 0 .4em}.ui-hide-label>label,.ui-hide-label .ui-controlgroup-label,.ui-hide-label .ui-rangeslider label,.ui-hidden-accessible{position:absolute!important;height:1px;width:1px;overflow:hidden;clip:rect(1px,1px,1px,1px)}.ui-screen-hidden{display:none!important}.ui-mobile-viewport-transitioning,.ui-mobile-viewport-transitioning .ui-page{width:100%;height:100%;overflow:hidden;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}.ui-page-pre-in{opacity:0}.in{-webkit-animation-timing-function:ease-out;-webkit-animation-duration:350ms;-moz-animation-timing-function:ease-out;-moz-animation-duration:350ms;animation-timing-function:ease-out;animation-duration:350ms}.out{-webkit-animation-timing-function:ease-in;-webkit-animation-duration:225ms;-moz-animation-timing-function:ease-in;-moz-animation-duration:225ms;animation-timing-function:ease-in;animation-duration:225ms}@-webkit-keyframes fadein{from{opacity:0}to{opacity:1}}@-moz-keyframes fadein{from{opacity:0}to{opacity:1}}@keyframes fadein{from{opacity:0}to{opacity:1}}@-webkit-keyframes fadeout{from{opacity:1}to{opacity:0}}@-moz-keyframes fadeout{from{opacity:1}to{opacity:0}}@keyframes fadeout{from{opacity:1}to{opacity:0}}.fade.out{opacity:0;-webkit-animation-duration:125ms;-webkit-animation-name:fadeout;-moz-animation-duration:125ms;-moz-animation-name:fadeout;animation-duration:125ms;animation-name:fadeout}.fade.in{opacity:1;-webkit-animation-duration:225ms;-webkit-animation-name:fadein;-moz-animation-duration:225ms;-moz-animation-name:fadein;animation-duration:225ms;animation-name:fadein}.pop{-webkit-transform-origin:50% 50%;-moz-transform-origin:50% 50%;transform-origin:50% 50%}.pop.in{-webkit-transform:scale(1);-webkit-animation-name:popin;-webkit-animation-duration:350ms;-moz-transform:scale(1);-moz-animation-name:popin;-moz-animation-duration:350ms;transform:scale(1);animation-name:popin;animation-duration:350ms;opacity:1}.pop.out{-webkit-animation-name:fadeout;-webkit-animation-duration:100ms;-moz-animation-name:fadeout;-moz-animation-duration:100ms;animation-name:fadeout;animation-duration:100ms;opacity:0}.pop.in.reverse{-webkit-animation-name:fadein;-moz-animation-name:fadein;animation-name:fadein}.pop.out.reverse{-webkit-transform:scale(.8);-webkit-animation-name:popout;-moz-transform:scale(.8);-moz-animation-name:popout;transform:scale(.8);animation-name:popout}@-webkit-keyframes popin{from{-webkit-transform:scale(.8);opacity:0}to{-webkit-transform:scale(1);opacity:1}}@-moz-keyframes popin{from{-moz-transform:scale(.8);opacity:0}to{-moz-transform:scale(1);opacity:1}}@keyframes popin{from{transform:scale(.8);opacity:0}to{transform:scale(1);opacity:1}}@-webkit-keyframes popout{from{-webkit-transform:scale(1);opacity:1}to{-webkit-transform:scale(.8);opacity:0}}@-moz-keyframes popout{from{-moz-transform:scale(1);opacity:1}to{-moz-transform:scale(.8);opacity:0}}@keyframes popout{from{transform:scale(1);opacity:1}to{transform:scale(.8);opacity:0}}@-webkit-keyframes slideinfromright{from{-webkit-transform:translate3d(100%,0,0)}to{-webkit-transform:translate3d(0,0,0)}}@-moz-keyframes slideinfromright{from{-moz-transform:translateX(100%)}to{-moz-transform:translateX(0)}}@keyframes slideinfromright{from{transform:translateX(100%)}to{transform:translateX(0)}}@-webkit-keyframes slideinfromleft{from{-webkit-transform:translate3d(-100%,0,0)}to{-webkit-transform:translate3d(0,0,0)}}@-moz-keyframes slideinfromleft{from{-moz-transform:translateX(-100%)}to{-moz-transform:translateX(0)}}@keyframes slideinfromleft{from{transform:translateX(-100%)}to{transform:translateX(0)}}@-webkit-keyframes slideouttoleft{from{-webkit-transform:translate3d(0,0,0)}to{-webkit-transform:translate3d(-100%,0,0)}}@-moz-keyframes slideouttoleft{from{-moz-transform:translateX(0)}to{-moz-transform:translateX(-100%)}}@keyframes slideouttoleft{from{transform:translateX(0)}to{transform:translateX(-100%)}}@-webkit-keyframes slideouttoright{from{-webkit-transform:translate3d(0,0,0)}to{-webkit-transform:translate3d(100%,0,0)}}@-moz-keyframes slideouttoright{from{-moz-transform:translateX(0)}to{-moz-transform:translateX(100%)}}@keyframes slideouttoright{from{transform:translateX(0)}to{transform:translateX(100%)}}.slide.out,.slide.in{-webkit-animation-timing-function:ease-out;-webkit-animation-duration:350ms;-moz-animation-timing-function:ease-out;-moz-animation-duration:350ms;animation-timing-function:ease-out;animation-duration:350ms}.slide.out{-webkit-transform:translate3d(-100%,0,0);-webkit-animation-name:slideouttoleft;-moz-transform:translateX(-100%);-moz-animation-name:slideouttoleft;transform:translateX(-100%);animation-name:slideouttoleft}.slide.in{-webkit-transform:translate3d(0,0,0);-webkit-animation-name:slideinfromright;-moz-transform:translateX(0);-moz-animation-name:slideinfromright;transform:translateX(0);animation-name:slideinfromright}.slide.out.reverse{-webkit-transform:translate3d(100%,0,0);-webkit-animation-name:slideouttoright;-moz-transform:translateX(100%);-moz-animation-name:slideouttoright;transform:translateX(100%);animation-name:slideouttoright}.slide.in.reverse{-webkit-transform:translate3d(0,0,0);-webkit-animation-name:slideinfromleft;-moz-transform:translateX(0);-moz-animation-name:slideinfromleft;transform:translateX(0);animation-name:slideinfromleft}.slidefade.out{-webkit-transform:translateX(-100%);-webkit-animation-name:slideouttoleft;-webkit-animation-duration:225ms;-moz-transform:translateX(-100%);-moz-animation-name:slideouttoleft;-moz-animation-duration:225ms;transform:translateX(-100%);animation-name:slideouttoleft;animation-duration:225ms}.slidefade.in{-webkit-transform:translateX(0);-webkit-animation-name:fadein;-webkit-animation-duration:200ms;-moz-transform:translateX(0);-moz-animation-name:fadein;-moz-animation-duration:200ms;transform:translateX(0);animation-name:fadein;animation-duration:200ms}.slidefade.out.reverse{-webkit-transform:translateX(100%);-webkit-animation-name:slideouttoright;-webkit-animation-duration:200ms;-moz-transform:translateX(100%);-moz-animation-name:slideouttoright;-moz-animation-duration:200ms;transform:translateX(100%);animation-name:slideouttoright;animation-duration:200ms}.slidefade.in.reverse{-webkit-transform:translateX(0);-webkit-animation-name:fadein;-webkit-animation-duration:200ms;-moz-transform:translateX(0);-moz-animation-name:fadein;-moz-animation-duration:200ms;transform:translateX(0);animation-name:fadein;animation-duration:200ms}.slidedown.out{-webkit-animation-name:fadeout;-webkit-animation-duration:100ms;-moz-animation-name:fadeout;-moz-animation-duration:100ms;animation-name:fadeout;animation-duration:100ms}.slidedown.in{-webkit-transform:translateY(0);-webkit-animation-name:slideinfromtop;-webkit-animation-duration:250ms;-moz-transform:translateY(0);-moz-animation-name:slideinfromtop;-moz-animation-duration:250ms;transform:translateY(0);animation-name:slideinfromtop;animation-duration:250ms}.slidedown.in.reverse{-webkit-animation-name:fadein;-webkit-animation-duration:150ms;-moz-animation-name:fadein;-moz-animation-duration:150ms;animation-name:fadein;animation-duration:150ms}.slidedown.out.reverse{-webkit-transform:translateY(-100%);-webkit-animation-name:slideouttotop;-webkit-animation-duration:200ms;-moz-transform:translateY(-100%);-moz-animation-name:slideouttotop;-moz-animation-duration:200ms;transform:translateY(-100%);animation-name:slideouttotop;animation-duration:200ms}@-webkit-keyframes slideinfromtop{from{-webkit-transform:translateY(-100%)}to{-webkit-transform:translateY(0)}}@-moz-keyframes slideinfromtop{from{-moz-transform:translateY(-100%)}to{-moz-transform:translateY(0)}}@keyframes slideinfromtop{from{transform:translateY(-100%)}to{transform:translateY(0)}}@-webkit-keyframes slideouttotop{from{-webkit-transform:translateY(0)}to{-webkit-transform:translateY(-100%)}}@-moz-keyframes slideouttotop{from{-moz-transform:translateY(0)}to{-moz-transform:translateY(-100%)}}@keyframes slideouttotop{from{transform:translateY(0)}to{transform:translateY(-100%)}}.slideup.out{-webkit-animation-name:fadeout;-webkit-animation-duration:100ms;-moz-animation-name:fadeout;-moz-animation-duration:100ms;animation-name:fadeout;animation-duration:100ms}.slideup.in{-webkit-transform:translateY(0);-webkit-animation-name:slideinfrombottom;-webkit-animation-duration:250ms;-moz-transform:translateY(0);-moz-animation-name:slideinfrombottom;-moz-animation-duration:250ms;transform:translateY(0);animation-name:slideinfrombottom;animation-duration:250ms}.slideup.in.reverse{-webkit-animation-name:fadein;-webkit-animation-duration:150ms;-moz-animation-name:fadein;-moz-animation-duration:150ms;animation-name:fadein;animation-duration:150ms}.slideup.out.reverse{-webkit-transform:translateY(100%);-webkit-animation-name:slideouttobottom;-webkit-animation-duration:200ms;-moz-transform:translateY(100%);-moz-animation-name:slideouttobottom;-moz-animation-duration:200ms;transform:translateY(100%);animation-name:slideouttobottom;animation-duration:200ms}@-webkit-keyframes slideinfrombottom{from{-webkit-transform:translateY(100%)}to{-webkit-transform:translateY(0)}}@-moz-keyframes slideinfrombottom{from{-moz-transform:translateY(100%)}to{-moz-transform:translateY(0)}}@keyframes slideinfrombottom{from{transform:translateY(100%)}to{transform:translateY(0)}}@-webkit-keyframes slideouttobottom{from{-webkit-transform:translateY(0)}to{-webkit-transform:translateY(100%)}}@-moz-keyframes slideouttobottom{from{-moz-transform:translateY(0)}to{-moz-transform:translateY(100%)}}@keyframes slideouttobottom{from{transform:translateY(0)}to{transform:translateY(100%)}}.viewport-flip{-webkit-perspective:1000;-moz-perspective:1000;perspective:1000;position:absolute}.flip{-webkit-backface-visibility:hidden;-webkit-transform:translateX(0);-moz-backface-visibility:hidden;-moz-transform:translateX(0);backface-visibility:hidden;transform:translateX(0)}.flip.out{-webkit-transform:rotateY(-90deg) scale(.9);-webkit-animation-name:flipouttoleft;-webkit-animation-duration:175ms;-moz-transform:rotateY(-90deg) scale(.9);-moz-animation-name:flipouttoleft;-moz-animation-duration:175ms;transform:rotateY(-90deg) scale(.9);animation-name:flipouttoleft;animation-duration:175ms}.flip.in{-webkit-animation-name:flipintoright;-webkit-animation-duration:225ms;-moz-animation-name:flipintoright;-moz-animation-duration:225ms;animation-name:flipintoright;animation-duration:225ms}.flip.out.reverse{-webkit-transform:rotateY(90deg) scale(.9);-webkit-animation-name:flipouttoright;-moz-transform:rotateY(90deg) scale(.9);-moz-animation-name:flipouttoright;transform:rotateY(90deg) scale(.9);animation-name:flipouttoright}.flip.in.reverse{-webkit-animation-name:flipintoleft;-moz-animation-name:flipintoleft;animation-name:flipintoleft}@-webkit-keyframes flipouttoleft{from{-webkit-transform:rotateY(0)}to{-webkit-transform:rotateY(-90deg) scale(.9)}}@-moz-keyframes flipouttoleft{from{-moz-transform:rotateY(0)}to{-moz-transform:rotateY(-90deg) scale(.9)}}@keyframes flipouttoleft{from{transform:rotateY(0)}to{transform:rotateY(-90deg) scale(.9)}}@-webkit-keyframes flipouttoright{from{-webkit-transform:rotateY(0)}to{-webkit-transform:rotateY(90deg) scale(.9)}}@-moz-keyframes flipouttoright{from{-moz-transform:rotateY(0)}to{-moz-transform:rotateY(90deg) scale(.9)}}@keyframes flipouttoright{from{transform:rotateY(0)}to{transform:rotateY(90deg) scale(.9)}}@-webkit-keyframes flipintoleft{from{-webkit-transform:rotateY(-90deg) scale(.9)}to{-webkit-transform:rotateY(0)}}@-moz-keyframes flipintoleft{from{-moz-transform:rotateY(-90deg) scale(.9)}to{-moz-transform:rotateY(0)}}@keyframes flipintoleft{from{transform:rotateY(-90deg) scale(.9)}to{transform:rotateY(0)}}@-webkit-keyframes flipintoright{from{-webkit-transform:rotateY(90deg) scale(.9)}to{-webkit-transform:rotateY(0)}}@-moz-keyframes flipintoright{from{-moz-transform:rotateY(90deg) scale(.9)}to{-moz-transform:rotateY(0)}}@keyframes flipintoright{from{transform:rotateY(90deg) scale(.9)}to{transform:rotateY(0)}}.viewport-turn{-webkit-perspective:200px;-moz-perspective:200px;-ms-perspective:200px;perspective:200px;position:absolute}.turn{-webkit-backface-visibility:hidden;-webkit-transform:translateX(0);-webkit-transform-origin:0;-moz-backface-visibility:hidden;-moz-transform:translateX(0);-moz-transform-origin:0;backface-visibility:hidden;transform:translateX(0);transform-origin:0}.turn.out{-webkit-transform:rotateY(-90deg) scale(.9);-webkit-animation-name:flipouttoleft;-webkit-animation-duration:125ms;-moz-transform:rotateY(-90deg) scale(.9);-moz-animation-name:flipouttoleft;-moz-animation-duration:125ms;transform:rotateY(-90deg) scale(.9);animation-name:flipouttoleft;animation-duration:125ms}.turn.in{-webkit-animation-name:flipintoright;-webkit-animation-duration:250ms;-moz-animation-name:flipintoright;-moz-animation-duration:250ms;animation-name:flipintoright;animation-duration:250ms}.turn.out.reverse{-webkit-transform:rotateY(90deg) scale(.9);-webkit-animation-name:flipouttoright;-moz-transform:rotateY(90deg) scale(.9);-moz-animation-name:flipouttoright;transform:rotateY(90deg) scale(.9);animation-name:flipouttoright}.turn.in.reverse{-webkit-animation-name:flipintoleft;-moz-animation-name:flipintoleft;animation-name:flipintoleft}@-webkit-keyframes flipouttoleft{from{-webkit-transform:rotateY(0)}to{-webkit-transform:rotateY(-90deg) scale(.9)}}@-moz-keyframes flipouttoleft{from{-moz-transform:rotateY(0)}to{-moz-transform:rotateY(-90deg) scale(.9)}}@keyframes flipouttoleft{from{transform:rotateY(0)}to{transform:rotateY(-90deg) scale(.9)}}@-webkit-keyframes flipouttoright{from{-webkit-transform:rotateY(0)}to{-webkit-transform:rotateY(90deg) scale(.9)}}@-moz-keyframes flipouttoright{from{-moz-transform:rotateY(0)}to{-moz-transform:rotateY(90deg) scale(.9)}}@keyframes flipouttoright{from{transform:rotateY(0)}to{transform:rotateY(90deg) scale(.9)}}@-webkit-keyframes flipintoleft{from{-webkit-transform:rotateY(-90deg) scale(.9)}to{-webkit-transform:rotateY(0)}}@-moz-keyframes flipintoleft{from{-moz-transform:rotateY(-90deg) scale(.9)}to{-moz-transform:rotateY(0)}}@keyframes flipintoleft{from{transform:rotateY(-90deg) scale(.9)}to{transform:rotateY(0)}}@-webkit-keyframes flipintoright{from{-webkit-transform:rotateY(90deg) scale(.9)}to{-webkit-transform:rotateY(0)}}@-moz-keyframes flipintoright{from{-moz-transform:rotateY(90deg) scale(.9)}to{-moz-transform:rotateY(0)}}@keyframes flipintoright{from{transform:rotateY(90deg) scale(.9)}to{transform:rotateY(0)}}.flow{-webkit-transform-origin:50% 30%;-webkit-box-shadow:0 0 20px rgba(0,0,0,.4);-moz-transform-origin:50% 30%;-moz-box-shadow:0 0 20px rgba(0,0,0,.4);transform-origin:50% 30%;box-shadow:0 0 20px rgba(0,0,0,.4)}.ui-dialog.flow{-webkit-transform-origin:none;-webkit-box-shadow:none;-moz-transform-origin:none;-moz-box-shadow:none;transform-origin:none;box-shadow:none}.flow.out{-webkit-transform:translateX(-100%) scale(.7);-webkit-animation-name:flowouttoleft;-webkit-animation-timing-function:ease;-webkit-animation-duration:350ms;-moz-transform:translateX(-100%) scale(.7);-moz-animation-name:flowouttoleft;-moz-animation-timing-function:ease;-moz-animation-duration:350ms;transform:translateX(-100%) scale(.7);animation-name:flowouttoleft;animation-timing-function:ease;animation-duration:350ms}.flow.in{-webkit-transform:translateX(0) scale(1);-webkit-animation-name:flowinfromright;-webkit-animation-timing-function:ease;-webkit-animation-duration:350ms;-moz-transform:translateX(0) scale(1);-moz-animation-name:flowinfromright;-moz-animation-timing-function:ease;-moz-animation-duration:350ms;transform:translateX(0) scale(1);animation-name:flowinfromright;animation-timing-function:ease;animation-duration:350ms}.flow.out.reverse{-webkit-transform:translateX(100%);-webkit-animation-name:flowouttoright;-moz-transform:translateX(100%);-moz-animation-name:flowouttoright;transform:translateX(100%);animation-name:flowouttoright}.flow.in.reverse{-webkit-animation-name:flowinfromleft;-moz-animation-name:flowinfromleft;animation-name:flowinfromleft}@-webkit-keyframes flowouttoleft{0%{-webkit-transform:translateX(0) scale(1)}60%,70%{-webkit-transform:translateX(0) scale(.7)}100%{-webkit-transform:translateX(-100%) scale(.7)}}@-moz-keyframes flowouttoleft{0%{-moz-transform:translateX(0) scale(1)}60%,70%{-moz-transform:translateX(0) scale(.7)}100%{-moz-transform:translateX(-100%) scale(.7)}}@keyframes flowouttoleft{0%{transform:translateX(0) scale(1)}60%,70%{transform:translateX(0) scale(.7)}100%{transform:translateX(-100%) scale(.7)}}@-webkit-keyframes flowouttoright{0%{-webkit-transform:translateX(0) scale(1)}60%,70%{-webkit-transform:translateX(0) scale(.7)}100%{-webkit-transform:translateX(100%) scale(.7)}}@-moz-keyframes flowouttoright{0%{-moz-transform:translateX(0) scale(1)}60%,70%{-moz-transform:translateX(0) scale(.7)}100%{-moz-transform:translateX(100%) scale(.7)}}@keyframes flowouttoright{0%{transform:translateX(0) scale(1)}60%,70%{transform:translateX(0) scale(.7)}100%{transform:translateX(100%) scale(.7)}}@-webkit-keyframes flowinfromleft{0%{-webkit-transform:translateX(-100%) scale(.7)}30%,40%{-webkit-transform:translateX(0) scale(.7)}100%{-webkit-transform:translateX(0) scale(1)}}@-moz-keyframes flowinfromleft{0%{-moz-transform:translateX(-100%) scale(.7)}30%,40%{-moz-transform:translateX(0) scale(.7)}100%{-moz-transform:translateX(0) scale(1)}}@keyframes flowinfromleft{0%{transform:translateX(-100%) scale(.7)}30%,40%{transform:translateX(0) scale(.7)}100%{transform:translateX(0) scale(1)}}@-webkit-keyframes flowinfromright{0%{-webkit-transform:translateX(100%) scale(.7)}30%,40%{-webkit-transform:translateX(0) scale(.7)}100%{-webkit-transform:translateX(0) scale(1)}}@-moz-keyframes flowinfromright{0%{-moz-transform:translateX(100%) scale(.7)}30%,40%{-moz-transform:translateX(0) scale(.7)}100%{-moz-transform:translateX(0) scale(1)}}@keyframes flowinfromright{0%{transform:translateX(100%) scale(.7)}30%,40%{transform:translateX(0) scale(.7)}100%{transform:translateX(0) scale(1)}}.ui-field-contain,.ui-mobile fieldset.ui-field-contain{display:block;position:relative;overflow:visible;clear:both;padding:.8em 0}.ui-field-contain>label~[class*=ui-],.ui-field-contain .ui-controlgroup-controls{margin:0}.ui-field-contain:last-child{border-bottom-width:0}@media (min-width:28em){.ui-field-contain,.ui-mobile fieldset.ui-field-contain{padding:0;margin:1em 0;border-bottom-width:0}.ui-field-contain:before,.ui-field-contain:after{content:"";display:table}.ui-field-contain:after{clear:both}.ui-field-contain>label,.ui-field-contain .ui-controlgroup-label,.ui-field-contain>.ui-rangeslider>label{float:left;width:20%;margin:.5em 2% 0 0}.ui-popup .ui-field-contain>label,.ui-popup .ui-field-contain .ui-controlgroup-label,.ui-popup .ui-field-contain>.ui-rangeslider>label{float:none;width:auto;margin:0 0 .4em}.ui-field-contain>label~[class*=ui-],.ui-field-contain .ui-controlgroup-controls{float:left;width:78%;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}.ui-hide-label>label~[class*=ui-],.ui-hide-label .ui-controlgroup-controls,.ui-popup .ui-field-contain>label~[class*=ui-],.ui-popup .ui-field-contain .ui-controlgroup-controls{float:none;width:100%}.ui-field-contain>label~.ui-btn-inline{width:auto;margin-right:.625em}}.ui-grid-a,.ui-grid-b,.ui-grid-c,.ui-grid-d,.ui-grid-solo{overflow:hidden}.ui-block-a,.ui-block-b,.ui-block-c,.ui-block-d,.ui-block-e{margin:0;padding:0;border:0;float:left;min-height:1px;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}.ui-block-a{clear:left}ul.ui-grid-a,ul.ui-grid-b,ul.ui-grid-c,ul.ui-grid-d,ul.ui-grid-solo,li.ui-block-a,li.ui-block-b,li.ui-block-c,li.ui-block-d,li.ui-block-e{margin-left:0;margin-right:0;padding:0;list-style:none}[class*=ui-block-]>button.ui-btn{margin-right:0;margin-left:0}[class*=ui-block-]>.ui-btn,[class*=ui-block-]>.ui-select,[class*=ui-block-]>.ui-checkbox,[class*=ui-block-]>.ui-radio,[class*=ui-block-]>button.ui-btn-inline,[class*=ui-block-]>button.ui-btn-icon-notext,.ui-header [class*=ui-block-]>button.ui-btn,.ui-footer [class*=ui-block-]>button.ui-btn{margin-right:.3125em;margin-left:.3125em}.ui-grid-a>.ui-block-a,.ui-grid-a>.ui-block-b{width:50%}.ui-grid-b>.ui-block-a,.ui-grid-b>.ui-block-b,.ui-grid-b>.ui-block-c{width:33.333%}.ui-grid-c>.ui-block-a,.ui-grid-c>.ui-block-b,.ui-grid-c>.ui-block-c,.ui-grid-c>.ui-block-d{width:25%}.ui-grid-d>.ui-block-a,.ui-grid-d>.ui-block-b,.ui-grid-d>.ui-block-c,.ui-grid-d>.ui-block-d,.ui-grid-d>.ui-block-e{width:20%}.ui-grid-solo>.ui-block-a{width:100%;float:none}@media (max-width:35em){.ui-responsive>.ui-block-a,.ui-responsive>.ui-block-b,.ui-responsive>.ui-block-c,.ui-responsive>.ui-block-d,.ui-responsive>.ui-block-e{width:100%;float:none}}.ui-header-fixed,.ui-footer-fixed{left:0;right:0;width:100%;position:fixed;z-index:1000}.ui-header-fixed{top:-1px;padding-top:1px}.ui-header-fixed.ui-fixed-hidden{top:0;padding-top:0}.ui-header-fixed .ui-btn-left,.ui-header-fixed .ui-btn-right{margin-top:1px}.ui-header-fixed.ui-fixed-hidden .ui-btn-left,.ui-header-fixed.ui-fixed-hidden .ui-btn-right{margin-top:0}.ui-footer-fixed{bottom:-1px;padding-bottom:1px}.ui-footer-fixed.ui-fixed-hidden{bottom:0;padding-bottom:0}.ui-header-fullscreen,.ui-footer-fullscreen{filter:Alpha(Opacity=90);opacity:.9}.ui-page-header-fixed{padding-top:2.8125em}.ui-page-footer-fixed{padding-bottom:2.8125em}.ui-page-header-fullscreen>.ui-content,.ui-page-footer-fullscreen>.ui-content{padding:0}.ui-fixed-hidden{position:absolute}.ui-footer-fixed.ui-fixed-hidden{display:none}.ui-page .ui-footer-fixed.ui-fixed-hidden{display:block}.ui-page-header-fullscreen .ui-fixed-hidden,.ui-page-footer-fullscreen .ui-fixed-hidden{position:absolute!important;height:1px;width:1px;overflow:hidden;clip:rect(1px,1px,1px,1px)}.ui-header-fixed .ui-btn,.ui-footer-fixed .ui-btn{z-index:10}.ui-android-2x-fixed .ui-li-has-thumb{-webkit-transform:translate3d(0,0,0)}.ui-navbar{max-width:100%}.ui-navbar ul:before,.ui-navbar ul:after{content:"";display:table}.ui-navbar ul:after{clear:both}.ui-navbar ul{list-style:none;margin:0;padding:0;position:relative;display:block;border:0;max-width:100%;overflow:visible}.ui-navbar li .ui-btn{font-size:12.5px;display:block;margin:0;border-right-width:0}.ui-navbar .ui-btn:focus{z-index:1}.ui-navbar li:last-child .ui-btn{margin-right:-4px}.ui-navbar li:last-child .ui-btn:after{margin-right:4px}.ui-content .ui-navbar li:last-child .ui-btn,.ui-content .ui-navbar .ui-grid-duo .ui-block-b .ui-btn{border-right-width:1px;margin-right:0}.ui-content .ui-navbar li:last-child .ui-btn:after,.ui-content .ui-navbar .ui-grid-duo .ui-block-b .ui-btn:after{margin-right:0}.ui-navbar .ui-grid-duo .ui-block-a:last-child .ui-btn{border-right-width:1px;margin-right:-1px}.ui-navbar .ui-grid-duo .ui-block-a:last-child .ui-btn:after{margin-right:1px}.ui-navbar .ui-grid-duo .ui-btn{border-top-width:0}.ui-navbar .ui-grid-duo .ui-block-a:first-child .ui-btn,.ui-navbar .ui-grid-duo .ui-block-a:first-child+.ui-block-b .ui-btn{border-top-width:1px}.ui-header .ui-navbar .ui-btn,.ui-footer .ui-navbar .ui-btn{border-top-width:0;border-bottom-width:0}.ui-header .ui-navbar .ui-grid-duo .ui-block-a:first-child .ui-btn,.ui-footer .ui-navbar .ui-grid-duo .ui-block-a:first-child .ui-btn,.ui-header .ui-navbar .ui-grid-duo .ui-block-a:first-child+.ui-block-b .ui-btn,.ui-footer .ui-navbar .ui-grid-duo .ui-block-a:first-child+.ui-block-b .ui-btn{border-top-width:0}.ui-header .ui-title~.ui-navbar .ui-btn,.ui-footer .ui-title~.ui-navbar .ui-btn,.ui-header .ui-navbar .ui-grid-duo .ui-btn,.ui-footer .ui-navbar .ui-grid-duo .ui-btn,.ui-header .ui-title~.ui-navbar .ui-grid-duo .ui-block-a:first-child .ui-btn,.ui-footer .ui-title~.ui-navbar .ui-grid-duo .ui-block-a:first-child .ui-btn,.ui-header .ui-title~.ui-navbar .ui-grid-duo .ui-block-a:first-child+.ui-block-b .ui-btn,.ui-footer .ui-title~.ui-navbar .ui-grid-duo .ui-block-a:first-child+.ui-block-b .ui-btn{border-top-width:1px}.ui-input-btn input{position:absolute;top:0;left:0;width:100%;height:100%;padding:0;border:0;outline:0;-webkit-border-radius:inherit;border-radius:inherit;-webkit-appearance:none;-moz-appearance:none;cursor:pointer;background:#fff;background:rgba(255,255,255,0);filter:Alpha(Opacity=0);opacity:.1;font-size:1px;text-indent:-9999px;z-index:2}.ui-input-btn.ui-state-disabled input{position:absolute!important;height:1px;width:1px;overflow:hidden;clip:rect(1px,1px,1px,1px)}.ui-collapsible{margin:0 -1em}.ui-collapsible-inset,.ui-collapsible-set{margin:.5em 0}.ui-collapsible-heading{display:block;margin:0;padding:0;position:relative}.ui-collapsible-heading .ui-btn{text-align:left;margin:0;border-left-width:0;border-right-width:0}.ui-collapsible-heading .ui-btn-icon-top,.ui-collapsible-heading .ui-btn-icon-bottom{text-align:center}.ui-collapsible-inset .ui-collapsible-heading .ui-btn{border-right-width:1px;border-left-width:1px}.ui-collapsible-collapsed+.ui-collapsible:not(.ui-collapsible-inset)>.ui-collapsible-heading .ui-btn{border-top-width:0}.ui-collapsible-set .ui-collapsible:not(.ui-collapsible-inset) .ui-collapsible-heading .ui-btn{border-top-width:1px}.ui-collapsible-heading-status{position:absolute!important;height:1px;width:1px;overflow:hidden;clip:rect(1px,1px,1px,1px)}.ui-collapsible-content{display:block;margin:0;padding:.5em 1em}.ui-collapsible-themed-content .ui-collapsible-content{border-left-width:0;border-right-width:0;border-top-width:0;border-bottom-width:1px;border-style:solid}.ui-collapsible-inset.ui-collapsible-themed-content .ui-collapsible-content{border-left-width:1px;border-right-width:1px}.ui-collapsible-inset .ui-collapsible-content{margin:0}.ui-collapsible-content-collapsed{display:none}.ui-collapsible-set>.ui-collapsible.ui-corner-all{-webkit-border-radius:0;border-radius:0}.ui-collapsible-heading,.ui-collapsible-heading>.ui-btn{-webkit-border-radius:inherit;border-radius:inherit}.ui-collapsible-set .ui-collapsible.ui-first-child{-webkit-border-top-right-radius:inherit;border-top-right-radius:inherit;-webkit-border-top-left-radius:inherit;border-top-left-radius:inherit}.ui-collapsible-content,.ui-collapsible-set .ui-collapsible.ui-last-child{-webkit-border-bottom-right-radius:inherit;border-bottom-right-radius:inherit;-webkit-border-bottom-left-radius:inherit;border-bottom-left-radius:inherit}.ui-collapsible-themed-content:not(.ui-collapsible-collapsed)>.ui-collapsible-heading{-webkit-border-bottom-right-radius:0;border-bottom-right-radius:0;-webkit-border-bottom-left-radius:0;border-bottom-left-radius:0}.ui-collapsible-set .ui-collapsible{margin:-1px -1em 0}.ui-collapsible-set .ui-collapsible-inset{margin:-1px 0 0}.ui-collapsible-set .ui-collapsible.ui-first-child{margin-top:0}.ui-controlgroup,fieldset.ui-controlgroup{padding:0;margin:.5em 0}.ui-field-contain .ui-controlgroup,.ui-field-contain fieldset.ui-controlgroup{margin:0}.ui-mini .ui-controlgroup-label{font-size:16px}.ui-controlgroup.ui-mini .ui-btn-icon-notext,.ui-controlgroup .ui-mini.ui-btn-icon-notext{font-size:inherit}.ui-controlgroup-controls .ui-btn,.ui-controlgroup-controls .ui-checkbox,.ui-controlgroup-controls .ui-radio,.ui-controlgroup-controls .ui-select{margin:0}.ui-controlgroup-controls .ui-btn:focus,.ui-controlgroup-controls .ui-btn.ui-focus{z-index:1}.ui-controlgroup-controls li{list-style:none}.ui-controlgroup-horizontal .ui-controlgroup-controls{display:inline-block;vertical-align:middle}.ui-controlgroup-horizontal .ui-controlgroup-controls:before,.ui-controlgroup-horizontal .ui-controlgroup-controls:after{content:"";display:table}.ui-controlgroup-horizontal .ui-controlgroup-controls:after{clear:both}.ui-controlgroup-horizontal .ui-controlgroup-controls>.ui-btn,.ui-controlgroup-horizontal .ui-controlgroup-controls li>.ui-btn,.ui-controlgroup-horizontal .ui-controlgroup-controls .ui-checkbox,.ui-controlgroup-horizontal .ui-controlgroup-controls .ui-radio,.ui-controlgroup-horizontal .ui-controlgroup-controls .ui-select{float:left;clear:none}.ui-controlgroup-horizontal .ui-controlgroup-controls button.ui-btn,.ui-controlgroup-controls .ui-btn-icon-notext{width:auto}.ui-controlgroup-horizontal .ui-controlgroup-controls .ui-btn-icon-notext,.ui-controlgroup-horizontal .ui-controlgroup-controls button.ui-btn-icon-notext{width:1.5em}.ui-controlgroup-controls .ui-btn-icon-notext{height:auto;padding:.7em 1em}.ui-controlgroup-vertical .ui-controlgroup-controls .ui-btn{border-bottom-width:0}.ui-controlgroup-vertical .ui-controlgroup-controls .ui-btn.ui-last-child{border-bottom-width:1px}.ui-controlgroup-horizontal .ui-controlgroup-controls .ui-btn{border-right-width:0}.ui-controlgroup-horizontal .ui-controlgroup-controls .ui-btn.ui-last-child{border-right-width:1px}.ui-controlgroup-controls .ui-btn-corner-all,.ui-controlgroup-controls .ui-btn.ui-corner-all{-webkit-border-radius:0;border-radius:0}.ui-controlgroup-controls,.ui-controlgroup-controls .ui-radio,.ui-controlgroup-controls .ui-checkbox,.ui-controlgroup-controls .ui-select,.ui-controlgroup-controls li{-webkit-border-radius:inherit;border-radius:inherit}.ui-controlgroup-vertical .ui-btn.ui-first-child{-webkit-border-top-left-radius:inherit;border-top-left-radius:inherit;-webkit-border-top-right-radius:inherit;border-top-right-radius:inherit}.ui-controlgroup-vertical .ui-btn.ui-last-child{-webkit-border-bottom-left-radius:inherit;border-bottom-left-radius:inherit;-webkit-border-bottom-right-radius:inherit;border-bottom-right-radius:inherit}.ui-controlgroup-horizontal .ui-btn.ui-first-child{-webkit-border-top-left-radius:inherit;border-top-left-radius:inherit;-webkit-border-bottom-left-radius:inherit;border-bottom-left-radius:inherit}.ui-controlgroup-horizontal .ui-btn.ui-last-child{-webkit-border-top-right-radius:inherit;border-top-right-radius:inherit;-webkit-border-bottom-right-radius:inherit;border-bottom-right-radius:inherit}.ui-controlgroup-controls a.ui-shadow:not(:focus),.ui-controlgroup-controls button.ui-shadow:not(:focus),.ui-controlgroup-controls div.ui-shadow:not(.ui-focus){-moz-box-shadow:none;-webkit-box-shadow:none;box-shadow:none}.ui-controlgroup-label legend{max-width:100%}.ui-controlgroup-controls>label{position:absolute!important;height:1px;width:1px;overflow:hidden;clip:rect(1px,1px,1px,1px)}.ui-dialog{background:none!important}.ui-dialog-contain{width:92.5%;max-width:500px;margin:10% auto 1em;padding:0;position:relative;top:-1em}.ui-dialog-contain>.ui-header,.ui-dialog-contain>.ui-content,.ui-dialog-contain>.ui-footer{display:block;position:relative;width:auto;margin:0}.ui-dialog-contain>.ui-header{overflow:hidden;z-index:10;padding:0;border-top-width:0}.ui-dialog-contain>.ui-footer{z-index:10;padding:0 1em;border-bottom-width:0}.ui-popup-open .ui-header-fixed,.ui-popup-open .ui-footer-fixed{position:absolute!important}.ui-popup-screen{background-image:url("data:image/gif;base64,R0lGODlhAQABAID/AMDAwAAAACH5BAEAAAAALAAAAAABAAEAAAICRAEAOw==");top:0;left:0;right:0;bottom:1px;position:absolute;filter:Alpha(Opacity=0);opacity:0;z-index:1099}.ui-popup-screen.in{opacity:.5;filter:Alpha(Opacity=50)}.ui-popup-screen.out{opacity:0;filter:Alpha(Opacity=0)}.ui-popup-container{z-index:1100;display:inline-block;position:absolute;padding:0;outline:0}.ui-popup{position:relative}.ui-popup.ui-body-inherit{border-width:1px;border-style:solid}.ui-popup-hidden{left:0;top:0;position:absolute!important;visibility:hidden}.ui-popup-truncate{height:1px;width:1px;margin:-1px;overflow:hidden;clip:rect(1px,1px,1px,1px)}.ui-popup.ui-content,.ui-popup .ui-content{overflow:visible}.ui-popup>.ui-header{border-top-width:0}.ui-popup>.ui-footer{border-bottom-width:0}.ui-popup>p,.ui-popup>h1,.ui-popup>h2,.ui-popup>h3,.ui-popup>h4,.ui-popup>h5,.ui-popup>h6{margin:.5em .4375em}.ui-popup>span{display:block;margin:.5em .4375em}.ui-popup-container .ui-content>p,.ui-popup-container .ui-content>h1,.ui-popup-container .ui-content>h2,.ui-popup-container .ui-content>h3,.ui-popup-container .ui-content>h4,.ui-popup-container .ui-content>h5,.ui-popup-container .ui-content>h6{margin:.5em 0}.ui-popup-container .ui-content>span{margin:0}.ui-popup-container .ui-content>p:first-child,.ui-popup-container .ui-content>h1:first-child,.ui-popup-container .ui-content>h2:first-child,.ui-popup-container .ui-content>h3:first-child,.ui-popup-container .ui-content>h4:first-child,.ui-popup-container .ui-content>h5:first-child,.ui-popup-container .ui-content>h6:first-child{margin-top:0}.ui-popup-container .ui-content>p:last-child,.ui-popup-container .ui-content>h1:last-child,.ui-popup-container .ui-content>h2:last-child,.ui-popup-container .ui-content>h3:last-child,.ui-popup-container .ui-content>h4:last-child,.ui-popup-container .ui-content>h5:last-child,.ui-popup-container .ui-content>h6:last-child{margin-bottom:0}.ui-popup>img{max-width:100%;max-height:100%;vertical-align:middle}.ui-popup:not(.ui-content)>img:only-child,.ui-popup:not(.ui-content)>.ui-btn-left:first-child+img:last-child,.ui-popup:not(.ui-content)>.ui-btn-right:first-child+img:last-child{-webkit-border-radius:inherit;border-radius:inherit}.ui-popup iframe{vertical-align:middle}.ui-popup>.ui-btn-left,.ui-popup>.ui-btn-right{position:absolute;top:-11px;margin:0;z-index:1101}.ui-popup>.ui-btn-left{left:-11px}.ui-popup>.ui-btn-right{right:-11px}.ui-popup-arrow-container{width:20px;height:20px}.ui-popup-arrow-container.ui-popup-arrow-l{left:-10px;clip:rect(-1000px,10px,2000px,-1000px)}.ui-popup-arrow-container.ui-popup-arrow-t{top:-10px;clip:rect(-1000px,2000px,10px,-1000px)}.ui-popup-arrow-container.ui-popup-arrow-r{right:-10px;clip:rect(-1000px,2000px,2000px,10px)}.ui-popup-arrow-container.ui-popup-arrow-b{bottom:-10px;clip:rect(10px,2000px,1000px,-1000px)}.ui-popup-arrow-container .ui-popup-arrow{width:28.284271247px;height:28.284271247px;border-width:1px;border-style:solid}.ui-popup-arrow-container.ui-popup-arrow-t .ui-popup-arrow{left:-4.142135623px;top:5.857864376px}.ui-popup-arrow-container.ui-popup-arrow-b .ui-popup-arrow{left:-4.142135623px;top:-14.142135623px}.ui-popup-arrow-container.ui-popup-arrow-l .ui-popup-arrow{left:5.857864376px;top:-4.142135623px}.ui-popup-arrow-container.ui-popup-arrow-r .ui-popup-arrow{left:-14.142135623px;top:-4.142135623px}.ui-popup-arrow-container.ui-popup-arrow-t.ie .ui-popup-arrow{margin-left:-5.857864376269049px;margin-top:-7.0710678118654755px}.ui-popup-arrow-container.ui-popup-arrow-b.ie .ui-popup-arrow{margin-left:-5.857864376269049px;margin-top:-4.142135623730951px}.ui-popup-arrow-container.ui-popup-arrow-l.ie .ui-popup-arrow{margin-left:-7.0710678118654755px;margin-top:-5.857864376269049px}.ui-popup-arrow-container.ui-popup-arrow-r.ie .ui-popup-arrow{margin-left:-4.142135623730951px;margin-top:-5.857864376269049px}.ui-popup>.ui-popup-arrow-guide{position:absolute;left:0;right:0;top:0;bottom:0;visibility:hidden}.ui-popup-arrow-container{position:absolute}.ui-popup-arrow{-webkit-transform:rotate(45deg);-moz-transform:rotate(45deg);-ms-transform:rotate(45deg);transform:rotate(45deg);position:absolute;overflow:hidden;box-sizing:border-box}.ui-popup-arrow-container.ie .ui-popup-arrow{-ms-filter:"progid:DXImageTransform.Microsoft.Matrix(M11=0.7071067811865474, M12=-0.7071067811865477, M21=0.7071067811865477, M22=0.7071067811865474, SizingMethod='auto expand')";filter:progid:DXImageTransform.Microsoft.Matrix(M11=.7071067811865474, M12=-.7071067811865477, M21=.7071067811865477, M22=.7071067811865474, SizingMethod='auto expand')}.ui-checkbox,.ui-radio{margin:.5em 0;position:relative}.ui-checkbox .ui-btn,.ui-radio .ui-btn{margin:0;text-align:left;white-space:normal;z-index:2}.ui-controlgroup .ui-checkbox .ui-btn.ui-focus,.ui-controlgroup .ui-radio .ui-btn.ui-focus{z-index:3}.ui-checkbox .ui-btn-icon-top,.ui-radio .ui-btn-icon-top,.ui-checkbox .ui-btn-icon-bottom,.ui-radio .ui-btn-icon-bottom{text-align:center}.ui-controlgroup-horizontal .ui-checkbox .ui-btn:after,.ui-controlgroup-horizontal .ui-radio .ui-btn:after{content:none;display:none}.ui-checkbox input,.ui-radio input{position:absolute;left:.466em;top:50%;width:22px;height:22px;margin:-11px 0 0 0;outline:0!important;z-index:1}.ui-controlgroup-horizontal .ui-checkbox input,.ui-controlgroup-horizontal .ui-radio input{left:50%;margin-left:-9px}.ui-checkbox input:disabled,.ui-radio input:disabled{position:absolute!important;height:1px;width:1px;overflow:hidden;clip:rect(1px,1px,1px,1px)}.ui-select{margin-top:.5em;margin-bottom:.5em;position:relative}.ui-select>select{position:absolute!important;height:1px;width:1px;overflow:hidden;clip:rect(1px,1px,1px,1px)}.ui-select .ui-btn{margin:0;opacity:1}.ui-select .ui-btn select{position:absolute;top:0;left:0;width:100%;min-height:1.5em;min-height:100%;height:3em;max-height:100%;outline:0;-webkit-border-radius:inherit;border-radius:inherit;-webkit-appearance:none;-moz-appearance:none;cursor:pointer;filter:Alpha(Opacity=0);opacity:0;z-index:2}@-moz-document url-prefix(){.ui-select .ui-btn select{opacity:.0001}}.ui-select .ui-state-disabled select{display:none}.ui-select span.ui-state-disabled{filter:Alpha(Opacity=100);opacity:1}.ui-select .ui-btn.ui-select-nativeonly{border-radius:0;border:0}.ui-select .ui-btn.ui-select-nativeonly select{opacity:1;text-indent:0;display:block}.ui-select .ui-li-has-count.ui-btn{padding-right:2.8125em}.ui-select .ui-li-has-count.ui-btn-icon-right{padding-right:4.6875em}.ui-select .ui-btn-icon-right .ui-li-count{right:3.2em}.ui-select .ui-btn>span:not(.ui-li-count){display:block;text-overflow:ellipsis;overflow:hidden!important;white-space:nowrap}.ui-selectmenu.ui-popup{min-width:11em}.ui-selectmenu .ui-dialog-contain{overflow:hidden}.ui-selectmenu .ui-header{margin:0;padding:0;border-width:0}.ui-selectmenu.ui-dialog .ui-header{z-index:1;position:relative}.ui-selectmenu.ui-popup .ui-header{-webkit-border-bottom-right-radius:0;border-bottom-right-radius:0;-webkit-border-bottom-left-radius:0;border-bottom-left-radius:0}.ui-selectmenu.ui-popup .ui-header h1:after{content:'.';visibility:hidden}.ui-selectmenu .ui-header .ui-title{margin:0 2.875em}.ui-selectmenu.ui-dialog .ui-content{overflow:visible;z-index:1}.ui-selectmenu .ui-selectmenu-list{margin:0;-webkit-border-radius:inherit;border-radius:inherit}.ui-header:not(.ui-screen-hidden)+.ui-selectmenu-list{-webkit-border-top-right-radius:0;border-top-right-radius:0;-webkit-border-top-left-radius:0;border-top-left-radius:0}.ui-header.ui-screen-hidden+.ui-selectmenu-list li.ui-first-child .ui-btn{border-top-width:0}.ui-selectmenu .ui-selectmenu-list li.ui-last-child .ui-btn{border-bottom-width:0}.ui-selectmenu .ui-btn.ui-li-divider{cursor:default}.ui-selectmenu .ui-selectmenu-placeholder{display:none}.ui-listview,.ui-listview>li{margin:0;padding:0;list-style:none}.ui-content .ui-listview,.ui-panel-inner>.ui-listview{margin:-1em}.ui-content .ui-listview-inset,.ui-panel-inner>.ui-listview-inset{margin:1em 0}.ui-collapsible-content>.ui-listview{margin:-.5em -1em}.ui-collapsible-content>.ui-listview-inset{margin:.5em 0}.ui-listview>li{display:block;position:relative;overflow:visible}.ui-listview>.ui-li-static,.ui-listview>.ui-li-divider,.ui-listview>li>a.ui-btn{margin:0;display:block;position:relative;text-align:left;text-overflow:ellipsis;overflow:hidden;white-space:nowrap}.ui-listview>li>.ui-btn:focus{z-index:1}.ui-listview>.ui-li-static,.ui-listview>.ui-li-divider,.ui-listview>li>a.ui-btn{border-width:1px 0 0;border-style:solid}.ui-listview-inset>.ui-li-static,.ui-listview-inset>.ui-li-divider,.ui-listview-inset>li>a.ui-btn{border-right-width:1px;border-left-width:1px}.ui-listview>.ui-li-static.ui-last-child,.ui-listview>.ui-li-divider.ui-last-child,.ui-listview>li.ui-last-child>a.ui-btn{border-bottom-width:1px}.ui-collapsible-content>.ui-listview:not(.ui-listview-inset)>li.ui-first-child,.ui-collapsible-content>.ui-listview:not(.ui-listview-inset)>li.ui-first-child>a.ui-btn{border-top-width:0}.ui-collapsible-themed-content .ui-listview:not(.ui-listview-inset)>li.ui-last-child,.ui-collapsible-themed-content .ui-listview:not(.ui-listview-inset)>li.ui-last-child>a.ui-btn{border-bottom-width:0}.ui-listview>li.ui-first-child,.ui-listview>li.ui-first-child>a.ui-btn{-webkit-border-top-right-radius:inherit;border-top-right-radius:inherit;-webkit-border-top-left-radius:inherit;border-top-left-radius:inherit}.ui-listview>li.ui-last-child,.ui-listview>li.ui-last-child>a.ui-btn{-webkit-border-bottom-right-radius:inherit;border-bottom-right-radius:inherit;-webkit-border-bottom-left-radius:inherit;border-bottom-left-radius:inherit}.ui-listview>li.ui-li-has-alt>a.ui-btn{-webkit-border-top-right-radius:0;border-top-right-radius:0;-webkit-border-bottom-right-radius:0;border-bottom-right-radius:0}.ui-listview>li.ui-first-child>a.ui-btn+a.ui-btn{-webkit-border-top-left-radius:0;border-top-left-radius:0;-webkit-border-top-right-radius:inherit;border-top-right-radius:inherit}.ui-listview>li.ui-last-child>a.ui-btn+a.ui-btn{-webkit-border-bottom-left-radius:0;border-bottom-left-radius:0;-webkit-border-bottom-right-radius:inherit;border-bottom-right-radius:inherit}.ui-listview>li.ui-first-child img:first-child:not(.ui-li-icon){-webkit-border-top-left-radius:inherit;border-top-left-radius:inherit}.ui-listview>li.ui-last-child img:first-child:not(.ui-li-icon){-webkit-border-bottom-left-radius:inherit;border-bottom-left-radius:inherit}.ui-collapsible-content>.ui-listview:not(.ui-listview-inset){-webkit-border-radius:inherit;border-radius:inherit}.ui-listview>.ui-li-static{padding:.7em 1em}.ui-listview>.ui-li-divider{padding:.5em 1.143em;font-size:14px;font-weight:700;cursor:default;outline:0}.ui-listview>.ui-li-has-count>.ui-btn,.ui-listview>.ui-li-static.ui-li-has-count,.ui-listview>.ui-li-divider.ui-li-has-count{padding-right:2.8125em}.ui-listview>.ui-li-has-count>.ui-btn-icon-right{padding-right:4.6875em}.ui-listview>.ui-li-has-thumb>.ui-btn,.ui-listview>.ui-li-static.ui-li-has-thumb{min-height:3.625em;padding-left:6.25em}.ui-listview>.ui-li-has-icon>.ui-btn,.ui-listview>.ui-li-static.ui-li-has-icon{min-height:1.25em;padding-left:2.5em}.ui-li-count{position:absolute;font-size:12.5px;font-weight:700;text-align:center;border-width:1px;border-style:solid;padding:0 .48em;line-height:1.6em;min-height:1.6em;min-width:.64em;right:.8em;top:50%;margin-top:-.88em}.ui-listview .ui-btn-icon-right .ui-li-count{right:3.2em}.ui-listview .ui-li-has-thumb>img:first-child,.ui-listview .ui-li-has-thumb>.ui-btn>img:first-child,.ui-listview .ui-li-has-thumb .ui-li-thumb{position:absolute;left:0;top:0;max-height:5em;max-width:5em}.ui-listview>.ui-li-has-icon>img:first-child,.ui-listview>.ui-li-has-icon>.ui-btn>img:first-child{position:absolute;left:.625em;top:.9em;max-height:1em;max-width:1em}.ui-listview>li h1,.ui-listview>li h2,.ui-listview>li h3,.ui-listview>li h4,.ui-listview>li h5,.ui-listview>li h6{font-size:1em;font-weight:700;display:block;margin:.45em 0;text-overflow:ellipsis;overflow:hidden;white-space:nowrap}.ui-listview>li p{font-size:.75em;font-weight:400;display:block;margin:.6em 0;text-overflow:ellipsis;overflow:hidden;white-space:nowrap}.ui-listview .ui-li-aside{position:absolute;top:1em;right:3.333em;margin:0;text-align:right}.ui-listview>li.ui-li-has-alt>.ui-btn{margin-right:2.5em;border-right-width:0}.ui-listview>li.ui-li-has-alt>.ui-btn+.ui-btn{position:absolute;width:2.5em;height:100%;min-height:auto;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;border-left-width:1px;top:0;right:0;margin:0;padding:0;z-index:2}.ui-listview-inset>li.ui-li-has-alt>.ui-btn+.ui-btn{border-right-width:1px}.ui-listview>li.ui-li-has-alt>.ui-btn+.ui-btn:focus{z-index:3}ol.ui-listview,ol.ui-listview>.ui-li-divider{counter-reset:listnumbering}ol.ui-listview>li>.ui-btn,ol.ui-listview>li.ui-li-static{vertical-align:middle}ol.ui-listview>li>.ui-btn:first-child:before,ol.ui-listview>li.ui-li-static:before,ol.ui-listview>li.ui-field-contain>label:before,ol.ui-listview>li.ui-field-contain>.ui-controlgroup-label:before{display:inline-block;font-size:.9em;font-weight:400;padding-right:.3em;min-width:1.4em;line-height:1.5;vertical-align:middle;counter-increment:listnumbering;content:counter(listnumbering) "."}ol.ui-listview>li.ui-field-contain:before{content:none;display:none}ol.ui-listview>li h1:first-child,ol.ui-listview>li h2:first-child,ol.ui-listview>li h3:first-child,ol.ui-listview>li h4:first-child,ol.ui-listview>li h5:first-child,ol.ui-listview>li h6:first-child,ol.ui-listview>li p:first-child,ol.ui-listview>li img:first-child+*{display:inline-block;vertical-align:middle}ol.ui-listview>li h1:first-child~*,ol.ui-listview>li h2:first-child~*,ol.ui-listview>li h3:first-child~*,ol.ui-listview>li h4:first-child~*,ol.ui-listview>li h5:first-child~*,ol.ui-listview>li h6:first-child~*,ol.ui-listview>li p:first-child~*,ol.ui-listview>li img:first-child+*~*{margin-top:0;text-indent:2.04em}html .ui-filterable+.ui-listview,html .ui-filterable.ui-listview{margin-top:.5em}.ui-collapsible-content>form.ui-filterable{margin-top:-.5em}.ui-collapsible-content>.ui-input-search.ui-filterable{margin-top:0}.ui-collapsible-content>.ui-filterable+.ui-listview:not(.ui-listview-inset)>li.ui-first-child,.ui-collapsible-content>.ui-filterable+.ui-listview:not(.ui-listview-inset)>li.ui-first-child>a.ui-btn,.ui-collapsible-content>.ui-filterable.ui-listview:not(.ui-listview-inset)>li.ui-first-child,.ui-collapsible-content>.ui-filterable.ui-listview:not(.ui-listview-inset)>li.ui-first-child>a.ui-btn{border-top-width:1px}div.ui-slider{height:30px;margin:.5em 0;padding:0;-ms-touch-action:pan-y pinch-zoom double-tap-zoom}div.ui-slider:before,div.ui-slider:after{content:"";display:table}div.ui-slider:after{clear:both}input.ui-slider-input{display:block;float:left;font-size:14px;font-weight:700;margin:0;padding:4px;width:40px;height:20px;line-height:20px;border-width:1px;border-style:solid;outline:0;text-align:center;vertical-align:text-bottom;-webkit-appearance:none;-moz-appearance:none;appearance:none;-webkit-box-sizing:content-box;-moz-box-sizing:content-box;box-sizing:content-box}.ui-slider-input::-webkit-outer-spin-button,.ui-slider-input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.ui-slider-track{position:relative;overflow:visible;border-width:1px;border-style:solid;height:15px;margin:0 15px 0 68px;top:6px}.ui-slider-track.ui-mini{height:12px;top:8px}.ui-slider-track .ui-slider-bg{height:100%}.ui-slider-track .ui-btn.ui-slider-handle{position:absolute;z-index:1;top:50%;width:28px;height:28px;margin:-15px 0 0 -15px;outline:0;padding:0}.ui-slider-track.ui-mini .ui-slider-handle{height:14px;width:14px;margin:-8px 0 0 -8px}select.ui-slider-switch{position:absolute!important;height:1px;width:1px;overflow:hidden;clip:rect(1px,1px,1px,1px)}div.ui-slider-switch{display:inline-block;height:32px;width:5.8em;top:0}div.ui-slider-switch:before,div.ui-slider-switch:after{display:none;clear:none}div.ui-slider-switch.ui-mini{height:29px;top:0}.ui-slider-inneroffset{margin:0 16px;position:relative;z-index:1}.ui-slider-switch.ui-mini .ui-slider-inneroffset{margin:0 15px 0 14px}.ui-slider-switch .ui-btn.ui-slider-handle{margin:1px 0 0 -15px}.ui-slider-switch.ui-mini .ui-slider-handle{width:25px;height:25px;margin:1px 0 0 -13px;padding:0}.ui-slider-handle-snapping{-webkit-transition:left 70ms linear;-moz-transition:left 70ms linear;transition:left 70ms linear}.ui-slider-switch .ui-slider-label{position:absolute;text-align:center;width:100%;overflow:hidden;font-size:16px;top:0;line-height:2;min-height:100%;white-space:nowrap;cursor:pointer}.ui-slider-switch.ui-mini .ui-slider-label{font-size:14px}.ui-slider-switch .ui-slider-label-a{z-index:1;left:0;text-indent:-1.5em}.ui-slider-switch .ui-slider-label-b{z-index:0;right:0;text-indent:1.5em}.ui-slider-track .ui-slider-bg,.ui-slider-switch .ui-slider-label,.ui-slider-switch .ui-slider-inneroffset,.ui-slider-handle{-webkit-border-radius:inherit;border-radius:inherit}.ui-field-contain div.ui-slider-switch{margin:0}.ui-field-contain div.ui-slider-switch,.ui-field-contain.ui-hide-label div.ui-slider-switch,html .ui-popup .ui-field-contain div.ui-slider-switch{display:inline-block;width:5.8em}.ui-slider-popup{width:64px;height:64px;font-size:36px;padding-top:14px;opacity:.8}.ui-slider-popup{position:absolute!important;text-align:center;z-index:100}.ui-slider-track .ui-btn.ui-slider-handle{font-size:.9em;line-height:30px}.ui-rangeslider{margin:.5em 0}.ui-rangeslider:before,.ui-rangeslider:after{content:"";display:table}.ui-rangeslider:after{clear:both}.ui-rangeslider .ui-slider-input.ui-rangeslider-last{float:right}.ui-rangeslider .ui-rangeslider-sliders{position:relative;overflow:visible;height:30px;margin:0 68px}.ui-rangeslider .ui-rangeslider-sliders .ui-slider-track{position:absolute;top:6px;right:0;left:0;margin:0}.ui-rangeslider.ui-mini .ui-rangeslider-sliders .ui-slider-track{top:8px}.ui-rangeslider .ui-slider-track:first-child .ui-slider-bg{display:none}.ui-rangeslider .ui-rangeslider-sliders .ui-slider-track:first-child{background-color:transparent;background:0;border-width:0;height:0}html >body .ui-rangeslider .ui-rangeslider-sliders .ui-slider-track:first-child{height:15px;border-width:1px}html >body .ui-rangeslider.ui-mini .ui-rangeslider-sliders .ui-slider-track:first-child{height:12px}div.ui-rangeslider label{position:absolute!important;height:1px;width:1px;overflow:hidden;clip:rect(1px,1px,1px,1px)}.ui-field-contain .ui-rangeslider input.ui-slider-input,.ui-field-contain .ui-rangeslider.ui-mini input.ui-slider-input,.ui-field-contain .ui-rangeslider .ui-rangeslider-sliders,.ui-field-contain .ui-rangeslider.ui-mini .ui-rangeslider-sliders{margin-top:0;margin-bottom:0}.ui-input-text,.ui-input-search{margin:.5em 0;border-width:1px;border-style:solid}.ui-input-text input,.ui-input-search input,textarea.ui-input-text{padding:.4em;line-height:1.4em;display:block;width:100%;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;outline:0}.ui-input-text input,.ui-input-search input{margin:0;min-height:2.2em;text-align:left;border:0;background:transparent none;-webkit-appearance:none;-webkit-border-radius:inherit;border-radius:inherit}textarea.ui-input-text{overflow:auto;resize:vertical}.ui-mini .ui-input-text input,.ui-mini .ui-input-search input,.ui-input-text.ui-mini input,.ui-input-search.ui-mini input,.ui-mini textarea.ui-input-text,textarea.ui-mini{font-size:14px}.ui-mini textarea.ui-input-text,textarea.ui-mini{margin:.446em 0}.ui-input-has-clear,.ui-input-search{position:relative}.ui-input-has-clear{padding-right:2.375em}.ui-mini.ui-input-has-clear{padding-right:2.923em}.ui-input-has-clear input{padding-right:0;-webkit-border-top-right-radius:0;border-top-right-radius:0;-webkit-border-bottom-right-radius:0;border-bottom-right-radius:0}.ui-input-search input{padding-left:1.75em}.ui-input-search:after{position:absolute;left:.3125em;top:50%;margin-top:-7px;content:"";background-position:center center;background-repeat:no-repeat;width:14px;height:14px;filter:Alpha(Opacity=50);opacity:.5}.ui-input-search.ui-input-has-clear .ui-btn.ui-input-clear,.ui-input-text.ui-input-has-clear .ui-btn.ui-input-clear{position:absolute;right:0;top:50%;margin:-14px .3125em 0;border:0;background-color:transparent}.ui-input-search .ui-input-clear-hidden,.ui-input-text .ui-input-clear-hidden{display:none}.ui-input-text input::-moz-placeholder,.ui-input-search input::-moz-placeholder,textarea.ui-input-text::-moz-placeholder{color:#aaa}.ui-input-text input:-ms-input-placeholder,.ui-input-search input:-ms-input-placeholder,textarea.ui-input-text:-ms-input-placeholder{color:#aaa}.ui-input-text input[type=number]::-webkit-outer-spin-button{margin:0}.ui-input-text input::-ms-clear,.ui-input-search input::-ms-clear{display:none}.ui-input-text input:focus,.ui-input-search input:focus{-webkit-box-shadow:none;-moz-box-shadow:none;box-shadow:none}textarea.ui-input-text.ui-textinput-autogrow{overflow:hidden}.ui-textinput-autogrow-resize{-webkit-transition:height .25s;-o-transition:height .25s;-moz-transition:height .25s;transition:height .25s}.ui-flipswitch{display:inline-block;vertical-align:middle;width:5.875em;height:1.875em;border-width:1px;border-style:solid;margin:.5em 0;overflow:hidden;-webkit-transition-property:padding,width,background-color,color,border-color;-moz-transition-property:padding,width,background-color,color,border-color;-o-transition-property:padding,width,background-color,color,border-color;transition-property:padding,width,background-color,color,border-color;-webkit-transition-duration:100ms;-moz-transition-duration:100ms;-o-transition-duration:100ms;transition-duration:100ms;-webkit-touch-callout:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;cursor:pointer}.ui-flipswitch.ui-flipswitch-active{padding-left:4em;width:1.875em}.ui-flipswitch-input{position:absolute;height:1px;width:1px;margin:-1px;overflow:hidden;clip:rect(1px,1px,1px,1px);border:0;outline:0;filter:Alpha(Opacity=0);opacity:0}.ui-flipswitch .ui-btn.ui-flipswitch-on,.ui-flipswitch .ui-flipswitch-off{float:left;height:1.75em;margin:.0625em;line-height:1.65em}.ui-flipswitch .ui-btn.ui-flipswitch-on{width:1.75em;padding:0;text-indent:-2.6em;text-align:left;border-width:1px;border-style:solid;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;border-radius:inherit;overflow:visible;color:inherit;text-shadow:inherit}.ui-flipswitch .ui-flipswitch-off{padding:1px;text-indent:1em}html .ui-field-contain>label+.ui-flipswitch,html .ui-popup .ui-field-contain>label+.ui-flipswitch{display:inline-block;width:5.875em;-webkit-box-sizing:content-box;-moz-box-sizing:content-box;box-sizing:content-box}.ui-field-contain .ui-flipswitch.ui-flipswitch-active,.ui-popup .ui-field-contain .ui-flipswitch.ui-flipswitch-active{width:1.875em}.ui-table{border:0;border-collapse:collapse;padding:0;width:100%}.ui-table th,.ui-table td{line-height:1.5em;text-align:left;padding:.4em .5em;vertical-align:top}.ui-table th .ui-btn,.ui-table td .ui-btn{line-height:normal}.ui-table th{font-weight:700}.ui-table caption{text-align:left;margin-bottom:1.4em;opacity:.5}.ui-table-columntoggle-btn{float:right;margin-bottom:.8em}.ui-table-columntoggle-popup fieldset{margin:0}.ui-table-columntoggle{clear:both}@media only all{th.ui-table-priority-6,td.ui-table-priority-6,th.ui-table-priority-5,td.ui-table-priority-5,th.ui-table-priority-4,td.ui-table-priority-4,th.ui-table-priority-3,td.ui-table-priority-3,th.ui-table-priority-2,td.ui-table-priority-2,th.ui-table-priority-1,td.ui-table-priority-1{display:none}}@media screen and (min-width:20em){.ui-table-columntoggle.ui-responsive th.ui-table-priority-1,.ui-table-columntoggle.ui-responsive td.ui-table-priority-1{display:table-cell}}@media screen and (min-width:30em){.ui-table-columntoggle.ui-responsive th.ui-table-priority-2,.ui-table-columntoggle.ui-responsive td.ui-table-priority-2{display:table-cell}}@media screen and (min-width:40em){.ui-table-columntoggle.ui-responsive th.ui-table-priority-3,.ui-table-columntoggle.ui-responsive td.ui-table-priority-3{display:table-cell}}@media screen and (min-width:50em){.ui-table-columntoggle.ui-responsive th.ui-table-priority-4,.ui-table-columntoggle.ui-responsive td.ui-table-priority-4{display:table-cell}}@media screen and (min-width:60em){.ui-table-columntoggle.ui-responsive th.ui-table-priority-5,.ui-table-columntoggle.ui-responsive td.ui-table-priority-5{display:table-cell}}@media screen and (min-width:70em){.ui-table-columntoggle.ui-responsive th.ui-table-priority-6,.ui-table-columntoggle.ui-responsive td.ui-table-priority-6{display:table-cell}}.ui-table-columntoggle th.ui-table-cell-hidden,.ui-table-columntoggle td.ui-table-cell-hidden,.ui-table-columntoggle.ui-responsive th.ui-table-cell-hidden,.ui-table-columntoggle.ui-responsive td.ui-table-cell-hidden{display:none}.ui-table-columntoggle th.ui-table-cell-visible,.ui-table-columntoggle td.ui-table-cell-visible,.ui-table-columntoggle.ui-responsive th.ui-table-cell-visible,.ui-table-columntoggle.ui-responsive td.ui-table-cell-visible{display:table-cell}.ui-table-reflow td .ui-table-cell-label,.ui-table-reflow th .ui-table-cell-label{display:none}@media only all{.ui-table-reflow thead td,.ui-table-reflow thead th{display:none}.ui-table-reflow td,.ui-table-reflow th{text-align:left;display:block}.ui-table-reflow tbody th{margin-top:3em}.ui-table-reflow td .ui-table-cell-label,.ui-table-reflow th .ui-table-cell-label{padding:.4em;min-width:30%;display:inline-block;margin:-.4em 1em -.4em -.4em}.ui-table-reflow th .ui-table-cell-label-top,.ui-table-reflow td .ui-table-cell-label-top{display:block;padding:.4em 0;margin:.4em 0;text-transform:uppercase;font-size:.9em;font-weight:400}}@media (min-width:35em){.ui-table-reflow.ui-responsive td,.ui-table-reflow.ui-responsive th,.ui-table-reflow.ui-responsive tbody th,.ui-table-reflow.ui-responsive tbody td,.ui-table-reflow.ui-responsive thead td,.ui-table-reflow.ui-responsive thead th{display:table-cell;margin:0}.ui-table-reflow.ui-responsive td .ui-table-cell-label,.ui-table-reflow.ui-responsive th .ui-table-cell-label{display:none}}@media (max-width:35em){.ui-table-reflow.ui-responsive td,.ui-table-reflow.ui-responsive th{width:100%;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;float:left;clear:left}}.ui-panel{width:17em;min-height:100%;max-height:none;border-width:0;position:absolute;top:0;display:block}.ui-panel-closed{width:0;max-height:100%;overflow:hidden;visibility:hidden}.ui-panel-fixed{position:fixed;bottom:-1px;padding-bottom:1px}.ui-panel-display-reveal{z-index:1}.ui-panel-display-push{z-index:999}.ui-panel-display-overlay{z-index:1001}.ui-panel-inner{padding:1em}.ui-panel-page-container{overflow-x:visible}.ui-panel-page-container-themed .ui-page-active{background:0}.ui-panel-wrapper{position:relative;min-height:inherit;border:0;overflow-x:hidden;z-index:999}.ui-panel-fixed-toolbar{overflow-x:hidden}.ui-panel-dismiss{position:absolute;top:0;left:0;right:0;height:100%;z-index:1002;display:none}.ui-panel-dismiss-open{display:block}.ui-panel-animate{-webkit-transition:-webkit-transform 300ms ease;-webkit-transition-duration:300ms;-moz-transition:-moz-transform 300ms ease;transition:transform 300ms ease}@media screen and (max-device-width:768px){.ui-page-header-fixed .ui-panel-animate.ui-panel-wrapper,.ui-page-footer-fixed .ui-panel-animate.ui-panel-wrapper,.ui-panel-animate.ui-panel-fixed-toolbar{-ms-transition:none}.ui-panel-animate.ui-panel-fixed-toolbar{-ms-transition:-ms-transform 1ms;-ms-transform:rotate(0deg)}}.ui-panel-animate.ui-panel:not(.ui-panel-display-reveal){-webkit-backface-visibility:hidden;-webkit-transform:translate3d(0,0,0)}.ui-panel-position-left{left:-17em}.ui-panel-animate.ui-panel-position-left.ui-panel-display-overlay,.ui-panel-animate.ui-panel-position-left.ui-panel-display-push{left:0;-webkit-transform:translate3d(-17em,0,0);-moz-transform:translate3d(-17em,0,0);transform:translate3d(-17em,0,0)}.ui-panel-position-left.ui-panel-display-reveal,.ui-panel-open.ui-panel-position-left{left:0}.ui-panel-animate.ui-panel-open.ui-panel-position-left.ui-panel-display-overlay,.ui-panel-animate.ui-panel-open.ui-panel-position-left.ui-panel-display-push{-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0);-moz-transform:none}.ui-panel-position-right{right:-17em}.ui-panel-animate.ui-panel-position-right.ui-panel-display-overlay,.ui-panel-animate.ui-panel-position-right.ui-panel-display-push{right:0;-webkit-transform:translate3d(17em,0,0);-moz-transform:translate3d(17em,0,0);transform:translate3d(17em,0,0)}.ui-panel-position-right.ui-panel-display-reveal,.ui-panel-position-right.ui-panel-open{right:0}.ui-panel-animate.ui-panel-open.ui-panel-position-right.ui-panel-display-overlay,.ui-panel-animate.ui-panel-open.ui-panel-position-right.ui-panel-display-push{-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0);-moz-transform:none}.ui-panel-page-content-position-left{left:17em;right:-17em}.ui-panel-animate.ui-panel-page-content-position-left{left:0;right:0;-webkit-transform:translate3d(17em,0,0);-moz-transform:translate3d(17em,0,0);transform:translate3d(17em,0,0)}.ui-panel-page-content-position-right{left:-17em;right:17em}.ui-panel-animate.ui-panel-page-content-position-right{left:0;right:0;-webkit-transform:translate3d(-17em,0,0);-moz-transform:translate3d(-17em,0,0);transform:translate3d(-17em,0,0)}.ui-panel-dismiss-open.ui-panel-dismiss-position-left{left:17em}.ui-panel-dismiss-open.ui-panel-dismiss-position-right{right:17em}.ui-panel-display-reveal{-webkit-box-shadow:inset -5px 0 5px rgba(0,0,0,.15);-moz-box-shadow:inset -5px 0 5px rgba(0,0,0,.15);box-shadow:inset -5px 0 5px rgba(0,0,0,.15)}.ui-panel-position-right.ui-panel-display-reveal{-webkit-box-shadow:inset 5px 0 5px rgba(0,0,0,.15);-moz-box-shadow:inset 5px 0 5px rgba(0,0,0,.15);box-shadow:inset 5px 0 5px rgba(0,0,0,.15)}.ui-panel-display-overlay{-webkit-box-shadow:5px 0 5px rgba(0,0,0,.15);-moz-box-shadow:5px 0 5px rgba(0,0,0,.15);box-shadow:5px 0 5px rgba(0,0,0,.15)}.ui-panel-position-right.ui-panel-display-overlay{-webkit-box-shadow:-5px 0 5px rgba(0,0,0,.15);-moz-box-shadow:-5px 0 5px rgba(0,0,0,.15);box-shadow:-5px 0 5px rgba(0,0,0,.15)}.ui-panel-open.ui-panel-position-left.ui-panel-display-push{border-right-width:1px;margin-right:-1px}.ui-panel-page-content-position-left.ui-panel-page-content-display-push{margin-left:1px;width:auto}.ui-panel-open.ui-panel-position-right.ui-panel-display-push{border-left-width:1px;margin-left:-1px}.ui-panel-page-content-position-right.ui-panel-page-content-display-push{margin-right:1px;width:auto}@media (min-width:55em){.ui-responsive-panel .ui-panel-page-content-open.ui-panel-page-content-position-left{margin-right:17em}.ui-responsive-panel .ui-panel-page-content-open.ui-panel-page-content-position-right{margin-left:17em}.ui-responsive-panel .ui-panel-page-content-open{width:auto}.ui-responsive-panel .ui-panel-dismiss-display-push,.ui-responsive-panel.ui-page-active~.ui-panel-dismiss-display-push{display:none}}.ui-tabs{position:relative;padding:.2em} \ No newline at end of file diff --git a/html5/verto/video_demo/css/jsontable.css b/html5/verto/video_demo/css/jsontable.css new file mode 100644 index 0000000000..07acd67eba --- /dev/null +++ b/html5/verto/video_demo/css/jsontable.css @@ -0,0 +1,65 @@ +.nthChildTest > div:nth-child(odd) { + display: none; +} + +.jsDataTable > thead > tr > th { + + border-width:4px; + padding: 2px; + font-size:10pt; + text-align: left; + +} + +.jsDataTable > thead > tr > th.notSortable { + padding: 5px; +} + +.jsDataTable > tbody > tr > td { + border-bottom: 1px solid #ccc; + padding: 2px; + vertical-align: middle; + height:25px; + font-size: 10px; +} + +.jsDataTable { + font-family: verdana; + font-size:10pt; +} + +.jsDataTable > tbody > tr:nth-child(odd), +.jsDataTable > tbody > tr.odd { + background-color: #ffffee; +} +.jsDataTable > tbody > tr:nth-child(even), +.jsDataTable > tbody > tr.even { + background-color: #ffffff; +} + +.jsDataTable > thead th.sortAsc, +.jsDataTable > thead th.sortDesc { + color:ffffff; + + background-color: #7777ff; + background-position: right center; + background-repeat: no-repeat; +} + +.jsDataTable > thead th.sortAsc { + background-image: url(/images/table/asc.png); +} + +.jsDataTable > thead th.sortDesc { + background-image: url(/images/table/desc.png); +} + +.jsDataTable.clickable > tbody > tr, +.clickable > .jsDataTable > tbody > tr { + cursor: pointer; +} + +.jsDataTable.clickable > tbody > tr.nonDataRow, +.clickable > .jsDataTable > tbody > tr.nonDataRow { + cursor: auto; +} diff --git a/html5/verto/video_demo/dp/dp.xml b/html5/verto/video_demo/dp/dp.xml new file mode 100644 index 0000000000..66561b7c47 --- /dev/null +++ b/html5/verto/video_demo/dp/dp.xml @@ -0,0 +1,58 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/html5/verto/video_demo/favicon.ico b/html5/verto/video_demo/favicon.ico new file mode 100644 index 0000000000000000000000000000000000000000..12609ab14ef7970874abe3a83896ca2fecc79761 GIT binary patch literal 12862 zcmeI3`CnAm6~L$eL_ht#Kh*Z~sSAo|iP1DFyMk*p?rYR&+-(|THJUU=6JzQg_EkUx zQBgru+`t8~;4UB_h$1lT>p=Q_^PJ1$&BA-*q<;D-cwz3`ckVgop7q{yp9aHk_%~*Z zfxo{q3~)0Terqro2Jp*}VJpAVxaH^f0}Tf0*YXn;^j?4Kmq5P+TquFaiGPWlFft-w zM1;SG)aXnY$zW8VrwggL78MMK`3w#98XV^99zFT}qcg`JTQD(Y*>qacqM)N6dqqzk z9q#8I>NNzghzTQHOWk>Ffu3fzhs4bspYe~?`SD>DcXAqEz36CZ?r3gmsjY6Vu4*;b zv^O?1zkXF&kb5sFDs%h#_*p)o-fm2ce3u&W4D}fr?mzt8-#Rf1KnMwt9!NukNvY0Wcrc@e8R1{<1@(uq3E>M)v`45wTc=2Up?`);>+m*v$Au3+ZrkRyoI8Pw80d+RU*_iuw93xq-CGX7 z|A&}qADsAfCXJ5d+7m|FL&zflVy0T)r;KJlR`noXiBt6RVvdB28)Ofa_Hj(;cF0cx zt+G>B_UvwKaD91cS7!%}&fU0R*h4Q-L8E$;7=;{oloxeKz}J-(v#}wuDsjqv22ZV> zhxU6Tapour-PBdHx=c2LgEd`7svZ@P{#2w{QR2J+9@(5?Jy=&>$|hN(K{{Te8ObPB zI<}^$9H}mR7(1Py{bmzR2h*y4`cMhuxKG@EOV3p<3Zs3RandnG)l(^HTJ}qH9;F>u z0XY7e8@|s~@tK8y>gLaT98*+1#okV>oiA+{eTT8*wHd)wQ+uo zf4zL#gXc7qw0KfyYm1VKmj1hb=7QwhF&|j2Tv$V zTfazfrM=T?ti>3#!wX0%Cl2Zi_V~0nP7J^F?dJly_D<8QN=jtf;RWQC@3)HdZI3JM zWMyw8IO?yKx~d+&`eo((9K5a_yaxtC=O&GPT1CNa}2^%D)^s z;yxPNT>VNQ*WSsEI6%`5FCbftHI$Tz+uDu99wfp~|8kYUtfSN2O^Nl)#wEXWck7sC z0llz&gG;t>6oMX}Ot4_p@k!+83__!Zqhp!{v@r8Dr%QWM)i}<*28X`JmlYPQIzIEF z595P0PO>_tSwPwKCC>Awx}uR)n_y7C^21gON*$lgHC2)UbF&jL;^-{z=9C!!S1XiTF z3w+YTK1qd!iQE1nc4!hLCO(ErV=1Xp~AgK?}w(_?y8$5(aw? z)ZCSf8%V?uFvXWMB%9YPQ~<>_wPzoM@6*|<3uS$2~uZ!Q=<&o+13hgKr%hd zXPEi&QM!ePG-?g=9g2CBW@ibsn8cIxR8H=o5+({}NkO}}i1>-wgHvy!!5DH5ekW*E zJU+ndu{th)6Xy6bi`vNbegAxscSB$!x zT`R*civ=NcMLmk`ar|r_Bw$ac_QquiE0;h{Id8rqgo<(&t6*KxQ$}+!dMo(Hvh1ve z%JSBFBd*s}RY|<+Xl_I`43=hJx*fKU9hY1QS8@(QF3}jLFesKuiJtO~S?^jSgOV|# zI+l=gphpV?vInX0aWlp#H7-w)JkA$887yU%p!ecud2>cSv0^5d?-X138a-(gk5DW8 z2y2n&$_AGHJ+ z>}7!Al90x>aTBy7H5B3J&Kj{Uj2uHk;5i3(@$!QT8}?anEP^R2*XSirTkL58fPvVl zA7KABZ)CVJB*L)iBJ`cvw1n4wxFumxgdid$mvr2t-8lSx;rUa>l0p$)l>FB{FUi>Q z84`$`Xg7ms;nM*Ol0krJ8y3IFyQw5?-RB*H_U1-jm}zgUC(hekvY15*<1oUNipakX zczF9qlC=kn$oy&@SDcO+6CB#>5R*AXBrOb*+`$#6X^pERE=j3}y8YVu1xZo(vaW@Y z9m;aDICLDH=>_L{bE`%s`v&9o*4G^dfW*Q{c7#FFJ*f)IA!nI7Ixr;O5WvliB}L`A z*#(IanLE}e%=MQdr`He%o29;~JL|~SmU zCKwYc2!y}>`s>xJSC1Y&>gwvcefxGnK|xANN=QhEr>EzUBS&`b+-YlTD-Z}c9FCfr z8i7Dy|3!9K@3h0l%5gp4*aRT{{nzgx1}L9~%AfM3#smWRmumaQ@4U>9pSbO+0$LIPtr>H><{{!d^!|HwbAIt1{-+7Ta2>x>}r<$279U7FR%5w|JIQ-7uka zgOwiqlR{u=9DeWlvEEZ6R_mcX_D>?!>0WF)7j`|0NDVG9f412Pc!v4~*d&C+3h)FQ zDA^3X0!Y&NfeCKe#@31Xe6SRh6&ou`vnqJkFWuC?6;s23t|!&A5d{Rda8R%jf~qf2v__<&*>hT?j;)XK+f ztS03*6|qPPs?5Z>TZh$I&;Xj@2w}WgW3jm-&%UQ8qdt6vFQ-g#l zFP9MgVXC(Igxa%BYo*{KhHakWKByrg(VSRs#f^bSS2cz>%S1mlM=i0srSS8cvWrsR zVQ?VjptL(mXJ^iv7-~=@^G`=&?Z~k_rh}cO`KG&P^m@>5mnBP;LPi5$_HRPN9j(Mn zRSmjPkNp9LUEM%Fd(cV`wV7PRgvA{i0*m6PUHK9}Lt~5neh@}b6xp}K^n3aq>r3D- zY?OqWg>w)9JOd!YQx`91fbr?PP%R`AOuJ@@7q}E#q6M;YL4HPAl^F~{AXHQ%sB68^ zY}8uU-ofkq;U2#e?(SpXfgfZK^MW4uJ<`V}5MjJ+XQR_ zk-wpCJ#mr%Na(wvfPh_G6!d|eP1#7I4PuNCW#3qA{4qpHBef0 zHC9{WUT>+Wt!uS}J8pKG!F_!#J%aweLqo&;$b*O1LP7>7^e3NA^TR{Jo*QG6VdPi( zdqPoc>Vp;*_6d7G+ucZ*`iTTl#iY7V5)7Y=|?9n=^KTrBx}O>hwOGVyhkcFV0;y-JHswxK=BXRjL+Xuw<04-vi60w zKUJ|*RhxIJ?>XlQLI{Fk2z`;+ab{N2QCIi`2dHM=88f`vr%Kj+s6k!&2i0A zTrxuQiS%@BE~3cFF++R^pk-+mj0m?2RWSJ8y>h`#bF2I9og?A*LPkb|gL@wd#)JDO z`QzxuXO_V)Ue1}lelhdb<3;GlUrRn=IOUJMhW1li8~h~e-WfR)R1c`A0Sg$1>g7ah zM^!4nXqLrlRi&(7xP5A*cRx#wt#9f&A=kaVnrm0$c9fnIl3=(mUEqH($H8s4W966X zh)^4*UG%R#?v+8=7ag|Vi8xlFwKH8<@>!;~>ML338V{xRws)Bdn@g}584&Z?7Hl<?dh(AhJ@%{ zT!Mw77j%hnkWLhqjO)U2aVNEsGcIwFG-8lE1*hnuIYb@2yu658l2eA0Z(q05yiKMw z-eESjQkyl~s8m|VA}Xb;``-P9{j^b)p#`)7m5GOA>JOewJ|)b&n0@|oj{fTP{JRey zfBo&#@1Otp@>%VhMpb_qVj~stG-!XD;CAhZ9=7|jzXb(ZGtw?#{tbT%DmBQ%=`&RY z9pX>>)$UBz{Bw!wl5KWm)bFe-iUt1+iGc_oUpf!- z^G8q@rRzsr0h6>%*?36YMSbMt6#$OrP=ZSn1!#W6HEjuA9h`22R2B*-eKJLe-R(dcD5Il71~>?fJm?#P2SEY#`HL|XbP$+*PNUN1UJVLppa1xEkn}s_ zle?uV>qo0|a}>~-LC~?*0T?jhH&uibN-Wt~!zOSmBDq#5$=QAd$dhT&A}SMz^t-a6 z{gcV8Gp$!IZ#p^Yv-0O4IaWC<}6I4|E`d1!o7Wj;gu7GO?hlH@Ylnq1am9ZvNH# zs_xcuOnTM|^^>C8y~EsBnsRWNUtk0igTsD-;x*|%%3`o9Y%~l25MK_3Ttt?U1=%?j z7ngG>Hw(!WbEF~%HltQo3!yq7lSA$5qELlcJ1U?Jbt{q9HSmYVl>-U`q#4kBViKL1 z0Y;yU&drl1Un*x)`2N*rA^f4|_oi(n`=nAcRZt#`XG9RmkfGCzW0RD?SfS&zO|7XV zf?<2y{nS(sfgpQi?eXFhp`nA&@kM5ci6reY-~E_r0 z?(RFiLS&$IScpCV#w@Y%C$|Pj6Vrmnr1|GBjN$ot@C_e)PlA3m!hR>^eafg$Qb`d} zkw52mG^jMJBUYM^IC`=~5}zT~mZ=<(q$QeY4Kun_^~VUZMchsC1eN*?#QT57PubN^ z6B54D&+9jf)lE6Q=FHvIvjVJF$AUIAl6UfX*KvnnyYSC($j&A9iFRLI;QyS}`pd(> zgZ7)-*BZel4Z1q%TLUs7=BoI5u{v=LDj8Q3H-RpF3x@*V_kDVwL*&dvNjnCnA5jq#qY=j7Iu^NUBks0Ly~FC<7rs1FXna z+)#llE268+uv;KnD=eynn=FxAP`fz_fIv_8oxY)g{Gq;)G9^`G@w zxlY$o+O4>yRI&QPmpsd=IDPZY%(yF>0cS6sPFjsw$WIx@*g)QEmq3A1e=Q^^FhnaN zI8qbV*cFqg2NJ-Pq(xV*rY*dBB_mUQZISF+L7qBLT3YO_C@Zc6%5M@B(=@AjtMAG|x<5(5tQ+>IL;t9@ANQ#nav%#pF6 zJi7A<0S|7qCB=wxM4d-e3uK%-JDq-R^`M16eoZ{EbK9xI>@v&s+OLAo&0cglHofnd z*LkkGkW1d-4+oqK=3(J58fY5Li9z5i@CD7pq~uf>LNbJxvmq!w*9a>ti!U)ND9ou8 zpk)wTeX9^Gtm7-dMzGl!YwNyigm$;x*GKxG0Up$MXOxWreHD+H5b)$l@hI|a{*m`x zbbcO-s+)Tc-1L@bbdd-T)f|Uy8l(0fpJOlx3U=)#*qwrkVh%Qili&e=hC3_?V^}Vy zkIc^4mPIeL!Dn@kL{NweTuco`u~{7p@vbeDQzZngMQdvs+IM9wDb5Uv;!LX_%l}@- z!JlOGjgA&-8D-~h6@T%Zi0z)?Xt-Pc)2Vi`0o}nVI4OI#`oy!@W~ya`UV- zB-aehhTtLr23=Q_^DA#aH;r%Is5L@wfHe&~qy+@a+PH9MXW>0I*4vppz=Vdus}DMc z``La)CqK_hAj3UUnGsN%P8qzeofN{8$@TL+IcQYxJ4Rn zyY6n$y_5B31yA?8u4k3DMcYn~W43z_XZ_6ZI)CA`uNL_T8j9iufowcX*_opR=VN0d z5{zWYFm}ZlO^(Yj!eZgr9Q{1F6fWXniqdj!Whqov#m1oe+qG=8p|Obxw<7JDb*=H; zDliBQLYLc7aBQqAGIKoh(b$NOvTPG4dC1h`fMUW6A|U6~0k3C#F0v8&Y(7`MDO#5V z&|kbfw>*HUhJ)x=oPmt$RUV&uh6xuIuC+P1*;&kuROf1F5H#O$T7gmXR@a^K!|MaD zUN+xI%ojC=gNv%)xRZm5n15=s)8rmU+qe#;UqUu{@cO>(mecY6>UgV_n>0Z4U{=fv z)~ZcG8fPyYjHf>Luq|5~5_Qd^Ongf3abdF6E?(Y^58Tdk%N`fpOs!QcTWD}vi{gu7 zetcZHd`C(`^vMyCsF#cv7oVgbfuy5XczAkt1~)4k$>HQ(E7Vdp>576gIQjE zU6^QwLCr7}ECc`{(tNLh4-kmNIzD=@c}SZ}8W@-JF>n;>S}o3V`sy-!N6JTu=q~37EM1>=63A*i<<{4_C&tB%kytaHclxM z=k;7(oOlD5eY=V8ZAVMmExi5B;wIE+}z(S+e!Z=`x|q^^1F| zE8edPezO6yVA@aGdfA%Bf4|HHhqQA?3<#ahhLt-?7tQTVUK7wD5%E@Z%>*nH<#uj} z2-yExZ2&-Y$=*JTflIJ1jz*xK+R!CEEHa8s@{MLi5K@=;CX=`*a!s0)k;%exu5t1? zp~YMUpab88OLPn9H<-EAw+xOEpfn8_>TIiSK2}F?JJH%j57qB!>FZbTYBPL5?;jXK zjYpn7qED=Ab8AB`@BXJ3ulu$*{!bCv;M?=|lJp#MjE<#l|7ECf==sgXXh@#RSi%C5 zq@MMK8?9AgCDt)PJ0ibq7O5!C)6P>V6v0JbYyW_Npff&~EW-lG-b9iQVof2Zrn)C4 zom)r2$#|{+N=gE)b4zgnQkaAZ$yjxDJRh$l6$8 z(f&~rt^|N~eGHkJzQ=at;2>%I74%GNaC#aYeejThz4`(`L)D3z40G9j!v*S&b1yf@ z4>XZf+4Pm7SFFYWE?srvS`4EFz7=)GY}n1S zB)ny}fM)LW(O4qft8G^`;5vEec_+sqcvt9M>!AK`_q(ri`Cmv6h2+RHY+0ui1$Kc( zEXkW&8V@}h#w@a{4x1XJ>a_3hmxxsJ9&hmR-n)$^@D6qt(!wKxf=Qv45i}|_DtO`hch+z*6DrXWIJ z+7&Fh8iw%*QCjv2$$EgXz`#~cXbDxrZ1Bz5u5S;vMlSwiRhg$`vL+TXVTzu=MQhL~IyDoU1xuUq3WmjC2Fwj*R)y00x~a3-!`?Y{rF-`U_eTa+1}8NllC z2wKW*VW|?FinaH&*H2$)c;cG!ok%X2+#L4G9PARZVB zNAN;V#Bk%V1WsIF3KQ@HJkyv_R{_~NT0x-z21mSCHdEV*?B8WdBbbZMeevRS z5@SuaWDeYeP zJU#!$?RGZ$Zc?k+#|O=etIbPhFYl*?sC_`2!?uYj+OZlr8pmSz`I|xsdpz9hChm#( zu*$t>CKkmG+y_se&03X4+v425296ZH4GgQ7LHcu_GAZf?EN zakuLZW#vHoP#4x?(e~(W=e>>SBV_p5fmg5JynXk6<+u5q@;fK6{QXfqTq-#+@=~r5 zlpUX98A%6@(#3MqWjwd-ay_rQPU^1urOS{&fpa#ia+GL2xq0((il>|MhRngFBs4&q zEAjLX*T(_RBQZv3{0Z+QeF%^PiD^7A1CV8Na)Gb{Zc%C}yQri>D<`wKiVcBvV1A7X zTo1Z8X`-zcIv8hL_uW%L>LKVxlJEUH!^7o9Gy$DE_!xpmxwJX{ln49_h7p`g{WLde zbcVg*@%ve}y<9A{g2@b%_FNSx(By4Tx24FP)!>IO;(L5L1!{zTu%WRSDH8{+1AjN) zo#8L$tdCiU>DcCGwUIe(nQjutQd` LHfkt@K(PD|Q{O_Y literal 0 HcmV?d00001 diff --git a/html5/verto/video_demo/images/icons-18-black.png b/html5/verto/video_demo/images/icons-18-black.png new file mode 100644 index 0000000000000000000000000000000000000000..791646384bf6cf9cf0720c78cfbdc8ffb6d94e7e GIT binary patch literal 1968 zcmZWqc{E%57Cwra+a!n~YH3#bDS$nNd!(P%WlZf+0%&PFh+Tm;}3^0AR#^0DNX<28gV#u8xe192_-qKVoBJdwO~R!elbR3c!FG zPyj}N0y^MEAb=ZC11vxQ4u*jaa0Dkj@C69405bMV?d|QL0Pd}=tp^I=3f0xs z;A{MS7+{yg5Y7T9@+QfZ48h+62_7851E#GAI>zZtE(7?0K;n=v5{V@2zX)_3XkZ)+ zT0#d{LBcCY*n^3KaRPb=vtyh)-a%s^JD5y5%oGUdTn2ZX%Y^}tq{Ek2M=_O(ae$o$lP4Sgb19o8%J_mto!=^^{71 zfi-{V>1i*m@xiwxVB5Q=tsrjfmo?hi^yMTrwFkcETNn6Jq=~& zS)1UTL0?psmL@O#F();btXbvWdF*n_4VPb2-z+H}HXBy8Mb8dlUiJo&^EV&7pZWO- z!i@9~lV0Qv^+|eODbhywm0e**Oj9FT(?wxlDZ_0i-_+D^USd_A8Az$9ztrzJRya({ z{B(@SR)=j9wIzF$y;el)CCuxK)yDLvr@B5hvw7n4ejqmo7ZPY1F{aNN4LOXcd_1|3~!5qY=H? zEr-4f>SWouHlVpkZH9V~%I^h;{R^$+@9Xy9I2A z>PeLRIn$qiSNO5}Uc!oFEh!Zz-`qyYrg}IY;;at(BRBk8N}RXP=_)0ML?7iing@KG zLq-QbJ}i;Ws79(8=AAb6D#J!me`%v0LOSJHIcGGpjICM07)<479$o*oRh+0W>Y7F^ zGPtmvc721ua+{H z`P1LMHdfl+86sdk1!JCsaD0?A1tr!zq?nB=;H;L81(iU}Lkt6*0GbTLX)Yo6OZ~lz z`VS|6Dr2qnW}hrnTB@+oSbV3iS2iCmTw@990$)Aq8rL(DSuP7q>8wTz<&~O4B|m=R zo6*@t>y;&SDDBF`m)3Nm#h%jV-o0|3YK3MCpS3fK^nAHWdN;0G{SxYC;<>>v z4JdOj#(e3btb4D8mRp+m@SnAk-o<)?Lr>mCm9zocA-KWhx8qPhTgB z6PiRMjkSzWo3euE<=?6#J48n_#wadMyQ7-hy9zAPCm-I*V7``f9izsPERkW=*FJMiI%-2l%YdILVG4SF-9FzANwfC^m8#5L}8$x2Oat{~zs41eSIk2mh7-T3|=btJkH8t{QB F{{sZoU`7A{ literal 0 HcmV?d00001 diff --git a/html5/verto/video_demo/images/icons-18-white.png b/html5/verto/video_demo/images/icons-18-white.png new file mode 100644 index 0000000000000000000000000000000000000000..3419b81f6a8896807e1e6af0f14c8415fbe39da6 GIT binary patch literal 1988 zcmZ8ieK^zWAO6lJFDb?_VcNWA226zx%qL=ea-kb3gazdA|RA*`5cSHYsmWh9GE@ zi!=2g1R(;leUFhWB^y}i9t{sABWz`x!RtQD4-GO3!Jz03g3g*hDRPe;0+Oe01XC-dYHf<%<{QIEVw)!d=M%aB=lht0sRA1 z5}JT!Q3?O7z|93U%wkXvqe=W9$I&FXoX<@!AL7F0FmRT`d@duMHH7At4-sGzfy5&4 z`2^#_dS?iduW+H-ABs9U(|?lLe+2XLBh$FCHTNf13PoM+wEBa69h0^N4K5AK!?6}? zCt4DG{I?$0ZMVg>$DC9z?Bd?CezP_H(}sdV=8hkDnK{eMpy>^Tf3H5y)y;>spTBzb zHAl2dBwJL;C7(Ug#{U*hPZ2o>DUB+fbykiU))93*u6&lc6f$VioLppWv{QI6_|h(X zSNq2Fk_Sfm_uAiIb-)Q}X?%=a5aJKrBlKfCA7R$EcX#4(b*U@DeO?JB17FUW`qdQO z(OC*%YE>;e2|mZTOu9934XeBz)g#r=Li4+CJ(uO3y{!`y?g-m7OEKoI3K1$b?$@9! z)jXBrf<$w-Xvpm@4Px&IQPSHs3gL-ztq;FH!XqJ^!I1|Vo4mTR=}X8YW)_N||0U6mDdCMfB+~kIkNNgaWR^U#@GKq&$*lzRX3) zjw*`AsnBA^D3Y|vBmN>UgB7FI=Qs&wu()n z1tu}#J5IkYsL8okkc?QK)*5SjKnwag8yo&>TF~qmK_gFRj;N(WOMMH!ZoZiv7PiX$ zuKJwo0S$KQhMBtZ^63qwSz<}x*u?4Dh6W$2cLOaYPhEnGw`jzXapt=%ui1B&-u)sz zATKlCY?AZET^z}GIJ4jExFl%7SsIAdfU;CDu&k+Nn-S@$Ash0URQd(~f-GkG2~!d) zBdIxd26d=*qfft^R=rq#&{~v$h$8D%nq&KXD)x4cyzKOge#EFa!64UGT^^ZL_jOLw z&JPSP7h5VQ|0O^y^jKIB^YZ7MY}mxBUABxuuAE)ST;BYu&>pGLuBl};Ip;7&GI(>) z5$pXbqJx-qt7xk9{Gy@T^rCrpf3c2W*UfXT3Kx)us(&X1U!;(BvZ^jNJbw1);2ZI)DRb5U+8&^dy^q4MaJ&mcu9Nezc=); ztS46xsJMW3EwQV}mQ&VCoXB?jI;xyKh+5HFNbF=If{$Xhjk2*374cX4lC+o#+SIP&`G4>#`K z5>aM_j`;ACt;h90F!SP$m?nB{oyWWnUDw*36#DLzprl*+i)489mzN3PG#OI(Rm$mXwG3faivnnySuMkH(KQ7Lo@UYC`)BAC=a<4=`ftG%RgAjxOV5he`dUcj Wp+wY%7)$WSfLt68P^&3{m;MJcl$Lk^ literal 0 HcmV?d00001 diff --git a/html5/verto/video_demo/images/icons-36-black.png b/html5/verto/video_demo/images/icons-36-black.png new file mode 100644 index 0000000000000000000000000000000000000000..043bfcd521163a123843f15ac2fba220eab51d05 GIT binary patch literal 3859 zcmX9>2|UyP|KA)lhD>tbG!|+|g{1FLGIxfgjB4(3B<5VsIZD!Gs&9^vv&FZPg^64n zlAKW?x0sM7@q7ROy&sRy>+$-$UeDw8`aB-n>Q)Br61gKt#@1nma-uFeb>= z;k+P1y!K2&AkavAYbOivhQ(s__4Uzcw2F#~k&%&%j0_Hk`~3Oy?(Qy)MmvB0JV-z{ zBO_yQaByX11rCRciHZ69`!_Z=f&?5u0bCG44y69(e~Um6ShTjbR#sL5H4uRm&;$_x zKm_gp09XL&=;%lyk$^Ir%?2*ufJ$OwA{Yj6L5oVIf-aZ=004_fB!U^hV89pX%*@OH z3}6Afl9Cbt23!CG>wp7_Km_1H>-zQUK=Z|m7k{mRCdfe@a6#p-AOM3LtPE!Un}7(6 z00xZxw+jXUyZmJV7_j@R2^4?@z=KZ#BG>|mg9ZO0!S~$U+~jbIhe0pux})t`i0a?7 ztZJ@`)Mt#VQiwEmI9^}B+*}`NjyKoG>znJV5{cnRB+?u_NTe!WA5duESsq^oQJ=C* zF-NMF)5gQg*$f6de4MRHD@QU^*=(SQL^75EiBe9aP>A7-az;6rpF*LPQ^Fl1G+#j= z!rf=g|8a`AxHM!^@d+c*KCy;><6lb@DT(NF{m)egwy93Av=Vt6WBB?@L)vuSjOeRd znU?OG#~&nbXEjfxOemoe#jtRd#FLwnY=cl!>ugF;!mHXiQ2JxVDbPn;-p*^PjRCKD zrlhaz$>BFQ5@n*iD*%b^m^J5froCLo+3Us;gm=IOd0&8e&(_(vd&yl}Fv1(|AIB0#leN~pdse`QP9K*8)7!x~y~owT(RLfYJL^8fRTTwH8* zdc*uQKCHI6p%40RrNOu0aA;^kf$06%zODFz;*N6nKV1%(0EK|e!j5%+8mzu%m5I)^(npOa6>zpy7}~jCkL<2kD%4-g z+(>sYWAhm#~rfCE)f{nJF2q}wqH2ESzk^c=`HH2+SeZHE`OIG=r<$k zH0`OJ7o%&J)}?TNf5@HSq6lw`ce{ej9MAf^8r@drz2Qf84?Wz(r=+m-cJEUjaaFrb zx2wCJT|Hm*N{Ha?ohdN7&KgFj|y?VUES> z+R(S_AgGZX0(K2C-1$^iO;$7R-8uNF z?nY!wU+>N(_>4OzQqfGuye`HEe&e!EYnON>Chm#MpbJ^5E!00dP0-xj(b zxY@^=#xifc$!7@(6J!%Z<}=8Vx%p156dRR9O*qo(o;nt-LP&p6rWq|;t-!+$R_7PF z)AUe%vr_HImjelU69V+tUZ*53Xjy!Mc}0cpyYN^+ny~k5#^g}b`HHxUWmXb6Dk@QU zeSRnr63@K?cP`4#I9znk&y61McV*1m$kR?Rr&-!sL`rN}57IQr*W*FBo6UGEY1#HQ zy7XqQ8Pms$X4aW1E78)Qki@OiEhJ|ZM+W|wkFfHi)t0E`u#9*mOQ4df4Fc2mHy*5u{K;7@V;2j`9PBOB4x z?l9h^l*6bd;b!r}Bwfkc7ymuV;?&=s=vF_C(b8YTc)@TX0fx5|IOXF0cMM}moA(?; zpSy0Qu(VzDx|O0F+ZL)u4?T?E4td}r6YvcV`z)5@VA5_$6@ObMF3`B*++nWmElNN) zoBKBh$4>B782ve2?K#6sCmq(>4f`F5zeuf!3U{kAuBfnFU9^XU9tq{AkKnmAVfC8c zvV&6HbSbkyY#CZP2cRSHy<+N%FFr#bBfZon4AK&^r~|Oh`I0^ZHlPj{OZ;N}6;EZ20UIdhY2y>u|A0vHIz%2>L%K zAWSmaob1ugLm#cv9dclX(;?)ETJiI-o&i0THtzp$(?=~{!&F5vx1kv~GSD{LYy8YA z#UV1JMX*h8$=n)`*No--X4ZW_X$foZ9Ra`&xj$+f&HmdIhfC6W*8~Ix9vv))Yj3C+F+(d$R+gHQDwq-F_SE zy(%NpXDX41&6Ynmwp2d({=Jb|J@hL2A;H9^{=v{6oVYBqfSSTDZA%x9w{?*akbZLI zQev)-vGx5EjJI}!t&|hKw-iTVlZPFd(n!M5K$oU3JWJ=4$tH3INx9+NB&{O1_$u!H zxl?1Mi?1}k>^!Dy+WNi;J-VRXxO9rT-wb7_m%PeCve6rgx6gXrKzp6N6IsFW3+Q~b z=rGai^ba=OP;<&me)tR@w&kZwG04>O@#&cty*es+$J1FOe+D}Y#H317 z1csjt4ru20bPae{^|KtI0R@OHW0{$Lt?!{e!98c&p9K}Nj~@w&P94|XIxLvo6a;UR zU<3@~w370zrc7cB_*fi9N8U#=K0-+)=lUhwWOp7%Z3X+xKVTZe9Q*1wQJ8s*hfI6d z`ug>V@*1BjH+!(-u-GA~QZ>kuQrA~^3;M|Q0iC(~ zJKq;1_oFDxAf082Tq5~zlsrV|AMByBqW=G1Eb7wOrZ*hb8O&o%|Nb%!B^_eYwK}7u z_)WfMVZ2X9&~EixA|Js{C^AuHc$BhFP=zJG_-kSBYj_IX+OH#XSF^07h;Ip7G8V|{ z%7PLz4-!##RHQ5v&FJ&pj|S(`=dJs^B*-z5Azo_33%Ag-J68O3+&<<#)-yqwx&A}5 z2`e{6Hv9Opzga?a+??uuH@iY@nf*cEO;MMhcYEBq`)@2_9pe$*RZWg^ zG!RrnaDyObgZmIjUR1X+Ri2j#?>^V^v8kS;oU59-fA|%VXBBH8)@#=W9lkd7?x~-X zVgG=~XLon^XzpZlvPb=s-v6_I*1KmH<1ykB?+{W6Vb#Zo*kDl13o9AS$$fAP*0&>} zb%~6!rOU?A4L=2G-(UU!?RKf*F+SD|MR9*Yw3dz*P#Rp?^TH{?a01?y47Eygv$v%P zGz*h@dgE5t<`;He-uzXY1^Ky?Y0MWzcZ|e*=PWM&P6R)|tRIHQnIWM)@;Xe*oYCf6 zHn2+ugI_`dO&=1pF%wzBC2LZ)7}%)gE$zLL`K2B~aI;9CA|8}E{B3zM(H@zj()6AAViTnGY#1Dq4={^BFhO6Bh zxMlW2w-e1lr_3Z>%T>=P>{Mq&Wy^bo`Q!zw>Cmfgzw(Q9V;@t#??};nW6np4t`1eL zl41@XEzOEwb^cU?KPBQy+E4R{crKF5;9v~ezR8eSA^jiiuCVir3bqrx$B&&QE-MX+ z9B;4vJV4FMQc|Q>bqBU8#WnqlGP+k&MJ~(y6hE)(+39m{IJ#lvr+)zjzp~VBY_b~b z*6|eK?4-BhwnZ9p4XsIG#CYG_7tCC;_yqa!;SrgawKv7+Oye85Mb483vV+8MQC;G^ zs+Suh`dtksgEBBYk{%BE`nhY~f~QW*xaMi{;Lod%B=$>f5D##y`NLkLUFDZst36a* z4|o~eXuWu~Q~+F!Fh^3WQpI%mGgxZV>Yr(rzKqZ^N;IO)I0gzKlb`4Cv`xzhO~}qz zqANY0P!#Ab5wq`jA>@@%hY44GYYUf2)8>Jb$hA-N;Eoz0cl;2(J2cVPr{3X2@Q~HVBh!A<>WQnh+yP*-b=-x?g=X##|+~+>`d9UmJq&3P9sA+0fJatz*!o> z3^L@xJp(~7@3|oAP@iq88`_E2?4$C?(Se5Fq4sy0m#4!r~(hb6&PAlQUV+T z9M}LfPy$twNH~?9Y!S|V)oBQuagCKx| zDwy(j5a5FqfK@;PQouZ@0vhlM_5y=I2`u|p6Xd@;f@J{*7y!txU%!G3{ByxQGJs%i z38DYS3L4LY#x_i%(G>SSYLGP+TZ+fx@zz*tEFSCb9>nv%z=Mp&qOH+rDjL0lUYVqz zSFk{U!h;X$n+&2(mNxV?l=e07U`u%#(C9wEUg4qg@Bl>$h3ekW;O@I zsWi@*hHu&*kH;Vj57M*;Trb!%U%1Z`RBMcoWRc^KPrh-=rvHA=8on-{UIWuZIKT4J zV=586$4<=u_UHJevsrX(#og285-fTBEt1&+n!)GA*fra388ejx4yU^fd+ukGx8etO z;RVjxO4+LF1iID<E zbHv#;F9llWH8uVAGbf7ExV_ygML#Q_h}+iBSN|+9my_eaVm4rUieRO3_H&e7$2;ZZ zsGZu_?-nSk|Fz?tGNj&)P$#*QUjO z;e8HiO*=J31y)j|_O!1rUbQpF=fAmDPO9G|mM__=O;ZCY=}}MBt_;~B*w2eshqT6o zVqrBD0rHd6Tok^%K*jyL$?e=rhl(_rM$^SV&2;ougLz8lDFa(~&A%33whnk@h}SXw z`7mc=KP9L0Ro%E_Ci+?Vh}=W!oPe70#an(SS6$#t_52BXCQ`D98kZQA?# z>iNmGBm0>`;zFgfkx6XyTse1y&9Y#N^hcyADiWqGlvG`qvPe_BH*Fc);5YtKxUHY_ zK&D@lE)Y7t1|PlQMD&|D**5>K6ONjR%_5ETJ+V$aFL9xjZH0-~6y=vuZTCa?aRJnT z8B)Ht6qhes2hRoDJjHgMX^z4c4=D*Gtj?$^Kl9n1_3bfjeizICM51|b&YDXkBcOaik)1?Dv9mmo6t@Y`XZUNUq z@;oEIvy-OWOJM3}X!&xq;ZQGV?%L{fVxMw2N8sg(&k@YAAADkwk*f<%%`6Q6E*GUS7>;w`*OBl&3qRYH>+m2{ib7HhD)KH|xjoHtMeBp! zy&6v?KS3j;o*lkAk>sX)wE#e+{Cymr`0VB z4LNa%8E6*OvXH4#d^I=%=2!OmB)Y{fs_JM1k4dr5PwlyXNE0$|oZKwbE~niPH^HIX z8{*=GNn6Z0B2&BVaLTaj&49Y0$;;|zgnc(kfrWueXgT5P4fPzF&q`W>&i)H-ro;1s zTy&okvx|Skgh+E$CsTEEmR*!|hJ?iP~%>+|4^bDk&-9|CamKL;k6rq(lUL-pe8XI`mWa zNQ+n!Qc^%PvbE=F3P~Z7?S%lh(SD_@+5sZo%H-k;7VP zlGhm7Id_TNhRxP+xI=Y~nDw+NzjSSOoa$8j?Mb|Z+C))C1^u+*c~(>s43k&y=sOjA z`iM&x_H547MH?O6T=5k#(t&-F0dt_e@>v_FK`%~vz0jL5*X#?l#KFoAE#))KGx4fn zKA*RbOsemyCRyH^M)t|p`qUL?=v^!x=Z`F4>0Nu$W!3#?R#Y|XcU`p%r@Pr+X3*ui zleO$9Qjms!Q$uyKW+h6!`18;#b60qD`leH zzh02pRXt{3L@AU%`tQ3J64w|DFI>!S&veJb;v`;t#soTrhm$k(5NuQiQL5`@baZqY ze`}tz{FB}#-hLW$S=cL|P_>EJ#zx`(J;k>yVUKe2Ml3l;cH(b_#NWTIb4FE1+qPJ- zReJmanXPu*Mui18TExVCu&Os8RrbAhz_5;kAtB8aX8cBqtJTJ!+?dUdk2vG)`$b-? z?Z#D!vwtiIUM6zcdYKc~dwWt~bCpW&$L=2!G!rwScW-zP%$9Xq4ZHA>BLe(B8`Hn? zGDee%m0AV@U?q+^60VOfH0zA*TM#Pjc}-K#z=_{3PUj!G!aoMPFx#Qg;>1`GIC|oE zK@ZmU);Z&_b%6zpb7OC16!vLmI}dBfQPO0Ho1QBzYyf zKHA6&f#l#D7_Jr_M^1x#2HYOid-G|-!^78UpDu0m9{#4S#|r-chDq@`g$zlQ%x`vj zxb}Mt%N3@HtpPU0DKaFL-q~o_chYl)#d|HffBeCfJDVnlMx49lmuK*YvcJqSm*4ml zBhQg1YN?EzMYcSsgP7B8DjwzDhobD(b8{PaMqNX$@Jjr-CQV+mtwr4Y=V{*`Y@NCySMR$eh%Ib# ztn}0$gL}x#GAWiJgv3cFcqbfXk41Cqye#E2G4YHMFK>Ixh!1LV*$E2^TK=GpjP>7c zXpy}1_()nS-wP zuU}W!nJ@odKxll>HtF^BY1Ufn|7Bw9`=EcMzQCY!MX`xA{-rI)b@-{#kz0?oj|6HD z)-Qe5>pjigfUZ5zP#vE8la?{~U5C5A3IAZ&xYf1H+lOjTicVF$6PR^&;0{UD{LZ+2%$SV{UbLwyB0J!-le3JgV!zV5S=p zGSu!mo)u)7mK!LDxhoaKmyfYD=tJextg;ML;#sxBy1Ag!n(&u~(EHNDUN6+_)aX^2 zk-!?Nu&QPB;B&Z1n(^ZA;zIs3PkPbMb#3srB$MOq7W>i{Wl03F3XiL9C5)v3E#5l< zrZ;1mAPB}Q3ODV+5_&ZHhV8YAvW<>bNx9B^yM;6J6w_A@)ddh_q;HO|)FVax2TOz(M*si- literal 0 HcmV?d00001 diff --git a/html5/verto/video_demo/images/loading.gif b/html5/verto/video_demo/images/loading.gif new file mode 100644 index 0000000000000000000000000000000000000000..fe378daf0c984d1a064f56f31b1d3877408f4a16 GIT binary patch literal 8026 zcmZ9RS5%YTy0$|SdQIqv5TrM$DxwlfC;_B{sHilNrUHVZB8Fb2Hvs|ZRYDUKl#W#C zMT&H!6Cflcq-?*n|9`Kw_j@!C-Z95Kc&>5H`=0tpJ+-S2;Q(g$CdL~9Eq}tBje7I|?1)Ig z5-E#E#O&#l)QOYNE2m}i_?dlT`vzh2g!HOsFZSm_(l|DK?C|II>8E*Y;ViCk37a&6 zDW1bE9+A=}Prj`YVulXBte(~{pXScs2Dgb73;2osv!!EF&n98vkd!-hw2CFIVM!^Y zn7vbS>FhCvKneJ?GY$c>Mowt`v<>ve0Fe3J|d8N{`}nmw~af)pHYUk@DvIa zOC*o%oOW;EhPLs4PR?fb2@`v#JsY@%L*h1$w0uOwoRUX(P7ev>hNY9Pb=>o=-51@v z%SUJa-Mc$@QrqfD?;qUQ?rFjp_Jl~D*d=UW&+30;cW|VpzyELGCiVyhatS}-K$^3 z_H5u+j))`*1w$aWt`mm0PkT4Q5{eMnK__}LB=zj#tPcRajHj334{ui*Caq&+;j za~=O{pKwSdCr_O0;K_4`q?#rC=^3Sa1D`y85;JlIwB< zp9q!NMAynvN6SoC`Jy6-1^@tv5Wuud04hN4?;7wACIAL1fXpapfX-_VVc?Xp>qUR; zjNlM8%-$THE@ok|KtzMxbKBrT+MjwSqoCc%QkLadeb5a0&Y5F>igZHmP}Y?jg*(q& ziiUG#uOyf$)@=@EswMwsX=7#{DKXFE-N_((!-;CM$4yO!JQeUN*Qei! ziQvk)WV9`ZywPQkJM}1EgO>x1ACs(}ZB5;H-H3)&zu`P*tZ0n3Zw?y=0t#%EX!+vK z>%_(4*n|25-0XWR-z)y<1!M<@XNH2d2D3~HxSf4YOhE$oJ1@&$^P!oOl~x@2*4(%& z&}QCoM{{0=j#u7OJVP;oTilRV8vt;&tALC2N!n2P7OuO9@h!}1fR90Kx%(uNgIk^W z^)A04(xqy@V0A<3H{g*hxNH5WDg5@#pIfrvwE|%`CTBF*Y#7}B9v#Q%UVT|a`$43XBaL`c5sJwWb14k=`{U7tSo&}!C#|{} z*HwV>b=L`6pp--yH6ATL7_aaP;e=KwI0!U zm%h*lcPsTrO81DXx+Ms0hX=6ypJndpPWIHO?VzN>rdjUX`tm}NA|_ujXPuCgo=?iA zyOV@IR>q9G9T$SAtvF9pToYsUaaYq`)hOceYd+bPjA=G21GJvz-P@AC%OMxFJXO!i z9i#o{P(nM<30?G48=m}{hRGdSXnSz_3?yZH7UfQ13Pqy*q|yp&a>a}}!~g}ep^oqU z@4o8-d#hKp1>Bt51_*MhBGE6fC*h5ODaK};bv~ohoWG&VN1FJ2cftxlZ!pmKz9AHNC(3`ppf?+p-tJD ztF``=!s1}bdx_P&Z5?&y>6R#zHOyNjun&OZ*mR7K$> zhZa}j_pPkC(2Q2E!OS1K;G5KM8|JPizYfQ9hfU?0opLezxbIp)gu!u>-XhfWLQT~*TRzz=HCgwEU@FRmAu-@ui$l7jpu)70fI zy1zPgd_V`0Lx}A$dKepbt2b0-ofolnF)$XO_^T)c$|+sQP93t7s4#giuQZrx{l<{T z&?-?;NimE2n_6+SeHAphU7PMlC`YAg>_=q_R~|vmsXmiE$4haU+}!g^3fB{2;-i*B zK5wUjwZS_yZ8c8l%P*^JKF6`PiD=iwdWCsN7u@zV{wWq>9eFp+(6wE=<6K9`Py4HR zR<~HDq?0*YZ}-t;>EF?o%G9OO=7&i#CTXVfqJOcQ`bTCAZR?BOa1J+Noe(~k1X4=2 zq=i?~={xILcOBo7O z;Hg$r*1piOWE!RkWHw8XaAcnVE6+6CpUSQ*X#s@&WGbv<-z;*ul0ujIdoaG>O^T+) zndC*)sfSw5kJD^q@ABpGci3oN3lVT{7MY!zV(?wdfhWOcCx~ecZki!p%#KV~`*BSL zejNtsMhRjQ<4q>Il@K1og%FHGc4pYcyNPBE`!b;nN!=Cxed2WUnO8&}sd;Ko&q-ez zJpRUp43;7(F78qo8Snec28vtID$O`lKF&V~pBSODWZ{!SjC9FNpq2t7ry0C^fn4{` z>`M(qSX}&rBWW)<(uZobO*1k4TUrnR4ZsPY_%CTu|G%^t^D~Qdfn_utCyevFW%xwlM$%gs!?~fh~=dDaa(utbgk%=OcmQTYg;EcMA?=b;WBQ- zOqI+wM-+c=kiL2D-dDGS=l8tq6?$ciDHK+@CJ*M$^MB+lT4tU&wKGR*U-n<)f7l(X zP(9i7a!KJ*uGU>1`I)<0Z>`bAp9b$>8;5K)hFk>Np}dmWT&#nMu%Iifyj&B3Ompaj zzUG^3_7+>cgCH3mxd#Mx?yCDwM?kvH(Dtl!R0j~@cW3D6tk`UVZQ?L5?z63i1t7&0tnpI4- z=5huW48R@PRsjTUoyqlU<6JE+cQ}Lwq0o)tc>3h~4cfen1aVAY=QkKgV0E?uvA6*vR?8 zxGZn|jr-d{n&6VJ-Mug}K$eGkYA(wq_m+#H@)t?vpxAYSlvtm>oq*`ocx`o*uf}06 z%iY8?WDdy(Cg@k)QCmptNP$q6sGI;x(rnyb_jchjee<;uo3Bjppk5v~Ulc6VNc4a=A ztq5(6{%k@`2v3savwYHzT1g{|l#~%cL(T!ANcH42+ z0Y4MVEGw?JMOjOaSDE}BG2rtJZhGf|%*kk;JyhxAYvJBvxAuR1y$k=)_j&|X{{0OV z_`5$$QA^pFL$bKJ=?UY9kg z=HziW)P+{H-OW}jb06EJ-z}yp4p>2dJx5-BmU3F~lI~~8sth&i?sKgTF+Hm1HLCLJ zx!qJmp&7Ng!E^CDr}8A4N#SJ-dMl1r#=YTmu^G3&2Z}ZRG&s%6YrT{%tQBk5I0+8` z@GWV`^iF_MienU~jAoFrF-y`% z@dIBnA$Q>MMVsNOfl#!bB}c%4 zEWI#SSO<=71g*uPX{P|@R!G9TVM6OdZNrSYuNr0+wdoIyW-2u);fOMqwF zs3550=MVOn>(6>_Mh>#W&O6Hm&yqN9c=HCA4uJ%OJKsF(2_mV99;wOTA0JAE(C#;O zn6}6zEK&6GPBmi}V?Z(S3W5ILgj>w7YQ=(3CmW!LTy27R=X^Wmm1+M2Cd6Nu6#q)) zpB!{%&Tq>Q7otdo{=Xc=e1^M>6O5nsnchaDO^E zR?V#sB4I3MnluvNI$oTZdhHsn-i`jIS(r}5)YWZew_!EW7wYF_7)6H4kXv@$>Jw%I zN=9iI^NEMd)A7_aMe-lIcgYfus5R!}?vJ(KJ{7u2zNPz4b9)7 z?J`7Cks4)GX)B!F!}KfQD&gQ}aewMnhwoW~t8lqoEm?|)vu}rtu~?2t)g5ofX~uZh z_xJ9e@Xk}?{P*u=K`^p~krfiOq{V8Jeytccii@UiH|Ue9q|ZI?v<+&PFLfHf%5W;Z zY8}+-NG1Y~hd#vSvVAwl&n@x4dkdmGsMxo|{xN<5!QxGQrVr_V3oYCjT~t^=+ULC) zWwnP1E<6May_mLkvVYzGW_nR_nszEzc>0YaEM$~>Mp$y6-@nI?^{?<>&~21DInnK| zuEuLpT_8Y$+ty|nU=nI2W4DArK2)}2S2Y69hidvEA6v+=BgRwoSiu%g_;nN$4 zCXgCg7UZFy(a8?i!DNclam7BTlka4^>sf8OqH^b4f$H3DouLov7w6y|5BbkpIU_T4 zvi=?yYkDZXnjRhxL2X|!!4=F!TC~b>FwBP0E{IylF>GR*Q3r$(d5m|#eM$8lOn??g zOlPMfh}nqa)}X1np1EgD`z1utVGo9B%)|`V8NZ$Zw<-spsP2Rpfo>JDTZ{eq0=00g;^WLmU;C#V) zg#i-T#dD*h%TrIuJ;ug+jvYClZ@)SAWoP_>NTc2<(OKt8M;LnkFx0@&UiO;gWHNQA$#YRzuO#?~z(8m4>-nT*y z5hv^C>fxJU4Fb(EYhVpL$BGgR#YpCWsSrdois)*dr>PGsH5F&3=!A!SL!{{lQN4D=>a$x)qqJ6PLekG=m0uNr;WjY&qbO z>Jm(x_M(VrFe}Ug#>=+7y8Jc+@e3dT`I21VIff`3j$vsC>V|**@VpIRu4k{A;dG?Z zmGR+ZttgT)ieL&LVOHCpB;8Kd)}X5O{?hiz=+()2$)x?$;fWV|Sc4BBvvk3lW4jO* z=^{Y;fXfxLS&&HQE}YABm7rf-3Iv4TVYJ6=m3-`=K4Q=@$#<89znw_nu~hXZZdcT# zrT0OYCtvMU1!HO}Zb~&_cIpxg)pNveq!Nc~W{yA%G*%5w= z<%sEyzi#+ z^yy$p{TV?kUbLC_MU&q-!4Me0%){|-h9CfyzoJn3mnxneo-;r%wfX*!D*jex&YRV_ z-7$O$Q;NNbi_uXqooGSAQ{$dw9zS1I22|ldx|r$5!N|hV{$L&Z?Ri4Nka4VD?SdFX zWQlo!bKrgFd{-$gIsJm~g9Q^8(%-(#K9Uu0sOUvlpWPt*(ek)h?J7!Cf$|Kt-oK+? z^kEKTI}>O~fsFK5GcB}Iv7rx>FpP_Os4We~YnMe}Rq~t#H+-gJwE+Rc2DnVsN{%p@ z2I!33WNsSzIZy2hvlQc2f%U$+gIcIU_4IXe+1H8)2iKBnyVY>%wI`Y3wzZk(DP!1$ zdu$>Y@@g8v;QEVqYmfON6 zX@O}oX9xgDucfvx*@OuoCBBHo!Ih3IU<^kpCaJfIzr?m);>{ zw)4C_U!)Y5GJOFksYBYk0Qo)3GFxzCE-7wM*@pTBmMnjnM3qe2qmarjnJD@juI+g{ zwGF7HjylHMjz~r{k4KfpNJ^v)^T2avC++F*3RAf0m~L$2K(OqSnsmFw3|3rTR{7VR zXmw5TLV2y=mdvrcPxD4x!{?YIFcrnEREe_aqE7jsnD$#2><$2R0I4=wjssEeCRS$$ z2W=_)!GoS|wuG=|VOeL;r_Cfm53pAuX#^@*I8rqbba@0puWXv4L&rR!d;ss#%hTh% z(Hz=w{o;(MZzh!8tb@xjBNJ<4Erv$Y*+~|L@x1oxIQIHab3p!&ITG@Mg8!!|1|EWg z4QlecV}Og;jvD5_nOlg}cKL_GJ^chJ%Zp&`q%|fl8K<7g=~{7=kn*!vR$`^aLjmd` z+9|<9kA?u8VKUZy?WM!!*=dI7OBoWzOYDmci~J^C0ab=`zLx~pJk6v5JyWsvm!%XM zuLli-{aph?!i!7{1TUugvdYC9ee zIHBVe^#YHWFt-vEsEN12P+)Gg-x3ULTv5SIs!}7gO#6}!%uM^w%tBP14Pry7QhD}o zpcbVtT4;ZXJu`G8!2tzzOb}s~cJYr4wRUbY4P{l%Tcu%T$`g%Z$ZT>9k=kq;rehVj zod>)M^G78qs!HVq3)mkHb63ink3ug{(%0ccL|&-t6TAATj62(T@fx7K;M?4RmENO_ z$M56P8ihOyfb2Dfnw*V5ptc^LGzw3ZnCn=zf@!(#qGT05 zI%gvxoPRdvG$qrpvK(Ay*Ymnt!0eel;oRPd2OUqDtT3HqFOe{PQ^oA+PL5#@10NwJ zXi)c*W43p_9w};!n~aLB>=pfyNhfgCPYKnZSv!A}XW~^h&h0%iSUMzn&LP|ip}JD1 zp$U%-<#X{HVH!dXdxY`{W_25U;n62o37FVF50mJYtMsch@Yh0kHaZ_7K_XPqYJtZY z+V|)m+CpjO-UA;a1aE6{Db>6&^iq!D31!B1ak7PaKR5Z`pwRr4!+$44MgG>X(7VLmA4D4oCB& z;-PH1)WYqpW66;q#&B-=S6E?MKBIJ@q9BoStM^DX+jlbKsPHN~OAC9zWjO;|=Kk+p zOZj0{U``9ivhp;izfT%Tf<@s6xwCg9S1yw!*MN~8fmJfSXlJyhxR~0kPK$5GrEhVx zbjPly_Z>5stfcy`b1WcPavbh+Xug6q=ypT$Y zYNMKqex2)S{oO}>b1(D4*EX=tmD>-Jo=em3P;C*^8#EN*-F!YNlqvTmt(P1|mr`=k zRx}Mq&M~!8)cC8ew(E~;CxE06Xe$=d7vFIal2RQP3kg!k<+0AcnG7V6leNt+I&Ur- z$zU40EV@%8I;_`!S#U}5*Z#5eBQ=;!(DJWXaDn(YN=4ngH~&cz#2M4@bg)~YMy+#3 zccNBc(lVzpkY6i&5yCOzHBr$(kA~pWV!Ui`iH*a+$F!I zQVsi*h)4O2s24pYfv2GR@ej&_+Ti7SV=uZhY`z}3!*jYa=j9r{%V@#Lz02W#mWo@^ zG*l9kCp^qf#6wa~=xn%lLO@H;Hx2j;Ts!f6ZWz=Fl%#{#dSnX4j2d5rrNK~jucbiDr-z3qdyiCi*HDE>G#Rtk7 zKhLkjGQsceyL(`cbQL-J7V_S)tM9jZ8dy-y(nvtqt?Rn82g0-6$LA5(e2pJ6a)rK! hWGxbY-XOM86p~q)uQ#@^Z=1m7ka5^G`FG5({TF4*qYeN7 literal 0 HcmV?d00001 diff --git a/html5/verto/video_demo/images/login.gif b/html5/verto/video_demo/images/login.gif new file mode 100644 index 0000000000000000000000000000000000000000..9f4f36bd9a5d2f6702fb6249c17653ec732fd3d7 GIT binary patch literal 19582 zcmb@tcT`hL)Hi(63kfEng`UtuGxVwk2)!7pbVHL+ga{U}h7fu&Kt!6}NKv{0L9vG- zO;J!mRMeoTUJl|UH`~N#Qo1dvk#D0XIK zJ3GqjmVl34;kO&?;=IUlUKAt_M<(Ma|7IeQOm;RSd)bjQ1EiU9Ae?+4TzVTPeG=eI z4wq&xX{I=v;hfEgUS>EiJL2sY%F}+c(NgER2Cun>05d!3AUHFMG!yM8xY9VYh69v_ zOuGO(V#~iZnM|Qb8MiYd&b2tNUyTcQCdPRYaneL2N{O^cDF7e=BoZkl|4~7TS&A3M z%Z?Hd9!?=5DP*Y>cFta26e7;fSxU{MJ*K3jNJl=9;w)`YC`4&Vk@8|@=4?kaGczNT z$zA~g*GqV6MFK1~d;o%2T!kz8x{%uHG0pS!gyOg+q(iBQ~ zc=)KmY_!2l`aI5=JX&fu*J73#Zbl?i!ULScIW9arB`(g)&N(wP^Xk>B2Qo8Dd8Ki2ahWNZUee)+WF(H*($GM$bEepNg{P!Q z`3Mh>dpbAwbndA%0Z3dxfLBYG^lItqYB6(mrZ{^E1kynSNFo`B19%4xkj?C*?@>BG z`lUQyy_%VMAoIWhX~B^xr956~X=y+}xL7P6y?y)k=;-Z#i8Rg4-JX+v!pxMEr%zu? zQ>j2IN2#DxApKAcEe#Yi%GIl*qtbG9^yBNRWFnb&fY&8(PDzO)Qpo?#+W$w1ye{MC z8WiZ_#Ben?r9wc`ZplBOFch#2F#dOlf0qe>Tn9jaB*P=jAjj292R|-4MbpP=I`1Ch zHx8E&Es__;dz!|Ml3a?_?CxrDiWK!Td;%H^#f(YWUHJK>`9{x@`+z}Z%DraaYU7>?ww&Yd7bd;Z=dZ5JxYKXen~Vvo}6ZCKS!56WA1m~*wMPpqe3}- zQefAYAXBT8QN_;=Y$=X33~wDbd2wE}I9w=a6n$%;=fxOb+xw(X?HW_ez4_%(rp?CM zO9e~UY8Ut3H3K~F+fs%-Z?}2^T5WcgZyu5Lamn71LMH6{YRrlQm`)hD|eO}KWY%HmWkGmX!sOG=;-O6ATz(yBJl>g z9mc&k6;HoAhcm11jG5kSWa4$-FQx0;Z1UsIh$s6UOfJl)$)pX)MMapj-{9^l+&U(N z87rSj9UP~O1(_8qV?oMOis=Rrx3rsTi_i;hzgeLtGi3KlrO`aUBL?qsg?&T5>Eh}Q zHErvjh<&k`-ck8|jv29<4-$KCXjEa$ZxSwdW{fJ0{a9`ysNziq+>KwT6DP0q+_-M4 z5QEZA2ZW<$kjIt23flTAt;3ktFIQ`~1s>`bhV9!_GZh^-wP%i*u5LXSb3E$&T+rD= z=V#MjSe<{k``PdQhJee#uGZ)I>!49H`>TV6x?g=`=?Bx1NQ`#<7w&~ed&d5Jdzi8H z!?z~~hBjS%Ss(ZG;=|+T-uF*&^Zl}yjvk-6saFbEXeRW`%El##HA-}#AKE=JwnL0)PAf|u=Z-_m*Nza{WP z)6!We(&PLKgfnV|0*FbEWj^bvZ^=|<)8&JNwlXB%yz06 z`4ODYp>lqUFxkjjq)qFH(Ru2T<`;iGuC}o^kex2`r=L_VDYW=C-csThnx8x_!f4)i z&yR=3t8H4|a>@5-@wntZIl{ewC@=1}f8|h#&da;D z<3Ia-lQRvSbza5O6=VI&%XD-MJ_qpPQWtd|<&K;C?Lr6jClsE;ypkWw8a=v+e^g>{mvkidQ$QU$j^!p0@xllC6unt`?y{rQkm^soA)RPf zt8c#Kp;wN&g()nJyu0lom ztt3K@ZUIYj2D;@$lm;=Uk6*ke4|k|zG-whh<7NfPn(B!Dd-6e7baRLGrsaqgmRlLB z93SJ8lD6;_Ug(>C#q?m#Es;>c#V$`~@ticN^E*!!Zz9X9nj z9>hUMY)EAS!S_n^eVvtWPl`P5563*1i~Targ8sbBK@ezv$h zA(`5jW#0+#sw(zX7~i4V3)PO-BDNcF@$wkBRp}7nXdzom(Fx6_K~!c6;g({M><7K) z_$$Ob6)|TUOvy>1wsj<1)m+kjzB2Pee;4A&{jznITMu9eCNf~|dIW1hnI$FAB$h`r z7*gn-;;C~hihODwAk|yJJFA^g4IJ&^dxfKxy$y?Dx44RZHLjN8T~+QiT8i<7Bd{_) zM-MT)E?b+`Wh9R;9KQH9?__SQ=kU)L_f`gwz^C`wjdG*6`_@YFCa*jUKgHoa@{uZbmWOUvJE65|aCTfCpmhH9rdp%bT{t2pc*nR%5m3_JJZ zt~!HGC6HDu;w86}OO5edRG8wyw2z_cz$-kYk)pmmFV&ZB-6e1?Ek8I^db&C?#i<>$-M+IXZcChkgr#*O!)7?``v5`q2EV?h-Rci}%* zna&!yDrQJx49K|n^gJNQ={0lOlEW%loBOqJ{->JOn@Kp0r9!+J zM)XmK7bWhFdJj(*v$tuB7oW*hf&kvwL)kj4q4uR$VWc) zcIKfVsBs(qP{rSH87GGRQe14+A?>ej<%*~d0FdluOZIYl0#SZcNP#v^q1o7nO$cBj zcT9ui$w2C93;hZcg%RAv3{^vT#>+F&VY5CRe4k>(_UX@@l4`xy3d_5QAg`*NZ}Hh0 zMAxHM_KJ()`})z!BJ`d9V3bJ45N2Y=f|pOjfobTLRmgQV!Hvqbw6eet;y8N1Wj+9i zpif@q9UefR&0~9=IT#wWv&7A{^^}~yEy^h`hr2$0aB5%RHiNj@3;OaEpmuSNx>1)@%G|3`Pz z=Q!uk)?Ijy90oC4u|Q?JYf(`j-5XXUxOZqz$Ts7==x_SPO&-OGOt>EtAc-MpA+Qwy zTLKwiHi2cX_ofx3!+~O_ffWU09%GwXUbO405}&c{zcPK5k$XyrK@-UBM+N%#T|DNR zt;@e<&Vv?5=i6Jwy$)siNT7;A`;~$+j9=pR z3|Qd(k?H{8AcmOJK;{5MTLk%dCfbt*14%%7s{k1X+K~-%U_(@=0S{$NmvG0`eJ*}t zsLU&aV+NtFLB504Ib-wwGC4WExX{tK!kw1BeF^?PM4Ru3jLa42@wuHfdzfZLPQ`3^ z9s_BQJn{q%*l-|JVTD>7SidJ2AqQx#0vsCh%f8xFK1^vEoPxspypwhB`cfz@dEfLAuAJW7 zbkOjdvYeD@a_?R@>ago_MKDtlpvVL{;h-1^*g%Ai6G5zSL7rk{3k@N^{-wo_@AKXE z)MaI#z$!N%jxgYnKgKI>^nQbyt^e2IL&zLsbs^LffTyiGAmZ?q00P$oX5heNHrQqw zswg<3xR!?~5O}OKdXPZ+s{mUFk&z&%9KZ|*;e-PwAdsOD)D8e4RMa>P8B4=kFDt%q z^DREU$6MchcJz4deho}9RMyb{nU}MNmABX>{(7|!lZGf2s+i#MmBM^000t34Y(>Wc zS6Krpct29q)t@-jB4`5%(YA^>AVDB$AO#v|@)Dp&0`ylwIzpVQ2vfqq?qRD<>~`wO zIu0@P@XRwHY}2K|g;Z1;yM6p_P|ZXwo&#}BIq9J) zx|OG-u&Agb0xOB(a-@DV8^C#kkWA18%P;cWqQzM985&F`TXi?{hnVCj79O_FRhNAZ1MEnEa4Q^DGz#??Z>$1{DC+7+%G zs5J*HheM`_5GfJ_0tZ2^vjHawm?nbaRzWHNKAHwgU&RR6=-m>im*lec&E24ORzb$) zV@E4#qabED%cJ{nn zulHq7enX+>DPiW8$yui@L%3u;Ac2Gsi%?9)mEJt#+sA6*On{BPx`B*i@)6Zk6mt&K z*#tLTgvv4@N+b}91l}kC9}ppqtb*-mU~djcj|OpP5Z^{1riGY2BzX7Vc_h1{0hrzX zY%j%ig@z38mbtOg97%l`Wt-{=xkSqz37o`$4M+3>>@f1k0Zv?U@vIHX$*Mhp7M(1s_cjLx3p`#$FDp6zMjeK z-jHkqJy>%wqNcKc1l)tJhru)0m`4&=Fa!J$S!KGs-z*ppFkq7Vm?_+yFY8w(zd54B zG_a}=tj`ANiNLfnFe@9PvO0ACIV@TNpQ6h0Xz;Dag1^=WZhJ$=S~zZi=^M%HnSIv_ z@~n}dyFbh}doJzO)r0TmV|}y{xCWERcRt`X_!~F0`PH-+gRRgZ#S*rh+b)a;6R=(d z>G8otK3ETcQc$-Xa*Y#6@C+)d6F{f)LH*OQPr^M^S+j2p#SRb0`y;aP9s%&|ptYsF z^}4bde1w3HSg)9$_{3#+;uCPA=7)5Wor-6`ZZT?`3%@q1F(EVnYR!bmimT_rrgl2; zhaBW7>c9nbrBy_PYs2v={q6{?BGss9!zTYtJ9-riC&BB$l_V+(;|!a*JJ^UclN+>^ z$YWo@o6dB3+W<<^H~Hx|U(y$sWE8c(}>P+?kQ(H(QRK zu#U&#GbHfSLM-Mk>PI3x7eH7{gJMr6Dca+k#J2M1Va{m9Dh7J4LNS=5Qp$L7h8jze z#j~l%9k^FZ?ynx?zkahUpxn)jMc=x7@~^hU1E_4e)Q8p5j{k z@a`OV8b6&!L%3WE{{B6++ON0duuuJaNrhiTbI`1y`@+Q2J(^{LOd9gtEBFI6V8KKt z&jWA~NN4qm&VIt^Lt6W0G{(#_f{&;osaYJvD8^V;3m=hg;GT8oA7~{cmJDYww%5~; zY0PEx)g0tsOABR^nkPBGA1|$|D&5P=3fwG+oWzmdLm!skOJm;l6Qb$>0K59YWEyM( z9Gy%hB;&%>N;EMQ@Omb?bDfj_i0zG?*_=#k-f#+)_!HNygr9u3KX`h+leVe|ot3$| z9W{Gieyd~0+Onz9n(C&|)S$@i!xu9Va|D7<|3zGF+p=EBLt zl8kddq6eVR^&wQt>erq?Bw`;#kMk{t1JaNHPcPyCt%M6-Ziv~KTn>yg43A*Kz7HY2 z346p}sq9cB^|y9+;^T;8zulZxfkmC+b_`IgL#e`%o%7IDR3D;$Bb_Q|;>OGBx#dzO zTLpNSk4ba@K#vR(zIx$Ot`ZUZZhks;w8qLvYENx$t_%iO3wK$dh-7oW2B_gcjO$Si zhmhZ_-jRvQN)n!%9XR4ipfc|pJ5-ld$nPi+^C?ZAPlYt;T9CTXwDypTega#(OCmwn zes?v-IE%XITSraNcuK5#b+gvksU5`OHG2vSyV8tHLwD_%Qol@?3+p{2XP2x|3tkVt zf#N_>fbB!J%eSNOvuz;>7e&c_yKxXN^9`jvQMAzsH&$sOXRa*~j8pG;eORq+b zlfROlbx6o-nYOx;o zti|ov-6-vEbo-;`z|&BQw#tjDW%spmxt)d^m#BG_j5k6fh_-oXmmLltxw8Ydr9HOF zq=5mc@b?2rQ(cVLs-LElma-$@5+C;om@Usv%&(M;jcf%Nf$1_SMBHI$XSK5?T~^_>MC*4)wn zW-we5sOZ^L*Z9a8Hv+-`7If!McEt*&0U)l{1l-kLY!j)g6asvxD-K!mx&_BOj~FyP zc!29S2v62G57nzF_YGluVeD_>-IO0q-5Q7TBaTit6G$k-`!&$o0%+S6g%@pKC;Rmt}E~)IOUf5g)DU6={|XE@A^5?PN)!?fcRq&s~7qP zIp1z_Ugb*rgW0}9^AQof-qLZUc|njkt33EX{&!z-g0)$Pp}AX5L z38dYqHvdj*d_1m}uJ|xs-u#y1xps`b$DaxKCacFqb`0e+wTvsc#G-JKQTWzkb5qDq zx5UzqWSYD4#y5o1A(3m$rYQNwJl-AwNx$4+k?-zBNr;AdBg9AxiO9Lq8N9;$3Xj_N zWOiZuFj&o!TQ(NkPywh-$fn-?T+t|arT^A0Eew}3_q{rVI--kCDtt_IGM`56Qi~(B z(A@k(P9MWyhH#p@xSaNQUT_U2MErSsWT&Lint{rxD5T&1mRFieea!b4(d%I(?$gHR_DqiaTGcanq+GBk{_+ z=hj&h4TAVR9Tr{+dKFlvaL5NR;NbxYP&2t3(x2n^VUhzg_Gl#h-Sj*fvQ`KGZ6)fj zt@IzKmhW%0*`DU&7q(3IL6Z53jqg-;c1fnfJxTU=*punENcO;yH!uqEkIp?66 zj?P%SvhDC<2D9TBznAnR_GO4xr54X7wko1#+Xn5;cQT-ts&5qfF=Z6*M+C!c}^tdaY79Zg4E&soWGAO zS~^qjRoQ8Hi){4w{;8@uT#;P2@|598RPRV?ti_qy_NBMoET!QmaY?Nxzh&U4;xpjK}@admZOP*(at~^kFUwk*CZuF$* z?p}=!+m7~#Z`2c9v*7Z$rrv~3G6pS8U5+3 z50U|lf2Ql$bFRD3* z&7qrM6F(Zm#L2~#Qd z+ns%}x3BXwZlgX3k?NVg@XaRcpG>eqJ6{ph_Z;)U@Uom~1puS`dP~;Owmz5Ev@%0Q z)$5(xKRFFOYvcA->6qdE%XQyNE^UH%&HwG!d;pFOrdNcg9r$feQqV~if3-ea`Q*;} z`BPfLMckgfL&_maKMznAO@b~*-gAGuQf{he;lI;aSx@7~ZN2)ECwmXy!z;d#=tt?d zvwhE69ju4OOWl(Umyo$@iuV5$3^;GvA*h=7ZsNqqj4@o41-LJNoGiUi3|Kb($NLqF z6YE;hH3beE-~Q-s>$sGBuX*H!{l>T+Mn}zE0uU@Nr`hKEwDNpt#SjY5#{g_a%lF4Y zqS42;e^T$K;2t`tV(p+I^Sl6Cp4K?;+NY~Dk=Vx;(p*SO%cONAoljNim%lggR@ov+ zZX?uEn|E(ZS4X?X!u8QWT}4IT|VD=?}ls#ermYR@k;BcxRq8~l0DCNHHB?%fJL z9Kh8GTI6m@p__vZyCKgJSub?H*)Kr9!PpHW%2D7GO zICo^%(3b{p?kI$Z)#Qa0=7$)=tu1-ZwKE>tj=}R{Mb{~Xub@M8m9s8h#YyAMsI6Qz zuaA#zL$280zGZ!;s`JAq#!>XKbsZK&)|e|hK)d&jGiQ8(Jd4vLVvXj zGdZ6xSWVpXn+n8{`!Xhiu*0{JCvLlaxuwSodM=|mM&lagdC5cWaExnKSI4x2&P{b_ zd{_4QO}XH2d}CmM7o$Em095!lXlWDe&KX|Ov)n8SKcCld3-4=znqq_=tHbxs`P*;q zJP_avbGX%1;@;z8rPB6}S+P6#0fpOIQR&KMP7PfSo|Ia!P}??5Tv?0hk$p6s{3~Ql zFz323XXRbvq`pm;WVxM~zaGqJ%3;nI918W#4&6>dUUs>p5Mj3c-5hR@eFxNHhA`wr zX)mmpob;YW&kElx40M#7)W96ub@h07C~UhhEU)Wfeapk*Cx89@aF`X<@G%}!{)dfrlUoGNOH&o#WS zyZiC}>}hrJNZ6$*@$D;5tVgU$!=fT{1Qlc0P`cwrn%Y9Y$*=EHzQQ9~C@8rd528T(4qAba*e!cKNZn5w~BucF==d`wZp6$K9tQXWu(wyPkOR zYhD>?FD67jD2qzkb8T1bKx%;F$m8xe{lP171D{wbLuJ7mOtvluKY5z>cz9=2Y2c)b z)w2cHXOqFtzWFY=Mm>GiZ~wgP*`Lp0E+;yV9(&fI9GbT>;PU?2?5qk95;?i&d}+dl z@qz7t!89EC*ZU_6=!B^EI|CMjC7Qnt&un^%@oHGGx&}AMbwO_bVo>ffUc~x3jJj(1 z`MK-L)n-?^h4N`10XDk87AbF<>qII4I^YW8Z9ixd1b-S+NVW7__ynJUAI{E z!`C9@i!`Gjo7=*4vU+B^BC?GqJAQ7v18%$le;A{h_tEb z^456$Z%@qO)jrix9;X|0_p95h3a%cwm)6?+=~0yRw|J_X3Scl|AyW{xdA7XnW!Pvu zpLpk5aPZb|2~YA~nzIs~1t@oo1yrM>GrxN^!3d*&l*^~z*cZ)=#szfSSRiYBrUdp^_n;E zGX0;#BiCN;Qe=hul}2dnSU(c-`pD+dsW0J93{EaujzIpDgs6W5t-37l@X9 z+*okSQ~gl)d_(C+x!^D7P2Nk^=w5BnwNRj+*M zU5*S{*5NFl{HKcjYNcJ6v^BplCI3xbb>WGBR(3~Qe(P^-$buZ}j$6~sW$_{9cjG$9 zug`?MZU|X!&u8`hvr-_t_7UjEA~Cll(sm-1+=zsldVmLsqF zB_5qi*w%ge1wWTX%9Xb+YWTirfA4kRrfY}ji7A^?`ggqTfA#Lp?d7TNnP*YsJVBq^p^ih`|vs>rEFlOX7h*JeyN-G4mHrmSo4Lx1}N|G zodE`54E{-JN0HbxH9UIxn#Su0x3`b3EnmCMdhj&WB=7yzxp!RCa&A8Bryjeed->ke z6iDLRlIq*UXc-JS&yxi4&MHd~;?ADB^!Mhte_os^6u#w&lkkb}nWL}d6W_O8dn145 zL5WxD7u+-L?o5`gR6*{k{c z>x%1((aWhoe54|zr9$KH^--8rDK3*Kh9xZLISNla-u2OwZ(^R6>u3vOGI_qsF#lhS z*AMp|DTsBxcK+)giS@TtwUe=x4?-Q%BYDfPXFz_S$I_TJ*K-`@9l9d0%|9o~OXVw{ z#O`YxS?I1`a^L&f%QvjVBKseijCZ;}*NlTdb#PNfFsUQ?`(wPD2&(*;%gRzpur2Wq z&DX}cHx0NxXuF%-7I7~7q1|2c&pPV=WNTj7ci>{8>Oa}Pf`@+%jQzTfIC$yVFY(a> zgXzB%KODIGpcx-E4V*Sr8o$ zu+R`>m$tsZSnv1X5<-tiEc~m5M}8h%SDZWY>+Gw7@%5j_*Z$}>)d(9@fm?44w!wt!>-<k*@Oiii4KyH%lYA~{}(+~6DbbWe= zjsA%}kFxbo-oNoMsy_Yc=z?=C2v=-gz&4Ad{TF161%d!$CZHt^nX>yY$hZxu<{=Ue z=E`C$?W94*!v#2)N@!19K`{kyk$it%=vs)^HWg9D)QJi$*M`=h-uNc(TuW04krOw< zS4C9mIJNcab94c~AbaH#TmZ6%moDd4F)L0`a@#Rp!OM(BWt%UxZM%_WT))O0EbU|_ z7ZZ>hJDb(C!Q(U*`4g&*D>*9bMqrpVLOF8%DP;RoYo`!p1CT%ee054-RI~%;45znB zVsC;ai;r0doD^QS*^7A?18@MtBg2ciEs{Gd;Ae_fG@E%Gc&+aa%ATFjA?NB)?DZ+I?E4NphhIFYxy?Cn(6^^mb;B ze+ylw>W}WR!-rf8m%DjzpdL*GiOtbG@D2o0Fk#}{XM&h+!*IA-tq8KV zS9n9_K49}R|6$PdVJfw+@$rtAhJ zLn>N8`3TI29`oZR!vFnS1X!WR2@eLHdIx{im^O{qonHl^4f;emaO*6b)5j)4nuF7B ztwATO{3*5*k#Z0ifqRg49dwbgVgi?FKnw)2Q_<gZ6Wnx1Yf61DkL5-gRnKzs|w^yEnYGo8y zrgA=M+OE2gxUPjB^LW`Z)_}I!sX`yi1wvC6U(dKX3IzHOGvL7f{{u4+>zw`ETwY#& z0Tx?OQd(AiG#6`SZDT3Ruc@uG*`&Y8#HP5eshI~i(I=iX+S1b96lg+Zv>OGUmFkN| z`Y|yMHt>tXrM{|06r$l4zmePdzHovDeCkdOTvhe>gZ+UvhNp&AX&M?^6+$5UK< zbPLVVR64nur3FR;p#9ahZCVHbr7BK}oIvij0<`zrTPhFzhgCGoP%RZe*>1ljZ~?D7 z$U0LIgk` z2$9hi4NM53EbD=b=Ogd^m$*D2O zXUBwMfQxDD)S(}2X09D!o^)EyCrekMzJM`SwbiDEkAV}vNS8zA(>8epu0qZT+#qj_ zqn7$TI|pUM7rKXJ4dpRqa0_IlVkGi81nn{}c2f3tD&7_D(| z7nI`L{0$vsgIi2ef*Om(J$9wSJPo20>vkQb%>o3E?_QH|6Gx%DQVJEvgE>J5#VT6F zHCLhr=~R)N`xUw~>dhrC533)4%3W6GU*IwyA*IREme<4xwfINlcyc~5o#N3c4Ux-S zl5xSv2hp5u8@5Dyb;cWskm;3_aKBl#Ln~H4bq7kH!Hy9^WbTWYtk;Zrv+& zEHi=a$5An)n52Su3ns61s$)vM~U`Cz4B_UyXrn(4?gHm_PfIAyR zHEOaKqwh!|t}1JqIxP`OH3)6R-Muk+H&j)1k{5_GIb|C(!#i7JI875(TQLXU zt;O7M7EpDqg*`(&l&Yo5=)%f0P^O`$XuarppP35~b}QydVT{n?4YT&BS<^wuTBq_^ z04aG=)g<&ON2MnRyFr6p$$sANc62k5`b9X1p9n*Rd1igh0=p0~`f2xX)E&!x+PcGc zWYbJjz9#{-Gc{Co7F8xH-6^nqDD|o9M7N|3?0TW=rJw2|m&y6 z=?0)~-@Cz#Jz_zS1$ixhFpH&q!@s?pe&VTuO_?0IlsW`6^w=}9`?3_WWL@3~xe&P7 zqN*JHH&e{Gme9KB2M9w(3Z(T&{?^@vb#kskxVZRQ-uz;*k$n%Z=u+E2EL?pzpMzH( znOBvb)XK@DHOgx-z+_W@I^n{_&=JzsX@7dDGI5PwXrPG4mpKk1ISO0*Ks1O=D-!^` z=^47k_m%s21>v9M8;@B4YzS0aLI%sQc94MMvL|YE>3)_H4ydqKk5!lxnFK%`4S-y5 zR_k<3kv{wqs~BcQYk)Vki4mHH%r6h+IziJpH8!O}4#u1$4O4~sh`zo$3OA{vI7yWg z7hk%NgVHm=^$erKTaYwx-n<I8+-1E8D=VDjRpd5j`Wlj7* z0qG9{qdR+OGF#tKN5e_`R}u)(;}_%*nsmu9bo(#t060GLu#=41!J5WyKZd`nGX0pu zi75A7!kuB3bcr=gN&X`@PoK?pC}yek3Zf{@t8_(7C;-76?sT$-ZtY}qu~TCw2adg|S&ot?l5lS+^AV1mp zrIs_ms-=riyloC@Gn*^ZAc0tCd8Lgrz&b3+HcjfFEIlCijzE}r*$HNV1fgw^vH52V z@+clWBwa@fze(pt02uuL!$Qixu%IP{g)RTV!h`>X1)m1n|Jhhz)%m0upz%hDqGzf^ zv{(!(CApweMT7ZR6?LQH$RB)ZD2#mAWU2=@AF)Ao^X-K&5vT|yhiP5%+|A@z`4-!! zGUBm73&iRTG`pEMt1WZPS{M^|1Fb^#W=m+`3C2l3>(1}fO=HDI#Ewdn$0VaWT`9g_ zzKcL{6}@s(k6wDly)W2c^fP+*T`9a2CuUbJUjie`#y2S2%sbY!j$&1*F6zFQ`d03> z26jYGUHT6eEFzx=otJ}95cZTtocP{@tO)4=#-748-D`)gKb?LK&ELE!?cJ;Q%@}3s z*`st61c}a#KdX%d4#3cQwBJ+X4?n<@2RX=PN*vd`- zNnaJf+LG#0G0wB}xDZ``dH~k^6$eXO(8<9*w}VIEQE31VMdab(aJ?(D;_S1>gicro z+Nu~5$*#BoQIfbjqul#KhLl!7=7qFSOD#UspoZoW)|EtdLLan!?xCd3W454DcC!a% zPxUKuP#mIpf~@Hkkyyiy$LHadTA8#&tv{>7T*xsA2+r-CxuJoPt_{!uV+MduDLtig z0{3Tn2o^CX!67v0LL?dbMcD;|_x?YrUS&|4bDFm`kXXvF_L#klaXz>&fd+;B$#s$hjUt{ zZ}lxgh4H!`P>vUC0>Ad0Pd#Ukp$^H)tI(aBQ+$||?n@b};ZTj`vF*yCIC&4a_qzvy zGTN3UE=U_o9uG_Ok>tu?LfI5B_4}eTC}p0*g?i}3kE#TGXVUS?I--31@;A3>_@+>0 zCz;**2P4rbS<|ooQbx27s_6HLoghGHPrkynov$L`De=?2PM^CZtuDcA#xRc183Vqd z_-<`X<4_md8M{Y$mn8sy2Y`_-)6%Wz&rMU6imD52r|T*2NL=K#?)9D_7>xlHEB~}& z56Ynp_z-*`z|R3-Ln}(|viE#FuzzH8DU~;e;ozziZ>vyeoNAkW$+k?$X zLi@Ker|N(BMKczw;Bv=E?X-`|GlPWuErXB^+L##N()j!Hk3>EWC#;(szB}d2aUB1= zKe}Z{rpl$l5TWkU9ot`W+twQ-Gz3AE@WO#~qye~)LmIRBS=Eq~zsFR!W;GO^S*D~T z=w8y{ImYsRRqk`(W*iVExOIqpUR(%A#p8>zMzj%x9wZ&7OZs1xArLSQ|38clXa3jd zAocmibN@3ssM;s7n{(v!rACJZ>Ce9iPBKeV^Q;tBX?yTFsf=FTi6Y9j;@zH~7f0Y~ zw!F@Xb7W2tXg>6v=NFQkeo)^nW0ke%uBRdDL}K_o&x#JeYMO4(ARIyP-md5wpfl{+ zMOWY5AJdc%stYNxoeCE~5vsKLN{-P!)4|7s0jUV8USX z{U*OU+LK!s&%M55vgy@t)(pyJTE!s)DOt=dQlMG;BowJ=)xdR94|?F?3?kAX`Y|b| z`J0R3MPEAdb5cIdTF+GKNYgD^%U4UT0ia36^3EH2MeDWCUx3gXbc-WxY{%S6kP)Xx zD63pht`go}AZ8A^L8jhfEfF|_RWny587hvBQ-luEWCI0k5Kb0AhC?c`OQQ(956BaQ z9wj{oDPG|W$vgBhIWhH7{*VYOTPlpqtyvYzbFSd%|7xrt@ZkZ5SUye~d{^S5%yyB{ zJSYNVEiUciq5>s79N7QY!D^g14P4zY%+C_{Q;mpmfkeuKMT!ALG_GDu1lEv9F zPLOy;N>f2;PjISueIS(pYRA087@}@+oDSZyn%1jzkS$w5BN!^tR(W6-nveK3w|DeV zN?8r|qsVL=M?sG9fujz%8^K5$>~E0IX^NveRbyD}I!iv49i9O0gM;MOMcA z28G;hNcF^R`v>z}vu zC6f8lD7r}TESk0~)UbDDn#d#l$<|V%WBkSq?FD*K=M@+AQzFdTzXBgd*{_!VktJWF4CD}kM4<^3S zV|tOcSMH=qCD`m+(hC|eFp99G+*_3YT?n^ABjc|F%9y1tbco*7Pw$5Uuek6L8*)@8 z7UQj2X#S@bF@HOWj<;$-M1h$IqO=9k39+>|0~))_SJjF0B}mtJ?h0ON)A(@Xt>W6C zD3S8r?jv3cph3_OaLa}~rH~STOZ6$rJ2X`e>xa-sg+g@Ayfg-UGH~&(u%UwfvE%;P zOPO^>w1YsWory&$11eNy>d~LXjwH0!)`vYMTqfqpW07avgdR zuS+A56mR52dQW%`a#OyAnLfYgPr`0AURtcNShPq`3f?dtSsvAR!xHZ^VAUojp?bq} zK&WAhl)f-3RZef6BvzaV_GvAL%Dy`WhR;)*_3(E>?xv#>jUiy`DZHX;+boFsaZbgE zM(An>o6zWG*E6&gZi9ToafRJ)Sz2FCMfjZyTckU`_ccqlN$!jp4ycD#s1A-Ks*4HC zY4`?ODu5)^f3;U(j zWFM;%_a}*wFGdr9Yx;xEY>;=$6H_>A)vY{U5 zSvgY5*TCVjYF}+N)X_#Ssur}x`s2LTR(h_*lXyb~r~AVKZfM@o_TiB&ev6EZ&YBvX10S4mbvvFW(T3k3 zL&|s5n@1|UxvWCh<*ZU;2fHh-(hT2QJ<;n_D>sgIqA1&70|uQ(k)TOPPWcPM*cmG8 z>xiO;8H#S92{nAo@RoK^fv}&qmf_wV3oYnXE+3V-`)p)=!5_}5L{G77} zf`o7`fruG5FMa*Y@ly%u#m6jKm~p8G{Txaa1-==z^d0 ze`fG`2pG;pz@CD^*x-~QOwhEnt#}W^TkuyItVYe+Q}FGFC1BaaY_LY`<6^xe=8g*CTiEt zzikE~s=y_2Ac;dD&SxPHsFb97^O`#vyQ_Rd*A0Mu@U4?4M1HZ8{aVLSHbZC~a?*!g^%JEt zI@Z)v?z_9ma%0$HzO$L*|jneK4gj^{twxUKWPN*Es)(R3+l zhdwQ-rf21X>6l1rxB;PKTH6-lbjJ;0kzkDzCjmeB>HV4XzK8E8^O&G+ZG)?fP|6=Y z;#bsVDdC2iEK-bWE79x;h|P9}thpBp@C&82m}oO-;07%;n<0V8JFvKN(sDQ&kn7|0ZZR2A2%m629* zI;`Ga+Lyhph5)3A z1G>!+dNm^((A{ph4_lvX9y+{S6vff$7y@OW-uFif>^r@f!Bl0i6#fS6nXp+}V;` znX=vUR2@~7=W%Jl4?Yp>E8FvM$?vWF_9Gid$81ab_(h*0xNWLGnO!KO(M5kK*~=-p zFkM;NJHSbc=JZ=vP&*TdF;qxK452>!?K~|eIbo1Cp}b0ur9w9RMjt26=kABI?x16H zYqq{5;fGf#NgMPC_}WI<>A+9gC~a!)5EgOZ)Tzdub8CJDb&*6?yVky z@nb4M${Fn`VW+Eb#a!D(+*Voq#bixdDLe~GTEtVR^?#^BN)W3AfYJF{WbzS1^ zoFE-75^|kdsf7X7L8vL&FJ(OH3SzG(N z^qF7L`m@aB@BDaJ;86qJu)pi87N(IuYg~q&jjfGb^`N8%_#AR^O8T?De(p?jRcX^w zmE*%Z1BNpn%W;)pSYN^cV&+5wR>Kf>5nt-#wN4& zm#_UPG}5#;_@{JAz%zdm;BUp1}QI)9ZK8|a4Yk1u{c zILgkf+TnY6q11Hcc^ye7jBG-e{HwT^Cs|+qQD$mGj{aRnT3cKFQEIZmG;)zgTDcm& z{(E8lUr#QF{c789s2f^d)VNe(Yp5IcW$s)5c z*WSm;s$M!t`gt*U`OoSu|11N&(1lX-ndz_ACXq`#qeY&HfzGa9r!7}+ryJ;oFP52K zzx*iw=(*p&SHxu|zbiHtGR|M(ckBwt{!wZ!E;AN?|MBaj@$zF{_oL@)YimEsH!u!Y zT5pJ!tgTFa`eLXXay0#nip#Klt{s|H@DM14b=GDz8-$|9L&#IUWr+9lL0+xBNh$n zIrx4v-aXjS@~Oa|)z3XdpiBc5R*4gXcW(aog70`Ej(FkK@q4qdtGhQT=jIt8rku|C z-D^)iHyH(6ZiCPmh+4L^_SXB$V(9cCdNF}}>&Jf(YgF8)+4i4bMsKQM>iar=e;0Kh zm%JF{%aW_T>s=zWm%(z>_@}4m<#v9!x3K)<%Llpfk+KS{BEbYBc9O_+T+(k8u{I`0 z_JHVM1nih7Fh~`8de0$7ZbdB^mSzIuQ#dkB0ztlF-d?nnX-@3`4c1FyfEj#Y&vsRf zE>VfouUQ`3=;#wbO*Kk+5@a_o4ES*o?#lzC9KXM4?w znA80ih*qv7om1zN@j%|`=`@O&5_VBZ%EYs>vZ~rf^xxUEhjYYOycVN(&vs=riG$46 zc`k*`1wWmJdJic^{@xJ-J=-15ekoOrMpDD04sQ3>-=25(ywRz+{j8djT@r<7gwu1E zKgT8*H$$+duNzKah!4jEdoaL|GaSp?->+Phq;J#!-RxGb^&z-z?%MeynYhN$%#FrD z!4%=wj^0X0r$Oo-YRX!y-L0 zy%c6fc4?=z=py19spEt)$nKb?EbmfTh%243kqa@n^fKb@4#r9AWrLk_SNk@TFPX^K zzQ`ff^Na@e;euxqG8Ld(F&8IKso;qR0s?wIX({lLlr&Sm3lorNF@P;%ki9nWGW9-# zT}5_A_$6w(@+bn#kYC`F460&#-(&O4h2wP01^g4wUdyU|$4`&4wmQ&`18p)^xPfY; z7-8;N*U8P5p&&;`?@|`_>CayTWSm4PP^Mo_~$OS@m@mI9r=O3$w^=G<{yWI3<(Q?22M4)&rIVzz9V_%Jr4|TDSE5nx=re z87|g!{srIaheOFkSB$}q%JWhuyzS!zLl9A}$)v05D6mz3%XU&w8(-F4?u||FKMy!tM;sc=%rw|z6pfdORFE)}`xJ}{@Muk#D8H(r*3rXdJavNp zV)8!IGq>wQM}1$}u5xFvWU$)Kn3s#Y&#EcIvOQa9C@TU8sV2|-ZNFn_3l`QY^-Y+5 z9?n%>l8fKss8+poOh{{(-wV<>HmO~lV_I%mepYG$TMJo<$nGMH&J%-3|@!H!oM9?YGsY{dPt4rE%6?|RBCXc91F z1D2~pV!ZG&PSL(jM#0uLKMV_s<1STzTW#L$!dhk2o~f>j+lp#|)z5jINF5l=pHFzv zK6cA8&NCPY8g<=?hJY1mohFMAATeB)MefKs9~>Xec9^~bG6Ix)iHf(oYQ7t1$_p98pra$ULF zoMvwQ~k_K1s9+XC~LfPWdS!^Y+>E6Oyv0mBa6A?NB&*INJXwLOZKKWnKA zV{`)M?i9p19d&8-mA*Y6*&6Lk)44S93^io|fs&p4pnU`ci@T#K9H&-_Hyq`CA&A*-Z*e54$s5 zjw(75(j8VC2Vf3*K2d4yg6m`1vIzwTO!w+3*76%h`?P)qi23L(Ja9x<((YQ=tktzc z4Lmf8xHJtZkz!?#ww1EX_8KXMUSD?4=UDhZC%~z}(FR*GV3G9jc)U6V8Bt|Xolc7< z5g01t;%<1RKa404Ve`eVXytQ|0~#NZSUp?D9%K3X-?M=|3AOsN&{JY#&{HW3>tnLSR_hvgOV9 zJ(ag)%LUaBh^K2;!BazK+I6K=(h&{nJwu2-L%>@kHFJjkg%VAfIrM_a@YslOLxu~26#aU`K9_=twcwgNk|uz1cglwm z@TjsfgC|h!hEeTH| zA5{7U$^kiBVv@)P|C%hzfSK`K68d&#BO}?YTIklHn2a>&mJXazv&>h)rnFv$TO`M` zk%K~H1u!5w0Ow14z3V(wT_t)Sin1|!4G~QfL&N-wI`oc)=jB@2 zZwT9&8)B3m?uFB8MmmV?NqnTAJJLajYJ1JQ(yyQ`F259?x)uv$V$U46J?#L%r~gwh zF)IAFQigDV@H1*NJPNHBWC9q-RCgaazBF777eqla^pBEwe3YmVw*d8K0-4P<@Y3?z zikfI|nmGiB~O8ME=}`|BJ|!BQQ}+S?F}sZo?SS z3bverPqLsLzEh8#Oc+c@$a=e~(d*JXkn1jYQ3nAXFHex&BDyjB>p*lZqkE*VQf~+j~-z>B%XVWr6@`Vuw<6KF~r) zWbV7+Y^^9T#+}db%v(AhyTDZAUH*Kzz@`ej4TyQ3j!-Gsd;4_yXM}G170`bOy8kwI zu`+%0!Bf_!YtKhF<(7jVRhkhZ{m3U+6(KAGVCP!6Ci7b4m=(DeQZABTrSc2VLp)Tp zcY#eFQhbMyO_z;f$a)LqjSa#31bDx<;^8+jBm&4vgPM~eDtwqT1u?@rcX9OA?mxHa z>g`dE?J=S4v03eLZ*P4$)xNK#J?W2*BL)N%r_o)M^JhV)$I^G5?<-aA4 z4;*&HZXiIpWvV8?9e`{L3Lz*a+Ki!k@hZYnKzr2Y0TS*(hTwu*2>8(5Qy{9O{w|^v zw&5hKkpSIrz#5$cTtAt9s90HOr}Ym){H_+zgzLSO3X)SShJ zGf00BX2Wv8Ufd7eb`+<0W z51MrlW|JPFM8PHq5bCW&c^&=tj_5P{ASH=z$RunY0lMXV4|XTQ z^dS0=c%~yrB#SM9|2*a!Dh%key;|@Ix5Tr z>rC-bFf==$2GF+XIQLwZC;?ILdb;37jY3Nk`hBFu!$K1*pwWj(BHGjXqJ4Gd{$L#i zUB7?&;9miCSFxS|tgWtBRz9TI7n_)-`b-y_M9|sggk2N+fQ+91juX3%Kh7+(e5(X7 z=zTx8tJeBrGo2skD3CaBfmC{*B>-E7_P`>0DwsW%fJXa0?DKj9=3xK1q(U!V2%6?0 zRg1`kpnBiJ%`O1%rIAo~tVG@7{c&jwfO02qhwp<}&;;(ZI{{&;U2oy(S=MGeblyA5 zRFMD@iF!TQC*zOigD`g<`g<1ELjc;nb5~97L+*ov&C=Hi!$=F6%VNUmNLV8M32YyX zqwo|a0i|i2E$)DHks~(re#o`yAv6yveGO~;Y#1pTCdmK^WGk$uyeALlQ3t5Xyu`LZ zHOMe2CFmMYM!E$d_~>r_>=k_9i_S!B2SMMRg6&^JJPpI<0n)ZGVs$gZ>ly;{Q;4yU zNlbHjC_fzi-V(`sajNvS#xt<(sY&uCtXneC-0xNDpHZIX81L(SRhECS1_0ZH-AV2{ zT4#_d1O^;UQ?j2_Erq87u=B;L_PkNJg$!=kuE$pkNghWI!4soYeUq?`Sg7C@(d?x_ zq2;aCA~ERI2qJPbzZ4qB8-P*Awxo|$CS#jL#1xjlybkn^+1U64-3>e>RszwG;Y%I# zgXAdy7Q7L}zgC&O8he0k#6t0VU|%=Me}6w5>xd7<)5J^+S?;BKg6F6ztu7<7kR48#{8x=IvNA%8OuCV+vI;mv`18KI}vg zwqh@npUz$z!4M4h6r=Bn4GdDSr0an3W~_jRwxIMIC#jy7>DD*kC5ee}I;Ma{~@P`i{ z4?gY81-ct&E6&YXMan?-drqrf^q4%fx$Q{R?$57@h+sNmNdSJLNL$d5O#<1rMW3%< zRL2zow(#w|0DX!KP2#~`3DE*EWPqWWzBkd1#pLf+%$jwviu)|Qt~8m3X(A8B+E|&p z1@+!n9flbOJOiailvT}quuZT|N^C5j{g6xgyL4a#5_-4W*(syorZh(Z_v zY+Dw4mV)cv3l}Far-X0)6#_?FJ;>YL3Td)JNt)CK0z#$}<&Ty9M25n`bUGDW9y5FYWY^N?e>fhrm0BtSye6nuI>tqm-BS^lLXzjr}G&iP&JUcof_lnfJ~2 z1n#U5v&4f<^8%!P5dZG^a>Iu*elVh;4KhTAS~kO|Vst2AvnUT=auR*oAO2fk$6HtB z8ZT7v*zclm#KnWw-2qb707woiMLgM`c!Z2Q)#qQ1*&^LZVM!BlxB*74h?Wo-o#?U8vx z0BCm;cenJXRT};J@AW@h)0t2#2$R(d7K*4GDfn)vP&nzrmDl%nsug~8D*_3=Q==`B zc86pXVRk}-2Y^rwREy!$V}N6wPS1-*3t#m?K_QTNXTLtX8V$f{gp)Hv1!>vlKl|Mk z0vi1rwl;*^io`=9Z7I{^ufFVTj(nWrM%F2RmAA3tx?3Oi+LOYhY1wzn%7QXL2JtLB z>v}o)o`;3e$9rv5hAr3%I~{yo{ON#IGx=iJ*rIC+SzcVyRi2f<@wK0p0m_NeknGRJtw82l6E}VON>O$ILt(4czskkR`eV@lx zf8J303pd#0q`Ua^%7cicO-j<2s`au;_E!F8un?3d+IF=2)XZPVeF%PTrbZ6sTla=X z%x@+oO0#u0O{zhe{c{cFpQY)IO0tQ3<^ki&1Zn!lmU(H?mF|?DFItgJj*z#7*DDm2 zjJFxn*W&lNtNjPzFcA|}KRoK=c7CVg?>`F~sXer`D~BhZdbO((v)Nkp9im)U7yuyz+EoWw7wp**cW72RabVl3+H?BSWwa02%V?4+*# zcqdo;&2g*E{dGE$Cvx&v4~{U9);Pvp9g<6FufALb6Z>?eQFq(j3FB#J+ewWV+Uk(N z^jD2{#fA?yQjnR19mLXmJTdE9R~NS|%(!6F zGHlgIB7ns&wpzFaeBZh z!!;_k#Z>}g4yLHzssDosbkJR%?e0(fdT^4=q&LarI>cU4ru1GcQMm7Q3WB;gP>mkP6LTEY|>4)EI;Rxai%>+df5}?Qs{+5?X`n6jKK( zJCSzf`;A&^Y2!!s)(UFj)m$d#dJ9aUO-JLj0HQmxS4AHWWbEn;5ZnC#j%0jfY7%>- zi~J=rsElaDP=}XSntNGyMy-N-BLjUJkfGlfM5xzKKEg9|Nt_ExizaaOC_#a@fT={G z3A|7chqVrlrWpeY?x9Gd>Or+7GFxq9=Vi56|Kp*sQ3o|5U?xRDE5E~7bO_w6FZvfJ z#ze0!i`jB02%4S*Iemo&G_s$H&JWn4+;LDJN48%ACa1?d|5!QgBGE)}UHl(|S z#=>gsLz&kT6b;A|q00iK97hKpw#?Gyh~?}(15RCy*<-SECHHbXMJ~rx0G$UAWS;+- zFn>L~;t?N*7!gz}ZI4Cq5#Jbto2T4_)cUGspEw7!&!OcDI_W}Alf-EI*|$@%wh!!2 z>3Gs$4rGeC4UPH&7GSljPS&wj%ybDefS2pFkAvH3;2R;=E z$OD!G2OENVG+U;+fA$fyw^NA-)6QJjltTy=#M;McVU$y zL=?n|z`b!Ju~*oTYrrDZV^Lts=Yb#g0CHu{M)<_Lr%d&2E`N?m=-H^7dmzExO48Gf za>WHS#RgstXzA50DXhUPTdM3K8mL{HWED6o!b8wgUT-sBQf9D-DuJ;y+=J_R%+|IM^9b5wD{TU+c4J_h zZw^J>l>krI(1&|tdt4jnz@|8$DEEGV*`rs!A|e4Q@Nq@7PKD-e-GPLpF*TmI22QmO z;TC{TTH3h~YK88dxD|*6mJgMW<40|E`|QvXlWS&7?Knv3JSEs4?m((FmapJ%y7AJJ zjOVM!$wOj|5&%cnn^t=(Tu-aD$jEHnDQNuTVWu)}rYNQh3PYaQ>+Y%f@)=O50#jY- zVo)j$P^I@>+p;BVYgnBkSlnkwJ7R&jrRX-(cb>b`93&8hg3(Xrl={Y)Fh z7*@JizQKX+yiqqN@ye1jlt-E4{FsM4m{^6jUbD28C&04<#Gqds8*z}5zjrwjQ`3gF zZ)$!`I4m6iS#Cv;hU5c3jakVBUyU^&!UFGHI2Tz>I^G#jgG51wJ1!pH(bODGNyyUt zDcemw{@|%;JRID5-CIHuTCfiF?eG!c4vPyj^#l2iuf8UC`2B8to_^4priG`%7x+(p zC+JW7xPG`lei2G?{rq7LrhDbhGPr$v+v$18$ecgH1b(wD#9;;diNj&q#-)Xl6WpI~BU~np4n(Dzt6#@F8p`PME>8nq|Jk zK4=3{gi9rB3|WI$P`q)8U3=j^SeDr3!}{ODfKy z4MvdpB?hx5nsG3y;895i#LdB~-4dYkP&h2-UDdS^2exv(6fTW9$9}ZSyWWjo;GWia zg92_6vQy7WX$l!*-RzTfP=}5(1IGP=j(jfwTHeamY9^W9$*(0s1N$Bxat60c-;^pd zahL@qj*a^A9iTU*?KXiew+#PK2Tl2M;Xp!n$`B)rRKs)Fzu3n%8QyNflad7f0N9vPUIwP_Mo+SW-I`NHn`l{?5bInXfnSqhy49gN%ov`mF5iO@SR%5FsKNtUeui*ht> z)anKqDCBTAHCm*z9`ULR!d8nKm%%AVD$KLDAOY$Ttcw>S8W{@$FfV9t|%oA>N2QHcPqrcu`WQ3ezDxPE2yN@jQSUeTv>bd0;s0{(e zigsRH3Nn3QgKW0~jO@b|!}2UIzqT@!$HJD_T$ec5rgBzT^Q8@~&}$s7+w!%|iWIi*y4iWLI*~Hymz$8NQCG z;Dk&$$h@b?ex=E+)37rB@|yk%X8yQMLru<*Dht`VWs(B_tY$@l3Zd}ZE@qEdt1h@w zxuRArb4a?te`guEjE6ntf*PF#)xjXbE`PH>L%D->tQ7oi5BSlbieH5$lv=$E)cZ!c zU@rIEa&bPPT${-?kO3^xQMv@Q1i?Vr0kG}-llf%M86NY3DF1gKNYCIpWt_nCr4&Xh ztxuu!Xy>402tej|lchHDxI6j^w!j(j9VZZRAQulW8};8Y`x4Rok{b;5oF1knqjtnG zdMG1Y0=NPUt5Jw{BLDo1?b|7@LgSca;vHPz6~GyoR(YAg?+nDGzWgK9nGh}gM(kjQKdA}P{Dlvs$6bRT7hN`*Q7$V)DF<= zd!=LtSQEzbDXc#gAwVN@2?zm#p=vgvKwoh+FG#gd1s*(}pW**6bIyVnUN1&9Zvt8Z zhpPKRsv1E|KbXHMR0u-y=TP)MrV;=nkRkVyQF>hFE-A*P8i=e27r_n7C!d67yvxf_ zm7T39&HX3!$nlc7wseNw`VNhp@%*^lO>?2;ae$zhy919J4ctW#!&`DjB;BLoz$mC8 z#TbDz3j3H)+FN`dXibI`x`kf<8FES{G&pB;mi}6y1`ddJ|6B;3_79!cj94^__^~Ns z$?t+n4irv?ROfP4xY+ogDBtN&6Q$Qg6hoO1+=kCB9gQdu9Cz`9q$UHCUs>1SEM>x* zJVtI$hur5Ht~sp|o`;epmy~ivn#<~NMgV0K@>lu?E;pi#_ga_CI^Pd2yk|;#6}|O~ zz`qu%#O)>kHF^xVUxoTkuAHtNq$FcV+kW>60#kG2#BF}4ZabYB$Jmt4-DQXKX^_$j zuKbOiXpDpB6wm<*oG*{Mlg?G^0|@{G;rUYa=)V{HZi&Y0NUdL!1-uERXFL8DM>@j~6wm^h3}`(8OvpGvYDeo`=QIXG5rn#AedaYKjZ^*%+u-*vHZi(# zxs*VKL_aBwJ3~}})s-U?MM<5WufPR6KY~kj)=m*J+Yi2r|%y|aaqr;x>37^=r z``exf<;&XG+)X@Se=7;>+br+s_T}aV&hYigR`|0-mIsaHBJ7BG7@M@w-m(MO-KRjZ zqmJUh!34wYCkJ#+UZD*4ckQQCJG5K53~X7vCK!y(yuLTt5{wmePHw;C>Uuxs?SKh*)7^gMB9R8<@)x0=D;C(sGp2W#)1e=cNr z#JRpWmwbf`)ecrDBShcrl+QH!Dp{acJ)kojI;N+vEc^Y*%`S{{7n5h)3!}vO6Tgxh z{Ld(H!TavT3$EXu_rVQ#UuXV)%O}B>$ZB(WHQHWM+p)-{S`3Z{FBtyTvO7h5?z?6q z=Kv{nZMT|kMRXeqp3M0EjKc81K3Vyj;?4u}j?}D~e?<^-Z+n8fX?}xwFCf2@e1zJ| zKuv-@#;ISWCUTnjFRzVbI`u*K(ev4)k`jCTu3f6Vdl>tg3teb%DUbUPLprRm;(JZv z=jI&cj*xGYTD$tCtSM~U3T9BV`aJ;*MdLi{EN>we9%w{dVKB>KY1eq9qs{<%R95SI z(w;^Do+^J-X{@vnCL#GN*)#{Mol*({${Q(9X@l{F0eW9spKjQu{cDU9bBBYoV+JvD zcQA5o7;xt;@L&;AeKrqAX2+6XrX3LX4vneLc}drl5oz#KMMSje;9 z{j?D?a5?V^3ijlpd}$w;%9S1NE4WZ_cA*dSkI;4R;Fyx~y@SizpPv!$!{wrQOU-gK zwd#rx+#xa~wHc{lrx`uKI=o)C%#+zR6JmUc*t}}5dTpHv#)mK-qv4Lqh`FDNG5w#R5#}zQ^oJHz`lJv@ihOt`mwys|JIxqvL*L` zb!GXS%XC;O;r#wHIGLS*TO(AP44L`O^rpcG+;2`Tr=ZyUwk--q*G@x&nGPh_`1v2z zC5lcNu*8e#2dVNC$D}`OlNWgun$uuT`~Ez!D=NhYfBv6`(9P5FDD$0traMq>yt6fFZn0s2jDQK7;(r)C zuXZ@R*i`V5sZpVx%ri|GnY5`j-=>i~uE-iLnGE*Z0gwRfr4Srq^dGo5-DvDZVvN#x zuP>m~fdnCg$pSD5+;AyFvx&MSy;onq{N6w>vdmI2PqMoNl3qNNEa_MMw&<*9+FIsf zRIfz1RGWUvIdE&_vC&Ce_sb&$kFe(+a#JLgcS7argq8Yj)qf~G7K5C~kQbRNzm%#l|=kiuYv8Tu_ zzz&h6Zrp!TD`?F|gI5~3Gpd~QP%jT{0^@ZDf*h5P>bq*EB~eEqs!Q%{;zd<~T5~Z@ z-$kb97E3-4Z?wZ0PStw@7WPoOq|UypELEoyn)T`&YJcceql@j-PEkVU0*HmaORuVA zEqO{%)K@7@=Ux5j@#UA{WT^3l+SXkcVBz{gNA}$|*NbRP+G|%COEJO_J0fOnp2-2- z>K>2lZ9^Bes|hZgtVv6}da@l>wB>2Y+c>s;n-HB8yL|H!1j$v?alNh8e7vnSwtg2i zB(Gd|Cz_)QsHKMA?K*_$|I%$kwbu0w?^a7Rg=hl^{px3k*lo^PotozUN}^!d<|EEH=&Gs$rn*fW3uua`?$gnZd|=Rg#J*IAn(NK3nljc2Lr zChhonsy@mM^vJkW+Y}Fk2Ni|)qXW}ItO%WYbM^ z_jeC|dlhyQKy>h$S}8h;Z!nhQuLrK`Z^7&f_rX}Fl*epI{upQ>GAJ;J%NhH8O(uhS zqUjg!P7}q%bfFA+f-l^ddS0C_fXWd>dN0zngz>=T(b(=+MECo{(wmzYCX=$OX`D9? zknL={mVA=Dnjh3(Y8q12c||;x8Hw=C&IU458>H!0nvR#W8cx@|wtOBFn)Leqv70vz zdi?_qe?Qu{b<8`irRRQnOp$u*_VAb#afjrI!kPQpr}XM*#j2R8?Yw&*b_S(cG?0kU z5ywGaYaVFSHi^(e6{#wGv_`&{+btt@AFo?vp{t=L7eh|31l1wNL?`Urg`sOvjpebT zDC~)wuhkJcJPrmDalx2?eX#?}B-HyL$!JbhYVSl8vRL$EOjN9v8|@6P(phAswx!>sQ!Hg>fJDz^v+$#xt`ha;d`%cXQ3hN!b%|Xl()H z1bNKaIOxvBjm`!M?njR6@ZUIElslKtG>xvmvqYu%_2L%$Vz+e^KwzGe>bH+PF;AK9 zWozx(38txtlGq%7RYgaN@ceq$&+Zealdx~c8rVUGmqH&*YAEm01G@YRiuWs4rHVWC z({7@;DP?CN3`lg!0Vy}e)$&cred=|cg%Np*w!3JQ1#ALVv#z%KPDr1OG>oIMRrZqR zoWOW8z**<>{)TOm$Is&jhXDdt_sC2O#Q*UAMvN0(bBespb}drrlKb|C^cad6gy#!X zFqP2Du0uk$l(x{s{7ja~L02U$YdAqlVwLC};*W%n3>D}KV(K$(og#_y85wA{%%sS|ug&pA`SOUZ#q z={gq;O@aC?jS-?XU|Usmrcq7MEz?21kizK6dvPa-jfsLq^LuVPnVoMsL|}JTex<=w^@gI4^f`>#f$^n@SH5%E}GxhssOW{jFYS6d|oK*%@=098@iZh0PYt8iq`hFreeQv|+^2Hn5QICbRi0eOGdw>Qb3V#k=X#_i3TU;DYs!*K~~k(~WS7t|9(UwPLUfMy&ec62aS*ViL&+3RDG1)k+R zG1qYT)~Ovkell$#3#_|IOvPpb+-NItmWsP8%-d{T3to%c;&P!%O1W3Ms5Easp4vc9 zk6P#7=LIBG5e*LhpBmZ$npUSDdk3V)TI!6L*=ARL5$ z25%(Gp)LQBr#28A#~*sxZT_p}WRA5P1A?|r+Xsp!F>g*n@EGj3tBH-V8~)`40)DI8cLCvrYDRqOnV-kJ_25jmi@p5ra59Lop3E^D|EiFCe#dBm2&mx-z7>DvBC~ zT6XVJswGkq|4ei1+S|%vSzMVUG;$3FX@e@x0-D)^z5;@B zEYUZc@zjf{#bqdVRG0A?Siv^*ApISYqT|W@5*hZ+2|zQbsuS*bC+PE>=c;^)x+n9! z60w=+Zn&=g#HdzXxmQ&LqV>9-!9M&)05tU=xUgE~tvdQMP<3-Dv^Di}tpJq~fmvW` zi)*!F1dqosTBc!$k-?sVH&6y%k-`KO-$UcN;f(MI6u5y)c`8Mz0<|>{)*xn?ioQfi zJb?W5FBM}MLfp})PNXM8lhLWlc?(}vADZI`!x=Wd?r7h$wnugC@;<=_Yke{V_N6$Xo z)GgD*RuC}kXLqM}P<1s5HLa;88$rk@)67@&Oz(qs#xq2`b`n}3fKNs5 za0MPuJL_U1)!V6vU`1~YmZ=kO>*s1RWz-tL=!JS zW{WoGiEOj+cvG+ZX-GkC#0J6S)#>wof@g0JHoU1|Z*}m)u_@a9SWizK!*OOBD-Z%ffhUqYq5GKHP#O%lby5x_C zf8-eCo%JV%`xM27FS*SevAX44&{ zBJa}d3K(JI9HpH1dOc4kZ^|vZ6K?9VO--OT%G9ECLajkdJ%}EOF#o_ol= z^Uy;WCitBHH0=4SqB)IMl53nJr)N?QY8tv-z-6Ax@GnO>b?b@+o9vun^$cVM1DVk! zSHx6sl0Y=GgO4UqPAfdOuxhFWEL(&zFe)}AgSpl|D9oJaeadSS5kI>PGJO(rPm&Db0 z_lv!E6W#3+uZ@39&h9P?CUtCLWhW)R>~~H+G|}=a51ePVZPt=Qb=}V$?LM`&<5`c} z-@Gm3OygiMa3X%ga>KLAtzARRngrM*t-Kq7eD=8~a*fW0kDFHGs|oL}bXwMEIJxL7 zY1F^ILdZ51HC(Aycr{^B4eCL(8oS_}PGVbpxGR8rCwiE3HIl-Aq{`SIHj3t6h0WjEP>+^Bd1i#|N&B8)#zm>U+aK<}o_0$X`B9OI$WJc{IPT zp19tF=QBbR^j`d(>SD@1-}iDO@b%%ae({z0+VVPWr=}y;DevB4ro2+8OcA#R9`!>>F{O%>O|uzGRDosWk>H0u4f4wB|Uk``9e*66Bf9~Cy6 z;w>1Q&7Amk(e-yi_4|Mq|6EjMo2x5TUw>~FtXh6+Zp~l+2FvpOwq{wQ1YAEq&P0i* z2o7^sr9ejT#Y~; z6UVjPK4?H&XsavN;A%WoMV~^Vs%M%PR>-v zU}ih|F>%lk_Ythy-Gk$6cN74cJvFivP>XB0atP*-W*A0 z>(h*Q?5zHdjR~hbDXmjdM@Rx&J>I!I*`seDS7dGti9*yV^tPIQp)97yevLiZU~WFJ z*#hR@-0QUvL$f$iycpA)s{A2O%88ZV5S15{kbkT0nYebYaniE7Q?G{wR*-x;sN1}0 zxzkFr>&5>I#uTcv3fn7O46XHRr3fxD{Hw zR5Z3*PxND(M$F9XJ#MWv1`z$qi9r01Nmu>Gtap^K!a=!agVkGgfH+b%C`=}03L19B zM=a3mnRHZ<*7Bq-j4=__p!`6q?+=YEODl_e9#7^3TcjCIeJLwtGb<@&8?wY4)DK9N znextjDHO!|@NDYAgO21*muQY5s>`>z7W=6g%rN%|qad&~X1@Q~OS6okUD1v2CLaHH z>~EfQGpAyXqr{-<)}K@A(=OW6qobz{nYYHRPLTQMP$RcIoR}T!h6|blv*qdOVH8sq zvns0Y$9U03Whprn<)jwctw5#Y{XxHGNm!l^1&47d>Vi3B7|o7`BI0faXH#C>>OP64 z=?rbmSaqU76ZOmM~oHuwNpdy zairU-KdKHKH%EKhbxA(EBCy>%4)o|$$fEy&gsSI94y1c)Kzy}t#qMPozVMVUI^g-C z2;9H%i2m*M^*mJAgcj#(1W?;k5@p&|7h`;pThj@3ZT2B=v^=)lIz}k169EBHH@Y1u%|K8j zlu$$w9Vuds6tM;ZBGyz?{C-p(o`2!~;kvIl=XK07RkFw8A%JWunV-o}4FYuWDRBBI zUY@GHg5tC{m*>+lFWJRK_Le3_+Z*)&B{ew6q}771r3e>kVpsq}&P)?NK|>M(Ug&HR zqx>V*^Xj`k(_<6}F? zAv32xbWo_&_8APGG(=~Pv!>)ZwHkJPn?H8iWQ@K>(?*fB28`d9-6sdlnkQyk-<&c4 z{Zre%!;SFrZUviRPsjABT9fpk{~ddHochuFDQNG_^E z+wN)T-Gq<{k>ua@8;kPfjC&KtbX_->QwOiVOxHZ}_4m5{z=YtR2-$1UD;NI+L`}QY zR3X~7TUg}&W>9DWS$^x*)bTmfXO}_9G4Y3mDnaCmkRW^Ipx2Y(Q<76fA5!3LZLc0f z`Crm+xx=4`4cu-<3`4%??oG;k4pjeNr1{XEwQ~?z`%m`!hU*Z^>jDJzTejA4sS$@E zhFr5j^t`oTvG}!!2^cC&?NXP;%4uiLyL(q&LGENg?cTr*UuY4_C%J0UPYE14^ zOV>78FxK|%eF{I`I$&-5`@_HN)bwZe?OKs^Xa*qOb}P-|pKIF}oi7<8H&1VbP8e@} z-BQd1vXz}ItcQ{tAB~j2@r)F3c7aL~<+?2qjFN%CKaxN^Y`C4VIF>BLTxEbPRZ&R4 zUkc$9w%W?i`yv1a0|8FDj*FC!bTMWcG^Eji%OEr+;%D}>Em;zTJSIRZlsIEP2ioNF=Xt{o;BPo)GLBE!BU;1W1vxr zeg#Ys8g-QZ+wbA!^)aONK^=bbl~G-LOF>n4CpBxyijXaNw$vZfIH+o<$IG@1iR9QB zu+s+vDr|=;sPIu9$nr`4JRhTv^j!O%S9%lNX7M04yez-i^ulVq0vNPDEU%YjcLFCU z$hN@nlS+W|xkgdkqm-^^7(9r=HgRA{$IT$jhGx^~2l>G#>4Gh+i;(hqt|`9}yNS$_ zHun(_5Rwi*jkW1^p{>jMd(VPk=$)IRs>Foic}iI9}X&;6zxlVS4NN( zx1N$nxYOq#cJ}1#o{F$GZQqESgP(&buk+r+FIP?!Tz>j8)h^p;hy4L$CiR_P5SI$5 z*)VEIz-{GH8zRJ#HFOAKo!Wb}*HU6M%MkzQ^t=gs#*WNyfhFMj*_a1>+S4l>E>;F@ ziJ!F-39g)VkUoQ-b5v@qoO99|!Oy!GzN(yev;2!+pzNF77d%}pMHame2Ujin1fLOE z@;lO4wG@yrBJwOK`Bl}kkTZX)<_s}NA^-zs6`x5z0kwjJt`@d{;9wK#vJ~DAlrQ2^ z0LpVe<;U=g@(s2Hg%8s_{0uOv#sE!{6plDFjO3zY-)q5^Gt6N}S57*_fUvMc6OgY7 zA)2_C+vOQX4me?JCZ8*^Y@ahPI^$Y%*t?jVGO69BWR$BBzUB+^rJbnEhUZ4J;Aet2 zz0t6l;I}OjY$cy{X1VH3m@9_7CMT4OX2BXCKDNzi&U(VwmzFo{lWZ?9(@^36jH#XDtv66#dW$a&&4e(3`gMfsya(fCA z#O0&K{qB6duh1+72-Peq?tgMtzG{yPj=@?Dx6jyuUPkoS_?7m}nb56)L*Ts=OSUR0 zN%<)lAg29fbM;n!ECt91q)HoCCg-QDg}+tg-41>|>>#y!>(h}xaz6_!fnSP*C$`5Y z9=-y#Dc#JA24m4CbkwEXY>Vk);XW^^e*o8H`q1Yi=k@FaX5QV&)07K9Gp!v1Mh!FU zp(4-1*+{v}>~LLn7C^GQ<-;DU6X^o=A|FVAndCbAb(j==l7C5r4&Tj;LzAF(Zfxzd zLG3WPJ3;POPXUoJnF%|cLG!swbU3m*-9ysnX8)1F-8GL|TFSyV6y*!ho|# zdfQ@Gx}5kV$HCVSMj*+@6PF}0sdPhiR>^p}Lf_gheDDfDs@sbLu-F)=-+G^V9AV=6 z%iOB_)|d*c_$2H>v>726Dnceyqe0x;ZdP_M?!|R6aR7SIsR)#ne-Yd&GH&A}keIJ2 zCNIvSk6S|dWQ)T1OQzxZGnaRDqLwFnO@Oj7@h2B_ zr$HtPt#F#Zu5wF-zg;QWR?uxU2Tg!T`U9FB*zzwp<~PF62}UAf_z=B zBo-w~vuiE;YCNvB!WH1e#(7UN@!>D0Pf8$yU<~8^Q0HUEz7~+iw6&^&e0R7JHTESG zDitnd7=8vV|1v2c3_?c3i9h9hX^o33n`4j$RPEx7=x;@%1q+v=syY(__EK1tuqrk! zSAUa(9J&f=!`D75d`bLunXb5F7rpeq7QjJQ9q zhasCQ>0=_2U)23GCE#9rJ55eL%NV=~t9aGCXmrY|-9-T&;k9v_&ti?IkY!)F?u1sG2^m^&4n$L+#;p~T(t`epMYi){Sg5LU;(f#NqnI&m2BV_jo z)7GNjm<2(R3bNu4tkfnS6Yt-ER6b4OpKc2Kv9f;NTKkOA#EI+0s#@PXi~o{&?s56?Bb9 zGzJTOG-|qXBU{NwiM`RE+J@}=TwzOwl-B`I+jYo z-F|%N^w7Cto@A_PH(XUx-fL)3?#AO!BB_B1hz{6LWOcT$ujE_tbB^l0np@rCjCK(6 zr)_!fgN_g-z772p_x`OYxcR>BtmD~(W>c-hiRdzlz1E1--$&1@xppVyfaQBD(Ct|Y-|Tt zDGV6_y^zN*@@{}{h3;*@UPBczHK)4Kh}w? z{mVJoKdWMUyAMJmtWv@7%H?r|rm*JLN|=h~EXYYJA}?x)3vS&7*U!8;x0lr{h>=6d zSc4NmFq%B>Bi&^ktbG^kQmOFo2>@cTH5_e$EvmSvHFEdMo*4&H@)5gWja^~LC)t2B zc);OS)ulDm9z|YT6fDUytqDM8jL=tlE)AAexrp7RBTtO3@XoRlkBL*K4 zB61ujG@Gfg!xg_v7Cna}peKc8K!RL3EgDYzAxY(q4aAB_XvRs%W(#T)Ay*>^dyf>v z2TquvSh&uMd^tpkaSy3$nNoM#&<#x6>mJh2z!phdAg=vlwz%3GvEd2g}7R(2jo14>+6gKqoGQ6jz zd2{Olo-W)^6)@OP(AC$e!U`Q@sasYUAIufKLj;24?&D|9+_`ehN7%GNUpGyypg*qh zC=p8-^%Na7`Yz-e(q}v%3|x{E2+E^Bnc*gR&Q?}fcnPcAyYg%5dmWc0as9K0jkRQ_ zu)0U9G~2`6{G{;IsKC*@g!n5Kd&2wT>bOLr#BFyEc`|t2OR3{t)HL{%78iy zKJg;!;B6nzOZKunsAO3Y14$1u|I(`U;ePR%Fxb({HG2U)Ah0qbR?jxV+u_9L#+A)) zLK}SKBw3H}gHA~@aR8?Ey}8n(5X~fq^WF}ES1@b*9_vKuWCQVwS*Q$enXHxvOuX}e zfuSTDp}9)=w|b}rFNUT{>XkWN)Wt5#F^avNUo5!ZI|P?!9JJ!vPU1z-Z1JZ%;*Y6u z`Cop###3%wKhS;z`*GBMYr$>ctLzS*pb$3S0lMLS8IsBU= zcr;l!)LP1=#V_%&Kd1_%&Qg$7gr$P~vKCQ$h%!HcJ`vRz|C>KtFHRy1L<}sf!4_2k zk7-WVejsMi@^ioh@spGLk8#oW-KF1)rUfoj7nBcdj*orwK9K9L-hvH(i}fBAeV8n{ zI3{|WdVnK>xj+xVZ*?X9ILiO2$m%0HgN`mI3V>IkkJv(1qQbX9a&N5R+w72vA3kp? zM~gc^fT#gnR1*DDtNN`*5?OSY9yUVblfSIor{)W}#4!O$gvhBKxhCmkjq6rA@@nBJ zJKyidv^%5v#v*|z!2$*Own1jXDiVK~ztR9q$X9W1QNSFy-!6-?Yv@Dj3_=?lfZTh4svdZR? z)-uIKhA8vT=J){)%FkNMBl%?Up`#h}Lt;m!Pz-dxy?^@=Dd;%5jYU-w)BeZNzCH@k zJ4Nc{3f&%+nWKw_vk~ebj2{SV^gb@|)6up`**^>sE(^BJ-oHzTR?}tUS&$U!{S=sh z$!OA0a>|69l=2Z_b!yCuq+kg)Tt-YW%s9nE9>V5=$!|r7#C_7r*$>aoei1wO{nyzy ztJ38FI1})o(a%+|&i&_mPLRO({!5xj#JbrF)s4y!sc^hpxIjWU3?6Fkd)u$VqyXm6 zcp{L&mh9(3XMP?g0{(k>3nx#t1kZ6j-Pi(CV$RPufgmG|Lh`Z2XO>PJK=g-xJR5(u z%QYtkMto0+<+|s+cap)w@MxMe`1 zm43K*RN&ZW@3?Od)UCCZCb1@ACA&W~)sg}NuKHCDa^{Q*@M-{_A-umHhy@T$A{t}# zAf*dL?KRL8U=R=ZUITfoBM;Zsc%kI5GYn~in!snCN9(%50i)Tr?LK8y^S2F$r!tA;_59wXF&%B;SzX#r~Foo?r@F0?9Z?>bkRAw4F4!I zSg|JOxg~xAaG*<-iXT?`O;P>reId>B7y~kR>48kjjaGld5=o-K)^LDwiIR?FsK^!9y6~q$6#I%+NhQ^2%;C zSDAXIu%u{a6hW30Sk&uknBUpYCZOa`KE~dat3oNP7W4Mb#b??+9)fnsBw|`~#jWx^ z*>-qHXUyn|>+^P@+j5EvH#|c2E17q7*-lsNa`Baft6^esII;-Ixa(JX*MD^$TMUt< z2j^k`)n9OCOpFp#m5_LLU&EvNzRD3mPJnc*U+EdlkP3}8ZdXfgPit#e`O%JUm&Au{ zM*3aXuT0qLep<}lCmppcRQqwcB9Z20M~wc-5ZzCn_B{2%KHZ#hZrGlG6zPreJ>eO8 zK-{8A1W9B?OHN{sQcEaRg(5_FzkmPb7gV)1jdX*7!*$p8#68H-{x?Ll{NtkU#Q3jr zg`|}D@hvyrTu&@i8f>p``ZBA^S+(A&yJ!63UfP6Et6cG|AEUpk!X(TovR)H=1SPDA zm~SY)?5^*aiUs5&8B02SFM0T0aNWU9x+%=TUxW&;CL(W>(I`2gLMZ|M7KmdQ-_`pk zKYUDD`%Rgn4+Xy{;&MwW;s@WQC{gGsIze6jbzOl_Fh5H3vXtpw_XZw`M!HGO(YqnG z=-UIk8T@n8Dm_OQ#usAYYb*9Mt0Q8+06oLE{Xs{4#{f1cDgrW|5Hx-w!+wG-xe!~j z73c79?n&yEpsBD<*=+3oxp%4k@{6ufP?Dqn!vx`W*rPv=pW3CQZmuAMAFkTY-fOry zZegE2D!C~&DzE8qWYa{DEdUJJ2Y^gskcY<0hw_g+#lcqo7y--Fk-ZP6$2>AInlB$3 zN7KrKd;Vo$=P)iLknaZ*87RmSQ$%yZTv@jg^x(NCHt}DUcYEZez6m1W_i zesBD?-2D4jf2u`vIT!TrrR(D&5ACpu!$!k*sPDYm@D7%gGt|#l(9$c!ys&4OE&9|` z8OnT<{nFV2S;f=ib1JVE1RS1u5aE=(n3QdGo6c3?hDMQA$+s`5a$BZrM{Z1M-JR97 zGTK@l*%PIh%C#MN-XgSi54L{b--kEH=?tiVghf6nY!nU?TmS&w)`B;(28|Q|F^34LXSa@&=18z73W@ROrW7_{r39GfrIWxdx}_y@~~=oDYg) z70+TURltN|>3JCme^a}eXXYViSBe+OJ$`RfjF+kQ{{z@D*O0sunv36&g6rfSwxj-Q z6LnmC3H%JA#R!X7+3zRJ!=x*1F*j@59Z~+-S(AGVk$o*@lEg7pN9ZEokVneOB1b%* z?@S(^^si<*yvRqZgRJDJ>Wg6n;I`KMbmPNYBI_TqW>2GmRq@mO6Zb<5>X>t=;FU1d z`CL!=%}hSo+tJ?VcZw0R)vDlj`Ree}T4q`|lNCgiH6$TxX)z*>=Zj0m*_jA6V!#FH zh%r;+V{!o;@^6CYhPKdyZ&Vh3gO)}vm8i8Q{*11YC{;fD-m~V|v6&d)km}7z6zcge zl_Cvb^z~_7DY?tR3~p424gaH403;Y@Oo`n(ku>crJ zpy-%A2*1VRx3r;(#%af%_LSR9UuwF+ABw0?tS2y5B*R++y8Qkvle8(1*^I8D0d=0t zD88Ltbn^SL)N3O@e(sFljgaA%=pn*&v&cxnpl6~D4f?Oo2<-iN4!S0tpB=Tuk3>d& z?-O>L(j1X@i?R`TC2z|Qv`n8>X~zo6s5txU-2KHLUi#3l=`ceMad*xBYD8gBx!(1* zpRZ@%-QY7QLdU6O^(YNGHpM{t5;NzO7J-S5gJT=I8EZ|EV@TDEo>d4uvbP^lNTsF} zp&AY!l0#^NkUrgMl0Cr#Xwyr3CbJ7))1~{Lx}E+s_@?yq=i6VN41emoC*vv*?-$J{ zg=*2>^ye>*7;?lSC)9iz{!Er56t=9>l2l(7eSwGvVP9O-H0n(SUPV81F=!YI79wpH zPWl&ZAm=mw{)F@%nXIo~CJV4%3equb2I%{ViU}}fsM=2l^1SE?M1~`bl|>i3b>nS3r!TdTolh2{1-JOO&i0X`+)yW|HgP=NYWKF z5Wo8wXQk`<>11K_%CUZmtzI%y(UFKGg4bI$S+qjSIlIf-6EdBwFl>k;L@q!iTQr}f zF)i$6D$l4CtclMn(53IeKTZ}^dvNU5Ka}It6~#rWXPxOS{=Nj7`qM>gw6~_>amCdV z^4&x3$2{p1cwLO}XSl#957gOtSl&R2%5?v2Te%!fsP)5SX7)P7$5QS~SqdPNvC`B9 zK(VVwht#7wEi*h$_ar1 zKY^9++p!@V2if>I?ITj#)NO3gxWTO`H z&PNrhlWr3nX!Rl^T^lXDRJ>|3r3>@nDo5G55mL7BhJ7#gL|-cajQJ<1&%!~7W=498 zK(Yr|`p#Yq;WQsR5x&bl#@}M4+4tVvALNEAo)t1Iw#A8PY=N|Ishuuw!zK?MIn`MJ zKWnDNpEH!HcZuu15eZ6vvgTdCjhB#zMOkKMg@t5yo~nptVQ6r3ea0XH|rTfw+V=y5fAXZmvJMunzK);#SXe zDr+*tp7S0<>Qb|mUzfo>IpYMAe6TuF4&LE#Lw=Q-HxWNMedocTIw~wj9QdAns3TdW z6%X*su&%w*92FY~M*0@UVOy#d3Bj%WzlAoNzLEg33%&brYh4Xb+@ytXU<3K>+nl{< znh*Rsoo(_zMm8p>6{~~v`Fqy;rlj1dyOOJ38X#7{4K}NO_{O1MP&#mUTG!|mRxokE z^YH)FZz{&|)Zaewl0lTb%enJ>?6?)8c~a;|_tVK4a&t1B{N$ogIh4rvWKMZCqw;Q= zxhIS=N+9g`svuL}O5P{~zs734=YhB19)}K&Rqw zEpOq6W`exj0sMT_1{Erz<$QWt`Xrir5cECFdgCZhCKb9Y^kvIoBTwAKbg8K~env z^xq{B6Kc3|%uk8>xWsFpV%Y67xAxnfFvINh6@^n9#knzAQ5AMAn4Zx!k-nI0{%Pv6 zUJXMq7ki+4s=Cw=O{Q~MkI(v4=RzBPj9L9Mon5a}lu4bab5FSTi4VBC@_x#DtehIx zJPh&=>5Cl<777c>dbJoZYW6idvPE~o|El;vkquH77M*#vYsAigzvHu;R=#kyx7$tk zPj9>x*f>#nMhw1|wgaWY-bdo@eE(Ar`02RZA5kgMks}M=7p}l=2KU&RaWacf@oN;C zbmi0lU+Wf}`N0(X=NJQ+IEQIzRs9>qWa~0dP~64c=dL?Y*chXZ4_CxSId` zqeYWa{zU#0HIRxiKv1BT0m+Pp4}U_=liG8Ta!H+SQqkvA){kOOpz2&%nGZYle!Zg5Tat56{^>g_=Z+ZYMfcAaQnwohydh50 z%W5(Y*C0(tq;g-IXVB}+#%tvi#$?ZiAoNP7KKzTR?m5gGzE=sEo<19M__RCuJXp>o zLBN4DGDaYkuDe8j`E~2Z@Fy`?Jn7WdDV6#i?AyztHADzVWzR-cG~ zkwg>-vB-7%IS?vA(V-HB&8`PlDv&gLbBM{t2gt>JtYlY%U7mLQzGK<}4y1t`L1X;7y-*`;{`OFS4i(OzpzE-ZDi-o1Aa+Q#<^b|Tf%ilNLwf`A;phzxxEU*zco3U(Q3X{7 z!H;8T6p$hXQf^Ycy$fE&LSu*!E4s&4n2KdBHrQ8p`Ynt`g~pRGjvRC>>m1`st&kjQ zz8B^}hnNE>X>y$kRq%2_-6R&-CXPAU3o++`{g^rRhj57$odT}IEV4w91U{BWFQ>yE z)A^*am>n$YviSZJ)m`X?#L|kd^EHaLp!|Aak9#5Ghw5Hop_BBwpA=LN2i9p3GT!Lec&OD z$*5yFIx@>rwfTS5Z*LOs)$6{Zr@f}gD&;yfUU3KVhS z8KmyFPFFY5n}c|WryL}bgM7T|Qvgr}C&>0IP#&N3lTn|zSRFGuIEe|0SAv;wTfZD^ zyT?Nuh`P$x)hqBJF_epd)4EeA5ue4RT{%+X>7XEXujIo%>3ZFLEN&_#VqcQK&nT53 zBkCOc^2-E#W;|5^SSzHEQtp$03MJ>0w9^OVyqa@fv`knP04}v<3 z+7^dM;Xoh!4@h7O6z%6xa4)h0a57xJJRVe*3%-I1w38}Buj=*bcuSgVNNti0ulUL0rO~D-B%U4KDyc%W9|og+gd;!>@lMC3+b#H|9I zr>j?^19YM|a0TXN#5Y(!RY$(Qds5!XjO)-e9d3y+&n%jusM@Zd>jr3Cu^Es1fhI;?K;%U2OR? zaxH#1e|4|l6M&tjPZt(Hj4*}6nf-dj)sjL2U^>EOA1}WHc?#ULO|LE>UT=vMR^>9n zUMl=%Lo+mB%WoZ)&1Ql>u>KY3y!rEZmT|+%0l2kv9JHjynyYhx=2o#NkLLXgb}q?&Z8x&n1l3%}0fZe?cAI zn!uw@&^Iwj5)tX}ClJUr-5o1dzS!|JA9zX>6eA+W;vQ&?BEXMOr?EQ6ax7>4B7V-n ze|Ca=NOScu<32p35N8-p>`UM>+7k-e6A;hy%>$bUA1zd9l478M^}Y&VUDQPbaa^ zvP5Vo>&XfZ6vjgPIU^o!_XrdSdoqzpy~sDgVmK0?<%b@TggvfN31XUsIL8qR;t8JT zVEQN%u&ev<=>E@Um!nw2D|H}ww&kx9@N_TIoms5zD+0Tn=s7(?>{Gr7`Lo@m z-!h&FV77_SP3)UtIVgoU|JsbNg#FNr*q_2ej1$2wMK+r>Pyw5~zY;P1+VQRgTtry| z-L)*aGcGu>5&U^WunqBE13yh*O4n&P=D5j2E_Q-s zFz}NN!bx0s3J!!?2z<)uXNi5-=X!smz5g6Fxqj(meT-$b{xz>LGLrssLmhg->+WIc z*_U_U|650Pa*&^ROTWtHOmr_!bc=rYxA{1p5XHLU%0ml(g+3%68!z#!pnU+d(eInS zF!&&?6OW&ITsu$sw7HE)4!Et}K55XW7xwnk9X$W}-Umz$OX$1~h4)S+?CYl{0+M+> zg@wU=g??og92@Cp`A*!X0%F+jYS;FPWVwOz=LkQAg4SnXra@B0!-$1lQD z;giR7PWK{{)urz?4X1Jqqq-m11ze0f`~7<&1X;gZssc@=wQId`=(~40f(07qV8&!; z?k=(-LvT12w1|y9RJ^?~yqyB@J?kD%Vndbv#Ln@Sz}O8Fk82V%ICnuc>FMVb_uuQG zI!kfa0MH?)3T33h7MZh`jcHVtXI;n9ZRj91B+3fQ^myw~Ds6cT`h6M#lqUP)-;*8-S86B}jBS1`P3WGg}dU z+6t(_cedy|)XVk|36@hW)Z^e30;%|iROkk2w6n^JO{LOHpX+lY9i~YhfWu{}76a4z zXn(Ksf_l)Uu&7p$dFS9QLYaSkwvo4jk($)X#mSI^uFVdO0Y74w6n|UjIjVFp>QZCmT^!h+5oGq&VI)I2sE$4=sG2RT-HXD^YFWd?B59+t$JpZl z{-{FlMM;|&()j!ktwsNuYMU!$Ak&rz!GG-JsX)Mid4g>jx6cm>ZP5Ada@U#(_E8IO_$YzY4eVPjj!6rSJ8eLjYExWpc1;G+{7M;_4Pv3gULuLBlE(c|E zDm#wraReC1-*|4OqcMz(bjp(K?$N*L>7}6bY~f+4VerM`lV7HSwMII&xtnN&3<^JwdOon!j_9w8(lV=$9q=!51Zpc(!1x z#Vv*w#eUckko$)E=n#&xWjHKJrER{{`aT0Nw_1x}>ULOw(f!dY%oneOy;Ow%kYo35KKm+> zFe&C9^O2#OeE#bqW>qe1@ZizT2&gvje4m*^c0e?KQy(U6^Bf(S4tu5Nms|H47rYGE zE&s$9vrV`7&`;=4FW2J-T`Lc=N#7IC(}$lt`j5hy92SzLcc2qGv}d3PoZNLGj(X8x z7+;64S}a(j4w+*)?Lk91%}36>9wVQjr*Plh|DD-^jlLM+V&A&gA=sMO{8i5eH^FoV zD6E;knq%4JBKCZg=gZYIt%$}*a>yzq=&H?I$-zGn*8A8>JBzoqzkBV^{iS?_XXM%auIwfg~rK4AYAG$Zf13_)4w8ZRJM;ds!v zcw2A3UDd%t*TnD-TS;U`=t1mpPYOTOTDsrD&46bvC!u7jq#X^RE3VI5DyvlpMsqz) z{)qlzM@hs@ua-`}^{3|FuN)1dFt1x%-%ZKPluXh#mZ5=wFTZR=l226J%N8=x%X?sG zkEzk>8`GyCW+?qfDvfm+k`6q&A0NpCSYRmoztaX=vN35Du>axL8My1#r=FT+b!Vix zq^R#((IK;SLB#QtRy$-rMO@#|vlC(ArTiJ0C6FXf-?OW6R8N@}e5x5PYUW5sG1fOT zR=zz(Y1%aK$*Xu%d{vBEqZ)re-^ZTi^kuXpI*Vf&2maeA(BYIBZmQY{x*c)#SXt)_ zj1U;dQW3L_)>*Ig93@$;=)fksj4h!e3Yt;}OQYh%J1UaTt~?yI(`)lJM4SF$;;vBD z)%$5N_h`>^w|L<=r(IC4=XV$%?_1&@@AuA4oXRg-UJB`CkRp~1>9F)@e3M3hLox#k zRd;3|{vp55M8cc$CUQOX>FP4EB-0Ep9YUakd4?S#Z3hfjGnx7E(M&vQrSj^rk%m(! z4${mUr*shgxa63k-z(-oZ^xOLgJQ!k>iqT~HeZ9v;g7_Yj+|J9C-9!T)p(8yopG|s z9AXP&O)GS1&doH#PgL5&!COSO&Y3eC3OCFNE3eCYS$f^6xQBs1m+Ua9dXTH*YSzRfT0<%ezCk-z09g@iJ za?YmT7I{z;rO}_ItD_luKDNeMT85i*f_nqP!AT@*GuN%M@7#wF z&QVo0dFD6wp$i}qkt`W|xLRTPTd2z|t!X8XOyrh)t6hzEm}^-HsKX)X!b@AI89h@* z9y!y|y{*)H=1nT(zxD49wK3jq6vDT~Y$IZ19QNW4tsj|_?LRuDpO#5n>oUyV_s*yH z;%%yH>|`v=mECuz#dB@S@g#=aet1ugBmjpHL8MXg(tukj2UT++;q z&*ks9V|!8A2H_sZ&Q>b$IQfGgVO|Ly-<)=V(gV(uK*3N0er1)QI2)!y0i{jb%SbuZ z-v?4jMZxvqVLS)#J8sAJVy_+Qdh$bkT5A7buut;MKW-FGH6sbMUD0D^$dR#`XA2bC z9t-P#?TPRh&GMsgFq^eUd}AHVTxxh@cEo9^OhR#f-Lq=GwEHg4x{HYM9}Dbb*-?ic zopP_E>zTQ%iFv4jvs`${YjbjDS+k5Dg{pmD2lIYhW+pc{9G$?Cqgb8Mu*K@dtQyE| z+p8$++kch0cQkeI&fQPf;+iCdNvrf^bpbE_R>*xK3pbaB8DH_lSt(G*Rju>zPuRTO z&f?-2&*$PSCy@o=DQ3yp0@IaD<;`JWKj}<2!T{hyXE+&Um7(09kO~em+jh+8*W#rh zRQ?}!f`a>C$2}PKc)h^byJzRf<|KOr>6{u$=2^>kBy_REAWY@xZ-YuwUcwg2E0CaR zjRfV3uJ|>VgSC(A(nEWZ&9z9uwL82*t>9tHC3=6YdG{_(cae+;1hU%6sQ*Z}RZ@)- zhw>WdAZn^c+oXy&9(=-pc|NEl*I!U96>M_|bdbx)=463dAWemZ?2da?so;=wuvjmo zcpk7G%8POaX`})cOt7V2Zo6N;aw_;B2g0Qyttq1w9b-5AiU@dV{1#z|hSgjv$gjD9 zFDu2dud5ycEmH>(0Q&hwVGc*)X)n2U_clYnUrX2g3a88VkEosyusU!xCkEX7;O3=0 zbWLD+!1xuq9O(C{z?v?^O^W#T`gA>-J|X{o=_2 zVvrVzbsa?}qEjU<_~m77YBe&X?3?3wxkQj#HI1kY>DuDn}ys77-?A z5u8dtyjF49mM%!?MXiGF^k!wunf8}e-C4%%!>`ftd~q}ojzm8Gz}Q=nKYjkz!QTV*PSxACawb$>e+_{Tf5+x_zQd%RWq2p+JR)uIkI$z!lce z_BoqXjS?s|4zTXUcZzJvcmb)wW+x>Uk9idyqU(t9j4O9Rk}IOYl-ljRi;l40ppH3) zTxA`i2D`02blwxRai z#HiD>;PuW0E+gYNrhki}jC81>W&4>}=2m0|IXckHg+PuohnOg|<5)G)o(}|>zyjv1 ztmDxID!{?>NT+HOt$`XgaMAjL2~?&W^M!yNTfn+6!zBX*3~;!=WjLH35*-Z*S)N+j z&BX2A|KTs`?JtYxWp%gl9c2~z4&d?M)j`zEYwL=rK;iGK$qtf$8u^O-kZtA!JIMLr z%G$&gR9{-bOvZ32vw<(kB)dV8?<5N^9qww7Mvqx|bbgQCSxwE93R3MSGf4S-8y8Ct z=nMOATa`T$duSuQO#&{(ciPhlQ~63_o+`|N{9PMBl?zh>C>M!Y$+VldDxAX80H_|_ zl6s?#mmO4C=(is;!&kbhSvVG^w~~5eB-Ig!fVY}BvzS`nz?Oo-BRN56Wv(P_0U+1` z{?rotn!=(AFzfV0LNDJ=Dq!rw=gz8pgp+RKK$MvUrzv&GcbdD?I8{S{<2Yp`9-&qu zq{QkaL`?kuR%Dcbi$Q!Lm8HQY7OYBG`7%w+n0g43*t6!Cc73@iUyIt6`{1G(eU z%2o7eC3%FWjUF%5`Q``Bt}hV#)c$_Y;Mxsu9ZA;`*=WdnlcGyxRVDipSq^B8fKp|a z*mXRt-9;9094n}~AI%>~*X4J|6$m(HKLis)8Xi?gL%vN5@trVEC@j};%p)pQrML(K z6{Ym`g5ys4{k_P;oLtK-nA2{a3N}-o0(RP^rjQ_Wb z{%#A@JAy2D$o%NV@?|r%Rt@J`=>1~8IFs}Jes#F_ZpXv#|3^le3wW84a}O=6Rf_l2 zzCz-sn}wn1G^+n1GRJ<80C#-r{V7ZWXSz_oOHW0cxVct*7%oNmiOn+?l+CAIuY0>s zcrWY%TC-2yR2*y_0yylfj4KAX2QIZ_#15IkeBRh983<*9Pcivurwbof6bP6Qoz!kL z>H#EJ1%;Uds)aURd_MX(|1($rDhIR^iH=*&!qt|F59B8U?lrxc1qAF${%r(D1G+ts znz}Ndzw(lQd1;I7_UMMYMTz{C35^Fg?XXJ=Lv*LW+;25Zzc}9uq>-H<~qJtkXxUfhKtqT5?pECR06?k^9lqemFnyo@rTk+)q7WZ6QRx0<7B`Hl`91etIvhUofO^*fOx zrK^E%tKb7Bt+?_`Y550*)KH;IC7B&}gSH5k>A6q;mPb1qqggD)n4%lp@z1Wf`*qBP zdL(P_q1YuzmcX+AA`p(9XN&(Z{A(HBNv5r=JDyHAR z%z;~=8O$dtDrcMGXn_o=NcH=3#i@X>R?{0eMiTIN;5V}XO88p3%U`VDBxJRl#}`v{ zPf>DfF+%)Mw)qcxX-@9%GnKl8)p1gplQqNdgV!uami5-dHg}0j$qDH_;&L_g`km12 z?v?qGm5Sb672dmZKi{2B1=FnfG{~my0OXs=`4G2)`t-=-u|@i1cNtc3PHVBJmw62d z6yBQ^v0Qq!Ew4!yE&G$Z1iM_OH=>s2AlC?y=o}$ zJeeUwjILOYu5U-3b|F$D3v993Hwd|h24U}qg2j5}?BDaJ#%CRiC`hY7Yerf%d%i5+ z1+`PyXJYxIzsp6d9gf!K`){^ob(wF?AKLI6d;nRB)D33&;2=XlgQ$k_a@O%h$-zT@ zXg@zOE(6IF>Un+HRe8&Yyf!qQm zlrPt2d}z{KQOoknCegC@v#k#zvksE4a8^|zWK_-Jm~v*8(e%at_U^nRsfq9v=s^5F zS2CFy<3%@4#Jlz7p2KD%e;?j%WL|O>TpO>P`&ir>SCkZ3R`j+&Gb}%e%XsJAAgh{b zNt!yu#6p8(?XB|ze-!A`keyiE4;e-}0dnzdITG1Y%mfExF$F`i($r4ZiL5;|CV5g2 zD43UtgIy<+vgn(bS7 z(ns?-MWa>)vFrLCG0=Rzs)CyS+uWL>IZfpC<*u4tkY#k1pGnsD>6?m-!4v{>Ym?6`_0xc`b zuNdH52g$@;@cy(b=ypEG5t$L6WfVO}@rNh$g7rFlg#xRQeq}NodQeTVm!RoV6_$Kj zZ<(ji5A2pb{J#ME4g~QZ0pJD2-O}f52^9cGxg0KW^4{3ycqMhOux*ChYx7>Uq<`34&k@C0<|g>}#d zEzS`spaY@OfE$nnD-ePRxOaU27Z0F%53mNS$NH<+`mD$LQ1F0IxcX2y<<#hUs`vV> zM|-Z{daT#Ys<{U%xBxUXfNi*dB5;JUrwMCtgD|*&M_7@BS%l~+YpI7BK1hK>aDyk{ z0d?qw3t)nEScG-3f{n@Ae+PD4N$Nk*b{oUvN-uM0A2mas}{^2M7;y3=|NB-nj{^e(W)}IDA zc!LHA00l^e6q*JFH~j3{v;#fla$V$7)Vp^*S@ z4g^4Ba3jf*6OjZ^zyOKFJPZHP-*i310YFPbYV&nN6H2sS2ReXbu8I~M$4j2s}^DmszziUc(XI%*|iPpnv{`L zfy5dsl2%ZNgF~J{FlRZ`doYj7U;h6FH%M?3}qokI8} z#ef3rF~rXs0mz4hYzi0w%R~67@r;s5) zL`58L+DYgT5-MQHK!k=gM4^5cvX-Wr2`vFgP6u%?8-xt4VHq$jSQS82Rrz=jENG-O zic1UTP$6&#tuY8l*CCox04Mm=MO6O{tiZqlfHvk)4GOKX*QO8|@{vkp&ewpV%)QW& zS2N9)l#iMOQ0R;cEnyXRsip){Qo9Dg=s{~(dcdbY8u12A3MiTbpbQ9jPz(()kV*`u zw7Q^yY$${)O}y^vD*&y0WCRW^?A7dfIPC=&bwfRb)Lx`cge!cW0Rf113Y4dOoIzZMaH%?15F>)LIXe?&@oj3Y~5%|ZNGg$<^<(&z@Z4i z@(BklT-^LCd3GU3fvB6W19JegnANL1AGGTH8oHrED~XiS4!s)66nexo%+bI z5&{fk9pHYon+?z|20Z@&ln)IZLU0Dhs#r|46*;3dR0 z2Kp6MRLGDP8jDo_p$2@^5D}jgP*=-4Nvi@E5e~=%5IL;D0eFaz0{Rbt2+3a_s<#(0 z)^IjPTu2vkkb?$@&=9Rc1N;z$lLoBtAi!uC0J$=d|KU$hV#5JkmH?4XF<^}fLE;P7 z=SZ@w0ZRcWT0(qywGXXog;c788q~Xn^M&vN)XRDkU+vr9xoQ zMFlvHB6%PUEz$Ou;H3wYkE>KC5%PjA=D=LVf=@nW^37Jg2#fCXT+FO85Cxzimr+53 z0*aZ?M?LPDeuI@)MCcGBSml`nljb|C`N*5{1;xB)_?}QtZN4-XhX_&K%62MEj4h|8!Oty(xhatI^0$I070bav?_hPQ$Ue6Ns!km zO;OijfcyTskmXwRYg|c^MEVL6ewLzTi3=KhXa|uK?1c?0Ktl^$8XJ91q=51Z8bOHr zD@!T%AnB0_S`DYWsrHq-6It&H(&rFhtU(5K^wTzTVBsJJWw>ZmumWlkF;WQ)5C*Pc zR1Oe4E+!>?Zx~3C_{Nu{QOdpzAtZbGY6>98CnCpOQ2H!dBodqhT2)KP3jiS#3B|xz zI!^yCl{cc<2B1N@3rT2)5CSVpeeEDf_)F@%>`b5m0AiQB4}grYlO5>gEdvo@UuP48 zxpbkh6Dz1c%a+Q|6{w5+Qjc+f*(YT}^iW+$!tbJ2fq~e>zSC%dN^r=+oVCtJbsB^M zvKPB;0)hmjYDEhGQ9*?0HUMlWHE`6R3HYp_pvtVYkAQ*cl3_9>VP;DMa=-u?REZzk zoDF6hq6x5+W?P=IE`t+tggg+$cmPDgQp?ss6||L=3PFjbpz%eotl(@{2w9l{Fp4C= zM*%(}fxQl}YlNVJ(x&c`xs$*odKcD#+pdYXiZz?K!Pz6iI>@a5RqI>lu*wQwh#LPC zKpMy%GgjC<*+2qdU)Qu0Ay;sd#TTMEn(z!E`0e6vA@l+cj58q|0L!Y-HJOT|Rh(j4 zV1)|Qs$8Au-S_bf$!$Vjm8_o$_KgH@mWJnydvOCHs9A#H2(L#8*e)*TqS`r2kF<^;|gV zwSt$@qyCYMenU}H@A}unKK8PoJ?#}!DFtY`_PXCa?|bk2->KKHxt{qKXHDKA(8ZaOL z9D!xbj8Emuh>%|w(HQzc#1W8R#m(KHg7BL$KCzT)PTjVSPH2a z9Y~;ot{|Xi@CpNjT$zv=ub@lASV|7~ms#vUwG|jcj7zJ~ge&k$Kuy@h%*HD53$`!> z2dvTsmQ4TvO$s)Qda$5pkdtZwQx_&u0~o;(o?sigVQ6^Qi2xA?-~#_J$(9E#$K^!? zFjz$l=wU|eQ9=A*(9i_ulnvcs9Y`EXWf)Kkz)M4z9oF^QBEG>nxKAED;z2;0D+tv? zbU~h2+#J>+#bB4Cu)(mb!P9g_vAtm{y5d-{NKydZ`M3`jLPQrNg)2(> zQc9p1<=7t%bWKw18e>q!VrioL(VIg6-U%%Po+O30z(Rdc#482BEGA7YCd3YK02{oO z5v)KC3B;~G)~2BpM` ztz$~6WJKU%OdMSoxx)2~UP64Nc68!H)MO6mUrFjoP%Q*1SPyg1N2Sc5tnn2~~hZ3$S8KssvmpKuoqkQRWq|00EY?041$tS(+szB7tj&VM;t5 zgiK&Ia1Q>ZUqf6$B?Jj8n#Dvs8`7m;Lcu{D)!6~e<>#o=GH%2U$Q(#8qY-$;Z-vJZ zd=hDVj6$@6THc)dx#dGRoulxehMnbSf@W+~$_)8eDpJ!SHpF-Y7G8=+Qp_0qoW)zX zrbk(r8Ze0hY#0vUAICUU-zjB7r~w-Y33u%pW1gXl zX2*~V0x|&IH3Smq*3&guXo9CJ%42PbnUJg)-;okoLc}zHgt3sI8aRs79l#LWZdD4s^idP$wF^BSY9`P>jrMbWj%vO=xKXYfeNds0VZ?%_S`a5}0R2 zc!XDwV0e0H_+7!%rNk|v3{NSL)tqQVL|Frz!-pxv=~Yi-S(xltiUPEgVUU@D{Ds); zi&OyHMtDpB{AfgA&?lI}Zvwy-^wmJj!;FMzQUC&pc7&V6%_h}PfYJ)w1;B`XXqSQ? zeZ++r{uWh+mWAP0QlP;fI>d7A3O!cDnL-PfYG$!e5M9SO3KZ6aEOl4_PyRO_@bA3D)uD-p30Y= z2wForONJn+L-bWtq^d=$PHQwrcCPa%;DG>$ieyxQgqzl54q|Yxe~N F06W7>Z2K5Q8NL4LB`|IX+y;FC09O?UgJNwIK} zceV0xhPc2~A{wI7{89`wM0Rd5AMOg)2UIl&`83jQZkcf;t2*j@-qA33lu8Ip3X5nH5`G>dt z6Yu}viu|v*U^#b)1+#-*NCX`0q%9 zxIBfA`%|1e3h$x<0QB-I@-lkfKYyEI7^WZ|gJuJcXo7KNQirspdpgNmyyU)D8`-cs zI6yvSq}XJvF{|8#P+Ge^>dHbtj!!mo@hjy^@Plv6) z)Ji}X2E>T0emcDuIs9ZOqwCY$@cr)RWOK!8m?8zG(le6!SoDE7Vw;y1f0FHX$cJ4Q zHi7e93s`!LLi8ThH3)M#HDt0%eVhxwpj*SBwQ-e~hy1jMQg4xEKqEr7Js?b3U2`Fd z(00FN5`2m;l;V#O&*YczX9X7ksiMDZKKNeu#!eSSaA_4_mV11)7ow}04E{*x9Is{@ za8I`k=O}W?+Bc3x9wvbnM4v8*Vim{t;+ zYyUYyB@MXg@tLvyEa$yJ1>!fy*z>^L+Bp5@(m$h--sq^Y?AgZd6oWjywo7AvK9!)L zWQ;xs(~Z?_X`$>ds&*_^8DQJJn4|&)dNsp$;UedyFZW3tvz9mP8}4C%TO5QGu>M(y zbTB3o*W=yrz&8v6+M8L5x|rFqKNby*lnkgxqf2Os@mk-pUX&$csP8E^Tncygz@WStvnOc=R&@zOwjn*l3|g|do2=z8148d#_;rjPR>OHL*%iG zfBdmS_J^T^Y5fxyF#l*D3AA3=pJmJBk+(abnIXMM&8&4hfA(~DTB}=}Q=DvU9GoR!Fej1FN6X#kn#hj0h9oeGXn+~=8)nvBVbm5GZrayF*x1x1c9WF<;(DXZ#Hxo+NjSgS2%>Wul)%2Q7a_6>MMfQGji%oc(^>Xy?NJe6Y}s| zOLFdYzG9IVM5UNjJO5nlAvo;jCT(TWEs1{cVn#>ctJ#8Pvi8H5X^vx_Jv7NsJ?5Me$~6gp)%2VRD-Qn{+pA0 zGxS5}d*UDsd63BmWVwu_OM^;HyL!rD4s`m;sh=5ZwHKgVF*1C~A7^*(Tnzg*1RTj~ zKQ;ci7twmu^#xWL45JVw0vvTKrY+rb+saZ$mf}|_@=y>sY_BIV`Upw*D9p!0gVtdN z?`uzfPx9&w$-UtNUh%P~I#fCx_1x}>iWJj``M7g77uHr~C>AMXUfnLGKj-xjQb`n) zt)v)K9R6I+it2TyOcUO$n$5(uy(i3daZKNm?n`VzQNrDuETl_g#q)2xPL|n2e z5{`u-s{Y(IgV0Za_EvrH#|jSR5~&uyY_?1HHyS!AXza=pxVMSWw0(KNM_Kp-HV>)c zjItRC7uEHQf2r!C`l=ut-!jCx{3g)lv*|`{4gmT?U;mF;ZtgDa%XD*SCW%2DTEo(+ zgJ9deQMF>(LbJ1rk;->a5zWs6_zVacuoc2WKBohou?q_T9*^@4Vo877@$mf8Qw{gb z8Uu;Odyb)Lnax4#YBST{VcEt)AGC z&yreMEz#PBSk_x0rZF;d3SM*R0HgA9^F{8{e_-^Yk)x4l*6 z$(`>~dI-ZrGb(PmXU66LjyJO8xa-d(6`0^Nc z9_xDcnj>1O=!qx)eaMTcn6&YZ!964kB>X{96wE>$4MLK>9S5t$=jAeGOtMHOFQ9Jz z%-6?BJk=*er^v6rzO&^MgiSjf#NnL?)xAbT^1qPOT%q>&<7m~hzat-JPF`MHu+yPA}Sf5l> zi-0)vV-)F>`SYfsF5@Bebajy;9k3BSQP?NKk$FM9l%ZkLq7Wmj)7n>Y#X3p;`I(U_ z)(Y}THgC;Mord>~H5O7cbLrMyzX4!h`jtY1JrG_tmzF!+4txy=u9^=-WOXI!uD z($urk;Ki>)F>Xri-#VGx!Ef_M4(m=!ArhHrMg%o}SXeUqGmj074_l)T`Ltn!3`pIB zgwzwHV+T^rWGx1@URoukVvJJ0B>v}DkyzNR9d!zB$CENBH?BL=^?lcS7-W69}9;av*1tZ3M_H-?UFbr7?N)rGJQ|)|k-}K~-<^bDs`f|Of z4%}xb<;cX)CgbY9pLw%9ubbH$gg^2@+#~LT?szTxD+IOCi?o>=yoZX?G2K{O;kVzq ziHKe@CoQ$&kSk?(d%u+*CZmhk3V4`jWbLUq*vPw_Ei(#Fig<(Wu(BY%Js>J=#OD;f z^n+C?doxI@I8!605EaQN?K}PU79ogmX3+a^2UuKl&-4YA5-xJ~d< z?XW_&0>#RDjK|MA0se^@2=o351eHpnd?fp~;sm5!ET_gX=@$oj&hXx)PFl53qqlnJ zhb@~oa_uaX8Z>tw#{#w<=D~E*XK#?ucXMt!_+CV8YN$m|I5!eyJ*S(pk)N zjE$4MAx%{kza$;W8Cm~mGdj2jiG*T#_+1K9RtaZfUfz-M!5Gd+Ki6yVw_DA<1w}KI zafdG|rP_k9?*)o@)2gtDwWE`)jv@!u?`wK<+s~(^*(F2))#&C4bO&+!1c%ox=PGO2 z2g*{TxYJKL6VXyG*UB%KTrZyxI@|AC)#Im`0`2&-zq*k*!5l@}#)w! zC_P5cWqWzps0cBrU2B-}`RHtMo-{aGJ{>U{LMMfiG*3!o7Q61#;~aOk00V1WVJ!RT z;w*qfHFHM)xOlEpl%i=eT*VAfn>u`6wmL0Rl0h5KYsb90Ba%T>C`8Mx1pOIZu&lqL z%{2yq#CcBwzm@abM&xz7(TTGNHzOsRYw7f?#8RFt$A=&xd71eIQ>3s7^m+|EApcHy z6KfmSQMAz79iO2_C=VElQ;Z`#M?wj%|4mr?J@i*?M*)hmN;6 zkg+YOSO@<`j_d6uCglXDF{sv?3rd=(SpEI&SNXni%VX>!5TN0Ss;?+jMn`g znbY!c>2!?@N*65j8mtNjd})oeN=FDiC6v^jpeO{Y#QG=36<^+EV0QE0fQxJrEJa}uI?)1Dbp~K3$VmnKg0^}j-X8i%R0}{ z{*-u^Bu~oafGvYH%~;0H%U%-UIlM<3Lmt=75_@&Zkk4+`{6afcHs^yi-c4e^z&Siq z-5<;|i16R{eRV$>kW@BZOjbLn2BHmMym$^`EwVE626yvsJ`EnF&{_yl z$xi6SetYq13H9m5naaj=2LF2Pz}F5OlVwX{BJ5Nk?ZYSn6D}h+0GvIH*?Nv`W}ZedL5g3-}%rNPj%y=_3-5@ zXBkW0A$peLomSm)o!GMv#@aii15LqS$u+ZisqT!{Eik3ttcb;3P&Z&lM=f$PO-ISo zr!zCPdhfblg-56L=1{-L3kyS~Jz8!WUKV-{+L68^36hFc%aI?MU3)Wk@B+k|Q`wLH@g>O)Yz#xQ9^y@9)Sd=d&S z3&HztUUmU<&@;V4LgH@1*emlCEgCNWvYQb!0XfDwLFJiE!_St1@GP zvbA9$pkPHY;hE&emzkaLEovR2NS71g=w+9kP10JO@@HSD+1`rhOCsw(%Ux(#_+qsk zN>KW;)$OsTk9o79-kdx4%G>CI(W81g$rD&*ct08jZAk$N+7--$$ zW+~pSp0?E6tXQ)l=tvsTfrR&zIcj+Rev2$A-E_MMyVps7fXD5AYJV%CCSgC!K*+xS z7P{rrB~jO$JKGl77u-GhAwM|sbis3(g+}T??R8h)$W)&Mzr)24O@iYLx2VtFIitC* z1*izQ@$@tD9nDBx(49#2X3RWPqdL-L5>fiLNNGlt2LRq(w8bm0ig{1EwKE|dl#*`l zkKvnWnCjZ%ZTb0RuQj0qzPg@BAbA~gOwe}w$xaU5B7E9@Av$vO$!`^INxvg7(cqDUvpXhO~9B=4Hi^R{ETg_rNGI_2{S!ikI$N^j=^ojH`J0Zr0{Z7 zQi!e6*`%(L!zg~Pl>%btYGTth)FSX9rusO&hBcL%PP=^I6xTh|{MFt0Y3UV+JF_dAH;bv_bCGVgKe#iecJ}F zqtnpMqFW_F*ONt_swFyc$ZjV{-#8J`5e|%~vz>lerg1bzBa+O2XopCvosE zaHO8oD%lnbDLkY}4VF{NuQT%&_WVk?n|Qc&IN$`DL zOY&dm-AgAlb&guu={4>xu(DqVI&w=LAGLhw6qpvbf+rA%q55Z_Yd{;+<6Z;A?LzjV}ojsO({!^Plb5a(|}Z7gcmqd!ZeCd*a0IF~PQr!5ytPUOs+=bScwMG3L9@k-xMh2m{(e8uOf zL_?tj>|N09Rw>Y~al4FHoQIRKl9fR(-*Da749B)yg$Q&UDgi-Zo=0CGi#wBQ9UbDs z;$uJP8AZlMM+LbAFWv&LvEPO5(Zvyenoa$|xFg|BDtWoi0?>*eoW6ABghb_vLCHxB zD=^~8BXH9@oZgIX=?}xYUGJmpHfT{qLB9@jK8T7y`uvIvGl@Xgq8FnChhGFu+d;`s z3ANGBCOOb;meb^+n|?BSWBEmxaMMVhXV}>ArMDp35Q(2pu*0vB`=~sjKLAJL1EYt^ zSw*f+|IIz=aM=@N+|WLy_yE}MDZ)ac&)11&u6rf*lX@nj;Z1<5Lxq=yr$%JCmKG8F z#;MbOh`tKw!~59BRs+%F>^)mR);Rpf=lp5xm&bdQJCg!gB~J^Y#Zwt)v1lx_+LOgt zKzaYlmw0HKp=5azO$aSXxhd4_U2}*14^^tpU4F3G6iN!)gMJn&Gkq4ZYqKErbwJhe z(pznWD1M0!Q*3NB6{?kH(5scNmb{jHS-*o;nuCM@MyOhNwaDLLZIO9zvXhc@nN?14 zjdL_^R(twBF8Tc#o!Pzc>>#R%3k{c~5_a$|qOQnS=bvCF4{6C7ByI?3c79)U%UtNr zF;w0y4!zJEe;#ERY{x3ilPIs_hPW&tly z|2VPv**X9{oi5{J`rO53j+p7M$CLc57kvO5R%DvcFc+^fjQq9!Ul+W;pK)2~ z751Tb zrT22@wa4%GFZWQ;0oV=?Q#h&l+&wbR>{nChD5<-W_1PZFw|Y;?^*`8s`_MlzR#m}8 z+$rHJSnIQoQ&q8(r$bA_p-t9{T)Tj_bbG)Pu~D8p>1u0RnkfMt=y+2&^Mx90x5}QN zoQ!kC{eF)cCY_wJiywm7jUzMvb>+|99_euV1vZYvsk{HU6n?jCiMUg|VFm_fE54TC z%dqx85_-%$>?%6&BTR7k0cn?*r>PH%Q-^m&{KIMuCTbg!YND*U?$hp|5}2Rs!$STV zG8ZJCDi_Pw?_4vn9BTV2^7FI<>Xw)=n8J$ZqJ(B~U*6XCx(9p+lEA4qpYF{EeRA`b zy%K2cJtDajd)g-GlfJ0b!ZJTwY9Y(?P-Ey>_IS^fr5#%Aqn?$MtT>Vv069Ckq-a2!c4-HWFY;M!8AKODs=^^nt zI>u5#4~uNF{xyPKiL)7HxQ(tB_NsGJe32z$0GCZv|gx_1;GPHb$t2fE#A2*T%2Fx3XB_3L6)+r&fwXqR;YWi#@rR5!cn%dof zlcCK0vOhTZ?Y_8ZqT3shUT&MBh^p06M{B#g{a5e`WTmgwfY|wan2J6&|9;NN({y&g{Gz(tdjekai>o zXPVs|_sb@{h0!xC|Do}2L&F|}r_{d2KJw3z*Txx_EiW;u1!~@_4hYdH;3etv{U-tSnJp)m@wDYpE(^f zl5_bxPU|3=8~+sPBXNS*^ne1E_!=c!0Z0;JdX0fbj426}-%48a(q6?wfD>$!?dx5& z3{yW54UN!jdYe&jYIZhJFZpq+8Wspw2^AtznSa)UKwN~pWY(RXo)f*$eA>)H3XGuf z6BTxcU{Mn_$QuWLKTv&157Ad3x`?VxW9!ZgB${Ik$xf~qSd^h)Ai~Ff#F{B8V?g{w z2stfxfUdPwKgiO(E6Hhf!tfrpG{RFBD)y*MRdV2CYMLX(96uPpb07k-2L$I##Uueq z)h$9pBwO$K_2{qD0&yI190DKSGNq&vp%NQbiajR}jdDVqqw`ZEwZm)Fs zRPv0#SP9rwjAf zK?!^=>^mKmNh9UJ*6S42I$;`QzAXSL%!Jk*b-)!+w|5YVDTQ_f$|;Z=j*B)G&v?93Fcun}IDB=Qb$}&b;CaASEtZ_VJXNNBv&K zG*Z}>Dd9B`vs1;4XBOSfvs&>qLi|gulkvk!a`g^FL6#PoiG+={fByE)p87azd}b^6 zMlV#lM7iir0;Q+l&Ye~=Kp@QrJ|rAUn6TC`d?~!N@)N9 literal 0 HcmV?d00001 diff --git a/html5/verto/video_demo/img/logo_big.png b/html5/verto/video_demo/img/logo_big.png new file mode 100644 index 0000000000000000000000000000000000000000..99184e956571c3d01e32a4cc254535e3ec761d68 GIT binary patch literal 70654 zcmeFYb#Ps~(l5A;F~k&8VvZfh%*@Qp%naMi%uF#eGds4onJH#wj2$z@%=X*4_ndFe z%-r|Asrh4SYHD^#wWO_9t0lEszwTNqTwYcT2>}NI001CKhzlzM0PwW{05m5YEC2v; zkoK?zZusORqVA+*YwF}`;9vp}Ft#-`A(8+Zn3*V=7#O?T51ViU08qvj%IZ$)GSZwz zwm@2gKQy#%Ks#`60Dzm%&CbBc%EXDt(8SEbhKKmPt&5n*!kC9xjYWoD#!kq@+(O*L z!9>YJR@unI%80|5n2(o;+l>><0BGW5K;#CrwsGWi<01YRUruoO&);;!ME@djvf?5B zw@~Ub@&irH>tII5z`?;mN6$#d$VdaGpmB7! zaWZhDv2i5%n}e{4qmhG!os)&F4bdNt28OoIPCUe5N&h_spq-4&e=)Xk{A;1WOGf8r zU`NM5OHT&`{+ZXms2!aYP5w7A{v)-cvb&uLouY}Ot+Rs>ct1=@{_YH3yZ?TmKZIau zIOQBHz?))VEo^J#3^cKEk`U%02Di`}TNrb4&@-^GGm6r)3$qD{FflL)FbgxY3$ZY= zvxy2avIw#N&Er4zWe@<aGK(^?v(O7OGBW?&SHi~8$-u_Q z%TQX-rUy7*3sP7jz~y}g-Ff9#@N=?@z3V` zd#=JJ4i+vZ#-a|kK%#%GE~mwR9Q}Va>wot({=c(gbYNlV{;0-3RORo#!20*6_+N?- zuKd^0F|h%k7YFdcIDP~U10Yc8C4>c(-BwPr(sUSHLvBZGlVJx1PW;=h*OJ~ zT(Ukt{U&wy-8-E)dp6yB(tnJ1+B`cs8EfiVPFt@kvPcI2g8E@FAOJ+H06;%1z;6iv zK*a?B459uHHGb=Vwt;JaFr>dJ|EdA%{>A2hU;D!bO!-&aUrdQ8J#=iIe;sfp45%K8 zK#?D(znb0jLs;VT|1dn}$5GcPNgL}@Ae)JW8qrs&J-n&+WHtg3e_}I;FdKkZX z%=Zd1v%IvF6qoHE40alUa1aN=t2y8Mf+f_IsIqUtOicEyvk%c2^N0W-T%w5Z_kWFk z!GPem|HvH{b;1hb{&wjnSt9vkMm1?L<@r=IDF*%!=|t&J^##f`n22>2RyF8cxm83z ztypmMyLqQ6uFpp0%-M(0BlBAgbop1@gg4tzDTH5EXyS}()dyKHom%LWjUF3cWY(L@ zf(BomK@-HsFC+SCp26A5M^C&#f~c$C6I3DW@BMAOhwen*CqGEvGrSfF zrrl;xH<($*Kg5Om2EOaWZ%{&R(lJT7-|2sWbH%v?CDrcD4Z#;;6)$-i5q%dWxVpyg zIQJ$U1=c3D$E_HC#Du9GN~83^6psp{S@;1#{%0Y6Ak_uyQOt_tC|3!s2si`!_vkvZ z5ou7qE?Vfyv}UBR{hID{O}P9`Jw5^qj7h^)=EV5vvxwkTlJtB-BhTcYqQ*wn*`(r8 z5;ex`ITJb#0n_;ESS%1b=O3j$aGNN3?x;&O_hYhru3%=LavgiRlPmg2i>Fikt)tZV zl6$i1f-C+DcE(bt{2@V~Nee)F9ZiJn;#X2e)jQ>dMG^tKI^~HSN*&2rfL;MBY4pDK zj~TU|0eUz3;JGkS{EMIg=MEEc%pK2KA)iFI_lCF9{ zVw2$XcpPX6I9^I4#gTNRy)M+nJ|hOT-PbHIWK(l5@GRb;;RYOsT#<@7TEz#4QVou^ zpBqw9HlDmSmBj+9gbzJN-Wh7?evT=1>ezo$NG^;OAsA-ZBBo}vg1L*JHDmV^eex2C z<}MC78|~CAYwMJQ5wJGMKUc!b@8QC1u1F{t_Z02m0Xd2EnS3p?Np9Z=@%iurIlrdX zJZ`n{$YDdEA2z=AtBNp6O{o*Zz$vpP)B3Gl%#F=-{OF8P7)|9FOn}woCOeG=g-$u; zWjbwhG|ExDkTsla`j!)=r-!(8CKi$FY{DX~md-piPz>CFz$0-%HqZyOt{ zAc~JXJcF(wS(moyOICX-iqDvpI1{!$b*DgIoBlB>p!TX!E;M_fx;@;b)gogSQ19;j z8_qCc5+{O41M}haTo$s6pzIe&5phBlJ88decrUnre8;R%l){4O35`-UMy_DZs~swj zZ3e-@A$Os|iO5f~s>JDf%Q#HJ!AT@#HV2*=x@I-42l{x)CRi(PfCRrXZ}{;N#T#J4#*k%?l{Ys~0vPCGtBM=Iu=mak%gR7@Yj z+`pfn(~Oi;_BeapnJ;8jHoY*JxX>j5_(ZJX##MytK)=N4ur`zqB~x?;AknmOW{&R- z@iBLA^9Jw=;VOSO#G$K7xu?NR6t+?51W4b(1!AjsWF>?sEx1q+UhMvIgdSo6(YpzW z^X?Jz!YbzLN-(xU)(OCUQ{)R3pjGK|5&@p0^qUTPOkQf;EYI%xh0*Cuq5GfvQVQ5q zZ))#mEZur0E{5WX*~W@}WtruE?~$lRS48sD*^BlaiVvloXgmRarVM3!w8f3^Y{nPf zxx-%vt+@01laRQj!`>yGNWusFKfNY)R4nN7XbD%LpcOY5jufp!sZO@%%ggB@Ip%8L z_NhekW?aun5SA*sl2)K!N|?S5BM=Cd$AV~Jl4Y>}_h!OTKs zE!bL^D74RCwyVkR$rz6a(X`~(W%F4IL*}SI8xUj!!O8?f7KSVZe9K4_yF{%LF!1Wy zBFtZ6P7%f_Quq|U081WhH*l*a60JQGi2e=dK-_Afm$Ot#a6nbWD22Gey%5$(U{vU+ z)O;b)w22-1dCw}LN4=zsA_rpDIf8OPfR$pJA&|19<2|&aBgAV>Hf$_vY5*Q- zvrdHANetx+|)_mZ$qr&Cfm zY+aZXa2P_x$=sk@M4oCaqr~aIXLY~Yf?a+imJPkmQm3-bxxKd#x79MZP>-H<4gz|U z7t-A|___vN3t#mpeeP$4rr3b-kP_$9GkO?G=Bb9rX{jRl<;}DImXN*JLdmz1uqfB? zT`TQJz%y;t?(!gO*^D>dA@*q}Ps$YUJQ{*0;c?~SvkzR^=@1vm?qNRRm~7_i2B(bG zLpV)JC+8yBmqv^tcj`W)tj6)p{tfZCdAc&oXEa>+61Az6^@ZRdlSXP=97Db~r|x+P zHn}Qg{XDT9jK1B z&#&tru4Fl1OJ$zkyWlGx#(w%WYa9%Xrj?Ag^3e_0@BCIsvvrPi_>H6YBUOTObrL$6 zoHwWR+2%tR?|E3rjUM{fw=?!9v0hM@uys(fc);W9vwLZ z?;}YIBU~Zebn`~*m}{C+`nSA~eRxImPBRcNpVTAxq7Kw)#iHohG|wbawa~F_DPrm3 zU!F|*B)#bFXYC*^>>5uyPtFD{MoqHL)h9GnDxAhJg#A))@r54xjZqh!AjO4H z%i6pgZ?z$H;h>@Tr3TnPDs>VbPh3G$%&1 zzu6Ksk!)9{9L_!nTJI#U_T{IgF`mU|>yVto+XR{$;j-N!lM@)lMRNya_)PqKK_HC) zdIY5VSl3WjT6(Y-`hHs_Pls5@vmohk8H=ZCq4a2=tak2hGUVq!0%PG!XtU&GKt1eRz%aZF%%&sVb?Eer?jE;3AqifY@kxKn7ApkU-d2# zuG-T8IJ1ioc}cD{NXdqV+e5Qm3uogcxJuRZQANpcRLBmYeuvPR#XEG1cGrixUv;U5 zN!8;;S7D#;$LRs`us8Ei>8ZXc_OG~UH5+WlD-vgs!r*MuJN;Ddr3lM3wJRWociQ0R z0Jab(pO_yxh=(2}SXPoYDjFKTcUkhC>_ z%BteNRz8YVLDSLzlFtU*_K>EuF%{ajD0A*#Yz!^PsvNdUbS}r1tn%rlKamskgW6VH z+=T_XI(r%QRzJ7wV+#k2bH`q(n3Yvsy`U;)JghSYAYKv3JqRZ*4Z7r2QAPz{S<$|I z&qmZPW1~twe9p2aIE`B+6Lh}1V%p=t{~C*i>$m1c1b5=^tXezl!Va{y|8z9(Stbl< zO(ueO_^`^BRb5ylXemytIVxj)*Q_0%BvpC(IzoXTYaIq;ZS+3b7*a|$%W(mrx)orvuLkB zc9hZU*(bKb`%C4WHwB(vwX4XnKjNl*{-d1n!?isg-}^%ys4(-HE6z|<$ta@;il)=@ z60t(XioK(=Z>mX`=@1psq2*_R;sjxdC<)$|ZZmzHe0Vd#t7a^N$wZ72HP9U;AN5EwW3=nj^oY!xDQ>-*B)0)eQ$0p*Xj;mVd z$r*=Xr{ew2n@IwRpj}34f8hU!b0R$;6BSLgv&V`pm2JZ}+9j4&Zf zSCNc>*Vee~PjyoviR_nKH^*FQEg!Ipcd}g z_-w08cX*Yry!5VY)_g1iUiSOeQC=6dsZ$(1x-Gh|3R{+mSOeq@|Gpjnc`t&?|8?R1 zyYP=Y7kvNz^UnQu`JdM=xC{mi|4RIC&uW0%Gj7rN?@>^8NQ=67kl#npP?_-<2x`UO zKfXg~CjY{ZDi28jK`ch}5laS|_@_Lvesj3rU?nQ5JQiuZvjBrVgF}U|`g=Gy2Wp4S z#e1w-C>h&H=}Bo7R~7Hcg!aR%<+Jqi^NQ+673Ui@p}xL8O$b2uH*x>~5*Ogt4URQ3Y^@1BV>`&R~*%lNG~*W1C=1^(Xs-qYQs#etjswpN#q^n(-ic=7ziv?o zm25seol!4p$gzdht@9gHg#gfZ`(i*&K88!JptkhY>#wK&^y&mP;ZvP$ z>l%FLdFaVuTO=3bXq2@HTa`8eZKcFmT=oLf)%w7EAIddBd&OsQr#^_6^?FTQPnJfU zpu0u$4j&HB^DK_r>TYiQX$CoW9^G%btlWN!vNyK#7ZZ5cu7^+Us!gj|czWDKyWJq8 zoVN}0E%uQkRdFubMGUHwsjGC21o!M!hRsRj-0^beESv1nbkF6%D-9vr2Q|gol}*!_ zL@2E;>WTL#3Jb`5H!i@L37c`=v+l_3*Im-FooofGFCJ6ViBq7;QVS6s%Y;dCsQu)f zqEa2O8xivTx|5qRbBb}{bK*JfO;SL~!*M@~u!E!K>Qrk8h~{bt-zB?Cj9Z&$VCo&D zR?gToG{ylK#GtRaui6(K4&VgeUIZ-WPnd+Ex(c#7xQ}Tn_(pQlXS-(5is=^|o<%(x zL-vrW2x_eyIe{7%QB&T5(4AeUnXBwu8xEpqAb!uf*fU?KWaIxXSR zHae-yD$AFf28p@Abbkn#ra}F)Q%gG zBLv_0clWstBqXZ>(;}R?uj%{Bff=^p3!AeFC>F3^rO1OxUse7L(n6;r3y+`19 zoZnkHqhvth7F@=*uXH*1rhhdE*h*gPNe|>DH(E;h6yBhdmlIHg;{?rGe!_(hVUrP1 z%%xn{IxFg-Njs*B=SWwxydj8j5b&YcU4$5@wj}1;n~o24V<$F*%lCGtm0t9H1Ml~y zuYKm*D(?|pYnTN2j!&2Gho!HW3qH!d?Lc?%UW|UdZ+mcddobY=$w6D!)hEGRhs|-i zR_Q=;#(er!Z2w9}$nRQK-RDx|5JO=pn9#Dtmz{x9%k2oprP{Zf*h}KO;?<=B=oY%> zxT863&$NVat}Hqfm6!)3K~1AjD#q$ZnX1sueLFwb7_xoTx!(fjHsv94jWmSNl}!UX zWar*2Io~Q=mhC5_HLI;)8Yx!D>h63^giBXCDz&5soF*efuiCu__oUv*d&@Plu9Yww zyJ!E{cnRoxX>CH&op@w&in@S)XQg1Jj!NbU%U>Ymjkj1%Z8gy-kO86@RaLk<*z3jT z8egozY}A)Cd(m1>E@Tl3rEUKR&6wQ0qQiDnfW}$OD27& zkD;f(?labru|UxeEiyH5)=o`@H>t6qbFanYLxx%!SIiSbZO=B5l|F=Qd&ftE3UAXz z5|27_)xDNgLRxH1Am7ZD%e2(4jLJ*!B56@*UF)6&Str8k&6gD6V$2ZQRa0AzP4xJNt8NdGo6W zqb1Kc{h5be#PpQvjr<&|uh;;04r#4ILnv;$brze>#5;vGp%kvi$+eKMjY?ykvY6X? zAX*H;xG1eaX+D$D>x7dPWoqj>7i;H40GyrC24CDSYjo#O)70;su&Z!F$4zf|5QkfC z&9#z9Gn_jhv$11hf286)GKElc*xpL(UsA{!RuO}bVsjE{qa-*qg3}@wb_yv|PFCDw zxLcJv_*Zdj*yzx##g<*AqhPZNiq+&Cd{cSJaMCj7y)8#D>o~56KhJ}cTy=T!4k~>f z^XL+slParPh19~q{Xx8OjVr>FZza`4bksnw*>?KE*%pf{>1QKwmSpqP1?TYKypC)6 z*&j)4H>OxDhE>d)@<`PTmgo>Dm=v%k3jA4BYZ77MOp*OXTF5dQlM>v7 z1mAX6BZQiabr3Hy%kPd=EBPlgf_|`(Tt9WiDIJ~qRJJ}LsgFJ(K0CXhm;OA1qP?^Jr3>rl0XEEd#waN?Ypy?N4!Tzp;*##ym}Du<0=XM6mgtlw``{bT zM`vs3Rw=Fk4TAW|NX~{r(1U+B>`k3OV6q9hW1deF>t~vp6lNVLjuf+mQYqqGota5K z9EgjhIh>X8&9eFyr1#{G&K0%E^kiroR^{*PqdWJQ=2w;At>--wrrQv4TD3>D3`lFF z(2*>AHCvM{0t6w)O^}dSYD&E56#Qk(D+;i`Gus3<`fB-EJmx06z*&l6aCb1CG1s~F z%zEmLF9d$C*3eGf_W6RsR^@l43MFXXNnKIYz9Yp@%QL&rma(OpY1^>EG{BJjx{76a zsX66m!byI7{;AQietQtu%9*jYq~Fn6-VIdd{nb;?f^;tO=svfov|%SYrO`suK3=ih zj#A{MTBQ@Qi1=*UEhfQK-w*qgQ9K+)sw@S@U{}hzE~2`luB+8At`8ILIjdA_X})N&zy?yU&|wUQSM2e*ETwRPHL~7=gUEIAEux|Y; zwa!paN2TfG=bA>(ufIxtd<%{?6*A_D*!Q@~b$Lx&%mD9@3$E@BSs6c`2w(ohkVw*F5xXOM0 zwh)Ul;KgTIg}M~6(!*lXb7iY?V`VpeT;L*Ytn%P97Y+$WpIf_EAh2PS)SvPa4NEPy zY;fA7&_>$qlWBeh5dNrzfzoCL4-M*ZXR^$&{`E+;aeP_ojjrn>));5QKibuNRhi7M zUy;nk*aVH^Y(M9pE}$M5)Te233&V?Cl;H1p+>!8l%&h0@a(kw3Ul!W9+=~Neg?W)m zAfS)S*DwzZeL19P-K~i9c1- z`m9z|b?T}p0Wj@DVg)}%`a8B+5sKGVFE)8|9Sya9KNg6v!t$3yn>#SsAGlvR-)wFc zyt;X!?c!qgypv9^UFbjwX33@WKh(GzDcr}`=!M$HBJIK-8-zmm+ya%4rJ1z(ZIkyP zdz$dQ7oxQ4upWQvVrvc=*kh2__sbwe(Tmn}%q-b$vTNfys)jROv|s@{0)G9?AxQu7 z6#i%4!hdio{z>}3a4P=xJ^noZCjE<}pZ&8Q*u{bwiD~VGy0;ekAVD-j!taJ5fb%6jQTnr7l)DHy% zjXnT1J~eLW_HA+^J;RvL^*k$$D|T`}^Q|SWgX@m3D~;=F{jL2`R8&+M0+8Du^$(Zo zFL&ynp4Z=A*Z`oH9${jWIwhk^gNeSZ)Bx4ZY}`Cl&I|9Rkl%J?5R{>|-gG7Q_$ z;_=@R1Bj9LsU(7)y5^pttV5Q`Y2T*KkWbU6Xpw-Y%3bttm%HV#e%+#%4^z6;?}I&b z%tr?w?$Yvr@&tgR!OznZUhJRnPd}k8NSb($IzafX(D$mX|U-4%LR8YcV6hU2~3)o~j)WYelC|D6pv<4s!MSlgR~-o1i%xIZT|rxK>uw zmGt57^Qt#baX7ohGOPr9ab}4H3W%N?Nr3UkIU6LPaeFOm3}MMRj6d*0eWG9DyCEoz zpvI4#$S1$<1i3_E(3U{^bU2#h@{mMJQTT^CSU@-5#X5hyJI|SUdm?^*KJf z2uh+_0b4Icct6$-J@_9PJ3I89=e6uLVZ82>6zr+M8hQ7p>oAYSoPL_;GdA5yCd<8+dn95PVm zag!l2`6ujZQ!vOkqo*AXCCEkA+zkF3QSI)}A}lVG_*vN|>?UY8;L6~2Qu9eku!~Cu z_+%|y`Azxg*zxTLyZB02H9MM{6<0ZXcQUn~=zt~=;+3-;mm-=xTS;b%ZMvFTrAHMk zYRN}mG6o;N7aKdbn&KE#&DRKODeCj7C9zk^mM10}&but7pg* z)UE2xCpqG6UW$NK{2TYkmE*&h2L9vKM~V4K#S18c>;# zKGh(Dq<+?Tk4aut<#2l?4ZYi~8GBVb!Nhu@(%0;)xr4Nc&)VKRI}&GxN}*YL3{kMV zBsN=WY;LdTh^N6UI@M;H9k})ZuWqBSSuF5C4d9(E;%w{WB7{GU?`R^C8W)RG=T3_y zO4Y@4*8Fe!4db`uxnFCb_kyb(1~{>`l3>Yqk|g;Dw_B(kap`j$KOb!H6x-ptR>?;~;i zt6XX2AsIL91<(gpi92#>nb3QeWBW!wV^L)}AZy*)C_plPum3QmFGd9cXDtsyh0FUU zNxL=czIsuagyQ>iZz@02%rgIEZNq5k0w#=blT0V_A7EY)=ocOv4#@>$J1tC9OhBd1?x*e=#Q&*{vwCi zN(2bA_HzO5)*I08`lg~cUk^Cua|(+$zK^;aD+6D2KWU}P9(TQPj-5kvGD6}i+5YAP zTi%c7<U+V=!D_Ou|rcxft@ewKVQycP@?E0Hg~F&FWcYN zNkH)5YyrUhfNIyiYNHsz3^E^mw$4 zncb)xV$mpdPRd{gH=x!$wd&mNsHpsMWi|Bh>UP@ z6$tMwYfe1rD_Rb&(-)=L)#(WP_~pU20*DP*OX84oYTnCU)^;e&&d)bl}L z*FYb$mo~iR;R0$p!MdnCH%oiFS_?EQ=Uw9U&1@ci4PL|H;VSg7FVZRcNbi@8xISh! za;x*8+y%DiyH2|Hb~+^6`o7VX_pP;hN>=A_=Jg$4Kk+C(iWZS)bx=(W#gb_u=e*7l z7Z6D$=6Zi7$6t@EWt}*$j_k^jEtvHbtcL4)HfBE9#-ypxwC}nRfJ+V5tf6mX_+m z4!z~WGTF(jfG(=@6rF7$E%^=NXpnI+5N0Fsgv51rHN(N$eyrntX-Y^eBHRA`)`@xc zwtHyh^=pBIWit@Q8^KkM zyp9&pD`poV-F+$3bNo-zBpcs%r>2mPF4`-YvJP=pVJhO~=ovC-> zy;1D@@9oFO@lHdxQ|V)qr&ts{(UNiD6`uFYTv5@j!M9wIg8BtKxU*ZJHpRJx5$5Ir z7meV3BfZG@Eq&61jo(vSXrzZDyfi<7;iTZ$Ya^zGomMGEqsyP|SAcms=T0?sBxly@ zqS5fBl?`0wj1<*3vRo|Y8rVt7zeNVZ+n!gcccCpD%z!z)lAf+mV^hLeH=NH}*gcgh zGWV`(^=hrbCO$Ae6KZPr;-pdB1c!*OfiE6c!|jPH8T6F9_GG~Rg&>?23kx^%$4R4C z&EYl<*6lrRRsU$#sCD;Oh~0uSWUUz=HT)KaJ4tuu^#(8uu*P&&%*TkZUhhR!rr6x zO8%9gXIA_a>1x78FeoLI{(7ZwZNJtAOGxX$c4raOpT-l6wW^`n@)t{hU4>pvh`G;y zjy~fxcSBXg>Lq2AAv_Q{d`8EPNqKzfXC=z+GsixqGtKiC9lfAN2biX2X;T%V29`$z zMgQo^fDE$%mepa2&Vp((3VWJ`STZUR3!&9V=H?gY@U~AiL|OB5CcomyHNvsK;(c79 zOUj>q{6JC@^(bNyU%DJU7ZaO|tf$>|Cl=OxJ{MI&TbW5|W%Ml1gvJ z!}~xQnG1XGGZXdOMd#R~5qyv8T5zhFT$%+%+qgixz&=Fm$45y|Wmj?Y!$Ypg(iGTY zW8SoUChwHiFVM1;0P#sr9VaKr1ZaL%Ey=U~Zg%L+D-nF?X8W z_({Sxseo0f)e_Fy_3PR zQnNScU_BZbfaA13dGfNV-}78WaDyf-?AnMM_A%J$vK{yr&QO55xaV3)oxEQ@b>Q+2 z7s^qwGd!R4GmB%oe_rMi;_8b};|&$gIAs|=$dfauYD(T^KQ$v8z^BAq_+gZl&NjZO zfxEIUx%gU8wEZO5R-0>sqy>f#r=F@fbF}gigQw4iPuhdCFHRE%r%+frMvIHGr)Vo4 z20%^SEZ8RO{k6t~sueKY@KnZ`3rWnMeq~sG{Mt@M)cN>}9 z4{o%0s$p)jSaHoC!DN?lqSxAD!xh}uCK?w3;o=lcXa4T*~t*uw3*EY(QMWx&0#%YpZw zV71?g2JTeWjHP%FXnYOx!wvK#l9hoXZMt?lEPlNE* zEVqiJxlq_tJ*t_SfUMv&*V2G)QO{eo0KvHnyUsYqBRf*S*Qq5lZA5G3`SkP&wfDe% zHn)}yw3R!@R2$6f-Yp3<<6RBstU54A;euxU-XIU}z*awa_us?7ax+ z9j{fI&y0o0qua)G)`eWn9~7WMYVlU91ZaEbf4=&}CTnZ)quoXl@55I5Ca==I%{f9Jbn+M%hNqS|PI@ z3L=Y7d9!6gl20jnGs~+N7_T(1ZcR@PMZk8|gz<`+7J>-b;(I0nvt_5f~YUtNHR3b@NusTCw5tp`6yS zXp}s)F6mAnp85woX$@C=6k_N6(n)(nn2N8va9c~2^WNKH2F3(Z3wK)&U9Nii`MDU{ z+s;O##p?^uX!GKUYw5z3YNOe)w4WtCDT+YyRVn<9JUs)Xg8A4-6FUW(W$s!Dclb5J?D}{8PFP?DbjoUoQ^}^K zgn5qKcOFvWY-|^a0ZT_csUP91LF-Kq4>x%{WkcTD>oY@cp?AP@G8ZLtU!^N&Hx(%) zuvvR#KYs|FdR<)PssD{-+xnCu)c(19VEVu<)te}AI0vWr%|``mY2{)leSGpefw#^2 z8*%y7cr2X-i8hURp8(!^GmVAgm!@7ax5*lQ!n?XrNh}HhIY@18?BAsl*wSy^1-+wv z3DYGJ&$Q1ImPwhRWbSR6Ti=^giR?KI6eXNn%+Ez4 z`=mAVX_94{0cxGqugC?VL3sG&UecqO!x()(S?Z^W-xb4II{O;qLE>UEZF@p6Gbav| zd|9jfu*7hq`b@lGh?zQNlGh>s$qyE`@m_k?(PJ%|P5lF$b-~eZ{;gxjbejYeY|qDc z%v_a8hEHtV%x>95{#mnFD!!fjX`ke5HMZAy_gMpKVT)$39i7k0-QK#smKu+cUQeyn z-s-C4j^Vx5CA=oqf|heX@E2rh=6B-R+Sk&k^+j_sHk>otb;2~##3(|V7mK_=6+OP9 zpdjg*m(|jcSQk`FiW0`HV-SMw*$G<1J&*6NbeAiM$1De%6)!!#^5ixS8qRmJnr54|>X? zF9fmZOX5nRE?B3aE^#`^n|mfV`)+1!?=zHU0U2yes%l}Q(34GXn-OE{F;JIUuR;;d zw&bLv%A?Ix&ABL{Lz3TR=5kU1w}?M z;fpS{B1%E!=`8PbepFfAPM^vyf6q@Q7{`Pd`TuPw_CG{y|6dsc{#(xfCaU~5$=|`}fhS*xr8ac>;qpuU zZr7y{2x#bcFam+Zv|(G2;;2=^;2^NJe^}U_LjBhH2XqBNXp+>hewY+bU z@!{d{8h^gH^qc<`1Aa9M0Kmuv$H&1x7;^A-008_D2;kT_03h%8XD0uD^Z$32rCU=` z-goh|&M_(d={~GU_=K=d`+ORZBAog0qAo0B|0;TPl3VN+yyueLaIAv{6=BMsQd2+s ze7ayu+r}Bc2nxFsdG<+m+)fNLnSlmth%SOPbwd#vwuurVY>L>)7Z!RlPq8(IQ@qFg z1~8Yzp?@h`X$u24@ne11sWAc8I6T@r>ODjcZcG4ROF*=i0U^U!NofAq2!MHifJ zlrldJeq7E@O)~h~W2KQdjGR7~osw3GeH;;WZZ~YWB7#SEoBeJ-z6L8fWbx}t*OBMSKZz5GZ zqWoFeWPqQ@qNOV+e4G^VdM9V*+}W3QwEKuYAR3BseEc)!gh9$z1G1M4FEQ13d798fC{7XJIvn!a+PSUiAk}bcFR@-!AE6}uJ-}>T$K%Jn%})ZZDGV=+UG{;Fm3h}||}ZI0`^ zhR01-q_IQQW&K}!jG<}%m zZerXhPB+p1QDT>*c>i6qY^98EA4v%*8iD;VXkQhxmw%##O7>-X(QK1O-g_MKTwUYr zU!{hzaa9iH<6g90-_l^BJgjRkgPK;dJPqqz=2zCwom1E^{Uk(d71V4a?}M1-r_PCK zqYgyyI7Z(d?!wq4F-a~f!w9ANGCSB}4J@uleH5?!nBN_x~ z;+o}oo5#gNl{IDZ3BH6tUbRVxJ`C_%d6DVoo5RbwwcqyQHS*d%)sKFE7YS68d`D$J zF(tA^C^Zxy$)-0!ICAHWCTHF4lVaf!7F~ZNt5&DGaf_5GnN-h=OP$Z?epaGVyZ9~n z^60KLL#?z5WzneH3BmeCZPDG6b_7-=YVp8O(z4?DV}~5&k5dk(y#2cP3kf!3T7sj< z^LabMQO&W|DnoZ^s)~)X#Ik4^k~0F%JJ*Ex%i(?Iwvv7sZG#OKeO3f(<>@|RPy#F^ zvCL9i2{ZGGF~h!78F>*OLF<+*_U5t5%VR@7P>XLH26JQ=Nj6rK%kyB3Z9ph(qu*nl z`SEw|2iDWy<{2Dg{u=Iqxt41T`4JOibSvj^5uy?W&I>6ak`l48GBN6sS0O;f9&b0@ z;nfsXKka%*ckao|mz4D~O1m zI(L4vD=3&hD{PU%_VfsT3t!w6paVD-b&IN;kipFHQ?_S*b2o0Np0SM1Neo%hAnV%l zQSJ9lX|IZ%*P&;0-CvC+w)qxw0bYJCxz`pjBeYP&8})O{3(eSX_WI7`wF;PeagdgV zHI=OuhYVcan!fv{ff+nLg!4IQk?-3$Ha+6=zkp|zIOL{vIuUAkRXzV~FE%vk8CnTh zklQVa=~M(DFH12EiTSRJ_}O*v8o)-4z`gE2rC(?r!!1UnA_5P^?E3u)`1fsL>qY^{9K|8U`|1^?ml|d zXKl9P;z9m~V@Zyggk0L=<3(gROlepVW+u}9Wg7|2Hp0!FHFeH2BMfQpH+KX7$8--;v2AC7Uuw$X4sIM*@_4DVmm?q^+V?yDx8Dq>gC%>~S=?GbHVV$qh1SW}5`hgxEI{o`Y*DGLy zPexb6kDD_;)##7r6lRsc1v8pucbyk@M-WTjB_MECr-@Tni8G%o#08cv`)ua&| zmK?;O0U?FoN-GC0#)=RAg&3yg9ip?2eU;1p)AE)@)WCI++q&`=Ps!%-*-Wl>$rbhZ zVXKA^N)z*k=QWGqCQstqh@ISHYhx9RrQGzGQP``5#3Zvx2tS2YPF(5`2lL>S=Y6!C zS?8-1Y|p`$u-_BzdBAb--uud2waZ$cjjesjkr|m}E5Tgv{4mrlH(;pq*;D-G^liyg(H9I{l-wmarpG&MgEYZ7Fm zjEsCO1pJXk$YiQB_fnTMDg8LuX}6JP0L(u!z8_&MEzIdu>^^<~9UfI~M@EA253?jN zxX22mX8^-{my)E;9!s(vLOg!fPMu@{|EE+TUb!6wq_e&PwIAR$Hxf zF}{eEf-So8Zm)juI+i=1EKa(JKhofFks=`K$Mmv3#tD`p1am(;rp3NZtECMX3nF8h z?@VA0@5ZZ|e-WSjCo z*n97PIKQBMeAOg^WD_j}36ba}dPIqqXwg|+thOv7dMBdy5QOMGR#`22i5jeKbrKS7 zgXo>l@qV6v;`{nOzpne7`O-v-j`i-EXi0E5jE+N&po#1p5BM2?*7b0N>)C80@K629@d8KB2zhge6w3m7- z-yFM5f>h&rdG!nrJ3=fe^i$U{`5#3ORh7fyyN;?t)vK-!9VYAVGMUnK<6Mou7TZ`T z+@l+}aoZdd%yWsO5D3Jl(=rfF)vxtH>Xc|#XOcuChnh<%w?89ohV7neym8kJAy8xT zGm3LfFDiz;0y^u2*3*5gh#Sny6lKf}IH`SZcAnKzcGvNZPQVXX*6;ND+q=Ol4@&+X zoakRSP53F|?|cJx}zO!yttrPuv;3Lh@CrUT_S;gO{EsGjH zreu!a6uGnyE?c<0{T2Ckh1PWB8?$S%nwLpYAB+{qQ&MpfWp(H^#~9TB9S+99clQv- z(~pE!$EGINZuCYr`fU@n*!yS&`r&n-w9c@H6Ls8ir5*1&#FOGl{MLDODO4^bacET zBA%iWKnDACv%n{L?!lrTvrxvL%Y`Qv0<8zovS<-)cB;8_{>DLX7Jfy-b>vK_iB|dC z;E;Rr}Q-Wn&O(<8s z&ju=Vj#(mB#b=gc{cpt7Pws;cT9I=c`TH`S8J>zAlo|w|YV14GDDAxJ|4FD)kMIr_ zosa|FFfgk$Vc_Ml1u+Ib;>L!SwVGj0*a-TvU_^}_k-PC{DsxpR?$RTyO3I>V-FL=e$qd&f<%U`{sZ^|3rR5lTK#HGJC0K7|8X#o=W5ecDC zcY_ZKvRR(d82AVWQ!^)5-u9fgt(mRqvaEU%yR0Xbtp4^CPnpOi+eUN;Xv?0rY5Nx;0C1PJ|KMpzhHOan+ zU!HXS9}?4Rzhb+SzEG>JU{4PXSO1w6X+WWRm%6VE4waJ zl$BB%Iq4W&Ci!&nC^VXaD^xPPc5sE&I-#ofm*t3*-oDoyhgoIro0y2wQtFqeWTEK| z|DG)9Iz_h4%`fTVBHy_>A8O!#I&27~wzx&Vow!H@rB+mbgJ79F&Be2Ekh_>Ks_n|v zh%p6VN@-^)@%Z?xO5MIe>BjEWZFiFus{ZL(kswv#Ew)%R)!+H83a02uvG0pWiPthe zH9`36*K_!p2xxrjT|2B_tDRGNOd@JqICVc_PX9>8 z5Rt-JJ9i&lS0%-q>oLdh31jFj#%jCC%vSJBAah6P$3mYm6D3MIkE(9K85pVPDaf+0qtP zxaOqwLyiy}O#H6&Osey*9>X;1>F8LJJD{BDC-c=Agu^_bn7Z>7PClRm3Wt9>IcMuEu~%$GJWMxF*lMs_>|NXW0qS_tfi&-;0*{@c^Y z1gRXC%A(yyJA<5?ZkdJyn0%_E!NfZ>U;}>7wUDRpBPm>^*{c*}oWR{$`j<2{_CB@2 zY6zJ`YIJ4~`*nVlTlxWgDlb%>Srebo`W5KGd2qO0Ol0j#9UWDPlnuhqSMVg0G(Am) ztJcRrF%xZ1U(b6X*ExM5Fn29t{UwwR1ROS0Y^GV`z8^FIz!EZBQ){zBbPT$jH~w9) zakEbfw$xK1@xOC28tV4)J{#qbwW>{TCuz9`B5&SJ-jI#5{OF{~o)&YE@T&|Ub1kJK zvyMJqFTXDpuEF*9elO$sI)PElL|*50Ey5DC4Jg!>JI`}mYH zl<@$?d7xr*s*ZpaJ)KifiU~tzXglmnCM&SV`uO4bZnpf6`|^cMz7-D=i#x18>|Un# zc%C`FSp|3U?5L-l$(!4^X#xr$H%Eh3=}^&l5%o8fjKn13*Wk`8@+c9*6RRpaqG|U6 zdwl<(@hulGfa3!s!7gH=F@K=8J>*NjA%x4gm8ndTmPauv{GEd9EK%3RJ(SDNFV6Ng zy$yAh)q~X0FIOM?%X`1hlm(iv4Ygh7aM?6iuBn+$>s~{HZYcsC7ED@=IcxeIw6uO< zR<+_m)^W*HU}p`E_Co9w8(y`W@kPEhcJJs?0s4)sDMPi3e#+E%@I3E^JcuRIKT=OO z>yA9$%uibP;ltzoyHIgY=P-b{_FIRY7qBnoX$(>BZ)7A2W^qG=iko3j$tai?!$LfR z!;DzW-TZR{&lW$+4kC@duRv3l%yv)4kFe)pq15XsNt54JWbN&vCGBAq`9>>+C5P8^ zGpESIMHFeRYZr7;O^A03zlL2~`iYfh7GUugFy`X zt*r?Ypm1>8A>9~GgFvP-U6G)5r2w+^hb4yJkilgIc_nV)M`09gsKg29mV+M4^oG9^ z&`TP}vt+;?ohdp!x7Q6cEZY!xKi!Z|NR7jp2QI#*ZK^_ZBcgR0;^m7j-$G4xlHD=z z;ERhz-?CE-N&co&Gy_#UKHXUR@3b+a$`^ba_G|&74Rvo$8(caZJy88dP|04&p#l&8 z5qM#e1>oy#7AL?q%?G!;#)z0B=pR;-s zxce*J%LZ`!F5ztYc0X08Hdi1&*|1%mt{R^SsF4GJ&peXg!hQ3~HI>K7Kj*n+>8dT{ zj=Wh|Kv1zAb71sYfay35$~dlFeNb|zh7CjHby<}?IyZLf40TG7|H!BjMA+H9@N2I~7~D|PFbc>`Dose|%GC1r5kF2P72FxdGO(R1?14;Po zu8r(!KPU4@OZ$lXN>r(4XSGY48-h^b~g zIVl|Jk+mUUq|VMbaN1>cL2RHzQn<=fO)ck~_nt&VViAHUY}yF9m<>D1PtfWbhHe!O zUp#-x;r8P4F6ECUa+blIVa1yc3OZ@2aAFk!wU!B=fIK!&^*KGMh3%+3|TP5FgkBG#vglf%TZFkCJxl_^nfmMtbK@tv>3 zjk45{FA=uu4Eewx2zM_BjB|h;D8Zfb`y>0?nYzCz5b&#;7PsU_W*(a|D5MB4Nf`|? zoxJJb9#K;Pxh*TS$y3bdir@9(t_&B`E%Im8^E7qNR>xz(o2M!sZyuC{iVhIbHPda+ zlB_tsvu_sA_YLH$St@|4Iw{7e(6ZF1bg-}>2BV?Wk-rY92|m&Cfz(t>A{pfhSO)pA z)r5=7pD%Wl9*r8bFiNo1hHn97+z807(73+epNEGo;>`;`fcWaXz-8r%4B1xI5O6FH`#i=V^ zikl6lZ28tZ?(Fom-HRp+*8u6KmZ+n0fds50+5BOFWni~)VPcX(8|++H$o;vsP+5e# zo6dP$;@WUmj9eoR-Shlz>%U1aKQ8Ash|op8H85I>s}sn!l55`)dA{x(f#j`6=mlgX zF^GG5*BmjEvE_^Jtq7pKJuRJP-b?OQgr+f-I#|Cp`CHB&0zx1=O{Gp=$%$#i?DQ0Iap_BlbFBufrILQ$2>i&c<(u*vgn2zPqPkor)Cv*l|yUD8Wb z9GQ;0c?yW+2PqLYOE-U=8w+EUM17zIpHG}mk-WY9811vaq21h4P8tRyOynlvB3#q1 z8I@s!6c9+x2uOa$YZufe8h)Md|LiVXr8n|L{Bayl z(%=}qJ1Qt0Vgbg;c;5(4+F7 zg2`1)X$0&ijqnPEBvu*GS=}nVD5}L8z6ALZ$dCx|eVfXTc8|rB@XDXcmxFSFtB9I1 zVl(khwMBbq>Qgy4VxgE?d0I%Op8iHO!rao;uVvyKEdb$IGE4bAiTu~Yiut&_Xb?vx z|8?%~xxb+&kD4KYf3Uh?s!_{?U7=~fKM2hm>18*h-F62__vG^z-?qqLNAeo;)oJ{#>i={S->k}+`_v39wu_xA>)qj2S4GKE3dj6 zQLv~j1&`Ova&t2? zX)2q)S2o}6?uAK5#%kEL`}eoow9hh9M|r%9%qS)5&ib9^*+G>8D^Sv;uI2ue&3SdO zhzCuioP5;NA;kPy>1;9|zZ zE5R3m{sf&He=B$yK-4m+Yg+v64%MV(JcHla%yXfyyQ0E-D>!B$mxPa}+Cs^uN0W8F zfZ&Cc4*?rhf5TfwCu%LI`7YWGsPl_Kya-=(*;V0Ft09;?&1`o+^krnxjRK3nm*Oo2 z!v0Uy!55rBRR}(c>FUGx|5qLL|Cg$;f0sn2TN14-#l6mWWz8zD-w!F?k^MmuPEwcy z^S5AQ$_xz;EexemE1M8lTrCWI!y6fBMqZe#X4RvSpopjVlr)?KUncgEXn}qGY3ZMN zu8@4yLs2W;$zMJhD}G-C@@+O8w9_>AC+2N2`n7MffG>eSOoP9){Z9>^_5ar3(f)4@ z9`XOy;Qim9ftaN5{!c7d>OztEf9ml6QFY*a^4_z-@sNJ~9jig-^wY9^vy#N56b8XxfcZeF)m0{S@%hi2#~qzEH}=x}1-Ei}aSz-RS7*=vO}( zYr@6{O&Hhij5f*PgCb6QT4ZGJUHIJniu|^M4m`~Y8x-S8S?VslgzXM^`_8Z_e3G0* z&*|rTSPaFr{>gZ=Ia*u*OqKc?m>hhD?#hPQAR`+>n+35@OGvOy0n94;D0v>#57_2W?Z4w>L}X|P-V=^K#L^pWk=hGRcEuB=8oiD=yumLVIMDoP0wJ&=hnBBb(X-Wv|BQ(;_L*iWdPF5OpbpH;cJdJXk+36D_iTtU<;VORFYf z8-zM;YPzaw4pt3}`drJ4{blAqqBP^m3|=h0+7HD<)=^MT(;V~FWA zt37+TMR&ghtn2Y$pa1u3h~*7U^c$2|2jo+YVNc5M%KugXqeXJ|QK3uk5R7%bj}@G` zTJ3Ezp+w6i7^&K5@yf9~>C~IP>~xEARh!6Pv$Xb8gA&CUXKq1O;Vf| zJwDV@-}p!5{l8@>F!^=F zoSQ;WFdv}SU*F0>l(IbO>K1#s-s+4f7o34IK@v@)U^5Y*8WhyUI$1SNAv$h>63|(% z+*`^a#0Hg3+Jvo-46l(uBDIU>J~KM#(2cg2eJR@~=4GKpV)m7wkiLJ!VE(1pj28!f zioDUM7-C+^t3RoNxqtOBfudj#V;kOf(Bb~^Rws0+t^)<>%WlIe4;T~VuRj1ouj0Lf z2w_#usdAyHCC{8GyhQoHlFwh7h?U26!3jqW4YSZsP^*xY3xIidJ)n?L^Ox!n(^Viu zITpr+PnI{5BZ)x?tsG&iz_~Obq?H#4V`|$n;^Qr+9Fc)f{Z!?Tz{nj!D1^T}& zlz6-k5W?!VXzg}(GKewo}EqakRn;PwNuRZ%}Y+y*dLt3HOm9F|H*tx)FIHpH_ z$dth5MIf2~8q9z&Z|4HWcw^j1Q!whZ(}U|Bq9>(R@@bPyJl0YrX~*99?WV-131N8C zYt);PSV7K1s!k1~I~*>UdbBSU?pd6`yj>UBSbz%ox&sRoGNx!#$kmT4r@i1-#kJA% z|DuVBsZK{QCJ%ObJ|J~<+n!igA(_vnI=WbJd(HKpUsojYzb9raSA%-f$}*TQ}= z3We|Yoei!%t#n4LWpq?17kAb>$;MQ>pc;0%QN>jZb0uw`9^~v)G=4laYvM9bTGU{C zqU$`{o%+m_iL3?`3J1oBbG4o=!%PkYOoOR>3@(;BFMRZ!R@2BX>$2N~49|lv&(g!4 zKTk34O8N<7FCI2@M26^#MwZsqyaL}R@(B=Z2=>^7Rz!)?#5k|5>h36R?P^qRyh3Z8 zQ5%enG>$JMl09E;S!QG%q4UBB20t|V`jq3+UvgrQl6W;CRxnIp zBHyazto`5|o&GR7q}D2Oi_f7*FEQjArnTCeJ2Zv0I-js(9o(w9%&p;&MgHah(@ zCbZhIhx?)b8>I&NQksf=vlQ7tyMN?;l8;(z$~sG3V>RsQM#!)E~I0cBY54_04FJxpyUCor~w2-iE&J0>ygt5ja^eU=`CoEgT*Z{rVJd%JH zF>0DaF4Qmispm3=Yx?=IMpg+v(N6WnF4{opsz0*t>tsrz2JUNd!+5y z_EIdHwZ*qgti^1}rJD2~FD+8bsQ&pDEuR|GB_%FQP*R?(#!Lt!xhJkb!94!M>GB0Z z^#0hLXvAT-rAJuO>pxBGej6<^6nTe@;gP#6`6RGAWI|s#?aX*}NfXqbaUddS85b1u z-MgX>0(|}&r~6I%nncB*jlT1xskPmoAlH-m;(4SD2(f~G(}3%?4= z)WGj2jCZ1q9}qvT6O?%?UTYi*w~u!$V*S(rIWN{=^EtV|W;@@$3nfOz;_~lyXNdd{v7^EaeI|KDWVz z9S{B~2+uYIJfRpFta;6GtM>KrH+Q3#mM+G_TY=r z@V0|J$u&zqs6dxwXUdk7`WnipVjE?p=x?zd@qzug;(B2r2i%A!Sbjx}qG zfKE4VL$_q%!<~x+EY6h^Qjn@pIZ=@BGg!n3vD_OVcYN;0&(W&o`&ml6QJqk0(vrzK z(s_BBr$f!dDrDVgaqep?O@?Lw-{#M?1z1bez9nCR4B+PAjULmYjQ+6P8 z607%WE^fhpXB^iz_(Q>z z&Z9p`Rs+EQ2zSrCjQ;s>D>P>9ovZ2emo|Cr*{gYGm

;Wz`JaB1}znN?U1!1yw#E zxm2upKD}z0P@!WaJykkPLX_h1=YdM?Gj&3#A9`oC^CMl?c%U-yNv>GA^m{lfGu9YD zWJ{y;wqrubk4h!KYzkvza!LCWi0QQ7CSNa%Tar@~V+`N7<{O(=m4!rA*`mtAv#!*j zdslv@23?x=Yc7|5J|j^WEAdD>lhw9dorw0%*bm3Hl=m(b@+dz_8TkF%sGRF6dnd4# zhZ50p$Q0Y1bH>{c|Ft@KLU6=Tshm8QW?xQX2vq@yCr2wC zQ7)ZBut7>Zf%$o~5G4WRE&>!-?HRJamp1?cbPl@?Nq!Yb2Fd46Lz`Z+hkVQk2OUiU zAThdr!HExfHyBeLP6K&$^@EKL`P3p7Qr;8A1bHwFimZx6bqOJykJH*};%Ok|(WDS% zj1ZYf*QuG&J)8sDKHNnHB?uR{k;dG>T)f|WVocI%_BuvTi4=m#ZzHBad-k{vdpe_t z(Aa2~R9IowxsB`dHJ6h**vqc^=AS+#6csL^uxDy5RPe5>8KR zYfP4L(}?Gq>5bQS@T4k%97fR!7jK^Vu$su+7kKq)@aSSIR$MH)T$rznBd^p7a-}7< zW+f9c&7KHGp$|;5{S_6H-Y%%OIWF9;;NKj%wzZY?*4wS?q_lvVw7=zd*9#H!GpXrKn}N z7?0{Zx9~NUJD0dx?Yr;x-1syrlx4qhSby`8oHkJTN}osAYaNhyPZznar95hU^Y7gXGK5C_F7)oj=*B}^Pv7bV z+=ZG3^XG^$5kD1_58RI0(tY2sF@xnCS9LtSCG9$nK|8*_WOD2^#eNUEnWqL9-fWhk zf9#(4`F`zSw`asLZE9}|_sSP{W4mS1i!Z2lL&0Azha0fdm?J(D8l1VL0r7faEZ55i z-DV@)**t~YIB_GP`tZZD(Tlm+T460vtRt?fA>;H|%s1nVhtyj_myUa0X?u zLc-Yo7|kvGsU1X4I+)!w&7bzh6u44%lQq&_6=0^)KBi&sKj)eEX2%M#&`s;0n-grl zPdOlbCJsA9o2UEvl!Zk7Ek*du7kX?2!lMdU;xQO`}U}@jRVr&cd?g1xm6@F@vK%%NtYuBezehOmQjN#R?_- zStS_6eQFLZ;rq&b5W)BXp;r-ElFV2=g2n|uvZ?6=Dbd`0>d|NVr@C+d0!#Q#Qv_s@ zo}ACNIE3CB{z3P$7`QMmmW$ZGqn6fNg+G4fMrk+Sj#;~TEa}IMomu)~AQtf*FsJ+c zV%Q96*RGUh+Wy&i4&JT>LGS1R@~LMp*Pebly*WFWb$o7J`r;?mU5$9?C?jcZ5Iw2YQEzj=BF?ZswMnjeVi#$HbQ;Cf>>zE@Vm@utFNq=}(`M>^#?d|0XsN`Rk zZO3ocZBW`HWx&c2n@1cQYHmMGI=fInuj>o?e|@-mf@q#VJ92r!%my65TF`;12?-qZ+s)!8`Ab;osV_MW-h_eEb&= zJFWeYP&8y3xUSD*9`UwJr@}E$So+&%1{>2|lE`hHQ9^+Z`r~VJO&kKtW2hlh4$E0g z37}5$ol1aAUUsJ9-gC?*K05DLNQ%vm608ADr@CPuez@bk*w3xB8QJuh2;LE#kd`P7 z0{<~Y5TzHuS89>sPwau{>}qIaORWP**@%ykOZ_P;UxavTjU7xskF1oobTu-B?mIh{ zKQfk8qo3(cVXO%9ZF&><%S)E1t2O|EPurCeMh14raL>UNgx~3u-MgzP%U=daeL}2e zt8&Ty3=B-zcm;`E`JUb~`ijc*f!&m#IQ<-a`0Nh>JTfP1@cIh2)Hn`Bq4d6W3VV>K zH){@STTizM@|Ii{k;DdPKR7BU&r5XOP-r=NO-U3fN6Ec1*9OKqzX|H9PhCq%2Q^GW zo9qTlR-Z&lU2H#Y0pLWGjv$ElWY_I9jJZQZi&T?v=#`vgWG100ZjgnjDSGKxqXv16 zMqLdRx?Q}-1MRBC7D9zH4k_ru3Cx;>GHgW1gjiz^gMjfQQkPOZ)PC*8~VEu;d^bO@`fJbrY4bL`wXt1K8h0x2}j+#ya{ z&@xgw7_##W1PeyOSfYF~$W;xR;+wzEn5?PDK;O!fF3)0`%!CV_;S4sn)MpUu(kscU z8YtY!OO9Ak$`bu=|BSXesH8A_8h>r+8vbqaY>2-lqFSu4JM~Z@TL2X>@cMin7+n%S`lT#;0Kf$Jl~1 zD}mbXpAELIdRJO@S8Ah9&BSlpGLGJa>;uhp{fHkq@s7#Ax0b`)suB~u9|AK-a{eOR zk>XIFXd@2Q>f%HD!rGTo(ijbZ-}maS?{y}SvPgT3Ps2kdRG2>2=qY`%;)_~IKzbuq zzH_LIYH(5Du~hh=T9*ATJWzle)!~Gwk%0{RaN9V7*VXug+V(=h!IY7|gE`uy-W0FQeq zWsO}J5Mthdg%|ks;WA++&}+P=h>h;b$7j3W%$j&6*JxD*0Xo-ix3iPqM zALlv!1hC!j>4O4(=>cW_o5~)HOarz|1|*T&M?HV-)g#d$n96cL^^z1nxk!^k0L!mTEwk5rCuYMj(7u#Q!8@|7OP@vO*=N%j*tdk= zM-CD2le7ZsN&sy5jc6;BIF@r6FBbjTri=**;<)u%M9eWYUS{;HcT7_l^s>+rru8)0 z!k?TCIRIxG=f`)CarXnvb_G*&DK-FEq`~g&AsNVotZP!u@)$1=!$U3M1c~d*FzhhR zKe~S~lbg5F=MuTw(^#lX*4^AMP#Rdy|K!}U01I$h-Fn^Ll=&l#i(ZNJ(qXRdYN$x`be8yEO31o|bD zJl=w3#CzmyAl`_GrAa=Xzhp}%#^kjTD=&LIw5{@aN%8MCF5L9@NOW$|un-S6q606g z$_~ZFA++4CLe~x`*&422<;})Hf5BoL;9S&~wJ%U&#BY=Ql%pD8x?Yw-U@PUEW#oD} z8>89&ElLaS3|ztJR}R6Wc~2r-nfE1#Qry2#<{YRko_$pu$-( z1x!~gi9VlAWTF8LsHxZ-U+)vA;<+i|d2bP{W&GKGM%Rh+nV&DW=vC0AJn>}r*#oS) z($N;xULM;rA=#g&Fp1~2mcJjOqbY8T^_IcKv)?aW#1+ANYFKCdf$d5GYaAil7P;8! zPTlhI7p86Lhp)<>+!0UEM9di)lENrx$XcvxEeW*i zbn%P%w8`awa7KzR^%~|+g{Km*D%V2s*+F16SorUVhd(H?^{d5wE#P_si?WJD@>HSN`N_f=|klpKym?>!x)Bue;Ruru*nNKiB#uENH= zGx0HIiw78i^Zc;KR{>|6qKc4h#U~S09(rU zT(08f_Bg6BzZe?!U-d8tY68+(C$n=AbCm)u$*{<#=>-sEZqFYLT@X@V+vrC!z02+znBVWp)Y8g$oa`CwJF}v+7KK4#v3D z6+F%Xm9=F6Bxv71sf2Td!Y>UPeJr1om(khCfLJ^jcX4)T_snVO516e4K1XM3p|180 zQ5oIdp~gNF3dv{T8hooa|LDva)TJi9Dtwj{ir;G8$b^M=sCjY_*|Oq|?n2ba1lgg^78c&w|HA=QM`HNBIl7iJ4<0s)6`_O$-P32El zqFeRh2Cmj5JbO%F%HN_+z??3xRm3~Dt6S&^R?nky;|vxfJeQCL3K=3*^;g}3V3!=> zBlRx{TQ!i6@w-6JefmhOjE@FNY1h)groP1CfQ>ozKBUzh6H$%mY2G`LDUYz2$|bus zGOcJ3h7aopGzN1LH(k@?h5Nr&zy}<_CrqerTKpsxDvY7-@QkL(tf1=fH0$A}7uUU? zS7CvY>4Yfr3S+xFq;7aOwskk#qEdJGXPT*PJyfrCDFl+Ozwt%I!}n!sEQchR0u;SG zfog|@W(!Er+H&zh>c-`y?(KOQnLsQKq6CEOI;$U&kKUCGYFX;?pV$?_JJ{fVmKH>qx+ZuD6R|aCL$Jm(U`V^%oys01vTw|$b3gQX0E}fD?^Wo0pQ1v32A%D% ze`F5cTZC$R`b;3lAyzoTj-JM>@QrvMs*Npxjbj;c{ID|tX( z7{$}A&j;LCn%TMWBZ4QI*3m|ABW~i}QqT>@8FX*zF}4u|3&K%C;UL%YQ3XE7h&zGV zh7;KQ>4&M3>s4|Ij!3e744Bd&RP#FRItijFj5U(ug~tF(j?tFr4<)AK9nO)i!5q$^ zh3;G%8)%HRi!5K&7%Av@rohR+%qdj(ZKC@mfTr*xFv7IotrW9k3s#b%eU&Ld!jP`~ z5hA3K11^3Wr?BWheUbrd2)RaQ-$102v-TDtKBlW*c7QX>3*`9I7x- zB254oIaQ`DR?cEeMzK`a04LZUm=vF{Xw@*sk(hUqem&DQ9g1`3Q*&%4r2Rq%jKyGQ zYX!I@nl3g#_NNi}w9F+Fi38Run3{dKkM5&em1Wm6br_(y`+RCHp!U!A!rPM9^~a#4 zfgFXhd>~nJsY3{A_~5m=RE{AvPWx9|<;+N4UQ+0vEuA}fTJz_}gEeBZFN{ExyyrbH zdxyZqt$1!*G?Zn;l)!Rb6WCsQZW8OyKQ!&4K9DJK|Z-k53v^H1E)!O zyoDe>5(OROUpR=bJQBtJCeY;QJ46Cl3v~Lu3d@;kbhPc{cFV9Pgq?$nxFv+9u=1*E zU$u-iEMOX>ltq?4g@8jO{^Jh@zJ?MBOmm?RNWc-MLEn9O<$tH1?^4typVj(3$RP;p zcn%DH>S{%$V=e9yL~uUAXE!B)a*oro(5XHFigy{dKXx`K#h)h_b8G=MshAU6DLXWK zs}{24>J4=8S{Od9!zE1neA!KV^cvjJqsNssogSyAS0Ha2t#MZJ>{LtC!BMEUBx?4up(CP#FMg z@hr@*G5lPI4VF$O3-jCYIy2tV(=4$UgUTR42B&N#sz%T(jVq3=L75Pf4PG(~GS0(1 zGS#j$`znH@^L7u#ye!oMO^ohnkrCD`$i8J<0AB4+4gc^TbQ^N z;gj0}@4->que}?p;yv2WhOiHi_eAz0&AY%lYz4Fcx0 zDVFQ9+)6WAl3_RfxZY(fSrDjZ0~1ye%|I_OQP^zN{fr&ki5{_l-rQAW^d5a*a~fuC z8eP^(bFNI_ZvlEhCpxD&N@fzvK)}Fkq_*3B;l^*`2bNH1c-z($r6PTR5z`vCY7dO6 zs><)edniWdbbQ0_NgATs0hROQY_4>br0y#|d0ZBszU7Ldn0M<_+9bhw3^Z? zxef{|kv|>n!(2YpCLvBqBGs>eS>XbXJ90n#3{~T%jXdJv4g7DQ@Fww0hzu5X+LHgC zRsmBz#q8bqE%(Xbey_RJEZBKZef6|y9Y|k$=o%TcuCD{Eu zn5QE}_q}7n4<|VYMENQlPsqTynuLWEU1~TzrupiiMOIVgqSBWO|y%rj)gKVdusZDK(LuSDXo57h-4^F3#e& zdrc*_#>dY)totypG5szsG8ltdV1GKW<$3SL(#BofDsMFpQOyq=!Lek4poj^zAzLdc z0P$`iNcstt$HyEiT_@Hp6L!5x%aYOi8iSFOEsVGMltAcup^9pdsd?VE!(SUQmTYi)E5~3W63EwZ zkV0Msti0@1AeWIRs7!O^XjDiL7(FGjj$*l@wRDFF%&0p31DQv% z;+2zhdu;wO+E*w0&{b7{C5k_q#i)jSO8$CFshO$cED!6i@_~O^rNV&v3Tfdw7&N)1 z2ghK?S{IG!D(2o(3(gMwxST7WxU0{Bh2CX2yes&_iAR;Ku&ECa(>IkBoPI}TI~rFU zS9vpkz?or+)SRCryj3pnke^7kEzV*Xu_UtX_C%rXt>32`M%q}JDfAPPnz z;D9LVnmx;#)%9FT8$i8U@GR&nnnvpsd-z&;ki00FGaPZ88~4vBGw-d48>mOy1K#!K z;syh7>bVufRNb|HJ=g?}Psvk)=>u1WXy22-y^_Wh7~bkE8iwUXF_mHJG*XDUM+n?xX)KYW?+ zEv>1cQYD|7!h9RqzBZL5d3zW2x$64fSS#ofPZkNDlXk7~xrfSD$Dcy$I`i5@IZWK3FOg}ZmyuIR{U z-38zmtm_v-{qIfc5USaBYngvBA)!Sk4BpiIlN6U9w#`e$T z;(xxsiBJd53=-RPoXSO<&ze@}il)h|(LqhRk8)$ar3fjqH?=(D)t-NAu-A->1c{$x zfONeMDmEXP7;tUOHd&$4im9ZZceQx1k7a;(_QSsu*a8KCW>wVnOl-3zdiz4eTufL- zJ2!u3z{AH}da0xoDLZjnNEG7#cZ4W8dD4&|$Wg7f15jFUK=ER&i3RInX8Jy(qaH>&bRDPdJc~=M*Pm7;{8aP#dWu|N6uWyA zD2A8_&%EOrxlhM;8xygw!6yYr=?puT*{rXFe*1Z*px%1nfd!M!t1N(4TdJH?6pH(O z?<=dpW+l?7Z||>Xs+X3m)|TXa7;UM3&n|%=^qqR!ua6Tu;+EfR*+Ki*CZW zG?Wx02zE4{Uz!f&ajWrG(HE!1#yOVYWl*=nKF^JB(<)s(o-qFa5bY}J0*cddWj0nH z`T>k7L$%Ue>ICrB|Lxhb+2Tv-WND=Y>`BJMAWKlF^Z(fU@2{qs?+q9}0Rfd}Ly@XP zKtk^#U7AXV&|3sVr3wfbYLr`$Zlp;^siD^(9ppwrN9iD-5Q-om0fA88!TY=3_51_R zPtWK4!eZr|Gc$Yk?AiO;*Peq=;0L@BKCb+#(ROnSx~Qjji!LH=t#yNZp=MOMs9jM( zGxFKDM=5oCz<1ecPif@VKcjn58D#PGxhKOgXZIsdJ6;!*lH(uoQPsELjPbHp>j->6 z_4zrLja6J7g#n!nYERL<|6xccYIDotuZM4BtD#u%i=8V!-lW4^XoUSketZ?K{XG-M zvGjqEn^rV0x|YFcc;rF-V4Nf%+yv-0$lSeu>jmR8(Qytfw_h;FE)B9#G-h54YFsX z9DhZnIE|yCTRrGnc-Mr$$WFV+GwCqYwY7__14gTKt!^n54&WFS>CYARYUr_lUN#Tr zXNE6?W6qLePqWy~oNN-j;rH*&+!}q-x|$(jK36&wwKZhg4U!m_a=euZEFU%urEk12B$DqH-Ei~?2r9SD85+PtVRboqv}TT3dqG2wPZfQ zK*jpp4ylv~odI@6OM*)n!Qqh5C4Ht36}S;REv1 z>RX?MB%209V~z{R?ylAVHZ6K7qk#X%&Nn)78n9pLg3aJfuA zY#eB)c{T`+sByEzXsUE%6>0a%Ytd_hAkL?o)n!rB4%NgWZe>NM{SFR~3#c#WQyFb0?>W0_ijw&^$s|sxKhu;OpxJKOX-Rz#F!|yqLt)qJqL3$=N`8hZ3 zysz@nkCpG#?3*@P`$}wYgHY2#_K8AbrilyWwc+n{U1i_@6i5;_o^Ug_!5gwWj?C+t zZrI&>WUMe1Ct?LK>v(CJX1=H=Kj#zwaV#kZNrFE<=(cF-0L?%(LX+rB$CkM2I=z|Q zDv_F_o_Z3MmJ#$^$IZ7{Ao`O~WVK~cuj+Z|aB~LjZ9yYDrL*9rq+?2aWL-W=)2`aoBHU@Jl}Fbcj$|afJneMSZ2?w#ALu zrZWm6{Xe;9-whSoHU|C^lPKjclNBP^n7SCokiMZ=VbH}=i`odl20G41>Nz!$}sPfaatX* zN=@#0BZ>X`@Hgj`d%MO*96V{o2lVb*ouhWWS4nmUfmH~Ht1cy6?F@Zuy~A5>+?(R^6CLPA$xxp%ZJ0f!YPK%?)VO2#Mq+BHPU4uZ#`G8S(yGu)6VN^ zYZVWzM>5$9YrLUPXZC5FoQ;0Ud;7|>D`f8<`v)EeIp5C&A#Ze^5gI@QC;2rud`|aK zf6GMNR_fTZcTRo3QY^z17Cg%YNXW5Tx$sw=sMLtdxT@9oq>g zmuh9SVfxQ&-f#W118sOEL^^he9Y?jWZ=)ZqUd3#06{YShc={}1*4E+VLrHhD@L>70 zE^w|_`gy0khU@X^8TFyd#hrexMa7$T&n*SI-9(;NUKScEDz0SpnYljoj`+5jf%SQh zMZ3pYZ^^W{X=E>;#NVS^SlqlRP}i^&512ezkzaMJY-q<{9K;q=FPGen??KM_Ux}rKNesLiN|1 z>nmjsI{b8s*tPwng5TLrtI6f-)e=*GB5`pB!sDuE4T@`|Eh;PGa|%^Ddp&5^8{ zK4GGKp{so3Ypw+@DIkEkrOsH=rOaqH7)L!BwMR*BoMj;+mF#8=i?Nl+d&`av;o zO2;ilk8-ka+LJC*29)#O-rO8RL>dLV+}zAy8HkCj)(Nafee#Q_TAOzf_32jC^X(4H zJTD>HRmfN0kSlJS?o#(dnaSx|j^;bpK3a%+)%3iC$qC}(WgUA3nE+}dvfW_Lj{2Ww zcqJ8^I%s6aM>;z}0R=T~c&$P6tP=a#W0zU*o>4C18uWZD= zg-+@aWE5_`G^oRebi{e{X+_AcIr}YqcVCa>Qo z^qmxRoCXM!%f>?PS%$+=2gY}il4Hs9l;ua-babsDpwvjExY6_!q;wu=d(CrCgIA0{ zq#e$m)RI)PT?S!j!$rGBJ-TY2SD;=42SO|UjuduVc}3&fb}sQOYzg9Hn0uh6Lw92D zIi+aarwoL`(Vsi=qi^PZFo3qp?t+s`MHh8oWhK+kwAh0Zl*P}cC%nY=-5?EP2)(%WTh6*|f@V+Lt3f?cKg+cqW+P z(`N&gP8F-525Z*xNSjK%<)=q}k$V zN!*A44uKWl-#Z;r;1mhp^D}GJPw&45eFqT0FJ`yxgi|eBKzx(mOpih0c-Q4jM_iwS z)`|-|%9q7W7`zJ(!b@%s2gNe5qcy0Wvil-D{=DhJiud3hLZ7vq4jnWg0H*g6pVqP! z=yE%#pGs-3Q>BA@ncw?dZVn>S=s?nWwn0yt}q4;NJiU zG1zIom-kkADNu;i+E1$85t-WxtScp%wVzc4U;j}Rg&?^td63LW6Q%}t6#qMm5BGY{ z?D!}rv-~qrVicD79)$k<*&?_{p!NvysI2^Bgf07xkoV>yvmLSkXI1u$;+}j?*MASn zl(QCi$qg{|#rv?ociymxsMahBP!qlMC}zpsm~Pz6$$C-CA;vTau!E_3NRz#~~S00qF(Iz`-tqGRvoCCK_!_|I^JXx)d1qr-R#u5|=!j$mK&|CE&TDeJ$s*@Od7j9g{8SwzMK)-wRH7Wn6ho1Jugon+h8K9RUtz@p} z;4q(R&zmA}7H6$th4SeeAz#rp1Qu`p@RtwA5F5VXIE zzmIKQZc;<2vqH|l%WY=Xy=s16g2I7M`+CaGMKI)vj7!L|%>>z9xyVSBAeLRpI>`P0 z7?cpA!o6LV+-JV6dyPsSwp@E$rjOji^QV~&GquNQ)wCv5H1dx;Qti0pFLIK*cn`Hm zfIW8Q(|4ab;d+ZX_fos<7s{YmQ7@g-soHeswJokM`SXl+JwCT`#F&Y-`>8u2x%`+1 zv=burc%YmEV5po=x?X_%qTQRXdnnx1s;rwl)lb8N)}v7xyt&)SnllaN(x;%C*A4J<|;GVD?)L1qE3p<=KOaTKQAY}3T;|Q*qC7q|HC9&PKPVU&!=AO zuQ$I0wOj+ng#138*EU-dH409aEcplv`E=EpZm|E(h~C7Fk=0q#T#MiZ7R{Z-H!i3* zLLDQPln^xln)^zAJYc^N<3!afiFyZY>MMTR;*-?ZdHTKw6*fzy^y4{MPQC>q<0+pG z{%rn(qNIdSyT(PG?gtg%;c%~PKB|yj?hlgE3!18l4z;E~uS~JBNU-yE`2MgxURyA| zZ2Hih@!!3tMQsV&i3_RE)3YJWdq6kZ=}2Kh+}h#Q5kf%+EV4 zR9+{kxG>0bfS!4iR-Ie>nQJDz+Uv;IR6!uCmKqXq1_`CKPVm(WI_YBeozDl6lA!m* z)K+6pZiQeMgm+&d6F>XiVO^sj^P-vDCuhd{VkC4Y*ritcynKr?I`*`&vYr6M5IGAN zw^jij_li0aoFCKL29yEpc}M^@2S6fF5Eut+WmPW8qGRi~bUVndoCknXU?nUr?C-$@ zgWwY&Qeo1<;nh!y{5(t~-V0qq#h#p~0o_yr z@Hn{60`LR;!B7A+2V9vDfIYzVzn}jnmjAca;Yd-|Ti`_5L^!W_7!e6t?hWnmxU17?>oi>fu_Cttsk4-3lL8o2&nI(M2;qWP%B!k}g`n!;hG&Un@#V z5vwfN%{8w3ezxZ1m>F=z(Urk2k;3CFRK3H0={XoxLtBUa+j(*0u5>|1UkGk+#jpbj z(i|aU==6UNq}gHUnI+J}RmYLPu8t$bjJTmVlIN$~hYaccLCw-)Y%;PQfd!ALr2o4; z|01Qcl9eF)xGbrT5REf^MFa8J`P!F?W%Wj;o+sZS-j_W2mM3uF$F43x%c%SIF@$#P z_(P7@{xT#s#T96&Y#vUdUc&rG?pYAA68mT9uWJrLv<~@{OB&s((XS6=m{cfY)cQ2r z%UGbTmrtLr?K~3eQEcbP>x5)iFUZmM zCaFXMnv5=a*2?7S@?WnPy3aZ*l}=n^DlC}io7CXq8mOxM zD>l|plsQnXqW$FHA#eqBf!?1n9Q+o%yr`O6cnZ4hu!3|Jy)9k=3ZDL6OT6GU-saq- z2m-tl?*I+BbgK#7ZHLG-!~YFTNl~PQx~lCqmX)hUP0El4Lar?#=_=9|Bo+UALt{^? z07^{i^#QksoxPP8q|}erCVnA|Ne%r4vG2=Uk-gxO^XGvVuC??7BF`0v%3 zlXN-IW@Qi&DG9YG$z1nPwT~sNE}#6kl&)S`?QZFOW&CD^a+25AvFJqwmRfEP?Ib67 zqFSK5n4E+~J)~5cBIbu56&UDW`xcPmedI;f9?*qPKE4c5PfT)UIF8!jzfzezK5-P8 zpGP@3`C9&BLVMXS4oyu}a70+Lkedlf@HUm5k7^Lc8hD3$maH`3+Ygp;MLnmXOM$H8 zVx$54V=l@QU%%y=qlAUUzwNSIez|K5g;7Qvj{B~}L-2TFT|0y+U`7QijON1dJ8IK7 zZ3xA|m}~ob)hCv$3B(5;56=AJEXaOELnAs;U@+9=dIn)PjIaTouKe}^QmQ$5TDlX4 z_s91?#1>1Qfdu}wfb;5X1xdA>EV3b^tnsc6^JvZX`%Z>V&xT3M&ggfm@324KhfaNk zlz6Y6JRSza^Qs@6LswjeVMKQg?2p3^V*dKVn7Stt7G$WGjE$%HzC6v2{z>>f(C&(c zGB47VDQBd7hbG0jnj;0?D?=zYp(tm?>Ell5M1AzG0HI}kyd_ydgscxWxM*VN7}I{G zLr_&LOlryVA~R}|+vEKLggH}py+R+MP{s!A5qM6i*-64eI6A_UE5d1RV^z%t%-5C? zP^eWD5c0QMG-KB1$R#5X=H8y2{UIUPj@VBUW<4rM zHybB z{xX-u@XBBan)sPa5a*%|FnmCDvcG3$NF*2MW!pY=p>l~FFCu&ftw;m)WftZyQ$8%d zLM~^4Fbo8X$CgDW!p{@}jcm@&_ILiCc&;7s?cCui4m8pLWOq0ta3CON!~`jY{<c@ zn8^kRUJ-a_K!99DBj|uoC+Bb1+`k=|0sXa_n+=luV$7>nDy$D+$;;GZnd#oqY`_L* zb~n90S&n~)^>A)BC3)$!_=g#$VE{{l#h;&n!&VMK5E7M!ETTBEtOLS2F#@F_(WVFw zJZMNww1xW5W;vk?bQST|LDpounAHfhkHf?7TSCH8eMV}_QfWYxEgPfWl-ArM{F$LBA2>TL6tCfAgq77D=< ziu@=+u6i5{S~}mM-e*i1ywEpQ^K+-L3~4{XT=@*46X|Dv9ev9qh}a~ylhA3SIH22J z1on@$??5Gm{cc1AJR6MQ%FBmA?>H%)^*A+fz+hbO4{s15u^TCw$mRHdbGc;3Tj6To zNLqO!SsRT$x2B7==sFPf@U&MaCKFcE4mzAfQcuU0-?4AkH{&7I5UjBE-KCrc7aIwX z7(~0F#k9lM9i6qHhKPc>3{Do zKM{^>oG#P0;l?7ZUj`abhf*h3|0MlJ9n*^5|*q#J+*|LFh! zOXS#3eR(=*5FF7~Z6en48D%C}p^Gqmmte^{M2*gYch`6Snk?Y$|Vaq=6^* z6FYhEj_2103P&zC%DpJ0vsYq2bv-}ni~aMcSKVzaZZQW%4KqFW6z-5e6V4)RFBso% zN7*0MZtbyHHyd?zbhTlnKi2N+q{lVa9wbS}(Ut1Ep+h5Ua&5Us_BG^Z7Bg(%SQV~9 z+!^0)uoXzUZ_sEzYqy~*g+a8y0o|Lqj9|WrK1bX|I#Y>1(zD+n1wK_JPM+ug1{tNC zC)*N@uz8Vt=y(%qv@*gt6RoOE*)A2nRhY)5c;AyzX+bb+TOcUC)!rp7oT+l{suyRy zsE0H8;0$f7;^4k9F&aj;yw<#aXo~)rez1UYtz{ENZ-{Y;pQvj#s1B7 z&sqt;^*G)(8(n1oQ-l0<4cJE|U@w|wm@Rb^)ueRWX^hZLFANRb7sQm<=YwNta%LeD z>n}^%IMXodQnO48>$HWE5UlQnv2MSIzFOApBu$(t8Zo2$D93gl?`0(Zl;o7tkd`~l zZ(t5*;*V=qXOe%ggYkVcBLC_B^%zACGb{N4{ZbQUjm8J|&zD3c zAt=IE<M-FKmIrC=FZO%#fWUhWA@D$*p*twdu z+r2#x>K%v($!AlZT;lMRLW;VhI`3nG*Zk%YB{n8^R#gOb0jx37q8>c?abe*Hlfp?D zWM>OBdeQ^2WMLx^M7_v3@u+|j^@#6}ppSDeu+miy-aoVZ3pD>C9& zb1uI-amcJ1av!J6a2L{0LUX{|kqh}*(tx-#4NgtN?dqMul-F}t=-5vpo!`G26%bKm zRV(4MaSGtOn)y#d@yrYCWLHOfB%yow>y?q{gS+&0cx|GVlP_q@1)S^KC+>One}Z!mg6T3t*y=DRY+ zOf5Ip!-4g_UGe@l>cvQODt5tDI@#org}$KtPu9*yK68IEu#Lk5q9LQ1%>t}sJ%q7c zZ$CLhr#-B?g)5G~JizqgMGu3m8f~H|aOCEGsEAJgohKcgitvQbE&i=O5>Ovx-B+bv)ZQ!bS$-*^ZHesWen`W7fuITu(+T{Dfj~x$bdFjeI;%gegfEU5^9gPb8${o- zwGR7$7doeHg)1mVPJ^AjCgUuRAfu&gX$ao*c10-*>ROdSdGYhWsm9RT-)*Ak7^m3G zZDD$I)26TYaKEdy1=n=&NA^xlp7=aBIbhFy3C%Az=o*%Fvg=>*pwq3Bp z!(WUeG)4?mEXKC+^59dsFTAx7)Z(ubzWjxD2N3k}#tEJRSw1uii%xE{FsaI9IW9ON? z)n9Kr#ZRBM??pOa-OVDn;>H{<-HlGBQD0*XDIz`lS7_WVXlt3aX)0lf<19%w|! zghRop1(vHEb=*SMZ<}2uEYQQBvbfx$170UmniI!Pg8mzl zw&~Yj7iFJadSVE_qTvnNsTMRWUtQm`*q}c@x=#sz#8Xx z9WmEMe1U)BzEMYjVYU6fTl84G2;?IvZZxu}Q$dJFKxyTj+0PF6ky9kvGG{nj7K3RSQ2z${^{|H=qaflM*+|hyXC3FRu(Kyi z9aW-3UuLKZgCjv*| z``H6GR$#Afq~tO$h>eb7D?JM_GlN~-Yko!@AMq{k!sBL-$GzWKAU#>Jz{TIb@P;519f;4hrk$CfT^V|TAsQ~;LKt+zCW4)YFgPa4a7%PS8Tf-*`EV)QmL&&rjS&K+vZ?tRI&X z2rHp?iGQK=PJ^a#ldMdOGU49)Z>&!e3xvK&W2zNP}MKXD-17JaHMdPKX%>PXfde z%Cyx~Wx>+JgJLW%*XjsD0gudy7LH5&AlMK4X1S1{->ITeIk_d*>|nnt=A*WXyNFNDl3S_C85-br-(R zBNnqZbI9;|7&-PUO+1%pt9{>NsvYL6*TgVZ*YHiEqAI0oJ+%l><>=DcYb*R$!J*-F z*TA@y@`^8`{fI5dqCRnBRt*IvnY*tb`StI2HR#--O41TM`UaTQdNGu)2j>;5l^qNjHCkNrxs}vIt+W$M@Uu4`LtWFkz-^EQwi; zOLgn&0Lu(iDm|XzdX$hf+J!Yy-;QuzD=`Se5_pH8-@4LjO)@Q`ilrrWNQ91~MM(o& znoM(zGs{ev+faWAc93iT1oWbg0CS0|AmOdoU;jF9R@57`BeqPnghp3uQFf&5JSJ{p zebkRiqF>czHP{3?4y|izw}-owMmOA&xix)HnwwvYqGu%;S)|oTBr1O#HY~5+jebZf zu+qfk8e3l^+YwE{9JhQwnfFMO=>mSnqSdiiLER9mlAE785t4j{w0^LvhGj*H@}Z&M z^$*o2#XRm3=R2=C$Xc2lflu8qLC=(?9S&k13YoTKB$+ETFOKT^X-Mf=*!Y?d7qOm3 zKy`v2hyoRicwYRb=KG!(Lg8i~S!cQLx48qbBQ@+l2Ac>=t$}710QmOM2?n1k|JYu+Inq)TPl+ozz4ul=O_A^ zHSZ!l&76b{e^7nUx^4nzHQ72eJwui0Q=Am8%sH{*gXPV&#TtaY?2oZf8ekhdj)sp~j#Uvbwp9nbcT&Dh9 z0ej0?V(X=OiR&|oj|UY~bOZgakwys_-QOi7rnbzKXCB9yylar~&>^OP&3fl? zs={+EqLIO9l=J2Bs)io3tk9-j?k-}-`t8`~kqU9)7u!nsJYCReFF9*)WClbX1^Sp@ zAv0O=sZ|AIa}ZdUjeLwHMY$n(!lPdcf{1kkwVAF*$QX{tlVYR|f~VtitIhFw z;iv;bFN0F=6#IBh4-by{$kawKo_rq>awW4=GP(F+_YQriM*7gJATh?a#xZNOnfW(b z3i|WS8X=(y>zA{7caD1v-8~NZ4a;TeE++a6jpy{F1}+|oH;4HPi(MkS%jI$!uny<~ z9ajqKb~7fyzF0Z=9s=BPpuS&G%Ua>JdpwJyV36rSx!8CJHb!-ODR}+x3ic4*>>*Ck zqL?viqrc#ZmCnyDoaQ9ovBx8py#B*lMVW$a53iL{@6_%#ZT90EdY2x6dCjZkzShcO8vN|&`|W7cOY^0d8A^lQ06EwgP0@H9RG{Ywd^-x zwSB+=@zp(ornlu|ckU8{9hq;9s#{AekD{5k8nNuY-~GBLPY2v)qM2CpHiWg@X%r#&3|bP)XrESi09YXqRIRj+?eau5YpN3V+U~E(p(=b)HW~1-;2>| zUv|`V%ogq$FW4F&Nu_RruN$Yb%K!>rV&R$mw?NO9tTa`vFUlZDRj}1-&E(!kPV&oZ z(118zPuU`swbq25a{a?rDa}Vx7fosSuf*GapY9xC_EsJSzAdt+fG%Pc3&-S{CL^p9 z_WbI92V#A$@4g-t+Ip*A89xIL;;pz(UpkG)%Ff^LfRq^JX!7qk^UZ{SY7{s3zM z?_!$O6^tCL2jLd#BRcK(U-QQ$%An)_F~gb42)dCsYe?(K=gDZYBs6d}=w?RDrlZ<^ zVOADt<^8Ctv&-FimR@58GVv{vu6$(bKDK-A_6&34@0I$ zgYAr(BZNu!QX&>&9~eCwx(}Z?5{P*|+^2imgynp+tc>7_oAX0|v_Gga>$keF%s@tChO0{;RB}L8{A|aRR zy0a6u1!p11aghdF&D9(uP#7Iem@Hbn9?@;2Tmu&T!S0b4!kCiHUN~H6Euy;@v|8fR zzqGQyMQbQ}si8vZU1pw|LYyH(wfrR+c@lOPlvep-Hcqy>w90!#cHAx2e&yw`l=l>v zbTKO`m-6J3)_x`+Q@7j=D`o@pe#O(3eR&w=z+Zag^MU7xkMXDVl}0uhkXtzKwKW_d z#slk*RTyxbfTFl+GFjFI+*K!1+4DPD0d%S5>hvnvRjZBs{%|QJC{eM#QfydPJFK zU;Ya`KbKoX25VvgHM0xYO> zfIH~CThycHEp<{Lp~qtPyf!0kShnpOjkZZPIn0=qHvna2&b zw@g?c{Pv=HlWVeo8Uqv8q;kRb2L>jw0O_p0CFnaYy-qVy$^$bHEFaSG%jL`H1IMML zeQ-AQQ$2rj8sS;gKpW|PbzWSXGcbnv7nm)9K|mdmmc>HVkK(}2tifdyEoUVO(S6)U z4oLB$Z5SXuKVH=meU(X|7UzX@tyM;7^xdQxWf(pk@ObVZ znQyHvD8f05fmtr15P~>rY>9$cm9A14hMa@)Thb%}$!EGCx3x1U9&0p>i{Vuj60T{Uas?QcV|)wh_a|D6GX9CZI!M~?I}xW& z@;?GyX^6*#0dP(uN=T{L>JmALWy0|f;l5+$MX=bWKX`j;YZ1h=nsZs|yloDjTgoK^ z_*0i(HIQ>>vlK@`eFAV(4`Z=5>LbQfP-J%$a1`1M%egu(o%C@e4>{nyQh;HQxl08s zPn5$76*e@s_|8?j(%1X@MFf@tjIVeLbxWpi6vzSHp)2$HEQH-RD8C~BL4RUvhW)hY zT^?ehbjB^HVk=Ct#?3A1SFbddoU0XTI&f9(pnLm}OMLcd-BUbY6l`jA1^op8+aTU% zde&2gEIQ|>LgZTpG@N+u-KUfT*0=`YcG<|PWKLf+=PB=`R$^aE-PI=4r}w- zuJv-io*|e`W@HB6jH(S#Z05v+Z{$pt+lXd$vL{g&TMRO~daQ~j$`-|$6t`PY*&KfN zL9Y;`eI(l;WU%Kg$CFzCTRw?jf}Pb73}2~JoqEp9To7c*7p0i0;z2sm$`C0c1LXbslcc69nmM*e`7ADg!hS!GTn^=rw@pNrOqaDP&!E#xy(42>NqkCwW}e ziQ3pFxLbD*vI%}~E1$ra=^hnk^3F4^_eIDhgulQ~c8&5n;Xr=Q!zn+rc+Ci=#|wr> z4@^Br-WMmmD8qj@rpf*2?XH6H2W2r#}uDeZ!;-1o;W6sRu{(Q#Uz<%{@FCP z&Qs$spoap!=i!+9a+^qt)E4R_nq`x0+oiz1r;|klDy%fmBuLpt&U+1WI6f{^%!ig9 zML85=!!LfuZ0r}D%?xyV2Vth&T@ZbEa|9Em3!1i+k=KF?8mMP5Y;7^;sjvXF7K^Xn zTJfpPsybo6uA1q9Wgf#=Dwq|52SD6bF(4W^Tc+lndH2Q->{xwB%AxLA1lUu(HHb@M z<5dJ@Y#Y1~M}y&bLz5UC!&Z1!-As}+A-1{aXMcm#MquPJDWrv%A&r8}Vuu^D%+R4= z1|7Zupu|52Q#ezB@989uzEQGgctd83$7bh6uEIRqFEHN@WdvpqBwnFIZnxn-VPa;} zzFSP#EH2hU8caBGmD}dhxE51n>sjoT#3YmH4_iLi^*q~_RSoRE5jC_`yQqOTQL#8w zrBZ4JS>*n(hyaiqZhlQLWcuB+?joxhZIS;;QBUNM&5M}WP<;I z6c4mFnMH2*O_K4BVl%X+P^xLT0SF|bMj~g(N0shLZHt>T8l}@xY_;kSAtlb;muDwj zRjCFBbMsN}6$)P7t5smChY^)?I}ib4EF8W!nA$v>O$RmuYOS2%U$xrx_6Mi_xws8Z z>o9V}_yQ?Ie>U61Je}W$3*Oz?{>G?8Ghb=3d2SM2kQsa#?`v^1uv>sEnobCv6cP+# zgfj2*s*fO5Catn5GC6@h8Y7ICZT(%lGpHiz7_Gjz%{=$-M?WOHB_{10y{W+haIT;9 z6<QeKRV>3Yqxy8)@gtnZR7`{ncV~+Qt4;Dc z`c;eEm{eT&b!iLm5wWyw65+bz-3(&)jZT(`ZK5O6KAtRwTulEHct% z_IA39@A*XhGO-qt`Mwi;_@PkP@0L;{fJiW{n|XxEE_)D)CN^7}$wOLS&tQ!JGv*~n zr7JO0ENfnHeDmtJnQ-9i8XG}MtiPCLROs2=>%d9@4)#cNM4F^1Pf)b8ByedGl^aO& zBiSA&VZmO2Cc$CUQ=6nJT*R$-@68WY;uaz=A%S>)D9M8DZZhL&ul?2g>-Ko;ebstLkFr=Z9R4WgXnvz~aYVm@riu)Yw56_Rd{ zQus0|JU8q0kfdaxfRo@HL~9b!0p4D&y`?#`x5-6R)Ng>zM+r1pIYbv5iVh^q+|@B+ zglOONQ#UGjyhY?ENpiUfi%-l0M_E>!sjvnH1);mkXBi z{a>~`afJ4eDpU~?0Q+BhC*o3)(wxR_Bm&pat_FZ4ldsIo$WUk zr{8Vn0zaa{L3LV>r`s)X+Mo$$t}hQ!y4@mW6V~B{`N6PQ6DQe{9yaM5+sxG=f(`N% z6tMabTRA+y#EFCrbVwPra$U7vc?%HT`ng&8hYQZK$u@%xJfv?!(?%0(;r{%jKZK_T zlQAEuFys@9^XyLGrl)1HU#3)P*Y*VAJhr-HW9NX!qw+S)ar0Z5BZ6VAQH!1K`*L{ zZI{)6NjM9z_v`e+TxUxf_kpuQwTHrytKk~U&%ei91Dg|b+n zrTi$kIM+_zti5dAIz0k%Y=I`nh%N|WBxTF@lc|7|;!C3B_( z&C5DsnxxdIjz2>d`@|pB8HsJq(yH5GANyfjGXM25ID(5mXI6J;EVwOy}mL1QVx$f~KGdA6mAWGtnmFD%uKxXQRR(1lY~^E4&d5_ZOX+ z#|0`vd>vPR5q>yAj?2Igs_SRlE0Du?^Xfl0HV0b9g<`7Zg zPW}TR>9@hjB4)zEu{BqF+df<=IEDHOuyLkV3{|(vR;eDP-bwl{rj+5b&020$$;3@2 z{)%)<5Ph?dm5C8p&pB_jsoG!C59qYl?>0j6{OG=_0z3MHIqH+~O->VX+hGll1sVpW zdHNEK93g7rVj2wZs2x?+m95WTZDlmAV8aT$4Q*{`3Z$Tb`qarZYK^@1M^uEFqwbJG z_cQo5(+Tbf7&LLS^n*W!1p{+8CdLsYjJ8q*yZ!x#^ni~?#_dM_tUu{#{+UeA%Z4Yc zGD)cm;}T-r6$Zp0E`_K6grR*9_!hrJ;Fd|<;<;)aT$lXeWso#5>Lwo*^e+a$8Cja- zJgkX7fXwQ9ys&dzthm#e0RWAIpq9*!{G<@zUpa0aVylsqa~}SHVoahT+n9jwnZx|l z`-~_>Fr>wEp&AK#YBT1g{<;Ti`i0dGP1O6MQ^8LBtTGw;{9k@2*m27^3!U<>iQ4q} zaV5#JyJS&M9pV~+0qX=g}zidT0rzl6Qv|4v_3geH)ZS&8bB z+5wUd1=qx#=HPatOb}LItlY>0eBgI&d0Zf5Z-JBOm97*% zcsws?Z)439#p2vun40k>ycO?SGnk%(K$!~UQ$YFOY_U#U&39usth-6xTD*C)T)sNf z$xmYJPqRY>Z%iV`_$!_vj30NS1BqjV#^o2G>jK9{2)sHd?p_OX285^9GBYKrnBvJN zi}6J>nP(Q>n8*Za5=XH~z%MXP(&XZdDaztP>796O%k#89bUEgl>s^WOkOIPKG!w3` z{clx7vcNJgpsR;QH4^SthE7;tBC8Xn{)l9I3uYV_;wYdHa}GxvF^~5M=*XgG@W`8u zVdRwEo0=5)YaZhOShIlJL^@}3pw68HJ^(R&y z-kme9;zFKl>`z|wK&iO1*KGHgBIUnTJ5^5+ouR3@8bOwrf zV8fa9c-0sHmy<544IZHeI1Vji&tzA9I(`@?XVQ>9(4a@to1<79>v<}I>>vJt4tv0+ zO^5e?aUhAMH2|L2W+5R0051VQW(gezqRve%`9*+MLF}<_ms(y|!MYWIyr_B8^|_6C zCsXJ%Zt_Wx1VjCkmwdm8NV>b$ijMiK(%8g8>Lp%U02PJwMGR)qjFFyNSToJ-W0RI) zn5N%5$Rca^UACa~noz(vl){ZAUt0c7k7a@j8&W}ZakB7U0;ds7L}p57p9aL!Z+Cxx zBi>dpT%nTL@Mk6a6Xk~VH{=>LLQ2%u<7^AWxdvafq?wm&`sn;Ul)-m z62isi^*5`M0dF+0iLhM2goaQ$mj0azC)FbWU?!MYHDP{?<~cXl3UTK>>DsS+-mJNrQz z(sM&U7Gx})zm7NhniV>EIR+%LOot5M@wKFW;j2u^fFC%ph#xab9Ko&Z-%G!Yup z>EXqEq|PWBxFSfD+d(Z)$tJ|t1Wm4p?D1e1&79fn#SK7Mk=A32C|m-+J$V zxac{*{b3(R$qb4!P$Y#62gb42S~qC+q*!7XH3CHoYBb?~s+W!FA-ZZ-c&M7x{TS=w zRrdK6s^tfN2+{w)_OARN>iypj4o(uMW$a7MRBB|akX_kILe?zVLS>scg<&vqqO47_ zWl!0evW#Rc$)HfSED>f9iN@Ag?`wST_ul(I-0%E!jvn(_-tX7@{eHck%WEJ)Gm-^i z+ulWU&#_D-r62_MK^&z~lxeay^?N@ooZOtw(k)*$epmQ|0LwUw+!rIVAIR!Z@+?|B z`b3EkLLdNFNv_@Vy}SDda3zCdMa1>q?y3>c+b6%ML5bg2l}1XY{t#ruStF)>2V3;$ z`jZUT1-3ew+)ipr0!i^n2`5S=pDlbnf(0BT6dOmpvX34>q9DoSdQb%5;Gao)BYajT z0J(C1?&R`Fu<*MuM3TN7IJP!a%N!YlM@PF>2Pk1~EDm0;(^s^JY^bON$#R-G$*Y$; z2*o?L{p^#+)dN=gqOy4AVhF=Dya7GbAaf^*>V~5rO9*k$Ha;@p0^fyZozZmEw(&)p zuL%p{L-#%6R}*hfiH6_-X&<6BRK8w$L1xYjpX9mcM9Io?;#V|$uICH{#$;zgOOzwxfoL?_E-IcduQ@*UG|2#r=spCO$ zeB|zCQrvLKqnnGWa27tJKWt1w&E^iUxpzKDdnS|>&OO+71$LaGVYk~UK3Q`&3%-1H z4);xV1#bvwvG`DgL*K?vAR0Y{_3DLj$B+_MbOootyzysp2-&pQOU-@MSqYnH!w5)) z#>5aD19ij+^w6_`p-}1lI7_O}GNQ`}M%$d&ufunob1*UL2Y%{%2sRA~FtduWWC~(40F~3!2slWeqTD2!qC@VhKI20q*LdZn zTb|t3Oo@QPFkyUQjRKq1%?G<66uecF6z)$Y_dCgIGUF`zV<2kO6!bT3@&Ix5>n2+0 zb-p?!PWYZE6Kp4@q=?jV!=0H+qj2{kH0L1(geMjTPVxe>6!k6}IiLjRYuOVgbzsFV z-Rrbu=LSX-f%tpXfx1pK(vdcY%$(Oxn|$9kD>B3C96MsEF`c%~NULT2&`fKwJSv&T zqB#od4VTaz-=_K$oK->*uFf?li*80;CPz4YGVErxpY-ej5$ZyiDyuY?#WUd*+tUx)Mm55(vk8xB&xm zO*MGpanj}wyO!+(|6V`w4_(Cp4j97VEz9dn`Z%~qP&X-3BvU&gN^ zusv=47;|Oii~f-xp7Dw)RYY*#^~&3vKO=JGC~t+-lSuO+(EOM;O{Yr%Z?$tl#b`DU z-1)iPL>axGO9v3s?lyXc4^AlmVL#iAo_Z|4eTcqBL1wT(1j=r?lCyM zAdYdIPr{f=R9B4eGb?kIcycaRRy`lcKh3-ZIKFK04M-xJcz0`CM2b8DGs#lae`;GqQQakQF64-c zlaB3x?$LS?%b+%eQ5Z!8UkZ8f!@9nYf_)8gDGZ$uA)LiWf6=E#oXQ_}#I1)ens~Er zy{DwMk78xVr|<87R=3megOJ@bSHT-aO{EGEYvfNJatB&#XTGq1Sva)w3sqfcZr(_{ zgw`zA(H!NT zH;(UFM5iWXl1#S#R?I{gOF~daQ%ru1=~c*i8CkIObic(Q2yMNd1S$I$8pnN%sUE!I zjhd~JQKBW`a_vLKKTVIW|BWFBOc%P|*f>bX$S-{``s`2&9pj=$xe8uc`OH$lN%T5| zw0Vj?3&tQ{Dn}*TX4WvP951ajBQkX|Q8MnLwpY}!oftO8_JC5u(9O=S;cpLGmb3iT z)A+6PNwz&B3cP5QOxg|V04?0fU$uU-eD=Of>xY^n8oJ&m4;QfJOTfNhTo-KPGG0pQ zhqSG9bpgSBuePM)rQ38hf07{4@(zW~GsNst3GHmBVo~*9b68IWez$%Za*4Y{2~{JOEPEC<;)98iS_JdYA5emajgq=I&CqU`h_h>2AK8 z@YPq1#U1>FSy=Ro;L6H?V@z|o&@OaNgSZ`oKaTWsWs$|l#+@h)Ki-cyHU5~sI$uDv zn)x2c`OFDHEbz{UvB>fiQ#x68dC&GwTsv8`%{fVLeUI74!)&YHzDFN8>R# zR65V#kI-MKZ%Rr(iZnkmYR^-#d5B&L2_0FFM7o-LSFZXTyRi|Z=UD-!YK^`Zs1GTA zXx;*0g3^zYyY(-%G2~p4IyG8M!Iv_+JJH?zv=qJi(I#5_LPx4W(x%Bvd43RdW@JW6 zDJBWuB~|W)a^WYXlxXk&d(2U*y3HT*L`#gXNMUb{TVn;Z+a@P%0lm&i@|Q+Ms@cK<;2jPv%$Ct&Gm1N}A{S zbmNR#2_5w$kLJtwqD)`T97Gt0;0Uv?PN(%}Bt~zjBDEOUDE!xMmT*0|J&=UXwmyjZ zwAy`)F(sPjPy*42nmPZ~a41HvchHu7@lN*t>{YtdHy1YM7w^sTYx5mjtabL^LwIR* ztSnK;O@h=zwxQ+`*G;{z2O5ew&+2a3Q@^_f7<9&LXmZ`N9=bB8}IP7x7ghR{B%~?MXFALz~HkGJme=y2u(F9lX~!vW479zXzueD(Kwf*Ln&_% zKo4I}8l7mO3KBCDi^^T5o;wZoOn53OKd0ZxcIlC|2jc%db18&;If=Bf3_66gsgBu* z?eHT7OCb5Px3iBT0)8kUxfA5kfsa#?R8NH5!AMuoY%Rn{_lJ9~+jq7RV^E#Z9#0~p zIB+^=wNjQBs+^bQ5&7ld3r_A>$Z{=&>c=XpTjyIEQa}hsLmpd{ zkCE|J@f=cGnXFFq8^aYGot*9S??^A;*kKa7H0XpuLnwlUz9vT|AQH{kpW`ze=1!85 z--TRvrN)|hct4qMtS70)9_DSMAyxP!iI#aA7XYff2~b|{6ER#YtzMZZUm+*mQiRw^{-6YJA5w;_Ah*2* zr2+6qPX{Zp7C9VHnEbewwuvNyU){wiE4V)YZU&_&vaZxXNdAkj3-$5IJU;*~!n31) zuPqiX0d!zrhS}8KXkE$Pp@;!wvl&?#Z-<5uEDo3;N%{qOaAMFB`ngHV@7;(OQM1}& zCY)?;eFuXtgE-B|s^sTbx`|O#ZTW}kH{=soowXhD13GX{y#HHKlIpI)pPyX-x>TO8I5Uf^>-y3<(8h=%-9FFv4yG?uI>%rcox z#9_CbW5>uRcq?e3vl==b(i-)-aA@Vv$cTir&?a8EP@9Ra&OyA_IydFTCia6~;a}VW zm}~TZ{{AEPy?4PdAHZknmO3jYO^?4QmHAQK3kic)Y}kW5TPeHSRGp;5ymDy5D)Z69 z`>Wl>T5Z&2_FCnBFmcgUw^uH^zb3ipi)?gY)}9DWvN?5zQdo!xI7a$XRwabUN~Cw} z*UNX*4^pRpG~+f#Y+|L5+-c2i#zv!%b%XPQqv-=1ce2($zp5q5bl=g}8?}e+wz!qfA`!;!!rB>y z;WuB}QtyFz?92uBF8&or(5{2~1RM&4RvW1Ig4`?3JX% z$Y)D#k}tS&XKuC-pjD?V{n18SI2h0q3x8i~tWZJKZ;yb6lBr1yXsXcA+#W!EHe*}* zP(r+fzNj5*%K4YNfR&_ADhA>3Z8-bx%{w(*Sr)$cZL>L&6*6H)=3#&pAfc#x>FaDH zk621DDnR7Et0VU7^4<3kt+qZQdwWa3O4TPHF5s|vk-d8+0I3 zzcbb!3OOu5sW6?6Mj4s0Y1;eyVL03g1-&te{qos4lf1B-e(T?f?wm!&C0 zKi(MkKtv$dBQvyM34wfxi!^8UXx}RTl^%_k$e@USn!A2 z>;&;1dh~L01tb7!jt=MJ0{&@j9h%rQ+tWQ>;Y<*91BxV5+zO?Rk5h2?tj;%TB&^5% zx#=OW(_Mi>dcjXQ2se|eyz5VtC1bKkpxHYP!(sD$oJT)vJE(Z0e)AtpZhAtUgbY@G z(OuqOeP(X}JpiG`b`6s5ZN)OeynFJ)S(N1a)h-EhmL|x%8+*PSdX!Xo^*j>MJq~8X z(pwkIHSO0gIZv2zHy7_yGCTsFUb*%AdWJDF?qi85xj(~P@T);k;#I5pzD z+p$wG{A=o?v8VzcOJ_^@#&599^0Y0aBL-Fsn&r_BP$4d@lrP!my0*pnW`*Gfb3OZkoQ(m>Z_$)u=WcfZ zAPT~FDaq0I%gZ82y;bJ0x5@cb2|1jBV8v=D%0vv<9jMlp)PraO@+MQvszJoHy+6kAGnW=> z^kKb|>S`vk`l@K-4d#uF?0UZyQtVOfg=`Mz?Dkd5&>IQ~*>aNfO^R}Xz$>ehbRxyG zFw~pj%GivzRNlx|b{m_fDE7#@f{5TZuGv6tI_y2fgcH z!I|xsf0xPbS>C8i%4`sin_4*m@Hz@Pz%SgD%y^MYr}K zeH$fX#Ni~Ux~iw16d5I8@myiwPc#K;6=r7nL>nC<~j6kjDcpNC6bwvqCm%L$jiQ z8WVQ5spmIW5}z`(Z;f!xvQ{Fr9O5X~OQ`nK8O6bg~ zx%+-b&53wJx``e{xAA03p#VlBO7)PBqqEB$)s4YlT5kCt=Fu1Rw)R=+iGEL|1qul$ z;0Rk3`t`S_y}#_~%^OoXTk6{Lbq@c`vF4qv>Q+C_BN2lixj`o1Zwe-Q#tZ*W4ye){ z5$tT5Fk@M|3%zryYL}^=L>F_phjjfz==Ryk1nqiZrNcfcZiFW`2g|fDKY4}?M77?` zORs%YBVr#5zBGHH*0bV){B)gu@RnE~ME(e2ETKxgy{KpMY|6Fpim=)l>yeYK7|Y)F zBK1_c!Gkd10CudFM(wv4|!>vXxjNdG{vUhQbGGR_%=xo8~(6MGL26+JM)SU59 zq~idQltUIN&8H9lp@rR0qkr-*6)ob*>Sy*N0u*|`3pcq%XT;c5yS{vk(}m9WY_(|D zv{sR>HL+h?sFhEvX~qd@%!U(wmeUqZk*uUe(QBTM|D-kdygS`0DI_YwxLoGL^7m?p z3tcCypXXEO_Y(A!|L=7}yJd7{6=g`UA>@4hBxhUypAAb3O=xHg7t_}%86sUQ`;X|b z;DFNSU$^rs6U-X3m;h}{CR@8Iz|%Aken!_~kW*^kUJmmsp?r*0Gri0?Wx>($22s0Z z!0`p7JH)EQl+;@7O_~cmy^-O(E$TvVIc5I){_v+>HwS6H2ObG0s?@Jbv_EbwLef-< zGWS`@AZ<9M3Q&{30@!Dck$P4(L1P)^UGvQ8#oWEtThj6ImOaYK^j@>!R_=*kuTN&) z$KTd$c)wvc=K|d?Vz$WG6hA#4;jYm*oZ>%o=oQv~aP316CZ$OI_tQiM{Qs<u@!e)DBNmM@D(K-88zNg$7s<)PwPv(>)MwZ+KUAxQ$ zve9@0jinNsRBa-<)Ya1F5f46m3lRe8`)^7rkfFlM^ahs<_~Qhp<6qx;fKq!Yq%Nz# z2p_!E7Pp;;pR4_V2nu4Xb_Y(;GYD&ekGKRB0R8xJhN@cTa1KCHjdH)}9~qJE$0oTr zOw|>CB~avkslK`@s+q9yG;|H@FF1z9kl>qlssfA{q1vO7_``zMVFkAexdc%CI`x-b z4a0}R+Z)gtQE7iM%$>valaJz5nuwkxyOhY?dyD#}=R<6%SBW;NkJ%29OvtVbZ#1&# zl6s|X$abwy&j@Ya&%vkO@@TtFUyyoPz@CQKRJ6E3v%&~>sgxOlm$#Dk6<=>Yxfkk? z`9@+VmO9sCpAl)USP+5F`Ng}q{>~p?BE+>M3O%1faKDdYZ!U3|H~y1m9xN`GMhc@h zTHASgUcS@#m=VkM%`r}XI59-RQwSIA+DShNIs#fWl#|NC#|XL*=Iyu?`ir`e{^-#CPXBhGULftf`0Lm~w(w ztyY2_+mos2Kb#PW?4y$@{ejcWy1z{kc=H2dvpQGvg8VREeaeo~qguFEQkg>(6*hTP z=S=ykc+>c2V#_fx(qaz_v(umeH{y0${3hk%ug;M)v+hS%aKkO~pCPV?fXFW2OIKFNb&)EVahy(+wj z{E4LaJnQ;}?Hse=e^zTKCwSYtULQiTNzNbF5Fg0EXoxSan03Fz_>S;ww9ppi8tmjX zclA<=`huT*xId+1XS!vO++iN%B@<#q%bqD6HPxCe!4MuuMhp$QY+Zymol+nRCG2^$ zD72r5&2OJNMz4;n zEM?rirm#g$BUOgcVAiOe25%YuoWC>0a}K)qJTA9jbcPRz(gO4Fiu5DIDD;$G>53?8 z+!bhnbHpPtGJBxbx{vOX7<=N(%xIkkawsVFFjgymenCT#o&-uD=SLQT%lP4n4Lp_c z`?pd?+^I=_b-SzT{LnZhNqXjNos`{{>J<_`rp7J>iN-Z&R!e<(h&|BSbYNRLMDMC~ zJ>LiL&2)TUYY#LU-iD+8C~cNMV4@e6k-xm`oB5W6@fY4Hm)a&|hu^JgQVZ#}&CN7i z)NV9?^J=`XG$9mHkBKjX_P~-wKnkf9D@UZS1kP`P}$oGx}rL zNnZO`zGWHe_{|T)Qb~~s(z+*49)9swBt)IwNnd3={r-vVkN5=pR9bfOdfTw+(U3IG zeROt8DqYJucw?SEQ9CnHc{7q6wD>nS*wRhmR5*y#Lc8D0xlV?{PQ#L|`*%=U=SAw9 zs@`_h<4DCRYMkZ8=8wEl306-HNFAU-`ir6ZzNFxar~hrQw8hT0gc(F~n3T5TEs_1e z8a*f^$f=wXv=cte&^8^pJ84QwHOjKK*SENu-6^0c6mQdR3$6AL4(F+&%77(o)g3WN z^|@Cz+n!dkcgNWf<}ymD>Ooxdea+=2!&_1(>0^u`M^1(d8moy&t$Z^e{dHTM*%yr*k*L`dm$Su`d~!PkO$uP!4nmWf?i z_jbPIX;2*nr@$sW|9j}_$DO;0R?+D*W&aRAr?uX1gUXCiwL==Kh{xLgt8SQrJWMN{^kkr?6}lcYg>fW>Jo%OkAY z7gKENnm{?pTq&npwoioAJ3IfP+_f%dhbpD<735%Vd`+lOwR>DenoZsz%4jD74I3SS z!d;Aob}{f_I#*Y#Y%m?{>PBcSS}8?|`O?sdfV-XzEvdI+!LIstCA-^wmBNoUGG^y~ z#;;up4Hzn^dq0kKbeJGkTm~d!-N@W zp=2%UDl;YsW1nx36(XBn5-(M}IW`KMt?XWoFAo0DT~UtCWiCtoc|WZv{P@d@pjL^5 zT4SM*(z)~EP1!pv@HG^vkK=D|Ad|L$ebC}@7%=YAvj^y4|MEW?Y zKy1i!dR}RNxXE2pUn5%exS$d~-4e{iBVnLgVW4cqt<(p2qQ@Kv zoRCJx$>D-83wXdn*gUgwc7Jqt9nlh6H%>z!Hr`;Mmbrj# zc!PKi{L5cFF) zvcZ*S3842P{X69(@uJxqf&jE`l|m;mpFNsls z|2hQR64==xlNGemDD!j0t=D7L);I}&M6A4C`vxDkO0|i&)j>CNq(Qot0$nu;5O;lp+hLtFM zSGK3mlI7ZM(AJKC(XP=9V4diGHe%BA@wcnuJ!dcV1QF&^h>NCj6)SlZ4lxr4R`tKE zj?pjejQK4XbED{{iPLWc@HIm>v9P5%FdP0J#bDJ|YAJN0Mj`aPEg2idbyMu&5{Z@< z1}RN{8g#Xwc5AB_al!qwZr5-LgjM;f%qcS4b-IChvGuil8P55^c^lEC>=5nJ!q(9{ z6O`%#0c(}24G{;FSmcj{$TyWnh0Lu)fGObpYT@iE4cb#SxUsNZ>{pK5+WrUF zi_KlX7aw^t`!(-W>x|mXfhPyk1Ue&Hbd=#?3ZY3{GEbEr*{GR)1-d=#!8ktIkfN`0 zZEyEKNK1gGbW!Ne<%bBhuGnG`s}po+;S8Vn1z#k0!ym;s8ZIAUzLPV2x0ZD%_=$kBqMkx* zOGq!p1zxNWeCPR}_Y#kwck7JsS6@7`bj9zUEtKuf_U z3Io*r5YjMF;`<^sblbi>k_ z7mTQrmy@NBvvBJ2MYs3{+1z7AYUxvKZDw*V<5aZ0uN`eBo>-#FmK;aQ8%guP znP7gZ;veXTioGIjFdkP;zVc44Uy#V~kW+%o=7+&Sjg{4qDZ8uScAU3x?#o<-%w=}y zn#`os!fz8i4LkLl+vHXB_$)Yceuyzf{(x2;da)%?`5(rg1EW$gWesKGM7_tSEpAQ9ElbOwfaOi@Tze3<1-jAakC%vllbZ)1hFoJ*LYU*+6=UXMqgQV!tfqv236l2Jp zVIqe8-W<{cQW~Hz-5AoRsUtu1?@YTk3Sg*&2&2nhjKVRKYre3kw_oapAp!SK0nr zo(5lFXQXWh!dNQ9s%fG?ds|35>ML(kcjc7XI{z{&{;8n6yU48#ukLf*xtp>wLkK0> zzv?*OESit5mhmy7j^@xa>6yz%AZdaXa}dZ>M%t=7YW*miXAW)AG9-3G!N-E?2Y1kL zgZ+&uBUOu>xvozH)M#Rw{+|Ni{vXMFz8M)IHS;@@HM z|82YYwq51k!ptWSVH+h8FZ0g8fAg{a_o)Pb-5vVByT`qqbYW+t8qfXjN^;n%d*HRf U+bh*4nE!M^$56ZUoWtG!0%-Er@c;k- literal 0 HcmV?d00001 diff --git a/html5/verto/video_demo/img/logo_med.png b/html5/verto/video_demo/img/logo_med.png new file mode 100644 index 0000000000000000000000000000000000000000..1b47ebfaccbd6e36ebf7d750ef0f56c1d544466b GIT binary patch literal 22847 zcmb@t1ymf()-F5{2p-&RaCdiicPGIaU~u;&5Zo>DjewTUGD1YWLIKVXDe9D2N1z0000*PF7MK0C)og0HBQE-@YCrHTn8q2k>2` zbX_$ZEL}ZJoGk!i<_@M7Ksm69m4&*6iMf~4fQ8_z79~hi*Hu?Zk>AV#%xv;UhS?MB z_^J&62#R<*nwZ&IxB^WrtU&fcuXepWW%zdq!z-ki-X`PC(* z|K;noCq!=T>gveP!s6lK!R*1o?BHz0!p6tP$HL0a!p_e0D#7I9W$$X@$z<qKT=4o2wA{Yo!020@(3yv-U3kTBg?pWAQX`WMN}w{WGP%1eKKj z@1kJv-_kCw>K6YI@BeDpMbpdCf<@iJ#lg+l?DfQ1Qv7k{$S>h+VdCoGtm)uj_tz?_ zT06KpxL7+l0wpxKnAw0zCT1Y}Kb(JPC@JyF*}J%!*qd3%NeYp_+F%BO%=yJQxg@1{ z#ks{;#U$C-q&URHCAoPeIXR`+C0RLMIe+O&I+(eEE$m(Y(l!4NU7mld`zIN|j<232 zEu2B_7Ut5<4q)IvCe07}_pxyPTYLY~HUIaqaQ$0dme*id{+!zXbgKViz2?s!^6$ib z?fjkk7WS|C?);kAO0nd00DxAFoTQkh=i;FOp8^aU*6Knxw&tm*U5|LZQ8jvbI{}gy zAy|@7p{Aw|-L7JW6i6PLWSSESmrNfztG^KXiFvc36@!D7g3Z#>`Plr-?{t14c5BCv z<%BBL2#zcfF#nnID*zq}Kqd$$g-3%1hzFttO37Ymx04=TlFrpc+TbmzftH*7 zpc!D^fXKT~Y*A)mb_&{4B0Pi5&me6G#CBYxvN_ECarv$yi%T=D;;SelKEZjT4OZ|v zX%zdTW+k^Va!>OYXlglZB**giahV4iA`6&LpSBVvl*kp=b4P%@{!SSYlj% zqBhg`a6#^`jw{-A!&fj4Q4MVJOYFXrlHy5_^BXwL*L2p>#CyVjxMZMMdg)Y>d(zG; z;-fM~>2jVDuSsiKVZZ9AnwAq{G~od)g3n^}d?E$)SX2FXzyjEtytJd(xfIE>*4&(9 zjVUDuqNTv4n_Of%If(>y6b=<=FVlrfy>OQ#;Qk{gliBBdsWNd&!O5JT)7RKel^BxC zthfA~1Lfzut9ZsBO0M!%z2T*0`Bc6FF3(9Swhz&2C!ah=r81awF-4)J9YgOqkY%j9 zYr9PhC8N<#je}+?5r^vJr_so^p%jGjmU-ASd%Q7xc`Efr$XJX0+Z0J*@S}8($rn3{ zzu2LR6Ofy3*5_1M+X4G&7kuN>+Q(!<;V5aR&Ffg>cj^r$|M~gqmkU=sw zblel?mV)yUDnqj9^d6IvpEyZ8mjWZ_l(shy8#b8MFtjdxNx;R*(&P0zeC9XMbNqF9 zt8?vyC+5(1zNA|MfCer8-+qqhQU{VVdPw!kSe~JSpIL}cSpgv{P+y&vf2y4O6Ri5Y!~7e1BqQzv!sZlUnE z*YIqmja|xkD@eBlbD}jfuoIz)FUdZCX8hCsKu~!t(G-a~k&c#;Sijz)9|EyO`4U#G zrlMzAWV<$oks9rJ25qyNPkt8Ray{A%8raB!34^U7q4^?%-r1^nH-*=&lzKbtcidDn zYxCj|p?HJml@C<@`*dK>hFv*Enzp`?0Y$)B_%dh_Gz9_`cu(xa`;^#dFFqnvSJjV!OIaN(zh#KOB z!G`E~Wbcr#qEC~ubSZiC59Ua?6!RrsLd$&Qp|WOIKS61kgTf?X*dp`!v~y3{U(LNe z-6rv^|FqA=Jokh>NRget_dGnI3+)9m74{ya0=`DAT}xhTYz=h`p-b zTVGnZ|CT)GV`o$VA1h1(DdaC3hwet;h#7sf65Ik$)w$2`LfCXO5e-0HEEW1q)MS!r z96=mGgo00r;Urhzej?IiMbMyMQhF968rz+HBhQu63uvsEMG%Nsa$-+4k5A3N5Iz-? zbGKwqZ68P(zC^Oz2YiD-1E8V)_ck4`;rBBz(8n!$#kE`k;`Zj-13xOC`%)0%`%*Fi zGBiHL+h~ghvnInbaWm+wo-H`R#DIvMXker7dXg9>S_nFKO0Rz{FUhY!vlQ247CXGv z{9izBzo$?ZE-E}-ZH$ul4%PGM>H9(ha`%Yjr2c%7D80aVSTRCPNB0VHbZgiKP`Jhg!lo^&qr6Q4b&VRw2N4;rF#u*sy{~1WBybjTkQe-UF}OomB0i zYhs#mL`1`nsikOyW+Z-Zn^mvbw~-%;7%^lcenTOyalbdqzhTWfu*_bwS3DrfUjxhq z89#jNancd`fT1@uzXGA;4O3UB)_4**=kr;~da(>OGe`*;j5qoWqPu5f zFOpD$ar!^4Z{Pcck_fzO#Nb1w20@AHz~^wP0>d-=Q=He zQSH4g?eNoM*PUPoZuYJ8z1y5DhFe+>JVuf2WX`E~L!PeOM2q=6eym4OoN=h?tSXCW z_TzvIx=cgeDB86;OH2wse+H4Z)a9VOT`{u%U zH?h>LBObs$HmY9}Ma8$iCx!--zWV*~oeNqGaymo;#7@eP zEv4m~5?h!s^7y^4hU|}R6_g!2mQ@a`^uTw6?+lK$c8Mql2NNm_rt^A6D~zHxzQ1gK z8{fI*8*!g2IebK&huCL-7m? zC6H9LwSCt?Waa!TNa*1B@bGx}czEH3ZfuxGfCElL2_T9D4S@MKEl?Ej ze`x?TcmTTUJ(5P(SSB5RN8qBfO#;TFfA@5wnnBNtN@iI4^|xsYEue6I2Y3+LK2q7{ zBJSvW5c4eko1P8JtdCC6_;zBedDnqI*3!dZx-{US)moi0y5VXHlE27`JHH)S?k?=d;$nm(Z9ML>%+ihrIk2Gn{#0?>T1@ewfaNo%vnolTR zCv?2w!`zKVy3|nt+6}I$K9FTQpJ287lS_9ad_HwBYl35>%9-QWCie(2e{C^#6attV z9nkel{^q=zNBr;@PdIanCR#R;FPg)#GH<&93USbfF|>~A$H~C(kY1;pwE=V+1(!Es zW6g_O^W^FGqjF6^;^YScdYKR0h=^Cs@MDBk8xQ`n6*2lTa{~u`8RU8OOuAg#0(kS? zU0b@VHjfqtU#v{9Y$YdLp8J0TdW0ti7BneQv_4+-eT&+xRs)V{2z*taSAt@S@cH(^ z1U5{P*Y3*lC>z^AV4ghI!;8!}ZZY*sFZi; zuzln$&&Bbod!dX?idHEqMl!QaMWq=EU5^AOhI>rUliA&xy$xoGk@*LG9oSo4zOLl_ z#g{Dam_ZZz22!fc?q5tt*S!938X&~kAz^)LY#Ii!4qlcG_q^36eOG1JJu+HRGj_$i z8Nrh=P3=i6mm=-@qokB@67C_z+j;F)wT-ZJc=WmxKvAv|57=M;2``V!y~jIxd=%|L&szMs?TuJn0p0vkJ%DOdg>Wl z+Vq$*hI2+=xjr^yhAlkN1+U?qb=DD?dd;t2b_C%Hi*%mzH`{W~fV2{fI)bz77-KO= z3m7MP+s%FhVIrn-XnE{ON>u3mPsJE*2HffUPn{5ufTLI*YXjO>14%3DhDGAQoiKIV z5ABvtIfA%b_)j=mh@Xw&Af>nv7K}Mx70%9^>KfRAi=MBhAC|Rw@4M6r&zGtl`!=z5pZeH+yyMBVk_5b3-ns~BHaGZsqxE*AqP*Ys{z z+y9uY8&)XF>Kakusr>sMSCiJR+m|)s^Q;B_$wf<=%n_8Rg*>-B->k&FalZ{L9+B}kH9bU!rTdkk_0yDz>K|}DJj8}D^c76|zjG%?K zlCgcA=+9&2&0pyLf_q@cWtWQiT{p602MX-SKJ6Z*E=h(PR~&=bC9m9aIkLk#zv#80 z;Pb>D4sP8_s2qplVr&rg#_EWoT&`j|b1XwMtFVGz2D!0^`99fdYfV&}fZV68tF&Hp zPrKG-OK0-y+t5kWE-H8jb2%U!a%lG=+Fb3OqFn+{W80HaypeLk9##fJI_-Q`L_>t_ zxbb@`Lg&Ymrdn5)j7!I2&$((fiS}sSSa+-QL@)E<(yy!(N+!q zO0C}^-1^eMZ3#6uX{5DcewDCpB-41>WjC3s199^XJ-zn9N)zw53bLr8;P4g?>dm+- zAp2=Dc7&pr<8`E{UhqxbQKZfedN1>iTD?fQt>Cs69Cw`1oW+!@U&2tQg%pJ1XCL2w zy@|I`y`tQT{M*}T=iU&~g=-*nNl3>`96k6P8f+k=wEv*^k#|*Re8<_nZFEBjt+Do^ zEuUStK~%V=d@0|1kk5zAG1eT0)G0$DT*J0fhiJLxD|R$Gv`M7RIk=K)!d(cLEeoKv zS=|2~b(SpF1|_V3;!H$_Ev8R!Kh{c&h+X;pBn9Fz^B8he*jjiliAj(tCvKB=MX+dY zgn3k%_PxGDyF13?qsun3p9Sr#y7wf7@YSyN5d>Q1b$$z_L>Q=xjH=WNe&|*u;d`pU5g0MTz48XDX3V zpTsCO=OZQZ%yxL=%)W3X01XWQz{3Lo zK;SFz_!kiv_}ckv6aPi$kH~t4n6Qlf$stm%VW;HMZvUixXUS0=}6$g!1x=!Xu3s2C<#GtT`c)@d`g5@-||nBn&D#!e%N)r`3utV&;Ua<9a^mRC_`)b z17~m-`A`O{&e9g;oBSWDEAFWavy)FeVyjh0Z^2vj9hFBWU@Z>+7Oxe3mMtz?n!TIa zMmgW`QQd+gE$|5i9T4&;zSQpT|KPg5mUu;g6RQ*|L*A~l8j}=RKv?yK5{M0nM z14cq0YBdxwTq1MsA?_Uem{D+KT1&^qJbf(|4;7y;fdm=sd$V6H0Od8rzAWaP*9c>d zsh7x0$nM*S%t55qA=GDgRNUy(fTBQmEHKowBLx}LKctO%TkBC@G3Q=!(7F+d6N3`< z(DuUrfj658S{xluj1D&Y{ikAENED zhG0?2H)ePd|Jj6~rm84WBx;d)s?pHEik8>|M2Noo3*0(yKTSS~{$BEz?w7U@`mRQp z9$0n#BFzn-5!RDm0#_g9e;*@fiSTHmD@Qt2J=8~qIX;<#v%|+FXaIbhyKwvHZq#YugBw}cZL0O!4>a^o^`QqT3(c2;AB0_bJ`gG#Q*>I^g>c8`0@ zoO!y%3*zhOG!m)|Hn;Ti$>24tyeIjU`P<~pTPP^n?y$vczE+)(MjkCEXWU0za|VwG zW^mK*tbTougu}qV?X-f@n`R$dl#U0JA;+7`iBCj!-W*D$0al+57_)g=5vNvX$+o%| z{SVgfYS(Wxm%gKt5SAK{!rGw18)V#i#CjUj;6(GPMG5^Rv8>k~6QPn45z3TxEUaY<^NNitq8jyTO| zRJ-q{pHF;p4vp}Z5zR9^^#Gd@FYh9Q*En#L9~QjmXyN<6hZ62rehrqM^io5~PZ|j- zC|`@cf_*6{_L8ZqO$T-{ga`J+Q6G1phg9YAM`M|W_RDHzL@1P@Yr{v{8E&~inZTFT ze&T27g-*1x^H5-}V8N5X@PkHb>d{YH(D2A(>QNOsLtf0{G^ez<^)6;l@KjOUFZTi z7h?n@n(tW#b^93Q9L1EL$jL4Y?y$!TsEum(q8AoR-s1>nR;Lx_R=JCK1b$g9!4V2~ zL5p4dAXZ$xte3aNeH*qUSZv%N=!6@nsV>B_&+#s%aE_=eJE?b0R znveS#_1cThd(m&`xrj+D_ZZCL9E=((c2o@R| zRL!qi!S-d}D7L>ja~ty6Kq{^gU7y6c9pb`9If)(`*Z6hi+pBEx zj*{EAQYO!0y`LC%NKbbb1N#7NLah&m zXXWq&XTsxb;x#RUB&x3J`{PsLJ=FA@rKEKZ>aVp%r9AeMqK~5N#*Y)IR3G3NeuEQd z!(j{vbu@N$uXHJs${M1}zIYsRG$;#AHLvaP?a8tKXm=p+(Runl zjV*8<%R00A2E@IhIyYN>*f-vt&YY#>hZS*Bx@sjd&l+xih`VqD@|LZiYqnk8m6r^H zd$R|G)2fg^)x%UGo>+JJ#2S``vNqw4G_a1v=cg2Ps>8<4tYkQ;8W-S*AM>+n?Vhz5hY#jk%A-s#Sl)~+EOqGYoU zE{9OxKI*T7&_BQX*)R;B0H=oI(to8f6xRQQl4}3UU~l}=Vfu^)nORe6 z?w7M$A9}?7rZ5bppUs|TYq^fulY&JX;^LQs20wHZ*@9XWjYjB9UvU|dU5V|WA0d&V zmvi$AT!G&&drh<7w=Vhsi{`$|91hXXW)n<2%PJG#iqybcaX=X;9lBmxnf^^{4~6P8}h^&W*wAz zw^d8k`?zeiNpc;RlJu0V4k0baEST|3r?)4?Y(J@oVNj~E$XPT0y;u4D#A&V|!}OS< z=>3;DwD$aPtL*+04)$kdg%h8g-=e>pRth0%t%Xm#8?@79W%Z8B6J!Dx+LtXBHDSq| zzRJi+Rbqu9ck(?x1NZ3;aOX|tB0~nYjg_jW9#^}o3oBX9dNPh7cY#~v35_$`?8oN1|TWaB?>H%M}X| z`*t%|4rGi1&PGEtXio7)!?!$LFmjE1%4YBl``Z=SiIDo(uvr#2WQ~A*o8LGw>?u@K zB$Mz)Qp%JGO58RE)QuNFlFU+w5IPXMhxlf&QEg>Y?MG84jDib0 zd0=3E{|60x>W%?j&u23UQOg7Db9)a#tF;mb5Ao%m=mAV*YzGo8=@3s zCrfc^8M9?}X?&MyO6qteOd5J8)^DOPxS>b{%dE7y?BTh!7oI08B`0nxTb~`*4k}BJ zD?6VaGB1b|AV%-671JMa$6hZfEyc^>V;I2R@02E7%4FU zgVaET1)U|*dK4zTyQ6Y2D%h;S$mY4xa7k{Fq{#b?Xd0Fu;=$J9Vm%Xcj_0%~3pfT; zW=*K%{<;+BH;j|liKT0Mbfo>X+j6x~fXQ#68oDbD4XUm+3uBSe-nO>X0)TJj6tSJ5 zAzbMVN0QtCQ9W35VyRy}ZQ*nxfK$o1!fHIP+Z?SV>zA0%0=%A^S+m0XxJ*$X5zF|- zF#5F3tfC`JEgFqR7ps+!Kwjsv61?^3NKyN_YuH-o{XnWkY5R+&G21q=rF42{7YC~J z$sBm03FF1l+~Rg}QeBD#0Ic-BgN4B6MBIudr^^|7ZCN|?Cqf%6kgM{RyW&PBakL$qP%2>qJjv|5#vNI>vguKH3X{|9;+eM63* zc-rj1M+T`xdfZspSZ>04PofoYUDcA`_l?Cdb%Gs?*i|gG(xA-+YC@thwYY~JZ)~RM z*;*!g{jSu)qw0*QCw#C+39b3?Nqtn2{LJr?OT!}Wd;H+TUB{y$y0CNjeiAGd>ccd% zyHy8CF>c<~;v+P$l93@z;^yuTJr^G7V-tt1Cs{I)n6-k>oXVo!%~kHYu*3u&p4|Df*goWk<3vZ;))j{b_>m=ED-mYJIe2MNiGQ)J^msCTX}jWD{gcqNPjl|Y(k$lTaK9Q z%K`V$T(f)#Cp1^DV#Qb6zpJ1TDozmba3YU{<-k!1$QpJVs7*7DC@vb zsFs`0@PSjw-wUQ^PP(bnP1h;Q#V&(?lIHWJyn~^(n#VA2wq)_IV(XP2nUL+0pss-a z4LuJS?cGW?@l7m3OT#8huH2knHzHGx)(3~Q2WNy(RArq3ZX#?1P^=2AD8B=H$C+T9 zTSCh4Z%D8Z=CgmjLGg+|76jDg$TF)`H8-|*1HW)zwH&ASOToY(lTJ7OK_Qth6T-?L;OU41~LTFg%5K)BHfS^|gv5R+8Em90c(Y4>42Eng+<9V5z zI&DqfhF0rKAW}P-nz+TTlSbIZo$t_r9Zi>ocNu|-0yksdii>*8M}DxudnfKxn?sF7 z9R7S0t0koD*}NF)rd0WbZLgraS@Z7S5%{|=%!|~;)FVBZu>?h?`f<_2stDc)e6cmKaWdK* zzldPap3<=b32<9_=W{qkhX}^Gd^naPt3p+uXf;gV`-($-CJH0q%dA~mk)AbY%2X&X%I98B>9Y6PC``lDsV2|7p&l)_#wZ_>! zOgIp(*__1)kF&&|EsLtHg~21ioi1v`?-XMRBw4D>fj{Dap5zjtL{gW!9?Fp8h6w`; zw#-kJP6C(|I-i}&rP7oeeNz~cw(x1+F`{;S0s_yxHRj?`YO3AT+DGt$dKHrAxTx=% zXKAv(6IjPl6G8wB{oYQ|cOvjmC8*4tZhnY*6Lc5El}T!$irB_V+;2aFo3HD6K-%oy zFKE($C^8*17)pE{JhD6Ip9k(5?rlL^^VNap5J*i9ZrWS%YjWSu^eGIDl?4X}>npuN zO#y(tc?@T2GNAk8H0P>QOd?pGjY$b=XGn33^z=$vvBy6z^jkVt(E*+KxF;oAivHb?EnI z%7_qitRA5~v(DJl8-@C){Y@Sk&_i7K&&nPXo8Q<$=%J*PeNixqk6*(JjRzHRNEn_p zu?kHa@H0bC9zT@k=$PNrUzz#(>}?w8(fM*{z5-J}GwJp5aM{|(zX1JsE^%cj;|6?-?uFunew0+8!`2p@v9G4aFA7VKei8Vf z7_tH`UQh&ldBOE|2Ij;W7Aut;KtF><+0~QX^0gsqOB!-4x|6dMJ$3KwX4$B)o<}Uo zcs)(T(#p9z_!cGvDR=ApWw)*9`KxkC;nP;1>Oqy)Ob3)W%Yw__Ct5E?G_esFoU@EqY?j;<3`6o=3vU z>~ijr<5I*Lt@3R=8NSf&F8#T_q$sqB!stzwUC?%bwQYuO@sTwJwbI}T^lg@T6*f7M zRon9V^f4j$UHsr1gt&{1$gG*QdVErG(eqssu&qWdB~3%-2m0RZB*cZid^9^vwIE%P zm%El)Glq_^Xk*_mgoGOxLkG%DC;ynAM1-}&?KeyKLMKVN(?i}kXsOV9De()3vq{0G zVMi}I*u+T)_U#2n3H0aoPJA3Djh3DXVBg1_H-BDYV>=j%Bqy zA(qjtHOi|`P}sqdVP>_m0^^*@Gpw7n!Zc7c0eS3^)t$;B_w6LX!s13mHl6n8s^Stx z`Hv*@9zxL2pA>5j3v%n;W>sw62)^$Ki1wN>f9I$AcFfpx=F1G+=7&>fMW30_qhvG; z<8`(EM%mLI+hHDN7Rm!#7T#4C4Cr{&yy;oEhTD3|Jh-#DoJG`|l5EL!=sipFzWrH`9`RFtrC!wllcCZaZa+YbNI23=a$$~aSS{R8eJej+u;E0Hwqs50R;b`RX z@Xg*cAiW{Ur%MhzhIVd4j~+|r6?w~R$dEpzohJRuhu%3VG9t(Y zdro7Cc+a+YaMag$iGt1FBfXJ9;6bb&rZjH67dRU9bnuOeITd~77R{9%ng+$YMLlWNPN6TM#ooi5d1j*&vYpB0p@&PTE8eis z@zdDl(#g_hr*V*?+;PjVsoXw%o_To3UK{XBL~ED%KE*aY{uKX0yb^FF7(Da+CKDeQ zhjm0p)o%3AM zonsU-M^tIFx*+n)(>mJj*)PU{5DJ}gxqsA+nPl@_v%&|^D~L`5llI9nabSVGjp$>hZNP#XMx@~r<+9CFZf!qD3xSLp)quCO2W$aH3f}z z{KY@!^KrRkp~q)$e^oh96dpNstir^6UUjETzUMrnlMr1y!nY zY*Mz^vN*khk1wL5yzr=@MvxN=YhF7enuDat%b1!)ua($k`Ed2o zYK#sv7bkmWG`Dmu60L2yH4&{|xSEmE^3dJfg0*_~w&6MQRCx*LljLI&4BUplzQyk2 ze&(ou8r*uKhT)b(G3hP{^5BI;R>r^HPU99@DkJuJl*0${Q*}3?Z*6Jf8cX9Wf6LW4 zDGg1T)x^$9FDmc0BP5X)&&<$1FtEps`2}U;Qfv9!Edsqch!}tO&d(x|b~TH=VL{}F z+hoh#$Hq0t-Py9<4H*yzIyVu~l>L%|9Ri zcA0ew3l<)FOhUb4&uu>$vXIGmPqOrPd*MDAqNLPdWfE{deux^W|N7ZBRC{Vi!ZDQ`^FQAOf!9t6TmL1OA z;1dq0Y=j^tTajwq1wDMhponf2aR7%uTyRE9twyMeiZ((b3jHnli0i8G-6C03g-1B< zE|Il}YjI+Rnl2SE(pEeStKv!}1%9HV37CuNnvM;tY^)MXkPc5aHjCbolbB3i2_(|L z^8)$^pr#t0=q}v4q+UqYkRh9PJbuMGxmWsMpAz^V_~(B?Ise8?|0e#zKmWn_AIkq= z{1=hGVAcO8vwti1$G_ly>k#{jUQI%CpOzPK` zE|<<-5C5*U-8SD&rUv~e?N?A0Ao}Nd2|(aK@MD0i=pR;W;GZJ^;ScBvz<9-y0RT$i zpX0xk1^z*i|1YxtH1$ur|BLKD-To_v|0(-VxBrUa|55gz)A?r%qR{H@Q|=kDy(R`i z+NZiJW*Lxhk|D3iQ@ql#$o* z{ZlaCxS6}6V02U%JgaKAV5g0V_pD(|w>8E;&I%Jo*PwXJ72ny*n~_2;ajTw-Lw+;O zSG+$qP&1ld<7xJ1DCC$EPW{pZDUZC1X5%$DO5luRB18}=V(??R9WLfNCg}Cuz*t<( z9|VC?nm;CmiRl&U2r7ayQuk|WAQzmlf$aDouC{io=FB;v+>@JNpF2w*ufwgHxZnlM zi1TVl5(%!iAfzZ8wMn@>OxhZa0yt9F5v;T=D;z7s07;)==7a^9%VV=>DH|=shfhBC zZ}}<2`u5+GtetvtKl=&YMd!(hL8~i0^h5w+J?1=#Bsl=0`}%^+P1OsBKa}oM_aCSG z8>OX_i^5*Th<&^b6*<0%`mfipi~znN*GnAmOSD#W+jwOKHsnBTNk|ob?^f-e#RtDr z3xvtvb`@)hv=oIhT4(!c2~c&-oHZq^cU_W}XtlFn14=MwV;?tFduU8flil-;BE|+L zwjEtcIpoo)u3t1|76Mew39f#h1^Cw-aTzRnKLxb3%^Js^*ZtHZDRZ<0j(K{LGC|C(mGCVsBV&f8F$mH6KxgzXvqC_<-du$dlVTIBtf;)?TqDak zGVRAPpNx|UgNd82WC%CTwW3<;rj~|qXM9qC*YbgrRU|}yc~$<`yJ}V`^AW1s3smpN z@h$S07QO%ndFeIVoV1C1HV|=K_U`)2ei%aC;>8Rei-E4l=_g16iN@xM74F{lv{0@A!hhRpObqw}Gjs zSO!tYk!P#gs%hK_NXx^BY4Q=&{5WQnFz@tDy=Mq(n@eQFsRN=#5)h6WE#(>n+57y6 zPhhmTwlzuAQI)y%;B5=rDMHYZe(2N&K_T(z@sU49zA#vO>NxU~lTCjS-a>Xni3ymG zPnri)Gr4ztT5{%}hYNzCtbo~`dLB}7zMbUk-CDx&Mz%VY+xZfY5yeTAFa@_3 zbW}-ssvD#7b;reGAK1AoFU#qCwVTm3ODt3gJ|EK@drHRd^2pSoaRxn9wK3U6dRQ1A z3xWOcZ6o|jTq2b!8gykES$2zX3c*D?=t#s0ig%Py157wMsKd^DK0^CsM*Mvxl%y?r zAZ{yNU6F4sEjqi0S5ZuA1`g|N13!OfdlTQ#>z$LC2?`%LsrY6$cq(_$SXEuj!^ETF z8hzSRf8SUdDfK#t0dQ?QWT!5se(;OGpGCJ*)c*Uy3x^9vG%)9$APIt0rjh zCrcxGklg_gWceC?ZM*%JF6KKRrQV}O9w~W!hVgDg#YvcFMDFZ|jP2XT;&rcv^k8G_ zhL1QMq^1j%XG?U!A+ARxPnB3}3H(`{T22% z1LHb&Ey=5$@g4YIt#VwpJrGED@sTtFNq4Yd5a8o;@7A}3vhwH<_oQNYd|2%TntS#p zZ^!+RN6uQ|ERr@fwJLSYex^6F6uG|e)AruDmhL!Qw!!n8vX_d56$v%UKfqeke(+Ke zW@+r+d0~nBC!^C|u|?_z?z1PK^cfj#Glpx;SICv@a7a zn@m_rgE4-V^ogFD{Gh;9Q47J4qQI;ob<*h)t%Is)>RZRa77kJ`%eB(Ox;|#@Lag$G z1jJRK9qg_h*8iSSac7G5cI@q4ohJOc(V5;chB8ZRAP`ifH*W>#Ey}smu>L|-2xpLl zEEHX6&5Q0ezx717qBEJc8$TAax#Szox%%2lF510S7c|CFH3FphW zfpxglWbPJ{^%t?0WpS_HFXLGKP*KTGed05PN=$b1sW#-bcd^P#m1bF)3qpgHdwZvf zLUn`R0>Yp)p(%j9d1VwcOoLK&0B_J2DgM;$Ji2?+Z|~vd&z`Tj^x{RN#KAe@mJRZ z{S-{DA(iGQID6AP|MU2g7FR3k&a$scY^U<%qIpjI2LSuyxF&kV+Jtp}sgqmJIDGd$ z&Y)S@;jb?^vlYlgaz6W9Yd=82L=UFzjVGzsAGwZmp2QpRCP7V2?h8yp5<&)6b(XJ1 zfL0MA{eyunQuQYE3wY@E`whW}CV@WhQ#W$7Pg}5B%17$@1e~)qX-~VunvmcQ_SM95 zpQ+6!2w#J!w zILjBA;_h|&s&WV3z60VVGrd~hK)b%o#79(Y!o6F2IVbr+F=zUUs?@zMZO0vFCI@E8 z%UE<&$GA@VJ6YFGw|>%)SzsW}=M&Pg-fQF~v9^%4Y)hJ;)%Gu(V@D(lI@o1NF6gqz zwxY2#n2gg>bE7T$-f4$U-(GL`4&^Mf$QO)EE^V0=27}aTEN=ZzYO7g(hTam@n>;de z<{@1ZAZdJ;6|UyxU#lNDT0KiEbvbh!syq!F9PQ+*_#AcG^b&Er!QC?Z%RzW%B1VmE zqjkYd`jH4HvW1OoiuPA275^?LK~o!qkHkZNKEH;$fBcT0%2hiIkE)Rtt@#s`gDZ2ARCH`vxvs?5?nNb7?#+?X|iT;&Al5|gB?#8-8?#{`R z=8H`Z2pfsRmaQ`Mr*oSqRPls+BS8JeWVDiC$}Ubl*m&pimh?cM{~>qU2m9g}5s4y* z>B+P_c(wcNET`ZlU}&b&nd- zX2YN0VvOl{VDQYqU$bSRhRQzE<%X*QTelb5Y(ISTAEQcx_7YS4@>+#KPe$30rgsfw zUAHzbnneUf^Uw?T&mrQC;Y~qs5@%85d2$L67p3<{d{%#IeooC`mklc%%E;b4o4)8W zsD&$DSo03KPbuNrGr6?bym8B>eld)Sw04=e*?E12{&zRs*=pg+Dr(f+LawUV+lrL7 zx;3GDZ6ty5&oD52`A7#QID?7%NM*f^xDX_Y@#15ws*l+PEg!#Fw+?@%BXKyO3}}`X ze4b9Y_4Xka)hN_fJ_SGiP&eeL3rrF`ZmfRZw51YQ)3Ug@Ia~Pk7Ku0u2qo4hjM0_2 z*sJXlJeMms4l||h|CK+J8ZPA*oI=%-nkKXrZXOB- zx);-~X%GA(q`}YnwkoaXGjHh{X1wV{B5ixjLJ+fF=utaxQ=l-=%w>4KRn0$2RWHuV zYbg{?a^eNam}10JE4>KM{S3{L7qfXEn{-PX7@TIm=O);o_etxW!K4?Se3`tN{sDs4 zyW20}0dViO`1oJm!)rq7&VITYKECX?sPj#H7MxW+ZC>QrkI^2^9B+X4wpA$F*HE)Y z38fby&Yn2aLOk!m%bh^ia(qaFM3JampyzCAx`8C+A!)X~70$ZSt;{3}9G4ZZ?=Chi zaKa+MpUWh9calnQzSp$CZWwao7+MD5-Cn@@u^O(4|7Z)+BFE4Z+nB zxu z4u$)#@kWael9FT{DrIRVO+=QlmMml6M|NQ_B>Naqk|;CQmJ!8Rhq23Uq8KXMU@Te6 zK4cloFxE4l>s;rDb6w}R^Zf^&>;3$4KlgpVUylk{Eix@nhIk&7deB(T*24iGYcP1N zY^Yw>)f!mh4T3#9L8-#TXq~>EgC64oZ~97VHI>zDea?q(G<>oE&4M`&_dP(xg$CCP zp^`dKo`@Rq3G5(LdFrF7Sxyizg}KAh+rIto{)Db+f{sd`S6AC0P{s0Zleh8^m9ZwXbnvrc#My3kjP%}Z9rE>v`BGAR8AgJOScVIw{O+0j-a7YW-eYaT z3({AM#VSEzEo>$d@L?k27(6gEr0tiMFvgzWFH`6o)2Nl_p8^b0)i-XQDk^wYESq;F zF2Topy5)Yj-SPpPBH8Z%)q9eMl|7d133rDCL|wTgq7?u<9!dzv?imZe2|cC4+h{9(j9-q2@= zr@AF!#B2pPIw>kpqxc~P$}D>*P`h!ia*~(hpE45<_^_MqphfVs$X%_0uSJ>T+*91P zcs6+LlQhdp^ptP8VetHbh7khQBlE_obG-gcqNQzg8_E2fH%U&sXD#04bri(Hg#m~mv#sxpZ(ME1`BAbu6qs&Qo|pYR-87w4 zSyB=Szn|Uq>!?6iMGDaHvLB#?2O^P=w$T)J%FRzQju`_=-%$s*zD$U5Hw;t8+1+ox z*&hDUic1!x+iK@NDP0YbWi>c5pC+!C-yDt7ZMs-F^|9}nZr8?xICt%5^LQDAD8gCI z-{5ptckj(3YtYZIOoxhXA~djMcKZIAf~wET85qN9r!CnXMJO}0Q!H{+;6R|DA2edf zk&;8J!{Jc5F(U%X9P$y{Qm(1bPn;+#6E|yeF`quEmClCPrH;yT^X8e>k=iy46$uab zpbb*g^_?oRvFf2^?{+Po%(GLFbZ$$d$ZeAyV?>AYm(3K#wH>fL+kCe*yUloh{1@kNZ`}VHlk%O*0vxM7Z3ds4Mj)9>s$H zmhE|VPm(q1fU~;MdCek%B*|S&BaXqfz|a=!SNmb*O)D>1H)_`3NRSR2SoyOQu4

^urWJS)ezd^NH98p$0jGjUxfK(C*n{T7OXAI*EFQ)&RtG##yqQ0){b zwXD~4CxYu?#*ZmE$R_ai<-^mC2;M}3*B`(hH&P70(i{qDY<0cS6@9vpZ7>7UEOL}F zcX?G%tee`i5Y$9&m6{qy-}Ow+2lEBj_CB`pFWC;#>o8-WiNw_-mfJtKI02DYE=CxN zfjh(PWHWy)mW@Ch`XT?oTD0CH-JCOpatQWC4E?jY@y`S|3XFzSBWwyDVlhEe`!bLR=%VzML>L zt9sqH&f+J@3ZXyV0EXGZZ%n*%h~t4p(rd}L3W`(Cj`vz{?ubf5V=t*!wflMCE{O_p z&=w4|+(UV9wdaNMQj99y?qxiWd|57@HaDqyO>(p&wE9D%yP@J(uU48Ot6aiSZ+SKo zgMEFahnJ|@`0sD8Rgd&k0@W+ZcKl`X_5UEfonizQxH$0s9!c+wwWx~Ij;BzYG_IvX) zme!8vTXl8+EWCHgZh9h=%Gu@F^S%^rQ<_xOrK=%y-sqqj{LeEZSV+=xg2VcJZ~+HT=UILIqX$Av>+z>|(A-0yLY0ZoiA#?{j^-<3vzt zY3J8b8Sck_C|MttXBmwwW(pXFB(y!Z61JTy#0Ma``q^uYX`$P2C4JXykpZQ(+gy9# z0T)mEA#I2$b@yF5*kT4%ILT5&RKknW(bp0ZFfwYe{cSjTQwL$8xrc($hE}+^z~9wc z*3DNO=DQR)B;AYgR{)ybVBZrnHT6x%ZIXSlq@QnNVP; z%N#8Th=}Bx%@QlW83O|63q$idCNd#$Ci7odCf#do6}!HZ9pmLtJ=}NG=^z9qcAqyJ zLyG*hzrJ-{cCN>JfLXgUzhyhdSGsCzW+t!F^6^N-(V6$`OnS)@&$r2X%hJTwMl! zT~aNX8PI;A5YO|1^jhz3rHClWj{Wo|`+|Ye*iqPe?|TJG<)j{6=XQ&gw0FI$NQsJSb7p~bq(r-dK)74G~(%6 zA%~du)nRp?EM>E=^6QWZb8Js_lec;mn-N{D8me?n+C)&jA(aolxn}%hw|`j=^!3>!9aeHrceTPprj5W z|LXodgnWJZih%-g!)WU?k|`VsMYCTX&kslSNNSBWv(7I%mjRD4YfXI4rP zFJjE3T@1HTPxHh9g*YA?n=i3bduDoKr`d~CGN(}j<|p3-Ad&&5Bd}#6gUp95F z*fag-IX277kW}=gj?i6MrR;dr&~4YAHv}g*RNoJ`_u(yVsPBH@ zGB_+z+e~#uV8iRW5~JLZ?ihz3!=cV5di7TlzPpDVmWaAI_Y+C&>bLbBiaUFLi^T7Gt0UN#sA(_fhPwg@M2 z+Mll`e*;QOC=1^n)y(=fO^2s1tN9g2l!m)aUJmq{Bw@|<%;)R3!80Eo@sc22sRXl~;6vCDLz}EzE zm*v~1i9kDBDX|^QhnluIe#UR9q6Dzd<${A_RN1w?-Vm6#Qg<8=<6d2;_h@U7p?q?rbBz z&Jhyf#{dXmxK^r#P>;mg(&;N zJzgwM5}3jI{~NTZI$VF5qoWn%;f%Kp688~0pOPhbO}M_qODI22wHx@CM*?sOpm!b6 zCp(Is^MvEEH)KL))`GwnQZU-O$`gsezi04*{Q846RetSoh*DTejA6M|{Ja%Z$41}) z{z$(_N4Q%2LBG1gE4@q<)uP^1W!FpSD;|>B_2+94H!B14LP#HDR0j~oDufFpG*k52LCNE zZ5&(OFF4wTCCg@>U~NgdPPj2cU9iN^0M(1K0&kq8mCu_ z=&YCD#aw0{Gs*p?{pv?Zx+3+=vIufxUm?k9J!>mch}QUnlHs+<_fbARDqb%-Ac?#O z`aAZ(vc@CuLD!|B?6$8;SoWF6Sh3#I#|Vj`pxRn=R2(@EQr;Wk*e^H8%$3$${AtNt za#jj$h@3mm&Y^p|z-NjRsFD;VVYCrx`Rb@6w4D59>@S@I2he!Wy)7}Fb&~%rk2w8~ zg3h@WB^=<<@sFzUQPMVD<(1^z3+TzMm^3{}(NV|)E}rVdZO>$^rs*ISi8yuaVQ!{n z7a5xET_t*JtY!AQ;EiQL-;2T61z~{TMCeo&#uh9zS?uIzKT9BW3LfK4^xDme z;ciWRS#0%m``6E|rBqKewEd=0ZXV^72d;8o-VpHVwftTB1LVu)q1&Sl>yEKJXn*F& zNtoJQVOgVTn1<=ilh@zJHVuORvccW!>v@6?Vpjy={aJ;U0pQf0t4z-uL{lN-b-<@$ zot@={8df(;>dr;#AWhPUZy3XspE}utoHW^OPccI-{X0wGQ{lPJ_7;2BzaLi4MUcdDocR?RuX7^5#WB}C(TS4tb&HkSEt$2DxFM?$lyUMeg_1}-B- zf2I~4I+T@tF8}9Rn;Y#+_o>7vCsW@|0S{+lG{Ng9cxSH;2|2Q_?z6lR;to@8e%Q8X zE5lj6Tv(2LyIuR@8o-1xGyN3aAWBu5BPpg|8=Z7@z)T*R1D8-fX&XZviBU7J^F&4c zoKI*#2XPI|nrBVy+_TaIP+Lgzo8Zfmr z)*@aUU@} zE&PrfSrFO+eFsDKRHNpFQM3^A;N6TX!tjD^2YlEui@3Rsi7~mVQpwV*bzfCi%PV5I z?J5_?Ol|EA{{Y1%3H;=vSh-^lcW+#AT#5HzV>^0M97Abdd~eFr5zmj(mQSW+{;l4L zOs3j_VUqp2-TM6esm3#SZ(VC2#c?->__+4-{4a*``&EyXJ!+zfF0Km*bq)=HEH6CB z?nDdfaAY0kN+rQ@h@HSzs~(X=#u}zG5!N2%KwvE cDKk0ZVbf1_HWDPx{5!bbJ)^rNT29aY3vr`Apa1{> literal 0 HcmV?d00001 diff --git a/html5/verto/video_demo/img/verto_black_web.gif b/html5/verto/video_demo/img/verto_black_web.gif new file mode 100644 index 0000000000000000000000000000000000000000..1e7b3a8fd81c502e0f15311caa893bc05a07ce01 GIT binary patch literal 11569 zcmWk!c|6mP|9|hk*)ZmwtB_-gBGTr_oXtH)8BrtEbW*Ba7#rp)MSUnY)fAyrh;r7P zNvbJI_jKy?`~LoU{rP-6UeD+2`FuQHkJrn~dyAt}EE%#0`~ZNJl@$O0T3Xxs`uf0N zNN8A?Ts{^Zz1_sbZ0}yq;lrsve*9Q?wOCzKw}1aZ&n@)DH*dAIb#C46T4%rh)Tz?k zJZaj|^pOX0BO~Ma`B#1S2He~{XP-VdHCy%cnd10y?$p#YC*?q9X13j0dm>Tu<45J- z;4l;l%g&L!|M0Q9r!O>&xyhBPr*BZ-&@}yc#y=p?#)i^-wdK#Bzj1N#t5%u&`T3b! zSe`js{{8!M<%Mc*A3r!8L7}WoOiH%5Uynqhe*OBLkid?NjDGv}J)WR8Jp5p0W;QS= zgq@hg;|tZ)G{(jzlK1QdL!gSem&?n)K7aZ8=kLFb8(nVPyydXo@x_bzfB#mtZD*m; z7!U~T;^KPle1)bK35&(4sNz|%ald~3x^%f2jzIPg3<3b?`t^?GgxIW?K>V%C@wkm@87@g-+!p6sC@qXg&7f9RaN_X@y)@5hf`CJ*4H=s z`fUwoM#^MYpFf{FmVQD_O>HY9XxFZ!-roBmA>k&bW~HTPKYd!d)^a^6YMUrq+}?ik zimW9lBz(2G#mo7H{QSZ-R@N027yqrSU@+LSpq!$;B) z2&Ar_{_Q(=+uA$6efu86+EG?^jzCaTDwl9Lm3Qwy3=NIkxOwM%Mb*!rziR6mjvhO) zZ{L1r7gu3M)`krmd+zqB;t2o<^yJA?6dI#N(jFZhhd`mezW%3ApS^#7aCh=vcX!W= zRW)N{YT^3n07rO$?BqrZRufxzHLj~)kygsN*0H*cn$ILY4;zf&y9Yi(^42r`Y0 zO}xB(U@&-5@hSP}n6ZiJ`1s_31BXpaSGTlW9~~QSY`i==Iu;PH)!%=siHYgG`}bQ~ zT3cG$T3WBSwq6H=z+b+63lC>Ld?*hM4aZ_|a`^<=$kga36!bp>09OBB{@)W+m z>d|Et-2$Y#Wpux+@-ANj(97w~7y87cbxGx<_m%ha$*MhbvgWFRBJ<#e=z*)%L#HV_ z2Fty#)r^!m9(X%D5FFRYG!me#m$%R!UbKBTto=3xg|1>;^f~9#+A!J3yq5GdM_q6H z3e-16KdSjjxMBQw!?vO8m!7n7UIq~nnx=*wQEh41%(g4f?{Fa)13$;=sv9bAG&0Y| zS5{!fCcfwWI<77ZSv)0gZwG(zgLkM+E&1JOc{5%Y?CUR!i1nB>+hsJ5xOx4Xw8NJ@41f)fwrZ`Q7F`kTFtftvXTWRhq{e{8C zBf@)f-C%R7r|BxA9b1sWN~PRxbBLnbpJIP-NIc-rHBz1V0}G+4HYK3!RQmYkA^OKB zdaQQLb!8pWWY4?P>=^B8CML#kb6*HI^un%SO2|FRTF|;ougd5ZPKiCA`?a57dqxR! zk4ZhMYe4F8D~z(7jm4`(9fuU!CpoDX>+S#{G>-!!79QsuiVuOaSrAl|;?5Ghdt*W1OhJ+EVnD8{IFyKK94Wymrd%#Pgq)t6cj@zA0(5s$#*n6DuOyHj$qZbr&iy5v9C%JK< zMiKi%G!4B&;)(D#ccW&yGpFKrg#0`(@Xu{*^FwYvmH*gF6KW2bb`bzbEI^zdzq~9= zA}3HHqg!YlBlfm}HI?_mGbx>-z%7s{PPEfXP|8`l^h2slG4)A9`d?IwKPA2*YBx9K z>@K9K<~gYke8RqX&sUCl88-m>)(!WNC1J1aHS$Xy)tL#Yfj^%!N-#E)S_SkSih09L z{9c)HrMO@d9T0CYb_FK6R zgv5l{73+AY6a?A1!Sp}F0!_VOr+cJYLh_pW_8mA>H$Uw1F8!TC!a7T4!nR_N>3Jk1 z)67(2yiCw=^h;cGLF7(9A;X5$coJIO`tP4O0yEjLwvd37PASt#RAD5Id$V}wJa8}g*j%G(O!F8@;2~0 zGB|$TGAl0ocO;jBP$Mr7*3$hOg7%HKR81-l_-_;G!(|f45`I(p@WsEQ->QF5lt zBJ94;)YY(^h6~CuivZL)y2m1!NNJ4T5!cBV?Yo?M%UklyMJ4=Yed;$JjNM?5Tc#==dY*k+A07U{3LboXeR9xcULZz*q;-fSoU6>@iMiEt9; z-YVw(?7$@9Q>6AQIbkjON>Sp-MFI2rE6meHfu4O=*co$U;vFO$8_DgNl2i%|-SjeR z6lZYg7ujunR;FW-?Z230(@0M5I*YqdLyzp}-CdW{L}v|$JYT^MTZ*(S1XxrE8I@Y+ z2HhW+=W5`Akx_abnOx){`o&Yd&3wXach0`WO1S;qsQ_amjD}nRs$2$J<)z@ksg;l= zX74H+UG=E=YYsQ9apocSAt`hi^gP2;P0Gk%&hrs^Tj<*FIq1EN9S9b1&sI|L>|8$> zq%sHR7YQJ?5ua`S*Nft23qeM`;YK8ec>sTok%^}wJ@b69-%o8SN>^M$IBm)M;+~z8 zs#pOydDqHcrvp|}h?Q;^_}q`-*RH=G_eCsiai4WA+C}cZgYD?!9KOIqq{loVSLM&tg-Cv{$(kx?w(Rj3rt&>+ zje|~(rmNK9=avjeE7#raR9DWK*lMBPu=+09Xi+*cy5 zA4*k3J}lL6707%{uxm4=L7wX@5Hyy(Yq3?Y#8TUl%#?oU9vkR8ZhXXK=SQp00HCvO z$Af(9iXe>O;9bk{-M^A>+e^~dWi*y9ExW%sUSgNiiB+TK5{0*C)>=JYtL$QU94JiU zx7@Vc%GkhsL3y<8WG_7Cy-l>o^_j?tS1^_E+JH?E9QN^bGm$M)_2Xe;rO~UT{oihS zo%+7%Vp|{AIRD8Wo!SQzP^GgA%guL@C1r3tulY5%ML4YB7hQ+H>`8N58-~e!kmG`C z9i^SP%3V{G+(6!9gfZJ-GI(|DnbGx6jvt@z-wv{ruRjE<)rua_rO&U{I(M7CLd1f< zx3pvJT4DOZN=k z!FmXy?}$zgkhI{={#J>ME;j5!kf@V718pI;S{nKC6XasOoe0ffFCBdW2}eOj+{c?x z5=1S0QDs8L5_U99>+);u3JqYQ#D_&wsiDDHbI!A)NioefMX^u^dks<+^W_iXAXTSN z8LC@*LRi29k$FLZ$uV=3Dv%BIWe~n)uk05VnkWW$T(taZ4bmph`1L zz7N)o>x(DSTC|UP=&Yjdi`hVYZ-zbD?d-Osv&Sf%Hj0xLWUg8P!ErpR*Gu4|vJGu` z+{YHxT(;T_1yjgHP(*kRB_N_3W@2xjz~UBH;)GeGeG2NjQQ&ogPbm!sO~o71iRYvz zWhO~^=ITByM318+f_1>g0pp5?IMl5lkRkR1TSK~4A5(z|X6{sK?sRGHOndI^bnc^4 z+*`8tYdO?p*(_ZOOsJ8$c<`n!F>Vg_QVBVx#C0?B-ITy)4(`fld^!Vjkg>m@^3WA^ z@E)UW;4}ENWih%#+6e-`0Fn`j_yc%wevr;Ju5bD{=!Kk%eOzELV35l=ZgKF?KqaV_ zt-lSQXxLF`g(7RSQtn?vzHd%v85LQl6*;a%81>86)W1Z43PFF#8qTFf9udXgniJF4 zF+eXe40st^eik$8_4Ze+mxGP{=JCU7C6OH^0|k3xde)J9wxbF#o9~zGOgq&&ni>=5 zY&a%FE|J*Ur}x+EIF%Zf6Uo*G@wF8P4m>`6!du7qr+!?wL3kS8=j&+^6pNOXicz~o zX`%F&W>Gr~MpE$Szmz&2 zUq%>}JjT~|=xHg~2`^zuT{wL%3Z8>{CkHiGz&m6+W3H-flx}`gYO=4wnJe2|iUZ>{TwoR9EDv(pn0VYv)ePG}Caop<#qk8Q&b&@EPf0sg7mA{TZ-09Yd%b#AKl5Omzjf{)-xB-x1w<;Cy%B zPHsv%G!_wp)QYD-vv=WRDpYz0)OJ#9aiGLV!l8r%u4^hGcqjYAj1zzi^G;hW_A2pw zJwAaPVqXa==UhUL;$Fhkb*K=;0)CI;{MwYW$UvxdtqaL5=R_;<&c8&~k9 z$P}39}5-hr1Q;pJrrCnY#T6G8`mVw&31M7A#L76(h=mw(v7v2 z3oHb;AI=eh&|;myQ-+oU#N$DDUteN8<(g{2on&6I5f2nqd8TYBB%FZiCx?D0(gcX#FH6K4T{E- zokVH7_EyW|D_^wg6*tNPF&l^Rwep^mDTc@k2@~3S6`^9%enkHn;vx%wK7 z!rN*vVYl21{`dDu{9?w44k)ZIsd* z!ow1*G=AUf+n}e_FUvPRa<8bs)&Egv5f5wrL;vs!3mg&)-lhrUAJLHXXe_Id)Re^6 zLBt%&ZKD))&#`02|7bq6*nh-Z$DlC)?5mxDG2DMl18t7q>OzECX&mN+oD8J9cdrjK z>TzqXN|$gsb3kPHKn*R*zb&sVu{c-8hf0%F{6V|(;x0zg0`6K_dw_p8UuP6ItAK>9vJm!;rJyhVuAF& z8zKD65l!-R<-R$PsWtT;Wu!C~nlGV7tZ;M;lJ#dP>H`OWRmajH8 z`8>yNB7I%V^}y^#2YGFG&GSIMHLnvyy%OH-eTY!EdPKu>leQP`90zn!QQUkz(4jHo zVqI*Oa_-J55O^O0-@&=c9KGe2a{S%vNekS*{eg0e_^DPx=-c>{b=}Zem?3eG8qseu zig2VXMRnUIjTmd~*mHOlKVnJ_)o+_Fzs#-ZgZ4db!}M@9zBT@dho)Grvv*IZ&vE>J zw@4+q_|yKxvWkFAYMiV&OVM(zbCmOQj<4D5dG+VO4x0O==Euy*8Tisn2H{ED8?8Hy zt`{P8xfKCBfLikW2p-Rtz3Lic<5+0A8Og$Xhsi(H}`w)JQ_F4{5NdoT4vA63oVhFg} zg2(CZXsd5d9~EYwbVzS4x_zsWH!*7cf8~5Hy@IZRb1qHAMyev(GyovcGQ@$d7*Hmv zxB{)%?GGgB2S<`D6%`^Lvt7eU;V`=U)FnOsqtv1b~VNCe<9{Jt8?VX z_G}3W3cM%|JOo~XtF71&dxtbGc46uwRYS^p(y+$3QudfW=8)4n}t@opCLyr)3_ z8#L_-8$4OBl{GqC4T_0L0e@f^9;(=HWJJqI87Ei5x^g2_`!!Z~jhr6EDtVwUKeZAW z4W{*X*6FKZymZ=!HJr8?k!&?gl- zw|jej^s#$$ThJ(?52n?wuCd6~BL5;(0SoAkaFynndLu*-Tc5(X#B**6Lnh-MfO`On{rjP05|QYIaBe9+&$^!bO+N7_ifU9X<%3hU^i`7UnN7*Yw*qK z#JDc(@0FhZ)3H5eOAxf5dJew%sgw30);k;xNKGPcVZBsohPtbk{J1?!jDx-9%une7 zvWf>GfmnaVyn8UDkou)Cu@MK4Y5W(81{^{RFbYo4M_aU#~u_aVg6b1ZJo^x-rh76CXTKV5nPdT#N z2qLLa@di|b74QUPKmr9ZAwxL4|D*gQiU(AzC~pGuQA|17!dBY`z#ju+O__29O^70D zx_H`*699r)KoxWJg{MT@VekC(=u0oDk!PN1#Mr!du|??R_{U=lzNM?w|1z25ul&o= zc1<~t$EzF-oHA@oCkI~#R(Y4$B+N{_39bvQ-qLCuzZlwt_VzBdJf!_!liP0E`^c&H z5iN<6mlK|Rw^H8_yYQ;~#i{!84s=FA>yt;HV!C)R)m3_h%mC1wGSo=+mpGH?Mw} zc84V>|E73N>0ongcRic^d7w03@VW`u^m1L3dDFhv&z?FT3@oa7;*zl7+(&SWt#*3; z?C-JVQ&Ex_rpbxw^7I#VgGU|lqvhBDw3iYiOTLCW^rQ`Ti;Hst70F9*533`(>btp;|?b};HJK?g0xcoKo;C|!oQ&D zdX66ij6Bv%wivG}O%0EjTHIDuheMO1k6#%Buiw(?h_H@mlS;qcPrr_7 zs;7OV2|7m|230i%4~@jB5$1F?XS)<)yS-yCFbPRaNVX~m&xKgrOeEyd&pQ7PJ~JbT zpOKdl1osxbxiHAP%DH$dNZQftuIj}KfD5S(ZT+kFd!O##RZQwerDnJRXOC*wjUr7q zHB~vTfv#t(Wv!Tv$$5#zTk_fJ0ahyedTz;2>0fz&DNCR?S=!G?4*KDy;zp*$tNu`A z&~zfL@;3zHEEg7x>^c%(L7mv(wdJ09J72Fbzbl7l*V0zlTQ2Nwi9?l3Uv14&8Dt+# z<`1H3HV0m16W&b$9WTi)SFev^D?1P8^PmbmBbQ-NF;{|)dZ<5`{h~hJzF>K?qmdlnkvh%N@EILcoc3xb{9gZq$xhLoQnJ&uo^4GxZB+dC#O#)= zn80uBY9Yi5UpM>QJM(4lce&nV2#vk?-T|8T`^z7h$r??a{`Y*JE~DdaDZ(Ru9I)y+ z;MfI=aaua#4mOasXaAe+DPbHUnEOJzDUA;+->_25C{A*Iz%CH3SI zDf;s&9Z1W-#;Q@>RSbTnLj)gv9g?Z}X2&{xM>?C?PKJ1{%Ir838*rGzd)>)T-0-II zP~E8UMb;_d*LtVA$g5Q;XM#N{bDbKfz<;bNEMTW zYq^Y`^&2ZLb{6xX$B-ar4_X<$v~o>fAub*>HG6wz>hsUGF_Xf|_m4fwu58w#lQIElQPQ`#6M^&Q^Qm zjRI^s862;xx=MZ(!O`i(yg!CQzzMm}pPFJOrZZJZAQcG+l+a>`Zc^ayxcCMQbHC7pMg0FWf?l0OP*b1 z6xuknTK($_<1x{FjFTn#VMzjHLxeyp{HnwgXk2ASGWXstL&qW)F!}TvA3h<3Kg+MX zjcUpomXr4C&98utKkhU6SC6++!psiVbu-ojqPh^!u8?;k)Gzz%X44MF@u|DT67v!t z@?ml@D;uq(IF(7L305GQbx=kTL9S|cQMw0+RPYu&G~M{-5;o3QwXHw);`)wWotUer zEerSc11iCe6W!U?2SJCymiKix?C0Gj&1+Iv8CZ!dAH#G*7)=ZMYF_#kMgw;97yWIg zSw)PxkEVJR-3hzh^5%c`YJO51G+3WnI6X5@=nJHY!^}xr^yZD7ioSzSh$OByLww{a&Tu#$;m%G zrq~r^M)FX_)H6oEdm$35g*O(on8%*n(9K<47RPIxrm5_V?XuepStBk@Bg0Hl~b63M0Deln`yFo;Q68 z*1{VyHP>i5id|iUVPat(`Ij3C^2hPCr!@Y-f%^s zpVWxXH5_CioMk-R;)y8QDu$Xq(|PqH^ZAH|r4N-zUsFSKoBBgvpl#?y|HEgxR%q0x z#K4#FsD86`w+|R2A*C79`$v0RP4`Fgl`NjMMW5Z(tC@uoXRAy9#41erd%-MdtsfCZ z%5k<_X{{#4KBnGtb%Pu9uh&A=;7VMo&Rv(blkc5EzsbC6*4j&6Q%(_&eg@BA?2E|} zvT(l~hvI=um;0rGz4)tZLF(xqB-_nMhkt5WGP0squbwykk%cf&Dxk^jcTuT;w)ty# zv4JH#Dl-L7F4eN^?((Ueyzrv(5AQXDwuSMkM@-Q+)jpf+4VevB*X$fKHNO8}LKSbY zL-xm5+wof{2Ty9usK)3%N3N}yOD$t5wzhOz3isBY@+Zfu2c}Fi$Sbj@-^49s20uQ= zoCbdJQ~4HTV2dtY3L}>rYaUhJH3;lUYm&NHk0BpGtlf&5tSX(kqezeO~ktm@%HY&^^afL{IG-gZ( zTaOY8E+UECh7J~}%pFH1U0D)20Zz!7qv+xRwB;AEHCjAggx(~=owVq>q$@F1lMdu` z%DTWqbXtdbfk+OANhD3axo9Qcf$3b=P8K-U)^xQu%0OKdVES&(Q*qABPwav_4x)$t z@Ghq#$-0c*Is{zkFbDf8pdjsQ6D)hAQO4C$+6o^p#D$>ubX7NzZ``5wG&yE0?LZG_ zOL%vCNKgstt6K&hJc4(3^AokZfiQ!`_W!y_IqO@ZXn4;V-pLRK4(4OJw zhrtfY<2(i;{phdiqm`R~7msS3G|9>!^j zhNT*~jY_FeYPO0!(t*`p0|@)uz03z5HddThTHU+O0^FB}evjw=5e$+&atS;sF*+MN z%@A-}YLG*^y$?I-a!jj#n!Vj^ zkN!)>;Ojg?g%FeETu6qG8XH%vr)uVc@^VB<4x&xSH_JGFrX!fiXrHAJgWo~-SFA^J z0in-&cJ9VyTM$T4Z0^cO2G*8#^j82{=fvPXKkOc{BG_xwBu>fmGT`JM6iTD?vR$o^ zIS0`_@5VQqd9Bj#xSa~rS!q3=HYjbmJL$OPf1gDNV)kl0)wyn{jy%#^dL1<)rY>yt zZ^dlq-8cJ?Ybo@)b}@Gas{%F32JDcP67)1(VryM!O3aBc+oF94^PW54^%X}E3}mhl8&YOo*8ooe>RyA%h4!q4g_QY^xAq6d3%5QeKRjox@<#fo?}o_3OvKB`zWYa# zC<(0{nRxIUbCA7-Sa%kq%ZO6$f$IE!1XmlwW8+?SnWc@t$rq z4!>+2iXC3yB9Pf-VjxSvhF_;d_5xeaT1RyqpSnYZGfjJMFW}CH^bwL(r24AkRibU& z)tq>7>0fMA*YsJ3C+~H!aLSz^?9@}4K|Gf6sv;27ELcGlAw4T*FZp5i{Ko!mpS|Nb z-UY)dO*||Xa^1{4P{;G=`uVZ({(PB0c0l~bQ)064XnJIJl|J^TU+;Kz?!1*}(QMu} zebq_mBtLbcwQlMmNs!T6Ai0&D+b6lzS3IZ)u{D*>PRA5v+kL8F{vxmXX@^Ws#_T|< zJiA1IT+WV8*gj&7^`t(o(RO{*f6Jp>uxU20L4r$Q!t&RMdXvRQSQScV0eU-9K%BtV zV9iR0gb~{wQC;$0fFhFfw{;;>m;CRvmnaxlbvt}JSQ{U2>KZZ6xV%lIN#%X%VB-2k?m-uEqj0@E>|txH{vXM? z-MD>z+-i}Ki@~f;j(dJB&uxojt@+wf`h1gY+}!DzLNwpKI5o}PInn>ZB`oK-lG;Rn z6?zYCd?+u0^RS7jIx3_0;xC(@nSWS1aZmbu8mTrx#_<`mRa|*z-Lr{lSTASuJJDPQ z%VtEmrGv~PoG45`C$@479jd#(@%1qyS)40}#Rym_LCaSxrWiEBHT=S1RmFU~lV z=BtoTJC-x2QrS&F#4?xnHLQ2Nj=>Z3+TQ7{ zRg}9ri_h-h6-~^!mahCJj^J@vv6UwJ!2?_;SE|DnUXy}$cR~(}&<9Z}HcXr+HL#cE zUTwab&)j#jG^%Mix)l&U7(pdX5z}sG2e9*E9A7PQ1*Y`K8g|B*wP=+zXP2nwAxk)E zp1d&Ja-IQ=6K8~BvFgBsMs5bL7`*!sPnwoN2&b#M>OejKc zu%8$D;S3&#kBCvvQ~+=b)@-@Ij0=l7gO2Z-FJmQkG(SCC%6h#FORQ0~Ch=HGp@tS} zg~|ZFHltcI(Oa3ppa}l0DanppEVd%Nn4OjVggwNCr`*n7zY9&Tm@S(Ibxf6_8&MM{ zRCbxqS&o9;$*@f%uptA$0C2xuPy_%mt>fD$Ib|Zj>%HiB`g_Z6;oos=wg+~@^n89l zw_0ChAZ3p-V5fJky7mzj*yUc%f*U#R>qz`0M7k`ef+)-nQ+lHH?S3^I%cp*u%>%RDkHHUoGk@b9=T?3Oob+gBW+3i z+s?)kMqK9}JWv`&4d8oEIS1Hq93m*JUlzOoRPWnf0t@D zJ3EyZ!^kq={uGjV5IiTZO_azyTGPhCdLwpq@sIFNtJi_7>P}x4K_SyeFMm3EW#y<$ z^;omvv8#w2%K`h=LI#{C) vQu_$Mr%piQ00DAH+#=ToI4)!fHj_cFrCgQuOb{CnqEBblSLJd6!1@0GR4t&N literal 0 HcmV?d00001 diff --git a/html5/verto/video_demo/index.html b/html5/verto/video_demo/index.html new file mode 100644 index 0000000000..c0cdf74224 --- /dev/null +++ b/html5/verto/video_demo/index.html @@ -0,0 +1,407 @@ + + + + + + + + + FreeSWITCH Verto™ Video Transcoding Demo + + + + + +
+ + +
+ +
+ + +
+
+ +
+
+ +
+ + +
+
+ + +
+ + +
+
+ + + + +

+

+
+ +
+ + +
+ + + +
+ + + +
+ + + +
+ + + +
+

+
+ + + + +
+ +
+ + +
+
+ +
+ + +
+ +
+ + +
+ +
+ + +
+ +
+ + +
+ +
+ + +
+ +
+ + +
+ +

+ +

+ + + + + + + +


+ +
+ +
+
+ +
+Demo of the Work-In-Progress Video work in FreeSWITCH. Press one of the buttons below.
+This is still under heavy development but this is a little taste what is coming.
+ +Chrome 38.0.2125.122 currently has better results than FireFox 33.1.1
+So if you have Chrome handy, try it with that too. +
+ +

+ + +
+
+ Video Quality: + + + + + + + + + + + + +
+
+
+ +

Video Streaming (USE STEREO HEADPHONES IF POSSIBLE)

+
+This may look similar to playing video like you would on YouTube, however, these are mp4 files decoded by mod_vlc then re-encoded to the negotiated video codec and streamed over RTP in real-time to test transcoding.

+
+
+ + + + + +
+ + + + + +
+ + + + +
+
+

Codec Test and Conference

+
+Conference is similar to previous behavior but now it can support differing video codecs. +There is still a considerable amount of work to do with the codecs and video RTP reliability. Again, Chrome is way ahead of FireFox so far in this area. +

+FireFox is pretty much stuck on 640x480 for now. Chrome even when put into the hd mode and above takes some time to kick into gear as it does some kind of step up to full speed and we still are missing the RTCP code to communicate with them.

+
+
+ + + +
+ + +

+
+ + +

+
 


+

+ +
+
+ +
+ + + +
+ +
+ +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
FreeSWITCH VERTO™ WebRTC Demo Directory

DialDesc

3d1 3D sound demo #1
3d2 3D sound demo #2
stereo1 Stereo sound demo #1
stereo2 Stereo sound demo #2
stereo3 Stereo sound demo #3
3500Local 48k Stereo Conference
 
cluecon ClueCon Hotline
<number>Call a US/Canda Number
vucVoIP Users Conference
888FreeSWITCH Community Conference
3300Local 48k Conference
5000Try the Demo IVR
9664Listen to Hold Music
9386Funny Prompts
9198Tetris (tone generator)

+
+


+
+ + + + +
+ +
+
+

Logged Out

+
+
+

You have been logged out or disconnected from the server.

+ + +
+
+ +
+
+

Login Error

+
+
+

Error logging in

+ + +
+
+ +
+
+

Call On hold

+
+
+

The call is on hold

+ + +
+
+ +
+
+

Incoming Call

+
+
+

Incoming Call

+ +
+ +
+ +
+ + + + + + + + + + + + + diff --git a/html5/verto/video_demo/js/jquery-2.1.1.min.js b/html5/verto/video_demo/js/jquery-2.1.1.min.js new file mode 100644 index 0000000000..e5ace116b6 --- /dev/null +++ b/html5/verto/video_demo/js/jquery-2.1.1.min.js @@ -0,0 +1,4 @@ +/*! jQuery v2.1.1 | (c) 2005, 2014 jQuery Foundation, Inc. | jquery.org/license */ +!function(a,b){"object"==typeof module&&"object"==typeof module.exports?module.exports=a.document?b(a,!0):function(a){if(!a.document)throw new Error("jQuery requires a window with a document");return b(a)}:b(a)}("undefined"!=typeof window?window:this,function(a,b){var c=[],d=c.slice,e=c.concat,f=c.push,g=c.indexOf,h={},i=h.toString,j=h.hasOwnProperty,k={},l=a.document,m="2.1.1",n=function(a,b){return new n.fn.init(a,b)},o=/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g,p=/^-ms-/,q=/-([\da-z])/gi,r=function(a,b){return b.toUpperCase()};n.fn=n.prototype={jquery:m,constructor:n,selector:"",length:0,toArray:function(){return d.call(this)},get:function(a){return null!=a?0>a?this[a+this.length]:this[a]:d.call(this)},pushStack:function(a){var b=n.merge(this.constructor(),a);return b.prevObject=this,b.context=this.context,b},each:function(a,b){return n.each(this,a,b)},map:function(a){return this.pushStack(n.map(this,function(b,c){return a.call(b,c,b)}))},slice:function(){return this.pushStack(d.apply(this,arguments))},first:function(){return this.eq(0)},last:function(){return this.eq(-1)},eq:function(a){var b=this.length,c=+a+(0>a?b:0);return this.pushStack(c>=0&&b>c?[this[c]]:[])},end:function(){return this.prevObject||this.constructor(null)},push:f,sort:c.sort,splice:c.splice},n.extend=n.fn.extend=function(){var a,b,c,d,e,f,g=arguments[0]||{},h=1,i=arguments.length,j=!1;for("boolean"==typeof g&&(j=g,g=arguments[h]||{},h++),"object"==typeof g||n.isFunction(g)||(g={}),h===i&&(g=this,h--);i>h;h++)if(null!=(a=arguments[h]))for(b in a)c=g[b],d=a[b],g!==d&&(j&&d&&(n.isPlainObject(d)||(e=n.isArray(d)))?(e?(e=!1,f=c&&n.isArray(c)?c:[]):f=c&&n.isPlainObject(c)?c:{},g[b]=n.extend(j,f,d)):void 0!==d&&(g[b]=d));return g},n.extend({expando:"jQuery"+(m+Math.random()).replace(/\D/g,""),isReady:!0,error:function(a){throw new Error(a)},noop:function(){},isFunction:function(a){return"function"===n.type(a)},isArray:Array.isArray,isWindow:function(a){return null!=a&&a===a.window},isNumeric:function(a){return!n.isArray(a)&&a-parseFloat(a)>=0},isPlainObject:function(a){return"object"!==n.type(a)||a.nodeType||n.isWindow(a)?!1:a.constructor&&!j.call(a.constructor.prototype,"isPrototypeOf")?!1:!0},isEmptyObject:function(a){var b;for(b in a)return!1;return!0},type:function(a){return null==a?a+"":"object"==typeof a||"function"==typeof a?h[i.call(a)]||"object":typeof a},globalEval:function(a){var b,c=eval;a=n.trim(a),a&&(1===a.indexOf("use strict")?(b=l.createElement("script"),b.text=a,l.head.appendChild(b).parentNode.removeChild(b)):c(a))},camelCase:function(a){return a.replace(p,"ms-").replace(q,r)},nodeName:function(a,b){return a.nodeName&&a.nodeName.toLowerCase()===b.toLowerCase()},each:function(a,b,c){var d,e=0,f=a.length,g=s(a);if(c){if(g){for(;f>e;e++)if(d=b.apply(a[e],c),d===!1)break}else for(e in a)if(d=b.apply(a[e],c),d===!1)break}else if(g){for(;f>e;e++)if(d=b.call(a[e],e,a[e]),d===!1)break}else for(e in a)if(d=b.call(a[e],e,a[e]),d===!1)break;return a},trim:function(a){return null==a?"":(a+"").replace(o,"")},makeArray:function(a,b){var c=b||[];return null!=a&&(s(Object(a))?n.merge(c,"string"==typeof a?[a]:a):f.call(c,a)),c},inArray:function(a,b,c){return null==b?-1:g.call(b,a,c)},merge:function(a,b){for(var c=+b.length,d=0,e=a.length;c>d;d++)a[e++]=b[d];return a.length=e,a},grep:function(a,b,c){for(var d,e=[],f=0,g=a.length,h=!c;g>f;f++)d=!b(a[f],f),d!==h&&e.push(a[f]);return e},map:function(a,b,c){var d,f=0,g=a.length,h=s(a),i=[];if(h)for(;g>f;f++)d=b(a[f],f,c),null!=d&&i.push(d);else for(f in a)d=b(a[f],f,c),null!=d&&i.push(d);return e.apply([],i)},guid:1,proxy:function(a,b){var c,e,f;return"string"==typeof b&&(c=a[b],b=a,a=c),n.isFunction(a)?(e=d.call(arguments,2),f=function(){return a.apply(b||this,e.concat(d.call(arguments)))},f.guid=a.guid=a.guid||n.guid++,f):void 0},now:Date.now,support:k}),n.each("Boolean Number String Function Array Date RegExp Object Error".split(" "),function(a,b){h["[object "+b+"]"]=b.toLowerCase()});function s(a){var b=a.length,c=n.type(a);return"function"===c||n.isWindow(a)?!1:1===a.nodeType&&b?!0:"array"===c||0===b||"number"==typeof b&&b>0&&b-1 in a}var t=function(a){var b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u="sizzle"+-new Date,v=a.document,w=0,x=0,y=gb(),z=gb(),A=gb(),B=function(a,b){return a===b&&(l=!0),0},C="undefined",D=1<<31,E={}.hasOwnProperty,F=[],G=F.pop,H=F.push,I=F.push,J=F.slice,K=F.indexOf||function(a){for(var b=0,c=this.length;c>b;b++)if(this[b]===a)return b;return-1},L="checked|selected|async|autofocus|autoplay|controls|defer|disabled|hidden|ismap|loop|multiple|open|readonly|required|scoped",M="[\\x20\\t\\r\\n\\f]",N="(?:\\\\.|[\\w-]|[^\\x00-\\xa0])+",O=N.replace("w","w#"),P="\\["+M+"*("+N+")(?:"+M+"*([*^$|!~]?=)"+M+"*(?:'((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\"|("+O+"))|)"+M+"*\\]",Q=":("+N+")(?:\\((('((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\")|((?:\\\\.|[^\\\\()[\\]]|"+P+")*)|.*)\\)|)",R=new RegExp("^"+M+"+|((?:^|[^\\\\])(?:\\\\.)*)"+M+"+$","g"),S=new RegExp("^"+M+"*,"+M+"*"),T=new RegExp("^"+M+"*([>+~]|"+M+")"+M+"*"),U=new RegExp("="+M+"*([^\\]'\"]*?)"+M+"*\\]","g"),V=new RegExp(Q),W=new RegExp("^"+O+"$"),X={ID:new RegExp("^#("+N+")"),CLASS:new RegExp("^\\.("+N+")"),TAG:new RegExp("^("+N.replace("w","w*")+")"),ATTR:new RegExp("^"+P),PSEUDO:new RegExp("^"+Q),CHILD:new RegExp("^:(only|first|last|nth|nth-last)-(child|of-type)(?:\\("+M+"*(even|odd|(([+-]|)(\\d*)n|)"+M+"*(?:([+-]|)"+M+"*(\\d+)|))"+M+"*\\)|)","i"),bool:new RegExp("^(?:"+L+")$","i"),needsContext:new RegExp("^"+M+"*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\("+M+"*((?:-\\d)?\\d*)"+M+"*\\)|)(?=[^-]|$)","i")},Y=/^(?:input|select|textarea|button)$/i,Z=/^h\d$/i,$=/^[^{]+\{\s*\[native \w/,_=/^(?:#([\w-]+)|(\w+)|\.([\w-]+))$/,ab=/[+~]/,bb=/'|\\/g,cb=new RegExp("\\\\([\\da-f]{1,6}"+M+"?|("+M+")|.)","ig"),db=function(a,b,c){var d="0x"+b-65536;return d!==d||c?b:0>d?String.fromCharCode(d+65536):String.fromCharCode(d>>10|55296,1023&d|56320)};try{I.apply(F=J.call(v.childNodes),v.childNodes),F[v.childNodes.length].nodeType}catch(eb){I={apply:F.length?function(a,b){H.apply(a,J.call(b))}:function(a,b){var c=a.length,d=0;while(a[c++]=b[d++]);a.length=c-1}}}function fb(a,b,d,e){var f,h,j,k,l,o,r,s,w,x;if((b?b.ownerDocument||b:v)!==n&&m(b),b=b||n,d=d||[],!a||"string"!=typeof a)return d;if(1!==(k=b.nodeType)&&9!==k)return[];if(p&&!e){if(f=_.exec(a))if(j=f[1]){if(9===k){if(h=b.getElementById(j),!h||!h.parentNode)return d;if(h.id===j)return d.push(h),d}else if(b.ownerDocument&&(h=b.ownerDocument.getElementById(j))&&t(b,h)&&h.id===j)return d.push(h),d}else{if(f[2])return I.apply(d,b.getElementsByTagName(a)),d;if((j=f[3])&&c.getElementsByClassName&&b.getElementsByClassName)return I.apply(d,b.getElementsByClassName(j)),d}if(c.qsa&&(!q||!q.test(a))){if(s=r=u,w=b,x=9===k&&a,1===k&&"object"!==b.nodeName.toLowerCase()){o=g(a),(r=b.getAttribute("id"))?s=r.replace(bb,"\\$&"):b.setAttribute("id",s),s="[id='"+s+"'] ",l=o.length;while(l--)o[l]=s+qb(o[l]);w=ab.test(a)&&ob(b.parentNode)||b,x=o.join(",")}if(x)try{return I.apply(d,w.querySelectorAll(x)),d}catch(y){}finally{r||b.removeAttribute("id")}}}return i(a.replace(R,"$1"),b,d,e)}function gb(){var a=[];function b(c,e){return a.push(c+" ")>d.cacheLength&&delete b[a.shift()],b[c+" "]=e}return b}function hb(a){return a[u]=!0,a}function ib(a){var b=n.createElement("div");try{return!!a(b)}catch(c){return!1}finally{b.parentNode&&b.parentNode.removeChild(b),b=null}}function jb(a,b){var c=a.split("|"),e=a.length;while(e--)d.attrHandle[c[e]]=b}function kb(a,b){var c=b&&a,d=c&&1===a.nodeType&&1===b.nodeType&&(~b.sourceIndex||D)-(~a.sourceIndex||D);if(d)return d;if(c)while(c=c.nextSibling)if(c===b)return-1;return a?1:-1}function lb(a){return function(b){var c=b.nodeName.toLowerCase();return"input"===c&&b.type===a}}function mb(a){return function(b){var c=b.nodeName.toLowerCase();return("input"===c||"button"===c)&&b.type===a}}function nb(a){return hb(function(b){return b=+b,hb(function(c,d){var e,f=a([],c.length,b),g=f.length;while(g--)c[e=f[g]]&&(c[e]=!(d[e]=c[e]))})})}function ob(a){return a&&typeof a.getElementsByTagName!==C&&a}c=fb.support={},f=fb.isXML=function(a){var b=a&&(a.ownerDocument||a).documentElement;return b?"HTML"!==b.nodeName:!1},m=fb.setDocument=function(a){var b,e=a?a.ownerDocument||a:v,g=e.defaultView;return e!==n&&9===e.nodeType&&e.documentElement?(n=e,o=e.documentElement,p=!f(e),g&&g!==g.top&&(g.addEventListener?g.addEventListener("unload",function(){m()},!1):g.attachEvent&&g.attachEvent("onunload",function(){m()})),c.attributes=ib(function(a){return a.className="i",!a.getAttribute("className")}),c.getElementsByTagName=ib(function(a){return a.appendChild(e.createComment("")),!a.getElementsByTagName("*").length}),c.getElementsByClassName=$.test(e.getElementsByClassName)&&ib(function(a){return a.innerHTML="
",a.firstChild.className="i",2===a.getElementsByClassName("i").length}),c.getById=ib(function(a){return o.appendChild(a).id=u,!e.getElementsByName||!e.getElementsByName(u).length}),c.getById?(d.find.ID=function(a,b){if(typeof b.getElementById!==C&&p){var c=b.getElementById(a);return c&&c.parentNode?[c]:[]}},d.filter.ID=function(a){var b=a.replace(cb,db);return function(a){return a.getAttribute("id")===b}}):(delete d.find.ID,d.filter.ID=function(a){var b=a.replace(cb,db);return function(a){var c=typeof a.getAttributeNode!==C&&a.getAttributeNode("id");return c&&c.value===b}}),d.find.TAG=c.getElementsByTagName?function(a,b){return typeof b.getElementsByTagName!==C?b.getElementsByTagName(a):void 0}:function(a,b){var c,d=[],e=0,f=b.getElementsByTagName(a);if("*"===a){while(c=f[e++])1===c.nodeType&&d.push(c);return d}return f},d.find.CLASS=c.getElementsByClassName&&function(a,b){return typeof b.getElementsByClassName!==C&&p?b.getElementsByClassName(a):void 0},r=[],q=[],(c.qsa=$.test(e.querySelectorAll))&&(ib(function(a){a.innerHTML="",a.querySelectorAll("[msallowclip^='']").length&&q.push("[*^$]="+M+"*(?:''|\"\")"),a.querySelectorAll("[selected]").length||q.push("\\["+M+"*(?:value|"+L+")"),a.querySelectorAll(":checked").length||q.push(":checked")}),ib(function(a){var b=e.createElement("input");b.setAttribute("type","hidden"),a.appendChild(b).setAttribute("name","D"),a.querySelectorAll("[name=d]").length&&q.push("name"+M+"*[*^$|!~]?="),a.querySelectorAll(":enabled").length||q.push(":enabled",":disabled"),a.querySelectorAll("*,:x"),q.push(",.*:")})),(c.matchesSelector=$.test(s=o.matches||o.webkitMatchesSelector||o.mozMatchesSelector||o.oMatchesSelector||o.msMatchesSelector))&&ib(function(a){c.disconnectedMatch=s.call(a,"div"),s.call(a,"[s!='']:x"),r.push("!=",Q)}),q=q.length&&new RegExp(q.join("|")),r=r.length&&new RegExp(r.join("|")),b=$.test(o.compareDocumentPosition),t=b||$.test(o.contains)?function(a,b){var c=9===a.nodeType?a.documentElement:a,d=b&&b.parentNode;return a===d||!(!d||1!==d.nodeType||!(c.contains?c.contains(d):a.compareDocumentPosition&&16&a.compareDocumentPosition(d)))}:function(a,b){if(b)while(b=b.parentNode)if(b===a)return!0;return!1},B=b?function(a,b){if(a===b)return l=!0,0;var d=!a.compareDocumentPosition-!b.compareDocumentPosition;return d?d:(d=(a.ownerDocument||a)===(b.ownerDocument||b)?a.compareDocumentPosition(b):1,1&d||!c.sortDetached&&b.compareDocumentPosition(a)===d?a===e||a.ownerDocument===v&&t(v,a)?-1:b===e||b.ownerDocument===v&&t(v,b)?1:k?K.call(k,a)-K.call(k,b):0:4&d?-1:1)}:function(a,b){if(a===b)return l=!0,0;var c,d=0,f=a.parentNode,g=b.parentNode,h=[a],i=[b];if(!f||!g)return a===e?-1:b===e?1:f?-1:g?1:k?K.call(k,a)-K.call(k,b):0;if(f===g)return kb(a,b);c=a;while(c=c.parentNode)h.unshift(c);c=b;while(c=c.parentNode)i.unshift(c);while(h[d]===i[d])d++;return d?kb(h[d],i[d]):h[d]===v?-1:i[d]===v?1:0},e):n},fb.matches=function(a,b){return fb(a,null,null,b)},fb.matchesSelector=function(a,b){if((a.ownerDocument||a)!==n&&m(a),b=b.replace(U,"='$1']"),!(!c.matchesSelector||!p||r&&r.test(b)||q&&q.test(b)))try{var d=s.call(a,b);if(d||c.disconnectedMatch||a.document&&11!==a.document.nodeType)return d}catch(e){}return fb(b,n,null,[a]).length>0},fb.contains=function(a,b){return(a.ownerDocument||a)!==n&&m(a),t(a,b)},fb.attr=function(a,b){(a.ownerDocument||a)!==n&&m(a);var e=d.attrHandle[b.toLowerCase()],f=e&&E.call(d.attrHandle,b.toLowerCase())?e(a,b,!p):void 0;return void 0!==f?f:c.attributes||!p?a.getAttribute(b):(f=a.getAttributeNode(b))&&f.specified?f.value:null},fb.error=function(a){throw new Error("Syntax error, unrecognized expression: "+a)},fb.uniqueSort=function(a){var b,d=[],e=0,f=0;if(l=!c.detectDuplicates,k=!c.sortStable&&a.slice(0),a.sort(B),l){while(b=a[f++])b===a[f]&&(e=d.push(f));while(e--)a.splice(d[e],1)}return k=null,a},e=fb.getText=function(a){var b,c="",d=0,f=a.nodeType;if(f){if(1===f||9===f||11===f){if("string"==typeof a.textContent)return a.textContent;for(a=a.firstChild;a;a=a.nextSibling)c+=e(a)}else if(3===f||4===f)return a.nodeValue}else while(b=a[d++])c+=e(b);return c},d=fb.selectors={cacheLength:50,createPseudo:hb,match:X,attrHandle:{},find:{},relative:{">":{dir:"parentNode",first:!0}," ":{dir:"parentNode"},"+":{dir:"previousSibling",first:!0},"~":{dir:"previousSibling"}},preFilter:{ATTR:function(a){return a[1]=a[1].replace(cb,db),a[3]=(a[3]||a[4]||a[5]||"").replace(cb,db),"~="===a[2]&&(a[3]=" "+a[3]+" "),a.slice(0,4)},CHILD:function(a){return a[1]=a[1].toLowerCase(),"nth"===a[1].slice(0,3)?(a[3]||fb.error(a[0]),a[4]=+(a[4]?a[5]+(a[6]||1):2*("even"===a[3]||"odd"===a[3])),a[5]=+(a[7]+a[8]||"odd"===a[3])):a[3]&&fb.error(a[0]),a},PSEUDO:function(a){var b,c=!a[6]&&a[2];return X.CHILD.test(a[0])?null:(a[3]?a[2]=a[4]||a[5]||"":c&&V.test(c)&&(b=g(c,!0))&&(b=c.indexOf(")",c.length-b)-c.length)&&(a[0]=a[0].slice(0,b),a[2]=c.slice(0,b)),a.slice(0,3))}},filter:{TAG:function(a){var b=a.replace(cb,db).toLowerCase();return"*"===a?function(){return!0}:function(a){return a.nodeName&&a.nodeName.toLowerCase()===b}},CLASS:function(a){var b=y[a+" "];return b||(b=new RegExp("(^|"+M+")"+a+"("+M+"|$)"))&&y(a,function(a){return b.test("string"==typeof a.className&&a.className||typeof a.getAttribute!==C&&a.getAttribute("class")||"")})},ATTR:function(a,b,c){return function(d){var e=fb.attr(d,a);return null==e?"!="===b:b?(e+="","="===b?e===c:"!="===b?e!==c:"^="===b?c&&0===e.indexOf(c):"*="===b?c&&e.indexOf(c)>-1:"$="===b?c&&e.slice(-c.length)===c:"~="===b?(" "+e+" ").indexOf(c)>-1:"|="===b?e===c||e.slice(0,c.length+1)===c+"-":!1):!0}},CHILD:function(a,b,c,d,e){var f="nth"!==a.slice(0,3),g="last"!==a.slice(-4),h="of-type"===b;return 1===d&&0===e?function(a){return!!a.parentNode}:function(b,c,i){var j,k,l,m,n,o,p=f!==g?"nextSibling":"previousSibling",q=b.parentNode,r=h&&b.nodeName.toLowerCase(),s=!i&&!h;if(q){if(f){while(p){l=b;while(l=l[p])if(h?l.nodeName.toLowerCase()===r:1===l.nodeType)return!1;o=p="only"===a&&!o&&"nextSibling"}return!0}if(o=[g?q.firstChild:q.lastChild],g&&s){k=q[u]||(q[u]={}),j=k[a]||[],n=j[0]===w&&j[1],m=j[0]===w&&j[2],l=n&&q.childNodes[n];while(l=++n&&l&&l[p]||(m=n=0)||o.pop())if(1===l.nodeType&&++m&&l===b){k[a]=[w,n,m];break}}else if(s&&(j=(b[u]||(b[u]={}))[a])&&j[0]===w)m=j[1];else while(l=++n&&l&&l[p]||(m=n=0)||o.pop())if((h?l.nodeName.toLowerCase()===r:1===l.nodeType)&&++m&&(s&&((l[u]||(l[u]={}))[a]=[w,m]),l===b))break;return m-=e,m===d||m%d===0&&m/d>=0}}},PSEUDO:function(a,b){var c,e=d.pseudos[a]||d.setFilters[a.toLowerCase()]||fb.error("unsupported pseudo: "+a);return e[u]?e(b):e.length>1?(c=[a,a,"",b],d.setFilters.hasOwnProperty(a.toLowerCase())?hb(function(a,c){var d,f=e(a,b),g=f.length;while(g--)d=K.call(a,f[g]),a[d]=!(c[d]=f[g])}):function(a){return e(a,0,c)}):e}},pseudos:{not:hb(function(a){var b=[],c=[],d=h(a.replace(R,"$1"));return d[u]?hb(function(a,b,c,e){var f,g=d(a,null,e,[]),h=a.length;while(h--)(f=g[h])&&(a[h]=!(b[h]=f))}):function(a,e,f){return b[0]=a,d(b,null,f,c),!c.pop()}}),has:hb(function(a){return function(b){return fb(a,b).length>0}}),contains:hb(function(a){return function(b){return(b.textContent||b.innerText||e(b)).indexOf(a)>-1}}),lang:hb(function(a){return W.test(a||"")||fb.error("unsupported lang: "+a),a=a.replace(cb,db).toLowerCase(),function(b){var c;do if(c=p?b.lang:b.getAttribute("xml:lang")||b.getAttribute("lang"))return c=c.toLowerCase(),c===a||0===c.indexOf(a+"-");while((b=b.parentNode)&&1===b.nodeType);return!1}}),target:function(b){var c=a.location&&a.location.hash;return c&&c.slice(1)===b.id},root:function(a){return a===o},focus:function(a){return a===n.activeElement&&(!n.hasFocus||n.hasFocus())&&!!(a.type||a.href||~a.tabIndex)},enabled:function(a){return a.disabled===!1},disabled:function(a){return a.disabled===!0},checked:function(a){var b=a.nodeName.toLowerCase();return"input"===b&&!!a.checked||"option"===b&&!!a.selected},selected:function(a){return a.parentNode&&a.parentNode.selectedIndex,a.selected===!0},empty:function(a){for(a=a.firstChild;a;a=a.nextSibling)if(a.nodeType<6)return!1;return!0},parent:function(a){return!d.pseudos.empty(a)},header:function(a){return Z.test(a.nodeName)},input:function(a){return Y.test(a.nodeName)},button:function(a){var b=a.nodeName.toLowerCase();return"input"===b&&"button"===a.type||"button"===b},text:function(a){var b;return"input"===a.nodeName.toLowerCase()&&"text"===a.type&&(null==(b=a.getAttribute("type"))||"text"===b.toLowerCase())},first:nb(function(){return[0]}),last:nb(function(a,b){return[b-1]}),eq:nb(function(a,b,c){return[0>c?c+b:c]}),even:nb(function(a,b){for(var c=0;b>c;c+=2)a.push(c);return a}),odd:nb(function(a,b){for(var c=1;b>c;c+=2)a.push(c);return a}),lt:nb(function(a,b,c){for(var d=0>c?c+b:c;--d>=0;)a.push(d);return a}),gt:nb(function(a,b,c){for(var d=0>c?c+b:c;++db;b++)d+=a[b].value;return d}function rb(a,b,c){var d=b.dir,e=c&&"parentNode"===d,f=x++;return b.first?function(b,c,f){while(b=b[d])if(1===b.nodeType||e)return a(b,c,f)}:function(b,c,g){var h,i,j=[w,f];if(g){while(b=b[d])if((1===b.nodeType||e)&&a(b,c,g))return!0}else while(b=b[d])if(1===b.nodeType||e){if(i=b[u]||(b[u]={}),(h=i[d])&&h[0]===w&&h[1]===f)return j[2]=h[2];if(i[d]=j,j[2]=a(b,c,g))return!0}}}function sb(a){return a.length>1?function(b,c,d){var e=a.length;while(e--)if(!a[e](b,c,d))return!1;return!0}:a[0]}function tb(a,b,c){for(var d=0,e=b.length;e>d;d++)fb(a,b[d],c);return c}function ub(a,b,c,d,e){for(var f,g=[],h=0,i=a.length,j=null!=b;i>h;h++)(f=a[h])&&(!c||c(f,d,e))&&(g.push(f),j&&b.push(h));return g}function vb(a,b,c,d,e,f){return d&&!d[u]&&(d=vb(d)),e&&!e[u]&&(e=vb(e,f)),hb(function(f,g,h,i){var j,k,l,m=[],n=[],o=g.length,p=f||tb(b||"*",h.nodeType?[h]:h,[]),q=!a||!f&&b?p:ub(p,m,a,h,i),r=c?e||(f?a:o||d)?[]:g:q;if(c&&c(q,r,h,i),d){j=ub(r,n),d(j,[],h,i),k=j.length;while(k--)(l=j[k])&&(r[n[k]]=!(q[n[k]]=l))}if(f){if(e||a){if(e){j=[],k=r.length;while(k--)(l=r[k])&&j.push(q[k]=l);e(null,r=[],j,i)}k=r.length;while(k--)(l=r[k])&&(j=e?K.call(f,l):m[k])>-1&&(f[j]=!(g[j]=l))}}else r=ub(r===g?r.splice(o,r.length):r),e?e(null,g,r,i):I.apply(g,r)})}function wb(a){for(var b,c,e,f=a.length,g=d.relative[a[0].type],h=g||d.relative[" "],i=g?1:0,k=rb(function(a){return a===b},h,!0),l=rb(function(a){return K.call(b,a)>-1},h,!0),m=[function(a,c,d){return!g&&(d||c!==j)||((b=c).nodeType?k(a,c,d):l(a,c,d))}];f>i;i++)if(c=d.relative[a[i].type])m=[rb(sb(m),c)];else{if(c=d.filter[a[i].type].apply(null,a[i].matches),c[u]){for(e=++i;f>e;e++)if(d.relative[a[e].type])break;return vb(i>1&&sb(m),i>1&&qb(a.slice(0,i-1).concat({value:" "===a[i-2].type?"*":""})).replace(R,"$1"),c,e>i&&wb(a.slice(i,e)),f>e&&wb(a=a.slice(e)),f>e&&qb(a))}m.push(c)}return sb(m)}function xb(a,b){var c=b.length>0,e=a.length>0,f=function(f,g,h,i,k){var l,m,o,p=0,q="0",r=f&&[],s=[],t=j,u=f||e&&d.find.TAG("*",k),v=w+=null==t?1:Math.random()||.1,x=u.length;for(k&&(j=g!==n&&g);q!==x&&null!=(l=u[q]);q++){if(e&&l){m=0;while(o=a[m++])if(o(l,g,h)){i.push(l);break}k&&(w=v)}c&&((l=!o&&l)&&p--,f&&r.push(l))}if(p+=q,c&&q!==p){m=0;while(o=b[m++])o(r,s,g,h);if(f){if(p>0)while(q--)r[q]||s[q]||(s[q]=G.call(i));s=ub(s)}I.apply(i,s),k&&!f&&s.length>0&&p+b.length>1&&fb.uniqueSort(i)}return k&&(w=v,j=t),r};return c?hb(f):f}return h=fb.compile=function(a,b){var c,d=[],e=[],f=A[a+" "];if(!f){b||(b=g(a)),c=b.length;while(c--)f=wb(b[c]),f[u]?d.push(f):e.push(f);f=A(a,xb(e,d)),f.selector=a}return f},i=fb.select=function(a,b,e,f){var i,j,k,l,m,n="function"==typeof a&&a,o=!f&&g(a=n.selector||a);if(e=e||[],1===o.length){if(j=o[0]=o[0].slice(0),j.length>2&&"ID"===(k=j[0]).type&&c.getById&&9===b.nodeType&&p&&d.relative[j[1].type]){if(b=(d.find.ID(k.matches[0].replace(cb,db),b)||[])[0],!b)return e;n&&(b=b.parentNode),a=a.slice(j.shift().value.length)}i=X.needsContext.test(a)?0:j.length;while(i--){if(k=j[i],d.relative[l=k.type])break;if((m=d.find[l])&&(f=m(k.matches[0].replace(cb,db),ab.test(j[0].type)&&ob(b.parentNode)||b))){if(j.splice(i,1),a=f.length&&qb(j),!a)return I.apply(e,f),e;break}}}return(n||h(a,o))(f,b,!p,e,ab.test(a)&&ob(b.parentNode)||b),e},c.sortStable=u.split("").sort(B).join("")===u,c.detectDuplicates=!!l,m(),c.sortDetached=ib(function(a){return 1&a.compareDocumentPosition(n.createElement("div"))}),ib(function(a){return a.innerHTML="","#"===a.firstChild.getAttribute("href")})||jb("type|href|height|width",function(a,b,c){return c?void 0:a.getAttribute(b,"type"===b.toLowerCase()?1:2)}),c.attributes&&ib(function(a){return a.innerHTML="",a.firstChild.setAttribute("value",""),""===a.firstChild.getAttribute("value")})||jb("value",function(a,b,c){return c||"input"!==a.nodeName.toLowerCase()?void 0:a.defaultValue}),ib(function(a){return null==a.getAttribute("disabled")})||jb(L,function(a,b,c){var d;return c?void 0:a[b]===!0?b.toLowerCase():(d=a.getAttributeNode(b))&&d.specified?d.value:null}),fb}(a);n.find=t,n.expr=t.selectors,n.expr[":"]=n.expr.pseudos,n.unique=t.uniqueSort,n.text=t.getText,n.isXMLDoc=t.isXML,n.contains=t.contains;var u=n.expr.match.needsContext,v=/^<(\w+)\s*\/?>(?:<\/\1>|)$/,w=/^.[^:#\[\.,]*$/;function x(a,b,c){if(n.isFunction(b))return n.grep(a,function(a,d){return!!b.call(a,d,a)!==c});if(b.nodeType)return n.grep(a,function(a){return a===b!==c});if("string"==typeof b){if(w.test(b))return n.filter(b,a,c);b=n.filter(b,a)}return n.grep(a,function(a){return g.call(b,a)>=0!==c})}n.filter=function(a,b,c){var d=b[0];return c&&(a=":not("+a+")"),1===b.length&&1===d.nodeType?n.find.matchesSelector(d,a)?[d]:[]:n.find.matches(a,n.grep(b,function(a){return 1===a.nodeType}))},n.fn.extend({find:function(a){var b,c=this.length,d=[],e=this;if("string"!=typeof a)return this.pushStack(n(a).filter(function(){for(b=0;c>b;b++)if(n.contains(e[b],this))return!0}));for(b=0;c>b;b++)n.find(a,e[b],d);return d=this.pushStack(c>1?n.unique(d):d),d.selector=this.selector?this.selector+" "+a:a,d},filter:function(a){return this.pushStack(x(this,a||[],!1))},not:function(a){return this.pushStack(x(this,a||[],!0))},is:function(a){return!!x(this,"string"==typeof a&&u.test(a)?n(a):a||[],!1).length}});var y,z=/^(?:\s*(<[\w\W]+>)[^>]*|#([\w-]*))$/,A=n.fn.init=function(a,b){var c,d;if(!a)return this;if("string"==typeof a){if(c="<"===a[0]&&">"===a[a.length-1]&&a.length>=3?[null,a,null]:z.exec(a),!c||!c[1]&&b)return!b||b.jquery?(b||y).find(a):this.constructor(b).find(a);if(c[1]){if(b=b instanceof n?b[0]:b,n.merge(this,n.parseHTML(c[1],b&&b.nodeType?b.ownerDocument||b:l,!0)),v.test(c[1])&&n.isPlainObject(b))for(c in b)n.isFunction(this[c])?this[c](b[c]):this.attr(c,b[c]);return this}return d=l.getElementById(c[2]),d&&d.parentNode&&(this.length=1,this[0]=d),this.context=l,this.selector=a,this}return a.nodeType?(this.context=this[0]=a,this.length=1,this):n.isFunction(a)?"undefined"!=typeof y.ready?y.ready(a):a(n):(void 0!==a.selector&&(this.selector=a.selector,this.context=a.context),n.makeArray(a,this))};A.prototype=n.fn,y=n(l);var B=/^(?:parents|prev(?:Until|All))/,C={children:!0,contents:!0,next:!0,prev:!0};n.extend({dir:function(a,b,c){var d=[],e=void 0!==c;while((a=a[b])&&9!==a.nodeType)if(1===a.nodeType){if(e&&n(a).is(c))break;d.push(a)}return d},sibling:function(a,b){for(var c=[];a;a=a.nextSibling)1===a.nodeType&&a!==b&&c.push(a);return c}}),n.fn.extend({has:function(a){var b=n(a,this),c=b.length;return this.filter(function(){for(var a=0;c>a;a++)if(n.contains(this,b[a]))return!0})},closest:function(a,b){for(var c,d=0,e=this.length,f=[],g=u.test(a)||"string"!=typeof a?n(a,b||this.context):0;e>d;d++)for(c=this[d];c&&c!==b;c=c.parentNode)if(c.nodeType<11&&(g?g.index(c)>-1:1===c.nodeType&&n.find.matchesSelector(c,a))){f.push(c);break}return this.pushStack(f.length>1?n.unique(f):f)},index:function(a){return a?"string"==typeof a?g.call(n(a),this[0]):g.call(this,a.jquery?a[0]:a):this[0]&&this[0].parentNode?this.first().prevAll().length:-1},add:function(a,b){return this.pushStack(n.unique(n.merge(this.get(),n(a,b))))},addBack:function(a){return this.add(null==a?this.prevObject:this.prevObject.filter(a))}});function D(a,b){while((a=a[b])&&1!==a.nodeType);return a}n.each({parent:function(a){var b=a.parentNode;return b&&11!==b.nodeType?b:null},parents:function(a){return n.dir(a,"parentNode")},parentsUntil:function(a,b,c){return n.dir(a,"parentNode",c)},next:function(a){return D(a,"nextSibling")},prev:function(a){return D(a,"previousSibling")},nextAll:function(a){return n.dir(a,"nextSibling")},prevAll:function(a){return n.dir(a,"previousSibling")},nextUntil:function(a,b,c){return n.dir(a,"nextSibling",c)},prevUntil:function(a,b,c){return n.dir(a,"previousSibling",c)},siblings:function(a){return n.sibling((a.parentNode||{}).firstChild,a)},children:function(a){return n.sibling(a.firstChild)},contents:function(a){return a.contentDocument||n.merge([],a.childNodes)}},function(a,b){n.fn[a]=function(c,d){var e=n.map(this,b,c);return"Until"!==a.slice(-5)&&(d=c),d&&"string"==typeof d&&(e=n.filter(d,e)),this.length>1&&(C[a]||n.unique(e),B.test(a)&&e.reverse()),this.pushStack(e)}});var E=/\S+/g,F={};function G(a){var b=F[a]={};return n.each(a.match(E)||[],function(a,c){b[c]=!0}),b}n.Callbacks=function(a){a="string"==typeof a?F[a]||G(a):n.extend({},a);var b,c,d,e,f,g,h=[],i=!a.once&&[],j=function(l){for(b=a.memory&&l,c=!0,g=e||0,e=0,f=h.length,d=!0;h&&f>g;g++)if(h[g].apply(l[0],l[1])===!1&&a.stopOnFalse){b=!1;break}d=!1,h&&(i?i.length&&j(i.shift()):b?h=[]:k.disable())},k={add:function(){if(h){var c=h.length;!function g(b){n.each(b,function(b,c){var d=n.type(c);"function"===d?a.unique&&k.has(c)||h.push(c):c&&c.length&&"string"!==d&&g(c)})}(arguments),d?f=h.length:b&&(e=c,j(b))}return this},remove:function(){return h&&n.each(arguments,function(a,b){var c;while((c=n.inArray(b,h,c))>-1)h.splice(c,1),d&&(f>=c&&f--,g>=c&&g--)}),this},has:function(a){return a?n.inArray(a,h)>-1:!(!h||!h.length)},empty:function(){return h=[],f=0,this},disable:function(){return h=i=b=void 0,this},disabled:function(){return!h},lock:function(){return i=void 0,b||k.disable(),this},locked:function(){return!i},fireWith:function(a,b){return!h||c&&!i||(b=b||[],b=[a,b.slice?b.slice():b],d?i.push(b):j(b)),this},fire:function(){return k.fireWith(this,arguments),this},fired:function(){return!!c}};return k},n.extend({Deferred:function(a){var b=[["resolve","done",n.Callbacks("once memory"),"resolved"],["reject","fail",n.Callbacks("once memory"),"rejected"],["notify","progress",n.Callbacks("memory")]],c="pending",d={state:function(){return c},always:function(){return e.done(arguments).fail(arguments),this},then:function(){var a=arguments;return n.Deferred(function(c){n.each(b,function(b,f){var g=n.isFunction(a[b])&&a[b];e[f[1]](function(){var a=g&&g.apply(this,arguments);a&&n.isFunction(a.promise)?a.promise().done(c.resolve).fail(c.reject).progress(c.notify):c[f[0]+"With"](this===d?c.promise():this,g?[a]:arguments)})}),a=null}).promise()},promise:function(a){return null!=a?n.extend(a,d):d}},e={};return d.pipe=d.then,n.each(b,function(a,f){var g=f[2],h=f[3];d[f[1]]=g.add,h&&g.add(function(){c=h},b[1^a][2].disable,b[2][2].lock),e[f[0]]=function(){return e[f[0]+"With"](this===e?d:this,arguments),this},e[f[0]+"With"]=g.fireWith}),d.promise(e),a&&a.call(e,e),e},when:function(a){var b=0,c=d.call(arguments),e=c.length,f=1!==e||a&&n.isFunction(a.promise)?e:0,g=1===f?a:n.Deferred(),h=function(a,b,c){return function(e){b[a]=this,c[a]=arguments.length>1?d.call(arguments):e,c===i?g.notifyWith(b,c):--f||g.resolveWith(b,c)}},i,j,k;if(e>1)for(i=new Array(e),j=new Array(e),k=new Array(e);e>b;b++)c[b]&&n.isFunction(c[b].promise)?c[b].promise().done(h(b,k,c)).fail(g.reject).progress(h(b,j,i)):--f;return f||g.resolveWith(k,c),g.promise()}});var H;n.fn.ready=function(a){return n.ready.promise().done(a),this},n.extend({isReady:!1,readyWait:1,holdReady:function(a){a?n.readyWait++:n.ready(!0)},ready:function(a){(a===!0?--n.readyWait:n.isReady)||(n.isReady=!0,a!==!0&&--n.readyWait>0||(H.resolveWith(l,[n]),n.fn.triggerHandler&&(n(l).triggerHandler("ready"),n(l).off("ready"))))}});function I(){l.removeEventListener("DOMContentLoaded",I,!1),a.removeEventListener("load",I,!1),n.ready()}n.ready.promise=function(b){return H||(H=n.Deferred(),"complete"===l.readyState?setTimeout(n.ready):(l.addEventListener("DOMContentLoaded",I,!1),a.addEventListener("load",I,!1))),H.promise(b)},n.ready.promise();var J=n.access=function(a,b,c,d,e,f,g){var h=0,i=a.length,j=null==c;if("object"===n.type(c)){e=!0;for(h in c)n.access(a,b,h,c[h],!0,f,g)}else if(void 0!==d&&(e=!0,n.isFunction(d)||(g=!0),j&&(g?(b.call(a,d),b=null):(j=b,b=function(a,b,c){return j.call(n(a),c)})),b))for(;i>h;h++)b(a[h],c,g?d:d.call(a[h],h,b(a[h],c)));return e?a:j?b.call(a):i?b(a[0],c):f};n.acceptData=function(a){return 1===a.nodeType||9===a.nodeType||!+a.nodeType};function K(){Object.defineProperty(this.cache={},0,{get:function(){return{}}}),this.expando=n.expando+Math.random()}K.uid=1,K.accepts=n.acceptData,K.prototype={key:function(a){if(!K.accepts(a))return 0;var b={},c=a[this.expando];if(!c){c=K.uid++;try{b[this.expando]={value:c},Object.defineProperties(a,b)}catch(d){b[this.expando]=c,n.extend(a,b)}}return this.cache[c]||(this.cache[c]={}),c},set:function(a,b,c){var d,e=this.key(a),f=this.cache[e];if("string"==typeof b)f[b]=c;else if(n.isEmptyObject(f))n.extend(this.cache[e],b);else for(d in b)f[d]=b[d];return f},get:function(a,b){var c=this.cache[this.key(a)];return void 0===b?c:c[b]},access:function(a,b,c){var d;return void 0===b||b&&"string"==typeof b&&void 0===c?(d=this.get(a,b),void 0!==d?d:this.get(a,n.camelCase(b))):(this.set(a,b,c),void 0!==c?c:b)},remove:function(a,b){var c,d,e,f=this.key(a),g=this.cache[f];if(void 0===b)this.cache[f]={};else{n.isArray(b)?d=b.concat(b.map(n.camelCase)):(e=n.camelCase(b),b in g?d=[b,e]:(d=e,d=d in g?[d]:d.match(E)||[])),c=d.length;while(c--)delete g[d[c]]}},hasData:function(a){return!n.isEmptyObject(this.cache[a[this.expando]]||{})},discard:function(a){a[this.expando]&&delete this.cache[a[this.expando]]}};var L=new K,M=new K,N=/^(?:\{[\w\W]*\}|\[[\w\W]*\])$/,O=/([A-Z])/g;function P(a,b,c){var d;if(void 0===c&&1===a.nodeType)if(d="data-"+b.replace(O,"-$1").toLowerCase(),c=a.getAttribute(d),"string"==typeof c){try{c="true"===c?!0:"false"===c?!1:"null"===c?null:+c+""===c?+c:N.test(c)?n.parseJSON(c):c}catch(e){}M.set(a,b,c)}else c=void 0;return c}n.extend({hasData:function(a){return M.hasData(a)||L.hasData(a)},data:function(a,b,c){return M.access(a,b,c)},removeData:function(a,b){M.remove(a,b) +},_data:function(a,b,c){return L.access(a,b,c)},_removeData:function(a,b){L.remove(a,b)}}),n.fn.extend({data:function(a,b){var c,d,e,f=this[0],g=f&&f.attributes;if(void 0===a){if(this.length&&(e=M.get(f),1===f.nodeType&&!L.get(f,"hasDataAttrs"))){c=g.length;while(c--)g[c]&&(d=g[c].name,0===d.indexOf("data-")&&(d=n.camelCase(d.slice(5)),P(f,d,e[d])));L.set(f,"hasDataAttrs",!0)}return e}return"object"==typeof a?this.each(function(){M.set(this,a)}):J(this,function(b){var c,d=n.camelCase(a);if(f&&void 0===b){if(c=M.get(f,a),void 0!==c)return c;if(c=M.get(f,d),void 0!==c)return c;if(c=P(f,d,void 0),void 0!==c)return c}else this.each(function(){var c=M.get(this,d);M.set(this,d,b),-1!==a.indexOf("-")&&void 0!==c&&M.set(this,a,b)})},null,b,arguments.length>1,null,!0)},removeData:function(a){return this.each(function(){M.remove(this,a)})}}),n.extend({queue:function(a,b,c){var d;return a?(b=(b||"fx")+"queue",d=L.get(a,b),c&&(!d||n.isArray(c)?d=L.access(a,b,n.makeArray(c)):d.push(c)),d||[]):void 0},dequeue:function(a,b){b=b||"fx";var c=n.queue(a,b),d=c.length,e=c.shift(),f=n._queueHooks(a,b),g=function(){n.dequeue(a,b)};"inprogress"===e&&(e=c.shift(),d--),e&&("fx"===b&&c.unshift("inprogress"),delete f.stop,e.call(a,g,f)),!d&&f&&f.empty.fire()},_queueHooks:function(a,b){var c=b+"queueHooks";return L.get(a,c)||L.access(a,c,{empty:n.Callbacks("once memory").add(function(){L.remove(a,[b+"queue",c])})})}}),n.fn.extend({queue:function(a,b){var c=2;return"string"!=typeof a&&(b=a,a="fx",c--),arguments.lengthx",k.noCloneChecked=!!b.cloneNode(!0).lastChild.defaultValue}();var U="undefined";k.focusinBubbles="onfocusin"in a;var V=/^key/,W=/^(?:mouse|pointer|contextmenu)|click/,X=/^(?:focusinfocus|focusoutblur)$/,Y=/^([^.]*)(?:\.(.+)|)$/;function Z(){return!0}function $(){return!1}function _(){try{return l.activeElement}catch(a){}}n.event={global:{},add:function(a,b,c,d,e){var f,g,h,i,j,k,l,m,o,p,q,r=L.get(a);if(r){c.handler&&(f=c,c=f.handler,e=f.selector),c.guid||(c.guid=n.guid++),(i=r.events)||(i=r.events={}),(g=r.handle)||(g=r.handle=function(b){return typeof n!==U&&n.event.triggered!==b.type?n.event.dispatch.apply(a,arguments):void 0}),b=(b||"").match(E)||[""],j=b.length;while(j--)h=Y.exec(b[j])||[],o=q=h[1],p=(h[2]||"").split(".").sort(),o&&(l=n.event.special[o]||{},o=(e?l.delegateType:l.bindType)||o,l=n.event.special[o]||{},k=n.extend({type:o,origType:q,data:d,handler:c,guid:c.guid,selector:e,needsContext:e&&n.expr.match.needsContext.test(e),namespace:p.join(".")},f),(m=i[o])||(m=i[o]=[],m.delegateCount=0,l.setup&&l.setup.call(a,d,p,g)!==!1||a.addEventListener&&a.addEventListener(o,g,!1)),l.add&&(l.add.call(a,k),k.handler.guid||(k.handler.guid=c.guid)),e?m.splice(m.delegateCount++,0,k):m.push(k),n.event.global[o]=!0)}},remove:function(a,b,c,d,e){var f,g,h,i,j,k,l,m,o,p,q,r=L.hasData(a)&&L.get(a);if(r&&(i=r.events)){b=(b||"").match(E)||[""],j=b.length;while(j--)if(h=Y.exec(b[j])||[],o=q=h[1],p=(h[2]||"").split(".").sort(),o){l=n.event.special[o]||{},o=(d?l.delegateType:l.bindType)||o,m=i[o]||[],h=h[2]&&new RegExp("(^|\\.)"+p.join("\\.(?:.*\\.|)")+"(\\.|$)"),g=f=m.length;while(f--)k=m[f],!e&&q!==k.origType||c&&c.guid!==k.guid||h&&!h.test(k.namespace)||d&&d!==k.selector&&("**"!==d||!k.selector)||(m.splice(f,1),k.selector&&m.delegateCount--,l.remove&&l.remove.call(a,k));g&&!m.length&&(l.teardown&&l.teardown.call(a,p,r.handle)!==!1||n.removeEvent(a,o,r.handle),delete i[o])}else for(o in i)n.event.remove(a,o+b[j],c,d,!0);n.isEmptyObject(i)&&(delete r.handle,L.remove(a,"events"))}},trigger:function(b,c,d,e){var f,g,h,i,k,m,o,p=[d||l],q=j.call(b,"type")?b.type:b,r=j.call(b,"namespace")?b.namespace.split("."):[];if(g=h=d=d||l,3!==d.nodeType&&8!==d.nodeType&&!X.test(q+n.event.triggered)&&(q.indexOf(".")>=0&&(r=q.split("."),q=r.shift(),r.sort()),k=q.indexOf(":")<0&&"on"+q,b=b[n.expando]?b:new n.Event(q,"object"==typeof b&&b),b.isTrigger=e?2:3,b.namespace=r.join("."),b.namespace_re=b.namespace?new RegExp("(^|\\.)"+r.join("\\.(?:.*\\.|)")+"(\\.|$)"):null,b.result=void 0,b.target||(b.target=d),c=null==c?[b]:n.makeArray(c,[b]),o=n.event.special[q]||{},e||!o.trigger||o.trigger.apply(d,c)!==!1)){if(!e&&!o.noBubble&&!n.isWindow(d)){for(i=o.delegateType||q,X.test(i+q)||(g=g.parentNode);g;g=g.parentNode)p.push(g),h=g;h===(d.ownerDocument||l)&&p.push(h.defaultView||h.parentWindow||a)}f=0;while((g=p[f++])&&!b.isPropagationStopped())b.type=f>1?i:o.bindType||q,m=(L.get(g,"events")||{})[b.type]&&L.get(g,"handle"),m&&m.apply(g,c),m=k&&g[k],m&&m.apply&&n.acceptData(g)&&(b.result=m.apply(g,c),b.result===!1&&b.preventDefault());return b.type=q,e||b.isDefaultPrevented()||o._default&&o._default.apply(p.pop(),c)!==!1||!n.acceptData(d)||k&&n.isFunction(d[q])&&!n.isWindow(d)&&(h=d[k],h&&(d[k]=null),n.event.triggered=q,d[q](),n.event.triggered=void 0,h&&(d[k]=h)),b.result}},dispatch:function(a){a=n.event.fix(a);var b,c,e,f,g,h=[],i=d.call(arguments),j=(L.get(this,"events")||{})[a.type]||[],k=n.event.special[a.type]||{};if(i[0]=a,a.delegateTarget=this,!k.preDispatch||k.preDispatch.call(this,a)!==!1){h=n.event.handlers.call(this,a,j),b=0;while((f=h[b++])&&!a.isPropagationStopped()){a.currentTarget=f.elem,c=0;while((g=f.handlers[c++])&&!a.isImmediatePropagationStopped())(!a.namespace_re||a.namespace_re.test(g.namespace))&&(a.handleObj=g,a.data=g.data,e=((n.event.special[g.origType]||{}).handle||g.handler).apply(f.elem,i),void 0!==e&&(a.result=e)===!1&&(a.preventDefault(),a.stopPropagation()))}return k.postDispatch&&k.postDispatch.call(this,a),a.result}},handlers:function(a,b){var c,d,e,f,g=[],h=b.delegateCount,i=a.target;if(h&&i.nodeType&&(!a.button||"click"!==a.type))for(;i!==this;i=i.parentNode||this)if(i.disabled!==!0||"click"!==a.type){for(d=[],c=0;h>c;c++)f=b[c],e=f.selector+" ",void 0===d[e]&&(d[e]=f.needsContext?n(e,this).index(i)>=0:n.find(e,this,null,[i]).length),d[e]&&d.push(f);d.length&&g.push({elem:i,handlers:d})}return h]*)\/>/gi,bb=/<([\w:]+)/,cb=/<|&#?\w+;/,db=/<(?:script|style|link)/i,eb=/checked\s*(?:[^=]|=\s*.checked.)/i,fb=/^$|\/(?:java|ecma)script/i,gb=/^true\/(.*)/,hb=/^\s*\s*$/g,ib={option:[1,""],thead:[1,"","
"],col:[2,"","
"],tr:[2,"","
"],td:[3,"","
"],_default:[0,"",""]};ib.optgroup=ib.option,ib.tbody=ib.tfoot=ib.colgroup=ib.caption=ib.thead,ib.th=ib.td;function jb(a,b){return n.nodeName(a,"table")&&n.nodeName(11!==b.nodeType?b:b.firstChild,"tr")?a.getElementsByTagName("tbody")[0]||a.appendChild(a.ownerDocument.createElement("tbody")):a}function kb(a){return a.type=(null!==a.getAttribute("type"))+"/"+a.type,a}function lb(a){var b=gb.exec(a.type);return b?a.type=b[1]:a.removeAttribute("type"),a}function mb(a,b){for(var c=0,d=a.length;d>c;c++)L.set(a[c],"globalEval",!b||L.get(b[c],"globalEval"))}function nb(a,b){var c,d,e,f,g,h,i,j;if(1===b.nodeType){if(L.hasData(a)&&(f=L.access(a),g=L.set(b,f),j=f.events)){delete g.handle,g.events={};for(e in j)for(c=0,d=j[e].length;d>c;c++)n.event.add(b,e,j[e][c])}M.hasData(a)&&(h=M.access(a),i=n.extend({},h),M.set(b,i))}}function ob(a,b){var c=a.getElementsByTagName?a.getElementsByTagName(b||"*"):a.querySelectorAll?a.querySelectorAll(b||"*"):[];return void 0===b||b&&n.nodeName(a,b)?n.merge([a],c):c}function pb(a,b){var c=b.nodeName.toLowerCase();"input"===c&&T.test(a.type)?b.checked=a.checked:("input"===c||"textarea"===c)&&(b.defaultValue=a.defaultValue)}n.extend({clone:function(a,b,c){var d,e,f,g,h=a.cloneNode(!0),i=n.contains(a.ownerDocument,a);if(!(k.noCloneChecked||1!==a.nodeType&&11!==a.nodeType||n.isXMLDoc(a)))for(g=ob(h),f=ob(a),d=0,e=f.length;e>d;d++)pb(f[d],g[d]);if(b)if(c)for(f=f||ob(a),g=g||ob(h),d=0,e=f.length;e>d;d++)nb(f[d],g[d]);else nb(a,h);return g=ob(h,"script"),g.length>0&&mb(g,!i&&ob(a,"script")),h},buildFragment:function(a,b,c,d){for(var e,f,g,h,i,j,k=b.createDocumentFragment(),l=[],m=0,o=a.length;o>m;m++)if(e=a[m],e||0===e)if("object"===n.type(e))n.merge(l,e.nodeType?[e]:e);else if(cb.test(e)){f=f||k.appendChild(b.createElement("div")),g=(bb.exec(e)||["",""])[1].toLowerCase(),h=ib[g]||ib._default,f.innerHTML=h[1]+e.replace(ab,"<$1>")+h[2],j=h[0];while(j--)f=f.lastChild;n.merge(l,f.childNodes),f=k.firstChild,f.textContent=""}else l.push(b.createTextNode(e));k.textContent="",m=0;while(e=l[m++])if((!d||-1===n.inArray(e,d))&&(i=n.contains(e.ownerDocument,e),f=ob(k.appendChild(e),"script"),i&&mb(f),c)){j=0;while(e=f[j++])fb.test(e.type||"")&&c.push(e)}return k},cleanData:function(a){for(var b,c,d,e,f=n.event.special,g=0;void 0!==(c=a[g]);g++){if(n.acceptData(c)&&(e=c[L.expando],e&&(b=L.cache[e]))){if(b.events)for(d in b.events)f[d]?n.event.remove(c,d):n.removeEvent(c,d,b.handle);L.cache[e]&&delete L.cache[e]}delete M.cache[c[M.expando]]}}}),n.fn.extend({text:function(a){return J(this,function(a){return void 0===a?n.text(this):this.empty().each(function(){(1===this.nodeType||11===this.nodeType||9===this.nodeType)&&(this.textContent=a)})},null,a,arguments.length)},append:function(){return this.domManip(arguments,function(a){if(1===this.nodeType||11===this.nodeType||9===this.nodeType){var b=jb(this,a);b.appendChild(a)}})},prepend:function(){return this.domManip(arguments,function(a){if(1===this.nodeType||11===this.nodeType||9===this.nodeType){var b=jb(this,a);b.insertBefore(a,b.firstChild)}})},before:function(){return this.domManip(arguments,function(a){this.parentNode&&this.parentNode.insertBefore(a,this)})},after:function(){return this.domManip(arguments,function(a){this.parentNode&&this.parentNode.insertBefore(a,this.nextSibling)})},remove:function(a,b){for(var c,d=a?n.filter(a,this):this,e=0;null!=(c=d[e]);e++)b||1!==c.nodeType||n.cleanData(ob(c)),c.parentNode&&(b&&n.contains(c.ownerDocument,c)&&mb(ob(c,"script")),c.parentNode.removeChild(c));return this},empty:function(){for(var a,b=0;null!=(a=this[b]);b++)1===a.nodeType&&(n.cleanData(ob(a,!1)),a.textContent="");return this},clone:function(a,b){return a=null==a?!1:a,b=null==b?a:b,this.map(function(){return n.clone(this,a,b)})},html:function(a){return J(this,function(a){var b=this[0]||{},c=0,d=this.length;if(void 0===a&&1===b.nodeType)return b.innerHTML;if("string"==typeof a&&!db.test(a)&&!ib[(bb.exec(a)||["",""])[1].toLowerCase()]){a=a.replace(ab,"<$1>");try{for(;d>c;c++)b=this[c]||{},1===b.nodeType&&(n.cleanData(ob(b,!1)),b.innerHTML=a);b=0}catch(e){}}b&&this.empty().append(a)},null,a,arguments.length)},replaceWith:function(){var a=arguments[0];return this.domManip(arguments,function(b){a=this.parentNode,n.cleanData(ob(this)),a&&a.replaceChild(b,this)}),a&&(a.length||a.nodeType)?this:this.remove()},detach:function(a){return this.remove(a,!0)},domManip:function(a,b){a=e.apply([],a);var c,d,f,g,h,i,j=0,l=this.length,m=this,o=l-1,p=a[0],q=n.isFunction(p);if(q||l>1&&"string"==typeof p&&!k.checkClone&&eb.test(p))return this.each(function(c){var d=m.eq(c);q&&(a[0]=p.call(this,c,d.html())),d.domManip(a,b)});if(l&&(c=n.buildFragment(a,this[0].ownerDocument,!1,this),d=c.firstChild,1===c.childNodes.length&&(c=d),d)){for(f=n.map(ob(c,"script"),kb),g=f.length;l>j;j++)h=c,j!==o&&(h=n.clone(h,!0,!0),g&&n.merge(f,ob(h,"script"))),b.call(this[j],h,j);if(g)for(i=f[f.length-1].ownerDocument,n.map(f,lb),j=0;g>j;j++)h=f[j],fb.test(h.type||"")&&!L.access(h,"globalEval")&&n.contains(i,h)&&(h.src?n._evalUrl&&n._evalUrl(h.src):n.globalEval(h.textContent.replace(hb,"")))}return this}}),n.each({appendTo:"append",prependTo:"prepend",insertBefore:"before",insertAfter:"after",replaceAll:"replaceWith"},function(a,b){n.fn[a]=function(a){for(var c,d=[],e=n(a),g=e.length-1,h=0;g>=h;h++)c=h===g?this:this.clone(!0),n(e[h])[b](c),f.apply(d,c.get());return this.pushStack(d)}});var qb,rb={};function sb(b,c){var d,e=n(c.createElement(b)).appendTo(c.body),f=a.getDefaultComputedStyle&&(d=a.getDefaultComputedStyle(e[0]))?d.display:n.css(e[0],"display");return e.detach(),f}function tb(a){var b=l,c=rb[a];return c||(c=sb(a,b),"none"!==c&&c||(qb=(qb||n("